Access system and method for providing interactive access to an information source through a television distribution system

An access system and method for providing interactive access to an information source through a television distribution system is disclosed. The distribution system includes a television distribution network, headend distribution equipment at the headend of the distribution network, and a plurality of terminals at terminal ends of the distribution network. An input device and an upstream transmitter are associated with one of the terminals to input a command for the information source and to transmit the inputted command on an upstream channel of the distribution network, respectively. A headend server, upstream receiver, and blank interval inserter are associated with the headend distribution equipment. The headend server is interfaced to the information source. The upstream receiver is interfaced to the headend server to receive and forward the command to the headend server. The headend server transmits the forwarded command to the information source, and the information source transmits responsive information to the headend server. The blank interval inserter receives the information from the headend server and inserts sequential portions into blank intervals of sequential picture fields of a television transmission on a downstream channel of the distribution network. The blank interval extractor is interfaced to the terminal to extract the inserted sequential portions. The extracted information is then displayed on a display device associated with the terminal.

FIELD OF THE INVENTION 
The present invention relates generally to an access system and method for 
providing interactive access to an information source-without the need for 
expensive computer hardware. More particularly, the present invention 
relates to providing access to the Internet through a cable television 
distribution system. 
BACKGROUND OF THE INVENTION 
As is well-known, "internet" a world-wide interconnected network of 
computers, and access to the Internet may be had for purposes of 
communication, research, entertainment, and the like. However, and as is 
also well-known, such access normally requires the use of relatively 
expensive equipment including a personal computer and related hardware and 
software. Since a first significant percentage of the general population 
cannot afford such expensive equipment, such first population is prevented 
from accessing the Internet. 
Further, using such a personal computer and related equipment requires a 
relatively high degree of technical sophistication and commitment. 
Accordingly, even if a user can afford to buy a system including a 
personal computer, a printer, a modem, cables, and other necessary related 
gear, the user must properly connect and configure each device, must learn 
how to operate each device, and must update hardware and software as 
necessary to maintain the system. Since a second significant percentage of 
the general population does not have the technical sophistication required 
for such a system, and since a third significant percentage of the general 
population either cannot or will not dedicate the time and resources 
necessary to learn, operate, and maintain such a system, such second and 
third populations are prevented from accessing the Internet. Accordingly, 
a need exists for an access system and method that is relatively 
inexpensive, that requires only a minimum of technical sophistication and 
commitment, and is relatively easy to use. 
SUMMARY OF THE INVENTION 
The aforementioned need is satisfied by an access system and method for 
providing an interactive access system to an information source through a 
television distribution system which includes a television distribution 
network, headend distribution equipment, and a plurality of terminals. The 
television distribution network has a network headend, a plurality of 
terminal ends, a plurality of upstream channels, and a plurality of 
downstream channels. Each downstream channel carries a television 
transmission which includes a plurality of sequentially transmitted 
picture fields, and each transmitted picture field including a picture 
interval corresponding to a transmission of pixelated picture data and a 
blank interval corresponding to a transmission of no pixelated picture 
data. Each upstream channel carries data transmissions to the network 
headend. 
The headend distribution equipment is interfaced to the network headend of 
the television distribution network for distributing the television 
transmissions over the respective downstream channels of the television 
distribution network. Each terminal is interfaced to a terminal end of the 
television distribution network for receiving the television transmissions 
over the respective downstream channels of the television distribution 
network, and is also interfaced to a display device for displaying a 
selected one of the television transmissions. 
The access system includes an input device, an upstream transmitter, a 
headend server, an upstream receiver, a blank interval inserter, and a 
blank interval extractor. The input device is associated with one of the 
terminals for inputting into the terminal a command for the information 
source. The upstream transmitter is associated with the terminal and 
transmits the inputted command on an upstream channel of the distribution 
network. The headend server is associated with the headend distribution 
equipment and is interfaced to the information source. The upstream 
receiver is also associated with the headend distribution equipment and is 
interfaced to the headend server for receiving the inputted command on the 
upstream channel of the distribution network and for forwarding the 
received command to the headend server. 
The headend server transmits a command based on the forwarded command to 
the information source, and the information source transmits information 
to the headend server in response to the forwarded command. The blank 
interval inserter is associated with the headend distribution equipment 
and is interfaced to the headend server to receive information based on 
the transmitted information from the headend server and to insert 
sequential portions of the received information into the blank intervals 
of sequential picture fields of at least one of the television 
transmissions. The blank interval extractor is interfaced to the terminal 
for extracting the inserted sequential portions of the information from 
the blank intervals of the sequential picture fields of the television 
transmissions. The extracted information is then displayed on the display 
device.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENT 
Referring to the drawings in detail, wherein like are used to indicate like 
elements throughout, there is shown in FIG. 1 a preferred embodiment of an 
access system 10 for providing interactive access to an information source 
through a television distribution system 11. As seen, the components of 
the access system 10 and of the television distribution system 11 are by 
necessity commingled. Preferably, the television distribution system 11 is 
a cable television distribution system 11 comprising a nodal television 
distribution network 12 of branched fiber-optic and/or coaxial cable 
lines. As one skilled in the art will appreciate, such a television 
distribution system 11 and network 12 are well-known and are used 
extensively by cable television service providers throughout the United 
States. However, one skilled in the art will also recognize that other 
types of television distribution systems 11 and networks 12 may be 
employed without departing from the spirit and scope of the present 
invention. Such other types of television distribution systems and 
networks include but are not limited to orbiting satellite systems, 
terrestrial wireless cable systems, and the like. 
As seen in FIG. 1, the television distribution network 12 has a network 
headend 14 and a plurality of terminal ends 16. As should be understood, 
and referring now to FIGS. 2A and 2B, the network 12 has a frequency 
spectrum which is divided into a plurality of RF-modulated downstream 
channels 20 (FIG. 2A) and a plurality of RF-modulated upstream channels 22 
(FIG. 2B), where each downstream channel 20 carries a television 
transmission 24 from the network headend 14 to the terminal ends 16, and 
each upstream channel carries data transmissions 26 from the terminal ends 
16 to the network headend 14. 
As seen in FIG. 2A, each television transmission 24 on a respective 
downstream channel 20 includes a plurality of sequentially transmitted 
picture fields 28, where each transmitted picture field 28 includes a 
picture interval 30 corresponding to a transmission of pixelated picture 
data, and a blank interval or vertical blanking interval 32 corresponding 
to a transmission of no pixelated picture data. As is known, the blank 
interval 32 is necessary due to constraints imposed by electron gun 
display devices. More particularly, many (but not all) television display 
devices employ an electron gun (not shown) and a phosphorescent screen 
(also not shown) to display a television transmission 24, and a picture 
from a transmitted picture field 28 is created on the screen by focusing 
the electron gun to fire electrons onto the screen in a series of 
horizontal lines sequentially applied from the top of the screen to the 
bottom. Accordingly, after the end of a first picture field 28, a vertical 
blanking interval 32 is necessary at the beginning of a second picture 
field 28 to allow time to retrace the electron gun from the bottom of the 
screen to the top. As is known, each transmitted picture field 28 also 
includes a horizontal blanking interval (not shown) between each 
transmitted horizontal line to allow time to retrace the electron gun from 
the end of one line to the beginning of another line. As is also known, 
each picture field 28 in the USA broadcasting convention is 1/60th of a 
second in temporal length T, and two picture fields 28 combine to form one 
picture frame. 
As seen in FIG. 1, the network headend 14 of the television distribution 
system 11 is connected to a cable headend 34, and the cable headend 34 
includes cable headend equipment or headend distribution equipment 36 and 
a headend server 38. Referring now to FIG. 4, it is seen that the cable 
headend equipment 36 includes a cable network headend controller 44 for 
controlling the distribution of the television transmissions 24 over the 
respective downstream channels 20 of the television distribution network 
12. The headend controller 44 is well-known and therefore need not be 
further described here. 
For each downstream channel 24, the cable headend equipment 36 may also 
include a video scrambler 46 for receiving the television transmissions 24 
in the form of video programming and scrambling such video programming 24 
(only one video scrambler 46 is shown in FIG. 4). As should be understood 
by one skilled in the art, not all television distribution systems 11 
scramble, and scrambling is not a requirement in the preferred embodiment 
of the present invention. An RF modulator 48 is included in the cable 
headend equipment for each downstream channel 20 to modulate the 
respective television transmission 24 to the downstream channel 20 
frequency (only one RF modulator 48 is shown in FIG. 4), and a single RF 
combiner 50 receives the outputs from all RF modulators 48 and combines 
such outputs to form a single signal. The single signal output from the RF 
combiner 50 is fed to a diplex filter 52 and then to the network headend 
14. As should be understood, the diplex filter 52 also receives the 
upstream data transmissions 26 on the upstream channels 22 and separates 
out such upstream data transmissions 26 to be sent further upstream. 
Referring again to FIG. 1, it is seen that the television distribution 
system 11 also has a plurality of set top converters or terminals 54, each 
terminal 54 being interfaced to a terminal end 16 of the television 
distribution network 12 for receiving the television transmissions 24 over 
the respective downstream channels 20 of the television distribution 
network 12. As should be understood, each terminal 54 is for selecting one 
of the downstream channels 20 and is for being interfaced to a display 
device 56 for displaying the television transmission 24 carried on the 
selected downstream channel 20. Typically, the display device 56 is a 
tunable television set, although one skilled in the art will recognize 
that a non-tunable television monitor may also be employed without 
departing from the spirit and scope of the present invention. 
With the television distribution system 11 as thus far described, the 
access system 10 will now be discussed. Still referring to FIG. 1, it will 
be seen that the access system 10 includes an input device 58 associated 
with one of the terminals 54 for inputting into the terminal a command for 
an information source 60. As seen in FIG. 6, the command input into the 
terminal 54 by the inputting device 58 is transmitted by an upstream 
transmitter 106 on an RF-modulated upstream channel 22 of the television 
distribution network 12 from the terminal 54 to the cable headend 
equipment 36. 
Preferably, the information source 60 is an Internet service provider 
having access to the well-known Internet intercommunications network. 
However, one skilled in the art will recognize that other information 
sources may be accessed without departing from the spirit and scope of the 
present invention. For example, the information source 60 may be a local 
information source at the cable headend 34, an E-mail interchange, a "chat 
room" interchange, the application server 68 itself, or the like. 
Referring again to FIG. 4, all upstream channels are received from the 
network headend 14 of the cable distribution network 12 at the diplex 
filter 52, are separated by the diplex filter 52 from the downstream 
channels 20, and are forwarded to RF demodulators 62, one RF demodulator 
62 for each upstream channel 22 (only one RF demodulator 62 is shown in 
FIG. 4). Accordingly, the RF-modulated upstream channel 22 having the 
transmitted command is demodulated, and the command is forwarded to an 
upstream data-receiver 64 which in turn forwards the received command to 
the headend server 38 (as seen in FIGS. 1 and 3). 
As seen, the headend server 38 is associated with the cable headend 
equipment 36 and is interfaced to the information source 60. Accordingly, 
the headend server 38 transmits a command based on the forwarded command 
from the upstream receiver 64 to the information source 60 by way of the 
router 40 and the CSU/DSU 42. More specifically, and referring now to FIG. 
3, the headend server 38 is preferably partitioned into a communications 
controller 66 and an application server 68, and the command from the 
upstream receiver 64 is received by the communications controller 66 and 
is then forwarded to the application server 68. As will be discussed more 
fully below, the communications controller 66 packetizes downstream data, 
de-packetizes upstream data, handles session requests from terminals 54, 
and otherwise performs functions necessary to maintain communications 
between the application server 68 and the terminals 54. 
Referring now to FIG. 5, it is seen that the application server 68 includes 
a set top communications module 70 in communication with the 
communications controller 66 for interfacing the application server 68 to 
the communications controller 66, and the received command from the 
communications controller 66 is forwarded to the set top communications 
module 70 and then in turn forwarded to a session manager 72. As should be 
understood, the session manager 72 manages multiple sessions from multiple 
set top terminals 54, and therefore maintains an association between the 
received command and the terminal 54 that originated the received command. 
Depending on the command and the current application, the received command 
is forwarded by the session manager 72 to one of several user agents 74. 
As should be understood, the user agents 74 include a browser for browsing 
through the information source 60, an E-mail agent for facilitating E-mail 
through the information sources 60, a chat agent for facilitating on-line 
chat sessions, and the like. User agents are well-known and therefore need 
not be described here in more detail. 
In response to a received command, a user agent 74 issues one or more 
further commands based on the received command in a format understandable 
by the information source 60, and the issued commands are forwarded to the 
information source 60 by way of a post office 76, a caching engine 78, or 
by bypassing the post office 76 and the caching engine 78. As should be 
understood, the post office 76 facilitates the sending and receiving of 
E-mail, and the caching engine 78 stores and forwards traffic in either 
direction. In addition, the caching engine 78 may keep track of issued 
commands and store certain data if requested on a regular basis. As should 
also be understood, the post office 76 and the caching engine 78 may be 
bypassed when not needed, e.g. during an on-line chat session. As with 
user agents, post offices and caching engines are well-known and therefore 
need not be described here in more detail. 
Preferably, the application server 68 also has a user database manager 80A 
in combination with a user database 80 for managing access system user 
information. As should be understood, such information includes 
information on each user, certain characteristics and attributes 
associated with each user, information on frequently accessed information 
for each user, and the like. The application server 68 may also have a 
billing interface module 82 associated with a billing interface 82A for 
purposes of billing users for use of the access system 10. As one skilled 
in the art will recognize, the billing interface 82A can connect with any 
of a plurality of known accounting systems for purposes of billing, 
including the accounting system for billing use of the television 
distribution system 11. 
Preferably, the application server 68 includes an information source 
interface 84 for allowing the application server 68 to communicate with 
the information source 60 by way of whatever protocol the information 
source 60 may be expecting. For example, if the information source 60 is 
an Internet service provider, the protocol would preferably be the TCP/IP 
(transmission control protocol/Internet protocol) protocol normally used 
to communicate on the Internet. However, depending on the information 
sources 60, one skilled in the art will recognize that other protocols may 
be employed without departing from the spirit and scope of the present 
invention. 
Preferably, and referring again to FIG. 1, the interface 84 in FIG. 5 
communicates with the information source 60 by way of a router 40 and a 
consumer service unit/digital service unit (CSU/DSU) 42 associated with 
the cable headend 34. As should be understood, the router 40 is connected 
to the interface 84 for routing/pipelining data between the information 
source 60 and the interface 84, and the CSU/DSU 42 (also seen in FIG. 1) 
is a service unit for interfacing the router 40 to the information source 
60. Both routers and CSU/DSUs are well-known and therefore further 
description is not necessary. Moreover, one skilled in the art will 
recognize that other methods of interfacing the information source 60 to 
the headend server 38 may be employed without departing from the spirit 
and scope of the present invention. Further, one skilled in the art will 
also recognize that not all commands need be forwarded to the information 
source 60. For example, if requested information is already available in 
the application server 68 at the caching engine 78 (a highly requested 
Internet home page, for example), the information source 60 need not be 
communicated with to procure the requested information. Likewise, if the 
command is a message from a first terminal 54 to a second terminal 54 by 
way of the headend server 38 (as discussed below), no communication need 
be had with the information source 60. 
Once the information source 60 has received a command, the information 
source 60 preferably processes the command to produce information in 
response thereto. The produced information is transmitted by the 
information source 60 to the headend server 38, and must then be sent to 
the terminal 54 from which the corresponding command originated. 
Accordingly, and as seen in FIG. 5, the information from the information 
source is received in the application server 68 by way of the interface 84 
and is forwarded through the post office 76 and/or the caching engine 78 
to the appropriate user agent 74. 
As should be recognized, depending upon the information source 60, the 
information from the information source 60 may not be in a form that is 
compatible for display on the display device 56 associated with the 
terminal 54. More particularly, in the situation where the information 
source 60 is an Internet service provider, the information will likely 
include graphics in a first graphic form (e.g. a screen having 640 
pixels.times.480 pixels.times.256 colors) while the terminal 54 and 
display device 56 are likely expecting the information to be in a second 
graphics form (e.g. 320 pixels.times.200 pixels.times.16 colors). 
Accordingly, the graphics portion of the information must be converted by 
a graphics processor 86 in communication with the caching engine 78. The 
operation of a graphics processor in converting graphic data from one form 
to another is well-known and need not be further described here. 
The information from the information source 60 is forwarded by the user 
agent 74 to a terminal display manager 88. Preferably, the terminal 
display manager 88 is designed to minimize the actual amount of 
information that must be transmitted to the terminal 54. Accordingly, it 
is preferable that the terminal display manager 88 render screens at the 
application server 68 for display at the appropriate terminal 54, that the 
terminal display manager 88 retain information on the screen currently 
being displayed at the appropriate terminal 54, and that the terminal 
display manager 88 transmit only the information necessary to refresh 
portions of a screen that are to be changed. The process of rendering 
screens for display by a screen renderer or the like is well-known and 
need not be further described here. 
As should be understood, transmitting only refresh information can greatly 
reduce the amount of downstream information that must be sent to the 
terminal 54, especially if only a small change to a screen is necessary. 
Preferably, the terminal 54 is programmed to operate based on such refresh 
information. 
The refresh information from the terminal display manager 88 and other 
information from the application server 68 is forwarded to the 
communications controller 66 by way of the set top communication module 
70. Referring again to FIG. 4, the communications controller 66 receives 
the forwarded information and in turn forward such information to a 
vertical blanking interval (VBI) data inserter or VBI inserter 90. As 
should be understood, a VBI inserter 90 is provided for each downstream 
channel 20 (only one VBI inserter 90 is shown in FIG. 4) to insert 
sequential portions of the forwarded information from the communications 
controller 66 into the blank intervals 32 of sequential picture fields 28 
of the television transmission 24 of the respective downstream channel 20. 
As seen, each VBI inserter 90 is interposed in a downstream flow between 
the cable headend controller 44 and a respective video scrambler 46. As 
should be understood, many manufacturers provide a VBI inserter 90 and a 
video scrambler 46 in a combined package. Once the information from the 
communications controller 66 is inserted into the blank intervals 32 of a 
television transmission 24, the inserted information then proceeds with 
the television transmission 24 through the video scrambler 46, the RF 
modulator 48, the RF combiner 50, the diplex filter 52, and the cable 
distribution network 12 to the terminal 54 from which the corresponding 
command originated. As one skilled in the art should appreciate, in some 
circumstances a horizontal blanking interval (HBI) data inserter (not 
shown) may be employed instead of the VBI inserter 90 without departing 
from the spirit and scope of the present invention. 
Referring now to FIG. 6, it will be seen that the terminal 54 includes an 
RF tuner 94 and a downstream VBI extractor 92. More particularly, the RF 
tuner 94 is preset to tune in and demodulate the downstream channel 20 
having the television transmission 24 with the inserted information, and 
the VBI extractor 92 extracts the inserted sequential portions of the 
inserted information from the blank intervals 32 of the sequential picture 
fields 28 of the demodulated television transmission 24. The extracted 
information is then forwarded to a terminal processor 96. 
As one skilled in the art will recognize, a significant advantage is 
obtained from employing VBI insertion and extraction to send downstream 
data from the headend server 38 to the terminal 54 in that the equivalent 
baud rate of such down stream data can approach 100K or more. More 
particularly, assuming the equivalent baud rate of each blank line in a 
VBI is about 12.5K, and assuming eight lines of each VBI are employed by 
the access system 10 of the preferred embodiment of the present invention, 
the 100K equivalent baud rate is achieved. 
Preferably, the inserted information sent downstream from the cable headend 
equipment 36 is coded and/or compressed by the terminal display manager 88 
using well-known techniques to minimize transmission time. Preferably, the 
processor 96 includes software for performing the function of decoding and 
decompressing the coded and/or compressed refresh information. 
Alternatively, the terminal 54 may include a decoding and/or decompression 
module 98 interposed between the VBI extractor 92 and the processor 96 for 
decoding and decompressing the coded and/or compressed refresh information 
before such information is presented to the terminal processor 96. As seen 
in FIG. 6, the terminal processor 96 may be associated with a memory 100 
to facilitate the various processing functions performed thereby. 
Preferably, the terminal processor 96 and the memory 100 produce display 
information from the extracted information, and the display information is 
displayed on the display device 56. Preferably, the extracted information 
includes the screens rendered by the terminal display manager 88 of the 
application server 68. The process of producing display information by a 
set top terminal 54 and terminal processor 96 is well-known and need not 
be further described here. 
Preferably, and as seen in FIGS. 1 and 6, the input device 58 for inputting 
the commands into the terminal 54 is a computer-style keyboard 58. 
Accordingly, a user of the access system 10 can type word commands, 
E-mail, and the like. Also preferably, the keyboard 58 includes a mouse 
device for moving a graphic pointer displayed on the display device 56. 
Preferably, the keyboard 58 includes an infrared (IR) transmitter 102 for 
transmitting keystroke signals from the keyboard 58 in the form of an IR 
transmission. Correspondingly, it is also preferable that the terminal 54 
include an IR receiver 104 for receiving the IR transmissions from the 
keyboard 58 and for forwarding signals corresponding to the transmitted 
keystroke signals to the terminal processor 96. 
However, the keyboard 58 may be tethered to the terminal 54 without 
departing from the spirit and scope of the present invention. 
Additionally, the keyboard 58 may be replaced with a remote control device 
having directional buttons and an execute button without departing from 
the spirit and scope of the present invention. As should be understood, 
such a remote control device is of the type typically employed with a 
terminal 54 in a television distribution system 11 for inputting into the 
terminal 54 a selection of one of a plurality of downstream channels 20 
for display on the display device 56. Regardless of the source of the 
command, the terminal 54 transmits the command by way of the upstream 
transmitter 106 as a data transmission 26 on one of the upstream channels 
22 of the television distribution network 12. 
In the access system 10 of the preferred embodiment of the present system, 
the headend server 39 is a centralized processor for each of the plurality 
of the terminals 54. Accordingly, the upstream receiver 64 may receive a 
plurality of inputted commands from a plurality of the terminals 54 on one 
or more of the upstream channels 22 of the distribution network 12, and 
then forward the respective received commands to the headend server 38. As 
should now be understood, the headend server 38 transmits commands based 
on the respective forwarded commands to the information source 60, the 
information source 60 transmits the information to the headend server 38 
in response to the respective forwarded commands, the VBI inserter 90 
receives information based on the respective transmitted information from 
the headend server 38 and inserts sequential portions of the received 
information into the blank intervals 32 of sequential picture fields 28 of 
at least one of the television transmissions 24, and each of the blank 
interval extractors 92 in the respective terminals 54 extracts the 
respective inserted sequential portions of the information. 
Preferably, the headend server 39 acting as a centralized processor for 
each of the plurality of the terminals 54 allows for terminal-to-terminal 
communications, at least among the terminals 54 in the television 
distribution system 11. As should be understood, in such communication, a 
message is sent from a first terminal 54 to the headend server 38 and is 
then routed by the headend server 38 to a second terminal 54, bypassing 
the information source 60. Preferably, the message is an e-mail message or 
is a message transmitted during a chat session. 
The transmission of upstream and downstream data between the terminal 54 
and the communications controller 66 of the headend server 38 will now be 
described with reference to FIGS. 7-10F. Preferably, each upstream channel 
22 of the television distribution network 12 is multiplexed into a 
plurality of upstream slots 108, as sees in FIG. 2B, where the temporal 
length T of each slot 108 is equal to the temporal length T of picture 
field 28, As seen in FIG. 2A. Also preferably, a plurality of the upstream 
channels 22 are paired with each downstream channel 20. In the preferred 
embodiment of the present invention, up to four upstream channels 22 are 
paired with each downstream channel 20. Also preferably, each terminal 54 
on the system 10 is assigned to at least one of the upstream slots 108 at 
any one time. 
Preferably, and referring now to FIG. 7, each transmission of downstream 
data from the communications controller 66 of the headend server 38 is in 
the form of at least one downstream packet 110. As seen in FIG. 7, the 
downstream packet 110 includes a four-byte cyclical redundancy check (CRC) 
value based on the rest of the downstream packet 110, where the CRC value 
is employed to detect any corruption of the data in the packet 110. The 
use of CRC values is well-known and, therefore, need not be further 
described. 
The downstream packet 110 also includes four SND bytes (SND A-SND D), where 
each SND byte corresponds to an upstream channel 22 associated with the 
downstream channel 20 on which the downstream packet 110 is being sent. 
Each SND byte contains a session ID of a sender (i.e., a terminal 54) that 
is allowed to transmit upstream data in the next upstream slot 108 of the 
corresponding upstream channel 22. For example, if the SND B byte has a 
value of `1`, then the terminal 54 assigned the session ID `1` may 
transmit in the next upstream slot 10B on the upstream channel 22 that 
corresponds to `B`. Preferably, if a particular SND byte has a value of 
zero, any terminal 54 is allowed to transmit in the next corresponding 
upstream slot 108, for example, to request a new session. 
Each downstream packet 110 also has four acknowledgment (ACK A-ACK D) 
bytes, where each ACK byte corresponds to an upstream channel 22 
associated with the downstream channel 20 on which the downstream packet 
110 is being sent. As should be understood, each ACK byte is sent in 
response to the successful receipt of upstream data on a respective 
upstream channel 22 in the previous upstream slot 108. Preferably, each 
ACK byte includes the session ID of the transmitting terminal 54 and a 
check bit indicating whether the serial number of the upstream packet 
being acknowledged was an even or an odd number. 
The downstream packet 110 also has a two-byte packet serial number, 
followed by a multi-byte payload. Referring now to FIG. 8A, it is seen 
that a downstream data payload 112 includes a one-byte payload session ID 
for identifying the session ID of the intended receiving terminal 54 for 
the payload, a two-byte length indicator, and the contents of the data 
being sent in the packet. As should be understood, although all terminals 
54 on the downstream channel 20 will receive all downstream packets 110, a 
particular terminal 54 will ignore the contents of the data being sent in 
the packet 110 unless the data payload 112 has a payload session ID 
corresponding to the session ID of the terminal 54. 
Preferably, a downstream packet 110 periodically has a housekeeping payload 
114 rather than a data payload 112, as seen in FIG. 8B. As seen, the 
housekeeping payload 114 includes four channel bytes, each channel byte 
identifying a respective one of the four upstream channels 22 associated 
with the downstream channel 20 on which the downstream packet 110 is being 
sent. Accordingly, if a terminal 54 wishes to initiate a session on the 
access system 10, the terminal 54 must listen on the downstream channel 20 
for a housekeeping packet 114, and upon receipt of such housekeeping 
packet can determine what upstream channels 22 are associated with the 
downstream channel 20. The terminal 54 can then send a session request on 
one of the associated upstream channels 22. 
If session requests were recently made and acted upon by the communications 
controller 66, the housekeeping payload 114 also includes a number of 
session request (log-in) acknowledgements (LACKs). In particular, the 
housekeeping payload 114 includes a one-byte indicator of the number of 
LACKs, followed by each LACK. As seen, each LACK includes a `box ID` 
corresponding to a unique terminal ID number associated with a requesting 
terminal 54, a one-byte session ID that identifies the requesting terminal 
54 during the session, a two-byte downstream channel indicator indicating 
the downstream channel 20 the requesting terminal 54 should tune in to, 
and a one-byte upstream channel indicator indicating the upstream channel 
22 the terminal 54 should be-broadcasting on. 
Referring now to FIG. 9, upstream data from the terminal 54 is sent in the 
form of an upstream packet 116. As seen, each upstream packet 116 includes 
a 4-byte CRC value, as with each downstream packet 110, a one-byte 
identifier which has the session ID assigned to the terminal 54 and a 
check bit indicating whether the upstream packet 110 has an even or an odd 
packet number, a one-byte data length indicator indicating the length of a 
multi-byte upstream payload in the packet 116, and the payload. As seen in 
FIG. 10A, the upstream payload has a structure 118 that includes a 
two-byte length indicator and the contents of the payload. FIGS. 10B-10F 
are examples of the contents of various upstream payloads. 
As seen in FIG. 10B, a session or log-in request 120 from terminal 54 
includes a one-byte indicator signifying that the upstream packet 116 is a 
log-in request 120 and the unique box ID of the requesting terminal 54. As 
seen in FIG. 10C, an upstream acknowledge payload 122 includes a one-byte 
indicator signifying that the upstream packet 116 is an upstream 
acknowledge 122, a two-byte serial number of the downstream packet 110 
that is being acknowledged, and a one-byte acknowledge (ACK) indicator. 
On occasion, an expected downstream data packet 110 is not received, or 
else is received with a corruption or error. Accordingly, and as seen in 
FIG. 10D, an upstream packet 116 may have an upstream re-send request 
payload 124 which includes a one-byte indicator signifying that the 
upstream packet 116 is an resend request 124, and a two-byte serial number 
of the downstream packet 110 that must be re-sent. 
If the data being sent upstream by the terminal 54 is a keystroke from a 
computer-style keyboard 58 or other input device 58, then the upstream 
packet 116 has an upstream keystroke payload 126, as seen in FIG. 10E, 
which includes a one-byte indicator signifying that the upstream packet 
116 is a keystroke payload 126, and a two-byte keystroke code. As should 
be understood, if the keystroke is from a keyboard 58, the keystroke code 
includes information on whether a CTRL/ALT/SHIFT key is being pressed at 
the time a key is struck. 
Preferably, the input device 58 includes a mouse or mouse-like device (not 
shown), and mouse movements are input to the terminal 54 and the access 
system 10 as commands. Accordingly, an upstream packet 116 may have 
upstream mouse movement information 128, as seen in FIG. 10F. The mouse 
movement information 128 includes a one-byte indicator signifying that the 
upstream packet 116 is a mouse movement payload 128, a one-byte 
mouse-stroke code, a two-byte mouse X-coordinate, and a two-byte mouse 
Y-coordinate. As should be understood, the one-byte mouse-stroke code 
includes information on whether a SHIFT/CTRL/ALT key is being pressed, and 
left, middle, and right mouse button information. 
As one skilled in the art will readily appreciate, the particular 
structures of the downstream and upstream packets 110, 116 may be changed 
without departing from the spirit and scope of the present invention. For 
example, if only three upstream channels 22 are assigned to a downstream 
channel 20, only three SND and three ACK bytes are necessary in the 
downstream packet 110 (FIG. 7). Similarly, fields in the packets 110, 116 
may be added, deleted, or changed in terms of structure or size. 
As should be understood, due to the structure of a typical television 
distribution network 12, noise on upstream channels 22 is problematic. As 
a result, it is known that upstream channels 22 can have error rates as 
high as 1:100000 to 1:100. Accordingly, it is preferable that upstream 
data packets 116 are kept relatively short to lessen the probability that 
any one packet will be corrupted by noise. It should be noted, however, 
that such short upstream packets 116 are not prohibitive in that most 
upstream commands are relatively short: a mouse movement, a keystroke, 
etc. 
Preferably, the problem of noise is also addressed by the present invention 
by including a noise detector 130 in the communications controller 66 at 
the cable headend 34, as seen in FIG. 3. Preferably, the noise detector 
130 detects a noise level on each of the upstream channels 22, and if 
necessary, the communications controller 66 can re-assign a terminal 54 
from a first upstream channel 22 to a second upstream channel 22 based on 
the noise level of the first upstream channel 22 and the second upstream 
channel 22. Alternatively, the communications controller 66 can direct the 
terminal 54 to transmit at a higher level on the upstream channel 22 if 
necessary based on the detected noise level of the upstream channel 22. 
Preferably, the noise detector 130 comprises software that determines 
noise levels by keeping statistics corresponding to the number of 
corrupted upstream packets 116 received on each upstream channel 22. 
With the access system 10 as described above, a terminal 54 requests a 
session in the following manner. Preliminarily, the terminal 54 tunes into 
a downstream channel 20 on which downstream packets 110 are being sent, 
and listens for a housekeeping packet 114 (as seen in FIG. 8B) to 
determine which upstream channels 22 are associated with the downstream 
channel 20. A random one of the upstream channels 22 is selected, and a 
log-in request 120 (FIG. 10B) is sent in an upstream slot 108 that has not 
been preassigned by a respective SND byte (as seen in FIG. 7). If a log-in 
acknowledge (LACK) (FIG. 8B), is subsequently received within a 
pre-determined number of time periods T (corresponding to the length of a 
picture field 28 (FIG. 2A) and to the length of an upstream slot (FIG. 
2B)), the session request is successful. If not, a new random downstream 
and upstream channel 20, 22 may be tried. 
In the unlikely event that two terminals 54 send a session request in the 
same upstream slot 108, the communications controller 66 will receive 
collided data and neither terminal 54 will receive a LACK. Preferably, 
each terminal 54 then waits a random amount of time and attempts a second 
session request. The process is repeated until both session requests are 
handled by the communications controller 66. 
Once logged in, and after the terminal 54 issues an upstream command, the 
terminal waits for a downstream packet 110 that has been addressed to the 
terminal 54 in response to the command. Preferably, each received 
downstream packet 110 is checked to determine if the packet serial number 
is correct. If the packet serial number is wrong, a re-send request 124 
(FIG. 10D) is sent with the packet serial number of the last packet that 
was successfully received. Preferably, the headend server 38 interprets a 
re-send request 124 as a request to re-send the packet 110 having the 
re-send serial number and every packet 110 sent thereafter. 
If a re-send request 124 is sent multiple times without result, or if a 
downstream packet 110 has not been received by the terminal 54 in a 
predetermined period of time, the terminal 54 can attempt a re-connect. 
Preferably, in a re-connect attempt, the terminal makes a session request 
120 on a new downstream and upstream channel 20, 22. 
As was discussed above, each downstream packet 110 and upstream packet 116 
is quickly acknowledged (ACKed) by the packet recipient, as seen in FIGS. 
7 and 10C. As should be understood, such quick ACKs are necessary to 
address the problem of noise (as was discussed above) and to provide 
real-time access to the information source 60. Preferably, a packet sender 
waits for up to two upstream slots 108 or picture fields 28 to receive an 
ACK from a packet recipient. If an ACK is not received in this time by a 
terminal 54, the terminal 54 preferably re-sends the upstream packet 116 
for which acknowledgment is sought. If a terminal 54 is forced to re-send 
data a predetermined number of times, a re-connect attempt is preferably 
made on new downstream and upstream channels 20, 22. 
It is preferable that the following method be employed to send commands and 
receive information in the access system 10 as described above. In the 
method, and referring now to FIG. 11, first data is input for the headend 
server 38 into one of the terminals 54 (step S1101), and is transmitted 
from the terminal 54 on an upstream channel 22 of the distribution network 
12 (step S1102). The transmitted first data is then received on the 
upstream channel 22 of the distribution network 12 at communications 
controller 66 of the headend server 38 (step S1103), And a first 
acknowledgment (ACK) of the received first data is transmitted from the 
headend server 38 on a downstream channel 20 of the distribution network 
12 (S1104). The transmitted first ACK is then received on the downstream 
channel 20 of the distribution network 12 at the terminal 54 (step S1105) 
to indicate that the inputted first data was successfully received. 
Preferably, the first ACK is received by the terminal 54 within about two 
picture fields 28 or upstream slots 108 (2T). 
In the method shown in FIG. 11, second data is also transmitted from the 
communications controller 66 of the headend server 38 on a downstream 
channel 20 of the distribution network 12 (step S1106) and is received by 
the terminal 54 (S1107). In response, the terminal 54 transmits a second 
ACK of the received second data on an upstream channel 22 of the 
distribution network 12 (step S1108), and the transmitted second ACK is 
received by the headend server 38 (step S1109) to indicate that the second 
data was successfully received by the terminal 54. 
As should be understood, and as was previously described, each transmitting 
step on a downstream channel 20 in the real-time acknowledgment method 
described above includes the step of inserting sequential portions of 
information (i.e. the second data or the first ACK) into the blank 
intervals 32 of sequential picture fields 28 of at least one of the 
television transmissions 24 and each of the receiving steps on a 
downstream channel 20 includes the step of extracting the inserted 
sequential portions of the information from the blank intervals 32 of the 
sequential picture fields 28 of the television transmissions 24. 
In the embodiment of the access system 10 as described above, a user at a 
terminal 54 may view a television transmission 24 carried on a selected 
downstream channel 20 and automatically retrieve information from the 
information source 60 relating to the contents of the television 
transmission 24. More specifically, it is preferable that the user agent 
74 of the access system 10 have access to a commercial database 132 (as 
seen in FIG. 5), where the commercial database 132 includes resource 
location information relating to at least some portions of the television 
transmission 24. For example, the commercial database 132 may include a 
schedule of television commercials on the various downstream channels 20, 
and for each commercial may include a universal resource locator (URL) 
associated with the product and/or service advertised in the commercial. 
As should be understood, each URL refers to a home page or web site on the 
Internet that is maintained in connection with the product or service. 
If a user viewing the commercial wishes to obtain more information on the 
product or service advertised therein, the user need only input a command 
to the headend server 38. For example, the command may merely be the push 
of a button on the input device 58, without,anything more. In response, 
the headend server 38 automatically acquires the URL corresponding to the 
commercial and retrieves the web page to which the URL refers from the 
information source 60. The web page may then be displayed to the user, and 
the user may input further access system commands or else return to 
viewing a television transmission 24 carried on a selected downstream 
channel 20. Alternatively, the URL may be transmitted to the user and 
stored in the memory 100 of the terminal 54. If it is envisioned that 
there is sufficient demand for a web page by multiple users at multiple 
terminals, the headend server 38 may be pre-programmed to obtain such web 
page in advance and cache the web page in the cache engine 78. 
As was previously discussed, it is preferable that the information source 
60 of the preferred embodiment of the present invention be an Internet 
service provider having access to the well-known Internet 
intercommunications network, but nevertheless one skilled in the art will 
recognize that other information sources may be accessed without departing 
from the spirit and scope of the present invention. As should be 
understood, depending upon the information source 60 accessed by the 
access system 10 of the present invention, not all of the afore-described 
elements are necessary. As but one example, if the information source is 
the application server 68 itself, the router 40 and the CSU/DSU 42 are not 
likely necessary. 
From the foregoing description, it can be seen that the present invention 
comprises a new and useful access system for accessing information from a 
remote information source. The access system is particularly useful since 
it takes advantage of an already-existing television distribution system, 
since a user of the access system need not invest substantial resources in 
personal computers, modems, and the like, since a user need not be 
technically sophisticated, and since a user need not tie up a telephone 
line to obtain such information. Moreover, the equivalent baud rate of 
such an access system is significantly higher than that available from a 
conventional 28.8K baud rate telephone modem. It will be appreciated by 
those skilled in the art that changes could be made to the embodiment 
described above without departing from the broad inventive concepts 
thereof. For example, it may be appreciated that a personal computer (not 
shown) could be interfaced to the terminal 54 to provide enhanced access 
while still being within the spirit and scope of the present invention. It 
is understood, therefore, that this invention is not limited to the 
particular embodiment disclosed but is intended to cover modifications 
within the spirit and scope of the present invention as defined by the 
appended claims.