GB2507809A - Simple Service Discovery of UPnP peer devices - Google Patents

Simple Service Discovery of UPnP peer devices Download PDF

Info

Publication number
GB2507809A
GB2507809A GB1220359.2A GB201220359A GB2507809A GB 2507809 A GB2507809 A GB 2507809A GB 201220359 A GB201220359 A GB 201220359A GB 2507809 A GB2507809 A GB 2507809A
Authority
GB
United Kingdom
Prior art keywords
computer readable
readable instructions
message
user interface
network
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
GB1220359.2A
Other versions
GB2507809B (en
GB201220359D0 (en
Inventor
Chris Alder
Jonathan Naughton-Green
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Priority to GB1220359.2A priority Critical patent/GB2507809B/en
Publication of GB201220359D0 publication Critical patent/GB201220359D0/en
Priority to KR1020130048825A priority patent/KR102236593B1/en
Priority to US14/077,948 priority patent/US20140132504A1/en
Priority to EP13192452.4A priority patent/EP2731297B8/en
Publication of GB2507809A publication Critical patent/GB2507809A/en
Application granted granted Critical
Publication of GB2507809B publication Critical patent/GB2507809B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • H04L41/0809Plug-and-play configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • 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
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • General Health & Medical Sciences (AREA)
  • Selective Calling Equipment (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

In a Universal Plug and Play (UPnP) network (2) of devices which discover each other via a Simple Service Discovery Protocol (SSDP), a first device 6 sends an XML discovery message 58 via a hub 4 to a second device 8 which uses this data to create a user interface without preconfiguration of the two devices. The first device 6 multicasts the SSDP and receives unicast response 62 containing a network location of a file describing devices 4, 8 & 10. After a change in device state 65 the first device sends a launch message causing an application 32 (eg. a domestic heating control, security or monitoring program) to present the user interface on the second device, which may also enable a remote device 24 to respond across the internet 20.

Description

Communication between a first and a second device
Field of thc Invcntion
The present invention relates to systems, apparatuses and methods for enabling a first device to present a user interface on a second device, and in particular to cnabling this prcscnting whcrc a plug and play system is used in a local nctwork.
Background
An increasing number of devices within the home or office are being intcrconnectcd via local networks. This intcrconnection may be used to allow one device to be controlled by a second device. This may be used to provide user confrol of one device, via a user interface on the other. The Universal Plug and Play (TJPnP) standard is one example of a standard which allows for equipment to interconnect.
Undcr the UPnP standard, compatible devices arc configurcd to automatically conncct to a network (such as a home network), and to discover other devices on the network. This discovery is perfoimed using the Simple Service Discovery Protocol (SSDIfl, which enables the devices to advertise their presence on the network so that they can be discovered by other devices, and equafly to discover these other devices themselves.
In accordance with the SSDP protocol a discovery message may be sent by a first device. This discovery message contains a link to an Extensible Markup Language (XML) file containing further information about the first device. A second device may use this link to refrieve the XML file and thereby retrieve information about the first device.
However this process is limited in the functionality which can be provided to enable devices to conncct.
Summary of the Invention
In accordance with at least one embodiment, methods, devices, systems and software are provided for supporting or imp'ementing functionality for enabling a first device to present a user interface on a second device.
This is achieved by a combination of features recited in each independent claim. Accordingly, dependent claims prescribe further detailed implementations of various embodiments.
According to a first exemplary embodiment, there is provided a method for enabling a first device to present a user interface on a second device, the first and sccond dcviccs being abic to communicatc via a nctwork, thc mcthod comprising: detecting a changc in an opcrational statc of thc first devicc; responsivc to the detecting, sending a message from the first device, the message identiing computer readable instructions stored on the first device; receiving the message at second dcvicc; rcsponsivc to thc rcceiving, retrieving thc computcr readable instructions from the first device; and using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the fimt device.
In a conventional universal plug and play (UPnP) system, a discovery process may be used to enable a second device to identi' mid learn about a first device.
Following this discovery process, a second device may be configured to connect to a first device, for example by downloading software from the Internet, and thereby be able provide a user interface for the first device. However, such systems not only require the second device to be pre-configured, but require a user to request the user interface at the second device before the two devices can connect.
The inventor has recognised that there is benefit to be gained from providing a method by which a first device can cause a user interface to be presented on the second device without pm-configuration, and without the user having to request the user interface at the second device. This enables, for example, the first device to provide an alert on the second device without pre-configuration, something which is not possible with the conventional UPnP systems.
Accordingly, when a state change is determined at the first device, a message is sent. This message, when received by the second device, enables the second device to retrieve computer readable instructions from the first device. These computer readable instructions may subsequently be used to present a user interface.
Therefore the system provides a number of advantages. First, the first device is able to cause a user interface to be presented on the second device without pre-configuration. Secondly, by having the message identify computer instructions at the first device, the message itself may be kept in a standardised format, irrespective of the type of first devicc sending the mcssagc, thus ensuring widc ranging compatibility and ensuring that any non-compatible second device is not caused to elTor.
To put the invention into context, an example of the first device may be a mobile telephone, and thc changc in operating statc may bc associated with an incoming call. The second device may be a television. As such, when the incoming call is detected, the mobile telephone may send a message to the television. This message may cause the tclevision to retrieve computer readable instructions from the mobile telephone, which in turn may cause the television to present a user interface alerting a user watching the television to the call. Significantly, this alert is possible despite the television not being pre-contigured to e.g. interface with the mobile telephone.
The messagc may identify a network location from which the computer readable instructions may be rctricvcd by thc second device. To enable the computer readable instructions to be used by the second device, die message may identify a network location from which the second device may retrieve the computer readable instructions. This means that the second device is able to handle the received message in a standardised manner -by retrieving the computer readable instructions and presenting a user interface determined by the instruction. This further ensures that network traffic is kept low, as any device in receipt of the message which is unable or unwilling to usc the computer readable instructions may ignore the message, and therefore will not retrieve the computer readable instructions.
The computer readable instructions may comprise an application, which is executable on the second device. Advantageously, the computer readable instructions may provide an application which may be executed on the second device. To enable this, the second device may be configured with an application environment in which such applications may be executed. Being an application, the computer instructions may be contrasted with, for example, a webpage, in that the instructions may be executed on the second device without the second device having to repeatedly retrieve information from the first device.
The method may comprise using, by the second device, the computer readable instructions whereby to send at least one control message to the first device. The method may further comprise receiving, at the first device, a said control message, and causing an operating state of the first device to change based on the received control message.
The computer readable instructions may not only cause a user interface to be presented, but may additionally enable the second device to send control messages to thc first devicc. Thcreforc, a user may use thc uscr interface to control the first device.
Thc control messages may bc specified by thc computer readable instructions, that is the format and content of the messages may be defined by the instructions.
Continuing the example above, the control messages may contain, for example, an ignore command which causes the mobile telephone to ignore the incoming call and, for example, divert the call to voicemail.
The method may comprise configuring, by the first device, the message based on an operating state of the first device. Alternatively or additionally, the method may comprise configuring, by thc first device, the computer readablc instructions, bascd on an operating statc of thc first devicc.
In some embodiments, the first device may send information to the second device such that the user interface accurately represents a state of the first device. In somc embodiments, thc message identifying the computer readable instructions may be configured to convey such information. This may be done by having the message contain a control parameter to be input into generalised computer instructions, alternatively, the message may idcnti1 a different set of computer instructions based on the operating state. In other cmbodimcnts, the message may not be changed, and the computer readable instructions may be configured appropnately before being sent to the second device. The second and third options enable the first device to efficiently convey e.g. an alert, as only the instructions required to display the particular alert need to bc sent as pail of the computer readable instructions. As such, in view of the example above, the computer readable instructions sent in relation to an incoming call may be different from those for an incoming message.
The first device i-nay be configured to act as a server on the network, and the computer readable instructions cause the second device to act as a client to the server.
Despite the first device initiating communications, i.e. by sending the message comprising information identifying an application to the second device, the resultant arrangement between the first and second devices may be one in which the first
S
device provides the functionality of a server and the second device provides the functionality of the client.
The method may comprise multicasting the message by the first device. The message may be sent using a Simple Service Discovery Protocol (SSDP). The message may be muitieast on the network. In particLilar the message may be multicast to all devices on the network, this may be done without prior knowledge of what devices are on the network., for example by sending the message to a particular address. In the TJPnP protocol, a message sent to IP address 239.255.255.250 on port 1900 will be multicast to all devices on the network. Multicasting the message reduces the signalling required by the first device prior to sending the message. In some embodiments the message may be sent using SSDP, i.e. the same protocol used to send discovery messages in UPnP. As such, a new form of message is proposed.
The method may comprise conducting, by the first device, a discovery process on the network whereby to identi' said second device, and sending the message to the second device based on the discovery process. In some embodiments, the first device may identif particular second devices on the network using a discoveiy process. This may be used to direct the message to compatible devices.
The method may comprise sending, by the first device, a discovery message, the discovery message being sent before the said message. The discovery message may identify a network location of information describing the first device. The information describing the first device may comprise an XML formatted document. In some embodiments, the first device may send, in addition to the said message, a discovery message. This discovery message may be in accordance with the UPnP specification, and may accordingly identify an XML file containing information describing the first device. As such, it will be apparent that the said message is separate, and distinct, from a UPnP diseoveiy message. Thus the discovery message enables the first device to be identified in the UPnP system, but the said message enables the first device to instigate the presentation of a user interface.
The sending of the message by the first device may be performed independently from any messages received by the first device from the second device.
The receiving of the message may be performed independently from any messages sent to the first device by the second device. The method may comprise detecting a plurality of changes in an operational state of the first device; and sending a plurality of said messages to the second device responsive to the detecting. The message is sent by the first device without [lie information contained within it being requested by [lie sccond dcvicc. As such, thc mcssagc is pushed to thc sccond dcvicc. This can be confrasted with prior art systems, in which a second device must instigate communications with the first device, any request data from the first device. This provides thc bencfit that thc first dcvicc is able to provide, for cxaniplc, alerts. A plurality of thcsc nicssagcs may bc sent, each in relation to a givcn change in state.
Therefore the messages may be contrasted with a discover message, which will only be sent once to a given second device.
The method may comprise receiving, at the second device, a first said message; presenting, at the second device, a prompt for user input upon receipt of the first message, the prompt requesting permission to retrieve the computer readable instructions; and based upon user input providing permission, retrieving and using computer readable instructions for the first and any subsequent said messages.
When a first message identifying computer readable instructions is received, the second device may present a prompt for permission to use the computer instructions. This may be useful for security purposes. However, having given permission, the second device may subsequently automatically user computer instructions as identified by any subsequent messages. Therefore the above method is able to quickly and easily display subsequent user interfaces, e.g. to provide alerts.
The method may comprise storing an indication of the user input in memory.
The second device may store an indication of the user input in the memory. Therefore, the second device may be able track the permissions relating to a number of different first devices.
At least apart of the net\vork may comprise a home network.
According to a second exemplary embodiment, there is provided a method of enabling a first device to present a user interface on a remote device, the first device and a second device being connected to a local network and the remote device being remote from the local network, the method comprising: establishing a connection between the second device and the remote device; detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device, the message identifying computer readable instructions stored on the first device; receiving the message at second device; responsive to the receiving, retrieving the computer readable instructions from the first device; transmitting the computer readable instructions to the remote device; and using, by the rcmotc device, the computer readable instructions \vhercby to present a user interface at the remote device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
The method may further comprise operating, at the second device, a service whereby to forward messages scnt between thc first device and the remote device.
Instead of using the computer readable instructions on tile second device, the instructions may be forwarded to a remote device. The remove device may subsequently receive and use the instructions. This has the advantage that the first device does not need to establish a connection to the remote device to be able to communicate with the remove device. This has particular advantages when there are a plurality of first devices, as only the second device needs to establish the connection.
To facilitate the provision of the user interface, the second device may provide a service to forward messages between the first device and the remote device.
According to a third exemplary embodiment, there is provided a method for enabling a first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device, the message identifying computer readable instructions stored on the first device and enabling the identified computer readable instructions to be retrieved from the first device. \vhercin the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a fourth exemplary embodiment, there is provided a method for enabling a first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: receiving a message at second device, the message identifying computer readable instructions stored on the first device; responsive to the receiving, retrieving the computer readable instructions from the first device; and using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a fifth exemplary embodiment, there is provided a system for enabling a first device to present a user interface on a second device, the system comprising: a first device; a second device; and a network via which the first and second device are able to communicate, wherein the first device is arranged to: detect a change in an operational state of the first device; responsive to the detecting, send a message identiing computer readable instructions stored on the first device, and the second device is arrange to: receive the message; responsive to the receiving, retrieve the computer readable instructions from the first device; and use the computer readable instructions whereby to present a user interface, at least a part of the user interface being detennined by the computer readable instructions retrieved from the first device.
According to a sixth exemplary cmbodiment, therc is provided a first device able to prescnt a uscr interface on a sccond dcvice, the first and second dcvices bcing able to communicate via a network, the first device alTanged to: detect a change in an operational stale of the first device; responsive to the detecting, send a message identil'ing computer readable instructions stored on the first device; and enable the identified computer readable instructions to be retrieved from the first device, wherein the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a seventh exemplary embodiment, there is provided a second device able to present a user interface associated with a first device, the first and second devices being able to communicate via a network, the second device arranged to: receive a message from the first dcvicc, the message idcntifying computcr readable instructions stored on the first device; responsive to the receiving, retrieve the computer readable instructions from the first device; and use the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a eighth exemplary embodiment, there is provided at least one computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a first and a second computerized device to cause the first and second devices to perform a method for enabling the first device to present a user interface on the second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first devicc;. rcsponsivc to the detecting, sending a message from the first device, the message identifying computer readable instructions stored on the first device; receiving the message at second device; responsive to the receiving, retrieving the computer readable instructions from the first device; and using, by the second device., the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a ninth exemplary embodiment, there is provided a computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable insfructions being executable by a first computerized device to cause the first device to perform a method for enabling the first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device, the message identi1iing computer readable instructions stored on the first device; and enabling the identified computer readable instructions to be retrieved from the first device, wherein the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
According to a tenth exemplary embodiment, there is provided a computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a second computerized device to cause the second device to perform a method for enabling a first device to present a user intcrfacc on the second device, the first and second devices being able to communicate via a network, the method comprising: receiving a message at second device, the message identiing computer readable instructions stored on the first device; responsive to the receiving, retrieving the computer readable instructions from the first device; and using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
Further features and advantages will become apparent from the following description of preferred embodiments, given by way of example only, which is made with reference to the accompanying drawings.
Brief Description of the Drawings
Systems, apparatuses and methods will now be described as embodiments, by way of example only, with reference to the accompanying figures in which: Figure 1 shows a schematic diaam of a system 1 in which embodiments may be practised; Figurc 2 shows a schcmatic diagram of components of a first dcvicc 6 within thc systcm 1; Figure 3 shows a schematic diawam of components of a second device 8 within the system I Figure 4 shows messaging flows according to embodiments; Figure 5 shows further messaging flows according to embodiments; and Figure 6 shows messaging flows including a remote device according to embodiments.
Sonic parts, components and/or steps of the embodiments appear in more than one Figure; for the sake of clarity the same reference numeral will be used to refer to the same part, component or step in all of the Figures.
Detailed Dcscription of Illustrative Embodimcnts Embodimcnts of the invcntion providc systems, dcvices and methods for enabling a first device to control a second device. So that embodiments of the invention can be better understood, the following exemplary embodiments will be described in the context of a typical homc network (a local network) connected to the internet. However, it will readily be appreciated that this context is not intended to be limiting on the claims except where explicitly stated.
As shown in Figure 1, a communications system 1 contains a local, or home, network 2. Within the local network 2 is a network hub 4. Devices 6, 8 and 10 are each connected to the hub 4 by connections 12, 14 and 16. The hub is also connected, via connection 18, to the internet 20. A remote device 24 is connected to the internet 20, and via the internet 20 may communicate with the local network 2 and the devices within it.
The hub 4 may correspond to a typical home network hub, sometimes known as a homehub, home router, modem router, WiFi hub or the 111cc. The hub may comprise a number of known functional elements, such as: a modem; a Dynamic Host Configuration Protocol (DCHP) server; a Network Address Translation (NAT) server; a wireless, or WiFi, access point; and an Ethernet switch. These elements, and their purpose, are known in the art and will not be described in detail. Nonetheless, it will be understood that the hub 4 provides each device 6, 8 and 10 with a network address within the network 2, and enables the dcviccs to communicate with each othcr, and with the intcrnct 20. The hub 4 may itself be compatible with UPnP standards, and may therefore be included in the sial1ing described below. As such, the hub 4 may also be described as a device 4 on the network 2.
Devices 6, 8 and 10 are all connected to the hub 4 via connections 12, 14 and 16, and are able to communicate with the hub 4, with each other, with the internet 20, and with the remote device 24 via the internet. Some or all of these connections may be wireless, in this example connections 14 and 16 are shown as being wireless (i.e. via 802.11 -WiFi), and connection 12 is wired (i.e. via Ethernet). However this is purely exemplary and any appropriate connections may be used.
The devices 6, 8 and 10 may be any suitable network connectable devices.
Nevertheless, to provide some context to the devices, in the description below, it will bc assumed that first dcvicc 6 corrcsponds to a nctwork conncctcd home automation system providing e.g. heating and ventilation; second device 8 corresponds to a network connected television; and device 10 corresponds to a mobile telephone with a wireless connection to the local network. It will further be assumed that each of the devices operates according to the Universal Plug and Play (TJPnP) standard.
The remote device 24 may be a mobile device such as a smart phone or tablet computer. The use of this element will be described in more detail below.
A more detailed view of the devices 6 and 8 (e.g. heating system and television respectively) will now be described with reference to Figures 2 and 3.
In Figure 2 a schematic vicw of thc components of the first device 6 is shown.
The first device 6 comprises a processing system 26 and a memory 28. Stored within the memory are computer readable instructions, illustrated as firmware 30 and application 32. A nctwork interface 34 enables thc first device 6 to communicate via conncction 12. Finally block 36 rcprcsents supplcnicntary hardware, which may be confrolled by the processing system 26. In the culTent context, this may correspond to e.g. the valves and relays required for the heating system to operate.
In general, the first device 6 may be. considcred as having a communications module which is able to send messages to and receive messages from the other devices, and one or more further modules, where the further modules! provide the ancillary functionality of the device, such as heating and lighting control. These modulcs may not bc physically scparatcd, that is they comprisc separate physical clcmcnts, howcvcr altcrnativcly or additionally, thc modulcs may bc functionally separated, i.e. both modules have functionality provided by the processing system.
In use the processing system 26 retrieves the computer readable instructions of the firmware 30 from memory 28 and executes the same. Tn accordance with the computer instructions the processing system 26 may control the supplementaiy hardware 36 to cause the desired effect (i.e. heating the home). In so doing the processing system 26 may send data to, and receive data from, the supplementary hardware 36. The detail of how this is done will be apparent to the skilled person and will be dependent on the nature of the supplementary hardware 36. As such this will not be described in detail. The processing system 26 may also send and receive data via the interface 34, as described below.
Figurc 3 shows a schematic view of the sceond device 8. In a similar fashion to the first device 6, the second device 8 comprises a processing system 38 and memory 40. The memory 40 comprises computer readable instructions, shown as firmware 42. Network interface 44 enables the second device 8 to communicate via connection 14. The second device 8, being in this example a television, also comprises a display 46 and a user input device 48, such as a remote control.
In use the processing system 38 retrieves the computer readable instructions of the firmware 42 from memory 40 and executes the same. In accordance with the computer instructions 42 the processing system 38 may control the display 46 and user input device 48 to provide a user interface at the second device 8. The processing system 38 may furthcr opcratc to send and receive data via thc interfacc 44.
The operation of the devices, in particular devices 6 and 8 will now be described with reference to Figures 4 to 6. In the following, for conciseness, the device itself will be dcscribed as performing certain steps, such as sending a mcssage, or processing data. Tt will be appreciated that this refers to the processing systems 26 and 38 of the respective devices 6 and 8 performing the requisite steps, in accordance with the computer instructions 30 and 42.
Figure 4 shows a signalling diagram featuring hub 4, and devices 6, 8 and 10.
This diagram shows the steps involved in the device 6 (henceforth the first device) connecting to the network 2 and enabling the device 8 (henceforth second device) to present a user interface for the first device 6. Prior the connection of the first device 6 to the network, it is assumed that the devices 8 and 10 havc already connected to the nctwork 2. As such, as shown by dashcd arrows 52 and 54, thc dcviccs 8 and 10 respectively have communicated with hub 4, and have, for example, been assigned network addresses on the local network 2.
In step 56, the first device 6 connects to the network 2 by communicating with the hub 4. This step, like steps 52 and 54 above, may involve the hub 4 assiguing the first device 6 with a network address such as an IP address.
In the subsequent steps 58 to 64, the first device 6 uses the UPnP discovery process to discover, and enable itself to be discovered by, other UPnP devices on the network 2. As such, in step 58, the device multicasts a discovery message via SSDP to all the devices on the network. This discovery message 58 may contain data about the first device 6. The discovery message 58, as described in the IJPnP standard, may also contain a network location, i.c. a URL, of an XML description file which may be used by devices 8 and 10 to retrieve additional information on the first device 6.
In response to the discovery message 58, hub 4, and second device 8 and 10 may send response message shown by arrows 60, 62 and 64. These response messages may be unicast to the sender of the discovery message 58 (i.e. sent to first device 6) and may also contain a network location of a description file which may be used by first device 6 to retrieve additional information on the devices 4, 8 and 10. It will be appreciated here that the hub 4 may aiso act as a UPnP device.
This discovery process is known in the TJPnP standard, and may optionally be performed in addition to the steps below. It will be appreciated., however, that these steps arc not essential.
Instep 65, the first device 6 determines a change in an operational state of the first device 6. In view of the example system described above, this may be a change in a heating or lighting system -for example the detection of a fault, or a scheduled switch on/off Other examples are envisaged, and these particular examples should not be considered to be limiting.
In step 66, responsive to the detected change, the first device 6 sends a launch message. In this embodiment, the message is multicastto a!! the devices 4,8 and 10 in the network 2. The message contains, at least, information identifying application 32, which as described above, is stored in the memory 28 of first device 6. This information identifying the application 32 may be a URL identi1'ing the application and cnabling it to be downloaded from thc first device 6.
Each of thc dcviccs 4, 8 and 10, having rcccivcd the message scnt in step 66, may respond to it. However, in this example, only the second device 8 will be described as responding. As such in step 68, the second device 8 determines whether to respond to the launch message sent in step 66. This may be done by the second device S displaying a prompt on display 46, requesting a user to aee to the second device 8 responding. The user may provide user input agreeing the response, or refuse permission. Alternatively, the second device may be set up to respond automatically, i.e. without a user prompt.Whatcver method is used it will be assumed that in step 68 the second device 8 determines that it will respond to the message 66.
Subsequently the second device 8 uses the information identifying the application 32 received in message 66 to retrieve the identified application from the first device 6. This is shown as a request sent, in stcp 70, from thc second device 8 to the first device 6 and, a response, sent in step 72 from the first device 6 to be received by the second device 8.
The application 32 contains conipLiter readable instructions which are used by the second device 8 to present a user interface on behalf of the first device. As part of the use of the computer readable instructions the second device may display a message or screen on the display 46, or provide an audible alert. Moreover, dependent on the instructions in the application the second device 8 may enable user interaction with the user interface and, based on ally user interactions with the user interface, the second device 8, may communicate with -that is, send data to and receive data from -thc first dcvicc 6. This communication is shown as double ended arrow 76.
It will be appreciated that there are a large number of possibilities for the functionality of the user interface provided by application 32. For example, the application may contain computcr instructions which causc the second device 8 to display an alcrt, \vithout any rcquircmcnt for a uscr to respond. Alternativcly a more complex user inteilace may be presented, enabling a user to provide input. The application 32 may thereby cause the second device 8 to send control messages to the first dcvice 6. Since the application may be specific to the first device 6, the user interface may be tailored to the requirements of the first device 6.
To link the above with the system described above, in one example the home automation system may have developed a fault. As such, the application may cause the second devicc 8 to display an alert identifying this fault. In this cxamplc, the application may bc relativcly simplc, and not have any facilities for thc uscr to respond to the alert (other than hiding it once read). In a second example, the home automation system may alert the user to a scheduled shutdown of the heating system, and provide a facility for the user to delay this shutdown. Tn this second example, the second device 8 may thus provide a control message to the first device 6 to cause the first device 6 to delay shutdown of the heating.
A further method will now be described with reference to Figure 5. This further method may be considered as an addition, or as an alternative to the above described method. The steps in this method occur after the devices 6, 8 and 10 have connected to the network and performed any discovery process as and if required. In the description below, the second device 8 stores data in its memory 42. To provide a visualisation of this the components of second dcvicc 8 are separately shown, i.e. the processing system 40 and the interface 46 are shown separately from the memory 42.
In step 77, the first device 6 determines a change in an operating state of the first device 6, and accordingly, in step 78, the first device 6 sends launch message to second device 8. This message may be unicast, in contrast to Figure 4, where the launch message was multicast. To enable the message to be unicast to the appropnate devices, i.e. second device 8 and not devices 4 and 10, the first device 6 may use information about the devices retrieved as a part of the discovery process. The launch message 78 comprises information identi.'ing application 32.
In this example, the launch message 78 is the first launch message received from the first device 6 by the second device 8. Accordingly, the second device 8 may, in step 80, determine whether to respond to the launch message 78. This may, as above, be through requesting user permission, which it will be assumed is given.
In step 82, the second device stores an indication of this permission in memory 42. In addition, as shown by steps 84 and 86 the second device 8 requests and retrieves application 32 from first device 6.
As shown by step 88, in a similar manner to step 74 above, the application is used by the second device 8 to provide a user interface. During step 100, the second device 8 and the first device 6 may communicate, as shown by arrow 94. The execution of the application will eventually be terminated. In continuation of the example situation, the ehangc in operating state may be a scheduled shut down in the heating system, and the user, through the user interface shown in step 88, may delay this shut down. Having done this, the user interface may be exited, terminating the application.
Subsequently, in step 91, a further change in operating state for the first device may be determined. This, in the example provided, may be because the delayed shutdown time has been reached, and the home automation system is again alerting the user to the scheduled shutdown. Consequently, based on this determined change in state, the first device 6 may send a second launch message to the second device 8, as shown by step 92.
Like the launch message described above, the second launch message sent in step 96 may comprise information identifying an application. Upon receipt of the message, in step 94, the second device determines whether user permission has been given for applications provided by the first device 6. This may be done by retrieving stored data from memory 42.
The stored user preferences may be Lised to determine that the application may be executed without further uscr prompting. As such, in steps 96 and 98 the second device retrieves the application 32 from the first device 6. In step 100, the application is used by the second device 8 to again present a user interface. During this time, further signalling may be performed, as shown by step 102.
The above demonstrates a number of advantages. Firstly, by providing an identifier of an application, which is executable on the recipient second device 8, the first device 6 is able to provide increased functionality through the application.
Furthermore, the first device 6 is able to cause the application to be launched through the laLuich messages. This can be contrasted with the prior art iii which the second dcvicc 8 has to instigate a connection to first device 6 so as to bc able to prcsent a user interface on behalf of the first device. A third advantage is that the first device 6, as shown by step 96, is able to send an alert or other similar notification, without requiring any pre-contiguration of the second device 8. A fourth advantage is that for a device, such as first device 6, to provide a user interface on a second device 8, only a single user interaction is required, to give initial permission. Once this is done, the first device 6 may provide a user interface on the second device 8 based on events at the first device 6.
Additional Details and Modifications A further set of signalling tiows will now be described with reference to Figure 6. This Figure shows a situation where a user interface is to be presented on a remote device 24. This may be done to enable users to remotely access and control the devices in their home, as such the remote device 24 may be a smartphone or tablet computer.
In an initial step 116, the remote device 24 establishes a connection with the second device 8. There are a number of methods by which this can be done. For example, the remote device 24 may be provided with the network address of the second device 8. Alternatively, and in particular where dynamic addressing is used, both the second device 8 and the remote device 24 may communicate \vith a fixed server, such as a wcbserver, to report their network addresses. As such, to communicate, either device can interrogate the server to determine the network address of the other. Other methods are known in the art, and will be apparent to the skilled person. Since the remote device 24 is connected to the second device 8, the second device 8 knows that the remote device is willing to receive launch requests.
In step 118, the first device 6 sends a launch message, identifying application 32. The second device 8 may respond to this message as described above, however alternatively or additionaily the second device 8 may also enable the remote device 24 to respond. As such, tile second device 8 retrieves the application 32 from the first device 6. The second device requests the application in step 120, and the application is sent and received in step 122.
In step 124, the second device 8 sends a message to the remote device 124.
This message may contain information identifying the application. In step 126, having received message 124, the remote device determines whether it is going to take action upon thc receipt of the message 124. As with the above description, this may be through user input.
Having determined that it is going to respond to tile message 124, the device retrieves the application 32 from the second device 8. The application 32 is requested in step 128 and is sent from the second device 8 in step 130. In step 132 the second device 8 also provides a service, such as a proxy application (different to the application 32), which enables the second device 8 forward messages to and from the first devicc 6 and remote device 24.
In step 134, thc remote dcvice 24 uses thc application 32 to provide a uscr interface. As part of this, the device 24 may send data to and receive data from the second device 8. The second device 8, running the proxy application, is able to forward received data onto the first device 6, and equally forward data received from first device 6 to the remote device 24. The resultant communication between the devices 6 and 24, via second device 8, is shown by arrows 136 and 138.
This present a further advantage, in that the first device 6 requires no special knowledge of the relationship between the remote device 24 and the second device 8.
This also means that the first device 6 does not have to be able to communicate with devices outside the local network 2, without being configured to do this. Instead the configuration enabling the communication \vith a remote device is handled by the second device S. This is also useful where thcre is more than one first devicc, such as first device 6, as all may communicate with the remote device 24, despite only the second device 8 being set up for such a connection.
In the examples provided above, the launch message is sent based on the identification of a change in operating state of the first device. It will be appreciated that the change in operating state may be associated with any change in the first device, and will depend on the functionality provided by the first device. As mentioned above, the first device may be considered to have a communications module and at least one further module, and therefore the state change may be associated with one or more of the at least one further module. It will also be appreciated that the state change is independent of any mcssages which may be received from the second device. That is the launch message is pushed to the second device, and is not sent in response to a request by the second device.
The first device may want to convey specific data to the second device, so that the user interface operates in the desired manner -for example presenting the correct alert, and requesting, if required, the desired user input. One method by which tins may be done is to have the computer readable instructions of the application 32 stay the same, and for the application, upon being launched, retrieving appropriate information from the first device. However, in the alternative, the first device may configure the launch message to contain parameters which are to be used by the application upon launch. The second device may consequently provide the parameters when the application is used. This has the advantage that a single application may be written, simpliting the provision of the application, and at least somc of the application to be cached in memory such as memory 42, reducing the amount of data which is transmitted.
In sonic embodiments, differcnt launch messages, identifying different applications, may be used. For example there may be a different application for different alerts, and the launch message which is sent may identify the application which will display the desired alert. These multiple applications may also bc cached.
In sonic embodiments, the first device may configure the application before it is sent to the second device, in other words, the identifier provided in the launch message is the same for all situations, however when the application is retrieved by a second device, the first device may deliver a customized application specific to the current operating state of the first device. This has the benefit of keeping the application -which is transmitted from the first device to the second device -relatively small, as only the parts reqLnred for the current status of the first device are required.
While the above has been described in the context of a home automation system presenting a user interface on a television, many other sccnarios are possible.
For example, the user interface may alternatively, or additionally, be presented on the mobile telephone 10. Additionally, the mobile telephone may detect a state change within it, for example an incoming telephone call, the receipt of a text (SMS) message, an alarm or a calendar reminder. Upon receipt, the mobile telephone 10 may act as the above mentioned first device and send a launch message so an alert is displayed on the television.
The second device 8, and any other device winch may execute an application such as application 32, may be provided with a suitable application engine so as lobe able to cxccute the application. Such an application engine may bc standardised so that applications from a givcn devicc will work on a largc number of dcviccs. As an example, there are a number of application engines currently deployed for use on a television, for example HbbTV, MHEG and MFll. These application engines allow broadcasters to provide interactive tclevision applications. Although a television is only one example of a device which may execute an application, these application engines serve as an example of suitable application engines which may be used in embodiments.
While thc above dcscription refers to an application 32, it will be apparcnt that any form of computcr readable instructions may bc provided by thc first dcvice, and used on the second device to provide a user interface. For example, the application may be provided as a webpage, containing markup data and may also contain scripting instructions such as JavaScript. However, in the alternative, the computer readable instructions may simply be a file defining the text for an alert which is to be displayed, as well as parameters. such as an expiry time for the alert, and what users responses are acceptable.
At least a part of the user interface may be determined by the application environment on the second device, for example, while any text to show may be defined by the computer readable instructions provided by the first device, the look of the text, such as font size and style, may be defined by the second device. Other arrangements providing a siniilar separation of fcaturcs arc envisaged.
The launch message described above may be unicast or multicast. In embodiments, the launch message may be sent as a SSDP message multicasted to all connected devices according to the IJPnP standard. Alternatively, in embodiments, the launch message may be unicast to specific devices. Tn this second case, the discover process associated with UPnP may be used to determine which device are suitable or able to receive a launch message.
Any suitable device may be send a launch message, and not simply a home beating device. Other examples include any home device or appliance which may have use of being controlled by a connected device. Some examples of suitable devices are: * borne security systems, which may additionally provide e.g. security footage via the application; * borne automation systems, controlling heating, ventilation, lighting and the like -in these cases the application may not only report on statuses of the system, but allow changes to the configuration of the systems to be made (for example, switch on times, or temperature); * a home appliance, such as a cooker, microwave, kettle, coffee maker or the like, which may report on status (such as completing a task) via the application; * a mobile telephone, or home telephone, which may provide an alert for an incoming call, message, dairy appointment, reminder or similar via the application; * a doorbell, or intercom, such that the user may be alerted to a visitor; and * a monitoring device, for example for a baby.
The launch message has been described simply as identifying an application, however the launch message may contain other data, including: a sting identifying the request as a launch request Although all IJPnP compliant devices on the network may receive this request, any non compatible SSDP clients can discard the message based on the identifier; * the 11! address of the remote device; * the URL identifying the location of the application to launch; * an device fliendly name', that is a name which may be used to identify the device to a mscç * an application friendly name'; * caching and launching options, tbr example whether the application should be stored locally on the second device 8; and * one or more control parameters, which may be provided to the application when it is executed -these may be used to provide an alert to a user, without further messaging.
In the above examples, the devices 4 and 10 did not respond to launch messages. There may be a number of reasons for this, for example, the device 4. being a hub, may not have a user interface system, and therefore will bc unable to usc the application. The device 10, being a mobile telephone in the example, may be able to handle launch messages, but have a user setting to reject such requests.
The second device 8 may, upon receipt of a launch message, request user input to authorise the presentation of a user interface. This may be presented, for example, on a screen of the second device 8. In giving permission, the user may speci' that user input is required before the application is executed again, alternatively the user may speciI' that the application may be executed upon the receipt of a launch message. Therefore, the second device 8 may launch the application upon receipt of the launch message, and therefore enable the first device to provide, for example, alerts on the second device.
Multiple first dcviees, such as first device 6, may be present on the network 2.
These first devices may each have a different set of stored user specified parameters in the second device 8. As such, an application associated with one device may launch as soon as a launch message is provide, whereas another application needs to be authorised each time before the application is launched. A further application may be always blocked. A user interface may be provided on the second device 8 to enable a user to change the settings for each known application. In some embodiments, the second device may be set up so that all launch request received on a local network result in automatic (i.e. without user permission) presentation of a user interface, whether or not the launch message was received from a known or a new first device.
The second device 8 may provide a functionality to enable a user to launch the application 32 without a launch message being received from the first device. As such a user intcrfaec may be provided on the second device 8 which enables a user to select and launch an application associated with a desired device. With reference to the examples already provided, this may enable a user to set a temperature via the television.
The first device 6 has been referred to in the singular, however it may be embodied in a series of distributed elements. Equally, the first device 6 may be a confrol system for a greater system (such as a heating system), and should not be thought of as including every element of such a system.
The network may be split up into a number of areas or zones. For example in the context of a large house, office or hotel, each room, or floor may be provided with a different zone, and messages may only be sent to devices within the same zone. This prevents a first device alerting an unintended second device.
The hub 4 was referred to in the singular for simplicity, however it will be apparent that the many functions of the hub may be distributed amongst a number of entities.
In some embodiments, the system may be used in, for example, a hotel. A such the network may be provided with particular zones, and devices may be set up to communicate with specific devices, or specific zones.
It is to be understood that any feature described in relation to any one embodiment may be used alone, or in combination with other features described, and may also be used in combination with one or more features of any other of the embodiments, or any combination of any othcr of the embodiments. Furthermorc, equivalents and modifications not described above may also be employed without departing from the scope of the invention, which is defined in the accompanying claims. The features of the claims may be combined in combinations other than those specified in the claims.

Claims (30)

  1. Claims I. A method for enabling a first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to thc detecting, sending a message from the first device, the mcssage identi1ing computer readable instructions stored on the first device; receiving the message at second device; responsive to the receiving, retrieving the computer readable instructions from the first device; and using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  2. 2. The method of claim 1, wherein thc message identifies a network location from which the computer readable instructions may be retrieved by the second device.
  3. 3. The method of claim 1 or claim 2, wherein the computer readable instructions comprise an application, which is executable on the second device.
  4. 4. The method of any of the preceding claims, comprising using, by the second device, the computer readable instructions whereby to send at least one confrol message to the first device.
  5. 5. The method of claim 4, comprising receiving, at the first device, a said confrol message, and causing an operating state of the first device to change based on the received control message.
  6. 6. The method of any of the preceding claims, comprising configuring, by the first device, the message based on an operating state of the first device.
  7. 7. The method of any of the preceding claims, comprising configuring, by the first device, the computer readable instructions, based on an operating state of the first device.
  8. 8. The method of any of the preceding claims, wherein the first device is configured to act as a server on the network, and the computer readable instructions cause the second device to act as a client to the server.
  9. 9. The method of any of the preceding claims, comprising multicasting the message by the first device.
  10. 10. The method of claim 9, wherein the message is sent using a Simple Service Discovery Protocol (SSDP).
  11. 11. Thc method of any of the proceeding claims, comprising conducting, by the first device, a discovery process on the network whereby to identi said second device, and sending the message to the second device based on the discovery process.
  12. 12. The method of any of the preceding claims, comprising sending, by the first device, a discovery message, the discovery message being sent before the said message.
  13. 13. The method of claim 12, wherein the discovery message identifies a network location of information describing the first device.
  14. 14. The method of claim 13, wherein the information describing the fimt device comprises an XM L formatted document.
  15. 15. The method of any of the preceding claims, wherein the sending of the message by the first device is performed independently from any messages received by the first device from the second device.
  16. 16. The method of any of the preceding claims, wherein the receiving of the message is performed independently from any messages sent to the first device by thc second device.
  17. 17. The method of any of the preceding claims, comprising detecting a plurality of changes in an operational state of the first device; and sending a plurality of said messages to the second device responsive to the detecting.
  18. 18. The method of claim 17, comprising: receiving, at the sccond device, a first said message; presenting, at the second device, a prompt for user input upon receipt of the first message, the prompt requesting permission to retrieve the computer readable instructions; and based upon user input providing permission, retrieving and using computer readable instructions for the first and any subsequent said messages.
  19. 19. The method of claim 18, comprising storing an indication of the user input in memory.
  20. 20. The method of any of the preceding claims, wherein at least a part of the network comprises a home network.
  21. 21. A method of enabling a first device to present a user interface on a remote device, the first device and a second device being connected to a local network and the remote device being remote from the local network, the method comprising: establishing a connection between the second device and the remote device; detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device, the message identifying computer readable instructions stored on the first device; receiving the message at second device; responsive to the receiving, retrieving the computer readable instructions from the first device; transmitting the computer readable instructions to the remote device; and using, by the remote device, the computer readable instructions whereby to present a user interface at the remote device, at least a part of the user interface being determined by the computer readable instructions retrieved from thc first device.
  22. 22. The method of claim 21, comprising: operating, at the second device, a service whereby to forward messages sent between the first device and the remote device.
  23. 23. A method for enabling a first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device., the message idcnti'ing computer readable instructions stored on the first device; and enabling the identified computer readable instructions to be retrieved from the first device, wherein the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  24. 24. A method for enabling a first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: receiving a message at second device, the message identifying computer readable instructions stored on the first device; responsive to the receiving, retrieving the computer readable instructions from the first device; and using. by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  25. 25. A system for enabling a first device to present a user interface on a second device, the system comprising: 2S a first device; a second device; and a network via which the first and second device are able to communicate, wherein the first device is arranged to: detect a change in an operational state of the first device; responsive to the detecting, send a message identi'ing computer readable instructions storcd on the first device, and the second device is arrange to: receive the message; responsive to the receiving, retrieve the computer readable instructions from the first device; and use the computer readable instructions whereby to present a user interface, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  26. 26. A first device able to present a user interface on a second device, the first and second devices being able to communicate via a network, the first device arranged to: detect a change in an operational state of the first device; responsive to the detecting, send a message identifying computer readable instructions stored on the first device; and enable the identified computer readable instructions to bc retrieved from the first device, wherein the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  27. 27. A second device able to present a user interface associated with a first device, the first and second devices being able to communicate via a network, the second device arranged to: receive a message from the first device, the message identifying computer readable instructions stored on the first device; responsive to the receiving, retrieve the computer readable instructions from the first device; and USC the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  28. 28. At least one computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a first and a second computerized device to cause the first and second devices to perform a method for enabling the first device to present a user interface on the second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to thc detccting, sending a messagc from the fimt devicc, the message identiing computer readable instructions stored on the first device; receiving the message at second device; responsive to the receiving, retrieving the computer readable instructions from the first device; and Using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from thc first device.
  29. 29. A computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a first computerized device to cause the first dcvice to perform a method for cnabling the first device to present a user interface on a second device, the first and second devices being able to communicate via a network, the method comprising: detecting a change in an operational state of the first device; responsive to the detecting, sending a message from the first device the message identiing computer readable instructions stored on the first device; and enabling the identified computer readable instructions to be retrieved from the first device, wherein the computer readable instructions are usable by the second device whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
  30. 30. A computer program product comprising a non-transitory computer-readable storage medium having computer readable instructions stored thereon, the computer readable instructions being executable by a second computerized device to cause the second device to perform a method for enabling a first device to present a user interface on the second device, the first and second devices being able to communicate via a network, the method comprising: receiving a message at second device, the message identifying computer readable instructions stored on the first device; responsive to the receiving, retrieving the computer readable instructions from thc first device; and using, by the second device, the computer readable instructions whereby to present a user interface at the second device, at least a part of the user interface being determined by the computer readable instructions retrieved from the first device.
GB1220359.2A 2012-11-12 2012-11-12 Communication between a first and a second device Active GB2507809B (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
GB1220359.2A GB2507809B (en) 2012-11-12 2012-11-12 Communication between a first and a second device
KR1020130048825A KR102236593B1 (en) 2012-11-12 2013-04-30 Controlling and displaying method of electronic apparatus
US14/077,948 US20140132504A1 (en) 2012-11-12 2013-11-12 Method for controlling and displaying electronic apparatus
EP13192452.4A EP2731297B8 (en) 2012-11-12 2013-11-12 Method for transmitting user interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1220359.2A GB2507809B (en) 2012-11-12 2012-11-12 Communication between a first and a second device

Publications (3)

Publication Number Publication Date
GB201220359D0 GB201220359D0 (en) 2012-12-26
GB2507809A true GB2507809A (en) 2014-05-14
GB2507809B GB2507809B (en) 2015-06-24

Family

ID=47470487

Family Applications (1)

Application Number Title Priority Date Filing Date
GB1220359.2A Active GB2507809B (en) 2012-11-12 2012-11-12 Communication between a first and a second device

Country Status (2)

Country Link
KR (1) KR102236593B1 (en)
GB (1) GB2507809B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10791077B2 (en) 2017-08-08 2020-09-29 Snap Inc. Application-independent messaging system
US11973730B2 (en) * 2022-06-02 2024-04-30 Snap Inc. External messaging function for an interaction system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1058422A1 (en) * 1999-06-02 2000-12-06 THOMSON multimedia Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods
US20060080382A1 (en) * 2004-06-25 2006-04-13 Pronay Dutta UPnP user interface system and method
WO2007148168A2 (en) * 2006-06-19 2007-12-27 Nokia Corporation Utilizing information of a local network for determining presence state
US20080279161A1 (en) * 2007-05-09 2008-11-13 Vlad Stirbu Modifying remote service discovery based on presence
US20110238731A1 (en) * 2010-03-23 2011-09-29 Sony Corporation Method to provide an unlimited number of customized user interfaces

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060136631A1 (en) * 2002-12-08 2006-06-22 Immersion Corporation, A Delaware Corporation Methods and systems for providing haptic messaging to handheld communication devices
US8644304B2 (en) * 2009-01-22 2014-02-04 Samsung Electronics Co., Ltd. IP telephony on a home network device
KR101664430B1 (en) * 2009-11-13 2016-10-10 삼성전자주식회사 Method and apparatus for providing remote UI service
KR101656882B1 (en) * 2009-12-04 2016-09-12 삼성전자주식회사 Method and apparatus for providing a user interface list in a network

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1058422A1 (en) * 1999-06-02 2000-12-06 THOMSON multimedia Methods for bridging a HAVi sub-network and a UPnP sub-network and device for implementing said methods
US20060080382A1 (en) * 2004-06-25 2006-04-13 Pronay Dutta UPnP user interface system and method
WO2007148168A2 (en) * 2006-06-19 2007-12-27 Nokia Corporation Utilizing information of a local network for determining presence state
US20080279161A1 (en) * 2007-05-09 2008-11-13 Vlad Stirbu Modifying remote service discovery based on presence
US20110238731A1 (en) * 2010-03-23 2011-09-29 Sony Corporation Method to provide an unlimited number of customized user interfaces

Also Published As

Publication number Publication date
GB2507809B (en) 2015-06-24
KR20140061206A (en) 2014-05-21
GB201220359D0 (en) 2012-12-26
KR102236593B1 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
US9560425B2 (en) Remotely control devices over a network without authentication or registration
KR101615624B1 (en) Device and method for controlling remote user interface device
US7958272B2 (en) Method and apparatus for outputting a user interface (UI) event of 3rd party device in home network
EP2314059B1 (en) Method and system for providing input in home network using upnp
US20150006296A1 (en) NOTIFICATION DISMISSAL IN AN INTERNET OF THINGS (IoT) ENVIRONMENT
US11641502B2 (en) Methods and systems for implementing legacy remote and keystroke redirection
US9372839B2 (en) Rendering system
EP2728831B1 (en) Determination of information relating to messages
JP2009540663A (en) Method and system for accessing a device remotely over a network
JP5567144B2 (en) Provision of media content information
AU2011245872C1 (en) Method for providing message and device therefor
WO2017059703A1 (en) Method of controlling network appliance, network appliance, feature phone, and system
EP2731297B1 (en) Method for transmitting user interface
US10264312B2 (en) Method for controlling IP-based HDMI device
EP2507936B1 (en) Method and apparatus for acquiring rui-based specialized control user interface
US9405557B2 (en) Method and apparatus for providing a remote control user interface
GB2507809A (en) Simple Service Discovery of UPnP peer devices
KR20120008401A (en) Apparatus and method for controlling a plurality of remote user interface servers in a home network
CN105337821A (en) Internet of things system based on UPNP protocol and Internet of things data transmission method
CA2912060A1 (en) Coordination of multiple devices for delivery of multiple services
KR101667049B1 (en) Method and apparatus for restricting the disclosure of network information in remote access service
US20170366869A1 (en) Discovery protocol system
WO2015118589A1 (en) Information processing device, information processing method, and program