METHOD AND APPARATUS FOR REMOTE UPDATE OF CLIENTS BY A SERVER VIA BROADCAST SATELLITE

Abstract: The invention involves transmission download of data to plural, mass storage medium-based remote users (16a, 16b, 16c) of content (18) or software upgrades (22) or multiple versions. Optionally provided are pre-download scheduling of one or more future download sessions and post-download remote scripted software execution by the remote clients (16a, 16b, 16c). For purposes of more efficient use of the transmission link, low-volume scheduling information or content are transmitted within designated narrow-bandwidth sub-channels or trickle streams allocated within the broad bandwidth of the transmission channel and such allocation may be dynamic to vary the allocation based upon relative high-volume, high-speed and low-volume, low-speed demands. The implemented software resides primarily in the server (12) connected with the transmission provider (14). The software schedules allotted bandwidth within the broadcast band of the transmission link and formats high-volume data for transmission within sub-allocation channels logically devised therein. Client software distributed home entertainment device sites (16a, 16b, 16c) for operational enhancements as well as video program or content enhancements. Client software reserves capacity on disk (20a, 20b, 20c).

Description: METHOD AND APPARATUS FOR REMOTE UPDATE OF CLIENTS BY A SERVER VIA BROADCAST SATELLITE Technical Field The present invention relates to downloading data such as video program material and software or firmware to plural remote subscribers for storage of the data in a storage device operatively connected with a home-entertainment device. More specifically, it concerns the use of existing satellite communications for downloading data to entertainment devices connected to a user's television, the device having operatively connected thereto a disk drive for mass storage of data and the device controlling certain cable and global network functions made available to subscribers. Background of the Invention Moving data from place to place electronically has become a vast enterprise in modern society. Telephones are used to transport voice signals between callers. Facsimile machines are employed to send documents to remote sites. Computers exchange digital data over modems. Radio signals broadcast audio programming to listeners. Television transmissions convey video signals to viewers in almost every home. A variety of mechanisms or channels are available to send the different types of data. For instance, telephone calls, facsimile transmissions and modem transfers of digital data all can be completed over plan old telephone service (POTS) lines. Radio and television broadcasts are normally broadcast from transmission towers and satellites and sent over cable systems. With each of these channels, the data carrying capacity, or bandwidth, is governed by the nature of the data normally sent over the channel. Thus, POTS, being adapted to transmit voice data, has a relatively low bandwidth while typical television broadcast channels are relatively high bandwidth in order to convey the high volume of data inherent in a video signal. In addition to considerations of bandwidth, the type of data that can be transmitted over a given channel is governed by whether or not the channel is bidirectional. Of the three main data transmission systems found in most residences - telephone, radio frequency broadcast and cable - only telephone is inherently bidirectional. Thus, although other technologies are being developed, the telephone has been the channel of choice when data must be transmitted bi-directionally to and from a residence. With the advent of the Internet, there has been explosive growth in the number of people that use their phone lines to access digital data from resources available on line. These resources include World Wide Web pages providing access to various types of digital data, such as still images and audio and video content. In some cases, the amount of data to be transferred challenges the bandwidth available on phone lines. In other cases, so many users are accessing the same data, that the separate repetitive transfer of the data to each of the users independently is inefficient. One system in which both the bandwidth and repetitive transfer issues arise is the WEBTV® Internet access network. (WEBTV is a registered trademark of WebTV Networks, Inc. of Mountain View, California.) The WEBTV Internet access network includes a large number of Internet terminals, also referred to as client terminals, and at least one Internet server. While the client terminals can access the Internet directly under some circumstances, the server provides a convenient standardized interface to facilitate access of the Internet by the client terminal. The server also offers supplemental services, such as email, news reports, television program guides and enhanced access to certain Web pages. In the course of carrying out these supplemental services, substantial quantities of individualized or private data, and broadly applicable or public data, must be downloaded to the client terminals. With the current WEBTV system, supplemental services data is downloaded in advance during low-use periods to the extent possible. For instance, WEBTV client terminals are configured to automatically call in to the server during the night to check for email and receive other information. However, because this process must be individually repeated for each client terminal, substantial telephone costs may be incurred by the subscription user or the service provider or both. In addition, in some cases, the quantity of data to be retrieved is so large that long periods of time are required to complete the download. Known download techniques are data volume and bandwidth limited, the former by remote entertainment device semiconductor memory capacity, and the latter by use of POTS or other low-bandwidth content and software data channels. High- volume data such as a) video data referred to herein as content, or b) operating or applications system software upgrades referred to herein as software, often need to be downloaded from a subscription service provider, or server, to distributed plural remote users at subscriber sites where home entertainment devices exist. It is desirable to provide such a high-speed, high-volume conveyance without further taxing POTS or ISDN, which may be thought of as low-speed, two-way conveyances (the former being voice grade (< approximately 50 kilobits/second (kbps)) and the latter being only somewhat above voice grade (< approximately 100-200 kbps). This is as compared with high-speed, one-way satellite broadcast conveyances, the download rate from of which may be more than approximately 1-4 megabits/second (Mbps). Summary of the Invention Such high-volume data download may be done via existing satellite broadcast service providers in a high-bandwidth, one-way communication to all. Alternatively, such data download may be done via other broadcast transmission methods such as cable or digital television broadcasts. All subscribers, or clients, will receive the download, whether it is of video or other content data to be stored to non-volatile memory for later viewing, or software upgrade data to be stored to ROM for optional use as the client's operating system (OS). In the case of a software upgrade, each client must decide whether and how to implement the upgrade, as by executing a configuration or other script the data might include. Thus, the low-speed, bi-directional conveyances such as POTS and ISDN are not further taxed by a satellite-based approach as described herein. Two aspects of the invention may be summarized as including transmission download of data to plural remote clients of content or software upgrades or alternative versions (e.g. a beta version of some new software release may be tested optionally and feedback solicited from a user of the client for the benefit of the software developer). Optionally provided are pre-download scheduling of one or more future download sessions and post-download remote scripted software execution by the remote clients. For purposes of more efficient use of the transmission link, low- volume scheduling information or content are transmitted within designated narrow- bandwidth sub-channels or trickle streams allocated within the broad bandwidth of the transmission channel and such allocation may be dynamic to vary the allocation based upon relative high-volume, high-speed and low-volume, low-speed demands. The invention is implemented in software residing primarily in the server computer connected with the transmission provider. The software schedules allotted bandwidth within the broadcast band of the transmission link and formats high- volume data for transmission within sub allocation channels logically devised therein. Client software at the plural distributed home entertainment device sites reserves capacity on disk and receives such transmission data for storage thereon, optionally executing a downloaded execution script that may reconfigure the client software so that new options and features are available at the client site for operational (e.g. OS, application, graphic user interface (GUI) or other software that runs the home entertainment device such as a television set-top box) enhancements or content (e.g. video) offerings. It will be appreciated that downloaded content may include text, audio or video files, hypertext mark-up language (HTML) or other ISP-provided pages or images, pay-per- view (PPV) movies, a cable provider's electronic program guide (EPG), etc. Brief Description of the Drawings Fig. 1 is a system block diagram illustrating the download scheduling control paths in accordance with the invention via a low-speed channel of the high-speed broadband digital video downlink in accordance with the invention. Fig. 2 is a schematic diagram of the broadband satellite frequency spectrum illustrating a possible allocation of the spectrum to the various video content and software upgrade functions. Figs. 3A and 3B are system block diagrams corresponding to Fig. 1 and illustrating the data download paths in accordance with the invention via a high-speed channel of a high-speed broadband digital down-link in accordance with the invention, with Fig. 3A showing a typical video content download and with Fig. 3B showing a typical software upgrade download. Fig. 4 is a flowchart illustrating the method of the invention corresponding to Fig. 1 by which future video data downloads or software updates may be scheduled for the plural distributed home entertainment devices. Fig. 5 is a flowchart illustrating the method of the invention corresponding to Fig. 2 by which video data downloads or software upgrades are conveyed to the plural distributed home entertainment devices. Fig. 6 is a flowchart illustrating the method of the invention corresponding to Fig. 3 by which optionally a downloaded script may be executed following a software upgrade of the plural distributed home entertainment devices. Fig. 7 is a flowchart illustrating the method of the invention corresponding with that of Fig. 4 by which scheduling of a future download may be had. Fig. 8 is a flowchart illustrating the method of the invention for allocating satellite broadcast bandwidth among video content, software upgrades and announcements. Detailed Description of the Invention Fig. 1 illustrates the invented apparatus in system block diagram form at 10. Apparatus 10 includes a server 12, a satellite broadcast service provider 14 and a network 15 of plural distributed clients 16a, 16b, 16c that number only three for the sake of simplicity. Server 12 performs several functions related to the present invention and may be a service provider such as a WEBTV server or other provider of subscription services to plural remote users. First, server 12 formats content to provide via satellite to client network 15. Additionally, server 12 schedules downloads and other tasks needed to accomplish such downloads to the clients. Finally, server 12 allocates the satellite broadcast bandwidth provided by the satellite service provider among the content to be downloaded. In implementing these functions, server 12 interfaces to one or more content providers such as content provider 18 and interfaces to one or more transmission providers such as satellite broadcast service provider 14. Those of skill in the art will appreciate that the one or more content providers and the one or more satellite broadcast service providers may be configured conventionally and that their particular configurations form no part of the present invention. While the invention is herein depicted and described in the context of downloading data to plural distributed clients via a satellite broadcast link, those of skill in the art will appreciate that other transmission links may be used and, thus, are within the scope of the invention. For example, transmission provider 14 may alternatively be a cable broadcast provider enabling data downloads via a cable link, or a digital television broadcast provider enabling data downloads via a broadcast link. Therefore, while transmission provider 14 is hereinafter described as a satellite broadcast service provider, the description will be understood to include such other transmission providers. Server 12 is connected to communicate with a television program content data provider or other content source 18 such as an Internet Service Provider (ISP) as well as satellite-based data broadcast service provider 14. Plural remote computer-based systems 16a, lόb ^ 16c each include a mass data storage subsystem 20a, 20b, 20c and each is connected to service provider 14 for receiving and storing into the storage subsystem the television program or other graphic content data from the data provider. It will be appreciated that mass storage subsystem 20a, 20b, 20c may be a magnetic disk, a writable optical disk, flash memory, prom, or any other type of non-volatile electronic data storage device. For clarity, mass storage subsystem 20a, 20b, 20c will be referred to herein as disk 20a, 20b, 20c by way of example but will be understood to include any of such storage devices. It may be seen from Fig. 1 that server 12 also may be operatively connected with a software upgrade source 22 from which operating system (OS) software upgrades may be made to clients 16a, 16b, 16c. Such upgrades may represent fixes to 'bugs' or simply performance or reliability enhancements for the firmware typically residing at the clients 16a, 16b, 16c in non- volatile memories such as read-only memories (ROMs) or programmable non-volatile memories such as programmable read-only memories (PROMs) 24a, 24b, 24c therein. Those of skill in the art will appreciate that PROMs 24a, 24b, 24c may take an alternative form of storage of the operating system software downloaded in accordance with the invention from software upgrade source 22 via server 12 and broadcast satellite service provider 14. For example, the PROMs may take the form of flash memory or magnetic or optical storage disks. Fig. 2 is a diagram showing a possible allocation of the broadcast satellite's broad bandwidth to the task of downloading video content and software upgrades to the plural distributed subscribers or clients. It may be appreciated from Fig. 2 that the bandwidth allocation may be fixed or variable and that it may be dynamically responsive to changing requirements, whether they be requirements of the satellite broadcast service provider or the various distributed clients associated with the server. The bandwidth may be seen to be illustrated as a continuum of frequencies within the broad spectrum of the satellite broadcast bandwidth. It may be seen that the individually labeled logical channels zr are defined and their bandwidths allocated to particular functions. These assigned functions include the relatively broadband video content downloading functions labeled "PPV", "WEBTV" and "HSN" (high-speed network) or the relatively narrow-band schedule downloading function labeled "TRICKLE STREAM." It will be appreciated that the blocks labeled TRANSPONDER are an integral part of satellite broadcast service, or service provider, 14 and form no part of the invention other than illustrating the important broadband channel allocation scheme. Those skilled in the art will appreciate that the channels may be defined in any suitable manner, and thus the allocation of bandwidth made, in accordance with the invention. Those skilled in the art also will appreciate that as many channels may be defined and their bandwidths allocated as provided by the satellite service provider in accordance with contract, i.e. the unlabeled channels may be assigned their corresponding functions and more channels may be allocated, as suggested by ellipses, by server software suitably programmed. In any event, while satellite service provider 14 allocates a total bandwidth for use by server 12, it is the server which allocates or assigns the channels within that bandwidth to specific download functions such as PPV, web content, software upgrades, scheduling announcements, etc. As discussed above, the server is configured to allocate the bandwidth dynamically among the various download functions depending what content is scheduled for download. Figs. 3A and 3B illustrate the video and software data download paths used to load video content or software upgrades to a disk or PROM of each of the subscribers or clients programmed to receive such a broadcast. The broad dashed line 23, in Fig. 3 A, illustrates a relatively high-bandwidth data path representing the downloading of content from content source 18 by server 12 via broadcast satellite service provider 14 to disks 20a, 20b, 20c of clients 16a, 16b, 16c respectively. Again, content herein describes text, HTML pages, images, movies, EPGs or other graphic, audio, or video data-intensive content requiring relatively high bandwidths for its efficient and quick conveyance. Content source 18 may take any suitable form, i.e. it may be a videotape, videodisk, CDROM, video library or simply an operative connection to a source provider, e.g. a cable television system or global network. Disks 20a, 20b, 20c typically are large capacity, e.g. they may store up to approximately 100-500 megabytes (MB) or 1-10 gigabytes (GB) of data. The narrower dashed line 25, in Fig. 3B, illustrates another high-bandwidth data path representing the downloading of software upgrade data from software upgrade source 22 by server 12 via broadcast satellite service provider 14 to PROM 24a, 24b, 24c,_of clients 16a, 16b, 16c, respectively. Software upgrade source 22 may take any suitable form, i.e. it may be a storage module such as a disk or tape or a file server on a database network. It will be appreciated that a software upgrade may be as simple as a PROM code patch to correct a software bug or enhance performance of the home entertainment device, or that it may be as complex as a new OS including entirely new or replacement firmware. It also will be appreciated that a software upgrade may be an alternative version of firmware for testing purposes, e.g. it may be beta or field test software which is predicate to a new software release. It also will be appreciated that part of a software upgrade download may include executable instructions or code that represents a script that, when executed by a client, automatically reconfigures the client. An example of such a configuration script would be a 'reboot' or 'power-up' script that, once executed, changes the operational parameters of the home entertainment device. It will be appreciated that content and software upgrade broadcast downloads may occur concurrently or at different times, depending upon the demand for each and the available bandwidth in accordance with a satellite broadcast service contract or allocation, efficiency or cost concerns. For example, 2GB/night of total capacity may be allocated by a particular broadcast service provider, which would represent approximately l-4Mbps data conveyance. It will be appreciated that various factors including availability and cost determine how much download capacity is desired in a given system and how it should be allocated. In accordance with the method of the invention, downloads of software upgrades or content may be scheduled by broadcasting an instruction or scheduling announcement to all clients via satellite on a relatively low-bandwidth channel, referred to herein as a TRICKLE STREAM channel. The scheduling announcement would include a schedule as to when the next download of software upgrade or content will occur. Thereafter, any client that is tuned to the predefined high-bandwidth channel at the scheduled time will receive the software upgrade or content update, respectively. Along with the downloaded software upgrade might be an instructional message informing all clients how to decide which if any software upgrades an individual client might implement. Such category-based filtering logic executed by particular clients may be hardwired into the home entertainment device at the time of manufacture or may be configured via so-called telephone company-type (TBLCO) or other bi- directional system set-up commands when the user selects a subscription service provider. For example, at the time a user connects a client such as a home entertainment device to a service, it may be determined that the client agrees to be a beta test customer, in which case a beta category flag will be set and resident client software thereafter upon receiving a software upgrade identified by the server as beta test software would implement the upgrade whereas a client that is not a beta customer would receive such an upgrade as part of a broadcast but would not implement the upgrade. Other software upgrades broadcast by the server may be implemented or not by a particular client based upon such categories and filtering, or upon other selection criteria implemented by the client. Broadcast satellite service provider 14 is involved, as indicated in Figs. 3 A and 3B, in all such downloads, in accordance with the allocation scheme that is illustrated in Fig. 2 and described above. It may be seen from Figs. 3 A and 3B that downloads are unidirectional, i.e. data flows only in one direction, and there is no requirement for two-way, connected-pair client-server communication as was the case with the use of POTS or ISDN or other voice or modem connections. Moreover, of course, the data download involves a very high bandwidth broadcast of data to many clients at once, whether it is video content data or software upgrade data. Because of the unidirectional nature of the broadcast and the fact that there is no requirement for a pair-wise connection between a server and a corresponding client, in accordance with the invention, there is no need for a handshake or protocol for two- way communication between a client and a server. It will be appreciated that forward error detection and correction or other suitable techniques may be employed to ensure received-data integrity at the plural distributed clients of data broadcast via broadcast satellite service 14. It will be appreciated that the broadcast of content or software upgrade and supervisory or announcement data is to multiple clients at once, and that the clients are generally not differentiated. Thus, each of the clients typically receives identical data is from the broadcast service provider and each client decides whether and how to respond in accordance with prescribed software or firmware protocols. There is in accordance with the invention no need for two-way communication between server 12 and any of clients 16a, 16b, 16c; instead very high-bandwidth, but only one-way, broadcast communication occurs from server to all clients who are tuned to the frequency over which it has been prescribed that such communication will occur on a system-wide basis in what will be referred to herein as a mass satellite-based data download. It will be appreciated that the broadcast communication may alternatively occur in selected geographical regions such that only those clients located in the selected region will receive the download. It will also be appreciated that the broadcast communication alternatively may be directed to a defined group among all clients and that the remaining clients may receive a different broadcast communication or no broadcast communication. Fig. 4 charts the method of the invention by which future downloads of video content or software upgrades may be scheduled for broadcast to plural distributed clients or subscribers. The invented scheduling method may be seen to include the following steps implemented in software instructions residing in server 12 and executed by a microprocessor, for example, therein. Server 12, at 100, gathers a list of files which are to be downloaded; at 102, copies them to a temporary directory; and at 104, creates a binary "partition" for these files. As used herein, a binary partition consists of a batch of data selected for downloading to clients 16, and a corresponding file system mapping the location of the files into a logical directory. The batch of data may consist of one file or a plurality of files. It will be understood that the file system may be any standard file system such as FAT, FAT32, etc. which is compatible with disks 20. Clients 16 are configured to distinguish between data downloaded as a binary partition and data downloaded as one or more unrelated files. Upon receipt of a binary partition, each client 16 formats a new disk partition on disk 20 and stores the file system and file(s) in the new disk partition. It will be appreciated that storing the downloaded file(s) as a disk partition bypasses the existing file system on disk 20 and ensures that the file(s) are stored on the disk without fragmentation. Moreover, storing the file(s) without fragmentation reduces noise from disk 20 when the files are subsequently read from disk 20. Alternatively, server 12 may omit creating a binary partition and transmit the file(s) without a corresponding file system. In such case, each client 16 stores the file(s) on disk 20 in an existing partition using the existing file system. In any event, server 12 then breaks up the partition into the requisite number of LP/UDP UHTTP packets, as indicated at 106. As is well known in the art, IP, UDP, and UHTTP are acronyms for Internet Protocol, User Datagram Protocol, and Unidirectional Hypertext Protocol, which are network communications protocols used to transfer data over a communications network. The IP, UDP, and UHTTP protocols allow a large batch of data to be broken up into small packets at a source such as server 12, transmitted individually to a destination such as clients 16, and then reconstructed into is the original batch of data. The IP, UDP, and UHTTP protocols are embodied as layered instruction headers applied to the small data packets. Each protocol performs different functions. The IP protocol performs the basic routing function, while the UDP protocol adds error-checking and communications port selection. The UHTTP protocol is a modified form of the well known HTTP protocol adapted for use with one-way broadcasts. Clients 16 are configured to read the header instructions on individual packets and, based on the protocols, reconstruct the batch of data from the packets after stripping the headers. It will be understood that the transmission protocols described above are well known in the art and may be modified as required to conform to varying Internet standards. Furthermore, while the invented method has been described above as using the IP, UDP, and UHTTP protocols to transmit content from server 12 to clients 16, it will be appreciated that other transmission methods and protocols are possible and, thus, within the scope of the invention. Once the partition is broken up into the requisite LP/UDP UHTTP packets, server 12, at 108, puts these packets into a single file and, at 110, FTPs the file to satellite broadcast service provider 14, e.g. Echostar™, to be downloaded. Responsive to server 12, satellite broadcast service provider 14, at 112, broadcasts a Set Announcement Protocol (SAP)/Set Description Protocol (SDP) message to plural clients 16a, 16b, 16c_over a TRICKLE STREAM channel giving the time when the clients should expect the download. Alternatively, the SAP/SDP message may be communicated to plural clients 16a, 16b, 16c via POTS, ISDN or other non-broadcast communication links or channels. The clients learn from the announcement when the download will take place, and then either inform users to tune to the predefined channel to receive the download or simply auto-tunes to receive the download on the predefined channel at the announced time of day. At the announced time, clients which are tuned to the correct channel begin receiving the LP/UDP/UHTTP packets containing headers that enable the clients to reconstruct the original files. As discussed above, clients are able to receive downloaded individual files as well as whole partitions. For partitions, clients are told the size of the partition and its name. Clients are told whether the partition is temporary (in which case it is deleted at the end of the download) or permanent. Clients also are told whether there is included in a downloaded partition a download script for later execution. The download script may cause the clients to copy files from a temporary partition to another location, to rename files, to execute "client functions", etc. One such client function is whether the client should substitute new software for old software or a new portion of software for an old portion thereof in the form of a software upgrade. Fig. 5 charts the method of the invention by which video data downloads or software upgrades are conveyed to the clients or subscribers. The invented conveyance method by which a central server downloads video content or software upgrades to a client network having plural distributed clients may be seen to include the following steps. The method involves, at 200, first downloading, from the satellite broadcast link, information transmitted onto the satellite broadcast network from the server processing system, and, at 202, writing the downloaded information into a programmable non- volatile memory in the client network to update information previously stored in the programmable non-volatile memory. Fig. 6 charts the method of the invention by which a downloaded script including executable instructions optionally may be executed following a software upgrade of a client or home entertainment device in order to reconfigure the home entertainment device or to upgrade its software content. The invented reconfiguration method by which a client selectively executes a downloaded configuration script including executable instructions may be seen to include the following steps. At 300, determining whether the downloaded data includes a configuration script including executable instructions and, if so, then, at 302, determining based upon defined client- specific criteria, whether to follow the script and, if so, then, at 304, executing the instructions included in the downloaded script. As stated above, the determination whether to follow the script may be made based upon stored, client-specific criteria or category information that are previously stored in the client's memory, derived from whatever source. It will be appreciated that the downloaded data may include alternative configuration scripts and that one or more of the alternative configuration scripts may be selected for execution by the client based on defined selection criteria. In any event, such method steps are typically implemented in software residing in a client such as clients 16a, 16b and 16c, which might be a home entertainment device including read-and-write memory (RAM) and a microprocessor. Fig. 7 charts the method of the invention for scheduling a future download via a satellite broadcast service provider of video content or software upgrade to plural remote clients in a communication system. The steps include, at 400, allocating a low- bandwidth channel of the satellite broadcast band to announcements from the server to the plural clients in the communication system; at 402, formatting an announcement to the plural clients regarding when a data download will occur; and, at 404, broadcasting such a formatted announcement via the satellite broadcast service provider to the plural clients in the communication system. This method is described in another way and in somewhat more detail above. It will be understood that such method steps 400 and 402 in accordance with the invention are typically implemented in software residing in server 12. Finally, Fig. 8 charts the method, used in conjunction with a server processing system coupled to communicate with a client network via a satellite broadcast service provider, for allocating satellite broadcast bandwidth. The method includes the steps of, at 500, first allocating a relatively high-volume of bandwidth to video content downloads via the satellite broadcast service provider to plural clients within the client network; at 502, second allocating a relatively high-volume of bandwidth to software upgrades of the plural clients within the client network; and, at 504, third allocating a relatively low-volume of bandwidth to announcements to the plural clients within the client network. This method is described in more detail above by reference to Fig. 2. It will be understood that such method steps 500, 502 and 504 in accordance with the invention are implemented in software residing within server 12 or satellite broadcast service provider 14 or both. While the invention has been disclosed in its preferred form, the specific embodiments thereof as disclosed and illustrated herein are not to be considered in a limiting sense as numerous variations are possible. Applicants regard the subject matter of their invention to include all novel and non-obvious combinations and subcombinations of the various elements, features, functions and/or properties disclosed herein. No single feature, function, element or property of the disclosed embodiments is essential. The following claims define certain combinations and subcombinations which are regarded as novel and non-obvious. Other combinations and subcombinations of features, functions, elements and/or properties may be claimed through amendment of the present claims or presentation of new claims in this or a related application. Such claims, whether they are broader, narrower or equal in scope to the original claims, are also regarded as included within the subject matter of applicants' invention.

Claims: 1. Apparatus for conveying data to plural remote clients each client including a non-volatile data storage subsystem, the apparatus comprising: a data provider; a satellite broadcast service provider operatively connected to said data provider; and plural remote clients each including a non-volatile data storage subsystem and each communicatively linked to said satellite broadcast service provider for receiving and storing into said storage subsystem such client data from said data provider. 2. The apparatus of claim 1, wherein at least one of said plural remote clients is a home entertainment system including a microprocessor and an operatively connected disk drive. 3. The apparatus of claim 1 which further comprises a server operatively connected with said data provider and with said broadcast service provider, said server including a formatter, said formatter being capable of formatting client data provided by said data provider for conveyance via a satellite broadcast bandwidth provided by said broadcast service provider to said plural remote clients. 4. The apparatus of claim 3, wherein said server includes a scheduler, said scheduler being capable of scheduling the provision of said formatted data via said broadcast service provider to said plural remote clients. 5. The apparatus of claim 4, wherein said scheduler performs said scheduling by conveying via said broadcast service provider in a relatively low- bandwidth channel of said satellite broadcast bandwidth data including scheduling information regarding one or more future download tasks to each of said plural remote clients. 6. The apparatus of claim 5, wherein said server is configured to dynamically allocate the bandwidth of said satellite broadcast band to various download tasks including at least the download of video content. 7. The apparatus of claim 5, wherein said server is configured to dynamically allocate the bandwidth of said satellite broadcast band to various client data including the download of software upgrade data. 8. In a client network coupled to receive information from a server processing system via a transmission link comprising at least one of either a satellite link, a broadcast link, or a cable link, provided by a transmission provider, a method of updating information stored in the client network, the method comprising the steps of: first downloading, from the transmission link, information transmitted to the transmission provider by the server processing system, and writing the downloaded information into a programmable non-volatile memory in the client network to update information previously stored in the programmable non-volatile memory. 9. The method of claim 8 wherein the programmable non- volatile memory is a data storage disk. 10. The method of claim 8 wherein the information includes a schedule relating to when a second downloading step shall be performed and wherein said second downloading step is performed in accordance with such scheduling information. 11. The method of claim 10 wherein the client network is coupled to receive information from the server processing system via a non-broadcast channel, and wherein the schedule is communicated via the non-broadcast channel. 12. The method of claim 8 in which the transmission link is characterized by a defined bandwidth, which further comprises allocating, at the server, such defined bandwidth in a defined manner between the information and the schedule to provide relatively high bandwidth to said information and relatively low bandwidth to said schedule. 13. The method of claim 12, wherein said first downloading step is initiated independently from any input from a user of the client network. 14. The method of claim 8, wherein the information includes computer program instructions for execution by the client network. 15. The method of claim 14 in which the computer program instructions include at least one configuration script which, when executed by the client network, will cause the client network to perform a sequence of actions. 16. The method of claim 15 further comprising the step of executing, by is the client network, the at least one configuration script only if a defined set of criteria are satisfied. 17. The method of claim 16 in which said executing step is performed selectively by a given client within the client network. 18. The method of claim 15 further comprising the step of selecting one of the at least one configuration script to execute based on a defined selection criteria. 19. The method of claim 18, wherein the computer program instructions include alternative configuration scripts which represent alternative versions of operating system software for the client network. 20. The method of claim 18 which further comprises the step of transmitting from the server processing system over the transmission link and receiving by the client network instructional data representing the defined selection criteria. 21. The method of claim 20 which further comprises the step of automatically executing the instructional data by one or more given clients within the client network thereby to configure the one or more given clients in accordance with the selection among alternative configuration scripts. 22. The method of claim 21, wherein the non-volatile memory is a programmable read-only memory (PROM). 23. The method of claim 21, wherein the non- volatile memory is a flash memory. 24. In a client network coupled to communicate with a server processing system via a transmission link comprising at least one of either a satellite link, a broadcast link, or a cable link, a method of allocating bandwidth of the transmission link comprising the steps of: first allocating, at the server, a relatively high-volume of bandwidth to video content downloads via the transmission link to plural clients within the client network; second allocating, at the server, a relatively high-volume of bandwidth to software upgrades of the plural clients within the client network; and third allocating, at the server, a relatively low-volume of bandwidth to announcements to the plural clients within the client network. 25. The method of claim 24 wherein said first, said second and said third allocating steps are performed dynamically in response to defined but changing client network needs. 26. The method of claim 24 wherein the transmission link is a satellite link. 27. The method of claim 24 wherein the transmission link is a broadcast link. 28. The method of claim 24 wherein the transmission link is a cable link. 29. A method for scheduling a download of data from a server to plural clients in a communication system via a transmission link comprising at least one of either a satellite link, a broadcast link, or a cable link, provided by a transmission provider, the method comprising: allocating, at the server, a low-bandwidth channel of the transmission link to announcements from the server to the plural clients in the communication system; formatting, at the server, an announcement to the plural clients regarding when a data download will occur; and communicating such a formatted announcement to the transmission provider for broadcast to the plural clients in the communication system. 30. The method of claim 29 which further comprises the step of receiving the broadcast formatted announcement by each of the plural clients and storing the announcement in non-volatile memory devices connected with the corresponding plural clients. 31. The method of claim 30 which further comprises the step of downloading data to the plural clients via the transmission provider in accordance with the announcement contained in said formatting and broadcasting steps. 32." The method of claim 31 which further comprises the step of receiving downloaded data by the plural clients in accordance with the announcement contained in said formatting and broadcasting steps. 33. The method of claim 32 which further comprises the step of storing in non-volatile memory devices connected with the corresponding plural clients the received downloaded data. 34. In a system including a server and plural remote clients wherein the server is equipped to broadcast information stored therein to the plural clients, a method for downloading update information resident at the plural clients comprising the steps of: gathering a list of files to be downloaded; copying the files in the list to a temporary directory; creating a binary partition for the copied files; breaking up the partition into a defined number of packets; formatting the packets of predefined number into a single file; transmitting the file to a transmission provider to be downloaded to the plural clients; and transmitting an announcement message to the plural clients. 35. The method of claim 34, wherein said transmitting step is performed is in such manner as to tell the plural clients the time of day when the plural clients should expect the download. 36. The method of claim 35 which further comprises the steps of receiving the announcement message by the plural clients and storing the same in memory devices therein.

Inventors: BISHOP ALAN G, BLACKKETTER DEAN J, HUANG WEI, KILLIANEY MICHAEL A, MCFADDEN ANDREW T, WAGNER MARK, BISHOP, ALAN, G., BLACKKETTER, DEAN, J., HUANG, WEI, KILLIANEY, MICHAEL, A., MCFADDEN, ANDREW, T., WAGNER, MARK
Applicants: WEBTV NETWORKS INC, WEBTV NETWORKS, INC.
Application year: 2000
Main classification: H04J3
IPC codes: G06F9, H04B7, H04H20, H04H40, H04H60, H04L29, H04N5, H04N7