Multiplex communications – Pathfinding or routing – Switching a message which includes an address header
Reexamination Certificate
1999-02-08
2003-10-14
Vu, Huy D. (Department: 2665)
Multiplex communications
Pathfinding or routing
Switching a message which includes an address header
C370S408000
Reexamination Certificate
active
06633570
ABSTRACT:
BACKGROUND OF THE INVENTION
The growth of the Internet has spurred the development of many new programs and services that permit two-way communication between more than two users at the same time. Such communication may be in the form of typed messages, for example in the internet relay chat (IRC) service, or as voice or video transmitted over the network.
Typically such programs and services use the concept of a “channel” to refer to a set of network nodes that are in mutual communication with each other. When a node subscribes to a channel, it receives copies of all of the messages that are transmitted over the channel. Programs and services using channels must therefore provide a mechanism for distributing packets issuing from one node on the channel to all of the other nodes on the channel.
Two general models have been heretofore applied in this regard. In a peer-to-peer model each node is responsible for sending a copy of each packet to all of the other nodes on the channel. This model is limited, however, by the bandwidth of the node's network connection. For example, if the node was connected to a network by a slow dial-up connection and the node were to transmit to more than a few other nodes on the network, this could produce excessive delays. Delays are especially significant for real time audio or video communication, since they can reduce the quality of the audio or video signal received by other nodes.
An alternative to the peer-to-peer model is the client-server model. In the client server model, data communicated between the various nodes subscribing to a channel (referred to as “clients”) are always directed through a dedicated intermediary computer known as the “server.” In the simplest case, the server acts as a reflector of the data packets received from clients. Each packet received at the server is copied, with a copy transmitted to every other client on the channel.
Alternatively, servers may combine data received from multiple nodes (e.g. by mixing simultaneously received audio signals), and transmit the combined data to the clients on the channel.
Because the server is dedicated to retransmission of data from a large number of clients, its bandwidth may be underutilized if it is not operating at full capacity.
SUMMARY OF THE INVENTION
The present invention provides an improved method, system, and computer program product for providing communication among multiple nodes on a network.
In one aspect, the invention is a method for transmitting a data block over a network from a first sending node to a first set of recipient nodes, including, in the first sending node, a) dividing the first set of recipient nodes into a subset of selected nodes, selected according to scoring criteria associated with each recipient node, and a subset of unselected nodes, b) assigning at least one of the unselected nodes to at least one selected node according to scoring criteria associated with the respective selected nodes, and c) transmitting to each selected node a packet including the data block and a list of the nodes assigned to the selected node.
In another aspect, the invention is a method for transmitting a data block over a network from a first sending node to a first set of recipient nodes, including, the steps of, in a selected node, a) receiving from the first sending node the packet including the data block and a list of assigned nodes, b) dividing the list of assigned nodes into a subset of selected assigned nodes, selected according to scoring criteria associated with each assigned node, and a subset of unselected assigned nodes, c) re-assigning at least one of the unselected assigned nodes to at least one selected assigned node according to the scoring criteria associated with respective selected assigned nodes, and d) transmitting to each selected assigned node a packet including the data block and a list of the nodes re-assigned to the selected assigned node.
It is therefore an advantage of the invention to provide a method and system for enabling a node in a data network, having a low effective bandwidth, to transmit data to a large number of other nodes in the network, without excessive delay. It is a further advantage of the invention to provide a method and system for enabling a node in a data network to transmit data to a large number of other nodes in the network, without the use of a dedicated server.
These, and other advantages of the present invention, are fully described in the following detailed description of a preferred embodiment, and in the claims.
REFERENCES:
patent: 4864559 (1989-09-01), Perlman
patent: 5331637 (1994-07-01), Francis et al.
patent: 5787083 (1998-07-01), Iwamoto et al.
patent: 5850396 (1998-12-01), Gilbert
patent: 5856976 (1999-01-01), Hirano
patent: 5999517 (1999-12-01), Koning et al.
patent: 6385201 (2002-05-01), Iwata
Yogen K. Delal, Broadcast Protocols In Packet Switched Computer Networks, Technical Report No. 128, Digital Systems Laboratory, Stanford University, Apr., 1977.
Aguilar, “Datagram Routing for Internet Multicasting”, ACM SIGCOMM 14 No. 2, Jun. 1985, pp. 58-63.
Dalal et al., “Reverse Path Forwarding of Broadcast Packets”, Communications of the ACM, Dec. 1978, vol. 21, No. 12, pp. 1040-1048.
Wall, “Mechanisms for Broadcast and Selective Broadcast”, Dissertation Submitted to the Department of Computer Science and the Committee on Graduate Studies of Stanford University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philisophy, pp. 1-87, 1980.
Ariel J. Frank et al., “Multicast Communication on Network Computers”, IEEE Software pp. 49-61, 1985.
Waitzman et al., Network Working Group, “Distance Vector Multicast Routing Protocol”, 11/88, http://www.ietf.org/rfc/rfc1075.txt.
Deering, Network Working Group, “Host Extensions for IP Multicasting”, 5/88, http://www.ietf.org/rfc/rfc1054.txt.
Deering, Network Working Group, “Host Extensions for IP Multicasting”, 8/89, http://www.ietf.org/rfc/rfc1112.txt.
IP Multicast Initiative (IPMI), “How IP Multicast Works A technical overview of IP Multicast concept, addressing, group management and approaches to routing”, pp. 2-12, www.ipmulticast.com.
IP Multicast Initiative (IPMI), “Introduction to IP Multicast Routing A technical overview of IP Multicast routing protocols and their features”, pp. 2-12, www.ipmulticast.com.
Deering, “Multicast Routing in a Datagram Internetwork”, Report No. STAN-CS-92-1415 Thesis, Department of Computer Science, Stanford University, 12/91.
Clebsch Sylvan
Cockroft Greg
Lovell Anthony M.
Paitalk Holdings, Inc.
Philpott Justin M.
Skadden, Arps Slate Meagher & Flom LLP
Vu Huy D.
LandOfFree
Efficient transmission of data to multiple network nodes does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Efficient transmission of data to multiple network nodes, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Efficient transmission of data to multiple network nodes will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3170294