The present disclosure relates generally to communications and, more particularly, to Internet-based communications.
Set-top terminals (STT, or set-top boxes) provide, among other things, television programs to subscribers of cable television or satellite television, among others. Often, the STT includes configurable components that permit subscribers to set specific dates and times to record desired television programs. Typically, the dates and times for recording are configured through a user interface at either a front panel or a handheld remote control. In that regard, those systems often require a subscriber to be within close proximity to (co-located with) the STT to configure the STT.
Recently, vendors have furnished approaches in which subscribers can remotely configure their STT. However, these existing methods have various drawbacks. In view of these drawbacks, a need exists in the industry.
Many aspects of the disclosure 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 disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
Reference is now made in detail to the description of the embodiments as illustrated in the drawings. While several embodiments are described in connection with these drawings, there is no intent to limit the disclosure to the embodiment or embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications, and equivalents.
As is known in the art, some set-top terminals (STT) permit recording of media streams (e.g., television programs) that are transmitted from, for example, a cable television headend to a broadcast television subscriber's STT, e.g., an STT authorized to at least receive broadcast television signals in accordance with a service subscription. In the event that an STT is configurable, the configurable STT permits a subscriber to configure the configurable STT to record incoming media streams (e.g., television programs) at different dates and times. In other words, such configurable STTs provide mechanisms by which a subscriber can select a particular date, time, and channel for future recording. In more sophisticated models, the dates and times can be configured as a recurring event, such as, for example, recording a television program that is broadcast every Monday evening at 8:00 p.m. Typically, the configuring of known STTs is accomplished through a interactive approach, in which a subscriber locally enters the various date, time, and channel information through a handheld remote control or a front-panel interface. Once configured, the configurable STT executes the configured function according to the subscriber's instructions. Since such configurable STTs are known in the art, further discussion of those configurable STTs is omitted here.
In accordance with one embodiment, among others, of the present disclosure, an Internet server is preferably located at a headend and is thus operatively coupled to a configurable STT, thereby providing remote access to the configurable STT through the Internet server. Other embodiments include the Internet server located at other locations remote from the STT, among other locations. The Internet server is configured to provide web-pages that emulate the user interface for the configurable STT. In that regard, a subscriber can log into the Internet server and configure the configurable STT from any device that is Internet-compatible. Preferably, the server “pushes” configuration information to the STT, e.g., the information is communicated to the STT directly after configuration changes are requested by a remotely located user through the web pages. In some embodiments, such configuration information is communicated to the STT through an in-band communication mechanism, while other embodiments utilize out-of-band communication mechanisms. For example, communication mechanisms include, among others, a dedicated QAM (quadrature amplitude modulate) channel, an MPEG (Moving Picture Experts Group) data channel, and QPSK (quadrature phase shift keying) signaling. A data carousel may also be utilized to pass such configuration information to an STT. Thus, among others, communication mechanisms may be used that are similar to mechanisms used to transfer television broadcast subscription information or confirmation information.
The Internet server is also configured to translate responses by the subscriber into instructions that the configurable STT can execute or utilize. Typically, configurable STTs operate with software that permits the subscriber to configure the configurable STT. That software permits the configurable components of the STT to pass events, which are responsible for recording and playing media streams, and maintain various lists (e.g., list of programs to be recorded, list of recorded programs, etc.). Those instructions can be translated into an Internet-compatible language, such as, for example, Hypertext Markup Language (HTML) or Extensible Markup Language (XML).
The cable television environment of
For other embodiments, it should be appreciated that the STT 130 can be connected via a satellite headend, or connected over an in-home local area network (LAN) to an Internet service provider (ISP). In yet other embodiments, the STT 130 can be connected over a digital subscriber line (DSL) connection and have a TELCO modem to facilitate data transfer.
Since HFC networks 125, open networks 110, the conventional configurable STT 130, and the various components related to
The STT control logic 340 includes, for example, program record logic 310 that controls the recording of various programs by the STT 130. Similarly, the STT control logic 340 includes program play logic 315 that controls the playing of various programs that may be stored on the configurable STT 130. The STT control logic 340 also includes local interface logic 320, which renders a graphical user interface on, for example, a TV for the user to configure the STT 130.
In addition to the play and record logic 310, 315, the STT control logic 340 includes logic 330 to maintain a list of recorded programs and logic 335 to maintain a list of programs to be recorded. The logic 330 to maintain a list of recorded programs is configured to maintain a list of all programs that are recorded on the hard drive 135. For example, if there are already five movies recorded on the hard drive 135, then the logic 330 to maintain the list of recorded programs permits a user to track the five recorded movies in accordance with known methods. Likewise, the logic 335 to maintain a list of programs to be recorded permits a user to maintain and track programs (e.g., movies, TV shows, etc.) that the user wishes to record in the future. Since such logic components are known in the art, further discussion of these logic components is omitted here.
While the components of
The embodiments disclosed below provide server-mediated remote access to the STT. Such server-mediated access permits the server-side (e.g., the service provider) greater flexibility in controlling access to user STTs. Additionally, the server-mediated access permits the server-side to provide easier access to the STT by, for example, providing Uniform resource locators (URLs) as a selectable hypertext markup language (HTML)-link the STT. Also, the server can provide a list of publicly accessible URLs. For all of these embodiments, a user system need not have a priori knowledge of an STT IP address. Additionally, since the login to the STT is server-mediated, the login access can be simplified by making much of the access steps transparent to the end-user. For example, the system can be configured such that the end user can log in with a single host name, such as, for example, one provided at a fixed domain name. From there, the server can direct the user to the proper STT using, for example, a login name and a password. For other embodiments, the server can require such authentication prior to displaying lists of URLs.
Also, since the server mediates the transaction between the end user and the STT, once that transaction is completed, the server need not continually maintain individual STT information. Rather, that information can be removed from the server, once the end user has finished accessing the STT. Furthermore, since the server can also have a copy of its own program guide, the STT, which also has a copy of the program guide, need not upload that information to the server. Since high bandwidth information, such as the program guide, does not occupy the network traffic between the STT and the server, there will likely be less network congestion between the STT and the server.
These and other advantages will become apparent to those having skill in the art upon reading the following description of various embodiments of systems and methods for near-real-time server-mediated remote access of a configurable STT by a user.
The cable television environment of
Unlike the environment of
The processor 505 also includes server function logic 545, which performs various server functions that permit the client machine (not shown in
In such a scenario, when the subscriber conveys that request to the local operator 405, the local operator 405 receives (605) that request for Internet-based access to the subscriber's STT. Upon receiving (605) that request, the local operator 405 establishes (610) an IP address for the subscriber's STT, and also provides (615) a URL to that IP address. That URL is stored (620) on the server for access by the subscriber. In that regard, when a subscriber subsequently accesses the server through a client machine, the server provides the subscriber with the URL, which then provides Internet-based access to the subscriber's STT. Hence, the subscriber is provided with server-mediated access to the subscriber's STT.
For some embodiments, the URL is displayed on a local STT for a subscriber, so that the subscriber can write down or otherwise save the URL for future use. For other embodiments, rather than providing a URL, other types of hyper-text transfer protocol (HTTP)-formatted Internet addresses can be provided. For example, such an address can be dynamically provided in an Active Server Page (ASP) or other similar dynamic URL schemes, which are known in the art. In other embodiments, no URL or address is provided to a user as part of a web page, and in some embodiments, any URL shown in an address area of a browser is dynamically generated and can change from viewing to viewing. Furthermore, a URL may reference dynamically generated information or a static web page with links to dynamic information. In addition, some embodiments do not require the user to remember or save a URL that is specific to that user. Instead, the user may simply input identifying (authentication) information, such as a username and/or password, after which the user is automatically provided a web page interface to that user's STT.
As shown in
The server function logic 545 at the web server 415 receives (720) the request and subsequently retrieves (725) contents for authentication from the web page contents 540. Those contents are then conveyed (730) to the requesting PC 140 in accordance with known Internet protocols. The PC 140 receives (735) the contents and then renders (740) an authentication page using those contents. That authentication page is then displayed (745) to the subscriber (or user) at the PC 140. The process continues to
For some embodiments, the authentication page may request a login name and password, or other verification information. Once the PC 140 receives (845) this information from the subscriber, the PC 140 conveys (850) the authentication information back to the web server 415. For other embodiments, the login name and password may be saved on the PC 140, thereby permitting an automated login response by the PC 140 without additional user intervention. For yet other embodiments, the login name and password may be saved in a file for easy access by the user. The server function logic 545 at the web server 415 receives (855) the authentication information and performs (860) an authentication process using one or more known authentication processes. If the authentication process is unsuccessful, then the process continues (865) to
As shown in
As shown in
Upon receiving the HDD contents from the STT 130, the server function logic 545, as shown in
From the displayed STT UI, the subscriber (or user) can make modifications to existing programs (e.g., delete already recorded programs) or make modifications to future programs (e.g., set times and dates for new recordings). Once the user enters those changes, the PC 140 receives (1130) those changes at the web-based STT UI, and the process continues to
In the embodiment of
Since the conversion of the web-based command to the STT control command is performed at the web server 415, the existing hardware on the STT 130 need not be modified, thereby providing a relatively transparent process for the subscriber. Upon executing the control command, the process continues to
As shown in
The web server 415 receives (1340) the confirmation, and the conversion logic 525 at the web server 415 converts (1345) the confirmation into an update message for transmission over the Internet. That update message is then conveyed (1350) from the web server 415 to the PC 140. The PC 140 receives (1355) the update message and renders (1360) a new web-based STT UI based on the update message. This new web-based STT UI is then displayed (1365) to the subscriber or user, and the process ends (9999). Thus, for example, if the configuration on the STT 130 has been modified, then the new STT UI, which is displayed to the subscriber, reflects the modified configuration at the STT 130.
As shown in the embodiments of
The processes in the processor, such as, for example, the server function logic 545, the conversion logic 525, the program record logic 510, the program play logic 515, the local interface logic 520, the logic to maintain the list of recorded programs 530, and the logic to maintain the list of programs to be recorded 535, may be implemented in hardware, software, firmware, or a combination thereof. In the preferred embodiment(s), these processes are implemented in software or firmware that is stored in a memory and that is executed by a suitable instruction execution system. If implemented in hardware, as in an alternative embodiment, the processes can be implemented with any or a combination of the following technologies, which are all well known in the art: a discrete logic circuit(s) having logic gates for implementing logic functions upon data signals, an application specific integrated circuit (ASIC) having appropriate combinational logic gates, a configurable gate array(s) (PGA), a field configurable gate array (FPGA), etc.
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 disclosure 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 disclosure.
Although exemplary embodiments have been shown and described, it will be clear to those of ordinary skill in the art that a number of changes, modifications, or alterations to the disclosure as described may be made. For example, the exchange of HDD contents between the web server 415 and the STT 130, as shown in
Also, for other embodiments, it should be appreciated that the server can be updated with information when a subscriber updates a list of recorded programs (or a list of programs to be recorded, etc.) directly from the subscriber's STT. For such embodiments, the server would store the lists of programs for each subscriber at the server. In that regard, for such embodiments, each subscriber's lists of programs would be stored at the server and updated periodically, or updated when a subscriber directly programs the STT using a handheld remote control or a STT front panel. Timing of updating could also be managed for any bandwidth control concerns, as well as providing a slight delay to help ensure that all changes for a while from a user have been received at the STT. Furthermore, storage of such information at a server could be limited to particular users, such as, for example, those users who have indicated an interest in such a service, such as by attempting to access their associated STT remotely. In such embodiments, the process beginning at step 1015 in
For yet other embodiments, the list of recorded programs and the list of programs to be recorded can be uploaded from the STT to the server periodically for all users. Thus, for those embodiments, when a user logs in, the server can readily provide the user's lists without the additional need to access the STT.
All such changes, modifications, and alterations should therefore be seen as within the scope of the disclosure.