WO2017094323A1 - 動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム - Google Patents

動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム Download PDF

Info

Publication number
WO2017094323A1
WO2017094323A1 PCT/JP2016/077304 JP2016077304W WO2017094323A1 WO 2017094323 A1 WO2017094323 A1 WO 2017094323A1 JP 2016077304 W JP2016077304 W JP 2016077304W WO 2017094323 A1 WO2017094323 A1 WO 2017094323A1
Authority
WO
WIPO (PCT)
Prior art keywords
action
rule
events
event
operation execution
Prior art date
Application number
PCT/JP2016/077304
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 CN201680061476.3A priority Critical patent/CN108292274B/zh
Priority to US15/757,813 priority patent/US10666450B2/en
Publication of WO2017094323A1 publication Critical patent/WO2017094323A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2814Exchanging control software or macros for controlling appliance services in a home automation network
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J11/00Manipulators not otherwise provided for
    • B25J11/0005Manipulators having means for high-level communication with users, e.g. speech generator, face recognition means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2816Controlling appliance services of a home automation network by calling their functionalities
    • H04L12/2818Controlling appliance services of a home automation network by calling their functionalities from a device located outside both the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2825Reporting to a device located outside the home and the home network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L2012/2847Home automation networks characterised by the type of home appliance used

Definitions

  • the present invention relates to an operation execution control server or the like that causes an operation execution service to execute an operation in accordance with a cooperation rule indicating an action to be executed by the operation execution service and a trigger for executing the operation.
  • Patent Literature 1 describes a mediation method that facilitates a user registration operation when a plurality of network services are linked.
  • a device By using the conventional technology as described above, it is possible to cause a device to perform a predetermined operation using a service that controls operation of the device using information provided from a certain service as a trigger. For example, a message for the user can be uttered (voice output) to a device installed in the living room by using the information that the living room door of the user's house is opened as a trigger.
  • the present invention has been made in view of the above problems, and its purpose is to provide a linkage server or the like that can execute an action corresponding to a situation in a situation where a plurality of events occur within a predetermined time. It is to be realized.
  • the operation execution control server is an operation that causes the operation execution service to execute the action according to a cooperation rule that indicates an action to be executed by the operation execution service and a trigger to execute the action.
  • the execution control server in the cooperation rule, occurrence of a plurality of events is set as a trigger corresponding to one action
  • the operation execution control server includes an event detection unit and an operation execution control unit.
  • the event detection unit detects occurrence of each of the plurality of events based on information received from the information providing service
  • the operation execution control unit is configured to detect occurrence of one of the plurality of events. If all occurrences of the remaining events are detected within a predetermined time after detecting To perform the above-mentioned action to line service.
  • a rule generation server is a rule generation server that generates the linkage rule used by the operation execution control server that causes the action execution service to execute an action in accordance with the linkage rule in order to solve the above-described problem.
  • the generation server includes a reception unit and a rule generation unit, and the reception unit detects the designation of the action, designation of the plurality of events, and occurrence of one of the plurality of events, and then a plurality of the events.
  • the designation of the upper limit time until all remaining occurrences are detected is received from the terminal device that registers the above-mentioned cooperation rule, Serial rule generation unit, the acceptance unit accepts, generates the collaboration rule that associates the action and the plurality of the event and the time.
  • the terminal device which concerns on this invention is a terminal device which makes the rule production
  • a cooperation rule as a trigger for executing the action, a plurality of events whose occurrence is detected by the operation execution control server based on information transmitted from the information providing service to the operation execution control server are plural.
  • the terminal device includes a rule setting unit and an information notification unit, and the rule setting unit specifies the action, the plurality of events, and one of the events. After the detection of one occurrence, the designation of the upper limit time until the occurrence of all the remaining occurrences of the plurality of events is designated.
  • the information notification unit notifies the rule generation server of the action, the plurality of events, and the time received by the rule setting unit, and the action, the plurality of events, The cooperation rule that associates the time is generated.
  • the cooperation system is a cooperation system including an information providing server, a device control server, an operation execution control server, and a control target device, and the operation execution described above.
  • the control server executes the action according to a cooperation rule indicating an action to be executed by the device to be controlled and a trigger for executing the action.
  • occurrence of a plurality of events is converted into one action.
  • the information providing server transmits information related to the event to the operation execution control server, and the operation execution control server includes a plurality of information based on the information transmitted from the information providing server. After detecting the occurrence of one of the above events, all remaining occurrences of the plurality of events within a predetermined time If detected, via the device control server to perform the action to the control target device.
  • the operation execution control server control method provides the operation execution service with the action execution service according to a cooperation rule indicating an action to be executed by the operation execution service and a trigger for executing the action.
  • the control method of the operation execution control server for executing an action in the cooperation rule, occurrence of a plurality of events is set to a trigger corresponding to one action, and the control method of the operation execution control server is: Including an event detection step and an operation execution control step, wherein the event detection step is a step of detecting occurrence of each of the plurality of events based on information received from the information providing service, and the operation execution control step includes: One occurrence of multiple events in the event detection step After detecting, when detecting the remaining all occurrences of a plurality of the event within a predetermined time, a step of executing the action to the operation execution service.
  • generation server which concerns on this invention is a rule production
  • the rule generation server control method includes a reception step and a rule generation step, and the reception step includes specification of the action, specification of the plurality of events, and generation of one of the plurality of events. Specify the upper limit time until detection of all remaining occurrences of the plurality of events.
  • the step of accepting from the terminal device that registers the cooperation rule, wherein the rule generation step is a step of generating the cooperation rule that associates the action, the plurality of events, and the time received in the reception step. It is.
  • the control method of the terminal device which concerns on this invention makes the rule production
  • the terminal device control method wherein the linkage rule is generated in the operation execution control server based on information transmitted from the information providing service to the operation execution control server as a trigger for executing the action.
  • a plurality of events to be detected can be defined, and the control method of the terminal device includes a rule setting step and an information notification step.
  • the rule setting step includes the designation of the action and the plurality of events.
  • the information notification step includes the action, the plurality of events, and the time received in the rule setting step.
  • the rule generation server To the rule generation server to generate the linkage rule in which the action, the plurality of events, and the time are associated with each other.
  • Embodiment 1 Hereinafter, an embodiment of the present invention will be described in detail with reference to FIGS.
  • FIG. 2 is a diagram showing an overview of the cooperation system 7.
  • the linkage system 7 is a system that provides a linkage service that links a plurality of services.
  • the services to be linked in the linkage system 7 can be classified into a trigger service (information providing service) and an action service (operation execution service).
  • the cooperation system 7 causes the action service to execute a predetermined action when a predetermined event related to the trigger service occurs.
  • the trigger service is a service for notifying information on a predetermined event
  • the action service is a service for causing the device (control target device) 4 to perform a predetermined operation, more specifically, a voice utterance.
  • the trigger service is not particularly limited.
  • a service that notifies the user that the user has opened the door of the home living room may be used as the trigger service.
  • the action service is not limited to the operation control service of the device 4.
  • the illustrated linkage system 7 includes a linkage server (operation execution control server, rule generation server) 1 that provides a linkage service, a device control server 2 that provides an action service, and an operation terminal (terminal) used for setting the linkage rules.
  • Apparatus) 3 an apparatus 4 to be controlled by the apparatus control server 2, and an information providing server 5 that provides a trigger service.
  • the cooperation rule is information indicating an action to be executed by the operation execution service and a trigger for executing the action.
  • the cooperation server 1 performs both generation of a cooperation rule and use of the cooperation rule (action execution control based on the cooperation rule), but these processes are performed in separate devices (servers). It may be executed.
  • the information providing server 5 When the information providing server 5 receives a detection result of a sensor installed in the user's action range (for example, at home) and determines that a predetermined event (for example, opening a door) has occurred, The cooperation server 1 is notified that a predetermined event has occurred. And the cooperation server 1 detects that the predetermined
  • the device 4 is not particularly limited as long as it is a device to be controlled by the device control server 2, but in this embodiment, the device 4 is an example of a robot having a dialog function with a user, and a dialog with the user.
  • a robot having a dialog function with a user
  • a dialog with the user An example of a household electric appliance having a function (hereinafter referred to as a home appliance) will be described.
  • the device 4 may be shared by a plurality of users.
  • Each user possesses the operation terminal 3, and can use this operation terminal 3 to set a cooperation rule with the action control of the device 4 as an action.
  • an upper limit until detection of all the remaining occurrences of the plurality of events is detected.
  • Time predetermined time
  • the order of occurrence of the event can be set.
  • an action to be executed when a plurality of the events are detected within the upper limit time can be set.
  • the control according to the linkage rule causes the device 4 to execute an action corresponding to the trigger with a plurality of events occurring in a predetermined order within the upper limit time as a trigger. Can do.
  • FIG. 3 is a diagram illustrating an example of cooperation rules used in the cooperation system 7.
  • Coordination rules A and B shown in the figure include two triggers (events) and one action.
  • the order of these two trigger events is set, and the upper limit time from the occurrence of the first trigger event to the occurrence of the second trigger event is set.
  • the cooperation rule is information such as a scenario indicating a plurality of events, at least one action, and their order.
  • a priority is set for each cooperation rule.
  • an event in which the entrance door of the user's house is opened is set as the first trigger event, and the user's trigger event is set as the second trigger event.
  • an event living OPEN
  • an action is set that causes the device 4 as a robot to utter “Please come home”.
  • the user returns home and opens the entrance door, and then enters the living room within the upper limit time (for example, 5 minutes), that is, when the user performs a series of operations such as opening the entrance door and entering the living room, The device 4 can be made to speak “Please come home”.
  • an event in which the door of the user's house is opened is set as the first trigger event
  • the linkage rule A is set as the second trigger event.
  • Living OPEN is set as well.
  • an action for causing the device 4 as a robot to utter “Was your hand washed?” Is set. Thereby, after the user goes to the toilet, when the user enters the living room within the upper limit time (for example, 10 minutes), the device 4 can be made to speak “Was your hand washed?”.
  • the linkage system 7 since a linkage rule in which a plurality of events are set as triggers can be used, it is possible to execute an appropriate action according to the background of the user's behavior.
  • the second trigger event is the same, but the device 4 can be caused to perform different actions depending on the difference in the first trigger event. That is, when the user comes home from the outside and enters the living room, a message that greets the user can be uttered, and when the user enters the living room from the toilet, a message for confirming hand washing can be uttered.
  • FIG. 1 is a block diagram illustrating an example of a main configuration of the cooperation server 1 and the operation terminal 3.
  • the cooperation server 1 will be described first, and then the operation terminal 3 will be described.
  • the cooperation server 1 includes a server control unit 10 that controls each unit of the cooperation server 1, a server storage unit 11 that stores various data used by the cooperation server 1, and the cooperation server 1 is another device.
  • the server communication part 12 for communicating with.
  • the figure shows the example which communicates with the apparatus control server 2, the operation terminal 3, and the information provision server 5 in the one server communication part 12, the communication part (communication which changes with communication partner apparatuses) is shown. Communication via an interface).
  • the server control unit 10 includes a setting reception unit (reception unit) 100, a candidate notification unit 101, a rule generation unit 102, an event detection unit 103, a condition determination unit 104, and an action execution control unit (operation execution control unit) 105. It is.
  • the server storage unit 11 stores correspondence candidate information 110 and cooperation rule management information 111.
  • the setting accepting unit 100 accepts various designations related to the generation of cooperation rules. Specifically, the setting reception unit 100 receives specification of an action, a trigger (a plurality of events can be specified as a trigger), and an upper limit time. This upper limit time is a time limit for detecting a plurality of events.
  • the candidate notifying unit 101 when the setting receiving unit 100 receives one designation of a plurality of events, at least one of an event that can be used as a trigger together with the event and an action that can be executed by the trigger To the operation terminal 3.
  • the rule generation unit 102 generates an association rule by associating the action, the trigger, and the upper limit time received by the setting reception unit 100. Also, the rule generation unit 102 registers the generated cooperation rule in the cooperation rule management information 111.
  • the event detection unit 103 detects the occurrence of each of a plurality of events set as a trigger in the cooperation rule.
  • the occurrence of an event is detected by a notification from the information providing server 5 (information providing service). That is, when the cooperation rule is registered, the event detection unit 103 instructs the information providing server 5 to notify the occurrence of the event set as the trigger of the cooperation rule. Thereby, when the event occurs, information indicating that fact is notified from the information providing server 5 to the cooperation server 1, and the event detection unit 103 detects the occurrence of the event by receiving this information.
  • the event detection unit 103 may detect the occurrence of an event based on a notification from another device (other service) such as the device control server 2.
  • information output from the device 4 or the sensor for example, information indicating that an event such as the device 4 being turned on or the door being opened / closed
  • the data may be transmitted from the device 4 or the sensor to the cooperation server 1.
  • transmission of the information as described above may be started when the device 4 or the sensor is connected to the cooperation server 1.
  • the condition determination unit 104 determines, for each cooperation rule included in the cooperation rule management information 111, whether a condition for executing the action of the cooperation rule, that is, whether a plurality of events occur within the upper limit time is satisfied.
  • the action execution control unit 105 triggers that the event detection unit 103 detects all the remaining occurrences of the plurality of events within the upper limit time after detecting one occurrence of the plurality of events set as the trigger. As an action. Specifically, the action execution control unit 105 causes the device control server 2 to execute the action when the condition determination unit 104 determines that the condition for executing the action of the cooperation rule is satisfied. Since the device control server 2 causes the device 4 to execute an action, it can be said that the action execution control unit 105 causes the device 4 to execute an action via the device control server 2.
  • Corresponding candidate information 110 is information for determining a candidate for a trigger or an action to be presented to a user when setting a cooperation rule. More specifically, the correspondence candidate information 110 is information indicating combinations of triggers (events) and actions that can be included in one cooperation rule. The candidate notification unit 101 can identify at least one of events and actions that can be included in the cooperation rule together with the triggers and actions specified by the user by referring to the correspondence candidate information 110.
  • the cooperation rule management information 111 is information for managing the set cooperation rules, and the cooperation rules set by the user are registered in the cooperation rule management information 111.
  • the cooperation rule management information 111 may be, for example, as shown in FIG. FIG. 4 is a diagram illustrating an example of the cooperation rule management information 111.
  • the illustrated cooperation rule management information 111 is information in a table format in which rule identification information, a trigger, a set time, an action, a priority, and the number of uses are associated with each other.
  • Rule identification information is information for identifying a linkage rule, and a unique value is assigned to each linkage rule.
  • the trigger stores information indicating an event that triggers execution of an action defined in the linkage rule. Each event is given a number indicating the order of occurrence.
  • the set time stores the upper limit time from the first event occurrence to the last event occurrence defined in the trigger.
  • the action stores information indicating an operation to be executed by the device control server 2 when all events set in the trigger occur within the upper limit time.
  • the robot utterance “return” the robot utters “Return”
  • the robot utterance “hand wash confirmation” the robot "Is it washed?"
  • actions to be executed by the TV one of the devices 4
  • the TV utterance “Okaeri” make the TV say “Please come back”
  • the TV utterance “Negai” (“Please slow down” on the TV)
  • the priority information indicating the priority of each cooperation rule with respect to other cooperation rules is stored.
  • the priority is indicated by a numerical value of 1 to 10 (the higher value is given priority), but the way of indicating the priority is not limited to this example.
  • the number of uses stores information indicating the number of times that the cooperation rule has been used (the action has been executed by satisfying the trigger condition).
  • the operation terminal 3 is a device that receives an operation of a user who registers a cooperation rule and causes the cooperation server 1 to generate a cooperation rule corresponding to the content of the operation.
  • the operation terminal 3 may be an information processing device such as a smartphone.
  • the operation terminal 3 shown in FIG. 1 includes a terminal control unit 30 that controls and controls each unit of the operation terminal 3, a terminal storage unit 31 that stores various data used by the operation terminal 3, and the operation terminal 3 communicates with other devices.
  • the terminal communication unit 32 is provided.
  • the operation terminal 3 includes a display unit 33 that displays an image according to the control of the terminal control unit 30 and an input unit 34 that receives a user input operation.
  • the input unit 34 may be a touch panel that accepts a user input operation on the display surface of the display unit 33.
  • the terminal control unit 30 includes an information notification unit 300, a rule setting unit 301, and a candidate acquisition unit 302. These processing units may be realized by installing application software on the operation terminal 3, for example.
  • the rule setting unit 301 displays a predetermined user interface (hereinafter abbreviated as UI) screen, and accepts various designations related to the generation of the linkage rule. Specifically, the rule setting unit 301 accepts designation of an action, a trigger (a plurality of events can be designated as a trigger), and an upper limit time.
  • UI user interface
  • the information notification unit 300 notifies the cooperation server 1 of the action, trigger, and upper limit time received by the rule setting unit 301, and generates a cooperation rule that associates the action, trigger, and upper limit time.
  • the candidate acquisition unit 302 acquires from the candidate notification unit 101 of the cooperation server 1 the candidates for triggers and actions to be presented to the user when setting the cooperation rules. Then, the candidate acquisition unit 302 displays the acquired candidates on the display unit 33. Thereby, the user can select a trigger or an action from the candidates.
  • FIG. 5 is a flowchart illustrating an example of a process (control method of the operation execution control server) in which the cooperation server 1 detects a trigger event and executes an action.
  • the event detection unit 103 detects the occurrence of an event set as a trigger based on information notified from the information providing server 5 (S1, event detection step). Next, the condition determination unit 104 determines whether the event detected in S1 is an event whose order is set last in the cooperation rule (S2). If it is determined that the event is not the last event set (NO in S2), the event detection standby state is entered, and the next processing after S1 is performed again when an event is detected.
  • the condition determining unit 104 detects all events associated with the action within the set time (upper limit time). It is determined whether it has been completed (S3). In other words, it is determined whether all the flags for executing the action (detection of all events corresponding to the action) are set. For example, when the second event (living OPEN) of the above-described cooperation rule A (see FIG. 4) is detected in S1, the condition determination unit 104 is set to one in the period from the detection time of S1 to 5 minutes before. It is determined whether an eye event (entrance OPEN) has been detected.
  • condition determination unit 104 determines that all events have been detected (YES in S3)
  • the action execution control unit 105 instructs the device control server 2 to perform an action corresponding to the event on the device 4. (S4, operation execution control step). Thereby, the illustrated process ends.
  • condition determination unit 104 determines in S3 that at least one of the events has not been detected within the set time (NO in S3)
  • the illustrated process ends without executing the action.
  • the action execution control procedure based on the cooperation rule of the present embodiment is not limited to the above example. For example, by repeating the procedure of detecting the event in the earliest order in the linkage rule and starting the detection of the next event when that event is detected, a plurality of events specified in the linkage rule are It may be detected that the occurrence has occurred in a predetermined order. In this case, when the occurrence of the last event is detected, if the elapsed time from the occurrence of the first event does not exceed the upper limit time, the action is executed.
  • the order setting is not essential. For example, when an event in which a TV is turned on and an event in which an air conditioner is started are detected, the action is directly triggered, such as a linkage rule that causes a cleaning robot to utter a recommended TV program. If there is no event to be, there is no need to set the order. In the example of FIG. 5, when the order is not set for the plurality of events set as the trigger, the process of S2 is omitted.
  • the cooperation server 1 of the present embodiment is characterized in the control contents when each action defined in the plurality of cooperation rules is to be executed by detecting one trigger. This will be described with reference to FIG. FIG. 6 is a diagram illustrating a control example when a state in which each action defined in a plurality of cooperation rules is to be executed.
  • FIG. 6 shows the two cooperation rules (cooperation rules A and B) described in the above embodiment.
  • the event set last in the order is the same (all are living OPEN), so when this event is detected, the action specified in both linkage rules should be executed. Can be.
  • both of the two coordination rules to be adjusted are triggered by a plurality of events.
  • the coordination rule to be adjusted has one event that is set as the trigger. Rules may be included. For example, when there is a coordination rule D for setting the living TV in a standby state using only the living OPEN event as a trigger, the coordination rule D and the coordination rule A or B shown in the figure may be adjusted. Of course, you may adjust between cooperation rules A, B, and C.
  • the event of the toilet OPEN may be detected, and then the event of the living OPEN may be detected.
  • the actions of both the linkage rules A and B are executed. It will be in a state to be allowed to.
  • the action execution control unit 105 provided in the cooperation server 1 of the present embodiment executes any one of the following processes a to c when a plurality of actions are to be executed. a: execute either one of the actions b: do not execute any of the actions c: execute the actions of both of the linkage rules
  • the action execution control unit 105 may execute any of the methods by any method. Select an action and execute that action.
  • the action execution control unit 105 may identify a cooperation rule with a higher priority with reference to the priority set in each cooperation rule, and cause the action set in the cooperation rule to be executed.
  • the action execution control unit 105 may specify a cooperation rule with a larger number of uses (see FIG. 4) and execute an action set in the cooperation rule. Further, for example, the action execution control unit 105 may execute a randomly selected action.
  • the action execution control unit 105 executes each action after making adjustments so that the adverse effects of overlapping execution timings of a plurality of actions do not occur. For example, the action execution control unit 105 may shift the timing for transmitting the execution instruction for each action. In this case, the execution instruction of the action of the cooperation rule having the higher priority or the more frequently used may be transmitted first. For example, the action execution control unit 105 may execute an action in which each action is combined. For example, if any of the actions to be combined is an utterance to the user, a utterance may be made after making a series of utterance contents by inserting a connection word such as “then” between the utterances.
  • FIG. 7 is a diagram illustrating an example of a cooperation rule used in the cooperation system 7 of the present embodiment.
  • a first trigger event a first action (also a second trigger event), a third trigger event, and a second action are set.
  • the first action is executed within the time set in the cooperation rule C, and the third action
  • the second action is executed by detecting the event set in the trigger.
  • the event detection unit 103 detects that the action execution control unit 105 has executed the first action as the occurrence of an action event.
  • the action event action may be executed by the same operation execution service as the final action of the cooperation rule, or may be executed by a different operation execution service.
  • the cooperation server 1 detects an event in which the robot speaks “Please come back” within a set time after the event of the entrance OPEN is detected by the cooperation rule C, and then the TV is turned on. Talking to TV for words of neglect.
  • the robot and the TV are both devices 4 and can be uttered via the device control server 2.
  • the event detection unit 103 of the cooperation server 1 detects an event in which the TV is turned on by this notification. Can do. That is, the device control server 2 of this example also provides an information providing service.
  • the cooperation server 1 of the present embodiment does not detect the occurrence of an action (action event) to be uttered by the robot among the events of the cooperation rule C, and detects all occurrences other than the action event. , Execute an alternative action. This alternative action is executed based on the illustrated cooperation rule C ′.
  • a first trigger event, a second trigger event, a third trigger event, and an action are set.
  • the first trigger event and the third trigger event are the same as the first trigger event and the third trigger event of the linkage rule C, respectively.
  • the second trigger of the cooperation rule C ′ is an event that the first action of the cooperation rule C cannot be executed.
  • the action of the cooperation rule C ′ has the same utterance content as the second action of the cooperation rule C. That is, the action of the cooperation rule C ′ is an alternative action that compensates for the fact that the first action of the cooperation rule C has not been executed.
  • the cooperation server 1 detects the event of the entrance OPEN according to the cooperation rule C ′. However, when the event that the robot cannot be uttered and the TV power is turned on after that is detected, You can have the TV say "Please come home". As a situation where the robot cannot speak, there are, for example, a communication failure between the robot and the device control server 2, a robot failure, or a battery exhaustion. Then, the occurrence of an event that the action for causing the robot to utter cannot be executed can be detected by, for example, transmitting an utterance instruction to the robot and not receiving an utterance completion notification from the robot within a predetermined time.
  • linkage rules can also be managed by the linkage rule management information 111 in the same manner as the linkage rules of the above embodiment (see FIG. 4).
  • any of these linkage rules may be set by the user according to the procedure shown in the later-described embodiment 4, but the linkage rule including the alternative action is generated when the linkage rule including a plurality of actions is generated.
  • the linkage server 1 may automatically generate it. In this case, the rule generation part 102 of the cooperation server 1 should just rewrite a part of cooperation rule produced
  • the rule generation unit 102 uses, as a trigger event, that the action has not been executed, instead of the action of the cooperation rule generated earlier (that is, the action that also serves as a trigger event instead of the last action). Describe. Then, one of the actions of the linkage rule generated earlier is changed to an alternative action.
  • the alternative action only needs to compensate for the fact that the action has not been executed, and part or all of the action that has not been executed may have the same content, or may have different content. For example, in the example of the collaboration rule C ′ in FIG. 7, instead of uttering “Please come home”, an utterance that tells the user that the robot could not utter (“It seems that the robot could not speak”, etc.) It may be done. Further, the alternative action may be executed by the device control server 2 or may be executed by another device control service.
  • action inexecution does not have to be included in the trigger.
  • the first trigger when the occurrence of the second trigger (TV ON) is detected, the first trigger (entrance OPEN) has a history of detection, but there is no history of letting the robot say “Return”. For example, it is determined that the action execution condition is satisfied.
  • FIG. 8 is a diagram illustrating an example of a UI screen when generating a cooperation rule.
  • the example of a screen transition at the time of setting the cooperation rule C demonstrated in the said embodiment is shown.
  • the operation terminal 3 When starting the setting of cooperation rules, the operation terminal 3 first displays the UI screen shown in FIG. 5A and accepts the designation of the first trigger event and priority.
  • This UI screen includes a priority setting item 50 for accepting designation of priority and a first trigger setting item 51 for accepting designation of the first trigger event.
  • the user can specify a desired priority in the range of 1 to 10 by selecting the priority setting item 50 from this UI screen.
  • the user selects a first trigger setting item 51 from the UI screen to display a candidate event that can be set as the first trigger event, and selects a desired event from among the candidate events. Can be set to the first trigger event.
  • the figure shows an example in which the priority is set to 10 (maximum value) and the event of the entrance OPEN is set as the first trigger event.
  • the operation terminal 3 displays the designated trigger event in the first trigger setting item 51 as shown in (b) of the figure (51 'in the figure). .
  • the operation terminal 3 displays the designated priority in the priority setting item 50 (50 'in the figure) as shown in (b) of the figure.
  • the operation terminal 3 has a second trigger setting item 52 that accepts the designation of the second trigger event, as shown in FIG.
  • a first action setting item 53 for accepting designation of the first action is displayed.
  • the user displays candidate events that can be specified as the second trigger event, and selects a desired event from among the candidate events. Can be specified as a trigger.
  • the first action setting item 53 from this UI screen, possible action candidates can be displayed, and a desired action can be selected and designated as the first action. .
  • FIG. 9 is a diagram illustrating an example of a UI screen that allows the user to select trigger and action candidates.
  • a list of trigger event candidates that can be combined with the specified trigger event is displayed. Specifically, it is assumed here that the entrance OPEN has been designated as the first trigger event (see FIG. 8B). For this reason, in the example of FIG. 9A, a candidate for an event that can be designated as the second trigger event in combination with this trigger event (an event that can be used as a trigger together with the first trigger event). Is displayed. Specifically, in addition to the toilets OPEN and TV ON described in the above embodiment, the children's room OPEN with the children's room door opened, the entrance lighting ON with the entrance lighting turned on, and the corridor illumination The corridor lighting ON switched to the lighting state is displayed as a candidate. Similarly, in the example of FIG.
  • action candidates that can be executed by detecting the occurrence of the trigger event (entrance OPEN) are displayed.
  • the trigger event entity OPEN
  • mail transmission for transmitting mail to a predetermined mail address SNS transmission for posting a message to a predetermined SNS (Social Networking Service), and predetermined
  • SNS Social Networking Service
  • the user can select a desired event from the displayed event candidates and designate it as the second trigger event. Similarly, the user can select a desired action from the displayed action candidates and designate it as the first action (the action executed when the first trigger event occurs).
  • an action associated with the trigger event in the cooperation rule may be presented as a selection candidate.
  • an action that can be combined with the trigger event selected by the user may be presented as a selection candidate.
  • what kind of action can be combined with what kind of trigger event may be defined in advance for each trigger event.
  • selection candidates of trigger events (second and subsequent trigger events) that can be set in addition to the trigger event selected by the user may be presented. The same applies when the user selects an action, and a trigger event or other action that can be combined with the action may be presented as a selection candidate.
  • the trigger event of the entrance OPEN is specified by the user
  • a linkage rule that sets the entrance OPEN as a trigger is registered
  • other trigger events or actions set in the linkage rule are presented as selection candidates. May be.
  • a trigger event that can be set as a trigger together with the entrance OPEN, or an action that can be triggered by the entrance OPEN is selected as a selection candidate. May be presented.
  • a trigger event called an entrance door lock an event that the sensor detects that the entrance door is locked
  • a combination of the entrance OPEN and the entrance door lock is selected. You may remember it. This makes it possible to present the entrance door lock as a selection candidate when the entrance OPEN is specified when registering the cooperation rule from the next time onward.
  • the operation terminal 3 displays a UI screen shown in FIG. On this UI screen, the specified action (robot utterance “return”) is displayed in the first action setting item 53 (53 ′ in FIG. 5).
  • the first action setting item 53 ′ is different from the first trigger setting item 51 ′ indicating the designated trigger event in that the outer frame is a double line. As described above, it is preferable that the designated trigger event and the designated action are distinguished from each other by different display modes.
  • a second trigger setting item 52 for accepting designation of the second trigger event and a second action setting item 54 for accepting designation of the second action are displayed.
  • the user displays candidate events that can be specified as the second trigger event, and selects a desired event from among the candidate events. Can be specified as a trigger event.
  • the second action setting item 54 from this UI screen, a second possible action candidate is displayed, and a desired action is selected and designated as the second action. can do.
  • the upper limit from the detection of the occurrence of the first trigger event (or the first action performed immediately thereafter) to the detection of the second trigger event Specification of time (set time) is also accepted.
  • the operation terminal 3 displays the UI screen shown in FIG. On this UI screen, the designated trigger event (TV ON) is displayed in the second trigger setting item 52 (52 'in the figure).
  • a set time item 55 indicating the designated time is also displayed.
  • the item for accepting the designation of the third trigger event is not displayed. However, as long as there is a trigger event that can be combined with the designated trigger event or action, the third and subsequent triggers are displayed. An event specification may be accepted. The same applies to the third and subsequent actions.
  • the operation terminal 3 On the UI screen of FIG. 8D, when the user selects the second action setting item 54 to display the action candidates and selects the TV utterance “Negai” from among them, the operation terminal 3 The UI screen shown in (e) is displayed. On this UI screen, the action (TV utterance “Negai”) designated in the second action setting item 54 is displayed (54 ′ in FIG. 5). Further, since the second action setting item 54 'is an item indicating a designated action, the outer frame is a double line as in the case of the first action setting item 53' shown in FIG.
  • the user can generate a desired cooperation rule by specifying a desired trigger event, action, and time on the UI screen as described above.
  • the UI screen used when generating the cooperation rule is not limited to the above example as long as the user can specify a desired trigger, action, and time.
  • FIG. 10 is a diagram illustrating an example of a display screen that presents the set cooperation rules to the user.
  • 10 includes an identification information display item 70, a priority display item 71, a first trigger display item 72, a first action display item 73, a second trigger display item 74, a second action display item 75, and a setting.
  • a time display item 76 is included.
  • the identification information display item 70 displays the identification information of the cooperation rule (in this example, the cooperation rule name).
  • the first action display item 73 and the second action display item 75 indicating the set action have a double line in the outer frame.
  • the first trigger display item 72, the first action display item 73, and the second trigger display item 74 are assigned numbers indicating the order of occurrence of the triggers and actions, respectively.
  • a set time display item 76 is arranged on the side of these three items. Therefore, the user can recognize at a glance that the triggers and actions of these three items need to be performed within the set time indicated by the set time display item 76 in the order of the above numbers.
  • a second action display item 75 is displayed following the above three items and the set time display item 76 on the side thereof.
  • a display screen may be generated by, for example, the rule generation unit 102 of the cooperation server 1 and displayed on the operation terminal 3, or based on the content set by the rule setting unit 301 (notified to the cooperation server 1).
  • the rule setting unit 301 of the operation terminal 3 may generate and display it.
  • FIG. 11 is a flowchart illustrating an example of processing of the operation terminal 3 and the cooperation server 1 (a terminal device control method and a rule generation server control method) when generating a cooperation rule.
  • the rule setting unit 301 of the operation terminal 3 displays a UI screen (see FIG. 8) for generating a cooperation rule on the display unit 33 and accepts a user input operation on the UI screen. Processing is shown.
  • the rule setting unit 301 determines whether the content of the input operation on the UI screen is priority setting, trigger setting, or action setting (S10). For example, when the UI screen of FIG. 8A is displayed, when the priority setting item 50 is selected, it is determined that the content of the input operation is priority setting, and the first trigger setting item 51 is selected. When it is done, it is determined that the content of the input operation is a trigger setting. For example, when the UI screen of FIG. 8B is displayed, when the first action setting item 53 is selected, it is determined that the content of the input operation is action setting.
  • the rule setting unit 301 accepts input (designation) of priority by the user (S18), and proceeds to the process of S15.
  • the rule setting unit 301 updates the UI screen to reflect the received input content. For example, when the priority is set to 10, the rule setting unit 301 displays the set priority value “10” as shown in FIG. 8B. Thereafter, the process proceeds to S16.
  • the candidate acquisition unit 302 acquires a trigger event candidate from the cooperation server 1 and displays it on the display unit 33 (S11).
  • the candidate acquisition unit 302 may acquire trigger event candidates by specifying conditions. For example, the user ID of the user of the operation terminal 3 may be notified to the cooperation server 1 to acquire trigger event candidates that can be selected by the user with the user ID. In addition, if the preceding trigger event or action has been specified, they may be notified to the cooperation server 1 to acquire and display trigger event candidates that can be combined with them ((a) in FIG. 9). reference).
  • the rule setting unit 301 receives an input (designation) of a trigger event by the user (S12, rule setting step).
  • the rule setting unit 301 determines whether or not the trigger event received in S12 is the second or later trigger event (S13). If the trigger event that received the input in S12 is the first trigger event (NO in S13), the process proceeds to S15. On the other hand, if the trigger event received in S12 is the second or later trigger event (YES in S13), the rule setting unit 301 receives the input of the set time (S14, rule setting step), Proceed to processing.
  • the rule setting unit 301 updates the UI screen to reflect the received input content, and allows an input operation to specify the next action or trigger to be received. For example, when the setting of the first trigger event is received, the rule setting unit 301 displays the set trigger event in the first trigger setting item 51 ′ as shown in FIG. 8B, The second trigger setting item 52 and the first action setting item 53 are displayed. Thereafter, the process proceeds to S16.
  • the candidate acquisition unit 302 acquires the action candidates from the cooperation server 1 and displays them on the display unit 33 (S19).
  • the candidate acquisition unit 302 may acquire an action candidate by specifying a condition. For example, the user ID of the user of the operation terminal 3 may be notified to the cooperation server 1 to obtain action candidates that can be selected by the user with the user ID. Further, if the preceding trigger event or action has been set, they may be notified to the cooperation server 1 to obtain and display action candidates that can be combined with them (see FIG. 9B). ). Then, after S19, the rule setting unit 301 receives an input (designation) of an action by the user (S20, rule setting step), and proceeds to the process of S15.
  • the rule setting unit 301 updates the UI screen to reflect the received input content, and allows an input operation specifying the next action or trigger event to be received. For example, when the setting of the first action is received, the rule setting unit 301 displays the set action in the first action setting item 53 ′ as shown in (c) of FIG. The trigger setting item 52 and the second action setting item 54 are displayed. Thereafter, the process proceeds to S16.
  • the rule setting unit 301 determines whether a user operation for ending the setting of the cooperation rule has been performed.
  • the information notification unit 300 receives the input content (trigger, action, set time) received so far. , The order of trigger events, etc.) is notified to the cooperation server 1 (S17, information notification step). Thereby, the process of the operation terminal 3 is complete
  • the received input contents may be notified collectively at the end of setting as in this example, or may be sequentially notified at the timing when the input is received.
  • the rule setting unit 301 returns to the process of S10 and accepts input of various information related to the generation of the cooperation rule.
  • the candidate notification unit 101 of the cooperation server 1 since the operation terminal 3 requests the cooperation server 1 to transmit a trigger event candidate, the candidate notification unit 101 of the cooperation server 1 notifies the operation terminal 3 of a trigger event candidate corresponding to the request. (S30). As described above, since the operation terminal 3 requests the cooperation server 1 to transmit action candidates, the candidate notification unit 101 of the cooperation server 1 notifies the operation terminal 3 of action candidates corresponding to the request. (S31).
  • the setting reception part 100 of the cooperation server 1 receives this notification (S32, reception step). Thereafter, the rule generation unit 102 associates each piece of information included in the input content to generate a cooperation rule (S33, rule generation step), registers it in the cooperation rule management information 111, and the processing of the cooperation server 1 finish.
  • each function of the cooperation server 1 may be realized by an individual server. And when applying a some server, each server may be managed by the same provider, and may be managed by a different provider. The same applies to the above-described servers such as the device control server 2.
  • Each server described above may be a computer system including a single computer, or may be a system including a group of computers such as a plurality of computers, a database, and a load balancer. That is, each of the above servers may realize a predetermined function with one physical block (device), or may perform a predetermined function with one logical block (consisting of a plurality of devices). It may be realized.
  • Each block of the cooperation server 1 and the operation terminal 3 may be realized by a logic circuit (hardware) formed in an integrated circuit (IC chip) or the like, or realized by software using a CPU (Central Processing Unit). May be. In the latter case, each of the cooperation server 1 and the operation terminal 3 can be configured using a computer (electronic computer) as shown in FIG.
  • FIG. 12 is a block diagram illustrating the configuration of a computer 910 that can be used as the cooperation server 1 and the operation terminal 3.
  • the computer 910 includes an arithmetic device 912, a main storage device 913, an auxiliary storage device 914, an input / output interface 915, and a communication interface 916 that are connected to each other via a bus 911.
  • the arithmetic device 912, the main storage device 913, and the auxiliary storage device 914 may be, for example, a CPU, a RAM (random access memory), and a hard disk drive, respectively.
  • the input device 920 Connected to the input / output interface 915 are an input device 920 for the user to input various information to the computer 910 and an output device 930 for the computer 910 to output various information to the user.
  • the input device 920 and the output device 930 may be incorporated in the computer 910 or may be connected (externally attached) to the computer 910.
  • the input device 920 may be a keyboard, a mouse, a touch sensor, or the like
  • the output device 930 may be a display, a printer, a speaker, or the like.
  • a device having both functions of the input device 920 and the output device 930 such as a touch panel in which a touch sensor and a display are integrated, may be applied.
  • the communication interface 916 is an interface for the computer 910 to communicate with an external device.
  • the auxiliary storage device 914 stores various programs for operating the computer 910 as the linkage server 1 or the operation terminal 3. Then, the arithmetic device 912 expands the program stored in the auxiliary storage device 914 on the main storage device 913 and executes instructions included in the program, whereby the computer 910 is connected to the cooperation server 1 or the operation terminal 3. It functions as each part with.
  • the recording medium for recording information such as programs provided in the auxiliary storage device 914 may be a computer-readable “non-temporary tangible medium”. For example, tape, disk, card, semiconductor memory, programmable logic, etc. It may be a circuit or the like.
  • the program may be acquired from outside the computer 910, and in this case, it may be acquired via an arbitrary transmission medium (communication network, broadcast wave, etc.).
  • the present invention can also be realized in the form of a data signal embedded in a carrier wave in which the program is embodied by electronic transmission.
  • the operation execution control server (cooperation server 1) according to aspect 1 of the present invention is an operation that causes the operation execution service to execute the action according to a cooperation rule that indicates an action to be executed by the operation execution service and a trigger to execute the action.
  • An execution control server wherein in the linkage rule, occurrence of a plurality of events is set as a trigger corresponding to one action, and the operation execution control server includes an event detection unit (103) and an operation execution control unit.
  • Event execution control unit wherein the event detection unit detects occurrence of each of the plurality of events based on information received from the information providing service, and the operation execution control unit includes the event detection unit , After detecting the occurrence of one of the plurality of events, all the remaining of the plurality of events within a predetermined time When detecting the raw, to perform the action to the operation execution service.
  • the linkage is performed.
  • the said event is an event resulting from a user's action. Thereby, in a situation where the user has performed a plurality of predetermined actions within a predetermined time, an action corresponding to the situation can be executed.
  • the operation execution control server is the operation execution control server according to aspect 1, in which the order of occurrence of the plurality of events is defined in the cooperation rule, and the event detection unit is defined by the event detection unit.
  • the action execution service may execute the action.
  • an action is executed when it is detected that multiple events have occurred in the order of occurrence specified in the linkage rule. Therefore, in a situation where a plurality of events occur in a predetermined order, an action corresponding to the situation can be executed. For example, when an event occurs in which the entrance door is opened after the event that the living room door is released, a message to be sent off (such as a welcome message) can be uttered to a predetermined device. On the other hand, when an event occurs in which the door of the living room is released after the event that the door of the entrance is released, a greeting message (such as return) can be uttered to a predetermined device.
  • the operation execution control server is the operation execution control unit according to aspect 1 or 2, wherein the operation execution control unit is in a state in which each action defined in the plurality of cooperation rules is to be executed. Any one of the actions may be executed, or none may be executed.
  • the action of the linkage rule having a larger number of past use may be executed. Thereby, it is possible to execute an action that is considered more desirable for the user in view of the past circumstances.
  • the action of the cooperation rule having a higher priority set in advance may be executed.
  • the priority may be set by the user, whereby the action of the cooperation rule in accordance with the user's intention can be preferentially executed.
  • the plurality of events include an action event that is an event for executing an action different from the action
  • the operation execution control unit causes the action execution service or another operation execution service to execute the action of the action event
  • the event detection unit causes the operation execution control unit to execute the action of the action event. This may be detected as the occurrence of the action event.
  • action events are included in the plurality of events defined in the linkage rule. Then, the fact that the action of the action event is executed is detected as the occurrence of the action event. Therefore, it is possible to execute an action defined in the cooperation rule on condition that an action event has occurred. This aspect is useful when it is necessary (or preferable) that the action of the action event has already been executed as a premise for executing the action specified in the cooperation rule.
  • the operation execution control server according to aspect 5 of the present invention is the operation execution control server according to aspect 4, wherein the operation execution control unit does not detect the occurrence of the action event among the plurality of events, and the action event When all remaining occurrences except for are detected, the action execution service or another action execution service may be caused to execute an alternative action of the action of the action event.
  • the action execution service or another action execution service is caused to execute the action action substitute action. Therefore, it is possible to cover that the action of the action event has not been executed by executing the alternative action.
  • the alternative action may be an action that is meaningful to be executed instead of the action of the action event.
  • the action of an action event is an action that causes a predetermined device to utter a predetermined message
  • an action that causes another device to utter the predetermined message may be used as an alternative action.
  • the rule generation server (cooperation server 1) is a rule generation server that generates the cooperation rule used by the operation execution control server (cooperation server 1) that causes the operation execution service to execute an action according to the cooperation rule.
  • the cooperation rule it is possible to define a plurality of events whose occurrence is detected based on information transmitted from the information providing service to the operation execution control server as a trigger for executing the action.
  • the rule generation server includes a reception unit (setting reception unit 100) and a rule generation unit (102).
  • the reception unit specifies the action, the plurality of events, and one of the plurality of events. After the detection of one occurrence, the designation of the upper limit time until the occurrence of all remaining occurrences of the plurality of events is detected.
  • Terminal device for registering Le accepted from (operation terminal 3) the rule generation unit, said reception unit accepts, generates the collaboration rule that associates the action and the plurality of the event and the time.
  • a cooperation rule that associates an action, a plurality of events, and a time received from the terminal device is generated. Therefore, it is possible to cause the operation execution control server to use the generated cooperation rule and to execute an action corresponding to the situation in a situation where a plurality of events occur within a predetermined time.
  • the rule generation server and the operation execution control server may be an integrated device or a separate device.
  • the rule generation server according to aspect 7 of the present invention is the rule generation server according to aspect 6, wherein when the reception unit receives designation of one of the plurality of events, an event that can be used as the trigger together with the event, You may provide the candidate notification part (101) which notifies the said terminal device of at least any one of the actions which can be performed by a trigger.
  • a terminal device (operation terminal 3) is a terminal device that causes the rule generation server to generate the cooperation rule used by the operation execution control server that causes the action execution service to execute an action according to the cooperation rule.
  • the linkage rule specifies a plurality of events whose occurrence is detected by the operation execution control server based on information transmitted from the information providing service to the operation execution control server as a trigger for executing the action.
  • the terminal device includes a rule setting unit (301) and an information notification unit (300), and the rule setting unit includes specification of the action, specification of a plurality of events, and a plurality of the notifications. After the detection of one occurrence of an event, designation of the upper limit time until detection of all the remaining occurrences of the plurality of events is performed.
  • the information is received from a user who registers a rule, and the information notification unit notifies the rule generation server of the action, the plurality of events, and the time received by the rule setting unit, and the action and the plurality of events. And the above-mentioned cooperation rule in which the time is associated.
  • the rule generation server generates a cooperation rule that associates an action, a plurality of events, and time received from the user. Therefore, it is possible to cause the action execution control server to use the generated cooperation rule and to execute an action corresponding to the situation in a situation where a plurality of events occur within a predetermined time.
  • the plurality of events include at least an action event that is an event that causes the operation execution service or another operation execution service to execute an action different from the action.
  • the rule setting unit can include an event that can be used as the trigger together with the action event, and an action that can be executed by the trigger. At least one of them may be presented to the user.
  • the cooperation system (7) includes an information providing server (5), a device control server (2), an operation execution control server (cooperation server 1), and a control target device (device 4).
  • the operation execution control server executes the action according to a cooperation rule indicating an action to be executed by the control target device and a trigger for executing the action. Occurrence of the event is set to a trigger corresponding to one of the actions, the information providing server transmits information on the event to the operation execution control server, and the operation execution control server After detecting one occurrence of the plurality of events based on the information transmitted from the plurality of events, the plurality of events are detected within a predetermined time. When detecting the all remaining occurrence of bets, via the device control server to perform the action to the control target device. According to this cooperation system, there exists an effect similar to the said aspect 1. FIG.
  • the operation execution control server control method includes an operation execution control for causing the operation execution service to execute the action according to a cooperation rule indicating an action to be executed by the operation execution service and a trigger for executing the action.
  • the control method of the operation execution control server includes an event detection step (S1) and An operation execution control step (S4), wherein the event detection step is a step of detecting occurrence of each of the plurality of events based on information received from the information providing service, and the operation execution control step includes In the event detection step, one occurrence of the above events is detected. After, when detecting the remaining all occurrences of a plurality of the event within a predetermined time, a step of executing the action to the operation execution service. According to the control method, the same effects as those of the first aspect are obtained.
  • the rule generation server control method is a rule generation server control method for generating the cooperation rule used by the operation execution control server that causes the action execution service to execute an action in accordance with the cooperation rule.
  • the cooperation rule it is possible to define a plurality of events whose occurrence is detected based on information transmitted from the information providing service to the operation execution control server as a trigger for executing the action.
  • the control method includes a reception step (S32) and a rule generation step (S33).
  • the reception step detects designation of the action, designation of the plurality of events, and occurrence of one of the plurality of events. After that, specify the upper limit time until all remaining events are detected.
  • the step of accepting from the terminal device that registers the cooperation rule, wherein the rule generation step is a step of generating the cooperation rule that associates the action, the plurality of events, and the time received in the reception step. is there. According to this control method, the same effects as those of the above aspect 6 are obtained.
  • a terminal device control method is a terminal device control method that causes a rule generation server to generate the above-described cooperation rule used by an operation execution control server that causes an action execution service to execute an action according to a cooperation rule.
  • the linkage rule defines a plurality of events whose occurrence is detected by the operation execution control server based on information transmitted from the information providing service to the operation execution control server as a trigger for executing the action.
  • the terminal device control method includes a rule setting step (S12, S14, S20) and an information notifying step (S17).
  • the rule setting step includes the designation of the action and a plurality of the above-described steps. After the designation of the event and the occurrence of one of the events, all remaining events of the events are detected.
  • the information notifying step includes the action and the plurality of events accepted in the rule setting step. And the time are notified to the rule generation server, and the cooperation rule in which the action, the plurality of events, and the time are associated with each other is generated. According to this control method, the same effects as those of the above aspect 8 are obtained.
  • the operation execution control server, rule generation server, and terminal device may be realized by a computer.
  • the operation execution control server, rule generation server, or terminal device is the computer.
  • a control program that causes a computer to realize the operation execution control server, the rule generation server, or the terminal device by operating as each unit (software element) provided, and a computer-readable recording medium that records the control program are also included in the scope of the present invention. to go into.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Robotics (AREA)
  • Human Computer Interaction (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)
  • Manipulator (AREA)

Abstract

所定時間内に複数のイベントが発生した状況に応じたアクションを実行させる。連携サーバ(1)は、連携ルールに規定された複数のイベントのそれぞれの発生を検出するイベント検出部(103)と、複数の上記イベントの1つの発生検出後、所定時間内に残り全ての発生を検出した場合に、機器制御サーバ(2)にアクションを実行させるアクション実行制御部(105)と、を備えている。

Description

動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム
 本発明は、動作実行サービスに実行させるアクションと該動作を実行させるトリガとを示す連携ルールに従って動作実行サービスに動作を実行させる動作実行制御サーバ等に関する。
 複数のネットワークサービスを連携させるシステムが従来技術として知られている。例えば、下記の特許文献1には、複数のネットワークサービスを連携させる際のユーザの登録操作を容易にする仲介方法が記載されている。
日本国公開特許公報「特開2014-211873号」(2014年11月13日公開)
 上記のような従来技術を用いることにより、あるサービスから提供される情報をトリガとして、機器の動作制御を行うサービスにより機器に所定の動作を行わせることも可能になる。例えば、ユーザの家のリビングのドアが開放されたとの情報を取得したことをトリガとして、リビングに設置されている機器にユーザ向けのメッセージを発話(音声出力)させることも可能になる。
 しかしながら、上述のような従来技術では、トリガに設定することのできるイベントが1つのみであるため、状況に応じたアクションを実行させることができない場合があった。例えば、外出先から帰宅してリビングのドアを開けた状況では「お帰りなさい」等の出迎えのメッセージが適切であり、ユーザがリビングから出るという状況では、「またね」等の別れのメッセージが適切である。しかし、上述のような従来技術では、リビングのドアの開放という1つのイベントに対して、所定の内容のメッセージを発話させることができるのみであり、状況の違いに応じて異なるメッセージを発話させることができなかった。
 本発明は、前記の問題点に鑑みてなされたものであり、その目的は、所定時間内に複数のイベントが発生した状況において、その状況に応じたアクションを実行させることのできる連携サーバ等を実現することにある。
 上記の課題を解決するために、本発明に係る動作実行制御サーバは、動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記動作実行サービスに上記アクションを実行させる動作実行制御サーバであって、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記動作実行制御サーバは、イベント検出部と動作実行制御部とを備え、上記イベント検出部は、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出し、上記動作実行制御部は、上記イベント検出部が、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させる。
 また、本発明に係るルール生成サーバは、上記の課題を解決するために、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールを生成するルール生成サーバであって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、上記ルール生成サーバは、受付部とルール生成部とを備え、上記受付部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置から受け付け、上記ルール生成部は、上記受付部が受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成する。
 そして、本発明に係る端末装置は、上記の課題を解決するために、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、上記端末装置は、ルール設定部と情報通知部とを備え、上記ルール設定部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付け、上記情報通知部は、上記ルール設定部が受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させる。
 また、本発明に係る連携システムは、上記の課題を解決するために、情報提供サーバと、機器制御サーバと、動作実行制御サーバと、制御対象機器とを含む連携システムであって、上記動作実行制御サーバは、上記制御対象機器に実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記アクションを実行させるものであり、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記情報提供サーバは、上記イベントに関する情報を上記動作実行制御サーバに送信し、上記動作実行制御サーバは、上記情報提供サーバから送信される上記情報に基づいて複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記機器制御サーバを介して上記制御対象機器に上記アクションを実行させる。
 そして、本発明に係る動作実行制御サーバの制御方法は、上記の課題を解決するために、動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記動作実行サービスに上記アクションを実行させる動作実行制御サーバの制御方法であって、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記動作実行制御サーバの制御方法は、イベント検出ステップと動作実行制御ステップとを含み、上記イベント検出ステップは、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出するステップであり、上記動作実行制御ステップは、上記イベント検出ステップにて、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させるステップである。
 また、本発明に係るルール生成サーバの制御方法は、上記の課題を解決するために、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールを生成するルール生成サーバの制御方法であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、上記ルール生成サーバの制御方法は、受付ステップとルール生成ステップとを含み、上記受付ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置から受け付けるステップであり、上記ルール生成ステップは、上記受付ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成するステップである。
 そして、本発明に係る端末装置の制御方法は、上記の課題を解決するために、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置の制御方法であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、上記端末装置の制御方法は、ルール設定ステップと情報通知ステップとを含み、上記ルール設定ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付けるステップであり、上記情報通知ステップは、上記ルール設定ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させるステップである。
 本発明によれば、所定時間内に複数のイベントが発生した状況において、その状況に応じたアクションを実行させることができるという効果を奏する。
本発明の実施形態1に係る連携サーバと操作端末の要部構成の一例を示すブロック図である。 上記連携サーバと操作端末を含む連携システムの概要を示す図である。 上記連携システムで使用される連携ルールの例を示す図である。 上記連携サーバが使用する連携ルール管理情報の一例を示す図である。 連携サーバがトリガイベントを検出してアクションを実行させる処理の一例を示すフローチャートである。 複数の連携ルールに規定された各アクションを実行させるべき状態となったときに本発明の実施形態2に係る連携サーバが実行する制御の例を示す図である。 本発明の実施形態3に係る連携システムで使用される連携ルールの例を示す図である。 本発明の実施形態4において連携ルールを生成する際のUI画面の一例を示す図である。 トリガおよびアクションの候補をユーザに選択させるUI画面の例を示す図である。 設定済みの連携ルールをユーザに提示する表示画面の一例を示す図である。 連携ルールを生成する際の操作端末および連携サーバの処理の一例を示すフローチャートである。 上記各実施形態の連携サーバおよび操作端末として利用可能なコンピュータの構成を例示したブロック図である。
 〔実施形態1〕
 以下、本発明の実施の一形態について図1から図5に基づいて詳細に説明する。
 〔システムの概要〕
 まず、本実施形態に係る連携システムの概要を図2に基づいて説明する。図2は、連携システム7の概要を示す図である。連携システム7は、複数のサービスを連携させる連携サービスを提供するシステムである。
 連携システム7において連携対象となるサービスは、トリガのサービス(情報提供サービス)と、アクションのサービス(動作実行サービス)とに分類できる。すなわち、連携システム7では、トリガのサービスに関する所定のイベントが発生したときに、アクションのサービスに所定のアクションを実行させる。これにより、異なるサービスを組み合わせた多様な連携サービスを提供することが可能になる。
 本実施形態ではトリガのサービスが、所定のイベントに関する情報を通知するサービスであり、アクションのサービスが機器(制御対象機器)4に所定の動作、より詳細には音声発話を実行させるサービスである例を説明する。なお、トリガのサービスは特に限定されず、例えばユーザが自宅リビングのドアを開けたことを通知するサービスをトリガのサービスとしてもよい。また、アクションのサービスも機器4の動作制御のサービスに限られない。
 図示の連携システム7には、連携サービスを提供する連携サーバ(動作実行制御サーバ、ルール生成サーバ)1、アクションのサービスを提供する機器制御サーバ2、連携ルールの設定などに用いられる操作端末(端末装置)3、機器制御サーバ2の制御対象の機器4、およびトリガのサービスを提供する情報提供サーバ5が含まれる。なお、連携ルールとは、動作実行サービスに実行させるアクションとそれを実行させるトリガとを示す情報である。本実施形態では、連携サーバ1が連携ルールの生成と、連携ルールの使用(連携ルールに基づくアクションの実行制御)の双方を行う例を説明するが、これらの処理は別個の装置(サーバ)に実行させてもよい。
 情報提供サーバ5は、ユーザの行動範囲内(例えば自宅)に設置されたセンサの検出結果を受信し、該検出結果から所定のイベント(例えばドアを開ける)が発生したと判定したときに、該所定のイベントが発生した旨を連携サーバ1に通知する。そして、連携サーバ1は、上記の通知によって所定のイベントが発生したことを検知し、これを契機として機器制御サーバ2によって機器4に所定の音声を出力させる。これにより、例えば、ユーザが帰宅してドアを開けたときに、自宅に設置された機器4から、帰宅したユーザに「おかえり」と発話させることもできる。
 機器4は、機器制御サーバ2の制御対象となる機器であればよく、特に限定されないが、本実施形態では機器4が、ユーザとの対話機能を備えたロボットである例、およびユーザとの対話機能を備えた家庭用電気器具(以下、家電と呼ぶ)である例を説明する。図示の例のように機器4は複数のユーザに共用されていてもよい。
 各ユーザは、操作端末3を所持しており、この操作端末3を用いて機器4の動作制御をアクションとする連携ルールを設定することができる。詳細は後述するが、連携システム7では、1つの連携ルールについて、複数のイベントと、該複数のイベントの1つの発生を検出した後、該複数のイベントの残り全ての発生を検出するまでの上限の時間(所定時間)と、そのイベントの発生順とを設定できるようになっている。そして、上記連携ルールには、複数の上記イベントが上記上限の時間内に検出された場合に実行させるアクションを設定することができるようになっている。つまり、連携システム7によれば、上記連携ルールに従った制御により、複数のイベントが上限の時間内に所定順で発生したことをトリガとして、そのトリガに対応するアクションを機器4に実行させることができる。
 〔連携ルールの例〕
 次に、連携システム7で使用される連携ルールの例を図3に基づいて説明する。図3は、連携システム7で使用される連携ルールの例を示す図である。同図に示す連携ルールAおよびBには、2つのトリガ(イベント)と1つのアクションが含まれている。また、これら2つのトリガイベントには、順番が設定されていると共に、1つ目のトリガイベント発生から2つ目のトリガイベント発生までの上限の時間が設定されている。このように、連携ルールは、複数のイベントと、少なくとも1つのアクションと、それらの順序とを示す、シナリオのような情報である。さらに、各連携ルールには、優先度が設定されている。
 具体的には、図示の連携ルールAには、1つ目のトリガイベントとしてユーザの家の玄関ドアが開けられたイベント(玄関OPEN)が設定されており、2つ目のトリガイベントとしてユーザの家のリビングのドアが開けられたイベント(リビングOPEN)が設定されている。そして、連携ルールAには、ロボットである機器4に「お帰りなさい」と発話させるアクションが設定されている。これにより、ユーザが帰宅して玄関ドアを開け、その後、上限の時間(例えば5分)以内にリビングに入ったとき、つまり玄関ドアを開けてリビングに入るという一連の動作を行ったときに、機器4に「お帰りなさい」と発話させることができる。
 また、図示の連携ルールBには、1つ目のトリガイベントとしてユーザの家のトイレのドアが開けられたイベント(トイレOPEN)が設定されており、2つ目のトリガイベントとしては連携ルールAと同じくリビングOPENが設定されている。そして、連携ルールBには、ロボットである機器4に「手は洗った?」と発話させるアクションが設定されている。これにより、ユーザがトイレに行った後、上限の時間(例えば10分)以内にリビングに入ったときに、機器4に「手は洗った?」と発話させることができる。
 このように、連携システム7では、複数のイベントをトリガに設定した連携ルールを使用することができるので、ユーザの行動の経緯に応じた適切なアクションを実行させることができる。例えば、上記の連携ルールAおよびBは、2つ目のトリガイベントが同一であるが、1つ目のトリガイベントの相違に応じた異なるアクションを機器4に実行させることができる。つまり、ユーザが外出先から帰宅してリビングに入ったときには、ユーザを迎えるメッセージを発話させ、トイレからリビングに入ったときには、手洗いの確認をするメッセージを発話させることができる。
 〔連携サーバと操作端末の装置構成〕
 次に、連携サーバ1と操作端末3の装置構成を図1に基づいて説明する。図1は、連携サーバ1と操作端末3の要部構成の一例を示すブロック図である。ここでは、まず連携サーバ1について説明し、その後、操作端末3について説明する。
 〔連携サーバの構成〕
 図示のように、連携サーバ1は、連携サーバ1の各部を統括して制御するサーバ制御部10、連携サーバ1が使用する各種データを記憶するサーバ記憶部11、および連携サーバ1が他の機器と通信するためのサーバ通信部12を備えている。なお、同図では、1つのサーバ通信部12にて、機器制御サーバ2、操作端末3、および情報提供サーバ5と通信する例を示しているが、通信相手機器に応じて異なる通信部(通信インターフェース)を介して通信してもよい。
 サーバ制御部10には、設定受付部(受付部)100、候補通知部101、ルール生成部102、イベント検出部103、条件判定部104、およびアクション実行制御部(動作実行制御部)105が含まれている。そして、サーバ記憶部11には、対応候補情報110および連携ルール管理情報111が格納されている。
 設定受付部100は、連携ルールの生成に関する各種指定を受け付ける。具体的には、設定受付部100は、アクション、トリガ(複数のイベントをトリガに指定可能)、および上限の時間の指定を受け付ける。この上限の時間が、複数のイベントを検出する制限時間ということになる。
 候補通知部101は、設定受付部100が、複数のイベントの1つの指定を受け付けた場合に、該イベントと共にトリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを操作端末3に通知する。
 ルール生成部102は、設定受付部100が受け付けた、アクションとトリガと上限の時間とを対応付けて連携ルールを生成する。また、ルール生成部102は、生成した連携ルールを連携ルール管理情報111に登録する。
 イベント検出部103は、連携ルールにトリガとして設定された複数のイベントのそれぞれの発生を検出する。本実施形態では、情報提供サーバ5(情報提供サービス)からの通知によりイベントの発生を検出する例を説明する。つまり、連携ルールが登録されると、イベント検出部103は、当該連携ルールのトリガに設定されたイベントの発生を通知するように情報提供サーバ5に指示する。これにより、当該イベントの発生時には、その旨を示す情報が情報提供サーバ5から連携サーバ1に通知され、イベント検出部103は、この情報の受信によりイベントの発生を検出する。なお、イベント検出部103は、機器制御サーバ2等、他の機器(他のサービス)からの通知によりイベントの発生を検出してもよい。また、例えば、機器4やセンサが出力する情報(例えば機器4の電源がONに切り替えられた、ドアが開閉された等の事象を検出したことを示す情報)は、機器制御サーバ2等を介することなく、当該機器4やセンサから連携サーバ1に送信してもよい。そして、このような場合には、当該機器4やセンサが連携サーバ1と接続されたことを契機として、上記のような情報の送信を開始してもよい。
 条件判定部104は、連携ルール管理情報111に含まれる各連携ルールについて、該連携ルールのアクションを実行する条件、すなわち上限の時間内に複数のイベントが発生することを充足したか判定する。
 アクション実行制御部105は、イベント検出部103が、トリガに設定された複数のイベントの1つの発生を検出した後、上限の時間内に複数の上記イベントの残り全ての発生を検出したことを契機としてアクションを実行させる。具体的には、アクション実行制御部105は、条件判定部104が連携ルールのアクションを実行する条件を充足したと判定したときに、そのアクションを機器制御サーバ2に実行させる。なお、機器制御サーバ2は、機器4にアクションを実行させるので、アクション実行制御部105は、機器制御サーバ2を介して機器4にアクションを実行させているとも言える。
 対応候補情報110は、連携ルールの設定の際にユーザに提示するトリガやアクションの候補を決定するための情報である。より詳細には、対応候補情報110は、1つの連携ルールに含めることのできるトリガ(イベント)とアクションの組み合わせを示す情報である。候補通知部101は、対応候補情報110を参照することにより、ユーザが指定済みのトリガやアクションと共に連携ルールに含めることのできるイベントおよびアクションの少なくとも何れかを特定することができる。
 連携ルール管理情報111は、設定された連携ルールを管理するための情報であり、ユーザが設定した連携ルールは連携ルール管理情報111に登録される。連携ルール管理情報111は、例えば図4のようなものであってもよい。図4は、連携ルール管理情報111の一例を示す図である。図示の連携ルール管理情報111は、ルール識別情報、トリガ、設定時間、アクション、優先度、および使用回数が対応付けられたテーブル形式の情報である。
 ルール識別情報は、連携ルールを識別する情報であり、各連携ルールに固有の値が割り当てられる。トリガには、連携ルールに規定されたアクションを実行する契機となるイベントを示す情報が格納される。また、各イベントには、その発生順序を示す番号が付されている。設定時間には、トリガに規定されている1つ目のイベント発生から最後のイベント発生までの上限の時間が格納される。
 アクションには、トリガに設定された全イベントが上限の時間内に発生したときに機器制御サーバ2に実行させる動作を示す情報が格納される。図示の例では、ロボット(機器4の1つ)に実行させるアクションとして、ロボット発話「おかえり」(ロボットに「お帰りなさい」と発話させる)、およびロボット発話「手洗い確認」(ロボットに「手は洗った?」と発話させる)を例示している。また、TV(機器4の1つ)に実行させるアクションとして、TV発話「おかえり」(TVに「お帰りなさい」と発話させる)、およびTV発話「ねぎらい」(TVに「ゆっくりして下さいね」と発話させる)を例示している。
 優先度には、各連携ルールの他の連携ルールに対する優先度を示す情報が格納される。本例では、1~10の数値(値が大きい方を優先する)で優先度を示しているが、優先度の示し方はこの例に限られない。使用回数には、連携ルールが使用された(トリガの条件充足によりアクションが実行された)回数を示す情報が格納される。
 〔操作端末の構成〕
 操作端末3は、連携ルールを登録するユーザの操作を受け付けて、該操作の内容に応じた連携ルールを連携サーバ1に生成させる装置である。操作端末3は、例えばスマートフォンのような情報処理装置であってもよい。図1に示す操作端末3は、操作端末3の各部を統括して制御する端末制御部30、操作端末3が使用する各種データを記憶する端末記憶部31、操作端末3が他の機器と通信するための端末通信部32を備えている。また、操作端末3は、端末制御部30の制御に従って画像を表示する表示部33、およびユーザの入力操作を受け付ける入力部34を備えている。なお、入力部34は、表示部33の表示面に対するユーザの入力操作を受け付けるタッチパネルであってもよい。
 端末制御部30には、情報通知部300、ルール設定部301、および候補取得部302が含まれている。これらの処理部は、例えばアプリケーションソフトウェアを操作端末3にインストールすることで実現してもよい。
 ルール設定部301は、所定のユーザインターフェース(以下、UIと略記する)画面を表示させて、連携ルールの生成に関する各種指定を受け付ける。具体的には、ルール設定部301は、アクション、トリガ(複数のイベントをトリガに指定可能)、および上限の時間の指定を受け付ける。
 情報通知部300は、ルール設定部301が受け付けた、アクション、トリガ、および上限の時間を連携サーバ1に通知して、当該アクション、トリガ、および上限の時間を対応付けた連携ルールを生成させる。
 候補取得部302は、連携ルールの設定の際にユーザに提示するトリガやアクションの候補を連携サーバ1の候補通知部101から取得する。そして、候補取得部302は、取得した候補を表示部33に表示する。これにより、ユーザは、該候補の中からトリガやアクションを選択することができる。
 〔処理の流れ(トリガ検出~アクション実行)〕
 次に、連携サーバ1が実行する処理の流れを図5に基づいて説明する。図5は、連携サーバ1がトリガイベントを検出してアクションを実行させる処理(動作実行制御サーバの制御方法)の一例を示すフローチャートである。
 イベント検出部103は、情報提供サーバ5から通知される情報に基づいて、トリガに設定されたイベントの発生を検出する(S1、イベント検出ステップ)。次に、条件判定部104は、S1で検出されたイベントが、連携ルールにおいて順序が最後に設定されたイベントであるか判定する(S2)。ここで、順序が最後に設定されたイベントではないと判定した場合(S2でNO)、イベントの検出待ち受け状態となり、次にイベントを検出したときに、S1以下の処理を再度行う。
 一方、S2にて順序が最後に設定されたイベントであると判定した場合(S2でYES)、条件判定部104は、アクションに対応付けられた全イベントを設定時間(上限の時間)内に検出済みであるか判定する(S3)。言い換えれば、アクションを実行するための全てのフラグ(アクションに対応する全てのイベントの検出)が立っているかを判定する。例えば、上述の連携ルールA(図4参照)の2つ目のイベント(リビングOPEN)がS1で検出された場合、条件判定部104は、S1の検出時点から5分前までの期間に1つ目のイベント(玄関OPEN)を検出済みであるか判定する。
 ここで、条件判定部104が全てのイベントを検出済みであると判定した場合(S3でYES)、アクション実行制御部105は、機器制御サーバ2に指示して当該イベントに対応するアクションを機器4に実行させる(S4、動作実行制御ステップ)。これにより、図示の処理は終了する。一方、S3において、条件判定部104がイベントの少なくとも何れかが設定時間内に検出されていないと判定した場合(S3でNO)、アクションを実行させることなく図示の処理は終了する。
 なお、本実施形態の連携ルールに基づくアクションの実行制御の手順は上記の例に限られない。例えば、まず、連携ルールにおける最先の順序のイベントを検出し、そのイベントを検出したときにその次のイベントの検出を開始する、という手順の繰り返しによって、連携ルールに規定された複数のイベントが所定の順序で発生したことを検出してもよい。この場合、最後のイベントの発生を検出したときに、最初のイベントの発生からの経過時間が上限の時間を超えていなければ、アクションを実行させる。
 また、上記では、トリガに設定された複数のイベントに順序が設定されている例を説明したが、順序の設定は必須ではない。例えば、TVの電源がONされたイベントと、エアコンの運転が開始されたイベントとが検出された場合に、掃除ロボットにお勧めのTV番組を発話させる連携ルールのように、アクションの直接の契機となるべきイベントがない場合には順序の設定は不要である。図5の例において、トリガに設定された複数のイベントに順序が設定されていない場合、S2の処理は省略される。
 〔実施形態2〕
 本発明の他の実施形態について、図6に基づいて説明すれば、以下のとおりである。なお、説明の便宜上、前記実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を省略する。これは実施形態3以降においても同様である。本実施形態の連携サーバ1は、1つのトリガの検出によって、複数の連携ルールに規定された各アクションを実行させるべき状態となったときの制御内容に特徴がある。これについて図6に基づいて説明する。図6は、複数の連携ルールに規定された各アクションを実行させるべき状態となったときの制御例を示す図である。
 図6には、上記実施形態で説明した2つの連携ルール(連携ルールAおよびB)が記載されている。これらの連携ルールは、順序が最後に設定されたイベントが同じ(何れもリビングOPEN)であるから、このイベントが検出されたときに、双方の連携ルールに規定されたアクションを実行させるべき状態になり得る。なお、図示の例では、調整の対象となる2つの連携ルールの何れもが複数のイベントをトリガとしているが、調整の対象となる連携ルールには、トリガに設定されているイベントが1つの連携ルールが含まれていてもよい。例えば、リビングOPENのイベントのみをトリガとして、リビングのテレビをスタンバイ状態にする連携ルールDが存在する場合、この連携ルールDと、図示の連携ルールAまたはBとについて調整を行ってもよい。無論、連携ルールA、B、Cの間で調整を行ってもよい。
 例えば、図示の例のように、玄関OPENのイベントが検出された後、トイレOPENのイベントが検出され、その後でリビングOPENのイベントが検出されることがあり得る。この場合、玄関OPENからリビングOPENまでが連携ルールAの設定時間以内であり、かつトイレOPENからリビングOPENまでが連携ルールBの設定時間以内であれば、連携ルールAおよびBの双方のアクションを実行させるべき状態となる。
 本実施形態の連携サーバ1が備えるアクション実行制御部105は、図6に示すように、複数のアクションを実行させるべき状態となったときに、下記a~cの何れかの処理を実行する。
a:何れか一方のアクションを実行させる
b:何れのアクションも実行させない
c:双方の連携ルールのアクションを実行させる
 上記aの処理を実行する場合、アクション実行制御部105は、任意の方法で何れかのアクションを選択し、そのアクションを実行させる。例えば、アクション実行制御部105は、各連携ルールに設定された優先度を参照して、より優先度の高い連携ルールを特定し、その連携ルールに設定されたアクションを実行させてもよい。また、例えば、アクション実行制御部105は、使用回数(図4参照)のより多い連携ルールを特定し、その連携ルールに設定されたアクションを実行させてもよい。さらに、例えば、アクション実行制御部105は、ランダムに選択したアクションを実行させてもよい。
 また、上記cの処理を実行する場合、アクション実行制御部105は、複数のアクションの実行タイミングが重なることの弊害が生じないように調整した上で、各アクションを実行させる。例えば、アクション実行制御部105は、各アクションの実行指示を送信するタイミングをずらしてもよい。また、この場合、優先度のより高い、あるいは使用回数のより多い連携ルールのアクションの実行指示を先に送信してもよい。また、例えば、アクション実行制御部105は、各アクションを組み合わせたアクションを実行させてもよい。例えば、組み合わせの対象となるアクションが何れもユーザに対する発話であれば、その発話の合間に「それから」等の接続語を入れる等して一連の発話内容とした上で、発話させてもよい。
 なお、このような調整は、並行して実行された場合に弊害があるアクションについてのみ行い、その他のアクションについては調整の対象外としてもよい。例えば、各アクションを実行させる機器4が同一である場合や、各アクションの内容が何れも発話である場合には、それらのアクションを並行して実行させると弊害(機器4の処理の負荷が一時に集中する、発話内容が聞き取り難くなる等)が生じ得る。このため、アクション実行制御部105は、このような条件(アクションを実行させる機器4が同一である、またはアクションが機器4による音声出力である等)を満たした場合には上記の調整を行い、満たさない場合には各アクションを通常通り実行させてもよい。なお、本実施形態では、実行タイミングが重なった2つのアクションについて調整を行う例を説明したが、3つ以上のアクションの実行タイミングが重なった場合にも、同様の調整が可能である。
 〔実施形態3〕
 本発明のさらに他の実施形態について、図7に基づいて説明する。本実施形態では、連携ルールのトリガとして、該連携ルールによって所定のアクションが実行された(あるいは実行されなかった)というイベント(アクションイベント)を設定する例を説明する。また、本実施形態では、上記所定のアクションが実行されなかった場合に、該所定のアクションが実行されなかったことを補うためのアクション(代替アクション)を実行させる例についても説明する。
 図7は、本実施形態の連携システム7で使用される連携ルールの例を示す図である。図示の連携ルールCでは、1つ目のトリガイベント、1つ目のアクション(2つ目のトリガイベントでもある)、3つ目のトリガイベント、および2つ目のアクションが設定されている。この連携ルールCによれば、1つ目のトリガに設定されたイベントが検出された後、該連携ルールCに設定された時間内に、1つ目のアクションが実行され、かつ3つ目のトリガに設定されたイベントが検出されることにより、2つ目のアクションが実行される。この例では、イベント検出部103は、アクション実行制御部105が1つ目のアクションを実行させたことを、アクションイベントの発生として検出する。なお、アクションイベントのアクションは、連携ルールの最終のアクションと同じ動作実行サービスに実行させてもよいし、異なる動作実行サービスに実行させてもよい。
 本実施形態の連携サーバ1は、上記連携ルールCにより、玄関OPENのイベント検出後、設定時間以内に、ロボットに「お帰りなさい」と発話させ、その後TVの電源がONに切り替わるイベントが検出された場合に、TVにねぎらいの言葉を発話させる。なお、上記ロボットおよびTVは、何れも機器4の1つであり、機器制御サーバ2を介して発話させることができる。また、機器制御サーバ2は、TVがONに切り替わったことを検出して連携サーバ1に通知するので、連携サーバ1のイベント検出部103は、この通知によりTVがONに切り替わるイベントを検出することができる。つまり、本例の機器制御サーバ2は、情報提供サービスも提供する。
 一方、本実施形態の連携サーバ1は、上記連携ルールCのイベントのうち、ロボットに発話させるアクション(アクションイベント)の発生を検出せず、該アクションイベントを除く残り全ての発生を検出した場合に、代替アクションを実行させる。この代替アクションは、図示の連携ルールC’に基づいて実行される。
 図示の連携ルールC’では、1つ目のトリガイベント、2つ目のトリガイベント、3つ目のトリガイベント、およびアクションが設定されている。これらのうち、1つ目のトリガイベントと3つ目のトリガイベントは、連携ルールCの1つ目のトリガイベントと3つ目のトリガイベントとそれぞれ同じである。また、連携ルールC’の2つ目のトリガは、連携ルールCの1つ目のアクションが実行できなかったというイベントである。そして、連携ルールC’のアクションは、連携ルールCの2つ目のアクションと発話内容が同じである。つまり、連携ルールC’のアクションは、連携ルールCの1つ目のアクションが実行されなかったことを補う代替アクションである。
 本実施形態の連携サーバ1は、上記連携ルールC’により、玄関OPENのイベントを検出したが、ロボットに発話させることができず、その後TVの電源がONに切り替わるイベントが検出された場合に、TVに「お帰りなさい」と発話させることができる。ロボットに発話させることができない状況としては、例えばロボットと機器制御サーバ2との通信不良、ロボットの故障や電池切れの状況が挙げられる。そして、ロボットに発話させるアクションの実行不可というイベントの発生は、例えばロボットに発話指示を送信した後、所定時間以内に当該ロボットからの発話完了通知が受信されなかったことによって検出することができる。
 なお、このような連携ルールについても、上記実施形態の連携ルールと同様にして連携ルール管理情報111にて管理することができる(図4参照)。また、このような連携ルールは、何れも後述の実施形態4に示すような手順にてユーザが設定してもよいが、代替アクションを含む連携ルールは、アクションを複数含む連携ルールを生成したときに、連携サーバ1が自動で生成してもよい。この場合、連携サーバ1のルール生成部102は、先に生成した連携ルールの一部を書き換えて、代替アクションを含む連携ルールを生成すればよい。具体的には、ルール生成部102は、先に生成した連携ルールのアクション(最後のアクションではなく、トリガイベントを兼ねているもの)の代わりに、該アクションが実行されなかったことをトリガイベントとして記述する。そして、先に生成した連携ルールのアクションの1つを代替アクションに変更する。なお、代替アクションは、アクションが実行されなかったことを補填するものであればよく、実行されなかったアクションと一部または全部が同内容であってもよいし、異なる内容であってもよい。例えば、図7の連携ルールC’の例において、「お帰りなさい」と発話させる代わりに、ロボットが発話できなかったことをユーザに伝える発話(「ロボットが発話できなかったようです」等)を行わせてもよい。また、代替アクションは、機器制御サーバ2に実行させてもよいし、他の機器制御サービスに実行させてもよい。
 また、アクションの不実行はトリガに含めなくともよい。この場合、2つ目のトリガ(TV ON)の発生を検出したときに1つ目のトリガ(玄関OPEN)は検出した履歴があるが、ロボットに「お帰りなさい」と発話させた履歴がなければ、アクションの実行条件を充足したと判定する。
 〔実施形態4〕
 本発明のさらに他の実施形態について、図8~図11に基づいて説明する。本実施形態では、連携ルールの生成について説明する。まず、連携ルールを生成する際に操作端末3が表示するUI画面について、図8に基づいて説明する。図8は、連携ルールを生成する際のUI画面の一例を示す図である。なお、同図では、上記実施形態で説明した連携ルールCを設定する際の画面遷移例を示している。
 連携ルールの設定を開始する際、まず操作端末3は同図の(a)に示すUI画面を表示して1つ目のトリガイベントと優先度の指定を受け付ける。このUI画面には、優先度の指定を受け付ける優先度設定項目50と、1つ目のトリガイベントの指定を受け付ける第1トリガ設定項目51とが含まれている。ユーザは、このUI画面から優先度設定項目50を選択することによって、1~10までの範囲で所望の優先度を指定することができる。また、ユーザは、このUI画面から第1トリガ設定項目51を選択することによって、1つ目のトリガイベントとすることができるイベントの候補を表示させ、その中から所望のイベントを選択して1つ目のトリガイベントに設定することができる。同図では、優先度を10(最大値)に設定し、1つ目のトリガイベントに玄関OPENのイベントを設定した例を示している。
 1つ目のトリガイベントが指定されると、操作端末3は、同図の(b)に示すように、指定済みのトリガイベントを第1トリガ設定項目51に表示する(同図の51’)。また、優先度が指定されると、操作端末3は、同図の(b)に示すように、指定された優先度を優先度設定項目50に表示する(同図の50’)。また、操作端末3は、1つ目のトリガイベントが指定されたことに応じて、同図の(b)に示すように、2つ目のトリガイベントの指定を受け付ける第2トリガ設定項目52と、1つ目のアクションの指定を受け付ける第1アクション設定項目53とを表示する。ユーザは、このUI画面から第2トリガ設定項目52を選択することによって、2つ目のトリガイベントに指定可能なイベントの候補を表示させ、その中から所望のイベントを選択して2つ目のトリガに指定することができる。同様に、このUI画面から第1アクション設定項目53を選択することによって、指定可能なアクションの候補を表示させ、その中から所望のアクションを選択して1つ目のアクションに指定することができる。
 ここで、操作端末3は、2つ目のトリガイベントに指定可能なイベントの候補、および1つ目のアクションに指定可能なアクションの候補を表示させる際には、指定済みのトリガイベントと組み合わせることのできる候補に絞って表示させる。これについて、図9に基づいて説明する。図9は、トリガおよびアクションの候補をユーザに選択させるUI画面の例を示す図である。
 同図の(a)のUI画面では、指定済みのトリガイベントに組み合わせることのできるトリガイベントの候補が一覧表示されている。具体的には、ここでは玄関OPENが1つ目のトリガイベントとして指定済みであることを想定している(図8の(b)参照)。このため、図9の(a)の例では、このトリガイベントと組み合わせて2つ目のトリガイベントに指定することのできるイベント(1つ目のトリガイベントと共にトリガとすることのできるイベント)の候補が表示されている。具体的には、上記実施形態で説明したトイレOPENとTV ONの他、子供部屋のドアが開けられた子供部屋OPEN、玄関の照明が点灯状態に切り替えられた玄関照明ON、および廊下の照明が点灯状態に切り替えられた廊下照明ONが候補として表示されている。同様に、図9の(b)の例では、上記トリガイベント(玄関OPEN)の発生検出によって実行させることのできるアクションの候補が表示されている。具体的には、上記実施形態で説明したロボット発話「おかえり」の他、所定のメールアドレス宛てにメールを送信するメール送信、所定のSNS(Social Networking Service)にメッセージを投稿するSNS送信、および所定の機器4のベルを鳴動させるベル鳴動が候補として表示されている。
 ユーザは、表示されたイベントの候補の中から所望のイベントを選択して、2つ目のトリガイベントに指定することができる。また、同様に、ユーザは、表示されたアクションの候補の中から所望のアクションを選択して1つ目のアクション(1つ目のトリガイベント発生時に実行するアクション)に指定することができる。
 なお、ユーザがトリガイベントを選択したときに、そのトリガイベントを含む連携ルールが登録済みであれば、その連携ルールにおいて該トリガイベントと対応付けられているアクションを選択候補として提示してもよい。一方、ユーザがトリガイベントを選択したときに、そのトリガイベントを含む連携ルールが登録されていなければ、ユーザが選択したトリガイベントと組み合わせることのできるアクションを選択候補として提示してもよい。なお、どのようなトリガイベントに対してどのようなアクションを組み合わせることができるかについては、各トリガイベントについて予め定義しておけばよい。また、同様にして、ユーザが選択したトリガイベントに加えて設定できるトリガイベント(2つ目以降のトリガイベント)の選択候補を提示してもよい。ユーザがアクションを選択した場合も同様であり、該アクションと組み合わせることのできるトリガイベントや他のアクションを選択候補として提示してもよい。
 例えば、玄関OPENのトリガイベントがユーザによって指定された場合、玄関OPENをトリガに設定した連携ルールが登録されていれば、その連携ルールに設定されている他のトリガイベントまたはアクションを選択候補として提示してもよい。一方、上記の場合に玄関OPENをトリガに設定した連携ルールが登録されていなければ、玄関OPENと共にトリガに設定することのできるトリガイベント、または玄関OPENをトリガとすることのできるアクションを選択候補として提示してもよい。
 また、上記の例において、選択候補から例えば玄関ドアロックというトリガイベント(玄関のドアがロックされたことがセンサによって検出されたというイベント)が選択されたときには、玄関OPENと玄関ドアロックの組み合わせを記憶しておいてもよい。これにより、次回以降に連携ルールを登録する際に、玄関OPENが指定されたときには、玄関ドアロックを選択候補として提示することが可能になる。
 ここで、図8の説明に戻る。図8の(b)のUI画面において、ユーザが第1アクション設定項目53を選択して図9の(b)に示すアクションの候補を表示させ、その中からロボット発話「おかえり」を選択すると、操作端末3は、同図の(c)に示すUI画面を表示する。このUI画面では、指定済みのアクション(ロボット発話「おかえり」)を第1アクション設定項目53に表示している(同図の53’)。この第1アクション設定項目53’は、外枠が二重線になっている点で、指定済みのトリガイベントを示す第1トリガ設定項目51’と相違している。このように、指定済みのトリガイベントと指定済みのアクションとは、表示態様を異ならせて、外観で識別できるようにしておくことが好ましい。
 また、図8の(c)のUI画面では、2つ目のトリガイベントの指定を受け付ける第2トリガ設定項目52と、2つ目のアクションの指定を受け付ける第2アクション設定項目54とが表示されている。ユーザは、このUI画面から第2トリガ設定項目52を選択することによって、2つ目のトリガイベントに指定可能なイベントの候補を表示させ、その中から所望のイベントを選択して2つ目のトリガイベントに指定することができる。同様に、このUI画面から第2アクション設定項目54を選択することによって、指定可能な2つ目のアクションの候補を表示させ、その中から所望のアクションを選択して2つ目のアクションに指定することができる。なお、2つ目のトリガイベントの指定の際には、1つ目のトリガイベント(あるいはその直後に行われる1つ目のアクション)の発生検出から、2つ目のトリガイベント検出までの上限の時間(設定時間)の指定も受け付ける。
 図8の(c)のUI画面において、ユーザが第2トリガ設定項目52を選択して図9の(a)に示すトリガイベントの候補を表示させ、その中からTV ONを選択すると、操作端末3は、同図の(d)に示すUI画面を表示する。このUI画面では、指定済みのトリガイベント(TV ON)を第2トリガ設定項目52に表示している(同図の52’)。また、指定された時間を示す設定時間項目55も表示している。なお、図示の例では、3つ目のトリガイベントの指定を受け付ける項目は表示されていないが、指定済みのトリガイベントやアクションに組み合わせることのできるトリガイベントが存在する限り、3つ目以降のトリガイベントの指定を受け付けてもよい。3つ目以降のアクションについても同様である。
 図8の(d)のUI画面において、ユーザが第2アクション設定項目54を選択してアクションの候補を表示させ、その中からTV発話「ねぎらい」を選択すると、操作端末3は、同図の(e)に示すUI画面を表示する。このUI画面では、第2アクション設定項目54に指定済みのアクション(TV発話「ねぎらい」)を表示している(同図の54’)。また、第2アクション設定項目54’は、指定済みのアクションを示す項目であるから、同図の(c)の第1アクション設定項目53’と同様に外枠を二重線としている。
 ユーザは、以上のようなUI画面にて所望のトリガイベント、アクション、および時間を指定して、所望の連携ルールを生成することができる。無論、連携ルールを生成する際のUI画面は、ユーザが所望のトリガ、アクション、および時間を指定できるようなものであればよく、上記の例に限られない。
 設定済みの連携ルールは、操作端末3にてユーザが確認できるようにすることが好ましく、その際の表示画面は例えば図10のようなものであってもよい。図10は、設定済みの連携ルールをユーザに提示する表示画面の一例を示す図である。図10の画面例には、識別情報表示項目70、優先度表示項目71、第1トリガ表示項目72、第1アクション表示項目73、第2トリガ表示項目74、第2アクション表示項目75、および設定時間表示項目76が含まれている。なお、識別情報表示項目70には、連携ルールの識別情報(この例では連携ルール名)を表示する。
 図10の例では、図8のUI画面の例と同様に、設定されたアクションを示す第1アクション表示項目73および第2アクション表示項目75は、外枠を二重線としている。また、図10の例では、第1トリガ表示項目72、第1アクション表示項目73、および第2トリガ表示項目74には、それらのトリガおよびアクションの発生順を示す番号がそれぞれ付されている。そして、これら3つの項目の側方には、設定時間表示項目76が配置されている。よって、ユーザは、これら3つの項目のトリガおよびアクションが、上記番号の順序で、設定時間表示項目76に示される設定時間内に行われる必要があることを一目で認識することができる。
 また、上記3つの項目およびその側方の設定時間表示項目76に続いて、第2アクション表示項目75が表示されている。これにより、上記3つの項目のトリガおよびアクションが設定時間表示項目76に示される設定時間内に行われることにより、最終的に第2アクション表示項目75のアクションが行われることを、ユーザに一目で認識させることができる。このような表示画面は、連携サーバ1の例えばルール生成部102が生成して操作端末3に表示させてもよいし、ルール設定部301が設定した(連携サーバ1に通知した)内容に基づいて操作端末3の例えばルール設定部301が生成して表示してもよい。
 〔処理の流れ(連携ルール生成)〕
 次に、連携ルールを生成する際の操作端末3および連携サーバ1の処理の流れを図11に基づいて説明する。図11は、連携ルールを生成する際の操作端末3および連携サーバ1の処理(端末装置の制御方法およびルール生成サーバの制御方法)の一例を示すフローチャートである。なお、同図では、操作端末3のルール設定部301が、表示部33に連携ルール生成のためのUI画面(図8参照)を表示し、該UI画面に対するユーザの入力操作を受け付けた後の処理を示している。
 まず、ルール設定部301は、UI画面に対する入力操作の内容が、優先度設定であるか、トリガ設定であるか、あるいはアクション設定であるかを判定する(S10)。例えば、図8の(a)のUI画面を表示した場合、優先度設定項目50が選択されたときに、入力操作の内容が優先度設定であると判定し、第1トリガ設定項目51が選択されたときに、入力操作の内容がトリガ設定であると判定する。また、例えば、図8の(b)のUI画面を表示した場合、第1アクション設定項目53が選択されたときに、入力操作の内容がアクション設定であると判定する。
 S10で優先度設定であると判定した場合、ルール設定部301は、ユーザによる優先度の入力(指定)を受け付け(S18)、S15の処理に進む。そして、S15では、ルール設定部301は、UI画面を更新して、受け付けた入力内容を反映させる。例えば、優先度が10に設定された場合には、ルール設定部301は、図8の(b)に示すように、設定された優先度の値「10」を表示する。この後、処理はS16に進む。
 一方、S10でルール設定部301がトリガ設定であると判定した場合、候補取得部302は、連携サーバ1からトリガイベントの候補を取得して表示部33に表示する(S11)。この際、候補取得部302は、条件を指定してトリガイベントの候補を取得してもよい。例えば、操作端末3のユーザのユーザIDを連携サーバ1に通知して、該ユーザIDのユーザが選択可能なトリガイベントの候補を取得してもよい。また、先行のトリガイベントまたはアクションが指定済みであれば、それらを連携サーバ1に通知して、それらと組み合わせ可能なトリガイベントの候補を取得し、表示してもよい(図9の(a)参照)。
 続いて、ルール設定部301は、ユーザによるトリガイベントの入力(指定)を受け付ける(S12、ルール設定ステップ)。ここで、ルール設定部301は、S12で入力を受け付けたトリガイベントが、2つ目以降のトリガイベントであるか否かを判定する(S13)。そして、S12で入力を受け付けたトリガイベントが1つ目のトリガイベントであれば(S13でNO)、処理はS15に進む。一方、S12で入力を受け付けたトリガイベントが2つ目以降のトリガイベントであれば(S13でYES)、ルール設定部301は、設定時間の入力を受け付けて(S14、ルール設定ステップ)、S15の処理に進む。
 S13またはS14の後のS15では、ルール設定部301は、UI画面を更新して、受け付けた入力内容を反映させると共に、次のアクションまたはトリガを指定する入力操作を受け付けることができるようにする。例えば、ルール設定部301は、1つ目のトリガイベントの設定を受け付けた場合、図8の(b)に示すように、設定済みのトリガイベントを第1トリガ設定項目51’に表示すると共に、第2トリガ設定項目52および第1アクション設定項目53を表示する。この後、処理はS16に進む。
 また、S10でルール設定部301がアクション設定であると判定した場合、候補取得部302は、連携サーバ1からアクションの候補を取得して表示部33に表示する(S19)。この際、候補取得部302は、条件を指定してアクションの候補を取得してもよい。例えば、操作端末3のユーザのユーザIDを連携サーバ1に通知して、該ユーザIDのユーザが選択可能なアクションの候補を取得してもよい。また、先行のトリガイベントまたはアクションが設定済みであれば、それらを連携サーバ1に通知して、それらと組み合わせ可能なアクションの候補を取得し、表示してもよい(図9の(b)参照)。そして、S19の後、ルール設定部301は、ユーザによるアクションの入力(指定)を受け付けて(S20、ルール設定ステップ)、S15の処理に進む。
 S20の後のS15では、ルール設定部301は、UI画面を更新して、受け付けた入力内容を反映させると共に、次のアクションまたはトリガイベントを指定する入力操作を受け付けることができるようにする。例えば、ルール設定部301は、1つ目のアクションの設定を受け付けた場合、図8の(c)に示すように、設定済みのアクションを第1アクション設定項目53’に表示すると共に、第2トリガ設定項目52および第2アクション設定項目54を表示する。この後、処理はS16に進む。
 S16では、ルール設定部301は、連携ルールの設定を終了するユーザ操作が行われたか判定する。ここで、ルール設定部301が連携ルールの設定を終了するユーザ操作が行われたと判定した場合(S16でYES)、情報通知部300は、これまでに受け付けた入力内容(トリガ、アクション、設定時間、トリガイベントの順序など)を連携サーバ1に通知する(S17、情報通知ステップ)。これにより、操作端末3の処理は終了する。なお、受け付けた入力内容は、本例のように設定終了時にまとめて通知してもよいし、入力を受け付けたタイミングで逐次通知してもよい。
 一方、連携ルールの設定を終了するユーザ操作が行われていないと判定した場合(S16でNO)、ルール設定部301は、S10の処理に戻って連携ルールの生成に関する各種情報の入力を受け付ける。
 続いて、連携サーバ1の処理を説明する。上述のように、操作端末3はトリガイベントの候補の送信を連携サーバ1に要求するので、連携サーバ1の候補通知部101は、この要求に応じたトリガイベントの候補を操作端末3に通知する(S30)。また、上述のように、操作端末3はアクションの候補の送信を連携サーバ1に要求するので、連携サーバ1の候補通知部101は、この要求に応じたアクションの候補を操作端末3に通知する(S31)。
 そして、上述のように操作端末3は受け付けた入力内容を連携サーバ1に通知するので、連携サーバ1の設定受付部100は、この通知を受信する(S32、受付ステップ)。この後、ルール生成部102が、上記入力内容に含まれる各情報を対応付けて連携ルールを生成し(S33、ルール生成ステップ)、連携ルール管理情報111に登録して、連携サーバ1の処理は終了する。
 〔実施形態5〕
 上記各実施形態では、1つの連携サーバ1を用いる例を説明したが、連携サーバ1の有する各機能が、個別のサーバにて実現されていてもよい。そして、複数のサーバを適用する場合においては、各サーバは、同じ事業者によって管理されていてもよいし、異なる事業者によって管理されていてもよい。これは、機器制御サーバ2等の上述の各サーバについても同様である。
 なお、上記各サーバは、1台のコンピュータからなる計算機システムであってもよいし、複数のコンピュータ、データベース、およびロードバランサなど一群のコンピュータからなるシステムであってもよい。つまり、上記各サーバは、物理的な1つの塊(装置)で所定の機能を実現するものであってもよいし、論理的な1つの塊(複数の装置からなるもの)で所定の機能を実現するものであってもよい。
 〔実施形態6〕
 連携サーバ1および操作端末3の各ブロックは、集積回路(ICチップ)等に形成された論理回路(ハードウェア)によって実現してもよいし、CPU(Central Processing Unit)を用いてソフトウェアによって実現してもよい。後者の場合、連携サーバ1および操作端末3のそれぞれを、図12に示すようなコンピュータ(電子計算機)を用いて構成することができる。
 図12は、連携サーバ1および操作端末3として利用可能なコンピュータ910の構成を例示したブロック図である。コンピュータ910は、バス911を介して互いに接続された演算装置912と、主記憶装置913と、補助記憶装置914と、入出力インターフェース915と、通信インターフェース916とを備えている。演算装置912、主記憶装置913、および補助記憶装置914は、それぞれ、例えばCPU、RAM(random access memory)、ハードディスクドライブであってもよい。入出力インターフェース915には、ユーザがコンピュータ910に各種情報を入力するための入力装置920、および、コンピュータ910がユーザに各種情報を出力するための出力装置930が接続される。入力装置920および出力装置930は、コンピュータ910に内蔵されたものであってもよいし、コンピュータ910に接続された(外付けされた)ものであってもよい。例えば、入力装置920は、キーボード、マウス、タッチセンサなどであってもよく、出力装置930は、ディスプレイ、プリンタ、スピーカなどであってもよい。また、タッチセンサとディスプレイとが一体化されたタッチパネルのような、入力装置920および出力装置930の双方の機能を有する装置を適用してもよい。そして、通信インターフェース916は、コンピュータ910が外部の装置と通信するためのインターフェースである。
 補助記憶装置914には、コンピュータ910を連携サーバ1または操作端末3として動作させるための各種のプログラムが格納されている。そして、演算装置912は、補助記憶装置914に格納された上記プログラムを主記憶装置913上に展開して該プログラムに含まれる命令を実行することによって、コンピュータ910を、連携サーバ1または操作端末3が備える各部として機能させる。なお、補助記憶装置914が備える、プログラム等の情報を記録する記録媒体は、コンピュータ読み取り可能な「一時的でない有形の媒体」であればよく、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブル論理回路などであってもよい。
 また、上記プログラムは、コンピュータ910の外部から取得してもよく、この場合、任意の伝送媒体(通信ネットワークや放送波等)を介して取得してもよい。そして、本発明は、上記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
 〔まとめ〕
 本発明の態様1に係る動作実行制御サーバ(連携サーバ1)は、動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って、上記動作実行サービスに上記アクションを実行させる動作実行制御サーバであって、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記動作実行制御サーバは、イベント検出部(103)と動作実行制御部(アクション実行制御部)とを備え、上記イベント検出部は、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出し、上記動作実行制御部は、上記イベント検出部が、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させる。
 上記の構成によれば、連携ルールにてトリガに設定されている複数のイベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、当該連携ルールに示されるアクションを実行させる。よって、所定時間内に複数のイベントが発生した状況において、その状況に応じたアクションを実行させることができるという効果を奏する。なお、上記イベントは、ユーザの行動に起因するイベントであることが好ましい。これにより、ユーザが所定時間内に複数の所定の行動をおこした状況において、その状況に応じたアクションを実行させることができる。
 本発明の態様2に係る動作実行制御サーバは、上記態様1において、上記連携ルールでは、複数の上記イベントの発生順が規定されており、上記動作実行制御部は、上記イベント検出部が、規定されている上記発生順で複数の上記イベントが発生したことを検出した場合に、上記動作実行サービスに上記アクションを実行させてもよい。
 上記の構成によれば、連携ルールに規定されている発生順で複数のイベントが発生したことを検出した場合にアクションを実行させる。よって、複数のイベントが所定順で発生した状況において、その状況に応じたアクションを実行させることができる。例えば、リビングのドアが解放されるイベントの後、玄関のドアが開放されるイベントが発生したときには、見送りのメッセージ(いってらっしゃい等)を所定の機器に発話させることができる。そして、その一方で、玄関のドアが解放されるイベントの後、リビングのドアが解放されるイベントが発生したときには、出迎えのメッセージ(お帰りなさい等)を所定の機器に発話させることができる。
 本発明の態様3に係る動作実行制御サーバは、上記態様1または2において、上記動作実行制御部は、複数の上記連携ルールに規定された各アクションを実行させるべき状態となった場合に、当該各アクションのうち何れか1つを実行させるか、または何れも実行させない構成であってもよい。
 上記の構成によれば、複数の連携ルールに規定された各アクションを実行させるべき状態となった場合に、当該各アクションのうち何れか1つを実行させるか、または何れも実行させない。よって、複数のアクションが同時に実行される、あるいは複数のアクションの実行指示が同時になされることによって問題が生じることを回避することができる。例えば、複数の機器が同時に発話することにより、それぞれの発話内容をユーザに聞き取りにくくなることや、同時に複数のアクションの実行指示を受信することにより、該指示を受信した機器の情報処理の負荷が過大になること等を回避することができる。
 なお、何れか1つのアクションを実行させる場合には、過去の使用回数(アクションを実行させた回数)がより多い連携ルールのアクションを実行させてもよい。これにより、過去の経緯からみて、よりユーザにとって望ましいと考えられるアクションを実行させることができる。
 また、何れか1つのアクションを実行させる場合には、予め設定された優先度がより高い連携ルールのアクションを実行させてもよい。この場合、優先度はユーザが設定できるようにしてもよく、これによりユーザの意図に沿った連携ルールのアクションを優先して実行させることができる。
 本発明の態様4に係る動作実行制御サーバは、上記態様1から3の何れかにおいて、複数の上記イベントには、上記アクションとは異なるアクションを実行させるイベントであるアクションイベントが含まれており、上記動作実行制御部は、上記アクションイベントの上記アクションを上記動作実行サービスまたは他の動作実行サービスに実行させ、上記イベント検出部は、上記動作実行制御部が上記アクションイベントの上記アクションを実行させたことを、当該アクションイベントの発生として検出してもよい。
 上記の構成によれば、連携ルールに規定されている複数のイベントにはアクションイベントが含まれている。そして、該アクションイベントのアクションを実行させたことを、該アクションイベントが発生として検出する。よって、アクションイベントが発生したことを条件として、連携ルールに規定されているアクションを実行させることができる。この態様は、連携ルールに規定されているアクションを実行させる前提として、アクションイベントのアクションが実行済みであることが必要である(あるいは好ましい)場合に有用である。
 本発明の態様5に係る動作実行制御サーバは、上記態様4において、上記動作実行制御部は、上記イベント検出部が、複数の上記イベントのうち上記アクションイベントの発生を検出せず、該アクションイベントを除く残り全ての発生を検出した場合に、上記アクションイベントの上記アクションの代替アクションを上記動作実行サービスまたは他の動作実行サービスに実行させてもよい。
 上記の構成によれば、複数のイベントのうちアクションイベントを除く残り全ての発生を検出した場合に、アクションイベントのアクションの代替アクションを上記動作実行サービスまたは他の動作実行サービスに実行させる。よって、アクションイベントのアクションが実行されなかったことを、その代替アクションを実行することでカバーすることができる。
 なお、代替アクションは、アクションイベントのアクションが実行されなかった場合に、その代わりに実行する意義のあるアクションであればよい。例えばアクションイベントのアクションが所定の機器に所定のメッセージを発話させるアクションである場合には、他の機器に上記所定のメッセージを発話させるアクションを代替アクションとしてもよい。
 本発明の態様6に係るルール生成サーバ(連携サーバ1)は、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバ(連携サーバ1)が使用する上記連携ルールを生成するルール生成サーバであって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、上記ルール生成サーバは、受付部(設定受付部100)とルール生成部(102)とを備え、上記受付部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置(操作端末3)から受け付け、上記ルール生成部は、上記受付部が受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成する。
 上記の構成によれば、端末装置から受け付けた、アクションと複数のイベントと時間とを対応付けた連携ルールを生成する。よって、生成した連携ルールを動作実行制御サーバに使用させ、所定時間内に複数のイベントが発生した状況において、その状況に応じたアクションを実行させることができるという効果を奏する。なお、ルール生成サーバと動作実行制御サーバは、一体の装置であってもよいし、別体の装置であってもよい。
 本発明の態様7に係るルール生成サーバは、上記態様6において、上記受付部が、複数の上記イベントの1つの指定を受け付けた場合に、該イベントと共に上記トリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを上記端末装置に通知する候補通知部(101)を備えていてもよい。
 上記の構成によれば、複数のイベントの1つの指定を受け付けた場合に、該イベントと共に上記トリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを端末装置に通知する。よって、端末装置のユーザに、連携ルールに含めるべきイベントおよびアクションを、これらのイベントおよびアクションの中から選択させることができる。
 本発明の態様8に係る端末装置(操作端末3)は、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、上記端末装置は、ルール設定部(301)と情報通知部(300)とを備え、上記ルール設定部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付け、上記情報通知部は、上記ルール設定部が受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させる。
 上記の構成によれば、ユーザから受け付けた、アクションと複数のイベントと時間とを対応付けた連携ルールをルール生成サーバに生成させる。よって、生成させた連携ルールを動作実行制御サーバに使用させ、所定時間内に複数のイベントが発生した状況において、その状況に応じたアクションを実行させることができるという効果を奏する。
 本発明の態様9に係る端末装置は、上記態様8において、複数の上記イベントには、上記アクションとは異なるアクションを上記動作実行サービスまたは他の動作実行サービスに実行させるイベントであるアクションイベントを少なくとも1つ含めることが可能であり、上記ルール設定部は、上記アクションイベントの指定を受け付けた場合に、該アクションイベントと共に上記トリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを上記ユーザに提示してもよい。
 本発明の態様10に係る連携システム(7)は、情報提供サーバ(5)と、機器制御サーバ(2)と、動作実行制御サーバ(連携サーバ1)と、制御対象機器(機器4)とを含む連携システムであって、上記動作実行制御サーバは、上記制御対象機器に実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記アクションを実行させるものであり、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記情報提供サーバは、上記イベントに関する情報を上記動作実行制御サーバに送信し、上記動作実行制御サーバは、上記情報提供サーバから送信される上記情報に基づいて複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記機器制御サーバを介して上記制御対象機器に上記アクションを実行させる。該連携システムによれば、上記態様1と同様の効果を奏する。
 本発明の態様11に係る動作実行制御サーバの制御方法は、動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って、上記動作実行サービスに上記アクションを実行させる動作実行制御サーバの制御方法であって、上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、上記動作実行制御サーバの制御方法は、イベント検出ステップ(S1)と動作実行制御ステップ(S4)とを含み、上記イベント検出ステップは、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出するステップであり、上記動作実行制御ステップは、上記イベント検出ステップにて、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させるステップである。該制御方法によれば、上記態様1と同様の効果を奏する。
 本発明の態様12に係るルール生成サーバの制御方法は、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールを生成するルール生成サーバの制御方法であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、上記ルール生成サーバの制御方法は、受付ステップ(S32)とルール生成ステップ(S33)とを含み、上記受付ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置から受け付けるステップであり、上記ルール生成ステップは、上記受付ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成するステップである。該制御方法によれば、上記態様6と同様の効果を奏する。
 本発明の態様13に係る端末装置の制御方法は、連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置の制御方法であって、上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、上記端末装置の制御方法は、ルール設定ステップ(S12、S14、S20)と情報通知ステップ(S17)とを含み、上記ルール設定ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付けるステップであり、上記情報通知ステップは、上記ルール設定ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させるステップである。該制御方法によれば、上記態様8と同様の効果を奏する。
 本発明の各態様に係る動作実行制御サーバ、ルール生成サーバ、および端末装置は、コンピュータによって実現してもよく、この場合には、コンピュータを上記動作実行制御サーバ、ルール生成サーバ、または端末装置が備える各部(ソフトウェア要素)として動作させることにより上記動作実行制御サーバ、ルール生成サーバ、または端末装置をコンピュータにて実現させる制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
 本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。さらに、各実施形態にそれぞれ開示された技術的手段を組み合わせることにより、新しい技術的特徴を形成することができる。
  1 連携サーバ(ルール生成サーバ)
100 設定受付部(受付部)
101 候補通知部
102 ルール生成部
105 アクション実行制御部(動作実行制御部)
  2 機器制御サーバ
  3 操作端末(端末装置)
300 情報通知部
301 ルール設定部
  4 機器(制御対象機器)
  5 情報提供サーバ
  7 連携システム

Claims (14)

  1.  動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記動作実行サービスに上記アクションを実行させる動作実行制御サーバであって、
     上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、
     上記動作実行制御サーバは、イベント検出部と動作実行制御部とを備え、
     上記イベント検出部は、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出し、
     上記動作実行制御部は、上記イベント検出部が、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させる。
  2.  請求項1に記載の動作実行制御サーバでは、
     上記連携ルールでは、複数の上記イベントの発生順が規定されており、
     上記動作実行制御部は、上記イベント検出部が、規定されている上記発生順で複数の上記イベントが発生したことを検出した場合に、上記動作実行サービスに上記アクションを実行させる。
  3.  請求項1または2に記載の動作実行制御サーバでは、
     上記動作実行制御部は、複数の上記連携ルールに規定された各アクションを実行させるべき状態となった場合に、当該各アクションのうち何れか1つを実行させるか、または何れも実行させない。
  4.  請求項1から3の何れか1項に記載の動作実行制御サーバでは、
     複数の上記イベントには、上記アクションとは異なるアクションを実行させるイベントであるアクションイベントが含まれており、
     上記動作実行制御部は、上記アクションイベントの上記アクションを上記動作実行サービスまたは他の動作実行サービスに実行させ、
     上記イベント検出部は、上記動作実行制御部が上記アクションイベントの上記アクションを実行させたことを、当該アクションイベントの発生として検出する。
  5.  請求項4に記載の動作実行制御サーバでは、
     上記動作実行制御部は、上記イベント検出部が、複数の上記イベントのうち上記アクションイベントの発生を検出せず、該アクションイベントを除く残り全ての発生を検出した場合に、上記アクションイベントの上記アクションの代替アクションを上記動作実行サービスまたは他の動作実行サービスに実行させる。
  6.  連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールを生成するルール生成サーバであって、
     上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、
     上記ルール生成サーバは、受付部とルール生成部とを備え、
     上記受付部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置から受け付け、
     上記ルール生成部は、上記受付部が受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成する。
  7.  請求項6に記載のルール生成サーバは、さらに候補通知部を備え、
     上記候補通知部は、上記受付部が、複数の上記イベントの1つの指定を受け付けた場合に、該イベントと共に上記トリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを上記端末装置に通知する。
  8.  連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置であって、
     上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、
     上記端末装置は、ルール設定部と情報通知部とを備え、
     上記ルール設定部は、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付け、
     上記情報通知部は、上記ルール設定部が受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させる。
  9.  請求項8に記載の端末装置では、
     複数の上記イベントには、上記アクションとは異なるアクションを上記動作実行サービスまたは他の動作実行サービスに実行させるイベントであるアクションイベントを少なくとも1つ含めることが可能であり、
     上記ルール設定部は、上記アクションイベントの指定を受け付けた場合に、該アクションイベントと共に上記トリガとすることのできるイベント、および該トリガにより実行させることのできるアクションの少なくとも何れかを上記ユーザに提示する。
  10.  情報提供サーバと、機器制御サーバと、動作実行制御サーバと、制御対象機器とを含む連携システムであって、
     上記動作実行制御サーバは、上記制御対象機器に実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記アクションを実行させるものであり、
     上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、
     上記情報提供サーバは、上記イベントに関する情報を上記動作実行制御サーバに送信し、
     上記動作実行制御サーバは、上記情報提供サーバから送信される上記情報に基づいて複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記機器制御サーバを介して上記制御対象機器に上記アクションを実行させる。
  11.  動作実行サービスに実行させるアクションと該アクションを実行させるトリガとを示す連携ルールに従って上記動作実行サービスに上記アクションを実行させる動作実行制御サーバの制御方法であって、
     上記連携ルールでは、複数のイベントの発生が1つの上記アクションに対応するトリガに設定されており、
     上記動作実行制御サーバの制御方法は、イベント検出ステップと動作実行制御ステップとを含み、
     上記イベント検出ステップは、情報提供サービスから受信した情報に基づいて複数の上記イベントのそれぞれの発生を検出するステップであり、
     上記動作実行制御ステップは、上記イベント検出ステップにて、複数の上記イベントの1つの発生を検出した後、所定時間内に複数の上記イベントの残り全ての発生を検出した場合に、上記動作実行サービスに上記アクションを実行させるステップである。
  12.  連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールを生成するルール生成サーバの制御方法であって、
     上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて発生が検出されるイベントを複数規定することが可能であり、
     上記ルール生成サーバの制御方法は、受付ステップとルール生成ステップとを含み、
     上記受付ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録する端末装置から受け付けるステップであり、
     上記ルール生成ステップは、上記受付ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成するステップである。
  13.  連携ルールに従って動作実行サービスにアクションを実行させる動作実行制御サーバが使用する上記連携ルールをルール生成サーバに生成させる端末装置の制御方法であって、
     上記連携ルールには、上記アクションを実行させるトリガとして、情報提供サービスから上記動作実行制御サーバに送信される情報に基づいて、該動作実行制御サーバにて発生が検出されるイベントを複数規定することが可能であり、
     上記端末装置の制御方法は、ルール設定ステップと情報通知ステップとを含み、
     上記ルール設定ステップは、上記アクションの指定と、複数の上記イベントの指定と、複数の該イベントの1つの発生を検出した後、複数の該イベントの残り全ての発生を検出するまでの上限の時間の指定とを、上記連携ルールを登録するユーザから受け付けるステップであり、
     上記情報通知ステップは、上記ルール設定ステップにて受け付けた、上記アクションと複数の上記イベントと上記時間とを上記ルール生成サーバに通知して、上記アクションと複数の上記イベントと上記時間とを対応付けた上記連携ルールを生成させるステップである。
  14.  請求項8または9に記載の端末装置としてコンピュータを機能させるための制御プログラムであって、上記ルール設定部および上記情報通知部としてコンピュータを機能させるための制御プログラム。
PCT/JP2016/077304 2015-12-01 2016-09-15 動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム WO2017094323A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680061476.3A CN108292274B (zh) 2015-12-01 2016-09-15 动作执行控制服务器以及其控制方法和协作系统
US15/757,813 US10666450B2 (en) 2015-12-01 2016-09-15 Operation execution control server, rule generation server, terminal device, linkage system, method for controlling operation execution control server, method for controlling rule generation server, method for controlling terminal device, and computer-readable recording medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-234722 2015-12-01
JP2015234722A JP6495154B2 (ja) 2015-12-01 2015-12-01 動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム

Publications (1)

Publication Number Publication Date
WO2017094323A1 true WO2017094323A1 (ja) 2017-06-08

Family

ID=58796896

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/077304 WO2017094323A1 (ja) 2015-12-01 2016-09-15 動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム

Country Status (4)

Country Link
US (1) US10666450B2 (ja)
JP (1) JP6495154B2 (ja)
CN (1) CN108292274B (ja)
WO (1) WO2017094323A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7199873B2 (ja) * 2018-08-13 2023-01-06 キヤノン株式会社 制御装置、制御方法およびプログラム
US11184162B1 (en) * 2018-09-28 2021-11-23 NortonLifeLock Inc. Privacy preserving secure task automation
JP2020071570A (ja) * 2018-10-30 2020-05-07 ファナック株式会社 データ作成装置、デバッグ装置、データ作成方法及びデータ作成プログラム
JP2020134553A (ja) * 2019-02-13 2020-08-31 シャープ株式会社 電子機器、制御装置、制御方法、および制御プログラム
KR20210096811A (ko) * 2020-01-29 2021-08-06 삼성전자주식회사 로봇 및 이의 제어 방법
JP7407681B2 (ja) * 2020-09-24 2024-01-04 株式会社東芝 電子装置及びシステム
JP2023159993A (ja) 2022-04-21 2023-11-02 キヤノン株式会社 監視装置、監視方法、コンピュータプログラム、及び記憶媒体
CN117278384B (zh) * 2023-11-21 2024-03-15 千巡科技(深圳)有限公司 一种基于规则链的联动告警实现方法、系统和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145875A (ja) * 2002-09-30 2004-05-20 Shikoku Electric Power Co Inc 多数の見守りからの情報を送受信し処理する方法およびそれを実施するための装置
JP2008033618A (ja) * 2006-07-28 2008-02-14 Hitachi Ltd マネージャ装置、制御方法、及び、制御プログラム
JP2015144027A (ja) * 2015-04-24 2015-08-06 シャープ株式会社 メッセージ発信サーバ、メッセージ発信方法、および端末
US20150309493A1 (en) * 2014-04-29 2015-10-29 Cox Communications, Inc. Systems and methods for development of an automation control service

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030087665A1 (en) * 1999-12-13 2003-05-08 Tokkonen Timo Tapani Reminder function for mobile communication device
JP2002092194A (ja) 2000-09-14 2002-03-29 Fujitsu Ltd 制御情報管理方法,制御対象物制御方法,記録媒体,制御情報管理サーバ及び制御情報管理システム
JP2006342978A (ja) 2005-06-07 2006-12-21 Daikin Ind Ltd 空調システム
JP2010152708A (ja) 2008-12-25 2010-07-08 Optim Corp 電子機器、情報表示システム、および情報表示方法
AU2011332881B2 (en) * 2010-11-24 2016-06-30 LogRhythm Inc. Advanced intelligence engine
KR20140032262A (ko) 2012-09-06 2014-03-14 엘지전자 주식회사 가전제품 및 이를 포함하여 이루어지는 온라인 시스템
US9654434B2 (en) * 2012-10-01 2017-05-16 Sharp Kabushiki Kaisha Message originating server, message orginating method, terminal, electric appliance control system, and electric appliance
US20140180488A1 (en) 2012-12-26 2014-06-26 Kabushiki Kaisha Toshiba Electronic apparatus, and control method and control program of the same
US10701048B2 (en) 2013-04-17 2020-06-30 Panasonic Intellectual Property Management Co., Ltd. Network service intermediation method and intermediation system
JP5562468B1 (ja) 2013-04-26 2014-07-30 三菱電機株式会社 コントローラ、エネルギーマネジメントシステム、遠隔制御方法、及び、プログラム
CN104516283B (zh) 2013-09-27 2018-08-24 夏普株式会社 控制装置、被控制设备、控制方法、控制系统以及报知设备
JP5813718B2 (ja) 2013-09-27 2015-11-17 シャープ株式会社 制御装置、制御方法、および制御プログラム
CN104142659B (zh) 2013-11-12 2017-02-15 珠海优特物联科技有限公司 一种智能家居场景切换方法及系统
CN104378886A (zh) 2014-11-14 2015-02-25 生迪光电科技股份有限公司 一种智能照明控制系统及方法
JP6497624B2 (ja) 2015-06-15 2019-04-10 パナソニックIpマネジメント株式会社 スイッチ、機器制御システム、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004145875A (ja) * 2002-09-30 2004-05-20 Shikoku Electric Power Co Inc 多数の見守りからの情報を送受信し処理する方法およびそれを実施するための装置
JP2008033618A (ja) * 2006-07-28 2008-02-14 Hitachi Ltd マネージャ装置、制御方法、及び、制御プログラム
US20150309493A1 (en) * 2014-04-29 2015-10-29 Cox Communications, Inc. Systems and methods for development of an automation control service
JP2015144027A (ja) * 2015-04-24 2015-08-06 シャープ株式会社 メッセージ発信サーバ、メッセージ発信方法、および端末

Also Published As

Publication number Publication date
US10666450B2 (en) 2020-05-26
US20190036723A1 (en) 2019-01-31
JP6495154B2 (ja) 2019-04-03
CN108292274B (zh) 2021-08-03
CN108292274A (zh) 2018-07-17
JP2017102644A (ja) 2017-06-08

Similar Documents

Publication Publication Date Title
JP6495154B2 (ja) 動作実行制御サーバ、ルール生成サーバ、端末装置、連携システム、動作実行制御サーバの制御方法、ルール生成サーバの制御方法、端末装置の制御方法、および制御プログラム
US11822857B2 (en) Architecture for a hub configured to control a second device while a connection to a remote system is unavailable
US10818289B2 (en) Method for operating speech recognition service and electronic device for supporting the same
CN111447123B (zh) 一种智慧家居的配置方法、装置、电子设备及介质
KR20200012933A (ko) 어시스턴트 애플리케이션을 위한 음성 사용자 인터페이스 단축
US20200110577A1 (en) User-Adaptive Volume Selection
US11749278B2 (en) Recommending automated assistant action for inclusion in automated assistant routine
JP6461738B2 (ja) 連携システムおよび機器制御サーバ
CN113424215A (zh) 用于在电子装置中管理日程的设备和方法
JP2015227951A (ja) 発話装置、発話制御装置、発話制御システム、発話装置の制御方法、発話制御装置の制御方法、および制御プログラム
JP6669942B2 (ja) 連携システム、連携サーバ、および機器制御サーバ
JP6215242B2 (ja) 情報送信装置、情報送信装置の制御方法、制御プログラム、および記録媒体
CN109599100A (zh) 交互式电子设备控制系统、交互式电子设备及其控制方法
US20210200597A1 (en) Information processing device, information processing method, and program
CN109427332B (zh) 使用语音命令执行操作的电子设备及其操作方法
WO2019225109A1 (ja) 情報処理装置、情報処理方法および情報処理プログラム
JP2017102645A (ja) 登録補助装置、端末装置、登録補助システム、登録補助装置の制御方法、端末装置の制御方法、および制御プログラム
WO2014156295A1 (ja) 情報処理装置、情報処理システム、及び情報処理方法
JP6678535B2 (ja) カラオケシステム
CN106028221B (zh) 一种控制时间同步的方法及智能音箱
JP7320767B2 (ja) 情報提示方法、プログラム、及び情報提示システム
JP2017212739A (ja) 連携システム
US11860598B2 (en) Control system and control method
JP2017097299A (ja) カラオケ装置及びカラオケシステム
JP2022130218A (ja) サーバ装置、表示装置、及び、表示制御方法

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16870263

Country of ref document: EP

Kind code of ref document: A1