本発明は、市販されるような着脱可能な外部ストレージデバイスを使用した際に、ある機器で予期せぬ動作不良が発生し、このような問題が発生した外部ストレージデバイスの認識情報をその機器で記憶したら、サーバを経由し、異なるネットワークでもその認識情報について他の機器と情報共有し、同一ネットワークでなくても、すなわち距離的に遠隔であっても、サーバと情報共有する機器全てで問題が発生した外部ストレージデバイスを使用しようとした際に、ユーザに警告を与えることができるようにしたものである。これにより、より多くのユーザの様々な損失を回避することができるようになる。また、問題が発生する外部ストレージデバイスの認識情報を特定のサーバに集め、機器の不具合を素早く知ることができるようにもしている。
以下、本発明の実施形態について、図面を参照しながら説明する。
着脱可能な外部ストレージデバイスを使用した際に、予期せぬ動作不良が発生しないように外部ストレージデバイスを使用している機器のユーザだけでなく、他の機器で前記外部ストレージデバイスを使用するユーザに前記警告を与えることができるようにするためには、まず、前記外部ストレージデバイスを使用している機器のユーザに警告するという技術が前提となる。まず、この前提となる外部ストレージデバイスを使用している機器のユーザに警告する処理から説明する。なお、電子写真計算機の構成自体は、前述の図41に示した構成と同様であり、同一の構成要素には同一の参照符号を付し、重複する説明は省略する。
図41は着脱可能な外部ストレージデバイスを使用した電子計算機の構成を示し、この構成を前提として下記の処理が実行される。図30は、外部ストレージデバイス105の外部通信インターフェース102への接続処理の処理手順を示すフローチャートである。このフローチャートでは、外部ストレージが接続され、外部ストレージデバイス105の認識情報の読み出しを行った後(ステップS202)、外部ストレージデバイス105の認識情報と不揮発性メモリ103上の識別情報の比較処理を行い(ステップS204)、外部ストレージデバイス105の認識情報を不揮発性メモリ103へ記憶する(ステップS205)。なお、ステップS202が認識情報取得手段を、ステップS204が使用継続確認手段を、ステップS205が識別情報書き込み手段をそれぞれ構成する。したがって、ここでは、認識情報取得手段、使用継続確認手段、及び識別情報書き込み手段は、CPU100が実行するプログラムの処理に対応する。
図31はステップS204の処理の詳細を示すフローチャートである。図31において、ステップS202において読み出した認識情報が不揮発性メモリ103に蓄積されている識別情報と一致するか否か判定する(ステップS2041)。ここで、蓄積されていなければステップS203において成功と判定する(ステップS2044)。一致すれば、ユーザインターフェース104上にその外部ストレージデバイス105が過去に問題を発生したことを警告する旨を表示する(ステップS2042)。ここで、ユーザが継続使用を選択したか否かを判定し(ステップS2043)、継続使用ならばステップS203における判定を成功とする(ステップS2044)。使用中止が選択されれば、失敗と判定する(ステップS2045)。
図32はステップS205の処理の詳細を示すフローチャートである。図32において、ステップS202で読み出した認識情報が不揮発性メモリ103に蓄積されている識別情報と一致するか否かを判定し(ステップS2051)、一致すればそのまま終了する(ステップS2053)。識別情報がなければ、読み出した識別情報を不揮発性メモリ103上へ書き込んだ後(ステップS2052)、処理を終える(ステップS2053)。
このように外部ストレージデバイス105の実際の使用前に、その識別情報を記録し、また、以前問題が発生した外部ストレージデバイス105を再度使用しようとしている場合は、ユーザにその旨を伝え、問題が発生する前に、その外部ストレージデバイス105の使用を取り止めるよう促す。これに基づいて、その外部ストレージデバイス105の使用を停止すれば、様々な動作不良を未然に防ぎ、様々な損失を回避することが可能となる。
ステップS205において、記録する情報は問題が発生した外部ストレージデバイス105の認識情報であるため、使用に問題がなかった場合には、当該情報は不揮発性メモリ103上に記録している必要はない。その際、外部ストレージデバイス105への読み書きが可能か否かの判断処理を行い、可能であれば認識情報に対応する不揮発性メモリ103上の識別情報を削除する削除処理を行う。
図33は外部ストレージデバイス105へのデータ書き込み/読み出し処理の処理手順を示すフローチャートである。前記削除処理はこのフローチャートのステップS303に対応する。すなわち、図33のフローチャートに示すように、一度でも読み書きに成功したか否かを判断し(ステップS301)、成功していれば、その外部ストレージデバイスの識別情報を不揮発性メモリ上から削除して(ステップS303)処理を終える(ステップS304)。また、一度も成功しなかった場合には、エラー発生時の処理を行って(ステップS302)、処理を終える(ステップS304)。
このように処理することにより、市販されるような外部ストレージデバイスを使用した際に、予期せぬ動作不良が発生しても、問題が発生した外部ストレージデバイスの識別情報を記憶し、次回、問題発生した外部ストレージデバイスを使用した際に、ユーザに警告を与えることにより、様々な損失を回避することが可能である。
不揮発性メモリ103上に記録される前記識別情報は、USB(Universal Serial Bus)の規格に従い、製造者を示すVenderID、製品名を示すProductIDを用いると、図34の識別情報400のように構成される。図34は識別情報400を記憶する不揮発性メモリ103のメモリマップを示す説明図である。識別情報400は製造者(VenderID)、製品名(ProductID)で構成される最も基本的な識別情報である。なお、これは情報付加手段による特殊な管理情報は付加されていない例である。なお、情報付加手段にはCPU100が、あるいはCPU100に制御され、不揮発性メモリ103のメモリ制御を行う図示しないメモリコントローラが対応する。
識別情報蓄積領域500は、不揮発性メモリ103のある一定の専用に割り当てられた領域であり、ここに識別情報400が複数配置される。識別情報400を用いることによって具体的な外部ストレージデバイスの認識情報の取得が可能となる。識別情報蓄積領域500に、これらの識別情報がいくつ配置できるかは、後述するそれぞれの識別情報のサイズ、及び識別情報蓄積領域のサイズから決まってくる。このように識別情報400として、製造者(VenderID)、製品名(ProductID)を記憶しておくと、USBの規格に沿った外部ストレージデバイスの製造者、製品名を読み取ることができ、これにより製品単位で記憶することが可能になる。
図35は識別情報401を記憶する不揮発性メモリ103のメモリマップを示す説明図である。同図において、識別情報401は、上記識別情報400に加えてリリースバージョン(bcdDevice)を追加、拡張した例である。なお、この例は情報付加手段による特殊な管理情報は付加されていない例である。これにより製品のバージョン単位での記録が可能となり、古いバージョンでは問題が発生し、新しいバージョンでは問題が発生しないといった場合のバージョンの差異の認識も可能となる。このようにリリースバージョンも記憶すると、USBの規格に沿った外部ストレージデバイスの製造者、製品名に加えて製品のバージョンを読み取ることができ、これにより製品のバージョン単位で記憶することが可能になる。
図36は識別情報402を記憶する不揮発性メモリ103のメモリマップを示す説明図である。同図は、さらに識別情報401に加えて製造番号(Serial Number)を追加、拡張した例である。なお、この例では情報付加手段による特殊な管理情報は付加されていない。この例では、外部ストレージデバイスの個体単位での記録が可能になり、製造者、製品名、バージョンが同一でも、1つは問題が発生し、異なるものでは問題が発生しない、いわゆる個体不良の場合の個体認識も可能となる。このように製造番号も記憶すると、USBの規格に沿った外部ストレージデバイスの製造者、製品名、製品のバージョンに加えて製品番号を読み取ることができ、これにより製品の固体単位で記憶することが可能になる。
図37は識別情報403を記憶する不揮発性メモリ103のメモリマップを示す説明図である。同図において、識別情報403は、識別情報400,401,402及び後述の404のいずれかの識別情報に対してOS106のバージョンの追加、拡張を行った例である。OS106のバージョンは、識別情報蓄積領域500内において、識別情報403とは別領域にて記録する。なお、これは情報付加手段により一括して識別情報1ないしNにOS106のバージョンが付加された例である。なお、Nは1以上の正の整数である。
このようにOS106のバージョンも識別情報とあわせて記憶することにより、どの外部ストレージデバイス105がどのOS106のバージョンで問題が発生したか特定することができる。問題発生を特定し、問題発生後にOS106を修正した場合には、自動で古いバージョンのOS106で問題が発生した外部ストレージデバイス105に対応した識別情報記録は削除する。
図38はOS修正と同時に識別情報を更新する際の処理手順を示すフローチャートである。通常、OS106を更新した場合は、それ専用の更新処理や、再起動処理が行われる(ステップS600)。その後、更新されたOS106のバージョンと識別情報蓄積領域500に記録されているOS106とを比較し(ステップS601)、同じであればそのまま終了する(ステップS604)。更新されていれば、識別情報蓄積領域内の識別情報を全て消去する(ステップS602)。次いで、記録済みのOS106のバージョンを現在のOS106のバージョンに変更し(ステップS603)、終了する(ステップS604)。
これらの処理により、OS106を修正、更新した後、これが更新された際には過去の問題が発生した外部ストレージデバイス105の識別情報はクリアされ、ユーザへの警告が出ないように初期設定に戻すことが可能となる。このように、問題が発生した際にOS106を修正すると、自動的に古いバージョンのOS106で問題が発生した外部ストレージデバイス105の識別情報記録を削除するので、問題に対応したOS106の修正が自動的に反映されるようになる。
図39は識別情報404を記憶する不揮発性メモリ103のメモリマップを示す説明図である。この識別情報404は、識別情報400,401,402,403のいずれかに対して、外部ストレージデバイス105の最終認識時刻の追加、拡張を行っている。なお、これは情報付加手段により識別情報1ないしNに最終認識時刻が付加された例である。外部ストレージデバイス105の最終認識時刻とは、当該外部ストレージデバイス105が最後に認識情報を取得した時刻であり、外部ストレージデバイスが最後に外部通信インターフェースに接続された時刻でもある。
図40は外部ストレージデバイス105の識別情報の不揮発性メモリ103への記憶処理、ここでは、図39に図示された識別情報404における最終認識時刻を更新する処理手順を示すフローチャートである。このフローチャートでは、識別情報記憶手段は、まず、ステップS202で読み出した認識情報が不揮発性メモリ103に蓄積されている識別情報と一致するか否かを判定し(ステップS2055)、一致すれば、該当する識別情報の最終認識時刻をOS106から取得し、現在時刻で更新した後(ステップS2059)、終了する(ステップS205E)。識別情報がなければ、不揮発性メモリ103の識別情報蓄積領域の空き容量を確認し(ステップS2056)、空き容量がなければ、記録されている全ての識別情報中で最も認識時刻が古い情報を探し出し、削除してから(ステップS2057)、現在時刻をOS106より取得して識別情報を書き込み(ステップS2058)、その後、処理を終える(ステップS205E)。
このように処理すると、ステップS2056で空き容量を確認し、空き容量がなければ、古いデータを削除するので、不揮発性メモリ103への識別情報を追加しても識別情報蓄積領域の容量オーバを起こすことなく、問題が発生した外部ストレージデバイス105の識別情報400,401,402,403を記録し、管理することが可能である。
このようにして、電子計算機と多品種で事前の組み合わせの検証が難しい市販されているような着脱可能な外部ストレージデバイス105の組み合わせで機器の停止など致命的なケースが発生した場合、同様の問題の発生を事前回避するため、問題が発生した外部ストレージデバイス105の認識情報を電子計算機側に記録し、同じ外部ストレージデバイス105が接続され、使用されようとしたらユーザに使用の警告を行うことができる。
すなわち、このように識別情報を使用して記憶し、処理することにより、問題発生した外部ストレージデバイス105を使用した際に、ユーザに警告を与え、外部ストレージデバイス105が使用できない、機器停止(この場合は機器のリセットが必要)といった損失を回避することが可能となる。
しかし、この方式では、問題が発生した機器でのみ問題が発生した外部ストレージデバイスの認識情報を記録しているため、ある機器で問題が発生する外部ストレージデバイスだと判明しても、他の機器で同じ外部ストレージデバイスを使用しようとしたときに問題が発生する可能性を事前に検出して、ユーザに警告することはできない。
そこで、本実施形態では、下記の各実施例に示した構成において、詳述するように処理し、ネットワーク経由で情報共有した機器全てで、問題が発生した外部ストレージデバイスを使用しようとした際に、ユーザの様々な損失を回避することができるようにした。
この実施例1は、識別情報書き込み手段によって書き込まれた識別情報の内容を、ネットワークインターフェースを使用して機器間で共有する識別情報ネットワーク共有手段を備えた例で、本実施形態の基本となる構成である。
図1は実施例1における電子計算機システムの概略構成を示すブロック図である。 同図において、電子計算機1500は、CPU100、RAM101、外部通信インターフェース(以下、インターフェースはI/Fと記す。)102、ネットワークI/F107、ユーザI/F104、及び不揮発性メモリ103を備え、外部通信I/F102を介して外部ストレージデバイス105と通信する。ネットワークI/F107では、ネットワークNTを介して、他の電子計算機1510,1520,・・・15N0と通信を行うことができる。なお、各電子計算機1510,1520,・・・15N0においても、ユーザI/F1041,1042,・・・104N、不揮発性メモリ1031,1032,・・・103Nを備えている。また、CPU100、RAM101、外部通信I/F102、ネットワークI/F107、ユーザI/F104、及び不揮発性メモリ103は前記図30に示したCPU100、RAM101、外部通信I/F102、ネットワークI/F107、ユーザI/F104、及び不揮発性メモリ103と同等である。
この図1に示したシステムにおいては、以下のような処理が行われる。
すなわち、外部ストレージデバイス105が電子計算機1500に接続されるが、読み書きNGと判断された場合(1)には、外部ストレージデバイス105の認識情報は不揮発性メモリ103に識別情報として記憶される(2)。そして、ユーザが同じ外部ストレージデバイス105を使用しようとすると、ユーザI/F104によりユーザに外部ストレージデバイス105の使用について警告が促される(3)。この警告は、例えば、ディスプレイに使用すると障害が発生する等のメッセージ表示により行われる。また、電子計算機1500で記憶された認識情報は、ネットワーク経由で他の電子計算機1510,1520,・・・15N0にも、その情報が共有される(4)。そして、他の電子計算機1510,1520,・・・15N0で外部ストレージデバイス105を使用しようとしたら、ユーザI/F104により警告を促す(5)。
このうち、(4)の認識情報のネットワーク共有(ネットワーク接続先の電子計算機では、認識情報を記録)及び(5)の外部ストレージデバイス105の使用時に警告することが電子計算機1500に新規追加した処理であり、これによってネットワークNT経由で情報共有した機器全てで、問題が発生した外部ストレージデバイス105を使用しようとした際に、ユーザに警告を与えることができるようになり、ユーザの様々な損失を回避することができるようになる。以下、詳細に説明する。
図2は本実施例1における識別情報ネットワーク共有手段1000の処理手順を示すフローチャートである。図2において左側に示した第1の電子計算機1001の処理は前述したように電子計算機により、問題が発生する外部ストレージデバイス105の接続が2回目以降検知されたら、ユーザに警告を促す処理の概要を示したものである。すなわち、電子計算機1001では、外部ストレージデバイス105が電子計算機1001に接続され(ステップS1101)、外部ストレージデバイス105が読み書き可能かどうかを読み書き可能判断手段が判断し、不可能と判断されると(ステップS1102)、識別情報書き込み手段は不揮発性メモリ103に外部ストレージデバイス105の識別情報を書き込む(ステップS1103)。外部ストレージデバイス105への書き込みが不能なとき、場合によっては機器停止などの致命的な問題が発生する(ステップS1104)。そこで、ステップS1102で読み書き不可能と判断された外部ストレージデバイス105が接続されたときは、使用継続確認手段は使用継続を確認し、ユーザI/F104である例えば表示操作部に警告表示を行い、ユーザに機器停止などの致命的な問題が発生する可能性があることを知らせる。これによりユーザはこのような致命的は問題の発生を事前に回避すること(ステップS1105)ができる。
なお、この電子計算機1001では、CPU100が実行するプログラムの処理が読み書き可能判断手段、識別情報書き込み手段、使用継続確認手段として機能している。
一方、図2において右側に示した第2の電子計算機1002では、第1の電子計算機1001のステップS1101からステップS1104間での処理を、処理1000Aとして識別情報ネットワーク供給手段1000によって受信する。このようにすると、第2の電子計算機1002におけるステップS1101’からステップS1104’までの処理1000Aを、第2の電子計算機1002が共有する。これにより、第2の電子計算機1002では、ステップS1105’で、第1の電子計算機1001で処理されるステップS1105と同様の処理を行うことにより、第2の電子計算機1002で同様の致命的な問題が発生することを未然に防止できる。
すなわち、前記前提となる例では、第1の電子計算機1001と異なる第2の電子計算機1002では、第1の電子計算機1001と同様の問題が発生する外部ストレージデバイス105が一度接続され、読み書き可能判断手段によって判断されて、初めて2回目以降の接続でユーザに警告を与えることができた。すなわち第1の電子計算機1001で機器停止などの致命的な問題が発生する外部ストレージデバイス105が存在し、それが分かっていても、異なる第2の電子計算機1002に接続した場合、同様の問題が発生するが必須であり、この問題の発生を未然に防ぐことができなかったが、本実施例のように、第1の電子計算機1001で記憶された識別情報を識別情報ネットワーク共有手段1000によって異なる第2の電子計算機1002に送信し、情報共有することによって第2の電子計算機1002でも同様の致命的な問題が発生することを未然に防止できることになる。なお、ここでは、第2の電子計算機1002は識別情報ネットワーク共有手段1000によって識別情報を第1の電子計算機1001と共有しているが、図1に示すようにN台(Nは2以上の正の整数)の電子計算機と識別情報ネットワーク共有手段1000によって識別情報を共有することができる。なお、識別情報ネットワーク共有手段1000は各電子計算機のCPU100とこのCPU100によって実行されるプログラムの処理が対応する。
その他、特に説明しない各部は前記前提技術と同等に構成され、同等に機能する。
このように、本実施例1によれば、市販されるような外部ストレージデバイス105を使用した際に予期せぬ動作不良が発生したら、このような問題が発生した外部ストレージデバイス105の認識情報1100を記憶し、ネットワーク経由でこの認識情報1100を共有することによって、次回、問題が発生した外部ストレージデバイス105を同一機器のみならず、他機器で使用した際にもユーザに警告を与えることができる。これにより、ユーザは問題が発生した外部ストレージデバイス105の使用を回避することが可能となる。その結果、他機器で該当する外部ストレージデバイス105を使用する際に、同様な動作不良の発生を未然に防ぐことができ、前記動作不良によって引き起こされる様々な損失を回避することが可能となる。
この実施例2は、実施例1における識別情報が、記載内容が確定前なのか確定済みなのかを示す識別情報確定経過情報を保持し、識別情報書き込み手段が、前記識別情報確定経過情報に確定検査中であることを示す情報を書き込む識別情報確定前設定手段と、確定済みであることを示す情報を書き込む識別情報確定設定手段とを備え、ネットワーク経由で識別情報を他機器へ情報共有してもいい識別情報かどうかを判断する例である。図1及び図2の構成が前提である。
図3は前述した識別情報400,401,402,403,404のいずれか(以下、識別情報1101と称す)に識別情報経過情報1102を追加した新たな識別情報1100を記憶する不揮発性メモリ103のメモリマップを示す説明図である。識別情報確定経過情報1102には、識別情報未完了設定手段により書き込み中であることを示す情報1103が、また、識別情報完了設定手段により書き込み完了であることを示す情報1104が、書き込まれる。なお、識別情報未完了設定手段及び識別情報完了設定手段はCPU100によって実行されるプログラムの処理が対応する。
図4は外部ストレージデバイス105の認識情報を不揮発性メモリ103へ記憶する処理において、識別情報確定経過情報に書き込み中であることを示す情報が書き込まれる処理手順を示すフローチャートである。このフローチャートに示した処理手順は、図32に示した外部ストレージデバイス105の認識情報を不揮発性メモリ103へ記憶する処理のステップS2052の後段にステップS1203の処理を追加して処理する処理例である。
すなわち、図4において、ステップS202で読み出した認識情報が不揮発性メモリ103に蓄積されている識別情報と一致するか否かを判定し(ステップS1201)、一致すればそのまま終了する(ステップS1204)。識別情報がなければ、読み出した識別情報を不揮発性メモリ103上へ書き込んだ後(ステップS1202)、図3に示すように識別情報確定前設定手段により識別情報確定経過情報1102に書き込み中であることを示す情報1103が書き込まれ(ステップS1203)、処理を終える(ステップS1204)。
図5は外部ストレージデバイス105へのデータ書き込み/読み出し処理において、識別情報確定経過情報に書き込み完了であることを示す情報が書き込まれる処理手順を示すフローチャートである。このフローチャートに示した処理手順は、図33に示した外部ストレージデバイス105へのデータ書き込み/読み出し処理のステップS302の前段に書き込み完了であることを示す情報を書き込む処理ステップS1303を追加して処理する処理例である。
すなわち、図5において、まず、一度でも読み書きに成功したか否かを判断し(ステップS1301)、成功していれば、その外部ストレージデバイス105の識別情報を不揮発性メモリ103上から削除して(ステップS1302)処理を終える(ステップS1305)。また、一度も成功しなかった場合には、識別情報1100の識別情報書き込み経過情報1102に識別情報確定設定手段によって書き込み完了情報1104を書き込み(ステップS1303)、エラー発生時の処理を行って(ステップS1304)、処理を終える(ステップS1305)。
なお、図3に示す識別情報確定経過情報1102に書き込み中情報(確定検査中であることが示される情報)1103が書き込まれている場合、その識別情報が指定する外部ストレージデバイス105について問題が発生するか否か、識別情報として記録されるべきかどうかまだ判断されてないことを示している。それゆえ、書き込み中情報1103が書き込まれた識別情報は、他機器と共有する識別情報としては適切ではない。ゆえに識別情報のネットワーク共有処理においては、その都度、1つの識別情報がネットワーク共有していいいかどうか判断する必要が発生する。そこで、本実施例では、図6に示すように処理し、共有可能な識別情報を選定する。図6は識別情報確定経過情報1102の情報を用いて識別情報をネットワーク共有していいかどうか判断する処理手順を示すフローチャートである。
図6において、他機器への識別情報共有処理(ステップS1401)が開始されると、識別情報完了判別処理が実行される(ステップS1500)。識別情報完了判別処理は、ステップS1501からステップS1504の4つの処理から構成される。識別情報完了判別処理では、まず、各識別情報1100について、識別情報確定経過情報1102に確定済みである情報(書き込み完了情報1104)が入っているかどうかを判定する(ステップS1501)。この判定で、確定済みである情報が入っていれば、判定対象となった識別情報1100について識別情報確定経過情報1102の書き込みが完了し、確定しているので、ネットワークNT経由で他機器と情報を供給しても問題がないとして処理する(ステップS1502)。他方、ステップS1501で確定済みである情報が入っていない場合、判定対象となった識別情報1100について識別情報確定経過情報1102を使用することはできないので、ネットワークNT経由でまた他機器と情報を共有することができないとして処理する(ステップS1503)。このステップS1502,S1503の処理が終了すれば、ステップS1504で識別情報完了判別処理(ステップS1500)の処理が終了し(ステップS1504)、他機器と共有して問題のない識別情報が見つかれば処理を継続する(ステップS1402)。
その他、特に説明しない各部は、前記前提技術及び前記実施例1と同等に構成され、同等に機能する。
このように本実施例2によれば、非同期に行われるネットワークNT経由での認識情報1100の共有処理と、認識情報1100の書き込み処理が同時に発生しても、書き込み中の認識情報が誤って共有されることがなくなる。これにより、確定していない識別情報確定経過情報1102が共有されることがないので、ネットワークNT経由で認識情報1100を共有する際に、他機器の動作不良の発生を未然に防ぐことができ、前記動作不良によって引き起こされる様々な損失を回避することが可能となる。
この実施例3は、実施例1又は2において、識別情報1100を書き込む際に、識別情報1100ごとに電子計算機上で動作する発生条件も書き込むようにした例である。すなわち、ネットワークには様々な構成、機種、ソフトウェアバージョンの機器が同時に存在する。そのためある機器である外部ストレージデバイスにて問題が発生しても、他の機器ではその発生条件が満たされないため、問題が発生しないという可能性もある。そこで、本実施例では、不揮発性メモリ103に記憶する識別情報1200にそのような発生条件も合わせて記憶することにより、そのような違いを吸収して情報を共有するようにしている。
図7は前述した識別情報400,401,402,403,404のいずれか(以下、識別情報1201と称す)にOSバージョン情報1202を追加した新たな識別情報1200を記憶する不揮発性メモリ103のメモリマップを示す説明図である。この実施例3は、発生条件の1つとしてOSバージョンを記憶して機器間の違いを吸収する一例である。
この実施例3では、不揮発性メモリ103の識別情報蓄積領域500に追加、格納していく識別情報1ないしNにOSバージョン1202を追加することによって、ネットワークNTに存在するOSバージョンの異なる他機器の識別情報も自機器に取り込み、記憶することができる。これにより、ネットワークNT内に存在する電子計算機150〜15N0の外部ストレージデバイス105への読み書きの制御処理も含むOS106のバージョンを気にすることなく、識別情報を共有することが可能となる。
図8は実施例3における他機器からネットワーク経由で取得した新規識別情報の記憶処理S1600の処理手順を示すフローチャートである。このフローチャートでは、ネットワークNTに存在するOSバージョンの異なる他機器の識別情報の自機器への取り込み、記憶処理についてはOSバージョンの差異を考慮した処理が実装される。すなわち、他機器より取り込み、記憶しようとした新規識別情報1200のOSバージョン1202に格納されたOSバージョンが自機器にとっては古いかどうかを判定し(ステップS1601)、古いものであると判定されれば、古いOSバージョンの識別情報は自機器で稼働しているOSのバージョン以降では問題が発生しないと考えられるため記憶処理は不要として処理を終える(ステップS1602,S1604)。他方、ステップS1601で新しいものと判定されれば、新しいOSバージョンでは問題が発生しないと考えられるので、新規識別情報1200と同じ識別情報の有無を判断し、なければ不揮発性メモリ103の識別情報蓄積領域500に新たに記憶し、処理を終える(ステップS1603,S1604)。問題のない識別情報が記憶されていることになり、ネットワークNT経由で認識情報1200を共有する際に、他機器の動作不良の発生を未然に防ぐことができ、前記動作不良によって引き起こされる様々な損失を回避することが可能となる。
また、機器で稼動するOS106のバージョンアップが行われた際には、同様に新しいOSバージョンにとって、古いOSバージョンで記憶された旧識別情報1200に記憶された外部ストレージデバイス105の情報は、新しいOSバージョンでは問題が発生しないと考えられる。よってOS106のバージョンアップが行われた際には、バージョンアップの特定の処理を契機として、古いOSバージョンで記憶された旧識別情報1200は削除される。図9は、このバージョンアップに関連して行われる識別情報の記憶処理の処理手順を示すフローチャートである。
このフローチャートでは、まず、OS106の更新処理、OSの再起動処理などが実行されると(ステップS1701)、古いOS106で記録された識別情報を削除する処理(S1800)が実行される。このステップS1800の処理では、まず、不揮発性メモリ103上に蓄積された識別情報1200の数だけ削除する処理が繰り返される(ステップS1801)。その際、図37を参照して説明した識別情報403のOS106のバージョンが現在CPU100上で動作するOS106のバージョンより低いかどうかを判定し(ステップS1802)、低くなければステップS1801の繰り返し動作を終了し(ステップS1804)、さらに、このステップS1800における識別情報を削除する処理を終了する(ステップS1805)。他方、ステップS1802で、OS106のバージョンが現在CPU100上で動作するOS106のバージョン以上であれば、該当する識別情報403を不揮発性メモリ103から削除し(ステップS1803)、ステップS1801の繰り返し動作を終え(ステップS1804)、このステップS1800における識別情報を削除する処理を終了する(ステップS1805)。
その他、特に説明しない各部は、前記前提技術並びに前記実施例1及び2と同等に構成され、同等に機能する。
このように本実施例3によれば、複数機器間で、機器の構成、機種情報、OSのバージョンが異なっている場合に、これらの発生条件によって問題が発生した外部ストレージデバイスの認識情報が異なったとしても、これらの差異を吸収して機器間で識別情報を共有することが可能となる。
この実施例4は、実施例1ないし3において、識別情報書き込み手段により新しい識別情報が追加されたとき、同一ネットワークに存在する機器に新規識別情報を同報するようにした例である。
図10は図5の識別情報の外部ストレージデバイス105へのデータ書き込み/読み出し処理(ステップS1300)において、ステップS1303で書き込み完了情報を書き込むことに代え、新規識別情報が確定済みである情報(書き込み完了情報1104)を書き込み(ステップS1303a)、その後、ネットワークNT経由で他機器へ新規識別情報の共有処理(ステップS1306)を追加したものである。
すなわち、まず、一度でも読み書きに成功したか否かを判断し(ステップS1301)、成功していれば、その外部ストレージデバイス105の識別情報を不揮発性メモリ103上から削除して(ステップS1302)処理を終える(ステップS1305)。また、一度も成功しなかった場合には、識別情報1100の識別情報書き込み経過情報1102に識別情報確定設定手段によって確定済みである情報を書き込み(ステップS1303a)、エラー発生時の処理(ステップS1304)とは別にネットワーク経由で他機器へ新規識別情報の共有処理を実行する(ステップS1306)。なお、ステップS1306の処理は、ステップS1300の処理とは非同期で実行される。このように新規識別情報が確定した後、共有処理(ステップS1306)を行うことにより、新たな識別情報を他の機器と共有することが可能となる。
図11はこの実施例4のステップS1306で実行される共有処理におけるハード構成を示す図である。ネットワークNT経由で他機器へ新規識別情報を送信する場合、図11に示すようなオフィスPCネットワークに代表されるローカルネットワークが利用される。図11では、ネットワークNTに対して複数の電子計算機1301,1302,1303,1304,・・・130Nが接続されている。
図12ないし図14は第1の電子計算機1301と第Nの電子計算機130N間の情報の送受のシーケンスを示す図であり、第Nの電子計算機130Nは、ここでは、1又は2以上の複数の電子計算機をあらわしている。
図12は、同一ネットワークに存在する機器に新規識別情報を同報するときの第1の電子計算機1301と第Nの電気計算機130N間の情報の送受のシーケンスを示す図である。図12の例では、第1の電子計算機1301から同一ネットワークNTに存在する第Nの電子計算機130Nに新規識別情報を同報する(SQ1310)。この新規識別情報を受け取った第Nの電子計算機130Nは、受け取った新規識別情報の取り込みが完了したことを第1の電子計算機1301に回答する(SQ1311)。SQ1310は第1の電子計算機1301の新規識別情報ネットワーク同報手段によって実行され、SQ1311は第Nの電子計算機130Nの新規識別情報ネットワーク同報に対する完了回答手段によって実行される。なお、新規識別情報ネットワーク同報手段及び新規識別情報ネットワーク同報に対する完了回答手段は、それぞれ各電子計算機のCPU100によって実行されるプログラムの処理が対応する。したがって、サーバのような新たな機器を設置することなく、機器間で自律的に情報を共有することができる。
図13は、図12の例において、第Nの電子計算機130Nから第1の電子計算機1301に取り込みの完了を知らせる回答が届かなかった場合のシーケンスを示す図である。この例では、第1の電子計算機1301と第Nの電子計算機130Nの間で、前記新規識別情報ネットワーク同報手段と新規識別情報ネットワーク同報に対する完了回答手段の2つで同報処理と完了回答処理を行うように構成したとき、例えば完了回答(SQ1311)が一定時間内にない場合は、再度同報を行う(SQ1310)ようになっている。
図14は、図13の例において、完了回答(SQ1311)の前に何かしらのエラー通知が返ってきた場合(SQ1312)は、再度同報を行い(SQ1310)、あるいは図12のSQ1311に代えてエラー通知が返ってきた(SQ1312)場合に、再度同報を行う(SQ1310)例のシーケンスを示す図である。
その他、特に説明しない各部は、前記前提技術並びに前記実施例1ないし3と同等に構成され、同等に機能する。
このように本実施例4によれば、問題が発生した外部ストレージデバイス105の識別情報1100を新たにある1台の機器(電子計算機)で検出できたならば、サーバ等の特別な機器を用意しなくても、複数機器(電子計算機)間で識別情報を共有することが可能となる。
この実施例5は、実施例1ないし4において、識別情報書き込み手段が、識別情報完了時間書き込み、ネットワークアクセス不可能期間記録、ネットワークアクセス不可能期間分情報更新要求、及びネットワークアクセス不可能期間分情報更新要求回答を行う例である。図15は実施例5における処理シーケンスを示すシーケンス図である。このシーケンスでは、電子計算機1400が電源OFF、省エネ待機状態などのネットワークアクセス不可状態に遷移する場合も考慮し、新たな識別情報を機器間で共有する手順を示している。
図15において、ある電子計算機1400が、電源オフ、省エネ待機状態などへ状態遷移し(SQ1401)、その状態遷移に伴いネットワークアクセス不可になる場合は、この不可になった時点の時刻をネットワークアクセス不可能期間記録手段によって記憶する(SQ1402)。そして、電源OFF、省エネ待機状態などからネットワークアクセス可能な状態に遷移すると(SQ1404)、ネットワークアクセスが可能になった時点の時刻をネットワークアクセス不可能期間記憶手段によって記憶する(SQ1405)。なお、SQ1402からSQ1404までの期間がネットワークアクセス不可期間(SQ1403)である。
SQ1405でネットワークアクセスが可能なった時点の時刻を記憶した後、ネットワークアクセス不可能期間記録手段で記憶した期間に新たな識別情報がないかネットワークアクセス不可能期間分情報更新要求手段がネットワークを経由して、第Nの電子計算機(1つ以上複数の電子計算機)140Nに問い合わせる(SQ1406)。この問い合わせを受け取った前記第Nの電子計算機140Nは、SQ1406の問い合わせ処理に含まれる期間内に新たに追加された識別情報の有無を調べ、ネットワークアクセス不可能期間分情報更新要求回答手段によって回答する(SQ1407)。
このように処理することにより、ある電子計算機1400は電源OFF、省エネ待機状態などネットワークアクセスができない時間帯があっても、他機器である第Nの電子計算機140Nと最新の識別情報を共有することが可能となる。
なお、SQ1406でネットワークアクセス不可能期間分情報更新要求1407を受け取った第Nの電子計算機140Nは、問い合わせに含まれる期間内に新たに追加された識別情報の有無を調べる必要がある。そのため、本実施例では、図16のメモリマップに示すように識別情報1410に書き込み完了時刻1412を追加している。すなわち、この書き込み完了時刻1412に書き込まれた時刻が、問い合わせに含まれる期間内の時刻であれば問い合わせに対して回答を行う対象となり、また、問い合わせに含まれる期間内の時刻でなければ回答の対象外となる。
不揮発性メモリ103の識別情報蓄積領域500の識別情報1410の書き込み完了時刻(領域)1412への時刻の記録は、図17のフローチャートに示す手順で行われる。図17のフローチャートは、図10のフローチャートのステップS1303aにステップS1307の処理を追加したものである。すなわち、一度でも読み書きに成功したか否かを判断し(ステップS1301)、成功していれば、その外部ストレージデバイス105の識別情報を不揮発性メモリ103上から削除して(ステップS1302)処理を終える(ステップS1305)。また、一度も成功しなかった場合には、識別情報1100の識別情報書き込み経過情報1102に識別情報確定設定手段によって確定済みである情報を書き込み(ステップS1303a)、エラー発生時の処理(ステップS1304)とは別にネットワーク経由で他機器へ新規識別情報の共有処理を実行する(ステップS1306)。なお、ステップS1306の処理は、ステップS1300の処理とは非同期で実行される。
このような処理において、本実施例では、ステップS1303aにおける識別情報確定設定手段により確定済みである情報を書き込む処理に、不揮発性メモリ103の識別情報1410の書き込み完了時刻(領域)1412にその時点の時刻を書き込む処理(ステップS1307)を追加する。これにより、ネットワークアクセス不可能期間分情報更新要求1407を受け取った第Nの電子計算機140Nは、問い合わせに含まれる期間内に新たに追加された識別情報の有無を調べることができる。
その他、特に説明しない各部は、前記前提技術並びに前記実施例1ないし4と同等に構成され、同等に機能する。
このように本実施例5によれば、電源OFF、省エネ待機中といったネットワークアクセスができない状態があっても、識別情報には書き込み完了時間も付加され、また、機器が自らネットワークアクセスできなかった時間帯を把握することにより、自機器においてネットワーク機能が動作していない期間の他機器の新規識別情報を取得できる。これにより電源OFF、待機中、稼動中の各ステータスの機器が存在するネットワークで識別情報が共有できる。
この実施例6は、実施例1ないし5において、識別情報ネットワーク共有手段によって発生するネットワーク経由による問い合わせ、回答などの処理を遅延させることができるようにした例である。この遅延は、複数機種間での情報の問い合わせ、回答を行う識別情報ネットワーク共有処理の際に、機器の処理負荷状況を見て行われる。
図18は、実施例6の処理シーケンスを示すシーケンス図である。この実施例6では、SQ1406においてネットワークアクセス不可能期間記録手段で記憶した期間に新たな識別情報がないかネットワークアクセス不可能期間分情報更新要求手段がネットワークを経由して、第Nの電子計算機(1つ以上複数の電子計算機)140Nに問い合わせる(SQ1406)。この問い合わせを受け取った前記第Nの電子計算機140Nは、SQ1406の問い合わせ処理に含まれる期間内に新たに追加された識別情報の有無を調べ、ネットワークアクセス不可能期間分情報更新要求回答手段によって回答する(SQ1407)。この回答を行う際、第Nの電子計算機140Nは、非同期の問い合わせに対して、一定時間に終了させる必要のある高優先度の処理を行っている場合があり、その場合はネットワークアクセス不可能期間分情報後輪要求回答手段の回答処理を遅延させる(SQ1408)。
すなわち、電源ON、省エネ待機状態などからの復帰時は、電子計算機1400が処理不可である場合が多く、そのとき他の処理を行うと起動時間等に影響しかねず、動作可能となるまでの待ち時間が長くなるので、ユーザにとってストレスとなりかねない。そこで、ネットワークアクセス不可能期間分情報更新要求処理を遅延させると、起動を優先させてから、問い合わせのためのネットワークアクセス不可能期間分情報更新要求処理が実行できるようになる。
また、前記SQ1408で示したように、ネットワークアクセス不可能期間分情報更新要求の回答処理を遅延させる必要がある場合がある。このような場合には、例えば、ネットワークアクセス不可能期間記録手段により、前記遅延を実行させると、機器(電子計算機)は本来優先させるべき処理に機器のリソースを割り当てることができる。その結果、優先度の高い処理が終ってから、ネットワークアクセス不可能期間分情報更新要求の回答処理を実行することができる。例えば、識別情報が記憶された不揮発性メモリ103への書き込み、読み込みは、通常、処理時間が長く機器の負荷が高い。そこで、この処理を上記のように後回しにすることにより、本来機器が行うべき処理を優先的に行うことができる。
前記実施例1ないし実施例6では、電子計算機と多品種で事前の組み合わせの検証が難しい市販されているような着脱可能な外部ストレージデバイスの組み合わせで機器の停止など致命的なケースが発生した場合、
1)同様の問題の事前回避のために問題が発生した外部ストレージデバイスの認識情報を電子計算機側に記録し、
2)同じ外部ストレージデバイスが接続され使用されようとしたらユーザに使用の警告を行い、
3)この問題が発生した外部ストレージデバイスの認識情報をネットワークに存在する機器間で共有する
ようにした。これによりある機器のみでなく、ネットワークに存在する機器で問題発生した外部ストレージデバイスを使用した際に、ユーザに警告を与え、外部ストレージデバイスが使用できない、機器停止(この場合は機器のリセットが必要)といった損失を回避することが可能となった。
しかし前記実施例1ないし実施例6に記載した方式では、問題が発生した機器が存在する同一ネットワーク内でのみ問題が発生した外部ストレージデバイスの認識情報を記録しているため、同一ネットワーク内の機器で問題が発生する外部ストレージデバイスを認識できても、他のネットワークに存在する機器で同じ外部ストレージデバイス、又は同一の認識情報を持つ外部ストレージデバイスを使用しようとしたときに問題が発生する可能性を事前に検出することはできず、当然、前記可能性をユーザに警告することはできなかった。
図19は実施例7の電子計算機における代表的な処理を示すブロック図、図20は広域ネットワークを介したところに存在する集約・配信サーバとの代表的な処理を示した説明図である。
図19において、電子計算機3000は実施例1における図1の電子計算機1500と同等であり、CPU3001、RAM3002、外部通信インターフェース(以下、インターフェースはI/Fと記す。)3005、ネットワークI/F3003、ユーザI/F3006、及び不揮発性メモリ3004を備え、外部通信I/F3005を介して外部ストレージデバイス3007と通信する。
図20において、本実施例に係る広域ネットワークを介したシステムは、広域ネットワーク3501に対して第1のネットワーク3200、第2のネットワーク3201、・・・第Nのネットワーク320Nの複数のネットワークが接続され、さらに、広域ネットワーク3501に対して集約・配信サーバ3601が接続されている。なお、第1のネットワーク3200は、第1ないし第Nの電子計算機3101,3102,・・・310Nを含み、第2のネットワーク3201は電子計算機330Nを含み、第Nのネットワーク320Nは電子計算機340Nを含む。なお、図20における第2及び第Nのネットワーク3201,320Nでは電子計算機が1台しか図示されていないが、当然、複数台の場合も含み、ネットワークである以上、通常、複数台である。ここでは、説明のために1台のみ図示している。なお、図20においては、実線の矢印は識別情報3600の集約の方向を示し、点線の矢印は識別情報3600の配信の方向を示す。集約は集約・配信サーバ3601に対して実行され、配信は集約・配信サーバ3601から行われる。なお、識別情報3600は実施例1において説明したものと同等であり、図21のメモリマップに示すように、不揮発メモリ103の各識別情報蓄積領域500に格納される。
図19に示した電子計算機3000は、図20におけるいずれかのネットワークのいずれかの電子計算機に相当する。図19に示したシステムにおいては、外部ストレージデバイス3007が電子計算機3000に接続されるが、図1を参照して説明したものと同様に、読み書きNGと判断された場合(1)には、外部ストレージデバイス3007の認識情報は不揮発性メモリ3004に識別情報として記憶される(2)。ユーザが同じ外部ストレージデバイス3007を使用しようとすると、ユーザI/F3006によりユーザに外部ストレージデバイス3007の使用について警告が促される(3)。
ある電子計算機で前記(1)のように外部ストレージデバイス3007が読み書きNGと判断され、(2)のように外部ストレージデバイス3007の認識情報は不揮発性メモリ3004に識別情報として記憶されると、識別情報3600を集約・配信サーバ3601に集め(6)、集約・配信サーバ3601で集約した情報を複数ネットワークで共有する(7)。ネットワークI/F3003では、図20に示した集約・配信サーバ3601から識別情報3600を取得したら、不揮発性メモリ3004に記録する(8)。また、ユーザが使用したことのない外部ストレージデバイス3007でも、識別情報が記録されていれば、ユーザI/F3006によりユーザに外部ストレージデバイス3007の使用について警告が促される(9)。
本実施例では、実施例1に対して広域ネットワーク3501と集約・配信サーバ3601をさらに備え、前記(6)ないし(9)の処理を実行するようにした。これにより、広域ネットワーク3501経由で集約・配信サーバ3601を中心としたネットワークで情報共有した機器全てで、問題が発生した外部ストレージデバイス3007、又は同一の認識情報を持つ外部ストレージデバイス3007を使用しようとした際に、ユーザに警告を与えることができる。その結果、ユーザの様々な損失を回避することが可能となる。
このように、実施例1では、図20に示した第1のネットワーク3200、第2のネットワーク3201、・・・第Nのネットワーク320Nといったある個別のネットワーク内でのみしか、問題が発生する外部ストレージデバイス3007の認識情報を共有できなかった。これに対し、本実施例7では、広域ネットワーク3501と集約・配信サーバ3601を介することで、これらの異なるネットワーク3200,3201,・・・320N間でも問題が発生する外部ストレージデバイス3007の認識情報を共有することができるようになる。これにより、異なるネットワークで電子計算機を使用するユーザが、あるネットワークで問題が発生した外部ストレージデバイス3007を使用しようとした際に警告を促すことができるようになる。また、問題が発生する外部ストレージデバイス3007の認識情報を集約・配信サーバ3601に集めることによって電子計算機の開発担当者は機器の不具合を素早く知ることができる。その結果、不具合の対策速度の向上が見込まれる。
このように図19及び図20で示したような問題が発生する外部ストレージデバイス150の認識情報は、前述の識別情報1101という単位で送受するだけで、このような処理が可能となる。
図22はこのときのシーケンス処理を示すシーケンス図である。同図において、あるネットワーク3201に存在する電子計算機330Nで、ある外部ストレージデバイス3007で問題を検出し、その認識情報を識別情報として電子計算機330Nの不揮発性メモリ3004に記録後(主に図23の処理)、集約・配信サーバ3601に通知する(SQ4001)。この通知処理を新規識別情報追加通知手段と称する(図23のステップS1306に相当)。通知単位は図21に示したような識別情報3600の単位で行われる。電子計算機330Nから集約・配信サーバ3601に通知後、集約・配信サーバ3601で管理対象として受け付けたこと(SQ4002)を電子計算機330Nが確認できたら本シーケンスは終了する。よって、エラー発生時は再度電子計算機330Nから集約・配信サーバ3601に通知する(SQ4003)。このシーケンスは広域ネットワーク3501を介して行われる。
図23は電子計算機330Nにおける処理手順を示すフローチャートである。このフローチャートは、実施例1における図5のフローチャートにおいて、ステップS1304の後段に前記ステップS1306の処理を非同期で行うようにしたものである。すなわち、図23において、一度でも読み書きに成功したか否かを判断し(ステップS1301)、成功していれば、その外部ストレージデバイス3007の識別情報を不揮発性メモリ3004上から削除して(ステップS1302)処理を終える(ステップS1305)。また、一度も成功しなかった場合には、識別情報3600の識別情報書き込み経過情報に識別情報確定設定手段によって書き込み完了情報を書き込み(ステップS1303)、エラー発生時の処理を行って(ステップS1304)、処理を終える(ステップS1305)。ステップS1303の処理後、ステップS1304の処理と非同期に、前記新規識別情報追加通知手段による追加通知を実行する(ステップS1306)。
すなわち、実施例1では、外部ストレージデバイス105へのデータ書き込み/読み出し処理(ステップS1300)において、ステップS1303の処理後、エラー発生時の処理を行う(ステップS1304)が、実施例7では、これと並列にエラーを識別情報として不揮発メモリ3004に記録後、集約・配信サーバ3601に通知するステップS1306の新規識別情報追加通知手段の処理を実行する。これにより、集約・配信サーバ3601で外部ストレージデバイス3007の書き込み不良を管理することが可能となる。
図24は、あるネットワーク3201に存在する電子計算機330Nから集約・配信サーバ3601に新規の識別情報がないか問い合わせる手順を示すシーケンス図である。この問い合わせ処理を新規識別情報要求手段と称する。
図24に示した本シーケンスでは、前回問い合わせ日時を覚えておき、これを問い合わせ時に同時に通知することで集約・配信サーバ3601から前回問い合わせ日時からの変更分のみの通知を受ける。このシーケンスでは電子計算機330Nからの問い合わせとなるため、集約・配信サーバ3601からの応答がない場合は再問い合わせを行う。
すなわち、電子計算機330Nから集約・配信サーバ3601に、最終問い合わせ日時を通知品柄、新規の識別情報が集約・配信サーバ3601で管理対象となって否かを問い合わせる(SQ4011)。この問い合わせに対して、集約・配信サーバ3601は問い合わせを行ってきた電子計算機330Nのアドレスを記憶する(SQ4014)。次いで、通知された最終問い合わせ日時以降に新たな管理対象となった識別情報があれば電子計算機330Nに通知する(SQ4012)。電子計算機330Nでは、SQ4011の問い合わせに対してSQ4012の通知を受け取らなければ、再度集約・配信サーバ3601に問い合わせる(SQ4013)。このシーケンスは広域ネットワーク3501を介して行われる。
このシーケンスにより、あるネットワーク3201に存在する電子計算機330Nから集約・配信サーバ3601へ新規の識別情報の取得を行うことができる。
図25は、集約・配信サーバ3601から配信される新規識別情報である識別情報3600のメモリマップ上の状態を示す図である。電子計算機330Nはこの識別情報3600の識別情報3600の部分のみ不揮発性メモリ103に保存しようとする。
また、追加・削除フラグ3600−1は、この識別情報を追加すべきか、削除すべきかを集約・配信サーバ3601から指示するためのものである。このフラグが1の場合は不揮発性メモリ103に保存処理を行い、このフラグが0の場合は、不揮発性メモリ103から削除される。追加・削除情報3600−2はあるソフトバージョン以上で追加・削除するという集約・配信サーバ3601からの追加・削除に関する補足情報であり、電子計算機330Nはこれらの情報を用いて識別情報の新規追加、削除を行うことができるようになる。
図26は、集約・配信サーバ3601から異なるネットワークに存在する電子計算機に対して新規識別情報を通知する手順を示すシーケンス図である。これを受ける電子計算機側の処理を新規識別情報配信受信手段と称す。
集約・配信サーバ3601は、図24に示したような新規識別情報要求処理により新規の識別情報を要求してきた電子計算機のアドレスを覚えておく。これにより一斉配信時の対象となる電子計算機を特定する。一斉配信に対する各電子計算機の応答を待ち合わせし、応答がなければ再配信することによって、ある特定の電子計算機で必要な識別情報の反映漏れが発生することを防ぐ。
すなわち、集約・配信サーバ3601はSQ4014で取得した電子計算機のアドレスに対して一斉にかつ一方的に新たな管理対象となった新規識別情報を通知する。この通知は、全てのネットワークに対して行われる(SQ4021)。これを受信した電子計算機330N,340Nでは、新規識別情報配信受信処理で新たな識別情報を入手したら、電子計算機330N,340Nの不揮発性メモリ103に記録し、又は削除する(SQ4024)。そして、SQ4021の通知を受けた旨、集約・配信サーバ3601に回答する(SQ4022)。集約・配信サーバ3601では、一定時間内にSQ4012による回答が得られない電子計算機には、個別に最通知する(SQ4023)。再通知を受けた電子計算機、ここでは、340Nが新規識別情報配信受信処理で新たな識別情報を入手したら、電子計算機340Nの不揮発性メモリ103に記録し、又は削除する(SQ4025)。そして、SQ4022と同様の回答を行うことになる。このシーケンスは広域ネットワーク3501を介して行われる。
配信する識別情報は図25に示した追加・削除フラグ3600−1、追加・削除情報3600−2を持つ識別情報3600である。これにより各電子計算機は識別情報の新規追加及び削除を行うことができる。
図26に示したシーケンスは、致命的な問題が発生する外部ストレージデバイスの識別情報が検出されたら、集約・配信サーバ3601から強制的に配信することによって、より多くの各電子計算機での損失を未然に防ぐためのものである。また、一度は集約・配信サーバ3601で管理されたものの、電子計算機の開発担当者のその後の対応等で集約・配信サーバ3601で管理不要、各電子計算機でも記憶不要となったものを通知することにも使用可能である。
なお、集約・配信サーバ3601からの強制的な配信は一斉に同タイミングで行われるとは限らない。例えば通信回線にダイアルアップ方式などを用いている場合、電子計算機は広域ネットワーク3501に常時接続していないことが考えられるが、この場合は個別に集約・配信サーバ3601から順次個別に配信することになる。
図27は、何らかのタイミングで集約・配信サーバ3601から各電子計算機に新たな識別情報を記録していないか問い合わせる手順を示すシーケンス図である。この問い合わせに回答する電子計算機の処理を新規識別情報要求応答手段と称する。
図22で電子計算機側から集約・配信サーバ3601に識別情報を通知するシーケンスを説明した。ただし、電子計算機は常時広域ネットワーク3501に接続されているとは限らない。例えば一時的なネットワーク接続を行うダイアルアップ回線を用いている場合も考えられる。このような場合、識別情報を新たに記憶したタイミングで集約・配信サーバ3601に通知することができない場合がある。このような状況に陥らないように、集約・配信サーバ3601から各電子計算機に新たな識別情報がないか問い合わせるようにする。なお、識別情報が新規かどうかは、最後に電子計算機から通知された、もしくは集約・配信サーバ3601から問い合わせを行ったその日時以降とする。
すなわち、図27において、集約・配信サーバ3601から、あるタイミング(ネットワーク接続が確認できたとき等)で電子計算機側へ新たな識別情報について問い合わせを開始する(SQ4061)。この開始に応じて、集約・配信サーバ3601は、最後に電子計算機330Nから通知された、もしくは集約・配信サーバ3601から問い合わせた日時以降に新たに記憶した識別情報の有無を問い合わせる(SQ4062)。電子計算機330Nは、SQ4062の問い合わせを受けて、また集約・配信サーバ3601に通知していない識別情報があれば集約・配信サーバ3601に通知する(ステップS4063)。集約・配信サーバ3601では、電子計算機側から応答がなければ、再問い合わせを行う(SQ4064)。このシーケンスを繰り返し、可能な限り電子計算機側から識別情報を収集する。
集約・配信サーバ3601には、このようにして識別情報を収集するので、多くの識別情報が集まる。このため集約・配信サーバ3601で管理される識別情報を各電子計算機が全て持ち合わせることは、高価な不揮発性記録媒体の容量を多く使うことが容易に想像される。このため、各電子計算機は、集約・配信サーバ3601と情報共有しながら自機器に必要と判断できる識別情報を記録する。これを本実施例では、識別情報選別・書き込み手段と称する。
図28及び図29は本実施例における電子計算機3000の不揮発性メモリ3004とRAM3002のメモリマップを示す説明図である。図28において、起動時などのタイミングで不揮発性メモリ3004上にある識別情報をRAM3002上に展開する(SQ4101)。集約・配信サーバ3601から受け取った識別情報もRAM3002上に展開する(SQ4102)。識別情報蓄積領域3500及び集約・配信サーバから受け取った識別情報蓄積領域4050に存在する識別情報全てを用いて、外部ストレージデバイス装着時は使用して問題あるか、ないかを判断する(SQ4103)。ここでは、不揮発メモリ3004では、識別情報と問題を起こした外部ストレージ3007のヒット回数を対応付けて記録し、RAM3002には、RAM3002に展開された全ての識別情報に対して、ユーザへの警告を行った回数を記録する。これにより、その電子計算機でよく使用される外部ストレージデバイスを見つけることができる(SQ4104)。そして、図29に示すように、待機状態遷移前、電源OFF前などのあるタイミングで、使用率の高い識別情報(=ヒット回数の高い識別情報)を不揮発性メモリ3004に書き出す(SQ4105)。
このように一度全てRAM3002上に展開し、その使用頻度を確認することによって不揮発性メモリ3004への書き込み情報を選別することができる。そして、不揮発性メモリ3004にヒット率が高い外部ストレージデバイスの識別情報を格納しておくことによって、広域ネットワーク3501経由で集約・配信サーバ3601から識別情報を取得できない、又は取得しても自機器で確実に動作不良を回避すべき外部ストレージデバイスの識別情報がない、といった状況の発生を防止することができる。広域ネットワーク3501経由で集約・配信サーバ3601から識別情報を取得してRAM3002に格納するが、集約・配信サーバ3601が参照するのは、不揮発性メモリ3004であることから、不揮発性メモリ3004に自機器に必要な識別情報を記録しておくことは必要である。
なお、集約・配信サーバ3601から受信し、RAM3002の識別情報蓄積領域4050に格納する識別情報には、その識別情報を持つ外部ストレージデバイス3007を使用することによって起こり得る動作不良の危険度が情報として付与されていることが望ましい。これによって、それまで自機器で使用されたことがない外部ストレージデバイス3007の識別情報であっても、致命的な動作不良を起こすのであれば、不揮発性記録媒体3004の容量の許す限り記憶することで、より安全性が高まる。
このように本実施例7によれば、以下のような効果を奏する。
1)実施例1ないし6では、問題が発生した機器が存在する同一ネットワーク内でのみ問題が発生した外部ストレージデバイス105の認識情報1100を記録しているため、ある同一ネットワーク内において問題が発生する外部ストレージデバイス105を認識できても、他のネットワークに存在する機器で同じ外部ストレージデバイス105、又は同一の認識情報を持つ外部ストレージデバイス105を使用しようとしたときに問題が発生する可能性を事前に検出して、ユーザに警告する手段がなかった。しかし、本実施例7によれば、広域ネットワーク3501とこの広域ネットワーク3501に接続された集約・配信サーバ3601を使用することにより、機器で問題が発生する外部ストレージデバイス3007を新規に認識したら、集約・配信サーバ3601に通知するようにした。このように機器側が自律的に集約・配信サーバ3601に問題の外部ストレージデバイス3007について通知するので、集約・配信サーバ3601側は待つことなく問題発生する外部ストレージデバイス3007の識別情報を把握することができる。これにより迅速に異なるネットワークの電子計算機で識別情報の共有が可能となる。また、機器開発者はサーバ側に集約された不具合情報を素早く、かつ、ダイレクトに参照することができ、不具合解消の作業を行うことができる。
2)集約・配信サーバ3601側に集約された問題が発生する外部ストレージデバイス3007の認識情報を機器側より自律的にまとめて取得し、集約するので、設置の際や定期的に外部ストレージデバイス3007の認識情報を取得することにより、機器で問題が発生する外部ストレージデバイス3007の識別情報の最新情報を維持することができる。これによりユーザの様々な損失を最低限に留めることができる。
3)集約・配信サーバ3601側に集約された問題が発生する外部ストレージデバイス3007の認識情報を、集約・配信サーバ3601側より機器に対して配信する機能を有するので。致命的な損失をもたらす外部ストレージデバイス3007の認識情報を緊急配信することが可能となり、機器側で記録することで、よりユーザの損失を少なく留めることができるようになる。また、不具合解消作業により、問題発生しなくなった外部ストレージデバイス3007の認識情報があれば、これを集約・配信サーバ3601側から配信することによって、ユーザは同じ外部ストレージデバイス3007を使用しようとした際に、機器より警告されることがなくなり、利便性を高めることができる。
4)電子計算機側より機器で問題が発生する外部ストレージデバイス3007を新規に認識したら、これを集約・配信サーバ3601に通知するが、これは電子計算機が常時広域ネットワーク3501に接続していることを前提としている。例えば広域ネットワーク3501への接続をダイアルアップ回線で行う場合は、接続は一時的と考えられる。このような場合、識別情報を新たに記憶したタイミングで集約・配信サーバ3601に通知することができない。このようなケースを回避するために、集約・配信サーバ3601から各電子計算機に新たな識別情報の有無を問い合わせる。これにより、広域ネットワーク3501に常時接続されていない電子計算機であっても、問題が発生する外部ストレージデバイス3007に対応することができる。
5)集約・配信サーバ3601側に情報共有している機器から問題が発生する外部ストレージデバイス3007の認識情報が多く集まった場合でも、機器側では最近問題が発生した外部ストレージデバイス3007の使用状況等を鑑み、自機器で適切と思われる情報を記録するので、この不揮発性メモリ3004の使用容量を削減し、機器の開発コストを下げることができる。
なお、本発明は本実施形態に限定されるものではなく種々の変形が可能であり、特許請求の範囲に記載された発明の技術思想に含まれる技術的事項の全てが本発明の対象となる。