US20030028899A1 - Multicast downloading of software and data modules and their compatibility requirements - Google Patents

Multicast downloading of software and data modules and their compatibility requirements Download PDF

Info

Publication number
US20030028899A1
US20030028899A1 US10/253,377 US25337702A US2003028899A1 US 20030028899 A1 US20030028899 A1 US 20030028899A1 US 25337702 A US25337702 A US 25337702A US 2003028899 A1 US2003028899 A1 US 2003028899A1
Authority
US
United States
Prior art keywords
terminal
module
terminals
version
downloading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/253,377
Inventor
Alexander MacInnis
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Scientific Atlanta LLC
PowerTV Inc
Original Assignee
Macinnis Alexander G.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macinnis Alexander G. filed Critical Macinnis Alexander G.
Priority to US10/253,377 priority Critical patent/US20030028899A1/en
Publication of US20030028899A1 publication Critical patent/US20030028899A1/en
Assigned to POWERTV, INC., A GEORGIA CORP. reassignment POWERTV, INC., A GEORGIA CORP. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: POWERTV, INC., A CALIFORNIA CORPORATION
Assigned to SCIENTIFIC-ATLANTA, LLC reassignment SCIENTIFIC-ATLANTA, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, INC.
Assigned to SCIENTIFIC-ATLANTA, LLC reassignment SCIENTIFIC-ATLANTA, LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SCIENTIFIC-ATLANTA, INC.
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/10Adaptations for transmission by electrical cable
    • A63F13/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • H04N21/2358Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages for generating different versions, e.g. for different recipient devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4432Powering on the client, e.g. bootstrap loading using setup parameters being stored locally or received from the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4516Management of client data or end-user data involving client characteristics, e.g. Set-Top-Box type, software version or amount of memory available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6547Transmission by server directed to the client comprising parameters, e.g. for client setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors
    • H04N21/8402Generation or processing of descriptive data, e.g. content descriptors involving a version number, e.g. version number of EPG data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme
    • H04N7/17354Control of the passage of the selected programme in an intermediate station common to a plurality of user terminals
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/409Data transfer via television network

Definitions

  • This invention relates generally to systems for downloading software and data modules into terminals over a network, such as home communication terminals (HCTs) in a cable television network. More specifically, the invention provides an apparatus and method for selectively downloading different versions of software modules and data modules to a variety of potentially different terminal types, where the differences may be due to variations in hardware, operating system versions, or other parameters.
  • HCTs home communication terminals
  • HCTs For example, in a cable television network, some subscribers may have the newest HCT model with fast processors, special peripherals and extra memory, while other subscribers may have older HCTs which do not have such interfaces or capabilities. Additionally, some HCTs may be loaded with the latest version of an operating system, while others may be compatible only with older versions of the operating system. Similarly, HCTs from different suppliers with different designs generally require different versions of software. In such systems, multiple versions of software and data must be downloaded. Thus arises a problem in determining which versions of particular modules should be downloaded into each terminal, and providing an efficient scheme for doing so.
  • the present invention solves the aforementioned problems by providing a system and method for selectively downloading software and data modules to terminals in a network without requiring communication between the terminal and the downloading source.
  • modules as used herein includes application programs, subparts of programs, operating systems, “patches”, data tables, groups of interpretable instructions, and the like.
  • an authoring source generates a plurality of module versions according to different terminal configurations, operating system versions, or other hardware parameters such as memory size.
  • Each different module version has accompanying descriptor information which identifies the compatibility requirements and/or interfaces needed to support the module.
  • a transmitting (downloading) source such as a headend facility transmits, to a plurality of terminals, descriptors which correlate each module version with its required interfaces.
  • Each terminal receives the. transmitted descriptors and, by comparing the descriptors with an internal configuration table, selects the “best” module version for that terminal.
  • the actual module may be downloaded in a “carousel” channel which continuously broadcasts all the various versions of modules in a loop, or it may be downloaded by other means such as an in-band channel.
  • each terminal may automatically extract the descriptors upon boot-up to automatically find the most recent version of the operating system to be downloaded for the terminal.
  • each terminal may extract the descriptors after a user selects an application program.
  • FIG. 1 shows one possible configuration for a home communication terminal (HCT) on which various principles of the present invention may be practiced.
  • HCT home communication terminal
  • FIG. 2 depicts a system employing various principles of the invention including an authoring source 201 , a transmitting source 202 , and a plurality of terminals 203 and 204 for receiving module descriptors.
  • FIG. 3 shows in more detail how information regarding different module versions may be maintained in a table T and transmitted to a plurality of terminals, each of which maintains an internal table describing its compatibility requirements.
  • FIG. 4 shows various steps which may be carried out in each terminal to download the latest version of an operating system into a terminal upon boot-up.
  • FIG. 5 shows various steps which may be carried out in each terminal to download a compatible module into the terminal using the transmitted descriptors.
  • FIG. 1 shows a block diagram of a home communication terminal (HCT) which may be used to practice various principles of the present invention.
  • the HCT may include a CPU card 100 , graphics card 101 , decoder card 102 , display panel and key pad 103 , main processing board 104 , front end 105 , tuning section 106 , and audio section 107 . It is contemplated that the inventive principles may be practiced using any suitable CPU 100 a such as a PowerPC or Motorola 68000 series, with suitable EPROM 100 c and RAM 100 b.
  • any particular HCT may comprise a variety of hardware components, but different HCTs may be equipped with different compatibility requirements such as memory sizes, processor types, audio capabilities, operating system versions, interfaces, and the like.
  • FIG. 2 shows a system for downloading different module versions to diverse HCTs in accordance with various aspects of the invention.
  • the system 200 includes an authoring source 201 , a transmitting source 202 such as a headend, a network N such as a cable television network, and a plurality of terminals 203 and 204 such as HCTs which are coupled to the network.
  • authoring source 201 may comprise one or more compilers, assemblers, loaders, debuggers and so forth represented by 201 c. Using these tools, a plurality of modules indicated generally by 201 a and 201 b may be generated, corresponding to different application programs, different versions of the same application program, tuning tables, program guides, other data tables, and the like.
  • module 201 a may comprise an executable video game program compatible with HCTs which include at least 500 kilobytes of memory, while module 201 b may comprise a more elaborate version of the same program which requires at least 1 megabyte of memory (for example, it may include more sophisticated graphics or provided additional colors). While it is apparent that module 201 a may operate in HCTs configured to contain either 500 kilobytes or 1 megabyte, it is also apparent that module 201 b can only operate properly in HCTs configured to contain at least 1 megabyte of memory.
  • each module 201 a and 201 b may be provided to transmitting source 202 and associated with a module identifier.
  • module 202 a is associated with a module identifier A which identifies it
  • module 202 b is associated with a module identifier B which identifies it.
  • a compatibility requirement table T comprises entries each including a module identifier M and a list of compatibility requirements C which identify compatibility interfaces and/or capabilities required in a terminal in order for that terminal to download that module.
  • module 202 a is a video game which requires 500 kilobytes of memory in an HCT
  • module 202 b is another version of the same video game which requires 1 megabyte of memory to operate (e.g., suppose it has enhanced graphics as compared to module 202 a ).
  • module 202 a may have a module identifier such as “Video Game X” (represented by A in table T) while module 202 b may have the same or a similar module identifier such as “Video Game X” (represented by B in table T).
  • Each module identifier preferably includes location information which allows the module to be located in a data stream, for example. Alternatively, the location information may be separately stored in table T as shown in FIG. 3 and described below.
  • each module identifier in table T is a list of compatibility requirements C which identifies the requirements needed to download and execute (or use) the specified module.
  • the entry for module A would include a field indicating that the module requires 500 kilobytes of memory to execute, while the entry for module B would indicate 1 megabyte in this field.
  • portions of table T are transmitted continuously from transmitting source 202 over network N to terminals 203 and 204 .
  • each terminal receives a list of all modules, their compatibility interface requirements, and the location where each module may be found (e.g., an address in a data stream such as an MPEG transport stream, or a combination of data stream ID and identification number such as packet and table identifiers within the stream).
  • Each terminal also has its own internal table which identifies its own capabilities and/or compatibility interfaces. By matching the downloadable module requirements with its own internal capabilities, each terminal can determine what version of the video game application to download and where to find it, such as the location within a data carousel or other structure.
  • the actual downloading procedure may be accomplished by selectively extracting the module from a separate channel on which transmitting source 202 continuously broadcasts all versions of all the modules in a loop, or by other means.
  • each terminal may download the correct version of software and/or data from transmitting source 202 without making a request to source 202 .
  • each terminal may include an internal table such as table 203 a in terminal 203 .
  • Table 203 may identify the manufacturer's model number of the terminal, the version number of the currently executing operating system, the amount of memory currently installed, and the current hardware configuration (for example, interface type such as Ethernet, etc.).
  • CPU RAM indicating the amount of optional CPU memory installed
  • CPU flash indicating the amount of optional CPU flash memory installed
  • MPEG RAM indicating the amount of MPEG video decoder memory installed
  • graphics RAM indicating the amount of graphics RAM installed
  • available CPU RAM the amount of available CPU memory installed, or largest loadable block
  • FIG. 3 shows in additional detail how entries in compatibility requirements table T may be configured to describe the terminal capabilities required to download each module from downloading source 302 .
  • module descriptors refers to the group of compatibility requirements associated with a particular version of a module. Compatibility requirements table T thus correlates module identifiers (and their addresses) with capabilities required to download the module. Each of the actual modules is preferably associated with a module identifier in table T, which is in turn associated with module descriptors. Other arrangements are of course possible, and the table configuration shown in FIG. 3 is not intended to be limiting. Entries could of course be combined or associated in ways other than that specifically illustrated.
  • each module can have associated therewith descriptors for a hardware manufacturer 306 , hardware model number 307 , operating system manufacturer 308 , operating system version 309 , memory capacity 310 , audio or other type of card manufacturer 311 , and audio or other type of card model number 312 .
  • location information 320 may be associated with each module to indicate the location from which the module may be downloaded (for example, a channel number with other associated parameters, an MPEG stream number, or the like).
  • the descriptors shown in FIG. 3 are intended to be exemplary and in no way limiting. More or fewer descriptors could of course be included, such as network subsystems, encoding/decoding options, encryption/decryption options, modulation techniques, data formats, and the like.
  • FIG. 3 for example, two versions of a video game application known as “Mortal Combat” are shown, each having different module descriptors.
  • a terminal In order to download the first version of “Mortal Combat”, a terminal must be compatible with hardware manufacturer A, model number greater than or equal to 1.0, must be executing an operating system manufactured by company X having a version number of 2.0 or greater, must have at least 500 kilobytes of memory, and must have an audio card manufactured by manufacturer C with a model number of 2.2 or greater. If a terminal in the system meets all these requirements, it is assured that the indicated version of the application is compatible with the terminal. If, however, any one of the capabilities in the list fails to match the terminal's capabilities, the application is presumed to be not compatible with the terminal.
  • the second entry also indicated as “Mortal Combat”, has similar compatibility requirements, but requires a higher hardware model number (2.0 or greater), a higher operating system version (3.1 or greater), at least 1 megabyte of memory, and an audio card within a range of audio cards manufactured by C (e.g., models 2.2 through 3.0).
  • table T three versions of a video game entitled “Asteroids” are described in table T, including versions which can operate across different terminal hardware manufacturers, operating system manufacturers, and audio cards. Two versions of a chess video game are also shown, neither of which requires an audio card (note “Don't Care” entries). The final entry depicts a data table which can be downloaded by any terminal which includes an operating system manufactured by X; no other capabilities or interfaces are required.
  • One or more fields may be included in table T which specify how the comparison between module descriptors and terminal capabilities is to be carried out.
  • a field can be included which, when set to a first value, indicates that the model and version number of the terminal must exactly match the model number and version number of the module; when set to a second value, indicates that the model numbers must match exactly but that the module operating system version number must be equal to or greater than the version number of the terminal; when set to a third value, indicates that both the model number and operating system version numbers of the terminal must be equal to or greater than the model number and version number of the module.
  • the comparison qualifiers are illustrated as being combined with the compatibility requirement values in each field.
  • a plurality of modules may be concatenated into a data stream 305 which is continuously transmitted on a “carousel” type channel, such as an out-of-band channel or an in-band channel (indeed, the same transmission channel could be used to transmit the descriptor table T).
  • a “carousel” type channel such as an out-of-band channel or an in-band channel (indeed, the same transmission channel could be used to transmit the descriptor table T).
  • Other techniques of transmitting data containing the downloadable modules are of course possible, and the invention is not intended to be limited in this respect.
  • each terminal includes an internal table such as table 313 a including entries which at least overlap with entries in table T.
  • a computer program or other mechanism 313 b receives table T from the transmitting source 302 and compares entries in table T with the entry in the internal table for that terminal in order to select a compatible software module to be downloaded.
  • Each terminal may extract information from table T at boot-up time, or upon initiation of a particular program, or at any other time. For example, each terminal may operate mechanism 313 b upon boot-up to determine whether a newer version of the operating system is available for downloading. (In such a case, the operating system version entry in table T would not be compared, since the module to be downloaded is the operating system itself, and, as such, it does not require the previously loaded operating system for compatibility with the terminal).
  • terminal 313 includes an internal table 313 a which indicates that the terminal is presently configured as being manufactured by hardware manufacturer A, model 1.0, and executing an operating system manufactured by X, version 2.0. Additionally, terminal 313 includes 1 megabyte of memory and audio card model 2.2 manufactured by manufacturer C. Terminals 314 through 316 include similar tables. Note that terminal 316 does not have an audio card.
  • download mechanism 313 b extracts descriptor table T from the network and locates the two versions of the requested “Mortal Combat” video game in the table. By comparing the two version descriptors with the compatibility requirements of terminal 313 , terminal 313 determines that only the first version of the game can be downloaded, because the second version requires a hardware model number of 2.0 or greater, which is not compatible with the entries in table 313 a.
  • the terminal entry in table 313 a satisfies the criteria described in the first entry of table T, it can and does download that version of “Mortal Combat” from module data stream 305 , without requiring any requests to downloading source 302 .
  • Terminal 313 can extract the proper version of “Mortal Combat” by virtue of an association between its module name in table T with an address in data stream 305 .
  • terminal 315 needs to download the video game “Asteroids”.
  • the first version cannot be downloaded by terminal 315 because it is only compatible with terminals manufactured by manufacturer A.
  • either of the second two versions would be compatible with the requirements included in table 315 a, the only difference being that the second version requires only 500 kilobytes to be downloaded, while the third version requires 1 megabyte.
  • terminal mechanism 315 b may select the “best” version, which would presumably correspond to the 1 megabyte version (i.e., it is the version having the highest degree of match).
  • any of terminals 313 , 314 and 315 may download the data table (last entry in table T), but that terminal 316 , which executes an operating system manufactured by manufacturer Z, is not compatible with the data table.
  • each terminal can select for itself—without communicating to downloading source 302 —which of several versions of a software or data module can be downloaded into that terminal.
  • FIG. 4 shows steps which may be executed by each terminal in order to automatically upgrade the operating system to the latest version upon boot-up or other initialization sequence.
  • the terminal boots up or otherwise commences an initialization sequence. This could occur upon power-up, for example, or upon receiving a command from the network.
  • step 402 the terminal receives the module descriptor table from the network from a known channel and location.
  • step 403 the terminal compares all the operating system modules in the received descriptor table which are compatible with the particular hardware configuration of the terminal (e.g., it matches terminal manufacturer, model, operating system manufacturer, and memory). Based on the comparison between the operating system modules in the received table and the hardware parameters in its internal configuration table, the terminal finds the highest operating system version number which is compatible with the terminal's hardware parameters.
  • step 404 a comparison is made between the highest compatible operating system version number available in the received descriptor table and the currently executing operating system version number in the terminal. If the highest available operating system version is less than or equal to the version currently executing in the terminal, then in step 405 the terminal continues its normal processing. However, if a newer (higher) version of the operating system is available, in step 406 the terminal downloads the newer version from the download data stream, and reboots the terminal in step 407 to install the newer version.
  • the downloading in step 406 can be accomplished by tuning to a “carousel” channel and locating the newest operating system version according to its address in the data channel (the module address can be extracted from the descriptor table).
  • step 404 instead of determining whether a newer version of the operating system is available, the terminal could instead make a determination that the currently loaded operating system is corrupted or otherwise not suitable. In such a circumstance, the terminal could automatically obtain the latest version of the operating system by locating and downloading it from the data stream. Instructions to execute the steps shown in FIG. 4 could be installed into ROM to prevent erasure or corruption.
  • FIG. 5 shows how a terminal may download an application module or data module in response to selecting an application, whether by user input or other means (e.g., the operating system may select a program or data table for a purpose).
  • an application module such as a video game, a stock market tool, a billing program, or the like
  • a data module such as a tuning table, operating system parameter table, screen icon or the like
  • the terminal extracts the module descriptor table from the network at a known channel and location.
  • the terminal finds the “best” version of the selected application or data module in the received descriptor table which is compatible with the terminal's capabilities and interfaces. This may include checking all of the fields shown in FIG. 3, a subset of these fields, or additional fields.
  • step 504 a comparison is (optionally) made between the “best” located version of the selected module and any currently loaded version (if any) of the module in the terminal. If a currently loaded version of the module is already the “best” version for the terminal, then in step 505 the currently loaded version is executed. However, if a newer version (or a version not currently loaded) is available, then in step 506 the specified version of the module is downloaded from the network. Thereafter, in step 507 , the application is executed or the downloaded data module is accessed.
  • step 501 instead of an application or data module being “selected”, the terminal may perform an equivalent step by terminating an existing application.
  • the terminal may perform an equivalent step by terminating an existing application.
  • the terminal could automatically execute the steps shown in FIG. 5 to determine if a newer version of the navigator program were available. Such a case might occur where new features were added to a main menu, for example.
  • the terminal could free up memory areas if needed before downloading newer modules.
  • the module descriptors and download data stream could be transmitted periodically, continuously, or aperiodically, using either in-band techniques, out-of-band techniques, or over a combination of channels.
  • Either the module descriptor table, the downloaded modules, or both, could be compressed, encoded, encrypted, or otherwise manipulated prior to transmission.
  • different modules to be downloaded could be transmitted over different channels, and the descriptor table could include an identifier indicating where the downloadable module could be found.
  • An authentication function can be provided in each terminal to ensure that only authenticated modules are downloaded into the terminal.
  • the term “network” is intended to include satellite transmission networks, radio transmission means, and other communication media. It is, therefore, to be understood that within the scope of the appended claims the invention may be practiced otherwise than as specifically described.

Abstract

A system for downloading different versions of software or data modules into a plurality of terminals having different compatibility interfaces includes an authoring component for generating the different module versions, a downloading source including a descriptor table which associates each module version with a list of compatibility requirements needed to download the module, and a plurality of terminals coupled to the downloading source. The downloading source transmits the descriptor table to each terminal and also continuously transmits the modules over the network. Each terminal extracts the descriptor table and, based on a match between an entry in the descriptor table and an internally stored table, determines which version of a particular module should be downloaded. The system avoids the need for two-way communication between each terminal and the downloading source.

Description

    BACKGROUND OF THE INVENTION
  • 1. Technical Field [0001]
  • This invention relates generally to systems for downloading software and data modules into terminals over a network, such as home communication terminals (HCTs) in a cable television network. More specifically, the invention provides an apparatus and method for selectively downloading different versions of software modules and data modules to a variety of potentially different terminal types, where the differences may be due to variations in hardware, operating system versions, or other parameters. [0002]
  • 2. Related Information [0003]
  • Systems capable of downloading computer software into terminals such as HCTs in a subscription television system are well known. For example, U.S. Pat. No. 5,440,632, entitled “Reprogrammable Subscriber Terminal”, describes a system including means for reprogramming subscriber terminals by downloading code in a series of transactions. Such systems can be used to add new applications, or to replace outdated or faulty software. Difficulties and inefficiencies may arise, however, in networks having different types of terminals which require different versions of software. [0004]
  • For example, in a cable television network, some subscribers may have the newest HCT model with fast processors, special peripherals and extra memory, while other subscribers may have older HCTs which do not have such interfaces or capabilities. Additionally, some HCTs may be loaded with the latest version of an operating system, while others may be compatible only with older versions of the operating system. Similarly, HCTs from different suppliers with different designs generally require different versions of software. In such systems, multiple versions of software and data must be downloaded. Thus arises a problem in determining which versions of particular modules should be downloaded into each terminal, and providing an efficient scheme for doing so. [0005]
  • One possible method for solving the aforementioned problem is to provide each terminal with means for requesting only a particular version of a module from the headend. Unfortunately, such a scheme requires two-way communication between the terminals and the headend, which may be expensive and inefficient to provide, particularly since each terminal would require, at least temporarily, a dedicated channel for transmitting the requested version of the software or data. [0006]
  • Other downloading schemes involving client-server paradigms in a network environment are also known. For example, in a network comprising a server and a plurality of clients, any particular client on the network requiring a new or updated software module can download such software by making a request to the server, which provides the requested version over the network. However, as noted above, in networks such as subscription television systems, such two-way communication may be expensive and difficult to provide, and may result in increased complexity and reduced download performance. Furthermore, it may be difficult to coordinate version numbers among different software applications, complicating the task of determining which versions of complementary software should be downloaded into a particular terminal. [0007]
  • Finally, systems which require communication between the downloading source and each terminal impose additional processing requirements upon the downloading source and on the terminal. In a network comprising hundreds of thousands of terminals and a single downloading source, such added processing can slow down the system unacceptably. [0008]
  • The above-described problems will likely worsen as the variety of HCTs expands to provide consumers with a wider range of terminals of varying capabilities and prices, and from multiple suppliers with different designs. [0009]
  • Accordingly, in order to overcome the above and other difficulties, a means of selectively downloading software and data modules without requiring two-way client-server communication is desirable. To date, no such suitable approach has been developed. [0010]
  • SUMMARY OF THE INVENTION
  • The present invention solves the aforementioned problems by providing a system and method for selectively downloading software and data modules to terminals in a network without requiring communication between the terminal and the downloading source. The term “modules” as used herein includes application programs, subparts of programs, operating systems, “patches”, data tables, groups of interpretable instructions, and the like. [0011]
  • According to various aspects of the invention, an authoring source generates a plurality of module versions according to different terminal configurations, operating system versions, or other hardware parameters such as memory size. Each different module version has accompanying descriptor information which identifies the compatibility requirements and/or interfaces needed to support the module. A transmitting (downloading) source such as a headend facility transmits, to a plurality of terminals, descriptors which correlate each module version with its required interfaces. Each terminal receives the. transmitted descriptors and, by comparing the descriptors with an internal configuration table, selects the “best” module version for that terminal. The actual module may be downloaded in a “carousel” channel which continuously broadcasts all the various versions of modules in a loop, or it may be downloaded by other means such as an in-band channel. [0012]
  • According to another aspect of the invention, each terminal may automatically extract the descriptors upon boot-up to automatically find the most recent version of the operating system to be downloaded for the terminal. [0013]
  • According to yet another aspect of the invention, each terminal may extract the descriptors after a user selects an application program. [0014]
  • Other features and advantages will become apparent through the following detailed description, the drawings, and the appended claims. [0015]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 shows one possible configuration for a home communication terminal (HCT) on which various principles of the present invention may be practiced. [0016]
  • FIG. 2 depicts a system employing various principles of the invention including an [0017] authoring source 201, a transmitting source 202, and a plurality of terminals 203 and 204 for receiving module descriptors.
  • FIG. 3 shows in more detail how information regarding different module versions may be maintained in a table T and transmitted to a plurality of terminals, each of which maintains an internal table describing its compatibility requirements. [0018]
  • FIG. 4 shows various steps which may be carried out in each terminal to download the latest version of an operating system into a terminal upon boot-up. [0019]
  • FIG. 5 shows various steps which may be carried out in each terminal to download a compatible module into the terminal using the transmitted descriptors.[0020]
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • FIG. 1 shows a block diagram of a home communication terminal (HCT) which may be used to practice various principles of the present invention. The HCT may include a [0021] CPU card 100, graphics card 101, decoder card 102, display panel and key pad 103, main processing board 104, front end 105, tuning section 106, and audio section 107. It is contemplated that the inventive principles may be practiced using any suitable CPU 100 a such as a PowerPC or Motorola 68000 series, with suitable EPROM 100 c and RAM 100 b. It is also contemplated that application programs executing on CPU 100 a can interact with various peripherals such as a mouse, game controllers, keypads, network interfaces, and the like, as is well known in the art. In summary, any particular HCT may comprise a variety of hardware components, but different HCTs may be equipped with different compatibility requirements such as memory sizes, processor types, audio capabilities, operating system versions, interfaces, and the like.
  • FIG. 2 shows a system for downloading different module versions to diverse HCTs in accordance with various aspects of the invention. In FIG. 2, the [0022] system 200 includes an authoring source 201, a transmitting source 202 such as a headend, a network N such as a cable television network, and a plurality of terminals 203 and 204 such as HCTs which are coupled to the network. In accordance with various aspects of the invention, authoring source 201 may comprise one or more compilers, assemblers, loaders, debuggers and so forth represented by 201 c. Using these tools, a plurality of modules indicated generally by 201 a and 201 b may be generated, corresponding to different application programs, different versions of the same application program, tuning tables, program guides, other data tables, and the like.
  • As one example, [0023] module 201 a may comprise an executable video game program compatible with HCTs which include at least 500 kilobytes of memory, while module 201 b may comprise a more elaborate version of the same program which requires at least 1 megabyte of memory (for example, it may include more sophisticated graphics or provided additional colors). While it is apparent that module 201 a may operate in HCTs configured to contain either 500 kilobytes or 1 megabyte, it is also apparent that module 201 b can only operate properly in HCTs configured to contain at least 1 megabyte of memory.
  • In accordance with various embodiments of the invention, each [0024] module 201 a and 201 b may be provided to transmitting source 202 and associated with a module identifier. For example, module 202 a is associated with a module identifier A which identifies it, while module 202 b is associated with a module identifier B which identifies it. A compatibility requirement table T comprises entries each including a module identifier M and a list of compatibility requirements C which identify compatibility interfaces and/or capabilities required in a terminal in order for that terminal to download that module.
  • Continuing with the example in FIG. 2, suppose that [0025] module 202 a is a video game which requires 500 kilobytes of memory in an HCT, while module 202 b is another version of the same video game which requires 1 megabyte of memory to operate (e.g., suppose it has enhanced graphics as compared to module 202 a). Thus, module 202 a may have a module identifier such as “Video Game X” (represented by A in table T) while module 202 b may have the same or a similar module identifier such as “Video Game X” (represented by B in table T). Each module identifier preferably includes location information which allows the module to be located in a data stream, for example. Alternatively, the location information may be separately stored in table T as shown in FIG. 3 and described below.
  • Associated with each module identifier in table T is a list of compatibility requirements C which identifies the requirements needed to download and execute (or use) the specified module. For example, the entry for module A would include a field indicating that the module requires 500 kilobytes of memory to execute, while the entry for module B would indicate 1 megabyte in this field. [0026]
  • In accordance with various embodiments of the invention, portions of table T are transmitted continuously from transmitting [0027] source 202 over network N to terminals 203 and 204. Thus, each terminal receives a list of all modules, their compatibility interface requirements, and the location where each module may be found (e.g., an address in a data stream such as an MPEG transport stream, or a combination of data stream ID and identification number such as packet and table identifiers within the stream). Each terminal also has its own internal table which identifies its own capabilities and/or compatibility interfaces. By matching the downloadable module requirements with its own internal capabilities, each terminal can determine what version of the video game application to download and where to find it, such as the location within a data carousel or other structure. The actual downloading procedure may be accomplished by selectively extracting the module from a separate channel on which transmitting source 202 continuously broadcasts all versions of all the modules in a loop, or by other means. In accordance with the foregoing, each terminal may download the correct version of software and/or data from transmitting source 202 without making a request to source 202.
  • As shown in FIG. 2, each terminal may include an internal table such as table [0028] 203 a in terminal 203. Table 203 may identify the manufacturer's model number of the terminal, the version number of the currently executing operating system, the amount of memory currently installed, and the current hardware configuration (for example, interface type such as Ethernet, etc.).
  • Other fields may also be included, such as CPU RAM (indicating the amount of optional CPU memory installed), CPU flash (indicating the amount of optional CPU flash memory installed), MPEG RAM (indicating the amount of MPEG video decoder memory installed), graphics RAM (indicating the amount of graphics RAM installed), available CPU RAM (the amount of available CPU memory installed, or largest loadable block), or the like. [0029]
  • If a terminal is upgraded to include additional memory or other capabilities, the terminal's internal table would be correspondingly updated. [0030]
  • FIG. 3 shows in additional detail how entries in compatibility requirements table T may be configured to describe the terminal capabilities required to download each module from downloading [0031] source 302. The term “module descriptors” as used herein refers to the group of compatibility requirements associated with a particular version of a module. Compatibility requirements table T thus correlates module identifiers (and their addresses) with capabilities required to download the module. Each of the actual modules is preferably associated with a module identifier in table T, which is in turn associated with module descriptors. Other arrangements are of course possible, and the table configuration shown in FIG. 3 is not intended to be limiting. Entries could of course be combined or associated in ways other than that specifically illustrated.
  • As shown in FIG. 3, each module can have associated therewith descriptors for a [0032] hardware manufacturer 306, hardware model number 307, operating system manufacturer 308, operating system version 309, memory capacity 310, audio or other type of card manufacturer 311, and audio or other type of card model number 312. Additionally, location information 320 may be associated with each module to indicate the location from which the module may be downloaded (for example, a channel number with other associated parameters, an MPEG stream number, or the like). The descriptors shown in FIG. 3 are intended to be exemplary and in no way limiting. More or fewer descriptors could of course be included, such as network subsystems, encoding/decoding options, encryption/decryption options, modulation techniques, data formats, and the like.
  • As shown in FIG. 3, for example, two versions of a video game application known as “Mortal Combat” are shown, each having different module descriptors. In order to download the first version of “Mortal Combat”, a terminal must be compatible with hardware manufacturer A, model number greater than or equal to 1.0, must be executing an operating system manufactured by company X having a version number of 2.0 or greater, must have at least 500 kilobytes of memory, and must have an audio card manufactured by manufacturer C with a model number of 2.2 or greater. If a terminal in the system meets all these requirements, it is assured that the indicated version of the application is compatible with the terminal. If, however, any one of the capabilities in the list fails to match the terminal's capabilities, the application is presumed to be not compatible with the terminal. [0033]
  • The second entry, also indicated as “Mortal Combat”, has similar compatibility requirements, but requires a higher hardware model number (2.0 or greater), a higher operating system version (3.1 or greater), at least 1 megabyte of memory, and an audio card within a range of audio cards manufactured by C (e.g., models 2.2 through 3.0). [0034]
  • Similarly, three versions of a video game entitled “Asteroids” are described in table T, including versions which can operate across different terminal hardware manufacturers, operating system manufacturers, and audio cards. Two versions of a chess video game are also shown, neither of which requires an audio card (note “Don't Care” entries). The final entry depicts a data table which can be downloaded by any terminal which includes an operating system manufactured by X; no other capabilities or interfaces are required. [0035]
  • One or more fields may be included in table T which specify how the comparison between module descriptors and terminal capabilities is to be carried out. For example, a field can be included which, when set to a first value, indicates that the model and version number of the terminal must exactly match the model number and version number of the module; when set to a second value, indicates that the model numbers must match exactly but that the module operating system version number must be equal to or greater than the version number of the terminal; when set to a third value, indicates that both the model number and operating system version numbers of the terminal must be equal to or greater than the model number and version number of the module. Other variations are of course possible. As shown in FIG. 3, for example, the comparison qualifiers are illustrated as being combined with the compatibility requirement values in each field. [0036]
  • A plurality of modules may be concatenated into a [0037] data stream 305 which is continuously transmitted on a “carousel” type channel, such as an out-of-band channel or an in-band channel (indeed, the same transmission channel could be used to transmit the descriptor table T). Other techniques of transmitting data containing the downloadable modules are of course possible, and the invention is not intended to be limited in this respect.
  • Four [0038] terminals 313 through 316 are illustrated in FIG. 3 as being coupled to network N. In accordance with various aspects of the invention, table T may be transmitted continuously over network N to all terminals, which receive the table and extract information therefrom to determine which modules are compatible with the terminal. In order to accomplish this, each terminal includes an internal table such as table 313 a including entries which at least overlap with entries in table T. A computer program or other mechanism 313 b receives table T from the transmitting source 302 and compares entries in table T with the entry in the internal table for that terminal in order to select a compatible software module to be downloaded.
  • Each terminal may extract information from table T at boot-up time, or upon initiation of a particular program, or at any other time. For example, each terminal may operate [0039] mechanism 313 b upon boot-up to determine whether a newer version of the operating system is available for downloading. (In such a case, the operating system version entry in table T would not be compared, since the module to be downloaded is the operating system itself, and, as such, it does not require the previously loaded operating system for compatibility with the terminal).
  • As depicted in FIG. 3, [0040] terminal 313 includes an internal table 313 a which indicates that the terminal is presently configured as being manufactured by hardware manufacturer A, model 1.0, and executing an operating system manufactured by X, version 2.0. Additionally, terminal 313 includes 1 megabyte of memory and audio card model 2.2 manufactured by manufacturer C. Terminals 314 through 316 include similar tables. Note that terminal 316 does not have an audio card.
  • Suppose that the user of [0041] terminal 313 selects the video game “Mortal Combat”, which is not currently resident in terminal 313. In accordance with the invention, download mechanism 313 b extracts descriptor table T from the network and locates the two versions of the requested “Mortal Combat” video game in the table. By comparing the two version descriptors with the compatibility requirements of terminal 313, terminal 313 determines that only the first version of the game can be downloaded, because the second version requires a hardware model number of 2.0 or greater, which is not compatible with the entries in table 313 a. Accordingly, because the terminal entry in table 313 a satisfies the criteria described in the first entry of table T, it can and does download that version of “Mortal Combat” from module data stream 305, without requiring any requests to downloading source 302. Thus, no communication is required between terminal 313 and downloading source 302 to identify and coordinate the downloading of the correct version of a video game. Terminal 313 can extract the proper version of “Mortal Combat” by virtue of an association between its module name in table T with an address in data stream 305.
  • As another example, suppose that terminal [0042] 315 needs to download the video game “Asteroids”. Of the three versions of “Asteroids” included in table T, the first version cannot be downloaded by terminal 315 because it is only compatible with terminals manufactured by manufacturer A. However, either of the second two versions would be compatible with the requirements included in table 315 a, the only difference being that the second version requires only 500 kilobytes to be downloaded, while the third version requires 1 megabyte. In accordance with various aspects of the invention, terminal mechanism 315 b may select the “best” version, which would presumably correspond to the 1 megabyte version (i.e., it is the version having the highest degree of match).
  • As yet another example, note that any of [0043] terminals 313, 314 and 315 may download the data table (last entry in table T), but that terminal 316, which executes an operating system manufactured by manufacturer Z, is not compatible with the data table. Thus, it is apparent that each terminal can select for itself—without communicating to downloading source 302—which of several versions of a software or data module can be downloaded into that terminal.
  • FIG. 4 shows steps which may be executed by each terminal in order to automatically upgrade the operating system to the latest version upon boot-up or other initialization sequence. Beginning in [0044] step 401, the terminal boots up or otherwise commences an initialization sequence. This could occur upon power-up, for example, or upon receiving a command from the network.
  • In [0045] step 402, the terminal receives the module descriptor table from the network from a known channel and location. In step 403, the terminal compares all the operating system modules in the received descriptor table which are compatible with the particular hardware configuration of the terminal (e.g., it matches terminal manufacturer, model, operating system manufacturer, and memory). Based on the comparison between the operating system modules in the received table and the hardware parameters in its internal configuration table, the terminal finds the highest operating system version number which is compatible with the terminal's hardware parameters.
  • In [0046] step 404, a comparison is made between the highest compatible operating system version number available in the received descriptor table and the currently executing operating system version number in the terminal. If the highest available operating system version is less than or equal to the version currently executing in the terminal, then in step 405 the terminal continues its normal processing. However, if a newer (higher) version of the operating system is available, in step 406 the terminal downloads the newer version from the download data stream, and reboots the terminal in step 407 to install the newer version. The downloading in step 406 can be accomplished by tuning to a “carousel” channel and locating the newest operating system version according to its address in the data channel (the module address can be extracted from the descriptor table).
  • In [0047] step 404, instead of determining whether a newer version of the operating system is available, the terminal could instead make a determination that the currently loaded operating system is corrupted or otherwise not suitable. In such a circumstance, the terminal could automatically obtain the latest version of the operating system by locating and downloading it from the data stream. Instructions to execute the steps shown in FIG. 4 could be installed into ROM to prevent erasure or corruption.
  • FIG. 5 shows how a terminal may download an application module or data module in response to selecting an application, whether by user input or other means (e.g., the operating system may select a program or data table for a purpose). Beginning in [0048] step 501, an application module (such as a video game, a stock market tool, a billing program, or the like) or a data module (such as a tuning table, operating system parameter table, screen icon or the like) is selected. In step 502, the terminal extracts the module descriptor table from the network at a known channel and location. In step 503, the terminal finds the “best” version of the selected application or data module in the received descriptor table which is compatible with the terminal's capabilities and interfaces. This may include checking all of the fields shown in FIG. 3, a subset of these fields, or additional fields.
  • In [0049] step 504, a comparison is (optionally) made between the “best” located version of the selected module and any currently loaded version (if any) of the module in the terminal. If a currently loaded version of the module is already the “best” version for the terminal, then in step 505 the currently loaded version is executed. However, if a newer version (or a version not currently loaded) is available, then in step 506 the specified version of the module is downloaded from the network. Thereafter, in step 507, the application is executed or the downloaded data module is accessed.
  • In [0050] step 501, instead of an application or data module being “selected”, the terminal may perform an equivalent step by terminating an existing application. Thus, for example, if a “navigator” program is normally executed by the terminal to allow a user to select from among a group of applications, then at the completion of any particular application, the terminal could automatically execute the steps shown in FIG. 5 to determine if a newer version of the navigator program were available. Such a case might occur where new features were added to a main menu, for example. Additionally, although not explicitly shown in FIG. 5, the terminal could free up memory areas if needed before downloading newer modules.
  • It is apparent that many modifications and variations of the present invention are possible, and references to specific values are by example only. As one example, the module descriptors and download data stream could be transmitted periodically, continuously, or aperiodically, using either in-band techniques, out-of-band techniques, or over a combination of channels. Either the module descriptor table, the downloaded modules, or both, could be compressed, encoded, encrypted, or otherwise manipulated prior to transmission. Moreover, different modules to be downloaded could be transmitted over different channels, and the descriptor table could include an identifier indicating where the downloadable module could be found. An authentication function can be provided in each terminal to ensure that only authenticated modules are downloaded into the terminal. Finally, although the invention has application to cable television networks, the term “network” is intended to include satellite transmission networks, radio transmission means, and other communication media. It is, therefore, to be understood that within the scope of the appended claims the invention may be practiced otherwise than as specifically described. [0051]

Claims (23)

1. A system for downloading information, comprising:
a downloading source comprising a plurality of different modules each corresponding to a different set of terminal compatibility requirements which must be satisfied in order for the module to be downloaded by a terminal, a module descriptor table which associates each of the plurality of different modules with a set of descriptors which describe the different set of compatibility requirements, and means for transmitting the module descriptor table and the plurality of different modules over a network; and
a plurality of terminals each configured to receive the module descriptor table and the plurality of different modules transmitted from the downloading source, each terminal comprising means for extracting one or more sets of descriptors from the module descriptor table, finding a match between the one or more sets of descriptors and a terminal table which defines compatibility interfaces of the terminal, and downloading one of the plurality of modules associated with the matched set of descriptors.
2. The system of claim 1, wherein at least one of the plurality of different modules is compatible with one of the plurality of terminals but is not compatible with the others.
3. The system of claim 1, wherein each of the plurality of different modules comprises a different version of a common application program which is to be executed in one or more of the plurality of terminals.
4. The system of claim 1, wherein each of the plurality of different modules comprises a different version of a common operating system which is to be executed in one or more of the plurality of terminals.
5. The system of claim 1, wherein the transmitting source comprises a headend in a cable television network including means for broadcasting the module descriptor table over the cable television network, and wherein each of the plurality of terminals comprises a home communications terminal (HCT) coupled to the cable television network.
6. The system of claim 1, wherein the module descriptor table comprises a plurality of comparison indicators, each comparison indicator comprising an operator selected from the set consisting of “equal to”, “greater than or equal to”, and “don't care, and wherein each terminal finds the match by applying one of the comparison indicators to one of the plurality of descriptors and to an entry in the terminal table.
7. The system of claim 1, wherein one of the descriptors in the module descriptor table indicates a terminal hardware manufacturer in relation to an entry in the terminal table of each of the plurality of terminals.
8. The system of claim 1, wherein one of the descriptors in the module descriptor table indicates an operating system version number in relation to an entry in the terminal table of each of the plurality of terminals.
9. The system of claim 1, wherein one of the descriptors in the module descriptor table indicates an amount of memory in relation to an entry in the terminal table of each of the plurality of terminals.
10. The system of claim 1, wherein at least one of the plurality of terminals extracts the transmitted module descriptor table after booting up and, responsive to a determination that a more recent version of an operating system is included in the transmitted module descriptor table, downloads one of the plurality of modules corresponding to the more recent version of the operating system.
11. The system of claim 1, wherein the terminal table comprises a first entry indicating the hardware model number of the terminal and a second entry indicating the operating system version number of the terminal, and wherein each of the plurality of terminals compares descriptors from the transmitted module descriptor table with the first and second entries to find the match.
12. The system of claim 1, wherein each of the plurality of terminals extracts one or more sets of descriptors from the module descriptor table in response to selection of an application program at the terminal.
13. A terminal compatible with a broadcast network, comprising:
a terminal table comprising one or more fields which define compatibility interfaces of the terminal;
means for receiving from the network a table of entries each of which associates one of a plurality of downloadable modules with a plurality of terminal compatibility interfaces, comparing one of the fields in the terminal table with one of the entries in the table received from the network and, responsive to a determination that a match exists, downloading the one downloadable module corresponding to the matched entry.
14. The terminal according to claim 13, wherein the one or more fields of the terminal table comprise a hardware manufacturer model number and an operating system version number.
15. The terminal according to claim 13, wherein the one or more fields of the terminal table comprise a memory capacity of the terminal.
16. The terminal according to claim 13, wherein the terminal comprises a home communication terminal (HCT) which is compatible with a subscription television network, and wherein the terminal downloads the one downloadable module over the subscription television network.
17. The terminal according to claim 13, wherein the table of entries comprises a plurality of comparison indicators, each comparison indicator comprising an operator selected from the set consisting of “equal to”, “greater than”, and “don't care”, and wherein the terminal finds the match by applying one of the comparison indicators to one of the fields in the terminal table and to one of the entries in the received table.
18. The terminal according to claim 13, wherein the terminal receives the transmitted table after booting up and, responsive to a determination that a more recent version of an operating system is included in the received table, downloads one of the plurality of modules corresponding to the more recent version of the operating system.
19. The terminal according to claim 13, wherein the downloaded module comprises an application program which is subsequently executed in the terminal.
20. The terminal according to claim 13, wherein the terminal downloads the one downloadable module corresponding to the matched entry from a location determined by data contained in the table of entries received from the network.
21. A method of downloading a module across a network, comprising the steps of:
(1) providing a table which associates each of a plurality of downloadable modules with a plurality of compatibility descriptors, each compatibility descriptor indicating a terminal compatibility required in order to download the associated downloadable module;
(2) transmitting the table to a plurality of terminals in the network;
(3) receiving the transmitted table in one of the plurality of terminals; and
(4) comparing an entry in the table received in step (3) with a terminal table identifying terminal compatibilities and, responsive to a determination that a module can be downloaded based on the comparison, downloading the module over the network.
22. The method of claim 21, wherein step (4) comprises the step of comparing an entry in the received table with a hardware identifier in the terminal table and with a software identifier in the terminal table.
23. The method of claim 21, wherein step (4) comprises the step of downloading the module from a location determined by data contained in the table transmitted in step (2).
US10/253,377 1996-02-14 2002-09-24 Multicast downloading of software and data modules and their compatibility requirements Abandoned US20030028899A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US10/253,377 US20030028899A1 (en) 1996-02-14 2002-09-24 Multicast downloading of software and data modules and their compatibility requirements

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/601,455 US5951639A (en) 1996-02-14 1996-02-14 Multicast downloading of software and data modules and their compatibility requirements
US09/305,179 US6487723B1 (en) 1996-02-14 1999-05-04 Multicast downloading of software and data modules and their compatibility requirements
US10/253,377 US20030028899A1 (en) 1996-02-14 2002-09-24 Multicast downloading of software and data modules and their compatibility requirements

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US09/305,179 Continuation US6487723B1 (en) 1996-02-14 1999-05-04 Multicast downloading of software and data modules and their compatibility requirements

Publications (1)

Publication Number Publication Date
US20030028899A1 true US20030028899A1 (en) 2003-02-06

Family

ID=24407546

Family Applications (3)

Application Number Title Priority Date Filing Date
US08/601,455 Expired - Lifetime US5951639A (en) 1996-02-14 1996-02-14 Multicast downloading of software and data modules and their compatibility requirements
US09/305,179 Expired - Lifetime US6487723B1 (en) 1996-02-14 1999-05-04 Multicast downloading of software and data modules and their compatibility requirements
US10/253,377 Abandoned US20030028899A1 (en) 1996-02-14 2002-09-24 Multicast downloading of software and data modules and their compatibility requirements

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US08/601,455 Expired - Lifetime US5951639A (en) 1996-02-14 1996-02-14 Multicast downloading of software and data modules and their compatibility requirements
US09/305,179 Expired - Lifetime US6487723B1 (en) 1996-02-14 1999-05-04 Multicast downloading of software and data modules and their compatibility requirements

Country Status (6)

Country Link
US (3) US5951639A (en)
EP (1) EP0880857B1 (en)
KR (1) KR19990082617A (en)
AU (1) AU1693597A (en)
DE (1) DE69712320T2 (en)
WO (1) WO1997030549A1 (en)

Cited By (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020104097A1 (en) * 2000-05-04 2002-08-01 Scientific-Atlanta, Inc System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US20040177368A1 (en) * 2003-03-06 2004-09-09 Wegener Communications, Inc. Apparatus and method for addressing control in a network for distributed data
US20040177385A1 (en) * 2003-03-06 2004-09-09 Yoo Jea Yong Interactive medium and method for managing additional data thereof
FR2852708A1 (en) * 2003-03-21 2004-09-24 Eprocess Computer software components providing method for use with server network, involves sending request of loading of component to server if need for component and terminal compatible with component is detected
US20050060754A1 (en) * 2003-09-17 2005-03-17 Wegener Communications, Inc. Apparatus and method for distributed control of media dissemination
US20050097061A1 (en) * 2003-10-31 2005-05-05 Shapiro William M. Offline access in a document control system
US20050097441A1 (en) * 2003-10-31 2005-05-05 Herbach Jonathan D. Distributed document version control
US20050108772A1 (en) * 2003-11-19 2005-05-19 Crinon Regis J. Generating and managing DTV application signaling based on asset definition
WO2005048102A1 (en) * 2003-11-13 2005-05-26 Benq Mobile Gmbh & Co. Ohg Device and method for software management in a heterogeneous hardware system
US20050198564A1 (en) * 2004-02-27 2005-09-08 Werner Sinzig Data processing system and method of data entry
WO2006003177A2 (en) * 2004-06-30 2006-01-12 Siemens Aktiengesellschaft Method and apparatus for downloading a plurality of images
WO2006013204A1 (en) * 2004-08-04 2006-02-09 Thomson Licensing Method for updating resident software in different appliances and appliances adapted to be updated by same
WO2006040222A2 (en) * 2004-10-12 2006-04-20 Siemens Aktiengesellschaft Method and device for embedded systems, particularly reconfigurable mobile radio terminals, with loadable software modules
EP1798640A1 (en) * 2005-12-19 2007-06-20 LG Electronics Inc. Apparatuses and methods for receiving software
US20070143812A1 (en) * 2005-12-19 2007-06-21 Hyun Sik Choi Apparatus for receiving cable broadcast data and method for transmitting/ receiving cable broadcast software
US20070180532A1 (en) * 2006-02-01 2007-08-02 Cha Sang H Broadcast receiver, data structure and method for providing diagnostic information
US20070263716A1 (en) * 2006-05-10 2007-11-15 Himax Technologies, Inc. Digital video broadcasting method for updating firmware image of digital set-top box or digital television
EP1863286A1 (en) 2006-06-01 2007-12-05 LG Electronics Inc. Broadcast receiver and method for providing diagnostic information
WO2008001216A1 (en) * 2006-06-29 2008-01-03 Falconstor, Inc. System and method for downloading information
US20080077681A1 (en) * 2006-09-26 2008-03-27 Samsung Electronics Co., Ltd. Method and apparatus for upgrading software of digital broadcasting receiver
US20080115189A1 (en) * 2006-11-10 2008-05-15 Stephane Lejeune TV-centric system
US20080134165A1 (en) * 2006-12-01 2008-06-05 Lori Anderson Methods and apparatus for software provisioning of a network device
US20090040093A1 (en) * 2007-06-06 2009-02-12 Sandor Holly Method and apparatus for using collimated and linearly polarized millimeter wave beams at brewster's angle of incidence in ground penetrating radar to detect objects located in the ground
US20090198393A1 (en) * 2008-02-06 2009-08-06 Sims Iii John Benjamin Method and apparatus for loading software aircraft parts
US20090198712A1 (en) * 2008-02-06 2009-08-06 Sims Iii John Benjamin Metadata for software aircraft parts
US20100146553A1 (en) * 2008-12-05 2010-06-10 Qualcomm Incorporated Enhanced method and apparatus for enhancing support for service delivery
US20110072423A1 (en) * 2009-09-18 2011-03-24 Yamaha Corporation Firmware update apparatus and program
CN102111429A (en) * 2009-12-28 2011-06-29 日立民用电子株式会社 Content distribution method and content reception device
US20110158606A1 (en) * 2009-12-31 2011-06-30 Lin Jason T Storage Device and Method for Resuming Playback of Content
US7995758B1 (en) 2004-11-30 2011-08-09 Adobe Systems Incorporated Family of encryption keys
US8000343B1 (en) * 1999-08-18 2011-08-16 Fujitsu, Limited Communication device, and method of communication between communication devices and medium thereof
US20110231150A1 (en) * 2009-06-10 2011-09-22 The Boeing Company Difference Frequency Detection with Range Measurement
US8054212B1 (en) 2009-03-27 2011-11-08 The Boeing Company Multi-band receiver using harmonic synchronous detection
US8108672B1 (en) * 2003-10-31 2012-01-31 Adobe Systems Incorporated Transparent authentication process integration
US8289201B2 (en) 2007-06-06 2012-10-16 The Boeing Company Method and apparatus for using non-linear ground penetrating radar to detect objects located in the ground
US8299924B2 (en) 2007-06-06 2012-10-30 The Boeing Company Method and apparatus for locating objects using radio frequency identification
US8832047B2 (en) 2005-07-27 2014-09-09 Adobe Systems Incorporated Distributed document version control
US8903669B1 (en) 2009-03-27 2014-12-02 The Boeing Company Multi-band receiver using harmonic synchronous detection
WO2017210175A1 (en) * 2016-06-03 2017-12-07 Ebay Inc. Optimization of user interface data transmission
US9942124B2 (en) 2011-06-28 2018-04-10 Time Warner Cable Enterprises Llc Apparatus and methods for automated device testing in content distribution network
US11400380B2 (en) * 2017-07-31 2022-08-02 Sony Interactive Entertainment Inc. Information processing apparatus and download processing method

Families Citing this family (280)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7168084B1 (en) 1992-12-09 2007-01-23 Sedna Patent Services, Llc Method and apparatus for targeting virtual objects
US9286294B2 (en) 1992-12-09 2016-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content suggestion engine
USRE44685E1 (en) 1994-04-28 2013-12-31 Opentv, Inc. Apparatus for transmitting and receiving executable applications as for a multimedia system, and method and system to order an item using a distributed computing system
US6189030B1 (en) 1996-02-21 2001-02-13 Infoseek Corporation Method and apparatus for redirection of server external hyper-link references
US6643506B1 (en) * 1996-08-07 2003-11-04 Telxon Corporation Wireless software upgrades with version control
JP3671543B2 (en) * 1996-09-10 2005-07-13 ソニー株式会社 Data transmission method, data transmission device, data reception device parameter setting method, data reception device, and data transmission system
JPH10301788A (en) * 1997-04-30 1998-11-13 Sony Corp Data communication system and method therefor and data receiving device and method therefor
US6049830A (en) * 1997-05-13 2000-04-11 Sony Corporation Peripheral software download of a broadcast receiver
JP3529588B2 (en) * 1997-05-30 2004-05-24 インターナショナル・ビジネス・マシーンズ・コーポレーション Computer network system, computer, computer for temporary storage, and method in these
FR2764392B1 (en) * 1997-06-04 1999-08-13 Sgs Thomson Microelectronics METHOD FOR IDENTIFYING AN INTEGRATED CIRCUIT AND ASSOCIATED DEVICE
US6337715B1 (en) * 1997-07-04 2002-01-08 Matsushita Electric Industrial Co., Ltd. Broadcasting reception apparatus and data broadcasting method
US6205473B1 (en) * 1997-10-03 2001-03-20 Helius Development Corporation Method and system for asymmetric satellite communications for local area networks
JP3567696B2 (en) * 1997-09-24 2004-09-22 松下電器産業株式会社 Software download system
US6928653B1 (en) 1997-11-06 2005-08-09 United Video Properties, Inc. Interactive electronic television program guide with database configurability
FR2771884B1 (en) * 1997-12-02 1999-12-31 Thomson Multimedia Sa METHOD FOR MANAGING SERVICE INFORMATION IN A DIGITAL TELEVISION SYSTEM AND RECEIVER IMPLEMENTING SAID METHOD
AU1815399A (en) * 1997-12-12 1999-07-05 General Instrument Corporation Method and apparatus for providing demand-based application downloading via an in-band channel to a set-top terminal
JPH11194943A (en) * 1997-12-26 1999-07-21 Matsushita Electric Ind Co Ltd Transmitter and receiver
US6567855B1 (en) * 1998-01-02 2003-05-20 Intel Corporation Portable processing system with always on, always connected capability
ES2214011T3 (en) * 1998-02-20 2004-09-01 Thomson Licensing S.A. A MULTIMEDIA SYSTEM TO FORM AND TREAT ADAPTABLELY BIG PROGRAMS GUIDES.
US7032236B1 (en) 1998-02-20 2006-04-18 Thomson Licensing Multimedia system for processing program guides and associated multimedia objects
US6792245B1 (en) * 1998-04-10 2004-09-14 Sony Computer Entertainment Inc. Information reproducing apparatus and broadcasting system
US7117518B1 (en) * 1998-05-14 2006-10-03 Sony Corporation Information retrieval method and apparatus
US6735625B1 (en) * 1998-05-29 2004-05-11 Cisco Technology, Inc. System and method for automatically determining whether a product is compatible with a physical device in a network
US6427238B1 (en) * 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
NZ509019A (en) * 1998-06-18 2002-08-28 Aristocrat Technologies Au Method of linking devices to gaming machines
CN1311938A (en) * 1998-06-19 2001-09-05 松下电器产业株式会社 Method and device for data transmitting/receiving, and grogram recored medium
US6237053B1 (en) 1998-06-30 2001-05-22 Symbol Technologies, Inc. Configurable operating system having multiple data conversion applications for I/O connectivity
US9924234B2 (en) 1998-07-23 2018-03-20 Comcast Ip Holdings I, Llc Data structure and methods for providing an interactive program
JP4605902B2 (en) 1998-07-23 2011-01-05 コムキャスト アイピー ホールディングス アイ, エルエルシー Interactive user interface
US6754905B2 (en) 1998-07-23 2004-06-22 Diva Systems Corporation Data structure and methods for providing an interactive program guide
JP2000047968A (en) * 1998-07-31 2000-02-18 Sony Computer Entertainment Inc Device, method and system for processing information, terminal and method for receiving data, and data broadcasting system
US6430165B1 (en) 1998-08-07 2002-08-06 Hughes Electronics Corporation Method and apparatus for performing satellite selection in a broadcast communication system
US6198511B1 (en) * 1998-09-10 2001-03-06 Intel Corporation Identifying patterns in closed caption script
US6636896B1 (en) 1998-09-11 2003-10-21 Lv Partners, L.P. Method and apparatus for utilizing an audibly coded signal to conduct commerce over the internet
US7379901B1 (en) 1998-09-11 2008-05-27 Lv Partners, L.P. Accessing a vendor web site using personal account information retrieved from a credit card company web site
US7440993B1 (en) 1998-09-11 2008-10-21 Lv Partners, L.P. Method and apparatus for launching a web browser in response to scanning of product information
US7386600B1 (en) 1998-09-11 2008-06-10 Lv Partners, L.P. Launching a web site using a personal device
US6704864B1 (en) 1999-08-19 2004-03-09 L.V. Partners, L.P. Automatic configuration of equipment software
US6745234B1 (en) 1998-09-11 2004-06-01 Digital:Convergence Corporation Method and apparatus for accessing a remote location by scanning an optical code
US7191247B1 (en) 1998-09-11 2007-03-13 Lv Partners, Lp Method for connecting a wireless device to a remote location on a network
US6868433B1 (en) 1998-09-11 2005-03-15 L.V. Partners, L.P. Input device having positional and scanning capabilities
US6823388B1 (en) 1998-09-11 2004-11-23 L.V. Parners, L.P. Method and apparatus for accessing a remote location with an optical reader having a programmable memory system
US7392945B1 (en) 1998-09-11 2008-07-01 Lv Partners, L.P. Portable scanner for enabling automatic commerce transactions
US7206849B1 (en) 1998-10-05 2007-04-17 Symbol Technologies, Inc. Communication in a wireless communications network when a mobile computer terminal may be unreachable
US6805634B1 (en) * 1998-10-14 2004-10-19 Igt Method for downloading data to gaming devices
US6488585B1 (en) * 1998-10-14 2002-12-03 International Game Technology Gaming device identification method and apparatus
US6594825B1 (en) * 1998-10-30 2003-07-15 Intel Corporation Method and apparatus for selecting a version of an entertainment program based on user preferences
KR100587284B1 (en) * 1999-01-14 2006-06-08 엘지전자 주식회사 Method for PSI filtering
JP2000259417A (en) * 1999-03-12 2000-09-22 Sony Corp Device and method for data processing and program providing medium
US7552458B1 (en) 1999-03-29 2009-06-23 The Directv Group, Inc. Method and apparatus for transmission receipt and display of advertisements
US7877290B1 (en) 1999-03-29 2011-01-25 The Directv Group, Inc. System and method for transmitting, receiving and displaying advertisements
US6469742B1 (en) * 1999-04-12 2002-10-22 Koninklijke Philips Electronics N.V. Consumer electronic devices with adaptable upgrade capability
US6754271B1 (en) 1999-04-15 2004-06-22 Diva Systems Corporation Temporal slice persistence method and apparatus for delivery of interactive program guide
US6904610B1 (en) 1999-04-15 2005-06-07 Sedna Patent Services, Llc Server-centric customized interactive program guide in an interactive television environment
US7096487B1 (en) 1999-10-27 2006-08-22 Sedna Patent Services, Llc Apparatus and method for combining realtime and non-realtime encoded content
EP1172005A1 (en) * 1999-04-21 2002-01-16 General Instrument Corporation Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
AU770984B2 (en) * 1999-04-21 2004-03-11 General Instrument Corporation Method and system for targeted or universal upgrades of programming in a population of advanced set-top boxes in a cable television system
WO2000064179A1 (en) * 1999-04-21 2000-10-26 General Instrument Corporation Method and system for locating a control channel and data transport stream within the signal received by a set-top box from a cable television system
US6718374B1 (en) * 1999-04-21 2004-04-06 General Instrument Corporation Method and system for identifying and downloading appropriate software or formware specific to a particular model of set-top box in a cable television system
US6557172B1 (en) 1999-05-28 2003-04-29 Intel Corporation Communicating enhancement data in layers
US6574795B1 (en) * 1999-05-28 2003-06-03 Intel Corporation Reliable communication of data by supplementing a unidirectional communications protocol
JP3653494B2 (en) * 1999-05-28 2005-05-25 インテル コーポレイション Communication of enhancement data in the layer
AU5594400A (en) * 1999-06-03 2000-12-28 Opentv, Inc. Networking smart toys
ATE301895T1 (en) 1999-06-10 2005-08-15 Alcatel Internetworking Inc SYSTEM AND METHOD FOR AUTOMATIC REACHABILITY UPDATE IN VIRTUAL PRIVATE NETWORKS
US7032022B1 (en) 1999-06-10 2006-04-18 Alcatel Statistics aggregation for policy-based network
US7640571B1 (en) * 1999-07-15 2009-12-29 General Instrument Corporation Method and apparatus for preventing disruptions in set-top terminal function due to the download of updated programming or data to the set-top terminal
US6745385B1 (en) * 1999-09-01 2004-06-01 Microsoft Corporation Fixing incompatible applications by providing stubs for APIs
FI19991865A (en) 1999-09-01 2001-03-01 Nokia Corp A method and system for providing customized audio capabilities to cellular system terminals
US7032213B1 (en) * 1999-09-01 2006-04-18 Microsoft Corporation Fixing incompatible applications using a light debugger
US7120926B1 (en) * 1999-09-02 2006-10-10 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
EP1427214A3 (en) * 1999-09-02 2004-12-22 General Instrument Corporation Method and system of identifying software and firmware objects available for download over a network such as a cable television system
US6904611B1 (en) * 1999-09-03 2005-06-07 General Instrument Corporation Method and system for directing the download of software and firmware objects over a network such as a cable television system
US6973475B2 (en) 1999-09-18 2005-12-06 Wildtangent Dynamic scalable multi-media content streaming
US6453470B1 (en) * 1999-09-30 2002-09-17 General Instruments Corporation Dynamic detection of hardware configuration in a digital terminal
AU6925600A (en) * 1999-10-13 2001-04-23 Digitalconvergence.Com Inc. Software downloading using a television broadcast channel
CA2387408C (en) * 1999-10-22 2007-01-02 General Instrument Corporation Method and apparatus for managing multiple applications in large scale networks
AU1632101A (en) * 1999-10-22 2001-05-08 General Instrument Corporation Object and feature authorization for digital communication terminals
US6832323B1 (en) * 1999-10-22 2004-12-14 General Instrument Corporation Object and feature authorization for digital communication terminals
AU1576801A (en) 1999-10-27 2001-05-08 Diva Systems Corporation Picture-in-picture and multiple video streams using slice-based encoding
US6970641B1 (en) 2000-09-15 2005-11-29 Opentv, Inc. Playback of interactive programs
DE10048942B4 (en) * 1999-12-01 2008-07-03 International Business Machines Corp. Method and system for maintaining software over a network
US20020026642A1 (en) * 1999-12-15 2002-02-28 Augenbraun Joseph E. System and method for broadcasting web pages and other information
FR2809839A1 (en) 1999-12-30 2001-12-07 Thomson Multimedia Sa METHOD FOR DOWNLOADING DATA PROCESSED BY ADVERTISEMENT SIGNALS
US20020012347A1 (en) * 2000-02-03 2002-01-31 Patrick Fitzpatrick System and method for downloading code
JP2001216167A (en) * 2000-02-04 2001-08-10 Minolta Co Ltd System consisting of main body and peripheral device
US7069578B1 (en) * 2000-02-04 2006-06-27 Scientific-Atlanta, Inc. Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
US6714992B1 (en) * 2000-02-25 2004-03-30 Navic Systems, Inc. Method and system for embedded network device installation
US7330824B1 (en) 2000-02-25 2008-02-12 Navic Systems, Inc. Method and system for content profiling and activation
US6845396B1 (en) 2000-02-25 2005-01-18 Navic Systems, Inc. Method and system for content deployment and activation
US7392281B1 (en) 2000-02-25 2008-06-24 Navic Systems, Inc. System and method for providing guaranteed delivery of messages to embedded devices over a data network
WO2001065850A2 (en) * 2000-03-01 2001-09-07 Scientific-Atlanta, Inc. System and method for a client device to load applications during initialization
EP1234247A2 (en) * 2000-04-18 2002-08-28 Portalplayer, Inc. Downloaded media protocol integration system and method
US7155713B1 (en) * 2000-04-27 2006-12-26 Microsoft Corporation Componentized operating system
US7526775B2 (en) * 2000-05-17 2009-04-28 Aol Llc, A Delaware Limited Liability Company Component installation tool
US20010044835A1 (en) * 2000-05-17 2001-11-22 Schober Joseph Frank Selecting content to be communicated based on automatic detection of communication bandwidth
US6912711B1 (en) 2000-05-25 2005-06-28 International Business Machines Corporation Method of applying an update to a contained collection of program and data files based upon versions
US20020003884A1 (en) * 2000-05-26 2002-01-10 Sprunk Eric J. Authentication and/or authorization launch
JP2002171232A (en) * 2000-08-01 2002-06-14 Matsushita Electric Ind Co Ltd Transmitting and receiving system and transmitter/ receiver
AU2001281087A1 (en) * 2000-08-04 2002-02-18 Marconi Communications, Inc. System and method for implementing a self-activating embedded application
US6791579B2 (en) 2000-08-21 2004-09-14 Intellocity Usa, Inc. Method of enhancing streaming media content
CA2419409A1 (en) * 2000-08-21 2002-02-28 Intellocity Usa, Inc. System and method for television enhancement
US6760043B2 (en) 2000-08-21 2004-07-06 Intellocity Usa, Inc. System and method for web based enhanced interactive television content page layout
US20020065950A1 (en) * 2000-09-26 2002-05-30 Katz James S. Device event handler
US20080201406A1 (en) * 2000-10-16 2008-08-21 Edward Balassanian Feature manager system for facilitating communication and shared functionality among components
US8556698B2 (en) * 2000-10-19 2013-10-15 Igt Executing multiple applications and their variations in computing environments
US8636596B2 (en) * 2000-11-04 2014-01-28 Igt Dynamic player notices for operational changes in gaming machines
US6645077B2 (en) * 2000-10-19 2003-11-11 Igt Gaming terminal data repository and information distribution system
US9251647B2 (en) * 2000-10-19 2016-02-02 Igt Remote configuration of gaming terminals
US20040180721A1 (en) * 2000-12-21 2004-09-16 Igt Gaming terminal data repository and information distribution system
FR2815807A1 (en) * 2000-10-23 2002-04-26 Thomson Multimedia Sa Receptor for interactive systems comprises selector for interactive programme, device to store programmes and device to select them subsequently
US6985934B1 (en) * 2000-10-23 2006-01-10 Binham Communications Corporation Method and system for providing rich media content over a computer network
US20020126990A1 (en) * 2000-10-24 2002-09-12 Gary Rasmussen Creating on content enhancements
AU2002211158A1 (en) * 2000-10-26 2002-05-06 Kreatel Communications Ab Method and apparatus for sending information in a communication system
WO2002043396A2 (en) * 2000-11-27 2002-05-30 Intellocity Usa, Inc. System and method for providing an omnimedia package
US7047273B2 (en) 2000-11-28 2006-05-16 Navic Systems, Inc. Load balancing in set top cable box environment
US20020065929A1 (en) * 2000-11-28 2002-05-30 Navic Systems Inc. Protocol extensions to increase reliability of bulk data transmissions
US7653743B2 (en) * 2000-11-28 2010-01-26 Microsoft Corporation Protocol for throttling high volume messages
US7328231B2 (en) * 2000-11-28 2008-02-05 Navic Systems Generating schedules for synchronizing bulk data transfers to end node devices in a multimedia network
US20020122427A1 (en) * 2000-11-28 2002-09-05 Navic Systems, Inc. Synchronization of bulk data transfers to end node devices in a multimedia network
US20020112231A1 (en) * 2000-12-13 2002-08-15 Arne Lundback Software distribution at a multi-processor telecommunications platform
US20020112175A1 (en) * 2000-12-13 2002-08-15 Makofka Douglas S. Conditional access for functional units
EP1818824B1 (en) * 2000-12-21 2016-07-13 Nokia Technologies Oy Improvements in and relating to communication terminals
WO2002050673A2 (en) * 2000-12-21 2002-06-27 Nokia Corporation Improvements in and relating to communication terminals
JP4622101B2 (en) * 2000-12-27 2011-02-02 ソニー株式会社 Information processing apparatus, information processing method for information processing apparatus, and information processing system
KR20020062022A (en) * 2001-01-19 2002-07-25 백은옥 Digital television receiver capable of reproducing interactive contents and broadcasting system for the contents
US7072950B2 (en) * 2001-01-23 2006-07-04 Sony Corporation Method and apparatus for operating system and application selection
US7186181B2 (en) * 2001-02-02 2007-03-06 Igt Wide area program distribution and game information communication system
US6749510B2 (en) * 2001-02-07 2004-06-15 Wms Gaming Inc. Centralized gaming system with modifiable remote display terminals
US20020152467A1 (en) * 2001-02-12 2002-10-17 Rosario Fiallos Automated generation of conditional access packets for IRD upgrades via radio frequency software download in satellite television systems
JP2002259282A (en) * 2001-02-27 2002-09-13 Matsushita Electric Ind Co Ltd Data broadcasting schedule system, and device, method, recording medium, or program concerned with the system
US7191439B2 (en) * 2001-02-28 2007-03-13 Palmsource, Inc. Verification of software application attributes for optimal compatibility with a software system
JP4291467B2 (en) * 2001-03-01 2009-07-08 株式会社ソニー・コンピュータエンタテインメント Entertainment device, menu display method, and information recording medium
US20020178455A1 (en) * 2001-03-14 2002-11-28 General Instrument Corporation Dynamic movement of the control channel for broadband communication devices
IL157636A0 (en) * 2001-03-16 2004-03-28 Nds Ltd Method and system for literary data access
US7134134B2 (en) * 2001-03-24 2006-11-07 Microsoft Corporation Electronic program guide hardware card
US20020156877A1 (en) * 2001-04-23 2002-10-24 Lu James C. System and method for the duplication of a software system onto an appropriate target computer
JP2002318704A (en) * 2001-04-24 2002-10-31 Sony Corp Electronic equipment
GB0111008D0 (en) * 2001-05-04 2001-06-27 Koninkl Philips Electronics Nv Recording of interactive applications
FR2824646B1 (en) * 2001-05-09 2003-08-15 Canal Plus Technologies METHOD FOR SELECTING AN EXECUTABLE SOFTWARE IMAGE
EP1265133A1 (en) * 2001-06-07 2002-12-11 Siemens Aktiengesellschaft Method for loading software on several processors
US20030083958A1 (en) * 2001-06-08 2003-05-01 Jinshan Song System and method for retrieving information from an electronic catalog
US20030041336A1 (en) * 2001-07-10 2003-02-27 General Instrument Corporation Selective downloading of specific code images to broadband terminals
US20030028640A1 (en) * 2001-07-30 2003-02-06 Vishal Malik Peer-to-peer distributed mechanism
US7908628B2 (en) 2001-08-03 2011-03-15 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator content coding and formatting
US7725918B2 (en) * 2001-08-03 2010-05-25 Ericsson Television Inc. Interactive television with embedded universal time codes
US7793326B2 (en) 2001-08-03 2010-09-07 Comcast Ip Holdings I, Llc Video and digital multimedia aggregator
US7162036B2 (en) 2001-08-06 2007-01-09 Igt Digital identification of unique game characteristics
US6685567B2 (en) 2001-08-08 2004-02-03 Igt Process verification
GB2379579A (en) * 2001-09-05 2003-03-12 Nokia Corp Compatibility of a game with a mobile gaming system
EP1300761A1 (en) * 2001-10-04 2003-04-09 Brendan Tschabold Methods for upgrading or updating data and software on computers
FR2831378B1 (en) * 2001-10-23 2004-02-27 Sagem SYSTEM FOR VIEWING ON A TELEVISION SCREEN A VIDEO GAME EXECUTED BY A COMPUTER
US7085529B1 (en) 2001-10-24 2006-08-01 The Directv Group, Inc. Method and apparatus for determining a direct-to-home satellite receiver multi-switch type
KR100783400B1 (en) * 2001-10-25 2007-12-10 엘지전자 주식회사 Method for using manufacturer specific data of manufacturer information structure in digital video broadcasting
US6811085B2 (en) * 2001-10-26 2004-11-02 Symbol Technologies, Inc. Miniature imager
GB2381709A (en) * 2001-10-30 2003-05-07 Graeme Roy Smith Programmable set-top box and home gateway
US20030172044A1 (en) * 2001-11-06 2003-09-11 Shamrao Andrew Divaker Configuration-dependent download process
SE0104080D0 (en) 2001-12-05 2001-12-05 Ericsson Telefon Ab L M A method and apparatus for negotiating mobile services
AU2002354094B2 (en) * 2001-12-13 2006-10-19 Sony Interactive Entertainment Inc. Methods and apparatus for secure distribution of program content
AU2002366938A1 (en) * 2001-12-14 2003-07-09 Spl Innotech Pte Ltd. System, method and apparatus for multimedia display
AU2002354095B2 (en) * 2001-12-21 2008-01-10 Sony Interactive Entertainment Inc. Methods and apparatus for secure distribution of program content
GB2384066A (en) * 2002-01-09 2003-07-16 Hewlett Packard Co Installation of software components having multiple implementations
JP3932477B2 (en) * 2002-01-29 2007-06-20 ソニー株式会社 Information processing system, information processing apparatus and method, and program
FR2835384A1 (en) * 2002-01-31 2003-08-01 Thomson Licensing Sa Mechanism for and management of audio visual recording on network calculates terminal compatibility and selects terminal with greatest compatibility to perform recording
US20030154128A1 (en) * 2002-02-11 2003-08-14 Liga Kevin M. Communicating and displaying an advertisement using a personal video recorder
US7743115B2 (en) * 2002-02-27 2010-06-22 Motorola, Inc. Software content downloading methods in radio communication networks
JP2003256225A (en) * 2002-03-06 2003-09-10 Mitsubishi Electric Corp Computer system, failure countermeasure and program for making computer system function
FI20025018A (en) * 2002-04-23 2003-10-24 Nokia Corp System for provisioning end-to-end encryption in a digital wireless data network and corresponding terminal
US6973479B2 (en) * 2002-05-01 2005-12-06 Thales Avionics, Inc. Method and system for configuration and download in a restricted architecture network
US7075899B2 (en) * 2002-05-21 2006-07-11 Actv, Inc. System and method for providing private in-band data to digital set-top boxes in a broadcast environment
CN1754149A (en) * 2002-10-07 2006-03-29 皇家飞利浦电子股份有限公司 Broadcasting of software packages
US20040083471A1 (en) * 2002-10-21 2004-04-29 Lg Electronics Inc. Method of upgrading system software of a home appliance
US7058964B2 (en) * 2002-12-03 2006-06-06 Matsushita Electric Industrial Co., Ltd. Flexible digital cable network architecture
JP2004206682A (en) * 2002-12-12 2004-07-22 Seiko Epson Corp Device management system, device management terminal, network device, program for terminal and program for device, and device management method
US20040117785A1 (en) * 2002-12-13 2004-06-17 Samsung Electronics Co., Ltd. Component download manager for a wireless mobile station and method of operation
US7606255B2 (en) * 2003-01-08 2009-10-20 Microsoft Corporation Selectively receiving broadcast data according to one of multiple data configurations
US7546383B2 (en) * 2003-01-08 2009-06-09 Microsoft Corporation Enabling broadcast of multiple data configurations
US7500092B2 (en) * 2003-01-17 2009-03-03 International Business Machines Corporation Hardware abstraction for set-top box operating systems
EP1597668A4 (en) * 2003-02-11 2009-12-23 Hewlett Packard Development Co Electronic device supporting multiple update agents
US7398055B2 (en) * 2003-02-14 2008-07-08 Ntt Docomo, Inc. Electronic device and program
US7020689B2 (en) 2003-03-07 2006-03-28 Wegener Communications, Inc. System and method for command transmission utilizing an email return path
US20040193609A1 (en) * 2003-03-26 2004-09-30 Sony Corporation Master content directory service server for providing a consolidated network-wide content directory
CA2423989A1 (en) * 2003-03-28 2004-09-28 Jvl Corporation Game system for handheld personal devices
US20040199899A1 (en) * 2003-04-04 2004-10-07 Powers Richard Dickert System and method for determining whether a mix of system components is compatible
WO2004092897A2 (en) * 2003-04-11 2004-10-28 Mirra, Inc. Service platform application distribution manager
US7206411B2 (en) 2003-06-25 2007-04-17 Wegener Communications, Inc. Rapid decryption of data by key synchronization and indexing
AU2004269720B2 (en) * 2003-08-29 2009-06-11 Opentv, Inc Targeted content broadcast and reception system
DE10340372A1 (en) * 2003-09-02 2005-03-24 Robert Bosch Gmbh Procedure for installing a program component
GB2405711B (en) * 2003-09-05 2006-08-09 Sun Microsystems Inc Method and apparatus for performing configuration over a network
US20050055352A1 (en) * 2003-09-08 2005-03-10 Sony Corporation Content directory and synchronization bridge
US20050060578A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Method of and system for authentication downloading
US7925790B2 (en) * 2003-09-17 2011-04-12 Sony Corporation Middleware filter agent between server and PDA
US20050060370A1 (en) * 2003-09-17 2005-03-17 Sony Corporation Version based content distribution and synchronization system and method
US7735000B2 (en) * 2003-09-25 2010-06-08 Sony Corporation Information and content exchange document type definitions to support content distribution
US20070226770A1 (en) * 2003-11-04 2007-09-27 Electronics And Telecommunications Reserach Institue 161, Gajeong-Dong, Yuseong-Gu Apparatus and Method for Receiving Data Broadcasting Service to Support Connection with Mobile Networks
KR100548207B1 (en) * 2003-11-18 2006-02-02 삼성전자주식회사 Digital broadcast receiver attempt to stabilize the upgrade and a method thereof
JP2005165514A (en) * 2003-12-01 2005-06-23 Sony Corp Application display device
US8689113B2 (en) * 2004-01-22 2014-04-01 Sony Corporation Methods and apparatus for presenting content
US20050165941A1 (en) * 2004-01-22 2005-07-28 Edward Eytchison Methods and apparatuses for streaming content
US7519718B2 (en) 2004-02-27 2009-04-14 International Business Machines Corporation Server-side protocol configuration of accessing clients
US20050234467A1 (en) * 2004-03-08 2005-10-20 James Rains Screw guide
US7904895B1 (en) 2004-04-21 2011-03-08 Hewlett-Packard Develpment Company, L.P. Firmware update in electronic devices employing update agent in a flash memory card
US7523145B2 (en) 2004-04-22 2009-04-21 Opentv, Inc. System for managing data in a distributed computing system
US8526940B1 (en) 2004-08-17 2013-09-03 Palm, Inc. Centralized rules repository for smart phone customer care
US7779409B2 (en) * 2004-08-24 2010-08-17 Nokia Corporation Device-to-device software distribution
WO2006033423A1 (en) * 2004-09-20 2006-03-30 Sony Computer Entertainment Inc. Methods and apparatus for emulating software applications
EP1803062A1 (en) * 2004-09-20 2007-07-04 Sony Computer Entertainment Inc. Methods and apparatus for distributing software applications
CN100573449C (en) * 2004-10-08 2009-12-23 惠瑞捷(新加坡)私人有限公司 Exploitation and execution towards the test procedure of feature
US8117282B2 (en) 2004-10-20 2012-02-14 Clearplay, Inc. Media player configured to receive playback filters from alternative storage mediums
JP5279981B2 (en) * 2004-11-22 2013-09-04 富士通株式会社 Update control program, update control method, and update control apparatus
US20060117346A1 (en) * 2004-11-29 2006-06-01 Jo Su D Video device capable of downloading data and method for controlling the same
US7882317B2 (en) * 2004-12-06 2011-02-01 Microsoft Corporation Process isolation using protection domains
US8020141B2 (en) 2004-12-06 2011-09-13 Microsoft Corporation Operating-system process construction
US7451435B2 (en) * 2004-12-07 2008-11-11 Microsoft Corporation Self-describing artifacts and application abstractions
US7600232B2 (en) 2004-12-07 2009-10-06 Microsoft Corporation Inter-process communications employing bi-directional message conduits
CN100454268C (en) * 2005-01-17 2009-01-21 松下电器产业株式会社 Program execution device
US8029365B2 (en) 2005-03-24 2011-10-04 Wms Gaming Inc. Hierarchical multi-tiered system for gaming related communications
US20060236220A1 (en) 2005-04-18 2006-10-19 Clearplay, Inc. Apparatus, System and Method for Associating One or More Filter Files with a Particular Multimedia Presentation
US20060242620A1 (en) * 2005-04-22 2006-10-26 Avadhi Finance & Technology Method for maintaining and selling software
GB0511774D0 (en) * 2005-06-09 2005-07-20 Nds Ltd Extended service information 2 (XSI-2)
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8788546B2 (en) * 2005-08-03 2014-07-22 Bluestreak Technology Inc. Preloading resources from data carousel of broadcast file system
EP1934869A4 (en) * 2005-09-12 2012-05-02 Bally Gaming Inc Download and configuration system and method for gaming machines
US8287379B2 (en) 2005-09-12 2012-10-16 Igt Distributed game services
US7887420B2 (en) 2005-09-12 2011-02-15 Igt Method and system for instant-on game download
US8074231B2 (en) * 2005-10-26 2011-12-06 Microsoft Corporation Configuration of isolated extensions and device drivers
EP1811778A1 (en) * 2006-01-24 2007-07-25 Nagracard S.A. Verfahren für Aktualisierung des microprogramme eines Sicherheitsmoduls
US9547485B2 (en) * 2006-03-31 2017-01-17 Prowess Consulting, Llc System and method for deploying a virtual machine
US7680754B2 (en) 2006-04-21 2010-03-16 Cirba Inc. System and method for evaluating differences in parameters for computer systems using differential rule definitions
CA2648528C (en) * 2006-04-21 2016-08-23 Cirba Inc. Method and system for determining compatibility of computer systems
US7809817B2 (en) * 2006-04-21 2010-10-05 Cirba Inc. Method and system for determining compatibility of computer systems
US8775319B2 (en) 2006-05-15 2014-07-08 The Directv Group, Inc. Secure content transfer systems and methods to operate the same
WO2007146710A2 (en) 2006-06-08 2007-12-21 Hewlett-Packard Development Company, L.P. Device management in a network
US8032898B2 (en) 2006-06-30 2011-10-04 Microsoft Corporation Kernel interface with categorized kernel objects
EP2047420A4 (en) 2006-07-27 2009-11-18 Hewlett Packard Development Co User experience and dependency management in a mobile device
KR100782857B1 (en) * 2006-10-13 2007-12-06 삼성전자주식회사 Method of upgrading software using common module which multiple models share and digital broadcasting receiver thereof, and computer readable medium recording the method
US20080108435A1 (en) * 2006-11-03 2008-05-08 Igt Monitoring and controlling gaming-environments
KR100781534B1 (en) * 2006-12-08 2007-12-03 삼성전자주식회사 Apparatus and method for constructing and executing the function of application corresponding to broadcasting receiving devices
US7870276B1 (en) * 2006-12-18 2011-01-11 Emc Corporation Interface plugin
US8029367B2 (en) * 2007-01-15 2011-10-04 Microsoft Corporation Automatic delivery of game content to a game console
US20080244507A1 (en) * 2007-03-30 2008-10-02 Microsoft Corporation Homogeneous Programming For Heterogeneous Multiprocessor Systems
US8789063B2 (en) * 2007-03-30 2014-07-22 Microsoft Corporation Master and subordinate operating system kernels for heterogeneous multiprocessor systems
KR100897681B1 (en) 2007-04-05 2009-05-14 베리지 (싱가포르) 피티이. 엘티디. Feature-oriented test program development and execution
JP5341761B2 (en) * 2007-08-09 2013-11-13 パナソニック株式会社 Terminal device, server, and system thereof
KR20090024885A (en) * 2007-09-05 2009-03-10 엘지전자 주식회사 Method for software updateing in display device
US8892738B2 (en) 2007-11-07 2014-11-18 Numecent Holdings, Inc. Deriving component statistics for a stream enabled application
US8813155B2 (en) * 2007-12-05 2014-08-19 Lg Electronics Inc. Method for receiving service information data and an IPTV receiver
US8869219B2 (en) * 2007-12-05 2014-10-21 Lg Electronics Inc. Method for controlling a channel and an IPTV receiver
US8484689B2 (en) * 2007-12-05 2013-07-09 Lg Electronics Inc. IPTV receiver and method of discovering an IPTV service
US8112775B2 (en) * 2007-12-05 2012-02-07 Lg Electronics Inc. IPTV receiver and method of providing channel details information
US8635641B2 (en) * 2007-12-05 2014-01-21 Lg Electronics Inc. Method of performing parental control a channel and an IPTV receiver
US8893205B2 (en) * 2007-12-05 2014-11-18 Lg Electronics Inc. IPTV receiver and method of providing channel map management information
US8397256B2 (en) * 2007-12-05 2013-03-12 Lg Electronics Inc. IPTV receiver and method of providing channel map information
US8893200B2 (en) * 2007-12-05 2014-11-18 Lg Electronics Inc. IPTV receiver and method of acquiring a resource for an IPTV service
US8484634B2 (en) * 2008-03-28 2013-07-09 Time Warner Cable, Inc. System for signaling an application to a host device and method therefor
US8566891B2 (en) * 2008-03-31 2013-10-22 Verizon Patent And Licensing Inc. Systems and methods for monitoring, troubleshooting and/or controlling a digital television
DE102008039380A1 (en) * 2008-08-22 2010-02-25 It-Designers Gmbh Test System
US20100095330A1 (en) * 2008-10-15 2010-04-15 Echostar Technologies L.L.C. Satellite receiver system with rechargeable battery and antenna solar cell
US10235832B2 (en) 2008-10-17 2019-03-19 Igt Post certification metering for diverse game machines
US7975189B2 (en) * 2008-11-14 2011-07-05 Trelliware Technologies, Inc. Error rate estimation/application to code-rate adaption
JP5368878B2 (en) * 2009-05-25 2013-12-18 キヤノン株式会社 Information processing apparatus, manufacturing apparatus, and device manufacturing method
US9445795B2 (en) * 2009-10-16 2016-09-20 Confluent Surgical, Inc. Prevention of premature gelling of delivery devices for pH dependent forming materials
US8726305B2 (en) 2010-04-02 2014-05-13 Yahoo! Inc. Methods and systems for application rendering and management on internet television enabled displays
KR20110118975A (en) * 2010-04-26 2011-11-02 삼성전자주식회사 Apparatus and method for firmware updating in portable terminal
US9672022B2 (en) * 2010-06-23 2017-06-06 Microsoft Technology Licensing, Llc Applications including multiple experience modules
US9699503B2 (en) 2010-09-07 2017-07-04 Opentv, Inc. Smart playlist
US10210160B2 (en) 2010-09-07 2019-02-19 Opentv, Inc. Collecting data from different sources
US8949871B2 (en) 2010-09-08 2015-02-03 Opentv, Inc. Smart media selection based on viewer user presence
US9072972B2 (en) * 2011-04-28 2015-07-07 Numecent Holdings Ltd Application distribution network
US9154813B2 (en) 2011-06-09 2015-10-06 Comcast Cable Communications, Llc Multiple video content in a composite video stream
US9594605B2 (en) * 2011-11-15 2017-03-14 Apple Inc. Client-server version control system for software applications
US8687947B2 (en) 2012-02-20 2014-04-01 Rr Donnelley & Sons Company Systems and methods for variable video production, distribution and presentation
US9338522B2 (en) * 2012-10-18 2016-05-10 Broadcom Corporation Integration of untrusted framework components with a secure operating system environment
US9344762B2 (en) * 2012-10-18 2016-05-17 Broadcom Corporation Integration of untrusted applications and frameworks with a secure operating system environment
US8935734B2 (en) 2013-02-01 2015-01-13 Ebay Inc. Methods, systems and apparatus for configuring a system of content access devices
FR3003714A1 (en) * 2013-03-25 2014-09-26 France Telecom MECHANISM FOR DEPLOYING A SERVICE IN A HOME NETWORK
US20140359606A1 (en) * 2013-05-30 2014-12-04 Microsoft Corporation Bundle package retrieving
US20140357357A1 (en) * 2013-05-30 2014-12-04 Microsoft Corporation Game bundle package
US9667496B2 (en) * 2013-12-24 2017-05-30 International Business Machines Corporation Configuration updates across peer storage systems
EP3056989B1 (en) * 2015-02-12 2018-08-29 Deutsche Telekom AG Transfer of applications
US11321064B1 (en) * 2021-10-04 2022-05-03 CTRL IQ, Inc. Systems and methods for trusted and secure application deployment via collective signature verification of the application artifacts

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677685A (en) * 1985-07-16 1987-06-30 Zenith Electronics Corporation Method and apparatus for downloading a code defining the channel transmission format employed in an addressable CATV system
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5019963A (en) * 1987-04-02 1991-05-28 International Business Machines Corporation Data processing network with upgrading of files
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5440632A (en) * 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5579509A (en) * 1991-02-08 1996-11-26 International Business Machines Corporation Apparatus and method for verifying compatibility of system components
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module
US5809329A (en) * 1994-05-27 1998-09-15 Microsoft Corporation System for managing the configuration of a computer system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4694490A (en) * 1981-11-03 1987-09-15 Harvey John C Signal processing apparatus and methods
CA1269177A (en) * 1987-03-13 1990-05-15 Claude Jean Champagne System for maintaining the hardware-software compatibility of modular communication systems
US5136411A (en) * 1987-12-11 1992-08-04 General Instrument Corporation Dynamically responsive CATV system with shared fiber optic link
CA1337132C (en) * 1988-07-15 1995-09-26 Robert Filepp Reception system for an interactive computer network and method of operation
US5495610A (en) * 1989-11-30 1996-02-27 Seer Technologies, Inc. Software distribution system to build and distribute a software release
US5093921A (en) * 1989-12-19 1992-03-03 Comband Technologies, Inc. Initialization technique and apparatus for set top converters
US5390256A (en) * 1991-01-08 1995-02-14 Dolby Laboratories Licensing Corporation Dynamic loader
US5396546A (en) * 1991-10-03 1995-03-07 Viscorp Apparatus and method for automatic and user configurable information appliance
US5367571A (en) * 1992-12-02 1994-11-22 Scientific-Atlanta, Inc. Subscriber terminal with plug in expansion card
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4677685A (en) * 1985-07-16 1987-06-30 Zenith Electronics Corporation Method and apparatus for downloading a code defining the channel transmission format employed in an addressable CATV system
US5019963A (en) * 1987-04-02 1991-05-28 International Business Machines Corporation Data processing network with upgrading of files
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5003591A (en) * 1989-05-25 1991-03-26 General Instrument Corporation Functionally modifiable cable television converter system
US5579509A (en) * 1991-02-08 1996-11-26 International Business Machines Corporation Apparatus and method for verifying compatibility of system components
US5440632A (en) * 1992-12-02 1995-08-08 Scientific-Atlanta, Inc. Reprogrammable subscriber terminal
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5666293A (en) * 1994-05-27 1997-09-09 Bell Atlantic Network Services, Inc. Downloading operating system software through a broadcast channel
US5809329A (en) * 1994-05-27 1998-09-15 Microsoft Corporation System for managing the configuration of a computer system
US5771064A (en) * 1995-11-29 1998-06-23 Scientific-Atlanta, Inc. Home communications terminal having an applications module

Cited By (77)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8000343B1 (en) * 1999-08-18 2011-08-16 Fujitsu, Limited Communication device, and method of communication between communication devices and medium thereof
US20020104097A1 (en) * 2000-05-04 2002-08-01 Scientific-Atlanta, Inc System and method for a communication terminal to manage memory and maintain a current application version for multiple applications
US7234035B2 (en) * 2000-05-04 2007-06-19 Scientific-Atlanta, Inc. System and method for maintaining applications with their current versions
US7930711B2 (en) 2003-03-06 2011-04-19 Wegener Communications, Inc. Apparatus and method for addressing control in a network for distributed data
US20040177368A1 (en) * 2003-03-06 2004-09-09 Wegener Communications, Inc. Apparatus and method for addressing control in a network for distributed data
US20040177385A1 (en) * 2003-03-06 2004-09-09 Yoo Jea Yong Interactive medium and method for managing additional data thereof
US8042144B2 (en) * 2003-03-06 2011-10-18 Lg Electronics Inc. Interactive medium and method for managing additional data thereof
FR2852708A1 (en) * 2003-03-21 2004-09-24 Eprocess Computer software components providing method for use with server network, involves sending request of loading of component to server if need for component and terminal compatible with component is detected
US20050060754A1 (en) * 2003-09-17 2005-03-17 Wegener Communications, Inc. Apparatus and method for distributed control of media dissemination
US8108672B1 (en) * 2003-10-31 2012-01-31 Adobe Systems Incorporated Transparent authentication process integration
US7930757B2 (en) 2003-10-31 2011-04-19 Adobe Systems Incorporated Offline access in a document control system
US8627489B2 (en) 2003-10-31 2014-01-07 Adobe Systems Incorporated Distributed document version control
US8479301B2 (en) 2003-10-31 2013-07-02 Adobe Systems Incorporated Offline access in a document control system
US20130198807A1 (en) * 2003-10-31 2013-08-01 Adobe Systems Incorporated Transparent Authentication Process Integration
US8627077B2 (en) * 2003-10-31 2014-01-07 Adobe Systems Incorporated Transparent authentication process integration
US20050097441A1 (en) * 2003-10-31 2005-05-05 Herbach Jonathan D. Distributed document version control
US20050097061A1 (en) * 2003-10-31 2005-05-05 Shapiro William M. Offline access in a document control system
WO2005048102A1 (en) * 2003-11-13 2005-05-26 Benq Mobile Gmbh & Co. Ohg Device and method for software management in a heterogeneous hardware system
US20050108772A1 (en) * 2003-11-19 2005-05-19 Crinon Regis J. Generating and managing DTV application signaling based on asset definition
US7904933B2 (en) * 2003-11-19 2011-03-08 Microsoft Corporation Generating and managing DTV application signaling based on asset definition
US8239782B2 (en) * 2004-02-27 2012-08-07 Sap Ag Data processing system and method of data entry
US20050198564A1 (en) * 2004-02-27 2005-09-08 Werner Sinzig Data processing system and method of data entry
WO2006003177A3 (en) * 2004-06-30 2006-09-14 Siemens Ag Method and apparatus for downloading a plurality of images
WO2006003177A2 (en) * 2004-06-30 2006-01-12 Siemens Aktiengesellschaft Method and apparatus for downloading a plurality of images
FR2874146A1 (en) * 2004-08-04 2006-02-10 Thomson Licensing Sa METHOD FOR UPDATING RESIDENT SOFTWARE IN AN APPARATUS AND APPARATUS ADAPTED BY THE METHOD
WO2006013204A1 (en) * 2004-08-04 2006-02-09 Thomson Licensing Method for updating resident software in different appliances and appliances adapted to be updated by same
US20090125965A1 (en) * 2004-08-04 2009-05-14 Frederic Albert Method for updating resident software in different appliances and appliances adapted to be updated by same
WO2006040222A3 (en) * 2004-10-12 2006-07-06 Siemens Ag Method and device for embedded systems, particularly reconfigurable mobile radio terminals, with loadable software modules
WO2006040222A2 (en) * 2004-10-12 2006-04-20 Siemens Aktiengesellschaft Method and device for embedded systems, particularly reconfigurable mobile radio terminals, with loadable software modules
US7995758B1 (en) 2004-11-30 2011-08-09 Adobe Systems Incorporated Family of encryption keys
US8832047B2 (en) 2005-07-27 2014-09-09 Adobe Systems Incorporated Distributed document version control
US20070169118A1 (en) * 2005-12-19 2007-07-19 Choi Hyun S Apparatuses and methods for receiving software
EP1798640A1 (en) * 2005-12-19 2007-06-20 LG Electronics Inc. Apparatuses and methods for receiving software
US20070143812A1 (en) * 2005-12-19 2007-06-21 Hyun Sik Choi Apparatus for receiving cable broadcast data and method for transmitting/ receiving cable broadcast software
US20070180532A1 (en) * 2006-02-01 2007-08-02 Cha Sang H Broadcast receiver, data structure and method for providing diagnostic information
EP1816770A3 (en) * 2006-02-01 2007-12-26 LG Electronics Inc. Broadcast receiver, data structure and method for providing diagnostic information
EP1816770A2 (en) * 2006-02-01 2007-08-08 LG Electronics Inc. Broadcast receiver, data structure and method for providing diagnostic information
US20070263716A1 (en) * 2006-05-10 2007-11-15 Himax Technologies, Inc. Digital video broadcasting method for updating firmware image of digital set-top box or digital television
US7895637B2 (en) 2006-06-01 2011-02-22 Lg Electronics Inc. Broadcast receiver and method for providing diagnostic information
US20070283405A1 (en) * 2006-06-01 2007-12-06 Sang Hoon Cha Broadcast receiver and method for providing diagnostic information
EP1863286A1 (en) 2006-06-01 2007-12-05 LG Electronics Inc. Broadcast receiver and method for providing diagnostic information
US20080016150A1 (en) * 2006-06-29 2008-01-17 Chen Wen-Shyen E System and method for downloading information
WO2008001216A1 (en) * 2006-06-29 2008-01-03 Falconstor, Inc. System and method for downloading information
US20080077681A1 (en) * 2006-09-26 2008-03-27 Samsung Electronics Co., Ltd. Method and apparatus for upgrading software of digital broadcasting receiver
US8799433B2 (en) * 2006-09-26 2014-08-05 Samsung Electronics Co., Ltd. Method and apparatus for upgrading software of digital broadcasting receiver
US20080115189A1 (en) * 2006-11-10 2008-05-15 Stephane Lejeune TV-centric system
US20080134165A1 (en) * 2006-12-01 2008-06-05 Lori Anderson Methods and apparatus for software provisioning of a network device
US20190069027A1 (en) * 2006-12-01 2019-02-28 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
US10863239B2 (en) * 2006-12-01 2020-12-08 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
US10104432B2 (en) * 2006-12-01 2018-10-16 Time Warner Cable Enterprises Llc Methods and apparatus for software provisioning of a network device
US20090040093A1 (en) * 2007-06-06 2009-02-12 Sandor Holly Method and apparatus for using collimated and linearly polarized millimeter wave beams at brewster's angle of incidence in ground penetrating radar to detect objects located in the ground
US8299924B2 (en) 2007-06-06 2012-10-30 The Boeing Company Method and apparatus for locating objects using radio frequency identification
US7893862B2 (en) 2007-06-06 2011-02-22 The Boeing Company Method and apparatus for using collimated and linearly polarized millimeter wave beams at Brewster's angle of incidence in ground penetrating radar to detect objects located in the ground
US8289201B2 (en) 2007-06-06 2012-10-16 The Boeing Company Method and apparatus for using non-linear ground penetrating radar to detect objects located in the ground
US8051031B2 (en) 2008-02-06 2011-11-01 The Boeing Company Metadata for software aircraft parts
US8055393B2 (en) 2008-02-06 2011-11-08 The Boeing Company Method and apparatus for loading software aircraft parts
WO2009099710A1 (en) * 2008-02-06 2009-08-13 The Boeing Company Method and apparatus for loading software aircraft parts
US20090198712A1 (en) * 2008-02-06 2009-08-06 Sims Iii John Benjamin Metadata for software aircraft parts
US20090198393A1 (en) * 2008-02-06 2009-08-06 Sims Iii John Benjamin Method and apparatus for loading software aircraft parts
US20100146553A1 (en) * 2008-12-05 2010-06-10 Qualcomm Incorporated Enhanced method and apparatus for enhancing support for service delivery
US8054212B1 (en) 2009-03-27 2011-11-08 The Boeing Company Multi-band receiver using harmonic synchronous detection
US8903669B1 (en) 2009-03-27 2014-12-02 The Boeing Company Multi-band receiver using harmonic synchronous detection
US20110231150A1 (en) * 2009-06-10 2011-09-22 The Boeing Company Difference Frequency Detection with Range Measurement
US8275572B2 (en) 2009-06-10 2012-09-25 The Boeing Company Difference frequency detection with range measurement
EP2369474A1 (en) * 2009-09-18 2011-09-28 Yamaha Corporation Firmware update apparatus and program
US8621053B2 (en) 2009-09-18 2013-12-31 Yamaha Corporation Firmware update apparatus and program
EP2333661A3 (en) * 2009-09-18 2011-09-07 Yamaha Corporation Firmware update apparatus and program
US20110072423A1 (en) * 2009-09-18 2011-03-24 Yamaha Corporation Firmware update apparatus and program
CN102111429A (en) * 2009-12-28 2011-06-29 日立民用电子株式会社 Content distribution method and content reception device
US20110158251A1 (en) * 2009-12-28 2011-06-30 Hiroyuki Koreeda Content distribution method and content reception device
EP2357824A1 (en) * 2009-12-28 2011-08-17 Hitachi Consumer Electronics Co. Ltd. Content distribution method and content reception device
US8977107B2 (en) * 2009-12-31 2015-03-10 Sandisk Technologies Inc. Storage device and method for resuming playback of content
US20110158606A1 (en) * 2009-12-31 2011-06-30 Lin Jason T Storage Device and Method for Resuming Playback of Content
US9942124B2 (en) 2011-06-28 2018-04-10 Time Warner Cable Enterprises Llc Apparatus and methods for automated device testing in content distribution network
WO2017210175A1 (en) * 2016-06-03 2017-12-07 Ebay Inc. Optimization of user interface data transmission
US10375211B2 (en) 2016-06-03 2019-08-06 Ebay Inc. Optimization of user interface data transmission for a consistent multi-platform experience service delivery
US11400380B2 (en) * 2017-07-31 2022-08-02 Sony Interactive Entertainment Inc. Information processing apparatus and download processing method

Also Published As

Publication number Publication date
EP0880857A4 (en) 1998-12-09
EP0880857A1 (en) 1998-12-02
US6487723B1 (en) 2002-11-26
AU1693597A (en) 1997-09-02
WO1997030549A1 (en) 1997-08-21
DE69712320D1 (en) 2002-06-06
KR19990082617A (en) 1999-11-25
DE69712320T2 (en) 2002-11-07
EP0880857B1 (en) 2002-05-02
US5951639A (en) 1999-09-14

Similar Documents

Publication Publication Date Title
US6487723B1 (en) Multicast downloading of software and data modules and their compatibility requirements
CA2304144C (en) Downloading data
EP1252758B1 (en) Settop cable television control device and method including bootloader software and code version table for maintaining and updating settop receiver operating system software
EP1309182B1 (en) A method of providing a code upgrade to a host device having a smart card interface
US8347281B2 (en) Automatic software update detection and flexible installer for set-top boxes
TW472489B (en) Method and system for identifying and downloading appropriate software or firmware specific to a particular model of set-top box in a cable television system
US20020138592A1 (en) Method and apparatus for operating system and application selection
US8458762B2 (en) Program replacing method
US11775288B2 (en) Method and apparatus for generating difference between old and new versions of data for updating software
EP1194847A2 (en) Running and testing applications
US20080276300A1 (en) Program Execution Device
CN107147519B (en) Method, device and system for upgrading equipment
WO2008013393A1 (en) Apparatus, system and method for software upgrade
EP0968611A1 (en) Data processing system
CN110413292B (en) Light application installation method of application program, mobile terminal and storage medium
CN109358894B (en) Android equipment upgrading method and system supporting DVB
CN110851151A (en) Method, device, terminal, server and storage medium for pre-installing application
US6286037B1 (en) Data communication system, data communication method, data receiver and data receiving method
JP2005531846A (en) Software download to receiver
CN115022718B (en) Data importing method and data transmitting method
CN111694590A (en) Upgrading method of intelligent water meter
CN112748943A (en) Upgrading method and upgrading system for non-intelligent interactive electronic whiteboard
TW472490B (en) Automatic initialization of an advanced set-top box in a cable television system by downloading software or firmware over the cable system
KR20100045266A (en) A method for processing ota in set-top box
CN117707578A (en) Beacon firmware upgrading method, device and system

Legal Events

Date Code Title Description
AS Assignment

Owner name: POWERTV, INC., A GEORGIA CORP., GEORGIA

Free format text: MERGER;ASSIGNOR:POWERTV, INC., A CALIFORNIA CORPORATION;REEL/FRAME:014493/0382

Effective date: 20030430

STCB Information on status: application discontinuation

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

AS Assignment

Owner name: SCIENTIFIC-ATLANTA, LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:SCIENTIFIC-ATLANTA, INC.;REEL/FRAME:052917/0513

Effective date: 20081205

AS Assignment

Owner name: SCIENTIFIC-ATLANTA, LLC, GEORGIA

Free format text: CHANGE OF NAME;ASSIGNOR:SCIENTIFIC-ATLANTA, INC.;REEL/FRAME:052903/0168

Effective date: 20200227