IP Library Granted Patent US 7,349,980
Granted Patent B1
US 7,349,980 · App. 10/350,644 · Granted Mar 25, 2008

Network publish/subscribe system incorporating Web services network routing architecture

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,349,980
App. No.
10/350,644
Granted
Mar 25, 2008
Kind
B1
Abstract

Methods, apparatuses, and systems facilitating the deployment, configuration and maintenance of publication/subscription systems within the context of Web service networks. In one embodiment, the present invention provides Web services network system that presents a topic as a routing entity and includes functionality facilitating topic creation, subscription and publication in a manner consistent with the basic modes of Web services development and deployment, allowing such tasks to be approached in an intuitive, cost-effective and manageable manner. In a preferred embodiment, the publication/subscription system functionality according to the present invention is integrated into a distributed Web services network architecture as more fully described below. The Web services network architecture and integrated publication/subscription system according to the present invention can be implemented across any suitable computer network, including a local area network, an intranet or the Internet.

Claims (40)

1. A system enabling deployment of a publish/subscribe system within the context of a Web services network, comprising:

a parent node operably connected to a computer network,

the parent node maintaining a first routing table stored in a persistent data store, the first routing table including routing entries allowing for the routing of service action requests and responses across the computer network; wherein at least one routing entry in the first routing table corresponds to a topic routing entity and includes information allowing for publication of messages to the topic and the dissemination of the messages to at least one subscriber associated with the topic; and

at least one routing node maintaining a local routing table including routing entries allowing for the routing of service action requests and responses across the computer network; wherein at least one routing entry in the local routing table corresponds to a topic routing entity and includes information allowing for publication of messages to the topic and the dissemination of the messages to at least one subscriber associated with the topic;

the routing node operably connected to the computer network to route service action requests and service action responses across the computer network, wherein the routing node is further operative to access the local routing table, process messages published to a topic and transmit the messages to at least one subscriber associated with the topic across the computer network;

wherein the parent node is operative to add a routing entry to the local routing table of the routing node in response to a routing entity request;

wherein the routing node, in response to service action request requiring a routing entry not contained in the local routing table, transmits a routing entity request to the parent node.

2. The system of claim 1 wherein the parent node is operative to maintain the local routing table(s) of the routing node(s) associated therewith.

3. The system of claim 1 wherein the parent node is operative to receive and process updates to routing entries in the first routing table; and wherein, in response to the updates, the parent node is operative to update the local routing table(s) on the routing node(s) associated therewith.

4. The system of claim 1 wherein the parent node is a root node, and the first routing table is a global routing table.

5. The system of claim 1 wherein the parent node is operative to route service action requests and service action responses across the computer network; and wherein the parent node is further operative to access the first routing table, process messages published to a topic and transmit the messages to at least one subscriber associated with the topic across the computer network.

6. The system of claim 2 wherein the parent node maintains a routing matrix in the persistent data store, wherein the routing matrix facilitates maintenance of the local routing table(s) of the routing node(s) associated with the parent node.

7. The system of claim 6 wherein the routing matrix facilitates identification of out-of-date routing entries in the local routing table(s) of the routing node(s) associated with the parent node.

8. The system of claim 7 wherein the routing matrix contains parent node update stamps for corresponding routing entries in the first routing table; and wherein, for each routing node associated with the parent node, the routing matrix contains a routing node update stamp for each routing entry in the local routing table.

9. The system of claim 7 wherein the parent node is operative to update a routing entry in the local routing table of a routing node based on a comparison of the corresponding parent node update stamp and routing node update stamp.

10. The system of claim 1 wherein the local routing table is a subset of the first routing table.

11. The system of claim 1 wherein the routing node resides on a network layer routing device.

12. The system of claim 1 further comprising a Web services network management application providing a user interface facilitating configuration of the parent node and the routing node.

13. The system of claim 12 wherein the Web services network management application transmits service action requests operative to change the configuration of the parent node and/or the routing node.

14. The system of claim 1 wherein the parent node includes platform services functionality allowing for configuration of the parent node and the routing node; and wherein the platform services functionality is presented as a Web service accessible via a service action request.

15. A system enabling a Web services network, comprising:

a root network services engine operably connected to a computer network,

the root network services engine maintaining a persistent data store storing a global routing table including routing entries allowing for the routing of service action requests and responses over the computer network; wherein at least one routing entry in the global routing table corresponds to a topic routing entity and includes information allowing for publication of messages to the topic and the dissemination of the messages to at least one subscriber associated with the topic;

a network services engine operably connected to the computer network,

the network services engine maintaining a persistent data store storing a first local routing table including routing entries allowing for the routing of service actions requests and responses over the computer network; wherein at least one routing entry in the first routing table corresponds to a topic routing entity and includes information allowing for publication of messages to the topic and the dissemination of the messages to at least one subscriber associated with the topic;

at least one network services switch operably connected to the computer network,

the network services switch maintaining a second local routing table including routing entries allowing for the routing of service actions requests and responses over the computer network;

wherein the network services switch is operative to route service action requests and service action responses to appropriate nodes connected to the computer network, wherein the network services switch is further operative to access the second local routing table, process messages published to a topic and transmit the messages to at least one subscriber associated with the topic across the computer network;

wherein the root network services engine is operative to add a routing entry to the first and/or second local routing table in response to a routing entity request;

wherein the network services engine is operative to add a routing entry to the second local routing table in response to a routing entity request;

wherein the network services engine passes routing entity requests associated with a routing entry not contained in the first local routing table to the root network services engine; and,

wherein the network services switch is operative to transmit a routing entity request to the network services engine in response to a service action request requiring a routing entry not contained in the second local routing table.

16. The system of claim 15 wherein the root network services engine is operative to maintain the local routing tables on the child network services engines and switches operably directly associated therewith.

17. The system of claim 15 wherein the network services engine is operative to maintain the local routing tables of the child network services engines and switches operably directly associated therewith.

18. The system of claim 15 wherein the network services engine is operative to route service action requests and service action responses across the computer network; and wherein the network services engine is further operative to access the first local routing table, process messages published to a topic and transmit the messages to at least one subscriber associated with the topic across the computer network.

19. The system of claim 15 wherein the network services engine is operative to receive and process updates to routing entries in the first local routing table; and wherein, in response to the updates, the network services engine is operative to update the global routing table on the root network services engine and the second local routing table(s) on the routing node(s) associated therewith.

20. The system of claim 16 wherein the root network services maintains a routing matrix in the persistent data store, wherein the routing matrix facilitates maintenance of the local routing table of child network services engine(s) and the network services switches directly associated therewith.

21. The system of claim 20 wherein the routing matrix facilitates identification of out-of-date routing entries in the local routing table(s) of the child network services engine.

22. The system of claim 21 wherein the routing matrix contains parent node update stamps for corresponding routing entries in the global routing table; and wherein, for each child routing node directly associated with the root network services engine, the routing matrix contains a routing node update stamp for each routing entry in the local routing table.

23. The system of claim 21 wherein the network services engine is operative to update a routing entry in the local routing table of a child routing node based on a comparison of the corresponding parent node update stamp and routing node update stamp.

Assignments (16)
RELEASE OF SECURITY INTEREST IN PATENTS Recorded Aug 7, 2019
From: BRIGHTWOOD LOAN SERVICES LLC, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
Reel/Frame 049996/0115 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Jul 22, 2019
From: ANTARES CAPITAL LP, AS COLLATERAL AGENT
To: AKANA, INC.
Reel/Frame 049823/0685 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jul 22, 2019
From: PERFORCE SOFTWARE, INC.; PERFORCE INTERMEDIATE HOLDINGS, LLC; AKANA, INC.; GLIFFY, INC.; KLOCWORK INC.; OPENLOGIC, INC.; ROGUE WAVE HOLDING CORP.; ROGUE WAVE HOLDINGS, INC.; ROGUE WAVE SOFTWARE, INC.; RWS, INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; VISUAL NUMERICS, INC.; ZEROTURNAROUND USA, INC.; ZEROTURNAROUND, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 049823/0752 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 8, 2019
From: AKANA, INC.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 049688/0800 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.
To: ANTARES CAPITAL LP, AS COLLATERAL AGENT
Reel/Frame 049859/0124 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Feb 8, 2019
From: FIRST EAGLE PRIVATE CREDIT, LLC (F/K/A/ NEWSTAR FINANCIAL, LLC (NEWSTAR FINANCIAL, LLC F/K/A NEWSTAR FINANCIAL, INC.))
To: ROGUE WAVE SOFTWARE, INC.; ROGUE WAVE HOLDINGS, INC.; KLOCWORK INC.; TOTALVIEW TECHNOLOGIES, INC.; TOTALVIEW TECHNOLOGIES LLC; RWS, INC.; OPENLOGIC, INC.; VISUAL NUMERICS, INC.; AKANA, INC.
Reel/Frame 048289/0928 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0223 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 8, 2019
From: AKANA, INC.; ROGUE WAVE SOFTWARE, INC.; PERFORCE SOFTWARE, INC.
To: BRIGHTWOOD LOAN SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 048290/0241 →
RELEASE OF SECURITY INTEREST Recorded Dec 6, 2016
From: MULTIPLIER CAPITAL, LP
To: AKANA, INC.
Reel/Frame 040842/0358 →
SECURITY INTEREST Recorded Nov 29, 2016
From: AKANA, INC.
To: NEWSTAR FINANCIAL, INC.
Reel/Frame 040456/0699 →
SECURITY AGREEMENT Recorded Apr 7, 2016
From: AKANA, INC.
To: MULTIPLIER CAPITAL, LP
Reel/Frame 038381/0780 →
CHANGE OF NAME Recorded May 1, 2015
From: SOA SOFTWARE, INC.
To: AKANA, INC.
Reel/Frame 035566/0196 →
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2014
From: VENTURE LENDING & LEASING V, INC.
To: SOA SOFTWARE, INC.
Reel/Frame 033217/0035 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 10, 2014
From: BLUE TITAN SOFTWARE, INC.
To: SOA SOFTWARE INC.
Reel/Frame 033070/0604 →
SECURITY INTEREST Recorded Aug 18, 2008
From: SOA SOFTWARE, INC.
To: VENTURE LENDING & LEASING V, INC.
Reel/Frame 021411/0393 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2003
From: DARUGAR, PARAND TONY; MARTINEZ, FRANK; TOTH, PAUL KEVIN
To: BLUE TIAN SOFTWARE, INC.
Reel/Frame 013710/0884 →