IP Library Granted Patent US 9,319,449
Granted Patent B2
US 9,319,449 · App. 13/537,534 · Granted Apr 19, 2016

Method, apparatus, and computer program product for processing data requests

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 9,319,449
App. No.
13/537,534
Granted
Apr 19, 2016
Kind
B2
Abstract

A method for managing data requests is provided. Two asynchronous processes are provided for managing communication with a requestor and an agent via a gateway server. The method may include receiving a request and agent identifier from a requesting web application and generating a correlation identifier to associate with the request. The request and correlation identifier may be routed to a registered agent of a private data center. A response may be returned and routed to the requestor based on the correlation identifier. Corresponding apparatuses and computer program products are also provided.

Claims (57)

1. A method comprising:

receiving a request and an agent identifier from a requestor;

generating, by a processor, a correlation identifier associated with the request;

asynchronously adding the request, agent identifier, and associated correlation identifier as a request item to a request queue associated with the agent identifier, wherein the request queue is identified from a plurality of request queues, each associated with a respective agent;

retrieving the request item from the request queue and routing the request and associated correlation identifier to an agent associated with the agent identifier associated with the request queue from which the request item was retrieved;

receiving an agent response comprising an answer and the correlation identifier;

adding the agent response to a response queue;

retrieving the agent response from a response queue; and

transmitting the answer associated with the agent response to a requestor based on the correlation identifier associated with the agent response;

wherein the receiving the request, the generating of the correlation identifier, and the transmitting of the answer are performed asynchronously from the routing of the request and the receiving of the agent response.

2. A method according to claim 1 , wherein the agent response further comprises a security certificate identifying a registered agent.

3. A method according to claim 1 , further comprising transmitting an error response to a requestor in an instance when a response to a request is not received within a specified time limit.

4. A method according to claim 1 , further comprising transmitting an error response to a requestor in an instance when an agent identifier is not registered.

5. A method according to claim 1 , wherein

the request and associated correlation identifier is routed to the agent in the form of a hypertext transfer protocol secure response, in response to a polling hypertext transfer protocol secure request received from the agent; and

the agent response is received as a hypertext transfer protocol secure request.

6. A method according to claim 1 , wherein the request and associated correlation identifier is routed to the agent via a WebSocket connection and the agent response is received via the WebSocket connection.

7. A method according to claim 1 , wherein the agent identifier comprises at least one of a customer identifier, application name, or service name.

8. A computer program product comprising at least one non-transitory computer-readable medium having computer-readable program instructions stored therein, the computer-readable program instructions comprising instructions, which when performed by an apparatus, are configured to cause the apparatus to at least:

receive a request and an agent identifier from a requestor;

generate a correlation identifier associated with the request;

asynchronously add the request, agent identifier, and associated correlation identifier as a request item to a request queue associated with the agent identifier, wherein the request queue is identified from a plurality of request queues, each associated with a respective agent;

retrieve the request item from the request queue and route the request and associated correlation identifier to an agent associated with the agent identifier associated with the request queue from which the request item was retrieved;

receive an agent response comprising an answer and the correlation identifier;

add the agent response to a response queue;

retrieve the agent response from a response queue; and

transmit the answer associated with the agent response to a requestor based on the correlation identifier associated with the agent response; and

wherein the receiving the request, the generating of the correlation identifier, and the transmitting of the answer are performed asynchronously from the routing of the request and the receiving of the agent response.

9. A method comprising:

managing communication with a requestor asynchronously from managing communication with an agent,

wherein managing communication with the requestor comprises:

receiving a request and an agent identifier from a requestor;

generating, by a processor, a correlation identifier associated with the request;

adding the request, agent identifier, and associated correlation identifier as a request item to a request queue associated with the agent identifier, wherein the request queue is identified from a plurality of request queues, each associated with a respective agent;

asynchronously from the adding the request, determining that an agent response comprising the correlation identifier has been received in a response queue;

retrieving the agent response from the response queue; and

transmitting an answer associated with the agent response to the requestor based on the correlation identifier associated with the agent response; and

wherein managing communication with the agent comprises:

determining that a request comprising an agent identifier associated with the agent has been received in the request queue;

retrieving the request item from the request queue;

transmitting the request and the associated correlation identifier to the agent associated with the agent identifier;

receiving an agent response comprising an answer and the correlation identifier; and

adding the agent response to the response queue.

10. An apparatus for processing data requests, the apparatus comprising:

processing circuitry configured to manage communication with a requestor, said processing circuitry configured to cause the apparatus to at least:

receive a request and an agent identifier from a requestor;

generate a correlation identifier associated with the request;

add the request, agent identifier, and associated correlation identifier as a request item to a request queue associated with the agent identifier, wherein the request queue is identified from a plurality of request queues, each associated with a respective agent;

asynchronously from the adding the request, determine that an agent response comprising the correlation identifier has been received in a response queue;

retrieve the agent response from the response queue; and

transmit an answer associated with the agent response to the requestor based on the correlation identifier associated with the agent response; and

processing circuitry configured to manage communication with an agent, said processing circuitry configured to cause the apparatus to at least:

determine that a request comprising an agent identifier associated with the agent has been received in the request queue;

retrieve the request item from the request queue;

transmit the request and the associated correlation identifier to the agent associated with the agent identifier;

receive an agent response comprising an answer and the correlation identifier; and

add the agent response to the response queue.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 4, 2022
From: ALLSCRIPTS SOFTWARE, LLC
To: HARRIS DAWN HOLDINGS, INC
Reel/Frame 061933/0655 →
NOTICE OF PARTIAL TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded May 16, 2022
From: JPMORGAN CHASE BANK, N.A.
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 060381/0954 →
SECURITY INTEREST Recorded May 10, 2022
From: ALTERA DIGITAL HEALTH INC.
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 059913/0710 →
SECURITY INTEREST Recorded Nov 10, 2017
From: ALLSCRIPTS SOFTWARE, LLC
To: JPMORGAN CHASE BANK, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 044096/0852 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: MCKESSON CORPORATION
To: PF2 MCKESSON TECHNOLOGIES INC.
Reel/Frame 043904/0271 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2017
From: PF2 MCKESSON TECHNOLOGIES INC.
To: PF2 EIS LLC
Reel/Frame 043904/0405 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE, LLC
To: ALLSCRIPTS HEALTHCARE US, LP
Reel/Frame 043815/0939 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: PF2 EIS LLC
To: ALLSCRIPTS HEALTHCARE, LLC
Reel/Frame 043815/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 9, 2017
From: ALLSCRIPTS HEALTHCARE US, LP
To: ALLSCRIPTS SOFTWARE, LLC
Reel/Frame 043815/0967 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 12, 2017
From: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
To: MCKESSON CORPORATION
Reel/Frame 041355/0408 →
CHANGE OF NAME Recorded Jan 11, 2017
From: MCKESSON FINANCIAL HOLDINGS
To: MCKESSON FINANCIAL HOLDINGS UNLIMITED COMPANY
Reel/Frame 041329/0879 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2012
From: HARPSTER, TODD
To: MCKESSON FINANCIAL HOLDINGS
Reel/Frame 028469/0347 →