The present invention relates generally to an improved communications system and in particular to a communications device. Still more particularly, the present invention relates generally to a method and apparatus for enabling a communications device to perform functions using a session initiated protocol.
Programming, such as subscription and pay-per-view video services, are delivered to a subscriber's premises by both satellite and cable transmission systems. The systems provide both analog and digital data streams. A set-top device is typically used to receive programming and distribute it in the premises of a subscriber. As used herein, the term “set-top” device or “set-top” system is an aggregation of components used to provide subscriber services. As communications technology continues to expand, subscribers are being presented with an ever increasing number of information sources in addition to satellite and cable transmission systems. For example, video programs may be received over networks, such as the Internet or public switched telephone systems. Currently, such video programs are received by a computer or other device connected to the Internet. Other communications services, such as telephone service over public switched telephone systems, are handled by terminal devices, such as telephones. As a result, a subscriber must interact with a number of different devices to use all of the different types of services being offered by different providers. Having to use many different devices to access services can be frustrating to a subscriber.
Therefore, it would be advantageous to have an improved method and apparatus for handling subscriber services from different sources without requiring interaction with difference devices.
The present invention provides a method and apparatus for handling subscriber services from different sources without requiring interaction with different devices. The present invention also provides a method and apparatus for receiving multimedia services using session initiation protocol (SIP) messages received from a source, such as a server on a network. In one embodiment, a set-top device is provided in which a SIP control is provided to register a subscriber with a server using SIP messages. A connection to a network, such as the Internet, is provided to communicate with the server. The set-top device is placed in line with the audio and video source to control audio and video streams presented to the subscriber. The set-top device is also configured to receive voice calls from a public switched telephone network (PSTN). Further, the set-top device includes a remote control mechanism, such as an infrared (IR) transmitter and receiver to receive input from the subscriber and to control other devices using IR signals. Also, subscriber services customized for a particular subscriber may be directed to the subscriber at a location when the subscriber registers with the server through a set-top device at that location using SIP. Services, such as, for example, call screening, channel guides, video on demand, and Web browsing are provided through the set-top device and messaging with a server using SIP messages.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
In
With reference now to the figures and in particular with reference now to
A connection from home 102 to network 108 is present. In this example, network 108 is the Internet, with network 108 representing a worldwide collection of networks and gateways that use the TCP/IP suite of protocols to communicate with one another. At the heart of the Internet is a backbone of high-speed data communication lines between major nodes or host computers consisting of thousands of commercial, government, educational, and other computer systems that route data and messages. Of course, network 108 also may be implemented as a number of different types of networks, such as, for example, network 108 may be a local area network (LAN) or a wide area network (WAN). Additionally, network 108 may be a broadband network providing broadband services. A broadband service is a service requiring transmission channels capable of supporting rates greater than 1.5 Mbps, a primary rate integrated services digital network (ISDN), TS1, or DS1 in digital terminology.
In this example, proxy server 110 provides access for various services to home 102 across network 108. For example, proxy server 110 may be used to direct a call using voice over Internet Protocol (IP) to home 102. This call may originate from a device in PSTN 104, with part of the call path being over network 108. Also, proxy server 110 may receive requests from home 102 for video and stream the requested video to home 102. The connection between home 102 and proxy server 110 may take various forms, such as an Ethernet connection established using an asymmetric digital subscriber loop (ADSL) line or an integrated services digital network (ISDN) line. Further, a high bandwidth twisted pair or optical fiber also may be used to provide the connection between home 102 and proxy server 110.
In accordance with a preferred embodiment of the present invention, a text based signaling protocol, such as, for example, session initiation protocol (SIP), is used to create, modify, and terminate sessions with one or more subscribers at home 102. A device or application operating on a device may establish a connection or session with a server on a network, such as a broadband network, to receive multimedia services. These services may include, for example, video telephony, audio stations, television station broadcasts, call screening services, channel guides, video on demand, and Web browsing services. Multimedia sources provide these services. Multimedia sources may be, for example, cable companies, satellite programming companies, television network companies, and internet broadcast companies. The multimedia sources also may take the form of multimedia data located in a storage device, such as, for example, movies in a digital form on hard disk drives. Further, the present invention also provides a mechanism in which a particular user or subscriber can be identified with a particular device. The identification of the subscriber is used to determine the type of multimedia services provided. These determinations may be made either at the device or at the server. In the depicted examples, the device takes the form of a set-top device located in home 102. Of course, the present invention is not limited to a set-top device and may be applied to other communications devices, such as, for example, a computer or a television.
SIP is an application layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet multimedia conferences, Internet telephone calls, and multimedia distribution. Members in a session can communicate via multicast, a mesh of unicast relations, or a combination of these.
SIP invitations are used to create sessions and carry session descriptions, which allow participants to agree on a set of compatible media types. SIP supports user mobility by proxying and redirecting requests to the user's current location. Users can register their current location. SIP is not tied to any particular conference control protocol. SIP is designed to be independent of the lower-layer transport protocol and can be extended with additional capabilities.
SIP can be used to initiate sessions, as well as invite members to sessions that have been advertised and established by other means. Sessions can be advertised using multicast protocols such as SAP, electronic mail, news groups, Web pages, or directories (LDAP), among others.
SIP transparently supports name mapping and redirection services, allowing the implementation of ISDN and Intelligent Network telephony subscriber services. These facilities also enable personal mobility. Personal mobility is the ability of end users to originate calls, receive calls, and access subscribed telecommunication services on any terminal and in any location, as well as the ability of the network to identify end users as they move. Personal mobility is based on the use of a unique personal identity (i.e. personal number). Personal mobility complements terminal mobility, such as the ability to maintain communications when moving a single end system from one subnet to another. SIP supports five facets of establishing and terminating multimedia communications: (1) user location: determination of the end system to be used for communication; (2) user capabilities: determination of the media and media parameters to be used; (3) user availability: determination of the willingness of the called party to engage in communications; (4) call setup: “ringing”, establishment of call parameters at both the called and calling party; and (5) call handling: including transfer and termination of calls.
Through SIP, a subscriber at home 102 can register the subscriber's current location. In such a case, the subscriber, when at home 102, can have all calls directed to the subscriber sent to home 102 by proxy server 110. A proxy server is an intermediary program that acts as both a server and a client for the purpose of making requests on behalf of other clients. Requests are serviced internally or by passing them on, possibly after translation, to other servers. A proxy server interprets and, if necessary, rewrites a request message before forwarding it. A proxy server may be implemented using, for example, a computer. The proxy on the server is an application that establishes the connection between the sender and receiver. Proxy servers may act as a fire wall or cache information, such as web pages, email, or addresses.
SIP is independent of lower layer transport protocols and is used to start sessions, while lower layer transport protocols are used to carry the data. A session involves the activities taking place during the establishment and release of a connection on a network. SIP allows for unicasting or multicasting and can invite both persons and robots, such as a media storage service.
The registration capabilities provided by SIP allow for implementation of ISDN and Intelligent Network (IN) services. More specifically, SIP provides for personal mobility in which a subscriber is able to originate and receive calls and access subscribed telecommunications services in any location. A SIP enabled communications system is able to identify a subscriber as the subscriber moves from location to location. The personal mobility in SIP is based on a unique personal identifier, such as a personal number. SIP services for a subscriber can be directed to the subscriber when the subscriber is located at home 102. In accordance with a preferred embodiment of the present invention, a SIP enabled set-top device is provided in home 102 to integrate services for a subscriber at home 102. More information on SIP may be found in “SIP: Session Initiation Protocol”, IETF RFC 2543, http://ietf.org/rfc/rfc2543.txt, March 1999.
Turning next to
With reference now to
Set-top device 300 is also referred to as a “set-top box”. Set-top device 300, in a preferred embodiment, employs a peripheral component interconnect (PCI) local bus architecture. Although the depicted example employs a PCI bus, other bus architectures, such as Accelerated Graphics Port (AGP) and Industry Standard Architecture (ISA) may be used. Processor 302 and main memory 304 are connected to PCI local bus 306 through PCI bridge 308. PCI bridge 308 also may include an integrated memory controller and cache memory for processor 302. Connections to PCI local bus 306 may be made through direct component interconnection or through add-in boards. Local area network (LAN) adapter 310 connects to PCI local bus 306 and provides a connection, such as an ethernet connection, to a proxy server, such as proxy server 110 in
Audio adapter 312 and video adapter 314 are connected to PCI local bus 306. These components also are connected to tuner unit 316 in set-top device 300. Tuner unit 316 receives radio frequency (RF) signals and sends audio components to audio adapter 312 and video adapter 314. These signals may be received from different sources, such as, for example, a cable network. In particular, tuner unit 316 will convert and filter frequency modulated (FM) channels into an intermediate frequency (IF) channel. Further, tuner unit 316 includes circuitry necessary to demodulate the signal to obtain video and audio data for transmission to audio adapter 312 and video adapter 314. Audio adapter 312 and video adapter 314 send the signals from tuner unit 316 to outputs for presentation to a user or subscriber.
Also, audio adapter 312 and video adapter 314 include inputs to receive audio and video for processing. For example, the inputs may be used to receive a program from a device, such as DVD player 212 in
In this example, set-top device 300 also includes a media adapter 318. Media adapter 318 includes a general purpose programmable media processor for use in receiving and processing multiple media data streams including, for example, audio, video, and data. An example of a media processor, which may be used in media adapter 318, is found in U.S. Pat. No. 5,794,061, entitled General Purpose, Multiple Precision Parallel Operation, Programmable Media Processor. Media adapter 318 may provide output to various components connected to set-top device 300 in conjunction with or in place of audio adapter 312 and video adapter 314. A telephone/modem adapter 320 is also provided in which voice calls and data from a PSTN may be facilitated.
Next, expansion bus interface 322 provides a connection for a keyboard and mouse adapter 324 and an infrared (IR) adapter 326. A keyboard and a pointer, such as a mouse, may be attached by a cable to set-top device 300, or input may be received from a wireless keyboard, mouse, or remote control. Although, in the depicted examples, IR input devices are used, other types of wireless input systems may be used in combination with or in place of the IR system, such as, for example, a RF keyboard or remote control.
An operating system runs on processor 302 and is used to coordinate and provide control of various components within set-top device 300 in
Those of ordinary skill in the art will appreciate that the hardware in
In
SIP application 400 includes a SIP control 402, which controls audio driver 404, video driver 406, and IR driver 408 in these examples. These drivers form a multimedia interface in SIP application 400 to send multimedia content to output devices. SIP control 402 provides an interface through an ethernet connection to a network using LAN adapter 310 in
SIP control 402 includes the appropriate interfaces, such as, for example, application programming interfaces (APIs), to communicate with the various drivers in SIP application 400. The actual drivers employed depend on the hardware used to implement SIP application 400. More specifically, SIP control 402 exchanges SIP messages with a source, such as a proxy server, to setup a session. The session may involve, for example, a telephone call, a video, or controlling various devices. This control may be, for example, programming a VCR to record a program.
Although the depicted example in
Turning next to
The process begins by detecting a subscriber at the set-top device (step 500). The subscriber may be detected in a number of ways. For example, the subscriber may be detected when the set-top device is turned on or when a control device, such as a remote control, is activated. Next, a personal number associated with the subscriber is identified (step 502). The personal number associated with the subscriber may be stored in a storage device, such as, for example, a hard disk drive or other nonvolatile memory, within the set-top device. Alternatively, the personal number may be identified by the subscriber entering the personal number. This number may be entered in a number of ways, such as through a keyboard or remote control unit. In this manner, multiple subscribers are able to access the set-top device. Next, the set-top device sends a register request to a proxy server for the subscriber (step 504). The proxy server will verify the subscriber and identify services associated with the subscriber. In this manner, services for the subscriber can be directed to the subscriber through the set-top device. This registration process allows for services and the billing of services to follow the subscriber, rather than being based upon a particular hardware unit. Next, the response is received (step 506) with the process terminating thereafter.
Turning next to
A determination is made as to whether the subscriber can be alerted using the identified media (step 604). For example, if the subscriber is watching the television, the subscriber may be alerted using a message on the screen and/or by an audio prompt to obtain the subscriber's attention in case the subscriber is not looking at the television screen. Thereafter, options are presented to the subscriber using a media type, which matches the media type in the request (step 606). A determination is made as to whether a subscriber selection has been received (step 608). A check is made as to whether a user input, such as, for example, the depressing of a selected key, has occurred. If a subscriber selection is not received, a determination is made as to whether a timeout has occurred (step 610). A timer function may be checked to see if time has expired to identify a timeout. If a timeout has not occurred, the process returns to step 608. When a subscriber selection is received in step 608, the selected action is performed (step 612) with the process terminating thereafter.
With reference again to step 610, if a timeout has occurred, the message or content is stored for later presentation to the subscriber (step 614) with the process terminating thereafter. The message, in this example, is stored in a persistent memory, such as a hard drive or nonvolatile random access memory. With reference again to step 604, if the media type being used does not allow for the subscriber to be alerted, the process also proceeds to step 614. This situation may occur, for example, if no devices are turned on or if the subscriber is only using the VCR to tape a program without the television being turned on. In these examples, the subscriber cannot be alerted using a device in the home. Alternatively, the set-top device may include controls to turn on a device to alert the subscriber. The controls may include, for example, sending an IR signal to turn on a television or stereo. With respect to outgoing calls, a subscriber may obtain a charge rate based on the identification of the subscriber, rather than the particular set-top device.
Turning next to
In this example, if the subscriber decides to answer the call, the call may be routed to the set-top device, and the call may be facilitated through the devices connected to the set-top device. For example, the caller's voice may be presented to the subscriber through speakers in the television, and the subscriber may talk to the caller through a microphone located in the remote control. If the subscriber decides to send the call to voice mail, the set-top device may accept the call and route it to a voice mail system in the set-top device or may send a message to the proxy server to redirect the call to a voice mail service for the subscriber. If the subscriber decides to forward the call, menu 708 is displayed within display 700 in
With reference now to
A selection of a forwarding option results in the display of a menu with different forwarding selections (step 810). This menu may be a menu, such as menu 708 in
The set-top device of the present invention also may provide channel guide information through a source, such as a proxy server, using SIP messaging. In this manner, channel guides for current programming and future programming may be provided. Further, these channel guides may be tailored to the specific preferences of a subscriber. A custom channel guide may be provided to the subscriber at any set-top device location at which the subscriber registers. After registering, a selected remote control button or command code may be used to initiate the sending of a SIP message to a server requesting channel guide information. Responses from the proxy server, in these examples, also are sent using SIP messages. Because SIP is session based and not call based, any information may be placed into the body of a SIP message. In this example, channel guide information is placed in SIP messages.
Turning next to
With reference now to
With reference now to
The process begins by receiving a subscriber request for content (step 1100). This content maybe a media stream, such as, for example, a music or a video stream. A music stream may be, for example, a single song or an entire album. The video stream may be, for example, a music video or a movie.
A determination is made as to whether sufficient bandwidth is available for the requested content (step 1102). If sufficient bandwidth is available, a SIP message is sent to a proxy server to initiate receipt of the requested content (step 1104). Thereafter, the content is received and decoded (step 1106). The decoding may occur using different mechanisms, such as processor 302 in
With reference again to step 1102, if the bandwidth is insufficient to provide the requested media, an error message is presented to the subscriber (step 1116) with the process terminating thereafter. In this manner, media streams for media, such as music and videos, may be obtained by a subscriber through SIP messaging. Further, with registration procedures for subscribers provided using SIP, a subscriber can have a pay-per-view type of program charged to the subscriber's account at any set-top device that is SIP enabled and provides for registering a subscriber.
Through a SIP enabled set-top device, pages from Web sites may be received using push technology. Pages that are “pushed” to the set-top device may be displayed to a user using a browser program in the set-top device. The browser program provided in the set-top device may be any currently available browser, such as, for example, Netscape Navigator. Netscape Navigator is available from Netscape Communications Corporation. For example, in
With reference now to
With reference again to step 1306, if the subscriber chooses not to view the page, the page is stored for later viewing (step 1322) with the process terminating thereafter. The subscriber may be currently watching a video or may not have time to view the page received from the proxy server. The storing of the page allows the subscriber to view the “pushed” page at a later time. With reference again to step 1302, if the video function is not in use, the process also proceeds to step 1322 as described above. In this situation, the television may be turned off with the subscriber listening to music using the stereo.
Thus, the present invention provides a mechanism for providing a SIP end-point in a communications device, such as SIP application 400 in
It is important to note that while the present invention has been described in the context of a fully functioning communications device, those of ordinary skill in the art will appreciate that the processes of the present invention are capable of being distributed in the form of a computer readable medium of instructions and in a variety of forms. Further, the present invention applies equally regardless of the particular type of signal bearing media actually used to carry out the distribution. Examples of computer readable media include recordable-type media such as floppy disc, a hard disk drive, a RAM, a CD-ROM, a DVD-ROM, and transmission-type media, such as digital and analog communications links, wired or wireless communications links using transmission forms, such as, for example, radio frequency and light wave transmissions. The computer readable media may take the form of coded formats that are decoded for actual use in a particular communications device.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. For example, although the depicted examples used SIP, other application-layer control protocols may be used in place of SIP. Further, the SIP application of the present invention may be implemented in devices other than a set-top device, as shown in the examples. A computer, a television, and an adapter for use in a computer are some examples of other devices in which the SIP application may be implemented. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.
Number | Name | Date | Kind |
---|---|---|---|
6201538 | Wugofski | Mar 2001 | B1 |
6229532 | Fujii | May 2001 | B1 |
6317884 | Eames et al. | Nov 2001 | B1 |
6490274 | Kim | Dec 2002 | B1 |
6591292 | Morrison et al. | Jul 2003 | B1 |
6628194 | Hellebust et al. | Sep 2003 | B1 |
6640239 | Gidwani | Oct 2003 | B1 |
6690675 | Kung et al. | Feb 2004 | B1 |
6760429 | Hung et al. | Jul 2004 | B1 |
6775267 | Kung et al. | Aug 2004 | B1 |
6778661 | Yumoto et al. | Aug 2004 | B1 |
6785716 | Nobakht | Aug 2004 | B1 |
6826597 | Lonnroth et al. | Nov 2004 | B1 |
6836478 | Huang et al. | Dec 2004 | B1 |
6856616 | Schuster et al. | Feb 2005 | B1 |
6928653 | Ellis et al. | Aug 2005 | B1 |
20020044570 | Gurusami et al. | Apr 2002 | A1 |