[go: up one dir, main page]

JP4032217B2 - Program update method - Google Patents

Program update method Download PDF

Info

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
Application number
JP2001270786A
Other languages
Japanese (ja)
Other versions
JP2003084978A (en
Inventor
昌也 竹中
幸夫 舛渕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP2001270786A priority Critical patent/JP4032217B2/en
Publication of JP2003084978A publication Critical patent/JP2003084978A/en
Application granted granted Critical
Publication of JP4032217B2 publication Critical patent/JP4032217B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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 host device 2 and the external device 1 are connected by a predetermined connection method as described above, and the accessory device 3 is connected to the external device 1.
[0006]
In this example, as shown in FIG. 30 (B), in the external device 1, a program such as a device driver / application corresponding to all connectable accessory devices is written in the internal ROM from the beginning. The external device 1 is shipped in a state. Thus, when the accessory device 3 is connected, a program corresponding to the connected accessory device 3 operates and the accessory device 3 can be used.
[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 external device 1 even if the accessory device is connected. In the configuration as described above, since a program for supporting all the attached devices is installed in the ROM, there is a problem that the capacity of the ROM becomes enormous and the cost increases.
[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 external device 1 is replaced is shown. That is, in FIG. 31B, since the program for the accessory device 3 is not installed in the ROM, the program is replaced with a ROM in which the program for the accessory device 3 is installed as shown in FIG. Accordingly, it is not necessary to write a program for an accessory device that is not used in the ROM, and a program can be provided for an accessory device developed later.
[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 accessory device 3 connected to the external device 1 to provide the intelligent accessory device 3. This is a configuration that is more frequently used than before. With such a configuration, there are advantages that the problems in the above examples can be solved, the external device 1 can be configured at low cost, and the software of the external device 1 does not need to be changed. However, there is a problem that the accessory device 3 is expensive.
[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 accessory device 3 and data in the ROM of the external device 1 is transferred from the ROM of the accessory device 3. It is something to rewrite. Although the external device 1 can be configured at low cost, there is a problem that the accessory device 3 is expensive, such as mounting a ROM in the accessory device 3.
[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. Reference numeral 4 denotes an external storage device. In the fifth example, an external storage device 4 such as an FD drive is connected to the external device 1, and a program corresponding to the connected accessory device 3 supplied by the FD or the like is transferred from the external storage device 4 to the external device 1. Thus, the ROM of the external device 1 is rewritten.
[0013]
In such a configuration, there is a problem that an external storage device 4 connected to the external device 1 is required. In addition, since the user operates, frequent rewriting of the program, for example, every time the accessory device 3 is connected, becomes troublesome. Alternatively, the attached device 3 connected once may store a corresponding program even after it is removed, but in that case, there is a problem that a large capacity is required as the ROM of the external device 1. there were.
[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 external storage device 4 connected to the host device 2 is used, and a program corresponding to the accessory device 3 connected to the external device 1 supplied by FD or the like is downloaded from the host device 2. Thus, the ROM of the external device 1 is rewritten.
[0015]
Usually, many host devices 2 have an external storage device 4 attached thereto, so it is considered that there are few cases where a new external storage device 4 is provided. However, as in the fifth example, the user performs an operation for downloading a program corresponding to the accessory device 3 connected to the external device 1 from the host device 2. Conventionally, the attachment / detachment of the accessory device 3 to / from the external device 1 can be known by the external device 1, but is not notified to the host device 2, and the user is instructed to transfer the program to the external device 1. Had to be done. For this reason, frequent rewriting of the program, for example, instructing transfer every time the accessory device 3 is connected, is troublesome for the user. Alternatively, once the attached device 3 is connected, since the subsequent program transfer is omitted, the corresponding program may be stored even after the removal, but in that case, as the ROM of the external device 1 There was a problem that a large capacity was required.
[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 external device 1 that can be connected and disconnected is connected to the host device 2, and a detachable accessory device 3 is connected to the external device 1. The connection between the external device 1 and the host device 2 and the connection between the external device 1 and the accessory device 3 can be performed using an arbitrary interface.
[0035]
The external device 1 has a function of detecting attachment / detachment of the accessory device 3 and also has a function of notifying the host device 2 of the attachment / detachment status of the accessory device 3. The host device 2 prepares necessary programs such as software and other various data based on the notification from the external device 1 and transfers them to the external device 1. When the external device 1 receives a program such as software sent from the host device 2 and other data and stores it in the internal memory, the external device 1 moves to the control preparation of the attached device 3 and necessary processing operations, and the corresponding function Start controlling.
[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 external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. Attachment / detachment of the accessory device 3 is notified to the host device 2 as notification information 31. The host device 2 receives the notification information 31 and transfers data 32 including a program corresponding to the attached device 3 to the external device 1.
[0039]
The external device 1 includes a storage unit 11, a transfer unit 12, a determination unit 13, a recognition unit 14, and the like. The storage unit 11 stores programs such as various data, applications, and drivers. The transfer unit 12 transmits and receives various data 32 including the program, notification information 31, and the like to and from the host device 2. The determination unit 13 determines the type of the accessory device 3 that can be freely attached and detached. The recognizing unit 14 detects physical attachment / detachment or logical attachment / detachment of the accessory device 3.
[0040]
On the other hand, the host device 2 includes a storage unit 21, a control unit 22, a transfer unit 23, and the like. The storage unit 21 stores various data and programs to be downloaded to the external device 1 temporarily or for a long term. The control unit 22 performs various processes and data control instructions. The transfer unit 23 transmits and receives various data 32 including the program and notification information 31 with the external device 1.
[0041]
An example of the operation in the first embodiment of the present invention will be described. When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies a connected device based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. Then, the determination unit 13 passes the specified device information to the transfer unit 12 and causes the host device 2 to transfer the information as notification information 31.
[0042]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects the corresponding information from the data, programs, and the like stored in the storage unit 21. The selected data and program are processed by the control unit 22 if necessary and transferred to the transfer unit 23. The transfer unit 23 transmits the given data and program as data 32 to the external device 1.
[0043]
The external device 1 receives the data 32 at the transfer unit 12. The received data 32 is stored in the storage unit 11 and used or executed by the external device 1. In this way, the program corresponding to the accessory device 3 connected to the external device 1 is transferred to the external device 1 so that the external device 1 can be used.
[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 external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. Notification information 31 is sent from the accessory device 3 to the host device 2 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31. The file 41 is data held by the host device 2 and is stored in the storage unit 21. The file 41 includes a host driver unit 42 that operates on the host device 2 and an external device software unit 43 that operates on the external device 1.
[0045]
When the driver software for the external device 1 is installed in the host device 2, the driver software is stored in the storage unit 21 as the file 41. The host device 2 uses the host driver unit 42 of the file 41 to control and communicate with the external device 1. When receiving the notification information 31 indicating that the attached device is connected from the external device 1, the control unit 22 searches the file 41 stored in the storage unit 21 for the external device software unit 43, and notifies the notification information 31. Retrieve data and programs corresponding to. The external device software unit 43 may be cut out from the file 41 in advance. The control unit 22 passes the retrieved data and program to the transfer unit 23 and transmits the data 32 to the external device 1 as data 32.
[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 external device 1 operating on the host device 2 from a storage medium attached to the external device 1 or the homepage of the external device manufacturer, and the like. A program necessary for operating the computer is transferred to the external device 1 and the program can be updated.
[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. Reference numerals 15 and 24 denote warning sections. The external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. When the accessory device 3 is connected to the external device 1, notification information 31 is sent to the host device 2. When the notification information 31 is sent from the external device 1, the host device 2 searches the control unit 22 whether there is data or a program corresponding to the storage unit 21. If there is no corresponding data or program as a result of the search, the control unit 22 instructs the warning unit 24 to issue a warning. The warning unit 24 issues a warning to the user according to the instruction of the control unit 22.
[0048]
The control unit 22 further prepares warning data, and instructs the transfer unit 23 to send the warning data as data 32 to the external device 1. The transfer unit 23 transfers the data 32 to the external device 1. The external device 1 receives the data 32 at the transfer unit 12. The warning unit 15 receives the data 32 from the transfer unit 12 and issues a warning. Further, the warning unit 15 invalidates the connection of the accessory device 3.
[0049]
In this way, when data or a program corresponding to the accessory device 3 does not exist, it is possible to notify the user that the connected accessory device 3 does not operate by issuing a warning to the user. Also, the user only has to download and install, for example, a device driver for the external device 1 when a warning is issued. In this example, warnings are issued at two locations, the host device 2 and the external device 1, but either one may be used. Further, it is not always necessary to invalidate the accessory device 3.
[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. Reference numeral 33 denotes inquiry information. An external device 1 and a host device 2 are connected. When the accessory device 3 is connected to the external device 1, the external device 1 retains connection information. The host device 2 transmits inquiry information 33 to the external device 1 periodically or irregularly in order to confirm a change in the state of the attached device 3. When the external device 1 receives the inquiry information 33, if there is a change in the connection of the device, the external device 1 returns notification information 31 to the host device 2 and requests data and programs. When there is no change in device connection, the notification information 31 indicating that there is no change in the notification information 31 is returned to the host device 2 or nothing is returned.
[0051]
After the notification information 31 is sent from the external device 1 to the host device 2 when the connection of the device is changed, the host device 2 is connected to the external device 1 as in the above-described embodiments. Data and programs necessary for operating the accessory device 3 are transferred as data 32 to the external device 1 to update the program.
[0052]
With such a configuration, the program in the external device 1 can be updated in accordance with the operation of the host device 2. For example, it is possible to prevent such a problem that a notification 31 indicating that an attached device has been added is received from the external device 1 before the host device 2 is ready.
[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. Reference numeral 16 denotes a search unit. A host device 2 is connected to the external device 1. In addition, a detachable accessory device 3 is attached to and detached from the external device 1. The external device 1 includes a search unit 16 together with a storage unit 11, a transfer unit 12, a determination unit 13, and a recognition unit 14. The storage unit 11, the transfer unit 12, the determination unit 13, and the recognition unit 14 are the same as those in the first embodiment described above. The search unit 16 searches for the presence / absence of software and its version. The configuration of the host device 2 is the same as that in the first embodiment described above.
[0054]
An example of the operation in the fifth embodiment will be described. When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 identifies a connected device based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 passes the specified device information to the search unit 16. The search unit 16 checks data and programs existing in the storage unit 11 and confirms whether necessary data and programs are already present in the accessory device 3. When necessary data and programs exist in the accessory device 3, the search unit 16 further searches the version information of the data and programs. The search unit 16 passes the type of the connected accessory device 3, related data, the presence / absence of a program, and the version, if any, to the transfer unit 12, and causes the host device 2 to transfer the notification information 31.
[0055]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects a corresponding one from data, programs, and the like stored in the storage unit 21. The selected data and program are subjected to a version check by the control unit 22. When it is determined that the data or program is a new version as a result of comparison with the notification information 31, the control unit 22 processes the data and program stored in the storage unit 21 for transfer as necessary and transfers the data or program. Pass to part 23. The transfer unit 23 transmits the given data and program as data 32 to the external device 1.
[0056]
The external device 1 receives the data 32 at the transfer unit 12. The received data 32 is stored in the storage unit 11, and if there is an old version of data or software, it is replaced. Data and programs stored in the storage unit 11 are used or executed by the external device 1. In this way, since the latest program and data are transferred to the external device 1, the external device 1 can always be updated by the latest program and can be specified or executed.
[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. Reference numeral 34 denotes survey procedure information. A host device 2 is connected to the external device 1. The accessory device 3 is attached to and detached from the external device 1. Attachment / detachment of the accessory device 3 is notified to the host device 2 as notification information 31. In response to the notification information 31, the host device 2 transfers to the external device 1 investigation procedure information 34 indicating a procedure for identifying the connected accessory device 3. The external device 1 identifies the attached device 3 connected according to the received investigation procedure information 34 and notifies the host device 2 of notification information 31 including information on the identified attached device 3. The host device 2 receives the notification information 31 and transfers data and programs corresponding to the connected accessory device 3 to the external device 1 as data 32. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above.
[0058]
An example of the details of the operation in the sixth embodiment will be described. When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 passes the connection information received from the recognition unit 14 or the minimum interface information to the transfer unit 12, and causes the host device 2 to transfer the notification information 31.
[0059]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23, selects a procedure (such as an access method and an interpretation method of the extracted data) for examining the attached device 3 from the storage unit 21, and transfers the transfer unit 23. To pass. The transfer unit 23 transmits data relating to the given investigation method to the external device 1 as investigation procedure information 34.
[0060]
The external device 1 receives the survey procedure information 34 at the transfer unit 12. The received investigation procedure information 34 is stored in the storage unit 11 and executed by the determination unit 13. The determination unit 13 specifies the connected accessory device 3 through the recognition unit 14 according to the procedure. The determination unit 13 passes the specified device information to the transfer unit 12 and causes the host device 2 to transfer the information as the notification information 31 again.
[0061]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects the corresponding information from the data, programs, and the like stored in the storage unit 21. The selected data and program are processed by the control unit 22 if necessary and transferred to the transfer unit 23. The transfer unit 23 transmits the given data and program as data 32 to the external device 1. The external device 1 receives the data 32 at the transfer unit 12. The received data 32 is stored in the storage unit 11 and used or executed by the external device 1.
[0062]
In this manner, when the accessory device 3 is connected, the investigation procedure information 34 is transferred from the host device 2 to the external device 1 and the accessory device 3 is investigated. For example, it is expected that the procedure and format for checking the type of attached device will be changed, such as when the interface standard such as USB or IEEE 1394 is upgraded. By transferring the investigation procedure information 34 from the host device 2, it is possible to cope with such version upgrades of the interface, and the external device 1 always investigates the attached device 3 in the correct procedure and updates the correct program. Can do.
[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 host device 2 is connected to the external device 1. The external device 1 is connected to a detachable accessory device 3-1, and the accessory device 3-2 is also attached and detached. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the determination unit 13 determines the types of the attached device 3-1 and the attached device 3-2 that are freely attached and detached, and performs processing. Determine the contents. The recognizing unit 14 detects physical attachment / detachment or logical attachment / detachment of the accessory device 3-1 and the accessory device 3-2.
[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 external device 1 and an accessory device 3-2 of the same type as the accessory device 3-1 is connected, the recognition unit 14 determines that the connection has occurred to the determination unit 13. Notice. The determination unit 13 specifies the connected accessory device 3-2 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 examines data and programs existing in the storage unit 11 based on the specified information about the attached device 3-2, and determines whether the necessary data and programs already exist in the attached device 3-2. To check. When data or a program exists, the determination unit 13 does not transmit a notification of device connection to the transfer unit 12. The determination unit 13 determines whether or not the accessory device 3-2 is a device that can coexist with the accessory device 3-1. In addition, if it can coexist, the attached device 3-2 is also operated by existing data and programs.
[0065]
In addition, when the data and program required for the accessory device 3-2 do not exist in the storage unit 11, notification information is sent to the host device 2, and the host device 2 requires the accessory device 3-2. Various data and programs are received and stored in the storage unit 11, and are specified or executed by the external device 1.
[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 host device 2 can be reduced, and use of a useless memory area in the external device can be prevented.
[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. Reference numeral 17 denotes a setting unit. A host device 2 is connected to the external device 1. The accessory device 3 is attached to and detached from the external device 1. In this embodiment, the setting unit 17 is provided in the external device 1. The setting unit 17 is used by the user to set the handling of the attached device, and can be configured by, for example, a control panel provided in the external device 1. Other configurations are the same as those in the first embodiment.
[0068]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies a connected device based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. On the other hand, the user uses the setting unit 17 to set in advance whether to notify the host device 2 of the connection of the accessory device 3. It is assumed that the setting information is stored in the storage unit 11. Based on the setting information stored in the storage unit 11, the determination unit 13 determines whether to notify the host device 2 of the specified device information. When the notification is not permitted, the determination unit 13 does not notify the transfer unit 12 that the attached device is connected. If the notification is permitted, the determination unit 13 notifies the transfer unit 12 that the attached device is connected, and the transfer unit 12 notifies the notification information 31 as in the above-described embodiments. To the host device 2. Then, data 32 such as data and programs sent from the host device 2 is received, stored in the storage unit 11, and used or executed.
[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 setting unit 17 to prohibit the notification to the host device 2 in advance. Can do. When other devices are ready and ready for use, the user may permit notification to the host device 2 using the setting unit 17 before connecting the last accessory device. By connecting the last accessory device, the necessary program is transferred from the host device 2 to the external device 1, and the accessory device can be used.
[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 host device 2 is connected to the external device 1. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment. The notification information 31 notified to the host device 2 includes device information 51 related to the accessory device 3 and storage location information 52 indicating the location where data and programs are stored.
[0071]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies the connected accessory device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. At this time, if the accessory device 3 has the storage location information 52, the determination unit 13 acquires the storage location information 52 from the accessory device 3. If the accessory device 3 does not have the storage location information 52, the storage unit 11 is searched to check whether there is a corresponding download in the past. If there is such information, it is added as storage location information 52. The determination unit 13 processes the specified device information 51 and storage location information 52 as notification information 31, passes the information to the transfer unit 12, and causes the host device 2 to transfer the notification information 31. The host device 2 receives the notification information 31 from the external device 1. The host device 2 extracts the storage location information 52 from the received notification information 31 as necessary, and downloads the program from the Internet indicated by the location indicated by the storage location information 52, for example, a URL, or at the file location. If so, get that file. Then, after processing as necessary, it is transferred as data 32 to the external device 1 and the program of the external device 1 is updated.
[0072]
By transferring the storage location information 52 to the host device 2 in this way, for example, if the storage location information 52 is a URL, the latest program can always be downloaded and the program in the external device 1 can be updated. . If the storage location information 52 is a file location or the like, an optimal program can be selected and the program in the external device 1 can be updated.
[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. Reference numeral 25 denotes a reconstruction unit. The tenth to twenty-first embodiments show an example in which a program transferred to the external device 1 is reconfigured in the host device 2 and then transferred.
[0074]
An external device 1 that can be connected and disconnected is connected to the host device 2, and a detachable accessory device 3 is connected to the external device 1. The external device 1 has a function of detecting attachment / detachment of the accessory device 3 and notifies the host device 2 of the attachment / detachment status of the accessory device 3. The host device 2 prepares necessary software and other data based on the notification from the external device 1, and transfers it to the external device 1. When the external device 1 receives the software or other data sent from the host device 2, the external device 1 stores it in the internal memory, moves to the control preparation of the accessory device 3, and moves to the necessary processing operation, and controls the corresponding function. To start.
[0075]
The host device 2 is provided with a reconfiguration unit 25. The reconfiguration unit 25 does not simply prepare data and programs to be sent to the external device 1, but has a function of reconfiguring objects by rearranging and optimizing. Other configurations are the same as those in the first embodiment described above.
[0076]
An example of the operation in the tenth embodiment will be described. An external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. Attachment / detachment of the accessory device 3 is notified to the host device 2 as notification information 31. The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23, and selects all necessary data and program objects (execution files) stored in the storage unit 21. The selected data and program are transferred to the reconfiguration unit 25 and reconfigured into objects for execution. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. Note that the necessary program and data identification method used here may be managed by the host device or may be given from an external device.
[0077]
Thus, by reconfiguring the program object in the host device 2 and transferring it to the external device 1, the program for operating the external device 1 and the accessory device 3 is optimized in terms of operating speed and memory usage. It has the advantage that it can be transferred and updated.
[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. Reference numeral 26 denotes another CPU reconfiguration unit. The external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0079]
The host device 2 is provided with another CPU reconfiguration unit 26. The other CPU reconfiguring unit 26 reconstructs various data and programs in accordance with the specifications of the CPU (or controller) for the external device 1. For example, a reconfiguration environment such as a compiler or linker corresponding to the CPU (or controller) for the external device 1 is provided. Other configurations are the same as those of the first and tenth embodiments described above.
[0080]
When the accessory device 3 is connected to the external device 1, the accessory device 3 sends notification information 31 to the host device 2. The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects all necessary data and program objects (execution files) stored in the storage unit 21. The selected data and program are transferred to the other CPU reconfiguration unit 26 and reconfigured into objects that can be executed by the CPU or controller of the external device 1. The reconfigured object is transferred from the other CPU reconfiguration unit 26 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. Note that the necessary program and data identification method used here may be managed by the host device or may be given from an external device.
[0081]
As described above, since the program object transferred to the external device 1 is optimally reconfigured for the CPU and controller of the external device 1, the program object is updated by an optimal program in terms of operating speed and memory usage. be able to.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0083]
The host device 2 is provided with a reconfiguration unit 25. In the twelfth embodiment, the reconfiguration unit 25 recompiles an object by compiling a program to be transferred to the external device 1 from a source file. Other configurations are the same as those of the first and tenth embodiments described above.
[0084]
When the accessory device 3 is connected to the external device 1, the accessory device 3 sends notification information 31 to the host device 2. The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects all necessary data and programs (source files) stored in the storage unit 21. The selected data and program (source file) are transferred to the reconstruction unit 25 and compiled into an object. The compiled object is further linked and collected as an object for the external device 1. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. Note that the necessary program and data identification method used here may be managed by the host device or may be given from an external device.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31. Note that the configurations of the external device 1 and the host device 2 are the same as those in the first and tenth embodiments described above, but the storage unit 11 of the external device 1 is attached to the external device 1. Device information of the device 3 is held as management information 61.
[0087]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies the connected accessory device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 holds the information on the specified accessory device 3 in the storage unit 11 as the newly connected device information 64, and examines the management information 61 that is already stored. An example of the management information 61 is shown in FIG. 14B, in which device information 62 and 63 are stored. The determination unit 13 extracts already-connected device information 62 and 63 and necessary software information from the management information 61 and summarizes them as notification information 31 together with the temporarily stored new connection device information 64. The collected notification information 31 is shown in FIG. The notification information 31 is transferred to the transfer unit 12 and transferred to the host device 2.
[0088]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23 and selects all necessary data and programs stored in the storage unit 21. The selected data and program are transferred to the reconfiguration unit 25 and reconfigured as an object for the external device 1. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. When the data 32 is received, the newly connected device information 64 is registered in the management information 61 as device information.
[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 host device 2 to optimize the configuration of these devices. The program object can be reconfigured and transferred to the external device 1 to update the program.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31. The configurations of the external device 1 and the host device 2 are the same as those in the first and tenth embodiments described above, but the storage unit 21 of the host device 2 has an accessory connected to the external device 1. Device information of the device 3 is held as management information 71. The example shown in FIG. 15C shows an example in which the device information 72 and 73 are held.
[0091]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies the connected accessory device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 passes the specified information on the attached device 3 to the transfer unit 12 as notification information 31 and causes the host device 2 to transfer the information. In the fourteenth embodiment, the notification information 31 includes information on the newly connected accessory device 3 as newly connected device information 64 as shown in FIG.
[0092]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. Further, the control unit 22 examines the management information 71 held in the storage unit 21 and obtains information about the non-new accessory device 3 and related programs that are currently connected to the external device 1. The control unit 22 stores data and programs stored in the storage unit 21 on the basis of two pieces of information about the accessory device 3 and related programs other than the new one and the newly connected device information 64 received as the notification information 31. Select everything you need from. The selected data and program are transferred to the reconfiguration unit 25 and reconfigured as an object for the external device 1. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. Note that the newly connected device information 64 is registered in the management information 71 as device information at the time when the data 32 is sent or when the data 32 is received from the external device 1.
[0093]
As described above, the host device 2 manages the attached devices already installed and software information already installed, and notifies only the information of the newly connected accessory devices from the external device 1 to the host device 2. The data amount of the notification information 31 can be reduced. In addition, by using both the information of the already installed accessory device and the information of the newly connected accessory device, the optimum program object in these device configurations is reconfigured and transferred to the external device 1, and the program Can be updated.
[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. Reference numeral 27 denotes a compression unit. The external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0095]
The host device 2 is provided with a compression unit 27. The compression unit 27 compresses part or all of the program to be reconstructed as necessary. The other configuration of the host device 2 and the configuration of the external device 1 are the same as those in the first and tenth embodiments described above.
[0096]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies the connected accessory device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 passes the specified information on the attached device 3 and the size in the storage unit 11 allocated for storing the program (object) to the transfer unit 12 as notification information 31 and causes the host device 2 to transfer the information. .
[0097]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. The control unit 22 selects necessary data and programs stored in the storage unit 21. The selected data and program are transferred to the reconfiguration unit 25 and reconfigured as an object for the external device 1. The size of the reconstructed object is checked by the control unit 22. When the size of the object is larger than that given from the external device 1, the object is compressed by the compression unit 27 via the reconstruction unit 25. The compressed or full size object is passed to the transfer unit 23. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. It is assumed that the compressed program is expanded at the time of execution. In this example, the size of the free area in the storage unit 11 is managed on the external device 1 side, but this may be managed on the host device 2 side.
[0098]
With such a configuration, a program exceeding the capacity of the storage unit 11 of the external device 1 can be transferred to the external device 1, and the program can be updated without changing the capacity of the storage unit 11.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31. The configuration of the external device 1 and the host device 2 and the configuration of the external device 1 are the same as those in the first and tenth embodiments described above, but the storage unit 21 of the host device 2 has an external device. Priority information 81 for each accessory device 3 connected to 1 is stored. In the example illustrated in FIG. 17B, priority information 81 for the devices 1 and 2 is stored.
[0100]
When the accessory device 3 is connected to the external device 1, the notification information 31 is transferred to the host device 2. It is assumed that the notification information 31 includes information on all the attached devices 3 connected to the external device 1. The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. Further, the control unit 22 examines the priority information 81 held in the storage unit 21 and obtains respective priority orders for all the attached devices 3 and related programs that are currently connected to the external device 1. Based on the notification information 31, the control unit 22 selects all necessary data and programs stored in the storage unit 21, and passes them to the reconfiguration unit 25 together with instructions for reconfiguration according to priority. The reconfiguration unit 25 reconfigures the program according to an instruction from the control unit 22 to create an object for the external device 1. At this time, the interrupt priority of the device driver that drives the attached device is assigned according to the instructed priority. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it.
[0101]
As described above, since the program object is reconfigured according to the priority order of the accessory device 3 and transferred to the external device 1, the program of the external device 1 is updated with an optimal program in terms of priority order such as the operation speed and the operation order. can do.
[0102]
In the above example, the priority information 81 is held on the host device 2 side. However, the priority information 81 is held on the external device 1 side, for example, and the priority information 81 is also transferred to the host device 2 as the notification information 31. Also good. In the above description, the information on all the attached devices 3 connected to the external device 1 is transferred to the host device 2 as the notification information 31. However, for example, only the information on the newly connected attached device 3 is transferred. You may comprise so that it may transfer to the host apparatus 2.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0104]
The host device 2 has an external search unit 28 and is connected to the outside via a network or the like. The external search unit 28 searches an external home page, communicates, downloads data, and the like through a network or the like. The storage unit 21 stores storage location information 91 indicating the storage location of various data and programs corresponding to each accessory device 3 for each accessory device 3. The example shown in FIG. 18B shows an example in which storage locations for various data and programs corresponding to the devices 1 and 2 are registered. The other configuration of the host device 2 and the configuration of the external device 1 are the same as those in the first and tenth embodiments described above.
[0105]
When the accessory device 3 is connected to the external device 1, the notification information 31 is transferred to the host device 2. The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. Further, the control unit 22 checks the storage location information 91 held in the storage unit 21 and knows the location where the latest related data and programs are stored. The control unit 22 passes this information to the external search unit 28. The external search unit 28 searches the network or each homepage for the storage location of the corresponding data according to the given information, and downloads the latest data if there is any. If the data is downloaded, replace the old version. The control unit 22 waits for a data download completion or a response without change, selects all necessary new or existing data and programs, and passes them to the reconfiguration unit 25. The reconfiguration unit 25 reconfigures the program and creates an object for the external device 1. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it. In this example, the storage location information 91 is held on the host device 2 side. However, the storage location information 91 is held on the external device 1 side and transferred to the host device 2 together with the notification information 31. It doesn't matter.
[0106]
In this way, by automatically searching for the latest data and program according to the storage location information 91, the external device 1 and the accessory device 3 can always be updated with the latest program and always operated in the latest state.
[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. Reference numeral 18 denotes a measurement unit, and 53 denotes device usage information. The external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0108]
The external device 1 has a measuring unit 18. The measuring unit 18 measures the usage status of the accessory devices such as the accessory device 3-1 and the accessory device 3-2. Other configurations of the external device 1 are the same as those of the first, seventh, and thirteenth embodiments described above, but the accessory device 3 connected to the storage unit 11 is the same as the thirteenth embodiment. The device information 62 and 63 such as −1 and 3-2 are held as management information 61 (FIG. 19B). Further, as shown in FIG. 19C, the notification information 31 to be transferred to the host device 2 is combined with the newly connected device information 64 that is information related to the newly connected accessory device. Device usage information 53 based on the measurement result by the measurement unit 18 is included. The configuration of the host device 2 is the same as that in the first and tenth embodiments described above.
[0109]
When the attached device 3-1 is connected to the external device 1 in a state where the attached device 3-1 is connected in advance, the notification information 31 is transferred to the host device 2. At this time, if the accessory device 3-1 has not been operated for a predetermined time or more, the measuring unit 18 assumes that the accessory device 31 is not in operation, and the accessory device of the management information 61 stored in the storage unit 11 The device information corresponding to 31, for example, device information 62, indicates that the device is not in operation.
[0110]
When the notification information 31 is transferred from the external device 1 to the host device 2, the determination unit 13 searches the management information 61 for the operating state of each accessory device. Now, if it is described in the device information 62 that the attached device 3-1 is inactive, the determination unit 13 adds the newly connected attached device 3-3 to the notification information 31 to be transferred to the host device 2. 2, new connection device information 64, and device usage information 53 indicating that the attached device 3-1 is not in operation are passed to the transfer unit 12.
[0111]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. The control unit 22 searches for related data and programs stored in the storage unit 21 based on the management information of the attached devices managed by the control unit 22 and the notification information 31 newly sent from the external device 1. An object is generated again by the reconstruction unit 25 from a new one. At this time, a device related to a non-operating accessory device (the accessory device 3-1 in this example) is not selected. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it.
[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 external device 1 is configured only with a program to be used. Constantly updated by the programmed program, the memory usage can always be optimized.
[0113]
The device management information may be held by either or both of the external device 1 side and the host device 2 side. In addition, the information added to the notification information includes only the data of the attached device that has changed (newly connected or newly deactivated) even if the data related to all the attached devices is included. It does not matter.
[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. Reference numeral 19 denotes a detection unit, and 54 denotes equipment failure information. The external device 1 is connected to the 2 host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0115]
The external device 1 has a detection unit 19. The detection unit 19 detects a failure state of an accessory device such as the accessory device 3-1 or the accessory device 3-2. Other configurations of the external device 1 are the same as those in the first, seventh, thirteenth, and eighteenth embodiments described above, but are connected to the storage unit 11 as in the thirteenth and nineteenth embodiments. The device information 62 and 63 such as attached devices 3-1 and 3-2 is held as management information 61 (FIG. 20B). In the notification information 31 to be transferred to the host device 2, as shown in FIG. 20C, a failure is detected by the detection unit 19 together with new connection device information 64 that is information related to a newly connected accessory device. Device failure information 54 related to the attached device is included. The configuration of the host device 2 is the same as that in the first and tenth embodiments described above.
[0116]
When the attached device 3-1 is connected to the external device 1 in a situation where the attached device 3-1 is connected in advance, the notification information 31 is transferred to the host device 2. At this time, if the accessory device 3-1 is not functioning, the detection unit 19 determines that the accessory device 3-1 is out of order and corresponds to the accessory device 3-1 in the management information 61 stored in the storage unit 11. The device information (in this case, device information 62) to be used indicates that a failure is occurring. When the notification information 31 is transferred to the host device 2, the determination unit 13 searches the operation status of each accessory device from the management information 61. Now, assuming that the device information 62 indicates that the accessory device 3-1 is out of order, the determination unit 13 adds the newly connected accessory device 3-2 to the notification information 31 to be transferred to the host device 2. The newly connected device information 64 and the device failure information 54 indicating the failure of the attached device 3-1 are transferred to the transfer unit 12.
[0117]
The host device 2 receives the notification information 31 from the external device 1 at the transfer unit 23. The control unit 22 interprets the notification information 31 received by the transfer unit 23. The control unit 22 searches for related data and programs stored in the storage unit 21 based on the management information of the attached devices managed by the control unit 22 and the notification information 31 newly sent from the external device 1. The object is reconstructed by the reconstructing unit 25 from the source. At this time, the device related to the accessory device in failure is not selected. The reconstructed object is transferred from the reconstruction unit 25 to the transfer unit 23 through the control unit 22. The transfer unit 23 transmits the given data and program object as data 32 to the external device 1. The external device 1 receives the data 32 and uses or executes it.
[0118]
In this way, for the accessory device in which a failure has occurred, the host device 2 is notified of this, and the object is reconfigured without incorporating a program for operating the accessory device. It can be operated only by a program capable of stable operation. In addition, since it is always updated only by a program corresponding to an operable accessory device, the use of the memory can always be optimized.
[0119]
Note that the management information of the attached device may be held by either or both of the external device 1 side and the host device 2 side. In addition, even if the information added to the notification information 31 includes data on all the attached devices, the changed attached devices (the newly connected attached devices and the occurrence of a new failure or the restoration of the failure) Only attached data) may be included. In addition, here, information on the failed device is sent to the host triggered by the presence of a newly connected accessory device, but this is not a limitation. For example, it may be performed when a failure is detected or recovered. A configuration that is performed periodically may be used.
[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. Reference numeral 29 denotes a measuring unit. The external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31.
[0121]
The host device 2 is provided with a measuring unit 29. The measurement unit 29 has a function of notifying the control unit 22 at regular intervals. Other configurations are the same as those in the first and tenth embodiments described above.
[0122]
In the host device 2, the measurement unit 29 notifies the control unit 22 that a certain time has passed. Receiving the notification, the control unit 22 causes the transfer unit 23 to transmit data giving a command to transmit the notification information 31. The external device 1 that has received the command returns the current connection status of the attached device as notification information 31. Based on the notification information 31 sent back, the host device 2 extracts data and a program from the storage unit 21 if necessary, gives them to the reconfiguration unit 25, and recreates the object. The new object is sent as data 32 from the transfer unit 23 to the external device 1.
[0123]
With such a configuration, the program object can be reconfigured and the program of the external device 1 can be updated every predetermined time, and the external device 1 can always operate in the latest state. Here, the host device 2 side measures the reconfiguration timing, but this may be measured by the external device 1 side.
[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 host device 2 is connected to the external device 1. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first and tenth embodiments. In this example, the notification information 31 transferred from the external device 1 to the host device 2 stores data and programs corresponding to the accessory device 3 together with the device information 51 related to the accessory device 3, as shown in FIG. The storage location information 52 indicating the location that has been set is notified.
[0125]
When the accessory device 3 is connected to the external device 1, the recognition unit 14 notifies the determination unit 13 that a connection has occurred. The determination unit 13 specifies the connected accessory device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. At this time, if the accessory device 3 has the storage location information 52, the determination unit 13 acquires it. If the accessory device 3 does not have the storage location information 52, the storage unit 11 is searched to check whether there is a corresponding one in the past program update. If there is such information, it is added as storage location information 52. The determination unit 13 processes the device information 51 and the storage location information 52 corresponding to the specified accessory device 3 as the notification information 31, passes the processed information to the transfer unit 12, and causes the host device 2 to transfer the notification information 31. The host device 2 receives the notification information 31 from the external device 1. The host device 2 extracts the storage location information 52 from the received notification information 31 as necessary. For example, if the storage location information 52 is a URL, the host device 2 downloads the latest program from the Internet or the like, and the storage location information 52 is a file. If it is a location, a program file is acquired from the file location, the object is reconfigured, and sent back to the external device 1.
[0126]
In this way, the latest and optimum program from a predetermined location can be transferred to the external device 1 and used.
[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. Reference numeral 101 denotes an S / W management area. In the twenty-second to twenty-eighth embodiments, when the accessory device 3 is removed from the external device 1, the external device 1 automatically deletes the program corresponding to the accessory device 3. Show. The twenty-second embodiment shows the basic configuration. Note that the configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the storage unit 11 of the external device 1 has a configuration as shown in FIGS. Each accessory device 3 is provided with an S / W management area 101 for holding software (indicated as S / W) information indicating validity or invalidity, thereby managing the program.
[0128]
An external device 1 that can be connected and disconnected is connected to the host device 2, and a detachable accessory device 3 is connected to the external device 1. The external device 1 has a function of detecting attachment / detachment of the accessory device 3 and notifies the host device 2 of the attachment / detachment status of the accessory device 3 as necessary. It also has a function of deleting data related to the removed attached device from the currently operating or held data and programs as necessary. The host device 2 prepares necessary software and other data based on the notification information 31 from the external device 1 and transfers it to the external device 1. Also, it responds by receiving a status notification from the external device 1.
[0129]
For example, when the attached device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. Based on the information notified from the recognition unit 14 or the information obtained by requesting detailed information from the recognition unit 14, the determination unit 13 identifies the detached attached device 3. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11 and examines the S / W management information 101 already stored and held. The determination unit 13 extracts the connected accessory device and related software information from the S / W management information 101, and identifies a portion corresponding to the device information of the removed accessory device 3 temporarily held. Then, the determination unit 13 invalidates (releases) the specified portion. For example, when the area S / W3 of the S / W management area 101 is a corresponding part, S / W3 is set to an invalid state as shown in FIG. Thereby, the area | region regarding the removed accessory 3 is released. If necessary, the determination unit 13 causes the transfer unit 12 to send information about the attached device 3 to the host device 2.
[0130]
In this way, when the attached device is removed, the unnecessary program can be automatically deleted and the program in the external device 1 can be updated. When the attached device is connected again, the program may be updated by receiving the program transfer from the host device 2 as described in the above embodiments.
[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. Reference numeral 102 denotes an S / W management table, and 103 denotes an empty management table. An external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. Note that the configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the storage unit 11 of the external device 1 has a configuration as shown in FIGS. An S / W management table 102 and an empty management table 103 are provided. The S / W management table 102 is a table for managing storage areas allocated to drivers and other programs. The empty management table 103 is a table for managing unused storage areas. The storage area is managed by these tables. For example, as shown in FIG. 24D, the storage area to be allocated is an element of each management table indicating a real area as a pointer.
[0132]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. Based on the information notified from the recognition unit 14 or the information obtained by requesting detailed information from the recognition unit 14, the determination unit 13 identifies the detached attached device 3. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11 and examines the S / W management table 102 already stored and held. The determination unit 13 extracts the connected accessory device and related software information from the S / W management table 102, and specifies a portion corresponding to the device information of the removed attached device 3 temporarily held. The determination unit 13 invalidates (releases) the specified part. For example, when the area S / W3 of the S / W management table 102 is a corresponding part, S / W3 is set to an invalid state as shown in FIG. Furthermore, the determination unit 13 registers the invalidated part in the empty management table 103 so that it can be used for other purposes. For example, the S / W3 area registered in the S / W management table 102 is registered in the non-registered area of the empty management table 103 as three empty areas. As a result, the area related to the detached accessory device 3 is registered as a new usable free area. If necessary, the determination unit 13 sends information on the detached attached device 3 to the transfer unit 12 and sends notification information to the host device 2.
[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 host device 2 as described in the above embodiments. .
[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 external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the storage unit 11 of the external device 1 has an S / W as in the twenty-third embodiment. A management table 102 and an empty management table 103 are provided. The storage area is managed by these tables. For example, as shown in FIG. 25D, the storage area to be allocated is an element of each management table indicating a real area as a pointer.
[0135]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. Based on the information notified from the recognition unit 14 or the information obtained by requesting detailed information from the recognition unit 14, the determination unit 13 identifies the detached attached device 3. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11 and examines the S / W management table 102 already stored and held. The determination unit 13 extracts connected devices and related software information from the S / W management table 102, and identifies a portion corresponding to the device information of the removed attached device 3 that is temporarily held. Then, the determination unit 13 invalidates (releases) the specified portion. For example, when the area S / W3 in the S / W management table 102 is a corresponding part, the area pointed to by S / W3 is set to an invalid state as shown in FIG. Further, the determination unit 13 registers the invalidated part in the empty management table 103 so that it can be used for other purposes. For example, the area pointed to by S / W 3 in the S / W management table 102 is registered as an unregistered area in the empty management table 103 as three empty areas. At this time, for the newly registered free area, the real area is rewritten to a specific value. For example, as shown in FIG. 25D, a pointer indicating a newly registered area in the free management table 103 is set. When “free area” is defined, the storage area 1 that is the entity is filled (cleared) with a specific “value”. Thereafter, the area related to the removed accessory device 3 is registered as a new usable free area. If necessary, the determination unit 13 transfers the information of the removed attached device 3 to the transfer unit 12 and sends notification information to the host device 2.
[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. Reference numeral 104 denotes an S / W management flag. An external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the external device 1 has a measuring unit 18. In the twenty-fifth embodiment, the measurement unit 18 measures the time after the attachment device 3 is removed. Further, the storage unit 11 of the external device 1 is provided with the S / W management table 102 and the S / W management flag 104 as in the twenty-third embodiment. The S / W management flag 104 is a flag indicating the attachment / detachment state of each accessory device 3. The storage area is managed by these tables and flags.
[0138]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. The determination unit 13 identifies the removed attached device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11, finds the corresponding flag from the S / W management flag 104, and turns it on. For example, as shown in FIG. 26B, when the corresponding flag is flag 3, this is turned ON. The determination unit 13 instructs the measurement unit 18 to start measuring the elapsed time since the removed attached device is removed. After a predetermined time has elapsed, the measurement unit 18 notifies the determination unit 13 of the passage of time and stops. The determination unit 13 turns off the corresponding flag of the S / W management flag 104, for example, the flag 3 as shown in FIG. 26C, and releases it for other management. Further, the determination unit 13 releases the use area of the S / W management table 102, for example, the S / W3 area shown in FIG. 26D as shown in FIG. It can be so.
[0139]
When the attached device 3 that has been removed is connected again before the measurement unit 18 finishes the measurement, the determination unit 13 turns off the S / W management flag 104 as shown in FIG. Stop 18 measurements. In this case, the S / W management table 102 is not changed. As a result, the reconnected accessory device is restarted. If necessary, the determination unit 13 transfers the information and state of the detached attached device to the transfer unit 12 and sends the information to the host device 2.
[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 storage unit 11 of the external device 1 can be used for other purposes. Further, when the accessory device 3 is reinserted within a predetermined time after being removed, it can be operated as it is.
[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 external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above, but the storage unit 11 of the external device 1 has an S / W as in the 25th embodiment. A management table 102 is provided, and an S / W management flag 104 is provided. The storage area is managed by these tables and flags.
[0142]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. The determination unit 13 identifies the removed attached device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11, finds the corresponding flag from the S / W management flag 104, and turns it off. For example, when the corresponding flag is flag 3, as shown in FIG. 27B, this flag 3 is turned OFF. The determination unit 13 ends the process once here.
[0143]
When the accessory device 3 is newly attached to the external device 1, the recognition unit 14 detects a new connection and notifies the determination unit 13. The determination unit 13 inquires and acquires information notified from the recognition unit 14 or necessary information, and identifies the connected accessory device 3. If the specified accessory device 3 is the same as that removed, the determination unit 13 returns the corresponding flag of the S / W management flag 104 to ON again. If the identified attached device 3 is different from the device removed so far, the determination unit 13 deletes the corresponding flag of the S / W management flag 104 from the registration, and further registers it in the S / W management table 102. Delete related programs and free up space. For example, in the state shown in FIGS. 27B and 27D, when the connected accessory device is different from the accessory device 3 removed so far, the S corresponding to the accessory device 3 as shown in FIG. The registration of the flag 3 of the / W management flag 104 is deleted, and the S / W 3 of the S / W management table 102 corresponding to the attached device 3 is also released as shown in FIG. If necessary, the determination unit 13 transfers the information and status of the removed attached device to the transfer unit 12 and the information of the newly connected device, and sends the information to the host device 2.
[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 external device 1 is connected to the host device 2. The accessory device 3 is attached to and detached from the external device 1. The configurations of the external device 1 and the host device 2 are the same as those in the first embodiment described above. However, as in the 25th and 26th embodiments, the storage unit 11 of the external device 1 includes An S / W management table 102 and an S / W management flag 104 are provided. The storage area is managed by these tables and flags.
[0146]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. The determination unit 13 identifies the removed attached device 3 based on information notified from the recognition unit 14 or information obtained by requesting detailed information from the recognition unit 14. The determination unit 13 holds the device information of the specified accessory device 3 in the storage unit 11, finds the corresponding flag from the S / W management flag 104, and turns it OFF as shown in FIG.
[0147]
When a new accessory device is connected, the determination unit 13 first selects a free area of the S / W management flag 104 and the S / W management table 102, and makes this registered. For example, as shown in FIG. 28C, the free area of the S / W management flag 104 is set to flag 4, and as shown in FIG. 28D, the free area of the S / W management table 102 is set as shown in FIG. As S / W4. When there is no free area in the S / W management flag 104 and the S / W management table 102, the determination unit 13 determines the area that is OFF in the S / W management flag 104 and the corresponding S / W management table. The area 102 is used as a new registration area. If necessary, the determination unit 13 transfers the device information and state of the attached accessory device to the transfer unit 12 and sends it to the host device 2.
[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 storage unit 11 in the external device 1, the program for the removed accessory device is present. Can be removed. For this reason, when the removed attached device is reinserted, in many cases, it can be operated as it is without updating the program.
[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 external device 1 is connected to the host device 2. Notification information 31 is sent from the external device 1 when the accessory device 3 is connected. Further, the host device 2 transmits data, a program, etc. as data 32 to the external device 1 in accordance with the notification information 31. The external device 1 and the host device 2 are provided with a warning unit 15 and a warning unit 24 that display a warning for deletion of software or the like. Other configurations of the external device 1 and the host device 2 are the same as those in the first and twenty-second embodiments described above.
[0150]
When the accessory device 3 is removed from the external device 1, the recognition unit 14 notifies the determination unit 13 that the removal has occurred. Based on the information notified from the recognition unit 14 or the information obtained by requesting detailed information from the recognition unit 14, the determination unit 13 identifies the detached attached device 3. The determination unit 13 causes the warning unit 15 to display a deletion warning about related software or the like, and instructs the transfer unit 12 to notify the host device 2 of the warning. The transfer unit 12 sends the notification information 31 to the host device 2.
[0151]
The host device 2 receives the notification information 31 at the transfer unit 23. The control unit 22 interprets the received information, and causes the warning unit 24 to issue a deletion warning about software in the external device 1. When a non-permission instruction is given for this warning, the control unit 22 causes the transfer unit 23 to transmit a stop instruction 35. The transfer unit 23 sends a stop instruction 35 to the external device 1.
[0152]
When the external device 1 receives the cancel instruction 35, the external device 1 cancels the deletion process of software and the like, and cancels the display of the warning unit 15. When an instruction other than the stop instruction 35 is returned, the software displayed with the warning is deleted, and the display of the warning unit 15 is canceled. If necessary, the determination unit 13 transfers the information and status of the removed attached device to the transfer unit 12 and the information of the newly connected device, and sends the information to the host device 2. Further, the warning, cancellation, and continuation here may be the cooperation of both the external device 1 and the host device 2 or the handling of each device alone.
[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 SYMBOLS 1 ... External device, 2 ... Host device, 3,3-1, 3-2 ... Attached device, 4 ... External storage device, 11 ... Memory | storage part, 12 ... Transfer part, 13 ... Judgment part, 14 ... Recognition part, 15 ... warning unit, 16 ... search unit, 17 ... setting unit, 18 ... measurement unit, 19 ... detection unit, 21 ... storage unit, 22 ... control unit, 23 ... transfer unit, 24 ... warning unit, 25 ... reconstruction unit, 26: Reconfiguring unit for other CPU, 27 ... Compression unit, 28 ... External search unit, 29 ... Measuring unit, 31 ... Notification information, 32 ... Data, 33 ... Inquiry information, 34 ... Investigation procedure information, 35 ... Stop command, DESCRIPTION OF SYMBOLS 41 ... File, 42 ... Host driver part, 43 ... External equipment software part, 51 ... Equipment information, 52 ... Storage location information, 53 ... Equipment use information, 54 ... Equipment failure information, 61 ... Management information, 62, 63 ... device information, 64 ... newly connected device information, 71 ... management information, 7 , 73 ... device information, 81 ... priority information, 91 ... storage location information, 101 ... S / W management area, 102 ... S / W management table, 103 ... free management table, 104 ... S / W management flag.

Claims (2)

ホスト機器と外部機器が接続されたシステムにおけるプログラム更新方法において、前記外部機器に付属機器が接続された時に前記外部機器は前記ホスト機器に対して付属機器が増設されたことを通知し、通知を受けた前記ホスト機器は前記付属機器を動作させるために必要なプログラムを前記外部機器に対して送り、前記外部機器は前記ホスト機器から送られてきたプログラムをメモリに格納し、前記外部機器は、同じ種類の付属機器がすでに装着されており、装着されている付属機器と共存できる場合には、前記ホスト機器へ前記付属機器が追加されたことを通知せずに既存のプログラムを用いることを特徴とするプログラム更新方法。  In a program update method in a system in which a host device and an external device are connected, when an accessory device is connected to the external device, the external device notifies the host device that the accessory device has been added and notifies the host device. The received host device sends a program necessary for operating the attached device to the external device, the external device stores the program sent from the host device in a memory, and the external device When an accessory of the same type is already installed and can coexist with the attached accessory, the existing program is used without notifying the host device that the accessory has been added. Program update method. 前記外部機器は、接続された付属機器がすでに装着されている同じ種類の付属機器と共存できない場合は、前記ホスト機器へ前記付属機器が追加されたことを通知せずに前記付属機器を無効とすることを特徴とすることを特徴とする請求項1に記載のプログラム更新方法。  If the external device cannot coexist with the same type of attached device that is already attached, the external device is invalidated without notifying the host device that the attached device has been added. The program update method according to claim 1, wherein:
JP2001270786A 2001-09-06 2001-09-06 Program update method Expired - Fee Related JP4032217B2 (en)

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)

* Cited by examiner, † Cited by third party
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

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