+

US20070083667A1 - Method and system for multicast delivery of multimedia content on demand - Google Patents

Method and system for multicast delivery of multimedia content on demand Download PDF

Info

Publication number
US20070083667A1
US20070083667A1 US11/530,661 US53066106A US2007083667A1 US 20070083667 A1 US20070083667 A1 US 20070083667A1 US 53066106 A US53066106 A US 53066106A US 2007083667 A1 US2007083667 A1 US 2007083667A1
Authority
US
United States
Prior art keywords
streaming
clients
content
receive
source
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.)
Abandoned
Application number
US11/530,661
Inventor
Jonathan COOPER
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Smiths Detection Inc
Original Assignee
Smiths Detection Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Smiths Detection Inc filed Critical Smiths Detection Inc
Priority to US11/530,661 priority Critical patent/US20070083667A1/en
Publication of US20070083667A1 publication Critical patent/US20070083667A1/en
Assigned to SMITHS DETECTION INC. reassignment SMITHS DETECTION INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: COOPER, JONATHAN HILTON
Priority to US13/657,762 priority patent/US8880719B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1101Session protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting

Definitions

  • the present invention relates generally to the transmission of multimedia content on a computer network and more particularly to a multimedia content delivery system and method that maximizes the efficiency of network bandwidth consumption through selective multicasting of the multimedia.
  • Multicasting is a communication pattern in which a source host sends a message to a group of destination hosts. Although this can be done by sending unicast (point-to-point) messages to each of the destination hosts, the added consumption of bandwidth and processing power required to establish connections to the destination hosts make unicasting undesirable in this situation. Accordingly, the primary advantage of using multicasting is the decrease in bandwidth consumption. There are many applications which are required to transmit packets to hundreds of destination hosts. The packets sent to these destination hosts share a group of links on their paths to their destinations. Since multicasting requires the transmission of only a single packet by the source host and replicates this packet only as necessary (i.e. at forks of the multicast delivery tree), multicast transmission can conserve scarce network resources.
  • Multicasting Another important feature of multicasting, and with which the present application is concerned, is its support for “datacasting” applications.
  • multimedia transmission over the internet has become increasingly popular. These transmissions are also referred to as “webcasts”, “audiocasts”, “videocasts”, “podcasts” and other fanciful terms depending on the type of the multimedia content.
  • Most popular is the capture, compression and transmission of audio and video signals from a server to a group of receiving clients. Instead of using a set of point-to-point connections between the participating clients, multicasting can be used to efficiently distribute the multimedia content to all of the clients. Frequently, clients may join or leave an audiocast or a videocast at any time.
  • the present invention solves the problem of the prior art by providing a novel streaming multimedia broadcasting system and method that selectively multicasts its content based on client requests and usage.
  • the present system includes a server in communication with a plurality of sources and has a plurality of clients.
  • the server determines if at least one of the clients is requesting to receive at least one of the sources.
  • the server then multicasts these requested sources to the requesting clients, respectively. If none of the clients is requesting a particular source, the server does not multicast that particular source. If all of the clients cease requesting a particular source that the server is currently multicasting, the server terminates the multicast of that particular source.
  • a method/device/system for executing a method for delivering, over a network, streaming media content from at least one source to a plurality of clients, the method comprising the actions of multicasting a first streaming content to at least one client of the plurality of clients, and terminating the multicast of the first streaming content upon a determination that none of the plurality of clients desires to continue to receive the first streaming content.
  • termination of the multicast/prevention of the multicast is includes stopping/preventing the streaming media content from entering/propagating through the network.
  • Some embodiments discussed above and below further include the action of, before multicasting the first streaming content, determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source, on the basis of at least one of the number of recently received polling messages; and whether at least one polling message has recently been received.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises sending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises ending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source; and t least one of evaluating responses from respective recipients of the polling questions; and evaluating a lack of responses from respective recipients of the polling questions.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of counting a number of open TCP socket connections (physical or otherwise) to a server multicasting the first streaming content to at least one client of the plurality of clients; and determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients based on the number of open TCP socket connections counted.
  • the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of: counting a number of open TCP socket connections to a server multicasting the first streaming content to at least one client of the plurality of clients, and detennining that no client desires to receive streaming content from the at least one source if the number of open TCP socket connections is below a certain number; and determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients, and determining that no client desires to receive streaming content from the at least one source if it is determined that there are no open TCP socket connections.
  • the first streaming content includes video content generated by a video camera system.
  • the first streaming content includes video content generated by a first video camera system
  • the method further comprising the actions of multicasting at least a second streaming content to at least one client of the plurality of clients, the second streaming content including video content generated by a second video camera system; and terminating the multicast of the second streaming content when a determination is made that none of the plurality of clients desires to continue to receive the second streaming content, wherein the actions of multicasting occurring through a same server.
  • FIG. 1 is a schematic view of a computer network of the preferred embodiment of the present invention.
  • FIG. 1 an example of a network system is shown where there are five (5) clients and three (3) cameras (or sources) in communication with a server through various network connections.
  • the following description will refer to video captured through cameras as a matter of convenience, it is to be understood that the present invention can accommodate all types streaming content, including without limitation such formats as text, pictures, and audio.
  • various types of networks and/or connections to the servers may be utilized.
  • the number of clients and sources may also vary. Accordingly, in some embodiments, the clients and sources may connect to the server through any number of ways including, by way of example only and without limitation, wireless access points, digital subscriber lines, wide area network connections and/or local area network connections.
  • FIG. 1 depicts an example of a system where there are 5 clients and 3 video sources.
  • all 3 cameras would be broadcasting to all parts of the network all of the time. Accordingly, if each camera was transmitting 1 Mbps of data, then Broadcast Domain A and Broadcast Domain B would each be handling 3 Mbps of data and 3 Mbps would be going to each Network Interface Card (NIC) on each client. If there were 300 cameras, the number would be 300 Mbps and this could start to cause network congestion.
  • NIC Network Interface Card
  • the video server may not send any video until one of the clients requested it. That way, the server would start multicasting once it received a request from a single client for a particular resource. If it received a subsequent request, it would continue streaming just that resource. When a client no longer needed the stream, the server would take note of that and once no client needed the stream, it would stop streaming.
  • the server of some embodiments of the present invention may receive a constant stream of video from the cameras communicating with it. However, the server does not multicast all of these video feeds all of the time, as in the prior art. Instead, it checks to see whether any of the clients are requesting to view any of the video from any of the particular cameras. If none of the clients is requesting the video from a particular camera, the server does not multicast that cameras' content. If however, at least one client desires to view the video from a particular camera, the server multicasts that camera's video stream to the client.
  • the server merely takes note that there is an additional client and the client is added to the multicast address of the multicast transmission. It can be appreciated that in some implementations, this conserves significant network resources because only a single transmission is being made of any particular camera's video. If, however, all of the clients cease requesting a particular video feed, as may happen from time to time, the server may terminate the multicast of that video, thereby further conserving network resources. Referring back to the imperfect radio and television analogy made earlier, it can be appreciated that the present system ceases to datacast the content that nobody is listening or watching.
  • “By terminating the multicast,” etc. it is meant the prevention of the placement of streaming media content onto a network if no client desires to receive the content and the suspension of propagation of the streaming media content through the network if no client desires to continue receiving the content. That is, in some embodiments of the present invention, content being sent to a server by, for example, a video camera, is not placed onto the network (and thus not multicasted), if no client desires the content.
  • a video distribution system comprising, a server and a plurality of cameras adapted to send respective streaming video contents to the server.
  • the server is adapted to receive at least some of the sent streaming video contents and adapted to multicast at least some of the received streaming media content to a plurality of clients over a network. Further, in this system, the total bit rate of the streaming video contents capable of being received by the server exceeds a network bandwidth, and the server is adapted to limit the number of multicasts of respective streaming media contents to a total bit rate that does not exceed the network bandwidth by determining whether at least one of the received streaming video contents is desired to be viewed by a client and not placing that at least one received streaming video onto the network if the at least one client does not desire to view the received streaming video.
  • 50, 60, 70, 80, 90, 100, 300 or more cameras may be in communication with the server, and the negative effects of a saturated network may be avoided, even though the input into the server exceeds the bandwidth of the network.
  • the present invention provides for a system that permits management of what is propagated through the network based on client desires.
  • not placing the content onto the network alleviates the need to utilize network switches/network switching to gain efficiencies in utilizing the bandwidth.
  • the client may send a regular polling message to the server to indicate that it was still interested in receiving the content of the camera.
  • the server could then keep track of the number of recently received polling messages to determine whether to continue the multicast of the video.
  • the client may send a message indicating it was interested in the video feed of a particular camera, and then periodically the server could send a polling message to the viewing clients to ensure that they are still interested in receiving the content.
  • the server may determine to continue to datacast the video feed.
  • a determination is made whether at least one client of the plurality of clients desires to receive streaming content from the at least one source.
  • This determination may include evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source, on the basis of at least one of the number of recently received polling messages, and whether at least one polling message has recently been received. In this regard, if a polling message has not been received within a predetermined or variable time identified by a system administrator, etc., a determination may be made that no client desires to receive streaming video. In some embodiments, this determination includes sending polling messages to one or more clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source.
  • This may further include evaluating responses from respective recipients of the polling questions and/or evaluating a lack of responses from respective recipients of the polling questions, wherein if the responses are indicative of a negative desire to receive content, and/or if no responses are received, a determination may be made that no client desires to receive this content.
  • some embodiments of the present invention provide a unique solution to the problems of the prior art by providing a system that may selectively multicast its streaming multimedia content based on client usage and/or requests.
  • Some embodiments of the present invention may be implemented with programming/logic/software/controls, etc., at the so-called application layer of a network protocol.
  • the application layer allows a user to access information on the network through an application. This layer may be the main interface for the user(s) to interact with the application and therefore the network.
  • Some examples of application layer protocols include, by way of example only, and not by way of limmitation, Telnet, File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP) and Hypertext Transfer Protocol (HTTP).
  • the network protocol may include some or all of the seven layers of the open system interconnection (OSI) model, the application layer being analogous to the seventh layer of that model. That is, in a network having the OSI model with seven layers, the programming, logic, software and/or controls, implementing some embodiments of the present invention will be at the seventh layer, or its equivalent.
  • OSI open system interconnection
  • this method may comprise the actions of multicasting a first streaming content to at least one client of the plurality of clients, and terminating the multicast of the first streaming content upon a determination made at an application layer of a network protocol (which may be done, for example, with logic at the application layer) that none of the plurality of clients desires to continue to receive the first streaming content.
  • the present invention includes methods for practicing the invention, software to practice the invention, logic (including hardware, software and/or firmware) to practice the invention, and apparatuses configured to implement the present invention. Accordingly, the present invention includes a program product and hardware and firmware for implementing algorithms to practice the present invention, as well as the systems and methods described herein, and also for the control of the devices and implementation of the methods described herein.
  • processor encompasses both simple circuits and complex circuits, as well as computer processors.
  • teachings of the present invention may be combined with the teachings of one or both of U.S. patent application Ser. No. 09/912,869 entitled Methods and Systems for Networked Camera Control, to Peter Mottur and Ethan Zimmer, filed Jul. 25, 2001, and U.S. patent application Ser. No. 10/301,344 entitled Methods and Systems to Control Access to Network Devices, to Peter Mottur, filed Nov. 21, 2002, the contents of these applications being incorporated by reference herein in their entirety. This is especially the case with respect to the teachings relating to the camera networks and ancillary components discussed therein.
  • a server is adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients, wherein the server includes logic, which, in some embodiments, is at an application layer of a network protocol, to determine whether any of the plurality of clients desires to at least one of: receive a multicast transmission of the first streaming media content; and continue receiving a multicast transmission of the first streaming media content, and wherein the server includes logic, in some embodiments at the application layer of the network protocol, to at least one of: not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
  • the server includes logic to evaluate, in some embodiments at the application layer of the network protocol, received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of: not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
  • the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source
  • the server includes logic at the application layer of the network protocol to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source.
  • a server adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients, wherein the server includes logic to determine whether any of the plurality of clients desires to at least one of: receive a multicast transmission of the first streaming media content; and continue receiving a multicast transmission of the first streaming media content, and wherein the server includes logic to at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of: it is determined that no client desires to receive the multicast transmission of the first streaming media content; and it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
  • the server includes logic to evaluate received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of: it is determined that no client desires to receive the multicast transmission of the first streaming media content; and if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
  • the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source, wherein the server includes logic to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source.
  • a program product comprising: a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform some or all of the various actions, methods, etc., described above and/or below.
  • the machine is a server system, and in some embodiments, the program product is adapted for utilization at the application layer of a network protocol.
  • a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform some or all of the various methods/actions, etc., described above and/or below.
  • there is a method/system/apparatus as described above/below including preventing a new client from receiving the first streaming content if the total bit rate of the plurality of streaming video contents would exceed the network bandwidth capacity. In some embodiments, there is a method/system/apparatus as described above/below, including providing a message to the new client annunciating denial of receipt of the first streaming content upon preventing the new client from receiving the first streaming content.
  • a video distribution system comprising a server; and a plurality of cameras adapted to send respective streaming video contents to the server, wherein the server is adapted to receive at least some of the sent streaming video contents and adapted to multicast at least some of the received streaming media content to a plurality of clients over a network, wherein the total bit rate of the streaming video contents capable of being received by the server exceeds a network bandwidth, and wherein the server is adapted to limit the number of multicasts of respective streaming media contents to a total bit rate that does not exceed the network bandwidth by determining whether at least one of the received streaming video contents is desired to be viewed by a client and not placing that at least one received streaming video onto the network if the at least one client does not desire to view the received streaming video.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)

Abstract

A server in connection with a plurality of multimedia sources that has a plurality of clients. The server determines if at least one of the clients is requesting to receive at least one of the sources. The server then multicasts these requested sources to the requesting clients, respectively. If none of the clients is requesting a particular source, the server does not multicast that particular source. If all of the clients cease requesting a particular source that the server is currently multicasting, the server terminates the multicast of that particular source.

Description

    CROSS-REFERENCE TO RELATED PATENT APPLICATIONS
  • This Application claims priority to Provisional U.S. Patent Application Ser. No. 60/715,552, filed Sep. 9, 2005, to Jonathan Hilton Cooper of Rode Island, the contents of which is incorporated herein in its entirety.
  • BACKGROUND OF THE INVENTION
  • 1. Field of the Invention
  • The present invention relates generally to the transmission of multimedia content on a computer network and more particularly to a multimedia content delivery system and method that maximizes the efficiency of network bandwidth consumption through selective multicasting of the multimedia.
  • 2. Background of the Invention
  • Multicasting is a communication pattern in which a source host sends a message to a group of destination hosts. Although this can be done by sending unicast (point-to-point) messages to each of the destination hosts, the added consumption of bandwidth and processing power required to establish connections to the destination hosts make unicasting undesirable in this situation. Accordingly, the primary advantage of using multicasting is the decrease in bandwidth consumption. There are many applications which are required to transmit packets to hundreds of destination hosts. The packets sent to these destination hosts share a group of links on their paths to their destinations. Since multicasting requires the transmission of only a single packet by the source host and replicates this packet only as necessary (i.e. at forks of the multicast delivery tree), multicast transmission can conserve scarce network resources.
  • Another important feature of multicasting, and with which the present application is concerned, is its support for “datacasting” applications. In recent years, multimedia transmission over the internet has become increasingly popular. These transmissions are also referred to as “webcasts”, “audiocasts”, “videocasts”, “podcasts” and other fanciful terms depending on the type of the multimedia content. Most popular is the capture, compression and transmission of audio and video signals from a server to a group of receiving clients. Instead of using a set of point-to-point connections between the participating clients, multicasting can be used to efficiently distribute the multimedia content to all of the clients. Frequently, clients may join or leave an audiocast or a videocast at any time. The flexibility in joining and leaving a group provided by multicasting can make the management of the variable membership much easier to handle. However, current systems that multicast or broadcast multimedia content, broadcast all of the content all of the time regardless of whether clients are requesting the content or not. In this respect, datacasts are comparable to a radio stations or a television stations, which broadcast radio or television signals, respectively, regardless if anybody is listening or watching. On the internet, however, this type of broadcasting-in-the-blind can lead to inefficient use of scarce network resources at best and to severe network congestion at worst. Therefore, there is a need for a multimedia system that can selectively multicast its streaming content based on client usage or requests.
  • SUMMARY OF THE INVENTION
  • The present invention solves the problem of the prior art by providing a novel streaming multimedia broadcasting system and method that selectively multicasts its content based on client requests and usage. In particular, the present system includes a server in communication with a plurality of sources and has a plurality of clients. The server determines if at least one of the clients is requesting to receive at least one of the sources. The server then multicasts these requested sources to the requesting clients, respectively. If none of the clients is requesting a particular source, the server does not multicast that particular source. If all of the clients cease requesting a particular source that the server is currently multicasting, the server terminates the multicast of that particular source. By selectively multicasting those sources that are available, significant network resources can be conserved and network congestion can be avoided.
  • In some embodiments of the present invention, there is a method/device/system for executing a method for delivering, over a network, streaming media content from at least one source to a plurality of clients, the method comprising the actions of multicasting a first streaming content to at least one client of the plurality of clients, and terminating the multicast of the first streaming content upon a determination that none of the plurality of clients desires to continue to receive the first streaming content. In some embodiments, there is a method/system/apparatus as described above/below, where the determination is made at an application layer of a network protocol, although in other embodiments, determinations are not made at an application layer, and in some embodiments, termination of the multicast/prevention of the multicast is includes stopping/preventing the streaming media content from entering/propagating through the network.
  • Some embodiments discussed above and below further include the action of, before multicasting the first streaming content, determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source. In some embodiments, there is a method/system/apparatus as described above/below, where the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source.
  • In some embodiments, there is a method/system/apparatus as described above/below, where the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source, on the basis of at least one of the number of recently received polling messages; and whether at least one polling message has recently been received. In some embodiments, there is a method/system/apparatus as described above/below, the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises sending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source.
  • In some embodiments, there is a method/system/apparatus as described above/below, the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises ending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source; and t least one of evaluating responses from respective recipients of the polling questions; and evaluating a lack of responses from respective recipients of the polling questions.
  • In some embodiments, there is a method/system/apparatus as described above/below, where, before terminating the streaming content, determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source, and terminating the multicast if it is determined at an application layer of a network protocol that no client desires to receive streaming content from the at least one source.
  • In some embodiments, there is a method/system/apparatus as described above/below, further comprising the action of, after multicasting a first streaming content to at least one client of the plurality of clients, and prior to terminating the multicast of the first streaming content if none of the plurality of clients desires to continue to receive the at least one source, recognizing that at least one other client desires to receive the first streaming content and adding the at least one other client to a multicast address of a multicast transmission constituting the multicasting of the first streaming content.
  • In some embodiments, there is a method/system/apparatus as described above/below, where the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of counting a number of open TCP socket connections (physical or otherwise) to a server multicasting the first streaming content to at least one client of the plurality of clients; and determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients based on the number of open TCP socket connections counted.
  • In some embodiments, there is a method/system/apparatus as described above/below, where the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of: counting a number of open TCP socket connections to a server multicasting the first streaming content to at least one client of the plurality of clients, and detennining that no client desires to receive streaming content from the at least one source if the number of open TCP socket connections is below a certain number; and determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients, and determining that no client desires to receive streaming content from the at least one source if it is determined that there are no open TCP socket connections. In some embodiments, there is a method/system/apparatus as described above/below, where action of terminating the multicast of the first streaming content upon a determination that none of the plurality of clients desires to continue to receive the at least one source occurs while the streaming content is still being generated and sent to the server. In some embodiments, there is a method/system/apparatus as described above/below, where wherein the first streaming content includes video content generated by a video camera system. In some embodiments, there is a method/system/apparatus as described above/below, further comprising: multicasting the first streaming content to at least one client of the plurality of clients utilizing a server in communication with the at least one source, wherein the at least one source transmits the first streaming content to the server, wherein the multicasting occurs through at least one of: one or more wireless access points, one or more digital subscriber lines, one or more wide area network connections, and one or more local area network connections, wherein the first content includes at least one of text, pictures, video and audio content. In some embodiments, there is a method/system/apparatus as described above/below, where the first streaming content includes video content generated by a first video camera system, the method further comprising the actions of multicasting at least a second streaming content to at least one client of the plurality of clients, the second streaming content including video content generated by a second video camera system; and terminating the multicast of the second streaming content when a determination is made that none of the plurality of clients desires to continue to receive the second streaming content, wherein the actions of multicasting occurring through a same server.
  • In some embodiments, there is a method/system/apparatus as described above/below, for delivering streaming media content from at least one source to a plurality of clients, comprising the actions of: receiving with a server a first streaming content from the at least one source; and at least one of: determining whether at least one client of the plurality of clients desires to receive streaming content from the at least one source before multicasting the first streaming content from the server so that one or more of the plurality of clients may receive the first streaming content; determining whether at least one client of the plurality of clients desires to receive streaming content from the at least one source before multicasting the first streaming content from the server so that one or more of the plurality of clients may receive the first streaming content, wherein if it is determined that the at least one client of the plurality of clients desires to receive streaming content from the at least one source, multicasting the first streaming content so that at least one of the plurality of clients may receive the first streaming content, and wherein if it is determined that no client desires to receive streaming content from the at least one source, preventing the multicasting of the first streaming content; determining whether at least one client of the plurality of clients who has previously received the streaming content from the at least one source multicasted from the server desires to continue to receive streaming content from the at least one source to determine whether to discontinue multicasting the first streaming content from the server; and determining whether at least one client of the plurality of clients who has previously received the streaming content from the at least one source multicasted from the at least one server desires to continue to receive streaming content from the at least one source multicasted from the server to whether to discontinue multicasting the first streaming content from the at least one server, wherein if it is determined that the at least one client of the plurality of clients who has previously received the streaming content from the at least one source desires to not continue to receive streaming content from the at least one source, terminating multicasting of the first streaming content, and wherein if it is determined that the at least one client of the plurality of clients who has previously received the streaming content from the at least one source desires to continue to receive streaming content from the at least one source, continuing multicasting the first streaming content.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • These and other features, aspects, and advantages of the present invention will become better understood with reference to the following description, appended claim, and accompanying drawing where:
  • FIG. 1 is a schematic view of a computer network of the preferred embodiment of the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • Referring to FIG. 1, an example of a network system is shown where there are five (5) clients and three (3) cameras (or sources) in communication with a server through various network connections. Although the following description will refer to video captured through cameras as a matter of convenience, it is to be understood that the present invention can accommodate all types streaming content, including without limitation such formats as text, pictures, and audio. Moreover, in some embodiments, various types of networks and/or connections to the servers may be utilized. Moreover, the number of clients and sources may also vary. Accordingly, in some embodiments, the clients and sources may connect to the server through any number of ways including, by way of example only and without limitation, wireless access points, digital subscriber lines, wide area network connections and/or local area network connections.
  • FIG. 1 depicts an example of a system where there are 5 clients and 3 video sources. In a typical multicast IP video system, all 3 cameras would be broadcasting to all parts of the network all of the time. Accordingly, if each camera was transmitting 1 Mbps of data, then Broadcast Domain A and Broadcast Domain B would each be handling 3 Mbps of data and 3 Mbps would be going to each Network Interface Card (NIC) on each client. If there were 300 cameras, the number would be 300 Mbps and this could start to cause network congestion.
  • In a system implementing some embodiments of the present invention, the video server may not send any video until one of the clients requested it. That way, the server would start multicasting once it received a request from a single client for a particular resource. If it received a subsequent request, it would continue streaming just that resource. When a client no longer needed the stream, the server would take note of that and once no client needed the stream, it would stop streaming.
  • The server of some embodiments of the present invention, which may include a processor which may include logic to implement some or all of the embodiments described herein, may receive a constant stream of video from the cameras communicating with it. However, the server does not multicast all of these video feeds all of the time, as in the prior art. Instead, it checks to see whether any of the clients are requesting to view any of the video from any of the particular cameras. If none of the clients is requesting the video from a particular camera, the server does not multicast that cameras' content. If however, at least one client desires to view the video from a particular camera, the server multicasts that camera's video stream to the client. If subsequent other clients desire to receive the video feed of that camera, the server merely takes note that there is an additional client and the client is added to the multicast address of the multicast transmission. It can be appreciated that in some implementations, this conserves significant network resources because only a single transmission is being made of any particular camera's video. If, however, all of the clients cease requesting a particular video feed, as may happen from time to time, the server may terminate the multicast of that video, thereby further conserving network resources. Referring back to the imperfect radio and television analogy made earlier, it can be appreciated that the present system ceases to datacast the content that nobody is listening or watching.
  • “By terminating the multicast,” etc., it is meant the prevention of the placement of streaming media content onto a network if no client desires to receive the content and the suspension of propagation of the streaming media content through the network if no client desires to continue receiving the content. That is, in some embodiments of the present invention, content being sent to a server by, for example, a video camera, is not placed onto the network (and thus not multicasted), if no client desires the content. In this regard, in some embodiments, there is a video distribution system, comprising, a server and a plurality of cameras adapted to send respective streaming video contents to the server. The server is adapted to receive at least some of the sent streaming video contents and adapted to multicast at least some of the received streaming media content to a plurality of clients over a network. Further, in this system, the total bit rate of the streaming video contents capable of being received by the server exceeds a network bandwidth, and the server is adapted to limit the number of multicasts of respective streaming media contents to a total bit rate that does not exceed the network bandwidth by determining whether at least one of the received streaming video contents is desired to be viewed by a client and not placing that at least one received streaming video onto the network if the at least one client does not desire to view the received streaming video. In such embodiments, 50, 60, 70, 80, 90, 100, 300 or more cameras may be in communication with the server, and the negative effects of a saturated network may be avoided, even though the input into the server exceeds the bandwidth of the network. For example, in the case of UDP traffic, there will be no latency or slowdown in the video, and in the case of TCP traffic, there will be no data transfer shutdowns, etc., because only certain contents from certain cameras will be put on the network because only those contents are requested/or a sufficient number of contents that are not desired are removed from the network so as to bring the total bit rate to below the maximum bandwidth. Thus, in some embodiments, the present invention provides for a system that permits management of what is propagated through the network based on client desires.
  • In some embodiments of the invention, not placing the content onto the network alleviates the need to utilize network switches/network switching to gain efficiencies in utilizing the bandwidth.
  • Although methods of tracking the number of requests for a particular video feed are numerous, an example would be to count the number of open TCP socket connections to the server for a particular camera. When a client requests a particular video feed from the server, a connection is established, typically by opening its own TCP socket to the server. When the client desires to cease viewing a video feed, this same TCP socket is closed. In such a regime, the number of clients viewing a particular camera video feed always corresponds to the number of open TCP sockets at the server. By counting the number of open TCP sockets, the server can readily determine whether to continue to multicast a particular camera video feed or to terminate that multicast. Although counting open TCP sockets is one method of determining the number of clients interested in the particular content of a camera, any communication protocol that establishes a connection to the server, such as HTTP, etc., may be used as an indicator.
  • Alternatively, the client may send a regular polling message to the server to indicate that it was still interested in receiving the content of the camera. The server could then keep track of the number of recently received polling messages to determine whether to continue the multicast of the video. Alternatively, or in addition to this, the client may send a message indicating it was interested in the video feed of a particular camera, and then periodically the server could send a polling message to the viewing clients to ensure that they are still interested in receiving the content. By keeping track of the responses from the clients, the server may determine to continue to datacast the video feed. In some embodiments of the present invention, a determination is made whether at least one client of the plurality of clients desires to receive streaming content from the at least one source. This determination may include evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source, on the basis of at least one of the number of recently received polling messages, and whether at least one polling message has recently been received. In this regard, if a polling message has not been received within a predetermined or variable time identified by a system administrator, etc., a determination may be made that no client desires to receive streaming video. In some embodiments, this determination includes sending polling messages to one or more clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source. This may further include evaluating responses from respective recipients of the polling questions and/or evaluating a lack of responses from respective recipients of the polling questions, wherein if the responses are indicative of a negative desire to receive content, and/or if no responses are received, a determination may be made that no client desires to receive this content.
  • Therefore, it can be seen that some embodiments of the present invention provide a unique solution to the problems of the prior art by providing a system that may selectively multicast its streaming multimedia content based on client usage and/or requests.
  • Some embodiments of the present invention may be implemented with programming/logic/software/controls, etc., at the so-called application layer of a network protocol. In some embodiments, the application layer allows a user to access information on the network through an application. This layer may be the main interface for the user(s) to interact with the application and therefore the network. Some examples of application layer protocols include, by way of example only, and not by way of limmitation, Telnet, File Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP) and Hypertext Transfer Protocol (HTTP). In some embodiments, the network protocol may include some or all of the seven layers of the open system interconnection (OSI) model, the application layer being analogous to the seventh layer of that model. That is, in a network having the OSI model with seven layers, the programming, logic, software and/or controls, implementing some embodiments of the present invention will be at the seventh layer, or its equivalent.
  • In an exemplary embodiment of the present invention, there is a method for delivering, over a network, streaming media content from at least one source to a plurality of clients. This method may comprise the actions of multicasting a first streaming content to at least one client of the plurality of clients, and terminating the multicast of the first streaming content upon a determination made at an application layer of a network protocol (which may be done, for example, with logic at the application layer) that none of the plurality of clients desires to continue to receive the first streaming content.
  • The present invention includes methods for practicing the invention, software to practice the invention, logic (including hardware, software and/or firmware) to practice the invention, and apparatuses configured to implement the present invention. Accordingly, the present invention includes a program product and hardware and firmware for implementing algorithms to practice the present invention, as well as the systems and methods described herein, and also for the control of the devices and implementation of the methods described herein.
  • It is noted that the term “processor,” as used herein, encompasses both simple circuits and complex circuits, as well as computer processors.
  • It is further noted that the teachings of the present invention may be combined with the teachings of one or both of U.S. patent application Ser. No. 09/912,869 entitled Methods and Systems for Networked Camera Control, to Peter Mottur and Ethan Zimmer, filed Jul. 25, 2001, and U.S. patent application Ser. No. 10/301,344 entitled Methods and Systems to Control Access to Network Devices, to Peter Mottur, filed Nov. 21, 2002, the contents of these applications being incorporated by reference herein in their entirety. This is especially the case with respect to the teachings relating to the camera networks and ancillary components discussed therein.
  • In some embodiments of the present invention, there is a method/system/apparatus as described above/below, comprising the actions of receiving with a server a first streaming content from the at least one source; placing the first streaming content onto the network and multicasting the first streaming content; and while receiving with the server the first streaming content from the at least one source, determining whether all of the plurality of clients have ceased to desire to receive the multicasted first streaming content from the at least one source, and if a determination is made that all of the plurality of clients have ceased to desire to receive the multicasted first streaming content from the at least one source, preventing the first streaming content from continuing to enter the network, and if a determination is made that at least one of the plurality of clients continues to desire to receive the multicasted first streaming content from the at least one source, continue multicasting of the first streaming content and continue placing the first streaming content onto the network. In some embodiments, there is a method/system/apparatus as described above/below, comprising the actions of: determining if at least one client of the plurality of clients desires to receive at least one source of the plurality of sources; multicasting the at least one source to the at least one client; and terminating the multicast of the at least one source if none of the plurality of clients desires to continue to receive content from the at least one source.
  • In some embodiments, there is a method/system/apparatus as described above/below, where a server is adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients, wherein the server includes logic, which, in some embodiments, is at an application layer of a network protocol, to determine whether any of the plurality of clients desires to at least one of: receive a multicast transmission of the first streaming media content; and continue receiving a multicast transmission of the first streaming media content, and wherein the server includes logic, in some embodiments at the application layer of the network protocol, to at least one of: not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content. In some embodiments, there is a method/system/apparatus as described above/below, wherein the server includes logic to evaluate, in some embodiments at the application layer of the network protocol, received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of: not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content. In some embodiments, there is a method/system/apparatus as described above/below, wherein the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source, wherein the server includes logic at the application layer of the network protocol to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source. In some embodiments, there is a method/system/apparatus as described above/below, where there is a server adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients, wherein the server includes logic to determine whether any of the plurality of clients desires to at least one of: receive a multicast transmission of the first streaming media content; and continue receiving a multicast transmission of the first streaming media content, and wherein the server includes logic to at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of: it is determined that no client desires to receive the multicast transmission of the first streaming media content; and it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
  • In some embodiments, there is a method/system/apparatus as described above/below, where the server includes logic to evaluate received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of: it is determined that no client desires to receive the multicast transmission of the first streaming media content; and if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content. In some embodiments, there is a method/system/apparatus as described above/below, where the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source, wherein the server includes logic to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source.
  • In some embodiments, there is a program product, comprising: a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform some or all of the various actions, methods, etc., described above and/or below. In some embodiments, the machine is a server system, and in some embodiments, the program product is adapted for utilization at the application layer of a network protocol.
  • In some embodiments, there a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform some or all of the various methods/actions, etc., described above and/or below. In some embodiments, there is a method/system/apparatus as described above/below, for distributing a plurality of streaming video contents over a network without exceeding network bandwidth capacity due to the total bit rate of the plurality of streaming video contents, the method comprising the actions of: executing some or all of the various actions/methods, etc., described above/below, where the first streaming content is a first streaming video content, if the total bit rate of the plurality of streaming video contents approaches the network bandwidth capacity.
  • In some embodiments, there is a method/system/apparatus as described above/below, including preventing a new client from receiving the first streaming content if the total bit rate of the plurality of streaming video contents would exceed the network bandwidth capacity. In some embodiments, there is a method/system/apparatus as described above/below, including providing a message to the new client annunciating denial of receipt of the first streaming content upon preventing the new client from receiving the first streaming content. In some embodiments, there is a method/system/apparatus as described above/below, for distributing a plurality of streaming video contents over a network without exceeding network bandwidth capacity due to the total bit rate of the plurality of streaming video contents, the method comprising the actions of: executing some or all of the various actions/methods described above and/or below, where the first streaming content is a first streaming video content, if the total bit rate of the plurality of streaming video contents approaches the network bandwidth capacity.
  • In some embodiments, there is a method/system/apparatus as described above/below, further comprising multicasting at least a second streaming content to at least one client of the plurality of clients, the second streaming content including video content generated by a second video camera system; and continuing the multicast of the second streaming content after a determination is made, in some embodiments at the application layer of the network protocol, that at least one of the plurality of clients desires to continue to receive the second streaming content, wherein, in some embodiments, the actions of multicasting occurring through a same server. In some embodiments, there is a method/system/apparatus as described above/below, there is a video distribution system, comprising a server; and a plurality of cameras adapted to send respective streaming video contents to the server, wherein the server is adapted to receive at least some of the sent streaming video contents and adapted to multicast at least some of the received streaming media content to a plurality of clients over a network, wherein the total bit rate of the streaming video contents capable of being received by the server exceeds a network bandwidth, and wherein the server is adapted to limit the number of multicasts of respective streaming media contents to a total bit rate that does not exceed the network bandwidth by determining whether at least one of the received streaming video contents is desired to be viewed by a client and not placing that at least one received streaming video onto the network if the at least one client does not desire to view the received streaming video.
  • Given the disclosure of the present invention, one versed in the art would appreciate that there may be other embodiments and modifications within the scope and spirit of the present invention. Accordingly, all modifications attainable by one versed in the art from the present disclosure within the scope and spirit of the present invention are to be included as further embodiments of the present invention. The scope of the present invention accordingly is to be defined as set forth in the appended claims.

Claims (31)

1. A method for delivering, over a network, streaming media content from at least one source to a plurality of clients, the method comprising the actions of:
multicasting a first streaming content to at least one client of the plurality of clients; and
terminating the multicast of the first streaming content upon a determination made at an application layer of a network protocol that none of the plurality of clients desires to continue to receive the first streaming content.
2. The method of claim 1, further comprising the action of, before multicasting the first streaming content, determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source.
3. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source.
4. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises evaluating, at the application layer of the network protocol, received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to continue to receive streaming content from the at least one source, on the basis of at least one of:
the number of recently received polling messages; and
whether at least one polling message has recently been received.
5. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises sending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source.
6. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises:
sending polling messages to one or more clients of the plurality of clients requesting confirmation from respective recipients that the respective recipients of the polling questions desire to continue to receive streaming content from the at least one source; and
at least one of:
evaluating responses from respective recipients of the polling questions; and
evaluating a lack of responses from respective recipients of the polling questions.
7. The method of claim 1, further comprising the action of, before terminating the streaming content, determining at the application layer of the network protocol if at least one client of the plurality of clients desires to receive streaming content from the at least one source, and terminating the multicast if it is determined at the application layer of the network protocol that no client desires to receive streaming content from the at least one source.
8. The method of claim 1, further comprising the action of, after multicasting a first streaming content to at least one client of the plurality of clients, and prior to terminating the multicast of the first streaming content if none of the plurality of clients desires to continue to receive the at least one source, recognizing at the application layer of the network protocol that at least one other client desires to receive the first streaming content and adding the at least one other client to a multicast address of a multicast transmission constituting the multicasting of the first streaming content.
9. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of:
counting a number of open TCP socket connections to a server multicasting the first streaming content to at least one client of the plurality of clients; and
determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients based on the number of open TCP socket connections counted.
10. The method of claim 2, wherein the action of determining if at least one client of the plurality of clients desires to receive streaming content from the at least one source comprises at least one of:
counting a number of open TCP socket connections to a server multicasting the first streaming content to at least one client of the plurality of clients, and determining that no client desires to receive streaming content from the at least one source if the number of open TCP socket connections is below a certain number; and
determining whether there is an open TCP socket connection to a server multicasting the first streaming content to at least one client of the plurality of clients, and determining that no client desires to receive streaming content from the at least one source if it is determined that there are no open TCP socket connections.
11. The method of claim 1, wherein the action of terminating the multicast of the first streaming content upon a determination that none of the plurality of clients desires to continue to receive the at least one source occurs while the streaming content is still being generated and sent to the server.
12. The method of claim 1, wherein the first streaming content includes video content generated by a video camera system.
13. The method of claim 1, further comprising:
multicasting the first streaming content to at least one client of the plurality of clients utilizing a server in communication with the at least one source, wherein the at least one source transmits the first streaming content to the server, wherein
the multicasting occurs through at least one of:
one or more wireless access points, one or more digital subscriber lines, one or more wide area network connections, and one or more local area network connections,
wherein the first content includes at least one of text, pictures, video and audio content.
14. The method of claim 1, wherein the first streaming content includes video content generated by a first video camera system, the method further comprising the actions of:
multicasting at least a second streaming content to at least one client of the plurality of clients, the second streaming content including video content generated by a second video camera system; and
terminating the multicast of the second streaming content when a determination is made at the application layer of the network protocol that none of the plurality of clients desires to continue to receive the second streaming content,
wherein the actions of multicasting occurring through a same server.
15. A method for delivering streaming media content from at least one source to a plurality of clients, comprising the actions of:
receiving with a server a first streaming content from the at least one source; and
at least one of:
determining at an application layer of a network protocol whether at least one client of the plurality of clients desires to receive streaming content from the at least one source before multicasting the first streaming content from the server so that one or more of the plurality of clients may receive the first streaming content;
determining at an application layer of a network protocol whether at least one client of the plurality of clients desires to receive streaming content from the at least one source before multicasting the first streaming content from the server so that one or more of the plurality of clients may receive the first streaming content, wherein if it is determined that the at least one client of the plurality of clients desires to receive streaming content from the at least one source, multicasting the first streaming content so that at least one of the plurality of clients may receive the first streaming content, and wherein if it is determined that no client desires to receive streaming content from the at least one source, preventing the multicasting of the first streaming content;
determining at an application layer of a network protocol whether at least one client of the plurality of clients who has previously received the streaming content from the at least one source multicasted from the server desires to continue to receive streaming content from the at least one source to determine at the application layer of a network protocol whether to discontinue multicasting the first streaming content from the server; and
determining at an application layer of a network protocol whether at least one client of the plurality of clients who has previously received the streaming content from the at least one source multicasted from the at least one server desires to continue to receive streaming content from the at least one source multicasted from the server to determine at the application layer of a network protocol whether to discontinue multicasting the first streaming content from the at least one server, wherein if it is determined that the at least one client of the plurality of clients who has previously received the streaming content from the at least one source desires to not continue to receive streaming content from the at least one source, terminating multicasting of the first streaming content, and wherein if it is determined at the application layer of a network protocol that the at least one client of the plurality of clients who has previously received the streaming content from the at least one source desires to continue to receive streaming content from the at least one source, continuing multicasting the first streaming content.
16. A method for delivering streaming media content over a network including a server from at least one source to a plurality of clients, comprising the actions of:
receiving with a server a first streaming content from the at least one source;
placing the first streaming content onto the network and multicasting the first streaming content; and
while receiving with the server the first streaming content from the at least one source, determining whether all of the plurality of clients have ceased to desire to receive the multicasted first streaming content from the at least one source, and if a determination is made that all of the plurality of clients have ceased to desire to receive the multicasted first streaming content from the at least one source, preventing the first streaming content from continuing to enter the network, and if a determination is made that at least one of the plurality of clients continues to desire to receive the multicasted first streaming content from the at least one source, continue multicasting of the first streaming content and continue placing the first streaming content onto the network.
17. A method for delivering streaming multimedia content from a plurality of sources to a plurality of clients, comprising the actions of:
determining if at least one client of the plurality of clients desires to receive at least one source of the plurality of sources;
multicasting the at least one source to the at least one client; and
terminating the multicast of the at least one source if none of the plurality of clients desires to continue to receive content from the at least one source.
18. An apparatus for delivering streaming media content from at least one source to a plurality of clients over a network, the apparatus comprising:
a server adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients,
wherein the server includes logic at an application layer of a network protocol to determine whether any of the plurality of clients desires to at least one of:
receive a multicast transmission of the first streaming media content; and
continue receiving a multicast transmission of the first streaming media content, and
wherein the server includes logic at the application layer of the network protocol to at least one of:
not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and
terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
19. The apparatus of claim 18, wherein the server includes logic to evaluate, at the application layer of the network protocol, received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of:
not initiate multicasting of the first streaming media content if it is determined that no client desires to receive the multicast transmission of the first streaming media content; and
terminate multicasting of the first streaming media content if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
20. The apparatus of claim 18, wherein the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source, wherein the server includes logic at the application layer of the network protocol to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source.
21. An apparatus for delivering streaming media content from at least one source to a plurality of clients over a network, the apparatus comprising:
a server adapted to receive a first streaming media content from a first source and adapted to multicast the received first streaming media content to at least one client of the plurality of clients,
wherein the server includes logic to determine whether any of the plurality of clients desires to at least one of:
receive a multicast transmission of the first streaming media content; and
continue receiving a multicast transmission of the first streaming media content, and
wherein the server includes logic to at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of:
it is determined that no client desires to receive the multicast transmission of the first streaming media content; and
it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
22. The apparatus of claim 21, wherein the server includes logic to evaluate received polling messages from one or more clients of the plurality of clients indicative of a desire by one or more clients to at least one of receive and continue to receive streaming content from the at least one source, and determine whether to, based on the evaluation, at least one of prevent the first streaming media content from being placed on the network and prevent the first streaming media content from continuing to be placed on the network if at least one of:
it is determined that no client desires to receive the multicast transmission of the first streaming media content; and
if it is determined that no client desires to continue receiving the multicast transmission of the first streaming media content.
23. The apparatus of claim 21, wherein the server is adapted to send polling messages to one or more clients of the plurality of clients requesting confirmation that respective recipients of the polling questions desire to at least one of receive and continue to receive streaming content from the at least one source, wherein the server includes logic to at least one of analyze received responses to the polling messages and evaluate a lack of received responses to the polling messages in order to at least one of make a determination as to whether at least one client of the plurality of clients desires to at least one of receive streaming content and continue to receive streaming content from the at least one source.
24. A program product, comprising:
a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform the method of claim 1, wherein the machine is a server system and wherein the program product is adapted for utilization at the application layer of a network protocol.
25. A program product, comprising:
a program product for delivering streaming media content from at least one source to a plurality of clients comprising machine-readable program code for causing, when executed, a machine to perform the method of claim 16, wherein the machine is a server system.
26. A method of distributing a plurality of streaming video contents over a network without exceeding network bandwidth capacity due to the total bit rate of the plurality of streaming video contents, the method comprising the actions of:
executing the actions of claim 1, where the first streaming content is a first streaming video content, if the total bit rate of the plurality of streaming video contents approaches the network bandwidth capacity.
27. The method of claim 26, further comprising:
preventing a new client from receiving the first streaming content if the total bit rate of the plurality of streaming video contents would exceed the network bandwidth capacity.
28. The method of claim 27, further comprising:
providing a message to the new client annunciating denial of receipt of the first streaming content upon preventing the new client from receiving the first streaming content.
29. A method of distributing a plurality of streaming video contents over a network without exceeding network bandwidth capacity due to the total bit rate of the plurality of streaming video contents, the method comprising the actions of:
executing the actions of claim 16, where the first streaming content is a first streaming video content, if the total bit rate of the plurality of streaming video contents approaches the network bandwidth capacity.
30. The method of claim 1, further comprising multicasting at least a second streaming content to at least one client of the plurality of clients, the second streaming content including video content generated by a second video camera system; and
continuing the multicast of the second streaming content after a determination is made at the application layer of the network protocol that at least one of the plurality of clients desires to continue to receive the second streaming content,
wherein the actions of multicasting occurring through a same server.
31. A video distribution system, comprising:
a server; and
a plurality of cameras adapted to send respective streaming video contents to the server,
wherein the server is adapted to receive at least some of the sent streaming video contents and adapted to multicast at least some of the received streaming media content to a plurality of clients over a network,
wherein the total bit rate of the streaming video contents capable of being received by the server exceeds a network bandwidth, and
wherein the server is adapted to limit the number of multicasts of respective streaming media contents to a total bit rate that does not exceed the network bandwidth by determining whether at least one of the received streaming video contents is desired to be viewed by a client and not placing that at least one received streaming video onto the network if the at least one client does not desire to view the received streaming video.
US11/530,661 2005-09-09 2006-09-11 Method and system for multicast delivery of multimedia content on demand Abandoned US20070083667A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/530,661 US20070083667A1 (en) 2005-09-09 2006-09-11 Method and system for multicast delivery of multimedia content on demand
US13/657,762 US8880719B2 (en) 2005-09-09 2012-10-22 Method and system for multicast delivery of multimedia content on demand

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US71555205P 2005-09-09 2005-09-09
US11/530,661 US20070083667A1 (en) 2005-09-09 2006-09-11 Method and system for multicast delivery of multimedia content on demand

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/657,762 Continuation US8880719B2 (en) 2005-09-09 2012-10-22 Method and system for multicast delivery of multimedia content on demand

Publications (1)

Publication Number Publication Date
US20070083667A1 true US20070083667A1 (en) 2007-04-12

Family

ID=37836574

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/530,661 Abandoned US20070083667A1 (en) 2005-09-09 2006-09-11 Method and system for multicast delivery of multimedia content on demand
US13/657,762 Active US8880719B2 (en) 2005-09-09 2012-10-22 Method and system for multicast delivery of multimedia content on demand

Family Applications After (1)

Application Number Title Priority Date Filing Date
US13/657,762 Active US8880719B2 (en) 2005-09-09 2012-10-22 Method and system for multicast delivery of multimedia content on demand

Country Status (6)

Country Link
US (2) US20070083667A1 (en)
EP (1) EP1934779A4 (en)
JP (1) JP5249763B2 (en)
CN (1) CN101548275A (en)
CA (1) CA2621990A1 (en)
WO (1) WO2007030813A2 (en)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050195774A1 (en) * 2004-03-02 2005-09-08 Jasmine Chennikara Application-layer multicast for mobile users in diverse networks
US20070130601A1 (en) * 2005-12-05 2007-06-07 Weiping Li Internet protocol (IP) television
US7301944B1 (en) * 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
US20090006642A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Multicast content provider
US20090006641A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Reliable multicast transport protocol
US20090248859A1 (en) * 2008-03-31 2009-10-01 Sony Corporation Electronic device and method for monitoring communication within a network
US20090262378A1 (en) * 2008-04-17 2009-10-22 Orion Seth Jensen Image Modification for Improved Printing and Cutting of the Image
US20110296049A1 (en) * 2008-12-25 2011-12-01 Zte Corporation Method and system for realizing massive terminals access of a streaming media server
US20140189754A1 (en) * 2012-12-28 2014-07-03 DISH Digital L.L.C. Adaptive multicast delivery of media streams
US9172551B2 (en) 2007-06-27 2015-10-27 Microsoft Technology Licensing, Llc Reliable multicast with automatic session startup and client backfill support
US9432701B2 (en) 2011-12-06 2016-08-30 Echostar Technologies L.L.C. Distribution schemes for storing multiple bitrate content
US10034276B2 (en) 2012-09-26 2018-07-24 Huawei Technologies Co., Ltd. Downlink data transmission method, base station, and user equipment
US10194183B2 (en) 2015-12-29 2019-01-29 DISH Technologies L.L.C. Remote storage digital video recorder streaming and related methods
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US12034790B1 (en) * 2023-04-28 2024-07-09 Directv, Llc Methods and apparatus for asynchronous media requests

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090010193A1 (en) * 2007-07-06 2009-01-08 Santosh Kolenchery System and method of multicasting multimedia streams
US8369328B2 (en) * 2009-07-14 2013-02-05 Saguna Networks Ltd. System and method for efficient delivery of multi-unicast communication traffic
US8995439B2 (en) 2010-05-13 2015-03-31 Comcast Cable Communications, Llc Control of multicast content distribution
US8732776B2 (en) * 2010-07-01 2014-05-20 Kuautli Media Investment Zrt. End of show handling
KR101491452B1 (en) * 2011-08-12 2015-02-10 네이버 주식회사 Method and apparatus for data replication using messaging channel
US9049484B2 (en) 2011-12-06 2015-06-02 Echostar Technologies L.L.C. Efficient assignment of program copies in a network digital video recorder
US10708319B2 (en) 2012-12-31 2020-07-07 Dish Technologies Llc Methods and apparatus for providing social viewing of media content
US10104141B2 (en) 2012-12-31 2018-10-16 DISH Technologies L.L.C. Methods and apparatus for proactive multi-path routing
US10051025B2 (en) 2012-12-31 2018-08-14 DISH Technologies L.L.C. Method and apparatus for estimating packet loss
WO2015150737A1 (en) * 2014-03-31 2015-10-08 British Telecommunications Public Limited Company Multicast streaming
CN107079013B (en) * 2014-10-14 2020-07-10 皇家Kpn公司 Managing concurrent streaming of media streams

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020075878A1 (en) * 1998-08-25 2002-06-20 Chin Lee Ip multicast interface
US20030120917A1 (en) * 2001-12-20 2003-06-26 Nec Corporation Application layer multicast system and intermediate node therefor
US20070047545A1 (en) * 2005-08-29 2007-03-01 Alcatel Multicast host authorization tracking, and accounting
US7199817B2 (en) * 2000-07-26 2007-04-03 Smiths Detection Inc. Methods and systems for networked camera control
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
US7373394B1 (en) * 2003-06-30 2008-05-13 Cisco Technology, Inc. Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network
US7644182B2 (en) * 2004-03-11 2010-01-05 Hewlett-Packard Development Company, L.P. Reconfiguring a multicast tree

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263368B1 (en) * 1997-06-19 2001-07-17 Sun Microsystems, Inc. Network load balancing for multi-computer server by counting message packets to/from multi-computer server
US6223289B1 (en) * 1998-04-20 2001-04-24 Sun Microsystems, Inc. Method and apparatus for session management and user authentication
JP3735352B2 (en) * 1998-11-30 2006-01-18 松下電器産業株式会社 Data transmission method, data transmission device, and data reception device
FI106593B (en) * 1999-02-15 2001-02-28 Valtion Teknillinen IP multicast service without return connection
US6782490B2 (en) * 1999-03-17 2004-08-24 At&T Corp. Network-based service for the repair of IP multicast sessions
US7106756B1 (en) * 1999-10-12 2006-09-12 Mci, Inc. Customer resources policy control for IP traffic delivery
US6618752B1 (en) * 2000-04-18 2003-09-09 International Business Machines Corporation Software and method for multicasting on a network
US20030093430A1 (en) 2000-07-26 2003-05-15 Mottur Peter A. Methods and systems to control access to network devices
ATE367026T1 (en) * 2001-09-28 2007-08-15 Motorola Inc METHOD AND DEVICE FOR IP MULTIPLE TRANSMISSION OVER A BROADCAST CHANNEL
WO2003032576A1 (en) * 2001-10-09 2003-04-17 Koninklijke Philips Electronics N.V. Service information multicasting method and system
JP4019863B2 (en) * 2002-09-04 2007-12-12 日本電気株式会社 Multicast control apparatus, multicast distribution system, multicast distribution method, and program thereof
JP2005012264A (en) * 2003-06-16 2005-01-13 Ntt Docomo Inc Multicast distribution system and data relaying apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020075878A1 (en) * 1998-08-25 2002-06-20 Chin Lee Ip multicast interface
US7199817B2 (en) * 2000-07-26 2007-04-03 Smiths Detection Inc. Methods and systems for networked camera control
US20030120917A1 (en) * 2001-12-20 2003-06-26 Nec Corporation Application layer multicast system and intermediate node therefor
US7373394B1 (en) * 2003-06-30 2008-05-13 Cisco Technology, Inc. Method and apparatus for multicast cloud with integrated multicast and unicast channel routing in a content distribution network
US7289500B1 (en) * 2003-07-17 2007-10-30 Novell, Inc. Method and system for reliable multicast data transmission
US7644182B2 (en) * 2004-03-11 2010-01-05 Hewlett-Packard Development Company, L.P. Reconfiguring a multicast tree
US20070047545A1 (en) * 2005-08-29 2007-03-01 Alcatel Multicast host authorization tracking, and accounting

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7301944B1 (en) * 1997-10-24 2007-11-27 Tranz-Send Broadcasting Network, Inc. Media file distribution with adaptive transmission protocols
US7546082B2 (en) * 2004-03-02 2009-06-09 Telcordia Technologies, Inc. Application-layer multicast for mobile users in diverse networks
US20050195774A1 (en) * 2004-03-02 2005-09-08 Jasmine Chennikara Application-layer multicast for mobile users in diverse networks
US20070130601A1 (en) * 2005-12-05 2007-06-07 Weiping Li Internet protocol (IP) television
US9172551B2 (en) 2007-06-27 2015-10-27 Microsoft Technology Licensing, Llc Reliable multicast with automatic session startup and client backfill support
US8612617B2 (en) 2007-06-28 2013-12-17 Microsoft Corporation Reliable multicast transport protocol
US20090006641A1 (en) * 2007-06-28 2009-01-01 Microsoft Corporation Reliable multicast transport protocol
US20090006642A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Multicast content provider
US8683065B2 (en) * 2007-06-29 2014-03-25 Microsoft Corporation Multicast content provider
US20090248859A1 (en) * 2008-03-31 2009-10-01 Sony Corporation Electronic device and method for monitoring communication within a network
US8499070B2 (en) * 2008-03-31 2013-07-30 Sony Corporation Electronic device and method for monitoring communication within a network
US20090262378A1 (en) * 2008-04-17 2009-10-22 Orion Seth Jensen Image Modification for Improved Printing and Cutting of the Image
US8429288B2 (en) * 2008-12-25 2013-04-23 Zte Corporation Massive terminals access of a streaming media server including setting maximum count of file handles allowed to be opened
US20110296049A1 (en) * 2008-12-25 2011-12-01 Zte Corporation Method and system for realizing massive terminals access of a streaming media server
US10410222B2 (en) 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US12118573B2 (en) 2009-07-23 2024-10-15 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US9432701B2 (en) 2011-12-06 2016-08-30 Echostar Technologies L.L.C. Distribution schemes for storing multiple bitrate content
US9781486B2 (en) 2011-12-06 2017-10-03 Echostar Technologies L.L.C. RS-DVR systems and methods for unavailable bitrate signaling and edge recording
US10034276B2 (en) 2012-09-26 2018-07-24 Huawei Technologies Co., Ltd. Downlink data transmission method, base station, and user equipment
US9716916B2 (en) * 2012-12-28 2017-07-25 Echostar Technologies L.L.C. Adaptive multicast delivery of media streams
US10412464B2 (en) * 2012-12-28 2019-09-10 DISH Technologies L.L.C. Adaptive multicast delivery of media streams
US20140189754A1 (en) * 2012-12-28 2014-07-03 DISH Digital L.L.C. Adaptive multicast delivery of media streams
US10194183B2 (en) 2015-12-29 2019-01-29 DISH Technologies L.L.C. Remote storage digital video recorder streaming and related methods
US10368109B2 (en) 2015-12-29 2019-07-30 DISH Technologies L.L.C. Dynamic content delivery routing and related methods and systems
US10687099B2 (en) 2015-12-29 2020-06-16 DISH Technologies L.L.C. Methods and systems for assisted content delivery
US10721508B2 (en) 2015-12-29 2020-07-21 DISH Technologies L.L.C. Methods and systems for adaptive content delivery
US12034790B1 (en) * 2023-04-28 2024-07-09 Directv, Llc Methods and apparatus for asynchronous media requests

Also Published As

Publication number Publication date
CN101548275A (en) 2009-09-30
EP1934779A2 (en) 2008-06-25
US20130159544A1 (en) 2013-06-20
JP5249763B2 (en) 2013-07-31
JP2009508399A (en) 2009-02-26
US8880719B2 (en) 2014-11-04
WO2007030813A3 (en) 2009-05-07
WO2007030813A2 (en) 2007-03-15
EP1934779A4 (en) 2014-11-26
CA2621990A1 (en) 2007-03-15

Similar Documents

Publication Publication Date Title
US8880719B2 (en) Method and system for multicast delivery of multimedia content on demand
EP2076998B1 (en) Method and apparatus for establishing multicast groups
US6453438B1 (en) System and method for automatically rescheduling a data transmission to members of a group
US6577599B1 (en) Small-scale reliable multicasting
US6625652B1 (en) System and method for host list pruning
EP1716658B1 (en) A method for data repair in a system capable of handling multicast and broadcast transmissions
EP2817971B1 (en) Network controlled streaming
Sabata et al. Transport protocol for reliable multicast: TRM
CN1996927B (en) Method for providing data and data transmission system
US20040250283A1 (en) Liveness monitoring in a publish/subscribe messaging system
US20020069248A1 (en) System and method for delivery and exchange of electronic data
US8238337B1 (en) Hybrid multicast switch employing network-layer routing
US7986687B2 (en) Multicast data transfer
JPH10336176A (en) Group communication method, its system and storage medium for storing group communication program
CN107820218A (en) The establishing method and equipment of message transmissions mode
US7483388B2 (en) Method and system for sending a multimedia stream in an IP multicast network
JP4653851B2 (en) Method and apparatus for establishing a communication relationship
JP4687611B2 (en) Multicast system and control method of multicast system
KR100711829B1 (en) Multicast Data Transfer
Kumar Performance Evaluation of Video Streaming Traffic in Data Centre Servers Using Real-Time Transport Protocol (RTP)
KR20010083840A (en) Serverless casting mechanism for realtime multimedia presentation, and a technique for duplex communication
JP4215736B2 (en) Multicast transfer method and method using broadband router
CN111225252B (en) PON gateway UPNP video live broadcast method based on openwrt system
KR100841593B1 (en) Apparatus and method for providing multimedia content, Apparatus and method for receiving multimedia content
KR100643705B1 (en) Method and device for multicast rebroadcast service in internet broadcasting system

Legal Events

Date Code Title Description
AS Assignment

Owner name: SMITHS DETECTION INC., RHODE ISLAND

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:COOPER, JONATHAN HILTON;REEL/FRAME:021347/0326

Effective date: 20080724

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载