IP Library Granted Patent US 8,732,320
Granted Patent B2
US 8,732,320 · App. 13/298,232 · Granted May 20, 2014

Fast content-based routing

Inventors: Dan Leshchiner (Sunnyvale, CA); Balbhim Mahurka (Santa Clara, CA); Russell Selph (Palo Alto, CA)
Assignee: TIBCO Software Inc.
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,732,320
App. No.
13/298,232
Filed
Nov 16, 2011
Granted
May 20, 2014
Kind
B2
Art Unit
2452
USPC
709/228
Abstract

Systems and methods for fast, efficient content-based routing that allow a router to perform true content-based routing without having to de-serialize the data and apply a full content-based filter by determining the exact set of consumers to forward the data onto based on packet headers. A system for fast content-based routing may receive a subscription from a receiver machine and may assign a unique ID associated with the subscription in a router table. The system may then place a ID associated with a particular subscription in a message header if the message corresponds to the subscription. The system may then analyze the router table to determine one or more receiver machines associated with the ID in the header of the message. The system may then send, from a sender machine to one or more receiver machines, one or more messages containing the ID in the header of the message.

Claims (49)

1. A method for efficient content-based routing, the method comprising:

receiving, at a sender machine, a subscription of requested content requested by a receiver machine;

assigning a unique subscription identification (ID) identifying the requested content and associated with the subscription in a router table;

prior to sending a message, placing, by the sender machine, the subscription ID in a header of the message if the message corresponds to the requested content;

analyzing the router table to determine one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message; and

sending, from the sender machine, one or more messages to the one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message.

2. The method of claim 1 , wherein the one or more messages are sent over a network of one or more routers operable to analyze the subscription ID in the header of the one or more messages.

3. The method of claim 1 , wherein the router table comprises one or more entries comprising:

the subscription;

the subscription ID associated with the subscription; and

a receiver machine ID associated with the receiver machine subscribing to the subscription.

4. The method of claim 1 , further comprising:

not sending, from the sender machine, the one or more messages to the one or more receiver machines not associated with the subscription ID in the header of the message.

5. The method of claim 1 , wherein the subscription ID is an integer.

6. The method of claim 1 , wherein the subscription comprises one or more fields and one or more values, wherein the one or more fields are associated with a category of content, and wherein the one or more values are associated with a particular type of content.

7. The method of claim 1 , wherein the subscription is for a particular sports magazine and the subscription ID associated with the subscription is 77.

8. The method of claim 1 , wherein the router table is located at one of the one or more middleware servers.

9. The method of claim 1 , wherein the sender machine communicates with the receiver machine through a peer to peer (P2P) network.

10. The method of claim 1 , wherein the router table is located at the sender machine.

11. The method of claim 1 , wherein the sender machine is a middleware server.

12. The method of claim 1 , wherein the receiver machine is a middleware server.

13. A system for efficient content-based routing, the system comprising:

a sender machine configured to:

receive a subscription of requested content requested by a receiver machine;

assign a unique subscription identification (ID) identifying the requested content and associated with the subscription in a router table;

prior to sending a message, place the subscription ID in a header of the message if the message corresponds to the requested content;

analyze the router table to determine one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message; and

send one or more messages to the one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message.

14. The system of claim 13 , wherein the one or more messages are sent over a network of one or more routers operable to analyze the subscription ID in the header of the one or more messages.

15. The system of claim 13 , wherein the router table comprises one or more entries comprising:

the subscription;

the subscription ID associated with the subscription; and

a receiver machine ID associated with the receiver machine subscribing to the subscription.

16. The system of claim 13 , further comprising:

not sending, from the sender machine, the one or more messages to the one or more receiver machines not associated with the subscription ID in the header of the message.

17. The system of claim 13 , wherein the subscription ID is an integer.

18. The system of claim 13 , wherein the subscription comprises one or more fields and one or more values, wherein the one or more fields are associated with a category of content, and wherein the one or more values are associated with a particular type of content.

19. The system of claim 13 , wherein the subscription is for a particular sports magazine and the subscription ID associated with the subscription is 77.

20. The system of claim 13 , wherein the router table is located at one of the one or more middleware servers.

21. The system of claim 13 , wherein the sender machine communicates with the receiver machine through a peer to peer (P2P) network.

22. The system of claim 13 , wherein the router table is located at the sender machine.

23. The system of claim 13 , wherein the sender machine is a middleware server.

24. The system of claim 13 , wherein the receiver machine is a middleware server.

25. Logic for deploying an application, the logic being embodied in a non-transistory computer readable medium and when executed operable to:

receive a subscription of requested content requested by a receiver machine;

assign a unique subscription identification (ID) identifying the requested content and associated with the subscription in a router table;

prior to sending a message, place the subscription ID associated with a particular subscription in a header of the message if the message corresponds to the requested content;

analyze the router table to determine one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message; and

send one or more messages to the one or more receiver machines associated with the requested content identified by the subscription ID in the header of the message.

Assignments (15)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
CHANGE OF NAME Recorded Feb 7, 2023
From: TIBCO SOFTWARE INC.
To: CLOUD SOFTWARE GROUP, INC.
Reel/Frame 062714/0634 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
RELEASE REEL 052115 / FRAME 0318 Recorded Oct 3, 2022
From: KKR LOAN ADMINISTRATION SERVICES LLC
To: TIBCO SOFTWARE INC.
Reel/Frame 061588/0511 →
RELEASE (REEL 034536 / FRAME 0438) Recorded Sep 30, 2022
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 061574/0963 →
RELEASE (REEL 054275 / FRAME 0975) Recorded May 7, 2021
From: JPMORGAN CHASE BANK, N.A.
To: TIBCO SOFTWARE INC.
Reel/Frame 056176/0398 →
SECURITY AGREEMENT Recorded Nov 2, 2020
From: TIBCO SOFTWARE INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 054275/0975 →
SECURITY AGREEMENT Recorded Mar 6, 2020
From: TIBCO SOFTWARE INC.
To: KKR LOAN ADMINISTRATION SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 052115/0318 →
SECURITY INTEREST Recorded Dec 5, 2014
From: TIBCO SOFTWARE INC.; TIBCO KABIRA LLC; NETRICS.COM LLC
To: JPMORGAN CHASE BANK., N.A., AS COLLATERAL AGENT
Reel/Frame 034536/0438 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2014
From: LESHCHINER, DAN; MAHURKAR, BALBHIM; SELPH, RUSSELL
To: TIBCO SOFTWARE INC.
Reel/Frame 034112/0599 →
Continuity (3)
Provisional Application 61538645 · Sep 23, 2011
Provisional Application 61414327 · Nov 16, 2010
Related Publication 20120265899A1 · Oct 18, 2012