WO2013023298A1 - A method of generating a collective sensory stimuli effect over an ad-hoc network using a mobile computing device - Google Patents

A method of generating a collective sensory stimuli effect over an ad-hoc network using a mobile computing device Download PDF

Info

Publication number
WO2013023298A1
WO2013023298A1 PCT/CA2012/050553 CA2012050553W WO2013023298A1 WO 2013023298 A1 WO2013023298 A1 WO 2013023298A1 CA 2012050553 W CA2012050553 W CA 2012050553W WO 2013023298 A1 WO2013023298 A1 WO 2013023298A1
Authority
WO
WIPO (PCT)
Prior art keywords
iem
mcd
message
determination
sensory stimuli
Prior art date
Application number
PCT/CA2012/050553
Other languages
French (fr)
Inventor
Tomas SZEREDI
Original Assignee
Szeredi Tomas
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 Szeredi Tomas filed Critical Szeredi Tomas
Publication of WO2013023298A1 publication Critical patent/WO2013023298A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/30Services specially adapted for particular environments, situations or purposes
    • H04W4/38Services specially adapted for particular environments, situations or purposes for collecting sensor information

Definitions

  • the present invention pertains to the field of ad-hoc networks and in particular to a method of generating a collective stimuli effect over said network using a mobile computing device.
  • MCD Autonomous Mobile Computing Devices
  • PDAs personal digital assistants
  • laptops laptops
  • tablets and smartphones
  • OMI operator-machine-interface
  • Such devices may allow an OMI to be plugged in, such as an external display which may be plugged into the device via USB, or an "audio out" jack which may be plugged in to an external set of speakers.
  • Collections of such devices can form ad-hoc networks over both wired and wireless connections. In an ad-hoc network each device is a peer to each other device wherein there is no centralized control of the devices and devices may move about, enter, and leave the network.
  • a collection of people (a "crowd") carrying these devices, such as people attending a political rally, a sporting event or a concert can participate in an ad-hoc network.
  • the people at such events are in relatively close proximity to each other and they may participate in interactive effects, such as "the wave” in a sports stadium, chanting and singing songs, illuminating their smartphone or igniting their lighters to create lighting displays during the concert.
  • a branch of art concerns the simulation and visualization of ad-hoc networks.
  • Graphical Tools such as UBIGRAPH or ViTAN allow one to simulate, model and visualize ad- hoc networks of complex topology and visualize the data flow within them on a single computer display with the model of the network simulated and controlled by a central computer. They do not extend the visualizations beyond a single display, nor do they represent the data flow within the network with non- isual means.
  • Another branch of art concerns Autonomous/Intelligent Agents.
  • An intelligent agent is an autonomous entity that "observes and acts upon an environment (i.e. it is an agent) and directs its activity towards achieving goals".
  • a related branch is Multi-Agent Systems.
  • Multi-Agent systems comprise Autonomous/Intelligent Agents that are autonomous (at least partially), have local views of the system (such as nearest neighbour) and have no central controlling agent.
  • Swarm robots are Multi- Agent systems. Swarm robotics concerns the emergent behaviour of large numbers of simple physical robots to solve a problem. The robots are custom built for movement. Such robots communicate with each other, typically through local communications, and run simple algorithms that control the physical movement of the robots. The emphasis in swarm robotics is on the physical movement of the robots, and of using that movement to help solve a problem, such as physically locating a target of interest and then destroying it, or finding the shortest path between two points in a complicated environment.
  • XylobandTM allow audience members to participate in collective light shows during events such as music concerts. Each audience member wears a Xyloband, which contains a radio receiver and processor. The Xyloband lights up when a centralized radio signal is sent out. The centralized radio signal is timed to produce a lighting effect in coordination with the music.
  • An object of the present invention is to provide a method of generating a collective stimuli effect over an ad-hoc network using a MCD
  • a method of generating a collective sensory stimuli effect over an ad-hoc network of MCDs wherein said method comprises: generating an Interactive Event Message (IEM) in an initiator MCD, wherein the IEM contains a unique message identifier and a hop count value;processing said IEM within the initiator computing device;sending said IEM to one or more receiving MCDs in the ad-hoc network;upon receipt of said IEM by the receiving MCDs, determining whether said IEM is new or has been previously received by the receiving MCD by comparing a unique message identifier; where said IEM is identified as new, incrementing the hop count in the IEM and determining whether to further process said IEM based on the hop count;where it has been determined in (e) that said IEM should be further processed, generating an effect
  • IEM Interactive Event Message
  • a method of operating a collection of two or more Mobile Computing Devices (MCDs) communicatively linked via an ad-hoc network the method implemented at least in part by the collection of MCDs and comprising: generating an Interactive Event Message (IEM) by an initiator MCD; propagating the IEM via the ad-hoc network, wherein each MCD in possession of the IEM makes a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and at each MCD in possession of the
  • IEM Interactive Event Message
  • IEM making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response; wherein the IEM is propagated from the initiator MCD to at least one other MCD.
  • OMI Operator Machine Interface
  • a method of operating a Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network comprising: generating or receiving an Interactive Event Message (IEM); making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
  • IEM Interactive Event Message
  • OMI Operator Machine Interface
  • a system comprising two or more Mobile Computing Devices (MCDs) communicatively linked via an ad- hoc network, wherein: at least a first MCD of the system comprises a message generation module configured to generate an Interactive Event Message (IEM); at least some of the MCDs of the system, including the first MCD, comprise a message handling module configured to handle the IEM following generation or receipt thereof, wherein each message handling module in possession of the IEM is configured to make a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, each message handling module in possession of the IEM further configured to update the message propagation history; and at least some of the MCDs of the system comprise an OMI module configured, in response to possession of the IEM by the corresponding MCD, to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said corresponding M
  • OMI Operator Machine Interface
  • a Mobile Computing Device belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network, the MCD configured to generate or receive an Interactive Event Message (IEM), the MCD comprising: a message handling module configured to handle the IEM following generation or receipt thereof, including making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, the message handling module further configured to update the message propagation history; and an OMI module configured to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response
  • OMI Operator Machine Interface
  • Figure la illustrates a system level block diagram of an embodiment of the MCD running the Interactive Effect Application, in accordance with embodiments of the present invention.
  • Figure lb illustrates a system level block diagram of an embodiment of the MCD running the Interactive Effect Application, in accordance with embodiments of the present invention.
  • Figures 2a, 2b illustrate the Interactive Effect Algorithm for an embodiment, in accordance with embodiments of the present invention.
  • Figures 3a, 3b illustrate the Interactive Effect Algorithm for an embodiment, in accordance with embodiments of the present invention.
  • Figure 4 illustrates the Operator Machine Interface Effect Algorithm, in accordance with embodiments of the present invention.
  • Figure 5 illustrates the Time Delay Algorithm, in accordance with embodiments of the present invention.
  • Figure 6a illustrates the Spontaneous Message Generation Algorithm of an embodiment, in accordance with embodiments of the present invention.
  • Figure 6b illustrates the Spontaneous Message Generation Algorithm of an embodiment, in accordance with embodiments of the present invention.
  • Figure 7 illustrates the Spontaneous Message Generation Renormalization Algorithm, in accordance with embodiments of the present invention.
  • Figure 8 illustrates the Sensory Selection Algorithm, in accordance with embodiments of the present invention.
  • Figure 9 illustrates the outward propagation of messages context diagram, in accordance with embodiments of the present invention.
  • Figure 10 illustrates the outward propagation of the message, in accordance with embodiments of the present invention.
  • Figure 11 illustrates the outward propagation result, in accordance with embodiments of the present invention.
  • Figure 12 illustrates a component and data flow view of an LED stick embodiment of the present invention.
  • Figure 13 illustrates a physical view of an LED stick embodiment of the present invention.
  • Figure 14 illustrates a component and data flow view of a smartphone embodiment of the present invention.
  • Figure 15 illustrates a physical view of a smartphone embodiment of the present invention.
  • Operator Machine Interface also referred to as "OMI"
  • OMI Operator Machine Interface
  • This interaction between operator and MCD can include, but is not limited to, any or all of the senses (sight, hearing, smell, touch temperature etc.).
  • OMI interaction may comprise non- sensory interaction and communication (such as direct neuronal connection and electroencephalography (EEG)).
  • EEG electroencephalography
  • the operator may translate the non- sensory interaction into an aggregatable sensory effect, for example by waving their arms in response to a private instruction received via the OMI.
  • Embodiments of the present invention provide a method of generating a collective sensory stimuli effect by utilizing anad-hoc network and MCDs.
  • a spontaneously generated message is created on a device by an algorithm.
  • the device processes the message and the OMI of the device is made to react.
  • the message is then passed on via the ad-hoc network for receipt by nearby devices, which also process the message.
  • the OMIs of these nearby devices may also be made to react, and the message may be passed on to further devices.
  • the OMI of the device may be made to react immediately or after a time delay. Similarly, the message may be passed on immediately or after a time delay.
  • the OMI's of plural devices made to react collectively create a sensory effect which may have predetermined pattern characteristics, for example when viewed from one or more viewing locations.
  • the reaction may be that the smartphone 's display is made to flash ON for a period of time and then OFF.
  • the message is then passed between one device and another via the ad-hoc network.
  • the next device processes the message and the OMI of the device is made to react.
  • the display of the phones successively flash ON and OFF. In this manner the propagation of the messages through the ad-hoc network can be visualized. The visual effect becomes more pronounced when large numbers of devices are involved (for example in a stadium full of people carrying smartphones all of which are running the Interactive Effect Application).
  • the collective effect of flashing the OMI displays ON/OFF as the messages propagate through the network creates the sensory effect of a "visual wave" propagating through the crowd.
  • the visual wave is centred on the device that originally spontaneously generated the message.
  • the visual effect is similar to the ripples in a pond of water that propagate outwards from where a raindrop falls.
  • the local sensory stimuli responsesof at least twoMCDs collectively create a collective sensory stimuli response.
  • the local sensory stimuli response of an MCD may comprise lighting up the display with a specified colour during a specified time interval.
  • the collective sensory stimuli response may then comprise the lighting up of the displays of the at least two MCDs in a coordinated manner, which may create a discernible pattern when viewed from a distance.
  • the pattern may become finer and/or more intricate. Basing each MCD's response on message propagation history such as observed hop count may facilitate further variation of the pattern, and may also serve to limit propagation of the pattern.
  • Embodiments of the present invention provide an apparatus, such as a mobile computing device configured to connect to an ad-hoc network of Mobile Computing Devices.
  • the apparatus is configured to generate or receive an Interactive Event Message (IEM).
  • the apparatus may comprise a message generation module configured for generation of the IEM.
  • the IEM may be generated spontaneously by the apparatus, for example at a random time, or otherwise generated by the apparatus substantially without requiring extrinsic input, or the like.
  • the message may be generated by the message generation module, or generated by a message generation module of another apparatus in direct or indirect communication with the apparatus.
  • the apparatus comprises a message handling module configured to handle the IEM following generation or receipt thereof.
  • the message handling module is configured to make a determination of whether to propagate the IEM from the MCD, for example by forwarding the IEM onward to other neighbouring apparatuses via the ad-hoc network. This determination is based at least in part on a message propagation history of the IEM. For example, the apparatus may examine a hop count field carried within the IEM and possibly previously or subsequently incremented by the apparatus, and determine not to propagate the message if the hop count is above a maximum level, which may also be indicated within the IEM.
  • the message handling module is further configured to update the message propagation history, particularly if the message is to be forwarded.
  • the apparatus further comprises an OMI module configured to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response.
  • OMI Operator Machine Interface
  • the OMI module may further comprise the OMI itself. This determination may be based at least in part on contents of the IEM. For example, fields within the IEM may specify what effect is to be given via the OMI, and for how long. The determination may additionally or alternatively be based at least in part on the message propagation history. For example, the effect to be given by the OMI may vary with the current hop count, possibly in a manner specified within the IEM.
  • the local sensory stimuli responses of the MCD are combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
  • Modules may be named for one or more of the various functions which they perform, whether or not the module is explicitly named as such.
  • the apparatus may comprise a communication module which is configured to perform wireless communication via a predetermined protocol, such as BluetoothTM, Wi-FiTM, or the like.
  • the communication module may be a sub-module of, or operatively coupled to the message handling module, in order to physically receive and/or propagate the message.
  • Such communication modules are well understood in the art.
  • the apparatus may comprise a configuration module, which may be subject to local user input, remote operator input, or both.
  • the configuration module may optionally also perform autonomous configuration based on telemetry or feedback received via the ad-hoc network.
  • the apparatus, or message generation module thereof may comprise a renormalization module, which is configured to evaluate information received via the ad-hoc network and to adjust operation of the message generation module, in accordance with renormalization operations as described elsewhere herein.
  • Embodiments of the present invention provide a system of apparatuses communicatively linked via an ad-hoc network and configured to collectively generate acollective sensory stimuli effect.
  • At least one apparatus of the system comprises a message generation module as described above. Potentially, plural or all apparatuses comprise their own message generation module.
  • At least some apparatuses of the system comprise a message handling module as described above.
  • At least some apparatuses of the system comprise an OMI module as described above.
  • the apparatuses of the system cooperate via selective propagation of and response to IEMs to collectively create a collective sensory stimuli response.
  • One or more of the apparatuses may comprise other modules or functionalities as described elsewhere herein.
  • the sensory effects are not limited to visual effects; rather they are determined by the capabilities of the OMI. Any or all of the senses may be utilized in the effect, such as illumination of a display or sound effect via speaker.
  • an "aural pattern” is created as the messages propagate through the crowd. Combining the "aural pattern” with the "visual pattern” creates an "aural-visual-pattern".
  • a "smell wave”, a "temperature wave” (utilizing a plug-in OMI to a MCD that could generate smells or heating/cooling effects) or a "tactile wave” (utilizing the vibration feature of a smartphone for example) could be created.
  • the method can adjust the sensory effect produced while the message is propagated across hops within the ad-hoc network through a sensory selection algorithm to produce changing sensory effects as the message propagates outwards (creating a rainbow effect of changing colours as the wave moves outwards, or an effect which starts off as a visual effect and then turns into an aural effect, or a wave which speeds up or slows down as it propagates outwards).
  • a sensory selection algorithm to produce changing sensory effects as the message propagates outwards (creating a rainbow effect of changing colours as the wave moves outwards, or an effect which starts off as a visual effect and then turns into an aural effect, or a wave which speeds up or slows down as it propagates outwards).
  • an overall collective sensory stimuli response can be adjusted.
  • the effect of an inward propagating wave can be achieved - whereby the sensory effect propagates from the outer edge to a centre. For example, this may be achieved by specifying that each device in receipt of the message produces a visual effect after a time delay,
  • the method may adjust the rate of message generation in an initiator mobile device based on a renormalization algorithm so that aspects of the collective sensory stimuli effects may be maintained as substantially constant as the number of participants changes.
  • the rate of spontaneous message generation at each message generation module may be reduced, thereby limiting the average number of messages propagating through the network.
  • the term "hops" can refer to the number of devices traversed by a message starting from the message originator.
  • the hop count may refer to a counter, typically carried by the message and modified as the message propagates, which begins at zero and increments by one each time the message is received or retransmitted by a device in receipt of the message. More generally, the hop count may refer to a variable which is modified as the corresponding message propagates, with each copy of a message having its own corresponding hop count, which is dependent on the message path history. For example, the hop count may begin at a predetermined value and increment or decrement in a linear, piecewise-linear or non-linear manner.
  • the Sensory Selection Algorithm may be based at least in part on the hop count.
  • the hop count may be modified by each device which handles the message in a constant manner (for example incrementing by one), or in a manner which depends on other inputs.
  • the message propagated through the ad-hoc network may be regarded as being made up of a collection of separate message "copies," each of which is held by a different MCD.
  • the hop counts or functions thereof are made available to the different MCD's in receipt of different message copies, and these hop counts or functions thereof may be collectively regarded as a message propagation history.
  • the message and message propagation history may be regarded as data which resides in the ad-hoc network as a whole, while the individual message copies and hop count (or function thereof), reside in the individual MCDs and collectively make up the message and message propagation history, respectively.
  • the types of devices suitable for this application include various devices that have the computing means to execute the method, have an OMI, and have the means to pass messages over a network.
  • Suitable devices include, but are not limited to, PDAs, laptops, tablets, smartphones, and personal computers.
  • Other suitable devices include "combination devices" such as the aforementioned OMI which can be plugged in to a MCD (the MCD supplying the computing means to execute the method and provide network access), as well as a smartphone with a "plug-in USB" NFC and/or Bluetooth key (the smartphone in this case providing the computing means and OMI and the NFC and/or Bluetooth key providing the network access).
  • Still other suitable devices include purpose built devices that implement the OMI, network access and method in some combination of firmware, software and hardware. With today's technology such purpose built devices could be manufactured at low cost and sold (or given away) for single use at events, much as “glow sticks" are used at events today.
  • An example of a suitable device is the Samsung Galaxy S3 smartphone.
  • the Samsung Galaxy S3 is equipped with Wi-FiTM, BluetoothTM and near-field-communications (NFC) for communication between devices, contains a Quad-core 1.4 GHz Cortex- A9 CPU microprocessor running the Android Operating System capable of storing and executing the method and algorithmic steps of the invention in the Java/Android programming language.
  • the device comes equipped with an OMI comprising a super AMOLED capacitive touchscreen display, vibration device and speaker for producing the sensory effects.
  • Another example of a suitable device is the HTC Ruby smartphone.
  • the HTC Ruby smartphone is equipped with Wi-Fi , Bluetooth and NFC for communication between devices, contains a dual core 1500MHz QualcommTM APQ8060 microprocessor running the AndroidTM Operating System capable of storing and executing the method and algorithmic steps of the invention in the JavaTM/AndroidTM programming language.
  • the device comes equipped with a capacitive multi-touch display, vibration device and a speaker for producing the sensory effects.
  • the interactive effect application is installed on the participant's devices and each participant turns on the interactive effect application through a selection on the device's OMI.
  • the device will start spontaneously generating messages according to the algorithm in the spontaneous message generator.
  • a spontaneous message generator generates a tuple comprising the maximum hop count, the sensory effect and the time delay, along with a unique tuple identifier and then places this information inside the payload of the IEM.
  • the IEM is then propagated to other devices, each of which use the unique message identifier and the hop count variable to determine if the message should be processed. If the message should be processed then the device looks at the tuple and unique tuple identifier and executes it in its algorithmic processing.
  • an IEM is spontaneously generated inside a device according to an algorithm, and the IEM is added to that device's message queue.
  • a decision branching process occurs as to whether or not this particular IEM has been previously processed by the device via a unique identifier on the message. If the IEM is identified as being previously read, the IEM is ignored. If, however, the IEM is identified as new, its unique identifier is added to a seen list and the hop count field is incremented on the IEM to indicate the message has passed through the device.
  • a further decision branching will occur as to whether or not the hop count value of the IEM has reached a maximum number of hops between devices.
  • the interactive effect can also be initiated within a participant's device upon receipt of an IEM from another participant's device. Once received, the IEM is placed in a message queue.
  • a decision branching process occurs as to whether or not this particular IEM has been previously processed by the device via a unique identifier on the message. If the IEM is identified as being previously read, the IEM is ignored. If, however, the IEM is identified as new, its unique identifier is added to a seen list and the hop count field is incremented on the IEM to indicate the message has passed through the device. A further decision branching will occur as to whether or not the hop count value of the IEM has reached a maximum number of hops between devices. If the answer is "Yes” then the IEM is ignored.
  • the OMI Effect Message may be generated if the following logical expression evaluates to true: the IEM is identified as new AND the hop count value is less than a predetermined maximum.
  • an algorithm is used to generate a time delay, which is passed to the Output Message Interface with the IEM.
  • the Output Message Interface delays sending the IEM to other connected devices until the time delay is expired.
  • EXAMPLE 1 [0060] One embodiment of the invention is illustrated in Figure la, which shows a system level block diagram of the MCD 1000.
  • a suitable MCD is a smartphone with built-in Near Field Communications (NFC) capability for communicating with other MCDs 1000 in an ad-hoc wireless network.
  • NFC Near Field Communications
  • the MCD 1000 has an Input Message Interface 1500, an Interactive Effect Algorithmic Component 1200, an Output Message Interface 1600, a Management and Control 1300 and an Operator Machine Interface 1400.
  • the Input Message Interface 1500 receives a IEM 1030-1 from another connected MCD 1000 over the Near Field Communications Network and passes the IEM 1030-2 to the Interactive Effect Algorithmic Component 1200.
  • the IEM 1030 is passed transparently from the Input Message Interface 1500 to the Interactive Effect Algorithmic Component 1200; that is, IEM 1030-1 has identical content to IEM 1030-2.
  • the IEM 1030 contains the message fields Messageldentifier 10301, HopCount 10302, MaximumHopCount 10303, F 0M i 10304, F TD 10305 and SensoryAlgorithmNumber 10306.
  • the Messageldentifier 10301 is a unique identifier for identifying the particular IEM 1030.
  • the Messageldentifier 10301 is set once to a unique value when the message is originally created inside of a Spontaneous Message Generator 1227 and is thereafter unchanged.
  • the value of the HopCount 10302 is the number of MCDs 1000 that this particular IEM 1030 has been passed between.
  • the value of the MaximumHopCount 10303 is the maximum number of hops that this particular IEM 1030 will be propagated.
  • F OMI 10304 is the OMI Effect Algorithm
  • F TD 10305 is the Time Delay Algorithm
  • SensoryAlgorithmNumber 10306 is a unique number which uniquely identifies this particular incarnation of the tuple (MaximumHopCount 10303, FQ MI 10304, F TD 10305).
  • the Interactive Effect Algorithmic Component 1200 has a Message Queue 1229, a Message Processing 1224 and spontaneous Message Generator 1227.
  • the Input Message Interface 1500 receives a IEM 1030-1 from another MCD over the network.
  • the Message Queue 1229 receives a IEM 1030-2 from the Input Message Interface 1500 and places the message in a FIFO Queue. It can also receive a IEM 1030-3 from the Spontaneous Message Generator 1227 and places the message in the same FIFO Queue.
  • the Message Processing 1224 contains the Seen List 1226 and participates in the Interactive Effect Algorithm shown in Figure 2a.
  • the Message Processing 1224 receives a IEM 1030-4 from the Message Queue 1229 and generates an Omi Effect Message 1225-1 which is sent to the Management and Control 1300, a IEM 1030-5 which is sent to the Spontaneous Message Generator 1227, and a Time Propagation Delay T D 12241 and a IEM 1030-6 which is sent to the Output Message Interface 1600.
  • IEM 1030-5 and IEM 1030-6 have identical content.
  • the Seen List 1226 contains a list of all the IEMs 1030 that have passed through this MCD 1000.
  • the Output Message Interface 1600 receives a IEM 1030-6 and the Time Propagation Delay T D 12241 associated with that IEM 1030-6 from the Interactive Effect Algorithmic Component 1200 and, after a Time Propagation Delay T D 1224, passes the IEM 1030-7 on to all other MCDs 1000 that are connected to this MCD 1000 over the network.
  • the Management and Control Component serves general housekeeping functions unrelated to the interactive event method (for example, disabling the interactive event application when an incoming phone call is received).
  • the Management and Control Component receives the Control Command Message 1215 and acts as a pass-through for the OmiEffect Message 1225.
  • Table 2 lists the fields in the OMI Effect Message 1225.
  • the OMI Effect Message 1225 contains the fields Vibrate 12251, Audio 12252 and Visual 12253 for controlling the OMI vibration, sound and visual sensory effects presented to users of the interactive event application. It also contains the field TimeWhenSensoryEffectShutsOff 12254, which tells the OMI how long to present the Sensory effect to the interactive event application user.
  • the Operator Machine Interface 1400 receives the OMI Effect Message 1225-2 and creates the vibration, sound, and visual sensory effects specified in the message fields of the OMI Effect Message 1225-2 until the TimeWhenSensoryEffectShutsOff 12254 time is reached.
  • the Operator Machine Interface 1400 also presents a control interface for user input (through the touchscreen of the smartphone for example) which allows the interactive event application to be turned on/off and paused.
  • the Operator Machine Interface 1400 creates a Control Command Message 1215.
  • the Control Command 1215 message contains the field InteractiveEventApplicationState 12151 which specifies whether the Interactive Event Application is on, off or paused.
  • the Operator Machine Interface 1400 sends the Control Command 1215 to the Management and Control 1300 Component to control the housekeeping of the Interactive Event Application.
  • the Spontaneous Message Generator 1227 Component contains the Sensory Selection Algorithm Fss 12271, the Renormalization Algorithm FR 12272 and the Spontaneous Message Generator Algorithm F S MG 12273.
  • the Spontaneous Message Generator 1227 receives IEMs 1030-5 from the Message Processing 1224 Component and uses them as input to the Renormalization Algorithm F R 12272 and the Sensory Selection Algorithm Fss 12271.
  • the Spontaneous Message Generator 1227 also spontaneously generates a IEM 1030-3 according to the spontaneous message generation algorithm F S M G 1 273.
  • Figure 2a and Figure 2b illustrates a flowchart of the Interactive Effect Algorithm run in the MCD 1000 (Figure 2b is a continuation of Figure 2a).
  • the numbers on the algorithmic components in Figure 2aand Figure 2b are identical to the corresponding numbers on the components in the system level block diagram shown in Figure la.
  • the 1224A and 1224B steps execute in the 1224 Message Processing component in Figure la.
  • the flowchart is logically executed by following the arrows. All swimlanes execute concurrently within a single MCD 1000.
  • the Flowchart starts at ocl or a2. al is the reception of a IEM 1030-1 from another MCD 1000.
  • oc2 is the spontaneous generation of a IEM 1030-3 in the Spontaneous Message Generator 1227.
  • 1224B shows a decision branching as to wh irticular IEM 1030-4 has been processed by this MCD 1000 before. This is by checking whether the particular unique Messageldentifier 10301 of this IEM 1030-4 is already on the Seen List 1226. If the answer is "Yes” then the IEM 1030-4 is ignored (as shown in 1224E). Continuing on Figure 2b, if the answer is "No” then 1226A adds the particular Messageldentifier 10301 to the Seen List 1226.
  • 1224G shows a decision branching as to whether or not the value of the HopCount parameter 10302 has reached the value of the 10303. If the
  • the IEM 1030-6 for a time T D before sending it to all other connected MCDs 1000 as IEM 1030-7 in 1600B.
  • the IEM 1030-5 is passed on to the Spontaneous Message Generator 1227.1227C runs the Sensory Selection Algorithm Fss 12271 which can change the tuple (MaximumHopCount 10303, F OM i 10304, F TD 10305) to create new sensory effects.
  • l227D runs the Spontaneous Message Generation Renormalization Algorithm F R 12272 which updates the parameters used in the Spontaneous Message Generation Algorithm F SMG - 12273. At this point the algorithm loops back to 1224A to await the next IEM 1030-4 on the Message Queue 1229.
  • the other starting point for the algorithm is oc2.
  • a IEM 1030-3 is spontaneously generated according to algorithm F S MG 12273.
  • the IEM 1030-4 is added to the Message Queue 1229.
  • F OMI 10304 is the OMI Effect Algorithm Figure 4 shows an expanded view of the 1224J block from Figure 2b and shows the details of the OMI Effect Algorithm F OM i 10304.
  • F OM i 10304 a new OMI Effect Message 1225-1 is created.
  • 1224J-B the fields 12251 Vibrate and 12252 Audio are both set to False.
  • 1224J-C the Visual 12253 field is set to WHITE.
  • the TimeWhenSensoryEffectShutsOff 12254 field is set to a constant time T s .
  • F D 10305 is the Time Delay algorithm which creates the Time Propagation Delay To 12241
  • Figure 5 shows an expanded view of the 1224K block from Figure 2b and shows the details of the Time Delay algorithm F TD 10305.
  • 1224K-A sets the 12241 T D to a constant time value.
  • 12241 To determines the propagation rate of the IEMs 1030-6 between one Interactive Event Device 1000 and another.
  • F SMG 12273 is the Spontaneous Message Generation Algorithm which spontaneously in time creates a 1030-3 IEM.
  • Figure 6a shows an expanded view of the oc2 1227A block from Figure 2a and shows the details of the Spontaneous Message Generation Algorithm F SMG 12273.
  • the algorithm delays for a time TSMG-
  • the algorithm generates a random number N aj,d in the interval (0,1).
  • N S M G is the Spontaneous Message Generation Normalization factor generated by the Renormalization Algorithm F R 12272.
  • MCDs 1000 It is not known beforehand how many MCDs 1000 will be participating in the interactive effect (for example, there may be 100 people in a bar participating in the interactive effect, or there could be 100,000 soccer fans in a stadium participating in the interactive effect). Further, it is not known beforehand when participants will enter or leave the interactive effect.
  • FIG. 7 shows the Spontaneous Message Generation Renormalization Algorithm F R 12272.
  • FR updates the Spontaneous Message Generation Normalization Factor NS M G based on the number of messages that have passed through this MCD 1000 per unit time. FR depends on a number of parameters, which are described in Table 4.
  • NUM_MESSAGES_BETWEEN_RENORMALIZATIONS The number of messages that must pass through this device before the renormalization of N SMG is done. The setting of this parameter to a number higher than 1 allows NUM_MESSAGES_PER_UNIT_TIME to reflect a meaningful average of the number of messages that have passed through this device per unit time.
  • I CREASE FACTOR The factor applied to N S MG in order to increase the probability that a message will be spontaneously generated inside this MCD 1000 by the algorithm FSM ' Note that the probability of spontaneous message generation in F SMB is inversely related to INCREASE FACTOR, that is, the smaller INCREASE F ACTOR is the higher the probability of this MCD 1000 spontaneously generating a message.
  • DECREASE FACTOR The factor applied to N S M G in order to decrease the probability that a message will be spontaneously generated inside this MCD 1000 by the algorithm F S M G - Note that the probability of spontaneous message generation in F SMG is inversely related to DECREASE F ACTOR, that is, the larger DECREASE F ACTOR is the smaller the probability of this MCD 1000 spontaneously generating a message.
  • NsMG MAX The maximum value that NSMG will be allowed to obtain. This number is proportional to the number of MCDs 1000 that participate in the propagation of a particular 1EM 1030. The number of MCDs that participate in the propagation of a particular IEM 1030 is of order ( ⁇ MaximumHopCount 2 ).
  • NUM MES S AGES S INCE LAST RENORMALIZATION variable is incremented and then, in 1227D-B a check is made as to whether NUM MESSAGES SINCE LAST RENORMALIZATION is greater than
  • Blocks 1227D-H, 1227D-J, 1227D-K and 1227D-L achieve the effect of clamping the value of NSMG such that N S MG_ IN ⁇ N S MG N S MG_MAX-
  • Block 1227D-M resets the number of messages since the renormalization was last done and the time of the last renormalization.
  • Figure 8 shows the Sensory Stimulus Algorithm F S s 12271.
  • the purpose of Fss 12271 is to change the tuple (MaximumHopCount 10303, F OM I 10304, F TD 10305) and hence change the sensory effects created by the 1000 MCD.
  • the Sensory AlgorithmNumber 10307 uniquely identifies a particular incarnation of the tuple.
  • the Sensory Stimulus Algorithm Fss 12271 keeps a local copy of the tuple and a local copy of the Sensory AlgorithmNumber.
  • the local copy is independent of the tuple and Sensory AlgorithmNumber arriving in a IEM 1030-5.
  • the local copy of the tuple is identified in the algorithm as (MaximumHopCount ss, FOMI SS, FTD_SS) and its corresponding sensory algorithm number by SensoryAlgorithmNumber ss-
  • the Sensory AlgorithmNumber is incremented each time a new tuple is created, and hence newer tuples have larger Sensory AlgorithmNumbers.
  • the Spontaneous Message Generation Algorithm FS M G copies this local copy of the tuple and SensoryAlgorithmNumber into the New IEM 1030-3 when creating a new IEM in step 1227A-D of Figure 6a. In this way the local copy is inserted into a new spontaneously created IEM 1030-3, which is then propagated to other MCDs 1000 and the other devices then express the new sensory stimulus which is defined by the tuple (MaximumHopCount 10303, F OMI 10304, F td 10305).
  • the Sensory Stimulus Algorithm F ss 12271 begins with block 1227C-A.
  • the purpose of block 1227C-A is to detect whether the incoming message has a newer tuple than the local copy, and, if it is, to make the local copy equivalent to the incoming message's tuple. In simple terms, if other devices have changed to a new sensory effect then this device should also change to a new sensory effect.
  • This is accomplished in block 1227C-A, where the incoming SensoryAlgorithmNumber 10307 from the IEM 1030-5 is compared with the local copy Sensory AlgorithmNumber_SS. If the local copy is less than the incoming number then in block 1227C-B the local copies of the tuple are made equivalent to the incoming copies.
  • blocks 1227C-C, 1227C-D, 1227C-E, 1227C-F and 1227C-G are to change the sensory stimulus (i.e., the tuple) every NUM MESSAGES BETWEEN ALGORITHM CHANGES (if it hasn't already been changed through blocks 1227C-A, 1227C-B and 1227C-C). This ensures that the MCD 1000 changes its sensory stimulus on a regular basis.
  • Fss depends on a parameter, which is described in Table 6. A typical, particular value of this parameter is shown in Table 7.
  • FIG. lb Another embodiment, whose System Level Block Diagram is shown in Figure lb, produces a sensory effect where F 0MI and F TD do not vary in time.
  • This embodiment comprises MCDs 1000 which propagate IEMs with the fields:
  • Fss 12271 and F 12272 are absent. Further, in this embodiment F OMI 10304 and F D 10305 are hard-coded into the Message Processing Component 1224 - that is, the algorithms do not change with time.
  • Figure 10 shows the outward propagation, wherein each step is shown with a different hatching. 1.
  • the 1227 Spontaneous Message Generator in the MCDlabeled "Step 1 MCD” spontaneously generates anIEM as described in the Spontaneous Message Generation Algorithm FSMG in Figure 5b.
  • step "1600B Send Output IEM1030-7 to all other connected MCDs 1000" the message is propagated onwards to all MCDs within distance R of "Step 1 MCD".
  • the three MCDs that are within range R of "Step 1 MCD” are shown in Figure 10 as “Step 2 MCD”s
  • Each "Step 2 MCD” then receives the message and processes it according to the algorithm shown in Figure 3a, Figure 3b - eventually transmitting the message to all MCDs within range R of themselves.
  • the outbound message contains
  • Step 1 MCD Because the "Step 1 MCD" is itself within distance R of each "Step 2 MCD” the “Step 1 MCD” receives the outbound message from each "Step 2 MCD".
  • the "Step 1 MCD” executes the algorithm in Figure 3a, Figure 3b and at step “1224B Is this Messageldentifier in the Seen List 1226" the answer is "Yes” and the message is ignored (as in step "1224E Ignore the Message”). In this manner the message does not propagate "inward".
  • Each "Step 3 MCD” then receives the message and processes it according to the algorithm shown in Figure 3a, Figure 3b.
  • F O MI TurnDisplayWhite , 0 ⁇ t ⁇
  • the display colour may be varied, for example based on hop count.
  • FOMI simply depends on a pre-defined time T t .
  • T t a pre-defined time
  • F T D The speed of propagation of the sensory effect is determined by the function F T D-
  • F TD T 2 .
  • F TD is simply a constant, T 2 .
  • the IEM 1030 is held up for a time T 2 in each MCD 1000 before being sent onwards to the other MCDs 1000. Hence, the IEM 1030 propagates forward one step every ⁇ 2 seconds.
  • F 0M1 (HopCount) depends on the HopCount, and the colour of the smartphone displays changes successively through Red, Green, and then Blue with each propagation step.
  • Equation 2 A wave which has a decreasing propagation velocity as it moves outwards may be created using the function. Equation 2
  • a wave which gives the visual effect of propagating inwards can be created, for example, with the following combination of the functions F om (HopCount) and F TD (Hopcount):
  • F 0MI H opCount
  • F TD Hopcount
  • Embodiments of the present technology relate to an apparatus communicatively linked to other similar apparatus via an ad-hoc network, or to a system of such apparatuses.
  • Each apparatus generally comprises: a microprocessor or microcontroller, memory for storing program instructions, OMI or at least an output such as a light or screen, and communication apparatus such as a wireless transceiver.
  • the transceiver could, for example communicate via BluetoothTM, Wi-FiTM, NFC or the like.
  • An ad-hoc network of BluetoothTM devices is called a scatternet.
  • the wireless transceiver may be replaced by a wired transceiver, such as an EthernetTM transceiver for connection to a wired network access port for example provided at a user's seat or table.
  • the apparatus comprises a location identification module such as a GPS module. Propagation and processing of IEMs may be basedon location.
  • each apparatus may be artificially limited by location.
  • particular collective sensory stimuli responses may be limited to a particular geographic area by use of the location identification modules.
  • an IEM may comprise an indication of its geographic origin, and each apparatus may be configured to respond to an IEM only if they are within a predetermined distance of the origin.
  • Figure 12 shows a component and data flow view of an "LED stick" Embodiment of the invention.
  • Figure 13 shows a physical view of the same Embodiment.
  • the LED Stick 2000 embodiment comprises a Bluetooth Transceiver 2300, a Microprocessor/Microcontroller 2200, and an OMI 2400. These components are physically manifested in a convenient form factor such as a wand or stick (as shown in Figure 13).
  • the Bluetooth Transceiver 2300 receives IEMs 2020 from other LED Sticks over the Bluetooth protocol and sends IEMs 2110 to other LED sticks over the Bluetooth protocol.
  • both the input and output messaging interfaces are implemented by the Bluetooth transceiver 2300.
  • the Microprocessor/Microcontroller 2200 component contains the memory required to store the invention algorithm and method (perhaps in firmware or in a dedicated ASIC) as well as the processing capability to execute the invention.
  • the Microcontroller controls the OMI 2400 by sending the LED 2400 component LED Commands 2055 (such as telling it to turn on/off with a specific color for example).
  • the Switch 2401 component is a physical switch which allows the user to turn the LED Stick 2000 on/off.
  • FIG. 13 shows the same LED Stick 2000 Embodiment of the invention in physical form factor.
  • the LED Stick comprises a Wand (which contains the LED 2400 component), a Handle (which contains the Bluetooth Transceiver 2300, the Microprocessor/Microcontroller 2200, and the Push Button Toggle Switch 2410).
  • Figure 14 shows a component and data flow view of a "smartphone" Embodiment of the invention.
  • Figure 15 shows a physical view of the same Embodiment.
  • the Smartphone 3000 embodiment comprises a Bluetooth Transceiver 3300, a Microprocessor/Microcontroller 3200, and an OMI 3400. These components are physically manifested in a convenient form factor such as a smartphone (as shown in Figure 15).
  • the OMI 3400 further comprises a Smartphone Display 3405, a Vibration Module 3410, a Speaker 3420 and an optional OMI Plug-In Extension 3430 (which can be an external device that is plugged in to an extension port (i.e.; USB port) of the smartphone).
  • a Smartphone Display 3405 a Vibration Module 3410, a Speaker 3420 and an optional OMI Plug-In Extension 3430 (which can be an external device that is plugged in to an extension port (i.e.; USB port) of the smartphone).
  • the Bluetooth Transceiver 3300 receives IEMs 3020 from other smartphones over the Bluetooth protocol and sends IEMs 3110 to other LED sticks over the Bluetooth protocol. In this embodiment both the input and output messaging interfaces are implemented by the Bluetooth transceiver 3300.
  • the Microprocessor/Microcontroller 3200 component contains the memory required to store the invention algorithm and method as well as the processing capability to execute the invention.
  • the Microprocessor/Microcontroller controls the OMI 3400 by sending the Smartphone Display 3405 component Visual Commands 3055 (such as telling it to change color for example), sending the Speaker 3420 component Sound Commands 3056 (to play a specific sound, song snippet or song for example), sending the Vibration Module 3410 Vibration Commands 3057 (to vibrate the smartphone), and sending the OMI Plug-In Extension 3430 Plug-In Commands 3058 (to control an optional OMI Plug-In Extension 3430 which extends the OMI capabilities to produce smell, heat and tactile effects for example).
  • the Smartphone Display 3405 also provides an interface which allows the user to control the Interactive Effect application (for example to turn the Interactive Effect Application on/off).
  • FIG 15 shows the same Smartphone 3000 Embodiment of the invention in physical form factor.
  • the 3000 Smartphone comprises a Smartphone Display 3405, a Body (which contains the Bluetooth Transceiver 3300, Microprocessor/Microcontroller 3200, Vibration Module 3410, and Speaker 3420).
  • the Smartphone Body also has a USB port into which the optional OMI Plug-In Extension 3430 has been connected.
  • Each apparatus may comprise one or more modules, which are collectively configured for carrying out the present invention.
  • These modules may include a message generation module; a message handling module; a communication module; an OMI module; a configuration module; and a renormalization module.
  • Such modules and their associated functionalities are described elsewhere herein.
  • Each module is associated with select hardware components of the device, such as the microprocessor or microcontroller, OMI, and wireless transceiver, as necessary. Different modules may be associated with different hardware components. Some hardware components, such as the microprocessor or microcontroller, may be common to two or more different modules.
  • Each module may be associated with particular functions of the device.
  • a module may comprise a microprocessor or microcontroller which operates on predetermined data inputs and outputs in accordance with computer program instructions residing in software or firmware stored in memory.
  • the microprocessor, memory, and other associated hardware components may form part of a module.
  • each step of the method may be executed on any general computer, such as a personal computer, server or the like, or system of computers, and pursuant to one or more, or a part of one or more, program elements, modules or objects generated from any programming language, such as C++, C#, Java, Pl/1, or the like.
  • each step, or a file or object or the like implementing each said step may be executed by special purpose hardware or a circuit module designed for that purpose.

Landscapes

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

Abstract

The present invention provides a method whereby an initiator Mobile Computing Device (MCD) generates messages via an algorithmic component and transmits said messages to nearby receiving devices over the ad-hoc network. The receiving devices in turn generate and transmit messages to nearby devices within the ad-hoc network thus propagating the message outward from the originating device. The messages can activate the Operator Machine Interface (OMI) of the receiving device and cause it to create a sensory stimuli effect, such as to light up, vibrate or emit sounds.

Description

A METHOD OF GENERATING A COLLECTIVE SENSORY STIMULI EFFECT OVER AN AD-HOC NETWORK USING A MOBILE
COMPUTING DEVICE
FIELD OF THE INVENTION [0001] The present invention pertains to the field of ad-hoc networks and in particular to a method of generating a collective stimuli effect over said network using a mobile computing device.
BACKGROUND
[0002] Autonomous Mobile Computing Devices (MCD)s that can be easily connected to each other, such as PDAs, laptops, tablets, and smartphones, are becoming increasingly affordable and common. The devices typically have some form of operator-machine-interface (OMI), such as a display, speaker and "vibrator" on a smartphone. Alternatively, such devices may allow an OMI to be plugged in, such as an external display which may be plugged into the device via USB, or an "audio out" jack which may be plugged in to an external set of speakers. [0003] Collections of such devices can form ad-hoc networks over both wired and wireless connections. In an ad-hoc network each device is a peer to each other device wherein there is no centralized control of the devices and devices may move about, enter, and leave the network.
[0004] A collection of people (a "crowd") carrying these devices, such as people attending a political rally, a sporting event or a concert can participate in an ad-hoc network. Typically the people at such events are in relatively close proximity to each other and they may participate in interactive effects, such as "the wave" in a sports stadium, chanting and singing songs, illuminating their smartphone or igniting their lighters to create lighting displays during the concert.
[0005] Currently, there is a limited ability for a collection of people within close proximity to each other to engage in participatory interactive events over an ad-hoc network using an MCD to create collective sensory effects.
[0006] A branch of art concerns the simulation and visualization of ad-hoc networks. Graphical Tools such as UBIGRAPH or ViTAN allow one to simulate, model and visualize ad- hoc networks of complex topology and visualize the data flow within them on a single computer display with the model of the network simulated and controlled by a central computer. They do not extend the visualizations beyond a single display, nor do they represent the data flow within the network with non- isual means. [0007] Another branch of art concerns Autonomous/Intelligent Agents. An intelligent agent is an autonomous entity that "observes and acts upon an environment (i.e. it is an agent) and directs its activity towards achieving goals". A related branch is Multi-Agent Systems. Multi-Agent systems comprise Autonomous/Intelligent Agents that are autonomous (at least partially), have local views of the system (such as nearest neighbour) and have no central controlling agent. Swarm robots are Multi- Agent systems. Swarm robotics concerns the emergent behaviour of large numbers of simple physical robots to solve a problem. The robots are custom built for movement. Such robots communicate with each other, typically through local communications, and run simple algorithms that control the physical movement of the robots. The emphasis in swarm robotics is on the physical movement of the robots, and of using that movement to help solve a problem, such as physically locating a target of interest and then destroying it, or finding the shortest path between two points in a complicated environment.
[0008] Art such as United States Patent No. 7,789,520 issued to Konig et al. appears to concern a hardware apparatus for a communication system between articles of light-emitting apparel whereby two articles of light-emitting apparel can communicate with each other over an ad-hoc network if a two-way exchange of profile information match when the two articles come within range of each other. If the profile information matches then the articles light up, or display some pattern or effect.
[0009] Art such as the Xyloband™ allow audience members to participate in collective light shows during events such as music concerts. Each audience member wears a Xyloband, which contains a radio receiver and processor. The Xyloband lights up when a centralized radio signal is sent out. The centralized radio signal is timed to produce a lighting effect in coordination with the music.
[0010] Currently, there are no interactive effect applications available that run on mobile devices and allow crowds to participate increating collective interactive effects over an ad-hoc network to create collective interactive effects via the MCDs within the crowd. In particular, there is a need for aninteractive effect application which creates the effect of sensory "waves" propagating throughout the crowd wherein the sensory waves can be in the form of visual, aural or vibrational waves to create a collective sensory effect.
[0011] This background information is provided to reveal information believed by the applicant to be of possible relevance to the present invention. No admission is necessarily intended, nor should be construed, that any of the preceding information constitutes prior art against the present invention.
SUMMARY OF THE INVENTION
[0012] An object of the present invention is to provide a method of generating a collective stimuli effect over an ad-hoc network using a MCD In accordance with an aspect of the present invention, there is provided a method of generating a collective sensory stimuli effect over an ad-hoc network of MCDs wherein said method comprises: generating an Interactive Event Message (IEM) in an initiator MCD, wherein the IEM contains a unique message identifier and a hop count value;processing said IEM within the initiator computing device;sending said IEM to one or more receiving MCDs in the ad-hoc network;upon receipt of said IEM by the receiving MCDs, determining whether said IEM is new or has been previously received by the receiving MCD by comparing a unique message identifier; where said IEM is identified as new, incrementing the hop count in the IEM and determining whether to further process said IEM based on the hop count;where it has been determined in (e) that said IEM should be further processed, generating an effect message and a time delay;creating a sensory stimuli response in an operator machine interface according to the effect message;passing the IEM from said MCD to other MCDs in the ad-hoc network upon expiration of the time delay; andrepeating steps (d) through (h) until the IEM is propagated across the maximum number of hops designated by the maximum hop count designated in the IEM. [0013] In accordance with another aspect of the present invention, there is provided a method of operating a collection of two or more Mobile Computing Devices (MCDs) communicatively linked via an ad-hoc network, the method implemented at least in part by the collection of MCDs and comprising: generating an Interactive Event Message (IEM) by an initiator MCD; propagating the IEM via the ad-hoc network, wherein each MCD in possession of the IEM makes a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and at each MCD in possession of the
IEM, making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response; wherein the IEM is propagated from the initiator MCD to at least one other MCD.
[0014] In accordance with another aspect of the present invention, there is provided a method of operating a Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network, the method comprising: generating or receiving an Interactive Event Message (IEM); making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response. [0015] In accordance with another aspect of the present invention, there is provided a system comprising two or more Mobile Computing Devices (MCDs) communicatively linked via an ad- hoc network, wherein: at least a first MCD of the system comprises a message generation module configured to generate an Interactive Event Message (IEM); at least some of the MCDs of the system, including the first MCD, comprise a message handling module configured to handle the IEM following generation or receipt thereof, wherein each message handling module in possession of the IEM is configured to make a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, each message handling module in possession of the IEM further configured to update the message propagation history; and at least some of the MCDs of the system comprise an OMI module configured, in response to possession of the IEM by the corresponding MCD, to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said corresponding MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response, wherein the IEM is propagated between at least two MCDs.
[0016] In accordance with another aspect of the present invention, there is provided a Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network, the MCD configured to generate or receive an Interactive Event Message (IEM), the MCD comprising: a message handling module configured to handle the IEM following generation or receipt thereof, including making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, the message handling module further configured to update the message propagation history; and an OMI module configured to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
[0017] In accordance with another aspect of the present invention, there are provided computer program products comprising a computer readable memory storing computer executable instructions thereon that, when executed by one or more computers, perform operations commensurate with the above-described methods and systems.
BRIEF DESCRIPTION OF THE FIGURES [0018] Figure la illustrates a system level block diagram of an embodiment of the MCD running the Interactive Effect Application, in accordance with embodiments of the present invention.
[0019] Figure lb illustrates a system level block diagram of an embodiment of the MCD running the Interactive Effect Application, in accordance with embodiments of the present invention.
[0020] Figures 2a, 2b illustrate the Interactive Effect Algorithm for an embodiment, in accordance with embodiments of the present invention. [0021] Figures 3a, 3b illustrate the Interactive Effect Algorithm for an embodiment, in accordance with embodiments of the present invention.
[0022] Figure 4 illustrates the Operator Machine Interface Effect Algorithm, in accordance with embodiments of the present invention.
[0023] Figure 5 illustrates the Time Delay Algorithm, in accordance with embodiments of the present invention.
[0024] Figure 6a illustrates the Spontaneous Message Generation Algorithm of an embodiment, in accordance with embodiments of the present invention.
[0025] Figure 6b illustrates the Spontaneous Message Generation Algorithm of an embodiment, in accordance with embodiments of the present invention.
[0026] Figure 7 illustrates the Spontaneous Message Generation Renormalization Algorithm, in accordance with embodiments of the present invention.
[0027] Figure 8 illustrates the Sensory Selection Algorithm, in accordance with embodiments of the present invention.
[0028] Figure 9 illustrates the outward propagation of messages context diagram, in accordance with embodiments of the present invention.
[0029] Figure 10 illustrates the outward propagation of the message, in accordance with embodiments of the present invention.
[0030] Figure 11 illustrates the outward propagation result, in accordance with embodiments of the present invention.
[0031] Figure 12 illustrates a component and data flow view of an LED stick embodiment of the present invention.
[0032] Figure 13 illustrates a physical view of an LED stick embodiment of the present invention.
[0033] Figure 14 illustrates a component and data flow view of a smartphone embodiment of the present invention. [0034] Figure 15 illustrates a physical view of a smartphone embodiment of the present invention.
DETAILED DESCRIPTION OF THE INVENTION
[0035] The term "Operator Machine Interface" (also referred to as "OMI") is used to define the place where the operator and the MCD interact and communicate with each other. This interaction between operator and MCD can include, but is not limited to, any or all of the senses (sight, hearing, smell, touch temperature etc.).
[0036] In some embodiments of the present invention, OMI interaction may comprise non- sensory interaction and communication (such as direct neuronal connection and electroencephalography (EEG)).In this and other cases, the operator may translate the non- sensory interaction into an aggregatable sensory effect, for example by waving their arms in response to a private instruction received via the OMI.
[0037] Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs.
[0038] Embodiments of the present invention provide a method of generating a collective sensory stimuli effect by utilizing anad-hoc network and MCDs. A spontaneously generated message is created on a device by an algorithm. The device processes the message and the OMI of the device is made to react. The message is then passed on via the ad-hoc network for receipt by nearby devices, which also process the message. Based on an evaluation of the message parameters and contingent upon a message propagation history carried within the message, the OMIs of these nearby devices may also be made to react, and the message may be passed on to further devices. The OMI of the device may be made to react immediately or after a time delay. Similarly, the message may be passed on immediately or after a time delay. The OMI's of plural devices made to react collectively create a sensory effect which may have predetermined pattern characteristics, for example when viewed from one or more viewing locations.
[0039] For example, if the device is a smartphone and the OMI is the smartphone 's display then the reaction may be that the smartphone 's display is made to flash ON for a period of time and then OFF. The message is then passed between one device and another via the ad-hoc network. Upon receipt of the message, the next device processes the message and the OMI of the device is made to react. As a message passes from one smartphone to another the displays of the phones successively flash ON and OFF. In this manner the propagation of the messages through the ad-hoc network can be visualized. The visual effect becomes more pronounced when large numbers of devices are involved (for example in a stadium full of people carrying smartphones all of which are running the Interactive Effect Application). In this case the collective effect of flashing the OMI displays ON/OFF as the messages propagate through the network creates the sensory effect of a "visual wave" propagating through the crowd. The visual wave is centred on the device that originally spontaneously generated the message. The visual effect is similar to the ripples in a pond of water that propagate outwards from where a raindrop falls.Thus, the local sensory stimuli responsesof at least twoMCDs collectively create a collective sensory stimuli response. For example, the local sensory stimuli response of an MCD may comprise lighting up the display with a specified colour during a specified time interval. The collective sensory stimuli response may then comprise the lighting up of the displays of the at least two MCDs in a coordinated manner, which may create a discernible pattern when viewed from a distance. As more MCDs contribute to the collective sensory stimuli response, the pattern may become finer and/or more intricate. Basing each MCD's response on message propagation history such as observed hop count may facilitate further variation of the pattern, and may also serve to limit propagation of the pattern.
[0040] Embodiments of the present invention provide an apparatus, such as a mobile computing device configured to connect to an ad-hoc network of Mobile Computing Devices. The apparatus is configured to generate or receive an Interactive Event Message (IEM). In some embodiments, the apparatus may comprise a message generation module configured for generation of the IEM. The IEM may be generated spontaneously by the apparatus, for example at a random time, or otherwise generated by the apparatus substantially without requiring extrinsic input, or the like. The message may be generated by the message generation module, or generated by a message generation module of another apparatus in direct or indirect communication with the apparatus.
[0041] The apparatus comprises a message handling module configured to handle the IEM following generation or receipt thereof. The message handling module is configured to make a determination of whether to propagate the IEM from the MCD, for example by forwarding the IEM onward to other neighbouring apparatuses via the ad-hoc network. This determination is based at least in part on a message propagation history of the IEM. For example, the apparatus may examine a hop count field carried within the IEM and possibly previously or subsequently incremented by the apparatus, and determine not to propagate the message if the hop count is above a maximum level, which may also be indicated within the IEM. The message handling module is further configured to update the message propagation history, particularly if the message is to be forwarded.
[0042] The apparatus further comprises an OMI module configured to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response. The OMI module may further comprise the OMI itself. This determination may be based at least in part on contents of the IEM. For example, fields within the IEM may specify what effect is to be given via the OMI, and for how long. The determination may additionally or alternatively be based at least in part on the message propagation history. For example, the effect to be given by the OMI may vary with the current hop count, possibly in a manner specified within the IEM. Upon creation, the local sensory stimuli responses of the MCD are combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response. [0043] Other modules or sub-modules may be provided. Modules may be named for one or more of the various functions which they perform, whether or not the module is explicitly named as such. For example, the apparatus may comprise a communication module which is configured to perform wireless communication via a predetermined protocol, such as Bluetooth™, Wi-Fi™, or the like. The communication module may be a sub-module of, or operatively coupled to the message handling module, in order to physically receive and/or propagate the message. Such communication modules are well understood in the art. The apparatus may comprise a configuration module, which may be subject to local user input, remote operator input, or both. The configuration module may optionally also perform autonomous configuration based on telemetry or feedback received via the ad-hoc network. The apparatus, or message generation module thereof, may comprise a renormalization module, which is configured to evaluate information received via the ad-hoc network and to adjust operation of the message generation module, in accordance with renormalization operations as described elsewhere herein.
[0044] Embodiments of the present invention provide a system of apparatuses communicatively linked via an ad-hoc network and configured to collectively generate acollective sensory stimuli effect. At least one apparatus of the system comprises a message generation module as described above. Potentially, plural or all apparatuses comprise their own message generation module. At least some apparatuses of the system comprise a message handling module as described above. At least some apparatuses of the system comprise an OMI module as described above. The apparatuses of the system cooperate via selective propagation of and response to IEMs to collectively create a collective sensory stimuli response. One or more of the apparatuses may comprise other modules or functionalities as described elsewhere herein.
[0045] The sensory effects are not limited to visual effects; rather they are determined by the capabilities of the OMI. Any or all of the senses may be utilized in the effect, such as illumination of a display or sound effect via speaker. In this case an "aural pattern" is created as the messages propagate through the crowd. Combining the "aural pattern" with the "visual pattern" creates an "aural-visual-pattern". In still more embodiments a "smell wave", a "temperature wave" (utilizing a plug-in OMI to a MCD that could generate smells or heating/cooling effects) or a "tactile wave" (utilizing the vibration feature of a smartphone for example) could be created. The method can adjust the sensory effect produced while the message is propagated across hops within the ad-hoc network through a sensory selection algorithm to produce changing sensory effects as the message propagates outwards (creating a rainbow effect of changing colours as the wave moves outwards, or an effect which starts off as a visual effect and then turns into an aural effect, or a wave which speeds up or slows down as it propagates outwards). By adjusting local sensory stimuli responses at one or more respective devices, an overall collective sensory stimuli response, can be adjusted. Furthermore, by properly selecting the parameters of the method the effect of an inward propagating wave can be achieved - whereby the sensory effect propagates from the outer edge to a centre. For example, this may be achieved by specifying that each device in receipt of the message produces a visual effect after a time delay, wherein the time delay decreases as the hop count increases.
[0046] In various embodiments, it is not necessary to know beforehand how many MCDs will be participating in the interactive event, nor when they enter or leave the interactive event. The method may adjust the rate of message generation in an initiator mobile device based on a renormalization algorithm so that aspects of the collective sensory stimuli effects may be maintained as substantially constant as the number of participants changes. Thus, for example, as the number of MCDs having an active message generation module increases, the rate of spontaneous message generation at each message generation module may be reduced, thereby limiting the average number of messages propagating through the network.
[0047] As will be readily appreciated by a worker skilled in the art, the term "hops" can refer to the number of devices traversed by a message starting from the message originator. The hop count may refer to a counter, typically carried by the message and modified as the message propagates, which begins at zero and increments by one each time the message is received or retransmitted by a device in receipt of the message. More generally, the hop count may refer to a variable which is modified as the corresponding message propagates, with each copy of a message having its own corresponding hop count, which is dependent on the message path history. For example, the hop count may begin at a predetermined value and increment or decrement in a linear, piecewise-linear or non-linear manner. The Sensory Selection Algorithm may be based at least in part on the hop count. The hop count may be modified by each device which handles the message in a constant manner (for example incrementing by one), or in a manner which depends on other inputs.
[0048] In some embodiments, the message propagated through the ad-hoc network may be regarded as being made up of a collection of separate message "copies," each of which is held by a different MCD. Likewise, the hop counts or functions thereof are made available to the different MCD's in receipt of different message copies, and these hop counts or functions thereof may be collectively regarded as a message propagation history. Thus, the message and message propagation history may be regarded as data which resides in the ad-hoc network as a whole, while the individual message copies and hop count (or function thereof), reside in the individual MCDs and collectively make up the message and message propagation history, respectively.
[0049] The types of devices suitable for this application include various devices that have the computing means to execute the method, have an OMI, and have the means to pass messages over a network. Suitable devices include, but are not limited to, PDAs, laptops, tablets, smartphones, and personal computers. Other suitable devices include "combination devices" such as the aforementioned OMI which can be plugged in to a MCD (the MCD supplying the computing means to execute the method and provide network access), as well as a smartphone with a "plug-in USB" NFC and/or Bluetooth key (the smartphone in this case providing the computing means and OMI and the NFC and/or Bluetooth key providing the network access). Still other suitable devices include purpose built devices that implement the OMI, network access and method in some combination of firmware, software and hardware. With today's technology such purpose built devices could be manufactured at low cost and sold (or given away) for single use at events, much as "glow sticks" are used at events today.
[0050] An example of a suitable device is the Samsung Galaxy S3 smartphone. The Samsung Galaxy S3 is equipped with Wi-Fi™, Bluetooth™ and near-field-communications (NFC) for communication between devices, contains a Quad-core 1.4 GHz Cortex- A9 CPU microprocessor running the Android Operating System capable of storing and executing the method and algorithmic steps of the invention in the Java/Android programming language. The device comes equipped with an OMI comprising a super AMOLED capacitive touchscreen display, vibration device and speaker for producing the sensory effects. [0051] Another example of a suitable device is the HTC Ruby smartphone. The HTC Ruby smartphone is equipped with Wi-Fi , Bluetooth and NFC for communication between devices, contains a dual core 1500MHz Qualcomm™ APQ8060 microprocessor running the Android™ Operating System capable of storing and executing the method and algorithmic steps of the invention in the Java™/Android™ programming language. The device comes equipped with a capacitive multi-touch display, vibration device and a speaker for producing the sensory effects.
Initiation of Interactive Event by Spontaneous Message Generation
[0052] The interactive effect application is installed on the participant's devices and each participant turns on the interactive effect application through a selection on the device's OMI. [0053] At this stage, when any one user turns on the interactive effect application the device will start spontaneously generating messages according to the algorithm in the spontaneous message generator. One embodiment of the invention is illustrated in Figure la where a spontaneous message generator generates a tuple comprising the maximum hop count, the sensory effect and the time delay, along with a unique tuple identifier and then places this information inside the payload of the IEM. The IEM is then propagated to other devices, each of which use the unique message identifier and the hop count variable to determine if the message should be processed. If the message should be processed then the device looks at the tuple and unique tuple identifier and executes it in its algorithmic processing.
[0054] In an embodiment, an IEM is spontaneously generated inside a device according to an algorithm, and the IEM is added to that device's message queue. When the IEM is available to read from the message queue, a decision branching process occurs as to whether or not this particular IEM has been previously processed by the device via a unique identifier on the message. If the IEM is identified as being previously read, the IEM is ignored. If, however, the IEM is identified as new, its unique identifier is added to a seen list and the hop count field is incremented on the IEM to indicate the message has passed through the device. A further decision branching will occur as to whether or not the hop count value of the IEM has reached a maximum number of hops between devices. If the answer is "Yes" then the IEM is ignored. If, however, the answer is "No" then an algorithm is used to generate the OMI Effect Message, which is sent to an Operator Machine Interface component, which creates the sensory effect specified by the contents of the OMI Effect Message for a period of time specified by the contents of the OMI Effect message. [0055] At the same time, an algorithm is used to generate a time delay, which with the IEM is passed to the Output Message Interface. The Output Message Interface delays sending the IEM to other connected devices until the time delay is expired.
Reception of IEM from Another Device
[0056] The interactive effect can also be initiated within a participant's device upon receipt of an IEM from another participant's device. Once received, the IEM is placed in a message queue.
[0057] When the IEM is available to read from the message queue, a decision branching process occurs as to whether or not this particular IEM has been previously processed by the device via a unique identifier on the message. If the IEM is identified as being previously read, the IEM is ignored. If, however, the IEM is identified as new, its unique identifier is added to a seen list and the hop count field is incremented on the IEM to indicate the message has passed through the device. A further decision branching will occur as to whether or not the hop count value of the IEM has reached a maximum number of hops between devices. If the answer is "Yes" then the IEM is ignored. If, however, the answer is "No" then an algorithm is used to generate the OMI Effect Message, which is sent to an Operator Machine Interface component, which creates the sensory effect specified by the contents of the OMI Effect Message for a period of time specified by the contents of the OMI Effect message. Equivalently, the OMI Effect Message may be generated if the following logical expression evaluates to true: the IEM is identified as new AND the hop count value is less than a predetermined maximum.
[0058] At the same time, an algorithm is used to generate a time delay, which is passed to the Output Message Interface with the IEM. The Output Message Interface delays sending the IEM to other connected devices until the time delay is expired.
[0059] The invention will now be described with reference to specific examples. It will be understood that the following examples are intended to describe embodiments of the invention and are not intended to limit the invention in any way. EXAMPLE 1: [0060] One embodiment of the invention is illustrated in Figure la, which shows a system level block diagram of the MCD 1000. A suitable MCD is a smartphone with built-in Near Field Communications (NFC) capability for communicating with other MCDs 1000 in an ad-hoc wireless network. [0061] The MCD 1000 has an Input Message Interface 1500, an Interactive Effect Algorithmic Component 1200, an Output Message Interface 1600, a Management and Control 1300 and an Operator Machine Interface 1400.
[0062] The Input Message Interface 1500 receives a IEM 1030-1 from another connected MCD 1000 over the Near Field Communications Network and passes the IEM 1030-2 to the Interactive Effect Algorithmic Component 1200. The IEM 1030 is passed transparently from the Input Message Interface 1500 to the Interactive Effect Algorithmic Component 1200; that is, IEM 1030-1 has identical content to IEM 1030-2.
Table 1 Message fields for the 1030 IEM
Figure imgf000016_0001
[0063] As shown in Table 1 the IEM 1030 contains the message fields Messageldentifier 10301, HopCount 10302, MaximumHopCount 10303, F0Mi 10304, FTD 10305 and SensoryAlgorithmNumber 10306. The Messageldentifier 10301 is a unique identifier for identifying the particular IEM 1030. The Messageldentifier 10301 is set once to a unique value when the message is originally created inside of a Spontaneous Message Generator 1227 and is thereafter unchanged. The value of the HopCount 10302 is the number of MCDs 1000 that this particular IEM 1030 has been passed between. The value of the MaximumHopCount 10303 is the maximum number of hops that this particular IEM 1030 will be propagated.
[0064] FOMI 10304 is the OMI Effect Algorithm, FTD 10305 is the Time Delay Algorithm, and SensoryAlgorithmNumber 10306 is a unique number which uniquely identifies this particular incarnation of the tuple (MaximumHopCount 10303, FQMI 10304, FTD 10305). [0065] The Interactive Effect Algorithmic Component 1200 has a Message Queue 1229, a Message Processing 1224 and spontaneous Message Generator 1227.
[0066] The Input Message Interface 1500 receives a IEM 1030-1 from another MCD over the network. [0067] The Message Queue 1229 receives a IEM 1030-2 from the Input Message Interface 1500 and places the message in a FIFO Queue. It can also receive a IEM 1030-3 from the Spontaneous Message Generator 1227 and places the message in the same FIFO Queue.
[0068] The Message Processing 1224 contains the Seen List 1226 and participates in the Interactive Effect Algorithm shown in Figure 2a. The Message Processing 1224 receives a IEM 1030-4 from the Message Queue 1229 and generates an Omi Effect Message 1225-1 which is sent to the Management and Control 1300, a IEM 1030-5 which is sent to the Spontaneous Message Generator 1227, and a Time Propagation Delay TD 12241 and a IEM 1030-6 which is sent to the Output Message Interface 1600. IEM 1030-5 and IEM 1030-6 have identical content. The Seen List 1226 contains a list of all the IEMs 1030 that have passed through this MCD 1000. [0069] The Output Message Interface 1600 receives a IEM 1030-6 and the Time Propagation Delay TD 12241 associated with that IEM 1030-6 from the Interactive Effect Algorithmic Component 1200 and, after a Time Propagation Delay TD 1224, passes the IEM 1030-7 on to all other MCDs 1000 that are connected to this MCD 1000 over the network.
[0070] The Management and Control Component serves general housekeeping functions unrelated to the interactive event method (for example, disabling the interactive event application when an incoming phone call is received). The Management and Control Component receives the Control Command Message 1215 and acts as a pass-through for the OmiEffect Message 1225.
[0071] Table 2 lists the fields in the OMI Effect Message 1225. The OMI Effect Message 1225 contains the fields Vibrate 12251, Audio 12252 and Visual 12253 for controlling the OMI vibration, sound and visual sensory effects presented to users of the interactive event application. It also contains the field TimeWhenSensoryEffectShutsOff 12254, which tells the OMI how long to present the Sensory effect to the interactive event application user.
Table 2 1225 OMI Effect Message 1225 and fields
I 1225 OMI Effect Message I 12251 Vibrate
12252 Audio
12253 Visual
12254 TimeWhenSensoryEffectShutsOff
[0072] The Operator Machine Interface 1400 receives the OMI Effect Message 1225-2 and creates the vibration, sound, and visual sensory effects specified in the message fields of the OMI Effect Message 1225-2 until the TimeWhenSensoryEffectShutsOff 12254 time is reached. The Operator Machine Interface 1400 also presents a control interface for user input (through the touchscreen of the smartphone for example) which allows the interactive event application to be turned on/off and paused. In response to interactive event application user input the Operator Machine Interface 1400 creates a Control Command Message 1215. As shown in Table 3 the Control Command 1215 message contains the field InteractiveEventApplicationState 12151 which specifies whether the Interactive Event Application is on, off or paused. The Operator Machine Interface 1400 sends the Control Command 1215 to the Management and Control 1300 Component to control the housekeeping of the Interactive Event Application.
Table 3 Control Command Message 1215 and fields
1215 Control Command Message
12151 InteractiveEventApplicationState [0073] The Spontaneous Message Generator 1227 Component contains the Sensory Selection Algorithm Fss 12271, the Renormalization Algorithm FR 12272 and the Spontaneous Message Generator Algorithm FSMG 12273. The Spontaneous Message Generator 1227receives IEMs 1030-5 from the Message Processing 1224 Component and uses them as input to the Renormalization Algorithm FR12272 and the Sensory Selection Algorithm Fss 12271. The Spontaneous Message Generator 1227 also spontaneously generates a IEM 1030-3 according to the spontaneous message generation algorithm FSMG 1 273.
[0074] Figure 2a and Figure 2b illustrates a flowchart of the Interactive Effect Algorithm run in the MCD 1000 (Figure 2b is a continuation of Figure 2a). The numbers on the algorithmic components in Figure 2aand Figure 2b are identical to the corresponding numbers on the components in the system level block diagram shown in Figure la. For example, in Figure 2a the 1224A and 1224B steps execute in the 1224 Message Processing component in Figure la. The flowchart is logically executed by following the arrows. All swimlanes execute concurrently within a single MCD 1000. [0075] The Flowchart starts at ocl or a2. al is the reception of a IEM 1030-1 from another MCD 1000. oc2 is the spontaneous generation of a IEM 1030-3 in the Spontaneous Message Generator 1227.
[0076] Starting at al in 1500A the IEM 1030-1 is received from another MCD 1000 and in 1500B is added to the Message Queue 1229.
[0077] In 1224A the next IEM 1030-4 is rea^ . Message Queue 1229. If the Message Queue 1229 is empty then the algorithm waits un+' available to read.
[0078] 1224B shows a decision branching as to wh irticular IEM 1030-4 has been processed by this MCD 1000 before. This is by checking whether the particular unique Messageldentifier 10301 of this IEM 1030-4 is already on the Seen List 1226. If the answer is "Yes" then the IEM 1030-4 is ignored (as shown in 1224E). Continuing on Figure 2b, if the answer is "No" then 1226A adds the particular Messageldentifier 10301 to the Seen List 1226.
[0079] 1224C increments the HopCount 10302 field of the IEM 1030-4 to indicate that this message has passed through this MCD 1000.
[0080] 1224G shows a decision branching as to whether or not the value of the HopCount parameter 10302 has reached the value of the 10303. If the
Figure imgf000019_0001
answer is "Yes" then the IEM 1030-4 is ignored (as
Figure imgf000019_0002
If the answer is "No" then 1224J runs the OMI Effect algorithm F0Mi 10304 ίο geniratVthe OMI Effect Message 1225-1 and sends it to the 1300A Management
Figure imgf000019_0003
in Swimlane 40000. In 1300A the Management and Control 1300 component passes the message onwards to the Operator Machine Interface 1400 component. In 1400A The Operator Machine Interface 1400 creates the sensory effect specified by the contents of the fields of the OMI Effect Message 1225-2 until the time specified by Time WhenSensoryEffectShutsOff 12254. [0081] In Swimlane 10000, 1224K runs the Time Delay Algorithm FTD 10305 which generates the time delayTD 12241, and passes the 1030-6 IEM and TD 12241 along to the Output Message Interface 1600.
[0082] In Swimlane 50000, component 1600A in the Output Message Interface delays the IEM
1030-6 for a time TD before sending it to all other connected MCDs 1000 as IEM 1030-7 in 1600B. [0083] In Swimlane 10000, the IEM 1030-5 is passed on to the Spontaneous Message Generator 1227.1227C runs the Sensory Selection Algorithm Fss 12271 which can change the tuple (MaximumHopCount 10303, FOMi 10304, FTD 10305) to create new sensory effects.l227D runs the Spontaneous Message Generation Renormalization Algorithm FR 12272 which updates the parameters used in the Spontaneous Message Generation Algorithm FSMG- 12273. At this point the algorithm loops back to 1224A to await the next IEM 1030-4 on the Message Queue 1229.
[0084] The other starting point for the algorithm is oc2. Starting at ot2 in 1227 A a IEM 1030-3 is spontaneously generated according to algorithm FSMG 12273. In 1227B the IEM 1030-4 is added to the Message Queue 1229.
[0085] In 1224A the next IEM 1030-4 is read from the Message Queue 1229. If the Message Queue 1229 is empty then the algorithm waits until a message is available to read. After this point the algorithmic steps are identical to those already described above.
[0086] FOMI 10304 is the OMI Effect Algorithm Figure 4 shows an expanded view of the 1224J block from Figure 2b and shows the details of the OMI Effect Algorithm FOMi 10304. In 1224J-A a new OMI Effect Message 1225-1 is created. In 1224J-B the fields 12251 Vibrate and 12252 Audio are both set to False. In 1224J-C the Visual 12253 field is set to WHITE. Finally, in 1224J-D the TimeWhenSensoryEffectShutsOff 12254 field is set to a constant time Ts. When the Operator Machine Interface 1400 component receives this OMI Effect Message 1225-1 then it reacts by not turning on the Vibration or Audio features (since they are both set to False) and turning the display WHITE (since Visual=WHITE) for a period of time specified by TimeWhenSensoryEffectShutsOff=Ts.
[0087] F D 10305 is the Time Delay algorithm which creates the Time Propagation Delay To 12241 Figure 5 shows an expanded view of the 1224K block from Figure 2b and shows the details of the Time Delay algorithm FTD 10305. 1224K-A sets the 12241 TD to a constant time value. 12241 To determines the propagation rate of the IEMs 1030-6 between one Interactive Event Device 1000 and another.
[0088] FSMG 12273 is the Spontaneous Message Generation Algorithm which spontaneously in time creates a 1030-3 IEM. Figure 6a shows an expanded view of the oc2 1227A block from Figure 2a and shows the details of the Spontaneous Message Generation Algorithm FSMG 12273. In 1227A-A the algorithm delays for a time TSMG- In 1227A-B the algorithm generates a random number N aj,d in the interval (0,1). In 1227 A-C the algorithm asks whether NRand< SMG SMG, where NSMG is the Spontaneous Message Generation Normalization factor generated by the Renormalization Algorithm FR 12272. If the answer is "No" then the algorithm loops back up to 1227A-A to delay for another time TSMG- If the answer is "Yes" then in 1227A-D a new IEM 1030-3 is created using the current values of the tuple (MaximumnHopCount_ss, F0MI_SS, FTD_SS) and the Sensory AlgorithmNumber_ss inside the Spontaneous Message Generator, a new unique Messageldentifier 10301 is generated and HopCount 10302 is set to HopCount=0 to reflect the fact that this message has not yet passed through any devices. After the message is created the algorithm loops back up to 1227 A- A to delay for another time TSMG-
[0089] It is not known beforehand how many MCDs 1000 will be participating in the interactive effect (for example, there may be 100 people in a bar participating in the interactive effect, or there could be 100,000 soccer fans in a stadium participating in the interactive effect). Further, it is not known beforehand when participants will enter or leave the interactive effect. However, when a particular MCD 1000 starts participating in the interactive effect then it has a particular value of NSMG- This value of NSMG rnay cause the Spontaneous Message Generation Algorithm FSMG to create too many (or too few) IEMs 1030 per unit time (relative to the DESIRED_NUM_MESSAGES_PER_UNIT_TIME) - destroying the effect of waves propagating through the MCDs 1000. Thus, an algorithm which renormalizes NSMG is needed. This algorithm is FR 12272. Based on feedback of the actual number of messages that are received by a MCD 1000 per unit time, FR changes the value of NSMG SO that the DESIRED_NUM_MESSAGES_PER_UNIT_TIME are, on average, achieved. Thus, it is not necessary to know beforehand how many MCDs 1000 will be participating in the interactive effect, nor when they enter or leave the interactive effect - FR takes care of renormalizing the Spontaneous message generation parameter NSMG such that the desired number of messages per unit time (on average) are generated by all the participants in the Interactive Effect. [0090] Figure 7 shows the Spontaneous Message Generation Renormalization Algorithm FR 12272. FR updates the Spontaneous Message Generation Normalization Factor NSMG based on the number of messages that have passed through this MCD 1000 per unit time. FR depends on a number of parameters, which are described in Table 4.
Table 4 Parameters used in the Spontaneous Message Generation Renormalization Algorithm FR
Constant Description
DESIRED NUM MESSAGES PER UNIT TIME The number of messages, on average, that are desired to flow through a MCD 1000 per unit time. NUM_MESSAGES_BETWEEN_RENORMALIZATIONS The number of messages that must pass through this device before the renormalization of NSMG is done. The setting of this parameter to a number higher than 1 allows NUM_MESSAGES_PER_UNIT_TIME to reflect a meaningful average of the number of messages that have passed through this device per unit time.
I CREASE FACTOR The factor applied to NSMG in order to increase the probability that a message will be spontaneously generated inside this MCD 1000 by the algorithm FSM ' Note that the probability of spontaneous message generation in FSMB is inversely related to INCREASE FACTOR, that is, the smaller INCREASE F ACTOR is the higher the probability of this MCD 1000 spontaneously generating a message.
DECREASE FACTOR The factor applied to NSMG in order to decrease the probability that a message will be spontaneously generated inside this MCD 1000 by the algorithm FSMG- Note that the probability of spontaneous message generation in FSMG is inversely related to DECREASE F ACTOR, that is, the larger DECREASE F ACTOR is the smaller the probability of this MCD 1000 spontaneously generating a message.
NsMG MAX The maximum value that NSMG will be allowed to obtain. This number is proportional to the number of MCDs 1000 that participate in the propagation of a particular 1EM 1030. The number of MCDs that participate in the propagation of a particular IEM 1030 is of order (π MaximumHopCount2).
NsMG MIN The minimum value that NSMG will be allowed to obtain. This number is proportional to the minimum number of MCDs 1000 that are anticipated to participate in the Interactive Event. [0091] Exemplary parameter values, which are appropriate for the choices of MaximumHopCount=30 and a minimum number of participants in the Interactive Event of 100 are shown in Table 5.
Table 5Exemplary Parameter values for FR
Figure imgf000023_0001
[0092] Referring to Figure 7 the Spontaneous Message Generation Renormalization Algorithm FR proceeds as follows: In 1227D-A the
NUM MES S AGES S INCE LAST RENORMALIZATION variable is incremented and then, in 1227D-B a check is made as to whether NUM MESSAGES SINCE LAST RENORMALIZATION is greater than
NUM_MESSAGES_BETWEEN_RENORMALIZATIONS. If the answer is "No" then nothing is done and the algorithm exits. If the answer is "Yes" then the renormalization proceeds with 1227D-D where the number of messages that have passed through this MCD 1000 per unit time is calculated. [0093] In 1227D-E the number of messages that have passed through this MCD 1000 per unit time is compared with the desired number of message per unit time. If it is less than the desired number then in 1227D-F the Spontaneous Message Generation Normalization factor NSMG is adjusted so that more messages per unit time will be generated by this Computing Device 1000. If it is more than the desired number then in 1227D-G the Spontaneous Message Generation Normalization factor NSMG is adjusted so that fewer messages per unit time will be generated by this Computing Device 1000. [0094] Blocks 1227D-H, 1227D-J, 1227D-K and 1227D-L achieve the effect of clamping the value of NSMG such that NSMG_ IN< NSMG NSMG_MAX-
[0095] Finally, Block 1227D-M resets the number of messages since the renormalization was last done and the time of the last renormalization. [0096] Figure 8 shows the Sensory Stimulus Algorithm FSs 12271. The purpose of Fss 12271 is to change the tuple (MaximumHopCount 10303, FOMI 10304, FTD 10305) and hence change the sensory effects created by the 1000 MCD. The Sensory AlgorithmNumber 10307 uniquely identifies a particular incarnation of the tuple. The Sensory Stimulus Algorithm Fss 12271 keeps a local copy of the tuple and a local copy of the Sensory AlgorithmNumber. The local copy is independent of the tuple and Sensory AlgorithmNumber arriving in a IEM 1030-5. The local copy of the tuple is identified in the algorithm as (MaximumHopCount ss, FOMI SS, FTD_SS) and its corresponding sensory algorithm number by SensoryAlgorithmNumber ss- The Sensory AlgorithmNumber is incremented each time a new tuple is created, and hence newer tuples have larger Sensory AlgorithmNumbers. [0097] The Spontaneous Message Generation Algorithm FSMG copies this local copy of the tuple and SensoryAlgorithmNumber into the New IEM 1030-3 when creating a new IEM in step 1227A-D of Figure 6a. In this way the local copy is inserted into a new spontaneously created IEM 1030-3, which is then propagated to other MCDs 1000 and the other devices then express the new sensory stimulus which is defined by the tuple (MaximumHopCount 10303, FOMI 10304, Ftd 10305).
[0098] In Figure 8 the Sensory Stimulus Algorithm Fss 12271 begins with block 1227C-A. The purpose of block 1227C-A is to detect whether the incoming message has a newer tuple than the local copy, and, if it is, to make the local copy equivalent to the incoming message's tuple. In simple terms, if other devices have changed to a new sensory effect then this device should also change to a new sensory effect. This is accomplished in block 1227C-A, where the incoming SensoryAlgorithmNumber 10307 from the IEM 1030-5 is compared with the local copy Sensory AlgorithmNumber_SS. If the local copy is less than the incoming number then in block 1227C-B the local copies of the tuple are made equivalent to the incoming copies.
[0099] The purpose of blocks 1227C-C, 1227C-D, 1227C-E, 1227C-F and 1227C-G is to change the sensory stimulus (i.e., the tuple) every NUM MESSAGES BETWEEN ALGORITHM CHANGES (if it hasn't already been changed through blocks 1227C-A, 1227C-B and 1227C-C). This ensures that the MCD 1000 changes its sensory stimulus on a regular basis.
[00100] In 1227C-C the numMessagesSinceLastAlgorithmChange number is incremented.
[00101] In 1227C-D, if numMessagesSinceLastAlgorithmChange is less than or equal to NUM_MESSAGES_BETWEEN_ALGORITHM_CHANGES then the 1030-5 IEM is passed to the next step of processing. If numMessagesSinceLastAlgorithmChange is greater than NUM_MESSAGES_BETWEEN_ALGORITHM_CHANGES then in 1227C-E the next tuple of sensory effects is chosen (which corresponds to choosing a new sensory effect). This choice can be made in a myriad of ways (for example, MaximumHopCount could be alternately doubled and then halved). The important point is that a new sensory effect (i.e., new tuple) is chosen. The local copy of Sensory AlgorithmNumber_SS is incremented, to reflect the fact that this is a new incarnation of a tuple.
[00102] In 1227C-F the new tuple is copied into the local copy. In 1227C-G the numMessagesSinceLastAlgorithmChange variable is reset to reflect the fact that the algorithm has just changed the tuple. Finally, the 1030-5 IEM(with the new Tuple in it) is passed to the next steps in the Algorithm, namely block 1227D in Figure 2a.
[00103] Again, it should be emphasized that if the Spontaneous Message Generator 1227 in this MCD 1000 now spontaneously generates a new IEM 1030-3 then the contents of that message are the local copy of the tuple (MaximumHopCount SS, FOMI_SS, FTD_SS) and the SensoryAlgorithmNumber_SS.
[00104] Fss depends on a parameter, which is described in Table 6. A typical, particular value of this parameter is shown in Table 7.
Table 6 Parameters used in the Sensory Selection Algorithm Fss
Figure imgf000025_0001
Table 7 Particular value of the parameter used in Sensory Selection Algorithm Fss
Figure imgf000026_0001
EXAMPLE 2:
[00105] Another embodiment, whose System Level Block Diagram is shown in Figure lb, produces a sensory effect where F0MI and FTD do not vary in time. This embodiment comprises MCDs 1000 which propagate IEMs with the fields:
Table 8 Message Fields for the 1030 IEM in AnEmbodiment
1030 IEM
10301 Messageldentifier
10302 HopCount
10303 MaximumHopCount [00106] Further, in this embodiment Fss 12271 and F 12272 are absent. Further, in this embodiment FOMI 10304 and F D 10305 are hard-coded into the Message Processing Component 1224 - that is, the algorithms do not change with time.
[00107] The algorithm run in this simple embodiment is shown in Figure 3a and Figure 3b. The description of the algorithmic steps is the same as the description given earlier except for the Spontaneous Message Generation Algorithm, which is modified as in Figure 6b.
EXAMPLE 3:
[00108] An example of how the embodiment described above is run is provided below.
[00109] Where there is a crowd of MCDs as shown in Figure 9, the MCDs can communicate with other MCDs within radius R of themselves. Radius R may be determined, for example, based at least in part on the physical range of the wireless communication protocol being used. Where the algorithm in the MCD 1000 has been hard-coded with a value of MaximumHopCount = 3, the message can propagate through at most 3 devices and then it will not be propagated any further. The example below illustrates a single message as it is spontaneously generated in MCD 1 and then propagated outwards until the propagation terminates at the 3rd hop.
[00110] Figure 10 shows the outward propagation, wherein each step is shown with a different hatching. 1. Using the algorithm shown in Figure 3a, Figure 3b, the 1227 Spontaneous Message Generator in the MCDlabeled "Step 1 MCD" spontaneously generates anIEM as described in the Spontaneous Message Generation Algorithm FSMG in Figure 5b.
At this point the IEM contains:
1030 IEM
10301 Messageldentifier = some unique value
10302 HopCount = 0
10303 MaximumHopCount = 3
Then, according to the algorithm shown in Figure 3 a, Figure 3 b, in 1224B the algorithm asks the question
2.1. "1224BIs this Messageldentifier in the Seen List 1226?". If the answer is "Yes" then the message is not propagated onwards (it is ignored, as in 1224E).
2.2. If the answer is "No" then the Messageldentifier is saved in the SeenListl226 as shown in "1226A"
2.3. Then the algorithm increments the HopCount in 1224D. At this point the IEM contains:
1030 IEM
10301 Messageldentifier = some unique value
10302 HopCount = 1
10303 MaximumHopCount = 3 2.4. Then the algorithm asks the question "1224G Is HopCount >= MaximumHopCount?" If the answer is "Yes" then the message is not propagated onwards (it is ignored, as shown by "1224H Ignore this Message"). 2.5. If the answer is "No" then in step "1224JRun OMI Effect Algorithm F0MI 10304" the OMI Effect Message 1225-1 is generated. The OMI Effect Message is then passed on to the OMI where it creates the sensory effect
2.6. In 1224K the Time Delay Algorithm is run to generate the time delay TD and the IEM 1030-6, along with the time delay TD i224i, and both are passed to the Output Message Interface, where in 1600A it is delayed for a time TQ
In step "1600B Send Output IEM1030-7 to all other connected MCDs 1000" the message is propagated onwards to all MCDs within distance R of "Step 1 MCD". In this case the three MCDs that are within range R of "Step 1 MCD" are shown in Figure 10 as "Step 2 MCD"s Each "Step 2 MCD" then receives the message and processes it according to the algorithm shown in Figure 3a, Figure 3b - eventually transmitting the message to all MCDs within range R of themselves. At this point the outbound message contains
1030 IEM
10301 Messageldentifier = some unique value
10302 HopCount = 2
10303 MaximumHopCount = 3
5. Because the "Step 1 MCD" is itself within distance R of each "Step 2 MCD" the "Step 1 MCD" receives the outbound message from each "Step 2 MCD". The "Step 1 MCD" executes the algorithm in Figure 3a, Figure 3b and at step "1224B Is this Messageldentifier in the Seen List 1226" the answer is "Yes" and the message is ignored (as in step "1224E Ignore the Message"). In this manner the message does not propagate "inward".
6. Each "Step 3 MCD" then receives the message and processes it according to the algorithm shown in Figure 3a, Figure 3b. The process terminates at the "Step 3 MCD" because when the "Step 3 MCD" executes the algorithm shown in Figure 3a, Figure 3b then the step "1224G Is HopCount >= MaximumHopCount" evaluates to "Yes" and the message is ignored (as in step "1224H Ignore this Message").
[00111] The final result of the outward spatial propagation is shown in Figure 11 where the various hashings correspond to the smartphone sensory outputs which were activated at a particular HopCount. The overall effect is one of an outwardly propagating wave. EXAMPLE 4:
[00112] The type of sensory effect produced, and its duration, is determined by the function FOMI- In the simplest case FOMI is described by the following function: F(t)oMi = TurnDisplayWhite , 0 < t < In another embodiment, the display colour may be varied, for example based on hop count.
[00113] In this case FOMI simply depends on a pre-defined time Tt. Using this FOMI the display of the smartphone turns white for a time Τ and then turns off after that.
[00114] The speed of propagation of the sensory effect is determined by the function FTD- In the simplest case FTD would consist of the function: FTD = T2. [00115] In this case FTD is simply a constant, T2. Using this FTDthe IEM 1030 is held up for a time T2 in each MCD 1000 before being sent onwards to the other MCDs 1000. Hence, the IEM 1030 propagates forward one step every Γ2 seconds.
[00116] An example of algorithms to create different sensory effects that depend on HopCount is provided below. [00117] More sophisticated versions of the F0MI and rD functions take advantage of the message content to create different sensory effects. For example, a wave that changes colour with each step can be created by choosing F0MI as follows:
Equation 1
TurnDisplayRed if mod(H op Count, 3) = 0
• TurnDisplayGreen if mod(HopCount, 3) = 1 , ≤t < T1
FoMi(HopCount
TurnDisplayBlue if mod (HopCount, 3) = 2
TurnDisplayOff, T ≤t
[00118] In this case F0M1 (HopCount) depends on the HopCount, and the colour of the smartphone displays changes successively through Red, Green, and then Blue with each propagation step.
[00119] A wave which has a decreasing propagation velocity as it moves outwards may be created using the function. Equation 2
MaximumH opCount - HopCount)
FTD (H opCount) = T2 M
MaximumHop Count
[00120] A wave which gives the visual effect of propagating inwards can be created, for example, with the following combination of the functions Fom (HopCount) and FTD(Hopcount):
Equation 3
FTD (HopCount) = 0
Equation 4
FoMi(HopCount)
TumDisplayWhite, (MaximumH op Count - 1) - HopCount
< t ≤
(MaximumH op Count— 1) - (HopCount— 1)
TurnDisplayOff, (MaximumH opCount - 1) - (HopCount— 1) < t
In this case because the time delay FTD for propagating messages is set to zero, the IEMs propagate outwards from the central MCD essentially instantaneously to all the MCDs within MaximumH op Count. This is the case when the physical processing and propagation delays are negligible. Then the displays of the outermost MCDs with
HopCount = MaximumH op Count— 1 turn white for a second and then turn off, followed by the displays of MCDs with HopCount = MaximumH op Count— 2, and so on down to the central MCD (which originated the IEM) at HopCount = 1. This creates the visual effect of an inward propagating wave.It is noted that the functions F0MI(H opCount) and FTD (Hopcount) may be varied in many ways to create a multitude of different effects.
Apparatus and System
[00121] Embodiments of the present technology relate to an apparatus communicatively linked to other similar apparatus via an ad-hoc network, or to a system of such apparatuses.
[00122] Each apparatus generally comprises: a microprocessor or microcontroller, memory for storing program instructions, OMI or at least an output such as a light or screen, and communication apparatus such as a wireless transceiver. The transceiver could, for example communicate via Bluetooth™, Wi-Fi™, NFC or the like. An ad-hoc network of Bluetooth™ devices is called a scatternet. In some embodiments, the wireless transceiver may be replaced by a wired transceiver, such as an Ethernet™ transceiver for connection to a wired network access port for example provided at a user's seat or table. In some embodiments, the apparatus comprises a location identification module such as a GPS module. Propagation and processing of IEMs may be basedon location. For example, having respect to IEMs, the transmission and reception range of each apparatus may be artificially limited by location. As another example, particular collective sensory stimuli responses may be limited to a particular geographic area by use of the location identification modules. For example, an IEM may comprise an indication of its geographic origin, and each apparatus may be configured to respond to an IEM only if they are within a predetermined distance of the origin.
[00123] Figure 12 shows a component and data flow view of an "LED stick" Embodiment of the invention. Figure 13 shows a physical view of the same Embodiment.
[00124] From Figure 12, the LED Stick 2000 embodiment comprises a Bluetooth Transceiver 2300, a Microprocessor/Microcontroller 2200, and an OMI 2400. These components are physically manifested in a convenient form factor such as a wand or stick (as shown in Figure 13).
[00125] The Bluetooth Transceiver 2300 receives IEMs 2020 from other LED Sticks over the Bluetooth protocol and sends IEMs 2110 to other LED sticks over the Bluetooth protocol. In this embodiment both the input and output messaging interfaces are implemented by the Bluetooth transceiver 2300.
[00126] The Microprocessor/Microcontroller 2200 component contains the memory required to store the invention algorithm and method (perhaps in firmware or in a dedicated ASIC) as well as the processing capability to execute the invention. The Microcontroller controls the OMI 2400 by sending the LED 2400 component LED Commands 2055 (such as telling it to turn on/off with a specific color for example). The Switch 2401 component is a physical switch which allows the user to turn the LED Stick 2000 on/off.
[00127] Other components, such as power supply, internal data buses, operating systems and the like may also be provided as would be readily understood by a worker skilled in the art.
[00128] Figure 13 shows the same LED Stick 2000 Embodiment of the invention in physical form factor. The LED Stick comprises a Wand (which contains the LED 2400 component), a Handle (which contains the Bluetooth Transceiver 2300, the Microprocessor/Microcontroller 2200, and the Push Button Toggle Switch 2410).
[00129] Figure 14 shows a component and data flow view of a "smartphone" Embodiment of the invention. Figure 15 shows a physical view of the same Embodiment. [00130] From Figure 14, the Smartphone 3000 embodiment comprises a Bluetooth Transceiver 3300, a Microprocessor/Microcontroller 3200, and an OMI 3400. These components are physically manifested in a convenient form factor such as a smartphone (as shown in Figure 15).
[00131] The OMI 3400 further comprises a Smartphone Display 3405, a Vibration Module 3410, a Speaker 3420 and an optional OMI Plug-In Extension 3430 (which can be an external device that is plugged in to an extension port (i.e.; USB port) of the smartphone).
[00132] The Bluetooth Transceiver 3300 receives IEMs 3020 from other smartphones over the Bluetooth protocol and sends IEMs 3110 to other LED sticks over the Bluetooth protocol. In this embodiment both the input and output messaging interfaces are implemented by the Bluetooth transceiver 3300. [00133] The Microprocessor/Microcontroller 3200 component contains the memory required to store the invention algorithm and method as well as the processing capability to execute the invention. The Microprocessor/Microcontroller controls the OMI 3400 by sending the Smartphone Display 3405 component Visual Commands 3055 (such as telling it to change color for example), sending the Speaker 3420 component Sound Commands 3056 (to play a specific sound, song snippet or song for example), sending the Vibration Module 3410 Vibration Commands 3057 (to vibrate the smartphone), and sending the OMI Plug-In Extension 3430 Plug-In Commands 3058 (to control an optional OMI Plug-In Extension 3430 which extends the OMI capabilities to produce smell, heat and tactile effects for example).
[00134] The Smartphone Display 3405 also provides an interface which allows the user to control the Interactive Effect application (for example to turn the Interactive Effect Application on/off).
[00135] Other components, such as power supply, internal data buses, operating systems and the like may also be provided as would be readily understood by a worker skilled in the art.
[00136] Figure 15 shows the same Smartphone 3000 Embodiment of the invention in physical form factor. The 3000 Smartphone comprises a Smartphone Display 3405, a Body (which contains the Bluetooth Transceiver 3300, Microprocessor/Microcontroller 3200, Vibration Module 3410, and Speaker 3420). The Smartphone Body also has a USB port into which the optional OMI Plug-In Extension 3430 has been connected.
[00137] Each apparatus may comprise one or more modules, which are collectively configured for carrying out the present invention. These modules may include a message generation module; a message handling module; a communication module; an OMI module; a configuration module; and a renormalization module. Such modules and their associated functionalities are described elsewhere herein.
[00138] Each module is associated with select hardware components of the device, such as the microprocessor or microcontroller, OMI, and wireless transceiver, as necessary. Different modules may be associated with different hardware components. Some hardware components, such as the microprocessor or microcontroller, may be common to two or more different modules.
[00139] Each module may be associated with particular functions of the device. For example a module may comprise a microprocessor or microcontroller which operates on predetermined data inputs and outputs in accordance with computer program instructions residing in software or firmware stored in memory. Thus, the microprocessor, memory, and other associated hardware components, may form part of a module.
Computer Program Product [00140] It will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without departing from the spirit and scope of the invention. In particular, it is within the scope of the invention to provide a computer program product or program element, or a program storage or memory device such as a solid or fluid transmission medium, magnetic or optical wire, tape or disc, or the like, for storing signals readable by a machine, for controlling the operation of a computer and/or firmware according to the method of the invention and/or to structure its components in accordance with the system of the invention.
[00141] In addition, while portions of the above discuss the invention as it can be implemented using a generic OS and/or generic hardware, it is within the scope of the present invention that the method, apparatus and computer program product of the invention can equally be implemented to operate using a non-generic OS and/or can use non-generic hardware. [00142] Further, each step of the method may be executed on any general computer, such as a personal computer, server or the like, or system of computers, and pursuant to one or more, or a part of one or more, program elements, modules or objects generated from any programming language, such as C++, C#, Java, Pl/1, or the like. In addition, each step, or a file or object or the like implementing each said step, may be executed by special purpose hardware or a circuit module designed for that purpose.
[00143] It is obvious that the foregoing embodiments of the invention are examples and can be varied in many ways. Such present or future variations are not to be regarded as a departure from the spirit and scope of the invention, and all such modifications as would be obvious to one skilled in the art are intended to be included within the scope of the following claims.

Claims

WE CLAIM:
1. A method of operating a collection of two or more Mobile Computing Devices (MCDs) communicatively linked via an ad-hoc network, the method implemented at least in part by the collection of MCDs and comprising:
a. generating an Interactive Event Message (1EM) by an initiator MCD;
b. propagating the IEM via the ad-hoc network, wherein each MCD in possession of the IEM makes a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and c. at each MCD in possession of the IEM, making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response;
wherein the IEM is propagated from the initiator MCD to at least one other MCD.
2. The method according to claim 1, wherein the initiator MCD is configured to spontaneously generate the IEM, the method further comprising adjusting a rate of spontaneous generation of the IEM based at least in part on a feedback mechanism.
3. The method according to claim 2, wherein adjusting the rate of spontaneous generation of the IEM is based at least in part on observation of prior IEMs propagated through the ad-hoc network.
4. The method according to claim 1, wherein some or all of the collection of MCDs are configured to spontaneously generate the IEM, thereby acting as the initiator MCD.
5. The method according to claim 1, wherein the message propagation history of the IEM is observed by each MCD in possession of the IEM as a hop count, wherein each MCD updates the hop count upon transmission or reception of the MCD.
6. The method according to claim 5, wherein the IEM specifies a maximum hop count, and wherein each MCD in possession of the IEM makes the determination of whether to propagate the IEM based at least in part on a comparison of the observed hop count with the maximum hop count.
7. The method according to claim 1, wherein the local sensory stimuli response at each MCD is determined based at least in part on the message propagation history observed at that MCD.
8. The method according to claim 1, wherein propagation of the IEM is based at least in part on location of each of the collection of MCDs.
9. The method according to claim 1, wherein the IEM is propagated in a peer-to-peer manner through the ad-hoc network.
10. The method according to claim 1, further comprising adjusting one or more of: the local sensory stimuli response, the collective sensory stimuli response, and a speed of propagation of the IEM.
11. The method according to claim 1, further comprising adjusting a speed of propagation of the IEM by specifying a time delay within the IEM, wherein each MCD in possession of the IEM is configured to propagate the IEM following expiry of the time delay.
12. The method according to claim 1, wherein the IEM contains a unique message identifier, and wherein each MCD in possession of the IEM makes a determination of whether to propagate the IEM based at least in part on a comparison of the unique message identifier with a set of other unique message identifiers stored in memory and associated with prior reception of IEMs.
13. A method of operating a Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad- hoc network, the method comprising:
a. generating or receiving an Interactive Event Message (IEM);
b. making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and c. making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
14. A system comprising two or more Mobile Computing Devices (MCDs) communicatively linked via an ad-hoc network, wherein:
a. at least a first MCD of the system comprises a message generation module configured to generate an Interactive Event Message (IEM);
b. at least some of the MCDs of the system, including the first MCD, comprise a message handling module configured to handle the IEM following generation or receipt thereof, wherein each message handling module in possession of the IEM is configured to make a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, each message handling module in possession of the IEM further configured to update the message propagation history; and
c. at least some of the MCDs of the system comprise an OMI module configured, in response to possession of the IEM by the corresponding MCD, to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said corresponding MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response,
wherein the IEM is propagated between at least two MCDs.
15. The system according to claim 14, wherein the message generation module is configured to spontaneously generate the IEM, the message generation module further configured to adjust a rate of spontaneous generation of the IEM based at least in part on a feedback mechanism.
16. The system according to claim 14, wherein at least a second MCD of the system comprises another message generation module configured to generate the Interactive Event Message (IEM) separately from the message generation module of the first MCD.
17. The system according to claim 14, wherein each message handling module in possession of the IEM is configured to observe the message propagation history of the IEM as a hop count, wherein each message handling module updates the hop count upon transmission or reception of the MCD.
18. The system according to claim 17, wherein the IEM specifies a maximum hop count, and wherein each message handling module in possession of the IEM is configured to make the determination of whether to propagate the IEM based at least in part on a comparison of the observed hop count with the maximum hop count.
19. The system according to claim 14, wherein each OMI module is configured to determine the local sensory stimuli response based at least in part on the message propagation history observed at the corresponding MCD.
20. The system according to claim 14, wherein each MCD is configured to propagate the IEM to a subset of MCDs which are physically proximate thereto.
21. The system according to claim 14, wherein each MCD is configured to propagate the IEM in a peer-to-peer manner through the ad-hoc network.
22. The system according to claim 14, wherein one or more of: the local sensory stimuli response; the collective sensory stimuli response; and a speed of propagation of the IEM, are based at least in part on adjustable parameters conveyed by the IEM.
23. The system according to claim 14, wherein the IEM specifies a time delay, wherein each MCD in possession of the IEM is configured to propagate the IEM following expiry of the time delay, the time delay thereby specifying a speed of propagation of the IEM.
24. The system according to claim 14, wherein the IEM contains a unique message identifier, and wherein each message handling module in possession of the IEM is further configured to make a determination of whether to propagate the IEM based at least in part on a comparison of the unique message identifier with a set of other unique message identifiers stored in memory and associated with prior reception of IEMs.
25. A Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network, the MCD configured to generate or receive an Interactive Event Message (IEM), the MCD comprising:
a. a message handling module configured to handle the IEM following generation or receipt thereof, including making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM, the message handling module further configured to update the message propagation history; and b. an OMI module configured to make a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
26. A computer program product comprising a computer readable memory storing computer executable instructions thereon that, when executed by a computer, perform operations for operating a collection of two or more Mobile Computing Devices (MCDs) communicatively linked via an ad-hoc network, the operations comprising:
a. generating an Interactive Event Message (IEM) by an initiator MCD;
b. propagating the IEM via the ad-hoc network, wherein each MCD in possession of the IEM makes a determination of whether to propagate the IEM, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and c. at each MCD in possession of the IEM, making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of each of the MCDs collectively creating a collective sensory stimuli response;
wherein the IEM is propagated from the initiator MCD to at least one other MCD.
27. A computer program product comprising a computer readable memory storing computer executable instructions thereon that, when executed by one or more computers, perform operations for facilitating operating a Mobile Computing Device (MCD) belonging to a collection of two or more Mobile Computing Devices (MCDs) which are communicatively linked via an ad-hoc network, the operations comprising:
a. generating or receiving an Interactive Event Message (IEM);
b. making a determination of whether to propagate the IEM from the MCD, said determination based at least in part on a message propagation history of the IEM, the message propagation history propagated with the IEM and updated by each MCD in receipt of the IEM; and
c. making a determination of whether and how to operate an Operator Machine Interface (OMI) of said MCD to create a local sensory stimuli response, wherein said determination is based at least in part on one or both of: contents of the IEM; and the message propagation history, the local sensory stimuli responses of the MCD combined with at least one other local sensory stimuli response of at least one other corresponding MCD to collectively create a collective sensory stimuli response.
PCT/CA2012/050553 2011-08-18 2012-08-15 A method of generating a collective sensory stimuli effect over an ad-hoc network using a mobile computing device WO2013023298A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161524908P 2011-08-18 2011-08-18
US61/524,908 2011-08-18

Publications (1)

Publication Number Publication Date
WO2013023298A1 true WO2013023298A1 (en) 2013-02-21

Family

ID=47714656

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2012/050553 WO2013023298A1 (en) 2011-08-18 2012-08-15 A method of generating a collective sensory stimuli effect over an ad-hoc network using a mobile computing device

Country Status (1)

Country Link
WO (1) WO2013023298A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014177485A1 (en) * 2013-04-29 2014-11-06 Phoenix Contact Gmbh & Co.Kg Electric interface module
WO2014186751A1 (en) * 2013-05-17 2014-11-20 Bugg Jr Edward D Sensory messaging systems and related methods
US11054289B2 (en) 2014-06-11 2021-07-06 At&T Intellectual Property I, L.P. Sensor calibration

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186926A1 (en) * 2007-02-01 2008-08-07 Yahoo! Inc. Collecting implicit information for determining context of event actions
US7840903B1 (en) * 2007-02-26 2010-11-23 Qurio Holdings, Inc. Group content representations
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7987491B2 (en) * 2002-05-10 2011-07-26 Richard Reisman Method and apparatus for browsing using alternative linkbases
US20080186926A1 (en) * 2007-02-01 2008-08-07 Yahoo! Inc. Collecting implicit information for determining context of event actions
US7840903B1 (en) * 2007-02-26 2010-11-23 Qurio Holdings, Inc. Group content representations

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014177485A1 (en) * 2013-04-29 2014-11-06 Phoenix Contact Gmbh & Co.Kg Electric interface module
WO2014186751A1 (en) * 2013-05-17 2014-11-20 Bugg Jr Edward D Sensory messaging systems and related methods
US9147329B2 (en) 2013-05-17 2015-09-29 Edward D. Bugg, JR. Sensory messaging systems and related methods
US11054289B2 (en) 2014-06-11 2021-07-06 At&T Intellectual Property I, L.P. Sensor calibration

Similar Documents

Publication Publication Date Title
JP5539354B2 (en) Scene update on remote controller in home control system
US10521183B2 (en) Control terminal device and audio system control method that displays a source selection screen with an area image background
US20150350810A1 (en) System and method for simultaneous wireless control of multiple peripheral devices
CN111176130B (en) Equipment control method, equipment control method and equipment control system
WO2016037125A1 (en) System and method for providing discovery of a wireless device
US9003058B2 (en) Method, system, user equipment and program for dynamically selecting proxies for communication with servers using known paths
US10219202B1 (en) System and method of wifi router based detection and control
WO2013023298A1 (en) A method of generating a collective sensory stimuli effect over an ad-hoc network using a mobile computing device
EP3198790A2 (en) Control of networked lighting devices
US10306366B2 (en) Audio system, audio device, and audio signal playback method
CN112672464B (en) Lamp light control method and device of lamp and computer equipment
CN114007235A (en) Scene rule writing method and device, storage medium, processor and electronic equipment
CN112399406A (en) Sound box system and networking control method thereof
JP2018176386A (en) Information processing device and program
CN108289288A (en) A kind of method, apparatus of communication, communication equipment and storage medium
CN113872782A (en) Equipment networking method, control equipment and Internet of things system
EP3518552B1 (en) Reproduction device, reproduction method, program, and reproduction system
WO2024093743A1 (en) Method and apparatus for controlling broadcasting of wireless device, and electronic device and medium
WO2024103809A1 (en) Control method, intelligent controller, intelligent device and control system
JP5230249B2 (en) COMMUNICATION DEVICE, COMMUNICATION DEVICE CONTROL METHOD, PROGRAM, AND STORAGE MEDIUM
CA3088667C (en) System, apparatus and method for wireless transmission of control data
US9521729B2 (en) Systems and methods for programming embedded devices using graphical user interface
KR20140030736A (en) Terminal apparatus and method for transmitting and receiving data
JP6572737B2 (en) Audio system control program and control terminal device
CN111246400A (en) Signal quality detection method, device, storage medium, electronic device and system

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: 12823425

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: 12823425

Country of ref document: EP

Kind code of ref document: A1