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

Generic SQL query agent

Assignee: International Business Machines Corp
•
Filing: 1996-07-23
•
Granted: 1999-03-09
•
Expires: 2016-07-23
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method, apparatus, and article of manufacture for providing access to information stored in a database management system. The method and apparatus uses an intelligent generic query agent to operate with a wide variety of remote users, and to allow implementation of a wide variety of optimization schemes. The method comprises receiving a request from the remote user at the agent, transforming the request into database management system commands optimized in accordance with user-specified optimization criteria, transmitting the database management system commands to the database management system, receiving the database management system command result from the database management system in the agent, transforming the database management system command result into a response message, and transmitting the response message to from the agent to the remote user.

Inventors

  • 👤 Josephine M. Cheng
  • 👤 HongHai Shen
  • 👤 Steven John Watts

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 10:41
CPC Classifications
H; H04; H04L; H04L67/00; H04L67/01; H04L67/02; G; G06; G06F; G06F16/00; G06F16/10; H04L9/00; H04L9/40; H04L69/00; H04L69/30; H04L69/32; H04L69/322; H04L69/329

Claims Analysis

Total Claims: 66
Claim 1
Independent Claim 188 words
A method of providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, comprising the steps of: receiving a request from the client computer at an agent executed by an agent computer; interpreting the request at the agent; assigning a dynamically determined lifetime to a token; communicating the token to the client computer; determining whether to close the communications channel; when it is determined that the communications channel is to be closed, closing the communications channel; transforming the interpreted request into database management system commands at the agent; transmitting the database management system commands to the database management system; receiving a result from the database management system at the agent in response to the database management system commands; transforming the result into a response message at the agent; when the communications channel has been closed, re-opening the communications channel; communicating the token from the client to the server; verifying that the lifetime of the token has not expired; and transmitting the response message from the agent to the client computer.
Claim 2
Independent Claim 188 words
A method of providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, comprising the steps of: receiving a request from the client computer at an agent executed by an agent computer; interpreting the request at the agent; assigning a dynamically determined lifetime to a token; communicating the token to the client computer; determining whether to close the communications channel; when it is determined that the communications channel is to be closed, closing the communications channel; transforming the interpreted request into database management system commands at the agent; transmitting the database management system commands to the database management system; receiving a result from the database management system at the agent in response to the database management system commands; transforming the result into a response message at the agent; when the communications channel has been closed, re-opening the communications channel; communicating the token from the client to the server; verifying that the lifetime of the token has not expired; and transmitting the response message from the agent to the client computer.
Claim 3
Dependent Claim 33 words
The method of claim 1, wherein the step of transforming the interpreted request comprises the step of processing the request to optimize the database management system commands according to a first optimization criteria.
Claim 4
Dependent Claim 24 words
The method of claim 2, wherein the database management system commands are optimized to reduce message traffic between the client computer and the agent.
Claim 5
Dependent Claim 13 words
The method of claim 2 wherein the request comprises the first optimization criteria.
Claim 6
Dependent Claim 15 words
The method of claim 2 wherein the first optimization criteria is stored in the agent.
Claim 7
Dependent Claim 24 words
The method of claim 2 further comprising the step of processing the result to optimize the response message according to a second optimization criteria.
Claim 8
Dependent Claim 22 words
The method of claim 6, wherein the response message is optimized to reduce message traffic between the client computer and the agent.
Claim 9
Dependent Claim 13 words
The method of claim 6, wherein the request comprises the second optimization criteria.
Claim 10
Dependent Claim 15 words
The method of claim 6, wherein the second optimization criteria is stored in the agent.
Claim 11
Dependent Claim 33 words
The method of claim 1, wherein the step of transforming the request into database management commands further comprises the step of translating the request into a format adapted to the database management system.
Claim 12
Dependent Claim 34 words
The method of claim 1, wherein the step of transforming the result into a response message comprises the step of converting the result into a format specified by the remote user at the agent.
Claim 13
Dependent Claim 82 words
The method of claim 1, wherein the request comprises an access token, and the method further comprising the steps of: receiving an access request message from the client computer at the agent; transmitting the token from the agent to the client computer when the remote user is authorized to access the database management system; receiving the token from the client computer at the agent; and processing the token to verify that the remote user is authorized to access the database management system.
Claim 14
Dependent Claim 20 words
The method of claim 12, wherein the token is transmitted from the client computer to the agent with the request.
Claim 15
Dependent Claim 16 words
The method of claim 1, wherein the lifetime of the token is determined from the request.
Claim 16
Dependent Claim 73 words
The method of claim 1, wherein the result comprises a first result and a second result, and the response message comprises a first response message and a second response message, and the method further comprises the steps of: caching the first result in the agent; and optimizing the second response message in the agent by including only information contained in the second result, but not present in the cache of the first result.
Claim 17
Dependent Claim 28 words
The method of claim 1 wherein the request and response message are communicated between the client computer and the agent via a daemon invoked at the client computer.
Claim 18
Dependent Claim 21 words
The method of claim 16 further comprising the step of periodically querying the daemon to determine if any requests are present.
Claim 19
Dependent Claim 75 words
The method of claim 1 wherein the client computer further comprises a first message queue associated with a trigger and a query browser to display the response message, the agent further comprises a second message queue, and the step of transmitting the response message to from the agent to the user comprises the steps of sending a message to the client computer to activate the trigger to invoke the query browser at the client computer.
Claim 20
Dependent Claim 21 words
The method of claim 1, wherein the lifetime of the token is determined from a history of transactions with the client.
Claim 21
Dependent Claim 19 words
The method of claim 1, wherein the lifetime of the token is determined from characteristics of the communications channel.
Claim 22
Dependent Claim 21 words
The method of claim 1, further comprising the step of selecting an optimal channel to use to re-open the communications channel.
Claim 23
Independent Claim 280 words
An apparatus for providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, comprising: an agent computer having a processor, a memory and a data storage device; means, performed by the agent computer, for receiving a request from the client computer at the agent computer; means, performed by the agent computer, for interpreting the request; means, performed by the agent computer, for assigning a dynamically determined lifetime to a token; means, performed by the agent computer, for communicating the token to the client computer; means, performed by the agent computer, for determining whether to close the communications channel; means, performed by the agent computer, for closing the communications channel, when it is determined that the communications channel is to be closed; means, performed by the agent computer, for transforming the interpreted request into database management system commands at the agent; means, performed by the agent computer, for transmitting the database management system commands to the database management system; means, performed by the agent computer, for receiving a result from the database management system in response to the database management system commands; means, performed by the agent computer, for transforming the result into a response message; means, performed by the agent computer, for re-opening the communications channel, when the communications channel has been closed; means, performed by the agent computer, for communicating the token from the client to the server; means, performed by the agent computer, for verifying that the lifetime of the token has not expired; and means, performed by the agent computer, for transmitting the response message to the client computer.
Claim 24
Independent Claim 280 words
An apparatus for providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, comprising: an agent computer having a processor, a memory and a data storage device; means, performed by the agent computer, for receiving a request from the client computer at the agent computer; means, performed by the agent computer, for interpreting the request; means, performed by the agent computer, for assigning a dynamically determined lifetime to a token; means, performed by the agent computer, for communicating the token to the client computer; means, performed by the agent computer, for determining whether to close the communications channel; means, performed by the agent computer, for closing the communications channel, when it is determined that the communications channel is to be closed; means, performed by the agent computer, for transforming the interpreted request into database management system commands at the agent; means, performed by the agent computer, for transmitting the database management system commands to the database management system; means, performed by the agent computer, for receiving a result from the database management system in response to the database management system commands; means, performed by the agent computer, for transforming the result into a response message; means, performed by the agent computer, for re-opening the communications channel, when the communications channel has been closed; means, performed by the agent computer, for communicating the token from the client to the server; means, performed by the agent computer, for verifying that the lifetime of the token has not expired; and means, performed by the agent computer, for transmitting the response message to the client computer.
Claim 25
Dependent Claim 25 words
The apparatus of claim 22, further comprising means for processing the request to optimize the database management system commands according to a first optimization criteria.
Claim 26
Dependent Claim 26 words
The apparatus of claim 23 further comprising means for optimizing the database management system commands to reduce message traffic between the client computer and the agent.
Claim 27
Dependent Claim 13 words
The apparatus of claim 23, wherein the request comprises the first optimization criteria.
Claim 28
Dependent Claim 14 words
The apparatus of claim 23, wherein first optimization criteria is stored in the agent.
Claim 29
Dependent Claim 23 words
The apparatus of claim 23, further comprising means for processing the result to optimize the response message according to a second optimization criteria.
Claim 30
Dependent Claim 24 words
The apparatus of claim 27, further comprising means for optimizing the response message to reduce message traffic between the client computer and the agent.
Claim 31
Dependent Claim 13 words
The apparatus of claim 27, wherein the request comprises the second optimization criteria.
Claim 32
Dependent Claim 17 words
The apparatus of claim 27, further comprising means for storing the second optimization criteria in the agent.
Claim 33
Dependent Claim 32 words
The apparatus of claim 22, wherein the means for transforming the request into database management commands further comprises means for translating the request into a format adapted to the database management system.
Claim 34
Dependent Claim 34 words
The apparatus of claim 22, wherein the means for transforming the result into a response message further comprises means for converting the result into a format specified by the remote user at the agent.
Claim 35
Dependent Claim 81 words
The apparatus of claim 22, wherein the request comprises an access token, and the apparatus further comprises means for: receiving an access request message from the client computer at the agent; transmitting the token from the agent to the client computer when the remote user is authorized to access the database management system; receiving the token from the client computer at the agent; and processing the token to verify that the remote user is authorized to access the database management system.
Claim 36
Dependent Claim 23 words
The apparatus of claim 33, further comprising the means for transmitting the token from the client computer to the agent with the request.
Claim 37
Dependent Claim 19 words
The apparatus of claim 22, further comprising the means for determining the lifetime of the token from the request.
Claim 38
Dependent Claim 73 words
The apparatus of claim 22, wherein the result comprises a first result and a second result, and the response message comprises a first response message and a second response message, and the apparatus further comprises the means for: caching the first result in the agent; and optimizing the second response message in the agent by including only information contained in the second result, but not present in the cache of the first result.
Claim 39
Dependent Claim 28 words
The apparatus of claim 22, further comprising a daemon invoked at the client computer to communicate the request and response message between the client computer and the agent.
Claim 40
Dependent Claim 20 words
The apparatus of claim 37, further comprising means for periodically querying the daemon to determine if any requests are present.
Claim 41
Dependent Claim 75 words
The apparatus of claim 22, wherein the client computer further comprises a first message queue associated with a trigger and a query browser to display the response message, the agent further comprises a second message queue, and the means for transmitting the response message from the agent to the user further comprises a means for sending a message to the client computer to activate the trigger to invoke the query browser at the client computer.
Claim 42
Dependent Claim 23 words
The apparatus of claim 22, further comprising means for determining the lifetime of the token from a history of transactions with the client.
Claim 43
Dependent Claim 21 words
The apparatus of claim 22, further comprising means for determining the lifetime of the token from characteristics of the communications channel.
Claim 44
Dependent Claim 20 words
The apparatus of claim 22, further comprising means for selecting an optimal channel to use to re-open the communications channel.
Claim 45
Dependent Claim 225 words
A program storage device, readable by an agent computer having a processor, a memory, and a data storage device, tangibly embodying one or more programs of instructions executable by the agent computer to perform method steps of providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, the method comprising the steps of: receiving a request from the client computer at an agent executed by the agent computer; interpreting the request from the client computer; assigning a dynamically determined lifetime to a token; communicating the token to the client computer; determining whether to close the communications channel; when it is determined that the communications channel is to be closed, closing the communications channel; transforming the interpreted request into database management system commands at the agent; transmitting the database management system commands to the database management system; receiving a result from the database management system at the agent in response to the database management system commands; transforming the result into a response message at the agent; when the communications channel has been closed, re-opening the communications channel; communicating the token from the client to the server; verifying that the lifetime of the token has not expired; and transmitting the response message from the agent to the client computer.
Claim 46
Dependent Claim 225 words
A program storage device, readable by an agent computer having a processor, a memory, and a data storage device, tangibly embodying one or more programs of instructions executable by the agent computer to perform method steps of providing access to data stored at a database management system implemented by a server computer to a remote user operating a client computer, connected by a communications channel, the method comprising the steps of: receiving a request from the client computer at an agent executed by the agent computer; interpreting the request from the client computer; assigning a dynamically determined lifetime to a token; communicating the token to the client computer; determining whether to close the communications channel; when it is determined that the communications channel is to be closed, closing the communications channel; transforming the interpreted request into database management system commands at the agent; transmitting the database management system commands to the database management system; receiving a result from the database management system at the agent in response to the database management system commands; transforming the result into a response message at the agent; when the communications channel has been closed, re-opening the communications channel; communicating the token from the client to the server; verifying that the lifetime of the token has not expired; and transmitting the response message from the agent to the client computer.
Claim 47
Dependent Claim 32 words
The program storage device of claim 43, wherein the method steps further comprise the step of processing the request to optimize the database management system commands according to a first optimization criteria.
Claim 48
Dependent Claim 33 words
The program storage device of claim 44, wherein the method steps further comprise the step of optimizing the database management system commands to reduce message traffic between the client computer and the agent.
Claim 49
Dependent Claim 15 words
The program storage device of claim 44, wherein the request comprises the first optimization criteria.
Claim 50
Dependent Claim 16 words
The program storage device of claim 44, wherein first optimization criteria is stored in the agent.
Claim 51
Dependent Claim 30 words
The program storage device of claim 44, wherein the method steps further comprise the step of processing the result to optimize the response message according to a second optimization criteria.
Claim 52
Dependent Claim 31 words
The program storage device of claim 48, wherein the method steps further comprise the step of optimizing the response message to reduce message traffic between the client computer and the agent.
Claim 53
Dependent Claim 15 words
The program storage device of claim 48, wherein the request comprises the second optimization criteria.
Claim 54
Dependent Claim 17 words
The program storage device of claim 48, wherein the second optimization criteria is stored in the agent.
Claim 55
Dependent Claim 30 words
The program storage device of claim 43, wherein the method steps further comprise the step of converting the result into a format specified by the remote user at the agent.
Claim 56
Dependent Claim 28 words
The program storage device of claim 43, wherein the method steps further comprise the step of translating the request into a format adapted to the database management system.
Claim 57
Dependent Claim 82 words
The program storage device of claim 43, wherein the request comprises an access token, and the method steps further comprise: receiving an access request message from the client computer at the agent; transmitting the token from the agent to the client computer when the remote user is authorized to access the database management system; receiving the token from the client computer at the agent; and processing the token to verify that the remote user is authorized to access the database management system.
Claim 58
Dependent Claim 26 words
The program storage device of claim 54, wherein the method steps further comprise transmitting the token from the client computer to the agent with the request.
Claim 59
Dependent Claim 22 words
The program storage device of claim 43, wherein the method steps further comprise determining the lifetime of the token from the request.
Claim 60
Dependent Claim 73 words
The program storage device of claim 43, wherein the result comprises a first result and a second result, and the response message comprises a first response message and a second response message, and the method steps further comprise: caching the first result in the agent; and optimizing the second response message in the agent by including only information contained in the second result, but not present in the cache of the first result.
Claim 61
Dependent Claim 34 words
The program storage device of claim 43, wherein the method steps further comprise invoking a daemon at the client computer to communicate the request and response message between the client computer and the agent.
Claim 62
Dependent Claim 24 words
The program storage device of claim 58, wherein the method steps further comprise periodically querying the daemon to determine if any requests are present.
Claim 63
Dependent Claim 64 words
The program storage device of claim 43, wherein the client computer further comprises a first message queue associated with a trigger and a query browser to display the response message, the agent further comprises a second message queue, and the method steps further comprise sending a message to the client computer to activate the trigger to invoke the query browser at the client computer.
Claim 64
Dependent Claim 27 words
The program storage device of claim 43, wherein the method steps further comprise determining the lifetime of the token from a history of transactions with the client.
Claim 65
Dependent Claim 25 words
The program storage device of claim 43, wherein the method steps further comprise determining the lifetime of the token from characteristics of the communications channel.
Claim 66
Dependent Claim 24 words
The program storage device of claim 43, wherein the method steps further comprise selecting an optimal channel to use to re-open the communications channel.

References Cited (Backward Citations)

US4422145A Cited
US4774655A Cited
US4714992A Cited
US4714996A Cited
US4751635A Cited
US5317727A Cited
US5454105A Cited
US5542046A Cited
US5689697A Cited
US5627979A Cited
US5742905A Cited
US5701451A Cited
US5774461A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag