IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0759737
(2004-01-16)
|
등록번호 |
US-7770181
(2010-08-24)
|
발명자
/ 주소 |
- Snover, Jeffrey P.
- Chandrashekaran, Rajesh
- Shastry, Shankara
- Raigandhi, Hitesh
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
8 인용 특허 :
12 |
초록
▼
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
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.
대표청구항
▼
The invention claimed is: 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 kn
The invention claimed is: 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. The computer-readable storage medium of claim 1, wherein the negotiated list identifies a data type of the computer-readable object or at least one sub-component of the multiple sub-components as one of the known object types. 3. The computer-readable storage medium of claim 1, wherein at least one sub-component comprises an unknown object having a type unidentified within the negotiated list. 4. The computer-readable storage medium of claim 3, wherein decomposing the computer-readable object further comprises decomposing the unknown object into another level of sub-components based on the negotiated list. 5. The computer-readable storage medium of claim 1, wherein a first process on a system transmits the serialized package and the remote entity comprises another process on the system. 6. The computer-readable storage medium of claim 1, wherein a first process on a system transmits the serialized package and the remote entity comprises another process on another system. 7. The computer-readable storage medium of claim 1, wherein a first application domain executing within a process transmits the serialized package and the remote entity comprises another application domain within the process. 8. The computer-readable storage medium of claim 1, wherein the property bag comprises a hash table. 9. The computer-readable storage medium of claim 8, wherein a key for each entry in the hash table comprises a name for the sub-component associated with the entry. 10. The computer-readable storage medium of claim 1, wherein the property bag comprises a plurality of entries, each entry being associated with one of the multiple sub-components and having a first field for storing a name associated with the one of the multiple sub-components, a second field for storing a value associated with the one of the multiple sub-components, and a third field for storing a type associated with the one of the multiple sub-components. 11. The computer-readable storage medium of claim 1, wherein the negotiating further includes accepting a plurality of object types received from the client, the accepted object types becoming known object types identified within the negotiated list. 12. The computer-readable storage medium of claim 1, wherein the negotiating further includes receiving an identifier for a file having the negotiated list, including object types identified within the file. 13. The computer-readable storage medium of claim 1, further comprising limiting the hierarchy of sub-components by specifying a pre-determined depth for the hierarchy, wherein decomposing the object comprises decomposing the object to the pre-determined depth. 14. The computer-readable storage medium of claim 1, further comprising limiting the hierarchy of sub-components by defining a property set that identifies individual properties of the object, wherein decomposing the object comprises decomposing the identified individual properties of the object. 15. The computer-readable storage medium of claim 1, further comprising limiting the hierarchy of sub-components by identifying a specified property within the object, wherein decomposing the object comprises decomposing the specified property. 16. The computer-readable storage medium of claim 1, further comprising limiting the hierarchy of sub-components by specifying a pre-determined number that limits the known objects that are serialized into the serialized package by the number. 17. The computer-readable storage medium of claim 1, wherein just the known objects are serialized in the serializing act. 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. 19. The computer-readable storage medium of claim 18, wherein the list of known object types includes the first type as one of the known object types. 20. The computer-readable storage medium of claim 18, wherein the at least one sub-component comprises an unknown object having a type unidentified within the list of known object types. 21. The computer-readable storage medium of claim 18, wherein a first process on a system receives the serialized package and the remote entity comprises another process on the system. 22. The computer-readable storage medium of claim 18, wherein a first process on a system receives the serialized package and the remote entity comprises another process on another system. 23. The computer-readable storage medium of claim 18, wherein a first application domain executing within a process receives the serialized package and the remote entity comprises another application domain within the process. 24. The computer-readable storage medium of claim 18, wherein the serialized package comprises an XML document. 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. 26. The system of claim 25, wherein a first process on the system transmits the serialized package and the remote entity comprises another process on the system. 27. The system of claim 25, wherein a first process on a system transmits the serialized package and the remote entity comprises another process on another system. 28. The system of claim 25, wherein a first application domain executing within a process transmits the serialized package and the remote entity comprises another application domain within the process.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.