JP5786612B2 - 管理装置 - Google Patents

管理装置 Download PDF

Info

Publication number
JP5786612B2
JP5786612B2 JP2011216367A JP2011216367A JP5786612B2 JP 5786612 B2 JP5786612 B2 JP 5786612B2 JP 2011216367 A JP2011216367 A JP 2011216367A JP 2011216367 A JP2011216367 A JP 2011216367A JP 5786612 B2 JP5786612 B2 JP 5786612B2
Authority
JP
Japan
Prior art keywords
address
printer
firmware
update
packet
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.)
Active
Application number
JP2011216367A
Other languages
English (en)
Other versions
JP2013077146A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2011216367A priority Critical patent/JP5786612B2/ja
Priority to US13/626,621 priority patent/US9268553B2/en
Publication of JP2013077146A publication Critical patent/JP2013077146A/ja
Application granted granted Critical
Publication of JP5786612B2 publication Critical patent/JP5786612B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5046Resolving address allocation conflicts; Testing of addresses

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Small-Scale Networks (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

本明細書によって開示される技術は、特定デバイスに複数個のプログラムの更新を実行させる管理装置に関する。
引用文献1には、画像形成装置に複数個の更新用ファームウェアの更新を実行させるためのPCが開示されている。この技術では、PCは、画像形成装置に複数個の更新用ファームウェアを送信する。画像形成装置は、複数個の更新用ファームウェアを格納した後に、複数個の更新用ファームウェアの更新を有効化させるためのリブート動作を実行する。
特開2005−190308号公報 特開平5−250170号公報 特開2010−92322号公報
本明細書では、特定デバイスに複数個のプログラムの更新を適切に実行させ得る他の技術を提供する。
本明細書によって開示される管理装置は、ネットワークを介して特定デバイスに接続されると共に、特定デバイスに複数個のプログラムの更新を実行させる管理装置である。管理装置は、第1のプログラム送信部と、確認部と、第2のプログラム送信部と、を備える。第1のプログラム送信部は、特定デバイスの現行のIPアドレスである第1のIPアドレスを送信先として、複数個のプログラムのうちの第1のプログラムを送信する。確認部は、第1のプログラムが送信された後に、特定デバイスを識別するための第1の識別情報を用いて、特定デバイスの現行のIPアドレスである第2のIPアドレスを確認する。第2のプログラム送信部は、特定デバイスの現行のIPアドレスである第2のIPアドレスを送信先として、複数個のプログラムのうちの第2のプログラムであって、第1のプログラムとは異なる第2のプログラムを送信する。
上記の構成では、管理装置は、特定デバイスの現行のIPアドレスである第1のIPアドレスを送信先として、第1のプログラムを特定デバイスに送信した後に、第1の識別情報を用いて、特定デバイスの現行のIPアドレスである第2のIPアドレスを確認する。従って、仮に、第1のプログラムの送信後であって第2のプログラムの送信前に、特定デバイスのIPアドレスが変更されても、管理装置は、特定デバイスの現行のIPアドレスである第2のIPアドレスを送信先として、第2のプログラムを特定デバイスに適切に送信し得る。従って、管理装置は、特定デバイスに複数個のプログラムの更新を適切に実行させ得る。
なお、上記の管理装置を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するコンピュータ読取可能記録媒体も、新規で有用である。
通信システムの構成を示す。 管理プログラム処理のフローチャートを示す。 更新確認処理のフローチャートを示す。 更新リストの構成を示す。 メインファームウェア更新処理のフローチャートを示す。 サブファームウェア更新処理のフローチャートを示す。 各デバイスの動作のシーケンス図を示す。 図7の続きのシーケンス図を示す。 待機期間を説明するためのタイムチャートを示す。 第2実施例のサブファームウェア更新処理のフローチャートを示す。 第2実施例の各デバイスの動作のシーケンス図を示す。
(第1実施例)
(システムの構成:図1)
図1に示すように、通信システム2は、PC10と、プリンタ50、60(PC10の周辺機器)と、Webサーバ70と、ファイルサーバ80と、を備える。PC10及びプリンタ50、60は、LAN4に接続されている。従って、PC10は、LAN4を介してプリンタ50、60と通信可能である。また、PC10は、LAN4を介してインターネット6に接続されている。Webサーバ70及びファイルサーバ80は、インターネット6に接続されている。従って、PC10は、インターネット6を介して、Webサーバ70及びファイルサーバ80と通信可能である。
(PC10の構成)
PC10は、例えば、会社内に設置されるコンピュータであり、同じ会社内に設置される複数個のプリンタ50、60を管理する。PC10は、表示部12と、操作部14と、ネットワークインターフェイス16と、制御部20と、を備える。上記の各部12〜20は、バス線(符号省略)に接続されている。表示部12は、様々な情報を表示するためのディスプレイである。操作部14は、キーボード及びマウスによって構成されている。ユーザは、操作部14を操作することによって、様々な指示をPC10に入力することができる。ネットワークインターフェイス16は、LAN4に接続されている。
制御部20は、CPU22と、メモリ24と、を備える。CPU22は、メモリ24に格納されているプログラム30に従って、様々な処理を実行する。メモリ24は、ROM、RAM、ハードディスク等によって構成される。メモリ24は、上記のプログラム30の他に、後述のデバイスリスト32及び更新リスト34を格納可能である。プログラム30は、複数個のプリンタ50、60のそれぞれに複数個のファームウェアの更新を実行させるための管理プログラムを含む。管理プログラムは、例えば、プリンタ50、60の出荷時にプリンタ50、60と共にパッケージされているメディアから、PC10にインストールされてもよいし、プリンタ50、60のベンダによって提供されるサーバから、PC10にインストールされてもよい。
CPU22が上記の管理プログラムに従って処理を実行することによって、取得部38、確認部39、及び、送信制御部43の各機能が実現される。確認部39は、第1、第2、第3のパケット送信部40a、40b、40c、及び、判断部42を備える。送信制御部43は、第1、第2のプログラム送信部44、45、第1、第2の待機期間決定部46、47、及び、送信順序決定部48を備える。
(プリンタ50、60の構成)
プリンタ50は、図示しないCPU、メモリ、ディスプレイ、印刷実行部等を備える。プリンタ50のメモリは、ROM、RAM、ハードディスク等によって構成される。プリンタ50のROMには、複数個のファームウェアを含む各種プログラムが格納されている。プリンタ50のRAMは、各種のデータを一時的に格納するための記憶領域であり、詳しくは後述するが、例えば、PC10から受信される更新用ファームウェアを一時的に格納する。なお、RAM内の更新用ファームウェアのインストールが完了すると、当該更新用ファームウェアがRAMから消去される。
プリンタ50に格納されるファームウェアは、メインファームウェアと、サブファームウェアと、に分類される。メインファームウェアは、プリンタ50が基本的な動作を実行するためのファームウェアである。プリンタ50は、通常、1個のメインファームウェアを格納する。サブファームウェアは、プリンタ50が各種の機能(例えば、通信機能、印刷機能、表示機能等)を実行するためのファームウェアである。プリンタ50は、通常、2個以上のサブファームウェア(例えば、通信機能に対応する1個のサブファームウェア、印刷機能に対応する1個のサブファームウェア(例えばPCL/PS(Printer Control Language / Post Script))を格納する。なお、プリンタ60は、プリンタ50と同様の構成を有する。
(Webサーバ70の構成)
Webサーバ70は、プリンタ50、60のベンダによって提供されるサーバである。Webサーバ70は、プリンタ50、60を含む多数のプリンタで更新されるべき複数個のファームウェアに関する情報(以下では「最新ファームウェア情報」)を格納するサーバである。最新ファームウェア情報は、複数個のファームウェアのそれぞれについて、当該ファームウェアのファームウェア名、当該ファームウェアのタイプ、当該ファームウェアの最新バージョンの番号(以下では「最新バージョン番号」と呼ぶ)、当該ファームウェアの最新バージョンが格納されているファイルサーバ80内の位置を示すURL、及び、プリンタが当該ファームウェアの更新を完了するために必要な期間(以下では「更新期間」と呼ぶ)を含む。
(ファイルサーバ80の構成)
ファイルサーバ80は、プリンタ50、60のベンダによって提供されるサーバである。ファイルサーバ80は、更新用ファームウェア82を格納するサーバである。更新用ファームウェア82は、Webサーバ70に格納されている最新ファームウェア情報によって示される各ファームウェアの最新バージョンを含む。
プリンタ50、60のベンダは、更新用ファームウェアを開発する毎に、当該更新用ファームウェアに対応する最新ファームウェア情報をWebサーバ70に格納させると共に、当該更新用ファームウェアをファイルサーバ80に格納させる。なお、本実施例では、Webサーバ70とファイルサーバ80とが別体のサーバとして構成されているが、変形例では、Webサーバ70とファイルサーバ80とが一体のサーバとして構成されていてもよい。
(管理プログラム処理:図2)
続いて、図2を参照して、PC10の制御部20が管理プログラムに従って実行する処理の内容を説明する。図2の処理は、PC10のユーザが、管理プログラムを起動するための操作を操作部14に加えることをトリガとして、開始される。
S8において、制御部20は、デバイスリスト生成処理を実行する。S8では、取得部38(図1参照)は、プリンタのノード名及びIPアドレスを含むプリンタ情報の送信を要求するためのプリンタ情報要求パケットを、LAN4にブロードキャストする。LAN4に接続されている各プリンタ50、60は、プリンタ情報要求パケットを受信すると、当該プリンタのノード名及びIPアドレスを含む応答パケットを生成して、PC10に送信する。取得部38は、各プリンタ50、60から各応答パケットを受信することによって、各プリンタ50、60のノード名及びIPアドレスを取得する。
S8では、さらに、制御部20は、プリンタ50、60のノード名及びIPアドレスを示すデバイスリスト32(図1参照)をメモリ24内に生成して、表示部12に表示させる。ユーザは、デバイスリスト32を見ることによって、LAN4に接続されている各プリンタ50、60のノード名及びIPアドレスを知ることができる。
次いで、S10において、制御部20は、ユーザによって更新指示が入力されることを監視する。ユーザは、操作部14を操作して、表示部12に表示されているデバイスリスト32から、ファームウェアが更新されるべき1個以上のプリンタ(以下では「選択プリンタ」と呼ぶ)を選択する。次いで、ユーザは、操作部14を操作して、選択プリンタのファームウェアの更新を実行するための更新指示を入力する。この場合、制御部20は、S10でYESと判断し、S12に進む。なお、以下では、プリンタ50、60が選択プリンタである場合を例として、S12以降の処理を説明する。
(更新確認処理:図3)
S12では、制御部20は、更新確認処理(図3)を実行する。図3に示されるように、更新確認処理では、S30において、取得部38は、選択プリンタ50、60のファームウェア情報を取得する。具体的に言うと、S30では、まず、取得部38は、デバイスリスト32から、選択プリンタ50、60のうちの1個のプリンタ50のIPアドレスを特定する。次いで、取得部38は、プリンタ50のIPアドレスを送信先として、ファームウェア情報要求パケットを送信する。ファームウェア情報要求パケットは、プリンタ50が格納している複数個のファームウェアのそれぞれについて、当該ファームウェアのファームウェア名、当該ファームウェアのタイプ、及び、当該ファームウェアの現行のバージョンの番号(以下では「現行バージョン番号」と呼ぶ)を含むファームウェア情報の送信を要求するためのパケットである。
プリンタ50は、ファームウェア情報要求パケットを受信すると、プリンタ50が格納している複数個のファームウェアに対応する複数個のファームウェア情報を含む応答パケットを生成して、PC10に送信する。取得部38は、プリンタ50から応答パケットを受信することによって、プリンタ50の複数個のファームウェア情報を取得する。
S30では、さらに、制御部20は、プリンタ50の複数個のファームウェア情報を更新リスト34(図4参照)に書き込む。まず、制御部20は、デバイスリスト32から、プリンタ50のノード名「P50」及びIPアドレス「A1」を特定して、更新リスト34に書き込む。次いで、制御部20は、プリンタ50の複数個のファームウェア情報のそれぞれについて、当該ファームウェア情報に含まれるファームウェア名(例えば「F1」)、タイプ(例えば「MAIN」)、及び、現行バージョン番号(例えば「1.0」)を書き込む。なお、メインファームウェアのタイプは、「MAIN」と記述され、第1の機能(例えば通信機能)に対応するサブファームウェアのタイプは、「1stSUB」と記述され、第2の機能(例えば印刷機能)に対応するサブファームウェアのタイプは、「2ndSUB」と記述される。なお、この時点では、更新リスト34の最新バージョン番号(図4の「新Ver.」)、URL、更新期間、状態、及び、IP確認フラグは、書き込まれない。
取得部38は、プリンタ60についても同様の処理を実行することによって、プリンタ60の複数個のファームウェア情報を取得して、更新リスト34に書き込む。なお、更新リスト34に書き込まれるプリンタ60のノード名、IPアドレス(即ち、デバイスリスト32から特定されるプリンタ60のノード名、IPアドレス)は、それぞれ、「P60」、「A2」である。
次いで、S32では、制御部20は、更新リスト34から1個のファームウェア情報を特定する。次いで、S34では、制御部20は、特定されたファームウェア情報(即ち、ファームウェア名、タイプ、及び、現行バージョン番号)を含む情報パケットをWebサーバ70に送信する。
Webサーバ70は、PC10から情報パケットを受信すると、情報パケットに含まれるファームウェア名及びタイプに対応する最新ファームウェア情報(以下では「特定の最新ファームウェア情報」と呼ぶ)を、Webサーバ70のメモリから特定する。次いで、Webサーバ70は、情報パケットに含まれる現行バージョン番号と、特定の最新ファームウェア情報に含まれる最新バージョン番号と、を比較する。現行バージョン番号が最新バージョン番号に一致する場合には、Webサーバ70は、PC10に「更新なし」を示す情報を送信する。一方、現行バージョン番号が最新バージョン番号に一致しない場合(即ち、現行バージョンが最新バージョンでない場合)には、Webサーバ70は、特定の最新ファームウェア情報(即ち、ファームウェア名、タイプ、最新バージョン番号、URL、更新期間)を含む更新情報をPC10に送信する。
S36では、制御部20は、Webサーバ70から更新情報を取得したか否かを判断する。Webサーバ70から「更新なし」を示す情報が受信される場合には、制御部20は、S36でNOと判断し、S38をスキップしてS40に進む。この際に、制御部20は、S32で特定された1個のファームウェア情報を、更新リスト34から削除する。一方、Webサーバ70から更新情報が受信される場合には、制御部20は、S36でYESと判断し、S38に進む。
S38では、制御部20は、Webサーバ70から取得された更新情報(即ち特定の最新ファームウェア情報)に含まれる最新バージョン番号(例えば「1.1」)、URL(例えば「aaa」)、及び、更新期間(例えば「4(min)」)のそれぞれを、S32で特定された1個のファームウェア情報に対応付けて、更新リスト34に書き込む。
次いで、S40では、制御部20は、更新リスト34の全てのファームウェア情報がS32で特定されたか否か判断する。S40でYESの場合、S42に進む。S40でNOの場合、制御部20は、S32に戻って他のファームウェア情報を特定し、S34〜S38の処理を再度実行する。図3の更新確認処理の開始時に更新リスト34に書き込まれていた各ファームウェア情報について、S32〜S38の処理が実行されることによって、更新の必要がないファームウェアに対応するファームウェア情報が、更新リスト34から削除され、更新の必要があるファームウェアに対応するファームウェア情報のみが、更新リスト34に維持される。なお、以下では、更新リスト34に含まれる1行分の情報のことを「組合せ情報」と呼ぶ。
S42では、送信順序決定部48(図1参照)は、更新リスト34内の複数個の組合せ情報102〜110を、タイプに従ってソートする。具体的には、送信順序決定部48は、まず、タイプ「MAIN」を含む組合せ情報102、104が、上位の順番になり、タイプ「SUB」を含む組合せ情報106〜110が、下位の順番になるように、ソートを実行する。さらに、送信順序決定部48は、タイプ「SUB」を含む組合せ情報106〜110の中では、第1の機能に対応するタイプ「1stSUB」を含む組合せ情報106、108が、上位の順番になり、第2の機能に対応するタイプ「2ndSUB」を含む組合せ情報110が、下位の順番になるように、ソートを実行する。
次いで、S44では、送信順序決定部48は、さらに、更新リスト34内の複数個の組合せ情報102〜110を、タイプ毎に、ノード名に従ってソートする。なお、本実施例では、送信順序決定部48は、各ノード名(即ち各プリンタ)のアルファベット順(アルファベットが同じ場合には、その後に続く数字の昇順)に従って、ソートを実行する。即ち、送信順序決定部48は、ノード名「P50」が上位の順番であり、ノード名「P60」が下位の順番になるように、ソートを実行する。従って、送信順序決定部48は、タイプ「MAIN」を含む2個以上の組合せ情報102、104の中で、ノード名「P50」を含む組合せ情報102が、上位の順番になり、ノード名「P60」を含む組合せ情報104が、下位の順番になるように、ソートを実行する。送信順序決定部48は、タイプ「1stSUB」を含む組合せ情報106、108についても、同様に、組合せ情報106が上位の順番になり、組合せ情報108が下位の順番になるように、ソートを実行する。
S42及びS44の処理の結果、図4に示されるような順序で、各組合せ情報102〜110が並んでいる更新リスト34が完成する。なお、この時点では、更新リスト34内の状態及びIP確認フラグには、情報が書き込まれていない。なお、S44において、変形例では、送信順序決定部48は、図2のS10でユーザが選択プリンタを選択した順に従って、ソートを実行してもよい。例えば、図2のS10において、ユーザが、プリンタ60を先に選択し、プリンタ50を後に選択した場合には、S44において、送信順序決定部48は、組合せ情報104が上位の順番になり、組合せ情報102が下位の順番になるように、ソートを実行すると共に、組合せ情報108が上位の順番になり、組合せ情報106が下位の順番になるように、ソートを実行してもよい。S44を終えると、更新確認処理が終了する。
(メインファームウェア更新処理:図5)
図2のS12の更新確認処理が終了すると、S14のメインファームウェア更新処理に進む。図5に示されるように、メインファームウェア更新処理では、S50において、送信制御部43(図1参照)は、更新リスト34(図4)から、タイプ「MAIN」を含む1個の組合せ情報を特定する。送信制御部43は、図3のS42、S44で決定された順番に従って、1個の組合せ情報を特定する。即ち、送信制御部43は、1回目のS50では、順番「1」の組合せ情報102を特定し、2回目のS50では、順番「2」の組合せ情報104を特定する。
次いで、S52では、取得部38は、S50で特定された組合せ情報に含まれるURL(例えば、組合せ情報102に含まれるURL「aaa」)に従って、ファイルサーバ80に問合せを行い、ファイルサーバ80から、更新用メインファームウェア(例えば、ファームウェア名「F1」を有するファームウェアの最新バージョン「1.1」)をダウンロードする。
次いで、S54では、第1のプログラム送信部44(図1参照)は、S50で特定された組合せ情報(例えば、組合せ情報102)に含まれるIPアドレス(例えば、「A1」)を送信先として、S52でダウンロードされた更新用メインファームウェアを送信する。この結果、送信先のプリンタ(例えば、プリンタ50)は、更新用メインファームウェアを受信する。
なお、送信先のプリンタは、更新用メインファームウェアを受信すると、受信完了通知をPC10に送信し、さらに、更新用メインファームウェアをRAMに一時的に格納する。次いで、プリンタは、更新用メインファームウェアのインストール処理を実行する。インストール処理は、RAM内の更新用メインファームウェアを用いて、ROM内の既存のメインファームウェアに変更を加える処理である。プリンタは、更新用メインファームウェアのインストール処理を終了すると、RAM内の更新用メインファームウェアを消去する。次いで、プリンタは、再起動を実行する。この結果、更新用メインファームウェアの更新が完了する。
なお、プリンタのIPアドレスが、図示しないDHCPサーバから割り当てられる場合において、プリンタは、再起動時に、該DHCPサーバからIPアドレスを再取得する。DHCPサーバから送信先のプリンタに割り当てられるIPアドレスには、有効期限が設定されている。従って、送信先のプリンタに割り当てられたIPアドレスの有効期限が過ぎた後に、プリンタが再起動される場合には、再起動の前後でIPアドレスが変更される。
S56では、送信制御部43は、送信先のプリンタから、受信完了通知を受信することを監視する。第1のプログラム送信部44は、受信完了通知を受信すると、S56でYESと判断し、S58に進む。
S58では、送信制御部43は、状態「OK」が記述されていない複数個の組合せ情報102〜110のうち、S50で特定された組合せ情報(例えば、組合せ情報102)に含まれるIPアドレス(例えば、「A1」)と同じIPアドレスを含む他の組合せ情報(例えば、組合せ情報106)にIP確認フラグ「ON」を追加する。即ち、IP確認フラグ「ON」は、プリンタにメインファームウェアが送信された場合に追加される。プリンタにメインファームウェアが送信されなかった場合には、IP確認フラグ「ON」は追加されない。IP確認フラグ「ON」は、IP確認フラグ「ON」を含む組合せ情報に従って、ファームウェアの更新が実行されるべき際に、ファームウェアの送信先のプリンタのIPアドレスを確認することを指示するフラグである。さらに、送信制御部43は、S50で特定された組合せ情報(例えば、組合せ情報102)に状態「OK」を追加する。状態「OK」は、ファームウェアの送信が完了したことを示す。
次いで、S60では、送信制御部43は、更新リスト34から、ファームウェアタイプ「MAIN」を含む全ての組合せ情報を特定したか否かを判断する。S60でNOの場合、S50に戻り、送信制御部43は、更新リスト34内の順番に従って、他の1個の組合せ情報(例えば、組合せ情報104)を特定して、S52〜S60の処理を再度実行する。一方、S60でYESの場合、メインファームウェア更新処理が終了する。
(サブファームウェア更新処理:図6)
図2のS14のメインファームウェア更新処理が終了すると、S16のサブファームウェア更新処理に進む。1個のサブファームウェアのタイプに従って、1回のS16の処理が実行される。例えば、S14のメインファームウェア更新処理が終了した直後のS16の処理(即ち、1回目のS16の処理)は、更新リスト34の順番に基づいて、サブファームウェアのタイプ「1stSUB」に従って実行される。そして、2回目のS16の処理は、サブファームウェアのタイプ「2ndSUB」に従って実行される。以下では、S16の処理の対象のサブファームウェアのタイプのことを「対象のタイプ」と呼ぶ。
図6に示されるように、サブファームウェア更新処理では、S70において、第1の待機期間決定部46(図1参照)は、メインファームウェアの送信後、サブファームウェアの送信を開始するまでの待機期間を決定する。具体的に言うと、S70では、第1の待機期間決定部46は、ファームウェアタイプ「MAIN」を含む複数個の組合せ情報102、104に含まれる複数個の更新期間(例えば、「4(min)」、「2(min)」)のうち、最長の期間を示す更新期間(例えば、「4(min)」)を、待機期間として決定する。S70では、さらに、送信制御部43は、タイマのカウントを開始する。このように、送信制御部43は、メインファームウェア更新処理(図5)を終了した後のタイミング、即ち、メインファームウェア更新処理(図5)において、最後の送信対象であるプリンタに更新用メインファームウェアを送信した後のタイミングから、待機期間の経過を待つ。従って、本実施例では、送信制御部43が、待機期間の経過を待つことによって、各プリンタ50、60でインストールが完了した後のタイミングで、確実に、各プリンタ50、60にファームウェアを送信することができる。
次いで、S72では、送信制御部43は、S70でカウントが開始されたタイマの値が、S70で決定された待機期間(例えば、「4(min)」)を経過することを監視する。タイマの値が待機期間を経過すると、送信制御部43は、S72でYESと判断し、S74に進む。
S74では、送信制御部43は、更新リスト34から、対象のタイプ(例えば、「1stSUB」)を含む1個の組合せ情報を特定する。例えば、対象のタイプが「1stSUB」である場合には、送信制御部43は、1回目のS74では、順番「3」の組合せ情報106を特定し、2回目のS74では、順番「4」の組合せ情報108を特定する。ところで、上述したように、プリンタのIPアドレスが図示しないDHCPサーバから割り当てられる場合において、プリンタのIPアドレスは、メインファームウェアの更新のための再起動時に、変更され得る。そのため、以下のS76、S78、S80の処理を実行する。
S76では、送信制御部43は、S74で特定された組合せ情報のIP確認フラグが「ON」であるか否か判断する。S74で特定された組合せ情報のIP確認フラグが「ON」である場合(S76でYESの場合)には、S78に進む。一方、S74で特定された組合せ情報のIPフラグが「ON」でない場合(S76でNOの場合)には、S78及びS80をスキップしてS82に進む。なお、S76でNOの場合は、例えば、S74で特定された組合せ情報に含まれるノード名を有するプリンタにおいて、メインファームウェアの更新が行われなかった場合である。
S78及びS80では、確認部39(図1参照)は、名前解決処理を実行する。具体的に言うと、S78では、第1のパケット送信部40a(図1参照)は、S74で特定された組合せ情報(例えば、組合せ情報106)に含まれるノード名(例えば、「P50」)を含むIPアドレス要求パケットを、LAN4にブロードキャストする。IPアドレス要求パケットは、IPアドレス要求パケットの送信先のプリンタに対して、当該プリンタを識別するためのノード名が、IPアドレス要求パケットに含まれるノード名に一致する場合に、当該プリンタの現行のIPアドレスを含む応答パケットの送信を要求するためのパケットである。即ち、IPアドレス要求パケットは、IPアドレス要求パケットに含まれるノード名を有するプリンタからの応答パケットの送信を要求するためのパケットである。S78では、第1のパケット送信部40aは、応答パケットを受信する。
上記の通り、プリンタのIPアドレスは、メインファームウェアの更新のための再起動時に、変更され得る。そのため、S74で特定された組合せ情報に含まれるIPアドレスと、応答パケットに含まれるIPアドレスと、は異なり得る。確認部39は、2つのIPアドレスが一致するのか否かを判断することによって、サブファームウェアの送信先のプリンタの現行のIPアドレスを確認する。2つのIPアドレスが異なる場合には、S80において、確認部39は、S74で特定された組合せ情報に含まれるIPアドレス(例えば、組合せ情報108に含まれる「A2」)を、応答パケットに含まれるIPアドレス(例えば、「A3」)に更新する。なお、この際に、確認部39は、S74で特定された組合せ情報に含まれるノード名を含む他の組合せ情報に含まれるIPアドレス(例えば、組合せ情報110に含まれる「A2」)も、応答パケットに含まれるIPアドレスに更新する(例えば、「A3」)。なお、2つのIPアドレスが一致する場合には、確認部39は、S80の更新処理を実行しない。S80を終えると、S82に進む。
S82では、取得部38は、S74で特定された組合せ情報に含まれるURL(例えば、組合せ情報106に含まれるURL「ccc」)に従って、ファイルサーバ80に問合せを行い、ファイルサーバ80から、更新用サブファームウェア(例えば、ファームウェア名「F2」を有するファームウェアの最新バージョン「2.1」)をダウンロードする。
次いで、S84では、第2のプログラム送信部45(図1参照)は、S80が実行されなかった場合には、S74で特定された組合せ情報に含まれるIPアドレスを送信先として、S82でダウンロードされた更新用サブファームウェアを送信する。上述したように、S80において、S74で特定された組合せ情報に含まれるIPアドレスが更新され得る。S80が実行された場合には、第2のプログラム送信部45は、更新後のIPアドレス(即ち、更新用サブファームウェアの送信先のプリンタの変更後のIPアドレス)を送信先として、更新用サブファームウェアを送信する。
更新用メインファームウェアの場合と同様に、送信先のプリンタは、更新用サブファームウェアを受信すると、PC10に受信完了通知を送信すると共に、インストール処理を実行する。次いで、プリンタは、再起動を実行する。この結果、更新用サブファームウェアの更新が完了する。この再起動時に、プリンタのIPアドレスが変更され得る。
S86及びS88は、図5のS56及びS58と同様である。この結果、S88では、状態「OK」が記述されていない複数個の組合せ情報102〜110のうち、S74で特定された組合せ情報(例えば、組合せ情報108)に含まれるIPアドレス(例えば「A2」)と同じIPアドレスを含む他の組合せ情報(例えば、組合せ情報110)にIP確認フラグ「ON」が追加される。
次いで、S90では、送信制御部43は、更新リスト34から、対象のタイプ(例えば、「1stSUB」)を含む全ての組合せ情報(例えば、組合せ情報106、108)を特定したか否かを判断する。S90でNOの場合、S74に戻り、送信制御部43は、他の1個の組合せ情報(例えば、組合せ情報108)を特定して、S76〜S88の処理を再度実行する。一方、S90でYESの場合、サブファームウェア更新処理が終了する。
図2のS16のサブファームウェア更新処理が終了すると、S18において、制御部20は、サブファームウェア更新処理が実行されていないタイプ(例えば、「2ndSUB」)が存在するか否か判断する。S18でNOの場合には、図2の管理プログラム処理が終了する。一方、S18でYESの場合には、制御部20は、S16に戻って、新たな対象のタイプに従って、サブファームウェア更新処理を再度実行する。
例えば、2回目のサブファームウェア更新処理が実行される場合には、図6のS70では、第1の待機期間決定部46は、1回目のファームフェア更新処理の対象のタイプ(例えば、「1stSUB」)を含む複数個の組合せ情報106、108に含まれる複数個の更新期間(例えば、「3(min)」、「3(min)」)のうち、最長の期間を示す更新期間(「3(min)」)を待機期間として決定し、タイマのカウントを開始する。このように、送信制御部43は、1回目のサブファームウェア更新処理を終了した後のタイミング、即ち、1回目のサブファームウェア更新処理において、最後の送信対象であるプリンタに更新用サブファームウェアを送信した後のタイミングから、待機期間の経過を待つ。
(本実施例の各デバイスによって実行される処理:図7、図8、図9(a))
図7に示すように、ユーザが、PC10の操作部14を操作して、管理プログラムを起動させるための操作を行うと、PC10は、プリンタ情報要求パケットを、LAN4にブロードキャストする(図2のS8)。プリンタ50は、プリンタ情報要求パケットを受信すると、プリンタ情報(「P50、A1」)を含む応答パケットを生成して、PC10に送信する。同様に、プリンタ60は、プリンタ情報要求パケットを受信すると、プリンタ情報(「P60、A2」)を含む応答パケットを生成して、PC10に送信する。PC10は、プリンタ50、60から応答パケットを受信すると、デバイスリスト32(図1参照)を生成する。
その後、ユーザは、操作部14を操作して、プリンタ50、60にファームウェアの更新を実行させるための更新指示を入力する(図2のS10でYES)。この場合、PC10は、プリンタ50のIPアドレス「A1」を送信先として、ファームウェア情報要求パケットを送信する(図3のS30)。プリンタ50は、2個のファームウェア情報(「F1、MAIN、1.0」、「F2、1stSUB、2.0」)を含む応答パケットをPC10に送信する。
次いで、PC10は、プリンタ60のIPアドレス「A2」を送信先として、ファームウェア情報要求パケットを送信する(図3のS30)。プリンタ60は、3個のファームウェア情報(「F3、MAIN、1.4」、「F4、1stSUB、2.2」、「F5、2ndSUB、3.0」)を含む応答パケットをPC10に送信する。PC10は、プリンタ50、60から取得した5個のファームウェア情報を更新リスト34に書き込む。
次いで、PC10は、Webサーバ70にファームウェア情報を送信し、Webサーバ70から、各ファームウェア情報の更新情報を取得する(図3のS32〜S38)。次いで、PC10は、更新リスト34内の各組み合わせ情報102〜110を、ファームウェアタイプに従ってソートし、次いで、ノード名に従ってソートする(図3のS42、S44)。ソートによって、各ファームウェアのプリンタ50、60への送信順序が決定される。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から、順番「1」の組合せ情報102に含まれるファームウェア名「F1」を有する更新用メインファームウェアの最新バージョン「1.1」をダウンロードする(図5のS52)。次いで、PC10は、プリンタ50のIPアドレス「A1」を送信先として、更新用メインファームウェア「F1」を送信する(図5のS54)。
プリンタ50は、「F1」を受信すると、「F1」のインストール処理を実行する。プリンタ50は、インストール処理が完了すると、プリンタ50を再起動する。これにより、プリンタ50において、「F1」の更新が終了する。図4の組合せ情報102の更新期間に示されるように、「F1」の更新(即ち、インストール処理と再起動)には、通常、4分を要する。プリンタ50は、再起動時に、DHCPサーバからIPアドレスを再取得する。図7の例では、プリンタ50が再取得するIPアドレスは「A1」であり、プリンタ50の再起動の前後で、プリンタ50のIPアドレスは変更されていない。
同様に、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から、順番「2」の組合せ情報104に含まれるファームウェア名「F3」を有する更新用メインファームウェアの最新バージョン「1.5」をダウンロードする(図5のS52)。次いで、PC10は、プリンタ60のIPアドレス「A2」を送信先として、更新用メインファームウェア「F3」を送信する(図5のS54)。
上記プリンタ50の場合と同様に、プリンタ60は、「F3」のインストール処理が完了すると、プリンタ60を再起動する。「F3」の更新には、通常、2分を要する(図4参照)。プリンタ60は、再起動時に、DHCPサーバからIPアドレスを再取得する。図7の例では、プリンタ60が再取得するIPアドレスは「A3」であり、プリンタ60の再起動の前後で、プリンタ60のIPアドレスが変更されている。これにより、メインファームウェア更新処理(図5)が終了する。
図9(a)に示すように、PC10は、プリンタ50に「F1」を送信し、プリンタ60に「F3」を送信すると、ファームウェアタイプ「MAIN」を含む組合せ情報102、104に含まれる更新期間「4分」、「2分」のうち、最長の期間を示す更新期間「4分」を、待機期間として決定し、タイマのカウントを開始する(図6のS70)。このように、本実施例では、PC10は、メインファームウェア更新処理(図5)において、最後の送信対象であるプリンタ60に「F3」を送信した後のタイミングから、待機期間の経過を待つ。そして、待機期間「4分」が経過すると(図6のS72でYES)、PC10は、プリンタ50への更新用サブファームウェア「F2」の送信、及び、プリンタ60への更新用サブファームウェア「F4」の送信を開始する。
上述したように、プリンタ50は、通常、「F1」の更新に4分を要する。そして、PC10は、待機期間4分が経過してから、プリンタ50への更新用サブファームウェア「F2」の送信を開始する。このために、プリンタ50は、「F2」を受信するまでに、「F1」の更新を完了させることができる。また、プリンタ60は、通常、「F3」の更新に2分を要する。従って、プリンタ60は、「F4」を受信するまでに、「F3」の更新を完了させることができる。
仮に、プリンタ50が、PC10から「F1」と「F2」を続けて受信する場合、プリンタ50のRAMに「F1」と「F2」との両方を同時的に格納する必要がある。このような場合に、プリンタ50のRAMの容量が充分でないと、「F1」と「F2」を同時的に格納できない可能性がある。また、仮に、プリンタ50のRAMに「F1」と「F2」を同時的に格納できたとしても、「F1」と「F2」のインストール処理を同時的に実行するのは困難である。これに対し、本実施例によると、プリンタ50は、「F2」を受信するまでに、「F1」の更新を完了させることができるために、RAMに「F1」と「F2」との両方を同時的に格納せずに済む。同様に、プリンタ60は、「F4」を受信するまでに、「F3」の更新を完了させることができる。即ち、プリンタ50、60は、メモリの容量が小さい場合であっても、メモリを効率的に利用しながら、各ファームウェアの更新を適切に実行することができる。
図8に示すように、1回目のサブファームウェア更新処理(図6)において、PC10は、順番「3」の組合せ情報106に含まれるノード名「P50」を含むIPアドレス要求パケットを、LAN4にブロードキャストする(図6のS78)。ノード名「P50」を有するプリンタ50は、IPアドレス要求パケットを受信すると、プリンタ50の現行のIPアドレス「A1」を含む応答パケットをPC10に送信する。なお、ノード名「P60」を有するプリンタ60は、IPアドレス要求パケットを受信しても、応答パケットを送信しない。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から、ファームウェア名「F2」を有する更新用サブファームウェアの最新バージョン「2.1」をダウンロードする(図6のS82)。次いで、PC10は、プリンタ50のIPアドレス「A1」を送信先として、更新用サブファームウェア「F2」を送信する(図6のS84)。
プリンタ50は、「F2」のインストール処理が完了すると、プリンタ50を再起動する。「F2」の更新には、通常、3分を要する(図4参照)。なお、図8の例では、プリンタ50が再取得するIPアドレスは「A1」であり、プリンタ50の再起動の前後で、プリンタ50のIPアドレスは変更されていない。
次いで、PC10は、順番「4」の組合せ情報108に含まれるプリンタ60のノード名「P60」を含むIPアドレス要求パケットを、LAN4にブロードキャストする(図6のS78)。ノード名「P60」を有するプリンタ60は、IPアドレス要求パケットを受信すると、プリンタ60の現行のIPアドレス「A3」を含む応答パケットを送信する。この場合、PC10は、ノード名「P60」を含む組合せ情報108、110のIPアドレスを、「A2」から「A3」に更新する(図6のS80)。この構成によると、PC10は、プリンタ60の現行のIPアドレス(即ち、変更後のIPアドレス)「A3」を適切に確認することができる。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から、ファームウェア名「F4」を有する更新用サブファームウェアの最新バージョン「2.3」をダウンロードする(図6のS82)。次いで、PC10は、プリンタ60のIPアドレス「A3」を送信先として、更新用サブファームウェア「F4」を送信する(図6のS84)。この構成によると、「F3」の送信後であって「F4」の送信前に、プリンタ60のIPアドレスが変更されても、PC10は、変更後のIPアドレス「A3」を送信先として、「F4」をプリンタ60に適切に送信することができる。
次いで、プリンタ60は、「F4」のインストール処理が完了すると、プリンタ60を再起動する。「F4」の更新には、通常、3分を要する。図8の例では、プリンタ60が再取得するIPアドレスは「A3」であり、プリンタ60の再起動の前後で、プリンタ60のIPアドレスは変更されていない。これにより、1回目のサブファームウェア更新処理(図6)が終了する。
図9(a)に示すように、PC10は、プリンタ50に「F2」を送信し、プリンタ60に「F4」を送信すると、ファームウェアタイプ「1stSUB」を含む組合せ情報106、108に含まれる更新期間「3(min)」、「3(min)」のうち、最長の期間を示す更新期間「3(min)」を、待機期間として決定し、タイマのカウントを開始する(図6のS70)。このように、本実施例では、PC10は、1回目のサブファームウェア更新処理(図6)において、最後の送信対象であるプリンタ60に「F4」を送信した後のタイミングから、待機期間の経過を待つ。そして、待機期間「3(min)」が経過すると(図6のS72でYES)、PC10は、プリンタ60への更新用サブファームウェア「F5」の送信処理を開始する。このために、プリンタ60は、「F5」を受信するまでに、「F4」の更新を完了させることができる。従って、プリンタ60は、メモリを効率的に利用しながら、各ファームウェアの更新を実行することができる。
図8に示すように、2回目のファームウェア更新処理(図6)において、PC10は、タイプ「2ndSUB」を含む組合せ情報110に含まれるプリンタ60のノード名「P60」を含むIPアドレス要求パケットを、LAN4にブロードキャストする(図6のS78)。その後、上記と同様に、PC10は、更新用サブファームウェア「F5」をダウンロードし(図7のS82)、プリンタ60のIPアドレス「A3」を送信先として、更新用サブファームウェア「F5」を送信する。これにより、上記と同様に、プリンタ60は、「F5」の更新を実行する。
(本実施例の効果)
上述したように、本実施例では、図7、図8に示すように、PC10は、プリンタ60のIPアドレス「A2」を送信先として「F3」を送信した後に、ノード名「P60」を用いて、プリンタ60の変更後のIPアドレス「A3」を確認する。従って、「F3」の送信後であって「F4」の送信前に、プリンタ60のIPアドレスが変更される場合に、PC10は、プリンタ60の現行のIPアドレス「A3」を送信先として、「F4」を適切に送信し得る。従って、PC10は、プリンタ60に複数個のファームウェア「F3」、「F4」の更新を適切に実行させることができる。
また、本実施例では、図2に示すように、PC10は、メインファームウェア更新処理(図5)が終了した後に、サブファームウェア更新処理(図6参照)を実行する。即ち、PC10は、プリンタ50への「F1」の送信から、「F2」の送信までの間に、プリンタ60への「F3」の送信を実行することができる。このために、プリンタ50への「F1」の送信から「F2」の送信までの期間が長くなり得る。このために、プリンタ50は、「F2」を受信するまでに、「F1」の更新を完了させることができる。同様に、PC10は、プリンタ60への「F3」の送信から、「F4」の送信までの間に、プリンタ50への「F2」の送信を実行することができる。このために、プリンタ60への「F3」の送信から「F4」の送信までの期間が長くなり得る。このために、プリンタ60は、「F4」を受信するまでに、「F3」の更新を完了させることができる。従って、プリンタ50、60は、PC10から「F2」、「F4」を受信するまでに、更新用ファームウェアを一時的に格納するためのRAMから、更新が完了した「F1」、「F3」を消去することができる。従って、プリンタ50は、「F1」と「F2」とをRAMに同時的に格納せずに済み、プリンタ60は、「F3」と「F4」とをRAMに同時的に格納せずに済む。このように、本実施例によると、プリンタ50、60のメモリ容量が充分でない場合であっても、プリンタ50、60が、メモリを効率的に利用しながら、各ファームウェアの更新を実行することができる。従って、PC10は、複数個のプリンタ50、60のそれぞれに、複数個のファームウェアの更新を適切に実行させることができる。
(対応関係)
本実施例と本発明の対応関係を説明する。PC10、プリンタ60が、それぞれ、「管理装置」、「特定デバイス」の一例である。ファームウェア「F2」、「F4」が、それぞれ、「第1のプログラム」、「第2のプログラム」の一例である。プリンタ60の変更前のIPアドレス「A2」、プリンタ60の変更後のIPアドレス「A3」が、それぞれ、「第1のIPアドレス」、「第2のIPアドレス」の一例である。IPアドレス要求パケット、IPアドレス要求パケットに対する応答パケットが、それぞれ、「第1の要求パケット」、「第1の応答パケット」の一例である。また、プリンタ60のノード名「P60」が、「第1の識別情報」の一例である。
(第2実施例)
第1実施例と異なる点を中心に説明する。第2実施例では、図2のS8のデバイスリスト生成処理において、取得部38によって各プリンタ50、60から取得される各プリンタ情報は、ノード名及びIPアドレスの他に、各プリンタ50、60の他の識別情報を含む。本実施例では、他の識別情報の一例として、シリアルナンバー(製品番号)が利用される。シリアルナンバーは、ノード名及びIPアドレスと関連付けて、デバイスリスト32、及び、更新リスト34に格納される。なお、以下では、他の識別情報のことを単に「識別情報」と呼ぶ。
本実施例では、図3の更新確認処理の内容は、第1実施例と同様である。また、本実施例では、図5のメインファームウェア更新処理の内容は、第1実施例とほぼ同様である。ただし、本実施例では、図5のS58の処理の内容の一部が第1実施例と異なる。
即ち、上述の通り、図5のS58では、送信制御部43は、IP確認フラグ「ON」を追加する処理を実行する。それに加えて、本実施例では、図5のS58において、さらに、第2の待機期間決定部47(図1参照)は、S50で特定された組合せ情報に含まれる更新期間を、当該組合せ情報に含まれるノード名を有するプリンタのための待機期間として決定し、当該プリンタのためのタイマのカウントを開始する。従って、1回目のS58では、第2の待機期間決定部47(図1参照)は、S50で特定された組合せ情報102に含まれる更新期間「4(min)」を、プリンタ50のための待機期間として決定し、プリンタ50のためのタイマのカウントを開始する。即ち、送信制御部43は、プリンタ50に「F1」を送信した後のタイミングから、プリンタ50のための待機期間の経過を待つ。また、2回目のS58では、第2の待機期間決定部47は、S50で特定された組合せ情報104に含まれる更新期間「2(min)」を、プリンタ60のための待機期間として決定し、プリンタ60のためのタイマのカウントを開始する。即ち、送信制御部43は、プリンタ60に「F3」を送信した後のタイミングから、プリンタ60のための待機期間の経過を待つ。
(サブファームウェア更新処理:図10)
本実施例では、図6のサブファームウェア更新処理に代えて、図10のサブファームウェア更新処理が実行される。図10に示されるように、S120では、送信制御部43は、対象のタイプ(例えば、「1stSUB」)を含む1個の組合せ情報を特定する。即ち、1回目のサブファームウェア更新処理において、送信制御部43は、1回目のS120では、順番「3」の組合せ情報106を特定し、2回目のS120では、順番「4」の組合せ情報108を特定する。
次いで、S122では、送信制御部43は、S120で特定された組合せ情報(例えば、組合せ情報106)に含まれるノード名(例えば、「P50」)を有する対象プリンタ(例えば、プリンタ50)のためのタイマの値が、その対象プリンタのための待機期間(例えば、「4(min)」)が経過することを監視する。待機期間が経過すると、送信制御部43は、S122でYESと判断し、S124に進む。S124は、図6のS76と同様である。
S124でYESの場合には、確認部39(図1参照)は、S126〜S134の名前解決処理を実行する。具体的に言うと、S126では、第2のパケット送信部40b(図1参照)は、S120で特定された組合せ情報(例えば、組合せ情報106)に含まれるIPアドレス(例えば、「A1」)を送信先として、識別情報(シリアルナンバー)の送信を要求するための識別情報要求パケットを送信する。識別情報要求パケットは、識別情報要求パケットの送信先のプリンタに対して、識別情報を含む応答パケットの返信を要求するパケットである。
次いで、S128では、第2のパケット送信部40bは、応答パケットを受信することを監視する。識別情報要求パケットに含まれるIPアドレス(例えば、「A1」)を有するプリンタが存在する場合には、当該プリンタは、識別情報要求パケットを受信することができ、その結果、当該プリンタの識別情報(シリアルナンバー)を含む応答パケットを、PC10に送信する。この場合、第2のパケット送信部40bは、応答パケットを受信し(S128でYES)、S130に進む。一方、識別情報要求パケットに含まれるIPアドレスを有するプリンタが存在しない場合には、応答パケットがPC10に送信されない。この場合、第2のパケット送信部40bは、S128でNOと判断して、S132に進む。
S130では、判断部42(図1参照)は、S128で受信された応答パケットに含まれる識別情報が、S120で特定された組合せ情報に含まれる識別情報に一致するか否か判断する。S120で特定された組合せ情報に含まれるIPアドレスが、当該組合せ情報に含まれる識別情報を有するプリンタに割り当てられている場合には、応答パケットに含まれる識別情報は、当該組合せ情報に含まれる識別情報に一致する(S130でYES)。これは、当該組合せ情報に含まれる識別情報を有するプリンタのIPアドレスが、メインファームウェアの更新の前後で変更されていないことを意味する。S130でYESの場合には、S136に進む。
一方、S120で特定された組合せ情報に含まれるIPアドレスが、当該組合せ情報に含まれる識別情報を有するプリンタとは別のプリンタに割り当てられている場合には、応答パケットに含まれる識別情報は、当該組合せ情報に含まれる識別情報に一致しない(S130でNO)。これは、当該組合せ情報に含まれる識別情報を有するプリンタのIPアドレスが、メインファームウェアの更新の前後で変更されたことを意味する。S130でNOの場合には、S132に進む。
S132では、図6のS78と同様に、第3のパケット送信部40c(図1参照)は、S120で特定された組合せ情報に含まれるノード名を含むIPアドレス要求パケットを、LAN4にブロードキャストして、応答パケットを受信する。そして、S134では図6のS80と同様に、確認部39は、IPアドレスの確認及び更新を実行する。S134を終えると、S136に進む。
S136〜S140は、図6のS82〜S86と同様である。S142では、送信制御部43は、図6のS88と同様の処理(IP確認フラグ「ON」と状態「OK」の追加)を実行する。ただし、本実施例では、S142では、さらに、第2の待機期間決定部47は、S120で特定された組合せ情報に含まれる更新期間を、当該組合せ情報に含まれるノード名を有するプリンタのための待機期間として決定し、当該プリンタのためのタイマのカウントを開始する。従って、1回目のS142では、第2の待機期間決定部47は、S120で特定された組合せ情報106に含まれる更新期間「3(min)」を、プリンタ50のための待機期間として決定し、プリンタ50のためのタイマのカウントを開始する。即ち、送信制御部43は、プリンタ50に「F2」を送信した後のタイミングから、プリンタ50のための待機期間の経過を待つ。また、2回目のS142では、第2の待機期間決定部47は、S120で特定された組合せ情報108に含まれる更新期間「3(min)」を、プリンタ60のための待機期間として決定し、プリンタ60のためのタイマのカウントを開始する。即ち、送信制御部43は、プリンタ60に「F4」を送信した後のタイミングから、プリンタ60のための待機期間の経過を待つ。なお、S144は、図6のS90と同様である。
(本実施例の各デバイスによって実行される処理:図9(b)、図11)
図11におけるメインファームウェア「F1」、「F3」の送信完了までの各処理の内容は、図7と同様である。ただし、本実施例では、図9(b)に示すように、PC10は、プリンタ50に「F1」を送信した後に、プリンタ50のための待機期間「4(min)」を決定し、カウントを開始する(図5のS58)。そして、プリンタ60への「F3」の送信が完了し、かつ、待機期間「4(min)」が経過すると(図10のS122でYES)、PC10は、プリンタ50への「F2」の送信を開始する。このために、プリンタ50は、「F2」を受信するまでに、「F1」の更新を完了させることができる。従って、プリンタ50は、メモリを効率的に利用しながら、各ファームウェア「F1」、「F2」の更新を実行することができる。
また、PC10は、プリンタ60に「F3」を送信した後に、プリンタ60のための待機期間「2(min)」を決定し、カウントを開始する(図5のS58)。そして、プリンタ50への「F2」の送信が完了し、かつ、待機期間「2(min)」が経過すると(図10のS122でYES)、PC10は、プリンタ60への「F4」の送信を開始する。このために、プリンタ60は、「F4」を受信するまでに、「F3」の更新を完了させることができる。従って、プリンタ60は、メモリを効率的に利用しながら、各ファームウェア「F3」、「F4」の更新を実行することができる。
図11に示すように、1回目のサブファームウェア更新処理では、まず、PC10は、順番「3」の組合せ情報106に含まれるIPアドレス「A1」を送信先として、識別情報要求パケットを送信する(図10のS126)。プリンタ50は、識別情報要求パケットを受信すると、識別情報を含む応答パケットをPC10に送信する。PC10は、応答パケットに含まれる識別情報が、組合せ情報106に含まれる識別情報に一致すると判断する(図10のS128でYES,S130でYES)。この構成によると、PC10は、上記の応答パケットに含まれる識別情報が、組合せ情報106に含まれる識別情報と一致する場合、即ち、プリンタ50のIPアドレスが変更されていない場合に、IPアドレス「A1」をプリンタ50の現行のIPアドレスとして適切に確認することができる。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から「F2」をダウンロードし(図10のS136)、プリンタ50のIPアドレス「A1」を送信先として、「F2」を送信する(図10のS138)。
次いで、PC10は、順番「4」の組合せ情報108に含まれるIPアドレス「A2」を送信先として、識別情報要求パケットを送信する(図10のS126)。図11の例では、この時点では、プリンタ60のIPアドレスが「A3」に変更済みであり、「A2」のIPアドレスを有するプリンタが存在しない(LAN4に接続されていない)。そのため、PC10は、応答パケットを受信しない(図10のS128でNO)。
この場合、PC10は、プリンタ60のノード名「P60」を含むIPアドレス要求パケットをブロードキャストして、プリンタ60の現行のIPアドレス「A3」を含む応答パケットを受信する(図10のS132)。次いで、PC10は、ノード名「P60」を含む組合せ情報108、110のIPアドレスを「A2」から「A3」に更新する(図10のS134)。この構成によると、PC10は、識別情報要求パケットに対する応答パケットが受信されない場合、即ち、プリンタ60のIPアドレスが変更された場合に、プリンタ60の現行のIPアドレス「A3」を適切に確認することができる。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から「F4」をダウンロードし(図10のS136)、プリンタ60のIPアドレス「A3」を送信先として、「F4」を送信する(図10のS138)。
図9(b)に示すように、PC10は、プリンタ60に「F4」を送信すると、プリンタ60のための待機期間「3(min)」を決定し、カウントを開始する(図10のS142)。そして、待機期間「3(min)」が経過すると(図10のS122)、PC10は、プリンタ60への「F5」の送信を開始する。このために、プリンタ60は、「F5」を受信するまでに、「F4」の更新を完了させることができる。従って、プリンタ60は、メモリを効率的に利用しながら、各ファームウェア「F4」、「F5」の更新を実行することができる。
なお、プリンタ60は、「F4」のインストール処理を実行した後に、プリンタ60を再起動する。図11の例では、プリンタ60が再取得するIPアドレスは「A4」であり、再起動の前後で、プリンタ60のIPアドレスが変更されている。さらに、図11の例では、プリンタ60に割り当てられていたIPアドレス「A3」は、他のプリンタ100に割り当てられている。
2回目のサブファームウェア更新処理において、PC10は、順番「5」の組合せ情報110に含まれるIPアドレス「A3」を送信先として、識別情報要求パケットを送信する(図10のS126)。図11の例では、この時点では、プリンタ60のIPアドレスは「A4」に変更されている。さらに、IPアドレス「A3」は、プリンタ100に割り当てられている。従って、プリンタ100は、識別情報要求パケットを受信して、プリンタ100の識別情報を含む応答パケットをPC10に送信する。従って、PC10は、応答パケットに含まれるプリンタ100の識別情報が、組合せ情報110に含まれるプリンタ60の識別情報に一致しないと判断する(図10のS128でYES、S130でNO)。
この場合、PC10は、プリンタ60のノード名「P60」を含むIPアドレス要求パケットをブロードキャストして、プリンタ60の現行のIPアドレス「A4」を含む応答パケットを受信する(図10のS132)。次いで、PC10は、ノード名「P60」を含む組合せ情報110のIPアドレスを「A3」から「A4」に更新する(図10のS134)。この構成によると、PC10は、上記の応答パケットに含まれる識別情報が、組合せ情報110に含まれる識別情報と一致しない場合、即ち、プリンタ60のIPアドレスが変更された場合に、プリンタ60の現行のIPアドレス「A4」を適切に確認することができる。
次いで、PC10は、ファイルサーバ80に問合せを行って、ファイルサーバ80から「F5」をダウンロードし(図10のS136)、プリンタ60のIPアドレス「A4」を送信先として、「F5」を送信する。
(対応関係)
本実施例と本発明の対応関係を説明する。識別情報要求パケット、識別情報要求パケットに対する応答パケットが、それぞれ、「第2の要求パケット」、「第2の応答パケット」の一例である。IPアドレス要求パケット、IPアドレス要求パケットに対する応答パケットが、それぞれ、「第3の要求パケット」、「第3の応答パケット」の一例である。
また、ノード名、識別情報(シリアルナンバー)が、それぞれ、「第1の識別情報」、「第2の識別情報」の一例である。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
(変形例1)図6の名前解決処理(S78及びS80)、及び、図10の名前解決処理(S126〜S134)に代えて、確認部39は、次の名前解決処理を実行してもよい。即ち、各プリンタ50、60のノード名とIPアドレスとを対応付けて記憶するDNSサーバが、LAN4に接続されていてもよい。この場合、確認部39は、特定プリンタ(例えばプリンタ50)のノード名を含むIPアドレス要求パケットをDNSサーバに送信して、当該ノード名に対応付けられているIPアドレスを含む応答パケットをDNSサーバから受信する。そして、確認部39は、応答パケットに含まれるIPアドレスを、特定プリンタの現行のIPアドレスとして確認してもよい。一般的に言うと、確認部は、特定デバイス(本変形例では特定プリンタ)を識別するための第1の識別情報(本変形例ではノード名)を用いて、特定デバイスの現行のIPアドレスである第2のIPアドレスを確認すればよい。
(変形例2)上記の第2実施例では、図10のS126において、第2のパケット送信部40bは、識別情報(シリアルナンバー)の送信を要求するための識別情報要求パケットを送信する。これに代えて、第2のパケット送信部40bは、ノード名の送信を要求するためのノード名要求パケットを送信してもよい。この場合、ノード名が「第1の識別情報」の一例である。そして、第2実施例では、図10のS132でブロードキャストされるIPアドレス要求パケットにノード名が含まれるために、ノード名が「第2の識別情報」の一例である。即ち、本変形例のように、第1の識別情報(例えばノード名)と第2の識別情報(例えばノード名)とは、同じものであってもよい。ただし、上記の第2実施例のように、第1の識別情報(例えばシリアルナンバー)と第2の識別情報(例えばノード名)とは、異なるものであってもよい。なお、第1の識別情報及び/又は第2の識別情報は、ノード名、シリアルナンバーに限られず、デバイスを識別するための他の種類の情報(例えば、MACアドレス)であってもよい。
(変形例3)「管理装置」は、PC10に限られず、他の機器(例えば、携帯電話、PDA、サーバ等)であってもよい。また、「デバイス」は、プリンタ50、60に限られず、ファームウェアの更新が必要な他の機器(例えば、携帯電話、PDA、FAX装置、コピー機、スキャナ、多機能機等)であってもよい。
(変形例4)上記の各実施例では、PC10のCPU22がソフトウェアに従って処理を実行することによって、各部38〜48が実現される。これに代えて、各部38〜48のうちの少なくとも一部は、論理回路等のハードウェアによって実現されてもよい。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
2:通信システム、4:LAN、6:インターネット、10:PC、12:表示部、14:操作部、16:ネットワークインターフェイス、20:制御部、22:CPU、24:メモリ、30:プログラム、32:デバイスリスト、34:更新リスト、38:取得部、39:確認部、40a:第1のパケット送信部、40b:第2のパケット送信部、40c:第3のパケット送信部、42:判断部、43:送信制御部、44:第1のプログラム送信部、45:第2のプログラム送信部、46:第1の待機期間決定部、47:第2の待機期間決定部、48:送信順序決定部、50:プリンタ、60:プリンタ、70:Webサーバ、80:ファイルサーバ、82:更新用ファームウェア

Claims (9)

  1. ネットワークを介して特定デバイスに接続されると共に、前記特定デバイスに複数個のプログラムの更新を実行させる管理装置であって、
    前記特定デバイスの現行のIPアドレスである第1のIPアドレスを送信先として、前記複数個のプログラムのうちの第1のプログラムを送信する第1のプログラム送信部と、
    前記第1のプログラムが送信された後に、前記特定デバイスを識別するための第1の識別情報を用いて、前記特定デバイスの現行のIPアドレスである第2のIPアドレスを確認する確認部と、
    前記特定デバイスの現行のIPアドレスである前記第2のIPアドレスを送信先として、前記複数個のプログラムのうちの第2のプログラムであって、前記第1のプログラムとは異なる前記第2のプログラムを送信する第2のプログラム送信部と、
    を備える管理装置。
  2. 前記第2のIPアドレスは、前記第1のIPアドレスとは異なる、請求項1に記載の管理装置。
  3. 前記確認部は、
    前記ネットワークに接続されている各デバイスに、前記第1の識別情報を含む第1の要求パケットを送信する第1のパケット送信部であって、前記第1の要求パケットは、前記第1の識別情報を有する前記特定デバイスからの第1の応答パケットの返信を要求するパケットである、前記第1のパケット送信部を備え、
    前記確認部は、前記第1の応答パケットに含まれるIPアドレスを、前記第2のIPアドレスとして確認する、請求項1又は2に記載の管理装置。
  4. 前記確認部は、
    前記第1のIPアドレスを送信先として、第2の要求パケットを送信する第2のパケット送信部であって、前記第2の要求パケットは、前記第2の要求パケットの送信先のデバイスに対して、識別情報を含む第2の応答パケットの返信を要求するパケットである、前記第2のパケット送信部と、
    前記第2の応答パケットが受信される場合に、前記第2の応答パケットに含まれる前記識別情報が、前記第1の識別情報に一致するのか否かを判断する判断部と、を備え、
    前記確認部は、前記第2の応答パケットに含まれる前記識別情報が前記第1の識別情報に一致すると判断される場合に、前記第1のIPアドレスを前記第2のIPアドレスとして確認する、請求項1に記載の管理装置。
  5. 前記確認部は、さらに、
    前記第2の応答パケットに含まれる前記識別情報が前記第1の識別情報に一致しないと判断される場合に、前記ネットワークに接続されている各デバイスに、前記特定デバイスを識別するための第2の識別情報を含む第3の要求パケットを送信する第3のパケット送信部であって、前記第3の要求パケットは、前記第2の識別情報を有する前記特定デバイスからの第3の応答パケットの返信を要求するパケットである、前記第3のパケット送信部を備え、
    前記確認部は、前記第3の応答パケットに含まれるIPアドレスを、前記第2のIPアドレスとして確認する、請求項4に記載の管理装置。
  6. 前記第3のパケット送信部は、さらに、前記第2の応答パケットが受信されない場合に、前記ネットワークに接続されている各デバイスに、前記第3の要求パケットを送信し、
    前記確認部は、前記第3の応答パケットに含まれる前記IPアドレスを、前記第2のIPアドレスとして確認する、請求項5に記載の管理装置。
  7. 前記確認部は、
    前記第1のプログラムが送信された後に前記特定のデバイスのための待機期間が経過すると、前記第1の識別情報を用いて、前記特定デバイスの現行のIPアドレスである前記第2のIPアドレスを確認する、請求項1から6のいずれか一項に記載の管理装置。
  8. ネットワークを介して特定デバイスに接続されると共に、前記特定デバイスに複数個のプログラムの更新を実行させる管理装置のためのコンピュータプログラムであって、
    前記管理装置に搭載されるコンピュータに、以下の各処理、即ち、
    前記特定デバイスの現行のIPアドレスである第1のIPアドレスを送信先として、前記複数個のプログラムのうちの第1のプログラムを送信する第1のプログラム送信処理と、
    前記第1のプログラムが送信された後に、前記特定デバイスを識別するための第1の識別情報を用いて、前記特定デバイスの現行のIPアドレスである第2のIPアドレスを確認する確認処理と、
    前記特定デバイスの現行のIPアドレスである前記第2のIPアドレスを送信先として、前記複数個のプログラムのうちの第2のプログラムであって、前記第1のプログラムとは異なる前記第2のプログラムを送信する第2のプログラム送信処理と、
    を実行させるコンピュータプログラム。
  9. 前記確認処理では、
    前記第1のプログラムが送信された後に前記特定のデバイスのための待機期間が経過すると、前記第1の識別情報を用いて、前記特定デバイスの現行のIPアドレスである前記第2のIPアドレスを確認する、請求項8に記載のコンピュータプログラム。
JP2011216367A 2011-09-30 2011-09-30 管理装置 Active JP5786612B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011216367A JP5786612B2 (ja) 2011-09-30 2011-09-30 管理装置
US13/626,621 US9268553B2 (en) 2011-09-30 2012-09-25 Management device for causing specific device to update programs and computer readable media

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011216367A JP5786612B2 (ja) 2011-09-30 2011-09-30 管理装置

Publications (2)

Publication Number Publication Date
JP2013077146A JP2013077146A (ja) 2013-04-25
JP5786612B2 true JP5786612B2 (ja) 2015-09-30

Family

ID=47993746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011216367A Active JP5786612B2 (ja) 2011-09-30 2011-09-30 管理装置

Country Status (2)

Country Link
US (1) US9268553B2 (ja)
JP (1) JP5786612B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5786613B2 (ja) 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置
JP5907934B2 (ja) * 2013-08-26 2016-04-26 京セラドキュメントソリューションズ株式会社 ファクシミリ装置
JP6388014B2 (ja) * 2016-11-14 2018-09-12 オンキヨー株式会社 ファームウェア更新システム、サーバー、及び、電子機器
JP2020135605A (ja) * 2019-02-22 2020-08-31 ブラザー工業株式会社 情報処理プログラム

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05250170A (ja) 1992-03-09 1993-09-28 Nec Corp 通信システム
JPH06110811A (ja) 1992-09-24 1994-04-22 Oki Electric Ind Co Ltd プログラム変更方法
US6108704A (en) * 1995-09-25 2000-08-22 Netspeak Corporation Point-to-point internet protocol
JP3507270B2 (ja) * 1997-02-20 2004-03-15 株式会社日立製作所 ネットワーク管理システム、ネットワーク機器、ネットワーク管理方法およびネットワーク管理ツール
JP3641128B2 (ja) * 1998-02-20 2005-04-20 株式会社東芝 移動計算機装置、移動計算機管理装置、移動計算機管理方法及び通信制御方法
US20010049732A1 (en) * 2000-06-01 2001-12-06 Raciborski Nathan F. Content exchange apparatus
US20030088650A1 (en) * 2001-07-30 2003-05-08 Lockheed Martin Corporation Using a diskless client network topology for disk duplication and configuration
JP2003143212A (ja) * 2001-11-01 2003-05-16 Fujitsu Ltd サーバとクラアイントとの接続方法およびルータ装置
WO2003104922A2 (en) * 2002-06-07 2003-12-18 Thomson Licensing S.A. Method and apparatus for controlling the distribution of digitally encoded data in a network
JP4430931B2 (ja) * 2003-12-26 2010-03-10 パナソニック株式会社 画像形成装置及びそのファームウェアの更新方法
US7876469B2 (en) 2003-12-26 2011-01-25 Panasonic Corporation Image forming apparatus and updating method
US7707573B1 (en) * 2003-12-31 2010-04-27 Google Inc. Systems and methods for providing and installing software
US7934210B1 (en) 2004-03-26 2011-04-26 Adobe Systems Incorporated System and method for updating one or more programs and their environment
JP2006050286A (ja) * 2004-08-05 2006-02-16 Seiko Epson Corp ネットワークシステム、ネットワークシステムにおける通信方法、およびホスト装置
US20060235949A1 (en) 2005-04-15 2006-10-19 Ta-Wen Tai Firmware update method for automatically updating firmware of a plurality of electronic devices and network thereof
JP5100664B2 (ja) 2006-03-01 2012-12-19 アクシス アーベー 複数の装置をアップデートする方法及びシステム
JP4849968B2 (ja) 2006-06-13 2012-01-11 コニカミノルタビジネステクノロジーズ株式会社 プログラム更新管理装置
US7640367B2 (en) 2006-09-06 2009-12-29 Seiko Epson Corporation Method for executing a software updating process and computer for implementing the method
JP4673284B2 (ja) 2006-12-15 2011-04-20 キヤノン株式会社 サーバ装置
JP4539676B2 (ja) 2007-04-19 2010-09-08 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム更新システム、プログラム更新方法およびプログラム更新プログラム
JP4539677B2 (ja) 2007-04-23 2010-09-08 コニカミノルタビジネステクノロジーズ株式会社 画像形成装置、プログラム更新システム、プログラム更新方法およびプログラム更新プログラム
JP5038163B2 (ja) * 2008-01-07 2012-10-03 キヤノン株式会社 配信装置、システム、情報処理方法及びプログラム
JP2009193218A (ja) 2008-02-13 2009-08-27 Fuji Xerox Co Ltd ファームウェア更新装置およびファームウェア更新システム
JP2010092322A (ja) 2008-10-09 2010-04-22 Seiko Epson Corp ネットワークシステム、サーバ装置、および、プリンタドライバ
JP4775437B2 (ja) 2008-12-25 2011-09-21 ブラザー工業株式会社 ソフトウェアをインストールするためのコンピュータプログラム
JP5300562B2 (ja) 2009-03-31 2013-09-25 キヤノン株式会社 情報処理装置、情報処理方法、およびプログラム
CN101923477B (zh) 2009-06-12 2014-04-23 精工爱普生株式会社 作业辅助方法
JP5292337B2 (ja) * 2010-02-19 2013-09-18 日本電信電話株式会社 リモートコントロールシステム、リモートコントロール方法及びプログラム
JP5527146B2 (ja) 2010-09-30 2014-06-18 ブラザー工業株式会社 端末装置及びプログラム
JP5786613B2 (ja) 2011-09-30 2015-09-30 ブラザー工業株式会社 管理装置

Also Published As

Publication number Publication date
US9268553B2 (en) 2016-02-23
US20130086281A1 (en) 2013-04-04
JP2013077146A (ja) 2013-04-25

Similar Documents

Publication Publication Date Title
JP5786613B2 (ja) 管理装置
JP4239987B2 (ja) ネットワークシステム、デバイス、およびプログラム
US11218609B2 (en) Terminal device and non-transitory computer-readable medium for terminal device
JP5444865B2 (ja) 通信装置
US10687187B2 (en) Information processing system configured to determine usability of an application, information processing apparatus, and information processing method
JP5093277B2 (ja) 通信装置及びコンピュータプログラム
US9544450B2 (en) Image forming apparatus and method for updating firmware
JP5786612B2 (ja) 管理装置
JP7172108B2 (ja) プログラム及び通信システム
JP2018200536A (ja) 画像形成システム、サーバー、及びファームウェア更新制御方法
US11526312B2 (en) Device management apparatus, method, and program storage medium
JP2023106177A (ja) 通信システム、サーバのためのコンピュータプログラム、及び、端末装置のためのアプリケーションプログラム
US20140185091A1 (en) Box Print Realized by Image Forming Apparatus Having No Auxiliary Storage Device
US9179018B2 (en) Scanner-driven push operation realized by image forming apparatus having no auxiliary storage device
JP2019066998A (ja) 制御プログラム、情報処理装置、及び、制御方法
JP6999534B2 (ja) 情報処理装置、プログラム及び情報管理方法
JP6572683B2 (ja) スキャナ、スキャナの制御プログラム、および通信システム
JP2006027022A (ja) 印刷装置におけるヘルプ及びソリューション情報の提供方法及びシステム
JP2019021246A (ja) デバイス、プログラム、動作制御方法及び情報処理システム
US20160050325A1 (en) Image reading apparatus, information processing apparatus, and non-transitory computer readable medium
JP6863249B2 (ja) 画像処理システム、画像処理装置、サーバープログラム、及び画像処理方法
JP2020160767A (ja) 代替印刷システム、印刷管理システムおよび印刷管理プログラム
JP6677046B2 (ja) 端末装置のためのコンピュータプログラム、及び、端末装置
JP2018169957A (ja) プログラムおよび情報処理装置
JP2018097421A (ja) 情報処理装置、情報処理システム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141125

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150119

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150713

R150 Certificate of patent or registration of utility model

Ref document number: 5786612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150