IP Library Granted Patent US 7,260,580
Granted Patent B2
US 7,260,580 · App. 10/867,889 · Granted Aug 21, 2007

Binary XML

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 7,260,580
App. No.
10/867,889
Granted
Aug 21, 2007
Kind
B2
Abstract

Methods and apparatus, including computer program products, implementing techniques for encoding binary XML. The techniques include receiving data to be encoded and encoding the data as binary XML data. The binary XML data includes one or more elements. Each element is represented by an index number that identifies the element, a length number that indicates the length of the element's name, and token numbers that represent tags delimiting the element. The index numbers, length numbers, and token numbers are encoded as a sequence of bytes including at least one byte that represents a composite number. A composite number is a token number combined with either an index number or length number.

Claims (28)

1. A computer program product tangibly embodied in a computer-readable storage medium, the computer program product comprising instructions operable to cause a data processing apparatus to perform operations comprising:

receiving data to be encoded;

encoding the data as binary XML data, the binary XML data including one or more elements, wherein each element is represented by an index number that identifies the element, a length number that indicates the length of the element's name, and token numbers that represent tags delimiting the element, and wherein the index numbers, length numbers, and token numbers are encoded as a sequence of bytes including at least one byte that represents a composite number, a composite number being a token number combined with either an index number or length number; and

transmitting the binary XML data.

2. The product of claim 1 , wherein the token numbers are encoded as binary numbers of variable length.

3. The product of claim 1 , wherein encoding the textual data as binary XML data includes representing two or more tags using a single token number.

4. The product of claim 1 , wherein encoding the textual data as binary XML data includes representing an end tag of a first element followed by a start tag of a second element using a single token number.

5. The product of claim 1 , wherein encoding the textual data as binary XML data includes representing each element by a length number that corresponds to the number of characters in the element's name.

6. The product of claim 1 , wherein for each byte, the highest bit is reserved as a continuation bit that indicates whether or not the encoding stored in the byte continues into another byte.

7. A computer program product tangibly embodied in a computer-readable storage medium, the computer program product comprising instructions operable to cause a data processing apparatus to perform operations comprising:

receiving textual data encoded as a binary XML data, the binary XML data including one or more elements, wherein each element is represented by an index number that identifies the element, a length number that indicates the number of characters in the element's name, and token numbers that represent tags delimiting the element, and wherein the index numbers, length numbers, and token numbers are encoded as a sequence of bytes including at least one byte that represents a token number combined with either an index number or length number;

decoding the binary XML data to reveal the textual data, including decoding the at least one byte into two numbers, a token number and either a length number or index number; and

using the length numbers to determine the amount of buffer space to allocate for the element names.

8. The product of claim 7 , wherein the token numbers are encoded as binary numbers of variable length.

9. The product of claim 7 , wherein encoding the textual data as binary XML data includes representing two or more tags using a single token number.

10. The product of claim 7 , wherein encoding the textual data as binary XML data includes representing an end tag of a first element followed by a start tag of a second element using a single token number.

11. The product of claim 7 , wherein encoding the textual data as binary XML data includes representing each element by a length number that corresponds to the number of characters in the element's name.

12. The product of claim 7 , wherein for each byte, the highest bit is reserved as a continuation bit that indicates whether or not the encoding stored in the byte continues into another byte.

13. The product of claim 7 , further comprising:

storing the textual data in memory and using the length numbers to determine how much memory to allocate for the element names.

14. An apparatus comprising:

means for receiving data to be encoded;

means for encoding the data as binary XML data, the binary XML data including one or more elements, wherein each element is represented by an index number that identifies the element, a length number that indicates the length of the element's name, and token numbers that represent tags delimiting the element, and wherein the index numbers, length numbers, and token numbers are encoded as a sequence of bytes including at least one byte that represents a composite number, a composite number being a token number combined with either an index number or length number; and

means for transmitting the binary XML data.

15. An apparatus comprising:

means for receiving textual data encoded as a binary XML data, the binary XML data including one or more elements, wherein each element is represented by an index number that identifies the element, a length number that indicates the number of characters in the element's name, and token numbers that represent tags delimiting the element, and wherein the index numbers, length numbers, and token numbers are encoded as a sequence of bytes including at least one byte that represents a token number combined with either an index number or length number;

means for decoding the binary XML data to reveal the textual data, including decoding the at least one byte into two numbers, a token number and either a length number or index number; and

means for using the length numbers to determine the amount of buffer space to allocate for the element names.

Assignments (3)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
CHANGE OF NAME Recorded Dec 21, 2005
From: SAP AKTIENGESELLSCHAFT
To: SAP AG
Reel/Frame 017364/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 18, 2004
From: GAUWEILER, THOMAS; VIEGENER, JOHANNES
To: SAP AKTIENGESELLSCHAFT
Reel/Frame 015072/0157 →