(57)【要約】【課題】  情報機器が、ホームネットワークに参加したとき、即座に、現在のホームネットワークの環境で実現可能な情報機器連携サービスをユーザに通知し、利用することを可能にする。【解決手段】  上記課題を解決するために、外部装置と通信網を介してデータのやり取りが可能な情報処理装置において、該情報処理装置と該外部装置とを構成要素としたサービスが記述されたサービスに関する情報を記憶する記憶部と、該外部装置と接続されると該記憶部により記憶された該サービスに関する情報と該情報処理装置を識別するための識別情報と該外部装置へ出力する出力部とを備えるように構成する。【選択図】  図１
2007133796.tif 000002
【特許請求の範囲】
【請求項１】
外部装置と通信網を介してデータのやり取りが可能な情報処理装置において、
該情報処理装置と該外部装置とを構成要素としたサービスが記述されたサービスに関する情報を記憶する記憶部と、
該外部装置と接続された場合に該記憶部により記憶された該サービスに関する情報と該情報処理装置を識別するための識別情報と該外部装置へ出力する出力部とを備えることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置において、
前記サービスに関する情報は前記通信網を介して取得されることを特徴とする情報処理装置。
【請求項３】
請求項１記載の情報処理装置において、
前記記憶部は、前記サービスに関する情報として、所定のサービス名と該サービスに用いられる装置の種類と該装置が有する所定の機能とを関連付けて記憶することを特徴とする情報処理装置。  
【請求項４】
請求項１記載の情報処理装置において、
前記サービスに関する情報には、前記外部装置が提供する機能に対して必須機能であるか拡張機能であるかの識別情報を含むことを特徴とする情報処理装置。  
【請求項５】
請求項１記載の情報処理装置において、
前記サービスに関する情報が録画予約に関するサービスに関する情報を含むことを特徴とする情報処理装置。
【請求項６】
請求項１記載の情報処理装置において、
該記憶部により記憶された該サービスに関する情報に所定の情報を付加もしくは削除してから該サービスに関する情報を出力するように制御する制御部とを備えることを特徴とする情報処理装置。
【請求項７】
請求項５記載の情報処理装置において、
該記憶部により記憶された該サービスに関する情報内に該情報処理装置を識別するための識別情報を含んだ形態で該サービスに関する情報を出力するように制御する制御部とを備えることを特徴とする情報処理装置。
【請求項８】
請求項１記載の情報処理装置において、
前記外部装置のうち少なくとも一つはホームサーバであり、
前記記憶部により記憶された前記サービスに関する情報と前記情報処理装置を識別するための識別情報とを該ホームサーバに出力するよう制御する制御部とを備えることを特徴とする情報処理装置。
【請求項９】
複数の外部装置と通信網を介してデータのやり取りが可能な情報処理装置において、
該複数の外部装置を構成要素としたサービスに関するデータと該外部装置を識別するための識別データを含むデータを該外部装置から該通信網を介して入力する入力部と、
該入力部からの該データを該外部装置へ出力する出力部とを備えることを特徴とする情報処理装置。
【請求項１０】
第１の情報処理装置と第２の情報処理装置と第３の情報処理装置とが通信網を介してデータの送受信を行う情報処理システムにおいて、
該第１の情報処理装置は、該第１の情報処理装置及び該第２の情報処理装置とを構成要素としたサービスに関する情報を記憶する記憶部と、該記憶部により記憶された該サービスに関する情報と該情報処理装置を識別するための識別情報とを該第３の情報処理装置に出力する出力部とを備え、
該第３の情報処理装置は、該第１の情報処理装置から出力された該サービスに関する情報と該識別情報とを用いて新たにサービスに関する情報を作成する作成部と、該作成部により作成された該サービスに関する情報を該第１の情報処理装置及び該第２の情報処理装置に出力する出力部とを備えることを特徴とする情報処理システム。
【請求項１１】
請求項１０記載の情報処理システムにおいて、
前記第１の情報処理装置又は前記第２の情報処理装置のうち少なくとも一つはデータを記憶するデータ記憶部を有することを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の情報処理装置が通信網を介してデータをやりとりする技術に関するものである。
【背景技術】
【０００２】
近年、UPnP(Universal Plug and Play)やJini(Sun Microsystemsの登録商標)等のミドルウェアを利用して、複数の機器が相互に連携し、ユーザにサービスを提供する技術が多く提案されている。例えば、DLNA(Digital Living Network Alliance)で利用されているUPnP AVアーキテクチャでは、複数のサーバの機能を１つのクライアントで操作することが可能である。（非特許文献１参照）
また、特開２００４−２１３６１２号公報では、OSGiとUPnP、Jiniを利用して、アプリケーションサーバ（例えばホームサーバ）が存在するホームネットワークに新規情報機器が追加されたことをUPnP、Jiniを利用して検知し、新規情報機器を利用するためのアプリケーションを、OSGiを利用してダウンロードする技術が開示されている。
【０００３】
【非特許文献１】OSGi Alliance OSGi Technology [on line] [平成17年8月19日検索]、＜http://www.osgi.org/osgi_technology/index.asp?section=2＞
【特許文献１】特開２００４−２１３６１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記文献においては、新規にデバイスが接続され、そのデバイスを用いて新たな機能・サービスを提供する場合の処理について言及はあるものの、そのデバイス自体が具備している機能にのみ特化しており、既存デバイスと新規のデバイスとで新たに創出されるサービスの実現については着想がなされていない。そのため、複数の情報処理装置が相互に関連しながら種々のサービスを提供する場合における処理の検討が十分ではなかった。
【０００５】
従って、上記文献のような技術では、本来、新たに接続されたデバイスとそれまでに接続されていたデバイスとの間で有用なサービスが実現できるにもかかわらず、ユーザにとってみればそれを利用する手段がない、といった問題がある。
【０００６】
また、上記文献の枠組みで、新たに接続されたデバイスとそれまでに接続されていたデバイスとの間で実現されるサービスを実行しようとすると、新たなデバイスが接続されるたびに新しい制御プロトコルを、ホームネットワーク等に接続されたそれぞれの装置に実装する必要がある。これは非効率的であり、コストもかかってしまう。
【０００７】
そこで、本発明の目的は、新規に接続したデバイスと既に接続されたデバイスとで連携して提供するサービスを容易に実行できる情報処理装置及び情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、例えば、外部装置と通信網を介してデータのやり取りが可能な情報処理装置において、その情報処理装置と外部装置とを構成要素として実現できるサービス情報をその情報処理装置内に記憶しておき、その記憶された該サービス情報とその情報処理装置の識別情報（例えばID情報）とをホームネットワークを統括管理するホームサーバ等に出力するように構成すればよい。具体的には、特許請求の範囲に記載された構成にすればよい。
【発明の効果】
【０００９】
新規に接続したデバイスと既に接続されたデバイスとで連携して提供するサービスを容易に実行できる情報処理装置及び情報処理システムを提供することができる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態について図面を参照して説明する。同一記号・符号は同一機能を有するものとして以下扱う。
【００１１】
図１は、実施形態のサービス管理システム１のシステム構成例を示す図である。図１において、２は宅内の情報機器をネットワークによって接続したホームネットワークであり、８０は機器構成テーブル２０を有し、ホームネットワークに新規に参入した情報機器c、６０は情報機器ｃ８０より以前にホームネットワークに参入した情報機器a、７０は情報機器aと同じく情報機器c８０より以前にホームネットワークに参入した情報機器b、５０は宅内ホームネットワークと宅外のネットワークを接続するためのルータ、５２はインターネット、５４は、OSGi(Open Services Gateway Initiative)フレームワークに適用した宅内のネットワーク機器にインストールするアプリケーション等を有したファイルサーバ、１００はホームサーバ、２０は機器構成テーブル、４０は機器管理テーブル、１１０は１つあるいは複数のクライアントを制御するアプリケーション、クライアント１１２、クライアント１１４、クライアント１１６は各情報機器に存在する処理１１８、処理１２０及び処理１２２を制御することを目的とし、処理１１８、処理１２０、処理１２２はクライアント１１２、クライアント１１４及びクライアント１１６に依頼された処理を実行し、処理結果をクライアント１１２、クライアント１１４及びクライアント１１６へ返す機能を有している。
【００１２】
前述した情報機器について、情報機器a６０、情報機器b７０、情報機器c８０を特定しない場合には、単に情報機器と表記する。
【００１３】
また、情報機器は一般的に、ＰＣ(Personal Computer)、ＨＤＤ(Hard Disk Drive)レコーダ、ＤＶＤ(Digital Versatile Disk)プレーヤ、エアコン、センサ、ＮＡＳ（Network Access Storage）、電灯、冷蔵庫、電子レンジ、時計などホームネットワークを構築する様々な情報機器をさす。
【００１４】
ホームネットワーク２は、宅内のPC、AV機器、家電等の情報機器を無線LAN(Local Area Network)、有線ＬＡＮ、bluetooth、ＵＷＢ(Ultra Wide Band)を使って接続し、各情報機器同士でデータのやり取りを行うことを可能にする。
【００１５】
機器構成テーブル２０は、複数の情報機器がUPnPやJini等を用いて提供する基本サービスである機能２３を連携させ、上位のサービス２１を実施するために必要な情報機器情報(情報機器２２)を記述したテーブルである。
【００１６】
複数の情報機器が連携してユーザに提供するサービスにおいて、機器構成テーブル２０には、前記機器構成テーブル２０を有する情報機器を構成要素としたサービスの一覧が表記されており、いわゆるサービスの設計図である機器構成テーブル２０と、ホームネットワーク２上の情報機器の機能を照らし合わせることによって、ユーザに提供できるサービスを検証することができる。機器構成テーブル２０の詳細については、図４を利用して後述する。
【００１７】
機器管理テーブル４０は、機器構成テーブル２０を基に構築するテーブルである。情報機器２２で記述された情報機器がホームネットワーク２上に存在すると、情報機器を特定するユニークなＩＤ(ユニークＩＤ４３)を該情報機器から取得し、機器管理テーブル４０に登録する。詳細については、図６を用いて後述する。
【００１８】
インターネット５２は、光回線網、ＣＡＴＶ網、電話回線網等で構成されたネットワークであり、インターネット５２に接続された装置間である所定の手順にしたがってデータのやり取りを行うことを可能とする。
【００１９】
ルータ５０は、インターネット５２とホームネットワーク２を接続し、データのやり取りを行うことを可能にする。
【００２０】
ファイルサーバ５４は、ホームネットワーク２上の情報機器に必要なアプリケーション等を蓄積しており、情報機器が必要に応じてファイルサーバ５４からアプリケーションをダウンロードすることで、情報機器の機能追加や変更を可能にする。
【００２１】
情報機器c８０は、搭載しているメモリやＨＤＤのような蓄積装置に機器構成テーブル２０を蓄積しており、ホームネットワーク２への新規情報機器や情報機器c８０の追加のタイミングで、ホームネットワーク２上の情報機器を検索して、機器構成テーブル２０に記述されているサービス２１に必要な情報機器を検出し、機器管理テーブル４０を作成する。
【００２２】
作成された機器管理テーブル４０は、情報機器c８０に搭載されているメモリやＨＤＤに蓄積してもよいし、ホームネットワーク２上の情報機器c８０以外のメモリやＨＤＤに蓄積してもよい。
【００２３】
ただし、後者の場合には、機器管理テーブル４０が存在するＵＲＩ(Uniform Resource Identifier)を情報機器c８０内の蓄積装置に記憶しておく必要がある。
【００２４】
また、ホームネットワーク２上に情報機器c８０とは別に、他の情報機器が有する機器構成テーブル２０を管理する機能もった情報機器が存在している場合、情報機器c８０が、前述した機器構成テーブル２０を管理する情報機器へ機器構成テーブル２０をインストールすることで、ユーザに機器構成テーブル２０記載のサービスを提供することが可能である。
【００２５】
機器構成テーブル２０をインストールされた情報機器は、ホームネットワーク２に存在する情報機器を検索し、機器管理テーブル４０を作成する。作成した機器管理テーブル４０は、情報機器c８０に搭載されているメモリやＨＤＤに蓄積してもよいし、ホームネットワーク２上の情報機器c８０以外のメモリやＨＤＤに蓄積してもよい。
【００２６】
ただし、後者の場合には、機器管理テーブル４０が存在するＵＲＩ(Uniform Resource Identifier)を情報機器c８０内の蓄積装置に記憶しておく必要がある。機器構成テーブル２０をインストールする情報機器は、ホームサーバ１００であってもよく、ホームサーバ１００によって、ホームネットワーク２上に存在する情報機器ｃ８０が提供する機器構成テーブル２０を一括管理してもよい。
【００２７】
また、情報機器c８０は、ネットワークを通じてUPnPやJini等のミドルウェアを利用し、クライアントから通知される要求を実行し、処理結果を返す機能を持つ処理１２４を有することで、クライアントに対してサービスを提供することが可能である。
【００２８】
処理１２４をホームサーバ１００から利用するためには、最初に、ホームサーバ１００へアプリケーション１１０やクライアント１１６のインストールが必要であるが、情報機器c８０がアプリケーション１１０やクライアント１１６を蓄積する領域を持つ場合（プログラム格納部８４内）、ホームサーバ１００に対して機器構成テーブル２０をインストールする際に、宅外に存在するファイルサーバへアクセスして情報機器c８０が所有するアプリケーション１１０やクライアント１１６のソフトウェアをインストールしてもよい。
【００２９】
また、情報機器c８０が他の情報機器の機器構成テーブル２０および、機器管理テーブル４０を管理する場合、クライアントに対してサービスを提供するだけでなく、他の情報機器が提供するサービスをコントロールするクライアントの機能も持つこととする。
【００３０】
情報機器c８０のハードウェア構成は、別途、図２を利用して後述する。
【００３１】
情報機器a６０と情報機器b７０は、少なくてもUPnPやJini等を実装し、クライアントに対して処理１２０や処理１２２をネットワークサービスとして提供できる機能を持つ。また、情報機器c８０と同等の機能を持っていてもかまわない。
【００３２】
ホームサーバ１００は、少なくても、UPnPやJini等を実装し、情報機器a６０、情報機器b７０、情報機器c８０が提供する処理１２０、処理１２２、処理１２４をネットワークサービスとして利用可能である。
【００３３】
さらに、他の情報機器から送信されてきた機器構成テーブル２０と機器構成テーブル２０から作成する機器管理テーブル４０を所有することで、サービス連携を実現する。ネットワークサービスを利用する上でサービス４１を制御するアプリケーション１１０やネットワークで提供可能なサービスである機能４４を制御するクライアントが、ホームサーバ１００に存在しない場合は、OSGiなどのフレームワークを実装して、インターネット５２上に設置されたファイルサーバ５４を利用し、情報機器をコントロールするために必要なクライアントやクライアントをコントロールするアプリケーション１１０をダウンロードして利用する。
【００３４】
ファイルサーバ５４を利用する以外にも、ホームネットワーク２に新規参入した情報機器c８０の蓄積装置に、サービス２１に必要なアプリケーション１１０やクライアントを格納しておき、機器構成テーブル２０をホームサーバにインストールするとき、前述したアプリケーション１１０やクライアントを情報機器c８０からホームサーバ１００へ送信してもよい。
【００３５】
本実施形態のホームサーバ１００は、ホームネットワーク２に存在しない場合、ホームサーバ１００の機能を有する情報機器がホームネットワーク２内に存在しているものとする。また当該情報機器は、１つ情報機器でアプリケーション１１０を複数管理する必要はなく、アプリケーション１１０と機器構成テーブル２０および機器管理テーブル４０を管理することが可能な情報機器が複数存在し、それぞれが、１つ以上のアプリケーション１１０を管理していてもよい。
【００３６】
ホームサーバ１００のハードウェア構成は、別途、図３を利用して後述する。
【００３７】
アプリケーション１１０は、複数のクライアントを制御してユーザにサービスを提供するソフトウェアである。さらに、サービス４１を制御する管理ソフトウェアによって管理され、管理ソフトウェアにアプリケーション１１０を登録することによって始めてサービスとしてユーザに提供できる。
【００３８】
管理ソフトウェアは、アプリケーション１１０をプラグインのように追加・修正・削除を行うことができる。管理ソフトウェアに登録されているアプリケーション１１０は、機器管理テーブル４０のサービス４１に登録されているサービス数分存在し、機器管理テーブル４０にサービスが追加されると、管理ソフトウェアにはサービスに対応したアプリケーション１１０も追加される。
【００３９】
追加されるアプリケーション１１０は、機器管理テーブル４０を作成するために必要な機器構成テーブル２０を提供する情報機器ｃ８０のプログラム格納部８４、もくしは、宅外のファイルサーバ５４に格納部からダウンロードする。
【００４０】
また、アプリケーション１１０が利用するクライアントが存在しない場合には、管理ソフトウェアに通知して、クライアントの追加・修正・削除を行うことが可能である。
【００４１】
クライアント１１２、クライアント１１４及びクライアント１１６は、UPｎPやJini等のミドルウェアによって実装し、同じくUPnP、Jini等のミドルウェアによって実装する処理１２０、処理１２２、処理１２４のネットワークサービスに対して処理依頼をするソフトウェアである。本実施例におけるクライアントと処理の関係は、例えば、同機能を提供する処理１２０、処理１２２及び処理１２４において、１つのクライアントで複数の処理１２０、処理１２２及び処理１２４に対して処理依頼を実行することが可能である。
【００４２】
しかし、本実施例では、説明を容易にするため、クライアント１１２は、処理１２０のコントロールを実施し、クライアント１１４は処理１２２を、クライアント１１６は処理１２４をコントロールするものとする。
【００４３】
また、ネットワークサービスを提供するためのミドルウェアは、UPnPで実装したものとして説明する。実際には、ネットワークに追加された情報機器を自動検出し、提供可能なサービスをホームネットワーク上の情報機器に対して通知する機能を持つプロトコルであれば、どのようなプロトコルを利用してもかまわない。
【００４４】
本実施形態のサービス管理システム１において、ホームネットワーク２内には、異なるサービスを提供する複数の情報機器とホームサーバ１００が存在し、当該サービスを提供する各情報機器に搭載する処理に対して、処理依頼するクライアントがホームサーバ１００に搭載されており、複数のクライアントを統合的に管理するアプリケーション１１０を搭載することで、ユーザは個々のサービスを意識せずに、容易な操作で目的の処理を実施することが可能になる。
【００４５】
例えば、携帯端末で録画したTV番組を視聴したい場合、TV番組の録画予約を行い、さらに、録画が終了すると携帯端末が再生可能なコンテンツのフォーマットにトランスコーディングし、生成されたコンテンツを携帯端末に搭載されたＨＤＤ等に移動することが必要になる。
【００４６】
個々の処理は、ＨＤＤレコーダやＰＣ、インターネットのサービス等を利用して実現することは可能であるが、ユーザが各処理ステップを踏んで携帯端末でＴＶ番組を視聴するまでに至るには、非常に手間がかかってしまう。そこで、個々のサービスを統合的に管理する上位のサービスを定義し、実行するアプリケーション１１０を搭載することで、ユーザの操作を簡単にすることが可能になる。
【００４７】
また、本実施形態のサービス管理システム１において、情報機器ｃ８０に、機器構成テーブル２０を蓄積させ、情報機器ｃ８０がホームネットワーク２に新規参入したときに、機器構成テーブル２０をホームサーバ１００に送信し、ホームサーバ１００はホームネットワーク２内の情報機器を検索して、機器構成テーブル２０に記載のサービス２１が提供可能か否かを評価し、機器管理テーブル４０を作成し、必要であれば、情報機器が提供するサービスを利用するためのクライアントと、クライアントを統合的に管理するアプリケーション１１０を宅外のファイルサーバもしくは、情報機器ｃ８０からダウンロードしてインストールすることで、サービス連携によって実現する上位のサービスをユーザに対して提供することが可能になる。
【００４８】
情報機器c８０がホームネットワーク２に参入したときに、ユーザに対して即座に、現在のホームネットワーク２の環境で実現可能な上位のサービスを通知し、利用することを可能にする。
【００４９】
図２は本実施形態を適応しうる情報機器c８０のハードウェア構成図である。
【００５０】
図２に示すように、情報機器c８０は、ＣＰＵ８１と、主記憶８２と、通信制御部８３と、プログラム格納部８４と、機器構成テーブル格納部８５によって構成されている。そして、情報機器c８０の各構成要素は、バス８６によって接続され、各構成要素間で必要な情報が伝達可能なように構成されている。
【００５１】
ＣＰＵ８１は、主記憶８２やプログラム格納部８４にあらかじめ格納されているプログラムによって所定の動作を行う。
【００５２】
主記憶８２は、ワークエリアとして機能し、かつ必要なプログラムを格納するための手段であり、例えば、前者に対してはＲＡＭ（Random Access Memory）、後者に対してはＲＯＭ(Read Only Memory)等によって実現できる。
【００５３】
通信制御装置８３は、ホームネットワーク２を介して、同じくホームネットワーク２に接続される装置とデータを送受信するための手段であり、例えば、モデム、ネットワークアダプタ、無線送受信装置等によって実現される。
【００５４】
プログラム格納部８４は、情報機器c８０の動作を制御するためのプログラムを保存する手段であり、例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、Ｆｌａｓｈメモリ等によって実現できる。
【００５５】
機器構成テーブル格納部８５は、情報機器c８０を構成要素に持つサービスが記述されている機器構成テーブル２０を保存する手段であり、例えば、ＨＤＤ、光ディスク、Ｆｌａｓｈメモリ等によって実現できる。
【００５６】
情報機器ｃ８０でアプリケーション１１０を管理する場合、上記の機能のほかに、機器管理テーブル格納部(不図示)、情報機器情報格納部(不図示)が別途必要であり、さらにプログラム格納部には、アプリケーション１１０が格納されることになる。
【００５７】
図３は、本実施形態を適応しうるホームサーバ１００のハードウェア構成図である。図３に示すように、ホームサーバ１００は、ＣＰＵ１０１と、主記憶１０２と、通信制御部１０３と、プログラム格納部１０４と、機器構成テーブル格納部１０５と、機器管理テーブル格納部１０６によって構成されている。そして、ホームサーバ１００の各構成要素は、バス１０７によって接続され、各構成要素間で必要な情報が伝達可能なように構成されている。
【００５８】
ＣＰＵ１０１は、主記憶１０２やプログラム格納部１０４にあらかじめ格納されているプログラムによって所定の動作を行う。
【００５９】
主記憶１０２は、ワークエリアとして機能したり、必要なプログラムを格納するための手段であり、例えば、前者に対してはＲＡＭ（Random Access Memory）、後者に対してはＲＯＭ(Read Only Memory)等によって実現できる。
【００６０】
通信制御装置１０３は、ホームネットワーク２を介して、同じくホームネットワーク２に接続される装置とデータを送受信するための手段であり、例えば、モデム、ネットワークアダプタ、無線送受信装置等によって実現される。
【００６１】
プログラム格納部１０４は、ホームサーバ１００の動作を制御するためのプログラムを保存する手段であり、例えば、ＨＤＤ（Hard Disk Drive）、光ディスク、Flashメモリ等によって実現できる。
【００６２】
機器構成テーブル格納部１０５は、機器構成テーブル２０を保存する手段であり、例えば、ＨＤＤ、光ディスク、Ｆｌａｓｈメモリ等によって実現できる。情報機器c８０によってインストールされた機器構成テーブル２０は、情報機器c８０ごとに管理されている。例えば、情報機器c８０のユニークIDを利用して、情報機器ごとに機器構成テーブル２０を登録する（図５：機器構成テーブル格納部１０５に登録後の機器構成テーブル２０）。
【００６３】
機器管理テーブル格納部１０６は、機器構成テーブル４０を保存する手段であり、例えば、ＨＤＤ、光ディスク、Ｆｌａｓｈメモリ等によって実現できる。
情報機器情報格納部１０７は、ホームネットワーク２を構成する情報機器名３１とユニークＩＤ３２によって構成されている情報機器情報テーブル３０を保存する手段であり、例えば、ＨＤＤ、光ディスク、Ｆｌａｓｈメモリ等によって実現できる。
【００６４】
図４は機器構成テーブル２０の構成例である。機器構成テーブル２０は、複数のクライアントと処理で提供されるサービスを統合的に管理し、上位のサービスとして定義するサービス２１と、ホームネットワーク２上に存在する情報機器が、機器構成テーブル２０に記載のサービス２１に必要な情報機器かを同定するために必要な情報機器２２と、サービス２１を提供する上で必要な情報機器２２が実装する機能２３と、サービス２１を実現する上で機能２３が必須機能であるか、サービス２１をさらに拡張するための拡張機能であるかを示すフラグ２４によって構成されている。
【００６５】
さらに、機器構成テーブル２０のサービス２１には、必ず機器構成テーブル２０を所有する情報機器ｃ８０が、情報機器２２として構成されている。前述した情報機器２２は、情報機器の種類を判別できればよく、判別に利用する情報は何を利用しても良い。
【００６６】
図５は機器構成管理テーブル３０の構成例である。機器構成管理テーブル３０は、いずれかの情報機器、もしくはホームサーバ１００にインストールされたときの機器構成テーブル２０である。インストールされた機器構成管理テーブル３０は、インストール元の情報機器ｃ８０のデバイスＩＤ２５と送信されてきた機器構成テーブル２０をひもづけて登録したものである。
【００６７】
利用用途として、機器構成テーブル２０をインストールして、図６に示す機器管理テーブル４０を作成した後、さらに新規の情報機器ｃ８０、もしくは、UPnP等で実装したサービスを提供可能な情報機器がホームネットワーク２に新規参入してきたとき、機器構成管理テーブル３０を参照して、機器構成管理テーブル３０のサービス２１にひもづく情報機器２２を検索することによって、新しくユーザに提供可能なサービス２１を探す。提供可能なサービス２１を発見すると、機器管理テーブル４０に、検索したサービス２１を登録し、ユーザにサービス２１が利用可能であることを通知する。
【００６８】
機器構成テーブルをインストールする処理についてUPnP等で実装することが望ましく、その場合、Presentation URLなどにアプリケーション１１０やクライアントをダウンロードするＵＲＬを記載しておく必要がある。
【００６９】
図６は機器管理テーブル４０を示すテーブルの例である。機器管理テーブル４０は、ユーザに対して提供可能なサービス４１のリストと、サービスを構成する情報機器４２のリストと、情報機器のユニークＩＤ４３のリストと、情報機器が提供する機能４４のリストによって構成されている。機器構成テーブル２０が情報機器ｃ８０もしくはホームサーバ１００にインストールされると、インストールされた機器はホームネットワーク２内の情報機器と各情報機器が提供する機能を検索し、検索結果からサービス２１を構成する情報機器と機能を照らし合わせ、ユーザに提供可能なサービスをサービス２１のリストから抜き出し、機器管理テーブル４０を作成して、機器管理テーブル格納部１０６へ登録する。
【００７０】
ユニークＩＤ４３は、そのＩＤによってホームネットワーク２上に存在する情報機器が識別できる必要がある。例えば、UPnPで実装している場合には、ＵＤＮ(Unique Device Name)を利用する方法が望ましい。
【００７１】
ホームネットワーク２内に同じ機能を持つ情報機器が複数存在した場合、どの情報機器でも利用できるように機器管理テーブル４０のユニークＩＤ４３は、同じ情報機器４２に対して、複数のユニークＩＤを登録することが可能である。ただし、複数の同じ機能を持つ情報機器が宅内に存在し、それらがＴＶやスピーカまたは温度センサやエアコンなど、連携する機器に対して物理的位置が重要になる場合、ネットワーク上からは宅内の物理的な情報機器の位置などを把握することは困難であるため、複数の同機能を持つ情報機器がホームネットワーク２上で発見された場合には、ユーザの設定が必要になる。そのため、ユーザが設定した情報機器がわかるように管理する。管理方法については、どのような方法を用いてもよい。
【００７２】
また、機器管理テーブル４０のユニークＩＤ４３を利用せずに、サービス実行のたびに、ホームネットワーク２内の情報機器を検索してもよい。ただし、情報機器の物理的位置が重要である場合には、ユーザ利便性のために、ユーザが設定した情報機器のユニークＩＤだけは管理しておくことが望ましい。
【００７３】
次に、本実施形態における動作を、図面を用いて説明する。図７は機器構成テーブル２０のホームサーバ１００への登録方法である。ステップS100では、情報機器c８０がホームネットワーク２に無線LAN、Bluetooth、UWB等を利用して接続し、参加したことを全情報機器、ホームサーバ１００に通知する。ホームサーバ１００は新規追加された情報機器c８０を前記通知によって発見し、新規情報機器c８０の情報機器の種類や機能の一覧、ユニークID、機器構成テーブル２０を取得できるURL（Uniform Resource Locator）等が記述してあるデバイス情報を取得し、ユニークID４３を取得する（ステップS１０５）。情報機器情報テーブル格納部１０８内の情報機器情報テーブル３０にあるユニークID３２を検索して、同じユニークIDを有する情報機器が存在しないか確認する（ステップS１１０）。情報機器c８０が、前記テーブルに存在しなかった場合、ホームサーバ１００は、デバイス情報に含まれるURLを利用して情報機器c８０に対して機器構成テーブル２０の取得要求を実施する（ステップS１１５）。
【００７４】
情報機器c８０は、ステップS１１５の機器構成テーブル２０の取得要求を受けて（ステップS１２０）、情報機器c８０が所有する機器構成テーブル２０を送信する（ステップS１２５）。ホームサーバ１００は、ステップS１１５で送信した取得要求に対して、送信されてきたデータを受信する（ステップS１３０）。
【００７５】
受信したデータが機器構成テーブル２０であるかを判定し（ステップS１３５）、機器構成テーブル２０であれば、取得した機器構成テーブル２０を事前に取得した情報機器c８０のユニークIDとひもづけ機器構成テーブル格納部１０５に蓄積する（ステップS１４０）。
【００７６】
ステップS１１０において、取得した情報機器c８０のユニークIDが情報機器情報テーブル３０に存在する場合、既に情報機器c８０がホームサーバ１００に登録されたものとし判断し、本登録は終了する。
【００７７】
ステップS１３５において、取得したデータが機器構成テーブル２０ではなかった場合、ステップS１０５で取得した情報機器の種類を検索キーにして、機器構成テーブル２０の情報機器２２を検索する（ステップS１４５）。
【００７８】
ステップS１４５にて該当する情報機器が存在しなかった場合、また、該当する情報機器が存在し、かつ、ステップS１０５で取得した機能の一覧から、該当する情報機器の要求する機能２３が存在しなかった場合、本登録を終了する（ステップS１５０）。
【００７９】
ステップS１５０において当該情報機器が存在し、かつ、ステップS１０５で取得した機能の一覧から、該当する情報機器が要求する機能２３が存在する場合、該当する情報機器２２が属するサービス２１を検索キーにして、ホームサーバ１００の機器管理テーブル格納部１０６内の機器管理テーブル４０を検索し、該当するサービス４１の前記情報機器２２に該当する情報機器４２のユニークID４３へステップS１０５で取得したユニークIDを登録する（ステップS１５５）。登録処理が終了すると、本登録は終了する。
【００８０】
機器構成テーブル２０がホームサーバ１００に登録した後、情報機器８０をコントロールするクライアント１１６と、複数情報機器をコントロールするためのアプリケーション１１０が必要になる。情報機器c８０とホームサーバ１００にHAVi(Home Audio/Video interoperability)が実装されており、かつ、情報機器c８０のプログラム格納部８４にホームサーバ１００で実行するクライアント１１６とアプリケーション１１０が蓄積されている場合、図７の処理後、HAViミドルウェアを利用して自動的にホームサーバ１００へクライアント１１６とアプリケーション１１０をインストールすることも可能であるが、本実施例は、OSGiフレームワークを利用したインストール方法について図８を用いて説明する。
【００８１】
図８は、制御デイバス８０の機能１２４をコントロールするために必要なクライアント１１６のインストールとクライアント１１６をコントロールするアプリケーション１１０のインストール方法について記述したフローチャートである。
機器構成テーブル２０のインストール終了後、ホームサーバ１００は、図７にてインストールした機器構成テーブル２０を参照して、ホームネットワーク２を構成している全情報機器に対して、検索を行う。
【００８２】
UPnPを利用した場合、デバイスディスクリプションを実施することで、情報機器情報を取得することが可能であるため、取得した情報の情報機器の種類が、機器構成テーブル２０の情報機器２２のいずれかに当てはまるかを検索する。
【００８３】
検索はデバイスディスクリプションによって取得した情報機器すべてに対して実施する。検索の結果、取得した情報機器情報が、機器構成テーブル２０の情報機器２２記載のいずれにも当てはまらなかった場合は、本フローチャートは終了する（ステップS２００）。
【００８４】
ステップS２００で該当する情報機器２２が存在した情報機器に対して、該当する情報機器２２が要求する機能２３と比較するために、当該情報機器が所有する機能の一覧を取得する。取得した機能一覧の中に前記機能２３が存在する場合、ステップS２１０に移行し、存在しない場合には、本フローチャートは終了する（ステップS２０５）。
【００８５】
ステップS２０５の処理において該当する情報機器２２と前記情報機器２２が要求する機能２３がホームネットワーク２に存在する場合、当該情報機器２２が属するサービス２１において、ステップS２００とステップS２０５をホームネットワーク２中の全情報機器に対して実施した結果、少なくても前記サービス２１の必須機能を提供できる情報機器が存在する場合、機器管理テーブル格納部１０６の機器管理テーブル４０に前記サービス２１を追加する。構成する情報機器は、追加したサービス４１の該当する情報機器４２のユニークID43に追加する情報機器のUDNを入力する（ステップS２１０）。
【００８６】
機器管理テーブル４０にサービスの追加が終了した時点で、ホームサーバ１００に追加したサービスに属する情報機器の処理をコントロールするクライアントのソフトウェアがホームサーバ１００上に存在するかを確認する。クライアントが存在しない場合（ステップS２１５）、ホームサーバ１００はインターネット５２に存在するファイルサーバ５４にアクセスして、提供するサービス４１、コントロールする情報機器４２、コントロールする機能４４を検索キーに、必要なソフトウェアを検索し、ダウンロードする。
【００８７】
クライアントソフトウェアをファイルサーバ５４からダウンロードする仕組みに関して、ホームサーバ１００とファイルサーバ５４に関してOSGiフレームワークが搭載されている場合には、OSGiの機能を利用してダウンロードしてもよい（ステップS２２５）。さらに、サービス４１を管理するアプリケーション１１０がホームサーバ１００内に存在しない場合には（ステップS２２０）、サービス４１を検索キーにしてファイルサーバ５４にアクセスし、該当するアプリケーション１１０をダウンロードする（ステップS２３０）。
【００８８】
ステップS２２５もしくはステップS２３０のダウンロードが終了し、ソフトウェアのインストール作業が終了すると、本フローチャートは終了する。ステップS２１５やステップS２２０においてダウンロードするソフトウェアが既に存在する場合には、ダウンロード処理は発生しない（ステップS２１５とステップS２２０）。
【００８９】
次に、アプリケーション実行の方法について図９を使って説明する。まず最初に、ユーザからの操作やセンサからのイベント通知をアプリケーション１１０が受信する。ユーザの操作は、例えば、ホームサーバ１００がWebサーバ機能を持ち、ユーザインターフェースをHTML（HyperText Markup Language）によって提供する方法や、ホームネットワーク２上のTVを利用して、TVからホームサーバ１００に対してUPnPを利用してユーザインターフェースを提供する方法などが考えられる。
【００９０】
前者の方法を利用すれば、ユーザインターフェースを表示する端末にはWebブラウザが搭載してある必要があり、後者では、TV側にはアプリケーション１１０をコントロールするクライアントが必要になり、アプリケーション１１０には、UPnPを通して、他の端末へユーザインターフェースを提供する機能が必要になる。
【００９１】
ユーザからの操作やセンサからのイベント通知を受信するとアプリケーション１１０は、機器管理テーブル４０を確認して、ユーザが操作するサービスやイベント通知の内容、通知元の情報機器によって、機器管理テーブル４０内のどのサービスかを割り出す（ステップS３００）。
【００９２】
ユーザもしくはイベントに要求されているサービスがわかると、サービスに属する情報機器をホームネットワーク２上に存在するかを確認する。情報機器を確認する際には、機器管理テーブル４０に登録されているユニークID４３の情報機器に対して行う（ステップS３０５）。情報機器が利用できることを確認できるとサービスが実行される。ここで情報機器が利用できなければ、サービスにおける必須機能のみの提供が可能かどうかをアプリケーション１１０は検証し、イベントがあったときに利用可能な情報機器だけでサービスを提供できるようにする。
【００９３】
サービスの内容については、ここで詳細について説明はしないが、例えば、監視サービスでは、ホームネットワーク２にWebカメラとHDDレコーダ、もしくはNASが情報機器として存在すると、ホームサーバ１００のアプリケーション１１０と連携して、Webカメラの設置した場所の映像をHDDレコーダもしくはNASに常に蓄積するサービスが提供できる。
【００９４】
また、ここでさらに人感センサという情報機器を家の窓やドア近くに設置することによって、アプリケーション１１０が仲立ちとして人感センサのイベント通知をアプリケーション１１０が受信でき、イベント通知したときから設定した時間だけ、アプリケーション１１０がWebカメラとHDDレコーダもしくはNASにWebカメラの映像が蓄積されるサービスが提供できる。
【００９５】
上記実施例以外にも、ホームネットワーク２上にホームサーバ１００が存在しないモデルも考えられる。ホームサーバ一括管理のシステムではなく、各情報機器それぞれが所有する機器構成テーブルは、所有する各情報機器が管理し、機器管理テーブル等も自ら管理する。これらの管理は、機器構成テーブルを所有する情報機器は、前述したホームサーバと同機能を持つことで可能になる。処理フローに関しては、ホームサーバモデルと同じになるので、ここでは割愛する。
【００９６】
尚、本発明は上述した実施の形態の例に限られるものではなく、本発明の要旨を逸脱することなくその他種々の構成を取り得ることは勿論である。
【００９７】
上述した実施例において、情報機器には、HDDレコーダ、PC、PDA、携帯電話等の様々なデジタル家電を想定し、ホームサーバはPCやHDDレコーダなどを想定している。また、ここで記述した処理内容に関しては、これまでにあげた情報機器のミドルウェアとして搭載する形態で実施でき、設計上都合が良い。
【図面の簡単な説明】
【００９８】
【図１】本実施形態のサービス管理システム構成図である。
【図２】本実施形態の情報機器のハードウェア構成図である。
【図３】本実施形態のホームサーバのハードウェア構成図である。
【図４】本実施形態の機器構成テーブルの構造の一例を示す図である。
【図５】本実施形態のホームサーバ内機器構成テーブル格納部に格納されたときの機器構成テーブルの構造の一例を示す図である。
【図６】本実施形態の機器管理テーブルの構造の一例を示す図である。
【図７】本実施形態における機器構成テーブルをインストールするときのフローチャートである。
【図８】本実施形態におけるソフトウェアをインストールするときのフローチャートである。
【図９】本実施形態におけるソフトウェア実行時のフローチャートである。
【符号の説明】
【００９９】
１…サービス管理システム  ２…ホームネットワーク  ５０…ルータ  ５２…インターネット  ５４…ファイルサーバ  ６０…情報機器a  ７０…情報機器b  ８０…情報機器c  ８１…CPU  ８２…主記憶  ８６…バス  １０１…CPU  １０２…主記憶  １０７…バス  １００…ホームサーバ  １１０…アプリケーション
【図１】
2007133796.tif 000003
【図２】
2007133796.tif 000004
【図３】
2007133796.tif 000005
【図４】
2007133796.tif 000006
【図５】
2007133796.tif 000007
【図６】
2007133796.tif 000008
【図７】
2007133796.tif 000009
【図８】
2007133796.tif 000010
【図９】
2007133796.tif 000011