# US 8,572,127 B2 · Structure based storage, query, update and transfer of tree-based documents

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,127 B2
- Document ID: US8572127B2
- Status: Granted
- Kind: B2
- Application number: 13/566,771
- Filed: 2012-08-03
- Published: 2012-11-29
- Granted: 2013-10-29
- Earliest claimed: 2007-11-26
- Assignees: International Business Machines Corporation
- Applicants: Sandeep Chowdhury
- Inventors: Sandeep Chowdhury
- Web page: https://patentgrep.com/patent/US8572127B2

## CPC

- G06F 16/81: Indexing, e.g. XML tags; Data structures therefor; Storage structures
- G06F 16/83: Querying
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A numeric structure identifier (ID) that represents a tree structure of a document that includes data is received. The numeric structure ID is calculated as a product of factors, each of a form of P raised to a power of m, where p is a prime number corresponding to a node ID of a node represented by the node ID and m is a number of children of the node represented by the node ID. A first numeric node ID that represents a first node of the tree structure of the document is received. The tree structure of the document corresponding to the numeric structure ID is identified. The data of the document is stored as the tree structure identifiable by the numeric structure ID. The first node within the tree structure corresponding to the first numeric node ID is identified. A value of the identified first node is returned.

## Claims

### Claim 1

A computer program product for processing data stored as a tree structure identifiable by a structure identifier (ID), comprising:
a computer readable storage device having computer readable program code recorded thereon, where the computer readable program code when executed on a computer causes the computer to:
receive a numeric structure identifier (ID) that represents a tree structure of a document that comprises the data, where the numeric structure ID is calculated as a product of factors with each factor of a form of P raised to a power of m, where p is a prime number corresponding to a node ID of a node represented by the node ID and m is a number of children of the node represented by the node ID;
receive a first numeric node ID that represents a first node of the tree structure of the document;
identify the tree structure of the document corresponding to the numeric structure ID, where the data of the document is stored as the tree structure identifiable by the numeric structure ID;
identify the first node within the tree structure corresponding to the first numeric node ID; and
return a value of the identified first node.

### Claim 2 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a second numeric node ID, the second numeric node ID indicative of a root node of a sub-tree of the tree structure of the document;
identify nodes within the tree structure of the document that correspond to nodes of the sub-tree of the tree structure of the document; and
return values of the identified nodes.

### Claim 3 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a numeric structure ID of a tree fragment of the tree structure of the document;
identify nodes within the tree structure of the document that correspond to nodes of the tree fragment of the tree structure of the document; and
return values of the identified nodes.

### Claim 4 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a first new value; and
update a value of the identified first node with the first new value.

### Claim 5 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a second numeric node ID, the second numeric node ID indicative of a root node of a sub-tree of the tree structure of the document;
identify nodes within the tree structure of the document that correspond to nodes of the sub-tree of the tree structure of the document; and
update values of the identified nodes.

### Claim 6 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a request to update a value of the data within the tree structure of the document, where the request comprises at least a delimited sequence of the numeric structure ID, a second numeric node ID, and a second value;
identify a second node represented within the tree structure of the document by the second numeric node ID; and
update a value of the identified second node with the second value.

### Claim 7 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a request to update multiple values of the data within the tree structure of the document, where the request comprises at least a delimited sequence of the numeric structure ID, a second numeric node ID, a second value, a third numeric node ID, and a third value;
identify a second node represented within the tree structure of the document by the second numeric node ID and a third node represented within the tree structure of the document by the third numeric node ID; and
update a value of the second node with the second value and a value of the third node with the third value.

### Claim 8 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a request to add a new node to the data within the tree structure of the document, where the request comprises a delimited sequence of the numeric structure ID, a new numeric node ID, and a new value; and
add the new node to the tree structure of the document using the new numeric node ID and the new value.

### Claim 9 (depends on 1)

The computer program product of claim 1, where the computer readable program code when executed on the computer further causes the computer to:
receive a request to delete a second node of the data within the tree structure of the document, where the request comprises a delimited sequence of the numeric structure ID and a second numeric node ID; and
delete the second node from the tree structure of the document using the second numeric node ID.

### Claim 10

A computer program product for transferring tree-based documents based on a tree structure, comprising:
a computer readable storage device having computer readable program code recorded thereon, where the computer readable program code when executed on a computer causes the computer to:
receive a numeric structure identifier (ID) identifying a tree structure of a document that comprises data, where the numeric structure ID is calculated as a product of factors with each factor of a form of P raised to a power of m, where p is a prime number corresponding to a node ID of a node represented by the node ID and m is a number of children of the node represented by the node ID;
receive a first numeric node ID identifying a first node within the tree structure of the document;
construct transfer data according to a predetermined format, where the predetermined format comprises at least the numeric structure ID and the first numeric node ID; and
transfer the constructed transfer data to a receiver.

### Claim 11 (depends on 10)

The computer program product of claim 10, where the tree structure identified by the numeric structure ID is a tree fragment of the tree structure of the document.

### Claim 12 (depends on 11)

The computer program product of claim 11, where the first numeric node ID is a numeric fragment ID identifying a root node of the tree fragment of the tree structure of the document.

### Claim 13 (depends on 10)

The computer program product of claim 10, where the computer readable program code when executed on the computer further causes the computer to receive a first new value, and where the predetermined format further comprises the first new value.

### Claim 14 (depends on 10)

The computer program product of claim 10, where the predetermined format further comprises at least a first node value and where, in causing the computer to transfer the constructed transfer data to the receiver, the computer readable program code when executed on the computer causes the computer to transfer the constructed transfer data to the receiver in relation to an update operation, where the receiver updates a stored node identified by the first numeric node ID within a stored tree structure of the document identified by the numeric structure ID with the first node value.

### Claim 15 (depends on 10)

The computer program product of claim 10, where the predetermined format further comprises at least a delimiter and a separator between each of the delimiter, the numeric structure ID, and the first numeric node ID.

### Claim 16 (depends on 10)

The computer program product of claim 10, where a metadata name mapped to the first node of the tree structure of the document by the first numeric node ID differs from a metadata name of a stored node identified by the first numeric node ID within a stored tree structure identified by the numeric structure ID.

### Claim 17 (depends on 10)

The computer program product of claim 10, where, in causing the computer to construct the transfer data according to the predetermined format, the computer readable program code when executed on the computer causes the computer to construct the transfer data without encryption.

### Claim 18 (depends on 10)

The computer program product of claim 10, where, in causing the computer to construct the transfer data according to the predetermined format, the computer readable program code when executed on the computer causes the computer to construct the transfer data without metadata that identifies a context of the transfer data.

### Claim 19

A system for processing data stored as a tree structure identifiable by a structure identifier (ID), comprising:
a memory; and
a processor programmed to:
receive a numeric structure identifier (ID) that represents a tree structure of a document that comprises the data, where the numeric structure ID is calculated as a product of factors with each factor of a form of P raised to a power of m, where p is a prime number corresponding to a node ID of a node represented by the node ID and m is a number of children of the node represented by the node ID;
receive a first numeric node ID that represents a first node of the tree structure of the document;
identify the tree structure of the document corresponding to the numeric structure ID, where the data of the document is stored as the tree structure identifiable by the numeric structure ID within the memory;
identify the first node within the tree structure corresponding to the first numeric node ID; and
return a value of the identified first node.

### Claim 20

A system for transferring tree-based documents based on a tree structure, comprising:
an interface; and
a processor programmed to:
receive a numeric structure identifier (ID) identifying a tree structure of a document that comprises data, where the numeric structure ID is calculated as a product of factors with each factor of a form of P raised to a power of m, where p is a prime number corresponding to a node ID of a node represented by the node ID and m is a number of children of the node represented by the node ID;
receive a first numeric node ID identifying a first node within the tree structure of the document;
construct transfer data according to a predetermined format, where the predetermined format comprises at least the numeric structure ID and the first numeric node ID; and
transfer the constructed transfer data to a receiver via the interface.
