WO2015068296A1 - 携帯端末、起動方法及びプログラム - Google Patents

携帯端末、起動方法及びプログラム Download PDF

Info

Publication number
WO2015068296A1
WO2015068296A1 PCT/JP2013/080385 JP2013080385W WO2015068296A1 WO 2015068296 A1 WO2015068296 A1 WO 2015068296A1 JP 2013080385 W JP2013080385 W JP 2013080385W WO 2015068296 A1 WO2015068296 A1 WO 2015068296A1
Authority
WO
WIPO (PCT)
Prior art keywords
condition
detection
detection module
function
modules
Prior art date
Application number
PCT/JP2013/080385
Other languages
English (en)
French (fr)
Inventor
美和 岡林
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to EP13896981.1A priority Critical patent/EP3070600B1/en
Priority to JP2015546258A priority patent/JP6090472B2/ja
Priority to PCT/JP2013/080385 priority patent/WO2015068296A1/ja
Publication of WO2015068296A1 publication Critical patent/WO2015068296A1/ja
Priority to US15/149,877 priority patent/US10009845B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • H04W52/0229Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal where the received signal is a wanted signal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4498Finite state machines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/04Processing captured monitoring data, e.g. for logfile generation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Definitions

  • a mobile terminal such as a smartphone or a tablet terminal is equipped with a module (hereinafter referred to as a detection module) for detecting a state, such as a GPS (Global Positioning System), an acceleration sensor, or a microphone.
  • the mobile terminal is loaded with an application that uses the detection results of these detection modules. For example, the user's action is detected by an application that detects the position of the user by GPS and presents a route to the destination or a detection module for detecting the action, and notifies when the user performs a certain action. There are applications to perform.
  • a technique for detecting the occurrence of events E1 to En (n is a natural number of 2 or more) by a plurality of detection modules and executing a predetermined process For example, it is assumed that there is a rule that a predetermined application is activated when the condition “Meet b1 in meeting room a1” is satisfied. In this case, whether or not the condition “in the conference room a1” is satisfied is determined by a detection module such as GPS, and whether or not the condition “meet Mr. b1” is satisfied is detected for detecting a person. Judge by module. And when both conditions are satisfy
  • an object of the present invention is to provide a technique for reducing the power required to detect a state.
  • a mobile terminal includes a plurality of detection modules that detect states, and a determination unit that determines an order in which the plurality of detection modules are activated for a first condition relating to a result of detection by the plurality of detection modules.
  • the first detection module in the determined order is activated, and the detection module other than the first detection module is detected as a result of detection by the previous detection module in the determined order.
  • an activation unit activated when the condition corresponding to the previous detection module is satisfied.
  • FIG. 1 is a functional block diagram of the mobile terminal.
  • FIG. 2 is a diagram illustrating an example of data stored in the rule data storage unit.
  • FIG. 3 is a diagram illustrating an example of data stored in the power data storage unit.
  • FIG. 4 is a diagram illustrating an example of data stored in the state log storage unit.
  • FIG. 5 is a diagram illustrating a processing flow of processing executed when a rule input is received from a user.
  • FIG. 6 is a diagram illustrating a processing flow of tree generation processing.
  • FIG. 7 is a diagram showing a processing flow of element generation processing.
  • FIG. 8 is a diagram illustrating an example of data on elements.
  • FIG. 9 is a diagram illustrating a processing flow of generation processing.
  • FIG. 10 is a diagram illustrating an example of a rule tree.
  • FIG. 11 is a diagram illustrating a processing flow of model generation processing.
  • FIG. 12 is a diagram illustrating conditions regarding the rule tree and functions.
  • FIG. 13 is a diagram illustrating conditions regarding the rule tree and functions.
  • FIG. 14 is a diagram illustrating a pattern of the activation order.
  • FIG. 15 is a diagram illustrating a processing flow of calculation processing.
  • FIG. 16 is a diagram illustrating an example of a function table.
  • FIG. 17 is a diagram illustrating setting values for the calculation process.
  • FIG. 18 is a diagram illustrating an example of a weighting value.
  • FIG. 19 is a diagram illustrating an example of weighting values.
  • FIG. 20 is a diagram illustrating an example of determination values calculated for each pattern.
  • FIG. 21 is a diagram illustrating a processing flow of model generation processing.
  • FIG. 21 is a diagram illustrating a processing flow of model generation processing.
  • FIG. 22 is a diagram illustrating an example of state data.
  • FIG. 23 is a diagram for explaining the relationship between the state data.
  • FIG. 24 is a diagram illustrating a processing flow of processing executed by the control unit.
  • FIG. 25 is a diagram illustrating an example of data and a method included in the detection module.
  • FIG. 26 is a diagram for explaining the order determination method according to the second embodiment.
  • FIG. 27 is a diagram illustrating an example of a rule.
  • FIG. 28 is a diagram illustrating an example of processing when a plurality of rules are registered.
  • FIG. 29 is a functional block diagram of a computer.
  • FIG. 1 shows a functional block diagram of mobile terminal 1 in the present embodiment.
  • the mobile terminal 1 includes a user interface 101, a service execution unit 102, a generation unit 103, a control unit 104, a rule data storage unit 105, a power data storage unit 106, a model storage unit 107, and a rule tree storage unit. 108, a status log storage unit 109, and detection modules 151 to 153.
  • the user interface 101 receives an input of a rule for processing executed by the mobile terminal 1 from the user and stores it in the rule data storage unit 105. Further, the user interface 101 receives a deletion instruction for instructing deletion of a rule from the user, and deletes data of the rule specified in the deletion instruction from the rule data storage unit 105.
  • the service execution unit 102 executes a service (for example, activation of an application program in the present embodiment) based on an instruction from the control unit 104.
  • the generation unit 103 generates a rule tree to be described later based on the data stored in the rule data storage unit 105, and stores the rule tree data in the rule tree storage unit 108. In addition, the generation unit 103 performs state transition described later based on data stored in the power data storage unit 106, data stored in the rule tree storage unit 108, and data stored in the state log storage unit 109. A model is generated and stored in the model storage unit 107.
  • the control unit 104 controls the service execution by the service execution unit 102 based on the data stored in the rule tree storage unit 108. Further, the control unit 104 controls the activation and stop of the detection modules 151 to 153 based on the state transition model stored in the model storage unit 107.
  • the detection modules 151 to 153 are a GPS, an acceleration sensor, a microphone, or the like, and detect the state of the mobile terminal 1, the user, the environment, or the like. That is, the detection modules 151 to 153 are modules having a function of detecting a state. In FIG. 1, the number of detection modules is 3, but the number is not limited.
  • FIG. 2 shows an example of data stored in the rule data storage unit 105.
  • conditions, service identification information, and parameters are stored.
  • the rule shown in the first line is a rule that “service“ ⁇ ”is executed using parameter“ Z ”when condition“ d1 ”is satisfied” ”.
  • the service identification information may be a URL (Uniform Resource Locator) such as “http://xxx.xxx.xxx”.
  • FIG. 3 shows an example of data stored in the power data storage unit 106.
  • function that is, detection module
  • average power consumption data of the detection module are stored.
  • the detection module since one detection module has one function for detecting a state, the detection module can be specified by the function identification information.
  • FIG. 4 shows an example of data stored in the status log storage unit 109.
  • time and information indicating a change in state that occurred at that time are stored.
  • the user interface 101 in the mobile terminal 1 accepts an input of a rule from the user, and stores the rule data in the rule data storage unit 105. Then, the user interface 101 instructs the generation unit 103 to execute a tree generation process and a model generation process.
  • step S1 the generation unit 103 executes a tree generation process (FIG. 5: step S1). The tree generation process will be described with reference to FIGS.
  • the generation unit 103 identifies one unprocessed rule from the rule data storage unit 105 (FIG. 6: step S11). Then, the generation unit 103 executes element generation processing (step S13). The element generation process will be described with reference to FIGS.
  • the generation unit 103 generates element data for the conditions included in the specified rule (FIG. 7: Step S21).
  • FIG. 8 shows an example of element data.
  • the element type the element that belongs to the upper hierarchy in the rule tree among the elements connected to the element
  • the child element In the present embodiment, a link of an element connected to the element and an element belonging to a lower hierarchy in the rule tree
  • the service data includes service identification information and parameters.
  • the parent element identification information is registered in the parent element link.
  • child element identification information is registered in the child element link.
  • the flag data indicating whether or not the condition for the element is satisfied is registered.
  • the element data is empty at the time of step S21.
  • the generation unit 103 registers the service identification information and parameters included in the rule specified in step S11 in the element data generated in step S21 (step S23).
  • the generation unit 103 executes a generation process (step S25). Then, the process returns to the calling process.
  • the generation process will be described with reference to FIG.
  • the generation unit 103 determines whether the element included in the rule identified in step S11 is only a single element (FIG. 9: step S31). For example, the rule shown in the first line in FIG. 2 is determined to be “Yes” in step S31 because only the single element d1 is included in the condition.
  • step S31 If there is only a single element (step S31: Yes route), the generation unit 103 sets the element type to “single” in the element data generated in step S21 (step S33).
  • step S31 determines whether a plurality of single elements are combined by AND in the rule specified in step S11 (step S35). For example, the rule shown in the second line in FIG. 2 is determined to be “Yes” in step S35 because a plurality of single elements are combined by AND.
  • step S35 Yes route
  • the generation unit 103 sets the element type to “AND” in the element data generated in step S21 (step S37).
  • step S35 No route
  • the generation unit 103 sets the element type to “OR” in the element data generated in step S21 ( Step S39).
  • the generation unit 103 generates a parent element link and a child element link, and registers them in the element data generated in step S21 (step S41).
  • the parent element is an element that is connected to the element to be processed and belongs to the next higher hierarchy. If the parent element does not exist, only the child element link is generated.
  • the child element is an element that is connected to the element to be processed and belongs to the next lower layer. For example, when the element to be processed is “AND”, the child element is an element connected by AND. More specifically, when the condition is “a2 AND c1” and the element to be processed is “AND”, the child elements are “a2” and “c1”.
  • the generation unit 103 generates element data for the child elements (step S43). And the production
  • One rule tree is generated for one rule by the above processing.
  • the generated rule tree is temporarily stored in the rule tree storage unit 108.
  • the generation unit 103 determines whether there is an unprocessed rule in the rule data storage unit 105 (FIG. 6: step S15). When there is an unprocessed rule (step S15: Yes route), the process returns to step S11. On the other hand, when there is no unprocessed rule (step S15: No route), the generation unit 103 determines that from the rule tree storage unit 108 when there are a plurality of rule trees stored in the rule tree storage unit 108. A plurality of rule trees are extracted, and the plurality of rule trees are combined with OR elements (step S17) and stored in the rule tree storage unit. Then, the process ends. If there is no plurality of rule trees in the rule tree storage unit 108 (that is, there is one rule storing data in the rule data storage unit 105), the process of step S17 is omitted.
  • a rule tree as shown in FIG. 10 is generated.
  • an ellipse graphic represents an element, and a line segment between elements represents a connection.
  • the type of the element 1001 is OR, the types of the elements 1003 and 1004 are AND, and the types of the other elements are single.
  • the rule tree shown in FIG. 10 is a rule tree generated when the data shown in FIG. 2 is stored in the rule data storage unit 105. Therefore, the rule tree for the condition “d1”, the rule tree for the condition “a2 AND c1”, and the rule tree for the condition “a1 AND b1” are included, and these rule trees are combined by an element 1001. .
  • the elements 1002, 1003, and 1004 service identification information and parameters are registered.
  • the element 1001 belongs to the first hierarchy, the elements 1002, 1003, and 1004 belong to the second hierarchy, and the other elements belong to the third hierarchy.
  • step S ⁇ b> 3 The model generation process will be described with reference to FIGS.
  • the generation unit 103 generates a condition for a function from the rule tree stored in the rule tree storage unit 108 (FIG. 11: Step S51).
  • a detection module for determining a condition coupled by OR is activated at the same time, and a detection module for determining a condition coupled by AND is activated stepwise.
  • a condition 1201 for the function is generated.
  • an ellipse figure represents an element, and a line segment between elements represents a connection.
  • “/” indicates that the activation is performed in stages, and “+” indicates that the activation is performed simultaneously.
  • the condition D / A is that the detection module having the function A is started after starting the detection module having the function D, or the detection module having the function D is started after starting the detection module having the function A. Represents one of the following.
  • a condition 1202 is generated as a condition for the function
  • a condition 1203 is generated as the condition for the function.
  • the condition 1202 is generated by combining the function C for detecting the condition c1 and the condition 1203 with “+”.
  • the condition 1201 is generated by combining the function A for detecting the condition a1, the function B for detecting the condition b1, and the condition 1202 with “/”.
  • condition 1301 for the function is generated.
  • the meanings of the figures and symbols are the same as in FIG.
  • a condition 1302 is generated as a condition for the function
  • a condition 1303 is generated as the condition for the function.
  • the condition 1301 is generated by combining the function D for detecting the condition d1, the condition 1302, and the condition 1303 with “+”.
  • the reason why the above processing is performed is that the condition for the OR is satisfied when at least one of the conditions combined by the OR is satisfied.
  • the condition for the AND is not satisfied.
  • the detection module having the function X and the detection module having the function Y are activated simultaneously.
  • the detection module having the function X and the detection module having the function Y are started in a stepwise manner. Note that “in stages” means that the next detection module is activated when it is confirmed that the condition is satisfied by the detection module activated first.
  • generation part 103 produces
  • a startup order pattern as shown in FIG. 14 is generated and stored in, for example, a RAM (Random Access Memory).
  • a condition for determining by the function, a function belonging to the fourth hierarchy, a condition for determining by the function, and a determination value are shown.
  • the determination value column is empty.
  • a detection module having a function belonging to the first hierarchy is activated first, a detection module having a function belonging to the second hierarchy is activated next, a detection module having a function belonging to the third hierarchy is activated next, The detection module having a function belonging to the fourth hierarchy is activated next.
  • the data in the first row activates the detection module having the function A first, activates the detection module having the function B when the condition a1 is satisfied, and has the function C when the condition b1 is satisfied.
  • a detection module and a detection module having function A are activated.
  • the detection module having the function A stops detecting the condition a2
  • the detection module having the function D is activated.
  • ⁇ A (for a2)” in the fourth hierarchy of pattern 1 means that the detection module having the function A stops detecting the condition a2.
  • step S55 The calculation process will be described with reference to FIGS.
  • the generation unit 103 identifies one unprocessed pattern (hereinafter referred to as a pattern to be processed) among the patterns generated in step S53 (FIG. 15: step S81).
  • the generating unit 103 initializes setting values for the function table and the calculation process (step S83). Specifically, the function table is emptied and all the set values for the calculation process are set to zero.
  • FIG. 16 shows an example of the function table. In the example of FIG. 16, function identification information and conditions detected by the function are stored.
  • FIG. 17 shows setting values for the calculation process. In the example of FIG. 17, the number of branches, a determination value, a code, and a value representing a hierarchy are included. The sign is set to one of +1, 0, and ⁇ 1 based on the processing result of step S86 described below. And the production
  • the generation unit 103 selects an unprocessed branch (hereinafter referred to as a process target branch) in a hierarchy to be processed (here, a hierarchy indicated by a numerical value indicating a hierarchy. For example, when the numerical value indicating a hierarchy is 1, the first hierarchy). 1) is specified (step S85).
  • a process target branch an unprocessed branch in a hierarchy to be processed (here, a hierarchy indicated by a numerical value indicating a hierarchy. For example, when the numerical value indicating a hierarchy is 1, the first hierarchy).
  • the generation unit 103 adds a condition to the function table or deletes a condition in the function table for the branch to be processed (step S86). Specifically, if the sign of the function is positive in the branch to be processed in the hierarchy to be processed, a condition for the function is added to the function table. On the other hand, if the sign of the function is negative in the branch to be processed in the hierarchy to be processed, the condition for the function is deleted from the function table.
  • the generation unit 103 sets a sign among the setting values for the calculation process based on the processing result of step S86 (step S87). Specifically, “+1” is set when the number of conditions increases from 0 to 1 by the process of step S86, and “ ⁇ 1” is set when the number of conditions decreases from 1 to 0. Otherwise, “0” is set.
  • the generation unit 103 sets the number of branches among the setting values for the calculation process (step S89).
  • the number of branches is the number of branches in the processing target hierarchy.
  • the number of branches is 2 for the third hierarchy and the fourth hierarchy in Pattern 1 in FIG. 14, and the number of branches is 1 for the first hierarchy and the second hierarchy.
  • the generation unit 103 calculates the average power consumption * code * weighting value * (1 / number of branches) of the detection module for the processing target branch in the processing target hierarchy, and adds it to the determination value (step S91). Note that when the process of step S91 is executed for the first time for the hierarchy to be processed, the determination value is 0, so the value calculated in step S91 is the determination value.
  • the average power consumption is extracted from the power data storage unit 106.
  • the weighting value is set to a larger value as the hierarchy is higher.
  • the magnitude of the power consumption of the function belonging to the higher hierarchy is more easily reflected in the determination value than the magnitude of the power consumption of the function belonging to the lower hierarchy. This is because a detection module having a function belonging to a higher hierarchy is considered to be more likely to operate frequently.
  • the weighting value may be a value as shown in FIG. In the example of FIG. 19, the probability of becoming a state is registered as a weighting value. Since the detection module having the first layer function always operates, 1.0 is registered. For the second hierarchy, the probability of being detected by the function of the first hierarchy (here, the probability that the condition a1 is satisfied) is registered. For the third layer, there is a probability that the state is detected by the function of the first layer and the state is detected by the function of the second layer (here, the probability that the condition a1 is satisfied and the condition b1 is satisfied). be registered. The probability is obtained by dividing the time of the state by the unit time using the data stored in the state log storage unit 109.
  • step S93 determines whether there is an unprocessed branch in the processing target hierarchy.
  • step S93 Yes route
  • the process returns to step S85.
  • step S93 when there is no unprocessed branch (step S93: No route), the generation unit 103 stores the calculated determination value in, for example, the RAM. Then, the generation unit 103 determines whether the pattern to be processed has an unprocessed hierarchy (step S95). When there is an unprocessed hierarchy (step S95: Yes route), the generation unit 103 increments a numerical value representing the hierarchy by 1, and initializes other than the numerical values representing the hierarchy among the setting values for the function table and the calculation process ( Step S97). Then, the process returns to step S85.
  • step S99 determines whether there is an unprocessed pattern. If there is an unprocessed pattern (step S99: Yes route), the process returns to step S81 in order to process the unprocessed pattern. On the other hand, when there is no unprocessed pattern (step S99: No route), the process returns to the caller process.
  • a determination value as shown in FIG. 20 is calculated.
  • a determination value that represents a guideline for power consumption of the pattern is calculated.
  • the generation unit 103 determines a pattern to be processed based on the determination value (step S57). For example, a pattern having the smallest determination value is set as a processing target pattern. The process proceeds to step S59 in FIG.
  • the generation unit 103 generates state data for the first hierarchy in the pattern to be processed (step S59) and stores it in the model storage unit 107.
  • FIG. 22 shows an example of state data.
  • a condition a condition indicating the state (for example, a1).
  • the function list identification information of functions to be executed in that state is registered.
  • a condition for a function in the next lower layer is registered in the link to the child state.
  • the flag is data indicating whether or not this state is present.
  • the generation unit 103 registers the condition for the function of the first layer in the pattern to be processed in the state data (step S61). Further, the generation unit 103 registers a signed function in the function list in the state data (step S63). However, when the sign is positive, the sign may not be added.
  • the generating unit 103 generates state data that satisfies the condition for the registered function and state data that does not satisfy the condition for the registered function (step S65), and stores them in the model storage unit 107.
  • the generation unit 103 sets, as processing targets, a state that satisfies the condition for the registered function and a state that does not satisfy the condition for the registered function (step S67).
  • the generating unit 103 registers a condition indicating the processing target state in the state data of the processing target state (step S69). In addition, if there is a function in the specified hierarchy, the generation unit 103 registers a signed function in the state data of the processing target state (step S71).
  • the generation unit 103 determines whether there is a function to be registered (that is, whether the process of step S71 has been executed) (step S73). If there is a function to be registered (step S73: Yes route), the process returns to the process of step S65 to process the function. On the other hand, if there is no function to be registered (step S73: No route), the process returns to the caller process, and the process shown in FIG.
  • the model storage unit 107 stores state data for a plurality of states.
  • FIG. 23 shows state data 2301 to 2311 generated for each state in the pattern 1 shown in FIG.
  • the relationship between the status data 2301 and the status data 2302 and 2303 is a parent-child relationship, the status data 2301 is a parent, and the status data 2302 and 2303 are children.
  • the relationship between the state data 2302 and the state data 2304 and 2305 is a parent-child relationship, the state data 2302 is a parent, and the state data 2304 and 2305 are children.
  • the relationship between the status data 2304 and the status data 2306 to 2309 is a parent-child relationship, the status data 2304 is a parent, and the status data 2306 to 2309 is a child.
  • the relationship between the state data 2307 and the state data 2310 and 2311 is a parent-child relationship
  • the state data 2307 is a parent
  • the state data 2310 and 2311 are children.
  • the symbol “ ⁇ ” represents that the condition is not satisfied.
  • a positive sign is not attached to the function.
  • the control unit 104 activates a detection module having a first layer function in the state transition model (FIG. 24: step S101). Specifically, the registration method of the detection module having the first layer function is called. In addition, the detection module having the function of the first layer registers a condition for making a determination, and increments the number of uses for the condition by one. Note that a flag indicating the current state is set in the current state state data.
  • FIG. 25 shows an example of data, methods, and callback methods that the detection modules 151 to 153 have.
  • the data includes a list of conditions and a list of the number of uses for the condition
  • the method includes a registration method and a deregistration method
  • the callback method includes an event issue callback. Contains methods.
  • the detection module having the function of the first layer detects that the condition for the function of the first layer is satisfied
  • the detection module notifies the control unit 104 by an event issue callback method.
  • the control unit 104 activates the detection module having the function of the next layer (here, the second layer) (step S103).
  • the registration method of the detection module having the second layer function is called.
  • the detection module having the function of the second hierarchy registers a condition for making a determination, and increments the number of uses for the condition by one.
  • the registration is not performed when the conditions for determination are already registered. Note that the processing in step S103 is repeated until there are no more hierarchies, such as the third hierarchy, the fourth hierarchy, the fifth hierarchy, and so on.
  • the control unit 104 calls a deregistration method for the detection module having the m-th layer function (step S105).
  • the detection module having the function of the m-th layer decrements the number of uses for the condition under which the determination is performed. Note that the condition is deleted when the number of uses becomes zero. Further, when the number of registered conditions becomes 0, the detection module stops.
  • the control unit 104 calls a deregistration method for the function in the layer below the m-th layer (step S107).
  • the detection module for which the deregistration method has been called decrements the number of uses for the condition under which the determination is made. Note that the condition is deleted when the number of uses becomes zero. Further, when the number of registered conditions becomes 0, the detection module stops. Further, the process of step S107 is repeatedly performed until there is no hierarchy below the m-th hierarchy.
  • the detection module having the function of the l-th layer detects that the condition for the function of the l-th layer is satisfied, the detection module notifies the control unit 104 by the event issuance callback method. Make a notification.
  • the control unit 104 activates the detection module having the function of the (l + 1) th layer (step S109). Specifically, the registration method of the detection module having the function of the (l + 1) th layer is called.
  • the detection module having the function of the (l + 1) th layer registers a condition for making a determination, and increments the number of uses for that condition by one. However, the registration is not performed when the conditions for determination are already registered.
  • the detection module having the function of the (l + 1) -th layer detects that the condition for the function of the (l + 1) -th layer is satisfied, the detection module notifies the control unit 104 by the event issue callback method.
  • the control unit 104 activates the detection module having the function of the next layer (here, the (l + 2) th layer) (step S111).
  • the registration method of the detection module having the function of the (l + 2) th layer is called.
  • the detection module having the function of the (l + 2) -th layer registers a condition for making a determination and increments the number of uses for that condition by one. However, the registration is not performed when the conditions for determination are already registered.
  • step S111 is repeatedly performed until there is no hierarchy, such as the (l + 3) th hierarchy, the (l + 4) th hierarchy, the (l + 5) th hierarchy, and so on. Then, the process returns to step S105.
  • the detection modules are activated in stages, so that a plurality of detections are performed from the beginning. It will no longer activate all of the modules. Thereby, the power required for detecting the state in the mobile terminal 1 can be reduced.
  • the control unit 104 calls a deregistration method.
  • the suppression of power consumption will be specifically described using the condition “a1 AND b1”. Assuming that the battery is full, the detection module having the function A for the condition “a1” reduces the battery energy by 1% per hour. Assuming that the battery is full, the detection module having the function B for the condition “b1” reduces the battery power consumption by 3% per hour.
  • control unit 104 controls execution of a service by the service execution unit 102.
  • the control unit 104 receives a notification by the event issue callback method from the detection module, the control unit 104 changes the flag of the corresponding element in the rule tree in the rule tree storage unit 108.
  • the control unit 104 passes the service identification information and parameters to the service execution unit 102.
  • the service execution unit 102 executes the service using the parameters. It is also determined whether or not the condition is satisfied for the parent element of the element whose flag has been changed. For the AND element, a flag indicating that the condition is satisfied is registered when all the subordinate conditions are satisfied. On the other hand, for an OR element, a flag indicating that the condition is satisfied is registered when any of the subordinate conditions is satisfied. This process is repeated up to the highest element.
  • a determination value is obtained for each pattern, and an activation order pattern is determined based on the determination value.
  • the order is such that the detection modules with lower average power consumption are activated first.
  • rule 1 and rule 2 as shown in FIG. 27 are registered in the rule data storage unit 105.
  • the rule 1 is a rule that “notify when a person b1 is met at the place a1 or the place a2”
  • the rule 2 is a rule that “if you walk at the place a3, you play music”.
  • the conditions “location a1”, “location a2”, and “location a3” are determined by a detection module having a function A for detecting a position, and the condition “person b1” has a function B for detecting a person.
  • the determination is performed by the detection module, and the condition “walking (c1)” is determined by the detection module having the function C for detecting the action.
  • pattern 1 in the first hierarchy, a detection module having function A is activated for rule 1 and rule 2, and in the second hierarchy, a detection module having function B is activated for rule 1, and rule 2
  • the detection module having function C is activated.
  • pattern 2 the detection module having function A for rule 1 is activated in the first hierarchy, the detection module having function C is activated for rule 2, and for rule 1 in the second hierarchy.
  • a detection module having function B is activated, and a detection module having function A for rule 2 is activated.
  • the detection module having the function B for the rule 1 is activated in the first hierarchy
  • the detection module having the function C is activated for the rule 2, and for the rule 1 in the second hierarchy.
  • a detection module having function A is activated, and a detection module having function A for rule 2 is activated.
  • the detection module having the function B for the rule 1 is activated in the first hierarchy
  • the detection module having the function A is activated for the rule 2
  • for the rule 1 in the second hierarchy is activated.
  • a detection module having function A is activated and a detection module having function C for rule 2 is activated.
  • pattern 1 only the detection module having function A in the first hierarchy is activated, in pattern 2, the detection module having function A and the detection module having function C in the first hierarchy are activated, and in pattern 3, The detection module having the function B and the detection module having the function C are activated in the first hierarchy, and in the pattern 4, the detection module having the function B and the detection module having the function A are activated in the first hierarchy. Therefore, if the power consumption of the detection module having the function A is less than the sum of the power consumption of the detection module having the function B and the power consumption of the detection module having the function C, the power consumption of the first layer of the pattern 1 is the highest. It will be less. Therefore, when the process of the second embodiment is applied, the pattern 1 is adopted as the most preferable pattern.
  • the mobile terminal 1 a usage example of the mobile terminal 1 will be specifically described.
  • the user of the portable terminal 1 has registered a rule that “if jogging around a park, play music suitable for jogging”.
  • the condition “around the park” can be detected by the GPS geofencing function, and the condition “running” can be detected by the walking detection function of the acceleration sensor.
  • the power consumption of GPS is larger than the average power consumption of the acceleration sensor.
  • the state transition model if the hierarchy of the walking detection function is above the hierarchy of the geofencing function, the GPS operation is performed only while the condition of running is satisfied. Thereby, the increase in power consumption can be suppressed.
  • a service provider registers a rule “sale information is distributed in the vicinity of a shopping center” in the mobile terminal 1.
  • the rule 1 and the rule 2 are registered in the portable terminal 1.
  • the condition “around shopping center” can be detected by the geofencing function of GPS.
  • the condition of rule 1 and the condition of rule 2 are combined with OR, and the state transition model is regenerated.
  • the hierarchy of the geofencing function is higher than the hierarchy of the walking detection function. As a result, it is possible to determine both the rule 1 condition and the rule 2 condition.
  • the present invention is not limited to this.
  • the functional block configuration of the mobile terminal 1 described above may not match the actual program module configuration.
  • each table described above is an example, and it does not have to be the configuration described above. Further, in the processing flow, the processing order can be changed if the processing result does not change. Further, it may be executed in parallel.
  • a server such as a provider may register a rule in the rule data storage unit 105 of the mobile terminal 1.
  • the portable terminal 1 described above is a computer device, and as shown in FIG. 29, a display connected to a RAM 2501, a CPU (Central Processing Unit) 2503, a ROM (Read Only Memory) 2505, and a display device 2509.
  • a control unit 2507, a flash memory 2513, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519.
  • An operating system (OS: Operating System) and an application program for executing the processing in this embodiment are stored in the ROM 2505 or the flash memory 2513, and when executed by the CPU 2503, from the ROM 2505 or the flash memory 2513. Read to the memory 2501.
  • OS Operating System
  • the CPU 2503 controls the display control unit 2507 and the communication control unit 2517 in accordance with the processing contents of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the RAM 2501, but may be stored in the flash memory 2513. In the embodiment of the present invention, an application program for performing the above-described processing is installed in the flash memory 2513 via a network such as the Internet and the communication control unit 2517, for example.
  • a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and RAM 2501 described above with programs such as the OS and application programs.
  • the mobile terminal includes: (A) a plurality of detection modules that detect states; and (B) a first condition related to a result of detection by the plurality of detection modules.
  • a determination unit that determines the order in which the detection modules are activated; and (C) activates the first detection module in the determined order, and detects detection modules other than the first detection module in the determined order.
  • An activation unit that is activated when a result of detection by the module satisfies a condition corresponding to the immediately preceding detection module among the conditions included in the first condition;
  • the detection module is activated step by step as described above, the power required for state detection in the portable terminal can be reduced.
  • the order described above may be an order in which detection modules with lower power consumption are activated first. In this way, since the time for which the detection module that consumes more power than other detection modules operates is shortened, the power consumption of the mobile terminal can be reduced.
  • the above-described order is that the detection modules corresponding to the conditions that are combined by the logical sum among the conditions included in the first condition are simultaneously activated, and are combined by the logical product among the conditions included in the first condition.
  • the order in which the detection modules corresponding to the conditions to be activated are activated in stages may be used. In the case of a logical sum, if any one of the conditions combined by the logical sum is satisfied, the condition for the logical sum is satisfied. On the other hand, in the case of a logical product, if even one of the conditions combined by the logical product is not satisfied, the condition for the logical product is not satisfied. Therefore, the minimum detection module can be operated by performing the above-described process.
  • the determination unit described above generates (b1) a plurality of orders for starting the plurality of detection modules for the first condition, and (b2) consumption of each of the plurality of detection modules for each of the plurality of orders.
  • a total value of values obtained by multiplying the power by the weighting value may be calculated, and (b3) an order in which the calculated total value is smaller than a predetermined value among a plurality of orders may be selected.
  • the weighting value mentioned above may be so large that the detection module started previously. The earlier the order of activation, the higher the probability of activation, and the greater the proportion of power consumption of the mobile terminal. Therefore, as described above, it is possible to select an order in which power consumption can be reduced.
  • the determination unit described above generates (b4) a plurality of activation orders of the plurality of detection modules for the first condition, and (b5) consumption of each of the plurality of detection modules for each of the plurality of orders.
  • a total value of values obtained by multiplying the power by the weighting value may be calculated, and (b6) an order in which the calculated total value is smaller than a predetermined value among a plurality of orders may be selected.
  • the weighting value described above may be a probability that a condition that satisfies the condition corresponding to the detection module occurs. Even if the power consumption of the detection module is low, if the condition that satisfies the condition occurs frequently, the next detection module will be frequently started, so the power consumption may increase as a whole. . Therefore, as described above, it is possible to select an order in which power consumption can be reduced.
  • the order in which the plurality of detection modules are activated is determined for the first condition relating to the detection result by the plurality of detection modules that detect the respective states.
  • a program for causing a computer to perform the processing according to the above method can be created.
  • the program can be a computer-readable storage medium such as a flexible disk, a CD-ROM, a magneto-optical disk, a semiconductor memory, or a hard disk. It is stored in a storage device.
  • the intermediate processing result is temporarily stored in a storage device such as a main memory.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Telephone Function (AREA)
  • Stored Programmes (AREA)

Abstract

 本携帯端末は、各々状態の検出を行う複数の検出モジュールと、複数の検出モジュールによる検出の結果に関する第1の条件について、複数の検出モジュールが起動される順序を決定する決定部と、決定された順序における最初の検出モジュールを起動し、最初の検出モジュール以外の検出モジュールを、決定された順序における1つ前の検出モジュールによる検出の結果が、第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する起動部とを有する。

Description

携帯端末、起動方法及びプログラム
 状態の検出技術に関する。
 スマートフォン或いはタブレット端末等の携帯端末には、GPS(Global Positioning System)、加速度センサ、或いはマイク等、状態を検出するためのモジュール(以下、検出モジュールと呼ぶ)が搭載される。そして、携帯端末には、これらの検出モジュールによる検出の結果を利用するアプリケーションが搭載される。例えば、GPSによりユーザの位置を検出し、目的地までのルートを提示するアプリケーション、或いは、行動を検出するための検出モジュールによってユーザの行動を検出し、ユーザが或る行動をした場合に通知を行うアプリケーション等が有る。
 また、複数の検出モジュールによって、イベントE1乃至En(nは2以上の自然数)が発生したことを検出し、予め定められた処理を実行する技術がある。例えば、「会議室a1において、b1氏に会う」という条件を満たした場合に、所定のアプリケーションを起動するというルールが有るとする。この場合、「会議室a1において」という条件が満たされたか否かを、GPS等の検出モジュールによって判定し、「b1氏に会う」という条件が満たされたか否かを、人検出のための検出モジュールによって判定する。そして、両方の条件が満たされた場合に、携帯端末において所定のアプリケーションが起動される。
 但し、携帯端末に搭載されているバッテリの容量には限りがあるため、複数の検出モジュールを動作させることによって消費電力が多くなると、ユーザが携帯端末を使用できる時間が短くなるという問題がある。従来の技術においては、携帯端末において複数の検出モジュールを動作させる場合における消費電力には着目されていない。
特開2012-79240号公報
 従って、1つの側面では、本発明の目的は、状態の検出に要する電力を削減するための技術を提供することである。
 本発明に係る携帯端末は、各々状態の検出を行う複数の検出モジュールと、複数の検出モジュールによる検出の結果に関する第1の条件について、複数の検出モジュールが起動される順序を決定する決定部と、決定された順序における最初の検出モジュールを起動し、最初の検出モジュール以外の検出モジュールを、決定された順序における1つ前の検出モジュールによる検出の結果が、第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する起動部とを有する。
 状態の検出に要する電力を削減できるようになる。
図1は、携帯端末の機能ブロック図である。 図2は、ルールデータ格納部に格納されるデータの一例を示す図である。 図3は、電力データ格納部に格納されるデータの一例を示す図である。 図4は、状態ログ格納部に格納されるデータの一例を示す図である。 図5は、ユーザからルールの入力を受け付けた場合に実行する処理の処理フローを示す図である。 図6は、ツリー生成処理の処理フローを示す図である。 図7は、要素生成処理の処理フローを示す図である。 図8は、要素についてのデータの一例を示す図である。 図9は、生成処理の処理フローを示す図である。 図10は、ルールツリーの一例を示す図である。 図11は、モデル生成処理の処理フローを示す図である。 図12は、ルールツリー及び機能についての条件を示す図である。 図13は、ルールツリー及び機能についての条件を示す図である。 図14は、起動順序のパターンを示す図である。 図15は、算出処理の処理フローを示す図である。 図16は、機能テーブルの一例を示す図である。 図17は、算出処理についての設定値を示す図である。 図18は、重み付け値の一例を示す図である。 図19は、重み付け値の一例を示す図である。 図20は、パターン毎に算出される判定値の一例を示す図である。 図21は、モデル生成処理の処理フローを示す図である。 図22は、状態データの一例を示す図である。 図23は、状態データ間の関係について説明するための図である。 図24は、制御部が実行する処理の処理フローを示す図である。 図25は、検出モジュールが有するデータ及びメソッドの一例を示す図である。 図26は、第2の実施の形態における順序の決定方法について説明するための図である。 図27は、ルールの一例を示す図である。 図28は、複数のルールが登録された場合における処理の一例を示す図である。 図29は、コンピュータの機能ブロック図である。
[実施の形態1]
 図1に、本実施の形態における携帯端末1の機能ブロック図を示す。携帯端末1は、ユーザインタフェース101と、サービス実行部102と、生成部103と、制御部104と、ルールデータ格納部105と、電力データ格納部106と、モデル格納部107と、ルールツリー格納部108と、状態ログ格納部109と、検出モジュール151乃至153とを有する。
 ユーザインタフェース101は、携帯端末1が実行する処理についてのルールの入力をユーザから受け付け、ルールデータ格納部105に格納する。また、ユーザインタフェース101は、ルールを削除することを指示する削除指示をユーザから受け付け、削除指示において指定されたルールのデータをルールデータ格納部105から削除する。
 サービス実行部102は、制御部104からの指示に基づき、サービス(本実施の形態においては、例えば、アプリケーションプログラムの起動等)を実行する。
 生成部103は、ルールデータ格納部105に格納されているデータに基づき、後述するルールツリーを生成し、ルールツリーのデータをルールツリー格納部108に会格納する。また、生成部103は、電力データ格納部106に格納されているデータ、ルールツリー格納部108に格納されているデータ、及び状態ログ格納部109に格納されているデータに基づき、後述する状態遷移モデルを生成し、モデル格納部107に格納する。
 制御部104は、ルールツリー格納部108に格納されているデータに基づき、サービス実行部102によるサービスの実行を制御する。また、制御部104は、モデル格納部107に格納されている状態遷移モデルに基づき、検出モジュール151乃至153の起動及び停止を制御する。
 検出モジュール151乃至153は、GPS、加速度センサ、或いはマイク等であり、携帯端末1、ユーザ、或いは環境等の状態を検出する。すなわち、検出モジュール151乃至153は、状態を検出する機能を有するモジュールである。なお、図1において検出モジュールの数は3であるが、数に限定は無い。
 図2に、ルールデータ格納部105に格納されるデータの一例を示す。図2の例では、条件と、サービスの識別情報と、パラメータとが格納される。例えば1行目に示したルールは、「条件『d1』を満たす場合に、パラメータ『Z』を用いて、サービス『α』を実行する」というルールである。なお、サービスの識別情報は、「http://xxx.xxx.xxx」というようなURL(Uniform Resource Locator)であってもよい。
 図3に、電力データ格納部106に格納されるデータの一例を示す。図3の例では、機能(すなわち検出モジュール)の識別情報と、その検出モジュールの平均消費電力のデータとが格納される。本実施の形態においては、1つの検出モジュールが、状態を検出する機能を1つ有しているため、機能の識別情報によって検出モジュールを特定することができる。
 図4に、状態ログ格納部109に格納されるデータの一例を示す。図4の例では、時刻と、その時刻に起きた状態の変化を示す情報とが格納される。
 次に、図5乃至図28を用いて、携帯端末1の動作について説明する。まず、ユーザからルールの入力を受け付けた場合における動作について説明する。
 携帯端末1におけるユーザインタフェース101は、ユーザからルールの入力を受け付け、そのルールのデータをルールデータ格納部105に格納する。そして、ユーザインタフェース101は、ツリー生成処理及びモデル生成処理の実行を生成部103に指示する。
 これに応じ、生成部103は、ツリー生成処理を実行する(図5:ステップS1)。ツリー生成処理については、図6乃至図10を用いて説明する。
 まず、生成部103は、ルールデータ格納部105から未処理のルールを1つ特定する(図6:ステップS11)。そして、生成部103は、要素生成処理を実行する(ステップS13)。要素生成処理については、図7乃至図9を用いて説明する。
 生成部103は、特定されたルールに含まれる条件について、要素データを生成する(図7:ステップS21)。図8に、要素データの一例を示す。図8の例では、要素の種別と、サービスデータと、親要素(本実施の形態においては、その要素に接続される要素のうちルールツリーにおいて上の階層に属する要素)のリンクと、子要素(本実施の形態においては、その要素に接続される要素のうちルールツリーにおいて下の階層に属する要素)のリンクと、フラグとが含まれる。要素の種別には、単体、AND(論理積)、又はOR(論理和)のいずれかが設定される。サービスデータには、サービスの識別情報及びパラメータが含まれる。親要素のリンクには、親要素の識別情報が登録される。子要素のリンクには、子要素のリンクには、子要素の識別情報が登録される。フラグには、その要素についての条件を満たしているか否かを示すデータが登録される。但し、ステップS21の時点では、要素データは空である。
 生成部103は、ステップS11において特定されたルールに含まれるサービスの識別情報及びパラメータを、ステップS21において生成された要素データに登録する(ステップS23)。
 生成部103は、生成処理を実行する(ステップS25)。そして呼び出し元の処理に戻る。ここで、生成処理について、図9を用いて説明する。
 生成部103は、ステップS11において特定されたルールに含まれる要素が、単体要素のみであるか判断する(図9:ステップS31)。例えば、図2における1行目に示したルールは、条件に単体要素d1のみが含まれるため、ステップS31において「Yes」であると判断される。
 単体要素のみである場合(ステップS31:Yesルート)、生成部103は、ステップS21で生成した要素データにおいて、要素の種別を「単体」に設定する(ステップS33)。
 一方、単体要素のみではない場合(ステップS31:Noルート)、生成部103は、ステップS11において特定されたルールにおいて、ANDによって複数の単体要素が結合されているか判断する(ステップS35)。例えば、図2における2行目に示したルールは、ANDによって複数の単体要素が結合されているため、ステップS35において「Yes」であると判断される。
 ANDによって複数の単体要素が結合されている場合(ステップS35:Yesルート)、生成部103は、ステップS21で生成した要素データにおいて、要素の種別を「AND」に設定する(ステップS37)。
 一方、ANDによって複数の単体要素が結合されているわけではない場合(ステップS35:Noルート)、生成部103は、ステップS21で生成した要素データにおいて、要素の種別を「OR」に設定する(ステップS39)。
 生成部103は、親要素のリンク及び子要素のリンクを生成し、ステップS21で生成した要素データに登録する(ステップS41)。親要素は、処理対象の要素に接続されており且つ1つ上の階層に属する要素である。親要素が存在しない場合には、子要素のリンクのみを生成する。子要素は、処理対象の要素に接続されており且つ1つ下の階層に属する要素である。例えば、処理対象の要素が「AND」である場合、子要素は、ANDによって接続される要素である。より具体的には、条件が「a2 AND c1」であり且つ処理対象の要素が「AND」である場合には、子要素は「a2」及び「c1」である。
 生成部103は、子要素について、要素データを生成する(ステップS43)。そして、生成部103は、子要素について生成処理を実行する(ステップS45)。なお、子要素が複数有る場合には、各子要素についてステップS45の処理が実行される。そして呼び出し元の処理に戻る。
 以上のような処理によって、1つのルールに対し1つのルールツリーが生成される。生成されたルールツリーは、一旦ルールツリー格納部108に格納される。
 図6の説明に戻り、生成部103は、ルールデータ格納部105に未処理のルールが有るか判断する(図6:ステップS15)。未処理のルールが有る場合(ステップS15:Yesルート)、ステップS11の処理に戻る。一方、未処理のルールが無い場合(ステップS15:Noルート)、生成部103は、ルールツリー格納部108に格納されているルールツリーの数が複数である場合には、ルールツリー格納部108から複数のルールツリーを取り出し、複数のルールツリーをOR要素で結合し(ステップS17)、ルールツリー格納部108に格納する。そして処理を終了する。なお、ルールツリー格納部108に複数のルールツリーが無い(すなわち、ルールデータ格納部105にデータが格納されているルールが1つである)場合には、ステップS17の処理は省略される。
 以上のような処理を実行すると、例えば、図10に示すようなルールツリーが生成される。図10において、楕円の図形は要素を表し、要素間の線分は接続を表す。要素1001の種別はORであり、要素1003及び1004の種別はANDであり、それ以外の要素の種別は単体である。なお、図10に示したルールツリーは、図2に示したデータがルールデータ格納部105に格納されている場合に生成されるルールツリーである。よって、条件「d1」についてのルールツリーと、条件「a2 AND c1」についてのルールツリーと、条件「a1 AND b1」についてのルールツリーとを含み、これらのルールツリーが要素1001で結合されている。また、要素1002、1003及び1004には、サービスの識別情報及びパラメータが登録されている。要素1001は第1階層に属し、要素1002、1003及び1004は第2階層に属し、それ以外の要素は第3階層に属する。
 図5の説明に戻り、生成部103は、モデル生成処理を実行する(ステップS3)。モデル生成処理については、図11乃至図23を用いて説明する。
 まず、生成部103は、ルールツリー格納部108に格納されているルールツリーから、機能についての条件を生成する(図11:ステップS51)。機能についての条件を生成する際には、ORで結合される条件を判定するための検出モジュールを同時に起動し、ANDで結合される条件を判定するための検出モジュールを段階的に起動する。
 例えば、ルールツリーが図12に示したルールツリーである場合、機能についての条件1201が生成される。図12においては、楕円の図形は要素を表し、要素間の線分は接続を表す。条件において、「/」は、段階的に起動することを表し、「+」は、同時に起動することを表す。例えばD/Aという条件は、機能Dを有する検出モジュールを起動した後に機能Aを有する検出モジュールを起動する、又は、機能Aを有する検出モジュールを起動した後に機能Dを有する検出モジュールを起動する、のいずれかであることを表す。
 なお、図12における第2階層のOR以下のルールツリーについては、機能についての条件として条件1202が生成され、第3階層のAND以下のルールツリーについては、機能についての条件として条件1203が生成される。条件1202は、条件c1を検出するための機能Cと、条件1203とを「+」で結合することにより生成される。条件1201は、条件a1を検出するための機能Aと、条件b1を検出するための機能Bと、条件1202とを「/」で結合することにより生成される。
 また、ルールツリーが図13に示したルールツリーである場合、機能についての条件1301が生成される。図形及び記号の意味は図12と同様である。図13における第2階層のAND1302以下のルールツリーについては、機能についての条件として条件1302が生成され、第2階層のAND1303以下のルールツリーについては、機能についての条件として条件1303が生成される。条件1301は、条件d1を検出するための機能Dと、条件1302と、条件1303とを「+」で結合することにより生成される。
 以上のような処理をする理由は、ORについては、ORによって結合される条件のうち1つでも満たされた場合、ORについての条件は成立するからである。一方、ANDについては、ANDによって結合される条件のうち1つでも満たされない場合には、そのANDについての条件は成立しないからである。例えば、「x1 OR y1」という条件の場合、機能Xを有する検出モジュールと、機能Yを有する検出モジュールとの両方を同時に起動する。一方、「x1 AND y1」という条件の場合、機能Xを有する検出モジュールと、機能Yを有する検出モジュールとを段階的に起動する。なお、「段階的に」とは、最初に起動した検出モジュールによって条件が満たされたことが確認された場合に次の検出モジュールを起動するという意味である。
 そして、生成部103は、ステップS51において生成された、機能についての条件から、起動順序のパターンを生成する(ステップS53)。具体的には、「+」によって結合される条件についての機能を有する検出モジュールを同時に起動し、「/」によって結合される条件についての機能を有する検出モジュールを段階的に起動するとして、起動順序のパターンを生成する。
 例えば図12に示した条件1201については、図14に示すような起動順序のパターンが生成され、例えばRAM(Random Access Memory)に格納される。図14の例では、各パターンについて、第1階層に属する機能及びその機能によって判定が行われる条件と、第2階層に属する機能及びその機能によって判定が行われる条件と、第3階層に属する機能及びその機能によって判定が行われる条件と、第4階層に属する機能及びその機能によって判定が行われる条件と、判定値とが示されている。但し、ステップS53の時点では、判定値の欄は空である。
 第1階層に属する機能を有する検出モジュールは最初に起動され、第2階層に属する機能を有する検出モジュールはその次に起動され、第3階層に属する機能を有する検出モジュールはその次に起動され、第4階層に属する機能を有する検出モジュールはその次に起動される。例えば1行目のデータは、最初に機能Aを有する検出モジュールを起動し、条件a1が満たされた場合に機能Bを有する検出モジュールを起動し、条件b1が満たされた場合に機能Cを有する検出モジュール及び機能Aを有する検出モジュールを起動する。そして、条件c1が満たされた場合には、機能Aを有する検出モジュールが条件a2を検出することを停止し、条件a2が満たされた場合には、機能Dを有する検出モジュールを起動する。なお、パターン1の第4階層における「-A(a2用)」は、機能Aを有する検出モジュールが条件a2を検出することを停止することを意味する。
 そして、生成部103は、算出処理を実行する(ステップS55)。算出処理については、図15乃至図20を用いて説明する。
 まず、生成部103は、ステップS53において生成されたパターンのうち未処理のパターン(以下、処理対象のパターンと呼ぶ)を1つ特定する(図15:ステップS81)。
 生成部103は、機能テーブル及び算出処理についての設定値を初期化する(ステップS83)。具体的には、機能テーブルを空にすると共に、算出処理についての設定値を全て0にする。図16に、機能テーブルの一例を示す。図16の例では、機能の識別情報と、その機能によって検出される条件とが格納される。図17に、算出処理についての設定値を示す。図17の例では、分岐数と、判定値と、符号と、階層を表す値とが含まれる。符号は、以下で説明するステップS86の処理結果に基づき、+1、0、-1のいずれかが設定される。そして、生成部103は、算出処理についての設定値のうち、階層を表す値を1に設定する(ステップS84)。
 生成部103は、処理対象の階層(ここでは、階層を表す数値が示す階層。例えば、階層を表す数値が1である場合、第1階層。)において未処理の分岐(以下、処理対象の分岐と呼ぶ)を1つ特定する(ステップS85)。
 生成部103は、処理対象の分岐について、機能テーブルに条件を追加又は機能テーブルにおける条件を削除する(ステップS86)。具体的には、処理対象の階層における処理対象の分岐において、機能の符号が正である場合には、その機能についての条件を機能テーブルに追加する。一方、処理対象の階層における処理対象の分岐において、機能の符号が負である場合には、その機能についての条件を機能テーブルから削除する。
 生成部103は、ステップS86の処理結果に基づき、算出処理についての設定値のうち符号を設定する(ステップS87)。具体的には、ステップS86の処理によって、条件の数が0から1に増えた場合には「+1」を設定し、条件の数が1から0に減った場合には「-1」を設定し、それ以外である場合には「0」を設定する。
 生成部103は、算出処理についての設定値のうち分岐数を設定する(ステップS89)。分岐数は、処理対象の階層における分岐の数である。例えば、図14のパターン1における第3階層及び第4階層の場合、分岐数は2であり、第1階層及び第2階層の場合、分岐数は1である。
 生成部103は、処理対象の階層における処理対象の分岐について、検出モジュールの平均の消費電力*符号*重み付け値*(1/分岐数)を算出し、判定値に加算する(ステップS91)。なお、処理対象の階層について初めてステップS91の処理を実行する場合には、判定値は0であるので、ステップS91において算出された値が判定値になる。また、平均の消費電力は、電力データ格納部106から抽出される。
 重み付け値は、例えば図18に示すように、階層が上位であるほど大きい値とする。このようにすることで、下位の階層に属する機能の消費電力の大きさよりも上位の階層に属する機能の消費電力の大きさの方が判定値に反映されやすくなる。これは、上位の階層に属する機能を有する検出モジュールの方が、頻繁に動作する可能性が高いと考えられるからである。
 また、重み付け値は、図19に示すような値であってもよい。図19の例では、状態になる確率が重み付け値として登録される。第1階層の機能を有する検出モジュールは、常に動作するので、1.0が登録される。第2階層については、第1階層の機能により検出される状態になる確率(ここでは、条件a1が成立する確率)が登録される。第3階層については、第1階層の機能により検出される状態になり且つ第2階層の機能により検出される状態になる確率(ここでは、条件a1が成立し且つ条件b1が成立する確率)が登録される。なお、確率は、状態ログ格納部109に格納されているデータを用いて、その状態である時間を単位時間で割ることにより求められる。
 そして、生成部103は、処理対象の階層に未処理の分岐が有るか判断する(ステップS93)。未処理の分岐が有る場合(ステップS93:Yesルート)、ステップS85の処理に戻る。
 一方、未処理の分岐が無い場合(ステップS93:Noルート)、生成部103は、算出された判定値を、例えばRAMに格納する。そして、生成部103は、処理対象のパターンに未処理の階層が有るか判断する(ステップS95)。未処理の階層が有る場合(ステップS95:Yesルート)、生成部103は、階層を表す数値を1インクリメントし、機能テーブル及び算出処理についての設定値のうち階層を表す数値以外を初期化する(ステップS97)。そしてステップS85の処理に戻る。
 未処理の階層が無い場合(ステップ95:Noルート)、生成部103は、未処理のパターンが有るか判断する(ステップS99)。未処理のパターンが有る場合(ステップS99:Yesルート)、未処理のパターンについて処理するため、ステップS81の処理に戻る。一方、未処理のパターンが無い場合(ステップS99:Noルート)、呼び出し元の処理に戻る。
 以上のような処理を実行すれば、例えば図20に示すような判定値が算出される。図20の例では、各パターンについて、そのパターンの消費電力の目安を表す判定値が算出されている。本実施の形態においては、この判定値が小さいほど、好ましいパターンである。
 図11の説明に戻り、生成部103は、判定値に基づき、処理対象のパターンを決定する(ステップS57)。例えば、判定値が最も小さいパターンを、処理対象のパターンとする。処理は端子Aを介して図21のステップS59に移行する。
 図21の説明に移行し、生成部103は、処理対象のパターンにおける第1階層について、状態データを生成し(ステップS59)、モデル格納部107に格納する。図22に、状態データの一例を示す。図22の例では、条件と、機能リストと、子状態へのリンクと、フラグとが含まれる。条件は、その状態を表す条件(例えば、a1)である。機能リストには、その状態である場合に実行される機能の識別情報が登録される。子状態へのリンクには、1つ下の階層における機能についての条件が登録される。フラグは、その状態であるか否かを示すデータである。
 また、生成部103は、処理対象のパターンにおける第1階層の機能についての条件を、状態データに登録する(ステップS61)。また、生成部103は、状態データにおける機能リストに、符号付きの機能を登録する(ステップS63)。但し、符号が正である場合には符号を付さなくてもよい。
 生成部103は、登録された機能についての条件を満たす状態の状態データ及び登録された機能についての条件を満たさない状態の状態データを生成し(ステップS65)、モデル格納部107に格納する。
 生成部103は、登録された機能についての条件を満たす状態及び登録された機能についての条件を満たさない状態を処理対象に設定する(ステップS67)。
 生成部103は、処理対象の状態を表す条件を、処理対象の状態の状態データに登録する(ステップS69)。また、生成部103は、特定された階層における機能が有れば、処理対象の状態の状態データに、符号付きの機能を登録する(ステップS71)。
 生成部103は、登録される機能が有るか(すなわち、ステップS71の処理を実行したか)判断する(ステップS73)。登録される機能が有る場合(ステップS73:Yesルート)、その機能について処理するため、ステップS65の処理に戻る。一方、登録される機能が無い場合(ステップS73:Noルート)、呼び出し元の処理に戻り、図5に示した処理を終了する。
 以上のような処理を実行すると、モデル格納部107には、複数の状態について状態データが格納される。
 図23を用いて、状態データ間の関係について説明する。図23には、図14に示したパターン1における各状態について生成された、状態データ2301乃至2311が示されている。
 状態データ2301と、状態データ2302及び2303との関係は親子関係であり、状態データ2301が親であり、状態データ2302及び2303が子である。同様に、状態データ2302と、状態データ2304及び2305との関係は親子関係であり、状態データ2302が親であり、状態データ2304及び2305が子である。同様に、状態データ2304と、状態データ2306乃至2309との関係は親子関係であり、状態データ2304が親であり、状態データ2306乃至2309が子である。同様に、状態データ2307と、状態データ2310及び2311との関係は親子関係であり、状態データ2307が親であり、状態データ2310及び2311が子である。なお、図23において、「^」という記号は、条件が成立しないことを表す。また、図23の例においては、機能に対して正の符号は付されていない。
 次に、図24及び図25を用いて、制御部104が検出モジュール151乃至153の起動及び停止を制御する処理について説明する。但し、説明を簡単にするため、以下では、状態遷移モデルに登録されている機能の符号は正のみであるとする。
 制御部104は、状態遷移モデルにおける第1階層の機能を有する検出モジュールを起動する(図24:ステップS101)。具体的には、第1階層の機能を有する検出モジュールの登録メソッドを呼び出す。また、第1階層の機能を有する検出モジュールは、判定が行われる条件を登録すると共に、その条件についての使用数を1インクリメントする。なお、現在の状態の状態データには、その状態であることを示すフラグが設定される。
 図25に、検出モジュール151乃至153が有するデータ、メソッド及びコールバックメソッドの一例を示す。図25の例では、データには条件のリスト及びその条件についての使用数のリストが含まれ、メソッドには登録のメソッド及び登録解除のメソッドが含まれ、コールバックメソッドにはイベント発行のコールバックメソッドが含まれる。
 第1階層の機能を有する検出モジュールは、第1階層の機能についての条件を満たすことを検出した場合、イベント発行のコールバックメソッドにより、制御部104に通知をする。これに応じ、制御部104は、次の階層(ここでは、第2階層)の機能を有する検出モジュールを起動する(ステップS103)。具体的には、第2階層の機能を有する検出モジュールの登録メソッドを呼び出す。また、第2階層の機能を有する検出モジュールは、判定が行われる条件を登録すると共に、その条件についての使用数を1インクリメントする。但し、判定が行われる条件が既に登録されている場合には、登録を行わない。なお、ステップS103の処理は、第3階層、第4階層、第5階層・・・というように、階層が無くなるまで繰り返し行われる。
 ここで、第m階層の機能を有する検出モジュール(mは2以上の自然数)は、第1階層の機能についての条件を満たさなくなったことを検出した場合、イベント発行のコールバックメソッドにより、制御部104に通知をする。これに応じ、制御部104は、第m階層の機能を有する検出モジュールについて、登録解除のメソッドを呼び出す(ステップS105)。また、第m階層の機能を有する検出モジュールは、判定が行われる条件についての使用数を1デクリメントする。なお、使用数が0になった場合、条件は削除される。また、登録されている条件の数が0になった場合には、検出モジュールは停止する。
 制御部104は、第m階層より下の階層の機能について、登録解除のメソッドを呼び出す(ステップS107)。また、登録解除メソッドが呼び出された検出モジュールは、判定が行われる条件についての使用数を1デクリメントする。なお、使用数が0になった場合、条件は削除される。また、登録されている条件の数が0になった場合には、検出モジュールは停止する。また、ステップS107の処理は、第m階層より下の階層が無くなるまで繰り返し行われる。
 ここで、第l階層(lは2以上の自然数)の機能を有する検出モジュールは、第l階層の機能についての条件を満たすことを検出した場合、イベント発行のコールバックメソッドにより、制御部104に通知をする。これに応じ、制御部104は、第l+1階層の機能を有する検出モジュールを起動する(ステップS109)。具体的には、第l+1階層の機能を有する検出モジュールの登録メソッドを呼び出す。また、第l+1階層の機能を有する検出モジュールは、判定が行われる条件を登録すると共に、その条件についての使用数を1インクリメントする。但し、判定が行われる条件が既に登録されている場合には、登録を行わない。
 第l+1階層の機能を有する検出モジュールは、第l+1階層の機能についての条件を満たすことを検出した場合、イベント発行のコールバックメソッドにより、制御部104に通知をする。これに応じ、制御部104は、次の階層(ここでは、第l+2階層)の機能を有する検出モジュールを起動する(ステップS111)。具体的には、第l+2階層の機能を有する検出モジュールの登録メソッドを呼び出す。また、第l+2階層の機能を有する検出モジュールは、判定が行われる条件を登録すると共に、その条件についての使用数を1インクリメントする。但し、判定が行われる条件が既に登録されている場合には、登録を行わない。なお、ステップS111の処理は、第l+3階層、第l+4階層、第l+5階層・・・というように、階層が無くなるまで繰り返し行われる。そして、ステップS105の処理に戻る。
 以上のような処理を実行すれば、或る条件を満たすか否か判定するために複数の検出モジュールを用いる場合であっても、検出モジュールが段階的に起動されるので、最初から複数の検出モジュールの全てを起動することは無くなる。これにより、携帯端末1において状態の検出に要する電力を削減できるようになる。なお、上では、状態遷移モデルに登録されている機能の符号が正である場合のみについて説明したが、符号が負である場合もある。符号が負である場合には、制御部104は、登録解除メソッドを呼び出す。
 ここで、消費電力の抑制について、「a1 AND b1」という条件を用いて具体的に説明する。電池がフルである状態を基準とすると、条件「a1」についての機能Aを有する検出モジュールによって、1時間に1%ずつ電池の電力量が減るとする。電池がフルである状態を基準とすると、条件「b1」についての機能Bを有する検出モジュールによって、1時間に3%ずつ電池の電力量が減るとする。
 両方の検出モジュールを同時に起動し、24時間動作させると、(1+3)*24=96%の電力量が減ることになる。
 一方、機能Aを有する検出モジュールを起動した後に、機能Bを有する検出モジュールを起動する順序を採用し、また、条件「a1」が成立する状態が24時間の中で1時間だけだったとする。すると、1*24+3*1=27%の電力量だけ電力量が減ることになる。よって、本実施の形態の処理を実行すれば、2つの検出モジュールを同時に起動してずっと動作させるよりも、電力量の減少を抑制できるようになる。
 また、制御部104がサービス実行部102によるサービスの実行を制御する処理について説明する。制御部104は、検出モジュールから、イベント発行のコールバックメソッドによる通知を受信すると、ルールツリー格納部108におけるルールツリーにおいて、該当する要素のフラグを変更する。フラグの変更により、ルールデータ格納部105に登録されているルールの条件が満たされた場合には、制御部104は、サービスの識別情報及びパラメータをサービス実行部102に渡す。そして、サービス実行部102は、パラメータを用いて、サービスを実行する。また、フラグが変更された要素の親要素についても、条件を満たすか否かについて判定を行う。AND要素については、配下の条件が全て満たされた場合に、条件を満たすことを表すフラグが登録される。一方、OR要素については、配下の条件のいずれかが満たされた場合に、条件を満たすことを表すフラグが登録される。この処理を、最上位の要素まで繰り返し行う。
[実施の形態2]
 第1の実施の形態においては、各パターンについて判定値を求め、判定値に基づき、起動順序のパターンを決定する。一方、第2の実施の形態においては、平均の消費電力が少ない検出モジュールほど先に起動するような順序とする。
 図26を用いて、第2の実施の形態における起動順序の決定方法について説明する。図26の例では、機能Aを有する検出モジュールの消費電力P1と、機能Bを有する検出モジュールの消費電力P2と、機能Cを有する検出モジュールの消費電力P3との間に、P1<P2<P3という関係が成立する。このような場合、第2の実施の形態においては、機能Aを有する検出モジュールを最初に起動し、機能Bを有する検出モジュールを次に起動し、機能Cを有する検出モジュールを最後に起動する。
 このようにすれば、他の検出モジュールと比較して消費電力が多い検出モジュールを起動する頻度が少なくなるため、全体として消費電力を少なくすることができるようになる。
 また、第2の実施の形態の処理を、複数のルールが登録されたケースに適用することを考える。例えば図27に示すようなルール1及びルール2がルールデータ格納部105に登録されたとする。ルール1は、「場所a1又は場所a2において人b1に会ったら通知をする」というルールであり、ルール2は、「場所a3において歩いていれば音楽をかける」というルールである。「場所a1」、「場所a2」及び「場所a3」という条件は、位置を検出する機能Aを有する検出モジュールによって判定が行われ、「人b1」という条件は、人を検出する機能Bを有する検出モジュールによって判定が行われ、「歩いている(c1)」という条件は、行動を検出する機能Cを有する検出モジュールによって判定が行われる。
 ルール1及びルール2からは、図28に示す4つのパターンが生成される。パターン1においては、第1階層において、ルール1及びルール2のために機能Aを有する検出モジュールを起動し、第2階層において、ルール1のために機能Bを有する検出モジュールを起動し、ルール2のために機能Cを有する検出モジュールを起動する。パターン2においては、第1階層において、ルール1のために機能Aを有する検出モジュールを起動し、ルール2のために機能Cを有する検出モジュールを起動し、第2階層において、ルール1のために機能Bを有する検出モジュールを起動し、ルール2のために機能Aを有する検出モジュールを起動する。パターン3においては、第1階層において、ルール1のために機能Bを有する検出モジュールを起動し、ルール2のために機能Cを有する検出モジュールを起動し、第2階層において、ルール1のために機能Aを有する検出モジュールを起動し、ルール2のために機能Aを有する検出モジュールを起動する。パターン4においては、第1階層において、ルール1のために機能Bを有する検出モジュールを起動し、ルール2のために機能Aを有する検出モジュールを起動し、第2階層において、ルール1のために機能Aを有する検出モジュールを起動し、ルール2のために機能Cを有する検出モジュールを起動する。
 パターン1においては、第1階層において機能Aを有する検出モジュールだけを起動し、パターン2においては、第1階層において機能Aを有する検出モジュール及び機能Cを有する検出モジュールを起動し、パターン3においては、第1階層において機能Bを有する検出モジュール及び機能Cを有する検出モジュールを起動し、パターン4においては、第1階層において機能Bを有する検出モジュール及び機能Aを有する検出モジュールを起動する。従って、機能Aを有する検出モジュールの消費電力が、機能Bを有する検出モジュールの消費電力と機能Cを有する検出モジュールの消費電力との合計より少なければ、パターン1の第1階層の消費電力が最も少ないことになる。従って、第2の実施の形態の処理を適用すると、パターン1が最も好ましいパターンとして採用されることになる。
 ここで、携帯端末1の使用例について、具体的に説明する。例えば、携帯端末1のユーザが、「公園周辺でジョギングをしている場合、ジョギングに適した音楽を再生する」というルールを登録したとする。「公園周辺」という条件は、GPSのジオフェンシング機能によって検出することが可能であり、「走っている」という条件は、加速度センサの歩行検知機能によって検出することが可能であるとする。また、GPSの消費電力は、加速度センサの平均の消費電力より大きいとする。
 この場合、状態遷移モデルにおいて、歩行検知機能の階層がジオフェンシング機能の階層より上で有れば、走っているという条件を満たしている間のみGPS動作する。これにより、消費電力の増加を抑制できる。
 さらに、例えばサービスプロバイダによって、携帯端末1に「ショッピングセンタ周辺であれば、セールの情報を配信する」というルールを登録したとする。これにより、携帯端末1には、ルール1及びルール2が登録されていることになる。「ショッピングセンタ周辺」という条件は、GPSのジオフェンシング機能によって検出することが可能である。本実施の形態の処理によれば、ルール1の条件とルール2の条件とがORで結合され、状態遷移モデルが再生成される。この状態遷移モデルにおいては、ジオフェンシング機能の階層が歩行検知機能の階層より上になる。これにより、ルール1の条件及びルール2の条件の両方について、判定を行うことができるようになる。
 以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明した携帯端末1の機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
 また、上で説明した各テーブルの構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
 また、プロバイダ等のサーバが、携帯端末1のルールデータ格納部105にルールを登録してもよい。
 なお、上で述べた携帯端末1は、コンピュータ装置であって、図29に示すように、RAM2501とCPU(Central Processing Unit)2503とROM(Read Only Memory)2505と表示装置2509に接続される表示制御部2507とフラッシュメモリ2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、ROM2505又はフラッシュメモリ2513に格納されており、CPU2503により実行される際にはROM2505又はフラッシュメモリ2513からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507及び通信制御部2517を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてRAM2501に格納されるが、フラッシュメモリ2513に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムは、例えばインターネットなどのネットワーク及び通信制御部2517を経由して、フラッシュメモリ2513にインストールされる。このようなコンピュータ装置は、上で述べたCPU2503、RAM2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
 以上述べた本実施の形態をまとめると以下のようになる。
 本実施の形態の第1の態様に係る携帯端末は、(A)各々状態の検出を行う複数の検出モジュールと、(B)複数の検出モジュールによる検出の結果に関する第1の条件について、複数の検出モジュールが起動される順序を決定する決定部と、(C)決定された順序における最初の検出モジュールを起動し、最初の検出モジュール以外の検出モジュールを、決定された順序における1つ前の検出モジュールによる検出の結果が、第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する起動部とを有する。
 或る条件を満たすか否か判定するために複数の検出モジュールを用いる場合であっても、はじめから全ての検出モジュールを起動しなければならないとは限らない。そこで、上で述べたように段階的に検出モジュールを起動すれば、携帯端末において状態の検出に要する電力を削減できるようになる。
 また、上で述べた順序は、消費電力が少ない検出モジュールほど先に起動される順序であってもよい。このようにすれば、他の検出モジュールと比べて消費電力が多い検出モジュールが動作する時間が短くなるので、携帯端末の消費電力を減らせるようになる。
 また、上で述べた順序は、第1の条件に含まれる条件のうち論理和によって結合される条件に対応する検出モジュールが同時に起動され、第1の条件に含まれる条件のうち論理積によって結合される条件に対応する検出モジュールが段階的に起動される順序であってもよい。論理和の場合、その論理和によって結合される条件のうち1つでも満たされた場合、その論理和についての条件は成立する。一方、論理積の場合、その論理積によって結合される条件のうち1つでも満たされない場合には、その論理積についての条件は成立しない。従って、上で述べたようにすることで、最低限の検出モジュールを動作させることができるようになる。
 また、上で述べた決定部は、(b1)第1の条件について、複数の検出モジュールを起動する順序を複数生成し、(b2)複数の順序の各々について、複数の検出モジュールの各々の消費電力に重み付け値を乗じた値の合計値を算出し、(b3)複数の順序のうち、算出された合計値が所定の値より小さい順序を選択してもよい。そして、上で述べた重み付け値は、先に起動される検出モジュールほど大きくてもよい。起動される順番が先であるほど、起動される確率が高くなるため、携帯端末の消費電力に占める割合が大きくなる。そこで、上で述べたようにすれば、消費電力を少なくすることができる順序を選択できるようになる。
 また、上で述べた決定部は、(b4)第1の条件について、複数の検出モジュールを起動する順序を複数生成し、(b5)複数の順序の各々について、複数の検出モジュールの各々の消費電力に重み付け値を乗じた値の合計値を算出し、(b6)複数の順序のうち、算出された合計値が所定の値より小さい順序を選択してもよい。そして、上で述べた重み付け値は、検出モジュールに対応する条件を満たす状態が発生する確率であってもよい。たとえ検出モジュールの消費電力が少ない場合であっても、条件を満たす状態が頻繁に発生すれば、次の検出モジュールを頻繁に起動することになるので、全体として消費電力が多くなる可能性がある。そこで、上で述べたようにすれば、消費電力を少なくすることができる順序を選択できるようになる。
 また、上で述べた決定部は、(b7)複数の検出モジュールによる検出の結果に関する条件が複数有る場合、複数の検出モジュールを起動する順序を、複数の検出モジュールの各々の消費電力に基づき、複数の条件に対して1つ決定してもよい。このようにすれば、複数の検出モジュールによる検出の結果に関する条件が複数有る場合であっても、消費電力を少なくすることができる順序を決定できるようになる。
 本実施の形態の第2の態様に係る起動方法は、(D)各々状態の検出を行う複数の検出モジュールによる検出の結果に関する第1の条件について、複数の検出モジュールが起動される順序を決定し、(E)決定された順序における最初の検出モジュールを起動し、(F)最初の検出モジュール以外の検出モジュールを、決定された順序における1つ前の検出モジュールによる検出の結果が、第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する処理を含む。
 なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。

Claims (8)

  1.  各々状態の検出を行う複数の検出モジュールと、
     前記複数の検出モジュールによる検出の結果に関する第1の条件について、前記複数の検出モジュールが起動される順序を決定する決定部と、
     決定された前記順序における最初の検出モジュールを起動し、前記最初の検出モジュール以外の検出モジュールを、決定された前記順序における1つ前の検出モジュールによる検出の結果が、前記第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する起動部と、
     を有する携帯端末。
  2.  前記順序は、
     消費電力が少ない検出モジュールほど先に起動される順序である
     ことを特徴とする請求項1記載の携帯端末。
  3.  前記順序は、
     前記第1の条件に含まれる条件のうち論理和によって結合される条件に対応する検出モジュールが同時に起動され、前記第1の条件に含まれる条件のうち論理積によって結合される条件に対応する検出モジュールが段階的に起動される順序である
     ことを特徴とする請求項1又は2記載の携帯端末。
  4.  前記決定部は、
     前記第1の条件について、前記複数の検出モジュールを起動する順序を複数生成し、
     複数の順序の各々について、前記複数の検出モジュールの各々の消費電力に重み付け値を乗じた値の合計値を算出し、
     前記複数の順序のうち、算出された前記合計値が所定の値より小さい順序を選択する
     処理を実行し、
     前記重み付け値は、
     先に起動される検出モジュールほど大きくなる
     ことを特徴とする請求項1記載の携帯端末。
  5.  前記決定部は、
     前記第1の条件について、前記複数の検出モジュールを起動する順序を複数生成し、
     複数の順序の各々について、前記複数の検出モジュールの各々の消費電力に重み付け値を乗じた値の合計値を算出し、
     前記複数の順序のうち、算出された前記合計値が所定の値より小さい順序を選択する
     処理を実行し、
     前記重み付け値は、
     前記検出モジュールに対応する条件を満たす状態が発生する確率である
     ことを特徴とする請求項1記載の携帯端末。
  6.  前記決定部は、
     前記複数の検出モジュールによる検出の結果に関する条件が複数有る場合、前記複数の検出モジュールを起動する順序を、前記複数の検出モジュールの各々の消費電力に基づき、複数の条件に対して1つ決定する
     請求項1記載の携帯端末。
  7.  各々状態の検出を行う複数の検出モジュールによる検出の結果に関する第1の条件について、前記複数の検出モジュールが起動される順序を決定し、
     決定された前記順序における最初の検出モジュールを起動し、
     前記最初の検出モジュール以外の検出モジュールを、決定された前記順序における1つ前の検出モジュールによる検出の結果が、前記第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する、
     処理をコンピュータが実行する起動方法。
  8.  各々状態の検出を行う複数の検出モジュールによる検出の結果に関する第1の条件について、前記複数の検出モジュールが起動される順序を決定し、
     決定された前記順序における最初の検出モジュールを起動し、
     前記最初の検出モジュール以外の検出モジュールを、決定された前記順序における1つ前の検出モジュールによる検出の結果が、前記第1の条件に含まれる条件のうち当該1つ前の検出モジュールに対応する条件を満たす場合に起動する、
     処理をコンピュータに実行させるための起動プログラム。
PCT/JP2013/080385 2013-11-11 2013-11-11 携帯端末、起動方法及びプログラム WO2015068296A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP13896981.1A EP3070600B1 (en) 2013-11-11 2013-11-11 Portable terminal, startup method, and program
JP2015546258A JP6090472B2 (ja) 2013-11-11 2013-11-11 携帯端末、起動方法及びプログラム
PCT/JP2013/080385 WO2015068296A1 (ja) 2013-11-11 2013-11-11 携帯端末、起動方法及びプログラム
US15/149,877 US10009845B2 (en) 2013-11-11 2016-05-09 Activation method and portable terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/080385 WO2015068296A1 (ja) 2013-11-11 2013-11-11 携帯端末、起動方法及びプログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/149,877 Continuation US10009845B2 (en) 2013-11-11 2016-05-09 Activation method and portable terminal

Publications (1)

Publication Number Publication Date
WO2015068296A1 true WO2015068296A1 (ja) 2015-05-14

Family

ID=53041097

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/080385 WO2015068296A1 (ja) 2013-11-11 2013-11-11 携帯端末、起動方法及びプログラム

Country Status (4)

Country Link
US (1) US10009845B2 (ja)
EP (1) EP3070600B1 (ja)
JP (1) JP6090472B2 (ja)
WO (1) WO2015068296A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019032678A (ja) * 2017-08-08 2019-02-28 日立オートモティブシステムズ株式会社 車両制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323595A (ja) * 2005-05-18 2006-11-30 Ntt Docomo Inc 携帯端末、コンテキスト管理サーバ、アプリケーション登録サーバ、およびアプリケーション実行方法
JP2006344017A (ja) * 2005-06-09 2006-12-21 Hitachi Ltd センサネットワークシステム及びセンサネットワークのデータ処理方法
JP2009218776A (ja) * 2008-03-10 2009-09-24 Advanced Telecommunication Research Institute International センサネットワークシステム
JP2009288233A (ja) * 2008-04-28 2009-12-10 Fujitsu Ltd 携帯端末装置、移動経路記録方法、およびプログラム
JP2012079240A (ja) 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント処理装置および複合イベント処理方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006060671A (ja) 2004-08-23 2006-03-02 Sony Ericsson Mobilecommunications Japan Inc 周波数チャネルのサーチ装置、周波数チャネルのサーチ方法、及び周波数チャネルのサーチプログラム
GB2465594A (en) * 2008-11-21 2010-05-26 Symbian Software Ltd Power management based upon a prediction associated with an observed sequence of events

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006323595A (ja) * 2005-05-18 2006-11-30 Ntt Docomo Inc 携帯端末、コンテキスト管理サーバ、アプリケーション登録サーバ、およびアプリケーション実行方法
JP2006344017A (ja) * 2005-06-09 2006-12-21 Hitachi Ltd センサネットワークシステム及びセンサネットワークのデータ処理方法
JP2009218776A (ja) * 2008-03-10 2009-09-24 Advanced Telecommunication Research Institute International センサネットワークシステム
JP2009288233A (ja) * 2008-04-28 2009-12-10 Fujitsu Ltd 携帯端末装置、移動経路記録方法、およびプログラム
JP2012079240A (ja) 2010-10-05 2012-04-19 Fujitsu Ltd 複合イベント処理装置および複合イベント処理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019032678A (ja) * 2017-08-08 2019-02-28 日立オートモティブシステムズ株式会社 車両制御装置

Also Published As

Publication number Publication date
US20160255587A1 (en) 2016-09-01
US10009845B2 (en) 2018-06-26
JP6090472B2 (ja) 2017-03-08
JPWO2015068296A1 (ja) 2017-03-09
EP3070600A4 (en) 2016-11-09
EP3070600A1 (en) 2016-09-21
EP3070600B1 (en) 2018-01-17

Similar Documents

Publication Publication Date Title
US11740935B2 (en) FPGA acceleration for serverless computing
US20120060167A1 (en) Method and system of simulating a data center
CN106293914B (zh) 一种任务调度的方法及终端
CN107273182B (zh) 一种虚拟机资源动态扩充方法及系统
CN111193605A (zh) 一种故障定位方法、装置及存储介质
KR20210112406A (ko) 사용자의 할일 목록에 대한 알림을 제공하는 방법 및 시스템
CN108958729A (zh) 一种数据处理方法、装置及存储介质
CN103686354A (zh) 一种智能电视终端及统计上报按键使用行为的方法
CN111143039A (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN116541142A (zh) 任务调度方法、装置、设备、存储介质及计算机程序产品
CN112035229A (zh) 一种计算图处理方法、装置及存储介质
JP6090472B2 (ja) 携帯端末、起動方法及びプログラム
US9038197B2 (en) Method and apparatus for providing backend support for device control in risk conditions
US20170141949A1 (en) Method and apparatus for processing alarm information in cloud computing
CN114138452B (zh) 一种边缘计算中高能效的计算节点选择方法及装置
CN102866895B (zh) 一种快速定位功能定制入口的方法
CN113965563B (zh) 基于模型的业务处理方法及装置、服务器
WO2019064730A1 (ja) 情報処理装置、情報処理方法、および、プログラム
CN114691241A (zh) 任务执行方法、装置、电子设备及存储介质
KR102637796B1 (ko) 사용 정도에 기초하여 대화방을 처리하는 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
CN108984271A (zh) 一种均衡负载的方法以及相关设备
JP2014147002A (ja) Ict資源管理装置
Kaur et al. Hybrid application partitioning and process offloading method for the mobile cloud computing
CN116719632B (zh) 任务调度方法、装置、设备以及介质
JP2014147003A (ja) Ict資源管理装置

Legal Events

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

Ref document number: 13896981

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2015546258

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2013896981

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013896981

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE