|
|
|
| United States Patent | 5585866 |
| Link to this page | http://www.wikipatents.com/5585866.html |
| Inventor(s) | Miller; Larry (35 Glenmoore Dr., Greenwood Village, CO 80111);
Knudson; Edward B. (11055 W. Rowland Ave., Littleton, CO 80127);
Davis; Bruce (5505 Preserve Pkwy. South, Greenwood Village, CO 80121);
Darata; Paul (2599 W. Long Cir., Littleton, CO 80120) |
| Abstract | An electronic program schedule system having virtual channels which
includes a receiver for receiving broadcast, satellite or cablecast
television programs for a plurality of television channels and a tuner for
tuning a television receiver to a selected one of the plurality of
channels. A data processor receives and stores in a memory television
program schedule information for a plurality of television programs to
appear on the plurality of television channels. A user control apparatus,
such as a remote controller, is utilized by a viewer to choose user
control commands and transmit signals in response to the data processor
which receives the signals in response to user control commands. A
television receiver is used to display the television programs and virtual
channel programming. A video display generator receives video control
commands from the data processor and generates and displays a plurality of
virtual channels, each virtual channel being accessible as a channel and
associated with a service delivered on a subset of the channels. |
|
|
|
Title Information  |
|
|
|
|
|
Drawing from US Patent 5585866 |
|
|
Electronic television program guide schedule system and method including
virtual channels |
|
|
|
|
|
| Publication Date |
December 17, 1996 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Parent Case |
This application is a continuation-in-part of application Ser. No. 247,101,
filed May 20, 1994, which is a continuation-in-part of application Ser.
No. 119,367, Sep. 9, 1993. |
|
|
|
|
|
|
|
|
|
|
|
|
|
Title Information  |
|
|
Claims  |
|
|
We claim:
1. An electronic programming guide for use with a receiver for displaying
programs or information on a plurality of user-selectable channels, said
channels comprising service channels and virtual channels, said guide
comprising:
user control means for issuing control commands, including channel-control
commands comprising a channel up command for selecting a higher numbered
channel in a channel tuning sequence;
a data processor for receiving said control commands and for generating
video control commands;
a video display generator adapted to receive video control commands from
said data processor for generating and displaying a plurality of said
virtual channels, each of said virtual channels associated with a service
received on a subset of service channels, each of said virtual channels
identifying the subset of service channels on which its associated service
is received;
wherein a first subset of service channels is located between first and
second virtual channels in said channel tuning sequence, and said data
processor causes said receiver to select said second virtual channel in
response to said channel up command received by said data processor while
said first virtual channel is displayed by said receiver.
2. The programming guide according to claim 1 wherein each of said virtual
channels also identifies the programs or information currently being
received on each of the service channels in said identified subset.
3. The programming guide according to claims 1 or 2 wherein said service is
selected from a group consisting of video programming, audio programming,
near video on demand, video on demand, electronic game programming and
news information.
4. The programming guide according to claims 1 or 2 wherein each of said
virtual channels is selectable by issuing a user control command to tune
said receiver to any channel in said subset of service channels on which
said associated service is received.
5. The programming guide according to claims 1 or 2 further comprising
selection means for allowing a user to select a service channel in said
first subset while said first virtual channel is displayed by said
receiver.
6. The programming guide according to claim 5 wherein said data processor
causes said receiver to tune to said selected service channel in response
to a user control command to tune to said selected service channel.
7. The programming guide according to claim 5 wherein said selection means
comprises a moveable cursor displayed on said receiver and controllable
with said user control means.
8. The programming guide according to claim 5 wherein said service is
selected from a group consisting of video programming, audio programming,
near video on demand, video on demand, electronic game programming and
news information.
9. The programming guide according to claim 5 further comprising means for
identifying a programs or information currently being received on said
selected channel while said receiver remains tuned to said first virtual
channel.
10. The programming guide according to claim 9 wherein said program or
information includes video or text.
11. The programming guide according to claim 10 wherein said identified
program or information is displayed in partial overlaying relationship
with said first virtual channel.
12. The programming guide according to claim 10 wherein said identified
program is displayed in a window in a portion of said first virtual
channel.
13. The programming guide according to claim 9 wherein said program or
information comprises an audio program or information.
14. The programming guide according to claim 1 wherein said data processor
controls said video display generator to cause each of said virtual
channels also to identify a program or information scheduled to be
delivered on each of the service channels in said identified subset for a
time period other than the current time period in response to a user
time-control command.
15. In an electronic programming guide for use with a receiver for
displaying programs or information on a plurality of user-selectable
channels, said channels comprising service channels and virtual channels,
a process for accessing information on said service channels comprising:
providing a channel tuning sequence comprising a first subset of service
channels located between first and second virtual channels said sequence;
selecting said first virtual channel for display on said receiver;
generating and displaying said first virtual channel on said receiver, said
first virtual channel associated with a first service received on said
first subset of said service channels and identifying said first subset of
service channels on which its associated service is received;
issuing a channel up command for selecting a higher numbered channel in
said tuning sequence;
receiving said channel up command and generating a video control command in
response thereto;
generating and displaying-said second virtual channel in said sequence in
response to said video control command, said second virtual channel
associated with a second service received on a second subset of service
channels and identifying the second subset of service channels on which
its associated service is received.
16. The process according to claim 15 wherein each of said virtual channels
also identifies the programs or information currently being received on
each of the service channels in said subsets.
17. The process according to claims 15 or 16 wherein said service is
selected from a group consisting of video programming, audio programming,
near video on demand, video on demand, electronic game programming, and
news information.
18. The process according to claims 15 or 16 further comprising issuing a
channel control command to tune said receiver to a channel in said second
subset of service channels on which said associated service is received
and selecting said second virtual channel associated with said subset in
response thereto.
19. The process according to claims 15 or 16 further comprising selecting a
service channel in said second subset while said second virtual channel is
selected by said receiver.
20. The process according to claim 19 wherein said receiver tunes to said
selected service channel in response to a user control command to tune to
said selected service channel.
21. The process according to claim 19 wherein said selected service channel
is selected using a moveable cursor displayed on said receiver.
22. The process according to claim 19 wherein said service is selected from
a group consisting of video programming, audio programming, near video on
demand, video on demand, electronic game programming, and news
information.
23. The process according to claim 19 further comprising identifying a
program or information currently being received on said selected channel
while said second virtual channel remains selected by said receiver.
24. The process according to claim 23 wherein said program or information
includes video or text.
25. The process according to claim 24 wherein said identified program or
information appears in partial overlaying relationship with said second
virtual channel.
26. The process according to claim 24 wherein said program or information
appears in a window in a portion of said second virtual channel.
27. The process according to claim 23 wherein said program or information
is an audio program or information.
28. The process according to claim 15 wherein said second virtual channel
identifies a program or information scheduled to be received on each of
the service channels in said second subset for a time period other than
the current time period in response to a user time-control command.
29. In an electronic programming guide for use with a receiver for
displaying programs or information on a plurality of user-selectable
channels, said channels comprising service channels and virtual channels,
a process for accessing information on said service channels comprising:
providing a channel tuning sequence comprising a first subset of service
channels located between first and second virtual channels in said
sequence;
selecting said second virtual channel for display on said receiver;
generating and displaying said second virtual channel on said receiver,
said second virtual channel associated with a second service received on a
second subset of service channels and identifying said second subset of
service channels on which its associated service is received;
issuing a channel down command for selecting a lower numbered channel in
said tuning sequence;
receiving said channel down command and generating a video control command
in response thereto;
generating and displaying said first virtual channel in said sequence in
response to said video control command, said first virtual channel
associated with a first service received on said first subset of service
channels and identifying said first subset of service channels on which
its associated service is received. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
BACKGROUND OF THE INVENTION
This invention relates to an electronic program schedule system, which
provides a user with schedule information for broadcast or cablecast
programs viewed by the user on a television receiver. More particularly,
it relates to an improved electronic program guide that provides the user
with a more powerful and convenient operating environment, while, at the
same time, increasing the efficiency of navigation by the user through the
guide.
Electronic program guides for television systems are known in the art. For
example, one prior system used an electronic character generator to
display textual schedule information on the full screen of a television
receiver. Other prior systems presented electronically stored program
schedule information to a user for viewing while allowing the user to
select display formats. Still other systems employed a data processor to
input user-selection criteria, then stored only the program schedule
information meeting these criteria, and subsequently used the stored
information to automatically tune a programmable tuner or activate a
recording device at the time of broadcast of the selected television
programs. Such prior systems are generally discussed in "Stay Tuned for
Smart TV," published in the November 1990 issue of Popular Science.
Collectively, the prior electronic program systems may be difficult to
implement and cumbersome to use. They also fail to provide viewing
capabilities that address in a more realistic manner the viewing habits of
the users of these electronic program systems. Moreover, many of these
systems are complex in their design and are expensive to implement. Ease
of use and economy are primary concerns of television program distributors
and viewers as they contemplate dramatic increases in the number and
nature of program networks and other television-based services. And, as
the number of television channels available to a user increases
dramatically with the advent of new satellite and cable-based
technologies, the utility of these prior systems substantially diminishes.
These prior-art systems also fail to provide the user with sufficient
information, for example pricing and the like, about pay-per-view events,
premium services or other packaged programming to which the user does not
subscribe, nor do they provide the user with the capability to
automatically purchase such programming on demand or impulse. Moreover,
these prior-art systems are deficient in that they fail to provide an
efficient and automatic method of updating or replacing the application
software programs that implement the electronic guide at the user sites,
relying instead on manual or other cumbersome forms of revision or
replacement or hardware-based systems that can not be updated without
physical replacement of integrated circuits and/or other parts.
Nor do these prior electronic guide systems have the capability of linking
the user to other applications or information systems which are not part
of the electronic program guide application or data.
Nor do these prior electronic guide systems provide video promotion of
television programs and services that are functionally linked and visually
displayed in an integrated fashion. Program promotion is an important
element of the effective marketing of television programming. The
promotion of pay-per-view pay (i.e., "a la carte") programs and other
unregulated program services is particularly important to cable television
operators in the wake of re-regulation by the federal government. The
current method of promoting such programming using video is through
dedicated "barker" channels that use full screen continuous trailers
(i.e., previews) which may or may not be accompanied by prices and
ordering information. Recently, such promotional videos have been shown in
split screens where part of the screen shows general schedule information
for a time period roughly corresponding to the time period during which
the general program being promoted is shown. Accordingly, there exists a
need for an electronic program guide which can provide improved display
and linking of video promotions with program schedule information and
order processing functions.
The prior electronic program guides also fail to provide the user with a
simple and efficient method of controlling access to individual channels
and individual programs. The amount of adult situations involving sex and
violence has steadily increased during the last 40 years. The issue of how
this affects children or other viewers has gained national attention.
Providing a parent with the ability to lock-out a channel is a well known
and widespread feature of certain television receivers and cable converter
boxes. Despite this availability, the feature is seldom used by parents.
The main impediments to its effective use are the cumbersome ways in which
it is generally implemented, as well as the requirement that entire
channels be blocked in order to block access to any objectional
programming. A channel-oriented parental lock is unfair to other
programmers on the blocked channel--who, for example, offer adult-oriented
programming in the evening and youth-oriented programming the following
morning--and inconvenient for viewers who want access to such programs.
Thus, there is a particular need for a system which provides password
control to individual programs and channels using a flexible and
uncomplicated on-screen user interface.
The prior electronic program guides are also deficient in that they do not
provide the user with the ability to view on demand current billing status
and, thus, a need exists for a system which can provide the user with
current billing information on the user's demand.
An additional problem with prior program guides is that when displaying
schedule information in grid format, i.e., columns representing time slots
and rows representing channels, program titles generally are width-wise
truncated to fit into the cells of the grid. The width of a grid cell
varies with the duration of the program. Since a 30 minute program is
allotted only a small amount of space for the program title and
description, titles and/or descriptions for half and even full hour
programs often must be truncated in order to fit into the allotted space.
Some systems simply cut off the description of a program without
abbreviating it in any way, such that the user is unable to determine the
subject matter of the program. For example, a recent television program
display included the following text in a grid cell: "Baseball: Yankees v."
Although some systems partially alleviate this problem by providing two
lines of text in each grid cell, this solution is not ideal because
program descriptions may still be truncated.
A similar problem arises as the time slots change, either automatically or
in response to a user control command. Typically, 90 minutes of schedule
information is displayed at one time and the 90 minute window is shiftable
in 30-minute increments. In the case where a 30 minute shift causes a 30
minute size grid cell to display, e.g., a two-hour movie, it is likely
that the full title of the movie will not fit into the cell. Truncation of
the title is thus required in this situation as well. In this case, while
two lines of text may be desirable to fit the title in the 30 minute cell,
the 60 and 90 minute cells may require only one line of text to display
the title.
The prior electronic program guides also lack a method for creating a
viewing itinerary electronically while still viewing a program currently
appearing on the television receiver. Moreover, these prior program guides
leave much guess work for the user as he navigates through a sequence of
channels. When skimming through channels to ascertain the program then
being displayed on any channel, commonly known as "channel surfing," the
user needs to guess which program is currently being aired from the video
encountered as the user surfs through the channels. Since much--in some
cases, up to 30%--of the programming appearing on any given channel at any
given time is advertising or other commercial programming, the user is not
provided with any clues as to what program is appearing on a selected
channel at a given time and must therefore wait until the advertisement or
commercial is over before ascertaining the program then appearing on the
selected channel. Thus a need exists for a program guide which displays
current program schedule information for each channel as the user surfs
through the available channels.
Accordingly, there is a need in the art for a simplified electronic program
schedule system that may be more easily implemented, and which is
appealing and efficient in operation. There is also a need to provide the
user with an electronic program schedule system that displays both
broadcast programs and electronic schedule information in a manner not
previously available with other electronic program schedule systems,
particularly those using a remote controller.
For example, there is a particular need for a flexible program schedule
system that allows a user to view selected broadcast programs on a portion
of the screen of the television receiver while simultaneously viewing
program schedule information for other channels and/or services on another
portion of the screen. There is also a need for such a program schedule
system that permits the user to select from a plurality of selectable
display formats for viewing the program schedule information. It is also
preferred to have a system that indicates to the user those keys on the
remote controller that are active in any particular mode of operation.
There also exists a need for such a system that will give a user the
capability to set a programmable reminder for viewing a program scheduled
to air at a future time.
There is also a need for an electronic guide system providing the user with
comprehensive information about pay-per-view events, premium services or
other packaged programming to which the user does not ordinarily
subscribe, and which provides the user with the capability to
automatically purchase such programming on demand or impulse. There is
also a need for an electronic guide system providing a reliable and
efficient method of updating or replacing the application software that
implements the electronic guide at the user sites.
There also exists a need for an electronic program guide that operates as a
shell or window to provide the user with the capability to access other
applications or information systems that are not part of the electronic
program guide application or data.
There also exists a need for an electronic programming guide that provides
a user with a simple interface for accessing other services provided by
various programming sources, such as near video on demand, digital music
services, electronic game programming and news and information delivery
services.
It is accordingly an object of the present invention to provide a system
that will allow the user to view a broadcast program while, at the same
time, interactively viewing program schedule information for other
programs.
It is another object of the present invention to provide the user with the
ability to select from among a plurality of display formats for the
program schedule information.
It is yet another object of the present invention to indicate to the user
of the program schedule system those keys on the remote controller active
in the particular mode of operation of the system at the time of use.
It is a still further object of the present invention to provide the user
of the electronic program schedule system with the capability of setting
programmable reminder messages for any future program.
It is yet a further object of this invention to provide the system user
with comprehensive information about pay-per-view events, premium services
or other packaged programming to which the user does not subscribe and the
capability to automatically purchase such programming on demand or
impulse.
It is another object of the present invention to provide an electronic
guide system that provides a reliable and efficient method of updating or
replacing the application software programs that implement the electronic
guide at the user sites.
It is still another object of the electronic program guide to operate as a
shell or window to provide the user with the capability to access other
applications or information systems which are not part of the electronic
program guide application or data.
It is yet another object of the electronic program guide to provide a
system whereby video promotion of television programs and services are
functionally linked and visually displayed in an integrated fashion to
facilitate the marketing and sale of such programs and Services.
It is still a further object of the present invention to provide password
control for access to individual programs, as well as channels, using a
protected interactive flexible and uncomplicated on-screen interface.
Another object of the present invention is to provide the user with current
programming information for all programs as the user surfs through the
available channels.
It is yet a further object of the present invention to provide a system in
which the user can access his current billing information on demand.
It is another object of the present invention to provide a system which
overlays television program listings against varying background views.
It is yet another object of the present invention to provide an improved
display of text in the grid cells comprising a page of television program
listings.
It is yet another object of the present invention to provide an electronic
programming guide that utilizes virtual channels to simplify the interface
for accessing various digitally distributed services.
These and other objects of the invention are achieved by an electronic
program schedule system having virtual channels which includes a receiver
for receiving broadcast, satellite or cablecast television programs for a
plurality of television channels and a tuner for tuning a television
receiver to a selected one of the plurality of channels. A data processor
receives and stores in a memory television program schedule information
for a plurality of television programs to appear on the plurality of
television channels. A user control apparatus, such as a remote
controller, is utilized by a viewer to choose user control commands and
transmit signals in response to the data processor which receives the
signals in response to user control commands. A television receiver is
used to display the television programs and virtual channel programming. A
video display generator receives video control commands from the data
processor and generates and displays a plurality of virtual channels, each
virtual channel being accessible as a channel and associated with a
service delivered on a subset of the channels.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram showing various components of the preferred
embodiment of the invention herein.
FIG. 2 is a block diagram showing the combination of program and schedule
information by the video overlay device utilized in the preferred
embodiment of the invention.
FIG. 3 depicts a remote controller that can be used in connection with the
preferred embodiment of the electronic program guide system of the present
application.
FIG. 4 depicts an alternative embodiment of the remote controller shown in
FIG. 3.
FIG. 5 shows an overlay appearing on a television screen in one mode of
operation of the preferred embodiment of the present invention.
FIG. 6 is a menu that appears on a television screen in a MENU mode of
operation of the preferred embodiment of the present invention.
FIG. 6A is yet another menu that appears on a television screen in a MENU
mode of operation of the preferred embodiment of the present invention.
FIG. 7 depicts a Viewer Preference Menu that appears on a television screen
in one aspect of the preferred embodiment of the present invention.
FIG. 8 shows a Preferred Channel selection submenu.
FIG. 9 shows an impulse ordering menu that appears on a television screen
in one aspect of the preferred embodiment of the present invention.
FIG. 10 shows a Premium Services submenu that appears in one mode of
operation of the preferred embodiment of the present invention.
FIG. 11 shows a graphic overlay appearing on a television screen in a
BROWSE mode of operation of the preferred embodiment of the present
invention.
FIG. 12 shows a graphic overlay appearing on a television screen in a
BROWSE mode of operation of the preferred embodiment of the present
invention having different information from that shown in FIG. 11.
FIG. 12A shows a graphic overlay appearing on a television screen in a
BROWSE mode of operation in the present invention displaying schedule
information for a time and channel other than that shown in FIG. 11.
FIG. 13 shows a graphic overlay appearing in a REMINDER mode of operation
of the preferred embodiment of the present invention.
FIG. 14 shows yet another graphic overlay appearing in a REMINDER mode of
operation of the preferred embodiment of the present invention.
FIG. 15 is yet another menu that appears on a television screen in a MENU
mode of operation of the preferred embodiment of the present invention.
FIG. 16 is yet another menu that appears on a television screen in a MENU
mode of operation of the preferred embodiment of the present invention.
FIG. 17 is yet another menu that appears on a television screen in a MENU
mode of operation of the preferred embodiment of the present invention.
FIG. 18 shows a grid listing of schedule information displayed in an All
Listings mode of operation of the preferred embodiment of the present
invention.
FIG. 19 shows schedule information displayed in a Listings By Category mode
of operation of the preferred embodiment of the present invention.
FIG. 20 shows schedule information displayed in a Listings By Channel mode
of operation of the preferred embodiment of the present invention.
FIG. 21 shows information displayed in response to a user's request for
supplemental programming information.
FIG. 22 shows programming, ordering and video promotional information
displayed in a Pay-Per-View mode of operation of the preferred embodiment
of the present invention.
FIG. 23 shows an ordering submenu used in conjunction with the mode of
operation shown in FIG. 22.
FIG. 24 shows yet another ordering submenu used in conjunction with the
mode of operation shown in FIG. 22.
FIG. 24A shows yet another ordering submenu used in conjunction with the
mode of operation shown in FIG. 22.
FIG. 25 shows another grid listing of schedule information displayed in an
All Listings mode of operation of the present invention.
FIG. 26 shows a Premium Services submenu that appears in one mode of
operation of the preferred embodiment of the present invention.
FIG. 27 shows a Messages menu that appears in one mode of operation of the
preferred embodiment of the present invention.
FIG. 28 shows exemplary messages used in connection with the menu of FIG.
27.
FIG. 28A is an alternative message menu.
FIG. 29 shows billing information used in connection with the menu of FIG.
27.
FIG. 30 shows a Key Lock Access menu that appears during one mode of
operation of the preferred embodiment of the present invention.
FIG. 31 shows a menu appearing in connection with an Interactive Television
mode of operation of the preferred embodiment of the present invention.
FIG. 32 shows information that appears in a Quote Watch menu in connection
with the Interactive Television mode of operation shown in FIG. 31.
FIG. 33 shows other information that appears in connection with the
Interactive Television mode of operation shown in FIG. 31.
FIG. 34 is a menu showing information that appears in a news display in the
Interactive Television mode of operation of the preferred embodiment of
the present invention.
FIG. 35 is a menu showing information that appears in a sports display in
the Interactive Television mode of operation of the preferred embodiment
of the present invention.
FIG. 36 is a flow chart showing the operation logic required for
implementation of a computer program for the electronic program guide.
FIG. 37 is a menu showing a Locator screen for locating channel numbers and
defining favorite channel lists.
FIG. 38 is an alternative menu that can be used in a MENU mode of operation
of the electronic program guide.
FIG. 38A and 38B show, respectively, an alternative main menu screen and a
listing-by-time screen accessible from the alternative main menu.
FIG. 39 is a Lockout menu that alternatively can be used for permitting or
prohibiting access to certain programs.
FIG. 40 is a Setup menu that can be used to set text location and a
purchase code for premium and pay-per-view programming.
FIG. 40A shows an exemplary menu for inputting a lockout code.
FIGS. 40B through 40E show, respectively, exemplary menus for entering,
confirming, clearing or changing a purchase code.
FIG. 41 is a Lockout Verify menu that is used in connection with the
Lockout menu of FIG. 39.
FIG. 42 is a flow chart showing the operation of the preferred embodiment
of the textfit system of the invention herein.
FIG. 43 shows one embodiment of a channel 40 DMX (digital music service)
virtual channel television screen display.
FIG. 44 shows an alternative embodiment of a channel 40 DMX virtual channel
television screen display which incorporates a LISTEN function.
FIG. 45 shows another alternative embodiment of a channel 40 DMX virtual
channel television screen display which includes a LISTEN function and a
LOOK AHEAD function.
FIG. 46 shows one embodiment of a LOOK AHEAD television screen display for
a virtual channel DMX service.
FIG. 47 shows one embodiment of a FLIP mode television screen display for a
virtual channel DMX service.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
System Configuration
FIG. 1 is a block diagram showing various components of the electronic
program schedule system generally designated as 10. Physically, these
system components can be located in a user's set-top cable converter box
or other signal reception or processing device, such as a satellite
receiver. Alternatively, the components can be mounted in a separate
housing, or included as part of a television receiver, VCR, personal
computer, or multimedia player; or reside as a distributed application in
a broadband network architecture.
An input signal 11 is connected to a receiver 12, which receives a
transmitted data stream from a data provider. The data stream may contain,
for example, information about programs or services available in a
particular market, geographical or otherwise. The input signal 11 can
originate, for example, as part of a standard broadcast, cablecast or
satellite transmission, or other form of data transmission. The data
provider is a program information provider, the satellite uplink manager,
a local cable operator, or a combination of these sources, and the data
stream contains program schedule information for all television programs
and other services available in the operator's geographical market.
The data stream may be modulated and then transmitted on the cable line in
any number of ways, including as part of a dedicated channel transmission
operating at a frequency of, for example, 75 MHz. Those of skill in the
art will understand that numerous other transmission schemes can be used
to transmit the data stream, such as embedding it in the vertical blanking
interval of a program broadcast signal. As will be discussed in greater
detail below, according to the present invention, the transmitted data
stream may additionally contain application software for implementing or
updating the electronic program guide at the user site.
The transmitted program schedule data or application software is received
by the receiver 12 on signal input line 11. The received signal is passed
from the receiver to a data demodulator 13, such as a QPSK demodulator or
a GI Info-Cipher 1000R, which demodulates the transmission and passes it
to a buffer 15.
A microcontroller 16, such as a M68000EC, receives data passed to the
buffer 15. Bootstrap operating software, which may be used for capturing
electronic program guide application software updates, is stored in a read
only memory (ROM) 17. The microcontroller 16 uses the received program
schedule information to build a database by storing the data in
appropriately organized records in dynamic random access memory (DRAM) 18.
The stored schedule information can be updated on a periodic basis, such
as hourly, daily or weekly, or at any time when changes in scheduling or
other factors warrant an update. The system also includes a system clock
19.
Alternatively, the program schedule information could be supplied in a ROM,
disk or other non-volatile memory, or it could be downloaded to a storage
disk or other data storage device. The invention herein is not directed to
the particular method of transmission or reception of the schedule
information.
If the microcontroller 16 recognizes the received data as application
software which controls the program schedule system, as opposed to program
schedule information, it stores it in non-volatile memory, such as an
electrically erasable programmable ROM (EEPROM) 20 or battery-backed
static RAM (SRAM). This configuration allows revised or replacement
versions of the application software to be downloaded directly from the
software developer to the user site through the cable or other
transmission system.
In the case where an EEPROM is utilized, revised or replacement versions of
the application software downloaded from the developer are first stored in
DRAM 18 by the microcontroller 16, under direction of the downloading
operating software stored in the ROM 17. The stored application software
can then be checked for accuracy by, for example, a checksum analysis or
other verification routine.
After the accuracy of the application software has been verified, the
microcontroller 16 initiates a routine to re-program the EEPROM 20, where
the application software is permanently stored. The microcontroller 16
will issue proper control commands to a reprogram circuit 21, which is
adapted to supply the proper program voltage and logic control signals 22
required to erase and write to the EEPROM. It supplies this program
voltage, Vprog, as well as any other required control signals, such as
read or write enable, to the EEPROM 20 upon command from the
microcontroller 16. After the EEPROM 20 has been electrically erased, the
microcontroller 16 initiates transfer of the new application software from
the DRAM 18 to the EEPROM 20 for storing.
When a battery-backed SRAM is utilized as non-volatile memory, the
microcontroller stores the revised or replacement version of the
application software downloaded from the developer directly in the SRAM,
again under direction of the downloading operating software stored in the
ROM. The stored application software can then be checked for accuracy by,
for example, a checksum analysis or other verification routine.
When power is first applied to the system 10, the bootstrap operating
software verifies that the program guide application software is resident
in memory. If it is not resident, the bootstrap operating software waits
for a download of the software. Once the application software is resident,
the microcontroller 16 executes the application program software from a
dedicated portion of the DRAM 18. Alternatively, the application software
can be executed directly from the nonvolatile memory 20. Under control of
the program guide application software, the microcontroller 16 first
verifies that the program schedule information is resident in DRAM 18. If
it is not resident, the microcontroller waits for a download of the
program schedule information, as discussed above. Alternatively, if the
application program is resident in memory, but the database records
containing the program schedule information data are not yet available,
the application software can be configured to carry out other tasks, such
as allowing the user to carry out f | | |