次に本発明について図面を用いて説明する。
 図1は、本発明のソフトウェア設定システムの一構成例を示すブロック図である。
 図1に示すように、本発明のソフトウェア設定システムは、ゲートウェイ装置10、ソフトウェア配信サーバ31及びエンドデバイス32を有する。
 エンドデバイス32は、センサ、アクチュエータ、家電機器等のデバイスであり、ゲートウェイ装置10に接続されて所定のサービスを実現するために用いられる。
 ゲートウェイ装置10は、接続されたエンドデバイス32に対応するサービスソフトウェアにしたがって、該エンドデバイス32を用いたサービスを実現する。ゲートウェイ装置10は、エンドデバイス32が接続されると、該エンドデバイス32に対応するサービスソフトウェアの配信をソフトウェア配信サーバ31へ要求する。
 ソフトウェア配信サーバ31は、ゲートウェイ装置10からの要求にしたがって所要のサービスソフトウェアを配信するサーバである。
 ゲートウェイ装置10及びソフトウェア配信サーバ31は、周知のCPU、メモリ、論理回路等を備え、プログラムにしたがって処理を実行する情報処理装置(コンピュータ)によって実現できる。
 図1に示すように、ゲートウェイ装置10は、デバイス接続用インターフェース11、デバイスドライバ部12、デバイス管理部13、ソフトウェア配信処理部14、アドレス通知・設定処理部15、アドレス/ID生成部16、名前解決部17及びサービスソフトウェア部18を備える。
 ソフトウェア配信処理部14は配信DB141を備え、アドレス通知・設定処理部15はアドレス/IDDB151を備え、名前解決部17は名前解決DB171を備えている。
 デバイス接続インターフェース11は、ゲートウェイ装置10に接続されたエンドデバイス32の通信方式に対応するインターフェースを提供する。
 デバイスドライバ部12は、エンドデバイス32がゲートウェイ装置10に接続されると、エンドデバイス32からエンドデバイス情報を取得し、取得した情報をデバイス管理部13に送信する。エンドデバイス情報は、エンドデバイスの製造者コード、デバイス名、MAC(Media Access Control)アドレス等のエンドデバイスを識別するための情報、製造番号、エンドデバイスの状態を示す情報等が含まれる。
 デバイス管理部13は、デバイスドライバ部12からエンドデバイス情報を受信すると、該エンドデバイス情報を保存すると共に、該エンドデバイス情報をソフトウェア配信処理部14に送信する。
 ソフトウェア配信処理部14は、デバイス管理部13からエンドデバイス情報を受信すると、受信したエンドデバイス情報に基づき、配信DB141から該エンドデバイスに対応するサービスソフトウェアの情報を取得し、ソフトウェア配信サーバ31に該サービスソフトウェアの配信を要求する。また、ソフトウェア配信処理部14は、受信したエンドデバイス情報をアドレス通知・設定処理部15に送信する。配信DB141には、予めエンドデバイスを利用するためのサービスソフトウェアの情報がエンドデバイス情報に関連付けて格納されている。
 アドレス通知・設定処理部15は、ソフトウェア配信処理部14からエンドデバイス情報を受信すると、アドレス/ID生成部16に該エンドデバイスのアドレス/IDの生成を要求する。
 アドレス/ID生成部16は、アドレス通知・設定処理部15からアドレス/ID生成要求を受信すると、接続されたエンドデバイスのアドレス/IDを生成し、生成したアドレス/ID情報をアドレス通知・設定処理部15に送信する。
 アドレス通知・設定処理部15は、アドレス/ID生成部16からアドレス/ID情報を受信すると、受信したアドレス/ID情報とエンドデバイス情報(MACアドレス)とを関連付けてアドレス/IDDB151に格納し、エンドデバイス情報(デバイス名)及びアドレス/ID情報を名前解決部17に送信する。
 名前解決部17は、アドレス通知・設定処理部15からエンドデバイス情報(デバイス名)及びアドレス/ID情報を受信すると、受信したエンドデバイス情報(デバイス名)とアドレス/ID情報とを関連付けて名前解決DB171に格納する。
 サービスソフトウェア部18は、ソフトウェア配信サーバ31から配信されたプログラム(サービスソフトウェア)にしたがって処理を実行することで、エンドデバイス32を用いたサービスを実現する。
 次に図1~図7を用いて本実施形態のエンドデバイスの設定動作について説明する。
 図2は、図1に示したソフトウェア設定システムによるエンドデバイスの設定動作の一例を示すフローチャートである。図3は図2に示したステップA02の詳細処理例を示すフローチャートであり、図4は図2に示したステップA03の詳細処理例を示すフローチャートである。また、図5は図2に示したステップA04の詳細処理例を示すフローチャートであり、図6は図2に示したステップA05の詳細処理例を示すフローチャートである。図7は図2に示したステップA06の詳細処理例を示すフローチャートである。
 図2に示すように、ゲートウェイ装置10は、エンドデバイス32が接続されたか否かを監視しており(ステップA01)、エンドデバイス32が接続されると、該エンドデバイス32からエンドデバイス情報を取得する(ステップA02)。
 ソフトウェア配信処理部14は、取得したエンドデバイス情報に基づき、ソフトウェア配信サーバ31にサービスソフトウェア18の配信を要求する(ステップA03)。
 ソフトウェア配信サーバ31は、ソフトウェア配信処理部14からサービスソフトウェア18の配信が要求されると、要求されたサービスソフトウェア18をゲートウェイ装置10に配信する(ステップA04)。
 一方、ゲートウェイ装置10は、アドレス通知・設定処理部15により、接続されたエンドデバイス32に対応するアドレス/IDをアドレス/ID生成部16に生成させ、生成されたアドレス/ID情報をアドレス/IDDB151に格納する(ステップA05)。
 名前解決部17は、エンドデバイス32のアドレス/IDと該エンドデバイス32のエンドデバイス名とを関連付けて名前解決DB171に格納する(ステップA06)。
 次に図2に示したステップA02の処理例について図3を用いて説明する。
 ステップA02において、デバイス接続インターフェース11は、ゲートウェイ装置10にエンドデバイス32が接続されると、該エンドデバイス32を認識し、該エンドデバイス32に対応するデバイスドライバ部12に接続を要求する(ステップB01)。
 デバイスドライバ部12は、接続されたエンドデバイス32からデバイス情報を取得してデバイス管理部13へ送信する(ステップB02)。
 デバイス管理部13は、デバイスドライバ部12から送信されたデバイス情報を保存すると共に、ソフトウェア配信処理部14へ該エンドデバイス情報を送信する(ステップB03)。
 次に図2に示したステップA03の処理例について図4を用いて説明する。
 ステップA03において、ソフトウェア配信処理部14は、デバイス管理部13からエンドデバイス情報を受信すると(ステップC01)、受信したエンドデバイス情報に基づき配信DB141を検索し、エンドデバイス32で利用可能なサービスソフトウェア18を選択する(ステップC02)。
 次に、ソフトウェア配信処理部14は、選択したサービスソフトウェア18の配信をソフトウェア配信サーバ31に要求する(ステップC03)。
 また、ソフトウェア配信処理部14は、エンドデバイス情報をアドレス通知・設定処理部15へ送信する(ステップC04)。
 次に図2に示したステップA04の処理例について図5を用いて説明する。
 ステップA04において、ソフトウェア配信サーバ31は、ソフトウェア配信処理部14からサービスソフトウェア18の配信要求を受信すると(ステップD01)、要求されたサービスソフトウェア18をゲートウェイ装置10に配信する(ステップD02)。
 ソフトウェア配信サーバ31は、サービスソフトウェア18の配信が完了すると、完了通知をソフトウェア配信処理部14へ送信する(ステップD03)。
 次に図2に示したステップA05の処理例について図6を用いて説明する。
 ステップA05において、アドレス通知・設定処理部15は、ソフトウェア配信処理部14からエンドデバイス情報を受信すると(ステップE01)、アドレス/ID生成部16にアドレス/IDの生成を要求する(ステップE02)。
 アドレス/ID生成部16は、アドレス通知・設定処理部15の要求にしたがって、接続されたエンドデバイス32のアドレス/IDを生成し、生成したアドレス/ID情報をアドレス通知・設定処理部15へ送信する(ステップE03)。
 アドレス通知・設定処理部15は、アドレス/ID生成部16からアドレス/ID情報を受信すると、該アドレス/ID情報と接続されたエンドデバイス32のエンドデバイス情報(MACアドレス)とを関連付けてアドレス/IDDB151に格納する(ステップE04)。
 また、アドレス通知・設定処理部15は、アドレス/IDDB151に格納したアドレス/ID及びエンドデバイス情報(デバイス名)を名前解決部17に通知する(ステップE05)。
 次に図2に示したステップA06の処理例について図7を用いて説明する。
 ステップA06において、名前解決部17は、アドレス通知・設定処理部15からエンドデバイス情報(デバイス名)及びアドレス/ID情報を受信すると(ステップF01)、接続されたエンドデバイス32のアドレス/ID情報と該エンドデバイス32のデバイス名とを関連付けて名前解決DB171に格納する(ステップF02)。
 次に、図8を用いて本実施形態のエンドデバイスの利用動作例について説明する。
 図8は、図1に示したソフトウェア設定システムによるエンドデバイスの利用動作の一例を示すフローチャートである。
 図8に示すように、利用者が、サービスソフトウェア部18を用いて、ゲートウェイ装置10に接続されたエンドデバイス32の利用を要求すると(ステップG01)、サービスソフトウェア部18は、利用するエンドデバイス32のデバイス名を用いて名前解決部17にエンドデバイス32に対応するアドレス/IDの送信を要求する(ステップG02)。
 名前解決部17は、サービスソフトウェア部18からデバイス名が通知されると、名前解決DB271を検索し、該デバイス名に対応するエンドデバイス32に現在設定されているアドレス/ID情報を抽出し、該アドレス/ID情報をサービスソフトウェア部18に通知する(ステップG03)。
 サービスソフトウェア部18は、名前解決部17から受信したアドレス/ID情報をアドレス通知・設定処理部15へ送信し、該アドレス/ID情報に対応するエンドデバイス32のMACアドレスの送信を要求する(ステップG04)。
 アドレス通知・設定処理部15は、サービスソフトウェア部18からの要求にしたがってアドレス/IDDB151を検索し、アドレス/ID情報に対応するMACアドレスを抽出し、抽出したMACアドレスをサービスソフトウェア部18に送信する(ステップG05)。
 サービスソフトウェア部18は、アドレス通知・設定処理部15から受信したMACアドレスの情報を保持し(ステップG06)、保持したMACアドレスを用いてデバイスドライバ部12及びデバイス接続用インターフェース11を介してエンドデバイス32にアクセスし、エンドデバイス32を利用する(ステップG07)。
 次に、本実施形態のソフトウェア設定システムの効果について説明する。
 本実施形態によれば、サービスソフトウェア部18は、利用するエンドデバイスのデバイス名を指定すると、該デバイス名に対応するアドレス/ID情報が名前解決部17から通知され、該アドレス/ID情報に基づきアドレス通知・設定処理部15からエンドデバイスのMACアドレスが通知されるため、nonIPのエンドデバイス32であってもゲートウェイ装置10に接続して利用できる。
 また、サービスソフトウェア部18はエンドデバイス32を利用する際に、アドレス/IDではなくデバイス名でエンドデバイス32を識別できるため、エンドデバイス32に割り当てられたアドレス/IDが何らかの理由で変更されても、サービスソフトウェア部18はその影響を受けることなくエンドデバイス32を利用できる。
 さらに、ソフトウェア配信処理部14が備える配信DB141でエンドデバイス32を利用するためのサービスソフトウェアの情報を保存し、ソフトウェア配信処理部14はエンドデバイス情報に基づいて配信DB141から利用可能なサービスソフトウェアを選択するため、ゲートウェイ装置10は、接続されたエンドデバイス32で利用できるサービスソフトウェアを自動でソフトウェア配信サーバ31から取得できる。
(実施例)
 次に本発明の実施例について図面を用いて説明する。
 以下では、ゲートウェイ装置としてホームゲートウェイを想定し、該ホームゲートウェイに接続して利用可能な各種のエンドデバイスの設定例と、該エンドデバイスを用いたサービスの利用例について説明する。
 図9は、図1に示したソフトウェア設定システムの実施例の構成を示すブロック図である。
 図9に示すように、本実施例の設定システムは、ゲートウェイ装置としてホームゲートウェイ20を備え、ホームゲートウェイ20に、ソフトウェア配信サーバ41と、エンドデバイスであるエアーコンディショナー(以下、エアコンと称す)42、NW(Network)カメラ43及び温度センサ44とが接続された構成である。エアコン42、NWカメラ43及び温度センサ44等のエンドデバイスは、初期状態ではホームゲートウェイ20に接続されていないものとする。
 ホームゲートウェイ20は、デバイス接続インターフェース21、ZigBee用ドライバ22、デバイス管理部23、ソフトウェア配信管理部24、アドレス通知・設定処理部25、アドレス/ID生成部26、名前解決部27及び家電遠隔制御ソフトウェア部28を備える。
 ZigBee用ドライバ22は、図1に示したデバイスドライバ部12に対応し、家電遠隔制御ソフトウェア部28は、図1に示したサービスソフトウェア部18に対応する。
 デバイス接続インターフェース21は、エンドデバイスの通信方式に対応するZigBee用インターフェース211、Z-Wave用インターフェース212、BlueTooth用インターフェース213等を備える。
 ソフトウェア配信処理部24は配信DB241を備え、アドレス通知・設定処理部25はアドレス/IDDB251を備え、名前解決部27は名前解決DB271を備えている。
 家電遠隔制御ソフトウェア部28には、初期状態でプログラム(家電遠隔制御ソフトウェア)がインストールされていないものとする。
 デバイス接続インターフェース21は、ホームゲートウェイ20に接続されたエンドデバイスの通信方式に対応するインターフェースを選択し、該エンドデバイスを対応するデバイスドライバ部に接続する。
 エンドデバイスは、上述したようにエアコン42、NWカメラ43、人感センサ44等であり、デバイス接続インターフェースは、ZigBee用インターフェース211、Z-Wave用インターフェース212、BlueTooth用インターフェース213等、周知のインターフェースである。
 以下、ホームゲートウェイ20に接続されるエンドデバイスがエアコン42であり、対応するインターフェースがZigBee用インターフェースである場合を例にして説明する。
 ZigBee用ドライバ22は、ホームゲートウェイ20にエアコン42が接続されると、該エアコン42からエンドデバイス情報を取得し、取得したエンドデバイス情報をデバイス管理部23に通知する。
 デバイス管理部23は、ZigBee用ドライバ22からエンドデバイス情報を受信すると、該エンドデバイス情報を保存すると共に、ソフトウェア配信処理部24へ送信する。
 ソフトウェア配信処理部24は、デバイス管理部23からエンドデバイス情報を受信すると、受信したエンドデバイス情報に基づいて、エアコン42に対応するサービスソフトウェアである、例えば家電遠隔制御ソフトウェアの情報を配信DB241から取得する。そして、配信DB241から取得した情報に基づいてソフトウェア配信サーバ41に家電遠隔制御ソフトウェアの配信を要求すると共に、エンドデバイス情報をアドレス通知・設定処理部25に送信する。
 アドレス通知・設定処理部25は、ソフトウェア配信処理部24からエンドデバイス情報を受信すると、アドレス/ID生成部26にアドレス/IDの生成を要求する。
 アドレス/ID生成部26は、アドレス通知・設定処理部25からアドレス/IDの生成が要求されると、エンドデバイス(エアコン42)に対応するアドレス/IDを生成し、生成したアドレス/ID情報をアドレス通知・設定処理部25に送信する。
 アドレス通知・設定処理部25は、アドレス/ID生成部26から受信したアドレス/ID情報とエンドデバイス情報(MACアドレス)とを関連付けてアドレス/IDDB251に格納し、エンドデバイス情報(デバイス名)及びアドレス/ID情報を名前解決部27に送信する。
 名前解決部27は、アドレス通知・設定処理部25からエンドデバイス情報(デバイス名)及びアドレス/ID情報を受信すると、該エンドデバイス情報(デバイス名)とアドレス/ID情報とを関連付けて名前解決DB271に格納する。
 ソフトウェア配信サーバ41は、ソフトウェア配信処理部24からの要求にしたがってホームゲートウェイ20に、例えばエアコン42を制御するための家電遠隔制御ソフトウェアを配信する。
 ホームゲートウェイ20は、ソフトウェア配信サーバ41から配信されたプログラム(家電遠隔制御ソフトウェア)を受信してインストールし、該家電遠隔制御ソフトウェアにしたがって処理を実行する家電遠隔制御ソフトウェア部28によりエアコン42の動作を制御する。
 エアコン42は、ホームゲートウェイ20へ接続され、上記の処理が終了すると、ホームゲートウェイ20から送信される利用要求にしたがって動作する。
 図10はエンドデバイス情報の一例を示す表であり、図11は図9に示した配信DBに格納される情報の一例を示す表である。図12は図9に示したアドレス/IDDBに格納される情報の一例を示す表であり、図13は図9に示した名前解決DBに格納される情報の一例を示す表である。図10は、ホームゲートウェイ20に接続されるエンドデバイスが温度センサ44である場合のエンドデバイス情報の一例を示している。図11は、配信DBに関連付けて登録されるエンドデバイス及びサービスソフトウェアの一例を示している。図12は、アドレス/IDDBに関連付けて登録されるエンドデバイス情報及びアドレス/ID情報の一例を示している。図13は、名前解決DBに関連付けて登録されるエンドデバイスのアドレス/ID及びデバイス名の一例を示している。
 図11に示すように、ホームゲートウェイ20には、1台のNWカメラ、2台のエアコン、1台の照明装置が接続され、既にこれらのエンドデバイスに対応するサービスソフトウェアがそれぞれ配備(インストール)されているものとする。また、それに対応してアドレス/IDDB251には図12に示すエンドデバイス情報及びアドレス/ID情報が格納され、名前解決DB271には図13に示すエンドデバイスのアドレス/ID及びデバイス名が格納されているものとする。
 ここで、図10に示したエンドデバイス情報を備える温度センサ44をホームゲートウェイ20にさらに接続する場合を例にして本実施例の動作を説明する。
 ホームゲートウェイ20は、エンドデバイスが接続されたか否を監視し、例えば温度センサ44が接続されると(図2のステップA01)、接続された温度センサ44の情報を認識し、温度センサ44からエンドデバイス情報を取得する(図2のステップA02)。
 次に、ホームゲートウェイ20は、取得した温度センサ44のエンドデバイス情報に基づき、ソフトウェア配信処理部24によってソフトウェア配信サーバ41に家電遠隔制御ソフトウェアの配信を要求する(図2のステップA03)。
 ソフトウェア配信サーバ41は、ホームゲートウェイ20の要求にしたがって家電遠隔制御ソフトウェアをホームゲートウェイ20に配信する(図2のステップA04)。
 ホームゲートウェイ20は、アドレス通知・設定処理部25によりアドレス/ID生成部26に温度センサ44のアドレス/IDを生成させ、該アドレス/IDを温度センサ44のエンドデバイス情報に関連付けてアドレス/IDDB251に格納する(図2のステップA05)。
 また、ホームゲートウェイ20は、名前解決部27によってエンドデバイス情報(デバイス名)及びアドレス/ID情報を付けて名前解決DB271に格納する(図2のステップA06)。
 サービスソフトウェア部は、ソフトウェア配信サーバ41から配信された家電遠隔制御ソフトウェアにしたがって処理を実行することで、温度センサ44を用いたサービスを実現する。
 ステップA02において、デバイス接続インターフェース21は、ホームゲートウェイ20に温度センサ44が接続されると、温度センサ44の通信方式に対応するZigBee用ドライバ22に接続を要求する(図3のステップB01)。
 ZigBee用ドライバ22は、温度センサ44が接続されると、該温度センサ44からエンドデバイス情報を取得し、デバイス管理部23へ送信する(図3のステップB02)。
 デバイス管理部23は、ZigBee用ドライバ22から送信されたエンドデバイス情報を保存すると共に、ソフトウェア配信処理部24へ該エンドデバイス情報を送信する(図3のステップB03)。
 ステップA03において、ソフトウェア配信処理部24は、デバイス管理部23から温度センサ44のエンドデバイス情報を受信すると(図4のステップC01)、受信したエンドデバイス情報に基づいて配信DB241を検索し、利用可能な家電遠隔制御ソフトウェア28を選択する(図4のステップC02)。
 次に、ソフトウェア配信処理部24は、選択した家電遠隔制御ソフトウェア28の配信をソフトウェア配信サーバ41に要求する(図4のステップC03)。
 ソフトウェア配信処理部24は、温度センサ44のエンドデバイス情報をアドレス通知・設定処理部25へ送信する(図4のステップC04)。
 ステップA04において、ソフトウェア配信サーバ41は、ソフトウェア配信処理部24から家電遠隔制御ソフトウェア28の配信が要求されると(図5のステップD01)、要求された家電遠隔制御ソフトウェア28をホームゲートウェイ20に配信する(図5のステップD02)。
 ソフトウェア配信サーバ41は、家電遠隔制御ソフトウェア28の配信が完了すると、完了通知をソフトウェア配信処理部24へ送信する(図5のステップD03)。
 ステップA05において、アドレス通知・設定処理部25は、ソフトウェア配信処理部24から温度センサ44のエンドデバイス情報を受信すると(図6のステップE01)、アドレス/ID生成部26にアドレス/IDの生成を要求する(図6のステップE02)。
 アドレス/ID生成部26は、アドレス通知・設定処理部25からの要求にしたがって温度センサ44のアドレス/IDを生成し、生成したアドレス/ID情報をアドレス通知・設定処理部25へ送信する(図6のステップE03)。
 アドレス通知・設定処理部25は、アドレス/ID生成部26からアドレス/ID情報を受信すると、該アドレス/ID情報と温度センサ44のエンドデバイス情報(MAとアドレス)とを関連付けてアドレス/IDDB251に格納する(図6のステップE04)。また、アドレス通知・設定処理部25は、アドレス/IDDB251に格納したアドレス/ID及び温度センサ44のエンドデバイス情報(デバイス名)を名前解決部27に送信する(図6のステップE05)。
 ステップA06において、名前解決部27は、アドレス通知・設定処理部25から温度センサ44のエンドデバイス情報(デバイス名)及びアドレス/IDを受信すると(図7のステップF01)、温度センサ44に対応するアドレス/IDとエンドデバイス名とを関連付けて名前解決DB271に格納する(図7のステップF02)。
 次に、本実施例のエンドデバイスの利用動作について説明する。
 利用者が、家電遠隔制御ソフトウェアの処理にしたがってホームゲートウェイ20に接続された温度センサ44の利用を要求すると(図8のステップG01)、サービスソフトウェア部は、家電遠隔制御ソフトウェアにしたがって利用者から要求された温度センサ44のデバイス名を用いて名前解決部27に温度センサ44に対応するアドレス/IDの送信を要求する(図8のステップG02)。
 名前解決部27は、サービスソフトウェア部からデバイス名が通知されると、名前解決DB271を検索し、温度センサ44に現在設定されているアドレス/IDを抽出し、該アドレス/IDをサービスソフトウェア部に通知する(図8のステップG03)。
 サービスソフトウェア部は、名前解決部27から受信したアドレス/IDをアドレス通知・設定処理部25へ送信し、該アドレス/IDに対応するMACアドレスの送信を要求する(図8のステップG04)。
 アドレス通知・設定処理部25は、サービスソフトウェア部からの要求にしたがってアドレス/IDDB251を検索し、アドレス/IDに対応するMACアドレスの情報をサービスソフトウェア部に送信する(図8のステップG05)。
 サービスソフトウェア部は、アドレス通知・設定処理部25からMACアドレスの情報を受信すると、該情報を保持し(図8のステップG06)、保持したMACアドレスの情報を用いて、ZigBee用ドライバ22及びデバイス接続用インターフェース21を介して温度センサ44にアクセスし、温度センサ44を利用する(図8のステップG07)。
 以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されものではない。本願発明の構成や詳細は本願発明のスコープ内で当業者が理解し得る様々な変更が可能である。
 この出願は、2011年5月24日に出願された特願2011-115895号を基礎とする優先権を主張し、その開示の全てをここに取り込む。