ネットワークを介して接続された複数のデバイスを制御する制御装置に、前記デバイスの稼動状況の変化通知を受信したときに、前記稼動状況の変化時刻と前記稼動状況の変化情報とを関連付けた履歴情報を記憶部に蓄積し、前記記憶部に蓄積された履歴情報を参照して、前記稼動状況の変化通知に係るデバイスに連動して稼動状況が変化する関連デバイスを特定し、前記稼動状況の変化通知に係るデバイスの情報と前記関連デバイスの情報とを関連付けた関連情報を前記記憶部に格納し、前記デバイスを排他制御する排他制御コマンドを受信したときに、前記排他制御コマンドに係るデバイスをロックし、前記デバイスを制御する制御コマンドを受信したときに、前記記憶部に格納された関連情報を参照して、前記制御コマンドに係るデバイスに連動して稼動状況が変化する関連デバイスをロックすると共に、前記制御コマンドに係るデバイスを制御する、処理を実行させるデバイス制御プログラム。前記記憶部は、前記デバイスの設置場所情報を更に格納し、前記関連デバイスをロックする処理は、前記記憶部に格納されたデバイスの設置場所情報を参照して、前記制御コマンドに係るデバイスの設置場所と前記関連デバイスの設置場所とが同一であるときに、前記関連デバイスをロックする、請求項1に記載のデバイス制御プログラム。前記記憶部は、季節及び時間帯ごとに前記関連情報を更に格納し、前記関連情報を記憶部に格納する処理、及び、前記関連デバイスをロックする処理は、季節及び時間帯に応じた前記関連情報を選択して各処理を実行する、請求項1又は請求項2に記載のデバイス制御プログラム。前記関連デバイスを特定する処理は、前記稼動状況の変化通知に係るデバイスに連動して稼動状況を示す情報が所定の閾値以上変化したデバイスを、前記関連デバイスであると特定する、請求項1~請求項3のいずれか1つに記載のデバイス制御プログラム。前記所定の閾値は、前記デバイスの特性に応じて変化する、請求項4に記載のデバイス制御プログラム。前記関連デバイスを特定する処理は、前記記憶部に蓄積された履歴情報のうち、前記稼動状況の変化通知に係るデバイスの稼動状況の変化時刻を含む所定時間内の履歴情報を対象として、前記関連デバイスを特定する、請求項1~請求項5のいずれか1つに記載のデバイス制御プログラム。前記所定時間は、前記稼動状況の変化通知に係るデバイスの特性、及び、前記関連デバイスの特定対象となるデバイスの特性に応じて変化する、請求項6に記載のデバイス制御プログラム。前記記憶部は、前記履歴情報の蓄積対象となるデバイスのリストを更に格納し、前記履歴情報を記憶部に蓄積する処理は、前記記憶部に格納されたリストを参照して、前記リストに登録されているデバイスについて前記履歴情報を蓄積する、請求項1~請求項7のいずれか1つに記載のデバイス制御プログラム。ネットワークを介して接続された複数のデバイスのいずれかから、前記デバイスの稼動状況の変化通知を受信したときに、前記稼動状況の変化時刻と前記稼動状況の変化情報とを関連付けた履歴情報を蓄積する履歴情報蓄積部と、前記履歴情報蓄積部に蓄積された履歴情報を参照して、前記稼動状況の変化通知に係るデバイスに連動して稼動状況が変化する関連デバイスを特定し、前記稼動状況の変化通知に係るデバイスの情報と前記関連デバイスの情報とを関連付けた関連情報を格納する関連情報格納部と、前記デバイスを排他制御する排他制御コマンドを受信したときに、前記排他制御コマンドに係るデバイスをロックするデバイスロック部と、前記デバイスを制御する制御コマンドを受信したときに、前記関連情報格納部に格納された関連情報を参照して、前記制御コマンドに係るデバイスに連動して稼動状況が変化する関連デバイスをロックすると共に、前記制御コマンドに係るデバイスを制御するデバイス制御部と、を有するデバイス制御装置。ネットワークを介して接続された複数のデバイスを制御する制御装置が、前記デバイスの稼動状況の変化通知を受信したときに、前記稼動状況の変化時刻と前記稼動状況の変化情報とを関連付けた履歴情報を記憶部に蓄積し、前記記憶部に蓄積された履歴情報を参照して、前記稼動状況の変化通知に係るデバイスに連動して稼動状況が変化する関連デバイスを特定し、前記稼動状況の変化通知に係るデバイスの情報と前記関連デバイスの情報とを関連付けた関連情報を前記記憶部に格納し、前記デバイスを排他制御する排他制御コマンドを受信したときに、前記排他制御コマンドに係るデバイスをロックし、前記デバイスを制御する制御コマンドを受信したときに、前記記憶部に格納された関連情報を参照して、前記制御コマンドに係るデバイスに連動して稼動状況が変化する関連デバイスをロックすると共に、前記制御コマンドに係るデバイスを制御する、処理を実行するデバイス制御方法。このような排他制御を利用することで、あるデバイスにおいて、複数のサービスから矛盾した制御がなされることが回避されるが、これだけでは不十分となる場合がある。具体的には、番組録画サービスがDVDレコーダで録画を開始したとき、DVDレコーダが接続されている電源タップコンセントや分電盤も排他制御しなければ、省エネサービスがコンセントや分電盤のスイッチを切ってしまう可能性がある。このように、あるサービスがデバイスを制御する際に、直接の制御対象であるデバイスだけでなく、これに関連するデバイス関連デバイスも併せて排他制御しなければ、そのサービスが正しく提供されない場合がある。従って、各サービスが関連デバイスも排他制御する必要があるが、ユーザの住宅に設置されるデバイスを特定することは困難であり、関連デバイスの排他制御が行われていなかった。そこで、本発明は従来技術の問題点に鑑み、直接の制御対象であるデバイスに加え、これに関連するデバイスも排他制御できるようにした技術を提供することを目的とする。ネットワークを介して接続された複数のデバイスを制御する制御装置は、デバイスの稼動状況の変化通知を受信したときに、稼動状況の変化時刻と稼動状況の変化情報とを関連付けた履歴情報を記憶部に蓄積する。また、制御装置は、記憶部に蓄積された履歴情報を参照して、稼動状況の変化通知に係るデバイスに連動して稼動状況が変化する関連デバイスを特定し、稼動状況の変化通知に係るデバイスの情報と関連デバイスの情報とを関連付けた関連情報を記憶部に格納する。制御装置は、デバイスを排他制御する排他制御コマンドを受信したときに、排他制御コマンドに係るデバイスをロックする。制御装置は、デバイスを制御する制御コマンドを受信したときに、記憶部に格納された関連情報を参照して、制御コマンドに係るデバイスに連動して稼動状況が変化する関連デバイスをロックすると共に、制御コマンドに係るデバイスを制御する。直接の制御対象であるデバイスに加え、これに関連する関連デバイスも排他制御できるようになる。以下、添付された図面を参照し、本発明を実施するための実施形態について詳細に説明する。図1は、デバイス制御装置が組み込まれた情報システムの一例を示す。ユーザの住宅100には、遠隔制御可能なデバイスDVCの一例として、DVDレコーダ110、スマートコンセント120、エアコンディショナ130、温度センサ140、電動窓150及び分電盤160が設置されている。DVDレコーダ110、スマートコンセント120、エアコンディショナ130、温度センサ140、電動窓150及び分電盤160は、有線LANLocalAreaNetworkを介してプライベートネットワークであるホームネットワーク200に接続されている。また、ホームネットワーク200には、有線LANを介して、デバイス制御装置として機能するホームサーバ170が接続されている。DVDレコーダ110は、例えば、通信プロトコルの一例であるDLNADigitalLivingNetworkAlliance、登録商標を用いて、稼動状況の変化をホームサーバ170に通知したり、外部からの制御コマンドに応じて録画予約の設定などを行うことができる。スマートコンセント120及び分電盤160は、例えば、通信プロトコルの一例であるECHONETEnergyConservationandHomeNetwork、登録商標を用いて、各端子に接続されているデバイスDVCの消費電力を定期的にホームサーバ170に通知したり、外部からの制御コマンドに応じて各端子に接続されているデバイスDVCの消費電力を通知することができる。また、スマートコンセント120及び分電盤160は、外部からの制御コマンドに応じて各端子への給電を遮断することもできる。なお、本実施形態では、スマートコンセント120及び分電盤160は、所定時間例えば1秒ごとに各端子に接続されているデバイスDVCの消費電力を測定し、その測定値をホームサーバ170に通知するものとする。エアコンディショナ130及び電動窓150は、例えば、ECHONETを用いて、稼動状況の変化をホームサーバ170に通知したり、外部からの制御コマンドに応じて稼動状況を変更することができる。温度センサ140は、例えば、ECHONETを用いて、現在の温度室温を定期的にホームサーバ170に通知したり、外部からの要求に応じて現在の温度を通知することができる。なお、本実施形態では、温度センサ140は、定期的例えば1分ごとに室温を測定し、その測定値をホームサーバ170に通知するものとする。住宅100に設置された各種デバイスDVCの通信プロトコルとしては、DLNAやECHONETに限らず、公知の各種通信プロトコルを採用することができる。また、図1に示す情報システムでは、各デバイスDVCは、有線LANを介してホームネットワーク200に接続されているが、無線LANを介してホームネットワーク200に接続されていてもよい。さらに、各デバイスDVCは、各種アダプタなどを用いることで、ZigBee登録商標やBluetooth登録商標などの無線通信技術によってホームネットワーク200に接続されていてもよい。ホームネットワーク200は、ブロードバンドルータ180を介して、インターネット300に接続されている。インターネット300には、住宅100に設置されたデバイスDVCを遠隔制御するサービスの一例として、例えば、番組録画サービス、省エネサービス及び空調サービスなどを提供するサービス業者のサーバ400が接続されている。番組録画サービスは、例えば、ユーザが携帯電話を用いてテレビ番組の予約を行うと、住宅100に設置された録画機器DVDレコーダ110などを遠隔制御して番組録画を実現するサービスである。省エネサービスは、ユーザの環境情報などに応じて、住宅100に設置されたエアコンディショナ130や電動窓150などを遠隔制御して消費電力を低減するサービスである。空調サービスは、例えば、ユーザが携帯電話を用いて室温を設定すると、住宅100に設置されたエアコンディショナ130や電動窓150を遠隔制御して室温を設定温度にするサービスである。なお、インターネット300に接続されたサーバ400が住宅100のデバイスDVCにアクセスすることは通常不可能であるが、ブロードバンドルータ180でポートフォワーディングを設定しておくことで実現可能である。具体的には、ブロードバンドルータ180において、特定のポート番号への通信データをホームサーバ170に転送するように設定しておくことで、デバイスDVCを遠隔制御できるようになる。インターネット300に接続されたサーバ400からデバイスDVCへのアクセスは、ポートフォワーディング以外の技術を利用して実現してもよい。ホームサーバ170は、図2に示すように、メモリA、CPUCentralProcessingUnitなどのプロセッサB、ハードディスクC、リムーバブルディスクDを読み込むドライブ装置E及び通信装置FがバスGで接続されたコンピュータである。ハードディスクCは、記憶部として機能する。リムーバブルディスクDは、例えば、CD-ROMCompactDiskReadOnlyMemory、DVD-ROMDigitalVersatileDiskReadOnlyMemoryなどの可搬記録媒体である。リムーバブルディスクDに代えて、フラッシュメモリを内蔵したUSBUniversalSerialBusメモリなどを使用することもできる。通信装置Fは、バスGとホームネットワーク200とを接続する、例えば、NICNetworkInterfaceCardなどである。ホームサーバ170のハードディスクCは、図3に示すように、履歴テーブル172と、変化テーブル174と、ロックテーブル176と、を夫々格納する。履歴テーブル172は、デバイスDVCの稼動状況の変化を時系列に沿って記憶するテーブルであって、図4に示すように、稼動状況が変化した時刻、デバイスDVCを特定するデバイスID、変化した稼動状況を特定するプロパティ、及び、プロパティの値を関連付けた履歴情報を保持する。変化テーブル174は、図5に示すように、稼動状況が変化したデバイスDVCトリガデバイスと、トリガデバイスに連動して稼動状況が変化したデバイスDVC関連デバイスと、を関連付けた関連情報を保持する。トリガデバイス及び関連デバイスは、夫々、デバイスID、プロパティ及びその値変化特性を含む。ロックテーブル176は、デバイスDVCの排他制御状況を記憶するテーブルであって、図6に示すように、排他制御を実現するためのロックを特定するロックID、サービス内容を特定するサービスID、直接の制御対象となるデバイスDVCを特定するデバイスID、及び、関連ロックIDを関連付けたロック情報を保持する。ここで、関連ロックIDは、ロックIDにより特定されるロックが実行された契機となったロックIDを示す。なお、履歴テーブル172は、住宅100に設置されるデバイスDVCが変更されることに鑑み、例えば、1ヶ月などの所定期間に亘る履歴情報を保持すればよい。ホームサーバ170のプロセッサBは、メモリAに展開されたデバイス制御プログラムを実行することで、図3に示すように、履歴情報蓄積部170Aと、関連情報格納部170Bと、デバイスロック部170Cと、デバイス制御部170Dと、を具現化する。履歴情報蓄積部170Aは、デバイスDVCから稼動状況の変化通知があったことを契機として、履歴テーブル172に履歴情報を時系列で蓄積する。関連情報格納部170Bは、履歴情報蓄積部170Aが履歴テーブル172に履歴情報を蓄積したことを契機として、変化テーブル174に関連情報を格納する。デバイスロック部170Cは、サーバ400からロックコマンド排他制御コマンド又はロック解除コマンドを受信したことを契機として、デバイスDVCのロック情報を管理するためのロックテーブル176を更新する。デバイス制御部170Dは、サーバ400から制御コマンドを受信したことを契機として、ロックテーブル176を更新すると共に、デバイスDVCを制御する。図7及び図8は、ホームサーバ170の履歴情報蓄積部170A、関連情報格納部170B、デバイスロック部170C及びデバイス制御部170Dが協働して実行するデバイス制御処理を示す。なお、デバイス制御処理は、イベント通知があったとき、具体的には、デバイスDVCから稼動状況の変化通知があったとき、又は、サーバ400から各種コマンドが到着したことを契機として実行される。ステップ1図ではS1と略記する。以下同様。では、履歴情報蓄積部170Aが、通知されたイベントを解析することで、イベントはデバイスDVCの稼動状況の変化通知であるか否かを判定する。そして、履歴情報蓄積部170Aは、稼動状況の変化通知であると判定すれば処理をステップ2へと進める一方Yes、稼動状況の変化通知でないと判定すれば処理をステップ6へと進めるNo。ステップ2では、履歴情報蓄積部170Aが、ハードディスクCに格納された履歴テーブル172を更新する。即ち、履歴情報蓄積部170Aは、デバイスDVCの稼動状況が変化した時刻、稼動状況が変化したデバイスのデバイスID、変化した稼動状況のプロパティ及びプロパティの値を関連付けた履歴情報を生成し、この履歴情報を履歴テーブル172に追加する。ステップ3では、関連情報格納部170Bが、ハードディスクCの履歴テーブル172を参照し、稼動状況の変化通知に係るデバイスDVCに連動して稼動状況が変化した関連デバイスの候補を抽出する。即ち、関連情報格納部170Bは、履歴テーブル172を参照し、稼動状況の変化通知に係るデバイスDVCの時刻イベント発生時刻を取得する。また、関連情報格納部170Bは、履歴テーブル172を再度参照し、イベント発生時刻を含む所定時間内例えば前後3秒に、プロパティの値が所定の閾値例えば1を越えて変化した他のデバイスを検索し、これを関連デバイスの候補として抽出する。ステップ4では、関連情報格納部170Bが、関連デバイスの候補があるか否か、即ち、ステップ3において関連デバイスの候補が抽出できたか否かを判定する。そして、関連情報格納部170Bは、関連デバイスの候補があると判定すれば処理をステップ5へと進める一方Yes、関連デバイスの候補がないと判定すれば処理を終了させるNo。ステップ5では、関連情報格納部170Bが、ハードディスクCに格納された変化テーブル174を更新する。即ち、関連情報格納部170Bは、稼動状況の変化通知に係るデバイスDVCのデバイスID、プロパティ及びその値に対して、関連デバイスの候補のデバイスID、プロパティ及びその変化特性を関連付けた関連情報を生成し、この関連情報を変化テーブル174に追加する。ステップ6では、デバイスロック部170Cが、通知されたイベントを解析することで、イベントはロックコマンド又はロック解除コマンドであるか否かを判定する。そして、デバイスロック部170Cは、ロックコマンド又はロック解除コマンドであると判定すれば処理をステップ7へと進める一方Yes、ロックコマンド又はロック解除コマンドのいずれでもないと判定すれば処理をステップ11へと進めるNo。ステップ7では、デバイスロック部170Cが、ロックコマンド又はロック解除コマンドから、サービス内容を特定するサービスID、及び、ロック又はロック解除の対象となるデバイスDVCのデバイスIDを抽出する。ステップ8では、デバイスロック部170Cが、ハードディスクCのロックテーブル176を参照し、ロック又はロック解除の対象となるデバイスDVCが他のサービスによりロックされているか否かを判定する。即ち、デバイスロック部170Cは、ロックテーブル176を参照し、ステップ7で抽出されたデバイスIDを含むロック情報のうち、ステップ7で抽出されたサービスIDとは異なるサービスIDを含むものが存在するか否かを介して、他のサービスによりロックされているか否かを判定する。そして、デバイスロック部170Cは、他のサービスによりロックされていないと判定すれば処理をステップ9へと進める一方Yes、他のサービスによりロックされていると判定すれば処理をステップ10へと進めるNo。ステップ9では、デバイスロック部170Cが、ハードディスクCに格納されたロックテーブル176を更新する。即ち、デバイスロック部170Cは、イベントがロックコマンドである場合、ロックIDに対して、ステップ7で抽出されたサービスID及びデバイスIDを関連付けたロック情報を生成し、このロック情報をロックテーブル176に追加する。また、デバイスロック部170Cは、イベントがロック解除コマンドである場合、ステップ7で抽出されたサービスID及びデバイスIDを含むロック情報、並びに、このロック情報のロックIDが関連ロックIDに格納されているロック情報を、ロックテーブル176から削除する。ステップ10では、デバイスロック部170Cが、ロックコマンド又はロック解除コマンドを発行したサーバ400に対して、ロックコマンド又はロック解除コマンドの対象となるデバイスDVCが他のサービスによりロックされていることを示すエラーメッセージを返却する。ステップ11では、デバイス制御部170Dが、通知されたイベントを解析することで、イベントはデバイスDVCを遠隔制御する制御コマンドであるか否かを判定する。そして、デバイス制御部170Dは、制御コマンドであると判定すれば処理をステップ12へと進める一方Yes、制御コマンドでないと判定すれば処理を終了させるNo。ステップ12では、デバイス制御部170Dが、制御コマンドから、制御対象となるデバイスDVCを特定するデバイスID、及び、どのように制御するかを特定する制御内容を抽出する。ステップ13では、デバイス制御部170Dが、ハードディスクCのロックテーブル176を参照し、ステップ12で抽出されたデバイスIDを含むロック情報が存在するか否かを介して、制御対象となるデバイスDVCがロック中であるか否かを判定する。そして、デバイス制御部170Dは、デバイスDVCがロック中であると判定すれば処理をステップ14へと進める一方Yes、デバイスDVCがロック中でないと判定すれば処理をステップ17へと進めるNo。ステップ14では、デバイス制御部170Dが、ハードディスクCの変化テーブル174を参照し、制御対象となるデバイスDVCの関連デバイスを抽出する。即ち、デバイス制御部170Dは、制御コマンドからプロパティ及びその値を抽出し、トリガデバイスとして、制御コマンドから抽出されたデバイスID、プロパティ及びその値を含む関連情報を特定する。また、デバイス制御部170Dは、特定された関連情報の関連デバイスからデバイスID、プロパティ及びその値を抽出し、抽出されたデバイスID、プロパティ及びその値の逆の変化特性を含む関連デバイスに対応したトリガデバイスを特定する。そして、デバイス制御部170Dは、特定されたトリガデバイスのうち、制御コマンドのデバイスIDとは異なるデバイスIDを有するトリガデバイスを、関連デバイスとして抽出する。ステップ15では、デバイス制御部170Dが、関連デバイスがあるか否か、即ち、ステップ4において関連デバイスが抽出できたか否かを判定する。そして、デバイス制御部170Dは、関連デバイスがあると判定すれば処理をステップ16へと進める一方Yes、関連デバイスがないと判定すれば処理をステップ17へと進めるNo。ステップ16では、デバイス制御部170Dが、ハードディスクCに格納されたロックテーブル176を更新する。即ち、デバイス制御部170Dは、ロックIDに対して、制御コマンドから抽出したサービスID、関連デバイスから抽出したデバイスID、並びに、制御コマンドから抽出したサービスID及びデバイスIDにより特定されるロック情報のロックIDを関連付けたロック情報を生成し、このロック情報をロックテーブル176に追加する。ステップ17では、デバイス制御部170Dが、制御コマンドに基づいて、デバイスDVCを制御する。かかるデバイス制御処理によれば、デバイスDVCから稼動状況の変化通知があると、イベント発生時刻、デバイスID、プロパティ及びその値を関連付けた履歴情報が履歴テーブル172に追加される。また、稼動状況の変化通知を契機として、関連デバイスの候補として、履歴テーブル172から、イベント発生時刻を含む所定時間内にプロパティの値が所定の閾値を越えて変化した他のデバイスが検索される。そして、稼動状況の変化通知に係るデバイスDVCのデバイスID、プロパティ及びその値と、関連デバイスの候補に係るデバイスDVCのデバイスID、プロパティ及びその値変化特性と、を関連付けた関連情報が変化テーブル174に追加される。このため、ユーザの住宅100において、各種デバイスDVCの稼動状況の変化に応じて、このデバイスDVCに連動して稼動状況が変化する関連デバイスの候補が自動的に蓄積されることとなる。従って、ユーザ又は各種サービスを提供するサービス業者が事前に関連デバイスを把握する必要がなく、また、新たなデバイスDVCの追加にも容易に対応可能であるため、サービス管理者及びユーザの利便性を改善することができる。各種サービスを提供するサーバ400からロックコマンド又はロック解除コマンドが到着したとき、ロック又はロック解除の対象となるデバイスDVCが他のサービスによりロックされていなければ、排他制御のためのロックテーブル176が更新される。一方、各種サービスを提供するサーバ400からロックコマンド又はロック解除コマンドが到着したとき、ロック又はロック解除の対象となるデバイスDVCが他のサービスによりロックされていれば、そのデバイスDVCは他のサービスにより排他制御されていることを示すエラーメッセージが返却される。また、各種サービスを提供するサーバ400から制御コマンドが到着したとき、制御対象となるデバイスDVCがロック中であれば、変化テーブル174から、制御対象となるデバイスDVCに連動して稼動状況が変化する関連デバイスが抽出される。また、関連デバイスがあれば、制御対象となるデバイスDVCに加え、関連デバイスがロックされるように、ロックテーブル176が更新される。一方、関連デバイスがなければ、制御対象となるデバイスDVCは他に影響を与えないと判断される。そして、制御コマンドに基づいて、デバイスDVCが制御される。このため、デバイスDVCの稼動状況の変化通知を契機として自動的に蓄積された履歴情報を利用し、制御対象となるデバイスDVCに連動して稼動状況が変化する関連デバイスの排他制御が実行されることとなる。従って、あるサービスがデバイスDVCを制御する際に、直接の制御対象であるデバイスDVCだけでなく、これに関連する関連デバイスも併せて排他制御されることとなり、そのサービスが正しく提供されるようになる。ここで、図7のステップ3において、関連情報格納部170Bが関連デバイスの候補を抽出するとき、次のような処理を更に行うようにしてもよい。関連デバイスの候補の抽出は、図9に示すように、デバイスIDが列挙されたデバイスリスト500を用い、デバイスリスト500に列挙されたデバイスIDにより特定されるデバイスDVCに対してのみ実行してもよい。このようにすれば、特定のデバイスDVCの稼動状況が変化したときのみ、関連デバイスの候補の抽出が実行されるので、いわゆる検索対象の絞り込みを通して、抽出効率を向上させることができる。特定のデバイスDVCとしては、例えば、テレビ、DVDレコーダ、エアコンディショナ、PCPersonalComputer、照明など、ユーザが主に操作するデバイスが想定される。また、関連デバイスの候補を抽出するための所定時間は、図10に示すような検索範囲テーブル510を用い、検索対象となるデバイスDVC検索対象デバイス及び稼動状況の変化通知に係るデバイスDVCトリガデバイスに応じた値をとるようにしてもよい。このようにすれば、検索対象デバイス及びイベントの特性に合わせて、所定時間を動的に変更することができる。なお、図10に示す検索範囲テーブル510は、通信プロトコルがECHONETである場合の一例を示している。検索範囲テーブル510は、検索対象デバイスの種別及びその値と、トリガデバイスの種別、値、プロパティ及びプロパティ値と、検索範囲と、を関連付けたレコードを保持する。検索対象デバイスの種別には、検索対象デバイスの値に格納された情報がデバイスの種別を示すCategoryID、又は、検索対象デバイスの値に格納された情報がデバイスIDを示すDeviceIDが格納される。検索対象デバイスの値には、検索対象デバイスの種別に応じた値が格納される。トリガデバイスの種別には、対象デバイスの種別と同様に、CategoryID又はDeviceIDが格納される。トリガデバイスの値には、トリガデバイスの種別に応じた値が格納される。トリガデバイスのプロパティには、関連デバイスの候補を抽出する契機となったイベントのプロパティが格納される。トリガデバイスのプロパティ値には、トリガデバイスのプロパティに応じた値が格納される。検索範囲には、所定時間を規定するための時間、例えば、イベント発生時刻を中心とした時間幅を規定する所定時間の1/2が格納される。なお、トリガデバイスの種別、値、プロパティ及びプロパティ値を特定しない場合には、そのエントリが空白とされる。図10に示す検索範囲テーブル510では、種別がOutletである検索対象デバイスの検索範囲は、トリガデバイスの如何にかかわらず、イベント発生時刻の前後1秒であることが規定されている。デバイスIDがThermometer1である検索対象デバイスの検索範囲は、トリガデバイスのデバイスIDがAirConditioner1である場合、トリガデバイスのプロパティ及びプロパティ値の如何にかかわらず、イベント発生時刻の前後3分であることが規定されている。デバイスIDがThermometer2である検索対象デバイスの検索範囲は、トリガデバイスのデバイスIDがAirConditioner2である場合、プロパティがOperationStatusでプロパティ値がOnであれば、イベント発生時刻の前後5分、プロパティがOperationStatusでプロパティ値がOffであれば、イベント発生時刻の前後3分であることが規定されている。さらに、関連デバイスの候補を抽出するための閾値は、図11に示すような閾値テーブル520を用い、検索対象となるデバイスDVCのイベント特性に応じた値をとるようにしてもよい。このようにすれば、検索対象となるデバイスDVCのイベント特性に合わせて、所定の閾値を動的に変更することができる。なお、なお、図11に示す閾値テーブル520は、通信プロトコルがECHONETである場合の一例を示している。閾値テーブル520は、検索対象デバイスの種別、値及びプロパティと、閾値と、を関連付けたレコードを保持する。検索対象デバイスの種別には、検索対象デバイスの値に格納された情報がデバイスの種別を示すCategoryID、又は、検索対象デバイスの値に格納された情報がデバイスIDを示すDeviceIDが格納される。検索対象デバイスの値には、検索対象デバイスの種別に応じた値が格納される。検索対象デバイスのプロパティには、関連デバイスの候補を抽出する対象となるイベントのプロパティが格納される。閾値には、イベント発生時刻を含む所定時間内で、プロパティ値がどれだけ変化したときに関連デバイスの候補であると判定するための値が格納される。なお、検索対象デバイスの種別及び値を特定しない場合には、そのエントリが空白とされる。図11に示す閾値テーブル520では、あるデバイスDVCのプロパティOperationStatusに変化があったときに、このデバイスを関連デバイスの候補であると判定することが規定されている。これは、プロパティが文字列である場合に有効な指定方法であり、閾値のCHANGEDはプロパティ値に何らかの変化があることを示す固定値である。種別がOutletである検索対象デバイスは、プロパティSmallSensorInstantPowerが1以上変化したときに、このデバイスを関連デバイスの候補であると判定することが規定されている。種別がThermometerである検索対象デバイスは、プロパティMeasuredTempが1以上変化したときに、このデバイスを関連デバイスの候補であると判定することが規定されている。なお、デバイスリスト500、検索範囲テーブル510及び閾値テーブル520は、例えば、ユーザ又はサービス業者により予め設定され、公知の手段により、ホームサーバ170のハードディスクCに格納されていればよい。ところで、各種サービスを提供するサーバ400からデバイスDVCの制御コマンドが到着したときに、その関連デバイスを排他制御することが必ずしも適切でない場合がある。冬季の場合、リビングルームに設置されたエアコンディショナ130の電源をONにすると、リビングルームの室温が上昇する一方、リビングルームとは異なる部屋に設置された電動窓150を開放すると、その部屋の室温が下降する。このため、前述したデバイス制御装置では、電動窓150は、エアコンディショナ130に関連する関連デバイスであると判定されてしまう。しかし、エアコンディショナ130を排他制御する際に、これとは異なる部屋に設置された電動窓150も併せて排他制御されてしまうと、例えば、電動窓150が設置された部屋の換気を行いたくてもできなくなってしまう。このため、ホームサーバ170のデバイス制御部170Dは、ハードディスクCに格納されたプロファイルテーブル530図12参照を用いて、直接の制御対象であるデバイスDVCとは異なる部屋に設置されている関連デバイスをロックしないように排他制御してもよい。プロファイルテーブル530は、デバイスID、デバイス種別及び設置場所を関連付けた設置場所情報を保持する。そして、ホームサーバ170のデバイス制御部170Dは、図8に示すステップ15とステップ16との間において、図13に示すようなステップ21及びステップ22を更に実行する。ステップ21では、デバイス制御部170Dが、ハードディスクCのプロファイルテーブル530を読み込む。ステップ21では、デバイス制御部170Dが、制御コマンドにより直接制御されるデバイスDVCと関連デバイスとの設置場所が異なるか否かを判定する。そして、デバイス制御部170Dは、設置場所が異なると判定すれば処理をステップ16へと進める一方Yes、設置場所が同じであると判定すれば処理をステップ17へと進めるNo。このようにすれば、各種サービスを提供するサーバ400から制御コマンドが到着したときに、異なる部屋に設置されたデバイスDVCが同時に排他制御されることがなく、ユーザの利便性を確保することができる。エアコンディショナ130の電源をONにすると、冬季では暖房運転のため室温が上昇するが、夏季では冷房運転のため室温が低下する。また、電動窓150を開放すると、冬季では室温が低下するが、夏季では時間帯に応じて室温が上昇したり低下したりする。このように、季節例えば、夏期、冬期、中間期及び時間帯例えば、午前、午後、夜間に応じて、デバイスDVCに連動して変化する稼動状況が変動するため、次のような処理を更に追加してもよい。ホームサーバ170のハードディスクCは、季節及び時間帯ごとに異なる、図5に示す変化テーブル174を格納する。そして、ホームサーバ170のデバイス制御部170Dは、変化テーブル174を参照又は更新する際に、季節及び時間帯に応じて変化テーブル174を選択すればよい。このようにすれば、季節及び時間帯に応じたデバイスDVCの排他制御が実行されるようになる。なお、以上の実施形態においては、ホームサーバ170においてデバイス制御装置が作動していたが、コンピュータを内蔵したデバイスDVC、ブロードバンドルータ180などにおいてデバイス制御装置が作動していてもよい。次に、以上の実施形態について理解を容易ならしめることを目的として、具体的な事例を想定した実施例について説明する。なお、以下の説明では、特に断らない限り、通信プロトコルとして、ECHONETを使用するものとする。[実施例1]実施例1の前提条件として、DVDレコーダ110のデバイスIDがDVD1、DVDレコーダ110の電源ケーブルが接続されているスマートコンセント120のデバイスIDがOutlet1、番組録画サービスのサービスIDがRecordServiceであるとする。スマートコンセント120は、1秒ごとにDVDレコーダ110の消費電力を測定し、デバイスIDがOutlet1、プロパティがSmallSensorInstantPower、プロパティの値が電力測定値に設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、スマートコンセント120からイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値消費電力を関連付けた履歴情報を生成し、図14に示すように、この履歴情報をハードディスクCの履歴テーブル172に時系列で順次蓄積する。ここで、図14に示す履歴テーブル172において、スマートコンセント120で測定された消費電力が1~2又は39~40の範囲で変化しているのは、待機時又は稼動時の揺らぎ又は計測誤差のためである。ユーザがDVDレコーダ110の電源をONにすると、DVDレコーダ110は、デバイスIDがDVD1、プロパティがOperationStatus、プロパティの値がOnに設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、DVDレコーダ110からのイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値を関連付けた履歴情報を生成し、図15に示すように、この履歴情報をハードディスクCの履歴テーブル172に蓄積する。なお、図15に示す履歴テーブル172は、説明を簡単にすることを目的として、DVDレコーダ110に関する履歴情報のみが格納されている。また、ホームサーバ170は、ハードディスクCに格納された履歴テーブル172を参照し、DVDレコーダ110の稼動状況が変化した時刻201114091215を含む所定時間例えば前後3秒に稼動状況が変化した他のデバイスDVCを検索する。図14に示す履歴テーブル172では、時刻201114091215においてスマートコンセント120で測定された消費電力が1Wから40Wへと所定の閾値を越えて変化したため、スマートコンセント120はDVDレコーダ110の関連デバイスであると判定される。そして、ホームサーバ170は、DVDレコーダ110のデバイスID、プロパティ及びその値と、スマートコンセント120のデバイスID、プロパティ及びその変化特性と、を関連付けた関連情報を生成し、図16に示すように、この関連情報をハードディクスCの変化テーブル174に追加する。ユーザがスマートコンセント120のスイッチを切ると、スマートコンセント120は、デバイスIDがOutlet1、プロパティがOperationStatus、プロパティの値がOffに設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、スマートコンセント120からのイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値を関連付けた履歴情報を生成し、図17に示すように、この履歴情報をハードディスクCの履歴テーブル172に時系列で順次蓄積する。ホームサーバ170は、ハードディスクCに格納された履歴テーブル172を参照し、スマートコンセント120の稼動状況が変化した時刻201114100715を含む所定時間に稼動状況が変化したデバイスを検索する。図17に示す履歴テーブル172では、時刻201114100715においてスマートコンセント120で測定された消費電力が2Wから0Wへと所定の閾値を越えて変化したため、ホームサーバ170は、前述したような手順により、図18に示すような関連情報を生成し、この関連情報をハードディスクCの変化テーブル174に追加する。番組録画サービスを提供するサーバ400は、次のように、デバイスIDがDVD1であるDVDレコーダ110のロックコマンドを生成し、このロックコマンドをホームサーバ170に送信する。なお、ロックコマンドは、例えば、XMLeXtensibleMarkupLanguageにより記述される。RecordServiceDVD1lockホームサーバ170は、サーバ400からのロックコマンドを受信すると、ハードディスクCに格納されたロックテーブル176を参照し、番組録画サービス以外のサービスによりデバイスIDがDVD1であるDVDレコーダ110がロックされているか否かを判定する。そして、ホームサーバ170は、DVDレコーダ110がロックされていないので、例えば、ロックIDが3、サービスIDがRecordService、デバイスIDがDVD1に設定されたロック情報を生成し、図19に示すように、このロック情報をロックテーブル176に追加する。番組録画サービスを提供するサーバ400は、DVDレコーダ110の電源をONにするため、次のような制御コマンドを生成し、この制御コマンドをホームサーバ170に送信する。RecordServiceDVD1setOnホームサーバ170は、サーバ400からの制御コマンドを受信すると、ハードディスクCに格納された変化テーブル174図18参照を参照し、DVDレコーダ110に関連する関連デバイスを特定する。即ち、ホームサーバ170は、変化テーブル174を参照し、デバイスIDがDVD1、プロパティがOperationStatus、プロパティの値がOnであるトリガデバイスに関連付けられた関連デバイスを特定する。また、ホームサーバ170は、変化テーブル174を再度参照し、デバイスIDがOutlet1、プロパティがSmallSensorInstantPower、プロパティの値がDownに設定された他の関連デバイスを検索する。さらに、ホームサーバ170は、検索された関連デバイスのトリガデバイス、即ち、デバイスIDがOutlet1であるスマートコンセント120を関連デバイスとして特定する。そして、ホームサーバ170は、例えば、ロックIDが4、サービスIDがRecordService、デバイスIDがOutlet1、関連ロックIDが3に設定されたロック情報を生成し、図20に示すように、このロック情報をロックテーブル176に追加する。このような状態において、例えば、省エネサービスを提供するサーバ400がスマートコンセント120の電源を切ろうとすると、ロックテーブル176にスマートコンセント120がロック中であることが登録されているため、そのロックコマンドの実行が拒否される。このため、あるデバイスDVCにおいて、複数のサービスから矛盾した制御がなされることが回避される。また、番組録画サービスを提供するサーバ400は、番組録画サービスの提供が終了したとき、次のようなロック解除コマンドを生成し、このロック解除コマンドをホームサーバ170に送信する。RecordServiceDVD1unlockホームサーバ170は、サーバ400からのロック解除コマンドを受信すると、ロックテーブル176から、デバイスIDがDVD1であるロック情報に加え、そのロックIDが関連ロックIDに設定されている、デバイスIDがoutlet1であるロック情報を削除する。このため、DVDレコーダ110及びスマートコンセント120の排他制御が行われなくなり、他のサービスを提供するサーバ400からDVDレコーダ110及びスマートコンセント120を自由に制御できるようになる。[実施例2]実施例2の前提条件として、ホームネットワーク200に接続されたエアコンディショナ130を遠隔制御する空調サービスと、ホームホームネットワーク200に接続された電動窓150や換気扇を遠隔制御する換気サービスと、が稼動しているものとする。温度センサ140は、1分ごとに室温を測定し、デバイスIDがThermometer1、プロパティがMeasuredTemp、プロパティの値が測定温度に設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、温度センサ140からイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値室温を関連付けた履歴情報を生成し、図21に示すように、この履歴情報をハードディスクCの履歴テーブル172に時系列で順次蓄積する。ユーザがエアコンディショナ130の電源をONにすると、エアコンディショナ130は、デバイスIDがAirConditioner1、プロパティがOperationStatus、プロパティの値がOnに設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、エアコンディショナ130からのイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値を関連付けた履歴情報を生成し、図22に示すように、この履歴情報をハードディスクCの履歴テーブル172に蓄積する。なお、図22に示す履歴テーブル172では、説明を簡単にするため、エアコンディショナ130に関する履歴情報のみが格納されている。また、ホームサーバ170は、ハードディスクCに格納された履歴テーブル172を参照し、エアコンディショナ130の稼動状況が変化した時刻201117131500を含む所定時間例えば前後3分に稼動状況が変化した他のデバイスDVCを検索する。図21に示す履歴テーブル172では、時刻201117131800において室温が16.5°Cから17.6°Cへと所定の閾値を越えて変化したため、温度センサ140はエアコンディショナ130の関連デバイスであると判定される。そして、ホームサーバ170は、エアコンディショナ130のデバイスID、プロパティ及びその値と、温度センサ140のデバイスID、プロパティ及びその変化特性と、を関連付けた関連情報を生成し、図23に示すように、この関連情報をハードディスクCの変化テーブル174に追加する。ユーザが電動窓150を開放すると、電動窓150は、デバイスIDがWindow1、プロパティがOpeningStatus、プロパティの値がFound開に設定されたイベントを生成し、このイベントをホームサーバ170に送信する。一方、ホームサーバ170は、電動窓150からのイベントを受信すると、イベント発生時刻、デバイスID、プロパティ及びその値を関連付けた履歴情報を生成し、図24に示すように、この履歴情報をハードディスクCに格納された履歴テーブル172に追加する。なお、図24に示す履歴テーブル172では、説明を簡単にするため、電動窓150に関する履歴情報のみが格納されている。また、ホームサーバ170は、ハードディスクCに格納された履歴テーブル172を参照し、電動窓150の稼動状況が変化した時刻201117120113を含む所定時間例えば前後3分に稼動状況が変化した他のデバイスDVCを検索する。図21に示す履歴テーブル172では、時刻201117120400において室温が18.0°Cから16.8°Cへと所定の閾値を越えて変化したため、温度センサ140は電動窓150の関連デバイスであると判定される。そして、ホームサーバ170は、電動窓150のデバイスID、プロパティ及びその値と、温度センサ140のデバイスID、プロパティ及びその変化特性と、を関連付けた関連情報を生成し、図25に示すように、この関連情報をハードディスクCの変化テーブル174に追加する。空調サービスを提供するサーバ400は、次のように、デバイスIDがAirConditioner1であるエアコンディショナ130のロックコマンドを生成し、このロックコマンドをホームサーバ170に送信する。AirConditioningServiceAirConditionser1lockホームサーバ170は、サーバ400からのロックコマンドを受信すると、ハードディスクCに格納されたロックテーブル176を参照し、空調サービス以外のサービスによりデバイスIDがAirConditioner1であるエアコンディショナ130がロックされているか否かを判定する。そして、ホームサーバ170は、エアコンディショナ130がロックされていないので、例えば、ロックIDが2、サービスIDがAirConditioningService、デバイスIDがAirConditioner1に設定されたロック情報を生成し、図26に示すように、このロック情報をロックテーブル176に追加する。次に、空調サービスを提供するサーバ400は、エアコンディショナ130の電源をONにするため、次のような制御コマンドを生成し、この制御コマンドをホームサーバ170に送信する。AirConditioningServiceAirConditiner1setOnホームサーバ170は、サーバ400からの制御コマンドを受信すると、ハードディスクCに格納された変化テーブル174を参照し、エアコンディショナ130に関連する関連デバイスを特定する。即ち、ホームサーバ170は、変化テーブル174を参照し、デバイスIDがAirConditiner1、プロパティがOperationStatus、プロパティの値がOnであるトリガデバイスに関連付けられた関連デバイスを特定する。また、ホームサーバ170は、変化テーブル174を再度参照し、デバイスIDがThermometer1、プロパティがMeasuredTemp、プロパティの値がDownに設定された他の関連デバイスを検索する。さらに、ホームサーバ170は、検索された関連デバイスのトリガデバイス、即ち、デバイスIDがWindow1である電動窓150を関連デバイスとして特定する。このとき、ホームサーバ170は、ハードディスクCに格納されたプロファイルテーブル530図12参照を参照し、エアコンディショナ130と電動窓150とが共にダイニングに設置されているため、図27に示すように、電動窓150をロックするためのロック情報をロックテーブル176に追加する。なお、例えば、DVDレコーダ110のように、エアコンディショナ130と設置場所が異なるデバイスの場合には、これをロックするためのロック情報はロックテーブル176に追加されない。このような状態において、例えば、換気サービスを提供するサーバ400が電動窓150を開放しようとすると、ロックテーブル176に電動窓150がロック中であることが登録されているため、そのロックコマンドの実行が拒否される。このため、あるデバイスDVCにおいて、複数のサービスから矛盾した制御がなされることが回避される。なお、この後の動作は、先の実施例1と同様であるので、その説明は省略する。