System for providing alternative services

Information

  • Patent Grant
  • 7917920
  • Patent Number
    7,917,920
  • Date Filed
    Monday, April 3, 2000
    24 years ago
  • Date Issued
    Tuesday, March 29, 2011
    13 years ago
Abstract
The present invention provides a system for providing alternative services in a television system. In one implementation, a subscriber is provided an alternative service upon attempting to access an unauthorized service, thereby providing a framework for efficient control of conditional access and enhanced services. In addition, in one implementation, user device limitations or variations are handled conveniently through the same multi-purpose system for providing alternative services.
Description
FIELD OF THE INVENTION

This invention relates in general to the field of television systems, and more particularly, to the field of providing services in television systems.


BACKGROUND OF THE INVENTION

Historically, television services have been comprised of analog broadcast audio and video signals. Cable television systems now receive broadcasts and retransmit them with other programming to subscribers over land-line networks, typically comprising fiber optic cable and/or coaxial cable. With the recent advent of digital transmission technology, cable television systems are now capable of providing much more than the traditional analog broadcast video. In addition, two-way and advanced one-way communications between a subscriber and a cable system headend are now possible.


In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the settop box, has become an important computing device for accessing video services and navigating a subscriber through a maze of services available. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of services which are not analog, but rather digital; are not basic broadcast, but rather two-way communication such as video-on-demand; and are not basic video, such as e-mail or web browsers. These are all in addition to the host of other television services which are increasingly being demanded by consumers, examples of which include audio and audio/visual programming, advanced navigation controls, impulse pay-per-view technology, and on-line commerce. In addition to the interactive services, the increased bandwidth available through a digital television system has made it possible for a subscriber to have access to hundreds, or even thousands, of channels and/or services. Thus, in order to provide these more powerful and complex features, the simple conventional channel abstractions need to be extended beyond those which have traditionally been provided.


Each HCT or DHCT (collectively hereinafter “DHCT”) is typically connected to a cable or satellite television network. The DHCTs generally include hardware and software necessary to provide the functionality of the digital television system at the client's site. Preferably, some of the software executed by a DHCT is downloaded and/or updated via the cable television network. Each DHCT typically includes a processor, communication components and memory, and is connected to a television or other display device, such as a personal computer. While many conventional DHCTs are stand-alone devices that are externally connected to a television, a DHCT and/or its functionality may be integrated into a television or personal computer, as will be appreciated by those of ordinary skill in the art.


Because many separate services may be offered by a single cable television service provider to each individual subscriber, including television viewing channels as well as other applications, there is a need for the DHCT to not only be able to provide each service that the cable television system provider offers but also be able to flexibly control access to services that are denoted as premium services. In addition, certain television programs can now be broadcast in advanced formats, such as in high definition television (HDTV) format; however, there is currently no mechanism for efficiently handling such advanced formats to effectively integrate them into systems which must also continue supporting older formats.


SUMMARY OF THE INVENTION

Briefly described, the preferred embodiment of the present invention provides a system for providing alternative services in a television system. In one implementation, a subscriber is provided an alternative service upon attempting to access an unauthorized service, thereby providing a framework for efficient control of conditional access and enhanced services. In addition, in one implementation, user device limitations or variations are handled conveniently through the same multi-purpose system for providing alternative services.


According to one implementation, a client device receives from a server device and stores in client device memory a service database and an authorization database. The service database comprises references to a plurality of services and reference to a plurality of corresponding channels, and said authorization database comprises a list of authorizations individual to said subscriber or DHCT and corresponding to said plurality of services. The client device accesses the service database when the subscriber attempts to access a desired channel to determine a first service corresponding to the desired channel. After learning which service corresponds to the desired channel, the client device then determines whether the subscriber is authorized for that first service according to the authorization database and presents the first service to the subscriber on a display device if the authorization database reveals that the subscriber is authorized for the first service. However, the client device will present an alternative service according to the service database if the subscriber is unauthorized to receive the first service.


In another implementation of the present invention, the client device provides a subscriber an alternative service upon a subscriber's attempt to access a service misconfigured or unsuited for the subscriber's equipment, such as a display device coupled to said client device, or the client device itself. In this embodiment, in addition to mapping alternative services to certain services in the service database, the service database includes information for each service regarding a required viewing configuration, such as a high definition television format. In much the same way as above, the client device automatically provides the appropriate formatted version of services.


Other objects, features, and advantages of the present invention will become apparent to one with skill in the art upon examination of the following drawings and detailed description.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present invention. In the drawings, like reference numerals designate corresponding parts throughout the several views.



FIG. 1 is a block diagram of a cable television system in accordance with one preferred embodiment of the present invention.



FIG. 2 is a block diagram of a DHCT with components and applications shown in various memories with related equipment in accordance with the preferred embodiment of present invention depicted in FIG. 1.



FIG. 3 is a diagram of selected components located in the headend and DHCT of the cable television system shown in FIG. 1.



FIG. 4 is a diagram of one example of a service and channel mapping scheme stored in memory of the DHCT shown in FIG. 2.



FIGS. 5 and 6 comprise a flowchart representation of the alternative service scheme implemented by the DHCT shown in FIG. 2.



FIG. 7 is a diagram of another example of an alternative service scheme stored in memory of the DHCT shown in FIG. 2.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT


FIG. 1 is a block diagram of a cable television system 10 including a headend 11 for receiving television signals, such as satellite television signals, and converting the signals into a format for transmitting the signals over the system 10. The transmitted signals can, for example, be radio frequency (RF) signals or optical signals, as shown, transmitted over fiber optic cable 12. When the optical signals are transmitted by the headend 11, one or more optical nodes 13 are included in the system 10 for converting the optical signals to RF signals that are thereafter routed over other media, such as coaxial cables 14. Taps 15 are provided within the cable system 10 for splitting the RF signal off, via cables 17, to subscriber equipment such as DHCTs 16, cable-ready television sets, video recorders, or computers. Thus, headend 11 is connected through a network 20 to multiple DHCTs 16.



FIG. 2 is a block diagram illustrating the DHCT 16 and other system equipment. The DHCT 16 is typically situated within the residence or business of a subscriber. It may be integrated into a device that has a display 21, such as a television set, or it may be a stand-alone unit that couples to an external display 21, such as a display included with a computer or a television, and that processes media transported in television signals for presentation or playback to a subscriber (user of the DHCT). The DHCT 16 preferably comprises a communications interface 22 for receiving the RF signals, which can include media such as video, audio, graphical and data information, from the tap 15 and for providing any reverse information to the tap 15 for transmission back to the headend 11 (FIG. 1). The DHCT 16 further includes a processor 24 for controlling operations of the DHCT 16, including a video output port such as an RF output system 28 for driving the display 21, a tuner system 25 for tuning into a particular television channel to be displayed and for sending and receiving data corresponding to various types of media from the headend 11. The tuner system 25 includes in one implementation, an out-of-band tuner for bi-directional quadrature phase shift keying (QPSK) data communication and a quadrature amplitude modulation (QAM) tuner for receiving television signals. Additionally, DHCT 16 includes a receiver 26 for receiving externally-generated information, such as subscriber inputs or commands for other devices. The DHCT 16 may also include one or more wireless or wired communication interfaces, also called ports, for receiving and/or transmitting data to other devices. For instance, the DHCT may feature USB (Universal Serial Bus), Ethernet (for connection to a computer), IEEE-1394 (for connection to media devices in an entertainment center), serial, and/or parallel ports. The subscriber inputs may, for example, be provided by a computer or transmitter with buttons or keys located either on the exterior of the terminal or by a hand-held remote control device 27 or keyboard that includes subscriber-actuated buttons.


In one implementation, a memory portion 29 of the DHCT 16 includes flash memory 31 and dynamic random access memory (DRAM) 32 for storing the executable programs and related data components of various applications and modules for execution by the DHCT 16. Both the flash memory 31 and the DRAM memory 32 are coupled to the processor 24 for storing configuration data and operational parameters, such as commands that are recognized by the processor 24.


Basic functionality of the DHCT 16 is provided by an operating system 33 that is contained in flash memory 31. One or more programmed software applications, herein referred to as applications, are executed by utilizing the computing resources in the DHCT 16. The application executable program stored in FLASH memory 31 or DRAM memory 32 is executed by processor 24 (e.g., a central processing unit or digital signal processor) under the auspices of the operating system 33. Data required as input by the application program is stored in DRAM memory 32 and read by processor 24 from DRAM memory 32 as need be during the course of application program execution. Input data may be data stored in DRAM memory 32 by a secondary application or other source, either internal or external to the DHCT 16, or possibly anticipated by the application and thus created with the application program at the time it was generated as a software application program, in which case it is stored in FLASH memory 31. Data may be received via any of the communication ports of the DHCT 16, from the headend 11 via the DHCT's network interface (i.e., the QAM or out-of-band tuners) or as subscriber input via receiver 26. A type of input data fulfills and serves the purpose of parameters as described below. Data generated by an application program is stored in DRAM memory 32 by processor 24 during the course of application program execution.


Availability, location and amount of data generated by a first application for consumption by a secondary application is communicated by messages. Messages are communicated through the services of the operating system, such as interrupt or polling mechanisms or data sharing mechanisms such as semaphores.


The operating system 33 operates a broadcast file system (BFS) client module 41. The BFS client 41 is in constant communication with a similar module on the server side (BFS server 55 in FIG. 3) in the headend 11. This BFS system 41, 55 provides a mechanism for delivering various types of media or data from a group of servers to a client such as the DHCT 16 attached to the network 10. This data can contain practically any type of information. Applications on both the server and the client can access the data via the BFS in a similar manner to a file system found on disk operating systems. The DHCT 16 does not typically have enough memory resources to store all the data that is capable of being broadcast from the BFS server 55. Even if the DHCT 16 could store all the data, there is no guarantee that the DHCT 16 would receive an error-free copy of the data in a single transmission. In some implementations of a broadcast environment, the DHCT 16 does not request that a server re-send any data that was missed and received in error. Also, since the data is being sent to many similar DHCTs 16, it is prohibitive in some implementations to require that the server re-send missed data to each DHCT 16 that requests it. To ensure that all DHCTs 16 are able to receive an error-free copy of the data, a BFS server 55 (shown in FIG. 3) repeatedly sends the data over a period of time in a cyclical fashion so that the DHCT 16 that is interested in the data may receive it only when it is required. Thus, the BFS client 41 is the module in the DHCT 16 that receives the broadcast from the BFS server 55. Consequently, in some implementations, if the DHCT data has an error, as detected by error detection circuitry or mechanisms in DHCT 16, the BFS client 41 waits for the next broadcast of the data to receive any data that it may need.


The BFS 41, 55 is implemented to appear to applications as a standard hierarchical file system that is common in computer operating systems. The underlying mechanism for transporting files from a headend server 111 to a DHCT 16 relies on a broadcast data carousel mechanism (not shown) that in a preferred embodiment is compliant with the carousel channel specification of the ISO MPEG-2 (Motion Picture Experts Group-Second Standard) entitled Digital Storage Media-Command and Control (DSM-CC). Uniform resource locators (URL) specify “bfs:” as the protocol identity files on the carousel.


Also contained in flash memory 31 is a navigator application 35, which provides a navigation framework for the subscriber to access services available on the cable system. Examples of the services include, in one implementation, watching television and pay-per-view events, listening to digital music, and an interactive program guide, each of which is controlled through separate applications in flash memory 31. The navigator 35 also allows users to access various settings of the DHCT 16, including volume, parental control, VCR commands, etc.


Watch TV 42 and Pay-Per-View (PPV) 44 are resident applications in flash memory 31. Watch TV 42 enables a user to simply “watch television” while PPV 44 enables viewing of premium television services. These applications, because they are in flash memory 31, are always available to the subscriber and do not need to be downloaded each time the DHCT 16 initializes.


The flash memory 31 also contains a platform library 36. The platform library 36 is a collection of functionality useful to applications, such as a Timer Manager, Compression Manager, a HTML Parser, Database Manager, Widget Toolkit, String Managers, and other utilities (not shown). These utilities are accessed by applications as necessary so that each application does not have to contain these utilities thus resulting in memory consumption savings and a consistent user interface.


A Service Application Manager (SAM) provides a model in which the subscriber can access services available on the system. A service consists of an application to run and a parameter, such as data content, specific to that service. The SAM handles the lifecycle of the applications on the system, including the definition, initiation, activation, suspension and deletion of services they provide and the downloading of the application into the DHCT 16 as necessary. Many services can be defined using the same application component, with different parameters. The SAM includes a SAM server 56 (FIG. 3) in headend 11 and a SAM client 37 in the DHCT 16. The SAM client 37 (hereinafter referred to as SAM 37) is a part of the platform 36. As a non-limiting example, an application to tune video programming could be executed with one set of parameters to view HBO and a separate set of parameters to view CNN. Each association of the application component (tune video) and one parameter component (HBO or CNN) represent a particular service that has a unique service ID.


In an alternate embodiment, the same parameter can be invoked by different applications. For instance, HBO can be viewed in a conventional manner or with an application that provides service enhancements for an additional purchase fee. Examples of aggregate functionality included as service enhancements include: the right to record and save the service to a storage device (a.k.a right to copy); the right to pause, stop, resume play, rewind and fast-forward on a real-time basis when DHCT 16 contains internally or externally a media recording device with storage capabilities (but without the right to keep a permanent copy in storage); and the right to receive the service in superior audio quality such as Dolby AC-3 rather than in stereo. Thus, the SAM 37 provides a subscriber alternative versions of the same service, each a service enhancement with aggregate functionality. When the subscriber initially activates a service, the SAM 37 attempts to first provide the most-enhanced service to the subscriber before providing a less-enhanced or basic service based on the subscriber's authorization status. A service enhancement is authorized to a subscriber upon the subscriber purchasing the service enhancement as a subscription or a one-time period (i.e., pay per view) for a purchase fee. If a subscription of the alternate enhanced service is purchased, then each time the authorized subscriber accesses the service, the service is rendered with the authorized aggregated functionality. If the most-enhanced service is not authorized to the subscriber, then the SAM 37 attempts to provide a less-enhanced service or a basic service. In much the same way as described herein, the client device automatically provides the appropriate version of the enhanced services based on the subscriber's authorization status.


Various application clients can be downloaded into DRAM 32 via the BFS or other means, such as TCP/IP, at the request of the SAM 37. An application client is the portion of an application that executes on the DHCT 16 and provides the application's services to the subscriber typically through a graphical user interface. The applications that are stored in the DRAM 32 may be applications that are loaded when the DHCT 16 initializes or are applications that are downloaded to the DHCT 16 upon a subscriber-initiated command using an input device such as the remote 27. In this non-limiting example, as shown in FIG. 2, DRAM 32 contains the following application clients (hereinafter referred to as “application(s)”): a video-on-demand application (VOD) 43, and an e-mail application 45. It should be obvious to one with ordinary skill in the art that these applications are not limiting and merely serve as examples for this present embodiment of the invention.


The applications shown in FIG. 2 and all others provided by the cable system operator are top level software entities on the network for providing services to the subscriber. In one implementation, all applications executing on the DHCT 16 work with the navigator 35 by abiding by several guidelines. First, an application must utilize and implement the SAM 37 for provisioning, activation, and suspension of services. Second, an application must share DHCT 16 resources with other applications and abide by the resource management policies of the SAM 37, the operating system 33, and the DHCT 16. Third, an application must handle all situations where resources are unavailable without navigator 35 intervention. Fourth, when an application loses service authorization while providing a service, an application should suspend the service. The navigator 35 will reactivate an individual service application when it later becomes authorized. Finally, an application must be configured so it does not have access to certain user subscriber input keys that are reserved by the navigator 35 (i.e., power, channel +/−, volume +/−, etc.). However, without any limitations to the aforementioned, in certain circumstances certain applications during the course of program execution may reach a machine-state in which input keys that would ordinarily be reserved may be employed for input by the application but only during that particular machine-state. For instance, an application may display a user interface that specifically requests input or selection from the subscriber in which one or more of the reserved keys are used momentarily during that machine-state.



FIG. 3 is a diagram of the cable television system of FIG. 1 including selected components located in the headend of the cable television system and a layered view of selected elements in the DHCT. In the implementation shown, the headend 11, includes multiple application servers 51, 51′, 51″ that are responsible for provisioning the services provided by the application and for providing the content or data needed by the DHCT 16, which is discussed in more detail below. A series of application servers 51 are connected to a digital network control system 53 via an Ethernet connection 52 such as a 10BaseT or a 100BaseT. An application server manager (not shown) may be included to serve as a registry for all application servers 51 residing on the system headend 11. Through the application server manager graphical user interface (GUI), the GUI for all application servers 51 can be accessed.


The digital network control system (DNCS) 53 provides complete management, monitoring, and control of the network's elements and broadcast services provided to subscribers. The DNCS 53 includes the definitions of sources, digital storage media command and control (DSM-CC) user-to-network configuration of DHCTs in the network 20 and conditional access management. The application server 51 communicates via the Ethernet 52, through an operational system 54, to the SAM server 56 contained on the DNCS 53. The application server 51 defines a particular application to the SAM server 56, and the SAM server 56 instructs the BFS server 55 to add the particular application's executable code and possibly one or more data components related to the service to the carousel (not shown) for distribution to the various DHCTs of the network 10. The SAM server 56 provides various features for each application that directs its execution in the network 20. In preparation to introduce the application, the SAM server 56 also provides a mapping from the display channel number presented to the subscriber to the service, and vice versa, including the capability to have one service on a channel for a specified time and another service on that channel for a different specified time. The SAM server 56 additionally provides an interface on the SAM server 56 to specify service-related data, and the SAM client 36 on the DHCT 16 provides an interface to access this information efficiently. The SAM server 56 contains information and configuration data whereby applications and services on the DHCT 16 can be activated and suspended remotely by the SAM server 56 by a signaling message.


Continuing with FIG. 3, the DHCT 16 receives the service information from the SAM server 56 when the DHCT 16 is initially powered-up or when an update message is initiated by the headend 11 denoting a change in existing services. Upon receiving the service information, the SAM 37 resident in the DHCT 16 interprets this information and stores it in SAM database 40 (shown in FIG. 2).



FIG. 4 is a diagram of one example of a channel mapping scheme stored in memory of the DHCT 16 shown in FIG. 2. The service information is, in one implementation, a collective term including a channel table 61 and a service table 62. The channel table 61 is a mapping of each channel to which the subscriber may tune the DHCT 16 to the service provided on that channel. The service table 62 is a list of each individual service offered by the cable television system provider as configured by the SAM server 56. Thus, the system operator may configure the channel line-up by setting the various channels in channel table 61 to point 63 to the various services in the service table 62. In this non-limiting example, Channel 1 may be mapped by the SAM server 56 to the ABC service, Channel 2 may be mapped to the CBS service, Channel 3 may be mapped to the NBC service, and so on. Thus, when the subscriber initiates a command via the remote 27 to view channel 1, the navigator 35 accesses the SAM 37 to determine what service corresponds to channel 1. The SAM 37 accesses the SAM database 40 and determines that channel 1 corresponds to the ABC service and returns that information to the navigator 35. After authorization, as discussed below, the navigator 35 instructs the SAM 37 to activate the ABC service, provided by the watch TV application. Upon receiving that message, the watch TV application uses the operating system 33 to set the tuner system 25 to tune the ABC source specified as the parameter in the ABC service, for rendering the service to the subscriber, in this case the presentation of video and audio on the display 21.


A subscriber is generally able to navigate on any individual channel of all the channels available by the DHCT 16 for viewing the corresponding service mapped to that channel as denoted by the channel mapping table contained in the SAM database 40. However, it is also generally understood that a subscriber may or may not subscribe to each individual service provided or offered by the cable television systems operator. The DHCT 16 contains in DRAM 32 an authorization database 47 containing the authorizations of all services for the subscriber utilizing that specific DHCT 16. The authorization database 47 is periodically updated by the headend 11 to denote any changes in the subscriber's available services.


Authorization information can be specified using the SAM server 56 for each service in the service table. This information can include a conditional access “key” specific to the system that can be delivered to specific DHCTs 16 in a secure manner and processed by a security processor (not shown) and/or conditional access components (not shown) housed in DHCT 16. It also can include an alternate service to use if the given service is not authorized. As an example, the service table 62 contains pointers 64, 65, 66 routing a service to a different service other than the first service so that the second or subsequent service is an alternative to the first service which may be prohibited to an individual subscriber.


With additional reference to FIGS. 5 and 6, the SAM 37 and the navigator 35, in this non-limiting example, implement the service activation using an alternative service scheme 80 in the following manner. If a subscriber attempts to tune the DHCT 16 to channel 9, as in step 82, the subscriber inputs that command to the DHCT 16 via the remote 27. The navigator 35 will eventually receive the input command from the remote and query the SAM 37 to learn what service is linked to channel 9 as requested by the subscriber, as in step 84. The SAM 37 accesses the SAM database 40 to read the channel table 61 to determine which service is referenced to channel 9 in channel table 61, as in step 86. In this example, the SAM 37 reports to the navigator 35, as depicted in step 88, that the service Watch TV+HBO is mapped through pointer 63a to channel 9 in the channel table 61. The navigator 35 next requests of SAM 37, as in step 90, whether the Watch TV+HBO service is authorized to the individual subscriber making the request. The SAM 37, in step 92, accesses the service table 62 to determine, in step 94, if a conditional access or authorization “key” is defined for HBO. If no key is defined for HBO, SAM 37 activates the service, as in step 96. If an authorization key is defined for HBO, SAM 37 uses that “key,” as in step 98, to ask the operating system 33 to check the authorization database 47 to determine whether the Watch TV+HBO service is authorized to the subscriber, as depicted in step 100. If, in this non-limiting example, the subscriber is authorized to view Watch TV+HBO, SAM 37 reports this fact to the navigator 35 and the service is activated, as shown in step 102. However, if the subscriber is not authorized for the service (Watch TV+HBO), SAM 37 reports this facts to the navigator as well, as in step 104.


The navigator 35 may then present the subscriber with several options that range from either a denial of service, an opportunity to purchase the service, or a routing to an alternative service (which may include a service offering purchase of the first service). Traditionally, the simplest solution is to merely present an unauthorized message screen to the user on channel 9 denoting that the subscriber has not paid or purchased that particular service. The navigator 35 may also be configured to present the subscriber an opportunity to purchase the prohibited service, in this case, HBO, either as a subscription or a one-time fee similar to pay per view by inputting commands through the remote 27 to acknowledge the purchase of the HBO service. Such an opportunity may be provided through a “purchase HBO” service available as an alternative service, as discussed below. In providing the subscriber the opportunity to purchase the prohibited service, the navigator 35 may present descriptive information about the individual service features and functions as a marketing attempt to entice the subscriber to purchase the prohibited service.


As stated above, a service, in an alternate embodiment, may also be provided in one of a multiplicity of alternate service modes, each mode corresponding to an alternate service with aggregate functionality. A subscriber that purchases an enhanced version of the service is authorized to receive the respective enhanced version of the service. A service provided in a multiplicity of alternate service modes can be rendered through SAM 37 with different respective applications for each enhanced version of the service or combinations of different multiple versions of enhancements. Alternatively, a single application can render one or more, or possibly all enhanced versions of the service by querying the subscriber's authorizations as previously described.


Navigator 35 may also automatically use the SAM 37 to activate and present the subscriber an alternative service, as in step 106, for the subscriber to view which may either be a service already in the subscriber's viewing plan or an alternative service that is more economical or currently available as opposed to the prohibited service. Alternatively, an enhanced version of the service may be presented to the subscriber for purchase as either for a subscription fee or a one-time period fee similar to pay per view. Continuing the non-limiting example, when the navigator 35 determines that the Watch TV+HBO service is not authorized, it queries the SAM 37 to determine if there is an alternate service, as in step 108. The SAM 37, in step 110, checks its database 40 and determines that the alternative service is the Encore service, as in step 112. In this case the navigator 35 repeats the authorization query with the SAM 37 for the Encore service, and if it is authorized presents the service by activating it using the SAM 37, as in step 102. The transition from the HBO service via route 64 may be automatic or transparent to the subscriber, with the possible exception of the identification that the transition of the services has occurred. However, if the Encore service is also not authorized, the SAM 37 will report this fact to the navigator 35 after accessing the authorization database 47, as in step 104. The navigator 35 will then ask for an alternate service to the Encore service, and continue until an authorized alternate service is reported by the SAM 37 (steps 90-112). Continuing with this non-limiting example, if the subscriber is not authorized for the Pay-Per-View alternate service (the alternative service to Encore referenced by pointer 65), the service table may route or may point to a default barker service via pointer 66 which generally informs the subscriber that channel 9 is not a service option available to that subscriber within his or her viewing plan. If none of the alternate services are authorized, the navigator 35 will display a default unauthorized service message to the subscriber, as in step 114. It should be apparent to one of ordinary skill in the art that the routing of services is not confined to movie services or channels, but rather that the routing of one service to another may be configured by the system operator at the headend 11 so that similar services may be routed from services that are either premium channels or more desirable services at premium prices.


In an alternative embodiment, the DHCT 16 may be programmed or configured to properly present data to a display 21 configured for high definition television (“HDTV”). A problem with channel mapping arises with the advent of HDTV for subscribers who may or may not have HDTV viewing capabilities. FIG. 7 is a diagram of alternative services where the alternative services are different viewing formats rather than different services altogether as discussed above.


A subscriber identifies with the navigator 35, using an interactive settings GUI, such as a configuration setting, the type of television set display 21 that is connected to the DHCT 16, such as an HDTV or a standard television (“STV”). In normal operation, SAM 37 is informed of dual or multiple carried services or programs through the service information 61, 62 that identifies the services. Multiple SAM 37 services for the different programming configurations (such as for HDTV and STV) are defined and transmitted throughout the network 20.


In one embodiment, the channel line-up exposed to a subscriber is automatically composed for and limited to the subscriber's display type. The application that displays program data to the subscriber for viewing selection (hereinafter referred to as the interactive program guide (IPG) (not shown) is provisioned to limit display of program data to only those channels compatible to the subscriber's TV format. Thus, the IPG must retrieve from the SAM 37 which channels or programs are available to the subscriber based on the subscriber's TV format. The navigator 35 using the SAM 37 also limits the subscriber to tuning to only those channels that are suitable to the subscriber's display type.


In an alternative embodiment, the navigator 35 allows a subscriber to request display of any channel and the alternate service authorization mechanism described previously is used to activate the service that provides the appropriate format. A conditional access “key” is defined for the HDTV format, and embedded in the service definition for HDTV services. Those services are mapped to the channels. The alternate service for each of the HDTV services is the standard format service. Thus, if a subscriber has an STV display 21 but attempts to tune to an HDTV service, the navigator 35 and SAM 37 use the alternate service mechanism described earlier to ultimately activate the standard service.



FIG. 7 is a diagram of an example of channel mapping scheme stored in memory of the DHCT 16 shown in FIG. 2 which depicts routing between HDTV and STV formats. The system operator at the headend 11 may map channels 63 between the channel table 61 and the service table 62 such that some of the services 62 are programmed for HDTV and others are not. The SAM 37 includes a “multiple-feed attribute” bitmap where a “one” value in the bit corresponding to a service indicates a multiple-carried service. A list of pointers 63, organized in sequential order, contain pointers to a service table 62 corresponding to the channels in the channel table 61. The service table 62 may contain information pertaining to the number of feeds, respective source IDs, and respective picture format. As a result, the mapping 63 to the channel table 61 may be such that, in normal operation, the subscriber is otherwise presented viewing of channels that are programmed in HDTV format even though the subscriber's television is not capable of viewing that type of service, which could result in system failure or improper operation. However, if the subscriber configures the DHCT 16 for the type of television set 21 that is connected to the DHCT 16, navigator 35 and SAM 37 will transparently tune to the services of the appropriate format. As a result, each time the subscriber attempts to tune a channel in the channel table 61 that is mapped 63 to a service in the service table 62 which is programmed in HDTV format, the alternative service mapping may automatically route the service from the HDTV format to STV format which the subscriber's display 21 may be able to show.


As a non-limiting example, as shown in FIG. 7, if a subscriber desires to watch CNN, which is a multi-carried program, the subscriber may choose to input channel 4 into the remote 27. If the subscriber has pre-configured the DHCT 16 for a STV display device 21 as opposed to an HDTV television device, the navigator 35 will be informed by the SAM 37 that the HDTV service is not authorized. The navigator 35 will then query the SAM 37 for the alternate unauthorized service, which the SAM 37, via pointer 121, will report as the STV version of CNN. The navigator 35 will query the SAM 37 and determine that the STV CNN service is authorized, and will thus direct the SAM 37 to activate the STV version of CNN so that the display 21 will be able to present the selection to the subscriber. Conversely, if the subscriber does possess an HDTV display device 21 and has configured the DHCT 16 for presenting HDTV programming, then the navigator 35 will simply activate the HDTV service. If the subscriber wishes to view, for example, ESPN and inputs channel 7 to the DHCT 16, the SAM 37 would automatically route from the service ESPN which is in STV format via the pointer 122 to the ESPN service in HDTV format in a seamless fashion so that the subscriber does not experience delay in the transition.


Some channel attributes are shared for the different formats of a particular service. Thus, service table 62 may include multiple services with the same broadcast logo or same channel station call letters if the services are offered in multiple feeds. Alternatively, different versions of the attributes may be used to indicate different levels of service. Thus, the basic “NBC” call letters may be implemented for the NBC service in STV format while “NBC-HD” may be used to signify the NBC feed in HDTV format.


In still another alternative embodiment, the SAM 37 receives from the SAM server 56 the information required for a watch TV application a service parameter such that any number of display formats and their corresponding sources are identified. For example, a service for CNN may be defined whereby the service application includes a watch TV application that supports multiple feeds and the service parameter would include the multiple sources and a designation of the display type for each source. When activated by the SAM 37, the watch TV application would check the configuration of the DHCT 16 and tune the source corresponding to the supported display 21.


Alternative services, as discussed above, additionally include modification of services or feeds for presentation of information in different formats or in enhanced formats from the original feed. As a non-limiting example, if the target channel chosen by the subscriber is a single feed regardless of whether the format is suitable for the subscriber's display 21, a format conversion takes place in the DHCT 16 to scale the picture display to match the subscriber's TV format. Hence, a singly-carried channel or program, regardless of the format, does not prevent reception and display of the program but forces a number of format conversion operations that result in a converted picture.


The DHCT 16 is capable of receiving all MPEG-2 (Motion Picture Experts Group second standard), MP/HL (Main Profile, High Level), and MP/ML (Main Profile, Main Level) formats to decode any of these compressed digital video signals but maybe limited to produce a single video format as its output. The DHCT 16 performs any and all conversion operations necessary to display video on a single TV set configured, for example, as a STV. Thus, a service formatted for HDTV would be converted to STV format if it was a single feed so that the subscriber could view the service. Likewise, STV formatted services could be converted to HDTV format for subscribers with HDTV displays 21. The result is that the DHCT 16 presents the highest quality image available to the display coupled to the DHCT 16 as determined by the configuration set by the subscriber.


Other subscriber equipment can also cause alternative services to be implemented for reasons in addition to unauthorization or HDTV/STV as discussed above. As a non-limiting example, different models of DHCTs in the network 20 may render execution of certain applications unavailable for a variety of reasons. For example, the processor 24 in an older model DHCT 16 may operate too slowly to execute a new application, so the older model DHCT 16 would implement an alternative service referenced by the new application. In this example, the alternative service would be compatible to the capabilities of the older model DHCT 16 with the slower processor 24. Other subscriber equipment such as video cassette recorders and certain types of television sets 21 may place technical restrictions on the type of applications that the DHCT 16 may execute and thereby require implementation for alternative services compatible to a subscriber's equipment. It should be obvious to one of ordinary skill that alternative services can be implemented by the DHCT 16 for various reasons, and not just for the few examples as described above.


The alternative service program, which comprises an ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. In the context of this document, a “computer-readable medium” can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The computer readable medium can be, for example but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, device, or propagation medium. More specific examples (a nonexhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic) having one or more wires, a portable computer diskette (magnetic), a random access memory (RAM) (magnetic), a read-only memory (ROM) (magnetic), an erasable programmable read-only memory (EPROM or Flash memory) (magnetic), an optical fiber (optical), and a portable compact disc read-only memory (CDROM) (optical). Note that the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory. Furthermore, any process descriptions or blocks in flow charts should be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in the process, and alternate implementations are included within the scope of the preferred embodiment of the present invention in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the present invention.


It should be emphasized that the above-described embodiments of the present invention, particularly any “preferred embodiments” are merely possible examples of the implementations, merely set forth for a clear understanding of the principles of the invention. Any variations and modifications may be made to the above-described embodiments of the invention without departing substantially from the spirit of the principles of the invention. All such modifications and variations are intended to be included herein within the scope of the disclosure and present invention and protected by the following claims.

Claims
  • 1. A method for a client device with a processor and memory that is coupled to a server device to provide a subscriber an alternative service upon accessing an unauthorized service, comprising the steps of: receiving from the server device and storing in the memory a service database and an authorization database, wherein the service database includes a channel table referencing a plurality of services corresponding to a plurality of channels and a service table defining the plurality of services and including the definition of alternate services assigned to at least one of the plurality of services, and wherein the authorization database includes a list of authorizations individual to the subscriber and corresponding to the plurality of services;accessing the service database responsive to the subscriber attempting to access a desired channel to determine a first service corresponding to the desired channel;determining whether the subscriber is authorized for the first service according to the authorization database, wherein the client device presents the first service to the subscriber on a display device responsive to the authorization database revealing that the subscriber is authorized for the first service; andpresenting one of the alternate services according to the service database responsive to the subscriber being unauthorized to receive the first service.
  • 2. The method of claim 1, further comprising the step of: instructing a service application manager client in the client device to receive the service database and the authorization database from the server device.
  • 3. The method of claim 2, further comprising the step of: instructing a navigation module in the client device to receive the desired channel request, wherein the navigation module polls the service application manager client to determine the first service that corresponds to the desired channel.
  • 4. The method of claim 3, further comprising the step of: instructing the service application manager client to access the service database, wherein the service application manager client communicates to the navigation module the first service corresponding to the desired channel.
  • 5. The method of claim 4, further comprising the step of: instructing the navigation module to poll the service application manager client to determine whether the subscriber is authorized to receive the first service.
  • 6. The method of claim 5, further comprising the step of: instructing the service application manager client to access the authorization database contained on a service application manager database, wherein the service application manager client communicates to the navigation module an authorization status for the subscriber corresponding to the first service.
  • 7. The method of claim 6, further comprising the step of: instructing the navigation module to present the first service on the display device if the authorization status denotes that the subscriber is authorized to receive the first service.
  • 8. The method of claim 6, further comprising the step of: instructing the navigation module to poll the service application manager client to determine the one of the alternate services to the first service if the authorization status denotes that the subscriber is not authorized to receive the first service.
  • 9. The method of claim 6, wherein the navigation module presents the one of the alternate services on the display device if the service application manager client communicates to the navigation module that the one of the alternate services is authorized for the subscriber.
  • 10. The method of claim 1, wherein the first service is an enhanced version of a basic service, and wherein the enhanced version includes one or more functions not provided by the basic service.
  • 11. The method of claim 10, wherein one of the functions of the enhanced version of the basic service is an ability to record and save the first service in the memory.
  • 12. The method of claim 10, wherein one of the functions of the enhanced version of the basic service is an ability to pause, stop, resume, replay, rewind, and fast-forward the first service on a real-time basis.
  • 13. The method of claim 1, wherein a first user input requesting to activate the first service corresponds to a request for a first television channel associated with the first service and wherein responsive to the first user input a tuner in the client device is tuned to a single television channel to provide a second service, said single television channel being different than the first television channel.
  • 14. The method of claim 10, wherein one of the functions of the enhanced version of the basic service is an ability to present the first service with a superior audio quality.
  • 15. The method of claim 1, further comprising the step of utilizing a pointer to assign the alternate services.
  • 16. The method of claim 1, further comprising the step of mapping at least one of the alternate services to one of the other services of the plurality of services.
  • 17. The method of claim 1, wherein defining the alternate services is performed by assigning one of the services to another of the services which are other than adjacent to one another within the service table.
  • 18. A system for a client device with a processor and memory that is coupled to a server device to provide a subscriber an alternative service upon accessing an unauthorized service, comprising: logic configured to receive from said server device and store in said memory a service database and an authorization database, wherein said service database includes a channel table referencing a plurality of services corresponding to a plurality of channels and a service table defining said plurality of services and including the definition of alternate services assigned to at least one of the plurality of services, and wherein said authorization database includes a list of authorizations individual to said subscriber and corresponding to said plurality of services;logic configured to access said service database responsive to said subscriber attempting to access a desired channel to determine a first service corresponding to said desired channel;logic configured to determine whether said subscriber is authorized for said first service according to said authorization database, wherein said client device presents said first service to said subscriber on a display device responsive to said authorization database revealing that said subscriber is authorized for said first service; andlogic configured to present one of the alternate services according to said service database responsive to said subscriber being unauthorized to receive said first service.
  • 19. The system of claim 18, further comprising: logic configured to implement a service application manager client in said client device to receive said service database and said authorization database from said server device.
  • 20. The system of claim 19, further comprising: logic configured to implement a navigation module in said client device to receive said desired channel request, wherein said navigation module polls said service application manager client to determine said first service that corresponds to said desired channel.
  • 21. The system of claim 20, further comprising: logic configured to implement said service application manager client to access said service database contained on a service application manager database, wherein said service application manager client communicates to said navigation module said first service corresponding to said desired channel.
  • 22. The system of claim 21, further comprising: logic configured to implement said navigation module to poll said service application manager client to determine whether said subscriber is authorized to receive said first service.
  • 23. The system of claim 22, further comprising: logic configured to implement said service application manager client to access said authorization database contained on said service application manager database, wherein said service application manager client communicates to said navigation module an authorization status for said subscriber corresponding to said first service.
  • 24. The system of claim 23, further comprising: logic configured to implement said navigation module to present said first service on said display device if said authorization status denotes that said subscriber is authorized to receive said first service.
  • 25. The system of claim 23, further comprising: logic configured to implement said navigation module to poll said service application manager client to determine the one of the alternate services to said first service if said authorization status denotes that said subscriber is not authorized to receive said first service.
  • 26. The system of claim 23, wherein said navigation module presents the one of the alternate services on said display device if said service application manager client communicates to said navigation module that the one of the alternate services is authorized for said subscriber.
  • 27. The system of claim 18, wherein the first service is an enhanced version of a basic service, and wherein the enhanced version includes one or more functions not provided by the basic service.
  • 28. The system of claim 27, wherein one of the functions of the enhanced version of the basic service is an ability to record and save the first service in the memory.
  • 29. The system of claim 27, wherein one of the functions of the enhanced version of the basic service is an ability to pause, stop, resume, replay, rewind, and fast-forward the first service on a real-time basis.
  • 30. The system of claim 27, wherein one of the functions of the enhanced version of the basic service is an ability to present the first service with a superior audio quality.
  • 31. The system of claim 18, wherein a pointer is utilized to assign the alternate services.
  • 32. The system of claim 18, wherein one service of the service table is mapped to another service of the service table to define the one of the alternate services.
  • 33. The system of claim 32, wherein the one service is other than adjacent to the other service within the service table.
  • 34. The system of claim 33, wherein one of the services of the plurality of services and the one of the alternate services assigned to the one service are other than in sequential order relative to one another within the service table.
US Referenced Citations (553)
Number Name Date Kind
3676580 Beck Jul 1972 A
4586158 Brandle Apr 1986 A
4706121 Young Nov 1987 A
4751578 Reiter et al. Jun 1988 A
4821097 Robbins Apr 1989 A
4827250 Stallkamp May 1989 A
4885775 Lucas Dec 1989 A
4908713 Levine Mar 1990 A
4930158 Vogel May 1990 A
4949187 Cohen Aug 1990 A
4963994 Levine Oct 1990 A
4984152 Mueller Jan 1991 A
4991011 Johnson et al. Feb 1991 A
5038211 Hallenbeck Aug 1991 A
5172413 Bradley et al. Dec 1992 A
5253066 Vogel Oct 1993 A
5291554 Morales Mar 1994 A
5293357 Hallenbeck Mar 1994 A
5317391 Banker et al. May 1994 A
5329590 Pond Jul 1994 A
5353121 Young et al. Oct 1994 A
5357276 Banker et al. Oct 1994 A
5359362 Lewis et al. Oct 1994 A
5371551 Logan et al. Dec 1994 A
5398071 Gove et al. Mar 1995 A
5410326 Goldstein Apr 1995 A
5410343 Coddington et al. Apr 1995 A
5410344 Graves et al. Apr 1995 A
5414455 Hooper et al. May 1995 A
5418622 Takeuchi May 1995 A
5448313 Kim et al. Sep 1995 A
5477262 Banker et al. Dec 1995 A
5479268 Young et al. Dec 1995 A
5481542 Logston et al. Jan 1996 A
5483277 Granger Jan 1996 A
5493638 Hooper et al. Feb 1996 A
5508815 Levine Apr 1996 A
5512958 Rzeszewski Apr 1996 A
5515495 Ikemoto May 1996 A
5521631 Budow et al. May 1996 A
5530754 Garfinkle Jun 1996 A
5532735 Blahut et al. Jul 1996 A
5532754 Young et al. Jul 1996 A
5544354 May et al. Aug 1996 A
5555441 Haddad Sep 1996 A
5557541 Schulhof et al. Sep 1996 A
5562732 Eisenberg Oct 1996 A
5568272 Levine Oct 1996 A
5583560 Florin et al. Dec 1996 A
5583995 Gardner et al. Dec 1996 A
5585821 Ishikura et al. Dec 1996 A
5585838 Lawler et al. Dec 1996 A
5589892 Knee et al. Dec 1996 A
5592551 Lett et al. Jan 1997 A
5594509 Florin et al. Jan 1997 A
5598524 Johnston, Jr. et al. Jan 1997 A
5600364 Hendricks et al. Feb 1997 A
5600573 Hendricks et al. Feb 1997 A
5614940 Cobbley et al. Mar 1997 A
5619247 Russo Apr 1997 A
5619249 Billock et al. Apr 1997 A
5621456 Florin et al. Apr 1997 A
5623613 Rowe et al. Apr 1997 A
5625405 DuLac et al. Apr 1997 A
5625864 Budow et al. Apr 1997 A
5629732 Moskowitz et al. May 1997 A
5631693 Wunderlich et al. May 1997 A
5632681 Bakoglu et al. May 1997 A
5635979 Kostreski et al. Jun 1997 A
5635980 Lin et al. Jun 1997 A
5635989 Rothmuller Jun 1997 A
5650831 Farwell Jul 1997 A
5659350 Hendricks et al. Aug 1997 A
5666293 Metz et al. Sep 1997 A
5671411 Watts et al. Sep 1997 A
5675752 Scott et al. Oct 1997 A
5682206 Wehmeyer et al. Oct 1997 A
5682597 Ganek et al. Oct 1997 A
5684918 Abecassis Nov 1997 A
5686954 Yoshinobu et al. Nov 1997 A
5687331 Volk et al. Nov 1997 A
5689641 Ludwig et al. Nov 1997 A
5694176 Bruette et al. Dec 1997 A
5694546 Reisman Dec 1997 A
5699107 Lawler et al. Dec 1997 A
5715169 Noguchi Feb 1998 A
5715515 Akins, III et al. Feb 1998 A
5721827 Logan et al. Feb 1998 A
5721829 Dunn et al. Feb 1998 A
5721897 Rubinstein Feb 1998 A
5724106 Autry et al. Mar 1998 A
5724521 Dedrick Mar 1998 A
5724646 Ganek et al. Mar 1998 A
5727060 Young Mar 1998 A
5729549 Kostreski et al. Mar 1998 A
5732216 Logan et al. Mar 1998 A
5734853 Hendricks et al. Mar 1998 A
5737028 Bertram et al. Apr 1998 A
5740304 Katsuyama et al. Apr 1998 A
5740549 Reilly et al. Apr 1998 A
5745837 Fuhrmann Apr 1998 A
5748493 Lightfoot et al. May 1998 A
5751282 Girard et al. May 1998 A
5752160 Dunn May 1998 A
5754773 Ozden et al. May 1998 A
5764873 Magid et al. Jun 1998 A
5764899 Eggleston et al. Jun 1998 A
5771435 Brown Jun 1998 A
5774170 Hite et al. Jun 1998 A
5778077 Davidson Jul 1998 A
5790170 Suzuki Aug 1998 A
5790176 Craig Aug 1998 A
5790935 Payton Aug 1998 A
5790940 Laborde et al. Aug 1998 A
5796828 Tsukamoto et al. Aug 1998 A
5798785 Hendricks et al. Aug 1998 A
5799063 Krane Aug 1998 A
5801747 Bedard Sep 1998 A
5801787 Schein et al. Sep 1998 A
5802502 Gell et al. Sep 1998 A
5808608 Young et al. Sep 1998 A
5808611 Johnson et al. Sep 1998 A
5809204 Young et al. Sep 1998 A
5812123 Rowe et al. Sep 1998 A
5812124 Eick et al. Sep 1998 A
5812786 Seazholtz et al. Sep 1998 A
5822123 Davis et al. Oct 1998 A
5826110 Ozden et al. Oct 1998 A
5828419 Bruette et al. Oct 1998 A
5828845 Jagadish et al. Oct 1998 A
5835843 Haddad Nov 1998 A
5838314 Neel et al. Nov 1998 A
5844620 Coleman et al. Dec 1998 A
5848352 Dougherty et al. Dec 1998 A
5850218 LaJoie et al. Dec 1998 A
5856975 Rostoker et al. Jan 1999 A
5859641 Cave Jan 1999 A
5861906 Dunn et al. Jan 1999 A
5877756 Um Mar 1999 A
5880768 Lemmons et al. Mar 1999 A
5886690 Pond et al. Mar 1999 A
5886732 Humpleman Mar 1999 A
5895454 Harrington Apr 1999 A
5898456 Wahl Apr 1999 A
5900905 Shoff et al. May 1999 A
5905522 Lawler May 1999 A
5905942 Stoel et al. May 1999 A
5907323 Lawler et al. May 1999 A
5913040 Rakavy et al. Jun 1999 A
5914712 Sartain et al. Jun 1999 A
5914746 Matthews, III et al. Jun 1999 A
5915068 Levine Jun 1999 A
5917822 Lyles et al. Jun 1999 A
5929849 Kikinis Jul 1999 A
5930493 Ottesen et al. Jul 1999 A
5935206 Dixon et al. Aug 1999 A
5936659 Viswanathan Aug 1999 A
5940073 Klosterman et al. Aug 1999 A
5943047 Suzuki Aug 1999 A
5956024 Strickland et al. Sep 1999 A
5956716 Kenner et al. Sep 1999 A
5960411 Hartman et al. Sep 1999 A
5961603 Kunkel et al. Oct 1999 A
5969748 Casement et al. Oct 1999 A
5978043 Blonstein et al. Nov 1999 A
5983273 White et al. Nov 1999 A
5986650 Ellis et al. Nov 1999 A
5987256 Wu et al. Nov 1999 A
5990677 Pietraszak et al. Nov 1999 A
5990881 Inoue et al. Nov 1999 A
5990890 Etheredge Nov 1999 A
5990927 Hendricks et al. Nov 1999 A
5995134 Hayashi Nov 1999 A
6002401 Baker Dec 1999 A
6005565 Legall et al. Dec 1999 A
6005631 Anderson et al. Dec 1999 A
6006257 Slezak Dec 1999 A
6008803 Rowe et al. Dec 1999 A
6008836 Bruck et al. Dec 1999 A
6014184 Knee et al. Jan 2000 A
6016348 Blatter et al. Jan 2000 A
6018359 Kermode Jan 2000 A
6018372 Etheredge Jan 2000 A
6020912 De Lang Feb 2000 A
6023267 Chapuis et al. Feb 2000 A
6025837 Matthews, III et al. Feb 2000 A
6025868 Russo Feb 2000 A
6025869 Stas et al. Feb 2000 A
6026376 Kenney Feb 2000 A
6035281 Crosskey et al. Mar 2000 A
6037933 Blonstein et al. Mar 2000 A
6049831 Gardell et al. Apr 2000 A
6057872 Candelore May 2000 A
6061097 Satterfield May 2000 A
6064380 Swenson et al. May 2000 A
6064980 Jacobi et al. May 2000 A
6070186 Nishio May 2000 A
6072982 Haddad Jun 2000 A
6073105 Sutcliffe et al. Jun 2000 A
6075575 Schein et al. Jun 2000 A
6081263 LeGall et al. Jun 2000 A
6085185 Matsuzawa et al. Jul 2000 A
6094680 Hokanson Jul 2000 A
6097383 Gaughan et al. Aug 2000 A
6098082 Gibbon et al. Aug 2000 A
6101512 DeRose et al. Aug 2000 A
6108002 Ishizaki Aug 2000 A
6108042 Adams et al. Aug 2000 A
6118445 Nonomura et al. Sep 2000 A
6118976 Arias et al. Sep 2000 A
6124878 Adams et al. Sep 2000 A
6125259 Perlman Sep 2000 A
6133909 Schein et al. Oct 2000 A
6137539 Lownes et al. Oct 2000 A
6138139 Beck et al. Oct 2000 A
6141003 Chor et al. Oct 2000 A
6141488 Knudson et al. Oct 2000 A
6148332 Brewer et al. Nov 2000 A
6151059 Schein et al. Nov 2000 A
6157377 Shah-Nazaroff et al. Dec 2000 A
6157413 Hanafee et al. Dec 2000 A
6160546 Thompson et al. Dec 2000 A
6160989 Hendricks et al. Dec 2000 A
6163272 Goode et al. Dec 2000 A
6166730 Goode et al. Dec 2000 A
6169543 Wehmeyer Jan 2001 B1
6172674 Etheredge Jan 2001 B1
6172677 Stautner et al. Jan 2001 B1
6177931 Alexander et al. Jan 2001 B1
6181333 Chaney et al. Jan 2001 B1
6181693 Maresca Jan 2001 B1
6182287 Schneidewend et al. Jan 2001 B1
6184877 Dodson et al. Feb 2001 B1
6188684 Setoyama et al. Feb 2001 B1
6195689 Bahlmann Feb 2001 B1
6201540 Gallup et al. Mar 2001 B1
6205485 Kikinis Mar 2001 B1
6208335 Gordon et al. Mar 2001 B1
6209130 Rector et al. Mar 2001 B1
6216264 Maze et al. Apr 2001 B1
6238290 Tarr et al. May 2001 B1
6239845 Itagaki et al. May 2001 B1
6240555 Shoff et al. May 2001 B1
6243142 Mugura et al. Jun 2001 B1
6249532 Yoshikawa et al. Jun 2001 B1
6253375 Gordon et al. Jun 2001 B1
6259733 Kaye et al. Jul 2001 B1
6266814 Lemmons et al. Jul 2001 B1
6268849 Boyer et al. Jul 2001 B1
6272484 Martin et al. Aug 2001 B1
6275268 Ellis et al. Aug 2001 B1
6282713 Kitsukawa et al. Aug 2001 B1
6289346 Milewski et al. Sep 2001 B1
6289514 Link et al. Sep 2001 B1
6292624 Saib et al. Sep 2001 B1
6305019 Dyer et al. Oct 2001 B1
6311011 Kuroda Oct 2001 B1
6314572 LaRocca et al. Nov 2001 B1
6314573 Gordon et al. Nov 2001 B1
6314575 Billock et al. Nov 2001 B1
6317777 Skarbo et al. Nov 2001 B1
6317885 Fries Nov 2001 B1
6323911 Schein et al. Nov 2001 B1
6327628 Anuff et al. Dec 2001 B1
6335936 Bossemeyer, Jr. et al. Jan 2002 B1
6347400 Ohkura et al. Feb 2002 B1
6349410 Lortz Feb 2002 B1
6353448 Scarborough et al. Mar 2002 B1
6357046 Thompson et al. Mar 2002 B1
6359636 Schindler et al. Mar 2002 B1
6360367 Yamamoto Mar 2002 B1
6362841 Nykanen Mar 2002 B1
6367078 Lasky Apr 2002 B1
6378130 Adams Apr 2002 B1
6381332 Glaab Apr 2002 B1
6385614 Vellandi May 2002 B1
6393585 Houha et al. May 2002 B1
6396549 Weber May 2002 B1
6400280 Osakabe Jun 2002 B1
6401243 Suzuki Jun 2002 B1
6405239 Addington et al. Jun 2002 B1
6421067 Kamen et al. Jul 2002 B1
6434748 Shen et al. Aug 2002 B1
6441862 Yuen et al. Aug 2002 B1
6442332 Knudson et al. Aug 2002 B1
6442755 Lemmons et al. Aug 2002 B1
6442756 Durden et al. Aug 2002 B1
6446261 Rosser Sep 2002 B1
6446262 Malaure et al. Sep 2002 B1
6460181 Donnelly Oct 2002 B1
6463585 Hendricks et al. Oct 2002 B1
6476833 Moshfeghi Nov 2002 B1
6480669 Tsumagari et al. Nov 2002 B1
6481010 Nishikawa et al. Nov 2002 B2
6481011 Lemmons Nov 2002 B1
6486920 Arai et al. Nov 2002 B2
6501902 Wang Dec 2002 B1
6505348 Knowles et al. Jan 2003 B1
6507949 Jonason et al. Jan 2003 B1
6510556 Kusaba et al. Jan 2003 B1
6515680 Hendricks et al. Feb 2003 B1
6515710 Koshimuta Feb 2003 B1
6519770 Ford Feb 2003 B2
6526575 McCoy et al. Feb 2003 B1
6526577 Knudson et al. Feb 2003 B1
6532589 Proehl et al. Mar 2003 B1
6536041 Knudson et al. Mar 2003 B1
6539548 Hendricks et al. Mar 2003 B1
6543053 Li et al. Apr 2003 B1
6545669 Kinawi et al. Apr 2003 B1
6557030 Hoang Apr 2003 B1
6563515 Reynolds et al. May 2003 B1
6564378 Satterfield et al. May 2003 B1
6564379 Knudson et al. May 2003 B1
6564383 Combs et al. May 2003 B1
6571390 Dunn et al. May 2003 B1
6574793 Ngo et al. Jun 2003 B1
6578077 Rakoshitz et al. Jun 2003 B1
6594699 Sahai et al. Jul 2003 B1
6594825 Goldschmidt Iki et al. Jul 2003 B1
6600496 Wagner et al. Jul 2003 B1
6604240 Ellis et al. Aug 2003 B2
6609253 Swix et al. Aug 2003 B1
6611958 Shintani et al. Aug 2003 B1
6614440 Bowen et al. Sep 2003 B1
6614988 Sampsell Sep 2003 B1
6628302 White et al. Sep 2003 B2
6631413 Aggarwal et al. Oct 2003 B1
6642939 Vallone et al. Nov 2003 B1
6647548 Lu et al. Nov 2003 B1
6651044 Stoneman Nov 2003 B1
6662365 Sullivan et al. Dec 2003 B1
6665869 Ellis et al. Dec 2003 B1
6671328 Poon et al. Dec 2003 B1
6675384 Block et al. Jan 2004 B1
6675385 Wang Jan 2004 B1
6678891 Wilcox et al. Jan 2004 B1
6681395 Nishi Jan 2004 B1
6681396 Bates et al. Jan 2004 B1
6684025 Perlman Jan 2004 B1
6684400 Goode et al. Jan 2004 B1
6697376 Son et al. Feb 2004 B1
6698023 Levitan Feb 2004 B2
6701523 Hancock et al. Mar 2004 B1
6701528 Arsenault et al. Mar 2004 B1
6706311 Wong et al. Mar 2004 B2
6708336 Bruette Mar 2004 B1
6717590 Sullivan et al. Apr 2004 B1
6718552 Goode Apr 2004 B1
6725461 Dougherty et al. Apr 2004 B1
6731310 Craycroft et al. May 2004 B2
6732367 Ellis et al. May 2004 B1
6732369 Schein et al. May 2004 B1
6732372 Tomita et al. May 2004 B2
6735572 Landesmann May 2004 B2
6738982 Jerding May 2004 B1
6757909 Maruo et al. Jun 2004 B1
6760918 Rodriguez et al. Jul 2004 B2
6769127 Bonomi et al. Jul 2004 B1
6771290 Hoyle Aug 2004 B1
6772209 Chernock et al. Aug 2004 B1
6772433 LaJoie et al. Aug 2004 B1
6782550 Cao Aug 2004 B1
6791620 Elswick et al. Sep 2004 B1
6792615 Rowe et al. Sep 2004 B1
6801533 Barkley Oct 2004 B1
6817028 Jerding et al. Nov 2004 B1
6832386 Jerding et al. Dec 2004 B1
6847969 Mathai et al. Jan 2005 B1
6876628 Howard et al. Apr 2005 B2
6898762 Ellis et al. May 2005 B2
6901385 Okamoto et al. May 2005 B2
6957386 Nishina et al. Oct 2005 B2
6968372 Thompson et al. Nov 2005 B1
6978310 Rodriguez et al. Dec 2005 B1
6978475 Kunin et al. Dec 2005 B1
6986156 Rodriguez et al. Jan 2006 B1
6990676 Proehl et al. Jan 2006 B1
6993782 Newberry et al. Jan 2006 B1
7010801 Jerding et al. Mar 2006 B1
7024681 Fransman et al. Apr 2006 B1
7039944 Cho et al. May 2006 B1
7062466 Wagner et al. Jun 2006 B2
7076734 Wolff et al. Jul 2006 B2
7086077 Giammaressi Aug 2006 B2
7103903 Kydd Sep 2006 B1
7110714 Kay et al. Sep 2006 B1
7117440 Gordon et al. Oct 2006 B2
7120926 Safadi et al. Oct 2006 B1
7143430 Fingerman et al. Nov 2006 B1
7150031 Rodriguez et al. Dec 2006 B1
7155733 Rodriguez et al. Dec 2006 B2
7185355 Ellis et al. Feb 2007 B1
7188356 Miura et al. Mar 2007 B1
7194757 Fish et al. Mar 2007 B1
7200857 Rodriguez et al. Apr 2007 B1
7237251 Oz et al. Jun 2007 B1
7243364 Dunn et al. Jul 2007 B2
7249366 Flavin Jul 2007 B1
7324552 Galand et al. Jan 2008 B1
7324553 Varier et al. Jan 2008 B1
7334251 Rodriguez et al. Feb 2008 B2
7340759 Rodriguez Mar 2008 B1
7343614 Hendricks et al. Mar 2008 B1
7356477 Allan et al. Apr 2008 B1
7404200 Hailey et al. Jul 2008 B1
7496943 Goldberg et al. Feb 2009 B1
7496945 Rodriguez Feb 2009 B2
7509267 Yarmolich et al. Mar 2009 B1
7512964 Rodriguez et al. Mar 2009 B2
7526788 Rodriguez Apr 2009 B2
7673314 Ellis et al. Mar 2010 B2
7685520 Rashkovskiy et al. Mar 2010 B2
20010003846 Rowe et al. Jun 2001 A1
20010013125 Kitsukawa et al. Aug 2001 A1
20010013127 Tomita et al. Aug 2001 A1
20010027561 White et al. Oct 2001 A1
20010030667 Kelts Oct 2001 A1
20010032335 Jones Oct 2001 A1
20010034763 Jacobs et al. Oct 2001 A1
20010036271 Javed Nov 2001 A1
20010044744 Rhoads Nov 2001 A1
20020002642 Tyson et al. Jan 2002 A1
20020007485 Rodriguez et al. Jan 2002 A1
20020026496 Boyer et al. Feb 2002 A1
20020026638 Eldering et al. Feb 2002 A1
20020032638 Arora et al. Mar 2002 A1
20020032728 Sako et al. Mar 2002 A1
20020032905 Sherr et al. Mar 2002 A1
20020042913 Ellis et al. Apr 2002 A1
20020044762 Wood et al. Apr 2002 A1
20020049804 Rodriguez et al. Apr 2002 A1
20020049978 Rodriguez et al. Apr 2002 A1
20020056098 White May 2002 A1
20020056118 Hunter et al. May 2002 A1
20020057336 Gaul et al. May 2002 A1
20020062481 Slaney et al. May 2002 A1
20020069105 do Rosario Botelho Jun 2002 A1
20020069218 Sull et al. Jun 2002 A1
20020069412 Philips Jun 2002 A1
20020078176 Nomura et al. Jun 2002 A1
20020083443 Eldering et al. Jun 2002 A1
20020101367 Geiger et al. Aug 2002 A1
20020104083 Hendricks et al. Aug 2002 A1
20020108125 Joao Aug 2002 A1
20020124249 Shintani et al. Sep 2002 A1
20020128908 Levin et al. Sep 2002 A1
20020129362 Chang et al. Sep 2002 A1
20030002862 Rodriguez et al. Jan 2003 A1
20030014753 Beach et al. Jan 2003 A1
20030030679 Jain Feb 2003 A1
20030037068 Thomas et al. Feb 2003 A1
20030061619 Giammaressi Mar 2003 A1
20030067554 Klarfeld et al. Apr 2003 A1
20030074214 Kelliher Apr 2003 A1
20030074257 Saveliev et al. Apr 2003 A1
20030079227 Knowles et al. Apr 2003 A1
20030088872 Maissel et al. May 2003 A1
20030101451 Bentolila et al. May 2003 A1
20030101454 Ozer et al. May 2003 A1
20030126425 Yang et al. Jul 2003 A1
20030131356 Proehl et al. Jul 2003 A1
20030135853 Goldman et al. Jul 2003 A1
20030154475 Rodriguez et al. Aug 2003 A1
20030154486 Dunn et al. Aug 2003 A1
20030159147 Young et al. Aug 2003 A1
20030174243 Arbeiter et al. Sep 2003 A1
20030188313 Ellis et al. Oct 2003 A1
20030193486 Estrop Oct 2003 A1
20030206553 Surcouf et al. Nov 2003 A1
20030219228 Thiagarajan et al. Nov 2003 A1
20030221194 Thiagarajan et al. Nov 2003 A1
20040034867 Rashkovskiy et al. Feb 2004 A1
20040049787 Maissel et al. Mar 2004 A1
20040107436 Ishizaki Jun 2004 A1
20040117831 Ellis et al. Jun 2004 A1
20040128685 Hassell et al. Jul 2004 A1
20040133907 Rodriguez et al. Jul 2004 A1
20040163117 Rodriguez et al. Aug 2004 A1
20040168191 Jerding et al. Aug 2004 A1
20040181801 Hagen et al. Sep 2004 A1
20040221310 Herrington et al. Nov 2004 A1
20040261112 Hicks et al. Dec 2004 A1
20040261125 Ellis et al. Dec 2004 A1
20050008074 van Beek et al. Jan 2005 A1
20050028190 Rodriguez et al. Feb 2005 A1
20050044565 Jerding et al. Feb 2005 A1
20050044566 Jerding et al. Feb 2005 A1
20050044577 Jerding et al. Feb 2005 A1
20050071882 Rodriguez et al. Mar 2005 A1
20050076360 Jerding et al. Apr 2005 A1
20050091693 Amine et al. Apr 2005 A1
20050111046 Kurumisawa et al. May 2005 A1
20050138657 Leftwich Jun 2005 A1
20050155056 Knee et al. Jul 2005 A1
20050160468 Rodriguez et al. Jul 2005 A1
20050188415 Riley Aug 2005 A1
20050204387 Knudson et al. Sep 2005 A1
20050204388 Knudson et al. Sep 2005 A1
20050213506 Wakumoto et al. Sep 2005 A1
20050216936 Knudson et al. Sep 2005 A1
20050240961 Jerding et al. Oct 2005 A1
20050251822 Knowles et al. Nov 2005 A1
20050278741 Robarts et al. Dec 2005 A1
20050283797 Eldering et al. Dec 2005 A1
20050283810 Ellis et al. Dec 2005 A1
20060020982 Jerding et al. Jan 2006 A1
20060026080 Rodriguez et al. Feb 2006 A1
20060026665 Rodriguez et al. Feb 2006 A1
20060059525 Jerding et al. Mar 2006 A1
20060070107 Renkis Mar 2006 A1
20060088105 Shen et al. Apr 2006 A1
20060112434 Banker et al. May 2006 A1
20060206913 Jerding et al. Sep 2006 A1
20060271933 Agassi et al. Nov 2006 A1
20060271964 Rodriguez et al. Nov 2006 A1
20060271973 Jerding et al. Nov 2006 A1
20070019670 Falardeau Jan 2007 A1
20070053293 McDonald et al. Mar 2007 A1
20070094690 Rodriguez et al. Apr 2007 A1
20070136748 Rodriguez et al. Jun 2007 A1
20070186240 Ward, III et al. Aug 2007 A1
20080010658 Abbott et al. Jan 2008 A1
20080098421 Rodriguez et al. Apr 2008 A1
20080098422 Rodriguez et al. Apr 2008 A1
20080101460 Rodriguez May 2008 A1
20080104637 Rodriguez et al. May 2008 A1
20080137755 Onur et al. Jun 2008 A1
20080229361 Jerding et al. Sep 2008 A1
20080279217 McDonald et al. Nov 2008 A1
20080281968 Rodriguez Nov 2008 A1
20080282307 McDonald et al. Nov 2008 A1
20080282308 McDonald et al. Nov 2008 A1
20090150958 Jerding et al. Jun 2009 A1
20090158306 Rodriguez et al. Jun 2009 A1
20090158324 Rodriguez et al. Jun 2009 A1
20090158329 Rodriguez et al. Jun 2009 A1
20090158331 Rodriguez et al. Jun 2009 A1
20090158332 Rodriguez et al. Jun 2009 A1
20090158335 Rodriguez et al. Jun 2009 A1
20090158339 Rodriguez et al. Jun 2009 A1
20090158352 Rodriguez et al. Jun 2009 A1
20090158354 Rodriguez et al. Jun 2009 A1
20090158355 Rodriguez et al. Jun 2009 A1
20090158363 Rodriguez et al. Jun 2009 A1
20090183081 Rodriguez et al. Jul 2009 A1
20090190028 Rodriguez et al. Jul 2009 A1
20090193468 Rodriguez Jul 2009 A1
20090193471 Rodriguez Jul 2009 A1
20090276808 Jerding et al. Nov 2009 A1
20090282372 Jerding et al. Nov 2009 A1
20090282440 Rodriguez Nov 2009 A1
20100242063 Slaney et al. Sep 2010 A1
Foreign Referenced Citations (93)
Number Date Country
2 363 052 Nov 1995 CA
2 223 025 Nov 2001 CA
0 572 090 Dec 1993 EP
0 673 159 Sep 1995 EP
0 680 214 Nov 1995 EP
0 725 538 Aug 1996 EP
0 763 936 Mar 1997 EP
0 811 939 Dec 1997 EP
0838915 Apr 1998 EP
0 849 948 Jun 1998 EP
0 854 645 Jul 1998 EP
0 891 084 Jan 1999 EP
0 896 318 Feb 1999 EP
0 909 095 Apr 1999 EP
0 701 756 Dec 1999 EP
0 989 751 Mar 2000 EP
1 069 801 Jan 2001 EP
1 075 143 Feb 2001 EP
1 111 572 Jun 2001 EP
1 161 085 Dec 2001 EP
2 343 051 Apr 2000 GB
8-289219 Nov 1996 JP
9-322022 Dec 1997 JP
10-143734 May 1998 JP
11-73361 Mar 1999 JP
11-073394 Mar 1999 JP
11-164284 Jun 1999 JP
2000-101941 Apr 2000 JP
WO 9222983 Dec 1992 WO
WO 9414284 Jun 1994 WO
WO 9617467 Jun 1996 WO
WO 9633579 Oct 1996 WO
WO 9634486 Oct 1996 WO
WO 9634491 Oct 1996 WO
WO 9641477 Dec 1996 WO
WO 9641478 Dec 1996 WO
WO 9734414 Sep 1997 WO
WO 9803012 Jan 1998 WO
WO 9826528 Jun 1998 WO
WO 9831116 Jul 1998 WO
WO 9837695 Aug 1998 WO
WO 9839893 Sep 1998 WO
WO 9848566 Oct 1998 WO
WO 9856172 Dec 1998 WO
WO 9856173 Dec 1998 WO
WO 9856188 Dec 1998 WO
WO 9901984 Jan 1999 WO
WO 9904560 Jan 1999 WO
WO 9904561 Jan 1999 WO
WO 9912109 Mar 1999 WO
WO 9914947 Mar 1999 WO
WO 9935831 Jul 1999 WO
WO 9945701 Sep 1999 WO
WO 9949717 Oct 1999 WO
WO 9952285 Oct 1999 WO
WO 9957903 Nov 1999 WO
WO 9959903 Nov 1999 WO
WO 9960790 Nov 1999 WO
WO 9966719 Dec 1999 WO
WO 0002385 Jan 2000 WO
WO 0004726 Jan 2000 WO
WO 0005889 Feb 2000 WO
WO 0030354 May 2000 WO
WO 0040017 Jul 2000 WO
WO 0046988 Aug 2000 WO
WO 0049801 Aug 2000 WO
WO 0059202 Oct 2000 WO
WO 0060482 Oct 2000 WO
WO 0078031 Dec 2000 WO
WO 0078045 Dec 2000 WO
WO 0078047 Dec 2000 WO
WO 0078048 Dec 2000 WO
WO 0106788 Jan 2001 WO
WO 0120907 Mar 2001 WO
WO 0124067 Apr 2001 WO
WO 0156273 Aug 2001 WO
WO 0167736 Sep 2001 WO
WO 0172042 Sep 2001 WO
WO 0176245 Oct 2001 WO
WO 0177888 Oct 2001 WO
WO 0184831 Nov 2001 WO
WO 02097584 Dec 2002 WO
WO 03003164 Jan 2003 WO
WO 03003709 Jan 2003 WO
WO 03014873 Feb 2003 WO
WO 03024084 Mar 2003 WO
WO 03042787 May 2003 WO
WO 03069898 Aug 2003 WO
WO 2004091219 Oct 2004 WO
WO 2004100500 Nov 2004 WO
WO 2005059202 Jun 2005 WO
WO 2005071658 Aug 2005 WO
WO 2007030370 Mar 2007 WO