WO2002025897A1 - Data communications - Google Patents

Data communications Download PDF

Info

Publication number
WO2002025897A1
WO2002025897A1 PCT/GB2001/004099 GB0104099W WO0225897A1 WO 2002025897 A1 WO2002025897 A1 WO 2002025897A1 GB 0104099 W GB0104099 W GB 0104099W WO 0225897 A1 WO0225897 A1 WO 0225897A1
Authority
WO
WIPO (PCT)
Prior art keywords
hypermedia
consumer electronics
data
message
electronics device
Prior art date
Application number
PCT/GB2001/004099
Other languages
French (fr)
Inventor
Janko Mrsic-Flogel
Derek Martin Reynolds
Zorislav Sojat
Marco Bianchessi
Stefano Sala
Original Assignee
Paradox Software Limited
Stmicroelectronics N.V.
Stmicroelectronics Srl
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Paradox Software Limited, Stmicroelectronics N.V., Stmicroelectronics Srl filed Critical Paradox Software Limited
Priority to AU2001286096A priority Critical patent/AU2001286096A1/en
Priority to EP01965455A priority patent/EP1317837A1/en
Publication of WO2002025897A1 publication Critical patent/WO2002025897A1/en
Priority to US11/640,804 priority patent/US7565210B2/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0273Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using web services for network management, e.g. simple object access protocol [SOAP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Definitions

  • a method of controlling a consumer electronics device using a remote data processing device comprising the following steps: a) the consumer electronics device generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) the consumer electronics device sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol; c) the remote data processing device presenting the one or more menu options to a user via a man-machine interface; d) the user selecting one or more of the menu options using the man-machine interface; e) the remote data processing device generating and sending to the consumer electronics device a control message in response to the user selection; f) the consumer electronics device performing the corresponding action or actions in response to
  • a data processing device comprising proximity bearer communications means and hypermedia transport protocol message generation means, wherein the device is adapted to communicate with remote data processing devices using the hypermedia transport protocol over the proximity bearer.
  • GSM for MSISDN
  • Bluetooth for BTi
  • IrDA for i
  • RFC for HTTP
  • the Bluetooth Link manager supports inquiry and paging proceedures which allow a Bluetooth module discover which units are in its transmission range.
  • This GIAC general inquiry mode allows the source bluetooth device to select certain device types via a DIAC (dediacted inquiry access code)
  • Each device connected to the bus has an individual address to allow any device to communicate with ay other device on the bus. Communication is done on a master-slave basis however the bus is a true multi-master bus with collision detection and arbitration between masters.
  • the diagram above shows the modular system overview of the HCS. We have segmented the system into natural modules and domains, relating to the Hypertext Controller (HC) and the Device Domain (DD).
  • the Device Domain includes the PLC Domain which performs the Hypertext Control and Access, as in most use cases the PLC is situated within the consumer electronic product.
  • This module handles Hypertext Protocol Session as well as configuring the HCVM for execution of required Compiled
  • the headers that the DHCI requires are the following:
  • the HC Upon choosing PB Detection the HC shall commence filtered detection of PB Devices. The filtering is done by forming an internal list of all CED devices which responded to the unique
  • the Compiled Code is the binary file that is produced by compiling and assembling a source code of a program written in the HIPE Language.
  • the CC is of a specific type as it contains device-specific control and/or observation command definitions for one or more devices. Furthermore, the CC contains control and observation menu definitions defined in one or more human languages - used for internationalization.
  • Use-Level PIN code is attributed to any allowed HC for a particular level of usage of the CED system
  • Figures 1-12 Examples of MMI on a mobile phone as HC.
  • the example below shows control of basic CD player function using a I 2 C-bus-controlled CD player.
  • the program enables the user to control the player in English and Croatian (dependent on jumper settings).
  • GOTO LOCALE redo

Abstract

The present invention provides methods of, computer programs for and apparatus for control and/or observation of a device with communication capabilities by a controller device with hypertext or hypermedia communications capabilities. More particular, but not exclusively, the present invention relates to methods of, computer programs for and apparatus for control and observation of a consumer electronics device with communications capability form a mobile controller device with hypertext or hypermedia communications capability over a proximity bearer.

Description

DATA COMMUNICATIONS
Field of the Present Invention
The present invention relates to methods of, computer programs for and apparatus for control and/or observation of a device with communication capabilities by a controller device with hypertext or hypermedia communication capabilities. More particular, but not exclusively, the present invention relates to methods of, computer programs for and apparatus for control and observation of a consumer electronics device with communications capability from a mobile controller device with hypertext or hypermedia communications capability over a proximity bearer.
Background of the Present Invention
Techniques of remotely controlling consumer electronics devices, such as CD players are known. Conventional remote controllers are device-specific and factory-programmed - i.e. pre-programmed in an unchangeable way - to operate the particular device. Typically, such remote controllers will have keypads with buttons which, when pressed, will instruct the device to perform a particular function. Often, the remote controller will communicate with the device using Infra Red Data Association (IrDA) as the bearer medium and both the controller and the device will have IrDA communications hardware and software entities - i.e. IrDA transmitters and/or receivers, and IrDA protocol stacks. Most remote controllers have a one-way communication relationship with the device they control. Thus, instructions are sent from the remote controller to the device but data is not sent from the device back to the remote controller.
Figure 1 is a schematic diagram showing the one-way flow of control data from the controller side (i.e. a remote controller) to the controlled side (i.e. the consumer electronics device) according to the prior art.
Controllers with two-way communications relationships with devices are known. For example, Sony™ have developed remote controllers which are factory-programmed for Sony™ devices but which have the capability of receiving status information from those devices and displaying it to a user on a display screen on the remote controller.
User-programmable remote controllers are also known. For example, the Philips Pronto™ and the Marantz™ RC500. Typically, user-programmable remote controllers are factory-programmed for particular devices but may be re- programmed by a user to function as remote controllers for new devices by either learning the control messages used by a device-specific factory- programmed remote controller (i.e. by pointing the factory-programmed remote controller IrDA transmitter at an IrDA receiver of the re-programmable controller which learns the control messages parasitically as the user exercises the control options available on the factory-programmed controller), or by connecting the re-programmable controller to a computing device, such as a personal computer (PC) and downloading control programs pre-configured for the new device from the Internet.
Consumer electronics devices connected to the Internet are known. For example, microwave ovens are known which may be connected to the Internet using a modem and the public switched telephone network (PSTN) for downloading cooking settings. Also, vending machines, such as Coke™ vending machines, are known which have connection to a data network and which include a server, such as a finger daemon server, for remote interrogation by a client device also connected to the data network. This may be used by a user of the remote client device to find out whether the Coke™ machine has any cans available for vending without the user needing to physically go to the machine.
One problem with the above-described approach to controlling devices is that the controller is typically specific to a particular device or a set of particular devices and must be pre-programmed (either by the manufacturer or the user) with all the capabilities of the controlled device that the user wishes to control. Another problem with the above-described approaches to controlling devices is that the method of control is unreliable. For example, one-way remote controllers have no way of determining whether a user instruction has been properly received by the device. This is particularly the case with IrDA remote controllers which require line of sight to the device. Furthermore, with two-way communication between remote controller and device, reliability can be even more of a problem. For example, where the remote controller maintains state relating to the operational status of the device, the unreliability of communicating commands to the device and the unreliability of receiving status from the device means that the state maintained in the remote controller may not be synchronised with the actual state of the device. One problem with the above described approach to receiving status information at a controller device from a controlled device is that the controlled device must have knowledge of the capabilities of the controller device - for example, the display capabilities of the controller device.
Summary of the Present Invention
According to a first aspect of the present invention, there is provided a method of providing a remote data processing device with control data, the control data enabling a user to control the operation of a consumer electronics device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) the consumer electronics device sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
According to a second aspect of the present invention, there is provided a method of providing a remote data processing device with data representing the operational state of a consumer electronics device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message in dependence on its operational state; and b) sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
According to a third aspect of the present invention, there is provided a method of controlling a consumer electronics device using a remote data processing device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) the consumer electronics device sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol; c) the remote data processing device presenting the one or more menu options to a user via a man-machine interface; d) the user selecting one or more of the menu options using the man-machine interface; e) the remote data processing device generating and sending to the consumer electronics device a control message in response to the user selection; f) the consumer electronics device performing the corresponding action or actions in response to the received control message. According to a fourth aspect of the present invention, there is provided a consumer electronics device adapted to provide a remote data processing device with control data, the control data enabling a user to control the operation of the consumer electronics device, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) means for sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
According to a fifth aspect of the present invention, there is provided a consumer electronics device adapted to provide a remote data processing device with data representing its operational state, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message in dependence on its operational state; and b) means for sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
According to a sixth aspect of the present invention, there is provided a consumer electronics device adapted to be controlled using a remote data processing device, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) means for sending a hypermedia data message to the remote data processing device using the hypermedia data communications protocol; c) means for receiving a control message from the remote data processing device using the hypermedia data communications protocol; d) means for performing one or more actions in response to a received control message.
According to a seventh aspect of the present invention, there is provided a control unit for a consumer electronics device, the control unit being adapted to provide a remote data processing device with control data, the control data enabling a user to control the operation of the consumer electronics device, the control unit comprising: a) means for determining the operational state of the consumer electronics device; b) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device; c) means for sending the hypermedia data message to the remote data processing device using a hypermedia data communications protocol.
According to an eighth aspect of the present invention, there is provided a control unit for a consumer electronics device, the control unit being adapted to provide a remote data processing device with data representing its operational state, the control unit comprising the following: a) means for determining the operational state of the consumer electronics device; b) means for generating a hypermedia data message in dependence on its operational state; and c) means for sending the hypermedia data message to the remote data processing device using a hypermedia data communications protocol.
According to a ninth aspect of the present invention, there is provided a control unit for a consumer electronics device, the control unit comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving one or more control messages corresponding to one or more of the menu options; b) means for sending the hypermedia data message to a remote data processing device using a hypermedia data communications protocol; c) means for receiving a control message from a remote data processing device; d) means for controlling the consumer electronics device to perform one or more actions in response to a received control message. According to a tenth aspect of the present invention, there is provided an integrated circuit for a consumer electronics device comprising: a) communications means adapted to communicate using a proximity bearer; b) microprocessor control unit means; c) interface means for electronic communication with a controller of the consumer electronics device.
According to an eleventh aspect of the present invention, there is provided a data processing device comprising proximity bearer communications means and hypermedia transport protocol message generation means, wherein the device is adapted to communicate with remote data processing devices using the hypermedia transport protocol over the proximity bearer.
According to a twelfth aspect of the present invention, there is provided a method of controlling a consumer electronics device, the consumer electronics device being capable of communicating using a hypermedia data communications protocol over a proximity bearer, the method comprising the following steps: a) the consumer electronics device receiving a hypermedia request message; b) the consumer electronics device determining one or more actions to be performed by the consumer electronics device, the determining being performed in dependence on the hypermedia request message; c) the consumer electronics device performing the one or more actions. According to a thirteenth aspect of the present invention, there is provided a method of compiling a computer program into a machine code program, the computer program being written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages.
According to a fourteenth aspect of the present invention, there is provided a method of controlling a controlled data processing device using a controller data processing device, the controlled device and controller device both being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the controlled device sending a hypermedia data message to the controller device using the hypermedia protocol, the hypermedia data message comprising one or more hyperlinks; b) the controller device presenting the hypermedia data message to a user of the controller device using a man-machine interface of the controller device; c) the user selecting one or more of the one or more hyperlinks using the man-machine interface; d) in response to the user selection, the controller device sending a hypermedia request message to the controlled device using the hypermedia protocol; and e) the controlled device performing an action in response to the hypermedia request message received.
According to a fifteenth aspect of the present invention, there is provided a method of controlling a controlled data processing device using a controller data processing device, the controlled device being capable of communication using a data communications protocol, the controller device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the controlled device sending a data message to a mediating data processing device using the data communications protocol, the mediating device being capable of communication using both the data communications protocol and the hypermedia data communications protocol, b) in response to the data message received, the mediating device sending a hypermedia data message to the controller device using the hypermedia data communications protocol, the hypermedia message comprising one or more hyperlinks; c) the controller device presenting the hypermedia data message to a user of the controller device using a man-machine interface of the controller device; d) the user selecting one or more of the one or more hyperlinks using the man-machine interface; e) in response to the user selection, the controller device sending a hypermedia request message to the mediating device using the hypermedia data communications protocol; f) in response to the hypermedia request message received, the mediating device sending a control data message to the controlled device using the data communications protocol; and g) the controlled device performing an action in response to the control data message received.
According to a sixteenth aspect of the present invention, there is provided a method of receiving status information from a consumer electronics device at a remote data processing device, the consumer electronics device and remote device both being capable of communication using a hypermedia data communications protocol over a proximity bearer, the method comprising the following steps: a) the consumer electronics device sending a hypermedia data message to the remote device using the hypermedia protocol over the proximity bearer, the hypermedia data message comprising data representing the state of the consumer electronics device: b) the remote device receiving the hypermedia data message using the hypermedia data communications protocol over the proximity bearer; and c) the remote device presenting the hypermedia data message to a user of the remote device using a man-machine interface of the controller device.
According to a seventeenth aspect of the present invention, there is provided a method of receiving status information from a consumer electronic device at a remote data processing device, the remote data processing device being capable of communication using a hypermedia data communications protocol over a proximity bearer, the consumer electronics device being capable of communication using a data communications protocol, the method comprising the following steps: a) the consumer electronics device sending a data message to a mediating data processing device using the data communications protocol, the mediating data processing device being capable of communication using both the data communications protocol and the hypermedia data communications protocol, data message comprising data representing the state of the consumer electronics device, the data message comprising data representing the state of the consumer electronics device; b) in response to the data message received, the mediating device sending a hypermedia data message to the remote device using the hypermedia data communication protocol over the proximity bearer, the hypermedia data message comprising data representing the state of the consumer electronics device; c) the remote device receiving the hypermedia data message using the hypermedia data communications protocol over the proximity bearer; and d) the remote device presenting the hypermedia data message to a user of the remote device using a man-machine interface of the controller device. Further aspects of the present invention are set out in the appended claims.
One advantage of the present invention is that it facilitates control and/or observation of controlled devices without the controller device needing to have any prior knowledge or expectations of the capabilities of the controlled device, save that it is capable of hypermedia communication with the controller device. Thus, the controller device need not be pre-programmed with device- specific information either by a user or manufacturer as has been the case according to the prior art described above.
Another advantage of the present invention is that the control and/or observation communication between a controller device and a controlled is reliable and any controlled device operational state maintained by the controller device will be reliably synchronised with the actual operational state of the controlled device.
Another advantage of the present invention is that the controller device need not store data enabling the control and/or observation of the controlled device permanently or for as long as required by prior art systems described above.
Another advantage of the present invention is that the controller device need not store data enabling the control and/or observation of the controlled device in a manner which are currently not valid due to the operational state of the controlled device as required by prior art systems described above. For example, the controller device will not store data enabling the control of a controlled CD player to stop playing a CD when the CD player is not currently playing a CD.
There now follows, by way of example only, a detailed description of the present invention in which:
Brief Description of Diagrams Figure 1 is a schematic diagram showing the flow of control data in a remote control arrangement according to the prior art;
Figure 2 is a schematic diagram showing the flow of control data in a remote control arrangement according to an embodiment of the present invention; Figure 3 a) and b) are schematic diagrams showing the system architecture of a remote controller and controlled device according to embodiments of the present invention;
Figures 4a) and b) are schematic diagrams showing interactions between a remote controller and a controlled device according to embodiments of the present invention;
Figures 5, 6 and 7 are flow diagrams showing the initial and subsequent detection procedures for establishing communications links between controlled devices and controller devices according to embodiments of the present invention; Figures 8a) to 1) show typical user interfaces presented to a user of a remote controller according to the present invention; and
Figure 9 is a circuit diagram of an control unit for a controlled device according to an embodiment the present invention.
Detailed Description of the Present Invention
By way of a brief overview, the present invention (sometimes referred to as the Hypertext or Hypermedia Control System or HCS) provides a system for control and/or observation of a controlled device, such as a consumer electronics device, by a controller, such as a AP-enabled mobile phone, in which the controller need not have any prior knowledge or expectations of the capabilities, or even the presence of the controlled device. The controller is essentially stateless and has not been programmed either by the manufacturer or the user of the controlled device. Similarly, the controlled device has no pre- configured knowledge or expectations of the controller. However, the controller and the controlled device are both able to communicate using a hypermedia protocol, such as the Hypertext Transfer Protocol (HTTP) or the
Wireless Transfer Protocol (WTP). Typically, but not necessarily, the controller and the controlled device will communicate over a proximity bearer (PB) such as Bluetooth™ (BT).
Figure 2 is a schematic diagram showing the flow of control data in a remote control arrangement according to an embodiment of the present invention in which it is shown that data may flow from the controlled side to the controller side as well as from the controller side to the controlled side. Data flowing from the control side to the controller side may include data representing the operational status of the controlled device and/or data for programming the controller device to enable it to send control data to the controlled device for controlling the controlled device. Figure 3a) is a schematic diagram showing the system architecture of a remote controller and controlled device according to an embodiment of the present invention. Domain 1 is the hypermedia control system domain incorporating a hypermedia controller domain 10 and a device domain 20. The hypermedia controller domain may correspond to a data processing device such as a mobile phone or a personal digital assistant (PDA), or any other data processing device whether fixed or mobile. The hypermedia control domain 10 comprises a controller man-machine interface (MMI) 12 such as a screen and a keypad and a hypermedia protocol stack, proximity bearer stack and proximity bearer equipment 14. Typically, the hypermedia control domain device will operate a hypermedia application such as a Web or WAP browser application.
They hypermedia control domain device may receive hypermedia data messages and send hypermedia request messages or other request messages using protocol and bearer stack 14. The device domain 20 comprises a proximity link controller (PLC) domain 22 and a device controller domain 24. The PLC domain 22 comprises a hypermedia protocol stack, proximity bearer stack and proximity bearer equipment 26 corresponding to the controller-side stack and bearer arrangement 14. The device domain is able to receive hypertext request messages or other control messages using stack and bearer arrangement 26, in particular it is able to receive such messages from the hypermedia control domain device. Messages received are filtered using hypermedia control request filter (HCRF) 28 which filters hypermedia request messages to device hypertext control interpreter (DHCI) 30. DHCI 30 is a computer program or microcoded sub-system that interprets hypermedia requests using hypermedia control virtual machine (HCNM) 32 itself a computer program or microcoded sub-system. The combination of DHCI 30 and HCNM 32 is able to interpret hypertext request messages received as control messages for controlling the controlled device. This is achieved by passing control messages to device controller domain 24 using device bus protocol 34. Preferably, the PLC is arranged to communicate using two or more hypermedia protocols such as WAP, Web, iMode etc. so that control is possible using controller devices capable of communicating using any one of the hypermedia protocols.
Thus, a hypermedia control device is able to control a remote device, such as a consumer electronics device, using a hypertext data communications protocol over a proximity bearer. In other embodiments of the present invention, the controller device is able to control the control device using the proximity bearer alone. In other embodiments of the present invention, the controller device and the controlled device communicate using a link level communications bearer other than a proximity bearer. For example, they may communicate using physical cabling or another data communications network such as an Internet protocol network or a public switched telephone network or a cellular network. The combination of HCNM 32 and DHCI 30 are also arranged to be capable of interrogating the device controller 24 to receive data representing the operational status of the controlled device. Using this data, HCVM 32 and DHCI 30 are able to generate hypermedia data messages comprising data representing the operational state of the control device and sending these data messages to the controller device using the stack and bearer arrangement 26. Upon receipt of the hypermedia data messages using stack and bearer arrangement 14, the controller device is able to display the hypermedia data message to a user of the controller device using the MMI 12. For example, the controller device may display a Web page or a WAP card or deck to the user via a browser application. Thus, the control device is able to present data representing the operational state of the device to a user of a remote controller device in the form of a hypermedia data message.
Furthermore, the hypermedia data messages generated by the controlled device may include hyperlinks or other menu options which, when presented to a user of the controller device, may be selected or activated by the user thereby causing the controller device to generate a hypertext request message or other control message for sending to the control device and thereby controlling the controlled device as has been described above. These hyperlinks or menu options may represent the currently available actions that may be performed by the control device. For example, if the control device is a CD player and the CD player is currently playing a CD, then a hyperlink or menu option for stopping the CD player may be included in the hypermedia data message, but not a hyperlink or menu option for starting the CD player to play a CD. Thus, it can be seen that the control device arrangement as shown in Figure 3a) is able to provide a controller device with both its operational status and data enabling the controller device to control the controlled device.
Figure 3 b) is a schematic diagram showing the system architecture of a remote controller and control device according to an embodiment of the present invention, as described in general with reference to Figure 3 a) above. Figure 3b) shows a particular embodiment in which the stack and bearer arrangements 14 and 26 are WAP over BT stack and bearer arrangements and the device bus protocol 34 and device controller 24 use the I2C protocol. Figures 4a) and 4b) are schematic diagrams showing interactions between the remote controller and the control device according to embodiments of the present invention. Figure 4a) shows one embodiment of the present invention in which the PLC merely formats and relays hypermedia request messages received from the controller device for passing to the controller of the controlled device for obtaining status or controlling the control device.
Similarly, the PLC merely formats and relays status information received from the control device as hypertext data message for sending to the controller device. Figure 4b) shows an alternative embodiment in which the PLC interprets hypermedia request messages received from the controller device using a compiled control program code specific to the controlled device and generates a control message for controlling or interrogating the controlled device. Similarly, operational status data from the controlled device is interpreted and used to generate a hypertext data message for sending to the controller device. The compiled hypertext control language code used in the embodiment described with reference to Figure 4b) is executed by the HCVM and controls the interaction between the controller device and the controlled device. The compiled code is compiled from a source program written in a programming language which has functions or methods for interrogating a controlled device via a controller interface to obtain the operational status of the controlled device and functions and methods for issuing commands to the controlled device via a controller interface. The language also has functions or methods for causing the generation of hypertext data messages comprising data representing the operational state of the controlled device and/or comprising data enabling the controller device to control the controlled device as described above.
The compiled code is executed by the HCNM, but the HCVM does not itself have the ability to generate hypermedia data messages. This is left to the DHCI which functions as a wrapper to the HCNM and generates hypermedia data messages in response to instructions received from the HCNM. This is the case in both embodiments described with reference to Figures 4a) and 4b).
Figures 5, 6 and 7 are flow diagrams showing the initial and subsequent detection procedures operated by control devices to detect controller devices according to embodiments of the present invention. Figure 5 shows a flow diagram for initial detection of a controllable device by a controller device. The controller device is, for example, a WAP enabled mobile phone. Initially, the phone is in idle mode at step 40. Upon selection of an option to "find local devices" displayed on the phone MMI at step 42, the phone performs detection of local PLCs at step 44. At step 46, if the phone has not detected a local PLC, the process returns to step 40. However, if the phone has detected a local PLC, the process continues to step 48 where the phone displays a selection menu on the MMI showing the one or more PLCs detected in the locality. During detection at step 44, the MMI of the phone will look like Figure 8a). At steps 48 and 50, the MMI of the phone will look like Figure 8b). For controller devices and controlled devices using BT as a proximity bearer, standard BT detection procedures are user to perform the steps described above.
Figure 6 is a flow diagram showing the process followed when the PLC of a controlled device has not previously been accessed by the controller device. Continuing from step 50, the user selects a PLC using the MMI of the phone at step 52. This generates a hypermedia request to access a "home page" of the PLC at step 54. At step 56 the PLC response to the request is pending and at step 58 the PLC, knowing that the controller device has not been registered in an access register, provides a response to the request requiring input of a personal identification number (PIN) from the user. The PLC is aware that the controller device has not previously accessed the PLC, because it maintains a controller device or user identifier, such as a BT identifier or MSISDN in an access register. At step 60, the user enters the required PIN using the MMI of the controller device and a message is passed to the controlled device providing this PIN. At step 62, the PLC responds with the home page of the controlled device. At step 64, the PLC enters a proximity link active state.
Figure 7 is a flow diagram showing the corresponding process followed where the PLC recognises the controller device requesting access using a BT identifier or MSISDN identifier obtained from the controller device. The flow diagram is the same as for Figure 6 except that steps 58 and 60 are omitted.
Once the PLC of a controlled device has sent a hypermedia data message constituting a "home page" of the controlled device to the controller device, the user of the controller device may navigate through menu options presented on the MMI in a manner similar to navigating through a Internet Web site having first accessed the home page of the Web site. However, unlike navigating through a Web site, the actions of the user of the controller device may result in the control of the controlled device. Furthermore, the current status of the controlled device may be presented to the user of the controller device and menu options corresponding to currently available actions that may be performed by the controlled device are dynamically presented to the user of the controller device as the user navigates/controls the controlled device. Thus the controller device is being dynamically programmed to control the controlled device by the controlled device itself.
Figures 8a) to 81) show the MMI of a controller device, i.e. the screen and keypad of a Web or WAP -enabled mobile phone as a user navigates through menu options presented to him. After selecting an option to search for local devices using, for example, standard BT detection procedures, the mobile phone displays a message as shown in Figure 8a), indicating that the phone is searching for a PLC in the neighbourhood. Figure 8b) shows a selection menu for selecting one of three controllable devices equipped with PLCs in the neighbourhood. The user selects a Sony™ CDP-123 CD player. Figure 8c) shows a home page of the Sony™ player giving the user options to play a CD, select tracks, receive disk information or open the CD tray. No option to stop or pause the playing of the CD presented because the CD is not currently playing. The menu options are presented are hyperlinks which when selected by the user generate hypermedia request messages for sending to the controlled device.
In Figures 8a) and 8b) the screen displayed by the phone is not a displayed Web or WAP page or card, although if the phone were equipped with its own PLC functioning as a proxy for remote PLCs then a Web or WAP page or card may be displayed by the local PLC. However, Figure 8c) shows a Web or WAP page or card received from the PLC of the controlled device and presents it to the user of the phone by a browser application. Figure 8d) shows another page or card displayed by the phone. The page or card displays status information - such as the fact that track 12 is playing - and menu options corresponding to actions of the control device that may be instructed by the user. Figure 8e) shows a page or card displayed by the phone in which the user may select complex options such as the playing of a selected number of tracks of the CD. This may be achieved by using forms or applets for capturing complex user instructions before generating a hypermedia request message for sending to the controlled device. Figures 8f), 8g), 8h), 8k) and 81) relate to security options which may be implemented in the present invention. If the phone has not accessed the PLC of the controlled device before, the PLC may send a PIN request page or card for presentation to the user such as shown in Figure 8g). The user enters a master code provided in documentation accompanying the controlled device and upon submission is presented with a page or card such as shown in Figure 8h) showing a user level PIN access code. If however the master code entered is invalid, the PLC sends a page or card such as shown in Figure 8f). After authentication, the PLC sends normal operational pages or cards to the phone such as shown in Figures 8i) and 8j) and such as described above with reference to Figures 8 c) and 8d). Upon subsequent access by the mobile phone to the PLC of the same controllable device, an initial authentication screen such as shown in Figure 8g) is not presented. Instead, a subsequent authentication screen such as shown in Figure 8k) is presented in which the user is asked to supply a user level PIN. Upon successful entry of the PIN, the PLC proceeds to display normal operational cards or pages such as shown in Figures 8i) and 8j). Figure 81) shows a screen for controlling user level PINs which may be accessed on supply of a master level PIN.
Figure 9 shows a circuit diagram for a control unit, which may be implemented as an integrated circuit, for use in a controlled device such as a consumer electronics device. The control unit comprises a radio frequency front end 70 connected to a proximity bearer protocol core 80 such as a BT core. The control unit also comprises a microprocessor unit 82, random access memory 84 and read only memory 86. The hypermedia protocol stack and proximity bearer stack may be implemented in the proximity core 80. The HCRF, HCNM and DHCI may be stored in ROM 86 and/or RAM 84 and executed by microprocessor 82. Microprocessor 82 may interrogate and control the controller of the consumer electronics device via various interface means 88. These interface means include a universal serial bus (USB), an Inter Integrated Circuit Bus (I2CB), a general parallel input output bus (GPIO) and a Universal Asynchronous Receiver Transmitter (UART).
The present invention is described in further detail in a technical report document appended hereto as Appendix A. It is to be understood that the controller devices of the present invention are not limited to mobile phones or PDAs but may be any data processing device whether fixed or mobile which is capable of hypermedia communication whether over a radio interface or over a wired data network. It is also to be understood that the controlled devices according to the present invention may be any data processing devices capable of hypermedia communication whether over a radio interface or over a wired data network. Typically, but not necessarily, the controlled device will be a consumer electronics device such as a CD player, refrigerator, etc. Throughout this document, the term hypermedia and hypertext have been used to refer to any data representation capable of comprising data object referencing other data objects, such as text, audio or visual data etc. It is also to be understood that, while proximity bearers such as BT and IrDA have been described for providing remote communications between a controller device and a controlled device, the present invention may be implemented using a data communication bearer. For example, communication may take place over local area networks, IP networks, public switched telephone network, or cellular mobile networks such as GSM. Appendix A
I. Foreword
This document describes the Hypertext Control System (HCS), which is a system for controlling and observing a device using a controller capable of hypertext communication.
II. Scope
Description of Remote Control System for Control of Devices via Hypertext over Proximity Bearers.
III. References
a. GSM for MSISDN b. Bluetooth for BTi c. IrDA for i d. RFC for HTTP
IV. Acronyms and abbreviations
BT Bluetooth
Bti Bluetooth Interactive
CED Consumer Electronic Device
DD Device Domain
DHCI Device Hypertext Control Interpreter
GSM Global System Mobile
HC Hypertext Controller
HCID Hypertext Controller Identifier
HCL Hypertext Control Language
HCRF Hypertext Controller Request Filter
HCNM Hypertext Control Virtual
HCVM Hypertext Control Virtual Machine
HEnc Hypertext Encoder
HIPE-L Hypertext Interactive Proximity Environment Language
HPS A Hypertext Protocol Stack
HTTP Hypertext Transport Protocol
IMode Internet Mode (Japanese Mobile Internet Standard)
ISO International Standards Organisation
LC Link Controller
MSISDN Mobile Station International Subscriber Digital Number
PB Proximity Bearer
PLC Proximity Link Controller
WBXML Wireless Binary XML WML Wireless Markup Language
WSP Wireless Session Protocol
Introduction
This document describes the Hypertext Control System (HCS), which is a system for controlling and observing a device using a controller capable of hypertext communication. More particular, but not exclusively, the system relates to methods of, computer programs for, and apparatus for control and observation of a device from a mobile communications device via a proximity bearer.
Background
WAP & WML
The Wireless Application Protocol (WAP) is a standard for for the presentation and delivery of wireless information and telephony services on mobile phones and other wireless terminals. To date wireless terminal manufaturers representing 90 per cent of the worlds market across all technologies have joined the WAP Forum™. The WAP has been developed as much as possible with the use of existing industry standards in particular Internet standards. The WAP forum also has formal liason with International standards and specifications bodies such as: W3C, TIA, ETSI etc These facts make WAP of particular interest as a vehicle for such control systems such as HCS. The markup language used in WAE is Wirelwess Markup Language(WML). WML is a tag-based document language specified as an XML document type. Thus, WML may be generated with many standard authoring tools. Dyamic WML can be generated by such standard mechanisims as CGI, Perl ASP and similar. WML coding has been specially designed to make efficient use of Wireless bearers.
Figure imgf000032_0002
Figure imgf000032_0003
Figure imgf000032_0004
Figure imgf000032_0001
Figure imgf000032_0005
Transport WDP Layer
UDP/IP
Wireless Bearers
Network Layer
GSM CDMA IS-136 PDC Bluetooth
The Wireless Application Protocol Stack Bluetooth
Bluetooth is a short range radio link intended to be a cable replacement between portable and or fixed eletronic devices. Bluetooth operates in the unlicenced ISM band at 2.4GHz. A frequency hop transceiver is applied to combat interference and fading. The symbol rate is lMs/s and a slotted channel is applied with a nominal slot lenght of 625 micro seconds. A TDD multiplex system is used for full duplex operation.Bluetooth can support up to 3 simultaneous voice channels at 64k/bps. Bluetooth provide point to point and point to multipoint connections.
The Bluetooth Link manager supports inquiry and paging proceedures which allow a Bluetooth module discover which units are in its transmission range. This GIAC general inquiry mode allows the source bluetooth device to select certain device types via a DIAC (dediacted inquiry access code)
Figure imgf000033_0001
RFCOMM:
This is the transport layer of Bluetooth with provision for RS- 232 serial port emulation. This protocol supports up to 60 simultaneous connections between Bluetooth Devices. Rfcomm can transmit up to 32Kbps over each link. SDP
This is the Service Discovery Protocol which provides a means for applications to discover which services are available and to determine the characteristics of those available services using an existing L2CAP connection. The service discovery appliation does not make use of the SDP as a means of accessing services but rather as a means of informing the user of a Local Device the services that are available on the Local Device and or via Remote devices.
10
L2CAP
This is the Logical Link control and application Protocol. This provides connection-oreinted and connectionless services to the upper layers.
15
HCl Driver
This establishes a link between the. hardware and the protocol stack, and is specific to the Baseband implementation.
The l2C-Bus
The i2c bus is a simple bi-directional 2-wire bus for efficient inter- IC communication.
The system allows direct connection of IC controllers for interfaces such as LCD controllers I/O ports and as in the example in this document MMI controllers.
The bus consists of 2 lines
SDA Serial Data Line SCL Serial Clock Line
Each device connected to the bus has an individual address to allow any device to communicate with ay other device on the bus. Communication is done on a master-slave basis however the bus is a true multi-master bus with collision detection and arbitration between masters.
Serial 8 bit data transfer is supported fro lOOKb/s to 400Kb/s. The supporting interface chips have spike filtering on the data lines and the maximum number of chips that can be connected is only limited by the line maximum capacitance of 400pF.
Figure imgf000035_0001
Blue Velvet
BlueVelvet is a complete Bluetooth system fully integrated in a single silicon chip. The chip integrates: RF front end, baseband, ROM, RAM, MCU (ARM7TDMI operating to up to 40MHz) and Peripherals A pure CMOS solution is used to achieve a very low cost solution. The RF-CMOS8 process especially optimized for
Bluetooth single chip system is used.
BlueVelvet is compliant with Bluetooth specification Vl.O for Class 2 (OdBm) and for Class I (20dBm) using an external power amplifier. Chip Features
32 KBytes internal SRAM, 200Kbytes internal ROM
Low power consumption, different power modes and wake-ups
Two IRDA interfaces
8 general purpose PIO pins
JTAG debug interface and debug signals for logic analyser support
I2C interface
Integrated 12Mbit/s USB interface V 1.1 in slave mode
PCM
Linear (13-16bit) or U-law or A-Law (8bit) Fr: 8KHz,Clock: 200KHz-2MHz
SW Support
ST is providing a set of base standards licensed from Ericsson™ to ensure interoperability:
Basic Bluetooth stack o Baseband, LMP, HCl, L2CAP, SDP o Higher layer Bluetooth protocols: RFCOMM, TCS-BIN, SDP,... ST is supporting different software implementations
• 2 processors solution based on HCl interface
• 1 processor solution with embedded application
Figure 1 : STw2400 Block Diagram
Figure imgf000036_0001
System Overview
This is a System which allows any device capable of Hypertext communication to control/observe a Device which contains a HCS-Link Controller(HCS-LC). The communication between the Controller and the Controlled Device is typically but not necessarily a Proximity Bearer(PB). In the case of a Proximity bearer this HCS-LC is simply called a Proximity Link Controller(PLC).
Display Controller Side Module
Controlled Side
Proximity ProDrietarv
Proximity Bearer Proximity protocol
Baseband Controlled
Baseband
Module Device
<_ Module
Keyboard or Input device
Comparison with traditional systems
Implicit in a traditional remote control and observation devices the following assumptions:
The Remote Controller has prior knowledge of the command set or protocol used to control the CED device.
The Remote Controller has a specific command set for only a specific device or a specific set of devices from a single manufacturer of CEDs.
Unreliable link for most IrDA-based controllers - no message acknowledgement from the CED to the remote controller.
No security protocol between Remote Controller and CED. Controlled Side
Controller Side
Proprietary Proximity Proprietary
Keyboard protocol Bearer protocol or Input Controlled
IrDA IrDA device Device
HCS is novel in at least the following ways;
1. The Controlled device makes its presence known to any device wishing to control it by identifying the Link as a HCS controlled Link.
2. There may be master-slave or peer to peer control and observation.
3. The Controlling device needs no prior knowledge of any Controlled device other than its compliance to HCS.
4. The instantaneously available command set of the controlled device is communicated to the controlling device via Hypertext.
5. The control MMI is interactive and is programmed as an interactive State machine within the Bti device generating Hypertext Language in response to the Controller Command and the Device State.
6. The interactive MMI State Machine is written in a Language Called HIPE-L which runs on a link embedded Hypertext Virtual Machine. Command Translation Hypertext generation within the HCl (this is specific to our current implementation- not general)
Main features of the HCS System are;
1. Control and observation of a device equipped with a HCS-Link Controller using hypertext communication
2. Controller independence of the Controlled Device, Control Protocols and Command Syntax.
3. HCS-LC discovery and Selection (initiated by prospective controller)
4. HCS-LC Session management
5. HCS-LC Access Rights & Security management
Enhanced Remote Control
Enhanced features of HCS remote control are:
Reliable link between HC and CED: usually there is no notion on a remote controller if a command has succeeded or not. The link is typically not reliable.
2. Real-time CED-status-dependent control and observation menu generation. The generated menu on the HC is dependent on the state of the consumer electronic device (CED). For example if a CD is playing, the options for Pause and Stop CD are displayed. If the CD is stopped then Play option is displayed.
3. Control menus downloaded from the CED/PLC to the HC. Not stored on HC long-term.
4. Interactive control involving both HC and CED/PLC
5. More control using this medium. Each device can provide its own complex structure of menus to the HC (controller).
6. Control and observation status and command menus are passed as hypertext information which is rendered on the HC (Remote
Controller).
7. Hypertext type independence. The controller can cope with generation of a plurality of hypertext types, for example WML, HTML and cHTML over different bearers.
System Architecture
HCS Domain
Device Domain fplc Domain
Device API
Controller Hypertext Hypertext Device Control MMI — H Protocol Protocol HCRF Protocol
_, Stack, — Proximity Pr Sotxaiemkirty
Bearer Stack Bearer Stack
HCVM Device Device
Proximity Proximity Device
Physical Bearer Bearer ' H — * , Bus DHCI ! I Protocol ii Bus
Protocol Layer
The diagram above shows the modular system overview of the HCS. We have segmented the system into natural modules and domains, relating to the Hypertext Controller (HC) and the Device Domain (DD). The Device Domain includes the PLC Domain which performs the Hypertext Control and Access, as in most use cases the PLC is situated within the consumer electronic product.
Proximity Bearer (PB)
A Proximity Bearer (PB) may be defined as a wireless communication channel within an area of less than about 100 meters. An example of such a Bearer is Bluetooth where most communication takes place between devices within a 10 meter radius.
The Hypertext Controller (HC)
This is an apparatus capable of hypertext-based control and/or observation of a selected device over a proximity bearer. More particular, but not exclusively, the HC apparatus may be a mobile communications device or a personal digital assistant (PDA). The HC may have a standard Proximity bearer baseband module or indeed a PLC as described in this HCS description.
Proximity Link Controller (PLC)
This is an apparatus used for detection of devices that are operating using the same bearer or bearers, that manages the proximity bearer, physical link, link integrity and networking over the bearer, link status, unique link identification, connection control amongst other functions. The PLC may additionally include the HCRF and Hypertext Control Interpreter (HCl) .
Hypertext Controller Request Filter (HCRF) This is a filter that directs control and observation-related Hypertext Request to the Hypertext Control Interpreter.
Device Hypertext Control Interpreter (DHCI) This is a computer program that interprets Hypertext Requests using a
Hypertext Control Virtual Machine that executes compiled Hypertext Control Language (HIPE) programs.
Hypertext Controller Virtual Machine (HCVM) This is a virtual Hypertext machine used by the DHCI program to generate the correct Hypertext format and encoding in response to the HC requests. It may also have include in it the format and encoding of the command set for the Device in which the PLC resides*. This allows the programmer of a HCl to issue commands in an abstract way to the Device and issue Hypertext responses independent of the Hypertext type used.
Hypertext Protocol Stack (HPS)
A Hypertext Protocol Stack is a protocol stack based on the ISO model that is required for a particular Hypertext Protocol to be used. For example with a WAP mobile phone, the WAP Server Protocol stack is required on the PLC for WML-based communication and related encoding to take place. Note * (This functionality may alternately be included in a Command transcoder module if the device manufacturer wished to keep proprietary the format and encoding of the device commands allowing third-party programming of the DHCI)
Functional Specification
The Hypertext Controller (HC)
The HC (typically a mobile communications device or a personal digital assistant (PDA)) provides or has access to module providing the following:
1. Proximity Bearer Protocol Stack 2. A Hypertext Communications stack (eg: WAP)
3. Mechanisms for performing Hypertext Communication via this Proximity bearer
4. Mechanisms for Proximity bearer detection
5. Mechanisms for Proximity bearer Selection for use as a Hypertext medium.
Whereas it is not excluded that the HC-MMI may have HCS specific commands it is not a requirement. Typically all of these requirements are fulfilled by a communications device with Hypertext enabled for communications over a detected proximity bearer.(eg: Mobile phone with a WAP enabled Bluetooth bearer)
Proximity Link Controller (PLC) Requirements
This is the core of the HCS system and provides the following Functions:
1. Proximity Bearer Protocol Support 2. Hypertext Communications Support (eg: WAP)
3. Mechanisms for performing Hypertext Communication via this Proximity bearer
4. Mechanisms for Proximity bearer detection and presence signaling 5. Mechanisms for Proximity bearer Selection for use as a
Hypertext medium.
6. Hypertext Request Filtering (HCRF)
7. Hosting of a Hypertext Virtual Machine (HCVM) for execution of the DHCI module 8. Device Bus Protocol support
9. Device Bus specific Command transcoding (optional)
Functionality
This module is responsible for providing a device with the capability of being controller via a HC
Hypertext Controller Request Filter (HCRF)
Requirements
This module is typically but not escentially a component of the PLC which provides the following functions:
1. Decoding of incoming PLC Hypertext Request Headers
2. Filtering one or more URL requests to the DHCI module for processing
3. Transparent transport of non HCS URL requests.
4. Support of multiple Hypertext formats (optional depending on DHCI implemetation)
Functionality
This module has the task of recognising the returned requests for URL based upon their header information and routing it to the DHCI to allow execution of the related Device command. The HCRF uses the a Uniform Resource Locator data string prefix (up to the full length of the URL data string) or coded version thereof to identify Hypertext Requests to be filtered into the Hypertext Control Interpreter. The URL will include the prefix which identifies its control/observation request purpose and other parts of the URL may optionally include a data string describing the requested control or observation command . Alternatively, the control and observation command data may be stored in other parts of the Hypertext Request, such as HTTP Headers in HTTP protocol. Other protocols that may be used for hypertext communication are but are not limited to WSP protocol.
Hypertext Control Language (HCL)
Requirements
The Hypertext Control Language is required to include the following functionality reagrding its syntax: 1. Multi-lingual output definition
2. Definition URL Links and pictograms to be sent to the HC
3. Device bus Command/Response
4. Timing/Timer definitions
Device Hypertext Control Interpreter (DHCI)
Requirements
This module handles Hypertext Protocol Session as well as configuring the HCVM for execution of required Compiled
Code necessary to perform a specific obervation or control or menu display task. This module can be seen as a configuration module for the HCVM. The main required functions are: 1. Invoking and configuration of the HCVM
2. HCVM Response Handling per (Hypertext type, Timeout state, Device state
3. Hypertext Response Dispatching
4. Hypertext Session Management 5. Hypertedxt Request Processing
6. HC and User Profiling
7. HC and User Security
Functionality The DHCI produces hypertext or encoded version of the hypertext in the same Hypertext syntax and human language as the Hypertext Request that was issued by the Hypertext Controller. The menu language may be specified by a Hypertext Protocol Header such and a HTTP Header in HTTP e.g. ("Accepts") or by a Hypertext Controller Identifier - specific setting stored on the PLC.
The headers that the DHCI requires are the following:
• Accepts: language capabilities and character sets
• User- Agent: browser type and version
• Other Specific iMode WAP or HTML headers: used for identification of the Hypertext Protocol and also for guidelines such as capabilities or screen sizes.
The DHCI takes the form of a program written in a langauage called HIPE. This program is compiled to an intermediate format which is readable by the HCVM.
In this way the different responses in the different natural languages may be pre-compiled. The knowlwdge about hypertext encoding is considered fixed and this is part of the
HCVM.
Hypertext Controller Virtual Machine (HCVM)
Requirements
This module is a component of the PLC and is the virtual hypertext machine on which the DHCI code is run. It provides the following functions:
' 1. URL request dependant State Transition management
2. Timeout management
3. Device State enquiry
4. Hypertext generation & formating
5. Device Command generation & formating*
6. Device Command Dispatching *
Functionality
This module adapts its state dependant on the programing of the DHCI as the DHCI will prime the module and configure the HCVM with the following information:
• Hypertext Language currently required (for example WML)
• The parameters that are to be passed top a function as aguments • The function to be executed
• User Specific and HC specific data, such as HCID
The HCVM will the use the Compiled Code (CC) and execute the required function.
The HCVM will return out of the function producing the required Hypertext as output in standard or encoded form and passing sue Hypertext content to teh DHCI.
Note * (This functionality may alternately be included in a Command transcoder module if the device manufacturer wished to keep proprietary the format and encoding of the device commands allowing third-party programming of the DHCI)
The scenario where HIPE and CC are generating Hypertext responses that assumes that the Consumer Device bus provides only command responses is shown in b). An alternative method is to allow a consumer device to create menu syntax and the PLC DHCI converts such syntax into required hypertext and hyperlinks as shown in a).
Figure imgf000045_0001
Figure imgf000045_0002
Procedures
Initial BT/PLC Detection Procedure
The HC user selects the option on an MMI menu to enter into "Hypertext over PB" CED detection mode. (Fig XI) . Such a menu option may be denoted by "Find Local Devices" on a phone MMI menu. After detection is completed the user is presented with a list of the available devices to connect to. This list typically contains device descriptive text extracted from the PB-Profile information conveyed upon detection. (Fig X2)
This can be done in two ways: Idle Start
)
• A HC Menu (such MMI Select HCS / mode as a mobile phone) is used to display the list of devices. Perform PLC Detection
• The HC enters a / PB\ hypertext browser Deleted and submits a > X Hypertext Request MMI Device PLC Selection Menu ? to a local PLC in the HC, that has an embedded server PB Selection pending function for proximity device selection, to initiate the device enquiry described above and return a list as a Hypertext Response and be able to act upon it.
(Note: MMIs for both selection option 1 and 2 look as figures XI and X2.)
10
Filtered Detection (optional)
Upon choosing PB Detection the HC shall commence filtered detection of PB Devices. The filtering is done by forming an internal list of all CED devices which responded to the unique
15 PB Device Access Request (URL request) from the HC. The device shall respond to the HC with a PB Device Access Response (figure 2).These responses are recorded and provide CED name identifiers which are presented to the user as a typical HC system menu (option 1) or Hypertext (option 2).
20
Such menus may optionally be produced with device categorisation according to functionality. Initial PLC Selection Procedure
The user now selects from the list the Device Access Response of the Device to be controlled. This issues a request to the Device for access. The PLC looks in the PB Hypertext Controller Device Access Register (HC-DAR) upon reception of every Hypertext command for control or observation and since this is an initial access by the controller device there is no matching entry in the register for the controller device. If the PB is Bluetooth, the Bluetooth Identifier may be used to identify the HC, which is obtained by the DHCI of the PLC from the Proximity Bearer Stack of the PLC.
The non-existence of a matching HCID in this register shall result in the Controller receiving a Hypertext response requesting a device specific Access Code. If correct the device shall (1) register the HCID along with its access classification in the HC-DAR and (2) serve the Control and Observation Deck associated with this access code to the controller device.
Figure imgf000047_0001
Subsequent PLC Selection Procedure
In all subsequent access made by a controller device on a PLC the HCID shall be rercognised as an allowed controller and shall be directly served with Hypertext containing Hyperlinks to Control and Observation functionality.
Figure imgf000048_0001
PLC Configuration Procedure
Global and user-specific settings may be configured optionally after entry of the PLC Maser PIN code. The security aspetcs of such configuration otions are covered in the Security Issues section
Issuing Control & Observations Commands by HC
The Command is issued simply by making the request for a link concerning the control itself, usually by making a key press on a mobile communications device or selecting and pressing an area of a touch screen. Audio and tactile input is allowed for such selection. This Command is encoded as a Hypertext Request and later identified in the PLC by the HCRF and filtered to the DHCI for interpretation.
The Hypertext Request can be any of the common fixed and mobile Internet Hypertext Protocols (WAP/WSP, HTTP, cHTML/HTTP). The Hypertext Response will be of the same type as the Hypertext Request. For example, if the Hypertext Request was a WAP WML request, the response will be in encoded WML.
The HIPE language allows the definition of devices within the language. Devices are defined as bus devices that can be accessed over a specified bus and device identifier. Such busses incude: serial, I2C, USB, SCSI and others. The language can be used to construct specific functions that will send command strings and receive status strings or acknowledgements back from a identified device on a specific bus. The HIPE language construct used is as follows:
REQUEST bytes IDENTIFIER FROM dev IDENTIFIER
GIVING bytes IDENTIFIER OF int IDENTIFIER WITH TIMEOUT
For example, the following command from the sample program included in Appendix 1 sends a command to a CD player and waits for a response with timeout:
DEVICE < 2d IS I2C(1)
REQUEST output FROM cd GIVING input OF ilen WITH TIMEOUT 500
10 The DEVICE command defines a specific device.
The output parameter is a byte stream that is relayed to the device cd. The input parameter is the byte stream that will be received back from the CD player device.
15
The Hypertext Response is produced by the DHCI. The DHCI configures the HCNM to output a specific type of Hypertext. The HCVM runs Compile Code that has been compile and assembled form source files that have been programmed in a
20 special language called HIPE. The generated hypertext from the
HCVM forms the basis of the DHCI Hypertext Response to the HC.
The interpretation of the requests has been programmed in the 25 DHCI code which runs on the HCVM. The HCVM allows the
DHCI code to be very compact and to support multiple Hypertext languages and have multi-lingiual or even user selectable human langage responses. Example of a HIPE-L program is descriped in the Language Overview 30
A Hypertext Encoder may need to be optionally present in system if the DHCI does not produce encoded form of Hypertext for certain Hypertext Language and Protocol combinations, for example iMode and HTTP or WML and WSP. The DHCI may 35 also generate already encoded hypertext, i.e. WBXML-encoded
WML format is output directly from the HCVM for WML.
Note: The Compiled Code (CC) is the binary file that is produced by compiling and assembling a source code of a program written in the HIPE Language. The CC is of a specific type as it contains device-specific control and/or observation command definitions for one or more devices. Furthermore, the CC contains control and observation menu definitions defined in one or more human languages - used for internationalization.
The CC is intended to be stored in storage accessible to the Blue Velvet Chip. The HCVM the interprets the COMPILED CODE is capable of using menu definitions defined in the CC to generate the appropriate Hypertext Responses to a Hypertext Request that has been requested by from the HC and passed into the HCVM by the DHCI.
Security Issues
User Authentication, Identification and Authorisation
When a user using the HC attempts access to a CED, several methods of user authentication and HC authorisation can take place. The techniques usually involve user, use-level or Master PIN codes: • User PIN code: is attributed to a particular HC and user
• Use-Level PIN code is attributed to any allowed HC for a particular level of usage of the CED system
• Master PIN Code: is used to reset system or configure other PINs or users or HCs.
The following authentication scenarios have been envisaged:
1. Using a master code to allow/deny use-level PIN usage.
Use a use level PIN code to access device without subscription of any HC .
2. Using Master PIN code to subscribe a HC and no further authentication of user.
3. Use a Master PIN code to subscribe a HC and each time authenticate user using a user specific PIN. 4. Use a Master PIN code to subscribe a HC and each time authenticate user using a use level specific PIN.
CED-specific Access Classes
There shall be a minimum of 6 BTi device specific classes
Class 0 shall represent a Barred device (optional) Classes 1..4 Device Bti user codes(l mandatory) Class 5
Device BTi master code (mandatory)
The normal entry mode is with one of the 4 the user classes
It is intended that the device manufacturer shall set up a list of all the functionalities and data controllable or displayable by a device and the Master Code shall allow the user to attribute groupings of these functionalities to each of the 4 user classes. In this way closed controller user groups can be supported.
Encryption
The PB channel should be encrypted for all security sensitive applications such as door access, car access, mobile commerce applications etc.
Implementation Examples
Bluetooth Interactive (BTi)
The BTi system is an implementation of the HCS system using Bluetooth as the Proximity Bearer (PB) and WML as the Hypertext Language. In particular the controlling device is a mobile device (Phone or PDA) which is capable of WAP over Bluetooth. The controlled device is a CD player with an integrated amplifier. The PLC is a Bluetooth silicon module called "Blue Velvet", into which the DHCI has been embedded, although a less integrated solution is also possible. Thus it is possible to communicate between the Mobile device and the audio controller using WML.
BTi Hardware Architecture
Figure imgf000052_0001
BTi-HC Domain
As stated above the Controller is and device which is capable of performing WAP over Bluetooth. No other special requirements exist for the Controller
BTi- PLC Domain
The BTi-PLC is a specially adapted version of the
STMicroelectronics "Blue Velvet" Chip. The Hardware changes to the Blue Velvet chip depend of the level of integration required but the minimum changes involve an increase of the present internal memory to incorporate the SW required for BTi support and the addition of internal or external "protected" flash for the implementation of the Access Control & Security Registers. BTi Device Domain
This is represented by a SONY CD Player with and I2C MMI control interface.
BTi Software Architecture
Figure imgf000053_0001
Functional Scenario for BTi:
CD Player Control using Bluetooth and WAP-enabled mobile phone as
HC.
The figure below shows the system overview. A Bluetooth- enabled mobile phone is within 10 meters range of a SONY CDP-123 CD player. The Phone is also WAP-enabled allowing WAP over Bluetooth bearer communication. The user wishes to use the Mobile Phone as an HC (described earlier) in order to control and observe the CD Player actions.
Figure imgf000053_0002
User Activity
The Mobile Phone scans the Bluetooth Neighborhood as shown in figure XL Following the Bluetooth enquiry for a number of seconds a list of available devices that are in the Bluetooth neighborhood are displayed as can be seen in figure 2. The user of the mobile phone then selects the desired device (in the example case the user selects the SONY CDP-123 CD player device). Following this device selection a PIN code may optionally be required as shown in figures X7 or XI 1 requesting the user for either master PIN or user PIN entry. The Security Description is described in the Security MMI Use Case section (below). Alternatively, and on successful PIN code entry the user-specific device-state dependent main menu of the device is displayed as in figure X9 showing a stopped CD player. If the CD is playing then a state-dependent menu is returned as can be seen in figure XI 0. Figure XI 0 also shows the observation that the CD player is currently playing track 12. Particular attention is draw to the generation of complex functions such as Select Track in figure X5 where user of the HC can easily select the desired CD tracks to listen to. Following the Selection the user can Play the Disk and only the selected Tracks will be played.
The HC will time out after a period of non-use. The Bluetooth link will be terminated by the HC (master). Subsequent control of the previously selected device will require initial device selection and access procedures as outlined earlier in this section.
Figures 1-12: Examples of MMI on a mobile phone as HC.
Figure imgf000054_0001
Figure imgf000055_0001
Security MMI Use Case
A Master PIN code may optionally be requested as in Figure X7. A regular user or use-level pin code may optionally be requested as in figure XI 1. If the user of the HC enter an invalid code as Invalid PIN error warning may be displayed as in figure X6. Repeated incorrect code entry can disable use of the HC with a specific Hypertext Controller Identifier (HCID) for control of the selected CED device.
Note: Hypertext Controller Identifier (HCID) may be a communications protocol identifier attributed to a Hypertext Controller, such as the Bluetooth ID in Bluetooth or the MSISDN in GSM. It may also be a proximity identifier such as a vehicle registration number, were the device requires proximity to the vehicle. Appendix I: Language Description
HIPE - Hypertext Interactive Protocol Language
HIPE is a new language for interactive control using hypertext languages for user interaction. The language named HIPE-L (Hypertext Interactive Proximity Environment Language) is intended to be used in devices capable of using proximity bearers such as Bluetooth and Wireless LAN (primarily devices capable of proximity ad-hoc networking). However it can be used for any kind of control through Web, WAP or other Hypertext standards.
Example Program in HIPE-L
The example below shows control of basic CD player function using a I2C-bus-controlled CD player. The program enables the user to control the player in English and Croatian (dependent on jumper settings).
1. IMAGE imgbut play IS "play.jpg"
2. IMAGE imgbut stop IS "stop.jpg"
3. DEVICE cd IS I2C(1)
4. BOOLEAN valid
5. BYTES input LENGTH 10
6. BYTES output . LENGTH 10
7. STRING status LENGTH 20
8. DEFINE JUMPER 0 AS eng WITH main menu
9. DEFINE JUMPER 1 AS cro WITH main menu
10 STRING non react LENGTH 20
11 STRING stat LENGTH 20
12 STRING stpd LENGTH 20
13 STRING psd LENGTH 20
14 STRING ply LENGTH 20
15 STRING cnt LENGTH 20
16 STRING stp LENGTH 20
17 STRING paus LENGTH 20
18 NUMBER num
19 FUNCTION WILL BE got track
20 PAGE WILL BE action pause
21 PAGE WILL BE action stop
22 LABEL WILL BE redo 23. LOCALE GLOBAL [
24. PAGE action play [
25. STORE "G" IN output
26. SEND output TO cd
27. DO NOTHING FOR 1000
28. GOTO LOCALE: redo
29. ]
30. PAGE action continue [
31. STORE "C" IN output
32. SEND output TO cd
33. DO NOTHING FOR 1000
34. GOTO LOCALE: redo
35. ]
36. FUNCTION fetch status [
37. TITLE "CD Savvy 123CDP"
38. STORE 0 IN input (*9)
39. STORE "S" IN output
40. NUMBER ilen
41. REQUEST output FROM cd GIVING input OF ilen
WITH TIMEOUT 500
42. IF TIMEOUT OUTPUT non react ELSE [
43. OUTPUT stat
44. NEWPARAGRAPH
45. IF input (1) = '0' REMEMBER stpd AS status
46. IF input (1..3) = '255' REMEMBER psd AS status
47. EVALUATE input (1*) GIVING num
48. IF (num > 0) AND (num < 255) DO LOCALE: got track
49. OUTPUT status
50. IF num = 0 BUTTON ply FOR action play
51. IE num = 255 BUTTON cnt FOR action continue
52. IF (num > 0) AND (num < 255) [
53. IF WML [
54. BUTTON paus FOR action pause
55. BUTTON stp FOR action stop
56. ]
57. IF HTML [
58. IMAGEBUTTON imgbut play FOR action pause
59. IMAGEBUTTON imgbut stop FOR action stop
60. ]
61. ]
62. ]
63. ]
64. ]
65. STRING trk LENGTH 10
Figure imgf000058_0001
112. PAGE action stop [.
113. STORE "X" IN output
114. SEND output TO cd
115. DO NOTHING FOR 1000
116. GOTO LOCALE: redo
117. ]
Multi-hypertext generation
The HIPE-language uses HTTP Protocol Header information, URL request and information relayed in HPS-structured information.
For systems accepting WML, the following lines of HIPE source code:
BUTTON paus FOR action pause
BUTTON stp FOR action stop will generate the following code for a WML browser:
<pXanchor><go href="url...">Pause</go></anchor></p>
<pXanchor><go href="url...">Stop</goX/anchorX/p> , and will generate the following source code for a HTML browser:
<A HREF="url...">Pause</AXBR>
<A HREF="url...">Stop</AXBR>
In a similar fashion the Content-Type Hypertext Response Header is generated and the output from the HCVM is directed by the DHCI to the appropriate HPS. The HCVM handles the multi-Hypertext generation by being configured by the DHCI which receives the HC-originated Hypertext Request.
END OF TECHNICAL REPORT

Claims

CLAIMS:
1. A method of providing a remote data processing device with control data, the control data enabling a user to control the operation of a consumer electronics device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) the consumer electronics device sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
2. A method according to claim 1, wherein the remote data processing device presents the one or more menu options to the user using a man-machine interface, and generates and sends to the consumer electronics device a hypermedia request message corresponding to selected menu options in response to a user instruction.
3. A method of providing a remote data processing device with data representing the operational state of a consumer electronics device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message in dependence on its operational state; and b) sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
4. A method of controlling a consumer electronics device using a remote data processing device, both the remote data processing device and the consumer electronics device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the consumer electronics device generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) the consumer electronics device sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol; c) the remote data processing device presenting the one or more menu options to a user via a man-machine interface; d) the user selecting one or more of the menu options using the man-machine interface; e) the remote data processing device generating and sending to the consumer electronics device a control message in response to the user selection; f) the consumer electronics device performing the corresponding action or actions in response to the received control message.
5. A method according to any preceding claim, wherein the remote data processing device and the consumer electronics device communicate using a proximity bearer.
6. A method according to any preceding claim, wherein the one or more menu options correspond to one or more actions currently performable by the consumer electronics device.
7. A method according to any preceding claim, wherein the consumer electronic device is capable of generating the hypermedia data message in two or more hypermedia mark-up languages.
8. One or more computer programs for performing the method of any preceding claim.
9. Apparatus arranged to perform the method of any of claims 1 to 7.
10. A consumer electronics device adapted to provide a remote data processing device with control data, the control data enabling a user to control the operation of the consumer electronics device, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) means for sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
11. A consumer electronics device adapted to provide a remote data processing device with data representing its operational state, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message in dependence on its operational state; and b) means for sending the hypermedia data message to the remote data processing device using the hypermedia data communications protocol.
12. A consumer electronics device adapted to be controlled using a remote data processing device, the consumer electronics device being capable of communication using a hypermedia data communications protocol, the consumer electronics device comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving a control message corresponding to one or more of the menu options; b) means for sending a hypermedia data message to the remote data processing device using the hypermedia data communications protocol; c) means for receiving a control message from the remote data processing device using the hypermedia data communications protocol; d) means for performing one or more actions in response to a received control message.
13. A consumer electronics device according to any of claims 10 to
12, wherein the consumer electronics device is adapted to send hypermedia data messages and/or receive control messages using a proximity bearer.
14. A consumer electronics device according to any of claims 10 to
13, wherein the one or more menu options correspond to one or more actions currently performable by the consumer electronics device.
15. A consumer electronics device according to any of claims 10 to
14, wherein the consumer electromc device is capable of generating the hypermedia data message in two or more hypermedia mark-up languages.
16. A control unit for a consumer electronics device, the control unit being adapted to provide a remote data processing device with control data, the control data enabling a user to control the operation of the consumer electronics device, the control unit comprising: a) means for determining the operational state of the consumer electronics device; b) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device; c) means for sending the hypermedia data message to the remote data processing device using a hypermedia data communications protocol.
17. A control unit for a consumer electronics device, the control unit being adapted to provide a remote data processing device with data representing its operational state, the control unit comprising the following: a) means for determining the operational state of the consumer electronics device; b) means for generating a hypermedia data message in dependence on its operational state; and c) means for sending the hypermedia data message to the remote data processing device using a hypermedia data communications protocol.
18. A control unit for a consumer electronics device, the control unit comprising the following: a) means for generating a hypermedia data message, the hypermedia data message comprising data representing one or more menu options, the menu options corresponding to one or more actions capable of being performed by the consumer electronics device in response to receiving one or more control messages corresponding to one or more of the menu options; b) means for sending the hypermedia data message to a remote data processing device using a hypermedia data communications protocol; c) means for receiving a control message from a remote data processing device; d) means for controlling the consumer electronics device to perform one or more actions in response to a received control message.
19. A control unit according to any of claims 16 to 18, wherein the control unit is adapted to communicate using a proximity bearer.
20. A control unit according to any of claims 16 to 19, wherein the one or more menu options correspond to one or more actions currently performable by the consumer electronics device.
21. A control unit according to any of claims 16 to 20, wherein the control unit is adapted to generate the hypermedia data message in two or more hypermedia mark-up languages.
22. An integrated circuit for a consumer electronics device comprising: a) communications means adapted to communicate using a proximity bearer; b) microprocessor control unit means; c) interface means for electronic communication with a controller of the consumer electronics device.
23. An integrated circuit according to claim 22, comprising proximity link controller means adapted to control proximity bearer communications links to remote communications devices.
24. An integrated circuit according to claims 22 or 23, comprising virtual machine means for causing the generation of hypermedia data messages and/or consumer electronics device control messages.
25. An integrated circuit according to claim 24, comprising hypermedia interpreter means for configuring and controlling data input and output of the virtual machine means.
26. An integrated circuit according to any of claims 22 to 25, comprising filter means for filtering control messages received by the transceiver means.
27. An integrated circuit according to any of claims 22 to 26, comprising hypermedia protocol message generation means.
28. An integrated circuit according to any of claims 22 to 27, wherein the interface means is adapted to communicate using a home control protocol interface.
29. A data processing device comprising proximity bearer communications means and hypermedia transport protocol message generation means, wherein the device is adapted to communicate with remote data processing devices using the hypermedia transport protocol over the proximity bearer.
30. A device according to claim 29, comprising a proximity link controller means.
31. A device according to claim 30, wherein the proximity link controller means is adapted to function as a hypermedia proxy for one or more remote data processing devices.
32. A method of controlling a consumer electronics device, the consumer electronics device being capable of communicating using a hypermedia data communications protocol over a proximity bearer, the method comprising the following steps: a) the consumer electronics device receiving a hypermedia request message; b) the consumer electronics device determining one or more actions to be performed by the consumer electronics device, the determining being performed in dependence on the hypermedia request message; c) the consumer electronics device performing the one or more actions.
33. A method according to claim 32, wherein the hypermedia request message is generated by a remote data processing device, the remote data processing device being capable of communicating using a hypermedia data communications protocol over a proximity bearer.
34. A method according to claim 33, wherein the hypermedia request message is generated by the remote data processing device in response to a user selection of a hyperlink in a hypermedia data message, the hypermedia data message being provided to the remote data processing device by the consumer electronics device.
35. One or more computer programs for performing the for method of any of claims 32 to 34.
36. Apparatus adapted to perform the for method of any of claims 32 to 34.
37. A method of generating a control program for performing the method of any of the preceding method claims.
38. A method of generating a machine code program, the machine code program being for use in a consumer electronics device according to any preceding apparatus claim directed to a consumer electronics device, the method comprising compiling a computer program written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages.
39. A method of generating a machine code program, the machine code program being for use in a control unit according to any preceding apparatus claim directed to a control unit, the method comprising compiling a computer program written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages.
40. A method of generating a machine code program, the machine code program being for use in an integrated circuit according to any preceding apparatus claim directed to an integrated circuit, the method comprising compiling a computer program written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages.
41. A method of configuring a consumer electronics device to perform the method of any of the method claims of claims 1 to 36, the method comprising compiling a computer program written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages, the compiled program being used to configure the consumer electronics device.
42. A method of configuring a control unit for a consumer electronics device to perform the method of any of the method claims of claims 1 to 36, the method comprising compiling a computer program written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages, the compiled program being used to configure the control unit.
43. A compiler program for performing the method of any of claims 37 to 42.
44. A compiler system adapted to perform the method of any of claims 37 to 42.
45. A method of compiling a computer program into a machine code program, the computer program being written in a programming language, the programming language having native functions or methods for causing the interrogation of electronic input/output interfaces and having native functions or methods for causing the generation of menu option descriptions for inclusion in hypermedia data messages.
46. A method according to claim 45, wherein the programming language has native functions or methods for causing the issuing of commands to electronic input/output interfaces.
47. A method according to claim 45 or 46, wherein the machine code is used to configure a consumer electronics device or a control unit of a consumer electronics device.
48. A compiler program for performing the method of any of claims 45 to 47.
49. A compiler system adapted to perform the method of any of claims 45 to 47.
50. A method of controlling a controlled data processing device using a controller data processing device, the controlled device and controller device both being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the controlled device sending a hypermedia data message to the controller device using the hypermedia protocol, the hypermedia data message comprising one or more hyperlinks; b) the controller device presenting the hypermedia data message to a user of the controller device using a man-machine interface of the controller device; c) the user selecting one or more of the one or more hyperlinks using the man-machine interface; d) in response to the user selection, the controller device sending a hypermedia request message to the controlled device using the hypermedia protocol; and e) the controlled device performing an action in response to the hypermedia request message received.
51. A method of controlling a controlled data processing device using a controller data processing device, the controlled device being capable of communication using a data communications protocol, the controller device being capable of communication using a hypermedia data communications protocol, the method comprising the following steps: a) the controlled device sending a data message to a mediating data processing device using the data communications protocol, the mediating device being capable of communication using both the data communications protocol and the hypermedia data communications protocol, b) in response to the data message received, the mediating device sending a hypermedia data message to the controller device using the hypermedia data communications protocol, the hypermedia message comprising one or more hyperlinks; c) the controller device presenting the hypermedia data message to a user of the controller device using a man-machine interface of the controller device; d) the user selecting one or more of the one or more hyperlinks using the man-machine interface; e) in response to the user selection, the controller device sending a hypermedia request message to the mediating device using the hypermedia data communications protocol; f) in response to the hypermedia request message received, the mediating device sending a control data message to the controlled device using the data communications protocol; and g) the controlled device performing an action in response to the control data message received.
52. A method of receiving status information from a consumer electronics device at a remote data processing device, the consumer electronics device and remote device both being capable of communication using a hypermedia data communications protocol over a proximity bearer, the method comprising the following steps: a) the consumer electronics device sending a hypermedia data message to the remote device using the hypermedia protocol over the proximity bearer, the hypermedia data message comprising data representing the state of the consumer electronics device; b) the remote device receiving the hypermedia data message using the hypermedia data communications protocol over the proximity bearer; and c) the remote device presenting the hypermedia data message to a user of the remote device using a man-machine interface of the controller device.
53. A method of receiving status information from a consumer electronic device at a remote data processing device, the remote data processing device being capable of communication using a hypermedia data communications protocol over a proximity bearer, the consumer electronics device being capable of communication using a data communications protocol, the method comprising the following steps: a) the consumer electronics device sending a data message to a mediating data processing device using the data communications protocol, the mediating data processing device being capable of communication using both the data communications protocol and the hypermedia data communications protocol, data message comprising data representing the state of the consumer electronics device, the data message comprising data representing the state of the consumer electronics device; b) in response to the data message received, the mediating device sending a hypermedia data message to the remote device using the hypermedia data communication protocol over the proximity bearer, the hypermedia data message comprising data representing the state of the consumer electronics device; c) the remote device receiving the hypermedia data message using the hypermedia data communications protocol over the proximity bearer; and d) the remote device presenting the hypermedia data message to a user of the remote device using a man-machine interface of the controller device.
PCT/GB2001/004099 2000-09-13 2001-09-13 Data communications WO2002025897A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
AU2001286096A AU2001286096A1 (en) 2000-09-13 2001-09-13 Data communications
EP01965455A EP1317837A1 (en) 2000-09-13 2001-09-13 Data communications
US11/640,804 US7565210B2 (en) 2000-09-13 2006-12-18 Data communications

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0022474A GB2370899A (en) 2000-09-13 2000-09-13 Remote controller having hypermedia communication capabilities
GB0022474.1 2000-09-13

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US38970503A Continuation 2000-09-13 2003-03-12

Publications (1)

Publication Number Publication Date
WO2002025897A1 true WO2002025897A1 (en) 2002-03-28

Family

ID=9899389

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/004099 WO2002025897A1 (en) 2000-09-13 2001-09-13 Data communications

Country Status (4)

Country Link
EP (1) EP1317837A1 (en)
AU (1) AU2001286096A1 (en)
GB (1) GB2370899A (en)
WO (1) WO2002025897A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096725A1 (en) * 2002-05-07 2003-11-20 Koninklijke Philips Electronics N.V. Telecommunication system with message based control
WO2005015824A1 (en) 2003-08-07 2005-02-17 Samsung Electronics Co., Ltd. Audio/video device, apparatus and method for controlling audio/video device
WO2007085166A1 (en) 2006-01-26 2007-08-02 Huawei Technologies Co., Ltd. A method and an apparatus for realizing wap browse service

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100518210C (en) * 2003-08-27 2009-07-22 联想(北京)有限公司 Method and system for operating and controlling electronic apparatus
CN109712384A (en) * 2019-01-25 2019-05-03 北京戴纳实验科技有限公司 A kind of novel intelligent vent cabinet infrared control system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997018636A2 (en) * 1995-11-13 1997-05-22 Webtronics, Inc. Control of remote devices using http protocol
US5909183A (en) * 1996-12-26 1999-06-01 Motorola, Inc. Interactive appliance remote controller, system and method
EP0940959A1 (en) * 1998-03-04 1999-09-08 Sony International (Europe) GmbH Establishing connections between remote devices with a hypertext transfer protocol
WO2001020572A1 (en) * 1999-09-10 2001-03-22 Koninklijke Philips Electronics N.V. Remote control of an electronic device through downloading of control information in a mobile station

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2268816B (en) * 1992-07-14 1996-01-17 Sony Broadcast & Communication Controlling equipment
EP1203453B1 (en) * 2000-01-21 2015-10-28 Home Control Singapore Pte. Ltd. Set-top box connects remote control device to web site for customized code downloads
EP1273137B1 (en) * 2000-04-04 2005-02-23 Koninklijke Philips Electronics N.V. Accessing an in home network through the internet

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997018636A2 (en) * 1995-11-13 1997-05-22 Webtronics, Inc. Control of remote devices using http protocol
US5909183A (en) * 1996-12-26 1999-06-01 Motorola, Inc. Interactive appliance remote controller, system and method
EP0940959A1 (en) * 1998-03-04 1999-09-08 Sony International (Europe) GmbH Establishing connections between remote devices with a hypertext transfer protocol
WO2001020572A1 (en) * 1999-09-10 2001-03-22 Koninklijke Philips Electronics N.V. Remote control of an electronic device through downloading of control information in a mobile station

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003096725A1 (en) * 2002-05-07 2003-11-20 Koninklijke Philips Electronics N.V. Telecommunication system with message based control
WO2005015824A1 (en) 2003-08-07 2005-02-17 Samsung Electronics Co., Ltd. Audio/video device, apparatus and method for controlling audio/video device
EP1661302A1 (en) * 2003-08-07 2006-05-31 Samsung Electronics Co., Ltd. Audio/video device, apparatus and method for controlling audio/video device
EP1661302A4 (en) * 2003-08-07 2011-05-04 Samsung Electronics Co Ltd Audio/video device, apparatus and method for controlling audio/video device
US8504637B2 (en) 2003-08-07 2013-08-06 Samsung Electronics Co., Ltd. Audio/video device, apparatus and method for controlling audio/video device
US9342141B2 (en) 2003-08-07 2016-05-17 Samsung Electronics Co., Ltd. Audio/video device, apparatus and method for controlling audio/video device
WO2007085166A1 (en) 2006-01-26 2007-08-02 Huawei Technologies Co., Ltd. A method and an apparatus for realizing wap browse service
EP1850553A1 (en) * 2006-01-26 2007-10-31 Huawei Technologies Co Ltd A method and an apparatus for realizing wap browse service
EP1850553A4 (en) * 2006-01-26 2009-03-18 Huawei Tech Co Ltd A method and an apparatus for realizing wap browse service

Also Published As

Publication number Publication date
GB0022474D0 (en) 2000-11-01
AU2001286096A1 (en) 2002-04-02
GB2370899A (en) 2002-07-10
EP1317837A1 (en) 2003-06-11

Similar Documents

Publication Publication Date Title
US7565210B2 (en) Data communications
US20220329897A1 (en) System and method for ubiquitous appliance control
CN100372328C (en) Network and method for controlling appliances
US7894474B1 (en) Remote control of an electronic device through downloading of a control interface of the electronic device in a mobile station
KR100400090B1 (en) Computer device control system, method and program product thereof
US7536182B2 (en) Method and system for extending the capabilities of handheld devices using local resources
US20040073432A1 (en) Webpad for the disabled
US8190658B2 (en) Intelligent computing device agent system for automatic recognition of multi user computing environment and information sharing setup
Kagal et al. Centaurus: A framework for intelligent services in a mobile environment
EP3068104B1 (en) Sharing method and system for media file
JPH11328078A (en) Method and device for accelerating navigation of hypertext page using composite request
JP5275526B2 (en) Token for communicating with host device, and corresponding communication system and method
US7385718B2 (en) Print by reference method for portable wireless devices
KR20130097587A (en) Wireless communication apparatus and method for generating wireless access channel thereof
JP4907354B2 (en) Consistent user interface front end for remote user interface
EP1071024A2 (en) Method and apparatus for splitting markup flows into discrete screen displays
EP1317837A1 (en) Data communications
Hartwig et al. Wireless microservers
Feldbusch et al. The BTRC Bluetooth remote control system
KR100483427B1 (en) Control System and Method for Home Network Service
CN113347615B (en) Bluetooth communication method and device and readable storage medium
KR100374030B1 (en) Mobile radio telephone controled by web browser and method therefor
JP2001224083A (en) Reception method for program in wireless control system, controller and device to be controlled
KR100441969B1 (en) Method for relaying remote control signal, mobile communication terminal using the same and mobile communicaion system using the same
KR100365853B1 (en) Method for editing additional information of a portable communication terminal using a external input device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2001965455

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2001965455

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: JP