IP Library Granted Patent US 7,240,089
Granted Patent B2
US 7,240,089 · App. 10/013,757 · Granted Jul 3, 2007

Message queuing method, system, and program product with reusable pooling component

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 7,240,089
App. No.
10/013,757
Granted
Jul 3, 2007
Kind
B2
Abstract

A pooling mechanism to limit repeated connections in message queuing systems and to prevent excessive making and breaking of connections and associated overhead. The invention does this by providing a layer between a client and the message queuing system where connections are pooled. The pooling mechanism of the invention prevents a system from losing too many resources through the repeated making and breaking of excessive message queuing system connections.

Claims (21)

1. A message queuing system for communicating messages from a first application program to a second application program, the message queuing system comprising:

a client, wherein the first application program is running on the client;

a message queuing layer including a message queue manager operable to manage a first message queue associated with the first application program running on the client;

a message pooling layer between the client and the message queuing layer, the message pooling layer including:

a connection pool that contains a pool of reusable message queuing connections between the client and the message queuing layer, the pool of reusable message queuing connections being used for placing messages from the first application program in the first message queue, the message queuing connections between the client and the message queuing layer being kept open during periods of non-use for subsequent connections by the client;

a connection pool preserver running separate threads to maintain the pool of reusable message queuing connections contained in the connection pool; and

a queue manager that controls the separate running threads in the connection pool; and

a message queuing API (application programming interface) that transports the messages placed in the first message queue to a second message queue associated with the second application,

wherein a user of the first application specifies a queue name rather than a name of the second application in order to transport any given message from the first application to the second application.

2. A program product comprising computer readable code tangibly stored on a computer readable media, the computer readable code adapted to configure and control a computer when executing to establish:

a client, wherein a first application program is running on the client;

a message queuing layer including a message queue manager operable to manage a first message queue associated with the first application running on the client;

a message pooling layer between the client and the message queuing layer, the message pooling layer including:

a connection pool that contains a pool of reusable message queuing connections between the client and the message queuing layer, the pool of reusable message queuing connections being used for placing messages from the first application in the first message queue, the message queuing connections between the client and the message queuing layer being kept open during periods of non-use for subsequent connections by the client;

a connection pool preserver running separate threads to maintain the pool of reusable message queuing connections contained in the connection pool; and

a queue manager that controls the separate running threads in the connection pool; and

a message queuing API (application programming interface) that transports the messages placed in the first message queue to a second message queue associated with the second application,

wherein a user of the first application specifies a queue name rather than a name of the second application in order to transport any given message from the first application to the second application.

3. The program product of claim 2 , wherein the program product is encrypted and requires decryption to configure and control a computer.

4. The program product of claim 2 , wherein the program product is compressed and requires decompression to configure and control a computer.

5. The program product of claim 2 , wherein the program product is on computer readable distribution media and requires installation to configure and control a computer.

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE PCT NUMBER PCT/IB2016/058014 PREVIOUSLY RECORDED ON REEL 047690 FRAME 0640. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Jan 17, 2019
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 048089/0452 →
CHANGE OF NAME Recorded Dec 6, 2018
From: SNAPCHAT, INC.
To: SNAP INC.
Reel/Frame 047690/0640 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2016
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: SNAPCHAT, INC.
Reel/Frame 037573/0170 →