Patent ID: 8171491

Claim:
A computer system for concurrent operation of plural computer applications, said computer system comprising: a non-transitory computer-readable storage medium comprising: (a) a shared object space capable storing at least one shared object and simultaneously connectable to a plurality of applications each comprising at least one thread of execution; (b) a lock table capable of storing a plurality of lock nodes, each lock node uniquely associated with a thread of one of a plurality of connected applications; and (c) a shared object stored in said shared object space, accessible to each of said connected applications, and updateable by at least one thread of at least two of said connectable applications, wherein the one thread is a controlling thread controlling access to said shared object and said shared object comprises a header selectively updateable to store one of: (1) a default value if no thread controls access to said shared object; (2) an identification of said controlling thread if only said controlling thread seeks to control access to said shared object; and (3) if more than one thread seeks to control access to said shared object, a reference to a lock node stored in said lock table and uniquely associated with said controlling thread, wherein: the header is swapped from the default value to the identification of said controlling thread when only said controlling thread controls access to said shared object, and the header is swapped from the identification of said controlling thread to the reference when more than one thread seeks to control access to said shared object.