发明名称 System and method for persisting object pointers
摘要 A system and method for persisting object pointers in a computing system. Subsequent to initiating an operation to store a plurality of memory resident objects from a memory to persistent storage, a first object of the objects is accessed. Each of the objects may include pointers to other objects in memory. An object identifier is created for the object and stored within the first object. References within the first object to other objects are replaced with object identifiers created for the referenced objects. When an object identifier is created and stored within an object, existing data within the object is replaced by the identifier. The replaced data is stored in a data structure along with a pointer to the object in memory. Subsequent to storing the objects to persistent storage, the data structure is used to restore the replaced data to the objects in memory.
申请公布号 US8756193(B2) 申请公布日期 2014.06.17
申请号 US201113285683 申请日期 2011.10.31
申请人 Apple Inc. 发明人 Rudwick, III Thomas W.
分类号 G06F7/00 主分类号 G06F7/00
代理机构 Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C. 代理人 Rankin Rory D.;Meyertons, Hood, Kivlin, Kowert & Goetzel, P.C.
主权项 1. A method for use in a computing system, the method comprising: initiating an operation to store a plurality of objects from a memory to persistent storage; wherein said operation comprises: accessing an object of the plurality of objects;in response to determining an object identifier used to uniquely identify the object from each other object of the plurality of objects has already been assigned to the object and is stored within the object, storing the object to persistent storage;in response to determining an object identifier has not been assigned to the object: assigning a new object identifier to the object used to uniquely identify the object from each other object of the plurality of objects;storing the new object identifier in the object; andstoring the object in persistent storage; maintaining a temporary data structure including a plurality of entries, wherein each of the plurality of entries associates a new object identifier with a pointer to a memory location where a corresponding object resides and a data member of the corresponding object; wherein storing the new object identifier for the object within the object comprises: replacing existing data in the object with the new object identifier;storing the new object identifier in a given entry of the temporary data structure;storing the existing data replaced by the new object identifier in the given entry; andstoring a pointer to the memory location where the object resides in the given entry.
地址 Cupertino CA US