IP Library › Granted Patent US 6,950,853
Granted Patent B2
US 6,950,853 · App. 09/892,708 · Granted Sep 27, 2005

Multisite coordination in shared multicast trees

Assignee: The Regents of the University of California
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 6,950,853
App. No.
09/892,708
Granted
Sep 27, 2005
Kind
B2
Abstract

A protocol to coordinate multipoint groupwork in the IP-multicast framework. Called Aggregated Coordination Protocol (ACP), the protocol operates on a shared multicast tree, benefiting from the underlying tree structure to store and forward coordination primitives between hosts in different multicast groups on the tree. ACP coordinates distributed activities via message passing, and manifests control by ephemeral permissions rather than actual locks, allowing control over continuous media flows as well as discrete data. The protocol supports Internet-wide coordination for large and highly interactive groupwork, relying on transmission of coordination directives between group members across a shared end-to-end multicast tree.

Claims (176)

1. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

aggregating the forwarding of said control directives;

wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined;

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

2. A method as recited in claim 1 , wherein said hop node comprises a node on a path to a target.

3. A method as recited in claim 1 ,

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

4. A method as recited in claim 1 , further comprising

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

5. A method as recited in claim 1 , wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

6. A method as recited in claim 1 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

7. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides;

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node; and

aggregating the forwarding of said control directives;

wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree and are forwarded combined;

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

8. A method as recited in claim 7 , wherein said hop node comprises a node on a path to a target.

9. A method as recited in claim 7 , further comprising

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

10. A method as recited in claim 7 , wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

11. A method as recited in claim 7 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

12. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parents;

aggregating the forwarding of said control directives;

wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined;

wherein if said hop node receives the same control directives from different nodes, said hop node appreciates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

13. A method as recited in claim 12 , wherein said hop node comprises a node on a path to a target.

14. A method as recited in claim 12 , wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

15. A method as recited in claim 12 , wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

16. A method as recited in claim 12 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

17. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein said tree comprises,

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time,

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor, and

a target node, said target node configured for receiving updates of resource operation by a floor holder,

wherein a floor comprises a temporary privilege to work with a resource.

18. A method as recited in claim 17 , further comprising

aggregating the forwarding of said control directives.

19. A method as recited in claim 18 ,

wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined.

20. A method as recited in claim 19 , wherein said hop node comprises a node on a path to a target.

21. A method as recited in claim 19 ,

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

22. A method as recited in claim 17 ,

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

23. A method as recited in claim 17 , further comprising assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

24. A method as recited in claim 17 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

25. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting;

aggregating the forwarding of said control directives;

wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined;

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

26. A method as recited in claim 25 , wherein said hop node comprises a node on a path to a target.

27. A method as recited in claim 25 ,

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

28. A method as recited in claim 25 , further comprising

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

29. A method as recited in claim 25 , wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

30. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein said tree comprises;

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

31. A method as recited in claim 30 , further comprising

aggregating the forwarding of said control directives.

32. A method as recited in claim 31 , wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined.

33. A method as recited in claim 31 , wherein said hop node comprises a node on a path to a target.

34. A method as recited in claim 32 :

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

35. A method as recited in claim 30 :

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

36. A method as recited in claim 30 , further comprising:

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

37. A method as recited in claim 30 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

38. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node;

wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

39. A method as recited in claim 38 , further comprising

aggregating the forwarding of said control directives.

40. A method as recited in claim 39 , wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined.

41. A method as recited in claim 40 , wherein said hop node comprises a node on a path to a target.

42. A method as recited in claim 40 :

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

43. A method as recited in claim 38 , further comprising:

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

44. A method as recited in claim 38 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

45. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree; and

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent;

wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

46. A method as recited in claim 45 , further comprising:

aggregating the forwarding of said control directives.

47. A method as recited in claim 46 , wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined.

48. A method as recited in claim 47 , wherein said hop node comprises a node on a path to a target.

49. A method as recited in claim 47 :

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

50. A method as recited in claim 45 :

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

51. A method as recited in claim 45 , wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting.

52. A method for coordinating multipoint group members in a multicast network environment, comprising:

transmitting control directives between group members across a shared end-to-end multicast tree;

wherein said tree corresponds to a single shared acknowledgment tree for concurrent multicasting;

wherein said tree comprises:

a holder node, said holder node operating on a resource, said holder node being a transmission source, said holder node hosting a floor holder, said holder node being permitted to access a resource at any time;

a control node, said control node hosting a floor controller, said floor controller controlling access and operation for a specific resource, said control node configured for being addressed by other nodes asking for a floor; and

a target node, said target node configured for receiving updates of resource operation by a floor holder;

wherein a floor comprises a temporary privilege to work with a resource.

53. A method as recited in claim 52 , further comprising:

aggregating the forwarding of said control directives.

54. A method as recited in claim 52 , wherein multiple requests for the same information from different nodes in the tree are assembled in a hop node in the tree, and are forwarded combined.

55. A method as recited in claim 54 , wherein said hop node comprises a node on a path to a target.

56. A method as recited in claim 54 :

wherein if said hop node receives the same control directives from different nodes, said hop node aggregates them into one control directive, and checks if a response to said control directives can be satisfied locally by said hop node by polling its own state and the state of neighboring nodes; and

wherein if a response to said control directives cannot be satisfied locally by aid hop node said aggregated control directive is self-routed up or down in the tree toward the target nodes.

57. A method as recited in claim 52 :

wherein if a target node is in the subtree of a node, the control directive is routed downward the subtree branch where the target resides; and

wherein if a target node is not in the subtree of a node, the control directive is sent upward to its parent node.

58. A method as recited in claim 52 , further comprising:

assigning recursively and top-down unique prefix labels to each node joining the tree;

wherein a child node label contains as prefix the label of its parent.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 15, 2001
From: GARCIA-LUNA-ACEVES, JOSE JOAQUIN; DOMMEL, HANS-PETER
To: REGENTS OF THE UNIVERSITY OF CALIFORNIA, THE
Reel/Frame 012257/0090 →
Continuity (2)
Provisional Application 6021432700 · Jun 27, 2000
Related Publication 20020035602A1 · Mar 21, 2002