Patent ID: 8176022
Filing Date: 2012-05-08
Classification: G06F

Abstract:
1. A method of synchronizing read and write operations performed over shared memory objects, the method for use in conjunction with computer software instructions, the method comprising: providing a plurality of shared memory objects for use with the computer software instructions, associating a lock status with each shared memory object; providing a plurality of threads, said plurality of threads performing read and write operations on said plurality of shared memory objects; providing a reader lock function, said reader lock function allowing said threads to acquire reader lock over said shared memory objects to protect reader operations of said threads over said shared memory objects; providing a writer group lock function, said writer group lock function allowing said threads to acquire writer lock over shared memory objects atomically to protect write operations of said threads over said shared memory objects; providing a reader group release function, said writer group release function allowing said threads to release reader lock on said shared memory objects; providing a writer group release function, said writer group release function allowing said threads to release writer lock on said shared memory objects; providing only a single global critical section for all the shared memory objects, each of said functions residing within said single global critical section, said single global critical section operating in conjunction with each the functions to protect the lock status of all the shared memory objects, thereby achieving concurrency among said plurality of threads, said single global critical section atomically accessing the lock status of every shared memory object present at runtime thereby avoiding deadlock among said threads; establishing a group of related memory objects from said plurality of shared memory objects at runtime by any thread in conjunction with said reader lock function; wherein said writer group lock function is provided with logical steps that determine the movement of any thread through the writer group function, the steps comprising: