IP Library Granted Patent US 8,065,395
Granted Patent B2
US 8,065,395 · App. 12/612,807 · Granted Nov 22, 2011

System and method for queuing to a cloud via a queuing proxy

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 8,065,395
App. No.
12/612,807
Granted
Nov 22, 2011
Kind
B2
Abstract

System and method for servicing queue requests via a proxy are described. In one embodiment, the system includes an enterprise queuing proxy (“EQP”) disposed within an enterprise computing environment and having an enterprise queue associated therewith; a cloud queuing proxy (“CQP”) disposed within a cloud computing environment, the CQP connected to a plurality of cloud queues each having associated therewith at least one queue service process listening on the cloud queue for queue requests to service; and a secure communications mechanism for interconnecting the EQP and the CQP. Upon receipt of a queue request from an enterprise service, the EQP evaluates the request against policy to determine whether to service it locally or remotely and, if the request is to be serviced remotely, forwards the request to the CQP via the secure communications mechanism. Upon receipt of the request, the CQP evaluates the queue request against policy to select one of the cloud queues to which to route the queue request for servicing.

Claims (38)

1. A system for servicing queue requests via a proxy, the system comprising:

at least one hardware processor;

an enterprise queuing proxy (“EQP”) disposed within an enterprise computing environment and having an enterprise queue associated therewith;

a cloud queuing proxy (“CQP”) disposed within a cloud computing environment, the CQP connected to a plurality of cloud queues each having associated therewith at least one queue service process listening on the cloud queue for queue requests to service; and

a secure communications mechanism for interconnecting the EQP and the CQP such that communications between the EQP and the CQP occur in a secure and transparent manner;

wherein responsive to receipt by the EQP of a queue request from an enterprise service, the EQP evaluates the queue request against policy accessed by the EQP to determine whether to service the queue request locally or remotely;

wherein responsive to a determination to service the queue request remotely, the EQP sends the queue request to the CQP via the secure communications mechanism;

wherein responsive to receipt of the queue request by the CQP, the CQP evaluates the queue request against policy accessed by the CQP to select one of the cloud queues to which to route the queue request for servicing and forwards the queue request to the selected cloud queue.

2. The system of claim 1 wherein, subsequent to the forwarding of the queue request to the selected cloud queue, one of the queue service processes listening on the selected cloud queue services the request to generate a response.

3. The system of claim 2 wherein the response is returned to the enterprise process via the CQP, the secure communications mechanism, the EQP, and the enterprise queue.

4. The system of claim 3 wherein the enterprise process listens on the enterprise queue for return of the response from the cloud computing environment.

5. The system of claim 1 where the secure communications mechanism comprises a secure bridge for enforcing security and performing authentication of the queue request.

6. The system of claim 1 wherein the EQP accesses a policy engine for maintaining and enforcing policy for determining whether to service the queue request locally or remotely.

7. The system of claim 1 wherein the CQP accesses a policy engine for maintaining and enforcing policy related to selecting one of the cloud queues to which to route the queue request for servicing.

8. The system of claim 1 wherein the policy accessed by the EQP comprises at least one of system workload, system performance, time, and date.

9. A method for using a proxy to service queue requests, the method comprising:

receiving by a first queuing proxy (“first QP”) a queue request from a process executing in a first computing environment;

subsequent to receipt of the queue request, determining by the first QP whether to process the queue request locally within the first computing environment or remotely within a second computing environment based on policy of the first computing environment;

responsive to a determination to process the queue request remotely, forwarding the queue request to a second queuing proxy (“second QP”) of the second computing environment via a secure communications mechanism, the secure communications mechanism for enforcing security and performing authentication of the queue request;

subsequent to receipt of the queue request by the second QP, selecting by the second QP one of a plurality of queues to which to route the queue request for processing based on policy accessed by the second QP; and

forwarding, by a hardware processor, the queue request to the selected queue;

wherein the first computing environment comprises one of an enterprise computing environment and a cloud computing environment and the second computing environment comprises the other one of a cloud computing environment and an enterprise computing environment.

10. The method of claim 9 further comprising:

subsequent to the forwarding the queue request to the selected queue, processing the queue request by a queue service process listening on the selected queue to generate a response; and

returning the response to the process via the CQP, the secure communications mechanism, and the EQP.

11. The method of claim 9 wherein the secure communications mechanism comprises a secure bridge for enforcing security and performing authentication of the queue request.

12. The method of claim 9 wherein the policy of the enterprise computing environment concerns at least one of system workload, system performance, time, and date.

13. A system for queuing processing requests via proxy, the system comprising:

at least one hardware processor;

an first queuing proxy (“first QP”) disposed within a first computing environment comprising one of an enterprise computing environment and a cloud computing environment;

a second queuing proxy (“second QP”) disposed within a second computing environment comprising the other one of an enterprise computing environment and a cloud computing environment, the second QP connected to a plurality of queues each having associated therewith at least one queue service process listening on the queue for queue requests to service; and

a secure communications mechanism for interconnecting the first and second QPs such that communications between the first and second QPs occur in a secure and transparent manner;

wherein responsive to receipt by the first QP of a queue request from a process executing in the first computing environment, the first QP evaluates the queue request against policy accessed by the first QP to determine whether to service the queue request locally or remotely;

wherein responsive to a determination to service the queue request remotely, the first QP sends the queue request to the second QP via the secure communications mechanism;

wherein upon receipt of the queue request, the second QP evaluates the queue request against policy accessed by the second QP to select one of the queues for servicing the queue request and forwards the queue request to the selected queue.

14. The system of claim 13 wherein, subsequent to the forwarding of the queue request to the selected queue, one of the queue service processes listening on the selected queue services the request to generate a response, wherein the response is returned to the requesting process via the first QP, the secure communications mechanism, and the second QP.

15. The system of claim 13 where the secure communications mechanism comprises a secure bridge for enforcing security and performing authentication of the queue request.

16. The system of claim 13 wherein the first QP accesses a policy engine for maintaining and enforcing policy for determining whether to service the queue request locally or remotely, the policy comprising at least one of system workload, system performance, time, and date and wherein the second QP accesses a policy engine for maintaining and enforcing policy related to selecting one of the queues to which to route the queue request for servicing.

Assignments (16)
RELEASE OF SECURITY INTEREST REEL/FRAME 035656/0251 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.)
Reel/Frame 062623/0009 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
CORRECTIVE ASSIGNMENT TO CORRECT THE TO CORRECT TYPO IN APPLICATION NUMBER 10708121 WHICH SHOULD BE 10708021 PREVIOUSLY RECORDED ON REEL 042388 FRAME 0386. ASSIGNOR(S) HEREBY CONFIRMS THE NOTICE OF SUCCESSION OF AGENCY. Recorded Jul 26, 2018
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 048793/0832 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
NOTICE OF SUCCESSION OF AGENCY Recorded May 2, 2017
From: BANK OF AMERICA, N.A., AS PRIOR AGENT
To: JPMORGAN CHASE BANK, N.A., AS SUCCESSOR AGENT
Reel/Frame 042388/0386 →
CHANGE OF NAME Recorded Sep 13, 2016
From: NOVELL, INC.
To: MICRO FOCUS SOFTWARE INC.
Reel/Frame 040020/0703 →
SECURITY INTEREST Recorded May 13, 2015
From: MICRO FOCUS (US), INC.; BORLAND SOFTWARE CORPORATION; ATTACHMATE CORPORATION; NETIQ CORPORATION; NOVELL, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 035656/0251 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
RELEASE OF SECURITY IN PATENTS SECOND LIEN (RELEASES RF 026275/0018 AND 027290/0983) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0154 →
RELEASE OF SECURITY INTEREST IN PATENTS FIRST LIEN (RELEASES RF 026270/0001 AND 027289/0727) Recorded May 22, 2012
From: CREDIT SUISSE AG, AS COLLATERAL AGENT
To: NOVELL, INC.
Reel/Frame 028252/0077 →
GRANT OF PATENT SECURITY INTEREST (SECOND LIEN) Recorded May 13, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026275/0018 →
GRANT OF PATENT SECURITY INTEREST Recorded May 12, 2011
From: NOVELL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 026270/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 6, 2009
From: BURCH, LLOYD LEON; MCCLAIN, CAROLYN BENNION; CARTER, STEPHEN R.
To: NOVELL, INC.
Reel/Frame 023480/0417 →