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.
Patent No.:
Date of Patent:
May. 09, 1995
Filed:
Jun. 19, 1992
Ashok M Joshi, Nashua, NH (US);
Digital Equipment Corporation, Maynard, MA (US);
Abstract
Requests for memory locks upon nodes in a multi-level resource hierarchy of a computer system are granted and denied by a hybrid escalation/de-escalation protocol that dynamically modifies the resource hierarchy so that lock escalation may restrict the extent of the hierarchy. Each of the leaf-level nodes, for example, is identified by a flag indicating whether or not it is possible to further refine a lock on the node by de-escalation. During escalation from a lower level of the hierarchy to a higher-level node, the flag for the higher-level node is set to restrict the extent of the hierarchy and to free-up memory previously allocated to descendants of the higher-level node. In a specific embodiment, the lock protocol attempts to place a strong lock at the highest possible node in the portion of the resource hierarchy including an object to be locked, and also records in memory a leaf node instance for the object. Another conflicting request, however, may cause de-escalation of the strong lock toward the leaf-levels of the hierarchy. Escalation of leaf-level locks is attempted just before the lock protocol would otherwise record a leaf node instance for an additional object. Lock escalation is performed by recording a leaf node instance for the ancestor node and de-allocating the memory that was used to store leaf-level node instances of the descendants of the ancestor.