Homogeneous Active/Active Systems for Cell Phone Messaging Delivery

Problem:

A European telecommunication service provider was required to use its short message service (SMS) and unified messaging service (UMS) to deliver short text messages to cell phone customers, and to notify them of their voicemail or email messages. The application needed to be distributed between two nodes—one in Milan, and one in Rome—in an active/active configuration.

HPE Shadowbase Solution: Homogeneous Active/Active Systems

Collision identification and resolution via relative replication are illustrated in Figure 1. The Rome and Milan databases are shown in an active/active, bi-directional configuration. If the Rome node experiences heavy traffic, update requests can be routed to the Milan node to balance processing. In this specific example, a cellular customer is connected to the Rome node, and a cell phone operator is connected to the Milan node, but, if a failure of one datacenter occurs, the cellular customer or cell phone operator’s requests can be routed to application on the other node.

In this example, the cellular customer purchases twenty minutes of credit, while at the same time and for the same customer account, the operator debits thirty minutes. If the new absolute values were replicated, a data collision would occur and the amount in the customer’s account would be incorrect on both systems. Instead, by replicating only the amount by which the account value was changed, the “delta”, “Credit: +20” and “Debit: -30”, when the delta is applied on each system, the value in the account remains correct on both systems. Thus, the figure shows how relative replication is used to resolve a data collision.

Homogeneous Active-Active Systems for Cell Phone Messaging Delivery

Figure 1 — Collision Identification and Resolution via Relative Replication

  • An incoming call or data change request is routed to either of the two active nodes for load-balancing purposes.
  • If a service specialist has updated account information when a call comes in for that account, the same data field may have been modified on both systems, causing a data collision.
  • Collisions are automatically identified by the data replication engine and resolved via relative replication. The replication engine identifies a collision and then uses the relative difference between the two updates to compute the final total.
  • One way collision resolution is properly completed is by replicating just the arithmetic operations rather than the absolute values of the field. (Relative replication works well when numeric fields collide.)
  • When text files collide, generally one value or the other is used (absolute replication). Each change is time-stamped by the application and in this example, the most recent change wins the collision.
  • If the collision is not automatically resolved, it is logged for manual resolution.

Contact us for more information on this HPE Shadowbase solution.


The above was adapted from the book: Breaking the Availability Barrier, Volume III: Active/Active Systems in Practice by Paul J. Holenstein, Dr. Bruce Holenstein, and Dr. Bill Highleyman.