U.S. patent application number 12/951960 was filed with the patent office on 2011-04-14 for proxy for video on demand server control.
This patent application is currently assigned to Microsoft Corporation. Invention is credited to Timo Bruck, Wiltse J. Carpenter, Phillip Y. Goldman, Lee S. Mighdoll.
Application Number | 20110088062 12/951960 |
Document ID | / |
Family ID | 22746008 |
Filed Date | 2011-04-14 |
United States Patent
Application |
20110088062 |
Kind Code |
A1 |
Carpenter; Wiltse J. ; et
al. |
April 14, 2011 |
PROXY FOR VIDEO ON DEMAND SERVER CONTROL
Abstract
A video on demand system includes a head-end coupled through a
proxy server to plural client terminals. The proxy server performs
(or cooperates with another component in performing) various
functions, including user interface definition, security, system
administration (e.g. channel management, load distribution, and
failover), and protocol translation.
Inventors: |
Carpenter; Wiltse J.; (San
Francisco, CA) ; Bruck; Timo; (Mountain View, CA)
; Mighdoll; Lee S.; (San Francisco, CA) ; Goldman;
Phillip Y.; (Los Altos, CA) |
Assignee: |
Microsoft Corporation
Redmond
WA
|
Family ID: |
22746008 |
Appl. No.: |
12/951960 |
Filed: |
November 22, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11304508 |
Dec 14, 2005 |
7865919 |
|
|
12951960 |
|
|
|
|
09201484 |
Nov 30, 1998 |
7168086 |
|
|
11304508 |
|
|
|
|
Current U.S.
Class: |
725/39 |
Current CPC
Class: |
H04L 65/104 20130101;
H04N 21/6118 20130101; H04N 21/2225 20130101; H04N 7/17336
20130101; H04N 21/222 20130101; H04N 21/64707 20130101; H04N
21/4312 20130101; H04N 21/6168 20130101; H04L 41/0896 20130101;
H04L 65/4084 20130101; H04N 21/23103 20130101; H04N 21/4314
20130101; H04N 21/47202 20130101; H04N 21/2405 20130101; H04L 69/08
20130101; H04L 63/02 20130101; H04N 21/6587 20130101; H04N 21/6547
20130101 |
Class at
Publication: |
725/39 |
International
Class: |
H04N 5/445 20110101
H04N005/445 |
Claims
1.-24. (canceled)
25. A method of providing video on demand, comprising: receiving a
first group of user interface elements from a network; retrieving a
second group of user interface elements stored on a user terminal;
and rendering the first group of user interface elements in
combination with the second group of user interface elements so
that a user interface on the user terminal includes a combination
of selectable user interface elements provided from both the
network and the user terminal.
26. The method of claim 25, wherein the second group of user
interface elements includes a play button and the first group of
user interface elements includes a control.
27. The method of claim 25, wherein the first and second user
interface elements are presented at different times.
28. The method of claim 25, wherein the second group of user
interface elements include play controls for video-on-demand, and
the first group of user interface elements include controls for
video-on-demand selection.
29. The method of claim 25, wherein the first group of user
interface elements include graphic data, the method including using
said graphic data for logo branding of the user interface.
30. The method of claim 25, comprising interrupting delivery of an
on-demand video in response to a user command input through one of
said second group of user interface elements, and presenting a
screen display including at least one of said first group of user
interface elements in response.
31. The method of claim 30, wherein said screen display indicates
whether the viewer has electronic mail waiting.
32. The method of claim 30, wherein said screen display indicates
time remaining for the interrupted on-demand video.
33. The method of claim 25, further comprising a head end coupled
to a proxy server, the proxy server interposed between the head end
and the user terminal, and the proxy server comprises a control
point for administering the first group of user interface elements,
and the method further comprises: receiving a video selection via a
graphical control presented on the user interface, the
video-selection made from among plural videos presented from
selection as provided from a library of available videos maintained
at the proxy server, the proxy server maintaining the library based
on communications with the head end data; the graphical control
comprising an element of the first group of user interface elements
sent from the proxy server.
34. The method of claim 33, wherein the graphical control presented
on screen is provided via HTML instructions sent to a set-top box
coupled to the screen, wherein the HTML instructions are sent to
the set-top box from the proxy server for rendering user interface
screens and controls.
35. The method of claim 33, wherein a new user interface element is
added to the first group of user interface elements and the new
user interface element is sent by the proxy server and presented on
the user interface.
36. The method of claim 35, wherein the new user interface element
added to the first group of user interface elements comprises a
button, a control, a graphic element, or a label.
37. The method of claim 33, wherein the proxy server dynamically
changes a logo as it appears at plural user terminals.
38. The method of claim 33, wherein the second group of user
interface elements comprise play controls for video-on-demand and
the first group of user interface elements further comprise an
indication that a viewer has electronic mail waiting.
39. A video on-demand system comprising a screen coupled to a
set-top box, comprising: a user interface presented on the screen;
the presented user interface including textual mark-up language
elements having a first group and a second group of textual mark-up
language elements; the first group of textual mark-up language
elements stored in the set-top box for display on the screen; and
the second group of textual mark-up language elements being
received from a network so that the user interface includes a
combination of selectable user interface elements provided from
both the user terminal itself and the network.
40. The video on-demand system of claim 39, wherein a graphical
control specified via the second group is activated on the screen
via a remote control to provide a video-selection, the
video-selection made from plural available videos provided from a
library of available videos maintained at a proxy server, the proxy
server maintaining the library based on communications with a head
end.
41. The video on-demand system of claim 40, wherein the proxy
server adds a new element to the second group, and the set-top box
receives and displays the new element as specified.
42. One or more computer readable storage comprising
computer-executable instructions for a video-on-demand system,
comprising: instructions for retrieving a first group of user
interface elements stored on a user terminal; instructions for
receiving a second group of user interface elements from a network;
and instructions for rendering the second group of user interface
elements in combination with the first group of user interface
elements so that the user interface on the user terminal includes a
combination of selectable user interface elements provided from
both the network and the user terminal; the first group of user
interface elements comprising play controls including one or more
of the following play controls: play, stop, and rewind; the second
group of user interface elements including controls for
video-on-demand selection.
43. The computer readable storage of claim 42, wherein the
computer-executable instructions specifying the second group of
user interface elements includes a logo associated with
video-on-demand.
44. The computer readable media of claim 42, wherein the
computer-executable instructions specifying the second group
further comprise a graphical element presented on the screen, the
graphical element presented for receiving a selection from among
plural selectable video programs, the plural selectable video
programs provided from a library of available video programs
maintained at a proxy server, the proxy server maintaining the
library based on communications with a head end, the communications
indicating available video programming at the head-end, and wherein
a specification of the graphical element is sent to the user
terminal from the proxy server.
Description
RELATED APPLICATION DATA
[0001] The subject matter of this application is generally related
to that disclosed in the following applications filed
contemporaneously herewith:
[0002] Video on Demand Methods and Systems (White et al);
[0003] Method and System for Presenting Television Programming and
Interactive Entertainment (White et al); and
[0004] Interactive Video Programming Methods (White et al).
[0005] The subject matter of this application is also generally
related to the subject matter of application Ser. No. 09/153,577,
filed Sep. 15, 1998.
[0006] The disclosures of these related applications are
incorporated by reference.
FIELD OF THE INVENTION
[0007] The present invention relates generally to interactive
entertainment systems, and more particularly relates to the use of
a processor between the head-end and the clients, to which various
processing tasks can advantageously be delegated.
BACKGROUND AND SUMMARY OF THE INVENTION
[0008] The popularity of the Internet, a well-known, global network
of cooperative interconnected computer networks, combined with the
widespread availability of low-cost broadband networking and
advanced digital compression techniques, has spurred the growth of
what is known as interactive television. Interactive television
provides viewers with compelling Internet and video content on
their home television equipped only with a simple
Internet-television terminal, such as those pioneered by WebTV
Networks, Inc. WebTV terminals are akin to the set-top boxes
associated with a cable television network, and work in conjunction
with a standard home television set to display both Internet and
traditional television content, so that persons without access to a
personal computer are able to access the Internet.
[0009] The ability to combine video content with the interactive
features of interactive television has spawned numerous providers
of video-on-demand applications for interactive entertainment
systems. Currently, the typical video-on-demand application for
interactive television consists of plural video-on-demand clients
on terminals attached to the viewer's home television, and one or
more video-on-demand servers connected to the video head-end. The
user interface of current video-on-demand applications is contained
entirely in the video-on-demand client, and provides commands to
the video-on-demand server to select, start or stop and pay for the
video played on the viewer's home television. Typically, the
video-on-demand server provides access to the video content
available for transmission, whereas the client controls the
selection of the video and the payment mechanism.
[0010] There are several different brands of video-on-demand
applications available on the market today. Three examples are
Seachange, Vivid and Microsoft's Netshow Theater. In view of the
popularity of the video-on-demand feature of interactive
television, there will likely be many more video-on-demand servers
developed in the near future.
[0011] One of the difficulties with the proliferation of competing
video-on-demand applications is the lack of an industry standard
communications protocol. The protocol controls the communication
between the video-on-demand server and the various video-on-demand
clients on the interactive television network. The challenge in a
video-on-demand application is that it must be capable of managing
not only the download of digital video data to the client, but also
the transmission of control data to and from the client relating to
system administration e.g. channel assignment data, billing
information, etc.).
[0012] Currently, most video-on-demand servers use a proprietary
communications protocol unique to that video-on-demand server.
Problems arise when the protocols used to control the
video-on-demand servers aren't understood (are incompatible with)
the protocols supported by the various video-on-demand clients.
Examples of some of the diverse protocols in use today are DAVEC (a
cable modem standard), DSMTC (used by certain video head-ends), and
RTSP (an industry-proposed standard that has met with little
success). The use of incompatible protocols has limited expansion
options available to existing video on demand systems.
[0013] Moreover, the current configuration of most interactive
video systems provide incomplete failover recoverability since the
back-end servers on which most video-on-demand servers reside
necessarily cannot completely manage their own failure.
[0014] Current video-on-demand servers use a limiting "segmented
channel" model to transmit the video data. Under this model, each
viewer is assigned a dedicated video channel. This greatly limits
flexibility and expansion options.
[0015] Various embodiments of the present invention redress these
and other shortcomings of the prior art by interposing a middle
tier in the interactive video system. This middle tier--commonly a
proxy server--provides various services, including protocol
translation, system administration (dynamic channel assignment,
load distribution, and failover), dynamic error-patching, and
security.
[0016] According to one aspect, the invention provides an improved
system and method for delivering a video-on-demand feature to
remote clients of an interactive television network. The system and
method employ the proxy server to reconfigure the components of a
video-on-demand application into a flexible multi-tiered
configuration, and to redistribute the functions of those
components to the proxy server so as to enhance the performance,
reliability, security, scalability and other features of the
system.
[0017] One implementation of the present invention includes one or
more proxy servers interposed between one or more video-on-demand
servers and one or more video-on-demand clients. The proxy server
includes a protocol translation component, a user interface
component, a channel management component, a loadsharing component,
a failover component and a security component.
[0018] The translation component translates, if necessary, the
communication protocols used by the video-on-demand server and
video-on-demand client, and fixes--on-the-fly--certain errors in
those protocols. The user interface component distributes the user
interface between the video-on-demand server and video-on-demand
client and provides user interface enhancements. The channel
management component manages the assignment of transmission
channels to video-on-demand clients. The failover component
redirects requests to failed video-on-demand servers to
secondary/alternate servers. The loadsharing component manages the
load between the video-on-demand servers and possibly one or more
other proxy servers in a given server configuration of the
interactive television network at the head-end. The security
component provides a uniform security framework that previously was
located in each individual video-on-demand server at the
head-end.
[0019] In one implementation of the method and system, a
promotional component is also provided to initiate delivery of
customized promotional content from the proxy server to the
video-on-demand client.
[0020] The foregoing and other features and advantages of the
present invention will be more readily apparent from the following
detailed description, which proceeds with reference to the
accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 is a block diagram of an interactive video system
that can be used in accordance with the present invention.
[0022] FIG. 2 is a block diagram of the entertainment video
head-end of FIG. 1.
[0023] FIG. 3 is a block diagram of video-on-demand components.
[0024] FIG. 4 is a block diagram of a configuration of a
video-on-demand application.
[0025] FIG. 5 is a block diagram of a proxy server of FIG. 1.
DETAILED DESCRIPTION
[0026] Referring to FIG. 1, an exemplary interactive entertainment
system 10 according to one embodiment of the present invention
includes an entertainment head-end 12, one or more proxy servers
24, and one or more client terminals 14 intercoupled through a
network 16. The proxy servers 24 are computers interposed in a
middle tier between the head-end 12 and the client terminals 14 to
perform various interactive video system control and user interface
(UI) functions.
[0027] The network 16 typically comprises coaxial cable or optical
fiber 18, extending from the head-end 12 to distribution nodes 20
within various neighborhoods. From the distribution nodes, further
cables 22 couple to individual subscriber premises.
[0028] The proxy server 24 is interposed in a logical TCP/IP
control channel 27 between the head-end and clients. While the
control signals and the entertainment are physically conveyed on
the same cable 18, they are shown separately in FIG. 1 for
conceptual clarity.
[0029] As shown in FIG. 2, the entertainment head-end 12 includes
the components typically associated with a cable television
head-end installation, e.g. satellite receivers 26 for receiving
satellite broadcasts and producing corresponding baseband analog
video signals. Additionally, head-end 12 includes fast digital disk
arrays and/or optical storage 28 for storage of MPEG-encoded
digital video for on-demand delivery. Head-end 12 also includes one
or more interactive services servers 30, which output HTML-based
programming (e.g. customized news, celebrity chat, interactive
jukebox, and interactive games), as further detailed in the related
applications by White et al.
[0030] The illustrated head-end 12 is shown as including the proxy
servers 24. In some implementations, such servers are co-located at
the head-end; in others, the proxy servers are remote from the
head-end.
[0031] The transmission of the various forms of data from head-end
12 over the network 16 is straightforward. As is familiar to those
skilled in the video arts, the analog video is commonly distributed
on 6 MHz channels, beginning at 52 MHz and extending upwardly. The
digital video can be encoded on a carrier for transmission within
one of these conventional broadcast channels, or can be modulated
at one or more other unused frequencies. Statistical multiplexing
is desirably employed to transmit plural channels of digitized
video with reduced bandwidth. The HTML-based interactive services
and the control data can be transmitted using a conventional
protocol (e.g. TCP/IP) and modulated onto a suitable carrier
frequency for distribution over the network. After modulation to
appropriate distribution frequencies by modulators 34, these
various signals are combined by an RF combiner 36 for distribution
over the network 16.
[0032] Referring to the top portion of FIG. 3, a typical prior art
video-on-demand system includes a client terminal 14 intercoupled
to a video-on-demand server 30 in head-end 12 through a network 16.
The client terminal 14 includes a client user interface (UI) 56 to
perform various interactive video system control functions, such as
video selection, start, stop and payment. The video-on-demand
back-end server 30 is a computer, usually co-located with the
interactive services server 30, and may include a failover
component 70, a loadsharing component 74 and a security component
76 to perform various interactive video system control functions
such as receiving and transmitting control data relating to system
administration (e.g. channel assignment data, billing information,
etc.), error recovery and load management.
[0033] Referring to the bottom portion of FIG. 3, the illustrated
implementation of the present invention interposes a proxy server
24 between the client terminal 14 and the video-on-demand server
30. In the new configuration the UI function is now shared between
the client UI 56 on the client terminal 14 and the server UI 78 on
the proxy server 24. The video-on-demand back-end server 30 no
longer contains the failover component 70, loadsharing component 74
or security component 76. Those functions have been distributed
instead to the proxy server 24.
[0034] The top portion of FIG. 4 shows another representation of a
prior art video-on-demand system, and the lower portion shows an
embodiment of the present invention. As is familiar to those
skilled in the relevant arts, a security firewall 80 is commonly
provided to limit access to the video-on-demand back-end servers 30
(the bi-directional control data 82 is typically transmitted over
an unsecured IP link).
[0035] Focusing on the bottom portion of FIG. 4, the illustrated
embodiment interposes the proxy server 24 between the client 14 and
the video-on-demand back-end server 30. The introduction of the
proxy server 24 greatly enhances the configurability of the
interactive video system. The back-end servers still transmit the
MPEG encoded video data 84 directly to the RF combiners 36. But by
separately managing the control data 82 flowing between the clients
14 and multiple back end servers 30, the proxy server 24 serves as
an additional security layer--insulating the back end
video-on-demand servers 30 from the IP link over which the control
data 82 is transmitted. Configured in this way, the back-end
video-on-demand servers 30 may be used more as a commodity
available to one or more proxy servers 24 in the transmission of
MPEG encoded video data 84 from the back-end server 30 to the
client terminal 14.
[0036] Moreover, the proxy server 24 can perform various
administrative management functions, such as managing channel
assignments for video-on-demand transmission.
[0037] Here a distinction should be drawn between two types of
"channels." The first, termed a "transmission channel," refers to
an actual frequency channel (e.g. 52-58 MHz) that is used to relay
programming from the head-end 12 to the client terminal 14 over the
network 16. The second, termed a "viewer channel," refers to the
moniker (e.g. MSNBC, CNN, GAME, CHAT, VIDEO) by which a user
distinguishes different programming. The mapping between viewer and
transmission channels is determined by the system, e.g. proxy
server 24.
[0038] The VIDEO channel is a viewer channel--it is the channel to
which the viewer switches to receive video-on-demand programming.
The frequency over which this programming is delivered is not
important to the viewer. Different transmission channels may be
available for use at different times, depending system resource
usage (e.g. other viewers' video-on-demand usage). One day the
108-114 MHz transmission channel might be used to relay on-demand
video to a subscriber. The next day, the 114-120 MHz transmission
channel might be used instead. Data indicating the assignment of
transmission channels-to-viewer channels is periodically sent as
control data 82 between the proxy server 24 and the client terminal
14.
[0039] If a viewer interrupts delivery of an on-demand video, e.g.
by switching to another channel or pressing STOP on a control panel
(as further detailed in the related application by White et al),
transmission of the video is suspended. The proxy maintains the
assignment of the original transmission channel to that client
briefly, but if the video is not promptly resumed, that
transmission channel is returned by the proxy server 24 to a pool
of available transmission channels. If the viewer thereafter
returns to the VIDEO channel (or presses PLAY on a control panel),
this fact is communicated to the proxy server 24 by the client
terminal over the control data link. The proxy server 24 then
identifies an available transmission channel and instructs the
client terminal 14 to tune to that channel. (This retuning is
transparent to the viewer, whose channel selection remains at the
VIDEO viewer channel.) The proxy server 24 similarly instructs the
video server 30 to resume transmission of the requested video from
the point of interruption, or just before the point of interruption
(for purposes of viewing context), this time modulating it on the
newly-assigned channel. Video delivery resumes. However, unknown to
the viewer, the video delivery resumes on a transmission frequency
different than that originally used.
[0040] In addition to managing system resources such as
transmission channels, the proxy server 24 also serves as a
convenient control point for administering certain UI functions on
the client terminals 14. Thus, for example, a video-selection UI by
which a viewer selects a desired video from a library of available
videos can be defined at the proxy server 24 (which is in constant
communication with the back end server's video library data), and
distributed to the clients 14 as needed. (These UI elements at the
proxy server include HTML instructions that are sent to the client
for rendering to produce the desired user interface screens and
controls.)
[0041] Similarly, by controlling from the proxy server certain
client UI elements (e.g. buttons, controls, graphics, labels, and
other screen customizations presented to the viewer on the client
terminal), it is possible to update the UI elements with new
features, or to apply changes to reflect new promotional features
or different branding, as needed. For example, the logo of a
particular video-on-demand server may appear on a button on a UI
screen presented to a viewer. The server UI 78 of the proxy server
24 can dynamically change that logo as it appears on the various
client terminals 14 to reflect the branding of the various
video-on-demand back-end servers 30 it controls.
[0042] In contrast, primitives defining other UIs are maintained at
the client terminal 14. An example is a video playback UI, with
PLAY, STOP, REWIND, etc., buttons. This UI is well defined and
static, so there is less advantage to distributing its definition
out to the proxy server.
[0043] A viewer operating the client terminal 14 is unaware of the
origin of the UIs presented on the viewing screen. The viewer may
invoke a video playback UI (originating at the client terminal) to
stop playback of an on-demand video. After pressing STOP, the
system may immediately present a further UI (originating at the
proxy server) indicating that the viewer has electronic mail
waiting, or indicating the time-remaining in the interrupted
video.
[0044] Another function of the illustrated proxy server 24 is to
effect protocol translation between the protocol employed by the
client, and that employed by the server. As noted, there are a wide
variety of such protocols. While new video-on-demand systems are
commonly installed with a consistent client/server protocol,
subsequent events can lead to changes. For example, by acquisition
or otherwise, an operator of a video-on-demand system may inherit
client terminals from another (non-compatible) system. The
provision of protocol translation in the proxy server facilitates
integration of such non-compatible client terminals into the
system. Similarly, upgrades to a video-on-demand system may entail
substitution of a video server employing a different control
protocol. Again, protocol translation by the proxy server
facilitates integration of such new equipment.
[0045] Still another function of illustrated proxy server 24 is
loadsharing and failover administration. In the loadsharing
component 74, the proxy server 24 monitors the loads on the various
video-on-demand back-end servers 30 under its control, and
allocates the video-on-demand viewing load accordingly. (In an
exemplary embodiment, the head-end includes several video servers.
Currently popular movie titles may be replicated in several of the
servers to accommodate their expected high demand. Older, classic
films, in contrast, may be present on just one server.)
[0046] Loadsharing 74 works in conjunction with the failover 70
function, where the proxy server 24 redirects requests to failed
back-end servers 30 to other available servers. In this way, the
proxy server 24 enhances performance by managing what would likely
be a catastrophic failure in the prior art configuration of video
entertainment systems 10.
[0047] Yet another function of the illustrated proxy server 24 is
to fix--on-the-fly--certain problems associated with either a
client or a server. For example, a certain client may, in a
particular circumstance, erroneously send two PLAY commands when
only one should be sent. The proxy server can be programmed to look
for such aberrant behavior, and pass on to the video server only a
single PLAY command. Similarly, a video server may have a bug in a
JPEG compression routine that causes certain image data transmitted
from the server to be flawed, prompting a receiving client to fail.
The proxy server can monitor the traffic from the server for such
corrupted JPEG data, and can correct it before passing same to the
client. It will be recognized that this general capability is
widely applicable, and is not limited to the particular bug-fixes
given in these examples.)
[0048] FIG. 5 is a block diagram of an exemplary proxy server 24.
The illustrated server includes a CPU 38, RAM memory 40,
non-volatile memory 42, a user interface (UI) 78, and appropriate
interfaces to the RF combiners 36 and back-end video-on-demand
servers 30.
[0049] The CPU 38 can be any of several microprocessors, e.g. those
available from Intel, AMD, Cyrix, Motorola, etc. Alternatively, the
CPU 38 can be a custom 25 device that optionally integrates one or
more of the other components of proxy server 24.
[0050] The RAM memory 40 typically comprises 256K of EDO memory,
but more or less memory, and/or memory of differing type, can
alternatively be used.
[0051] The non-volatile memory 42 in the illustrated embodiment
includes a ROM, EEPROM, or flash memory in which certain components
of the server's operating system and applications software are
stored. Additionally, the illustrated non-volatile memory 42
includes 4 GB of magnetic disk storage. Software stored in this
non-volatile memory (commonly transferred to the RAM memory for
execution) causes the proxy server 24 to perform the various
functions detailed earlier. (Such programming is well within the
capabilities of artisans in this field, so is not belabored.)
[0052] Having described and illustrated the principles of our
invention with reference to a preferred embodiment and various
alternatives, it should be apparent that the invention is not
limited to the detailed arrangements.
[0053] For example, while the detailed proxy server 24 performed a
certain set of functions, in other embodiments such a server can
perform a subset (or superset) of these functions.
[0054] While the disclosure particularly detailed the proxy
server's 24 role in defining aspects of a visual UI presented on
the client terminal 14, in other embodiments, the proxy can play a
similar role with UIs of other types (e.g. gesture-interfaces,
audio interfaces, tactile interfaces, etc.).
[0055] Reference was made to HTML. This term is meant to include
not just Hypertext Markup Language per se, but also to encompass
other graphical and/or video representation systems by which
primitives can be combined to yield desired static or moving
displays.
[0056] The illustrated embodiment employed a wired link to the
interactive network, but other distribution arrangements (e.g.
direct satellite broadcast, with telephone return channel) can
likewise by used. Similarly, the dial-up link is not exclusive;
other arrangements (e.g. MetroCOM, etc.) can be used, depending on
the needs of the particular application.
[0057] Moreover, even a "wired" link to the interactive network
needn't be of the sort particularly illustrated. With enhanced
compression techniques and delivery technologies, other
arrangements--including plain old telephone service--can
alternatively be employed.
[0058] To provide a comprehensive disclosure without unduly
lengthening this specification, applicants incorporate by reference
the disclosure of U.S. Pat. No. 5,648,824, which discloses
additional details related to video-on-demand systems and related
user interfaces.
[0059] While the foregoing discussion has detailed a complete
system, it employs many inventive concepts--each of which is
believed patentable apart from the system as a whole.
[0060] In view of the many different embodiments to which the
above-described inventive concepts may be applied, it should be
recognized that the detailed embodiments are illustrative only and
should not be taken as limiting the scope of our invention. Rather,
we claim as our invention all such modifications as come within the
scope and spirit of the following claims, and equivalents
thereto.
* * * * *