The present invention relates to Open Cable Application Protocol (OCAP), and in particular to improving efficiency of the software download in OCAP.
OCAP is a middleware software layer intended to enable development of interactive television services and applications that run successfully on any cable television system in North America, independent of set-top or television receiver hardware or operating system software choices. OCAP enables manufacturers, distributors and operators of set-top boxes, television receivers or other devices to provide to consumers devices that support services delivered by cable operators to devices currently available to consumers via lease from cable operators.
To supply applications to consumers, cable operators utilize cable headend devices that can transmit OCAP applications and software to consumer set-top boxes (STB). The software download to be used in the OCAP, supplies operational software to consumer's STBs.
Several methods presently exist to download operational software to STBs via the cable plant which comprises the physical infrastructure (e.g., wire, connectors, cables, etc.) used to carry data communications signals between data communications equipment. One existing software download method utilizes the Trivial File Transfer Protocol (Tftp) method over a DOCSIS channel, wherein DOCSIS is Data Over Cable Service Interface Specification which defines interface standards for cable modems and supporting equipment. This allows downloading operation software to consumer STBs. However, a deficiency of this down mechanism method is that its loads one STB at a time. The Tftp method is inherently inefficient since it services one STB per request.
Another existing method of downloading operational software to STBs utilizes an In-Band (IB) scheme using Quadrature Amplitude Modulation (QAM) channels for transferring binary data over cable. This method delivers a stream of software using carousels of different versions to be sent to different brand STBs. However, such a method requires tremendous bandwidth that can otherwise be used for the delivery of video content, and further requires retransmitting the same data many times to account for reception errors.
In one embodiment the present invention provides a method and system that improves the efficiency of software download in the OCAP for delivering operational software to consumer STBs. A download method according to the present invention allows many STBs to receive the software that is streamed from the cable headend over the cable plant to the STBs.
In one implementation of such a download method, the present invention provides a scheduled software downloading method that can provide the download to many devices with one transmittal of the content. The conventional Tftp software download method is inherently inefficient since it services one STB per OCAP request. According to an embodiment of the present invention, that efficiency is improved by allowing many STBs to receive the data sent in one Tftp request.
These and other embodiments, features and advantages of the present invention will be apparent from the following specification taken in conjunction with the following drawings.
In one embodiment the present invention provides a method and system that improves the efficiency of software download in the OCAP for delivering operational software to consumer STBs. A download method according to the present invention allows many STBs to receive the software that is streamed from the headend over the cable plant to the STBs.
In one implementation of such a download method, the present invention provides a scheduled software downloading method that can provide the download to many devices with one transmittal of the content. The conventional Tftp method is inherently inefficient since it services one STB per OCAP request.
According to an embodiment of the present invention, that efficiency is improved by allowing many STBs to receive the data sent in one request/transmission.
The system 100 includes a regional cable headend (CHE) 102 which provides content 104 (programming, software, application, etc.) via a cable network 106 to service nodes 108 for delivery to corresponding STBs 110. The system 100 implements said download method including synchronization and a broadcast protocol according to the present invention.
The scheduled download method according to the present invention is an improvement over the conventional Tftp method which is inherently inefficient since it services one STB per OCAP request.
Tftp is part of the Internet Protocol (IP) and is a simplified version of File Transfer Protocol (FTP) that allows files to be transferred from one device to another over a network. Tftp uses the User Datagram Protocol (UDP). As Tftp is a simplified version of FTB, Tftp can only read and write files from/to a remote server. According to TFTP PROTOCOL (RFC 1350, Sollins, K. 1992, Request for Comments: 1350 the TFTP Protocol (Revision 2), July 1992, IETF), any transfer begins with a request to read or write a file, which also serves to request a connection. If the server grants the request, the connection is opened and the file is sent in fixed length blocks. Both machines involved in a transfer are considered senders and receivers. One sends data and receives acknowledgments and the other sends acknowledgments and receives data. The fixed length blocks make allocation straight forward, and the lock step acknowledgement provides flow control and eliminates the need to reorder incoming data packets.
In a conventional Tftp software download method, each STB communicates with the cable headend for data transfer (both the STB and the cable headend are considered senders and receivers).
The conventional Tftp software download method is inherently inefficient since it services one STB per OCAP request. According to one implementation of the present invention, a scheduled software downloading method can provide the download to many devices with one transmittal of the content.
Synchronization is provided in the present invention by requiring each STB 110 (
The request can be from STB 110 or other nodes external to the CHE 102. Synchronization can be achieved via communication between the CHE 102 and the STBs 110 through the network 106 or other means which allows the STBs 110 t0 maintain the same clock in Universal Time as the cable headend CHE 102.
In one example implementation according to the present invention, a controller 107 in the cable headend (CHE) 102 receives requests from consumer electronics (CE) companies 101 to download new software to certain STBs 110. The CHE 102 maintains a database 103 of STBs 110 connected to its network (i.e., cable plant) 106, wherein the database 103 includes manufacturer, model number, and network address of each STB 110. The controller 107 queries the database 103 and constructs the list of possible STBs 110 that require a certain download. Also, such a list can contain items that are inserted because the STB itself has requested a download.
The controller 107 contacts all STBs 110 on the list and notifies them the particular time at which a software download will take place. Then, using its Universal Time clock 105, each STB 110 on the list joins the broadcast reception group at that particular time, wherein the controller 107 performs a single software transmission process (i.e., broadcast, multicast, etc.) such that each STB 110 receives the software delivered (broadcast, multicast, etc.) from the CHE 102 at the particular time.
For synchronization, each STB 110 maintains the same clock in Universal Time as the cable headend CHE 102. The controller 107 of the CHE 102 uses a scheduler 109 in the CHE 102 for scheduled delivery of software download. This allows the clocks to be synchronized to within a specified period such as e.g. 0.1 second. As such many STBs can receive the data sent in one request. The request can be from STB 110 or other nodes external to the CHE 102.
A scheduled software download according to the present invention synchronizes the components on the network, then STBs (or other type of control) request download, wherein the CHE downloads to multiple STBs a desired program all at once based on a schedule. The STBs know what time of day it is that they can just receive the download. The CHE selects the download rate based on the characteristics of the devices (e.g., STBs) obtained ahead of time, so that the CHE need not get involved in intricate handshake (like TFT) with the STBs. As such, each STB receives the download at a particular rate (e.g., lowest common denominator, or slowest STB receive rate, etc.), whereby many STBs can be accommodated.
After the single software transmittal process from the CHE 102, each such STB 110 checks its received software via the method supplied by its manufacturer. If the software check is successful, then the download process is complete. If not, then the STB 110 requests the CHE 102 for another transmission. The CHE 102 repeats the transmission until all such requests have been fulfilled.
Referring to the example flowchart 400 in
As such, according to the present invention, using the synchronization scheme and a broadcast protocol, many STBs receive the data sent in one request. Therefore, the present invention uses Out of Band (OB) methodology efficiently, and does not occupy In Band channels. Further, the present invention allows the software down to succeed with one transmission of the download data.
Though in the above description the scheduled download process is described in conjunction with software delivery for OCAP, those skilled in the art will recognize that the present invention can be applied to delivering other kinds of data from a server to a client using a process according to the present invention.
The present invention has been described in considerable detail with reference to certain preferred versions thereof; however, other versions are possible. Therefore, the spirit and scope of the appended claims should not be limited to the description of the preferred versions contained herein.