(57)【要約】      （修正有）【課題】外部端末に対して複数のプログラムを更新する場合に、それらの更新順序や更新の要否を、メーカ側からの最新情報に基づいて判別して更新動作を制御できるプログラム更新管理装置を提供する。【解決手段】管理サーバ１０は指示端末４から短期間のうちにプログラム更新指示を複数回受信して蓄積記憶し（Ｐ１）、該蓄積された複数の更新指示に対して最適な更新順序や更新の要否（重複指示の排除や排他的組み合わせの排除など）を判別する。管理サーバ１０は、画像形成装置３０からユーザの使用しない空き時間が通知されたら（Ｐ３）、先の判別結果に従ってプログラムの更新指示を画像形成装置３０へ送信し（Ｐ４）、画像形成装置３０はこれに応じてプログラムサーバ２０からプログラムをダウンロードして更新する（Ｐ５）。更新結果は管理サーバ１０を中継して指示端末４に通知される（Ｐ６、Ｐ７）。【選択図】図１
2011100464.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに関する更新指示であって更新先の外部端末を示す情報を含む更新指示を受信する受信手段と、
前記受信手段で受信した更新指示を蓄積記憶する記憶手段と、
所定のグループ化のタイミングが到来するまでに別々に受信されて前記記憶手段に記憶されている、同一の外部端末に対する複数の更新指示をグループ化するグループ化手段と、
前記グループ化手段によってグループ化されたグループ別に、そのグループに属する複数の更新指示が示す複数のプログラムについて更新順序を決定する判別手段と、
前記判別手段で決定された更新順序に従って、外部端末に対する前記複数のプログラムの更新動作を制御する制御手段と
を有する
ことを特徴とするプログラム更新管理装置。
【請求項２】
さらに前記判別手段は、前記グループ内で各プログラムの更新の要否を判別し、
前記制御手段は、前記判別手段で更新要と判別されたプログラムのみを対象に更新動作を実行する
ことを特徴とする請求項１に記載のプログラム更新管理装置。
【請求項３】
前記グループ化手段は、プログラムの更新タイミングに併せたタイミングで前記グループ化する
ことを特徴とする請求項１または２に記載のプログラム更新管理装置。
【請求項４】
前記グループ化手段は、プログラムの更新タイミングとは別のタイミングで前記グループ化する
ことを特徴とする請求項１または２に記載のプログラム更新管理装置。
【請求項５】
前記グループ化手段は、予め定められた日時に前記グループ化する
ことを特徴とする請求項４に記載のプログラム更新管理装置。
【請求項６】
前記グループ化手段は、更新指示の受信時から所定時間が経過したとき前記グループ化する
ことを特徴とする請求項４に記載のプログラム更新管理装置。
【請求項７】
前記制御手段は、前記更新動作を所定タイミングで開始する
ことを特徴とする請求項１乃至６のいずれか１つに記載のプログラム更新管理装置。
【請求項８】
前記外部端末から、プログラムの更新時期に関する情報を入手する入手手段をさらに有し、
前記入手手段で入手された前記プログラムの更新時期に関する情報に基づいて前記所定タイミングを決定する
ことを特徴とする請求項７に記載のプログラム更新管理装置。
【請求項９】
前記プログラムの更新時期に関する情報は、前記外部端末の不使用時間帯を示す情報である
ことを特徴とする請求項８に記載のプログラム更新管理装置。
【請求項１０】
前記受信手段で受信される前記更新指示は、プログラムの更新対象の外部端末とは別の端末から送信されたものである
ことを特徴とする請求項１乃至９のいずれか１つに記載のプログラム更新管理装置。
【請求項１１】
前記制御手段は、１つのグループに係る複数のプログラムの更新動作を一括して実行する
ことを特徴とする請求項１乃至１０のいずれか１つに記載のプログラム更新管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部端末に対するプログラム更新を遠隔制御するプログラム更新管理装置に係わり、特に、複数のプログラムを整合をとって更新するための技術に関する。
【背景技術】
【０００２】
プログラムに基づいて動作する装置では、問題点の修正や機能追加のために、市場でプログラムを更新する必要の生じることがある。従来、プログラムの更新はカスタマエンジニアが現場に出向いて作業していたが、近年は、ネットワークを通じてサーバからプログラムをダウンロードすることが一般に行なわれる。
【０００３】
プログラムの大容量化などに伴い、サーバからのプログラム更新には、数分から数十分を要する場合がある。また、多くの装置では、プログラムの更新中は装置を使用できなくなる。そこで、プログラムの更新時刻を予約できるようにし、夜間などユーザに迷惑のかからない時間帯にプログラムの更新作業が実行されるようにしたプログラム更新システムがある（たとえば、特許文献１および２参照。）。
【０００４】
また、多様な機能を備えた装置、たとえば、コピー機能、スキャナ機能、プリンタ機能、ファクシミリ機能などを備えたデジタル複合機では、プログラムを機能別や処理部別の複数に分けて構成しており、これら複数のプログラムの更新順序を間違えると装置が正常に動作しないことがある。たとえば、オプション装置のプログラムを更新してからでないと本体のプログラム更新が適正に行なわれない場合がある。そこで、カスタマエンジニアが現場にいない状態で複数のプログラムを管理サーバからダウンロードして更新する場合にも正しい更新順序が確保されるように、プログラムをダウンロードした装置側でプログラムの更新順序を判断し、本体から遠いオプション装置から順にプログラムを更新するようにしたプログラム更新方法が提案されている（たとえば、特許文献３参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１３５１４７号公報
【特許文献２】特開２００４−１８５１１４号公報
【特許文献３】特開２００４−１９４２９８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
サーバからダウンロードを受ける装置側でプログラムの更新順序を判断する場合、本体から遠い順などの簡単なルールで更新順序を決定することはできるが、多様な条件に基づく複雑な判断を行なおうとすると、装置側の処理負担が大きくなってしまう。また、サーバからダウンロードを受けた装置側でプログラムの更新順序を判断する場合、プログラムの変更点に関する情報やプログラム相互間の関連性などについての最新情報をメーカから入手して対応することも難しい。
【０００７】
さらに、複数のプログラムの更新順序を判断するだけでは、ダウンロードした複数のプログラムの中に更新不要なプログラムが含まれている場合や他のプログラムと整合しないプログラムが含まれている場合には、無駄な更新や装置が動作異常を来すような更新が行なわれてしまう。
【０００８】
また、プログラムの更新時刻を予約できるものであっても、複数のプログラムについて個別に更新予約を行なうと、単に予約時刻の到来した順にプログラムの更新が実行されるだけなので、無駄な更新や不適正な順序での更新の生じる虞があった。
【０００９】
本発明は、上記の問題を解決しようとするものであり、外部端末に対して複数のプログラムを更新する場合に、それらの更新順序や更新の要否を適正に制御することのできるプログラム更新管理装置を提供することを目的としている。
【課題を解決するための手段】
【００１０】
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
【００１１】
（１）プログラムに関する更新指示であって更新先の外部端末を示す情報を含む更新指示を受信する受信手段と、
前記受信手段で受信した更新指示を蓄積記憶する記憶手段と、
所定のグループ化のタイミングが到来するまでに別々に受信されて前記記憶手段に記憶されている、同一の外部端末に対する複数の更新指示をグループ化するグループ化手段と、
前記グループ化手段によってグループ化されたグループ別に、そのグループに属する複数の更新指示が示す複数のプログラムについて更新順序を決定する判別手段と、
前記判別手段で決定された更新順序に従って、外部端末に対する前記複数のプログラムの更新動作を制御する制御手段と
を有する
ことを特徴とするプログラム更新管理装置。
【００１２】
上記発明では、プログラム更新管理装置は、カスタマエンジニアの携帯端末などから送信されたプログラムの更新指示を受信して蓄積記憶し、該記憶されている、同一の外部端末に対する更新指示をグループ化し、グループ別にそのグループに属する複数の更新指示に係る複数のプログラムの更新順序を決定し、その判別結果の更新順序に従って外部端末に対するプログラムの更新動作（ダウンロードなど）を制御する。
【００１３】
プログラム更新管理装置で更新順序を判別し決定してプログラムの更新動作を制御するので、更新順序を決定するための基礎データはプログラム更新管理装置のみに入力すればよく、個々の外部端末で更新順序を判断する場合に比べて、メーカ側からの最新情報を反映した判別を行ないやすい。
【００１４】
更新順序の判別方法や判別論理は問わないが、たとえば、プログラム相互間の更新の優先順序を示す管理情報を予め記憶しておき、この管理情報に基づいて判別することができる。
【００１５】
プログラムの更新指示は、たとえば、短期間のうちに複数回受信されて記憶手段に蓄積記憶される。グループ化手段はこれら複数の更新指示を所定の基準でグループ化する。たとえば、毎日、規定の時刻までに受信されたものを１つのグループにまとめたり、最初の更新指示を受信してから規定時間が経過するまでに受信されたものを１つのグループにまとめたり、最新の更新指示から規定時間が経過する前に次の更新指示が受信されない場合にそれまでに受信したものを１つにグループ化したりするなどの方法がある。判別手段は、各グループ内でプログラムの更新順序を判別する。
【００１６】
（２）さらに前記判別手段は、前記グループ内で各プログラムの更新の要否を判別し、
前記制御手段は、前記判別手段で更新要と判別されたプログラムのみを対象に更新動作を実行する
ことを特徴とする（１）に記載のプログラム更新管理装置。
【００１７】
上記発明では、プログラムの更新指示をグループ化し、各グループ内で、更新の順序と各プログラムの更新の要否とが判別される。まず、更新の要否を判別し、更新要とされたもののみについて更新順序を判別すると効率的であるが、更新順序を判別してから、更新の要否を判別してもよい。更新の要否の判別は、たとえば、複数のプログラムの相互関係（バージョンの新旧や排他関係）、更新先の外部端末に関する情報（プログラムの更新履歴やシステム構成など）に基づいて行なうことができる。
【００１８】
（３）前記グループ化手段は、プログラムの更新タイミングに併せたタイミングで前記グループ化する
ことを特徴とする（１）または（２）に記載のプログラム更新管理装置。
【００１９】
（４）前記グループ化手段は、プログラムの更新タイミングとは別のタイミングで前記グループ化する
ことを特徴とする（１）または（２）に記載のプログラム更新管理装置。
【００２０】
（５）前記グループ化手段は、予め定められた日時に前記グループ化する
ことを特徴とする（４）に記載のプログラム更新管理装置。
【００２１】
（６）前記グループ化手段は、更新指示の受信時から所定時間が経過したとき前記グループ化する
ことを特徴とする（４）に記載のプログラム更新管理装置。
【００２２】
（７）前記制御手段は、前記更新動作を所定タイミングで開始する
ことを特徴とする（１）乃至（６）のいずれか１つに記載のプログラム更新管理装置。
【００２３】
上記発明では、プログラムの更新指示を受けた場合でも、直ぐに更新を行なわず、所定のタイミングが到来するのを待ってから更新を実行する。所定タイミングは、夜１２時など特定の時刻でもよいし、関連する複数のプログラムに対する更新指示が揃った時点など特定の条件が満足されたタイミングでもよい。所定タイミングはプログラム更新管理装置側で設定してもよいし、更新の依頼者側から指定されても、更新先の外部端末から指定されてもよい。
【００２４】
（８）前記外部端末から、プログラムの更新時期に関する情報を入手する入手手段をさらに有し、
前記入手手段で入手された前記プログラムの更新時期に関する情報に基づいて前記所定タイミングを決定する
ことを特徴とする（７）に記載のプログラム更新管理装置。
【００２５】
上記発明では、更新先の外部端末からプログラムの更新時期に関する情報を入手し、その情報で指定された更新時期が到来したとき、プログラムの更新動作を実行する。これにより、外部端末側の都合に応じたタイミングでプログラムの更新が実行される。プログラムの更新時期に関する情報は、予め入手してプログラム更新管理装置に記憶しておき、その更新時期の到来をプログラム更新管理装置側で管理してもよいし、更新時期が到来した時点で外部端末から通知されてもよい。
【００２６】
（９）前記プログラムの更新時期に関する情報は、前記外部端末の不使用時間帯を示す情報である
ことを特徴とする（８）に記載のプログラム更新管理装置。
【００２７】
上記発明では、夜間や休日など、外部端末が使用されない時間帯がプログラムの更新時期に指定される。
【００２８】
（１０）前記受信手段で受信される前記更新指示は、プログラムの更新対象の外部端末とは別の端末から送信されたものである
ことを特徴とする（１）乃至（９）のいずれか１つに記載のプログラム更新管理装置。
【００２９】
上記発明では、たとえば、更新先の外部端末から離れた場所にいるカスタマエンジニアの携帯端末から、プログラム更新管理装置に対してプログラムの更新指示が送信される。
【００３０】
（１１）前記制御手段は、１つのグループに係る複数のプログラムの更新動作を一括して実行する
ことを特徴とする（１）乃至（１０）のいずれか１つに記載のプログラム更新管理装置。
【００３１】
上記発明では、１つのグループに係る複数のプログラムについて、更新順序や更新の要否を判別し、所定タイミングが到来したとき、更新要とされたプログラムを、判別結果の更新順序で一括（連続）して更新するように制御する。たとえば、外部端末が使用されない時間帯に、複数のプログラムを連続して一括更新する。
【発明の効果】
【００３２】
本発明に係わるプログラム更新管理装置によれば、カスタマエンジニアの携帯端末などから受信した同一の外部端末に対する複数の更新指示をグループ化し、そのグループに属する複数の更新指示が示す複数のプログラムの更新順序を判別し、その更新順序に従って外部端末に対するプログラムの更新動作を制御するので、複数のプログラムをプログラム更新管理装置にて判別した適正な順序で更新することができ、不適正な順序での更新により更新先の装置で動作異常を来すような事態を防止することができる。
【００３３】
また、更新順序などをプログラム更新管理装置側で判別するので、該判別の基礎データはプログラム更新管理装置においてのみ更新すれば済み、それぞれの外部装置で更新順序を判別する場合に比べて、メーカ側からの最新情報を判別の基礎データに迅速かつ詳細に反映させることができ、複数のプログラムの更新動作を最新情報に基づいて的確に制御することができる。
【００３４】
さらに、各プログラムの更新の要否を判別するものでは、同一プログラムの重複更新や新旧バージョン双方の無駄な更新、動作異常を生じさせる不整合な組み合わせによるプログラムの更新などを防止することができる。
【００３５】
また、外部端末が使用されない時間帯に更新動作を実施するものでは、ユーザの使用を妨げることなくプログラムを更新することができる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施の形態に係わる管理サーバを含むプログラム更新システムの構成を示す説明図である。
【図２】本発明の実施の形態に係わる管理サーバの機能構成を示すブロック図である。
【図３】管理サーバの管理情報記憶部に記憶される管理情報テーブルの一例を示す説明図である。
【図４】プログラム更新システムにおけるプログラム更新処理の全体動作を示す流れ図である。
【図５】プログラム更新システムにおけるプログラム更新処理の動作の具体例を示す流れ図である。
【図６】図５に示す動作で作成される更新指示蓄積テーブルおよび更新管理テーブルの一例を示す説明図である。
【図７】管理サーバとプログラムサーバとを一体にした場合におけるプログラム更新システムの構成例を示す説明図である。
【発明を実施するための形態】
【００３７】
以下、図面に基づき本発明の実施の形態を説明する。
【００３８】
図１は、本発明の実施の形態に係わるプログラム更新管理装置としての管理サーバ１０を含むプログラム更新システム５の構成例を示している。プログラム更新システム５は、プログラムの更新動作を管理する管理サーバ１０と、プログラムを蓄積保存するプログラムサーバ２０と、プログラムの更新先の外部端末である画像形成装置３０と、プログラムの更新指示を管理サーバ１０に対して送信する指示端末４とを、インターネット２などのネットワークを介して接続して構成される。
【００３９】
プログラム更新システム５は、画像形成装置３０の保守・点検・管理を行なうカスタマエンジニアなどの更新指示者３が、携帯電話や携帯端末あるいは営業所に設置されたコンピュータ装置などの指示端末４を用いて画像形成装置３０のプログラムを遠隔から更新するためのシステムである。
【００４０】
プログラム更新システム５は、更新指示者３の指示端末４からプログラムの更新指示が短期間のうちに複数回送信されることを想定したものであり、管理サーバ１０は更新指示を受信した場合に、対応する更新動作を直ぐに実行するのではなく、受信した更新指示を次の更新タイミングが来るまで蓄積記憶する。そして、次の更新タイミングが到来したとき、それまでに受信された複数の更新指示に対して更新の要否や更新順序などを総合的に判別して更新の内容を適正化した後、プログラムの更新を実行するようになっている。
【００４１】
指示端末４は、更新指示者３からプログラムの更新指示の入力操作を受け付ける機能と、該入力操作に応じてプログラムの更新指示を管理サーバ１０に送信する機能と、更新結果の通知を管理サーバ１０から受信して表示する機能を備えている。更新指示や更新結果の通知は、電子メールや管理サーバ１０が提供するウェブページなどを通じて行なわれる。
【００４２】
プログラムサーバ２０は、各種プログラムを保存する機能と、保存してあるプログラムをダウンロード要求に応じて画像形成装置３０へダウンロードする機能を備えている。
【００４３】
画像形成装置３０は、原稿のコピー機能、スキャナ機能、プリンタ機能、ファクシミリ機能などを備えたデジタル複合機として構成されており、本体３１に自動原稿送り装置（ＡＤＦ…Auto Document Feeder）３２や、穴あけや綴じといった処理を行なうフィニッシャ装置（ＦＮＳ…finisher）３３などのオプション装置を装着して構成される。本体３１は、原稿画像を読み取るスキャナ部や、画像を記録紙に印刷するプリンタ部、ユーザインターフェイスを図る操作表示部、インターネット２に接続された各種の機器と通信する通信部、画像データの記憶部などを備えて構成される。
【００４４】
さらに画像形成装置３０の本体３１は、制御部としての機能を果たす図示省略のＣＰＵ（Central Processing Unit）を有すると共に、自装置の動作を制御するための複数種類のプログラムをフラッシュメモリなどの書き換え可能な不揮発メモリに記憶している。たとえば、画像形成装置３０の全体動作を制御するメインプログラム、自動原稿送り装置３２を制御するＡＤＦ制御プログラム、フィニッシャ装置３３を制御するＦＮＳ制御プログラムなど、装置構成やオプション装置の装着状況などに応じた複数種類のプログラムを記憶している。
【００４５】
また、画像形成装置３０は管理サーバ１０からの指示に従って該当のプログラムをプログラムサーバ２０からダウンロードして、自装置内のプログラムを更新する機能を備えている。セキュリティ上、登録済みの管理サーバ１０からの更新指示のみを受け付ける。また、登録済みの管理サーバ１０に対して、自機宛の更新指示の有無を定期的に確認するためにポーリングする機能を備えている。
【００４６】
管理サーバ１０からの更新指示は個々のプログラム単位に行なわれる。画像形成装置３０は、１つの更新指示を受信すると、それに従ってプログラムサーバ２０から該当のプログラムをダウンロードして更新した後、更新終了（更新結果）を管理サーバ１０へ通知して、次の更新指示を促す。複数のプログラムを連続して更新する場合は、上記の動作が複数回繰り返される。
【００４７】
さらに、画像形成装置３０は、プログラムの更新タイミングを管理サーバ１０に通知する機能を有している。ここでは、ユーザが画像形成装置３０を使用しない時間帯（不使用時間帯）を管理サーバ１０に通知するようになっている。たとえば、画像形成装置３０の副電源がオフになるとき、装置のオフ期間を予約するウィークリータイマにおいて設定されたオフ時間になるとき、一定期間の不使用で自動的に副電源がオフ（省電力モード）になるときなどに、更新タイミングを通知するようにしてもよい。つまり、上記のような条件で装置の電源がオフになってから次に電源がオンされるまでの間はユーザが当該画像形成装置３０を使用しない時間帯であるとみなし、管理サーバ１０に更新タイミングを通知する。
【００４８】
また、ユーザが月曜日から金曜日までの毎日１０：００に電源オンし２１：００に電源オフするようにウィークリータイマを設定した場合、毎日２１：００から翌朝１０：００までと土曜・日曜の終日がユーザの不使用時間帯となるので、係るタイマーの設定情報を該不使用時間帯を示す情報として管理サーバ１０に通知する。管理サーバ１０は、この通知を受けた画像形成装置３０については、その不使用時間帯にプログラムの更新動作を実行するようになっている。
【００４９】
図２は、管理サーバ１０の概略機能構成を示している。管理サーバ１０は、指示端末４からプログラムの更新指示を受信する受信手段１１と、受信手段１１で受信した複数のプログラムに関する更新指示を記憶する記憶手段１２と、更新時期を管理し制御する更新時期管理手段１３と、記憶手段１２に記憶されている更新指示が示す複数のプログラムをグループ化するグループ化手段１４と、１つのグループに属する複数のプログラムについて、更新順序の決定や更新の要否を判別する判別手段１５と、画像形成装置３０に対するプログラムの更新動作を判別手段１５の判別結果に従って制御する制御手段１６と、更新の結果を指示端末４へ通知する通知手段１７などの機能を備えている。かかる機能を備えた管理サーバ１０は、ＣＰＵ、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）、入出力インターフェイス部、通信部、記憶部などを有するコンピュータ装置にて構成される。
【００５０】
管理サーバ１０は、更新の順序の決定や更新の要否を判別するための基礎データとなる管理情報を記憶した管理情報記憶部１８をさらに備えている。管理情報記憶部１８には、画像形成装置３０のメーカ側から提供される管理情報が逐次更新されて最新の状態で記憶されるようになっている。判別手段１５は、管理情報記憶部１８に記憶された管理情報のほか、画像形成装置３０から入手される装置情報（たとえば、機種やシステム構成、現在のプログラムに関するバージョン情報）などに基づいて、更新の要否や更新順序を判別する。
【００５１】
更新時期管理手段１３は、画像形成装置３０から受信される更新タイミング（ウィークリータイマによる不使用時間帯など）の通知や、自装置に設定された日時、更新指示の受信状況などに基づいてプログラムの更新時期を判断する。
【００５２】
グループ化手段１４は、たとえば、毎日、規定の時刻（たとえば夜１０時）までに受信された更新指示を１つのグループにまとめたり、最初の更新指示を受信してから規定時間（たとえば、５時間）が経過するまでの間に受信された更新指示を１つのグループにまとめたり、最新の更新指示から規定時間（たとえば、２時間）が経過する前に同一の画像形成装置３０に対する次の更新指示が受信されない場合にそれまでに受信した更新指示を１つのグループにまとめたりするなどの方法によりグループ化する。すなわち、受信された更新指示を蓄積し、ある基準で１つのグループにまとめる機能を果たす。
【００５３】
なお、グループ化の方法は、これらに限定されない。また、グループ化の方法は、管理サーバ１０にて設定変更したり、指示端末４からの指示で設定変更可能になっている。さらに、指示端末４から送信する更新指示においてグループ番号などを指定可能とし、同一のグループ番号を持つ更新指示同士をグループ化するようにしてもよい。
【００５４】
また、グループ化する時期と、更新の要否や更新順序を判別する時期と、判別結果に従って制御手段１６が更新動作を実行する時期とは別々であってもよいし、同時期であってもよい。たとえば、画像形成装置３０から更新タイミングを通知されたとき、それまでに記憶手段１２に蓄積しているその画像形成装置３０に対する更新指示をグループ化し、このグループに属する更新指示について判別手段１５で更新の要否や更新順序を判別し、該判別結果に従って更新動作を制御するように構成してもよい。
【００５５】
制御手段１６は、更新動作を実行するとき、１つのグループに属する複数のプログラムについて、更新動作を連続実行（一括実行）するようになっている。具体的には、１つのプログラムの更新指示を画像形成装置３０に送信し、画像形成装置３０からその更新終了の通知を受信すると、次のプログラムの更新指示を画像形成装置３０に送信するという動作を、更新するプログラムの数だけ連続的に繰り返すことにより、複数のプログラムの更新動作を一括実行するようになっている。
【００５６】
図３は、管理情報記憶部１８に記憶される管理情報テーブル５０の一例を示している。管理情報テーブル５０は、機種情報５１と、その機種で使用され得るプログラムやドライバの種別情報５２と、各プログラムの現バージョン５３と、これらのプログラムやドライバの最新適正組み合わせ規則を示す情報５４と、更新順序の優先順位を示す情報５５とを対応付けした管理情報を、機種毎に記憶したものである。図３は１機種分の管理情報を示してある。
【００５７】
図３に示す管理情報テーブル５０に示す優先順位は、「第１のプログラムの動作に影響を与える第２のプログラムの優先順位を、第１のプログラムの優先順位より高める」という規則で設定してある。たとえば、自動原稿送り装置（ＡＤＦ）３２はエンジンの動作に影響を与え、エンジンの動作はフィニッシャ装置（ＦＮＳ）３３の動作に影響を与えるので、ＡＤＦ（１）＞エンジン（２）＞ＦＮＳ（３）の優先順位となっている。また、エンジン、ＡＤＦ、ＦＮＳなどの機器の状態はドライバの動作や設定に影響を与えるので、ドライバの優先順位は他のプログラムより低く設定されている。
【００５８】
なお、各プログラムの現バージョン５３は、予め登録されるものではなく、プログラムの更新を行なうときなどに更新先の画像形成装置３０から入手するようになっている。
【００５９】
図４は、プログラム更新システム５におけるプログラム更新処理の流れを示している。また、図１には、そのときの概略データフローを示してある。更新指示者３の操作に基づき指示端末４から複数のプログラムに関する更新指示が送信され、管理サーバ１０にて受信される（図４；ステップＳ１０１、図１；Ｐ１）。複数のプログラムに関する更新指示は、短時間の間に送信される複数の更新指示によるものでもよいし、１回の更新指示で指示されてもよい。複数のプログラムに関する更新指示は、前述したような基準でグループ化される。管理サーバ１０は、更新指示が示す更新先の画像形成装置３０から、機種、システム構成、各プログラムの現バージョンなどを示す情報を入手する（ステップＳ１２１、Ｓ１４１）。
【００６０】
次に、管理サーバ１０の判別手段１５は、管理情報記憶部１８に記憶してある管理情報テーブル５０を参照して、該当の機種に関する管理情報を取得し、この管理情報の最新適正組み合わせ規則を示す情報５４などに基づいて、グループ内の複数のプログラムについて更新の要否や更新順序を判別し（ステップＳ１２２）、その判別結果を更新管理テーブルに登録する（ステップＳ１２３）。
【００６１】
たとえば、判別手段１５は、同一プログラムについて複数の更新指示が重複する場合は、その中の１つを残して他の更新指示を削除する。また、同じ制御対象に対する新バージョンのプログラムと旧バージョンのプログラムとの更新指示が重複する場合、たとえば、新バージョン側を更新要と判別し、旧バージョン側を更新不要と判別する。あるいは、旧バージョンに更新した後でなければ新バージョンに更新できないなどの更新条件がある場合は、その更新条件に従って更新の要否や更新順序を判別する。たとえば、旧バージョン、新バージョンの順で更新するように判別される。更新要と判別されたプログラムは、予約受付となり、そのプログラムに対する更新指示が、更新管理テーブルに、更新順位１位から順に登録される。
【００６２】
その後、管理サーバ１０は、更新指示が予約受付されたことや重複などにより更新指示が削除されたことなどを表わす受付結果通知を指示端末４に送信する（ステップＳ１２４、図１；Ｐ２）。
【００６３】
その後、画像形成装置３０における不使用時間帯の到来などにより、画像形成装置３０から管理サーバ１０へ更新タイミングが通知されると（ステップＳ１２５、Ｓ１４２、図１；Ｐ３）、管理サーバ１０は、更新管理テーブル内の登録順位１位の更新指示を画像形成装置３０に送信する（ステップＳ１２６、図１；Ｐ４）と共に、指示端末４に対して更新動作が開始されたことを通知する（ステップＳ１２７）。
【００６４】
画像形成装置３０は管理サーバ１０から受信した更新指示に従って、プログラムサーバ２０からプログラムをダウンロードしてプログラムの更新処理を実行する（ステップＳ１４３、図１；Ｐ５）。更新が終了すると、更新の成否などの更新結果を含む更新終了通知を管理サーバ１０へ送信する（ステップＳ１４４、図１；Ｐ６）。
【００６５】
管理サーバ１０は、画像形成装置３０から更新終了通知を受信すると、これに対応する更新結果通知を指示端末４へ送信した後（ステップＳ１２８、図１；Ｐ７）、更新管理テーブルの順位を１つ繰り上げて（ステップＳ１２９）、次の更新指示が更新管理テーブルに存在するか否かを調べる（ステップＳ１３０）。次の更新指示が存在するときは（ステップＳ１３０；Ｎ）、ステップＳ１２５に戻って、その更新指示に関する更新動作を制御する。次の更新指示が存在しないときは（ステップＳ１３０；Ｙ）処理を終了する（エンド）。
【００６６】
次に、更新指示Ａ、Ｂ、Ｃ、Ｄを受信した場合の具体例を図５および図６に基づいて説明する。図５に示すように、管理サーバ１０は指示端末４から更新指示Ａ（受付日時；２月２８日１０：００、更新内容；エンジンプログラムVer5.1）と、更新指示Ｂ（受付日時；２月２８日１１：００、更新内容；ＡＤＦプログラムVer2.1）と、更新指示Ｃ（受付日時；２月２８日１１：１０、更新内容；エンジンプログラムVer4.0）と、更新指示Ｄ（受付日時；２月２８日１１：３０、更新内容；エンジンプログラムVer5.1）とを順に受信する（図５；Ｓ２０１〜Ｓ２０４）。図６（ａ）は、管理サーバ１０の記憶手段１２に記憶された更新指示蓄積テーブル６０の一例を示している。管理情報記憶部１８には受信順に更新指示Ａ、Ｂ、Ｃ、Ｄが記憶されている。
【００６７】
判別手段１５は、更新指示蓄積テーブル６０に記憶されている４つの更新指示に対して、図３の管理情報テーブル５０が示す基準により、更新の要否や更新順序を判別する（図５、Ｓ２０５〜Ｓ２０７）。この例では、図３の管理情報テーブル５０で優先順位が第１位のＡＤＦに対する更新指示Ｂ（ＡＤＦプログラムVer2.1）を更新順位１位にする。また、更新指示Ａと更新指示Ｄとは更新内容が重複しているので、いずれか一方（ここでは更新指示Ｄ）を削除（重複取消）する。さらに更新指示Ｃ（エンジンプログラムVer4.0）は更新指示Ａ（エンジンプログラムVer5.1）を行なえば不必要となるので削除（排他取消）する。
【００６８】
図６（ｂ）は、上記の判別結果により作成された更新管理テーブル７０を示している。更新指示Ｂ（受付日時；２月２８日１１：００）と更新指示Ａ（受付日時；２月２８日１０：００）とは順序が入れ替えられている。また更新指示Ｃ、Ｄは更新不要と判別されて削除されている。
【００６９】
更新管理テーブル７０を作成した後、更新指示Ａと更新指示Ｂについては予約受付したことを指示端末４に通知し（ステップＳ２０８、Ｓ２０９）、更新指示Ｃはついては排他取消を通知し（ステップＳ２１０）、更新指示Ｄについては重複取消を通知する（ステップＳ２１１）。
【００７０】
次に、管理サーバ１０は、画像形成装置３０がユーザの使用しない不使用時間帯にあるか否かを確認し（ステップＳ２１２）、不使用時間帯にある（空き時間ＯＫ）場合は（ステップＳ２１３）、更新管理テーブル７０に従ってプログラムの更新動作を制御する。
【００７１】
詳細には、まず、更新管理テーブル７０の先頭に登録されている更新指示Ｂを画像形成装置３０に送信し（ステップＳ２１４）、更新指示Ｂに係わる更新動作を開始したことを指示端末４に通知する（ステップＳ２１５）。画像形成装置３０は更新指示Ｂに従ってプログラムをプログラムサーバ２０からダウンロードして更新し（ステップＳ２１６）、更新指示Ｂに関する更新終了を管理サーバ１０に通知する（ステップＳ２１７）。管理サーバ１０は画像形成装置３０から受信した更新終了の通知を指示端末４に中継送信する（ステップＳ２１８）。
【００７２】
続いて更新管理テーブル７０の２番目に登録されている更新指示Ａについて上記と同様の手順で更新処理を実行する（ステップＳ２１９〜Ｓ２２５）。これにより指示端末４から受信した更新指示Ａ、Ｂ、Ｃ、Ｄに関するプログラムの更新処理が終了する。
【００７３】
このように、カスタマエンジニアの指示端末４から複数のプログラムの更新指示を受信し、これらの更新指示が示す複数のプログラムについて、更新順序や更新の要否（重複取消や排他取消）を判別し、その判別結果に従って画像形成装置３０に対するプログラムの更新動作を制御するので、複数のプログラムを適正な順序で更新することができ、不適正な順序での更新によって装置が動作異常を来すようなことが防止される。また更新の要否を判別するので、同一プログラムの重複更新や新旧バージョン双方の無駄な更新、装置の動作異常を生じさせる不整合な組み合わせによるプログラムの更新などを防止することができる。
【００７４】
さらに、更新順序や更新の要否などを管理サーバ１０側で判別するので、各画像形成装置３０で個別に判別する場合に比べて、メーカ側からの最新情報を判別の基礎データ（管理情報テーブル５０）に迅速かつ詳細に反映させることができ、複数のプログラムの更新動作を最新情報に基づいて的確に制御することができる。
【００７５】
また、画像形成装置３０が不使用となる時間帯にプログラムの更新動作を実行するので、ユーザの使用を妨げることなくプログラムを更新することができる。
【００７６】
以上、本発明の実施の形態を図面によって説明してきたが、具体的な構成は実施の形態に示したものに限られるものではなく、本発明の要旨を逸脱しない範囲における変更や追加があっても本発明に含まれる。
【００７７】
たとえば、管理サーバ１０とプログラムサーバ２０とは、図７に示すように、一体に構成されてもよい。
【００７８】
また、プログラムの更新時期は画像形成装置３０の不使用時間帯に限定されるものではなく、管理サーバ１０側で定めた更新タイミングやその他の条件で定めた適宜のタイミングで更新してもよい。また、実施の形態では、更新時期が到来したとき、更新要とされた複数のプログラムの更新を連続的に一括して行なうようにしたが、判別結果の更新順序が維持されれば、複数回に分けて更新動作を実行してもよい。
【００７９】
また、指示端末４から送信する更新指示において、その更新指示の優先順位や即時実行を指定可能に構成してもよい。管理サーバ１０は即時実行の更新指示を受けた場合は、その更新指示を単独で即時実行（現在更新中の場合はその更新動作の終了後に実行）してもよいし、それ以前に受信されている更新指示との間で更新順序や更新の要否を判別し、その判別結果に従って更新動作を即時実行してもよい。
【００８０】
また、指示端末４から送信する１つの更新指示で複数の画像形成装置３０を更新先に指定可能に構成してもよい。この場合、更新先の画像形成装置３０毎に更新順序や更新の要否を判別する。
【００８１】
このほか、指示端末４から管理サーバ１０に対して更新順序を問い合わせて確認したり、更新順序を強制的に入れ替えたりできるように構成されてもよい。
【００８２】
実施の形態では、更新先の外部装置として画像形成装置３０を例示したが、複数のプログラムを実装し更新可能な装置であれば、他の種類の装置であってもかまわない。
【符号の説明】
【００８３】
２…インターネット
３…更新指示者
４…指示端末
５…プログラム更新システム
１０…管理サーバ
１１…受信手段
１２…記憶手段
１３…更新時期管理手段
１４…グループ化手段
１５…判別手段
１６…制御手段
１７…通知手段
１８…管理情報記憶部
２０…プログラムサーバ
３０…画像形成装置
３１…画像形成装置の本体
３２…自動原稿送り装置（ＡＤＦ）
３３…フィニッシャ装置（ＦＮＳ）
５０…管理情報テーブル
６０…更新指示蓄積テーブル
７０…更新管理テーブル
【図１】
2011100464.tif 000003
【図２】
2011100464.tif 000004
【図３】
2011100464.tif 000005
【図４】
2011100464.tif 000006
【図５】
2011100464.tif 000007
【図６】
2011100464.tif 000008
【図７】
2011100464.tif 000009