BACKGROUND OF THE INVENTIONThe present invention relates to the field of remote control of devices in networks. In particular, the present invention is concerned with remotely controlling the transmission of complementary data over networks.
The development of networks has led to the development of many beneficial network services, especially in the area of communication. However, networks can also be and have been used for controlling devices that are connected to other devices through such networks. For example, in voice mail messaging systems, voice mail servers are routinely controlled by phones connected to voice mail servers through the Public Switched Telephone Network.
One area which has lacked sufficient attention in the context of the remote control of devices through networks has been in the provision of data services. In particular, there is a need for devices that can be remotely controlled to transmit synchronous, complementary data to a plurality of devices over a network.
SUMMARY OF THE INVENTIONA novel method and apparatus is disclosed for synchronously delivering complementary data to two devices. The steps in one method embodiment of the present invention comprise: i) receiving a command through a network for synchronous transmission of complementary data, and ii) transmitting first data through a network to a first device, the transmission of the first data synchronized with transmission of second data transmitted to a second device, the first and second data forming complementary data.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 illustrates a system in accordance with embodiments of the present invention.
FIG. 2 illustrates a system in accordance with embodiments of the present invention in which a first device is connected through a first network and a second network to a second device.
FIG. 3 illustrates a system in accordance with an embodiment of the present invention in which a video program is transmitted to a first device and corresponding subtitles are transmitted to a second device.
FIG. 4 illustrates a flow diagram of the steps in an embodiment of the present invention.
FIG. 5 illustrates a system in accordance with an embodiment of the present invention in which a device is used to control a telephone through a network.
DETAILED DESCRIPTIONEmbodiments of the present invention allow for the synchronous transmission of complementary data to two devices.
In one embodiment of the invention, a mobile and/or hand-held device such as a PDA is used to control another device remotely through one or more networks, such that complementary, synchronous streams of data that are intended for observation in combination by users and/or entities, can be transmitted to each of the PDA and the device. The flexibility of such an arrangement, wherein the PDA can be carried to different locations to control different devices for synchronous transmission of complementary data, allows the provision of a multitude of services not heretofore available.
FIG. 1 shows a system in accordance with embodiments of the invention. InFIG. 1, afirst device120 and asecond device130 are connected tonetwork110. Network110 may be any type of network, for example, the Internet, an intranet, a television network, a wireless network, a public switched telephone network, a combination of these networks, or any other network. Moreover,network110 may include two different networks connected by a gateway; for example, network10 may include any two of the networks above connected by a gateway server allowing for the communication of data and commands from each network to the other.
Device120 anddevice130 are devices which are capable of receiving data transmitted throughnetwork110. In particular,device120 anddevice130 are capable of receiving complementary data. “Complementary data” is used herein to designate at least two streams of related data that are semantically related to each other such that, when combined, form an organic whole. For example, the audio data and the video data for a television program may be considered to be complementary data.
One other property of complementary data as used herein is that the at least two streams of data are intended for observation by the same entity or person, or are actually observed by the same entity or person. For example, a video signal in a video program that is observed by many users is complementary to audio data of the program that is played on each user's individual player (e.g. in different languages). However, first computer game data that is streamed to a video monitor of a first user is not complementary to second computer game data that is streamed to a video monitor for a second user, where the first user is playing the computer game with or against the second user, because the first data is intended for observation by the first user alone, whereas the second data is intended for observation by the second user alone.
Another property of complementary data as used herein is that at least one stream of data is not broadcast; it is either unicast to a single user or device, or multicast to a predetermined list of users and/or devices. As is known in the art, unicast and multicast require a predetermined list of users and/or devices to which transmission is to be made. Such a list may be as simple as a list of network addresses, or may include additional information.
Additionally,device120 and130 are capable of synchronously playing back, displaying and/or transmitting streams of data. Two streams of data may be considered to be synchronously played back, displayed and/or transmitted if the play back, display or transmission of each stream has a special temporal relation to that of the other, such that the streams of data in combination are properly perceived by an observer, or properly received or processed by a device. For example, the audio data and the video data for a television program are played back and displayed, respectively, synchronously when the combined data is perceived in the intended manner by an observer.
Device120 anddevice130 are additionally capable of processing, and/or synchronously displaying or playing back received data. For example, if video data is received by a video device (e.g. device120 and/or device130), then that device may visually display the data or data derived from the received data on a screen. Alternatively, if audio data is received by an audio-capable device (e.g. device120 and/or device130), then the device may audibly play back the data or data derived from the received data through a speaker.Device120 anddevice130 may additionally include a processor and/or a memory.
FIG. 1 additionally shows thatagent100 is connected tonetwork110.Agent100 is capable of receiving commands from a device (e.g. from one or both ofdevice120 anddevice130, or a third device) for the transmission of data, and transmitting a first stream of data todevice120 and a second stream of data todevice130, wherein the first and second streams of data are complementary data.Agent100 in particular is capable of receiving and responding to a command to transmit a first stream of data to a first device over a network and a second stream of data to a second device over the network, wherein the first and second streams of data form complementary data.Agent100 may include a processor and a memory in addition to a connection or connections to one or more networks.
Agent100 may determine the timing of the transmission of data to the first and second devices such that the data, when displayed and/or played back in real-time by the first and second device, is properly synchronized. For example, if the first stream of data is video data corresponding to an audiovisual recording (e.g. a television program) and the second stream of data is audio data corresponding to the audiovisual program, thenagent100 may transmit the first and second streams of data such that someone in proximity to both the first and second devices observes the audiovisual program properly without any lag time between the video data and the audio data.Agent100, to correctly time the transmission of the first and second streams of data for proper observation at the first and second device, may measure the respective time delays introduced due to propagation of the data through the network to the first and second devices, and compensate by delaying the first and second streams appropriately. For example, ifnetwork110 is the Internet,agent100 may use the Packet Internet Groper (“ping”) utility (e.g. see Internet Control Message Protocol, RFC 792) to send a packet of data to each of the first and second devices, and measure the time taken for a response to each ping. Then, one half of the difference in the respective delay times is the relative delay that would be introduced into the transmissions of the data streams to the first and second device. The relative delay can be compensated by delaying the data stream corresponding to the shorter delay time by the relative delay amount.
Other methods of synchronizing that are well-known to those skilled in the art may also be used in conjunction with embodiments of the present invention.
Alternatively, data received at the first and second device may be stored in memory and displayed and/or played back from memory. The first and second streams of data may be displayed and/or played back in a properly synchronized fashion in this case as well. For example,agent100 may transmit timing data to each of the first and second devices specifying the beginning time of display and/or playback from memory of the first and second data streams such that a user will observe the display and/or playback of the two streams of data in synchronicity. For example,agent100 may transmit the message “begin playback at 4:00 p.m. Eastern Standard Time” to both the first and second devices. The first and second devices may then each begin the synchronous display and/or playback of their respective streams of data at 4:00 pm, Eastern Standard Time.
Alternatively, a user may issue a command to one of the devices (e.g., by pressing a button) to begin synchronous display and/or playback of data stored in the memories of the first and second devices. Such action may cause that device to transmit a notify signal toagent100.Agent100 may then determine the relative delay in the transmission paths to the first and second devices in the manner set forth earlier. Then,agent100 may send a begin display and/or begin playback signal to each of the first and second devices wherein the begin display (or begin playback) signal corresponding to the shorter transmission path is delayed by the relative delay. If each device begins display and/or playback of the data from memory when it receives the begin display (or begin playback) signal fromagent100, then the first and second signals will be properly synchronized as observed by the user.
FIG. 2 shows a system in accordance with embodiments of the present invention in whichdevice120 is connected to afirst network210 anddevice130 is connected to asecond network215. Each ofnetwork210 andnetwork215 may be the Internet, an intranet, a television network, a wireless network, a public switched telephone network, a combination of these networks, or any other network.Gateway server225 is connected to bothnetwork210 andnetwork215, and is capable of receiving commands and/or data from either network for transmission to a specified destination, properly formatting received commands and/or data for transmission through the other network, and transmitting the properly formatted data through the other network to the specified destination.FIG. 2shows agent100 to be a part ofnetwork210, althoughagent100 could instead be a part ofnetwork215, or a part of bothnetwork210 andnetwork215. Apart from the explicit indication of two different networks connected by a gateway server, the system shown inFIG. 1 is similar to that shown inFIG. 2.
FIG. 3 shows a system in an embodiment of the present invention. In this embodiment,device320 is a video device capable of displaying video data that is connected to network310, which is a network capable of carrying the transmission of video data, e.g., the Internet or a television network.FIG. 3 additionally showsdevice330, which is capable of displaying visual, textual data.Device330 is connected to network315, which is capable of carrying the transmission of textual data.Gateway325 is connected to bothnetwork310 andnetwork315, and is capable of receiving data and/or commands through at least one of the networks for transmission to a specified destination, properly formatting and translating the data and/or commands for transmission through the other network, and transmitting the formatted and translated data and/or commands though the other network to the specified destination. Agent300 is capable of receiving commands from a device (e.g., one or both ofdevice320 anddevice330, or a third device) for the transmission of data, and transmitting a first stream of data todevice320 and a second stream of data todevice330, wherein the first and second streams of data are complementary data. Agent300 may also include a processor and a memory.
The system shown inFIG. 3 can in particular be of benefit to an audio-impaired user. For example, the user may employ a hand-held device (e.g. device330) that is connected through a wireless network (e.g. network315) to agent300. In this implementation, the user, wishing to see subtitles corresponding to a video program being displayed onvideo device320, may press a button ondevice330 or otherwise issue a command todevice330 for displaying subtitles.Device330 may transmit this request to agent300. In response, agent300, which is connected throughgateway server325 to network310 (and capable of detecting and tracking the program being displayed on video device320), may transmit properly synchronized subtitles corresponding to the program being displayed onvideo device320, todevice330. In this manner, the user is able to observe the complementary data that forms the program in a manner that is maximally useful to him/her and not distracting to other viewers of the program being displayed ondevice320. This embodiment may also be used where the program being displayed onvideo device320 is in a language that is foreign to the user. In this case, agent300 may transmit synchronized subtitles or audio signals in the user's language corresponding to the program, todevice330.
There are many other contexts in which the systems shown inFIGS. 1-3 can be of benefit. For example, a navigation system can be implemented with the option of audible output. In this context,device120 inFIG. 1 or2 is a navigation system installed in a vehicle that is capable of assisting the operator in navigating the vehicle. The navigation system may be connected through, for example, a wireless connection to the Internet (e.g. network10 inFIG. 1 ornetwork210 inFIG. 2).Agent100, which is connected todevice120 through network110 (or210), is capable of generating and transmitting supplementary information, or providing supplementary services, that can be used by the operator of the vehicle in connection with navigating the vehicle. For example,agent100 may track the location of the vehicle through transmissions fromdevice120 and determine the location of services near the vehicle; e.g., the location of hospitals, banks, gasoline stations and other services in the vicinity of the current position of the vehicle.Agent100 may then transmit this information, either through the same network (network110 ofFIG. 1) or through another network (e.g. network215 ofFIG. 215) todevice130, which is in possession of the operator of the vehicle. For example,device130 may be a mobile, hand-held portable device (e.g., a personal digital assistant, a cellular phone, a pocket computer) that the operator can use even when not present inside the vehicle.
Alternatively,device130 may be a device that receives and plays back audible instructions corresponding to directions displayed on the navigation system. For example,device130 may play back instructions such as “turn left at the next intersection” that may allow the operator to receive navigational instructions without diverting his/her attention from the task of operating the vehicle.
FIG. 4 shows an embodiment of the present invention. At step410, a command is received through a network for the synchronous transmission of data. For example,agent100 ofFIG. 1 may receive a command fromdevice120,device130 or a third device for the synchronous transmission of complementary data todevice120 anddevice130.
Atstep420, first data is transmitted to a first device synchronously with second data to a second device, wherein the first data and the second data are complementary. For example,agent100 ofFIG. 1 may synchronously transmit first data todevice120 and second data todevice130.
In another aspect of the present invention, the systems shown inFIGS. 1 and 2 can be used for the remote control of devices without synchronous transmission of complementary data. For example, commands transmitted bydevice120 throughnetwork110 inFIG. 1 may causeagent100 to in turn transmit commands to controldevice130. One example of such a system is shown inFIG. 5. InFIG. 5,phone520 and525 are connected to the Public Switched Telephone Network (“PSTN”)550, which containsagent500.PSTN550 is connected togateway server540, which is in turn connected toInternet560.Device530 is connected toInternet560, for example, through a wireless connection. In this embodiment,device530 can transmit commands to causephone520, for example, to dial and connect tophone525. In one application of this system,phone520 is a head-phone that can be carried on the head of the operator, anddevice530 is a personal digital assistant (“PDA”) containing the address book of the operator. The operator can select an entry from the address book inPDA530, for example, the entry corresponding to the telephone number forphone525, for connection tophone520.PDA530 may then transmit a command throughInternet560,gateway540 andPSTN550 toagent500 for connectingphone520 tophone525.Agent500 may then connectphone520 tophone525. In this manner, a telephone may be controlled remotely through a network.
Variations of the systems shown inFIGS. 1 and 2 can be used to control other types of devices through a network in the same manner as just described for controlling phones. For example, the system shown inFIG. 1 orFIG. 2 can be used to control appliances (e.g., heating, cooling, lighting, music systems and other devices) in the same manner as described above, wheredevice120 is an appliance connected to a network of appliances.
Control of a device may pertain to either or both of i) controlling the setup of a communication channel with another device; and, ii) controlling the functionality of the device, or functionality in connection with the device, after a communication channel with another device has been established.
An advantage of an embodiment of the invention derives from the flexibility of a mobile and/or hand-held device such as a PDA being used to control another device through one or more networks, such that complementary, synchronous streams of data, intended for observation in combination by users and/or entities, can be transmitted to each of the PDA and the device.
A method and system have been disclosed for controlling devices through a network. In particular, a method and system have been disclosed for remotely controlling a device for the synchronous transmission of complementary data to a second and third device. The present invention has been described in terms of several embodiments solely for the purpose of illustration. Persons skilled in the art will recognize from this description that the invention is not limited to the embodiments described, but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.