JP5423830B2 - 更新データ送信方法、ファームウェア更新システム及びホスト装置 - Google Patents

更新データ送信方法、ファームウェア更新システム及びホスト装置 Download PDF

Info

Publication number
JP5423830B2
JP5423830B2 JP2012085221A JP2012085221A JP5423830B2 JP 5423830 B2 JP5423830 B2 JP 5423830B2 JP 2012085221 A JP2012085221 A JP 2012085221A JP 2012085221 A JP2012085221 A JP 2012085221A JP 5423830 B2 JP5423830 B2 JP 5423830B2
Authority
JP
Japan
Prior art keywords
data
source
record
format
firmware
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
JP2012085221A
Other languages
English (en)
Other versions
JP2012146329A (ja
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.)
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 JP2012085221A priority Critical patent/JP5423830B2/ja
Publication of JP2012146329A publication Critical patent/JP2012146329A/ja
Application granted granted Critical
Publication of JP5423830B2 publication Critical patent/JP5423830B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、周辺装置のファームウェア(プログラム)の更新データをコンピュータが周辺装置に送信するための更新データ送信方法及び当該更新データ送信方法をコンピュータに実行させるための更新データ送信プログラムに関する。また、周辺装置のファームウェア更新データを周辺装置に対して送信するコンピュータと、コンピュータからのファームウェア更新データを受信して自身のファームウェアを書き換える周辺装置とからなるファームウェア書き換えシステムに関する。
近年のプリンタ等の周辺装置では、ファームウェアをフラッシュメモリに格納し容易に更新できるよう構成されている。例えば、制御プログラムの更新用データを外部装置より受信し、フラッシュメモリの第2記憶領域に記憶された書き換えプログラムを用いて、フラッシュメモリの第1記憶領域に記憶された制御プログラムを、受信した更新用データに書き換えるファームウェアの更新方法が知られている(特許文献1参照)。また、ネットワークに接続された周辺装置では、当該ネットワークを介してコンピュータからファームウェア更新データを受信し、ファームウェアを更新することができる。
コンピュータは、周辺装置のファームウェア更新データを、例えばモトローラ(登録商標)S3フォーマット形式で周辺装置に送信する。モトローラS3フォーマットは、プログラム言語を用いて作成されたソースコードをコンパイルしたものを16進数のテキスト形式にしたもので、後述するようにデータ格納先アドレス等の管理データ部と実データ部とから構成される(図2(a)参照)。モトローラS3フォーマットでは、1バイトのデータが2文字で表現されている。周辺装置は、受信したテキスト形式のモトローラS3フォーマット(以下「S3アスキーフォーマット」と称する)のデータをバイナリ変換してフラッシュメモリに書き込む。このように、更新データはモトローラS3フォーマットのような所定のフォーマット形式で表され、1レコード(パケット)単位で送受信される。
パケットを生成する方法として、例えば、RAMの記憶領域をヘッダが格納されるヘッダ領域とデータが格納されるデータ領域とに分離し、ヘッダ領域に格納されたヘッダとデータ領域に格納されたデータとを、ハードウェアにより結合して送信パケットを生成する方法が知られている(特許文献2参照)。
周辺装置の高機能化によりファームウェアのサイズは増大し、これに伴って、ファームウェアの更新時に送受信される更新データのレコード数(単位データ数)も増大している。更新データのサイズが大きくなると、コンピュータと周辺装置との通信インターフェースがUSB、パラレル、Ethernet(登録商標)その他の高速通信インターフェースである場合にはそれほど問題とならないものの、RS−232Cやその他の低速通信インターフェースである場合には更新データの通信に長時間を要してしまう。例えば、6Mバイトのデータ転送には、通信速度が19200bpsの場合に約45分、通信速度が9600bpsの場合に約90分かかることになる。通常、ファームウェア更新データの通信中には当該周辺装置は使用できないため、特に24時間稼動している施設において、通信時間の短縮が望まれている。
そこで、RS−232C(例えば9600bps)によりコンピュータからのデータを一時的にメモリに保存し、当該メモリに保存したデータをより高速(例えば50000bps)なシリアル通信あるいはパラレル通信により携帯型情報機器に転送することのできるインターフェースボックスが知られている(特許文献3参照)。これにより、携帯型情報機器がデータ受信処理に占有される時間を削減することができる。
また、転送するデータ量を減らすことによって通信時間を短縮することができる。例えば、プリンタに送信すべき印字データの中に連続する空白文字データ(0x20)がいくつあるかをカウントし、当該個数が基準個数以上のときは、その連続する空白文字データに代えて連続空白文字データに相当する分だけプリンタの印字位置(印字ヘッド)を一括移動させる制御データを送信する方法が知られている(特許文献4参照)。
特開2005−63050号公報 特開2000−134230号公報 特開平11−212908号公報 特開平06−242894号公報
しかしながら、特許文献3に開示された技術においては、インターフェースボックスを用意すると共に周辺装置を当該インターフェースボックスに対応させなければならず汎用性がないという問題があった。また、コンピュータとインターフェースボックスとの間の通信速度がボトルネックとなり、システム全体としては更新データの通信時間を短縮することはできないという問題があった。
本発明は、上記課題を解決するためになされたものであって、通信速度を変更することなく、周辺装置のファームウェア更新データをコンピュータから周辺装置へ送る際の通信時間を短縮することのできる更新データ送信方法、更新データ送信プログラム及びファームウェア書き換えシステムを提供することを目的とする。
上記目的を達成するため本発明の更新データ送信方法は、周辺装置のファームウェアを更新するデータであり、ソースオブジェクトデータとソース管理データとを含む第1形式の第のソースレコードおよび前記第1のソースレコードに続くのソースレコードをホスト装置で読み込み、前記ホスト装置は、読み込まれた前記第形式の前記第及び前記第のソースレコードを、第2形式の第および第のソースレコードに変換し、前記第3のソースレコードに含まれるソースオブジェクトデータおよび前記第のソースレコードに含まれるソースオブジェクトデータに予め定められた空白データ列があるか否かを検出し、前記第4のソースレコードに含まれるソースオブジェクトデータに予め定められた前記空白データ列が存在する場合には、前記空白データ列を削除し、前記第3のソースレコードに含まれるソースオブジェクトデータに前記空白データ列の直前のソースオブジェクトデータ連結し、連結されたソースオブジェクトデータに応じた管理データを生成し、生成された前記管理データを連結された前記ソースオブジェクトデータに付加してターゲットレコードを生成し、生成された前記ターゲットレコードを周辺装置に送信することを特徴とする。
また、前記第4のソースレコードに含まれるソースオブジェクトデータに前記空白データ列が存在しない場合、前記第のソースレコードに含まれるソースオブジェクトデータと前記第のソースレコードに含まれるソースオブジェクトデータを連結したときに、予め定めたデータ長を超えるか否かを判断し、前記予め定めたデータ長を超えないと判断したときには、前記第のソースレコードに含まれるソースオブジェクトデータと前記第のソースレコードに含まれるソースオブジェクトデータを連結する。
また、本発明のホスト装置は、周辺装置のファームウェアを更新するデータであり、ソースオブジェクトデータとソース管理データとを含む第1形式の第のソースレコードおよび前記第1のソースレコードに続くのソースレコードを読み込むデータ読み込み部と、前記データ読み込み部で読み込まれた第の形式前記第1及び前記第のソースレコードを第の形式の第及び第のソースレコードに変換するデータ変換部と、前記データ変換部で変換された前記第及び前記第のソースレコードに含まれるソースオブジェクトデータに予め定めた空白データ列の有無を検出する空白データ検出部と、前記空白データ検出部で前記空白データ列が前記第4のソースレコードに含まれるソースオブジェクトデータに検出されたとき、前記第3のソースレコードに含まれるソースオブジェクトデータに前記空白データ列の直前のソースオブジェクトデータ連結するデータ連結部と、前記データ連結部で連結されたソースオブジェクトデータに応じた管理データを生成し、生成した前記管理データを連結された前記ソースオブジェクトデータに付加するレコード生成部と、を備えることを特徴とする。
また、前記データ連結部で前記ソースオブジェクトデータを連結したときのデータ長と、予め定めたデータ長とを比較するデータ長比較部を備える。

これらの構成によれば、実データを連結することによりレコード数(送信単位データ数)が削減され、レコード毎に必要な管理データの数を削減することができる。これにより、送信データの総量が減少し、データ通信時間を短縮することができる。また、連結データ長に上限を設けているので、通信エラー等の不具合が発生した場合であっても当該不具合を早期に検出してデータ通信をリトライすることができ、無駄なデータ通信を回避することができる。また、管理データの長さを超えて連続する空白データが削除されるため、送信するデータの総量をさらに減少させることができる。
なお、以下の説明における「空白データ」とは、不揮発性メモリ(例えばフラッシュメモリ)を初期化またはデータ消去したときの値を示すものである。一般にこの値は0xFFであるが、本発明は0xFFに限定されるものではない。
これらの場合において、前記ソースレコードはアスキーコードで表現される形式であり、前記ターゲットレコードはバイナリで表現される形式であることが好ましい。アスキーコードをバイナリ変換することにより送信データ総量を略半減させることができ、通信時間も略半分に短縮できる。また、従来のように周辺装置側でバイナリ変換する必要がなく、周辺装置におけるファームウェアの書き換え処理の負荷を軽減することができる。周辺装置のCPUは一般にコンピュータのCPUに比して処理能力が低いため、周辺装置の負荷を軽減することにより、ホストコンピュータと周辺装置とを含めたシステム全体としての書き換え処理のパフォーマンスを向上させることができる。
またこれらの場合において、前記予め定めたデータ長は、前記周辺装置のファームウェアが格納されるフラッシュメモリのデータ書き換え単位長さ以下であることが望ましい。予め定めたデータ長がデータ書き換え単位長さ(セクタ容量)より長いと、周辺装置側で実データをデータ書き換え単位長さ毎に分割する処理が必要となる場合があり、これにより周辺装置の負荷が高くなってシステム全体としての書き換え処理のパフォーマンスが低下してしまうためである。
またこれらの場合において、前記予め定めたデータ長は、前記周辺装置が接続されるインターフェースの種類に応じて設定されることが望ましい。また、前記周辺装置との通信速度を測定し、当該測定結果に基づいて前記予め定めたデータ長を設定することが望ましい。通信インターフェースあるいは通信速度に応じて所定長さを変更することにより、より効率的にデータ通信でき通信時間を短縮することができる。
また、本発明は、上記の更新データ送信方法における各ステップを、コンピュータに実行させるためのプログラムまたは当該プログラムを記録した記録媒体として提供することができる。
本発明に係るシステムの全体構成を示すブロック図。 更新データを構成する単位データのフォーマットを示す図。 サーバとプリンタの制御ブロック図。 更新データ送信処理のフローチャート。 ファームウェア書き換え処理のフローチャート。 更新データ送信処理の変形例に係るフローチャート。
以下、図面を参照して本発明の実施形態について説明する。
<システムの全体構成>
図1に示すように、本発明の実施形態のファームウェア書き換えシステム1は、ホストコンピュータ11、サーバ12a,12b,12c、周辺装置としてのプリンタ13a1,13a2,13b,13c,13dで構成されている。
ホストコンピュータ11とサーバ12a〜12cはネットワーク14を介して接続されている。サーバ12aには、プリンタ13a1,13a2がそれぞれインターフェース15a1,15a2を介して接続されている。同様に、サーバ12bには、プリンタ13bがインターフェース15bを介して接続され、サーバ12cには、プリンタ13cがインターフェース15cを介して接続されている。また、プリンタ13dは、インターフェース15dを介してネットワーク14に接続され、ネットワーク14上のホストコンピュータ11及びサーバ12a〜12cから制御可能である。
サーバ12a〜12cは、汎用パーソナルコンピュータやPOS端末等の専用情報機器として実現される。
ネットワーク14は、Ethernet(登録商標)等の構内通信網(LAN)として実現してもよいし、専用線、インターネット、VPN等の広域通信網(WAN)として実現してもよい。ネットワーク14がWANである場合には、ホストコンピュータ11から遠隔地にある各サーバ12a〜12cに対して、接続されるプリンタ13a1,13a2,13b,13cのファームウェアの書き換え処理を指示することができる。また、ホストコンピュータ11は、ネットワーク14に接続されるプリンタ13dに対してファームウェアの書き換え処理を指示することができる。すなわち、1台のホストコンピュータ11から遠隔地にある複数のプリンタ13a1,13a2,13b,13c,13dに対するファームウェア書き換え処理を一度に指示することができる。
インターフェース15a1,15a2,15b,15cは、RS−232C(最大通信速度14.4kbps)、USB(USB2.0で最大通信速度60Mbps)等のシリアルインターフェースで実現してもよいし、SCSI(最大通信速度320Mbps)等のパラレルインターフェースで実現してもよい。
ここで、サーバ12a〜12cは、ネットワーク14を介して互いに異なる通信速度でホストコンピュータ11に接続されていてもよい。同様に、プリンタ13a1、13a2は互いに異なる通信速度でサーバ12aに接続されていてもよい。
このようなファームウェア書き換えシステム1において、ホストコンピュータ11からプリンタ13a1,13a2,13b,13c,13dに対してファームウェアの更新データが送信され、各プリンタは自身のファームウェアを書き換える。あるいは、サーバ12a〜12cから自身に接続されるプリンタ13a1,13a2,13b,13cに対してファームウェアの更新データが送信され、各プリンタは自身のファームウェアを書き換える。以下では、サーバ12b(コンピュータ)とプリンタ13b(周辺装置)とからなるファームウェア書き換えシステム1を一例として挙げ、プリンタ13bのファームウェアを書き換えるための処理について説明する。
<モトローラS3フォーマット>
プリンタ13bのファームウェアはプログラム言語を用いて作成され、そのソースコードがコンパイルされて16進数のテキスト形式であるモトローラS3フォーマットとしてサーバ12bに提供される。尤も、サーバ12bにファームウェアのソースコードを提供し、サーバ12b上でモトローラS3フォーマットに変換してもよい。
モトローラS3フォーマットのレコード(単位データ)20aは、図2(a)に示すように、タイプフィールド21、データ長フィールド22、アドレスフィールド23、データフィールド24、チェックサムフィールド25から構成される。タイプフィールド21は、モトローラSフォーマットの型(レコードタイプ)を示すデータであり2バイトで表現される。本実施形態例ではS3型であるが、モトローラSフォーマットにはこの他にS1型、S2型がある。また、S1型〜S3型のターミネータとしてそれぞれS7型〜S9型が定義されている。データ長フィールド22は、当該データ長フィールド22の後に続くデータの数(レコード長)を示すデータで2バイトで表現される。アドレスフィールド23は、実データの先頭バイトが格納されるアドレスを示すデータで8バイトで表現される。データフィールド24は、プリンタ13bのフラッシュメモリ132に書き込まれる実データ(オブジェクトデータ)で2〜500バイトで表現される。チェックサムフィールド25は、データ長フィールド22、アドレスフィールド23、データフィールド24の各バイト値に基づいて算出されるチェックサムで2バイトで表現される。
以下の説明では、実データ以外のデータ、すなわち、レコードタイプ、レコード長、アドレス及びチェックサムを合わせて「管理データ」と称し、実データと管理データとを合わせて「レコード(単位データ)」と称する。
<サーバの構成>
図3に示すように、サーバ12bは主として、制御部(CPU)111、記憶部112、通信インターフェース113、入力部114、表示部115を備えており、これらはそれぞれバス116を介して接続されている。
制御部111は、記憶部112に記憶された各種プログラムを適宜読み出して実行し、サーバ12bの全体の制御を司る。また、制御部111は、データ読み込み部111a、空白データ検出部111b、データ長比較部111c、データ連結部111d、レコード(単位データ)生成部111e、データ変換部111fを備えている。
データ読み込み部111aは、サーバ12bのオペレータからのファームウェア書き換え指示あるいはホストコンピュータ11からのファームウェア書き換え指示に応じて、プリンタ13bのファームウェア更新データ(モトローラS3フォーマット形式)の各レコード(ソースレコード)を記憶部112から順次読み込む。なお、更新データは、サーバ12b上でオペレータから提供されたものであっても、ホストコンピュータ11からネットワーク14を介して受信したものであってもよい。
空白データ検出部111bは、データ読み込み部111aが読み込んだ更新データの実データに含まれる所定長さ以上の連続した空白データの有無を検出する。
データ長比較部111cは、実データを連結した際の実データの長さ(連結データ長)と、予め設定された連結データ長最大値とを比較する。
データ連結部111dは、連結データ長最大値を超えない範囲で順次ソースレコードの実データを連結する。また、空白データ検出部111bにより実データ中に所定長さ以上の空白データが検出された場合に、データ連結部111dは、その空白データの前後で実データを分割し空白データを削除する。フラッシュメモリ132は消去されると空白データ(0xFF)となるため、空白データを削除することができる。
レコード生成部111eは、データ連結部111dにより連結された実データ(連結データ)に応じた管理データを当該連結データに付加して新たなレコード(ターゲットレコード)20cまたは20dを生成する。すなわち、連結データ長に基づいてレコード長を生成し、連結データの先頭バイトを格納するアドレスを指定し、チェックサムを生成する。
このように、所定長さ以上連続する空白データが検出されないときは、データ連結部111dは、連結データ長最大値に達するまでソースレコードの実データを連結してターゲットレコードの実データを生成する。また、所定長さ以上連続する空白データが検出されたときは、データ連結部111dは、当該連続空白データの直前までの実データをこれまでに連結した実データに連結してターゲットレコードの実データとし、当該連続空白データの直後の実データを次のターゲットレコードの実データの先頭データとする。なお、連続空白データの直前の実データをこれまでに連結した実データに連結する場合にも、連結データ長最大値を超えないようにする(連結データ長最大値を超える場合には、その超える分の実データは次のターゲットレコードの実データとする)。
データ変換部111fは、データ読み込み部111aにより読み出されたレコード20aからなる更新データまたはレコード生成部111eにより生成されたレコード20dからなる更新データをアスキー形式からバイナリ形式に変換する。
記憶部112は、制御部111の作業領域や更新データの格納領域として機能し、ローカルメモリやキャッシュメモリを含んでよい。記憶部112は、電気的、磁気的あるいは光学的にデータ読み書き可能であり、例えば、半導体記憶装置(ハードディスク、メモリ)、磁気テープ、フレキシブルディスク、光磁気ディスク、光ディスクが含まれる。
通信インターフェース113は、プリンタ13bと接続するためのシリアルインターフェースやパラレルインターフェースを含む。また、ネットワーク14を介してホストコンピュータ11と接続するためのEthernet(登録商標)アダプタやモデムを含む。
入力部114は、オペレータからの入力を受け付けるものであり、キーボード、ポインティングデバイスを含む。
表示部115は、オペレータに対して、データの入力を受け付ける画面を表示したり、サーバ12bによる各種の処理結果や進捗状況を表示するものであり、液晶表示装置等のディスプレイを含む。
<プリンタの構成>
図3に示すように、プリンタ13bは主として、制御部(CPU)131、フラッシュメモリ132、RAM133、通信インターフェース134、操作ボタン135、表示部136、プリンタユニット137を備えており、これらはそれぞれバス138を介して接続されている。
制御部131は、フラッシュメモリ132に記憶されたファームウェアや各種プログラムを適宜読み出して実行し、プリンタ13bの全体の制御を司る。また、制御部131は、サーバ12bからの指示に応じて、または、ファームウェアの更新データの受信に応じて、書き換えプログラムを読み出し実行してファームウェアを書き換えるファームウェア書き換え部131aを備えている。
フラッシュメモリ132は、セクタ単位(例えば64KB単位)で、データの一括消去および書き換えが可能な不揮発性メモリである。
RAM133は、制御部131がプログラムの実行時に使用するローカルメモリやキャッシュメモリとして機能する。
通信インターフェース134は、サーバ12bと接続するための、RS−232C、USB等のシリアルインターフェースやSCSI等のパラレルインターフェースを含む。
操作ボタン135は、オペレータによる入力を受け付けるものである。
表示部136は、オペレータに対して、データの入力を受け付ける画面を表示したり、プリンタ13bによる各種の処理結果や進捗状況、あるいはステータス情報を表示するものであり、液晶表示装置やLEDを含む。
プリンタユニット137は、印刷ヘッドや用紙搬送機構を含み、制御部131の制御下で記録紙に印刷を行う。
<更新データ送信処理>
次に、プリンタ13bのフラッシュメモリ132に記憶されたファームウェアを更新するための更新データを、サーバ12bがプリンタ13bに対して送信する際の処理について、図4を参照して説明する。
まず、サーバ12bは、ファームウェア更新データ送信処理にあたり前処理を行う(ステップS101)。例えば、制御部111が、常駐させているプリンタスプーラを停止させる。次に、データ読み込み部111aが、記憶部112に格納されているモトローラS3フォーマット形式のプリンタ13b用ファームウェア更新データを1レコードごと順次読み込む(ステップS102)。更新データの終了を示すS7レコードを読み込むと(ステップS103:Yes)、読み込んだS3フォーマットの各レコードをバイナリ変換して図2(b)に示すフォーマットに変換する(ステップS104)。
アスキーコード0x30(「0」)〜0x39(「9」)と0x41(「A」)〜0X46(「F」)は、バイナリ変換によってそれぞれ0x0〜0x9と0xA〜0xFとなる。すなわち、アスキーコードをバイナリに変換することによってデータ量は半減される。なお、図2に示すとおり、タイプフィールド21を除くデータ長フィールド22、アドレスフィールド23、データフィールド24のデータがバイナリ変換され、バイナリ変換されたデータ長フィールド22、アドレスフィールド23、データフィールド24のデータに基づいてチェックサムが生成される。したがって、更新データは、図2(b)に示すように、2バイトのタイプフィールド26、1バイトのデータ長フィールド27、4バイトのアドレスフィールド28、及び1バイトのチェックサムフィールド30からなる8バイトの管理データと、最大で250バイトのデータフィールド29とで構成されるレコード20bの配列となる。以下、図2(a)に示す形式を「S3アスキーフォーマット」、図2(b)に示す形式を「S3バイナリフォーマット」と称する。
次に、空白データ検出部111bが、更新データを1レコードごと読み出しながら、データフィールド29の実データ中に、10バイト以上連続した空白データ(0xFF)が含まれているか否かを検出する(ステップS105)。なお、1レコード内だけではなく、連続するレコードの実データ内で空白データの有無を検出することが好ましい。例えば、前のレコードの実データの最後の5バイトが空白データであり、次のレコードの実データの先頭の5バイトが空白データである場合には、10バイト以上連続した空白データとして検出される。
10バイト以上連続する空白データがない場合には(ステップS105:No)、データ長比較部111cは、実データを連結した場合の連結データ長が連結データ長最大値(本例では2Kバイト)を超えるか否かを判断する(ステップS106)。すなわち、これまでに読み出されたレコードの実データ長の総和が、連結データ長最大値を超えるか否かを判断する。連結データ長が、連結データ長最大値である2Kバイトを超えない場合(ステップS106:No)、データ連結部111dは、先に読み出し(連結され)た実データと今回読み出した実データとを連結する(ステップS107)。
ここで、連結データ長最大値は、所定サイズのデータの通信に要する時間を、レコード長をパラメータとして測定し、通信時間が短く且つレコード長の長すぎない効果的で効率的なレコード長を、予め実験により求め決定している。ただ単にレコード長を長くしても、通信時間短縮の効果は上がらないばかりでなく、通信時のエラー検出に時間がかかり効率的でない。また、プリンタ13bのフラッシュメモリ132のセクタサイズ以下に設定することが好ましい。例えば、通信インターフェース113,134がRS−232CやUSBのシリアルインターフェースであれば、連結データ長最大値は2Kバイト程度が好ましいことを実験により求めている。
この場合に、インターフェース毎あるいは通信速度毎に、予め定めた連結データ長最大値をルックアップテーブルとしてサーバ12b内に格納しておき適宜に選択することが好ましい。また、サーバ12bとプリンタ13bとの間の通信速度を測定し、当該測定値に応じてそのテーブルから連結データ最大値を選択してもよい。通信速度の測定は、例えば、サーバ12bからプリンタ13bに所定サイズのデータを送信し、プリンタ13bは受信が終了した旨をサーバ12bに通知し、サーバ12bは送信開始から当該通知を受信するまでの時間を計測することにより、凡その通信速度を求めることができる。
次に、最後まで更新データを読み込んだか否かを判断する(ステップS108)。すなわち、ターミネータS7レコードを読み込んだか否かを判断し、ターミネータが読み出されるまでステップS105からステップS108の処理を繰り返し行う。
このように、実データのデータ長が2Kバイトとなるように実データを連結し、最終的に、図2(b)に示すS3バイナリフォーマット形式のレコード20bを、図2(c)に示すSCバイナリフォーマットの形式のレコード20cに変換する。ここで、SCバイナリフォーマットは出願人のオリジナル・データ形式であり、2バイトのタイプフィールド31(SC)と、2バイトのデータ長フィールド32(上位桁32a、下位桁32b)と、4バイトのアドレスフィールド33と、最大2Kバイトのデータフィールド34と、1バイトのチェックサムフィールド35で構成される。各管理データ(32,33,35)は、連結された実データに基づいて生成される。なお、S3フォーマットのターミネータであるS7レコードは、SCフォーマットのターミネータとしてSXレコードに置換される。
一方、ステップS105において、10バイト以上連続する空白データが検出されると(ステップS105:Yes)、データ連結部111dは、その連続する空白データを削除し、その空白データの直前までの実データをこれまでに連結した実データに連結する(ステップS109)。なお、削除された空白データの後に続く実データは、次のレコードとして生成される。そして、レコード生成部111eは、連結された実データに応じた管理データを生成して連結データに付加し、SCバイナリフォーマットのレコード20cを生成する(ステップS110)。
また、ステップS106において、連結データ長が2Kバイトを超える場合にも(ステップS106:Yes)、レコード生成部111eは、連結された実データに応じた管理データを生成して連結データに付加し、SCバイナリフォーマットのレコード20cを生成する(ステップS110)。また、図示は省略したが、アドレスフィールドで指定されるアドレスから前後のレコードが非連続であると判断される場合にも、新たなレコードが生成される。すなわち、1つのレコード内で実データが非連続とならないようにレコードが生成される。
ステップS108において、最後まで更新データを読み込んだと判断すると(ステップS108:Yes)、サーバ12bはプリンタ13bとの通信準備を行う(ステップS111)。例えば、インターフェース15bをオープンしたり、通信線の状態(ビジー状態か否か)を確認する。また、プリンタ13bの機種IDとファームウェアバージョンを取得して、接続されているプリンタ13bが送信しようとしている更新データの対象となるプリンタであるか否かを確認する。通信準備が整うとプリンタ13bに対して、SCバイナリフォーマットのレコード20cの配列を順次プリンタ13bに送信する(ステップS112)。
サーバ12bは、更新データの送信が終了すると、プリンタ13bによる書き換え処理終了の頃合いを計って、プリンタからファームウェアのバージョンを取得し、ファームウェア更新の成否を確認する(ステップS113)。
このように、連結データ長最大値である2Kバイトを超えない範囲で実データを連結し新たなレコード20cを生成することにより、レコードの総数を削減することができる。レコード数が削減されれば、レコード(単位データ)毎に必要となる管理データ数も削減されるので、送信データの総量が減少し、延いてはプリンタ13bに対するファームウェア更新データの通信時間を短縮することができる。
また、管理データの長さを超える連続した空白データは削除されるため、送信データの総量を減少させることができる。連結データ長が連結データ長最大値に満たなくても新たなレコード20cが生成されるため、レコード数が増加し管理データ数が増加する可能性があるが、管理データの長さを超えて連続する空白データを削除しているため、少なくとも1レコードあたり1バイト分のデータ量を削減することができる。
なお、本実施形態例においては、S3アスキーフォーマットの更新データを全て読み込んだ後に、バイナリ変換処理や、空白データの検出処理、実データの連結処理を行っているが、1レコードを読み込む度にこれらの処理を行うようにしてもよい。
<ファームウェア書き換え処理>
次に、サーバ12bからの更新データを受信したプリンタ13bが行うファームウェア書き換え処理について図5を参照して説明する。
サーバ12bの通信準備(ステップS111)と並行してプリンタ13bにおいても通信準備を行う(ステップS201)。また、フラッシュメモリのイメージが作成されるRAM133の領域(以下「イメージ領域」と称する)を初期化し0xFFデータにしておく。次に、サーバ12bから送信されるSCバイナリフォーマットの更新データを1レコードずつ順次読み込む(ステップS202)。プリンタ13bは、受信したデータに基づいてチェックサムを生成し、当該チェックサムが受信したレコードに含まれるチェックサムと一致するかを検査し、データ通信の成否を判断する(ステップS203)。一致しない場合には(ステップS203:No)、サーバ12bにエラーを通知する(ステップS204)。
チェックサムが一致し受信したレコードが正常であると判断される場合には(ステップS203:Yes)、読み出したレコード20cがターミネータSXレコードであるか否かを判断する(ステップS205)。SXレコードでなければ、アドレスフィールド33で指定されたアドレスに相当するRAM133のイメージ領域内に、データフィールド34で指定されたデータを書き込む(ステップS206)。全レコードを受信するまで上記処理(ステップS202〜S206)を繰り返し行う。
読み出したレコード20cがターミネータSXレコードであれば(ステップS205:Yes)、フラッシュメモリ132のファームウェア格納領域のデータを消去し(ステップS207)、RAM133のイメージ領域に格納されたデータをフラッシュメモリ132のファームウェア格納領域に書き込む(ステップS208)。書き込み終了後、プリンタ13bは自らをリセットし、更新されたファームウェアで再起動する(ステップS209)。この後、サーバ12bからの要求に応じて、ファームウェアバージョンを送信する。
<更新データ送信処理の変形例>
図4に示す上記実施形態では、S3アスキーフォーマットをS3バイナリフォーマットに変換した後SCバイナリフォーマットに変換したが、S3アスキーフォーマットをSCアスキーフォーマットに変換した後SCバイナリフォーマットに変換してもよい。すなわち、アスキー・バイナリ変換は、S3フォーマットをSCフォーマットに変換する前に行ってもよいし、S3フォーマットをSCフォーマットに変換した後に行ってもよい。
以下、後者の場合の更新データ送信処理を図6を参照して説明する。なお、図4に示した処理と同様の処理についての詳細な説明は省略する。図4と図6に示すとおり、バイナリ変換処理(ステップS309,S104)を実行するタイミングが異なる。また、このバイナリ変換処理の実行タイミングの相異に伴って、連結データ長最大値が異なり、前述の処理では2Kバイト(ステップS106)であったが、変形例では4Kバイトである(ステップS304)。
制御部111は前処理を行い(ステップS301)、記憶部112に格納されているモトローラS3フォーマット形式のプリンタ13b用ファームウェア更新データを1レコードごと読み込む(ステップS302)。次に、データフィールド24内の実データ中に、10バイト以上連続する空白データが含まれているか否かを判断する(ステップS303)。10バイト以上連続する空白データがない場合には(ステップS303:No)、連結データ長が連結データ長最大値(本例では4Kバイト)を超えるかを判断する(ステップS304)。連結データ長が、連結データ長最大値である4Kバイトを超えない場合(ステップS304:No)、データ連結部111dは、先に読み出した実データと今回読み出した実データとを連結する(ステップS305)。なお、ファームウェア更新用データは1レコード毎に読み出されるが、実データの連結処理(ステップS305)と連結データ長の確認処理(ステップS304)はバイト単位で行われ、実データを連結したときにその連結データ長が連結データ長最大値を超えないようにしている。次に、最後まで更新データを読み込んだか否か、すなわちターミネータ(S7レコード)を読み込んだか否かを判断し(ステップS306)、ターミネータが読み出されるまで、ステップS303からステップS306の処理を繰り返し行う。このように、実データを4Kバイト単位で再構成していく。
一方、ステップS303において、10バイト以上連続する空白データが検出されると(ステップS303:Yes)、その連続する空白データを削除し、その空白データの直前までの実データをこれまでに連結した実データに連結する(ステップS307)。そして、連結データ応じた管理データを生成して連結データに付加し、SCアスキーフォーマットのレコード20dを生成する(ステップS308)。ここで、SCアスキーフォーマットは、S3アスキーフォーマットの実データ長を4Kバイトに拡張した出願人のオリジナル・データ形式であり、2バイトのタイプフィールド36(SC)と、4バイトのデータ長フィールド37(上位桁37a、下位桁37b)と、8バイトのアドレスフィールド38と、最大4Kバイトのデータフィールド39と、2バイトのチェックサムフィールド40とで構成される。
また、ステップS304において、連結データ長が4Kバイトを超える場合にも(ステップS304:Yes)、これまでに連結した(4Kバイトの)実データに応じた管理データを生成して連結データに付加し、SCアスキーフォーマットのレコード20dを生成する(ステップS309)。
ステップS306において、最後まで更新データを読み込んだと判断すると(ステップS306:Yes)、SCアスキーフォーマットのレコード20dの配列をSCバイナリフォーマットのレコード20cの配列に変換する(ステップS309)。バイナリ変換が終了すると、サーバ12bはプリンタ13bとの通信準備を行い(ステップS310)、SCバイナリフォーマットのレコード20cの配列を順次プリンタ13bに送信する(ステップS311)。送信終了後、所定時間待機した後プリンタのファームウェアバージョンを取得し、更新処理の成否を確認する(ステップS312)。
なお本発明は、プログラム言語で作成されたファームウェアのソースコードをコンパイルしてS3アスキーフォーマットのデータを生成し、当該S3アスキーフォーマットのデータをSCバイナリフォーマットのデータに変換して周辺装置に送信するまでの一連の処理をサーバ12bに実行させるようにしてもよい。また、当該一連の処理をホストコンピュータ11に実行させ、サーバ12bを介してプリンタ13bに送信するようにしてもよい。
また、上記実施形態例においては、周辺装置によるファームウェアの更新を、ファームウェアが格納される全セクタを一括して書き換えているが、セクタ単位毎に書き換えるようにしてもよい。
1…ファームウェア書き換えシステム、11…ホストコンピュータ、12a,12b,12c…サーバ、13a1,13a2,13b,13c,13d…プリンタ、14…ネットワーク、15a1,15a2,15b,15c,15d…インターフェース、20a,20b,20c,20d…レコード、111…制御部、111a…データ読み込み部、111b…空白データ検出部、111c…データ長比較部、111d…データ連結部、111e…レコード(単位データ)生成部、111f…データ変換部、112…記憶部、113,134…通信インターフェース、131…制御部、131a…ファームウェア書き換え部、132…フラッシュメモリ、133…RAM。

Claims (11)

  1. 周辺装置のファームウェアを更新するデータであり、ソースオブジェクトデータとソース管理データとを含む第1形式の第のソースレコードおよび前記第1のソースレコードに続くのソースレコードをホスト装置で読み込み、
    前記ホスト装置は、
    読み込まれた前記第形式の前記第及び前記第のソースレコードを、第2形式の第および第のソースレコードに変換し、
    前記第3のソースレコードに含まれるソースオブジェクトデータおよび前記第のソー
    スレコードに含まれるソースオブジェクトデータに予め定められた空白データ列があるか否かを検出し、
    前記第4のソースレコードに含まれるソースオブジェクトデータに予め定められた前記空白データ列が存在する場合には、前記空白データ列を削除し、前記第3のソースレコードに含まれるソースオブジェクトデータに前記空白データ列の直前のソースオブジェクトデータ連結し、
    連結されたソースオブジェクトデータに応じた管理データを生成し、
    生成された前記管理データを連結された前記ソースオブジェクトデータに付加してターゲットレコードを生成し、
    生成された前記ターゲットレコードを周辺装置に送信することを特徴とする更新データ送信方法。
  2. 前記第1形式はアスキーコードで表現される形式であり、前記第2形式はバイナリで表現される形式である請求項1に記載の更新データ送信方法。
  3. 前記第4のソースレコードに含まれるソースオブジェクトデータに前記空白データ列が存在しない場合、前記第のソースレコードに含まれるソースオブジェクトデータと前記第のソースレコードに含まれるソースオブジェクトデータを連結したときに、予め定めたデータ長を超えるか否かを判断し、
    前記予め定めたデータ長を超えないと判断したときには、前記第のソースレコードに含まれるソースオブジェクトデータと前記第のソースレコードに含まれるソースオブジェクトデータを連結する請求項1または2に記載の更新データ送信方法。
  4. 前記予め定めたデータ長は、前記周辺装置のファームウェアが格納されるフラッシュメモリのデータ書き換え単位長さ以下である請求項3に記載の更新データ送信方法。
  5. 前記予め定めたデータ長は、前記周辺装置が接続されるインターフェースの種類に応じて設定される請求項3に記載の更新データ送信方法。
  6. 前記周辺装置との通信速度を測定し、当該測定結果に基づいて前記予め定めたデータ長は、設定される請求項3に記載の更新データ送信方法。
  7. 周辺装置のファームウェアを更新するデータであり、ソースオブジェクトデータとソース管理データとを含む第1形式の第のソースレコードおよび前記第1のソースレコードに続くのソースレコードを読み込むデータ読み込み部と、
    前記データ読み込み部で読み込まれた第の形式前記第1及び前記第のソースレコードを第の形式の第及び第のソースレコードに変換するデータ変換部と、
    前記データ変換部で変換された前記第及び前記第のソースレコードに含まれるソースオブジェクトデータに予め定めた空白データ列の有無を検出する空白データ検出部と、
    前記空白データ検出部で前記空白データ列が前記第4のソースレコードに含まれるソースオブジェクトデータに検出されたとき、前記第3のソースレコードに含まれるソースオブジェクトデータに前記空白データ列の直前のソースオブジェクトデータ連結するデータ連結部と、
    前記データ連結部で連結されたソースオブジェクトデータに応じた管理データを生成し、生成した前記管理データを連結された前記ソースオブジェクトデータに付加するレコード生成部と、を備えることを特徴とするホスト装置。
  8. 前記第1形式はアスキーコードで表現される形式であり、前記第2形式はバイナリで表現される形式である請求項7に記載のホスト装置。
  9. 前記データ連結部で前記ソースオブジェクトデータを連結したときのデータ長と、予め定めたデータ長とを比較するデータ長比較部を備える請求項7または8に記載のホスト装置。
  10. ファームウェアを更新するデータであり、ソースオブジェクトデータとソース管理データとを含む第1形式の第のソースレコードおよび前記第1のソースレコードに続くのソースレコードを読み込むデータ読み込み部、前記データ読み込み部で読み込まれた第の形式前記第1及び前記第のソースレコードを第の形式の第及び第のソースレコードに変換するデータ変換部、前記データ変換部で変換された前記第及び前記第のソースレコードに含まれるソースオブジェクトデータに予め定めた空白データ列の有無を検出する空白データ検出部、前記空白データ検出部で前記第4のソースレコードに含まれるソースオブジェクトデータに前記空白データ列が検出されたときに前記第3のソースレコードに含まれるソースオブジェクトデータに前記空白データ列の直前のソースオブジェクトデータ連結するデータ連結部、及び前記データ連結部で連結されたソースオブジェクトデータに応じた管理データを生成して前記管理データを連結された前記ソースオブジェクトデータに付加してターゲットデータを生成するレコード生成部を有するホスト装置と、
    前記ホスト装置に接続されて、前記ホスト装置から送信された前記ターゲットデータを受信し、受信された前記ターゲットデータにより前記ファームウェアが書き換えられる周辺装置と、
    を備えることを特徴とするファームウェア更新システム。
  11. 前記周辺装置は、前記ファームウェアの書き換えが終了した後、自らをリセットして更新されたファームウェアで再起動し、前記ホスト装置からの要求に応じて前記ファームウェアのバージョン情報を送信する請求項10に記載のファームウェア更新システム。
JP2012085221A 2006-07-31 2012-04-04 更新データ送信方法、ファームウェア更新システム及びホスト装置 Expired - Fee Related JP5423830B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012085221A JP5423830B2 (ja) 2006-07-31 2012-04-04 更新データ送信方法、ファームウェア更新システム及びホスト装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006207558 2006-07-31
JP2006207558 2006-07-31
JP2012085221A JP5423830B2 (ja) 2006-07-31 2012-04-04 更新データ送信方法、ファームウェア更新システム及びホスト装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2007189150A Division JP4967881B2 (ja) 2006-07-31 2007-07-20 更新データ送信方法、ファームウェア書き換えシステム及び更新データ送信プログラム

Publications (2)

Publication Number Publication Date
JP2012146329A JP2012146329A (ja) 2012-08-02
JP5423830B2 true JP5423830B2 (ja) 2014-02-19

Family

ID=38814644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012085221A Expired - Fee Related JP5423830B2 (ja) 2006-07-31 2012-04-04 更新データ送信方法、ファームウェア更新システム及びホスト装置

Country Status (4)

Country Link
US (1) US8255894B2 (ja)
EP (1) EP1903437A3 (ja)
JP (1) JP5423830B2 (ja)
CN (1) CN100557588C (ja)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080301358A1 (en) * 2004-05-25 2008-12-04 Chih-Chiang Wen Electronic device that Downloads Operational Firmware from an External Host
US20050268029A1 (en) * 2004-05-25 2005-12-01 Chih-Chiang Wen Optical Disc Drive that Downloads Operational Firmware from an External Host
US20050265266A1 (en) * 2004-05-25 2005-12-01 Chih-Chiang Wen Optical disc drive that downloads operational firmware from an external host
EP1903437A3 (en) * 2006-07-31 2008-10-22 Seiko Epson Corporation Update data transmission method, firmware writing system, and update data transmission program
JP4958692B2 (ja) * 2007-08-31 2012-06-20 キヤノン株式会社 配信装置、配信方法、及びコンピュータプログラム
US20090083475A1 (en) * 2007-09-24 2009-03-26 Mediatek Inc. Apparatus and method for updating firmware stored in a memory
JP4811486B2 (ja) * 2009-03-26 2011-11-09 ブラザー工業株式会社 プログラム、情報処理システムおよび情報処理装置
KR101383691B1 (ko) * 2010-10-25 2014-04-09 한국전자통신연구원 무선 메쉬 네트워크에서의 협력적 무선 펌웨어 업데이트 장치 및 방법
IT1402794B1 (it) * 2010-11-29 2013-09-18 Xdome S R L Dispositivo elettronico.
US8731749B2 (en) 2011-01-20 2014-05-20 GM Global Technology Operations LLC System and method for operating a vehicle cruise control system
US8989928B2 (en) * 2011-01-20 2015-03-24 GM Global Technology Operations LLC Watercraft throttle control systems and methods
US9233744B2 (en) 2011-01-20 2016-01-12 GM Global Technology Operations LLC Engine control system and method for a marine vessel
JP5932242B2 (ja) * 2011-05-20 2016-06-08 キヤノン株式会社 情報処理装置、通信方法、及びプログラム
JP5742526B2 (ja) * 2011-07-12 2015-07-01 ブラザー工業株式会社 印刷装置
US9127604B2 (en) 2011-08-23 2015-09-08 Richard Stephen Davis Control system and method for preventing stochastic pre-ignition in an engine
US9097196B2 (en) 2011-08-31 2015-08-04 GM Global Technology Operations LLC Stochastic pre-ignition detection systems and methods
US8776737B2 (en) 2012-01-06 2014-07-15 GM Global Technology Operations LLC Spark ignition to homogenous charge compression ignition transition control systems and methods
US8667486B2 (en) * 2012-06-26 2014-03-04 Google Inc. Automatic provisioning of a software platform to a device ecosystem
US9121362B2 (en) 2012-08-21 2015-09-01 Brian E. Betz Valvetrain fault indication systems and methods using knock sensing
US9133775B2 (en) 2012-08-21 2015-09-15 Brian E. Betz Valvetrain fault indication systems and methods using engine misfire
JP2014127783A (ja) * 2012-12-26 2014-07-07 Canon Inc 情報処理装置の管理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
US8973429B2 (en) 2013-02-25 2015-03-10 GM Global Technology Operations LLC System and method for detecting stochastic pre-ignition
CN103500151B (zh) * 2013-09-27 2016-06-08 深圳钱盒信息技术有限公司 一种更改外部设备固件的方法和装置
US9395970B2 (en) * 2014-09-30 2016-07-19 Sony Interactive Entertainment America Llc Method and apparatus for providing a time period for starting an application
US20160291967A1 (en) * 2015-03-30 2016-10-06 Konica Minolta Laboratory U.S.A., Inc. Method and system for updating firmware
JP2018055465A (ja) * 2016-09-29 2018-04-05 セイコーエプソン株式会社 印刷装置、及び印刷装置の制御方法
CN107193624B (zh) * 2017-06-05 2020-10-02 运城学院 一种由ascii码转化为jsc编码头文件的方法
US10409530B2 (en) 2017-12-19 2019-09-10 Kyocera Document Solutions, Inc. Printing computing device for operating a multi-function printing device
US10817233B2 (en) * 2017-12-19 2020-10-27 Kyocera Document Solutions, Inc. Printing computing device for operating a multi-function printing device
CN109766057B (zh) * 2019-01-07 2022-07-08 成都中电熊猫显示科技有限公司 固件数据处理方法及系统
CN114064532B (zh) * 2021-11-08 2022-06-17 深圳华云信息系统有限公司 一种数据处理方法、装置、电子设备及存储介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3889241A (en) * 1973-02-02 1975-06-10 Ibm Shift register buffer apparatus
GB1448866A (en) * 1973-04-13 1976-09-08 Int Computers Ltd Microprogrammed data processing systems
JPS5455132A (en) * 1977-10-12 1979-05-02 Toshiba Corp Input-output control system
JPS61236224A (ja) * 1985-04-12 1986-10-21 Hitachi Ltd デ−タ圧縮方法
US4875155A (en) * 1985-06-28 1989-10-17 International Business Machines Corporation Peripheral subsystem having read/write cache with record access
US5247646A (en) * 1986-05-15 1993-09-21 Aquidneck Systems International, Inc. Compressed data optical disk storage system
CA1309519C (en) * 1987-03-17 1992-10-27 Antonio Cantoni Transfer of messages in a multiplexed system
US5307351A (en) * 1991-08-26 1994-04-26 Universal Data Systems, Inc. Data communication apparatus for adjusting frame length and method of operating same
JPH06242894A (ja) 1993-02-16 1994-09-02 Sharp Corp プリンタにおけるデータ送信システム
US6031867A (en) * 1993-07-02 2000-02-29 Multi-Tech Systems, Inc. Modem with firmware upgrade feature
US5654702A (en) * 1994-12-16 1997-08-05 National Semiconductor Corp. Syntax-based arithmetic coding for low bit rate videophone
US6279153B1 (en) * 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US5961626A (en) * 1997-10-10 1999-10-05 Motorola, Inc. Method and processing interface for transferring data between host systems and a packetized processing system
US6438137B1 (en) * 1997-12-22 2002-08-20 Nms Communications Corporation Packet-based trunking
JPH11212908A (ja) 1998-01-30 1999-08-06 Citizen Watch Co Ltd インターフェースボックス
JP3543648B2 (ja) 1998-10-27 2004-07-14 セイコーエプソン株式会社 データ転送制御装置及び電子機器
GB2349044A (en) * 1999-04-16 2000-10-18 Emisis Infocom Group Plc Transfer of data to a PDA
US6801966B1 (en) * 1999-07-06 2004-10-05 Index Systems, Inc. Combined serial and infrared port for consumer electronic devices
US6996819B1 (en) * 1999-09-10 2006-02-07 Unisys Corporation Method for efficiently downloading SCSI and SERVO firmware to SCSI target controllers
JP2001168914A (ja) * 1999-12-10 2001-06-22 Oki Electric Ind Co Ltd 通信接続装置および通信接続方法
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US8479189B2 (en) * 2000-11-17 2013-07-02 Hewlett-Packard Development Company, L.P. Pattern detection preprocessor in an electronic device update generation system
US6988101B2 (en) * 2001-05-31 2006-01-17 International Business Machines Corporation Method, system, and computer program product for providing an extensible file system for accessing a foreign file system from a local data processing system
KR20040044182A (ko) * 2001-06-04 2004-05-27 엔시티 그룹, 인코포레이티드 통신네트워크의 유효 대역폭 증가 시스템 및 방법
CA2704252C (en) * 2001-07-26 2011-09-27 Irise System and process for interacting with a user to define a behavior of a portion of an interactive presentation
US20030163429A1 (en) * 2002-02-27 2003-08-28 Humbeutel Paul Joseph Data conversion secure transfer method and software system for court reporters and scopists
US7171659B2 (en) * 2002-03-19 2007-01-30 Sun Microsystems, Inc. System and method for configurable software provisioning
US7650510B2 (en) * 2002-04-30 2010-01-19 General Dynamics Advanced Information Systems, Inc. Method and apparatus for in-line serial data encryption
US20030210711A1 (en) * 2002-05-08 2003-11-13 Faust Albert William Data transfer method and apparatus
US6925467B2 (en) * 2002-05-13 2005-08-02 Innopath Software, Inc. Byte-level file differencing and updating algorithms
EP1376344A3 (en) * 2002-06-17 2005-08-24 Seiko Epson Corporation Apparatus and method of rewriting firmware
US7280955B2 (en) * 2002-06-18 2007-10-09 Martin Joseph B Universal system component emulator with human readable output
US7555750B1 (en) * 2002-08-22 2009-06-30 Hewlett-Packard Development Company, L.P. Update package generator employing partial predictive mapping techniques for generating update packages for mobile handsets
US20080313282A1 (en) * 2002-09-10 2008-12-18 Warila Bruce W User interface, operating system and architecture
US7525994B2 (en) * 2003-01-30 2009-04-28 Avaya Inc. Packet data flow identification for multiplexing
US7107397B2 (en) * 2003-05-29 2006-09-12 International Business Machines Corporation Magnetic tape data storage system buffer management
JP4438048B2 (ja) 2003-08-08 2010-03-24 キヤノン株式会社 周辺装置及びその周辺装置のファームウェア更新方法、プログラム
CN1890736B (zh) * 2003-12-03 2011-02-02 皇家飞利浦电子股份有限公司 节能方法与系统
JP2005196745A (ja) * 2003-12-10 2005-07-21 Ricoh Co Ltd 情報処理装置、プログラム復旧方法、プログラム復旧プログラム及び記録媒体
US7779404B2 (en) * 2004-06-10 2010-08-17 Cisco Technology, Inc. Managing network device configuration using versioning and partitioning
EP1903437A3 (en) * 2006-07-31 2008-10-22 Seiko Epson Corporation Update data transmission method, firmware writing system, and update data transmission program
JP4967881B2 (ja) * 2006-07-31 2012-07-04 セイコーエプソン株式会社 更新データ送信方法、ファームウェア書き換えシステム及び更新データ送信プログラム
US20080052699A1 (en) * 2006-08-02 2008-02-28 Baker Steven T Syncronized dual-processor firmware updates
US7996828B2 (en) * 2006-12-28 2011-08-09 Sap Ag Back-end field control for multiple software layers
US8001539B2 (en) * 2007-02-28 2011-08-16 Jds Uniphase Corporation Historical data management
US8099727B2 (en) * 2007-06-01 2012-01-17 Netapp, Inc. System and method for providing uninterrupted operation of a replication system during a software upgrade
US8185609B2 (en) * 2007-11-27 2012-05-22 The Boeing Company Method and apparatus for processing commands in an aircraft network

Also Published As

Publication number Publication date
US8255894B2 (en) 2012-08-28
CN100557588C (zh) 2009-11-04
CN101118530A (zh) 2008-02-06
US20080028387A1 (en) 2008-01-31
EP1903437A3 (en) 2008-10-22
JP2012146329A (ja) 2012-08-02
EP1903437A2 (en) 2008-03-26

Similar Documents

Publication Publication Date Title
JP5423830B2 (ja) 更新データ送信方法、ファームウェア更新システム及びホスト装置
JPWO2006011474A1 (ja) プログラマブルコントローラ用プログラム生成装置、プログラマブルコントローラ用プログラム生成方法およびその方法のプログラムを記録した記録媒体
JP2003242470A (ja) 外部接続機器及びホスト機器
CN107256134A (zh) 将pos终端虚拟为计算机打印机的方法和装置、pos终端
JP4967881B2 (ja) 更新データ送信方法、ファームウェア書き換えシステム及び更新データ送信プログラム
JP2002247252A (ja) 画像形成装置
CN113867771B (zh) 一种基于fpga的远程固件升级方法
JP4804101B2 (ja) ファームウェア更新方法及び情報処理装置
JP2002183675A (ja) データ記録媒体の制御装置とその方法、データ記録装置および制御装置
US20110082995A1 (en) Information processing apparatus
JP4325786B2 (ja) プログラムダウンロード方法
JP3975598B2 (ja) リムーバブルメディア書込装置
JP4716929B2 (ja) プログラムデバッグ支援処理装置及び通信用アダプタ並びにプログラムデバッグ支援処理プログラム
KR20010000941A (ko) 스마트미디어 카드 독출/기입 장치 및 그 방법
JP2008065507A (ja) ソフトウェアの更新データを送信する方法及びコンピュータ
JP3001213B2 (ja) プリンタ制御装置
JP6926945B2 (ja) Icカードおよびターミナル装置
JP3400920B2 (ja) プログラム読み出し装置
JP3202796B2 (ja) 出力装置
KR0159725B1 (ko) 에뮬레이션을 선택하여 설치할 수 있는 방법과 프린터
JP6125865B2 (ja) 情報処理装置、情報処理システム、および情報処理方法
CN117735257A (zh) 基于气动的样品管升降温方法、设备与存储介质
JP2005050095A (ja) 画像形成装置およびそのプログラム更新履歴管理方法
KR100937715B1 (ko) Usb 허브 장치 및 이를 이용한 usb 저장장치 통합관리 방법
JP2008033709A (ja) ソフトウェアの更新データを送信する方法及びシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120419

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120419

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130405

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: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131111

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5423830

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees