JP2014164553A - 配信システム、配信システムの配信方法 - Google Patents

配信システム、配信システムの配信方法 Download PDF

Info

Publication number
JP2014164553A
JP2014164553A JP2013035494A JP2013035494A JP2014164553A JP 2014164553 A JP2014164553 A JP 2014164553A JP 2013035494 A JP2013035494 A JP 2013035494A JP 2013035494 A JP2013035494 A JP 2013035494A JP 2014164553 A JP2014164553 A JP 2014164553A
Authority
JP
Japan
Prior art keywords
distribution
network device
distribution server
firmware
program
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
JP2013035494A
Other languages
English (en)
Inventor
Hisashi Nakamoto
尚志 中本
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013035494A priority Critical patent/JP2014164553A/ja
Publication of JP2014164553A publication Critical patent/JP2014164553A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】リモートでのプログラム配信が可能なネットワークデバイスで障害が発生した場合でも、リブートコマンドを用いることなく、リモートからネットワークデバイスを再起動して障害を解消すること。
【解決手段】配信サーバ133は、ネットワークデバイスから障害情報を取得し(S1501)、該障害情報の種別を特定し(S1503)、該障害情報の種別が第1の種別であった場合には、当該障害を前記ネットワークデバイスのリブートにより解消させるために、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、差分配信で前記ネットワークデバイスに配信し(S1504〜S1507,S1510)、また、該障害情報の種別が第2の種別であった場合には、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、上書き配信で前記ネットワークデバイスに配信する(S1504〜S1507,S1511)。
【選択図】図15

Description

本発明は、ネットワークデバイスとインターネットを介して接続する配信システム、配信システムの配信方法に関するものである。
従来、ネットワークデバイス(例えば、画像形成装置)のファームウェアのアップデートは、機能アップもしくは障害等の理由により更新する必要が生じた場合に行われる。アップデート方法としては、インターネット経由で配信サーバから配信を行う方法がある。配信サーバでデバイスのファームウェアのアップデートを行う場合、Web画面で配信対象のデバイスを指定し、配信日時を設定して、インターネット経由で配信を行う。
このような状況において、配信サーバでアップデートしたデバイスで障害が発生する場合がある。その原因として多いのが、再起動などで復旧するエラーである。
特許文献1には、デバイスで障害が発生した際に、リカバリ用のファームウェアをデバイスの内部に持つことで、解決するシステムが提案されている。特許文献1は、デバイスで障害が発生した際に、デバイス内に予め保存してあるファームウェアを適用し、デバイスを復旧するものである。
特開平5−151009号公報
上述のように、配信サーバでファームウェアをアップデートしたデバイスにエラーが発生した場合、再起動などでデバイスが復旧するケースがある。しかし、現状では、インターネットを介した通信では、ファイアウォールの外からリブートコマンドをファイアウォール内のデバイスに送信することは、セキュリティの問題等で行われておらず、インターネットを介してリモートでデバイスを再起動することができない。このため、サービスマンが出動することとなり、サービスコストが大きくなっている。
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、リモートでのプログラム配信が可能なネットワークデバイスで障害が発生した場合でも、リブートコマンドを用いることなく、リモートからネットワークデバイスを再起動して障害を解消することができる仕組みを提供することである。
本発明は、ネットワークデバイスとインターネットを介して接続する配信システムであって、ネットワークデバイスから障害情報を取得する取得手段と、前記障害情報の種別を特定する特定手段と、前記障害情報の種別が第1の種別であった場合には、当該障害を前記ネットワークデバイスのリブートにより解消させるために、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムとの差分のみを配信する差分配信で、前記ネットワークデバイスに配信し、また、前記障害情報の種別が第2の種別であった場合には、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムを含めて配信する上書き配信で、前記ネットワークデバイスに配信する配信手段と、を有することを特徴とする。
本発明によれば、リモートでのプログラム配信が可能なネットワークデバイスで障害が発生した場合でも、リブートコマンドを用いることなく、リモートからネットワークデバイスを再起動して障害を解消することができる。
配信システムを含むシステムの全体構成を示す図。 監視センタホスト、配信サーバ等のハードウェア構成図。 デバイスのハードウェア構成図。 監視センタホスト、配信サーバ等における通信部分のソフトウェア構成図。 監視装置や各デバイスにおける通信部分のソフトウェア構成図。 本発明を実施したシステムの一例を示す図。 エラーコードとケースの紐づけテーブル及びエラーの種別と配信サーバの対応テーブルを示す図。 デバイス機種別の管理ファームバージョンテーブルを示す図。 デバイス毎のファームウェア動作実績テーブルを示す図。 本発明におけるシーケンス図。 監視装置の処理を示すフローチャート。 監視センタホストの処理を示すフローチャート。 クライアントモジュールの処理を示すフローチャート。 配信サーバのファームウェア配信処理を示すフローチャート。 配信サーバの再配信予約設定処理を示すフローチャート。
以下、発明を実施するための形態について図面を用いて説明する。
図1は、本発明の一実施例を示す配信システムを含むシステムの全体構成の一例を示す図であり、複数のシステムが接続されている。
操作システム101では、ホスト102、データベース103、PC104が、LAN105で接続されており、LAN105はインターネット132に接続されている。PC104は、データベース103へのデータ登録や修正などの制御を行なうためのものである。また、PC104は、監視センタホスト111、配信サーバ133が提供するWebサイトへアクセスしてデータの閲覧及び、ファームウェアの配信予約等を行うことができる。なお、図1では、操作システム101には、複数の装置から構成されるよう示されているが同等機能を達成できれば同一の構成でなくてもよい。例えば、データベース103は、物理的にホスト102内に存在してもよい。さらに、データベース103は、ホスト102からアクセス可能であれば、インターネット132を経由した別の場所に存在しても構わない。つまり、操作システム101には、複数の装置から構成されるようにしてもよいし、1つの装置から構成するようにしてもよい。
外部システム106では、ホスト107、データベース108が、LAN109で接続されており、LAN109はインターネット132に接続されている。外部システム106は、配信サーバ133のファームウェアを高速に配信するためサービスを提供する。
次に、監視センタホスト111について説明する。監視センタホスト111は、後述する監視装置からネットワークデバイスの稼働情報を受信し、データベース112に蓄積するデバイス監視システムである。データベース112は、監視のための情報や、デバイスの稼働状態などを蓄積する履歴記憶部としてのデータベースである。監視センタホスト111とデータベース112は、LAN113で接続されており、LAN113はインターネット132に接続されている。なお、データベース112は、物理的に監視センタホスト111内に存在してもよい。さらに、データベース112は、監視センタホスト111からアクセス可能であれば、インターネットを経由した別の場所に存在しても構わない。監視センタホスト111は、監視装置117、122、123やデバイス131から監視対象としてのデバイスの情報、稼働状態を示す情報を収集、蓄積、加工し、警告等を外部に提供する機能を有する。
次に、配信サーバ133ついて説明する。配信サーバ133は、データベース134に格納されたファームウェアをネットワークデバイス(以下、デバイス)に配信するファームウェア配信システムである。データベース134は、デバイスに適用するためのファームウェアを蓄積する記憶部としてのデータベースである。配信サーバ133とデータベース134は、LAN135で接続されており、LAN135はインターネット132に接続されている。なお、データベース134は、物理的に配信サーバ133内に存在してもよい。さらに、データベース134は、配信サーバ133からアクセス可能であれば、インターネット132を経由した別の場所に存在しても構わない。なお、LAN113とLAN135は同一のLANでもよく、データベース134とデータベース112はデータを送受信しても構わない。
図1には、監視センタホスト111およびデータベース112と、配信サーバ133およびデータベース134が1つずつしか示されていない。しかし、実際には、多くのデバイスおよび監視装置からの情報収集や、ファームウェア配信の負荷分散を行なうために、それぞれ複数の監視センタホスト111、データベース112、配信サーバ133、データベース134に分散処理をさせるケースもある。
次に、顧客側のシステム構成について説明する。顧客側のシステムは、顧客により構成が異なる。図1の例では、顧客システム114、119、129が示されている。
顧客システム114(A社X事業所)においては、デバイス115、116、監視装置117が、インターネット132に接続されたLAN118に接続されている。監視装置117は、デバイス115、116を監視し、インターネット132経由で、デバイス115、116の稼働情報を監視センタホスト111に送信している。一方、顧客システム119(A社Y事業所)においては、デバイス120、121、124〜127、監視装置122、123が、インターネット132に接続されたLAN128に接続されている。監視装置122、123は、LAN128上のデバイス120、121、124〜127を管理している。監視装置122は、デバイス120、121、124、125を監視し、インターネット132経由で、デバイス120、121、124、125の稼働情報を監視センタホスト111に送信している。監視装置123は、デバイス126、127を監視し、インターネット132経由で、デバイス126、127の稼働情報を監視センタホスト111に送信している。
顧客129システム(B社)においては、インターネット132に接続されたLAN130に接続されたデバイス131自身が、直接インターネット132経由で監視センタホスト111と通信している。デバイス131は、監視装置117、122、123と同等の機能を有しており、自身の稼働情報を監視センタホスト111に送信している。
図2は、監視センタホスト111、配信サーバ133、ホスト102、監視装置117、122、123、PC104のハードウェア構成の一例を示す図である。
図2において、CPU201は、本装置上の各処理を司る。書換え不可能なROM202は、本装置の各処理に関わるプログラムやデータを記憶する。RAM203は、本装置の各処理に関わる一時的なデータを電気的に記憶でき、かつ書き換え可能である。
HDD204は、本装置の各処理に関わるプログラムやデータ、および一時的なデータ等の各種データを記憶する。監視センタホスト111の場合、監視対象のデバイスに関する情報、およびデバイスから収集した情報(例えば、デバイスの稼働情報)などをHDD204に記憶する。また、監視センタホスト111の場合、後述する図4の処理を行うプログラムをHDD204に記憶している。このプログラムは、RAM203を一時保存領域として使用し、CPU201によって呼び出され実行される。また、配信サーバ133の場合も同様に、後述する図4の処理を行うプログラムをHDD204に記憶している。なお、HDD204は、ハードディスクに限定されるものではなく、SSD(Solid State Drive)等の他の記憶装置であってもよい。
操作部205は、本装置への指示入力を受け付けるものであり、例えばキーボードやポインティングデイバイス等である。表示部206は、本装置の動作状況や、本装置上で動作する各プログラムが出力する情報を表示する。NetworkI/F208は、ネットワーク経由でLANおよびインターネットに接続し、外部と情報交換を行う。外部機器I/F207は、外部記憶機器等を接続するためのものであり、例えば、USB I/F等である。なお、上述したこれら要素201〜208がシステムバス209により結び付き、データをやりとりしている。
図3は、デバイス115、116、120、121、124、125、126、127、131の構成の一例を示す図である。
まず、図3(a)を用いて、デバイスのハードウェア構成の一例を説明する。
デバイスとしては、例えば、プリンタ及びファクシミリ機能が統合的に設けられた複合機、PCなどからデータを受信し印刷するプリンタ(電子写真方式及びインクジェット方式を含む)や、スキャナや、ファクシミリなどの画像形成装置が挙げられるが、これらに限定されるものではなく各種ネットワークデバイスを適用可能である。本図では、デバイスの一例として複合機の構成を示している。
イメージリーダ302は、原稿給送部301で給送された原稿から画像データを読み取る。画像形成部303は、イメージリーダ302で読み込んだ原稿の画像データやNotworkI/F305からネットワーク経由で受信したデータを印刷画像に変換・印刷出力する。排紙部304は印刷出力した紙を排出し、ソートやステイプルといった処理を施す。
NetworkI/F305は、ネットワーク経由でLANおよびインターネットに接続し、外部と情報交換を行う。CPU306は、本装置上の各処理を司る。CPU306は、デバイスの動作状態を監視し、障害等の特定のイベントが発生した場合には、その状態を示す状態情報を、あらかじめ定めた宛先へと送信する制御を行う。なお、送信の宛先は、例えば、監視センタホスト111や監視装置などである。
書換え不可能なROM307は、本装置の各処理に関わるプログラムやデータを記憶する。RAM308は、本装置の各処理に関わる一時的なデータを電気的に記憶でき、かつ書き換え可能である。HDD309は、本装置の各処理に関わるプログラムやデータ、および一時的なデータ、本装置へ送信されてきたユーザデータなどを記憶する。デバイスは、後述する図5の処理を行うプログラムをHDD309に記憶している。このプログラムは、RAM308を一時保存領域として使用し、CPU306によって呼び出され実行される。なお、HDD309は、ハードディスクに限定されるものではなく、SSD(Solid State Drive)等の他の記憶装置であってもよい。
操作部310は、本装置への指示入力を受け付ける。表示部311は、本装置の動作状況および操作部310に対する操作に関わる情報を表示する。そして、上述したこれら要素301〜311がシステムバス312により結び付き、データをやりとりしている。
なお、デバイス自身が監視のための情報を送信する機能を持つデバイス131では、ROM307或いはHDD309内に、前記監視データ送出処理にかかわるプログラムやデータを保持している。
次に、図3(b)を用いて、デバイス内のクライアントモジュール313について説明する。
クライアントモジュール313とは、デバイス内のモジュールであり、監視センタホスト111や配信サーバ133と通信し、配信サーバ133からファームウェアをダウンロードし、デバイスにインストールする役割を持つ。クライアントモジュール313は、HDD309に記憶されCPU306で実行される。
図4は、監視センタホスト111、配信サーバ133における通信部分のソフトウェア構成の一例を示す図である。
SOAP通信部401は、監視装置117、122、123またはデバイス131より、NetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部402に渡す。また、SOAP通信部401は、SOAPメッセージ作成部403により作成されたSOAPデータを、NetworkI/F208を介して監視装置117、122、123またはデバイス131に送信する。SOAPメッセージ解析部402は、SOAP通信部401から渡されたSOAPデータを解析する。SOAPメッセージ作成部403は、SOAPデータを作成する。
収集情報処理部404では、監視装置117、122、123またはデバイス131から受信した情報をそのまま、または加工し、データベースアクセス部406を介してデータベース112、あるいはデータベース134に格納する。
監視制御部405は、監視センタホスト111においては、監視装置117、122、123またはデバイス131のスケジュール管理などの制御を行なう。また、監視制御部405は、配信サーバ133においては、監視装置117、122、123またはデバイス131のポーリング処理などの制御を行う。
図5は、監視装置117、122、123またはデバイス131内の通信部分のソフトウェア構成の一例を示す図である。
SOAP通信部501は、監視センタホスト111もしくは配信サーバ133により、NetworkI/F208を介して受信したSOAPデータを、SOAPメッセージ解析部503に渡す。また、SOAP通信部501は、SOAPメッセージ作成部502により作成したSOAPデータを、NetworkI/F208を介して監視センタホスト111や配信サーバ133に送信する。
SOAPメッセージ解析部503は、SOAP通信部501から渡されたSOAPデータを解析する。SOAPメッセージ作成部502は、SOAPデータを作成する。
監視制御部504は、情報蓄積部506に保持する監視対象のデバイス情報の更新や、デバイス115、116の情報取得を行なう。デバイス情報処理部505は、デバイスの稼働情報を、情報蓄積部506に蓄積する。情報蓄積部506に蓄積したデータは、デバイス情報処理部505を介してそのままSOAPメッセージ作成部502に渡され、SOAP通信部501を介して監視センタホスト111へ送信される。
ここで、監視センタホスト111、配信サーバ133或いは、監視装置117、122、123或いは、各デバイスにおけるメモリ構成について説明する。
監視センタホスト111、配信サーバ133或いは、監視装置117、122、123或いは、各デバイスでは、本発明に係る処理プログラムを実行する際、CPUが、RAM上にプログラムをロードして実行する。RAM上には、基本I/Oプログラム、システム・プログラム、本実施例の処理プログラムを初めとする各種処理プログラム、関連データを格納するエリア、プログラムのワークエリア等の記憶エリアが確保される。なお、上述した基本I/Oプログラムは、本装置上の入出力を司る。また、システム・プログラムは、各処理プログラムに動作環境を提供するものである。
図6は、本発明を実施したシステムの一例を示す図である。
701、702、703は、顧客に設置されたデバイスを示す。デバイス701、702、703は全て、クライアントモジュール313をデバイスに内蔵している。701、702、703は、それぞれデバイス固有の番号であるシリアルNo.を持つ。
監視センタホスト111は、インターネット132を介して、デバイス701、702、703から通知されたデバイスの稼働状態などを、データベース112に蓄積する。配信サーバ133は、データベース134に格納されたファームウェアなどを、インターネット132を介して、デバイス701、702、703に配信する。
また、配信サーバ133は、図7、図8、図9に示すテーブルをデータベース134に有し、デバイス701、702、703で発生した障害に対処する。
図7は、エラーコードとケースの紐づけテーブル801、エラーの種別と配信サーバの対応テーブル805の一例を示す図である。
テーブル801において、802は、配信サーバ133が受信するエラーコードを示す。803は、エラーコード802の概要を示す。804は、エラーコード802に対応したケースを示す。
テーブル805において、806は、配信サーバ133の対応ケースを示す。807は、エラーケースの分類を示す。808は、ケース806における配信サーバの対応として、配信対象のファームウェアを示す。809は、ケース806における配信サーバの対応として、配信方法を「上書き配信」とするか、「差分配信」とするかを示す。
配信サーバ133は、ネットワークデバイスにプログラムを配信する場合に、前記ネットワークデバイスに既に配信されたプログラムとの差分のみを配信する「差分配信」、前記ネットワークデバイスに既に配信されたプログラムを含めて配信する「上書き配信」等の配信方法で、配信する機能を有する。
なお、クライアントモジュール313は、差分配信によるファーム構成の更新が可能である。配信サーバ133は、更新すべきプログラムを含む複数のプログラムを含むグループをデバイスに差分配信する場合、該デバイスの現在のファーム構成との差分となる当該グループに含まれるプログラムだけを、該デバイスに送信する。該デバイスのクライアントモジュール313は、配信サーバ133から実際に送信されたプログラムのみを用いて該デバイスのファーム構成を更新する。このため、配信サーバ133から既に該デバイスに適用されているプログラムと同一プログラムのみが含まれるグループが該デバイスに差分配信された場合、差分が無いため、該デバイスではプログラムの更新がなくリブートのみが行われることになる。
一方、配信サーバ133は、更新すべきプログラムを含む複数のプログラムを含むグループをデバイスに「上書き配信」する場合、当該グループに含まれる全プログラムを、該デバイスに送信する。該デバイスのクライアントモジュール313は、配信サーバ133から送信された該グループに含まれる全プログラムを用いて該デバイスのファーム構成を更新する。
図8は、デバイス機種別の管理ファームバージョンテーブル901の一例を示す図である。
テーブル901において、902は、デバイスの機種を示す。903は、デバイスの機種の最新のファームウェアバージョンを示す。903は、過去に配信サーバ133に登録されたファームウェアのバージョンを示す。
図9に、デバイス毎のファームウェア動作実績テーブル1001の一例を示す図である。
テーブル1001において、1002は、デバイスのシリアルNo.を示す。1003は、デバイスの機種を示す。1004は、デバイスの現在のファームウェアバージョンを示す。1005は、過去に配信したファームウェアで正常に動作したバージョンを示す。1006は、過去に配信したファームウェアでエラーが発生したバージョンを示す。
なお、エラーコードとケースの紐づけテーブル801、エラーの種別と配信サーバの対応テーブル805、デバイス機種別の管理ファームバージョンテーブル901、デバイス毎のファームウェア動作実績テーブル1001は、配信サーバ133のHDD204等に格納されている。
以下、本実施例のシステムの処理について説明する。
まず、図10を用いて、システム全体での処理の流れを説明し、その後、図11〜図15を用いて、各装置の処理を個別に説明する。なお、図10、図11における監視装置の処理は、監視装置のCPUがHDDに格納されたプログラムを読み出して実行することにより実現されるものである。また、図10、図12における監視センタホスト111の処理は、監視センタホスト111のCPU201がHDD204に格納されたプログラムを読み出して実行することにより実現されるものである。さらに、図10、図13におけるクライアントモジュール313の処理は、クライアントモジュール313のCPU201がHDD204に格納されたプログラムを読み出して実行することにより実現されるものである。また、図10、図14、図15における配信サーバ133の処理は、配信サーバ133のCPU201がHDD204に格納されたプログラムを読み出して実行することにより実現されるものである。
図10は、クライアントモジュール313、配信サーバ133、監視センタホスト111、監視装置117、122、123、131の処理の全体を示すシーケンス図である。なお、監視装置については、監視装置131を用いて説明するが、他の監視装置の処理も同一である。
監視センタホスト111が監視するデバイスは、配信サーバ133からファームウェアを配信可能である。1101において、監視センタホスト111は、PC104からのユーザ操作に応じて、配信サーバ133に配信対象のデバイスの選択情報を通知する。1102において、配信サーバ133は、PC104からのユーザ操作に応じて、ファームウェアの配信予約を行う。次に、1103において、配信サーバ133は、配信予約されたデバイスのリストを監視センタホスト111に通知する。
1104において、監視装置131は、配信予約用ポーリングを一定間隔で行う。監視装置131は、配信予約用ポーリング(1104)を実行した際に、監視センタホスト111に配信予約情報があることを確認すると、1105において、監視センタホスト111から配信予約情報を受信する。さらに、1106において、監視装置131は、配信情報要求指示をクライアントモジュール313に行う。
1107において、クライアントモジュール313は、配信サーバ133に対して、配信情報要求を行い、その返答として、1108において、配信サーバ133から配信開始時刻を取得する。
次に、1109において、クライアントモジュール313は、配信予約情報が変更されていないかの確認のために、配信サーバ133に対して、予約情報確認を行い、その返答として、1110において、配信サーバ133から配信開始時刻を取得する。なお、クライアントモジュール313は、配信開始時刻(1110)と配信開始時刻(1108)が異なっていれば、不整合として予約をキャンセルする。配信開始時刻(1110)と配信開始時刻(1108)が合致していれば、クライアントモジュール313は、1111に処理を進める。
1111において、クライアントモジュール313は、配信サーバ133にファーム配送情報要求を行い、その返答として、1112において、配信サーバ133からダウンロード先URL情報を取得する。
1113において、クライアントモジュール313は、1112で取得したダウンロード先URL情報内のURLリストを参照し、配信サーバ133に対してファーム取得要求を行い、その返答として、1114において、配信サーバ133からファームウェアを受信して、アップデート処理を行う。
1115は、ファームウェアのアップデート処理においてエラーが発生しなかった場合を示す。この場合、クライアントモジュール313は、配信サーバ133に受信完了通知を行い、1116に示されるように、配信サーバ133はファームウェアの配信処理を正常終了とする。
1117は、ファームウェアのアップデート時にエラーが発生した場合を示す。1118においてエラーが発生した場合、クライアントモジュール313は、配信サーバ133にエラーコードを通知する。そして、1119において、クライアントモジュール313は、配信サーバ133に対する再配信用のポーリングを開始する。1120において、クライアントモジュール313は、配信サーバ133で再配信用のダウンロード先URL情報の送信がなければ、クライアントモジュール313は、一定時間をあけてポーリングを繰り返す。
1121において、配信サーバ133は、再配信用のファームウェアを指示する。1122において、配信サーバ133は、再配信用ポーリングの返答として、再配信用のダウンロード先URL情報を、クライアントモジュール313に送信する。
1123において、クライアントモジュール313は、配信サーバ133にファーム取得要求を行い、その返答として、1124において、配信サーバ133からファームウェアを受信し、ファームウェアを受信してアップデートする。
1125において、ファームウェアをアップデートした際に、エラーがなければ、クライアントモジュール313は、配信サーバ133に受信完了通知を行い、1126に示されるように、配信サーバ133はファームウェアの配信処理を正常終了する。
ステップ1127では、監視装置131により、ファームウェアアップデート後の監視動作が実行される。1127において、監視装置131は、定期的にデバイス稼働情報を監視センタホストに通知する。デバイスの稼働情報とは、コピー枚数を計測したカウンタ情報などである。
1128において、監視センタホスト133は、デバイスの稼働情報チェックを行い、カウンタ情報などに不具合がないかをチェックする。その結果、エラーがなければ、稼働情報チェックを正常終了するが、エラーが発生した場合、1130において、監視センタホスト111は、監視装置131にエラー通知を行う。
1130でエラー通知を受信した監視装置131は、1131において、再配信用ポーリング開始指示をクライアントモジュール313に対して行う。一方、監視センタホスト111は、1132において、配信サーバ133に対して、エラーコード通知を行う。
1133において、クライアントモジュール313は、配信サーバ133に対して、再配信用のポーリングを開始する。1134において、クライアントモジュール313は、再配信用のファームがないかを、配信サーバ133に問い合わせる。
1135において、配信サーバ133は、再配信用のファームウェアを指示し、再配信用ポーリング(1134)の返答として、1136において、ダウンロード先URL情報を、クライアントモジュール313に送信する。
1137において、クライアントモジュール313は、配信サーバ133にファーム取得要求を行い、その返答として、配信サーバ133は、1138において、ファーム送信を行う。クライアントモジュール313は、ファームウェアを受信して、ファームウェアをアップデートする。
1139において、ファームウェアのアップデート処理でエラーが発生しなければ、クライアントモジュール313は、配信サーバ133に、受信完了通知を行い、1140において、配信サーバ133はファームウェアの配信処理を正常終了する。
<監視装置の処理>
図11は、本発明における監視装置の処理の一例を示すフローチャートである。
まず、図11(a)を用いて、監視装置の配信予約用ポーリング処理について説明する。
S1201において、監視装置131は、配信予約用ポーリングを監視センタホスト133に行う(図10の1104に対応)。
次に、S1202において、監視装置131は、配信予約情報があるか否かを確認する。そして、配信予約情報があると判定した場合(S1202でYesの場合)、監視装置131は、S1203に処理を進める。一方、配信予約情報が無いと判定した場合(S1202でNoの場合)、監視装置131は、そのままS1204に処理を進める。
S1203において、監視装置131は、クライアントモジュール313に配信要求指示を行う(図10の1106に対応)。そして、S1204に処理を進める。S1204において、監視装置131は、次回のポーリング時間まで、一定時間待機し、S1201に処理を移行する。
次に、図11(b)を用いて、監視装置のデバイス稼働情報通知処理について説明する。
S1205において、監視装置131は、デバイス稼動情報通知を、監視センタホスト111に行う(図10の1127に対応)。
次に、S1206において、監視装置131は、監視センタホスト133からエラーが通知されたか否かを判定する。そして、エラーが通知されていないと判定した場合(S1206でNoの場合)、監視装置131は、そのままS1208に処理を進める。一方、エラーが通知された(図10の1130に対応)と判定した場合(S1206でYesの場合)、監視装置131は、S1207に処理を進める。
S1207において、監視装置131は、クライアントモジュール313に再配信用ポーリングの開始指示を行う(図10の1131に対応)。そして、S1208に処理を進める。S1208において、監視装置131は、一定時間待機し、S1205に処理を移行する。
<監視センタホストの処理>
図12は、本発明における監視センタホストの処理の一例を示すフローチャートである。
S1301において、監視センタホスト111は、監視装置131からデバイス稼動情報通知を受信すると(図10の1127に対応)、S1302に処理を進める。
S1302において、監視センタホスト111は、稼動情報の不整合チェックを行う。稼働情報とは、コピー枚数を計測したカウンタ情報などであり、カウンタ情報がカウントアップされない等の不整合チェックをこのステップで行う(図10の1128に対応)。
次に、S1303において、監視センタホスト111は、カウンタ情報が正常に取得されており、不整合がないかどうかを判定する。そして、不整合がないと判定した場合(S1303でNoの場合)、監視センタホスト111は、本フローチャートの処理を終了する。
一方、上記S1303において、不整合があると判定した場合(S1303でYesの場合)、監視センタホスト111は、エラー発生と判断し(図10の1129に対応)、S1304に処理を進める。
S1304において、監視センタホスト111は、監視装置131に、デバイス稼動情報通知の返答として、エラー通知を行う。(図10の1130に対応)。また、S1305において、監視センタホスト111は、配信サーバ133にエラーコード通知を行う(図10の1132に対応)。そして、本フローチャートの処理を終了する。
<クライアントモジュールの処理>
図13は、本発明におけるクライアントモジュールの処理の一例を示すフローチャートである。
S1401において、クライアントモジュール313は、監視装置131から再配信用ポーリング開始指示(図10の1131に対応)を受信したか否かを判定する。そして、再配信用ポーリング開始指示を受信していないと判定した場合(S1401でNoの場合)、クライアントモジュール313は、S1402に処理を進める。
S1402において、クライアントモジュール313は、監視装置131から配信情報要求指示(図10の1106に対応)を受信したか否かを判定する。そして、配信情報要求指示を受信していないと判定した場合(S1402でNoの場合)、クライアントモジュール313は、本フローチャートの処理を終了する。一方、配信情報要求指示を受信したと判定した場合(S1402でYesの場合)、クライアントモジュール313は、S1403以降のステップに処理を進める。
S1403において、クライアントモジュール313は、配信予約の確認のため、配信情報要求で、配信サーバ133に問い合わせを行う(図10の1107に対応)。S1404において、クライアントモジュール313は、配信情報要求の返答として、配信サーバ133から配信開始時刻を受信する(図10の1108に対応)。
次に、S1405において、クライアントモジュール313は、予約情報確認で、配信サーバに問いあわせを行う(図10の1109に対応)。S1406において、クライアントモジュール313は、予約情報確認の返答として、配信サーバ133から配信開始時刻を受信する(図10の1110に対応)。
次に、S1407において、クライアントモジュール313は、上記S1406で受信した配信開始時刻に基づいて、配信スケジュールに変更があるか否かを確認する。そして、配信スケジュールに変更があると判定した場合(S1407でYesの場合)、クライアントモジュール313は、S1408に処理を進める。S1408において、クライアントモジュール313は、配信エラーを配信サーバ133に通知し、本フローチャートの処理を終了する。
一方、上記S1407において、配信スケジュールに変更がないと判定した場合(S1407でNoの場合)、クライアントモジュール313は、S1409に処理を進める。
S1409〜S1410において、クライアントモジュール313は、配信開始時刻まで待機する。そして、クライアントモジュール313は、配信開始時刻になったと判定した場合(S1410でYesの場合)、S1411に処理を進める。
S1411において、クライアントモジュール313は、ファーム配送情報要求で、配信サーバ133に問い合わせを行う。(図10の1111に対応)。S1412において、クライアントモジュール313は、ファーム配送情報要求の返答として、ダウンロード先URL情報を、配信サーバ133から受信する(図10の1112に対応)。
次に、S1413において、クライアントモジュール313は、上記S1412のファーム配送情報要求(又は、後述するS1426の再配信用ポーリング(図10の1120、1134に対応))の返答として受信した、ダウンロード先URL情報に、ダウンロード先のURLリストが含まれているかどうかを判断する。
そして、ダウンロード先のURLリストが含まれていると判定した場合(S1413でYesの場合)、クライアントモジュール313は、S1414に処理を進める。
S1414において、クライアントモジュール313は、ファーム取得要求で、URLリストのリンク先に問い合わせを行う。(図10の1113、1123、1137に対応)。次に、S1415において、クライアントモジュール313は、ファーム取得要求の返答として、ファームウェアを受信する。(図10の1114、1124、1138に対応)。次に、S1416において、クライアントモジュール313は、受信したファームウェアをデバイスにインストールし、アップデート処理を行い、S1417に処理を進める。
一方、上記S1413において、ダウンロード先のURLリストが含まれていない(ダウンロード先のURLなしを示す情報が含まれている)と判定した場合(S1413でNoの場合)、クライアントモジュール313は、そのままS1417に処理を進める。
S1417において、クライアントモジュール313は、デバイスの再起動処理を行う。次に、S1418において、クライアントモジュール313は、ファームウェアのアップデート処理でエラーが発生したかどうか確認する。そして、エラーが発生していないと判定した場合(S1418でNoの場合)、クライアントモジュール313は、S1419に処理を進める。
S1419において、クライアントモジュール313は、配信サーバ133に対して、受信完了通知を行い(図10の1115、1125、1139に対応)、S1421に処理を進める。
S1421において、クライアントモジュール313は、再配信用ポーリングを行っているか判定する。そして、再配信用ポーリングを行っていると判定した場合(S1421でYesの場合)、クライアントモジュール313は、再配信用ポーリングを停止し(S1422)、本フローチャートの処理を終了する。
一方、再配信用ポーリングを行っていないと判定した場合(S1421でNoの場合)、クライアントモジュール313は、そのまま本フローチャートの処理を終了する。
また、上記S1418において、エラーが発生したと判定した場合(S1418でYesの場合)、クライアントモジュール313は、S1420に処理を進める。S1420において、クライアントモジュール313は、障害情報としてエラーコードを配信サーバ133に通知し(図10の1118に対応)、S1423に処理を進め、再配信用ポーリングの動作に移行する。
次に、監視装置から再配信用ポーリングを行う場合の動作を説明する。
上記S1401において、再配信用ポーリング指示(図10の1131に対応)を受信したと判定した場合(S1401でYesの場合)、クライアントモジュール313は、S1423以降のステップに処理を進め、再配信用ポーリングの動作に移行する。
S1423において、クライアントモジュール313は、配信サーバ133に対して、再配信用ポーリングを開始する(図10の1119、1133に対応)。
次に、S1424〜S1425において、クライアントモジュール313は、ポーリング時間まで待機する。そして、クライアントモジュール313は、ポーリング時間になったと判定した場合(S1425でYesの場合)、S1426に処理を進める。
S1426において、クライアントモジュール313は、配信サーバ133に対して、再配信用ポーリングで、問い合わせを行う(図10の1120、1134に対応)。そして、S1427において、クライアントモジュール313は、問い合わせの返答として、配信サーバ133からダウンロード先URL情報(図10の1122、1136に対応)を受信したか否かを判定する。
そして、ダウンロード先URL情報を受信していないと判定した場合(S1427でNoの場合)、クライアントモジュール313は、まだ配信サーバ133で再配信ファームが指示がされていないと判断し、S1424に処理を移行し、再度ポーリングを行う。
一方、S1427において、ダウンロード先URL情報を受信したと判定した場合(S1427でYesの場合)、クライアントモジュール313は、S1413に処理を移行する。そして、上述したS1413以降の処理を実行する。
なお、クライアントモジュール313は、上記S1418でエラーが発生を確認した場合に、配信サーバ133にエラーコードを通知しているが、上記タイミングに限らず、エラーが発生したタイミングでいつでも、クライアントモジュール313は、配信サーバ133や管理センタホスト111にエラーコードを通知する構成となっている。また、この際、エラーの種類は、どのようなエラーの種類でもよい。
<配信サーバの処理>
図14は、本発明における配信サーバのファームウェア配信処理の一例を示すフローチャートである。
S1601において、配信サーバ133は、監視センタホスト111より、配信対象デバイスの通知(図10の1101に対応)を受けたかどうか判定する。そして、配信対象デバイスの通知を受けたと判定した場合(S1601でYesの場合)、配信サーバ133は、S1603に処理を進める。
S1603において、配信サーバ133は、ユーザがPC104を介して配信サーバ133の画面を使用して行った配信予約(図10の1102に対応)の設定を受けう付け、S1603に処理を進める。S1604において、配信サーバ133は、上記ユーザからの配信予約に基づいて、監視センタホスト111に、配信対象デバイス情報を通知する(図10の1103に対応)。
次に、S1605において、配信サーバ133は、クライアントモジュール313からアクセスが来るまで待機し、アクセスがあると、S1606に処理を進める。
S1606において、配信サーバ133は、クライアントモジュール313から配信情報要求(図10の1107に対応)が通知されたか判定する。そして、配信情報要求が通知されたと判定した場合(S1606でYesの場合)、S1607に処理を進める。
S1607において、配信サーバ133は、上記配信情報要求(図10の1107に対応)の応答として、クライアントモジュール313に配信開始時刻を返信し(図11の1108に対応)、S1605に処理を移行する。
一方、上記S1606において、配信情報要求が通知されていないと判定した場合(S1606でNoの場合)、配信サーバ133は、S1608に処理を進める。
S1608において、配信サーバ133は、クライアントモジュール313から予約情報確認(図11の1109に対応)が通知されたかどうか判定する。そして、予約情報確認が通知されたと判定した場合(S1608でYesの場合)、配信サーバ133は、S1609に処理を進める。
S1609において、配信サーバ133は、上記予約情報確認(図11の1109に対応)の返答として、クライアントモジュール313に配信開始時刻を返信し(図11の1110に対応)、S1605に処理を移行する。
一方、上記S1608において、予約情報確認が通知されていないと判定した場合(S1608でNoの場合)、配信サーバ133は、S1610に処理を進める。
S1610において、配信サーバ133は、クライアントモジュール313からファーム配送情報要求(図10の1111に対応)もしくは再配信用ポーリング(図10の1120、1134に対応)が通知されたかどうかを判定する。
そして、ファーム配送情報要求もしくは再配信用ポーリングが通知されたと判定した場合(S1610でYesの場合)、配信サーバ133は、S1611に処理を進める。
S1611において、配信サーバ133は、ファーム配送情報要求(図10の1111に対応)もしくは再配信用ポーリング(図10の1120、1134に対応)の返答として、クライアントモジュール313にダウンロード先URL情報を返信し(図10の1112、1122、1136に対応)、S1605に処理を移行する。
なお、配信サーバ133は、ダウンロードするファームウェアがある場合は、ダウンロード先のURLリストをダウンロード先URL情報に含めて返信する。一方、ダウンロードするファームウェアがない場合は、配信サーバ133は、ダウンロード先のURLなしを示す情報をダウンロード先URL情報に含めて返信する。
一方、ファーム配送情報要求及び再配信用ポーリングのいずれも通知されていないと判定した場合(S1610でNoの場合)、配信サーバ133は、S1612に処理を進める。
S1612において、配信サーバ133は、クライアントモジュール313からファーム取得要求(図10の1113、1123、1137に対応)が通知されたかどうかを判定する。
そして、ファーム取得要求が通知されたと判定した場合(S1612でYesの場合)、配信サーバ133は、S1613に処理を進める。
S1613において、配信サーバ133は、ファーム取得要求(図10の1113、1123、1137に対応)の返答として、クライアントモジュール313にファームウェアを送信し(図10の1114、1124、1138に対応)、S1605に処理を移行する。
一方、ファーム取得要求が通知されていないと判定した場合(S1612でNoの場合)、配信サーバ133は、S1614に処理を進める。
S1614において、配信サーバ133は、クライアントモジュール313から、エラーコード(図10の1118に対応)が通知されたかどうかを判定する。そして、エラーコードが通知されたと判定した場合(S1614でYesの場合)、配信サーバ133は、S1615に処理を進める。
S1615において、配信サーバ133は、再配信予約設定処理(詳細は図15に示す)を実行し、S1602に処理を移行する。
一方、エラーコードが通知されていないと判定した場合(S1614でNoの場合)、配信サーバ133は、S1616に処理を進める。S1616において、配信サーバ133は、クライアントモジュール313から、受信完了通知を受信したかどうかを判定する。
そして、受信完了通知を受信していないと判定した場合(S1616でNoの場合)、配信サーバ133は、S1605に処理を移行する。
一方、受信完了通知を受信したと判定した場合(S1616でYesの場合)、配信サーバ133は、S1617に処理を進める。S1617において、配信サーバ133は、配信処理を正常終了し(図10の1116、1126、1140に対応)、本フローチャートの処理を終了する。
図15は、本発明における配信サーバがエラーを受信した場合に実行される再配信予約設定処理の一例を示すフローチャートである。なお、このフローチャートの処理は、図14のS1615の処理を詳細化したものである。
配信サーバ133は、クライアントモジュール313、もしくは、監視センタホスト111からのエラー通知を受信すると(S1501)、S1502に処理を進める。なお、エラー通知には、デバイスのシリアルNo.含まれるものとする。
S1502において、配信サーバ133は、上記通知された障害情報としてのエラーコードを、データベース134で検索する。次に、S1503において、配信サーバ133は、図7に示すような、エラーコードとケースの紐づけテーブル801を参照し、エラーコードに対応するケースを決定する。
次に、S1504において、配信サーバ133は、図7に示すような、デバイス機種別の管理ファームバージョンテーブル805を参照し、ケースに対応する配信サーバの処理を決定する。ここで決定する配信サーバの処理は、上記ケースに対応する配信対象ファームウェア808、差分配信/上書き配信809となる。
次に、S1505において、配信サーバ133は、図9に示すような、デバイス毎のファームウェア動作実績テーブル1001を参照し、上記エラー通知に含まれるデバイスのシリアルNo.から、デバイスの現在バージョンと機種を抽出する。
次に、S1506において、配信サーバ133は、同一ファームを配信するかどうかを判定する。この判定では、上記S1504で決定した配信対象ファームウェア808が「同一ファームウェア」の場合に同一ファームを配信すると判定し、他の場合に、同一ファームを配信しないと判定するものとする。
そして、上記S1506において、同一ファームを配信すると判定した場合(S1506でYesの場合)、配信サーバ133は、S1507に処理を進める。S1507において、配信サーバ133は、デバイスの現在バージョンと同じバージョンのファームウェアを選択し、S1509に処理を進める。
一方、上記S1506において、同一ファームを配信しないと判定した場合(S1506でNoの場合)、配信サーバ133は、S1508に処理を進める。S1508において、配信サーバ133は、図9に示すような、デバイス毎のファームウェア動作実績テーブル1001、及び図8に示すような、デバイス機種別の管理ファームバージョンテーブル901等を参照し、上記エラーが発生したデバイスと同機種のデバイスにおいて動作実績のある最新ファームウェアを選択し、S1509に処理を進める。
S1509において、配信サーバ133は、差分配信するかどうかを判定する。この判定では、上記S1504で決定した差分配信/上書き配信809が「差分配信」の場合に差分配信を行うと判定し、他の場合に、差分配信を行わないと判定するものとする。
そして、上記S1509において、差分配信を行うと判定した場合(S1509でYesの場合)、配信サーバ133は、S1510に処理を進める。S1510において、配信サーバ133は、上記S1507又はS1508で決定したバージョンのファームウェアを「差分配信」で配信する再配信予約を行う。この再配信予約により、再配信ファームが指示される。なお、「差分配信」とは、デバイスにインストールされているファームウェアと、配信対象のファームウェアを比較して、同じモジュールは配信対象とせず、差分のモジュールのみを配信対象とする方法である。差分配信を使用することで、配信サーバ133は、差分のみデバイスに配信すればよいため、通信データ量、通信コスト、サーバ負荷等を削減することができる。
一方、上記S1509において、差分配信を行わないと判定した場合(S1509でNoの場合)、配信サーバ133は、S1511に処理を進める。S1511において、配信サーバ133は、上記S1507又はS1508で決定したバージョンのファームウェアを「上書き配信」で配信する再配信予約を行う。この再配信予約により、再配信ファームが指示される。なお、「上書き配信」とは、デバイスにインストールされているファームウェアと、配信対象のファームウェアに、同じモジュールがあったとしても上書き処理を行う配信方法である。すなわち、差分のモジュールなどの判断は行わず、そのファームウェアの全モジュールを配信対象とする方法である。
なお、デバイスにインストールされているファームウェアと「同じバージョン」のファームウェアを「差分配信」で再配信予約した場合(「同じバージョン」且つ「差分配信」の場合)、差分のモジュールが存在しないため、ダウンロードされるファームウェアは存在しない。このため、配信サーバ133は、クライアントモジュール313から、再配信用ポーリングが通知されると(図14のS1610でYes)、「ダウンロード先のURLなし」を示す情報をダウンロード先URL情報に含め、クライアントモジュール313に返信する。
また、上記以外で再配信予約した場合(「異なるバージョン」又は「上書き配信」の場合)、クライアントモジュール313から、再配信用ポーリングが通知されると(図14のS1610でYes)、配信サーバ133は、ダウンロードするファームウェアのダウンロード先のURLリストをダウンロード先URL情報に含め、クライアントモジュール313に返信する。
次に、上述した図6に示したデバイス701、702、703にエラーが発生した場合の動作について具体的に説明する。
<デバイス701>
まず、デバイス701に、ファームウェアを適用した際に、エラー(エラーコード:9200113)が発生した場合の動作を以下に説明する。
クライアントモジュール313は、S1417のファームウェア適用後に、エラーが発生したので、S1420で、エラーコード「9200113」を配信サーバ133に通知し、S1426で、配信サーバ133に対して、再配信用のポーリングを定期的に実行する。
配信サーバ133は、S1503の処理で、エラーコードとケースの紐づけテーブル801を参照し、エラーコードから対応すべきケースを選択する。この場合、エラーコードが「9200113」なので、ケース(1)と判定する。
次に、配信サーバ133は、S1504の処理で、エラーの種別と配信サーバの対応テーブル805を参照し、ケース(1)の配信サーバの対応を参照する。ケース(1)は、エラーの種別と配信サーバの対応テーブル805を参照すると、「同一ファームウェア」を「差分配信」するという対応である。
さらに、配信サーバ133は、S1505の処理で、デバイス毎のファームウェア動作実績テーブル1001を参照し、デバイス701の機種と、現在バージョンを特定する。デバイス701のシリアルNo.は「ZZZ00001」なので、機種は「iR A」、現在バージョンは「19.00」と特定される。
さらに、配信サーバ133は、データベース134を参照し、バージョン「19.00」の「iR A」用のファームウェアを配信予約する。同一ファームウェアの差分配信なので、S1506において「同一ファーム」と判断し、S1509において「差分配信」と判断し、S1611において、再配信用のポーリングの返答(ダウンロード先URL情報)として「URLリストがない」を通知する。
デバイス701は、再配信用ポーリングの返答を受信し、「URLリストがない」と認識するため、S1413の判断により、そのままS1417の再起動処理を実行する。すなわち、ファームのダウンロードや適用は行わず、デバイス再起動処理のみを行う。エラーコード「9200113」は、図7に示されるように、「再起動で復旧するエラー」に分類され、「同一ファームウェア」の「差分配信」で復旧するエラーであるので、上記処理により、デバイス701は、エラーより復旧する。
<デバイス702>
次に、デバイス702に、ファームウェアを適用した際に、エラー(エラーコード:9990021)が発生した場合の動作を以下に説明する。
クライアントモジュール313は、S1417のファームウェア適用時に、エラーが発生したので、S1420で、エラーコード「9990021」を配信サーバ133に通知し、S1426で、配信サーバ133に対して、再配信用のポーリングを定期的に実行する。
配信サーバ133は、S1503の処理で、エラーコードとケースの紐づけテーブル801を参照し、エラーコードから対応すべきケースを選択する。この場合、エラーコードが「9200113」なので、ケース(2)と判定する。
次に、配信サーバ133は、S1504の処理で、エラーの種別と配信サーバの対応テーブル805を参照し、ケース(2)の配信サーバの対応を参照する。ケース(2)は、エラーの種別と配信サーバの対応テーブル805を参照すると、「同一ファームウェア」を「上書き配信」するという対応である。
さらに、配信サーバ133は、S1505の処理で、デバイス毎のファームウェア動作実績テーブル1001を参照し、デバイス702の機種と、現在バージョンを特定する。デバイス702のシリアルNo.は「ZZZ00002」なので、機種は「iR B」、現在バージョンは「28.00」と特定される。
さらに、配信サーバ133は、データベース134を参照し、バージョン「28.00」の「iR B」用のファームウェアを配信予約する。同一ファームウェアの上書き配信なので、S1506において「同一ファーム」と判断し、S1509において「上書き配信」と判断し、S1611において、再配信用のポーリングの返答(ダウンロード先URL情報)として、ダウンロード先URLを通知する。
デバイス702は、再配信用ポーリングの返答を受信し、ダウンロード先URLを参照して、S1413の判断により、S1414〜1417のファームインストール処理を実行する。エラーコード「9990021」は、図7に示されるように、「上書きアップデートで復旧するエラー」に分類され、「同一ファームウェア」の「上書き配信」し、再起動を行うことで復旧するエラーであるので、上記処理により、デバイス702は、エラーより復旧する。
<デバイス703>
次に、デバイス703に、ファームウェア(バージョン15.03)を適用した際に、エラー(エラーコード:9903113)が発生した場合の動作を以下に説明する。
クライアントモジュール313は、S1417のファームウェア適用時に、エラーが発生したので、S1420で、エラーコード「99903113」を配信サーバ133に通知し、S1426で、配信サーバ133に対して、再配信用のポーリングを定期的に実行する。
配信サーバ133は、S1503の処理で、エラーコードとケースの紐づけテーブル801を参照し、エラーコードから対応すべきケースを選択する。エラーコードが「99903113」なので、ケース(3)と判定する。
次に、配信サーバ133は、S1504の処理で、エラーの種別と配信サーバの対応テーブル805を参照し、ケース(3)の配信サーバの対応を参照する。ケース(3)は、エラーの種別と配信サーバの対応テーブル805を参照すると、「動作実績のある最新ファームウェア」を「差分配信」するという対応である。
さらに、配信サーバ133は、S1505の処理で、デバイス毎のファームウェア動作実績テーブル1001を参照し、デバイス703の機種と、現在バージョンを特定する。デバイス703のシリアルNo.は「ZZZ00003」なので、機種は「iR C」、現在バージョンは「15.01」と特定される。「iR C」の最新ファームウェアのバージョンは、デバイス機種別の管理ファームバージョンテーブル901を参照すると、「15.03」であるが、「15.03」の適用に失敗しているので、「iR C」で動作実績のある最新ファームウェアは、過去バージョン901から「15.02」となる。
そして、配信サーバ133は、データベース134を参照し、バージョン「15.02」の「iR C」用のファームウェアを配信予約する。動作実績のある最新のファームウェアを差分配信なので、S1506において「同一ファームではない」と判断し、S1509において「差分配信」と判断し、S1611により、再配信用のポーリングの返答(ダウンロード先URL情報)として、ダウンロード先URLを通知する。
デバイス703は、再配信用ポーリングの返答を受信し、ダウンロード先URLを参照して、S1413の判断により、S1414〜1417のファームインストール処理を実行する。エラーコード「9903113」は、図7に示されるように、「ファームウェア不整合に関するエラー」に分類され、「動作実績のある最新ファームウェア」の「差分配信」し、再起動を行うことで復旧するエラーであるので、上記処理により、デバイス703は、エラーより復旧する。
以上示したように、本実施例によれば、デバイスでエラーが発生した際に、配信サーバからデバイスのファームウェアの再配信処理を行うことで、遠隔地等からインターネットを介してデバイスの再起動を行い、デバイスの障害を復旧することができる。このため、サービスマンの出動を大幅に削減でき、コスト削減を図ることができる。また、本実施例によれば、新たにリモートでの再起動コマンド等を設けることなく、インターネットを介したリモートからデバイスの再起動を実現することができる。
即ち、リモートでのプログラム配信が可能なネットワークデバイスで障害が発生した場合でも、リブートコマンドを用いることなく、リモートからネットワークデバイスを再起動して障害を解消することができる。
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
(他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施例の有機的な組合せを含む)が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。

Claims (6)

  1. ネットワークデバイスとインターネットを介して接続する配信システムであって、
    ネットワークデバイスから障害情報を取得する取得手段と、
    前記障害情報の種別を特定する特定手段と、
    前記障害情報の種別が第1の種別であった場合には、当該障害を前記ネットワークデバイスのリブートにより解消させるために、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムとの差分のみを配信する差分配信で、前記ネットワークデバイスに配信し、また、前記障害情報の種別が第2の種別であった場合には、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムを含めて配信する上書き配信で、前記ネットワークデバイスに配信する配信手段と、
    を有することを特徴とする配信システム。
  2. 前記第1の種別は、再起動により解消する障害に分類される種別であり、
    前記第2の種別は、プログラムを上書きすることにより解消する障害に分類される種別であることを特徴とする請求項1に記載の配信システム。
  3. 前記配信手段は、前記障害情報の種別が第3の種別であった場合には、前記ネットワークデバイスと同機種のネットワークデバイスで実績のある最も新しいバージョンのプログラムを、前記ネットワークデバイスに配信することを特徴とする請求項1又は2に記載の配信システム。
  4. 前記ネットワークデバイスは、前記配信手段によりプログラムが配信されると、該配信されたプログラムで前記ネットワークデバイスのプログラムが更新され、前記ネットワークデバイスがリブートされるものであり、前記差分配信において差分が存在しない場合には、前記プログラムは更新されず、前記ネットワークデバイスがリブートされることを特徴とする請求項1乃至3のいずれか1項に記載の配信システム。
  5. 前記障害は、前記ネットワークデバイスにおいて、前記配信システムから配信されたプログラムを適用した場合に発生した障害を含むことを特徴とする請求項1乃至4のいずれか1項に記載の配信システム。
  6. ネットワークデバイスとインターネットを介して接続する配信システムの制御方法であって、
    ネットワークデバイスから障害情報を取得する取得ステップと、
    前記障害情報の種別を特定する特定ステップと、
    前記障害情報の種別が第1の種別であった場合には、当該障害を前記ネットワークデバイスのリブートにより解消させるために、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムとの差分のみを配信する差分配信で、前記ネットワークデバイスに配信し、また、前記障害情報の種別が第2の種別であった場合には、前記ネットワークデバイスに既に配信されたプログラムと同一のプログラムを、前記ネットワークデバイスに既に配信されたプログラムを含めて配信する上書き配信で、前記ネットワークデバイスに配信する配信ステップと、
    を有することを特徴とする配信システムの制御方法。
JP2013035494A 2013-02-26 2013-02-26 配信システム、配信システムの配信方法 Pending JP2014164553A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013035494A JP2014164553A (ja) 2013-02-26 2013-02-26 配信システム、配信システムの配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013035494A JP2014164553A (ja) 2013-02-26 2013-02-26 配信システム、配信システムの配信方法

Publications (1)

Publication Number Publication Date
JP2014164553A true JP2014164553A (ja) 2014-09-08

Family

ID=51615095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013035494A Pending JP2014164553A (ja) 2013-02-26 2013-02-26 配信システム、配信システムの配信方法

Country Status (1)

Country Link
JP (1) JP2014164553A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168193A1 (ja) * 2021-02-03 2022-08-11 三菱電機株式会社 空気調和システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022168193A1 (ja) * 2021-02-03 2022-08-11 三菱電機株式会社 空気調和システム

Similar Documents

Publication Publication Date Title
US7827277B2 (en) Network system including device managing apparatus that manages network devices through a network
EP2590070A1 (en) Delivery system and management method thereof
EP2355481B1 (en) Management system, monitoring apparatus and method thereof
US8670143B2 (en) System and method for updating firmware of an image forming apparatus
US9619221B2 (en) Image forming apparatus, network system, and control method of image forming apparatus
JP6238724B2 (ja) ネットワークシステム、配信システム、制御方法およびプログラム
CN101739263A (zh) 在多机集群系统中实现操作系统升级的方法及装置
US20150205658A1 (en) Network device and method of specifying data
US20150169257A1 (en) Information processing apparatus, image processing apparatus, information processing method, and firmware upload method
JP2010152710A (ja) プログラム配信サーバ、画像形成装置、プログラム配信システム、および契約書統合方法
US8953193B2 (en) Management system, monitoring apparatus and management
JP6173123B2 (ja) ネットワークシステム、配信システム、制御方法、及びプログラム
JP2017191352A (ja) システム、及び、システムの制御方法
US9423992B2 (en) Management system and control method
JP2014164553A (ja) 配信システム、配信システムの配信方法
US20220067019A1 (en) Data cooperation system and control system
CN112769954B (zh) 一种web程序自动存储和自动路由的方法和系统
US20210405939A1 (en) Device management apparatus, method, and program storage medium
US9727839B2 (en) Distributed primary device data collector with failover operation
US20150106060A1 (en) Monitoring apparatus, monitoring method and non-transitory computer-readable medium
JP6942578B2 (ja) 管理システム、及び制御方法
US20150220661A1 (en) Information processing apparatus, information processing method, and storage medium
JP2017005510A (ja) 画像処理装置、画像処理装置の制御方法、及びプログラム
JP2015142368A (ja) 管理装置および管理方法
JP2018196091A (ja) 管理装置、複合装置、設定管理方法及びプログラム