(57)【要約】【課題】端末内のプログラムの追加または更新を容易に行う。【解決手段】サーバ１は、バイナリ形式の更新モジュール１１を記憶した記憶装置１０を備える。ＫＩＯＳＫ端末２は、バイナリ形式の関数モジュールまたはシステムモジュールを記憶したフラッシュメモリ２４をそなえる。そして、更新モジュール１１とそれに対応する関数モジュールとを所定サイズのブロック単位に比較し、比較の結果が一致しないブロックについて、サーバ１から更新モジュール１１の当該ブロックをダウンロードし、それに対応する関数モジュールのブロックを更新する。【選択図】  図１
2004302953.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、記憶装置とを備えた端末装置であって、
電源が投入されたときに、前記ＣＰＵが前記記憶装置に記憶された所定のプログラムを実行すると、
ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認し、
前記装置の所定の記憶領域に前記ファイルが記憶されていることを確認すると、前記ファイルを取得して、前記記憶装置に格納し、
前記記憶装置に格納した前記ファイルを用いて、前記端末装置が動作可能な状態に立ち上げるための処理を行うことを特徴とする端末装置。
【請求項２】
記憶装置と、
電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域に第１のモジュールが記憶されているかどうかを確認する手段と、
前記確認手段が前記装置の所定の記憶領域に前記第１のモジュールが記憶されていることを確認すると、前記第１のモジュールを所定サイズの複数のブロックに分割したときの、各ブロックのチェックサムを取得する手段と、
前記記憶装置に格納されている、第１のモジュールに対応する第２のモジュールを前記所定サイズに分割した各ブロックのチェックサムと、前記取得手段が取得したチェックサムとを比較する手段と、
前記比較の結果、チェックサムが一致しなかった第１のモジュールのブロックを前記装置から取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備える端末装置。
【請求項３】
前記記憶装置はフラッシュＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）である請求項１または２記載の端末装置。
【請求項４】
クライアントサーバシステムであって、
サーバは、
バイナリ形式の第１のモジュールを記憶したサーバ記憶手段を備え、
クライアントは、
バイナリ形式の第２のモジュールを記憶したクライアント記憶手段と、
前記第１のモジュールと前記第２のモジュールとを所定サイズのブロック単位に比較する手段と、
前記比較の結果が一致しないブロックについて、前記サーバから第１のモジュールの当該ブロックを取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備えるクライアントサーバシステム。
【請求項５】
前記比較の結果、第２のモジュールに対応するブロックが存在しない第１のモジュールのブロックを、前記サーバから取得して前記クライアント記憶手段に格納する手段をさらに備える請求項４記載のクライアントサーバシステム。
【請求項６】
クライアントサーバシステムであって、
サーバは、
バイナリ形式の第１のモジュールと、前記第１のモジュールが所定サイズの複数のブロックに分割されたときの、前記各ブロックのチェックサムを示す情報と記憶したサーバ記憶手段を備え、
クライアントは、
バイナリ形式の第２のモジュールを記憶したクライアント記憶手段と、
前記サーバから前記チェックサムを示す情報を取得する手段と、
前記第２のモジュールを前記所定サイズの複数のブロックに分割したとき、前記第１のモジュールの各ブロックと、それに対応する第２のモジュールのブロックとの間で、それぞれのチェックサムを比較する手段と、
前記比較の結果、チェックサムが一致しなかった第１のモジュールの各ブロックを前記サーバから取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備えるクライアントサーバシステム。
【請求項７】
記憶装置を備えた端末装置に実行されると、
電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認するステップと、
前記装置の所定の記憶領域に前記ファイルが記憶されていることが確認されると、前記ファイルを取得するステップと、
前記取得したファイルを前記記憶装置に格納するステップと、
前記記憶装置に格納されたファイルを用いて前記端末装置の立ち上げ処理を行うステップと、を行う端末装置のファイル取得のためのコンピュータプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、端末装置に記憶されているプログラム等を更新するための技術に関する。
【０００２】
【従来の技術】
業務用途の情報処理端末（いわゆるＫＩＯＳＫ端末など）は、ユーザインタフェースにタッチパネルを用いているものが多い。そして、端末本体を壁に埋め込んでタッチパネルのみを外部へ露出させているものも多い。このため、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）ドライブやＣＤ―ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）ドライブ等を設けていないものがある。
【０００３】
【発明が解決しようとする課題】
このような端末において、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）またはアプリケーションソフトウェアを更新したり、追加したりする場合、端末内でソフトウェアが格納されているフラッシュメモリなどの記憶装置を取り外し、ソフトウェアを更新、追加する必要があった。
【０００４】
そこで、本発明の目的は、端末内のプログラムの追加または更新を容易に行うための技術を提供することである。
【０００５】
【課題を解決するための手段】
本発明の一つの実施態様に従う端末装置は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、記憶装置とを備えた端末装置であって、電源が投入されたときに、前記ＣＰＵが前記記憶装置に記憶された所定のプログラムを実行すると、ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認し、前記装置の所定の記憶領域に前記ファイルが記憶されていることを確認すると、前記ファイルを取得して、前記記憶装置に格納し、前記記憶装置に格納した前記ファイルを用いて、前記端末装置が動作可能な状態に立ち上げるための処理を行うことを特徴とする。
【０００６】
本発明の一つの実施態様に従う端末装置は、記憶装置と、電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域に第１のモジュールが記憶されているかどうかを確認する手段と、前記確認手段が前記装置の所定の記憶領域に前記第１のモジュールが記憶されていることを確認すると、前記第１のモジュールを所定サイズの複数のブロックに分割したときの、各ブロックのチェックサムを取得する手段と、前記記憶装置に格納されている、第１のモジュールに対応する第２のモジュールを前記所定サイズに分割した各ブロックのチェックサムと、前記取得手段が取得したチェックサムとを比較する手段と、前記比較の結果、チェックサムが一致しなかった第１のモジュールのブロックを前記装置から取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備える。
【０００７】
好適な実施形態では、前記記憶装置はフラッシュＲＯＭ（Ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）であってもよい。
【０００８】
本発明の一つの実施態様に従うクライアントサーバシステムは、サーバが、バイナリ形式の第１のモジュールを記憶したサーバ記憶手段を備え、クライアントが、バイナリ形式の第２のモジュールを記憶したクライアント記憶手段と、前記第１のモジュールと前記第２のモジュールとを所定サイズのブロック単位に比較する手段と、前記比較の結果が一致しないブロックについて、前記サーバから第１のモジュールの当該ブロックを取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備える。
【０００９】
好適な実施形態では、前記比較の結果、第２のモジュールに対応するブロックが存在しない第１のモジュールのブロックを、前記サーバから取得して前記クライアント記憶手段に格納する手段をさらに備えてもよい。
【００１０】
本発明の一つの実施態様に従うクライアントサーバシステムは、サーバが、バイナリ形式の第１のモジュールと、前記第１のモジュールが所定サイズの複数のブロックに分割されたときの、前記各ブロックのチェックサムを示す情報と記憶したサーバ記憶手段を備え、クライアントが、バイナリ形式の第２のモジュールを記憶したクライアント記憶手段と、前記サーバから前記チェックサムを示す情報を取得する手段と、前記第２のモジュールを前記所定サイズの複数のブロックに分割したとき、前記第１のモジュールの各ブロックと、それに対応する第２のモジュールの各ブロックとの間で、それぞれのチェックサムを比較する手段と、前記比較の結果、チェックサムが一致しなかった第１のモジュールのブロックを前記サーバから取得して、それに対応する第２のモジュールのブロックを更新する更新手段とを備える。
【００１１】
【発明の実施の形態】
以下、本発明を適用した一実施形態に係るクライアントサーバシステムについて、図面を用いて説明する。
【００１２】
図１に本システムの全体構成を示す。本システムは、サーバ１と、クライアントであるＫＩＯＳＫ端末（以下、端末という）２とがネットワーク９を介して接続されている。端末２は、同一の構成を有するものを複数台接続することもできる。ネットワーク９は有線であってもよいし無線であってもよい。さらにネットワーク９は、インターネット、専用回線、公衆回線など、どのような形態の回線でもよい。
【００１３】
サーバ１は記憶装置１０を備え、その記憶装置１０に更新モジュール１１と、チェックサムテーブル１２とが記憶されている。更新モジュール１１は、例えば、端末２のフラッシュメモリ２４にすでに搭載されているシステムモジュールまたは関数モジュールをバージョンアップしたモジュール、あるいは新たに追加するモジュールである。更新モジュール１１は、例えば、バイナリ形式のファイルである。
【００１４】
チェックサムテーブル１２は、更新モジュールを予め定められたサイズの複数のブロックに分割したときの、ブロックごとのチェックサムを記憶する。例えば、図２に示すようにブロックを一意に識別可能なブロック名とチェックサムとが対応付けて記憶されている。
【００１５】
端末２は、ユーザに対して情報を表示し、入力を受け付ける入出力装置であるタッチパネル２１を有し、ユーザに対して様々な情報提供などのサービスを提供する。端末２内には、さらに、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２３と、フラッシュメモリ２４とを有する。ＣＰＵ２２は、フラッシュメモリ２４に記憶されているプログラムをＲＡＭ２２に展開して、各プログラムに従った処理を実行する。
【００１６】
フラッシュメモリ２４の使用状況の一例を図３示す。フラッシュメモリ２４は、使用中の領域３０と未使用領域４０とを有する。使用中領域３０には、ＩＰＬ（Ｉｎｉｔｉａｌ  Ｐｒｏｇｒａｍ  Ｌｏａｄｅｒ）３１と、アドレステーブル３２と、システムプログラム３３と、関数プログラム３４とが記憶されている。システムプログラム３３および関数プログラム３４は、例えば、それぞれ複数のモジュールに分割されていて、各モジュールがバイナリ形式で記憶されている。
【００１７】
ＩＰＬ３１は、端末２に電源が投入されたときに、ＣＰＵ２１が最初に実行するプログラムである。ＩＰＬ３１が実行されると、端末２がサービスを提供できる動作可能状態になるために必要なプログラムのロードなどの立ち上げ処理が行われる。また、以下に説明するプログラム更新処理は、ＩＰＬ３１を実行することにより行われる。
【００１８】
アドレステーブル３２は、各関数モジュールの名称（関数名）とその関数モジュールが記憶されているフラッシュメモリ２４上のアドレスとを対応付けるテーブルである。ある関数がコールされると、ＣＰＵ２２は、アドレステーブル３２を参照してその関数モジュールを取得する。後述するダウンロード処理で関数モジュールが新たに追加されると、その関数モジュールの名称および格納されたアドレスがアドレステーブル３２に追加される。
【００１９】
また、アドレステーブル３２は、後述するモジュールのブロックごとにアドレスを記憶してもよい。この場合、ダウンロード処理で新たにブロックが追加されると、そのブロックの識別情報および格納されたアドレスがアドレステーブル３２に追加される
システムプログラム３３は、端末２を動作させるために必要なプログラムであり、例えば、複数の実行形式のモジュールとして記憶されている。
【００２０】
以上のような構成のクライアントサーバシステムにおいて、端末２がサーバ１から更新モジュールをダウンロードして、フラッシュメモリ２４に格納するダウンロード処理について説明する。
【００２１】
ダウンロード処理の第１の態様を図４に示すフローチャートを用いて説明する。まず、端末２の電源が投入されると（Ｓ１１）、ＣＰＵ２２はＩＰＬ３１を実行して以下のステップＳ１２からＳ１６の処理を実行する。このとき、電源が投入されるときに所定の操作（特定のキーを押しながら電源をオンするなど）が行われていた場合に、ステップＳ１２以降の処理を行い、そうでない場合はステップＳ１２〜Ｓ１５をスキップして、ステップＳ１６のみを行うようにしてもよい。
【００２２】
端末２は、ネットワークを介してサーバ１へアクセスし、記憶装置１０に更新モジュール１１が存在するかどうかを確認する（Ｓ１２）。更新モジュール１１が存在するときは（Ｓ１２：Ｙｅｓ）、更新モジュールのモジュール名およびタイムスタンプを取得し、フラッシュメモリ２４に記憶されている同一名のシステムモジュールまたは関数モジュールのタイムスタンプと比較する（Ｓ１３）。
【００２３】
記憶装置１０に更新モジュールが存在しない場合（Ｓ１２：Ｎｏ）、またはタイムスタンプが一致した場合（Ｓ１３：Ｙｅｓ）は、ステップＳ１４およびＳ１５をスキップする。
【００２４】
タイムスタンプが一致しないとき、または同一名のモジュールがフラッシュメモリ２４に存在しないときは（Ｓ１３：Ｎｏ）、モジュールのバージョンアップまたは追加があったものとして、更新モジュール１１をダウンロードする（Ｓ１４）。バージョンアップの場合、ダウンロードした更新モジュール１１をシステムプログラム３３または関数プログラム３４の対応するモジュールに上書きして更新する（図３参照）。モジュールの追加である場合は、更新モジュール１１をフラッシュメモリ２４の未使用領域４０に格納し、アドレステーブル３２にモジュール名および格納したアドレスを追加する（Ｓ１５）。
【００２５】
そして、ＣＰＵ２２は、この時点でフラッシュメモリ２４に記憶されているシステムプログラム３３を用いて、端末の立ち上げ処理を行う（Ｓ１６）。立ち上げ処理が完了すると、端末２はサービスの提供が可能な状態となる。
【００２６】
これにより、ＦＤドライブ、ＣＤ―ＲＯＭドライブ、メモリカードインタフェースなどを備えていない端末であっても、ネットワークを介してプログラムの更新および追加を行うことができる。
【００２７】
つぎに、ダウンロード処理の第２の態様について説明する。第１の態様では更新モジュール１１全体をダウンロードしたが、この態様では、更新モジュール１１のうち更新された部分のみをダウンロードする。その概要を図５を用いて説明する。
【００２８】
例えば、図５に示すように、モジュールを所定サイズの複数のブロックに分割する場合を考える。そして、サーバ１の更新モジュール１１と、それに対応するフラッシュメモリ２４のモジュールとをブロックごとに比較し、一致しないブロックのみをダウンロードする。ブロックごとの対比は、例えば、ブロックの識別情報およびチェックサムを用いて行う。すなわち、図５の例では、モジュール名とブロック番号とからなるブロックの識別情報が対応するもの同士について、チェックサムを比較する。更新モジュール１１のチェックサムは、チェックサムテーブル１２にある。フラッシュメモリ２４に記憶されているモジュールの各ブロックのチェックサムは、比較を行うたびに計算することもできるし、フラッシュメモリ２４に記憶しておいてもよい（図示しない）。
【００２９】
図５の例では、Ｆ１＿ｂｌｏｃｋ３のチェックサムが一致しないので、このブロックがダウンロード対象となる。また、例えば、Ｆ１＿ｂｌｏｃｋ５のように、サーバ１の記憶装置１０に存在するのに、フラッシュメモリ２４に対応するブロックが存在しない場合は、そのブロックもダウンロード対象となる。
【００３０】
第２のダウンロード処理の処理手順を、図６のフローチャートを用いて説明する。ステップＳ１１〜Ｓ１３は、図４の第１の態様と同様である。
【００３１】
記憶装置１０に更新モジュール１１が存在し（Ｓ１２：Ｙｅｓ）、更新モジュールと対応するモジュールのタイムスタンプが一致ない場合（Ｓ１３：Ｎｏ）、サーバ１からチェックサムテーブル１２をダウンロードする（Ｓ２１）。そして、ダウンロードしたチェックサムテーブル１２を用いて、更新モジュール１１のチェックサムと対応するモジュールのチェックサムとをブロックごとに比較する（Ｓ２２）。フラッシュメモリ２４に対応するブロックがないためにチェックサムの比較ができない更新モジュール１１のブロック（図５の例ではＦ１＿ｂｌｏｃｋ５）、およびチェックサムが一致しないブロック（図５の例ではＦ１＿ｂｌｏｃｋ３）をダウンロード対象ブロックに定め、これをダウンロードする（Ｓ２３）。そして、チェックサムが一致しなかった、更新されているブロックについては、ダウンロードしたブロックをそれと対応するブロックに上書きして更新する。追加されているブロックは、未使用領域４０に書き込み、アドレステーブル３２にブロックの識別情報および格納したアドレスを追加する（Ｓ１５）。
【００３２】
そして、ＣＰＵ２２は、この時点でフラッシュメモリ２４に記憶されているシステムプログラム３３を用いて、端末の立ち上げ処理を行う（Ｓ１６）。
【００３３】
これにより、部分的に修正されたモジュールについては、モジュール全体をダウンロードする必要がない。
【００３４】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【００３５】
例えば、上述した更新モジュールを格納した記憶装置は、必ずしもサーバに設置されている必要はなく、ＫＩＯＳＫ端末がその記憶装置へアクセス可能であればよい。例えば、メモリカードなどの可搬型記憶装置を、ＫＩＯＳＫ端末に接続してもよい。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るＣ／Ｓシステムの全体構成を示す図である。
【図２】チェックサムテーブルの一例を示す図である。
【図３】フラッシュメモリの使用状況の一例を示す図である。
【図４】第１のダウンロード処理の手順を示すフローチャートである。
【図５】第２のダウンロード処理の概要を説明するための図である。
【図６】第２のダウンロード処理の手順を示すフローチャートである。
【符号の説明】
１…サーバ、２…ＫＩＯＳＫ端末、９…ネットワーク、１０…記憶装置、１１…更新モジュール、１２…チェックサムテーブル、２１…タッチパネル、２２…ＣＰＵ、２３…ＲＡＭ、２４…フラッシュメモリ。
【図１】
2004302953.tif 000003
【図２】
2004302953.tif 000004
【図３】
2004302953.tif 000005
【図４】
2004302953.tif 000006
【図５】
2004302953.tif 000007
【図６】
2004302953.tif 000008