IP Library Granted Patent US 8,793,309
Granted Patent B2
US 8,793,309 · App. 12/876,742 · Granted Jul 29, 2014

Systems and methods for the efficient exchange of hierarchical data

Inventors: Janmartin Jahn (Karlsruhe, DE); Ulrich Rögelein (Gaiberg, DE)
Assignee: SAP AG (TH)
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,793,309
App. No.
12/876,742
Granted
Jul 29, 2014
Kind
B2
Abstract

Systems and methods are disclose for facilitating the transfer of hierarchical data to a computer memory are provided. A disclosed method may include receiving an electronic document containing hierarchical data, memory layout information, and memory address information, wherein the memory address information comprises a base address. The data may be restructuring to conform with the memory layout of the computer memory when it is determined, based on the memory layout information, that a memory layout of the hierarchical data does not match the memory layout of the computer memory. Memory address information may be translated when it is determined that the base address is not available in the computer memory. The restructured hierarchical data may be loaded into the computer memory based on the translated memory address information.

Claims (33)

1. A computer-implemented method for facilitating the transfer of hierarchical data, the method comprising:

creating a document in a computer memory, wherein creating the document comprises:

encoding, in the document, a plurality of data nodes corresponding to a plurality of objects in a hierarchical data structure;

encoding, in the document, memory layout information corresponding to a memory layout of the computer memory;

encoding, in the document, memory address information associated with the plurality of data nodes, the memory address information corresponding to linear, consecutive memory address locations; and

transferring, over an electronic network, the document to a client terminal, the document comprising linear, consecutive memory address locations for all of the objects in the hierarchical data structure, the objects having a characteristic such that they may be directly loaded into a client memory when client memory locations corresponding to the memory layout information are available, and having a characteristic such that they may be loaded into translated client memory locations when client memory locations corresponding to the memory layout information are unavailable.

2. The computer-implemented method of claim 1 , wherein encoding the plurality of data nodes further comprises encoding each of the plurality of nodes in the document simultaneously with the creation of the corresponding object in the data structure.

3. The computer-implemented method of claim 1 , wherein encoding memory address information comprises encoding the plurality of addresses in an address translation table, wherein the plurality of addresses contain memory information relative to the base address.

4. The computer-implemented method of claim 1 , wherein the method further comprises encoding, in the document, a header containing the base address and the memory layout information, wherein the memory layout information comprises at least one of an endianess, a memory alignment, and a pointer width.

5. The computer-implemented method of claim 1 , wherein the method further comprises encoding, in the document, a string pool associated with the data nodes.

6. A computer system for facilitating the transfer of hierarchical data, the computer system comprising:

a non-transient memory that stores instructions; and

a processor configured to execute the instructions to perform stages comprising:

creating a document in a computer memory, wherein creating the document comprises:

encoding, in the document, a plurality of data nodes corresponding to a plurality of objects in a hierarchical data structure;

encoding, in the document, memory layout information corresponding to a memory layout of the computer memory; and

encoding, in the document, memory address information associated with the plurality of data nodes, the memory address information corresponding to linear, consecutive memory address locations; and

transferring, over an electronic network, the document to a client terminal, the document comprising linear, consecutive memory address locations for all of the objects in the hierarchical data structure, the objects having a characteristic such that they may be directly loaded into a client memory when client memory locations corresponding to the memory layout information are available, and having a characteristic such that they may be loaded into translated client memory locations when client memory locations corresponding to the memory layout information are unavailable.

7. The computer system of claim 6 , wherein encoding the plurality of data nodes further comprises encoding each of the plurality of nodes in the document simultaneously with the creation of the corresponding object in the data structure.

8. The computer system of claim 6 , wherein encoding memory address information comprises encoding the plurality of addresses in an address translation table, wherein the plurality of addresses contain memory information relative to the base address.

9. The computer system of claim 6 , wherein the method further comprises encoding, in the document, a header containing the base address and the memory layout information, wherein the memory layout information comprises at least one of an endianess, a memory alignment, and a pointer width.

10. The computer system of claim 6 , wherein the method further comprises encoding, in the document, a string pool associated with the data nodes.

11. A non-transitory computer-readable storage medium comprising instructions, which when executed by a processor, cause a computer to perform a method for facilitating the transfer of hierarchical data, the method comprising:

creating a document in a computer memory, wherein creating the document comprises:

encoding, in the document, a plurality of data nodes corresponding to a plurality of objects in a hierarchical data structure;

encoding, in the document, memory layout information corresponding to a layout of the computer memory;

encoding, in the document, memory address information associated with the plurality of data nodes, the memory address information corresponding to linear, consecutive memory address locations; and

transferring, over an electronic network, the document to a client terminal, the document comprising linear, consecutive memory address locations for all of the objects in the hierarchical data structure, the objects having a characteristic such that they may be directly loaded into a client memory when client memory locations corresponding to the memory layout information are available, and having a characteristic such that they may be loaded into translated client memory locations when client memory locations corresponding to the memory layout information are unavailable.

12. The non-transitory computer-readable storage medium of claim 11 , wherein encoding the plurality of data nodes further comprises encoding each of the plurality of nodes in the document simultaneously with the creation of the corresponding object in the data structure.

13. The non-transitory computer-readable storage medium of claim 11 , wherein encoding memory address information comprises encoding the plurality of addresses in an address translation table, wherein the plurality of addresses contain memory information relative to the base address.

14. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises encoding, in the document, a header containing the

base address and the memory layout information, wherein the memory layout information comprises at least one of an endianess, a memory alignment, and a pointer width.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises encoding, in the document, a string pool associated with the data nodes.

Assignments (2)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 7, 2010
From: JAHN, JANMARTIN; ROEGELEIN, ULRICH
To: SAP AG (TH)
Reel/Frame 024951/0059 →
Continuity (1)
Related Publication 20120059871A1 · Mar 8, 2012