Reliable delivery of multi-cast conferencing data -> Monitor Keywords
Fresh Patents
Monitor Patents Patent Organizer File a Provisional Patent Browse Inventors Browse Industry Browse Agents Browse Locations
site info Site News  |  monitor Monitor Keywords  |  monitor archive Monitor Archive  |  organizer Organizer  |  account info Account Info  |  
08/16/07 - USPTO Class 709 |  82 views | #20070192412 | Prev - Next | About this Page  709 rss/xml feed  monitor keywords

Reliable delivery of multi-cast conferencing data

USPTO Application #: 20070192412
Title: Reliable delivery of multi-cast conferencing data
Abstract: Conferencing data is reliably delivered to computer systems participating in a hierarchically arranged multi-cast conferencing session. When a child computer system does not receive a multi-cast packet (e.g., an IP multi-cast packet), the child computer system sends a negative acknowledgment to a parent computer system. In response, the parent computer system re-transmits conferencing data that was contained in the multi-cast packet to the child computer system. Conferencing data can be re-transmitted to the child computer system via uni-cast (e.g., TCP). Accordingly, conferencing data that is not received or that is damaged via multi-cast can be repaired via uni-cast. Computer systems can join an existing multi-cast conference session without having to communicate with the root computer system. The root computer system adjusts a multi-cast send rate to compensate for changed network conditions. (end of abstract)



Agent: Microsoft Corporation - Redmond, WA, US
Inventors: Yikang Xu, Leonard Alan Collins, Lon-Chan Chu
USPTO Applicaton #: 20070192412 - Class: 709204000 (USPTO)

Related Patent Categories: Electrical Computers And Digital Processing Systems: Multicomputer Data Transferring, Computer Conferencing

Reliable delivery of multi-cast conferencing data description/claims


The Patent Description & Claims data below is from USPTO Patent Application 20070192412, Reliable delivery of multi-cast conferencing data.

Brief Patent Description - Full Patent Description - Patent Application Claims
  monitor keywords

CROSS-REFERENCE TO RELATED APPLICATION

[0001] This application claims benefit to U.S. patent application Ser. No. 10/436,613 filed on May 13, 2003.

BACKGROUND OF THE INVENTION

[0002] 1. The Field of the Invention

[0003] The present invention relates to network communication technology, and more specifically, to reliable delivery of multi-cast conferencing data.

[0004] 2. Background and Relevant Art

[0005] Computer networks have enhanced our ability to communicate and access information by allowing one computer or device (hereinafter both referred to as a "computing system") to communicate over a network with another computing system using electronic messages. When transferring an electronic message between computing systems, the electronic message will often pass through a protocol stack that performs operations on the data within the electronic message (e.g., packetizing, routing, flow control). The Open System Interconnect ("OSI") model is an example of a networking framework for implementing a protocol stack.

[0006] The OSI model breaks down the operations for transferring an electronic message into seven distinct "layers," each designated to perform certain operations in the data transfer process. While protocol stacks can potentially implement each of the layers, many protocol stacks implement only selective layers for use in transferring data across a network. When data is transmitted from a computing system, it originates at the application layer and is passed down to intermediate lower layers and then onto a network. When data is received from a network it enters the physical layer and is passed up to higher intermediate layers and then eventually received at the application layer. The application layer, the upper most layer, is responsible for supporting applications and end-user processes, such as, for example, electronic conferencing software.

[0007] Often, when two computing systems are to communicate with each other, the two computing systems will first establish a connection (e.g., a Transmission Control Protocol ("TCP") connection). Thus, when a number of different computing systems are to participate in an electronic conference, the different computing systems may establish connections among one another. Accordingly, each computing system participating in the electronic conference is then able to share conference data with every other computing system participating in the electronic conference. The established connections can result in the computing systems being configured in a logical hierarchy, such as, for example, that of a T.120 conferencing session. A logical hierarchy can include a root computing system having connections to one or more intermediate computing systems, that are in turn eventually connected to one or more leaf computing systems (potentially through connections to one or more other intermediate computing systems). Accordingly, a logically hierarchy can include a significant number of established connections.

[0008] During an electronic conference, conferencing data typically originates at an intermediate or leaf computing system in one branch of the logical hierarchy. The intermediate or leaf computing system transfers the conferencing data up the logical hierarchy (e.g., by utilizing established TCP connections) to the root computing system. The root computing system then transfers the conferencing data down the logical hierarchy (e.g., by utilizing established TCP connections) to all the intermediate and leaf computing systems in the logical hierarchy. Accordingly, for conferencing data to reach an intermediate or leaf computing system the conferencing data may travel over a number of established connections. For example to deliver conferencing data to a leaf computing system, the conferencing data may travel over first connection between a root computing system and a first intermediate computing system, over second connection between the first intermediate computing system and a second intermediate computing system, and over a third connection between the second intermediate computing system and the leaf computing system.

[0009] Many connection-oriented protocols, such as TCP, provide the features of end-to-end error recovery, resequencing, and flow control. Accordingly, utilizing a connection-oriented protocol to transfer conferencing data increases reliability. However, to realize the features of connection-oriented protocols, state information, such as, for example, send and receive buffers, congestion control parameters, and sequence and acknowledgment number parameters must be maintained for each TCP connection. Further, some state information must be transferred along with conferencing data when conferencing data is transferred between computing systems. Maintenance and transfer of state information consumes computing system resources (e.g., system memory), consumes network bandwidth, and potentially increases network latency. In an electronic conference with a number of intermediate and leaf computing systems the bandwidth consumed by transferred state information can be relatively large.

[0010] As a result, some electronic conferencing applications have utilized multi-cast protocols (e.g., multi-cast Internet Protocol ("IP")) to transfer conferencing data from a root computing system down to other computing systems in a logically hierarchy. In electronic conferences utilizing multi-cast protocols, each intermediate and leaf computing system listens on the same designated multi-cast address for conferencing data. Accordingly, a root computing system need only transmit conferencing data to the designated multi-cast address to deliver the conferencing data to all the other computing systems. During normal operation, each computing system listening on the designated multi-cast address will then receive the conferencing data.

[0011] However, since multi-cast protocols are typically not connection-oriented, multi-cast protocols do not provide any reliable messaging features (e.g., end-to-end error recovery, resequencing, flow control, etc). Thus, when multi-cast data is lost or damaged there is little, if anything, that can be done to recover the lost or damaged data. This is unfortunate, since lost or damaged conferencing data can significantly reduce the usefulness of an electronic conference. Further, since multi-cast conferencing data is transmitted to every computer system, lost or damaged multi-cast conferencing data can potentially affect every intermediate and leaf computing system participating in the electronic conference. Therefore systems, methods, computer program products, and data structures for reliably delivering multi-cast conferencing data would be advantageous.

BRIEF SUMMARY OF THE INVENTION

[0012] The foregoing problems with the prior state of the art are overcome by the principles of the present invention, which are directed towards methods, systems, and computer program products for reliable delivery of multi-cast conferencing data. A number of computer systems participate in a hierarchically arranged multi-cast conference session that includes at least a parent computer system and one or more corresponding child computer systems. The parent computer system (which may or may not be a root computer system) accesses a multi-cast packet (e.g., an Internet Protocol ("IP") multi-cast packet) containing conferencing data for the multi-cast conference session. The parent computer system stores the conferencing data in a receive buffer until receiving an acknowledgment from each of one or more corresponding child computer systems indicating reception of the conferencing data.

[0013] A child computer system detects, for example, by utilizing sequence numbers, that the child computer system did not receive the multi-cast packet. The child computer system sends a negative acknowledgement message to the parent computer system to indicate that the multi-cast packet was not received. In response, the parent computer system identifies a mechanism for re-transmitting the stored conferencing data to the child computer system. When the parent computer system is the root computer system, the parent computer system may identify a multi-cast or a uni-cast mechanism (e.g., utilizing a Transmission Control Protocol ("TCP") connection) for re-transmitting the conferencing data.

[0014] On the other hand, when the parent computer system is not the root computer system, the parent computer system can identify a uni-cast mechanism. Thus, conferencing data can be re-transmitted to a child computer system via uni-cast when it is indicated that a multi-cast packet is not received. Accordingly, embodiments of the present invention can more reliably deliver conferencing data through recovery via connection-oriented protocols, while still realizing potential bandwidth savings and reduced latency associated with multi-cast protocols. Further, embodiments of the present invention allow both multi-cast capable computer systems and computers that are not multi-cast enabled to participate in the same conferencing session. Multi-cast capable computer systems can participate in the conferencing session via multi-cast and computers that are not multi-cast enabled can participate in the conferencing session via uni-cast.

[0015] In some embodiments, a parent computer system invites a child computer system to join an existing multi-cast conference session. The parent computer system access a multi-cast address for the multi-cast conference session and transmits a multi-cast invite message, including at least the multi-cast address, to the child computer system. In response to the multi-cast invite, the child computer system sends a multi-cast status message indicating to the parent computer system the capability to receive multi-cast packets. In response to the multi-cast status message, the parent computer system sends a next multi-cast sequence number to the child computer system. The next multi-cast sequence number indicates the multi-cast sequence number that is to be associated with the next multi-cast packet received at the child computer system. Accordingly, the child computer system can dynamically join an existing multi-cast conference session without significantly impacting other computer systems already participating in the existing multi-cast conference session.

[0016] From time to time, a root computer system can adjust a current send rate for multi-cast packets. When the root computer system's immediate child computer systems acknowledge reception of a sequence of multi-cast packets within a specified period of time, a current send rate can be increased. On the other hand, when the immediate child computer systems do not acknowledge reception of a sequence of multi-cast packets within a specified period of time (e.g., as a result of network congestion or latency), the send rate of multi-cast packets can be decreased. Accordingly, a root computer system can adjust a send rate to compensate for changes in the transmission characteristics (e.g., available bandwidth and latency) of networks used to deliver multi-cast packets.

[0017] Additional features and advantages of the invention will be set forth in the description that follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.

BRIEF DESCRIPTION OF THE DRAWINGS

[0018] In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:

[0019] FIG. 1 illustrates a suitable operating environment for the principles of the present invention.

[0020] FIG. 2 illustrates an example of a network architecture that facilitates delivery of multi-cast conferencing data with increased reliability.

Continue reading about Reliable delivery of multi-cast conferencing data...
Full patent description for Reliable delivery of multi-cast conferencing data

Brief Patent Description - Full Patent Description - Patent Application Claims

Click on the above for other options relating to this Reliable delivery of multi-cast conferencing data patent application.
###
monitor keywords

How KEYWORD MONITOR works... a FREE service from FreshPatents
1. Sign up (takes 30 seconds). 2. Fill in the keywords to be monitored.
3. Each week you receive an email with patent applications related to your keywords.  
Start now! - Receive info on patent apps like Reliable delivery of multi-cast conferencing data or other areas of interest.
###


Previous Patent Application:
Method and system for automatic handling of invitations to join communications sessions in a virtual team environment
Next Patent Application:
System and method for efficiently accessing internet resources
Industry Class:
Electrical computers and digital processing systems: multicomputer data transferring or plural processor synchronization

###

FreshPatents.com Support
Thank you for viewing the Reliable delivery of multi-cast conferencing data patent info.
IP-related news and info


Results in 0.19449 seconds


Other interesting Feshpatents.com categories:
Daimler Chrysler , DirecTV , Exxonmobil Chemical Company , Goodyear , Intel , Kyocera Wireless , 174
filepatents (1K)

* Protect your Inventions
* US Patent Office filing
patentexpress PATENT INFO