Marked foreign data blocks
First Claim
1. A method for embedding a foreign data block in a host data file, comprising:
- receiving a host data file, the host data file having a host data file format;
receiving a foreign data block;
determining characteristics of the foreign data block, including a character encoding format of the foreign data block;
generating packing data that describes the characteristics of the foreign data block, including data identifying the beginning and end of the foreign data block and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating packing data includes selecting, based on the character encoding format of the foreign data block, a byte pattern that indicates a presence of a header, and including the byte pattern in the packing data; and
embedding the packing data and the foreign data block as a foreign data block packet in the host data file.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer programs, implementing a technique for creating and using marked foreign data blocks. In general, in one aspect, the technique includes receiving a host data file and a foreign data block. The host data file has a host data file format that is a native file format for a host application. The foreign data block is not native to the host data file format. The technique includes determining characteristics of the foreign data block and generating information describing the characteristics of the foreign data block, including information marking the beginning and end of the foreign data block and further including an identifier designed to be distinguishable from all other data in the host data file. The technique includes embedding the information and the foreign data block as a foreign data block packet in the host data file.
-
Citations
62 Claims
-
1. A method for embedding a foreign data block in a host data file, comprising:
-
receiving a host data file, the host data file having a host data file format; receiving a foreign data block; determining characteristics of the foreign data block, including a character encoding format of the foreign data block; generating packing data that describes the characteristics of the foreign data block, including data identifying the beginning and end of the foreign data block and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating packing data includes selecting, based on the character encoding format of the foreign data block, a byte pattern that indicates a presence of a header, and including the byte pattern in the packing data; and embedding the packing data and the foreign data block as a foreign data block packet in the host data file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18)
-
-
16. A computer program product, tangibly stored on a machine readable medium, comprising instructions operable to cause a programmable processor to:
-
receive a host data file; and search for a header that indicates the beginning of an embedded foreign data block packet that contains a foreign data block, the foreign data block having a format that is recognizable by the computer program, the header including an identifier designed to be distinguishable from all other data in the host data file, the header further describing the characteristics of the foreign data block, wherein searching for the header comprises; scanning byte by byte for a byte pattern that indicates a presence of a header; and when the byte pattern is found, determining a character encoding format of the header and scanning character by character using the character encoding format to search for the identifier, and, if the identifier is found, processing the header or, if an identifier is not found, scanning a remaining portion of the host data file byte by byte for the byte pattern. - View Dependent Claims (19, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
21. A computer program product, tangibly stored on a machine readable medium, for embedding a foreign data block in a host data file, comprising instructions operable to cause a programmable processor to:
-
receive a host data file, the host data file having a host data file format that is a native file format for a host application; receive a foreign data block, the foreign data block being a data block that is not native to the host data file format; determine characteristics of the foreign data block, including a character encoding format of the foreign data block; generate information that describes the characteristics of the foreign data block, including information identifying the beginning and end of the foreign data block and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating information identifying the beginning of the foreign data block includes selecting, based on the character encoding format, a byte pattern that indicates a presence of the information marking the beginning of the foreign data block; and embed the information and the foreign data block as a foreign data block packet in the host data file. - View Dependent Claims (33, 34, 48, 49, 50, 51, 52, 53)
-
-
35. A computer program product, tangibly stored on a machine readable medium, for embedding metadata in a host data file having a non XML format, comprising instructions operable to cause a programmable processor to:
-
receive a host data file having a format that is not XML and that is a native file format for a host application; receive metadata having a format that is not native to the host data file format; determine characteristics of the metadata, including a character encoding format of the metadata; generate information that describes the characteristics of the metadata, including information identifying the beginning and end of the metadata and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating information identifying the beginning of the metadata includes selecting, based on the character encoding format, a byte pattern that indicates a presence of the information marking the beginning of the metadata; and embed the information and the metadata as a packet in the host data file.
-
-
36. A method comprising:
-
receiving a host data file; and searching for a header that indicates the beginning of an embedded foreign data block packet that contains a foreign data block, the foreign data block having a format that is recognizable by the computer program, the header including an identifier designed to be distinguishable from all other data in the host data file, the header further describing the characteristics of the foreign data block, wherein searching for the header comprises; scanning byte by byte for a byte pattern that indicates a presence of a header; and when the byte pattern is found, determining a character encoding format of the header and scanning character by character using the character encoding format to search for the identifier, and, if the identifier is found, processing the header or, if an identifier is not found, scanning a remaining portion of the host data file byte by byte for the byte pattern. - View Dependent Claims (37, 38, 39, 40)
-
-
41. A method for embedding metadata in a host data file having a non XML format, comprising:
-
receiving a host data file having a format that is not XML and that is a native file format for a host application; receiving metadata having a format that is not native to the host data file format; determining characteristics of the metadata, including a character encoding format of the metadata; generating information that describes the characteristics of the metadata, including information identifying the beginning and end of the metadata and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating information identifying the beginning of the metadata includes selecting, based on the character encoding format, a byte pattern that indicates a presence of the information marking the beginning of the metadata; and embedding the information and the metadata as a packet in the host data file.
-
-
42. A system for embedding a foreign data block in a host data file, comprising:
one or more computers operable to perform instructions to; receive a host data file, the host data file having a host data file format; receive a foreign data block; determine characteristics of the foreign data block, including a character encoding format of the foreign data block; generate packing data that describes the characteristics of the foreign data block, including data identifying the beginning and end of the foreign data block and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating packing data includes selecting, based on the character encoding format of the foreign data block, a byte pattern that indicates a presence of a header, and including the byte pattern in the packing data; and embed the packing data and the foreign data block as a foreign data block packet in the host data file. - View Dependent Claims (43, 44, 45, 46, 47, 54, 55, 56)
-
57. A system comprising:
one or more computers operable to perform instructions to; receive a host data file; and search for a header that indicates the beginning of an embedded foreign data block packet that contains a foreign data block, the foreign data block having a format that is recognizable by the computer program, the header including an identifier designed to be distinguishable from all other data in the host data file, the header further describing the characteristics of the foreign data block, wherein searching for the header comprises; scanning byte by byte for a byte pattern that indicates a presence of a header; and when the byte pattern is found, determining a character encoding format of the header and scanning character by character using the character encoding format to search for the identifier, and, if the identifier is found, processing the header or, if an identifier is not found, scanning a remaining portion of the host data file byte by byte for the byte pattern. - View Dependent Claims (58, 59, 60, 61)
-
62. A system for embedding metadata in a host data file having a non XML format, comprising:
one or more computers operable to perform instructions to; receive a host data file having a format that is not XML and that is a native file format for a host application; receive metadata having a format that is not native to the host data file format; determine characteristics of the metadata, including a character encoding format of the metadata; generate information that describes the characteristics of the metadata, including information identifying the beginning and end of the metadata and further including an identifier designed to be distinguishable from all other data in the host data file, wherein generating information identifying the beginning of the metadata includes selecting, based on the character encoding format, a byte pattern that indicates a presence of the information marking the beginning of the metadata; and embed the information and the metadata as a packet in the host data file.
Specification