Multiplex communications – Data flow congestion prevention or control – Flow control of data transmission through a network
Reexamination Certificate
1999-06-30
2003-06-10
Cangialosi, Salvatore (Department: 2739)
Multiplex communications
Data flow congestion prevention or control
Flow control of data transmission through a network
C370S238000
Reexamination Certificate
active
06577599
ABSTRACT:
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of computer software and more specifically to the efficient and reliable multicasting of information in a network environment. Portions of this patent document may contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever.
Sun, Sun Microsystems, the Sun logo, Solaris, “Write Once, Run Anywhere”, Java, JavaOS, JavaStation and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
2. Background Art
Computer networks, especially the Internet, are used to propagate information to multitudes of users. Sometimes, the Internet is used to broadcast identical information from a network node (i.e. a “server” or a “sender”) to many network endpoints (i.e., “clients” or “receivers”). This is known as “multicasting.” Examples of multicasting include the broadcasting of video and/or audio information of a lecture in one classroom to many other classrooms, or the broadcast of current stock market figures from a main source (e.g., a Bloomberg market news server) to numerous Internet news web sites (e.g., CNN, MSNBC, etc.).
FIG. 6
is a block diagram of a multicast environment, illustrating a sender and multiple receivers. Identical messages can be sent from sender
610
to receivers
620
through
680
as members of one multicast group. Alternatively, receivers
620
and
630
can form one multicast group, while receivers
640
through
660
, and
670
through
680
form additional multicast groups.
Current methods for multicasting are designed to enable the multicasting of information to thousands of receivers. However, most actual uses for multicasting are only to a relatively small number of users, and therefore most prior art schemes do not work well for most multicasting situations.
The above referenced problems can be understood from a review of a general description of a network environment, including the Internet, communication protocols, and the current multicasting schemes.
Networks
In modern computing environments, it is common to employ multiple computers or workstations linked together in a network to communicate between, and share data with, network users. A network also may include resources, such as printers, modems, file servers, etc., and may also include services, such as electronic mail, broadcasting or multicasting services. A resource can, for example, simultaneously provide or transmit information to a plurality of users as requested.
A network can be a small system that is physically connected by cables or via wireless communication (a local area network or “LAN”). Alternatively, several separate networks can be connected together to form a larger network (a wide area network or “WAN”). Other types of networks include the Internet, telcom networks, Intranet, extranets, wireless networks, and other networks over which electronic, digital and/or analog data may be communicated.
The Internet
The Internet is a client/server system that includes a worldwide network of interconnected computers. A “client” is the computer that is used to access the Internet. An Internet client accesses a computer on the network (“server”) via an Internet provider. An Internet provider is an organization that provides a client with access to the Internet (via analog telephone line or Integrated Services Digital Network line, for example). Typically, when a user logs onto the Internet or the World Wide Web (WWW), using a client computer, the user views “web pages” that are stored on a remote server. Information including data files, and the web pages are often transferred between the client and the server.
A client can, for example, download a file from or send an electronic mail message to another computer/client using the Internet. A client may also participate in a multicast session, for example, to tune into a radio show transmitted via the Internet. The server or the client may have to evaluate the type of data transferred (e.g., text, audio, video, etc.) prior to processing the data. One method of data transmission may be more efficient than another method depending on the type of data being transferred, and/or the number of users the data is intended for.
Network Communication/Data Transfer
Information servers maintain information that are transferable through the WWW and are capable of processing a client request to access that information. Information servers can implement a multicast session for transmittal of identical information to a group of clients. To enable the computers on a network to communicate with each other, a set of standardized rules for exchanging the information between the computers, referred to as a “protocol” is utilized.
Communication protocols generally specify the data format, timing, sequencing, and error checking of data transmissions. Various communication protocols are used in the networking environment. For example, one communication protocol is referred to as the transmission control protocol/Internet protocol (“TCP/IP”). The TCP/IP communication protocol includes a set of communication protocols used on the Internet and on many multiplatform networks.
The TCP/IP protocol family is made up of numerous individual protocols (e.g., file transfer protocol (“FTP”), transmission control protocol (“TCP”), and network terminal protocol (“TELNET”)). The TCP protocol is responsible for breaking up a message to be transmitted and including it in packets of manageable size, reassembling the message at the receiving end, resubmitting any packets that get lost (i.e., are not delivered), and reordering the data included in the packets in the appropriate format. A “packet” is an encapsulated form of data or information (also referred to as a “datagram”) that is transferred or passed across the Internet according to the communication protocol standards. A packet contains a source and destination address along with the information intended for transmission.
The TCP transfer protocol is often utilized to transmit large amounts of information because of its ability to break up information into packets and to reassemble the information at the receiving end. Other communication protocols (e.g., multicasting protocols) manage other functional aspects of information communication, and thus operate on a higher level than the TCP/IP protocol. These higher level protocols utilize TCP/IP as the underlying means for communication of information.
To transfer information, a higher level protocol defines a set of commands that one machine sends to another (e.g., commands to specify who the sender of the message is, who it is being sent to, and the text of the message) encapsulated in a series of packets encoded according to the specifications of that communication protocol. Those packets in turn are broken up, as needed, and encapsulated in TCP/IP packets so that they are transmitted to a destination on the network, via the TCP/IP protocol.
Real Time Transport Protocol (RTP)
A communication protocol that runs on top of the TCP/IP and is utilized to control the multicast of media information is the Real Time Transport Protocol (“RTP”). RTP is used to transmit packets of audio and video information on a network. An RTP packet is a data packet consisting of a header, a list of sources, and the information intended for transmission. Typically, a single RTP packet is contained in one packet of the underlying protocol (e.g., TCP/IP). Therefore, the rate of transfer of audio/video information is at least equal to the rate of transmission of TCP/
Gupta Amit
Speer Michael
Cangialosi Salvatore
Gunnison McKay & Hodgson, L.L.P.
McKay Philip J.
Sun Microsystems Inc.
LandOfFree
Small-scale reliable multicasting does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Small-scale reliable multicasting, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Small-scale reliable multicasting will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3154601