Data processing system and method of handling requests

US9767135B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9767135-B2
Application numberUS-44383007-A
CountryUS
Kind codeB2
Filing dateSep 13, 2007
Priority dateOct 5, 2006
Publication dateSep 19, 2017
Grant dateSep 19, 2017

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.

In a method of the invention, a plurality of distributed service requestors input service requests, and the service requests are replicated to at least two of a plurality of request processing components that are located within a communication path between the requestors and the data store. The method also includes preventing any request processing component that has not successfully claimed the service request from processing the service request A first request processing component can claim responsibility for the service request; and the first request processing component can process its replica of the claimed service request, including accessing data within the data store. The method also includes preventing any of the plurality of request processing components from entering a duplicate claim to responsibility for the service request.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for managing service requests, for use in a data processing environment that includes a data store and at least one service requestor, the method comprising the steps: replicating in a high availability database (HADB) that is distributed across a tightly integrated cluster of servers using redundant storage arrangements of a data processing environment including at least one computer system comprising at least one processor and fixed storage, a service request of a requestor to at least two of a plurality of request processing components, the plurality of request processing components each being located within a communication path between the requestor and the data store; claiming processing responsibility for the service request in a first request processing component by the first message dispatcher used to dispatch data access operations that result from executing business logic, the processing responsibility for the service request being claimed by inserting an entry in a claims table repository of service request identifiers identifying service requests for which a request processing component has claimed responsibility; detecting an attempt to insert a duplicate entry in the claims table by a different message dispatcher and in response to the attempt, determining that a matching claims table row is locked on behalf of the first message dispatcher and holding in memory the duplicate entry until the matching claims table row becomes unlocked; and processing by the first request processing component a corresponding replica of the claimed service request, including accessing data within the data store while concurrently preventing from processing the service request in the data processing environment, any other request processing component that has not claimed processing responsibility based upon entries in the claims table for the service request. 2. The method according to claim 1 , wherein the step of claiming processing responsibility comprises a step of entering an identifier for the service request in a repository in the data store, and wherein the method further comprises preventing any of the plurality of request processing components from entering a duplicate identifier for the service request in the repository. 3. The method according to claim 1 , wherein the data processing environment comprises a plurality of distributed service requestors and the data store comprises a database running on the HADB. 4. The method according to claim 1 , wherein the executing business logic comprises logic for requesting updates to data within the data store in response to a service request, and wherein the step of preventing any request processing component from processing the service request comprises a step of preventing execution of the respective request processing component's business logic. 5. The method according to claim 1 , wherein complete processing of the service request requires updating of data within the data store, and wherein the step of preventing processing of the service request comprises preventing a completed processing by preventing updating of data within the data store. 6. The method according to claim 5 , wherein the step of preventing processing of the service request comprises preventing a completed processing by preventing both read and write access to data within the data store. 7. The method according to claim 2 , wherein the request processing components are messaging systems, and wherein the replicated service requests are messages enqueued on input queues of at least two of the messaging systems, and wherein the step of entering an identifier is performed on behalf of a first messaging system in response to a successful retrieval of a message from an input queue of the first messaging system. 8. The method according to claim 2 , wherein the request processing components are messaging systems, and wherein the replicated service requests are messages enqueued on input queues of at least two of the messaging systems, and wherein the step of preventing any of the plurality of request processing components from entering a duplicate identifier comprises preventing a message retrieve operation from retrieving any messages for previously claimed service requests. 9. The method according to claim 2 , wherein the step of entering an identifier includes the step of locking said identifier until the step of processing the replica service request is complete, and wherein the step of preventing any request processing component entering a duplicate identifier in the repository includes examining said lock and deferring or rejecting an attempt to enter an identifier until the lock is released. 10. The method according to claim 9 , wherein identification of an unlocked identifier within the repository is recognized as a confirmation that the identified service request has been processed, and any request processing component attempting to enter a duplicate identifier in the repository responds to the unlocked identifier by deleting the respective request processing component's replica of the service request. 11. The method according to claim 1 , wherein the repository is a database table in which each table row includes a single service request identifier corresponding to a claim to responsibility for the identified service request. 12. The method according to claim 11 , wherein the data store is a database that includes said database table, and wherein an effect of successful processing of the replica of the claimed service request is an update to the data store, and wherein the successful processing includes a single phase commit of the steps of processing the request and updating the data store. 13. The method according to claim 1 , wherein the replicating of a requestor's service request comprises time-separating the replicas of the service request. 14. A data processing system comprising: a computer system comprising at least one processor an operating system and storage; a data store coupled to the computer system the data store comprising a high availability database (HADB) that is distributed across a tightly integrated cluster of servers using redundant storage arrangements; a plurality of request processing components comprising business logic, wherein each of the plurality of request processing components is located within a communication path between at least one service requestor and the data store; different message dispatchers used to dispatch data access operations that result from execution of the business logic of the request processing components; a replicator for replicating a service request of a service requestor to at least two of the plurality of request processing components; and a claims manager executing in the computer system comprising: program code comprising programmatic functions arranged for claiming processing responsibility for the service request on behalf of a first one of the message dispatchers by inserting an entry in a claims table repository of service request identifiers identifying service requests for which a request processing component has claimed processing responsibility for processing; program code comprising programmatic functions arranged for detecting an attempt to insert a duplicate entry in the claims table by a different one of the message dispatchers and in response to the attempt, determining that a matching claims table row is locked on behalf of the first one of the message dispatchers and holding in memory the duplicate entry until the matching claims table row becomes unlocked; and, program code comprising programmatic functions arra

Assignees

Inventors

Classifications

  • Physics · mapped topic

  • Physics · mapped topic

  • using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements · CPC title

  • Updating · CPC title

  • Locking methods, e.g. distributed locking or locking implementation details · 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 US9767135B2 cover?
In a method of the invention, a plurality of distributed service requestors input service requests, and the service requests are replicated to at least two of a plurality of request processing components that are located within a communication path between the requestors and the data store. The method also includes preventing any request processing component that has not successfully claimed th…
Who is the assignee on this patent?
Todd Stephen James, IBM
What technology area does this patent fall under?
Primary CPC classification G06F17/30362. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 19 2017 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).