The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.

The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.

Date of Patent:
Apr. 14, 2015

Filed:

Dec. 10, 2010
Applicants:

Sebastian Burckhardt, Sammamish, WA (US);

Daniel Johannes Pieter Leijen, Bellevue, CA (US);

Alexandro Baldassin, Santa Barbara D'Oeste, BR;

Inventors:

Sebastian Burckhardt, Sammamish, WA (US);

Daniel Johannes Pieter Leijen, Bellevue, CA (US);

Alexandro Baldassin, Santa Barbara D'Oeste, BR;

Assignee:
Attorneys:
Primary Examiner:
Assistant Examiner:
Int. Cl.
CPC ...
G06F 9/46 (2006.01); G06F 9/54 (2006.01); G06F 17/30 (2006.01); G06F 9/48 (2006.01);
U.S. Cl.
CPC ...
G06F 9/544 (2013.01); G06F 17/30168 (2013.01); G06F 9/466 (2013.01); G06F 9/485 (2013.01);
Abstract

A 'Concurrent Sharing Model' provides a programming model based on revisions and isolation types for concurrent revisions of states, data, or variables shared between two or more concurrent tasks or programs. This model enables revisions of shared states, data, or variables to maintain determinacy despite nondeterministic scheduling between concurrent tasks or programs. More specifically, the Concurrent Sharing Model provides various techniques wherein shared states, data, or variables are conceptually replicated on forks, and only copied or written if necessary, then deterministically merged on joins such that concurrent tasks or programs can work with independent local copies of the shared states, data, or variables while ensuring automated conflict resolution. This model is applicable to a wide variety of system architectures, including applications that execute tasks on a CPU or GPU, applications that run, in full or in part, on multi-core processors without full shared-memory guarantees, and applications that run within cloud computing environments.


Find Patent Forward Citations

Loading…