← Back to Patent Explorer
US5974416A Expired / Lapsed US ⏱️ 0.0 years remaining

Method of creating a tabular data stream for sending rows of data between client and server

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1997-11-10
•
Granted: 1999-10-26
•
Expires: 2017-11-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and tabular data stream format is provided for the transmission of tabular data between a client process running on a client computer and a server process running on a server computer via a network such as the Internet. The tabular data stream format, called the Advanced Data TableGram (ADTG) format, is ideally suited for marshaling tabular data in both directions between a Web browser and a Web server. A Web browser query is processed by the Web server retrieving tabular data from a database and converting the data into a Rowset. The Rowset, in turn, is formatted into an ADTG message. The ADTG message includes a Header section, a HandlerOptions section, a Row section, and an End section. The Header section includes data representing global parameters for a tabular data stream. The Handler Options section contains data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream. The Descriptors section includes data representing properties of the tabular data stream. The Row section includes data representing the properties of rows and values of the columns of the tabular data stream. The End section contains data that denotes the end of parts of an ADTG message, called resultsets, or the end of the entire ADTG message.

Inventors

  • 👤 Thulusalamatom Krishnamurthi Anand
  • 👤 Peter A. Tucker
  • 👤 John G. Bennett
  • 👤 Kamaljit S. Bath
  • 👤 Raja Krishnaswamy

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-06 12:07
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/25; G06F16/258; H; H04; H04L; H04L9/00; H04L9/40; H04L67/00; H04L67/01; H04L67/02; H04L69/00; H04L69/26; H04L69/30; H04L69/32; H04L69/322; H04L69/328; H04L69/329; Y; Y10; Y10S; Y10S707/00; Y10S707/912; Y10S707/922; Y10S707/953; Y10S707/959; Y10S707/99931; Y10S707/99933; Y10S707/99934

Claims Analysis

Total Claims: 58
Claim 1
Independent Claim 126 words
A computer-readable medium having stored thereon data formatted into a tabular data stream containing rows of data suitable for transmission between a client computer and a server computer through a network, said tabular data stream format comprising: (a) a first section including data representing global parameters for said tabular data stream; (b) a second section including data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream; (c) a third section including data representing properties of the tabular data stream; (d) a fourth section including data representing the properties of rows and the values of columns of the tabular data stream; and: (e) a fifth section including data that represents the end of the tabular data stream.
Claim 2
Dependent Claim 126 words
A computer-readable medium having stored thereon data formatted into a tabular data stream containing rows of data suitable for transmission between a client computer and a server computer through a network, said tabular data stream format comprising: (a) a first section including data representing global parameters for said tabular data stream; (b) a second section including data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream; (c) a third section including data representing properties of the tabular data stream; (d) a fourth section including data representing the properties of rows and the values of columns of the tabular data stream; and: (e) a fifth section including data that represents the end of the tabular data stream.
Claim 3
Dependent Claim 57 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said first section comprises a Header section including a token having fields that contain said data representing global parameters for said tabular data stream.
Claim 4
Dependent Claim 68 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said second section comprises a HandlerOptions section including a token having fields that contain said data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream.
Claim 5
Dependent Claim 96 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said third section comprises a Descriptors section including: (a) a token having fields containing data representing the general properties of the tabular data stream; (b) at least one token having fields containing data representing properties of tables from which the tabular data stream originated; and (c) at least one token having fields containing data representing properties of columns of the tabular data stream.
Claim 6
Dependent Claim 52 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 4, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to the tabular data stream.
Claim 7
Dependent Claim 53 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said third section comprises a Descriptors section including a token having a field containing data that uniquely identifies cached data.
Claim 8
Dependent Claim 51 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 6, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to said cached data.
Claim 9
Dependent Claim 56 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fourth section comprises a Row section including a token that identifies the nature of data rows contained in said tabular data stream.
Claim 10
Dependent Claim 49 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 8, wherein said data rows contained in said tabular data stream are identified as an original resultset row.
Claim 11
Dependent Claim 50 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 8, wherein said data rows contained in said tabular data stream are identified as an original base table row.
Claim 12
Dependent Claim 48 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 8, wherein said data rows contained in said tabular data stream are identified as a normalized row.
Claim 13
Dependent Claim 58 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as delete type data.
Claim 14
Dependent Claim 58 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as change type data.
Claim 15
Dependent Claim 58 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as insert type data.
Claim 16
Dependent Claim 58 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as read/verify type data.
Claim 17
Dependent Claim 66 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said fifth section comprises an End section including a token that either establishes the end of a part of the tabular data stream or identifies the end of the entire tabular data stream.
Claim 18
Dependent Claim 45 words
A computer-readable medium having stored thereon data formatted into a tabular data stream suitable for transmission between a client computer and a server computer through a network as claimed in claim 1, wherein said third section comprises a Descriptor section including a 16-byte unique identifier.
Claim 19
Independent Claim 137 words
A method of creating a tabular data stream for sending rows of data between a client computer and a server computer through a network, said method comprising: (a) packaging data representing global parameters for the tabular data stream into a first section; (b) packaging data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream into a second section immediately following the first section; (c) packaging data representing properties of the tabular data stream into a third section immediately following the second section; (d) packaging data representing properties of rows and values of columns of the tabular data into a fourth section immediately following the third section; and (e) packaging data representing an end of the tabular data stream into a fifth section immediately following the fourth section.
Claim 20
Independent Claim 137 words
A method of creating a tabular data stream for sending rows of data between a client computer and a server computer through a network, said method comprising: (a) packaging data representing global parameters for the tabular data stream into a first section; (b) packaging data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream into a second section immediately following the first section; (c) packaging data representing properties of the tabular data stream into a third section immediately following the second section; (d) packaging data representing properties of rows and values of columns of the tabular data into a fourth section immediately following the third section; and (e) packaging data representing an end of the tabular data stream into a fifth section immediately following the fourth section.
Claim 21
Dependent Claim 31 words
The method claimed in claim 18, wherein said first section comprises a Header section including a token having fields that contain said data representing global parameters for the tabular data stream.
Claim 22
Dependent Claim 41 words
The method claimed in claim 18, wherein said second section comprises a HandlerOptions section including a token having fields that contain data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream.
Claim 23
Dependent Claim 70 words
The method claimed in claim 18, wherein said third section comprises a Descriptors section including: (a) a token having fields containing data representing the general properties of the tabular data stream; (b) at least one token having fields containing data representing properties of tables from which the tabular data stream originated; and (c) at least one token having fields containing data representing properties of columns of the tabular data stream.
Claim 24
Dependent Claim 26 words
The method claimed in claim 21, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to the tabular data stream.
Claim 25
Dependent Claim 27 words
The method claimed in claim 18, wherein said third section comprises a Descriptors section including a token having a field containing data that uniquely identifies cached data.
Claim 26
Dependent Claim 26 words
The method claimed in claim 23, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to the tabular data stream.
Claim 27
Dependent Claim 30 words
The method claimed in claim 18, wherein said fourth section comprises a Row section including a token that identifies the nature of data rows contained in said tabular data stream.
Claim 28
Dependent Claim 22 words
The method claimed in claim 25, wherein said data rows contained in said tabular data stream are identified as original resultset row.
Claim 29
Dependent Claim 23 words
The method claimed in claim 25, wherein said data rows contained in said tabular data stream are identified as original base table row.
Claim 30
Dependent Claim 21 words
The method claimed in claim 25, wherein said data rows contained in said tabular data stream are identified as normalized row.
Claim 31
Dependent Claim 32 words
The method claimed in claim 18, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as delete type data.
Claim 32
Dependent Claim 32 words
The method claimed in claim 18, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as change type data.
Claim 33
Dependent Claim 32 words
The method claimed in claim 18, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as inert type data.
Claim 34
Dependent Claim 32 words
The method claimed in claim 18, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as read/verify type data.
Claim 35
Dependent Claim 40 words
The method claimed in claim 18, wherein said fifth section comprises an End section including a token that either establishes the end of a part of the tabular data stream or identifies the end of the entire tabular data stream.
Claim 36
Independent Claim 152 words
A method of querying a database through a network, wherein the database is associated with a server computer running a server process, the server computer connected to, and in communication with, a client computer through a network, the method comprising the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query from one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.
Claim 37
Independent Claim 152 words
A method of querying a database through a network, wherein the database is associated with a server computer running a server process, the server computer connected to, and in communication with, a client computer through a network, the method comprising the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query from one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.
Claim 38
Dependent Claim 100 words
The method of claim 34, wherein the tabular datastream format comprises: (a) a first section including data representing global parameters for said tabular data stream; (b) a second section including data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream; (c) a third section including data representing properties of the tabular data stream; (d) a fourth section including data representing the properties of rows and the values of columns of the tabular data stream; and (e) a fifth section including data that represents the end of the tabular data stream.
Claim 39
Dependent Claim 31 words
The method claimed in claim 35, wherein said first section comprises a Header section including a token having fields that contain said data representing global parameters for the tabular data stream.
Claim 40
Dependent Claim 41 words
The method claimed in claim 35, wherein said second section comprises a HandlerOptions section including a token having fields that contain data representing parameters for controlling the processing of the tabular data stream by a process receiving the tabular data stream.
Claim 41
Dependent Claim 70 words
The method claimed in claim 35, wherein said third section comprises a Descriptors section including: (a) a token having fields containing data representing the general properties of the tabular data stream; (b) at least one token having fields containing data representing properties of tables from which the tabular data stream originated; and (c) at least one token having fields containing data representing properties of columns of the tabular data stream.
Claim 42
Dependent Claim 26 words
The method claimed in claim 38, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to the tabular data stream.
Claim 43
Dependent Claim 27 words
The method claimed in claim 35, wherein said third section comprises a Descriptors section including a token having a field containing data that uniquely identifies cached data.
Claim 44
Dependent Claim 26 words
The method claimed in claim 40, wherein said Descriptors section also includes a token having fields containing data representing options/properties unique to the tabular data stream.
Claim 45
Dependent Claim 28 words
The method claimed in claim 35, wherein said Row section includes a token that identifies a data row contained in said tabular data stream as delete type data.
Claim 46
Dependent Claim 28 words
The method claimed in claim 35, wherein said Row section includes a token that identifies a data row contained in said tabular data stream as change type data.
Claim 47
Dependent Claim 32 words
The method claimed in claim 35, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as insert type data.
Claim 48
Dependent Claim 32 words
The method claimed in claim 35, wherein said fourth section comprises a Row section including a token that identifies a data row contained in said tabular data stream as read/verify type data.
Claim 49
Dependent Claim 40 words
The method claimed in claim 35, wherein said fifth section comprises an End section including a token that either establishes the end of a part of the tabular data stream or identifies the end of the entire tabular data stream.
Claim 50
Dependent Claim 30 words
The method claimed in claim 35, wherein said fourth section comprises a Row section including a token that identifies the nature of data rows contained in said tabular data stream.
Claim 51
Dependent Claim 23 words
The method claimed in claim 47, wherein said data rows contained in said tabular data stream are identified as an original resultset row.
Claim 52
Dependent Claim 24 words
The method claimed in claim 47, wherein said data rows contained in said tabular data stream are identified as an original base table row.
Claim 53
Dependent Claim 22 words
The method claimed in claim 47, wherein said data rows contained in said tabular data stream are identified as a normalized row.
Claim 54
Dependent Claim 131 words
The method of claim 34, further comprising the step of updating the database through the network, wherein the step of updating the database comprises the steps of: (a) recreating, by the client process, the Rowset from the message; (b) manipulating, by the client process, contents of the recreated Rowset; (c) creating an updated Rowset containing updated rows and updated metadata concerning the updated rows resulting from manipulating the contents of the recreated Rowset; (d) packaging the updated Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (e) sending the message to the server computer; (f) recreating, by the server process, the updated Rowset from the message; and (g) updating the database with the updated Rowset.
Claim 55
Dependent Claim 120 words
A computer-readable medium having computer-executable instructions for performing the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query from one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.
Claim 56
Dependent Claim 120 words
A computer-readable medium having computer-executable instructions for performing the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query from one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.
Claim 57
Independent Claim 120 words
A method of transmitting computer-executable instructions for performing the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query form one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.
Claim 58
Independent Claim 120 words
A method of transmitting computer-executable instructions for performing the steps of: (a) issuing, by a client process running on a client computer, a query for data from a database; (b) sending the query from the client computer to the server computer; (c) processing the query, by the server process running on the client computer, and retrieving rows of data satisfying the query form one or more tables of the database; (d) forming a Rowset containing the retrieved rows and metadata concerning the retrieved rows; (e) packaging the Rowset into a message comprising a tabular datastream format suitable for marshaling tabular data for transfer between the client computer and the server computer; and (f) sending the message to the client computer.

References Cited (Backward Citations)

US5778377A Cited
US5819263A Cited
US5870765A Cited
US5870759A Cited
US5884325A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2002-10-25 2003-04-26 2003-10-26 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2006-10-25 2007-04-26 2007-10-26 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2010-10-25 2011-04-26 2011-10-26 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag