Broadcast carousel system access for remote home communication terminal
Summary by NHIP
Carousel object protocol conversion
The method receives broadcast carousel objects via a gateway, converts them from a first protocol to a second protocol, and transmits them to a remote terminal. The gateway caches objects before receiving a request and supports networks including cable or satellite television systems.
Claim Score by NHIP
Abstract
Systems and methods are disclosed for providing objects to a remote digital home communication terminal (remote DHCT) via a gateway device located at a customer premises. One such method, among others, includes receiving a message from a remote DHCT requesting a carousel object, receiving the carousel object from a server device, and transmitting the carousel object to the remote DHCT.

Term
Term ended
Expired 7 March 2023, 3.6 years ago.
- Priority and filed
- Granted
- Expired
- Today
48 claims: 8 independent, 40 dependent
- 1A method for providing carousel objects to a remote digital home communication terminal (remote DHCT) via a gateway device, the method comprising:receiving at the gateway device a message from the remote DHCT requesting a carousel object;receiving at the gateway device the carousel object, wherein the carousel object is repeatedly broadcast using a first protocol to the gateway device by a server device over a communications network;converting by the gateway device the carousel object in the first protocol into a second protocol;and responsive to the gateway receiving the message requesting the carousel object from the remote DHCT, transmitting by the gateway device the carousel object to the remote DHCT using the second protocol, the remote DHCT being capable of processing the carousel object using the second protocol, wherein the gateway device and the remote DHCT are located at a customer premises.
- 13A method for providing carousel objects to a remote digital home communication terminal (remote DHCT) via a gateway device, the method comprising:receiving at the gateway device a carousel object, wherein the carousel object is repeatedly broadcast using a first protocol to the gateway device by a server device over a communications network;converting by the gateway device the carousel object in the first protocol into a second protocol;caching the carousel object;receiving at the gateway device a message from the remote DHCT requesting the carousel object;and transmitting by the gateway device the carousel object to the remote DHCT using the second protocol responsive to the gateway device receiving the message requesting the carousel object, the remote DHCT being capable of processing the carousel object using the second protocol, wherein the gateway device and the remote DHCT are located at a customer premises.
- 14A method for receiving carousel objects by a remote digital home communication terminal (remote DHCT) from a gateway device, the method comprising:transmitting by the remote DHCT a message to the gateway device requesting a carousel object;converting by the gateway device the carousel object from a first protocol into a second protocol;and receiving by the remote DHCT the carousel object using the second protocol from the gateway device based on the transmitted message, the remote DHCT being capable of processing the carousel object using the second protocol, wherein the gateway device and the remote DHCT are located at a customer premises.
- 22Broadest claimClaim Score 71, broad(NHIP)A gateway device comprising:logic configured to receive a message from a remote digital home communication terminal (remote DHCT);logic configured to convert the carousel object from a first protocol into a second protocol;logic configured to determine whether a carousel object is to be transmitted to the remote DHCT based on the received message;and logic configured to initiate a transmission of the carousel object using the second protocol from the gateway device to the remote DHCT in response to the logic determining that the carousel object is to be transmitted to the remote DHCT, the remote DHCT being capable of processing the carousel object using the second protocol, wherein the gateway device and the remote DHCT are located at a customer premises.
- 29A remote digital home communication terminal (remote DHCT), comprising:a first software application that is configured to provide a television service using data contained in a carousel object;a second software application that is configured to request the carousel object from a gateway device and to receive, in response to the request, the carousel object from the gateway device, the gateway device converting the carousel object from a first protocol into a second protocol;and a third software application that is configured to process the carousel object using the second protocol.
- 36A gateway device comprising:a broadcast carousel system (BCS) software application that obtains a carousel object that is repeatedly broadcast to the gateway device using a first protocol and converts the carousel object in the first protocol into a second protocol;and a proxy software application that receives a request for a carousel object from a Remote Digital Home Communication terminal (remote DHCT), that requests the BCS software application to obtain the carousel object based on the received request, and that initiates a transmission of the carousel object from the gateway device to the remote DHCT using the second protocol in response to receiving the request for the BCS software application to obtain the carousel object, wherein the gateway device and the remote DHCT are located at a customer premises.
- 42A gateway device located at a customer premises, comprising:memory for storing a carousel object;and a processor that is programmed to: process a message received from a remote digital home communication terminal (remote DHCT) requesting for the carousel object;convert the carousel object in a first protocol into a second protocol;determine whether the carousel object is to be transmitted to the remote DHCT based on the message received from the remote DHCT;and initiate a transmission of the carousel object using the second protocol from the gateway device to the remote DHCT in response to determining that the carousel object is to be transmitted to the remote DHCT, the remote DHCT being capable of processing the carousel object using the second protocol, wherein the gateway device and the remote DHCT are located at a customer premises.
- 48A method for providing carousel objects to a remote digital home communication terminal (remote DHCT) via a gateway device, the method comprising:receiving at the gateway device a message from the remote DHCT requesting a carousel object;receiving at the gateway device a directory of carousel objects that are available, the object being listed in the directory;receiving at the gateway device the carousel object, wherein the carousel object is repeatedly broadcast using a first protocol to the gateway device by a data server over a communications network;caching the carousel object;converting by the gateway device the carousel object in the first protocol into a second protocol;and responsive to the gateway receiving the message requesting the carousel object from the remote DHCT, transmitting by the gateway device the carousel object from the gateway to the remote DHCT, the remote DHCT being capable of processing the carousel object using the second protocol;wherein the gateway device and the remote DHCT are located at a customer premises;wherein the first protocol is a Digital Storage Media Command and Control (DSM-CC) User-to-User Object Carousel protocol;wherein the carousel object is broadcast to the gateway device over a plurality of communication channels;wherein the communications network is a satellite television network;wherein the directory comprises file listings organized in a hierarchical manner;wherein the carousel object comprises electronic program guide (EPG) data.
Independent claims8
50 paragraphs in 4 sections, as filed
FIELD OF THE INVENTION
0001This invention relates in general to subscriber television systems and, more particularly, to the field of broadcast carousel systems.
DESCRIPTION OF THE RELATED ART
0002Cable television systems are now capable of providing many services in addition to analog broadcast video. In implementing enhanced programming, the home communication terminal (“HCT”), otherwise known as the set-top box, has become an important computing device for accessing various video services. In addition to supporting traditional analog broadcast video functionality, digital HCTs (or “DHCTs”) now also support an increasing number of two-way digital services such as video-on-demand.
0003A DHCT is typically connected to a communications network (e.g., a cable or satellite television network) and includes hardware and software necessary to provide various services and functionality. Preferably, some of the software executed by a DHCT is downloaded and/or updated via the communications network. Each DHCT also typically includes a processor, communication components and memory, and is connected to a television or other display device. 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 other device, as will be appreciated by those of ordinary skill in the art.
0004Some customer premises may feature a primary DHCT that is connected to a communications network and a secondary DHCT that is not directly connected to such network. In such customer premises, the primary DHCT may receive a video stream from the communications network and may forward it to the secondary DHCT via a wired or wireless connection. The secondary DHCT may be, for example, a portable device that includes a display screen for displaying television presentations. The secondary DHCT may only be able to provide a user with limited television services as compared to a primary DHCT. For example, the secondary DHCT may be unable to provide a user with an interactive program guide (IPG). Such limitation in the scope of television services may be due, for example, to the secondary DHCT's more limited memory and computing resources and/or to the limited bandwidth of the connection between the two terminals. One possible solution for increasing the scope of services provided by a secondary DHCT may be to increase its memory and computing resources. Another possible solution may be to increase the bandwidth of the connection between the primary and secondary DHCTs. However, such solutions are not cost effective. Therefore, there exists a need for cost effective systems and methods that address the above problems and/or other problems associated with secondary DHCTs.
BRIEF DESCRIPTION OF THE DRAWINGS
0005The invention can be better understood with reference to the following drawings. The components in the drawings are not necessarily drawn 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.
0006<figref idref="DRAWINGS">FIG. 1</figref> is a block diagram depicting a television services system in accordance with one embodiment of the invention.
0007<figref idref="DRAWINGS">FIG. 2A</figref> is a flow chart depicting a non-limiting example of a broadcast carousel system (BCS) access method that is implemented by a gateway device shown in <figref idref="DRAWINGS">FIG. 1</figref>, in accordance with one embodiment of the invention.
0008<figref idref="DRAWINGS">FIG. 2B</figref> is a flow chart depicting a non-limiting example of a BCS access method that is implemented by a gateway device shown in <figref idref="DRAWINGS">FIG. 1</figref>, in accordance with another embodiment of the invention.
0009<figref idref="DRAWINGS">FIG. 3</figref> is a flow chart depicting a non-limiting example of a BCS access method that is implemented by a remote DHCT shown in <figref idref="DRAWINGS">FIG. 1</figref>, in accordance with one embodiment of the invention.
0010<figref idref="DRAWINGS">FIG. 4</figref> is a flow chart illustrating a data carousel method in accordance with one possible embodiment of the invention, among others.
0011<figref idref="DRAWINGS">FIG. 5</figref> is a block diagram depicting selected components of the gateway device shown in <figref idref="DRAWINGS">FIG. 1</figref> in accordance with one embodiment of the invention.
0012<figref idref="DRAWINGS">FIG. 6</figref> is a block diagram depicting selected components of the remote DHCT shown in <figref idref="DRAWINGS">FIG. 1</figref> in accordance with one embodiment of the invention.
0013<figref idref="DRAWINGS">FIG. 7</figref> is a block diagram depicting interactions between selected modules of the gateway device and the remote DHCT shown in <figref idref="DRAWINGS">FIGS. 5 and 6</figref>, respectively, in accordance with one embodiment of the invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
0014Preferred embodiments of the invention can be understood in the context of a subscriber television system. In one embodiment of the invention, a gateway device located at a customer premises provides a remote DHCT with access to carousel objects that are broadcast repeatedly (e.g., cyclically) and unilaterally (i.e., not in response to requests for the carousel objects) by a broadcast carousel system (BCS) server over a communications network. The gateway device may itself be a DHCT that is configured to provide television services via a television set to which the gateway device is coupled.
0015A carousel object that is provided by the gateway device to the remote DHCT may include data and/or software. For example, a carousel object may include information about a broadcast schedule for television presentations. Such information may be used by a remote DHCT to provide an interactive program guide (IPG) to a user.
0016After receiving a request for a carousel object from the remote DHCT, the gateway device receives the carousel object and forwards it to the remote DHCT. In this manner, the remote DHCT does not need to store large amounts of data. Instead, data may be provided to the remote DHCT as needed for providing a certain service. Furthermore, by providing a remote DHCT with selected carousel objects as needed by the remote DHCT, a lower bandwidth connection (wired or wireless) between the gateway device and remote DHCT may be sufficient to sustain services provided by the remote DHCT.
0017In the description that follows, <figref idref="DRAWINGS">FIG. 1</figref> will provide an example of a system that may be used to implement a BCS. Examples of methods for accessing a BCS by a remote DHCT are illustrated in the flow charts of <figref idref="DRAWINGS">FIGS. 2-4</figref>. Finally, system components that may be used to help implement a BCS access method are illustrated in <figref idref="DRAWINGS">FIGS. 5-7</figref>. Note, however, that the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Furthermore, all examples given herein are intended to be non-limiting, and are provided in order to help clarify the description of the invention.
0018Referring to <figref idref="DRAWINGS">FIG. 1</figref>, a television services system <b>100</b>, according to one embodiment of the present invention, comprises a plurality of servers including a first content server <b>102</b> and a second content server <b>104</b> coupled to a BCS server <b>106</b>. Each content server may, in one embodiment, be dedicated to providing certain types of data or software. For example, a content server may be dedicated to providing the latest versions of software applications to gateway devices and/or remote DHCTs. The BCS server <b>106</b> is also coupled to a communications network <b>130</b>. One or more of the plurality of servers may also be coupled to the communications network <b>130</b>. The communications network <b>130</b> transports data available from the plurality of servers to a gateway device <b>500</b>. The gateway device <b>500</b> may be a DHCT that is configured to provide television services via a television (not shown) to which the gateway device <b>500</b> is coupled. In an alternative embodiment, the gateway device <b>500</b> may be dedicated to providing carousel objects to one or more remote DHCTs <b>600</b> located at the customer premises <b>120</b>.
0019The BCS server <b>106</b> repeatedly broadcasts carousel objects over the communications network <b>130</b>. Such repetitive broadcasts are preferably made unilaterally, i.e., not in response to requests for the objects. In one embodiment, the gateway device <b>500</b> receives selected carousel objects broadcast by the BCS server <b>106</b> and provides them to a remote DHCT <b>600</b> in response to a request from the remote DHCT <b>600</b>. The remote DHCT <b>600</b> uses the objects received from the gateway device <b>500</b> to provide television services via a television <b>140</b>.
0020The repetitive data broadcasts by the BCS server <b>106</b> may be achieved using, for example, a broadcast data carousel mechanism that is defined in the Digital Storage Media Command and Control (DSM-CC) specification ISC/IEC 13818-6 IS. The DSM-CC standard was developed for the delivery of multimedia services and includes several protocol areas addressing different application needs. In one possible implementation, the BCS server <b>106</b> uses a DSM-CC User-to-User Object Carousel protocol to broadcast objects.
0021<figref idref="DRAWINGS">FIG. 2A</figref> is a flow chart depicting a non-limiting example of a BCS access method <b>200</b> that is implemented by a gateway device <b>500</b> (<figref idref="DRAWINGS">FIG. 1</figref>) in accordance with one embodiment of the invention. As indicated in block <b>201</b>, a gateway device <b>500</b> receives a request for a carousel object from a remote DHCT <b>600</b> (<figref idref="DRAWINGS">FIG. 1</figref>). The requested carousel object is repeatedly (e.g., cyclically) broadcast by a BCS server <b>106</b> or a content server <b>102</b> or <b>104</b> (<figref idref="DRAWINGS">FIG. 1</figref>) to the gateway device <b>500</b> via a communications network <b>130</b> (<figref idref="DRAWINGS">FIG. 1</figref>). The communications network may be, for example, a cable television network or a satellite television network, among others. In one embodiment, the object is repeatedly broadcast over a plurality of communication channels. After receiving the request for the carousel object, the gateway device <b>500</b> receives the requested carousel object (block <b>202</b>) and transmits it to the remote DHCT <b>600</b> (block <b>203</b>). The requested object may have been broadcast to the gateway device <b>500</b> by a BCS server <b>106</b>.
0022In one embodiment, the gateway device <b>500</b> edits a carousel object prior to transmitting it to the remote DHCT <b>600</b>. A carousel object may be edited for various reasons including, for example, the following: <ul id="ul0001" list-style="none"><li id="ul0001-0001" num="0000"><ul id="ul0002" list-style="none"><li id="ul0002-0001" num="0023">a) to help restrict access by the remote DHCT <b>600</b> to only data to which the remote DHCT <b>600</b> is authorized to receive;</li><li id="ul0002-0002" num="0024">b) to provide the remote DHCT <b>600</b> with data that is in a format that is better suited for one or more software applications that are running on the remote DHCT <b>600</b>; and/or</li><li id="ul0002-0003" num="0025">c) to provide the remote DHCT <b>600</b> with data that is in accordance with user defined settings such as, for example, parental control settings.</li></ul></li></ul>
0026<figref idref="DRAWINGS">FIG. 2B</figref> is a flow chart depicting a non-limiting example of a BCS access method <b>210</b> that is implemented by a gateway device <b>500</b> (<figref idref="DRAWINGS">FIG. 1</figref>) in accordance with another embodiment of the invention. As indicated in block <b>211</b>, a gateway device <b>500</b> receives and caches objects that have been broadcast via the communications network <b>130</b> (<figref idref="DRAWINGS">FIG. 1</figref>). Subsequently, the gateway device <b>500</b> receives (block <b>212</b>) a request for a carousel object from a remote DHCT <b>600</b>. In response to receiving the request, the gateway device <b>500</b> transmits (block <b>213</b>) the requested carousel object to the remote DHCT <b>600</b>.
0027<figref idref="DRAWINGS">FIG. 3</figref> is a flow chart depicting a non-limiting example of a BCS access method <b>300</b> that is implemented by a remote DHCT <b>600</b> (<figref idref="DRAWINGS">FIG. 1</figref>) in accordance with one embodiment of the invention. As indicated in block <b>301</b>, the remote DHCT <b>600</b> requests a carousel object from a gateway device <b>500</b>. Then, as indicated in block <b>302</b>, the remote DHCT <b>600</b> receives the requested carousel object from the gateway device <b>500</b>. As discussed above, the requested carousel object may be repeatedly broadcast by a BCS server <b>106</b> or an application server <b>102</b> or <b>104</b> (<figref idref="DRAWINGS">FIG. 1</figref>) to the gateway device <b>500</b> via a communications network <b>130</b> (<figref idref="DRAWINGS">FIG. 1</figref>).
0028<figref idref="DRAWINGS">FIG. 4</figref> is a flow chart illustrating a data carousel method <b>400</b> in accordance with one possible embodiment of the invention, among others. When a content server wishes to broadcast data via the communications network <b>130</b>, the content server initially registers (block <b>401</b>) with the BCS server <b>106</b>. The BCS server <b>106</b> then creates a hierarchical file system (block <b>402</b>) with all respective data available from each content server that is registered with the BCS server <b>106</b>.
0029The BCS server <b>106</b> may start with a home directory such as, for example, “\BCS\”, and each content server that has registered with the BCS server <b>106</b> may be assigned a respective directory in this hierarchical file system. For example, if the first content server <b>102</b> and the second content server <b>104</b> register with the BCS server <b>106</b>, then, a first directory “\BCS\first content server\” under the home directory “\BCS\” may be created for the first content server <b>102</b>, and a second directory “\BCS\second content server\” under the home directory “\BCS\” may be created for the second content server <b>104</b>.
0030The first content server <b>102</b> and the second content server <b>104</b> may also create subdirectories under their respective directories. For example, the first content server may create a subdirectory “\BCS\first content server\first subdirectory\.” Additionally, a content server may create and maintain a file under the respective directory for that server. For example, the first content server <b>102</b> may create a file under its respective directory (e.g., “\BCS\first content server\first file”) or under a subdirectory (e.g., “\BCS\first content server\first subdirectory\first file”).
0031The BCS server <b>106</b> creates a directory index (block <b>403</b>) of all data available from the plurality of servers wishing to broadcast such data to the gateway device <b>500</b> via the communications network <b>130</b>. This directory index is repeatedly broadcast (block <b>404</b>) to the gateway device <b>500</b> via the communications network <b>130</b> by the BCS server <b>106</b> to inform the gateway device <b>500</b> of data that is available from the plurality of servers. A directory index may include channel information indicating where particular data may be transported when the communications network <b>130</b> includes multiple channels. Each content server may add any data to be broadcast to the gateway device <b>500</b> under a respective directory assigned to that server by the BCS server <b>106</b>.
0032The directory index is updated as new servers register with the BCS server <b>106</b>, as old servers unregister with the BCS server <b>106</b>, and as each content server modifies the contents under its respective directory. For example, when a content server no longer wishes to broadcast any data via the communications network <b>130</b>, that server may unregister with the BCS server <b>106</b> to remove the respective directory for that server from the directory index. In addition to creating and modifying subdirectories and files under a respective directory assigned by the BCS server <b>106</b>, the content servers <b>102</b> and <b>104</b> may delete subdirectories and files.
0033Preferably, upon receiving a directory index, the gateway device 500 caches it and subsequently presents it (block <b>405</b>) or a portion thereof to the remote DHCT <b>600</b> in response to a request from the remote DHCT <b>600</b>. The remote DHCT <b>600</b> selects a file (block <b>406</b>) from the directory index and communicates its selection to the gateway device <b>500</b>. The BCS server <b>106</b> and/or the content servers repeatedly broadcast (block <b>407</b>) the selected file, among other files, to the gateway device <b>500</b>. The BCS server <b>106</b> may broadcast files using any of a number of possible broadcasting schemes. As a non-limiting example, among others, one scheme may involve broadcasting certain files more frequently than other files. The gateway device <b>500</b> receives the data of the selected file from the periodic data broadcasts and forwards it (block <b>408</b>) to the remote DHCT <b>600</b>. In this manner, only the portion of data that is requested by the remote DHCT <b>600</b> needs to be cached by the gateway device <b>500</b> and transmitted to the remote DHCT <b>600</b>, thereby conserving memory resources of both terminals <b>500</b> and <b>600</b>.
0034The blocks shown in <figref idref="DRAWINGS">FIGS. 2-4</figref> represent modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps in a process. In an alternative implementation, functions or steps depicted in <figref idref="DRAWINGS">FIGS. 2-4</figref> 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 of ordinary skill in the art.
0035The functionality provided by the methods illustrated in <figref idref="DRAWINGS">FIGS. 2-4</figref>, can be embodied in any computer-readable medium for use by or in connection with a computer-related system (e.g., an embedded system such as a modem) or method. In this context of this document, a computer-readable medium is an electronic, magnetic, optical, semiconductor, or other physical device or means that can contain or store a computer program or data for use by or in connection with a computer-related system or method. Furthermore, the functionality provided by the methods illustrated in <figref idref="DRAWINGS">FIGS. 2-4</figref> can be implemented through hardware (e.g., an application specific integrated circuit (ASIC) and supporting circuitry) or a combination of software and hardware.
0036<figref idref="DRAWINGS">FIG. 5</figref> is a block diagram depicting a non-limiting example of a gateway device <b>500</b> in accordance with one embodiment of the invention. As shown in <figref idref="DRAWINGS">FIG. 5</figref>, the gateway device <b>500</b> is a DHCT that is configured to provide television services via a television (not shown) to which the gateway device <b>500</b> is coupled. The gateway device <b>500</b> includes a communications interface <b>522</b> for receiving signals (video, audio and/or other data) from the headend <b>110</b>, at least one processor <b>524</b> for controlling operations of the gateway device <b>500</b>, an output system <b>528</b> for driving the television <b>140</b> (<figref idref="DRAWINGS">FIG. 1</figref>), and a tuner system <b>525</b> for tuning to a particular television service to be displayed. The tuner system <b>525</b> 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 (in-band) for receiving television signals. Carousels object that are broadcast by the BCS server (and/or other servers) are preferably received by the out-of-band tuner. In another embodiment, however, carousel objects may be received by the in-band tuner and/or by the out-of-band tuner, depending on a desired implementation. A receiver <b>526</b> receives externally-generated user inputs or commands from an input device such as, for example, a remote control device. A home network interface <b>590</b> provides a communications interface with a remote DHCT <b>600</b> (<figref idref="DRAWINGS">FIG. 1</figref>).
0037The processor <b>524</b>, memory <b>530</b>, output system <b>528</b>, home network interface <b>590</b>, receiver <b>526</b>, and tuner system <b>525</b> are coupled to a local interface <b>510</b>. The local interface <b>510</b> can be, for example but not limited to, one or more buses or other wired or wireless connections. The local interface <b>510</b> may have additional elements, which are omitted for simplicity, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and/or data connections to enable appropriate communications among the aforementioned components.
0038The processor <b>524</b> is a hardware device for executing software, particularly that stored in memory <b>530</b>. The processor <b>524</b> can be any custom made or commercially available processor, a central processing unit (CPU), an auxiliary processor among several processors associated with the gateway device <b>500</b>, a semiconductor based microprocessor (in the form of a microchip or chip set), or generally any device for executing software instructions. When the gateway device <b>500</b> is in operation, the processor <b>524</b> is configured to execute software stored within the memory <b>530</b>, to communicate data to and from the memory <b>530</b>, and to generally control operations of the gateway device <b>500</b> pursuant to the software.
0039The memory <b>530</b> can include any one or combination of volatile memory elements (e.g., random access memory (RAM, such as DRAM, SRAM, SDRAM, etc.)) and nonvolatile memory elements (e.g., ROM, hard drive, tape, CDROM, etc.). Moreover, the memory <b>530</b> may incorporate electronic, magnetic, optical, and/or other types of storage media. Note that the memory <b>530</b> can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor <b>524</b>.
0040The software in memory <b>530</b> may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. In the example of <figref idref="DRAWINGS">FIG. 5</figref>, the software in the memory <b>530</b> includes a BCS client application <b>532</b>, a television service application <b>533</b>, a service application proxy <b>534</b>, and a suitable operating system (O/S) <b>531</b>. The BCS client application is responsible for receiving carousel objects that are broadcast over the communications network <b>130</b>. The television service application <b>533</b> provides a user with a specific television service, such as, for example, an interactive program guide. Although the gateway device <b>500</b> may include several television service applications, only one such application is shown to simplify the description of the gateway device <b>500</b>. The service application proxy <b>534</b> communicates with the BCS client application <b>532</b> on behalf of a television service application running on the remote DHCT <b>600</b> (<figref idref="DRAWINGS">FIG. 1</figref>). The operating system <b>531</b> essentially controls the execution of other software, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services.
0041Each of the above applications may be a source program, an executable program (object code), a script, or any other entity comprising a set of instructions to be performed. When an application is a source program, then it may be translated via a compiler, assembler, interpreter, or the like, which may or may not be included within the memory <b>530</b>, so as to operate properly in connection with the O/S <b>531</b>. Furthermore, an application can be written as (a) an object oriented programming language, which has classes of data and methods, or (b) a procedure programming language, which has routines, subroutines, and/or functions.
0042A home network interface <b>590</b> is used for forwarding BCS data to a remote DHCT <b>600</b> (<figref idref="DRAWINGS">FIG. 1</figref>). The home network interface <b>590</b> may comprise, for example, a USB (Universal Serial Bus), an Ethernet port (for connection to a computer), an IEEE-1394 connection, a serial port, a parallel port, a wireless radio frequency (RF) interface, and/or an infra-red (IR) interface. In one possible implementation, the data export interface <b>590</b> may be coupled to a client device via an Ethernet hub.
0043<figref idref="DRAWINGS">FIG. 6</figref> is a block diagram depicting a non-limiting example of a remote DHCT <b>600</b> in accordance with one embodiment of the invention. The remote DHCT <b>600</b> includes at least one processor <b>624</b> for controlling operations of the remote DHCT <b>600</b>, a memory <b>630</b> for storing data and software programs, and an output system <b>628</b> for driving a display device (not shown). This display device may be a stand alone unit or may be integrated with the remote DHCT <b>600</b>. The remote DHCT <b>600</b> also includes a home network interface <b>690</b> for providing a communications interface with and for receiving BCS data from a gateway device <b>500</b> (<figref idref="DRAWINGS">FIG. 1</figref>). The processor <b>624</b>, output system <b>628</b>, memory <b>630</b>, and home network interface <b>690</b> are coupled to a local interface <b>610</b>.
0044The software in the memory <b>630</b> includes a BCS proxy application <b>632</b>, a television service application <b>633</b>, and a suitable operating system (O/S) <b>631</b>. The BCS proxy application <b>632</b> provides the television service application with BCS data. The BCS proxy application <b>632</b> receives requests for BCS data from, for example, the television service application <b>633</b> and transmits messages to a service application proxy <b>534</b> (<figref idref="DRAWINGS">FIG. 5</figref>) in order to obtain the requested BCS data. The BCS proxy application <b>632</b> then receives the BCS data from the service application proxy <b>534</b> and forwards it to the television service application <b>633</b>, which may use the data to provide a service to a user. For example, if the television service application <b>633</b> provides a user an interactive program guide (IPG), then the requested BCS data may comprise television broadcast schedule information that is presented via the IPG.
0045In one implementation, the television service application <b>633</b> may interact with the BCS proxy application <b>632</b> in the same manner that the television service application <b>533</b> interacts with the BCS client application <b>532</b> (<figref idref="DRAWINGS">FIG. 5</figref>). In other words, the television service application <b>633</b> may be identical to the television service application <b>533</b>, and, therefore, may not need to be specially programmed for the remote DHCT <b>600</b>.
0046In another embodiment of the invention, the service application <b>633</b> communicates directly with the service application proxy <b>534</b> (<figref idref="DRAWINGS">FIG. 5</figref>) in order to request BCS data. In yet another embodiment of the invention, the service application <b>633</b> communicates directly with the BCS client application <b>532</b> (<figref idref="DRAWINGS">FIG. 5</figref>) in order to request BCS data.
0047<figref idref="DRAWINGS">FIG. 7</figref> is a block diagram depicting interactions between selected modules of the gateway device <b>500</b> and the remote DHCT <b>600</b>. When the television service application <b>633</b> of the remote DHCT <b>600</b> requires a carousel object, it requests the file from the BCS proxy <b>632</b> via an application programming interface (API). This request may be performed via, for example, a function call <b>701</b>. Requests and communications from one application or functional element to another may be performed using other techniques and still be within the scope of the present invention.
0048A function call is a request by an application to use a function. In general, the function can be large and can perform a significant amount of processing, or it can be as small as computing two numbers and returning the result. When applications are running, they typically make many function calls to the operating system. A function call written in an application typically states the name of the desired function followed by any values or parameters that have to be passed to the function. When the function is called, the function is executed, and the results are returned as variables or pointers with new values. A function may be written within an application, be part of an external library that is combined with the application when it is compiled, or be contained in another application, such as, for example, the operating system.
0049The function call <b>701</b> causes the BCS proxy <b>632</b> to transmit a message <b>702</b> to the gateway device's service application proxy <b>534</b> requesting the BCS data. This message <b>702</b> is transmitted via the remote DHCT's home network interface <b>690</b>, and is received by the gateway device's home network interface <b>590</b>.
0050The home network interface <b>590</b> forwards this message <b>702</b> to the service application proxy <b>534</b>. After receiving the message <b>702</b>, the service application proxy <b>534</b> requests the carousel object from the BCS client application <b>532</b> via an API. This request may be performed via, for example, a function call <b>703</b>. This function call <b>703</b> causes the BCS client <b>532</b> to extract the requested carousel object <b>710</b> from objects that are received via the communications interface <b>522</b>. The requested carousel object <b>710</b> is then transmitted by the gateway device <b>500</b> to the remote DHCT <b>600</b> where it is used by the television service application <b>633</b>.
0051In an alternative embodiment of the invention, the television service application <b>633</b> does not use the BCS proxy <b>632</b> to request a carousel object. Instead, the television service application <b>633</b> is configured to transmit a message requesting a carousel object to the gateway device <b>500</b> via the home network interface <b>690</b>. This message may be received by the service application proxy <b>534</b> or by the BCS client <b>532</b>, depending on the particular implementation.
0052Each of the above mentioned applications comprises executable instructions for implementing logical functions and 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 and execute the instructions.
0053It should be emphasized that the above-described embodiments of the present invention are merely possible examples, among others, of the implementations, setting forth a clear understanding of the principles of the invention. Many variations and modifications may be made to the above-described embodiments of the invention without departing substantially from 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. In addition, the scope of the present invention includes embodying the functionality of the preferred embodiments of the present invention in logic embodied in hardware and/or software-configured mediums.
Contents4
8 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US8938546B2 | Cited by | United States of America | Search report |
| US10129576B2 | Cited by | United States of America | Applicant |
| US2006218581A1 | Cited by | United States of America | Pre-grant |
| US2005005287A1 | Cited by | United States of America | Pre-grant |
| US11388461B2 | Cited by | United States of America | Applicant |
| US2008114859A1 | Cited by | United States of America | Pre-grant |
| US2006282863A1 | Cited by | United States of America | Pre-grant |
| US2010220740A1 | Cited by | United States of America | Pre-grant |
| US8341246B2 | Cited by | United States of America | Applicant |
| US11076203B2 | Cited by | United States of America | Applicant |
| US9043479B2 | Cited by | United States of America | Applicant |
| US2010153237A1 | Cited by | United States of America | Pre-grant |
| US8326997B2 | Cited by | United States of America | Search report |
| US9769513B2 | Cited by | United States of America | Applicant |
| US2004025179A1 | Cited by | United States of America | Pre-grant |
| US9762970B2 | Cited by | United States of America | Applicant |
| US7966380B2 | Cited by | United States of America | Search report |
| US9832246B2 | Cited by | United States of America | Applicant |
| US2005022248A1 | Cited by | United States of America | Pre-grant |
| US8078696B2 | Cited by | United States of America | Applicant |
| US2007143776A1 | Cited by | United States of America | Pre-grant |
| US8280982B2 | Cited by | United States of America | Applicant |
| US2013133015A1 | Cited by | United States of America | Pre-grant |
| US2007276925A1 | Cited by | United States of America | Pre-grant |
| US11082723B2 | Cited by | United States of America | Applicant |
| US8438243B2 | Cited by | United States of America | Applicant |
| US10623462B2 | Cited by | United States of America | Applicant |
| EP0107600A1 | Cites | European Patent Office (EPO) | Applicant |
| WO0156286A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| EP1028551A2 | Cites | European Patent Office (EPO) | Applicant |
| US2002010936A1 | Cites | United States of America | Applicant |
| US2002019984A1 | Cites | United States of America | Search report |
| US2002059637A1 | Cites | United States of America | Search report |
| US2002108121A1 | Cites | United States of America | Search report |
| US2003009763A1 | Cites | United States of America | Search report |
| US2003159157A1 | Cites | United States of America | Search report |
| US5883677A | Cites | United States of America | Search report |
| US6536041B1 | Cites | United States of America | Search report |
| WO9935844A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
| WO9965244A1 | Cites | World Intellectual Property Organization (WIPO) | Applicant |
9 members in 4 offices
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 23520102 | United States of America | A | |
| US20020235201 | – | – | – |
Members9
| Document | Office | Kind | |
|---|---|---|---|
| US2004049790A1 | United States of America | A1 | |
| CA2497013A1 | Canada | A1 | |
| WO2004023697A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2004023697A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP1540946A2 | European Patent Office (EPO) | A2 | |
| EP1540946A4 | European Patent Office (EPO) | A4 | |
| US7360233B2This record | United States of America | B2 | |
| CA2497013C | Canada | C | |
| EP1540946B1 | European Patent Office (EPO) | B1 |
71 transactions on the USPTO file
Allowed after 3 non-final rejections, 3 final rejections, 1 RCE and 1 appeal.
- Non-final rejections
- 3
- Final rejections
- 3
- RCEs
- 1
- Appeals
- 1
Over time
Point at a mark for the transactionTransactions
| Event | |
|---|---|
| Payment of Maintenance Fee, 12th Year, Large Entity | |
| Recordation of Patent Grant Mailed | |
| Patent Issue Date Used in PTA CalculationAllowed | |
| Email Notification | |
| Issue Notification MailedAllowed | |
| Dispatch to FDC | |
| Application Is Considered Ready for Issue | |
| Issue Fee Payment Verified | |
| Issue Fee Payment Received | |
| Electronic Review | |
| Email Notification | |
| Mail Notice of AllowanceAllowed | |
| Notice of Allowance Data Verification CompletedAllowed | |
| Appeal Brief Review Complete | |
| Date Forwarded to Examiner | |
| Appeal Brief Filed | |
| Notice of Appeal Filed | |
| Request for Extension of Time - Granted | |
| Mail Post Card | |
| Email Notification | |
| Mail Advisory Action (PTOL - 303) | |
| Advisory Action (PTOL-303) | |
| Date Forwarded to Examiner | |
| Response after Final Action | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Date Forwarded to Examiner | |
| Date Forwarded to Examiner | |
| Disposal for a RCE / CPA / R129 | |
| Miscellaneous Incoming Letter | |
| Request for Continued Examination (RCE) | |
| Request for Extension of Time - Granted | |
| Workflow - Request for RCE - Begin | |
| Mail Examiner Interview Summary (PTOL - 413) | |
| Interview Summary Record | |
| Case Docketed to Examiner in GAU | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Information Disclosure Statement considered | |
| Reference capture on IDS | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| IFW TSS Processing by Tech Center Complete | |
| Date Forwarded to Examiner | |
| Response after Final Action | |
| Request for Extension of Time - Granted | |
| Workflow incoming amendment IFW | |
| Reference capture on IDS | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Reference capture on IDS | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Case Docketed to Examiner in GAU | |
| Case Docketed to Examiner in GAU | |
| Application Dispatched from OIPE | |
| Application Is Now Complete | |
| IFW Scan & PACR Auto Security Review | |
| Initial Exam Team nn |
10 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Fee paymentFPAY | FPAY | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| AssignmentAS | AS |
Numbers
- Publication
- 07360233
- Publication, DOCDB
- 7360233
- Publication, EPODOC
- US7360233
- Application
- 10235201
- Application, DOCDB
- 23520102
- Application, EPODOC
- US20020235201
Titles
- English
- Broadcast carousel system access for remote home communication terminal
Patent term adjustment
- A delay
- +279 daysthe office missed an examination deadline
- Applicant delay
- −96 days
- Net adjustment
- 183 days
Classification
- CPC, 7
- H04N21/4349
- H04N21/4112
- H04N21/436
- H04N21/44231
- H04N21/443
- H04N21/4821
- H04N7/17318
- IPC, 4
- H04N5 445
- H04N7 163
- G06F13 00
- H04N7 173
- USPC, 5
- 725118000
- 348E05006
- 348E07071
- 375E07019
- 725039000