CROSS REFERENCE TO RELATED APPLICATIONThis application is a continuation of U.S. utility application having Ser. No. 09/896,470, filed Jun. 29, 2001, which is incorporated by reference in its entirety.
FIELD OF THE INVENTIONThis invention relates in general to the field of television systems, and more particularly, to a user interface for accessing bi-directional services in television systems.
BACKGROUND OF THE INVENTIONHistorically, television services have been comprised of analog broadcast audio and video signals. Cable television systems now receive broadcasts and retransmit them with other programming to users over land-line networks, typically comprising fiber optic cable and/or coaxial cable. With the recent advent of digital transmission technology, cable television systems are now capable of providing much more than the traditional analog broadcast video. In addition, two-way and advanced one-way communications between a subscriber and a cable system headend are now possible.
In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the set top box, has become an important computing device for accessing video services and navigating a subscriber through a maze of available services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of services which are not analog, but rather digital; are not basic broadcast, but rather two-way communication such as video-on-demand; and are not basic video, such as e-mail or web browsers. These are all in addition to the host of other television services which are increasingly being demanded by consumers, examples of which include audio and audio/visual programming, advanced navigation controls, impulse pay-per-view technology, and on-line commerce. With the addition of interactive services and the increased bandwidth and the emergence of bi-directional communication capabilities available through a digital television system, there is a need to provide a subscriber new channels and/or services with dedicated bi-directional communication over an allocated period of time.
Each HCT or DHCT (collectively hereinafter “DHCT”) is typically connected to a cable or satellite television network. The DHCTs generally include hardware and software necessary to provide the functionality for services rendered by the digital television system at the client's site. Preferably, some of the software executed by a DHCT is downloaded and/or updated via the cable television network. Each DHCT typically includes a processor, communication components and memory, and is connected to one or more audiovisual output devices such a television or other display device or a personal computer. Furthermore, a DHCT is typically connected to input devices such as an infrared wireless remote control or a wired or wireless keyboard and can be connected optionally to an audiovisual input device such as a camcorder with an integrated microphone or to a video camera and a separate microphone. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or personal computer, as will be appreciated by those of ordinary skill in the art.
Because hundreds or thousands of services may be offered by a cable television service provider, an electronic program guide (EPG) is necessary to facilitate searching for programs, accessing of program information and marketing of purchasable services such as Pay-Per-View (PPV). However, EPGs are provisioned for traditional broadcast services and not for a new breed of services based on bi-directional audio and/or visual communication that can be offered on an individualized basis to a subscriber. Furthermore, the scope of system resource consumption for bi-directional audiovisual services differs from traditional broadcast services and from recent interactive services, such as video-on-demand, that don't require bi-directional audiovisual communication. Therefore, there is a need for the DHCT to not only provide the services and applications that the cable television system provider offers, but also to provide access to bi-directional communication services and respective service information via an EPG. As system operators of cable television systems continue to add services and applications, a problem exists in both making the subscriber aware of and also in providing quick access to the new services and channels. Because of the large number of subscribers in a cable television network, the large number of bi-directional communication services offered, the fact that each service may be distinct and individually rendered, a problem exists in providing a subscriber a quick and efficient method to access these services. Further, there is a need to provide respective program or service information as well as the ability to search service availability and obtain service information.
SUMMARY OF THE INVENTIONBriefly described, a preferred embodiment of the present invention provides a method and system for accessing services in a television system. In one implementation, a digital home communication terminal (DHCT) presents a subscriber an EPG presentation including a plurality of selectable bi-directional services that are purchasable for a period of time and rendered to a buying subscriber on an individualized basis as offered by the cable television system. The subscriber navigates an EPG menu presentation with an input device such as a remote control device and selects a purchasable service by choosing the visual representation that corresponds to the desired service. The DHCT receives the user input, translates the selected command into an executable program call that queries service availability and, if the service is available, initiates at an appropriate point in time the selected bi-directional audiovisual service on a personalized session.
In accordance with one embodiment of the present invention, a method for accessing a plurality of bi-directional services over a cable network is described, comprising presenting a program guide to at least one subscriber, wherein the program guide displays bi-directional services, populating a bi-directional services database with information related to the bi-directional services displayed in the program guide, receiving a request from a subscriber for a bi-directional services displayed in the guide, querying the bi-directional database to determine whether the requested service is available, rendering the bi-directional service requested by the subscriber, and updating the bi-directional database to reflect that the bi-directional service requested by the subscriber has been rendered.
In accordance with another described embodiment, the bi-directional service comprises a bi-directional communication session between the subscriber and a content provider. In another embodiment, the bi-directional service comprises a bi-directional communication between two or more subscribers.
In another embodiment of the present invention, the bi-directional communication comprises a plurality of instantiations of a bi-directional service offered by a content provider. And in still another embodiment, determining whether a bi-directional service is available comprises querying the bi-directional services database to determine whether an instantiation of the bi-directional service requested by the subscriber is available. Still other embodiments comprise a bi-directional service request for future consumption and a notification to the subscriber when a requested service is unavailable.
In another disclosed embodiment in accordance with the present invention, a method for accessing a plurality of bi-directional services over a cable television network is described, comprising populating a bi-directional services database with information related to a plurality of bi-directional services, sending the bi-directional services database to a home terminal of a first subscriber, presenting a program guide of bi-directional services to the first subscriber, receiving a request from the first subscriber for one of the displayed bi-directional services, querying the bi-directional services database to determine the availability of the requested bi-directional service, rendering the bi-directional service requested by the first subscriber, updating the bi-directional services database to reflect that the bi-directional service requested by the first subscriber has been rendered, and transmitting the updated bi-directional services database to a second subscriber.
In accordance with another described embodiment of the present invention, populating the bi-directional services database includes populating an availability table of entries, each entry associated with a bi-directional service and each entry indicating whether the associated bi-directional service is available. In another embodiment, the availability of a requested bi-directional service is determined by querying the associated availability table entry for the requested bi-directional service. In still another embodiment, the availability table of entries is updated to reflect that a bi-directional services has been rendered to the first subscriber and the availability table of entries is transmitted to the second subscriber.
In accordance with still another embodiment of the present invention, a system is described for providing a bi-directional services programming guide over a cable television network, comprising a bi-directional services content provider, a headend in communication with a hybrid-coax network and the bi-directional services content provider, a bi-directional communications server, configured to establish bi-directional communication between the bi-directional services content provider and the headend, a home communication terminal in communication with a display device and in communication with the headend via the hybrid-coax network, a bi-directional services program guide application server in communication with the bi-directional communications server and configured to establish bi-directional communication between the headend and the home communication terminal, and a bi-directional services program guide application residing on the home communication terminal and in communication with the bi-directional services program guide application server, configured to generate the bi-directional services programming guide on the display device and to establish bi-directional communications between the bi-directional services content provider and the home communications terminal.
In still another disclosed embodiment, a system is described that has a bi-directional services database in communication with the bi-directional services program guide client application, wherein the bi-directional services database stores information pertaining to bi-directional services for presentation via the display device. In one described embodiment, the bi-directional services database includes an availability table of entries, each entry respectively associated with a bi-directional service and each entry indicating whether the associated bi-directional service is available.
Many objects, features and advantages of the present invention will become apparent to one of ordinary skill in the art upon examination of the following drawings and detailed description.
BRIEF DESCRIPTION OF THE DRAWINGSHaving thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
FIG. 1 is a high-level block diagram view of a cable television network in accordance with an embodiment of the present invention.
FIG. 2 illustrates the transmission channels supported by a cable television network in accordance with an embodiment of the present invention.
FIG. 3 is a block diagram that illustrates select components of a headend in accordance with an embodiment of the present invention.
FIG. 4 is a block diagram that illustrates select components of a digital home communication terminal in accordance with an embodiment of the present invention.
FIG. 5 is another block diagram that depicts select components of a digital home communication terminal in accordance with an embodiment of the present invention.
FIG. 6 illustrates one bi-directional services program guide presentation in accordance with an embodiment of the present invention.
FIG. 7 illustrates a bi-directional services purchase screen in accordance with an embodiment of the present invention.
FIG. 8 illustrates a remote control device in accordance with an embodiment of the present invention.
FIG. 9 illustrates an archive search screen in accordance with an embodiment of the present invention.
FIG. 10 is a diagram of the mappings of services to channels in accordance with an embodiment of the present invention.
FIG. 11 illustrates a combination presentation screen of an interactive program guide display that includes a bi-directional services guide presentation in accordance with an embodiment of the present invention.
FIG. 12 illustrates a bi-directional services program guide presentation in accordance with an embodiment of the present invention.
FIG. 13 illustrates bi-directional services program guide presentation in a full screen format in accordance with an embodiment of the present invention.
FIG. 14 illustrates a bi-directional services program guide presentation that shows several instantiations of a selected bi-directional service.
FIG. 15 illustrates a bi-directional services program guide information page in accordance with an embodiment of the present invention.
FIG. 16 illustrates an interactive program guide using icons to denote bi-directional services offerings in accordance with an embodiment of the present invention.
FIG. 17 illustrates an interactive program guide with a selectable service guide in accordance with an embodiment of the present invention.
FIG. 18 illustrates a service guide that lists bi-directional services in accordance with an embodiment of the present invention.
FIG. 19 illustrates a service guide that includes bi-directional services as a selectable service entity in accordance with an embodiment of the present invention.
FIG. 20 illustrates a bi-directional services purchase screen in accordance with an embodiment of the present invention.
FIG. 21 illustrates a PIN entry window in accordance with an embodiment of the present invention.
FIG. 22 illustrates a schedule allocation of system resources in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTIONThe present invention now will be described more fully hereinafter with reference to the accompanying drawings, in which preferred embodiments of the invention are shown. This invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art. Like numbers refer to like elements throughout.
Many modifications and other embodiments of the invention will come to mind to one skilled in the art to which this invention pertains having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention is not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
The present invention is generally implemented as part of a cable television system (CTS). Hence, anillustrative CTS10 and its operation will be described initially.FIG. 1 shows a block diagram view of aCTS10, which is generally a reliable and integrated network system that features video, audio, voice and data services to subscribers or DHCT users. AlthoughFIG. 1 depicts a high level view of aCTS10, it should be appreciated that a plurality of cable television systems can tie together a plurality of regional networks into an integrated global network so that DHCT users can receive content or services from anywhere in the world.
TheCTS10 delivers broadcast video signals as digitally formatted signals in addition to delivering traditional broadcast analog video signals. Furthermore, the system can support one-way broadcast services as well as both one-way data services and two-way media and data services. The two-way operation of the network allows for user interactivity with services, such as Pay-Per-View programming, Near Video-On-Demand (NVOD) programming (according to any of several known NVOD implementation methods), Video-on-Demand (VOD) programming (according to any of several known VOD implementation methods), and interactive applications, such as Internet connections and interactive services that render real-time bi-directional communication on a personalized basis such as bi-directional audio-visual communication. TheCTS10 also provides the interfaces, network control, transport control, session control, and servers to access content and services, and distributes content and services to DHCT users. TheCTS10 also provides the interfaces, network control, transport control, session control, and servers to establish on-demand session-based bi-directional communication service between a particular remote destination and a DHCT user for delivering media from the particular remote destination to the DHCT user and input information from the DHCT user to the particular remote destination. A remote destination during a session of a bi-directional communication service may comprise a remote personal destination such as a friend or a remote vendor that offers a bi-directional communication service for a purchasable period of time in which a viewer communicates real-time with the vendor on a personal basis. In either case, dedicated CTS resources are allocated to fulfill individualized bi-directional communication over a purchasable period.
As shown inFIG. 1, atypical CTS10 comprises aheadend11,hubs12, a hybrid fiber-coax (HFC)network17, and users' DHCTs16 (hereinafter the terms “user” and “subscriber” are used interchangeably). It should be appreciated that although a single component (e.g., a headend) is illustrated inFIG. 1, aCTS10 may feature a plurality of any one of the illustrated components or may be configured with alternative embodiments for any one of the individual components or with yet other additional components not enumerated above. A content provider (not shown) transmits information pertaining to purchasable bi-directional communication services to a headend for further downstream transmission to subscribers in the network.
A bi-directional communication type of service purchasable as an individualized service by a DHCT user may be provided by one or more service providers via communication with one or more external communication interfaces inheadend11.
Content provided by a content provider is retrieved and communicated by a cable operator or communicated by the content provider to one ormore headends11. From those headends the content is then communicated over acommunications network18 that includes a plurality of HFC access networks17 (only oneHFC access network17 is illustrated). TheHFC access network17 typically comprises a plurality ofHFC nodes13, each of which may serve a local geographical area. Thehub12 connects to theHFC node13 through a fiber portion of theHFC access network17. TheHFC node13 is connected to atap14 that is connected to a network interface unit (NIU)15, which is connected to aDHCT16. TheNIU15 is normally located at a user's property and provides a transparent interface between theHFC node13 and the users' internal wiring. Coaxial cables are typically used to couplenodes13, taps14 andNIUs15 because the electrical signals can be easily repeated with radio frequency (RF) amplifiers.
As the high-level operations of many of the functions ofCTSs10 are well known to those of skill in the art, further description of theoverall CTS10 ofFIG. 1 will not be contained herein. It will be appreciated, however, that theCTS10 shown inFIG. 1 is merely illustrative and should not be construed as implying any limitations upon the scope of the present invention.
FIG. 2 shows the transmission channels supported by theCTS10 illustrated inFIG. 1, as delivered by theheadend11 and received as input channels by theDHCT16. Although oneDHCT16 and oneheadend11 are illustrated, it is understood by those skilled in the art that more than one of each may be included in a subscriber network television system. As indicated inFIG. 2, the subscriber network television system can simultaneously support a number of transport channel types and modulation formats. The ability to carry analog and digital signals over a large bandwidth are characteristics of a hybrid fiber-coax network typically employed in a subscriber network television system. As will be appreciated by those skilled in the art, analog and digital signals in HFC networks can be multiplexed using frequency division multiplexing (FDM), which enables many different types of signals to be transmitted over the subscriber network television system to theDHCT16 of the preferred embodiment of the present invention. Typically, a subscriber network television system using HFC supports downstream (i.e. in the direction from theheadend11 to the DHCT16) frequencies from 50 MHz to 870 MHz, whereas upstream frequencies (i.e. in the direction from the DHCT16 to higher levels of the system) are in the 5 MHz to 42 MHz band. Generally, the RF channel bandwidth spacing for analog and digital services is 6 MHz. It should be understood that RF channels can be assigned to carry analog video signals but the present embodiment of the invention is not limited to embodiments where an RF channel is assigned to carry analog video signals upon fulfillment of a complete transition of the subscriber network television system to an all digital system.
Referring again toFIG. 2, the downstream direction channels, having been multiplexed using frequency division multiplexing (FDM), and often referred to as in band channels, include Analog Transmission Channels (ATCs)210 and Digital Transmission Channels (DTCs)250. These channels carry video, audio, and data services. For a non-limiting example, these channels can carry television signals, Internet data, or any additional types of data, such as bi-directional services program guide (BSPG) data. The signals and data carried on these channels are collectively referred to herein as services. TheATCs210 are typically broadcast in 6 MHz channels having an analog broadcast composed of analog video and analog audio, and include Broadcast TV Systems Committee (BTSC) stereo and Secondary Audio Program (SAP) audio.
Like theATCs210, theDTCs250 each occupy 6 MHz of the RF spectrum. However, theDTCs250 are digital channels consisting of 64- or 256-Quadrature Amplitude Modulated (QAM) digital signals formatted as MPEG-2 transport streams, allocated in a separate frequency range. The MPEG-2 transport stream enables transmission of a plurality of DTC channel types over each 6 MHz RF channel, as compared to a 6MHz ATC210. Three types ofdigital transport channels250 illustrated inFIG. 2 include broadcastdigital transmission channels220, carouseldigital transmission channels230, and on-demand transmission channels240. MPEG-2 transport may be used to multiplex video, audio, and data in each of these digital transmission channels (DTCs)220. However, because MPEG-2 transport streams multiplex video, audio, and data to be placed in the same stream, theDTCs250 do not necessarily have to be allocated in separate 6 MHz RF frequencies, unlike theATCs210.
Continuing withFIG. 2, thebroadcast DTCs220 andcarousel DTCs230 typically function as continuous feeds for indefinite time, whereas the ondemand DTCs240 are continuous feed sessions for a limited time. AllDTCs250 are capable of being transmitted at high data rates. Thebroadcast DTCs220 carry typical data comprising multiple digitally compressed and formatted, for a non-limiting example, as MPEG-2, TV channels and other continuously fed data information. Thecarousel DTCs230 carry broadcast data, such as BSPG data and regular electronic program guide (EPG) data, that is systematically broadcast in a cycling fashion but updated and revised as need be. Thus, thecarousel DTCs230 can serve to carry high volume data, such as EPG data and BSPG data, as well as other data at high data rates. Thecarousel DTCs230 typically carry data formatted in directories and files by a Broadcast File System (BFS), which is used for producing and transmitting data streams throughout theCTS10, and which provides an efficient method for delivery of application executables and data and service data to theDHCT16. The on-demand DTCs240 can carry information intended for a particular subscriber, such as compressed video and audio pertaining to subscriber requested a bi-directional communication service, as well as other specialized data information. Each carousel and ondemand DTC240 is defined by a session managed by the session manager334 (shown inFIG. 3) via the MPEG-2's Digital Storage Media—Command and Control (DSM-CC) protocol.
FIG. 3 is a block diagram of portions of aheadend11 that is configured to provide session-based services such as bi-directional communication services and a BSPG comprising electronic information about each respective service in accordance with one embodiment of the present invention. These services include, among other things, session-based bi-directional communication services that are purchasable by a subscriber on an individualized basis for a period of time. A purchasable bi-directional communication service may comprise a vendor that communicates remotely with the purchaser over the period of time for which the service is purchased. Particular vendors may offer the flexibility to purchase their respective services for any of a plurality of time durations, reflecting higher pricing for longer periods. Other purchasable bi-directional communication services, such as a person-to-person bi-directional audiovisual phone session, may not involve a vendor at the remote location.
A bi-directional communication service may comprise real-time communication concurrently between a vendor and a plurality of subscribers. With reference to the block diagrams ofFIG. 3 (headend11) andFIG. 4 (DHCT16), aheadend11 is configured to provide purchasable bi-directional communication services, either as an on-demand or a scheduled reservation service with a plurality of possible delivery durations. In thesystem headend11, theBSPG application server319 and a plurality of other application servers (not shown) are connected to a digital network control system (DNCS)323 via anEthernet connection332. TheBSPG application server319 is responsible for reserving and configuring system resources needed to provide bi-directional communication services, for packaging, configuring and making available to the system the executable software program comprising the BSPG client application477 (FIG. 4), and for providingBSPG data478 corresponding to the available bi-directional communication services to the BSPG client application477 (FIG. 4). ABSPG client application477 executing onprocessor444 inDHCT16 generates a user interface that is displayed ontelevision441 for the subscriber to browse, purchase, and establish individualized bi-directional communication with any from a plurality of bi-directional communication services. This may require, among other things, engaging, preferably, in a direct two-way IP (Internet Protocol) connection with bi-directional communication (BC)servers322 for a finite period.
As necessary,BSPG application server319 configuresBC server322 for bi-directional communication with a component inhead end11 providing external communication.BC server322 establishes bi-directional communication with a respective service provider (or equivalently, a remote personal destination) via one or more external communication interfaces inheadend11 connected toBC server322 via anEthernet connection332 for bi-directional information and media transmission. In the event that a respective service provider is within the subscriber network television system spanned byheadend11,BC server322 is configured byBSPG application server319 for personalized bi-directional communication between a respective service provider (or remote personal destination) in a direct two-way IP connection withBC server322 serving as a bi-directional gateway.
External communication interfaces include router372, satellite receiver374, a satellite transceiver276, a terrestrial receiver or antenna378 and a bi-directional gateway380 connected to backbone switch382 that in turn is connected to components inhead end11 viaEthernet connection332. The bi-directional gateway380 can be connected to an internet service provider (not shown) and router372 can be connected to a long-distance data network (not shown).
As will be readily apparent to one of ordinary skill in the art, additional external communication interfaces may exist at thehead end11 and any external communication interface components may be connected to backbone switch382 or may be connected directly to theEthernet connection332. For instance, a router372 and gateway380 may possess Ethernet communication ports and may be directly connected to components in theheadend11 via theEthernet connection332.
TheDNCS323 provides complete management, monitoring, and control of the network's elements and broadcast services provided to users. TheDNCS323 provides control and communication functionality by monitoring theDHCTs16 and facilitating messaging between the DHCTs16 and components within theheadend11. When any of the communication functionality is provided byheadend11 components other than theDNCS323, theDNCS323 indirectly provides similar functionality by providing the control and coordination to those other devices that provide the required communication functionality to enact a particular media service.
In one implementation, theDNCS323 includes functional support for client-server applications and other components in the DBDS with its server counterparts, includingBFS Server328 and a service application manager (SAM)server325. Briefly, the client-server application counterparts work in coordination withDNCS323 to effectively utilize the primary features of the interactive television system and manage the sale of an individualized purchased session for a bi-directional communication service. Furthermore, the client-server application software in communication withDNCS323 can effectively allocate bi-directional bandwidth capacity to render a session-based bi-directional communication service and manage impulse or scheduled purchase, in cooperation with the BSPG client application477 (FIG. 4).
TheDNCS323 includes asession manager334 and aconditional access system370. Thesession manager334 preferably uses the MPEG-2 DSM-CC protocol to coordinate requests for bi-directional communication services from asubscriber using DHCT16, as a non-limiting example, for a purchasable individualized service from a vendor that provides a bi-directional communication service. Thesession manager334 processes user to network (U-N) session and respective signaling messages, manages allocation of session-related network resources and supports network management operations. Thesession manager334 supports exclusive services, such as the BSPG service, by providing the signaling interface to establish, maintain, and release client initiated exclusive sessions. Thesession manager334 acts as a point of contact to the network for the DHCT's16 in thecommunications network18 to establish individual sessions. Thesession manager334 also defines a resource descriptor structure, which is used to request the network resources within a session.
The conditional access (CA)system370 communicates with theDHCT16 and thebilling system320 to determine whether a particular subscriber is authorized to receive a BC service. If a DHCT16 is not authorized for BC service, theconditional access system370 insures that such services are not transmitted. TheDNCS323 uses adata insertion multiplexer329 and adata QAM330 to insert the in-band broadcast file system (BFS) data into a compressed data stream, for a non-limiting example, an MPEG-2 transport stream.
TheBSPG application server319 communicates via theEthernet connection332 to aSAM server325 contained on theDNCS323. TheSAM server325 is a server component of a client-server pair of components, with the client component being located at theDHCT16. Together, the client-server SAM components provide a system in which the user can access services, which are identified by an application to run and one or more parameters, such as particular data, specific to that service. TheSAM server325 also manages the life cycle of the applications on the system, including the definition, activation, and suspension of services they provide and the downloading of the applications into theDHCT16 as necessary. TheBSPG application server319 defines its application to theSAM server325 and theSAM server325 instructs theBFS server328 to add the BSPG client application's477 (FIG. 4) executable code to a carousel (not shown) for distribution to thevarious DHCTs16 in thenetwork18.
TheBFS server328 is a part of a broadcast file system that has a BFS client443 (FIG. 4) in each DHCT16 in thecommunications network18. Applications on both theheadend11 and theDHCT16 can access the data stored in theBFS server328 in a similar manner to a file system found on disc operating systems. TheBFS server328 loads data for applications on a carousel (not shown) that sends data in a cyclical repeated fashion, each cycle approximately the same period of time so that theDHCT16 that communicates a request for any particular data may receive it when the user desires the data. Thus, the BFS client443 (FIG. 4) contained in theDHCT16 that receives the broadcast from theBFS server328 can implement the application for the user.
BSPG data resides in theBSPG application server319 as composed for BC services available for the current time and future periods.BC server322 contains a storage and memory cache that serves as a temporary repository for buffering upstream information, data or media generated by a subscriber during a session of a bi-directional communication service. Likewise, the storage and memory cache inBC server322 serves as a temporary repository for simultaneously buffering downstream information, data or media generated by a service provider, vendor or remote personal location during a session of an individualized bi-directional communication service.
TheBC servers322 deliver MPEG-2 content to a group ofQAM modulators324. Media or data from the remote location may comprise live video, audio, graphics, and/or text and be transmitted respectively as an MPEG-2 video and audio program to the subscriber. Graphics, textual or other information may be transmitted as an MPEG-2 private data program. Media or data from the remote location may be pre-recorded rather than a live individualized transmission. TheBSPG application server319 is responsible for managing the configuration ofBC servers322 and the external communication interfaces. TheBC servers322 are employed to deliver the data, video and/or audio streams that make up the BC services.
TheQAM group324 is actually a multiplex of QAMs that support media transmission to aparticular DHCT16. Thesession manager334 inDNCS323 determines which QAM modulator has access to aparticular DHCT16. The QAM modulators324 are also responsible for encrypting the transport stream and inserting other data and information into the stream. The QAM modulators324 receive the MPEG-2 transport stream from theBC servers322 and convert it to an encrypted RF signal at a specified frequency (channel).
The quadrature phase shift keying (QPSK)modem326 is responsible for transporting the out-of-band IP (Internet protocol) datagram traffic between thedistribution headend11 and aDHCT16. Data from theQPSK modem326 is routed byheadend router327 within theheadend11. Theheadend router327 is also responsible for delivering upstream application traffic, such as a user's requests for a BC service, to the various application servers.
With reference to the block diagram ofFIG. 4, theDHCT16 is typically situated within the residence or business of a subscriber. It may be integrated into a device that has adisplay441, such as a television set, or it may be a stand-alone unit that couples to anexternal display441, such as a display included with a computer or a television, and that processes media transported in television signals for presentation or playback to a subscriber (user of the DHCT16). TheDHCT16 preferably comprises acommunications interface442 for receiving the RF signals, which can include media such as video, audio, graphical and data information, from thetap14 and for providing any reverse information (such as BSPG data as required by a subscriber that has purchased as BSPG service) to thetap14 for transmission back to the headend11 (FIG. 1). TheDHCT16 further includes aprocessor444 for controlling operations of theDHCT16, including a video output port such as anRF output system448 for driving thedisplay441, atuner system445 for tuning into a particular television channel to be displayed and for sending and receiving data corresponding to various types of media from theheadend11.
Thetuner system445 includes in one implementation, an out-of-band tuner (OOB) for bi-directional quadrature phase shift keying (QPSK) data communication and a quadrature amplitude modulation (QAM) tuner for receiving television signals. The OOB coupled with an upstream transmitter enable the DHCT16 to interface with the network so that theDHCT16 can provide upstream data to the network, for example via the QPSK or QAM channels. This allows a subscriber to interact with the network to request BSPG services and, if necessary, encryption can be added to the OOB channels to provide privacy.
Additionally,DHCT16 includes areceiver446 for receiving externally generated information, such as user inputs or commands for other devices. TheDHCT16 may also include one or more wireless or wired communication interfaces, also called ports, for receiving and/or transmitting data to other devices. For instance, theDHCT16 may feature USB (Universal Serial Bus) (for connection to a USB camera or microphone), Ethernet (for connection to a computer), IEEE-1394 (for connection to media devices in an entertainment center), serial, and/or parallel ports. A computer or transmitter may for example, provide the user inputs with buttons or keys located either on the exterior of the terminal or by a hand-heldremote control device480 or keyboard that includes user-actuated buttons. In the case of bi-directional services, a user input device may include audiovisual information such as a camera, microphone, or videophone. As a non-limiting example, theDHCT16 may feature USB or IEEE-1394 for connection of an infrared wirelessremote control480 or a wired or wireless keyboard, a camcorder with an integrated microphone or to a video camera and a separate microphone.
Technology for digitizing and compressing/decompressing video and speech signals is well-known in the art. In a preferred embodiment, theDHCT16 of the present invention has the capability to simultaneously decompress and reconstruct video, audio, graphics and textual data that may, for example, correspond to a live BSPG service. This permits theDHCT16 to store video and audio in memory in real-time, to scale down the spatial resolution of the video pictures, as necessary, and to composite and display a graphical user interface (GUI) presentation of the video with respective graphical and textual data while simultaneously playing the audio that corresponds to the video. The same process applies in reverse andDHCT16 can, for example, digitize and compress pictures from a camera for upstream transmission.
In one implementation, amemory portion449 of theDHCT16 includesflash memory451 and dynamic random access memory (DRAM)452 for storing the executable programs and related data components of various applications and modules for execution by theDHCT16. Both theflash memory451 and theDRAM memory452 are coupled to theprocessor444 for storing configuration data and operational parameters, such as commands that are recognized by theprocessor444.
Basic functionality of theDHCT16 is provided by anoperating system453 that is contained inflash memory451. One or more programmed software applications, herein referred to as applications, are executed by utilizing the computing resources in theDHCT16. The application executable program stored inflash memory451 orDRAM memory452 is executed by processor444 (e.g., a central processing unit or digital signal processor) under the auspices of theoperating system453. Data required as input by the application program is stored inDRAM memory452 and read by theprocessor444 fromDRAM memory442 as needed during the course of application program execution. Input data may be data stored inDRAM memory452 by a secondary application or other source, either internal or external to theDHCT16, or possibly anticipated by the application and thus created with the application program at the time it was generated as a software application program, in which case it is stored inflash memory451. Data may be received via any of the communication ports of theDHCT16, from theheadend11 via the DHCT's network interface (i.e., the QAM or out-of-band tuners) or as user input viareceiver446. A type of input data fulfills and serves the purpose of parameters as described below. Data generated by application program is stored inDRAM memory452 by theprocessor444 during the course of application program execution.
Theflash memory451 also contains aplatform library456. Theplatform library456 is a collection of functionality useful to applications, such as a timer manager, compression manager (for compressing text, video and/or audio), database manager, string managers, and other utilities (not shown). These utilities are accessed by applications as necessary so that each application does not have to contain these utilities thus resulting in memory consumption savings and a consistent user interface.
The client component SAM457 (hereinafter the SAM client457) of the client-server pair of components provides a model in which the user can access services available on the system. A service consists of an application to run and a parameter, such as data content, specific to that service. TheSAM client457 handles the lifecycle of the applications on the system, including the definition, initiation, activation, suspension and deletion of services they provide and the downloading of the application into theDHCT16 as necessary. Many services can be defined using the same application component, with different parameters. TheSAM client457 is a part of theplatform456. As a non-limiting example, an application to tune video programming could be executed with one set of parameters to view HBO and a separate set of parameters to view CNN. Each association of the application component (tune video) and one parameter component (HBO or CNN) represent a particular service that has a unique service ID. TheClient SAM457 also interfaces with theresource manager467 to control resources of theDHCT16.
An application client is the portion of an application that executes on theDHCT16 and provides the application's services to the user typically through a graphical user interface. Also contained inflash memory451 is anavigator application455 which provides a navigation framework for the user to access services available on the cable system. Examples of the services include, in one implementation, watching television and pay-per-view events, listening to digital music, and an interactive bi-directional service program guide, each of which is controlled through separate applications inflash memory451. Thenavigator455 also allows users to access various settings of theDHCT16, including volume, parental control and VCR commands. Moreover, thenavigator455 provides users with television related menu options that correspond to DHCT16 functions such as interactive program guides, channel blocking and/or displaying a BSPG purchase list.
The traditional interactive program guide (IPG),Watch TV462, and pay-per-view (PPV) are examples of resident applications inflash memory451. The IPG displays a program guide to the user and populates the guide with program data for selection. WatchTV462 enables a user to simply “watch television” while PPV enables viewing of premium television services. These applications, because they are inflash memory451, are available to the user and do not need to be downloaded each time theDHCT16 initializes.
The applications that are stored in theDRAM452 may be applications that are loaded when theDHCT16 initializes or are applications that are downloaded to theDHCT16 upon a user-initiated command using an input device such as the remote480. In a non-limiting example,DRAM memory452 may contain the following application clients (hereinafter referred to as “application(s)”): a video-on-demand application (VOD)463, an e-mail application465 and a digital music application. Additionally,DRAM memory452 could also contain a calendar and/or a calculator application. It will be obvious to one with ordinary skill in the art that these applications are illustrative and merely serve as examples of possible embodiments of the invention.
The applications discussed above and other applications provided by a cable system operator are top level software entities on the network for providing services to the user. In one implementation, all applications executing on theDHCT16 work with thenavigator455 by abiding by several guidelines. For example, an application should first utilize and implement theSAM client457 for provisioning, activation, and suspension of services. Second, an application should share DHCT16 resources with other applications and abide by the resource management policies of theSAM client457, theoperating system453, and theDHCT16. Third, an application should handle all situations where resources are unavailable withoutnavigator455 intervention. Fourth, when an application loses service authorization while providing a service, an application should suspend the service gracefully. Thenavigator455 will reactivate an individual service application when it later becomes authorized. Finally, an application should be configured so it does not respond to input commands reserved for the navigator. For instance, as a non-limiting example, when user input commands are entered via a wirelessremote control device480 or keyboard, the application should be configured so it does not have access to certain user input keys that are reserved by the navigator455 (i.e., power, channel +/−, volume +/−, etc.). Without limitation to the foregoing, in some circumstances certain applications during the course of program execution may reach a machine-state in which input keys that would ordinarily be reserved may be employed for input by the application but only during that particular machine-state. For instance, an application may display a user interface that specifically requests input or selection from the user in which one or more of the reserved keys are used momentarily during that machine-state.
Other forms of input are subject to similar configuration so thatDHCT16 does not respond to input commands reserved for thenavigator455. For example, a video or speech signal in a DHCT16 that is input from a wired or wireless microphone and has been digitized and compressed in theDHCT16 as part of a BSPG service session would be subject to this configuration.
In an alternate embodiment, an audio input port (not shown as a separate input) in theDHCT16 comprises a single receiver device. In such an embodiment, theDHCT16 has digital signal processing capability that implements a subtraction filter to effect subtraction of the audio generated by theDHCT16 from the speech signal received from the user (and for echo cancellation).
Another application shown inFIG. 4 that is contained inDRAM memory452 is the bi-directional services program guide client application477 (hereinafter referred to as “BSPG client application477”).BSPG client application477 preferably is downloaded intoDRAM452 from thehead end11. Alternatively, theBSPG client application477 may be resident inflash memory451. Similar to an EPG application that has an EPG database of records in which program information is supported by client-server EPG counterparts, theBSPG client application477 employs aBSPG database478 of records that comprises of information pertaining to bi-directional communication services for presentation to a subscriber.
A bi-directional communication service is rendered as a session-based service effected by thehead end11 components as described above. Among other things, session-based bi-directional communication services include services that are purchasable by a subscriber on an individualized basis for a period of time. A purchasable bi-directional communication service may comprise a vendor that communicates remotely with the purchaser over the period of time for which the service is purchased. Particular vendors may offer the flexibility to purchase their respective services for any from a plurality of time durations, reflecting higher pricing for longer periods. Other purchasable bi-directional communication services, such as a person-to-person bi-directional audiovisual phone session, may not involve a vendor at the remote location.
A session for a bi-directional communication service may comprise communication concurrently between a vendor and a plurality of subscribers and a session for a bi-directional communication service may comprise real-time communication between a subscriber and a vendor or friend. Alternatively, a subscriber can purchase a bi-directional communication service for a future period resulting in a purchased reservation for the respective service. Hence, a bi-directional communication service may be fulfilled as a scheduled session per an advanced purchase by a subscriber.
TheBSPG database478 contains sufficient information for the presentation of available bi-directional communication services at the current time and for subsequent periods. TheBSPG application server319 in communication withBSPG client application477 effects updates to theBSPG database478 stored inmemory449 or in a storage device connected internally or externally to DHCT16 via a data communication port such as a USB (Universal Serial Bus) or IEEE-1394.
TheBSPG client application477 consists of a GUI that may be customized remotely by the system operator and updated as program data is received by theDHCT16 via its cable communication interface. TheBPSG client application477 receives input commands generated by a user via an input device such as aremote control device480 or via theinput communication port474 inDHCT16.
BSPG client application477 reads records inBSPG database478 and processes them into a displayable representation as part of a GUI presentation displayed on atelevision441 or similar display device for presentation to a subscriber.
BSPG information associated with a bi-directional communication services is transmitted on a regular or periodic basis from the BSPG application server319 (FIG. 3) to one ormore DHCTs16. BSPG information may comprise descriptive information to populate the entries of a BSPG presentation, a service guide, or an EPG presentation with the corresponding BSPG fields that are presented to the subscriber via a Graphical-User-Interface (GUI) from which a subscriber can select and request additional descriptive information about respective bi-directional communication services. Hence, per BC service information in the displayed presentation to the subscriber, the subscriber can retrieve and view (and hear if applicable) information specific to a BC service and proceed to select and purchase a specific BC service for a price over a period of time. BSPG information comprises data organized into database records with fields containing, but not limited to, information such as a service title, service content description, service category, name of vendor providing service, one or more names of individuals representing vendor that are available to fulfill the service, and service's rating information. TheBSPG database478 comprises additional data, including a plurality of purchasable durations with price for each respective service; an indication of whether a service can be optionally recorded by the purchaser for an additional price; one or more time intervals for which a service is available during the day; days of the week for which a service can be purchased; and a calendar window comprising a start date and an end date for which a service is offered. A service may be offered indefinitely.
Options for purchasing a package for multiple sessions of a service can be included in the BSPG database. BSPG database records may also include information such as service active times, service titles, service descriptions, service genres, casts lists, ratings information, price criteria (or combinations of multiple price criteria) associated with various viewing options, service durations, and/or links to additional respective program related information such as service previews. The effective window of days and times in which a service is available for purchase may also be included. Further, geographical information related to purchasable services may be included in the database records, such as time zone, geographical location and language(s) of merchant. Other illustrative information that may be present includes type of service (e.g. audio or video or both) and video quality/resolution.
TheBSPG database478 includes additional information associated with each respective service's availability at the current time. Preferably, theBSPG database478 includes a separate “availability table” of entries, each entry respectively associated with a respective service, each service having an index number for which the table can be rapidly be indexed with a service's number, and each entry respectively indicating whether a service is available at a selected time. Whereas the BSPG information associated with a bi-directional communication services is transmitted on a regular or periodic basis from the BSPG application server319 (FIG. 3) to one or more DHCTs16, the “availability table” or one or more subsets thereof, is transmitted asynchronously and on a more frequent basis as need be to update the availability status of services at the current time.
The BSPG information and availability table are transmitted in a preferred embodiment from theBSPG server319 to one or more DHCTs16 via theBFS server328. The BPSG receives updates to theBSPG database478 and/or the availability table via theBFS client443. Updates may be effected immediately or, in an alternate embodiment, at periodic intervals.
A type of purchasable bi-directional service offered by a vendor comprises a finite number of instantiations according to the resources and/or number of individuals that the vendor has to render the service from the remote location. For example, a personalized auto diagnostic service may feature four different mechanics with four respective sets of audio-visual equipment and communication interfaces to render its service. On the other hand, certain services may have resources for only one instantiation of the service.
Upon a session set-up for an available purchased service to a first purchaser, theBSPG server319 momentarily withholds grants to a second purchaser for the same service and immediately determines if the session constitutes the last available instantiation for that service. If a service's available instantiations are exhausted, theBFS server319 denies service to the second purchaser and alternatively theBSPG client477 queries the purchaser to schedule a future time or to purchase another service. Simultaneously upon determining that a session constitutes the last instantiation of a service, theBSPG server319 updates the availability table information to indicate that the respective service is not currently available and the updated availability table or a subset thereof is loaded into theBFS server328 where it is immediately broadcast through thecommunications network18. The version of the corresponding BFS file is automatically updated by theBFS server328 and causesDHCT16 to be signaled for reception for an updated file.
FIG. 5 is another depiction of selected elements of theDHCT16 including some of the elements previously discussed. This figure shows atuner system445 that can select one of a plurality of transmission channels provided by acommunications network18 of a subscriber television system such as, for a non-limiting example, a digital cable TV network or a DBDS. Thetuner system445 enables theDHCT16 to tune to upstream media and data transmissions, thereby allowing a user to receive digital video, audio and data content associated with a program or a bi-directional communication service content transmitted via the subscriber network television system. Also included within theDHCT16 are an out of band (OOB) tuner andupstream transmitter547 connected to thecommunications interface442. It should be appreciated that although the OOB tuner andupstream transmitter547 are illustrated as one component inFIG. 5, the tuner and transmitter can be independent of each other and located separately within theDHCT16. Nonetheless, both components are in communication with the subscriber network television system so that upstream transmissions can be received by the system during a bi-directional communication service. The OOB tuner andupstream transmitter547 enable the DHCT16 to interface with a subscriber network television system so that theDHCT16 can provide upstream data to the network, for example, via a QPSK channel that serves as an upstream OOB channel (seeFIG. 2) and received by a QPSK receiver inQPSK modem326 inheadend11. In this manner, a subscriber can interact with the subscriber network television system to request services or a service's data such as, for a non-limiting example, BC services and BSPG data, respectively.
Alternatively, upstream data transmission can be effected via a QAM channel with a QAM transmitter inDHCT16 and a QAM receiver inheadend11.
Alternatively, a telephone modem (not shown) in theDHCT16 can be utilized for upstream data transmission and aheadend11 orhub12 or other component located upstream in the subscriber network television system may receive data from a telephone network coupled to a telephone modem and can route the upstream data to a destination internal or external to the subscriber network television system.
TheDHCT16 includes ademultiplexing system543 comprising functionality for QAM demodulation, forward error correction (FEC), transport demultiplexing, decryption, and parsing, as is well known in the art, to counter the effect of signal processing of broadcast media and data in the subscriber network television system. Transport demultiplexing preferably includes MPEG-2 transport demultiplexing. Thedemultiplexing system543 in communication withcommunication interface442,tuner system445 andprocessor444 effects reception of compressed video streams, compressed audio streams, and compressed data streams corresponding to a selected or requested BC service to be separated from other programs and/or streams transported in the tuned transmission channel and to be eventually presented to the subscriber in accordance with the preferred embodiment of the present invention. TheDHCT16 also includes amedia engine580 configured with elements for driving thetelevision display441, in cooperation withoutput system448, wherein themedia engine580 also includesdecoding circuitry598 to decode compressed digital video and digital audio and data. Data packets from media and/or data streams corresponding to a session of a BC service that are stored in media memory560 are decompressed by decoding circuitry and reconstructed for presentation and playback. Further elements include media memory560, which is used to store compressed media and data packets and the respective reconstructed version corresponding to a program being viewed or to a purchased BC service. The reconstructed representation of the media streams as well as graphical information that comprise a graphical user-interface are displayed for presentation to the viewer.
Data packets from media and/or data streams corresponding to a session of a BC service that are stored in media memory560 are decompressed by decoding circuitry and reconstructed for presentation and playback.
Thesecurity processor565 is a secure element for performing security and conditional access related functions. More particularly, thesecurity processor565 functions to authorize a paying subscriber'sDHCT16 to execute specialized functionality of theDHCT16, such as receiving and decrypting (or descrambling) encrypted (or scrambled) media and other data sent from a remote device.Security processor565 preferably includes a microprocessor, and a memory that only the microprocessor of thesecurity processor565 may access. Preferably,security processor565 is contained in a tamper proof package. With reference toFIG. 3, in one implementation, media streams from the remote destination comprising a BC session, are received via an external communication interface in thehead end11 or from within headend11 (as described above) and sent to theBC server322. Communication with theBC server322 may comprise a secured IP connection in which a resident encryption mechanism is negotiated and exercised by the remote destination and theBC server322. Alternatively, encryption may not be applied between the remote destination and theBC server322.
Encryption is applied to the data stream of the requested media, for a non-limiting example the respective media streams from the remote destination comprising a BC session, and at theQAM group324 at theheadend11 according to encryption methods well-known to those skilled in the art. An encryption component resident in theQAM group324 in thehead end11 and under the direction of theDNCS323 encrypts, for a non-limiting example, MPEG-2 transport stream packets used to transmit the BC session's streams. The encrypted streams also include, in one embodiment, entitlement control messages that are recognized by the security processor565 (FIG. 5) at theDHCT16 as information is needed to decrypt the encrypted BC session's streams. Thesecurity processor565 preferably stores authorization information, wherein the authorization information indicates that the subscriber is entitled to access the BC session's streams. The authorization information is obtained from one or more entitlement messages sent by thehead end11 after, or concurrently with, initialization of theDHCT16 into a purchased BC service. If the authorization information indicates that the subscriber is entitled to the BC session's streams, thesecurity processor565 generates a code word or key based on the authorization information and the received entitlement control message, and thesecurity processor565 uses this key to decrypt the encrypted BC session's streams at the decryptor588 (FIG. 5).
TheDHCT16 includes aninternal clock582 andtimers590 that enable computation of the time relationship between its internal clock and the clock specified by the received BC session's streams. Hence, by reading and interpreting the clock and time stamps specifications intrinsic in the BC session's streams (for example, as provisioned in MPEG-2), or as communicated by thehead end11 via the out of band pathway or channel, theDHCT16 can effect an output for the media and/or information received from the remote location as a synchronized presentation to the user that includes reconstructed video pictures, the reconstructed digital audio samples, and supplementary information that emanated from the remote location.
Under the auspices of the real-time operating system453 (FIG. 4) executed byprocessor444, and in coordination withBSPG client application477, received packets corresponding to the BC session's media streams and/or data are received inDHCT16 viacommunications interface442 and stored in a temporary buffer inmemory449. The temporary buffer is implemented and managed as a circular buffer to enable data transfers from the temporary buffer to the media memory560 in concert with the insertion of newly arriving packets into the temporary buffer. Packets are read from the temporary buffer inmemory449 and written to media memory560 in a sufficiently fast manner. Orchestration of multiple simultaneous data transfer operations is effected so that while packets are being transferred frommemory449 to media memory560, new packets are received and stored in the temporary buffer.
Therefore, theBSPG client application477 provides the user with a presentation of available bi-directional services to choose from and can check the availability of and purchase the requested service for a duration of time. TheBSPG client application477 provides bi-directional services to the user by engaging, preferably, in a direct two-way IP connection withBC servers322.
TheBSPG client application477 configures the DHCT16 for the reception and transmission, purchase, and billing of a purchased BC service for a period of time. TheBSPG client application477 also provides for a user interface for the specification of options for purchasing a BC service from a plurality of time durations, reflecting higher pricing for longer periods, in cooperation with the BSPG application server319 (FIG. 3) and in cooperation with other head end11 components, including thepricing system321. Regarding the billing functionality, after a purchase transaction has occurred and the purchase is acknowledged, the purchase is recorded for billing purposes. In one embodiment, theBSPG client application477 configures theprocessor444 to cause BSPG purchase transactions to be stored in theFLASH memory451 part ofsystem memory449 or in some other designated non-volatile memory section of DHCT16 as purchase transactions occur. BSPG transaction records and associated fees are transmitted upstream via the OOB upstream channel at designated scheduled times (e.g., during low bandwidth consumption periods) to thebilling system320. Alternatively, theBSPG application server319, under the direction of thebilling system320, may periodically pollindividual DHCTs16 or group of DHCTs to collect their respective BSPG transaction history. BSPG transaction records received from subscriber'sDHCT16 by theBSPG application server319 are debited from subscriber's respective account by thebilling system320.
BSPG data associated with BC services is transmitted on a regular or periodic basis from theBSPG application server319 to one ormore DHCT16. BSPG information may comprise descriptive information to populate the entries of a service guide or the corresponding BSPG fields of an EPG that is presented to the subscriber via a GUI from which a subscriber can select and request additional descriptive information about respective BSPG services. Hence, per BSPG title information in the displayed presentation to the subscriber, the subscriber can retrieve and view information specific to a BC service and proceed to purchase specific a BC service for a specified period.
TheBSPG client application477 can offer the user a plurality of choices, wherein the user may select from pre-configured options from an input device such as a wired or wireless keyboard orremote control480 to purchase a BC service for one of various durations and from options to purchase the service at the current time impulsively or at any of various future periods of time.
TheBSPG client application477 also preferably tracks periods and consumption for active services and determines whether the service access time is about to expire. Hence, theBSPG client application477 performs a “remaining time” comparison for each user-effected service purchased. When theBSPG client application477 determines that the remaining service access time approaches the cross point in time for which the service is to expire, it alerts the user to the situation via a warning barker or banner that is displayed via thetelevision441. Alternatively a user can be alerted via a blinking light on theDHCT16 and/or via a sound signal.
When a user selects a bi-directional service, theBSPG client application477 confirms availability of the service and waits for a start of service notification from theBSPG application server319. As stated above, when required, theBSPG application server319 updates the availability table when all available instantiations for a service are consumed. Updates may be effected immediately or, in an alternate embodiment, at short periodic intervals. Thus, when a user selects a bi-directional service, the BSPG will be updated to reflect that use.
Upon a user instantiating a purchase of a bi-directional service for a price via the displayed graphical interface (i.e., the subscriber enters input via an input device and such input may comprise a password or PIN to authenticate authorization to purchase service), a purchase transaction is executed by theprocessor444 or some other processor inDHCT16 that causes a session to be set-up between subscriber network television system resources to theDHCT16. A logical connection between the DHCT16 and a remote location for the BC service is established. The remote location may involve bi-directional exchange of audio-visual or other information via a router372, bi-directional gateway380 orBC server322. As facilitated by thesession manager334 in theDNCS323, a session is a logical entity used to define a connection between the DHCT16 and theBC server322 and the resources used to maintain that connection in the subscriber network television system. Thesession manager334 coordinates and effects the signaling required to implement the session which is preferably defined by the MPEG-2 standard's ISO/IEC 13818-6 IS (MPEG-2 DSM-CC). Upon a session setup request generated by the DHCT16 (usually in response to a request from a subscriber), theDNCS323 verifies the eligibility of theDHCT16 to receive the bi-directional service being requested and then passes the request to theBSPG server319.
If theBSPG server319 determines that it can deliver the service, it communicates with theDNCS323 to reserve the network resources required for the requested service. TheDNCS323 in communication withBC servers322 allocates the requested resources, including the necessary bandwidth, and sends a message back to theBSPG server319 to indicate that the requested resources have been allocated. This message contains MPEG-2 transport stream ID, identifying the physical connection from a router372 or bi-directional gateway380 to theBC server322, and the connectivity from theBC server322 to theQAM324 to theHub12 in which theDHCT16 is connected. The amount of bi-directional bandwidth that will be reserved for the duration of the bi-directional services session is also communicated to the relevant servers andheadend11 components. Bandwidth allocation entails an assignment of system resources for a time interval for delivering a bi-directional service. The time interval is characterized by a specific start time and duration.
Via the messaging capabilities of theDNCS323, theBSPG server319 next sends a message to theDHCT16 that indicates that it is ready to begin delivering the bi-directional service video and audio content using the resources allocated. TheDHCT16 receives information in the message identifying the QAM Modulator that is transmitting the video content (and hence where to tune to receive the requested content) and the bandwidth allocated to deliver the service. After a session has been established, theDHCT16 communicates directly with theBC server322 to facilitate delivery of the requested service. Throughout the course of time that a bi-directional service is active further messaging is conducted between therespective DHCT16 receiving the BSPG service and theBSPG server319 and/or theBC server322 via theDNCS323 to monitor the status of the session. Thus, theBSPG server319 can monitor that a session is properly functioning.
As aforementioned, a user may select a bi-directional service by navigating through a displayed BSPG GUI presentation by manipulating designated buttons of a wired or wirelessremote device480. The selection of a bi-directional service or entry from theBSPG client application477 invokes a query as to the availability of the selected service. The query is translated into one or more application executable calls that are executed by thenavigator455 and theSAM client457 to activate the requested service. Any of a multiplicity of bi-directional services may be activated through theBSPG client application477 and its corresponding interface (discussed below).
References to the selection of a service or entry from the multiplicity of services and/or entries displayed by theBSPG client application477 on thedisplay441 comprise the process of interactively navigating by moving the highlight cursor and transmitting input commands to theDHCT16. Theprocessor444 processes data extracted and/or interpreted from the input commands to effect visual cursor position and visual feedback of the user's selection on thedisplay441. When the user inputs a selection, theprocessor444 invokes communication between internal components in theDHCT16, including software components such as thenavigator455 andSAM client457, to activate the selected service. Theprocessor444 employs the messaging services of theoperating system453 to effect the communication between any two or more of the internal components.
FIG. 6 is a diagram of thedisplay441 with aBSPG presentation670 presented to the user by theDHCT16. TheBSPG presentation670 is displayed upon activation of the B SPG GUI. At activation, anavigable menu672 is presented to the user. In one embodiment, theBSPG presentation670 includes a series of navigable and selectablebi-directional services676 that link the subscriber to a selected service.
A system operator at theheadend11 uses the BSPG server319 (FIG. 3) to a priori configure the BC services andrespective BSPG database478 for display in theBSPG presentation670 depicted inFIG. 6.
ABSPG server319 generates a version of theBSPG database478 that identifies the particular services offered, so that when the subscriber selects one of the service links676 the BSPG70 knows which service to activate. BSPG program information is coalesced and stored in theBSPG server319 at theheadend11 for transmission to DHCTs16 throughout thecommunications network18 as theBSPG database478, or only to those DHCTs authorized to receive BSPG data. TheBSPG server319 formats theBSPG database478 into a format interpretable by theBSPG client application477 running in theDHCT16 and feeds the data via the BFS from theheadend11 for downstream transmission to theDHCTs16.
A record of theBSPG database478 that corresponds to a selected bi-directional service may, for example, include a short description of the service and a reference the target service and application that provides the service. Similarly, the SAM service ID or the actual channel assigned to a desired service may also be used to activate a service. Examples of bi-directional services that can be included in theBSPG presentation670 include, but are not limited to, those provided by the following applications: personalized expert advice, personalized adult entertainment, personalized education, or personalized medical assistance. In a preferred embodiment, any bi-directional service available to the user in thecable system10 can be accessed via theBSPG presentation670, as configured by the system operator and/or in the respective alternate embodiments as configured by the user to reflect a user's own customization and preferences.
In a preferred embodiment, BSPG database information for each bi-directional service is displayed in theBSPG presentation670 in a grid format (seeFIG. 6) to enable scrolling through the plurality of services by time and service. As a non-limiting example, an information key on aremote device480 may be configured to instruct theBSPG client application477 to display the information corresponding to a selectable bi-directional service. As another non-limiting example, theBSPG presentation670 may immediately present additional information about a selectable bi-directional service after the user moves thecursor678 onto the selectable area of theBSPG presentation670.
Bi-directional service authorization information is available to theBSPG670 via the SAM. A user may select abi-directional service link676 displayed in theBSPG presentation670 and the request for the process of granting the bi-directional service will proceed only if the user is authorized. If the user is not authorized, visual or audio feedback such as a “grayed out” area should be displayed to indicate that the user may not select thelink label676 for activation of that service. Alternatively, unauthorized services may not be displayed at all. Alternatively, unauthorized services are coalesced into a service category such as “Other Purchasable Services” or “Other Available Services.”
Either the system operator of the cable television system or the user of theDHCT16 may configure the display status of the respectivebi-directional service link676 with respect to authorization status and availability of the target service. Alternatively, theBSPG server319 automatically generates availability and status information for each respective bi-directional service via transmission of updated availability table as previously described. The user, through a settings menu (not shown) may configure theBSPG presentation670 so that the display mode of one or more selectablebi-directional services links676 is “inactive” or “none” so the display of the selectable bi-directional service conforms to the display modes described above.
FIG. 7 is an example of a mainsession purchase screen700 illustrating the main screen following the selection of a first BC service by the subscriber in aBSPG presentation670. The main purchase screen displays features provided by the BSPG application477 (FIG. 4). The example mainsession purchase screen700 includes atitle header701 suggesting to the user the purpose of the screen, and asubtitle header702 indicating which hierarchical level of the session purchase screen displays is currently displayed, in this instance, amain screen700. Examplemain screen700 includes aninformation window710 that provides brief descriptive information, such as, for a non-limiting example, service title, rating, availability, service description, duration, and price. More or less information may be included according to the information available in theBSPG database478.
Example sessionmain screen700 also includes several pre-configured lists, such asquery list724,options list722, and functionslist720.List722 changes accordingly to the subscriber's selection of a respective entry inquery list724. Hence, the options list722 changes to a display corresponding to price-per-duration displays upon the subscriber selecting the price entry inquery list724. Each of these pre-configured lists includes information within a series ofwindows725. The information in these lists will preferably be defaulted to the selection corresponding to the shown highlightedwindow726 of each list based on the characterizing information corresponding to the BC service selection. Other embodiments are possible, such as a configuration screen (not shown) wherein the user categorizes the session for a BC service according to his or her own personal definitions. For a non-limiting example,query list724 includes such queries for a session of a BC service as availability, price, and duration, as well as more query options not shown. The default selection highlighted by highlightedwindow726 corresponds to the fact that a user can query about a plurality of price options for the selected BC service, i.e. Tae Bo as a non-limiting example. Options list722 defaults to “$20 for 15 min as this corresponds to the least-expensive available option of the Tae Bo BC service. Although these are default selections, the user is free to scroll the highlightedwindow726 of each list to enter his or her desired query. As with any of the lists shown and described on the current and subsequent screens, the user may advance from one window to the next window within a list by using the up and down arrow keys of the remote control device, as suggested by uparrow730 and downarrow734. There are many variations of the advancing function. Preferably, the user advances highlightedwindow726 in each list up or down to highlight the entry inwindow725 containing the information desired. Alternatively, the windows in each list may be advanced through highlightedwindow726. The preferred embodiment of the invention is not limited to how the user advances to eachwindow725. The user advances from one list, for a non-limitingexample query list724, to another list, for a non-limitingexample options list722, by using scroll arrows on the remote, as suggested byscroll arrows736. Scrollarrows736 and738 correspond to scroll arrows located on a remote device.Category display712 includes one example default format based on characterizing information corresponding to the selected BC service. In this non-limiting example, since Tae Bo is a “Physical Fitness” BC service, thecategory display712 lists “Physical Fitness.” Alternate formats may be displayed as well, such as personalized formats created by the user. The scope of the embodiments of the invention is not limited by how data is formatted on the screen displays.
The effective window of calendar days in which a respective BC service is purchasable is displayed withinservice information window710. Alternatively or in addition, it may be included as an entry inquery list724 in which upon selection respective options list722 displays an entry for start time and another entry for end time.
Once a user has selected a price fromoption list722 for a session of the Tae Bo BC service, the user can proceed to record the session in a VCR device or storage device attached to DHCT16 by advancing fromoption list722, tofunctions list720, by using scroll arrows on the remote, as suggested byscroll arrows738. A BC service may entitle a session to be recorded or not recorded. In the even that a BC service does not allow session recording, “set record” will not appear as an entry infunction list720.
Recording of BC service's session may be allowed for an extra price. In one embodiment, a purchasable record option appears as an entry in function list with a price, as a non-limiting example, as “set record $5.” In an alternate embodiment,option list722 will include price-options entry indicating price for duration and recording as well. For example, the “$25 (Rec) for 15 min” may indicate to the user the price for the Tae Bo BC service for a 15 minute session that is recordable.
An option for a BC service purchase constitutes a package purchase option inoptions list722. In the non-limiting example inFIG. 7, multiple sessions of the Tae Bo can be purchased for a fee. For example, a user may opt to purchase four 30-minute sessions of a BC service for a discounted price. A first session can be impulsively instigated and the three remaining sessions can be scheduled by navigating through a series of menus or lists in the hierarchy of a session purchase GUI.
Upon selection to “wake on availability,” the user selects to be notified when a service not currently available becomes available. The user may presented with a displayed pop-up message in the future, while continuing to watch a program television or to consume a second service, that notifies the viewer that a first requested service not previously available has become available.
A user can also set a reminder timer for a session purchased for a future time slot viafunction list720.
InFIG. 7, the “A”, “B”, and “C” buttons on the remote480 may be used to provide certain user interface functionality, as suggested by the corresponding buttons on the example display screen. For instance, “A”button740 enables a user to request more information about a BC service, such as a more thorough description or reviews from other individuals (note: needs claimed). The “B”button742 provides for enacting the purchase of a session at future periods other than the set of near-term periods presented in the options list when availability is selected in the query list.Return Button744 will return the user to the screen display from wheresession purchase screen700 was entered, for example a BSPG screen, by way of non-limiting example. The “SEL”button732 enables the user to enact the purchase functionality once all desired options and functions have been selected. Buttons “A”-“C”,arrow buttons730,734,736 and738, and “SEL”button732 suggest a one-to-one functional correspondence to similar buttons on a remote device, such as that illustrated as a non-limiting example inFIG. 8.
FIG. 8 illustrates a non-limiting example of aremote control device480 that is used to provide user input to theDHCT16. Thearrow buttons882 include an uparrow button883, adown arrow button884, aleft arrow button885, and aright arrow button886 that are used to scroll through options or selections and/or to highlight an option or selection displayed on one of the plurality of user interface screens. Theselect button887 may be used to select a currently highlighted option or selection that is provided to the user. Lettered button “A”888, “B”889, and “C”890 may be used to implement functions on a user interface screen that have the corresponding letter.Numeric buttons895 may be used to enter numbers, or configured with the application to enter letters corresponding to thenumeric buttons895. In describing the example screen displays, it will be understood that “selecting” or “pressing” the navigational and lettered buttons on the screen actually require selecting the corresponding remote control device buttons. Many alternative methods of providing user input may be used including a remote control device with different buttons and/or button layouts, a keyboard device, a voice activated device, etc. The embodiments of the invention described herein are not limited by the type of device used to provide user input.
In another embodiment, theicon B742 ofFIG. 7 represents a search operation.FIG. 9 is an examplearchive search screen900 responsive to the user selecting the “B”search button742 insession purchase screen700 or in theBSPG presentation670 ofFIG. 6. Note the change in thesubtitle header902 reflecting the current screen purpose.Search window924 enables the user to enter alphanumeric characters to search for BC service or other characterizing information within theBSPG database478. The user may enter the name of a BC service, or any of the BSPG information and theresult display912 will display the information found pertaining to one or more BC services upon completion of a search operation in theBSPG database478.
A user may access theBSPG presentation670 in several ways. With reference again toFIG. 8, aremote unit480 is shown with a dedicated key to access theBSPG presentation670. Thenavigator455 on theDHCT16 may be configured to activate theBSPG presentation670 whenever the user presses the GUIDE key881 on the remote480. The user may navigate theBSPG presentation670 by pressing the arrow keys to move thecursor678 of theBSPG presentation670 to the desired selectablebi-directional service link676. Once the user moves thecursor678 to the desired target service or application, the user presses the SEL key887 to select theselectable service link676 corresponding to that target service. If the user desires to exit theBSPG presentation670, theDHCT16 may be configured to remove theBSPG presentation670 and return to the current TV program if the user presses the GUIDE key881 a second time or theEXIT key891. It will be clear to one of ordinary skill that virtually any key on the remote480 may be configured to activate theBSPG presentation670. Similarly, it will be obvious that the remote480 may be any type of corded or wireless remote or keyboard or other input devices. Other input commands can be received as signals inDHCT16 by alternate means of receiving input, including voice signals and signals received via a communication port inDHCT16.
In one embodiment, the a user can press the “info”button892 in order to cause the remaining time for a purchased service to be displayed in a non-obtrusive manner on the television screen. For instance, the remaining time may be displayed on the bottom of the television screen regardless of whether the service presentation is active or in stop mode.
TheBSPG presentation670 may also be activated by the user upon entering a channel input corresponding to the BSPG service, as defined by the system operator.FIG. 10 is a diagram of the mappings of services to channels wherein theBSPG presentation670 is mapped to a channel of the channel table1001. The system operator at theheadend11 configures the assignment of services to channels. The channel table1001 is a list of all channels in the cable television system, and the bi-directional service table1002 is a list of all available services or applications provided by the cable television system. The system operator configures the channel line-up by setting the various channels in channel table1001 to point1003 to the various service or application in the bi-directional service table1002. A channel in the channel table1001 may point1005 to the BSPG, provided by theBSPG client application477, so that theBSPG presentation670 is displayed whenever the user selects that channel. Thus, in a non-limiting example, theBSPG presentation670 is presented to the user upon theDHCT16 receiving a command to displaychannel1. Consequently, theBSPG presentation670 is presented if the user inputs achannel1 command or merely scrolls through the channels and stops onchannel1.
FIG. 11 is a screen display diagram of a combination presentation of an interactive program guide (IPG)display1100 that includes aBSPG presentation670. TheIPG display1100 presents current and future viewable programs to the user in a scrollable format based on channel and time. The user may navigate theIPG display1100 to select a current program for immediate viewing. TheIPG display1100 is a vertically scrollable list of channel numbers in a channel portion of thedisplay1101 and a horizontally and vertically scrollableprogram listing display1103 of program services, including bi-directional services, corresponding to the respective channels in the channel portion of thedisplay1101.
InFIG. 11, the user navigates acursor1105 in theprogram listing display1103 to select the individual program or service for activation. The user in similar fashion may activate bi-directional services by moving thecursor1105 to the bi-directional service listing in theprogram listing display1103. Alternatively, a separate program guide, devoted exclusively to bi-directional content, may be listed as a separate channel. In the disclosed embodiment ofFIG. 11, a BSPG is listed aschannel1 and may be accessed by moving thecursor1105 overchannel1 and selecting it with the remote480. In still another example, the BSPG may be a separate guide from theIPG display1100 entirely and may be accessed via separate buttons from the remote480.
FIG. 12 is a screen display diagram of another embodiment of aBSPG presentation670. In this embodiment, channels akin to those used in the more traditional IPG displays replace the bi-directional service links676. Abi-directional services menu1200 lists those services available to the subscriber at a given time. Note that the selectable services are arranged in a vertical format such that the subscriber can scroll vertically to view the offered services currently showing on the various channels. Alternatively, the subscriber can scroll horizontally and view the services available at different times on the same channel. As described above, theBSPG presentation670 may be a separate guide from theIPG display1100 or may be an option that the user can select from theIPG display1100.
FIG. 13 is a screen display diagram of another embodiment of a BSPG in a full screen format. In this embodiment, theBSPG presentation670 includes a date andtime field673, a list of channels carryingbi-directional services680, a description of the bi-directional services offered674, anavailability indicator675 and a nextavailable session indicator677. In a preferred embodiment, some of the bi-directional services may be subscription-based and the program guide can use different colors and/or textures to distinguish between free and subscription-based services. Alternately, colors and textures can be used to distinguish between types of services offered (audio only, video only or both) or service content (family services versus adult entertainment). These examples are for illustration purposes only and it will be readily apparent to one of ordinary skill in the art that any of the attributes stored in theBSPG database478 can be graphically distinguished in theBSPG presentation670. Moreover, the methods used to distinguish between service attributes may be selected by the cable system operator or may be user customizable.
In a preferred embodiment, if a user selects one of the listed bi-directional services the user will receive anotherBSPG presentation670 showing the sessions available for the selected service.FIG. 14 is a screen display diagram showing the sessions available to a subscriber that has selected Bally's Exercise Routines from the services listed inFIG. 13. TheBSPG presentation670 ofFIG. 14 includes a bi-directionalservices session list682 that shows the various sessions available from the selected bi-directional service. For each session, the availability indicator shows the user whether a given bi-directional service session is currently available and, if not currently available, a nextavailable session indicator677 indicates when the session will next be available. In a preferred embodiment, if a user attempts to select a session that is not currently available, the user will receive a audio or visual message indicating that the selected service is not available. Alternatively, unavailable sessions will be listed as “grayed out” and are not selectable.
FromFIG. 14, a user may scroll through the available sessions within the selected bi-directional service. In a preferred embodiment, the user has the option of pressing theINFO button892 of the wirelessremote device480 to obtain additional information about each session.
FIG. 15 shows an exemplary BSPGsession information page685 that includes a detailed description of the offeredbi-directional service session687 and asession fee structure689. At the bottom of the screen, the user has option to purchase the bi-directional service session via thepurchase service button690 or to return to theprevious screen691.
In one embodiment, as illustrated inFIG. 16, the user is presented with an interactive program guide (IPG)1670 which has BC icons next to varied media selections, suggesting to the user the availability of a selectable BC service. For a non-limiting example, selections Tae Bo under thePPV category1676 have “BC” next to them suggesting to the user that these selections are available for session purchase. In another embodiment, the user may be presented with a service guide (SG)option1776 in theexample IPG1790 depicted inFIG. 17. Upon selecting the service guide (SG)option1776, the user is presented with service selections in a service guide (SG) as illustrated inFIG. 18.
FIG. 18 is an example user service guide (SG) that provides for a plurality ofservices1856 with BC icons to alert the user to the ability (or inability) to purchase a BC service session. Alternatively, theBSPG service1975 may be a selectable service entity, as illustrated inFIG. 19. Selecting theBSPG service1975 from theservice guide1950 may present various BC services that are purchasable, categorized, by way of non-limiting example, by BC service categories such as adult entertainment, personal education, personal advice, etc.
Once the user has decided on a BC service selection, either by entering a selection in an IPG, a service guide, or during a particular GUI presentation, the user is presented with an examplesession purchase screen2000, as illustrated inFIG. 20.
BC services under the “adult” category, such as, for example, a featureSuzie Flooseydisplayed in the display of a an adult BC service in a BSPG or EPG GUI presentation, are displayed with a lock or PIN icon next to it to reflect PIN access authorization to view this media presentation. The PIN access entry icon may be displayed as a result of the user entering a first PIN access number to allow session purchases of BC services comprising communication of adult material, in accordance with the rating of the BC service. Alternative icons or warning notices or messages alerting the user to PIN access entry requirements may also be employed.
FIG. 21 depicts an examplePIN entry window2100 that is presented to the user after the user selects to purchase a session for a BC service example session purchase screen,2000 ofFIG. 20. APIN Entry window2100 is employed during the purchase of a session for a BC service to authenticate authorization to purchase and exercise parental control of purchases. Thetop portion2110 contains the heading “PIN ENTRY” while thebottom portion2120 illustrates relevant navigation buttons available on theremote control device480. A user can enter his or her PIN using theremote control device480 while being presented with thePIN entry window2100.Center portion2130 containsentry fields2140 that display a “*” for every PIN entry received from the user. In an alternative embodiment a user is not presented with a PIN entry screen and is not required to enter a PIN. In yet another alternative embodiment, a user is only presented with a PIN entry screen if a session for the selected BC service can be achieved.
In the described embodiment, the user can purchase a bi-directional service from any of the aforementioned GUI presentations. If the selected service is free, the user's selection activates the server using the process already described. If, on the other hand, the selected service is subscription-based the user will receive a confirmation screen of the type shown inFIG. 20.
TheBSPG presentation670 is additionally configurable to control the behavior and presence of thebi-directional services links676 based on the parental control status of theDHCT16 as maintained by thenavigator455 application. Service parental control information is available to theBSPG client application477 via thenavigator455. If the “display_mode” is “active,” theservice link676 is selectable (shown active) even if the service is blocked. Thus, the user may select theservice link676 to the target service, but theBSPG presentation670 will display a pop-up barker indicating that the service is not available because it has been blocked by parental control. If the “display_mode” is set to “inactive,” links to bi-directional services that are blocked by parental control are displayed to the user in a “grayed out” format so that the user may see theservice link676 but may not select thelink label676 for activation of the underlying target service. Finally, if the “display_mode” is set to “none,” links to services that are blocked by parental control are not included in theBSPG presentation670.
Either the system operator of the cable television system or the user of theDHCT16 may configure the display status ofbi-directional service links676 with respect to parental control status of the target service. The system operator may designate the display status with respect to service blocking status by a GUI that graphically configures theBSPG presentation670. More likely, the user, through a settings menu (not shown), may configure theBSPG presentation670 so that the display mode of one ormore service links676 is “inactive” or “none” so the display of the selectable graphic conforms to the display modes described above. Alternatively, the user can configure theBSPG presentation670 by calling the automated phone menu system, logging on to a specified secure and encrypted web site, or navigating through a configuration application running in the user'sDHCT16 as described above.
To offer BSPG service, in one implementation, the subscriber network television system operator assigns a portion of the downstream and upstream bandwidth capacity in the subscriber network television system to be dedicated for transmission of BC services. The amount of bandwidth capacity that can be allocated to the BSPG service is finite. Grants for request to fulfill a session for a BC service may be limited during peak-time periods that correspond to high bandwidth consumption by a plurality of other services. On the other hand, off-peak-time periods may feature unused bandwidth capacity intended for other services that can be repossessed for effecting BC service sessions.
In one embodiment of the invention, the amount of bandwidth capacity allocated for BC services varies throughout time to reflect bandwidth consumption by a plurality of bandwidth consuming services, including but not limited to VOD services. During peak periods of other bandwidth consuming services such as, for a non-limiting example, VOD, the amount of bandwidth capacity allocated to the BC services is less than during the off-peak periods. Consequently, the number of available BC services during peak-periods may less than during off-peak periods. Lower bit rates resulting in lower picture quality (e.g., lower quality of service) may need to be effected for BC services during peak periods. Pricing for each respective BC service session may or may not vary according to whether the time interval for a purchase session is a peak period or not.
As a non-limiting example, during peak periods, such as 6:00 to 10:59 P.M. of the week nights, a BC service may exhibit higher pricing whereas during certain, low-demand time periods such as 6:00 to 11:00 A.M of the weekend days the pricing will be lower. Other factors such as demand for a BC service and its popularity may also influence pricing. Therefore, pricing for a BC services may be configured to adapt in a time-specific manner according to a plan and according to such other factors.
Other factors influencing pricing of a BC service include the service content type (e.g., audio, video, and/or data), the session quality (e.g., CD quality or surround sound quality audio; and low bit-rate versus high bit-rate picture quality).
The allocation of system resources such as bandwidth for BC services may be configured to switch as time progresses from a first allocation sub-schedule to a second allocation sub-schedule according to a main schedule that specifies the time interval when each of two or more sub-schedules is to be active as illustrated inFIG. 22. As noted inFIG. 21, the plan may consist, in one embodiment, of scheduling withmultiple schedules2210, on a perweek basis2220, administered with a plurality of sub-schedules on a daily basis2230 (or alternatively weekly basis). In this embodiment, only one configurable sub-schedule is active at a time throughout the configurable recurring schedule but a first configurable sub-schedule may be active throughout one or more distinct and non-overlapping time intervals of the configurable recurring schedule. The recurrence of the schedule is configured to one of a plurality of time periods such as a weekly, daily, or a monthly recurring schedule.
According to another possible bandwidth allocation schedule, a multiplicity of time-adaptive schedules for each of a multiplicity of recurring schedule choices are pre-configured. In this embodiment, the cable system operator may monitor the bandwidth and BC service usage and be given the option of manually implementing one of the pre-configured allocation schedules without following a plan.
Alternatively, theDNCS323 may automatically monitor bandwidth usage and automatically select one of the pre-configured. For instance, six different configurations may be available for time-adaptive management of the bandwidth allocated for BC services for a daily recurring schedule. On the other hand, more than six different arrangements may be necessary when implementing time-adaptive bandwidth management on a weekly recurring schedule.
The pricing system and the allocated bandwidth are inherently related, as the price structure will depend on, among other factors, the time of the BC service session and the duration. In a subscriber network television system that markets BC services with a plurality of prices, a first subscriber may be willing to pay a premium to immediately effect a session of a BC service that is purchased during a peak-period. A second subscriber pays a lesser purchase fee when purchasing a BC service during a peak-period but selecting to schedule the session at a later time corresponding to an off peak-period. In the preferred embodiment, the BSPG service offers a plurality of prices for a BC service session, each respective price is associated with a different combination duration, recording rights, session start time, and picture quality. TheBSPG presentation670 may allow configurability by the user so as to include one or more favorite bi-directional services so designated by the user to appear in theBSPG presentation670. While the system operator may configure one or more selectablebi-directional service links676 to always be presented in theBSPG presentation670, the system operator may configure theBSPG presentation670 to display selectablebi-directional service links676 to services chosen by the user for incorporation in theBSPG presentation670.
TheBSPG presentation670 may be configured to additionally display a selectablebi-directional service link676 to services or channels in a time-specific manner. TheBSPG presentation670 may be configured to switch as time progresses from a firstconfigurable BSPG presentation670 to a secondconfigurable BSPG presentation670 according to a schedule that specifies the time interval when each of two or morerespective BSPG presentations670 is to be active. Two or more from a multiplicity ofconfigurable BSPG presentations670 are configured to be active for one or more intervals of time in a recurring schedule. Only oneconfigurable BSPG presentation670 is active at a time throughout the configurable recurring schedule but a firstconfigurable BSPG presentation670 may be active throughout one or more distinct and non-overlapping time intervals of the configurable recurring schedule. The recurrence of the schedule is configured to one of a multiplicity of choices such as a weekly, daily, or a monthly recurring schedule.
In an embodiment, the system operator configures a multiplicity of time-adaptive BSPG presentations670 for each of a multiplicity of recurring schedule choices. For instance, the system operator may configure six different arrangements to choose from for users that opt for a time-adaptive service guide on a daily recurring schedule. On the other hand, the system operator may configure more than six different arrangements to choose from for users that opt for a time-adaptive service guide on a weekly recurring schedule.
In another embodiment, in addition to having the choice of selecting one of a multiplicity of time-adaptive BSPG presentations670 pre-configured by the system operator, the user can additionally configure a time-adaptive BSPG presentation670 according to the user's preference for a user-selected recurring schedule from the set of recurring schedule choices. The user can enter his or her preferences through an interactive configuration session in theDHCT16 or in alternate embodiments by calling the automated phone menu system or logging on to a specified secure and encrypted web site as described above.
In an embodiment, a time-adaptive BSPG presentation670 running a weekly recurring schedule may include selectablebi-directional service links676 to, for example, personalized traffic and/or weather services for one or more specific time intervals (e.g., 7:30 to 8:00 A.M. and/or 11:00 to 11:30 PM for personalized news; 1:00 to 5:00 PM for personalized financial services) during weekdays. During weekends, the weekday selectablebi-directional service links676 become inactive. Examples of selectable service links for weekends might include visual chat rooms or exercise classes.
TheBSPG presentation670, which comprises an ordered listing of selectable services can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
Further, any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.
It should be emphasized that the above-described embodiments of the present invention, particularly any “preferred embodiments” are merely possible examples of the implementations, merely set forth for a clear understanding of the principles of the invention. Any variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the spirit of the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and present invention and protected by the following claims.