[0001] The present invention relates to the local diffusion of information, particularly information of local relevance, using mobile devices; in particular, the present invention concerns limiting undue diffusion of messages containing the information.
[0002] Mobile devices with communications capability are becoming ubiquitous, the most common being the cell phone and other devices employing cellular radio technology. Many services are being implemented using such devices and many more may be expected as information regarding the location or position of the mobile device becomes readily available through the implementation of location discovery within the mobile radio infrastructure.
[0003] One type of service that is emerging is the distribution of local information which is relevant only to a particular narrow geographic location and need only be communicated to people within that location. Such information is usually distributed as a result of a request generated from a mobile device, the request either including the device's location or authorizing the obtaining of the device's location from a location server of the mobile radio infrastructure. The locally-relevant information can also be pushed over the mobile radio infrastructure to mobile devices within a given locality, though the costs of doing so are high. The type of information which it is most desirable to be able to push is information with a certain immediacy to it either because the information will go out of date quickly or because the target audience is transitory. One example is where a theatre still has seats available for a show shortly starting, and would like to offer the seats at half price. Another example is information about consumer goods (particularly new products or products under special promotion) which a shop wishes to advertise to consumers passing by.
[0004] In view of the cost and complexity of using mobile radio networks to push information, it would be useful to have a different way of distributing local information which has immediacy to it.
[0005] It may also be noted that although, as indicted above, location information will become increasingly available, this will only be to users of certain types of devices (cellular radio devices, GPS-equipped devices). Other devices will not have the appropriate capability to directly access location information and will therefore not be able to benefit from the full range of location-based services. Even if a device does have access to location discovery technology, the level of accuracy may deteriorate in the prevailing conditions (receivability of base stations and satellites, interference from buildings etc.) reducing the effectiveness of location based services. In both the foregoing cases it would be desirable for accurate location information to be locally distributed (but only over a short distance so as not to unacceptably affect its accuracy).
[0006] A number of technologies exist for the short range communication of information between mobile devices. These technologies include infra-red based technologies and low-power radio technologies (including, in particular, the recent “Bluetooth” short range wireless standard). Depending on the technology implementation, differing types of message propagation will be enabled including asynchronous message broadcast, and multicast and point-to-point duplex connections established after coordination and negotiation between communicating devices.
[0007] Temporary networks using collections of mobile devices are of current interest. In particular, the Ad Hoc Networks Working Group of the IETF (Internet Engineering Task Force) is looking at the situation where two devices can temporarily communicate for a short time, via intermediate mobile devices; in this case, there is assumed to be some sort of temporary connectivity between the two devices across a short-lived mobile network. This work is primarily aimed at scenarios such as people in a conference environment sending mail to one another via intermediate devices, a situation which is dynamic, but which will tend to be temporarily static. Another example of an Ad Hoc network is the connection of ships or tanks in a military situation, where the topology of the network is evolving, but gradually over a period of time.
[0008] It is an object of the present invention to facilitate the local diffusion of information.
[0009] According to one aspect of the present invention, there is provided a method of locally diffusing information for presentation to users of mobile devices, the method involving propagating the information from an originating point in messages passed from device to device by non-wired short-range communication means of the devices, the messages including source identifiers indicative of the originating point of the messages, and at least some of the devices controlling propagation of a message from a particular originating point in dependence on the prominence of the occurrence of that originating point in a set of most recently received messages.
[0010] According to another aspect of the present invention, there is provided a mobile device for locally diffusing information in messages to other devices for presentation to their users, the messages including source identifiers indicative of the originating point of the messages; the mobile device comprising:
[0011] a message store;
[0012] a short-range wireless transceiver for receiving messages and storing them to said store, and for transmitting messages retrieved from the store;
[0013] an originating-point monitor for monitoring the originating points of a set of most recently received messages; and
[0014] a message-propagation controller for controlling onward propagation of a message received from a particular originating point in dependence on the prominence of the occurrence of that originating point in said set of most recently received messages as monitored by the originating-point monitor.
[0015] A method and mobile device, both embodying the present invention, for locally diffusing information will now be described, by way of non-limiting example, with reference to the accompanying diagrammatic drawings, in which:
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025] In operation, originating point
[0026] More particularly, in the illustrated example, device A picks up the message transmitted by originating source
[0027] As can be seen, in the illustrated example, message diffusion is, in part, due to the movement of the devices since although the actual transfer of a message from one device to another is due to transmission using the short-range communications means, devices may only be brought into range as a result of the movement of one or other of the devices.
[0028] The propagation of the message from device to device is effected in an unstructured way in the sense that the messages are not routed in any particular way and there is no target final destination specified; instead, the message diffusion relies on the involvement of whatever devices are conveniently available and enabled to participate in the process.
[0029] The originating point need not be fixed in position, being, for example, a mobile device similar to devices
[0030] The device inter-connectivity required by the above process need only be of a highly transitory nature, it not even being necessary for the devices to connect long enough for the message-receiving device to send a reply (in other words, unacknowledged message transfer is operationally adequate). This characteristic enables moving devices to be more easily utilised before they are out of range. This highly transient nature of device inter-connectivity contrasts with the type of network being considered by the Ad Hoc Networks Working Group of the ETF (see above), where the objective is primarily to establish, albeit temporarily, a temporary connection between endpoints.
[0031] With respect to the type of information included in a message, this will generally be locality information, that is:
[0032] information with at least an item that is explicitly or implicitly of local relevance, such as commercial advertising and promotional information relevant to a local retail outlet (the information may even include an electronic voucher that the user of a recipient device can present to the retail outlet to receive a discount or other reward)
[0033] in such cases the originating point will generally be at or adjacent the retail outlet concerned; and/or
[0034] the position of the originating point (whereby to enable devices not equipped with location discovery means to ascertain their location indirectly, this position information then being provided, for example, to a location-aware service using the short-range communications means of the device or, possibly, a cellular radio capability possessed by the device. Position may be specified in any appropriate way such as longitude and latitude, local grid coordinates, names of local places, etc.
[0035] The information need not be restricted to visually displayable information and can take the form of short audio advertisements or low bit-rate music clips to consumers within a particular vicinity, for example to advertise products within a record/CD/music kiosk type of shop within a shopping mall.
[0036] Restriction Mechanisms
[0037] In order to ensure that all devices in the area around an originating point have the opportunity of receiving a message, propagating devices are preferably configured to seek to multiply the number of message copies in circulation, either by sending a message multiple times and/or by sending the message to multiple other devices. For example, a device can be configured to send on a message immediately it is received and then at timed intervals thereafter, and/or upon detecting another device close by. In this way, an initial build up of the number of active message copies can be achieved provided there are sufficient devices in the area.
[0038] However, the unrestricted propagation of messages is generally undesirable as it can result in information continuing to circulate after it has become out-of-date, and being propagated into areas where it is not relevant; also, device and bandwidth resources will be unnecessarily consumed. What is required is that after an initial build up of the number of active message copies, this number should die away. To achieve this, several different restriction mechanisms are preferably employed in the mobile devices
[0039] Message life control mechanisms—the life of a message can be restricted in a number of ways, for example by using:
[0040] a time-to-live limit set on a message as sent from the originating point;
[0041] a hop limit set on the number of times the message from the originating point can be propagated along a chain of propagation;
[0042] a locale limit outside of which the information should not to be propagated.
[0043] These limits generally involve the inclusion of propagation limitation data in each propagated message copy, with each receiving device examining this data to determine whether it should treat the message as no longer alive (that is, no longer one which should be considered for propagation).
[0044] With respect to the time-to-live limit, this can be implemented by specifying a time value (such as 10 minutes) in the message as sent by the originating point. At each device the message transits, this time value set in the message is decreased by an amount corresponding to the time the message has been held in the device. A receiving device can then determine whether a received message has exceeded its initial lifetime by examining the time value in the message and determining whether the message has been held for longer than that time—if it has, the message is treated as no longer alive or active (that is, dead) and is therefore not propagated further. This way of determining lifespan has the advantage that the clocks of the different devices do not need to be in sync with each other (if, in fact, this could be guaranteed, then, of course, it would only be necessary for the originating point to specify an absolute time of death for the message).
[0045] With respect to the hop count limit, this is initially set to some value by the originating point and each time a message copy is propagated, the hop count value in the message is decremented before sending (conveniently, the hop count of a message can be decremented immediately the message is received by a device); if a receiving device receives a message with a zero hop count value (or, alternatively, if the hop count becomes zero when decremented by the device), it treats the message as no longer alive for the purposes of propagation. It would also be possible to start with a zero count and increment it at each hop, the message copy being treated as inactive when the count reaches a specific value set by the device.
[0046] Setting a locale limit requires that the devices can find out their current position. This they may be able to do via some location discovery means (GPS system; location server of mobile radio infrastructure) to which they have access, or via information received over their short-range communication means. This latter case could be implemented by arranging for messages transmitted by originating points to include position data of the originating points, the receiving device then determining its position by considering the position data contained in a set of the messages most recently received by the device. Thus, the most prominent (that is, frequently occurring) originating-point position in the set could be taken as the device's position, it being appreciated that taking the position data of the most recently received message as representing the position of the device is unsound where there are more than one originating points in the vicinity. The set of messages used is conveniently defined by a time window though it would also be possible to use a set of the last N messages. Rather than taking the position of the most prominent originating point for the device's position, a weighted average could be used to estimate an intermediate position between originating points; for example, if 80% of messages received came from a first originating point and 20% from a second originating point, the X coordinates of these two points could be combined in an 80:20 weighting ratio to give the X coordinate of the receiving device with a similar calculation being effected to for the Y coordinate.
[0047] The foregoing method of determining position by looking at position data in a set of most recently received messages can, of course, be employed independently of using the position information for restricting propagation—for example, the position of the device determined in this way can be used as input to a location aware service or simply presented to the device user.
[0048] In fact, it is possible to generate a boundary beyond which a message is not to be propagated, without the need to include specific locale limit data in the message. This involves detecting when the percentage of messages coming from the same originating point as the message under consideration has fallen below a threshold percentage that effectively defines a “boundary” to the zone of influence of the originating point—if the current percentage is below the threshold, the message of interest is not propagate. This mechanism is described in more detailed below with reference to
[0049] Device-set propagation limits—the involvement of each device in message propagation can be constrained by one or more of the following:
[0050] discarding without propagation subsequently received copies of a message previously received;
[0051] limiting the number of times the device can transmit on the message;
[0052] increasing the gap between re-transmissions of the message in dependence on how many times the message has been received by the device.
[0053] This latter restriction mechanism works on the basis that if a large number of copies of a message are being received, then the device can reasonable infer that the message is circulating adequately without further copies being propagated at that time—in other words, the inter-sending gap should be increased. On the other hand, if no subsequent copies are received, this can be interpreted as an indication that the user has moved to an area where none of the nearby devices have any knowledge of the message, so the message should be repeated by the device somewhat more often, that is, the inter-sending gap should not be increased. In the extreme, if more than a threshold number of copies of a message are received, further propagation can be terminated (send gap set to infinity). Rather than adjusting the send gap simply in dependence on the total number of copies received of the same message, the send gap could be adjusted in dependence on the number of copies received in a sliding time window or in dependence on some other measure of the current rate of receipt of message copies.
[0054] User Control—A more general form of propagation restriction can be exercised by the user specifying the types of message in which they have an interest and only accepting messages of those types, messages of other types being simply rejected without onward propagation. This filtering of the messages handled and propagated by a device can be effected according to at least one of:
[0055] the source of the message as indicated by a source identifier contained in the message (if required, authentication mechanisms can be used to confirm the source identity);
[0056] the type of information contained in the message as indicated by an information-type data item in the message.
[0057] Of course, the user of a device, whilst still wishing to receive messages, may not want his/her device to be used at all in message propagation and the device can be provided with means for enabling the user to completely deactivate message propagation. However, this is probably not desirable behaviour from the point of view of the party controlling the originating point as it interferes with the message propagation process whilst still benefiting the user. A way of requiring users to either participate fully or not at all is to arrange for the messages only to be viewable, or otherwise presentable, to a user if the message has been accepted for propagation. Since not all message originators may want to require such a regime of operation and since the device will normally be intended to receive other types of messages (not just those intended for propagation), it is convenient to append a message class designator to each message, this message class designator identifying:
[0058] messages which must be accepted for onward propagation if the message is to be accessible to the user of a device (such messages are termed “propagation mandatory” or “PM” messages hereinafter);
[0059] messages the onward propagation of which is optional, the messages being accessible to the device user whether or not the messages are accepted for propagation (such messages are termed “Propagation Optional” or “PO” messages hereinafter);
[0060] one or more other classes of message (for example, an “emergency” message class for messages, such as a fire alert, or a request for a doctor, that must be propagated under all circumstances).
[0061] The devices
[0062] Device Embodiment of FIGS.
[0063] Turning now to the particular embodiment of the mobile device
Message class field 21 this field contains the class designator indicating whether the message is of class PM, PO or other; Message ID field 22 this field contains a unique identifier of a message, the identified being retained by each copy of the same message; Message source ID field 23 this field contains the ID of the originating point 12 (fields 22 and 23 can be combined); Information type field 24 this field contains an indication of the type of information carried by the message - for example, whether it is advertising (and if so, what general type of product or service is involved) or position data relating to the originating point; Information field 25 this field contains the information being propagated, - this will generally be locality information; Time-to-live field 26 this field contains the time-to-live value discussed above in relation to limiting message life; Hop count field 27 this field contains the hop count discussed above in relation to limiting message life - in this example, hop count is intended to be decremented to zero; Locale Limit field 28 this field contains the locale limit information discussed above in relation to limiting message propagation to a particular area.
[0064] As shown in
[0065] The event handler
[0066] Mode store
[0067] A store
[0068] Each incoming message that is not immediately discarded is stored in a corresponding message entry
Timestamp 91 this is the time of storage of the message in store 41; RX Count 92 this is the number of times copies of the same message have been received by the device; TX Count 93 this is the number of times the message has been sent on; Dead Flag 94 this flag is set when the message is no longer to be propagated, the message having become inactive for this purpose, for example, as a result of a propagation limit having been reached; Keep Flag 95 this flag is set in response to the user indicating that he/she wants the message to be kept; Delete Flag 96 this flag is set when the user indicates no more interest in a message.
[0069] Message store is responsible for periodically running garbage collection process
[0070] With respect to the PM message receipt handler
[0071] Handler
[0072] The user is now alerted, using alert device
[0073] What happens next depends on whether the user has generically elected that all PM messages (including PO messages treated as PM messages) are accepted for propagation, or whether such election is to be effected on a message-by-message basis (see block
[0074] The operation of the device is such that it only permits a user to view a PM message if the message is accepted for propagation. The interruption of event-handler processing between blocks
[0075] Where a user has elected generically to accept PM messages, then no user intervention is required and the message is automatically accepted for propagation and is accessible to the user; there is thus no need to store an indication of which messages have yet to be accepted.
[0076] Continuing on the description of the operation of event handler
[0077] With respect to the locale check carried out in block
[0078] Considering next the gap timeout event handler
[0079] The purpose of the three flags Dead, Keep and Delete (respectively flags
[0080]
[0081] Rather than the fixed ten minute threshold discussed above, this threshold could be made adaptive according to the amount of free memory space in store
[0082] Variants
[0083] Many variants are possible to the above-described embodiment of the invention as will be appreciated by persons skilled in the art.
[0084]
[0085] As would be expected, if a device moves from near OP
[0086] By looking at this percentage, the device can decide whether it is “nearer” to OP
[0087] The curve of
[0088] Another variant concerns the method used to limit propagation based on setting a limit to the message life. In the system and device described above, a message time-to-live value in message field
[0089] Furthermore, in the above described embodiment, the receiving device checks immediately prior to the device's intended propagation of the message whether the message-life threshold has been exceeded; it is necessary to wait to this moment because the sending gap is variable and therefore a send time, and thus the remaining-life/age of the message cannot be predicted in advance. However, in cases where the device is arranged to schedule message propagation in advance in a way that enables it to know fairly accurately when the message is likely to be sent, the device can at the same time check whether the message—life threshold of the message will have been exceeded at the time the message is scheduled to be sent—if the threshold will have been exceeded then the message is not scheduled for sending.
[0090] Generally with respect to the defining parameters of the various propagation limiting techniques described above, the values of these parameters can be made dependent on the message characteristics (message class/message source/information type); in this way, the propagation of, for example, advertising messages can be more restricted that that of other message types.
[0091] As regards the application of user-specified message filters (step
[0092] A useful behaviour, at least in some circumstances, is to arrange for a device that is holding one or more messages for onward transmission, to send these messages immediately after having received a message (or messages) from another device, there being a high probability that the latter device will receive the transmitted messages. The transmission of a message in this way will, of course, result in the updating of the message transmission count (indeed, the count may be incremented by more than one to reflect the high probability of message receipt).