US2005234986A1PendingUtilityA1

Systems and methods for fragment-based serialization

46
Assignee: MICROSOFT CORPPriority: Apr 9, 2004Filed: Apr 9, 2004Published: Oct 20, 2005
Est. expiryApr 9, 2024(expired)· nominal 20-yr term from priority
G06F 9/4493G06F 9/00G06F 16/90348G06F 17/00
46
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method and system for fragment-based serialization places one or more object members in fragments. Fragments may comprise a header and a payload. A header can provide useful information about the fragment, such as an indication of fragment type and an indication of fragment length. A payload may comprise one or more members of an object. Primitive members may be stored in a Binary Fragment with a record format payload. LOB and FS members may be stored in fragments that have a Value Type field for setting forth additional properties of the fragment. Collections may be stored in a series of fragments, a first fragment to indicate a start of a collection, one or more second fragments to serialize collection elements, and a Terminator Fragment to indicate the end of a collection. Fragment-serialized objects minimize storage overhead while providing fast instantiation and low-cost location and updating.

Claims

exact text as granted — not AI-modified
1 . One or more data members stored together as a data object, comprising: 
 a plurality of sequentially stored bytes; and    at least one data member represented within said plurality of sequentially stored bytes, wherein said at least one data member is associated with a data type; and    at least one type byte within said plurality of sequentially stored bytes that is used to identify the data type of said at least one data member, wherein the at least one type byte is located substantially proximally to the at least one data member.    
   
   
       2 . The one or more data members of  claim 1 , wherein the at least one data member is stored in a record format, and wherein the record format defines a predictable location for said at least one data member in relation to the at least one type byte.  
   
   
       3 . The one or more data members of  claim 1 , further comprising at least one length byte of said plurality of sequentially stored bytes that is used to identify a length of the at least one data member.  
   
   
       4 . The one or more data members of  claim 1 , wherein said at least one data member indicates a location for data associated with the data object, and said location is associated with a location type, and at least one location byte of said plurality of sequentially stored bytes is used to identify the location type.  
   
   
       5 . The one or more data members of  claim 1 , wherein the at least one type byte is the first byte of the plurality of sequentially stored bytes, and indicates a beginning of the data object.  
   
   
       6 . The one or more data members of  claim 5 , wherein the at least one type byte indicates a type of data object.  
   
   
       7 . The one or more data members of  claim 1 , wherein the data type is selected from a group comprising a primitive data type excluding large objects (“LOBs”), a large object (“LOB”) data type, a file stream (“FS”) data type, and a collection element data type.  
   
   
       8 . The one or more data members of  claim 7 , wherein if said at least one data member is associated with a primitive data type excluding LOBs, then said at least one data member is stored in a record format, wherein the record format defines a predictable location for said at least one data member in relation to the at least one type byte.  
   
   
       9 . The one or more data members of  claim 1 , wherein the at least one type byte indicates that said at least one data member is the only member or members of the data object.  
   
   
       10 . The one or more data members of  claim 1 , further comprising at least one collection start byte within said plurality of sequentially stored bytes, wherein the at least one collection start byte is used to indicate the beginning of a series of related data members stored substantially proximally to said at least one collection start byte.  
   
   
       11 . The one or more data members of  claim 1 , further comprising at least one terminator byte within said plurality of sequentially stored bytes, wherein the at least one terminator byte is used to indicate the end of a series data members.  
   
   
       12 . The one or more data members of  claim 1 , further comprising at least one byte within said plurality of sequentially stored bytes that is associated with a first data member that is part of a collection of data members, wherein said at least one byte provides information about a second data member that is part of the collection of data members.  
   
   
       13 . The one or more data members of  claim 1 , further comprising at least one binary tree (“btree”) number stored substantially proximally to said at least one data member.  
   
   
       14 . A method for storing or transmitting data objects made up of at least one data member, comprising: 
 representing at least one data member within in a plurality of sequentially stored bytes, wherein the at least one data member is associated with a data type; and    dedicating at least one byte within said plurality of sequentially stored bytes to identify type information for the at least one data member, wherein said at least one byte is located substantially proximally to said at least one data member.    
   
   
       15 . The method of  claim 14 , wherein representing the at least one data member is done in a record format, and wherein the record format defines a predictable location for said at least one data member in relation to the at least one type byte.  
   
   
       16 . The method of  claim 14 , further comprising dedicating at least one byte of said plurality of sequentially stored bytes to identify a length of the at least one data member.  
   
   
       17 . The method of  claim 14 , wherein said at least one data member indicates a location for data associated with the data object, and said location is associated with a location type, and at least one location byte of said plurality of sequentially stored bytes is used to identify the location type.  
   
   
       18 . The method of  claim 14 , wherein the at least one byte is the first byte of the plurality of sequentially stored bytes, and indicates a beginning of the data object.  
   
   
       19 . The method of  claim 14 , wherein the at least one type byte indicates a type of data object.  
   
   
       20 . The method of  claim 14 , wherein the data type is selected from a group comprising a primitive data type excluding large objects (“LOBs”), a large object (“LOB”) data type, a file stream (“FS”) data type, and a collection element data type.  
   
   
       21 . The method of  claim 20 , wherein if said at least one data member is associated with a primitive data type excluding LOBs, then said at least one data member is stored in a record format, wherein the record format defines a predictable location for said at least one data member in relation to the at least one type byte.  
   
   
       22 . The method of  claim 14 , wherein the at least one type byte indicates that said at least one data member is the only member or members of the data object.  
   
   
       23 . The method of  claim 14 , further comprising dedicating at least one byte within said plurality of sequentially stored bytes to marking the start of a series of related data members stored substantially proximally to said at least one collection start byte.  
   
   
       24 . The method of  claim 14 , further comprising at least one terminator byte within said plurality of sequentially stored bytes, wherein the at least one terminator byte is used to indicate the end of a series data members.  
   
   
       25 . The method of  claim 14 , further comprising dedicating at least one byte within said plurality of sequentially stored bytes to providing information about a second data member that is part of the collection of data members, wherein said at least one byte is associated with a first data member that is part of a collection of data members.  
   
   
       26 . A computer readable medium containing instructions for performing the method of  claim 14 .  
   
   
       27 . A modulated data signal containing instructions for performing the method of  claim 14 .  
   
   
       28 .- 37 . (canceled)

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.