Mixed-mode authorization metadata manager for cloud computing environments
US-9210178-B1 · Dec 8, 2015 · US
US9817857B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9817857-B2 |
| Application number | US-201514603569-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jan 23, 2015 |
| Priority date | Nov 10, 2011 |
| Publication date | Nov 14, 2017 |
| Grant date | Nov 14, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques are described herein that are capable of deep cloning (a.k.a. deep copying) objects using a binary format. A deep clone of a designated object includes references to other objects (and potentially copies of the other objects) included in the designated object. A binary representation of each object in an object graph is generated to provide a binary clone of the object graph. Objects created by a dynamic language engine are called dynamic language objects. Objects created by a host (e.g., that hosts the dynamic language engine) are called host objects. Each host object is associated with an intermediate representation thereof via a property bag that describes properties of that host object. Each intermediate representation is understandable by the dynamic language engine. A binary representation of each dynamic language object and each host object may be generated in accordance with the binary format to provide the binary clone.
Opening claim text (preview).
What is claimed is: 1. A method of deep cloning one or more objects in an object graph using a binary format performed using one or more processors of a processor-based system, the one or more objects including one or more host objects created by a host that executes on the processor-based system and that hosts a first dynamic language engine, the method comprising: determining how each of the one or more objects in the object graph is to be cloned based at least in part on whether that object is a host object created by the host or a dynamic language object created by the first dynamic language engine hosted by the host; retrieving each host object that is included in the one or more host objects, which are created by the host that executes on the processor-based system and that hosts the first dynamic language engine, from the host via an intermediate representation of that host object contained in a corresponding property bag, each intermediate representation describing properties of the corresponding host object and being understandable by the first dynamic language engine; and converting each host object that is included in the one or more host objects to a binary representation of the respective host object in accordance with the binary format, using at least one of the one or more processors, to provide a binary clone of the object graph. 2. The method of claim 1 , further comprising: instantiating serialization of the object graph via an application programming interface that is exposed by a serialization engine that is included in the first dynamic language engine hosted by the host; receiving a byte stream indicator from the host at the serialization engine, the byte stream indicator specifying a designated byte stream into which the binary clone of the object graph is to be written; and writing the binary clone of the object graph into the designated byte stream by the serialization engine based on the byte stream indicator. 3. The method of claim 1 , further comprising: instantiating serialization of the object graph via a first application programming interface that is exposed by a serialization engine that is included in the first dynamic language engine hosted by the host; wherein retrieving each host object comprises: creating the corresponding property bag by the serialization engine; calling a second application programming interface by the serialization engine, the second application programming interface being exposed by the host; sharing the corresponding property bag with the host by the serialization engine via the second application programming interface; generating the intermediate representation of each host object into the corresponding property bag by the host; and retrieving the intermediate representation for each host object that is included in the one or more host objects from the corresponding property bag by the serialization engine. 4. The method of claim 1 , further comprising: reconstructing the object graph based on the binary clone to provide a reconstructed object graph, the reconstructing comprising: for the binary representation of each host object in the binary clone, creating a placeholder for the host object, extracting the binary representation of the host object from the binary clone into a respective property bag object such that the respective property bag object includes properties of the host object, extracting the properties from the property bag object, and initializing the placeholder with the properties that are extracted from the property bag object to provide a respective initialized host object in the reconstructed object graph. 5. The method of claim 4 , further comprising: instantiating serialization of the object graph via an application programming interface that is exposed by a serialization engine that is included in the first dynamic language engine hosted by the host; wherein, for the binary representation of each host object in the binary clone, creating the placeholder for the host object comprises: creating the placeholder for the host object by a second host that is different from the first host from which the property bag for each host object that is included in the one or more host objects is retrieved; wherein, for the binary representation of each host object in the binary clone, extracting the binary representation of the host object comprises: extracting the binary representation of the host object from the binary clone into the respective property bag object by a de-serialization engine that is included in a second dynamic language engine that is hosted by the second host; wherein, for the binary representation of each host object in the binary clone, extracting the properties from the property bag object comprises: extracting the properties from the property bag object by the second host; and wherein, for the binary representation of each host object in the binary clone, initializing the placeholder comprises: initializing the placeholder by the second host. 6. The method of claim 5 , wherein the one or more objects further include one or more dynamic language objects created by the first dynamic language engine; and wherein the method further comprises: retrieving each dynamic language object that is included in the one or more dynamic language objects from the first dynamic language engine configured to execute commands written in a first dynamic language; and recreating each dynamic language object that is included in the one or more dynamic language objects in the reconstructed object graph using the second dynamic language engine configured to execute commands written in a second dynamic language. 7. The method of claim 4 , further comprising: instantiating serialization of the object graph via an application programming interface that is exposed by a serialization engine that is included in the first dynamic language engine hosted by the host; wherein, for the binary representation of each host object in the binary clone, creating the placeholder for the host object comprises: creating the placeholder for the host object by the host; wherein, for the binary representation of each host object in the binary clone, extracting the binary representation of the host object comprises: extracting the binary representation of the host object from the binary clone into the respective property bag object by a de-serialization engine that is included in a second dynamic language engine that is hosted by the host and that is different from the first dynamic language engine; wherein, for the binary representation of each host object in the binary clone, extracting the properties from the property bag object comprises: extracting the properties from the property bag object by the host; and wherein, for the binary representation of each host object in the binary clone, initializing the placeholder comprises: initializing the placeholder by the host. 8. The method of claim 7 , wherein the one or more objects further include one or more dynamic language objects created by the first dynamic language engine; and wherein the method further comprises: retrieving each dynamic language object that is included in the one or more dynamic language objects from the first dynamic language engine configured to execute commands written in a first dynamic language; and recreating each dynamic language object that is included in the one or more dynamic language objects in the reconstructed object graph using the second dynamic language engine configured to execute commands written in a second dynamic language. 9. The method of claim 1 , wherein converting each host object that is included in the one or more host ob
Physics · mapped topic
Physics · mapped topic
Physics · mapped topic
Object persistence · CPC title
Information retrieval; Database structures therefor; File system structures therefor · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.