Providing application-layer functionality between one or more database clients and one or more database servers
Abstract
One embodiment includes a system providing application-layer functionality between one or more database clients and one or more database servers. The system includes one or more decoders residing at a decoding layer above a network layer. The decoders reside at a first network location between one or more database clients residing at one or more second network locations and one or more database servers residing at one or more third network locations. The decoders receive database messages communicated from the database clients and intended for the database servers and database messages communicated from the database servers and intended for the database clients, decode the database messages, and extract query-language statements from the database messages. The system also includes an application residing at an application layer above the decoding layer. The application resides at the first network location. The application receives and processes query-language statements extracted at the decoders.
Claims
exact text as granted — not AI-modified1 - 51 . (canceled)
52 . A computer readable medium having thereon stored a system for providing functionality between one or more database clients and one or more database servers, the system comprising:
one or more decoder modules residing at a decoding layer above a network layer, the decoders residing at a first network location between one or more database clients residing at one or more second network locations and one or more database servers residing at one or more third network locations, the decoders being operable to:
receive database messages communicated from the database clients and intended for the database servers and database messages communicated from the database servers and intended for the database clients;
decode the database messages at the decoding layer;
extract query-language statements from the database messages at the decoding layer;
a caching module residing at an application layer above the decoding layer, the caching application residing at the first network location, the caching application being operable to:
receive query-language statements extracted at the decoders comprising queries or query results corresponding to the queries;
record the queries and the query results corresponding to the queries in a cache residing at the first network location.
53 . The computer readable medium of claim 52 , wherein each decoder module is operable to decode particular database messages of particular database implementation.
54 . The computer readable medium of claim 53 , wherein the decoder modules comprise at least: a first decoder module operable to decode Distributed Relational Database Architecture (DRDA) database messages;
a second decoder module operable to decode Tabular Data Stream (TDS) database messages; and a third decoder module operable to decode OracleNet database messages.
55 . The computer readable medium of claim 53 , wherein the system further comprises:
a monitoring module operable to receive query-language statements extracted at the decoder modules and record observations on the database messages, where the observations are based at least in part on the query-language statements extracted at the decoder modules and the monitoring module is operable to communicate one or more observations to a computing system at a fourth network location, wherein the computer system maintains a web cache and is operable to modify the web cache based upon the communicated observations.
56 . The computer readable medium of claim 55 , wherein the monitoring module is further operable to display recorded observations based at least in part on the query-language statements extracted at the decoder modules using a graphical user interface (GUI) comprising at least one or more of:
a statistical display of recorded observations; a historical display of recorded observations; and a tabular display of recorded observations.
57 . The computer readable medium of claim 52 , wherein the caching module is further operable to communicate query results corresponding to the queries from the cache to the clients.
58 . The computer readable medium of claim 57 , wherein the caching module is further operable to:
receive query-language statements extracted at the decoder modules comprising write messages; and invalidate records of queries and query results corresponding to the queries according to the write messages.
59 . The computer readable medium of claim 52 , further comprising a database message interface module residing at the network layer and at the first network location, the database message interface module being operable to:
receive frames of database messages from the clients and the database servers and write the frames to memory at the first network location for processing at the decoder modules; and communicate frames of database messages from memory at the first network location to the clients and the database servers without assembling the frames.
60 . The computer readable medium of claim 52 , further comprising a normalization module residing at a query-language layer above the decoding layer, the normalization module being operable to receive query-language statements extracted at the decoder modules and, before an application receives the query-language statements, normalize the query-language statements for processing at the application
61 . The computer readable medium of claim 60 , further comprising a parser module residing at a query-language layer above the decoding layer, the parser module being operable to receive query-language statements extracted at the decoder modules and, before the application receives the query-language statements, parse the query-language statements for processing at the application.
62 . A database appliance for providing functionality between one or more database clients and one or more database servers, comprising:
a processor; an interface coupled to one or more data database clients residing at one or more second network locations and one or more database servers residing at one or more third network locations; a computer readable memory, including instructions executable by the processor to implement:
one or more decoder modules residing at a decoding layer above a network layer, the decoders residing at a first network location between one or more database clients residing at one or more second network locations and one or more database servers residing at one or more third network locations, the decoders being operable to:
receive database messages communicated from the database clients and intended for the database servers and database messages communicated from the database servers and intended for the database clients;
decode the database messages at the decoding layer;
extract query-language statements from the database messages at the decoding layer; and
a caching module residing at an application layer above the decoding layer, the caching application residing at the first network location, the caching application being operable to:
receive query-language statements extracted at the decoders comprising queries or query results corresponding to the queries;
record the queries and the query results corresponding to the queries in a cache residing at the first network location.
63 . The database appliance of claim 62 , wherein each decoder module is operable to decode particular database messages of particular database implementation.
64 . The database appliance of claim 63 , wherein the decoders comprise at least: a first decoder module operable to decode Distributed Relational Database Architecture (DRDA) database messages;
a second decoder module operable to decode Tabular Data Stream (TDS) database messages; and a third decoder module operable to decode OracleNet database messages.
65 . The database appliance of claim 63 , wherein the instructions are executable by the processor to implement:
a monitoring module operable to receive query-language statements extracted at the decoder modules and record observations on the database messages, where the observations are based at least in part on the query-language statements extracted at the decoder modules and the monitoring module is operable to communicate one or more observations to a computing system at a fourth network location, wherein the computer system maintains a web cache and is operable to modify the web cache based upon the communicated observations.
66 . The database appliance of claim 65 , wherein the monitoring module is further operable to display recorded observations based at least in part on the query-language statements extracted at the decoder modules using a graphical user interface (GUI) comprising at least one or more of:
a statistical display of recorded observations; a historical display of recorded observations; and a tabular display of recorded observations.
67 . The database appliance of claim 62 , wherein the caching module is further operable to communicate query results corresponding to the queries from the cache to the clients.
68 . The database appliance of claim 67 , wherein the caching module is further operable to:
receive query-language statements extracted at the decoder modules comprising write messages; and invalidate records of queries and query results corresponding to the queries according to the write messages.
69 . The database appliance of claim 62 , wherein the instructions are executable by the processor to implement:
a database message interface module residing at the network layer and at the first network location, the database message interface module being operable to: receive frames of database messages from the clients and the database servers and write the frames to memory at the first network location for processing at the decoder modules; and communicate frames of database messages from memory at the first network location to the clients and the database servers without assembling the frames.
70 . The database appliance of claim 62 , further comprising a normalization module residing at a query-language layer above the decoding layer, the normalization module being operable to receive query-language statements extracted at the decoder modules and, before an application receives the query-language statements, normalize the query-language statements for processing at the application
71 . The database appliance of claim 70 , wherein the instructions are executable by the processor to implement: a parser module residing at a query-language layer above the decoding layer, the parser module being operable to receive query-language statements extracted at the decoder modules and, before the application receives the query-language statements, parse the query-language statements for processing at the application.Join the waitlist — get patent alerts
Track US2009172123A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.