Scalable parallel messaging process

US10652322B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10652322-B2
Application numberUS-201514641533-A
CountryUS
Kind codeB2
Filing dateMar 9, 2015
Priority dateMar 9, 2015
Publication dateMay 12, 2020
Grant dateMay 12, 2020

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Methods and apparatus, including computer program products, implementing and using techniques 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.

First claim

Opening claim text (preview).

The invention claimed is: 1. A computer program product for inter-dependent event message processing in a content management system, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions being executable executed by a processor to cause the processor to perform a method 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 computer program product of claim 1 , wherein the method further comprises: storing, by the processor, the transactional events in an event table from which event processing nodes pull transactional events for processing. 3. The computer program product of claim 1 , wherein the method further comprises: balancing, by the processor, the utilization of different processing nodes based on a workload for each processing node. 4. The computer program product of claim 1 , wherein the method further comprises: 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 not affected by the new processing node unchanged. 5. A system for event message processing in a content management system, comprising: a processor; and a memory containing program instructions being executed by the processor to cause the processor to perform a method 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.

Assignees

Inventors

Classifications

  • Event management; Broadcasting; Multicasting; Notifications · CPC title

  • Message passing systems or structures, e.g. queues · CPC title

  • using data related to the state of servers by a load balancer · CPC title

  • based on a hash applied to IP addresses or costs · CPC title

  • based on the content of a request · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10652322B2 cover?
Methods and apparatus, including computer program products, implementing and using techniques 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 …
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/1029. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue May 12 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).