Home
Patent Search
IMT Blog
REGISTER
|
SIGN IN
United States Patent
7194756
Addington , ; et al.
March 20, 2007
Title
Systems and methods for provisioning a host device for enhanced services in a cable system
Abstract
Flexible systems and methods are disclosed that may be used for provisioning, configuring, and controlling a host embodied in a cable set top box or other digital device attached to a digital communication network, such as cable distribution network. An enhanced services system maintains various host files for various types of hosts that a cable subscriber may purchase and connect to the cable network. The Enhanced Services Server interacts with the host using the host files. The host files may be downloaded from the host manufacturer into a database that distributes the modules as required to the various enhanced services systems. The host may be purchased by the cable subscriber and provisioning may be initiated by the retailer at the time of purchase using a provisioning network interacting with the appropriate cable system serving the subscriber. This abstract is not intended to limit or construe the scope of the claims.
Inventors:
Addington; Timothy
(Roswell,
GA
)
, Lehrman; Ira
(Littleton,
CO
)
Assignee:
N2 Broadband, Inc.
(Duluth,
GA
)
Appl. No.:
10/712,870
Filed:
November 12, 2003
PCT Pub Date:
March 21, 2007
Current U.S. Class:
725/116
725/117
725/119
725/120
725/138
725/144
725/146
725/91
725/98
709/201
709/202
709/203
709/227
709/228
709/229
725/114
Current International Class:
H04N 7/173 (20060101)
Field of Search:
725/91,93,114,116,117,119-120,138,144,146 709/201-203,227-229
U.S. Patent Documents
20010013121
August 2001
Kimball et al.
20020112175
August 2002
Makofka et al.
20020178455
November 2002
Poli et al.
20020194594
December 2002
Poli
20030212991
November 2003
Mahajan
20030217166
November 2003
Dal Canto et al.
20040054786
March 2004
Kjellberg et al.
20040088734
May 2004
Donlan et al.
20040088737
May 2004
Donlan et al.
20040210941
October 2004
Poli et al.
20040261116
December 2004
Mckeown et al.
20050091699
April 2005
Poli et al.
20050122976
June 2005
Poli et al.
6546094
April 2003
Turner et al.
Other References
International Search Report from International Application No. PCT/US04/19455 dated Jun. 1, 2005. cited by other.~
Primary Examiner:
Salce; Jason
Attorney, Agent or Firm:
Alston & Bird, LLP
Parent Case Text
CROSS-REFERENCE TO RELATED APPLICATIONS
This application claims the benefit of U.S. Provisional Application No. 60/480,391 filed on Jun. 20, 2003 and U.S. Provisional Application No. 60/511,398 filed on Oct. 15, 2003. This application is related to Systems And Methods For Providing Flexible Provisioning Architectures For A Host Device In A Cable System, U.S. patent application Ser. No. 10/712,832, Systems And Methods For Selling A Consumer Electronics Host Device And Enhanced Services Associated With A Cable System, U.S. patent application Ser. No.10/712,822, Systems And Methods For Distributing Software For A Host Device In A Cable System, U.S. patent application Ser. No. 10/712,890, all filed concurrently herewith this application. The contents of each of the above applications referenced in this paragraph are hereby incorporated by reference in their entirety.
Claims
That which is claimed:
1. An enhanced services system comprising: a host protocol file comprising a plurality of configuration commands and associated host protocols, wherein each configuration command pertains to an operation capable of being performed in a host and the associated host protocol comprises protocol data for generating a respective host-specific protocol provisioning message capable of being recognized by the host for executing the respective configuration command, wherein the host is a device capable of processing digital video data and is associated with a host type; a processor capable of receiving provisioning data using a first interface, the provisioning data including a service identifier and a subscriber identifier, the processor capable of using the subscriber identifier to ascertain the host type indicating a manufacturer and a model of the host, the processor capable of retrieving the host protocol file associated with the host type using a second interface and deriving the respective host-specific protocol provisioning message by selecting one of the protocol data in the host protocol associated with the one of the configuration commands wherein the one of the configuration commands is determined by the service identifier, the processor capable of transmitting the respective host-specific protocol provisioning message to the host using a third interface operatively connected to a digital communication network wherein the digital communication network is further connected to the host; and a memory storage operatively connected to the second interface, capable of storing the host file, the host protocol file further associated with the service identifier, the memory storage further capable of storing an association between the host and a host address associated with the host, and further storing an association between host and the host type, the memory storage further capable of providing the host protocol file to the processor in response to the request from the processor.
2. The system of claim 1 wherein the provisioning data received using the first interface is from a billing system.
3. The system of claim 2 wherein the service identifier is a billing code.
4. The system of claim 1 wherein the provisioning data received using the first interface is from a provisioning input system.
5. The system of claim 1 wherein the processor derives the respective host-specific provisioning message dynamically using a service parameter data file provided with the service identifier.
6. The system of claim 2 wherein the processor derives the respective host-specific provisioning message statically by extracting the host-specific provisioning message from the host protocol file.
7. The system of claim 1 wherein the digital communication network is a cable network.
8. The system of claim 1 wherein the host is integrated in a digital television.
9. The system of claim 8 wherein the host type indicates a host manufacturer and a host model of the host manufacturer.
10. The system of claim 1 wherein the host address is a MAC address.
11. The system of claim 1 wherein the request from the processor to the memory storage includes the host address and the service identifier.
12. The system of claim 1 wherein the request from the processor to the memory storage includes a subscriber identifier, wherein the subscriber identifier comprises one from the group of subscriber account number, subscriber telephone number, subscriber name, and host identifier.
13. The system of claim 1 wherein the memory storage stores a table associating a subscriber identifier to one or more host addresses.
14. The system of claim 1 wherein the memory storage stores a table associating a subscriber identifier to one or more host types.
15. The system of claim 1 wherein the third interface is operatively connected to a cable headend, the cable headend further operatively connected to the digital communication network.
16. The system of claim 13 wherein the processor transmits the respective host-specific provisioning message using the host address as a destination address for the host-specific message.
17. The system of claim 1 wherein the service identifier results in the respective host-specific provisioning message configuring an enhanced cable service.
18. The system of claim 1 wherein the respective host-specific configuration message is transmitted to the host on the digital communication network using an out-of-band channel.
19. The system of claim 1 wherein the respective host-specific configuration message is transmitted to the host on the digital communication network using a DOCSIS based channel.
20. The system of claim 1 wherein the host-specific configuration message commands the host to tune to an indicated channel to receive additional provisioning messages.
21. The system of claim 1 wherein the service identifier is associated with one from the group of a digital video programming recording service, a telephony service, and a high speed Internet access service.
22. A provisioning system comprising: a server receiving a host protocol file comprising a plurality of configuration commands and associated host protocols wherein each configuration command pertains to an operation capable of being performed in a host and each associated host protocol comprises protocol data for generating an associated host-specific protocol configuration command, wherein the host is a device capable of processing digital video data and is associated with a host type indicating a manufacturer and a host model of the manufacturer, the server receiving a host profile file comprising feature descriptors of the host type, the server receiving a service parameter data file associated with a service provided on a cable network, the server displaying to a user the feature descriptors from the host profile file, receiving user input, and processing the service data file, the user input, and the host protocol file to produce at least one host-specific protocol configuration message; and a memory for storing the at least one host-specific protocol configuration message, the memory associating the host-specific protocol configuration message with a service identifier and the host type.
23. The system of claim 22 wherein at least one host-specific protocol configuration message is a legacy configuration message enabling the host to decode and decrypt a channel containing a video programming channel.
24. The system of claim 22 wherein the input from the user provides data to define operation of the service on the cable network.
25. The system of claim 22 wherein the service is associated with a billing code.
26. The system of claim 22 wherein the service data parameter file includes network default parameters.
Description
FIELD OF THE INVENTION
This invention is directed generally to the field of provisioning services in a network, such as a cable television system. Systems and methods are disclosed for configuring enhanced service related capabilities in a cable set top box. Further disclosed are systems and methods for distributing and downloading host-specific files to cable systems wherein the host-specific files contain protocol messages as well as descriptive information that can be used to interact with a specific model of set top box, the interaction including configuring enhanced services involving the particular type of set top box. Additionally, the host-specific files may contain software that is downloaded to the set top box to replace or augment resident application software. Systems and methods are disclosed pertaining to third-party service provisioning, the third parties including retailers who also distribute and/or sell the cable set top box to a customer. A method is disclosed of selling set top boxes by a third-party, typically by a retailer in conjunction with provisioning network services for the customer.
BACKGROUND OF THE INVENTION
Cable television systems are widely deployed for the distribution of television signals, and typically provide greater selection and quality of channel reception than can be received using traditional over-the-air broadcast antennas at the point-of-reception. The deployment of new cable technology, such as digital cable, provides more robust transmission and increased channel capacity, and allows services to be offered such as selective subscription to premium channels and pay-per-view events. The offering of such services typically requires a set top box to decode and decrypt the digital signals, which are typically encoded using the MPEG-2 digital encoding standard. The cable operator typically provides the set top box to the cable subscriber for a monthly leasing fee.
The basic architecture for a cable system is illustrated in FIG. 1, which depicts the prior art and involves a cable headend 5 emanating multiplexed signals over a cable distribution network 6. The cable distribution network has evolved over time and was originally primarily a bifurcated tree architecture using coaxial cable (not shown). The cable distribution network has become more sophisticated in recent years, both in its architecture and technology, typically incorporating optical fiber transmission and multiplexing equipment based on an architecture involving interconnected `rings` (not shown). Regardless of the architecture, the network can be logically depicted as providing connectivity between the cable headend where the signals originate and the cable set top box 7 where the signals are received.
The cable headend 5 contains various equipment, including receivers, transmitters, optical terminations, multiplexing equipment, and transmission devices. It also contains functions for encrypting signals, which will be discussed further. The cable headend is typically tightly `coupled` with the provisioning/conditional access system 1b as represented by the dotted line 2. The provisioning/conditional access system functions closely with the cable headend in regard to enabling a particular subscriber to decode authorized channels. Thus, channel authorization for a subscriber requires coordination between the provisioning/conditional access system and the cable headend, specifically the integrated receiver transcoders (IRT) contained in the headend (not shown). The IRT is a component of the conditional access scheme and used to control dissemination of entitlement control messages (ECMs) which is a message conveying a key that authorizes access to a program. In some contexts, industry usage of the term "headend" encompasses both elements the provisioning/conditional access system 1b, and the cable headend 5, but some distinction of functionality is maintained herein.
The cable set top box ("set top box" or "STB") provides additional flexibility for the cable system operator to provide basic and premium services. For analog services, the STB may authorize access to, and descramble the video signals. For basic and premium digital services, the STB decodes and decrypts the digital MPEG program signals that include encoded video and audio signals. The STB also provides a mechanism for the cable operator to selectively authorize reception of an individual channel (e.g., premium service) or a group of channels (e.g., basic service). The STB is used by the cable operator to selectively authorize other services, such as enabling the purchase of pay-per-view events or enabling an input/output port to connect to an external device. The STB typically incorporates specialized hardware and software employed for decrypting digital program data. The special hardware and software is typically embedded into the STB, but may be implemented on a removable circuit card. Once the program data is decrypted and decoded, it is then converted to a standard television signal that is typically transmitted over a coaxial cable 9 to a traditional analog television set 10 for viewing. With the advent of digital televisions, the decrypted data may be digitally transmitted, either in the clear or further encrypted, to the digital television or display monitor. The decryption techniques are typically based on sending periodic ECMs from the cable headend (specifically from the IRT) to the STB for decrypting digital program data. The keys are typically sent using another encryption key. As programs are broadcasted on channels over the cable distribution network 6, the STB can theoretically tune to any channel. However, by sending the entitlement management messages (EMMs) to a particular STB, the STB is able to decrypt the data only as authorized. Typically, a particular key authorizes viewing of only one channel. Other messages, containing channel maps, indicate how to locate a particular channel in the multiplexed data. Thus, without having the channel map or decryption key, a STB cannot effectively provide a program to the viewer's television. This is one embodiment of a common security scheme (a.k.a. "conditional access scheme") that is designed to thwart theft of cable services (either basic or premium services) by the use of illegal set top boxes to receive services.
A cable subscriber may indicate their request to add service, such as a premium channel by telephoning a customer service representative ("agent") 522 and verbally indicating their subscription request. The agent is in a call center and operates a computer 523 for provisioning the service. After obtaining the necessary information from the user, the agent 522 indicates the desired services 523 using a computer operatively connected to a billing system 1a and provisioning/conditional access system 1b. The billing system contains a database of `house records`, so called, as the records are associated with a house or residential serving location. Each record includes the address, and information as to what services can be provided to that location. Typically, the cable network may have different service capabilities in different portions of the cable network, and thus not every serving location is able to receive the same services. For example, the cable network may serve several subdivisions of homes with a portion of the cable network that has been upgraded that provides a greater number of channels and services than another subdivision that is served with another portion of the cable network that has not been upgraded. If the house record indicates the location is currently receiving service, then the subscriber's name and service related information is provided. The records further indicate `outlet` information that includes information as to how many and which type of set top boxes is present. Thus, any form of subscriber information or service related information is typically maintained by the billing system. This includes a subscriber's current service selections, past selections, payment related information, etc. Further, the billing system maintains information regarding various groupings of service offering ("service packages") that are mapped to "billing codes." The groupings of services associated with a service package are defined by various business rules by the cable operator. The business rules not only define which channels are associated with a service package, but information such as equipment requirements (e.g., required STB type or model number), billing aspects, and ancillary service aspects (e.g., use of a remote control, enabling a switched power outlet on the STB, enabling pay-per-view capabilities, etc.).
Each cable service package is mapped to a billing code (a.k.a. `billing handle`) and then further mapped by the provisioning/conditional access system to one or more service tiers. A service tier is typically associated with authorizing a STB to decode a particular channel. Thus, `basic digital cable` may have a single billing code that corresponds to a plurality of service tiers, where each service tier results in sending the STB the appropriate EMMs authorizing the STB to decrypt the channels comprising basic digital cable. The provisioning/conditional access system receives the billing code along with the host address. The provisioning/conditional access system maps the billing code to one or more service tiers and communicates the appropriate EMMs to the STB, which in turn, enables the STB to decrypt the program. Thus, the provisioning/conditional access system has limited knowledge of service related information and typically does not have any subscriber level information.
Provisioning a service frequently involves adding a channel to an existing subscriber's services and uses a similar scheme as described above. Adding a premium channel can be accomplished by instructing the billing system 1a to add a billing code to the subscriber's service profile, which updates the billing associated with the subscriber. The billing system communicates the billing code and STB address to the provisioning/conditional access system 1b. The provisioning/conditional access system then communicates the service tier by sending the appropriate decryption keys via an EMM to the STB.
In some cases, provisioning a service may result in authorizing a subscriber's STB to decode and decrypt multiple channels. A billing code corresponding to `basic cable service` may comprise, for example, 40 channels. The billing system contains business rules that define the channels associated with the basic service package with the billing code, which in turn is mapped to 40 service tiers by the provisioning/conditional access system.
However, provisioning a service may also involve authorizing or configuring other capabilities as part of the overall service that is not associated with a STB decoding and decrypting a program. For example, cable system operators typically provide the STB access to program guide information. This can be accomplished by using the same scheme of communicating a service tier to the STB using the above mentioned process or sending a specific command message processed by the STB. In the case of the use of a service tier, the service tier is associated with an application in the STB that enables access to programming guide information. In this example, there are no ECM messages sent, as there is no programming data to decrypt. In another example, the cable system operator may enable the use of a remote controller with the STB. The STB can be configured to recognize a controller by sending the STB a service tier or a specific command message. Thus, in some instances, when a billing code is conveyed for a service, (e.g., `basic cable service`), the provisioning/conditional access system may map this billing code to several service tiers. For example, the `basic cable service` billing code not only typically authorizes various channels, but also may configure the STB for using a remote controller and configure the STB for receiving program guide information. In other circumstances, a billing code may be mapped to only a single service tier (e.g., adding a premium channel).
In addition the billing system 1a can instruct the provisioning/conditional access system to perform other actions involving the STB. The billing system can send commands or billing codes to the provisioning/conditional access system to effect various functions. Some common commands include installing a particular STB, resetting a particular STB, downloading software, or polling a particular STB. Installation of a STB involves the provisioning/conditional access system storing information about a newly deployed (or soon to be deployed) STB. Typically, the STB is identified by an address, such as a MAC level address used in conjunction with the serial number of the conditional access module. Resetting a target STB instructs the provisioning/conditional access system to re-initialize parameters in a particular STB and potentially re-send decryption keys to the STB to authorize decoding of the appropriate channels. Downloading software to a host can be accomplished by sending a service code to the host, where the service tier indicates the host should monitor a channel for updated software, and download it if the software is a newer version than contained in the host. Finally, polling a STB is used to periodically collect information from the target STB, such as pay-per-view viewing data maintained in the memory of the conditional access, module.
However, each of these commands or service tiers must be recognized by the conditional access module and either acted upon by the conditional access module or passed by the conditional access module to the host.
In summary, provisioning existing cable services (`legacy` services) typically involves an agent interacting with the billing system to create or modify a subscriber's record to add or delete a billing code associated with an existing subscriber's service profile. The billing system maintains subscriber and service related information and sends a series of billing codes as appropriate along with the subscriber's host address to the provisioning/conditional access system. The provisioning/conditional access system is aware of whether a billing code is associated with authorizing a STB to receive a channel. The provisioning/conditional access system sends the service tier contained in an EMM to the STB via the cable headend. In this manner, the subscriber is provisioned for a service. Other service related provisioning aspects may also require sending potentially proprietary commands to the STB, which may be proprietary in nature. Thus, provisioning a cable subscriber in a legacy system typically involves sending a combination of proprietary messages to authorize, configure, and command the host.
In the previous example, the cable distribution network 6 provides a method for communicating messages to the STB, but not necessarily in the reverse direction. If there is no reverse channel communication, then this type of cable distribution network is called a one-way network. Users desiring to communicate with the network (e.g., requesting a service to be added) typically initiate communication with the network via a telephone call to a network agent. Alternatively, the STB may automatically initiate a call and interact with an automated system. The agent then performs the appropriate provisioning actions. In other networks, a reverse communication path is provided for communicating information from the STB to the headend. Such two-way cable networks allow data conveyed from the STB to the cable headend, such as acknowledging receipt of data. Since the STB can signal to the cable headend using the cable distribution plant 6, two-way networks also allow greater flexibility in service offering. For example, early deployments of pay-per-view services on one-way networks relied on the telephone network for reporting subscriber usage data to the cable network in order to calculate the subscriber's billing charges. With deployment of two-way networks, pay-per-view subscribers with a configured STB can use the reverse path on the cable system to report monthly viewing data.
A STB that can signal in the reverse path on a two-way cable network is different than a STB designed for one-way communication. FIG. 2 illustrates one embodiment of the functional components in a prior art one-way STB 7. A tuner 20 receives the signal from the cable distribution network 3 and then a demodulator 22 provides the multiplexed digital video information. The signal is also processed by receiver 23 isolating out-of-band information, such as control messages or decryption keys. Both the out-of-band messages and the video information are sent to a Point of Deployment ("POD") module 27 that may be implemented on a removable circuit board for processing incoming data. The POD module also performs decryption of the data. Alternatively, the POD functionality is implemented on circuitry embedded with other functionality in the STB. This is sometimes referred to as `embedded security.` After decryption, the video information is demultiplexed by the demultiplexor 25, decoded, and then provided as an output signal to a television. This could be in a PAL format (common in Europe), NTSC format (common in the U.S.), or in a digital format (suitable for newer digital televisions or display monitors), either encrypted or not.
The POD 27 functionality interworks with the Host 8, and the two sets of functions together embody a typical STB 7. The POD-to-Host interface 21 is defined by an industry standard published by the Society of Cable, Telecommunications Engineers in a document referenced as SCTE 28 2003 (formerly referenced as "DVS 295"). A standard POD-to-Host interface facilitates different host manufacturers developing host units. Heretofore, the STB has been referred broadly, but it is necessary to reference the host functionality distinct from the POD functionality.
The POD module contains security (encryption) related algorithms and decryption keys. Its distribution is carefully controlled by the manufacturer and cable system operator. These security techniques are called `conditional access` schemes and are designed to deter theft of cable services as well as use of unauthorized STB units. Thus, the POD functionality is generically referred to as a `conditional access module` herein. Other common industry terms for the POD include "CableCARD.TM." or "removable security module." The host is typically considered the remaining functionality in the STB including the CPU, but excluding the conditional access module. Other possible implementations integrate the host functionality into a consumer electronics device (e.g., digital television) and use a removable conditional access module. A removable conditional access module is typically inserted into a slot on the consumer electronics device or STB.
FIG. 3 illustrates the prior art of a STB capable of two-way communication and is largely distinguishable from the one-way STB in that the two-way STB incorporates a transmitter 28 for sending information back to the headend. In both FIGS. 2 and
3, the STB comprises a host 7 and a conditional access module 27. In both figures, the messages may be filtered by the conditional access module. The conditional access module determines whether the message is passed to the host CPU 26 or processed by the conditional access module. This is true regardless of whether the messages are sent inband (involving the tuner 20 or the demodulator 22) or whether the messages are sent out-of-band (involving receiver 23). Consequently, in the current existing architecture, the provisioning of new or enhanced services may require passing new messages in the existing architecture between the cable headend and the host. This typically requires reprogramming or replacing conditional access modules in the deployed STB, or replacing the STB. Further, this requires coordination and cooperation of the conditional access module manufacturer, host manufacturer, as well as the headend equipment provider, to recognize and process the new messages. In all cases, the authorization and command messages emanate from the cable headend and are directed to a specific conditional access module, which then processes or forwards the message over the POD-host interface. Because of the compatibility required between the cable headend and the STB, cable operators typically carefully control the connection and use of STBs to the network. Typically, different conditional access schemes are not compatible with each other. For example, two main vendors of cable network equipment include Motorola.RTM. and Scientific-Atlanta.RTM.. The conditional access schemes and messaging for each vendor are typically not compatible with each other. Thus, a STB with an embedded conditional access module functioning on one network will not operate on the other network. To minimize interoperability problems and maintain customer satisfaction, the cable operator typically provides the STB to the cable subscriber, often on a leased basis. Hence, the cable subscriber typically is limited in their choice of STB brands and models. For a variety of reasons, many host manufacturers do not introduce innovative service capabilities in the host application software because the new capabilities would have to be supported by potentially the cable headend, conditional access module and billing and provisioning/conditional access system. If the vendor of the conditional access module does not recognize or pass information to a host CPU, or does not pass it in a defined manner, then that host capability cannot be configured by the cable network. Further, the coordination of development and deployment of new capabilities in these various legacy systems is difficult and competing business interests limit any coordination and cooperation. As evident, the development of a new host application executed by the CPU in the current architecture requires coordination of the development and deployment of a defined capability in the host with the conditional access module. Since current cable networks maintain only a limited ability to discriminate between different host capabilities and cannot accommodate different conditional access implementations, any deviation in the host's legacy based signaling capabilities results in host incompatibility. It is neither economically feasible, nor practical, for a cable system operator to replace a conditional access module every time an upgrade is required due to a new messaging capability.
BRIEF SUMMARY OF THE INVENTION
In one embodiment of the present invention, a method of provisioning a host device is disclosed involving an enhanced services system receiving provisioning data including a subscriber identifier and a service indicator. The provisioning data may be provided by a provisioning input system or a billing system, based on different embodiments. The enhanced services system determines an appropriate host file to use to configure a host based on the host type associated with the host and the service to be provisioned. The enhanced services system selects the host file associated with the target host and the service identifier. The enhanced services system derives a configuration message from the host file to send to the host, the configuration message configuring the appropriate feature in the host as required.
In another embodiment of the present invention, an enhanced services system for provisioning a host device is disclosed. The system typically comprises an enhanced services server connected to an enhanced services database. The enhanced services server is typically connected to a cable network, specifically a cable headend. The enhanced services server may also be connected to either (or both) a billing system or provisioning input system associated with a cable service provider. The enhanced services database stores host files that facilitate the enhanced services server interacting with a host. In one embodiment, the enhanced services system comprises a processor capable of receiving the host file, where the host file comprises a host protocol file containing host-specific protocol messages for interacting with a host of a certain type. The processor is also capable of receiving a service indicator from potentially different sources wherein the service indicate relates to the service being provisioned for a host. The processor retrieves the appropriate host file that is stored in the enhanced services database and associated in some manner with the service and host type. The processor derives a protocol message using the host file, typically a configuration message, that the processor sends to the host configuring the host for the service being provisioned.
The summary is not comprehensive and does not detail all the variations of the invention. Nor is this summary intended to limit the invention in any way as defined by the claims.
BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale.
FIG. 1 depicts the prior art of a cable network including a billing and provisioning/conditional access system and a set top box connected to the cable network.
FIG. 2 depicts the prior art of various functions associated with a one-way set top box.
FIG. 3 depicts the prior art of various functions associated with a two-way set top box.
FIG. 4 illustrates one embodiment of functions associated with a third-party retailer provisioning a service for a customer in accordance with the principles of the present invention.
FIG. 5 illustrates one embodiment of functions associated with comparing services provided by a cable system operator with selected host products in a retail provisioning system in accordance with the principles of the present invention.
FIGS. 6a 6d illustrate one embodiment of provisioning screens associated with a third-party retailer provisioning a service in accordance with the principles of the present invention.
FIG. 7 illustrates one embodiment of a high level overview of the provisioning process according to the principles of the present invention.
FIG. 8 illustrates one embodiment of Enhanced Services System according to the principles of the present invention.
FIGS. 9a and 9b illustrate embodiments of communication between the Enhanced Services System and the Host according to the principles of the present invention.
FIG. 10 illustrates one embodiment of a workstation for creating configuration messages according to the principles of the present invention.
FIG. 11 illustrates one embodiment of a user-interface of the configuration message set creation system according to the principles of the present invention.
FIG. 12 illustrates one embodiment of network and service configuration information for an enhanced service according to the principles of the present invention.
FIG. 13 illustrates one embodiment of the concept of provisioning capability sets according to the principles of the present invention.
FIG. 14 illustrates one embodiment of a provisioning input system architecture according to the principles of the present invention.
FIG. 15 illustrates another embodiment of a provisioning input system architecture involving service provisioning menus on a television screen according to the principles of the present invention.
FIG. 16 illustrates another embodiment of a provisioning input system architecture according to the principles of the present invention.
FIG. 17 illustrates yet another alternative embodiment of a input system provisioning architecture according to the principles of the present invention.
FIG. 18 illustrates one embodiment of information flows for host-specific provisioning according to the principles of the present invention.
FIG. 19 illustrates one embodiment of the message flow for provisioning a specific enhanced service according to the principles of the present invention.
FIGS. 20a b illustrate one embodiment of provisioning a host on a one-way cable network in accordance with the principles of the present invention.
FIGS. 21a b illustrate one embodiment of provisioning a host on a two-way cable network in accordance with the principles of the present invention.
FIG. 22 illustrates one embodiment of the architecture for provisioning a high-speed data service involving IEEE 802.11 wireless access in accordance with the principles of the present invention.
FIG. 23 illustrates one embodiment of the architecture for provisioning a music-on-demand service on a two-way cable network in accordance with the principles of the present invention.
FIG. 24 illustrates one embodiment of the provisioning message flow for a music-on-demand service on a two-way cable network in accordance with the principles of the present invention.
FIG. 25 illustrates one embodiment of the Host Files Database repository in accordance with the principles of the present invention.
FIG. 26 illustrates one embodiment of the host manufacturer's procedures for introducing a host into the supply chain in accordance with the principles of the present invention.
FIG. 27 illustrates one embodiment of a host profile file in accordance with the principles of the present invention.
FIG. 28 illustrates one embodiment of a host protocol file in accordance with the principles of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
The present inventions now will be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown. Indeed, these inventions may 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 satisfy applicable legal requirements. Like numbers refer to like elements throughout.
Overview
It is desirable that systems and methods be designed to allow various host manufacturers the ability to implement new service capabilities using new messages and minimize the coordinated development of new capabilities in the conditional access module and cable headend. Rather than require coordinated development in these legacy systems for each new capability introduced by a host, it would be desirable to utilize existing capabilities to work around limitations in the legacy system. By minimizing developing new functionality in legacy systems for each new host, greater flexibility would be provided to host manufacturers for developing new host capabilities. A scheme for enabling new services should allow use of existing conditional access modules for existing (`legacy`) capabilities, such as authorizing premium channel viewing and pay-per-movie viewing. Thus, existing mechanisms used for message decoding, decryption, and authentication should be retained for controlling existing digital video, premium, and pay-per-view services. Further, these existing mechanisms should be allowed, if desired, as a step or component in configuring an enhanced service. Enhanced (non-legacy) capabilities and services may be offered using the principles of the present invention. It is expected that hosts implementing new capabilities will typically incorporate existing conditional access schemes and capabilities, but new capabilities typically will require use of new messages and parameters for controlling and configuring these new capabilities. Since the new messages for a given host may not be common among all host manufacturers, it is desirable that host-specific messages be accommodated for a plurality of hosts connected to a cable network without requiring modification of the existing infrastructure. This requires the cable system to be able to identify and use the appropriate and possibly unique messaging protocol for configuring an enhanced service capability in a specific host.
Further, while the current video encoding and security schemes are retained as a `minimal subset` to ensure compatibility of new hosts with legacy systems, it is anticipated that future video coding and alternative security schemes may be developed. For example, hosts may be developed with more advanced video codecs, such as those based on the newer MPEG 4 standard or Windows Media 9.RTM.. Alternatively, newer or different conditional access schemes may be developed. A mechanism to allow introduction and evolution to these new capabilities in cable networks should be developed. Thus, a mechanism for allowing `legacy` capabilities to be augmented should be accommodated as well. This allows, for example, new conditional access schemes and video coding technologies to augment existing schemes.
Further, the implementation of new cable network services operating in conjunction with new capabilities in the host may require appropriate changes to the cable network billing and provisioning/conditional access systems. It is desirable that changes to these legacy systems be minimized as well. It is further desirable that more flexible and accessible service provisioning capabilities are afforded to subscribers as well as third parties. Thus, a flexible provisioning architecture is required.
The ability to accommodate different host capabilities provides the opportunity for the host manufacturer to market new hosts in innovative ways. Host manufacturers will typically offer differing host functionality to meet customer needs not yet determined. Thus, support systems must be created to minimize customer dissatisfaction that may occur when a customer purchases a host that may be incompatible with their service needs or cable operator service offerings.
Further, a variety of brands and models of set top boxes may be made available to the cable subscriber through a variety of distribution channels, and a cable subscriber's choice should not be limited to those solely offered by the cable system operator. Each of the various brands and models of STBs should interwork with the cable headend, and should be easily configurable. Further, the conditional access module and host may be embodied in different forms with consumer electronics devices and should not be limited to a separate physical electronics device (e.g., `box`) connected to a television.
Various systems and methods are disclosed allowing cable subscribers to purchase set top boxes at a retailer for use in receiving cable services. Cable subscribers may purchase their set top boxes (STB) from a variety of distribution channels, including consumer electronics retail store, retail, mail order, and Internet based retailers. In addition to selling STBs, retailers may also provision services for the cable subscriber. Retailers provisioning the service on behalf of the cable STB purchaser accomplish this by accessing a provisioning network. Alternatively, the cable subscriber themselves may provision their services by accessing the provisioning network, albeit with a different level of functionality and user interface. In still another alternative, the cable subscriber may interact with a cable system representative ("agent") to provision services. The provisioning network then interacts with various elements to configure the host as appropriate, including new systems such as an enhanced services system as well as legacy systems, such as the billing and/or provision/conditional access system.
Traditionally, the set top box has been a separate device provided by the cable system provider and is typically co-located adjacent to the television it is connected with. However, as used herein, a "set top box" may be embodied in various forms, and is not constrained to the traditional embodiment of a separate electronics box comprising conditional access module and host functionality where the box is connected to a television. The functionality of the conditional access module and/or host may be integrated into various embodiments of consumer electronics devices, including digital televisions, monitors, or projection devices. The functionality may be embodied in a circuit board interfacing with a personal computer. Alternatively, it may be integrated into a home theater sound system or other video consumer electronics equipment, such as videocassette recorders, personal digital video recorders, media gateways, video game devices, and other types of digital video and/or audio devices. The set top box may incorporate functions typically not incorporated in current set top boxes, including personal video recording capabilities, audio and data capabilities, and telephony based capabilities. A cable subscriber may have several such embodiments in their home with different capabilities and receiving different services from the cable system provider. All these and other embodiments are within the scope of "set top box" as used herein. Further, all the aforementioned services offered on a cable network could be services available to a `cable subscriber`. No limitations on the embodiment of the functions associated with the set top box are intended based on current or past embodiments of the STB, host, conditional access module, or current cable service offerings. Further, it is not even required that the host devices manipulate video. As it will be seen, the principles of the present invention may apply to non-video applications, including telephony, MP3-based music recording and playback, and high-speed data services (e.g. Internet access) or other capabilities. These and other capabilities may be marketed or implemented in different consumer electronics device combinations.
Further, although a STB has traditionally comprised a host and embedded conditional access module, there is nothing limiting application of the present principles of the present invention only to devices having a physically separable conditional access module. For example, consumer electronic devices, such as digital televisions, may incorporate integrated host functionality allowing connection of a physically separate conditional access card. Further, other embodiments may utilize downloadable software in lieu of a conditional access card, where downloadable software configures the consumer electronics device for the particular conditional access method. The functionality of the conditional access module may be integrated into the host. Thus, a manufacturer may implement a STB that functions only with a particular conditional access scheme, or that stores a library of conditional access schemes allowing selection and enablement of the appropriate scheme for a particular cable system provider. The activation of a particular conditional access module may be enabled by payment of an appropriate fee, for example. Alternatively, compatible software for operating a particular conditional access scheme may be loaded and stored in non-volatile memory of the device at the time of sale using a variety of technologies and media. Thus, the functionality of a host and conditional access scheme may be integrated into various forms of consumer electronics devices without the consumer requiring a physically separate STB. In summary, the functionality of the host conditional access module, and consumer electronics device may be combined and implemented in various physical forms and combinations. Thus, any consumer electronics device interfacing with a service provider, for the purposes of providing services and associated functions in conjunction with a network, including a cable network, falls within the scope of the present invention.
In illustrating the concepts of the present invention, typical embodiments of the STB are illustrated in conjunction with a cable network, though such embodiments do not limit the application of the principles of the present invention only to cable services. It is typical that current set top boxes comprise a host (which usually includes a processor, software, and related components), a conditional access module, and various interfaces for external devices. The conditional access module is used to decrypt and decode not only basic digital cable selections, but also various premium services, including premium channels (e.g., Showtime.RTM. and HBO.RTM.) and pay-per-view services. The principles of the present invention facilitate providing new services by the cable operator without having to upgrade the conditional access module functionality or other legacy systems or elements. Thus, the present invention is not dependent on a particular conditional access scheme. However, nothing prohibits using the principles of the present invention to invoke legacy services by providing capabilities mimicking current capabilities, such as enabling more flexible premium or pay-per-view services or using a yet to be defined conditional access scheme. Thus, the present scheme could be used to configure and control legacy type services using a yet-to-be-defined conditional access scheme. In such instances, the conditional access functions could be viewed as residing in the host, as opposed to the conditional access module. Further, the present scheme allows use of legacy capabilities as a component in the steps of configuring a new capability. Thus, a new service may be accomplished by a combination of configuring new host capabilities along with using legacy based host capabilities.
The host may incorporate a variety of new capabilities and each capability may require host-specific messaging. Some capabilities may be unique to a service, while others may be used as components in several services. Cable system operators interact with a specific brand and model of a host by using host-specific files. The host-specific files may be provided to a cable system operator by a Host File Database downloading the appropriate host files. The HFD could automatically send the host files to the cable system operator, or the operator could request the host file. Each set top box manufacturer deposits the appropriate host file(s) in the Host File Database to facilitate distribution of the hosts' files to cable system operators. Alternatively, other distribution channels may be used to convey the host file directly from the set top box manufacturer to the cable operator. However, the ability to access host files for a specific type of host at a central location facilitates the rapid development of new service offering on cable networks as well as support for new hosts.
Once downloaded, the host protocol files are used by the cable system operator to create a "configuration message set" used to configure and enable a specific set top box for the desired service. The configuration message set is one of several types of host-specific files. One type (called the host profile file) describes the functionality of a host and another type (called the host protocol file) provides protocol messages for configuring the host. The profile files are used in part to drive a user-interface on a application running on a workstation used to create a `configuration message set.` The configuration message set incorporates the protocol messages in the host protocol file in conjunction with service related parameters to define a host-specific message to configure a specific type of host for a specific service. The configuration message set is typically a series of commands configuring the appropriate parameters in a host or instructing the host to performs certain functions in order to accomplish the desired service operation.
When a set top box is initially configured for a specific service, a check is typically made contemporaneously to determine that the host brand and model is supported by the cable operator for the desired service. If not supported, the cable system operator can obtain the desired host file, define the appropriate configuration message set, and then offer the service in conjunction with that type of host.
The use of host-specific files allows host manufacturers to create and deploy different host capabilities without being constrained by cable operators waiting for industry consensus among various entities for standard messages to be agreed upon. Thus, host vendors are not required, nor expected, to implement an identical set of capabilities or the same messaging protocols for configuring or enabling these new capabilities. Host manufacturers can build, market, and distribute hosts without being constrained to the lowest common denominator of compatible cable network services. Further, cable operators can support new services and hosts without being constrained to the lowest common denominator of support in the legacy cable system for messaging compatibility across STBs. It is assumed that STBs incorporating these new capabilities will support legacy type capabilities allowing a existing services to be provided.
Although the cable network services are described as operating in the context of a traditional coaxial-based physical distribution network, the principles of the present invention are not limited any particular form of network distribution technology or architecture. For example, the principles of the present invention may apply to a cable network comprising metallic coaxial transmission facilities, optical fiber transmission facilities, or even wireless transmission technologies. Various architectures, including rings, star or tree architectures can be used. The wireless transmission technologies could incorporate satellite or terrestrial based technologies, such as Local Multipoint Distribution Services (LMDS) and Multichannel Multipoint Distribution Services (MMDS) operating at various frequency ranges. Various distribution architectures can be used with the various transmission technologies, including broadcast, hierarchical tree, rings, inter-connected sub-nets, etc. Thus, "cable system operator" or "cable system" or "cable network" does not limit application of the principles of the present invention to any particular transmission technology or distribution architecture. Further, the principles of the present invention are not limited to the delivery of video services over a cable distribution network, but could apply to delivery of other types of single or multi-media services over other networks. For example, high-speed data services (a.k.a. broadband services) using an IP (Internet Protocol) based network, including s Video-Over-IP, Voice-Over-IP, or other types of broadband services can benefit from the principles of the present invention. Delivery of enhanced voice and data services over cellular networks, including services utilizing 3G technology, graphical or video communication services, EDGE, CDPD, or other forms of wireless data transmission.
Subscriber Set Top Box Acquisition
The cable subscriber can obtain the set top box or host in a variety of ways using different marketing/distribution channels. One embodiment of this process is illustrated in FIG. 4. The cable subscriber can obtain the set top box through any distribution channel, including mail order, telephone or Internet access, retail stores, specialty electronics chain stores, or general merchandise stores. The embodiment illustrated by FIG. 4 is based on the user purchasing the set top box at a retail store, such as an electronics specialty store or remotely from a mail order based specialty distributor. As a wide variety of manufacturers and features are possible, the customer may require further product information and assistance in the selection of a host. In step 400, the customer may access a self-serve kiosk providing description of the features and/or a comparison of various models. The kiosk may comprise a touch-screen monitor interacting and educating the customer about host features, various cable operator services, and compatibility between the two. The kiosk may access a third-party web site providing such serviceability and compatibility data. Alternatively, the customer may obtain this information via other sources such as directly from the third-party website offering user-interface comparing features and compatibility.
Next, in step 401 the customer selects the particular host to purchase. The retailer may assist the customer in determining if the set top box is compatible with the customer's selected cable service provider. In some cases, the customer may already know the exact host brand and model, and the retailer need not verify compatibility, but typically customers will require some assistance. Thus, in step 402 the retailer accesses a cable service provisioning network. The provisioning network may be accessed with the aforementioned kiosk, or a dedicated PC terminal having Internet access to an informational website or a third-party offering an informational website. The retail sales personnel uses the service provisioning network to select the appropriate cable system operator for the customer. In many cases, there may be more than one potential service provider serving the customer's service location. The service location is typically indicated by mapping the customer's address or telephone number to a geographic location, which is then compared to the various service providers' serving areas. The `location data` provided by a customer can be their name, address, telephone number, zip-code, neighborhood name, etc. other information than can be used to derive the service location desired by the customer. The mapping can be accomplished by using geographic information systems as is well known in the art. In other instances, the customer may already have an established business relationship with a service provider. In this case, the customer may provide their account number pertaining to their current cable provider or other related service provider specific information. If the customer is an existing cable service subscriber, the provisioning network allows the customer's current service status be verified, namely to determine their status and currently subscribed services. Frequently, existing customers may upgrade or alter their services. Once the appropriate current or proposed cable service provider is selected, the retailer can compare the compatibility of the host capabilities with the network services. The customer may be presented with information of which services are offered by the cable system operator and which of those services can be supported by the particular host. Not all hosts will incorporate the same level of functionality for supporting enhanced services. It is expected that as certain capabilities prove popular, more and more host manufacturers will incorporate those capabilities in their host products with a similar subset of core features.
When purchasing a set top box, the purchaser may be required to obtain the appropriate conditional access module, if the host requires an externally connected conditional access module. Alternatively, the aforementioned techniques of downloading or enabling the appropriate conditional access module may be used. The type of conditional access module is dependent on the conditional access scheme used in the particular cable network servicing the subscriber. Thus, if the retailer provides the conditional access module, then the retailer must select the corresponding type of conditional access module that is compatible with the conditional access scheme and enable it. Typically, in such cases the retailer will install or otherwise enable the conditional access module in the host. This is illustrated in step 404. In other cases, the retailer may not be providing the conditional access module and the customer may need to obtain the conditional access module from their cable provider and install it. Installation may involve simply installing a card (e.g., similar to a PCMCIA card) into a slot that mates with a connector. Whether the conditional access functionality is embedded with the host circuitry or embodied by a separate card, the conditional access module typically is associated with identifying numbers, such as a serial number and/or a MAC address that is provided to the cable network for use in communicating with the device. These number(s) may be affixed to the module, affixed to the package containing the conditional access module, or indicated in some other manner, whether in machine readable form or human readable form. Alternatively, the conditional access module may not be provided by the retailer with the host, and the retailer only provides host related information. The retailer typically provides the identifying information to the provisioning system as well as information pertaining to the host type, typically as identified by the host manufacturer and model identifiers, although other identifying means can be used, such as code abbreviations, industry agreed to identifiers, etc. In some cases, a bar code reader is used to read a bar code on the unit indicating this information. It is possible in certain situation that a customer's existing conditional access module can be used in another host should the cable subscriber decide to upgrade their set top box. In such situations, the customer may physically hand over a conditional access module to the retailer for installation, or alternatively install the module themselves. In either case, the information associated with the conditional access module is typically provided as part of the provisioning process. In other situations, when a subscriber upgrades their host, a new module may be required. It is likely the new host along with the previously obtained module will have to be re-initialized. Typically, it is not possible to swap conditional access modules from one host to another host without having the cable operator re-initialize the conditional access module/host. The conditional access schemes are designed to prevent theft of cable services and simply installing an unauthorized conditional access module into another host will not allow reception of cable services.
The retailer completes the provisioning process in step 406 by selecting the services desired by the customer. In some cases, the cable system operator may market two services that are very similar or they may choose to market a single service with multiple options. For example, a basic version of a personal video recoding service and a deluxe version could be marketed as one service with an optional upgrade or as two separate services. The only difference in configuring may correspond to setting a specific parameter(s) with different values. As it will be seen, the choice of marketing by a cable system operator of services does not typically determine how the configuration messaging occurs in the host.
As part of the purchase of the device or services, the retailer will typically summarize the services, parameters, and charges, and provide the customer with a paper-based printed summary as part of finalizing the service contract. Alternatively, the information may be provided to the customer in an electronic form, such as via an email message or loading the data into a solid-state memory chip. The retailer will typically also provide the customer with a transaction reference number that may be used to identify the transaction to the cable system operator. In some ways as will be discussed subsequently, the transaction may be viewed as a pending transaction that has not been yet fully acted upon. Lastly, in step 408 the retail sale of the set top box and associated services is completed and payment is received using traditional forms of payment, including credit cards. The customer typically pays for at least the physical device purchased. Depending on the business relationship between the retailer and the cable service provider, the customer may also pay in advance for the provisioned cable services.
While the previous example illustrates the customer purchasing a new STB in conjunction with cable services, this is not a requirement. The customer may be only purchasing a new host for use with their existing cable services and conditional access module. For example, the set top box purchased may have other capabilities desired by the customer (e.g., smaller size or a more stylish case) or the new STB may-replace a non-functioning model. Further, a STB may be purchased by a customer in anticipation of future activation of services. In this situation, it follows that there may be instances where the customer subsequently only purchases the enhanced service at the retailer without purchasing the set top box. Alternatively, only a basic service may have been purchased. Further, there is no requirement that the STB and service must be purchased at the same retailer. In instances where the customer has an existing STB, the provisioning network may be able to access information from the customer's cable system provider regarding the STB currently used by the customer and complete service provisioning.
Another system accessed by the retailer may assist in comparing service offerings of various cable system operators with the various hosts being considered for purchase by the customer (this may be integrated with the provisioning network or accessible as a separate system). As indicated, hosts typically provide different capabilities and if a customer desires a specific service, the host should be compatible with the service offering. The comparison of cable system services and host capabilities is illustrated in FIG. 5 for this embodiment.
FIG. 5 illustrates one cable system operator 450 being considered by a hypothetical customer. It is not unusual for a customer to have only one cable system operator providing service in a given area, consequently only one cable system provider
450 is illustrated in FIG. 5. A list of service offerings 452 associated with the cable system provider is illustrated, and this usually includes basic service packages (e.g., typically pre-defined `bundles` of channels) as well also premium channels, and pay-per-view services. The list of offered services is exemplary, and other service providers may offer more or different services, such as-Interactive Television (ITV), interactive video games, in formation services, etc. The list represents legacy services currently available to cable subscribers, (e.g. "legacy services") and new services ("enhanced services"). In this embodiment, three enhanced services are listed: Personal Video Recording (PVR), high-speed data access (Internet access), and telephony service. All of these are potential services that can be provided over the cable network. The use of an enhanced service typically requires corresponding host functionality.
The host functionality is illustrated as well in FIG. 5. In this embodiment, the customer has selected four Hosts: Host "X" 454, Host "Y" 456, Host "Z" 458 and Host "A" 485. These may correspond to four different manufacturers (brands) of hosts, four different models by one manufacturer, or various combinations. It is possible that the same model of the same brand to have different software releases. This may be the case where different protocol releases exist, or when an internal upgrade to the host architecture requires an updated host file. In this embodiment, each host corresponds to a different brand providing different capabilities. Host "X" 454 for example, is shown as providing a list of services 455 including PVR 460
and telephony services. The PVR service 460 capability allows a maximum recording time of 120 hours, use of 7 control functions, and an erase delay (program retention time) capability. The recording time may be dictated by the hardware components, such as hard disk storage capacity. The telephony capabilities allow a telephone to be connected, and this host is listed as providing basic telephony service and caller ID capabilities. In this embodiment, the caller ID can be provided both by displaying the number on the television and by audio speech synthesis. Similarly, Host "Y" 456 has associated services listed 457 that also incorporate PVR 462 and telephony capabilities. In this instance, the PVR service 462 only has 60 hours of recording time reflecting the storage capacity of that particular host. Host "Z" 458 has services listed 459 including both PVR 464 and high-speed data (Internet) 466 capabilities. However, Host "Z" incorporates two tuners allowing the ability to simultaneously watch and record two separate channels.
Finally, Host "A" 485 has a service listing 486 that provides music-on-demand capabilities, but does not provide PVR capabilities. Thus, this Host does not have the capability to provide PVR service. Further, the cable system operator does not provide a music-on-demand service. Thus, a subscriber desiring PVR service would not likely select this host, since the cable system network operator would not be able to enable the host for that service. Nor would a subscriber desiring music-on-demand service be able to use this host to obtain the corresponding service since the service is not available from the cable system operator.
The compatibility of the cable system services 452 and the various host service listings 455, 457, 458, 459 are represented by the various arrows 474, 472, 470, 468. Specifically, the PVR service 476 offered by the cable operator is compatible with the PVR capability 460, 462, 464 in the hosts. This is indicated by various mapping lines 474, 472, 470 respectively. However, the high speed data access 478 service offered by the cable system operator is only supported by the Service list 459 of Host "Z." As indicated by the line 468, the corresponding Internet 466 access is only shown in the service listing 459 for Host "Z". The telephony service is not illustrated as mapped in FIG. 5, but it becomes evident that the telephony capability is supported by Host "X" and Host "Y," but not Host "Z." As previously indicated, Host "A" is not compatible with any of the enhanced services offered by the cable system provider. However, Host "A" typically is compatible with the legacy (e.g., basic, premium, and pay-per-view) services offered by the cable system provider and may be purchased by the customer for use with those services.
FIG. 5 illustrates one embodiment of comparing cable system services with host capabilities. This could be embodied in a kiosk-type arrangement where information is presented to the user in a graphical form and allows the user to interactively select, review, and compare various hosts. Alternative embodiments include sales displays, brochures, graphical charts, etc. Further, variations are possible as to how the information can be presented. For example, all the features of the host could be displayed using graphical icons, with those capabilities compatible with the selected cable system highlighted on the screen. In addition, the services supported by the cable system operator that are not supported by the host could be highlighted in other ways. Numerous methods of presenting information to the user can be defined using various colors, shapes, and menu options. Those skilled in the art in web design can readily construct various user-interfaces to facilitate identification, comparison, and selection of compatible services.
The retailer typically provisions services associated with the STB by accessing a provisioning network, typically implemented using a dedicated PC connected to the Internet. The retail sales personnel accesses a secure website typically dedicated to, and only accessible by, authorized retailers for provisioning service capabilities for the purchaser. Although the use of web servers on the Internet is one embodiment, other data communication facilities and networks can be used, including virtual private networks, Wide Area Networks, X.25, dial-up access, et cetera. FIGS. 6a 6d illustrate one embodiment of the human-machine interface that may be presented to retail sales personnel and potentially the customer for ordering services. This embodiment may be predicated on a previous determination of the compatibility of the host and cable system provider. In FIG. 6a, a display soliciting input is presented and the retailer provides information regarding the potential subscriber. This information typically comprises at least the name, address, and telephone number 500 of the subscriber. It is presumed the serving location is coincident with the address of the subscriber. Further information is typically obtained from the subscriber, such as whether they are an existing cable subscriber 502 and payment terms 503.
Once the system ascertains the subscriber's personal information, it is confirmed. This is illustrated in FIG. 6b where the name and address is confirmed 510 and the local cable provider is identified and the services offered are listed 512. This may incorporate a geographical information database to use the customer location information to identify a potential cable service provider(s). In some embodiments further information describing the service aspects, cost, and terms maybe provided. The purpose of this screen menu is to confirm the services available via a potential cable system provider and to provide information so that the customer can select the desired services to purchase.
In FIG. 6c, the services available by the selected cable service provider are confirmed 520 and are illustrated as selections desired by the customer 522 along with their monthly charges 524. A variety of menus or computer display windows may be provided for other selection options, parameters, and service attributes. In one embodiment, the services selected may be grouped into a bundle to facilitate selection, such as in this embodiment where the services are part of a `Silver Package.` Other embodiments may allow individual service selection, or have other types of packages identified with other names. Once all the information is collected and processed for submission, the provisioning network confirms the services provisioned as shown in FIG. 6d. In FIG. 6d, the name 530, charges 532 and services 534 are confirmed and summarized so that the purchaser has a record of the transaction details. In this embodiment, all the relevant details are printed out on paper and provided to the customer as a physical copy of the transaction. The summary typically includes a transaction reference number that identifies the provisioning transaction. As will be seen, the transaction reference number may be used by the customer when activating their host, particularly if the cable network is a one-way network.
The preceding represents one embodiment for purchasing services. The purchasing of services is not required to occur with the purchasing of the set top box. For example, in this embodiment, the user selected their STB and the desired services, which the STB was determined to support. Alternatively, the customer may have previously purchased a STB that supports all of the services, and is just now purchasing and provisioning the indicated services. While variations on the user menus and content are readily discernable, the embodiments of FIGS. 6a 6d illustrate some of the steps that may be required for a retailer provisioning a STB and related cable services. Further, some aspects of the provisioning system may be proprietary to the retailer. For example, the retailer may implement a self-serve kiosk informational host marketing system listing the brands of hosts stocked by the retailer and providing comparative information or they may access a third-party serviceability database. Once the customer selects the host, a separate provisioning system may be accessed by the store personnel. The provisioning system can still check whether the host is compatible with cable system operator. Alternatively, the provisioning system may access a third-party serviceability database that maintains this information. Alternatively, the information host marketing system and the provisioning system may be integrated. Further, either embodiment of the provisioning system could be integrated with the retailer's point of sale system and/or inventory control system, as well as support multiple retail stores.
Once all the information is obtained and the purchase of the STB and/or services is completed, the purchaser typically then returns to their residence, installs the set top box (if one was purchased), and activates power to the unit. Typically the purchaser is anxious to try the newly purchased service(s) and then invokes the provisioned service(s).
Service Provisioning--Overview
There are various systems and phases associated with reaching the end result of enabling a service for a subscriber. "Service Provisioning" or "provisioning" can broadly describe any of the related steps or processes involved in enabling a service. This may involve various types of processes, actions, messages, as well as system including input systems, legacy systems, and the enhanced services system. Provisioning involves sending authorization messages, configuration messages, and potentially command messages to a STB. Further, various billing systems and service records need to be updated and as noted, in some services such as pay-per-view, the network may collect usage measurements periodically (e.g., monthly) in order to calculate the subscriber's bill. Thus, "provisioning" encompasses a wide variety of actions and any such service related actions are within the scope of "provisioning." Consequently, any of the actions and events for provisioning an enhanced service are within the principles of the present invention even if some of the steps associated with provisioning an enhanced service involve legacy based commands or configuration messages.
In order to facilitate presentation of the concepts, the provisioning process is divided into three categories. As shown in FIG. 7, actions can be divided into network-specific 801 and host-specific actions 802. The network-specific actions typically occur only once and prior to configuring a specific host. These actions can be characterized as network and servicing configuration actions 804. The host-specific actions are associated with configuring and commanding a specific host in association with a specific service.
The network and service configuration process 804 establishes service related data in the various network elements that are required to provision a specific host with a service and creates the configuration message sets used to configure a specific type of host. The network configuration actions typically involve defining service related data, such as billing codes, in various cable network elements and systems, including the billing system and enhanced services system. Associated with the service configuration is defining how the service operates in general, as well as for a specific host. This involves creating a host-specific configuration message set using the host protocol file. The cable system operator defines the configuration message set mindful of the host capabilities and the defined service aspects. The desired service operation is obtained by configuring certain parameters of the service that characterize the service's operation. Some of these may be considered network default parameters. For example, in the U.S., National Television System Committee (NTSC) based video signals are common for providing video signals from a STB to a television. In Europe, the Phase Alteration Line (PAL) is a different, widely adopted standard used by televisions. Thus, U.S. cable system operators would likely default to NTSC in configuring an enhanced services, unless service reasons motivated otherwise. Other parameters may be configured on a service specific basis, such as how long a personal video recording service may allow recording of programming.
Once network and service configuration is completed for a service, customers can subscribe to the service and have their specific hosts configured for the service. Configuring a specific host can be is divided into two parts: external system input of service related data 806 and host specific configuration and control 808. The first part, input of service related data 806, typically involves an input system interacting with the cable subscriber in some manner to collect service related data. The system is typically external to the cable network, and may be operated by a third-party. The subscriber's interaction with the input system may be direct or indirect (e.g. involving another person aiding the subscriber with service selection). Typical function of the input system is to collect basic service related information and communicate the information in a compatible format to the appropriate cable system. Various types of provisioning input systems can be used in parallel to provide flexibility of the user interface, and these system are typically `loosely` coupled from the cable network elements.
The external systems pass information to `tightly coupled` elements that perform the host-specific configuration and control actions 808. Configuration and control actions use a host-specific configuration message set to directly communicate with a specific host associated with the subscriber to configure the specific service. The host-specific configuration and control typically involves various cable system elements. This involves new network elements, collectively called the Enhanced Services System, interacting with the the legacy elements, such as the cable headend, billing system, and provisioning/conditional access system.
Enhanced Services System
In FIG. 8, the legacy elements include the billing 1a and provisioning/conditional access 1b systems, the cable headend 5, and the set top box 7. As previously indicated, the provisioning of legacy services involves the communication of information 46 from the billing system to the provisioning/conditional access system, then to the cable headend, and then to the set top box 7. This information includes providing channel maps, authorizing STB by conveying EMMs, configuring capabilities in the STB, etc., as is well known in the art.
For provisioning enhanced services, the Enhanced Services System 49 may interact with the legacy elements. The Enhanced Services System 49 comprises an Enhanced Services Server (ESS) 40 and the Enhanced Services Database (ESD) 42. The ESS 40
typically comprises a processor, memory, and associated interfaces, while the ESD 42 comprises a database and associated software applications, such as a database management application. Although the ESS and ESD are depicted as two functional components, those skilled in the art of computer systems will readily appreciate that these may be embodied as a single physical computing system. The ESS augments the existing legacy system and serves as a `service overlay` in that new capabilities may be offered using the ESS while existing capabilities may be retained.
Other embodiments are possible. For example, generally herein the ESS is shown as a single system dedicated to one and only one cable system. In other embodiments, a system operator may have multiple cable systems served by a single ESS system. Other embodiments may utilize more than one ESS serving one or more cable systems. Still other embodiments may have the cable system operator relying on a third party service bureau providing the ESS functionality. In this last embodiment, the ESS could be a single large ESS that is logically partitioned into virtual systems allocated to a given cable system operator. These and other variations are within the scope of the present invention. Further, the advent of high speed communication networks means that the ESS may be remotely located from the cable system. Thus, even thought the ESS is `tightly` coupled with the cable system, this does not require any particular physical placement or ownership of the ESS relative to the cable system.
The ESS 40 may obtain information from the ESD that is required by the ESS to complete an enhanced service provisioning action. For example, the ESD maintains a library of previously created host-specific configuration message sets and their association to a specific host. The ESS is able to retrieve the current host configuration message set file for a specific manufacturer's brand and type (model) of host and use the messages to configure specific brand and type of host for a specific service. The ESD further may maintain a file indicating the host(s) used by a subscriber. Thus, the ESS is able to determine that a specific cable subscriber is using Host "Brand A." This may include information regarding a particular software version, software inventory, or capability associated with Host "Brand A." It is possible that a subscriber may have multiple hosts (which is often the case with multiple STBs present in a residence), so that subscriber information may be linked to a plurality of hosts.
In general, the data required to configure a host for an enhanced services request is maintained in the enhanced services system rather than the billing system or provisioning/conditional access system. In many embodiments, it is desirable to minimize development in the billing or provisioning/conditional access system to accommodate provisioning enhanced services. Thus, while a new billing code may be defined in the billing system for an enhanced service, the billing code may not be inherently distinguishable by the billing system from the other legacy billing codes. Similarly, while the provisioning/conditional access system may be able to communicate a new service tier to a target host, the service tier is typically not distinguishable by the provisioning/conditional access system from other service tiers except to the extent that an authorization key is required. However, the host is aware of the enhanced service capability as it contains application software programmed to perform the associated capability. Frequently, to complete the provisioning of an enhanced service, the ESS may combine several steps involving existing legacy capabilities with steps involving configuring new capabilities. In this manner, the existing capabilities of the legacy systems and elements are utilized in the provisioning of an enhanced service with little or no modification.
A typical action taken by the host upon receipt of a configuration message may be for the host to tune to an indicated channel and receive further application software or other software objects. Thus, the configuration message can be used to load host-specific code. This could be application level code, middleware code, or firmware code.
In other instances, the configuration command may instruct the host to obtain service data required for service operation. For example, some services may require access to extended program guide information. Currently, a STB is provided only limited program guide data (e.g., a few days). A step of the enhanced service operation may indicate to the host where extended program data can be obtained (e.g., the next two weeks of scheduled programming). While all hosts enabled for the service receive the same extended program guide information, how each host is instructed to receive the extended program guide information may be different. For example, the program guide data could be downloaded to the host using the out-of-band channel. Alternatively, the data could be sent by the ESS (or some other source) on a broadcast channel in conjunction with a configuration message indicating where the channel can be located. Alternatively, the host may be provided a URL which it can use to download the data on a DOCSIS channel. Still further, a data carousel can be used in conjunction with the configuration message indicating how to access the carousel data.
The configuration commands may not only tell a host where to locate the data, but when to locate that data. For example, a host that has just been configured for personal video recording service may be further commanded to get the extended program guide data immediately if the host uses the DOCSIS channel. Alternatively, the host may be commanded to obtain the guide data by tuning to a broadcast channel only if the user is not currently viewing a program (i.e., the tuner is not already tuned to a channel), otherwise the host may be instructed to obtain the data at a time unlikely to interfere with the user's viewing (e.g., 3:00 a.m.). If the host has two tuners, then it may be appropriate to command the host to tune immediately to the broadcast channel to obtain the guide data.
The ESS services system may configure the host not only when the service is enabled, but if the host requires re-initialization. For example, the host may have lost power and request re-initialization. Or, the ESS may instruct the host to obtain updated extended program guide data because the cable operator or networks have altered the channel lineup or programming. This would require all hosts associated with the enhanced service to re-acquire the extended program guide data.
As shown in FIG. 8, the ESS 40 communicates with both the legacy billing system and the provisioning/conditional access system. The ESS may interact with the legacy systems for various reasons. On the first instance, the ESS may invoke existing legacy service capabilities for a specific host separately from an enhanced service. For example, as it will be shown, the user may purchase a new host and have the retailer provision the new host for legacy services (e.g., basic cable and premium channels). In the second instance, the ESS may also use the existing legacy system capabilities for provisioning enhanced services. The existing legacy capabilities may be one component or step in providing an enhanced service.
In the first instance, the ESS can be used to provide flexibility in provisioning legacy services. For example, the ESS can send a request to the billing system 1a `mimicking` input from a service initiator. Specifically, the ESS can control activation of a legacy service by commanding the billing system to provide a premium channel using the existing legacy based procedures. In other cases, the ESS can `mimic` the billing system functionality by sending a command to the provisioning/conditional access system. For example, recall that the billing system could request the provisioning/conditional access system to reinitialize a STB. The ESS can provide this command to the provisioning/conditional access system, and the provisioning/conditional access system acts upon the request as if it came from the billing system. As it will be seen, this can be used in conjunction with activating the host when the host is placed on the cable plant. Thus, the provisioning architecture used to provision enhanced services can also be used to provide flexibility in provisioning legacy based services.
In the second instance, the legacy capabilities may be used in conjunction with an enhanced service. For example, after provisioning an enhanced service, proper operation may require reinitializing the STB. The ESS can issue a re-initialization or reset command to the provisioning/conditional access system to accomplish this last step. As it will be seen, in some instances, host "A" may be reinitialized or reset by the ESS using a legacy capability, while host "B" may be reinitialized using a new, enhanced service capability. In the latter case, the ESS does not use the provisioning/conditional access system, but issues a host-specific command message. This situation reflects the fact that different legacy capabilities exist in different cable systems, and hosts may develop new capabilities at different times. Alternatively, this situation may reflect that issuing a command to invoke the `newer` re-initialization capability in host "B" is more desirable (for whatever reason) by the cable system operator, but since the only capability available in host "A" is to use the legacy re-initialization capability, that may have to be used in lieu of not initializing the host at all. In yet another alternative, the cable system operator may choose not to support the service in host "A" until the host manufacture supports an enhanced re-initialization capability. In provisioning other enhanced services, the ESS may configure an enhanced service in the host by sending a service tier to the provisioning/conditional access system to authorize viewing of a channel. The ESS in essence mimics the billing system to the provisioning/conditional access system, which in turn sends the service tier to the host along with the necessary EMMs. The ESS may then stream replacement application software or video on the indicated channel for the host, which is decrypted. In this manner, the existing legacy infrastructure can be used with minimal modification to invoke, control, and configure enhanced services in the host.
One embodiment of the communication between the Enhanced Services Server 40 and the host 8 is further illustrated in FIG. 9a. The communication architecture may vary based on the cable headend vendor and other factors. As previously indicated, different vendors may have slightly different communication architectures. FIG. 9a corresponds to an architecture used by Scientific-Atlanta.RTM. based cable systems. In general, data can be conveyed to the host 8 using inband tuners 20 or out-of-band tuners/receivers 23. Out-of-band messages are communicated using the MAC address of the host or conditional access module. Both tuners are typically considered as host functionality. In either method of sending data, the tuners in the host receive data and forward the data to the conditional access module 27. Since the data is not intended for the conditional access module, it is forwarded back to the host. The ESS is required to send addressed messages in the proper manner. The messages may be conveyed as a unicast message, which is targeted to a specific host; multicast, which is targeted to a defined group of hosts; or broadcast, which is targeted to all hosts. The messages are conveyed as payload information over the cable distribution network. No special encoding is required.
Inband messages are multiplexed into the broadcast transport streams. Inband data is typically sent when a large amount of data is involved. Examples include transferring replacement extended program guide data, core operating systems of the host, navigator applications, etc. Thus, data 825 from the ESS 40 is conveyed to the broadcast file system 820 that distributes the data on a channel 831. Typically, the channel 831 is time multiplexed with other data. This process is called a `carousel` as various files are broadcasted on a periodic round-robin basis by the cable system on the channel. Thus, when the ESS transmits data for a particular host, there may be a minimal time delay before the host receives the data as other files in the queue are transmitted. Further, in some cases, the file broadcasted to a host may be repeated several times on the channel 831 by the carousel to ensure proper reception of the data.
Data sent using the out-of-band (OOB) channel 831 typically has a lower overall bandwidth. The ESS 40 can send files 826 and messaging 827 by transmitting the data to the OOB modulator 822. This embodiment illustrates a QPSK modulator, but other modulators could be used consistent with the principles of the present invention. The OOB channel 830 has limited bandwidth, so the cable operator may choose to limit the types of messages using this channel. For example, the host continuously monitors the control channel, and the ESS may use this channel to send a command indicating to the host where to tune to get its provisioning data. If the host and cable network support two-way communication, a return path (not shown) allows the host to communicate to the ESS. The ESS can also authorize a STB for legacy type capabilities by communicating an authorization request 828 via the legacy provisioning/conditional access system 1b. Any other legacy command or configuration message implemented by the provisioning/conditional access system 1b can be signaled by the ESS.
FIG. 9b illustrates communication between the ESS and host using a Motorola.RTM. based cable distribution network. In this embodiment, all messages are encoded using the proprietary DCII message formats. These messages are carried in MPEG-2
private sections that are delivered via MPEG-2 transport streams. The conditional access module and host addressing is embedded in the DCII message format and the ESS is required to not only address the message, but also create the message in the proper format. The DCII message format is used for sending messages inband as well as out-of-band. For inband messages, the DCII sections are multiplexed into the broadcast transport streams. However, typically inband enhanced service communication is used for transferring larger files, such as the aforementioned operating system code and extended program guide data. DCII messages received by the conditional access module addressed to the host have the DCII proprietary encapsulation stripped off with the payload prior to conveyance to the host.
Similarly, a carousel 858 may be involved to convey messages on the out-of-band path. Typically, this again is used with configuration commands to indicate to the host, which channel to tune to in order to receive further configuration data. Alternatively, the configuration messages can bypass the carousel and be sent directly via the out-of-band modulator 822 using the DCII addressed messages 856.
The previous two figures illustrate embodiments for achieving ESS to host communication using existing communication architectures and capabilities. These are used to configure a specific host. Now that the architecture and high-level operation of the ESS and ESD has been presented, the various elements involved in pre-provisioning and how they relate to the ESS are further examined.
Network and Service Configuration
As previously stated, network and service configuration activities involve establishing service related parameters in various network elements before any single, specific subscriber can be provisioned. Network configuration can be characterized as configuring network elements for billing, service tiers, and establishing the various configuration and command messages. Service configuration can be characterized as defining configuration message sets for a specific service and host type. Because these are closely related, these are frequently discussed as a single group of related events. The distinction is not always clear, nor critical to understanding the inventive concepts. Once network and service configuration is complete, the cable network is `aware` of a service and able to accommodate at least one type of host for configuration. After network and service configuration, a specific host can be attached to the cable plant and configured for the specific service.
An example illustrating network and service provisioning is based on extending the aforementioned personal video recording (PVR) service. This embodiment illustrates a host-based service because it is the host that records and plays back video by storing streaming data onto a hard disk or into memory. It is presumed that some host manufacturers have incorporated the capability of recording digital data onto a hard disk drive or other type of memory for the purpose of playback at a later time. Further it is assumed that when the user requests the PVR service, the host requires authorization from the cable system network to invoke the PVR capability. This is in distinction from traditional VCR operation that is solely controlled by the user and does not require any network authorization. Thus, the cable network operator enables the capability in the host for the PVR service. Further, it is assumed the cable network operator offers two types of PVR service, which can be referenced by two billing handles known as Tier 1 ("PVR T1") and Tier 2 ("PVR T2"). As previously mentioned, the cable system operator can market this as one service with two variations (e.g., `basic` and `deluxe`), or as two separate services. PVR T1 allows 60 hours of video recording and enables the user to invoke the "pause", "stop", and "start," related control functions. In Tier 1, once a program is viewed, it is erased immediately and cannot be viewed again. The cable operator offers Tier 1 at $6.95/month. In distinction, Tier 2 allows 240 hours of video recording and enables the user to invoke the full set of control function capabilities, including "pause," "start," "stop," "fast forward," and "rewind." In addition, the user can retain the programming for multiple viewings, up to 7 days before it is automatically erased. The cable subscriber is charged $12.95/month. Again, the cable system operator could market the service as a having a $6.95 base charge with an optional additional $6.00/month charge for the enhanced version. In both services, the network allows simultaneous viewing and recording of two programs by the host. This requires the host have two tuners, which may not always be the case. If the host does not have two tuners, the user can still record a program, but cannot record one program while simultaneously viewing another. Similarly, if the host does not have all the capabilities, the cable system operator may define a configuration message set using the capabilities that the host does have, or alternatively, the cable system operator may not define a configuration message set at all.
The above service offerings are created by the cable system operator and establishes the service attributes associated with each offering. Offering such services assumes that at least some hosts are manufactured with the capabilities such as the ability to record up to 240 hours and can be configured to: indicate how long they can record, provide the auto-erase capability, indicate how long before data is automatically erased, access extended program guide data, and can indicate which control functions are enabled. It is of little benefit for a cable system operator to define a service that cannot be supported by any host. Configuring these parameters in the host requires the ESS identify the type of host used by a subscriber and configure the host as required. If a host manufacturer does not provide any of the defined set of capabilities for a particular service, then the service typically cannot be assigned to that type of host as typically defined by, but not limited to the particular brand and model of a host. Further, the ESS may require setting other parameters that the subscriber is not readily aware of. Namely, including partitioning of the hard disk, configuring the host to access extended program data, defining whether usage statistics are maintained, etc. The service related parameters establish the nature and operation of the services offered and allow cable operators to define variations of the service, as they deem appropriate for their market. Obviously, the flexibility that cable operators have in defining a service is impacted by the capabilities and configurability offered by host manufacturers. As host capabilities are expected to evolve over time, it is expected that the services offered by cable operators will evolve as well. Further, services offered by various cable system operators are not expected to be identical. In the above example, a cable system operator may elect to only offer one variation of the PVR service, or more than two variations. Others operators may elect not to offer the service at all. In some instances, certain capabilities may not be provided by some hosts, but the service can still be provided, albeit with slightly different operation (e.g., a host with only one tuner cannot provide simultaneous viewing and recording of different channels). The cable system operator determines whether such a service is offered for a given host type. Further, some cable operators may opt to provide a network-based PVR service as opposed to a host-based PVR service.
The creation of the configuration message set ("message set") used to configure a type of host is illustrated in FIG. 10. The creation of the configuration message is defined for a specific type of host and for a specific type of service. The configuration message set for a particular host may be determined by the cable system operator's service personal or a third-party. The message set is created typically using a configuration message set creation system ("workstation") in the form of an application program on a workstation that provides a user-interface for personnel to select the parameters for the service. The parameters that can be altered are derived from the host profile file, which describes the capabilities of the specific type of host. The host profile file is provided by the host manufacturer and facilitates processing by the creation system by `driving` the user interface in the workstation. The specific messages generated that comprise the message set are determined from the host protocol file and are specific to the host type. The messages further are associated with configuring certain parameters with certain values.
In FIG. 10, the workstation 953 for creating the configuration message set is used by the service creation personnel. The workstation accesses the various host profile files 950a, 950b, 950b. The workstation also accesses the corresponding host protocol files 952a, 952b, 952c as well as an optional network default file 951. In this instance, the workstation obtains the Profile File for Brand "Z" host 950a and uses this to drive a user-interface in order to select the appropriate messages and parameters from the corresponding Brand "Z" protocol file 952a. Because the host manufacturer has developed the host profile to describe the capabilities of the host, and the host protocol file is designed to configure those capabilities, the configuration workstation is not required to have additional information regarding the Host "Z." The workstation may have additional information regarding network defaults and/or service data parameters that are used to define select parameters in the configuration messages. The network default values 951 for various parameters avoid having to replicate the parameter setting in each service data parameter file. For example, the cable system provider may always select a NTSC output video signal for a STB if that option is settable.
In FIG. 11, one embodiment of the user-interface is disclosed. In this embodiment, the screen 969 of the workstation 953 illustrates a configuration menu for the PVR Tier 1 billing code 970. The menu also indicates the type of host that the configuration message set is being created for 971. Recall that a configuration message is associated with a specific host and specific service. In this screen, five options are presented to the service creator for configuring service related options or parameters in the host. Other options may be presented on additional menu screen, using the same or different user-interface schemes, or icons. In the first option 972, the user selects the recording time allocated for a service. This might be used by the host to allocate space on a hard disk drive for recording video, collecting usage statistics, storing advertising, or other related service operation aspects. If the host does not support a particular option, that option may be restricted from selection on the workstation's user-interface. In the next option 973, the functions supported by the host are presented. In the next option 974, the auto-erase delay (retention time) is indicated in hours. If a value exceeds that which is supported, the value may be restricted. The next option 975 allows partitioning of the hard drive in the host. Certain sub options 975a, 975b may only be available if partitioning is selected. The disk partitioning may be required to enable the collection and reporting of usage viewing statistics if it is separately enabled. Finally, a second tuner option 976 is presented. The user-interface may be defined so that if the capability is not present, the option is not presented, or alternatively, the option is `pre-selected` (e.g., a default value is applied) or the option is restricted from selection as an incompatible option.
The output of the process is the configuration message set (954 of FIG. 10) that is stored in the enhanced services system. The message set is specific to a service (e.g., associated with a billing code) and is specific to a type of host. There are at several ways in which the host configuration messages can be created. In the first case, the configuration message set is analogous to a `compiled` computer program and this type of configuration message set is called a `static` configuration message set. In a static configuration message, all the service related parameters and network default are known and set in relation to the host-specific configuration message encoding. When applying these values to a host protocol file during creating the message set, the exact and final message structure and encoding can be determined. The messages are ready for future communication to a specific host for a specific service without further processing. Thus, each message set for a specific host and specific service is created, stored, and indexed in the ESS.
Alternatively, the configuration messages may be analogous to an `interpreted` computer program. In this case, the workstation may store a service parameter file associated with a given service and host type, and apply that to a configuration message as required just prior to communicating the message to a host. This approach requires storing the messages for each host, but without fixing all the parameters. The parameters are determined once the service data file (not shown in FIG. 10) is determined and the program interpreting the host protocol file selects the parameters and the encoding rules (in the protocol file) to determine the configuration command to be sent to the host. As those versed in the art of computer science are aware, each approach has performance and storage tradeoffs. Either approach, as well as variations, falls within the scope of the present invention. In either case, any of the associated files may be considered host files and are stored in the ESS until a specific host type is configured for a specific service. The necessary files are retrieved and processed accordi