Aspected interfaces and methods for synchronized containers and other data structures
AssigneeMicrosoft Technology Licensing, LLC
InventorsJohn-Mark Albertson, Douglas Kevin Service, Richard A. Molloy
Life of this patent
Estimating the term…
Loading patent…
AssigneeMicrosoft Technology Licensing, LLC
InventorsJohn-Mark Albertson, Douglas Kevin Service, Richard A. Molloy
Estimating the term…
The subject disclosure is directed towards an object (e.g., an aspected vector, queue, map, stack and so forth) container having an exclusive interface, a shared-read-only interface and a shared-write (and read) interface to a common set of data. Use cases during runtime determine the appropriate interface to use. No locking is needed with methods of the exclusive interface or the read-only interface. The shared-write interface is configured to have only concurrency safe methods. Also described is blocking the use of other interfaces while one interface is in use, and the use of reference counter tracking to know when no concurrent readers and/or writers remain, to allow transitioning to use a different interface.
In a computing environment, a system, comprising;
In a computing environment, a computer-implemented method performed at least in part on at least one processor, comprising:
One or more computer storage memories having stored thereon a data structure, comprising, a set of interfaces to a common set of data, including an exclusive interface, a read-only interface, and a shared-write interface, each interface providing access to a plurality of methods, including non-concurrency safe methods associated with the exclusive interface, and only concurrency safe methods associated with the shared-write interface, in which access to the data via any other interface is blocked by a mechanism when the exclusive interface is in use, access to the data via the exclusive interface is blocked by a mechanism within the data structure when the shared-write interface is in use, and access to the data via the exclusive interface and the concurrent writer is blocked by a mechanism within the data structure when the read-only interface is in use.
Dependencies are inferred from the claim text.