Patent US5999943A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5999943A Expired / Lapsed US ⏱️ 0.0 years remaining

Lob locators

Assignee: Oracle International Corp
•
Filing: 1997-10-31
•
Granted: 1999-12-07
•
Expires: 2017-10-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and system for performing operations on large objects (LOBs) in a database system are provided. A server receives from a client a command that identifies a row of a table. The table includes a LOB column that contains LOBs. The server responds to the command by sending the client a first set of data from the row. The first set of data includes a locator for a LOB that belongs in the LOB column of the row. The locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB. The server receives from the client a request to perform an operation on the LOB. The request passes the locator for the LOB to a routine provided by the server. The server performs the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.

Inventors

  • 👤 Anil Nori
  • 👤 Susan Kotsovolos

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-04 10:38
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/24; G06F16/245; G06F16/2455; G06F16/24553; G06F16/24562; G06F16/22; G06F16/2228; G06F16/2246; Y; Y10; Y10S; Y10S707/00; Y10S707/99941; Y10S707/99944; Y10S707/99945; Y10S707/99948

Claims Analysis

Total Claims: 38
Claim 1
Independent Claim 182 words
A method for performing operations on large objects (LOBs) in a database system that includes a server and one or more clients, the method comprising the steps of: the server receiving from a client of said one or more clients a command that identifies a row of a table, wherein the table includes a LOB column that contains LOBs; the server responding to the command by sending the client a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; the server receiving from the client a request to perform an operation on the LOB, wherein said operation does not modify said LOB, said request passing the locator for the LOB to a routine provided by the server; and the server performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 2
Independent Claim 182 words
A method for performing operations on large objects (LOBs) in a database system that includes a server and one or more clients, the method comprising the steps of: the server receiving from a client of said one or more clients a command that identifies a row of a table, wherein the table includes a LOB column that contains LOBs; the server responding to the command by sending the client a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; the server receiving from the client a request to perform an operation on the LOB, wherein said operation does not modify said LOB, said request passing the locator for the LOB to a routine provided by the server; and the server performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 3
Dependent Claim 47 words
The method of claim 1 wherein the step of sending the client a first set of data is performed by sending the client a first set of data that does not include any LOB data from the LOB that belongs in the LOB column of the row.
Claim 4
Dependent Claim 37 words
The method of claim 1 wherein the step of sending the client the first set of data is performed without the server storing state information that indicates that the client was sent the first set of data.
Claim 5
Dependent Claim 76 words
The method of claim 3 further comprising the steps of: the server determining whether the client has permission to perform the operation on the LOB in response to the client requesting the server to perform the operation on the LOB; and the server storing state information that indicates whether the client has permission to perform the operation on the LOB in response to determining that the client has permission to perform the operation on the LOB.
Claim 6
Dependent Claim 60 words
The method of claim 1 wherein: the step of receiving from a client of said one or more clients a command that specifies a row of a table includes receiving from the client a command that specifies a row in a view that includes data from the table; and the locator for the LOB includes data that identifies the view.
Claim 7
Dependent Claim 40 words
The method of claim 5 further comprising the step of the server determining whether the client has permission to perform the operation by reading from the locator the data that identifies the view and inspecting permissions associated with the view.
Claim 8
Dependent Claim 52 words
The method of claim 1 wherein: the LOB was selected from a view; and before sending said first set of data to said client, the server performs the steps of: generating a check value based on one or more values stored in said locator; and storing the check value in the locator.
Claim 9
Dependent Claim 70 words
The method of claim 7 wherein, after receiving the locator from the client, the server performs the steps of: reading said one or more values and said check value from said locator; determining whether said check value is a valid check value for said one or more values; and said server performing said operation only if said check value is a valid check value for said one or more values.
Claim 10
Dependent Claim 43 words
The method of claim 7 wherein the step of generating a check value based on one or more values includes generating a check value based on a view identifier that identifies a view through which said client is attempting to access said LOB.
Claim 11
Dependent Claim 22 words
The method of claim 1 wherein: the table resides in a database; and the server stores the LOB outside of the database.
Claim 12
Dependent Claim 30 words
The method of claim 1 wherein: the table resides in a database; the server stores the LOB within the database, but outside of the table within which the LOB belongs.
Claim 13
Dependent Claim 30 words
The method of claim 1 wherein: the table resides in a database; the server stores the LOB within the database and inside of the table within which the LOB belongs.
Claim 14
Dependent Claim 54 words
The method of claim 1 wherein: the table resides in a database; the LOB is stored at a particular location outside the database; the server establishes a mapping between an alias and the particular location; and the server stores in the locator the alias before sending said first set of data to said client.
Claim 15
Dependent Claim 213 words
A computer-readable medium carrying one or more sequences of one or more instructions for performing operations on large objects (LOBs) in a database system that includes a server and one or more clients, the one or more sequences of one or more instructions including instructions which, when executed by the server, cause the server to perform the steps of: the server receiving from a client of said one or more clients a command that identifies a row of a table, wherein the table includes a LOB column that contains LOBs; the server responding to the command by sending the client a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; the server receiving a request from the client to perform an operation on the LOB, wherein the operation does not modify the LOB, the request passing the locator for the LOB to a routine provided by the server; and the server performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 16
Dependent Claim 213 words
A computer-readable medium carrying one or more sequences of one or more instructions for performing operations on large objects (LOBs) in a database system that includes a server and one or more clients, the one or more sequences of one or more instructions including instructions which, when executed by the server, cause the server to perform the steps of: the server receiving from a client of said one or more clients a command that identifies a row of a table, wherein the table includes a LOB column that contains LOBs; the server responding to the command by sending the client a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; the server receiving a request from the client to perform an operation on the LOB, wherein the operation does not modify the LOB, the request passing the locator for the LOB to a routine provided by the server; and the server performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 17
Dependent Claim 48 words
The computer-readable medium of claim 14 wherein the step of sending the client a first set of data is performed by sending the client a first set of data that does not include any LOB data from the LOB that belongs in the LOB column of the row.
Claim 18
Dependent Claim 38 words
The computer-readable medium of claim 14 wherein the step of sending the client the first set of data is performed without the server storing state information that indicates that the client was sent the first set of data.
Claim 19
Dependent Claim 97 words
The computer-readable medium of claim 16 further comprising one or more sequences of one or more instructions which, when executed by the server, cause the server to perform the steps of: the server determining whether the client has permission to perform the operation on the LOB in response to the client requesting the server to perform the operation on the LOB; and the server storing state information that indicates whether the client has permission to perform the operation on the LOB in response to determining that the client has permission to perform the operation on the LOB.
Claim 20
Dependent Claim 61 words
The computer-readable medium of claim 14 wherein: the step of receiving from a client of said one or more clients a command that specifies a row of a table includes receiving from the client a command that specifies a row in a view that includes data from the table; and the locator for the LOB includes data that identifies the view.
Claim 21
Dependent Claim 59 words
The computer-readable medium of claim 18 further comprising one or more sequences of one or more instructions which, when executed by the server, cause the server to perform the step of determining whether the client has permission to perform the operation by reading from the locator the data that identifies the view and inspecting permissions associated with the view.
Claim 22
Dependent Claim 71 words
The computer-readable medium of claim 14 further comprising one or more sequences of one or more instructions which, when executed by the server, cause the server to perform the following steps before sending said first set of data to said client if the LOB was selected from a view: generating a check value based on one or more values stored in said locator; and storing the check value in the locator.
Claim 23
Dependent Claim 97 words
The computer-readable medium of claim 20 further comprising one or more sequences of one or more instructions which, when executed by the server, cause the server to perform the following steps after receiving the locator from the client if the LOB was selected from a view: reading said one or more values and said check value from said locator; determining whether said check value is a valid check value for said one or more values; and said server performing said operation only if said check value is a valid check value for said one or more values.
Claim 24
Dependent Claim 214 words
A database system comprising: one or more computer systems coupled to allow communication between processes executing on said one or more computer systems; a client executing on at least one of said one or more computer systems; a server executing on at least one of said one or more computer systems; said client being configured to: send a command that identifies a row in a table to a server, wherein the table includes a LOB column that contains LOBs; receive from the server a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; and request the server to perform an operation on the LOB by passing the locator for the LOB to a routine provided by the server; and said server being configured to: receive from said client said command; responding to the command by sending the client said first set of data; and if the operation does not modify the LOB, performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 25
Dependent Claim 214 words
A database system comprising: one or more computer systems coupled to allow communication between processes executing on said one or more computer systems; a client executing on at least one of said one or more computer systems; a server executing on at least one of said one or more computer systems; said client being configured to: send a command that identifies a row in a table to a server, wherein the table includes a LOB column that contains LOBs; receive from the server a first set of data that includes a locator for a LOB that belongs in the LOB column of the row; wherein said locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; and request the server to perform an operation on the LOB by passing the locator for the LOB to a routine provided by the server; and said server being configured to: receive from said client said command; responding to the command by sending the client said first set of data; and if the operation does not modify the LOB, performing the operation on the particular version of the LOB that is identified in the snapshot information contained in the locator passed to the server by the client.
Claim 26
Dependent Claim 24 words
The database system of claim 22 wherein, if the operation modifies the LOB, performing the operation on a most recent version of the LOB.
Claim 27
Dependent Claim 39 words
The database system of claim 22 wherein the server is configured to send the client the first set of data that does not include any LOB data from the LOB that belongs in the LOB column of the row.
Claim 28
Dependent Claim 38 words
The database system of claim 22 wherein the server is configured to send the client the first set of data without the server storing state information that indicates that the client was sent the first set of data.
Claim 29
Dependent Claim 150 words
A database server configured to provide to a client, in response to a command from the client that identifies a row of a table having a large object (LOB) column that contains LOBs, a first set of data that includes a locator for a LOB that belongs in the LOB column of the row, wherein the locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; receive a request from the client to perform an operation on the LOB, wherein the request includes the locator containing the snapshot information that identifies the particular version of the LOB; determine whether the operation will modify the LOB; and if the operation will not modify the LOB, then cause the operation to be performed on the particular version of the LOB that is identified in the snapshot information contained in the locator.
Claim 30
Dependent Claim 150 words
A database server configured to provide to a client, in response to a command from the client that identifies a row of a table having a large object (LOB) column that contains LOBs, a first set of data that includes a locator for a LOB that belongs in the LOB column of the row, wherein the locator includes a LOB identifier that uniquely identifies the LOB and snapshot information that identifies a particular version of the LOB; receive a request from the client to perform an operation on the LOB, wherein the request includes the locator containing the snapshot information that identifies the particular version of the LOB; determine whether the operation will modify the LOB; and if the operation will not modify the LOB, then cause the operation to be performed on the particular version of the LOB that is identified in the snapshot information contained in the locator.
Claim 31
Dependent Claim 35 words
The database server as recited in claim 26 wherein the database server is further configured to if the operation will modify the LOB, then perform the operation on a most recent version of the LOB.
Claim 32
Dependent Claim 44 words
The database server as recited in claim 26, wherein the database server is further configured to provide to the client a first set of data that does not include any LOB data from the LOB that belongs in the LOB column of the row.
Claim 33
Dependent Claim 43 words
The database server as recited in claim 26, wherein the database server is further configured to provide the first set of data to the client without the server storing state information that indicates that the client was sent the first set of data.
Claim 34
Dependent Claim 47 words
The database server as recited in claim 26, wherein the database server is further configured to determine whether the client has permission to perform the operation on the LOB, and store state information that indicates whether the client has permission to perform the operation on the LOB.
Claim 35
Dependent Claim 49 words
The database server as recited in claim 26, wherein: the command from the client specifies a row in a view that includes data from the table, and the database server is further configured provide to the client a locator for the LOB that includes data that identifies the view.
Claim 36
Dependent Claim 44 words
The database server as recited in claim 31, wherein the database server is further configured to determine whether the client has permission to perform the operation by reading from the locator the data that identifies the view and inspecting permissions associated with the view.
Claim 37
Dependent Claim 56 words
The database server as recited in claim 26, wherein the database server is further configured to, before sending said first set of data to the client, if the LOB was selected from a view generate a check value based on one or more values stored in said locator, and store the check value in the locator.
Claim 38
Dependent Claim 80 words
The database server as recited in claim 33, wherein the database server is further configured to, after receiving the locator from the client, if the LOB was selected from a view: read the one or more values and the check value from the locator, determine whether the check value is a valid check value for the one or more values, and perform the operation only if the check value is a valid check value for the one or more values.

References Cited (Backward Citations)

US5109487A Cited
US5678046A Cited
US5566329A Cited
US5732402A Cited
US5742810A Cited
US5857203A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag