US9001826B2 - Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks - Google Patents

Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks Download PDF

Info

Publication number
US9001826B2
US9001826B2 US13/691,565 US201213691565A US9001826B2 US 9001826 B2 US9001826 B2 US 9001826B2 US 201213691565 A US201213691565 A US 201213691565A US 9001826 B2 US9001826 B2 US 9001826B2
Authority
US
United States
Prior art keywords
properties
communication devices
node
player
messages
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active, expires
Application number
US13/691,565
Other versions
US20130114596A1 (en
Inventor
Derick J. Clack
Bryan D. Vergato
Mark D. Bertoglio
Shaun Botha
Edward E. Buchwalter
Guillaume F. Rava
Yuri Kiryanov
Thomas Richard Bogart
Michael A. Passinsky
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Twisted Pair Solutions Inc
Original Assignee
Twisted Pair Solutions Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Twisted Pair Solutions Inc filed Critical Twisted Pair Solutions Inc
Priority to US13/691,565 priority Critical patent/US9001826B2/en
Assigned to TWISTED PAIR SOLUTIONS, INC. reassignment TWISTED PAIR SOLUTIONS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BOTHA, SHAUN, KIRYANOV, YURI, BOGART, THOMAS RICHARD, CLACK, DERICK J., PASSINSKY, MICHAEL A., RAVA, GUILLAUME F., BERTOGLIO, MARK D., BUCHWALTER, EDWARD E., VERGATO, BRYAN D.
Publication of US20130114596A1 publication Critical patent/US20130114596A1/en
Application granted granted Critical
Publication of US9001826B2 publication Critical patent/US9001826B2/en
Active legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1836Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with heterogeneous network architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/026Details of "hello" or keep-alive messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • H04L67/38
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Definitions

  • the present disclosure generally relates to computer software and/or hardware for computer and communication systems networking, and more particularly but not exclusively relates to information delivery between devices through a communication network for critical applications.
  • Timely and reliable information dissemination and delivery in high user-capacity environments is a key requirement in the successful completion of a mission or other task and, in life-threatening environments, ensuring the safety of personnel conducting the mission.
  • centralized content delivery systems typically referred to as “servers”—are used to distribute information in a real-time or near real-time manner.
  • This type of centralized architecture while generally functional, suffers from at least two significant drawbacks: 1) the reliance on a central server or cluster of servers that all endpoints directly or indirectly connect to or otherwise communicate with; and 2) inefficient use of available network bandwidth to deliver the information to the endpoints that require such information.
  • High-bandwidth peer-to-peer architecture aims at utilizing the most bandwidth possible to achieve fast file transfers and is usually not concerned with network congestions: these designs are at the application layer and they assume appropriate network conditions.
  • low-bandwidth solutions are concerned with and interact at the network layer but their implementation and customization of the layers below the Transport layer on the ISO stack often translate into a reduced flexibility in term of network topology and heterogeneity; for instance wireless mesh networking designs often rely on a modified IP stack implemented at every node.
  • One embodiment described herein provides: first, its capacity to function in a heterogeneous and dynamic network topology; second, its reliability and scalability throughout low-bandwidth intermittent networks and high-bandwidth networks; and third, its original ad-hoc and multi-hop ad-hoc design.
  • endpoints (or generally “nodes”) nodes attached to a network by opposition to “players” defined as entities coupled to endpoints to access a network, and if we call “channel” a collection of endpoints coupled via:
  • One aspect provides a method for communication in a network, the method comprising:
  • Another aspect provides a communication system, comprising:
  • each of said devices adapted to communicate with each other in an IP multicast network without use of a centralized server, each of said devices having respective properties that are communicated to other ones of said devices so that each device is aware of properties of all communicatively coupled devices in said IP multicast network;
  • an information base for each of said devices said information base being updated to remove properties of any of said devices that are communicatively decoupled and to add properties of any new ones of said devices that communicatively coupled to said IP multicast network.
  • Another aspect provides an article of manufacture, comprising:
  • a computer-readable medium having computer-readable instructions that are stored thereon and executable by a processor of one of a plurality of distributed communication devices, to:
  • each of said devices communicate with other ones of said devices in an IP multicast network without use of a centralized server, each of said devices having respective properties that are communicated to other ones of said devices so that each device is aware of properties of all communicatively coupled devices in said IP multicast network;
  • an information base said information base being updated to remove properties of any of said devices that are communicatively decoupled and to add properties of any new ones of said devices that communicatively coupled to said IP multicast network.
  • Still another aspect provides a network computing apparatus, comprising:
  • said device including:
  • a processor adapted to perform said update of said information base
  • a storage unit coupled to said processor and adapted to store said information base that includes properties of said one device and properties of coupled other ones of said devices;
  • a communication interface coupled to said processor and to said storage unit and coupleable to said IP multicast network, and adapted to send and receive said properties and other communication with other ones of said devices via said IP multicast network
  • FIG. 1 illustrates example nodes with associated players and player properties according to one embodiment.
  • FIG. 2 illustrates the exchange of player properties/information between nodes.
  • FIG. 3 illustrates example nodes, routing tables, and links according to one embodiment.
  • FIGS. 4-12 illustrate example implementation of rules according to various embodiments.
  • FIGS. 13-14 illustrate example link costs and implementation thereof according to one embodiment.
  • FIG. 15 is a block diagram showing components of an embodiment of a device adapted to communicate with other devices via an IP multicast network.
  • the embodiment(s) described herein provide an architecture and mode of operation wherein information is disseminated using a reliable IP multicast network implementation coupled with dynamically assigned proxy nodes serving as zonal aggregation points. These nodes share information with each other over the reliable IP multicast network, augmenting this function with a reliable point-to-point communication infrastructure between proxy nodes in those instances where IP multicast is not available or prone to error.
  • An embodiment employs a number of conceptual entities to provide the features described herein. These entities include “channels”, “players”, “messages”, “properties”, and “nodes”.
  • a “channel” is a notional grouping of like-minded/like-use entities that have a desire or need to share information with each other. These entities are typically used to describe human end-users in an embodiment but may also refer to non-human entities such as computer devices, communications devices and systems, and so forth. A more general term therefore used to describe such an entity is a “player”. Stated in another way, a “player” exists along with other “players” on a “channel” and uses the “channel” to exchange information with each other.
  • Such information includes “properties' describing attributes of individual players such as a human player's name, title, operational role, etc. or, in the case of non-human players, attributes such as an IP address, CPU configuration, bandwidth availability, etc.
  • the properties can include any information that is pertinent to that player identifying itself on a channel to other players.
  • properties may be applied to the channel itself—e.g., the properties need not pertain to a specific player but may be used to describe information about a group of players or the channel itself.
  • An example of such a property may be the name of the channel, the role of that channel, and specific messages that should be displayed to human end-users when they join that channel.
  • a channel-specific property may also be used in a manner so as to coordinate group access to shared resources—essentially operating as a channel-wide flag or semaphore.
  • a channel of one embodiment also serves as a virtual conduit of “messages” between players.
  • messages may constitute a simple implementation of textual or other data messaging between players or may be utilized in a more sophisticated manner such as implementing a group-wide signaling protocol for purposes of controlling the operation of players or the devices that they represent.
  • nodes all players, properties describing those players and the channel, as well as messages on the channel are sent and received by “nodes”.
  • a “node” is a logical interface to the channel provided by the underlying embodiment. This interface provides the conduit by which a computer application communicates on the channel.
  • a node may optionally function as a convergence point of data where the data needs to cross boundaries between channels—essentially “bridging” information across channels—or where the underlying networking infrastructure between instances of the channel is different.
  • a node may pass data between instances of different channels (“bridging”) so that data may be shared between those channels; or the node may pass data between instances of the same channel where those instances are implemented on different networking topologies—such as bi-directionally relaying data between IP multicast and IP unicast topologies.
  • an embodiment may then be implemented on a variety of networking topologies, be able to scale to many thousands of nodes, properties, and messages, and represent thousands of individual players.
  • the ability to scale to thousands of players and the properties associated with those players while keeping bandwidth utilization to a minimum implements the creation of a special channel to coordinate system-level data exchange between nodes.
  • a special channel known as an “Integrity Assurance Channel” (IAC)—is responsible for node-level data exchange to ensure the integrity and consistency of the data held at each node.
  • IAC Intelligent Assurance Channel
  • Such data includes the list of players on the channel, their associated properties, properties associated with the channel itself, messages queued for delivery, and so forth.
  • IAC Intelligent Assurance Channel
  • Such coordination is typically only needed in an environment where IP multicast is used as the underlying network topology but it should be noted that such coordination may also exist across more reliable links such as IP unicast utilizing TCP as a delivery protocol.
  • the messages exchanged on the IAC are specific to the IAC and constitute a protocol implemented only by nodes on that IAC.
  • multiple IACs may exist in an embodiment so as to reduce overhead on a particular IAC relative to the traffic generated on the “normal” channels associated with it.
  • multiple “normal” channels may be associated with a particular IAC, thereby consolidating their respective information onto a single IAC rather than each propagating their information separately—and potentially in duplicate. While such association may occur on an IAC-per-channel basis, the method for implementation in an embodiment is for multiple normal channels to be associated with a single IAC. Following this method assures the lowest amount of overall bandwidth consumption for the number of “normal” channels in use.
  • an embodiment utilizes a variety of encryption technologies including but not limited to the Advanced Encryption Standard or “AES”.
  • AES Advanced Encryption Standard
  • all messages exchanged over the IP network are assumed to be open to threat from outside entities and are therefore encrypted prior to transmission on the network.
  • the key used for encrypting data is pre-shared in nature—that is to say that all nodes learn about this key when they are first configured. While this is one particular method of key sharing, other methods exist such as Diffie-Hellman key exchange.
  • nodes are connected/coupled to each other in a peer-to-peer network.
  • Each node may have several connections or “links” to other nodes, and nodes not connected by a common link can communicate by passing messages through intermediate nodes in a multihop ad-hoc fashion.
  • the routing algorithm allows nodes to find optimum routes between themselves and another node.
  • Each node has a routing table that lists what link to use to reach a specific other node.
  • the routing table lists every single node in the network, hence the name “exhaustive routing”, and what link to use for that node.
  • the routing table of one embodiment need not show a full route, but only a one-hop route to the next node.
  • nodes are circles, and routing tables are notes attached to nodes through a dashed line.
  • the numbers at the edges of the links between nodes show how nodes refer to these links. For instance, in FIG. 3 , A calls its link to B “ 1 ”. Link numbers are internal to nodes and not communicated to other nodes: for instance, in the FIG. 3 , B calls its link to C “ 2 ”, but C calls its link to B “ 1 ”. These numbers reflect the order they were created on the nodes. Still in FIG. 3 , if A wants to send a message to C, it sees from its routing table that C is reachable through link 1 . Thus A will send a message to B, which sees the message is intended for C. B then looks up its routing table and see C is reachable through link 2 . Thus B will forward the message onto its link 2 . C then receives the message.
  • the routing table of one embodiment serves another purpose: it lists all nodes currently connected/coupled to the network, providing nodes with “network-wide presence” information. If a node enters or leaves the network, all other nodes are informed of the entry/departure through a mechanism as will be described below.
  • the exhaustive-routing algorithm can be used exclusively to maintain presence information throughout a network.
  • routing tables at nodes throughout the network are kept current with the following messaging system: there are 2 basic messages, HELLO and BYE that are exchanged between nodes to maintain accurate routing tables. HELLOs and BYEs are generated, interpreted, and forwarded from node to node according to the following example 8 rules:
  • the first rule is that when 2 nodes create a link to each other, they send a HELLO message stating their name.
  • An example implementation of this rule is illustrated in FIG. 4 .
  • a node “knows of” other nodes that node mentions them in the HELLO message.
  • a node “knows of” other nodes by reading its routing table and gathering a list of all node names from all links.
  • a HELLO message contains more than a node's own name, such a message is called a “composite HELLO”.
  • FIG. 5 Implementation of a composite HELLO message is shown in FIG. 5 .
  • a composite HELLO message of one embodiment need not specify how to reach the other nodes, but only their names. If a node appears several times in the routing table, that is not repeated in the HELLO message, as for instance in FIG. 5 , node Z appears twice in X's routing table but is provided only once in the HELLO message.
  • the second rule explains that the order of events that lead to a new link between 2 nodes, such as in FIG. 6 , is irrelevant: the only requirement of one embodiment is that the 2 HELLO messages described above are sent to the newly-connected/coupled neighbor node.
  • the creation of the link between 2 nodes can be a one-sided operation: the link can be created by one node only.
  • several messages are exchanged at the network or transport layer, and both nodes may need to initiate the link. In any case, the connection is first fully established, and then the exchange of HELLO happens.
  • the third basic rule explains how nodes forward incoming HELLO messages.
  • D would not have to forward its incoming HELLO message since it has no other link, but C would consider forwarding its incoming HELLO message from D onto its other links.
  • the rule (illustrated by the example implementation in FIG. 7 ) is as follows in one embodiment:
  • HELLO:X,Y,Z . . . A composite HELLO message “HELLO:X,Y,Z . . . ” can be decomposed into a list of simple HELLOs: ⁇ “HELLO:X”, “HELLO:Y”, “HELLO:Z”, . . . ⁇ .
  • the node N needs to iterate through each of its M links except for link L 1 , and consider if the simple HELLO message needs to be forwarded onto that link or not.
  • the criteria for a HELLO about a node X, “HELLO:X”, to be forwarded onto a link L i is the following: considering N's routing table, considering the entries of that routing table, and that each entry lists what nodes are reachable for a given link, in order to forward “HELLO:X” onto a link L i , the entries in the routing table for any link but L i need to show no instance of X.
  • the node needs to forward a HELLO about X onto a link L i if and only if all entries in the routing table beside the one for L i do not list X.
  • the fourth rule states that once the third rule is fulfilled on a given node N, that is to say that N is done with forwarding an incoming HELLO message, to the node N updates its routing table before undertaking any other communication.
  • the fourth rule of one embodiment provides that: for a HELLO message received from a link L on a node N that lists P nodes: N updates the entry for L in its routing table by adding X 1 , X 2 , X 3 , . . . , Xp to that entry. Routing table entries are sets of unique node names, so if for instance an entry was to list “A, B, C” and “B, D” is to be added, then the entry would be updated to “A, B, C, D”.
  • Link destruction is operated by BYE messages in one embodiment.
  • A can send/announce a BYE message to B as shown by way of example in FIG. 8 .
  • This kind of BYE message of one embodiment has no payload (unlike forwarded BYE messages with respect to rule #6, described later below): it means the current edge is going to be disconnected/decoupled.
  • B When B receives the BYE message, B replies with a BYE message as shown by way of example in FIG. 9 .
  • the kind of exchange described above is an “announced link destruction”, meaning that the nodes inform each other the link destruction before actually taking the link down.
  • An alternative is the “unannounced link destruction” where one of the nodes (or both) takes the link down without sending a BYE message. Unless the link comes back up within a defined period, the nodes proceed to BYE forwarding (see, e.g., rule #6) just as if a BYE was received.
  • FIG. 11 shows an example implementation of this rule, wherein the nodes A and B forward BYE messages that list what nodes used to be visible on the (now-destroyed) link(s).
  • the original BYE message had no payload, but the forwarded BYE messages have a payload: that of the list of nodes that were reachable through that edge.
  • FIG. 12 illustrates an example implementation.
  • the difference with HELLO messages is that the routing table is updated first and forwarding happens second. Updating the routing table includes removing references to the nodes listed in the BYE message for (and only for) the link that BYE message was received on.
  • the forwarding logic is the following in one embodiment: once the incoming composite BYE message is decomposed into a list of simple BYE messages, each simple BYE message is considered for forwarding on each link (besides the one it came on). For a given link, a simple BYE is forwarded if (and only if) the node it refers to is not present (in the routing table) in any other link entry but itself.
  • a node has 3 links L 1 L 2 and L 3 , and that node received a BYE about node X on L 1 , then that node will forward the BYE onto L 2 if X is not listed (in the routing table) as a visible node from L 1 and L 3 ; and the node will forward the BYE onto L 3 if X is not listed (in the routing table) as visible node from L 1 and L 2 .
  • a node when forwarding composite HELLO messages or composite BYE message, a node is first decomposes into simple messages (“simple” meaning that the message has a payload of 1 node), and then these simple messages are considered one by one for forwarding onto a given link.
  • simple messages can be recomposed (re-assembled) into composite messages if and only if they have the same source.
  • HELLOs and BYEs have a field in their header that defines what node originally sent them. When messages are forwarded, this “source” field is not changed.
  • This message counter is a roll-over counter that a node increments whenever the node sends a message.
  • the combination of the source field and this counter field forms a message ID that is unique within a certain period of time (determined by the size of the roll-over counter).
  • these message IDs are stored in a history log per link on each node.
  • history logs are used to filter out messages that appear more than once on a same link on a given node. If a message arriving at a node's link has a message ID that matches the history log, the message is discarded before any processing.
  • Both the roll-over counter width and the history log size are adjusted to sensible values to implement a fairly efficient history-based message pruning.
  • the pruning of one embodiment only needs to be fair and not perfect since this pruning helps lower traffic in case of topologies with loops, but this pruning is not necessary to the routing algorithm.
  • the routing algorithm is resilient to over-sending. Repeated packets only increase traffic (which may lead to longer transient state), but not overall stability.
  • the above embodiment(s) of 8 rules describe how routing messages are transmitted and how messages alter nodes' routing tables.
  • the nodes' routing tables act as a distributed database that establishes global network presence information: each node knows what other nodes are part of the network and how to reach them.
  • the algorithm according to one embodiment allows a completely determined network presence mechanism. Presence information may be sufficient in some scenarios, but another role of the routing table is to provide optimized data routing between nodes.
  • Optimized Data routing is possible by keeping track of link cost and forwarding cost.
  • the HELLO message header contains a cost field that is initialized to zero at the source node, and is incremented by a determined amount every time the message goes through a link: link cost, and by another determined amount every time the message is forwarded by a node: forwarding cost.
  • link cost link cost
  • forwarding cost Eventually, when a HELLO message is sourced at a node A and arrives at a node B, its cost field reflects the sum of all these increments. These costs are stored in the routing table, and are used to find optimized root. An example implementation is shown in FIG. 13 .
  • costs are represented with the dollar symbol ‘$’.
  • all link costs are set to 1 and there are no forwarding costs.
  • the routing tables reflect costs with $ values in parenthesis. For instance, if A wants to send data to B, its routing table shows it can reach B from its link # 1 or its link # 2 , but on link # 1 a cost of 1 is associated B, and on link # 2 a cost of 2 is associated to B; therefore a message to B should be sent onto link # 1 .
  • the message header contains several fields, most current to all network designs (such as the payload length, a CRC of the payload, etc.), but also a value field that is similar to the time to live (TTL) field of IP packets.
  • TTL time to live
  • the difference with TTL is that the value field is decremented by the various link costs and forwarding costs (the TTL is decremented uniformly at each hop). Just like a TTL, when the value of a message reaches 0 the message is dropped.
  • node D has a forwarding cost, it could be for instance that A, B, and C are linked by a land network and D is a telecommunication satellite.
  • D is a telecommunication satellite.
  • the routing tables reflect that optimized routes never go through D.
  • a wants to send data to B A needs its message value to be set to 2.
  • a loses its connection to C messages with a value of 2 will not even leave A since there is no available route that has a cost of 2 or less.
  • Messages with a value of 3 would use the satellite connection through D and would resume using C as soon as the land network comes back up.
  • nodes may become disconnected from the larger system on an often but random basis and may very quickly reconnect either to the same node or one it was not previously connected to.
  • the immediate removal of a disconnected node's information from all other nodes in the system is not desirable as the resulting resynchronization upon reestablishment of connectivity will result in an inefficient use of networking and CPU resources.
  • one embodiment employs timers on both ends of the list connection, starting those timers upon disconnection and canceling them upon reconnection. If reconnection does not occur within the timeframe specified by the timer on each end, the information is removed from all nodes (using the system of BYE messages described above).
  • the reconnecting nodes simply exchange a signature of the data they each contain (instead of the complete system of HELLO messages described above).
  • This signature is represented as a list of the players represented by each of the two nodes involved in the connection and a hash of the combined properties for each of those players. If the signature received by a node from the other node matches the signature the node itself calculates, then no data exchange is required as the data is deemed to be identical on either side. If the signature does not match—either in one direction or both—the nodes initiate a request/response exchange for a list of players and their properties for which the individual signatures differ (using the complete system of HELLO messages described above). This algorithm ensures efficient use of networking and CPU resources, and dramatically reduces the perception of system thrashing on the part of human end-users.
  • FIG. 15 illustrates an embodiment of a network computing device 500 that can form one of more devices in a node.
  • the network device 500 can include, but not be limited to, a cellular telephone, laptop computer, mobile wireless communication device (such as a PDA, Blackberry, and the like), desktop computer, server, switch, router, or any other network device having communication capability.
  • One embodiment of the network device 500 includes one or more processors 502 adapted to perform updates of the information base that stores the properties associated with the network device 500 , as well as the properties of other devices 512 as explained above.
  • the processor(s) 502 is also adapted to perform other acts associated with operation of the network device 500 .
  • the network device 500 includes a computer-readable storage medium 504 , such as a memory, adapted to store computer-readable instructions that can be executed by the processor 502 .
  • a computer-readable storage medium 504 such as a memory
  • Such computer-readable instructions can be in the form of a software program executable by the processor 502 to perform the update of properties, communication of properties and other messages, encrypt/decrypt communicated information, and various other features described herein.
  • the storage medium 502 may store an information base that includes the properties 506 , such as the properties described above.
  • a communication interface 508 is provided to enable communication of the properties and other messages to other devices 512 via a network 510 , such as an IP multicast network.
  • the network interface is adapted to communicate the properties via the integrity assurance channel, which can be different than a normal channel used to communicate messages between the devices 512 via the IP multicast network 510 .
  • a bus 514 couples the various components of the network device 500 to each other.

Abstract

A system and method are provided wherein information is disseminated using a reliable IP multicast network implementation coupled with dynamically assigned proxy nodes serving as zonal aggregation points. These nodes share information with each other over the reliable IP multicast network, augmenting this function with a reliable point-to-point communication infrastructure between proxy nodes in those instances where IP multicast is not available or prone to error.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
The present application is a continuation of U.S. patent application Ser. No. 12/494,728, filed on Jun. 30, 2009, now U.S. Pat. No. 8,340,094, and claims priority to U.S. patent application Ser. No. 12/494,728, to U.S. provisional patent application Ser. No. 61/077,413, filed on Jul. 1, 2008, and to U.S. provisional patent application Ser. No. 61/101,466, filed on Sep. 30, 2008, which applications are commonly owned and incorporated herein by reference in their entirety.
TECHNICAL FIELD
The present disclosure generally relates to computer software and/or hardware for computer and communication systems networking, and more particularly but not exclusively relates to information delivery between devices through a communication network for critical applications.
BACKGROUND
Timely and reliable information dissemination and delivery in high user-capacity environments is a key requirement in the successful completion of a mission or other task and, in life-threatening environments, ensuring the safety of personnel conducting the mission. In these kinds of environments, centralized content delivery systems—typically referred to as “servers”—are used to distribute information in a real-time or near real-time manner.
This type of centralized architecture, while generally functional, suffers from at least two significant drawbacks: 1) the reliance on a central server or cluster of servers that all endpoints directly or indirectly connect to or otherwise communicate with; and 2) inefficient use of available network bandwidth to deliver the information to the endpoints that require such information.
While there are variations on the theme of centralized servers—for example dividing the server cluster into multiple layers and clusters to achieve a notion of “divide and conquer”—the server-based architecture still generally suffers from the same basic issue: endpoints that require information have some sort of subscription in place that causes the server(s) to forward information to each endpoint as that information becomes available or is modified. This leads to the second major drawback of a server-based architecture where oftentimes scarce network resources are stretched to the point where information simply cannot be reliably delivered or where the time to deliver the information in a reliable manner exceeds the useful age of that information. For example: delivery of crucial mission intelligence to mission coordinators (such as rescue workers or mission commanders) on the ground may be delayed to the point where, by the time that intelligence reaches workers, the information is no longer useful—potentially placing lives and the mission at risk.
There are various methods of synchronizing data between serverless networked nodes, a field of study overlapping peer-to-peer networking and distributed networking. There are typically 2 lines of design: high-bandwidth and low-bandwidth. High-bandwidth peer-to-peer architecture aims at utilizing the most bandwidth possible to achieve fast file transfers and is usually not concerned with network congestions: these designs are at the application layer and they assume appropriate network conditions. On the other hand, low-bandwidth solutions are concerned with and interact at the network layer but their implementation and customization of the layers below the Transport layer on the ISO stack often translate into a reduced flexibility in term of network topology and heterogeneity; for instance wireless mesh networking designs often rely on a modified IP stack implemented at every node.
BRIEF SUMMARY
One embodiment described herein provides: first, its capacity to function in a heterogeneous and dynamic network topology; second, its reliability and scalability throughout low-bandwidth intermittent networks and high-bandwidth networks; and third, its original ad-hoc and multi-hop ad-hoc design.
If we call “endpoints” (or generally “nodes”) nodes attached to a network by opposition to “players” defined as entities coupled to endpoints to access a network, and if we call “channel” a collection of endpoints coupled via:
    • an IP multicast group address and Any Sender Multicast (ASM);
    • point-to-point unicast connections;
    • a heterogeneous combination of the 2 topologies above.
      And if we call “player properties” an arbitrary key-value table of arbitrary size that is attached to each player, then we shall summarize this design as illustrated by way of example in FIGS. 1-2:
One aspect provides a method for communication in a network, the method comprising:
providing a first node having a first player with associated first player properties (FIG. 1);
providing a second node having a second player with associated second player properties (FIG. 1);
providing a third node having a third player with associated third player properties (FIG. 1);
coupling said second node to said first node and coupling said third node to said second node, to enable communication between said first, second, and third nodes via an IP multicast network so as to enable a sum of said first, second, and third player properties to form an information base for each said nodes (FIG. 2);
if one of said nodes is disconnected from other ones of said coupled nodes, updating said information base of each of said other ones of said nodes to remove the associated player properties of said disconnected node, and updating said information base of said disconnected node to remove the associated player properties of said other ones of said coupled nodes; and
if said disconnected node reconnects to a particular one of said coupled nodes, updating said information base of said reconnected node and said particular node and any node coupled thereto to include the associated player properties of said reconnected node.
Another aspect provides a communication system, comprising:
a plurality of distributed communication devices adapted to communicate with each other in an IP multicast network without use of a centralized server, each of said devices having respective properties that are communicated to other ones of said devices so that each device is aware of properties of all communicatively coupled devices in said IP multicast network; and
an information base for each of said devices, said information base being updated to remove properties of any of said devices that are communicatively decoupled and to add properties of any new ones of said devices that communicatively coupled to said IP multicast network.
Another aspect provides an article of manufacture, comprising:
a computer-readable medium having computer-readable instructions that are stored thereon and executable by a processor of one of a plurality of distributed communication devices, to:
communicate with other ones of said devices in an IP multicast network without use of a centralized server, each of said devices having respective properties that are communicated to other ones of said devices so that each device is aware of properties of all communicatively coupled devices in said IP multicast network; and
update an information base, said information base being updated to remove properties of any of said devices that are communicatively decoupled and to add properties of any new ones of said devices that communicatively coupled to said IP multicast network.
Still another aspect provides a network computing apparatus, comprising:
one of said plurality of distributed communication devices adapted to communicate with each other in the IP multicast network without use of the centralized server, said device including:
a processor adapted to perform said update of said information base;
a storage unit coupled to said processor and adapted to store said information base that includes properties of said one device and properties of coupled other ones of said devices; and
a communication interface coupled to said processor and to said storage unit and coupleable to said IP multicast network, and adapted to send and receive said properties and other communication with other ones of said devices via said IP multicast network
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 illustrates example nodes with associated players and player properties according to one embodiment.
FIG. 2 illustrates the exchange of player properties/information between nodes.
FIG. 3 illustrates example nodes, routing tables, and links according to one embodiment.
FIGS. 4-12 illustrate example implementation of rules according to various embodiments.
FIGS. 13-14 illustrate example link costs and implementation thereof according to one embodiment.
FIG. 15 is a block diagram showing components of an embodiment of a device adapted to communicate with other devices via an IP multicast network.
DETAILED DESCRIPTION
In the following description, numerous specific details are given to provide a thorough understanding of embodiments. The embodiments can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the embodiments.
Reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The headings provided herein are for convenience only and do not interpret the scope or meaning of the embodiments.
The embodiment(s) described herein provide an architecture and mode of operation wherein information is disseminated using a reliable IP multicast network implementation coupled with dynamically assigned proxy nodes serving as zonal aggregation points. These nodes share information with each other over the reliable IP multicast network, augmenting this function with a reliable point-to-point communication infrastructure between proxy nodes in those instances where IP multicast is not available or prone to error.
An embodiment employs a number of conceptual entities to provide the features described herein. These entities include “channels”, “players”, “messages”, “properties”, and “nodes”. A “channel” is a notional grouping of like-minded/like-use entities that have a desire or need to share information with each other. These entities are typically used to describe human end-users in an embodiment but may also refer to non-human entities such as computer devices, communications devices and systems, and so forth. A more general term therefore used to describe such an entity is a “player”. Stated in another way, a “player” exists along with other “players” on a “channel” and uses the “channel” to exchange information with each other.
Such information includes “properties' describing attributes of individual players such as a human player's name, title, operational role, etc. or, in the case of non-human players, attributes such as an IP address, CPU configuration, bandwidth availability, etc. In short, the properties can include any information that is pertinent to that player identifying itself on a channel to other players.
In an embodiment, in addition to player-specific properties as described above, properties may be applied to the channel itself—e.g., the properties need not pertain to a specific player but may be used to describe information about a group of players or the channel itself. An example of such a property may be the name of the channel, the role of that channel, and specific messages that should be displayed to human end-users when they join that channel. Similarly, a channel-specific property may also be used in a manner so as to coordinate group access to shared resources—essentially operating as a channel-wide flag or semaphore.
In addition to properties, a channel of one embodiment also serves as a virtual conduit of “messages” between players. In an embodiment, such messages may constitute a simple implementation of textual or other data messaging between players or may be utilized in a more sophisticated manner such as implementing a group-wide signaling protocol for purposes of controlling the operation of players or the devices that they represent.
In an embodiment, all players, properties describing those players and the channel, as well as messages on the channel are sent and received by “nodes”. A “node” is a logical interface to the channel provided by the underlying embodiment. This interface provides the conduit by which a computer application communicates on the channel.
In addition to providing this interface to the channel, a node may optionally function as a convergence point of data where the data needs to cross boundaries between channels—essentially “bridging” information across channels—or where the underlying networking infrastructure between instances of the channel is different. For example: in an embodiment, a node may pass data between instances of different channels (“bridging”) so that data may be shared between those channels; or the node may pass data between instances of the same channel where those instances are implemented on different networking topologies—such as bi-directionally relaying data between IP multicast and IP unicast topologies.
Building on these concepts, an embodiment may then be implemented on a variety of networking topologies, be able to scale to many thousands of nodes, properties, and messages, and represent thousands of individual players.
Integrity Assurance Channels
In an embodiment, the ability to scale to thousands of players and the properties associated with those players while keeping bandwidth utilization to a minimum, implements the creation of a special channel to coordinate system-level data exchange between nodes. Such a special channel—known as an “Integrity Assurance Channel” (IAC)—is responsible for node-level data exchange to ensure the integrity and consistency of the data held at each node. Such data includes the list of players on the channel, their associated properties, properties associated with the channel itself, messages queued for delivery, and so forth. Such coordination is typically only needed in an environment where IP multicast is used as the underlying network topology but it should be noted that such coordination may also exist across more reliable links such as IP unicast utilizing TCP as a delivery protocol. The messages exchanged on the IAC are specific to the IAC and constitute a protocol implemented only by nodes on that IAC. Furthermore, multiple IACs may exist in an embodiment so as to reduce overhead on a particular IAC relative to the traffic generated on the “normal” channels associated with it. In this regard, multiple “normal” channels may be associated with a particular IAC, thereby consolidating their respective information onto a single IAC rather than each propagating their information separately—and potentially in duplicate. While such association may occur on an IAC-per-channel basis, the method for implementation in an embodiment is for multiple normal channels to be associated with a single IAC. Following this method assures the lowest amount of overall bandwidth consumption for the number of “normal” channels in use.
Security
Security is a component of one embodiment. To this end, an embodiment utilizes a variety of encryption technologies including but not limited to the Advanced Encryption Standard or “AES”. In this embodiment, all messages exchanged over the IP network are assumed to be open to threat from outside entities and are therefore encrypted prior to transmission on the network. Further, and in this particular embodiment, the key used for encrypting data is pre-shared in nature—that is to say that all nodes learn about this key when they are first configured. While this is one particular method of key sharing, other methods exist such as Diffie-Hellman key exchange.
“Exhaustive Routing” Algorithm for Peer-to-Peer Networking
In one embodiment, nodes are connected/coupled to each other in a peer-to-peer network. Each node may have several connections or “links” to other nodes, and nodes not connected by a common link can communicate by passing messages through intermediate nodes in a multihop ad-hoc fashion. The routing algorithm allows nodes to find optimum routes between themselves and another node. Each node has a routing table that lists what link to use to reach a specific other node. The routing table lists every single node in the network, hence the name “exhaustive routing”, and what link to use for that node. The routing table of one embodiment need not show a full route, but only a one-hop route to the next node. Since every node has a full list of all nodes in the network, when the next-hop node receives a message, that node knows where to forward the message next. As shown in FIG. 3, nodes are circles, and routing tables are notes attached to nodes through a dashed line.
The numbers at the edges of the links between nodes show how nodes refer to these links. For instance, in FIG. 3, A calls its link to B “1”. Link numbers are internal to nodes and not communicated to other nodes: for instance, in the FIG. 3, B calls its link to C “2”, but C calls its link to B “1”. These numbers reflect the order they were created on the nodes. Still in FIG. 3, if A wants to send a message to C, it sees from its routing table that C is reachable through link 1. Thus A will send a message to B, which sees the message is intended for C. B then looks up its routing table and see C is reachable through link 2. Thus B will forward the message onto its link 2. C then receives the message.
Besides providing routes to nodes, the routing table of one embodiment serves another purpose: it lists all nodes currently connected/coupled to the network, providing nodes with “network-wide presence” information. If a node enters or leaves the network, all other nodes are informed of the entry/departure through a mechanism as will be described below. In a specific embodiment, the exhaustive-routing algorithm can be used exclusively to maintain presence information throughout a network.
In one embodiment, routing tables at nodes throughout the network are kept current with the following messaging system: there are 2 basic messages, HELLO and BYE that are exchanged between nodes to maintain accurate routing tables. HELLOs and BYEs are generated, interpreted, and forwarded from node to node according to the following example 8 rules:
Rule #1: Link Creation, HELLO Messages
The first rule is that when 2 nodes create a link to each other, they send a HELLO message stating their name. An example implementation of this rule is illustrated in FIG. 4.
If a node “knows of” other nodes, that node mentions them in the HELLO message. A node “knows of” other nodes by reading its routing table and gathering a list of all node names from all links. When a HELLO message contains more than a node's own name, such a message is called a “composite HELLO”. Implementation of a composite HELLO message is shown in FIG. 5. A composite HELLO message of one embodiment need not specify how to reach the other nodes, but only their names. If a node appears several times in the routing table, that is not repeated in the HELLO message, as for instance in FIG. 5, node Z appears twice in X's routing table but is provided only once in the HELLO message.
So going back to FIG. 3, if a standalone node D with no prior links was to form a link with node C, then D would send “HELLO:D” to C and C would send “HELLO:C,B,A” to D, as seen in FIG. 6.
Rule #2: Asynchronicity
The second rule explains that the order of events that lead to a new link between 2 nodes, such as in FIG. 6, is irrelevant: the only requirement of one embodiment is that the 2 HELLO messages described above are sent to the newly-connected/coupled neighbor node. Depending on context (e.g., hardware architecture, software architecture and operating system, API used), the creation of the link between 2 nodes can be a one-sided operation: the link can be created by one node only. In other cases, in order for an inter-node link to be created several messages are exchanged at the network or transport layer, and both nodes may need to initiate the link. In any case, the connection is first fully established, and then the exchange of HELLO happens.
Rule #3: HELLO Forwarding
The third basic rule explains how nodes forward incoming HELLO messages. In the example of FIG. 6, D would not have to forward its incoming HELLO message since it has no other link, but C would consider forwarding its incoming HELLO message from D onto its other links. The rule (illustrated by the example implementation in FIG. 7) is as follows in one embodiment:
On a given node N that has M links to other neighbor nodes, when a HELLO message comes in from a link L1, that HELLO message is first decomposed into a list of “simple HELLOs”. A composite HELLO message “HELLO:X,Y,Z . . . ” can be decomposed into a list of simple HELLOs: {“HELLO:X”, “HELLO:Y”, “HELLO:Z”, . . . }. For each of these simple HELLO message, the node N needs to iterate through each of its M links except for link L1, and consider if the simple HELLO message needs to be forwarded onto that link or not.
The criteria for a HELLO about a node X, “HELLO:X”, to be forwarded onto a link Li is the following: considering N's routing table, considering the entries of that routing table, and that each entry lists what nodes are reachable for a given link, in order to forward “HELLO:X” onto a link Li, the entries in the routing table for any link but Li need to show no instance of X. In other words, the node needs to forward a HELLO about X onto a link Li if and only if all entries in the routing table beside the one for Li do not list X.
Rule #4: Routing Table Update after HELLO Forwarding
The fourth rule states that once the third rule is fulfilled on a given node N, that is to say that N is done with forwarding an incoming HELLO message, to the node N updates its routing table before undertaking any other communication. The order of operation—forwarding first, updating routing table second—is used in one embodiment because the forwarding process (that was shown and described above) reads the routing table.
If 2 HELLO messages are received at once, the first one is processed according to rule 3, then rule 4 is applied; and the second HELLO is processed according to rule 3, then rule 4 is applied. The fourth rule of one embodiment provides that: for a HELLO message received from a link L on a node N that lists P nodes: N updates the entry for L in its routing table by adding X1, X2, X3, . . . , Xp to that entry. Routing table entries are sets of unique node names, so if for instance an entry was to list “A, B, C” and “B, D” is to be added, then the entry would be updated to “A, B, C, D”.
Rule #5: Link Destruction, BYE Messages
Link destruction is operated by BYE messages in one embodiment. When 2 nodes A and B are connected and A decides to destroy the edge, A can send/announce a BYE message to B as shown by way of example in FIG. 8.
This kind of BYE message of one embodiment has no payload (unlike forwarded BYE messages with respect to rule #6, described later below): it means the current edge is going to be disconnected/decoupled.
When B receives the BYE message, B replies with a BYE message as shown by way of example in FIG. 9.
And both nodes end the connection (link destruction), as shown by way of example in FIG. 10.
At this point, A and B would proceed to BYE forwarding (see, e.g., rule #6).
The kind of exchange described above is an “announced link destruction”, meaning that the nodes inform each other the link destruction before actually taking the link down. An alternative is the “unannounced link destruction” where one of the nodes (or both) takes the link down without sending a BYE message. Unless the link comes back up within a defined period, the nodes proceed to BYE forwarding (see, e.g., rule #6) just as if a BYE was received.
Rule #6: BYE Forwarding
Once a link is destroyed (whether announced or unannounced: see, e.g., rule #5), the 2 nodes at each end of the severed link inform their remaining neighbors of the link loss by sending BYE messages that list what nodes used to be visible on the destroyed link. FIG. 11 shows an example implementation of this rule, wherein the nodes A and B forward BYE messages that list what nodes used to be visible on the (now-destroyed) link(s).
It is noted that in one embodiment, the original BYE message had no payload, but the forwarded BYE messages have a payload: that of the list of nodes that were reachable through that edge.
Just like for HELLO messages, when a BYE message arrives at a node, the BYE message is decomposed into simple BYE messages, and each one is considered for forwarding on each link. FIG. 12 illustrates an example implementation.
The difference with HELLO messages is that the routing table is updated first and forwarding happens second. Updating the routing table includes removing references to the nodes listed in the BYE message for (and only for) the link that BYE message was received on. The forwarding logic is the following in one embodiment: once the incoming composite BYE message is decomposed into a list of simple BYE messages, each simple BYE message is considered for forwarding on each link (besides the one it came on). For a given link, a simple BYE is forwarded if (and only if) the node it refers to is not present (in the routing table) in any other link entry but itself. So for instance, if a node has 3 links L1 L2 and L3, and that node received a BYE about node X on L1, then that node will forward the BYE onto L2 if X is not listed (in the routing table) as a visible node from L1 and L3; and the node will forward the BYE onto L3 if X is not listed (in the routing table) as visible node from L1 and L2.
Rule #7: HELLO and BYE Recomposition
As described herein for one embodiment, when forwarding composite HELLO messages or composite BYE message, a node is first decomposes into simple messages (“simple” meaning that the message has a payload of 1 node), and then these simple messages are considered one by one for forwarding onto a given link.
In order to limit traffic according to one embodiment, simple messages can be recomposed (re-assembled) into composite messages if and only if they have the same source. HELLOs and BYEs have a field in their header that defines what node originally sent them. When messages are forwarded, this “source” field is not changed.
Rule #8: History-Based Message Pruning
Another field in both HELLO and BYE message headers is the message counter at the source. This message counter is a roll-over counter that a node increments whenever the node sends a message. The combination of the source field and this counter field forms a message ID that is unique within a certain period of time (determined by the size of the roll-over counter).
In one embodiment, these message IDs are stored in a history log per link on each node.
These history logs are used to filter out messages that appear more than once on a same link on a given node. If a message arriving at a node's link has a message ID that matches the history log, the message is discarded before any processing.
Both the roll-over counter width and the history log size are adjusted to sensible values to implement a fairly efficient history-based message pruning.
The pruning of one embodiment only needs to be fair and not perfect since this pruning helps lower traffic in case of topologies with loops, but this pruning is not necessary to the routing algorithm. The routing algorithm is resilient to over-sending. Repeated packets only increase traffic (which may lead to longer transient state), but not overall stability.
The above embodiment(s) of 8 rules describe how routing messages are transmitted and how messages alter nodes' routing tables. Ultimately, the nodes' routing tables act as a distributed database that establishes global network presence information: each node knows what other nodes are part of the network and how to reach them. The algorithm according to one embodiment allows a completely determined network presence mechanism. Presence information may be sufficient in some scenarios, but another role of the routing table is to provide optimized data routing between nodes.
Optimized Data routing is possible by keeping track of link cost and forwarding cost. The HELLO message header contains a cost field that is initialized to zero at the source node, and is incremented by a determined amount every time the message goes through a link: link cost, and by another determined amount every time the message is forwarded by a node: forwarding cost. Eventually, when a HELLO message is sourced at a node A and arrives at a node B, its cost field reflects the sum of all these increments. These costs are stored in the routing table, and are used to find optimized root. An example implementation is shown in FIG. 13.
In FIG. 13, costs are represented with the dollar symbol ‘$’. In this example, all link costs are set to 1 and there are no forwarding costs. The routing tables reflect costs with $ values in parenthesis. For instance, if A wants to send data to B, its routing table shows it can reach B from its link # 1 or its link # 2, but on link #1 a cost of 1 is associated B, and on link #2 a cost of 2 is associated to B; therefore a message to B should be sent onto link # 1.
When a node wants to send data to another node it does so by prepending a specific message header to it. The message header contains several fields, most current to all network designs (such as the payload length, a CRC of the payload, etc.), but also a value field that is similar to the time to live (TTL) field of IP packets. The difference with TTL is that the value field is decremented by the various link costs and forwarding costs (the TTL is decremented uniformly at each hop). Just like a TTL, when the value of a message reaches 0 the message is dropped.
When certain routes become too busy or unavailable, high-priority messages can be given higher value fields to give the routing algorithm more options. In FIG. 14, node D has a forwarding cost, it could be for instance that A, B, and C are linked by a land network and D is a telecommunication satellite. During normal operation when the land network is available, all data messages between A, B and C would use the land network: the routing tables reflect that optimized routes never go through D. During normal operation, if A wants to send data to B, A needs its message value to be set to 2. However if A loses its connection to C, messages with a value of 2 will not even leave A since there is no available route that has a cost of 2 or less. Messages with a value of 3 would use the satellite connection through D and would resume using C as soon as the land network comes back up.
In an embodiment, nodes may become disconnected from the larger system on an often but random basis and may very quickly reconnect either to the same node or one it was not previously connected to. In such an event, the immediate removal of a disconnected node's information from all other nodes in the system is not desirable as the resulting resynchronization upon reestablishment of connectivity will result in an inefficient use of networking and CPU resources. To mitigate against this, one embodiment employs timers on both ends of the list connection, starting those timers upon disconnection and canceling them upon reconnection. If reconnection does not occur within the timeframe specified by the timer on each end, the information is removed from all nodes (using the system of BYE messages described above). If however, reconnection does occur, the reconnecting nodes simply exchange a signature of the data they each contain (instead of the complete system of HELLO messages described above). This signature is represented as a list of the players represented by each of the two nodes involved in the connection and a hash of the combined properties for each of those players. If the signature received by a node from the other node matches the signature the node itself calculates, then no data exchange is required as the data is deemed to be identical on either side. If the signature does not match—either in one direction or both—the nodes initiate a request/response exchange for a list of players and their properties for which the individual signatures differ (using the complete system of HELLO messages described above). This algorithm ensures efficient use of networking and CPU resources, and dramatically reduces the perception of system thrashing on the part of human end-users.
FIG. 15 illustrates an embodiment of a network computing device 500 that can form one of more devices in a node. Examples of the network device 500 can include, but not be limited to, a cellular telephone, laptop computer, mobile wireless communication device (such as a PDA, Blackberry, and the like), desktop computer, server, switch, router, or any other network device having communication capability.
One embodiment of the network device 500 includes one or more processors 502 adapted to perform updates of the information base that stores the properties associated with the network device 500, as well as the properties of other devices 512 as explained above. The processor(s) 502 is also adapted to perform other acts associated with operation of the network device 500.
In an embodiment, the network device 500 includes a computer-readable storage medium 504, such as a memory, adapted to store computer-readable instructions that can be executed by the processor 502. For example, such computer-readable instructions can be in the form of a software program executable by the processor 502 to perform the update of properties, communication of properties and other messages, encrypt/decrypt communicated information, and various other features described herein. The storage medium 502 may store an information base that includes the properties 506, such as the properties described above.
A communication interface 508 is provided to enable communication of the properties and other messages to other devices 512 via a network 510, such as an IP multicast network. In one embodiment, the network interface is adapted to communicate the properties via the integrity assurance channel, which can be different than a normal channel used to communicate messages between the devices 512 via the IP multicast network 510.
A bus 514 couples the various components of the network device 500 to each other.
The following applications owned by the assignee of the present application are incorporated herein by reference in their entireties: U.S. patent application Ser. No. 12/494,728, entitled “METHOD, APPARATUS, SYSTEM, AND ARTICLE OF MANUFACTURE FOR RELIABLE LOW-BANDWIDTH INFORMATION DELIVERY ACROSS MIXED-MODE UNICAST AND MULTICAST NETWORKS,” filed Jun. 30, 2009; U.S. Provisional Patent Application Ser. No. 61/077,413, entitled “METHOD, APPARATUS, SYSTEM, AND ARTICLE OF MANUFACTURE FOR RELIABLE LOW BANDWIDTH INFORMATION DELIVERY ACROSS MIXED-MODE UNICAST AND MULTICAST NETWORKS,” filed Jul. 1, 2008; U.S. patent application Ser. No. 10/977,115, entitled “WIDE AREA VOICE ENVIRONMENT MULTI-CHANNEL COMMUNICATIONS SYSTEM AND METHOD,” filed Oct. 29, 2004, which in turn claims priority from U.S. Provisional Patent Application Ser. No. 60/516,233, filed Oct. 31, 2003; U.S. patent application Ser. No. 12/057,289, entitled “METHOD, APPARATUS, SYSTEM, AND ARTICLE OF MANUFACTURE FOR PROVIDING DISTRIBUTED CONVERGENCE NODES IN A COMMUNICATION NETWORK ENVIRONMENT,” filed Mar. 27, 2008, which in turn claims priority from U.S. Provisional Patent Application Ser. No. 60/908,878, filed Mar. 29, 2007.
The various embodiments described above can be combined to provide further embodiments. All of the U.S. patents, U.S. patent application publications, U.S. patent applications, foreign patents, foreign patent applications and non-patent publications referred to in this specification and/or listed in the Application Data Sheet are incorporated herein by reference, in their entirety. Aspects of the embodiments can be modified, if necessary to employ concepts of the various patents, applications and publications to provide yet further embodiments.
These and other changes can be made to the embodiments in light of the above-detailed description. In general, in the following claims, the terms used should not be construed to limit the claims to the specific embodiments disclosed in the specification and the claims, but should be construed to include all possible embodiments along with the full scope of equivalents to which such claims are entitled. Accordingly, the claims are not limited by the disclosure.

Claims (26)

What is claimed is:
1. A method for communication in a network, the method comprising:
receiving information regarding a first node associated with a first player, the first player having associated first player properties;
receiving information regarding a second node associated with a second player having associated second player properties, which are either a set of device specific properties or a set of human specific properties;
receiving information regarding a third node associated with a third player having associated third player properties, which are either a set of device specific properties or a set of human specific properties, wherein at least one of said players is a human;
communicatively coupling said second node to said first node and coupling said third node to said second node, to enable communication between said first, second, and third nodes via an IP multicast network so as to enable a sum of said first, second, and third player properties to form an information base for each of said nodes;
in response to one of said nodes becoming disconnected from other ones of said communicatively coupled nodes, updating said information base of each of said other ones of said communicatively coupled nodes to remove the associated player properties of said disconnected node, and updating said information base of said disconnected node to remove the associated player properties of said other ones of said communicatively coupled nodes; and
in response to said disconnected node becoming communicatively reconnected to a particular one of said communicatively coupled nodes, updating said information base of said communicatively reconnected node and said particular node and any node communicatively coupled thereto to include the associated player properties of said communicatively reconnected node.
2. The method of claim 1 wherein said first, second, and third player properties are communicated between said communicatively coupled nodes via an integrity assurance channel that is different than a normal channel used to communicate messages between said nodes via said IP multicast network.
3. The method of claim 1, further comprising providing security for communication of said first, second, and third player properties.
4. The method of claim 1, further comprising using at least one of said communicatively coupled nodes as a bridge between said IP multicast network and an external network.
5. The method of claim 1 wherein at least one of said second and third player properties is a set of human specific properties.
6. The method of claim 1 wherein at least one of said second and third player properties is a set of device specific properties which include one or more of: a CPU configuration and bandwidth availability.
7. The method of claim 1, further comprising implementing at least one rule that specifies:
link creating and exchanging HELLO messages;
asynchronicity;
forwarding of received HELLO messages;
routing table updating after forwarding HELLO messages;
link destruction and exchange of BYE messages;
forwarding of BYE messages after link destruction;
recompositing of simplified BYE and HELLO messages; and
history-based message pruning.
8. The method of claim 1, further comprising performing optimized data routing using either or both link cost information and forwarding cost information.
9. A communication system, comprising:
a plurality of distributed communication devices adapted to communicate with each other in an IP multicast network without use of a centralized server, each of said communication devices being associated with a respective player having respective player properties, the player properties of at least one of the players including a set of human specific properties, that are communicated to other ones of said communication devices so that each communication device is aware of respective player properties of all communicatively coupled communication devices in said IP multicast network; and
an information base for each of said communication devices, said information base being updated to remove the respective player properties of any of said communication devices that are communicatively decoupled from said IP multicast network and to add the respective player properties of any new ones of said communication devices that are communicatively coupled to said IP multicast network.
10. The system of claim 9, further comprising an integrity assurance channel that is different than a normal channel used to communicate messages between said communication devices via said IP multicast network.
11. The system of claim 9 wherein said communicated player properties are encrypted.
12. The system of claim 9 wherein one of said communication devices is adapted to operate as a bridge device between said IP multicast network and an external network.
13. The system of claim 9 wherein each of said communication devices is adapted to communicate with another of said communication devices using point-to-point communication.
14. The system of claim 9 wherein each of said communication devices is adapted to implement at least one rule that specifies:
link creation and exchange of HELLO messages;
asynchronicity;
forward of received HELLO messages;
routing table updates after forward of HELLO messages;
link destruction and exchange of BYE messages;
forward of BYE messages after link destruction;
recomposition of simplified BYE and HELLO messages; and
history-based prune of messages.
15. The system of claim 9 wherein each of said communication devices is adapted to perform optimized data routing using either or both link cost information and forwarding cost information.
16. An article of manufacture, comprising:
a non-transitory computer-readable medium having computer-readable instructions that are stored thereon and executable by a processor of one of a plurality of distributed communication devices, to:
communicate with other ones of said communication devices in an IP multicast network without use of a centralized server, each of said communication devices being associated with a respective human player having respective player properties that include a set of human specific properties that are communicated to other ones of said communication devices so that each communication device is aware of respective player properties of all communicatively coupled communication devices in said IP multicast network; and
update an information base, said information base being updated to remove the respective player properties of any of said communication devices that are communicatively decoupled from said IP multicast network and to add the respective player properties of any new ones of said communication devices that are communicatively coupled to said IP multicast network.
17. The article of manufacture of claim 16 wherein said non-transitory computer-readable medium further includes computer-readable instructions stored thereon that are executable by said processor to:
communicate said player properties via an integrity assurance channel that is different than a normal channel used to communicate messages between said communication devices via said IP multicast network.
18. The article of manufacture of claim 16 wherein said non-transitory computer-readable medium further includes computer-readable instructions stored thereon that are executable by said processor to:
encrypt said communicated player properties.
19. The article of manufacture of claim 16 wherein said non-transitory computer-readable medium further includes computer-readable instructions stored thereon that are executable by said processor to:
operate, one of the plurality of communication devices, as a bridge device between said IP multicast network and an external network.
20. The article of manufacture of claim 16 wherein said non-transitory computer-readable medium further includes computer-readable instructions stored thereon that are executable by said processor to:
implement at least one rule that specifies:
link creation and exchange of HELLO messages;
asynchronicity;
forward of received HELLO messages;
routing table updates after forward of HELLO messages;
link destruction and exchange of BYE messages;
forward of BYE messages after link destruction;
recomposition of simplified BYE and HELLO messages; and
history-based prune of messages.
21. The article of manufacture of claim 16 wherein said non-transitory computer-readable medium further includes computer-readable instructions stored thereon that are executable by said processor to:
perform optimized data routing using either or both link cost information and forwarding cost information.
22. A network computing apparatus, comprising:
a communication device communicatively coupleable with a plurality of distributed communication devices adapted to communicate with each other in an IP multicast network without use of a centralized server, at least one of said communication devices configured to be associated with a respective human player having respective player properties associated with the at least one of said communication devices that are able to be communicated to other ones of said communication devices so that each communication device is aware of respective player properties of all communicatively coupled communication devices in said IP multicast network, wherein each of said communication devices is associated with a respective information base configured to be updated to remove the respective player properties of any of said communication devices that are communicatively decoupled from said IP multicast network and to add the respective player properties of any new ones of said communication devices that are communicatively coupled to said IP multicast network, the communication device including:
a processor adapted to perform said update of the respective information base of the communication device;
a storage unit coupled to said processor and adapted to store the respective information base that includes the respective player properties of the communication device and the respective player properties of coupled other ones of said communication devices; and
a communication interface coupled to said processor and to said storage unit and coupleable to said IP multicast network, and adapted to send and receive respective player properties of said devices and other communication with other ones of said devices via said IP multicast network.
23. The apparatus of claim 22 wherein the communication device includes at least one of a cellular telephone, laptop computer, mobile wireless communication device, desktop computer, server, switch, router, and other network device.
24. The apparatus of claim 22 wherein said processor is adapted to encrypt and decrypt said respective player properties of said communication devices communicated via said IP multicast network.
25. The apparatus of claim 22 wherein the communication device is adapted to operate as a bridge device between said IP multicast network and an external network.
26. The apparatus of claim 22 wherein said communication interface is adapted to communicate said respective player properties of said communication devices via an integrity assurance channel that is different than a normal channel used to communicate messages between said communication devices via said IP multicast network.
US13/691,565 2008-07-01 2012-11-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks Active 2029-08-23 US9001826B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/691,565 US9001826B2 (en) 2008-07-01 2012-11-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US7741308P 2008-07-01 2008-07-01
US10146608P 2008-09-30 2008-09-30
US12/494,728 US8340094B2 (en) 2008-07-01 2009-06-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US13/691,565 US9001826B2 (en) 2008-07-01 2012-11-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/494,728 Continuation US8340094B2 (en) 2008-07-01 2009-06-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks

Publications (2)

Publication Number Publication Date
US20130114596A1 US20130114596A1 (en) 2013-05-09
US9001826B2 true US9001826B2 (en) 2015-04-07

Family

ID=41464357

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/494,728 Active 2030-02-16 US8340094B2 (en) 2008-07-01 2009-06-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US13/691,565 Active 2029-08-23 US9001826B2 (en) 2008-07-01 2012-11-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/494,728 Active 2030-02-16 US8340094B2 (en) 2008-07-01 2009-06-30 Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks

Country Status (5)

Country Link
US (2) US8340094B2 (en)
EP (1) EP2294548A4 (en)
AU (1) AU2009267135A1 (en)
CA (1) CA2726887C (en)
WO (1) WO2010002844A2 (en)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080240096A1 (en) 2007-03-29 2008-10-02 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
CA2726887C (en) 2008-07-01 2017-03-07 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US9325519B2 (en) * 2011-10-04 2016-04-26 Microsoft Technology Licensing, Llc Distributed proxy for bi-directional network connectivity over point-to-point connection
US10491458B2 (en) * 2013-01-31 2019-11-26 Dell Products L.P. System and method for reporting peer-to-peer transfer events
US9992021B1 (en) 2013-03-14 2018-06-05 GoTenna, Inc. System and method for private and point-to-point communication between computing devices
US9432204B2 (en) * 2013-08-24 2016-08-30 Nicira, Inc. Distributed multicast by endpoints
US9602385B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment selection
US9602392B2 (en) 2013-12-18 2017-03-21 Nicira, Inc. Connectivity segment coloring
US9794079B2 (en) 2014-03-31 2017-10-17 Nicira, Inc. Replicating broadcast, unknown-unicast, and multicast traffic in overlay logical networks bridged with physical networks
US20160105291A1 (en) * 2014-10-13 2016-04-14 Qualcomm Incorporated Establishing a multicast signaling control channel based on a multicast address that is related to floor arbitration for a p2p session
US10250658B2 (en) 2017-03-17 2019-04-02 The Directv Group, Inc. Hybrid media stream delivery using multiple network connections
US10778457B1 (en) 2019-06-18 2020-09-15 Vmware, Inc. Traffic replication in overlay networks spanning multiple sites
CN111276139B (en) * 2020-01-07 2023-09-19 百度在线网络技术(北京)有限公司 Voice wake-up method and device
US11784922B2 (en) 2021-07-03 2023-10-10 Vmware, Inc. Scalable overlay multicast routing in multi-tier edge gateways

Citations (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327428A (en) 1991-04-22 1994-07-05 International Business Machines Corporation Collision-free insertion and removal of circuit-switched channels in a packet-switched transmission structure
US5412654A (en) * 1994-01-10 1995-05-02 International Business Machines Corporation Highly dynamic destination-sequenced destination vector routing for mobile computers
US5426637A (en) 1992-12-14 1995-06-20 International Business Machines Corporation Methods and apparatus for interconnecting local area networks with wide area backbone networks
US5617539A (en) 1993-10-01 1997-04-01 Vicor, Inc. Multimedia collaboration system with separate data network and A/V network controlled by information transmitting on the data network
US5717689A (en) * 1995-10-10 1998-02-10 Lucent Technologies Inc. Data link layer protocol for transport of ATM cells over a wireless link
US5903559A (en) 1996-12-20 1999-05-11 Nec Usa, Inc. Method for internet protocol switching over fast ATM cell transport
US5916302A (en) 1996-12-06 1999-06-29 International Business Machines Corporation Multimedia conferencing using parallel networks
US5987518A (en) 1996-10-28 1999-11-16 General Instrument Corporation Method and apparatus for communicating internet protocol data over a broadband MPEG channel
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US6021119A (en) 1994-06-24 2000-02-01 Fleetwood Group, Inc. Multiple site interactive response system
US6122281A (en) 1996-07-22 2000-09-19 Cabletron Systems, Inc. Method and apparatus for transmitting LAN data over a synchronous wide area network
US6131123A (en) 1998-05-14 2000-10-10 Sun Microsystems Inc. Efficient message distribution to subsets of large computer networks using multicast for near nodes and unicast for far nodes
US6130880A (en) 1998-03-20 2000-10-10 3Com Corporation Method and apparatus for adaptive prioritization of multiple information types in highly congested communication devices
US6163692A (en) 1998-05-28 2000-12-19 Lucent Technologies, Inc. Telecommunication network with mobile voice conferencing system and method
US20010005368A1 (en) 1999-12-06 2001-06-28 Johan Rune Method and communication system in wireless AD HOC networks
US6275575B1 (en) 2000-01-12 2001-08-14 Right4Me.Com, Inc. Method and system for coordinating and initiating cross-platform telephone conferences
US6314089B1 (en) 1996-05-07 2001-11-06 Inventions, Inc. Creating and using an adaptable multiple-contact transaction object
US20010049283A1 (en) 2000-05-31 2001-12-06 Graham Thomas Conference call method and apparatus therefor
US20010055279A1 (en) 2000-05-18 2001-12-27 Nec Corporation Multiplexing technique for audio teleconferencing
US20020029278A1 (en) 2000-09-07 2002-03-07 Masatoshi Shiouchi Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US20020044549A1 (en) * 2000-06-12 2002-04-18 Per Johansson Efficient scatternet forming
US20020064149A1 (en) 1996-11-18 2002-05-30 Elliott Isaac K. System and method for providing requested quality of service in a hybrid network
US20020069278A1 (en) 2000-12-05 2002-06-06 Forsloew Jan Network-based mobile workgroup system
US20020101829A1 (en) 2001-01-29 2002-08-01 Kabushiki Kaisha Toshiba Electronic conference system using presentation data processing based on audience equipment information
US20020161841A1 (en) 2001-04-27 2002-10-31 Nokia Corporation System for sending group messages
US6477366B1 (en) 1999-09-22 2002-11-05 Ericsson Inc. System and method for virtual citizen's band radio in a cellular network
US20020188865A1 (en) 2001-06-06 2002-12-12 International Business Machines Corporation Secure inter-node communication
US20020191612A1 (en) 2001-01-26 2002-12-19 Placeware, Inc. Method and apparatus for automatically determining an appropriate transmission method in a network
US20020196802A1 (en) 1998-02-26 2002-12-26 Joshua Sakov Data forwarding method and apparatus
US6501739B1 (en) 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US20030002448A1 (en) 2001-06-29 2003-01-02 Laursen Arthur I. Method and system for distributed conference bridge processing
US6504836B1 (en) 1997-10-27 2003-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Communication system
US20030012149A1 (en) 2000-03-03 2003-01-16 Qualcomm, Inc. System and method for providing group communication services
US20030018792A1 (en) 2000-09-07 2003-01-23 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US20030037160A1 (en) 1999-04-09 2003-02-20 Gerard A. Wall Method and apparatus for adaptably providing data to a network environment
US20030037109A1 (en) 2000-08-11 2003-02-20 Newman Harvey B. Virtual room videoconferencing system
US20030041141A1 (en) 2001-01-22 2003-02-27 Abdelaziz Mohamed M. Peer-to-peer presence detection
US20030058858A1 (en) 2001-09-24 2003-03-27 Teleware, Inc. Multi-media communication management system with multicast messaging capabilities
US6563793B1 (en) 1998-11-25 2003-05-13 Enron Warpspeed Services, Inc. Method and apparatus for providing guaranteed quality/class of service within and across networks using existing reservation protocols and frame formats
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing
US20030128689A1 (en) 1999-02-25 2003-07-10 3Com Corporation Virtual home agent service using software-replicated home agents
US20030135638A1 (en) 2002-01-11 2003-07-17 International Business Machines Corporation Dynamic modification of application behavior in response to changing environmental conditions
US20030137959A1 (en) 2001-09-24 2003-07-24 Nebiker Robert M. Flexible-link multi-media communication
US6603965B1 (en) 2000-05-11 2003-08-05 International Business Machines Corporation Pervasive voice handset system
US6628625B1 (en) 1997-06-09 2003-09-30 Microsoft Corporation Transmission announcement system and method for announcing upcoming data transmissions over a broadcast network
US6631415B1 (en) 1999-03-19 2003-10-07 Sony Corporation Method and system for providing a communication connection using stream identifiers
US6647430B1 (en) 1999-07-30 2003-11-11 Nortel Networks Limited Geographically separated totem rings
US20030210656A1 (en) 2002-05-13 2003-11-13 Zoltan Biacs System and method for reference data processing in network assisted position determination
US20030233538A1 (en) 2002-05-31 2003-12-18 Bruno Dutertre System for dynamic, scalable secure sub-grouping in mobile ad-hoc networks
US20040001446A1 (en) 2002-05-07 2004-01-01 Randeep Bhatia Method and system for supporting rendezvous based instant group conferencing among mobile users
US6697342B1 (en) 1999-06-30 2004-02-24 Nortel Networks Limited Conference circuit for encoded digital audio
US20040052218A1 (en) 2002-09-06 2004-03-18 Cisco Technology, Inc. Method and system for improving the intelligibility of a moderator during a multiparty communication session
US6748447B1 (en) 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6751200B1 (en) * 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US20040141511A1 (en) 2002-12-23 2004-07-22 Johan Rune Bridging between a bluetooth scatternet and an ethernet LAN
US6775258B1 (en) * 2000-03-17 2004-08-10 Nokia Corporation Apparatus, and associated method, for routing packet data in an ad hoc, wireless communication system
US6795688B1 (en) * 2001-01-19 2004-09-21 3Com Corporation Method and system for personal area network (PAN) degrees of mobility-based configuration
US20040233881A1 (en) 2003-05-06 2004-11-25 Samsung Electronics Co., Ltd. Route discovery device and method in a mobile ad-hoc network
US20040233855A1 (en) * 2003-05-19 2004-11-25 Gutierrez Jose A. Ad-hoc network and method of routing communications in a communication network
US20040260814A1 (en) 2003-06-18 2004-12-23 Utah State University Efficient unicast-based multicast tree construction and maintenance for multimedia transmission
US20040264466A1 (en) * 2003-06-25 2004-12-30 Nokia Corporation Bluetooth personal area network routing protocol optimization using connectivity metric
US20050008024A1 (en) 2003-06-27 2005-01-13 Marconi Communications, Inc. Gateway and method
US20050021616A1 (en) 2001-07-03 2005-01-27 Jarno Rajahalme Method for managing sessions between network parties, methods, network element and terminal for managing calls
US6873627B1 (en) 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
US20050135286A1 (en) * 2003-12-23 2005-06-23 Nurminen Jukka K. Wireless extended proximity networks: systems, methods and program products
US20050152305A1 (en) 2002-11-25 2005-07-14 Fujitsu Limited Apparatus, method, and medium for self-organizing multi-hop wireless access networks
US6963563B1 (en) 2000-05-08 2005-11-08 Nortel Networks Limited Method and apparatus for transmitting cells across a switch in unicast and multicast modes
EP1613023A2 (en) 2004-07-01 2006-01-04 Fujitsu Limited Network system, network bridge device, network management apparatus, network address assignment method and network address resolution method
US20060126587A1 (en) 2004-12-09 2006-06-15 Oki Electric Industry Co., Ltd. Network switching system having a connection device management table commonly owned on a wireless network
US20060146921A1 (en) 2004-12-21 2006-07-06 Tyco Electronics Corporation Multi-mode signal modification circuit with common mode bypass
US20060146821A1 (en) 2004-12-30 2006-07-06 Nokia Inc. Virtual multicast routing for a cluster having state synchronization
US20060159090A1 (en) 2005-01-14 2006-07-20 1E Limited Data distribution apparatus and method
US20060182034A1 (en) 2002-12-13 2006-08-17 Eric Klinker Topology aware route control
US7103011B2 (en) 2001-08-30 2006-09-05 Motorola, Inc. Use of IP-multicast technology for 2-party calls in mobile communication networks
US20060212582A1 (en) 2005-03-15 2006-09-21 Microsoft Corporation Architecture for building a peer to peer messaging platform
US20060218301A1 (en) 2000-01-25 2006-09-28 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US20060268749A1 (en) * 2005-05-31 2006-11-30 Rahman Shahriar I Multiple wireless spanning tree protocol for use in a wireless mesh network
US20060285529A1 (en) * 2005-06-15 2006-12-21 Hares Susan K Wireless mesh routing protocol utilizing hybrid link state algorithms
US20070067487A1 (en) 2001-10-04 2007-03-22 Newnew Networks Innovations Limited Communications node
US7286532B1 (en) 2001-02-22 2007-10-23 Cisco Technology, Inc. High performance interface logic architecture of an intermediate network node
US20070280230A1 (en) 2006-05-31 2007-12-06 Motorola, Inc Method and system for service discovery across a wide area network
US20080013465A1 (en) 2002-12-11 2008-01-17 Nippon Telegraph And Telephone Corp. Multicast communication path calculation method and multicast communication path calculation apparatus
US20080056257A1 (en) 2000-04-06 2008-03-06 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
US20080062941A1 (en) 2003-06-05 2008-03-13 Millennial Net, Inc. A Delaware Corporation Protocol for configuring a wireless network
US20080069105A1 (en) * 2004-06-24 2008-03-20 Telecom Italia S.P.A. Method and System for Controlling Access to Communication Networks, Related Network and Computer Program Therefor
US20080112404A1 (en) 2006-11-15 2008-05-15 Josue Kuri Overlay multicast network architecture and method to design said network
US20080117823A1 (en) * 2006-11-09 2008-05-22 Avaya Technology Llc Detection and Handling of Lost Messages During Load-Balancing Routing Protocols
US20080181161A1 (en) 2007-01-25 2008-07-31 Lg Electronics Inc. Method of transmitting and receiving multicast data
US20080205395A1 (en) 2007-02-23 2008-08-28 Alcatel Lucent Receiving multicast traffic at non-designated routers
US20080219237A1 (en) 2007-03-07 2008-09-11 Pascal Thubert Multicast support by mobile routers in a mobile ad hoc network
US20080240096A1 (en) 2007-03-29 2008-10-02 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
US20090023324A1 (en) 2005-04-14 2009-01-22 Taiko Denki Co., Ltd. Locking structure of flexible board
US7483397B2 (en) 1991-10-01 2009-01-27 Broadcom Corporation Radio frequency local area network
US7512124B2 (en) 2002-12-31 2009-03-31 Alcatel Lucent Multicast optimization in a VLAN tagged network
US7522731B2 (en) 2003-04-28 2009-04-21 Firetide, Inc. Wireless service points having unique identifiers for secure communication
US7522537B2 (en) 2003-01-13 2009-04-21 Meshnetworks, Inc. System and method for providing connectivity between an intelligent access point and nodes in a wireless network
US20090116393A1 (en) 2007-10-01 2009-05-07 Hughes Timothy J Multi-metric routing calculations
US20090231189A1 (en) * 2006-07-03 2009-09-17 Tanla Solutions Limited Vehicle tracking and security using an ad-hoc wireless mesh and method thereof
US20090257432A1 (en) 2006-03-16 2009-10-15 Tsuyoshi Yamaguchi Terminal
US20100002698A1 (en) 2008-07-01 2010-01-07 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US7698463B2 (en) 2000-09-12 2010-04-13 Sri International System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network
US7734293B2 (en) * 2003-10-29 2010-06-08 Martin Zilliacus Mapping wireless proximity identificator to subscriber identity for hotspot based wireless services for mobile terminals
US20100142446A1 (en) 2008-09-04 2010-06-10 Ludger Schlicht Business management systems for a mobile, broadband, routable internet
US7876756B2 (en) 2006-02-17 2011-01-25 Panasonic Corporation Packet transmitting method, relay node and receiving node
US7899951B2 (en) 1991-05-13 2011-03-01 Broadcom Corporation Communication network having a plurality of bridging nodes which transmits a polling message with backward learning technique to determine communication pathway
US7961694B1 (en) * 2006-05-26 2011-06-14 The Hong Kong University Of Science And Technology Peer-to-peer collaborative streaming among mobile terminals
US7961646B2 (en) 2005-04-25 2011-06-14 Thomson Licensing Multicast mesh routing protocol
US8005952B2 (en) * 2002-02-28 2011-08-23 Hewlett-Packard Development Company, L.P. Method for intelligently selecting wireless access point
US8121057B1 (en) 2003-10-31 2012-02-21 Twisted Pair Solutions, Inc. Wide area voice environment multi-channel communications system and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7222187B2 (en) * 2001-07-31 2007-05-22 Sun Microsystems, Inc. Distributed trust mechanism for decentralized networks
DE10143754A1 (en) * 2001-09-06 2003-04-03 Siemens Ag Scalable peer-to-peer network with a directory service
US7206934B2 (en) * 2002-09-26 2007-04-17 Sun Microsystems, Inc. Distributed indexing of identity information in a peer-to-peer network
US7533141B2 (en) * 2003-01-24 2009-05-12 Sun Microsystems, Inc. System and method for unique naming of resources in networked environments
DE102004023302B4 (en) * 2004-05-11 2006-05-18 Fujitsu Siemens Computers Gmbh Screen image transmission procedure uses ad hoc wireless network with static IP address and multicast capability to transmit compressed data units
EP1617591A1 (en) * 2004-07-15 2006-01-18 France Telecom Method and server for peer-to-peer distribution of files requested for download
DE102004036259B3 (en) * 2004-07-26 2005-12-08 Siemens Ag Network management with peer-to-peer protocol
US7664109B2 (en) * 2004-09-03 2010-02-16 Microsoft Corporation System and method for distributed streaming of scalable media
EP1742414B1 (en) * 2005-07-05 2012-12-26 Newtec Communications GmbH Peer-to-peer multicast gateway
CN101047550A (en) * 2006-03-28 2007-10-03 华为技术有限公司 Block structure of P2P network and its network set method
DE102006014592A1 (en) * 2006-03-29 2007-10-04 Siemens Ag Data transmitting method for e.g. peer-to-peer data network, involves distributing partial data streams over intermediate nodes in data network such that receiving network nodes receive all partial data streams

Patent Citations (117)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327428A (en) 1991-04-22 1994-07-05 International Business Machines Corporation Collision-free insertion and removal of circuit-switched channels in a packet-switched transmission structure
US7899951B2 (en) 1991-05-13 2011-03-01 Broadcom Corporation Communication network having a plurality of bridging nodes which transmits a polling message with backward learning technique to determine communication pathway
US7483397B2 (en) 1991-10-01 2009-01-27 Broadcom Corporation Radio frequency local area network
US5426637A (en) 1992-12-14 1995-06-20 International Business Machines Corporation Methods and apparatus for interconnecting local area networks with wide area backbone networks
US5617539A (en) 1993-10-01 1997-04-01 Vicor, Inc. Multimedia collaboration system with separate data network and A/V network controlled by information transmitting on the data network
US5412654A (en) * 1994-01-10 1995-05-02 International Business Machines Corporation Highly dynamic destination-sequenced destination vector routing for mobile computers
US6021119A (en) 1994-06-24 2000-02-01 Fleetwood Group, Inc. Multiple site interactive response system
US20050100016A1 (en) 1995-01-19 2005-05-12 The Fantastic Corporation System and method for sending packets over a computer network
US6873627B1 (en) 1995-01-19 2005-03-29 The Fantastic Corporation System and method for sending packets over a computer network
US7710961B2 (en) 1995-01-19 2010-05-04 Miller C Kenneth System and method for sending packets over a computer network
US8081629B2 (en) 1995-01-19 2011-12-20 Darby & Mohaine, L.L.C. System and method for sending packets over a computer network
US5717689A (en) * 1995-10-10 1998-02-10 Lucent Technologies Inc. Data link layer protocol for transport of ATM cells over a wireless link
US6314089B1 (en) 1996-05-07 2001-11-06 Inventions, Inc. Creating and using an adaptable multiple-contact transaction object
US6122281A (en) 1996-07-22 2000-09-19 Cabletron Systems, Inc. Method and apparatus for transmitting LAN data over a synchronous wide area network
US5987011A (en) * 1996-08-30 1999-11-16 Chai-Keong Toh Routing method for Ad-Hoc mobile networks
US5987518A (en) 1996-10-28 1999-11-16 General Instrument Corporation Method and apparatus for communicating internet protocol data over a broadband MPEG channel
US20020064149A1 (en) 1996-11-18 2002-05-30 Elliott Isaac K. System and method for providing requested quality of service in a hybrid network
US5916302A (en) 1996-12-06 1999-06-29 International Business Machines Corporation Multimedia conferencing using parallel networks
US5903559A (en) 1996-12-20 1999-05-11 Nec Usa, Inc. Method for internet protocol switching over fast ATM cell transport
US6628625B1 (en) 1997-06-09 2003-09-30 Microsoft Corporation Transmission announcement system and method for announcing upcoming data transmissions over a broadcast network
US6504836B1 (en) 1997-10-27 2003-01-07 Telefonaktiebolaget Lm Ericsson (Publ) Communication system
US20020196802A1 (en) 1998-02-26 2002-12-26 Joshua Sakov Data forwarding method and apparatus
US6535486B1 (en) 1998-03-20 2003-03-18 3Com Corporation Method and apparatus for adaptive prioritization of multiple information types in highly congested communication devices
US6130880A (en) 1998-03-20 2000-10-10 3Com Corporation Method and apparatus for adaptive prioritization of multiple information types in highly congested communication devices
US6131123A (en) 1998-05-14 2000-10-10 Sun Microsystems Inc. Efficient message distribution to subsets of large computer networks using multicast for near nodes and unicast for far nodes
US6163692A (en) 1998-05-28 2000-12-19 Lucent Technologies, Inc. Telecommunication network with mobile voice conferencing system and method
US6563793B1 (en) 1998-11-25 2003-05-13 Enron Warpspeed Services, Inc. Method and apparatus for providing guaranteed quality/class of service within and across networks using existing reservation protocols and frame formats
US20030128689A1 (en) 1999-02-25 2003-07-10 3Com Corporation Virtual home agent service using software-replicated home agents
US6631415B1 (en) 1999-03-19 2003-10-07 Sony Corporation Method and system for providing a communication connection using stream identifiers
US20030037160A1 (en) 1999-04-09 2003-02-20 Gerard A. Wall Method and apparatus for adaptably providing data to a network environment
US6591301B1 (en) 1999-06-07 2003-07-08 Nortel Networks Limited Methods and systems for controlling network gatekeeper message processing
US6697342B1 (en) 1999-06-30 2004-02-24 Nortel Networks Limited Conference circuit for encoded digital audio
US6647430B1 (en) 1999-07-30 2003-11-11 Nortel Networks Limited Geographically separated totem rings
US6477366B1 (en) 1999-09-22 2002-11-05 Ericsson Inc. System and method for virtual citizen's band radio in a cellular network
US6751200B1 (en) * 1999-12-06 2004-06-15 Telefonaktiebolaget Lm Ericsson (Publ) Route discovery based piconet forming
US20010005368A1 (en) 1999-12-06 2001-06-28 Johan Rune Method and communication system in wireless AD HOC networks
US6275575B1 (en) 2000-01-12 2001-08-14 Right4Me.Com, Inc. Method and system for coordinating and initiating cross-platform telephone conferences
US20060218301A1 (en) 2000-01-25 2006-09-28 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US20030012149A1 (en) 2000-03-03 2003-01-16 Qualcomm, Inc. System and method for providing group communication services
US6775258B1 (en) * 2000-03-17 2004-08-10 Nokia Corporation Apparatus, and associated method, for routing packet data in an ad hoc, wireless communication system
US20080056257A1 (en) 2000-04-06 2008-03-06 The Distribution Systems Research Institute Terminal-to-terminal communication connection control method using IP transfer network
US6748447B1 (en) 2000-04-07 2004-06-08 Network Appliance, Inc. Method and apparatus for scalable distribution of information in a distributed network
US6963563B1 (en) 2000-05-08 2005-11-08 Nortel Networks Limited Method and apparatus for transmitting cells across a switch in unicast and multicast modes
US6603965B1 (en) 2000-05-11 2003-08-05 International Business Machines Corporation Pervasive voice handset system
US20010055279A1 (en) 2000-05-18 2001-12-27 Nec Corporation Multiplexing technique for audio teleconferencing
US6501739B1 (en) 2000-05-25 2002-12-31 Remoteability, Inc. Participant-controlled conference calling system
US20010049283A1 (en) 2000-05-31 2001-12-06 Graham Thomas Conference call method and apparatus therefor
US20020044549A1 (en) * 2000-06-12 2002-04-18 Per Johansson Efficient scatternet forming
US20030037109A1 (en) 2000-08-11 2003-02-20 Newman Harvey B. Virtual room videoconferencing system
US20030018792A1 (en) 2000-09-07 2003-01-23 Fujitsu Limited Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US20020029278A1 (en) 2000-09-07 2002-03-07 Masatoshi Shiouchi Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same
US7698463B2 (en) 2000-09-12 2010-04-13 Sri International System and method for disseminating topology and link-state information to routing nodes in a mobile ad hoc network
US20020069278A1 (en) 2000-12-05 2002-06-06 Forsloew Jan Network-based mobile workgroup system
US6795688B1 (en) * 2001-01-19 2004-09-21 3Com Corporation Method and system for personal area network (PAN) degrees of mobility-based configuration
US20030041141A1 (en) 2001-01-22 2003-02-27 Abdelaziz Mohamed M. Peer-to-peer presence detection
US20020191612A1 (en) 2001-01-26 2002-12-19 Placeware, Inc. Method and apparatus for automatically determining an appropriate transmission method in a network
US20020101829A1 (en) 2001-01-29 2002-08-01 Kabushiki Kaisha Toshiba Electronic conference system using presentation data processing based on audience equipment information
US7286532B1 (en) 2001-02-22 2007-10-23 Cisco Technology, Inc. High performance interface logic architecture of an intermediate network node
US20020161841A1 (en) 2001-04-27 2002-10-31 Nokia Corporation System for sending group messages
US20020188865A1 (en) 2001-06-06 2002-12-12 International Business Machines Corporation Secure inter-node communication
US20030002448A1 (en) 2001-06-29 2003-01-02 Laursen Arthur I. Method and system for distributed conference bridge processing
US20050021616A1 (en) 2001-07-03 2005-01-27 Jarno Rajahalme Method for managing sessions between network parties, methods, network element and terminal for managing calls
US7103011B2 (en) 2001-08-30 2006-09-05 Motorola, Inc. Use of IP-multicast technology for 2-party calls in mobile communication networks
US20030058858A1 (en) 2001-09-24 2003-03-27 Teleware, Inc. Multi-media communication management system with multicast messaging capabilities
US20030137959A1 (en) 2001-09-24 2003-07-24 Nebiker Robert M. Flexible-link multi-media communication
US20070067487A1 (en) 2001-10-04 2007-03-22 Newnew Networks Innovations Limited Communications node
US20030135638A1 (en) 2002-01-11 2003-07-17 International Business Machines Corporation Dynamic modification of application behavior in response to changing environmental conditions
US8005952B2 (en) * 2002-02-28 2011-08-23 Hewlett-Packard Development Company, L.P. Method for intelligently selecting wireless access point
US20040001446A1 (en) 2002-05-07 2004-01-01 Randeep Bhatia Method and system for supporting rendezvous based instant group conferencing among mobile users
US20030210656A1 (en) 2002-05-13 2003-11-13 Zoltan Biacs System and method for reference data processing in network assisted position determination
US20030233538A1 (en) 2002-05-31 2003-12-18 Bruno Dutertre System for dynamic, scalable secure sub-grouping in mobile ad-hoc networks
US20040052218A1 (en) 2002-09-06 2004-03-18 Cisco Technology, Inc. Method and system for improving the intelligibility of a moderator during a multiparty communication session
US20050152305A1 (en) 2002-11-25 2005-07-14 Fujitsu Limited Apparatus, method, and medium for self-organizing multi-hop wireless access networks
US20080013465A1 (en) 2002-12-11 2008-01-17 Nippon Telegraph And Telephone Corp. Multicast communication path calculation method and multicast communication path calculation apparatus
US20060182034A1 (en) 2002-12-13 2006-08-17 Eric Klinker Topology aware route control
US20040141511A1 (en) 2002-12-23 2004-07-22 Johan Rune Bridging between a bluetooth scatternet and an ethernet LAN
US7512124B2 (en) 2002-12-31 2009-03-31 Alcatel Lucent Multicast optimization in a VLAN tagged network
US7522537B2 (en) 2003-01-13 2009-04-21 Meshnetworks, Inc. System and method for providing connectivity between an intelligent access point and nodes in a wireless network
US7522731B2 (en) 2003-04-28 2009-04-21 Firetide, Inc. Wireless service points having unique identifiers for secure communication
US20040233881A1 (en) 2003-05-06 2004-11-25 Samsung Electronics Co., Ltd. Route discovery device and method in a mobile ad-hoc network
US20040233855A1 (en) * 2003-05-19 2004-11-25 Gutierrez Jose A. Ad-hoc network and method of routing communications in a communication network
US20080062941A1 (en) 2003-06-05 2008-03-13 Millennial Net, Inc. A Delaware Corporation Protocol for configuring a wireless network
US20040260814A1 (en) 2003-06-18 2004-12-23 Utah State University Efficient unicast-based multicast tree construction and maintenance for multimedia transmission
US20040264466A1 (en) * 2003-06-25 2004-12-30 Nokia Corporation Bluetooth personal area network routing protocol optimization using connectivity metric
US20050008024A1 (en) 2003-06-27 2005-01-13 Marconi Communications, Inc. Gateway and method
US7734293B2 (en) * 2003-10-29 2010-06-08 Martin Zilliacus Mapping wireless proximity identificator to subscriber identity for hotspot based wireless services for mobile terminals
US8121057B1 (en) 2003-10-31 2012-02-21 Twisted Pair Solutions, Inc. Wide area voice environment multi-channel communications system and method
US20120134301A1 (en) 2003-10-31 2012-05-31 Twisted Pair Solutions, Inc. Wide area voice environment multi-channel communications system and method
US20050135286A1 (en) * 2003-12-23 2005-06-23 Nurminen Jukka K. Wireless extended proximity networks: systems, methods and program products
US20080069105A1 (en) * 2004-06-24 2008-03-20 Telecom Italia S.P.A. Method and System for Controlling Access to Communication Networks, Related Network and Computer Program Therefor
EP1613023A2 (en) 2004-07-01 2006-01-04 Fujitsu Limited Network system, network bridge device, network management apparatus, network address assignment method and network address resolution method
US20060126587A1 (en) 2004-12-09 2006-06-15 Oki Electric Industry Co., Ltd. Network switching system having a connection device management table commonly owned on a wireless network
US20060146921A1 (en) 2004-12-21 2006-07-06 Tyco Electronics Corporation Multi-mode signal modification circuit with common mode bypass
US20060146821A1 (en) 2004-12-30 2006-07-06 Nokia Inc. Virtual multicast routing for a cluster having state synchronization
US20060159090A1 (en) 2005-01-14 2006-07-20 1E Limited Data distribution apparatus and method
US20060212582A1 (en) 2005-03-15 2006-09-21 Microsoft Corporation Architecture for building a peer to peer messaging platform
US20090023324A1 (en) 2005-04-14 2009-01-22 Taiko Denki Co., Ltd. Locking structure of flexible board
US7961646B2 (en) 2005-04-25 2011-06-14 Thomson Licensing Multicast mesh routing protocol
US20060268749A1 (en) * 2005-05-31 2006-11-30 Rahman Shahriar I Multiple wireless spanning tree protocol for use in a wireless mesh network
US20060285529A1 (en) * 2005-06-15 2006-12-21 Hares Susan K Wireless mesh routing protocol utilizing hybrid link state algorithms
US7876756B2 (en) 2006-02-17 2011-01-25 Panasonic Corporation Packet transmitting method, relay node and receiving node
US20090257432A1 (en) 2006-03-16 2009-10-15 Tsuyoshi Yamaguchi Terminal
US7961694B1 (en) * 2006-05-26 2011-06-14 The Hong Kong University Of Science And Technology Peer-to-peer collaborative streaming among mobile terminals
US20070280230A1 (en) 2006-05-31 2007-12-06 Motorola, Inc Method and system for service discovery across a wide area network
US20090231189A1 (en) * 2006-07-03 2009-09-17 Tanla Solutions Limited Vehicle tracking and security using an ad-hoc wireless mesh and method thereof
US20080117823A1 (en) * 2006-11-09 2008-05-22 Avaya Technology Llc Detection and Handling of Lost Messages During Load-Balancing Routing Protocols
US20080112404A1 (en) 2006-11-15 2008-05-15 Josue Kuri Overlay multicast network architecture and method to design said network
US20080181161A1 (en) 2007-01-25 2008-07-31 Lg Electronics Inc. Method of transmitting and receiving multicast data
US20080205395A1 (en) 2007-02-23 2008-08-28 Alcatel Lucent Receiving multicast traffic at non-designated routers
US20080219237A1 (en) 2007-03-07 2008-09-11 Pascal Thubert Multicast support by mobile routers in a mobile ad hoc network
US20110013632A1 (en) 2007-03-29 2011-01-20 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
US20080240096A1 (en) 2007-03-29 2008-10-02 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
US20130188639A1 (en) 2007-03-29 2013-07-25 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for providing distributed convergence nodes in a communication network environment
US20090116393A1 (en) 2007-10-01 2009-05-07 Hughes Timothy J Multi-metric routing calculations
US20100002698A1 (en) 2008-07-01 2010-01-07 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US8340094B2 (en) 2008-07-01 2012-12-25 Twisted Pair Solutions, Inc. Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
US20100142446A1 (en) 2008-09-04 2010-06-10 Ludger Schlicht Business management systems for a mobile, broadband, routable internet

Non-Patent Citations (56)

* Cited by examiner, † Cited by third party
Title
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Distributed Convergence Nodes in a Communication Network Environment," Amendment filed Jul. 20, 2012, for U.S. Appl. No. 12/724,244, 15 pages.
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Distributed Convergence Nodes in a Communication Network Environment," Notice of Allowance mailed Oct. 22, 2012, for U.S. Appl. No. 12/724,244, 8 pages.
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Distributed Convergence Nodes in a Communication Network Environment," Office Action mailed Mar. 20, 2012, for U.S. Appl. No. 12/724,244, 39 pages.
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Distributed Convergence Nodes in a Communication Network Environment," Office Action mailed Nov. 5, 2013, for U.S. Appl. No. 13/743,142, 9 pages.
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Distributed Convergence Nodes in a Communication Network Environment," Office Action mailed Sep. 15, 2009, for U.S. Appl. No. 12/057,289, 26 pages.
Botha et al., "Method, Apparatus, System, and Article of Manufacture for Providing Supernodes in a Communication Network Environment," U.S. Appl. No. 60/908,878, filed Mar. 29, 2007, 30 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Amendment filed Oct. 23, 2013, for U.S. Appl. No. 13/348,459, 23 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Notice of Allowance mailed Dec. 7, 2011, for U.S. Appl. No. 10/977,115, 3 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Notice of Panel Decision from Pre-Appeal Brief review mailed Jun. 9, 2010, for U.S. Appl. No. 10/977,115, 2 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action filed Nov. 6, 2013, for U.S. Appl. No. 13/348,459, 19 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action mailed Apr. 26, 2011, for U.S. Appl. No. 10/977,115, 15 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action mailed Aug. 18, 2010, for U.S. Appl. No. 10/977,115, 15 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action mailed Dec. 1, 2009, for U.S. Appl. No. 10/977,115, 15 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action mailed Jul. 23, 2013, for U.S. Appl. No. 13/348,459, 17 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Office Action mailed May 14, 2009, for U.S. Appl. No. 10/977,115, 13 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Restriction Requirement mailed Aug. 6, 2008, for U.S. Appl. No. 10/977,115, 7 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," Supplemental Notice of Allowability mailed Dec. 28, 2011, for U.S. Appl. No. 10/977,115, 3 pages.
Botha et al., "Wide Area Voice Environment Multi-Channel Communications System and Method," U.S. Appl. No. 10/977,115, filed Oct. 29, 2004.
Botha et al., "Wide Area Voice Environment Multi-Channel Conferencing System," U.S. Appl. No. 60/516,233, filed Oct. 31, 2003.
Cheshire et al-"DNS-Based Service Discovery"-Document: Draft-cheshire-dnsext-dns-sd-04.txt; Internet-Draft; Category: Standards Track; Apple Computer, Inc.-2007.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Amendment filed Jul. 27, 2012, for U.S. Appl. No. 12/494,728, 15 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Amendment filed Nov. 17, 2011, for U.S. Appl. No. 12/494,728, 24 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Notice of Allowance mailed Aug. 21, 2012, for U.S. Appl. No. 12/494,728, 13 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Office Action mailed Jan. 27, 2012, for U.S. Appl. No. 12/494,728, 31 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Office Action mailed Jul. 20, 2011, for U.S. Appl. No. 12/494,728, 20 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," Preliminary Amendment filed Sep. 15, 2009, for U.S. Appl. No. 12/494,728, 9 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," U.S. Appl. No. 61/077,413, filed Jul. 1, 2008, 20 pages.
Clack et al., "Method, Apparatus, System, and Article of Manufacture for Reliable Low-Bandwidth Information Delivery Across Mixed-Mode Unicast and Multicast Networks," U.S. Appl. No. 61/101,466, filed Sep. 30, 2008, 36 pages.
Corresponding Australian Application No. 2009267135-Examination Report No. 2 dated Jul. 3, 2014.
Danielyan, E. et al-Zero Configuration Networking, The Internet Protocol Journal, vol. 5, No. 4, Dec. 2002-pp. 20-26.
European Search Report, dated May 28, 2013, for Application No. 09774295.1, 6 pages.
Extended European Search Report for corresponding European Patent Application No. EP08744648.0, dated Jun. 18, 2012, 9 pages.
Girod et al., "A Reliable Multicast Mechanism for Sensor Network Applications," Center for Embedded Networked Sensing, 12 pages.
Higgins et al., "Tunneling Multicast Traffic Through Non-Multicast-Aware Networks and Encryption Devices," MILCOM 2001, Proceedings. Communications for Network-Centric Operations: Creating the Information Force, McLean, VA, Oct. 28-30, 2001; IEEE Military Communications Conference, New York, NY: IEEE, US, vol. 1, Oct. 28, 2001, pp. 296-300.
International Preliminary Report on Patentability for corresponding International Application No. PCT/US2008/58718, mailed Feb. 26, 2010, 17 pages.
International Search Report for corresponding International Application No. PCT/US2008/58718, mailed Jul. 8, 2008, 2 pages.
International Search Report for corresponding International Application No. PCT/US2009/049181, mailed Feb. 9, 2010.
Office Action for corresponding Australian Patent Application No. 2008232640, mailed Mar. 28, 2012, 3 pages.
Office Action for corresponding Australian Patent Application No. 2009267135, issued on Dec. 2, 2013.
Twisted Pair Solutions, LLC, "Envoy(TM)-Flexible Information Delivery for CallManager Systems," Copyright 2002.
Twisted Pair Solutions, LLC, "Envoy™—Flexible Information Delivery for CallManager Systems," Copyright 2002.
Twisted Pair Solutions, LLC, "Success Story: The United States Air Force Global Hawk Team Sets Up Instant Communications Using WAVE," Jun. 24, 2003, 2 pages.
Twisted Pair Solutions, LLC, "Success Story: The United States Coast Guard uses WAVE to Enhance and Extend the Reach of its Radio Communications System," Jun. 24, 2003, 4 pages.
Twisted Pair Solutions, LLC, "Success Story: USDA Forest Service:: Land Mobile Radio Over IP with WAVE," Jun. 24, 2003, 2 pages.
Twisted Pair Solutions, LLC, "TPS Article #67-FAQ: Can I use WAVE as a conferencing system for regular phone calls?" Copyright 2002, retrieved Feb. 5, 2004, from http://www.twistpair.com/support/view-article.asp?id=67, 3 pages.
Twisted Pair Solutions, LLC, "WAVE . . . is here!" retrieved Mar. 4, 2004, from http://www.twistpair.com/default.asp.
Twisted Pair Solutions, LLC, "WAVE Data Sheet," Copyright 2003.
Twisted Pair Solutions, LLC, "WAVE: Conferencing Features of the WAVE Media Server," Mar. 1, 2003, 2 pages.
Twisted Pair Solutions, LLC, "WAVE: Solution Brief-Conferencing," Copyright 2003, 4 pages.
Twisted Pair Solutions, LLC, "WAVE: Solution Brief-Hoot & Holler," Copyright 2003, 4 pages.
Twisted Pair Solutions, LLC, "WAVE: Solution Brief-Interoperability," Copyright 2003, 4 pages.
Twisted Pair Solutions, LLC, "WAVE: Solution Brief-LMR Integration," Copyright 2003, 4 pages.
Twisted Pair Solutions, LLC, "WAVE: Using WAVE as a Hoot & Holler System," Feb. 4, 2003, 2 pages.
Twisted Pair Solutions, LLC, "WAVE-Scalable Instant Communications," Copyright 2002, retrieved Feb. 5, 2004, from http://www.twistpair.com/products/wave/default.asp.
Twisted Pair Solutions, LLC, "WAVE-Scalable Instant Communications: Frequently Asked Questions," Copyright 2002, retrieved Feb. 5, 2004, from http://www.twistpair.com/products/wave/faq.asp, 3 pages.
Written Opinion for corresponding International Application No. PCT/CA2008/001778, mailed Jan. 21, 2009, 3 pages.

Also Published As

Publication number Publication date
EP2294548A4 (en) 2013-06-26
AU2009267135A1 (en) 2010-01-07
US8340094B2 (en) 2012-12-25
US20130114596A1 (en) 2013-05-09
EP2294548A2 (en) 2011-03-16
WO2010002844A2 (en) 2010-01-07
US20100002698A1 (en) 2010-01-07
WO2010002844A3 (en) 2010-04-01
CA2726887A1 (en) 2010-01-07
CA2726887C (en) 2017-03-07

Similar Documents

Publication Publication Date Title
US9001826B2 (en) Method, apparatus, system, and article of manufacture for reliable low-bandwidth information delivery across mixed-mode unicast and multicast networks
JP4416733B2 (en) Virtual multicast routing for clusters with state synchronization
CN112468307B (en) Method and apparatus for network management
CN102377666B (en) Flooding-based routing protocol having average-rate and burst-rate control
EP0566610B1 (en) Method and apparatus for transparently bridging traffic across wide area networks
EP2274880B1 (en) Method and apparatus for link-state handshake for loop prevention
US9548917B2 (en) Efficient multicast delivery to dually connected (VPC) hosts in overlay networks
CN105721310B (en) Method and apparatus for processing multicast stream data
US20130073616A1 (en) Distribution of xml documents/messages to xml appliances/routers
US20070133520A1 (en) Dynamically adapting peer groups
US11290394B2 (en) Traffic control in hybrid networks containing both software defined networking domains and non-SDN IP domains
EP2304923A2 (en) Methods and apparatus for event distribution and routing in peer-to-peer overlay networks
Jin et al. MANET for Disaster Relief based on NDN
CN100450068C (en) Multicast group maintaining method
JP6003893B2 (en) Broadcast distribution route setting method and communication device for each group
JP3965201B1 (en) Communication program for network communication equipment and bidirectional ring network.
Arif et al. ERBR: Enhanced and improved delay for requirement based routing in delay tolerant networks
US20180309690A1 (en) Controller Coordination System
CN115883286B (en) IGMP message processing method, device, VTEP device and storage medium
US20060227772A1 (en) Method and system for packet data communication between networks
WO2022194193A1 (en) Method and apparatus for acquiring path
Green et al. Collaborative applications at the tactical edge through resilient group dissemination in dtn
Bocquillon et al. Data transfer in delay-tolerant networks
JP4065822B2 (en) Duplex ring network transmission method
Manna et al. Enhancement of TCP Performance over MANET

Legal Events

Date Code Title Description
AS Assignment

Owner name: TWISTED PAIR SOLUTIONS, INC., WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CLACK, DERICK J.;VERGATO, BRYAN D.;BERTOGLIO, MARK D.;AND OTHERS;SIGNING DATES FROM 20090707 TO 20090720;REEL/FRAME:029862/0603

STCF Information on status: patent grant

Free format text: PATENTED CASE

CC Certificate of correction
MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 4

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment: 8