IP Library Granted Patent US 7,283,463
Granted Patent B2
US 7,283,463 · App. 10/622,279 · Granted Oct 16, 2007

Non-disruptive reconfiguration of a publish/subscribe system

Assignee: International Business Machines Corporation
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,283,463
App. No.
10/622,279
Granted
Oct 16, 2007
Kind
B2
Abstract

A publish/subscribe system is non-disruptively reconfigured, such that messages are not lost during the reconfiguration. After reconfiguration is initiated, messages that are to be delivered within the publish/subscribe system are forwarded using either an old path or a new path. That is, until the reconfigured system is stabilized, some messages may be delivered using the old path, while other messages are delivered using a new path. After the system is stabilized, the new path is used for delivery of all the messages, until another reconfiguration is initiated.

Claims (55)

1. A method of reconfiguring publish/subscribe systems, said method comprising:

initiating a reconfiguration of a publish/subscribe system; and

reconfiguring said publish/subscribe system, wherein no messages of said publish/subscribe system are lost during said reconfiguring;

wherein said reconfiguring is non-disruptive to said publish/subscribe system, wherein said publish/subscribe system comprises an ordering requirement for delivery of one or more messages from at least one node to at least one other node of said publish/subscribe system, and wherein said reconfiguring preserves said ordering of delivery of said one or more messages.

2. The method of claim 1 , wherein said reconfiguring comprises changing from a first routing path between one node of said publish/subscribe system and another node of said publish/subscribe system to a second routing path between said one node and said another node.

3. The method of claim 2 , wherein said first path is designated in a first routing table and said second path is designated in a second routing table and wherein said changing comprises selecting said second routing table.

4. The method of claim 1 , wherein said initiating comprises forwarding a reconfiguration request from a configuration manager to one or more nodes of said publish/subscribe system.

5. The method of claim 1 , wherein said reconfiguring comprises:

selecting a new routing path to be used in forwarding one or more messages within said publish/subscribe system; and

updating one or more data structures associated with one or more nodes of said publish/subscribe system to reflect said reconfiguring.

6. The method of claim 1 , further comprising forwarding a message from at least one node of said publish/subscribe system to at least one other node of said publish/subscribe system, after said reconfiguration is initiated and prior to completion of said reconfiguration.

7. The method of claim 6 , further comprising determining whether an old routing path or a new routing path is to be used in forwarding said message.

8. The method of claim 7 , further comprising forwarding another message from at least one node of said publish/subscribe system to at least one other node of said publish/subscribe system, wherein said another message is forwarded using a different routing path than said message.

9. The method of claim 6 , wherein said message comprises a CS-message, and wherein said method further comprises refraining from delivering said CS-message to a node of said publish/subscribe system, until after one or more other messages are at least ready for delivery to said node, such that ordering of delivery of said CS-message is preserved.

10. The method of claim 9 , wherein said one or more other messages are forwarded to said node via an old routing path and said CS-message is forwarded to said node via a new routing path.

11. The method of claim 9 , further comprising transferring said CS-message from a held queue to a delivery queue, such that said CS-message can be delivered, after an originating node of said CS-message has completed forwarding to said delivery queue any messages forwarded to said node via an old path.

12. The method of claim 6 , wherein said message comprises an SC-message, and wherein said method further comprises refraining from delivering said SC-message to a node of said publish/subscribe system, when a new routing path is used for said SC-message, until a predefined event occurs.

13. The method of claim 12 , wherein said predefined event comprises receipt of a switch message at said node.

14. The method of claim 13 , further comprising transferring said SC-message from a held queue to a delivery queue, as a result of said receipt of said switch message, such that said SC-message can be delivered.

15. A system of reconfiguring publish/subscribe systems, said system comprising:

means for initiating a reconfiguration of a publish/subscribe system; and

means for reconfiguring said publish/subscribe system, wherein no messages of said publish/subscribe system are lost during the reconfiguring;

wherein the reconfiguring is non-disruptive to said publish/subscribe system, wherein said publish/subscribe system comprises an ordering requirement for delivery of one or more messages from at least one node to at least one other node of said publish/subscribe system, and wherein said means for reconfiguring preserves said ordering of delivery of said one or more messages.

16. The system of claim 15 , wherein said means for reconfiguring comprises means for changing from a first routing path between one node of said publish/subscribe system and another node of said publish/subscribe system to a second routing path between said one node and said another node.

17. The system of claim 16 , wherein said first path is designated in a first routing table and said second path is designated in a second routing table and wherein said means for changing comprises means for selecting said second routing table.

18. The system of claim 15 , wherein said means for initiating comprises means for forwarding a reconfiguration request from a configuration manager to one or more nodes of said publish/subscribe system.

19. The system of claim 15 , wherein said means for reconfiguring comprises:

means for selecting a new routing path to be used in forwarding one or more messages within said publish/subscribe system; and

means for updating one or more data structures associated with one or more nodes of said publish/subscribe system to reflect said reconfiguring.

20. The system of claim 15 , further comprising means for forwarding a message from at least one node of said publish/subscribe system to at least one other node of said publish/subscribe system, after the reconfiguration is initiated.

21. The system of claim 20 , further comprising means for determining whether an old routing path or a new routing path is to be used in forwarding said message.

22. The system of claim 21 , further comprising means for forwarding another message from at least one node of said publish/subscribe system to at least one other node of said publish/subscribe system, wherein said another message is forwarded using a different routing path than said message.

23. The system of claim 20 , wherein said message comprises a CS-message, and wherein said system further comprises means for refraining from delivering said CS-message to a node of said publish/subscribe system, until after one or more other messages are at least ready for delivery to said node, such that ordering of delivery of said CS-message is preserved.

24. The system of claim 23 , wherein said one or more other messages are forwarded to said node via an old routing path and said CS-message is forwarded to said node via a new routing path.

25. The system of claim 23 , further comprising means for transferring said CS-message from a held queue to a delivery queue, such that said CS-message can be delivered, after an originating node of said CS-message has completed forwarding to said delivery queue any messages forwarded to said node via an old path.

26. The system of claim 20 , wherein said message comprises an SC-message, and wherein said system further comprises means for refraining from delivering said SC-message to a node of said publish/subscribe system, when a new routing path is used for said SC-message, until a predefined event occurs.

27. The system of claim 26 , wherein said predefined event comprises receipt of a switch message at said node.

28. The system of claim 27 , further comprising means for transferring said SC-message from a held queue to a delivery queue, as a result of said receipt of said switch message, such that said SC-message can be delivered.

29. A system of reconfiguring publish/subscribe systems, said system comprising:

a configuration manager adapted to initiate a reconfiguration of a publish/subscribe system; and

one or more nodes of said publish/subscribe system adapted to reconfigure said publish/subscribe system, wherein no messages of said publish/subscribe system are lost during the reconfiguring;

wherein the one or more nodes are adapted to non-disruptively reconfigure said publish/subscribe system, wherein said publish/subscribe system comprises an ordering requirement for delivery of one or more messages from at least one node to at least one other node of said publish/subscribe system, and wherein the one or more nodes are further adapted to preserve said ordering of delivery of said one or more messages.

30. The system of claim 29 , wherein said configuration manager is adapted to forward a reconfiguration request to one or more nodes of said publish/subscribe system to initiate said reconfiguration.

31. The system of claim 29 , further comprising at least one node of said publish/subscribe system adapted to forward a message to at least one other node of said publish/subscribe system, after said reconfiguration is initiated.

32. An article of manufacture, comprising:

at least one computer usable medium having computer readable program code means embodied therein for causing the reconfiguring of publish/subscribe systems, the computer readable program code means in said article of manufacture comprising:

computer readable program code means for causing a computer to initiate a reconfiguration of a publish/subscribe system; and

computer readable program code means for causing a computer to non-disruptively reconfigure said publish/subscribe system, wherein no messages of said publish/subscribe system are lost during the reconfiguring;

wherein said publish/subscribe system comprises an ordering requirement for delivery of one or more messages from at least one node to at least one other node of said publish/subscribe system, and wherein said computer readable program code means for causing a computer to reconfigure preserves said ordering of delivery of said one or more messages.

33. The article of manufacture of claim 32 , wherein said computer readable program code means for causing a computer to reconfigure comprises computer readable program code means for causing a computer to change from a first routing path between one node of said publish/subscribe system and another node of said publish/subscribe system to a second routing path between said one node and said another node.

34. The article of manufacture of claim 32 , further comprising computer readable program code means for causing a computer to forward a message from at least one node of said publish/subscribe system to at least one other node of said publish/subscribe system, after said reconfiguration is initiated.

35. At least one program storage device readable by a computer, tangibly embodying at least one program of instructions executable by the computer to perform a method of reconfiguring publish/subscribe systems, said method comprising:

initiating a reconfiguration of a publish/subscribe system; and

reconfiguring said publish/subscribe system, wherein no messages of said publish/subscribe system are lost during said reconfiguring;

wherein said reconfiguring is non-disruptive to said publish/subscribe system, wherein said publish/subscribe system comprises an ordering requirement for delivery of one or more messages from at least one node to at least one other node of said publish/subscribe system, and wherein said reconfiguring preserves said ordering of delivery of said one or more messages.

Continuity (2)
Continuation 0928053400 · Mar 30, 1999
Related Publication 20040027995A1 · Feb 12, 2004