プログラムインストールシステム及びプログラムインストール方法
【課題】接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることを目的とする。
【解決手段】第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、第一の装置は、装置情報送信手段と、プログラムバージョン情報送信手段と、プログラム受信手段と、第一のインストール手段と、を有し、第二の装置は、装置情報受信手段と、プログラムバージョン情報受信手段と、第一のプログラム取得手段と、第二のインストール手段と、判定手段と、第二のプログラム取得手段と、プログラム送信手段と、を有することによって前記課題を解決する。
【解決手段】第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、第一の装置は、装置情報送信手段と、プログラムバージョン情報送信手段と、プログラム受信手段と、第一のインストール手段と、を有し、第二の装置は、装置情報受信手段と、プログラムバージョン情報受信手段と、第一のプログラム取得手段と、第二のインストール手段と、判定手段と、第二のプログラム取得手段と、プログラム送信手段と、を有することによって前記課題を解決する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムインストールシステム及びプログラムインストール方法に関する。
【背景技術】
【0002】
従来から、ある装置(Aとする)に対して、ある装置(Bとする)が接続されたとき、接続された相手装置Bの種別や機能に応じて、適切なソフトウエア、プログラム、若しくはドライバが装置Aに自動的にインストールされるというシステムが知られている。
【0003】
プラグアンドプレイ機器として知られるものは、そのようなものの一例である。
【0004】
また、特許文献1によると、周辺機器が情報処理装置に接続されたとき、自動的にその組み合わせで動作するソフトウエアをインストール、或いは更新できる。
【0005】
【特許文献1】特開2000−330920号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の技術には、以下のような課題が存在する。
即ち、所謂コンピュータだけでなく、組込み機器においてもソフトウエアのインストール或いは更新が一般的となった現在、出荷後の機能増強が当然のようになっている。そして、PCを介さず、組込み機器同士を接続して、サービス或いは機能を提供することも一般的である。すると、ある装置Aに接続される、ある装置Bが機能増強されたとして、その機能増強分に対して、装置Aのソフトウエアは対応していないということがある。また、ある装置Bのバグ修正や、機能の追加に対して、装置Aのソフトウエアが対応していないこともある。
【0007】
本発明は前記の問題点に鑑みなされたもので、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることを目的とする。
【課題を解決するための手段】
【0008】
そこで、前記問題を解決するため、本発明は、第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、前記第一の装置は、自装置の装置情報を送信する装置情報送信手段と、自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信手段と、プログラムを受信するプログラム受信手段と、プログラムをインストールする第一のインストール手段と、を有し、前記第二の装置は、前記第一の装置から前記装置情報を受信する装置情報受信手段と、前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、前記プログラムをインストールする第二のインストール手段と、前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、前記プログラムを送信するプログラム送信手段と、を有することを特徴とする。
【0009】
係る構成とすることにより、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることができる。
【0010】
また、前記問題を解決するため、本発明は、プログラムインストール方法、プログラム、通信装置としてもよい。
【発明の効果】
【0011】
本発明によれば、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態について図面に基づいて説明する。
【0013】
(実施形態1)
図1は、プログラムインストールシステムの構成の一例を示すブロック図である。図1において、101はテレビ、102はカメラ、103はサーバ、104はプリンタ、105はネットワークである。
【0014】
テレビ101及びカメラ102は外部からプログラムをインストールし、実行することができる。そのような意味では、両者ともコンピュータでもよいが、本実施形態では、テレビ101及びカメラ102を用いて説明を行なう。
【0015】
サーバ103は、テレビ101用のプログラムと、カメラ102用のプログラムとをメモリ等に格納している。なお、両プログラムはテレビ101が、テレビ101のメモリ等に格納していてもよい。
【0016】
ネットワーク105は、テレビ101、カメラ102、サーバ103及びプリンタ104を連結する。ネットワーク105は、イーサネット(登録商標)のような有線手段でもよいし、無線手段であってもよい。ネットワーク105は、テレビ101、カメラ102、サーバ103及びプリンタ104を論理的に接続し、データ通信ができさえすれば何であってもよい。
【0017】
なお、テレビ101と、カメラ102との間をつなぐには、ネットワーク105によらず、直接接続してもよい。直接接続する手段として、USB(Universal Serial Bus)インタフェース、IEEE1394インタフェース等、これも様々な手段が考えられるが、論理的な接続が確保されていればよい。
【0018】
次に、テレビ101の内部構成を図2のブロック図を用いて説明する。図2は、テレビ101の内部構造の一例を示す図である。
【0019】
図2において、テレビ101は、装置全体を制御する中央処理装置(以下、CPUという)201と、各種動作プログラムを読み取り可能に格納したROM202と、プログラム動作中の一時的な値の保存に用いるRAM203と、を含む。また、テレビ101は、各種時間を計測するタイマ204と、テレビ画像及び各種設定メニュー等を、GUI部品を用いて表示するディスプレイ205と、外部装置と接続するためのUSB I/F206と、外部装置と接続するための無線I/F207と、を含む。
【0020】
また、テレビ101は、各種操作ボタン208と、各種設定データファイルを保存する不揮発性メモリであるFlashROM209と、外部装置と接続するネットワークI/F210とを含む。また、テレビ101は、各種動作プログラム及び設定データファイルを保存しておくハードディスク(以下、HDという)211を含む。また、テレビ101は、音声出力を行うスピーカ212と、CD−ROMメディアからプログラム及びデータを読み出すCD−ROMドライブ213と、を含む。
【0021】
図2は、テレビ101の内部構成を示す図であるが、図2に挙げたような構成要素は一般的なコンピュータにも見られるものである。カメラ102、サーバ103、プリンタ104についても、各々、その装置に特徴的な構成要素は持っているものの、図2に挙げた構成要素を同様に備えている。類似しているので、各々の装置の内部構成を示す図は省略する。
【0022】
次に、テレビ101、カメラ102及びサーバ103におけるプログラムインストール手順について、図3及び図4のフローチャートを用いて説明する。図3は、プログラムインストール処理の一例を示すフローチャート(その1)である。図4は、プログラムインストール処理の一例を示すフローチャート(その2)である。
【0023】
図3において、手順500は、カメラ102の動作手順である。また、手順520は、テレビ101の動作手順である。また、手順550は、サーバ103の動作手順である。なお、動作手順の制御の主体は、特に断らない限り、各装置のCPU201である。
【0024】
まず、カメラ102は、テレビ101と接続される(ステップS501)。接続形態は、ネットワーク105を介して接続されてもよいし、直接接続されてもよい。テレビ101は、カメラ102との接続を検知する(ステップS521)。
【0025】
接続時、カメラ102は、自装置の装置情報をテレビ101に送信する(ステップS502)。装置情報には、カメラ102の機種情報、カメラ102を特定するためのID及び動作プログラムのバージョン番号が含まれる。テレビ101は、装置情報を受信する(ステップS522)。
【0026】
テレビ101は、受信した装置情報に基づいて、現在実行しているプログラムが、接続してきたカメラ102に対応しているかどうかを判定する(ステップS523)。テレビ101は、対応装置リストに基づいて判定を行う。対応装置リストの例を図5に示す。図5は、対応装置リストの一例を示す図である。
【0027】
図5の対応装置リスト301は、テレビ101に現在インストールされているバージョンのプログラムがどのカメラ102、或いはどのプリンタ104に対応しているかを示すリストである。図5は、テレビ101に現在インストールされているバージョンのプログラムは、カメラ102については、機種1と、機種2と、に対応しており、機種3には未対応であることを示している。また、図5は、テレビ101に現在インストールされているバージョンのプログラムは、機種1についてはカメラ102のプログラムがVer.2以前のものに対して対応し、機種2については全てのバージョンに対して対応していることを示している。
【0028】
将来、機種2について機能増強があり得るなら全てのバージョンについて対応しているとは言えなくなるが、既に生産中止になっている等の理由によりバージョンアップの機会がないなら、全てのバージョンに対応していると言ってよい。また、Ver.XXX以降という指定もあり得る。これは、その機種についてはバージョンアップの機会がない、且つ、Ver.XXX以前は仕様が古いためサポートしていないという場合である。以上は、プリンタ104についても同様である。
【0029】
ここで述べているプログラムのバージョン番号とは、その装置の動作プログラム全体のバージョン番号を指している。従って、テレビ101が接続中のカメラ102に対応しているということは、テレビ101の動作プログラムが、カメラ102がテレビ101に対して要求する機能の全てに対応しているということである。
【0030】
ステップS523において、テレビ101は、テレビ101のプログラムがカメラ102に対応していないと判定すると、対応しているプログラムをCD−ROMドライブ213からインストールできるかどうかを調べる(ステップS524)。
【0031】
テレビ101は、プログラムを格納したCD−ROMメディアがCD−ROMドライブ213に入っており、プログラムのバージョン番号が示す対応装置リスト301が、接続中のカメラ102に対応していることを示していると、インストールできると判定する。なお、この場合、プログラムのバージョン番号毎に、対応装置リスト301が複数存在する。これらの対応装置リスト301は、RAM203に格納されていてもよいし、或いは、前記CD−ROMメディアにプログラムと共に格納されていてもよい。
【0032】
ステップS524において、インストールできると判定すると、テレビ101は、前記CD−ROMメディアからカメラ102に対応しているプログラムを取得する(ステップS527)。テレビ101は、単に接続中のカメラ102に対応しているだけでなく、できるだけ最新のプログラムを選択し、取得する。バグ修正や、他の機種のカメラ102が接続されたときの場合を考慮すると、このような動作は有効である。
【0033】
なお、対応プログラムはCD−ROMメディアに格納されていて、テレビ101は、CD−ROMメディアから対応プログラムを取得するよう説明したが、これは、格納場所をCD−ROMメディアに限定するものではない。格納場所としてのメディアは一般的な記憶媒体を使用してもよい。
【0034】
プログラムを取得した後、テレビ101は、取得したプログラムをインストールする(ステップS530)。また、テレビ101は、RAM203中の自装置用の対応装置リスト301を、インストールしたプログラムのバージョン番号に対応する対応装置リスト301で置き換える。
【0035】
次に、テレビ101は、カメラ102用の対応装置リストをRAM203内に持っているかどうかを判定する(ステップS531)。図6は、カメラ102用の対応装置リストの一例を示す図である。
【0036】
図6に示すカメラ102用の対応装置リスト400は、図5に示したテレビ101自身の対応装置リスト301と異なり、カメラ102の機種及びバージョン毎に用意された対応装置リスト402と、アドレステーブル401と、からなる。このような構成は、複数のカメラ102の機種及びバージョンに対応するためである。なお、アドレステーブル401では、カメラ102の機種及びバージョンと、対応装置リスト402へのアドレスとを関連付けている。
【0037】
ステップS531において、テレビ101は、対応装置リスト400を持っていると判定すると、カメラ102の装置情報と、対応装置リスト400とに基づいて、カメラ102に対してプログラムをインストールすべきかどうかを判定する(ステップS532)。
【0038】
テレビ101は、カメラ102の装置情報に含まれる、機種情報及びプログラムのバージョン番号(情報)に対応する、対応装置リスト402を参照する。そして、テレビ101は、この対応装置リスト402中の対応するテレビの欄に示される機種情報及びプログラムのバージョン番号の条件をテレビ101が満たしているか否かを判定する。前記条件をテレビ101が満たしていなければ、テレビ101は、動作プログラム(インストールされているプログラム)は、前記バージョン番号のプログラムより新しい、つまり、更新されていると判定する。そして、テレビ101は、更新された機能にカメラ102側を対応させるため、カメラ102用のプログラムをカメラ102に対してインストールすべきであると判定する。
【0039】
ここで、ステップS532の判定時に用いられるテレビ101のプログラムのバージョン番号としては、ステップS530でプログラムのインストールがあった場合は、このインストールされたプログラムのバージョン番号が用いられる。
【0040】
ステップS532において、メラ102に対してプログラムをインストールすべきであると判定すると、テレビ101は、カメラ102用のプログラムをCD−ROMドライブ213からインストールできるかどうかを調べる(ステップS533)。ステップS533の処理は、ステップS524の処理と同様である。
【0041】
インストールできると判定すると、テレビ101は、CD−ROMメディアからカメラ102用のプログラムを取得する(図4のステップS604)。続いて、テレビ101は、カメラ102に対して「プログラムインストール有り」メッセージを通知(送信)する(ステップS605)。
【0042】
カメラ102は、「プログラムインストール有り」メッセージを受け取ると(ステップS601においてY)、ステップS602に進む。
【0043】
テレビ101は、ステップS604において取得したプログラムをカメラ102に送信する(ステップS606)。テレビ101は、プログラムをカメラ102に送信する際に、送信するプログラムのバージョン番号も送信する。この情報は、次回接続時のステップS502の装置情報送信時に用いられる。
【0044】
カメラ102は、テレビ101より送信されたプログラム及びプログラムのバージョン番号を受信する(ステップS602)。カメラ102は、プログラムと同時に送られたプログラムのバージョン番号をメモリ等に記憶する。続いて、カメラ102は、前記プログラムをインストールする(ステップS603)。そして、カメラ102は、処理を終了する。
【0045】
この後、図示していないが、プログラムがインストールされた場合、テレビ101、カメラ102の各々で、インストールしたプログラムを起動する。このようにすることによって、インストールされたプログラムが提供する、何らかのサービス或いは機能の実行を行うことができる。
【0046】
ステップS523において、テレビ101は、テレビ101のプログラムがカメラ102に対応していると判定すると、新たなプログラムをインストールせず、ステップS531に進む。
【0047】
また、ステップS532において、テレビ101は、カメラ102にもプログラムをインストールすべきとは言えないと判定すると、カメラ102に対し「プログラムインストール無し」メッセージを通知する(ステップS534)。
【0048】
カメラ102は、「プログラムインストール無し」メッセージを受け取ると(ステップS601においてN)、プログラムをインストールすること無く、処理を終了する。
【0049】
次に、テレビ101等が、サーバ103からプログラムを取得し、インストールする手順について、図3及び図4のフローチャートを用いて説明する。
【0050】
ステップS524において、テレビ101は、テレビ101用のプログラムをCD−ROMドライブ213からインストールすることはできないと判定すると、サーバ103に対しテレビ101の装置情報を送信する(ステップS526)。装置情報には、テレビ101の機種情報、テレビ101を特定するためのID、及び動作プログラムのバージョン番号が含まれる。サーバ103は、前記装置情報を受信する(ステップS551)。
【0051】
サーバ103は、受信した装置情報に基づいて、テレビ101にインストールすべきプログラムは有るかどうかを判定する(ステップS552)。この判定処理は、ステップS532において、テレビ101がカメラ102に対してインストールすべきプログラムは有るかどうかを判定したのと同様である。つまり、サーバ103は、カメラ102に関する対応装置リスト400と同様な構成で、テレビ101に関する対応装置リスト(図示せず)をメモリ等に有しており、この対応装置リスト等に基づいて判定を行なう。
【0052】
ステップS552において、サーバ103は、テレビ101にインストールすべきプログラムが有ると判定すると、「プログラムインストール有り」メッセージを、テレビ101に通知する(ステップS553)。
【0053】
テレビ101は、「プログラムインストール有り」メッセージを受け取ると(ステップS528においてY)、ステップS529に進む。
【0054】
続いて、サーバ103は、テレビ101に対して、プログラムを送信する(ステップS554)。サーバ103は、プログラムをテレビ101に送信する際に、送信するプログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト301も送信する。
【0055】
テレビ101は、サーバ103より送信されたプログラム、プログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト301を受信する(ステップS529)。続いて、テレビ101は、受信したプログラムをインストールする(ステップS530)。また、テレビ101は、バージョン番号を受け取ったバージョン番号にセットし、対応装置リスト301を受け取った対応装置リスト301で更新する。
【0056】
ステップS552において、サーバ103は、テレビ101にインストールすべきプログラムは無いと判定すると、テレビ101に対して、「プログラムインストール無し」メッセージを通知する。
【0057】
テレビ101は、「プログラムインストール無し」メッセージを受け取ると(S538においてN)、プログラムをインストールすることなく、ステップS531に進む。
【0058】
ステップS531において、カメラ102用の対応装置リストをRAM203内に持っていないと判定すると、テレビ101は、ステップS607に進む。また、ステップS533において、カメラ102用のプログラムをCD−ROMドライブ213からインストールできないと判定すると、テレビ101は、ステップS607に進む。
【0059】
テレビ101は、サーバ103に対しカメラ102の装置情報を送信する(ステップS607)。サーバ103は、テレビ101より、カメラ102の装置情報を受信する(ステップS613)。
【0060】
サーバ103は、受信したカメラ102の装置情報と、対応装置リスト400とに基づいて、カメラ102にインストールすべきプログラムが有るかどうかを判定する(ステップS614)。なお、サーバ103は、対応装置リスト400をメモリ等に保持しているものとする。
【0061】
インストールすべきプログラムが有ると判定すると、サーバ103は、「プログラムインストール有り」メッセージをテレビ101に通知する(ステップS615)。テレビ101は、「プログラムインストール有り」メッセージを受け取ると(ステップS608においてY)、ステップS609に進む。
【0062】
続いて、サーバ103は、テレビ101に対して、カメラ102用のプログラムを送信する(ステップS616)。サーバ103は、カメラ102用のプログラムをテレビ101に送信する際に、送信するプログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト400も送信する。
【0063】
テレビ101は、サーバ103より送信されたプログラム、プログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト400を受信する(ステップS609)。ここで受け取った対応装置リスト400は、次回カメラ102がテレビ101に接続された時のステップS531の処理で用いられる。なお、ステップS531における判定で、常に、カメラ102用の対応装置リストを持っていない場合のフローチャート、つまり、ステップS607に進んでも構わなければ、ステップS615において、サーバ103は、対応装置リスト400を送る必要はない。
【0064】
テレビ101は、カメラ102に対して「プログラムインストール有り」メッセージを通知する(ステップS611)。また、テレビ101は、サーバ103より受信したカメラ102用のプログラムを、カメラ102に送信する(ステップS612)。テレビ102は、カメラ102用のプログラムをカメラ102に送信する際に、送信するプログラムのバージョン番号も送信する。
【0065】
ステップS614において、サーバ103は、カメラ102に対しインストールすべきプログラムはないと判定すると、テレビ101に対して、「プログラムインストール無し」メッセージを通知する(ステップS617)。テレビ101は、サーバ103より、「プログラムインストール無し」メッセージを受け取ると、ステップS610に進み、カメラ102に対して「プログラムインストール無し」メッセージを通知する(ステップS610)。
【0066】
図3及び図4を用いた説明では、カメラ102用のプログラムをテレビ101が備えていれば、カメラ102用のプログラムを、テレビ101がカメラ102に直接送信した。また、カメラ102用のプログラムをテレビ101が備えていなければ、テレビ101が、サーバ103に対してカメラ102用のプログラムの有無を問い合わせた。そして、サーバ103に、カメラ102用のプログラムが有れば、サーバ103からカメラ102用のプログラムを送ってもらった。しかしながら、必ずこのような構成としなければならない訳ではない。
【0067】
テレビ101がカメラ102に対しプログラムを供給する手順、或いは、サーバ103がテレビ101を通じてカメラ102に対しプログラムを供給する手順の一方だけを提供するようにしてもよい。その場合には、図3及び図4において不必要な判定及び処理は省略される。
【0068】
(実施形態2)
次に、所定の機能の起動時、その機能がサポートされていなければ、機能の提供を行うプログラムをインストールする動作手順について、図7及び図8のフローチャートを用いて説明する。図7は、機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その1)である。図8は、機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その2)である。
【0069】
図7において、手順1000は、カメラ102の動作手順である。また、手順1020は、テレビ101の動作手順である。また、手順1050は、サーバ103の動作手順である。なお、動作手順の制御の主体は、特に断らない限り、各装置のCPU201である。
【0070】
まず、カメラ102は、所定の機能を起動する(ステップS1001)。ここでは、カメラ102と、テレビ101とが既に接続されており、テレビ101と、プリンタ104とも既に接続されているとする。そして、ステップS1001では、カメラ102は、テレビ101を経由してプリンタ104までカメラ102内の画像を送信し、前記画像を印刷するという、印刷機能を起動したものとする。なお、各装置は既に接続されていると述べたが、これは説明の簡略化のためで、機能起動後に各装置を接続してもよい。
【0071】
機能の起動に伴い、カメラ102は、機能の実行を要求するメッセージ(機能要求メッセージ)をテレビ101に送信する(ステップS1002)。テレビ101は、カメラ102より機能要求メッセージを受け取る(ステップS1021)。ここで、メッセージを送信するとしたが、機能要求を通知する方法は他にも数多くある。また、使用するプロトコルとしては、ハードウエア的にも、ソフトウエア的にも、独自プロトコルを使ってもよいし、標準的なプロトコルを使ってもよい。どのようなプロトコルを使うとしても、そのプロトコルの中で要求された機能の識別が可能であればよい。
【0072】
例えば、独自バイナリデータフォーマットのある部分のデータを、要求機能を識別するコマンド値としてもよい。また、所謂クライアント−サーバ型のプロトコルにおいてTCP/IPプロトコルを用いるのであれば、ポート番号によって通信相手のアプリケーションを決定することもできる。この場合、アプリケーションの決定は機能の選択と捉えることができる。また、HTTPを用いて、URLを指定することによって、CGIやJava(登録商標)サーブレットの起動を要求するのであれば、URLが機能を識別するキーである。ここで、HTTPとは、Hyper Text Transfer Protocolの略である。また、URLとは、Uniform Resource Locatorの略である。また、CGIとは、Common Gateway Interfaceの略である。
【0073】
なお、本実施形態では、機能とは、接続された双方の装置において何らかのプログラムを実行することによって提供される「働き」と定義する。つまり、上述した実施形態において、機能要求と書いたが、テレビ101だけのプログラム実行をもって機能が提供され訳ではない。機能の選択、起動要求、或いはパラメータ指定等、カメラ102側の関与もある。ある機能を実行しようとするとき、その機能に関するプログラム(以下、機能プログラムという)を双方が持っていて、各々そのプログラムに基づいて、CPU等が動作することによって、機能が実現される。
【0074】
次に、カメラ102は、装置情報を送信する(ステップS1003)。装置情報には、カメラ102の機種情報、カメラ102を特定するためのID及びカメラ102が備える、前記要求した機能に関する機能プログラムのバージョン番号が含まれる。テレビ101は、前記装置情報を受信する(ステップS1022)。
【0075】
なお、ここでは機能プログラムのバージョン番号は、装置情報に含まれるとしたが、ステップS1002の機能要求メッセージ等に前記バージョン番号を含めることができるのであれば、そうしてもよい。この場合、装置情報に前記バージョン番号を含める必要はない。
【0076】
テレビ101は、要求された機能が提供できる態勢になっているかどうか、言い換えれば機能プログラムがインストールされているかどうかを判定する(ステップS1023)。
【0077】
ここで、機能が提供できる態勢になっていなければ、テレビ101は、以下に述べるように機能プログラムをインストールしようとする。しかしながら、この時点で、テレビ101は、カメラ102側の機能要求を拒否することはしないものとする。上述したように、例えば、機能の指定がバイナリデータフォーマットのコマンド値であれば、そのコマンドに対する拒否応答を返すまでは、要求の拒否にはならないので、テレビ101は、機能プログラムのインストールの処理を続行する。
【0078】
一方、機能の指定がポート番号指定の場合、通常、ポート番号に割り当てられたアプリケーションがなければ、その時点でテレビ101のトランスポートプロトコルレイヤがサービスの拒否をカメラ102に通知する。しかしながら、これでは、機能プログラムをインストールしてから機能の提供を行なうことができない。この問題を解決するため、本実施形態のテレビ101は、指定が予想されるポート番号に対しては予めダミーとなるアプリケーション(ダミーアプリケーション)を起動しておく。そして、トランスポートプロトコルレイヤで一旦、カメラ102からの機能要求を受け付けるようにしておく。そして、ダミーアプリケーションが、要求された機能を識別し、機能プログラムの存在を確認する。
【0079】
また、機能の指定がURLの場合も同様である。本実施形態のテレビ101は、指定されたURLに対し、特定の機能プログラムが割り当てられていなければ、ダミーのCGI、又はダミーのJava(登録商標)サーブレットを起動する。そして、ダミーのCGI、又はダミーのJava(登録商標)サーブレットが、要求された機能を識別し、機能プログラムの存在を確認するようにする。
【0080】
テレビ101等は、機能を識別する際に、カテゴリ若しくは詳細機能で識別する。そのために、テレビ101は、RAM203上に、図9に示す機能テーブル700を有している。図9は、機能テーブル700の一例を示す図である。
【0081】
機能テーブル700は、テレビ101に現在インストールされている機能プログラムの種類と、バージョン番号とを格納する。機能及び機能プログラムは、カテゴリ701及び詳細機能703で識別される。どちらによる指定も可能であり、どちらによる指定かは、機能を指定する際のプロトコルによる。例えば「印刷機能」であれば、カテゴリ701「印刷」の機能プログラムを指定したことになる。「画像印刷プロトコル1を用いた印刷機能」であれば、詳細機能703「画像印刷プロトコル1」の機能プログラムを指定したことになる。詳細機能703が示す機能プログラムは、実際のプログラムと1対1に対応している。それに対し、カテゴリ701が示す機能プログラムは、そのカテゴリ701に属する詳細機能703の集合体を指す。
【0082】
カテゴリ701の機能プログラムに対するバージョン番号がバージョン番号702である。詳細機能703の機能プログラムに対するバージョン番号がバージョン番号704である。バージョン番号702或いは704の欄が「−」であれば、その機能プログラムがインストールされていないことを示す。なお、機能テーブル700は、機能の分類の一例を示しており、他の分類方法等を用いて機能を分類し、データを格納してもよい。例えば、カテゴリ701の下に、粒度がより細かいサブカテゴリを機能テーブル700に含めるようにしてもよい。
【0083】
ステップS1023において、テレビ101は、識別した機能プログラムがインストールされていると判定すると、その機能プログラムがカメラ102に対応しているかどうかを判定する(ステップS1024)。
【0084】
この判定のため、機能テーブル700には、対応装置リストアドレス705が存在する。対応装置リストアドレス705には、各機能プログラムに対応する対応装置リスト301へのアドレスが格納されている。上述した実施形態では、対応装置リスト301は、テレビ101にインストールされている全体のプログラムに対応する対応装置のリストを示していた。しかしながら、本実施形態の対応装置リスト301は、各機能プログラムに対応しており、複数存在する。
【0085】
テレビ101は、機能プログラムに対応する対応装置リストアドレス705が指す対応装置リスト301の内容と、受信したカメラ102の装置情報と、に基づいて、機能プログラムがカメラ102に対応しているかどうかを判定する。
【0086】
ステップS1024において、テレビ101は、機能プログラムがカメラ102に対応していると判定すると、機能プログラムの更新チェックをすべきかどうかを判定する(ステップS1025)。
【0087】
この判定のため、機能テーブル700には、更新チェックフラグ706が存在する。更新チェックフラグ706が「○」であれば、テレビ101は、機能プログラムの更新チェックをすべきであると判定する。一方、更新チェックフラグ706が「×」であれば、テレビ101は、機能プログラムの更新チェックをすべきでないと判定する。更新チェックフラグ706は機能プログラム毎に例えばユーザ等が任意に設定できる。
【0088】
ステップS1025において、テレビ101は、更新チェックをすべきでない判定すると、要求された機能は実行可能であることを示す「機能実行可」メッセージをカメラ102に通知することで応答する(ステップS1031)。続いて、テレビ101は、要求された機能の機能プログラムを実行することで、実際に機能を提供する(ステップS1032)。そして、テレビ101は、処理を終了する。
【0089】
カメラ102は、テレビ101より受け取ったメッセージが「機能実行可」か、どうかを判定する(ステップS1004)。「機能実行可」メッセージを受け取ったと判定すると、カメラ102は、起動した機能(ここでは「印刷機能」)の機能プログラムを引き続き実行する(ステップS1005)。そして、カメラ102は処理を終了する。
【0090】
ステップS1023において、テレビ101は、識別した機能プログラムがインストールされていないと判定すると、ステップS1026に進む。また、ステップS1024において、テレビ101は、機能プログラムがカメラ102に対応していないと判定すると、ステップS1026に進む。また、ステップS1025において、テレビ101は、更新チェックをすべきであると判定すると、ステップS1026に進む。つまり、テレビ101は、サーバ102に対して、インストールすべきプログラムを有しているかどうかの問い合わせの処理に移行する。
【0091】
なお、テレビ101は、図3のフローチャートにおいて説明したように、プログラムをCD−ROMドライブ213からインストールできるかどうかをチェックするようにしてもよい。但し、本実施形態では、説明の簡略化のため、この処理の説明は省略する。
【0092】
テレビ101は、サーバ103に対して、カメラ102より要求された、テレビ101の機能についての情報(以下、テレビ機能情報という)を送信する(ステップS1026)。サーバ103は、テレビ機能情報を受信する(ステップS1051)。テレビ機能情報には、機能或いは機能プログラムを特定するためのID若しくは名前及びテレビ101の機能プログラムのバージョン番号が含まれる。テレビ101は、これらの情報を、機能テーブル700のバージョン番号702若しくは704より得る。機能プログラムがインストールされていない場合、テレビ101は、機能プログラムがインストールされていないことを示す所定のバージョン番号をサーバ103に送信する。
【0093】
次に、テレビ101は、サーバ103に対し自装置に関する装置情報(以下、テレビ装置情報という)を送信する(ステップS1027)。サーバ103は、テレビ装置情報を受信する(ステップS1052)。テレビ装置情報には、テレビ101の機種情報及びテレビ101を特定するためのIDが含まれる。
【0094】
次に、テレビ101は、サーバ103に対しカメラ102に関する機能情報(以下、カメラ機能情報という)を送信する(ステップS1028)。サーバ103は、カメラ機能情報を受信する(ステップS1053)。カメラ機能情報には、機能或いは機能プログラムを特定するためのID若しくは名前及びカメラ102の機能プログラムのバージョン番号が含まれる。テレビ101は、機能プログラムのバージョン番号を、例えば、ステップS1022において受信した装置情報から得る。また、テレビ101は、機能を特定するためのID若しくは名前を、例えば、ステップS1026において送信したテレビ機能情報から得て使用してもよい。
【0095】
機能のID若しくは名前が、テレビ101と、カメラ102との機能テーブル700や、後述する機能プログラムテーブル800等で共通して用いられるものであるならば、テレビ101は、ステップS1026の機能情報に含まれるものを使用することができる。こうした場合、機能のID若しくは名前を、カメラ102からテレビ101に対して送る必要がなくなる。テレビ101と、カメラ102との間で異なる機能のID若しくは名前を用いなければならないなら、図示しないが、カメラ102からテレビ101に機能のID若しくは名前の情報が送られ、ステップS1028において、その情報が用いられ、送信される。
【0096】
次に、テレビ101は、サーバ103に対しカメラ102に関する装置情報(以下、カメラ装置情報という)を送信する(ステップS1033)。サーバ103は、カメラ装置情報を受信する(ステップS1057)。カメラ装置情報には、カメラ102の機種情報及びカメラ102を特定するためのIDが含まれる。
【0097】
次に、サーバ103は、テレビ装置情報及びテレビ機能情報等に基づいて、テレビ101にインストールすべきプログラムが有るかどうかを判定する(ステップS1054)。この処理を行うために、サーバ103は、RAM203内に図10で示される機能プログラムテーブル800を備える。図10は、機能プログラムテーブル800の一例を示す図である。
【0098】
機能プログラムテーブル800は、テレビ101用の機能プログラムに関するテーブルであり、各機能プログラムにつき、以下の情報を格納する。つまり、機能プログラムテーブル800は、機能プログラムの名称を表すプログラム名801(機能プログラムのIDでもよい)、カテゴリ802、サブカテゴリ803、機能プログラムのサーバ103内の格納場所を示す格納場所804、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムの集合体であることを示す複合フラグ805、バージョン番号806、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムがテレビ101に対応しているか否かを示す対応テレビ装置リストへのアドレスを指す対応テレビ装置リストアドレス807、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムが、接続された装置が持つ対応する機能プログラムのどのバージョンに対応しているかを示す対応装置リストへのアドレスを指す対応装置リストアドレス808に関する情報を格納する。ここで、前記対応装置リストのフォーマットは、対応装置リスト301と同様である。
【0099】
対応テレビ装置リスト(図示せず)には、機能プログラムが動作可能なテレビ101の機種のリストが含まれる。このリストには、機能プログラムがその環境で動作可能な、テレビ101の全体プログラムのバージョン番号が含まれていてもよい。
【0100】
機能プログラムテーブル800に対する機能プログラムの指定は詳細機能レベルでもよいし、カテゴリレベルでもよい。それは、「画像印刷プロトコル1」851と、「印刷」853と、が同一レベルで機能プログラムテーブル800に格納されているためである。
【0101】
ステップS1054において、サーバ103は、テレビ101に機能プログラムがインストールされていないのに、サーバ103には機能プログラムが存在する場合、インストールすべきプログラムが有ると判定する。また、ステップS1054において、サーバ103は、テレビ101に機能プログラムがインストールされているが、そのバージョンよりも新しいバージョンがサーバ103に存在する場合、インストールすべきプログラムが有ると判定する。どちらの場合もテレビ装置情報が、対応テレビ装置リストアドレス807が指す対応テレビ装置リストの示す条件を満たし、カメラ装置情報及びカメラ機能情報が、対応装置リストアドレス808が指す対応装置リストの示す条件を満たしていなければならない。
【0102】
ステップS1054において、サーバ103は、インストールすべきプログラムが有ると判定すると、テレビ101に対して、「プログラムインストール有り」メッセージを通知する(ステップS1055)。テレビ101は、「プログラムインストール有り」メッセージを受けると、ステップS1030に進む。
【0103】
続いて、サーバ103は、格納場所804が指す場所から機能プログラムを取得し、テレビ101に対して、取得した機能プログラムを送信する(ステップS1056)。
【0104】
複合フラグ805が「○」の場合、機能プログラムは、複数のプログラムからなっている。この場合、格納場所804は、格納場所を指すのではなく、図11に示す複合プログラムテーブル900を指すようになっている。図11は、複合プログラムテーブル900の一例を示す図である。なお、図11では、印刷プログラムVer.1.5に含まれる機能プログラムについてのテーブルの例を示している。
【0105】
サーバ103は、複合プログラムテーブル900から各機能プログラムの格納場所を知ることができ、複数のプログラムを取得し、テレビ101に送信できる。
【0106】
なお、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号も送信する。必要に応じて、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号に対応する対応装置リスト301を送信してもよい。
【0107】
テレビ101は、サーバ103より送信された機能プログラム、及び機能プログラムのバージョン番号を受信する(ステップS1030)。なお、テレビ101は、必要に応じて、サーバ103より送信された機能プログラムのバージョン番号に対応する対応装置リスト301も受信する。続いて、テレビ101は、受信した機能プログラムをインストールする(図8のステップS1106)。
【0108】
ステップS1054において、サーバ103は、テレビ101に対しインストールすべきプログラムは無いと判定すると、テレビ101に対し「プログラムインストール無し」メッセージを通知する(ステップS1113)。
【0109】
テレビ101は、「プログラムインストール無し」メッセージを受け取ると、ステップS1107に進む。
【0110】
サーバ103は、機能プログラムの送信を行った後、カメラ102に対してインストールすべきプログラムは有るかどうかを判定する(ステップS1114)。
【0111】
機能プログラムテーブル800は、テレビ101用の機能プログラムに関するテーブルだが、サーバ103は、このテーブルと同様なカメラ102用の機能プログラムテーブルをRAM203に記憶している。サーバ103は、このテーブルを用いて、ステップS1054と同様に、カメラ102に対しインストールすべきプログラムは有るかどうかを判定する。
【0112】
即ち、カメラ102に機能プログラムがインストールされていないのに、サーバ103に機能プログラムが存在する場合、サーバ103は、ステップS1114において、カメラ102に対してインストールすべきプログラムが有ると判定する。又は、カメラ102にインストールされている機能プログラムより新しいバージョンの機能プログラムがサーバ103に存在する場合、サーバ103は、ステップS1114において、カメラ102に対してインストールすべきプログラムが有ると判定する。
【0113】
当然どちらの場合もカメラ102の装置情報が、対応カメラ装置リストアドレスが指す対応カメラ装置リストの示す条件を満たし、且つ、カメラ102の装置情報が、対応装置リストアドレス808が指す対応装置リストの示す条件を満たしていなければならない。なお、ここで、対応カメラ装置リストは、図示していないが、対応テレビ装置リストアドレス807に対応する対応装置リストである。
【0114】
対応カメラ装置リストは、カメラ102の機種情報と、機能プログラムのバージョン番号とに対応する装置のリストである。対応カメラ装置リストには、カメラ102と連携動作が可能な相手装置(ここではテレビ101)の機種情報と、機能プログラムのバージョン番号とについての条件が記述されている。ステップS1114における判定の際に用いられるテレビ101の機能プログラムのバージョン番号は、ステップS1106において、機能プログラムのインストールがあった場合は、その機能プログラムのバージョン番号が用いられる。
【0115】
カメラ102が機能を起動しようとしたときに、カメラ102に、前記機能を使用するための機能プログラムがインストールされていないということはあり得る。ステップS1056及びステップS1030等でサーバ103より送信された機能プログラムがテレビ101にインストールされたとする。そして、前記機能プログラム(又は機能)を使用するための、カメラ102向けの機能プログラムがサーバ103等に用意されているとする。このとき、前記機能プログラムは、まだカメラ102にインストールされていないので、この機能プログラムをカメラ102にインストールする必要がある。
【0116】
カメラ102にインストールする機能プログラムが存在する場合、サーバ103は、テレビ101に対して「プログラムインストール有り」メッセージを通知する(ステップS1115)。インストールする機能プログラムが存在しない場合、サーバ103は、テレビ101に対して「プログラムインストール無し」メッセージを通知する(ステップS1117)。
【0117】
「プログラムインストール有り」メッセージが通知されると、テレビ101は、ステップS1108に進む。「プログラムインストール無し」メッセージが通知されると、テレビ101は、ステップS1112に進み、カメラ102に対し「プログラムインストール無し」メッセージを通知する(ステップS1112)。
【0118】
ステップS1115の処理に続いて、サーバ103は、テレビ101に対してカメラ102用の機能プログラムを送信する(ステップS1116)。なお、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号も送信する。必要に応じて、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号に対応する対応装置リスト301を送信してもよい。
【0119】
テレビ101は、サーバ103より送信された機能プログラム、及び機能プログラムのバージョン番号を受信する(ステップS1108)。
【0120】
続いて、テレビ101は、カメラ102に対し「プログラムインストール有り」メッセージを通知する(ステップS1109)。このメッセージが通知されると、カメラ102は、ステップS1102に進む。
【0121】
ステップS1109の処理に続いて、テレビ101は、カメラ102に対して機能プログラムを送信する(ステップS1110)。カメラ102は、機能プログラムを受信する(ステップS1102)。
【0122】
テレビ101は、ステップS1106において、自装置に機能プログラムをインストールしたかどうかを判定する(ステップS1118)。
【0123】
テレビ101は、インストールしたと判定すると、インストールした機能(ここでは印刷機能)を再起動すべく、インストールした機能プログラムを再起動する(ステップS1119)。テレビ101は、インストールしていないと判定すると、ステップS1119の処理をスキップする。
【0124】
最後に、テレビ101は、機能を実行する(ステップS1111)。そして、テレビ101は、処理を終了する。
【0125】
カメラ102は、受信した機能プログラムをインストールする(ステップS1103)。続いて、カメラ102は、インストールした機能(ここでは印刷機能)を再起動すべく、その機能プログラムを再起動する(ステップS1104)。
【0126】
最後に、カメラ102は、機能を実行する(ステップS1105)。そして、カメラ102は、処理を終了する。
【0127】
ステップS1101において、「プログラムインストール有り」メッセージが通知されなかった場合、カメラ102は、機能プログラムをインストールすることなく、ステップS1105に移る。
【0128】
次に、プログラムをインストール、アンインストールする動作手順について、以下に示すフローチャートを用いて説明する。
【0129】
図12は、プログラムをインストールするときのインストール手順の一例を示すフローチャートである。図12に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0130】
プログラムをインストールするとき、テレビ101は、そのインストールが永続的なインストールかどうかを問い合わせるダイアログをディスプレイ205に表示する(ステップS1201)。
【0131】
ユーザは操作ボタン208を使用して、ダイアログに応答する。ダイアログの応答結果に基づいて、テレビ101は、永続的なインストールか否かを判定する。テレビ101は、永続的なインストールであると判定すると(ステップS1202においてY)、ステップS1203に進む。テレビ101は、永続的なインストールでないと判定すると(ステップS1202においてN)、ステップS1206に進む。
【0132】
ステップS1203において、テレビ101は、プログラムに関する永続インストールリスト(永続インストールであると登録された装置のリスト)の装置登録個数が所定の最大数を超えたかどうかを判定する(ステップS1203)。
【0133】
テレビ101は、最大数を超えていないと判定すると(ステップS1203においてN)、接続されている相手装置を永続インストールリストに登録する(ステップS1204)。一方、テレビ101は、最大数を超えていたと判定すると(ステップS1203においてY)、その旨を表示する(ステップS1205)。
【0134】
最後に、テレビ101は、インストールを行ったプログラムのリストであるインストールリストにプログラムを登録する(ステップS1206)。そして、テレビ101は、図12に示す処理を終了する。なお、テレビ101は、プログラムをインストールするステップ(又は処理)も当然実行するが、図12では省略している。
【0135】
次に、接続解除手順1について、図13のフローチャートを用いて説明する。図13は、接続解除手順1の一例を示すフローチャートである。図13に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0136】
装置同士の接続が解除されたとき、テレビ101は、インストールリストを見て、インストールされたプログラムで以下の処理が未処理のプログラムが残っているかどうかを判定する(ステップS1301)。
【0137】
テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていないと判定すると(ステップS1301においてN)、図13に示す処理を終了する。テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていると判定すると(ステップS1301においてY)、S1302に進む。
【0138】
ステップS1302において、テレビ101は、処理対象となるプログラムをインストールリストから取得する(ステップS1302)。続いて、テレビ101は、取得したプログラムに関して接続解除する相手装置は永続インストールリストに登録されているかどうかを判定する(ステップS1303)。
【0139】
テレビ101は、登録されていると判定すると(S1303においてN)、ステップS1304に進む。ステップS1304において、テレビ101は、処理対象となるプログラムをアンインストールする。一方、テレビ101は、登録されていないと判定すると、(S1303においてY)、次のプログラムへの処理に移るべく、ステップS1301に戻る。
【0140】
次に、装置登録変更手順について、図14のフローチャートを用いて説明する。図14は、装置登録変更手順の一例を示すフローチャートである。図14に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0141】
まず、登録を変更しようとするプログラムをダイアログ等の所定のユーザインタフェースを用いてユーザが選択すると、テレビ101は、ユーザが選択したプログラムを識別する情報を取得する(ステップS1401)。
【0142】
テレビ101は、前記情報に基づいて、ユーザが選択したプログラムに関する永続インストールリストの内容を表示する(ステップS1402)。
【0143】
次に、ユーザが処理方法を選択すると、テレビ101は、ユーザが選択した処理方法を識別する情報を取得する。そして、テレビ101は、前記情報に基づいて、ユーザが選択した処理が、装置の登録かどうかを判定する(ステップS1403)。
【0144】
テレビ101は、ユーザが選択した処理が、装置の登録であると判定すると(ステップS1403においてY)、ステップS1404に進む。一方、テレビ101は、ユーザが選択した処理が、装置の登録でないと判定すると(ステップS1403においてN)、ステップS1408に進む。ここで、テレビ101は、ユーザが選択した処理が、装置の登録でないと判定すると装置の登録削除であると判断する。
【0145】
ステップS1404において、テレビ101は、永続インストールリストの装置登録個数が最大数を超えたかどうかを判定する(ステップS1404)。テレビ101は、永続インストールリストの装置登録個数が最大数を超えたと判定すると(ステップS1404においてY)、ステップS1407に進む。一方、テレビ101は、永続インストールリストの装置登録個数が最大数を超えていないと判定すると(ステップS1404においてN)、ステップS1405に進む。
【0146】
ステップS1405において、ユーザが、登録しようとする装置(登録装置)を選択すると、テレビ101は、ユーザが選択した登録装置を識別する情報を取得する。ユーザは、現在接続中の装置の中から登録装置を選択してもよいし、過去接続したことがある装置をテレビ101が記憶しておいて、その中から登録装置を選択するようにしてもよい。
【0147】
ステップS1406において、テレビ101は、前記情報に基づいて、ユーザによって選択された装置を永続インストールリストに登録する(ステップS1406)。そして、テレビ101は、図14に示す処理を終了する。
【0148】
一方、ステップS1407において、テレビ101は、永続インストールリストの装置登録個数が最大数を超えている旨を表示する。そして、テレビ101は、図14に示す処理を終了する。
【0149】
ステップS1408において、テレビ101は、ユーザが選択した、永続インストールリストの中から登録を削除する装置を識別する情報を取得する。続いて、ステップS1409において、テレビ101は、前記情報に基づいて、ユーザによって選択された装置を永続インストールリストから削除する。そして、テレビ101は、図14に示す処理を終了する。
【0150】
次に、接続解除手順2について、図15のフローチャートを用いて説明する。図15は、接続解除手順2の一例を示すフローチャートである。図15に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0151】
図12及び図13に示した手順では、インストール時に永続インストールかどうかを判断し、決定していたが、図15の手順では、接続解除時に永続インストールかどうかを判断し、決定している。
【0152】
なお、図15の手順の場合も、インストール手順ステップS1206において説明したインストールリストへのプログラム登録はなされているものとする。
【0153】
装置同士の接続が解除されたとき、テレビ101は、インストールリストを見て、インストールされたプログラムで以下の処理が未処理のプログラムが残っているかどうかを判定する(ステップS1501)。
【0154】
テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていないと判定すると(ステップS1501においてN)、図15に示す処理を終了する。テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていると判定すると(ステップS1501においてY)、S1502に進む。
【0155】
ステップS1502において、テレビ101は、処理対象となるプログラムをインストールリストから取得する。続いて、テレビ101は、前記プログラムに関して、接続解除する相手装置は永続インストールリストに登録されているかどうかを判定する(ステップS1503)。テレビ101は、相手装置が永続インストールリストに登録されていると判定すると(ステップS1503においてY)、ステップS1501に戻る。一方、テレビ101は、相手装置が永続インストールリストに登録されていないと判定すると(ステップS1503においてN)、ステップS1504に進む。
【0156】
ステップS1504において、テレビ101は、アンインストールしてよいかどうかをユーザに問い合わせるダイアログをディスプレイ205に表示する。ユーザの応答が「アンインストールする」であった場合、テレビ101は、アンインストールすると判定し、ステップS1506に進む。一方、ユーザの応答が「アンインストールしない」であった場合、テレビ101は、アンインストールしないと判定し、ステップS1507に進む。
【0157】
ステップS1506において、テレビ101は、処理対象のプログラムをアンインストールし、ステップS1501に戻る。一方、ステップS1507において、テレビ101は、処理対象(処理中)のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えたかどうかを判定する。テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えたと判定すると(ステップS1507においてY)、ステップS1508に進む。一方、テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えていないと判定すると(ステップS1507においてN)、ステップS1509に進む。 ステップS1508において、テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えた旨を表示し、ステップS1506に進む。
【0158】
ステップS1509において、テレビ101は、接続解除しようとしていた相手装置を、処理対象のプログラムに関する永続インストールリストに登録し、ステップS1501に戻る。
【0159】
上述した各実施形態は、ハードウエアを必要とするものの、それぞれの装置上で動作するプログラムにより実現可能である。従って、上述した実施形態の機能を実現するソフトウエアのプログラム、及びプログラムコードを記憶した記憶媒体においても、それを読み出して実行することにより、上述した機能、又は処理を実現することができる。
【0160】
以上、上述した各実施形態によれば、接続された装置双方に対して、適切なソフトウエア(プログラム又は機能プログラム)を速やかにインストールすることができる。
【0161】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0162】
【図1】プログラムインストールシステムの構成の一例を示すブロック図である。
【図2】テレビ101の内部構造の一例を示す図である。
【図3】プログラムインストール処理の一例を示すフローチャート(その1)である。
【図4】プログラムインストール処理の一例を示すフローチャート(その2)である。
【図5】対応装置リストの一例を示す図である。
【図6】カメラ102用の対応装置リストの一例を示す図である。
【図7】機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その1)である。
【図8】機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その2)である。
【図9】機能テーブル700の一例を示す図である。
【図10】機能プログラムテーブル800の一例を示す図である。
【図11】複合プログラムテーブル900の一例を示す図である。
【図12】プログラムをインストールするときのインストール手順の一例を示すフローチャートである。
【図13】接続解除手順1の一例を示すフローチャートである。
【図14】装置登録変更手順の一例を示すフローチャートである。
【図15】接続解除手順2の一例を示すフローチャートである。
【符号の説明】
【0163】
101 テレビ
102 カメラ
103 サーバ
104 プリンタ
201 CPU
203 RAM
213 CD−ROMドライブ
301 対応装置リスト
400 対応装置リスト
700 機能テーブル
800 機能プログラムテーブル
900 複合プログラムテーブル
【技術分野】
【0001】
本発明は、プログラムインストールシステム及びプログラムインストール方法に関する。
【背景技術】
【0002】
従来から、ある装置(Aとする)に対して、ある装置(Bとする)が接続されたとき、接続された相手装置Bの種別や機能に応じて、適切なソフトウエア、プログラム、若しくはドライバが装置Aに自動的にインストールされるというシステムが知られている。
【0003】
プラグアンドプレイ機器として知られるものは、そのようなものの一例である。
【0004】
また、特許文献1によると、周辺機器が情報処理装置に接続されたとき、自動的にその組み合わせで動作するソフトウエアをインストール、或いは更新できる。
【0005】
【特許文献1】特開2000−330920号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した従来の技術には、以下のような課題が存在する。
即ち、所謂コンピュータだけでなく、組込み機器においてもソフトウエアのインストール或いは更新が一般的となった現在、出荷後の機能増強が当然のようになっている。そして、PCを介さず、組込み機器同士を接続して、サービス或いは機能を提供することも一般的である。すると、ある装置Aに接続される、ある装置Bが機能増強されたとして、その機能増強分に対して、装置Aのソフトウエアは対応していないということがある。また、ある装置Bのバグ修正や、機能の追加に対して、装置Aのソフトウエアが対応していないこともある。
【0007】
本発明は前記の問題点に鑑みなされたもので、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることを目的とする。
【課題を解決するための手段】
【0008】
そこで、前記問題を解決するため、本発明は、第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、前記第一の装置は、自装置の装置情報を送信する装置情報送信手段と、自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信手段と、プログラムを受信するプログラム受信手段と、プログラムをインストールする第一のインストール手段と、を有し、前記第二の装置は、前記第一の装置から前記装置情報を受信する装置情報受信手段と、前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、前記プログラムをインストールする第二のインストール手段と、前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、前記プログラムを送信するプログラム送信手段と、を有することを特徴とする。
【0009】
係る構成とすることにより、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることができる。
【0010】
また、前記問題を解決するため、本発明は、プログラムインストール方法、プログラム、通信装置としてもよい。
【発明の効果】
【0011】
本発明によれば、接続された装置双方に対して、適切なソフトウエアを速やかにインストールすることができる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の実施形態について図面に基づいて説明する。
【0013】
(実施形態1)
図1は、プログラムインストールシステムの構成の一例を示すブロック図である。図1において、101はテレビ、102はカメラ、103はサーバ、104はプリンタ、105はネットワークである。
【0014】
テレビ101及びカメラ102は外部からプログラムをインストールし、実行することができる。そのような意味では、両者ともコンピュータでもよいが、本実施形態では、テレビ101及びカメラ102を用いて説明を行なう。
【0015】
サーバ103は、テレビ101用のプログラムと、カメラ102用のプログラムとをメモリ等に格納している。なお、両プログラムはテレビ101が、テレビ101のメモリ等に格納していてもよい。
【0016】
ネットワーク105は、テレビ101、カメラ102、サーバ103及びプリンタ104を連結する。ネットワーク105は、イーサネット(登録商標)のような有線手段でもよいし、無線手段であってもよい。ネットワーク105は、テレビ101、カメラ102、サーバ103及びプリンタ104を論理的に接続し、データ通信ができさえすれば何であってもよい。
【0017】
なお、テレビ101と、カメラ102との間をつなぐには、ネットワーク105によらず、直接接続してもよい。直接接続する手段として、USB(Universal Serial Bus)インタフェース、IEEE1394インタフェース等、これも様々な手段が考えられるが、論理的な接続が確保されていればよい。
【0018】
次に、テレビ101の内部構成を図2のブロック図を用いて説明する。図2は、テレビ101の内部構造の一例を示す図である。
【0019】
図2において、テレビ101は、装置全体を制御する中央処理装置(以下、CPUという)201と、各種動作プログラムを読み取り可能に格納したROM202と、プログラム動作中の一時的な値の保存に用いるRAM203と、を含む。また、テレビ101は、各種時間を計測するタイマ204と、テレビ画像及び各種設定メニュー等を、GUI部品を用いて表示するディスプレイ205と、外部装置と接続するためのUSB I/F206と、外部装置と接続するための無線I/F207と、を含む。
【0020】
また、テレビ101は、各種操作ボタン208と、各種設定データファイルを保存する不揮発性メモリであるFlashROM209と、外部装置と接続するネットワークI/F210とを含む。また、テレビ101は、各種動作プログラム及び設定データファイルを保存しておくハードディスク(以下、HDという)211を含む。また、テレビ101は、音声出力を行うスピーカ212と、CD−ROMメディアからプログラム及びデータを読み出すCD−ROMドライブ213と、を含む。
【0021】
図2は、テレビ101の内部構成を示す図であるが、図2に挙げたような構成要素は一般的なコンピュータにも見られるものである。カメラ102、サーバ103、プリンタ104についても、各々、その装置に特徴的な構成要素は持っているものの、図2に挙げた構成要素を同様に備えている。類似しているので、各々の装置の内部構成を示す図は省略する。
【0022】
次に、テレビ101、カメラ102及びサーバ103におけるプログラムインストール手順について、図3及び図4のフローチャートを用いて説明する。図3は、プログラムインストール処理の一例を示すフローチャート(その1)である。図4は、プログラムインストール処理の一例を示すフローチャート(その2)である。
【0023】
図3において、手順500は、カメラ102の動作手順である。また、手順520は、テレビ101の動作手順である。また、手順550は、サーバ103の動作手順である。なお、動作手順の制御の主体は、特に断らない限り、各装置のCPU201である。
【0024】
まず、カメラ102は、テレビ101と接続される(ステップS501)。接続形態は、ネットワーク105を介して接続されてもよいし、直接接続されてもよい。テレビ101は、カメラ102との接続を検知する(ステップS521)。
【0025】
接続時、カメラ102は、自装置の装置情報をテレビ101に送信する(ステップS502)。装置情報には、カメラ102の機種情報、カメラ102を特定するためのID及び動作プログラムのバージョン番号が含まれる。テレビ101は、装置情報を受信する(ステップS522)。
【0026】
テレビ101は、受信した装置情報に基づいて、現在実行しているプログラムが、接続してきたカメラ102に対応しているかどうかを判定する(ステップS523)。テレビ101は、対応装置リストに基づいて判定を行う。対応装置リストの例を図5に示す。図5は、対応装置リストの一例を示す図である。
【0027】
図5の対応装置リスト301は、テレビ101に現在インストールされているバージョンのプログラムがどのカメラ102、或いはどのプリンタ104に対応しているかを示すリストである。図5は、テレビ101に現在インストールされているバージョンのプログラムは、カメラ102については、機種1と、機種2と、に対応しており、機種3には未対応であることを示している。また、図5は、テレビ101に現在インストールされているバージョンのプログラムは、機種1についてはカメラ102のプログラムがVer.2以前のものに対して対応し、機種2については全てのバージョンに対して対応していることを示している。
【0028】
将来、機種2について機能増強があり得るなら全てのバージョンについて対応しているとは言えなくなるが、既に生産中止になっている等の理由によりバージョンアップの機会がないなら、全てのバージョンに対応していると言ってよい。また、Ver.XXX以降という指定もあり得る。これは、その機種についてはバージョンアップの機会がない、且つ、Ver.XXX以前は仕様が古いためサポートしていないという場合である。以上は、プリンタ104についても同様である。
【0029】
ここで述べているプログラムのバージョン番号とは、その装置の動作プログラム全体のバージョン番号を指している。従って、テレビ101が接続中のカメラ102に対応しているということは、テレビ101の動作プログラムが、カメラ102がテレビ101に対して要求する機能の全てに対応しているということである。
【0030】
ステップS523において、テレビ101は、テレビ101のプログラムがカメラ102に対応していないと判定すると、対応しているプログラムをCD−ROMドライブ213からインストールできるかどうかを調べる(ステップS524)。
【0031】
テレビ101は、プログラムを格納したCD−ROMメディアがCD−ROMドライブ213に入っており、プログラムのバージョン番号が示す対応装置リスト301が、接続中のカメラ102に対応していることを示していると、インストールできると判定する。なお、この場合、プログラムのバージョン番号毎に、対応装置リスト301が複数存在する。これらの対応装置リスト301は、RAM203に格納されていてもよいし、或いは、前記CD−ROMメディアにプログラムと共に格納されていてもよい。
【0032】
ステップS524において、インストールできると判定すると、テレビ101は、前記CD−ROMメディアからカメラ102に対応しているプログラムを取得する(ステップS527)。テレビ101は、単に接続中のカメラ102に対応しているだけでなく、できるだけ最新のプログラムを選択し、取得する。バグ修正や、他の機種のカメラ102が接続されたときの場合を考慮すると、このような動作は有効である。
【0033】
なお、対応プログラムはCD−ROMメディアに格納されていて、テレビ101は、CD−ROMメディアから対応プログラムを取得するよう説明したが、これは、格納場所をCD−ROMメディアに限定するものではない。格納場所としてのメディアは一般的な記憶媒体を使用してもよい。
【0034】
プログラムを取得した後、テレビ101は、取得したプログラムをインストールする(ステップS530)。また、テレビ101は、RAM203中の自装置用の対応装置リスト301を、インストールしたプログラムのバージョン番号に対応する対応装置リスト301で置き換える。
【0035】
次に、テレビ101は、カメラ102用の対応装置リストをRAM203内に持っているかどうかを判定する(ステップS531)。図6は、カメラ102用の対応装置リストの一例を示す図である。
【0036】
図6に示すカメラ102用の対応装置リスト400は、図5に示したテレビ101自身の対応装置リスト301と異なり、カメラ102の機種及びバージョン毎に用意された対応装置リスト402と、アドレステーブル401と、からなる。このような構成は、複数のカメラ102の機種及びバージョンに対応するためである。なお、アドレステーブル401では、カメラ102の機種及びバージョンと、対応装置リスト402へのアドレスとを関連付けている。
【0037】
ステップS531において、テレビ101は、対応装置リスト400を持っていると判定すると、カメラ102の装置情報と、対応装置リスト400とに基づいて、カメラ102に対してプログラムをインストールすべきかどうかを判定する(ステップS532)。
【0038】
テレビ101は、カメラ102の装置情報に含まれる、機種情報及びプログラムのバージョン番号(情報)に対応する、対応装置リスト402を参照する。そして、テレビ101は、この対応装置リスト402中の対応するテレビの欄に示される機種情報及びプログラムのバージョン番号の条件をテレビ101が満たしているか否かを判定する。前記条件をテレビ101が満たしていなければ、テレビ101は、動作プログラム(インストールされているプログラム)は、前記バージョン番号のプログラムより新しい、つまり、更新されていると判定する。そして、テレビ101は、更新された機能にカメラ102側を対応させるため、カメラ102用のプログラムをカメラ102に対してインストールすべきであると判定する。
【0039】
ここで、ステップS532の判定時に用いられるテレビ101のプログラムのバージョン番号としては、ステップS530でプログラムのインストールがあった場合は、このインストールされたプログラムのバージョン番号が用いられる。
【0040】
ステップS532において、メラ102に対してプログラムをインストールすべきであると判定すると、テレビ101は、カメラ102用のプログラムをCD−ROMドライブ213からインストールできるかどうかを調べる(ステップS533)。ステップS533の処理は、ステップS524の処理と同様である。
【0041】
インストールできると判定すると、テレビ101は、CD−ROMメディアからカメラ102用のプログラムを取得する(図4のステップS604)。続いて、テレビ101は、カメラ102に対して「プログラムインストール有り」メッセージを通知(送信)する(ステップS605)。
【0042】
カメラ102は、「プログラムインストール有り」メッセージを受け取ると(ステップS601においてY)、ステップS602に進む。
【0043】
テレビ101は、ステップS604において取得したプログラムをカメラ102に送信する(ステップS606)。テレビ101は、プログラムをカメラ102に送信する際に、送信するプログラムのバージョン番号も送信する。この情報は、次回接続時のステップS502の装置情報送信時に用いられる。
【0044】
カメラ102は、テレビ101より送信されたプログラム及びプログラムのバージョン番号を受信する(ステップS602)。カメラ102は、プログラムと同時に送られたプログラムのバージョン番号をメモリ等に記憶する。続いて、カメラ102は、前記プログラムをインストールする(ステップS603)。そして、カメラ102は、処理を終了する。
【0045】
この後、図示していないが、プログラムがインストールされた場合、テレビ101、カメラ102の各々で、インストールしたプログラムを起動する。このようにすることによって、インストールされたプログラムが提供する、何らかのサービス或いは機能の実行を行うことができる。
【0046】
ステップS523において、テレビ101は、テレビ101のプログラムがカメラ102に対応していると判定すると、新たなプログラムをインストールせず、ステップS531に進む。
【0047】
また、ステップS532において、テレビ101は、カメラ102にもプログラムをインストールすべきとは言えないと判定すると、カメラ102に対し「プログラムインストール無し」メッセージを通知する(ステップS534)。
【0048】
カメラ102は、「プログラムインストール無し」メッセージを受け取ると(ステップS601においてN)、プログラムをインストールすること無く、処理を終了する。
【0049】
次に、テレビ101等が、サーバ103からプログラムを取得し、インストールする手順について、図3及び図4のフローチャートを用いて説明する。
【0050】
ステップS524において、テレビ101は、テレビ101用のプログラムをCD−ROMドライブ213からインストールすることはできないと判定すると、サーバ103に対しテレビ101の装置情報を送信する(ステップS526)。装置情報には、テレビ101の機種情報、テレビ101を特定するためのID、及び動作プログラムのバージョン番号が含まれる。サーバ103は、前記装置情報を受信する(ステップS551)。
【0051】
サーバ103は、受信した装置情報に基づいて、テレビ101にインストールすべきプログラムは有るかどうかを判定する(ステップS552)。この判定処理は、ステップS532において、テレビ101がカメラ102に対してインストールすべきプログラムは有るかどうかを判定したのと同様である。つまり、サーバ103は、カメラ102に関する対応装置リスト400と同様な構成で、テレビ101に関する対応装置リスト(図示せず)をメモリ等に有しており、この対応装置リスト等に基づいて判定を行なう。
【0052】
ステップS552において、サーバ103は、テレビ101にインストールすべきプログラムが有ると判定すると、「プログラムインストール有り」メッセージを、テレビ101に通知する(ステップS553)。
【0053】
テレビ101は、「プログラムインストール有り」メッセージを受け取ると(ステップS528においてY)、ステップS529に進む。
【0054】
続いて、サーバ103は、テレビ101に対して、プログラムを送信する(ステップS554)。サーバ103は、プログラムをテレビ101に送信する際に、送信するプログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト301も送信する。
【0055】
テレビ101は、サーバ103より送信されたプログラム、プログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト301を受信する(ステップS529)。続いて、テレビ101は、受信したプログラムをインストールする(ステップS530)。また、テレビ101は、バージョン番号を受け取ったバージョン番号にセットし、対応装置リスト301を受け取った対応装置リスト301で更新する。
【0056】
ステップS552において、サーバ103は、テレビ101にインストールすべきプログラムは無いと判定すると、テレビ101に対して、「プログラムインストール無し」メッセージを通知する。
【0057】
テレビ101は、「プログラムインストール無し」メッセージを受け取ると(S538においてN)、プログラムをインストールすることなく、ステップS531に進む。
【0058】
ステップS531において、カメラ102用の対応装置リストをRAM203内に持っていないと判定すると、テレビ101は、ステップS607に進む。また、ステップS533において、カメラ102用のプログラムをCD−ROMドライブ213からインストールできないと判定すると、テレビ101は、ステップS607に進む。
【0059】
テレビ101は、サーバ103に対しカメラ102の装置情報を送信する(ステップS607)。サーバ103は、テレビ101より、カメラ102の装置情報を受信する(ステップS613)。
【0060】
サーバ103は、受信したカメラ102の装置情報と、対応装置リスト400とに基づいて、カメラ102にインストールすべきプログラムが有るかどうかを判定する(ステップS614)。なお、サーバ103は、対応装置リスト400をメモリ等に保持しているものとする。
【0061】
インストールすべきプログラムが有ると判定すると、サーバ103は、「プログラムインストール有り」メッセージをテレビ101に通知する(ステップS615)。テレビ101は、「プログラムインストール有り」メッセージを受け取ると(ステップS608においてY)、ステップS609に進む。
【0062】
続いて、サーバ103は、テレビ101に対して、カメラ102用のプログラムを送信する(ステップS616)。サーバ103は、カメラ102用のプログラムをテレビ101に送信する際に、送信するプログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト400も送信する。
【0063】
テレビ101は、サーバ103より送信されたプログラム、プログラムのバージョン番号及びそのバージョン番号に対応する対応装置リスト400を受信する(ステップS609)。ここで受け取った対応装置リスト400は、次回カメラ102がテレビ101に接続された時のステップS531の処理で用いられる。なお、ステップS531における判定で、常に、カメラ102用の対応装置リストを持っていない場合のフローチャート、つまり、ステップS607に進んでも構わなければ、ステップS615において、サーバ103は、対応装置リスト400を送る必要はない。
【0064】
テレビ101は、カメラ102に対して「プログラムインストール有り」メッセージを通知する(ステップS611)。また、テレビ101は、サーバ103より受信したカメラ102用のプログラムを、カメラ102に送信する(ステップS612)。テレビ102は、カメラ102用のプログラムをカメラ102に送信する際に、送信するプログラムのバージョン番号も送信する。
【0065】
ステップS614において、サーバ103は、カメラ102に対しインストールすべきプログラムはないと判定すると、テレビ101に対して、「プログラムインストール無し」メッセージを通知する(ステップS617)。テレビ101は、サーバ103より、「プログラムインストール無し」メッセージを受け取ると、ステップS610に進み、カメラ102に対して「プログラムインストール無し」メッセージを通知する(ステップS610)。
【0066】
図3及び図4を用いた説明では、カメラ102用のプログラムをテレビ101が備えていれば、カメラ102用のプログラムを、テレビ101がカメラ102に直接送信した。また、カメラ102用のプログラムをテレビ101が備えていなければ、テレビ101が、サーバ103に対してカメラ102用のプログラムの有無を問い合わせた。そして、サーバ103に、カメラ102用のプログラムが有れば、サーバ103からカメラ102用のプログラムを送ってもらった。しかしながら、必ずこのような構成としなければならない訳ではない。
【0067】
テレビ101がカメラ102に対しプログラムを供給する手順、或いは、サーバ103がテレビ101を通じてカメラ102に対しプログラムを供給する手順の一方だけを提供するようにしてもよい。その場合には、図3及び図4において不必要な判定及び処理は省略される。
【0068】
(実施形態2)
次に、所定の機能の起動時、その機能がサポートされていなければ、機能の提供を行うプログラムをインストールする動作手順について、図7及び図8のフローチャートを用いて説明する。図7は、機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その1)である。図8は、機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その2)である。
【0069】
図7において、手順1000は、カメラ102の動作手順である。また、手順1020は、テレビ101の動作手順である。また、手順1050は、サーバ103の動作手順である。なお、動作手順の制御の主体は、特に断らない限り、各装置のCPU201である。
【0070】
まず、カメラ102は、所定の機能を起動する(ステップS1001)。ここでは、カメラ102と、テレビ101とが既に接続されており、テレビ101と、プリンタ104とも既に接続されているとする。そして、ステップS1001では、カメラ102は、テレビ101を経由してプリンタ104までカメラ102内の画像を送信し、前記画像を印刷するという、印刷機能を起動したものとする。なお、各装置は既に接続されていると述べたが、これは説明の簡略化のためで、機能起動後に各装置を接続してもよい。
【0071】
機能の起動に伴い、カメラ102は、機能の実行を要求するメッセージ(機能要求メッセージ)をテレビ101に送信する(ステップS1002)。テレビ101は、カメラ102より機能要求メッセージを受け取る(ステップS1021)。ここで、メッセージを送信するとしたが、機能要求を通知する方法は他にも数多くある。また、使用するプロトコルとしては、ハードウエア的にも、ソフトウエア的にも、独自プロトコルを使ってもよいし、標準的なプロトコルを使ってもよい。どのようなプロトコルを使うとしても、そのプロトコルの中で要求された機能の識別が可能であればよい。
【0072】
例えば、独自バイナリデータフォーマットのある部分のデータを、要求機能を識別するコマンド値としてもよい。また、所謂クライアント−サーバ型のプロトコルにおいてTCP/IPプロトコルを用いるのであれば、ポート番号によって通信相手のアプリケーションを決定することもできる。この場合、アプリケーションの決定は機能の選択と捉えることができる。また、HTTPを用いて、URLを指定することによって、CGIやJava(登録商標)サーブレットの起動を要求するのであれば、URLが機能を識別するキーである。ここで、HTTPとは、Hyper Text Transfer Protocolの略である。また、URLとは、Uniform Resource Locatorの略である。また、CGIとは、Common Gateway Interfaceの略である。
【0073】
なお、本実施形態では、機能とは、接続された双方の装置において何らかのプログラムを実行することによって提供される「働き」と定義する。つまり、上述した実施形態において、機能要求と書いたが、テレビ101だけのプログラム実行をもって機能が提供され訳ではない。機能の選択、起動要求、或いはパラメータ指定等、カメラ102側の関与もある。ある機能を実行しようとするとき、その機能に関するプログラム(以下、機能プログラムという)を双方が持っていて、各々そのプログラムに基づいて、CPU等が動作することによって、機能が実現される。
【0074】
次に、カメラ102は、装置情報を送信する(ステップS1003)。装置情報には、カメラ102の機種情報、カメラ102を特定するためのID及びカメラ102が備える、前記要求した機能に関する機能プログラムのバージョン番号が含まれる。テレビ101は、前記装置情報を受信する(ステップS1022)。
【0075】
なお、ここでは機能プログラムのバージョン番号は、装置情報に含まれるとしたが、ステップS1002の機能要求メッセージ等に前記バージョン番号を含めることができるのであれば、そうしてもよい。この場合、装置情報に前記バージョン番号を含める必要はない。
【0076】
テレビ101は、要求された機能が提供できる態勢になっているかどうか、言い換えれば機能プログラムがインストールされているかどうかを判定する(ステップS1023)。
【0077】
ここで、機能が提供できる態勢になっていなければ、テレビ101は、以下に述べるように機能プログラムをインストールしようとする。しかしながら、この時点で、テレビ101は、カメラ102側の機能要求を拒否することはしないものとする。上述したように、例えば、機能の指定がバイナリデータフォーマットのコマンド値であれば、そのコマンドに対する拒否応答を返すまでは、要求の拒否にはならないので、テレビ101は、機能プログラムのインストールの処理を続行する。
【0078】
一方、機能の指定がポート番号指定の場合、通常、ポート番号に割り当てられたアプリケーションがなければ、その時点でテレビ101のトランスポートプロトコルレイヤがサービスの拒否をカメラ102に通知する。しかしながら、これでは、機能プログラムをインストールしてから機能の提供を行なうことができない。この問題を解決するため、本実施形態のテレビ101は、指定が予想されるポート番号に対しては予めダミーとなるアプリケーション(ダミーアプリケーション)を起動しておく。そして、トランスポートプロトコルレイヤで一旦、カメラ102からの機能要求を受け付けるようにしておく。そして、ダミーアプリケーションが、要求された機能を識別し、機能プログラムの存在を確認する。
【0079】
また、機能の指定がURLの場合も同様である。本実施形態のテレビ101は、指定されたURLに対し、特定の機能プログラムが割り当てられていなければ、ダミーのCGI、又はダミーのJava(登録商標)サーブレットを起動する。そして、ダミーのCGI、又はダミーのJava(登録商標)サーブレットが、要求された機能を識別し、機能プログラムの存在を確認するようにする。
【0080】
テレビ101等は、機能を識別する際に、カテゴリ若しくは詳細機能で識別する。そのために、テレビ101は、RAM203上に、図9に示す機能テーブル700を有している。図9は、機能テーブル700の一例を示す図である。
【0081】
機能テーブル700は、テレビ101に現在インストールされている機能プログラムの種類と、バージョン番号とを格納する。機能及び機能プログラムは、カテゴリ701及び詳細機能703で識別される。どちらによる指定も可能であり、どちらによる指定かは、機能を指定する際のプロトコルによる。例えば「印刷機能」であれば、カテゴリ701「印刷」の機能プログラムを指定したことになる。「画像印刷プロトコル1を用いた印刷機能」であれば、詳細機能703「画像印刷プロトコル1」の機能プログラムを指定したことになる。詳細機能703が示す機能プログラムは、実際のプログラムと1対1に対応している。それに対し、カテゴリ701が示す機能プログラムは、そのカテゴリ701に属する詳細機能703の集合体を指す。
【0082】
カテゴリ701の機能プログラムに対するバージョン番号がバージョン番号702である。詳細機能703の機能プログラムに対するバージョン番号がバージョン番号704である。バージョン番号702或いは704の欄が「−」であれば、その機能プログラムがインストールされていないことを示す。なお、機能テーブル700は、機能の分類の一例を示しており、他の分類方法等を用いて機能を分類し、データを格納してもよい。例えば、カテゴリ701の下に、粒度がより細かいサブカテゴリを機能テーブル700に含めるようにしてもよい。
【0083】
ステップS1023において、テレビ101は、識別した機能プログラムがインストールされていると判定すると、その機能プログラムがカメラ102に対応しているかどうかを判定する(ステップS1024)。
【0084】
この判定のため、機能テーブル700には、対応装置リストアドレス705が存在する。対応装置リストアドレス705には、各機能プログラムに対応する対応装置リスト301へのアドレスが格納されている。上述した実施形態では、対応装置リスト301は、テレビ101にインストールされている全体のプログラムに対応する対応装置のリストを示していた。しかしながら、本実施形態の対応装置リスト301は、各機能プログラムに対応しており、複数存在する。
【0085】
テレビ101は、機能プログラムに対応する対応装置リストアドレス705が指す対応装置リスト301の内容と、受信したカメラ102の装置情報と、に基づいて、機能プログラムがカメラ102に対応しているかどうかを判定する。
【0086】
ステップS1024において、テレビ101は、機能プログラムがカメラ102に対応していると判定すると、機能プログラムの更新チェックをすべきかどうかを判定する(ステップS1025)。
【0087】
この判定のため、機能テーブル700には、更新チェックフラグ706が存在する。更新チェックフラグ706が「○」であれば、テレビ101は、機能プログラムの更新チェックをすべきであると判定する。一方、更新チェックフラグ706が「×」であれば、テレビ101は、機能プログラムの更新チェックをすべきでないと判定する。更新チェックフラグ706は機能プログラム毎に例えばユーザ等が任意に設定できる。
【0088】
ステップS1025において、テレビ101は、更新チェックをすべきでない判定すると、要求された機能は実行可能であることを示す「機能実行可」メッセージをカメラ102に通知することで応答する(ステップS1031)。続いて、テレビ101は、要求された機能の機能プログラムを実行することで、実際に機能を提供する(ステップS1032)。そして、テレビ101は、処理を終了する。
【0089】
カメラ102は、テレビ101より受け取ったメッセージが「機能実行可」か、どうかを判定する(ステップS1004)。「機能実行可」メッセージを受け取ったと判定すると、カメラ102は、起動した機能(ここでは「印刷機能」)の機能プログラムを引き続き実行する(ステップS1005)。そして、カメラ102は処理を終了する。
【0090】
ステップS1023において、テレビ101は、識別した機能プログラムがインストールされていないと判定すると、ステップS1026に進む。また、ステップS1024において、テレビ101は、機能プログラムがカメラ102に対応していないと判定すると、ステップS1026に進む。また、ステップS1025において、テレビ101は、更新チェックをすべきであると判定すると、ステップS1026に進む。つまり、テレビ101は、サーバ102に対して、インストールすべきプログラムを有しているかどうかの問い合わせの処理に移行する。
【0091】
なお、テレビ101は、図3のフローチャートにおいて説明したように、プログラムをCD−ROMドライブ213からインストールできるかどうかをチェックするようにしてもよい。但し、本実施形態では、説明の簡略化のため、この処理の説明は省略する。
【0092】
テレビ101は、サーバ103に対して、カメラ102より要求された、テレビ101の機能についての情報(以下、テレビ機能情報という)を送信する(ステップS1026)。サーバ103は、テレビ機能情報を受信する(ステップS1051)。テレビ機能情報には、機能或いは機能プログラムを特定するためのID若しくは名前及びテレビ101の機能プログラムのバージョン番号が含まれる。テレビ101は、これらの情報を、機能テーブル700のバージョン番号702若しくは704より得る。機能プログラムがインストールされていない場合、テレビ101は、機能プログラムがインストールされていないことを示す所定のバージョン番号をサーバ103に送信する。
【0093】
次に、テレビ101は、サーバ103に対し自装置に関する装置情報(以下、テレビ装置情報という)を送信する(ステップS1027)。サーバ103は、テレビ装置情報を受信する(ステップS1052)。テレビ装置情報には、テレビ101の機種情報及びテレビ101を特定するためのIDが含まれる。
【0094】
次に、テレビ101は、サーバ103に対しカメラ102に関する機能情報(以下、カメラ機能情報という)を送信する(ステップS1028)。サーバ103は、カメラ機能情報を受信する(ステップS1053)。カメラ機能情報には、機能或いは機能プログラムを特定するためのID若しくは名前及びカメラ102の機能プログラムのバージョン番号が含まれる。テレビ101は、機能プログラムのバージョン番号を、例えば、ステップS1022において受信した装置情報から得る。また、テレビ101は、機能を特定するためのID若しくは名前を、例えば、ステップS1026において送信したテレビ機能情報から得て使用してもよい。
【0095】
機能のID若しくは名前が、テレビ101と、カメラ102との機能テーブル700や、後述する機能プログラムテーブル800等で共通して用いられるものであるならば、テレビ101は、ステップS1026の機能情報に含まれるものを使用することができる。こうした場合、機能のID若しくは名前を、カメラ102からテレビ101に対して送る必要がなくなる。テレビ101と、カメラ102との間で異なる機能のID若しくは名前を用いなければならないなら、図示しないが、カメラ102からテレビ101に機能のID若しくは名前の情報が送られ、ステップS1028において、その情報が用いられ、送信される。
【0096】
次に、テレビ101は、サーバ103に対しカメラ102に関する装置情報(以下、カメラ装置情報という)を送信する(ステップS1033)。サーバ103は、カメラ装置情報を受信する(ステップS1057)。カメラ装置情報には、カメラ102の機種情報及びカメラ102を特定するためのIDが含まれる。
【0097】
次に、サーバ103は、テレビ装置情報及びテレビ機能情報等に基づいて、テレビ101にインストールすべきプログラムが有るかどうかを判定する(ステップS1054)。この処理を行うために、サーバ103は、RAM203内に図10で示される機能プログラムテーブル800を備える。図10は、機能プログラムテーブル800の一例を示す図である。
【0098】
機能プログラムテーブル800は、テレビ101用の機能プログラムに関するテーブルであり、各機能プログラムにつき、以下の情報を格納する。つまり、機能プログラムテーブル800は、機能プログラムの名称を表すプログラム名801(機能プログラムのIDでもよい)、カテゴリ802、サブカテゴリ803、機能プログラムのサーバ103内の格納場所を示す格納場所804、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムの集合体であることを示す複合フラグ805、バージョン番号806、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムがテレビ101に対応しているか否かを示す対応テレビ装置リストへのアドレスを指す対応テレビ装置リストアドレス807、に関する情報を格納する。また、機能プログラムテーブル800は、機能プログラムが、接続された装置が持つ対応する機能プログラムのどのバージョンに対応しているかを示す対応装置リストへのアドレスを指す対応装置リストアドレス808に関する情報を格納する。ここで、前記対応装置リストのフォーマットは、対応装置リスト301と同様である。
【0099】
対応テレビ装置リスト(図示せず)には、機能プログラムが動作可能なテレビ101の機種のリストが含まれる。このリストには、機能プログラムがその環境で動作可能な、テレビ101の全体プログラムのバージョン番号が含まれていてもよい。
【0100】
機能プログラムテーブル800に対する機能プログラムの指定は詳細機能レベルでもよいし、カテゴリレベルでもよい。それは、「画像印刷プロトコル1」851と、「印刷」853と、が同一レベルで機能プログラムテーブル800に格納されているためである。
【0101】
ステップS1054において、サーバ103は、テレビ101に機能プログラムがインストールされていないのに、サーバ103には機能プログラムが存在する場合、インストールすべきプログラムが有ると判定する。また、ステップS1054において、サーバ103は、テレビ101に機能プログラムがインストールされているが、そのバージョンよりも新しいバージョンがサーバ103に存在する場合、インストールすべきプログラムが有ると判定する。どちらの場合もテレビ装置情報が、対応テレビ装置リストアドレス807が指す対応テレビ装置リストの示す条件を満たし、カメラ装置情報及びカメラ機能情報が、対応装置リストアドレス808が指す対応装置リストの示す条件を満たしていなければならない。
【0102】
ステップS1054において、サーバ103は、インストールすべきプログラムが有ると判定すると、テレビ101に対して、「プログラムインストール有り」メッセージを通知する(ステップS1055)。テレビ101は、「プログラムインストール有り」メッセージを受けると、ステップS1030に進む。
【0103】
続いて、サーバ103は、格納場所804が指す場所から機能プログラムを取得し、テレビ101に対して、取得した機能プログラムを送信する(ステップS1056)。
【0104】
複合フラグ805が「○」の場合、機能プログラムは、複数のプログラムからなっている。この場合、格納場所804は、格納場所を指すのではなく、図11に示す複合プログラムテーブル900を指すようになっている。図11は、複合プログラムテーブル900の一例を示す図である。なお、図11では、印刷プログラムVer.1.5に含まれる機能プログラムについてのテーブルの例を示している。
【0105】
サーバ103は、複合プログラムテーブル900から各機能プログラムの格納場所を知ることができ、複数のプログラムを取得し、テレビ101に送信できる。
【0106】
なお、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号も送信する。必要に応じて、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号に対応する対応装置リスト301を送信してもよい。
【0107】
テレビ101は、サーバ103より送信された機能プログラム、及び機能プログラムのバージョン番号を受信する(ステップS1030)。なお、テレビ101は、必要に応じて、サーバ103より送信された機能プログラムのバージョン番号に対応する対応装置リスト301も受信する。続いて、テレビ101は、受信した機能プログラムをインストールする(図8のステップS1106)。
【0108】
ステップS1054において、サーバ103は、テレビ101に対しインストールすべきプログラムは無いと判定すると、テレビ101に対し「プログラムインストール無し」メッセージを通知する(ステップS1113)。
【0109】
テレビ101は、「プログラムインストール無し」メッセージを受け取ると、ステップS1107に進む。
【0110】
サーバ103は、機能プログラムの送信を行った後、カメラ102に対してインストールすべきプログラムは有るかどうかを判定する(ステップS1114)。
【0111】
機能プログラムテーブル800は、テレビ101用の機能プログラムに関するテーブルだが、サーバ103は、このテーブルと同様なカメラ102用の機能プログラムテーブルをRAM203に記憶している。サーバ103は、このテーブルを用いて、ステップS1054と同様に、カメラ102に対しインストールすべきプログラムは有るかどうかを判定する。
【0112】
即ち、カメラ102に機能プログラムがインストールされていないのに、サーバ103に機能プログラムが存在する場合、サーバ103は、ステップS1114において、カメラ102に対してインストールすべきプログラムが有ると判定する。又は、カメラ102にインストールされている機能プログラムより新しいバージョンの機能プログラムがサーバ103に存在する場合、サーバ103は、ステップS1114において、カメラ102に対してインストールすべきプログラムが有ると判定する。
【0113】
当然どちらの場合もカメラ102の装置情報が、対応カメラ装置リストアドレスが指す対応カメラ装置リストの示す条件を満たし、且つ、カメラ102の装置情報が、対応装置リストアドレス808が指す対応装置リストの示す条件を満たしていなければならない。なお、ここで、対応カメラ装置リストは、図示していないが、対応テレビ装置リストアドレス807に対応する対応装置リストである。
【0114】
対応カメラ装置リストは、カメラ102の機種情報と、機能プログラムのバージョン番号とに対応する装置のリストである。対応カメラ装置リストには、カメラ102と連携動作が可能な相手装置(ここではテレビ101)の機種情報と、機能プログラムのバージョン番号とについての条件が記述されている。ステップS1114における判定の際に用いられるテレビ101の機能プログラムのバージョン番号は、ステップS1106において、機能プログラムのインストールがあった場合は、その機能プログラムのバージョン番号が用いられる。
【0115】
カメラ102が機能を起動しようとしたときに、カメラ102に、前記機能を使用するための機能プログラムがインストールされていないということはあり得る。ステップS1056及びステップS1030等でサーバ103より送信された機能プログラムがテレビ101にインストールされたとする。そして、前記機能プログラム(又は機能)を使用するための、カメラ102向けの機能プログラムがサーバ103等に用意されているとする。このとき、前記機能プログラムは、まだカメラ102にインストールされていないので、この機能プログラムをカメラ102にインストールする必要がある。
【0116】
カメラ102にインストールする機能プログラムが存在する場合、サーバ103は、テレビ101に対して「プログラムインストール有り」メッセージを通知する(ステップS1115)。インストールする機能プログラムが存在しない場合、サーバ103は、テレビ101に対して「プログラムインストール無し」メッセージを通知する(ステップS1117)。
【0117】
「プログラムインストール有り」メッセージが通知されると、テレビ101は、ステップS1108に進む。「プログラムインストール無し」メッセージが通知されると、テレビ101は、ステップS1112に進み、カメラ102に対し「プログラムインストール無し」メッセージを通知する(ステップS1112)。
【0118】
ステップS1115の処理に続いて、サーバ103は、テレビ101に対してカメラ102用の機能プログラムを送信する(ステップS1116)。なお、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号も送信する。必要に応じて、サーバ103は、機能プログラムをテレビ101に送信する際に、送信する機能プログラムのバージョン番号に対応する対応装置リスト301を送信してもよい。
【0119】
テレビ101は、サーバ103より送信された機能プログラム、及び機能プログラムのバージョン番号を受信する(ステップS1108)。
【0120】
続いて、テレビ101は、カメラ102に対し「プログラムインストール有り」メッセージを通知する(ステップS1109)。このメッセージが通知されると、カメラ102は、ステップS1102に進む。
【0121】
ステップS1109の処理に続いて、テレビ101は、カメラ102に対して機能プログラムを送信する(ステップS1110)。カメラ102は、機能プログラムを受信する(ステップS1102)。
【0122】
テレビ101は、ステップS1106において、自装置に機能プログラムをインストールしたかどうかを判定する(ステップS1118)。
【0123】
テレビ101は、インストールしたと判定すると、インストールした機能(ここでは印刷機能)を再起動すべく、インストールした機能プログラムを再起動する(ステップS1119)。テレビ101は、インストールしていないと判定すると、ステップS1119の処理をスキップする。
【0124】
最後に、テレビ101は、機能を実行する(ステップS1111)。そして、テレビ101は、処理を終了する。
【0125】
カメラ102は、受信した機能プログラムをインストールする(ステップS1103)。続いて、カメラ102は、インストールした機能(ここでは印刷機能)を再起動すべく、その機能プログラムを再起動する(ステップS1104)。
【0126】
最後に、カメラ102は、機能を実行する(ステップS1105)。そして、カメラ102は、処理を終了する。
【0127】
ステップS1101において、「プログラムインストール有り」メッセージが通知されなかった場合、カメラ102は、機能プログラムをインストールすることなく、ステップS1105に移る。
【0128】
次に、プログラムをインストール、アンインストールする動作手順について、以下に示すフローチャートを用いて説明する。
【0129】
図12は、プログラムをインストールするときのインストール手順の一例を示すフローチャートである。図12に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0130】
プログラムをインストールするとき、テレビ101は、そのインストールが永続的なインストールかどうかを問い合わせるダイアログをディスプレイ205に表示する(ステップS1201)。
【0131】
ユーザは操作ボタン208を使用して、ダイアログに応答する。ダイアログの応答結果に基づいて、テレビ101は、永続的なインストールか否かを判定する。テレビ101は、永続的なインストールであると判定すると(ステップS1202においてY)、ステップS1203に進む。テレビ101は、永続的なインストールでないと判定すると(ステップS1202においてN)、ステップS1206に進む。
【0132】
ステップS1203において、テレビ101は、プログラムに関する永続インストールリスト(永続インストールであると登録された装置のリスト)の装置登録個数が所定の最大数を超えたかどうかを判定する(ステップS1203)。
【0133】
テレビ101は、最大数を超えていないと判定すると(ステップS1203においてN)、接続されている相手装置を永続インストールリストに登録する(ステップS1204)。一方、テレビ101は、最大数を超えていたと判定すると(ステップS1203においてY)、その旨を表示する(ステップS1205)。
【0134】
最後に、テレビ101は、インストールを行ったプログラムのリストであるインストールリストにプログラムを登録する(ステップS1206)。そして、テレビ101は、図12に示す処理を終了する。なお、テレビ101は、プログラムをインストールするステップ(又は処理)も当然実行するが、図12では省略している。
【0135】
次に、接続解除手順1について、図13のフローチャートを用いて説明する。図13は、接続解除手順1の一例を示すフローチャートである。図13に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0136】
装置同士の接続が解除されたとき、テレビ101は、インストールリストを見て、インストールされたプログラムで以下の処理が未処理のプログラムが残っているかどうかを判定する(ステップS1301)。
【0137】
テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていないと判定すると(ステップS1301においてN)、図13に示す処理を終了する。テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていると判定すると(ステップS1301においてY)、S1302に進む。
【0138】
ステップS1302において、テレビ101は、処理対象となるプログラムをインストールリストから取得する(ステップS1302)。続いて、テレビ101は、取得したプログラムに関して接続解除する相手装置は永続インストールリストに登録されているかどうかを判定する(ステップS1303)。
【0139】
テレビ101は、登録されていると判定すると(S1303においてN)、ステップS1304に進む。ステップS1304において、テレビ101は、処理対象となるプログラムをアンインストールする。一方、テレビ101は、登録されていないと判定すると、(S1303においてY)、次のプログラムへの処理に移るべく、ステップS1301に戻る。
【0140】
次に、装置登録変更手順について、図14のフローチャートを用いて説明する。図14は、装置登録変更手順の一例を示すフローチャートである。図14に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0141】
まず、登録を変更しようとするプログラムをダイアログ等の所定のユーザインタフェースを用いてユーザが選択すると、テレビ101は、ユーザが選択したプログラムを識別する情報を取得する(ステップS1401)。
【0142】
テレビ101は、前記情報に基づいて、ユーザが選択したプログラムに関する永続インストールリストの内容を表示する(ステップS1402)。
【0143】
次に、ユーザが処理方法を選択すると、テレビ101は、ユーザが選択した処理方法を識別する情報を取得する。そして、テレビ101は、前記情報に基づいて、ユーザが選択した処理が、装置の登録かどうかを判定する(ステップS1403)。
【0144】
テレビ101は、ユーザが選択した処理が、装置の登録であると判定すると(ステップS1403においてY)、ステップS1404に進む。一方、テレビ101は、ユーザが選択した処理が、装置の登録でないと判定すると(ステップS1403においてN)、ステップS1408に進む。ここで、テレビ101は、ユーザが選択した処理が、装置の登録でないと判定すると装置の登録削除であると判断する。
【0145】
ステップS1404において、テレビ101は、永続インストールリストの装置登録個数が最大数を超えたかどうかを判定する(ステップS1404)。テレビ101は、永続インストールリストの装置登録個数が最大数を超えたと判定すると(ステップS1404においてY)、ステップS1407に進む。一方、テレビ101は、永続インストールリストの装置登録個数が最大数を超えていないと判定すると(ステップS1404においてN)、ステップS1405に進む。
【0146】
ステップS1405において、ユーザが、登録しようとする装置(登録装置)を選択すると、テレビ101は、ユーザが選択した登録装置を識別する情報を取得する。ユーザは、現在接続中の装置の中から登録装置を選択してもよいし、過去接続したことがある装置をテレビ101が記憶しておいて、その中から登録装置を選択するようにしてもよい。
【0147】
ステップS1406において、テレビ101は、前記情報に基づいて、ユーザによって選択された装置を永続インストールリストに登録する(ステップS1406)。そして、テレビ101は、図14に示す処理を終了する。
【0148】
一方、ステップS1407において、テレビ101は、永続インストールリストの装置登録個数が最大数を超えている旨を表示する。そして、テレビ101は、図14に示す処理を終了する。
【0149】
ステップS1408において、テレビ101は、ユーザが選択した、永続インストールリストの中から登録を削除する装置を識別する情報を取得する。続いて、ステップS1409において、テレビ101は、前記情報に基づいて、ユーザによって選択された装置を永続インストールリストから削除する。そして、テレビ101は、図14に示す処理を終了する。
【0150】
次に、接続解除手順2について、図15のフローチャートを用いて説明する。図15は、接続解除手順2の一例を示すフローチャートである。図15に示すフローチャートはテレビ101或いはカメラ102の何れにも適用可能である。但し、以下では説明の簡略化のため、テレビ101を用いて説明を行なう。
【0151】
図12及び図13に示した手順では、インストール時に永続インストールかどうかを判断し、決定していたが、図15の手順では、接続解除時に永続インストールかどうかを判断し、決定している。
【0152】
なお、図15の手順の場合も、インストール手順ステップS1206において説明したインストールリストへのプログラム登録はなされているものとする。
【0153】
装置同士の接続が解除されたとき、テレビ101は、インストールリストを見て、インストールされたプログラムで以下の処理が未処理のプログラムが残っているかどうかを判定する(ステップS1501)。
【0154】
テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていないと判定すると(ステップS1501においてN)、図15に示す処理を終了する。テレビ101は、インストールされたプログラムで以下の処理が未処理のプログラムが残っていると判定すると(ステップS1501においてY)、S1502に進む。
【0155】
ステップS1502において、テレビ101は、処理対象となるプログラムをインストールリストから取得する。続いて、テレビ101は、前記プログラムに関して、接続解除する相手装置は永続インストールリストに登録されているかどうかを判定する(ステップS1503)。テレビ101は、相手装置が永続インストールリストに登録されていると判定すると(ステップS1503においてY)、ステップS1501に戻る。一方、テレビ101は、相手装置が永続インストールリストに登録されていないと判定すると(ステップS1503においてN)、ステップS1504に進む。
【0156】
ステップS1504において、テレビ101は、アンインストールしてよいかどうかをユーザに問い合わせるダイアログをディスプレイ205に表示する。ユーザの応答が「アンインストールする」であった場合、テレビ101は、アンインストールすると判定し、ステップS1506に進む。一方、ユーザの応答が「アンインストールしない」であった場合、テレビ101は、アンインストールしないと判定し、ステップS1507に進む。
【0157】
ステップS1506において、テレビ101は、処理対象のプログラムをアンインストールし、ステップS1501に戻る。一方、ステップS1507において、テレビ101は、処理対象(処理中)のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えたかどうかを判定する。テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えたと判定すると(ステップS1507においてY)、ステップS1508に進む。一方、テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えていないと判定すると(ステップS1507においてN)、ステップS1509に進む。 ステップS1508において、テレビ101は、処理対象のプログラムに関する永続インストールリストの装置登録個数が所定の最大数を超えた旨を表示し、ステップS1506に進む。
【0158】
ステップS1509において、テレビ101は、接続解除しようとしていた相手装置を、処理対象のプログラムに関する永続インストールリストに登録し、ステップS1501に戻る。
【0159】
上述した各実施形態は、ハードウエアを必要とするものの、それぞれの装置上で動作するプログラムにより実現可能である。従って、上述した実施形態の機能を実現するソフトウエアのプログラム、及びプログラムコードを記憶した記憶媒体においても、それを読み出して実行することにより、上述した機能、又は処理を実現することができる。
【0160】
以上、上述した各実施形態によれば、接続された装置双方に対して、適切なソフトウエア(プログラム又は機能プログラム)を速やかにインストールすることができる。
【0161】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0162】
【図1】プログラムインストールシステムの構成の一例を示すブロック図である。
【図2】テレビ101の内部構造の一例を示す図である。
【図3】プログラムインストール処理の一例を示すフローチャート(その1)である。
【図4】プログラムインストール処理の一例を示すフローチャート(その2)である。
【図5】対応装置リストの一例を示す図である。
【図6】カメラ102用の対応装置リストの一例を示す図である。
【図7】機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その1)である。
【図8】機能の提供を行なうプログラムのインストール処理の一例を示すフローチャート(その2)である。
【図9】機能テーブル700の一例を示す図である。
【図10】機能プログラムテーブル800の一例を示す図である。
【図11】複合プログラムテーブル900の一例を示す図である。
【図12】プログラムをインストールするときのインストール手順の一例を示すフローチャートである。
【図13】接続解除手順1の一例を示すフローチャートである。
【図14】装置登録変更手順の一例を示すフローチャートである。
【図15】接続解除手順2の一例を示すフローチャートである。
【符号の説明】
【0163】
101 テレビ
102 カメラ
103 サーバ
104 プリンタ
201 CPU
203 RAM
213 CD−ROMドライブ
301 対応装置リスト
400 対応装置リスト
700 機能テーブル
800 機能プログラムテーブル
900 複合プログラムテーブル
【特許請求の範囲】
【請求項1】
第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、
前記第一の装置は、
自装置の装置情報を送信する装置情報送信手段と、
自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信手段と、
プログラムを受信するプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記第一の装置から前記装置情報を受信する装置情報受信手段と、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールする第二のインストール手段と、
前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項2】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムであって、
前記第一の装置は、
自装置の装置情報を送信する第一の装置情報送信手段と、
自装置のプログラムバージョン情報を送信する第一のプログラムバージョン情報送信手段と、
プログラムを受信する第一のプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
自装置の装置情報を送信する第二の装置情報送信手段と、
自装置のプログラムバージョン情報を送信する第二のプログラムバージョン情報送信手段と、
前記第一の装置から前記装置情報を受信する第一の装置情報受信手段と、
前記装置情報を送信する第三の装置情報送信手段と、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信手段と、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信手段と、
自装置用のプログラムを受信する第二のプログラム受信手段と、
前記第一の装置用のプログラムを受信する第三のプログラム受信手段と、
自装置用のプログラムをインストールする第二のインスト−ル手段と、
を有し、
前記サーバは、
前記第二の装置情報送信手段が送信した装置情報を受信する第二の装置情報受信手段と、
前記第三の装置情報送信手段が送信した装置情報を受信する第三の装置情報受信手段と、
前記第二のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第二のプログラムバージョン情報受信手段と、
前記第三のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第三のプログラムバージョン情報受信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第二のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムを送信する第一のプログラム送信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信する第二のプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項3】
第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、
前記第一の装置は、
機能の実行を前記第二の装置に要求する機能要求手段と、
自装置の装置情報を送信する装置情報送信手段と、
前記機能に関連するプログラムのバージョン情報を送信するプログラムバージョン情報送信手段と、
プログラムを受信するプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記機能要求手段において要求された機能を識別する機能識別手段と、
前記第一の装置から装置情報を受信する装置情報受信手段と、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールする第二のインストール手段と、
前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項4】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムであって、
前記第一の装置は、
機能の実行を前記第二の装置に要求する機能要求手段と、
自装置の装置情報を送信する第一の装置情報送信手段と、
前記機能に関連するプログラムのバージョン情報を送信する第一のプログラムバージョン情報送信手段と、
プログラムを受信する第一のプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記機能要求手段において要求された機能を識別する機能識別手段と、
自装置の装置情報を送信する第二の装置情報送信手段と、
前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報を送信する第二のプログラムバージョン情報送信手段と、
前記機能識別手段において識別された機能の情報を送信する機能情報送信手段と、
前記第一の装置から装置情報を受信する第一の装置情報受信手段と、
前記装置情報を送信する第三の装置情報送信手段と、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信手段と、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信手段と、
自装置用のプログラムを受信する第二のプログラム受信手段と、
前記第一の装置用のプログラムを受信する第三のプログラム受信手段と、
前記プログラムをインストールする第二のインスト−ル手段と、
を有し、
前記サーバは、
前記第二の装置情報送信手段が送信した装置情報を受信する第二の装置情報受信手段と、
前記第三の装置情報送信手段が送信した装置情報を受信する第三の装置情報受信手段と、
前記第二のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第二のプログラムバージョン情報受信手段と、
前記第三のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第三のプログラムバージョン情報受信手段と、
前記機能情報送信手段が送信した機能情報を受信する機能情報受信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第二のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記機能情報受信手段が受信した機能情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムを送信する第一のプログラム送信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、前記機能情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信する第二のプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項5】
第一の装置と、第二の装置と、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
自装置の装置情報を送信する装置情報送信ステップと、
自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信ステップと、
プログラムを受信するプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記第一の装置から前記装置情報を受信する装置情報受信ステップと、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールする第二のインストールステップと、
前記第二のインストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項6】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
自装置の装置情報を送信する第一の装置情報送信ステップと、
自装置のプログラムバージョン情報を送信する第一のプログラムバージョン情報送信ステップと、
プログラムを受信する第一のプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
自装置の装置情報を送信する第二の装置情報送信ステップと、
自装置のプログラムバージョン情報を送信する第二のプログラムバージョン情報送信ステップと、
前記第一の装置から前記装置情報を受信する第一の装置情報受信ステップと、
前記装置情報を送信する第三の装置情報送信ステップと、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信ステップと、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信ステップと、
自装置用のプログラムを受信する第二のプログラム受信ステップと、
前記第一の装置用のプログラムを受信する第三のプログラム受信ステップと、
自装置用のプログラムをインストールする第二のインスト−ルステップと、
を有し、
前記サーバが、
前記第二の装置情報送信ステップにおいて送信された装置情報を受信する第二の装置情報受信ステップと、
前記第三の装置情報送信ステップにおいて送信された装置情報を受信する第三の装置情報受信ステップと、
前記第二のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第二のプログラムバージョン情報受信ステップと、
前記第三のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第三のプログラムバージョン情報受信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第二のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムを送信する第一のプログラム送信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信する第二のプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項7】
第一の装置と、第二の装置と、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
機能の実行を前記第二の装置に要求する機能要求ステップと、
自装置の装置情報を送信する装置情報送信ステップと、
前記機能に関連するプログラムのバージョン情報を送信するプログラムバージョン情報送信ステップと、
プログラムを受信するプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記機能要求ステップにおいて要求された機能を識別する機能識別ステップと、
前記第一の装置から装置情報を受信する装置情報受信ステップと、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールする第二のインストールステップと、
前記第二のインストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項8】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
機能の実行を前記第二の装置に要求する機能要求ステップと、
自装置の装置情報を送信する第一の装置情報送信ステップと、
前記機能に関連するプログラムのバージョン情報を送信する第一のプログラムバージョン情報送信ステップと、
プログラムを受信する第一のプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記機能要求ステップにおいて要求された機能を識別する機能識別ステップと、
自装置の装置情報を送信する第二の装置情報送信ステップと、
前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報を送信する第二のプログラムバージョン情報送信ステップと、
前記機能識別ステップにおいて識別された機能の情報を送信する機能情報送信ステップと、
前記第一の装置から装置情報を受信する第一の装置情報受信ステップと、
前記装置情報を送信する第三の装置情報送信ステップと、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信ステップと、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信ステップと、
自装置用のプログラムを受信する第二のプログラム受信ステップと、
前記第一の装置用のプログラムを受信する第三のプログラム受信ステップと、
前記プログラムをインストールする第二のインスト−ルステップと、
を有し、
前記サーバが、
前記第二の装置情報送信ステップにおいて送信された装置情報を受信する第二の装置情報受信ステップと、
前記第三の装置情報送信ステップにおいて送信された装置情報を受信する第三の装置情報受信ステップと、
前記第二のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第二のプログラムバージョン情報受信ステップと、
前記第三のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第三のプログラムバージョン情報受信ステップと、
前記機能情報送信ステップにおいて送信された機能情報を受信する機能情報受信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第二のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記機能情報受信ステップにおいて受信された機能情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムを送信する第一のプログラム送信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、前記機能情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信する第二のプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項9】
請求項5乃至8の何れか1項に記載のプログラムインストール方法をプログラムインストールシステムのコンピュータに実行させることを特徴とするプログラム。
【請求項10】
通信可能な他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信手段と、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールするインストール手段と、
前記インストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定手段と、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とする通信装置。
【請求項11】
通信可能な他の通信装置から要求された機能を識別する機能識別手段と、
前記他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信手段と、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールするインストール手段と、
前記インストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定手段と、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とする通信装置。
【請求項12】
通信装置におけるプログラムインストール方法であって、
通信可能な他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信ステップと、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールするインストールステップと、
前記インストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定ステップと、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項13】
通信装置におけるプログラムインストール方法であって、
通信可能な他の通信装置から要求された機能を識別する機能識別ステップと、
前記他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信ステップと、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールするインストールステップと、
前記インストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定ステップと、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項14】
請求項12又は13に記載のプログラムインストール方法をコンピュータに実行させることを特徴とするプログラム。
【請求項1】
第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、
前記第一の装置は、
自装置の装置情報を送信する装置情報送信手段と、
自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信手段と、
プログラムを受信するプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記第一の装置から前記装置情報を受信する装置情報受信手段と、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールする第二のインストール手段と、
前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項2】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムであって、
前記第一の装置は、
自装置の装置情報を送信する第一の装置情報送信手段と、
自装置のプログラムバージョン情報を送信する第一のプログラムバージョン情報送信手段と、
プログラムを受信する第一のプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
自装置の装置情報を送信する第二の装置情報送信手段と、
自装置のプログラムバージョン情報を送信する第二のプログラムバージョン情報送信手段と、
前記第一の装置から前記装置情報を受信する第一の装置情報受信手段と、
前記装置情報を送信する第三の装置情報送信手段と、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信手段と、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信手段と、
自装置用のプログラムを受信する第二のプログラム受信手段と、
前記第一の装置用のプログラムを受信する第三のプログラム受信手段と、
自装置用のプログラムをインストールする第二のインスト−ル手段と、
を有し、
前記サーバは、
前記第二の装置情報送信手段が送信した装置情報を受信する第二の装置情報受信手段と、
前記第三の装置情報送信手段が送信した装置情報を受信する第三の装置情報受信手段と、
前記第二のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第二のプログラムバージョン情報受信手段と、
前記第三のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第三のプログラムバージョン情報受信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第二のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムを送信する第一のプログラム送信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信する第二のプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項3】
第一の装置と、第二の装置と、を含むプログラムインストールシステムであって、
前記第一の装置は、
機能の実行を前記第二の装置に要求する機能要求手段と、
自装置の装置情報を送信する装置情報送信手段と、
前記機能に関連するプログラムのバージョン情報を送信するプログラムバージョン情報送信手段と、
プログラムを受信するプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記機能要求手段において要求された機能を識別する機能識別手段と、
前記第一の装置から装置情報を受信する装置情報受信手段と、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールする第二のインストール手段と、
前記第二のインストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項4】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムであって、
前記第一の装置は、
機能の実行を前記第二の装置に要求する機能要求手段と、
自装置の装置情報を送信する第一の装置情報送信手段と、
前記機能に関連するプログラムのバージョン情報を送信する第一のプログラムバージョン情報送信手段と、
プログラムを受信する第一のプログラム受信手段と、
プログラムをインストールする第一のインストール手段と、
を有し、
前記第二の装置は、
前記機能要求手段において要求された機能を識別する機能識別手段と、
自装置の装置情報を送信する第二の装置情報送信手段と、
前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報を送信する第二のプログラムバージョン情報送信手段と、
前記機能識別手段において識別された機能の情報を送信する機能情報送信手段と、
前記第一の装置から装置情報を受信する第一の装置情報受信手段と、
前記装置情報を送信する第三の装置情報送信手段と、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信手段と、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信手段と、
自装置用のプログラムを受信する第二のプログラム受信手段と、
前記第一の装置用のプログラムを受信する第三のプログラム受信手段と、
前記プログラムをインストールする第二のインスト−ル手段と、
を有し、
前記サーバは、
前記第二の装置情報送信手段が送信した装置情報を受信する第二の装置情報受信手段と、
前記第三の装置情報送信手段が送信した装置情報を受信する第三の装置情報受信手段と、
前記第二のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第二のプログラムバージョン情報受信手段と、
前記第三のプログラムバージョン情報送信手段が送信したプログラムバージョン情報を受信する第三のプログラムバージョン情報受信手段と、
前記機能情報送信手段が送信した機能情報を受信する機能情報受信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第二のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記機能情報受信手段が受信した機能情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムを送信する第一のプログラム送信手段と、
前記第二の装置情報受信手段が受信した装置情報と、前記第三の装置情報受信手段が受信した装置情報と、前記第三のプログラムバージョン情報受信手段が受信したプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、前記機能情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定手段と、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信する第二のプログラム送信手段と、
を有することを特徴とするプログラムインストールシステム。
【請求項5】
第一の装置と、第二の装置と、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
自装置の装置情報を送信する装置情報送信ステップと、
自装置のプログラムバージョン情報を送信するプログラムバージョン情報送信ステップと、
プログラムを受信するプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記第一の装置から前記装置情報を受信する装置情報受信ステップと、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールする第二のインストールステップと、
前記第二のインストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項6】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
自装置の装置情報を送信する第一の装置情報送信ステップと、
自装置のプログラムバージョン情報を送信する第一のプログラムバージョン情報送信ステップと、
プログラムを受信する第一のプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
自装置の装置情報を送信する第二の装置情報送信ステップと、
自装置のプログラムバージョン情報を送信する第二のプログラムバージョン情報送信ステップと、
前記第一の装置から前記装置情報を受信する第一の装置情報受信ステップと、
前記装置情報を送信する第三の装置情報送信ステップと、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信ステップと、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信ステップと、
自装置用のプログラムを受信する第二のプログラム受信ステップと、
前記第一の装置用のプログラムを受信する第三のプログラム受信ステップと、
自装置用のプログラムをインストールする第二のインスト−ルステップと、
を有し、
前記サーバが、
前記第二の装置情報送信ステップにおいて送信された装置情報を受信する第二の装置情報受信ステップと、
前記第三の装置情報送信ステップにおいて送信された装置情報を受信する第三の装置情報受信ステップと、
前記第二のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第二のプログラムバージョン情報受信ステップと、
前記第三のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第三のプログラムバージョン情報受信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第二のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムを送信する第一のプログラム送信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信する第二のプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項7】
第一の装置と、第二の装置と、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
機能の実行を前記第二の装置に要求する機能要求ステップと、
自装置の装置情報を送信する装置情報送信ステップと、
前記機能に関連するプログラムのバージョン情報を送信するプログラムバージョン情報送信ステップと、
プログラムを受信するプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記機能要求ステップにおいて要求された機能を識別する機能識別ステップと、
前記第一の装置から装置情報を受信する装置情報受信ステップと、
前記第一の装置から前記プログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールする第二のインストールステップと、
前記第二のインストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記第一の装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項8】
第一の装置と、第二の装置と、プログラムを提供するサーバと、を含むプログラムインストールシステムにおけるインストール方法であって、
前記第一の装置が、
機能の実行を前記第二の装置に要求する機能要求ステップと、
自装置の装置情報を送信する第一の装置情報送信ステップと、
前記機能に関連するプログラムのバージョン情報を送信する第一のプログラムバージョン情報送信ステップと、
プログラムを受信する第一のプログラム受信ステップと、
プログラムをインストールする第一のインストールステップと、
を有し、
前記第二の装置が、
前記機能要求ステップにおいて要求された機能を識別する機能識別ステップと、
自装置の装置情報を送信する第二の装置情報送信ステップと、
前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報を送信する第二のプログラムバージョン情報送信ステップと、
前記機能識別ステップにおいて識別された機能の情報を送信する機能情報送信ステップと、
前記第一の装置から装置情報を受信する第一の装置情報受信ステップと、
前記装置情報を送信する第三の装置情報送信ステップと、
前記第一の装置からプログラムバージョン情報を受信する第一のプログラムバージョン情報受信ステップと、
前記プログラムバージョン情報を送信する第三のプログラムバージョン情報送信ステップと、
自装置用のプログラムを受信する第二のプログラム受信ステップと、
前記第一の装置用のプログラムを受信する第三のプログラム受信ステップと、
前記プログラムをインストールする第二のインスト−ルステップと、
を有し、
前記サーバが、
前記第二の装置情報送信ステップにおいて送信された装置情報を受信する第二の装置情報受信ステップと、
前記第三の装置情報送信ステップにおいて送信された装置情報を受信する第三の装置情報受信ステップと、
前記第二のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第二のプログラムバージョン情報受信ステップと、
前記第三のプログラムバージョン情報送信ステップにおいて送信されたプログラムバージョン情報を受信する第三のプログラムバージョン情報受信ステップと、
前記機能情報送信ステップにおいて送信された機能情報を受信する機能情報受信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第二のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記機能情報受信ステップにおいて受信された機能情報と、に基づいて、前記第二の装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムを送信する第一のプログラム送信ステップと、
前記第二の装置情報受信ステップにおいて受信された装置情報と、前記第三の装置情報受信ステップにおいて受信された装置情報と、前記第三のプログラムバージョン情報受信ステップにおいて受信されたプログラムバージョン情報と、前記第二の装置にインストールするプログラムのプログラムバージョン情報と、前記機能情報と、に基づいて、前記第一の装置にプログラムをインストールするか否かを判定する判定ステップと、
前記第一の装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信する第二のプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項9】
請求項5乃至8の何れか1項に記載のプログラムインストール方法をプログラムインストールシステムのコンピュータに実行させることを特徴とするプログラム。
【請求項10】
通信可能な他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信手段と、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールするインストール手段と、
前記インストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定手段と、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とする通信装置。
【請求項11】
通信可能な他の通信装置から要求された機能を識別する機能識別手段と、
前記他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信手段と、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信手段と、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別手段において識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得手段と、
前記プログラムをインストールするインストール手段と、
前記インストール手段によってインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定手段と、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得手段と、
前記プログラムを送信するプログラム送信手段と、
を有することを特徴とする通信装置。
【請求項12】
通信装置におけるプログラムインストール方法であって、
通信可能な他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信ステップと、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールするインストールステップと、
前記インストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定ステップと、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項13】
通信装置におけるプログラムインストール方法であって、
通信可能な他の通信装置から要求された機能を識別する機能識別ステップと、
前記他の通信装置から前記他の通信装置の装置情報を受信する装置情報受信ステップと、
前記他の通信装置から前記他の通信装置のプログラムバージョン情報を受信するプログラムバージョン情報受信ステップと、
前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、前記機能識別ステップにおいて識別された機能に関連する自装置用のプログラムのバージョン情報と、に基づいて、自装置にインストールするプログラムを取得する第一のプログラム取得ステップと、
前記プログラムをインストールするインストールステップと、
前記インストールステップにおいてインストールされたプログラムのプログラムバージョン情報と、前記他の通信装置から受信した前記装置情報及び前記プログラムバージョン情報と、に基づいて、前記他の通信装置にプログラムをインストールするか否かを判定する判定ステップと、
前記他の通信装置にインストールするプログラムを取得する第二のプログラム取得ステップと、
前記プログラムを送信するプログラム送信ステップと、
を有することを特徴とするプログラムインストール方法。
【請求項14】
請求項12又は13に記載のプログラムインストール方法をコンピュータに実行させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2007−280275(P2007−280275A)
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願番号】特願2006−108805(P2006−108805)
【出願日】平成18年4月11日(2006.4.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成19年10月25日(2007.10.25)
【国際特許分類】
【出願日】平成18年4月11日(2006.4.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]