CROSS-REFERENCE TO RELATED APPLICATIONSThis application is a continuation of and claims the benefit under 35 U.S.C.Section 120 of the following co-pending and commonly-assigned U.S. utility patent applications, which are incorporated by reference herein:
Utility application Ser. No. 12/404,244, filed Mar. 13, 2009, by Ronald P. Cocchi, Donald J. Breier, Dennis R. Flaharty, and Raynold M. Kahn, entitled “INTERNET SERVICE PROVIDER CALLBACK FOR SATELLITE SYSTEMS”, which is a continuation of Utility application Ser. No. 09/783,241, filed Feb. 14, 2001, by Ronald P. Cocchi, Donald J. Breier, Dennis R. Flaharty, and Raynold M. Kahn, entitled “INTERNET SERVICE PROVIDER CALLBACK FOR SATELLITE SYSTEMS”.
BACKGROUND OF THE INVENTION1. Field of the Invention
The present invention relates to systems and methods for delivering information, and in particular to a system and method for delivering e-commerce and pay-TV programming purchase information from a set top box to a pay-TV service provider across the Internet.
2. Description of the Related Art
Television programs are distributed to viewers by a variety of broadcasting methods. These methods include traditional analog broadcast television (National Television Systems Committee or “NTSC” standard), the digital broadcast television (Advanced Television Systems Committee or “ATSC” standard), cable television (both analog and digital), satellite broadcasting (both analog and digital), as well as other methods. These methods allow channels of television content to be multiplexed and transmitted over a common transmission medium.
To view a television program, a customer may have to subscribe to a service package offered by a pay-TV service/transmission provider (also referred to as a direct broadcast satellite (DBS) operator) such as a satellite transmitter (e.g., DIRECTV) or a cable company. Such a pay-TV service provider may require a user to utilize a set-top box (STB), receiver, or integrated receiver decoder (IRD) that enables the descrambling or decryption of the transmission. The set-top box may be configured to allow the viewing of one or more particular channels, programs, etc. based on a customer's payment or subscription. Accordingly, when a customer subscribes to a service package, the pay-TV service provider enables the set-top box to allow the customer to view the transmissions in the selected package.
Additionally, customers may desire to view a particular channel or program. To accommodate such customers, transmission providers may provide impulse pay-per-view (IPPV) programs or channels wherein a customer may pay for a particular channel or program. A customer may select a particular pay-per-view program or channel using a remote control that communicates with the set-top box. Once the pay-per-view program has been selected, information regarding the selected pay-per view program is stored by the set top box (e.g., in memory or a smart card) until the set top box transmits (in a callback transaction) the purchase information to the pay-TV service provider. Once the callback is initiated, the purchase information is transmitted through a modem attached to the set top box by dialing a costly toll free phone number direct to the pay-TV service provider's facility. Thus, the use of a toll free phone number is costly to a pay-TV service provider and requires extensive on-site infrastructure.
Additionally, subscriber renewal notices are used by a set top box. In the prior art, such renewal notices are broadcast by satellite and received in the set top box on a monthly basis. Accordingly, valuable satellite bandwidth is occupied every month for the subscriber renewal notices.
What is needed is a method for efficiently and automatically delivering purchase information relating to a pay per view program or e-commerce transaction without having to call a costly toll free phone number.
SUMMARY OF THE INVENTIONTo address the requirements described above, the present invention discloses a method, apparatus, article of manufacture, and a memory structure for delivering electronic commerce (e-commerce) and impulse pay per view (IPPV) information from a satellite set top box (STB) to a pay-TV service provider such as a DBS operator facility using an Internet Service Provider (ISP), Internet, and Internet server or a data paging network. Purchase information is delivered from the STB that resides on the subscriber's premises to the satellite operator by means of a callback operation using a communication module (e.g., an onboard modem).
In one or more embodiments of the invention, the STB initiates the callback utilizing the telecommunications infrastructure of an ISP or data paging network to deliver the purchase information to a server at the pay-TV service provider's facility and also enables the receipt of pay-TV service provider facility data such as subscriber renewal notices. The server forwards the purchase information to a billing system where it may be processed and incorporated into a subscriber's bill.
BRIEF DESCRIPTION OF THE DRAWINGSReferring now to the drawings in which like reference numbers represent corresponding parts throughout:
FIG. 1 is a diagram showing an overview of a video distribution system in accordance with one or more embodiments of the invention;
FIG. 2 is a block diagram showing a typical uplink configuration showing how video program material is uplinked to a satellite for transmission to subscribers using a single transponder in accordance with one or more embodiments of the invention;
FIG. 3A is a diagram of a representative data stream received from a satellite in accordance with one or more embodiments of the invention;
FIG. 3B is a diagram illustrating the structure of a data packet in accordance with one or more embodiments of the invention;
FIG. 4 is a block diagram of one embodiment of a receiver; and
FIG. 5 is a flow chart illustrating an Internet Service Provider callback performed in accordance with one or more embodiments of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTSIn the following description, reference is made to the accompanying drawings which form a part hereof, and which is shown, by way of illustration, several embodiments of the present invention. It is understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the present invention.
Video Distribution System
FIG. 1 is a diagram illustrating an overview of a single satellitevideo distribution system100. Thevideo distribution system100 comprises acontrol center102 in communication with anuplink center104 via a ground orother link114 and with asubscriber receiver station110 via the Internet120, a public switched telephone network (PSTN), or other link. Thecontrol center102 provides program material (e.g. video programs, audio programs and data) to theuplink center104 and coordinates with thesubscriber receiver stations110 to offer, for example, pay-per-view (PPV) program services, including billing and associated decryption of video programs.
Theuplink center104 receives program material and program control information from thecontrol center102, and using anuplink antenna106 andtransmitter105, transmits the program material and program control information to thesatellite108. The satellite receives and processes this information, and transmits the video programs and control information to thesubscriber receiver station110 viadownlink118 usingtransmitter107. Thesubscriber receiving station110 receives this information using the outdoor unit (ODU)112, which includes a subscriber antenna and a low noise block converter (LNB).
In one embodiment, the subscriber receiving station antenna is an 18-inch slightly oval-shaped Ku-band antenna. The slight oval shape is due to the 22.5 degree offset feed of the LNB that is used to receive signals reflected from the subscriber antenna. The offset feed positions the LNB out of the way so it does not block any surface area of the antenna minimizing attenuation of the incoming microwave signal.
Thevideo distribution system100 can comprise a plurality ofsatellites108 in order to provide wider terrestrial coverage, to provide additional channels, or to provide additional bandwidth per channel. In one embodiment of the invention, each satellite comprises 16 transponders to receive and transmit program material and other control data from theuplink center104 and provide it to thesubscriber receiving stations110. Using data compression and multiplexing techniques the channel capabilities, twosatellites108 working together can receive and broadcast over150 conventional (non-HDTV) audio and video channels via 32 transponders.
While the invention disclosed herein will be described with reference to a satellite basedvideo distribution system100, the present invention may also be practiced with terrestrial-based transmission of program information, whether by broadcasting, cable, or other methods. Further, the different functions collectively allocated among thecontrol center102 and theuplink center104 as described above can be reallocated as desired without departing from the intended scope of the present invention.
Although the foregoing has been described with respect to an embodiment in which the information delivered to the subscriber/customer122 is video (and audio) material such as a movie, the foregoing method can be used to deliver program material comprising purely audio information or other data as well.
Uplink Configuration
FIG. 2 is a block diagram showing a typical uplink configuration for asingle satellite108 transponder, showing how video program material is uplinked to thesatellite108 by thecontrol center102 and theuplink center104.FIG. 2 shows three video channels (which could be augmented respectively with one or more audio channels for high fidelity music, soundtrack information, or a secondary audio program for transmitting foreign languages), and a data channel from aprogram guide subsystem206 and computer data information from acomputer data source208.
The video channels are provided by a program source ofvideo material200A-200C (collectively referred to hereinafter as video source(s)200). The data from each video program source200 is provided to anencoder202A-202C (collectively referred to hereinafter as encoder(s)202). Each of the encoders accepts a program time stamp (PTS) from thecontroller216. The PTS is a wrap-around binary time stamp that is used to assure that the video information is properly synchronized with the audio information after encoding and decoding. A PTS time stamp is sent with each I-frame of the MPEG encoded data.
In one embodiment of the present invention, each encoder202 is a second generation Motion Picture Experts Group (MPEG-2) encoder, but other decoders implementing other coding techniques can be used as well. The data channel can be subjected to a similar compression scheme by an encoder (not shown), but such compression is usually either unnecessary, or performed by computer programs in the computer data source (for example, photographic data is typically compressed into *.TIF files or *.JPG files before transmission). After encoding by the encoders202, the signals are converted into data packets by apacketizer204A-204F (collectively referred to hereinafter as packetizer(s)204) associated with each source200.
The data packets are assembled using a reference from the system clock214 (SCR), and from theconditional access manager210, which provides the service channel identification (SCID) to the packetizers204 for use in generating the data packets. These data packets (also referred to as signals) are then multiplexed into serial data and transmitted/broadcast.
Broadcast Data Stream Format and Protocol
FIG. 3A is a diagram of a representative data stream. Thefirst packet segment302 comprises information from video channel1 (data coming from, for example, the firstvideo program source200A). Thenext packet segment304 comprises computer data information that was obtained, for example from thecomputer data source208. Thenext packet segment306 comprises information from video channel5 (from one of the video program sources200). Thenext packet segment308 comprises program guide information such as the information provided by theprogram guide subsystem206. As shown inFIG. 3A,null packets310 created by thenull packet module212 may be inserted into the data stream as desired.
The data stream therefore comprises a series of packets from any one of the data sources in an order determined by thecontroller216. The data stream is encrypted by theencryption module218, modulated by the modulator220 (typically using a QPSK modulation scheme), and provided to thetransmitter222, which broadcasts the modulated data stream on a frequency bandwidth to thesatellite108 via theantenna106. The receiver receives these signals, and using the SCID, reassembles the packets to regenerate the program material for each of the channels.
FIG. 3B is a diagram of a data packet. Each data packet (e.g.302-316) is 147 bytes long, and comprises a number of packet segments. Thefirst packet segment320 comprises two bytes of information containing the SCID and flags. The SCID is a unique 12-bit number that uniquely identifies the data packet's data channel. The flags include 4 bits that are used to control whether the packet is encrypted, and what key must be used to decrypt the packet. Thesecond packet segment322 is made up of a 4-bit packet type indicator and a 4-bit continuity counter. The packet type identifies the packet as one of the four data types (video, audio, data, or null). When combined with the SCID, the packet type determines how the data packet will be used. The continuity counter increments once for each packet type and SCID. Thenext packet segment324 comprises 127 bytes of payload data, which is a portion of the video program provided by a video program source. Thefinal packet segment326 is data required to perform forward error correction.
Receiver/Set Top Box
FIG. 4 is a block diagram of a set top box (STB)400 (also alternatively referred to as a receiver400). As described herein,STB400 may be an integrated receiver/decoder (IRD). Alternatively, theSTB400 may not be integrated and may comprise a separate or non-integrated receiver and decoder.
TheSTB400 comprises an input module such as tuner/demodulator404 (or other mechanism or module capable of receiving input) communicatively coupled to anODU112 having one or more LNBs402. The LNB402 converts the broadcast signals (e.g., the 12.2- to 12.7GHz downlink118 signal) from thesatellites108 to a signal (e.g., a 950-1450 MHz signal) utilized by the STB's400 tuner/demodulator404. The LNB402 may provide either a dual or a single output. The single-output LNB402 may have one or more RF connectors, while the dual output LNB402 may have two RF output connectors and can be used to feed asecond tuner404, asecond STB400 or some other form of distribution system.
The tuner/demodulator404 isolates a single, digitally modulated 24 MHz transponder, and converts the modulated data to a digital data stream. The digital data stream is then supplied to a forward error correction (FEC)decoder406. This allows theSTB400 to reassemble the data transmitted by the uplink center104 (which applied the forward error correction to the desired signal before transmission to the subscriber receiving station110) verifying that the correct data signal was received and correcting errors, if any. The error-corrected data may be fed from theFEC decoder module406 to thetransport module408 via an 8-bit parallel interface.
Thetransport module408 performs many of the data processing functions performed by theSTB400. Thetransport module408 processes data received from theFEC decoder module406 and provides the processed data to thevideo MPEG decoder414 and theaudio MPEG decoder416. In one embodiment of the present invention, the transport module, video MPEG decoder and audio MPEG decoder are all implemented on integrated circuits. Thetransport module408 also provides a passage for communications between themicrocontroller410 and the video andaudio MPEG decoders414,416. The transport module also works with the conditional access module (CAM)412 to determine whether thesubscriber receiving station110 is permitted to access certain program material. Data from the transport module can also be supplied toexternal communication module426.
TheCAM412 functions in association with other elements to decode an encrypted signal from thetransport module408. TheCAM412 may also be used for tracking and billing these services. In one embodiment of the present invention, theCAM412 is a smart card, having contacts cooperatively interacting with contacts in theSTB400 to pass information. Accordingly, purchased programming outside of a subscriber's122 subscription services and/or e-commerce purchase information may be recorded in one or more slots on the smart card/CAM412. In order to implement the processing performed in theCAM412, theSTB400, and specifically thetransport module408 provides a clock signal to theCAM412.
Video data is processed by theMPEG video decoder414. Using the video random access memory (RAM)436, theMPEG video decoder414 decodes the compressed video data and sends it to an encoder orvideo processor415, which converts the digital video information received from thevideo MPEG module414 into an output signal usable by a display or other output device. By way of example,processor415 may comprise an NTSC or an Advanced Television Systems ATSC encoder. In one embodiment of the invention both S-Video and ordinary video (NTSC or ATSC) signals are provided. Other outputs may also be utilized.
Audio data is likewise decoded by theMPEG audio decoder416. The decoded audio data may then be sent to a digital to analog (D/A)converter418. In one embodiment of the present invention, the D/A converter418 is a dual D/A converter, one for the right and left channels. If desired, additional channels can be added for use in surround sound processing or secondary audio programs (SAPs). In one embodiment of the invention, the dual D/A converter418 itself separates the left and right channel information, as well as any additional channel information. Other audio formats such as DOLBY DIGITAL AC-3 may similarly be supported.
A description of the processes performed in the encoding and decoding of video streams, particularly with respect to MPEG and JPEG encoding/decoding, can be found in Chapter 8 of “Digital Television Fundamentals,” by Michael Robin and Michel Poulin, McGraw-Hill, 1998, which is hereby incorporated by reference herein.
Themicrocontroller410 receives and processes command signals from theremote control424, aSTB400 keyboard interface, and/or another input device. The microcontroller receives commands for performing its operations from a processor programming memory, which permanently stores such instructions for performing such commands. The processor programming memory may comprise a read only memory (ROM)438, an electrically erasable programmable read only memory (EEPROM)422 or, similar memory device. Themicrocontroller410 also controls the other digital devices of theSTB400 via address and data lines (denoted “A” and “D” respectively, inFIG. 4).
A communication module (such asmodem440, a cable modem, a digital subscriber line (DSL), a data paging circuit, or other mechanism or module capable of communicating or implementing a wired or wireless paging connectivity) may be utilized to connect to theInternet120 or a data paging network. Thecommunication module440 calls or establishes communication to theInternet120 or a data paging network, through an Internet Service Provider (ISP) or data paging network provider and transmits the customer's purchase information for billing purposes, and/or other information. Thecommunication module440 is controlled by themicroprocessor410. Thecommunication module440 can output data to other I/O port types including standard parallel and serial computer I/O ports.
The present invention also comprises a local storage unit such as thevideo storage device432 for storing video and/or audio data obtained from thetransport module408.Video storage device432 can be a hard disk drive, a read/writable compact disc of DVD, a solid state RAM, or any other storage medium. In one embodiment of the present invention, thevideo storage device432 is a hard disk drive with specialized parallel read/write capability so that data may be read from thevideo storage device432 and written to thedevice432 at the same time. To accomplish this feat, additional buffer memory accessible by thevideo storage432 or its controller may be used. Optionally, avideo storage processor430 can be used to manage the storage and retrieval of the video data from thevideo storage device432. Thevideo storage processor430 may also comprise memory for buffering data passing into and out of thevideo storage device432. Alternatively or in combination with the foregoing, a plurality ofvideo storage devices432 can be used. Also alternatively or in combination with the foregoing, themicrocontroller410 can also perform the operations required to store and or retrieve video and other data in thevideo storage device432.
Thevideo processing module415 output can be directly supplied as a video output to a presentation device such as a video, computer monitor, liquid crystal display (LCD), television, or other device capable of viewing the video output. In addition the video and/or audio outputs can be supplied to anRF modulator434 to produce an RF output and/or vestigial side band (VSB) suitable as an input signal to a conventional television tuner. This allows theSTB400 to operate with televisions without a video input.
Each of thesatellites108 comprises a transponder, which accepts program information from theuplink center104, and relays this information to thesubscriber receiving station110. Known multiplexing techniques are used so that multiple channels can be provided to the user. These multiplexing techniques include, by way of example, various statistical or other time domain multiplexing techniques and polarization multiplexing. In one embodiment of the invention, a single transponder operating at a single frequency band carries a plurality of channels identified by respective SCID.
In accordance with one or more embodiments of the invention,STB400 leverages the extensive telecommunications infrastructure of established ISPs, theInternet120, or a data paging network to deliversubscriber122 e-commerce and IPPV data to a pay-TV service provider such as a DBS operator. Connectivity to the ISP or data paging network may be achieved through a local phone number provided by the ISP or data paging network provider to the pay-TV service provider. In such an embodiment, the pay-TV service provider may deliver the local phone number by broadcasting the number fromsatellite108 vialink118 pursuant to a command generated by the conditional access (CA) system/module412.
The phone number may eventually be received in theSTB400 based on a subscriber's122 zip code. As described above, theCAM412 may comprise a smart card with slots for storing information. The smart card orCAM412 uniquely identifies theSTB400 by an identification number that is stored in acard412 slot. Thesmart card412 identification number, along with the IPPV and e-commerce purchase information, is reported to a pay-TV service provider and differentiates purchases made fromspecific STBs400. Ifseveral STBs400 reside within a subscriber's122 residence, eachSTB400 must make a callback to deliver the purchase information for theparticular STB400. The purchases from each of the subscriber's122STBs400 are identifiable by the uniqueness of thesmart card412 identification number reported with the callback.
Purchases are delivered to the billing system from theInternet120 or data paging network server and thereafter may appear on a subscriber's122 bill/statement. The purchase information is delivered to theInternet120 or data paging network server across theInternet120 or data paging network through acommunication module440 callback executed bySTB400. A processor on thesmart card412 utilizes thecommunication module440 to perform the callback using the local phone number. Callback may occur in a variety of manners including: (1) Opportunistic Callback; and/or (2)STB400 Initiated Callback.
FIG. 5 is a flowchart illustrating callback in accordance with one or more embodiments of the invention. Atstep502, a determination is made regarding whether an existing Internet or data paging network connection is present or if a mandatory callback time has been exceeded. In an embodiment implementing an opportunistic callback,STB400 utilizes anexisting Internet120 or data paging network connection of asubscriber122. In such an embodiment, thesubscriber122 may access theInternet120 or data paging network through theSTB400 by initiating anInternet120 or data paging network connection atstep504. Alternatively, in anSTB400 initiated callback, theSTB400 initiates and utilizes anew Internet120 or data paging network connection. Such a new connection may be established when asubscriber122 does not initiate anInternet120 or data paging network connection within a specified time period (referred to as a mandatory callback time period). Alternatively, with anSTB400 initiated callback, a mandatory callback time period may not be utilized. Instead, for example, anSTB400 may not initiate a callback until a credit limit or slot usage threshold has been exceeded, and/or until information is actually stored insmart cart412.
TheInternet120 or data paging network connection may be established using thecommunication module440 to call a local phone number for an ISP or data paging network provider. As described above, the local phone number may be obtained from the STB400 (as transmitted from the ISP or data paging network provider to the pay-TV service provider, broadcast, and received in STB400) based on the zip code of thesubscriber122. Alternatively, any method or type ofcommunication module440 may be utilized to connect theSTB400 to theInternet120 or data paging network.
Under either an opportunistic callback orSTB400 initiated callback, a transmission control protocol/internet protocol (TCP/IP)Internet120 or data paging network connection is established atstep504. With an opportunistic callback, the TCP/IP Internet120 or data paging network connection is initiated by thesubscriber120 to access theInternet120 the data paging network. With aSTB400 initiated callback, the TCP/IP Internet120 or data paging network connection is initiated by theSTB400 to deliver the purchase information.
Atstep506, a determination is made as to whether or not purchase information is present insmart card412. If purchase information is present, a new TCP/IP Internet120 or data paging network connection (e.g., through the ISP) may be established atstep508 if anexisting Internet120 or data paging network connection is being utilized. This new connection is made in addition to any other connections thesubscriber122 presently has forother Internet120 or data paging network uses. This additional TCP/IP Internet120 or data paging network connection likely has no affect on traffic being sent/received by thesubscriber122 other than occupying a small fraction of the bandwidth to send the purchase information and receive renewal notices (e.g., purchase information may only contain tens of bytes per purchased transaction). Accordingly, a subscriber's122normal Internet120 or data paging network connection is utilized and instead of theSTB400 initiating theInternet120 or data paging network connection, theInternet120 or data paging network connection is initiated by the subscriber's122 own action. Further, with an opportunistic callback, the transfer of purchase information (callback) may be triggered through parameters configured within theSTB400 that specify a new TCP/IP Internet120 or data paging network connection is to be made when thesmart card412 has purchase information and apreexisting Internet120 or data paging network connection is present.
With aSTB400 initiated callback,step508 may not be performed since it may have already been performed atstep504 for the explicit use bySTB400 for a callback using the ISP or data paging network provider connection.
Atstep510, asecure Internet120 or data paging network connection (e.g., provided by the secure socket layer (SSL) protocol) is established between theSTB400 and anInternet120 or data paging network server (e.g., ofcontrol center120 or the pay-TV service provider) to ensure the integrity of the purchase information during transfer. Accordingly, after anInternet120 or data paging network connection is established, theSTB400 may set up a secure socket to the pay-TV service provider'sInternet120 or data paging network server using the SSL protocol. The data may be encrypted to protect its contents and may be digitally signed to protect its integrity prior to transfer. SSL and a digital signature (that may utilize a proprietary algorithm that is computationally infeasible to break) may be utilized to provide sufficient strength for preventing false reporting or premature call termination. Alternatively, other methods that prevent false reporting or premature call termination may be utilized.
Events not currently stored in smart card412 (e.g., unreported events) are reported through the system at the next callback opportunity, which may be either opportunistic orSTB400 initiated, for example.
Upon successful reporting of the e-commerce and IPPV events to the pay-TV service provider, the STB400 (or the conditional access system of the STB400) may mark the reported slots in the conditional access module (CAM)412 (e.g., a smart card) as free using the interactive ISP or data paging network provider connection. This allows asubscriber122 to immediately purchase additional goods from theSTB400, rather than initiating a costly toll free number callback. Operator facility data such as subscriber renewal notices, that are typically broadcast118 monthly, may also be transmitted over the ISP or data paging network provider connection. Sending renewal notices over an ISP or data paging network provider connection savessatellite108 bandwidth that may be made available for other broadcast information.
Additionally, upon successfully reporting all events, the conditional access system/module412 may advance/change the mandatory callback date in theSTB400. Data from the pay-TV service provider can also be sent over the ISP or data paging network connection thereby savingsatellite108 bandwidth.
CONCLUSIONThis concludes the description of the preferred embodiments of the present invention. In summary, the present invention describes a method, apparatus, and article of manufacture for delivering purchase information. A callback method, utilizes the telecommunications infrastructure of an ISP or data paging network provider and theInternet120 or data paging network to deliver purchase information stored in anSTB400 to anInternet120 or data paging network server. TheInternet120 or data paging network server may then forward the purchase information to the billing system where it may be processed and incorporated into a subscriber's122 bill.
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.