WO2014051430A1 - Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network - Google Patents

Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network Download PDF

Info

Publication number
WO2014051430A1
WO2014051430A1 PCT/NL2013/050690 NL2013050690W WO2014051430A1 WO 2014051430 A1 WO2014051430 A1 WO 2014051430A1 NL 2013050690 W NL2013050690 W NL 2013050690W WO 2014051430 A1 WO2014051430 A1 WO 2014051430A1
Authority
WO
WIPO (PCT)
Prior art keywords
gossip
module
network
messages
layer
Prior art date
Application number
PCT/NL2013/050690
Other languages
French (fr)
Inventor
Jan-Hein VAN TWIST
Joris Maarten VAN GELDER
Original Assignee
Off The Grid B.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 Off The Grid B.V. filed Critical Off The Grid B.V.
Publication of WO2014051430A1 publication Critical patent/WO2014051430A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/08User group management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user

Definitions

  • the invention relates to a network node in a mesh network.
  • the invention further relates to a portable gossip module.
  • the invention also relates to a method and system for interfacing with a mesh network using a portable handheld device.
  • Wireless (e.g., cellular) service providers and device manufacturers are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services, applications, and content.
  • One area of development is the use of device-to- device communication networks and devices to automatically determine information and context about the local environment.
  • technical challenges relating to power consumption, signaling overhead, security, and privacy have hindered such development.
  • a device for a network node in a wireless mesh network can be formed by a portable gossip module.
  • the gossip module can comprise a RF unit, a controller and an adaptor.
  • the controller can be connected to the RF unit and to the adaptor.
  • the RF unit is arranged for receiving and forwarding gossip network messages via the wireless mesh network according to a predetermined protocol.
  • the adaptor may be arranged to establish an operational end-to-end connection with a handheld terminal, such as a smartphone, to exchange messages to the RF unit, from the RF unit or both to and from the RF unit.
  • the controller is configured for controlling the exchange of the interface messages between the gossip module and the handheld terminal.
  • the gossip module By allowing messages to be transmitted from the handheld terminal to the gossip module, at least some of the technical facilities of the handheld terminal, for instance the user interface, such as the display and/or keyboard, the processor, the memory, the wireless communication units, such as the wifi, Bluetooth and/or telephone network transmitters and receivers, of a handheld terminal may be made available to the gossip module.
  • the user interface such as the display and/or keyboard
  • the processor the memory
  • the wireless communication units such as the wifi, Bluetooth and/or telephone network transmitters and receivers
  • the RF unit may be arranged to independently form a node in a mesh network using a suitable protocol.
  • the RF unit is arranged to form an active node.
  • the RF unit is arranged to extend the mesh network.
  • the RF unit is arranged to receive and forward the gossip messages in a mesh network, the presence of the gossip module will extend the available network.
  • the device comprises a memory connected to the controller, in which memory operating instructions may be stored for controlling the operation of the device, especially the RF unit thereof.
  • the controller is configured to amend one or more operating instructions controlling the operation of the device based on one or more messages received from the handheld terminal. More specifically, one or more of the operating instructions that determine the operation of the gossip module (for instance the operating instructions stored in memory or operating instructions provided by the controller) may be amended by the controller based on one or more messages received from, the handheld terminal. For instance, the messages may be interface messages generated by one or more user interfaces of the handheld device. The message is transmitted to the gossip module through the adaptor. This enables the user to control the operation of the gossip module by actuating the user interface of the handheld terminal, for instance the keyboard or the touch screen of a mobile phone. Consequently, there is no need for a separate user interface on the gossip module.
  • the memory is arranged to store messages received over the mesh network
  • messages can be received over the RF unit and messages addressed to the gossip module (either general messages or messages comprising an address of the gossip module or the connected handheld device) can be stored in the memory.
  • the messages may be interface messages received by the RF unit from the wireless mesh network, for instance from the user interfaces of other nodes of the network. These interface messages may cause user output to be generated by the user interface, for instance messages shown on the display.
  • the messages may further be stored in the memory of the gossip device to be provided later to the handheld terminal, for instance once a connection with the adaptor is established.
  • the controller is arranged to communicate with the RF unit.
  • Application layer messages can be exchanged.
  • the RF unit can be controlled by the controller. Further messages for the gossip module can be received by the RF unit and can be made available to the controller.
  • the adaptor is arranged to establish an operational end-to-end connection between the controller and a handheld terminal, such as a smartphone. This will allow connecting the gossip module with a terminal such as a smartphone.
  • the operational end-to-end connection can be any direct connection between the gossip module/adaptor and the handheld terminal such as a wired connection, such as USB or a wireless connection such as Bluetooth.
  • the operational end-to-end connection is direct connection not part of a network.
  • the RF unit is arranged to send and receive gossip network messages via the wireless mesh network according to a predetermined protocol. This enables the gossip module to receive messages in the gossip network. This also enables the gossip module to send messages into the mesh network.
  • Such an RF unit may function as a passive node or an active node.
  • the adaptor is arranged to establish an operational end-to-end connection between the controller and a handheld terminal, such as a smartphone, to enable the handheld terminal to amend the operational instructions.
  • a suitable application program (herein also referred to as "app") can be stored and executed on the handheld terminal.
  • the app allows sending messages, for instance comprised of operating instructions or messages from which operating instructions may be derived, over the operational end-to-end connection of the adaptor to the gossip module. These operating instructions can be stored, for instance in the memory of the gossip module.
  • the adaptor providing the operational end-to-end connection can be disconnected from the handheld terminal. Any operating instructions amended by the handheld terminal may remain stored in memory when gossip module is disconnected from the handheld terminal and are therefore available if the operational end-to-end connection is re-established.
  • the gossip module may be a stand alone module, that occasionally receives instructions from an handheld terminal by making contact between the adaptor and the handheld terminal.
  • the operating instructions are executed when the operational end-to-end connection is disconnected. In an example this allows programming the gossip module to execute instructions after disconnecting the handheld terminaifrom the gossip module.
  • a connection can be made between a handheld terminal and the nodes of a mesh network by making the operational (direct) connection to the gossip module and operating the gossip module through the handheld terminal.
  • the handheld terminal may get access to the mesh network, and in some embodiments the mesh network will be extended.
  • the device's WAN connection may now be connected to the PAN connection over the mesh network. This will allow relaying of messages between the two different mesh networks.
  • the gossip module has a battery.
  • the battery allows stand alone operation of the gossip module.
  • a charge plug can be made available to charge the battery when it is of a rechargeable type.
  • the operational end-to- end connection is wired and comprises a battery connection for charging the handheld terminal from the battery of the gossip module.
  • the gossip module may provide battery charging capabilities to the handheld terminal.
  • the gossip module has a memory comprising a user interface program for a handheld device for (remotely) controlling the controller and/or RF unit using an end-to-end connection established over the adaptor.
  • This program can he an 'app'.
  • the adaptor can be arranged to (automatically) upload the user interface program over the operational end-to-end connection onto the handheld terminal. This will allow a new handheld to upload the necessary interface program (app) from the gossip module itself. Automatic upload functions are available for USB connections.
  • the gossip module comprises a clock connected to the controller.
  • the controller is arranged to execute timed operating instructions stored in the memory.
  • a user can input instructions using the handheld interface.
  • the interface program on the handheld device allows sending a message, for instance a command, over the adaptor that causesamendment of the operating instructions determining the operation of the gossip module
  • the RF unit has RF circuitry connected to a RF chip containing a stack for a predetermined wireless mesh network protocol.
  • the stack can include a network layer, and preferably includes an application layer.
  • controller is arranged to exchange application layer messages with the RF unit.
  • user input received in the handheld device by suitable interface units is converted in the handheld device into application layer messages. These application layer messages are sent over the operational end-to-end connection to the controller and received at the
  • the stack includes, for example, a physical layer and a data link layer under the international standard IEEE 802.15.4 for WL-PAN (Wireless Personal Area Network) and preferably further includes a network layer, a transport layer, a session layer, a presentation layer, and an application layer.
  • WL-PAN Wireless Personal Area Network
  • the controller is arranged to communicate with the RF unit and with the adaptor, the controller arranged as or compri ing a suitable converter.
  • the RF unit is a is a short-range radio frequency communication module, e.g. operating in the 2.4 GHz band.
  • the gossip module is arranged to receive a unique identification number of the handheld terminal connected to the adaptor and wherein the controlleris arranged to send gossip messages over the gossip network comprising a code based on the unique identification number.
  • a suitable identification such as a Facebook ⁇ username but also using the phone number of the handheld device.
  • a gossip messages received at another node can be identified as sent from the handheld. In some embodiments this allows identifying the identity of the sender, e.g. using a "contacts' directory at the other node.
  • the gossip module can comprise a slot for a unique identification card, such as a subscriber identification card.
  • the controller can be connected to the slot.
  • the controller can he arranged to send gossip messages over the gossip network comprising code based o the unique identification information received from the slot.
  • the operational end-to-end connection is a USB connection and the adaptor comprises a male USB (micro) plug.
  • Female USB micro plug are currently available on many s narfphones.
  • the operational end-to-end connection is one of a Bluetooth connection, infrared connection, PCM connection, and an audio connection.
  • the gossip module can comprise multiple adaptors and/or multiple different operational end- io-end capabilities for allowing to configure the connection with the handheld device.
  • the predetermined gossip protocol can be at least one of:
  • ZigBee such as ZigBee Home Automation, ZigBee Smart Energy 1.0, ZigBee
  • the invention is not limited to any of the above protocols.
  • the gossip module comprises several protocols.
  • the operating instructions comprise instructions for switching on/off one or more of the protocols.
  • the RF unit comprises multiple RF chips and/or multiple transceivers for allowing to operate different protocols simultaneously.
  • the predetermined gossip protocol comprises a coordinator function and the controller is arranged to coordinate the ad-hoc mesh network. This will allow pairing with nodes in the mesh network. Thi will increa e the speed of the network.
  • the RF unit is arranged to establish and maintain the wireless mesh network and to communicate with an application layer, including an IEEE 802.15.4 based physical layer, an IEEE 802.15.4 based MAC layer, a predetermined protocol network layer and an application interface.
  • an assembly of a handheld device such as a mobile phone, having WAN connectability and a gossip module as defined herein is provided.
  • the gossip module is embedded in the handheld device.
  • the gossip module and handheld terminal are separate devices, each having its own housing.
  • the handheld terminal may comprise a user interface (eg. keyboard, touch screen, etc.) for receiving user input and/or providing user output.
  • the user interface is configured to generate interface messages that may he transmitted to the gossip module through the adaptor.
  • the user interface receives interface messages from the gossip module, for instance to he displayed on the display of the user interface.
  • the mobile phone can comprise user interface circuitry and user interface software configured to facilitate user control of at least some functions of the mobile phone through use of a display and configured to respond to user input; and a display and display circuitry configured to display at least a portion of a user interface of the mobile phone, the display and display circuitry configured to facilitate user control of at least some functions of the mobile phone.
  • the mobile phone can further comprise a processor for executing a user interface program of the gossip module, wherein the display circuitry is configured to display the user interface of the gossip module, wherein the mobile phone has user interface input units and wherein the user interface input units are configured to convert user input into a signal send over the connection to the adaptor of the gossip module.
  • a method for operating a gossip module as claimed herein may comprise
  • the interface instructions are preferably contained in (interface) messages which messages are transmitted to the gossip module via the adapter of the gossip module.
  • the method may also comprise receiving and forwarding gossip messages in a mesh network by the gossip module.
  • an apparatus comprising at least one processor, and at least one memory including computer program code, the at least one me ory and the computer program code configured to, with the at least one processor, cause the device to function as a node in a mesh network and to receive instruction over a end-to-end connection from a handheld terminal having a suitable interface.
  • a computer-readable storage medium carrying one or more sequences of one or more instructions which, when executed by one or raor controllers, cause the device to function according to any of the embodiments or examples disclosed herein.
  • Fig. 1 illustrates a communication system capable of engaging in a service or activity using a gossip network, according to an example of the invention
  • Fig. 2A illustrates the components of a handheld terminal connected to a gossip module: IGs. 2B-2E illustrate components of gossip modules according to various exemplary embodiments;
  • FIG 2F is a diagram of the data structure of a network layer message header, as can be used in the invention.
  • Fig. 2G is a diagram depicting a power saving scheme of a device-to-device radio layer, according to an exemplary embodiment
  • FIG. 3A is a flowchart of a process for locating communities and community members over a gossip network, according to various exemplary embodiments
  • Fig. 4A is a ladder diagram that illustrates a sequence of messages and processes used in a originating node, according to an exemplary embodiment
  • Fig. 4B is a ladder diagram that illustrates a sequence of messages and processes used in a destination node, according to an exemplary embodiment
  • FIGs. 5A-5B are diagrams of a user interface utilized in the process of locating communities over a gossip network, according to various exemplary embodiments
  • Fig. 6 is a diagram of hardware that can be sed to implement an example of the invention.
  • Fig. 7 is a diagram of a chip set that can be used to implement an example of the invention
  • Fig. 8 is a diagram of a mobile station (e.g., handset) that can be used to implement an example of the invention.
  • Fig. 9 is an example of synchronized communication frames that include TDMA schedule with TDMA slots and an idle period;
  • FIG. 10 is a block diagram showing an exemplary configuration of the gossip module of the invention.
  • FIG. 1 shows an example of the gossip module 2100 of the invention
  • FIG. 12 A shows an embodiment of a terminal 2300 of the invention
  • FIG, 12B is a block diagram specifically showing the gossip module 2100 inserted in the terminal 2300 of FIG.12A;
  • FIG. 13A shows another embodiment of the gossip module 2400 of the invention;
  • FIG. 13B is a block diagram showing a gossip module 2400 connected to a terminal 2406;
  • FIG, 14 shows an example of arrangement of an internal antenna in the gossip module of the invention;
  • Fig. 16 is a block diagram of a single private home area network comprising an energy service portal and a number of devices;
  • Fig. 17 is a block diagram of a single device in communication with the gossip module;
  • Fig. 18 is a schematic diagram of a protocol stack implemented in the gossip module of
  • Fig. 1.9 is a state diagram, for a device in the home area network of Fig. 16;
  • Fig. 20 is a schematic diagram illustrating service discovery communications between a device and gossip module:
  • Fig. 21 is a schematic diagram illustrating key establishment communications between a device and gossip module.
  • FIGS. 22 to 24 are block diagrams of communication flow between a gossip module and a network device.
  • a method and apparatus for engaging in a service or activity using an ad-hoc mesh network are disclosed.
  • numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
  • ad-hoc radios e.g., WLAN and Bluetooth(R)
  • WLAN and Bluetooth(R) are designed for connectivity
  • a multi-hop connection in a large ad -hoc network typically requires a significant amou t of control signaling and power and can quickly deplete a mobile device's battery.
  • scalability can be a problem, because current ad-hoc radios are typically limited in the number of connections and the related signaling that they can support at any given time.
  • a system 100 comprises one or more handheld devices lOl -lOl .
  • the handheld terminals 101a- 101 ⁇ can be connected to a communication network 103 through either operator A 105 or operator B 107.
  • the handheld terminals lOla-lOln are any type of mobile terminal, portable terminal, or fixed terminal including mobile handsets, personal computers, stations, units, devices, multimedia tablets, Internet nodes, communicators, Personal Digital Assistants (PDAs), or any combination thereof. It is also contemplated that the handheld terminals lOla-lOln can support any type of interface to the user (such as "wearable" circuitry, etc.).
  • the handheld terminals 101 a-1.01n are, in this embodiment, examples of nodes capable of accessing a wide area network (WAN) such as a mobile communication network.
  • the handheld terminals can have different functionality.
  • handheld terminal 101a is a GSM, thus being a device having wireless capabilities of its own.
  • Such handheld terminal may be connected with the W AN network 103 via its own wireless capabilities.
  • system 100 creates the wireless mesh network or gossip network 109 for sharing information/sending a message in a connectionless fashion.
  • a mesh network or gossip network 109 is a personal area network (PAN).
  • PAN personal area network
  • Fig. 1 shows an example of a gossip network 109 of a plurality of 104a-104n according to the present invention.
  • the gossip network 109 can include any number of nodes.
  • Each of the PAN-nodes 104 of the gossip network 109 can broadcast or receive gossip messages from its neighboring nodes.
  • connectionless refers to the ability of a node (e.g. handheld terminal 101a or gossip node 104a) to send information/messages and to, of all surrounding PAN- nodes 101,104, receive and forward information/messages without the need to send any prior control signaling.
  • a node e.g. handheld terminal 101a or gossip node 104a
  • sending a message using the transmission control protocol/IP (TCP/TP) over a WLAN ad-hoc is not connectionless because of the two- way TCP control signaling between the sending and receiving nodes used to establish the TCP connection.
  • TCP/TP transmission control protocol/IP
  • the exchange of information occurs as a broadcast message (i.e., a flooding message) from a handheld terminal 101/gossip node 104 to neighboring handheld terminals 101/gossip node 104 that are within range of the radio of the broadcasting handheld terminal 101/gossip node 104.
  • a broadcast message i.e., a flooding message
  • neighboring handheld terminals 101/gossip nodes 104 may in turn rehroadcast or forward the message to other neighboring handheld terminals 101.
  • the originally broadcasted message propagates throughout the gossip network 109.
  • the extent of the propagation may be limited by criteria such as distance, location, time, etc.
  • Fig. 1 is a diagram of a communication system capable of engaging in a service or activity using an mesh network, according to an exemplary embodiment.
  • Information and context comprise "awareness information" that metaphorically equip a communication terminal with " radio eyes and ears” to continuously collect and exchange information with other devices in a local environment.
  • awareness information that metaphorically equip a communication terminal with " radio eyes and ears” to continuously collect and exchange information with other devices in a local environment.
  • development of a system for providing awareness information poses significant technical challenges, particularly in the areas of creating a network for sharing awareness information, locating and organizing awareness information, forming communities for sharing awareness information, managing power consumption for devices constantly engaged in sharing awareness information, developing applications to take advantage of the awareness information, maintaining the privacy and anonymity of users sharing awareness information, and preventing the proliferation of undesired messages (e.g., spam) over the network.
  • undesired messages e.g., spam
  • the handheld terminal lOla-lOln may be connected with one WAN network 103 via its own wireless capabilities and be connected, via the adaptor of the gossip module, to the peer-to- peer network established by the gossip modules.
  • Handheld terminal 101 b is a digital music player being a device without wireless capabilities of its own.
  • the gossip module is embedded by way of example. Thereby, three distinct examples are gi ven of handheld devices suitable for communicating with the gossip modules according to the invention.
  • the handheld terminals 101 -101 n each have an interface 102a-102n that allow a user to interface.
  • the user can input data, e.g. controls and can receive output, e.g. display, from the terminal l Ol a-l Ol n.
  • a suitable interface is a touch sensitive display device.
  • the handheld terminals 101 a-101 n can form a gossip network
  • the handheld terminal 101 a-101 n can be connected to a gossip module 1 1 la-1 1 In.
  • Gossip modules 11 la-1 l ib are examples of separate modules coupled 112a- 112b to the wireless network node ! Ola-lOlb.
  • the connection 112a- 112b is illustrated schematically only.
  • the connection can be any end-to-end operational connection.
  • Gossip modules 1 1 l a-1 1 l b can use a USB connection, earplug connection or a wireless connection for forming a non-permanent end-to- end connection with the handheld terminals 101 a- 101b.
  • Gossip module 11 In comprises an embedded gossip module permanently coupled to the handheld terminal 101 n.
  • the gossip network 109 can comprise gossip nodes 104a-104n.
  • a gossip node in this embodiment comprises a gossip module. It could be without interface. It can comprise a controller, a sensor etc.. In embodiment one or more gossip nodes 104a- 104n could be connected to the mains.
  • some of the PAN nodes 101,104 comprise wireless sensor and/or actuator nodes, or nodes without any sensor and/or actuator device.
  • any device capable of bidirectional communication can be a node in the network.
  • the present invention is suited for wireless networks, one or more wired nodes can also be members of the network.
  • each PAN node 101,104 may be mobile and is within communication range of any number of other PAN nodes 101 ,104.
  • the gossip network 109 can further comprise a power gossip node 106.
  • a power gossip node 106 could have one or more of the following specifications:
  • the PAN comprises two such gossip nodes connected to LAN/WAN, gossip messages could be send over the wired network betwee the two power gossip nodes 106, allowing e.g. bypassing part of the PAN network.
  • the gossip network 109 preferably is a communication system betwee a plurality of nodes 101 a-iOl n and nodes 104a-104n in a gossip for gossip protocols. The scalability of the
  • the gossip network 109 is an example of a Personal Area network (PAN). Handheld terminals !Ola-iOin through the gossip modules 11 l a- 11 I n and gossip nodes !04a-!04n, hereinafter the PAN-nodes !Ola-iOln, 104a-104n, are arranged to communicate over the gossip network 109 using a gossip protocol. Any suitable gossip protocol can be used, such as Zigbee,
  • ZigBee is low-power, wireless mesh network standard. Zigbee is deployed in wireless control and monitoring applications. Low power-usage allows longer life with smaller batteries, ZigBee operates in the industrial, scientific and medical (ISM) radio bands; 868 MHz in Europe, 915 MHz in the USA and Australia, and 2.4 GHz in most jurisdictions worldwide. Data transmission rates vary from 20 to 900 kilobits/second.
  • the ZigBee network layer natively supports both star and tree typical networks, and generic mesh networks. Every network must have one coordinator device, tasked with its creation, the control of its parameters and basic maintenance. Within star networks, the coordinator must be the central node. Both trees and meshes allows the use of ZigBee routers to extend communication at the network level.
  • the ZigBee protocol stack builds upon the physical layer and medium access control defined in IEEE standard 802.15.4 (2003 version) for low-rate WPANs.
  • the specification goes on to complete the standard by adding four main components: network layer, application layer, ZigBee device objects (ZDOs) and
  • ZDOs are responsible for a number of tasks, which include keeping of device roles, management of requests to join a network, device discovery and security.
  • 6L0WPAN implementation provides the advantage that the Internet Protocol (wireless communication) can be applied even to the smallest devices, and that low-power devices with limited processing capabilities should be able to participate in wireless communication.
  • Internet Protocol wireless communication
  • MyriaNed uses an epidemic communication style based on standard radio broadcasting. Nodes do not need to know who is in their neighborhood at the time of sending a message, there is no notion of an a-priori planned Routing, data is just shared instantaneously.
  • the Myrianed network is implicitly reliable since messages may follow different communication routes in parallel. The loss of a message between two nodes does not mean that the data is lost. Nodes can be added, removed or may be physically moving without the need to reconfigure the network.
  • the network may even be heterogeneous, where several types of nodes communicate different pieces of information with each other at the same time. This is possible due to the fact that no interpretation of the message content is required in order to be able to forward it to other nodes.
  • MyriaNed is enabled to update the wireless sensor nodes software by means of "over the air" programming of a deployed network.
  • the invention can use any of or combinations of existing (and future) protocols for gossip networks.
  • the system 100 eliminates the problems associated with traditional methods for route establishment and maintenance (e.g., connection based communication protocols), such as maintaining and handing off connections as mobile devices move, and requiring high levels of network resources for maintaining connections in an environment with a high number or density of mobile devices. For example, in an embodiment the event of a PAN- nodes 101,104 appearing/disappearing to/from the network does not generate any control signaling in the gossip network 109.
  • route establishment and maintenance e.g., connection based communication protocols
  • the system 100 can create routing information, e.g. when needed to route replies to queries back to the querying node.
  • the routing information is generated by using the query messages alone (i.e. no control signaling is used for creating routing information).
  • the routes are forgotten, in other words, the query/reply process of system 100 provisions routes for a reply to provide awareness information on demand rather than pushing awareness information from one PAN node 101,104 to another.
  • both push e.g., information is published over the gossip network 109
  • pull e.g., information is queried from other PAN nodes 101 , 104 of the gossip network 109 modes of disseminating information are possible.
  • the pull mode of operation can be used instead of the push mode to help suppress potential spam messages.
  • the gossip module allows routing pairing.
  • a discovery gossip message could be send over the gossip network in order to retrieve a routing, preferably shortest routing for sending a gossip message between an riginating node 501 and a destination node 508.
  • Discovery gossip messages can be send at predetermined intervals.
  • the gossip network 109 uses the Myrianed protocol.
  • Myrianed is an example of an unorganized gossip network.
  • 'acknowledge' messages are sent over the gossip network to acknowledge receipt of a message broadcasted.
  • the ack-message can be arranged to prevent or stop further forwarding of a message.
  • the ack- message can be generated and sent by the PAN-node 101,104 for which the sent message was intended.
  • the system 100 also enables the development of new services and applications based on the availability of gossip network 109 (e.g., social networking applications, location-based applications, application for determining presence, applications for determining context, advertising applications, or other local services or applications).
  • gossip network 109 e.g., social networking applications, location-based applications, application for determining presence, applications for determining context, advertising applications, or other local services or applications.
  • the continuous and immediate nature of the gossip network 109 with respect to local environment enables compelling new services.
  • an application uses the gossip network to discover events near the user. For example, as a user passes a park, the handheld terminal 101a informs the user, based on messages exchanged between nearby terminals, that "There is a Japanese culture festival in the Tea Garden Park; five members of your Kab ki community are there: Zen, Mi, Xia, Talo, and Chris.” The user may then decide to attend the festival.
  • an application provides location-based or context-based services using the gossip network 109.
  • a handheld terminal 101a does not have positioning capabilities but nonetheless knows that it is in a grocery store based on information from another nearby gossip node 104 sending a GPS signal. It is contemplated that the grocery store may also place a node in the store to provide such context information, possibly combined with other store specific information such as the address of the store's web page. The handheld terminal 101a then reminds the user to "Remember to buy dishwasher detergent" based on the user's location in a grocery store.
  • the GPS information can aiso be the physical position information from a neighboring handheld terminal 101b that has the positioning capability. Sharing of positioning information with a neighboring node with such a capability can enable nodes 101 without such capability to offer navigational services.
  • an application enables locally targeted advertising. For example, it is almost closing time for a local fresh fruit market.
  • the merchants decide to publish an advertiseme t over the gossip network 109 that "Apples are 50 percent off for the rest of the day.”
  • the advertisement is available to users who live nearby the market.
  • a user browses an advertisement for a new printer on a handheld terminal 101a.
  • a code attached to the advertisement is stored in the gossip module 111. Upon searching and finding such a code, a nearby electronics store sends the user an offer to sell the printer with a 10 percent discount.
  • an application provides the capability to initiate local discussion threads and group chats over the gossip network 109.
  • the supporters of a football team form a community over the gossip network 109 wherein community members can send short text messages (e.g., of small enough size to be sent directly over the gossip network 109) thai can be received and read only by the fan club comm nity members of that articular team.
  • Fig. 2A is a diagram of the components of a handheld terminal 101 connected 112 with a gossip module 1 1 1 , accordi g to an exemplary embodiment.
  • the technical measures (receiver, transmitter, control circuitry, etc.) on the handheld terminal 101 for accessing WAN are not shown and will he known to the skilled man.
  • the gossip module 11 In can also be embedded on the handheld terminal 101.
  • elements (layers/devices) of the gossip module are embedded in the housing of the handheld terminal 101.
  • FIGs. 2B-2E are diagrams of the components of a gossip module 11 1 , according to various exemplary embodiments.
  • a handheld terminal 101 is connected electronically with a gossip module allowing receiving, sending and forwarding gossip messages within the gossip network 109. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality.
  • the handheld terminal 101 includes an application 201 that uses gossip messaging to provide various services and functions including social networking, location- based services, presence information, context determination, advertising functions, etc.
  • the application 201 may interact with the gossip module 111 toobtain or share gossip messages.
  • the gossip module 1 11 includes three layers: a cognition layer 203, a community layer 205, and a network layer 207.
  • the cognition layer 203 is the highest control layer for gossip information/messaging.
  • the cognition layer 203 includes a control logic 221 and item storage 223.
  • the control logic 221 for instance, provides the logic for creating, publishing, querying, and receiving information/messages over the gossip network 109.
  • the control logic 221 can store the information that it either creates or receives in the item storage 223. It is contemplated that the item storage 223 may be of sufficient size to store all or a portion of the information that flows through the handheld terminal 101 over a configurable period of time (e.g., days, months, or year's).
  • control logic 221 enables querying and dissemination of gossip messages.
  • the addressed handheld terminai(s) 101 in the local neighborhood can send a reply message (e.g. ack-message) to the querying node automatically.
  • the reply message is also automatically stored in the item storage 223 of each handheld terminal 101 through which the propagating reply passes.
  • the reply message can comprise a pointer (e.g., a universal resource locator (URL) address, IP address) to specific content relevant to the query rather than the content itself under certain circumstances (e.g., when the specific content is large in size). It is contemplated that the reply message may contain direct content if the content is relatively small (e.g., a few tens of bytes of information).
  • the system 100 minimizes the data traffic that flows through the gossip network 109.
  • the receipt of the pointer e.g., IP address
  • any handheld terminal 101 through which the published information propagates may store the information in item storage 223 of the handheld terminal 101.
  • a push mode can be used for the gossip messages (e.g. advertising or group chatting) over the gossip network 109.
  • control logic 221 provides mechanisms for ensuring privacy and anonymity.
  • the control logic 221 can prevent the transmission of intimate information when the number of neighboring handheld terminals is small to prevent the possibility of inferring identity.
  • intimate information refers to information directly related to the user, e.g., the user's habits, tastes, or preferences (musical preferences, favorite restaurants, etc.).
  • control logic 221 enables to user to define filters for incoming
  • control logic 221 can interact with the community layer 205 to anonymize or encrypt a specific message and corresponding identifiers as described below with respect to the community layer 205.
  • the cognition layer 203 together with the community layer 205, provide an application programming interface (API) 225 to enable an application 201 to access the functions of the control logic 221 and the item storage 223.
  • API application programming interface
  • the APT 225 enables application developers to have uniform and easy access to functions related to gossip messaging over the gossip network 109. It is contemplated that the API 225 is extensible to accommodate any application designed to access or use gossip messaging.
  • the applications in the various nodes 101 do not have to be the same or mutually compatible.
  • the cognition layer 203 also has connectivity to the community layer 205.
  • the community layer 205 controls the formation and cataloging of communities of handheld terminals 101 within the gossip network 109.
  • a user may create any number of communities for gossip messaging.
  • a community may be either a peer community (e.g., any PAN node 101,104 may join), a personal conimunity (e.g., a PAN node 101,104 may join only if invited), or the open local community that consists of all nodes in the local neighborhood.
  • Examples of applications areas of gossip networks 109 are:
  • the messages that traverse between the handheld terminals 101 within the gossip network 09 belong to one of these three community types.
  • Communities can either be private (messages are encrypted) or public (no encryption used).
  • membership and status in a community affect how the handheld terminal 101 exchanges gossip messages (see the discussion with respect to Fig. 2G for additional details of community membership).
  • a community may be created for any purpose or duration (e.g., a permanent work community, a permanent community of friends, a temporary community of concert goers lasting only the duration of the concert).
  • the community layer 205 includes a community control module 241, a community directory 243, and an encryption/decryption module 245.
  • the community control module 241 provides the logic for creating, joining, managing (e.g., updating membership, configuring settings and preferences, setting privacy policies), and deleting communities.
  • the module 241 also provides part of the ⁇ 225.
  • the community layer 205 can communicate with the application 201. Creation of a communication can be started and controlled using the interface 102 on the handheld terminal 101.
  • the community control module 241 assigns a unique community identification number (CID) to each community for use within the gossip network 109.
  • the control module 241 can also generate authentication keys K associated with the CID to, for instance, authenticate users who wish to join the community or authenticate messages directed to the community.
  • a handheld terminal 101 may invite another handheld terminal 101 to join a community by transferring the CID and authentication keys associated with the community to the other handheld terminal 101 . It is contemplated that the transfer of the CID and
  • corresponding authentication key may occur using another communication protocol
  • CID (e.g., zero) or does not use the CID at all.
  • the community control module 241 interacts an encryption/decryption module 245 to anonymize the CID when including the CID in messages over the ad hoc mesh network 109.
  • a handheld terminal 101 may send a gossip message to a specific community using an anonymized CID (e.g., a pseudonym) associated with the community in lieu of the actual CID,
  • an anonymized CID e.g., a pseudonym
  • multiple anonymized CIDs maybe used to represent a single community.
  • the encryption/decryption module 245 may encrypt or decrypt message data using, for instance, a temporary key that is periodically derived from the authentication key K associated with the CID. These measures hinder the discoverv of the CID bv outsiders that do not have the authentication key.
  • the community layer 205 inserts a special header into the messages that it receives from the cognition layer 203.
  • the special header for instance, contains a list of anonymized community identifiers corresponding to the communities to which the message is relevant.
  • Fig. 2D is a state diagram of the effect of community membership and status, according to an exemplary embodiment.
  • a gossip module 111 may be in either one or two states (e.g., a not-joined state 251 and a joined state 253) with respect to membership in a community within the gossip network 109.
  • the application 201 of handheld terminal 101 issues, for instance, a command 255, triggered by interface 102, to either join or leave a community to transition between the not-joined state 251 and the joined state 253.
  • the gossip module 1 1 1 When the gossip module 111 is in the not-joined state 251 with respect to a community, the gossip module 1 1 1 has no information (e.g., CID and associated authentication keys K) about the community and cannot access messages directed to the community.
  • the gossip module 1 1 1 When the gossip module 1 1 1 is in the joined state 253, the community layer 205 receives the CID and possibly one or more authentication keys associated with the community.
  • CID e.g., CID and associated authentication keys K
  • authentication keys are provided when membership in the community is by invitation or otherwise restricted (e.g., when the community is a personal community or a private community).
  • the community layer 205 will be able to encrypt outgoing community specific messages and to decrypt incoming community specific messages.
  • the gossip module 111 When the gossip module 111 is in the joined state 253, the gossip module 111 may also be in either an inactive state 257 or an active state 259. To transition between the inactive state 257 and the active state 259, the application 201 may issue a command 261 to either activate or deactivate the joined state 253 via the application programming interface 225.
  • the community layer 205 abandons the message even though it is a member of the community.
  • the gossip module 1 11 may also be invisible to other members of the community while in the inactive state 257.
  • the gossip module 111 may enter the inactive state 257 when it temporarily does not want to receive or share information with the community.
  • the community layer 205 encrypts and decrypts community messages as usual for private communities, and enables all outgoing and incoming community specific messages for public communities (e.g., communities with no restrictions on membership).
  • the gossip module 11 1 may also be in either an invisible state 263 or a visible state 265.
  • the application 201 issues a command 267 to set either the visible or invisible state.
  • the community-specific identity e.g., a user alias
  • the gossip module 1 I 1 cannot be queried by other members of the community.
  • the community layer 205 can continue to receive and forward gossip messages.
  • the identity of the gossip module 1 1 1 can be queried by other members of the community.
  • the community directory 243 of the community layer 205 maintains, for instance, information on the communities that the user has joined.
  • Such information contains, at least, the community identification (CID). Additionally, it may contain public and/or pri vate authentication keys ( ) of the joined communities and a list of anonymized community identifiers for each community.
  • the community control module 241 may periodically recalculate the list of anonymized CIDs.
  • the community layer 205 inserts a header into the message it receives from the cognition layer 203.
  • the header contains, for instance, a list of anonymized community identifiers identifying the communities to which the message is relevant.
  • a special personal community can be reserved for tracking new bonds or relationships created between users.
  • user A meets user B for the first time and wants to create a radio bond between the mobile devices corresponding to each user.
  • user A can initiate the creation this bond with user B by transferring to user B (e.g., by using a secure transfer mechanism) the CID and the public K of user A's personal "new bonds" community.
  • user B may give user A similar credentials corresponding to user B's "new bonds" community. Once the credentials are exchanged and the bond has been created, user A may find user B over the gossip network 109 by searching for members of user A's "new bonds" community. In other words, with a simple search of a single community, user A can search for all the people in user A's local neighborhood with whom user A has created a bond. This requires that a high number of community CIDs and Ks can be stored in the community directory 243. Also, an effective lookup of the community directory must be provided. There are many existing and good solutions for such efficient loop-up..
  • the gossip module 1 11 can be disconnected from the handheld terminal 101a and can be end- to-end connected to a farther handheld device 101b.
  • the stored community information can be accessible through application 201 as executed on the handheld device 101b. This will allow another handheld device to have access to the (ipre-)defined) communities of gossip module 1 1 1. The access can be exchanged.
  • the application 201 as executed on the handheld terminal 101 can comprise one or more of the functionalities of the community layer and/or these functions are duplicated.
  • the community directory and encryption/decryption module 245 functionalities can be part of the application 201 executed on the handheld terminal 101. This allows storing the
  • the community layer 205 has connectivity to the cognition layer 203 above and the network layer 207 below.
  • the network layer 207 manages the rebroadcasting of received gossip messages and the routing of the miieast(typically reply) messages received by the handheld terminal
  • Fig. 2E depicts a diagram of the components of the network layer 207, according to an exemplary embodiment.
  • the network layer 207 includes a network control module 271, routing table 273, neighbor table 275, message identification (coordinator) table 277, and message table 279.
  • the network control module 271 directs the broadcasts of messages and information by managing and updating the routing table 273, neighbor table 275, Coordinator table 277, and message table 279.
  • the network layer 207 may insert a header into messages it receives from the community layer 205 to, for instance, direct routing of the received messages.
  • the structure of this network layer message header 281 is discussed with respect to Fig. 2F.
  • FIG 2F is a example di gram of the data structure of a network layer message header, according to an exemplary embodiment.
  • the message header 281 contains the following fields: (1) a TX field 282 to identify the transmitter node ID (NID) of the last frans itting PAN node 101 ,104; (2) a SRC field 283 to identify the source node ID
  • a DST field 284 to identify the destination source ID of the intended recipient of a unicast (reply) message
  • a MSN field 285 to identify the message sequence number assigned by the source node
  • a hop count field 286 that is incremented by one by each node 101 that transmits the message.
  • the message header 281 may also contain the following optional fields: (6) a geographical limit field 287 to designate the extent of the physical over which the message is intended to propagate (e.g., the geographical limit field 287 may contain a geographical position of the source node and a maximum " flooding radius from that position); (7) a temporal limit field 288 (e.g., the temporal limit field 288 may contain the time when the message becomes obsolete and should be dropped); and (8) a context limit field 289 that defines the context beyond which the message is not intended to propagate (e.g. a message related to a particular concert is not intended to extend beyond the concert venue).
  • a geographical limit field 287 to designate the extent of the physical over which the message is intended to propagate
  • the geographical limit field 287 may contain a geographical position of the source node and a maximum " flooding radius from that position
  • a temporal limit field 288 e.g., the temporal limit field 288 may contain the time when the message becomes obsolete and should be dropped
  • the network layer 207 could also contain a routing table 273.
  • the routing table 273 contains a listing of the node identification number (NID) of the originating handheld terminal 101 (e.g., source NID) and the NIDs of the last known transmitters of the message.
  • a purpose of the routing table could be to enable the routing of the repl /acknowledge messages (e.g., imicast messages) back to the originating node.
  • each subsequent handheld terminal 101 that receives the message adds the NID of the last transmitter to the routing table to record the next hop neighbor towards the source node.
  • the source node is marked as the destination node (DST) in the routing table. Also the message sequence number of the message is recorded.
  • the update of the routing table 273 is coordinated by the network control module 271.
  • the routing table 273 lists the destination NID (DSTj) of a gossip message, the transmitter NIDs (TXil , TXi2, ... TXi ' M) associated with PAN nodes 101 , 104 that have rebroadcasted a message and the MSN (MSNi) of the message.
  • the neighbor table 275 can contain a list of the neighboring handheld terminals 101.
  • the neighbor table 275 can contain an estimate of their relative radio distance, it is contemplated that the observed signal strength (RSSI) together with the known transmitting power of a neighboring PAN node 101 , 104 is an indicator of the proximity of the handheld terminal 101 and can be used to calculate the relative radio distance.
  • the relative radio distance of the node from which the message was last received is then used as a criterion for whether or not the handhekl terminal 101 retransmits a received message. For instance, a higher signal strength indicates closer proximity to the handheld terminal 101.
  • the network control module 271 monitors the signal strengths of neighboring nodes 101 as the module 271 receives messages from nearby devices and uses it to estimate the relative radio distance (e.g., proximity of the transmitting node 101). It is also contemplated that the network control module 271 may use any other mechanism for stimating the relative radio distance of neighboring nodes (e.g., estimating location using global positioning satellite receivers or other positioning techniques).
  • a PAN node 101 ,104 is in the neighborhood of a power gossip node 106 arranged with a significant more powerful transmitter than 'ordinary' gossip modules 109.
  • the neighbor table 275 can directed transmitted (originating or forwarding) messages to this power gossip module 106 only.
  • the network control module 271 uses the proximity information to direct the routing and transmission of messages over the gossip network 109.
  • the system 101 can reduce the potential for overloading the gossip network 109 by implementing a smart flooding scheme whereby only a few nodes 101 retransmit an acknowledge message.
  • Whether a node 101 retransmits an acknowledge message can be dependent on the relati ve distance group (e.g., "very near", “near”, or "far") to which the node 101 that is the transmitter of the message belongs. More specifically, if the transmitting node 101 is in the "far” or “near” group, the receiving node 101 can retransmit the acknowledge message. If the transmitting node 101 is in the "very near” group, the receiving node 101 does not retransmit the acknowledge message. For each broadcast message received from a node in either the "far” or "near” group, the network control module 271 assigns a random delay time for relaying or rebroadcasting.
  • the relati ve distance group e.g., "very near", "near”, or "far
  • the delay period for instance, exhibits a distribution function based on the estimated relative radio distance as a way to randomize the delay period before transmission.
  • the distribution should be chosen in such a way that the random delay is larger for those nodes that are "near” than for those that are "far.”
  • the use of a random delay time also prevents the unintended synchronization of message broadcasts as the message propagates over the gossip network 109. For example, unintended synchronization of the message broadcasts may result in too many nodes 101 sending broadcasting (i.e., acknowledge) messages over the gossip network 109 at exactly the same time. Additionally, the delay time provides an opportunity for the network control module 271 to moni or and count rebroadcasts of the message by other neighboring handheld terminals 101.
  • a Coordinator table 277 is defined and contains a list of received messages.
  • the Message Identification Data is the tuple (SRCj, MS jj), where SRCj is the NID of the source node i and MSNjj is a message sequence number (j) assigned by the source node (i).
  • the MID is a unique identifier of each message that propagates in the network 109.
  • the network control module 271 can use the Coordinator table to check whether the message has been received previously by, for example, comparing the M Ds in the Coordinator table 277 to that of the received message.
  • the Coordinator table 277 also contains a flag indicating whether a message has been transmitted by the node 101 and the time when the entry was last updated.
  • the network control module 271 makes an entry in the Coordinator table 277 for ail new messages that it receives. If the message has been scheduled for transmission, the module 271 increments the message counter in the message table.
  • the message table 279 contains messages that the network control module 271 has scheduled to transmit. For example, as the node 101,104 receives a acknowledge message that the network control module 271 schedules for retransmission, the module 271 updates the message table to include the message in the message table 279. Each entry in the message table 279 contains the message itself, the time when the message is scheduled to be sent, and the number of receptions (counter ij) of the same message by the node 101.
  • a gossip message is not relayed over the gossip network 109 if the number of times the message has been received exceeds a predefined limit. For example, a message has the initial count of 0. In this example, as a handheld terminal 101 in the neighborhood is observed to transmit the message, the message count associated with the message is increased. When the maximum message count is reached, the network control module 271 removes the message from the message table 279.
  • the transmitter of each message is also associated with an estimated relative radio distance (Di) indicating whether the transmitting node is within close proximity of the handheld terminal 101 (e.g., transmitting node 101 is in the "very near” relative radio distance group) or far from the handheld terminal 101 (e.g., transmitting node 101 is in the "far” relative radio distance group). If the relative radio distance associated with the transmitting node indicates that the transmission of the message occurred "very near,” the handheld terminal 101 would not have to relay the message because it is assumed, for instance, that most of the other neighboring handheld terminals 101 have already received the same message.
  • Di estimated relative radio distance
  • the described smart flooding functionality leads to, on average, each gossip message being received for a few times by each node 101 independent of the node density.
  • the number of times a message is received by any one node 101 affects the scalability of the coordinatoriess unorganized gossip network 109.
  • the network control module 271 checks whether the destination node 101 can be found in the routing table 273 (e.g., can be found from the destination field in the gossip message, or obtained from the source field of the query by the replying node). If found, the routing table entry will give the NID of the neighboring node to which the reply message will be sent in the next opportunity.
  • the next entry for the same DST will be used as the next try. If the received message is a acknowledge message that was not addressed to the recei ving node, the node wil l store the message in the message table 279 for scheduled retransmission.
  • directed or acknowledgement gossip messages that are not addressed to the node 101 can be received and retransmitted by D2D radio layer 209 (see discussion of the D2D radio layer 209 below). Retransmission can be executed without further processing in the netwwli/comm unity/cogni ion layer 207,205,203 or application 201. However, under certain circumstances, the D2D radio layer 209 can provide such messages to the layers
  • the node 101 will transmit the directed or acknowledgeme t gossip message to the intended recipient found from the routing table 273 associated with the message. In this way, the nodes 101 thai are not the intended recipients of the reply messages can assist in routing the message forward towards the correct destination.
  • the gossip module 111 has connectivity to a device-to-deviee (D2D) radio layer 209.
  • the D2D radio layer 209 enables the formation of the gossip network 109 and the transceiving of gossip informa tion/messages using, for instance, short range radio technologies, it is contemplated that the D2D radio layer 209 may use any wireless technology for communication between devices over short ranges.
  • the radio technology for instance, enables each PAN node 101,104,106 within the gossip network 109 to (re)broadcast messages in a connectionless way to the neighboring nodes 101 ,104, 106 that are within radio range.
  • the RF unit comprises a dedicated RF chip having a memory comprising the stack of at least one predetermined gossip protocols.
  • the D2D radio layer 209 may include multiple radios using one or more different technologies or protocols.
  • a handheld terminal 101 configured with multiple radios may act as a gateway node to span two or more sub-networks serviced by the different wifeless technologies. In this way, messages broadcast on one sub- network may be propagated to another sub-network.
  • One of the radio technologies can be used to set up the connection 1 12. Between the handheld terminal 101 and gossip module 1 1 1 through the adaptor for exchanging interface messages or operating instructions.
  • Fig. 2G is a diagram depicting a power saving scheme of a (terminai-to- terminal) device- to-device radio layer, according to an exemplary embodiment.
  • the small amount of awareness data as well as the low latency requirements of the system 100 enables the operation of the D2D radio layer 209 in a way that leads to low power consumption.
  • the D2D radio layer 209 may have beaconing periods 291a-291c delineated by target beacon transmission times (TBTTs) 293a-293c.
  • TBTTs target beacon transmission times
  • the D2D radio layer 209 may operate in a time- synchronized manner and utilize only a fraction of the time for active communication (e.g., during awake periods 295a-295c).
  • the D2D radio layer 209 is in, for instance, a power-saving or dozing mode (e.g., during doze periods 297a-297c).
  • each beaconing period 291 can be on the order of hundreds of milliseconds and each awake period 293 only a few milliseconds, leading to effective radio utilization of approximately one percent. It is contemplated that for situations, where fee number of nodes 101 is very large (such as during mass events), time -wise radio utilization can increase up to 100 percent momentarily (e.g., awake period 293 equals active transmission period 291). At times of low traffic (for example at night), the radio utilization can be decreased to, for instance, 0.1 percent, by utilizing every tenth a wake period 293 while still maintaining synchronization.
  • Fig. 9 shows an example of repeated communication frames of a broadcasting node 2210 and a repeated communication frame of a listening node 2220.
  • Each communication frame includes an idle period and a time divisional multiple access (TDMA) schedule for active communication.
  • the TDMA schedule includes a plurality of TDMA slots.
  • a broadcast function is provided for each of the nodes to use one or more of the TDMA slots to broadcast messages.
  • a listen function is also provided for each of the nodes to listen for and receive a broadcasted message.
  • One or more TDMA slots are used to listen for and receive the broadcasted messages.
  • Fig. 9 shows a node broadcasting 2230 a message through a TDMA slot 2240 and another node receiving the broadcasted message in slot 2260.
  • slot 2240 and slot 2260 have the same slot number.
  • each of the broadcasted messages includes an identifier 2250 of the TDMA slot used to broadcast the message.
  • a media access control (MAC) layer is optimized in the gossip network 109.
  • the identifier 2250 can be a part of the MAC header of the broadcasted message.
  • embodiments of the gossip network 109 of the present invention don't require a central or beacon node coordinating the other nodes.
  • none of the nodes in the network coordinates the TDMA schedule and the T DMA slots of another node of the network.
  • the distributed functions for the nodes include network synchronization, TDMA schedule length and position, TDMA slot allocation, collision avoidance, and hidden- terminal avoidance.
  • the broadcast function allows a node to transmit a message by a broadcast-only mechanism, which does not require an address of another node.
  • the neighboring nodes have control over what to do with the broadcasted message. In other words, a neighboring node can decide to receive and process the message, to receive and discard the gossip message, or use a provided ignore function to not listen for any broadcasted messages.
  • some of the nodes, a majority of the nodes, or ail of the nodes in the network are approximately synchronized.
  • Synchronized nodes have communication frames with time overlapping TDMA schedules to allow communication between nodes.
  • overlapping TDMA schedules enable a message broadcasted from a TDMA slot of one node to be received by a TDMA slot of another node.
  • the communication frame of each of the nodes has a fixed length.
  • the fixed length of the communication frame ranges between about 0.5 seconds and about 5 seconds, and is preferably about 1 second.
  • the communication frame of each of the nodes has a variable length.
  • a node may vary its
  • Shorter communication frames generally increase energy consumption, while allowing for greater data throughput.
  • the low latency requirements also enable saving power in the host processor.
  • the D2D radio layer 209 is typically implemented in the ASIC module 1409, whereas the functionalities of the gossip module 111 can be implemented either in the ASIC 1409 or the processor 1403. If the functionalities of the gossip module 111 are implemented in the processor 903, power consumption is reduced by, for instance, having ASIC 1409 wake up the processor
  • the periodic operation of the D2D radio layer 209 expl ined above enables the ASIC 1409 to collect all messages and send them to the processor 1403 at a frequency of once per active transmission period 291.
  • the processor 1403 then processes all received messages and calculates new messages to be sent for the next active transmission period 291.
  • the processor 1403 then sends the messages to the ASIC 1409 for transmission.
  • a gossip message can make one hop (e.g., travel from one node 101 to another node 101) per period 291, which is fully acceptable for awareness information.
  • potential delays of hundreds of milliseconds are not possible, for example, for voice traffic, and these kinds of power savings cannot therefore be achieved in other communication systems transporting delay- sen siti ve traffi c .
  • FIG. 7 also shows the USB interface 1411 connected with bus 1401 allowing the connection of the gossip module 111 with a USB port of a handheld terminal 101.
  • Clearly other interfaces 1411 can be used to set up the connection 112 of the gossip module 1 1 1 with a handheld terminal 101.
  • the USB interface 1411 is arranged such that the initiation of the USB connection 1 12 with a handheld terminal initiates the transfer of an executable program from memory 1405 to the handheld terminal 101.
  • the gossip module 1 1 1 is connected 1 12 with the handheld terminal 101 for the first time application 201 , it is possible application 201 is not available at the handheld tenninal 101.
  • the application 201 is downloaded from the memory 1405 in the gossip module.
  • the application 201 is available through the W AN, e.g. the internet/cloud and can be downloaded separate from the gossip module 1 1 1. Upgrading the application 201 can be performed over the WAN too. PROCESSES/FLOW CHARTS FOR GOSSIP NETWORKS
  • FIGs. 3A-3D are exemplary flowcharts of processes for locating communities and community members in the local neighborhood over a gossip network, according to various exemplary embodiments .
  • Fig. 3A is a flowchart for locating active communities in the gossip network 109 and updating a list of the active communities that are visible to the gossip module 1 11.
  • the gossip module 111 performs the process 300 of Fig. 3A and is implemented in, for instance, a chip set including a processor and a memory as shown in Fig. 7.
  • the gossip module 111 identifies one or more communities by using, for instance, community dentifiers (CIDs) corresponding to the one or more communities.
  • CIDs community dentifiers
  • each CID is associated with one or more authentication keys for authentic ting members and messages transmitted within the corresponding community.
  • the CIDs and associated keys are stored by the gossip module 111 in, for instance, the community directory 2.43 and may be provided to handheld terminals 101 that are members of the community in advance using a secure communication channel either over the gossip network 109 or over another communication network. CIDs and keys that are created subsequently may also be provided using a secure communication channel over either the gossip network 109 or another communication network, such as WAN 103.
  • the gossip module 1 11 can use the CIDs to locate and identify communities that are active (e.g., transmitting or receiving community messages) among one or more neighboring gossip modules 111.
  • the gossip module 111 updates a list of active communities based on the identification (step 303).
  • the list of active communities includes those communities to which the gossip module 111 belongs (e.g., communities that are private such as a community of personal friends) and those communities that are public and open to all PAN nodes 101,104,106.
  • the gossip module 111 is continuously updating the list of active communities by, for instance, monitoring for messaging traffic over the gossip network
  • the gossip module 1 1 1 tracks whether there are any messages originating from or directed to one or more of the active communities over a predetermined period of time.
  • the period of time can be dependent on the o the density or stability of neighboring PAN nodes 101,104,106. For example, if the composition of the neighboring handheld terminals 101 is changing rapidly, the time period can be shorter. Similarly, if the composition of the neighboring handheld terminals 101 is more stable, the time period can be longer.
  • the gossip module 111 observes whether there are any messages related to one or more of the active communities (e.g., by checking the header information of the messages for CIDs corresponding to any of the active communities) (step 307). If no messages are observed over the predetermined period of time for a particular community, the gossip module 11 1 designates that community as inactive and updates the list of active communities accordingly (step 309). If a message related to a particular communi y is observed during the time period, the community is considered to be still active and the gossip module 111 need not update the list of active communities. It is contemplated that the awareness services module can continuously or periodically perform the monitoring process to update the list of active communi ies.
  • Fig. 4A is a ladder diagram, that illustrates a sequence of messages and processes resulting from a gossip message sent from an originating node 502 to a destination node 508, according to an exemplary embodiment.
  • a network process is represented by a thin vertical line, A step or message passed from one process to another is represented by horizontal arrows. A dashed horizontal arrow represents an optional step or message.
  • the processes represented in Fig. 4A are the originating node 502, relaying node 506, and destination node 508. Within originating node 502, the following additional processes are represented: application 201, cognition layer 203, community layer 205, network layer 207, and D2D radio layer 209.
  • the application 201 within originating node 502 generates a gossip message intended for the user of destination node 508.
  • the message is sent to the community layer 205 of the originating node 502.
  • the community layer 205 generates a community gossip message, assigns a community gossip identification number (CGID) to the gossip message and prepares the gossip message for transmission over the gossip network
  • CGID community gossip identification number
  • the community layer 205 encrypts the community-specific user identity (e.g., alias) using the encryption keys associated with the respective CID and stored in the community directory 243
  • the community layer 205 may return the community information (step 503).
  • the community layer 205 then sends the anonymized and partly encrypted message to the network layer 207 (step 505).
  • the network layer 207 assigns a message sequence number (MID) to the gossip message and adds fields to the network layer message header 281 (Fig. 2F) to indicate that the originating node 502 is the source and transmitter of the gossip message (e.g., using the ID).
  • the network layer 207 sends the gossip message to the D2D radio layer 209 of the originating node 502 for broadcasting in the gossip network 109 (step 507).
  • MID message sequence number
  • the query message is then broadcasted to one or more relaying nodes 506 (step 509).
  • ail nodes 101,104,106 in the gossip network 109 that are able to receive the broadcast message are relaying nodes. After processing by the relaying node 506, the gossip message is rebroadcasted to another relaying node or to the destination node 508 (step 511).
  • an acknowledge message can be generated and sent to the relaying node 506 (step 513) which routes the acknowledge message either to another relaying node or to the originating node 502 (step 515) based on the route stored in the routing table 273.
  • the D2D radio layer 209 receives and acknowledges the acknowledge message and forwards the acknowledge message to the network layer 207 (step 517).
  • the network layer 207 determines that the originating node 502 is the intended destination of the acknowledge message by checking the DST field 294 in the network layer message header 281 and sends the message to the community layer 205 for processing (step 519).
  • the community layer 205 decrypts the acknowledge message using the appropriate encryption keys stored in the community directory 243. Based on the information in the acknowledge message, the community layer 205 updates information in the community directory 243 (list of acti ve communities and the lists of visible members in the communities) and finally sends a service response to the application 201 (step 521).
  • Application 201 can display the successful receipt of the acknowledge message confirming the receipt of the gossip message by the destination node.
  • Fig. 5B is a ladder diagram that illustrates a sequence of messages and processes used in a destination node, according to an exemplary embodiment.
  • destination node 508 the following additional processes are represented: application 201 , cognition layer 203, community layer 205, network layer 207, and D2D radio layer 209.
  • the D2D radio layer 209 of the destination node 508 receives the gossip message and forwards it to the network layer 207 of the destination node 508.
  • the network layer 207 may decide to rebroadcast the gossip message (step 563), e.g. if the gossip message is intended for multiple destination nodes. On receipt, the network layer 207 forwards the gossip message to the community layer 205 (step 565).
  • the community layer 205 determines that the gossip message contains one or more anonymized CIDs of the active communities associated with the destination node 508 and the gossip message contains encrypted user aliases, the community layer 205 decrypts the message and updates information in its community directory 243 (e.g., containing the list of active communities and the list of visible members of the communities).
  • the community layer 205 generates an acknowledge message that contains the same CGID as the incoming gossip message and has the source N D of the gossip message set as the destination NID of the acknowledge message. If the gossip message is directed at visible user aliases and the user alias in the node 508 is set as visible then the community layer 205 encrypts the user alias with the encryption keys associated with the community. The community layer 205 then retrieves a new anonymized CID from the community directory 243 and sends the acknowledge message to the network layer 207 (step 567).
  • the network layer 207 assigns a new message sequence number (MSN) to the acknowledge message, attaches the NID of the destination node 508 as the source and transmitter, finds the NID of the relaying node 506 for the next hop from the routing table 263, sets the receive NID of the acknowledge message as the next hop and sends the acknowledge message to the D2D radio layer 209 (step 569).
  • the D2D radio layer 209 sends the acknowledge message as a unicast message addressed to a relaying node 506 over the gossip network 109 (step 571).
  • FIGs. 5A-5B are diagrams of a user interface utilized in the process of locating communities over the gossip network 109, according to various exemplar-)' embodiments.
  • Fig. 5A depicts a user interface 102 listing community related information and commands for managing and accessing gossip messages.
  • section 601 lists community members who are nearby the handheld terminal 101.
  • the members may be from one or more different communities. Selecting a member enables a user to contact the member, view the status of the member, or access other applications or functions related to the user.
  • Section 603 may display, for instance, status commands or prompts such as an invitation to join a particular community.
  • User interface 102 also provides selectable menu options 605 to initiate additional commands. For example, selecting the option "Around Me” prompts the display of a map 607 with the locations of community members.
  • Fig. 5B depicts a alternative user interface 620 for managing communities.
  • section 621 displays currently defined communities with an option 623 to activate or deactivate each community individually. Users may also designate each community as either public or private using the control 625. Members of each community are displayed in section 627, along with controls 629 for adding or removing members.
  • EXAMPLARY COMPUTER FEATURES in wired/wireless/gossip/other node
  • the processes described herein for providing a service or activity in an gossip network 109 may be implemented via software, hardware (e.g., general processor, Digital Signal Processing
  • DSP digital signal processing circuit
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Arrays
  • firmware or a combination thereof.
  • Fig. 6 illustrates a computer system 1300 upon which an embodiment of the invention may be implemented.
  • Computer system 1300 is programmed to provide a user interface as described herein and includes a communication mechanism such as a bus 1310 for passing information between other internal and external components of the computer system 1300.
  • a communication mechanism such as a bus 1310 for passing information between other internal and external components of the computer system 1300.
  • a bus 1310 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus 1310.
  • One or more processors 1302 for processing information are coupled with the bus 1310.
  • a processor 1302 performs a set of operations on information related to providing a service or activity in an gossip network 109.
  • the set of operations include bringing information in from the bus 1310 and placing information on the bus 1310.
  • the set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND.
  • Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits.
  • a sequence of operations to be executed by the processor 1302, such as a sequence of operation codes constitute processor instructions, also called computer system instructions or, simpiy, computer instructions.
  • Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum
  • Computer system 1300 also includes a memory 1304 coupled to bus 1310.
  • the memory 1304 such as a random acccess memory (RAM) or other dynamic storage device, stores information including processor insixuctions for providing a service or activity in an gossip network 109.
  • RAM random acccess memory
  • Dynamic memory allows information stored therein to be changed by the computer system
  • RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses.
  • the memory 1304 is also used by the processor 1302 to store temporary values during execution of processor instructions.
  • the computer system 1.300 also includes a read only memory (ROM) 1306 or other static storage device coupled to the bus 1310 for storing static information, including instructions, that is not changed by the computer system 1300. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to bus 1310 is a non- volatile (persistent) storage device 1308, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system 1300 is turned off or otherwise loses power.
  • a non- volatile (persistent) storage device 1308 such as a magnetic disk, optical disk or flash card
  • Information including instructions for providing a service or activity in a gossip network 109, is provided to the bus 1310 for use by the processor from an external input device 312, such as a keyboard containing alphanumeric keys operated by a human user, or a sensor.
  • an external input device 312 such as a keyboard containing alphanumeric keys operated by a human user, or a sensor.
  • a sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 1300.
  • Other external devices coupled to bus 1310 used primarily for interacting with humans, include a display device 1314, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), or plasma screen or printer for presenting text or images, and a pointing device 1316, such as a mouse or a trackball or cursor direction keys, or motion sensor, for controlling a position of a small cursor image presented on the display 1314 and issuing commands associated with graphical elements presented on the display 1314.
  • a display device 1314 such as a cathode ray tube (CRT) or a liquid crystal display (LCD), or plasma screen or printer for presenting text or images
  • a pointing device 1316 such as a mouse or a trackball or cursor direction keys, or motion sensor, for controlling a position of a small cursor image presented on the display 1314 and issuing commands associated with graphical elements presented on the display 1314.
  • a display device 1314 such as a cathode ray tube (CRT
  • special purpose hardware such as an application specific integrated circuit (ASIC) 1320
  • ASIC application specific integrated circuit
  • the special pote hardware is configured to perform operations not performed by processor 1302 quickly enough for special purposes.
  • application specific ICs include graphics accelerator cards for generating images for display 1314, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
  • Computer system 1300 also includes one or more instances of a communications interface 1370 coupled to bus 310.
  • Communication interface 1370 provides a one-way or two-way communication coupling to a variety of external devices thai operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 1378 that is connected to a local network 1380 to which a variety of external devices with their own processors are connected.
  • communication interface 370 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer.
  • USB universal serial bus
  • communications interface 1370 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line.
  • ISDN integrated services digital network
  • DSL digital subscriber line
  • a communication interface 1370 is a cable modem that converts signals on bus 1310 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable.
  • communications interface 1370 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented.
  • LAN local area network
  • the communications interface 1370 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data.
  • electrical, acoustic or electromagnetic signals including infrared and optical signals
  • the communications interface 1370 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data.
  • wireless handheld devices such as mobile telephones like cell phones, the
  • communications interface 1370 includes a radio band electromagnetic transmitter and receiver called a radio transceiver.
  • the communications interface 1370 enables connection to the communication network 103 for providing a service or activity in a gossip network 109.
  • the gossip module 1311 is connected using a suitable connection 1313 with the communication interface 1370.
  • Non-volatile media include, for example, optical or magnetic disks, such as storage device 1308.
  • Volatile media include, for example, dynamic memory 1304.
  • Transmission media include, for example, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media.
  • Computer- readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH- EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
  • a floppy disk a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH- EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
  • Fig. 7 illustrates a chip set 400 upon which an embodiment of the invention may be implemented.
  • Chip set 1400 is programmed to provide awareness information over an gossip network 109 as described herein and includes, for instance, the processor and memory components described with respect to Fig. 7 incorporated in one or more physical packages.
  • a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction.
  • the chip set 1400 includes a communication mechanism such as a bus 1401 for passing information among the components of the chip set 1400.
  • a processor/controller 1403 has connectivity to the bus 1401 to execute instractions and process information stored in, for example, a memory 1405.
  • the processor 1403 may include one or more processing cores with each core configured to perform independently.
  • a multi-core processor enables multiprocessing within a single physical package. Examples of a raulti- core processor include two, four, eight, or greater numbers of processing cores.
  • the processor 1403 may include one or more microprocessors configured in tandem via the bus 1401 to enable independent execution of instructions, pipelining, and multithreading.
  • the processor 1403 may also be accompanied with one or more specialized components io perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1407, or one or more application-specific integrated circuits ⁇ ASIC) 1409.
  • DSP digital signal processors
  • ASIC application-specific integrated circuits
  • a DSP 1407 typically is configured to process real-world signals (e.g.,
  • an ASIC 1409 can be configured to performed specialized functions not easily performed by a general purposed processor.
  • Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
  • FPGA field programmable gate arrays
  • AS C 1409 can comprise a A/D convenor.
  • the ASIC can comprise a transceiver.
  • the ASIC can comprise further elements considered useful to the skilled person for optimally performing the functions mat are assigned to it.
  • the ASIC 1409 is a RF unit comprising a dedicated RF chip for executing the protocol stack of a predetermined protocol for gossip messaging over the mesh network.
  • the processor 1403 and accompanying components have connectivity to the memory 1405 via the bus 1401.
  • the memory 1405 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable
  • the memory 1405 also stores the data associated with or generated by the execution of the inventive steps.
  • the memory can store operating instructions for the RF unit. The operating instructions can be amended over the end-to- end connection through the adaptor.
  • the memory can also store instructions comprising messages received over the gossip module. Part of the application layer instructions can be stored in the memory 1405.
  • a gossip module i l l comprise a battery 1430.
  • a rechargeable battery 1430 is used.
  • the battery is charged as a result of e.g. a USB connection of the gossip module 111 with a host.
  • the gossip module 111 can comprise an adaptor to allow communication with an interface unit.
  • the interface unit can provide instructions to amend the operating instructions in the memory and/or can read out instructions from the memory, comprising e.g. messages received over the gossip network addressed to that specific gossip module and/or addressed to a unique identifier provided by the interface unit, specifically e.g. a mobile telephone number or other MAC address.
  • USB interface 141 1 is an example of a preferred connection type to be used for connecting a stand- alone gossip module 111 with a handheld device 101.
  • the advantage of using USB connection is the possibility of portable execution of software applications (analogue to web browsers and VoIP clients) with no need to install them on the host computer. This possibility allows to establish a connection and run a software application on the handheld terminal without the handheld terminal needing to install the software.
  • USB is particularly interesting for its plug-and-play capabilities.
  • Fig. 8 is a diagram of exemplary components of a handheld terminal (handheld device, e.g., handset) capable of operating in the system of Fig. 1, according to an exemplary embodiment.
  • a radio receiver is often defined in terms of front-end and back-end characteristics.
  • the front-end of the recei ver encompasses ail of the Radio Frequency (RF) circuitry whereas the back- end encompasses all of the ba e- band processing circuitry.
  • Pertinent internal compone ts of the telephone include a Main Control Unit (MCU) 1503, a Digital Signal Processor (DSP) 1505, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit.
  • a main display unit 1507 provides a display to the user in support of
  • An audio function circuiiry 1509 includes a microphone 151 1 and microphone amplifier that amplifies the speech signal output from the microphone 1511.
  • the amplified speech signal output from the microphone 1511 is fed to a coder/decoder (CODEC) 1513.
  • CDDEC coder/decoder
  • a radio section 1515 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna 1517.
  • the power amplifier (PA) 1519 and the transmitter/modulation circuitry are operationally responsive to the MCU 1503, with an output from the PA 1519 coupled to the dupiexer 1521 or circulator or antenna switch, as known in the art.
  • the PA 1519 also couples to a battery interface and power control unit 1520.
  • a user of mobile station 1501 speaks into the microphone 1511 and his or her voice along with any detected background noise is converted into an analog voltage. The analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC) 1523.
  • ADC Analog to Digital Converter
  • the control unit 1503 routes the digital signal into the DSP 1505 for processing therein, such as speech encoding, channel encoding, encrypting, and interlea ving.
  • the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division mul iple access (CDMA), wireless fidelity (WiFi), satellite, and the like.
  • EDGE global evolution
  • GPRS general packet radio service
  • GSM global system for mobile communications
  • IMS Internet protocol multimedia subsystem
  • UMTS universal mobile telecommunications system
  • any other suitable wireless medium e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division
  • the encoded signals are then routed to an equalizer 1525 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion.
  • the modulator 1527 After equalizing the bit stream, the modulator 1527 combines the signal with a RE signal generated in the RE interface 1529. The modulator 1527 generates a sine wave by way of frequency or phase modulation.
  • an up-converter 1531 In order to prepare the signal for transmission, an up-converter 1531 combines the sine wave output from the modulator 1527 with another sine wave generated by a synthesizer 1533 to achieve the desired frequency of transmission. The signal is then sent through a PA 1519 to increase the signal to an appropriate power level.
  • the PA 1 19 acts as a variable gain amplifier whose gain is controlled by the DSP 1505 from information received from a network base station.
  • the signal is men filtered within the duplexer 1521 and optionally sent to an antenna coupler 1535 to match impedances to provide maximum, power transfer. Finally, the signal is transmitted via antenna 1517 to a local base station.
  • An automatic gain control (AGO can be supplied to control the gain of the final stages of the receiver.
  • the signals may be forwarded from there to a remote telephone which may be another cellular telephone, other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
  • PSTN Public Switched Telephone Network
  • Voice signals transmitted to the mobile station 1501 are received via antenna 1.517 and immediately amplified by a low noise amplifier (LNA) 1537.
  • LNA low noise amplifier
  • a down-converter .1539 lowers the carrier frequency while the demodulator 1541 strips away the RE leaving only a digital bit stream.
  • the signal then goes through the equalizer 1525 and is processed by the DSP 1505.
  • a Digital to Analog Converter (DAC) 1543 converts the signal and the resulting output is transmitted to the user through the speaker 1545, all under control of a Main Control Unit (MCU) 1503- which can be implemented as a Central Processing Unit (CPU) (not shown).
  • MCU Main Control Unit
  • CPU Central Processing Unit
  • the MCU 1503 receives various signals including input signals from the keyboard 1547.
  • the keyboard 1547 and/or the MCU 1503 in combination with other user input components comprise a user interface circuitry for managing user input.
  • the MCU 1503 runs a user interface software to facilitate user control of at least some functions of the mobile station 1501.
  • the MCU 1503 also delivers a display command and a switch command to the display 1507 and to the speech output switching controller, respectively.
  • the MCU 1503 exchanges information wi th the DSP .1505 and can access an optionally incorporated SIM card 1549 and a memory 1551.
  • the MCU 1503 executes various control functions required of the station.
  • the DSP 1505 may, depending upon the impleme tation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP 05 determines the background noise level of the local environment from the signals detected by microphone 1511 and sets the gain of microphone 1511 to a level selected to compensate for the natural tendency of the user of the mobile sta tion 1501.
  • An application 201 allowing interface with the gossip module 111 can be loaded into memory 1551.
  • the CODEC 1513 includes the ADC 1523 and DAC 1543.
  • the memory 1551 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet.
  • the software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art.
  • the memory device 1551 may he, but not limited to, a single memory, CD, DVD, ROM, R AM, EEPROM, optical storage, or any other non-volatile storage medium capable of storing digital data.
  • An optionally incorporated SIM card 1549 carries, for instance, important information, such as the cellular' phone number, the carrier supplying service, subscription details, and security information.
  • the SIM card 1549 serves primarily to identify the mobile station 1501 on a radio network.
  • the card 1549 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile station settings.
  • the cellular phone number is made available to application 201 and/or the gossip module 111. This allows identifying the mobile station 1501 in the gossip network with the cellular phone number. An originating node 501 can identify the destination node 508 using the cellular phone number of the destination node 508, even though the gossip message is exchanged over the gossip network 109.
  • a mobile communication terminal such as a smart phone has processing units and interface (e.g. touch screen) integrally incorporated into a single housing. Every terminal has a wireless communication portion that includes an antenna, transceiver, modem, ADPCM codec and so on, for Wide Area Network communication.
  • the applicant proposes a new gossip module that is a separate small module, gossip module, comprising just a radio interface portion that is conventionally incorporated into a mobile communication terminal such as a smart phone.
  • SIM is an abbreviation for "Subscriber identity Module”.
  • the applicant also proposes a new terminal (hereinafter referred to as a "jacket” or “base unit”) that can accommodate the gossip module of the invention, either using a direct connection such as a slot or insert, or by embedding the gossip module.
  • the gossip module of the invention can be inserted to a corresponding slot of a terminal (i.e., a jacket or base unit).
  • the terminal will have access to the functionalities of the gossip module.
  • the terminal is a device excluding the radio interface portion of a conventional mobile eonimunication terminal (e.g., a device that has a PCM codec, control unit, microphone, speaker, input device, display, battery and the like and has a necessary software and the like implemented thereon).
  • a conventional mobile eonimunication terminal e.g., a device that has a PCM codec, control unit, microphone, speaker, input device, display, battery and the like and has a necessary software and the like implemented thereon.
  • eonnectahie gossip module of the invention of compact design also frees communication device manufacturers from burden of developing parts associated wi h the radio interface and enables them to focus on development of software and the like and enhancement of terminal (jacket) functions in a shorter development time.
  • the user can do equivalent of model change for a conventional mobile communication terminal by inserting the gossip module of the invention to a desired one of the jackets, thus a user with little technical knowledge can change models easily.
  • the gossip module of the invention can be an earth-friendly product that eliminates the need for discard if the module is used in common as a standard device.
  • the gossip module can be coupled to different terminals.
  • the gossip module functionalities would be available to the terminal if coupled. Coupling to a next terminal will make the functionalities available to the next terminal. E.g. configurations, personal data can be stored on the gossip module.
  • FIG. 10 An exemplary configuration of the gossip module of the invention proposed by the applicant is illustrated in FIG. 10.
  • the embodiment of FIG, 10 is an embodiment of a gossip module of the invention.
  • the RF module for transceiving gossip messages over the gossip network using a suitable protocol is not shown.
  • the gossip module 2100 shown i FIG. 10 includes an antenna 2102, a antenna switch 2104, a transmission unit 2106, a reception unit 2108, a modulation unit 2110, a demodulation unit 2112, a encoding unit 21 14, a decoding unit 2116, an ADPCM transcoder, a control unit 2120, flash memory 2112, random-access memory (RAM) 2124, a PS 2126, and an interface unit 2128.
  • the gossip module 2100 of FIG. 10 includes components for wireless
  • a gossip module is detachably slotted into a mobile terminal having a corresponding slot. A portion of said gossip module is positioned outside said slot.
  • a wireless connection or another end-to-end connection is established.
  • the end- to-end connection comprises an adaptor 21 18 and an adaptor 2302 on the gossip module and the handheld device 2300 respectively.
  • the appearance of a prototype of the gossip module 2100 is shown in FIG. 11.
  • the module 2100 here is 25.6 mm wide, 42.0 mm long, and 4.0 mm deep; it is very compact compared to a conventional PCMCIA card.
  • USB connecting gossip modules can have very different dimensions.
  • the gossip module of the invention has a handle portion 2102 that is formed of protrasion of the upper end in width direction. This can indicate a portion appropriate as a handle to a user and can prevent the user from inserting the gossip module to a slot of a terminal in the reverse direction. Ease of grasp is also realized by using rubber or thermoplastic elastomer and the like on the handle portion 2102 to make it feel soft.
  • guides 2104 are provided on both sides of pins on the gossip module of the invention so thai pin terminals themselves are exposed as little as possible.
  • the gossip module of the invention employs a short antenna such as a dielectric chip antenna and the antenna is contained in the opposite side of the module shown in FIG. 1 1.
  • the gossip module should be inserted into a terminal when used such that the side on which the antenna is contained is away from the user's head (i.e., is on the back side of the terminal).
  • this embodiment of the gossip module of the invention is about 4 mm deep, thinner than the conventional PCMCIA card, antenna can be contained in the module yet the module can be inserted to a USB -enabled adapter, which will be discussed below and shown in
  • FIG. 13 A and/or a standard PCMCIA card adapter.
  • FIGS. 12A and 13.A show examples of terminals that support the gossip module of the invention.
  • a terminal 2300 shown in FIG, 12A is a device that is configured by excluding the radio interface portion such as shown in FIG. 10 from a conventional WAN communication terminal for voice communication and data communication, having an interface for connecting to the gossip module and a slot into which the gossip module of the invention is inserted.
  • the module 2100 By inserting the gossip module 2100 into the corresponding slot provided on the terminal 2300, the module 2100 can be used for gossip communication.
  • FIG. 12B shows a block diagram which specifically illustrates the state in which the gossip module of the invention is inserted in the terminal 2300.
  • the gossip module 2100 is connected with the terminal 2300 via the interface 2128.
  • Interface 128 is an example of a suitable adaptor that can be used to establish an end-to-end operational connection between the gossip module and a handheld device.
  • terminal 2300 can have more functionalities, e.g. WAN communication functionalities or other PAN functionalities such as Bluetooth or infrared communication.
  • FIG. 12B Arrows in FIG. 12B indicate directions of signal flow.
  • the terminal 2300 with the gossip module 2100 inserted therein is used for voice communication or data communication
  • the user's voice is input to the PCM codec 2302 via the microphone 2304 and converted to digital data through pulse code modulation.
  • the interface 2128 has 18 pins (i.e., signal lines). Specifically, seven pins: TXD (transmit serial data), RXD (receive serial data), RTS (transmitted data ready), CTS (transmission ready), DTR (ready to receive), DCD (data carrier detected), and RI (ring indicator) are used as UART (Universal Asynchronous Receiver Transmitter) serial interface for exchange of control data and data in data communication, four pins: PCM clock signal (PCMCLK), PCM synchronization signal (PCMSYNC), PCM input signal (PCMIN) and PCM output signal (PCMOUT) are used for communicating voice signals, INS (detection signal) is used for recognizing insertion of the gossip module of the invention, two signals, Power Supply (Vcc) and Ground (GND), are used for power supply to the gossip module and grounding, three pins are used for indicating electric field strength (antenna indication) on an external display device such as an LCD and LED on the terminal by means of signals for electric field strength (DISP
  • voice data encoded by a PCM codec 2302 is input to the ADPCM iranseoder of the gossip module 2100 via one of the four pins and converted to ADPCM- modulated data.
  • Output signal from the ADPCM transcoder is code-converted to e.g. a baseband signal (2114), and further converted to modulated wave of 1.9 GHz band by the modulation unit 21 10 and transmission unit 2106 and wirelessly transmitted to a base station via the antenna switch 2104 and the antenna 2102.
  • data input by the user on an input device such as a keyboard. 2310 of the terminal 2300 is input to a terminal control unit 2308, and further input to the control unit 2120 of the gossip module 2100 via a pin as UART serial interface of the interface 2128.
  • the data signal is input to the encoding unit 21 14 and then, similarly to voice signal, wirelessly transmitted to via the modulation unit 2110, transmission unit 2106, antenna switch 2104 and antenna 2102.
  • a wireless signal transmitted from a further gossip module in a network of configured gossip modules is received by the antenna 2102 and then inputted to the reception unit 21.08 by the antenna switch.
  • the received signal (of 1.9 GHz band, for example) is amplified and frequency- converted at the reception unit 2108 and demodulated into a baseband signal at the demodulation unit 2112, ADPCM voice signal or data signal can be obtained by the decoding unit 2116.
  • coding/decoding can be used. In other embodiments coding 2114/2116 is left out.
  • the ADPCM voice signal is input to the ADPCM transcoder to be converted to PCM voice signal.
  • the PCM voice signal is further input to the PCM codec 2302 of the terminal 2300 via a voice signal pin of the interface 2 28 and converted to analog signal to be output via the speaker 2306. The user can hear the output voice.
  • data signal input from the decoding unit 2116 to the control unit 2120 is input to the control unit 2308 of the terminal 2300 via the UART pin of the interface 2128, and shown on the display 2312 provided on the terminal 2300 on the user's demand.
  • the flash memory 2122 contained in the gossip module 2100 of the invention stores specific information such as a unique identification number (unique for the gossip module 2100, similar to e.g. a telephone number), Personal Identify Number (PIN) and Personal Unblock Key (PUK) of the gossip module and data for a phonebook, and the RAM 2124 is used for temporarily storing control data and/or transmitted/received data.
  • the flash memory 2.122 can also store and allow amendments to operating instructions of the RF unit arranged to connect to the mesh network.
  • FIG. 13A shows another embodiment of a gossip module 2400.
  • Gossip module 2400 has a USB interface 2401 for connecting to a PC or mobile communication terminal such as a smartphone.
  • the gossip module 2400 exchanges data with a PC and the like connected to the gossip module 2400 via the USB control unit 2402 and the USB interlace 2428.
  • the gossip module of the invention allows an independent module having a radio interface to be inserted to various terminals having various functions and the terminal can be used as a gossip communication terminal that is capable of wireless communication over a PAN/ gossip network.
  • the gossip module having the configuration shown in FIG. 10 can be utilized in various manners as required by users' needs.
  • the gossip module of the invention and corresponding various types of terminals 2300 provide the capability to confirm if the gossip module is being inserted in the terminal.
  • the present invention employs pin "INS", one of 18 interface pins provided by the gossip module, as a signal line for confirming insertion.
  • the terminal control unit 2308 can determine whether the gossip module is now inserted or not by making voltage on the signal line when the gossip module 2100 is not inserted in the terminal 2300 of FIG. 12A assume a value different from that for when the gossip module 2100 is inserted in the terminal 2300. Based on a result of detection, the terminal control unit 2308 informs the user whether the gossip module is being inserted or not through indication on the display 2312.
  • the gossip module 2100 of the configuration shown in FIG. 12B is removed from a first terminal and inserted to another second terminal.
  • data such as history data with respect to communication of the first terminal over the gossip module.
  • data from the first terminal e.g., phonebook data
  • the data is copied from the first terminal onto the flash memory 2122.
  • data stored in the flash memory 2122 of the gossip module can be copied onto the new terminal.
  • the jacket of the invention when it is confirmed through signal lines, INS, TXD, RXD, TS, CTS, DCD and RT that the gossip module of the invention is being mounted, that the jacket itself is performing the process of entering data transfer mode, and thai data is going to be transmitted from the gossip module in response to instructions from the jacket, and when the jacket control unit 2308 recognizes that data is being exchanged, the user is informed that data is being exchanged with indication on the display 2312, for example.
  • a baud rate of 230.4 kbps or 11.5.2 kbps is generally used.
  • a clock generator can be additionally provided.
  • an embodiment of the gossip module employs baud rates that can be generated from the clock signal of the mobile terminal, such as 240 kbps and 120 kbps, as baud rates used for 11 ART interface.
  • input data received by the gossip module from the mobile terminal is processed (error correction processing circuit, decoding, conversion) on the gossip module.
  • This allows amending the input data to specific specification for transmitting the input data over the gossip network. Since e.g. correction of errors caused during a radio link layer is all done on the gossip module in the arrangements of the gossip module of the invention and the jacket, mere are no need to provide a pin for error information notification in the interface, no need to have the CPU of the terminal always operate for error correction, no need to use an expensive CPU in the jacket, and no need for a manufacture that develops jackets to have technologies associated with error correction.
  • gossip modules can support a new encoding technique For users, it is possible to purchase only a gossip module of a new scheme and continue to use a favorite jacket without buying new one, which can provide more flexible usage than conventional one-piece PHS communication terminals or the gossip module and the jacket shown in FIG. 12B.
  • the gossip module proposed by the applicant contains an antenna. Problems of noise emitted by other devices in the gossip module can occur.
  • FIG. 14 illustrates the positional relationship between the antenna and other devices in the gossip module. Knowledge that was obtained through experiments by the applicant proved that the distance of at least 3 mm between the antenna and other devices can keep noise floor emitted by the devices below a practically required level.
  • a Personal Identity Number (PIN) and a Personal Unblock Key (PI K i are stored in the flash memory (2122) in the gossip module of the invention, and a program for authentication using those personal numbers is stored in ROM (Read-Only Memory) not shown.
  • ROM Read-Only Memory
  • the program locks the operation of the gossip module, preventing the user from using the gossip module unless the user inputs the correct PI K on the jacket. ' This can keep the confidentiality of data in the gossip module and prevent theft by a malicious another person even if an another person tries to insert another user's gossip module to another jacket and use it.
  • the gossip module can remain On' even if the terminal connected thereto is turned off.
  • the gossip module can function as a node also when the gossip module is disconnected.
  • the gossip node can comprise a battery to allow stand alone operation.
  • the gossip module of the invention has the capability to stop radio wave emission instantly (flight mode) without turning off the power switch.
  • This radio-stop mode capability is especially convenient in a situation in which the emission of radio wave from the gossip module is undesirable.
  • the terminal control unit recognizes the instruction and communicates a AT command for the radio-stop mode to the control unit of the gossip module via a pin for control signal among U ART signal lines of the interface.
  • the control unit of the gossip module recognizes that the AT command indicates the radio-stop mode, and controls the antenna switch (2104), transmission unit (2106), modulation unit (2110), and encoding unit (2114) to suspend their operations.
  • the gossip module of the invention i configured to inform the user that the electric field strength of received radio waves over the gossip network has weakened when the module detects it by sounding an alarm, for example an alarm on the mobile terminal.
  • the control unit of the gossip module of the invention can monitor electric field strength of radio wave received by the gossip module. When measured electric field strength is below a predetermined level, the control unit of the gossip module can send an AT command indicating that electric field strength has weakened (i.e., the module is coming closer to a boundary of service area) to the terminal control unit via the UART signal line.
  • the terminal control unit recognizes the situation from the AT command and outputs a predetermined alarm sound from a speaker.
  • the gossip module of the invention can have the function of automatically detecting the baud rate of a terminal. That is, at the initial negotiation between the gossip module and a terminal, the terminal sends a predetermined AT fixed word to the gossip module at a baud rate specific to the terminal. There are eight baud rates, 2,400, 4,800, 9,600, 19,200, 38,400, 57,600, 120,000, and 240,000 bps, for UART interface supported by the gossip module, and the gossip module determines the baud rate at which the terminal sent the fixed AT word and fixes the subsequent baud rate at the determined baud rate. This method enables terminals having various usages to specify baud rates optimal for them by themselves.
  • Zighee wireless sensor network technology is researched and developed based on the standard IEEE 802.15.4 communication protocol.
  • Zigbee has a transmission range with a radius of 10 to 100 meters, and supports a transmission data rate of 20 to 250 Kbps.
  • ZigBee which is a low-rate wireless personal area network (LR-WPAN) protocol standardized by the ZigBee Alliance, is a protocol developed to be suitable for a small-scale low- power wireless sensor network, in which standards related to structure, routing, and security of a network are defined.
  • LR-WPAN low-rate wireless personal area network
  • Zigbee is characterized by short distance, low rate, low cost, low power consumption, and so on, and is gradually applied in telecommunication systems, resulting in mobile terminal devices having a Zigbee function.
  • ZigBee is one of the short-range radio frequency communication standards and classified into the radio frequency communication standard which uses sixteen channels into which divided is the same frequency bandwidth of 24 GHz as the wireless local area network (LAN) standard, IEEE 802. l ib.
  • LAN wireless local area network
  • a mobile terminal device including an IEEE 802.15.4 physical layer based transceiver and a handset processor, where the IEEE 802.15.4 physical layer based transceiver directly communicates with the handset processor, and the handset processor needs to receive and process data packets from the Radio Frequency (RF) space in real time and send data packets to the RF space.
  • RF Radio Frequency
  • Zigbee-related functional modules are implemented in a Wireless Internet Platform for Interoperability (WIPI) in the handset processor, and the handset processor includes an IEEE 802.15.4 transceiver driver, a transceiver hardware abstraction layer, a WIPI real-time engine, an application manager, and a WIPI application platform.
  • the WIPI application platform includes a Zigbee control application, a Zigbee user application, a Zigbee control interface, a Zigbee network interface, and a Zigbee support " interface. Therefore, the handset processor not only needs to process handset applications, but also is burdened with the tasks of the Zigbee network layer, such as establishing and maintaining a Zigbee network.
  • a relevant ZigBee wireless communication protocol is used together with the IEEE 802.15.4 protocol, which is a standard of the physical (PHY) layer and the MAC sub-layer, to implement ubiquitous application services.
  • Techniques of the ZigBee wireless communication protocol are expected to take an essential part in implementing a ubiquitous environment such as a home network, a process control, a smart grid, an Advanced Metering Infrastructure (AMI), a u-City, or the like.
  • a ubiquitous environment such as a home network, a process control, a smart grid, an Advanced Metering Infrastructure (AMI), a u-City, or the like.
  • AMI Advanced Metering Infrastructure
  • u-City or the like.
  • the protocol configuration of ZigBee for use in the short- range radio frequency communication includes from lower to higher, for example, a physical layer and a data link layer of the international standard IEEE 802.15.4 for WL-PA (Wireless Personal Area Network), over which are standardized a network layer, a transport layer, a session layer, a presentation layer and an application layer.
  • a physical layer and a data link layer of the international standard IEEE 802.15.4 for WL-PA Wireless Personal Area Network
  • the physical layer has a data transmitting and receiving function such as a received-power measurement, a link-quality notification and the CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) which checks the channel usage.
  • a data transmitting and receiving function such as a received-power measurement, a link-quality notification and the CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) which checks the channel usage.
  • the physical layer can measure the recei ved power on respective channels to locate a channel which has its power least interfered with from other systems. Also provided is a mechanism for changing the communication channel when the channel being used is degraded in quality.
  • the physical layer is specified as ha ving, for example, a frequency of 2.4 GHz on sixteen channels with a modulation scheme of O-QPSK (Quadrature Phase Shift Keying) and a diffusion scheme of DSSS (Direct Sequence Spread Spectrum) at a data rate of 250 kbit s, and is available all around the world.
  • O-QPSK Quadrature Phase Shift Keying
  • DSSS Direct Sequence Spread Spectrum
  • the data link layer has a Media Access Control (MAC) layer which is a data-format process layer.
  • the network layer manages the data transfer between two nodes connected on the network.
  • the transport layer manages the communication.
  • the session layer performs management from the start to the end of the communication.
  • the presentation layer manages the interface between the application and session layers.
  • MAC Media Access Control
  • the MAC layer in the data link layer defines a beacon mode for the intermittent operation and the bandwidth assurance communication, and a non-beacon mode for the direct communication between all nodes.
  • the beacon mode is for use in the star type network which centers on a network management node referred to as a PAN (Personal Area Network) coordinator.
  • the PAN coordinator periodically transmits a beacon signal. Synchronously with the beacon signal, other nodes communicate within the allocated period. Only one of the nodes which is allocated by the coordinator can occupy the channel to communicate without confiiction.
  • the beacon mode is thus used in the communication which requires a lower delay.
  • the non-beacon mode is a mode in which a continuous channel access is performed in CSMA-CA.
  • the non-beacon mode is used in a mesh type of link which directly communicates with nodes therearound, the nodes can always directly communicate with each other. Every node, however, has to be always on standby so that they can receive a data addressed to them.
  • the non-beacon mode thus cannot save power with the intermittent operation unlike the beacon mode.
  • the non-beacon mode When the non-beacon mode is used in a star type of link, only a base station is rendered operative to be ready to receive signals and end devices intermittently stop and wait to thereby save power on the end devices.
  • the end devices periodically send out requests to the base station before receiving the downstream data, thereby causing a transmission delay in the downstream communication. It is, however, possible with the CSMA-CA to establishing a constant upstream communication from the end devices which is the predominant data flow on the sensor network.
  • the ZigBee network in the network layer has a cluster -tree structure which integrates the star-type topology with the mesh-type topology regulated under the IEEE 802.15.4.
  • the ZigBee network includes a ZigBee coordinator, ZigBee routers and ZigBee end devices.
  • the coordinator and routers implement a PAN coordinator function and form a star link or cluster. Between the coordinator and the routers, a mesh link is formed to provide a multihop network.
  • End devices are connected to the coordinator or routers by the star link to participate in the network.
  • the end devices communicate in a multihop fashion via a router to which the end device 13 is connected to communicate with other end devices connected to the network.
  • the transmitting and receiving data format for use in the physical layer includes the fields,
  • Preamble Sequence which is a signal for synchronization
  • Start of Frame Delimiter which is a transfer- start signal
  • Frame Length representing a data length in bytes from the field Frame Control to the field PCS (Frame Check Sequence)
  • the field, Frame Control is a signal defining the data type.
  • the data type includes the frame type of representing Beacon, Data, Acknowledgement or Command, an address type of a source and a destination in a
  • the field, Sequence Number include3s an identification signal representative of a sequence number during transfer.
  • the field, Addressing Field includes the address of a source or destination.
  • the field, Addressing Field is variable from zero byte to 21 bytes, depending on the value of the field, Frame Control.
  • the field, Data Payload is representative of a transferable data amount from zero to 122 bytes.
  • the field, FCS includes a data check, e.g. frame check sequence, signal. The data are transmitted and received in the data format as described above.
  • Radio frequency LSIs for ZigBee are specified differently depending on functional blocks implementing the physical layer, data link layer and network layer.
  • the articles authored by S. Fukunaga, et ai., and T. Ichikawa, et al, stated earlier teach, by contrast to a technology which integrates on a single semiconductor chip only a radio frequency transmitter and receiver, sometimes referred to as "RF portion", and a physical layer portion to provide a radio frequency LSI, the RF portion including an analog radio frequency circuit for transmitting and rreceiving data with a radio frequency (RF) signal, with the MAC layer implemented by software, or program sequence, running on a host central processing unit (CPU), a technology which integrates on one semiconductor chip an RF portion, a physical layer portion, and a MAC layer portio to provide a radio frequency LSI fully compliant with IEEE 802.15.4, wherein a complicated MAC process is implemented by the radio frequency LSI and a ZigBee network can be implemented and controlled with
  • the physical layer controls the transmission and reception of the data
  • the data link layer analyzes the transmitted and received data to determine the transfer in the through mode or in the security mode.
  • the data link layer performs encryption/decryption before passing the data to the next layer.
  • the network layer transmits and receives the data to and from the host processor using a serial circuit or the like.
  • a demodulator demodulates the signal into symbols conveying a message.
  • the received data have the data length thereof up to 133 bytes.
  • the frame, Frame Length defines a data length up to 127 bytes. Up to the data length of 127 bytes in total, each field can have any number of bytes, so that the data length of up to 133 bytes may be calculated in the following manner that four, one, one and 127 bytes of fields, Preamble Sequence, Start of Frame Delimiter, Frame Length, Frame
  • the physical layer then temporarily holds the received data of up to 133 bytes for passing the data to the data link layer following thereto.
  • the physical layer converts the symbol data into byte data. One symbol is received for 16 microseconds, and two symbols form one-byte data.
  • the data link layer determines the transfer mode and starts sucking the data.
  • the transfer mode for the received data is determined depending on the values of the fields, Frame Control and Addressing Field. Generally, that determination is made by the MAC layer.
  • the processed data are then passed, or transferred (in the through mode/security mode) to the network layer.
  • the network layer transmits, or transfers, the data to the host processor.
  • a radio frequency LSI contains the function of a MAC layer associated with a data link layer as its functional block
  • the radio frequency LSI can perform thereinside ail of a series of processing received data.
  • the radio frequency LSI temporarily holds the received data thereinside, waiting for determination made by the MAC layer provided outside.
  • the network layer transmits, or transfers, the data, such as Frame Control and Addressing Field, necessary for determining the transfer mode to the outside M AC layer.
  • the MAC layer determines the transfer mode, through mode/security mode, and thereafter the MAC layer notifies the inside of the radio frequency LSI of the result from, the transfer mode determination to restart the transfer.
  • any of the layers of the gossip protocol, or specifically the Zigbee protocol as described above, can be processed in the RF unit of the gossip module. This will allow to process the gossip protocol stack on the gossip module, separate from the handheld unit to which the gossip module can be connected over the operational end-to-end connection. This reduces the burden on the processor of the handheld terminal.
  • Further operating instructions can be sent over the end-to-end connection from the handheld terminal to the gossip module.
  • the operating instructions can be part of the application layer. Instructions from, the handheld terminal inputted using the interface of the handheld, will influence the messages sent by the RF unit into the mesh network. Otherwise messages received over the mesh network, in an embodiment specifically directed at the handheld or that specific gossip module, can be received and output to the handheld to be displayed (or otherwise made available to the user) using the end-to-end connection with the handheld.
  • messages received over the mesh network are stored in the gossip memory.
  • Stored messages are sent over the end-to-end connection only after establishing that end- to-end connection. This allows storing messages and avoids the loss of messages. Further messages can be received while the gossip module is disconnected from the handheld terminal.
  • the ubiquitous application services are implemented using the ZigBee wireless communication protocol techniques while the problems of security vulnerability are not solved, the ubiquitous application services may not succeed in the market due to the serious security vulnerabilities.
  • the conventional ZigBee wireless communication protocols provide security functions for outgoing messages to each of the network layer and the Application Support Sublayer (APS), and define a number of security functions such as a method of setting keys among ZigBee nodes, a method of transmitting the keys, and the like.
  • APS Application Support Sublayer
  • a master key, a network key, and a link key are defined in the ZigBee environment, and they are defined in the standard specifications to provide a suitable security function as needed.
  • the concept of secure communication among nodes configuring a ZigBee-based multiple wireless sensor network is as shown in FIG. 15.
  • the wireless sensor network includes a sensor node 3010 functioning as a gateway and sensor nodes 3021, 3022, 3023, 3031 and 3032 configuring a sensor field.
  • the sensor nodes configuring the sensor field can be configured in a topology of a star, a tree, or a mesh depending on the configuration method of a network.
  • the sensor node 3010 functioning as a gateway receives information from the sensor nodes configuring the sensor field and provides the information to an external application service, and receives a control command from the external application service and transfers the control command to the sensor nodes configuring the sensor field.
  • the sensor node Al In order to perform secure communication among the sensor nodes, the sensor node Al
  • the secret key value is used as a key value of the Advanced Encryption Standard (AES) encryption algorithm and provides confidentiality and integrity of communication data between the sensor node Al 3021 and the sensor node G 3010. This is described by a mathematical expression such as E(KA, Packet) 3040 of FIG. 1.5, which means that communication data Packet is encrypted into E (Encryption) using the key value KA.
  • AES Advanced Encryption Standard
  • FIG. 15 shows the concept of secure communication between groups, and there are two groups, i.e., group A and group B.
  • Group A 3020 includes sensor nodes Al 3021, A2 3022, and A3 3023
  • the group B 3030 includes sensor nodes B l 3031 and B2 3032.
  • Each of these groups shai'es its own group key KA or KB with the sensor node G 3010 and uses a corresponding key for secure communication within the group, communication between the group and the sensor node G 3010, and communications between group A and group B.
  • group A uses KA as shown in E(KA, Packet) 3040
  • group B uses KB as shown in E(KB, Packet) 3050.
  • group A and group B are wireless sensor networks installed in different homes in an apartment complex.
  • group A and group B communicate using different encryption keys (i.e., the same encryption key within the same home), and the property management office of the apartment has KA and KB in order to process important information transmitted from the wireless sensor network installed in each corresponding home.
  • the embodiments described herein provide an improved communication network comprising one or more smart appliances as well as other devices, as well as methods of establishing and managing the network.
  • a home area network such as may operate in a residential location, with appliances, heating and cooling systems, and controllers for use with particular types of commodities supplied by utilities- i.e., natural gas, electricity, water, and so forth- it will be appreciated that these are provided as non-limiting examples, and that the embodiments described herein, their systems and methods, are also applicable to other devices, utilities, commodities, appliances, and both home and industrial locations.
  • a gossip module for use in a consumer device, the communications module comprising a RF unit having a wireless transceiver adapted to communicate over a wireless link using a suitable protocol; an interface for communicating with a host processor of the consumer device; and a controller in communication with the memory, the wireless transceiver, and the interface, in which the processor is configured to receive scheduled event data over the wireless link on behalf of the host processor; schedule events for the host processor using the scheduled event data thus received; and transmit commands for said scheduled events to the host processor for execution.
  • a consumer device with a host processor and the gossip module (either embedded or connected thereto using a suitable end-to-end connection).
  • HAN 3100 provides communication links with one or more devices, such as smart meters 3120, 3130, an in-home display 3140, a home energy management console 3150, and smart appliances 3160a,. n, 3! 62a,.n, 3164a.. n, and 3166a,. n.
  • Each of the smart appliances 3160a. n, 3162a.. n, 3164a.. n, and 3166a.,n may be defined within the HAN 3100 as a particular device type; for example, appliances 3160a..n may comprise lighting fixtures; appliances 3162a.
  • n may comprise major household appliances, such as refrigerators; appliances 3164a.. n may comprising heating and cooling appliances such as HVAC units; and appliances 3166a. n may comprise other devices, such as entertainment and personal devices (televisions, personal computers, and the like). Each of the individual devices
  • 3160a.. n through 3166a..n may comprise an individual node in the network 3100, each comprising its own radio module for communicating with the gossip module 31 10 and/or other devices on the network; alternatively, multiple devices may be comprised in a single node, and may communicate with the other devices on the network through a shared radio module.
  • the gossip module 31 10 is shown disconnected from a handheld terminal. It is operating as a stand-alone device.
  • the gossip module can have operating instructions included in the memory, programmed by a handheld device over the end-to-end connection established by a suitable adaptor.
  • the RF unit of the gossip module 3110 allows stand alone operation, using a suitable protocol, such as Zigbee.
  • the gossip module 3110 or another designated device in the network 3100 may be designated as the network trust center in accordance with the ZigBee protocol.
  • the trust center device is used for distribution of security keys to other network devices.
  • the remaining devices in the network are provided with the address of the trust center and a master key for use in communication with the trust center.
  • the gossip module 3110 can also store in its local nonvolatile memory addressing and application information for each device in the HAN 3100 for use in managing the various devices on the network.
  • While communication among the various elements of the HAN 3100 may be effected over fixed (wired) links, wireless communication links may be established among the devices, thus affording a measure of flexibility in the physical arrangement of devices in the HAN 3100.
  • Wireless communication within the HAN 3100 may be configured in accordance with a known wireless communication standard adaptable for use in the HAN environment. Those skilled in the art will appreciate that a most suitable wireless communication standard is one that provides reliable data delivery among the devices of the HAN 3100 with low latency and at comparatively low cost. Because of the nature of communication among the devices of the HAN 3100, and the need to maintain transceiver modules in all devices in the HAN 3100,
  • the HAN and the devices therein may be implemented with radio modules and host processors adapted to operate in compliance with the ZigBee(R) 1,0 or later specification, based on or incorporating portions of the IEEE 802.15.4-2003 wireless communication standar
  • a ZigBee network typically employs a mesh topology; thus, devices 3120 through 3166a..n may communicate with the
  • GOSSIP MODULE 3110 directly, or else with the GOSSIP MODULE 3110 through neighbourmg devices via the shortest or a preferred communication path.
  • the arrows in FIG. 16 illustrate possible communication paths within a HAN 3100 implementing the ZigBee specification.
  • the ZigBee specification may optionally be implemented in accordance with one or more of application profiles developed for use with the ZigBee specification, such as the Smart Energy Profile Specification, Revision 15, 2008 or the Home Automation Profile Specification. These profiles define messages, message formats and processing actions relevant to management of energy-consuming devices and automation of electrical devices within the home, respectively, to provide for interoperability among ZigBee- compatible devices.
  • the ZigBee specification and the Smart Energy and Home Automation Profiles are published by the Zigbee Alliance, and are available from http://www.zigbee.org. The foregoing references are incorporated herein by reference. Of course, other standards, specifications and profiles may be employed.
  • a typical device 3200 may be provided with a host processor 3210, which may be configured to control the functions of the device 3200.
  • the host processor 3210 may send data to and receive data from an RF transceiver 3260, and thereby communicate with the HAN 3100.
  • the RF transceiver may be provided in a separate module 3250.
  • Communication between the module 3250 and the host processor 3210 may be provided through any suitable interface 3290, such as a universal asynchronous receiver/transmitter, and
  • the module 3250 may be installed in the device 3200 during manufacture, or may be installed after manufacture. If ZigBee-eompatible devices are deployed in the HAN 3100, the devices 3200 may be provided with ZigBee-compatible modules 3250 comprising integrated radios and microcontrollers with on-chip memory, such as the EM250 or EM350 series ZigBee(R) system-on-chip, manufactured by Ember Corporation, Boston MA 02210, or the CC2430 Zigbee(R)/IEEE 80.215.4(TM) system-on-chip manufactured by Texas Instruments Incorporated, Dallas TX 75243.
  • ZigBee-compatible modules 3250 comprising integrated radios and microcontrollers with on-chip memory, such as the EM250 or EM350 series ZigBee(R) system-on-chip, manufactured by Ember Corporation, Boston MA 02210, or the CC2430 Zigbee(R)/IEEE 80.215.4(TM) system-on-chip manufactured by Texas Instruments Incorporated, Dallas
  • the module 3250 may also comprise memory 3270 and optionally secure memory 3320, and a processor 3280.
  • the memory 3270 may include memory for storing applications 3300, an event data cache 3272, and a network configuration data cache 3274.
  • the processor 3280, the memory 3270, and the transceiver 3260 may all be comprised in a si gle in egrated package such as the aforementioned system -on- chip.
  • the memory 3270 may comprise flash memory, a portion of which is devoted to storage of application code and storage of both volatile and non-volatile data, and the remainder of which may be used for manufacturing- related data, such as the MAC address of the module 3250, and other data that may be stored in memory during the manufacturing process, such as security certificates.
  • manufacturing-related data such as the MAC address of the module 3250
  • security certificates such as the MAC address of the module 3250
  • the data store in the network configuration data cache 3274 may include at least a current network time and an identifier for a current network or the most recent previous network to which the module 3250 had been joined.
  • the network configuration data cache 3274 may include security and device identifier options, such as preconfigured link keys, encryption protocols, and in the case of a device 3200 configured to be used in accordance with a predetermined profile, such as the Smart Energy Profile specification, a profile description device identifier, and identifiers for supported server and client clusters that are supported by the device 3200.
  • the clusters identify the groups of services thai the module 3250 is configured to support.
  • the network configuration data may also include custom profile identifiers for the device 3200.
  • Security options may include identification of the types of encryption and authentication supported by the processor 280, such as elliptical curve cryptography, APS encryption, and processes for generating link keys.
  • the data in the foregoing network configuration data cache 3274 may be modified by the host processor 3210, and are generally set prior to the module 3250 attempting to scan for and join a network. The host processor 3210 may further toggle these security options on and off at the module 3250. Default settings for the da a in the network configuration data cache
  • the event data cache 3272 may include data received from, the gossip module 31 10 during the course of normal network operation for controlling the device 3100.
  • the event data cache 3272 comprises messages 3275 demand response and load control (DRLC) data 3277, and may include other scheduled event data 3278.
  • DRLC demand response and load control
  • the event data cache 3272 may be stored in volatile memory rather than in nonvolatile memory.
  • the processor 3280 may be configured to perform cryptographic operations in accordance with any suitable public or shared secret key cryptographic protocol.
  • public -key cryptography protocols are widely implemented, and each individual module 3250 may be provided with one or more private keys 3330 and corresponding public keys 3332 for use in encrypted and/or authenticated communications. If the module 3250 includes secure memory 3320, then the private keys 3330 may be stored in the secure memory; otherwise, they may be stored elsewhere in the memory 3270. The private keys 3330 may be used for digitally signing messages for authentication purposes, or other authentication or cryptography- related functions.
  • the private keys 3330 may be provisioned during the manufacturing stage, although they may be added to the memory at a subsequent stage, for example during a flash update to the memory 270.
  • the module 3250 may also be provisioned with a corresponding root key from the Certificate Authori ty providing the device's public and private keys 3332, 3330 for use in verifying the digital certificates comprising the module 3250's public keys 3332.
  • the modules 3250 may also exchange corresponding public keys, as described below, so that messages exchanged by the modules 3250 and gossip module 31 10 may be encrypted.
  • Public keys received from other devices on the network may be stored in the non-secure memory area of the memory 3270. Keys may be read-protected in the memory 3270 or 3330.
  • the device 3200 communicates wirelessly with the gossip module 3110.
  • FIG. 17 also illustrates the basic architecture of an embodiment of the gossip module 3110, which comprises a transceiver 3340 in communication with a processor 3350 and a memory 3360.
  • non-secure memory 3360 may be used for storing other data, and for example may include memory for storing applications 3362, a network configuration data cache 3364, public key storage 3373, and an event data cache 3365.
  • the types of event data stored in the cache 3365 may be determined by a profile or other specification implemented in the HAN 3100.
  • the event data cache 3365 may comprise messages 3366, demand response and load control data 3368, and other scheduled event data 3369.
  • the gossip module 3110 serves a function as a gateway or server for the other devices 3200 on the HAN 3100, the event data stored by the gossip module 3110 may include data pertinent to multiple devices 3200. Further, since the gossip module 3110 may also operate as a network coordinator, and the network configuration data cache 3364 may store other types of data not typically stored by the other devices 3200, such as a binding table for associating the various modules 3250 within each device 3200 with services provided by the gossip module 3110.
  • the module 3250 may be configured to use the ZigBee protocol for network communications.
  • An example of the architecture that may be used in the module 3250 is illustrated in FIG. 18.
  • the physical layer and the medium access control layers 3380, 3382 may be defined in accordance with IEEE 802.15.4, controlling signal transmission over the radio channel and access to the radio channel, respectively.
  • Overlaying the medium access control layer are a network layer 3384, which manages the processes of joining and leaving networks, network discovery, name binding, routing and security, and an application layer 3388, which manages service discovery and binding, forwarding of messages between network devices, and defining coordinator and end device roles for the devices within the network.
  • the functions of the networking layer 3384 and the application layer 3388 are defined by the ZigBee protocol.
  • the embodiment of FIG. 18 also includes an automation layer 3386, which operates between the application layer 3388 and the networking layer 3384 to provide the application 3300, executing at the application layer 3388, with a simpler interface to the networking layer 3384 and thus to the network.
  • the application 3300 may therefore receive simple instructions from the host processor 3210 to carry out sophisticated tasks, such as service discovery and binding, which in turn are provided to the automation layer 3386.
  • the automation layer 3385 may then translate these simple instructions received via the application 3300 to a series of finer- grained instructions transmitted to through the networking layer 3384.
  • the process of network joining in the HAN 100 will now be described with reference to RIGS. 19 to 21.
  • the process for a device 3200 to join the HAN 3100 is illustrated in the state diagram 3400 depicted in FIG, 9.
  • a module 3250 comprised in a device 3200 When a module 3250 comprised in a device 3200 is initially introduced to the HAN 3100, it may be placed in an initialization state 3410 by its host processor 3210.
  • the initialization state 3410 may be triggered by a reset command received from the host processor 3210, for example as part of a boot up process.
  • the module 3250 not having previously formed part of a network 3414, then enters a network down (i.e., not joined) state 3420 and remains in that state until it transitions to a scanning state 3430.
  • the module 3250 may be configured to automatically enter the scanning state 3430 upon initialization, or alternatively it may wait until prompted by the host processor 3210 via a scan and join network command 3425.
  • a scan and join network command 3425 may comprise a network identifier directly identifying the network to scan for; for example, in the
  • a PAN ID and/or an extended PAN ID may be provided, and the gossip module 3110 or another device that is already joined to the network may broadcast the PAN ID or extended PAN ID.
  • the command 3425 may also or instead comprise a channel mask, identifying a range of channels over which the module 3250 may scan for an appropriate network 3100 to join. If the module 3250 fails to locate a channel 3432, it will return to the network down state 3420 and remain in that state until a new command is recei ved to scan and join a network 3425.
  • a notification may be sent to the host processor 3210 to advise of the module 3250's network status change in a network status response.
  • the host processor 3210 may also request the module 3250's network status in a network status request.
  • other states of the module 3250 may include service discovery and binding 3450, key establishment 3440, joined 3460, and secure and unsecure rejoin 3480, 3490.
  • modules 3250 may potentially join on behalf of the device 3200.
  • the application 3300 is configured with a hard limit on the number of networks that can be scanned on a given channel (for example 16 or 32 networks)
  • module 3250 may be unable to locate and join (including establishment of a key agreement) the sought-after network in a network-dense environment. Accordingly, as networks on a given channel are scanned by the module 3250, their detected network information is stored in packet buffers in the memory 3270. These packet buffers may be memory locations predefined by the manufacturer of the system-on-chip comprising the module 3250 for caching packets received over a joined network.
  • each time a network is found in a scan its identifier (e.g., PAN ID and/or extended PAN ID) is stored, optionally together with other network information (as specified for the applicable network protocol) in a packet buffer.
  • the number of packet buffers allocated for caching networks in this manner may be dynamically allocated according to the number of networks detected in a channel. For example, if each buffer is 32 bytes in size and network information comprising the PAN ID and extended PAN ID, which are 2 bytes and 8 bytes respectively, are cached in a record in the packet buffer, then each packet buffer can cache three entire records. If multiple packet buffers are allocated for caching network identifiers in this manner, then a single record can be split over multiple buffers so that each buffer is completely filled (for example, the first buffer may store three complete records, and the first two bytes of a second record).
  • the module 3250 can then proceed to attempt to join the target network, if one target network has been identified, or alternatively the module 3250 may determine which network to join by checking each of the detected networks in turn to determine if a key agreement can be established, as described with reference to the key establishment state 3440, below.
  • the record for each network cached in the packet buffer will include a channel identifier, thus increasing the cached record size.
  • the records may be stored in memory locations other than the packet buffer. If the module 3250 successfully locates and joins a network at 3438, it may automatically enter a service discovery and binding state 3450 in which it attempts to discover services provided by the gossip module 31 10 on the network 3100.
  • the communications between the module 3250 and the gossip module are illustrated in FIG. 20.
  • the communications may comprise a series of requests for descriptors of the services available from the gossip module 3110, and the gossip modules responses to the requests.
  • the module 3250 may request descriptors of the clusters (i.e., attributes of the groups of functions) defined in the profile that are available at the gossip module 3110. If A specific profile is implemented, the module 3250 may request descriptors 3505 and receive responses 3510 for the Time cluster; Demand Response and Load Control (DRLC) cluster (request 3515, response 3520); Message cluster (request 3535, response 3540): and Simple Metering (request 3545, 3550).
  • DRLC Demand Response and Load Control
  • Message cluster response 3535, response 3540
  • Simple Metering (request 3545, 3550).
  • the responses from the gossip module 3110 will indicate whether these services are available to the module 3250, and will identify the addresses or endpoints for each of these services.
  • the identified endpoinis received in response by the module 3250 may be stored in the memory 3270 for use in addressing messages to those particular service endpoints during subsequent communications.
  • the requests need not be presented by the module 3250 in the order indicated in FIG. 20. If one or more of the services requested by the module 3250 is not available, the gossip module 31 10 may return an error in response to the request.
  • the module 3250 need not return to the network down state 3420 or reattempt to locate and join a network. Instead, the module 3250 may proceed to request descriptors for other clusters from the gossip module 31 10, or alternatively may proceed to complete binding to the clusters that are available on the gossip module 31 10.
  • timeouts may be experienced while the module
  • the 3250 awaits a response to a request from the gossip module 3110. If a timeout 3456 occurs during service discovery, the module 3250 may presume that it has lost connectivity with the network and may return to the scanning state 3430, at which point it may resume scanning for a network as described above. Such a timeout error may be considered to be a terminal error, resulting in the module 3250 transitioning to a different state to handle the error.
  • the module 3250 and the gossip module 3110 may be adapted to communicate securely.
  • the network joining process will include a key establishment process tha t takes place before service discovery and binding.
  • the module 3250 Once the module 3250 has successfully located a network to join 3436, it enters a key establishment state 3440 during which the gossip module 3110 and the module 3250 negotiate encryption or authentication protocol information.
  • the key establishment process may be initiated by the gossip module 3110 at 3705 upon detection of the device 3200 on the network 3100.
  • the module 3250 then responds with a request 3710 for an identification of the key-based services provided by the gossip module 3110, to which the gossip module 3110 responds 3715 with an identification of the encryption and/or authentication protocols supported by the gossip module 3110.
  • the module 3250 may then transmit a key establishment response 3720, identifying the protocol or protocols to be used in communications between the module 3250 and the gossip module 3110, based on the security options stored in its memory 3270.
  • the response may further include a copy of the module's public key certificate comprising its public key
  • Any errors 3442 encountered during the key establishment process may be considered terminal errors, causing the module 3250 to return the scanning state 3430, where it will again attempt to locate and join a network.
  • Errors may occur, for example, if the response from the gossip module 3110 to the request 3710 for identification of key -based services indicates that none are provided, if key exchange is not completed within a predefined period of time, or if it is determined that the module 3250 lacks a valid certificate.
  • the module 3250 may enter the service discovery and binding state 3450 described above.
  • the module 3250 caches network identifiers for each network found during a channel scan, if an error is encountered and the module 3250 re-enters the scanning state 3430, the module 3250 can then retrieve the network identifier stored in a next record in the packet buffer and re-attempt the key establishment process with the network identified in that next record. By retrieving the previously cached network identifier, a further network scanning step is avoided.
  • the module 3250 may, in response to an explicit command from the host processor 3210, transition from the joined state 3460 by leaving the network. The module 3250 may then, in response to a further command, attempt to join a new network or the previously joined network. The module 3250 may alternatively attempt to rejoin a network, for example in the case where the host processor 3210 determines that there has been a loss of communication with a currently joined network. For example, a leave network command may be received 3464 from the host processor 3210. The module 3250 will then leave its current network 3100 and not attempt to scan for any networks, and return to the network down state 3420. The module 3250 may only leave the network down state if it receives a command 3425 to enter the scanning state 3430, described above. If the module 3250 receives a command from, the host processor 321.0 to leave the network, then network configuration data stored in the configuration data cache 3274 may then be deleted from the memory 3270.
  • the module 3250 may leave the network 3100 (and may again delete the network configuration data from the cache 3274), then enter the scanning state 3450 to scan for a new (or the same) network to join.
  • the scan and join command 3462 may comprise a PAN ID or Extended PAN ID and channel mask value, thus directing the module 3250 to enter the scanning state 3430 and scan for and locate a network on a particular channel or a channel matching the mask.
  • the module 3250 will leave the current network and enter the scanning state 3430, proceeding with optional key establishment and service discovery and binding as described above. If the scan and join command identifies the same network as the one to which the module 3250 is currently joined, the scan and join command is effectively operates as a rejoin command 3482, and does not delete any of the current network configuration data from the network configuration data cache 3274; the module then enters the rejoin state 3470, and re-scans for the same network it had previously been joined to based on the currently stored network configuration data, attempting to match its PAN ID and Extended PAN ID to any networks located.
  • the module 3250 is configured retain the cached network configuration data in the configuration data cache 3274 even once the module 3250 has left that network.
  • the cached network configuration data is used to periodically poll other networks for data even when the module 3250 has not received an express instruction to join those other networks.
  • the module 3250 When the device enters a "sleep" mode (e.g., when the module 3250 has not received any messages from the currently joined network within a specified period of time, or when the device has entered an inactive or sleep state), the module 3250 periodically wakes up, leaves its current network (if currently joined), joins and polls a network for which cached configuration data is available to obtain any relevant messages, then returns to sleep mode. In this manner, the module 3250 can cycle through each of the cached networks represented in the configuration data cache 3274.
  • the module 3250 may also enter the rejoin state 3470 in response to a power-up or a detected connection disruption.
  • the module 3250 may be configured to periodically poll the gossip module 3110 while in the joined state to verify the state of its connection to the network, and to expect a response within a predefined period of time.
  • the request transmitted to the gossip module 3110 may be a query for the gossip module 3110's network time. If this heartbeat response is not received within the predetermined time frame (for xample, every 5 minutes), the module 3250 may send an error message to the host processor 3210, and transition to the rejoin state 3470 to attempt to repair the connection. Loss of the heartbeat signal is therefore considered a terminal error.
  • the module 3250 may transition to the rejoin state if it experiences a timeout during an attempted synchronization of data between the gossip module 3110 and the module 3250.
  • the device 3200 may be a client of Demand Response and Load Control (DRLC) cluster, adapted to receive events from the gossip module 3110.
  • the module 3250 may transmit a get scheduled events command 381.0.
  • the command may include a limit value, identifying the number of events to be retrieved from the gossip module 31 10.
  • the gossip module 3110 may transmit any scheduled events 3815 identified for that module 3250.
  • the limit on the number of scheduled events to be transmitted to the module 3250 may be predefined; for example, the gossip module 3110 may transmit only the three most recent events to the module 3250, as the module 3250 may be configured to store only a limited number of events in its memory 3270. ' The number of events may be determined based on available memory 3270 for storing scheduled events instead as part of the operating instructions,
  • the most recent events are typically those with a scheduled start time closest to the present time, although events defined in the DRLC cluster may be associated with future time periods. Therefore, received scheduled events are cached by the module 3250 until the time of execution, at which point the module 3250 relays that event to the host processor 3210 as a demand response event start message 3820. When the event is complete, or the duration associated with the event expires, it may be cancelled, and the module 3250 may transmit a demand response event stop message 3825, and delete the event from its memory 3270.
  • the host processor 3210 may respond to an event start message 3820 with an opt in or opt out message 3835, indicating whether the host processor 3210 will comply with the event indicated in the event start message 3820 or not.
  • a utility may push to the HAN 3100 a request for devices on the network to reduce energy consumption during a specified period of time.
  • This request may be transmitted to the module 3250 from the GOSSIP MODULE 3110 in the form of a scheduled event message, which in turn is transmitted to the host processor 3210.
  • the host processor 3210 may then cause a message to be displayed at a user interface in communication with the processor 3210, requesting user confirmation that the device is to participate in the request. If a response from the user indicating confirmation is received, the processor 3210 may then respond with an opt-in message 3835. If the response received from the user indicates that the device is not to participate, then the message would then indicate that the device is opting out of the request.
  • informational messages may be pushed to devices in scheduled
  • event messages which may then be displayed to a user who is then requested to confirm, via a user interface on the device, that the message was received and/or read. This confirmation may he transmitted at 3835 as well.
  • the gossip module 3110 can be a separate part connected to a mobile terminal such as a smart phone.
  • scheduled events are stored in a memory of the gossip module. Even if the gossip module 3110 is separated from the terminal, the scheduled events can still be executed as the gossip module 3110 can function also separate from the terminal.
  • Events that are scheduled to take place in the future may also be relayed by the module 3250 to the host processor 3210, so that the host processor 3210 may generate a schedule of upcoming events to manage the device 3200.
  • Any kind of connection could be used for such relaying.
  • the end-to-end connection via the adaptor of the gossip module is used.
  • Future events may be provided to the host processor 3210 in demand response received messages 3830.
  • the module 3250 m y handle all scheduling and caching of events on behalf of the host processor 3210, and the host processor need only act on the event start or stop commands received from the module 250; the host processor 3210 need not store all scheduled event data itself, as the module 3250 is configured to transmit messages to the host processor 3210 to alert the host processor 3210 to the commencement and ending of scheduled events.
  • the host processor 3210 may also query the module 3250 for information pertaining to scheduled events stored at the module 3250 for the purpose of scheduling.
  • the host processor 3210 may transmit a demand response count request 3840 to obtain a reply 3845 reporting the count of the number of scheduled events currently stored at the module 3250, and may further transmit a demand response cached event request 3850 to obtain cached events from the module 3250.
  • the demand response cached event request 3850 may comprise a count value, which will be used to determine the number of scheduled events returned to the host processor 3210 in the reply 3855. If the number of events to be retrieved is less than the total number of scheduled events stored at the module 3250, then the events retrieved in the reply 3855 may comprise those events having their start time occurring before or soonest after the current time. Each event returned by the module 3250 is reported in a separate reply 3855.
  • This protocol may be a communication protocol developed for use with the module 3250, and in this standard configuration the gossip module 3110, and specifically the RF processor 3350, must be configured to adopt the protocol, and store a library of commands developed specifically for communicating with the module 3250.
  • the commands may be stored in on-chip memory in the host processor 3350, or alternatively in other memory resident in the gossip module 3110.
  • the systems' and methods' data may be stored in one or more data stores.
  • the data stores can be of many different types of storage devices and programming constructs, such as RAM, ROM, flash memory, programming data structures, programming variables, etc. It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
  • Code adapted to provide the systems and methods described above may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.
  • computer storage mechanisms e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.
  • a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-orie ted paradigm), or as an applet, or in a computer script language, or as another type of computer code.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Device for a network node in a wireless mesh network, the device formed by a portable gossip module comprising an RF unit arranged for receiving and forwarding gossip network messages via the wireless mesh network according to a predetermined mesh network protocol; an adaptor arranged to establish an operational end-to-end connection with a handheld terminal, such as a smartphone, to exchange messages to and/or from the RF unit; and a controller connected to the RF unit and the adaptor for controlling the exchange of the interface messages.

Description

METHOD AND APPARATUS FOR TRANSMITTING, RECEIVING AND FORWARDING A GOSSIP MESSAGE USING A GOSSIP NETWORK
The invention relates to a network node in a mesh network. The invention further relates to a portable gossip module. The invention also relates to a method and system for interfacing with a mesh network using a portable handheld device.
BACKGROUND
Wireless (e.g., cellular) service providers and device manufacturers are continually challenged to deliver value and convenience to consumers by, for example, providing compelling network services, applications, and content. One area of development is the use of device-to- device communication networks and devices to automatically determine information and context about the local environment. However, technical challenges relating to power consumption, signaling overhead, security, and privacy have hindered such development.
EMBODIMENTS OF THE INVENTION
According to an aspect of the invention a device for a network node in a wireless mesh network is provided. The device can be formed by a portable gossip module. The gossip module can comprise a RF unit, a controller and an adaptor. The controller can be connected to the RF unit and to the adaptor.
In an embodiment the RF unit is arranged for receiving and forwarding gossip network messages via the wireless mesh network according to a predetermined protocol. The adaptor may be arranged to establish an operational end-to-end connection with a handheld terminal, such as a smartphone, to exchange messages to the RF unit, from the RF unit or both to and from the RF unit. The controller is configured for controlling the exchange of the interface messages between the gossip module and the handheld terminal.
By allowing messages to be transmitted from the handheld terminal to the gossip module, at least some of the technical facilities of the handheld terminal, for instance the user interface, such as the display and/or keyboard, the processor, the memory, the wireless communication units, such as the wifi, Bluetooth and/or telephone network transmitters and receivers, of a handheld terminal may be made available to the gossip module.
The RF unit may be arranged to independently form a node in a mesh network using a suitable protocol. The RF unit is arranged to form an active node. The RF unit is arranged to extend the mesh network. As the RF unit is arranged to receive and forward the gossip messages in a mesh network, the presence of the gossip module will extend the available network. In an embodiment the device comprises a memory connected to the controller, in which memory operating instructions may be stored for controlling the operation of the device, especially the RF unit thereof.
In some embodiments the controller is configured to amend one or more operating instructions controlling the operation of the device based on one or more messages received from the handheld terminal. More specifically, one or more of the operating instructions that determine the operation of the gossip module (for instance the operating instructions stored in memory or operating instructions provided by the controller) may be amended by the controller based on one or more messages received from, the handheld terminal. For instance, the messages may be interface messages generated by one or more user interfaces of the handheld device. The message is transmitted to the gossip module through the adaptor. This enables the user to control the operation of the gossip module by actuating the user interface of the handheld terminal, for instance the keyboard or the touch screen of a mobile phone. Consequently, there is no need for a separate user interface on the gossip module.
In the embodiments wherein the memory is arranged to store messages received over the mesh network, even if the gossip module is disconnected from the handheld device, messages can be received over the RF unit and messages addressed to the gossip module (either general messages or messages comprising an address of the gossip module or the connected handheld device) can be stored in the memory.
Alternatively or in addition to the messages being interlace messages generated by the handheld terminal to which the adaptor is connected and transmitted from the handheld terminal to the gossip module, the messages may be interface messages received by the RF unit from the wireless mesh network, for instance from the user interfaces of other nodes of the network. These interface messages may cause user output to be generated by the user interface, for instance messages shown on the display. The messages may further be stored in the memory of the gossip device to be provided later to the handheld terminal, for instance once a connection with the adaptor is established.
In an embodiment the controller is arranged to communicate with the RF unit. Application layer messages can be exchanged. The RF unit can be controlled by the controller. Further messages for the gossip module can be received by the RF unit and can be made available to the controller. In an embodiment the adaptor is arranged to establish an operational end-to-end connection between the controller and a handheld terminal, such as a smartphone. This will allow connecting the gossip module with a terminal such as a smartphone. The operational end-to-end connection can be any direct connection between the gossip module/adaptor and the handheld terminal such as a wired connection, such as USB or a wireless connection such as Bluetooth. The operational end-to-end connection is direct connection not part of a network. In an example the RF unit is arranged to send and receive gossip network messages via the wireless mesh network according to a predetermined protocol. This enables the gossip module to receive messages in the gossip network. This also enables the gossip module to send messages into the mesh network. Such an RF unit may function as a passive node or an active node.
In an embodiment the adaptor is arranged to establish an operational end-to-end connection between the controller and a handheld terminal, such as a smartphone, to enable the handheld terminal to amend the operational instructions.
A suitable application program (herein also referred to as "app") can be stored and executed on the handheld terminal. The app allows sending messages, for instance comprised of operating instructions or messages from which operating instructions may be derived, over the operational end-to-end connection of the adaptor to the gossip module. These operating instructions can be stored, for instance in the memory of the gossip module.
In an embodiment the adaptor providing the operational end-to-end connection can be disconnected from the handheld terminal. Any operating instructions amended by the handheld terminal may remain stored in memory when gossip module is disconnected from the handheld terminal and are therefore available if the operational end-to-end connection is re-established. For instance, the gossip module may be a stand alone module, that occasionally receives instructions from an handheld terminal by making contact between the adaptor and the handheld terminal. In other embodiments the operating instructions are executed when the operational end-to-end connection is disconnected. In an example this allows programming the gossip module to execute instructions after disconnecting the handheld terminaifrom the gossip module.
A connection can be made between a handheld terminal and the nodes of a mesh network by making the operational (direct) connection to the gossip module and operating the gossip module through the handheld terminal. By simply connecting the terminal with the gossip module, the handheld terminal may get access to the mesh network, and in some embodiments the mesh network will be extended. If the handheld terminal is a smartphone or similar device, the device's WAN connection may now be connected to the PAN connection over the mesh network. This will allow relaying of messages between the two different mesh networks.
In an embodiment the gossip module has a battery. The battery allows stand alone operation of the gossip module. A charge plug can be made available to charge the battery when it is of a rechargeable type. In an embodiment the operational end-to- end connection is wired and comprises a battery connection for charging the handheld terminal from the battery of the gossip module. In other words, the gossip module may provide battery charging capabilities to the handheld terminal.
In an embodiment the gossip module has a memory comprising a user interface program for a handheld device for (remotely) controlling the controller and/or RF unit using an end-to-end connection established over the adaptor. This program can he an 'app'. The adaptor can be arranged to (automatically) upload the user interface program over the operational end-to-end connection onto the handheld terminal. This will allow a new handheld to upload the necessary interface program (app) from the gossip module itself. Automatic upload functions are available for USB connections.
In an embodiment the gossip module comprises a clock connected to the controller. In an embodiment the controller is arranged to execute timed operating instructions stored in the memory. A user can input instructions using the handheld interface. The interface program on the handheld device allows sending a message, for instance a command, over the adaptor that causesamendment of the operating instructions determining the operation of the gossip module
In an embodiment the RF unit has RF circuitry connected to a RF chip containing a stack for a predetermined wireless mesh network protocol. This will allow the gossip module to function independently (stand-alone) from the handheld device. Further the presence of the stack in the gossip module allows to fulfil mesh network processes by a dedicated RF chip. Mesh network functions are executed/processed on the gossip module. The stack can include a network layer, and preferably includes an application layer.
In an embodiment the controller is arranged to exchange application layer messages with the RF unit. In an embodiment user input received in the handheld device by suitable interface units, is converted in the handheld device into application layer messages. These application layer messages are sent over the operational end-to-end connection to the controller and received at the
RF unit.
In an embodiment the stack includes, for example, a physical layer and a data link layer under the international standard IEEE 802.15.4 for WL-PAN (Wireless Personal Area Network) and preferably further includes a network layer, a transport layer, a session layer, a presentation layer, and an application layer.
In an embodiment the controller is arranged to communicate with the RF unit and with the adaptor, the controller arranged as or compri ing a suitable converter.
In an embodiment the RF unit is a is a short-range radio frequency communication module, e.g. operating in the 2.4 GHz band.
In an embodiment the gossip module is arranged to receive a unique identification number of the handheld terminal connected to the adaptor and wherein the controlleris arranged to send gossip messages over the gossip network comprising a code based on the unique identification number. This e.g. allows identifying the user of the handheld using a suitable identification such as a Facebook © username but also using the phone number of the handheld device. This allows identifying the user of the handheld. A gossip messages received at another node can be identified as sent from the handheld. In some embodiments this allows identifying the identity of the sender, e.g. using a "contacts' directory at the other node.
The gossip module can comprise a slot for a unique identification card, such as a subscriber identification card. The controller can be connected to the slot. The controller can he arranged to send gossip messages over the gossip network comprising code based o the unique identification information received from the slot. In an embodiment the operational end-to-end connection is a USB connection and the adaptor comprises a male USB (micro) plug. Female USB micro plug are currently available on many s narfphones.
In an embodiment the operational end-to-end connection is one of a Bluetooth connection, infrared connection, PCM connection, and an audio connection. In an embodiment the gossip module can comprise multiple adaptors and/or multiple different operational end- io-end capabilities for allowing to configure the connection with the handheld device.
The predetermined gossip protocol can be at least one of:
■ ZigBee (such as ZigBee Home Automation, ZigBee Smart Energy 1.0, ZigBee
Telecommunication Services, ZigBee Health Care, ZigBee RF4CE - Remote Control, ZigBee
Smart Energy 2.0,ZigBee Building Automation, ZigBee Retail Services or ZigBee Light Link;
- Myrianed
- WirelessHART
■■ IEEE 1451
- 802.15.4; and/or
- 6L0WPAN
The invention is not limited to any of the above protocols. In an embodiment the gossip module comprises several protocols. In an embodiment the operating instructions comprise instructions for switching on/off one or more of the protocols. n a embodiment the RF unit comprises multiple RF chips and/or multiple transceivers for allowing to operate different protocols simultaneously.
In an embodiment the predetermined gossip protocol comprises a coordinator function and the controller is arranged to coordinate the ad-hoc mesh network. This will allow pairing with nodes in the mesh network. Thi will increa e the speed of the network. In an embodiment the RF unit is arranged to establish and maintain the wireless mesh network and to communicate with an application layer, including an IEEE 802.15.4 based physical layer, an IEEE 802.15.4 based MAC layer, a predetermined protocol network layer and an application interface.
According to a further aspect of the invention an assembly of a handheld device, such as a mobile phone, having WAN connectability and a gossip module as defined herein is provided. In some embodiment the gossip module is embedded in the handheld device. In other embodiments the gossip module and handheld terminal are separate devices, each having its own housing. As mentioned above, the handheld terminal may comprise a user interface (eg. keyboard, touch screen, etc.) for receiving user input and/or providing user output. The user interface is configured to generate interface messages that may he transmitted to the gossip module through the adaptor. In some embodiment the user interface receives interface messages from the gossip module, for instance to he displayed on the display of the user interface.
The mobile phone can comprise user interface circuitry and user interface software configured to facilitate user control of at least some functions of the mobile phone through use of a display and configured to respond to user input; and a display and display circuitry configured to display at least a portion of a user interface of the mobile phone, the display and display circuitry configured to facilitate user control of at least some functions of the mobile phone.
The mobile phone can further comprise a processor for executing a user interface program of the gossip module, wherein the display circuitry is configured to display the user interface of the gossip module, wherein the mobile phone has user interface input units and wherein the user interface input units are configured to convert user input into a signal send over the connection to the adaptor of the gossip module.
According to an embodiment of the present invention a method is provided for operating a gossip module as claimed herein. The method may comprise
- the user interface of the handheld terminal receiving user interface interface instructions from a user;
- providing the interface instructions to the gossip module over an end-to-end connection established through the adapter of the gossip module;
- controlling the gossip module based on the interface instructions received by the gossip module.
The interface instructions are preferably contained in (interface) messages which messages are transmitted to the gossip module via the adapter of the gossip module. The method may also comprise receiving and forwarding gossip messages in a mesh network by the gossip module. According to another example, an apparatus comprising at least one processor, and at least one memory including computer program code, the at least one me ory and the computer program code configured to, with the at least one processor, cause the device to function as a node in a mesh network and to receive instruction over a end-to-end connection from a handheld terminal having a suitable interface.
According to another example, a computer-readable storage medium carrying one or more sequences of one or more instructions which, when executed by one or raor controllers, cause the device to function according to any of the embodiments or examples disclosed herein.
Further examples can be given, comprising combinations of features of the above-given examples. Still other aspects, features, and advantages of the invention are readily apparent from the following detailed description, which comprises a number of particular embodiments and implementations. The invention is also capable of other and different embodiments, and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the invention. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
BRIEF DESCRIPTION OF THE DRAWINGS
In the figures of the accompanying drawings:
Fig. 1 illustrates a communication system capable of engaging in a service or activity using a gossip network, according to an example of the invention;
Fig. 2A illustrates the components of a handheld terminal connected to a gossip module: IGs. 2B-2E illustrate components of gossip modules according to various exemplary embodiments;
FIG 2F is a diagram of the data structure of a network layer message header, as can be used in the invention;
Fig. 2G is a diagram depicting a power saving scheme of a device-to-device radio layer, according to an exemplary embodiment;
FIG. 3A is a flowchart of a process for locating communities and community members over a gossip network, according to various exemplary embodiments;
Fig. 4A is a ladder diagram that illustrates a sequence of messages and processes used in a originating node, according to an exemplary embodiment;
Fig. 4B is a ladder diagram that illustrates a sequence of messages and processes used in a destination node, according to an exemplary embodiment;
FIGs. 5A-5B are diagrams of a user interface utilized in the process of locating communities over a gossip network, according to various exemplary embodiments;
Fig. 6 is a diagram of hardware that can be sed to implement an example of the invention;
Fig. 7 is a diagram of a chip set that can be used to implement an example of the invention; Fig. 8 is a diagram of a mobile station (e.g., handset) that can be used to implement an example of the invention; and
Fig. 9 is an example of synchronized communication frames that include TDMA schedule with TDMA slots and an idle period;
FIG. 10 is a block diagram showing an exemplary configuration of the gossip module of the invention;
FIG. 1 shows an example of the gossip module 2100 of the invention;
FIG. 12 A shows an embodiment of a terminal 2300 of the invention;
FIG, 12B is a block diagram specifically showing the gossip module 2100 inserted in the terminal 2300 of FIG.12A; FIG. 13A shows another embodiment of the gossip module 2400 of the invention;
FIG. 13B is a block diagram showing a gossip module 2400 connected to a terminal 2406; FIG, 14 shows an example of arrangement of an internal antenna in the gossip module of the invention;
Fig. 16 is a block diagram of a single private home area network comprising an energy service portal and a number of devices;
Fig. 17 is a block diagram of a single device in communication with the gossip module; Fig. 18 is a schematic diagram of a protocol stack implemented in the gossip module of
Fig. 17;
Fig. 1.9 is a state diagram, for a device in the home area network of Fig. 16;
Fig. 20 is a schematic diagram illustrating service discovery communications between a device and gossip module:
Fig. 21 is a schematic diagram illustrating key establishment communications between a device and gossip module.
FIGS. 22 to 24 are block diagrams of communication flow between a gossip module and a network device.
DESCRIPTION OF EXAMPLES OF THE INVENTION
A method and apparatus for engaging in a service or activity using an ad-hoc mesh network are disclosed. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the embodiments of the invention. It is apparent, however, to one skilled in the art that the embodiments of the invention may be practiced without these specific details or with an equivalent arrangement. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the embodiments of the invention.
PRIOR ART PROBLEMS
Service providers and device manufacturers that are developing communication systems and networks for providing information/sending messages face many technical challenges.
For example, current ad-hoc radios (e.g., WLAN and Bluetooth(R)) are designed for connectivity
(e.g., connectivity via Internet protocol (IP)). However, in an "always on" environment such as the gossip network 109, it is not practical to have a large number of handheld terminals lOla-lOln (e.g., mobile handset devices) "connected" by, for instance, IP to each other for extended periods of time because of power usage and scalability problems.
Specifically, a multi-hop connection in a large ad -hoc network typically requires a significant amou t of control signaling and power and can quickly deplete a mobile device's battery. Moreover, scalability can be a problem, because current ad-hoc radios are typically limited in the number of connections and the related signaling that they can support at any given time.
As shown in Fig. 1, a system 100 comprises one or more handheld devices lOl -lOl . The handheld terminals 101a- 101η can be connected to a communication network 103 through either operator A 105 or operator B 107. The handheld terminals lOla-lOln are any type of mobile terminal, portable terminal, or fixed terminal including mobile handsets, personal computers, stations, units, devices, multimedia tablets, Internet nodes, communicators, Personal Digital Assistants (PDAs), or any combination thereof. It is also contemplated that the handheld terminals lOla-lOln can support any type of interface to the user (such as "wearable" circuitry, etc.).
The handheld terminals 101 a-1.01n are, in this embodiment, examples of nodes capable of accessing a wide area network (WAN) such as a mobile communication network. The handheld terminals can have different functionality. By way of example, handheld terminal 101a is a GSM, thus being a device having wireless capabilities of its own. Such handheld terminal may be connected with the W AN network 103 via its own wireless capabilities.
INTRODUCTION GOSSIP NETWORK
In an example the system 100 creates the wireless mesh network or gossip network 109 for sharing information/sending a message in a connectionless fashion.
A mesh network or gossip network 109 is a personal area network (PAN). Fig. 1 shows an example of a gossip network 109 of a plurality of 104a-104n according to the present invention. The gossip network 109 can include any number of nodes. Each of the PAN-nodes 104 of the gossip network 109 can broadcast or receive gossip messages from its neighboring nodes.
As used herein, the term "connectionless" refers to the ability of a node (e.g. handheld terminal 101a or gossip node 104a) to send information/messages and to, of all surrounding PAN- nodes 101,104, receive and forward information/messages without the need to send any prior control signaling. For example, sending a message using the transmission control protocol/IP (TCP/TP) over a WLAN ad-hoc is not connectionless because of the two- way TCP control signaling between the sending and receiving nodes used to establish the TCP connection. Thus in a connectionless network, no connection must be established between two nodes to enable communication over these nodes.
In an embodiment the exchange of information occurs as a broadcast message (i.e., a flooding message) from a handheld terminal 101/gossip node 104 to neighboring handheld terminals 101/gossip node 104 that are within range of the radio of the broadcasting handheld terminal 101/gossip node 104. As neighboring handheld terminals 101/gossip nodes 104 receive the broadcasted message, each receiving handheld terminal 101 may in turn rehroadcast or forward the message to other neighboring handheld terminals 101. In this way, the originally broadcasted message propagates throughout the gossip network 109. In exemplary embodiments, the extent of the propagation may be limited by criteria such as distance, location, time, etc.
NODES IN THE GOSSIP NETWORK
Fig. 1 is a diagram of a communication system capable of engaging in a service or activity using an mesh network, according to an exemplary embodiment. Information and context comprise "awareness information" that metaphorically equip a communication terminal with "radio eyes and ears" to continuously collect and exchange information with other devices in a local environment. However, development of a system for providing awareness information poses significant technical challenges, particularly in the areas of creating a network for sharing awareness information, locating and organizing awareness information, forming communities for sharing awareness information, managing power consumption for devices constantly engaged in sharing awareness information, developing applications to take advantage of the awareness information, maintaining the privacy and anonymity of users sharing awareness information, and preventing the proliferation of undesired messages (e.g., spam) over the network.
The handheld terminal lOla-lOln may be connected with one WAN network 103 via its own wireless capabilities and be connected, via the adaptor of the gossip module, to the peer-to- peer network established by the gossip modules. Handheld terminal 101 b is a digital music player being a device without wireless capabilities of its own. In the handheld terminal 101η, the gossip module is embedded by way of example. Thereby, three distinct examples are gi ven of handheld devices suitable for communicating with the gossip modules according to the invention.
The handheld terminals 101 -101 n each have an interface 102a-102n that allow a user to interface. The user can input data, e.g. controls and can receive output, e.g. display, from the terminal l Ol a-l Ol n. A suitable interface is a touch sensitive display device.
In exemplary embodiments, the handheld terminals 101 a-101 n can form a gossip network
109. The handheld terminal 101 a-101 n can be connected to a gossip module 1 1 la-1 1 In.
Gossip modules 11 la-1 l ib are examples of separate modules coupled 112a- 112b to the wireless network node ! Ola-lOlb. The connection 112a- 112b is illustrated schematically only. The connection can be any end-to-end operational connection. Gossip modules 1 1 l a-1 1 l b can use a USB connection, earplug connection or a wireless connection for forming a non-permanent end-to- end connection with the handheld terminals 101 a- 101b. Gossip module 11 In comprises an embedded gossip module permanently coupled to the handheld terminal 101 n.
Further the gossip network 109 can comprise gossip nodes 104a-104n. A gossip node in this embodiment comprises a gossip module. It could be without interface. It can comprise a controller, a sensor etc.. In embodiment one or more gossip nodes 104a- 104n could be connected to the mains. In an embodiment some of the PAN nodes 101,104 comprise wireless sensor and/or actuator nodes, or nodes without any sensor and/or actuator device.
However, any device capable of bidirectional communication can be a node in the network. Though the present invention is suited for wireless networks, one or more wired nodes can also be members of the network.
Within the gossip network 109, each PAN node 101,104 may be mobile and is within communication range of any number of other PAN nodes 101 ,104.
The gossip network 109 can further comprise a power gossip node 106. Such a power gossip node 106 could have one or more of the following specifications:
- connected to the mains for can creating a powerful gossip module allowing transceiving gossip messages over longer ranges
connected a wired LAN or WAN network allowing to transmit a message over the wired network. If the PAN comprises two such gossip nodes connected to LAN/WAN, gossip messages could be send over the wired network betwee the two power gossip nodes 106, allowing e.g. bypassing part of the PAN network.
GOSSIP NETWORKS PROTOCOLS
The gossip network 109 preferably is a communication system betwee a plurality of nodes 101 a-iOl n and nodes 104a-104n in a gossip for gossip protocols. The scalability of the
communication system of the present invention is apparent by the communication system's decentralized and distributed nature.
The gossip network 109 is an example of a Personal Area network (PAN). Handheld terminals !Ola-iOin through the gossip modules 11 l a- 11 I n and gossip nodes !04a-!04n, hereinafter the PAN-nodes !Ola-iOln, 104a-104n, are arranged to communicate over the gossip network 109 using a gossip protocol. Any suitable gossip protocol can be used, such as Zigbee,
6Iowpan and Myrianed.
ZigBee is low-power, wireless mesh network standard. Zigbee is deployed in wireless control and monitoring applications. Low power-usage allows longer life with smaller batteries, ZigBee operates in the industrial, scientific and medical (ISM) radio bands; 868 MHz in Europe, 915 MHz in the USA and Australia, and 2.4 GHz in most jurisdictions worldwide. Data transmission rates vary from 20 to 900 kilobits/second. The ZigBee network layer natively supports both star and tree typical networks, and generic mesh networks. Every network must have one coordinator device, tasked with its creation, the control of its parameters and basic maintenance. Within star networks, the coordinator must be the central node. Both trees and meshes allows the use of ZigBee routers to extend communication at the network level. The ZigBee protocol stack builds upon the physical layer and medium access control defined in IEEE standard 802.15.4 (2003 version) for low-rate WPANs. The specification goes on to complete the standard by adding four main components: network layer, application layer, ZigBee device objects (ZDOs) and
manufacturer-defined application objects which allow for usiomization and favor total integration.
Besides adding two high-level network layers to the underlying structure, the most significant improvement is the introduction of ZDOs. These are responsible for a number of tasks, which include keeping of device roles, management of requests to join a network, device discovery and security.
6L0WPAN implementation provides the advantage that the Internet Protocol (wireless communication) can be applied even to the smallest devices, and that low-power devices with limited processing capabilities should be able to participate in wireless communication.
MyriaNed uses an epidemic communication style based on standard radio broadcasting. Nodes do not need to know who is in their neighborhood at the time of sending a message, there is no notion of an a-priori planned Routing, data is just shared instantaneously. The Myrianed network is implicitly reliable since messages may follow different communication routes in parallel. The loss of a message between two nodes does not mean that the data is lost. Nodes can be added, removed or may be physically moving without the need to reconfigure the network. The network may even be heterogeneous, where several types of nodes communicate different pieces of information with each other at the same time. This is possible due to the fact that no interpretation of the message content is required in order to be able to forward it to other nodes.
Message communication in Myrianed is currently fully transparent, providing a seamless comm nication platform, where new functionality can be added later, without the need to change the installed base. Furthermore, MyriaNed is enabled to update the wireless sensor nodes software by means of "over the air" programming of a deployed network.
The invention can use any of or combinations of existing (and future) protocols for gossip networks.
EXAMPLARY ROUTING
In an embodiment the system 100 eliminates the problems associated with traditional methods for route establishment and maintenance (e.g., connection based communication protocols), such as maintaining and handing off connections as mobile devices move, and requiring high levels of network resources for maintaining connections in an environment with a high number or density of mobile devices. For example, in an embodiment the event of a PAN- nodes 101,104 appearing/disappearing to/from the network does not generate any control signaling in the gossip network 109.
Similarly, the system 100 can create routing information, e.g. when needed to route replies to queries back to the querying node. The routing information is generated by using the query messages alone (i.e. no control signaling is used for creating routing information). After the query and subsequent reply process is completed, the routes are forgotten, in other words, the query/reply process of system 100 provisions routes for a reply to provide awareness information on demand rather than pushing awareness information from one PAN node 101,104 to another. In exemplary embodiments, both push (e.g., information is published over the gossip network 109) and pull (e.g., information is queried from other PAN nodes 101 , 104 of the gossip network 109) modes of disseminating information are possible. In certain embodiments, it is contemplated thai the pull mode of operation can be used instead of the push mode to help suppress potential spam messages.
In an embodiment the gossip module allows routing pairing. A discovery gossip message could be send over the gossip network in order to retrieve a routing, preferably shortest routing for sending a gossip message between an riginating node 501 and a destination node 508. Discovery gossip messages can be send at predetermined intervals.
In an embodiment the gossip network 109 uses the Myrianed protocol. Myrianed is an example of an unorganized gossip network.
In an embodiment 'acknowledge' messages are sent over the gossip network to acknowledge receipt of a message broadcasted. Specifically the ack-message can be arranged to prevent or stop further forwarding of a message. The ack- message can be generated and sent by the PAN-node 101,104 for which the sent message was intended. EX AMPLE SERVICES
'The system 100 also enables the development of new services and applications based on the availability of gossip network 109 (e.g., social networking applications, location-based applications, application for determining presence, applications for determining context, advertising applications, or other local services or applications). In particular, the continuous and immediate nature of the gossip network 109 with respect to local environment enables compelling new services.
The following are exemplary use-case scenarios for applications based on the gossip network.
In a first use-case, an application uses the gossip network to discover events near the user. For example, as a user passes a park, the handheld terminal 101a informs the user, based on messages exchanged between nearby terminals, that "There is a Japanese culture festival in the Tea Garden Park; five members of your Kab ki community are there: Zen, Mi, Xia, Talo, and Chris." The user may then decide to attend the festival.
In a second use-case, an application provides location-based or context-based services using the gossip network 109. For example, a handheld terminal 101a does not have positioning capabilities but nonetheless knows that it is in a grocery store based on information from another nearby gossip node 104 sending a GPS signal. It is contemplated that the grocery store may also place a node in the store to provide such context information, possibly combined with other store specific information such as the address of the store's web page. The handheld terminal 101a then reminds the user to "Remember to buy dishwasher detergent" based on the user's location in a grocery store. The GPS information can aiso be the physical position information from a neighboring handheld terminal 101b that has the positioning capability. Sharing of positioning information with a neighboring node with such a capability can enable nodes 101 without such capability to offer navigational services.
In a third use-case, an application enables locally targeted advertising. For example, it is almost closing time for a local fresh fruit market. The merchants decide to publish an advertiseme t over the gossip network 109 that "Apples are 50 percent off for the rest of the day." The advertisement is available to users who live nearby the market. In another example, a user browses an advertisement for a new printer on a handheld terminal 101a. In the browsing activity, a code attached to the advertisement is stored in the gossip module 111. Upon searching and finding such a code, a nearby electronics store sends the user an offer to sell the printer with a 10 percent discount.
In a fourth use-case, an application provides the capability to initiate local discussion threads and group chats over the gossip network 109. For example, the supporters of a football team form a community over the gossip network 109 wherein community members can send short text messages (e.g., of small enough size to be sent directly over the gossip network 109) thai can be received and read only by the fan club comm nity members of that articular team.
EXAMPLE LAYERS
Fig. 2A is a diagram of the components of a handheld terminal 101 connected 112 with a gossip module 1 1 1 , accordi g to an exemplary embodiment. The technical measures (receiver, transmitter, control circuitry, etc.) on the handheld terminal 101 for accessing WAN are not shown and will he known to the skilled man.
The gossip module 11 In can also be embedded on the handheld terminal 101. In such embodiments elements (layers/devices) of the gossip module are embedded in the housing of the handheld terminal 101.
Fig. 2A is described with respect to FIGs. 2B-2E which are diagrams of the components of a gossip module 11 1 , according to various exemplary embodiments.
As shown in Fig. 2A, a handheld terminal 101 is connected electronically with a gossip module allowing receiving, sending and forwarding gossip messages within the gossip network 109. It is contemplated that the functions of these components may be combined in one or more components or performed by other components of equivalent functionality. In this embodiment, the handheld terminal 101 includes an application 201 that uses gossip messaging to provide various services and functions including social networking, location- based services, presence information, context determination, advertising functions, etc. The application 201 may interact with the gossip module 111 toobtain or share gossip messages.
By way of example, the gossip module 1 11 includes three layers: a cognition layer 203, a community layer 205, and a network layer 207. In this example the cognition layer 203 is the highest control layer for gossip information/messaging. As shown in Fig. 2B, the cognition layer 203 includes a control logic 221 and item storage 223. The control logic 221, for instance, provides the logic for creating, publishing, querying, and receiving information/messages over the gossip network 109. The control logic 221 can store the information that it either creates or receives in the item storage 223. It is contemplated that the item storage 223 may be of sufficient size to store all or a portion of the information that flows through the handheld terminal 101 over a configurable period of time (e.g., days, months, or year's).
in exemplary embodiments, the control logic 221 enables querying and dissemination of gossip messages. For
example, upon receiving a gossip message, the addressed handheld terminai(s) 101 in the local neighborhood can send a reply message (e.g. ack-message) to the querying node automatically. In exemplary embodiments, the reply message is also automatically stored in the item storage 223 of each handheld terminal 101 through which the propagating reply passes. The reply message can comprise a pointer (e.g., a universal resource locator (URL) address, IP address) to specific content relevant to the query rather than the content itself under certain circumstances (e.g., when the specific content is large in size). It is contemplated that the reply message may contain direct content if the content is relatively small (e.g., a few tens of bytes of information). By using a pointer, the system 100 minimizes the data traffic that flows through the gossip network 109. The receipt of the pointer (e.g., IP address) may automatically trigger the transfer of the content using, for instance, the communication protocol associated with the pointer.
In the case of broadcasting or publishing information, any handheld terminal 101 through which the published information propagates may store the information in item storage 223 of the handheld terminal 101.
In other exemplary embodiments, a push mode can be used for the gossip messages (e.g. advertising or group chatting) over the gossip network 109.
It is recognized that privacy and anonymity may be of concern to users of the system 100. Accordingly, the control logic 221 provides mechanisms for ensuring privacy and anonymity. For example, the control logic 221 can prevent the transmission of intimate information when the number of neighboring handheld terminals is small to prevent the possibility of inferring identity. As used herein, the term "intimate information" refers to information directly related to the user, e.g., the user's habits, tastes, or preferences (musical preferences, favorite restaurants, etc.).
Additionally, the control logic 221 enables to user to define filters for incoming
information (e.g., filter advertisements) and how these filters would work (e.g., ignore the information completely, relay the information but do not store, etc.). It is also contemplated that the user can direct the control logic 221 to control the user's visibility on the gossip network 109 (e.g., no visibility, visible only to a certain community or other user) to maintain privacy. As another mechanism for protecting privacy, the control logic 221 can interact with the community layer 205 to anonymize or encrypt a specific message and corresponding identifiers as described below with respect to the community layer 205.
The cognition layer 203, together with the community layer 205, provide an application programming interface (API) 225 to enable an application 201 to access the functions of the control logic 221 and the item storage 223. In exemplary embodiments, the APT 225 enables application developers to have uniform and easy access to functions related to gossip messaging over the gossip network 109. It is contemplated that the API 225 is extensible to accommodate any application designed to access or use gossip messaging. The applications in the various nodes 101 do not have to be the same or mutually compatible.
It is sufficient that the applications use the API correctly to be able to filter gossip messages received from surrounding nodes 101.
The cognition layer 203 also has connectivity to the community layer 205. The community layer 205 controls the formation and cataloging of communities of handheld terminals 101 within the gossip network 109. By way of example, a user may create any number of communities for gossip messaging. It is contemplated that a community may be either a peer community (e.g., any PAN node 101,104 may join), a personal conimunity (e.g., a PAN node 101,104 may join only if invited), or the open local community that consists of all nodes in the local neighborhood.
Examples of applications areas of gossip networks 109 are:
Home Entertainment and Control Home automation, smart lighting, advanced temperature control, safety and security, movies and music
Wireless Sensor Networks— Starting with individual sensors like Telosb Tmote and Iris from Mernsie
- industrial control
Embedded sensing
Medical data collection
Smoke and intruder warning
Building automation
in each of the areas a collection of several gossip nodes 104 could be part of a specific
(ipre-)defined) community. In exemplary embodiments, the messages that traverse between the handheld terminals 101 within the gossip network 09 belong to one of these three community types. Communities can either be private (messages are encrypted) or public (no encryption used). In exemplary embodiments, membership and status in a community affect how the handheld terminal 101 exchanges gossip messages (see the discussion with respect to Fig. 2G for additional details of community membership).
Furthermore, a community may be created for any purpose or duration (e.g., a permanent work community, a permanent community of friends, a temporary community of concert goers lasting only the duration of the concert). As shown in Fig. 2C, the community layer 205 includes a community control module 241, a community directory 243, and an encryption/decryption module 245. The community control module 241 provides the logic for creating, joining, managing (e.g., updating membership, configuring settings and preferences, setting privacy policies), and deleting communities. The module 241 also provides part of the ΑΡΪ 225.
The community layer 205 can communicate with the application 201. Creation of a communication can be started and controlled using the interface 102 on the handheld terminal 101. in exemplary embodiments, the community control module 241 assigns a unique community identification number (CID) to each community for use within the gossip network 109. The control module 241 can also generate authentication keys K associated with the CID to, for instance, authenticate users who wish to join the community or authenticate messages directed to the community. For example, a handheld terminal 101 may invite another handheld terminal 101 to join a community by transferring the CID and authentication keys associated with the community to the other handheld terminal 101 . It is contemplated that the transfer of the CID and
corresponding authentication key may occur using another communication protocol
(WAN,LAN,PAN) such as short range radio or another secure mechanism (e.g., short message service (SMS) or electronic mail). If is noted that both peer and personal communities use a CID and corresponding K, whereas the open local community either can use a predetermined value for
CID (e.g., zero) or does not use the CID at all.
To ensure privacy (as discussed above), the community control module 241 interacts an encryption/decryption module 245 to anonymize the CID when including the CID in messages over the ad hoc mesh network 109. For example, a handheld terminal 101 may send a gossip message to a specific community using an anonymized CID (e.g., a pseudonym) associated with the community in lieu of the actual CID, In exemplary embodiments, multiple anonymized CIDs maybe used to represent a single community.
In this way, it is more difficult to identify queries corresponding to a particular community by monitoring traffic within the gossip network 109. From the perspective of an outside observer, the anonymized CIDs look random.
In addition, the encryption/decryption module 245 may encrypt or decrypt message data using, for instance, a temporary key that is periodically derived from the authentication key K associated with the CID. These measures hinder the discoverv of the CID bv outsiders that do not have the authentication key. By way of example, the community layer 205 inserts a special header into the messages that it receives from the cognition layer 203. The special header, for instance, contains a list of anonymized community identifiers corresponding to the communities to which the message is relevant.
Fig. 2D is a state diagram of the effect of community membership and status, according to an exemplary embodiment. As shown in Fig. 2D, a gossip module 111 may be in either one or two states (e.g., a not-joined state 251 and a joined state 253) with respect to membership in a community within the gossip network 109. The application 201 of handheld terminal 101 issues, for instance, a command 255, triggered by interface 102, to either join or leave a community to transition between the not-joined state 251 and the joined state 253. When the gossip module 111 is in the not-joined state 251 with respect to a community, the gossip module 1 1 1 has no information (e.g., CID and associated authentication keys K) about the community and cannot access messages directed to the community. When the gossip module 1 1 1 is in the joined state 253, the community layer 205 receives the CID and possibly one or more authentication keys associated with the community. In one embodiment,
authentication keys are provided when membership in the community is by invitation or otherwise restricted (e.g., when the community is a personal community or a private community).
Accordingly, the community layer 205 will be able to encrypt outgoing community specific messages and to decrypt incoming community specific messages.
When the gossip module 111 is in the joined state 253, the gossip module 111 may also be in either an inactive state 257 or an active state 259. To transition between the inactive state 257 and the active state 259, the application 201 may issue a command 261 to either activate or deactivate the joined state 253 via the application programming interface 225.
When the gossip module 1 1 1 is in the inactive state 257, the community layer 205 abandons the message even though it is a member of the community. In certain embodiments, the gossip module 1 11 may also be invisible to other members of the community while in the inactive state 257. For example, the gossip module 111 may enter the inactive state 257 when it temporarily does not want to receive or share information with the community. When the gossip module 1 1 1 is in the active state 259, the community layer 205 encrypts and decrypts community messages as usual for private communities, and enables all outgoing and incoming community specific messages for public communities (e.g., communities with no restrictions on membership).
Within the active state 259, the gossip module 11 1 may also be in either an invisible state 263 or a visible state 265. To transition between the invisible state 263 and the visible state 265, the application 201 issues a command 267 to set either the visible or invisible state. When in the invisible state 263, the community-specific identity (e.g., a user alias) associated with the gossip module 1 I 1 cannot be queried by other members of the community.
In any state, also in the invisible state 263, the community layer 205 can continue to receive and forward gossip messages. When in the visible state 265, the identity of the gossip module 1 1 1 can be queried by other members of the community.
In various embodiments, the community directory 243 of the community layer 205 maintains, for instance, information on the communities that the user has joined.
Such information contains, at least, the community identification (CID). Additionally, it may contain public and/or pri vate authentication keys ( ) of the joined communities and a list of anonymized community identifiers for each community. The community control module 241 may periodically recalculate the list of anonymized CIDs. By way of example, the community layer 205 inserts a header into the message it receives from the cognition layer 203. The header contains, for instance, a list of anonymized community identifiers identifying the communities to which the message is relevant.
It is contemplated that a special personal community can be reserved for tracking new bonds or relationships created between users. Consider, for example, that user A meets user B for the first time and wants to create a radio bond between the mobile devices corresponding to each user. In one embodiment, user A can initiate the creation this bond with user B by transferring to user B (e.g., by using a secure transfer mechanism) the CID and the public K of user A's personal "new bonds" community.
Similarly, user B may give user A similar credentials corresponding to user B's "new bonds" community. Once the credentials are exchanged and the bond has been created, user A may find user B over the gossip network 109 by searching for members of user A's "new bonds" community. In other words, with a simple search of a single community, user A can search for all the people in user A's local neighborhood with whom user A has created a bond. This requires that a high number of community CIDs and Ks can be stored in the community directory 243. Also, an effective lookup of the community directory must be provided. There are many existing and good solutions for such efficient loop-up..
In an embodiment the gossip module 1 11 can be disconnected from the handheld terminal 101a and can be end- to-end connected to a farther handheld device 101b. The stored community information can be accessible through application 201 as executed on the handheld device 101b. This will allow another handheld device to have access to the (ipre-)defined) communities of gossip module 1 1 1. The access can be exchanged.
In an embodiment the application 201 as executed on the handheld terminal 101 can comprise one or more of the functionalities of the community layer and/or these functions are duplicated. Specifically the community directory and encryption/decryption module 245 functionalities can be part of the application 201 executed on the handheld terminal 101. This allows storing the
community details on the handheld terminal 101 separate from the removable gossip module 1 1. If the gossip module 111 is disconnected from the handheld terminal 101 and replaced by another gossip module, the user will have access to the installed community information.
As shown in Fig. 2C, the community layer 205 has connectivity to the cognition layer 203 above and the network layer 207 below. The network layer 207 manages the rebroadcasting of received gossip messages and the routing of the miieast(typically reply) messages received by the handheld terminal
Fig. 2E depicts a diagram of the components of the network layer 207, according to an exemplary embodiment. The network layer 207 includes a network control module 271, routing table 273, neighbor table 275, message identification (coordinator) table 277, and message table 279. The network control module 271 directs the broadcasts of messages and information by managing and updating the routing table 273, neighbor table 275, Coordinator table 277, and message table 279.
In exemplary embodiments, the network layer 207 may insert a header into messages it receives from the community layer 205 to, for instance, direct routing of the received messages. The structure of this network layer message header 281 is discussed with respect to Fig. 2F.
FIG 2F is a example di gram of the data structure of a network layer message header, according to an exemplary embodiment. As shown, the message header 281 contains the following fields: (1) a TX field 282 to identify the transmitter node ID (NID) of the last frans itting PAN node 101 ,104; (2) a SRC field 283 to identify the source node ID
of the node 101 that originated the message; (3) a DST field 284 to identify the destination source ID of the intended recipient of a unicast (reply) message; (4) a MSN field 285 to identify the message sequence number assigned by the source node; and (5) a hop count field 286 that is incremented by one by each node 101 that transmits the message.
In certain embodiments, the message header 281 may also contain the following optional fields: (6) a geographical limit field 287 to designate the extent of the physical over which the message is intended to propagate (e.g., the geographical limit field 287 may contain a geographical position of the source node and a maximum "flooding radius from that position); (7) a temporal limit field 288 (e.g., the temporal limit field 288 may contain the time when the message becomes obsolete and should be dropped); and (8) a context limit field 289 that defines the context beyond which the message is not intended to propagate (e.g. a message related to a particular concert is not intended to extend beyond the concert venue).
Returning to Fig. 2E, the network layer 207 could also contain a routing table 273. In exemplary embodiments, the routing table 273 contains a listing of the node identification number (NID) of the originating handheld terminal 101 (e.g., source NID) and the NIDs of the last known transmitters of the message. A purpose of the routing table could be to enable the routing of the repl /acknowledge messages (e.g., imicast messages) back to the originating node. As the message propagates through the gossip network 109, each subsequent handheld terminal 101 that receives the message adds the NID of the last transmitter to the routing table to record the next hop neighbor towards the source node. The source node is marked as the destination node (DST) in the routing table. Also the message sequence number of the message is recorded. The update of the routing table 273 is coordinated by the network control module 271.
In an example, the routing table 273 lists the destination NID (DSTj) of a gossip message, the transmitter NIDs (TXil , TXi2, ... TXi'M) associated with PAN nodes 101 , 104 that have rebroadcasted a message and the MSN (MSNi) of the message.
The neighbor table 275 can contain a list of the neighboring handheld terminals 101. The neighbor table 275 can contain an estimate of their relative radio distance, it is contemplated that the observed signal strength (RSSI) together with the known transmitting power of a neighboring PAN node 101 , 104 is an indicator of the proximity of the handheld terminal 101 and can be used to calculate the relative radio distance. The relative radio distance of the node from which the message was last received is then used as a criterion for whether or not the handhekl terminal 101 retransmits a received message. For instance, a higher signal strength indicates closer proximity to the handheld terminal 101. The network control module 271 monitors the signal strengths of neighboring nodes 101 as the module 271 receives messages from nearby devices and uses it to estimate the relative radio distance (e.g., proximity of the transmitting node 101). It is also contemplated that the network control module 271 may use any other mechanism for stimating the relative radio distance of neighboring nodes (e.g., estimating location using global positioning satellite receivers or other positioning techniques).
In an embodiment a PAN node 101 ,104 is in the neighborhood of a power gossip node 106 arranged with a significant more powerful transmitter than 'ordinary' gossip modules 109. In an embodiment the neighbor table 275 can directed transmitted (originating or forwarding) messages to this power gossip module 106 only.
in certain embodiments, the network control module 271 uses the proximity information to direct the routing and transmission of messages over the gossip network 109. For example, the system 101 can reduce the potential for overloading the gossip network 109 by implementing a smart flooding scheme whereby only a few nodes 101 retransmit an acknowledge message.
Whether a node 101 retransmits an acknowledge message can be dependent on the relati ve distance group (e.g., "very near", "near", or "far") to which the node 101 that is the transmitter of the message belongs. More specifically, if the transmitting node 101 is in the "far" or "near" group, the receiving node 101 can retransmit the acknowledge message. If the transmitting node 101 is in the "very near" group, the receiving node 101 does not retransmit the acknowledge message. For each broadcast message received from a node in either the "far" or "near" group, the network control module 271 assigns a random delay time for relaying or rebroadcasting. The delay period, for instance, exhibits a distribution function based on the estimated relative radio distance as a way to randomize the delay period before transmission. The distribution should be chosen in such a way that the random delay is larger for those nodes that are "near" than for those that are "far."
This favors, for instance, nodes 101 that are further away to relay the flooding message forward, which results in better flooding efficiency (smaller total number of transmissions). The use of a random delay time also prevents the unintended synchronization of message broadcasts as the message propagates over the gossip network 109. For example, unintended synchronization of the message broadcasts may result in too many nodes 101 sending broadcasting (i.e., acknowledge) messages over the gossip network 109 at exactly the same time. Additionally, the delay time provides an opportunity for the network control module 271 to moni or and count rebroadcasts of the message by other neighboring handheld terminals 101.
In an embodiment a Coordinator table 277 is defined and contains a list of received messages. In exemplary embodiments, the Message Identification Data is the tuple (SRCj, MS jj), where SRCj is the NID of the source node i and MSNjj is a message sequence number (j) assigned by the source node (i). In this way, the MID is a unique identifier of each message that propagates in the network 109.
As the handheld terminal 101 receives messages from neighboring nodes over the gossip network 109, the network control module 271 can use the Coordinator table to check whether the message has been received previously by, for example, comparing the M Ds in the Coordinator table 277 to that of the received message. The Coordinator table 277 also contains a flag indicating whether a message has been transmitted by the node 101 and the time when the entry was last updated. The network control module 271 makes an entry in the Coordinator table 277 for ail new messages that it receives. If the message has been scheduled for transmission, the module 271 increments the message counter in the message table.
In an embodiment the message table 279 contains messages that the network control module 271 has scheduled to transmit. For example, as the node 101,104 receives a acknowledge message that the network control module 271 schedules for retransmission, the module 271 updates the message table to include the message in the message table 279. Each entry in the message table 279 contains the message itself, the time when the message is scheduled to be sent, and the number of receptions (counter ij) of the same message by the node 101.
In exemplary embodiments, a gossip message is not relayed over the gossip network 109 if the number of times the message has been received exceeds a predefined limit. For example, a message has the initial count of 0. In this example, as a handheld terminal 101 in the neighborhood is observed to transmit the message, the message count associated with the message is increased. When the maximum message count is reached, the network control module 271 removes the message from the message table 279.
in an embodiment the transmitter of each message is also associated with an estimated relative radio distance (Di) indicating whether the transmitting node is within close proximity of the handheld terminal 101 (e.g., transmitting node 101 is in the "very near" relative radio distance group) or far from the handheld terminal 101 (e.g., transmitting node 101 is in the "far" relative radio distance group). If the relative radio distance associated with the transmitting node indicates that the transmission of the message occurred "very near," the handheld terminal 101 would not have to relay the message because it is assumed, for instance, that most of the other neighboring handheld terminals 101 have already received the same message. By taking into account the relative radio distances of neighboring nodes, the described smart flooding functionality leads to, on average, each gossip message being received for a few times by each node 101 independent of the node density. The number of times a message is received by any one node 101 affects the scalability of the coordinatoriess unorganized gossip network 109.
If the received message, however, is a gossip message that was addressed to the receiving node 101 (as part of a determined route towards the destination node 101), the network control module 271 checks whether the destination node 101 can be found in the routing table 273 (e.g., can be found from the destination field in the gossip message, or obtained from the source field of the query by the replying node). If found, the routing table entry will give the NID of the neighboring node to which the reply message will be sent in the next opportunity.
If the retransmission is not successful, in an embodiment, the next entry for the same DST will be used as the next try. if the received message is a acknowledge message that was not addressed to the recei ving node, the node wil l store the message in the message table 279 for scheduled retransmission.
It is noted that directed or acknowledgement gossip messages that are not addressed to the node 101 can be received and retransmitted by D2D radio layer 209 (see discussion of the D2D radio layer 209 below). Retransmission can be executed without further processing in the netwwli/comm unity/cogni ion layer 207,205,203 or application 201. However, under certain circumstances, the D2D radio layer 209 can provide such messages to the layers
203,205,207 to schedule for retransmission. For example, if no successful retransmission of the same message is observed by the time when the message is scheduled to be transmitted, the node 101 will transmit the directed or acknowledgeme t gossip message to the intended recipient found from the routing table 273 associated with the message. In this way, the nodes 101 thai are not the intended recipients of the reply messages can assist in routing the message forward towards the correct destination.
RADIO LAYER RF UNIT
As shown in Fig. 2 A, the gossip module 111 has connectivity to a device-to-deviee (D2D) radio layer 209. The D2D radio layer 209 enables the formation of the gossip network 109 and the transceiving of gossip informa tion/messages using, for instance, short range radio technologies, it is contemplated that the D2D radio layer 209 may use any wireless technology for communication between devices over short ranges. The radio technology, for instance, enables each PAN node 101,104,106 within the gossip network 109 to (re)broadcast messages in a connectionless way to the neighboring nodes 101 ,104, 106 that are within radio range.
The RF unit comprises a dedicated RF chip having a memory comprising the stack of at least one predetermined gossip protocols.
in exemplary embodiments, the D2D radio layer 209 may include multiple radios using one or more different technologies or protocols. A handheld terminal 101 configured with multiple radios may act as a gateway node to span two or more sub-networks serviced by the different wifeless technologies. In this way, messages broadcast on one sub- network may be propagated to another sub-network.
One of the radio technologies can be used to set up the connection 1 12. between the handheld terminal 101 and gossip module 1 1 1 through the adaptor for exchanging interface messages or operating instructions.
Fig. 2G is a diagram depicting a power saving scheme of a (terminai-to- terminal) device- to-device radio layer, according to an exemplary embodiment. The small amount of awareness data as well as the low latency requirements of the system 100 enables the operation of the D2D radio layer 209 in a way that leads to low power consumption.
As shown in Fig. 2G, the D2D radio layer 209 may have beaconing periods 291a-291c delineated by target beacon transmission times (TBTTs) 293a-293c. In exemplary embodiments, the D2D radio layer 209 may operate in a time- synchronized manner and utilize only a fraction of the time for active communication (e.g., during awake periods 295a-295c). During the rest of each beaconing period 291, the D2D radio layer 209 is in, for instance, a power-saving or dozing mode (e.g., during doze periods 297a-297c). For example, each beaconing period 291 can be on the order of hundreds of milliseconds and each awake period 293 only a few milliseconds, leading to effective radio utilization of approximately one percent. It is contemplated that for situations, where fee number of nodes 101 is very large (such as during mass events), time -wise radio utilization can increase up to 100 percent momentarily (e.g., awake period 293 equals active transmission period 291). At times of low traffic (for example at night), the radio utilization can be decreased to, for instance, 0.1 percent, by utilizing every tenth a wake period 293 while still maintaining synchronization.
TDMA COMMUNICATION EXAMPLE
At least some of the PA -nodes lOla-lOln, 104a-104n can be communicatively connected and communicate with the use of repeated communication frames. Fig. 9 shows an example of repeated communication frames of a broadcasting node 2210 and a repeated communication frame of a listening node 2220. Each communication frame includes an idle period and a time divisional multiple access (TDMA) schedule for active communication. The TDMA schedule includes a plurality of TDMA slots. A broadcast function is provided for each of the nodes to use one or more of the TDMA slots to broadcast messages. A listen function is also provided for each of the nodes to listen for and receive a broadcasted message. One or more TDMA slots are used to listen for and receive the broadcasted messages.
For example, Fig. 9 shows a node broadcasting 2230 a message through a TDMA slot 2240 and another node receiving the broadcasted message in slot 2260. Preferably slot 2240 and slot 2260 have the same slot number. Preferably, each of the broadcasted messages includes an identifier 2250 of the TDMA slot used to broadcast the message.
Preferably a media access control (MAC) layer is optimized in the gossip network 109. The identifier 2250 can be a part of the MAC header of the broadcasted message.
It is important to note that embodiments of the gossip network 109 of the present invention don't require a central or beacon node coordinating the other nodes.
Particularly, in a preferred embodiment of the present invention, none of the nodes in the network coordinates the TDMA schedule and the T DMA slots of another node of the network. The distributed functions for the nodes include network synchronization, TDMA schedule length and position, TDMA slot allocation, collision avoidance, and hidden- terminal avoidance. The broadcast function allows a node to transmit a message by a broadcast-only mechanism, which does not require an address of another node. The neighboring nodes have control over what to do with the broadcasted message. In other words, a neighboring node can decide to receive and process the message, to receive and discard the gossip message, or use a provided ignore function to not listen for any broadcasted messages.
in a preferred embodiment, some of the nodes, a majority of the nodes, or ail of the nodes in the network are approximately synchronized. Synchronized nodes have communication frames with time overlapping TDMA schedules to allow communication between nodes. In other words, overlapping TDMA schedules enable a message broadcasted from a TDMA slot of one node to be received by a TDMA slot of another node.
In an embodiment of the present invention, the communication frame of each of the nodes has a fixed length. The fixed length of the communication frame ranges between about 0.5 seconds and about 5 seconds, and is preferably about 1 second. In an alternative embodiment, the communication frame of each of the nodes has a variable length. A node may vary its
communication frame length based on energy consumption and data throughput requirements. Shorter communication frames generally increase energy consumption, while allowing for greater data throughput.
EXAMPLE STRUCTURE GOSSIP MODULE
In exemplary embodiments, the low latency requirements also enable saving power in the host processor.
For illustration, the following description refers to the components of exemplary chip set of Fig. 7 showing an exemplary embodiment of the gossip module 11.
The D2D radio layer 209 is typically implemented in the ASIC module 1409, whereas the functionalities of the gossip module 111 can be implemented either in the ASIC 1409 or the processor 1403. If the functionalities of the gossip module 111 are implemented in the processor 903, power consumption is reduced by, for instance, having ASIC 1409 wake up the processor
1403 as infrequently as possible. By way of example, the periodic operation of the D2D radio layer 209 expl ined above enables the ASIC 1409 to collect all messages and send them to the processor 1403 at a frequency of once per active transmission period 291. The processor 1403 then processes all received messages and calculates new messages to be sent for the next active transmission period 291. The processor 1403 then sends the messages to the ASIC 1409 for transmission. Using this process, a gossip message can make one hop (e.g., travel from one node 101 to another node 101) per period 291, which is fully acceptable for awareness information. In contrast, potential delays of hundreds of milliseconds are not possible, for example, for voice traffic, and these kinds of power savings cannot therefore be achieved in other communication systems transporting delay- sen siti ve traffi c .
Figure 7 also shows the USB interface 1411 connected with bus 1401 allowing the connection of the gossip module 111 with a USB port of a handheld terminal 101. Clearly other interfaces 1411 can be used to set up the connection 112 of the gossip module 1 1 1 with a handheld terminal 101.
MEMORY CONTAINING APPLICATION 112 PROGRAM ON GOSSIP MODULE
In an embodiment the USB interface 1411 is arranged such that the initiation of the USB connection 1 12 with a handheld terminal initiates the transfer of an executable program from memory 1405 to the handheld terminal 101. When the gossip module 1 1 1 is connected 1 12 with the handheld terminal 101 for the first time application 201 , it is possible application 201 is not available at the handheld tenninal 101. The application 201 is downloaded from the memory 1405 in the gossip module. In other embodiments the application 201 is available through the W AN, e.g. the internet/cloud and can be downloaded separate from the gossip module 1 1 1. Upgrading the application 201 can be performed over the WAN too. PROCESSES/FLOW CHARTS FOR GOSSIP NETWORKS
FIGs. 3A-3D are exemplary flowcharts of processes for locating communities and community members in the local neighborhood over a gossip network, according to various exemplary embodiments .
Fig. 3A is a flowchart for locating active communities in the gossip network 109 and updating a list of the active communities that are visible to the gossip module 1 11. In one embodiment, the gossip module 111 performs the process 300 of Fig. 3A and is implemented in, for instance, a chip set including a processor and a memory as shown in Fig. 7.
In step 301 , the gossip module 111 identifies one or more communities by using, for instance, community dentifiers (CIDs) corresponding to the one or more communities. In
exemplary embodiments, each CID is associated with one or more authentication keys for authentic ting members and messages transmitted within the corresponding community. The CIDs and associated keys are stored by the gossip module 111 in, for instance, the community directory 2.43 and may be provided to handheld terminals 101 that are members of the community in advance using a secure communication channel either over the gossip network 109 or over another communication network. CIDs and keys that are created subsequently may also be provided using a secure communication channel over either the gossip network 109 or another communication network, such as WAN 103.
By way of example, the gossip module 1 11 can use the CIDs to locate and identify communities that are active (e.g., transmitting or receiving community messages) among one or more neighboring gossip modules 111. The gossip module 111 updates a list of active communities based on the identification (step 303). For example, the list of active communities includes those communities to which the gossip module 111 belongs (e.g., communities that are private such as a community of personal friends) and those communities that are public and open to all PAN nodes 101,104,106. In exemplary embodiments, the gossip module 111 is continuously updating the list of active communities by, for instance, monitoring for messaging traffic over the gossip network
109 related to one or more of the active communities (step 305). More specifically, the gossip module 1 1 1 tracks whether there are any messages originating from or directed to one or more of the active communities over a predetermined period of time. In one embodiment, the period of time can be dependent on the o the density or stability of neighboring PAN nodes 101,104,106. For example, if the composition of the neighboring handheld terminals 101 is changing rapidly, the time period can be shorter. Similarly, if the composition of the neighboring handheld terminals 101 is more stable, the time period can be longer. In either case, the gossip module 111 observes whether there are any messages related to one or more of the active communities (e.g., by checking the header information of the messages for CIDs corresponding to any of the active communities) (step 307). If no messages are observed over the predetermined period of time for a particular community, the gossip module 11 1 designates that community as inactive and updates the list of active communities accordingly (step 309). If a message related to a particular communi y is observed during the time period, the community is considered to be still active and the gossip module 111 need not update the list of active communities. It is contemplated that the awareness services module can continuously or periodically perform the monitoring process to update the list of active communi ies.
GOSSIP NETWORK DIRECTED MESSAGE RELAY EXAMPLE
Fig. 4A is a ladder diagram, that illustrates a sequence of messages and processes resulting from a gossip message sent from an originating node 502 to a destination node 508, according to an exemplary embodiment.
A network process is represented by a thin vertical line, A step or message passed from one process to another is represented by horizontal arrows. A dashed horizontal arrow represents an optional step or message. The processes represented in Fig. 4A are the originating node 502, relaying node 506, and destination node 508. Within originating node 502, the following additional processes are represented: application 201, cognition layer 203, community layer 205, network layer 207, and D2D radio layer 209. In step 501, the application 201 within originating node 502 generates a gossip message intended for the user of destination node 508. The message is sent to the community layer 205 of the originating node 502. In an embodiment the community layer 205 generates a community gossip message, assigns a community gossip identification number (CGID) to the gossip message and prepares the gossip message for transmission over the gossip network
109 by marking the gossip message with CIDs of the community to which the intended user belongs.
If the gossip message is intended for a destination node 508 belonging to a community that is private, the community layer 205 encrypts the community-specific user identity (e.g., alias) using the encryption keys associated with the respective CID and stored in the community directory 243
(Fig. 2C).
If the community directory 243 contains recent information about active communities in other nodes then the community layer 205 may return the community information (step 503).
The community layer 205 then sends the anonymized and partly encrypted message to the network layer 207 (step 505).
The network layer 207 assigns a message sequence number (MID) to the gossip message and adds fields to the network layer message header 281 (Fig. 2F) to indicate that the originating node 502 is the source and transmitter of the gossip message (e.g., using the ID). The network layer 207 sends the gossip message to the D2D radio layer 209 of the originating node 502 for broadcasting in the gossip network 109 (step 507).
The query message is then broadcasted to one or more relaying nodes 506 (step 509).
Preferably ail nodes 101,104,106 in the gossip network 109 that are able to receive the broadcast message are relaying nodes. After processing by the relaying node 506, the gossip message is rebroadcasted to another relaying node or to the destination node 508 (step 511).
The processes of the destination node 508 are described with respect to Fig. 4B. After processing of the gossip message by the destination node 508, an acknowledge message can be generated and sent to the relaying node 506 (step 513) which routes the acknowledge message either to another relaying node or to the originating node 502 (step 515) based on the route stored in the routing table 273.
At the originating node 502, the D2D radio layer 209 receives and acknowledges the acknowledge message and forwards the acknowledge message to the network layer 207 (step 517).
The network layer 207 determines that the originating node 502 is the intended destination of the acknowledge message by checking the DST field 294 in the network layer message header 281 and sends the message to the community layer 205 for processing (step 519).
In case of a private community, the community layer 205 decrypts the acknowledge message using the appropriate encryption keys stored in the community directory 243. Based on the information in the acknowledge message, the community layer 205 updates information in the community directory 243 (list of acti ve communities and the lists of visible members in the communities) and finally sends a service response to the application 201 (step 521).
Application 201 can display the successful receipt of the acknowledge message confirming the receipt of the gossip message by the destination node.
Fig. 5B is a ladder diagram that illustrates a sequence of messages and processes used in a destination node, according to an exemplary embodiment. Within destination node 508, the following additional processes are represented: application 201 , cognition layer 203, community layer 205, network layer 207, and D2D radio layer 209.
in step 561 , the D2D radio layer 209 of the destination node 508 receives the gossip message and forwards it to the network layer 207 of the destination node 508. The network layer 207 may decide to rebroadcast the gossip message (step 563), e.g. if the gossip message is intended for multiple destination nodes. On receipt, the network layer 207 forwards the gossip message to the community layer 205 (step 565).
If the community layer 205 determines that the gossip message contains one or more anonymized CIDs of the active communities associated with the destination node 508 and the gossip message contains encrypted user aliases, the community layer 205 decrypts the message and updates information in its community directory 243 (e.g., containing the list of active communities and the list of visible members of the communities).
Next, the community layer 205 generates an acknowledge message that contains the same CGID as the incoming gossip message and has the source N D of the gossip message set as the destination NID of the acknowledge message. If the gossip message is directed at visible user aliases and the user alias in the node 508 is set as visible then the community layer 205 encrypts the user alias with the encryption keys associated with the community. The community layer 205 then retrieves a new anonymized CID from the community directory 243 and sends the acknowledge message to the network layer 207 (step 567).
On receipt of the acknowledge message, the network layer 207 assigns a new message sequence number (MSN) to the acknowledge message, attaches the NID of the destination node 508 as the source and transmitter, finds the NID of the relaying node 506 for the next hop from the routing table 263, sets the receive NID of the acknowledge message as the next hop and sends the acknowledge message to the D2D radio layer 209 (step 569). The D2D radio layer 209 sends the acknowledge message as a unicast message addressed to a relaying node 506 over the gossip network 109 (step 571).
INTERFACE FOR A HANDHELD TERMNAL (HANDHELD DEVICE)
FIGs. 5A-5B are diagrams of a user interface utilized in the process of locating communities over the gossip network 109, according to various exemplar-)' embodiments. Fig. 5A depicts a user interface 102 listing community related information and commands for managing and accessing gossip messages. For example, section 601 lists community members who are nearby the handheld terminal 101.
The members may be from one or more different communities. Selecting a member enables a user to contact the member, view the status of the member, or access other applications or functions related to the user. Section 603 may display, for instance, status commands or prompts such as an invitation to join a particular community. User interface 102 also provides selectable menu options 605 to initiate additional commands. For example, selecting the option "Around Me" prompts the display of a map 607 with the locations of community members.
Fig. 5B depicts a alternative user interface 620 for managing communities. For instance, section 621 displays currently defined communities with an option 623 to activate or deactivate each community individually. Users may also designate each community as either public or private using the control 625. Members of each community are displayed in section 627, along with controls 629 for adding or removing members. EXAMPLARY COMPUTER FEATURES (in wired/wireless/gossip/other node)
The processes described herein for providing a service or activity in an gossip network 109 may be implemented via software, hardware (e.g., general processor, Digital Signal Processing
(DSP) chip, an Application Specific Integrated Circuit (ASIC), Field Programmable Gate Arrays (FPGAs), etc.), firmware or a combination thereof. Such exemplary hardware for performing the described functions is detailed below.
Fig. 6 illustrates a computer system 1300 upon which an embodiment of the invention may be implemented.
Computer system 1300 is programmed to provide a user interface as described herein and includes a communication mechanism such as a bus 1310 for passing information between other internal and external components of the computer system 1300.
A bus 1310 includes one or more parallel conductors of information so that information is transferred quickly among devices coupled to the bus 1310. One or more processors 1302 for processing information are coupled with the bus 1310.
A processor 1302 performs a set of operations on information related to providing a service or activity in an gossip network 109. The set of operations include bringing information in from the bus 1310 and placing information on the bus 1310. The set of operations also typically include comparing two or more units of information, shifting positions of units of information, and combining two or more units of information, such as by addition or multiplication or logical operations like OR, exclusive OR (XOR), and AND. Each operation of the set of operations that can be performed by the processor is represented to the processor by information called instructions, such as an operation code of one or more digits. A sequence of operations to be executed by the processor 1302, such as a sequence of operation codes, constitute processor instructions, also called computer system instructions or, simpiy, computer instructions. Processors may be implemented as mechanical, electrical, magnetic, optical, chemical or quantum
components, among others, alone or in combination.
Computer system 1300 also includes a memory 1304 coupled to bus 1310. The memory 1304, such as a random acccess memory (RAM) or other dynamic storage device, stores information including processor insixuctions for providing a service or activity in an gossip network 109. Dynamic memory allows information stored therein to be changed by the computer system
1300. RAM allows a unit of information stored at a location called a memory address to be stored and retrieved independently of information at neighboring addresses. The memory 1304 is also used by the processor 1302 to store temporary values during execution of processor instructions. The computer system 1.300 also includes a read only memory (ROM) 1306 or other static storage device coupled to the bus 1310 for storing static information, including instructions, that is not changed by the computer system 1300. Some memory is composed of volatile storage that loses the information stored thereon when power is lost. Also coupled to bus 1310 is a non- volatile (persistent) storage device 1308, such as a magnetic disk, optical disk or flash card, for storing information, including instructions, that persists even when the computer system 1300 is turned off or otherwise loses power.
Information, including instructions for providing a service or activity in a gossip network 109, is provided to the bus 1310 for use by the processor from an external input device 312, such as a keyboard containing alphanumeric keys operated by a human user, or a sensor. A sensor detects conditions in its vicinity and transforms those detections into physical expression compatible with the measurable phenomenon used to represent information in computer system 1300. Other external devices coupled to bus 1310, used primarily for interacting with humans, include a display device 1314, such as a cathode ray tube (CRT) or a liquid crystal display (LCD), or plasma screen or printer for presenting text or images, and a pointing device 1316, such as a mouse or a trackball or cursor direction keys, or motion sensor, for controlling a position of a small cursor image presented on the display 1314 and issuing commands associated with graphical elements presented on the display 1314. In some embodiments, for example, in embodiments in which the computer system 1300 performs all functions automatically without human input, one or more of external input device 1312, display device 1314 and pointing device 1316 is omitted.
In the illustrated embodiment, special purpose hardware, such as an application specific integrated circuit (ASIC) 1320, is coupled to bus 1310. The special puipose hardware is configured to perform operations not performed by processor 1302 quickly enough for special purposes. Examples of application specific ICs include graphics accelerator cards for generating images for display 1314, cryptographic boards for encrypting and decrypting messages sent over a network, speech recognition, and interfaces to special external devices, such as robotic arms and medical scanning equipment that repeatedly perform some complex sequence of operations that are more efficiently implemented in hardware.
Computer system 1300 also includes one or more instances of a communications interface 1370 coupled to bus 310. Communication interface 1370 provides a one-way or two-way communication coupling to a variety of external devices thai operate with their own processors, such as printers, scanners and external disks. In general the coupling is with a network link 1378 that is connected to a local network 1380 to which a variety of external devices with their own processors are connected. For example, communication interface 370 may be a parallel port or a serial port or a universal serial bus (USB) port on a personal computer. In some embodiments, communications interface 1370 is an integrated services digital network (ISDN) card or a digital subscriber line (DSL) card or a telephone modem that provides an information communication connection to a corresponding type of telephone line. In some embodiments, a communication interface 1370 is a cable modem that converts signals on bus 1310 into signals for a communication connection over a coaxial cable or into optical signals for a communication connection over a fiber optic cable. As another example, communications interface 1370 may be a local area network (LAN) card to provide a data communication connection to a compatible LAN, such as Ethernet. Wireless links may also be implemented. For wireless links, the communications interface 1370 sends or receives or both sends and receives electrical, acoustic or electromagnetic signals, including infrared and optical signals, that carry information streams, such as digital data. For example, in wireless handheld devices, such as mobile telephones like cell phones, the
communications interface 1370 includes a radio band electromagnetic transmitter and receiver called a radio transceiver.
In exemplary embodiments, the communications interface 1370 enables connection to the communication network 103 for providing a service or activity in a gossip network 109.
In the exemplary embodiment of figure 13 the gossip module 1311 is connected using a suitable connection 1313 with the communication interface 1370.
The term computer-readable medium is used herein to refer to any medium that participates in providing information to processor 1302, including instructions for execution. Such a medium may take many forms, including, but not limited to, non-volatile media, volatile media and transmission media. Non-volatile media include, for example, optical or magnetic disks, such as storage device 1308. Volatile media include, for example, dynamic memory 1304. Transmission media include, for example, coaxial cables, copper wire, fiber optic cables, and carrier waves that travel through space without wires or cables, such as acoustic waves and electromagnetic waves, including radio, optical and infrared waves. Signals include man-made transient variations in amplitude, frequency, phase, polarization or other physical properties transmitted through the transmission media. Common forms of computer- readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, any other magnetic medium, a CD-ROM, CDRW, DVD, any other optical medium, punch cards, paper tape, optical mark sheets, any other physical medium with patterns of holes or other optically recognizable indicia, a RAM, a PROM, an EPROM, a FLASH- EPROM, any other memory chip or cartridge, a carrier wave, or any other medium from which a computer can read.
GOSSIP MODULE EXAMPLARY CONSTRUCTION
Fig. 7 illustrates a chip set 400 upon which an embodiment of the invention may be implemented. Chip set 1400 is programmed to provide awareness information over an gossip network 109 as described herein and includes, for instance, the processor and memory components described with respect to Fig. 7 incorporated in one or more physical packages. By way of example, a physical package includes an arrangement of one or more materials, components, and/or wires on a structural assembly (e.g., a baseboard) to provide one or more characteristics such as physical strength, conservation of size, and/or limitation of electrical interaction.
In one embodiment, the chip set 1400 includes a communication mechanism such as a bus 1401 for passing information among the components of the chip set 1400. A processor/controller 1403 has connectivity to the bus 1401 to execute instractions and process information stored in, for example, a memory 1405. The processor 1403 may include one or more processing cores with each core configured to perform independently. A multi-core processor enables multiprocessing within a single physical package. Examples of a raulti- core processor include two, four, eight, or greater numbers of processing cores. Alternatively or in addition, the processor 1403 may include one or more microprocessors configured in tandem via the bus 1401 to enable independent execution of instructions, pipelining, and multithreading. The processor 1403 may also be accompanied with one or more specialized components io perform certain processing functions and tasks such as one or more digital signal processors (DSP) 1407, or one or more application-specific integrated circuits {ASIC) 1409. A DSP 1407 typically is configured to process real-world signals (e.g.,
sound) in real time independently of the processor 1403. Similarly, an ASIC 1409 can be configured to performed specialized functions not easily performed by a general purposed processor. Other specialized components to aid in performing the inventive functions described herein include one or more field programmable gate arrays (FPGA) (not shown), one or more controllers (not shown), or one or more other special-purpose computer chips.
AS C 1409 can comprise a A/D convenor. The ASIC can comprise a transceiver. The ASIC can comprise further elements considered useful to the skilled person for optimally performing the functions mat are assigned to it.
Specifically the ASIC 1409 is a RF unit comprising a dedicated RF chip for executing the protocol stack of a predetermined protocol for gossip messaging over the mesh network.
The processor 1403 and accompanying components have connectivity to the memory 1405 via the bus 1401. The memory 1405 includes both dynamic memory (e.g., RAM, magnetic disk, writable optical disk, etc.) and static memory (e.g., ROM, CD-ROM, etc.) for storing executable
(operational) instructions that when executed perform the inventive steps described herein to provide awareness information over an gossip network 109. The memory 1405 also stores the data associated with or generated by the execution of the inventive steps. The memory can store operating instructions for the RF unit. The operating instructions can be amended over the end-to- end connection through the adaptor.
The memory can also store instructions comprising messages received over the gossip module. Part of the application layer instructions can be stored in the memory 1405.
Some embodiments of a gossip module i l l comprise a battery 1430. In an embodiment a rechargeable battery 1430 is used. The battery is charged as a result of e.g. a USB connection of the gossip module 111 with a host. The gossip module 111 can comprise an adaptor to allow communication with an interface unit. The interface unit can provide instructions to amend the operating instructions in the memory and/or can read out instructions from the memory, comprising e.g. messages received over the gossip network addressed to that specific gossip module and/or addressed to a unique identifier provided by the interface unit, specifically e.g. a mobile telephone number or other MAC address.
In an embodiment the adaptor is formed by an USB interface 1411. USB interface 141 1 is an example of a preferred connection type to be used for connecting a stand- alone gossip module 111 with a handheld device 101. The advantage of using USB connection is the possibility of portable execution of software applications (analogue to web browsers and VoIP clients) with no need to install them on the host computer. This possibility allows to establish a connection and run a software application on the handheld terminal without the handheld terminal needing to install the software. Furthermore, USB is particularly interesting for its plug-and-play capabilities.
EXAMPLE OF A HANDHELD TERMINAL
Fig. 8 is a diagram of exemplary components of a handheld terminal (handheld device, e.g., handset) capable of operating in the system of Fig. 1, according to an exemplary embodiment. Generally, a radio receiver is often defined in terms of front-end and back-end characteristics. The front-end of the recei ver encompasses ail of the Radio Frequency (RF) circuitry whereas the back- end encompasses all of the ba e- band processing circuitry. Pertinent internal compone ts of the telephone include a Main Control Unit (MCU) 1503, a Digital Signal Processor (DSP) 1505, and a receiver/transmitter unit including a microphone gain control unit and a speaker gain control unit. A main display unit 1507 provides a display to the user in support of
various applications and mobile station functions such as the gossip module i l l.
An audio function circuiiry 1509 includes a microphone 151 1 and microphone amplifier that amplifies the speech signal output from the microphone 1511. The amplified speech signal output from the microphone 1511 is fed to a coder/decoder (CODEC) 1513.
A radio section 1515 amplifies power and converts frequency in order to communicate with a base station, which is included in a mobile communication system, via antenna 1517. The power amplifier (PA) 1519 and the transmitter/modulation circuitry are operationally responsive to the MCU 1503, with an output from the PA 1519 coupled to the dupiexer 1521 or circulator or antenna switch, as known in the art. The PA 1519 also couples to a battery interface and power control unit 1520. In use, a user of mobile station 1501 speaks into the microphone 1511 and his or her voice along with any detected background noise is converted into an analog voltage. The analog voltage is then converted into a digital signal through the Analog to Digital Converter (ADC) 1523. The control unit 1503 routes the digital signal into the DSP 1505 for processing therein, such as speech encoding, channel encoding, encrypting, and interlea ving. In the exemplary embodiment, the processed voice signals are encoded, by units not separately shown, using a cellular transmission protocol such as global evolution (EDGE), general packet radio service (GPRS), global system for mobile communications (GSM), Internet protocol multimedia subsystem (IMS), universal mobile telecommunications system (UMTS), etc., as well as any other suitable wireless medium, e.g., microwave access (WiMAX), Long Term Evolution (LTE) networks, code division mul iple access (CDMA), wireless fidelity (WiFi), satellite, and the like.
In an embodiment the encoded signals are then routed to an equalizer 1525 for compensation of any frequency-dependent impairments that occur during transmission though the air such as phase and amplitude distortion. After equalizing the bit stream, the modulator 1527 combines the signal with a RE signal generated in the RE interface 1529. The modulator 1527 generates a sine wave by way of frequency or phase modulation. In order to prepare the signal for transmission, an up-converter 1531 combines the sine wave output from the modulator 1527 with another sine wave generated by a synthesizer 1533 to achieve the desired frequency of transmission. The signal is then sent through a PA 1519 to increase the signal to an appropriate power level. In practical systems, the PA 1 19 acts as a variable gain amplifier whose gain is controlled by the DSP 1505 from information received from a network base station. The signal is men filtered within the duplexer 1521 and optionally sent to an antenna coupler 1535 to match impedances to provide maximum, power transfer. Finally, the signal is transmitted via antenna 1517 to a local base station. An automatic gain control (AGO can be supplied to control the gain of the final stages of the receiver. The signals may be forwarded from there to a remote telephone which may be another cellular telephone, other mobile phone or a land-line connected to a Public Switched Telephone Network (PSTN), or other telephony networks.
Voice signals transmitted to the mobile station 1501 are received via antenna 1.517 and immediately amplified by a low noise amplifier (LNA) 1537. A down-converter .1539 lowers the carrier frequency while the demodulator 1541 strips away the RE leaving only a digital bit stream.
The signal then goes through the equalizer 1525 and is processed by the DSP 1505. A Digital to Analog Converter (DAC) 1543 converts the signal and the resulting output is transmitted to the user through the speaker 1545, all under control of a Main Control Unit (MCU) 1503- which can be implemented as a Central Processing Unit (CPU) (not shown).
The MCU 1503 receives various signals including input signals from the keyboard 1547.
The keyboard 1547 and/or the MCU 1503 in combination with other user input components (e.g., the microphone 1511) comprise a user interface circuitry for managing user input. The MCU 1503 runs a user interface software to facilitate user control of at least some functions of the mobile station 1501. The MCU 1503 also delivers a display command and a switch command to the display 1507 and to the speech output switching controller, respectively. Further, the MCU 1503 exchanges information wi th the DSP .1505 and can access an optionally incorporated SIM card 1549 and a memory 1551. In addition, the MCU 1503 executes various control functions required of the station. The DSP 1505 may, depending upon the impleme tation, perform any of a variety of conventional digital processing functions on the voice signals. Additionally, DSP 05 determines the background noise level of the local environment from the signals detected by microphone 1511 and sets the gain of microphone 1511 to a level selected to compensate for the natural tendency of the user of the mobile sta tion 1501.
An application 201 allowing interface with the gossip module 111 can be loaded into memory 1551.
The CODEC 1513 includes the ADC 1523 and DAC 1543. The memory 1551 stores various data including call incoming tone data and is capable of storing other data including music data received via, e.g., the global Internet. The software module could reside in RAM memory, flash memory, registers, or any other form of writable storage medium known in the art. The memory device 1551 may he, but not limited to, a single memory, CD, DVD, ROM, R AM, EEPROM, optical storage, or any other non-volatile storage medium capable of storing digital data.
An optionally incorporated SIM card 1549 carries, for instance, important information, such as the cellular' phone number, the carrier supplying service, subscription details, and security information. The SIM card 1549 serves primarily to identify the mobile station 1501 on a radio network. The card 1549 also contains a memory for storing a personal telephone number registry, text messages, and user specific mobile station settings.
In an embodiment the cellular phone number is made available to application 201 and/or the gossip module 111. This allows identifying the mobile station 1501 in the gossip network with the cellular phone number. An originating node 501 can identify the destination node 508 using the cellular phone number of the destination node 508, even though the gossip message is exchanged over the gossip network 109.
A mobile communication terminal, such as a smart phone has processing units and interface (e.g. touch screen) integrally incorporated into a single housing. Every terminal has a wireless communication portion that includes an antenna, transceiver, modem, ADPCM codec and so on, for Wide Area Network communication.
or users, even when a number of terminals are used by one user, each of the terminals has to have its own telephone number, which makes management by a user who has a plurality of terminals cumbersome. These disadvantages make it difficult to use many types of wireless terminals with various forms and functions freely.
To solve the above problems, the applicant proposes a new gossip module that is a separate small module, gossip module, comprising just a radio interface portion that is conventionally incorporated into a mobile communication terminal such as a smart phone.
"SIM" is an abbreviation for "Subscriber identity Module". The applicant also proposes a new terminal (hereinafter referred to as a "jacket" or "base unit") that can accommodate the gossip module of the invention, either using a direct connection such as a slot or insert, or by embedding the gossip module. The gossip module of the invention can be inserted to a corresponding slot of a terminal (i.e., a jacket or base unit). The terminal will have access to the functionalities of the gossip module. In an embodiment the terminal is a device excluding the radio interface portion of a conventional mobile eonimunication terminal (e.g., a device that has a PCM codec, control unit, microphone, speaker, input device, display, battery and the like and has a necessary software and the like implemented thereon).
Use of the eonnectahie gossip module of the invention of compact design also frees communication device manufacturers from burden of developing parts associated wi h the radio interface and enables them to focus on development of software and the like and enhancement of terminal (jacket) functions in a shorter development time.
Companies or organizations that do not have radio interface technologies will be able to develop original terminals (i.e., jackets). In addition to terminals of conventional forms, home electrics, furniture, vehicles, and/or stuffed animals that have necessary components and a slot for the gossip module of the invention can be used as mobile communication terminals.
VYhen a user has a plurality of jackets, the user can do equivalent of model change for a conventional mobile communication terminal by inserting the gossip module of the invention to a desired one of the jackets, thus a user with little technical knowledge can change models easily. Unlike a conventional terminal that is discarded as it is no longer used after a user changes to a new terminal, the gossip module of the invention can be an earth-friendly product that eliminates the need for discard if the module is used in common as a standard device.
The gossip module can be coupled to different terminals. The gossip module functionalities would be available to the terminal if coupled. Coupling to a next terminal will make the functionalities available to the next terminal. E.g. configurations, personal data can be stored on the gossip module.
An exemplary configuration of the gossip module of the invention proposed by the applicant is illustrated in FIG. 10. The embodiment of FIG, 10 is an embodiment of a gossip module of the invention. In the embodiments of FIG. 10-14 the RF module for transceiving gossip messages over the gossip network using a suitable protocol is not shown.
The gossip module 2100 show i FIG. 10 includes an antenna 2102, a antenna switch 2104, a transmission unit 2106, a reception unit 2108, a modulation unit 2110, a demodulation unit 2112, a encoding unit 21 14, a decoding unit 2116, an ADPCM transcoder, a control unit 2120, flash memory 2112, random-access memory (RAM) 2124, a PS 2126, and an interface unit 2128. As can be seen, the gossip module 2100 of FIG. 10 includes components for wireless
communication. It is a multi -function gossip module with versatility, e.g., it can store user data such as a phonebook in the flash memory 2122.
A gossip module is detachably slotted into a mobile terminal having a corresponding slot. A portion of said gossip module is positioned outside said slot.
In another embodiment a wireless connection or another end-to-end connection is established. Here the end- to-end connection comprises an adaptor 21 18 and an adaptor 2302 on the gossip module and the handheld device 2300 respectively.
The appearance of a prototype of the gossip module 2100 is shown in FIG. 11. As an example of its specific size, the module 2100 here is 25.6 mm wide, 42.0 mm long, and 4.0 mm deep; it is very compact compared to a conventional PCMCIA card. USB connecting gossip modules can have very different dimensions.
As shown in FIG, 1 1 , the gossip module of the invention has a handle portion 2102 that is formed of protrasion of the upper end in width direction. This can indicate a portion appropriate as a handle to a user and can prevent the user from inserting the gossip module to a slot of a terminal in the reverse direction. Ease of grasp is also realized by using rubber or thermoplastic elastomer and the like on the handle portion 2102 to make it feel soft. In addition, as shown in FIG. 1 1 , guides 2104 are provided on both sides of pins on the gossip module of the invention so thai pin terminals themselves are exposed as little as possible.
The gossip module of the invention employs a short antenna such as a dielectric chip antenna and the antenna is contained in the opposite side of the module shown in FIG. 1 1. To prevent degradation of radio wave radiation characteristic, the gossip module should be inserted into a terminal when used such that the side on which the antenna is contained is away from the user's head (i.e., is on the back side of the terminal).
Also, as this embodiment of the gossip module of the invention is about 4 mm deep, thinner than the conventional PCMCIA card, antenna can be contained in the module yet the module can be inserted to a USB -enabled adapter, which will be discussed below and shown in
FIG. 13 A, and/or a standard PCMCIA card adapter.
FIGS. 12A and 13.A show examples of terminals that support the gossip module of the invention. A terminal 2300 shown in FIG, 12A is a device that is configured by excluding the radio interface portion such as shown in FIG. 10 from a conventional WAN communication terminal for voice communication and data communication, having an interface for connecting to the gossip module and a slot into which the gossip module of the invention is inserted.
By inserting the gossip module 2100 into the corresponding slot provided on the terminal 2300, the module 2100 can be used for gossip communication.
FIG. 12B shows a block diagram which specifically illustrates the state in which the gossip module of the invention is inserted in the terminal 2300. The gossip module 2100 is connected with the terminal 2300 via the interface 2128. Interface 128 is an example of a suitable adaptor that can be used to establish an end-to-end operational connection between the gossip module and a handheld device.
It will be clear' that in other embodiments terminal 2300 can have more functionalities, e.g. WAN communication functionalities or other PAN functionalities such as Bluetooth or infrared communication.
Arrows in FIG. 12B indicate directions of signal flow. When the terminal 2300 with the gossip module 2100 inserted therein is used for voice communication or data communication, the user's voice is input to the PCM codec 2302 via the microphone 2304 and converted to digital data through pulse code modulation.
The interface 2128 has 18 pins (i.e., signal lines). Specifically, seven pins: TXD (transmit serial data), RXD (receive serial data), RTS (transmitted data ready), CTS (transmission ready), DTR (ready to receive), DCD (data carrier detected), and RI (ring indicator) are used as UART (Universal Asynchronous Receiver Transmitter) serial interface for exchange of control data and data in data communication, four pins: PCM clock signal (PCMCLK), PCM synchronization signal (PCMSYNC), PCM input signal (PCMIN) and PCM output signal (PCMOUT) are used for communicating voice signals, INS (detection signal) is used for recognizing insertion of the gossip module of the invention, two signals, Power Supply (Vcc) and Ground (GND), are used for power supply to the gossip module and grounding, three pins are used for indicating electric field strength (antenna indication) on an external display device such as an LCD and LED on the terminal by means of signals for electric field strength (DISP1, DISP2 and DISP3), and a signal for interface notification (IF__SEL) is used for checking whether a pin is of UART or of another scheme when the pin originally used in UART is made available in another data transfer scheme other than UART.
In an example voice data encoded by a PCM codec 2302 is input to the ADPCM iranseoder of the gossip module 2100 via one of the four pins and converted to ADPCM- modulated data.
Output signal from the ADPCM transcoder is code-converted to e.g. a baseband signal (2114), and further converted to modulated wave of 1.9 GHz band by the modulation unit 21 10 and transmission unit 2106 and wirelessly transmitted to a base station via the antenna switch 2104 and the antenna 2102. On the other hand, data input by the user on an input device such as a keyboard. 2310 of the terminal 2300 is input to a terminal control unit 2308, and further input to the control unit 2120 of the gossip module 2100 via a pin as UART serial interface of the interface 2128. The data signal is input to the encoding unit 21 14 and then, similarly to voice signal, wirelessly transmitted to via the modulation unit 2110, transmission unit 2106, antenna switch 2104 and antenna 2102.
A wireless signal transmitted from a further gossip module in a network of configured gossip modules is received by the antenna 2102 and then inputted to the reception unit 21.08 by the antenna switch. After the received signal (of 1.9 GHz band, for example) is amplified and frequency- converted at the reception unit 2108 and demodulated into a baseband signal at the demodulation unit 2112, ADPCM voice signal or data signal can be obtained by the decoding unit 2116.
Any suitable coding/decoding can be used. In other embodiments coding 2114/2116 is left out.
The ADPCM voice signal is input to the ADPCM transcoder to be converted to PCM voice signal. The PCM voice signal is further input to the PCM codec 2302 of the terminal 2300 via a voice signal pin of the interface 2 28 and converted to analog signal to be output via the speaker 2306. The user can hear the output voice. On the other hand, data signal input from the decoding unit 2116 to the control unit 2120 is input to the control unit 2308 of the terminal 2300 via the UART pin of the interface 2128, and shown on the display 2312 provided on the terminal 2300 on the user's demand.
The flash memory 2122 contained in the gossip module 2100 of the invention stores specific information such as a unique identification number (unique for the gossip module 2100, similar to e.g. a telephone number), Personal Identify Number (PIN) and Personal Unblock Key (PUK) of the gossip module and data for a phonebook, and the RAM 2124 is used for temporarily storing control data and/or transmitted/received data. The flash memory 2.122 can also store and allow amendments to operating instructions of the RF unit arranged to connect to the mesh network.
FIG. 13A shows another embodiment of a gossip module 2400. Gossip module 2400 has a USB interface 2401 for connecting to a PC or mobile communication terminal such as a smartphone. The gossip module 2400 exchanges data with a PC and the like connected to the gossip module 2400 via the USB control unit 2402 and the USB interlace 2428.
Use of the gossip module of the invention allows an independent module having a radio interface to be inserted to various terminals having various functions and the terminal can be used as a gossip communication terminal that is capable of wireless communication over a PAN/ gossip network. Thus, the gossip module having the configuration shown in FIG. 10 can be utilized in various manners as required by users' needs.
The gossip module of the invention and corresponding various types of terminals 2300 provide the capability to confirm if the gossip module is being inserted in the terminal. To be specific, the present invention employs pin "INS", one of 18 interface pins provided by the gossip module, as a signal line for confirming insertion. For example, the terminal control unit 2308 can determine whether the gossip module is now inserted or not by making voltage on the signal line when the gossip module 2100 is not inserted in the terminal 2300 of FIG. 12A assume a value different from that for when the gossip module 2100 is inserted in the terminal 2300. Based on a result of detection, the terminal control unit 2308 informs the user whether the gossip module is being inserted or not through indication on the display 2312.
Assume that the gossip module 2100 of the configuration shown in FIG. 12B is removed from a first terminal and inserted to another second terminal. In this embodiment it can be advantageous to allow the second terminal to access data such as history data with respect to communication of the first terminal over the gossip module. Also data from the first terminal (e.g., phonebook data) can be stored into the Hash memory 2122 of the gossip module. The data is copied from the first terminal onto the flash memory 2122.
In an embodiment data stored in the flash memory 2122 of the gossip module can be copied onto the new terminal.
When the user disconnects the gossip module during data exchange between the gossip module and the terminal, data stored in memory might be corrupted. To solve this problem, with the jacket of the invention, when it is confirmed through signal lines, INS, TXD, RXD, TS, CTS, DCD and RT that the gossip module of the invention is being mounted, that the jacket itself is performing the process of entering data transfer mode, and thai data is going to be transmitted from the gossip module in response to instructions from the jacket, and when the jacket control unit 2308 recognizes that data is being exchanged, the user is informed that data is being exchanged with indication on the display 2312, for example.
For a typical UART (serial) interface, a baud rate of 230.4 kbps or 11.5.2 kbps is generally used. A clock generator can be additionally provided. To save power an embodiment of the gossip module employs baud rates that can be generated from the clock signal of the mobile terminal, such as 240 kbps and 120 kbps, as baud rates used for 11 ART interface.
In an embodiment of the gossip module of the invention, input data received by the gossip module from the mobile terminal, is processed (error correction processing circuit, decoding, conversion) on the gossip module. This allows amending the input data to specific specification for transmitting the input data over the gossip network. Since e.g. correction of errors caused during a radio link layer is all done on the gossip module in the arrangements of the gossip module of the invention and the jacket, mere are no need to provide a pin for error information notification in the interface, no need to have the CPU of the terminal always operate for error correction, no need to use an expensive CPU in the jacket, and no need for a manufacture that develops jackets to have technologies associated with error correction. Further, gossip modules can support a new encoding technique For users, it is possible to purchase only a gossip module of a new scheme and continue to use a favorite jacket without buying new one, which can provide more flexible usage than conventional one-piece PHS communication terminals or the gossip module and the jacket shown in FIG. 12B.
The gossip module proposed by the applicant contains an antenna. Problems of noise emitted by other devices in the gossip module can occur. FIG. 14 illustrates the positional relationship between the antenna and other devices in the gossip module. Knowledge that was obtained through experiments by the applicant proved that the distance of at least 3 mm between the antenna and other devices can keep noise floor emitted by the devices below a practically required level.
In an embodiment A Personal Identity Number (PIN) and a Personal Unblock Key ( PI K i are stored in the flash memory (2122) in the gossip module of the invention, and a program for authentication using those personal numbers is stored in ROM (Read-Only Memory) not shown. When the gossip module is inserted in a terminal or when the terminal is turned on with the gossip module inserted in it, power is supplied to the gossip module, causing the program to opera te to transmit a predetermined signal to the jacket via one of UART signal lines and prompt the user to input the PIN on the display, for example. After the user inputs a wrong PIN more than a predetermined number of times, the program locks the operation of the gossip module, preventing the user from using the gossip module unless the user inputs the correct PI K on the jacket. 'This can keep the confidentiality of data in the gossip module and prevent theft by a malicious another person even if an another person tries to insert another user's gossip module to another jacket and use it.
it should be noted that the gossip module can remain On' even if the terminal connected thereto is turned off. The gossip module can function as a node also when the gossip module is disconnected. The gossip node can comprise a battery to allow stand alone operation.
The gossip module of the invention has the capability to stop radio wave emission instantly (flight mode) without turning off the power switch. This radio-stop mode capability is especially convenient in a situation in which the emission of radio wave from the gossip module is undesirable. When the user instructs the radio-stop mode by operating the terminal (e.g., by pressing a button for transmission pause provided on the terminal), the terminal control unit recognizes the instruction and communicates a AT command for the radio-stop mode to the control unit of the gossip module via a pin for control signal among U ART signal lines of the interface. The control unit of the gossip module recognizes that the AT command indicates the radio-stop mode, and controls the antenna switch (2104), transmission unit (2106), modulation unit (2110), and encoding unit (2114) to suspend their operations.
In an embodiment the gossip module of the invention i configured to inform the user that the electric field strength of received radio waves over the gossip network has weakened when the module detects it by sounding an alarm, for example an alarm on the mobile terminal. The control unit of the gossip module of the invention can monitor electric field strength of radio wave received by the gossip module. When measured electric field strength is below a predetermined level, the control unit of the gossip module can send an AT command indicating that electric field strength has weakened (i.e., the module is coming closer to a boundary of service area) to the terminal control unit via the UART signal line. The terminal control unit recognizes the situation from the AT command and outputs a predetermined alarm sound from a speaker.
The gossip module of the invention can have the function of automatically detecting the baud rate of a terminal. That is, at the initial negotiation between the gossip module and a terminal, the terminal sends a predetermined AT fixed word to the gossip module at a baud rate specific to the terminal. There are eight baud rates, 2,400, 4,800, 9,600, 19,200, 38,400, 57,600, 120,000, and 240,000 bps, for UART interface supported by the gossip module, and the gossip module determines the baud rate at which the terminal sent the fixed AT word and fixes the subsequent baud rate at the determined baud rate. This method enables terminals having various usages to specify baud rates optimal for them by themselves.
PROTOCOL/LAYERS ILLUSTRATED USING ZIGBEE
The Zighee wireless sensor network technology is researched and developed based on the standard IEEE 802.15.4 communication protocol. Zigbee has a transmission range with a radius of 10 to 100 meters, and supports a transmission data rate of 20 to 250 Kbps.
ZigBee, which is a low-rate wireless personal area network (LR-WPAN) protocol standardized by the ZigBee Alliance, is a protocol developed to be suitable for a small-scale low- power wireless sensor network, in which standards related to structure, routing, and security of a network are defined. As an emerging wireless networking communication technology, Zigbee is characterized by short distance, low rate, low cost, low power consumption, and so on, and is gradually applied in telecommunication systems, resulting in mobile terminal devices having a Zigbee function.
ZigBee is one of the short-range radio frequency communication standards and classified into the radio frequency communication standard which uses sixteen channels into which divided is the same frequency bandwidth of 24 GHz as the wireless local area network (LAN) standard, IEEE 802. l ib.
in addition, there is also a mobile terminal device including an IEEE 802.15.4 physical layer based transceiver and a handset processor, where the IEEE 802.15.4 physical layer based transceiver directly communicates with the handset processor, and the handset processor needs to receive and process data packets from the Radio Frequency (RF) space in real time and send data packets to the RF space.
Zigbee-related functional modules are implemented in a Wireless Internet Platform for Interoperability (WIPI) in the handset processor, and the handset processor includes an IEEE 802.15.4 transceiver driver, a transceiver hardware abstraction layer, a WIPI real-time engine, an application manager, and a WIPI application platform. The WIPI application platform includes a Zigbee control application, a Zigbee user application, a Zigbee control interface, a Zigbee network interface, and a Zigbee support" interface. Therefore, the handset processor not only needs to process handset applications, but also is burdened with the tasks of the Zigbee network layer, such as establishing and maintaining a Zigbee network.
Hereunder the protocol and layered model of a gossip protocol that can be used in combination with the invention is illustrated by referring to Zigbee. Clearly other protocols could be applied and similar results can be achieved.
A relevant ZigBee wireless communication protocol is used together with the IEEE 802.15.4 protocol, which is a standard of the physical (PHY) layer and the MAC sub-layer, to implement ubiquitous application services.
Techniques of the ZigBee wireless communication protocol are expected to take an essential part in implementing a ubiquitous environment such as a home network, a process control, a smart grid, an Advanced Metering Infrastructure (AMI), a u-City, or the like.
As a communication layer model, the protocol configuration of ZigBee for use in the short- range radio frequency communication includes from lower to higher, for example, a physical layer and a data link layer of the international standard IEEE 802.15.4 for WL-PA (Wireless Personal Area Network), over which are standardized a network layer, a transport layer, a session layer, a presentation layer and an application layer.
The physical layer has a data transmitting and receiving function such as a received-power measurement, a link-quality notification and the CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) which checks the channel usage. When setting up a network, the physical layer can measure the recei ved power on respective channels to locate a channel which has its power least interfered with from other systems. Also provided is a mechanism for changing the communication channel when the channel being used is degraded in quality. The physical layer is specified as ha ving, for example, a frequency of 2.4 GHz on sixteen channels with a modulation scheme of O-QPSK (Quadrature Phase Shift Keying) and a diffusion scheme of DSSS (Direct Sequence Spread Spectrum) at a data rate of 250 kbit s, and is available all around the world.
The data link layer has a Media Access Control (MAC) layer which is a data-format process layer. The network layer manages the data transfer between two nodes connected on the network. The transport layer manages the communication. The session layer performs management from the start to the end of the communication. The presentation layer manages the interface between the application and session layers.
The MAC layer in the data link layer defines a beacon mode for the intermittent operation and the bandwidth assurance communication, and a non-beacon mode for the direct communication between all nodes. The beacon mode is for use in the star type network which centers on a network management node referred to as a PAN (Personal Area Network) coordinator. The PAN coordinator periodically transmits a beacon signal. Synchronously with the beacon signal, other nodes communicate within the allocated period. Only one of the nodes which is allocated by the coordinator can occupy the channel to communicate without confiiction. The beacon mode is thus used in the communication which requires a lower delay. The non-beacon mode is a mode in which a continuous channel access is performed in CSMA-CA. If the non-beacon mode is used in a mesh type of link which directly communicates with nodes therearound, the nodes can always directly communicate with each other. Every node, however, has to be always on standby so that they can receive a data addressed to them. The non-beacon mode thus cannot save power with the intermittent operation unlike the beacon mode.
When the non-beacon mode is used in a star type of link, only a base station is rendered operative to be ready to receive signals and end devices intermittently stop and wait to thereby save power on the end devices. In this method, the end devices periodically send out requests to the base station before receiving the downstream data, thereby causing a transmission delay in the downstream communication. It is, however, possible with the CSMA-CA to establishing a constant upstream communication from the end devices which is the predominant data flow on the sensor network.
The ZigBee network in the network layer has a cluster -tree structure which integrates the star-type topology with the mesh-type topology regulated under the IEEE 802.15.4. The ZigBee network includes a ZigBee coordinator, ZigBee routers and ZigBee end devices. The coordinator and routers implement a PAN coordinator function and form a star link or cluster. Between the coordinator and the routers, a mesh link is formed to provide a multihop network.
End devices are connected to the coordinator or routers by the star link to participate in the network. The end devices communicate in a multihop fashion via a router to which the end device 13 is connected to communicate with other end devices connected to the network.
The transmitting and receiving data format for use in the physical layer includes the fields,
Preamble Sequence which is a signal for synchronization, Start of Frame Delimiter which is a transfer- start signal, Frame Length representing a data length in bytes from the field Frame Control to the field PCS (Frame Check Sequence), where one byte includes eight bits. The field, Frame Control, is a signal defining the data type. The data type includes the frame type of representing Beacon, Data, Acknowledgement or Command, an address type of a source and a destination in a
16-bit mode and a transfer mode representing a security mode or a through mode. The field, Sequence Number, include3s an identification signal representative of a sequence number during transfer. The field, Addressing Field, includes the address of a source or destination. The field, Addressing Field, is variable from zero byte to 21 bytes, depending on the value of the field, Frame Control. The field, Data Payload, is representative of a transferable data amount from zero to 122 bytes. The field, FCS, includes a data check, e.g. frame check sequence, signal. The data are transmitted and received in the data format as described above.
Radio frequency LSIs for ZigBee are specified differently depending on functional blocks implementing the physical layer, data link layer and network layer. For example, the articles authored by S. Fukunaga, et ai., and T. Ichikawa, et al, stated earlier teach, by contrast to a technology which integrates on a single semiconductor chip only a radio frequency transmitter and receiver, sometimes referred to as "RF portion", and a physical layer portion to provide a radio frequency LSI, the RF portion including an analog radio frequency circuit for transmitting and rreceiving data with a radio frequency (RF) signal, with the MAC layer implemented by software, or program sequence, running on a host central processing unit (CPU), a technology which integrates on one semiconductor chip an RF portion, a physical layer portion, and a MAC layer portio to provide a radio frequency LSI fully compliant with IEEE 802.15.4, wherein a complicated MAC process is implemented by the radio frequency LSI and a ZigBee network can be implemented and controlled with a host processor with lower performance, such as 8-bit processor.
in either of such radio frequency LSIs, the physical layer controls the transmission and reception of the data, and the data link layer analyzes the transmitted and received data to determine the transfer in the through mode or in the security mode. In the security mode, the data link layer performs encryption/decryption before passing the data to the next layer. The network layer transmits and receives the data to and from the host processor using a serial circuit or the like.
In ZigBee transmission, when the RF portion receives an RF signal carrying data, a demodulator demodulates the signal into symbols conveying a message. The received data have the data length thereof up to 133 bytes. Specifically, the frame, Frame Length, defines a data length up to 127 bytes. Up to the data length of 127 bytes in total, each field can have any number of bytes, so that the data length of up to 133 bytes may be calculated in the following manner that four, one, one and 127 bytes of fields, Preamble Sequence, Start of Frame Delimiter, Frame Length, Frame
Control and FCS, respectively, the total being 33 bytes.
The physical layer then temporarily holds the received data of up to 133 bytes for passing the data to the data link layer following thereto. The physical layer converts the symbol data into byte data. One symbol is received for 16 microseconds, and two symbols form one-byte data. After receiving ail the data, the data link layer determines the transfer mode and starts sucking the data.
The transfer mode for the received data is determined depending on the values of the fields, Frame Control and Addressing Field. Generally, that determination is made by the MAC layer. The processed data are then passed, or transferred (in the through mode/security mode) to the network layer. The network layer transmits, or transfers, the data to the host processor.
Where a radio frequency LSI contains the function of a MAC layer associated with a data link layer as its functional block, the radio frequency LSI can perform thereinside ail of a series of processing received data. However, where the function of a MAC layer is provided in a host processor positioned outside a radio frequency LSI, the radio frequency LSI temporarily holds the received data thereinside, waiting for determination made by the MAC layer provided outside. The network layer in turn transmits, or transfers, the data, such as Frame Control and Addressing Field, necessary for determining the transfer mode to the outside M AC layer. The MAC layer determines the transfer mode, through mode/security mode, and thereafter the MAC layer notifies the inside of the radio frequency LSI of the result from, the transfer mode determination to restart the transfer.
Any of the layers of the gossip protocol, or specifically the Zigbee protocol as described above, can be processed in the RF unit of the gossip module. This will allow to process the gossip protocol stack on the gossip module, separate from the handheld unit to which the gossip module can be connected over the operational end-to-end connection. This reduces the burden on the processor of the handheld terminal.
Further operating instructions can be sent over the end-to-end connection from the handheld terminal to the gossip module. The operating instructions can be part of the application layer. Instructions from, the handheld terminal inputted using the interface of the handheld, will influence the messages sent by the RF unit into the mesh network. Otherwise messages received over the mesh network, in an embodiment specifically directed at the handheld or that specific gossip module, can be received and output to the handheld to be displayed (or otherwise made available to the user) using the end-to-end connection with the handheld.
In an embodiment messages received over the mesh network are stored in the gossip memory. Stored messages are sent over the end-to-end connection only after establishing that end- to-end connection. This allows storing messages and avoids the loss of messages. Further messages can be received while the gossip module is disconnected from the handheld terminal.
PROTOCOL & SECURIT Y
If the ubiquitous application services are implemented using the ZigBee wireless communication protocol techniques while the problems of security vulnerability are not solved, the ubiquitous application services may not succeed in the market due to the serious security vulnerabilities.
The conventional ZigBee wireless communication protocols provide security functions for outgoing messages to each of the network layer and the Application Support Sublayer (APS), and define a number of security functions such as a method of setting keys among ZigBee nodes, a method of transmitting the keys, and the like. In addition, a master key, a network key, and a link key are defined in the ZigBee environment, and they are defined in the standard specifications to provide a suitable security function as needed.
The concept of secure communication among nodes configuring a ZigBee-based multiple wireless sensor network is as shown in FIG. 15.
First, the wireless sensor network includes a sensor node 3010 functioning as a gateway and sensor nodes 3021, 3022, 3023, 3031 and 3032 configuring a sensor field.
The sensor nodes configuring the sensor field can be configured in a topology of a star, a tree, or a mesh depending on the configuration method of a network.
'The sensor node 3010 functioning as a gateway receives information from the sensor nodes configuring the sensor field and provides the information to an external application service, and receives a control command from the external application service and transfers the control command to the sensor nodes configuring the sensor field.
In order to perform secure communication among the sensor nodes, the sensor node Al
3021 and the sensor node G 3010 share secret key information referred to as KA. The secret key value is used as a key value of the Advanced Encryption Standard (AES) encryption algorithm and provides confidentiality and integrity of communication data between the sensor node Al 3021 and the sensor node G 3010. This is described by a mathematical expression such as E(KA, Packet) 3040 of FIG. 1.5, which means that communication data Packet is encrypted into E (Encryption) using the key value KA.
FIG. 15 shows the concept of secure communication between groups, and there are two groups, i.e., group A and group B.
Group A 3020 includes sensor nodes Al 3021, A2 3022, and A3 3023, and the group B 3030 includes sensor nodes B l 3031 and B2 3032. Each of these groups shai'es its own group key KA or KB with the sensor node G 3010 and uses a corresponding key for secure communication within the group, communication between the group and the sensor node G 3010, and communications between group A and group B.
For example, in the case where group A communicates with the sensor node G 3010, group A uses KA as shown in E(KA, Packet) 3040, and in the case where group B communicates with the sensor node G 3010, group B uses KB as shown in E(KB, Packet) 3050.
The concept of secure communication proposed herein is a very important concept in a real wireless sensor network environment. Examples of the cases where secure communication is needed between groups will be described below.
For better understanding, it is assumed that group A and group B are wireless sensor networks installed in different homes in an apartment complex. At this point, group A and group B communicate using different encryption keys (i.e., the same encryption key within the same home), and the property management office of the apartment has KA and KB in order to process important information transmitted from the wireless sensor network installed in each corresponding home.
APPLICATIONS USING ZJGBEE AS AN EXAMPLE PROTOCOL The embodiments described herein provide an improved communication network comprising one or more smart appliances as well as other devices, as well as methods of establishing and managing the network. Although the embodiments described below are set out with reference to a home area network such as may operate in a residential location, with appliances, heating and cooling systems, and controllers for use with particular types of commodities supplied by utilities- i.e., natural gas, electricity, water, and so forth- it will be appreciated that these are provided as non-limiting examples, and that the embodiments described herein, their systems and methods, are also applicable to other devices, utilities, commodities, appliances, and both home and industrial locations. i accordance with the embodiments described herein, there is provided a gossip module for use in a consumer device, the communications module comprising a RF unit having a wireless transceiver adapted to communicate over a wireless link using a suitable protocol; an interface for communicating with a host processor of the consumer device; and a controller in communication with the memory, the wireless transceiver, and the interface, in which the processor is configured to receive scheduled event data over the wireless link on behalf of the host processor; schedule events for the host processor using the scheduled event data thus received; and transmit commands for said scheduled events to the host processor for execution. There is also provided a consumer device with a host processor and the gossip module (either embedded or connected thereto using a suitable end-to-end connection). EXAMPLE APPLICATION IN A HOME AREA NETWORK
Turning to FIG. 16, an exemplary network topology for a home area network (HAN) 3100 for control and management of home appliances devices is shown. HAN 3100 provides communication links with one or more devices, such as smart meters 3120, 3130, an in-home display 3140, a home energy management console 3150, and smart appliances 3160a,. n, 3! 62a,.n, 3164a.. n, and 3166a,. n. Each of the smart appliances 3160a. n, 3162a.. n, 3164a.. n, and 3166a.,n may be defined within the HAN 3100 as a particular device type; for example, appliances 3160a..n may comprise lighting fixtures; appliances 3162a. n may comprise major household appliances, such as refrigerators; appliances 3164a.. n may comprising heating and cooling appliances such as HVAC units; and appliances 3166a. n may comprise other devices, such as entertainment and personal devices (televisions, personal computers, and the like). Each of the individual devices
3160a.. n through 3166a..n may comprise an individual node in the network 3100, each comprising its own radio module for communicating with the gossip module 31 10 and/or other devices on the network; alternatively, multiple devices may be comprised in a single node, and may communicate with the other devices on the network through a shared radio module.
in this example the gossip module 31 10 is shown disconnected from a handheld terminal. It is operating as a stand-alone device. The gossip module can have operating instructions included in the memory, programmed by a handheld device over the end-to-end connection established by a suitable adaptor. The RF unit of the gossip module 3110 allows stand alone operation, using a suitable protocol, such as Zigbee.
The gossip module 3110 or another designated device in the network 3100 may be designated as the network trust center in accordance with the ZigBee protocol. The trust center device is used for distribution of security keys to other network devices. The remaining devices in the network are provided with the address of the trust center and a master key for use in communication with the trust center. The gossip module 3110 can also store in its local nonvolatile memory addressing and application information for each device in the HAN 3100 for use in managing the various devices on the network.
While communication among the various elements of the HAN 3100 may be effected over fixed (wired) links, wireless communication links may be established among the devices, thus affording a measure of flexibility in the physical arrangement of devices in the HAN 3100.
individual devices 3120 through 3166a.. may therefore be equipped with a RF unit comprising an RF transceiver. Wireless communication within the HAN 3100 may be configured in accordance with a known wireless communication standard adaptable for use in the HAN environment. Those skilled in the art will appreciate that a most suitable wireless communication standard is one that provides reliable data delivery among the devices of the HAN 3100 with low latency and at comparatively low cost. Because of the nature of communication among the devices of the HAN 3100, and the need to maintain transceiver modules in all devices in the HAN 3100,
implementation of a standar requiring relatively low transmission power, which will prolong battery life in devices on the HAN 3100.
In particular, the HAN and the devices therein may be implemented with radio modules and host processors adapted to operate in compliance with the ZigBee(R) 1,0 or later specification, based on or incorporating portions of the IEEE 802.15.4-2003 wireless communication standar
("Standard for Information Technology Telecommunications and nformation Exchange between Systems - Local and Metropolitan Area Networks - Specific Requirements Part 1.5.4: Wireless Medium Access Control (MAC) and Physical Layer (PHY) Specifications for Low Rate Wireless Personal Area Networks (WPANs)", New York: IEEE Press, 2003). A ZigBee network typically employs a mesh topology; thus, devices 3120 through 3166a..n may communicate with the
GOSSIP MODULE 3110 directly, or else with the GOSSIP MODULE 3110 through neighbourmg devices via the shortest or a preferred communication path. The arrows in FIG. 16 illustrate possible communication paths within a HAN 3100 implementing the ZigBee specification.
The ZigBee specification may optionally be implemented in accordance with one or more of application profiles developed for use with the ZigBee specification, such as the Smart Energy Profile Specification, Revision 15, 2008 or the Home Automation Profile Specification. These profiles define messages, message formats and processing actions relevant to management of energy-consuming devices and automation of electrical devices within the home, respectively, to provide for interoperability among ZigBee- compatible devices. The ZigBee specification and the Smart Energy and Home Automation Profiles are published by the Zigbee Alliance, and are available from http://www.zigbee.org. The foregoing references are incorporated herein by reference. Of course, other standards, specifications and profiles may be employed.
A example block diagram of example components of the various devices 3120 through 3166a. n is provided in FIG. 17. A typical device 3200 may be provided with a host processor 3210, which may be configured to control the functions of the device 3200. The host processor 3210 may send data to and receive data from an RF transceiver 3260, and thereby communicate with the HAN 3100. The RF transceiver may be provided in a separate module 3250.
Communication between the module 3250 and the host processor 3210 may be provided through any suitable interface 3290, such as a universal asynchronous receiver/transmitter, and
implementing any suitable protocol, such as a protocol for serial communication. The module 3250 may be installed in the device 3200 during manufacture, or may be installed after manufacture. If ZigBee-eompatible devices are deployed in the HAN 3100, the devices 3200 may be provided with ZigBee-compatible modules 3250 comprising integrated radios and microcontrollers with on-chip memory, such as the EM250 or EM350 series ZigBee(R) system-on-chip, manufactured by Ember Corporation, Boston MA 02210, or the CC2430 Zigbee(R)/IEEE 80.215.4(TM) system-on-chip manufactured by Texas Instruments Incorporated, Dallas TX 75243.
In addition to the transceiver 3260, the module 3250 may also comprise memory 3270 and optionally secure memory 3320, and a processor 3280. The memory 3270 may include memory for storing applications 3300, an event data cache 3272, and a network configuration data cache 3274. In some embodiments, the processor 3280, the memory 3270, and the transceiver 3260 may all be comprised in a si gle in egrated package such as the aforementioned system -on- chip. In these embodiments, the memory 3270 ma comprise flash memory, a portion of which is devoted to storage of application code and storage of both volatile and non-volatile data, and the remainder of which may be used for manufacturing- related data, such as the MAC address of the module 3250, and other data that may be stored in memory during the manufacturing process, such as security certificates. In these embodiments, there may be no separate
secure memory 3320.
The data store in the network configuration data cache 3274 may include at least a current network time and an identifier for a current network or the most recent previous network to which the module 3250 had been joined. In addition, the network configuration data cache 3274 may include security and device identifier options, such as preconfigured link keys, encryption protocols, and in the case of a device 3200 configured to be used in accordance with a predetermined profile, such as the Smart Energy Profile specification, a profile description device identifier, and identifiers for supported server and client clusters that are supported by the device 3200. The clusters identify the groups of services thai the module 3250 is configured to support. The network configuration data may also include custom profile identifiers for the device 3200. Security options may include identification of the types of encryption and authentication supported by the processor 280, such as elliptical curve cryptography, APS encryption, and processes for generating link keys. The data in the foregoing network configuration data cache 3274 may be modified by the host processor 3210, and are generally set prior to the module 3250 attempting to scan for and join a network. The host processor 3210 may further toggle these security options on and off at the module 3250. Default settings for the da a in the network configuration data cache
3274, such as default settings for link keys, supported server and client clusters, profile description device IDs, security options, and other custom profile IDs may also be stored in the memory 3270. The event data cache 3272 may include data received from, the gossip module 31 10 during the course of normal network operation for controlling the device 3100.
In this embodiment, the event data cache 3272 comprises messages 3275 demand response and load control (DRLC) data 3277, and may include other scheduled event data 3278. Depending on the configuration of the module 3250 and the memory 3270, the event data cache 3272 may be stored in volatile memory rather than in nonvolatile memory.
The processor 3280 may be configured to perform cryptographic operations in accordance with any suitable public or shared secret key cryptographic protocol. As will be appreciated by those skilled in the art, public -key cryptography protocols are widely implemented, and each individual module 3250 may be provided with one or more private keys 3330 and corresponding public keys 3332 for use in encrypted and/or authenticated communications. If the module 3250 includes secure memory 3320, then the private keys 3330 may be stored in the secure memory; otherwise, they may be stored elsewhere in the memory 3270. The private keys 3330 may be used for digitally signing messages for authentication purposes, or other authentication or cryptography- related functions. As noted above, the private keys 3330 may be provisioned during the manufacturing stage, although they may be added to the memory at a subsequent stage, for example during a flash update to the memory 270. The module 3250 may also be provisioned with a corresponding root key from the Certificate Authori ty providing the device's public and private keys 3332, 3330 for use in verifying the digital certificates comprising the module 3250's public keys 3332.
The modules 3250 may also exchange corresponding public keys, as described below, so that messages exchanged by the modules 3250 and gossip module 31 10 may be encrypted. Public keys received from other devices on the network may be stored in the non-secure memory area of the memory 3270. Keys may be read-protected in the memory 3270 or 3330. As can be seen from FIG. 17, the device 3200 communicates wirelessly with the gossip module 3110. FIG. 17 also illustrates the basic architecture of an embodiment of the gossip module 3110, which comprises a transceiver 3340 in communication with a processor 3350 and a memory 3360.
Optionally there may be a secure memory area 3370 for storage of private keys 3372, while non-secure memory 3360 may be used for storing other data, and for example may include memory for storing applications 3362, a network configuration data cache 3364, public key storage 3373, and an event data cache 3365. As with the device 3200, the types of event data stored in the cache 3365 may be determined by a profile or other specification implemented in the HAN 3100. In this embodiment, the event data cache 3365 may comprise messages 3366, demand response and load control data 3368, and other scheduled event data 3369. However, since in an embodiment the gossip module 3110 serves a function as a gateway or server for the other devices 3200 on the HAN 3100, the event data stored by the gossip module 3110 may include data pertinent to multiple devices 3200. Further, since the gossip module 3110 may also operate as a network coordinator, and the network configuration data cache 3364 may store other types of data not typically stored by the other devices 3200, such as a binding table for associating the various modules 3250 within each device 3200 with services provided by the gossip module 3110.
As described above, the module 3250 may be configured to use the ZigBee protocol for network communications. An example of the architecture that may be used in the module 3250 is illustrated in FIG. 18. The physical layer and the medium access control layers 3380, 3382 may be defined in accordance with IEEE 802.15.4, controlling signal transmission over the radio channel and access to the radio channel, respectively. Overlaying the medium access control layer are a network layer 3384, which manages the processes of joining and leaving networks, network discovery, name binding, routing and security, and an application layer 3388, which manages service discovery and binding, forwarding of messages between network devices, and defining coordinator and end device roles for the devices within the network. The functions of the networking layer 3384 and the application layer 3388 are defined by the ZigBee protocol. As will be understood by those skilled in the art, however, development of applications for the ZigBee protocol may consume an inordinate amount of resources that manufacturers of consumer devices 3200 may be unwilling to commit; development of applications for the ZigBee protocol stack requires understanding of the network layer. Furthermore, the host processor 3210 on each device
3200 must be configured to interface with the protocol stack, and to handle all requests and responses for other devices on the same network. This potentially requires a high level of customization of the host processor 3210 and/or the application 3300 that the manufacturer may be unwilling to implement, particularly for devices already in production. For example, having the host processor 3210 of a device 3200 instruct the module 3250 to scan for and join a network requires multiple instructions and acknowledgemen s to be transmitted between the host processor 3210 and the module 3250 to instruct the application 3300 to not only scan for and join the network, but also to embark on key exchange with a server device, issue requests for service endpoinis to discover available services and then request binding to those services, and so forth. Each of these processes may involve multiple steps and interactions between the application 3300 and the networking layer 3384.
Accordingly, the embodiment of FIG. 18 also includes an automation layer 3386, which operates between the application layer 3388 and the networking layer 3384 to provide the application 3300, executing at the application layer 3388, with a simpler interface to the networking layer 3384 and thus to the network. The application 3300 may therefore receive simple instructions from the host processor 3210 to carry out sophisticated tasks, such as service discovery and binding, which in turn are provided to the automation layer 3386. The automation layer 3385 may then translate these simple instructions received via the application 3300 to a series of finer- grained instructions transmitted to through the networking layer 3384.
The process of network joining in the HAN 100 will now be described with reference to RIGS. 19 to 21. The process for a device 3200 to join the HAN 3100 is illustrated in the state diagram 3400 depicted in FIG, 9. When a module 3250 comprised in a device 3200 is initially introduced to the HAN 3100, it may be placed in an initialization state 3410 by its host processor 3210. The initialization state 3410 may be triggered by a reset command received from the host processor 3210, for example as part of a boot up process. The module 3250, not having previously formed part of a network 3414, then enters a network down (i.e., not joined) state 3420 and remains in that state until it transitions to a scanning state 3430.
The module 3250 may be configured to automatically enter the scanning state 3430 upon initialization, or alternatively it may wait until prompted by the host processor 3210 via a scan and join network command 3425. A scan and join network command 3425 may comprise a network identifier directly identifying the network to scan for; for example, in the
ZigBee protocol, a PAN ID and/or an extended PAN ID may be provided, and the gossip module 3110 or another device that is already joined to the network may broadcast the PAN ID or extended PAN ID. The command 3425 may also or instead comprise a channel mask, identifying a range of channels over which the module 3250 may scan for an appropriate network 3100 to join. If the module 3250 fails to locate a channel 3432, it will return to the network down state 3420 and remain in that state until a new command is recei ved to scan and join a network 3425.
Whenever the module 3250 changes its state, a notification may be sent to the host processor 3210 to advise of the module 3250's network status change in a network status response. The host processor 3210 may also request the module 3250's network status in a network status request. In addition to the initialization state 3410, the network down state 3420 and scanning state 3430, it can be seen from FIG. 19 that other states of the module 3250 may include service discovery and binding 3450, key establishment 3440, joined 3460, and secure and unsecure rejoin 3480, 3490.
In some device 3200 environments there may be a large number of compliant networks (i.e., networks potentially conforming to the specified ZigBee Smart Energy profile or other network protocol identified in the scan and join network command 3425) that the module 3250 could potentially join on behalf of the device 3200. If the application 3300 is configured with a hard limit on the number of networks that can be scanned on a given channel (for example 16 or 32 networks), then module 3250 may be unable to locate and join (including establishment of a key agreement) the sought-after network in a network-dense environment. Accordingly, as networks on a given channel are scanned by the module 3250, their detected network information is stored in packet buffers in the memory 3270. These packet buffers may be memory locations predefined by the manufacturer of the system-on-chip comprising the module 3250 for caching packets received over a joined network.
Thus, each time a network is found in a scan, its identifier (e.g., PAN ID and/or extended PAN ID) is stored, optionally together with other network information (as specified for the applicable network protocol) in a packet buffer. The number of packet buffers allocated for caching networks in this manner may be dynamically allocated according to the number of networks detected in a channel. For example, if each buffer is 32 bytes in size and network information comprising the PAN ID and extended PAN ID, which are 2 bytes and 8 bytes respectively, are cached in a record in the packet buffer, then each packet buffer can cache three entire records. If multiple packet buffers are allocated for caching network identifiers in this manner, then a single record can be split over multiple buffers so that each buffer is completely filled (for example, the first buffer may store three complete records, and the first two bytes of a second record).
Once a channel is scanned and the detected networks on that channel cached in this manner, the module 3250 can then proceed to attempt to join the target network, if one target network has been identified, or alternatively the module 3250 may determine which network to join by checking each of the detected networks in turn to determine if a key agreement can be established, as described with reference to the key establishment state 3440, below.
In an alternate embodiment, multiple channels are scanned before any attempt to join or check a network is attempted. In that case, the record for each network cached in the packet buffer will include a channel identifier, thus increasing the cached record size. In further variants, the records may be stored in memory locations other than the packet buffer. If the module 3250 successfully locates and joins a network at 3438, it may automatically enter a service discovery and binding state 3450 in which it attempts to discover services provided by the gossip module 31 10 on the network 3100. The communications between the module 3250 and the gossip module are illustrated in FIG. 20. The communications may comprise a series of requests for descriptors of the services available from the gossip module 3110, and the gossip modules responses to the requests. If the module 3250 is configured to implement a specific profile based on the ZigBee specification, the module 3250 may request descriptors of the clusters (i.e., attributes of the groups of functions) defined in the profile that are available at the gossip module 3110. If A specific profile is implemented, the module 3250 may request descriptors 3505 and receive responses 3510 for the Time cluster; Demand Response and Load Control (DRLC) cluster (request 3515, response 3520); Message cluster (request 3535, response 3540): and Simple Metering (request 3545, 3550). The responses from the gossip module 3110 will indicate whether these services are available to the module 3250, and will identify the addresses or endpoints for each of these services. The identified endpoinis received in response by the module 3250 may be stored in the memory 3270 for use in addressing messages to those particular service endpoints during subsequent communications. The requests need not be presented by the module 3250 in the order indicated in FIG. 20. If one or more of the services requested by the module 3250 is not available, the gossip module 31 10 may return an error in response to the request.
However, such an error may be considered transient and the module 3250 need not return to the network down state 3420 or reattempt to locate and join a network. Instead, the module 3250 may proceed to request descriptors for other clusters from the gossip module 31 10, or alternatively may proceed to complete binding to the clusters that are available on the gossip module 31 10.
During the process of service discovery, timeouts may be experienced while the module
3250 awaits a response to a request from the gossip module 3110. If a timeout 3456 occurs during service discovery, the module 3250 may presume that it has lost connectivity with the network and may return to the scanning state 3430, at which point it may resume scanning for a network as described above. Such a timeout error may be considered to be a terminal error, resulting in the module 3250 transitioning to a different state to handle the error.
The module 3250 and the gossip module 3110 may be adapted to communicate securely.
Therefore, the network joining process will include a key establishment process tha t takes place before service discovery and binding. Once the module 3250 has successfully located a network to join 3436, it enters a key establishment state 3440 during which the gossip module 3110 and the module 3250 negotiate encryption or authentication protocol information. Turning to FIG. 21, the key establishment process may be initiated by the gossip module 3110 at 3705 upon detection of the device 3200 on the network 3100. The module 3250 then responds with a request 3710 for an identification of the key-based services provided by the gossip module 3110, to which the gossip module 3110 responds 3715 with an identification of the encryption and/or authentication protocols supported by the gossip module 3110. The module 3250 may then transmit a key establishment response 3720, identifying the protocol or protocols to be used in communications between the module 3250 and the gossip module 3110, based on the security options stored in its memory 3270. The response may further include a copy of the module's public key certificate comprising its public key
3304. Any errors 3442 encountered during the key establishment process may be considered terminal errors, causing the module 3250 to return the scanning state 3430, where it will again attempt to locate and join a network.
Errors may occur, for example, if the response from the gossip module 3110 to the request 3710 for identification of key -based services indicates that none are provided, if key exchange is not completed within a predefined period of time, or if it is determined that the module 3250 lacks a valid certificate. Upon successful completion of the key establishment process 3444, the module 3250 may enter the service discovery and binding state 3450 described above. In the embodiment described above in which the module 3250 caches network identifiers for each network found during a channel scan, if an error is encountered and the module 3250 re-enters the scanning state 3430, the module 3250 can then retrieve the network identifier stored in a next record in the packet buffer and re-attempt the key establishment process with the network identified in that next record. By retrieving the previously cached network identifier, a further network scanning step is avoided.
Once in the joined state 3460, the module 3250 may, in response to an explicit command from the host processor 3210, transition from the joined state 3460 by leaving the network. The module 3250 may then, in response to a further command, attempt to join a new network or the previously joined network. The module 3250 may alternatively attempt to rejoin a network, for example in the case where the host processor 3210 determines that there has been a loss of communication with a currently joined network. For example, a leave network command may be received 3464 from the host processor 3210. The module 3250 will then leave its current network 3100 and not attempt to scan for any networks, and return to the network down state 3420. The module 3250 may only leave the network down state if it receives a command 3425 to enter the scanning state 3430, described above. If the module 3250 receives a command from, the host processor 321.0 to leave the network, then network configuration data stored in the configuration data cache 3274 may then be deleted from the memory 3270.
If the module 3250, while currently in the joined state 3460, receives a scan and join command 3462 from its host processor 3210, the module 3250 may leave the network 3100 (and may again delete the network configuration data from the cache 3274), then enter the scanning state 3450 to scan for a new (or the same) network to join. The scan and join command 3462 may comprise a PAN ID or Extended PAN ID and channel mask value, thus directing the module 3250 to enter the scanning state 3430 and scan for and locate a network on a particular channel or a channel matching the mask. If the network identified in the scan and join command 3462 is a different network 3.100 than the network to which the module 3250 is currently joined, the module 3250 will leave the current network and enter the scanning state 3430, proceeding with optional key establishment and service discovery and binding as described above. If the scan and join command identifies the same network as the one to which the module 3250 is currently joined, the scan and join command is effectively operates as a rejoin command 3482, and does not delete any of the current network configuration data from the network configuration data cache 3274; the module then enters the rejoin state 3470, and re-scans for the same network it had previously been joined to based on the currently stored network configuration data, attempting to match its PAN ID and Extended PAN ID to any networks located.
In a further embodiment, the module 3250 is configured retain the cached network configuration data in the configuration data cache 3274 even once the module 3250 has left that network. The cached network configuration data is used to periodically poll other networks for data even when the module 3250 has not received an express instruction to join those other networks. When the device enters a "sleep" mode (e.g., when the module 3250 has not received any messages from the currently joined network within a specified period of time, or when the device has entered an inactive or sleep state), the module 3250 periodically wakes up, leaves its current network (if currently joined), joins and polls a network for which cached configuration data is available to obtain any relevant messages, then returns to sleep mode. In this manner, the module 3250 can cycle through each of the cached networks represented in the configuration data cache 3274.
The module 3250 may also enter the rejoin state 3470 in response to a power-up or a detected connection disruption. For example, the module 3250 may be configured to periodically poll the gossip module 3110 while in the joined state to verify the state of its connection to the network, and to expect a response within a predefined period of time. The request transmitted to the gossip module 3110 may be a query for the gossip module 3110's network time. If this heartbeat response is not received within the predetermined time frame (for xample, every 5 minutes), the module 3250 may send an error message to the host processor 3210, and transition to the rejoin state 3470 to attempt to repair the connection. Loss of the heartbeat signal is therefore considered a terminal error. As another example, if the module 3250 may transition to the rejoin state if it experiences a timeout during an attempted synchronization of data between the gossip module 3110 and the module 3250.
The device 3200 may be a client of Demand Response and Load Control (DRLC) cluster, adapted to receive events from the gossip module 3110. As shown in FIG. 22, upon synchronizing with the gossip module 3110, the module 3250 may transmit a get scheduled events command 381.0. The command may include a limit value, identifying the number of events to be retrieved from the gossip module 31 10. In response, the gossip module 3110 may transmit any scheduled events 3815 identified for that module 3250. The limit on the number of scheduled events to be transmitted to the module 3250 may be predefined; for example, the gossip module 3110 may transmit only the three most recent events to the module 3250, as the module 3250 may be configured to store only a limited number of events in its memory 3270. 'The number of events may be determined based on available memory 3270 for storing scheduled events instead as part of the operating instructions,
The most recent events are typically those with a scheduled start time closest to the present time, although events defined in the DRLC cluster may be associated with future time periods. Therefore, received scheduled events are cached by the module 3250 until the time of execution, at which point the module 3250 relays that event to the host processor 3210 as a demand response event start message 3820. When the event is complete, or the duration associated with the event expires, it may be cancelled, and the module 3250 may transmit a demand response event stop message 3825, and delete the event from its memory 3270. The host processor 3210 may respond to an event start message 3820 with an opt in or opt out message 3835, indicating whether the host processor 3210 will comply with the event indicated in the event start message 3820 or not.
For example, a utility may push to the HAN 3100 a request for devices on the network to reduce energy consumption during a specified period of time. This request may be transmitted to the module 3250 from the GOSSIP MODULE 3110 in the form of a scheduled event message, which in turn is transmitted to the host processor 3210. The host processor 3210 may then cause a message to be displayed at a user interface in communication with the processor 3210, requesting user confirmation that the device is to participate in the request. If a response from the user indicating confirmation is received, the processor 3210 may then respond with an opt-in message 3835. If the response received from the user indicates that the device is not to participate, then the message would then indicate that the device is opting out of the request. Similarly, informational messages may be pushed to devices in scheduled
event messages, which may then be displayed to a user who is then requested to confirm, via a user interface on the device, that the message was received and/or read. This confirmation may he transmitted at 3835 as well.
The gossip module 3110 can be a separate part connected to a mobile terminal such as a smart phone. In an embodiment scheduled events are stored in a memory of the gossip module. Even if the gossip module 3110 is separated from the terminal, the scheduled events can still be executed as the gossip module 3110 can function also separate from the terminal.
Events that are scheduled to take place in the future may also be relayed by the module 3250 to the host processor 3210, so that the host processor 3210 may generate a schedule of upcoming events to manage the device 3200. Any kind of connection could be used for such relaying. However, preferably the end-to-end connection via the adaptor of the gossip module is used.
Future events may be provided to the host processor 3210 in demand response received messages 3830. Thus, the module 3250 m y handle all scheduling and caching of events on behalf of the host processor 3210, and the host processor need only act on the event start or stop commands received from the module 250; the host processor 3210 need not store all scheduled event data itself, as the module 3250 is configured to transmit messages to the host processor 3210 to alert the host processor 3210 to the commencement and ending of scheduled events.
The host processor 3210 may also query the module 3250 for information pertaining to scheduled events stored at the module 3250 for the purpose of scheduling. The host processor 3210 may transmit a demand response count request 3840 to obtain a reply 3845 reporting the count of the number of scheduled events currently stored at the module 3250, and may further transmit a demand response cached event request 3850 to obtain cached events from the module 3250. The demand response cached event request 3850 may comprise a count value, which will be used to determine the number of scheduled events returned to the host processor 3210 in the reply 3855. If the number of events to be retrieved is less than the total number of scheduled events stored at the module 3250, then the events retrieved in the reply 3855 may comprise those events having their start time occurring before or soonest after the current time. Each event returned by the module 3250 is reported in a separate reply 3855.
The foregoing examples were described in the context of a standard configuration illustrated in FIG. 17, in which the host processor 3210 in the device 3200 transmits commands to the module 3250 using a predefined protocol, an example of which is described below.
This protocol may be a communication protocol developed for use with the module 3250, and in this standard configuration the gossip module 3110, and specifically the RF processor 3350, must be configured to adopt the protocol, and store a library of commands developed specifically for communicating with the module 3250. The commands may be stored in on-chip memory in the host processor 3350, or alternatively in other memory resident in the gossip module 3110.
While the invention has been described in connection with a number of embodiments and implementations, the invention is not so limited but covers various obvious modifications and equivalent arrangements, which fall within the purview of the appended claims. Although features of the invention are expressed in certain combinations among the claims, it is contemplated that these features can be arranged in any combination and order.
The systems and methods disclosed herein are presented only by way of example and are not meant to limit the scope of the subject matter described herein. Other variations of the systems and methods described above will be apparent to those in the art and as such are considered to be within the scope of the subject matter described herein. For example, it should be understood that steps and the order of the steps in the processing described herein may be al ered, modified and/or augmented and still achieve the desired outcome. It will also be appreciated thai although the embodiments herein have been directed generally to smart energy devices, similar systems and methods may be carried out in respect of other types of devices.
'The systems' and methods' data may be stored in one or more data stores. The data stores can be of many different types of storage devices and programming constructs, such as RAM, ROM, flash memory, programming data structures, programming variables, etc. It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
Code adapted to provide the systems and methods described above may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.
The computer components, software modules, functions and data structures described herein may be connected directly or indirectly to each other in order to allow the flow of data needed for their operations. It is also noted that a module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-orie ted paradigm), or as an applet, or in a computer script language, or as another type of computer code.

Claims

1. Device for a network node in a wireless mesh network, the device formed by a portable gossip module comprising:
■· an RF unit arranged for receiving and forwarding gossip network messages via the wireless mesh network according to a predetermined mesh network protocol;
- an adaptor arranged to establish an operational end-to-end connection with a handheld terminal, such as a srnartphone, to exchange messages to and/or from the RF unit; and
- a controller connected to the RF unit and the adaptor for controlling the exchange of the interface messages.
2. Device as claimed in claim 1, comprising a memory connected to the controller, in which memory operating instructions are stored for controlling the operation of the device, especially the RF unit thereof,
3. Device as claimed in claim 1 or 2, wherein the controller is configured to amend one or more operating instructions controlling the operation of the device based on one or more messages received from the handheld terminal.
4. Device as claimed in claim 1, 2 or 3, wherein the messages are interface messages generated by the handheld terminal to which the adaptor is connected and/or interface messages received by the RF unit from the wireless mesh network.
5. Device according to any of the previous claims, wherein the memory is arranged to store messages received over the mesh network in the memory and the controller is arranged to provide the stored messages over the end-to-end connection to the handheld terminal after establishing the connection.
6. Device according to any of the previous claims, wherein the gossip module comprises a battery and, preferably, wherein the adaptor comprises a battery connection for charging the handheld terminal using the battery of the gossip module.
7. Device according to any of the claims 2-6, wherein the device has a memory on which a user interface program is stored, the user interface program being adapted tocontroii the operation of the controlier when run on the handheld terminal, and wherein the controller and/or adaptor are arranged to upload the user interface program over the end-to-end connection onto the handheld terminal upon connection of the gossip module with the handheld terminal.
8. Device according to any of the claims 2-6, wherein the gossip module comprises a clock connected to the controller and wherein the controller is arranged to execute timed instructions stored in the memory,
9. Device according to any of the previous claims, wherein the controller is arranged to exchange application layer messages with the RF unit, preferably via the adaptor over the operational end-to-end connection.
10. Device according to any of the previous claims, wherein the controller is arranged to communicate with the RF unit and with the adaptor, the controller arranged as or comprising a suitable converter.
11. Device according to any of the previous claims, wherein the RF unit is a is a short range radio frequency communication module.
12. Device according to any of the previous claims, wherein the RF unit has RF circuitry connected to a RF chip containing a stack for a predetermined wireless mesh network protocol, including a network layer, and preferably including an application layer.
13. Device according to any of the previous claims, wherein the stack includes, for example, a physical layer and a data link layer under the international standard IEEE 802.15.4 for WL-PAN (Wireless Personal Area Network) and preferably includes any one or combination of a network layer, a transport layer, a session layer, a presentation layer, and an application layer.
14. Device according to any of the previous claims, wherein the device is arranged to receive a unique identification number of the handheld terminal connected to the adaptor and wherein the controller is arranged to send gossip messages over the gossip network comprising a code based on the unique identification number
15. Device according to any of the previous claims, wherein the gossip module comprises a slot for a unique identification card, such as a subscriber identification card, and wherein the controller is connected to the slot and arranged to send gossip messages over the gossip network comprising code based on the unique identification information received from the
16. Device according to any of the previous claims, wherein the connection is a
USB connection and the adaptor is a male USB (micro) plug.
17. Device according to any of the previous claims, wherein the connection is one of: Bluetooth connection, infrared connection, PCM connection, audio connection, and wherein the adaptor comprises a RF unit or a connector, such as an audio plug.
18. Device according to any of the previous claims, wherein the predetermined gossip protocol is one of:
- ZigBee (such as ZigBee Home Automation, ZigBee Smart Energy 1.0, ZigBee
Telecommunication Services, ZigBee Health Care, ZigBee RF4CE
- Remote Control, ZigBee Smart Energy 2.0, ZigBee Building Automation, ZigBee Retail Services or ZigBee Light Link;
■· Myrianed
-WirelessHART
- IEEE 1451
- 802.15.4; and/or
- 6L0WPAN.
19. Device according to any of the previous claims, wherein the predetermined gossip protocol comprises a coordinator function and the controller is arranged to coordinate the ad-hoc gossip network.
20. Device according to any of the previous claims, wherein the RF unit is arranged to establish and maintain the wireless mesh network and to communicate with an application layer, including one or a combination of any of an IEEE 802.15.4 based physical layer, an IEEE 802.15.4 based MAC layer, a predetermined protocol network layer and an application interface.
21 . Assembly of an handheld terminal, preferebaly a mobile phone, having W AN connectability and a device according to any of the previous claims.
22. Assembly as claimed in claim 21, wherein the handheld terminal comprises a user interface for receiving user input and/or providing user output, the user interface being configured to generate interface messages that may be transmitted to the gossip module through the adaptor.
23. Assembly according to claim 20 or 21 , wherein the mobile phone further comprises user interface circuiti' and user interface software configured to facilitate user control of at least some functions of the mobile phone through use of a display and configured to respond to user input; and a display and display circuitry configured to display at least a portion of a user interface of the mobile phone, the display and display circuitry configured to facilitate user control of at least some functions of the mobile phone.
24. Assembly according to claim 21, 22 or 23, wherein the mobile phone further comprises a processor for executing a user interface program of the gossip module, wherein the display circuitry is configured to display the user interface of the gossip module, wherein the mobile phone has user interface input units and wherein the user interface input units are configured to convert user input into a signal sent over the connection to the adaptor of the gossip module.
25. Method of operating a device and/or assembly as claimed in any of the preceding claims.
26. Method as claimed in claim 25, comprising:
- the user interface of the handheld terminal receiving user interface interface instructions from a user;
- providing the interface instructions to the gossip module over an end-to-end connection established through the adapter of the gossip module;
- controlling the gossip module based on the interface instructions received by the gossip module.
PCT/NL2013/050690 2012-09-26 2013-09-26 Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network WO2014051430A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
NL2009520 2012-09-26
NL2009520 2012-09-26

Publications (1)

Publication Number Publication Date
WO2014051430A1 true WO2014051430A1 (en) 2014-04-03

Family

ID=49552397

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/NL2013/050690 WO2014051430A1 (en) 2012-09-26 2013-09-26 Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network

Country Status (1)

Country Link
WO (1) WO2014051430A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9629113B2 (en) 2015-02-09 2017-04-18 Yuxing Ren Information broadcasting and interaction system
CN109150527A (en) * 2018-11-02 2019-01-04 国家电网有限公司 A kind of switched telephone network quantum cryptography system and encryption communication method
CN112020849A (en) * 2018-04-05 2020-12-01 西班牙毕尔巴鄂比斯开银行 Method for verifying a node
US10855578B1 (en) 2019-06-25 2020-12-01 Palo Alto Research Center Incorporated Anonymous communications network utilizing bridging connections between broadcast domains
CN112423277A (en) * 2019-08-05 2021-02-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020788A2 (en) * 2007-07-31 2009-02-04 Samsung Electronics Co., Ltd. Channel switching method for switching channels through which content data is received in a ZigBee network system, and ZigBee network system thereof
EP2034699A2 (en) * 2007-08-16 2009-03-11 Samsung Electronics Co., Ltd. Method and apparatus for supporting interactions between a user and peers
EP2230820A1 (en) * 2009-03-16 2010-09-22 Apple Inc. Service discovery funtionality utilizing personal area network protocols

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020788A2 (en) * 2007-07-31 2009-02-04 Samsung Electronics Co., Ltd. Channel switching method for switching channels through which content data is received in a ZigBee network system, and ZigBee network system thereof
EP2034699A2 (en) * 2007-08-16 2009-03-11 Samsung Electronics Co., Ltd. Method and apparatus for supporting interactions between a user and peers
EP2230820A1 (en) * 2009-03-16 2010-09-22 Apple Inc. Service discovery funtionality utilizing personal area network protocols

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WIKIPEDIA CONTRIBUTOR: "ZigBee", 13 July 2012 (2012-07-13), XP002717530, Retrieved from the Internet <URL:http://en.wikipedia.org/w/index.php?title=ZigBee&oldid=501999016> [retrieved on 20131206] *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9629113B2 (en) 2015-02-09 2017-04-18 Yuxing Ren Information broadcasting and interaction system
CN112020849A (en) * 2018-04-05 2020-12-01 西班牙毕尔巴鄂比斯开银行 Method for verifying a node
CN109150527A (en) * 2018-11-02 2019-01-04 国家电网有限公司 A kind of switched telephone network quantum cryptography system and encryption communication method
CN109150527B (en) * 2018-11-02 2021-05-28 国家电网有限公司 Quantum encryption system and encryption communication method for telephone exchange network
US10855578B1 (en) 2019-06-25 2020-12-01 Palo Alto Research Center Incorporated Anonymous communications network utilizing bridging connections between broadcast domains
CN112423277A (en) * 2019-08-05 2021-02-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks
CN112423277B (en) * 2019-08-05 2024-03-26 意法半导体国际有限公司 Security certificate recovery in bluetooth mesh networks

Similar Documents

Publication Publication Date Title
Bello et al. Network layer inter-operation of Device-to-Device communication technologies in Internet of Things (IoT)
US10602424B2 (en) System and method for digital communication between computing devices
Yang et al. Beyond beaconing: Emerging applications and challenges of BLE
KR101971183B1 (en) A source device that broadcasts synchronization information associated with a Bluetooth isochronous channel
CN106454996B (en) Method and apparatus for low power consumption data transfer
US10051076B2 (en) Low power digital radio range extension
Wang et al. Device-to-Device based mobile social networking in proximity (MSNP) on smartphones: Framework, challenges and prototype
US9392525B2 (en) Establishing reliable routes without expensive mesh peering
Afaneh Intro to Bluetooth low energy
Camps-Mur et al. Enabling always on service discovery: Wifi neighbor awareness networking
US20110039494A1 (en) System, method and apparatus for wireless network connection using near field communication
KR20160021869A (en) Context management
EP4008118B1 (en) Secure path discovery in a mesh network
WO2014051430A1 (en) Method and apparatus for transmitting, receiving and forwarding a gossip message using a gossip network
US20160337327A1 (en) Method for managing a node association in a wireless personal area communication network
US20210243599A1 (en) User authentication method through bluetooth device and device therefor
US11166156B2 (en) Secure friendship establishment in a mesh network
Fraccaroli et al. Engineering IoT Networks
EP3241403A1 (en) Low power digital radio range extension
Jain Wireless Protocols for IoT Part I: Bluetooth and Bluetooth Smart
Milenkovic et al. Chapter 3: Communications
Cassaniti A Multi-Hop 6LoWPAN Wireless Sensor Network for Waste Management Optimization
Cano Reyes Integrated Architecture for Configuration and Service Management in MANET Environments
Wirtz The Feasibility, Semantics, and Scope of Mobile Wireless Device-to-Device Networking
Caldera Sànchez Experimental evaluation of bluetooth low energy mesh networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13788798

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13788798

Country of ref document: EP

Kind code of ref document: A1