(57)【要約】【課題】  接続されている機器に関するサービスを要求する端末装置や機器の接続状態に変更があった場合に、その端末装置や機器の接続状態に適したサービスを提供する。【解決手段】  接続されている機器のユーザインターフェースを提供するユーザインターフェース構成方法において、接続されている機器に関するサービスを識別する為の識別情報と当該サービスを要求する端末装置の機器情報を通信手段により受信するステップと、接続されている機器のユーザインターフェースを提供するサービスプログラムを示す情報を格納したサービス対応テーブルを記憶手段から読み出し、前記受信した識別情報に対応するサービスプログラムを特定するステップと、前記特定したサービスプログラムのスペック情報を記憶手段から読み出し、そのスペック情報が前記受信した機器情報中に示されている端末装置のスペックに適合するサービスプログラムを実行して、機器のユーザインターフェースを端末装置に提供するステップとを有するものである。【選択図】図１
2005258834.tif 000002
【特許請求の範囲】
【請求項１】
接続されている機器のユーザインターフェースを提供するユーザインターフェース構成方法において、
接続されている機器に関するサービスを識別する為の識別情報と当該サービスを要求する端末装置の機器情報を通信手段により受信するステップと、
接続されている機器のユーザインターフェースを提供するサービスプログラムを示す情報を格納したサービス対応テーブルを記憶手段から読み出し、前記受信した識別情報に対応するサービスプログラムを特定するステップと、
前記特定したサービスプログラムのスペック情報を記憶手段から読み出し、そのスペック情報が前記受信した機器情報中に示されている端末装置のスペックに適合するサービスプログラムを実行して、機器のユーザインターフェースを端末装置に提供するステップとを有することを特徴とするユーザインターフェース構成方法。
【請求項２】
前記サービスプログラムのスペック情報が端末装置のスペックに適合していない場合に、センタ側処理装置に登録されているサービスプログラム及び当該サービスプログラムにより用いられるコンテンツを通信手段により取得することを特徴とする請求項１に記載されたユーザインターフェース構成方法。
【請求項３】
センタ側処理装置から取得したサービスプログラム及びコンテンツを記憶手段中に格納しておき、次に端末装置からサービス要求を受信した場合に、その記憶手段中のサービスプログラム及びコンテンツによりユーザインターフェースを提供することを特徴とする請求項１または請求項２のいずれかに記載されたユーザインターフェース構成方法。
【請求項４】
所定期間使用されていないコンテンツを記憶手段上から削除することを特徴とする請求項３に記載されたユーザインターフェース構成方法。
【請求項５】
前記実行したサービスプログラムの出力結果が前記端末装置に適していない場合に、当該出力データの変換処理をセンタ側処理装置へ依頼し、その変換結果を通信手段により端末装置へ提供することを特徴とする請求項１乃至請求項４のいずれか１項に記載されたユーザインターフェース構成方法。
【請求項６】
センタ側処理装置から取得したサービスプログラムがセンタ側処理装置上で変更された場合に、その取得しているサービスプログラムをセンタ側処理装置上での変更に合わせて更新することを特徴とする請求項１乃至請求項５のいずれか１項に記載されたユーザインターフェース構成方法。
【請求項７】
接続されている機器が変更された場合に、当該変更内容に合わせて前記サービス対応テーブルの内容を記憶手段上で変更し、その変更したサービス対応テーブルを用いてユーザインターフェースの提供を行うことを特徴とする請求項１乃至請求項６のいずれか１項に記載されたユーザインターフェース構成方法。
【請求項８】
新規の機器が接続された場合に、取得しているサービスプログラムの対応機器情報を格納したサービステーブルを記憶手段から読み出して、前記対応機器情報と前記新規機器を識別する為の接続機器情報とを比較し、前記対応機器情報中に新規機器に対応していることを示す情報が無い場合に、当該新規機器に対応するサービスプログラムをセンタ側処理装置から取得してそのサービスプログラムの情報を前記サービス対応テーブル中に格納しておくことにより前記新規機器のユーザインターフェースの提供を行うことを特徴とする請求項１乃至請求項７のいずれか１項に記載されたユーザインターフェース構成方法。
【請求項９】
接続されている機器のユーザインターフェースを提供して各機器の動作を制御する機器制御装置において、
接続されている機器に関するサービスを識別する為の識別情報と当該サービスを要求する端末装置の機器情報を通信手段により受信するサービス要求受付手段と、
接続されている機器のユーザインターフェースを提供するサービスプログラムを示す情報を格納したサービス対応テーブルを記憶手段から読み出し、前記受信した識別情報に対応するサービスプログラムを特定し、前記特定したサービスプログラムのスペック情報を記憶手段から読み出し、そのスペック情報が前記受信した機器情報中に示されている端末装置のスペックに適合するサービスプログラムを実行して、機器のユーザインターフェースを端末装置に提供するサービス管理手段とを備えることを特徴とする機器制御装置。
【請求項１０】
接続されている機器のユーザインターフェースを提供するユーザインターフェース構成方法をコンピュータに実行させる為のプログラムにおいて、
接続されている機器に関するサービスを識別する為の識別情報と当該サービスを要求する端末装置の機器情報を通信手段により受信するステップと、
接続されている機器のユーザインターフェースを提供するサービスプログラムを示す情報を格納したサービス対応テーブルを記憶手段から読み出し、前記受信した識別情報に対応するサービスプログラムを特定するステップと、
前記特定したサービスプログラムのスペック情報を記憶手段から読み出し、そのスペック情報が前記受信した機器情報中に示されている端末装置のスペックに適合するサービスプログラムを実行して、機器のユーザインターフェースを端末装置に提供するステップとをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、接続された機器の操作や状態情報の出力を行うサービスの提供形態に係わり、特にビルや集合住宅或いは一般住宅内のネットワーク機器の統括的な操作を可能とするユーザインターフェース構成技術に関するものである。
【背景技術】
【０００２】
従来、一般家庭やホテル、マンション等の集合住宅等に設置される空調機、給湯器、照明機器や各種家電製品は、それを使用する家庭の住人等がスイッチのオン、オフ等を行うことにより、人手により直接制御されていた。
【０００３】
しかし、ネットワーク技術の発展と共に、これらの機器もネットワークを介して相互に接続され、集中管理を行うことが可能となってきている。この様なシステムは、これらの家庭内の家電等の機器を宅内に構築されたネットワークに接続し、そのネットワークに接続されているサーバ機器（以下、ホームサーバという）により集中管理する様にしたものである。この様なシステムでのホームサーバと各機器との接続は、ＲＳ−２３２Ｃ等のシリアル接続やＥＣＨＯＮＥＴ(Energy Conservation and Homecare Network)規格、イーサネットワークにより行われている。
【０００４】
また、前述した様なネットワーク機器としてのホームサーバは、宅内のネットワークとインターネット等の外部のネットワークとを接続することが可能であり、その際、プロトコルの変換を行うゲートウェイの役割も果たしている。宅内のネットワークと外部ネットワークが接続されることにより、宅外からの宅内機器の制御を行うことが可能となる。
【０００５】
この様に利用者は各機器に直接アクセスするのではなく、ホームサーバにアクセスすることで、各機器の操作を宅内・宅外の双方で行うことが可能である。その際、ホームサーバにアクセスする機器は多種多様であり、それらの機器に適した操作画面を提供する必要がある。
【０００６】
なお、サーバに接続されたクライアントに適した画面構成を構築するシステムの従来技術として、クライアントの種類により画面のレイアウトを変更しサービスを提供する手段が特許文献１等に記載されて知らされている。
【０００７】
【特許文献１】特開２００２−３５１７８１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
集合住宅等の各居室内のネットワーク機器の操作サービスを提供する為の従来技術におけるホームサーバでは、予め登録されている操作画面のレイアウトに則った操作サービスを提供するものであり、ホームサーバに接続されるクライアントが多種多様に変化する場合には、そのクライアントに適した操作画面を提供できない。また、操作サービスを提供するプログラムはホームサーバ上で実行されるため、被操作機器の変更やサービス内容の変更があった場合には、前記プログラムによる予め決められたレイアウトのみでは対応できないという問題点を有している。
本発明の目的は上記問題を解決し、接続されている機器に関するサービスを要求する端末装置や機器の接続状態に変更があった場合に、その端末装置や機器の接続状態に適したサービスを提供することが可能な技術を提供することにある。
【課題を解決するための手段】
【０００９】
本発明は、接続されている機器のユーザインターフェースを提供するユーザインターフェース構成システムにおいて、端末装置の機器情報や機器の接続状態に応じて提供するユーザインターフェースを変更するものである。
【００１０】
本発明のユーザインターフェース構成システムは、接続されている機器を制御するサービス（プロジェクトやオブジェクトの実行により実現される機能）を提供する機器制御装置でありマンション等の各居室に設置されるホームサーバと、そのホームサーバにより制御される、電子錠、カードリーダや家電機器等の機器と、ネットワーク接続機能および画面表示機能を有するブラウザ機器と、前記サービスを提供するサービスプログラムを保持するセンタ側処理装置である居室外部のセンタサーバとを備えており、各装置をネットワークにより接続している。ここで、サービスとは、ユーザに対し、例えば、家電機器等の機器の操作を可能とする機能あるいは他のサーバ機器から情報を取得／登録する機能を提供することである。またブラウザ機器は、例えば、上記ホームサーバにアクセスして接続機器の操作サービスを要求する端末装置である。
【００１１】
本発明のホームサーバは、新規の機器がホームサーバに接続し、起動すると、その機器の機器種別、メーカー名、型式及びプロトコルを含む接続機器情報をその機器から受信した後、当該ホームサーバの取得しているサービスプログラムの対応機器情報を格納したサービステーブルを記憶装置から読み出して、その読み出したサービステーブル中の対応機器情報と前記受信した新規機器の接続機器情報とを比較し、前記サービステーブルの対応機器情報中に前記新規機器の接続機器情報に対応する情報があるかどうかを調べる。
【００１２】
そして前記比較を行った結果、サービステーブルの対応機器情報中に前記新規機器の接続機器情報に対応する情報が無い場合には、当該新規機器に対応するサービスプログラムを含むサービスパッケージをセンタサーバのパッケージデータベース（以下、データベースをＤＢと略す）から取得して記憶装置内に格納した後、そのサービスプログラムの情報として、サービス名、サービスプログラム名や、そのサービスプログラムの記憶装置内での格納位置を示す対応ＵＲＩ(Uniform Resource Identifiers)をサービス対応テーブル中に格納しておく。
【００１３】
前記ホームサーバの利用者が、そのホームサーバに接続されている機器の制御を指示する場合には、接続されている機器に関するサービスを識別する為の識別情報であるＵＲＩや、操作内容を示すサービス操作情報をブラウザ機器上で入力する。
【００１４】
ブラウザ機器は、利用者により入力されたＵＲＩやサービス操作情報を入力装置により受け付けた後、そのブラウザ機器の種類、ＯＳ(Operating System)、ブラウザの種類、ブラウザのバージョン、画面解像度、ＣＰＵ、ＣＰＵ周波数等のスペックを示す機器情報を記憶装置から読み出し、前記ＵＲＩ、サービス操作情報及び機器情報を通信装置によりホームサーバへ送信する。
【００１５】
ホームサーバは、ブラウザ機器から送信された前記ＵＲＩ、サービス操作情報及び機器情報を通信装置により受信すると、ホームサーバに接続されている機器のユーザインターフェースを提供するサービスプログラムを示す情報を格納したサービス対応テーブルを記憶装置から読み出してサービス対応テーブル中の対応ＵＲＩと前記受信したＵＲＩとを比較し、その受信したＵＲＩに対応するサービスプログラムを特定する。
【００１６】
次に、前記特定したサービスプログラムのサービスパッケージ中のスペック情報を記憶装置から読み出した後、その読み出したスペック情報と前記受信した機器情報中に示されているブラウザ機器のスペックとを比較し、前記サービスプログラムのスペック情報がブラウザ機器のスペックに適合している場合には、当該サービスプログラムを実行して、ホームサーバに接続されている機器の操作や状態情報の出力を行う為のユーザインターフェースをブラウザ機器に提供する。ここで、ユーザインターフェースとは、例えば、ブラウザ機器に表示される画面中の、リンク、画像、ボタン等を有するＧＵＩ（グラフィカルユーザインターフェース）である。サービスプログラムは、上記ＧＵＩをブラウザに提供し、利用者は、上記リンク、画像、ボタン等を操作することで上記サービスの利用が可能となり、例えば、機器の操作が可能となる。
【００１７】
前記の様に本発明では、ホームサーバに機器が接続された場合にその機器のユーザインターフェースを提供するサービスプログラムをセンタサーバから取得してその情報をサービス対応テーブルに格納しておき、ブラウザ機器からのサービス要求時に前記サービス対応テーブルからサービスプログラムを特定してユーザインターフェースを提供しているので、機器の接続状態やサービス内容に変更がある場合でも、その変更に対応したサービスを提供することができる。また本発明では、ブラウザ機器のスペックに適合したサービスプログラムを実行するので、各ブラウザ機器へ適切な画面構成を提供する等、多様なブラウザ機器へ適切なユーザインターフェースを提供することができる。
【発明の効果】
【００１８】
本発明によれば、接続されている機器に関するサービスを要求する端末装置や機器の接続状態に変更があった場合に、その端末装置や機器の接続状態に適したサービスを提供することが可能である。
【発明を実施するための最良の形態】
【００１９】
以下に、ホームサーバに接続されている機器のユーザインターフェースを提供して機器の制御を行う一実施形態のユーザインターフェース構成システムについて説明する。
【００２０】
なお、以下に説明する本実施形態は、本発明をマンションの各居室に設けられたホームサーバとそれに接続される機器、及びホームサーバを管理するホスト側処理装置であるセンタサーバに適用した例である。
【００２１】
図１は本実施形態のユーザインターフェース構成システムの構成を示す図である。図１に示す様に本実施形態のユーザインターフェース構成システムは、ホームサーバ１１０と、ブラウザ機器１２０と、センタサーバ１３０と、ローカルネットワーク１４０と、グローバルネットワーク１５０と、機器１６１とを有している。
【００２２】
ホームサーバ１１０は、ブラウザ機器１２０からのサービス要求を受け付け、ホームサーバ１１０に接続されている機器１６１を操作したり機器１６１の状態を出力する為のインターフェースであるユーザインターフェースを提供して各機器の動作を制御する機器制御装置である。
【００２３】
ブラウザ機器１２０は、機器１６１の操作や状態情報の出力を行うサービスを識別する為のＵＲＩ、操作内容を示すサービス操作情報、当該サービスを要求するブラウザ機器１２０の機器情報を通信装置によりホームサーバ１１０へ送信して機器１６１の操作サービスを要求する端末装置である。
【００２４】
センタサーバ１３０は、前記サービスの要求を指示する利用者の顧客情報、前記サービスを提供するプログラムであるサービスプログラム１１４及びコンテンツ１１５を保持するセンタ側処理装置である。ローカルネットワーク１４０は、ホームサーバ１１０とブラウザ機器１２０とを接続するネットワークである。
【００２５】
グローバルネットワーク１５０は、ホームサーバ１１０とセンタサーバ１３０とを接続するネットワークである。機器１６１は、その機器種別、メーカー名、型式及びプロトコルを含む接続機器情報を起動時にホームサーバ１１０へ送信し、ホームサーバ１１０からの制御により動作を行う電子錠、カードリーダや家電機器等の装置である。
【００２６】
図１の様にホームサーバ１１０は、機器管理手段１１１と、ＨＴＴＰサーバ１１２と、サービス管理手段１１３とを有している。
機器管理手段１１１は、機器操作用のプログラムである機器Ｉ／Ｆ１１６を管理し、ホームサーバ１１０に接続されている機器１６１からの起動通知を受けて接続機器情報を取得し、機器テーブルへの登録を行う手段である。
【００２７】
ＨＴＴＰサーバ１１２は、前記ＵＲＩ、サービス操作情報及び機器情報を通信装置によりブラウザ機器１２０から受信するサービス要求受付手段である。サービス管理手段１１３は、サービスプログラム１１４及びコンテンツ１１５を管理し、前記受信したＵＲＩ及び機器情報中のスペックに対応するサービスプログラム１１４を実行して、機器１６１の操作や状態情報の出力を行う為のユーザインターフェースをブラウザ機器１２０に提供する手段である。
【００２８】
ホームサーバ１１０を、機器管理手段１１１、ＨＴＴＰサーバ１１２及びサービス管理手段１１３として機能させる為のプログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録され磁気ディスク等に格納された後、メモリにロードされて実行されるものとする。なお前記プログラムを記録する記録媒体はＣＤ−ＲＯＭ以外の他の記録媒体でも良い。また前記プログラムを当該記録媒体から情報処理装置にインストールして使用しても良いし、ネットワークを通じて当該記録媒体にアクセスして前記プログラムを使用するものとしても良い。
【００２９】
またホームサーバ１１０は、サービスプログラム１１４と、コンテンツ１１５と、機器Ｉ／Ｆ１１６とを有している。サービスプログラム１１４は、ホームサーバ１１０に接続されている機器１６１の操作や状態情報の出力を行うサービスをブラウザ機器１２０に提供するプログラムである。コンテンツ１１５は、サービスプログラム１１４によって使用されるデータである。機器Ｉ／Ｆ１１６は、機器１６１の起動時ブロードキャストの受信等の処理を行う為のプログラムである。
【００３０】
ブラウザ機器１２０は機器情報１２１を有しており、機器情報１２１は、ブラウザ機器１２０の種類、ＯＳ、ブラウザの種類、ブラウザのバージョン、画面解像度、ＣＰＵ、ＣＰＵ周波数等のスペックを示す情報である。
【００３１】
またセンタサーバ１３０は、顧客情報ＤＢ１３１と、パッケージＤＢ１３２と、コンテンツＤＢ１３３とを有している。顧客情報ＤＢ１３１は、前記サービスの要求を指示する利用者の顧客情報を格納するＤＢである。パッケージＤＢ１３２は、サービスプログラム１１４及びコンテンツ１１５を含むサービスパッケージを格納するＤＢである。コンテンツＤＢ１３３は、コンテンツ１１５を格納するＤＢである。
【００３２】
図１に示す様に本実施形態のネットワークシステムは、マンション内のネットワーク機器として各居室にあるホームサーバ１１０と、ホームサーバ１１０にアクセスするブラウザ機器１２０と、居室外部の機器としてのセンタサーバ１３０と、ホームサーバ１１０により制御される機器１６１とで構成されており、ホームサーバ１１０とブラウザ機器１２０はイーサネット等のローカルネットワーク１４０を介して接続され、ホームサーバ１１０とセンタサーバ１３０はインターネット等のグローバルネットワーク１５０を介して接続される。
【００３３】
そして、ホームサーバ１１０には機器管理手段１１１、ＨＴＴＰサーバ１１２、サービス管理手段１１３が設けられ、機器管理手段１１１は機器操作用のプログラムである機器Ｉ／Ｆ１１６の管理を行い、サービス管理手段１１３はサービスプログラム１１４、コンテンツ１１５の管理を行う。更に、センタサーバ１３０には、顧客情報ＤＢ１３１、サービスパッケージＤＢ１３２、コンテンツＤＢ１３３が設けられる。
【００３４】
図１においてセンタサーバ１３０はグローバルネットワーク１５０を介して接続されているが、センタサーバ１３０がマンション内のネットワークに接続されている構成も可能である。また、ブラウザ機器１２０はローカルネットワーク１４０を介してホームサーバ１１０上のＨＴＴＰサーバ１１２に接続されているが、グローバルネットワーク１５０を介して接続される構成となっていても良い。更に、本実施形態では、ブラウザ機器１２０がホームサーバ１１０へ接続する際のプロトコルをＨＴＴＰ(HyperText Transfer Protocol)で記述しているが、本発明はこのプロトコルに限定されるものではない。
【００３５】
図２は本実施形態のホームサーバの内部構成を示す図である。ホームサーバ１１０は、図２により詳述する様に、それぞれ、屋内ネットワークを介して各居室にある電子錠、カードリーダ、家電機器等の機器１６１を制御するものであり、各機器の状態取得及び制御を機器Ｉ／Ｆ１１６を介して行う。
【００３６】
ホームサーバ１１０は、図２にその内部構成を示している様に、ＣＰＵ２０１、ＥＰＲＯＭ２０２、メインメモリ２０３、周辺制御装置２０４、磁気ディスク装置、フラッシュＲＯＭ等で構成される不揮発性記憶装置２０５を備えて構成される。ＣＰＵ２０１、ＥＰＲＯＭ２０２、メインメモリ２０３、周辺制御装置２０４はそれぞれバス２１１を介して接続され、不揮発性記憶装置２０５は周辺制御装置２０４を介して接続されている。
【００３７】
ホームサーバ１１０に電源が投入されると、ＣＰＵ２０１が起動する。ＣＰＵ２０１は、ＥＰＲＯＭ２０２に記録されているブートプログラムを実行し、ＯＳの起動を行う。その後、ＯＳは不揮発性記憶装置２０５に記憶されているプログラムをメインメモリ２０３にロードし、機器管理手段１１１を実現するタスク、ＨＴＴＰサーバ１１２のタスク、サービス管理手段１１３を実現するタスクを含む、各タスクの実行を開始させる。
【００３８】
また、ホームサーバ１１０は、外部とのインターフェースとしてのＷＡＮＩ／Ｆ２０６、ＬＡＮＩ／Ｆ２０７、ＥＣＨＯＮＥＴＩ／Ｆ２０８、接点Ｉ／Ｆ２０９、シリアルＩ／Ｆ２１０を備えており、それぞれは周辺制御装置２０４を介して接続されている。ＷＡＮＩ／Ｆ２０６はホームサーバ１１０とグローバルネットワーク１５０を接続する為のＷＡＮ(Wide Area Network)用のインターフェースであり、ＬＡＮＩ／Ｆ２０７はホームサーバ１１０とローカルネットワーク１４０を接続する為のＬＡＮ(Local Area Network)用のインターフェースである。ＥＣＨＯＮＥＴＩ／Ｆ２０８は家電制御ネットワークの規格であるＥＣＨＯＮＥＴ通信を行う為のインターフェースであり、接点Ｉ／Ｆ２０９は電子錠等を操作する為の単純な電気信号の入出力を行う為のインターフェースであり、シリアルＩ／Ｆ２１０はカードリーダ等の汎用的なシリアルデバイスを接続する為のインターフェースである。
【００３９】
図２では、外部と接続する為のインターフェースとして、ＷＡＮＩ／Ｆ２０６、ＬＡＮＩ／Ｆ２０７、ＥＣＨＯＮＥＴＩ／Ｆ２０８、接点Ｉ／Ｆ２０９、シリアルＩ／Ｆ２１０を示しているが、本発明においてはこれらに限定されるものではなく、他のインターフェースも適用可能である。
【００４０】
図３は本実施形態のホームサーバ１１０及びセンタサーバ１３０上で動作するソフトウェアの相互の関係を示す図である。図３に示す様にホームサーバ１１０上では、他のタスクと共に、機器管理手段１１１、ＨＴＴＰサーバ１１２、サービス管理手段１１３が実行されており、複数のサービスパッケージ３０１が不揮発性記憶装置２０５上に記憶されている。サービスパッケージ３０１は、サービスをブラウザ機器１２０に提供するプログラムである複数のサービスプログラム１１４と、サービスプログラム１１４により利用される複数のコンテンツ１１５から構成され、基本的に一つのサービスに一つのパッケージが対応する様になっている。
【００４１】
図４は本実施形態の機器管理手段１１１が使用する、接続されている機器の情報を管理するテーブルの一例を示す図である。機器管理手段１１１は、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置上に機器テーブル４０１を持ち、現在ホームサーバ１１０に接続されている機器の管理を行う。機器テーブル４０１は図４に示す様に、機器種別、メーカー名、型式、プロトコル、デバイスドライバ等の組からなるテーブルであり、機器種別は接続されている機器の種別を表す名称、メーカー名は機器を提供したメーカーの名称、型式はその機器の商品分類を示す名称、プロトコルはその機器をホームサーバ１１０に接続するプロトコルの名称、デバイスドライバはその機器を動作させる為に必要なプログラム名を示している。
【００４２】
機器管理手段１１１は、機器１６１からの起動通知を受けると、接続された機器１６１の情報を取得し、機器テーブル４０１への登録、デバイスドライバのインストールを行う。機器通知では、例えばＥＣＨＯＮＥＴの場合には、機器の電源投入時に起動時ブロードキャストが行われる。機器管理手段１１１はこれを受信すると、起動時ブロードキャストを行った機器に対して機器に関する情報の取得を要求し、機器からその機器固有の情報として接続機器情報を取得する。機器管理手段１１１は機器の接続機器情報を取得すると、その機器に対応したデバイスドライバを取得し、そのデバイスドライバを使用可能とし、前記取得した接続機器情報を格納して機器テーブル４０１を更新する。
【００４３】
デバイスドライバの取得は、ホームサーバ１１０の不揮発性記憶装置２０５から検索しても良いし、センタサーバ１３０に対して機器の情報を送信し、デバイスドライバの取得を要求しても良い。センタサーバ１３０からデバイスドライバを取得した場合には、機器管理手段１１１はこのデバイスドライバを不揮発性記憶装置２０５に書き込む。
【００４４】
機器管理手段１１１は、機器１６１からの起動通知を受信し、機器テーブル４０１の更新、デバイスドライバのインストールを行った後、機器テーブル４０１の更新内容を示す機器リストをサービス管理手段１１３に対して送信する。また、機器管理手段１１１はサービス管理手段１１３から機器リストの要求を受けた際も、サービス管理手段１１３に対して機器リストを送信する。
【００４５】
ＨＴＴＰサーバ１１２は、ブラウザ機器１２０からの要求を受けると、要求に応じてファイルの返信やＣＧＩ(Common Gateway Interface)プログラムの起動を行う。ブラウザ機器１２０からの要求は、本実施形態では、一般的なＨＴＴＰに則って行われる。ＨＴＴＰサーバ１１２は、ＨＴＴＰ要求のリクエストラインで指定されるＵＲＩにより返信するファイル、若しくは実行するプログラムを決定する。また、ブラウザ機器１２０の機器情報１２１はＨＴＴＰ要求のリクエストヘッダ部に記述され、機器１６１やサービスの制御情報は、ＨＴＴＰ要求のリクエストライン部、若しくはボディ部に記述される。ここでＨＴＴＰサーバ１１２は、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置上のサービス対応テーブルを利用し、特定のＵＲＩが指定された場合に対応するサービスプログラム１１４を実行する。
【００４６】
図６は本実施形態のＨＴＴＰサーバ１１２及びサービス管理手段１１３が使用するサービスとサービスプログラムの対応を示すテーブルの一例を示す図である。サービス対応テーブル６０１は図６に示す様に、サービス名とサービスプログラムと対応ＵＲＩで構成されるテーブルであり、サービス名はサービスの名称を示し、サービスプログラムはそのサービスを実行するプログラムのオブジェクトを示し、対応ＵＲＩはそのサービスプログラムの実行を指定する為のＵＲＩを示す。
【００４７】
本実施形態の場合には、ＨＴＴＰサーバ１１２はサービスプログラムに対応するＵＲＩが指定された場合、サービスプログラムを直接実行するのではなく、サービス管理手段１１３へサービスプログラムの実行を要求する構成とする。
【００４８】
ブラウザ機器１２０は、利用者に対してサービスのユーザインターフェースを提供する機器であり、本実施形態ではＨＴＴＰクライアントを実装するＰＣ(Personal Computer)、ＰＤＡ(Personal Digital Assistant)、携帯電話、ＴＶ等を想定する。
【００４９】
ブラウザ機器１２０は機器情報１２１を持つ。機器情報１２１は、ブラウザ機器１２０の種類、ＯＳ、ブラウザの種類、ブラウザのバージョン、画面解像度、ＣＰＵの名称、ＣＰＵの動作周波数のスペック情報を含み、これらの情報はＨＴＴＰリクエスト時のＨＴＴＰヘッダ部に付加されて送信されるものとする。この際、ブラウザ機器１２０に搭載されるＨＴＴＰクライアントがこれらの情報を付加できる構成になっていなかった場合には、ブラウザ機器１２０上に新たにブラウザ機器１２０のスペックを取得できるＨＴＴＰプロキシを実装し、ブラウザ機器１２０のＨＴＴＰクライアントが一度ＨＴＴＰプロキシを経由させて、ＨＴＴＰプロキシで機器情報１２１を付加させる構成が可能である。
【００５０】
図５は本実施形態のサービス管理手段１１３が使用する、現在使用しているサービスを管理するテーブルの一例を示す図である。サービス管理手段１１３は、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置上にサービステーブル５０１を持ち、現在ホームサーバ１１０で実行できるサービスの管理を行う。
【００５１】
サービステーブル５０１は図５に示す様に、サービス名と種別とパッケージ名と対応機器から構成されるテーブルであり、サービス名はサービスの内容を示す名称、種別はサービスの形態の種類の名称、パッケージ名はそのサービスを実行する為のサービスプログラムとコンテンツを含むパッケージの名称、対応機器はそのサービスが対応している機器の名称を表す。ここで、種別は機器単体を操作するサービスの種類である"単体"と複数の機器を連動して動作させる"複合"の値をとる。対応機器は、機器テーブル４０１の機器種別、メーカー名、型式、プロトコルの組に対応する名称を‘−’でつないで列挙したものである。その際、各名称を‘＊’として記述した場合や特に記述がない場合には、任意の名称を示すものとする。
【００５２】
サービス管理手段１１３は、機器テーブル４０１の更新内容を示す機器リストを機器管理手段１１１から取得すると、その機器リストの内容を確認し、サービスパッケージ３０１の更新を行う。
【００５３】
またサービス管理手段１１３は、ＨＴＴＰサーバ１１２からサービス要求を受けると、サービスプログラム１１４からそのサービスが対応できる機器のスペックを取得し、これと機器情報１２１で指定されるスペックとの比較を行って、要求されているスペックに対応できるかの判断を行い、対応できる場合にはサービスプログラムを起動し、対応できない場合にはサービスパッケージをセンタサーバ１３０から取得してサービスパッケージの更新を行った後にサービスプログラムを起動する。ここで、ブラウザ機器１２０から送信される機器情報１２１とＵＲＩとサービスを制御する為の情報は、ＨＴＴＰサーバ１１２及びサービス管理手段１１３を介してサービスプログラム１１４へ渡されるものとする。サービスパッケージの更新・起動の処理の詳細については後で述べる。
【００５４】
図７は本実施形態のサービスパッケージの構成内容を示す図である。サービスパッケージ３０１は、特定のサービスを行う為に必要なプログラムファイルとコンテンツファイル及びコンテンツリストファイルから構成されており、例えば図７に示す様なディレクトリ構成で不揮発性記憶装置２０５上に記憶される。
【００５５】
図８は本実施形態の機器情報とコンテンツの対応を示すファイルの一例を示す図である。コンテンツリストファイル８０１は図８に示す様に、ブラウザ機器１２０の種類、ＯＳ、ブラウザの種類、ブラウザのバージョン、画面解像度、ＣＰＵ、ＣＰＵ周波数等のスペックとコンテンツの対応を記述したファイルであり、コンテンツリストファイル８０１はサービスプログラム１１４で使用される。
【００５６】
図８のコンテンツリストファイル８０１では、コンテンツリストファイル８０１中の１〜３までのスペックのブラウザ機器１２０に対応しているコンテンツを示しており、例えばコンテンツリストの１では、機器の種類がPC、ＯＳがWindows、ブラウザの種類がIE、ブラウザのバージョンが6.0、画面解像度が横方向1024〜1280及び縦方向768〜1024の範囲、ＣＰＵがPentiumシリーズ、ＣＰＵ周波数が900MHz以上であるブラウザ機器１２０に対応するコンテンツは、page.html、bg.gif、on.gif、off.gifであることを表している。また図８のMPはモバイルフォン（携帯電話）、MBはモバイルブラウザ、SHはプロセッサの名称を示すものとする。
【００５７】
図９は本実施形態のサービス管理手段１１３及びサービスプログラム１１４が使用するブラウザ機器１２０の対応状況を管理するテーブルの一例を示す図である。サービスプログラム１１４は、各サービスを実行するプログラムであり、サービスパッケージ３０１に含まれる。このサービスプログラム１１４は、コンテンツリストテーブル９０１とコンテンツ依存関係テーブル１００１を持つ。
【００５８】
コンテンツリストテーブル９０１は図９に示す様に、番号とスペックとコンテンツ名とキャッシュ状態の組からなるテーブルである。図９の番号は、スペックとコンテンツ名の対応を一意に示す番号であり、スペックはサービスプログラム１１４が対応できるブラウザ機器１２０のスペックを示している。
【００５９】
ここで、図９のスペックは、ブラウザ機器１２０の機器情報１２１に対応したものがスペース記号‘  ’で区切られて列挙されるものとし、記述が‘−’で区切られている部分は、対応できるスペックの範囲を示しているものとする。また、‘＊’で記述されている部分は任意のスペックに対応しているものとする。
【００６０】
図９のコンテンツ名は、サービスプログラム１１４がそのスペックで使用するコンテンツのファイル名を示している。また図９のキャッシュ状態は、現在スペックに対応したコンテンツの保存状態を示しており、‘０’は保存されていないことを、‘０’以外の各数値は保存された順番を示し、‘０’以外の場合で数値が小さいほど最近に保存されたものであることを表している。
【００６１】
図１０は本実施形態のサービス管理手段１１３及びサービスプログラム１１４が使用するコンテンツの使用状況を管理するテーブルの一例を示す図である。コンテンツ依存関係テーブル１００１は、図１０に示す様にコンテンツ名と、依存スペックと、使用中カウントの組で構成されるテーブルである。
【００６２】
図１０のコンテンツ名は、サービスパッケージ３０１に含まれるコンテンツファイル及びサービスプログラムのファイル名を示し、依存スペックはコンテンツリストテーブル９０１の番号に対応した数値を示し、使用中カウントはコンテンツ名で示されるコンテンツが、現在いくつのスペックから使用されているかを示す数値である。
【００６３】
本実施形態においてサービスプログラム１１４は、初期化時にコンテンツリストファイル８０１を読み込み、コンテンツリストテーブル９０１とコンテンツ依存関係テーブル１００１をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置上に構築する。その際、コンテンツリストテーブル９０１の各スペックに対し、これに対応するコンテンツ名に示されるコンテンツのファイルが、サービスパッケージ３０１に含まれるかどうかの判断を行い、全て含まれている場合にキャッシュ状態を‘１’以上の適切な数値に設定し、各コンテンツのファイル名に対応するコンテンツ依存関係テーブル１００１の使用中カウントをインクリメントする。またサービスプログラム初期化時のテーブル構成時に、コンテンツリストテーブル９０１のキャッシュ状態と、コンテンツ依存関係テーブル１００１の使用中カウントは‘０’に設定されても良い。
【００６４】
サービスプログラム１１４は、サービス管理手段１１３から実行されると、機器情報１２１とコンテンツリストテーブル９０１との比較を行い、コンテンツが保存されているかどうかの判断を行う。保存されていた場合にはサービスの提供処理を実行する。保存されていなかった場合には、センタサーバ１３０へ足りないコンテンツファイルの要求を行い、コンテンツを取得した後、サービスの提供処理を実行する。ここで言うサービスは、ホームサーバ１１０上での何らかの処理の実行により提供される機能、若しくはホームサーバ１１０に接続される機器１６１の操作・状態取得機能であり、エアコン等のリモコン操作やインターフォンの呼び出し転送等の機能である。その後、サービスプログラム１１４は、コンテンツ１１５の整形、サービスの処理結果の埋め込みを行い、ＨＴＭＬ形式としてブラウザ機器１２０へ返答する。コンテンツの取得の詳細に関しては後で述べる。
【００６５】
コンテンツ１１５は、サービスパッケージ３０１に含まれるファイルであり、ＨＴＭＬファイルや画像ファイル等である。これらは、サービスプログラム１１４によって利用される。
【００６６】
機器１６１は、ホームサーバ１１０に接続される家電やマンション設備機器等であり、サービスプログラム１１４の要求に応じて動作・状態を示す情報の返信を行う。
【００６７】
センタサーバ１３０は、サービス管理手段１１３やサービスプログラム１１４の要求に応じて、センタサーバ１３０内にあるサービスパッケージＤＢ１３２やコンテンツＤＢ１３３に保存されているパッケージやコンテンツを送信するものである。
【００６８】
本実施形態のサービス管理手段１１３は、ホームサーバ１１０に接続されている機器１６１が変更された場合に、当該変更内容に合わせてサービス対応テーブル６０１の内容をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置上で変更し、その変更したサービス対応テーブル６０１を用いてユーザインターフェースの提供を行う。
【００６９】
すなわちホームサーバ１１０に新規の機器１６１が接続された場合に、ホームサーバ１１０の取得しているサービスプログラム１１４の対応機器情報を格納したサービステーブル５０１をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置から読み出して、前記対応機器情報と新規機器の接続機器情報とを比較し、前記対応機器情報中に新規機器に対応していることを示す情報が無い場合に、当該新規機器に対応するサービスプログラム１１４をセンタサーバ１３０から取得してそのサービスプログラム１１４の情報をサービス対応テーブル６０１中に格納しておくことにより前記新規機器のユーザインターフェースの提供を行う。
【００７０】
図１１は本実施形態のホームサーバ１１０に新規に機器１６１が接続された場合のシーケンスを示す図である。以下、これについて説明する。
【００７１】
機器１６１がホームサーバ１１０に接続され、起動すると、起動時ブロードキャストを送信する。起動時ブロードキャストには、機器１６１の種類名が含まれる。機器管理手段１１１は、機器１６１からの起動時ブロードキャストを受信すると、機器１６１のより詳細な情報を取得する為に機器１６１に対して接続機器情報要求を送信する。機器１６１は、機器管理手段１１１から接続機器情報要求を受信すると、メーカー名、型式や制御可能な項目等のより詳細な情報を接続機器情報として返信する。
【００７２】
機器管理手段１１１は、接続機器情報を取得すると、この接続機器情報を元に機器テーブル４０１の更新を行う。その際、新規に接続された機器１６１に対応する項目が機器テーブル４０１に既に登録されていた場合には、以降の処理は行わない。
【００７３】
機器管理手段１１１が機器テーブル４０１に新たな項目を追加した場合に機器管理手段１１１は、サービス管理手段１１３に対して機器追加通知を送信する。機器追加通知には機器リストが含まれており、この機器リストは、機器テーブル４０１に新規に追加された機器１６１に対応する情報だけを機器テーブル４０１から抜き出したものである。
【００７４】
サービス管理手段１１３は、機器管理手段１１１から機器追加通知を受信すると、新規に追加された機器１６１に対応するサービスパッケージ３０１が存在するかどうかの確認を行い、存在しない場合にセンタサーバ１３０からサービスパッケージ３０１を取得して更新を行う。
【００７５】
図１３は本実施形態のサービスパッケージ取得・更新時のサービス管理手段１１３の処理手順を示すフローチャートである。以下にこの処理について説明する。
【００７６】
サービス管理手段１１３はステップＳ１３０１において、機器管理手段１１１から受信した機器リストにより、新規に追加された機器の機器種別、メーカー名、型式、プロトコルを示す接続機器情報を取得する。サービス管理手段１１３はステップＳ１３０２において、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置からサービステーブル５０１を取得する。以降、このサービステーブル５０１に示されるサービスが新規に接続された機器に対応しているかどうかの判断を行っていく。
【００７７】
ステップＳ１３０３に示すループでは、サービステーブル５０１の種別が”単体”のものそれぞれについての処理を行う。ここで種別が”単体”のものは単一の機器の操作を行うサービスであり、他に接続されている機器と依存関係が無いものである。
【００７８】
サービス管理手段１１３はステップＳ１３０４において、サービスの対応機器と新規に接続された機器の接続機器情報との比較を行う。この際、サービスの対応機器の欄に複数の対応機器が記述されている場合があるが、その場合には対応機器のそれぞれについて比較を行う。
【００７９】
新規に接続された機器の接続機器情報と一致するか若しくは当該接続機器情報を含む対応機器情報がサービステーブル５０１中に有る場合には、その機器を操作するサービスプログラム１１４が既にホームサーバ１１０上に有るものと判断し、ステップＳ１３０７以降の、サービスの種別が”複合”の場合の処理に進む。
【００８０】
種別が”単体”の全てのサービスに対して、ステップＳ１３０４の判定を行い、前記接続機器情報と一致若しくは当該接続機器情報を含む対応機器情報がサービステーブル５０１中に無い場合には、新規に接続された機器を操作するサービスプログラム１１４がホームサーバ１１０上に無いものと判断し、ステップＳ１３０５において、新規に追加された機器の情報をセンタサーバ１３０に対するパッケージ要求に設定し、ステップＳ１３０６において、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０へパッケージを要求して、新規機器に対応したパッケージの取得を行う。ステップＳ１３０６におけるサービスの取得・更新の処理の詳細は後で述べる。
【００８１】
サービスの種別が”単体”のサービスに関する処理が終了した後、ステップＳ１３０７に示すループで、サービスの種別が”複合”の場合の処理を行う。ここで、サービスの種別が”複合”のものは、一つのサービスで複数の機器を連携させて動作させるものである。
【００８２】
サービス管理手段１１３はステップＳ１３０８においてステップＳ１３０４と同様にサービスの対応機器と新規に接続された機器の情報との比較を行う。前記接続機器情報と一致若しくは当該接続機器情報を含む対応機器情報が有る場合には、ステップＳ１３０７で示すループを繰り返す。前記接続機器情報と一致若しくは当該接続機器情報を含む対応機器情報が無い場合には、ステップＳ１３０９においてセンタサーバ１３０に対するパッケージ要求に新規に追加された機器の情報とサービスのサービス名を設定し、ステップＳ１３１０において、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０へパッケージを要求し、新規機器に対応したパッケージの取得を行う。
【００８３】
図１５は本実施形態のサービス管理手段１１３がセンタサーバ１３０に対してサービスパッケージの取得を要求する処理の処理手順を示すフローチャートである。図１５の処理では、ステップＳ１３０６、ステップＳ１３１０、及び後で述べるステップＳ１４０５の処理を行う。以下、この処理について説明する。
【００８４】
サービス管理手段１１３はステップＳ１５０１において、センタサーバ１３０に対するパッケージ要求にブラウザ機器１２０の機器情報１２１から取得されるスペックが指定されているかどうかの判断を行う。スペックが指定されていた場合には、ステップＳ１５０６以降のサービスの要求・取得の処理を行う。スペックが指定されていなかった場合には、ステップＳ１５０２以降で、現在ホームサーバ１１０に対して接続実績のあるブラウザ機器１２０のスペックを取得する。
【００８５】
サービス管理手段１１３はステップＳ１５０２において、パッケージ要求にサービス名が指定されていた場合に、そのサービスに対応するコンテンツリストテーブル９０１をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置から取得する。サービス名が指定されていなかった場合には、記憶装置中のサービステーブル５０１から適当なサービスを選出し、そのサービスに対応するコンテンツリストテーブル９０１を取得する。ここで、サービステーブル５０１からのサービスの選出は、最も良く用いられると想定されるメインメニュー用のサービスを選出しても良いし、サービスの使用状況のログを取っておき、ごく最近に使用されたサービスを選出しても良い。
【００８６】
その後、サービス管理手段１１３はステップＳ１５０３に示すループにおいて、コンテンツリストテーブル９０１のそれぞれに対して次の処理を行う。
まずステップＳ１５０４において、キャッシュ状態が‘０’より大きいかどうかの判定を行う。‘０’より大きかった場合にはステップＳ１５０５においてパッケージ要求の要求スペックとして、キャッシュ状態に対応するスペック情報を追加する。パッケージ要求にスペック情報を付加した後、サービス管理手段１１３はステップＳ１５０６において、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０に対してパッケージ要求を送信する。
【００８７】
これまでの処理により、パッケージ要求には最低限ブラウザ機器１２０のスペックの情報が含まれ、状況によりパッケージ名若しくは新規に接続された機器の情報、若しくはその両方が含まれる。ここでセンタサーバ１３０のアドレスについては、特定のホスト機器のアドレスを予めホームサーバ１１０に記憶させておいても良いし、サービスパッケージ３０１内のコンテンツリストファイル８０１に記述しておき、ここから取得するものとしても良い。後者の場合には、サービスパッケージに応じて接続先のセンタサーバ１３０が変化する構成となる。
【００８８】
センタサーバ１３０は、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してホームサーバ１１０からパッケージ要求を受信すると、そのパッケージ要求中の各情報に対応したサービスパッケージをパッケージＤＢ１３２から選択する。パッケージＤＢ１３２には、ブラウザ機器のそれぞれのスペック、ホームサーバ１１０に接続される機器に対応したサービスプログラムが保存されているものとするが、パッケージＤＢ１３２内に適したパッケージが存在しない場合には、他のホスト機器にパッケージ要求を出し、そのホスト機器からパッケージを取得する構成となっていても良い。
【００８９】
また、顧客情報ＤＢ１３１にホームサーバ１１０の設置された住居に住む顧客の情報を記憶しておき、パッケージＤＢ１３２からパッケージを選択する際にその顧客情報を考慮に入れて選択すべきパッケージを変更しても良い。例えば、顧客情報が年配の顧客を示している場合には文字や操作ボタンの大きいインターフェースを備えるパッケージに変更したり、また顧客情報に子供の情報が含まれている場合には平仮名表記を含むインターフェースを備えるパッケージに変更しても良い。これにより、顧客のニーズに合わせたパッケージの選択が可能となる。
【００９０】
また、ホームサーバ１１０上に存在するサービスを顧客情報ＤＢ１３１で管理しており、パッケージ要求に新規に接続された機器の情報が含まれていた場合、新規に接続された機器用のサービスパッケージだけでなく、ホームサーバ１１０上に存在しているサービスで新規に接続された機器に対応しているサービスパッケージを全て選択する様にしても良い。
【００９１】
サービス管理手段１１３は、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０からサービスパッケージを受信した後、ステップＳ１５０７において、受信したサービスパッケージのサービス名と同じサービスパッケージでこれまで不揮発性記憶装置２０５上にあったサービスパッケージのバックアップを行うか、消去を行う。その後、サービス管理手段１１３はステップＳ１５０８において、新しいサービスパッケージを不揮発性記憶装置２０５へ書き込み、サービステーブル５０１及びサービス対応テーブル６０１を新しいサービスに対応できる様に更新する。
【００９２】
図１２は本実施形態のブラウザ機器１２０がホームサーバ１１０に接続され、サービスを受けるときのシーケンスを示す図である。以下、この処理について説明する。
【００９３】
利用者がブラウザ機器１２０に表示される各サービスに対応したリンクを選択すると、ブラウザ機器１２０は、ＬＡＮＩ／Ｆ２０７及びローカルネットワーク１４０を介して、リンクで指定されたＵＲＩとサービス操作情報をホームサーバ１１０のＨＴＴＰサーバ１１２に送信し、また同時にブラウザ機器１２０の機器情報１２１も送信する。
【００９４】
ホームサーバ１１０のＨＴＴＰサーバ１１２は、機器１６１の操作や状態情報の出力を行うサービスを識別する為の識別情報であるＵＲＩやサービス操作情報と、当該サービスを要求するブラウザ機器１２０の機器情報１２１を、ＬＡＮＩ／Ｆ２０７及びローカルネットワーク１４０を介して受信する。
【００９５】
そしてＨＴＴＰサーバ１１２は、ホームサーバ１１０に接続されている機器１６１のユーザインターフェースを提供するサービスプログラム１１４の情報を格納したサービス対応テーブル６０１をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置から読み出して、前記受信したＵＲＩがサービス対応テーブル６０１に登録されている対応ＵＲＩかどうかの判定を行い、対応ＵＲＩだった場合には、サービス管理手段１１３を起動する。この際、ＨＴＴＰサーバ１１２は、機器情報１２１、ＵＲＩ、サービス操作情報をサービス管理手段１１３に渡す。
【００９６】
サービス管理手段１１３はＨＴＴＰサーバ１１２から起動されると、ＨＴＴＰサーバ１１２から指定されたＵＲＩに関連するサービスプログラムの決定、サービスプログラムの対応できる機器の確認、対応できない場合のセンタサーバ１３０に対するパッケージ要求、パッケージの取得及び更新を行い、その後サービスプログラムを実行して機器１６１の操作や状態情報の出力を行う為のインターフェースをブラウザ機器１２０へ提供する。
【００９７】
図１４は本実施形態のサービス管理手段１１３が起動された際の処理手順を示すフローチャートである。以下この処理について説明する。
【００９８】
サービス管理手段１１３はステップＳ１４０１において、サービス対応テーブル６０１をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置から読み出した後、前記指定されたＵＲＩとサービス対応テーブル６０１のそれぞれの対応ＵＲＩとの比較を行い、サービスプログラムを特定する。ステップＳ１４０２では、前記特定されたサービスプログラムのコンテンツリストテーブル９０１のスペックの部分をメインメモリ２０３や不揮発性記憶装置２０５等の記憶装置から抜き出したものを対応機器リストとして取得し、メインメモリ２０３上に保持する。
【００９９】
ステップＳ１４０３において、前記対応機器リスト中のスペック情報が前記指定された機器情報１２１中に示されているブラウザ機器１２０のスペックに適合しているかどうかを判定し、適合している場合にはステップＳ１４０６において、サービスプログラムの実行を行う。
【０１００】
例えば、図９の番号１のスペックがブラウザ機器１２０のスペックに適合しているかを判定する場合、番号１のスペック中のPC、Windows、IE、6.0と、ブラウザ機器１２０の種類、ＯＳ、ブラウザの種類、ブラウザのバージョンとが一致し、番号１のスペック中の1024-1280 768-1024、Pentium*、900-*MHzが、ブラウザ機器１２０の画面解像度、ＣＰＵ、ＣＰＵ周波数を含む場合に、前記対応機器リスト中のスペック情報がブラウザ機器１２０のスペックに適合しているとの判定を行う。
【０１０１】
前記対応機器リスト中のスペック情報がブラウザ機器１２０のスペックに適合していない場合には、ステップＳ１４０４において、センタサーバ１３０に対するパッケージ要求にサービス名と機器情報１２１を指定し、ステップＳ１４０５においてＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０からサービスパッケージの取得及び更新を行う。このステップＳ１４０５では、前に述べた図１５の処理を行うものとする。またサービス管理手段１１３は、センタサーバ１３０から取得したサービスプログラムを不揮発性記憶装置２０５等の記憶装置中に格納しておき、次にブラウザ機器１２０からサービス要求を受信した場合には、その記憶装置中に格納しておいたサービスプログラムによりユーザインターフェースの提供を行うものとしても良い。
【０１０２】
図１６は本実施形態のサービスプログラム１１４の処理手順を示すフローチャートである。以下この処理について説明する。
【０１０３】
サービスプログラム１１４はステップＳ１６０１において、コンテンツリストテーブル９０１を取得する。そして、ステップＳ１６０２に示すループにおいて、コンテンツリストテーブル９０１のそれぞれの項についての処理を行う。
【０１０４】
ステップＳ１６０２に示すループ中では、ステップＳ１６０３において機器情報１２１とコンテンツリストテーブル９０１のスペックが一致するかどうかの判定を行う。一致した場合には、ステップＳ１６０４において、サービスプログラム１１４は一致したスペックに対応する番号をコンテンツリストテーブル９０１から取得する。
【０１０５】
その後、ステップＳ１６０５においてその番号に対応するキャッシュ状態が‘０’より大きいかどうかの判定を行う。‘０’より大きい場合には、サービスプログラム１１４は必要なコンテンツは既に保存されているものと判断し、ステップＳ１６０８においてサービスの実行を行い、サービスの実行結果に応じてブラウザ機器１２０に対して、エアコン等のリモコン操作やインターフォンの呼び出し転送等を行う為のデータを返答する。‘０’の場合には、サービスプログラム１１４は必要なコンテンツが不足しているものと判断し、ステップＳ１６０６においてコンテンツの取得を行い、ステップＳ１６０７において古くなったコンテンツの除去を行った後、ステップＳ１６０８の処理を行う。
【０１０６】
ここで古くなったコンテンツを除去するのは、ホームサーバ１１０の不揮発性記憶装置２０５の容量の制限があることがあるため、今後利用されない可能性のあるコンテンツを除去し、ホームサーバ１１０上では最低限のコンテンツを管理させるという意図がある。
【０１０７】
図１７は本実施形態のステップＳ１６０６におけるコンテンツ取得処理の処理手順を示すフローチャートである。以下、この処理について説明する。
【０１０８】
サービスプログラム１１４はステップＳ１７０１において、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置からコンテンツリストテーブル９０１を読み出し、その読み出したコンテンツリストテーブル９０１から番号に対応するコンテンツ名を取得する。
【０１０９】
そしてサービスプログラム１１４はそれぞれのコンテンツ名に関して、ステップＳ１７０２で示すループの処理を行う。すなわちステップＳ１７０３でサービスプログラム１１４は、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置からコンテンツ依存関係テーブル１００１を読み出し、そのコンテンツ依存関係テーブル１００１からコンテンツ名に対応する使用中カウントを取得して、使用中カウントが‘０’かどうかの判定を行う。使用中カウントが‘０’であった場合には、ステップＳ１７０４でサービスプログラム１１４はそのコンテンツ名をセンタサーバ１３０へ送信するコンテンツ要求に追加し、ステップＳ１７０５において使用中カウントをインクリメントする。‘０’でなかった場合には単純にステップＳ１７０５において使用中カウントをインクリメントする。ステップＳ１７０２のループ処理の後、サービスプログラム１１４は不足していたコンテンツを取得する。
【０１１０】
サービスプログラム１１４はステップＳ１７０７において、コンテンツ要求にコンテンツ名が含まれているかどうかの判定を行い、含まれていた場合に、ステップＳ１７０８においてＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０へコンテンツ要求を送信する。また、同一のコンテンツが他のサービスパッケージに含まれている場合もあることから、ステップＳ１７０８においてコンテンツ要求に含まれるコンテンツが不揮発性記憶装置２０５中に存在するかどうかの検索を行い、存在した場合には、コンテンツ要求をセンタサーバ１３０に送信しないことも可能である。
【０１１１】
センタサーバ１３０はコンテンツ要求を受けると、コンテンツＤＢ１３３からコンテンツ要求に含まれるコンテンツ名に対応したコンテンツを選択し、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介して返信する。この際、コンテンツ要求を送信してきたホームサーバ１１０の顧客情報を顧客情報ＤＢ１３１から取得し、顧客情報に応じてコンテンツの内容を変化させることも可能である。また、コンテンツ要求にブラウザ機器１２０の機器情報１２１が含まれていた場合には、その機器情報１２１に応じたコンテンツに変換することも可能である。
【０１１２】
サービスプログラム１１４は、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０からコンテンツを取得すると、ステップＳ１７０９において、取得したコンテンツを不揮発性記憶装置２０５に書き込む。
【０１１３】
図１８は本実施形態のステップＳ１６０７における古いコンテンツの除去を行う処理の処理手順を示すフローチャートである。図１８に示す様に本実施形態では、所定期間使用されていないコンテンツを不揮発性記憶装置２０５等の記憶装置上から削除するものとしても良い。以下、この処理について説明する。
【０１１４】
サービスプログラム１１４は、メインメモリ２０３や不揮発性記憶装置２０５等の記憶装置からコンテンツリストテーブル９０１を読み出した後、ステップＳ１８０１に示すループによりコンテンツリストテーブル９０１の各項目について処理を行う。
【０１１５】
ステップＳ１８０１のループ中では、まずステップＳ１８０２においてキャッシュ状態が‘０’より大きいかどうかの判定を行い、‘０’より大きくない場合にはステップＳ１８０１に示すループの先頭に戻り、コンテンツリストテーブル９０１の次の項目についての処理に移る。キャッシュ状態が‘０’より大きい場合にサービスプログラムは、ステップＳ１８０３においてキャッシュ状態の数値をインクリメントし、ステップＳ１８０４において、キャッシュ状態の値がある所定値より大きいかどうかの判定を行う。
【０１１６】
キャッシュ状態の値がある所定値以下の場合には、ステップＳ１８０１に示すループの先頭に戻り、コンテンツリストテーブル９０１の次の項目についての処理に移る。ある所定値よりも大きかった場合には、ステップＳ１８０５においてサービスプログラム１１４はキャッシュ状態の値を‘０’に設定し、ステップＳ１８０６においてコンテンツリストテーブル９０１から対応するコンテンツ名を取得する。
【０１１７】
その後、サービスプログラム１１４は取得した各コンテンツ名に対し、ステップＳ１８０７で示すループの処理を行う。ステップＳ１８０７のループ中で、まずサービスプログラム１１４はステップＳ１８０８においてコンテンツ依存関係テーブル１００１のコンテンツ名に対応する使用中カウントの値をデクリメントする。ステップＳ１８０９において使用中カウントが‘０’であるかどうかの判定を行い、使用中カウントが‘０’であった場合にはステップＳ１８１０においてコンテンツのファイルを不揮発性記憶装置２０５から削除する。
【０１１８】
これまでの説明では、コンテンツの管理をサービスプログラム１１４が行っているが、全てのサービスプログラムがこの処理を実装するのは無駄があるため、これらの処理をサービス管理手段１１３が行っても良い。この場合には、サービスプログラム１１４は、自身の使用するコンテンツとブラウザ機器１２０のスペックの対応情報をサービス管理手段１１３に対して通知する処理を行うものとする。
【０１１９】
以下に、本実施形態において、センタサーバ１３０からホームサーバ１１０に取得したサービスプログラムがセンタサーバ１３０上で変更された場合にホームサーバ１１０上のサービスプログラムをセンタサーバ１３０上での変更に合わせて更新し、ホームサーバ１１０上に保存されるサービスパッケージ３０１を常に最新の状態に保つ為の処理について説明する。
【０１２０】
ホームサーバ１１０中のサービス管理手段１１３がセンタサーバ１３０に対してパッケージ要求を行い、センタサーバ１３０がサービス管理手段１１３にサービスパッケージを送信した際、センタサーバ１３０は顧客情報ＤＢ１３１のホームサーバ１１０に対応する管理テーブルにそのサービスパッケージを登録する。
【０１２１】
人手、若しくは別のホスト機器からネットワーク経由で、パッケージＤＢ１３２のサービスパッケージの更新が行われると、センタサーバ１３０は、顧客情報ＤＢ１３１に含まれる各ホームサーバ１１０の管理テーブルから、ホームサーバ１１０に登録されているサービスパッケージ一覧を取得する。
【０１２２】
センタサーバ１３０は、このサービスパッケージ一覧と更新されたパッケージとの比較を行い、サービスパッケージ一覧に更新されたパッケージが含まれていた場合に、そのサービスパッケージを対応するホームサーバ１１０のサービス管理手段１１３にＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介して送信する。また、ここで、パッケージＤＢ１３２内のサービスの更新が行われた場合だけでなく、新規にサービスパッケージが登録された場合に、サービス管理手段１１３にそのサービスパッケージを送信しても良い。
【０１２３】
サービス管理手段１１３は、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０からサービスパッケージを取得すると、サービステーブル５０１のパッケージ名と新たに取得したサービスパッケージの名前の比較を行い、更新すべきサービスパッケージを特定した後、前に説明したステップＳ１５０７とステップＳ１５０８と同様の処理を行う。また、サービステーブル５０１内に新たに得られたサービスパッケージに対応する項が無かった場合には、単純に新しいサービスプログラムをインストールする。
【０１２４】
上記の処理では、全てのコンテンツはホームサーバ１１０上に保存されているか、センタサーバ１３０から取得するものであったが、サービスの実行結果によりホームサーバ１１０上に新たにコンテンツが生成され、このコンテンツがブラウザ機器１２０に適合しない場合が考えられる。この際、ホームサーバ１１０の性能ではコンテンツファイルの変換を行えない場合があるため、コンテンツの変換をセンタサーバ１３０で行う事が考えられる。以下に、実行したサービスプログラムの出力結果がブラウザ機器１２０に適していない場合に、当該出力データの変換処理をセンタサーバ１３０へ依頼し、サービスの実行結果の出力をセンタサーバ１３０で変換して、その変換結果を通信装置によりブラウザ機器１２０へ提供する処理について説明する。
【０１２５】
この処理ではコンテンツリストテーブル９０１のコンテンツ名の欄にプログラムファイルを含めるものとし、ブラウザ機器１２０からＨＴＴＰサーバ１１２にアクセスがあり、サービスプログラムが起動され、コンテンツを取得するまでの処理は、前記の処理と同様であるが、ステップＳ１６０８の処理を以下に説明する様に行う。
【０１２６】
サービスプログラム１１４は、ステップＳ１６０４で特定された番号に対応するコンテンツ名のリストをコンテンツリストテーブル９０１から取得する。そしてサービスプログラム１１４は、取得したコンテンツ名それぞれに対し、それがプログラムファイルであるかどうか判断する。これは、ファイルの拡張子で判断しても良いし、ファイルの属性で判断しても良い。コンテンツ名で示されるファイルがプログラムファイルであった場合にサービスプログラム１１４は、そのプログラムファイルを実行し、出力結果をファイルとして保存する。このときのファイル名は任意である。その後、サービスプログラム１１４はセンタサーバ１３０に送信するコンテンツ要求にそのファイル本体と機器情報１２１を追加し、ＷＡＮＩ／Ｆ２０６及びグローバルネットワーク１５０を介してセンタサーバ１３０に対しコンテンツ要求を送信する。
【０１２７】
センタサーバ１３０は、コンテンツ要求を受信すると、その中にファイル本体が含まれるかどうかの判別を行う。センタサーバ１３０はコンテンツ要求中にファイル名が含まれていた場合には、そのファイル名に対応するファイルを送信するが、ファイル本体が含まれていた場合には、機器情報１２１に応じてファイルの変換を行い、その変換結果を返信する。例えば、センタサーバ１３０はファイル本体が画像ファイルであった場合には、画像のサイズ、解像度を変更したものを返信する。また、ファイル本体が動画ファイルであった場合には、機器情報１２１に応じて静止画への変更、動画のコマ数の削除等を行ったものを返信する。
【０１２８】
また、サービス結果の出力がストリーミングデータであった場合には、サービスプログラム１１４は、前記プログラムファイルの実行によって生成されるファイルの内容が完全に書き込まれる前にファイルを区切り、センタサーバ１３０に対してコンテンツ要求を送信しても良い。この場合には、センタサーバ１３０へのコンテンツ要求が繰り返し行われることになる。
【０１２９】
この処理では、コンテンツリストテーブル９０１のコンテンツ名の欄にプログラムファイルを含めることによりコンテンツの変換をセンタサーバ１３０へ依頼できる様にしているが、サービスの実行結果によりホームサーバ１１０上に新たに生成されるコンテンツの出力に必要なスペック情報をサービスパッケージに含めておき、そのスペック情報とブラウザ機器１２０のスペックとを比較して、その生成されるコンテンツがブラウザ機器１２０に適合するかどうかを判定し、コンテンツリストテーブル９０１のコンテンツ名の欄にプログラムファイルを含める様にしても良い。
【０１３０】
以上説明した様に本実施形態のユーザインターフェース構成システムによれば、ホームサーバに接続されている機器のユーザインターフェースを提供する際に、端末装置の機器情報や機器の接続状態に応じて提供するユーザインターフェースを変更するので、接続されている機器に関するサービスを要求する端末装置や機器の接続状態に変更があった場合に、その端末装置や機器の接続状態に適したサービスを提供することが可能である。
【図面の簡単な説明】
【０１３１】
【図１】本実施形態のユーザインターフェース構成システムの構成を示す図である。
【図２】本実施形態のホームサーバの内部構成を示す図である。
【図３】本実施形態のホームサーバ１１０及びセンタサーバ１３０上で動作するソフトウェアの相互の関係を示す図である。
【図４】本実施形態の機器管理手段１１１が使用する、接続されている機器の情報を管理するテーブルの一例を示す図である。
【図５】本実施形態のサービス管理手段１１３が使用する、現在使用しているサービスを管理するテーブルの一例を示す図である。
【図６】本実施形態のＨＴＴＰサーバ１１２及びサービス管理手段１１３が使用するサービスとサービスプログラムの対応を示すテーブルの一例を示す図である。
【図７】本実施形態のサービスパッケージの構成内容を示す図である。
【図８】本実施形態の機器情報とコンテンツの対応を示すファイルの一例を示す図である。
【図９】本実施形態のサービス管理手段１１３及びサービスプログラム１１４が使用するブラウザ機器１２０の対応状況を管理するテーブルの一例を示す図である。
【図１０】本実施形態のサービス管理手段１１３及びサービスプログラム１１４が使用するコンテンツの使用状況を管理するテーブルの一例を示す図である。
【図１１】本実施形態のホームサーバ１１０に新規に機器１６１が接続された場合のシーケンスを示す図である。
【図１２】本実施形態のブラウザ機器１２０がホームサーバ１１０に接続され、サービスを受けるときのシーケンスを示す図である。
【図１３】本実施形態のサービスパッケージ取得・更新時のサービス管理手段１１３の処理手順を示すフローチャートである。
【図１４】本実施形態のサービス管理手段１１３が起動された際の処理手順を示すフローチャートである。
【図１５】本実施形態のサービス管理手段１１３がセンタサーバ１３０に対してサービスパッケージの取得を要求する処理の処理手順を示すフローチャートである。
【図１６】本実施形態のサービスプログラム１１４の処理手順を示すフローチャートである。
【図１７】本実施形態のステップＳ１６０６におけるコンテンツ取得処理の処理手順を示すフローチャートである。
【図１８】本実施形態のステップＳ１６０７における古いコンテンツの除去を行う処理の処理手順を示すフローチャートである。
【符号の説明】
【０１３２】
１１０…ホームサーバ、１２０…ブラウザ機器、１３０…センタサーバ、１４０…ローカルネットワーク、１５０…グローバルネットワーク、１６１…機器、１１１…機器管理手段、１１２…ＨＴＴＰサーバ、１１３…サービス管理手段、１１４…サービスプログラム、１１５…コンテンツ、１１６…機器Ｉ／Ｆ、１２１…機器情報、１３１…顧客情報ＤＢ、１３２…パッケージＤＢ、１３３…コンテンツＤＢ、２０１…ＣＰＵ、２０２…ＥＰＲＯＭ、２０３…メインメモリ、２０４…周辺制御装置、２０５…不揮発性記憶装置、２０６…ＷＡＮＩ／Ｆ、２０７…ＬＡＮＩ／Ｆ、２０８…ＥＣＨＯＮＥＴＩ／Ｆ、２０９…接点Ｉ／Ｆ、２１０…シリアルＩ／Ｆ、２１１…バス、３０１…サービスパッケージ、４０１…機器テーブル、５０１…サービステーブル、６０１…サービス対応テーブル、８０１…コンテンツリストファイル、９０１…コンテンツリストテーブル、１００１…コンテンツ依存関係テーブル。
【図１】
2005258834.tif 000003
【図２】
2005258834.tif 000004
【図３】
2005258834.tif 000005
【図４】
2005258834.tif 000006
【図５】
2005258834.tif 000007
【図６】
2005258834.tif 000008
【図７】
2005258834.tif 000009
【図８】
2005258834.tif 000010
【図９】
2005258834.tif 000011
【図１０】
2005258834.tif 000012
【図１１】
2005258834.tif 000013
【図１２】
2005258834.tif 000014
【図１３】
2005258834.tif 000015
【図１４】
2005258834.tif 000016
【図１５】
2005258834.tif 000017
【図１６】
2005258834.tif 000018
【図１７】
2005258834.tif 000019
【図１８】
2005258834.tif 000020