US2007083667A1PendingUtilityA1

Method and system for multicast delivery of multimedia content on demand

44
Assignee: SMITHS DETECTION INCPriority: Sep 9, 2005Filed: Sep 11, 2006Published: Apr 12, 2007
Est. expirySep 9, 2025(expired)· nominal 20-yr term from priority
Inventors:Jonathan Cooper
H04L 65/60H04L 12/185H04L 65/612H04L 65/611H04N 21/6405H04N 21/24
44
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.