发明名称 COORDINATING REFERENCE COUNTING BETWEEN ENTITIES EXECUTING WITHIN SEPARATE ADDRESS SPACES
摘要 Reference counting is shared between an in-process service runtime and a machine-wide service. The machine-wide service maintains a count for the total number of references to an object or resource (the global reference count) (660), a count for the number of exports of a object (the global export count) (662) and a count of the number of exports that must be received by the machine- wide service before a revoke can occur (the exports before revoke count) (664). When a process exports an object or resource, the machine-wide service increments the global export count (716) for the object or resource and increments the global reference count for the object or resource (718). The machine-wide service increments the global reference count for a passed reference but does not increment the global reference count (722). The machine-wide service decrements the global reference count in response to receiving an unreferenced message (728). When the global reference count for a resource or object drops to zero (730), the machine-wide service deletes the table entry (726) for the object or resource and sends an unref message (732) including the value of the global export count to the sharing process. If the local export count is greater than the global export count of the unref, there are committed exports which have not yet been unreferenced. If both counts are the same, the committed exports have been accounted for and a revoke operation can be issued.
申请公布号 WO2006125003(A3) 申请公布日期 2009.04.23
申请号 WO2006US19090 申请日期 2006.05.16
申请人 MICROSOFT CORPORATION 发明人 BERNABEU-AUBAN, JOSE M.;HAVENS, JEFF L.;KHALIDI, YOUSEF A.
分类号 G06F15/16;G06F3/00;G06F9/44;G06F9/46;G06F13/00;G06F15/00;G06F15/173;G06F15/76 主分类号 G06F15/16
代理机构 代理人
主权项
地址