WO2006056899A1 - A device and a method of operating a device - Google Patents

A device and a method of operating a device Download PDF

Info

Publication number
WO2006056899A1
WO2006056899A1 PCT/IB2005/053652 IB2005053652W WO2006056899A1 WO 2006056899 A1 WO2006056899 A1 WO 2006056899A1 IB 2005053652 W IB2005053652 W IB 2005053652W WO 2006056899 A1 WO2006056899 A1 WO 2006056899A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
devices
logical address
address
logical
Prior art date
Application number
PCT/IB2005/053652
Other languages
French (fr)
Inventor
Stephen M. Pitchers
Original Assignee
Koninklijke Philips Electronics N.V.
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 Koninklijke Philips Electronics N.V. filed Critical Koninklijke Philips Electronics N.V.
Publication of WO2006056899A1 publication Critical patent/WO2006056899A1/en

Links

Classifications

    • 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/5046Resolving address allocation conflicts; Testing of addresses
    • 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
    • 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/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • H04L12/4135Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD] using bit-wise arbitration

Definitions

  • the above methodology is also applicable to any collection of devices that do not perform identical functions but which have a certain commonality in the way they communicate with each other. Any pair of devices that might send a command to each other simultaneously and which use the same algorithm for conflict resolution will benefit from this invention. It is especially relevant for devices that have little or no interaction with a user, or where this is an inconvenience, as it becomes important for the device to resolve conflicts itself rather than relying on human intervention to provide a solution.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

A method of operating a device comprises transmitting a first signal to a second device, receiving a second signal from the second device, retrieving the logical address of the first device, retrieving the logical address of the second device, comparing the logical addresses of the first and second device, and either transmitting a third signal to the second device, or awaiting a third signal from the second device, dependent upon the comparison of the logical addresses of the first and second device.

Description

DESCRIPTION
A DEVICE AND A METHOD OF OPERATING A DEVICE
This invention relates to a method of operating a device and to a device.
In a communication system such as a home network of devices, a set of identical devices is in communication with each other via some communication means. From time to time, one of the devices will initiate a communication with another of the devices by sending a command message to the other device (its peer). The message is designed to cause a particular operation to be enacted in the receiving device, the nature of the operation being determined by the type of message transferred and the data content of the message, if any. The results of the operation are returned to the first device in a reply message; this could be as simple as a message of the type OK or ERROR.
When the initiating device receives the reply from its peer, it knows that the command was successfully delivered (and acted upon, to the extent indicated by the contents of the reply message). However, with many types of communication media, there can be occasional failures that result in a message not being successfully delivered. If this should occur, the initiating device becomes aware of this failure by the fact that the expected reply does not get returned. After waiting a suitable interval for the reply, the initiating device can take an appropriate action, such as reissuing the command, or noting that the peer device can no longer be contacted. Typically, a device will attempt to resend the message several times before concluding there has been a permanent failure.
This requires that each transmitted command be stored in a temporary buffer on the first device, following its first transmission, so that it can be retransmitted if necessary. This message will only be deleted from the retransmission buffer once the peer device has acknowledged receipt. A device will not be able to process further commands before the reply has either been received or the first device has given up retransmitting the command, otherwise the reply issued for the second command would overwrite the reply already stored in the retransmission buffer.
It may happen that device A sends a message to device B at the same time that device B sends a message to device A. Here, we take the phrase "same time" to mean that each device sends a command message and then receives a similar command message before it has received a reply to its own outgoing command. This can happen because of delays within the communication layer, for instance due to buffering, such as queuing of transmitted or received commands.
This does not imply that there has been a clash within the communication layer such that one or other of the commands fails to be delivered; on the contrary both commands are delivered, there being several known methods to deal a clash in the communication layer. The communication medium has successfully delivered both messages to the appropriate destination. However, this presents a problem. Each device is unable to process the incoming command, as it is already awaiting a response to its own outgoing command.
At first sight, an appropriate response might be for each device to discard the useless incoming command, anticipating that it will be resent at a later time, after the conflict has been resolved. However, if no further action is taken, the retransmission will also encounter the same condition and no progress will have been made.
In essence, the problem is that the two devices are acting simultaneously in an identical manner. To be able to make progress, the devices need to take turns - one device should discard the incoming command, for now, and the other device should enact it immediately. Subsequently, the first device can retransmit its command, which will not now cause a conflict because the second device will now be in a different state. The crucial step is to decide which device should go first; deciding precedence is difficult when the two devices have identical programming and are in an identical state. One known solution is for the devices to back off for a pseudorandom period of time and then try again. However, this is not effective if the pseudorandom sequences in each device happen to be synchronised. In some situations, this can be considered no more than a theoretical possibility, but in other cases it can present a genuine issue in practical situations. For instance, if the two devices are connected to the same power circuit and are consequently turned on and off simultaneously, this will cause the pseudorandom sequences to be exactly synchronised, making the sequence useless for arbitration. The same problem arises when a computer simulates the devices and the programs are started at the same time.
It is therefore an object of the invention to improve upon the known art. According to a first aspect of the present invention, there is provided a method of operating a device comprising transmitting a first signal to a second device, receiving a second signal from the second device, retrieving the logical address of the first device, retrieving the logical address of the second device, comparing the logical addresses of the first and second devices, and either transmitting a third signal to the second device, or awaiting a third signal from the second device, dependent upon the comparison of the logical addresses of the first and second devices.
According to a second aspect of the present invention, there is provided a device comprising a processor for controlling the operation of the device, a storage device for storing data including a logical address of the device, and a communication interface for communicating with other devices, the processor arranged to detect a conflict in communication between devices, to retrieve the logical address of the device, to retrieve the logical address of the conflicting device, to compare the logical addresses of the two devices, and either to transmit a signal to the conflicting device, or to await a signal from the conflicting device, dependent upon the comparison of the logical addresses of the first and second devices.
Owing to the invention, it is possible to provide a new means of negotiation between identical devices that depends neither on pseudo random sequences nor on outside arbitration. The new approach hangs on the observation that although devices may be running the same program, they must have been given unique identifiers if they are in communication with each other. It is necessary for them to have unique identifiers so that the communication medium can deliver messages to the correct destination. These addresses might be statically configured, or dynamically allocated, for instance using DHCP, or assigned by any other mechanism.
This invention determines precedence based on these unique identifiers, to decide which device should go first. Each device compares its own address with the address of its communication partner. The comparison may be a strict numerical comparison to determine which address is the greater or an alphabetic comparison to see which device comes first in the alphabet, or any other means. Provided that the addresses are not the same, one of the two devices will learn that it has precedence and the other device will learn that it must give way.
As a variation of this idea, the device that wins the precedence comparison may simply be responsible for deciding on the course of action to be taken to resolve the conflict. For instance, it might instruct the other device to go first. The application specific software in the device may not have a first hand knowledge of its own address identifier. It must of necessity know the address to which it sends messages to its peer, but there are several reasons why it may be difficult to determine the address its peer is using to send a reply. It is important to determine the right address so that both devices are comparing exactly the same logical address; otherwise it cannot be guaranteed that both devices will come to the same conclusion about which has precedence.
A solution to the problem of identifying the logical address by which a device is known to its peer is provided. A device issues a special message to its peer device that includes, as a parameter, the address to which it has been sent. Additionally, this message can be of a type that indicates that the sender has identified a conflict and requests the resolution procedure to be enacted. Once the device has been told the appropriate address, it performs the comparison, and learns whether it has precedence. The device with precedence can then enact the received command and the other device can discard the incoming command. Once the device with precedence has transmitted its reply message, it can then retransmit its own command, safe in the knowledge that the other device is now in a different state, and will be able to process the command.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:- Figure 1 is a schematic diagram of a pair of devices showing messages passing between the devices,
Figure 2 is a schematic diagram, similar to Figure 1 , of the pair of devices showing messages passing between the devices,
Figure 3 is a schematic diagram, similar to Figure 1 , of the pair of devices showing messages passing between the devices,
Figure 4 is a flowchart of a method of operating a device,
Figure 5 is a schematic diagram of the pair of devices, and
Figure 6 is a schematic diagram, similar to Figure 5, of the pair of devices.
Figure 1 illustrates a device 10 in communication with a second device 12. This Figure shows the two devices 10 and 12 transmitting and receiving signals, in the form of messages, in normal working conditions, without any conflict in the intercommunication. The first device 10 transmits a command [1] to the second device 12, and receives an acknowledging reply [2] from the second device 12, showing that this message has been received. The command could be, for example, a request for a list of media files stored by the second device 12. The second device 12 will then transmit a command [3] with the requested information, and the first device 10 will respond with a reply [4]. This transmitting and receiving of messages will be repeated by the two devices 10 and 12, and each of the devices can also communicate with any other devices within the network of devices that may be present. Figure 2 illustrates the situation when the first device 10 transmits a first signal [1] to the second device 12 and, at substantially the same time, the second device 12 transmits a second signal [2] to the first device 10. In order to resolve the conflict in communication between the devices, each device will execute a resolution procedure to determine the actions to be taken by each of the devices 10 and 12.
For the first device 10 this will involve retrieving the logical address of the first device 10, retrieving the logical address of the second device 12, comparing the logical addresses of the first and second device, and either transmitting a third signal to the second device 12, or awaiting a third signal from the second device 12, dependent upon the comparison of the logical addresses of the first and second device.
The second device 12 will, at the same time, be executing the same resolution procedure, and assuming that both devices are correctly aware of their own and the other devices logical address, the two devices will come to the same result. In the simplest embodiment, each device will make a numerical comparison of the two logical addresses, with the understanding that the device with lower of the two numerical values will be the device that goes first, with the other device awaiting the signal from the first device. It is possible that a device has been assigned more than one logical address. For instance, each computer on an IP (Internet Protocol) network conventionally has an IP address for use by other computers, for example 172.16.84.21 , plus a special address for use by inter-process communications on the same computer, for example 127.0.0.1. If a computer is fitted with more than one network interface, then each will have its own IP address. In this case, the device may be "dual-homed", that is simultaneously being a member of more than one network. A device may also have further addresses, such as 192.168.0.1 for a connection via a serial port. There may be more than one possible route between each pair of devices. If this is the case, then there needs to be an effective procedure for discovering the logical address via which a device is being addressed by other devices. The system call interface of the sockets abstraction for IP communications does not reveal the address to which a packet was sent, so it is not, in general, possible to be sure which address a peer is using. The reply address is, however, made available, so it is nevertheless possible to send a message back to the reply address. Figure 3 illustrates the situation where the first device 10 and the second device 12 are in conflict following the cross of the first signal [1] and second signal [2], where a device may not necessarily be aware of the logical address through which it is receiving messaged. Following receipt of the second signal [2] from the second device 12, the first device transmits a signal [3] including the logical address of the second device 12 (which it must know since it is transmitting messages to that device). Likewise, the second device 12 transmits a signal [4] including the logical address of the first device 10. This allows the two devices 10 and 12 to execute the comparison of the logical addresses and resolve which device is to act first. The normal flow of messages can then be resumed.
Alternatively, according to this invention, a command message may itself include the address to which it has been sent as a parameter, so the receiving device will learn unambiguously which address its peer is using for communication. The device will then have available both the address that its peer is using to send messages and the return address which it should use to send messages to the peer. These addresses can then be compared as described above, to determine which of the conflicting devices has precedence.
Figure 4 summarises the method of the invention, being a method of operating a device comprising transmitting 14 a first signal to a second device, receiving 16 a second signal from the second device, retrieving 18 the logical address of the first device, retrieving 20 the logical address of the second device, comparing 22 the logical addresses of the first and second devices, and either transmitting 24 a third signal to the second device, or awaiting 26 a third signal from the second device, dependent upon the comparison 22 of the logical addresses of the first and second devices. Figure 5 shows the pair of devices 10 and 12 in more detail. Each device comprises a processor 28 controlling the operation of the device, a storage device 30 for storing data including the logical address 32 of the device (although as discussed above, this address may need to be retrieved from another device), and a communication interface 34 for communicating with other devices in the network. A first signal 36 is transmitted by the first device 10 at approximately the same time that the second device 12 is transmitting a second signal 38.
The transmission and reception of the signals by each device at roughly the same time leads to each device executing the comparison of the two logical addresses 32 to decide what action each device will take, be it retransmitting the signal or awaiting for a signal to be received. Since each device is carrying out the same calculation on the same pair of logical addresses 32, they will come to the same result as to which device has precedence over the other device.
Figure 6 shows the situation, when the conflict has been resolved in favour of the first device 10, which now transmits a third signal 40 to the second device 12. The third signal 40 may be a repeat of the first signal 36, a response derived from processing signal 38 (as shown in Figure 3) or some other signal.
The method of resolving the communication conflict is applicable in any kind of device that communicates with other devices. For example, in consumer electronics, devices about the person or in the home that communicate with each other to provide combined functionality to the user, will frequently encounter communication conflict.
Other fields of application of the invention encompass wearable electronics, including personal multimedia, sports performance monitoring equipment and medical telemetry applications. Applications also encompass home automation, including entertainment systems, security devices, domestic appliances and also the equivalent in-car devices. It is important for such devices to remain small and efficient and there is an incentive to keep complexity to a minimum. The invention disclosed here is simple and straightforward and does not increase greatly the complexity of the devices.
The above methodology is also applicable to any collection of devices that do not perform identical functions but which have a certain commonality in the way they communicate with each other. Any pair of devices that might send a command to each other simultaneously and which use the same algorithm for conflict resolution will benefit from this invention. It is especially relevant for devices that have little or no interaction with a user, or where this is an inconvenience, as it becomes important for the device to resolve conflicts itself rather than relying on human intervention to provide a solution.

Claims

1. A method of operating a device comprising transmitting (14) a first signal to a second device, receiving (16) a second signal from the second device, retrieving (18) the logical address of the first device, retrieving (20) the logical address of the second device, comparing (22) the logical addresses of the first and second devices, and either transmitting (24) a third signal to the second device, or awaiting (26) a third signal from the second device, dependent upon the comparison (22) of the logical addresses of the first and second devices.
2. A method according to claim 1 , wherein the steps of transmitting the first signal to the second device and of receiving the second signal from the second device occur substantially simultaneously.
3. A method according to claim 1 or 2, wherein the third signal transmitted by the device comprises the first signal.
4. A method according to claim 1 or 2, wherein the third signal transmitted by the device comprises a message instructing the second device to transmit a signal.
5. A method according to any preceding claim, and further comprising, following receipt of the second signal from the second device, transmitting a fourth signal including the logical address of the second device.
6. A method according to any preceding claim, and further comprising, following receipt of the second signal from the second device, receiving a fifth signal including the logical address of the device.
7. A device (10) comprising a processor (28) for controlling the operation of the device, a storage device (30) for storing data including a logical address (32) of the device, and a communication interface (34) for communicating with other devices, the processor arranged to detect a conflict in communication between devices, to retrieve the logical address of the device, to retrieve the logical address of the conflicting device (12), to compare the logical addresses of the two devices, and either to transmit a signal (40) to the conflicting device, or to await a signal from the conflicting device, dependent upon the comparison of the logical addresses of the first and second devices.
8. A device according to claim 7, wherein the conflict in communication between devices occurs when the device transmits a first signal (36) and receives a second signal (38) from the conflicting device substantially simultaneously.
9. A device according to claim 8, wherein the processor is arranged such that the signal transmitted by the device, following the comparison of the logical addresses of the two devices, comprises the first signal.
10. A device according to claim 7 or 8, wherein the processor is arranged such that the signal transmitted by the device, following the comparison of the logical addresses of the two devices, comprises a message instructing the conflicting device to transmit a signal.
11. A device according to any one of claims 7 to 10, wherein the processor is further arranged, following detection of a conflict in communication between devices, to transmit a signal including the logical address of the conflicting device.
PCT/IB2005/053652 2004-11-24 2005-11-07 A device and a method of operating a device WO2006056899A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB0425801.8 2004-11-24
GBGB0425801.8A GB0425801D0 (en) 2004-11-24 2004-11-24 A device and a method of operating a device

Publications (1)

Publication Number Publication Date
WO2006056899A1 true WO2006056899A1 (en) 2006-06-01

Family

ID=33548770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2005/053652 WO2006056899A1 (en) 2004-11-24 2005-11-07 A device and a method of operating a device

Country Status (2)

Country Link
GB (1) GB0425801D0 (en)
WO (1) WO2006056899A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4723239A (en) * 1984-05-12 1988-02-02 Honeywell Gmbh Serial bus system and method for selection of bus subscribers
EP0756402A1 (en) * 1995-07-25 1997-01-29 Cho, Jin-young Distributed serial arbitration system
EP1422880A1 (en) * 2001-08-31 2004-05-26 Sony Corporation NETWORK CONNECTION APPARATUS, CONNECTION SYSTEM, AND NETWORK CONNECTION METHOD

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4723239A (en) * 1984-05-12 1988-02-02 Honeywell Gmbh Serial bus system and method for selection of bus subscribers
EP0756402A1 (en) * 1995-07-25 1997-01-29 Cho, Jin-young Distributed serial arbitration system
EP1422880A1 (en) * 2001-08-31 2004-05-26 Sony Corporation NETWORK CONNECTION APPARATUS, CONNECTION SYSTEM, AND NETWORK CONNECTION METHOD

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ANDREW S. TANENBAUM: "Binary Countdown", COMPUTER NETWORKS, THIRD EDITION, 1 January 1996 (1996-01-01), Prentice Hall PTR, New Jersey 07458, pages 255 - 256, XP002366627 *
BRYANT 3COM CORP P BRITTAIN DATA CONNECTION LTD APPN IMPLEMENTER'S WORKSHOP CLOSED PAGES DOCUMENT D: "DLSw v2.0 Enhancements", IETF STANDARD, INTERNET ENGINEERING TASK FORCE, IETF, CH, June 1997 (1997-06-01), XP015007950, ISSN: 0000-0003 *

Also Published As

Publication number Publication date
GB0425801D0 (en) 2004-12-22

Similar Documents

Publication Publication Date Title
JP3932994B2 (en) Server handover system and method
Ford et al. TCP extensions for multipath operation with multiple addresses
Lindgren et al. Probabilistic routing protocol for intermittently connected networks
KR101150039B1 (en) Reliable messaging using clocks with synchronized rates
US6633781B1 (en) Home appliance networking system and method for controlling the same
US7185114B1 (en) Virtual memory systems and methods
US5931916A (en) Method for retransmitting data packet to a destination host by selecting a next network address of the destination host cyclically from an address list
US8583831B2 (en) Thin client discovery
US20050050214A1 (en) Access control method, communication system, server, and communication terminal
US20030236841A1 (en) Method and apparatus for increasing TCP/IP server responsiveness
EP0275135A2 (en) Method for handling slow requests over a network
US20060026292A1 (en) Data communication method and information processing apparatus for acknowledging signal reception by using low-layer protocol
US8780772B2 (en) Communication protocol for wireless enhanced controller area networks
US7200643B2 (en) Controller and controlling method thereof
WO2009121689A1 (en) Method for enabling faster recovery of client applications in the event of server failure
US7299264B2 (en) System and method for monitoring a connection between a server and a passive client device
EP1602034A2 (en) Communications interchange system
US6502128B1 (en) Server and a method for communicating event messages from the server connected to a peripheral device and a client computer
CN112152880A (en) Link health detection method and device
JPH10112740A (en) Information processor, communication method and storage medium
WO2006056899A1 (en) A device and a method of operating a device
WO2002039317A1 (en) Network attached tape storage system
TWI280767B (en) Application control system and application control method
JP2007336401A (en) Communication control device, authentication system, and communication control program
JP6182779B1 (en) Transfer device, transfer method, and program

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 BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

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

121 Ep: the epo has been informed by wipo that ep was designated in this application
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05800622

Country of ref document: EP

Kind code of ref document: A1