Abstract:
A method for controlling the execution of an application with a mobile electronic device ( 202 ) in a building ( 100 ) having a number of rooms ( 101 ), the application usable on the mobile electronic device ( 202 ) or usable via the mobile electronic device ( 202 ) comprises the steps of: experimentally generating at least one rule; measuring with the mobile electronic device ( 202 ) a plurality of location-specific short-range signals, and forming a set ({S(ti)}) of signal vectors (S(ti)) representing short-range signals (s) received from known signal transmitters ( 201, 202 ) at each time instant; using said set (C) of sequence classifiers of said at-least-one rule on said set ({S(ti)}) of signal vectors (S(ti)) to determine which sequence classifiers in the set (C) of sequence classifiers match; and controlling the execution of the application according to the at-least-one rule. The patent application also contains independent claims for a computer and a computer program product.

Description:
FIELD OF THE INVENTION 
       [0001]    The present invention relates to the field of computer programming, and more particularly to controlling the execution of applications on or for a computer. 
       BACKGROUND ART 
       [0002]    The processing power and possibilities offered by modern user interfaces of certain mobile electronic devices, such as personal digital assistants, smart phones and the like, in particular those using the Apple operating system, the Android operating system, the Windows Mobile operating system, or similar, have developed so much in recent years that these devices can be used for multiple purposes. Normally, the using of a mobile electronic device of the above kind involves controlling the execution of at least one application on the mobile electronic device. If the application is an application located remotely with respect to the mobile electronic device, the application for the mobile electronic device is controlled. 
         [0003]    The inventor participated in a project in which the use of different healthcare applications by staff of a healthcare unit (hospital) was observed. The healthcare applications were used through smart phones or through computer terminals in rooms for administrative tasks. When a staff member wanted to start a particular application with his or her smart phone, he or she selected the application by touching the touch screen of the smart phone, for example. In order to protect sensitive data, in most applications it was necessary for the staff member to log in to the application by entering his or her login data (such as user name and password). Some applications were operated locally on the smart phone and some were used over a communications network such as wireless local network, most commonly via a browser. 
         [0004]    We observed that most members of the staff in the healthcare environment had to use a number of applications. The maximum number of applications required for an individual was around twenty. Most staff members felt that remembering passwords was difficult. Furthermore, since the active session in the applications was terminated after a certain time had elapsed from the log-in, we found that the log-in in different applications had to be performed repeatedly during the work shift. 
         [0005]    We were shocked to find that selecting applications, starting them and giving the login data took, in extreme cases, up to 20 percent of the total working time of individual staff members. 
       SUMMARY OF THE INVENTION 
       [0006]    The objective of the present invention is to speed up the controlling of execution of such an application with a mobile electronic device that is usable on the mobile electronic device or via the mobile electronic device, in a building having a number of rooms, at least in the sense that the amount of human intervention required can be reduced. 
         [0007]    This objective can be met with a computer program product according to claim  1  and with a method according to claim  7 . The objective can also be met with a computer according to claim  14 . 
         [0008]    The dependent claims describe various advantageous embodiments of the invention. 
       Advantages of the Invention 
       [0009]    If in the method and computer program product for controlling the execution of an application with a mobile electronic device in a building having a number of rooms, the application usable on the mobile electronic device or usable via the mobile electronic device, the method comprises the steps of or the computer program, when exectured in a processor is adapted to:
       experimentally generating at least one rule containing a set of sequence classifiers defining the relationship between at least one short-range signal trace and application control as a time series, a location series or as a combination of both;   measuring with the mobile electronic device, preferably by its software driver with an interface supporting location-specific short-range signal transmitter identification and optionally also signal-level measurement, a plurality of location-specific short-range signals emitted by signal transmitters located in the building, and forming a set of signal vectors representing short-range signals received from known signal transmitters at each time instant;   using said set of sequence classifiers of said at-least-one rule on said set of signal vectors to determine which sequence classifiers in the set of sequence classifiers match with the at-least-one short-range signal trace as a time series, a location series or as a combination of both; and   controlling the execution of the application according to the at-least-one rule for which the sequence classifiers in the set of sequence classifiers match with the at-least-one short-range signal trace as a time series, a location series or as a combination of both,
 
it becomes possible to reduce the human intervention required to control the execution of applications.
       
 
         [0014]    With the method and computer program product, the controlling of the execution of an application with the mobile electronic device can be made rule-based and can thus make automated use of location-specific short-range signals. Because location-specific short-range signals tend to correlate with location information, this information can be used to find the location of the mobile electronic device. Location-based decision-making can thus be automated, which is apt to reduce human involvement in controlling the execution of an application and therefore can speed up control of the execution of an application. When the mobile electronic device is in a particular location, a certain application may always be started automatically, for example. 
         [0015]    If, in the controlling step, the application that is to be controlled is selected from a plurality of applications by using the time series and/or location series in said plurality of measured location-specific short-range signals, the controlling of applications can so be made more sophisticated, since not only the most recent location information of the mobile electronic device, but also its past location information can be used in the decision-making. 
         [0016]    According to an advantageous aspect of the method and computer program product, signal transmitters are or comprise electronic devices and/or mobile electronic devices, and as the measured short-range signals identifiers of the transmitters of such electronic and/or such mobile electronic devices and their respective signal levels are read. If descriptors of electronic devices are read as location-specific short-range signals, the handling of location information can be automated. In an advantageous embodiment, such descriptors are or comprise identifiers of the transmitters of electronic devices and their respective signal strengths; in what follows we use terms signal strength and signal level as synonyms. The arrangement may enhance the accuracy of location determination that is possible by using the location-specific short-range signals, since not only the information about which electronic devices were detected, but also the respective signal strengths, can be used to determine location more accurately. In particular, in such arrangements where the signal strength decreases by a negative power of the distance from the transmitter, this may be very useful. 
         [0017]    This can be made more versatile, if, in the set of sequence classifiers, allowed lower and upper values of each short-range signal are specified and allowed variations of the lengths in time series are specified, as well as the allowed variations of their distances from each other; and/or redundant short-range signal traces are removed from the short-range signal trace; and/or all or at least some elements in the array are coverted to a logical value. 
         [0018]    The lower and upper values of the short range signal (strength) are probable to correlate with the distance between the emitter of the signal and the mobile electronic device. The lower values can thus be interpreted as maximum (allowed) distance and the upper values can similarly be interpreted as minimum (allowed) distance. 
         [0019]    The redundant short-range signals can be the signals that are emitted by such signal transmitters that are not of relevance for a particular rule. 
         [0020]    The transformation to a logical value transforms the short range signal to a logical value and thus simpler to handle than a real, floating point, integer or complex value. The transformation to a logical value may involve the verification whether or not the particular short-range signal (strength) is below a certain lower or upper limit, beyond a certain lower or upper limit, or between a certain range, and/or whether or not particular short-range signal is emitted by such a signal transmitter that is or is not of relevance. 
         [0021]    According to an advantageous aspect of the method and computer program product, said at least one rule is configurable or configured to operate in addition to location-specific short range signals also on valuations from signals of at least one sensor in the mobile electronic device indicating i) which particular user is using the mobile electronic device, ii) how the mobile electronic device is being moved, and/or iii) light or sound recorded by the mobile electronic device. 
         [0022]    With the configuration according to i), the decision-making can be made person-dependent or user category-dependent. Returning to our hospital example, this would enable having different application control for a trainee, for a qualified nurse, for a doctor or a technician working in the hospital. 
         [0023]    With the configuration according to ii), I have in mind the following: we want to know whether the user of the mobile electronic device is sitting, walking, standing etc. To obtain this information, I prefer to use a gyroscope, a step meter, an accelerometer or similar as the sensor or the sensors. Information from these kinds of sensors (either alone or in any combination) as a time series, location series or both can be used to determine how the mobile electronic device is being moved. 
         [0024]    With the configuration according to iii), we may determine under what kind of circumstances or surroundings the mobile electronic device is being used or transported. 
         [0025]    According to one aspect of my invention, the set of sequence classifiers comprises at least one stencil. When determining which sequence classifiers in the set of sequence classifiers match with the at-least-one short-range signal trace as a time series, as a location series or as a combination of both, it is counted whether the holes of the stencil are non-empty. This stencil-approach can be made computationally very effective. In addition, it can be reduced to practice relatively easily. 
         [0026]    Preferably, in the controlling step, at least one of the following may be carried out: a) starting or activating the application; b) bringing the application from the background to the foreground; c) retrieving previously stored log-in information for the application and entering it into the application; d) closing the application or bringing it into the background; e) controlling the application; f) starting or activating a program that measures external information and/or controls an external automation system, in particular a healthcare or hospital automation system, an industrial automation system or a building automation system. 
         [0027]    By automating any of these execution control functions, it may be possible to reduce the required human intervention and therefore speed up the controlling of the execution of an application. 
         [0028]    With external automation system I in particular mean systems that may be used in healthcare, hospital, industrial automation or building automation. With my invention, it will thus be possible to control any of these automation systems with less human interaction. 
         [0029]    Above and in the following, a series means a sequence of measurements having at least two measurement points. 
         [0030]    Typically, a time series is a series that is measured at successive times spaced at uniform time intervals. However, in the context of the present invention, we understand a time series as a series where the time intervals do not need to be uniform but in addition or instead of may be non-uniform and/or variable. 
         [0031]    A location series comprises at least two measurement points of any different locations. 
         [0032]    By using the time series, the location series or the combination of these in said plurality of measured location-specific short-range signals, the application that is to be controlled is selected from the plurality of applications. 
         [0033]    If the rule is adapted to analyze the time series, the location series or the combination of these by at least one sequence classification algorithm in order to generate selection information about which application is to be controlled, it will still be possible to select the application to be controlled even if no unambiguous selection can be made from the location information. 
         [0034]    If the rule is modified by using at least one self-learning algorithm, the controlling of the execution of an application can be made more versatile. The mobile electronic device can learn usage patterns that are typical for its current user and adapt its functioning respectively. In this way, the user can be offered the possibility to control the applications that he or she usually wants to control in that particular situation. 
         [0035]    If the computer is a mobile electronic device that is adapted to use location-specific short-range signals measured by itself as the location-specific short-range signals and to control the execution of at least one application on itself, the ease-of-use of the mobile electronic device may be increased. 
         [0036]    If, instead of this or in addition to this, the computer is adapted to use location-specific short-range signals measured by a remote mobile electronic device and to control the execution of at least one application on or for said remote mobile electronic device, the mobile electronic device may be simpler, since the control function may need to be implemented on the computer only and not on the remote mobile electronic device. 
     
    
     
       LIST OF DRAWINGS 
         [0037]    In the following, the invention is described in more detail by reference to the examples shown in the attached drawings in  FIGS. 1 to 14 , in which: 
           [0038]      FIG. 1  illustrates one floor of a hospital; 
           [0039]      FIG. 2  illustrates the use of mobile electronic devices and electronic devices in the hospital shown in  FIG. 1 ; 
           [0040]      FIG. 3  illustrates the collection of a plurality of measurement data; 
           [0041]      FIG. 4  illustrates the short-range signal trace in coordinates where location is the Y axis and time is the X axis; 
           [0042]      FIG. 5  illustrates how the electronic devices and mobile electronic devices that are used as location-specific short-range signal transmitters are recorded; 
           [0043]      FIG. 6  illustrates how rules defining the relationship between the short-range signal trace and application control information are generated; 
           [0044]      FIG. 7  illustrates how the rule is used on said plurality of location information to control the execution of an application on or for the mobile electronic device; 
           [0045]      FIG. 8  illustrates the receiving of a plurality of location-specific short-range signals at a mobile electronic device and using at least one rule on said plurality of location-specific short-range signals to control the execution of an application on or for the mobile electronic device as a continuous process; 
           [0046]      FIGS. 9 and 10  schematically illustrate the structure of a mobile electronic device; 
           [0047]      FIG. 11  a simple determining process; 
           [0048]      FIG. 12  a more advanced determining process; 
           [0049]      FIG. 13  a simple stencil; and 
           [0050]      FIG. 14  reduction of an advanced stencil to a simple stencil. 
       
    
    
       [0051]    The same reference numerals refer to the same technical features in all drawings. 
       DETAILED DESCRIPTION 
       [0052]      FIG. 1  shows one level of a hospital  100 . The hospital  100  has a plurality of rooms  101  which may be connected to each other by floors  108 . Some of the rooms  101  are furnished with beds  102  for patients  103 . Some rooms  101  may be reserved for administrative tasks and therefore equipped with office chairs  105 , tables  104  and other office furniture. Some rooms  101  may have shelves  106  for special equipment and cabinets  107  for medicines. 
         [0053]      FIG. 2  shows hospital staff  200 , such as nurses and doctors, visiting some of the patients  103 . Each of the hospital staff  200  carries a mobile electronic device  202 , such as a smart phone, for example. 
         [0054]    The mobile electronic devices  202 , one of which is schematically shown in  FIG. 9 , comprise an input means  91  such as a touch-sensitive screen, an output means  95  such as a display, a processor  93 , a memory  92  and a communication unit  94 . 
         [0055]    A mobile electronic device (which in particular may be a smart phone, a mobile phone, a portable computer, a table computer, or such like) can be understood to be a sort of mobile computer which can handle applications stored locally, or at least a browser through which one or more applications can be used remotely. As schematically illustrated in  FIG. 10 , the mobile electronic devices  202  comprise at least one application but preferably a number of applications A 1 , A 2 , . . . , A K . The mobile electronic devices  202  also comprise a number of rules R 1 , R 2 , . . . , R K , recorded signals S and classifiers C. 
         [0056]    Returning to  FIG. 2 , we also see that at least the beds  102  with a patient  103  are equipped with electronic devices  201 . There may also be room-specific electronic devices  201  present in the hospital  100 . 
         [0057]    The electronic devices  201  may be any kinds of electronic devices that comprise a radio transmitter for communicating with the mobile electronic devices  202 . 
         [0058]    Instead of this or in addition, they may be light emitters (most preferably in the ultra violet or infra-red spectrum) or sound emitters (most preferably each having a frequency that is not audible for humans, such as over 15 kHz or preferably over 17 kHz). 
         [0059]    Instead of this or in addition, low-power radio emitters can be used, in particular those that can be used to convert an audio signal from a portable music player to a Frequency Modulated radio signal. 
         [0060]    The transmitter identifier can be coded in the transmitted signal in many ways. The identifiers can include any of the following or they may consist of any of the following (alone or in combination): amplitude, frequency, pulse code modulated in the signal. 
         [0061]    If, instead of using Bluetooth transmitters, any of the other transmitters are used, it will be necessary to include a transmitter identifier (transmitter ID) in the received signal. This can be done, for example, by modulating the transmitter ID. Modulation can be performed in a very simple manner for frequency-modulated radio signals, for infra-red light signals and for ultra-violet light signals. Furthermore, the signal strength may be measured and be used in determining the distance of the receiver from the perceived transmitter. In this manner, the signal strength can be used to find out the location of the mobile electronic device  102 . 
         [0062]    Instead or in addition, the transmitter ID can, of course, be a digital ID. In digital transmission, the identifiers can then be coded in data packet headers. 
         [0063]    For the sake of simplicity, the preferred mode of the invention is described here with Bluetooth transmitters used as the short-range signal transmitters. We use the method described in “Wireless Acquisition of Process Data”, by Ye Zhang, published in ETLA Elinkeinoelämän Tutkimuslaitos (The Research Institute of the Finnish Economy) Discussion Papers No. 1250 on May 24, 2011. 
         [0064]    The inventor has so far tested the invention by using, as the electronic devices  201 , computer mice or mobile phones that have an integrated Bluetooth transmitter. The communication unit  94  of the mobile electronic device  202  comprised a Bluetooth communication unit. During the testing, the communication between the electronic devices  201  and the mobile electronic device  202  was carried out by normal Bluetooth inquiry procedure. 
         [0065]    Normally, in Bluetooth inquiry, each of the electronic devices  201  broadcast their unique device ID. The communication unit  94  of the mobile electronic device  202  listens to the broadcast signals and stores received signal information s in memory  92 . 
         [0066]      FIG. 3  illustrates the collection of a plurality of received signal information s which is stored in the memory of the mobile electronic device  202 . 
         [0067]    The mobile electronic device  202  can receive signals from N electronic devices  201  and additionally from M mobile electronic devices  202 . The short-range signals received from each of the devices are stored in memory  92 .  FIG. 3  shows each of the short-range signals s stored in the memory  92 . 
         [0068]    At each instant of time t i  (in  FIG. 3  illustrated as t1, t2, t3, . . . , t11, . . . ), the received signals s are stored in a signal vector S(td. The signal vector S (t i ) has T (t i ) non-empty elements, which is the number of the Bluetooth transmitters of electronic devices  201 ( 1 ) to  201 (N) or mobile electronic devices  202 ( 1 ) to  202 (M) that are received by the mobile electronic device  202  at each respective instant of time. 
         [0069]    The received signal s 201 ( j ),ti comprises the respective transmitter ID of the electronic device  201 ( 1 ) to  201 (N) or mobile electronic device  202 ( 1 ) to  202 (M), optionally also the perceived signal strength at the communication unit  94  of the mobile electronic device  202 , and the instant of time t i . 
         [0070]    If there is no signal present at s 201 ( j ),ti, the corresponding data in the signal vector is empty or has some predefined value that means empty. 
         [0071]    In  FIG. 3  there are also shown first set  301  and second set  302  of indices used in each signal vector S. At least one of these sets is not empty. 
         [0072]    As illustrated in  FIG. 4 , the received signal vector can also be used to make a short-range signal trace. Signal strengths from each of the electronic devices  201 ( 1 ) to  201 (N) or mobile electronic devices  202 ( 1 ) to  202 (M) are measured for a time interval t1, t2, . . . , t11, for example. The short-range signal trace for this time interval from electronic device  201 ( 1 ) is a position vector S( 201 ( 1 )), which has a starting point in t3, length 6 and contains the signals s 201 ( 1 ),t3, s 201 ( 1 ),t4, . . . , s 201 ( 1 ),t8 as elements. The short-range signal traces S( 201 ( 2 )), . . . , S( 202 (N)) for other electronic devices  201 ( 2 ), . . . ,  201 (N) and S( 202 ( 1 )), . . . , S 202 (M) for mobile electronic devices are defined similarly. The short-range signal trace for time interval t1, . . . , t11 is the collection of short-range signal traces S( 201 ( i )) and S( 202 ( j )), i=1, . . . , N, j=1, . . . , M. 
         [0073]    The short-range signal trace represents a pattern that can be detected from an obtained short-range signal vector. The detection can be simple or advanced. The simple detection of the short-range signal trace can be implemented e.g. as a stencil, where holes are cut around S( 201 ( 1 )), S( 201 ( 2 )), . . . , S( 202 ( 2 )) in the example. When this stencil is placed on the short-range signal vector S(ti) and moved over time as the short-range signal vector is received, the pattern of  FIG. 4  is detected when no holes of the stencil are empty. The stencil is a simple detection pattern. Of course, there may be further short-range signals present, but they will be insignificant for the pattern detection since there is no hole for such short-range signals in the stencil. 
         [0074]    In advanced detection the allowed lower and upper values of each short-range signal in S( 201 ( 1 )), S( 201 ( 2 )), . . . , S( 202 ( 2 )) can be specified and the allowed variations of the lengths in time of S( 201 ( 1 )), S( 201 ( 2 )), . . . , S( 202 ( 2 )) can be specified, as well as the allowed variations of their distances from each other. In advanced detection, redundant short-range signal traces can also be removed from the short-range signal trace. Several advanced detection patterns can be developed in this way from a given short-range signal trace. The best detection pattern can be chosen by testing in practice. 
         [0075]    In  FIG. 4 , signal sequences S 201 ( i ) and S 202 ( j ) that are illustrated with horizontal bubbles are examples of time series. Correspondingly, signal vectors S(t i ) that are illustrated with vertical bubbles are examples of location series. In principle, the time and location series may consist of any number of measured signals. However, the longer the series are, the more complicated the “stencil” becomes. 
         [0076]    A skilled person is able to develop a graphical editor for editing detection patterns from short-range signal traces. These detection patterns are special cases of sequence classifiers. The advanced detection pattern demonstrated above is a special case of a feature-based classifier in Sequence Classification. Further sequence classifiers that can be used for the implementation of the method can be found in the article “A Brief Survey on Sequence Classification” by Zhengzheng Xing, Jian Pei and Eamonn Keogh, which was published in SIGKDD Explorations 12(1): 40-48 (2010). 
         [0077]    For the best possible pattern recognition, many professional sequence classifiers can be developed. In what follows we refer to detection patterns as classifiers C. 
         [0078]    It is to be noted that heuristic detection patterns can also be developed and used as classifiers C. 
         [0079]      FIG. 5  shows how the electronic devices  201  and mobile electronic devices  202  that are used as location-specific short-range transmitters are recorded. In step F 501 , any such electronic devices  201  and mobile electronic devices  202  that are to be used later in starting applications are shut down, except for the mobile electronic device  202 , which is used to record the short-range signal traces. 
         [0080]    In step F 503 , the Bluetooth device inquiry is started at the mobile electronic device  202  used to record the short-range signal traces. 
         [0081]    In step F 505 , all those Bluetooth device IDs that are received at the mobile electronic device  202  used to record the short-range signal traces are first stored in a data structure X. 
         [0082]    In step F 507 , any such electronic devices  201  and mobile electronic devices  202  (these are the “allowed devices”) that are to be used later as location-specific short-range transmitters are collected and put in detectable mode, except for the mobile electronic device  202 , which is used to record the short-range signal traces. 
         [0083]    This means that they start the Bluetooth inquiry procedure and can thus be perceived (in step F 509 ) by the mobile electronic device  202  used to record the short-range signal traces, which is in the Bluetooth device inquiry mode. 
         [0084]    In step F 511  the found device identifiers are stored in a data structure Y. 
         [0085]    In step F 513 , device identifiers that are in data structure Y but not in data structure X are stored in an “Allowed Bluetooth Devices” data structure. This data structure comprises the BluetoothDeviceClass, with data fields deviceAddress and deviceName. 
         [0086]    In step F 515 , the obtained “Allowed Bluetooth Devices” are stored in a file. 
         [0087]      FIG. 6  illustrates the procedure for generating the sequence classifiers defining the relationship between short-range signal traces and application control information. 
         [0088]    In step G 600 , the teaching of classifiers for a certain application A i , which is any of A 1 , A 2 , . . . , A K , is started. First, the application ID of the application Ai is requested. Then, a teaching period of length T is selected. This may be entered by the user or may be a pre-defined time length. Then, short-range signal trace VR(t i ) is initiated at t 1 =0. 
         [0089]    Most advantageously, the short-range signal trace VR(t i ) is similar to any of the signal vectors S(t i ) in  FIG. 3  or any of the processed signal vectors S 201 ( j )/S 202 ( j ) in  FIG. 4 . The short-range signal trace VR(t i ) comprises the measured signal, or signals derived from it by processing at time t i . 
         [0090]    In step G 601 , the Bluetooth device inquiry is started in the mobile electronic device  202  and t is set to t 1 . 
         [0091]    In step G 603 , the mobile electronic device  202  listens to the Bluetooth device inquiry results. 
         [0092]    In step G 605 , it is tested whether the Bluetooth device inquiry has been finished. If not, the control is returned to step G 603 . If yes, in step G 607 , the identifiers of all observed devices (electronic devices  201  and mobile electronic devices  202 ), and optionally their signal strengths and time are written in the short-range signal trace VR(t i ) and t i  is increased by one unit (such as from t 1  to t 2 ). 
         [0093]    In step G 609 , it is tested whether the duration T of the teaching period has been reached, i.e. whether t&lt;T. If not, the process is continued at step G 601 . If yes, in step G 611 , the obtained short-range signal trace VR(ti) is stored. 
         [0094]    In step G 613 , a sequence classifier C is generated corresponding to the short-range signal trace VR(ti). If necessary, the allowed variations in time and in signal strength are checked. These may be modified by the user, if desired. For this purpose, a graphical editor may be used to interactively support the generating of the sequence classifier C from the short-range signal trace as in the explanation of  FIG. 4 . 
         [0095]    Instead of using the method described above with reference to  FIG. 4  to generate the classifier C, there are also several heuristic self-learning algorithms that can be used. Such algorithms include Neural Networks, Support Vector Machines and Evolutionary Algorithms. 
         [0096]    Alternatively or in addition, when the method described above is used repeatedly, several short-range signal traces are obtained. Based on these, a heuristic algorithm can be developed that behaves as a detection pattern and detects similar traces. Self-learning algorithms that can be used in such classifier generation can be found e.g. in
       B. Kröse, P. Smagt, An introduction to Neural Networks, University of Amsterdam, November 1996;   D. Karaboga, D. Pham, Intelligent Optimisation Techniques: Genetic Algorithms, Tabu Search, Simulated Annealing and Neural Networks, Springer Verlag, 2000;   F. Divina, E. Marchiori, Handling Continuous Attributes in an Evolutionary Inductive Learner, published in IEEE Transactions on Evolutionary Computation, vol. 9, no. 1, February 2005.       
 
         [0100]    In step G 615 , the sequence classifier C is stored in a file. 
         [0101]    Rules R i  are defined as sets Ci,j of classifiers, i=1, . . . L and j=1, . . . , H. Each rule R i  can be related to a special user group and the usage situation of the mobile electronic device  102 . Each classifier Ci,j is related to one or more applications A and its or their control information. 
         [0102]      FIG. 7  illustrates how a rule R i  (i=1, . . . , L) is used in practice (if there are totally L rules R i ). 
         [0103]    In step H 701 , a signal vector S(t i ) is read where the largest t i  is the last instant of time of the signal reception. 
         [0104]    In step H 703 , a first classifier C 1  from the group of allowed classifiers Ci,j (j=1, . . . , H) (if there are H classifiers Ci,j in total for the rule Ri) is selected as the current classifier Ci,j. 
         [0105]    In step H 705 , the signal vector S(t i ) is analyzed with the current classifier Ci,j and, if any application A k  (k=1, . . . , K) is matched, the identity of the application A k  is stored in a list B in step H 713 . 
         [0106]    In step H 707 , j is increased by one, after which it is tested whether a next classifier Ci,j+1 exists, i.e. whether j&lt;H. If no, in step H 711 , the applications A listed in list B are controlled. If yes, in step H 709 , the next classifier Ci,j+1 to the current classifier Ci,j is taken from the group of allowed classifiers. 
         [0107]    In other words, the rules R i  define the relationship of signal classifiers Ci,j and applications A k  and the application control information. 
         [0108]    Each rule R i  may relate to a particular person (or profession) and/or location (such as the department in a hospital, for example). Instead of or in addition to this, each rule may be time-dependent (such as a night shift or day shift). 
         [0109]    The application control information defines how a particular application A k  is to be controlled. Some of the possible options are: 
         [0000]    a) the application A k  is started or activated;
 
b) the application A k  is brought from the background to the foreground or from the foreground to the background;
 
c) previously stored log-in information for the application A k  is retrieved and entered into the application A k ;
 
d) the application A k  is closed or brought into the background;
 
e) the application A k  is controlled; or
 
f) such a program is started or activated that measures external information and/or controls an external automation system, in particular a healthcare or hospital automation system, an industrial automation, or a building automation system.
 
         [0110]    The program may be stored on the mobile electronic device  202 , on another mobile electronic device  202 , on a computer, or on any device being part of the automation external automation system. 
         [0111]      FIG. 8  illustrates the process of receiving a plurality of location-specific information of a mobile electronic device  202  and of using at least one rule on said plurality of location-specific information S(t i ) to control the execution of an application A k  (k=1, . . . , K) on or for the mobile electronic device  202 . 
         [0112]    In step I 801 , the Bluetooth device inquiry is started at the mobile electronic device  202 . 
         [0113]    In step I 803 , the inquiry results are listened to. 
         [0114]    In step I 805 , it is tested whether the inquiry has been finished. If not, the control is returned to step I 8903 . If yes, in step I 807 , the electronic devices  201  and/or the mobile electronic devices  202 , time instant t, and the respective signal strengths are added to the signal vector S(t i ). 
         [0115]    In step I 809 , the signal vector S(t i ) is handled using a pattern-recognition algorithm and compared with the allowed classifiers, as in  FIG. 7 . 
         [0116]    In step I 811 , the applications specified in list B are started. 
         [0117]    In step I 813 , each of the applications A k  in list B are kept on screen for a pre-determined time. The pre-determined time can be the same or different for each application A k . After the pre-determined time has elapsed, the respective application is closed. Optionally, a reminder is shown so that the user can start the application later, if necessary. 
         [0118]      FIG. 11  illustrates a simple determining process utilizing a stencil database  1100 , the process being able to be performed at a mobile electronic device  202  or at a remote computer. 
         [0119]    In step S 11  logical data is loaded. With logical data we mean logical-valued (true or false) valuations of location-specific short-range signals received by the mobile electronic device  202  and/or from at least one of its sensors indicating i) which particular user is using the mobile electronic device or to which category of users the user using the mobile electronic device belongs, ii) how the mobile electronic device is being moved, and/or iii) light or sound recorded by the mobile electronic device  202 . 
         [0120]    In step S 13  binary data is integrated i.e. at each instant of time a signal vector S(t i ) is stored and the time sequence of these signal vectors forms an array where the abscissa denotes time units and the ordinate signal vector indices. 
         [0121]    In step S 15  decision-making is made by comparing the logical array with the stencils stored in the stencil database  1100 . Stencils stored in the stencil database  1100  are most conveniently stored there as logical (binary) arrays. 
         [0122]      FIG. 13  illustrates an example of a simple stencil  1300 . The abscissa denotes time units and the ordinate signal vector indices. The required holes  1301  in the stencil  1300  are marked white while the other positions in the stencil are dark. The exemplary stencil  1300  has now a number of openings extending in both directions. It is clear that the number of rows and columns of the stencil  1300  in a real-world case may be different and that the number and location of the holes may be different. 
         [0123]    In the example of  FIG. 13 , the white holes  1301  correspond to those signal vector indices that have to be present at certain time (such as, signal strength being above a first threshold, below a second threshold, between a range of a third threshold and a fourth threshold). So we understand that  FIG. 13  represents four time vectors. The totality of the holes  1301  has been marked with reference numeral  1310 . The requirement of the stencil  1300  is then considered fulfilled if all holes  1301  in the totality  1310  of holes can be determined at the mobile electronic device  202 . 
         [0124]    In the simple stencil  1300 , for the white holes  1301  we have as logical value “true” and for the remaining positions  1302  “false”. Of course, the stencil  1300  could be inverted so that totality of the positions which must not be present are marked with “true” and the totality of the other positions should then be marked with “false”. 
         [0125]      FIG. 12  illustrates a determining process that is more advanced than the determining process of  FIG. 11 . 
         [0126]    In step T 11 , floating point (or real or complex) valued data  1401  is loaded. With such data  1401  we mean valuations of location-specific short-range signals received by the mobile electronic device  202  and/or from at least one of its sensors indicating i) which particular user is using the mobile electronic device or to which category of users the user using the mobile electronic device belongs, ii) how the mobile electronic device is being moved, and/or iii) light or sound recorded by the mobile electronic device  202 . 
         [0127]    In step T 13 , the floating point (or real or complex) valued data  1401  is transformed to logical (binary) data  1301 ,  1302  through at least one filter F. In step T 15 , logical data integration is performed similar to step S 13 . In step T 17 , decision making is performed similarly to step S 15  by comparing the array obtained from steps T 13  and T 15 , with the stencils stored in the stencil database  1200 . The stencils stored in the stencil database  1200  are most conveniently stored there as logical (binary) arrays. 
         [0128]      FIG. 14  illustrates the transformation for reduction of an advanced stencil  1400  to a simple stencil  1300 . The floating point (or real or complex, generally “continuous”) values  1401  at positions of the advanced stencil  1400  are filtered through the at least one filter F in order to obtain binary (logical) values  1301 ,  1302 . This transformation is preferably made for
       i) valuations of location-specific short-range signals received by the mobile electronic device  202  and/or from at least one of its sensors indicating i) which particular user is using the mobile electronic device or to which category of users the user using the mobile electronic device belongs, ii) how the mobile electronic device is being moved, and/or iii) light or sound recorded by the mobile electronic device  202 
 
that are used in set C of sequence classifiers and therefore stored in stencil database  1100  or  1200 ; as well as for
   ii) valuations of location-specific short-range signals received by the mobile electronic device  202  and/or from at least one of its sensors indicating i) which particular user is using the mobile electronic device or to which category of users the user using the mobile electronic device belongs, ii) how the mobile electronic device is being moved, and/or iii) light or sound recorded by the mobile electronic device  202 
 
that are measured or determined by the mobile electronic device  202  and therefore loaded in step S 11  or T 11 .
       
 
         [0131]    To generalized the above statements, a stencil  1300 ,  1400  has holes which describe the signals that have to be present in a certain event. The holes can cover several locations or synonymously several elements (or indices) of the signal vector at certain time (holes in ordnata direction in  FIG. 13 ) or several moments (holes in abscissa direction in  FIG. 13 ). In a stencil  1300 ,  1400  these holes in abscissa and ordnata direction define the detection pattern  1310  of the stencil. 
         [0132]    In other words, in  FIG. 13  there is an example stencil  1300  with five holes  1301  denoted as white circles, and the stencil can also be cut along the dashed lines in  FIG. 13 . If there are nonzero values in every hole of the stencil, then the detection pattern of the stencil  1300  is detected. This is called as simple detection where the signals are binary, which means that they are detected as on/off style (“on” means that the signal is detected, “off” means that no signal is detected). 
         [0133]    In advanced detection we allow continuous values of measured signals which are transformed to binary values to apply the previous simple detection procedure. In the advanced detection also other signals can be augmented to the short range signal vectors to form a more generic signal vector, such as calculated values from other sources. 
         [0134]    For example, let us consider an advanced signal vector S(X(i,t), Y(j,t), Z(k,t)) received by a mobile device  202  at time instant t, where 
         [0135]    X(i,t) is a subvector of short range signal vector with indices  301  i.e. vector from transmitters  201 ( i ) (i=1, . . . , N), and Y(j,t) is a subvector of short range signal vector with indices  302  i.e. vector from mobile devices  202 ( j ) (j=1, . . . , M). 
         [0136]    According to an aspect of the method and computer program product, there the signal vector may also comprise further subvectors. 
         [0137]    For example, subvector Z(k,t) can be used in the signal vector as a vector of valuations from internal signals of sensors k in the mobile electronic device  202  (k=1, . . . , P), such as probability of walking Z(1,t), standing Z(2,t) or sitting Z(3,t) calculated from the accelerometers or other sensors in the mobile electronic device  202 . 
         [0138]    At least either of X or Y is nonzero. 
         [0139]    We may define the transformation F from the advanced signal vector S(X(i,t), Y(j,t), Z(k,t)) to the simple signal vector S(u,t) by some rule R (u=1, . . . , Q) so that continuous values are mapped on binary ones. 
         [0140]    The number of indices in the advanced signal vectors (cf. set  1400  of signal vectors in  FIG. 14 ) and the number of indices in the simple signal vector (cf. set  1300  of signal vectors in  FIG. 13 ) may be different. Typically, the number of indices is less in the simple signal vector. The number of indices usually decreases in the transformation F. 
         [0141]    We then apply simple stencil to obtained binary valued signal vector S(u,t). 
         [0142]    By a “short-range signal” we mean a signal that is both transmitted and received locally. Locally means in this context that both transmission and receiving take place in one building, in one room, or even in a part of a room. 
         [0143]    Short-range signals may be radio signals, in particular on the license-free ISM (Industrial, Scientific and Medical) band between 2,402 GHz and 2,480 GHz, such as in the Bluetooth (IEEE 802.15.1) standard. 
         [0144]    Alternatively or in addition, short-range signals may be local wireless network (such as WLAN) signals, in particular signals according to any one of the IEEE 802.11, IEEE 802.11a/h, IEEE 802.11b/g or IEEE 802.11n standards, Near Field Communication (NFC), Zigbee or any comparable standards. 
         [0145]    Alternatively or in addition, short-range signals may be optical signals (most preferably using some part of the ultraviolet or infra-red spectrum) or audio signals (most preferably using frequencies that are not audible for humans, such as over 15 kHz or preferably over 17 kHz). 
         [0146]    Alternatively or in addition, short-range signals may be signals from an inductive or capacitive short-range connection. The inventor has even tested the invention with low-power radio emitters. 
         [0147]    According to a further aspect of the invention, the computer program product for controlling the execution of at least one application on or for a mobile electronic device and stored on a computer-readable medium is characterized in that it comprises computer-readable program code, which, when executed in a processor, is adapted:
       to receive at least one rule defining the relationship between at least one short-range signal trace and an application control;   to receive a plurality of location-specific short-range signals measured by a mobile electronic device, preferably by its software driver with an interface supporting location-specific short-range signal transmitter identification and optionally also signal-level measurement; and   by using said at-least-one rule on said plurality of location-specific short-range signals, to control the execution of an application on or for the mobile electronic device, provided the at-least-one in the plurality of the location-specific short-range signals is determined to match with the at-least-one, short-range signal trace.
 
According to a further aspect of the invention, the method for controlling the execution of an application on or for a mobile electronic device, comprising the steps of:
   receiving at least one rule defining the relationship between at least one short-range signal trace and the application control;   receiving a plurality of location-specific short-range signals measured by a mobile electronic device, preferably by its software driver with an interface supporting, location-specific short-range signal transmitter identification and optionally also signal-level measurement; and   by using said at-least-one rule on said plurality of location-specific short-range signals, to control the execution of an application on or for the mobile electronic device, provided the at-least-one in the plurality of the location-specific short-range signals is determined to match with the at-least-one, short-range signal trace.       
 
         [0154]    The many features and advantages of the present invention are apparent from the written description. Further, since numerous modifications and changes will be readily apparent to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention. 
         [0155]    In particular, the invention is not thought to be limited to a hospital building or healthcare building, but could be used in any building, in particular (and not limited to) laboratory, airport, terminal, factory and in general in any production facility or hall, hotel, supermarket or shop, theatre, cinema, car wash facility, trade fair/exhibition hall etc. 
         [0156]    In particular, the invention was described above with Bluetooth transmitters used as the short-range signal transmitters. Instead of or in addition to using Bluetooth, any other radio signals on the ISM band can be used, or even FM signals. WLAN, or more particularly IEEE 802.11, IEEE 802.11a/h, IEEE 802.11b/g or IEEE 802.11n, or optical or audio signals can also be used. Also Near Field communication (NFC), Zigbee or any comparable standard may be used. 
         [0157]    The computer program product can be distributed as a downloadable software product, or it can be stored on a CD, DVD or any other data carrier. 
         [0158]    Rules R (some or all of them) can be stored on a CD, DVD or any other data carrier, on a mobile electronic device or on a computer (such as, on a computer connected or connectable to the internet). The rules R can be distributed one-to-one (such as, peer-to-peer) or one-to-many (such as, peer-to-many). This enables the distribution of rules R from one mobile electronic device to another or to a computer, and from a computer to electronic device (and in the reverse direction too). 
         [0159]    Such distributability of rules R makes it possible that a certain rules that have been tested and found out to work well can be distributed to further mobile electronic devices. At different mobile electronic devices, the same rule can control even different applications. I am about to test even such a solution where the rules R can be transferred by bringing another mobile electronic device  202  close to another. 
         [0160]    In the hospital and health care and automation context, it is possible to generate rules R for each user or user group and distribute them to mobile electronic devices of such users or of such user groups. This saves much effort because it is not any more necessary to program the rules R for each mobile electronic device at once. 
         [0161]    In one practical embodiment, for at least some of the personal, in particular, for qualified nurses and physicians or for laboratory personnel, an electronic door or window lock may be opened if the mobile electronic device is detected to approach the door and locked if the mobile electronic device is detected to leave the vicinity of the door or window. In this embodiment, there can be a transmitter  201  (preferably a Bluetooth device) located close to the door, or the door operation can simply be controlled based on the detection of the task or movement of the person carrying the mobile device. The execution of a door or window opening application at the mobile electronic device or at the computer is controlled by at least one rule R.