Consistent selective sub-hierarchical serialization and node mapping
Abstract
An object hierarchy corresponds with a serialized file. The object hierarchy is generated from the serialized file by a generation tool. Non-root objects are attributed with an entity type, namespace, name, and link to their parent object. When an object changes, serialization layer code builds an XPath and produces a partial serialization for local and/or remote users while avoiding the overhead of re-serializing the entire changed hierarchy. The updated serialization may be granular or may include the entire hierarchy. Two users may authorize chronologically overlapping changes to different objects with neither user locking out the other user. Each user receives a respective corresponding updated serialization (granular or non-granular) of the object hierarchy without causing a full re-serialization overhead. A modified object is mapped to an XPath-compatible location in a serialization of the hierarchy. Relationships between individual objects and their properties, and between objects, are maintained when creating the serialization.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A computer system comprising:
a logical processor; a memory in operable communication with the logical processor; an object hierarchy generation tool residing in the memory and having code executable by the logical processor; a serialized file residing in the memory and having entities which represent objects in a serialized form; and an object hierarchy corresponding with the serialized file and generated from the serialized file by execution of the object hierarchy generation tool code, the object hierarchy containing a root object and at least one non-root object, each non-root object having at least the following allocated attributes: an entity type (namely, the type of serialized entity from which the object was generated), a namespace, a name, a link to a parent object.
2 . The system of claim 1 , wherein the link attributes are initialized in addition to being allocated.
3 . The system of claim 1 , further comprising link initialization code which resides in the memory and which upon execution by the logical processor initializes values of link attributes such that each non-root object includes a reference to its parent object in the object hierarchy.
4 . The system of claim 1 , further comprising object monitor code which resides in the memory and which upon execution by the logical processor monitors an object in the object hierarchy and receives a notice when the object is changed.
5 . The system of claim 1 , further comprising XPath representation code which resides in the memory and which upon execution by the logical processor builds an XPath-compatible representation of a path from the root object to a specified non-root object in the object hierarchy.
6 . The system of claim 1 , further comprising partial serialization code which resides in the memory and which upon execution by the logical processor produces a partial serialization which serializes a specified non-root object of the object hierarchy and writes the partial serialization into a pre-existing serialization of the other objects of the object hierarchy.
7 . A user experience process for partial serialization in a computer system, the computer system having a memory and at least one logical processor, the user experience process comprising the steps of a user:
authorizing a change to an object in an object hierarchy which resides in the computer system's memory by logical processor execution of code which produces a changed object hierarchy by performing at least one of the following: creating a property of the object, removing a property of the object, updating a property value of the object, adding the object, deleting the object; and then receiving from the computer system a corresponding updated serialization of at least part of the object hierarchy without the process causing a full re-serialization overhead, namely, overhead from re-serialization of the entire changed object hierarchy.
8 . The process of claim 7 , wherein the updated serialization received includes a serialization of the entire changed object hierarchy.
9 . The process of claim 7 , wherein the updated serialization received is granular rather than including the entire changed object hierarchy.
10 . The process of claim 7 , wherein the user authorizes the change through a local device which is connectable through a network to the computer system in which the code produces a changed object hierarchy.
11 . The process of claim 7 , wherein the user receives the updated serialization at a local device which is connectable through a network to the computer system in which the code produces a changed object hierarchy.
12 . The process of claim 7 , wherein two users authorize chronologically overlapping changes to different objects with neither user locking out the other user, and wherein each user receives from the computer system a respective corresponding updated serialization of the object hierarchy without causing a full re-serialization overhead.
13 . A computer-readable non-transitory storage medium configured with data and with instructions that when executed by at least one processor causes the processor(s) to perform a process for selective sub-hierarchical serialization and node mapping, the process comprising the computational steps of:
obtaining an object hierarchy which contains a root object and at least one non-root object, each non-root object having at least the following allocated attributes: an entity type (namely, the type of serialized entity from which the object was generated), a namespace, a qualified name, a link to a parent object; and creating at least one of the following:
a selective sub-hierarchical serialization, namely, a serialization of a selected proper subset of the object hierarchy;
a mapping of a non-root object of the hierarchy to an XPath-compatible location in a serialization of the hierarchy.
14 . The configured medium of claim 13 , wherein relationships are present in the object hierarchy between individual objects and respective properties of those objects, and wherein the creating step is consistent in that it maintains those relationships.
15 . The configured medium of claim 13 , wherein the process further comprises computationally generating the object hierarchy from an XML serialization of the object hierarchy.
16 . The configured medium of claim 13 , wherein the process further comprises computationally generating the object hierarchy from a serialization of the object hierarchy, and wherein the generated object hierarchy includes as objects class instances in a programming language which has static typing.
17 . The configured medium of claim 13 , wherein the process further comprises computationally monitoring objects in the object hierarchy and proactively computationally creating the selective sub-hierarchical serialization for a changed object in response to a change detected by the monitoring step.
18 . The configured medium of claim 13 , wherein the process further comprises computationally monitoring objects in the object hierarchy and proactively computationally creating the mapping to an XPath-compatible location for a changed non-root object of the hierarchy in response to a change detected by the monitoring step.
19 . The configured medium of claim 13 , wherein the process further comprises changing respective objects in the object hierarchy for at least two concurrent users without giving either user an exclusive lock on the object hierarchy, and computationally creating for each user a respective granular selective sub-hierarchical serialization.
20 . The configured medium of claim 13 , wherein the process further comprises at least one of the following: running an object hierarchy generation tool to generate the object hierarchy, utilizing a serialization layer to facilitate partial serialization of the object hierarchy.Join the waitlist — get patent alerts
Track US2013218933A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.