Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
COMPUTER-IMPLEMENTED CROWD INFLUENCING SYSTEM
Document Type and Number:
WIPO Patent Application WO/2014/121329
Kind Code:
A1
Abstract:
Described herein are systems, frameworks, methodologies, devices and components configured for influencing crowd behaviour at a facility. For example, one embodiment includes a hardware/software framework that is configured to monitor data from input devices thereby to gain awareness of human congestion in areas of a facility, and enable the performance of corrective actions. For instance, a rules engine is operated based on data from those input devices thereby to enable control of one or more crowd influencing devices. In some embodiments the rules engine uses model data thereby to define and implement an optimised crown movement plan. (Fig. 1)

Inventors:
KIRCHNER NATHAN (AU)
Application Number:
PCT/AU2014/000087
Publication Date:
August 14, 2014
Filing Date:
February 06, 2014
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
UNIV SYDNEY TECH (AU)
International Classes:
G06Q99/00; B61B1/00; G07C11/00
Foreign References:
US20110267179A12011-11-03
US6741175B12004-05-25
US20080195257A12008-08-14
Attorney, Agent or Firm:
SHELSTON IP (Level 21 60 Margaret Stree, Sydney New South Wales 2000, AU)
Download PDF:
Claims:
Claims

1 . A computer implemented method configured to influence crowd behaviour at a facility, the method including: maintaining communication with a plurality of sensing devices located at distributed locations within the facility, wherein each sensing device is configured to sense location and movement of persons in a respective observed region of the facility; receiving and processing data received from the plurality of sensing devices, thereby to maintain a central data set of current crowd information representing location and movement of persons within multiple regions of the facility; maintaining access to a repository of rule data that defines a plurality of executable rules, wherein each rule is associated with rule conditions and an action that is to be performed when the rule conditions are satisfied, wherein:

(i) the rule conditions include conditions that are able to be satisfied by the central data set representing location and movement of persons within multiple regions of the facility; and

(ii) the action includes, for at least a selection of the rules, providing output signals that are configured to control one or more crowd influencing devices positioned at locations within the facility; operating a rules engine that is configured to monitor the central data set, thereby to identify when rule conditions for a given one of the rules is satisfied and, in response to the rule conditions for the given one of the rules being satisfied, perform the action associated with that rule.

2. A method according to claim 1 including: maintaining access to data indicative of crowd movement pathways between areas in the facility; determining an optimised crowd movement plan based on the data indicative of crowd movement pathways and the central data set of current crowd information; and based on the determined optimised crowd movement plan, providing output signals to control a defined selection of crowd influencing devices positioned at locations within the facility, thereby to encourage, by way of visual signals, crowd movement in accordance with the optimised crowd movement plan.

3. A method according to claim 2 wherein the optimised crowd movement plan encourages movement along multiple pathways, wherein the multiple pathways include a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding, wherein the output signals encourage crowd movement along the second pathway.

4. A method according to any preceding claims including : maintaining access to a repository of facility infrastructure data, including data indicative of areas in the facility, and relationships between those areas; and operating the rules engine to be influenced by the facility infrastructure data.

5. A method according to claim 4 including : maintaining access to a repository of crowd movement model data, including the data indicative of crowd movement pathways between areas in the facility, and data indicative of anticipated crowd movement characteristics; and operating the rules engine to be influenced by crowd movement model data.

6. A method according to any one of claims 2 to 5 wherein one or more crowd influencing devices include any one or more of the following: a messaging system configured to transmit electronic messages to one or more recipients with instructions for moving along a pathway defined by the optimised crowd movement plan; and visual outputs configured to encourage crowd behaviour by way of lighting means.

7. A method according to any one of claims 2 to 6 including maintaining a repository of crowd predictive model data, including data indicative of predicted future crowd dispersion and movement information, and wherein the rules engine is influenced by the crowd predictive model data.

8. A method according to any one of claims 2 to 7 including receiving input data indicative of future crowd arrivals at a specified area in the facility, and wherein the rules engine is influenced by the data indicative of future crowd arrivals at a specified area in the facility.

9. A method according to any one of the preceding claims including providing an interface configured to enable a user of a client terminal to provide data indicative of optimisation parameters, and wherein the rules engine is influenced by the data indicative of optimisation parameters.

10. A method according to any one of the preceding claims including providing an interface configured to enable a user of a client terminal to observe data indicative of the central data set of current crowd information representing location and movement of persons within multiple regions of the facility and selectively control one or more of the crown influencing devices.

1 1 . A computer implemented method for influencing crowd behaviour at a facility, the method including the steps of: receiving input data from one or more monitoring devices configured to provide current crowd information at one or more areas in the facility; monitoring the input data there to determine whether one or more predefined conditions are met; and in the case that one or more of the predefined conditions are met, operating a rules engine thereby to define output signals configured to control one or more crowd influencing devices.

12. A method according to claim 1 1 including: maintaining access to data indicative of crowd movement pathways between areas in the facility; operating the rules engine to, on the basis of the data indicative of crowd movement pathways and current crowd information, determine an optimised crowd movement plan; and based on the determined optimised crowd movement plan, providing output signals

13. A method according to claim 12 wherein the optimised crowd movement encourages movement along multiple pathways, wherein the multiple pathways include a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding, wherein the output signals encourage crowd movement along the second pathway.

14. A method according to any one of claims 1 1 to 13 including: maintaining access to a repository of facility infrastructure data, including data indicative of areas in the facility, and relationships between those areas; and operating the rules engine to be influenced by the facility infrastructure data.

15. A method according to claim 14 including : maintaining access to a repository of crowd movement model data, including the data indicative of crowd movement pathways between areas in the facility, and data indicative of anticipated crowd movement characteristics; and operating the rules engine to be influenced by crowd movement model data.

16. A method according to any one of claims 12 to 1 5 wherein one or more crowd influencing devices include visual outputs, and the output signal control the visual outputs thereby to encourage crowd movement from one or more areas of the facility along a pathway defined by the optimised crowd movement plan.

17. A method according to any one of claims 12 to 16 wherein one or more crowd influencing devices include a messaging system, and the output signal control the messaging system thereby to transmit electronic messages to one or more recipients with instructions for moving along a pathway defined by the optimised crowd movement plan.

18. A method according to any one of claims 12 to 17 including maintaining a repository of crowd predictive model data, including data indicative of predicted future crowd dispersion and movement information, and wherein the rules engine is influenced by the crowd predictive model data.

19. A method according to any one of claims 12 to 18 including receiving input data indicative of future crowd arrivals at a specified area in the facility, and wherein the rules engine is influenced by the data indicative of future crowd arrivals at a specified area in the facility.

20. A computer implemented method configured to influence crowd behaviour at a facility, the method including: collecting real-time data indicative of locations and movement of persons within the facility; processing the data thereby to enable control of one or more crowd influencing devices distributed within the facility, thereby to encourage movement of persons in an optimised manner.

21 . A computer system configured to perform a method according to any one of claims 1 to 20.

22. A computer program configured to perform a method according to any one of claims 1 to 20.

23. A non-transitive carrier medium carrying computer executable code that, when executed on a processor, causes the processor to perform a method according to any one of claims 1 to 20.

Description:
COMPUTER-IMPLEMENTED CROWD INFLUENCING SYSTEM FIELD OF THE INVENTION

[0001] This invention relates to computer-implemented systems, framework, method and devices that are configured for application in the context of influencing the behaviour of persons, such as the position, movement or distribution of crowds of people. This is in some embodiments applied thereby to improve the utilisation of and/or movement through public spaces, facilities or infrastructure prone to congestion or undesirable patterns of ingress, egress or loitering.

[0002] Embodiments of the invention have been developed primarily for use in connection with public transport infrastructure such as railway stations, bus terminals, airports and the like and will be described predominantly in this context. It should be appreciated, however, that the invention is not limited to this particular field of use, being also adaptable to a variety of other applications and venues involving large congregations of people such as entertainment centres, shopping complexes, concert halls, sports stadiums, and the like.

BACKGROUND OF THE INVENTION

[0003] The following discussion of the prior art is intended to place the invention in an appropriate technical context and to allow the potential benefits of it to be more fully understood. However, any references to prior art should not be construed as an express or implied admission that such art is widely known or is common general knowledge in the relevant field.

[0004] When large numbers of people are attempting to move in, around or through restricted spaces, particularly with access bottlenecks such as stairways, escalators or doors, the formation of intermittent crowd concentrations or congestion points is a common if not inevitable occurrence. The knock-on effects of this phenomenon can be significant in terms of efficiency in the movement of large numbers of people, and also in terms of safety.

[0005] For example, in railway stations at peak times, passengers typically select particular entranceways with little or no knowledge of the optimal routes or positions, in terms of relative congestion. This routinely leads to overcrowding at ticketing machines, turnstiles, stairways, and other bottlenecks. It also typically results in pockets of crowd concentration on station platforms, causing obstructions and delays for passengers attempting to exit the train and for waiting passengers to subsequently board the train when it arrives. This is sometimes known in the field of public transportation as the "peak spreading" problem.

[0006] A similar problem arises if there are multiple exits from the platform, in which case again there are typically pockets of congestion, in part because passengers are unaware of the

Substitute Sheet

(Rule 26) RO/AU optimal exit route at that time. Of course the optimal entry points, exits, transit ways and positions may vary significantly according to the time of day and typical crowd flow patterns, as well as in response to ad hoc events such as train delays or cancellations, or the temporary closure of normal exit routes for maintenance and repairs.

[0007] In any event, the resultant backlogs, delays, crowd concentrations or platform "chokepoints" can have cascading effects on train timetables, as trains are required to remain on platforms for extended periods, which ultimately compromise the efficiency and effectiveness, as well as the user experience, of the entire network. Analogous effects are also, of course, encountered at congested bus terminals, airports, shipping terminals and other transport hubs. They are also seen in areas where crowds move within large infrastructure containi ng multiple points of interest, such as shopping malls, exhibition halls, museums, galleries and the like.

[0008] Similarly, at large gatherings such as concerts or sporting events, people will often enter or leave by the nearest exit, without knowledge of the relative extent of congestion with respect to other access points, or the time it will take to reach their intended seats, positions or destinations.

[0009] At the very least, this can lead to inconvenience, inefficiency, wasted time and frustration. However, at critical times such as during a mass exodus in an emergency situation, congestion at bottlenecks and exit points due to sub-optimal crowd movement or distribution can be a major safety hazard. In fact, it is well-known that if a crowd panics or "stampedes" in these situations, the results can be fatal. It is a tragic irony that in such circumstances, there are typically more injuries and deaths attributable directly to the panicking crowd, than to the underlying emergency or event that initially triggered the panic.

[0010] In an attempt to mitigate some of these effects, it is known to mark entry and exit points, and particularly emergency exits, with clear and prominent signage. However, this does not allow individuals in crowds to determine the optimal entry or exit points, or optimal waiting positions in extended spaces such as railway platforms, at any particular point in time based on expected or prevailing congestion, or other variable location-specific factors.

[001 1 ] It is an object of the present invention to overcome or ameliorate one or more disadvantages of the prior art, or at least to provide a useful alternative.

SUMMARY OF THE INVENTION

[0012] Accordingly, in a first aspect, the invention provides a computer implemented method for influencing crowd behaviour at a facility, the method including the steps of: maintaining access to data indicative of crowd movement pathways between areas in the facility;

receiving input data from one or more monitoring devices configured to provide current crowd information at one or more areas in the facility;

monitoring the input data there to determine whether one or more predefined conditions are met; and

in the case that one or more of the predefined conditions are met, operating a rules engine thereby to define output signals configured to control one or more crowd influencing devices.

[0013] In one embodiment, the method includes the step of operating the rules engine to determine an optimised crowd movement plan on the basis of the data indicative of crowd movement pathways and current crowd information, and generating the output signals thereby to control one or more of the crowd influencing devices in accordance with the crowd movement plan.

[0014] In one embodiment, the optimised crowd movement plan incorporates multiple pathways, including a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding, wherein the output signals encourage crowd movement along the second pathway.

[0015] In one embodiment, the method further includes the steps of: maintaining access to a repository of facility infrastructure data, including data indicative of areas in the facility, and relationships between those areas; and operating the rules engine to be influenced by the facility infrastructure data.

[0016] In one embodiment, the method includes the step of: maintaining access to a repository of crowd movement model data, including the data indicative of crowd movement pathways between areas in the facility, and data indicative of anticipated crowd movement characteristics; and operating the rules engine to be influenced by crowd movement model data.

[0017] In some embodiments, one or more of the crowd influencing devices include visual outputs, and the output signals control the visual outputs thereby to encourage crowd movement from one or more areas of the facility along a preferred or optimised pathway, or to a preferred location, defined by the optimised crowd movement plan. In some embodiments, the visual outputs include lights, signs or display screens. [0018] In one embodiment, a system of visual outputs including colour-coded lights is employed whereby, for example, green lights indicate areas or pathways of relative under- crowding, orange lights indicate areas or pathways of moderate relative crowding, and red lights indicate areas or pathways of relative congestion or overcrowding. In other embodiments, the visual outputs or other modes of crowd influence or encouragement may be relatively more subtle, surreptitious or indirect.

[0019] In some embodiments, one or more crowd influencing devices include a messaging system, and the output signals control the messaging system thereby to transmit electronic messages to one or more recipients with instructions for moving along an optimal or preferred pathway defined by the optimised crowd movement plan. In some embodiments, the messaging system is adapted to send messages by SMS, e-mail, smartphone applications, or otherwise across a cellular, WiFi or similar networks in response to the output signals.

[0020] In some embodiments, the method includes the step of maintaining a repository of crowd predictive model data, including data indicative of predicted future crowd dispersion and movement information, and the rules engine is preferably responsive to or influenced by the crowd predictive model data. In some embodiments, the predictive model data includes historical crowd concentration data.

[0021 ] In some embodiments, the rules engine includes an adaptive learning algorithm, adapted to progressively or periodically update the historical crowd concentration data and/or operator constraints or objectives in a memory module, based on the subsequent acquisition of current crowd information. In some embodiments, the rules engine includes combinations of elements that are progressively adaptive over time, situationally responsive in real time, and/or that incorporate algorithmic implementations of expert knowledge or experience that may be manually updated from time to time. The rules engine in some embodiments may also incorporate probabilistic or stochastic algorithms, rules or subroutines.

[0022] In some embodiments, the method includes the step of receiving input data indicative of anticipated future crowd arrivals at a specified area in the facility, and wherein the rules engine is responsive to or influenced by the data indicative of future crowd arrivals at a specified area in the facility. In one embodiment, the data indicative of anticipated future crowd arrivals is derived from one or more crowd sensing devices on a public transportation vehicle such as a train.

[0023] In another embodiment, the data indicative of anticipated future crowd arrivals is derived from sensing devices adapted to count passengers boarding and alighting from the vehicle at each preceding stop, thereby enabling current passenger numbers on the vehicle to be calculated, inferred or approximated at any given point in time. In some embodiments, these method steps may also be adapted to provide a further level of data indicative of relative congestion in different sections or carriages on the same train, for example by sensing and counting passengers boarding and alighting, on a carriage-by-carriage basis.

[0024] In some embodiments, the method includes the step of providing an interface configured to enable a user of a client terminal to provide data indicative of optimisation parameters, and wherein the rules engine is responsive to or influenced by the data indicative of optimisation parameters. In this way, the system allows an operator to manually affect on demand how the rules engine operates.

[0025] In some embodiments, the monitoring devices configured to provide current crowd information include cameras and associated software adapted for people recognition . In one embodiment, RGB-D cameras adapted to transmit image and associated field depth data are used. Bayesian recognition techniques, including adaptive techniques may be utilised in conjunction with such systems.

[0026] In some embodiments, the same output signals, for example a green light to indicate a relatively clear exit, may be displayed to all people in the same general location, with the aim of providing substantially the same influence to all people in that section of the crowd. In other embodiments, different output signals may be provided to different people in the same group, via personal devices such as smartphones.

[0027] The range and distribution of individualised output signals may be determined by the rules engine, for example on a statistical allocation based on anticipated collective compliance rates in response to the output signals. The individualised output signals may also be responsive to pre-defined user preferences. For example, through an interface provided as part of the method, some users may specify as a priority the avoidance of crowds as a high priority, while other users may specify the fastest or most direct route as a priority. Yet others may specify as a priority platform entrances or positions with proximity to train carriage(s) with the highest probability of a vacant seat, as a priority. Further preferences may include entrances or exits enabled for wheelchair access, or other such priorities.

[0028] One embodiment provides a computer implemented method configured to influence crowd behaviour at a facility, the method including:

[0029] maintaining communication with a plurality of sensing devices located at distributed locations within the facility, wherein each sensing device is configured to sense location and movement of persons in a respective observed region of the facility; [0030] receiving and processing data received from the plurality of sensing devices, thereby to maintain a central data set of current crowd information representing location and movement of persons within multiple regions of the facility;

[0031 ] maintaining access to a repository of rule data that defines a plurality of executable rules, wherein each rule is associated with rule conditions and an action that is to be performed when the rule conditions are satisfied, wherein:

[0032] (i) the rule conditions include conditions that are able to be satisfied by the central data set representing location and movement of persons within multiple regions of the facility; and

[0033] (ii) the action includes, for at least a selection of the rules, providing output signals that are configured to control one or more crowd influencing devices positioned at locations within the facility;

[0034] operating a rules engine that is configured to monitor the central data set, thereby to identify when rule conditions for a given one of the rules is satisfied and, in response to the ru le conditions for the given one of the rules being satisfied, perform the action associated with that rule.

[0035] One embodiment provides a method including:

[0036] maintaining access to data indicative of crowd movement pathways between areas in the facility;

[0037] determining an optimised crowd movement plan based on the data indicative of crowd movement pathways and the central data set of current crowd information; and

[0038] based on the determined optimised crowd movement plan, providing output signals to control a defined selection of crowd influencing devices positioned at locations within the facility, thereby to encourage, by way of visual signals, crowd movement in accordance with the optimised crowd movement plan.

[0039] One embodiment provides a method wherein the optimised crowd movement plan encourages movement along multiple pathways, wherein the multiple pathways include a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding, wherein the output signals encourage crowd movement along the second pathway.

[0040] One embodiment provides a method including:

[0041 ] maintaining access to a repository of facility infrastructure data, including data indicative of areas in the facility, and relationships between those areas; and

[0042] operating the rules engine to be influenced by the facility infrastructure data.

[0043] One embodiment provides a method including:

[0044] maintaining access to a repository of crowd movement model data, including the data indicative of crowd movement pathways between areas in the facility, and data indicative of anticipated crowd movement characteristics; and

[0045] operating the rules engine to be influenced by crowd movement model data.

[0046] One embodiment provides a method wherein one or more crowd influencing devices include any one or more of the following: a messaging system configured to transmit electronic messages to one or more recipients with instructions for moving along a pathway defined by the optimised crowd movement plan ; and visual outputs configured to encourage crowd behaviour by way of lighting means.

[0047] One embodiment provides a method including maintaining a repository of crowd predictive model data, including data indicative of predicted future crowd dispersion and movement information, and wherein the rules engine is influenced by the crowd predictive model data.

[0048] One embodiment provides a method including receiving input data indicative of future crowd arrivals at a specified area in the facility, and wherein the rules engine is influenced by the data indicative of future crowd arrivals at a specified area in the facility.

[0049] One embodiment provides a method including providing an interface configured to enable a user of a client terminal to provide data indicative of optimisation parameters, and wherein the rules engine is influenced by the data indicative of optimisation parameters. [0050] One embodiment provides a method including providing an interface configured to enable a user of a client terminal to observe data indicative of the central data set of current crowd information representing location and movement of persons within multiple regions of the facility and selectively control one or more of the crown influencing devices.

[0051 ] One embodiment provides a computer implemented method for influencing crowd behaviour at a facility, the method including the steps of:

[0052] receiving input data from one or more monitoring devices configured to provide current crowd information at one or more areas in the facility;

[0053] monitoring the input data there to determine whether one or more predefined conditions are met; and

[0054] in the case that one or more of the predefined conditions are met, operating a rules engine thereby to define output signals configured to control one or more crowd influencing devices.

[0055] One embodiment provides a method including:

[0056] maintaining access to data indicative of crowd movement pathways between areas in the facility;

[0057] operating the rules engine to, on the basis of the data indicative of crowd movement pathways and current crowd information, determine an optimised crowd movement plan; and

[0058] based on the determined optimised crowd movement plan, providing output signals

[0059] One embodiment provides a method wherein the optimised crowd movement encourages movement along multiple pathways, wherein the multiple pathways include a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding, wherein the output signals encourage crowd movement along the second pathway.

[0060] One embodiment provides a method including:

[0061 ] maintaining access to a repository of facility infrastructure data, including data indicative of areas in the facility, and relationships between those areas; and [0062] operating the rules engine to be influenced by the facility infrastructure data. [0063] One embodiment provides a method including:

[0064] maintaining access to a repository of crowd movement model data, including the data indicative of crowd movement pathways between areas in the facility, and data indicative of anticipated crowd movement characteristics; and

[0065] operating the rules engine to be influenced by crowd movement model data.

[0066] One embodiment provides a method wherein one or more crowd influencing devices include visual outputs, and the output signal control the visual outputs thereby to encourage crowd movement from one or more areas of the facility along a pathway defined by the optimised crowd movement plan.

[0067] One embodiment provides a method wherein one or more crowd influencing devices include a messaging system, and the output signal control the messaging system thereby to transmit electronic messages to one or more recipients with instructions for moving along a pathway defined by the optimised crowd movement plan.

[0068] One embodiment provides a method including maintaining a repository of crowd predictive model data, including data indicative of predicted future crowd dispersion and movement information, and wherein the rules engine is influenced by the crowd predictive model data.

[0069] One embodiment provides a method including receiving input data indicative of future crowd arrivals at a specified area in the facility, and wherein the rules engine is influenced by the data indicative of future crowd arrivals at a specified area in the facility.

[0070] One embodiment provides a computer implemented method configured to influence crowd behaviour at a facility, the method including:

[0071 ] collecting real-time data indicative of locations and movement of persons within the facility;

[0072] processing the data thereby to enable control of one or more crowd influencing devices distributed within the facility, thereby to encourage movement of persons in an optimised manner. [0073] One embodiment provides a non-transitive carrier medium for carrying computer executable code that, when executed on a processor, causes the processor to perform a method as described herein.

[0074] One embodiment provides a system configured for performing a method as described herein.

[0075] Reference throughout this specification to "one embodiment", "some embodiments" or "an embodiment" means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases "in one embodiment", "in some embodiments" or "in an embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment, but may do so. Furthermore, the particular features, structures or characteristics may be combined in any suitable manner, as would be apparent to one of ordinary skill in the art from this disclosure, in one or more embodiments.

[0076] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third", etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.

[0077] In the claims below and the description herein, any one of the terms comprising, comprised of or which comprises is an open term that means including at least the elements/features that follow, but not excluding others. Thus, the term comprising, when used in the claims, should not be interpreted as being limitative to the means or elements or steps listed thereafter. For example, the scope of the expression a device comprising A and B should not be limited to devices consisting only of elements A and B. Any one of the terms including or which includes or that includes as used herein is also an open term that also means including at least the elements/features that follow the term, but not excluding others. Thus, including is synonymous with and means comprising.

[0078] As used herein, the term "exemplary" is used in the sense of providing examples, as opposed to indicating quality. That is, an "exemplary embodiment" is an embodiment provided as an example, as opposed to necessarily being an embodiment of exemplary quality.

[0079] The terms "preferred", "preferably" and the like in relation to various embodiments of the invention do not necessarily imply any particular hierarchy of preference in relation to other embodiments, and in particular do not imply that other embodiments are in any way less preferred, or less viable.

BRIEF DESCRIPTION OF THE DRAWINGS

[0080] Preferred embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings in which:

[0081 ] FIG. 1 schematically illustrates a framework according to one embodiment of the invention;

[0082] FIG. 2 illustrates a method according to one embodiment of the invention;

[0083] FIG. 3 illustrates a facility in the form of a train station incorporating a framework, method and system according to one embodiment of the invention ; and

[0084] FIG. 4 illustrates an exemplary user interface according to one embodiment.

DETAILED DESCRIPTION

[0085] Described herein are systems, frameworks, methodologies, devices and components configured for influencing crowd behaviour at a facility. For example, one embodiment includes a hardware/software framework that is configured to monitor data from input devices thereby to gain awareness of human congestion in areas of a facility, and enable the performance of corrective actions. For instance, a rules engine is operated based on data from those input devices thereby to enable control of one or more crowd influencing devices. In some embodiments the rules engine uses model data thereby to define and implement an optimised crown movement plan.

[0086] Referring to the drawings, FIG. 1 illustrates an exemplary framework according to one embodiment, including various hardware/software components configured to provide functionality for various embodiments. It should be noted that, although FIG. 1 illustrates a number of exemplary components, modules and functionalities, it is by no means necessary that all functionalities be present in a given embodiment. Rather, for the sake of efficient explanation, a number of optional features and functionalities are grouped together into the embodiment shown.

[0087] FIG. 1 illustrates a crowd management system 100, which may be defined by a single computer system, or a collection of networked computing components (which are optionally hosted at distributed locations). In one form, system 100 is defined by a device having hardware components 101 including a processor 102, a memory module 103, and network modules 104. Memory module 103 contains computer executable code (also referred to as software instructions) that are executable on processor 102 thereby to provide various functionalities and implement various methods, including functionalities and methods described herein. The computer executable code may be stored on a non-transitive carrier medium, such as on a memory device.

[0088] In the context of FIG. 1 , memory module 102 provides software instructions for a plurality of software "modules" 105 which in essence define logically identifiable functionalities provided by system 100. It is by no means necessary that the software instructions are coded in such a manner as to provide physically distinct modules; rather the modules are functionally defined thereby to enable efficient description of functionalities of system 100.

[0089] One or more input processing modules 106 are configured to receive and process input data from a number of sources. For example, this data is communicated over a wired or wireless network and received by network modules 1 04, and then processed by modules 106. In broad terms, the input processing modules are configured to receive data from a range of sources that provide information including data relevant to understanding of current and expected crowd locations and/or dynamics. The received data is normalized and written to a database 1 15 (or otherwise maintained in a condition whereby it is accessible for the purposes of subsequent processing). In some cases a given module is configured to process data form a range of different source types; in some cases there is a one-to-one relationship between input processing modules and source types.

[0090] System 100 maintains communication with a plurality of sensing devices located at distributed locations within a facility. In FIG. 1 , these are illustrated as monitoring devices 120. The expression "maintaining communication" means that server 100 is configured to receive data from these devices. It is by no means necessary that communication is maintained on a continuous basis; communication may be maintained in such a manner as to either receive periodic data from given monitoring devices (i.e. periodic push data), and/or periodically request or obtain data from such devices (i.e. periodically pull data). Furthermore, the communication between system 100 and devices 120 may be via one or more intermediary devices. In this regard, the term "maintaining communication" requires only that system 100 is able to receive, by whatever technical means, data that is defined subject to the operation of one or more of devices 120.

[0091 ] In the context of FIG. 1 , the sources configured to provide data to input processing modules 106 include a plurality of monitoring devices 120. These include the likes of video devices (for example still and video cameras, surveillance systems, and associated hardware), sensors 122 (for example congestion sensors, pressure sensors, heat sensors, and so on), external information systems 123 (for example systems that provide data relating to event scheduling, ticketing, and so on) and other monitoring devices 124. It will be appreciated from the disclosure below that system 100 is adaptable to work with a wide range of monitoring devices including by not limited to sensing devices that are configured to sense location and movement of persons in a respective observed region of the facility.

[0092] In essence, system 100 is configurable to receive and utilise data from substantially any source; a rules-based approach is implemented such that substantially any form of knowledge and/or situational awareness data may be incorporated into downstream processing.

[0093] System 1 00 includes user interface modules (Ul modules) 107, which enable a user of an exemplary client terminal 130 to access functionalities of system 100, for example by way of a web browser arrangement (in which case substantive software instructions are maintained by system 1 00 rather than terminal 130) or via a proprietary software arrangement (in which case the substantive software instructions are maintained at terminal 130). Functionalities available to a user of terminal 130 include modification of configurational aspects, review of analytical data, and manual intervention (for example manual control of crowd influencing devices, as discussed further below).

[0094] Preferably one or more of monitoring devices 120 are configured to provide current crowd information at one or more areas in the facility. For example, this may include crowd density and/or movement characteristics. It will be appreciated that this is readily achieved using the likes of video and/or IR cameras, using various existing video analytics software applications. For example, cameras are able to be applied to track movement using known technologies, and this may be used to provide a data-driven representation of the location and movement of individuals within a region observed by one or more cameras. Database 1 15 in this manner maintains a central data set of current crowd information representing location and movement of persons within multiple regions of the facility. This is optionally used to generate a real time facility crowd map, as discussed in more detail below by reference to FIG. 4.

[0095] System 100 maintains access to a repository of rule data that defines a plurality of executable rules. For example, this may include rules stored in memory local to system 100, or rules stored in memory of computing components remote of system 100 by in respect of which system 100 maintains access (being either continuous or periodic access. A rules engine 1 12 operates thereby to perform actions responsive to data received from monitoring devices 120 (and in some embodiments from additional sources of data). Each rule in the repository of rule data is associated with rule conditions, and additionally associated with an action that is to be performed when the rule conditions are satisfied.

[0096] For at least a subset of the rules, the rule conditions include conditions that are able to be satisfied by data in database 1 15 (for example based on a central data set representing location and movement of persons within multiple regions of the facility). That is, rule conditions may include a threshold number or density of people in a certain region, a certain number or density of people moving towards a certain region, and so on. Various other inputs for rule conditions may also be used, including data relating to facility conditions, such as closure of passageways, approaching trains, and so on. It will be appreciated that the use of a rules engine enabled a flexible and adaptable framework allowing rules to be defined based on a range of conditions, including (but not solely limited to ) location and movement of persons within multiple regions of a given facility.

[0097] For at least a subset of the rules, the action includes, providing output signals that are configured to control one or more crowd influencing devices positioned at locations within the facility. This is discussed in more detail below, however in general terms the rules in this manner enable crowd influencing devices to be automatically controlled based on data including (but not limited to) sensed location and movement of persons within multiple regions of a given facility. Other actions may include providing alerts within system 100, providing input data to another software/hardware component, and so on.

[0098] Rules engine 1 12 operates thereby to determine whether one or more predetermined conditions are met for a given rule (or in a functionally similar manner defined for an alternate form of rules engine). That is, in the case that one or more of the predefined rule conditions are satisfied for a given rule, the rules engine operates thereby to define output signals in accordance with the action (for example output signals configured to control one or more crowd influencing devices 140).

[0099] In overview, crowd influencing devices 140 may take a range of forms, but generally include devices capable of influencing persons in a facility, either by explicit instruction or implicit coercion. For example, crowd influencing devices may include:

• Lighting systems. For example, these may be used to control the operation of one or more lights in a facility. These lights may be used to indicate movement pathways that are suggested as preferably by the optimised plan. In one embodiment, a system of colour-coded lights is used, for example green lights to indicate pathways or areas of relative under-crowding, orange lights to indicate pathways or areas of relatively moderate crowding, and red lights to indicate pathways or areas of relative over- crowding. In some embodiments lighting systems are incorporated into bollard devices, each bollard device including multiple lights (for example LEDs) and a communications module configured to receive control signals directly or indirectly from system 100.

• Information display devices, including controllable signs, screens, and so on. By way of example, these may be used to provide messages and/or explicit instructions in relation to particular entrances, exits, pathways or areas that are relatively congested or relatively uncrowded, as the case may be.

• SMS/messaging systems (optionally including email, app-based notifications, and so on). These may be used, for example, to provide direct communications to individuals who subscribe to receive such notifications.

• Audible signals such as audio tones designed to be either attractive or repulsive, such as a relatively pleasant bell chime or a relatively unpleasant buzzer.

• Air-conditioning outlets controlled, for example, to create areas of relative comfort and discomfort based on localised differential temperatures.

• Lights adapted to flash periodically at different rates, encouraging people to walk faster or slower so subconsciously to match their walking cadence to the rate of flashing.

• Music at different rhythmic frequencies, encouraging people to walk faster or slower so as subconsciously to match their walking cadence to the musical beats.

• Door control mechanisms adapted to make particular access options appear more or less desirable. For example, opening one set of train doors noticeably later than another set of doors encourages people to head towards what is perceived to be the "quicker" or more certain alternative.

• Display screen or monitor control mechanisms adapted to regulate content displayed to passengers in different areas. For example, display screens in overcrowded areas may be deactivated, or switched to less desirable program content, while at the same time display screens in less crowded areas may be activated or switched to relatively more desirable program content.

[00100] In overview, referring again to rules engine 1 12, in some embodiments rules are configured using logical operators, for example based on IF, THEN and ELSE criteria. For example, a simple rule might be IF human density data from "Video Device A" is greater than "Value B" THEN provide instruction to "Lighting System C" to perform "Action D". It will be appreciated that a wide range of rules, ranging from simple to complex (for example incorporating operators such as AND and OR), may be defined in the context of configuring system 100. In some embodiments client terminal 130 is enabled to view, modify and/or create rules for rules engine 1 12.

[00101 ] FIG. 2 illustrates a method 210 performed by system 100 according to one embodiment. Functional block 21 1 represents a process including commencing a monitoring process based on a rule. For example, in some embodiments upon creation (or implementation) of a rule, a process is generated thereby to monitor predefined conditions associated with that rule (in some cases including an individual process for each condition or sub-condition). For example, a process may monitor input data from a given camera such as an RGBD video camera (or analytics stream associated with that camera) thereby to determine if congestion and/or crowd flow displays objectively defined threshold parameters. In some cases the monitoring is active (i.e. values actively monitored) and in other cases monitoring is reactive (e.g. changes in data values for events which are observable to the rules engine and/or other components).

[00102] Functional block 212 represents a process including the monitoring of a predetermined event, which satisfies predefined conditions for a given rule (noting that in some cases a rule may rely on multiple predefined conditions being met, based on the underlying rule logic). In the case that predefined conditions for a rule are satisfied, an action is performed based on that rule at 213 (noting that "performing an action" might include an active decision to take no action). Functional block 214 represents a process including instructing one or more crowd influencing devices based on performance of the rule.

[00103] It will be appreciated that, in the manner described above, rules engine 1 12 is primarily configured to react to situations in a manner specifically prescribed by manual configuration. That is, for a predefined set of conditions, there is a defined course of action to be adopted. In some embodiments, functionality of rules engine 1 12 is enhanced thereby to enable determination of a course of action based on automated modelling, as opposed to manual configuration (or in combination with manual intervention). That is, system 100 is configured with data indicative of a facility and pathways in a facility, and thereby enabled to make intelligent automated decisions based on input data thereby to determine an optimised crowd movement plan, and instructions that are provided to output devices to implement that plan.

[00104] In the context of FIG. 1 , a congestion analysis module 108 operates in conjunction with a rules engine 1 12 and an action determination module 1 13 thereby to perform actions based on analysis of received input data. The analysis module 108 is preferably configured, on the basis of data indicative of crowd movement pathways and current crowd information, to determine an optimised crowd movement plan. Action determination module 1 13 then determines signals to be provided to one or more of output modules 140 thereby to implement that plan.

[00105] Various aspects of data may be extracted from database 1 1 5 (and/or other sources) thereby to influence analysis. Of these, the following are specifically illustrated in FIG. 1 :

• Facility infrastructure data 109. This data describes a facility (for example a building, stadium, public space, transportation venue, or the like) in respect of which system 100 is configured to operate. The precise nature of facility infrastructure data varies between embodiments, but preferably includes information relating to locations, location capacities, relationships between locations, and so on. For example, a location might be defined in terms of its ideal and maximum capacity (in terms of crowd) , its exits, and the capacity of those exits (for example in terms of number of people-per-second, or based on a predefined objective rating scale).

• Crowd movement model data. This data may include data indicative of crowd movement pathways between areas in the facility. For example, this preferably describes modelled movement of crowds through a facility, for example in terms of locations and destinations. For example, it may define possible pathways from a given origin to a destination, or multiple destinations.

• Crowd predictive model data. For example, this may include model data representing likely destinations for persons in certain locations based on factors such as time of day and the like. For example, in a facility that experiences peak hour commuter traffic, primary crowd flows may reverse between a morning peak and an evening peak. This data may also be configured to predict likely arrivals, for example based in manual inputs, a learning algorithm, and/or data indicative of expected arrivals (for example, in the case of a facility having a train platform, based on train timetables). Those skilled in the art will recognise various modelling techniques that may be applied; it will be appreciated that this model data may range considerably in complexity between embodiments.

[00106] It will be appreciated that various known modelling and autonomous decision techniques, including artificial intelligence and robotics decision techniques, may be used to configure modules 108, 1 12 and 1 13 thereby to make intelligent decisions autonomously, in relation to optimised crowd movement for a given modelled facility based on a set of input data from devices 120. The optimised crowd movement plan encourages movement along multiple pathways, wherein the multiple pathways include a first pathway for which the current crowd information indicates relative over-crowding and a second pathway for which the current crowd information indicates relative under-crowding (with the plan encouraging, for at persons in certain areas of the facility, crowd movement along the second pathway).

[00107] A crowd movement plan may be defined using an algorithm that takes into account current and predicted human density at various regions, and seeks to balance density at those areas and/or maintain density in each area below a threshold level.

[00108] Several examples are provided below. It will be appreciated that these are in some embodiments implemented using logic-based rules, and in other embodiments based on a rules engine that leverages modelled data and makes autonomous decisions regarding crowd movement optimisation.

[00109] Example 1: Congestion in a first zone exceeds an objectively defined threshold. Lighting devices are activated thereby to encourage people in one or more other zones to follow a pathway that avoids the first zone.

[001 1 0] Example 2: Congestion in a first zone exceeds an objectively defined threshold. Messages are sent to mobile devices thereby to inform of congestion, and suggest alternate routes.

[001 1 1 ] Example 3: Data indicative of passenger dispersion in an approaching train is received. Lighting devices are controlled thereby to encourage movement by disembarking passengers thereby to move portions of the resulting crowd towards particular exit pathways, thereby to reduce congestion at a given pathway.

[001 1 2] Example 4: Data indicative of passenger dispersion in an approaching train is received. Lighting devices on the platform are controlled in advance of the predicted arrival time, thereby to encourage movement by waiting passengers to portions of the platform remote from the most congested carriages in the train, thereby to facilitate both the disembarking of passengers from the train on arrival, and the entry of waiting passengers onto the train.

[001 1 3] Example 5: Overall station congestion indicates that travel times will currently be longer (or at least no shorter), than if the passenger waits for a period before entering the station and attempting to travel. This information, including optimal delay times, may be communicated directly to passengers via smartphones or other networked devices prior to their arrival at the station, as well as by lights or other signals or messages displayed at station entrances.

[001 14] FIG. 3 illustrates diagrammatically one particular implementation of an embodiment, in the context of a railway station 300, incorporating a ticket turnstile 301 and multiple station platforms 302 with respective entrances and exits 303. The platforms incorporate monitoring devices in the form of cameras (not shown) such as RGBD video cameras with associated human recognition software adapted to generate input data indicative of relative crowd density at different parts of the platform, and at different platforms in the station, in real time.

[001 15] Platform areas A, B, C, D, E and F incorporate crowd influencing devices in the form of embedded floor lighting modules 304, adapted to change colour in response to output signals from system 100 (for example the lighting modules are controlled by a lighting system 141 ) . In this embodiment, lighting modules 304 are configured to display directional arrows, "runway lights" or the like to indicate the direction the crowd should move in order to alleviate the relative congestion in particular areas. For example, these assist in splitting a crowd between the stairs adjacent areas A/D and areas B/F.

[001 16] In other embodiments, the lighting modules may simply illuminate different colours in different locations, for example red to indicate relatively high localised crowd density or congestion, orange to indicate relatively moderate crowd density, and green to indicate relatively low crowd density. In this respect, it is important to note the significance of the relative aspect of these indications. A particular area may appear to the passengers in that area to be somewhat crowded. However, that area may in fact be relatively less crowded than other parts of the platform or station, in which case localised green lighting would provide an indication of that fact. In this regard, it should be appreciated that the physical layout of the system is condensed in the diagrammatic representation of figure 3, for illustrative purposes. In a practical implementation, however, these areas may be widely spaced apart, and the congestion in any one area may not be readily visible to passengers standing in other areas.

[001 17] In a further variation of this embodiment, the input data also includes data indicative of passenger dispersion in carriages of an approaching train 305. In this case, the embedded lighting devices on the relevant station platform are controlled at least in part to encourage movement by waiting passengers to portions of the platform remote from the most congested carriages in the train, thereby to facilitate both the disembarking of passengers from the train on arrival, and the entry of waiting passengers onto the train.

[001 18] As briefly noted further above cameras are able to be applied to track movement using known technologies, and this may be used to provide a data-driven representation of the location and movement of individuals within a region observed by one or more cameras, and this is optionally used to generate a real time facility crowd map. FIG. 4 illustrates an application of such technology, by way of an exemplary user interface screenshot.

[001 1 9] User interface 400 is rendered at a client terminal, for example within a window of a web browser application. An interface object 405 provides a graphical representation of a region in a facility (for example by way of a floor plan). This is preferably able to be navigated, for example using pan/zoom controls (and/or other navigation controls 430) thereby to change the viewed region. Object 405 is populated using real time data derived from sensing equipment thereby to display positions and movement of sensed persons. In this case, each sensed person is represented by a dot 420. It will be appreciated that the display might lag behind precise "real time" based on network delays and the like. Object 405 also displays crowd influencing devices 410, along with data indicative of their current states (for example, colour may be used to reflect the state of a derive in the context of a light it is currently displaying).

[00120] Objects 430 provide an indicative selection of Ul objects that may be provided by way of such a user interface. These include:

• Navigation controls 431 , which enable a user to exercise control over which region of a facility is to be viewed.

• Incoming train information, which provides information concerning train arrivals, passenger densities, predicted de-board rates, and so on.

• Alert modules 433, which provide to the user information regarding observed problematic congestion, failures in equipment, and the like.

• Control modules 434, which assist a user in manually controlling hardware, including crowd influencing devices and other devices (such as doors, escalators, turnstiles, and so on). These controls may also allow operator influence over rules that are being applied to automate control.

[00121 ] It will be appreciated that a user interface such as interface 400 is useful in the context of providing operator awareness over human congestion in a facility, and in allowing manual override of automated crowd influencing functions.

[00122] Provided below is description of an exemplary algorithm that is used in some embodiments thereby to implement an optimised crown movement plan (via a rules driven approach). This explanation serves to provide a high level overview and explanation in order to provide a conceptual and functional understanding. In this example, a 'cost/value function' optimisation type algorithm is used, with provisions for uncertainty. The example is specifically relevant to a train station.

[00123] For this example, the following input values (which are preferably available in database 1 15) are initially used:

/. Immediate area ACTUAL occupancy: The actual sensed occupancy of an area.

//. Local ACTUAL occupancy: The actual sensed occupancy of a local area.

///. From-incoming-trains EXPECTED occupancy: a calculated expected occupancy based on expected egress from a train at the area. This may be derived from sensing equipment on trains.

IV. From-arriving-through-gates&thoroughfairs PREDICTED occupancy: a predicted occupancy based on data collected from gates and thoroughfares approaching an area.

V. From-arriving-based-on-historical-data-collected-by-the-syst em PREDICTED expected:

This makes use of historical data to weigh in on predictions.

VI. Operators-current-OVERRIDE-objective: this allows an operator manual override to influence the algorithm,.

[00124] These input items are used to define an influencing actuation using weighting values w1 to w6:

Inf = wVlmmediate area ACTUAL occupancy + w2 * Local ACTUAL occupancy + w3 * From-incoming-trains EXPECTED occupancy + w4 * From-arriving-through- gates&thoroughfairs PREDICTED occupancy + w5 * From-arriving-based-on-historical- data-collected-by-the-system PREDICTED expected + w6 * operators-current- O VERRIDE-objective

[00125] This may be conceptualised as a the supervisory control layer.

[00126] There are three categories/types of inputs for the various items in the cost function: • Actual real time sensed data (I to I II) from sensing components.

• Predicted data (IV and V) ; predictions are made based on looking at current behaviours and situations against past observations to predict (estimate) outcomes with reasonable accuracy, e.g. "people walking in that particular direction that do a big turn around that particular column tend to go to platform 4" (IV) and "based on past data about 70% of people arriving between 2-3pm go to platform 1 " (V).

• Operator objectives (IV) ; the operator may want to override the entire system for special events or emergencies, due to unexpected changes or the like.

[00127] Each of these items/categories has several layers of underlying processing :

• Interpretation for the sensing to determine information such as the number of people, their paths, their direction of movement, their behaviours, etc

• Pattern matching, data searching, expert system encoding and retrieval, etc. that form the basis upon which accurate and meaningful predictions are made.

• A cognitive layer that allow operators to express objectives in operators' terms and translates those objective into system terms and actions.

[00128] Then, for each individual item in the overall function there is a weighting term unique for each item (w1 to w6). A weighting term is both firstly mechanism for setting the importance or impact of that particular item to the overall output. For instance, in an event the weighting of the operator objective term would be set very high to bias the output heavily towards serving that requirement; and secondly a scaling factor to compensate for 'how well' the influencing actuation works at that point. For instance, at the gates 90% of people might be influenced, but at the stairs only 60% of people are influenced, and then again on the platform 85% of people might be influenced. This weight term allows compensation for such differences.

[00129] The weightings are preferably derived from expert knowledge and/or are empirically derived. For influence, in one example the immediate area influence weighting w1 is set to 30% as expert knowledge in the fields of behaviour science, psychology and human-robot interaction suggests that this is a reasonable and conservative estimate. However, some experimental results suggest that this weight should be set closer to 85% in certain real-world circumstances. Accordingly, weightings may require optimisation over time for any given implementation . In this way, the algorithm supports 'best guess' from the experts and allows for over arching meaningful control in that condition. However, it further supports empirical calibration meaning it is possible change the weighting factor with this new 'more accurate' value and our over arching control will be improved as a result.

[00130] In this regard, each item that influences the algorithm has its own specific algorithms to turn the data into meaningful information (i.e. perception layers), and each item has a scaling factor depending on how much influence that item actually has and how much influence it is required to have (expert knowledge, apriori, and learning layers). Additionally there is preferably an over-arching supervisory algorithm that connects and coordinates the multiple algorithms.

[00131 ] Accordingly, the influencing action provided above may be leveraged as input to various rules and the like, thereby to predict crowd movement at given areas ahead of time, and allow for crowd influencing actions to be taken thereby to reduce congestion. This may be automated via optimisation processes thereby to iteratively (or otherwise) reduce/balance congestion at multiple locations concurrently. This is also, in some embodiment, used thereby to define an optimised crowd movement plan.

[00132] In this case, the rules engine is adapted to process algorithms pertaining to both primary current crowd information relating to the arrival platform, together with supplementary current crowd information relating to passenger dispersion on the arriving train, in order to formulate an optimal crowd movement plan. In a further variation, the supplementary crowd information may be inferred cumulatively on the basis of crowd information data gathered successively from preceding stations.

[00133] It will be appreciated that the disclosure above provides various systems and methods for influencing a crowd, which in preferred embodiments provide practical and commercially significant improvements over the prior art.

[00134] Unless specifically stated otherwise, as apparent from the following discussions, it is appreciated that throughout the specification discussions utilizing terms such as "processing," "computing," "calculating," "determining", analyzing" or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulate and/or transform data represented as physical, such as electronic, quantities into other data similarly represented as physical quantities.

[00135] In a similar manner, the term "processor" may refer to any device or portion of a device that processes electronic data, e.g., from registers and/or memory to transform that electronic data into other electronic data that, e.g., may be stored in registers and/or memory. A "computer" or a "computing machine" or a "computing platform" may include one or more processors.

[00136] The methodologies described herein are, in one embodiment, performable by one or more processors that accept computer-readable (also called machine-readable) code containing a set of instructions that when executed by one or more of the processors carry out at least one of the methods described herein. Any processor capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken are included. Thus, one example is a typical processing system that includes one or more processors. Each processor may include one or more of a CPU, a graphics processing unit, and a programmable DSP unit. The processing system further may include a memory subsystem including main RAM and/or a static RAM, and/or ROM. A bus subsystem may be included for communicating between the components. The processing system further may be a distributed processing system with processors coupled by a network. If the processing system requires a display, such a display may be included, e.g., a light emitting diode (LED), a liquid crystal display (LCD) or a cathode ray tube (CRT) display. If manual data entry is required, the processing system also includes an input device such as one or more of an alphanumeric input unit such as a keyboard, a pointing control device such as a mouse, and so forth. The term memory unit as used herein, if clear from the context and unless explicitly stated otherwise, also encompasses a storage system such as a disk drive unit. The processing system in some configurations may include a sound output device, and a network interface device. The memory subsystem thus includes a computer-readable carrier medium that carries computer-readable code (e.g., software) including a set of instructions to cause performing, when executed by one or more processors, one of more of the methods described herein. Note that when the method includes several elements, e.g., several steps, no ordering of such elements is implied, unless specifically stated. The software may reside in the hard disk, or may also reside, completely or at least partially, within the RAM and/or within the processor during execution thereof by the computer system. Thus, the memory and the processor also constitute computer-readable carrier medium carrying computer-readable code. Furthermore, a computer-readable carrier medium may form, or be included in a computer program product.

[00137] In alternative embodiments, the one or more processors operate as a standalone device or may be connected, e.g., networked to other processor(s), in a networked deployment, the one or more processors may operate in the capacity of a server or a user machine in server- user network environment, or as a peer machine in a peer-to-peer or distributed network environment. The one or more processors may form a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. [00138] Note that while diagrams only show a single processor and a single memory that carries the computer-readable code, those in the art will understand that many of the components described above are included, but not explicitly shown or described in order not to obscure the inventive aspect. For example, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

[00139] Thus, one embodiment of each of the methods described herein is in the form of a computer-readable carrier medium carrying a set of instructions, e.g., a computer program that is for execution on one or more processors, e.g., one or more processors that are part of web server arrangement. Thus, as will be appreciated by those skilled in the art, embodiments of the present invention may be embodied as a method, an apparatus such as a special purpose apparatus, an apparatus such as a data processing system, or a computer-readable carrier medium, e.g., a computer program product. The computer-readable carrier medium carries computer readable code including a set of instructions that when executed on one or more processors cause the processor or processors to implement a method. Accordingly, aspects of the present invention may take the form of a method, an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of carrier medium (e.g., a computer program product on a computer-readable storage medium) carrying computer-readable program code embodied in the medium.

[00140] The software may further be transmitted or received over a network via a network interface device. While the carrier medium is shown in an exemplary embodiment to be a single medium, the term "carrier medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "carrier medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by one or more of the processors and that cause the one or more processors to perform any one or more of the methodologies of the present invention. A carrier medium may take many forms, including but not limited to, non-volatile media, volatile media, and transmission media. Nonvolatile media includes, for example, optical, magnetic disks, and magneto-optical disks. Volatile media includes dynamic memory, such as main memory. Transmission media includes coaxial cables, copper wire and fibre optics, including the wires that comprise a bus subsystem. Transmission media also may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications. For example, the term "carrier medium" shall accordingly be taken to included, but not be limited to, solid-state memories, a computer product embodied in optical and magnetic media; a medium bearing a propagated signal detectable by at least one processor of one or more processors and representing a set of instructions that, when executed, implement a method; and a transmission medium in a network bearing a propagated signal detectable by at least one processor of the one or more processors and representing the set of instructions.

[00141 ] It will be understood that the steps of methods discussed are performed in one embodiment by an appropriate processor (or processors) of a processing (i.e., computer) system executing instructions (computer-readable code) stored in storage. It will also be understood that the invention is not limited to any particular implementation or programming technique and that the invention may be implemented using any appropriate techniques for implementing the functionality described herein. The invention is not limited to any particular programming language or operating system.

[00142] It should be appreciated that in the above description of exemplary embodiments of the invention, various features of the invention are sometimes grouped together in a single embodiment, figure or description thereof for the purpose of streamlining the disclosure and aiding in the understanding of one or more of the various inventive aspects. This method of disclosure, however, is not to be interpreted as reflecting an intention that the claimed invention requires more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive aspects lie in less than all features of a single foregoing disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention.

[00143] Furthermore, while some embodiments described herein include some but not other features included in other embodiments, combinations of features of different embodiments are meant to be within the scope of the invention, and form different embodiments, as would be understood by those skilled in the art. For example, in the following claims, any of the claimed embodiments can be used in any combination.

[00144] Furthermore, some of the embodiments are described herein as a method or combination of elements of a method that can be implemented by a processor of a computer system or by other means of carrying out the function. Thus, a processor with the necessary instructions for carrying out such a method or element of a method forms a means for carrying out the method or element of a method. Furthermore, an element described herein of an apparatus embodiment is an example of a means for carrying out the function performed by the element for the purpose of carrying out the invention. [00145] In the description provided herein, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known methods, structures and techniques have not been shown in detail in order not to obscure an understanding of this description.

[00146] Similarly, it is to be noticed that the term coupled, when used in the claims, should not be interpreted as being limited to direct connections only. The terms "coupled" and "connected," along with their derivatives, may be used. It should be understood that these terms are not intended as synonyms for each other. Thus, the scope of the expression a device A coupled to a device B should not be limited to devices or systems wherein an output of device A is directly connected to an input of device B. It means that there exists a path between an output of A and an input of B which may be a path including other devices or means. "Coupled" may mean that two or more elements are either in direct physical or electrical contact, or that two or more elements are not in direct contact with each other but yet still co-operate or interact with each other.

[00147] Thus, while there has been described what are believed to be the preferred embodiments of the invention, those skilled in the art will recognise that other and further modifications may be made thereto without departing from the spirit of the invention, and it is intended to claim all such changes and modifications as falling within the scope of the invention. For example, any formulas given above are merely representative of procedures that may be used. Functionality may be added or deleted from the block diagrams and operations may be interchanged among functional blocks. Steps may be added or deleted to methods described within the scope of the present invention.