CA2240687C - Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (ip) network implemented over an atm network - Google Patents
Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (ip) network implemented over an atm network Download PDFInfo
- Publication number
- CA2240687C CA2240687C CA002240687A CA2240687A CA2240687C CA 2240687 C CA2240687 C CA 2240687C CA 002240687 A CA002240687 A CA 002240687A CA 2240687 A CA2240687 A CA 2240687A CA 2240687 C CA2240687 C CA 2240687C
- Authority
- CA
- Canada
- Prior art keywords
- multicast
- clients
- addresses
- client
- address
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5069—Address allocation for group communication, multicast communication or broadcast communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5076—Update or notification mechanisms, e.g. DynDNS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/168—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP] specially adapted for link layer protocols, e.g. asynchronous transfer mode [ATM], synchronous optical network [SONET] or point-to-point protocol [PPP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/663—Transport layer addresses, e.g. aspects of transmission control protocol [TCP] or user datagram protocol [UDP] ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
Abstract
In a multicast capable IP network implemented over an ATM network, each client terminal on a multimedia conference, for each media type it transmits, is assigned a multicast IP address and a port number (together known as a socket) on which to transmit packets, wherein each assigned multicast IP address is unique and different than the multicast IP address assigned to any other client for any media type. Each client terminal then selects, for each media type, which clients on the conference it wants to receive packets from. Only packets that are in fact requested by a client are routed over the multicast IP network to the requesting client. A single special purpose Multicast Address Resolution System (MARS) server is associated with the conference when the conference is established. Each client terminal uses that MARS server, whether on the same or different IP
sub-networks, but on a common ATM network, for purposes of mapping the multicast IP addresses used in the conference into a set of unicast ATM
endpoint addresses used by the ATM-connected client terminals. Similarly, when a specific conference uses a Multicast Server, a single special purpose Multicast Server is used for all clients on the conference, whether on the same or different IP sub-networks, for purposes of establishing point-to-multipoint ATM connections to the conference endpoints.
sub-networks, but on a common ATM network, for purposes of mapping the multicast IP addresses used in the conference into a set of unicast ATM
endpoint addresses used by the ATM-connected client terminals. Similarly, when a specific conference uses a Multicast Server, a single special purpose Multicast Server is used for all clients on the conference, whether on the same or different IP sub-networks, for purposes of establishing point-to-multipoint ATM connections to the conference endpoints.
Description
METHOD FOR MANAGING MULTICAST ADDRESSES FOR
TRANSMITTING AND RECEIVING MULTIMEDIA CONFERENCING
INFORMATION ON AN INTERNET PROTOCOL (1P) NETWORK
IMPLEMENTED OVER AN ATM NETWORK
This invention relates to data communications, and more particularly, to the real-time interactive distribution of multimedia information using the multicast Internet Protocol (1P) which is implemented over an ATM network.
Background of the Invention Multimedia conferencing systems are typically characterized by the following: a directory service which lists the set of conferences; a dynamic mechanism for keeping track of the members of a conference as they join or leave the conference; tools for generating and processing the audio, video and data sharing components of a conference; a data network for interconnecting the members of a conference; and transport mechanisms for distributing the multimedia conference content among the conference members.
Different transport mechanisms can be used to interconnect participants depending on the underlying capabilities of the data network.
Two basic communication capabilities are: unicast communication, meaning a point-to-point communication between a source and a destination endpoint; and multicast communication, meaning that one source endpoint reaches multiple destination endpoints. Since conferencing inherently implies the possibility of more than one destination endpoint, if the network is capable only of unicast communication, then either the source must create multiple unicast connections, or Multicast Servers external to the network must be employed. In the former case, each sender of information sets up multiple connections to every receiver, and replicates the data on each connection. Each receiver has multiple incoming connections, one for every sender of information. This approach becomes inefficient as the number of participants (N) gets large for two reasons. Firstly, the number of network connections is proportional to the square of N. Secondly, each endpoint needs to replicate the data N times, possibly leading to both an excessive and unnecessary use of bandwidth in the network and an excessive amount of computation at the source. If external Multicast Servers are employed, then these servers perform the data replication function. Each sender of information needs to have a single unicast connection to the Multicast Server. Each receiver is connected to the Multicast Server. The number of connections is proportional to N, as all senders share the same set of connections to the set of receivers. The disadvantage of this scheme is that the Multicast Server becomes a bottleneck when N gets large.
When the interconnection network is multicast capable, more efficient alternatives are possible. With multicast service, the source of the information sends the data only once - the replication is handled by the network. It is as if the Multicast Servers described in the previous paragraph are bundled into the network. Efficient techniques for replication may exist in the network. For example, the data replication can be performed in hardware, and the replication function can be distributed over the switches or routers of the network. Furthermore the replication topology may be very efficient, e.g. a spanning tree, where receivers are leafs of the tree, and the data source is the root of the tree.
TRANSMITTING AND RECEIVING MULTIMEDIA CONFERENCING
INFORMATION ON AN INTERNET PROTOCOL (1P) NETWORK
IMPLEMENTED OVER AN ATM NETWORK
This invention relates to data communications, and more particularly, to the real-time interactive distribution of multimedia information using the multicast Internet Protocol (1P) which is implemented over an ATM network.
Background of the Invention Multimedia conferencing systems are typically characterized by the following: a directory service which lists the set of conferences; a dynamic mechanism for keeping track of the members of a conference as they join or leave the conference; tools for generating and processing the audio, video and data sharing components of a conference; a data network for interconnecting the members of a conference; and transport mechanisms for distributing the multimedia conference content among the conference members.
Different transport mechanisms can be used to interconnect participants depending on the underlying capabilities of the data network.
Two basic communication capabilities are: unicast communication, meaning a point-to-point communication between a source and a destination endpoint; and multicast communication, meaning that one source endpoint reaches multiple destination endpoints. Since conferencing inherently implies the possibility of more than one destination endpoint, if the network is capable only of unicast communication, then either the source must create multiple unicast connections, or Multicast Servers external to the network must be employed. In the former case, each sender of information sets up multiple connections to every receiver, and replicates the data on each connection. Each receiver has multiple incoming connections, one for every sender of information. This approach becomes inefficient as the number of participants (N) gets large for two reasons. Firstly, the number of network connections is proportional to the square of N. Secondly, each endpoint needs to replicate the data N times, possibly leading to both an excessive and unnecessary use of bandwidth in the network and an excessive amount of computation at the source. If external Multicast Servers are employed, then these servers perform the data replication function. Each sender of information needs to have a single unicast connection to the Multicast Server. Each receiver is connected to the Multicast Server. The number of connections is proportional to N, as all senders share the same set of connections to the set of receivers. The disadvantage of this scheme is that the Multicast Server becomes a bottleneck when N gets large.
When the interconnection network is multicast capable, more efficient alternatives are possible. With multicast service, the source of the information sends the data only once - the replication is handled by the network. It is as if the Multicast Servers described in the previous paragraph are bundled into the network. Efficient techniques for replication may exist in the network. For example, the data replication can be performed in hardware, and the replication function can be distributed over the switches or routers of the network. Furthermore the replication topology may be very efficient, e.g. a spanning tree, where receivers are leafs of the tree, and the data source is the root of the tree.
Note that it is also possible to use external Multicast Servers in conjunction with a multicast network. For example, the Multicast Server may be connected to the receivers by multicast mechanisms, and to the sources by unicast mechanisms.
The Internet Protocol (1P) is a widely used transport/networking protocol. In the IP Application Programming Interface (API) (known as iP
sockets or WINSOCK), application programs may write data to, or read data from a so-called socket just as if the socket was a "file descriptor"
on the local computer. A socket is linked to a pair of numbers, i.e. an IP
address and a positive integer referred to as a port number. For sending, the IP address used is the destination address to be placed in the destination field IP packet header, and the port number to be used by the application process on a remote machine for receiving the data. For receiving, the IP address is implicitly the local machine address (or in the case of IP multicast, the multicast group address of interest) , and the port number to be used by the application process on the local machine for receiving the data.
Multicast IP, the primary mechanism by which IP networks support multicast, is an emerging capability of the IP protocol. In IP multicast service, unlike the unicast IP service where the address represents a specific and unique end-system, a sender transmits data addressed to an abstraction called a multicast address group. In the prior art, for a given conference, each media-type (e.g., audio, video) is associated with a particular port number and multicast IP address. All receivers for the given media-type listen to the specific socket consisting of the known multicast IP address and port number. All senders for the given media-type send to the speci#ied socket consisting of the same multicast IP
The Internet Protocol (1P) is a widely used transport/networking protocol. In the IP Application Programming Interface (API) (known as iP
sockets or WINSOCK), application programs may write data to, or read data from a so-called socket just as if the socket was a "file descriptor"
on the local computer. A socket is linked to a pair of numbers, i.e. an IP
address and a positive integer referred to as a port number. For sending, the IP address used is the destination address to be placed in the destination field IP packet header, and the port number to be used by the application process on a remote machine for receiving the data. For receiving, the IP address is implicitly the local machine address (or in the case of IP multicast, the multicast group address of interest) , and the port number to be used by the application process on the local machine for receiving the data.
Multicast IP, the primary mechanism by which IP networks support multicast, is an emerging capability of the IP protocol. In IP multicast service, unlike the unicast IP service where the address represents a specific and unique end-system, a sender transmits data addressed to an abstraction called a multicast address group. In the prior art, for a given conference, each media-type (e.g., audio, video) is associated with a particular port number and multicast IP address. All receivers for the given media-type listen to the specific socket consisting of the known multicast IP address and port number. All senders for the given media-type send to the speci#ied socket consisting of the same multicast IP
address and port number. Among different media-types, a different socket is utilized to enable different application programs to handle the different media of the conference. In prior art systems, the multicast IP
address may be the same or different among media types, but the port number is almost always different.
Receivers find out about the existence of multicast groups and port numbers through various (centralized or distributed) directory mechanisms. For example, a well-known multicast IP address may be reserved for directory announcements. Alternatively, a centralized server may contain a list of multicast groups and distribute this list to client terminals upon request. Once the appropriate multicast IP address information has been obtained from the directory mechanism, receivers send messages to Multicast Server processes (e.g., in multicast routers) indicating that they want to join a particular group. The routers then exchange information about the set of users that want to communicate, and build up interconnection trees among themselves. Note that in the prior art, for a given media type, since a common multicast IP address is used by all senders and receivers in a conference, and since the multicast IP address is the atomic unit of routing, this implies that the transmissions of all senders get routed to all receivers, even if each receiver is interested in a (possibly different) subset of the senders. This requires the receiver's application program to receive, process, and discard unwanted information; furthermore the typically expensive network bandwidth required to transport the unwanted information is wasted.
Receivers communicate with multicast routers over some sub-network technology to which both are attached, such as, for example, Ethernet, Frame Relay, or ATM. When IP multicast is supported over a sub-network that has a native multicast ability with a similar service capability to that of IP (e.g., Ethernet), multicast IP addresses may be mapped directly onto Ethernet addresses. Each terminal on the Ethernet 5 then listens for those multicast Ethernet addresses that it is interested in, and ignores the rest.
When IP multicast is supported over a virtual circuit oriented sub-network, such as ATM, that does not have a native multicast capability similar to IP, it is necessary to have an address resolution mechanism to map a multicast IP address into a set of unicast ATM addresses. In the prior art, a Multicast Address Resolution System (MARS) server is utilized for this purpose. When IP receivers want to join an IP multicast group, they send a message to the MARS server. The MARS server then informs all senders to the IP multicast group of the identity of the new receivers. In the prior art, however, a MARS server is only associated with a static set of IP endpoints that are specific to a single sub-network. Thus, if a receiver is a member of a local sub-network, the MARS server specific to that sub-network is used. If conference members are on different sub-networks, one approach of the prior art is to forward multicast IP packets via IP multicast routers connecting the different sub-networks. With respect to the sub-network of which a sender is a member, the multicast router is treated as another receiver by the MARS server of the sender's sub-network. With respect to the sub-networks in which a receiver is a member, the multicast router is 25 treated as a sender by the MARS server of the receiving sub-network.
Each sub-network thus requires a separate MARS server and there are no interactions between the plural MARS servers. If it can be assumed that the senders and receivers are attached to a common ATM network, the prior art imposes an extra layer of protocol processing and packet forwarding that introduces additional delays and unnecessary bandwidth utilization. One way of avoiding the use of multicast routers in this 5 context is to allow the MARS servers in the different sub-networks to communicate directly with one another in identifying the ATM addresses of senders and receivers in the different sub-networks. Such multiple MARS servers thus need to communicate with each other for control and coordination purposes, which also requires significant overhead and 10 signaling there between, and the establishment of an inter-server protocol.
Summary of the Invention In accordance with the present invention rather than using the fixed plural MARS servers associated with each individual IP sub-network, a single special purpose MARS server is associated with a particular conference at the time the conference is established. All participants of a particular conference, whether on the same or different IP sub-networks, but on a common ATM network, use this same special purpose MARS server for that conference. Thus, the need for communication among either the set of plural MARS servers or multicast routers is eliminated.
When a conference is established, a Directory Server allocates from the then available and unused multicast IP addresses, a set of such addresses to be used for the conference based on the maximum number of expected participants, which number is provided by a conference originator. As each participant joins the conference, the participant's client terminal is assigned a port number and multicast IP address on which to transmit for each media type, wherein the multicast IP address is from the set of multicast IP addresses allocated for use by that conference. In this manner, by choosing to receive on only selected 20 multimedia addresses and port numbers, each client terminal receives transmissions for each media type from only those client terminals it desires.
As it joins the conference, each client is also provided with the ATM address of the single special purpose MARS server assigned for use for that specific conference when the conference was originated.
Each client then configures its IP-over-ATM interface to use that specific MARS server for the mapping of the conference multicast IP addresses to ATM addresses. Further, if the specific conference also uses a Multicast Server (MCS), the ATM address of a single special purpose MCS used for the conference is also provided to each client as it joins the conference.
In accordance with one aspect of the present invention there is provided in a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit in which, during a multimedia conference, at least one of a plurality of clients in the multimedia conference, at an associated unicast endpoint address, transmits packets for multicast transmission to at least some of the plurality of clients in the multimedia conference at their respective unicast endpoint addresses using multicast IP addresses, a method comprising:
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client;
and assigning to each of the plurality of clients in the multimedia conference, for each media type, a different unique multicast IP address on which to transmit packets when each of the plurality of clients joins the multimedia conference.
Brief Descri tion of the Drawings FIG. 1 is a block diagram showing a plurality of client terminals connected to a mulficast capable IP network over a common ATM
network, to which is, also connected a Directory Server for establishin a conference, and a single special purpose MARS server and sin 1e s g pedal purpose Multicast Server in accordance with the present invention;
FIG. 2 is a chart illustrating the steps associated with establishin a conference by a conference originator on the network of FIG. 1;
FIG. 3 is a chart illustrating the steps associated with a user joining an already established conference on the network of FIG. 1;
FIG. 4 is a chart illustrating the interactive steps between a client terminal and a single special purpose MARS server when the client terminal joins an existing conference; and FIG. 5 is a chart illustrating the interactive steps between a client terminal and the special purpose MARS server and a special purpose Multicast Server, when a Multicast Server is also employed in the conference.
Detailed Description With reference to FIG. 1, multimedia client terminals 101-1 - 101-5 are connected to a multicast capable Internet Protocol (1P) data network 102 implemented over a common ATM network comprising ATM
switches 103, 104 and 105, and ATM interconnections 120, 121, and 122. Each of the client terminals 101-1 - 101-5 is connected to the IP
network 102 over ATM. Each client terminal 101-1 - 101-5 has a unique ATM unicast endpoint address. Network 102 comprises plural IP sub-networks 110, 111, and 112. Thus, as illustrated in FIG. 1, client terminals 101-1 and 101-2 are members of common IP sub-network 110 , clients terminals 101-3 and 101-4 are member of IP sub-network 111, and client terminal 101-5 is a member of IP sub-network 112. 1P sub-networks 110, 111 and 112 are interconnected through multicast capable IP routers 113 and 114. A Directory Server (DS) 106, which need not operate in a multicast fashion, is connected to the IP network through router 107, which need not be multicast capable.
A single special purpose MARS server 126 is also connected to network 102 through ATM switch 103. The function of this MARS server is, for a particular conference, to maintain the mapping of the particular multicast IP addresses used by that specific conference to the possibly changing set of ATM unicast addresses of the conference client terminals.
Directory Server 106 functions to maintain a list of multicast IP
addresses and ports available for use for a plurality of different and possibly concurrent conferences, to assign a subset of those addresses and ports to a particular conference when a conference is initiated, and to assign from that subset a unique multicast IP address and port number to each media type of each client as that client makes a request to become a member of that conference. Once each socket (multicast IP
address and port number) is assigned to a particular client for each media type for use during a conference, the assigned multicast IP
addresses are marked as being unavailable and cannot be assigned to 5 any other client attempting to join that same conference. Once a participant departs a still ongoing conference, the multicast IP addresses assigned to that participant's client are marked as being available and can be assigned to the client of a later joining participant. Directory Server 106 also assigns the ATM address of the special purpose MARS
10 server 126 to be used by the ATM client terminals on the conference.
Upon receiving the set of sockets assigned to it for the conference, the client may decide how it wants to interact in the conference. Specifically, for each media type the client may only want to only receive, or to both receive and transmit, or to just transmit. Further, the client may choose to receive a particular media type from only select other clients on the conference. When a conference is established and a client joins an established conference, therefore, it receives a list of sockets used for transmitting by the other clients associated with the conference. At any time during the conference, it may then receive packets from the other clients in the conference on the sockets assigned for transmission to those other clients, or it may choose not to receive packets of any or all media types from other clients by either not adding the other client's sockets) to its Multicast Receive Address List (MRAL), or by deleting the other client's socket from its MRAL if it was previously receiving transmissions from the other client. The client then sets its local interface to receive only those packets whose multicast IP
addresses/port numbers match the ones in its MRAL. Also, upon receiving the ATM address of the special purpose MARS server 126 assigned to the conference, each client sets up a virtual circuit to this MARS server. During the conference, each client will access this MARS
server at its ATM address to map the multicast IP addresses used in the conference to the appropriate set of ATM endpoint addresses.
In FIG. 1, for example, the conference may comprise the client terminals 101-1 - 101-5. Once the conference is established by the conference originator on Directory Server 106, each client terminal is able to connect to each other client terminal through a combination of queries to MARS server 126, and the setting up of point-to-multipoint virtual circuits via ATM signaling. For example, if client terminals 101-4 and 101-5 each wants to receive the video transmitted by client terminal 101-1, client terminals 101-4 and 101-5 register their ATM unicast addresses with MARS server 126, which then associates those ATM
unicast addresses with the multicast IP address that client terminal 101-1 uses for video transmission. When client terminal 101-1 transmits, therefore, it sends the multicast IP address on which it transmits its video to MARS server 126 and receives therefrom the list of ATM unicast addresses to which ATM connections should be established. Client terminal 101-1 then sets up a point-to-multipoint virtual circuit to the ATM
addresses of client terminals 101-4 and 101-5. If, during an ongoing conference, client terminal 101-3 decides it also wants to receive the video signal being transmitted by client terminal 101-1, it sends a message to MARS server 126 indicating that it wants to join the multicast group (i.e., receive transmissions destined to the particular multicast IP
address to which client terminal 101-1 is transmitting). MARS server 126 then adds the ATM address of client terminal 101-3 to the list of ATM
addresses associated with that multicast IP address on which client terminal 101-1 transmits its video signal. Further, MARS server 126 sends an indication to client terminal 101-1 to add client terminal 101-3 to the previously established point-to-multipoint ATM virtual circuit. If, during a conference, one of the clients already receiving the video transmissions from client terminal 101-1 (such as client terminal 101-4) decides that it no longer wishes to receive those transmissions, it then sends a message to MARS server 126 indicating that it wishes to leave the multicast group (i.e., no longer wants to receive transmissions destined to that particular multicast IP address to which client terminal 101-1 is transmitting). MARS server 126 then sends an indication to client terminal 101-1 to remove client 101-4 from the previously established point-to-multipoint ATM virtual circuit.
It has been assumed above that each transmitting client terminal sets up its own point-to-multipoint ATM virtual circuit for each media type to each client terminal that wants to receive that media type. The resulting large number of point-to-multipoint ATM virtual circuits could exhaust switch virtual channel identifier resources. Accordingly, an ATM
Multicast Server (MCS) is sometimes employed in a conference in order to share point-to-multipoint connections. Transmitters then set up a unicast point-to-point ATM virtual circuit to the MCS, which in turn establishes a point-to-multipoint ATM virtual circuit to each client terminal desiring to receive transmissions. Thus, all transmitters ultimately share the Multicast Server's point-to-multipoint virtual circuit thereby reducing the demand on ATM switch virtual channel identifier resources. In the prior art multiple of such Multicast Servers may be deployed such that each sub-network has its own Multicast Server. As previously described with respect to per-sub-network prior art MARS servers, inter-sub-network communication between endpoints in different sub-networks requires the use of multicast routers. As before, if it can be assumed that the senders and receivers are attached to a common ATM network, S the prior art use of multicast routers imposes an extra layer of protocol processing and packet forwarding that introduces additional delays and unnecessary bandwidth utilization. In accordance with the present invention, if an MCS is used within the conference, the Directory Server also provides each client with the ATM address of a single special purpose Multicast Server for use in that specific conference. Each client then configures its IP-over-ATM interface to use that specific special purpose MCS for all point-to-multipoint ATM communication.
With reference again to FIG. 1, special purpose MCS 130 is shown connected to network 102 through ATM switch 103. For purposes of an example, it can again be assumed that the conference comprises client terminals 101-1 - 101-5. If client terminals 101-4 and 101-5 each wants to receive the video transmitted by client terminal 101-1, terminals 101-4 and 101-5 register their ATM unicast addresses with MARS server 126, which then associates those ATM unicast addresses with the multicast IP address that client terminal 101-1 uses for transmission. When client terminal 101-1 is ready to transmit, it sets up an ATM virtual circuit to MCS 130. When client terminal 101-1 transmits, it sends the multicast IP address on which it transmits its video to MARS
server 126. MARS server 126 then sends the list of ATM unicast addresses to which ATM connections need to be established to MCS
130. MCS 130 then sets up a point-to-multipoint virtual circuit to the ATM addresses of clients 101-4 and 101-5. Client terminal 101-1 then transmits to MCS 130 along the previously established ATM virtual circuit. When a client joins an on-going conference or leaves an ongoing conference, there is a similar interaction between MARS server 126 and MCS 130.
With reference to FIG. 2, the steps to originate a conference by an ATM connected conference originator are detailed. At step 201, by sending a packetized message, a user contacts the Directory Server to create a conference. This could be accomplished by the user clicking on an icon on a browser running on the client, or by the user inputting a particular URL address. At step 202, the Directory Server requests the authorization of the user as a conference originator. At step 203, the user provides his or her ID plus a password. At step 204, if recognized by the DS as an authorized conference originator, the user is authenticated and permitted to proceed to establish the conference. If not, the process ends at step 209. If authenticated, at step 205, the Directory Server returns to the user, for example, an HTML-formatted page requesting information from the originator such as the name and description of the conference, the media types involved with the conference, the types of encoding used by each of the media types, the time at which the conference is scheduled to take place and its expected duration, the maximum number of participants, a list of valid participants, and the name and phone number of a contact point for the proposed conference. The user provides the requested information at step 206.
At step 207, the Directory Server returns to the conference originator a 25 password to be used by the participants in order to join the conference and allocates a set of multicast IP addresses and port numbers from the space of available multicast IP addresses and port numbers for each media type. In addition, the ATM address of the particular single special purpose MARS server that will be used for this conference is returned.
Further, if a single special purpose Multicast Server is to be used for this specific conference, the ATM address of this MCS is also returned by the 5 Directory Server. At step 208, the Directory Server marks the assigned multicast IP addresses as being unavailable for assignment to any other conference, and the associations of the specific conference with the addresses of the assigned MARS server and the MCS, if the latter is used.
10 Once the conference originator has established the conference with the Directory Server, users at the client terminals may join the conference within its scheduled time. With reference to FIG. 3, at step 301, a potential ATM connected conferee contacts the DS by sending a packetized request either by clicking on an icon or inputting the URL
15 address of the DS on the client's browser. At step 302, the client receives from the DS a list of ongoing conferences from which the user selects the conference to which he or she then wants to join. At step 303, in response to the selected conference, the DS sends a form back to the user's client requesting the user's ID and the password assigned by the DS to the conference. It is assumed that the password is made available to the conferees by an external system, such as a phone call/message, or encrypted e-mail. The user inputs the requested information and, at step 304, the DS compares the inputted information with its list of valid conference participants as inputted by the conference originator, and the password established for the conference. If the user is not authenticated at step 305, he or she is precluded from joining the conference and the process ends at step 310. If authenticated at step 305, the DS provides at step 306, a multicast IP address and port number for each media type for the client terminal to transmit on and a list of sockets for each media type to receive on for the other client terminals which are participating in the conference and for which the user is a valid recipient. In addition, the DS provides the ATM address of the single special purpose MARS server assigned to the conference and the single special purpose Multicast Server, if the latter is being used. At step 307, the user selects those clients from which to receive each media type from the list of sockets on which the other clients are transmitting. This is done by either adding each such other client's address to its MRAL or deleting such other client's address from its MRAL if it has been previously receiving a currently unwanted media type of transmission from that other client. When a client elects to exit a conference, it deletes all the addresses /ports associated with the conference from its MRAL. When the conference is concluded, the Directory Server, at step 309, marks the addresses and ports assigned to the conference as available so they can be assigned to another conference.
FIG. 4 illustrates the interactive steps between a client terminal and the special purpose MARS server when the client terminal wants to join an existing conference for the case where a Multicast Server is not used for the conference. After the client terminal receives from the Directory Server the multicast IP addresses and port numbers on which to receive the other participants' transmissions for which it is a valid receiver, and the ATM address of the special purpose MARS server to be used for the conference (step 306 in FIG. 3), at step 401, the client updates its local MARS table. The local MARS table enables the client to be simultaneously associated with plural conferences. For each conference, the set of associated multicast IP addresses is in turn associated with the ATM address of the MARS server used for that conference. At step 402, for each endpoint and media type from which it wants to receive transmissions on the existing conference that it is joining, the client issues a MARS-JOIN message indicating the multicast IP address/port number associated with that endpoint/media type. At step 403, the special purpose MARS server updates a local table containing the list of ATM endpoints that are members of each IP
multicast group to include the requesting client. At step 404, the MARS
server then instructs the other transmitting members of the existing conference to add the new client for each media type requested by the client. Each of these other client terminals thus adds the new client as a leaf to its respective distribution tree. The new client, from that point on, can receive all transmissions associated with the multimedia conference which it has selected and for which it has been validated. At step 405, the MARS server adds the new client as a leaf of the control channel, which is the mechanism by which the MARS server sends messages to the members of the conference group. It is through this mechanism that 20 the new client can receive subsequent messages about the existence of new group members or the deletion of existing group members.
FIG. 5 illustrates the interactive steps between a client terminal, the special purpose MARS server and the special purpose Multicast Server when the client terminal wants to join an existing conference for 25 the case where a Multicast Server is used for the conference. In this case, there is little advantage to employing multiple multicast IP
addresses for different senders. It can be assumed that for a given media type, a single multicast IP address is used by all senders. As in FIG. 4, the client receives from the Directory Server the multicast IP
addresses and port numbers on which to receive the other participants' transmissions for which it is a valid receiver, and the ATM address of the special purpose MARS server to be used for the conference, as well as, for this case, the ATM address of the particular Multicast Server to be used for this conference (from step 306 in FIG. 3). At step 501, the client updates its local table listing the ATM addresses of the MARS servers and Multicast Servers corresponding to the sets of multicast IP
addresses for that conference. At step 502, for each media type from which it wants to receive transmissions, the client issues a MARS-JOIN
message indicating the multicast IP address/port number associated with that media type. At step 503, the MARS server updates a local table containing the list of ATM endpoints that are members of each IP
multicast group. At step 504, the special purpose MARS server then instructs the special purpose Multicast Server to add the new client as a leaf of its distribution tree corresponding to the multicast addresses of the conference. From this point on the new client is able to receive all transmissions associated with the multimedia conference which is has selected and for which it has been validated.
Advantageously, by linking a specific conference to a specific single special purpose MARS server, and, where employed, a singe special purpose Multicast Server, the scalability of the conferencing system is improved. Thus, as a new conference is created, an additional MARS server or MCS can be added for the new conference. Further, by enabling the use of different MARS servers for different conferences, the possibility is eliminated that members of one conference may accidentally get information pertaining to a different conference.
Although described above in the context of IP over ATM networks, the present invention can be applied to other switched virtual circuit 5 technologies such as, for example, IP over ISDN, IP over X.25, and IP
over Frame Relay. Further, the network need not have a native point-to-multipoint capability. In such a case, the point-to-multipoint connection would be via the Multicast Server and the connection from the Multicast Server to the endpoints would consist of plural point-to-point connections. Also, the employment of a single special purpose MARS
server dedicated to a specific set of IP multicast groups has applicability to any IP Multicast over ATM system, not just multimedia conferencing.
Also, although described in connection with a system in which each client is assigned a different multicast IP address on which to transmit, 15 the present invention does not require such arrangement and can be employed in a system which uses a different algorithm for assigning sets of multicast addresses to a given conference.
The above-described embodiment is illustrative of the principles of the present invention. Other embodiments could be devised by those 20 skilled in the art without departing from the spirit and scope of the present invention.
address may be the same or different among media types, but the port number is almost always different.
Receivers find out about the existence of multicast groups and port numbers through various (centralized or distributed) directory mechanisms. For example, a well-known multicast IP address may be reserved for directory announcements. Alternatively, a centralized server may contain a list of multicast groups and distribute this list to client terminals upon request. Once the appropriate multicast IP address information has been obtained from the directory mechanism, receivers send messages to Multicast Server processes (e.g., in multicast routers) indicating that they want to join a particular group. The routers then exchange information about the set of users that want to communicate, and build up interconnection trees among themselves. Note that in the prior art, for a given media type, since a common multicast IP address is used by all senders and receivers in a conference, and since the multicast IP address is the atomic unit of routing, this implies that the transmissions of all senders get routed to all receivers, even if each receiver is interested in a (possibly different) subset of the senders. This requires the receiver's application program to receive, process, and discard unwanted information; furthermore the typically expensive network bandwidth required to transport the unwanted information is wasted.
Receivers communicate with multicast routers over some sub-network technology to which both are attached, such as, for example, Ethernet, Frame Relay, or ATM. When IP multicast is supported over a sub-network that has a native multicast ability with a similar service capability to that of IP (e.g., Ethernet), multicast IP addresses may be mapped directly onto Ethernet addresses. Each terminal on the Ethernet 5 then listens for those multicast Ethernet addresses that it is interested in, and ignores the rest.
When IP multicast is supported over a virtual circuit oriented sub-network, such as ATM, that does not have a native multicast capability similar to IP, it is necessary to have an address resolution mechanism to map a multicast IP address into a set of unicast ATM addresses. In the prior art, a Multicast Address Resolution System (MARS) server is utilized for this purpose. When IP receivers want to join an IP multicast group, they send a message to the MARS server. The MARS server then informs all senders to the IP multicast group of the identity of the new receivers. In the prior art, however, a MARS server is only associated with a static set of IP endpoints that are specific to a single sub-network. Thus, if a receiver is a member of a local sub-network, the MARS server specific to that sub-network is used. If conference members are on different sub-networks, one approach of the prior art is to forward multicast IP packets via IP multicast routers connecting the different sub-networks. With respect to the sub-network of which a sender is a member, the multicast router is treated as another receiver by the MARS server of the sender's sub-network. With respect to the sub-networks in which a receiver is a member, the multicast router is 25 treated as a sender by the MARS server of the receiving sub-network.
Each sub-network thus requires a separate MARS server and there are no interactions between the plural MARS servers. If it can be assumed that the senders and receivers are attached to a common ATM network, the prior art imposes an extra layer of protocol processing and packet forwarding that introduces additional delays and unnecessary bandwidth utilization. One way of avoiding the use of multicast routers in this 5 context is to allow the MARS servers in the different sub-networks to communicate directly with one another in identifying the ATM addresses of senders and receivers in the different sub-networks. Such multiple MARS servers thus need to communicate with each other for control and coordination purposes, which also requires significant overhead and 10 signaling there between, and the establishment of an inter-server protocol.
Summary of the Invention In accordance with the present invention rather than using the fixed plural MARS servers associated with each individual IP sub-network, a single special purpose MARS server is associated with a particular conference at the time the conference is established. All participants of a particular conference, whether on the same or different IP sub-networks, but on a common ATM network, use this same special purpose MARS server for that conference. Thus, the need for communication among either the set of plural MARS servers or multicast routers is eliminated.
When a conference is established, a Directory Server allocates from the then available and unused multicast IP addresses, a set of such addresses to be used for the conference based on the maximum number of expected participants, which number is provided by a conference originator. As each participant joins the conference, the participant's client terminal is assigned a port number and multicast IP address on which to transmit for each media type, wherein the multicast IP address is from the set of multicast IP addresses allocated for use by that conference. In this manner, by choosing to receive on only selected 20 multimedia addresses and port numbers, each client terminal receives transmissions for each media type from only those client terminals it desires.
As it joins the conference, each client is also provided with the ATM address of the single special purpose MARS server assigned for use for that specific conference when the conference was originated.
Each client then configures its IP-over-ATM interface to use that specific MARS server for the mapping of the conference multicast IP addresses to ATM addresses. Further, if the specific conference also uses a Multicast Server (MCS), the ATM address of a single special purpose MCS used for the conference is also provided to each client as it joins the conference.
In accordance with one aspect of the present invention there is provided in a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit in which, during a multimedia conference, at least one of a plurality of clients in the multimedia conference, at an associated unicast endpoint address, transmits packets for multicast transmission to at least some of the plurality of clients in the multimedia conference at their respective unicast endpoint addresses using multicast IP addresses, a method comprising:
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client;
and assigning to each of the plurality of clients in the multimedia conference, for each media type, a different unique multicast IP address on which to transmit packets when each of the plurality of clients joins the multimedia conference.
Brief Descri tion of the Drawings FIG. 1 is a block diagram showing a plurality of client terminals connected to a mulficast capable IP network over a common ATM
network, to which is, also connected a Directory Server for establishin a conference, and a single special purpose MARS server and sin 1e s g pedal purpose Multicast Server in accordance with the present invention;
FIG. 2 is a chart illustrating the steps associated with establishin a conference by a conference originator on the network of FIG. 1;
FIG. 3 is a chart illustrating the steps associated with a user joining an already established conference on the network of FIG. 1;
FIG. 4 is a chart illustrating the interactive steps between a client terminal and a single special purpose MARS server when the client terminal joins an existing conference; and FIG. 5 is a chart illustrating the interactive steps between a client terminal and the special purpose MARS server and a special purpose Multicast Server, when a Multicast Server is also employed in the conference.
Detailed Description With reference to FIG. 1, multimedia client terminals 101-1 - 101-5 are connected to a multicast capable Internet Protocol (1P) data network 102 implemented over a common ATM network comprising ATM
switches 103, 104 and 105, and ATM interconnections 120, 121, and 122. Each of the client terminals 101-1 - 101-5 is connected to the IP
network 102 over ATM. Each client terminal 101-1 - 101-5 has a unique ATM unicast endpoint address. Network 102 comprises plural IP sub-networks 110, 111, and 112. Thus, as illustrated in FIG. 1, client terminals 101-1 and 101-2 are members of common IP sub-network 110 , clients terminals 101-3 and 101-4 are member of IP sub-network 111, and client terminal 101-5 is a member of IP sub-network 112. 1P sub-networks 110, 111 and 112 are interconnected through multicast capable IP routers 113 and 114. A Directory Server (DS) 106, which need not operate in a multicast fashion, is connected to the IP network through router 107, which need not be multicast capable.
A single special purpose MARS server 126 is also connected to network 102 through ATM switch 103. The function of this MARS server is, for a particular conference, to maintain the mapping of the particular multicast IP addresses used by that specific conference to the possibly changing set of ATM unicast addresses of the conference client terminals.
Directory Server 106 functions to maintain a list of multicast IP
addresses and ports available for use for a plurality of different and possibly concurrent conferences, to assign a subset of those addresses and ports to a particular conference when a conference is initiated, and to assign from that subset a unique multicast IP address and port number to each media type of each client as that client makes a request to become a member of that conference. Once each socket (multicast IP
address and port number) is assigned to a particular client for each media type for use during a conference, the assigned multicast IP
addresses are marked as being unavailable and cannot be assigned to 5 any other client attempting to join that same conference. Once a participant departs a still ongoing conference, the multicast IP addresses assigned to that participant's client are marked as being available and can be assigned to the client of a later joining participant. Directory Server 106 also assigns the ATM address of the special purpose MARS
10 server 126 to be used by the ATM client terminals on the conference.
Upon receiving the set of sockets assigned to it for the conference, the client may decide how it wants to interact in the conference. Specifically, for each media type the client may only want to only receive, or to both receive and transmit, or to just transmit. Further, the client may choose to receive a particular media type from only select other clients on the conference. When a conference is established and a client joins an established conference, therefore, it receives a list of sockets used for transmitting by the other clients associated with the conference. At any time during the conference, it may then receive packets from the other clients in the conference on the sockets assigned for transmission to those other clients, or it may choose not to receive packets of any or all media types from other clients by either not adding the other client's sockets) to its Multicast Receive Address List (MRAL), or by deleting the other client's socket from its MRAL if it was previously receiving transmissions from the other client. The client then sets its local interface to receive only those packets whose multicast IP
addresses/port numbers match the ones in its MRAL. Also, upon receiving the ATM address of the special purpose MARS server 126 assigned to the conference, each client sets up a virtual circuit to this MARS server. During the conference, each client will access this MARS
server at its ATM address to map the multicast IP addresses used in the conference to the appropriate set of ATM endpoint addresses.
In FIG. 1, for example, the conference may comprise the client terminals 101-1 - 101-5. Once the conference is established by the conference originator on Directory Server 106, each client terminal is able to connect to each other client terminal through a combination of queries to MARS server 126, and the setting up of point-to-multipoint virtual circuits via ATM signaling. For example, if client terminals 101-4 and 101-5 each wants to receive the video transmitted by client terminal 101-1, client terminals 101-4 and 101-5 register their ATM unicast addresses with MARS server 126, which then associates those ATM
unicast addresses with the multicast IP address that client terminal 101-1 uses for video transmission. When client terminal 101-1 transmits, therefore, it sends the multicast IP address on which it transmits its video to MARS server 126 and receives therefrom the list of ATM unicast addresses to which ATM connections should be established. Client terminal 101-1 then sets up a point-to-multipoint virtual circuit to the ATM
addresses of client terminals 101-4 and 101-5. If, during an ongoing conference, client terminal 101-3 decides it also wants to receive the video signal being transmitted by client terminal 101-1, it sends a message to MARS server 126 indicating that it wants to join the multicast group (i.e., receive transmissions destined to the particular multicast IP
address to which client terminal 101-1 is transmitting). MARS server 126 then adds the ATM address of client terminal 101-3 to the list of ATM
addresses associated with that multicast IP address on which client terminal 101-1 transmits its video signal. Further, MARS server 126 sends an indication to client terminal 101-1 to add client terminal 101-3 to the previously established point-to-multipoint ATM virtual circuit. If, during a conference, one of the clients already receiving the video transmissions from client terminal 101-1 (such as client terminal 101-4) decides that it no longer wishes to receive those transmissions, it then sends a message to MARS server 126 indicating that it wishes to leave the multicast group (i.e., no longer wants to receive transmissions destined to that particular multicast IP address to which client terminal 101-1 is transmitting). MARS server 126 then sends an indication to client terminal 101-1 to remove client 101-4 from the previously established point-to-multipoint ATM virtual circuit.
It has been assumed above that each transmitting client terminal sets up its own point-to-multipoint ATM virtual circuit for each media type to each client terminal that wants to receive that media type. The resulting large number of point-to-multipoint ATM virtual circuits could exhaust switch virtual channel identifier resources. Accordingly, an ATM
Multicast Server (MCS) is sometimes employed in a conference in order to share point-to-multipoint connections. Transmitters then set up a unicast point-to-point ATM virtual circuit to the MCS, which in turn establishes a point-to-multipoint ATM virtual circuit to each client terminal desiring to receive transmissions. Thus, all transmitters ultimately share the Multicast Server's point-to-multipoint virtual circuit thereby reducing the demand on ATM switch virtual channel identifier resources. In the prior art multiple of such Multicast Servers may be deployed such that each sub-network has its own Multicast Server. As previously described with respect to per-sub-network prior art MARS servers, inter-sub-network communication between endpoints in different sub-networks requires the use of multicast routers. As before, if it can be assumed that the senders and receivers are attached to a common ATM network, S the prior art use of multicast routers imposes an extra layer of protocol processing and packet forwarding that introduces additional delays and unnecessary bandwidth utilization. In accordance with the present invention, if an MCS is used within the conference, the Directory Server also provides each client with the ATM address of a single special purpose Multicast Server for use in that specific conference. Each client then configures its IP-over-ATM interface to use that specific special purpose MCS for all point-to-multipoint ATM communication.
With reference again to FIG. 1, special purpose MCS 130 is shown connected to network 102 through ATM switch 103. For purposes of an example, it can again be assumed that the conference comprises client terminals 101-1 - 101-5. If client terminals 101-4 and 101-5 each wants to receive the video transmitted by client terminal 101-1, terminals 101-4 and 101-5 register their ATM unicast addresses with MARS server 126, which then associates those ATM unicast addresses with the multicast IP address that client terminal 101-1 uses for transmission. When client terminal 101-1 is ready to transmit, it sets up an ATM virtual circuit to MCS 130. When client terminal 101-1 transmits, it sends the multicast IP address on which it transmits its video to MARS
server 126. MARS server 126 then sends the list of ATM unicast addresses to which ATM connections need to be established to MCS
130. MCS 130 then sets up a point-to-multipoint virtual circuit to the ATM addresses of clients 101-4 and 101-5. Client terminal 101-1 then transmits to MCS 130 along the previously established ATM virtual circuit. When a client joins an on-going conference or leaves an ongoing conference, there is a similar interaction between MARS server 126 and MCS 130.
With reference to FIG. 2, the steps to originate a conference by an ATM connected conference originator are detailed. At step 201, by sending a packetized message, a user contacts the Directory Server to create a conference. This could be accomplished by the user clicking on an icon on a browser running on the client, or by the user inputting a particular URL address. At step 202, the Directory Server requests the authorization of the user as a conference originator. At step 203, the user provides his or her ID plus a password. At step 204, if recognized by the DS as an authorized conference originator, the user is authenticated and permitted to proceed to establish the conference. If not, the process ends at step 209. If authenticated, at step 205, the Directory Server returns to the user, for example, an HTML-formatted page requesting information from the originator such as the name and description of the conference, the media types involved with the conference, the types of encoding used by each of the media types, the time at which the conference is scheduled to take place and its expected duration, the maximum number of participants, a list of valid participants, and the name and phone number of a contact point for the proposed conference. The user provides the requested information at step 206.
At step 207, the Directory Server returns to the conference originator a 25 password to be used by the participants in order to join the conference and allocates a set of multicast IP addresses and port numbers from the space of available multicast IP addresses and port numbers for each media type. In addition, the ATM address of the particular single special purpose MARS server that will be used for this conference is returned.
Further, if a single special purpose Multicast Server is to be used for this specific conference, the ATM address of this MCS is also returned by the 5 Directory Server. At step 208, the Directory Server marks the assigned multicast IP addresses as being unavailable for assignment to any other conference, and the associations of the specific conference with the addresses of the assigned MARS server and the MCS, if the latter is used.
10 Once the conference originator has established the conference with the Directory Server, users at the client terminals may join the conference within its scheduled time. With reference to FIG. 3, at step 301, a potential ATM connected conferee contacts the DS by sending a packetized request either by clicking on an icon or inputting the URL
15 address of the DS on the client's browser. At step 302, the client receives from the DS a list of ongoing conferences from which the user selects the conference to which he or she then wants to join. At step 303, in response to the selected conference, the DS sends a form back to the user's client requesting the user's ID and the password assigned by the DS to the conference. It is assumed that the password is made available to the conferees by an external system, such as a phone call/message, or encrypted e-mail. The user inputs the requested information and, at step 304, the DS compares the inputted information with its list of valid conference participants as inputted by the conference originator, and the password established for the conference. If the user is not authenticated at step 305, he or she is precluded from joining the conference and the process ends at step 310. If authenticated at step 305, the DS provides at step 306, a multicast IP address and port number for each media type for the client terminal to transmit on and a list of sockets for each media type to receive on for the other client terminals which are participating in the conference and for which the user is a valid recipient. In addition, the DS provides the ATM address of the single special purpose MARS server assigned to the conference and the single special purpose Multicast Server, if the latter is being used. At step 307, the user selects those clients from which to receive each media type from the list of sockets on which the other clients are transmitting. This is done by either adding each such other client's address to its MRAL or deleting such other client's address from its MRAL if it has been previously receiving a currently unwanted media type of transmission from that other client. When a client elects to exit a conference, it deletes all the addresses /ports associated with the conference from its MRAL. When the conference is concluded, the Directory Server, at step 309, marks the addresses and ports assigned to the conference as available so they can be assigned to another conference.
FIG. 4 illustrates the interactive steps between a client terminal and the special purpose MARS server when the client terminal wants to join an existing conference for the case where a Multicast Server is not used for the conference. After the client terminal receives from the Directory Server the multicast IP addresses and port numbers on which to receive the other participants' transmissions for which it is a valid receiver, and the ATM address of the special purpose MARS server to be used for the conference (step 306 in FIG. 3), at step 401, the client updates its local MARS table. The local MARS table enables the client to be simultaneously associated with plural conferences. For each conference, the set of associated multicast IP addresses is in turn associated with the ATM address of the MARS server used for that conference. At step 402, for each endpoint and media type from which it wants to receive transmissions on the existing conference that it is joining, the client issues a MARS-JOIN message indicating the multicast IP address/port number associated with that endpoint/media type. At step 403, the special purpose MARS server updates a local table containing the list of ATM endpoints that are members of each IP
multicast group to include the requesting client. At step 404, the MARS
server then instructs the other transmitting members of the existing conference to add the new client for each media type requested by the client. Each of these other client terminals thus adds the new client as a leaf to its respective distribution tree. The new client, from that point on, can receive all transmissions associated with the multimedia conference which it has selected and for which it has been validated. At step 405, the MARS server adds the new client as a leaf of the control channel, which is the mechanism by which the MARS server sends messages to the members of the conference group. It is through this mechanism that 20 the new client can receive subsequent messages about the existence of new group members or the deletion of existing group members.
FIG. 5 illustrates the interactive steps between a client terminal, the special purpose MARS server and the special purpose Multicast Server when the client terminal wants to join an existing conference for 25 the case where a Multicast Server is used for the conference. In this case, there is little advantage to employing multiple multicast IP
addresses for different senders. It can be assumed that for a given media type, a single multicast IP address is used by all senders. As in FIG. 4, the client receives from the Directory Server the multicast IP
addresses and port numbers on which to receive the other participants' transmissions for which it is a valid receiver, and the ATM address of the special purpose MARS server to be used for the conference, as well as, for this case, the ATM address of the particular Multicast Server to be used for this conference (from step 306 in FIG. 3). At step 501, the client updates its local table listing the ATM addresses of the MARS servers and Multicast Servers corresponding to the sets of multicast IP
addresses for that conference. At step 502, for each media type from which it wants to receive transmissions, the client issues a MARS-JOIN
message indicating the multicast IP address/port number associated with that media type. At step 503, the MARS server updates a local table containing the list of ATM endpoints that are members of each IP
multicast group. At step 504, the special purpose MARS server then instructs the special purpose Multicast Server to add the new client as a leaf of its distribution tree corresponding to the multicast addresses of the conference. From this point on the new client is able to receive all transmissions associated with the multimedia conference which is has selected and for which it has been validated.
Advantageously, by linking a specific conference to a specific single special purpose MARS server, and, where employed, a singe special purpose Multicast Server, the scalability of the conferencing system is improved. Thus, as a new conference is created, an additional MARS server or MCS can be added for the new conference. Further, by enabling the use of different MARS servers for different conferences, the possibility is eliminated that members of one conference may accidentally get information pertaining to a different conference.
Although described above in the context of IP over ATM networks, the present invention can be applied to other switched virtual circuit 5 technologies such as, for example, IP over ISDN, IP over X.25, and IP
over Frame Relay. Further, the network need not have a native point-to-multipoint capability. In such a case, the point-to-multipoint connection would be via the Multicast Server and the connection from the Multicast Server to the endpoints would consist of plural point-to-point connections. Also, the employment of a single special purpose MARS
server dedicated to a specific set of IP multicast groups has applicability to any IP Multicast over ATM system, not just multimedia conferencing.
Also, although described in connection with a system in which each client is assigned a different multicast IP address on which to transmit, 15 the present invention does not require such arrangement and can be employed in a system which uses a different algorithm for assigning sets of multicast addresses to a given conference.
The above-described embodiment is illustrative of the principles of the present invention. Other embodiments could be devised by those 20 skilled in the art without departing from the spirit and scope of the present invention.
Claims (21)
1. In a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit in which, during a multimedia conference, at least one of a plurality of clients in the multimedia conference, at an associated unicast endpoint address, transmits packets for multicast transmission to at least some of the plurality of clients in the multimedia conference at their respective unicast endpoint addresses using multicast IP addresses, a method comprising:
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client; and assigning to each of the plurality of clients in the multimedia conference, for each media type, a different unique multicast IP address on which to transmit packets when each of the plurality of clients joins the multimedia conference.
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client; and assigning to each of the plurality of clients in the multimedia conference, for each media type, a different unique multicast IP address on which to transmit packets when each of the plurality of clients joins the multimedia conference.
2. The method of claim 1, wherein the packets of plural media types are transmitted on different multicast IP addresses and the server manages mapping for each media type between the multicast IP address to which said at least one of said plurality of clients transmits packets of that media type and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving transmitted packets of that media type.
3. The method of claim 2, wherein the plural media types are at least one of audio, video and/or data.
4. The method of claim 1, wherein the virtual circuit network is an ATM network, the clients are connected to the ATM network via ATM, and the endpoint addresses are ATM addresses.
5. The method of claim 2, wherein the server maintains for each multicast IP address a set of the unicast endpoint addresses of those clients in the multimedia conference which are currently receiving transmissions on that multicast IP address.
6. The method of claim 1, further comprising:
assigning a special purpose Multicast Server connected to the network for use for that multimedia conference for establishing point-to-multipoint connections to the clients at their unicast endpoint addresses.
assigning a special purpose Multicast Server connected to the network for use for that multimedia conference for establishing point-to-multipoint connections to the clients at their unicast endpoint addresses.
7. The method of claim 1, wherein the multicast IP addresses assigned to each of the plurality of clients in the multimedia conference are from a group of multicast IP addresses allocated to the multimedia conference when the multimedia conference is initiated.
8. In a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit on which packets are transmitted by a plurality of clients on multicast IP addresses for multicast transmission, a method for a client at a unicast endpoint address to join a multimedia conference and receive transmissions from at least one other client in the multimedia conference at another unicast endpoint address, the method comprising the steps of:
providing to the joining client an endpoint address of a server assigned for use for the conference, which server maintains for each multicast IP address a set of all the unicast endpoint addresses of those clients in the multimedia conference which receive transmissions on the multicast IP address;
receiving a request from the joining client to receive transmissions from the at least one other client; and adding, in the server, the unicast endpoint address of the joining client to a group of endpoint addresses associated with the particular multicast IP address on which the at least one other client transmits, wherein the transmissions are transmissions of plural media types, each media type is assigned a different multicast IP address for each of the plurality of clients, and wherein the multicast IP addresses are assigned from a group of multicast IP addresses allocated to the multimedia conference when the multimedia conference is initiated.
providing to the joining client an endpoint address of a server assigned for use for the conference, which server maintains for each multicast IP address a set of all the unicast endpoint addresses of those clients in the multimedia conference which receive transmissions on the multicast IP address;
receiving a request from the joining client to receive transmissions from the at least one other client; and adding, in the server, the unicast endpoint address of the joining client to a group of endpoint addresses associated with the particular multicast IP address on which the at least one other client transmits, wherein the transmissions are transmissions of plural media types, each media type is assigned a different multicast IP address for each of the plurality of clients, and wherein the multicast IP addresses are assigned from a group of multicast IP addresses allocated to the multimedia conference when the multimedia conference is initiated.
9. The method of claim 8, further comprising the step of instructing the at least one other client to add the joining client as an additional endpoint on a point-to-multipoint virtual circuit to the group of endpoint addresses to which the at least one other client transmits on the particular multicast IP address.
10. The method of claim 8, wherein the transmissions include packets of plural media types transmitted by the at least one other client on different multicast IP addresses, and the request from the joining client includes a request to receive transmissions from the at least one other client of packets of at least one of the plural media types.
11. The method of claim 10, wherein the plural media types are at least one of audio, video and/or data.
12. The method of claim 10, further comprising:
assigning to the joining client, for each media type for which packets are transmitted, a multicast IP address on which to transmit such packets that is different and unique from any multicast IP address assigned to any other client in the multimedia conference.
assigning to the joining client, for each media type for which packets are transmitted, a multicast IP address on which to transmit such packets that is different and unique from any multicast IP address assigned to any other client in the multimedia conference.
13. The method of claim 12, wherein the multicast IP addresses assigned to the joining client are from a group of multicast IP addresses allocated to the multimedia conference.
14. The method of claim 8, wherein the virtual circuit network is an ATM network, the joining client and the other clients are connected to the ATM network via ATM, and the unicast endpoint addresses are ATM
addresses.
addresses.
15. The method of claim 8, further comprising:
providing, to the joining client, an endpoint address of a single special purpose Multicast Server assigned for use during the multimedia conference, which Multicast Server establishes point-to-multipoint connections to clients in the multimedia conference;
establishing a virtual connection between the joining client and the special purpose Multicast Server;
providing the endpoint address of the joining client to the Multicast Server; and adding the endpoint address of the joining client to the Multicast Server's point-to-multipoint connections.
providing, to the joining client, an endpoint address of a single special purpose Multicast Server assigned for use during the multimedia conference, which Multicast Server establishes point-to-multipoint connections to clients in the multimedia conference;
establishing a virtual connection between the joining client and the special purpose Multicast Server;
providing the endpoint address of the joining client to the Multicast Server; and adding the endpoint address of the joining client to the Multicast Server's point-to-multipoint connections.
16. In a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit in which, during a multimedia conference, at least one of a plurality of clients in the multimedia conference, at an associated unicast endpoint address, transmits packets for multicast transmission to at least some of the plurality of clients in the multimedia conference at their respective unicast endpoint addresses using multicast IP addresses, a method comprising:
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client;
identifying a maximum number of clients for the multimedia conference; and pre-assigning a fixed number of multicast IP addresses to the multimedia conference based on the identified maximum number of clients.
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client;
identifying a maximum number of clients for the multimedia conference; and pre-assigning a fixed number of multicast IP addresses to the multimedia conference based on the identified maximum number of clients.
17. The method of claim 16, further comprising:
assigning a subset of the fixed number of multicast IP addresses to one of the plurality of clients when the one of the plurality of clients joins the multimedia conference, the subset of the fixed number of multicast IP
addresses including a multicast IP address for each media type.
assigning a subset of the fixed number of multicast IP addresses to one of the plurality of clients when the one of the plurality of clients joins the multimedia conference, the subset of the fixed number of multicast IP
addresses including a multicast IP address for each media type.
18. In a multicast capable IP network comprising plural IP sub-networks implemented over a common switched virtual circuit in which, during a multimedia conference, at least one of a plurality of clients in the multimedia conference, at an associated unicast endpoint address, transmits packets for multicast transmission to at least some of the plurality of clients in the multimedia conference at their respective unicast endpoint addresses using multicast IP addresses, a method comprising:
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client and the at least one client may choose to receive packets of different media types from different ones of the other clients of the plurality of clients.
assigning a server connected to the network for use during the multimedia conference for managing mapping between the multicast IP
addresses, to which said at least one of said plurality of clients transmits packets, and the unicast endpoint addresses of each of the at least some of the plurality of clients receiving such transmitted packets, wherein the packets are packets of plural media types, at least one of the plurality of clients selects one or more of the plural media types that the at least one client chooses to receive from the other of the plurality of clients in the multimedia conference, and wherein only packets of the selected one or more of the plural media types are transmitted to the at least one client and the at least one client may choose to receive packets of different media types from different ones of the other clients of the plurality of clients.
19. The method of claim 18, wherein the multicast IP addresses for the other clients of the plurality of clients corresponding to the selected media types, are added to an address list associated with the at least one client.
20. The method of claim 18, wherein the server instructs the other clients of the plurality of clients to add a multicast IP address for the at least one client to distribution trees associated with the other clients.
21. The method of claim 18, further comprising:
identifying a maximum number of clients for the multimedia conference; and pre-assigning a fixed number of multicast IP addresses to the multimedia conference based on the identified maximum number of clients.
identifying a maximum number of clients for the multimedia conference; and pre-assigning a fixed number of multicast IP addresses to the multimedia conference based on the identified maximum number of clients.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/881,763 US6138144A (en) | 1997-06-24 | 1997-06-24 | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network implemented over an ATM network |
US08/881,763 | 1997-06-24 |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2240687A1 CA2240687A1 (en) | 1998-12-24 |
CA2240687C true CA2240687C (en) | 2003-07-08 |
Family
ID=25379160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002240687A Expired - Fee Related CA2240687C (en) | 1997-06-24 | 1998-06-15 | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (ip) network implemented over an atm network |
Country Status (4)
Country | Link |
---|---|
US (1) | US6138144A (en) |
EP (1) | EP0888029B1 (en) |
CA (1) | CA2240687C (en) |
DE (1) | DE69840616D1 (en) |
Families Citing this family (87)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6560656B1 (en) * | 1998-02-26 | 2003-05-06 | Sun Microsystems, Inc. | Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system |
CA2213984A1 (en) * | 1996-08-22 | 1998-02-22 | Norand Corporation | Enhanced mobility and address resolution in a wireless premises based network |
JPH1079740A (en) * | 1996-09-03 | 1998-03-24 | Hitachi Ltd | Router device using atm switch |
EP0968596B1 (en) | 1997-03-12 | 2007-07-18 | Nomadix, Inc. | Nomadic translator or router |
US6446116B1 (en) * | 1997-06-30 | 2002-09-03 | Sun Microsystems, Inc. | Method and apparatus for dynamic loading of a transport mechanism in a multipoint data delivery system |
SE9704457L (en) * | 1997-12-01 | 1999-06-02 | Telia Ab | Method and device for multiple address transmission in an IP / ATM network |
CA2315210C (en) * | 1997-12-16 | 2006-12-12 | Sourcenet Corporation | Method and apparatus for receiving full-motion digital video multi-casts, interactive data and interactive voice via a dsl circuit |
US6163810A (en) * | 1998-06-02 | 2000-12-19 | At&T Corp. | System and method for managing the exchange of information between multicast and unicast hosts |
US7155480B2 (en) * | 1998-09-21 | 2006-12-26 | Microsoft Corporation | Client-server conference and user seeking through a server storing a list comprising active conference servers and excluding nonactive conference servers |
JP2000155736A (en) * | 1998-11-24 | 2000-06-06 | Nec Corp | Method for distributing service request and address converting device |
US8266266B2 (en) | 1998-12-08 | 2012-09-11 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization, authentication and accounting |
US8713641B1 (en) | 1998-12-08 | 2014-04-29 | Nomadix, Inc. | Systems and methods for authorizing, authenticating and accounting users having transparent computer access to a network using a gateway device |
US7194554B1 (en) | 1998-12-08 | 2007-03-20 | Nomadix, Inc. | Systems and methods for providing dynamic network authorization authentication and accounting |
WO2000035238A1 (en) * | 1998-12-09 | 2000-06-15 | British Telecommunications Public Limited Company | Communications network |
JP3644009B2 (en) * | 1999-02-19 | 2005-04-27 | 富士通株式会社 | Multicast session management device |
US6937597B1 (en) * | 1999-02-26 | 2005-08-30 | Lucent Technologies Inc. | Signaling method for internet telephony |
US6850987B1 (en) * | 1999-06-01 | 2005-02-01 | Fastforward Networks, Inc. | System for multipoint infrastructure transport in a computer network |
US6636888B1 (en) * | 1999-06-15 | 2003-10-21 | Microsoft Corporation | Scheduling presentation broadcasts in an integrated network environment |
US7949722B1 (en) | 1999-09-29 | 2011-05-24 | Actv Inc. | Enhanced video programming system and method utilizing user-profile information |
US7272649B1 (en) | 1999-09-30 | 2007-09-18 | Cisco Technology, Inc. | Automatic hardware failure detection and recovery for distributed max sessions server |
AU7998600A (en) * | 1999-10-07 | 2001-05-10 | World Multicast.Com, Inc. | Multiple buffered channel ip multicast |
US8190708B1 (en) | 1999-10-22 | 2012-05-29 | Nomadix, Inc. | Gateway device having an XML interface and associated method |
US7006494B1 (en) | 2000-01-04 | 2006-02-28 | Cisco Technology, Inc. | System and method for a virtual telephony intermediary |
US7079495B1 (en) * | 2000-01-04 | 2006-07-18 | Cisco Technology, Inc. | System and method for enabling multicast telecommunications |
US6804254B1 (en) | 2000-01-04 | 2004-10-12 | Cisco Technology, Inc. | System and method for maintaining a communication link |
US7069432B1 (en) | 2000-01-04 | 2006-06-27 | Cisco Technology, Inc. | System and method for providing security in a telecommunication network |
US7720908B1 (en) * | 2000-03-07 | 2010-05-18 | Microsoft Corporation | System and method for multi-layered network communications |
US8463839B2 (en) | 2000-03-28 | 2013-06-11 | Cybernet Systems Corporation | Distributed computing environment |
JP4961575B2 (en) | 2000-03-31 | 2012-06-27 | オープンティービー、インコーポレイテッド | System and method for regional metadata insertion |
US6925490B1 (en) | 2000-05-31 | 2005-08-02 | International Business Machines Corporation | Method, system and program products for controlling system traffic of a clustered computing environment |
AU7170301A (en) * | 2000-06-29 | 2002-01-14 | Cachestream Corp | Virtual multicasting |
US7194549B1 (en) * | 2000-09-06 | 2007-03-20 | Vulcan Patents Llc | Multicast system using client forwarding |
US7092390B2 (en) * | 2000-09-07 | 2006-08-15 | Sbc Technology Resources, Inc. | Internal substitution bi-level addressing for compatible public networks |
WO2002037803A2 (en) * | 2000-10-30 | 2002-05-10 | Sonexis, Inc. | Method and system for providing audio conferencing services using streaming audio |
US7454484B1 (en) * | 2000-11-16 | 2008-11-18 | Nortel Networks Limited | Method and apparatus for producing a multicast tree |
WO2002043301A2 (en) * | 2000-11-17 | 2002-05-30 | Starguide Digital Networks, Inc. | Method and apparatus for injection of ip multicast content into an atm dsl network |
JP2002164889A (en) * | 2000-11-24 | 2002-06-07 | Matsushita Electric Ind Co Ltd | Multicast conference method by multiple terminals, and conference terminal used therefor, and conference system |
US6970461B2 (en) * | 2000-11-29 | 2005-11-29 | Nortel Networks Limited | Access control enhancements for delivery of video and other services |
US20020122391A1 (en) * | 2001-01-12 | 2002-09-05 | Shalit Andrew L. | Method and system for providing audio conferencing services to users of on-line text messaging services |
US6993050B2 (en) | 2001-03-14 | 2006-01-31 | At&T Corp. | Transmit and receive system for cable data service |
DE60230120D1 (en) | 2001-03-14 | 2009-01-15 | Nokia Corp | REALIZATION OF THE PRESENCE MANAGEMENT |
JP2002290458A (en) * | 2001-03-26 | 2002-10-04 | Fujitsu Ltd | Multicast system |
JP3943500B2 (en) * | 2001-03-30 | 2007-07-11 | イージーシー アンド シー カンパニー リミテッド | Multicasting relay method for realizing multicasting |
KR20020023100A (en) * | 2001-05-28 | 2002-03-28 | 박현제 | System for virtual multicast network depolyment |
US6697349B2 (en) * | 2001-08-30 | 2004-02-24 | Motorola, Inc. | System and methods for distributed connection and mobility processing in a multicast IP network incorporating multi-cell location areas |
US7428223B2 (en) | 2001-09-26 | 2008-09-23 | Siemens Corporation | Method for background noise reduction and performance improvement in voice conferencing over packetized networks |
US20030072298A1 (en) * | 2001-10-17 | 2003-04-17 | Infocus Corporation | Dataconferencing method |
US7054902B2 (en) * | 2001-10-23 | 2006-05-30 | Packeteer, Inc. | Multicast delivery systems and methods |
EP1440550B8 (en) * | 2001-10-24 | 2018-04-11 | Rateze Remote Mgmt. L.L.C. | Methods for multicasting content |
US7145883B2 (en) | 2002-02-25 | 2006-12-05 | Sonexis, Inc. | System and method for gain control of audio sample packets |
US7505423B2 (en) * | 2002-02-25 | 2009-03-17 | Sonexis, Inc. | Telephone conferencing system and method |
US7177286B2 (en) | 2002-02-25 | 2007-02-13 | Sonexis, Inc. | System and method for processing digital audio packets for telephone conferencing |
JP3920675B2 (en) * | 2002-03-22 | 2007-05-30 | 株式会社リコー | Data communication method, computer, program, and storage medium |
US6971042B2 (en) * | 2002-04-18 | 2005-11-29 | Huge Systems, Inc. | Media server with single chip storage controller |
US7483945B2 (en) * | 2002-04-19 | 2009-01-27 | Akamai Technologies, Inc. | Method of, and system for, webcasting with just-in-time resource provisioning, automated telephone signal acquisition and streaming, and fully-automated event archival |
US20030197688A1 (en) * | 2002-04-22 | 2003-10-23 | 3M Innovative Properties Company | User interface |
US7733366B2 (en) | 2002-07-01 | 2010-06-08 | Microsoft Corporation | Computer network-based, interactive, multimedia learning system and process |
US7487211B2 (en) * | 2002-07-01 | 2009-02-03 | Microsoft Corporation | Interactive, computer network-based video conferencing system and process |
US7298750B2 (en) * | 2002-07-31 | 2007-11-20 | At&T Knowledge Ventures, L.P. | Enhancement of resource reservation protocol enabling short-cut internet protocol connections over a switched network |
US7065092B2 (en) * | 2002-07-31 | 2006-06-20 | Sbc Properties, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol (IP) connections over a switched network using newly assigned IP addresses |
US7301951B2 (en) * | 2002-07-31 | 2007-11-27 | At&T Knowledge Ventures, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network |
US7272145B2 (en) * | 2002-07-31 | 2007-09-18 | At&T Knowledge Ventures, L.P. | Resource reservation protocol based guaranteed quality of service internet protocol connections over a switched network through proxy signaling |
DE10251654B4 (en) * | 2002-10-31 | 2006-03-02 | Siemens Ag | Method for ensuring the same message order in multiple data sinks |
US7930716B2 (en) | 2002-12-31 | 2011-04-19 | Actv Inc. | Techniques for reinsertion of local market advertising in digital video from a bypass source |
US7792984B2 (en) * | 2003-01-23 | 2010-09-07 | International Business Machines Corporation | Systems and methods for the distribution of bulk data using multicast routing that mitigates network traffic on subnets |
JP3984929B2 (en) * | 2003-06-11 | 2007-10-03 | Necインフロンティア株式会社 | VoIP system, VoIP server, and multicast packet communication method |
US7739394B2 (en) * | 2003-07-29 | 2010-06-15 | At&T Intellectual Property I, L.P. | Bi-level addressing for internet protocol broadband access |
US7447203B2 (en) * | 2003-07-29 | 2008-11-04 | At&T Intellectual Property I, L.P. | Broadband access for virtual private networks |
US7765300B2 (en) * | 2003-10-06 | 2010-07-27 | Ericsson Ab | Protocol for messaging between a centralized broadband remote aggregation server and other devices |
US7567555B1 (en) * | 2004-03-22 | 2009-07-28 | At&T Corp. | Post answer call redirection via voice over IP |
KR20050099899A (en) | 2004-04-12 | 2005-10-17 | 엘지전자 주식회사 | Allocation method for internet protocol multicast based universal plug and play network |
KR100643285B1 (en) * | 2004-11-02 | 2006-11-10 | 삼성전자주식회사 | Method and system for transmitting and receiving data using multicast |
FR2880752A1 (en) * | 2005-01-10 | 2006-07-14 | Thomson Licensing Sa | METHOD OF CONSTRUCTING SINGLE DIFFUSION ADDRESS BY A SERVER AND SERVER USING THE SAME |
US7679638B2 (en) * | 2005-01-27 | 2010-03-16 | Polycom, Inc. | Method and system for allowing video-conference to choose between various associated video conferences |
US7679640B2 (en) * | 2005-01-27 | 2010-03-16 | Polycom, Inc. | Method and system for conducting a sub-videoconference from a main videoconference |
US8787393B2 (en) * | 2005-04-11 | 2014-07-22 | International Business Machines Corporation | Preventing duplicate sources from clients served by a network address port translator |
US7180856B1 (en) * | 2005-12-13 | 2007-02-20 | At&T Corp. | Method and system of monitoring the receipt of multicast traffic |
US7715329B1 (en) | 2005-12-14 | 2010-05-11 | At&T Intellectual Property Ii, L.P. | Method and system for compiling multicast router data |
US7640301B2 (en) * | 2006-04-06 | 2009-12-29 | Att Knowledge Ventures, L.P. | System and method for distributing video conference data over an internet protocol television system |
NO332009B1 (en) * | 2008-12-12 | 2012-05-21 | Cisco Systems Int Sarl | Method of initiating communication connections |
GB2500399B (en) * | 2012-03-20 | 2015-04-15 | Media Network Services As | Data distribution system |
US9374237B2 (en) * | 2014-02-14 | 2016-06-21 | Verizon Patent And Licensing Inc. | Virtual rendezvous point (RP) address for multicast RP device |
JP6593008B2 (en) * | 2014-10-07 | 2019-10-23 | 株式会社リコー | Information processing apparatus, communication method, program, and system |
US10880108B2 (en) * | 2017-06-14 | 2020-12-29 | Gogo Business Aviation Llc | Optimized wireless content loading scheduler |
US11171795B2 (en) | 2019-03-29 | 2021-11-09 | Lenovo (Singapore) Pte. Ltd. | Systems and methods to merge data streams from different conferencing platforms |
US11196869B2 (en) * | 2020-02-15 | 2021-12-07 | Lenovo (Singapore) Pte. Ltd. | Facilitation of two or more video conferences concurrently |
US11855793B2 (en) | 2020-12-11 | 2023-12-26 | Lenovo (Singapore) Pte. Ltd. | Graphical user interfaces for grouping video conference participants |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694547A (en) * | 1992-10-13 | 1997-12-02 | Bay Networks, Inc. | System for registration of clients in an ATM network providing for communication of client registration messages to a central manager |
JPH08180001A (en) * | 1994-04-12 | 1996-07-12 | Mitsubishi Electric Corp | Communication system, communication method and network interface |
US5600644A (en) * | 1995-03-10 | 1997-02-04 | At&T | Method and apparatus for interconnecting LANs |
JPH0946338A (en) * | 1995-07-28 | 1997-02-14 | Toshiba Corp | Multi-cast communication control system |
US5758070A (en) * | 1995-10-06 | 1998-05-26 | Canon Kabushiki Kaisha | System for dynamically determining a network media type of a LAN using frame type identifying value from a configuration table |
US5835723A (en) * | 1995-12-28 | 1998-11-10 | Intel Corporation | Dynamic assignment of multicast addresses |
US5784561A (en) * | 1996-07-01 | 1998-07-21 | At&T Corp. | On-demand video conference method and apparatus |
-
1997
- 1997-06-24 US US08/881,763 patent/US6138144A/en not_active Expired - Lifetime
-
1998
- 1998-06-12 DE DE69840616T patent/DE69840616D1/en not_active Expired - Lifetime
- 1998-06-12 EP EP98304672A patent/EP0888029B1/en not_active Expired - Lifetime
- 1998-06-15 CA CA002240687A patent/CA2240687C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6138144A (en) | 2000-10-24 |
EP0888029A2 (en) | 1998-12-30 |
EP0888029B1 (en) | 2009-03-04 |
EP0888029A3 (en) | 1999-10-13 |
DE69840616D1 (en) | 2009-04-16 |
CA2240687A1 (en) | 1998-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2240687C (en) | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (ip) network implemented over an atm network | |
US6011782A (en) | Method for managing multicast addresses for transmitting and receiving multimedia conferencing information on an internet protocol (IP) network | |
US5812552A (en) | Method and apparatus for dynamically forming multimedia emulated local area networks | |
US6181697B1 (en) | Method for a unicast endpoint client to access a multicast internet protocol (IP) session and to serve as a redistributor of such session | |
Schulzrinne | Personal mobility for multimedia services in the Internet | |
US7783704B2 (en) | System and apparatus for geographically distributed VoIP conference service with enhanced QoS | |
EP0902569B1 (en) | Method and system for a unicast endpoint client to access a multicast internet protocol (ip) session | |
AU720817B2 (en) | Multicast switching | |
US7133928B2 (en) | Performing multicast communication in computer networks by using overlay routing | |
EP2241091B1 (en) | Combining locally addressed devices and wide area network (wan) addressed devices on a single network | |
US7936696B2 (en) | Efficient transmission of data to multiple network nodes | |
JP2004242063A (en) | Data generating device | |
US8621083B2 (en) | System and method for multicasting through a localized computer network | |
Pejhan et al. | Distributed multicast address management in the global internet | |
EP1959637A1 (en) | Method and apparatus for session aware connectivity control | |
Granda et al. | Overlay network based on WebRTC for interactive multimedia communications | |
Mauthe et al. | Multimedia group communications: towards new services | |
RU2240657C1 (en) | Method and device for conducting video conferences | |
KR100565186B1 (en) | Video Conferencing Method Using Multicast_ | |
EP2066073A1 (en) | Access system and method for multicast management | |
KR20000027471A (en) | Method for transmitting session data of a multicast router | |
US20060039375A1 (en) | Method, communication system and communication device for trainsmitting broadcasting information via a communication network | |
Oh-ishi et al. | Architecture for a Peer-to-peer Network with IP Multicasting | |
JP3239865B2 (en) | Method and system for automatically joining a multicast group | |
Mauthe et al. | Group support in multimedia communications systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20150615 |