Methods, systems and software for identifying and managing database work
Abstract
Various embodiments of the invention provide solutions to allow more sophisticated management of the relationship between a database and its clients (which can be, inter alia, end users, business applications, etc.). Merely by way of example, some embodiments can facilitate the management of work requests in a database, as well as the management of the quality-of-service in a database system. In some embodiments, an identification handle may be assigned to a database work request. A database management application can use the identification handle to identify the work request, as well, perhaps, as any related work requests. The identification handle may also identify the database (and/or an instance thereof) and/or a clustered database node, and the identification handle may be transmitted to a mid-tier application, e.g., to notify the mid-tier about the processing of the work request, changes in quality-of service, server availability, etc.
Claims
exact text as granted — not AI-modified1 . A method of identifying a database work request, the method comprising:
creating with a computer a database work request; assigning an identification handle to the database work request; and identifying the database work request using the identification handle.
2 . A method of identifying a database work request as recited in claim 1 , wherein the database work request is created by a client, a mid-tier application, or a relational database management system.
3 . A method of identifying a database work request, the method comprising:
assigning an identification handle to a database work request, wherein the identification handle comprises sufficient information to identify an entity associated with the database work request; receiving at a database management application the work request together with the identification handle assigned to the work request, wherein the database management application manages a database to which the work request corresponds; and generating at least one hash value associated with the identification handle assigned to the work request.
4 . A method of identifying a database work request as recited in claim 3 , the method further comprising using the hash value to identify the database work request.
5 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a plurality of identifiers, wherein generating at least one hash value comprises generating a plurality of hash values, and wherein each of the hash values is associated with one of the plurality of identifiers.
6 . A method of identifying a database work request as recited in claim 5 , wherein the plurality of identifiers comprises at least two identifiers selected from the group consisting of a client identifier, a service identifier, a service/module/action identifier, a unique database name, a cluster node name and an instance name.
7 . A method of identifying a database work request as recited in claim 3 , wherein the entity associated with the database work request is a database client application.
8 . A method of identifying a database work request as recited in claim 3 , wherein the entity associated with the database work request is a web browser.
9 . A method of identifying a database work request as recited in claim 8 , wherein the identification handle corresponds to a cookie stored by the web browser.
10 . A method of identifying a database work request as recited in claim 3 , wherein the entity associated with the database work request is a mid-tier application.
11 . A method of identifying a database work request as recited in claim 3 , wherein the entity associated with the database work request is a database service.
12 . A method of identifying a database work request as recited in claim 3 , wherein the entity associated with the database work request is combination of a database service, a database module and a database action.
13 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a client identifier.
14 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a username for a mid-tier application.
15 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a value selected from a group consisting of a unique name of the database to which the work request corresponds, an instance name for an instance of the database to which the work request corresponds, and a node name for a clustered node on which the database to which the work request corresponds resides.
16 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a service identifier.
17 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle comprises a service identifier, a module identifier, and an action identifier.
18 . A method of identifying a database work request as recited in claim 3 , wherein storing the hash value associated with the identification handle comprises storing the hash value in the database to which the work request corresponds.
19 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle is configured to persist throughout the life of a database call associated with the work request.
20 . A method of identifying a database work request as recited in claim 3 , wherein the identification handle is configured to persist throughout the life of a database session associated with the work request.
21 . A method of identifying a database work request as recited in claim 3 , wherein the database work request is a first database work request, the identification handle is a first identification handle comprising a first identifier, and the hash value is a first hash value corresponding to the first identifier, the method further comprising:
receiving at a database management application a second database work request together with a second identification handle assigned to the second database work request, wherein the second identification handle comprises a second identifier; generating a second hash value associated with the second identification handle and corresponding to the second identifier; and comparing the second hash value with the first hash value.
22 . A method of identifying a database work request as recited in claim 21 , further comprising:
associating the second database work request with the first database work request, based on a comparison of the second hash value with the first hash value.
23 . A method of identifying a database work request as recited in claim 22 , the method further comprising:
measuring the work for a database session, wherein the database session comprises the first work request and the second work request.
24 . A method of identifying a database work request as recited in claim 3 , wherein the work request is associated with a first database session, the method further comprising:
establishing a second database session; and passing the identification handle from the first database session to the second database session.
25 . A method of identifying a database work request as recited in claim 24 , wherein the first database session and the second database session are parallel database sessions.
26 . A method of identifying a database work request as recited in claim 24 , wherein the first database session and the second database session have a hierarchical relationship.
27 . A method of identifying a database work request as recited in claim 3 , wherein the work request is initiated by a mid-tier application, and wherein the method further comprises:
associating the identification handle with a set of information; and transmitting the set of information, together with the identification handle, from the database for reception by the mid-tier application.
28 . A method of identifying a database work request as recited in claim 27 , wherein the set of information pertains to a quality-of-service related to the database work request.
29 . A method of identifying a database work request as recited in claim 27 , wherein the set of information pertains to an availability of a database server associated with the database work request.
30 . A method of identifying a database work request as recited in claim 27 , wherein the identification handle comprises an identifier corresponding to a database name, the method further comprising:
the mid-tier application identifying, with the identifier, the database to which the work request corresponds.
31 . A method of correlating a plurality of database work requests, the method comprising, for each of a plurality of database work requests, repeating the steps of:
assigning an identification handle to a database work request, wherein the identification handle comprises sufficient information to identify an entity associated with the database work request; receiving at a database management application the work request together with the identification handle assigned to the work request, wherein the database management application manages a database to which the work request corresponds; and generating a hash value associated with the identification handle assigned to the work request.
32 . A method of correlating a plurality of database work requests as recited in claim 31 , the method further comprising:
tracing a plurality of work requests associated with a particular identification handle.
33 . A method of correlating a plurality of database work requests as recited in claim 31 , the method further comprising:
collecting an aggregate statistic about a plurality of work requests associated with a particular identification handle.
34 . A method of correlating a plurality of database work requests as recited in claim 33 , the method further comprising:
calculating a metric for the plurality of database work requests, based on the collected aggregate statistic.
35 . A method of correlating a plurality of database work requests as recited in claim 34 , the method further comprising:
using the calculated metric to control a quality-of-service for the plurality of database work requests.
36 . A method of correlating a plurality of database work requests as recited in claim 33 , wherein the aggregate statistic relates to CPU utilization.
37 . A method of correlating a plurality of database work requests as recited in claim 33 , wherein the aggregate statistic relates to input/output processes.
38 . A method of identifying a database server associated with a work request, the method comprising:
creating at a client a database work request; receiving the database work request at a database server; assigning an identification handle to the database work request, wherein the identification handle comprises information sufficient to identify the database server; and returning the identification handle to the client, such that the client can identify, using the identification handle, the database server that received the database work request.
39 . A computer system for identifying a database work request, the computer system comprising:
a processor; and a computer readable medium in communication with the processor, the computer readable medium comprising a database management application executable by the processor, a database managed by the database management application, and instructions executable by the processor to:
receive at the database management application a work request together with an identification handle assigned to the work request, wherein the work request corresponds to the database managed by the database management application, and wherein the identification handle comprises sufficient information to identify an entity associated with the database work request; and
generate at least one hash value associated with the identification handle assigned to the work request.
40 . A computer system for identifying a database work request as recited in claim 39 , wherein the identification handle comprises a plurality of identifiers, wherein generating at least one hash value comprises generating a plurality of hash values, and wherein each of the hash values is associated with one of the plurality of identifiers.
41 . A computer system for identifying a database work request as recited in claim 40 , wherein the plurality of identifiers comprises at least two identifiers selected from the group consisting of a client identifier, a service identifier, a service/module/action identifier, a unique database name, a cluster node name and an instance name.
42 . A computer system for identifying a database work request, the computer system comprising:
a first computer, comprising:
a processor; and
a computer readable medium, the computer readable medium comprising instructions executable by the processor to assign an identification handle to a database work request, wherein the identification handle comprises sufficient information to identify an entity associated with the database work request; and
a second computer, comprising:
a processor; and
a computer readable medium in communication with the processor, the computer readable medium comprising a database management application executable by the processor, a database managed by the database management application, and instructions executable by the processor to:
receive at the database management application the work request together with the identification handle assigned to the work request, wherein the work request corresponds to the database managed by the database management application; and
generate a hash value associated with the identification handle assigned to the work request.
43 . A computer system for identifying a database work request as recited in claim 42 , wherein the first computer is a client computer.
44 . A computer system for identifying a database work request as recited in claim 43 , wherein the first computer comprises a web browser configured to serve as a database client.
45 . A computer system for identifying a database work request as recited in claim 43 , wherein the first computer comprises a client application configured to interact with the database.
46 . A computer system for identifying a database work request as recited in claim 43 , the computer system further comprising:
a third computer comprising a mid-tier application configured to interact with the database.
47 . A computer system for identifying a database work request, the computer system comprising:
a processor; and a computer readable medium in communication with the processor, the computer readable medium comprising a database management application executable by the processor, a database managed by the database management application, and instructions executable by the processor to: receive a database work request at a database; assign an identification handle to the database work request; and identify the database work request using the identification handle.
48 . A computer program stored on a computer-readable storage medium for identifying a database work request, the computer program comprising instructions executable by a computer to:
receive at a database management application a work request together with an identification handle assigned to the work request, wherein the work request corresponds to a database managed by the database management application, and wherein the identification handle comprises sufficient information to identify an entity associated with the database work request; and generate a hash value associated with the identification handle assigned to the work request.
49 . A computer program as recited in claim 48 , wherein the computer program is part of a relational database management application.
50 . A computer program as recited in claim 48 , wherein the computer program is configured to interoperate with a relational database management application.Join the waitlist — get patent alerts
Track US2006064400A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.