System and method for transferring computer-readable objects across a remote boundary
First Claim
1. At least one computer-readable storage medium having computer executable instructions that provide a method for transferring a computer-readable object across a remote boundary, the method comprising:
- negotiating with a remote entity to determine a negotiated list of known objects, the negotiating comprising;
comparing a version of a first list of object types available to the remote entity with a version of a second list of object types available to a client that intends to transmit a computer-readable object to the remote entity;
in an event that the version of the second list of object types is more recent than the version of the first list of object types, selecting the first list of object types to be the negotiated list of known objects; and
in an event that the version of the first list of object types is more recent than the version of the second list of object types, selecting the second list of object types to be the negotiated list of known objects;
decomposing the computer-readable object into multiple sub-components, including dividing the multiple sub-components into a hierarchy;
creating a property bag in the hierarchy for holding information of the computer-readable object;
in an event that a first sub-component of the multiple sub-components is included in the negotiated list of known objects, directly serializing the first sub-component without including any executable code of the first sub-component;
in an event that a second sub-component of the multiple sub-components is not included in the negotiated list of known objects, creating a sub-property bag within the property bag for the second sub-component to form a hierarchical tree of property bags and recursively serializing properties of the second sub-component, wherein the hierarchical tree of property bags is limited by at least one of;
specifying a maximum depth of the hierarchical tree of property bags,supporting only certain object types and forcing object types that are derived from the certain object types to conform to respective types;
serializing the multiple sub-components and the property bag into a serialized package; and
transmitting the serialized package to the remote entity.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for securely transferring computer-readable objects across a remote boundary is provided. The method decomposes any type of object into a hierarchy of sub-components based on a list of known object types. Each sub-component either corresponds to a known object type or an unknown object type. The unknown object types may be decomposed further into known object types at another level in the hierarchy. The known objects in the hierarchy are serialized into a package that is transmitted to a remote entity. The remote entity reconstructs the hierarchy. For any of the known object types, the remote entity instantiates an object of the known object type and populates the object with information transmitted in the package. The decomposition may be limited by specifying a level for the hierarchy, specifying a number that limits the known objects that are serialized, or specifying the properties within the object to serialize.
-
Citations
28 Claims
-
1. At least one computer-readable storage medium having computer executable instructions that provide a method for transferring a computer-readable object across a remote boundary, the method comprising:
-
negotiating with a remote entity to determine a negotiated list of known objects, the negotiating comprising; comparing a version of a first list of object types available to the remote entity with a version of a second list of object types available to a client that intends to transmit a computer-readable object to the remote entity; in an event that the version of the second list of object types is more recent than the version of the first list of object types, selecting the first list of object types to be the negotiated list of known objects; and in an event that the version of the first list of object types is more recent than the version of the second list of object types, selecting the second list of object types to be the negotiated list of known objects; decomposing the computer-readable object into multiple sub-components, including dividing the multiple sub-components into a hierarchy; creating a property bag in the hierarchy for holding information of the computer-readable object; in an event that a first sub-component of the multiple sub-components is included in the negotiated list of known objects, directly serializing the first sub-component without including any executable code of the first sub-component; in an event that a second sub-component of the multiple sub-components is not included in the negotiated list of known objects, creating a sub-property bag within the property bag for the second sub-component to form a hierarchical tree of property bags and recursively serializing properties of the second sub-component, wherein the hierarchical tree of property bags is limited by at least one of; specifying a maximum depth of the hierarchical tree of property bags, supporting only certain object types and forcing object types that are derived from the certain object types to conform to respective types; serializing the multiple sub-components and the property bag into a serialized package; and transmitting the serialized package to the remote entity. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. At least one computer-readable storage medium having computer executable instructions that provide a method for receiving a package representing a computer-readable object transmitted across a remote boundary, the method comprising:
-
receiving a serialized package from a remote entity; identifying a hierarchy of sub-components, the hierarchy representing an object of a first type; for each sub-component; identifying a type associated with the sub-component; determining whether the identified type is within a list of known object types, wherein the list of known object types has been negotiated with the remote entity before receiving the serialized package from the remote entity, and wherein; in an event that a version of a list of object types available to the remote entity is less recent than a version of a list of object types available to a client that receives the serialized package from the remote entity, the list of known object is the list of object types available to the remote entity; in an event that the version of the list of object types available to the remote entity is more recent than the version of the list of object types available to the client that receives the serialized package from the remote entity, the list of known object is the list of object types available to the client that receives the serialized package from the remote entity; responding to the determining, wherein the responding comprises instantiating a first object of the type and populating at least one property of the first object with information obtained from within the serialized package, wherein the instantiating and populating are performed when the identified type is within the list of known object types; and when the identified type is an unknown object type, responding to the determining, wherein the responding comprises instantiating a second object and populating at least one property of the second object with information obtained from within the serialized package. - View Dependent Claims (19, 20, 21, 22, 23, 24)
-
-
25. A system that communicates objects across a remote boundary, comprising:
-
a processor; a memory, the memory being allocated for a plurality of computer-executable instructions which are loaded into the memory for execution by the processor, the computer-executable instructions providing a method for communicating objects across the remote boundary, the method comprising; negotiating with a remote entity to determine a list of known objects, the negotiating comprising; comparing a version of a first list of object types available to the remote entity with a version of a second list of object types available to a client that intends to transmit a computer-readable object to the remote entity; in an event that the version of the second list of object types is more recent than the version of the first list of object types, selecting the first list of object types to be the negotiated list of known objects; and in an event that the version of the first list of object types is more recent than the version of the second list of object types, selecting the second list of object types to be the negotiated list of known objects; decomposing the computer-readable object into multiple sub-components, including dividing the multiple sub-components into a hierarchy; creating a property bag in the hierarchy for holding information of the computer-readable object; in an event that a first sub-component of the multiple sub-components is included in the negotiated list of known objects, directly serializing the first sub-component without including any executable code of the first sub-component; in an event that a second sub-component of the multiple sub-components is not included in the negotiated list of known objects, creating a sub-property bag within the property bag for the second sub-component to form a hierarchical tree of property bags and recursively serializing properties of the second sub-component, wherein the hierarchical tree of property bags is limited by at least one act selected from the group consisting of; specifying a maximum depth of the hierarchical tree of property bags, supporting only certain object types and forcing object types that are derived from the certain object types to conform to respective types; serializing the multiple sub-components and the property bag into a serialized package; and transmitting the serialized package to the remote entity. - View Dependent Claims (26, 27, 28)
-
Specification