IP Library › Granted Patent US 10,645,155
Granted Patent B2
US 10,645,155 · App. 14/886,627 · Granted May 5, 2020

Scalable parallel messaging process

Inventors: Wen-Chin Hsieh (Rolling Hills Estates, CA); Alan T. Yaung (San Jose, CA); Ang Yi (Beijing, CN)
Assignee: International Business Machines Corporation
H04L67/1029G06F9/542G06F9/546H04L67/1014H04L67/1023
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,645,155
App. No.
14/886,627
Granted
May 5, 2020
Kind
B2
Abstract

Methods for event processing in a content management system. In response to determining that an inter-dependence exists between two or more events in the content management system, a same group event key is assigned to each inter-dependent event. All events having the same group event key are distributed to a same event processing node on a consistent hashing ring.

Claims (13)

1. A computer-implemented method for inter-dependent event processing in a content management system, comprising:

receiving a first transactional event in the content management system, the first transactional event including a first set of attribute values, and one or more of: a first event identifier, a first event process status, and a first event message body;

receiving a second transactional event in the content management system, the second transactional event including a second set of attribute values, and one or more of: a second event identifier, a second event process status, and a second event message body;

in response to determining, by the processor and based on a set of pre-defined rules, that an inter-dependence exists between the first transactional event and the second transactional event, the inter-dependence requiring the first transactional event and the second transactional event to be processed in a sequential order in order to maintain data integrity of a transaction involving the first transactional event and the second transactional event, assigning, by the processor, a same event group key to the first transactional event and to the second transactional event, wherein the event group key is generated by a hashing function based on common attribute values in the first set of attribute values and the second set of attribute values;

distributing, by the processor, all transactional events having a same event group key to a same event processing node on a consistent hashing ring;

processing in parallel, by each event processing node on the consistent hashing ring, groups of inter-dependent transactional events; and

in response to detecting, by the processor, that a processing node is unavailable, removing, by the processor, the processing node from the consistent hashing ring and transferring, by the processor, transactional events assigned to the unavailable processing node from the unavailable processing node to a different processing node on the consistent hashing ring.

2. The method of claim 1 , further comprising:

storing, by the processor, the transactional events in an event table from which event processing nodes pull transactional events for processing.

3. The method of claim 1 , further comprising:

balancing, by the processor, the utilization of different processing nodes based on a workload for each processing node.

4. The method of claim 1 , further comprising:

in response to adding a processing node to the consistent hashing ring, remapping, by the processor, transactional events on processing nodes affected by the addition of the new processing node, while leaving processing nodes unaffected by the new processing node unchanged.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2015
From: HSIEH, WEN-CHIN; YAUNG, ALAN T.; YI, ANG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 036823/0396 →
Continuity (2)
Continuation 14641533 · Mar 9, 2015
Related Publication 20160269480A1 · Sep 15, 2016