JP2004302953A - 端末装置およびクライアントサーバシステム - Google Patents

端末装置およびクライアントサーバシステム Download PDF

Info

Publication number
JP2004302953A
JP2004302953A JP2003095918A JP2003095918A JP2004302953A JP 2004302953 A JP2004302953 A JP 2004302953A JP 2003095918 A JP2003095918 A JP 2003095918A JP 2003095918 A JP2003095918 A JP 2003095918A JP 2004302953 A JP2004302953 A JP 2004302953A
Authority
JP
Japan
Prior art keywords
module
block
server
stored
client
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.)
Pending
Application number
JP2003095918A
Other languages
English (en)
Inventor
Gakuo Kitazawa
岳夫 北澤
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003095918A priority Critical patent/JP2004302953A/ja
Publication of JP2004302953A publication Critical patent/JP2004302953A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Detection And Correction Of Errors (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】端末内のプログラムの追加または更新を容易に行う。
【解決手段】サーバ1は、バイナリ形式の更新モジュール11を記憶した記憶装置10を備える。KIOSK端末2は、バイナリ形式の関数モジュールまたはシステムモジュールを記憶したフラッシュメモリ24をそなえる。そして、更新モジュール11とそれに対応する関数モジュールとを所定サイズのブロック単位に比較し、比較の結果が一致しないブロックについて、サーバ1から更新モジュール11の当該ブロックをダウンロードし、それに対応する関数モジュールのブロックを更新する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、端末装置に記憶されているプログラム等を更新するための技術に関する。
【0002】
【従来の技術】
業務用途の情報処理端末(いわゆるKIOSK端末など)は、ユーザインタフェースにタッチパネルを用いているものが多い。そして、端末本体を壁に埋め込んでタッチパネルのみを外部へ露出させているものも多い。このため、FD(Flexible Disk)ドライブやCD―ROM(Compact Disk−Read Only Memory)ドライブ等を設けていないものがある。
【0003】
【発明が解決しようとする課題】
このような端末において、OS(Operating System)またはアプリケーションソフトウェアを更新したり、追加したりする場合、端末内でソフトウェアが格納されているフラッシュメモリなどの記憶装置を取り外し、ソフトウェアを更新、追加する必要があった。
【0004】
そこで、本発明の目的は、端末内のプログラムの追加または更新を容易に行うための技術を提供することである。
【0005】
【課題を解決するための手段】
本発明の一つの実施態様に従う端末装置は、CPU(Central Processing Unit)と、記憶装置とを備えた端末装置であって、電源が投入されたときに、前記CPUが前記記憶装置に記憶された所定のプログラムを実行すると、ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認し、前記装置の所定の記憶領域に前記ファイルが記憶されていることを確認すると、前記ファイルを取得して、前記記憶装置に格納し、前記記憶装置に格納した前記ファイルを用いて、前記端末装置が動作可能な状態に立ち上げるための処理を行うことを特徴とする。
【0006】
本発明の一つの実施態様に従う端末装置は、記憶装置と、電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域に第1のモジュールが記憶されているかどうかを確認する手段と、前記確認手段が前記装置の所定の記憶領域に前記第1のモジュールが記憶されていることを確認すると、前記第1のモジュールを所定サイズの複数のブロックに分割したときの、各ブロックのチェックサムを取得する手段と、前記記憶装置に格納されている、第1のモジュールに対応する第2のモジュールを前記所定サイズに分割した各ブロックのチェックサムと、前記取得手段が取得したチェックサムとを比較する手段と、前記比較の結果、チェックサムが一致しなかった第1のモジュールのブロックを前記装置から取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備える。
【0007】
好適な実施形態では、前記記憶装置はフラッシュROM(Read only memory)であってもよい。
【0008】
本発明の一つの実施態様に従うクライアントサーバシステムは、サーバが、バイナリ形式の第1のモジュールを記憶したサーバ記憶手段を備え、クライアントが、バイナリ形式の第2のモジュールを記憶したクライアント記憶手段と、前記第1のモジュールと前記第2のモジュールとを所定サイズのブロック単位に比較する手段と、前記比較の結果が一致しないブロックについて、前記サーバから第1のモジュールの当該ブロックを取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備える。
【0009】
好適な実施形態では、前記比較の結果、第2のモジュールに対応するブロックが存在しない第1のモジュールのブロックを、前記サーバから取得して前記クライアント記憶手段に格納する手段をさらに備えてもよい。
【0010】
本発明の一つの実施態様に従うクライアントサーバシステムは、サーバが、バイナリ形式の第1のモジュールと、前記第1のモジュールが所定サイズの複数のブロックに分割されたときの、前記各ブロックのチェックサムを示す情報と記憶したサーバ記憶手段を備え、クライアントが、バイナリ形式の第2のモジュールを記憶したクライアント記憶手段と、前記サーバから前記チェックサムを示す情報を取得する手段と、前記第2のモジュールを前記所定サイズの複数のブロックに分割したとき、前記第1のモジュールの各ブロックと、それに対応する第2のモジュールの各ブロックとの間で、それぞれのチェックサムを比較する手段と、前記比較の結果、チェックサムが一致しなかった第1のモジュールのブロックを前記サーバから取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備える。
【0011】
【発明の実施の形態】
以下、本発明を適用した一実施形態に係るクライアントサーバシステムについて、図面を用いて説明する。
【0012】
図1に本システムの全体構成を示す。本システムは、サーバ1と、クライアントであるKIOSK端末(以下、端末という)2とがネットワーク9を介して接続されている。端末2は、同一の構成を有するものを複数台接続することもできる。ネットワーク9は有線であってもよいし無線であってもよい。さらにネットワーク9は、インターネット、専用回線、公衆回線など、どのような形態の回線でもよい。
【0013】
サーバ1は記憶装置10を備え、その記憶装置10に更新モジュール11と、チェックサムテーブル12とが記憶されている。更新モジュール11は、例えば、端末2のフラッシュメモリ24にすでに搭載されているシステムモジュールまたは関数モジュールをバージョンアップしたモジュール、あるいは新たに追加するモジュールである。更新モジュール11は、例えば、バイナリ形式のファイルである。
【0014】
チェックサムテーブル12は、更新モジュールを予め定められたサイズの複数のブロックに分割したときの、ブロックごとのチェックサムを記憶する。例えば、図2に示すようにブロックを一意に識別可能なブロック名とチェックサムとが対応付けて記憶されている。
【0015】
端末2は、ユーザに対して情報を表示し、入力を受け付ける入出力装置であるタッチパネル21を有し、ユーザに対して様々な情報提供などのサービスを提供する。端末2内には、さらに、CPU(Central Processing Unit)22と、RAM(Random Access Memory)23と、フラッシュメモリ24とを有する。CPU22は、フラッシュメモリ24に記憶されているプログラムをRAM22に展開して、各プログラムに従った処理を実行する。
【0016】
フラッシュメモリ24の使用状況の一例を図3示す。フラッシュメモリ24は、使用中の領域30と未使用領域40とを有する。使用中領域30には、IPL(Initial Program Loader)31と、アドレステーブル32と、システムプログラム33と、関数プログラム34とが記憶されている。システムプログラム33および関数プログラム34は、例えば、それぞれ複数のモジュールに分割されていて、各モジュールがバイナリ形式で記憶されている。
【0017】
IPL31は、端末2に電源が投入されたときに、CPU21が最初に実行するプログラムである。IPL31が実行されると、端末2がサービスを提供できる動作可能状態になるために必要なプログラムのロードなどの立ち上げ処理が行われる。また、以下に説明するプログラム更新処理は、IPL31を実行することにより行われる。
【0018】
アドレステーブル32は、各関数モジュールの名称(関数名)とその関数モジュールが記憶されているフラッシュメモリ24上のアドレスとを対応付けるテーブルである。ある関数がコールされると、CPU22は、アドレステーブル32を参照してその関数モジュールを取得する。後述するダウンロード処理で関数モジュールが新たに追加されると、その関数モジュールの名称および格納されたアドレスがアドレステーブル32に追加される。
【0019】
また、アドレステーブル32は、後述するモジュールのブロックごとにアドレスを記憶してもよい。この場合、ダウンロード処理で新たにブロックが追加されると、そのブロックの識別情報および格納されたアドレスがアドレステーブル32に追加される
システムプログラム33は、端末2を動作させるために必要なプログラムであり、例えば、複数の実行形式のモジュールとして記憶されている。
【0020】
以上のような構成のクライアントサーバシステムにおいて、端末2がサーバ1から更新モジュールをダウンロードして、フラッシュメモリ24に格納するダウンロード処理について説明する。
【0021】
ダウンロード処理の第1の態様を図4に示すフローチャートを用いて説明する。まず、端末2の電源が投入されると(S11)、CPU22はIPL31を実行して以下のステップS12からS16の処理を実行する。このとき、電源が投入されるときに所定の操作(特定のキーを押しながら電源をオンするなど)が行われていた場合に、ステップS12以降の処理を行い、そうでない場合はステップS12〜S15をスキップして、ステップS16のみを行うようにしてもよい。
【0022】
端末2は、ネットワークを介してサーバ1へアクセスし、記憶装置10に更新モジュール11が存在するかどうかを確認する(S12)。更新モジュール11が存在するときは(S12:Yes)、更新モジュールのモジュール名およびタイムスタンプを取得し、フラッシュメモリ24に記憶されている同一名のシステムモジュールまたは関数モジュールのタイムスタンプと比較する(S13)。
【0023】
記憶装置10に更新モジュールが存在しない場合(S12:No)、またはタイムスタンプが一致した場合(S13:Yes)は、ステップS14およびS15をスキップする。
【0024】
タイムスタンプが一致しないとき、または同一名のモジュールがフラッシュメモリ24に存在しないときは(S13:No)、モジュールのバージョンアップまたは追加があったものとして、更新モジュール11をダウンロードする(S14)。バージョンアップの場合、ダウンロードした更新モジュール11をシステムプログラム33または関数プログラム34の対応するモジュールに上書きして更新する(図3参照)。モジュールの追加である場合は、更新モジュール11をフラッシュメモリ24の未使用領域40に格納し、アドレステーブル32にモジュール名および格納したアドレスを追加する(S15)。
【0025】
そして、CPU22は、この時点でフラッシュメモリ24に記憶されているシステムプログラム33を用いて、端末の立ち上げ処理を行う(S16)。立ち上げ処理が完了すると、端末2はサービスの提供が可能な状態となる。
【0026】
これにより、FDドライブ、CD―ROMドライブ、メモリカードインタフェースなどを備えていない端末であっても、ネットワークを介してプログラムの更新および追加を行うことができる。
【0027】
つぎに、ダウンロード処理の第2の態様について説明する。第1の態様では更新モジュール11全体をダウンロードしたが、この態様では、更新モジュール11のうち更新された部分のみをダウンロードする。その概要を図5を用いて説明する。
【0028】
例えば、図5に示すように、モジュールを所定サイズの複数のブロックに分割する場合を考える。そして、サーバ1の更新モジュール11と、それに対応するフラッシュメモリ24のモジュールとをブロックごとに比較し、一致しないブロックのみをダウンロードする。ブロックごとの対比は、例えば、ブロックの識別情報およびチェックサムを用いて行う。すなわち、図5の例では、モジュール名とブロック番号とからなるブロックの識別情報が対応するもの同士について、チェックサムを比較する。更新モジュール11のチェックサムは、チェックサムテーブル12にある。フラッシュメモリ24に記憶されているモジュールの各ブロックのチェックサムは、比較を行うたびに計算することもできるし、フラッシュメモリ24に記憶しておいてもよい(図示しない)。
【0029】
図5の例では、F1_block3のチェックサムが一致しないので、このブロックがダウンロード対象となる。また、例えば、F1_block5のように、サーバ1の記憶装置10に存在するのに、フラッシュメモリ24に対応するブロックが存在しない場合は、そのブロックもダウンロード対象となる。
【0030】
第2のダウンロード処理の処理手順を、図6のフローチャートを用いて説明する。ステップS11〜S13は、図4の第1の態様と同様である。
【0031】
記憶装置10に更新モジュール11が存在し(S12:Yes)、更新モジュールと対応するモジュールのタイムスタンプが一致ない場合(S13:No)、サーバ1からチェックサムテーブル12をダウンロードする(S21)。そして、ダウンロードしたチェックサムテーブル12を用いて、更新モジュール11のチェックサムと対応するモジュールのチェックサムとをブロックごとに比較する(S22)。フラッシュメモリ24に対応するブロックがないためにチェックサムの比較ができない更新モジュール11のブロック(図5の例ではF1_block5)、およびチェックサムが一致しないブロック(図5の例ではF1_block3)をダウンロード対象ブロックに定め、これをダウンロードする(S23)。そして、チェックサムが一致しなかった、更新されているブロックについては、ダウンロードしたブロックをそれと対応するブロックに上書きして更新する。追加されているブロックは、未使用領域40に書き込み、アドレステーブル32にブロックの識別情報および格納したアドレスを追加する(S15)。
【0032】
そして、CPU22は、この時点でフラッシュメモリ24に記憶されているシステムプログラム33を用いて、端末の立ち上げ処理を行う(S16)。
【0033】
これにより、部分的に修正されたモジュールについては、モジュール全体をダウンロードする必要がない。
【0034】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【0035】
例えば、上述した更新モジュールを格納した記憶装置は、必ずしもサーバに設置されている必要はなく、KIOSK端末がその記憶装置へアクセス可能であればよい。例えば、メモリカードなどの可搬型記憶装置を、KIOSK端末に接続してもよい。
【図面の簡単な説明】
【図1】本発明の一実施形態に係るC/Sシステムの全体構成を示す図である。
【図2】チェックサムテーブルの一例を示す図である。
【図3】フラッシュメモリの使用状況の一例を示す図である。
【図4】第1のダウンロード処理の手順を示すフローチャートである。
【図5】第2のダウンロード処理の概要を説明するための図である。
【図6】第2のダウンロード処理の手順を示すフローチャートである。
【符号の説明】
1…サーバ、2…KIOSK端末、9…ネットワーク、10…記憶装置、11…更新モジュール、12…チェックサムテーブル、21…タッチパネル、22…CPU、23…RAM、24…フラッシュメモリ。

Claims (7)

  1. CPU(Central Processing Unit)と、記憶装置とを備えた端末装置であって、
    電源が投入されたときに、前記CPUが前記記憶装置に記憶された所定のプログラムを実行すると、
    ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認し、
    前記装置の所定の記憶領域に前記ファイルが記憶されていることを確認すると、前記ファイルを取得して、前記記憶装置に格納し、
    前記記憶装置に格納した前記ファイルを用いて、前記端末装置が動作可能な状態に立ち上げるための処理を行うことを特徴とする端末装置。
  2. 記憶装置と、
    電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域に第1のモジュールが記憶されているかどうかを確認する手段と、
    前記確認手段が前記装置の所定の記憶領域に前記第1のモジュールが記憶されていることを確認すると、前記第1のモジュールを所定サイズの複数のブロックに分割したときの、各ブロックのチェックサムを取得する手段と、
    前記記憶装置に格納されている、第1のモジュールに対応する第2のモジュールを前記所定サイズに分割した各ブロックのチェックサムと、前記取得手段が取得したチェックサムとを比較する手段と、
    前記比較の結果、チェックサムが一致しなかった第1のモジュールのブロックを前記装置から取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備える端末装置。
  3. 前記記憶装置はフラッシュROM(Read only memory)である請求項1または2記載の端末装置。
  4. クライアントサーバシステムであって、
    サーバは、
    バイナリ形式の第1のモジュールを記憶したサーバ記憶手段を備え、
    クライアントは、
    バイナリ形式の第2のモジュールを記憶したクライアント記憶手段と、
    前記第1のモジュールと前記第2のモジュールとを所定サイズのブロック単位に比較する手段と、
    前記比較の結果が一致しないブロックについて、前記サーバから第1のモジュールの当該ブロックを取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備えるクライアントサーバシステム。
  5. 前記比較の結果、第2のモジュールに対応するブロックが存在しない第1のモジュールのブロックを、前記サーバから取得して前記クライアント記憶手段に格納する手段をさらに備える請求項4記載のクライアントサーバシステム。
  6. クライアントサーバシステムであって、
    サーバは、
    バイナリ形式の第1のモジュールと、前記第1のモジュールが所定サイズの複数のブロックに分割されたときの、前記各ブロックのチェックサムを示す情報と記憶したサーバ記憶手段を備え、
    クライアントは、
    バイナリ形式の第2のモジュールを記憶したクライアント記憶手段と、
    前記サーバから前記チェックサムを示す情報を取得する手段と、
    前記第2のモジュールを前記所定サイズの複数のブロックに分割したとき、前記第1のモジュールの各ブロックと、それに対応する第2のモジュールのブロックとの間で、それぞれのチェックサムを比較する手段と、
    前記比較の結果、チェックサムが一致しなかった第1のモジュールの各ブロックを前記サーバから取得して、それに対応する第2のモジュールのブロックを更新する更新手段とを備えるクライアントサーバシステム。
  7. 記憶装置を備えた端末装置に実行されると、
    電源が投入されたときに、ネットワークを介して接続された装置の所定の記憶領域にファイルが記憶されているかどうかを確認するステップと、
    前記装置の所定の記憶領域に前記ファイルが記憶されていることが確認されると、前記ファイルを取得するステップと、
    前記取得したファイルを前記記憶装置に格納するステップと、
    前記記憶装置に格納されたファイルを用いて前記端末装置の立ち上げ処理を行うステップと、を行う端末装置のファイル取得のためのコンピュータプログラム。
JP2003095918A 2003-03-31 2003-03-31 端末装置およびクライアントサーバシステム Pending JP2004302953A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003095918A JP2004302953A (ja) 2003-03-31 2003-03-31 端末装置およびクライアントサーバシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003095918A JP2004302953A (ja) 2003-03-31 2003-03-31 端末装置およびクライアントサーバシステム

Publications (1)

Publication Number Publication Date
JP2004302953A true JP2004302953A (ja) 2004-10-28

Family

ID=33408132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003095918A Pending JP2004302953A (ja) 2003-03-31 2003-03-31 端末装置およびクライアントサーバシステム

Country Status (1)

Country Link
JP (1) JP2004302953A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008520051A (ja) * 2004-11-10 2008-06-12 リーマン・ブラザーズ・インコーポレーテッド ソフトウェアを計測するための方法及びシステム
JP2008269395A (ja) * 2007-04-23 2008-11-06 Fujitsu Ten Ltd マルチメディアシステムおよびナビゲーションユニット端末
JP2014502396A (ja) * 2010-11-23 2014-01-30 マイクロソフト コーポレーション 効果的な仮想アプリケーションのアップデート

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008520051A (ja) * 2004-11-10 2008-06-12 リーマン・ブラザーズ・インコーポレーテッド ソフトウェアを計測するための方法及びシステム
JP4696125B2 (ja) * 2004-11-10 2011-06-08 バークレイズ・キャピタル・インコーポレーテッド ソフトウェアを計測するための方法及びシステム
US7979898B2 (en) 2004-11-10 2011-07-12 Barclays Capital Inc. System and method for monitoring and controlling software usage in a computer
JP2008269395A (ja) * 2007-04-23 2008-11-06 Fujitsu Ten Ltd マルチメディアシステムおよびナビゲーションユニット端末
US7895294B2 (en) 2007-04-23 2011-02-22 Fujitsu Ten Limited Multimedia system and navigation unit terminal
JP2014502396A (ja) * 2010-11-23 2014-01-30 マイクロソフト コーポレーション 効果的な仮想アプリケーションのアップデート

Similar Documents

Publication Publication Date Title
RU2419839C2 (ru) Система и способ обновления программы для мобильного терминала с поддержкой ота
US7904895B1 (en) Firmware update in electronic devices employing update agent in a flash memory card
US7747997B1 (en) Firmware update in electronic devices employing SIM card for saving metadata information
US8539471B2 (en) Updating firmware of an electronic device
KR101119320B1 (ko) 이동저장 장치의 펌웨어 업데이트 장치 및 방법
EP1519268B1 (en) Communication terminal and communication network for partially updating software, software update method, and software creation device and method therefor
US20070169099A1 (en) Firmware update system for facilitating firmware update in mobile handset
CN110597542B (zh) 软件自动ota升级方法及装置、电子设备
CN101778376A (zh) 一种实现固件无线更新的方法及装置
JPWO2009078285A1 (ja) 無線端末、無線端末の不揮発性メモリ、および診断情報のフェイルセーフ保存方法
WO2015127730A1 (zh) 版本文件的运行方法及装置
CN109753299A (zh) 一种系统升级方法、装置以及计算机存储介质
CN112667265B (zh) 一种引导程序更新方法及装置
KR20150005164A (ko) Fota 시스템 및 그 실행 방법
JPWO2019207729A1 (ja) 産業用コンピュータ、産業用コンピュータシステム、オペレーティングシステム更新方法及びプログラム
CN112860291A (zh) 固件升级方法及装置
JP2004302953A (ja) 端末装置およびクライアントサーバシステム
JP2012185767A (ja) 電子機器、電子機器の制御方法、及び、プログラム
CN114296764A (zh) 系统升级方法、装置、存储介质和电子设备
KR100617796B1 (ko) 무선 펌웨어 업그레이드 가능 무선 단말기 및 그 방법
JP2003296119A (ja) ソフトウェアバージョンアップ方法、サーバ装置及びクライアント装置
JP2010140220A (ja) ソフトウェア更新方法
KR100429903B1 (ko) 홈 게이트웨이 시스템의 이미지 업데이트 방법
JP2021111115A (ja) 通信制御システム
JP4066406B2 (ja) ファイルシステム管理方式、管理方法及び管理プログラム並びに記憶媒体