(57)【要約】【課題】ＵＰｎＰネットワークにおいて、ＵＰｎＰコントロールポイントが、起動されていないＵＰｎＰデバイスを発見し、利用する。【解決手段】ネットワーク制御装置３−ａは、ＬＡＮ６に接続されている連携元端末装置１から検索対象のデバイスタイプを受信し、当該デバイスタイプが記述されたアプリケーション記述情報が保持されている場合に、当該アプリケーション記述情報のパス情報を記述した検索応答を返送する。そして、当該検索応答に対応してディスクリプション要求を受信すると、当該要求に含まれるパス情報により特定されるＵＰｎＰデバイスアプリケーション５−１−ａを起動し、この起動されたＵＰｎＰデバイスアプリケーション５−１−ａを実行するデバイスアプリケーション実行手段５１−１−ａへデバイス記述情報の要求を送信し、返送されたデバイス記述情報を連携元端末装置１に通知する。【選択図】図１
2010160748.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された端末装置に備えられるネットワーク制御装置であって、
前記端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報を記憶するアプリケーション情報保持手段と、
前記ネットワークに接続されている連携元端末装置から送信されたデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に、当該デバイスタイプ情報に対応した前記アプリケーションプログラムによって送信されるべき信号を前記連携元端末装置へ送信する通信代行手段と、
前記連携元端末装置から前記端末装置で実行可能な前記アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動するアプリケーション起動手段と、
を備えることを特徴とするネットワーク制御装置。
【請求項２】
前記通信代行手段は、
前記連携元端末装置から送信された検索対象のデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に前記連携元端末装置に検索応答を返送する存在応答手段と、
前記検索応答に対応してデバイス記述情報の要求を受信した場合に、前記検索対象のデバイスタイプ情報に対応した前記アプリケーションプログラムの起動を前記アプリケーション起動手段に指示するとともに起動された当該アプリケーションプログラムの実行手段へデバイス記述情報の要求を送信し、当該アプリケーションプログラムの実行手段から返送されたデバイス記述情報を前記連携元端末装置に返送する最新デバイス記述情報送信手段と、
を備えることを特徴とする請求項１に記載のネットワーク制御装置。
【請求項３】
前記アプリケーション情報保持手段は、前記端末装置で実行可能な前記アプリケーションプログラムのデバイス記述情報を記憶し、
前記通信代行手段は、
前記連携元端末装置から送信された検索対象のデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報を含むデバイス記述情報が前記アプリケーション情報保持手段に記憶されている場合に前記連携元端末装置に検索応答を返送する存在応答手段と、
前記検索応答に対応してデバイス記述情報の要求を受信した場合に、当該デバイス記述情報に対応した前記アプリケーションプログラムの起動を前記アプリケーション起動手段に指示するとともに、当該アプリケーションプログラムの前記デバイス記述情報を前記アプリケーション情報保持手段から読み出して前記連携元端末装置に返送するデバイス記述情報送信手段と、
を備える、
ことを特徴とする請求項１に記載のネットワーク制御装置。
【請求項４】
前記通信代行手段がデバイス記述情報の要求を受信した場合に、前記ネットワークに接続された他のネットワーク制御装置に対して、前記検索対象のデバイスタイプ情報に対応するアプリケーション特定情報と、リソース消費情報通知要求とを送信し、当該リソース消費情報通知要求に対応して、当該他のネットワーク制御装置からリソース消費情報を受信するリソース消費情報受信手段と、
前記端末装置に関するリソース消費情報を取得し、当該端末装置に関する前記リソース消費情報と、前記他のネットワーク制御装置から受信した前記リソース消費情報と、所定の負荷分散の基準とに基づいて、前記検索対象のデバイスタイプ情報に対応したアプリケーションプログラムを起動させるネットワーク制御装置を決定するアプリケーション負荷分散手段とをさらに備え、
前記アプリケーション起動手段は、前記アプリケーション負荷分散手段が他のネットワーク制御装置において前記アプリケーションプログラムを起動させることを決定した場合、前記連携元端末装置に当該他のネットワーク制御装置のアドレスを通知して前記デバイス記述情報の要求の転送を指示する、
ことを特徴とする請求項１から請求項３のいずれかの項に記載のネットワーク制御装置。
【請求項５】
前記ネットワークに接続された他のネットワーク制御装置から、アプリケーション特定情報と、リソース消費情報通知要求とを受信し、自ネットワーク制御装置を備えた前記端末装置において、受信した前記アプリケーション特定情報により特定されるアプリケーションプログラムが実行されたときのリソース消費量と、当該端末装置の現在の総リソース消費量との一方または両方の情報を取得して前記他のネットワーク制御装置に返送するリソース消費情報送信手段、
をさらに備えることを特徴とする請求項１から請求項４のいずれかの項に記載のネットワーク制御装置。
【請求項６】
前記ネットワークに接続された他のネットワーク制御装置からアプリケーションリスト要求を受信し、前記アプリケーション情報保持手段から前記端末装置で実行可能な前記アプリケーションプログラムのデバイスタイプ情報の一覧を返送するアプリケーションリスト送信手段と、
前記アプリケーションプログラムのデバイスタイプ情報の一覧を送信した前記他のネットワーク制御装置から、前記アプリケーションプログラムのパッケージ要求を受信し、要求された当該アプリケーションプログラムのパッケージを返送するアプリケーションパッケージ送信手段と、
をさらに備えることを特徴とする請求項１から請求項５のいずれかの項に記載のネットワーク制御装置。
【請求項７】
前記ネットワークに接続された他のネットワーク制御装置にアプリケーションリスト要求を送信し、送信した当該アプリケーションリスト要求に対応して、当該他のネットワーク制御装置を備える他の端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報の一覧を受信するアプリケーションリスト受信手段と、
前記他のネットワーク制御装置から受信したアプリケーションプログラムのデバイスタイプ情報の一覧のうち、前記アプリケーション情報保持手段に記憶されていないデバイスタイプ情報を特定し、特定した当該デバイスタイプ情報に対応したアプリケーションプログラムのパッケージ要求を当該他のネットワーク制御装置へ送信し、送信した前記パッケージ要求に対応して前記アプリケーションプログラムのパッケージを受信して前記端末装置に実装するアプリケーションパッケージ受信手段と、
をさらに備えることを特徴とする請求項１から６のいずれかの項に記載のネットワーク制御装置。
【請求項８】
ネットワークに接続された端末装置に備えられるネットワーク制御装置のコンピュータプログラムであって、
前記端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報をアプリケーション情報保持手段に記憶するステップと、
前記ネットワークに接続されている連携元端末装置から送信されたデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に、当該デバイスタイプ情報に対応した前記アプリケーションプログラムによって送信されるべき信号を前記連携元端末装置へ送信するステップと、
前記連携元端末装置から前記端末装置で実行可能な前記アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動するステップと、
をコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク制御装置およびコンピュータプログラムに関し、特にＵＰｎＰ（Universal Plug & Play）プロトコルに基づいて動作するＵＰｎＰコントロールポイントおよびＵＰｎＰデバイス間の通信を制御するネットワーク制御装置およびコンピュータプログラムに関するものである。
【背景技術】
【０００２】
近年のブロードバンドネットワークの普及によって、家庭内のパーソナルコンピュータ（以下、「パソコン」と記載）や各種情報機器をインターネットに接続し、映像、音声、アプリケーションなどの各種コンテンツを取得して楽しむ形態が急速に広まってきている。また、家庭内にネットワーク接続に対応した機器が増えてきていることもあり、家庭内にＬＡＮ（Local Area Network）を構築して、家庭内の機器同士でコンテンツや情報などを共有して利用することも一般的になってきている。
【０００３】
例えば、非特許文献１にあげられるＵＰｎＰでは、複数の機器やプログラムを連携して利用する際の相互接続プロトコルを規定しており、ＬＡＮに接続された各種機能を自動的に発見して、ＬＡＮ上の他の機器やプログラムがそれらの機能を連携して利用することが可能になる。ＵＰｎＰにおいて、連携可能な機器の発見や、利用を行う機器やプログラムのことをＵＰｎＰコントロールポイントとよび、各種機能を提供する連携対象の機器やプログラムをＵＰｎＰデバイスと呼ぶ。ＵＰｎＰの連携例として、ＡＶ（Audio Video）コンテンツを蓄積してコンテンツサーバーとして動作するメディアサーバーＵＰｎＰデバイスと、ＡＶコンテンツの表示機能をもったメディアレンダラーＵＰｎＰデバイスとがＬＡＮ上に存在し、ＵＰｎＰコントロールポイントの機能をもったアプリケーションによって、ユーザーがメディアサーバー上の気に入ったコンテンツを、メディアレンダラーに表示させるように操作して利用する例などが考えられる。
【０００４】
一方、日本ではＢＳ（Broadcasting Satellite）デジタル放送、地上デジタル放送が既に開始されており、デジタル放送に対応したテレビや受信機も広く普及している。デジタル放送は、非特許文献２のＭＰＥＧ−２  Ｓｙｓｔｅｍｓによるデジタルデータの多重化方式を採用しており、映像、音声に加えて各種情報をデジタル化してＭＰＥＧ（Moving Picture Experts Group）−２  ＴＳ（トランスポートストリーム）形式でコンテンツを伝送している。また、デジタル放送では、データ放送と呼ばれるニュース、天気などの各種文字情報や双方向性サービスを提供するサービスも提供している。データ放送は、非特許文献３のＤＳＭ−ＣＣ（Digital Storage Media Command and Control）データカルーセル方式によってＭＰＥＧ−２  ＴＳに多重される。また、現在放送されているデータ放送コンテンツは、非特許文献４によって規定されたＢＭＬ（Broadcast Markup Language）方式によって記述されている。
【０００５】
現状のＢＭＬ方式は、ＸＭＬ（extensible markup language）ベースの記述言語によって符号化されたＢＭＬコンテンツをブラウザによって提示するプレゼンテーションエンジン型の実行環境である。一方、データ放送コンテンツをコンピュータプログラムとして伝送し、送られたコンピュータプログラムを受信機で実行する実行環境は、アプリケーション実行エンジンと呼ばれている。アプリケーション実行エンジン型のデータ放送方式は、日本のＡＲＩＢ  ＳＴＤ−Ｂ２３、いわゆるＡＲＩＢ−Ｊ方式（非特許文献５）をはじめ欧米各国でも規定されている。
【０００６】
ＡＲＩＢ−Ｊ方式は、Ｊａｖａ（登録商標）（非特許文献６、非特許文献７）ベースのＡＰＩ（Application Program Interface）によってアプリケーションを実現する。Ｊａｖａ（登録商標）プログラムとしてデータ放送コンテンツを作成するため、これまでのＢＭＬ方式よりも高度なサービスを提供することも期待されている。例えば、Ｊａｖａ（登録商標）の持つネットワーク用ＡＰＩ（Application Program Interface）によって、ネットワークに対応したＡＲＩＢ−Ｊデータ放送コンテンツを制作することも可能になる。
【０００７】
ＡＲＩＢ−Ｊデータ放送コンテンツに、ＵＰｎＰの技術を利用することによって、放送受信機上で実行されている放送で送ったアプリケーションと、家庭内のＬＡＮに接続された各種デジタル機器の持つ機能を連携させて、これまでにない新たな放送サービスが実現可能となる。連携対象の機能は、ＵＰｎＰプロトコルに対応した通信が可能であれば、専用のハードウェアとしての構成でも、汎用機器であるパソコンにインストールされたアプリケーションでも構わない。汎用機器であるパソコンのアプリケーションとして実現する場合は、各種アプリケーションをインターネット等で取得してインストールするだけで、新たな機能を連携させることが可能となるので、ユーザーにとっては低コストで導入できるメリットがある。
【０００８】
例えば、ＬＡＮ上にパソコンが２台接続されており、パソコンＡにはＡＶコンテンツのトランスコード機能（放送のＭＰＥＧ−２形式からＭＰＥＧ−４形式への変換）をもったＵＰｎＰデバイスアプリケーションがインストールしてあり、パソコンＢには、ＭＰＥＧ−４形式によって符号化されたコンテンツの表示機能をもったＵＰｎＰデバイスアプリケーションがインストールしてあったとする。放送で送るＡＲＩＢ−Ｊデータ放送のアプリケーションにＵＰｎＰコントロールポイントの機能を備えさせ、家庭内にトランスコード機能と表示機能が存在した場合、ＡＲＩＢ−Ｊデータ放送アプリケーションがそれらの機能を連携させて、トランスコード機能によって放送で送ったＭＰＥＧ−２形式をＭＰＥＧ−４形式に変換して、ＭＰＥＧ−４を表示可能なパソコンＡ上の表示機能で再生させることができる。この例のように、ＡＲＩＢ―Ｊデータ放送アプリケーションから各種機能を連携させる場合は、連携の対象となるＵＰｎＰデバイスがＵＰｎＰの検索動作に反応するようにあらかじめ起動状態になければならない。ＵＰｎＰデバイスをパソコンのアプリケーションとして実現している場合は、事前に各機能を提供するアプリケーションを起動しておく必要がある。パソコンのアプリケーションとして動作する連携対象のＵＰｎＰデバイスの種類が増えた場合、利用される可能性のあるアプリケーションをパソコンの起動と共にすべて常時起動させておくことは、パソコンのＣＰＵ（central processing unit）負荷やメモリ消費などのリソースを無駄に消費することとなる。一方で、ユーザーが利用したい連携機能を意識して必要となるＵＰｎＰデバイス用のアプリケーションだけをその都度起動することは、ユーザーにとって負担となる。
【０００９】
特許文献１に記載された方法では、ＵＰｎＰデバイスに対する通信を代行するプロキシ機能が、ＵＰｎＰデバイス節電モードへの移行と復帰を管理して、節電モードに移行した特定のサービス提供デバイスのみを速やかに通常の機能処理実行可能なアライブ状態に遷移させることで、常時アライブ状態にすることなくＵＰｎＰデバイスを利用する。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００４−３４７９２号公報
【非特許文献】
【００１１】
【非特許文献１】UPnP Forum，Universal Plug and Play Device Architecture 1.0 (2008-04)，［平成２０年１２月１７日検索］，インターネット＜ＵＲＬ：http://www.UPnP.org/＞
【非特許文献２】ISO/IEC 13818-1:2007，“Information technology -- Generic coding of moving pictures and associated audio information: Systems”
【非特許文献３】ISO/IEC 13818-6:1998，“Information technology -- Generic coding of moving pictures and associated audio information -- Part 6: Extensions for DSM-CC”
【非特許文献４】社団法人  電波産業会，“デジタル放送におけるデータ放送符号化方式と伝送方式”，ARIB STD-B24 5.2版，２００８年６月６日
【非特許文献５】社団法人  電波産業会，“デジタル放送におけるアプリケーション実行環境”，ARIB STD-B23 1.1版，２００４年２月５日
【非特許文献６】Sun Microsystems，The Java（登録商標） Language Specification，Third Edition，［平成２０年１２月１７日検索］，インターネット＜ＵＲＬ：http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html＞
【非特許文献７】Sun Microsystems，Java（登録商標） 2 Platform API Specification，［平成２０年１２月１７日検索］，インターネット＜ＵＲＬ：http://java.sun.com/j2se/1.5.0/docs/api/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上述した、特許文献１の方法では、ＵＰｎＰデバイスを利用するＵＰｎＰコントロールポイントからは、ＵＰｎＰデバイスのアライブ状態や節電状態を意識せずに利用できるものの、プロキシ機能がＵＰｎＰデバイスのアライブ状態、節電状態を制御するために、ＵＰｎＰデバイスはプロキシ機能からの制御に対応するための特別なインターフェースを備える必要がある。
さらに、特許文献１の方法では、プロキシ機能は、アライブ状態および節電状態のみを管理するのであり、そもそもＵＰｎＰデバイスが起動されていない場合には対応することができない。
【００１３】
本発明は、以上のような問題点に鑑みてなされたものであり、本発明の目的は、ＵＰｎＰネットワークにおいて、ＵＰｎＰコントロールポイントが、起動されていないＵＰｎＰデバイスを発見して、利用することができるネットワーク制御装置及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
［１］  本発明の一態様は、ネットワークに接続された端末装置に備えられるネットワーク制御装置であって、前記端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報を記憶するアプリケーション情報保持手段と、前記ネットワークに接続されている連携元端末装置から送信されたデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に、当該デバイスタイプ情報に対応した前記アプリケーションプログラムによって送信されるべき信号を前記連携元端末装置へ送信する通信代行手段と、前記連携元端末装置から前記端末装置で実行可能な前記アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動するアプリケーション起動手段と、を備えることを特徴とするネットワーク制御装置である。
この発明によれば、アプリケーションを実装した端末装置に備えられるネットワーク制御装置は、連携元端末装置からデバイスタイプを受信すると、当該デバイスタイプのアプリケーションが送信すべき信号を代行して送信し、当該連携元端末装置からアプリケーションの利用要求を受信した場合に、当該アプリケーションを起動する。
これにより、ＵＰｎＰデバイス機能を備えたアプリケーションプログラムを記憶して実行する端末装置に備えられるネットワーク制御装置が、当該アプリケーションプログラムの有するＵＰｎＰデバイス機能と連携した処理を行なうＵＰｎＰコントロールポイントからＵＰｎＰデバイス検索メッセージを受信すると、受信したＵＰｎＰデバイス検索メッセージに含まれるデバイスタイプを自身が記憶している場合に、当該デバイスタイプに対応したアプリケーションプログラムによって送信されるべきＵＰｎＰデバイスの応答信号を代行してＵＰｎＰコントロールポイントに返送し、さらに、ＵＰｎＰコントロールポイントから当該アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動することができる。よって、ＵＰｎＰコントロールポイントは、連携対象のＵＰｎＰデバイスのアプリケーションが起動されていない場合でも、必要に応じて当該アプリケーションプログラムを起動させ、利用することが可能となる。
【００１５】
［２］  本発明の一態様は、上述するネットワーク制御装置であって、前記通信代行手段は、前記連携元端末装置から送信された検索対象のデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に前記連携元端末装置に検索応答を返送する存在応答手段と、前記検索応答に対応してデバイス記述情報の要求を受信した場合に、前記検索対象のデバイスタイプ情報に対応した前記アプリケーションプログラムの起動を前記アプリケーション起動手段に指示するとともに起動された当該アプリケーションプログラムの実行手段へデバイス記述情報の要求を送信し、当該アプリケーションプログラムの実行手段から返送されたデバイス記述情報を前記連携元端末装置に返送する最新デバイス記述情報送信手段と、を備えることを特徴とする。
この発明によれば、アプリケーションを実装した端末装置に備えられるネットワーク制御装置は、連携元端末装置から、検索対象のデバイスタイプを受信すると、アプリケーションが送信すべき検索応答を代行して送信し、当該検索応答に対応して連携元端末装置からアプリケーションのデバイス記述情報の要求を受信した場合に、当該アプリケーションを起動し、起動されたアプリケーションから取得したデバイス記述情報を連携元端末装置に返送する。
これにより、ネットワークに接続された端末上のアプリケーションとして動作するＵＰｎＰデバイスと通信することによって、当該ＵＰｎＰデバイスが有する機能と連携した処理を行なうＵＰｎＰコントロールポイントは、連携対象のＵＰｎＰデバイスのアプリケーションが起動されていない場合でも、当該アプリケーションを発見し、利用することができる。
【００１６】
［３］  また、本発明の一態様は、上述するネットワーク制御装置であって、前記アプリケーション情報保持手段は、前記端末装置で実行可能な前記アプリケーションプログラムのデバイス記述情報を記憶し、前記通信代行手段は、前記連携元端末装置から送信された検索対象のデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報を含むデバイス記述情報が前記アプリケーション情報保持手段に記憶されている場合に前記連携元端末装置に検索応答を返送する存在応答手段と、前記検索応答に対応してデバイス記述情報の要求を受信した場合に、当該デバイス記述情報に対応した前記アプリケーションプログラムの起動を前記アプリケーション起動手段に指示するとともに、当該アプリケーションプログラムの前記デバイス記述情報を前記アプリケーション情報保持手段から読み出して前記連携元端末装置に返送するデバイス記述情報送信手段と、を備える、ことを特徴とする。
この発明によれば、アプリケーションを実装した端末装置に備えられるネットワーク制御装置は、連携元端末装置から、検索対象のデバイスタイプを受信すると、アプリケーションが送信すべき検索応答を代行して送信し、当該検索応答に対応して連携元端末装置からアプリケーションのデバイス記述情報の要求を受信した場合に、当該アプリケーションを起動するとともに、要求されたアプリケーションのデバイス記述情報を連携元端末装置に返送する。
これにより、ネットワークに接続された端末上のアプリケーションとして動作するＵＰｎＰデバイスと通信することによって、当該ＵＰｎＰデバイスが有する機能と連携した処理を行なうＵＰｎＰコントロールポイントは、連携対象のＵＰｎＰデバイスのアプリケーションが起動されていない場合でも、当該アプリケーションを発見し、利用することができる。
【００１７】
［４］  また、本発明の一態様は、上述するネットワーク制御装置であって、前記通信代行手段がデバイス記述情報の要求を受信した場合に、前記ネットワークに接続された他のネットワーク制御装置に対して、前記検索対象のデバイスタイプ情報に対応するアプリケーション特定情報と、リソース消費情報通知要求とを送信し、当該リソース消費情報通知要求に対応して、当該他のネットワーク制御装置からリソース消費情報を受信するリソース消費情報受信手段と、前記端末装置に関するリソース消費情報を取得し、当該端末装置に関する前記リソース消費情報と、前記他のネットワーク制御装置から受信した前記リソース消費情報と、所定の負荷分散の基準とに基づいて、前記検索対象のデバイスタイプ情報に対応したアプリケーションプログラムを起動させるネットワーク制御装置を決定するアプリケーション負荷分散手段とをさらに備え、前記アプリケーション起動手段は、前記アプリケーション負荷分散手段が他のネットワーク制御装置において前記アプリケーションプログラムを起動させることを決定した場合、前記連携元端末装置に当該他のネットワーク制御装置のアドレスを通知して前記デバイス記述情報の要求の転送を指示する、ことを特徴とする。
この発明によれば、自ネットワーク制御装置を備える端末装置、及び、他のネットワーク制御装置を備える他の端末装置におけるリソース消費情報から、負荷が分散されるようにアプリケーションを決定する。
これにより、ネットワーク制御装置は、ＵＰｎＰコントロールポイントと連携するアプリケーションを負荷分散して起動することができる。
【００１８】
［５］  また、本発明の一態様は、上述するネットワーク制御装置であって、前記ネットワークに接続された他のネットワーク制御装置から、アプリケーション特定情報と、リソース消費情報通知要求とを受信し、自ネットワーク制御装置を備えた前記端末装置において、受信した前記アプリケーション特定情報により特定されるアプリケーションプログラムが実行されたときのリソース消費量と、当該端末装置の現在の総リソース消費量との一方または両方の情報を取得して前記他のネットワーク制御装置に返送するリソース消費情報送信手段、をさらに備えることを特徴とする。
この発明によれば、ネットワーク制御装置は、他のネットワーク制御装置からの要求を受け、自ネットワーク制御装置を備える端末装置のリソース消費情報を取得して返送する。
これにより、ネットワーク制御装置は、ＵＰｎＰコントロールポイントと連携するアプリケーションを負荷分散して起動するために必要な情報を提供することができる。
【００１９】
［６］  また、本発明の一態様は、上述するネットワーク制御装置であって、前記ネットワークに接続された他のネットワーク制御装置からアプリケーションリスト要求を受信し、前記アプリケーション情報保持手段から前記端末装置で実行可能な前記アプリケーションプログラムのデバイスタイプ情報の一覧を返送するアプリケーションリスト送信手段と、前記アプリケーションプログラムのデバイスタイプ情報の一覧を送信した前記他のネットワーク制御装置から、前記アプリケーションプログラムのパッケージ要求を受信し、要求された当該アプリケーションプログラムのパッケージを返送するアプリケーションパッケージ送信手段と、をさらに備えることを特徴とする。
この発明によれば、ネットワーク制御装置は、他のネットワーク制御装置に対して、自身が起動可能なアプリケーションのリストを送信し、当該他のネットワーク制御装置から要求されたアプリケーションのパッケージを返送する。
これにより、自ネットワーク制御装置を備える端末装置に実装されているが、他のネットワーク制御装置を備える他の端末装置に実装されていないアプリケーションを当該他の端末装置に実装させることができる。
【００２０】
［７］  また、本発明の一態様は、上述するネットワーク制御装置であって、前記ネットワークに接続された他のネットワーク制御装置にアプリケーションリスト要求を送信し、送信した当該アプリケーションリスト要求に対応して、当該他のネットワーク制御装置を備える他の端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報の一覧を受信するアプリケーションリスト受信手段と、前記他のネットワーク制御装置から受信したアプリケーションプログラムのデバイスタイプ情報の一覧のうち、前記アプリケーション情報保持手段に記憶されていないデバイスタイプ情報を特定し、特定した当該デバイスタイプ情報に対応したアプリケーションプログラムのパッケージ要求を当該他のネットワーク制御装置へ送信し、送信した前記パッケージ要求に対応して前記アプリケーションプログラムのパッケージを受信して前記端末装置に実装するアプリケーションパッケージ受信手段と、をさらに備えることを特徴とする。
この発明によれば、ネットワーク制御装置は、他のネットワーク制御装置に対して、当該他のネットワーク制御装置において起動可能なアプリケーションのリストを受信し、受信したアプリケーションのリストから、自ネットワーク制御装置を備える端末装置に実装されていないアプリケーションを特定すると、この特定したアプリケーションプログラムのパッケージを他のネットワーク制御装置から受信し、前記端末装置に実装する。
これにより、ネットワーク制御装置は、自ネットワーク制御装置を備える端末装置に実装されていないアプリケーションを、他のネットワーク制御装置から取得し当該端末装置に実装することができる。
【００２１】
［８］  また、本発明の一態様は、ネットワークに接続された端末装置に備えられるネットワーク制御装置のコンピュータプログラムであって、前記端末装置で実行可能なアプリケーションプログラムのデバイスタイプ情報をアプリケーション情報保持手段に記憶するステップと、前記ネットワークに接続されている連携元端末装置から送信されたデバイスタイプ情報を受信し、受信した前記デバイスタイプ情報が前記アプリケーション情報保持手段に記憶されている場合に、当該デバイスタイプ情報に対応した前記アプリケーションプログラムによって送信されるべき信号を前記連携元端末装置へ送信するステップと、前記連携元端末装置から前記端末装置で実行可能な前記アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動するステップと、をコンピュータに実行させることを特徴とするコンピュータプログラムである。
この発明によれば、アプリケーションを実装した端末装置に備えられるネットワーク制御装置は、連携元端末装置からデバイスタイプを受信すると、当該デバイスタイプのアプリケーションが送信すべき信号を代行して送信し、当該連携元端末装置からアプリケーションの利用要求を受信した場合に、当該アプリケーションを起動する。
これにより、ＵＰｎＰデバイス機能を備えたアプリケーションプログラムを記憶して実行する端末装置に備えられるネットワーク制御装置が、当該アプリケーションプログラムの有するＵＰｎＰデバイス機能と連携した処理を行なうＵＰｎＰコントロールポイントからＵＰｎＰデバイス検索メッセージを受信すると、受信したＵＰｎＰデバイス検索メッセージに含まれるデバイスタイプを自身が記憶している場合に、当該デバイスタイプに対応したアプリケーションプログラムによって送信されるべきＵＰｎＰデバイスの応答信号を代行してＵＰｎＰコントロールポイントに返送し、さらに、ＵＰｎＰコントロールポイントから当該アプリケーションプログラムの利用要求を受信した場合に、当該アプリケーションプログラムを起動することができる。よって、ＵＰｎＰコントロールポイントは、連携対象のＵＰｎＰデバイスのアプリケーションが起動されていない場合でも、必要に応じて当該アプリケーションを起動させ、利用することが可能となる。
【発明の効果】
【００２２】
本発明によれば、ネットワークに接続された端末上のアプリケーションとして動作して各種機能を提供するＵＰｎＰデバイスと通信することによって、ＵＰｎＰコントロールポイントが当該ＵＰｎＰデバイスの有する機能を連携して利用するネットワークシステムにおいて、所定の端末上にインストールされ、かつ、特定の機能を提供するＵＰｎＰデバイスアプリケーションが、ＵＰｎＰコントロールポイントから利用されていない場合は、当該ＵＰｎＰデバイスアプリケーションを起動することなく、当該ＵＰｎＰデバイスアプリケーションが処理すべきＵＰｎＰ通信を、ネットワーク制御装置に代行させることができる。
【００２３】
一方、ＵＰｎＰコントロールポイントが当該ＵＰｎＰデバイスを利用したい場合は、ネットワーク制御装置によって、必要となる当該ＵＰｎＰデバイスを起動し、ＵＰｎＰ通信の処理を、起動したＵＰｎＰデバイスアプリケーションに移譲する。これにより、ＵＰｎＰコントロールポイントが、当該ＵＰｎＰデバイスアプリケーションの提供する機能を利用可能な状態に移行させることができる。さらには、ＵＰｎＰコントロールポイント、ＵＰｎＰデバイスアプリケーション共に、ネットワーク制御装置の存在を前提とした通信手順や機能を備える必要がないという効果がある。
【００２４】
さらに、上記により、必要になったＵＰｎＰデバイスアプリケーションが自動的に起動することから、ユーザーが必要となるＵＰｎＰデバイスアプリケーションを意識して起動する必要がなく、また全てのＵＰｎＰデバイスアプリケーションを予め起動しておく場合のような無駄なリソース消費も起こらないという効果がある。
また、ＬＡＮ上に複数のネットワーク制御装置が存在する場合には、各ネットワーク制御装置で起動するＵＰｎＰデバイスアプリケーションを、リソース消費量に基づいてネットワーク制御装置間で調停して決定することができる。よって、ＵＰｎＰデバイスアプリケーションが動作する端末装置同士で負荷を分散し、効率的な利用を可能にするという効果がある。
【図面の簡単な説明】
【００２５】
【図１】本発明の第１の実施形態によるネットワークシステムの接続構成を示す図である。
【図２】図１に示す端末装置２の機能構成を示すブロック図である。
【図３】図１に示すネットワークシステムのシーケンス図である。
【図４】図３のステップＳ１０１で用いられるメッセージＭ１０１の設定例である。
【図５】図３のステップＳ１０２で用いられるメッセージＭ１０２の設定例である。
【図６】図３のステップＳ１０４で用いられるメッセージＭ１０４の設定例である。
【図７】図３のステップＳ１０６で用いられるメッセージＭ１０６の設定例である。
【図８】図３のステップＳ１０７で用いられるメッセージＭ１０７の設定例である。
【図９】図３のステップＳ１０８で用いられるメッセージＭ１０８の設定例である。
【図１０】図３のステップＳ１０９で用いられるメッセージＭ１０９の設定例である。
【図１１】図３のステップＳ１１０で用いられるメッセージＭ１１０の設定例である。
【図１２】図３のステップＳ１１１で用いられるメッセージＭ１１１の設定例である。
【図１３】第２の実施形態による端末装置２の機能構成を示すブロック図である。
【図１４】第２の実施形態によるネットワークシステムのシーケンス図である。
【図１５】第３の実施形態による端末装置２の機能構成を示すブロック図である。
【図１６】第３の実施形態によるネットワークシステムのシーケンス図である。
【図１７】図１６のステップＳ３０１で用いられるメッセージＭ３０１の設定例である。
【図１８】図１６のステップＳ３０２−１で用いられるメッセージＭ３０２−１の設定例である。
【図１９】図１６のステップＳ３０２−２で用いられるメッセージＭ３０２−２の設定例である。
【図２０】図１６のステップＳ３０４で用いられるメッセージＭ３０４の設定例である。
【図２１】図１６のステップＳ３０５で用いられるメッセージＭ３０５の設定例である。
【図２２】図１６のステップＳ３０６で用いられるメッセージＭ３０６の設定例である。
【図２３】図１６のステップＳ３０８で用いられるメッセージＭ３０８の設定例である。
【図２４】図１６のステップＳ３０９で用いられるメッセージＭ３０９の設定例である。
【図２５】図１６のステップＳ３１１で用いられるメッセージＭ３１１の設定例である。
【図２６】図１６のステップＳ３１２で用いられるメッセージＭ３１２の設定例である。
【図２７】図１６のステップＳ３１５で用いられるメッセージＭ３１５の設定例である。
【発明を実施するための形態】
【００２６】
［第１の実施形態］
図１は、本発明の第１の実施形態によるネットワークシステムの接続構成を示す図である。同図において、ネットワークシステムは、連携元端末装置１と複数の端末装置２とを、ホームネットワーク等のＬＡＮ（Local Area Network）６を介して接続することにより構成されている。同図においては、２台の端末装置２がＬＡＮ６に接続されているが、１台または３台以上でありうる。連携元端末装置１は、ＵＰｎＰ（Universal Plug & Play）コントロールポイントとしてコンピュータを動作させるアプリケーションプログラムであるＵＰｎＰ連携アプリケーション１２を実装しており、当該ＵＰｎＰ連携アプリケーション１２を実行する連携アプリケーション実行手段１１を備える。
【００２７】
端末装置２は、パーソナルコンピュータ（以下、「パソコン」と記載）などであり、ＵＰｎＰデバイスとしてコンピュータを動作させるＵＰｎＰデバイスアプリケーションプログラム５（以下、「アプリケーションプログラム」を単に「アプリケーション」と記載する）を１つ以上記憶しており、当該ＵＰｎＰデバイスアプリケーション５を実行可能である。端末装置２は、ＵＰｎＰデバイスアプリケーション５を実行するデバイスアプリケーション実行手段５１と、デバイスアプリケーション実行手段５１の代理として連携アプリケーション実行手段１１と相互動作するネットワーク制御装置３を備える。なお、複数のＵＰｎＰデバイスアプリケーション５をＵＰｎＰデバイスアプリケーション５−１、５−２、…、５−ｎとし、ＵＰｎＰデバイスアプリケーション５−ｉ（ｉ＝１〜ｎ）を実行するデバイスアプリケーション実行手段５１をデバイスアプリケーション実行手段５１−ｉとする。
【００２８】
図１に示す２台の端末装置２のうち、１台を端末装置２−ａ、もう１台を端末装置２−ｂとする。そして、端末装置２−ａが備えるネットワーク制御装置３をネットワーク制御装置３−ａとし、実装されているｎ個のＵＰｎＰデバイスアプリケーション５−ｉ（ｉ＝１〜ｎ）を、ＵＰｎＰデバイスアプリケーション５−ｉ−ａとし、ＵＰｎＰデバイスアプリケーション５−ｉ−ａを実行するデバイスアプリケーション実行手段５１をデバイスアプリケーション実行手段５１−ｉ−ａとする。同様に、端末装置２−ｂが備えるネットワーク制御装置３をネットワーク制御装置３−ｂとし、実装されているｍ個のＵＰｎＰデバイスアプリケーション５−ｉ（ｉ＝１〜ｍ）を、ＵＰｎＰデバイスアプリケーション５−ｉ−ｂとし、ＵＰｎＰデバイスアプリケーション５−ｉ−ｂを実行するデバイスアプリケーション実行手段５１をデバイスアプリケーション実行手段５１−ｉ−ｂとする。
【００２９】
図２は、本実施形態による端末装置２の機能構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、端末装置２は、ネットワーク制御装置３と、アプリケーション実行手段５０とを備える。
【００３０】
アプリケーション実行手段５０は、ＣＰＵ（central processing unit）がメモリに記憶されたアプリケーションを読み出して実行することにより実現される。アプリケーション実行手段５０は、１以上のデバイスアプリケーション実行手段５１を備え、各デバイスアプリケーション実行手段５１−ｉ（ｉ＝１〜ｎ）は、ＵＰｎＰデバイスアプリケーション５−ｉを実行するとともに、当該ＵＰｎＰデバイスアプリケーション５−ｉのアプリケーション記述情報５３−ｉを記憶する記憶手段５２−ｉを備える。アプリケーション記述情報５３−ｉ（ｉ＝１〜ｎ）には、ＵＰｎＰデバイスアプリケーション５−ｉのＵＰｎＰデバイスディスクリプション及びＵＰｎＰサービスディスクリプションなどのデータが含まれる。デバイス記述情報としてのＵＰｎＰデバイスディスクリプションは、例えば、メディアレンダラー、ＡＶ再生デバイスなど、ＵＰｎＰデバイスアプリケーション５のデバイスの種類等を記述したものであり、物理プロパティ、論理プロパティ、ユーザインタフェースプロパティなどが記述される。また、ＵＰｎＰサービスディスクリプションは、ＵＰｎＰデバイスディスクリプションにより記述されるデバイスとして、ＵＰｎＰデバイスアプリケーション５が提供するサービスの詳細を記述したものであり、連携して動作するときのアクセス先のアドレスや、有効なアクションやステート情報などが記述される。ＵＰｎＰデバイスディスクリプション及びＵＰｎＰサービスディスクリプションの詳細については、ＵＰｎＰ協議会により標準化されている。
【００３１】
ネットワーク制御装置３は、アプリケーション情報保持手段３０、ネットワーク送受信手段３２、通信代行手段３３、及び、アプリケーション起動手段３４を備える。アプリケーション情報保持手段３０は、ハードディスク装置や半導体メモリなどで実現され、ＵＰｎＰデバイスアプリケーション５−ｉ（ｉ＝１〜ｎ）それぞれの実行フィアルのパス名、及び、アプリケーション記述情報３１−ｉを記憶する。アプリケーション記述情報３１−ｉ（ｉ＝１〜ｎ）は、アプリケーション記述情報５３−ｉの全部または一部の情報であり、少なくともＵＰｎＰデバイスアプリケーション５−ｉのデバイスタイプ及びurn（Uniform Resource Name）の情報が含まれている。
【００３２】
ネットワーク送受信手段３２は、ＬＡＮ６を介してデータを送受信する。通信代行手段３３は、連携元端末装置１の連携アプリケーション実行手段１１からデバイスアプリケーション実行手段５１へのメッセージを受信し、代行して返信メッセージを送信する。通信代行手段３３は、存在応答手段３３１、最新デバイス記述情報送信手段３３２、及び、存在アナウンス手段３３３を備える。存在応答手段３３１は、連携元端末装置１の連携アプリケーション実行手段１１から検索対象のデバイスタイプを受信し、検索対象のデバイスタイプのＵＰｎＰデバイスアプリケーション５が、自ネットワーク制御装置３と同じ端末装置２に実装されている場合に、応答を返送する。最新デバイス記述情報送信手段３３２は、連携元端末装置１の連携アプリケーション実行手段１１から、所定のＵＰｎＰデバイスアプリケーション５についてのデバイス記述情報の要求を受信した場合に、当該ＵＰｎＰデバイスアプリケーション５を起動し、起動したＵＰｎＰデバイスアプリケーション５を実行するデバイスアプリケーション実行手段５１から受信したデバイス記述情報を返送する。存在アナウンス手段３３３は、デバイスアプリケーション実行手段５１から受信した存在アナウンスを、ネットワーク送受信手段３２を介してＬＡＮ６上に送信する。アプリケーション起動手段３４は、アプリケーション情報保持手段３０から読み出した実行パスの情報を使用して、ＵＰｎＰデバイスアプリケーション５を起動する。この起動によりデバイスアプリケーション実行手段５１が動作可能になる。
【００３３】
以下、端末装置２が端末装置２−ａの場合、上述した端末装置２の各部の符号の後ろに「−ａ」を付加して記載し、端末装置２が端末装置２−ｂの場合、上述した端末装置２の各部の符号の後ろに「−ｂ」を付加して記載する。
【００３４】
次に、本実施形態によるネットワークシステムの動作手順を説明する。
図３は、本実施形態によるネットワークシステムのシーケンス図であり、図４〜図１２は、図３に示す動作手順のうち、ＵＰｎＰプロトコルに対応した通信内容の例を示す図である。なお、通信内容は手順の説明のための一例であり、ＵＰｎＰプロトコルで伝送すべき情報の一部を省略して記載している。
以下では、連携元端末装置１の連携アプリケーション実行手段１１が連携するＵＰｎＰデバイスアプリケーション５を、端末装置２−ａが実装するＵＰｎＰデバイスアプリケーション５−１−ａとして説明する。
【００３５】
まず前提として、ＵＰｎＰコントロールポイントとして動作する連携元端末装置１の連携アプリケーション実行手段１１と、パソコンである端末装置２−ａ上で動作するネットワーク制御装置３−ａ及びＵＰｎＰデバイスアプリケーション５−１−ａとが存在するものとする。そして、ネットワーク制御装置３−ａのアプリケーション情報保持手段３０−ａには、ＵＰｎＰデバイスアプリケーション５−１−ａの実行ファイルのパス名や、デバイスタイプ及びurnの情報が少なくとも記述されたＵＰｎＰデバイスディスクリプションなどの各種情報が事前に登録され、保持されていることとする。
【００３６】
ステップＳ１０１：連携元端末装置１の連携アプリケーション実行手段１１が、ＬＡＮ６上の連携可能なＵＰｎＰデバイスを検索するために、検索メッセージＭ１０１をマルチキャストにより全ての端末装置２に送信する。図４は、検索メッセージＭ１０１の記述例を示す。図４において、検索メッセージＭ１０１の行目及び３行目には、メッセージの種類が検索メッセージとして使用されるUPnP M-SEARCHメッセージであることが記述されている。また、２行目には、デバイス検索用に決められたＵＰｎＰコントロールポイントのアドレスが記述され、４行目には、検索対象のデバイスタイプが「urn:schemas-upnp-org:device:T1」であることが記述されている。
【００３７】
ステップＳ１０２：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、検索メッセージＭ１０１を受信し、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの存在応答手段３３１−ａは、検索メッセージＭ１０１から検索対象のデバイスタイプ「urn:schemas-upnp-org:device:T1」を読み出し、アプリケーション情報保持手段３０−ａに、読み出したデバイスタイプが記述されているアプリケーション記述情報３１−ｉ−ａ（ｉ＝１〜ｎ）が記憶さているかの検索を行う。ここでは、アプリケーション記述情報３１−１−ａが特定される。検索対象のデバイスタイプが記述されているアプリケーション記述情報３１−１−ａが見つかったため、本来デバイスアプリケーション実行手段５１−１−ａが送信するべき検索応答メッセージＭ１０２を、通信代行手段３３−ａの存在応答手段３３１−ａが送信する。検索応答メッセージＭ１０２には、ＵＰｎＰデバイスディスクリプションの取得先のアドレスおよびポート（以下、単に「アドレス」と記載）として、ネットワーク制御装置３−ａのアドレスを記述する。検索応答メッセージＭ１０２は、ネットワーク送受信手段３２−ａを介して連携元端末装置１に送信される。
【００３８】
図５は、検索応答メッセージＭ１０２の記述例を示す図である。図５において、検索応答メッセージＭ１０２の１行目には、メッセージの種類が正常応答であることを示す情報が記述され、３行目には、検索メッセージＭ１０１において受信した検索対象のデバイスタイプが記述されている。また、２行目の「LOCATION」には、ＵＰｎＰディスクリプションドキュメントのパス情報として、アプリケーション記述情報３１−１−ａのパス情報「http://addr_NC3-a:aaaa/descriptionAP5-1-a.xml」が記述される。このパス情報に含まれるアドレス「addr_NC3-a:aaaa」は、ネットワーク制御装置３−ａのアドレスである。検索応答メッセージＭ１０２の４行目には、通信代行手段３３−ａがアプリケーション記述情報３１−１−ａから読み出したurn「uuid:0001::urn:schemas-upnp-org:device:T1」が記述されている。なお、urnは、デバイス固有の番号であるuuid（Universally Unique Identifier）と、デバイスタイプの組み合わせであり、個々のＵＰｎＰデバイスアプリケーション５を特定する。
【００３９】
ステップＳ１０３：連携元端末装置１の連携アプリケーション実行手段１１は、受信したメッセージＭ１０２により、デバイスタイプが「urn:schemas-upnp-org:device:T1」であるＵＰｎＰデバイスが存在することを検出し、ＵＰｎＰデバイスアプリケーション５−１−ａと連携することを決定する。例えば、連携アプリケーション実行手段１１がアプリケーションの一部として動作しており、そのアプリケーションによってＵＰｎＰデバイスと連携した動作が要求された場合などが想定される。
【００４０】
ステップＳ１０４：連携元端末装置１の連携アプリケーション実行手段１１は、連携するＵＰｎＰデバイスであるＵＰｎＰデバイスアプリケーション５−１−ａの詳細情報を取得するために、ディスクリプション要求メッセージＭ１０４を送信して、ＵＰｎＰディスクリプションドキュメントを要求する。ＵＰｎＰディスクリプションドキュメントの要求先は、応答メッセージＭ１０２の「LOCATION」によって指定されたパス情報のＵＲＬ（Uniform Resource Locator）である。
【００４１】
図６は、ディスクリプション要求メッセージＭ１０４の記述例を示す図である。図６において、ディスクリプション要求メッセージＭ１０４の１行目には、メッセージの種類が、検索応答メッセージＭ１０２の「LOCATION」から読み出した「descriptionAP5-1-a.xml」で特定されるＵＰｎＰディスクリプションドキュメントを取得（GETメソッドを実行）するためのメッセージであることを示す情報が記述され、２行目には、応答メッセージＭ１０２の「LOCATION」から読み出したネットワーク制御装置３−ａのアドレス「addr_NC3-a:aaaa」が記述されている。
【００４２】
ステップＳ１０５：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、ディスクリプション要求メッセージＭ１０４を受信し、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、ディスクリプション要求メッセージＭ１０４から、要求されたＵＰｎＰディスクリプションドキュメントのパス情報を得ると、当該パス情報により、そのＵＰｎＰディスクリプションドキュメントに対応するＵＰｎＰデバイスアプリケーションが、ＵＰｎＰデバイスアプリケーション５−１−ａであることを特定する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、アプリケーション起動手段３４−ａに、特定したＵＰｎＰデバイスアプリケーション５−１−ａを起動するように指示する。
【００４３】
アプリケーション起動手段３４−ａは、アプリケーション情報保持手段３０−ａに記憶されているＵＰｎＰデバイスアプリケーション５−１−ａの実行パスの情報をもとに、端末装置２−ａに実装されているＵＰｎＰデバイスアプリケーション５−１−ａを起動する。これにより、当該ＵＰｎＰデバイスアプリケーション５−１−ａを実行するデバイスアプリケーション実行手段５１−１−ａが動作可能になる。
【００４４】
ステップＳ１０６：ＵＰｎＰデバイスアプリケーション５−１−ａが起動され、デバイスアプリケーション実行手段５１−１−ａが動作可能になると、デバイスアプリケーション実行手段５１−１−ａは、ＵＰｎＰデバイスの存在アナウンスメッセージ（NOTIFY）Ｍ１０６を送信する。ＵＰｎＰデバイスの存在アナウンスメッセージとは、ＵＰｎＰデバイスが起動時に送信すべきメッセージである。
【００４５】
図７は、存在アナウンスメッセージＭ１０６の記述例を示す。図７において、存在アナウンスメッセージＭ１０６の１行目には、メッセージの種類がNOTIFYメッセージであることが記述され、２行目には、ＵＰｎＰコントロールポイントのアドレスが記述され、３行目には、ＵＰｎＰデバイスアプリケーション５−１−ａのＵＰｎＰディスクリプションドキュメントのパス情報「http://addr_AP5-1-a:bbbb/descriptionAP5-1-a.xml」が記述されている。このパス情報に含まれるアドレス「addr_AP5-1-a:bbbb」は、ＵＰｎＰデバイスアプリケーション５−１−ａのアドレスである。メッセージＭ１０６の４行目には、デバイスタイプが記述され、５行目にはデバイスが起動している旨が記述され、６行目には、ＵＰｎＰデバイスアプリケーション５−１−ａのusnが記述されている。
【００４６】
ステップＳ１０７：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、存在アナウンスメッセージＭ１０６を受信すると、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、ＵＰｎＰデバイスアプリケーション５−１−ａが起動されたことを存在アナウンスメッセージＭ１０６により検出すると、当該存在アナウンスメッセージＭ１０６に設定されている情報をもとに、当該デバイスアプリケーション実行手段５１−１−ａに対してディスクリプション要求メッセージＭ１０７を送信し、最新のＵＰｎＰデバイスディスクリプションドキュメントを要求する。
【００４７】
図８は、ディスクリプション要求メッセージＭ１０７の記述例を示す図である。図８において、ディスクリプション要求メッセージＭ１０７の１行目には、メッセージの種類が、存在アナウンスメッセージＭ１０６の「LOCATION」から読み出した「descriptionAP5-1-a.xml」で特定されるＵＰｎＰディスクリプションドキュメントを取得するためのディスクリプション要求メッセージであることを示す情報が記述され、２行目には、存在アナウンスメッセージＭ１０６の「LOCATION」から読み出したＵＰｎＰデバイスアプリケーション５−１−ａのアドレス「addr_AP5-1-a:bbbb」が記述されている。
【００４８】
ステップＳ１０８：デバイスアプリケーション実行手段５１−１−ａは、ディスクリプション要求メッセージＭ１０７を受信すると、記憶手段５２−１−ａに記憶しているアプリケーション記述情報５３−１−ａから、要求されたＵＰｎＰディスクリプションドキュメントを読み出し、読み出したＵＰｎＰディスクリプションドキュメントを設定したディスクリプション要求応答メッセージＭ１０８を返送する。
【００４９】
図９は、ディスクリプション要求応答メッセージＭ１０８の記述例を示す図である。図９において、ディスクリプション要求応答メッセージＭ１０８の１行目には、メッセージの種類が正常応答であることを示す情報が記述され、２行目には、ＵＰｎＰディスクリプションドキュメントの記述形式が記述され、３行目以降には、読み出したＵＰｎＰディスクリプションドキュメントが記述されている。ＵＰｎＰディスクリプションドキュメント中には、ＵＰｎＰデバイスアプリケーション５−１−ａをＵＰｎＰデバイスとして連携して利用する場合に、ＵＰｎＰコントロールポイントとしての連携アプリケーション実行手段１１がＵＰｎＰアクションメッセージを送る要求先のアドレス（URLBase）と、ＵＰｎＰデバイスアプリケーション５−１−ａが提供するＵＰｎＰサービス毎のサービスタイプ（serviceType）、要求先のパス（controlURL）などの情報が含まれる。要求先のアドレス（URLBase）には、ＵＰｎＰデバイスアプリケーション５−１−ａのアドレス「http://addr_AP5-1-a:cccc」が設定されている。
【００５０】
ステップＳ１０９：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、ディスクリプション要求応答メッセージＭ１０８を受信すると、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、デバイスアプリケーション実行手段５１−１−ａにより送信されたディスクリプション要求応答メッセージＭ１０８からＵＰｎＰディスクリプションドキュメント取得すると、取得したＵＰｎＰディスクリプションドキュメントを、ディスクリプション要求メッセージＭ１０４に対する応答であるディスクリプション要求応答メッセージＭ１０９として送信する。図１０は、ディスクリプション要求応答メッセージＭ１０９の記述例を示す図であり、３行目以降に、ディスクリプション要求応答メッセージＭ１０８から取得したＵＰｎＰディスクリプションドキュメントが記述されている。
【００５１】
ステップＳ１１０：連携元端末装置１の連携アプリケーション実行手段１１は、ディスクリプション要求応答メッセージＭ１０９から取得したＵＰｎＰディスクリプションドキュメントにより、URLBase、serviceType、controlURL等のＵＰｎＰデバイスアプリケーション５−１−ａと連携するための情報を得ることができる。連携アプリケーション実行手段１１は、その取得した情報に基づいてＵＰｎＰデバイスアプリケーション５−１−ａを実行するデバイスアプリケーション実行手段５１−１−ａに対して、ＵＰｎＰプロトコルに従ったＵＰｎＰアクションを指示する連携メッセージＭ１１０を送信し、ＵＰｎＰによるデバイスの連携を行う。図１１は、連携メッセージＭ１１０の記述例を示す図であり、連携メッセージＭ１１０の２行目には、ディスクリプション応答メッセージＭ１０８から取得したURLBaseが記述され、３行目以降には、ＵＰｎＰアクションの指示が記述されている。
【００５２】
ステップＳ１１１：デバイスアプリケーション実行手段５１−１−ａは、連携メッセージＭ１１０を受信すると、連携メッセージＭ１１０に記述されている、ＵＰｎＰコントロールポイントとしての連携アプリケーション実行手段１１により指示された動作を行い、結果の応答を連携応答メッセージＭ１１１により返送する。図１２は、連携応答メッセージＭ１１１の記述例を示す図であり、３行目以降には、ＵＰｎＰアクションの実行結果が記述されている。
【００５３】
なお、ネットワーク制御装置３−ａにおける通信代行手段３３−ａの存在アナウンス手段３３３−ａは、ステップＳ１０６において受信した存在アナウンスメッセージＭ１０６を、ネットワーク送受信手段３２−ａを介して、ＬＡＮ６上の連携元端末装置１や他の端末装置２へ送信する。
【００５４】
以上記載したように、当初ＵＰｎＰデバイスアプリケーション５が起動していなくても、ＵＰｎＰコントロールポイントとして動作する連携元端末装置１の連携アプリケーション実行手段１１は、ＵＰｎＰデバイスアプリケーション５の存在を発見し、ＵＰｎＰデバイスアプリケーション５が実行されることによって提供される機能、つまり、ＵＰｎＰサービスを利用することができる。
そして、上記により、起動の度に、ＵＰｎＰデバイスアプリケーション５が要求先アドレスを動的に変更する場合にも対応可能である。
【００５５】
［第２の実施形態］
次に、第２の実施形態によるネットワークシステムについて説明する。第１の実施形態では、ネットワーク制御装置３がＵＰｎＰデバイスアプリケーション５を起動し、起動されたＵＰｎＰデバイスアプリケーション５を実行するデバイスアプリケーション実行手段５１によりＵＰｎＰデバイスディスクリプションを送信している。本第２の実施形態では、ネットワーク制御装置３によりＵＰｎＰデバイスディスクリプションを送信する。以下では、第１の実施形態との相違点を中心に説明する。
【００５６】
本実施形態のネットワークシステムの接続構成は、図１に示す第１の実施形態と同様である。
図１３は、本実施形態の端末装置２の構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、図２に示す第１の実施形態による端末装置２と同一の部分には同一の符号を付し、その説明を省略する。図１３に示す端末装置２が図２に示す第１の実施形態の端末装置２と異なる点は、最新デバイス記述情報送信手段３３２の代わりに、デバイス記述情報送信手段３３４が設けられている点である。また、本実施形態の端末装置２において、アプリケーション情報保持手段３０には、アプリケーション記述情報３１−ｉ（ｉ＝１〜ｎ）として、ＵＰｎＰデバイスアプリケーション５−ｉのＵＰｎＰデバイスディスクリプションが記憶されている。アプリケーション記述情報５３−ｉには、ＵＰｎＰサービスディスクリプションが少なくとも含まれていればよい。デバイス記述情報送信手段３３４は、最新のＵＰｎＰデバイスディスクリプションをアプリケーション情報保持手段３０から読み出して連携元端末装置１の連携アプリケーション実行手段１１に送信する。
【００５７】
図１４は、本実施形態によるネットワークシステムのシーケンス図である。同図におけるステップＳ２０１〜Ｓ２０６までの処理は、図３に示す第１の実施形態によるステップＳ１０１〜Ｓ１０６までの処理と同様である。
【００５８】
ステップＳ２０７において、ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、存在アナウンスメッセージＭ１０６を受信すると、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａのデバイス記述情報送信手段３３４−ａは、ＵＰｎＰデバイスアプリケーション５−１−ａが起動されたことを存在アナウンスメッセージＭ１０６により検出すると、アプリケーション情報保持手段３０−ａに記憶されているアプリケーション記述情報３１−１−ａを特定する。通信代行手段３３−ａのデバイス記述情報送信手段３３４−ａは、この特定したアプリケーション記述情報３１−１−ａからＵＰｎＰデバイスディスクリプションを読み出し、読み出したＵＰｎＰデバイスディスクリプションを、ステップＳ２０４において受信したディスクリプション要求メッセージに対する応答メッセージとして送信する。この応答メッセージは、図８に示すディスクリプション要求応答メッセージＭ１０９と同様である。
ステップＳ２０８及びＳ２０９の処理は、図３に示す第１の実施形態によるステップＳ１１０〜Ｓ１１１の処理と同様である。
【００５９】
［第３の実施形態］
第３の実施形態においては、連携可能なＵＰｎＰデバイスアプリケーション５が複数の端末装置２に実装されている場合に、負荷が分散されるように、連携先のＵＰｎＰデバイスアプリケーション５を決定する。本実施形態のネットワークシステムの接続構成は、図１に示す第１の実施形態と同様である。
【００６０】
図１５は、本実施形態による端末装置２の機能構成を示すブロック図であり、本発明と関係する機能ブロックのみ抽出して示してある。同図において、図２に示す第１の実施形態による端末装置２と同一の部分には同一の符号を付し、その説明を省略する。
同図において、アプリケーション負荷分散手段３５は、複数の端末装置２に同一のデバイスタイプのＵＰｎＰデバイスアプリケーション５が実装されている場合に、各端末装置２の負荷状態に基づいていずれの端末装置２に実装されているＵＰｎＰデバイスアプリケーション５を起動するか決定する。アプリケーションリスト受信手段３６は、他のネットワーク制御装置３に対し、当該ネットワーク制御装置３が起動可能であり、当該ネットワーク制御装置３を備える端末装置２において実装されているＵＰｎＰデバイスアプリケーション５のリストを送信するよう要求する。アプリケーションリスト送信手段３７は、他のネットワーク制御装置３からの要求を受け、自端末装置２に実装されているＵＰｎＰデバイスアプリケーション５のリストを通知する。
【００６１】
リソース消費情報受信手段３８は、他のネットワーク制御装置３に対し、当該他のネットワーク制御装置３が実装されている他の端末装置２へリソース消費情報を通知するよう要求する。リソース消費情報とは、端末装置２において所定のＵＰｎＰデバイスアプリケーション５が起動された場合のリソース消費量と、当該端末装置２における現在の総リソース消費量である。リソース消費情報送信手段３９は、他のネットワーク制御装置３からの要求を受け、自端末装置２におけるリソース消費情報を取得して通知する。
【００６２】
アプリケーションパッケージ受信手段４１は、自端末装置２に実装されていないＵＰｎＰデバイスアプリケーション５をインストールするためのアプリケーションパッケージの送信を他のネットワーク制御装置３に要求する。アプリケーションパッケージ送信手段４２は、自端末装置２に実装されているＵＰｎＰデバイスアプリケーション５のアプリケーションパッケージを他のネットワーク制御装置３に送信する。
【００６３】
次に、本実施形態によるネットワークシステムの動作手順を説明する。
図１６は、本実施形態によるネットワークシステムのシーケンス図であり、図１７〜図２７は、図１６に示す動作手順のうち、ＵＰｎＰプロトコルに対応した通信内容の例を示す図である。なお、通信内容は手順の説明のための一例であり、ＵＰｎＰプロトコルで伝送すべき情報の一部を省略して記載している。
【００６４】
まず前提として、ＵＰｎＰコントロールポイントとして動作する連携元端末装置１の連携アプリケーション実行手段１１と、端末装置２−ａ上で動作するネットワーク制御装置３−ａ及びＵＰｎＰデバイスアプリケーション５−１−ａと、端末装置２−ｂ上で動作するネットワーク制御装置３−ｂ及びＵＰｎＰデバイスアプリケーション５−１−ｂとが存在するものとする。また、本実施形態においては、ＵＰｎＰデバイスアプリケーション５−１−ａおよび５−１−ｂは同じＵＰｎＰデバイスタイプに属し、同じ機能を提供するものとする。そして、ネットワーク制御装置３−ａは、ＵＰｎＰデバイスアプリケーション５−１−ａの実行ファイルのパス名や、ＵＰｎＰデバイスディスクリプション、ＵＰｎＰサービスディスクリプションなどの各種情報をアプリケーション保持手段３０−ａに、ネットワーク制御装置３−ｂは、ＵＰｎＰデバイスアプリケーション５−１−ｂの実行ファイルのパス名や、ＵＰｎＰデバイスディスクリプション、ＵＰｎＰサービスディスクリプションなどの各種情報をアプリケーション情報保持手段３０−ｂに、それぞれ事前に保持していることとする。
【００６５】
ステップＳ３０１：連携元端末装置１の連携アプリケーション実行手段１１が、ＬＡＮ６上の連携可能なＵＰｎＰデバイスを検索するために、検索メッセージＭ３０１をマルチキャストにより全ての端末装置２に送信する。図１７は、検索メッセージＭ３０１の記述例を示す。検索メッセージＭ３０１の記述は、図４に示す検索メッセージＭ１０１と同様である。
【００６６】
ステップＳ３０２−１：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、検索メッセージＭ３０１を受信し、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの存在応答手段３３１−ａは、検索メッセージＭ３０１から検索対象のデバイスタイプ「urn:schemas-upnp-org:device:T1」を読み出し、アプリケーション情報保持手段３０−ａに、読み出したデバイスタイプが記述されているアプリケーション記述情報３１−ｉ−ａ（ｉ＝１〜ｎ）が記憶さているかの検索を行う。ここでは、アプリケーション記述情報３１−１−ａが特定される。検索対象のデバイスタイプが記述されているアプリケーション記述情報３１−１−ａが見つかったため、本来デバイスアプリケーション実行手段５１−１−ａが送信するべき検索応答メッセージＭ３０２−１を、通信代行手段３３−ａの存在応答手段３３１−ａが送信する。検索応答メッセージＭ３０２−１には、ＵＰｎＰデバイスディスクリプションの取得先のアドレスおよびポート（以下、単に「アドレス」と記載）として、ネットワーク制御装置３−ａのアドレスを記述する。検索応答メッセージＭ３０２−１は、ネットワーク送受信手段３２−ａを介して連携元端末装置１に送信される。
【００６７】
図１８は、検索応答メッセージＭ３０２−１の記述例を示す図である。検索メッセージＭ３０２−１の記述内容は、図５に示す検索メッセージＭ１０１と同様である。
【００６８】
ステップＳ３０２−２：ネットワーク制御装置３−ｂにおいて、ステップＳ３０２−１と同様の処理を行なう。すなわち、ネットワーク制御装置３−ｂのネットワーク送受信手段３２−ｂは、検索メッセージＭ３０１を受信し、通信代行手段３３−ｂに当該メッセージを出力する。通信代行手段３３−ｂの存在応答手段３３１−ｂは、検索メッセージＭ３０１から検索対象のデバイスタイプを読み出し、アプリケーション情報保持手段３０−ｂに、読み出したデバイスタイプが記述されているアプリケーション記述情報３１−ｉ−ｂ（ｉ＝１〜ｍ）が記憶さているかの検索を行う。ここでは、アプリケーション記述情報３１−１−ｂが特定される。検索対象のデバイスタイプが記述されているアプリケーション記述情報３１−１−ｂが見つかったため、本来デバイスアプリケーション実行手段５１−１−ｂが送信するべき検索応答メッセージＭ３０２−２を、通信代行手段３３−ｂの存在応答手段３３１−ｂが送信する。検索応答メッセージＭ３０２−２には、ＵＰｎＰデバイスディスクリプションの取得先のアドレスとして、ネットワーク制御装置３−ｂのアドレスを記述する。検索応答メッセージＭ３０２−２は、ネットワーク送受信手段３２−ｂを介して連携元端末装置１に送信される。
【００６９】
図１９は、検索応答メッセージＭ３０２−２の記述例を示す図である。図１９において、検索応答メッセージＭ３０２の１及び３行目は検索メッセージＭ３０２−１と同様である。２行目の「LOCATION」には、ＵＰｎＰディスクリプションドキュメントのパス情報として、アプリケーション記述情報３１−１−ｂのパス情報「http://addr_NC3-b:bbbb/descriptionAP5-1-b.xml」が記述される。このパス情報に含まれるアドレス「addr_NC3-b:bbbb」は、ネットワーク制御装置３−ｂのアドレスである。検索応答メッセージＭ３０２−２の４行目には、通信代行手段３３−ｂがアプリケーション記述情報３１−１−ｂから読み出したurn「uuid:0002::urn:schemas-upnp-org:device:T1」が記述されている。
【００７０】
ステップＳ３０３：連携元端末装置１の連携アプリケーション実行手段１１は、ステップＳ３０２−１において受信した検索応答メッセージＭ３０２−１、および、ステップＳ３０２−２において受信した検索応答メッセージＭ３０２−２により、デバイスタイプが「urn:schemas-upnp-org:device:T1」であるＵＰｎＰデバイスが複数存在することを検出する。連携アプリケーション実行手段１１は、どちらかを選択する特別な理由はなく、ＵＰｎＰデバイスアプリケーション５−１−ａと連携することをこと決める。例えば、最も早く受信した検索応答メッセージにおいて検出したＵＰｎＰデバイスアプリケーション５との連携を決めても良く、複数受信した検索応答メッセージからランダムに１つを選択し、選択した検索応答メッセージにおいて検出したＵＰｎＰデバイスアプリケーション５との連携を決めても良い。
【００７１】
ステップＳ３０４：連携元端末装置１の連携アプリケーション実行手段１１は、連携するＵＰｎＰデバイスであるＵＰｎＰデバイスアプリケーション５−１−ａの詳細情報を取得するために、ディスクリプション要求メッセージＭ３０４を送信して、ＵＰｎＰディスクリプションドキュメントを要求する。ＵＰｎＰディスクリプションドキュメントの要求先は、応答メッセージＭ３０２−１の「LOCATION」によって指定されたパス情報のＵＲＬである。
【００７２】
図２０は、ディスクリプション要求メッセージＭ３０４の記述例を示す図である。ディスクリプション要求メッセージＭ３０４の記述内容は、図６に示すディスクリプション要求メッセージＭ１０４と同様である。
【００７３】
ステップＳ３０５：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ｂは、ディスクリプション要求メッセージＭ３０４を受信し、通信代行手段３３−ａに当該メッセージを出力する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、ディスクリプション要求メッセージＭ３０４から、要求されたＵＰｎＰディスクリプションドキュメントのパス情報を得ると、当該パス情報により、そのＵＰｎＰディスクリプションドキュメントに対応するＵＰｎＰデバイスアプリケーションが、ＵＰｎＰデバイスアプリケーション５−１−ａであることを特定する。通信代行手段３３−ａの最新デバイス記述情報送信手段３３２−ａは、アプリケーション起動手段３４−ａに、特定したＵＰｎＰデバイスアプリケーション５−１−ａを起動するように指示する。
【００７４】
アプリケーション起動手段３４−ａは、ＬＡＮ６上に他のネットワーク制御装置３（ネットワーク制御装置３−ｂ）が存在することを認識している場合、アプリケーション負荷分散手段３５−ａに、ＵＰｎＰデバイスアプリケーション５−１−ａを負荷分散して起動できるかどうかを問い合わせる。なお、ＵＰｎＰでは、ＵＰｎＰデバイスがネットワークに接続されたときに、自身のアドレスやデバイスの種類などを当該ネットワーク上に存在する装置へ通知するため、このＵＰｎＰのデバイス発見の仕組みに準ずることで、お互いの存在を知ることが可能である。例えば、図示しない記憶手段に、この受信したネットワーク制御装置３−ｂのアドレスと、ネットワーク制御装置であることを示すデバイスの種類とを対応づけて記録しておく。
【００７５】
アプリケーション負荷分散手段３５−ａは、アプリケーションリスト受信手段３６−ａに、他の端末装置２上で起動しているネットワーク制御装置３から起動可能なアプリケーションのリストを取得するように要求する。アプリケーションリスト受信手段３６−ａは、ネットワーク制御装置３−ｂに対してアプリケーションリスト要求メッセージＭ３０５を送信し、端末装置２−ｂに実装されている、ネットワーク制御装置３−ｂが起動可能なＵＰｎＰデバイスアプリケーション５のリストを要求する。
【００７６】
図２１は、アプリケーションリスト要求メッセージＭ３０５の記述例を示す図である。図２１に示す例では、ＨＴＴＰ（Hypertext Transfer Protocol）プロトコルを利用し、ＵＲＬとして「http://addr_NC3-b:cccc/APP_LIST」を指定することで、ＵＰｎＰデバイスアプリケーション５のリストをＸＭＬ（extensible markup language）ドキュメントとして受信することとしているが、取得の方法としてはこれに限定するものでなく、その他のプロトコル、記述法によって情報を取得してもかまわない。また、アプリケーションリスト要求メッセージＭ３０５で指定しているネットワーク制御装置３−ｂへの要求先のアドレスや、パス名は、ネットワーク制御装置３間でお互いにそれらの情報を送受信する仕組み備えており、予め要求先を知ることができるものとする。
【００７７】
ステップＳ３０６：ネットワーク制御装置３−ｂのネットワーク送受信手段３２−ｂは、アプリケーションリスト要求メッセージＭ３０５を受信し、アプリケーションリスト送信手段３７−ｂに当該メッセージを出力する。アプリケーションリスト送信手段３７−ｂは、アプリケーション情報保持手段３０−ｂを参照し、ネットワーク制御装置３−ｂが情報を保持しており、かつ、起動することができるＵＰｎＰデバイスアプリケーションのリストを作成し、アプリケーションリスト要求応答メッセージＭ３０６として返送する。アプリケーションリスト要求応答メッセージＭ３０６には、各アプリケーション５−１−ｂ〜５−ｍ−ｂについての、アプリケーション名（appName）、アプリケーションID（appID）、ＵＰｎＰデバイス情報（ＵＰｎＰデバイスディスクリプションドキュメントの<device>タグ中の情報）などを含む。これらの情報は、アプリケーション情報保持手段３０−ｂに記憶されているアプリケーション記述情報３１−１−ｂ〜３１−ｍ−ｂから読み出す。
【００７８】
図２２は、アプリケーションリスト要求応答メッセージＭ３０６の記述例を示す図である。図２２において、アルゴリズムリスト要求応答メッセージＭ３０６の１行目には、メッセージの種類が正常応答であることを示す情報が記述され、２、３行目には、記述形式が記述されている。４行目以下は、アプリケーション５−１−ｂ〜５−ｍ−ｂについての、アプリケーション名（appName）、アプリケーションＩＤ（appID）、ＵＰｎＰデバイス情報（deviceType、friendlyName）等のリストが記述されている。
【００７９】
ステップＳ３０７：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、アプリケーションリスト要求応答メッセージＭ３０６を受信し、アプリケーションリスト受信手段３６−ａに当該メッセージを出力する。アプリケーションリスト受信手段３６−ａは、アプリケーション負荷分散手段３５−ａへの応答として、アプリケーションリスト要求応答メッセージＭ３０６から取得した、ネットワーク制御装置３−ｂで起動可能であり、端末装置２−ｂに実装されているアプリケーションのリストを出力する。アプリケーション負荷分散手段３５−ａは、受信したリストに設定されているデバイスタイプ（deveiceType）から、ＵＰｎＰデバイスアプリケーション５−１−ａとまったく同じデバイスタイプであり、同じ機能を備えているＵＰｎＰデバイスアプリケーション５−１−ｂが、ネットワーク制御装置３−ｂにより起動可能なことを検出する。
【００８０】
ステップＳ３０８：ネットワーク制御装置３−ａのアプリケーション負荷分散手段３５−ａは、ＵＰｎＰデバイスアプリケーション５−１−ｂがネットワーク制御装置３−ｂで起動された場合のリソース消費量とネットワーク制御装置３−ｂの現在の総リソース消費量をネットワーク制御装置３−ｂに対して問い合わせるように、リソース消費情報受信手段３８−ａに対して要求する。なお、リソース消費量は、ＣＰＵ使用率を用いることができる。リソース消費情報受信手段３８−ａは、ネットワーク制御装置３−ｂに対してリソース消費情報通知要求メッセージＭ３０８を送信し、ＵＰｎＰデバイスアプリケーション５−１−ｂのリソース消費量と、ネットワーク制御装置３−ｂを備える端末装置２−ｂの現在の総リソース消費量とを要求する。
【００８１】
図２３は、リソース消費情報通知要求メッセージＭ３０８の記述例を示す図である。図２３において、リソース消費情報通知要求メッセージＭ３０８の１行目には、アプリケーションリスト要求応答メッセージＭ３０６から読み出した、ＵＰｎＰデバイスアプリケーション５−１−ｂのアプリケーションＩＤが記述され、当該アプリケーションＩＤにより特定されるＵＰｎＰデバイスアプリケーション５のリソース量を取得（GETメソッドを実行）するためのメッセージであることが記述されている。２行目には、ネットワーク制御装置３−ｂのアドレスが記述されている。
【００８２】
ステップＳ３０９：ネットワーク制御装置３−ｂのネットワーク送受信手段３２−ｂは、リソース消費情報通知要求メッセージＭ３０８を受信し、リソース消費情報送信手段３９−ｂに当該メッセージを出力する。リソース消費情報送信手段３９−ｂは、アプリケーション情報保持手段３０−ｂに保持している情報からＵＰｎＰデバイスアプリケーション５−１−ｂを起動したときのリソース消費量を取得するとともに、ネットワーク制御装置３−ｂが動作している端末装置２−ｂのリソース消費情報を参照して端末装置２−ｂにおける現在の総リソース消費量を取得し、それらのリソース消費情報をネットワーク制御装置３−ａに対するリソース消費情報通知要求応答メッセージＭ３０９として送信する。なお、ＵＰｎＰデバイスアプリケーション５−１−ｂを起動したときのリソース消費量は、過去にＵＰｎＰデバイスアプリケーション５−１−ｂが起動されたときのリソース消費量を履歴としてアプリケーション情報保持手段３０−ｂに記録しておき、その履歴から読み出したリソース消費量の平均により得ることができる。
【００８３】
図２４は、リソース消費情報通知要求応答メッセージＭ３０９の記述例を示す図である。図２４において、リソース消費情報通知要求応答メッセージＭ３０９の５行目には、現在の総リソース消費量（currentTotal）が記述され、７行目には、ＵＰｎＰデバイスアプリケーション５−１−ｂのＩＤ（appID）が記述され、８行目には、ＵＰｎＰデバイスアプリケーション５−１−ｂを起動したときのリソース消費量（usege）が記述されている。ここでは、ＵＰｎＰデバイスアプリケーション５−１−ｂを起動したときのリソース消費量が「usage=10」、端末装置２−ｂの現在の総リソース消費量が「currentTotal=5」であるとする。
【００８４】
ステップＳ３１０：ネットワーク制御装置３−ａのネットワーク送受信手段３２−ａは、リソース消費情報通知要求応答メッセージＭ３０９を受信し、リソース消費情報受信手段３８−ａに当該メッセージを出力する。リソース消費情報受信手段３８−ａは、アプリケーション負荷分散手段３５−ａへの応答として、リソース消費情報通知要求応答メッセージＭ３０９から読み出した、ＵＰｎＰデバイスアプリケーション５−１−ｂを端末装置２−ｂで起動した場合のリソース消費量と、端末装置２−ｂの現在の総リソース消費量を出力する。
【００８５】
アプリケーション負荷分散手段３５−ａは、ネットワーク制御装置３−ａが保持している情報からＵＰｎＰデバイスアプリケーション５−１−ａを起動したときのリソース消費量を取得するとともに、ネットワーク制御装置３−ａが動作している端末装置２−ａのリソース消費情報を参照して端末装置２−ａにおける現在の総リソース消費量を取得する。なお、ＵＰｎＰデバイスアプリケーション５−１−ａを起動したときのリソース消費量は、過去にＵＰｎＰデバイスアプリケーション５−１−ａが起動されたときのリソース消費量を履歴としてアプリケーション情報保持手段３０−ａに記録しておき、その履歴から読み出したリソース消費量の平均により得ることができる。ここでは、ＵＰｎＰデバイスアプリケーション５−１−ａを起動したときのリソース消費量が「usage=15」、端末装置２−ａの総リソース消費量が「currentTotal=20」であるとする。
【００８６】
アプリケーション負荷分散手段３５−ａは、ＵＰｎＰデバイスアプリケーション５−１−ａについてのリソース消費量、つまり、「usage=15」及び「currentTotal=20」と、ＵＰｎＰデバイスアプリケーション５−１−ｂについてのリソース消費量、つまり、「usage=10」、「currentTotal=5」とから、所定の判断基準により、ＵＰｎＰデバイスアプリケーション５−１−ａとＵＰｎＰデバイスアプリケーション５−１−ｂのどちらを起動するかを判断する。これは、各種情報を総合的に分析して決定するものであり、その判断基準は限定しない。例えば、ＵＰｎＰデバイスアプリケーション５を起動した後の総リソース消費量（＝「usage」＋「currentTotal」）が最も少ないＵＰｎＰデバイスアプリケーション５を選択したり、現在の総リソース消費量「currentTotal」が最も少ないＵＰｎＰデバイスアプリケーション５を選択したり、起動時のリソース消費量「usage」が最も少ないＵＰｎＰデバイスアプリケーション５を選択したりすることができる。ここでは、アプリケーション負荷分散手段３５−ａは、ＵＰｎＰデバイスアプリケーション５−１−ｂをネットワーク制御装置３−ｂにより起動させ、負荷を分散させることを決定する。
【００８７】
ステップＳ３１１：ネットワーク制御装置３−ａのアプリケーション負荷分散手段３５−ａは、ＵＰｎＰデバイスアプリケーション５−１−ｂをネットワーク制御装置３−ｂにより起動することを決定したため、アプリケーション起動手段３４−ａへの応答として、デバイスアプリケーション実行手段５１−１−ａを起動しないことを通知する。また、アプリケーション負荷分散手段３５−ａは、連携元端末装置１の連携アプリケーション実行手段１１から受信したディスクリプション要求メッセージＭ３０４に対する応答として、取得先をネットワーク制御装置３−ｂへと変更させるリダイレクト応答メッセージＭ３１１を返送する。リダイレクト応答メッセージＭ３１１は、ＨＴＴＰのリダイレクト機能を利用したものであるが、取得先の変更の通知は、その他のプロトコルを用いてもよい。
【００８８】
図２５は、リダイレクト応答メッセージＭ３１１の記述例を示す図である。図２５において、リダイレクト応答メッセージＭ３１１の１行目には、ＵＰｎＰデバイスアプリケーション５−１−ｂのＵＰｎＰディスクリプションドキュメントのパス情報「http//addr_NC3-b:bbbb/descriptionAP5-1-b」が記述されている。このパス情報に含まれるアドレス「addr_NC3-b:bbbb」は、ＵＰｎＰデバイスアプリケーション５−１−ｂのアドレスである。
【００８９】
ステップＳ３１２：連携元端末装置１の連携アプリケーション実行手段１１は、リダイレクト応答メッセージＭ３１１を受信すると、ＵＰｎＰディスクリプションドキュメントの要求先をネットワーク制御装置３−ｂに変更して、ディスクリプション要求メッセージＭ３１２を送信し、再度、ＵＰｎＰディスクリプションドキュメントを要求する。このとき、連携アプリケーション実行手段１１は、既に負荷分散を考慮した上でＵＰｎＰデバイスアプリケーション５を起動する端末装置２を決定しているため、ディスクリプション要求メッセージＭ３１２に、再度の負荷分散を制限する指示を設定する。具体的には、ＨＴＴＰのユーザー定義ヘッダとして「X-Redirect-Control: false」を加える。ネットワーク制御装置３−ｂは、「X-Redirect-Control」が「false」の場合、負荷分散のために他の端末装置２に転送する動作を行わない。
【００９０】
図２６は、ディスクリプション要求メッセージＭ３１２の記述例を示す図である。図２６において、ディスクリプション要求メッセージＭ３１２の１行目には、メッセージの種類が、リダイレクト応答メッセージＭ３１１の「LOCATION」から取得した「descriptionAP5-1-b.xml」で特定されるＵＰｎＰディスクリプションドキュメントを取得（GETメソッドを実行）するためのメッセージであることを示す情報が記述され、２行目には、リダイレクト応答メッセージＭ３１１の「LOCATION」から読み出したネットワーク制御装置３−ｂのアドレス「addr_NC3-b:bbbb」が記述されている。また、３行目には、転送禁止を示す内容が記述されている。
【００９１】
ステップＳ３１３：この手順以降は、起動すべきＵＰｎＰデバイスアプリケーション５−ｉがＵＰｎＰデバイスアプリケーション５−１−ｂとなるが、図３に示す第１の実施形態のステップＳ１０５以降と同様の手順を実行する。なお、図１４に示す第２の実施形態のステップＳ２０５以降と同様の手順を実行することでもよい。
【００９２】
なお、ステップＳ３１１において、ネットワーク制御装置３−ａのアプリケーション負荷分散手段３５−ａが、ＵＰｎＰデバイスアプリケーション５−１−ａの起動を決定した場合、図３に示す第１の実施形態のステップＳ１０５以降と同様の手順を実行する。なお、図１４に示す第２の実施形態のステップＳ２０５以降と同様の手順を実行することでもよい。
【００９３】
上述した本実施形態のように、当初ＵＰｎＰデバイスアプリケーション５が起動していない場合であっても、ＵＰｎＰコントロールポイントとしての連携アプリケーション実行手段１１が、その存在を発見し、ＵＰｎＰコントロールポイントが提供する機能、すなわち、ＵＰｎＰサービスを提供することができる。この際、同じ機能を提供するデバイスアプリケーション実行手段５１−１−ａとＵＰｎＰデバイスアプリケーション５−１−ｂが存在する場合に、各アプリケーションが動作する端末のリソース消費量を考慮して、任意の判断基準をもとに、最適な端末装置２上でアプリケーションを起動することが可能である。
【００９４】
なお、上記のステップＳ３０５〜Ｓ３０７を実行せず、ステップＳ３０８において、ネットワーク制御装置３−ａは、検索対象のデバイスタイプを設定したリソース消費情報通知要求メッセージを他のネットワーク制御装置３、つまり、ネットワーク制御装置３−ｂに送信することでもよい。そして、ステップＳ３０９において、ネットワーク制御装置３−ｂは、アプリケーション情報保持手段３０−ｂのアプリケーション記述情報３１−１−ｂ〜３１−１−ｍを検索して、検索対象のデバイスに合致するＵＰｎＰデバイスアプリケーション５−１−ｂを特定し、特定したＵＰｎＰデバイスアプリケーション５−１−ｂを起動したときのリソース消費量と、端末装置２−ｂにおける現在の総リソース消費量を記述したリソース消費情報通知要求応答メッセージを返送する。
【００９５】
また、各ネットワーク制御装置３のアプリケーションリスト受信手段３６は、上述したアプリケーションリスト要求メッセージＭ３０５を所定のタイミングで、例えば、ネットワーク制御装置３がＬＡＮ６に接続されたときに、あるいは、周期的に、ＬＡＮ６に接続されている他のネットワーク制御装置３に送信するようにしてもよい。そして、アプリケーションリスト要求メッセージＭ３０５を受信した他のネットワーク制御装置３は、ステップＳ３０６と同様の処理を行い、アプリケーションリスト要求応答メッセージＭ３０６を送信する。
【００９６】
このようにして、ネットワーク制御装置３間でアプリケーションリストを交換したのち、アプリケーションリスト要求応答メッセージを受信した各ネットワーク制御装置３のアプリケーションパッケージ受信手段４１は、アプリケーションリスト要求応答メッセージに記述されている各ＵＰｎＰデバイスアプリケーション５のデバイスタイプと、アプリケーション情報保持手段３０が記憶する各アプリケーション記述情報３１に記述されているデバイスタイプと照合する。以下では、ネットワーク制御装置３−ａが、ネットワーク制御装置３−ｂからアプリケーションリスト要求応答メッセージを受信した場合を例に記載する。
【００９７】
ネットワーク制御装置３−ａが、ネットワーク制御装置３−ｂにおいて起動可能なＵＰｎＰデバイスアプリケーション５−１−ｂ〜５−ｍ−ｂと同じ機能を有するＵＰｎＰデバイスアプリケーションを保持していない場合、つまり、アプリケーションリスト要求応答メッセージに記述されているデバイスタイプのうち、アプリケーション情報保持手段３０−ａに同じデバイスタイプが記述されたアプリケーション記述情報３１−１−ａ〜３１−ｎ−ａがない場合、ネットワーク制御装置３−ａのアプリケーションパッケージ受信手段４１−ａは、ネットワーク制御装置３−ｂに、自身が保持してないＵＰｎＰデバイスアプリケーションのデバイスタイプ、あるいは、そのＵＰｎＰデバイスアプリケーションのアプリケーション名及びアプリケーションＩＤを設定したアプリケーションパッケージ送信要求を送信する。
【００９８】
ネットワーク制御装置３−ｂのネットワーク送受信手段３１−ｂは、受信したアプリケーションパッケージ送信要求をアプリケーションパッケージ送信手段４２−ｂに出力する。アプリケーションパッケージ送信手段４２−ｂは、受信したデバイスタイプ、あるいは、アプリケーション名及びアプリケーションＩＤにより特定されるＵＰｎＰデバイスアプリケーション５−ｋ−ｂ（ｉ＝１〜ｍ）をインストールするためのアプリケーションパッケージを返送する。ネットワーク制御装置３−ａのネットワーク送受信手段３１−ａは、受信したアプリケーションパッケージをアプリケーションパッケージ受信手段４１−ａへ出力する。アプリケーションパッケージ受信手段４１−ａは、ネットワーク制御装置３−ａが動作する端末装置２−ａに受信したアプリケーションパッケージをインストールし、新たなＵＰｎＰデバイスアプリケーション５を実行するデバイスアプリケーション実行部５１を生成し、この新たなＵＰｎＰデバイスアプリケーション５を利用可能にする。ネットワーク制御装置３−ａのアプリケーションパッケージ受信手段４１−ａは、アプリケーションパッケージによってインストールしたＵＰｎＰデバイスアプリケーション５についてのアプリケーション記述情報３１を、アプリケーション情報保持手段３０−ａに書き込む。なお、アプリケーション記述情報３１は、アプリケーションパッケージに含まれる。
【００９９】
上述した本発明の実施形態によれば、ホームネットワークに接続されたパソコン上のアプリケーションとして動作して各種機能を提供するＵＰｎＰデバイスと通信することによって、ＵＰｎＰコントロールポイントが当該ＵＰｎＰデバイスの有する機能を連携して利用するネットワークシステムにおいて、所定のパソコン上にインストールされ、かつ、特定の機能を提供するＵＰｎＰデバイスアプリケーションが、ＵＰｎＰコントロールポイントから利用されていない場合は、当該ＵＰｎＰデバイスアプリケーションを起動することなく、当該ＵＰｎＰデバイスアプリケーションが処理すべきＵＰｎＰ通信を、ＵＰｎＰ通信代行機能を有するネットワーク制御装置に行なわせることができる。
【０１００】
一方、ＵＰｎＰコントロールポイントが当該ＵＰｎＰデバイスを利用したい場合は、ネットワーク制御装置によって、必要となる当該ＵＰｎＰデバイスを起動し、ＵＰｎＰ通信の処理を、起動したＵＰｎＰデバイスアプリケーションに移譲する。これにより、ＵＰｎＰコントロールポイントが、当該ＵＰｎＰデバイスアプリケーションの提供する機能を利用可能な状態に移行させることができる。さらには、ＵＰｎＰコントロールポイント、ＵＰｎＰデバイスアプリケーション共に、ＵＰｎＰ通信代行機能を有するネットワーク制御装置の存在を前提とした通信手順や機能を新たに備える必要がないという効果がある。つまり、ＵＰｎＰコントロールポイントは、ＵＰｎＰデバイスアプリケーションとの間で用いる通信プロトコルのみでネットワーク制御装置と通信し、ＵＰｎＰデバイスアプリケーションは、ＵＰｎＰコントロールポイントとの間で用いる通信プロトコルのみでネットワーク制御装置と通信することができる。
【０１０１】
さらに、上記により、必要になったＵＰｎＰデバイスアプリケーションが自動的に起動することから、ユーザーが必要となるＵＰｎＰデバイスアプリケーションを意識して起動する必要がなく、また全てのＵＰｎＰデバイスアプリケーションを予め起動しておく場合のような無駄なリソース消費も起こらないという効果がある。
また、ＬＡＮ上に複数のネットワーク制御装置が存在する場合には、各ネットワーク制御装置で起動するＵＰｎＰデバイスアプリケーションを、リソース消費量に基づいてネットワーク制御装置間で調停して決定することができる。よって、ＵＰｎＰデバイスアプリケーションが動作する各端末装置間で負荷を分散し、効率的な利用を可能にするという効果がある。
【０１０２】
なお、上述の映像連携元端末装置１及び端末装置２は、内部にコンピュータシステムを有している。そして、連携元端末装置１の連携アプリケーション実行手段１１、ならびに、端末装置２のネットワーク制御装置３及びアプリケーション実行手段５０の動作の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータシステムが読み出して実行することによって、上記処理が行われる。ここでいうコンピュータシステムとは、ＣＰＵ及び各種メモリやＯＳ、周辺機器等のハードウェアを含むものである。
【０１０３】
また、「コンピュータシステム」は、ＷＷＷシステムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【符号の説明】
【０１０４】
１…連携元端末装置
１１…連携アプリケーション実行手段
１２…ＵＰｎＰ連携アプリケーション
２…端末装置
３、３−ａ、３−ｂ…ネットワーク制御装置
３０…アプリケーション情報保持手段
３２…ネットワーク送受信手段
３３…通信代行手段
３３１…存在応答手段
３３２…最新デバイス記述情報送信手段
３３３…存在アナウンス手段
３３４…デバイス記述情報送信手段
３４…アプリケーション起動手段
３５…アプリケーション負荷分散手段
３６…アプリケーションリスト受信手段
３７…アプリケーションリスト送信手段
３８…リソース消費情報受信手段
３９…リソース消費情報送信手段
４１…アプリケーションパッケージ受信手段
４２…アプリケーションパッケージ送信手段
５…ＵＰｎＰデバイスアプリケーション
５０…アプリケーション実行手段
５１…デバイスアプリケーション実行手段
５２…記憶手段
【図１】
2010160748.tif 000003
【図２】
2010160748.tif 000004
【図３】
2010160748.tif 000005
【図４】
2010160748.tif 000006
【図５】
2010160748.tif 000007
【図６】
2010160748.tif 000008
【図７】
2010160748.tif 000009
【図８】
2010160748.tif 000010
【図９】
2010160748.tif 000011
【図１０】
2010160748.tif 000012
【図１１】
2010160748.tif 000013
【図１２】
2010160748.tif 000014
【図１３】
2010160748.tif 000015
【図１４】
2010160748.tif 000016
【図１５】
2010160748.tif 000017
【図１６】
2010160748.tif 000018
【図１７】
2010160748.tif 000019
【図１８】
2010160748.tif 000020
【図１９】
2010160748.tif 000021
【図２０】
2010160748.tif 000022
【図２１】
2010160748.tif 000023
【図２２】
2010160748.tif 000024
【図２３】
2010160748.tif 000025
【図２４】
2010160748.tif 000026
【図２５】
2010160748.tif 000027
【図２６】
2010160748.tif 000028
【図２７】
2010160748.tif 000029