DISTRIBUTED COMMUNICATIONS BETWEEN DATABASE INSTANCES
First Claim
1. A computer system for providing distributed database communications with lower overhead for database server developers and to allow multiple database servers to act upon received requests in a coordinated manner, the system comprising:
- a processor and memory configured to execute software instructions;
a communication stack component configured to provide a low-level stack for sending and receiving messages between distributed database instances;
a component registration component configured to provide a facility for registering communication components with the system, wherein the communication components perform communication operations between distributed database instances;
a namespace resolution component configured to receive messages from the communication stack component and determine a namespace associated with the message;
an implicit context component configured to implicitly identify software objects based on an arrival of messages and in accordance with the namespace associated with the message;
an expiration component configured to manage the lifetimes of implicitly identified software objects, wherein the expiration component destroys the objects when they are no longer in use;
a force close component configured to provide a force close operation to close a logical communication channel distributed across multiple database instances, wherein the channel does not have a centralized coordinator that manages communications over the channel; and
a statistics and monitoring component configured to track information related to communications.
2 Assignments
0 Petitions
Accused Products
Abstract
A database communication system is described herein that structures communications in a way that provides lower overhead tracking, statistics, semantics for closing a communication, and reliability. The system provides communication namespaces that organize communications by component, purpose, and instance, which allow database servers to implicitly create communication-related objects without central coordination. The database communication system enables group-based communications that streamline the development of complex distributed components and protocols by providing creation and management of communications namespaces, centralized cleanup support, and centralized monitoring. These features allow the system to be highly distributed, with no one single coordinator of operations, and still provide reliable communications. Thus, the system allows databases to be spread across multiple servers while keeping the burden on database server developers of managing communications between the servers low.
-
Citations
20 Claims
-
1. A computer system for providing distributed database communications with lower overhead for database server developers and to allow multiple database servers to act upon received requests in a coordinated manner, the system comprising:
-
a processor and memory configured to execute software instructions; a communication stack component configured to provide a low-level stack for sending and receiving messages between distributed database instances; a component registration component configured to provide a facility for registering communication components with the system, wherein the communication components perform communication operations between distributed database instances; a namespace resolution component configured to receive messages from the communication stack component and determine a namespace associated with the message; an implicit context component configured to implicitly identify software objects based on an arrival of messages and in accordance with the namespace associated with the message; an expiration component configured to manage the lifetimes of implicitly identified software objects, wherein the expiration component destroys the objects when they are no longer in use; a force close component configured to provide a force close operation to close a logical communication channel distributed across multiple database instances, wherein the channel does not have a centralized coordinator that manages communications over the channel; and a statistics and monitoring component configured to track information related to communications. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method for managing communications between database instances, the method comprising:
-
receiving from a message sender a message over a network, wherein the message is part of a conversation between database instances related to a distributed database operation; resolving a namespace associated with the message, wherein the namespace specifies a database component for handling the message and identifies context information associated with the message; identifying a local database component in accordance with the specified database component of the namespace; and delivering the received message to the local database component, wherein the local database component is configured to implicitly create objects specified by the namespace that do not already exist based on the namespace information in the received message, wherein the receiving, resolving, identifying, and delivering are performed by at least one processor. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A computer-readable storage medium comprising instructions for controlling a computer system to close communications distributed among multiple database servers, wherein the instructions, when executed, cause a processor to perform actions comprising:
-
receiving a request to close a logical channel, wherein the channel identifies communications associated with a particular database component, wherein the communications are between multiple database server; sending a close indication to each of the multiple database servers, wherein the close indication is configured to cause each database server to clean up context information related to the channel; receiving acknowledgements from each of the multiple database servers, wherein each acknowledgement indicates a response of the corresponding database server to the close indication; and after receiving the acknowledgements, responding to the received request to close the logical channel. - View Dependent Claims (17, 18, 19, 20)
-
Specification