JP6615628B2 - Control method, control device, and program - Google Patents
Control method, control device, and program Download PDFInfo
- Publication number
- JP6615628B2 JP6615628B2 JP2016017793A JP2016017793A JP6615628B2 JP 6615628 B2 JP6615628 B2 JP 6615628B2 JP 2016017793 A JP2016017793 A JP 2016017793A JP 2016017793 A JP2016017793 A JP 2016017793A JP 6615628 B2 JP6615628 B2 JP 6615628B2
- Authority
- JP
- Japan
- Prior art keywords
- service
- control
- information
- identifying
- executed
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 43
- 238000012544 monitoring process Methods 0.000 claims description 116
- 238000001514 detection method Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 43
- 238000004891 communication Methods 0.000 description 38
- 238000010586 diagram Methods 0.000 description 28
- 238000001994 activation Methods 0.000 description 25
- 230000008859 change Effects 0.000 description 22
- 230000004913 activation Effects 0.000 description 21
- 238000003860 storage Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 15
- 230000003252 repetitive effect Effects 0.000 description 10
- 238000004378 air conditioning Methods 0.000 description 9
- 230000008094 contradictory effect Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 7
- 230000037430 deletion Effects 0.000 description 7
- 238000010438 heat treatment Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012552 review Methods 0.000 description 4
- 239000000470 constituent Substances 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Images
Landscapes
- Selective Calling Equipment (AREA)
Description
本発明は、ホームネットワークに接続された機器を制御するサービスの実行を制御する制御方法、制御装置、及びプログラムに関する。 The present invention relates to a control method, a control device, and a program for controlling execution of a service for controlling a device connected to a home network.
従来から、ホームネットワークに接続された機器を遠隔制御する複数のサービスを実行可能なホームコントローラが知られている。しかし、従来のホームコントローラでは、ホームネットワークに接続された機器を制御する複数のサービスによって、同一の機器に対して矛盾した制御(例えば同一機器に対する電源のON・OFF)が同時に行われるという課題があった。 Conventionally, home controllers capable of executing a plurality of services for remotely controlling devices connected to a home network are known. However, the conventional home controller has a problem in that contradictory control (for example, power ON / OFF of the same device) is simultaneously performed on the same device by a plurality of services that control the devices connected to the home network. there were.
この課題を解決するため、新たなサービスをインストールする際に、インストール済みのサービスに設定されている機器の制御条件と、新たにインストールするサービスに設定される機器の制御条件とを解析し、矛盾した制御条件を検出することで、同一の機器に対して矛盾した制御を行う可能性のあるサービスを検出することが知られている(特許文献1参照)。 To solve this problem, when installing a new service, the device control conditions set for the installed service and the device control conditions set for the newly installed service are analyzed, and a contradiction occurs. It is known that a service that may cause contradictory control to the same device is detected by detecting the control condition (see Patent Document 1).
しかし、複数のサービスが同一の機器に対して矛盾した制御を行うことの検出には、さらなる改善が求められている。 However, further improvements are required to detect that multiple services perform contradictory controls on the same device.
本開示の一態様は、ネットワークに接続された機器を制御するサービスを2以上実行する制御装置における制御方法であって、実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、及び当該制御の内容に関する情報に基づき、一以上の前記機器の状態情報を管理し、同一の機器の前記状態情報に基づき、前記同一の機器に対する、第1のサービスによる第1の制御の実行と第2のサービスによる第2の制御の実行との繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることを検出し、前記繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることが検出された場合に、前記第1のサービスと前記第2のサービスの少なくとも一方を終了するための終了要求を発行する。 One aspect of the present disclosure is a control method in a control device that executes two or more services that control a device connected to a network, the information identifying the executed service, and the device controlled by the service information, and based on the information about the contents of the control, and manage the status information of one or more of the devices, based on the status information of the same device, against the same device, the first of the first service by repeating the execution of the second control by executing a second service control of said first of said first control by the service detects that it is running more than a predetermined number of times, by the repetition, the if the first control of the first service is detected to be running a predetermined number of times or more, small and the first service of the second service And also to issue a termination request to terminate one.
本開示によれば、複数のサービスによる実際の機器の制御内容に基づき、同一の機器に対する矛盾した制御の一形態である、繰り返し制御の検出及び解消が可能となる。 According to the present disclosure, it is possible to detect and eliminate repetitive control, which is a form of contradictory control for the same device, based on actual device control contents by a plurality of services.
(本発明の基礎となった知見)
サードパーティから提供されるサービスも含め、様々なサービスを利用してホームネットワークに接続された機器を制御する技術が検討されている。しかし、ユーザにとって様々なサービスを好みに合わせて利用したいというニーズがある一方で、サービスが制御対象とする機器の設定が、機器本体の純正リモコンによる操作や別サービスによる制御等他の手段により変更される可能性があるという問題もある。この問題に備え、各サービスは、制御対象の機器の状態を監視し、意図しない状態変化が発生した場合にサービスの終了や機器の再設定等の対応を行っている。
(Knowledge that became the basis of the present invention)
Techniques for controlling devices connected to a home network using various services including services provided by third parties are being studied. However, while there is a need for users to use various services according to their preferences, the settings of the devices that the services control are changed by other means such as operation with a genuine remote control of the device itself or control by another service There is also a problem that it may be done. In preparation for this problem, each service monitors the status of the device to be controlled, and responds such as termination of the service or resetting of the device when an unintended state change occurs.
機器の状態監視は、機器が各サービスに対して状態の変化を通知することで実現できる。状態変化の通知は、所謂イベント通知のようなもので、例えば、コールバック関数等を用いて実現される。複数のサービスが同一の機器を制御対象とする場合、当該機器の状態変化の通知を受けた各サービスは個々に対応を行う。このとき、各サービスが当該機器の再設定を行うと、複数のサービスにより当該機器の再設定が繰り返されるという所謂ループ制御(繰り返し制御)が発生する可能性がある。 Device status monitoring can be realized by the device notifying each service of a status change. The state change notification is a so-called event notification, and is realized using, for example, a callback function. When a plurality of services target the same device, each service that receives a notification of a change in the state of the device individually responds. At this time, if each service resets the device, so-called loop control (repetitive control) in which resetting of the device is repeated by a plurality of services may occur.
例えば、サービスAがエアコンを暖房25℃運転に設定した場合に、エアコンが暖房25℃運転を行う状態に変化したことの通知を受けて、サービスBがエアコンの電源をOFFにする再設定を行ったとする。この場合、サービスAは、エアコンが電源OFFの状態に変化したことの通知を受けて、再びエアコンを暖房25℃運転に設定する。このようにして、サービスAによるエアコンを暖房25℃運転に設定する制御とサービスBによるエアコンの電源をOFFにする制御とを繰り返すループ制御が発生する。 For example, when the service A sets the air conditioner to the heating 25 ° C. operation, the service B resets the air conditioner to be turned off in response to the notification that the air conditioner has changed to the heating 25 ° C. operation state. Suppose. In this case, the service A receives the notification that the air conditioner has changed to the power OFF state, and sets the air conditioner to the heating 25 ° C. operation again. In this way, a loop control is generated in which the control for setting the air conditioner by the service A to the heating 25 ° C. operation and the control for turning off the air conditioner by the service B are repeated.
このような課題に対し、上記特許文献1には、各制御プログラムの初期設定時に、各制御プログラムに設定された機器の制御条件をチェックし、矛盾した動作が発生するか否かを判定することが開示されている。そして、矛盾した動作が発生すると判定した場合には、ユーザに制御プログラムの優先度を設定させ、当該設定された優先度に基づいて実行する対象の制御プログラムを選択することで、矛盾した動作が発生するのを事前に回避することが開示されている。尚、特許文献1には、制御動作(機器の動作)を直接監視し、矛盾した動作が発生する場合にのみ、当該矛盾を解消するように制御してもよいことが開示されているが、具体的な実現方法については開示されていない。
In order to deal with such a problem, in
つまり、従来技術では、複数のサービスによる実際の機器の制御内容に基づき、同一の機器に対する矛盾した制御の検出と解消とを実現することに関して検討はされていなかった。 That is, in the prior art, no consideration has been given to realizing the detection and elimination of contradictory control for the same device based on the actual content of control of the device by a plurality of services.
本開示の目的は、複数のサービスによる実際の機器の制御内容に基づき、同一の機器に対する矛盾した制御の一形態である、繰り返し制御の検出及び解消が可能となる技術を提供することである。 An object of the present disclosure is to provide a technique capable of detecting and resolving repetitive control, which is a form of contradictory control for the same device, based on the actual content of control of the device by a plurality of services.
本開示の一態様による制御方法は、ネットワークに接続された機器を制御するサービスを2以上実行する制御装置における制御方法であって、実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、及び当該制御の内容に関する情報に基づき、一以上の前記機器の状態情報を管理し、同一の機器の前記状態情報に基づき、前記同一の機器に対する、第1のサービスによる第1の制御の実行と第2のサービスによる第2の制御の実行との繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることを検出し、前記繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることが検出された場合に、前記第1のサービスと前記第2のサービスの少なくとも一方を終了するための終了要求を発行する。 A control method according to an aspect of the present disclosure is a control method in a control device that executes two or more services that control devices connected to a network, and is information that identifies the executed services, controlled by the services information identifying the device, and based on the information about the contents of the control, and manage the status information of one or more of the devices, based on the status information of the same device, against the same device, the first service It is detected that the first control by the first service is executed a predetermined number of times or more by repeating the execution of the first control by the second service and the second control by the second service. Accordingly, the first of said first control by service when it is detected that is executed a predetermined number of times or more, the first service and the second Issues a termination request for terminating at least one of the-bis.
本構成によれば、サービスの実行によって実際に行われた機器の制御内容に基づき、第1のサービス及び第2のサービスの実行によって、同一機器に対する矛盾した制御の一形態である繰り返し制御が発生していることを検出することができる。 According to this configuration, repeated control, which is a form of contradictory control for the same device, is generated by executing the first service and the second service based on the control contents of the device actually performed by executing the service. Can be detected.
上記繰り返し制御の発生を検出した場合には、第1のサービス及び第2のサービスのうち少なくとも一方を終了するための終了要求を発行することで、当該少なくとも一方のサービスを終了させる。これにより、二個のサービスによって同時に同一機器に対する制御が行われることを解消することができる。その結果、上記繰り返し制御を解消することができる。 When the occurrence of the repetitive control is detected, at least one service is terminated by issuing a termination request for terminating at least one of the first service and the second service. Thereby, it is possible to eliminate the simultaneous control of the same device by two services. As a result, the repetitive control can be eliminated.
また、前記第1のサービス及び前記第2のサービスのうち、先に起動されたサービスに対して前記終了要求を発行することとしてもよい。 Moreover, it is good also as issuing the said completion | finish request | requirement with respect to the service started previously among the said 1st service and the said 2nd service.
第1のサービスの起動後、ユーザが第1のサービスよりも利用したいサービスとして第2のサービスを起動した場合に、第1のサービス及び第2のサービスによる制御の実行によって同一機器に対する繰り返し制御が発生したとする。本構成によれば、このような場合に、先行して起動された第1のサービスを終了させることにより、ユーザが利用したいと考える最近起動した第2のサービスを終了させることなく、上記繰り返し制御を解消することができる。 After the first service is started, when the user starts the second service as a service that the user wants to use more than the first service, the same device is repeatedly controlled by executing the control using the first service and the second service. Suppose that it occurred. According to this configuration, in such a case, by repeating the first service that was started in advance, the above-described repetitive control is performed without ending the recently started second service that the user wants to use. Can be eliminated.
また、前記第1のサービス及び前記第2のサービスのうち、後に起動されたサービスに対して前記終了要求を発行することとしてもよい。 Moreover, it is good also as issuing the said completion | finish request | requirement with respect to the service started later among the said 1st service and the said 2nd service.
第1のサービスの起動後に第2のサービスが起動された後、ユーザが引き続き第1のサービスを利用することを望んでいる場合に、第1のサービス及び第2のサービスによる制御の実行によって同一機器に対する繰り返し制御が発生したとする。本構成によれば、このような場合に、ユーザが引き続き利用することを望んでいる第1のサービスを終了させることなく、後に起動された第2のサービスを終了させて、当該繰り返し制御を解消することができる。 Same as the execution of control by the first service and the second service when the user wants to continue using the first service after the second service is started after the first service is started. Suppose that repeated control occurs on the device. According to this configuration, in such a case, the second service started later is terminated without terminating the first service that the user wants to continue using, and the repeated control is canceled. can do.
このため、ユーザは、望み通り、第1のサービスを引き続き利用しながら、後に起動された第2のサービスによる機器の制御内容を見直したり、今後起動するサービスを見直す等、繰り返し制御を発生させないための対処をとることができる。 For this reason, the user does not repeatedly generate control such as reviewing the control content of the device by the second service activated later or reviewing the service activated in the future while continuing to use the first service as desired. Can be dealt with.
また、前記第1のサービス及び前記第2のサービスのうち、予め設定されたサービス以外のサービスに対して前記終了要求を発行することとしてもよい。 In addition, the termination request may be issued to a service other than a preset service among the first service and the second service.
本構成によれば、第1(第2)のサービスを終了させたくない場合には、上記の予め設定されたサービスとして第1(第2)のサービスを予め設定しておくことができる。これにより、第1のサービス及び第2のサービスによる制御の実行によって同一機器に対する繰り返し制御が発生した場合でも、当該終了させたくない第1(第2)のサービスに対して終了要求が発行されることを回避することができる。 According to this configuration, when it is not desired to end the first (second) service, the first (second) service can be set in advance as the preset service. As a result, even if the same device is repeatedly controlled due to the execution of the control by the first service and the second service, a termination request is issued for the first (second) service that is not desired to be terminated. You can avoid that.
また、前記制御方法は、さらに、前記繰り返しの発生により前記終了要求が発行された旨をユーザに通知するための通知情報を発行することとしてもよい。 The control method may further issue notification information for notifying a user that the termination request has been issued due to the occurrence of the repetition.
本構成によれば、第1のサービス及び第2のサービスによる制御の実行によって、同一機器に対する繰り返し制御が発生したことにより、サービスが終了された旨をユーザに容易に確認させることができる。 According to this configuration, it is possible for the user to easily confirm that the service has been terminated due to repeated control of the same device due to execution of control by the first service and the second service.
また、前記通知情報は、さらに、前記繰り返しの発生の原因となったサービスを識別するための情報を含むこととしてもよい。 Further, the notification information may further include information for identifying the service that has caused the repetition.
本構成によれば、更に、同一機器に対する繰り返し制御の発生の原因となったサービスをユーザに容易に確認させることができる。 According to this configuration, it is further possible to allow the user to easily confirm the service that caused the repeated control for the same device.
また、前記通知情報は、さらに、前記繰り返しが発生している機器及び当該機器における制御内容を含むこととしてもよい。 Further, the notification information may further include a device in which the repetition occurs and a control content in the device.
本構成によれば、更に、繰り返し制御が行われた機器及び当該制御の内容をユーザに通知することができる。これにより、ユーザは、繰り返し制御の発生の原因となったサービスによる機器の制御の内容の見直しを行うことが容易となる。 According to this configuration, it is possible to notify the user of the device that has been repeatedly controlled and the content of the control. This makes it easy for the user to review the contents of device control by the service that caused the repeated control.
また、起動された前記サービスを識別する情報、当該サービスを起動したユーザを識別する情報、及び当該ユーザに関連づけられた端末を識別する情報を対応づけたサービス管理情報を更に管理し、前記通知情報は、前記終了要求が発行されたサービスを起動したユーザに関連づけられた端末に対して送信されることとしてもよい。 Further, the service management information in which the information identifying the activated service, the information identifying the user who activated the service, and the information identifying the terminal associated with the user is further managed, and the notification information May be transmitted to a terminal associated with the user who activated the service for which the termination request has been issued.
本構成によれば、終了要求が発行されたサービスを起動したユーザに対して、第1のサービス及び第2のサービスによる制御の実行によって同一機器に対する繰り返し制御が発生したことにより、当該終了要求が発行された旨が通知される。このため、他のユーザが利用するサービスに影響を与えることなく、終了要求が発行されたサービスを起動したユーザに、終了要求が発行されたサービスによる機器の制御の内容を見直させることができる。 According to this configuration, for the user who has started the service for which the termination request is issued, the termination request is generated because the same device is repeatedly controlled by executing the control using the first service and the second service. You will be notified that it has been issued. For this reason, without affecting the services used by other users, the user who started the service for which the termination request has been issued can review the contents of device control by the service for which the termination request has been issued.
また、前記状態情報として、実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、当該制御の内容に関する情報、及び当該制御が実行された回数を対応づけた制御情報を管理し、所定時間が経過する度に、所定のサービスに対応する前記制御情報を削除することとしてもよい。 Further, as the status information, information for identifying the executed service, information for identifying a device controlled by the service, information on the content of the control, and control information in which the number of times the control is executed are associated with each other The control information corresponding to a predetermined service may be deleted every time a predetermined time elapses.
本構成によれば、所定のサービスに対応する制御情報が、所定時間以上、状態情報として管理されることを回避することができる。その結果、状態情報に基づき、当該所定のサービスによる制御の実行が原因で繰り返し制御が発生していると検出される機会を低減することができる。 According to this configuration, control information corresponding to a predetermined service can be prevented from being managed as state information for a predetermined time or longer. As a result, it is possible to reduce the chance that it is detected that repeated control has occurred due to execution of control by the predetermined service based on the state information.
また、前記状態情報として、実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、当該制御の内容に関する情報、及び当該制御が実行された回数を対応づけた制御情報と、前記機器を識別する情報及び当該機器の状態を監視中の一以上の前記サービスを識別する情報を対応づけた状態監視情報と、を管理し、前記制御情報と前記状態監視情報とに基づき、前記繰り返しが前記所定回数以上発生していることを検出することとしてもよい。 Further, as the status information, information for identifying the executed service, information for identifying a device controlled by the service, information on the content of the control, and control information in which the number of times the control is executed are associated with each other And status monitoring information that associates information for identifying the device and information for identifying one or more of the services that are monitoring the status of the device, and based on the control information and the status monitoring information , It may be detected that the repetition has occurred more than the predetermined number of times.
本構成によれば、実行されたサービスによる機器の制御内容を示している制御情報に基づき、所定回数以上繰り返して制御が行われた機器を精度良く特定することができる。更に、状態監視情報に基づいて、当該特定した機器の状態が、第1のサービス及び第2のサービスによって現在も監視中であるか否かを精度良く判定することができる。 According to this configuration, it is possible to accurately identify a device that has been controlled repeatedly a predetermined number of times or more based on control information indicating the control content of the device by the executed service. Furthermore, based on the state monitoring information, it can be accurately determined whether or not the state of the identified device is still being monitored by the first service and the second service.
そして、状態監視情報に基づいて当該特定した機器の状態が第1のサービス及び第2のサービスによって現在も監視中であると判定した場合には、第1のサービス及び第2のサービスによって当該特定した機器の制御が現在所定回数以上繰り返して行われているものとして、上述の繰り返し制御が現在発生していることを精度良く検出することができる。 Then, when it is determined that the status of the identified device based on the status monitoring information is still being monitored by the first service and the second service, the identification is performed by the first service and the second service. It is possible to accurately detect that the above-described repetitive control is currently occurring, assuming that the control of the device thus performed is currently repeatedly performed a predetermined number of times or more.
また、前記サービスは、ネットワークを介して前記制御装置と接続されたサービス提供装置により提供されており、前記サービス提供装置から提供される前記サービスを終了するための終了要求を発行することに代えて、当該サービスによって前記機器を制御するための要求を拒否することとしてもよい。 In addition, the service is provided by a service providing apparatus connected to the control apparatus via a network, and instead of issuing a termination request for terminating the service provided from the service providing apparatus. The request for controlling the device by the service may be rejected.
本構成によれば、ネットワークを介してサービス提供装置から提供されるサービス(以下、ネットワークサービス)の実行によって実際に行われた機器の制御内容に基づき、第1のネットワークサービス及び第2のネットワークサービスの実行によって、同一機器に対する矛盾した制御の一形態である繰り返し制御が発生していることを検出することができる。 According to this configuration, the first network service and the second network service are based on the control contents of the devices actually performed by executing the service (hereinafter referred to as network service) provided from the service providing apparatus via the network. By executing this, it is possible to detect that repeated control, which is a form of contradictory control for the same device, has occurred.
また、本構成によれば、上記繰り返し制御の発生を検出した場合には、第1のネットワークサービス及び第2のネットワークサービスのうち少なくとも一方を終了するための終了要求を発行することに代えて、当該少なくとも一方のネットワークサービスによる機器を制御するための要求を拒否する。 Further, according to this configuration, when the occurrence of the repetitive control is detected, instead of issuing a termination request for terminating at least one of the first network service and the second network service, The request for controlling the device by the at least one network service is rejected.
これにより、サービス提供装置から提供される当該少なくとも一方のネットワークサービスを終了する権限を有していなくても、二個のネットワークサービスによって同時に同一機器に対する制御が行われることを解消することができる。その結果、上記繰り返し制御を解消することができる。 Thereby, even if the user does not have the authority to end the at least one network service provided from the service providing apparatus, it is possible to eliminate the simultaneous control of the same device by the two network services. As a result, the repetitive control can be eliminated.
また、本開示は、以上のような特徴的な処理を実行する制御方法だけでなく、制御方法に含まれる特徴的な処理を実行するための処理部を備える制御装置も開示する。また、このような制御方法に含まれる特徴的な各処理をコンピュータに実行させるコンピュータプログラムも開示する。このようなコンピュータプログラムを、CD−ROM等のコンピュータ読取可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。 The present disclosure also discloses a control device including a processing unit for executing a characteristic process included in the control method as well as a control method for executing the characteristic process as described above. Also disclosed is a computer program that causes a computer to execute characteristic processes included in such a control method. It goes without saying that such a computer program can be distributed via a computer-readable non-transitory recording medium such as a CD-ROM or a communication network such as the Internet.
尚、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。 Note that each of the embodiments described below shows a specific example of the present disclosure. Numerical values, shapes, components, steps, order of steps, and the like shown in the following embodiments are merely examples, and are not intended to limit the present disclosure. In addition, among the constituent elements in the following embodiments, constituent elements that are not described in the independent claims indicating the highest concept are described as optional constituent elements. In all the embodiments, the contents can be combined.
(実施の形態1)
図1は、実施の形態1におけるホームネットワークシステムの全体像を示す図である。図1に示すように、ホームコントローラ100(制御装置)は、ホームネットワーク120(ネットワーク)を介してエアコン150a(機器)及び照明150b(機器)と接続されている。ホームコントローラ100は、更に、広域ネットワーク130を介して、アプリケーションサーバ140と接続されている。
(Embodiment 1)
FIG. 1 is a diagram showing an overall image of a home network system in the first embodiment. As shown in FIG. 1, a home controller 100 (control device) is connected to an
アプリケーションサーバ140には、サードパーティから提供されるサービスも含め様々なサービスのプログラムが記憶されている。ホームコントローラ100は、アプリケーションサーバ140から当該プログラムをダウンロードし、当該プログラムを実行することでサービスを実行することができる。
The
尚、ホームネットワーク120に接続される機器150は、エアコン150aと照明150bに限るものではなく、冷蔵庫、洗濯機、分電盤、太陽光パネル等宅内の家電機器や設備機器であってもよい。また、ホームネットワーク120としては、有線LAN、無線LAN、特定省電力無線等の任意のネットワークを用いることができ、これらを組み合わせて機器150間で相互に通信できるようなネットワーク構成であってもよい。また、広域ネットワーク130は光ファイバ、無線、公衆電話回線等任意のネットワークを用いることができる。
The device 150 connected to the
図2を用いて、ホームコントローラ100のハードウェア構成について説明する。図2は、実施の形態1におけるホームコントローラ100のハードウェア構成を示す図である。ホームコントローラ100は、CPU等で構成された中央処理部101、RAM等で構成された主記憶部102(管理部)、ROMやHDD等で構成された二次記憶部103、表示部104、入力部105、ホームネットワーク通信部106、及び広域ネットワーク通信部107を備えている。
A hardware configuration of the
中央処理部101は、二次記憶部103に予め記憶されているプログラムを実行することで、二次記憶部103にサービスのプログラムをダウンロードし、また、二次記憶部103に記憶したサービスのプログラムを主記憶部102にロードする。
The
主記憶部102には、後述する機器テーブルT1、サービステーブルT2、状態監視テーブル300及びループ候補テーブル900を記憶するための記憶領域が設けられている。つまり、主記憶部102は、機器テーブルT1、サービステーブルT2、状態監視テーブル300及びループ候補テーブル900を管理する。
The
表示部104は、例えばLCDで構成され、中央処理部101がプログラムを実行することにより行った処理の結果を表示する。尚、表示部104は、ホームネットワーク120を介して接続されるタブレット端末やDTV等の表示装置で構成してもよい。入力部105は、例えばタッチパネルやハードウェアボタン等を備え、ユーザからの操作を受け付ける。
The
ホームネットワーク通信部106は、ホームネットワーク120を介してエアコン150aと照明150bとの通信処理を行う。広域ネットワーク通信部107は、広域ネットワーク130を介してアプリケーションサーバ140と通信処理を行う。
The home
図3は実施の形態1におけるホームコントローラ100の機能構成を示す図である。図3に示す機能構成は、図3に示す各ブロックとして機能させるためのプログラムを中央処理部101に実行させることにより実現できる。尚、図3に示す機能構成は、図3に示す各ブロックとして機能する専用回路を組み合わせることにより実現してもよい。
FIG. 3 is a diagram illustrating a functional configuration of the
サービス制御部210は、サービス管理部211(終了部)、サービス実行部212、競合判断部213(検出部)、状態監視部214、機器制御部215、及び表示生成部216として動作する。
The service control unit 210 operates as a service management unit 211 (end unit), a
サービス管理部211は、ユーザ操作により入力部105からサービスの起動要求を受けると、当該起動要求されたサービスのプログラムを主記憶部102にロードした後、当該サービスの起動要求をサービス実行部212へ通知する。また、サービス管理部211は、後述するように、競合判断部213により特定されたループ制御の発生の原因となるサービスの中から終了させる対象のサービスを決定した後、当該終了させる対象のサービスの終了要求を発行し、当該終了要求をサービス実行部212へ通知する。
When the
サービス実行部212は、サービス管理部211からサービスの起動要求を受けると、当該起動要求が示すサービスの起動処理を行う。サービスの起動処理とは、主記憶部102に記憶されている当該サービスのプログラムを中央処理部101に実行させて、当該サービスによる機器150の制御を実行可能にする処理である。
Upon receiving a service activation request from the
サービス実行部212は、サービスの起動処理後、当該サービスから機器150の制御要求を受け取ると、当該制御要求を機器制御部215へ出力する。これにより、サービス実行部212は、後述するように、当該制御要求が示す機器150の制御を機器制御部215に実行させる。以下、サービス実行部212が、サービスから機器150の制御要求を受け、当該制御要求が示す機器150の制御を機器制御部215に実行させることを、サービスを実行すると記載する。
When the
サービス実行部212は、サービス管理部211からサービスの終了要求を受けると、当該終了要求が示すサービスの終了処理を行う。サービスの終了処理とは、中央処理部101に当該サービスのプログラムの実行を終了させ、当該サービスを実行できないようにする処理である。
Upon receiving a service termination request from the
実施の形態1では、サービス実行部212は、図3に示す、快適空調サービス200a、家中省エネサービス200b、及び快適調光サービス200cの3個のサービス200を実行可能となっている。
In the first embodiment, the
快適空調サービス200aは、室内の温度変化によってエアコン150aの自動制御を行うサービスである。家中省エネサービス200bは宅内の消費電力を監視して消費電力を抑えるようにホームネットワーク120内に接続される機器150を自動制御するサービスである。快適調光サービス200cは室内の照度変化によって照明150bの自動制御を行うサービスである。サービス200a〜200cは、制御対象の機器150の状態変化の通知を受けると、当該機器150の再設定を行うサービスである。サービス200a〜200cは、同時に制御対象の機器150の制御を実行可能となっている。
The comfortable
尚、サービス200a〜200cは、サービス実行部212が実行可能なサービスの一例であって、サービス実行部212が実行可能なサービスは、これらのサービス200a〜200cに限らず、サードパーティから提供される様々なサービスであってよい。また、サービス実行部212が同時に実行可能なサービスの数も、3個に限定されるものではない。以下では、サービス実行部212が実行可能なサービス200a〜200cを総称して、サービス200と記載する。
The
競合判断部213は、後述の状態監視テーブル300及びループ候補テーブル900に登録されている情報(状態情報)に基づき、ループ制御(繰り返し制御)が発生していることを検出する処理を行う。ループ制御が発生しているとは、同一の機器150に対して、あるサービス200(第1のサービス)による制御(第1の制御)の実行と、他のサービス200(第2のサービス)による他の制御(第2の制御)の実行と、の繰り返しが所定回数以上行われていることを示す。
The
競合判断部213は、ループ制御が発生していることを検出した場合、当該ループ制御の発生の原因となるサービス200を特定する処理を行う。競合判断部213が行う処理の詳細については、図10のフローチャートを用いて後述する。
When the
状態監視部214は、機器150の状態を監視し、機器150の状態変化の検知と、検知した状態変化をサービス200へ通知する処理を行う。状態監視部214が行う処理の詳細については図7及び図9のフローチャートを用いて後述する。
The
機器制御部215は、サービス200から受け取った機器150の制御要求を解釈し、当該制御要求が示す制御を、例えばECHONET Lite等の機器制御プロトコルを用いて当該機器150に行わせるための制御コマンドを生成する。つまり、制御コマンドは、機器150に行わせる制御内容を示している。機器制御部215は、生成した制御コマンドを、ホームネットワーク通信部106を介して当該機器150へ送信する。これにより、当該機器150は、機器制御部215から受信した制御コマンドが示す制御内容に従った制御を行う。
The
表示生成部216は、競合判断部213によってループ制御の発生が検出されたことにより、サービス管理部211によってサービスの終了要求が発行された旨をユーザに通知するためのメッセージ(通知情報)を生成し、当該生成したメッセージを含む通知画面を生成する。当該メッセージ及び通知画面の詳細については、図13及び図14を用いて後述する。
The
次に、上述の状態監視テーブル300について図4を用いて説明する。図4は、状態監視テーブル300の一例を示す図である。状態監視テーブル300は、ホームネットワーク120に接続されている機器150を識別する機器ID、及び、当該機器150の状態を監視するサービス200を識別するサービスIDを対応づけた状態監視情報を管理するためのテーブルである。
Next, the state monitoring table 300 will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of the state monitoring table 300. The state monitoring table 300 manages state monitoring information in which a device ID that identifies the device 150 connected to the
以下、状態監視テーブル300において管理される機器IDについて説明する。機器150が備えるROM等の不揮発性メモリーには、当該機器150の製造時や出荷時等に、機器150を識別するための情報として機器名と機器IDとが記憶される。機器IDは、例えばMACアドレス等、機器150を一意に特定する情報である。そして、機器150の動作開始時等に、不揮発性メモリーに記憶されている機器名及び機器IDが、機器150が備えるRAM等のメモリーにロードされる。 Hereinafter, device IDs managed in the state monitoring table 300 will be described. In a nonvolatile memory such as a ROM provided in the device 150, a device name and a device ID are stored as information for identifying the device 150 when the device 150 is manufactured or shipped. The device ID is information that uniquely identifies the device 150, such as a MAC address. Then, when the operation of the device 150 is started, the device name and device ID stored in the nonvolatile memory are loaded into a memory such as a RAM provided in the device 150.
尚、機器IDは、MACアドレスに限らず、ホームネットワーク120に接続されている機器150を一意に特定できる情報であればよい。例えば、機器IDは、ホームネットワーク120上で遠隔制御を行うための機器通信プロトコルで定義された機器固有の値(例えばECHONET Lite規格で機器150のプロパティ値として定義される識別番号や製造番号等)であってもよい。
The device ID is not limited to the MAC address, and may be information that can uniquely identify the device 150 connected to the
または、ホームコントローラ100が、ホームネットワーク120に機器150が接続されていることを認識した時点で、当該認識した機器150の種類を示す機器名を生成し、当該認識した機器150を一意に特定できる情報(例えば、当該機器150を認識した日時等)を機器IDとして生成し、当該生成した機器名及び機器IDを当該機器150に送信してもよい。これに合わせて、機器150が受信した機器名及び機器IDを自身が備えるRAM等のメモリーに記憶するようにしてもよい。
Alternatively, when the
図5は、機器テーブルT1の一例を示す図である。機器テーブルT1は、ホームネットワーク120に接続されている機器150の機器名及び機器IDを管理するためのテーブルである。ホームコントローラ100は、ホームネットワーク120に機器150が接続されていることを認識した時点で、当該機器150から機器名及び機器IDを取得し、機器テーブルT1に登録する。また、ホームコントローラ100は、当該機器150から機器名及び機器IDを取得できなかった場合、上述のように、機器名及び機器IDを生成し、当該生成した機器名及び機器IDを機器テーブルT1に登録するとともに、機器150へ送信する。
FIG. 5 is a diagram illustrating an example of the device table T1. The device table T1 is a table for managing the device name and device ID of the device 150 connected to the
例えば、図5に示す機器テーブルT1には、エアコン150aの機器名として「エアコン」が登録され、エアコン150aの機器IDとして「aircon_0a12ab4cb611」が登録されている。以下の説明における機器名及び機器IDは、図5に示す機器名及び機器IDであるとする。
For example, in the device table T1 shown in FIG. 5, “air conditioner” is registered as the device name of the
次に、状態監視テーブル300において管理されるサービスIDについて説明する。サービス200のプログラムには、当該プログラムの開発時に、当該サービス200を識別するための情報として、当該サービス200の提供者や開発者等によって生成されたサービス名及びサービスIDが組み込まれる。サービスIDは、当該サービス200を一意に特定できる情報である。 Next, the service ID managed in the state monitoring table 300 will be described. In the program of the service 200, a service name and a service ID generated by a provider or developer of the service 200 are incorporated as information for identifying the service 200 when the program is developed. The service ID is information that can uniquely identify the service 200.
尚、サービス200のプログラムにサービスIDが組み込まれていない場合には、ホームコントローラ100がサービス200を起動した時点で、当該サービス200を一意に特定できる情報(例えば、当該サービス200を起動した日時等)を当該サービス200のサービスIDとして生成してもよい。
If the service ID is not incorporated in the program of the service 200, information that can uniquely identify the service 200 when the
図6は、サービステーブルT2の一例を示す図である。サービステーブルT2は、ホームコントローラ100によって実行されるサービス200のサービス名及びサービスIDを管理するためのテーブルである。ホームコントローラ100は、サービス200を起動した時点で、当該サービス200のプログラムに組み込まれているサービス名及びサービスIDをサービステーブルT2に登録する。尚、ホームコントローラ100は、当該サービス200のプログラムにサービスIDが組み込まれていなかった場合には、上述のように、サービスIDを生成し、当該生成したサービスIDをサービステーブルT2に登録する。
FIG. 6 is a diagram illustrating an example of the service table T2. The service table T2 is a table for managing the service name and service ID of the service 200 executed by the
例えば、図6に示すサービステーブルT2には、快適空調サービス200aのサービス名として「快適空調サービス」が登録され、サービスIDとして「A」が登録されている。以下の説明におけるサービス名及びサービスIDは、図6に示すサービス名及びサービスIDであるとする。
For example, in the service table T2 shown in FIG. 6, “Comfort Air Conditioning Service” is registered as the service name of the Comfort
次に、状態監視部214による状態監視テーブル300への情報の登録フローについて図7を用いて説明する。図7は、実施の形態1において状態監視テーブル300に情報を登録する処理フローの一例を示す図である。サービス実行部212によってサービス200の起動処理が行われると、当該サービス200は、サービス制御部210が提供する機器状態監視APIを呼び出す。機器状態監視APIは、所謂コールバック関数であり、当該APIを呼び出したサービス200が状態を監視する対象の機器150の機器IDと、当該サービス200のサービスIDと、を当該サービス200から受け取り、当該受け取った機器IDとサービスIDとをサービス制御部210に通知する。
Next, a registration flow of information in the state monitoring table 300 by the
状態監視部214は、機器状態監視APIによる機器IDとサービスIDの通知を受けると(ステップ400)、当該通知された機器IDが状態監視テーブル300に登録されているか否かを検索する(ステップ401)。
When receiving the notification of the device ID and the service ID by the device state monitoring API (step 400), the
通知された機器IDが状態監視テーブル300に登録済の場合(ステップ402:YES)、状態監視部214は、登録済の当該機器IDに対応するサービスIDとして、ステップ400で通知されたサービスIDを追加する(ステップ404)。通知された機器IDが状態監視テーブル300に未登録の場合(ステップ402:NO)、状態監視部214は、通知された機器IDを状態監視テーブル300へ登録し(ステップ403)、登録した機器IDに対応するサービスIDとして、ステップ400で通知されたサービスIDを追加する(ステップ404)。
When the notified device ID is already registered in the state monitoring table 300 (step 402: YES), the
このようにして、状態監視部214は、機器150を識別する機器ID及び当該機器150の状態を監視中の一以上のサービス200を識別するサービスIDを対応付けた状態監視情報を、状態監視テーブル300に登録する。
In this manner, the
例えば、図4に示す状態監視テーブル300では、機器ID「aircon_0a12ab4cb611」と二個のサービスID「A」「B」とを対応付けた状態監視情報が登録されている。これは、機器ID「aircon_0a12ab4cb611」の機器150の制御を実行する、サービスID「A」によって識別されるサービス200の起動処理が行われた場合にステップ403が行われ、その後、同一の機器IDの機器150の制御を実行するサービスID「B」によって識別されるサービス200の起動処理が行われた場合にステップ404が行われた結果を示している。
For example, in the status monitoring table 300 illustrated in FIG. 4, status monitoring information in which the device ID “aircon — 0a12ab4cb611” is associated with the two service IDs “A” and “B” is registered. This is because
次に、状態監視部214による状態監視テーブル300からの情報の削除フローについて図8を用いて説明する。図8は、実施の形態1において状態監視テーブル300から情報を削除する処理フローの一例を示す図である。サービス実行部212によってサービス200の終了処理が行われると(ステップ600)、状態監視部214は、当該終了処理が行われたサービス200(以下、終了サービス200)が状態を監視していた機器150の機器IDを検索する(ステップ601)。具体的には、ステップ601において、状態監視部214は、状態監視テーブル300において、当該終了サービス200のサービスIDに対応付けられている機器IDを検索する。
Next, a flow of deleting information from the state monitoring table 300 by the
次に、状態監視部214は、ステップ601で検索された機器IDで識別される機器150の状態を監視対象とするサービス200が、上記終了サービスのみであるか否かを判定する(ステップ602)。具体的には、ステップ602において、状態監視部214は、状態監視テーブル300においてステップ601で検索された機器IDに対応付けられたサービスIDが、終了サービス200のサービスIDのみであるか否かを判定する。
Next, the
ステップ601で検索されたサービスIDが終了サービス200のサービスIDのみである場合(ステップ602:YES)、状態監視部214は、当該機器ID及び当該終了サービス200のサービスIDを対応付けた状態監視情報を、状態監視テーブル300から削除する(ステップ603)。ステップ601で検索されたサービスIDが終了サービス200のサービスIDのみでない場合(ステップ602:NO)、状態監視部214は、当該機器IDに対応付けられたサービスIDから、終了サービス200のサービスIDのみを削除する(ステップ604)。
If the service ID searched in
例えば、図4に示すように、状態監視テーブル300に状態監視情報が登録されているとする。つまり、機器ID「aircon_0a12ab4cb611」で識別される機器150の状態を、サービスID「A」及びサービスID「B」で識別される二個のサービスが監視中であるとする。また、機器ID「light_0b2c998a5c7a」で識別される機器150の状態を、サービスID「B」及びサービスID「C」で識別される二個のサービスが監視中であるとする。 For example, assume that state monitoring information is registered in the state monitoring table 300 as shown in FIG. That is, it is assumed that the two services identified by the service ID “A” and the service ID “B” are being monitored for the state of the device 150 identified by the device ID “aircon — 0a12ab4cb611”. Further, it is assumed that the two services identified by the service ID “B” and the service ID “C” are being monitored for the state of the device 150 identified by the device ID “light — 0b2c998a5c7a”.
ここで、サービスID「A」によって識別されるサービス200の終了処理が行われたとする。この場合、ステップ601では、サービスID「A」に対応する機器ID「aircon_0a12ab4cb611」が検索される。ステップ602では、当該機器IDに対応付けられたサービスID「A、B」が終了サービス200のサービスID「A」のみではないと判定される。その結果、ステップ604が行われ、機器ID「aircon_0a12ab4cb611」とサービスID「B」とを対応付けた状態監視情報が状態監視テーブル300に登録された状態となる。
Here, it is assumed that the termination process of the service 200 identified by the service ID “A” is performed. In this case, in
これにより、当該状態監視情報から、現在、機器ID「aircon_0a12ab4cb611」で識別される機器150の状態が、サービスID「B」で識別されるサービス200のみによって監視されていることを適切に把握できるようになる。 Accordingly, it is possible to appropriately grasp from the state monitoring information that the state of the device 150 identified by the device ID “aircon_0a12ab4cb611” is currently monitored only by the service 200 identified by the service ID “B”. become.
この後、サービスID「B」によって識別される家中省エネサービス200bの終了処理が行われたとする。この場合、ステップ601では、サービスID「B」に対応する二個の機器ID「aircon_0a12ab4cb611」、「light_0b2c998a5c7a」が検索される。このように、ステップ601において複数の機器IDが検索された場合は、当該検索された各機器IDについて、それぞれ、ステップ602以降の処理が行われる。
Thereafter, it is assumed that the termination process of the house energy saving service 200b identified by the service ID “B” is performed. In this case, in
機器ID「aircon_0a12ab4cb611」について行われるステップ602では、当該機器IDに対応付けられたサービスIDが「B」のみになっているので、ステップ603が行われる。これにより、当該機器ID及び終了サービスのサービスID「B」を対応付けた状態監視情報が状態監視テーブル300から削除される。その結果、状態監視テーブル300には、機器ID「aircon_0a12ab4cb611」を含む状態監視情報が存在しなくなる。これにより、当該状態監視テーブル300から、現在、機器ID「aircon_0a12ab4cb611」で識別される機器150の状態を監視しているサービス200が存在しないことを適切に把握できるようになる。
In
一方、機器ID「light_0b2c998a5c7a」について行われるステップ602では、当該機器IDに対応付けられたサービスIDが「C、B」であるので、当該機器IDに対応付けられたサービスIDが終了サービスのサービスID「B」のみではないと判定される。その結果、ステップ604が行われ、機器ID「light_0b2c998a5c7a」とサービスID「C」とを対応付けた状態監視情報が状態監視テーブル300に登録された状態となる。これにより、当該状態監視情報から、現在、機器ID「light_0b2c998a5c7a」で識別される機器150の状態が、サービスID「C」で識別されるサービス200のみによって監視されていることを適切に把握できるようになる。
On the other hand, in
次に、状態監視部214による機器150の状態変化の通知フローについて図9を用いて説明する。図9は、実施の形態1において機器150の状態変化を監視しサービス200へ通知する処理フローの一例を示す図である。ホームネットワーク120に接続されている機器150は、当該機器150本体の純正リモコンによる操作や、サービス200の実行等によって、当該機器150の再設定が行われると、当該機器150の状態が変化したことをサービス制御部210へ通知する。
Next, the notification flow of the state change of the device 150 by the
状態監視部214は、ホームネットワーク120に接続されている機器150の何れかから状態変化の通知を受けるまで受信待ちの状態となる(ステップ500:NO)。
The
状態監視部214は、機器150から状態変化の通知を受けることで(ステップ500:YES)、当該機器150の状態が変化したことを検知する。この場合、状態監視部214は、状態監視テーブル300を参照し、当該機器150の機器IDに対応付けられたサービスIDを検索する。これにより、状態監視部214は、当該機器150の状態変化を通知する対象のサービス200のサービスIDを検索する(ステップ501)。
The
通知対象のサービス200のサービスIDが状態監視テーブル300に存在した場合(ステップ502:YES)、状態監視部214は、当該サービスIDによって識別される通知対象のサービス200に対して、機器150の状態変化の通知を行う(ステップ503)。その後、状態監視部214は、ステップ500へ戻り、何れかの機器150から新たな状態変化の通知を受けるまで受信待ちの状態となる。通知対象のサービス200のサービスIDが状態監視テーブル300に存在しなかった場合(ステップ502:NO)、状態監視部214は、ステップ500へ戻り、何れかの機器150から新たな状態変化の通知を受けるまで受信待ちの状態となる。
When the service ID of the notification target service 200 exists in the state monitoring table 300 (step 502: YES), the
尚、上述のように、機器150が主体となって状態の変化を通知することに代えて、状態監視部214が、状態監視テーブル300に登録されている機器IDによって識別される機器150に対し、定期的に状態変化があったか否かを問い合わせるようにしてもよい。これに合わせて、機器150が、当該問い合わせを受けた場合、前回問い合わせを受けた後に当該機器150の再設定があったときは、状態変化があったことを返信するようにしてもよい。
As described above, instead of notifying the change of the state mainly by the device 150, the
次に、競合判断部213が行う処理のフローについて図10を用いて説明する。図10は、ループ制御が発生していることを検出する処理フローの一例を示す図である。サービス実行部212が、起動中のサービス200から機器150の制御要求を受け取り、当該サービス200を実行したとする(ステップ801:YES)。この場合、競合判断部213は、ループ候補テーブル900に、当該制御要求に対応する制御情報が登録されているか否かを判定する(ステップ802)。
Next, the flow of processing performed by the
図11は、ループ候補テーブル900の一例を示す図である。ループ候補テーブル900は、制御要求を行うことで実行されたサービス200を識別するサービスID901、当該サービス200により制御された機器150の機器ID902、当該機器150の制御の内容を示す制御コマンド903、及び当該制御が実行された回数(以下、繰り返し回数)904を対応づけた制御情報を管理するためのテーブルである。
FIG. 11 is a diagram illustrating an example of the loop candidate table 900. The loop candidate table 900 includes a
ステップ801で受け取られた制御要求に対応する制御情報がループ候補テーブル900に登録済の場合(ステップ802:YES)、競合判断部213は、当該登録済の制御情報の繰返し回数904を1回インクリメントする(ステップ803)。これにより、競合判断部213は、当該登録済の制御情報を更新する。
If the control information corresponding to the control request received in step 801 has already been registered in the loop candidate table 900 (step 802: YES), the
例えば、サービス実行部212が、サービスID「A」の快適空調サービス200aから、機器ID「aircon_0a12ab4cb611」のエアコン150aを、暖房25℃運転にする制御を行わせる制御要求を過去に4回受け取っていたとする。つまり、当該制御要求に対応する制御情報(サービスID901「A」、機器ID902「aircon_0a12ab4cb611」、制御コマンド903「暖房25℃」、繰り返し回数904「4」)が、ループ候補テーブル900に登録済であるとする。この場合に、ステップ801において、サービス実行部212が同じ制御要求を再び受け取ったとする。
For example, the
この場合、ステップ801で受け取られた制御要求に対応する制御情報がループ候補テーブル900に登録済であるので(ステップ802:YES)、ステップ803が行われる。つまり、競合判断部213によって、ループ候補テーブル900に登録済の当該制御要求に対応する制御情報が、図11に示すように、新たな制御情報(サービスID901「A」、機器ID902「aircon_0a12ab4cb611」、制御コマンド903「暖房25℃」、繰り返し回数904「5」)に更新される。
In this case, since the control information corresponding to the control request received in step 801 has already been registered in the loop candidate table 900 (step 802: YES), step 803 is performed. That is, the control information corresponding to the control request registered in the loop candidate table 900 by the
一方、ステップ801で受け取られた制御要求に対応する制御情報が未登録の場合(ステップ802:NO)、競合判断部213は、ループ候補テーブル900に、当該制御要求に対応する制御情報(サービスID901、機器ID902、コマンド903、繰り返し回数904)を登録する(ステップ804)。尚、競合判断部213は、ステップ804で登録する制御情報の繰り返し回数904を1とする。
On the other hand, when the control information corresponding to the control request received in step 801 is not registered (step 802: NO), the
例えば、サービス実行部212が、サービスID「C」の快適調光サービス200cから、機器150の制御要求を受け取っていなかったとする。つまり、ループ候補テーブル900には、サービスID「C」を含む制御情報が何ら登録されていなかったとする。この場合に、ステップ801において、サービス実行部212が、サービスID「C」の快適調光サービス200cから、機器ID「light_0b2c998a5c7a」の照明150bをON(点灯)にする制御を行わせる制御要求を受け取ったとする。
For example, it is assumed that the
この場合、ステップ801で受け取られた制御要求に対応する制御情報がループ候補テーブル900に未登録であるので(ステップ802:NO)、ステップ804が行われる。つまり、競合判断部213によって、ループ候補テーブル900に、当該制御要求に対応する制御情報(サービスID901「C」、機器ID902「light_0b2c998a5c7a」、制御コマンド903「ON」、繰り返し回数904「1」)が登録される。
In this case, since the control information corresponding to the control request received in step 801 is not registered in the loop candidate table 900 (step 802: NO), step 804 is performed. In other words, the
競合判断部213は、制御情報の登録又は更新後、当該制御情報に含まれる繰り返し回数904が予め定められた閾値(所定回数)に達しているか否かを判定する。繰り返し回数904が閾値に達していた場合(ステップ805:YES)、競合判断部213は、当該制御情報の機器ID902と同一の機器ID902を含み、且つ、当該制御情報のサービスID901とは別のサービスID901を含む制御情報(以下、判定対象の制御情報)が、ループ候補テーブル900に存在するか否かを判定する(ステップ806)。これにより、競合判断部213は、上記同一の機器ID902で識別される同一の機器150の制御を過去に行ったことのあるサービス200が2以上存在するか否かを判定する。
The
例えば、図11に示すように、ループ候補テーブル900に制御情報が登録されているとする。また、上記閾値が5回であるとする。そして、ステップ801においてサービスID「A」で識別されるサービス200が実行され、ステップ805において、競合判断部213が、サービスID「A」に対応する制御情報に含まれる繰り返し回数904「5」が5回に達していると判定したとする。
For example, it is assumed that control information is registered in the loop candidate table 900 as shown in FIG. It is assumed that the threshold is 5 times. In step 801, the service 200 identified by the service ID “A” is executed. In step 805, the
この場合、競合判断部213は、ステップ806において、図11の第1行目及び第2行目に示す二つの制御情報に基づき、当該制御情報の機器ID902「aircon_0a12ab4cb611」と同一の機器ID902を含み、且つ、当該制御情報のサービスID901「A」とは別のサービスID901「B」を含む判定対象の制御情報が存在すると判定する(ステップ806;YES)。これにより、競合判断部213は、機器ID902「aircon_0a12ab4cb611」で識別される機器150の制御を過去に行ったことのあるサービス200が、ステップ801で実行されたサービスID「A」で識別されるサービス200と、サービスID「B」で識別されるサービス200と、の二個存在すると判定する。
In this case, the
判定対象の制御情報がループ候補テーブル900に存在しなかった場合(ステップ806:NO)、2以上のサービス200によって上記同一機器150が制御されたことがないので、競合判断部213は、ステップ805で繰り返し回数904が閾値に達した制御情報に対応する、ステップ801で実行されたサービス200により、ループ制御は発生していないと判断する(ステップ809)。
If the control information to be determined does not exist in the loop candidate table 900 (step 806: NO), the
一方、判定対象の制御情報がループ候補テーブル900に存在していたとする(ステップ806:YES)。この場合、競合判断部213は、状態監視テーブル300を参照し、ステップ805で繰り返し回数904が閾値に達していると判定した制御情報のサービスID901によって特定(識別)されるサービス200(以下、ステップ805で特定したサービス200)と、判定対象の制御情報のサービスID901によって特定(識別)されるサービス200(以下、ステップ806で特定したサービス200)との両サービス200が、上記同一の機器ID902によって識別される機器150(以下、同一機器150)の状態を監視しているか否かを判定する(ステップ807)。これにより、競合判断部213は、ステップ805で特定したサービス200とステップ806で特定したサービス200との両サービス200によって、現在、上記同一機器150の制御が同時に行われている可能性があるか否かを判定する。
On the other hand, it is assumed that control information to be determined exists in the loop candidate table 900 (step 806: YES). In this case, the
具体的には、ステップ807において、競合判断部213は、状態監視テーブル300を参照し、ステップ805で特定したサービス200のサービスIDを含む状態監視情報に上記同一の機器ID902が含まれ、且つ、ステップ806で特定したサービス200のサービスIDを含む状態監視情報にも上記同一の機器ID902が含まれている場合に、上記両サービス200が上記同一機器150の状態を監視していると判定する(ステップ807;YES)。
Specifically, in step 807, the
一方、ステップ805で特定したサービス200のサービスIDを含む状態監視情報及びステップ806で特定したサービス200のサービスIDを含む状態監視情報のうち、少なくとも一方に、上記同一の機器ID902が含まれていなかった場合、競合判断部213は、上記両サービス200のうちの少なくとも一方が上記同一機器150の状態を監視していないと判定する(ステップ807;NO)。
On the other hand, at least one of the state monitoring information including the service ID of the service 200 specified in step 805 and the state monitoring information including the service ID of the service 200 specified in step 806 does not include the
例えば、図4に示すように、状態監視テーブル300に状態監視情報が登録されているとする。そして、ステップ806について上述した具体例と同様、上記同一の機器ID902が「aircon_0a12ab4cb611」であり、ステップ805で特定したサービス200のサービスIDが「A」であり、ステップ806で特定したサービス200のサービスIDが「B」であるとする。
For example, assume that state monitoring information is registered in the state monitoring table 300 as shown in FIG. As in the specific example described above for step 806, the
この場合、状態監視テーブル300には、ステップ805で特定したサービス200のサービスID「A」を含む状態監視情報(図4の1行目)に、上記同一の機器ID902「aircon_0a12ab4cb611」が含まれ、且つ、ステップ806で特定したサービス200のサービスID「B」を含む状態監視情報(図4の1行目)にも、上記同一の機器ID902「aircon_0a12ab4cb611」が含まれている。このため、競合判断部213は、上記両サービス200が上記同一機器150の状態を監視していると判定する。
In this case, the state monitoring table 300 includes the
競合判断部213が、上記両サービス200のうちの少なくとも一方が上記同一機器150の状態を監視していないと判定したとする(ステップ807:NO)。この場合、上記両サービス200によって上記同一機器150の制御が同時に行われている可能性は高くないと考えられる。したがって、この場合、競合判断部213は、ステップ805で繰り返し回数904が閾値に達した制御情報に対応する、ステップ801で行われた制御により、ループ制御は発生していないと判断する(ステップ809)。
Assume that the
一方、競合判断部213が、上記両サービス200が上記同一機器150の状態を監視していると判定したとする(ステップ807:YES)。この場合、上記両サービス200によって上記同一機器150の制御が同時に行われている可能性が高いと考えられる。したがって、この場合、競合判断部213は、ステップ805で特定したサービス200(第1のサービス)による上記同一機器150の制御(第1の制御)の実行と、ステップ806で特定したサービス200(第2のサービス)による上記同一機器150の制御(第2の制御)の実行と、の繰り返しが、上記閾値が示す回数以上行われるループ制御が発生していることを検出する。そして、競合判断部213は、ステップ805及びステップ806で特定した両サービス200を、ループ制御の発生の原因となるサービス200として特定する(ステップ808)。
On the other hand, it is assumed that the
例えば、ステップ801において、サービス実行部212が、サービスID「A」の快適空調サービス200aから、機器ID「aircon_0a12ab4cb611」のエアコン150aを、暖房25℃運転にする制御を行わせる制御要求を受け取ったとする。そして、ステップ805を実行する直前において、ループ候補テーブル900には、図11に示す制御情報が登録され、状態監視テーブル300には図4に示す状態監視情報が登録されていたとする。また、ステップ805で用いる閾値が5回であるとする。
For example, in step 801, the
この場合、ステップ805において、ステップ801で受け取った制御要求に対応する制御情報(サービスID901「A」を含む制御情報)の繰り返し回数が「5」であるので、競合判断部213は閾値に達したと判定する。この場合、競合判断部213は、ステップ806において、当該制御情報の機器ID902「aircon_0a12ab4cb611」と同一の機器ID902を含み、且つ、当該制御情報のサービスID901「A」とは別のサービスID901「B」を含む判定対象の制御情報が、ループ候補テーブル900に存在すると判定する。
In this case, in step 805, since the number of repetitions of the control information (control information including
そして、競合判断部213は、ステップ807において、状態監視テーブル300を参照し、ステップ805及びステップ806で特定した両サービス200が、機器ID「aircon_0a12ab4cb611」によって識別される同一の機器150の状態を監視していると判定する。
In step 807, the
この場合、競合判断部213は、ステップ808において、ステップ805で特定したサービス200による制御の実行とステップ806で特定したサービス200による制御の実行との繰り返しが5回以上行われるループ制御が発生していることを検出する。そして、競合判断部213は、ステップ805及びステップ806で特定した両サービス200を、ループ制御の発生の原因となるサービス200として特定する。
In this case, in step 808, the
競合判断部213による処理を上記のように構成することにより、実行されたサービス200による機器150の制御内容を示している制御情報に基づき、閾値以上繰り返して制御が行われた機器150を精度良く特定することができる。更に、状態監視情報に基づいて、当該特定した機器150の状態が、2以上のサービスによって現在も監視中であるか否かを精度良く判定することができる。
By configuring the process by the
そして、状態監視情報に基づいて当該特定した機器150の状態が2以上のサービス200によって現在も監視中であると判定した場合には、当該2以上のサービス200によって当該特定した機器150の制御が現在閾値以上繰り返して行われているものとして、上記ループ制御が現在発生していることを精度良く検出することができる。 If it is determined that the status of the identified device 150 is still being monitored by two or more services 200 based on the status monitoring information, control of the identified device 150 by the two or more services 200 is performed. It is possible to detect with high accuracy that the loop control is currently occurring, assuming that the control is repeatedly performed for the current threshold value or more.
次に、競合判断部213によってループ制御の発生が検出された場合に行われる処理について図12を用いて説明する。図12は、実施の形態1においてループ制御を解消する処理フローの一例を示す図である。
Next, processing performed when the occurrence of loop control is detected by the
図10に示すフローに従って、競合判断部213により、ループ制御の発生の原因となるサービス200が特定された場合(ステップ1000)、サービス管理部211は、当該特定されたサービス200のうち、競合判断部213がステップ805で特定したサービス200を、終了させる対象のサービス200(以下、終了サービス200)として決定する。そして、サービス管理部211は、当該決定した終了サービス200の終了要求を発行し、当該終了要求をサービス実行部212へ通知する(ステップ1001)。サービス実行部212は、当該終了要求の通知を受けると、当該終了要求が示す終了サービス200の終了処理を実行する(ステップ1002)。
When the service 200 that causes the occurrence of the loop control is identified by the
尚、サービス実行部212によって終了サービス200の終了処理が実行されると、上述のように、状態監視部214は、図8に示す処理フローに従って、状態監視テーブル300に登録されている、終了サービス200のサービスIDを含む状態監視情報を削除する(ステップ603)、又は、当該状態監視情報から終了サービス200のサービスIDを削除する(ステップ604)。
When the termination process of the termination service 200 is executed by the
その後、表示生成部216は、サービステーブルT2(図6)を参照して、ループ制御の発生が検出されたことにより、上記終了サービス200を終了した(上記終了サービス200の終了要求が発行された)旨をユーザに通知するためのメッセージ(通知情報)を生成(発行)する。そして、表示生成部216は、図13に示すような、当該生成したメッセージM1を含む通知画面W1を生成し、当該生成した通知画面W1を表示部104に表示させる(ステップ1003)。これにより、表示生成部216は、ループ制御の発生が検出されたことにより、上記終了サービス200を終了した旨をユーザに通知する。
Thereafter, the
尚、図13に示す通知画面W1は一例であって、ループ制御が行われたことにより、上記終了サービス200を終了した旨をユーザに通知するという効果を発揮する範囲内において適宜画面構成を変更してもよい。例えば、上記メッセージM1を含むダイアログ画面やポップアップ画面によって通知画面W1を構成し、当該通知画面W1を既に表示されている画面の上に重ねて表示部104に表示させてもよい。
Note that the notification screen W1 shown in FIG. 13 is an example, and the screen configuration is appropriately changed within a range in which the effect of notifying the user that the termination service 200 is terminated by performing loop control. May be. For example, the notification screen W1 may be configured by a dialog screen or a pop-up screen including the message M1, and the notification screen W1 may be displayed on the
また、ステップ1001(図12)において、サービス管理部211が、終了サービス200の終了要求をサービス実行部212へ通知する前に、ループ候補テーブル900(図11)に登録されている当該終了サービス200に対応する制御情報を主記憶部102に退避するようにしてもよい。
Further, in step 1001 (FIG. 12), before the
そして、表示生成部216が、ステップ1003(図12)において、主記憶部102に退避された上記の終了サービス200に対応する制御情報、機器テーブルT1(図5)、サービステーブルT2(図6)、ループ候補テーブル900(図11)を参照し、上記メッセージM1に、更に、競合判断部213により特定されたループ制御の発生の原因となるサービス200のサービス名と、当該特定されたサービス200により制御された、ループ制御が発生している機器150の機器名と、当該機器150の制御に用いられた制御コマンドと、を含めたメッセージを生成してもよい。そして、表示生成部216が、図13に示す通知画面W1に代えて、図14に示すような、当該生成したメッセージを含む通知画面W2を生成し、当該生成した通知画面W2を表示部104に表示させるようにしてもよい。
Then, in step 1003 (FIG. 12), the
また、当該変更後のステップ1003において、表示生成部216が生成するメッセージに、ループ制御が発生している機器150の機器名と、当該機器150の制御に用いられた制御コマンドとを含めないようにしてもよい。これに合わせて、図14に示す通知画面W2にループ原因制御欄を設けないようにしてもよい。
Also, in
このように構成することにより、ループ制御が発生しないように、終了サービス200による機器の制御の見直しを行う手がかりをユーザに示すことができる。その結果、ユーザは、サービスによる機器の制御の見直しを容易に行うことができる。 With this configuration, it is possible to show the user a clue to review the device control by the termination service 200 so that loop control does not occur. As a result, the user can easily review the control of the device by the service.
また、ステップ1001において、サービス管理部211は、競合判断部213がステップ806で特定したサービス200を終了サービス200として決定してもよいし、競合判断部213がステップ805及び806で特定した全てのサービス200を、終了サービス200として決定してもよい。
In
また、ステップ1001において、サービス管理部211が、サービス200が起動された順番に基づいて、終了サービス200を決定するようにしてもよい。
In
例えば、最近起動したサービス200が、ユーザが最も利用したいサービス200であると仮定し、ステップ1001において、サービス管理部211が、競合判断部213によって特定されたサービス200のうち、先に起動されたサービス200を優先して終了サービス200として決定するようにしてもよい。この場合、ユーザが利用したい最近起動したサービス200を終了することなく、ループ制御を解消することができる。
For example, assuming that the recently activated service 200 is the service 200 that the user wants to use most, the
又は、現在起動しているサービスを引き続き利用することをユーザが望んでいると仮定し、ステップ1001において、サービス管理部211が、競合判断部213によって特定されたサービス200のうち、後に起動されたサービス200を優先して終了サービス200として決定するようにしてもよい。この場合、ユーザが引き続き利用することを望んでいるサービス200を終了させることなく、ループ制御を解消することができる。このため、当該ユーザは、望み通り、現在起動しているサービス200を引き続き利用しながら、後に起動されたサービス200による機器の制御内容を見直したり、今後起動するサービスを見直す等、ループ制御を発生させないための対処をとることができる。
Alternatively, assuming that the user wants to continue using the currently activated service, in
尚、ステップ1001において、サービス管理部211が、終了サービス200として決定するサービス200の優先順位を、例えば入力部105を操作すること等によって、ユーザが設定できるようにしてもよい。この場合、ユーザは、終了させたくないサービス200の優先順位を予め低く設定しておくことで、ループ制御が発生した場合でも、当該終了させたくないサービス200に対して終了要求が発行されることを回避することができる。
In
また、ループ候補テーブル900を定期的に初期化するようにしてもよい。図15は、実施の形態1においてループ候補テーブル900を初期化する処理フローの一例を示す図である。具体的には、図15に示すように、競合判断部213は、予め設定された一定時間が経過する度に(ステップ1100:YES)、ループ候補テーブル900を初期化し、ループ候補テーブル900に登録されている全ての制御情報を削除する(ステップ1101)。尚、当該一定時間は、予め決められた固定の値であってもよいし、例えば入力部105を操作すること等によって、ユーザが任意の値に変更できるようにしてもよい。
Further, the loop candidate table 900 may be periodically initialized. FIG. 15 is a diagram showing an example of a processing flow for initializing the loop candidate table 900 in the first embodiment. Specifically, as shown in FIG. 15, the
尚、ステップ1101において、ループ候補テーブル900を初期化することに代えて、予め定められたサービス200(以下、削除対象サービス200)に対応する制御情報、つまり、当該削除対象サービス200を識別するサービスID901を含んだ制御情報だけを削除するようにしてもよい。
In
例えば、毎朝6時にエアコン150aの電源をONにするサービス200や、毎晩22時にエアコン150aの電源をOFFにするサービス200のように、起動された後、長時間終了されず、一日一度しか機器150の制御を行わないようなサービス200は、ループ制御の発生の原因とはならないと考えられる。
For example, a service 200 that turns on the power of the
したがって、このようなループ制御の発生の原因とはならないと考えられるサービス200を、予め削除対象サービス200として設定することで、当該削除対象サービス200に対応する制御情報が、ループ候補テーブル900に一定時間以上残存することを回避することができる。これにより、当該削除対象サービス200に対応する制御情報に含まれる繰り返し回数904が閾値以上になることを低減することができる。その結果、当該削除対象サービス200を、ステップ805で特定したサービス200及びステップ806で特定したサービスとする機会、つまり、ループ制御の発生の原因となるサービス200として特定する機会を低減することができる。
Accordingly, by setting the service 200 that is not considered to cause such loop control as the deletion target service 200 in advance, control information corresponding to the deletion target service 200 is constant in the loop candidate table 900. It is possible to avoid remaining for more than an hour. Thereby, it is possible to reduce the number of
また、図10のステップ805に示す繰り返し回数904が閾値以上であるか否かの判定は、ステップ801で実行されたサービス200に対応する制御情報に含まれる繰り返し回数904だけでなく、ループ候補テーブル900に登録されている全ての制御情報に含まれている繰り返し回数904について行ってもよい。これに合わせて、予め定めた所定数以上の制御情報に含まれている繰り返し回数904が閾値に達した場合に、ステップ806へ遷移するようにしてもよい。
Further, the determination as to whether or not the number of
又は、ステップ806において、競合判断部213が、ステップ805で特定したサービス200に対応する制御情報に含まれる機器ID902と同一の機器ID902を含み、且つ、当該制御情報に含まれるサービスID901とは別のサービスID901を含み、且つ、繰り返し回数904が上記閾値以上となっている制御情報が、ループ候補テーブル900に存在するか否かを判定するようにしてもよい。このように、ステップ806において判定する対象の制御情報を制限することにより、ループ制御が行われていることを、より正確に判断することができる。
Alternatively, in step 806, the
(実施の形態2)
実施の形態1では、ホームコントローラ100上で実行される複数のサービス200による同一機器150に対するループ制御の検出方法とそのループ制御の解消方法について説明した。実施の形態2では、図16に示すように、複数のサービスが広域ネットワーク130に接続されたクラウドサーバ1201やスマートフォン・タブレット等の外部端末1202上等、ホームコントローラ100以外の装置でも実行される場合における、同一機器150に対するループ制御の発生の検出方法及びそのループ制御の解消方法について説明する。
(Embodiment 2)
In the first embodiment, the loop control detection method for the same device 150 by the plurality of services 200 executed on the
尚、図16に示す、クラウドサーバ1201や外部端末1202で実行されるサービスは一例であって、ホームコントローラ100を介して、ホームネットワーク120に接続された機器150の制御を行うサービスであれば、ホームネットワーク120に接続される装置で実行されるサービスであってもよい。以下、実施の形態2の説明では、特筆しない限り、実施の形態1と異なる部分についてのみ説明する。
Note that the services executed in the
図17は、実施の形態2におけるホームコントローラ100を含むホームネットワークシステムの機能構成を示す図である。ホームコントローラ100のハードウェア構成は、実施の形態1と同じであるため説明を省略する。
FIG. 17 is a diagram illustrating a functional configuration of a home network system including the
実施の形態2では、快適空調サービス1200aはクラウドサーバ1201上で実行され、家中省エネサービス1200bはスマートフォン・タブレット等の外部端末1202上で実行される。また、快適調光サービス200cは、実施の形態1と同様にホームコントローラ100上で実行される。以下、広域ネットワーク130を介してホームコントローラ100以外の装置で実行されるサービス1200a、1200bを総称して、サービス1200と記載する。
In the second embodiment, the comfortable
サービス制御部1210は、実施の形態1の構成に加えて、コマンド通信部1217を備える。コマンド通信部1217は、広域ネットワーク130に接続された外部装置との間で制御コマンド等の送受信を行う。つまり、状態監視部214が、サービス1200による監視対象の機器150の状態変化を通知する場合、サービス管理部211がサービス1200の起動要求及び終了要求を通知する場合、及び、サービス1200が機器150の制御要求を通知する場合等、広域ネットワーク130に接続された外部装置との通信は、全てコマンド通信部1217を介して行われる。
The
図17に示すホームコントローラ100の機能構成は、図17に示す各ブロックとして機能させるためのプログラムを中央処理部101に実行させることにより実現できる。尚、図17に示すホームコントローラ100の機能構成は、図17に示す各ブロックとして機能する専用回路を組み合わせることにより実現してもよい。
The functional configuration of the
図18は、サービス管理テーブル1400aの一例を示す図である。サービス管理テーブル1400aは、サービス200、1200のサービスIDと、当該サービス200、1200を実行可能な装置のアドレスと、を対応付けたサービス管理情報を管理するためのテーブルである。サービス管理テーブル1400aは、主記憶部102に記憶される。
FIG. 18 is a diagram illustrating an example of the service management table 1400a. The service management table 1400a is a table for managing service management information in which service IDs of the services 200 and 1200 are associated with addresses of apparatuses that can execute the services 200 and 1200. The service management table 1400a is stored in the
コマンド通信部1217によるサービス管理テーブル1400aへのサービスIDとアドレスの登録フローについて図19を用いて説明する。図19は、実施の形態2においてサービス管理テーブル1400aに情報を登録する処理フローの一例を示す図である。
A registration flow of a service ID and an address in the service management table 1400a by the
外部装置においてサービス1200が起動されると、起動されたサービス1200は、サービス制御部1210へ当該サービス1200の起動を通知する。当該サービス1200の起動通知は、外部装置において起動されたサービス1200が、サービス制御部1210が提供する起動通知APIを広域ネットワーク130を介して呼び出すことによって行われる。これと同様にして、実施の形態2では、サービス実行部212によってサービス200の起動処理が行われると、当該サービス200は、上記起動通知APIを呼び出し、サービス制御部1210へ当該サービス200の起動を通知する。
When the service 1200 is activated in the external device, the activated service 1200 notifies the
上記起動通知APIは、当該APIを呼び出したサービス200、1200のサービスIDと、当該サービス200、1200が起動され、当該サービス200、1200が実行可能になった装置のアドレス(以下、サービス200、1200の実行先のアドレス)と、を当該サービス200、1200から受け取る。そして、当該受け取ったサービスIDと、当該サービス200、1200の実行先のアドレスとをサービス制御部210に通知する。 The activation notification API includes the service ID of the service 200, 1200 that called the API, and the address of the device from which the service 200, 1200 is activated and the service 200, 1200 can be executed (hereinafter, service 200, 1200). Are executed from the services 200 and 1200. Then, the service control unit 210 is notified of the received service ID and the execution destination addresses of the services 200 and 1200.
コマンド通信部1217は、起動通知APIによる、サービス200、1200のサービスIDとサービス200、1200の実行先のアドレスの通知(以下、サービス200、1200の起動通知)を受け取ると(ステップ1500)、当該通知されたサービスIDがサービス管理テーブル1400aに登録されているか否かを検索する(ステップ1501)。
When the
通知されたサービスIDがサービス管理テーブル1400aに登録済の場合(ステップ1502:YES)、コマンド通信部1217は、登録済の当該サービスIDに対応するアドレスとして、ステップ1500で通知されたサービス200、1200の実行先のアドレスを登録する(ステップ1504)。
When the notified service ID is already registered in the service management table 1400a (step 1502: YES), the
通知されたサービスIDがサービス管理テーブル1400aに未登録の場合(ステップ1502:NO)、コマンド通信部1217は、通知されたサービスIDをサービス管理テーブル1400aに登録し(ステップ1503)、登録したサービスIDに対応するアドレスとして、ステップ1500で通知されたサービス200、1200の実行先のアドレスを登録する(ステップ1504)。
When the notified service ID is not registered in the service management table 1400a (step 1502: NO), the
実施の形態2における状態監視テーブル300への機器IDとサービスIDの登録及び削除のフローは、サービス1200の起動及び終了をコマンド通信部1217を介して行う点を除き、図7及び図8に示すフローと同様であるので、説明を省略する。また、実施の形態2におけるループ制御を検出するフローは、図10に示すフローと同様であるため説明を省略する。
The device ID and service ID registration and deletion flows in the state monitoring table 300 according to the second embodiment are shown in FIGS. 7 and 8 except that the service 1200 is started and ended via the
尚、起動通知APIにより通知される情報に、サービス200、1200が状態を監視する対象の機器150の機器IDを含めるようにしてもよい。これに合わせて、コマンド通信部1217が、起動通知APIにより通知されたサービスIDと監視対象の機器IDとを状態監視部214へ通知するようにしてもよい。そして、状態監視部214が、図7に示すフローに基づき、ステップ400で機器状態監視APIにより通知された機器IDとサービスIDと同様、当該コマンド通信部1217から通知された機器IDとサービスIDとを状態監視テーブル300に登録するようにしてもよい。
Note that the information notified by the activation notification API may include the device ID of the device 150 that the service 200, 1200 monitors the status of. In accordance with this, the
この場合、外部装置において起動されたサービス1200が、起動通知APIを用いてサービス1200の起動通知を行った後、更に、図7に示すステップ400において、広域ネットワーク130を介して機器状態監視APIを呼び出し、当該サービス1200が状態の監視する対象の機器150の機器IDと当該サービス1200のサービスIDとを通知することを省略することができる。これにより、外部装置との通信回数を低減することができる。
In this case, after the service 1200 activated in the external device notifies the activation of the service 1200 using the activation notification API, the device status monitoring API is further transmitted via the
以下、実施の形態2において、ループ制御を検出した後の処理について、図20を用いて説明する。図20は、実施の形態2においてループ制御を解消する処理フローの一例を示す図である。 Hereinafter, the processing after the loop control is detected in the second embodiment will be described with reference to FIG. FIG. 20 is a diagram illustrating an example of a processing flow for canceling loop control in the second embodiment.
図10に示すフローに従ってループ制御の発生の原因となるサービス200、1200が競合判断部213によって特定された場合(ステップ1600)、ステップ1001と同様にして、サービス管理部211は、当該特定されたサービス200、1200の中から終了させる対象のサービス200、1200(以下、終了サービス200、1200)を決定する。そして、サービス管理部211は、当該決定した終了サービス200、1200の終了要求を発行し、当該終了要求をコマンド通信部1217へ通知する(ステップ1601)。
When the services 200 and 1200 that cause the occurrence of the loop control are identified by the
コマンド通信部1217は、サービス管理部211から終了サービス200、1200の終了要求の通知を受けると、サービス管理テーブル1400aを参照し、終了サービス200、1200のサービスIDに対応するアドレスを取得する。コマンド通信部1217は、取得したアドレス宛に終了サービス200、1200の終了要求を送信する(ステップ1602)。
When the
これにより、ステップ1602において、外部装置へ終了サービス1200の終了要求が送信された場合、当該終了要求を受け取った外部装置は、当該終了サービス1200の終了処理を行う。一方、ステップ1602において、ホームコントローラ100へ終了サービス200の終了要求が送信された場合、上述したように、図12に示すステップ1002と同様の処理が行われる。
As a result, when a termination request for the termination service 1200 is transmitted to the external device in
その後、表示生成部216は、図12に示すステップ1003と同様にして、図13に示す通知画面W1又は図14に示す通知画面W2に含めるメッセージを生成し、当該生成したメッセージを含む通知画面W1又は通知画面W2を表示部104に表示させる(ステップ1603)。
Thereafter, the
尚、ステップ1602において、コマンド通信部1217が、外部装置へ終了サービス1200の終了要求を送信したとしても、当該外部装置において当該終了サービス200の終了処理を実行する権限が与えられていない、又は、通信障害が発生し、終了サービス1200の終了要求が当該外部装置において受信されない等の理由によって、当該終了サービス1200の終了処理が行われない可能性がある。
In
このため、ステップ1602において、コマンド通信部1217が、外部装置へ終了サービス1200の終了要求を送信することに代えて、コマンド通信部1217が、終了サービス1200から送信される機器150の制御要求を拒否するようにし、当該制御要求を拒否する旨を当該終了サービス1200に返信するようにしてもよい。これにより、当該終了サービス1200を利用するユーザに、当該終了サービス1200による機器150の制御が拒否されていることを知らせるようにしてもよい。
Therefore, in
当該構成は、以下のようにして実現することができる。サービス管理テーブル1400aの構成を、図21に示すサービス管理テーブル1400bのような構成に変更すればよい。つまり、サービス管理テーブル1400aにおいて、起動されたサービス200、1200のサービスIDと、当該サービス200、1200が実行可能な装置のアドレスと、に加え、少なくとも、当該サービス200、1200を終了することができる終了権限を有するか否かを示すフラグ(図21におけるサービス終了権限)と、を対応付けたサービス管理情報を管理するようにすればよい。 This configuration can be realized as follows. What is necessary is just to change the structure of the service management table 1400a to a structure like the service management table 1400b shown in FIG. That is, in the service management table 1400a, in addition to the service IDs of the activated services 200 and 1200 and the addresses of devices that can execute the services 200 and 1200, at least the services 200 and 1200 can be terminated. What is necessary is just to manage the service management information which matched the flag (service termination authority in FIG. 21) which shows whether it has termination authority.
尚、上記フラグは、起動通知APIにより通知される情報に更に付加して、サービス200、1200から通知されるようにすればよい。そして、図19に示すステップ1504において、ステップ1500で起動通知APIにより通知されたサービス200、1200の実行先のアドレスを登録する際に、更に、起動通知APIにより通知されるようになった上記フラグを、当該サービス200、1200のサービスIDと対応付けて登録するようにすればよい。
The flag may be added to information notified by the activation notification API so as to be notified from the services 200 and 1200. Then, in
そして、ステップ1602において、コマンド通信部1217が、サービス管理部211から終了サービス200、1200の終了要求の通知を受けた場合に、当該変更した構成のサービス管理テーブル1400aにおいて当該終了サービス200、1200のサービスIDに対応する上記フラグが終了権限を有しないことを示しているときは、当該終了サービス1200からの制御要求を拒否するようにすればよい。そして、当該制御要求を拒否する旨を当該終了サービス1200に返信するようにすればよい。
In
尚、ステップ1602において、コマンド通信部1217が、通信障害の発生等によって、サービス1200の終了要求を外部装置に正常に送信できなかったときにも、当該サービス1200からの機器150の制御要求を拒否するようにしてもよい。
In
これらのように構成することにより、ホームコントローラ100が終了する権限を持たないサービス1200による制御の実行によってループ制御が発生した場合でも、当該ループ制御を解消することが可能となる。
With such a configuration, even when loop control occurs due to execution of control by the service 1200 that the
また、サービス管理テーブル1400aを、図21に示すサービス管理テーブル1400bのように、起動されたサービス200、1200のサービスIDと、当該サービス200、1200が実行可能な装置のアドレスと、に加え、少なくとも、当該サービス200、1200を起動したユーザを識別するユーザIDと、当該ユーザに関連付けられた端末のアドレスと、を対応付けたサービス管理情報を管理する構成に変更してもよい。 In addition to the service management table 1400a, as in the service management table 1400b shown in FIG. 21, in addition to the service IDs of the activated services 200 and 1200 and the addresses of devices that can execute the services 200 and 1200, at least The service management information in which the user ID for identifying the user who started the services 200 and 1200 is associated with the address of the terminal associated with the user may be changed.
尚、ユーザIDは、起動通知APIにより通知される情報に更に付加して、サービス200、1200から通知されるようにすればよい。ユーザに関連付けられた端末のアドレスは、当該ユーザのユーザIDと予め対応付けて二次記憶部103に記憶しておけばよい。そして、図19に示すステップ1504において、ステップ1500で起動通知APIにより通知されたサービス200、1200の実行先のアドレスを登録する際に、更に、起動通知APIにより通知されるようになったユーザIDと、当該ユーザIDに対応付けて二次記憶部103に記憶されている端末のアドレスと、を当該サービス200、1200のサービスIDと対応付けて登録するようにすればよい。
The user ID may be further added to the information notified by the activation notification API so as to be notified from the services 200 and 1200. The address of the terminal associated with the user may be stored in the
これに合わせて、ステップ1603の処理に加え、コマンド通信部1217が、当該変更した構成のサービス管理テーブル1400aにおいて、ステップ1602で受け取った終了要求が示す終了サービス200、1200のサービスIDと対応付けられている端末のアドレスを取得するようにしてもよい。そして、コマンド通信部1217が、当該取得したアドレス宛に、ステップ1603で表示生成部216が生成したメッセージを通知するようにしてもよい。
Accordingly, in addition to the processing in step 1603, the
このように構成することにより、他のユーザが利用するサービス200、1200に影響を与えることなく、終了サービス200、1200を起動したユーザに、当該終了サービス200、1200による機器150の制御の内容を見直させることができる。 By configuring in this way, the content of the control of the device 150 by the termination service 200, 1200 can be given to the user who started the termination service 200, 1200 without affecting the services 200, 1200 used by other users. It can be reviewed.
本開示は、ホームネットワークに接続された機器、当該機器を遠隔制御するホームコントローラ及びホームコントローラを介して実行されるサービスにおいて有用である。 The present disclosure is useful for a device connected to a home network, a home controller that remotely controls the device, and a service executed via the home controller.
100 ホームコントローラ(制御装置)
101 中央処理部
102 主記憶部(管理部)
103 二次記憶部
104 表示部
105 入力部
106 ホームネットワーク通信部
107 広域ネットワーク通信部
120 ホームネットワーク
130 広域ネットワーク
140 アプリケーションサーバ
150 機器
150a エアコン(機器)
150b 照明(機器)
200 サービス
200a 快適空調サービス(サービス)
200b 家中省エネサービス(サービス)
200c 快適調光サービス(サービス)
210,1210 サービス制御部
211 サービス管理部(終了部)
212 サービス実行部
213 競合判断部(検出部)
214 状態監視部
215 機器制御部
216 表示生成部
1200 サービス
1200a 快適空調サービス
1200b 家中省エネサービス
1201 クラウドサーバ
1202 外部端末
1217 コマンド通信部
100 Home controller (control device)
101
103
150b Lighting (equipment)
200
200b Household energy saving service (service)
200c Comfortable dimming service (service)
210, 1210
212
214
Claims (13)
実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、及び当該制御の内容に関する情報に基づき、一以上の前記機器の状態情報を管理し、
同一の機器の前記状態情報に基づき、前記同一の機器に対する、第1のサービスによる第1の制御の実行と第2のサービスによる第2の制御の実行との繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることを検出し、
前記繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることが検出された場合に、前記第1のサービスと前記第2のサービスの少なくとも一方を終了するための終了要求を発行する、
制御方法。 A control method in a control device that executes two or more services for controlling devices connected to a network,
Based on information for identifying the executed service, information for identifying a device controlled by the service, and information on the content of the control, manage status information of one or more devices,
Based on the status information of the same device, against the same instrument, by the execution of the first control of the first service and the repetition of the execution of the second control by the second service, the first Detecting that the first control by the service is executed a predetermined number of times or more;
For ending at least one of the first service and the second service when it is detected by the repetition that the first control by the first service is executed a predetermined number of times or more. Issue a termination request,
Control method.
請求項1記載の制御方法。 Of the first service and the second service, issue the termination request to the service activated first,
The control method according to claim 1.
請求項1記載の制御方法。 Of the first service and the second service, issue the termination request to a service activated later.
The control method according to claim 1.
請求項1記載の制御方法。 Issuing the termination request to a service other than a preset service among the first service and the second service;
The control method according to claim 1.
前記繰り返しの発生により前記終了要求が発行された旨をユーザに通知するための通知情報を発行する、
請求項1記載の制御方法。 The control method further includes:
Issuing notification information for notifying the user that the termination request has been issued due to the occurrence of the repetition;
The control method according to claim 1.
請求項5記載の制御方法。 The notification information further includes information for identifying the service that caused the occurrence of the repetition.
The control method according to claim 5.
請求項6記載の制御方法。 The notification information further includes a device in which the repetition occurs and a control content in the device.
The control method according to claim 6.
前記通知情報は、前記終了要求が発行されたサービスを起動したユーザに関連づけられた端末に対して送信される、
請求項5記載の制御方法。 Further managing service management information associating information for identifying the activated service, information for identifying a user who has activated the service, and information for identifying a terminal associated with the user;
The notification information is transmitted to a terminal associated with the user who started the service for which the termination request has been issued.
The control method according to claim 5.
所定時間が経過する度に、所定のサービスに対応する前記制御情報を削除する、
請求項1記載の制御方法。 As the status information, information for identifying the executed service, information for identifying a device controlled by the service, information on the content of the control, and control information that associates the number of times the control has been executed are managed. And
Deleting the control information corresponding to a predetermined service each time a predetermined time elapses;
The control method according to claim 1.
前記制御情報と前記状態監視情報とに基づき、前記繰り返しが前記所定回数以上発生していることを検出する、
請求項1又は9に記載の制御方法。 As the status information, information for identifying the executed service, information for identifying a device controlled by the service, information on the content of the control, and control information in which the number of times the control is executed are associated with each other, Managing the information for identifying the device and the status monitoring information associated with the information for identifying one or more of the services that are monitoring the status of the device;
Based on the control information and the state monitoring information, detecting that the repetition has occurred more than the predetermined number of times,
The control method according to claim 1 or 9.
前記サービス提供装置から提供される前記サービスを終了するための終了要求を発行することに代えて、当該サービスによって前記機器を制御するための要求を拒否する、
請求項1記載の制御方法。 The service is provided by a service providing device connected to the control device via a network,
Instead of issuing a termination request for terminating the service provided from the service providing apparatus, a request for controlling the device by the service is rejected.
The control method according to claim 1.
実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、及び当該制御の内容に関する情報に基づき、一以上の前記機器の状態情報を管理する管理部と、
同一の機器の前記状態情報に基づき、前記同一の機器に対する、第1のサービスによる第1の制御の実行と第2のサービスによる第2の制御の実行との繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることを検出する検出部と、
前記繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることが検出された場合に、前記第1のサービスと前記第2のサービスの少なくとも一方を終了するための終了要求を発行する終了部と、
を備える制御装置。 A control device that executes two or more services for controlling devices connected to a network,
A management unit that manages status information of one or more devices based on information identifying the executed service, information identifying a device controlled by the service, and information on the content of the control;
Based on the status information of the same device, against the same instrument, by the execution of the first control of the first service and the repetition of the execution of the second control by the second service, the first A detection unit for detecting that the first control by the service is executed a predetermined number of times or more;
For ending at least one of the first service and the second service when it is detected by the repetition that the first control by the first service is executed a predetermined number of times or more. An end part for issuing an end request;
A control device comprising:
前記コンピュータに、
実行された前記サービスを識別する情報、当該サービスにより制御された機器を識別する情報、及び当該制御の内容に関する情報に基づき、一以上の前記機器の状態情報を管理させ、
同一の機器の前記状態情報に基づき、前記同一の機器に対する、第1のサービスによる第1の制御の実行と第2のサービスによる第2の制御の実行との繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることを検出させ、
前記繰り返しによって、前記第1のサービスによる前記第1の制御が所定回数以上実行されていることが検出された場合に、前記第1のサービスと前記第2のサービスの少なくとも一方を終了するための終了要求を発行させる、
プログラム。 A program for causing a computer to function as a control device that executes two or more services for controlling devices connected to a network,
In the computer,
Based on information for identifying the executed service, information for identifying a device controlled by the service, and information on the content of the control, the status information of one or more of the devices is managed,
Based on the status information of the same device, against the same instrument, by the execution of the first control of the first service and the repetition of the execution of the second control by the second service, the first Detecting that the first control by the service is executed a predetermined number of times or more;
For ending at least one of the first service and the second service when it is detected by the repetition that the first control by the first service is executed a predetermined number of times or more. Issue a termination request,
program.
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201610261743.3A CN106168763B (en) | 2015-05-22 | 2016-04-25 | Control method and controller |
| EP16169193.6A EP3096494B1 (en) | 2015-05-22 | 2016-05-11 | Control method, controller, and recording medium |
| US15/156,337 US10063386B2 (en) | 2015-05-22 | 2016-05-17 | Control method, controller, and recording medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015104636 | 2015-05-22 | ||
| JP2015104636 | 2015-05-22 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016218993A JP2016218993A (en) | 2016-12-22 |
| JP6615628B2 true JP6615628B2 (en) | 2019-12-04 |
Family
ID=57578571
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2016017793A Expired - Fee Related JP6615628B2 (en) | 2015-05-22 | 2016-02-02 | Control method, control device, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6615628B2 (en) |
-
2016
- 2016-02-02 JP JP2016017793A patent/JP6615628B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016218993A (en) | 2016-12-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6140214B2 (en) | CONTROL DEVICE, CONTROL DEVICE CONTROL METHOD, CONTROL SYSTEM, ENVIRONMENT CONTROL DEVICE, AND CONTROL PROGRAM | |
| US8909356B2 (en) | Appliance control device, registration method of appliance control device, and program | |
| JP5960184B2 (en) | COMMUNICATION SYSTEM, CONTROL DEVICE, SERVER DEVICE, CONTROL METHOD, AND INFORMATION PROCESSING METHOD | |
| WO2018010533A1 (en) | Device control system, method and apparatus, and gateway | |
| CN104765291A (en) | Method, device and gateway for controlling intelligent device | |
| US20210167984A1 (en) | Method for controlling an air conditioner, communication control method, and communication system | |
| CN106559473A (en) | Control method and control device | |
| US11074059B2 (en) | Non-transitory computer-readable recording medium storing instructions controlling operation of mobile terminal | |
| CN108490896B (en) | Home appliance control method, home appliance and storage medium | |
| JP2018107684A (en) | Communication apparatus, communication system, device, program and communication control method | |
| KR20170003372A (en) | Control apparatis and control system | |
| JP7366718B2 (en) | Communications system | |
| US11985574B2 (en) | Environment control system for controlling environmental conditions in a building | |
| US20170094035A1 (en) | Management method and management device | |
| WO2020034522A1 (en) | Method and apparatus for connecting to network, smart device, and user terminal | |
| CN109974208B (en) | Air conditioning system, control method, control terminal and storage medium | |
| JP6615628B2 (en) | Control method, control device, and program | |
| US9922552B2 (en) | Method of controlling device in manner free from contention among multiple controllers | |
| US9979811B2 (en) | Controller, control system, and method for controlling control system | |
| CN106168763B (en) | Control method and controller | |
| TW201722207A (en) | Control System | |
| JP2017055482A (en) | Control device and home appliance control method | |
| CN105333574B (en) | The recognition methods of base station air conditioner system connected mode and base station air conditioner system | |
| CN111478830A (en) | Remote operation system, communication device, and computer program | |
| CN114785913B (en) | Display device and device information processing method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180827 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190724 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190806 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191007 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20191023 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191106 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6615628 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |