Push replication for use with a distributed data grid
First Claim
1. A system for providing push replication in distributed computing environments, said system comprising:
- a source cluster of computer servers that manage a set of data and operations on said data in a distributed computing environment, said source cluster including a cache storing a set of data entries and an application residing on at least one server in said source cluster, said application executing one or more insert, update or delete operations on said data entries in the cache, wherein the source cluster maintains a connection to a destination cluster over a network;
a publishing cache store residing in the source cluster, wherein the publishing cache store determines that an update has been performed on a data entry in the cache and provides the update to the push replication provider, wherein the push replication provider places the update on a topic;
a publishing service residing on the source cluster, wherein said publishing service subscribes to said topic, reads the update and transmits the update to the destination cluster; and
a push replication provider that asynchronously pushes the update on the data entries from the source cluster to the destination cluster, said update being caused by the application executing the one or more insert, update or delete operations in the cache, wherein the push replication provider includes a pluggable internal transport to send the update to the destination cluster, wherein said internal transport can be switched.
1 Assignment
0 Petitions
Accused Products
Abstract
Push replication techniques are described for use in an in-memory data grid. When applications on a cluster perform insert, update or delete operations in the cache, a push replication provider asynchronously pushes updates from the source cluster to one or more remote destination clusters. The push replication provider includes a pluggable internal transport to send the updates to the destination cluster. This pluggable transport can be switched to employ a different communication service or protocol. A publishing transformer can chain multiple filters and apply filters on a stream of updates from source cluster to the destination cluster. A batch publisher can be used to receive batches multiple updates and replicate those batch to the destination cluster. XML based configuration can be provided to configure the push replication techniques on a cluster. A number of cluster topologies can be utilized, including active/passive, active/active, multi-site active/passive, multi-site active/active and centralized replication arrangement.
-
Citations
20 Claims
-
1. A system for providing push replication in distributed computing environments, said system comprising:
-
a source cluster of computer servers that manage a set of data and operations on said data in a distributed computing environment, said source cluster including a cache storing a set of data entries and an application residing on at least one server in said source cluster, said application executing one or more insert, update or delete operations on said data entries in the cache, wherein the source cluster maintains a connection to a destination cluster over a network; a publishing cache store residing in the source cluster, wherein the publishing cache store determines that an update has been performed on a data entry in the cache and provides the update to the push replication provider, wherein the push replication provider places the update on a topic; a publishing service residing on the source cluster, wherein said publishing service subscribes to said topic, reads the update and transmits the update to the destination cluster; and a push replication provider that asynchronously pushes the update on the data entries from the source cluster to the destination cluster, said update being caused by the application executing the one or more insert, update or delete operations in the cache, wherein the push replication provider includes a pluggable internal transport to send the update to the destination cluster, wherein said internal transport can be switched. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for providing push replication in distributed computing environments, said method comprising:
-
storing a set of data entries in a cache located on a source cluster of computer servers that manage a set of data and operations on said data in a distributed computing environment, wherein said source cluster further includes an application residing on at least one server in said source cluster, said application executing one or more insert, update or delete operations on said data entries in the cache; establishing a connection to a destination cluster of computer servers over a network; detecting that an update has been performed on a data entry in the cache, wherein the update is caused by the one or more insert, update or delete operations on said data entries; providing the update to a push replication provider, wherein the push replication provider places the update on a topic; subscribing to the topic by a publishing service residing on the source cluster, wherein said publishing service reads the update; applying one or more filters to the update; and asynchronously pushing, via a pluggable internal transport on the push replication provider, the update from the source cluster to the destination cluster when said update passes the one or more filters, wherein the pluggable internal transport can be switched. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A non-transitory computer readable storage medium storing a set of instructions executable by one or more processors to perform a sequence of steps comprising:
-
storing a set of data entries in a cache located on a source cluster of computer servers that manage a set of data and operations on said data in a distributed computing environment, wherein said source cluster further includes an application residing on at least one server in said source cluster, said application executing one or more insert, update or delete operations on said data entries in the cache; establishing a connection to a destination cluster of computer servers over a network; detecting that an update has been performed on a data entry in the cache, wherein the update is caused by the one or more insert, update or delete operations on said data entries; providing the update to a push replication provider, wherein the push replication provider places the update on a topic; subscribing to the topic by a publishing service residing on the source cluster, wherein said publishing service reads the update; applying one or more filters to the update; and asynchronously pushing, via a pluggable internal transport on the push replication provider, the update from the source cluster to the destination cluster when said update passes the one or more filters, wherein the pluggable internal transport can be switched. - View Dependent Claims (19, 20)
-
Specification