×

Methods for updating reference count and shared objects in a concurrent system

  • US 9,569,356 B1
  • Filed: 06/15/2012
  • Issued: 02/14/2017
  • Est. Priority Date: 06/15/2012
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for managing access to a shared resource stored in a repository managed by a content server, comprising:

  • maintaining a global cache and a plurality of session caches, the global cache storing one or more object types retrieved from a database for use by the plurality of sessions, each session cache being associated with a corresponding session of a plurality of sessions and storing;

    i) object types retrieved from the global cache in response to a client read request, and ii) one or more object subtypes cloned from a corresponding object type stored in the global cache to the session cache in response to a client write request to modify the corresponding object type, the one or more object subtypes replacing the corresponding object type after the write request is performed;

    establishing one or more sessions between one or more clients and the content server;

    maintaining a session counter by the content server, the session counter tracking a number of references, stored in the plurality of session caches, to object types stored in the global cache, the maintaining comprising;

    incrementing a session counter based on i) detecting an absence of a requested object type in the session cache and ii) creating a pointer to the requested object type stored in the global cache, the pointer being stored in the session cache;

    decrementing the session counter based on i) detecting an invalid object type in the session cache and ii) removing the invalid object type from the session cache;

    maintaining an intra-session reference counter, the intra-session reference counter tracking a number of subtypes of the object types stored in the global cache used in the sessions, maintaining the intra-session reference counter comprising;

    incrementing only an intra-session reference counter based on every instance of using a subtype of the object type in a session;

    decrementing only the intra-session reference counter based on every instance of releasing the subtype from the session; and

    removing the object type from the global cache when the session counter and the intra-session reference counter are both zero.

View all claims
  • 4 Assignments
Timeline View
Assignment View
    ×
    ×