JP4032217B2 - Program update method - Google Patents
Program update method Download PDFInfo
- Publication number
- JP4032217B2 JP4032217B2 JP2001270786A JP2001270786A JP4032217B2 JP 4032217 B2 JP4032217 B2 JP 4032217B2 JP 2001270786 A JP2001270786 A JP 2001270786A JP 2001270786 A JP2001270786 A JP 2001270786A JP 4032217 B2 JP4032217 B2 JP 4032217B2
- Authority
- JP
- Japan
- Prior art keywords
- external device
- information
- unit
- program
- accessory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 52
- 238000012546 transfer Methods 0.000 description 133
- 238000010586 diagram Methods 0.000 description 70
- 230000006870 function Effects 0.000 description 17
- 238000005259 measurement Methods 0.000 description 12
- 238000011835 investigation Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000006835 compression Effects 0.000 description 6
- 238000007906 compression Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 4
- 230000037430 deletion Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 206010014357 Electric shock Diseases 0.000 description 1
- 238000005315 distribution function Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Stored Programmes (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、パーソナルコンピュータやワークステーションなどに代表されるホスト機器と、プリンタやスキャナなどに代表される外部機器がIEEE1284やUSBなどの所定の方法で接続されたシステムにおいて、その外部機器にFAXモデムやBluetoothなどに代表される各種の方法によって付属機器が着脱されるシステムに関するものである。特に、外部機器に対して付属機器が着脱された際に、当該付属機器を動作させるために必要なアプリケーションソフトウェアやデバイスドライバなどのプログラムを外部機器にインストールし、あるいは不要となったプログラムを削除するプログラム更新方法と、そのようなプログラム更新方法の機能を搭載したホスト装置及び外部機器に関するものである。
【0002】
【従来の技術】
プリンタやスキャナなどに代表される外部機器を使用する場合には、パーソナルコンピュータやワークステーションなどに代表されるホスト機器とIEEE1284ケーブルやUSBケーブルなどを用いてローカル接続することによって使用される場合が一般的である。また、ホスト機器と外部機器の両機器にEthernet(登録商標)インタフェースを実装することによりEthernet(登録商標)によるネットワーク接続で外部機器を使用することも一般的である。
【0003】
一方、プリンタやスキャナなどに代表される外部機器は機能が多様化してきており、単機能のプリンタやスキャナだけではなく、プリント機能、スキャン機能、FAX機能、E−Mail配信機能などの様々な機能が複合化した機器も一般的に利用されている。このような機能の多様化に伴い、外部機器に接続するための付属機器も増えてきており、ユーザの使用環境に応じて必要な付属機器を外部機器に接続し、必要な機能を実現するという使い方が一般的となっている。
【0004】
しかし、外部機器に付属機器を接続しても、その付属機器を動作させるためのソフトウエアが外部機器上に搭載されていなければ、事実上その付属機器を使用することはできない。そのため、従来は次に示すような手法が取られていた。
【0005】
図30は、従来のプログラム更新方法の第1の例の説明図である。図中、1は外部機器、2はホスト機器、3は付属機器である。図30(A)において、上述のようにホスト機器2と外部機器1は所定の接続方法によって接続されており、外部機器1に対して付属機器3が接続されるものとする。
【0006】
この例では、図30(B)に示すように外部機器1には、接続可能なすべての付属機器に対応したデバイスドライバー・アプリケーションなどのプログラムが最初から内部のROM等に書き込まれており、その状態で外部機器1は出荷される。これによって、付属機器3が接続されると、その接続された付属機器3に対応したプログラムが動作し、付属機器3が利用可能となる。
【0007】
しかしこのような構成では、後から開発された付属機器に対応できないという問題がある。例えば、出荷時には予想されていなかった付属機器が開発された場合、その付属機器が接続されてもプログラムが外部機器1上に存在しないため、その付属機器を動作させることができないという問題がある。また、上述のような構成では、すべての付属機器に対応させるためのプログラムをROMに搭載するので、ROMの容量が膨大となり、コストアップとなるという問題もあった。
【0008】
図31は、従来のプログラム更新方法の第2の例の説明図である。図中の符号は図30と同様である。この第2の例では、図31(B),(C)に示すように、外部機器1内のROMを交換する例を示している。すなわち、図31(B)では付属機器3用のプログラムがROMに搭載されていないので、図31(C)に示すように付属機器3用のプログラムが搭載されたROMに交換するものである。これによって、利用しない付属機器のプログラムまでROMに書き込んでおく必要はないし、後で開発された付属機器についてもプログラムを提供することができる。
【0009】
しかし、通常はROMは基板上に搭載されており、その交換には筐体を取り外すなどして基板を露出させなければならない。また、感電などの危険性も高く、ユーザが容易に交換できない場合も多い。そのため、カスタマーエンジニアが客先に出向いて交換することも行われているが、そのための時間や労力などのコストが高くなるという問題がある。
【0010】
図32は、従来のプログラム更新方法の第3の例の説明図である。図中の符号は図30と同様である。この第3の例では、外部機器1に接続する付属機器3にCPUやROM,RAMを搭載し、インテリジェント型の付属機器3を提供する例を示している。従来よりよく利用されている構成である。このような構成では、上述の各例における問題点を解決できるとともに、外部機器1を安価に構成でき、かつ外部機器1のソフトウェアを変更する必要が無いという利点がある。しかし逆に、付属機器3が高価になるという問題があった。
【0011】
図33は、従来のプログラム更新方法の第4の例の説明図である。図中の符号は図30と同様である。この第4の例は、例えば特開平5−224912号公報などに記載されている方法であり、付属機器3にROMを搭載して、付属機器3のROMから外部機器1のROM中のデータを書き換えるものである。外部機器1を安価に構成することができるが、付属機器3にROMを搭載するなど、付属機器3が高価になるという問題を有している。
【0012】
図34は、従来のプログラム更新方法の第5の例の説明図である。図中の符号は図30と同様である。4は外部記憶装置である。この第5の例では、外部機器1にFDドライブなどの外部記憶装置4を接続し、FD等で供給される接続された付属機器3に対応するプログラムを外部記憶装置4から外部機器1に転送して外部機器1のROMを書き換えるものである。
【0013】
このような構成では、外部機器1に接続される外部記憶装置4が必要となってしまうという問題がある。また、ユーザが操作することになるので、例えば付属機器3の接続の度に行うような、頻繁なプログラムの書き換えは煩わしいものとなる。または、1度接続された付属機器3については、取り外された後も対応するプログラムを保存しておく場合もあるが、その場合には外部機器1のROMとして大容量が必要となるという問題があった。
【0014】
図35は、従来のプログラム更新方法の第6の例の説明図である。図中の符号は図34と同様である。この第6の例では、ホスト機器2に接続されている外部記憶装置4を利用し、FD等で供給される外部機器1に接続された付属機器3に対応するプログラムをホスト機器2からダウンロードして外部機器1のROMを書き換えるものである。
【0015】
通常、ホスト機器2には外部記憶装置4が付属したものも多いため、新たに外部記憶装置4を設ける場合は少ないと考えられる。しかし、第5の例と同様に、外部機器1に接続された付属機器3に対応するプログラムをホスト機器2からダウンロードするための操作はユーザが行うことになる。また、従来は外部機器1への付属機器3の着脱は、外部機器1は知ることができるものの、ホスト機器2には通知されておらず、ユーザがプログラムを外部機器1へ転送する指示をいちいち行わなければならなかった。そのため、例えば付属機器3の接続の度に転送の指示を行うような、頻繁なプログラムの書き換えはユーザにとって煩わしいものとなる。または、1度接続された付属機器3については、その後のプログラム転送を省略するため、取り外された後も対応するプログラムを保存しておく場合もあるが、その場合には外部機器1のROMとして大容量が必要となるという問題があった。
【0016】
近年では、USB、IEEE1394、PC−Cardなどの活線挿抜が可能なインタフェースが標準化(規格化)され、外部機器においても付属機器とのインタフェースとして使用するようになってきた。さらにUSB、IEEE1394、PC−Cardなどの活線挿抜が可能なインタフェースに対応した付属機器も増えてきており、外部機器においても頻繁に付属機器を装着・脱着して利用できる仕組みが必要とされている。
【0017】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、外部機器に接続して利用する付属機器を安価に構成でき、かつ外部機器におけるプログラムの更新を容易に行うことができるプログラム更新方法を提供することを目的とするものである。
【0018】
【課題を解決するための手段】
本発明は、ホスト機器と外部機器が接続されたシステムにおけるプログラム更新方法において、前記外部機器に付属機器が接続された時に前記外部機器は前記ホスト機器に対して付属機器が増設されたことを通知し、通知を受けた前記ホスト機器は前記付属機器を動作させるために必要なプログラムを前記外部機器に対して送り、前記外部機器は前記ホスト機器から送られてきたプログラムをメモリに格納し、前記外部機器は、同じ種類の付属機器がすでに装着されており、装着されている付属機器と共存できる場合には、前記ホスト機器へ前記付属機器が追加されたことを通知せずに既存のプログラムを用いることを特徴とするものである。
【0019】
なお、前記外部機器は、接続された付属機器がすでに装着されている同じ種類の付属機器と共存できない場合は、前記ホスト機器へ前記付属機器が追加されたことを通知せずに前記付属機器を無効とするように構成することができる。
【0034】
【発明の実施の形態】
図1は、本発明が適用されるシステムの基本構成例を示すブロック図である。図中の符号は図30と同様である。ホスト機器2に対し、接続、切り離し可能な外部機器1が接続されており、更に、外部機器1には、着脱可能な付属機器3が接続されている。外部機器1とホスト機器2との接続や外部機器1と付属機器3との接続は、それぞれ、任意のインタフェースを用いて行うことができる。
【0035】
外部機器1は、付属機器3の着脱を検知する機能を持っており、またホスト機器2に対して付属機器3の着脱状況を通知する機能を有している。ホスト機器2は、外部機器1の通知を元に必要なソフトウェア等のプログラムや、その他の各種のデータなどを準備し、外部機器1に対して転送する。外部機器1は、ホスト機器2より送られてくるソフトウェア等のプログラムやその他のデータなどを受け取って内部のメモリに格納すると、付属機器3の制御準備や、必要な処理動作に移り、該当する機能の制御を開始する。
【0036】
以下、このような基本構成例を用いた本発明の実施の形態について示す。なお、以下に示す実施の形態において示した構成は、それぞれを適宜組み合わせることも可能であり、組み合わせた構成も本発明に含まれるものである。
【0037】
図2は、本発明の第1の実施の形態を示すブロック図である。図中、図1と同様の部分には同じ符号を付してある。11は記憶部、12は転送部、13は判断部、14は認識部、21は記憶部、22は制御部、23は転送部、31は通知情報、32はデータである。
【0038】
外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。付属機器3の着脱は通知情報31としてホスト機器2に通知される。ホスト機器2は通知情報31を受けて、付属機器3に対応するプログラムを含むデータ32を外部機器1に転送する。
【0039】
外部機器1は、記憶部11、転送部12、判断部13、認識部14などにより構成されている。記憶部11は、各種のデータやアプリケーション、ドライバなどのプログラムを記憶する。転送部12は、プログラムを含む各種のデータ32や通知情報31などをホスト機器2との間で送受信する。判断部13は、自由に着脱される付属機器3の種類を判別する。認識部14は、付属機器3の物理的な着脱または論理的な着脱を検知する。
【0040】
一方、ホスト機器2においては、記憶部21、制御部22、転送部23などによって構成されている。記憶部21は、外部機器1に対してダウンロードする各種データやプログラムを一時または長期的に記憶しておく。制御部22は、各種処理やデータの制御指示などを行う。転送部23は、外部機器1とプログラムを含む各種のデータ32や通知情報31などの送受信を行う。
【0041】
本発明の第1の実施の形態における動作の一例について説明する。付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報、または、認識部14に対して詳細情報を要求することによって得られる情報を元に、接続された機器を特定する。そして、判断部13は特定した機器の情報を転送部12に渡し、ホスト機器2に対し、通知情報31として転送させる。
【0042】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムなどから該当するものを選び出す。選び出されたデータ、プログラムは、必要なら制御部22により加工され、転送部23に渡される。転送部23は与えられたデータ、プログラムをデータ32として外部機器1に送信する。
【0043】
外部機器1は、転送部12にてデータ32を受け取る。受け取ったデータ32は記憶部11に格納され、外部機器1にて使用または実行される。このようにして、外部機器1に接続された付属機器3に対応するプログラムが外部機器1に転送され、外部機器1を利用できるようになる。
【0044】
図3は、本発明の第2の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。41はファイル、42はホスト用ドライバ部、43は外部機器用ソフトウェア部である。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。付属機器3からは付属機器3が接続されたときに通知情報31がホスト機器2に送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。ファイル41はホスト機器2が保持するデータであり、記憶部21に格納されている。ファイル41は、ホスト機器2で動作するホスト用ドライバ部42と外部機器1で動作する外部機器用ソフトウェア部43にて構成されている。
【0045】
ホスト機器2に外部機器1用のドライバソフトウェアがインストールされると、このドライバソフトウェアは、ファイル41として記憶部21に格納される。ホスト機器2は、ファイル41のホスト用ドライバ部42を使用して、外部機器1の制御、通信を行う。外部機器1より付属機器が接続された旨の通知情報31を受け取ると、制御部22は記憶部21に格納されているファイル41の中から、外部機器用ソフトウェア部43を検索し、通知情報31に対応するデータやプログラムを取り出す。なお、あらかじめファイル41から外部機器用ソフトウェア部43を切り出しておいてもよい。制御部22は、取り出したデータやプログラムを転送部23に渡し、データ32として外部機器1に送信する。
【0046】
このようにして、ユーザは外部機器のドライバソフトウェアをインストールしておくだけで、付属機器を動作させるのに必要なプログラムを意識することなく、外部機器のプログラムを更新することができる。換言すれば、ユーザはホスト機器2上で動作する外部機器1に対応するドライバソフトウェアを、外部機器1に添付の記憶媒体や外部機器メーカーのホームページなどからダウンロードしてインストールするだけで、付属機器3を動作させるのに必要なプログラムが外部機器1に転送され、プログラムを更新することができる。
【0047】
図4は、本発明の第3の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。15,24は警告部である。外部機器1がホスト機器2と接続されている。付属機器3は外部機器1に着脱される。外部機器1に付属機器3が接続されると、ホスト機器2に対して通知情報31が送られる。外部機器1より通知情報31が送られて来ると、ホスト機器2は制御部22にて、記憶部21に該当するデータやプログラムがあるか否かを検索する。検索の結果、該当するデータやプログラムがない場合、制御部22は警告部24に対し、警告を行うように指示する。警告部24は、制御部22の指示に従い、ユーザに対して警告を発する。
【0048】
制御部22は更に、警告データを用意し、転送部23に対し、外部機器1へ警告データをデータ32として送るように指示する。転送部23は、データ32を外部機器1に転送する。外部機器1は転送部12にてデータ32を受け取る。警告部15は、転送部12よりデータ32を受け取り、警告を発する。また、警告部15は付属機器3の接続を無効にする。
【0049】
このようにして付属機器3に対応するデータやプログラムが存在しない場合に、ユーザに対して警告を発することによって、接続した付属機器3が動作しないことをユーザに報知することができる。また、ユーザは、警告が発せられたときのみ、例えば外部機器1用のデバイスドライバなどをダウンロード及びインストールすればよい。なお、この例ではホスト機器2と外部機器1の2ヶ所で警告を発しているが、どちらか一方でも構わない。また、付属機器3の無効化を必ずしも行う必要はない。
【0050】
図5は、本発明の第4の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。33は問い合わせ情報である。外部機器1とホスト機器2が接続されている。外部機器1に付属機器3が接続されると、外部機器1は接続情報を保持しておく。ホスト機器2は定期的、または不定期に外部機器1に対して、付属機器3の状態変化を確認するために問い合わせ情報33を送信する。外部機器1は問い合わせ情報33を受け取ると、機器の接続変化があった場合は通知情報31をホスト機器2に返し、データ、プログラムを要求する。機器の接続変化がなかった場合は、通知情報31に変化がなかったことを示す通知情報31をホスト機器2に返すか、何も返さない。
【0051】
機器の接続の変化があった場合に通知情報31を外部機器1からホスト機器2へ送った後は、上述の各実施の形態と同様に、ホスト機器2は、外部機器1に接続されている付属機器3を動作させるために必要なデータ及びプログラム等をデータ32として外部機器1に転送し、プログラムの更新を行う。
【0052】
このような構成によって、ホスト機器2の動作にあわせて外部機器1内のプログラムを更新することができる。例えばホスト機器2における準備が整う前に外部機器1から付属機器が追加された旨の通知31を受けてしまうといった不具合を防ぐことができる。
【0053】
図6は、本発明の第5の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。16は検索部である。外部機器1にホスト機器2が接続されている。また、外部機器1には着脱可能な付属機器3が着脱される。外部機器1は、記憶部11、転送部12、判断部13、認識部14とともに、検索部16を具備している。記憶部11、転送部12、判断部13、認識部14は上述の第1の実施の形態と同様である。検索部16は、ソフトウェアの有無やそのバージョンを検索する。なお、ホスト機器2の構成は上述の第1の実施の形態と同様である。
【0054】
この第5の実施の形態における動作の一例を説明する。付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された機器を特定する。判断部13は、特定した機器の情報を検索部16に渡す。検索部16は、記憶部11の中に存在するデータやプログラムを調べ、付属機器3に必要なデータやプログラムが既に存在しているか否かを確認する。付属機器3に必要なデータやプログラムが存在した場合、検索部16は更に、そのデータやプログラムのバージョン情報を検索する。検索部16は、接続された付属機器3の種類と、関連データ、プログラムの有無、および存在する場合はバージョンを転送部12に渡し、ホスト機器2に対して通知情報31として転送させる。
【0055】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムなどから該当するものを選び出す。選び出されたデータ、プログラムは、制御部22によりバージョンのチェックを受ける。データやプログラムが通知情報31との比較の結果、新しいバージョンであることが判明した場合、制御部22は必要に応じて記憶部21に格納されているデータ、プログラムを転送用に加工し、転送部23に渡す。転送部23は与えられたデータ、プログラムをデータ32として外部機器1に送信する。
【0056】
外部機器1は転送部12にてデータ32を受け取る。受け取ったデータ32は記憶部11に格納され、古いバージョンのデータやソフトウェアがある場合はそれを置きかえる。記憶部11に格納されたデータ、プログラムは外部機器1にて使用または実行される。このようにして、最新のプログラムやデータが外部機器1に転送されるので、外部機器1では常に最新のプログラムによって更新され、仕様または実行することができる。
【0057】
図7は、本発明の第6の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。34は調査手順情報である。外部機器1にホスト機器2が接続されている。外部機器1には付属機器3が着脱される。付属機器3の着脱は通知情報31としてホスト機器2に通知される。ホスト機器2は通知情報31を受けて、接続された付属機器3を特定する手順を示した調査手順情報34を外部機器1に転送する。外部機器1では、受け取った調査手順情報34に従って接続された付属機器3を特定し、特定した付属機器3の情報を含む通知情報31をホスト機器2に通知する。ホスト機器2は通知情報31を受けて、接続された付属機器3に対応するデータやプログラムをデータ32として外部機器1に転送する。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態と同様である。
【0058】
この第6の実施の形態における動作の詳細の一例を説明する。付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から受け取った接続情報、または最低限のインタフェース情報を転送部12に渡し、ホスト機器2に対して通知情報31として転送させる。
【0059】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈し、付属機器3を調査する手順(アクセスの仕方、取り出したデータの解釈方法など)を記憶部21の中から選び出し、転送部23に渡す。転送部23は与えられた調査方法に関するデータを調査手順情報34として外部機器1に送信する。
【0060】
外部機器1は、転送部12にて調査手順情報34を受け取る。受け取った調査手順情報34は記憶部11に格納され、判断部13にて実行される。判断部13は、認識部14を通して、接続された付属機器3を手順に従って特定する。判断部13は、特定した機器の情報を転送部12に渡し、ホスト機器2に対し、再び通知情報31として転送させる。
【0061】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムなどから該当するものを選び出す。選び出されたデータ、プログラムは、必要なら制御部22により加工され、転送部23に渡される。転送部23は、与えられたデータ、プログラムをデータ32として外部機器1に送信する。外部機器1は、転送部12にてデータ32を受け取る。受け取ったデータ32は記憶部11に格納され、外部機器1にて使用または実行される。
【0062】
このようにして、付属機器3が接続されるとホスト機器2から調査手順情報34を外部機器1に転送して、付属機器3の調査を行う。例えばUSBやIEEE1394などのインタフェースの規格がバージョンアップした場合などのように、付属機器の種別を調べる手順やフォーマットが変更されることが予想される。調査手順情報34をホスト機器2から転送することによって、このようなインタフェースのバージョンアップにも対応し、外部機器1は常に正しい手順で付属機器3の調査を行って、正しいプログラムの更新を行うことができる。
【0063】
図8は、本発明の第7の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。3−1,3−2は付属機器である。外部機器1にホスト機器2が接続されている。外部機器1には着脱可能な付属機器3−1が接続されており、更に同じく付属機器3−2が着脱される。外部機器1及びホスト機器2の構成は上述の第1の実施の形態と同様であるが、判断部13は自由に着脱される付属機器3−1と付属機器3−2の種類を判別し処理内容を判断する。また認識部14は、付属機器3−1及び付属機器3−2の物理的な着脱または論理的な着脱を検知する。
【0064】
この第7の実施の形態における動作の詳細の一例を説明する。付属機器3−1が外部機器1に接続された状態で、付属機器3−1と同じ種類の付属機器3−2が接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された付属機器3−2を特定する。判断部13は、特定した付属機器3−2の情報を元に、記憶部11の中に存在するデータやプログラムを調べ、付属機器3−2に必要なデータやプログラムが既に存在しているか否かを確認する。データやプログラムが存在していた場合、判断部13は転送部12に対し、機器接続の通知を伝えない。判断部13は、付属機器3−2が付属機器3−1と共存できる機器であるか否かを判断し、できない場合は無効とする。また、共存できる場合には、既存のデータやプログラムによって付属機器3−2についても動作させる。
【0065】
なお、付属機器3−2に必要なデータやプログラムが記憶部11の中に存在していない場合には、ホスト機器2に対して通知情報を送り、ホスト機器2から付属機器3−2に必要なデータやプログラムを受け取って記憶部11に格納し、外部機器1によって仕様または実行される。
【0066】
このように、同じ種類の付属機器がすでに外部機器に装着されている場合などのように、接続された付属機器に必要なデータやプログラムがすでに存在する場合には、そのデータやプログラムを利用することによって、ホスト機器2とのデータ転送を減少させるとともに、外部機器において無駄なメモリ領域の使用を防止することができる。
【0067】
図9は、本発明の第8の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。17は設定部である。外部機器1にホスト機器2が接続されている。外部機器1には付属機器3が着脱される。この実施の形態では、外部機器1に設定部17が設けられている。設定部17は、ユーザが付属機器の扱いを設定するために使用するものであり、例えば外部機器1に設けられたコントロールパネルなどによって構成することができる。そのほかの構成は上述の第1の実施の形態と同様である。
【0068】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られた情報を元に、接続された機器を特定する。一方、ユーザは設定部17にて、付属機器3の接続をホスト機器2に通知するか否かを予め設定しておく。設定情報は記憶部11に格納されているものとする。判断部13は、特定した機器の情報をホスト機器2に通知するか否かを、記憶部11に格納されている設定情報を元に判断する。通知が不許可の場合、判断部13は転送部12に対して付属機器が接続された旨を通知しない。また、通知が許可されている場合には、上述の各実施の形態と同様に、判断部13は転送部12に対して付属機器が接続された旨を通知し、転送部12は通知情報31としてホスト機器2へ通知する。そしてホスト機器2から送られてくるデータやプログラムなどのデータ32を受け取って記憶部11に格納し、使用または実行することになる。
【0069】
例えば、外部機器に付属機器を接続したとしても、その他の機器を準備しなければ使用することができない場合、あらかじめユーザが設定部17を使用してホスト機器2に対する通知を不許可にしておくことができる。そして他の機器の準備が完了し、使用できる状態となったとき、最後の付属機器の接続前に、ユーザが設定部17を使用してホスト機器2に対する通知を許可しておけばよい。最後の付属機器の接続によって、必要なプログラムがホスト機器2から外部機器1に転送されて、付属機器が使用可能となる。
【0070】
図10は、本発明の第9の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。51は機器情報、52は格納場所情報である。外部機器1にホスト機器2が接続されている。外部機器1には付属機器3が着脱される。外部機器1及びホスト機器2の構成は上述の第1の実施の形態と同様である。ホスト機器2に通知される通知情報31は、付属機器3に関する機器情報51と、データやプログラムの格納されている場所が示されている格納場所情報52を含んで構成されている。
【0071】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された付属機器3を特定する。このとき、付属機器3が格納場所情報52を持っている場合は、判断部13にて付属機器3から格納場所情報52を取得する。付属機器3が格納場所情報52を持っていない場合は、記憶部11の中を検索し、過去のダウンロードにおいて該当するものがあるか否かを調べる。該当するものがある場合は格納場所情報52として付加する。判断部13は、特定した機器情報51と格納場所情報52を通知情報31として加工し、転送部12に渡し、ホスト機器2に対し、通知情報31として転送させる。ホスト機器2は、外部機器1からの通知情報31を受け取る。ホスト機器2は受け取った通知情報31から、必要に応じて格納場所情報52を取り出し、その格納場所情報52によって示されている場所、例えばURLであればインターネットからプログラムをダウンロードし、あるいはファイルロケーションであればそのファイルを取得する。そして必要に応じて加工した後、外部機器1に対してデータ32として転送され、外部機器1のプログラムが更新される。
【0072】
このようにして、格納場所情報52をホスト機器2へ転送することによって、例えば格納場所情報52がURLであれば、常に最新のプログラムをダウンロードして外部機器1におけるプログラムの更新を行うことができる。また、格納場所情報52がファイルロケーション等であれば、最適なプログラムを選択して外部機器1におけるプログラムの更新を行うことができる。
【0073】
図11は、本発明の第10の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。25は再構成部である。この第10の実施の形態から第21の実施の形態までにおいては、外部機器1に転送するプログラムをホスト機器2において再構成してから転送する例を示している。
【0074】
ホスト機器2に対し、接続、切り離し可能な外部機器1が接続されており、更に、外部機器1には、着脱可能な付属機器3が接続されている。外部機器1は付属機器3の着脱検知をする機能を持っており、ホスト機器2に対し、付属機器3の着脱状況を通知する。ホスト機器2は、外部機器1の通知を元に必要なソフトウェアやその他のデータなどを準備し、外部機器1に対して転送する。外部機器1は、ホスト機器2より送られてくるソフトウェアやその他のデータなどを受け取ると、内部のメモリに格納し、付属機器3の制御準備や、必要な処理動作に移り、該当する機能の制御を開始する。
【0075】
ホスト機器2には再構成部25が設けられている。この再構成部25は、外部機器1に送るデータやプログラムを単純に用意するのではなく、組み替えや最適化してオブジェクトを再構成する機能を持っている。なお、その他の構成は上述の第1の実施の形態などと同様である。
【0076】
第10の実施の形態における動作の一例を説明する。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。付属機器3の着脱は通知情報31としてホスト機器2に通知される。ホスト機器2は外部機器1からの通知情報31を転送部23にて受け取る。制御部22は転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムのオブジェクト(実行ファイル)から必要なもの全てを選び出す。選び出されたデータ、プログラムは、再構成部25に渡され、実行用オブジェクトに再構成される。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り,使用または実行する。なお、ここで使われる必要なプログラムやデータの特定方法は、ホスト機器が管理していてもよいし、外部機器から与えられてもよい。
【0077】
このようにホスト機器2においてプログラムオブジェクトを再構成して外部機器1に転送することによって、外部機器1と付属機器3を動作させるプログラムを、動作速度やメモリ使用量などの点で最適な形態で転送し、更新することができるという利点を有している。
【0078】
図12は、本発明の第11の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。26は他CPU用再構成部である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0079】
ホスト機器2には、他CPU用再構成部26が設けられている。他CPU用再構成部26は、各種データやプログラムを外部機器1用のCPU(またはコントローラなど)の仕様に合わせた形で再構築する。例えば外部機器1用のCPU(またはコントローラなど)に対応したコンパイラやリンカなどの再構成環境を提供している。そのほかの構成は、上述の第1及び第10の実施の形態などと同様である。
【0080】
付属機器3が外部機器1に接続された場合、付属機器3は通知情報31をホスト機器2に送る。ホスト機器2は外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムのオブジェクト(実行ファイル)から必要なもの全てを選び出す。選び出されたデータ、プログラムは、他CPU用再構成部26に渡され、外部機器1のCPUやコントローラで実行できるオブジェクトに再構成される。再構成されたオブジェクトは他CPU用再構成部26から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。なお、ここで使われる必要なプログラムやデータの特定方法は、ホスト機器が管理していてもよいし、外部機器から与えられてもよい。
【0081】
このように、外部機器1に転送されるプログラムオブジェクトは、外部機器1のCPUやコントローラに最適な再構成が施されているので、動作速度やメモリ使用量などの点で最適なプログラムによって更新することができる。
【0082】
図13は、本発明の第12の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0083】
ホスト機器2には、再構成部25が設けられている。この第12の実施の形態においては、再構成部25は、外部機器1に転送するプログラムをソースファイルからコンパイルしてオブジェクトを再構成(リメイク)する。そのほかの構成は、上述の第1及び第10の実施の形態などと同様である。
【0084】
付属機器3が外部機器1に接続された場合、付属機器3は通知情報31をホスト機器2に送る。ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラム(ソースファイル)から必要なもの全てを選び出す。選び出されたデータ、プログラム(ソースファイル)は再構成部25に渡され、オブジェクトにコンパイルされる。コンパイルされたオブジェクトは更にリンクされ外部機器1用のオブジェクトとしてまとめられる。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。なお、ここで使われる必要なプログラムやデータの特定方法は、ホスト機器が管理していてもよいし、外部機器から与えられてもよい。
【0085】
このようにソースファイルから再構成(リメイク)することによって、外部機器で使用しているCPUが複数の種類であっても、外部機器と付属機器を動作させるソフトウェアをソースコードで配布しておけば、各ユーザが使用している外部機器のCPUの種類に合わせて、プログラムオブジェクトを再構成することができる。
【0086】
図14は、本発明の第13の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。61は管理情報、62,63は機器情報、64は新規接続機器情報である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。なお、外部機器1及びホスト機器2の構成は、上述の第1及び第10の実施の形態などと同様であるが、外部機器1の記憶部11には、外部機器1に接続されている付属機器3の機器情報が管理情報61として保持されている。
【0087】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された付属機器3を特定する。判断部13は、特定した付属機器3の情報を新規接続機器情報64として記憶部11に保持し、既に記憶保持している管理情報61を調べる。管理情報61の例を図14(B)に示しており、ここでは機器情報62,63が格納されている。判断部13は、管理情報61から既に接続されている機器情報62,63や必要なソフトウェア情報を取り出し、一時保持した新規接続機器情報64と共に通知情報31としてまとめる。まとめられた通知情報31を図14(C)に示している。通知情報31は転送部12に渡され、ホスト機器2に対して転送される。
【0088】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈し、記憶部21に格納されているデータ、プログラムから必要なもの全てを選び出す。選び出されたデータ、プログラムは、再構成部25に渡され、外部機器1用のオブジェクトとして再構成される。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。なお、データ32を受け取った時点で、新規接続機器情報64は管理情報61に機器情報として登録される。
【0089】
このように、新規に接続された付属機器の情報だけでなく、すでに組み込まれている付属機器やすでにインストールされているソフトウェア情報などをホスト機器2に通知することによって、これらの機器構成において最適なプログラムオブジェクトを再構成して外部機器1に転送し、プログラムの更新を行うことができる。
【0090】
図15は、本発明の第14の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。71は管理情報、72,73は機器情報である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。なお、外部機器1及びホスト機器2の構成は、上述の第1及び第10の実施の形態などと同様であるが、ホスト機器2の記憶部21には、外部機器1に接続されている付属機器3の機器情報が管理情報71として保持されている。図15(C)に示す例では機器情報72,73が保持されている例を示している。
【0091】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られた情報を元に、接続された付属機器3を特定する。判断部13は特定した付属機器3の情報を通知情報31として転送部12に渡し、ホスト機器2に対して転送させる。この第14の実施の形態では、通知情報31は図15(B)に示すように新たに接続された付属機器3の情報を新規接続機器情報64として含んでいる。
【0092】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈する。更に、制御部22は記憶部21に保持してある管理情報71を調べ、現在外部機器1に接続されている、新規以外の付属機器3および関連プログラムについての情報を得る。制御部22は、この新規以外の付属機器3および関連プログラムについての情報と、通知情報31として受け取った新規接続機器情報64の2つの情報を元に、記憶部21に格納されているデータ、プログラムから必要なもの全てを選び出す。選び出されたデータ、プログラムは、再構成部25に渡され、外部機器1用のオブジェクトとして再構成される。再構成されたオブジェクトは、再構成部25から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。なお、データ32を送った時点または、外部機器1からデータ32の受け取り完了通知があった時点で、新規接続機器情報64は管理情報71に機器情報として登録される。
【0093】
このように、すでに組み込まれている付属機器やすでにインストールされているソフトウェア情報などをホスト機器2において管理し、新規に接続された付属機器の情報のみを外部機器1からホスト機器2に通知するので、通知情報31のデータ量を低減することができる。また、すでに組み込まれている付属機器の情報と新たに接続された付属機器の情報の両方を用いることによって、これらの機器構成において最適なプログラムオブジェクトを再構成して外部機器1に転送し、プログラムの更新を行うことができる。
【0094】
図16は、本発明の第15の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。27は圧縮部である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0095】
ホスト機器2には、圧縮部27が設けられている。圧縮部27は、再構築するプログラムの一部または全部を必要に応じて圧縮する。なお、ホスト機器2のその他の構成、及び外部機器1の構成は、上述の第1及び第10の実施の形態などと同様である。
【0096】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された付属機器3を特定する。判断部13は、特定した付属機器3の情報と、プログラム(オブジェクト)の保存用として割り当てられる記憶部11中の大きさを通知情報31として転送部12に渡し、ホスト機器2に対して転送させる。
【0097】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈する。制御部22は、記憶部21に格納されているデータ、プログラムから必要なものを選び出す。選び出されたデータ、プログラムは、再構成部25に渡され、外部機器1用のオブジェクトとして再構成される。再構成されたオブジェクトは、その大きさが制御部22によりチェックされる。オブジェクトの大きさが、外部機器1から与えられたものより大きい場合は、再構成部25を経由し、圧縮部27にて圧縮される。圧縮またはフルサイズのオブジェクトは転送部23に渡される。転送部23は、与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。実行時には圧縮されたプログラムは展開されるものとする。なお、この例では外部機器1側で記憶部11の空き領域の大きさを管理しているが、これはホスト機器2側で管理してもよい。
【0098】
このような構成によって、外部機器1の記憶部11の容量を越えるプログラムも外部機器1に転送することができ、また、記憶部11の容量を変更することなくプログラムの更新を行うことができる。
【0099】
図17は、本発明の第16の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。81は優先情報である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。なお、外部機器1及びホスト機器2の構成、及び外部機器1の構成は、上述の第1及び第10の実施の形態などと同様であるが、ホスト機器2の記憶部21には、外部機器1に接続される付属機器3ごとの優先情報81が格納されている。図17(B)に示す例では、機器1と機器2についての優先情報81が格納されている例を示している。
【0100】
付属機器3が外部機器1に接続された場合、通知情報31がホスト機器2に対し転送されてくる。この通知情報31には、外部機器1に接続されている全ての付属機器3の情報が含まれているものとする。ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈する。更に、制御部22は記憶部21に保持してある優先情報81を調べ、現在、外部機器1に接続されている全ての付属機器3および関連プログラムについて、それぞれの優先順位を得る。制御部22は、通知情報31を元に、記憶部21に格納されているデータ、プログラムから必要なもの全てを選び出し、優先順位に従った再構成の指示とともに再構成部25に渡す。再構成部25は、制御部22からの指示に従い、プログラムの再構成を行って、外部機器1用のオブジェクトを作り出す。このとき、指示された優先順位に従って付属機器を駆動するデバイスドライバの割り込み優先順位を割り付ける。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は、与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。
【0101】
このように、付属機器3の優先順位に従ってプログラムオブジェクトを再構成して外部機器1に転送するので、例えば動作速度や動作順序などの優先順の観点で最適なプログラムにより外部機器1のプログラムを更新することができる。
【0102】
なお、上述の例では優先情報81はホスト機器2側が有していたが、例えば外部機器1側で保持しておき、優先情報81も通知情報31としてホスト機器2に転送するように構成してもよい。また上述の説明では、通知情報31として外部機器1に接続されているすべての付属機器3の情報をホスト機器2に転送するものとしたが、例えば新規に接続された付属機器3の情報だけをホスト機器2に転送するように構成してもよい。
【0103】
図18は、本発明の第17の実施の形態を示すブロック図である。図中、図2及び図11と同様の部分には同じ符号を付してある。28は外部検索部、91は格納場所情報である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0104】
ホスト機器2は、外部検索部28を有するとともに、ネットワークなどを介して外部に接続されている。外部検索部28は、ネットワークなどを通じ、外部のホームページの検索、通信、データのダウンロード等を行う。また記憶部21には、各付属機器3毎に当該付属機器3に対応する各種データやプログラムの格納場所を示す格納場所情報91が格納されている。図18(B)に示す例では機器1と機器2に対応する各種データやプログラムなどの格納場所が登録されている例を示している。なお、ホスト機器2のその他の構成、及び外部機器1の構成は、上述の第1及び第10の実施の形態などと同様である。
【0105】
付属機器3が外部機器1に接続された場合、通知情報31がホスト機器2に対し転送されてくる。ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は転送部23が受け取った通知情報31を解釈する。更に、制御部22は、記憶部21に保持されている格納場所情報91を調べ、最新の関連データ、プログラムが格納されている場所を知る。制御部22は、この情報を外部検索部28に渡す。外部検索部28は、与えられた情報に従い、ネットワーク上や、各ホームページから該当するデータの格納場所を探し出し、最新のデータがあればダウンロードする。データがダウンロードされた場合は、古いバージョンのものと置き替える。制御部22は、データのダウンロード終了、または変更なしの応答を待って、新たな、または既存のデータやプログラムから必要なものを全て選び出し、再構成部25に渡す。再構成部25は、プログラムの再構成を行い、外部機器1用のオブジェクトを作り出す。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は、与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。なお、この例では格納場所情報91をホスト機器2側が保持している例を示したが、外部機器1側で格納場所情報91を保持しておき、通知情報31とともにホスト機器2へ転送しても構わない。
【0106】
このように、格納場所情報91に従って最新のデータやプログラムを自動検索することによって、常に最新のプログラムによって更新し、常に最新の状態で外部機器1及び付属機器3を動作させることができる。
【0107】
図19は、本発明の第18の実施の形態を示すブロック図である。図中、図2、図8、図11、図14と同様の部分には同じ符号を付してある。18は計測部、53は機器使用情報である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0108】
外部機器1は、計測部18を有している。計測部18は、付属機器3−1や付属機器3−2などの付属機器の使用状況を計測する。その他の外部機器1の構成は上述の第1,第7,第13の実施の形態などと同様であるが、第13の実施の形態と同様に記憶部11には接続されている付属機器3−1,3−2などの機器情報62,63を管理情報61(図19(B))として保持している。また、ホスト機器2に転送する通知情報31には、図19(C)に示すように、新たに接続された付属機器に関する情報である新規接続機器情報64とともに。計測部18による計測結果に基づいた機器使用情報53が含まれている。ホスト機器2の構成も上述の第1,第10の実施の形態などと同様である。
【0109】
付属機器3−1が予め接続されている状況で、付属機器3−2が外部機器1に接続された場合、通知情報31がホスト機器2に対し転送される。このとき、付属機器3−1が予め定められた一定時間以上動作していない場合、計測部18は付属機器31が非稼動であるとして、記憶部11に格納されている管理情報61の付属機器31に対応する機器情報、例えば機器情報62に非稼動であることを示しておく。
【0110】
外部機器1から通知情報31がホスト機器2に対し転送されるとき、判断部13は、管理情報61から各付属機器の稼動状態を検索する。いま、機器情報62に付属機器3−1が非稼動であることが記されているとすれば、判断部13はホスト機器2に転送する通知情報31に、新たに接続された付属機器3−2の情報である新規接続機器情報64と、付属機器3−1が非稼動であることを示す機器使用情報53を転送部12に渡す。
【0111】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈する。制御部22は、自らが管理する付属機器の管理情報と、外部機器1から新たに送られてきた通知情報31を元に、記憶部21に保持してある関連データ、プログラムを検索し、必要なものから再構成部25にてオブジェクトを生成しなおす。このとき、非稼動の付属機器(この例では付属機器3−1)に関連するものは選択されない。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。
【0112】
このようにして、あらかじめ決められた時間、動作していない付属機器についてはその付属機器を動作させるためのプログラムを組み込まずにオブジェクトを再構成するので、外部機器1においては使用するプログラムのみで構成されたプログラムによって常に更新され、メモリの使用を常に最適化することができる。
【0113】
なお、機器の管理情報は外部機器1側、ホスト機器2側の双方またはどちらか一方が持っていてもよい。また、通知情報に付加される情報には、全ての付属機器に関するデータが含まれていても、変化した(新たに接続され、あるいは新たに非稼働とされた)付属機器のデータのみが含まれていても構わない。
【0114】
図20は、本発明の第19の実施の形態を示すブロック図である。図中、図2、図8、図11、図14、図19と同様の部分には同じ符号を付してある。19は検知部、54は機器故障情報である。外部機器1が2ホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0115】
外部機器1は、検知部19を有している。検知部19は、付属機器3−1や付属機器3−2などの付属機器の故障状況を検知する。その他の外部機器1の構成は上述の第1,第7,第13,第18の実施の形態などと同様であるが、第13、第19の実施の形態と同様に記憶部11には接続されている付属機器3−1,3−2などの機器情報62,63を管理情報61(図20(B))として保持している。また、ホスト機器2に転送する通知情報31には、図20(C)に示すように、新たに接続された付属機器に関する情報である新規接続機器情報64とともに、検知部19で故障が検知された付属機器に関する機器故障情報54が含まれている。ホスト機器2の構成も上述の第1,第10の実施の形態などと同様である。
【0116】
付属機器3−1が予め接続されている状況で、付属機器3−2が外部機器1に接続された場合、通知情報31がホスト機器2に対して転送される。このとき、付属機器3−1が機能していない場合、検知部19は付属機器3−1が故障中であるとして、記憶部11に格納されている管理情報61の付属機器3−1に対応する機器情報(ここでは機器情報62)に故障中であることを示しておく。通知情報31がホスト機器2に対して転送されるとき、判断部13は、管理情報61より、各付属機器の稼動状態を検索する。いま、機器情報62に付属機器3−1が故障中であることが記されているとすると、判断部13はホスト機器2に転送する通知情報31に、新たに接続された付属機器3−2の情報である新規接続機器情報64と、付属機器3−1の故障を示す機器故障情報54を転送部12に渡す。
【0117】
ホスト機器2は、外部機器1からの通知情報31を転送部23にて受け取る。制御部22は、転送部23が受け取った通知情報31を解釈する。制御部22は、自らが管理する付属機器の管理情報と、外部機器1から新たに送られてきた通知情報31を元に、記憶部21に保持してある関連データ、プログラムを検索し、必要なものから再構成部25にてオブジェクトを再構成する。このとき、故障中の付属機器に関連するものは選択されない。再構成されたオブジェクトは再構成部25から制御部22を通じて転送部23に渡される。転送部23は、与えられたデータ、プログラムオブジェクトをデータ32として外部機器1に送信する。外部機器1はデータ32を受け取り、使用または実行する。
【0118】
このようにして、障害の発生した付属機器については、その旨をホスト機器2に伝えて、その付属機器を動作させるためのプログラムを組み込まずにオブジェクトを再構成するので、外部機器1においては常に安定動作が可能なプログラムのみで動作することができる。また、動作可能な付属機器に対応するプログラムのみによって常に更新されるため、メモリの使用を常に最適化することができる。
【0119】
なお、付属機器の管理情報は外部機器1側、ホスト機器2側の双方またはどちらか一方が持っていてもよい。また、通知情報31に付加される情報には、全ての付属機器に関するデータが含まれていても、変化した付属機器(新たに接続された付属機器、及び、新たに障害が発生あるいは障害が復旧した付属機器)のデータのみが含まれていても構わない。また、ここでは新規に接続された付属機器がある場合をトリガーにして故障した機器の情報をホスト側に送っているが、これに限らず、例えば故障が発覚あるいは復旧を検知した時点で行ったり、定期的に行う構成でも構わない。
【0120】
図21は、本発明の第20の実施の形態を示すブロック図である。図中、図2、図11と同様の部分には同じ符号を付してある。29は計測部である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。
【0121】
ホスト機器2には、計測部29が設けられている。計測部29は、一定の時間ごとに制御部22に通知する機能を有している。そのほかの構成については、上述の第1,第10の実施の形態と同様である。
【0122】
ホスト機器2において計測部29が一定の時間が過ぎたことを制御部22に通知する。通知を受けた制御部22は転送部23に対し、通知情報31を送信してくるように命令を与えるデータを送信させる。命令を受けた外部機器1は、現在の付属機器の接続状況を通知情報31として送り返す。ホスト機器2は、送り返されてきた通知情報31を元に、必要なら記憶部21からデータ、プログラムを取り出し、再構成部25に与え、オブジェクトを作り直す。新たなオブジェクトはデータ32として転送部23より外部機器1に送られる。
【0123】
このような構成によって、プログラムオブジェクトの再構成及び外部機器1のプログラムの更新を所定の時間毎に行うことができ、外部機器1では常に最新の状態で動作することが可能になる。なお、ここでは、ホスト機器2側が再構成のタイミングを計測しているが、これは外部機器1側で計測してもよい。
【0124】
図22は、本発明の第21の実施の形態を示すブロック図である。図中、図2、図10、図11と同様の部分には同じ符号を付してある。外部機器1にホスト機器2が接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は、上述の第1,第10の実施の形態と同様である。この例では、外部機器1からホスト機器2に転送される通知情報31は、図22(B)に示すように、付属機器3に関する機器情報51とともに、付属機器3に対応するデータやプログラムが格納されている場所を示す格納場所情報52が通知される。
【0125】
付属機器3が外部機器1に接続された場合、認識部14は接続が発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、接続された付属機器3を特定する。このとき、付属機器3が格納場所情報52を持っている場合は、判断部13にて取得する。付属機器3が格納場所情報52を持っていない場合は、記憶部11の中を検索し、過去のプログラムの更新において該当するものがあるか否かを調べる。該当するものがある場合は格納場所情報52として付加する。判断部13は、特定した付属機器3に対応する機器情報51と格納場所情報52を通知情報31として加工して転送部12に渡し、ホスト機器2に対して通知情報31として転送させる。ホスト機器2は、外部機器1からの通知情報31を受け取る。ホスト機器2は、受け取った通知情報31から、必要に応じて格納場所情報52を取り出し、例えば格納場所情報52がURLであればインターネットなどから最新のプログラムのダウンロードし、また格納場所情報52がファイルロケーションであればそのファイルロケーションからプログラムファイルを取得し、オブジェクトを再構成して、外部機器1に送り返す。
【0126】
このようにして、所定の場所から最新の、また最適な、プログラムを外部機器1に転送し、利用することができる。
【0127】
図23は、本発明の第22の実施の形態を示すブロック図である。図中、図2と同様の部分には同じ符号を付してある。101はS/W管理領域である。この第22の実施の形態から第28の実施の形態においては、外部機器1から付属機器3が取り外されたときに、外部機器1が自動的に付属機器3に対応するプログラムを削除する例を示している。この第22の実施の形態はその基本構成を示すものである。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、外部機器1の記憶部11には、図23(B)、(C)に示すように、各付属機器3毎にその有効または無効を示すソフトウェア(S/Wとして示す)情報を保持するS/W管理領域101が設けられており、これによりプログラムの管理が行われている。
【0128】
ホスト機器2に対し、接続、切り離し可能な外部機器1が接続されており、更に、外部機器1には、着脱可能な付属機器3が接続されている。外部機器1は、付属機器3の着脱検知をする機能を持っており、ホスト機器2に対し、必要に応じて付属機器3の着脱状況を通知する。また、現在稼動中、または保持しているデータやプログラムの中から、外された付属機器に関連するものを必要に応じて削除する機能も合わせ持っている。ホスト機器2は、外部機器1からの通知情報31を元に必要なソフトウェアやその他データなどを準備し、外部機器1に対して転送する。また、外部機器1からの状態通知などを受け、対応する。
【0129】
例えば付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は、特定した付属機器3の機器情報を記憶部11に保持し、既に記憶保持しているS/W管理情報101を調べる。判断部13は、S/W管理情報101から接続されている付属機器や関連するソフトウェア情報を取り出し、一時保持しておいた取り外された付属機器3の機器情報に該当する部分を特定する。そして判断部13は、特定した部分を無効状態にする(解放する)。例えば、S/W管理領域101のS/W3という領域が該当部分である場合、図23(C)に示すようにS/W3を無効状態とする。これにより、取り外された付属機器3に関する領域を解放する。なお、判断部13は必要であるなら転送部12に対して取り外された付属機器3の情報をホスト機器2に対して送らせる。
【0130】
このようにして、付属機器が取り外された場合に、不要となったプログラムを自動的に削除し、外部機器1内のプログラムを更新することができる。再び付属機器が接続された場合には、上述の各実施の形態で述べたようにしてホスト機器2からプログラムの転送を受けて、プログラムの更新を行えばよい。
【0131】
図24は、本発明の第23の実施の形態を示すブロック図である。図中、図2、図23と同様の部分には同じ符号を付してある。102はS/W管理テーブル、103は空き管理テーブルである。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、外部機器1の記憶部11には、図24(B)、(C)に示すようにS/W管理テーブル102及び空き管理テーブル103が設けられている。S/W管理テーブル102は、ドライバやその他のプログラムに割り当てる記憶領域を管理するテーブルである。また空き管理テーブル103は、未使用の記憶領域を管理するテーブルである。これらのテーブルにより記憶領域の管理が行われている。割り当てられる記憶領域の実体は、例えば図24(D)に示すように、各管理テーブルの要素がポインタとして実領域を示しているものとする。
【0132】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は特定した付属機器3の機器情報を記憶部11に保持し、既に記憶保持しているS/W管理テーブル102を調べる。判断部13は、S/W管理テーブル102から接続されている付属機器や関連するソフトウェア情報を引き出し、一時的に保持している取り外された付属機器3の機器情報に該当する部分を特定する。判断部13は、特定した部分を無効状態にする(解放する)。例えば、S/W管理テーブル102のS/W3という領域が該当部分である場合、図24(C)に示すようにS/W3を無効状態とする。更に、判断部13は、先ほど無効にした部分を、空き管理テーブル103に登録し、他の用途に使えるようにする。例えば、空き管理テーブル103の非登録領域に、S/W管理テーブル102に登録されていたS/W3の領域を空き3領域として登録する。これにより、取り外された付属機器3に関する領域を新たな使用可能な空き領域として登録する。なお、判断部13は必要であるなら転送部12に対して、取り外された付属機器3の情報を送り、ホスト機器2に対して通知情報を送らせる。
【0133】
このようにして、付属機器が取り外された場合に、不要となったプログラムを自動的に削除するとともに、削除したプログラムが存在していた領域を空き領域として他の用途に利用することができる。なお、この実施の形態においても、再び付属機器が接続された場合には、上述の各実施の形態で述べたようにしてホスト機器2からプログラムの転送を受けて、プログラムの更新を行えばよい。
【0134】
図25は、本発明の第24の実施の形態を示すブロック図である。図中、図2、図23、図24と同様の部分には同じ符号を付してある。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、外部機器1の記憶部11には、第23の実施の形態と同様に、S/W管理テーブル102及び空き管理テーブル103が設けられている。これらのテーブルにより記憶領域の管理が行われている。割り当てられる記憶領域の実体は、例えば図25(D)に示すように、各管理テーブルの要素がポインタとして実領域を示しているものとする。
【0135】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は、特定した付属機器3の機器情報を記憶部11に保持し、既に記憶保持しているS/W管理テーブル102を調べる。判断部13は、S/W管理テーブル102から接続されている機器や関連するソフトウェア情報を取り出し、一時的に保持している取り外された付属機器3の機器情報に該当する部分を特定する。そして判断部13は、特定した部分を無効状態にする(解放する)。例えば、S/W管理テーブル102のS/W3という領域が該当部分である場合、図25(C)に示すようにS/W3が指し示していた領域を無効状態とする。更に、判断部13は先ほど無効にした部分を、空き管理テーブル103に登録し、他の用途に使えるようにする。例えば、空き管理テーブル103の非登録領域に、S/W管理テーブル102でS/W3が指し示していた領域を空き3領域として登録する。このとき、新たに登録される空き領域については、その実領域は特定の値に書き替えられる、例えば図25(D)に示すように、新規に空き管理テーブル103に登録される領域を示すポインタを「空き領域」とすると、その実体である記憶領域1は、ある特定の「値」によって埋められる(クリアされる)。この後、取り外された付属機器3に関する領域を新たな使用可能な空き領域として登録する。なお、判断部13は必要であるなら転送部12に対して、取り外された付属機器3の情報を転送し、ホスト機器2に対して通知情報を送らせる。
【0136】
この第24の実施の形態のように、空き領域として解放される領域については、所定の値によって書き換え、クリアしてから解放することができる。
【0137】
図26は、本発明の第25の実施の形態を示すブロック図である。図中、図2、図19,図23、図24と同様の部分には同じ符号を付してある。104はS/W管理フラグである。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、外部機器1は計測部18を有している。この計測部18は、この第25の実施の形態では、付属機器3が外されてからの時間を計測する。また、外部機器1の記憶部11には、第23の実施の形態と同様に、S/W管理テーブル102が設けられるとともに、S/W管理フラグ104が設けられている。S/W管理フラグ104は、それぞれの付属機器3の着脱状態を示すフラグである。これらのテーブル及びフラグにより記憶領域の管理が行われている。
【0138】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は特定した付属機器3の機器情報を記憶部11に保持し、S/W管理フラグ104から該当するフラグを見つけ出してONとする。例えば図26(B)に示すように、該当するフラグがフラグ3であった場合、ここをONとする。判断部13は、計測部18に対して、取り外された付属機器について外されてからの経過時間の計測開始を指示する。計測部18は一定時間経過後、判断部13に対し、時間経過を伝えて停止する。判断部13は、S/W管理フラグ104の該当フラグ、例えばフラグ3を図26(C)に示すようにOFFとし、他の管理に使えるよう解放する。更に、判断部13はS/W管理テーブル102の使用領域、例えば図26(D)に示すS/W3の領域を、図26(E)に示すように解放して、他のソフトウェアなどで使用できるようにする。
【0139】
計測部18が計測を終えるまでに、先ほど取り外された付属機器3が再度接続された場合、判断部13はS/W管理フラグ104を図26(C)に示すようにOFFにし、更に計測部18の計測を停止させる。この場合、S/W管理テーブル102は変更しない。これにより、再接続された付属機器は再起動する。なお、判断部13は、必要であるなら転送部12に対して、取り外された付属機器の情報、状態を転送し、ホスト機器2に対して送らせる。
【0140】
このように、取り外されてから所定時間が経過しても再挿入されなかった場合に、対応するプログラムを削除して外部機器1の記憶部11の領域を他の用途で利用することができる。また、取り外されてから所定時間内に付属機器3が再挿入された場合には、そのまま動作させることができる。
【0141】
図27は、本発明の第26の実施の形態を示すブロック図である。図中、図2、図23ないし図26と同様の部分には同じ符号を付してある。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、外部機器1の記憶部11には、第25の実施の形態と同様に、S/W管理テーブル102が設けられるとともに、S/W管理フラグ104が設けられている。これらのテーブル及びフラグにより記憶領域の管理が行われている。
【0142】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は、特定した付属機器3の機器情報を記憶部11に保持し、S/W管理フラグ104から該当するフラグを見つけ出し、OFFとする。例えば、該当するフラグがフラグ3であった場合、図27(B)に示すように、このフラグ3をOFFとする。判断部13はここで一旦処理を終える。
【0143】
外部機器1に新たに付属機器3が取り付けられた場合、認識部14が新たな接続を検知し、判断部13に通知する。判断部13は、認識部14から通知された情報、または必要な情報を問いあわせて取得し、接続された付属機器3を特定する。特定された付属機器3が取り外されたものと同じ場合、判断部13は、S/W管理フラグ104の該当フラグを再びONに戻す。特定された付属機器3がそれまでに取り外された機器と異なる場合、判断部13は、S/W管理フラグ104の該当フラグを登録から抹消し、更にS/W管理テーブル102に登録してある関連プログラムも削除し、領域を解放する。例えば、図27(B)、(D)の状態において、接続された付属機器がそれまでに取り外された付属機器3と異なる場合、図27(C)に示すように付属機器3に対応するS/W管理フラグ104のフラグ3の登録を抹消し、また図27(E)に示すように付属機器3に対応するS/W管理テーブル102のS/W3も解放する。なお、判断部13は必要であるならば、転送部12に対して取り外された付属機器の情報、状態と、新規接続された機器の情報を転送し、ホスト機器2に対して送らせる。
【0144】
通常、新たな付属機器が接続された場合に、その付属機器に対応するプログラムが必要になる。そのため、新たな付属機器が接続された時点で、それまでに取り外された付属機器に関するデータやプログラムを削除し、空き領域を確保することができる。また、データやプログラムが削除される前に再挿入された場合には、プログラムの更新を行わずにそのまま動作させることが可能である。
【0145】
図28は、本発明の第27の実施の形態を示すブロック図である。図中、図2、図23ないし図26と同様の部分には同じ符号を付してある。外部機器1がホスト機器2に接続されている。外部機器1には付属機器3が着脱される。なお、外部機器1及びホスト機器2の構成は上述の第1の実施の形態などと同様であるが、第25、第26の実施の形態と同様に、外部機器1の記憶部11には、S/W管理テーブル102及びS/W管理フラグ104が設けられている。これらのテーブル及びフラグにより記憶領域の管理が行われている。
【0146】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は、認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は、特定した付属機器3の機器情報を記憶部11に保持し、S/W管理フラグ104から該当するフラグを見つけ出し、図28(B)に示すようにOFFとする。
【0147】
新たな付属機器が接続されてきた場合、判断部13はまず、S/W管理フラグ104とS/W管理テーブル102の空き領域を選び、ここを登録済みにする。例えば、図28(C)に示すようにS/W管理フラグ104の空き領域にフラグ4とし、また図28(D)のようにS/W管理テーブル102の空き領域に、図28(E)に示すようにS/W4として登録する。S/W管理フラグ104とS/W管理テーブル102に空き領域が無かった場合、判断部13はS/W管理フラグ104内でOFFとなっている領域と、これに該当するS/W管理テーブル102の領域を新たな登録領域として使用する。なお、判断部13は必要であるなら転送部12に対して、取り外された付属機器の機器情報、状態を転送し、ホスト機器2に対して送らせる。
【0148】
このような構成によって、新しい付属機器が接続された場合でも、外部機器1内の記憶部11に新しい付属機器用のプログラムを格納する領域が存在する場合には、取り外された付属機器用のプログラムを削除しないようにすることができる。そのため、取り外されている付属機器が再挿入されたとき、多くの場合にはプログラムの更新を行うことなく、そのまま動作させることができるようになる。
【0149】
図29は、本発明の第28の実施の形態を示すブロック図である。図中、図2、図4、図23と同様の部分には同じ符号を付してある。35は中止命令である。外部機器1がホスト機器2と接続されている。外部機器1からは付属機器3が接続されたときに通知情報31が送られてくる。また、ホスト機器2は通知情報31に従い、データ、プログラムなどをデータ32として外部機器1に送信する。外部機器1及びホスト機器2には、ソフトウェアなどの削除に対して警告を表示する警告部15及び警告部24が設けられている。このほかの外部機器1及びホスト機器2の構成は、上述の第1,第22の実施の形態と同様である。
【0150】
付属機器3が外部機器1から外された場合、認識部14は取り外しが発生したことを判断部13に通知する。判断部13は認識部14から通知される情報または認識部14に対して詳細情報を要求して得られる情報を元に、取り外された付属機器3を特定する。判断部13は、警告部15に対し、関連するソフトウェアなどの削除警告を表示させ、転送部12に対してホスト機器2へ警告通知を行うように指示する。転送部12は、通知情報31をホスト機器2に送る。
【0151】
ホスト機器2は、転送部23にて通知情報31を受け取る。制御部22は受け取った情報を解釈し、警告部24に外部機器1でのソフトウェアなどの削除警告を出させる。この警告に対し、不許可の指示がなされた場合、制御部22は、転送部23に対し、中止命令35を送信させる。転送部23は中止命令35を外部機器1に送る。
【0152】
外部機器1は、中止命令35を受けた場合には、ソフトウェアなどの削除処理を中止し、警告部15の表示を取り消す。中止命令35以外の命令が返された場合は、警告表示したソフトウェアなどを削除し、警告部15の表示を取り消す。なお、判断部13は必要であるならば、転送部12に対して取り外された付属機器の情報、状態と、新規接続された機器の情報を転送し、ホスト機器2に対して送らせる。また、ここでの警告とその取り消し、継続は、外部機器1、ホスト機器2の双方の協調でも、各機器単体の扱いであっても構わない。
【0153】
このように、プログラムを削除する際にユーザに対して警告を発することによって、ユーザの意図によるプログラムの存続あるいは削除を可能にすることができる。
【0154】
【発明の効果】
以上の説明から明らかなように、本発明によれば、外部機器に付属機器が接続された時に、外部機器と接続されているホスト機器から、付属機器を動作させるために必要なデバイスドライバやアプリケーションソフトウェアなどのプログラムを外部機器に対して送り、外部機器内のプログラムを自動的に更新することができる。これによって、外部機器に接続して利用する付属機器にはプログラムを搭載しておく必要がないので、付属機器を安価に構成できる。また、付属機器を接続するたびにプログラムの更新を行う必要がなく、ユーザの手間を軽減することができる。また外部機器では不必要なプログラムによりメモリを占有されることもなくなり、メモリを有効に利用することができるようになる。さらに、例えばネットワークなどを介して最新のプログラムをダウンロードできる環境においては、常に最新のプログラムをダウンロードして更新することができる。さらにまた、付属機器が後で開発された場合や、インタフェースが後でバージョンアップするような場合についても、容易に対応することが可能である。
【0155】
また、本発明によれば、外部機器に対して転送するプログラムを、ホスト機器側で再構成してから転送することができる。これによって、外部機器において動作速度やメモリ使用量など、最適な形態でのプログラムによって更新することが可能になる。例えば、接続されていない付属機器に対応する不必要なプログラムを削除したプログラムオブジェクトを再構成して、外部機器に転送することができる。また、ソースファイルから外部機器のCPUなどに合わせて再構成(リメイク)することによって、異なるCPUなどを搭載した外部機器に対してもソースファイルを配布するだけで対応することができるようになる。さらに、外部機器のメモリ容量が不足する場合には、圧縮して転送するなど、種々の加工を施したプログラムを外部機器に転送することが可能である。
【0156】
さらに本発明によれば、外部機器から付属機器が外された場合に、外された付属機器を動作させていたプログラムを削除して、メモリ領域を有効に活用することができる。この場合、取り外された時点で削除せず、新たに付属機器が接続された場合や、メモリ領域が不足した時点で削除することもでき、その場合には、再挿入時にプログラムが残っていればプログラムの更新を行わずに、すぐに動作させることができる。
【0157】
本発明によれば、これらの効果以外にも、発明の実施の形態などで述べたように種々の効果がある。
【図面の簡単な説明】
【図1】 本発明が適用されるシステムの基本構成例を示すブロック図である。
【図2】 本発明の第1の実施の形態を示すブロック図である。
【図3】 本発明の第2の実施の形態を示すブロック図である。
【図4】 本発明の第3の実施の形態を示すブロック図である。
【図5】 本発明の第4の実施の形態を示すブロック図である。
【図6】 本発明の第5の実施の形態を示すブロック図である。
【図7】 本発明の第6の実施の形態を示すブロック図である。
【図8】 本発明の第7の実施の形態を示すブロック図である。
【図9】 本発明の第8の実施の形態を示すブロック図である。
【図10】 本発明の第9の実施の形態を示すブロック図である。
【図11】 本発明の第10の実施の形態を示すブロック図である。
【図12】 本発明の第11の実施の形態を示すブロック図である。
【図13】 本発明の第12の実施の形態を示すブロック図である。
【図14】 本発明の第13の実施の形態を示すブロック図である。
【図15】 本発明の第14の実施の形態を示すブロック図である。
【図16】 本発明の第15の実施の形態を示すブロック図である。
【図17】 本発明の第16の実施の形態を示すブロック図である。
【図18】 本発明の第17の実施の形態を示すブロック図である。
【図19】 本発明の第18の実施の形態を示すブロック図である。
【図20】 本発明の第19の実施の形態を示すブロック図である。
【図21】 本発明の第20の実施の形態を示すブロック図である。
【図22】 本発明の第21の実施の形態を示すブロック図である。
【図23】 本発明の第22の実施の形態を示すブロック図である。
【図24】 本発明の第23の実施の形態を示すブロック図である。
【図25】 本発明の第24の実施の形態を示すブロック図である。
【図26】 本発明の第25の実施の形態を示すブロック図である。
【図27】 本発明の第26の実施の形態を示すブロック図である。
【図28】 本発明の第27の実施の形態を示すブロック図である。
【図29】 本発明の第28の実施の形態を示すブロック図である。
【図30】 従来のプログラム更新方法の第1の例の説明図である。
【図31】 従来のプログラム更新方法の第2の例の説明図である。
【図32】 従来のプログラム更新方法の第3の例の説明図である。
【図33】 従来のプログラム更新方法の第4の例の説明図である。
【図34】 従来のプログラム更新方法の第5の例の説明図である。
【図35】 従来のプログラム更新方法の第6の例の説明図である。
【符号の説明】
1…外部機器、2…ホスト機器、3,3−1,3−2…付属機器、4…外部記憶装置、11…記憶部、12…転送部、13…判断部、14…認識部、15…警告部、16…検索部、17…設定部、18…計測部、19…検知部、21…記憶部、22…制御部、23…転送部、24…警告部、25…再構成部、26…他CPU用再構成部、27…圧縮部、28…外部検索部、29…計測部、31…通知情報、32…データ、33…問い合わせ情報、34…調査手順情報、35…中止命令、41…ファイル、42…ホスト用ドライバ部、43…外部機器用ソフトウェア部、51…機器情報、52…格納場所情報、53…機器使用情報、54…機器故障情報、61…管理情報、62,63…機器情報、64…新規接続機器情報、71…管理情報、72,73…機器情報、81…優先情報、91…格納場所情報、101…S/W管理領域、102…S/W管理テーブル、103…空き管理テーブル、104…S/W管理フラグ。[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a system in which a host device typified by a personal computer or workstation and an external device typified by a printer or a scanner are connected by a predetermined method such as IEEE1284 or USB, and the FAX modem is connected to the external device. The present invention relates to a system in which an attached device is attached and detached by various methods represented by Bluetooth and Bluetooth. In particular, when an accessory is attached to or detached from an external device, application software and device drivers required to operate the accessory are installed on the external device, or programs that are no longer needed are deleted. The present invention relates to a program update method, and a host device and an external device equipped with the function of such a program update method.
[0002]
[Prior art]
When using an external device such as a printer or a scanner, it is generally used by locally connecting to a host device such as a personal computer or a workstation using an IEEE 1284 cable or a USB cable. Is. It is also common to use an external device for network connection by Ethernet (registered trademark) by mounting an Ethernet (registered trademark) interface on both the host device and the external device.
[0003]
On the other hand, functions of external devices such as printers and scanners have been diversified, and not only single-function printers and scanners but also various functions such as print functions, scan functions, FAX functions, and E-Mail distribution functions. In general, devices that are complex are also used. Along with the diversification of such functions, the number of accessory devices for connecting to external devices is also increasing. According to the user's usage environment, necessary accessory devices are connected to external devices to realize the necessary functions. Usage is common.
[0004]
However, even if an accessory device is connected to an external device, the accessory device cannot be used practically unless software for operating the accessory device is installed on the external device. Therefore, conventionally, the following method has been taken.
[0005]
FIG. 30 is an explanatory diagram of a first example of a conventional program update method. In the figure, 1 is an external device, 2 is a host device, and 3 is an accessory device. In FIG. 30A, it is assumed that the
[0006]
In this example, as shown in FIG. 30 (B), in the
[0007]
However, in such a configuration, there is a problem that it cannot cope with an accessory device developed later. For example, when an accessory device that was not expected at the time of shipment is developed, there is a problem that the accessory device cannot be operated because the program does not exist on the
[0008]
FIG. 31 is an explanatory diagram of a second example of a conventional program update method. The reference numerals in the figure are the same as those in FIG. In the second example, as shown in FIGS. 31B and 31C, an example in which the ROM in the
[0009]
However, the ROM is usually mounted on a substrate, and in order to replace it, the substrate must be exposed by removing the housing. In addition, there is a high risk of electric shock and the user cannot easily replace it. For this reason, customer engineers go to customers and exchange them, but there is a problem that the cost of time and labor for that purpose increases.
[0010]
FIG. 32 is an explanatory diagram of a third example of the conventional program update method. The reference numerals in the figure are the same as those in FIG. This third example shows an example in which a CPU, ROM, and RAM are mounted on the
[0011]
FIG. 33 is an explanatory diagram of a fourth example of the conventional program update method. The reference numerals in the figure are the same as those in FIG. The fourth example is a method described in, for example, Japanese Patent Application Laid-Open No. 5-224912. A ROM is mounted on the
[0012]
FIG. 34 is an explanatory diagram of a fifth example of the conventional program update method. The reference numerals in the figure are the same as those in FIG.
[0013]
In such a configuration, there is a problem that an
[0014]
FIG. 35 is an explanatory diagram of a sixth example of the conventional program update method. The reference numerals in the figure are the same as those in FIG. In the sixth example, the
[0015]
Usually,
[0016]
In recent years, interfaces capable of hot-swapping such as USB, IEEE 1394, and PC-Card have been standardized (standardized), and external interfaces have also been used as interfaces with attached devices. In addition, there is an increasing number of attached devices that support interfaces that allow hot-swapping such as USB, IEEE 1394, and PC-Card, and there is a need for a mechanism that allows external devices to be frequently attached to and removed from external devices. Yes.
[0017]
[Problems to be solved by the invention]
The present invention has been made in view of the above-described circumstances, and provides a program update method capable of inexpensively configuring an accessory device used by connecting to an external device and easily updating a program in the external device. It is intended to do.
[0018]
[Means for Solving the Problems]
The present invention relates to a program update method in a system in which a host device and an external device are connected, and when the accessory device is connected to the external device, the external device notifies the host device that the accessory device has been added. The host device that has received the notification sends a program necessary for operating the accessory device to the external device, and the external device stores the program sent from the host device in the memory, If the external device is already equipped with the same type of accessory device and can coexist with the attached accessory device, the existing program can be downloaded without notifying the host device that the accessory device has been added. It is characterized by using.
[0019]
Note that if the connected external device cannot coexist with the same type of attached device that has already been attached, the external device is not connected to the host device without notifying that the attached device has been added. It can be configured to be invalid.
[0034]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing a basic configuration example of a system to which the present invention is applied. The reference numerals in the figure are the same as those in FIG. An
[0035]
The
[0036]
Hereinafter, an embodiment of the present invention using such a basic configuration example will be described. Note that the configurations shown in the following embodiments can be combined as appropriate, and the combined configuration is also included in the present invention.
[0037]
FIG. 2 is a block diagram showing the first embodiment of the present invention. In the figure, parts similar to those in FIG. 11 is a storage unit, 12 is a transfer unit, 13 is a determination unit, 14 is a recognition unit, 21 is a storage unit, 22 is a control unit, 23 is a transfer unit, 31 is notification information, and 32 is data.
[0038]
An
[0039]
The
[0040]
On the other hand, the
[0041]
An example of the operation in the first embodiment of the present invention will be described. When the
[0042]
The
[0043]
The
[0044]
FIG. 3 is a block diagram showing a second embodiment of the present invention. In the figure, the same parts as those in FIG. Reference numeral 41 is a file, 42 is a host driver unit, and 43 is an external device software unit. An
[0045]
When the driver software for the
[0046]
In this way, the user can update the program of the external device only by installing the driver software of the external device without being aware of the program necessary for operating the attached device. In other words, the user simply downloads and installs the driver software corresponding to the
[0047]
FIG. 4 is a block diagram showing a third embodiment of the present invention. In the figure, the same parts as those in FIG.
[0048]
The
[0049]
In this way, when data or a program corresponding to the
[0050]
FIG. 5 is a block diagram showing a fourth embodiment of the present invention. In the figure, the same parts as those in FIG.
[0051]
After the
[0052]
With such a configuration, the program in the
[0053]
FIG. 6 is a block diagram showing a fifth embodiment of the present invention. In the figure, the same parts as those in FIG.
[0054]
An example of the operation in the fifth embodiment will be described. When the
[0055]
The
[0056]
The
[0057]
FIG. 7 is a block diagram showing a sixth embodiment of the present invention. In the figure, the same parts as those in FIG.
[0058]
An example of the details of the operation in the sixth embodiment will be described. When the
[0059]
The
[0060]
The
[0061]
The
[0062]
In this manner, when the
[0063]
FIG. 8 is a block diagram showing a seventh embodiment of the present invention. In the figure, the same parts as those in FIG. Reference numerals 3-1 and 3-2 denote attached devices. A
[0064]
An example of details of the operation in the seventh embodiment will be described. When the accessory device 3-1 is connected to the
[0065]
In addition, when the data and program required for the accessory device 3-2 do not exist in the
[0066]
In this way, if the necessary data or program already exists in the connected accessory device, such as when the same type of accessory device is already attached to the external device, use that data or program. As a result, data transfer with the
[0067]
FIG. 9 is a block diagram showing an eighth embodiment of the present invention. In the figure, the same parts as those in FIG.
[0068]
When the
[0069]
For example, even if an accessory device is connected to an external device, if the other device cannot be used unless it is prepared, the user may use the
[0070]
FIG. 10 is a block diagram showing a ninth embodiment of the present invention. In the figure, the same parts as those in FIG. 51 is device information and 52 is storage location information. A
[0071]
When the
[0072]
By transferring the
[0073]
FIG. 11 is a block diagram showing a tenth embodiment of the present invention. In the figure, the same parts as those in FIG.
[0074]
An
[0075]
The
[0076]
An example of the operation in the tenth embodiment will be described. An
[0077]
Thus, by reconfiguring the program object in the
[0078]
FIG. 12 is a block diagram showing an eleventh embodiment of the present invention. In the figure, the same parts as those in FIG.
[0079]
The
[0080]
When the
[0081]
As described above, since the program object transferred to the
[0082]
FIG. 13 is a block diagram showing a twelfth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals. The
[0083]
The
[0084]
When the
[0085]
By reconfiguring (remaking) from the source file in this way, even if there are multiple types of CPUs used in the external device, the software that operates the external device and the attached device can be distributed in the source code. The program object can be reconfigured according to the CPU type of the external device used by each user.
[0086]
FIG. 14 is a block diagram showing a thirteenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals. 61 is management information, 62 and 63 are device information, and 64 is newly connected device information. The
[0087]
When the
[0088]
The
[0089]
In this way, not only information on newly connected accessory devices but also information on already installed accessory devices and already installed software information is notified to the
[0090]
FIG. 15 is a block diagram showing a fourteenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals. 71 is management information, and 72 and 73 are device information. The
[0091]
When the
[0092]
The
[0093]
As described above, the
[0094]
FIG. 16 is a block diagram showing a fifteenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals.
[0095]
The
[0096]
When the
[0097]
The
[0098]
With such a configuration, a program exceeding the capacity of the
[0099]
FIG. 17 is a block diagram showing a sixteenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals. 81 is priority information. The
[0100]
When the
[0101]
As described above, since the program object is reconfigured according to the priority order of the
[0102]
In the above example, the priority information 81 is held on the
[0103]
FIG. 18 is a block diagram showing a seventeenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals. 28 is an external search unit, and 91 is storage location information. The
[0104]
The
[0105]
When the
[0106]
In this way, by automatically searching for the latest data and program according to the
[0107]
FIG. 19 is a block diagram showing an eighteenth embodiment of the present invention. In the figure, the same parts as those in FIG. 2, FIG. 8, FIG. 11 and FIG.
[0108]
The
[0109]
When the attached device 3-1 is connected to the
[0110]
When the
[0111]
The
[0112]
In this way, for an accessory device that has not been operated for a predetermined time, an object is reconfigured without incorporating a program for operating the accessory device, so the
[0113]
The device management information may be held by either or both of the
[0114]
FIG. 20 is a block diagram showing a nineteenth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2, 8, 11, 14, and 19 are denoted by the same reference numerals.
[0115]
The
[0116]
When the attached device 3-1 is connected to the
[0117]
The
[0118]
In this way, for the accessory device in which a failure has occurred, the
[0119]
Note that the management information of the attached device may be held by either or both of the
[0120]
FIG. 21 is a block diagram showing a twentieth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 11 are denoted by the same reference numerals.
[0121]
The
[0122]
In the
[0123]
With such a configuration, the program object can be reconfigured and the program of the
[0124]
FIG. 22 is a block diagram showing a twenty-first embodiment of the present invention. In the figure, the same parts as those in FIGS. 2, 10, and 11 are denoted by the same reference numerals. A
[0125]
When the
[0126]
In this way, the latest and optimum program from a predetermined location can be transferred to the
[0127]
FIG. 23 is a block diagram showing a twenty-second embodiment of the present invention. In the figure, the same parts as those in FIG.
[0128]
An
[0129]
For example, when the attached
[0130]
In this way, when the attached device is removed, the unnecessary program can be automatically deleted and the program in the
[0131]
FIG. 24 is a block diagram showing a twenty-third embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 23 are denoted by the same reference numerals.
[0132]
When the
[0133]
In this way, when an attached device is removed, an unnecessary program can be automatically deleted, and an area where the deleted program exists can be used as an empty area for other purposes. Also in this embodiment, when the attached device is connected again, the program may be updated by receiving the program transfer from the
[0134]
FIG. 25 is a block diagram showing a twenty-fourth embodiment of the present invention. In the figure, the same parts as those in FIG. 2, FIG. 23 and FIG. An
[0135]
When the
[0136]
As in the twenty-fourth embodiment, an area released as an empty area can be rewritten with a predetermined value and cleared before being released.
[0137]
FIG. 26 is a block diagram showing a twenty-fifth embodiment of the present invention. In the figure, the same parts as those in FIG. 2, FIG. 19, FIG. 23, and FIG.
[0138]
When the
[0139]
When the attached
[0140]
As described above, when the re-insertion is not performed even after a predetermined time has passed after the removal, the corresponding program can be deleted and the area of the
[0141]
FIG. 27 is a block diagram showing a twenty-sixth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 23 to 26 are denoted by the same reference numerals. An
[0142]
When the
[0143]
When the
[0144]
Normally, when a new accessory device is connected, a program corresponding to the accessory device is required. Therefore, when a new accessory device is connected, it is possible to delete data and programs related to the accessory device that has been removed so far, and to secure a free space. Further, when data or a program is reinserted before being deleted, it can be operated as it is without updating the program.
[0145]
FIG. 28 is a block diagram showing a twenty-seventh embodiment of the present invention. In the figure, the same parts as those in FIGS. 2 and 23 to 26 are denoted by the same reference numerals. An
[0146]
When the
[0147]
When a new accessory device is connected, the
[0148]
With this configuration, even when a new accessory device is connected, if there is an area for storing a program for the new accessory device in the
[0149]
FIG. 29 is a block diagram showing a twenty-eighth embodiment of the present invention. In the figure, the same parts as those in FIGS. 2, 4 and 23 are denoted by the same reference numerals. 35 is a stop command. The
[0150]
When the
[0151]
The
[0152]
When the
[0153]
Thus, by issuing a warning to the user when deleting the program, it is possible to continue or delete the program according to the user's intention.
[0154]
【The invention's effect】
As is apparent from the above description, according to the present invention, when an accessory device is connected to the external device, a device driver or an application necessary for operating the accessory device from the host device connected to the external device. A program such as software can be sent to an external device, and the program in the external device can be automatically updated. As a result, there is no need to install a program in an accessory device that is connected to an external device, so that the accessory device can be configured at low cost. In addition, it is not necessary to update the program every time an attached device is connected, and the user's effort can be reduced. Also, the external device does not occupy the memory by an unnecessary program, and the memory can be used effectively. Furthermore, in an environment where the latest program can be downloaded via a network or the like, for example, the latest program can always be downloaded and updated. Furthermore, it is possible to easily cope with the case where the accessory device is developed later or the interface is upgraded later.
[0155]
Further, according to the present invention, a program to be transferred to an external device can be transferred after being reconfigured on the host device side. As a result, the external device can be updated by a program in an optimum form such as the operation speed and the memory usage. For example, it is possible to reconfigure a program object from which an unnecessary program corresponding to an attached device that is not connected is deleted and transfer the program object to an external device. Further, by reconfiguring (remaking) the source file according to the CPU of the external device, it is possible to cope with the external device equipped with a different CPU by simply distributing the source file. Furthermore, when the memory capacity of the external device is insufficient, it is possible to transfer a program subjected to various processes such as compression and transfer to the external device.
[0156]
Furthermore, according to the present invention, when an attached device is removed from an external device, the memory area can be effectively utilized by deleting the program that has operated the removed attached device. In this case, it is not deleted when it is removed, but it can also be deleted when a new accessory is connected or when the memory space is insufficient. It can be operated immediately without updating the program.
[0157]
According to the present invention, in addition to these effects, there are various effects as described in the embodiments of the invention.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a basic configuration example of a system to which the present invention is applied.
FIG. 2 is a block diagram showing a first embodiment of the present invention.
FIG. 3 is a block diagram showing a second embodiment of the present invention.
FIG. 4 is a block diagram showing a third embodiment of the present invention.
FIG. 5 is a block diagram showing a fourth embodiment of the present invention.
FIG. 6 is a block diagram showing a fifth embodiment of the present invention.
FIG. 7 is a block diagram showing a sixth embodiment of the present invention.
FIG. 8 is a block diagram showing a seventh embodiment of the present invention.
FIG. 9 is a block diagram showing an eighth embodiment of the present invention.
FIG. 10 is a block diagram showing a ninth embodiment of the present invention.
FIG. 11 is a block diagram showing a tenth embodiment of the present invention.
FIG. 12 is a block diagram showing an eleventh embodiment of the present invention.
FIG. 13 is a block diagram showing a twelfth embodiment of the present invention.
FIG. 14 is a block diagram showing a thirteenth embodiment of the present invention.
FIG. 15 is a block diagram showing a fourteenth embodiment of the present invention.
FIG. 16 is a block diagram showing a fifteenth embodiment of the present invention.
FIG. 17 is a block diagram showing a sixteenth embodiment of the present invention.
FIG. 18 is a block diagram showing a seventeenth embodiment of the present invention.
FIG. 19 is a block diagram showing an eighteenth embodiment of the present invention.
FIG. 20 is a block diagram showing a nineteenth embodiment of the present invention.
FIG. 21 is a block diagram showing a twentieth embodiment of the present invention.
FIG. 22 is a block diagram showing a twenty-first embodiment of the present invention.
FIG. 23 is a block diagram showing a twenty-second embodiment of the present invention.
FIG. 24 is a block diagram showing a twenty-third embodiment of the present invention.
FIG. 25 is a block diagram showing a twenty-fourth embodiment of the present invention.
FIG. 26 is a block diagram showing a twenty-fifth embodiment of the present invention.
FIG. 27 is a block diagram showing a twenty-sixth embodiment of the present invention.
FIG. 28 is a block diagram showing a twenty-seventh embodiment of the present invention.
FIG. 29 is a block diagram showing a twenty-eighth embodiment of the present invention.
FIG. 30 is an explanatory diagram of a first example of a conventional program update method.
FIG. 31 is an explanatory diagram of a second example of a conventional program update method.
FIG. 32 is an explanatory diagram of a third example of a conventional program update method.
FIG. 33 is an explanatory diagram of a fourth example of a conventional program update method.
FIG. 34 is an explanatory diagram of a fifth example of a conventional program update method.
FIG. 35 is an explanatory diagram of a sixth example of a conventional program update method.
[Explanation of symbols]
DESCRIPTION OF
Claims (2)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001270786A JP4032217B2 (en) | 2001-09-06 | 2001-09-06 | Program update method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2001270786A JP4032217B2 (en) | 2001-09-06 | 2001-09-06 | Program update method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2003084978A JP2003084978A (en) | 2003-03-20 |
| JP4032217B2 true JP4032217B2 (en) | 2008-01-16 |
Family
ID=19096396
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2001270786A Expired - Fee Related JP4032217B2 (en) | 2001-09-06 | 2001-09-06 | Program update method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4032217B2 (en) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7062260B2 (en) * | 2003-03-27 | 2006-06-13 | Nokia Corporation | Fetching application and driver for extension device from network |
| US7551986B2 (en) | 2004-02-24 | 2009-06-23 | Denso Corporation | Program distribution system, program distribution device, and in-vehicle gateway device |
| FR2871588A1 (en) * | 2004-06-09 | 2005-12-16 | Inventel Sa | METHOD AND MODULE FOR DYNAMIC HOSTING OF SOFTWARE APPLICATIONS IN A GATEWAY BETWEEN AN OPERATOR NETWORK AND A LOCAL NETWORK |
| JP2006171859A (en) * | 2004-12-13 | 2006-06-29 | Olympus Corp | Facility management system |
| JP2006190132A (en) | 2005-01-07 | 2006-07-20 | Ricoh Co Ltd | Control program download device |
| JP4749021B2 (en) * | 2005-04-05 | 2011-08-17 | 三菱電機株式会社 | Supervisory control device |
| JP4978061B2 (en) * | 2006-05-31 | 2012-07-18 | 富士通株式会社 | Software update necessity judgment method |
| JP5061541B2 (en) * | 2006-09-04 | 2012-10-31 | 日本電気株式会社 | Information processing system, information processing method, and program thereof |
| JP5141721B2 (en) * | 2010-06-10 | 2013-02-13 | セイコーエプソン株式会社 | Host device and control method thereof |
| JP5944340B2 (en) * | 2013-03-28 | 2016-07-05 | 株式会社Kddi研究所 | Application delivery system, application delivery method and program |
| JP7334688B2 (en) * | 2020-07-07 | 2023-08-29 | トヨタ自動車株式会社 | In-vehicle device and vehicle |
-
2001
- 2001-09-06 JP JP2001270786A patent/JP4032217B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2003084978A (en) | 2003-03-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4032217B2 (en) | Program update method | |
| JP3451989B2 (en) | Software version control device in printing system | |
| CN103080902B (en) | Signal conditioning package and update process support method and system | |
| US7805722B2 (en) | Software install program product, installation method, and software install system | |
| KR100520058B1 (en) | System for upgrading device driver and method for upgrading the same | |
| US7461133B2 (en) | System of automatically fetching contents present on network | |
| US20060072156A1 (en) | Network device and printer | |
| JPH0934755A (en) | System and method for arranging storage device contents | |
| JP2004158012A (en) | System and method for software application management | |
| GB2347766A (en) | Internet based printing using a web browser | |
| JP3861538B2 (en) | Program distribution management system | |
| JP2001356912A (en) | Software install / update / uninstall system | |
| US20060070063A1 (en) | Application sets install method for dispersion server | |
| JPH1021060A (en) | Communication system having automatic program update processing function and recording medium provided with program for executing program update processing | |
| KR20000026846A (en) | Product upgrade supporting system utilizing internet and method therefor | |
| JPH11327828A (en) | Print control apparatus, driver management method of print control apparatus, and storage medium storing computer-readable program | |
| JP2003058378A (en) | Information processing apparatus, program installation method, storage medium, and program | |
| JP2002304363A (en) | Automatic collection of content via network | |
| JP2008059238A (en) | Communication system and printer used therefor | |
| CN101770349A (en) | Information processing apparatus, information processing method, and information processing system | |
| JP2000293364A (en) | Terminal data management device and its program recording medium | |
| US20040109027A1 (en) | Systems and methods for remote management of printing devices | |
| JP2008059239A (en) | Communications system | |
| CN112579119A (en) | Firmware update system, electronic device, and computer-readable non-transitory recording medium | |
| JP2005208935A (en) | Software management apparatus and software management program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040924 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061108 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070104 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070711 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070905 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070926 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071009 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111102 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |