(57)【要約】【課題】  協業サービス機能を有するサービスを効率的に定義及び開発できる協業サービスのためのホームネットワークシステム及び方法を提供すること。【解決手段】  ネットワーク上に接続される多数のデバイス５００,７００,９００..Ｎ００と、各デバイスに接続され、該当のデバイスの機能を考慮して協業サービスを行うことができるように、各デバイスから収集されるディスクリップションを所定の選択アルゴリズムに適用して、各デバイスの協業サービスの役割を決定するネゴシエーターモジュール１１と、ネゴシエーターモジュール１１により決定された協業サービスの役割によって、制御デバイスから伝送されてくる制御命令を直接行うコーディネーターモジュール１５とを備える。【選択図】  図３
2004320747.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に接続された各デバイスから収集されるディスクリップションを用いて、前記各デバイスの間での協業サービスが可能となるように、所定の選択アルゴリズムにより協業サービスの役割を決定し、決定された役割によって動作制御を行い、前記ネットワーク上に接続された制御デバイスから伝送されてくる制御命令を処理するネゴシエーターモジュールを備えることを特徴とする協業サービス管理装置。
【請求項２】
ネットワーク上に接続された各デバイスから収集されるディスクリップションや所定のアルゴリズムにより決定された協業サービスの役割によって、前記ネットワーク上に存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターモジュールを備えることを特徴とする協業サービス管理装置。
【請求項３】
ネットワーク上に接続された各デバイスから収集されるディスクリップションや所定のアルゴリズムにより決定された協業サービスの役割によって、前記ネットワーク上に存在するコーディネーターモジュールから伝送されてくる制御デバイスの制御命令を受信し、相応しいサービスの提供を行うサポーターモジュールを備えることを特徴とする協業サービス管理装置。
【請求項４】
ネットワーク上に接続された各デバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となうように、所定の選択アルゴリズムにより協業サービスの役割を決定するネゴシエーターモジュールと、
前記ネットワーク上に存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターモジュールとを備えることを特徴とする協業サービス管理装置。
【請求項５】
前記コーディネーターモジュールから伝送されてくる前記制御命令を受信し、それに相応しいサービスの提供を行うサポーターモジュールをさらに備えることを特徴とする請求項４に記載の協業サービス管理装置。
【請求項６】
前記ネゴシエーターモジュールは、前記選択アルゴリズムにより協業サービスの役割が決定されると、各デバイス間の協業サービスが可能となるように、該当のデバイスのディスクリップションに前記決定された協業サービスの役割を設定することを特徴とする請求項４に記載の協業サービス管理装置。
【請求項７】
前記選択アルゴリズムは、前記ネットワーク上の各デバイスから提供されるディスクリップションを用いて、前記協業サービスを通して提供しようとするサービスの機能によって同一のサービス間の一貫性を保つことができるように、各デバイスの協業サービスの役割を調整し、所定のプログラミング言語で書かれていることを特徴とする請求項４に記載の協業サービス管理装置。
【請求項８】
ネットワーク上に接続された各デバイスから収集されるデバイスディスクリップションを用いて、前記デバイス間の協業サービスが可能となるように、所定の選択アルゴリズムにより協業サービスの役割を決定するネゴシエーターモジュールと、
前記ネットワーク上に存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターモジュールとを備える協業サービス管理装置に連結されたことを特徴とする協業サービスのためのホームネットワーク装置。
【請求項９】
前記コーディネーターモジュールから伝送されてくる前記制御命令を受信し、それに相応しいサービスの提供を行うサポーターモジュールをさらに備えることを特徴とする請求項８に記載の協業サービスのためのホームネットワーク装置。
【請求項１０】
前記ネゴシエーターモジュールは、前記選択アルゴリズムにより協業サービスの役割が決定されると、各デバイス間の協業サービスが可能となるように、該当のデバイスのデバイスディスクリップションに前記決定された協業サービスの役割を設定することを特徴とする請求項８に記載のホームネットワーク装置。
【請求項１１】
前記選択アルゴリズムは、前記ネットワーク上の各デバイスから提供されるデバイスディスクリップションを用いて、前記協業サービスを通して提供しようとするサービスの機能によって同一のサービス間の一貫性を保つことができるように、各デバイスの協業サービスの役割を調整し、所定のプログラミング言語で書かれていることを特徴とする請求項８に記載のホームネットワーク装置。
【請求項１２】
ネットワーク上に接続される多数のデバイスと、
前記各デバイスに接続され、該当のデバイスの機能を考慮して協業サービスを行うことができるように、各デバイスから収集されるデバイスディスクリップションを所定の選択アルゴリズムに適用して各デバイスの協業サービスの役割を決定するネゴシエーターモジュールと、
前記ネゴシエーターモジュールにより決定された協業サービスの役割によって制御デバイスから伝送されてくる制御命令を直接行うコーディネーターモジュールとを備えることを特徴とする協業サービスのためのホームネットワークシステム。
【請求項１３】
前記ネゴシエーターモジュールにより決定された協業サービスの役割によって動作を行うサポーターモジュールをさらに備え、
前記コーディネーターモジュールは、前記サポーターモジュールに前記制御命令を伝送して処理するようにすることを特徴とする請求項１２に記載の協業サービスのためのホームネットワークシステム。
【請求項１４】
前記サポーターモジュールは、前記ネットワーク上に接続されるデバイスのうち、自分の属するデバイスに備えられていることを特徴とする請求項１２に記載の協業サービスのためのホームネットワークシステム。
【請求項１５】
前記サポーターモジュールは、前記ネットワーク上に接続されるデバイスのうち、他のデバイスに備えられていることを特徴とする請求項１２に記載の協業サービスのためのホームネットワークシステム。
【請求項１６】
前記ネゴシエーターモジュールは、前記選択アルゴリズムにより協業サービスの役割が決定されると、各デバイス間の協業サービスが可能となるように、該当のデバイスのデバイスディスクリップションに前記決定された協業サービスの役割を設定することを特徴とする請求項１２に記載のホームネットワークシステム。
【請求項１７】
前記選択アルゴリズムは、前記ネットワーク上の各デバイスから提供されるデバイスディスクリップションを用いて、前記協業サービスを通して提供しようとするサービスの機能によって同一のサービス間の一貫性を保つことができるように、各デバイスの協業サービスの役割を調整し、所定のプログラミング言語で書かれていることを特徴とする請求項１２に記載のホームネットワークシステム。
【請求項１８】
ネットワーク上に接続された各デバイスから収集されるデバイスディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、所定の選択アルゴリズムにより協業サービスの役割を決定するネゴシエーターモジュールと、
前記ネゴシエーターモジュールにより決定された協業サービスの役割によって動作を行うサポーターモジュールと、
前記ネゴシエーターモジュールにより決定された協業サービスの役割によって制御デバイスから伝送されてくる制御命令を直接行うか、サポーターモジュールに伝送して処理するようにするコーディネーターモジュールとを備えることを特徴とする記録可能な格納媒体。
【請求項１９】
前記ネゴシエーターモジュールは、前記選択アルゴリズムにより協業サービスの役割が決定されると、各デバイス間の協業サービスが可能となるように、該当のデバイスのデバイスディスクリップションに前記決定された協業サービスの役割を設定することを特徴とする請求項１８に記載の記録可能な格納媒体。
【請求項２０】
前記選択アルゴリズムは、前記ネットワーク上の各デバイスから提供される各デバイスディスクリップションを用いて、前記協業サービスを通して提供しようとするサービスの機能によって同一のサービス間の一貫性を保つことができるように、各デバイスの協業サービスの役割を調整し、所定のプログラミング言語で書かれていることを特徴とする請求項１８に記載の記録可能な格納媒体。
【請求項２１】
ネットワークに接続される他の協業サービスに自分の存在を知らせ、同一の協業サービスとサービスディスクリップションをお互いに交換するステップと、
前記提供されたサービスディスクリップションや所定の選択アルゴリズムにより自分の役割を決定するステップと、
前記決定された役割によってコーディネーターモジュールまたはサポーターモジュールを選択的に実行するステップとを含むことを特徴とする協業サービス方法。
【請求項２２】
前記コーディネーターモジュールが、前記ネットワークに接続されたサポーターモジュールに、制御デバイスから要請される制御命令によるサービスを要請し、サポーターモジュールから応答を受信するステップと、
前記サポーターモジュールが、前記ネットワークに接続された前記コーディネーターモジュールに、前記制御命令によって発生されたイベントメッセージを知らせ、コーディネーターモジュールから応答を受信するステップとをさらに含むことを特徴とする請求項２１に記載の協業サービス方法。
【請求項２３】
選択アルゴリズムは、前記ネットワーク上の各デバイスから提供されるデバイスディスクリップションを用いて、協業サービスを通して提供しようとするサービスの機能によって同一のサービス間の一貫性を保つことができるように、各デバイスの協業サービスの役割を調整し、所定のプログラミング言語で書かれていることを特徴とする請求項２１に記載の協業サービス方法。
【請求項２４】
前記各デバイスの協業サービスの役割を調整する過程は、
前記ネットワーク上の各デバイスに自分を知らせる検索-お知らせの過程により他の協業サービスが存在するか否かを判別するステップと、
前記判別の結果、他の協業サービスが存在しないと、コーディネーターとして協業サービスの役割を決定するステップと、
前記判別の結果、他の協業サービスが存在すると、同一の協業サービスからサービスディスクリップションを収集し、自分の協業サービスの役割がコーディネーターであったか否かを判別し、コーディネーターであった場合、コーディネーターとして協業サービスの役割を決定し、コーディネーターでなかった場合は、サポーターとして協業サービスの役割を決定するステップとを含むことを特徴とする請求項２３に記載の協業サービス方法。
【請求項２５】
前記協業サービスの役割は、前記ネットワーク上に存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターであることを特徴とする請求項２３に記載の協業サービス方法。
【請求項２６】
前記協業サービスの役割は、前記ネットワーク上に存在するコーディネーターの役割を行うデバイスから伝送されてくる制御命令を処理して該当のサービスを提供するサポーターであることを特徴とする請求項２３に記載の協業サービス方法。
【請求項２７】
ネットワーク上に接続された各デバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、自分のデバイス内で制御デバイスから伝送されてくる制御命令によってサービスを行うサービス提供部を活性化するか否かを決定するネゴシエーターモジュールを備えることを特徴とする協業サービス管理装置。
【請求項２８】
ネットワーク上に接続されて所定のサービスを提供するサービス提供部と、
前記ネットワークに接続された各デバイスから収集されるデバイスディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、自分のデバイス内のサービス提供部を活性化するか否かを決定するネゴシエーターモジュールとを備えることを特徴とするホームネットワーク装置。
【請求項２９】
ネットワーク上に接続された多数のデバイスと、
前記各デバイスに連結されて所定のサービスを提供するサービス提供部と、
前記ネットワークに接続された各デバイスから収集されるデバイスディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、自分のデバイス内のサービス提供部を活性化するか否かを決定するネゴシエーターモジュールとを備えるホームネットワークシステム。
【請求項３０】
ネットワークに接続される他の協業サービスに自分の存在を知らせ、同一の各協業サービスとサービスディスクリップションをお互いに交換するステップと、
前記提供されたサービスディスクリップションや所定の選択アルゴリズムにより自分の役割を決定するステップと、
前記決定された役割によって該当のサービスを実行するか、停止するステップとを含むことを特徴とする協業サービス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、協業サービスのためのホームネットワークシステム及び方法に関し、より詳しくは、同一のサービスを有する多数のホームネットワーク装置がホームネットワーク上で協業サービスにより一貫性のあるサービスを提供できるようにする協業サービスのためのホームネットワークシステム及び方法に関する。
【背景技術】
【０００２】
一般に、ホームネットワークは、インターネットプロトコル(Internet  Protocol；以下、ＩＰと称する)に基づく私設網(Private  network)に置かれた様々なホームネットワーク装置に、ミドルウェア(middleware)という共通の仮想コンピューティング環境を構築し、その上で各ホームネットワーク装置により提供できるサービスに基づくアプリケーションを提供する方式として提案されている。
【０００３】
ミドルウェアとは、様々なデジタル機器をピアーツーピア(Peer-to-Peer)方式で接続し、機器間の通信を可能にするものであり、ＨＡＶＩ(Home  AV  Interoperability)、ＵＰｎＰ(Universal  Plug  and  Play  Control  Device)、Ｊｉｎｉ(Java(登録商標) Intelligent  Network  Infra-structure)、ＬｏｎＷｏｒｋｓなどが提案されている。
【０００４】
この中、ＵＰｎＰミドルウェアを用いて構築されるコンピューティング環境において、各機器は、動的ホスト構成プロトコル(Dynamic  Host  Configuration  Protocol；以下、ＤＨＣＰと称する)によってサーバから割り当てられるか、ＩＰアドレス自動設定機能(Auto  IP) により選択されるアドレスが割り当てられ、これにより、各機器間の通信及びネットワーク上での検索、照会が行われる。
【０００５】
従って、ホームネットワーク上に置かれた各機器は、 ＳＳＤＰ(Sampling  Stochastic  Dynamic  Programming)のようなプロトコルにより検索され、検索された機器は、 ＳＯＡＰ(Simple  Object  Access  Protocol)により呼び出される制御装置を用いて動作制御が行われる。
【０００６】
図１は、従来のデバイス間の制御構造を示す概略構成図である。
図１に示すように、ＩＰに基づくホームネットワークは、それに接続されてネットワーク上で動作する各ホームネットワーク機器を制御する制御ポイント(以下、制御デバイスと称する)９と、制御デバイス９から伝送される制御命令によって、該当する所定のサービスをホームネットワーク上に提供する多数のホームネットワーク装置(３,５,７；以下、被制御デバイスと称する)とから構成される。
【０００７】
サービス(以下、サービスプラットフォームと称する) １は、各被制御デバイス３,５,７内に存在し、制御デバイス９の制御命令を処理するものであり、各被制御デバイス３,５,７に存在するサービスプラットフォーム１は、サービスの定義によって同一のサービスが存在することも可能である。
即ち、これにより、ネットワーク上には、同一のサービス機能のサービスプラットフォーム１が多数存在することになる。
【０００８】
図２は、従来のデバイス間に行われる制御過程を示す動作フローチャートである。
図２を参照して、先ず、ネットワークに新たに接続される被制御デバイス(以下、第１のデバイスと称する)３が動作を開始すると(Ｓ１)、ＤＨＣＰまたはＩＰアドレス自動設定機能などの技術を用いて第１のデバイス３に所定のアドレスを割り当てる(Ｓ２)。
このように、所定のアドレスの割り当てられた第１のデバイス３がネットワークに加えられると、検索プロトコルのＳＳＤＰは、第１のデバイス３により提供されるサービスをネットワーク上の制御デバイス９及び他の被制御デバイス(以下、第２の第３のデバイスと称する)５、７に知らせる(Ｓ３)。
【０００９】
このとき、第１のデバイス３では、保有する装置及びサービスを知らせる検索メッセージをマルチキャスト(Multicast)するが、該当の制御デバイス９では、これにより、新たに追加された第１のデバイス３を感知し、第１のデバイス３の機能をより詳しく把握するために、第１のデバイス３から提供されるＵＲＬによりデバイスディスクリップション(device  description)を確認する(Ｓ４)。
【００１０】
また、ディスクリップションステップとは別にサービスステップが行われる(Ｓ５)。このサービス過程は、サービスの知らせ、制御、ディスクリップション、検索、イベント、サービス管理からなり、ディスクリップションステップで得られる各デバイスのディスクリップション内容を通してネットワークに提供されるサービスを知らせ、制御デバイス９から伝送される制御命令によって、検索される該当のデバイスの制御ＵＲＬに制御命令を伝送して、制御デバイス９により要求されたサービスを提供し、この過程で該当のデバイスから伝送されてくる変更されるデバイス情報をイベントメッセージとして受信して処理し、このようなサービスステップによるメッセージの送受信及びデバイスの制御を行うサービス管理の過程からなる。
【００１１】
このようなサービスの処理過程でサービスの終了時までに反復して行い、サービスの終了時にはサービスの解除をＳＳＤＰ技術を用いて伝達する。
サービス処理過程とは別に、各機器の一般的な運用時点では、デバイスのディスクリップションステップを継続して行う。
最終に、特定の第１のデバイス３の動作が終了すると、ホームネットワーク上に存在する制御デバイス９、他の被制御デバイス５、７に第１のデバイス３のサービスの解除を知らせる(Ｓ６)。
【００１２】
このようなホームネットワーク技術が益々発展するにつれ、同一のサービスを提供する機器が多数参加するか、各機器が連合してサービスを提供する場合が発生することがあるが、現在のところ、ホームネットワークのミドルウェアサービスの定義には、同一の多数のサービス間の調整のための体系がない。
【００１３】
従って、例えば、ホームネットワークにディスプレイサービスを提供できるネットワーク資源が多数存在する場合、既存のホームネットワーク環境においては、多数のディスプレイ機器のうち、指定された特定の機器のみを介してディスプレイサービスの提供を受けることがあり、多数の機器が連合して提供するサービス、例えば、使用者または使用機器に対する認証サービスや、ホームネットワーク内の資源(機器、サービス、ネットワーク資源)に対するスケージュールサービスなどを容易に設定し難しかった。
【００１４】
これは、サービスを提供するデバイス間でサービスに対する調整の手続きが行われないために発生する現象であり、ホームネットワーク上に存在するサービスのネットワーク資源を効率的に活用できない非効率的な方法である。
【００１５】
これは、今後、ホームネットワーク関連技術の開発に伴い、より大きい影響を及ぼすことがあるため、ホームネットワーク上で動作する多様な機器により同一のサービスが多数出現するか、多数の機器が連合してサービスを提供しようとする場合、これらの機器間のサービスの不一致を除き、一貫性のあるサービスが提供できるように、サービスを提供する機器の間で機能及び役割を分担する機能が求められているのが実情である。
【００１６】
特許文献１はホームネットワーク内でほかのミドルウェアを使うデバイス間データ通信を保障するゲートウェイとホームネットワークシステム及びそのデータ中継方法を開始しているが、これはホームネットワーク内で同一のサービスを提供するデバイス間の調整手続きがないからネットワークの資源を効率的に使いがたい問題点がある。
【特許文献１】韓国公開特許2003-004540
【発明の開示】
【発明が解決しようとする課題】
【００１７】
本発明は、上記問題点に鑑みなされたものであり、一貫性のあるサービスを提供するためのサービス、デバイス構造、及び動作方式の協業サービスモデルを提供することを目的とする。
また、協業サービスモデルを提示することにより、協業サービスを効率的に定義及び具現することを他の目的とする。
【課題を解決するための手段】
【００１８】
上記の目的を達成するために、本発明に係る協業サービスのためのホームネットワークシステムは、多数のサービスの間の一貫性を保つことを保証するために、ネットワーク上に接続されたデバイスから収集されるディスクリップションを用いて協業サービスの役割を決定するネゴシエーターモジュールと、ネゴシエーターモジュールにより決定される協業サービスの役割によって選択的に活性化されるコーディネーターモジュールと、サポーターモジュールとから構成される協業サービス管理装置を備えている。
【００１９】
このように、ネゴシエーターモジュールにより決定されるか、またはサービス定義により生産過程で決定された協業サービス役割によって、ホームネットワーク管理装置は、ホームネットワーク装置の協業サービスが、制御デバイスから伝送される制御命令を直接行うか、他のデバイスまたは自分のサポーターにより行われるように制御するコーディネーターとして動作するか、他のデバイスまたは自分のコーディネーターから伝送される制御命令を行うサポーターとして動作するようになっている。
【００２０】
本発明において、協業サービスとは、サービス定義による同一の機能のサービスがネットワーク上に多数存在する場合を仮定したもので、ネットワーク上に接続された多数のサービスシステムが仮想の単一のサービスシステムとして具現されて動作するように定義されたサービスをいう。
【００２１】
上記の目的を達成するために、本発明の一実施の形態の協業サービス管理装置は、ネットワーク上に接続された各デバイスから収集されるディスクリップションを用いて、前記デバイスの間の協業サービスが可能となるように所定の選択アルゴリズムにより協業サービスの役割を決定するネゴシエーターモジュールと、ネットワークに存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターモジュールとを備えている。
【００２２】
上記の目的を達成するために、本発明の他の実施の形態の協業サービス管理装置は、ネットワーク上に接続されたデバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、自分のデバイス内で制御デバイスから伝送される制御命令によってサービスを行うサービス提供部を活性化するか否かを決定するネゴシエーターモジュールを備える。
【００２３】
上記の目的を達成するために、本発明の一実施の形態の協業サービスのためのホームネットワーク装置は、ネットワーク上に接続されたデバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように所定の選択アルゴリズムにより協業サービスの役割を決定するネゴシエーターモジュールと、ネットワークに存在する制御デバイスから伝送されてくる制御命令を受けて直接行うか、前記制御命令を他のデバイスに伝送して動作制御を行うコーディネーターモジュールとを備える協業サービス管理装置に接続される。
【００２４】
上記の目的を達成するために、本発明の他の実施の形態の協業サービスのためのホームネットワーク装置は、ネットワーク上に接続され、所定のサービスを提供するサービス提供部と、前記ネットワークに接続された各デバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように、自分のデバイス内の前記サービス提供部を活性化するか否かを決定するネゴシエーターモジュールとを備える。
【００２５】
上記の目的を達成するために、本発明の一実施の形態の協業サービスのためのホームネットワークシステムは、ネットワーク上に接続される多数のデバイス、各デバイスに接続され、該当のデバイスの機能を考慮し、協業サービスが可能となるように、各デバイスから収集されるディスクリップションを所定の選択アルゴリズムに適用して各デバイスの協業サービスの役割を決定するネゴシエーターモジュールと、ネゴシエーターモジュールにより決定された協業サービスの役割によって制御デバイスから伝送されてくる制御命令を直接行うコーディネーターモジュールとを備える。
【００２６】
上記の目的を達成するために、本発明の他の実施の形態の協業サービスのためのホームネットワークシステムは、ネットワーク上に接続された多数のデバイスと、前記各デバイスに接続され、所定のサービスを提供するサービス提供部と、前記ネットワークに接続された各デバイスから収集されるディスクリップションを用いて、前記各デバイス間の協業サービスが可能となるように自分のデバイス内のサービス提供部を活性化するか否かを決定するネゴシエーターモジュールとを備える。
【００２７】
上記の目的を達成するために、本発明の一実施の形態の協業サービス方法は、ネットワークに接続される他の協業サービスに自分の存在を知らせ、同一の協業サービスとディスクリップションをお互いに交換するステップと、提供されたディスクリップションや所定の選択アルゴリズムにより自分の役割を決定するステップと、決定された役割によってコーディネーターモジュールまたはサポーターモジュールを選択的に実行するステップとを含む。
【００２８】
上記の目的を達成するために、本発明の他の実施の形態の協業サービス方法は、ネットワークに接続される他の協業サービスに自分の存在を知らせ、同一の各協業サービスとディスクリップションとをお互いに交換するステップと、提供されたディスクリップションや所定の選択アルゴリズムにより自分の役割を決定するステップと、決定された役割によって該当のサービスを実行するか、停止するステップとを含む。
【発明の効果】
【００２９】
以上のように、本発明によると、本発明により提供されるサービス、デバイス構造及び動作方式により、ホームネットワーク内に存在する多数の同一のサービス間の不一致を抑えることができる効果がある。
また、協業サービスモデルを用いることにより、ホームネットワークデバイスにより提供されるサービスを効率的に定義及び具現して標準化する効果がある。
さらに、既存のホームネットワーク環境でも具現化できるため、開発資源の節約及び効率的なサービスの活用が可能となるという効果がある。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の好ましい実施の形態を、添付図面に基づいて詳しく説明する。
図３は、本発明の一実施の形態の協業サービスプラットフォーム１０の構造を示す概略図である。
図３に示すように、協業サービスプラットフォーム１０は、ネットワーク上で動作する各デバイスから収集されるデバイスディスクリップション(device  description)及びサービスディスクリップション(service  description)(以下、ディスクリップションと称する)や所定の選択(election)アルゴリズムを用いて、協業サービスの役割を決定するネゴシエーターモジュール１１と、ネゴシエーターモジュール１１により決定された協業サービスの役割によって動作を行うサポーターモジュール１３と、ネゴシエーターモジュール１１により決定された協業サービスの役割によって、制御デバイスから伝送される制御命令を直接行うか、またはサポーターモジュール１３に伝送して処理するようにするコーディネーターモジュール１５とから構成される。
サポーターモジュール１３は、ホームネットワーク上に接続された自分の属するデバイスまたは他のデバイスに備えられている。
【００３１】
選択アルゴリズムは、ネットワーク上の各デバイスから提供される各デバイスのディスクリップションを用いて、同一のサービスを提供する各デバイスのネゴシエーターモジュール間の協業サービスのための役割(以下、協業サービスの役割と称する)を調整できるようにする所定のプログラミング言語(例えば、C,  C++,  visual  C/C++,  Java(登録商標)など)からなるアルゴリズムである。
【００３２】
選択アルゴリズムにより決定される協業サービスの役割は、コーディネーターモジュール１５により具現されるコーディネーター、サポーターモジュール１３により具現されるサポーター、コーディネーターモジュール１５及びサポーターモジュール１３により具現されるコーディネーターサポーターコンボ(Coordinator-Supporter  combo)などの形態に定義されるが、コーディネーターサポーターコンボは、コーディネーター及びサポーターの役割を行うモジュールが分離された形態と、一つのモジュールに結合された形態とに分けられる。
【００３３】
このような協業サービスの役割によって各デバイスに備えられた協業サービスプラットフォームのサポーターモジュール１３またはコーディネーターモジュール１５がネゴシエーターモジュール１１により生成されるか、削除(FORK/KILL)されて、各役割による動作を行うことになる。
【００３４】
このような選択アルゴリズムは、サービス政策によって設定でき、全ての協業サービスが自分の役割を維持させることを基本の目標としたり、既に設定された協業サービスレベルによって協業サービス役割を決定することを基本の目標としたり、同一の協業サービスに対するバージョンによって協業サービスの役割を決定することを基本の目標としたりするなどの多くの適用が可能である。
【００３５】
このうち、図４は、本発明の一実施の形態のＫｅｅｐ Ｒｏｌｅ選択アルゴリズムの動作を示すフローチャートである。
図４を参照して、ネットワークに新たに接続されたデバイスにおいて、ネットワーク上で動作する各デバイスに自分を知らせる検索-お知らせの過程を通して他の協業サービスが存在するか否かを判別する(Ｓ１０)。
【００３６】
判別の結果、他の協業サービスが存在しないと（Ｓ１０で「いいえ」）、コーディネーターとして動作するように、協業サービスの役割をコーディネーターに決定し(Ｓ２０)、前記判別の結果、他の協業サービスが存在すると（Ｓ１０で「はい」）、全ての同一の協業サービスからサービスディスクリップションを収集する(Ｓ３０)。
【００３７】
次に、収集されたサービスディスクリップションを用いて、自分の協業サービスの役割を決定する過程でＫｅｅｐ Ｒｏｌｅ選択アルゴリズムにより自分が既存のコーディネーターであったか否かを判別し(Ｓ４０)、判別の結果、コーディネーターであった場合（Ｓ４０で「はい」）、コーディネーターとして動作するように、協業サービスの役割をコーディネーターに決定し(Ｓ２０)、前記判別の結果、コーディネーターでなかった場合は（Ｓ４０で「いいえ」）、サポーターとして動作するように、協業サービスの役割をサポーターに決定する(Ｓ５０)。
【００３８】
また、このような選択アルゴリズムにより各被制御デバイスの協業サービスの役割が決定されると、ネゴシエーターモジュール１１は、決定された役割を該当のデバイスのディスクリップションに設定して、同一のサービスを提供するデバイス間の協業サービスを可能とする。
【００３９】
図５は、本発明の一実施の形態の協業サービスの支援のために、ディスクリップションに追加されるテンプレートを示す概略図である。
図５に示すように、ロールタグ(role tag)を用いて協業サービスの役割を設定するタグとして<role></role>が使用され、サポーターモジュール１３では、協業サービスにより発生されるイベントメッセージをコーディネーターモジュール１５に伝送するためのＵＲＬを設定するタグとして<Listener ＵＲＬForSupporter></ListenerＵＲＬForSupporter>が使用される。
【００４０】
ロール（Role）は、協業サービスを提供するデバイスの場合は、選択(optional)できるように設定されており、ネットワークにアクセスして動作を開始した後、協業サービスの役割が決定される前までは、未定義(Undefined)の状態に設定され、協業サービスの役割が決定されると、ネゴシエーターモジュールにより決定されるコーディネーター、またはサポーターとして設定される。
【００４１】
また、このように、選択アルゴリズムにより決定される協業サービスの役割によって、ネゴシエーターモジュール１１では、各協業サービス役割に相応しいモジュールのみが活性化されるように、コーディネーターモジュール１５またはサポーターモジュール１３を生成/除去(Fork/Kill)する動作制御を行うが、図６Ａ〜Ｅは、このような本発明の一実施の形態の協業サービスプラットフォームの構造を示す概略図である。
【００４２】
図６Ａ〜Ｅに示すように、協業サービスのためには、ネゴシエーターモジュール１１が必須に動作するため、コーディネーターの役割の協業サービスの提供のための協業サービスプラットフォーム１０は、ネゴシエーターモジュール１１とコーディネーターモジュール１５とから構成されるものと具現し(図６Ａ)、サポーターの役割の協業サービス提供のための協業サービスプラットフォーム１０は、ネゴシエーターモジュール１１とサポーターモジュール１３とから構成されるものと具現し(図６Ｂ)、コーディネーターサポーターコンボの役割の協業サービスの提供のための協業サービスプラットフォーム１０は、各サポーターモジュール１３とコーディネーターモジュール１５とが分離されて構成されるものと具現する(図６Ｃ)か、サポーターモジュール１３とコーディネーターモジュール１５とがそれぞれ分離される二つの協業サービスプラットフォームとして具現する(図６Ｄ)か、サポーターモジュール１３とコーディネーターモジュール１５とが一つのモジュールに結合されて構成されるものと具現できる(図６Ｅ)。
【００４３】
ここで、前述の本発明の一実施の形態の協業サービスプラットフォームは、各モジュールの何れもハードウェアで構成するか、一部のモジュールをソフトウェアで構成するか、または全てのモジュールをソフトウェアで構成しても良い。
従って、本発明の一実施の形態の協業サービスプラットフォームは、ハードウェアまたはソフトウェアで構成されることに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、例えば、ソフトウェア及び/またはハードウェアで構成したり、その他の多くの変更が可能であろう。
【００４４】
以下、このような本発明による協業サービスプラットフォーム１０を適用した協業サービスシステム構造及び動作を説明する。
本発明による協業サービスのためのホームネットワークシステムに対し、所定のローカルネットワークの代表例としてホームネットワークシステムを例示して説明し、より詳しくは、ＵＰｎＰミドルウェアを使用するホームネットワーク環境で具現されることと説明しているが、本発明は、これに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、例えば、ＵＰｎＰのみならず、ＪＩＮＩ、ＨＡＶＩ、ＨＷＷ、ＬｏｎＷｏｒｋｓのような動的なメカニズムのミドルウェアが使用されるホームネットワーク環境において、同一のサービスを提供するデバイス間での協業サービスが可能なモジュールへの他の多くの変更が可能であろう。
【００４５】
また、協業サービス管理装置は、ホームネットワーク装置に外装型または組み込み型に連結される別のハードウェア、または、ホームネットワーク装置の内部または外部に具備されるソフトウェアで具現できるが、以下、ホームネットワークシステムでは、ホームネットワーク装置の内部に備えられるソフトウェア構造として、協業サービスプラットフォームを説明する。
【００４６】
図７は、本発明の一実施の形態のホームネットワークシステム構造を示す概略図である。
図７に示すように、ホームネットワークシステムは、ネットワークに接続されて同一の協業サービス間の一貫性を保つことが可能となるように、協業サービスの役割を決定し、決定された役割によって該当のサービスを実行する協業サービスプラットフォーム１０の備えられた多数の被制御デバイス５００,７００,９００..Ｎ００と、被制御デバイス５００,７００,９００..Ｎ００の動作制御を行う制御デバイス３００とから構成される。
【００４７】
各被制御デバイス５００,７００,９００..Ｎ００に備えられる協業サービスプラットフォーム１０は、前述のように構成されており(図３参照)、協業サービスプラットフォーム１０のネゴシエーターモジュール１１により各被制御デバイス５００,７００,９００..Ｎ００の協業サービスの役割が決定され、決定された役割によってサポーターモジュール１３及び/またはコーディネーターモジュール１５が活性化し、設定された協業サービスの役割によって制御デバイス３００から要請されたサービスを提供する。
【００４８】
このような協業サービスのためのホームネットワークシステムを用いる本発明による協業サービスの方法について、添付図面を参照しながら詳しく説明する。
図８は、本発明の一実施の形態の協業サービスを利用したデバイス制御過程を示す動作フローチャートである。
図８を参照して、先ず、ネットワークに新しい第１のデバイス５００が接続されて動作を開始すると(Ｓ１００)、ＵＰｎＰデバイスアーキテクチャに基づき、ＤＨＣＰまたはＩＰアドレス自動設定機能などの技術を用いて第１のデバイス５００に所定のアドレスを割り当てて、ＩＰアドレスを決定するアドレス指定ステップ(addressing)を行う(Ｓ２００)。
【００４９】
次に、第１のデバイス５００では、検索プロトコルのＳＳＤＰに基づいて、ネットワーク上で動作する制御デバイス３００及び他のデバイス７００,９００...Ｎ００に自分を知らせるアドバタイズメントメッセージ（advertisement  message）をマルチキャスト方式で伝送する検索-お知らせステップ(discovery-advertisement)を行う(Ｓ３００)。
【００５０】
この過程において、マルチキャスト方式で伝送される第１のデバイス５００のアドバタイズメッセージを受信した制御デバイス３００では、該当のデバイスの制御が可能である場合、第１のデバイス５００を制御可能なデバイス目録に登録し、第１のデバイス５００の機能をより詳しく把握するために、ディスクリップションを要請して受信するディスクリップションステップ(Ｓ４００)を行う。
【００５１】
このとき、第１のデバイス５００は、協業サービスのための役割が決定されていない状態であるため、ディスクリップション内に追加された協業サービステンプレートでのロール（role）は、未定義状態に保たれることになる。
【００５２】
ディスクリップションには、第１のデバイス５００に備えられた他の論理装置及びサービスを含むこともあるが、装置に関する説明は、ＸＭＬで表現されており、供給メーカーの製造情報(モデル名、シリアル番号、製造メーカー名、製造メーカーのＵＲＬなど)が含まれている。
【００５３】
このディスクリップションには、さらに、制御、イベント及びプリゼンテーションのためのＵＲＬのみならず、多くの組み込み装置及びサービスに関する目録も含まれている。
これとは別に、ネットワーク上で動作する被制御デバイス７００,９００,...Ｎ００と追加された第１のデバイス５００との間では、既に動作している各協業サービス間の連動のために役割を調整し、調整された役割によって協業サービスプラットフォーム１０のサポーターモジュール１３またはコーディネーターモジュール１５の動作を制御し、協業サービスを実行する協業サービスステップを行う(Ｓ５００)。
【００５４】
協業サービスステップ(Ｓ５００)は、協業サービスプラットフォーム１０のネゴシエーターモジュール１１において、ネットワーク上で動作する各デバイスから提供されるディスクリップションを収集して、協業サービスの役割を決定するネゴシエーションステップ(Ｓ５１０)と、ネゴシエーターモジュール１１により決定された役割によってコーディネーターモジュール１５を活性化し、コーディネーターの役割を行うようにするコーディネーションステップ(Ｓ５２０)と、ネゴシエーターモジュール１１により決定された役割によってサポーターモジュール１３を活性化し、サポーターの役割を行うようにするサポートステップ(Ｓ５３０)とからなる。
【００５５】
このようなデバイス制御過程において、第１のデバイス５００がネットワーク上での動作を終了する解除ステップを行う(Ｓ６００)。
【００５６】
図９は、図８のネゴシエーションステップＳ５１０を詳しく示す動作フローチャートである。
図９を参照すると、ネゴシエーションステップ(Ｓ５１０)では、先ず、協業サービスの検索プロトコルを使用して、ネットワーク上で既に動作している協業サービスを検索する協業サービス検索ステップを行い(Ｓ５１１)、第１のデバイス５００のネゴシエーターモジュール１１では、同一のサービスを提供する被制御デバイス７００,９００,...Ｎ００を確認し、被制御デバイス７００,９００,...Ｎ００からディスクリップションの提供を受けて、選択アルゴリズムにより協業サービスの役割を調整する協業サービスの役割決定ステップを行う(Ｓ５１２)。
【００５７】
このとき、協業サービスの役割決定は、協業サービスが提供しようとするサービスの機能により決定されるもので、選択アルゴリズムやサービス決定政策により明示される。
このような協業サービスの役割決定の過程に参加する全ての被制御デバイス７００,９００,...Ｎ００が同一の情報に基づいて同一のアルゴリズムを行うとすると、全てのデバイスは、全ての協業サービスに対する役割情報を生成することが可能となり、しかし、被制御デバイスごとに相異なる情報に基づいて選択アルゴリズムを使用していたか、選択アルゴリズムが相違すると、各デバイスは、自分の役割のみを決定することが可能となる。この場合、他の各デバイスの協業サービスの役割を確認して感知できるさらに他のプロトコルが求められる。
【００５８】
このような協業サービスの役割決定ステップ(Ｓ５１２)により同一のサービスを提供する被制御デバイス７００,９００,...Ｎ００の協業サービスの役割が決定されると、各デバイスのネゴシエーターモジュール１１では、決定された協業サービスの役割によってサポーターモジュール１３またはコーディネーターモジュール１５を活性化または非活性化し、動作を制御するモジュール生成/削除ステップ(Ｓ５１３)を行う。
【００５９】
そして、同一のサービスを提供する新しい被制御デバイスが追加されるか否か及び決定された協業サービスの役割による協業サービスを管理する協業サービス管理ステップを行う(Ｓ５１４)。
【００６０】
このようなネゴシエーションステップ(Ｓ５１０)において、既に動作している協業サービスを検索する検索プロトコルは、既存の検索プロトコルと同様に、各デバイスを基準としてマルチキャスト方式で自分の協業サービスを知らせる検索メッセージを伝送し、これを受信する同一の協業サービスを有するデバイスとディスクリップションをお互いに交換するものである。
【００６１】
図１０は、このような本発明の一実施の形態の協業サービス検索プロトコルの処理過程を示す概略図であり、新たに追加された第１のデバイス５００を基準とする動作過程を示している。
図１０を参照して、先ず、ネットワークに第１のデバイス５００が新たに接続されて動作を開始すると、第１のデバイス５００の協業サービスプラットフォーム１０では、自分が提供するサービスを示すコーディネーションサービスアドバタイズメントメッセージ（Coordination  service  advertisement  message）をネットワーク上で動作する全ての被制御デバイス７００,９００...Ｎ００に伝送する。
【００６２】
コーディネーションサービスアドバタイズメントメッセージは、マルチキャスト方式でＨＴＴＰプロトコルを使用して伝送するものであり、ＳＳＤＰにより予約された２３９.２５５.２５５.２５０:１９００の以外の他のアドレスを使用するか、ＵＰｎＰデバイスアーキテクチャによってＮＯＴＩＦＹ ｗｉｔｈ ＳＳＤＰ：ａｌｉｖｅを使用することができる。
【００６３】
これを受信したデバイスのうち、第１のデバイス５００と同一の協業サービスを提供する被制御デバイス７００,９００,...Ｎ００は、決められた時間(Ｔ１)内に第１のデバイス５００にプロファイル情報(即ち、device  description)を要請して収集する。
【００６４】
このとき、第１のデバイス５００と同一の協業サービスを提供する被制御デバイス７００,９００,...Ｎ００の間では、ＨＴＴＰプロトコルに基づくプロファイル要請(Get  service  description,  Http  get)及びそれによる応答(Response,  Http  response)メッセージが送受信される。
【００６５】
このような過程により収集されディスクリップションに基づき、第１のデバイス５００及び被制御デバイス７００,９００,...Ｎ００のネゴシエーターモジュール１１では、選択アルゴリズムにより協業サービスの役割をそれぞれ決定する。
【００６６】
図１１は、図８のＳ５２０による処理過程を示す動作フローチャートである。
図１１を参照して、ネゴシエーターモジュール１１により協業サービスの役割がコーディネーターに決定されると、コーディネーターモジュール１５では、決定した自分の協業サービスについて他の各デバイスに知らせるサービスのお知らせステップを行うお知らせステップを行う(Ｓ５２１)。
【００６７】
次に、コーディネーターモジュール１５は、制御デバイス３００から伝送されてくる制御命令を処理する制御(Ｓ５２２)、ディスクリップション(Ｓ５２３)、検索(Ｓ５２４)、イベント(Ｓ５２５)を行い、サポーターモジュール１３の状態の変化を認知するために、サポーターモジュール１３の状態の変化を感知するサポーターモジュール監視(Ｓ５２６)を行う。
【００６８】
制御(Ｓ５２２)は、制御プロトコルによりサポーターモジュール１３の動作制御を行い、制御デバイス３００から要請されるサービスを提供する過程からなる。
このような制御(Ｓ５２２)、ディスクリップション(Ｓ５２３)、検索(Ｓ５２４)、イベント(Ｓ５２５)及びサポーターモジュール監視(Ｓ５２６)の過程において、コーディネーターモジュール１５のデバイス動作が終了すると、サービス動作を終了するサービス解除ステップを行う(Ｓ５２７)。
【００６９】
このようなコーディネーションステップ(Ｓ５２０)において、サポーターモジュール１３の動作制御を行う制御プロトコルは、既存の制御プロトコルと同様に、制御デバイス３００から伝送される制御命令によってコーディネーターモジュール１５からサポーターモジュール１３に所定のサービスを要請するメッセージ(action  message)を伝送し、これを受信するサポーターモジュール１３からの応答を受信するものである。
【００７０】
図１２は、このような本発明の一実施の形態の制御プロトコルの処理過程を示す概略図である。
図１２を参照して、制御デバイス３００から制御命令を直接受けて処理するコーディネーター役割を行うコーディネーターモジュール１５では、制御命令をサポーターモジュール１３に伝送し、サポーターモジュール１３により該当のサービスを提供しようとする場合、ＵＰｎＰデバイスアーキテクチャによってＳＯＡＰを使用して所定のサービスを要請する制御メッセージ(ACTION:REQUEST)を該当のサポーターモジュール１３に伝送し、これに対する応答メッセージ(ACTION:RESPONSE)を受信する。
このような制御及び応答メッセージは、初期化過程で得られる各デバイスのＵＲＬを用いて送受信され、ＳＯＡＰを使用してＸＭＬで表現される。
【００７１】
図１３は、図８のステップＳ５３０による処理過程を示す動作フローチャートである。
図１３を参照して、ネゴシエーターモジュール１１により協業サービスの役割がサポーターに決定されると、サポーターモジュール１３では、決定した自分のサービスについて他の各デバイスに知らせるサービスのお知らせステップを行う(Ｓ５３１)。
【００７２】
次に、サポーターモジュール１３は、特定のサービスを提供できるようにするコーディネーターモジュール１５の制御命令を実行する制御ステップ(Ｓ５３２)と、イベントプロトコルに基づいて、コーディネーターモジュール１５の動作制御による状態の変化をコーディネーターモジュール１５に通知するイベントステップ(Ｓ５３３)とを行う。
【００７３】
その次に、サポーターモジュール１３のデバイス動作が終了すると、サービス動作を終了するサービス解除ステップを行う(Ｓ５３４)。
【００７４】
このようなサポーターモジュール１３は、特に、一般的なＵＰｎＰデバイスに対する検索、ディスクリップションなどが行われないため、制御デバイス３００に見つからず、ネゴシエーターモジュール１１によりコーディネーターモジュール１５にのみその存在が認知される。
【００７５】
このようなサポートステップ(Ｓ５３０)において、サポーターモジュール１３からコーディネーターモジュール１５に変更される情報を知らせるイベントプロトコルは、既存のイベントプロトコルと同様に、サポーターモジュール１３から変更される情報を含むイベントメッセージをコーディネーターモジュール１５に伝送し、これを受信するコーディネーターモジュール１５から応答を受信している。
【００７６】
図１４は、このような本発明の一実施の形態のイベントプロトコルの処理過程を示す概略図である。
図１４を参照して、コーディネーターモジュール１５から伝送されてくる制御命令によって所定のサービスをサポーターモジュール１３では、これによる状態の変化をコーディネーターモジュール１５に知らせるために、ＧＥＮＡによりフォーマットされたＸＭＬ形態のイベントメッセージ(NOTIFY)を送信する。
【００７７】
コーディネーターモジュール１５では、サポーターモジュール１３から伝送されてくるイベントメッセージを受信して、コーディネーターモジュール１５のデバイスに対するディスクリップションのアップデート項目として処理し、応答メッセージ(ＯＫ)をＨＴＴＰプロトコルを使用して伝送する。
【００７８】
このようなコーディネーターモジュール１５とサポーターモジュール１３の間のイベント処理プロトコルを行うために、サポーターモジュール１３は、コーディネーターモジュール１５のＵＲＬを認知する必要がある。
【００７９】
そこで、サポーターモジュール１３がコーディネーターモジュール１５のＵＲＬを認知できるようにする方法として、初期過程または新しいサポーター役割の協業サービスが開始される時点で、コーディネーターモジュール１５がサポーターモジュール１３に直接知らせる(subscribe)方式を用いるか、サポーターモジュール１３がコーディネーターモジュール１５のディスクリップションを参照する方式を用いる。
【００８０】
以下、本発明の一実施の形態の協業サービス方法について、添付図面を参照しながら詳しく説明する。
図１５Ａ〜Ｆは、本発明の一実施の形態により協業サービスを行うためのデバイス制御構造を示す概略図であり、各デバイスに備えられる協業サービスプラットフォーム１０は、本発明の一実施の形態により具現化される構造としてそれぞれ示している。
【００８１】
図１５Ａは、一つのコーディネーター-サポーターコンボがサービスを行う協業サービス構造を示す図であり、ネットワークに新たに追加された第１のデバイス５００では、アドレス指定及び検索-お知らせの過程によりネットワーク上の制御デバイス３００及び被制御デバイス(７００,９００,１０００：以下、第２、第３、第４のデバイスと称する)に自分がネットワーク上で動作することを知らせる。
【００８２】
このようなアドレス指定及び検索-お知らせの過程においては、第１のデバイス５００のネゴシエーターモジュール１１は、同一のサービスを提供する第２、第３、及び第４のデバイス７００,９００,１０００を感知し、各デバイスからディスクリップションの提供を受けて協業サービスの役割を調整する。
【００８３】
この過程において、もし、追加された第１のデバイス５００が同一のサービスを提供する他のデバイス７００,９００,１０００に比べて排他的に利用可能な資源または情報に対するサービスを行う場合、第１のデバイス５００のネゴシエーターモジュール１１は、コーディネーター-サポーターコンボの役割を選択して、第１のデバイス５００を介してネットワーク上での全てのサービスを行う。
【００８４】
これにより、第１のデバイス５００では、サービス提供過程でコーディネーター及びサポーターの役割を全て行い、その他のデバイス７００,９００,１０００の協業サービスプラットフォーム１０では、ネゴシエーターモジュール１１のみが動作し、コーディネーターモジュール１５及びサポーターモジュール１３は、非活性状態で動作が停止する。
【００８５】
図１５Ｂは、一つのコーディネーターと、一つのサポーターとからなる協業サービス構造を示す図であり、一つのコーディネーター-サポーターコンボ方式においてコーディネーターとサポーターとの役割を分け、相異なるデバイス５００,９００によりサービスを提供する方式である。
【００８６】
即ち、第１のデバイス５００での協業サービスの役割がコーディネーターにより行われるようになり、第３のデバイス９００での協業サービスの役割がサポーターにより行われるようになると、第１のデバイス５００のネゴシエーターモジュール１１は、第１のデバイスのサポーターモジュール１３を削除して非活性化されるようにする。
よって、第１のデバイス５００のコーディネーターモジュール１５により動作制御される第３のデバイス９００のサポーターモジュール１３を介してサービスを提供する。
【００８７】
図１５Ｃは、一つのコーディネーターと、多数のサポーターとからなる協業サービス構造を示す図であり、多数のサポーターが一つのコーディネーターにより制御される方式である。
即ち、第１のデバイス５００の協業サービスの役割がコーディネーター-サポーターコンボにより行われるようになり、第３及び第４のデバイス９００及び１０００の協業サービスの役割がサポーターにより行われるようになると、第１のデバイス５００のネゴシエーターモジュール１１は、サポーターモジュール１３を動作させて(生成)活性化し、第４のデバイス１０００のネゴシエーターモジュール１１は、コーディネーター‐サポーター結合モジュールのうち、サポーターモジュール１３のみを動作させて(生成)活性化する。
【００８８】
これにより、第１のデバイス５００のコーディネーターモジュール１５により動作制御される第１、第３、及び第４のデバイス５００,９００,及び１０００のサポーターモジュール１３を介してサービスを提供する。
【００８９】
図１５Ｄは、多数のコーディネーター-サポーターコンボがサービスを行う協業サービス構造を示す図であり、ネットワーク１００上で同一のサービスを提供する全てのデバイス５００,７００,９００,１０００がコーディネーターやサポーターの役割を共に行う方式である。
【００９０】
このような方式は、サービスの排他的使用に対する要求がない場合に使用可能なものであり、全てのデバイスのコーディネーターモジュール１５でその他の全てのサポーターモジュール１３を制御してサービスを提供する。
この場合にも、資源は、サポーターモジュール１３により管理することができる。
【００９１】
図１５Ｅは、多数のコーディネーターと、多数のサポーターとからなる協業サービス構造を示す図であり、参加サービスの機能に制限のない最も高い自由度を有する方式である。
この方式においても、全てのデバイスのコーディネーターモジュール１５でその他の全てのサポーターモジュール１３を制御してサービスを提供する。
【００９２】
図１５Ｆは、多数の独立のコーディネーター-サポーターコンボがサービスを行う協業サービス構造を示す図であり、ネットワーク１００上で同一のサービスを提供する全てのデバイス５００,７００,９００,１０００がコーディネーターやサポーターの役割を共に行う方式であり、多数のコーディネーター-サポーターコンボ方式の場合と同様である。
【００９３】
しかし、コーディネーターモジュール１５が他のデバイスのサポーターモジュール１３を用いることができず、自分のサポーターモジュール１３のみを制御できる方式である。
【００９４】
このような本発明による協業サービスプラットフォームは、既存に所定のサービスを提供していた被制御デバイスに別に備えるが、このような協業サービスプラットフォーム(以下、補助協業サービスプラットフォームと称する)によりホームネットワーク上で同一のサービスを提供するデバイスは、サービス自体は、一貫性を保つことを保証できる構造になっていないが、追加された補助協業サービスプラットフォームによりサービスの一貫性を保つことを保証できる。
【００９５】
図１６は、本発明の他の実施の形態の補助協業サービスプラットフォームの概略構成図である。
図１６に示すように、補助協業サービスプラットフォーム１０ａは、ネットワーク上に接続された各デバイスから収集されるディスクリップションを用いて、前記デバイス間の協業サービスが可能となるように、自分のデバイス内で制御デバイスから伝送される制御命令によってサービスを行うサービス提供部(以下、サービスプラットフォームと称する)を活性化するか否かを決定するネゴシエーターモジュール１１aから構成される。
このようなネゴシエーターモジュール１１aの決定により該当のデバイスのサービスプラットフォームを介してサービスを提供することになる。
【００９６】
以下、このような本発明の補助協業サービスプラットフォーム１０ａを用いる協業サービスのシステム構造及び動作を説明する。
図１７は、本発明の他の実施の形態のデバイス制御構造を示す概略図である。
図１７に示すように、ホームネットワークシステムは、ネットワークに接続されて、同一の協業サービス間の一貫性を保つことができるように、協業サービスを活性化するか否かを決定し、その結果によって、サービスプラットフォーム２０の動作制御を行う補助協業サービスプラットフォーム１０ａと、補助協業サービスプラットフォーム１０ａの動作制御により実行されるサービスプラットフォーム２０を含む多数の被制御デバイス５００,７００,９００..Ｎ００と、被制御デバイス５００,７００,９００..Ｎ００の動作制御を行う制御デバイス３００とから構成される。
【００９７】
図１８は、本発明の他の実施の形態のデバイス制御過程を示す動作フローチャートである。
図１８を参照して、先ず、ネットワーク上に新たに接続される第１のデバイス５００は、アドレス指定ステップ(Ｓ１０００)及び検索-お知らせステップ(Ｓ１１００)により制御デバイス３００及び他のデバイス７００,９００..Ｎ００に自分を知らせる。
【００９８】
次に、制御デバイス３００から伝送される制御命令によって動作制御を行う制御ステップ(Ｓ１２００)、及び制御デバイス３００から要求されるディスクリップションを提供するディスクリップションステップ(Ｓ１３００)を行う。
【００９９】
これとは別に、ネットワーク１００では、追加された第１のデバイス５００により提供されるサービスと同一のサービスを提供するデバイスの間の補助協業サービスのためのサービスデバイスを決定して、協業サービスを提供する協業サービスステップ(Ｓ１４００)を行う。
【０１００】
補助協業サービスステップ(Ｓ１４００)は、ネゴシエーターモジュール１１aによりサービスプラットフォーム２０を活性化するか否かを決定するネゴシエーションステップ(Ｓ１４１０)からなるが、このネゴシエーションステップでは、自分のデバイスのサービスプラットフォームを介してサービスを提供するか否かを決定する。
【０１０１】
このようなネゴシエーション過程により決定される役割によって、ネゴシエーターモジュールは、サービスプラットフォーム２０を活性化(生成)するか、非活性化(削除)して、補助協業サービスプラットフォームの動作を制御する。
【０１０２】
図１９Ａ及びＢは、本発明の他の実施の形態により行われる協業サービスを説明するためのデバイス制御構造を示す概略図である。
図１９Ａは、一つのサービスプラットフォームからなる協業サービス構造を示す図であり、一つのサービスプラットフォーム２０によりサービスを提供する方式である。
【０１０３】
即ち、第１、第２、第３、第４のデバイス５００,７００,９００,１０００のサービスプラットフォーム２０を活性化するか否かが決定され、第４のデバイス１０００のサービスプラットフォーム２０によりサービスが提供されると決定されると、第１、第２、第３のデバイス５００,７００,９００のネゴシエーターモジュール１１aは、サービスプラットフォーム２０の動作を停止させ(削除)、非活性化し、第４のデバイス１０００のネゴシエーターモジュール１１aは、サービスプラットフォーム２０を動作させ(生成)、活性化する。
【０１０４】
図１９Ｂは、多数のサービスプラットフォームからなる協業サービス構造を示す図であり、多数のサービスプラットフォームによりサービスを提供する方式である。
【０１０５】
以上のように、上記実施の形態を参照して詳細に説明され図示されたが、本発明は、これに限定されるものでなく、このような本発明の基本的な技術的思想を逸脱しない範囲内で、当業界の通常の知識を有する者にとっては、他の多くの変更が可能であろう。また、本発明は、添付の特許請求の範囲により解釈されるべきであることは言うまでもない。
【図面の簡単な説明】
【０１０６】
【図１】従来のデバイス間の制御構造を示す概略図である。
【図２】従来のデバイス間の制御過程を示す動作フローチャートである。
【図３】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図４】本発明の一実施の形態のＫｅｅｐ Ｒｏｌｅ選択アルゴリズムの動作フローチャートである。
【図５】本発明の一実施の形態の協業サービス支援のために、ディスクリップションに追加されるテンプレートを示す概略図である。
【図６Ａ】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図６Ｂ】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図６Ｃ】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図６Ｄ】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図６Ｅ】本発明の一実施の形態の協業サービスプラットフォーム構造を示す概略図である。
【図７】本発明の一実施の形態のホームネットワークシステム構造を示す概略図である。
【図８】本発明の一実施の形態の協業サービスを利用したデバイス制御過程を示す動作フローチャートである。
【図９】図８のステップＳ５１０による処理過程を示す動作フローチャートである。
【図１０】本発明の一実施の形態の協業サービス検索プロトコルの処理過程を概略的に示す系統図である。
【図１１】図８のステップＳ５２０による処理過程を示す動作フローチャートである。
【図１２】本発明の一実施の形態の制御プロトコルの処理過程を概略的に示す系統図である。
【図１３】図８のステップＳ５３０による処理過程を示す動作フローチャートである。
【図１４】本発明の一実施の形態のイベントプロトコルの処理過程を概略的に示す系統図である。
【図１５Ａ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１５Ｂ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１５Ｃ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１５Ｄ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１５Ｅ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１５Ｆ】本発明の一実施の形態の協業サービスを行うためのデバイス制御構造を示す概略図である。
【図１６】本発明の他の実施の形態の補助協業サービスプラットフォーム構造を示す概略図である。
【図１７】本発明の他の実施の形態のホームネットワークシステム構造を示す概略図である。
【図１８】本発明の他の実施の形態のデバイス制御過程を示す動作フローチャートである。
【図１９Ａ】本発明の他の実施の形態により行われる補助協業サービスを説明するためのデバイス制御構造を示す概略図である。
【図１９Ｂ】本発明の他の実施の形態により行われる補助協業サービスを説明するためのデバイス制御構造を示す概略図である。
【符号の説明】
【０１０７】
１０      協業サービスプラットフォーム
１０ａ    補助協業サービスプラットフォーム
１１      ネゴシエーターモジュール
１１ａ    ネゴシエーターモジュール
１３      サポーターモジュール
１５      コーディネーターモジュール
２０      サービスプラットフォーム
３００    制御デバイス
５００    被制御デバイス(７００,９００...Ｎ００)
【図１】
2004320747.tif 000003
【図２】
2004320747.tif 000004
【図３】
2004320747.tif 000005
【図４】
2004320747.tif 000006
【図５】
2004320747.tif 000007
【図６Ａ】
2004320747.tif 000008
【図６Ｂ】
2004320747.tif 000009
【図６Ｃ】
2004320747.tif 000010
【図６Ｄ】
2004320747.tif 000011
【図６Ｅ】
2004320747.tif 000012
【図７】
2004320747.tif 000013
【図８】
2004320747.tif 000014
【図９】
2004320747.tif 000015
【図１０】
2004320747.tif 000016
【図１１】
2004320747.tif 000017
【図１２】
2004320747.tif 000018
【図１３】
2004320747.tif 000019
【図１４】
2004320747.tif 000020
【図１５Ａ】
2004320747.tif 000021
【図１５Ｂ】
2004320747.tif 000022
【図１５Ｃ】
2004320747.tif 000023
【図１５Ｄ】
2004320747.tif 000024
【図１５Ｅ】
2004320747.tif 000025
【図１５Ｆ】
2004320747.tif 000026
【図１６】
2004320747.tif 000027
【図１７】
2004320747.tif 000028
【図１８】
2004320747.tif 000029
【図１９Ａ】
2004320747.tif 000030
【図１９Ｂ】
2004320747.tif 000031