1. Field of the Invention
This invention relates to a system, method, and apparatus for providing notification of a software update, and in particular to a system, method, and apparatus for providing notification of a software update by multiplexing or otherwise combining metadata concerning the update with a broadcast signal. The invention may utilize an existing broadcasting network, and includes software and/or hardware at both the transmitting and receiving side of the network for adding information concerning the update to the broadcast signal and for recovering the information at the receiving side.
The broadcast signal may, by way of example and not limitation, be a radio or television broadcast signal, such as an MPEG-2 (Moving Picture Experts Group-Ver.2) encoded digital television (DTV) signal, the updates being combined with the video transport stream in a transport multiplexer for subsequent modulation and wireless transmission to a DTV tuner, and the received broadcast signal being demodulated and demultiplexed by a DTV tuner to recover the metadata for recognition by a corresponding software module in the tuner or in a computer connected to the DTV tuner. The update recognizing software module may then notify a user of the availability of the update and/or automatically retrieve the update based on information contained in the metadata.
2. Description of Related Art
a. Problems with Software Update Distribution
As software programs become more complex and product cycles shorter, the need to efficiently provide software updates to users has become ever more critical. Such software updates may be required to eliminate bugs or defects in the original software programs, provide enhanced functionality, and/or fix security vulnerabilities.
Historically, the primary medium for software distribution has been either the traditional floppy disk or the more recent compact disc (CD-ROM). However, more and more individuals are acquiring software by downloading it from remote server computers connected to the client computers through the Internet. Additionally, companies and organizations have begun distributing software to their users across their local area networks. Such network-based software distribution has the advantage that the network cable and supporting communication hardware used to distribute the software are fixed costs associated with the establishment of the network and, therefore, distributing and installing software over an existing network bypasses the costly overhead involved in producing and mailing CD-ROMs or floppy disks. As a result, using a network as a distribution medium reduces the software's total cost of ownership to an extent that cannot be achieved by CD-ROMs or floppies.
A problem with this system of distributing software updates over a network is that software vendors today do not have a good infrastructure to notify users of their application programs about updates to their software, bug fixes, etc., in which case the user might miss critical updates necessary for reliable operation of the software or to eliminate security vulnerabilities. If at the time of registering the software, the user can provide the vendor with an email address, the vendor can use the e-mail address to communicate information about upgrades to the user. However, few people actually register with the vendor, partially out of a concern that their anonymity will not be preserved and the fear of being “spammed” with junk email. Even if the software vendor has a web page that describes the updates, there is no compelling infrastructure that will make the user aware that the web page has changed or let the user know automatically at the time the application is used that an update is available.
As a result, it has become common to provide software, whether distributed over a network or purchased on a CD-ROM, an update module or subroutine that contacts the software vendor through the Internet or, in the case of dcommunications devices such as PDAs or cellphones having Internet browsing capabilities, through a wireless communications network, in order to retrieve information known as metadata that enables the computer or communications device to automatically locate and download updates. The search for updates may be initiated by the user or may be automatically carried out at predetermined times or upon power-up of a computer containing the software to be updated, whereupon downloading of the update may proceed automatically or the user may be given the option of manually initiating an updating process.
This type of automatic update search is effective for software that is used routinely, such as anti-virus software, and in which the updates can be downloaded rapidly. However, if the software is not used as often, critical updates might be missed. In addition, if the update search and download process is likely to be slow, users will often stop the search or turn off the automated update search and/or download and proceed to use the program without updating.
One solution to this problem, disclosed in U.S. Pat. No. 6,353,926, is to use so-called “push” technology by which the vendor sends updates to the user on its own, rather than after a request by the user or the software that needs to be updating. The process calls for the software vendor to provide the option of subscribing to a software update channel at time of purchase. The software update channel is a link to a server through which the user's computer automatically checks for updates, and which downloads software to the user's computer as necessary. After downloading, the user is notified by e-mail or gleaming an icon that an update is available for installation.
However, this solution still suffers from the problem that the user has to subscribe to the “channel,” which users are hesitant to do, and furthermore, has the disadvantage that the user has no option of refusing the software before it is downloaded, wasting disk space if the update is unwanted and possibly leaving the user's computer vulnerable to malicious code if the vendor is not trustworthy, or if the vendor's security is inadequate. Furthermore, this arrangement is not easily adapted to wireless communication networks or other applications that do not use the Internet as the primary source for software and updates, and cannot be used when the user is offline and not connected to the Internet.
In the case of wireless communication devices, it has been proposed instead to provide software updates solely by broadcasting the updates, for example by supplying the software update as short messages transmitted to a wireless telephone handset. However, such transmission of updates in this manner can utilize substantial network resources, are relatively expensive for the user, and of course are not applicable to systems lacking access to a particular wireless network. U.S. Pat. No. 5,896,566 proposes to avoid the problem of cost by having the user query the server about the availability of software and then downloading the software over a separate, less costly medium such as a land line, which avoids the need to carry out expensive downloads over the air, but still requires the user to contact the software provider in order to learn of software availability.
What is needed is a simple method and system of notifying users of software updates that does not require any action on the part of the user such as registration or establishing an update “channel,” thereby preserving the user's anonymity while enabling the software vendor to reach a high percentage of owners of the software for which an update is available, that is applicable to a wide variety of networks and communications media, and that is not limited to a particular updating method following notification.
b. Example of System to which System and Method of Invention may be Applied
As will be described below, the invention solves the above problems by broadcasting information concerning software updates together with regular programming, for retrieval by software at the receiving side of the broadcast. This solution does not involve actually broadcasting the update, but only a notification of the update's availability, and information necessary to retrieve the update through conventional media such as the Internet.
It is intended that the system and method of the invention not be limited to a particular broadcasting network, or to a particular broadcast protocol or format, and further that the system and method of the invention not be limited to a particular method of combining the update data with other data to be broadcast, including program data. As used herein, the term “combining” is intended to refer to data insertion and appending as well as multiplexing.
Those skilled in the art will appreciate that the system and method of the invention may be applied to a variety of different broadcast networks, systems, or protocols that utilize analog as well as digital wireless transmission, cable or satellite networks, and to both television and radio broadcast media and is not to be limited by the type of broadcast media, except in accordance with the appended claims. Nevertheless, the system and method of the invention is especially applicable to a digital television (DTV) broadcast network utilizing the “Program and System Information Protocol” (PSIP) with “conditional access” (CA), illustrated in
PSIP is an especially versatile broadcast protocol that is designed to be compatible with conventional analog (e.g., NTSC) broadcasting as well as digital broadcasts.
At the receiving end, the DTV system to which the present invention may be applied includes, as shown in
In the preferred embodiments that utilize the system of
It is accordingly a first objective of the invention to overcome the disadvantages of the prior art by providing a system and method for notifying a user of software updates that does not require the user to subscribe to an update service or to formally register the software.
It is a second objective of the invention to provide a system and method for notifying a user of software updates that permits a vendor to reach a wide audience without the need for e-mail lists or other action on the part of the recipient, and which requires minimal resources and/or bandwidth.
It is a third objective of the invention to provide a system and method for notifying a user of software updates that can utilize a wide variety of broadcast media, and to make the updates available even when the user is not “on-line.”
It is a fourth objective of the invention to provide a system and method for notifying a user of software updates that does not depend on the particular media over which the software is to be delivered.
These objectives are achieved, in accordance with the principles of a preferred embodiment of the invention by providing a system and method for notifying a user of the availability of software updates in which the notification is appended to or combined with a regular broadcast program, such as a radio or television program, the metadata being recovered by a broadcast receiver at the location of the user and supplied to the user's computer or communications device for use in carrying out a subsequent update.
In an especially preferred embodiment of the invention, the notification is in the form of metadata that identifies the update and provides a link to the server. As a result, the software may be updated automatically or the owner of the software to be updated can connect to the server at the owner's convenience and discretion.
Those skilled in the art will appreciate that the invention involves hardware and/or software at both the transmission and receiving ends of a broadcast. For example, the invention requires the addition of an update metadata generator on the transmission side, and an update recognition module on the receiving side, both the metadata generator and recognition module being implementable in the form of hardware, software, or a combination of hardware and software. Further, a receiver that includes hardware or software for retrieving update metadata may be adapted for use with different broadcast protocols, and be manufactured and sold separately and independently of the hardware/software at the transmitting end for adding the update metadata to a broadcast.
Those skilled in the art will appreciate that video and audio sources 21 and 22, and program multiplexer 24, may correspond to encoders 3 and 4 and program multiplexer 5 of the DTV system of
In addition, those skilled in the art will appreciate that while the multiplexer 27, modulation 28, and transmitter 29 may correspond to multiplexer 6, modulator 7, and transmitter 8 of
A key feature of the present invention is the inclusion of software update metadata generator 26 for generating metadata related to software updates. The metadata generator may be connected directly to the multiplexer, or the data server, may be connected to a separate multiplexer for combining with the output of the data server, or to a multiplexer that is between the ATSC multiplexer and the modulation equipment. For applications utilizing the DTV system of
In the preferred embodiment, the metadata is simply information on the location of a software update, and data necessary to identify the update. The format of the metadata will depend on the medium used to download the data, and will differ for example between information on downloads from a server via the Internet and downloads over a wireless network. An example of metadata in a suitable format for addition to the DTV signal of
The listed metadata includes identifiers for the current and target or updated versions of the software (respectively, 3.0.4927 and 3.1.5012), an expiration date (Sep. 30, 2007), and a location of the update. Those skilled in the art will appreciate that the location of the update is a URL. Those skilled in the art will note that the letter e has been added before http to comply with Patent Office rules prohibiting the creation of hyperlinks in patent specifications. On the other hand, if the update is to be downloaded over a wireless communications network, the metadata might include a telephone number.
In order to reach as many customers of the software as possible, the metadata may be combined with, inserted into, or appended to a variety of different broadcast programs, and transmitted at different times with the different programs. Alternatively, if the metadata does not take much bandwidth, it may simply be continuously added to the broadcast transmission over an extended period, if necessary until a new update becomes available. The software module at the receiving end can be adapted to ignore any metadata that it has already recognized.
At the receiving end, the broadcast program is supplied to a demodulator by an appropriate tuner (step 106), which may be a DTV tuner, after which the metadata is separated from the broadcast program (step 107), and the metadata is processed by appropriate software in a computing device, communications device, or the like (step 108). The user is then notified of the update (step 109) and the user initiates an update procedure involving retrieval and installation of the update (step 110) or the metadata is used to initiate an automatic update procedure (step 111) without user intervention, and with or without notification of the user, thereby completing the preferred method.
Having thus described a preferred embodiment of the invention in sufficient detail to enable those skilled in the art to make and use the invention, it will nevertheless be appreciated that numerous variations and modifications of the illustrated embodiment may be made without departing from the spirit of the invention. It is therefore intended that the invention not be limited by the above description or accompanying drawings, but that it be defined solely in accordance with the appended claims.