(57)【要約】      （修正有）【課題】一部の機能に障害が発生した画像形成装置とクラウドコンピューティング環境とが通信を行う際、画像形成装置は通信方式を選択しクラウドコンピューティング環境と通信を行う。【解決手段】プリンタ１０２がサーバ１０３とファイアーウォール１０４を介して通信を行う際に、プリンタ１０２は利用不可能となった機能と同等の機能を提供するサービスを受けるために、そのサービスを受けるのに適した通信方式を採用し通信経路を構築する。【選択図】図１
2012037944.tif 000002
【特許請求の範囲】
【請求項１】
ファイアーウォールを介してサービス提供システムと通信可能な画像形成装置であって、
前記サービス提供システムが提供するサービスの中から、障害により制限された前記画像形成装置の機能に対応する代行機能を提供するサービスを特定する特定手段と、
前記サービス提供システムとファイアーウォールを介して通信を行う際に利用する複数の通信方式の内、前記特定手段により特定されたサービスとデータ通信を行うために利用する通信方式を判定する判定手段と、
前記判定手段により判定された通信方式を利用して、前記特定手段により特定されたサービスとデータ通信を行う通信手段とを有する画像形成装置。
【請求項２】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めるか否かに基づき、前記特定手段により特定されたサービスを受けるために利用する通信方式を判定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記判定手段は、通信経路の状況が即時性を実現できるか否かに基づき、前記特定手段により特定されたサービスを受けるために利用する通信方式を判定することを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めるか否か、および通信経路の状況が即時性を実現できるか否かの両方に基づき通信方式を判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記複数の通信方式は、
ａ）前記サービス提供システムが前記画像形成装置とのセッションを保持し、該セッションを保持している状態を維持し、前記サービス提供システムが応答を返す際、該保持しているセッションを介して応答を返すプッシュ方式
ｂ）前記画像形成装置が前記サービス提供システムに対し繰り返し応答を要求し、該要求に応じて返される前記サービス提供システムからの応答を受けたことに応じて、前記繰り返し行われる要求を停止するプル方式
ａ）とｂ）の両方の通信方式を含むことを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めるサービスであって、かつ前記通信経路の状況が即時性を実現できない状況である場合は、前記プル方式と判定することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めないサービスであって、かつ前記通信経路の状況が即時性を実現できない状況である場合は、前記プル方式と判定することを特徴とする請求項５または６に記載の画像形成装置。
【請求項８】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めるサービスであって、かつ前記通信経路の状況が即時性を実現できる状況である場合は、前記プッシュ方式と判定することを特徴とする請求項５乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記判定手段は、前記特定手段により特定されたサービスが通信に即時性を求めないサービスであって、かつ前記通信経路の状況が即時性を実現できる状況である場合は、
サービス提供装置から受信した、サービスに即時性を求める指示がされているか否かに関する情報を基に通信方式を判定することを特徴とする請求項５乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
前記判定手段は、前記サービス提供装置から受信した情報がサービスに即時性を求める指示である場合は、プッシュ方式と判定し、前記サービス提供装置から受信した情報がサービスに即時性を求める指示でない場合は、プル方式と判定することを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記利用不可能となった機能とは、イメージデータの描画処理を行う画像処理機能であって、
障害により利用不可能となった画像処理機能と同等の機能を提供するサービス、および前記画像処理機能により描画されたイメージデータに対し圧縮伸長を施す圧縮伸長機能と同等の機能を提供するサービスの両方のサービスに代理処理を行わせデータ通信を行うことを特徴とする請求項１乃至１０のいずれか１項に記載の画像形成装置。
【請求項１２】
ファイアーウォールを介してサービス提供システムと通信可能な画像形成装置を制御する制御方法であって、
特定手段は、前記サービス提供システムが提供するサービスの中から、障害により利用不可能となった前記画像形成装置の機能に対応する代行機能を提供するサービスを特定し、
判定手段は、前記サービス提供システムとファイアーウォールを介して通信を行う際に利用する複数の通信方式の内、前記特定手段により特定されたサービスを受けるために利用する通信方式を判定し、
送受信手段は、前記判定手段により判定された通信方式を利用して、前記特定手段により特定されたサービスとデータを送受信する画像形成装置を制御する制御方法。
【請求項１３】
ファイアーウォールを介してサービス提供システムと通信可能な画像形成装置を制御する制御方法を前記画像形成装置に実行させるためのプログラムであって、
前記サービス提供システムが提供するサービスの中から、障害により利用不可能となった前記画像形成装置の機能に対応する代行機能を提供するサービスを特定する特定ステップと、
前記サービス提供システムとファイアーウォールを介して通信を行う際に利用する複数の通信方式の内、前記特定ステップにより特定されたサービスを受けるために利用する通信方式を判定する判定ステップと、
前記判定ステップにより判定された通信方式を利用して、前記特定ステップにより特定されたサービスとデータを送受信する送受信ステップとを有するステップを前記画像形成装置に実行させるためのプログラム。
【請求項１４】
ファイアーウォールを介してサービス提供システムと通信可能な画像形成装置であって、
障害により利用不可能となった前記画像形成装置の機能と同等な機能を提供する前記サービス提供システムのサービスからデータを受信する場合、ファイアーウォールを通過して通信を行える複数の通信方式の内、前記サービスからデータ通信を行うために利用する通信方式を判定する判定手段と、
前記判定手段により判定された通信方式を利用して、前記サービスからデータ通信を行う通信手段とを有する画像形成装置。
【請求項１５】
画像形成装置と、サービス提供システムとがファイアーウォールを介して通信可能な代行運転システムであって、
前記サービス提供システムが提供するサービスの中から、障害により利用不可能となった前記画像形成装置の機能に対応する代行機能を提供するサービスを特定する特定手段と、
前記サービス提供システムとファイアーウォールを介して通信を行う際に利用する複数の通信方式の内、前記特定手段により特定されたサービスからデータ通信を行うために利用する通信方式を判定する判定手段と、
前記判定手段により判定された通信方式を利用して、前記特定手段により特定されたサービスからデータ通信を行う通信手段とを有する代行運転システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一部の機能が制限されたことにより代行運転を行う画像形成装置、代行運転システム、画像形成装置の制御方法、プログラムに関する。
【背景技術】
【０００２】
従来技術として、一部の機能が制限された画像形成装置に関する技術が存在する。
【０００３】
特許文献１は、画像形成装置の一部の機能に障害が発生した場合、障害に係わる機能を判定し、その機能を無効化して縮退運転を行う方法を開示している。これにより、ユーザは、障害に係わらない他の機能を引き続き使用することが可能になる。
【０００４】
また、機能が制限された画像形成装置が、他の装置を利用する発明が存在する。特許文献２は、機能が制限された画像形成装置が、他の画像形成装置の機能を利用する方法を開示している。これにより、ユーザは、機能が制限された画像形成装置を利用した場合であっても、所望の結果を得ることが可能になる。
【０００５】
また、近年、クラウドコンピューティングと呼ばれるモデルが注目されている。クラウドコンピューティングは、多くのコンピューティング・リソースを用いてデータ変換やデータ処理を分散実行し、多くのクライアントからの要求を同時に処理することが主な特徴である。また、クラウドコンピューティングを実現したクラウドコンピューティング環境に様々なＷｅｂサービスを置くことで、クラウドコンピューティング環境にアクセスした装置に対して多種多様なサービスを提供することが可能になる。
【０００６】
通常、クラウドコンピューティング環境はインターネット上に存在し、クライアントとクラウドコンピューティング環境はファイアーウォールを介して通信を行う。このとき、両者の間にはファイアーウォールが存在するため、サービスを提供する側のクラウドコンピューティング環境が起点となり、サービスを受ける側のクライアントへデータを送ることはできない。ファイアーウォールは外部環境としてのクラウドコンピューティング環境からの通信パケットを遮断する機能を有するからである。よって、クライアントがクラウドコンピューティング環境からデータを受けるためには、クライアントが起点となってクラウドコンピューティング環境にデータの要求を行う必要がある。クラウドコンピューティング環境は、そのデータの要求に応答してデータを送ることで、ファイアーウォールを介したクライアントとクラウドコンピューティング環境間のデータ送受信を実現する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−４４４７６
【特許文献２】特開２００５−４７２６４
【発明の概要】
【発明が解決しようとする課題】
【０００８】
従来、画像形成装置の一部の機能に障害が発生して縮退運転が余儀なくされている場合に、その機能を有するクラウドコンピューティング環境を利用することが想定されていなかった。
【０００９】
このような場合、障害が生じた機能についてはクラウドコンピューティング環境を利用することで、充分なサービスの提供を受けることが望ましい。また、クラウドコンピューティング環境を適切な通信方式で利用することも望ましい。
【００１０】
そこで、本発明は、このような代行運転を想定した代行運転システムを提供することを目的とし、特に、一部の機能に障害が発生した画像形成装置とクラウドコンピューティング環境との通信方式を考慮した代行運転システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一実施形態に係る画像形成装置は、ファイアーウォールを介してサービス提供システムと通信可能な画像形成装置であって、前記サービス提供システムが提供するサービスの中から、障害により利用不可能となった前記画像形成装置の機能と同等な機能を提供するサービスを特定する特定手段と、前記サービス提供システムとファイアーウォールを介して通信を行う際に利用する複数の通信方式の内、前記特定手段により特定されたサービスからデータを受信するために利用する通信方式を判定する判定手段と、前記判定手段により判定された通信方式を利用して、前記特定手段により特定されたサービスからデータを受信することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、画像形成装置の一部の機能に障害が発生した場合でも、クラウドコンピューティング環境を利用し代行運転することにより、障害が生じた機能についてサービスの提供を受けることができる。
【図面の簡単な説明】
【００１３】
【図１】実施例１の代行運転システム１００の利用環境を説明する図。
【図２】実施例１のクライアントＰＣ１０１、サーバ１０３の構成例、およびプリンタ１０２の構成例を示す図。
【図３】実施例１のプリンタ１０２の構成例を示す図。
【図４】実施例１の代行運転システム１００のソフトウエア構成を説明する図。
【図５】実施例１のプリンタ１０２のソフトウエア構成を説明する図。
【図６】プリンタ１０２がエラーを検出し、プリンタ１０２がサーバ１０３のサービスを受け、ユーザに所望の結果を取得させるまでの処理フロー。
【図７】実施例１の機能処理判定部６０５が通信方式を判定する処理フロー。
【図８】実施例２の機器内部コントローラからＷｅｂサービスのハードディスクに変更するか否かを問い合わせている画面。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１５】
実施例１では、画像形成装置において障害により制限を受けることとなった（例えば、利用不可能となった）機能と同等の機能を提供するサービスを、サービス提供装置から受けるシステムについて説明する。
【００１６】
図１は、本発明の実施例１に係る代行運転システム１００の利用環境を説明する図である。代行運転システム１００において、クライアントＰＣ１０１、プリンタ１０２はＬＡＮ１００に接続されている。さらに、ファイアーウォール１０４、インターネット１０５を介して、サーバ１０３と接続されている。これにより、クライアントＰＣ１０１、およびプリンタ１０２は、サーバ１０３と通信可能である。実施例１におけるサーバ１０３はサービス提供システムに相当し、プリンタ１０２は画像形成装置に相当する。なお、実施例１において、サーバ１０３はクラウドコンピューティング環境を想定している。よって、サーバ１０３には分散・並列処理（例えば、Ｈａｄｏｏｐ）のモデルが採用されており、かつ処理を行うリソースはスケールアウトを可能とする。さらに、図１においてサーバ１０３は１台のみ描かれているが、複数台のサーバから構成されていても良い。この場合、例えば、複数のサーバコンピュータを仮想化して１台のサーバ１０３とすることが考えられる。
【００１７】
クライアントＰＣ１０１、プリンタ１０２、サーバ１０３は、他の装置と通信を行うために夫々ＩＰアドレスを保持している。プリンタ１０２には、プリントサーバ機能（ＬＰＤ：ＲＦＣ  １１７９）やサーバ１０３と同様に各種リクエストに応答するサービスを提供している。サービスとしては、例えば、Ｗｅｂ、ファイル、ＳＮＭＰ、ＷＳ−Ｅｖｅｎｔｉｎｇなどのサーバ機能のサービスである。
【００１８】
サーバ１０３は、リクエストの要求元となるプリンタ１０２からのリクエストに応答するサービスを提供している。サーバ１０３が提供するサービスとしては、例えば、Ｗｅｂサービス、ストレージサービス、画像処理サービス、メールサービスなどのサーバ機能などがある。また、サーバ１０３は、リクエストの要求元からのリクエストに応じて、さらに別のサーバに通信を行う事もある。
【００１９】
プリンタ１０２において障害が発生した場合は、必要に応じてプリンタ１０２がインターネット１０５を経由してサーバ１０３に接続し、サーバ１０３が適宜処理を行うことにより、印刷要求やプリンタ情報取得要求等を正常に処理する。詳細については後述する。
【００２０】
図２は、ホストコンピュータであるクライアントＰＣ１０１、サーバ１０３の構成例、およびプリンタ１０２の構成例を示す図である。ホストコンピュータ２００において、ＣＰＵ１は、システムバス４に接続された各デバイスを統括的に制御する中央処理装置である。このＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ（ＨＤ）１１に記憶されたアプリケーション（文書処理プログラム等）に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処処理を実行する。また、ＣＰＵ１は、ＲＡＭ２上に設定された表示ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴＣ（表示制御部）６を介して表示部１０に表示する。
【００２１】
更に、ＣＰＵ１は、この表示部１０上のポインティングデバイス（不図示）等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはクライアントアプリケーションやサーバサービスを使用する際、その設定などの操作に関するウインドウを開き、設定を行うことができるようになっている。
【００２２】
ＲＡＭ２はＣＰＵ１の主メモリ、ワークエリア等として機能する。ＲＯＭ３はフォント用ＲＯＭ（不図示）、プログラム用ＲＯＭ（不図示）と、データ用ＲＯＭ（不図示）などを備えている。フォント用ＲＯＭ或いは外部メモリ１１は、上記文書処理等の際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ或いは外部メモリ１１は、ＣＰＵ１の制御プログラムであるオペレーティングシステム（以下、ＯＳ）等を記憶する。データ用ＲＯＭ３、或いは外部メモリ１１は、上述の文書処理等を行う際に使用する各種データを記憶する。外部メモリ１１に記憶されているプログラムは、実行時にＲＡＭ２に展開されて実行される。
【００２３】
キーボードコントローラ（ＫＢＣ）５は、キーボード９やポインティングデバイス（不図示）からの入力情報を制御する。ＣＲＴＣ６は、表示部１０への表示を制御する。ディスクコントローラ（ＤＫＣ）７は、外部メモリ１１とのアクセスを制御する。ネットワークコントローラ（ＮＷＣ）８は、双方向性インターフェース２１を介してネットワーク１０６に接続されている。キーボード９は、各種キーを備えている。表示部１０は、図形、イメージ文字、表等を表示する。外部メモリ１１はハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等から構成されている。この外部メモリ１１は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル等を記憶する。
【００２４】
さらに、プリンタ１０２は、原稿を読み取るスキャナ部３０１、およびユーザからの一度の指示で複数枚の原稿を読み取るフィーダ３００、および読み取った原稿を印刷するプリントエンジン（不図示）を有する。夫々のユニットは、バス４を通じて各構成とデータ交換することが可能になる。
【００２５】
図３は、図１におけるプリンタ１０２の構成例を示す図である。画像形成装置であるプリンタ１０２は、印刷機能を提供するプリンタの他、コピー、スキャナ、ＦＡＸなどの複合機能を提供する複合機である。
【００２６】
フィーダ３００（原稿自動送り部）は、スキャナ部３０１でスキャンニングを行う際に自動で紙を送る機構である。原稿のスキャナ部３０１は、紙の情報をスキャニングして電子化を行う。ＵＩ部３０２は、ユーザからの操作入力を受け付ける他、適宜情報を表示する。給紙部３０３は、印刷の際に印刷用紙を定着部３０４に送る機構である。定着部３０４は、給紙部３０３から送られてきた用紙にトナーを定着させて印刷を行う機構である。排紙部３０５は、定着部３０４にて印刷された用紙を排紙する機構である。フィニッシング装置３０６は、排紙部３０５から排紙された紙を発注情報に従ってステープルやパンチといった処理を行う機構である。排紙トレイ３０７は、最終的に印刷・フィニッシングされた印刷物を保持するトレイとなる。
【００２７】
図４は、実施例１に係る代行運転システム１００のソフトウエア構成を説明する図である。
【００２８】
始めに、クライアントＰＣ１０１について説明する。アプリケーション５０１は、クライアントＰＣ１０１上で動作するソフトウエアである。ワープロ、表計算ソフト等があり、それぞれＲＯＭ３もしくは外部メモリ１１などに格納されており、必要に応じて、ＲＡＭ２を用いてＣＰＵ１にて実行される。プリンタドライバ５０２は、アプリケーション５０１からの印刷指示に応じて、プリンタ１０２に対応する印刷データの作成を行う。ＯＳ５０３は、アプリケーションソフトウェアが各ハードウェアにデータを送受信するために、ハードを抽象化したインターフェースをアプリケーションソフトウェアに提供する。これにより、各アプリケーションソフトウェアは、クライアントＰＣ１０１を構成する各ハードウェアの製造元が異なっていても単一的に利用することが可能になる。
【００２９】
次にプリンタ１０２について説明する。なお、これから説明する各機能を実現するプログラムは、ＲＯＭ３もしくはＨＤＤ１１などに格納されており、ＲＡＭ２にロードされてＣＰＵ１により実行され各機能が実現する。または、専用のＡＳＩＣにより実現される。エンジン制御部４０６はプリンタエンジンへ命令を出し、紙の搬送や定着部３０４を制御する。画像処理部４０７は、印刷データを基にラスタライズ（描画処理）しイメージデータを生成する他、色処理等も行う画像処理機能を実現する。圧縮伸張制御部４０８は、ラスタライズされたデータの圧縮、伸張処理を行う圧縮伸長機能を実現する。
【００３０】
メインコントローラ４０９は、エンジン制御部４０６、画像処理部４０７、圧縮伸張制御部４０８などの制御や状態監視を行う。送受信部５０４は、クライアントＰＣ１０１上のプリンタドライバ５０２からの印刷指示や、情報取得の送受信を行う。また、プリンタ１０２がエラーを検出し、代理処理をサーバ１０３に実行させる場合、メインコントローラ４０９の指示、および代理処理を行うサービスから送信されるデータの受信は送受信部５０４で行う。
【００３１】
次にサーバ１０３について説明する。なお、これから説明する各機能を実現するプログラムは、ＲＯＭ３もしくはＨＤＤ１１などに格納されており、ＲＡＭ２にロードされＣＰＵ１にて実行され各機能が実現する。送受信部５０６は、ネットワークＩ／Ｆカード（ＮＷＣ）８を用いて、送受信部５０４とデータを送受信する。Ｗｅｂサーバ５０７は、送受信部５０４と、ＨＴＴＰプロトコル、ＲＥＳＴプロトコル、またはＳＯＡＰプロトコルなどを利用してデータを送受信するＷｅｂサービスサーバである。Ｗｅｂサーバ５０７は、プリンタ１０２からの要求を受け取り、制御部５０８に転送する。また、制御部５０８からの応答情報を送受信部５０６に転送する。
【００３２】
制御部５０８は、プリンタ１０２からの要求に従い、サービスを提供するサーバ１０３内の各処理部を呼び出す制御を行う。なお、制御部５０８、Ｗｅｂサーバ５０７、送受信部５０６は、１つのインスタンスでプリンタ１０２以外のプリンタ（不図示）のリクエストを処理する事が可能である。さらに、多数のプリンタ１０２に対応するために、サーバ１０３は、ＴＣＰセッションを長時間、かつ、多数保持するためのネットワークロードバランサ（不図示）を搭載している。
【００３３】
通信経路制御部５０９は、プリンタ１０２からの指示により、サーバ１０３が提供するサービスをプリンタ１０２が受けるために必要な通信経路の維持、および制御を行う。プリンタ１０２は、ＬＡＮ１００、ファイアーウォール１０４、インターネット１０５の通信経路状況、通信制限、サーバ１０３の負荷状況などにより通信経路制御部５０９に対して通信経路（通信回線）の制御指示を行う。なお、プリンタ１０２は、通信経路判定部６０６、および通信経路構築部６０７により、サーバ１０３で提供するＷｅｂサービスに必要な通信経路の判定、および通信経路の構築を行う。障害情報処理部５１０は、障害情報通信部６０３と通信を行い、プリンタ１０２のエラー個所を特定し、サーバ１０３がプリンタ１０２に提供可能なサービスの判定を行う。判定方法、および構築の詳細については後述する。また、通信経路判定部６０６、通信経路構築部６０７、および障害情報通信部６０３の詳細についても後述する。
【００３４】
また、障害情報処理部５１０は、障害情報通信部６０３と送受信部５０６を介して通信を行い、プリンタ１０２のエラー機能に関する情報を解析する。ログイン認証部５１１は、プリンタ１０２を利用するユーザ、およびプリンタ１０２を利用するクライアントＰＣ１０３からのログイン要求を処理する。ログイン認証部５１１は、制御部５０８経由でログイン要求情報を受け取り、認証結果を生成する。また、課金管理部５１２に対して、アクセス情報を課金の対象データとして渡す。課金管理部５１２は、ログイン認証部５１１からの情報を基に従量課金などによる最終請求額の計算を行う。なお課金に関しては、本発明では特に限定するものではなく、適宜決定されるものである。
【００３５】
保守部品作成部５１３は、サーバ１０３が提供しているサービスの情報を基に、プリンタ１０２の故障箇所を修理するためのファームウエアやソフトウエアパッケージを作成するための保守パーツを作成する。保守パーツは、プリンタ１０２に提供しているサービスの機差データ、ユーザ設定情報、ユーザデータ、機種別ファームウエア、オプションユニット情報などのデータベースをもとに作成される。保守パーツは、プリンタ１０２に必要なファームウエア、およびその手順書が含まれている。また、保守部品作成部５１３は、ファームウエアやソフトウエアに対するライセンス管理、暗号化処理も行う。
【００３６】
機差データは、プリンタ１０２の機種固有データである。機種固有データとしてはキャリブレーションンデータ、レジデータなど、プリンタ１０２の個体特有の画像形成、描画、色処理などの動的、静的データが含まれる。ユーザ設定情報は、プリンタ１０２にユーザが設定した情報が含まれる。これらは、プリンタ１０２の操作パネル、ＵＩや、外部からの管理ツール、または、プリンタ１０２のＷｅｂサービス、Ｗｅｂサーバ経由でユーザ、管理などによって設定されたデータが含まれる。
【００３７】
ユーザデータは、プリンタ１０２の留め置き印刷などによってＨＤＤ１１などに保存されているボックスデータが含まれる。さらに、フォーム印刷などに使われるオーバレイフォームデータなどが含まれる。さらに、印刷時に作られる画像処理用の一時ファイルやその他処理に使われる一時ファイルなどのデータが含まれる。機種別ファームウエアは、プリンタ１０２の機種に応じたファームウェアデータある。具体的には、メインコントローラ部４０９およびプリンタコントローラ４１０のプログラム、エンジン制御部４０６、画像処理部４０７、圧縮伸張制御部４０８等の特定用途ハードウエアのためのプログラムなどが含まれる。プリンタ１０２のファームウエアは、出荷時期により複数のバージョンが存在する。オプションユニット情報は、プリンタ１０２に接続されているオプションユニットのデータおよび、それらのファームウェアデータである。これらのデータは必要に応じてサーバ１０３で管理される。
【００３８】
データ同期サービス部５１４は、後述するデータ同期部６１０と通信を行い、保守部品作成部５１３によって作成された保守パーツをプリンタ１０２に設置した後、次のような処理を行う。その処理とは、プリンタ１０２に提供しているサービスが生成したデータの同期処理である。
【００３９】
保守パーツがプリンタ１０２のユーザ先に郵送などによって出荷された場合、保守パーツが設置されるまでには時間を要する。このため、保守パーツ作成時の各種データと、サーバ１０３が提供し続けているサービスの情報が乖離する。具体的には、機差データ、ユーザ設定情報、ユーザデータ、機種別ファームウエア、オプションユニット情報である。これらのデータは、同期が必要となる可能性が高い。また、課金管理部５１２の課金情報、ログイン認証部５１１のユーザ情報、およびユーザ権限などの情報も同期が必要となる可能性が高い。また、ライセンス管理されているファームウエアやソフトウエアは同時実行が、例えば１ライセンスのみ、のような制限をかける必要があり、サーバ１０３が提供しているＷｅｂサービスのライセンスをプリンタ１０２に移動するための同期処理が必要である。
【００４０】
データ同期サービス部５１４は、サーバ１０３からプリンタ１０２に対してデータ同期を行うだけではない。データ同期サービス部５１４は、プリンタ１０２が正常に動作している場合であっても、プリンタ１０２のデータ同期部６１０から、サーバ１０３のデータ同期サービス部５１４に対して、定期的、またはデータに変更があった時にデータを同期する。これにより、故障時に紛失するデータを極小化する事が可能となる。また、サーバ１０３のデータ同期サービス部５１４において、プリンタ１０２のデータを複数世代に渡ってバックアップ保存することで、プリンタ１０２のファームウエアバージョンアップ時に不具合が発生した場合、バージョンダウンさせることで不具合を解消できる。
【００４１】
エンジン制御サービス部５１５、画像処理サービス部５１６、圧縮伸張制御サービス部５１７は、プリンタ１０２でエンジン制御部４０６、画像処理部４０７、圧縮伸張制御部４０８が故障した場合に、これらの処理の代行を行う。エンジン制御サービス部５１５は、エンジン制御部４０６と同等の機能を提供するサービスである。具体的に述べると、エンジン制御サービス部５１５は、画像形成装置におけるプリンタエンジンへ命令を出し、紙の搬送や定着部３０４を制御する。画像処理サービス部５１６は、画像処理部４０７と同等の機能を提供するサービスである。具体的に述べると、画像処理サービス部５１６は、描画命令を基にラスタライズ処理を行い、ラスタイメージを生成する。さらに、各種色処理やエンジン固有情報を元にした処理なども行う。
【００４２】
圧縮伸張制御サービス部５１７は、圧縮伸張制御部４０８と同等の機能を提供するサービスである。圧縮伸張制御サービス部５１７は、描画データなどの圧縮および伸張を行う。描画データの色変換処理などの画像処理を行う場合は、描画データに伸張処理を施した後にＲＡＭ２に展開し、画像処理を行う必要がある。なお、画像処理部４０７が故障した場合、単純に画像処理サービス部５１６だけに代理処理させるのには問題がある。ＬＡＮなどの広帯域ネットワークが保証されていない場合や、ファイアーウォール１０４などのネットワークの制限が存在する場合、データ転送に時間を要するからである。
【００４３】
また、ＬＡＮ１００などの広帯域が保障されているネットワーク環境であっても、単位時間当たりの印刷枚数が高速な画像形成装置であれば同じ問題が起こる。カラー印刷データ、多数の描画オブジェクトを含んだ印刷データはデータサイズが大きいため、画像処理サービス部５１６と圧縮伸張制御部４０８間送受信に多大な時間を要することになる。結果として、通信帯域やプリンタ１０２のＣＰＵ１に非常に高い負荷がかかり効率が悪い。
【００４４】
実施例１において、サービス提供システムであるサーバ１０３は、クラウドコンピューティング環境が想定されており、サーバ１０３と通信を行うには通信費用がかかる。送信容量が大きければ大きいほど通信費用が肥大化するため、圧縮前の画像データを送信することはユーザにとってメリットではない。よって、画像処理サービス部５１６を利用する場合、圧縮伸長制御部４０８が利用不可能となっていなくとも、プリンタ１０２は圧縮伸長制御部４０８と同等の機能を提供するサービスを検索する。画像処理サービス部５１６、および圧縮伸長制御サービス部５１７に代理処理を行わせることで、通信帯域やＣＰＵ負荷を低減することが可能となり印刷の出力パフォーマンスを効率的に維持できる。なお、サーバ１０３がクラウドコンピューティング環境である場合、一般的にサーバ１０３のＣＰＵ１のリソース量は、プリンタ１０２のＣＰＵ１のリソース量よりも多い。このような観点から見ても、プリンタ１０２の機能に障害が起こっていないとしても、あえてサーバ１０３のサービスを利用する方が良いこともある。このように、プリンタ１０２の一部が故障した場合に、障害情報および通信経路情報などを鑑みることで、サーバ１０３で最適なエラー処理を行える。
【００４５】
ストレージ制御部５１８は、プリンタ１０２のＨＤＤ１１の代わりにデータを記憶する機能を持つ。実施例１におけるストレージ制御部５１８は、機差データ、ユーザ設定情報、ユーザデータ、機種別ファームウエア、オプションユニット情報を記憶する。以上が代行運転システム１００の機能の説明となる。
【００４６】
図５は、実施例１に係るプリンタ１０２のソフトウエア構成を説明する図である。状態検知部６０１は、プリンタ１０２の障害を検出し、利用不可能な機能やコンポーネントの特定を行う。また、障害の復帰を検出し正常状態へ復帰した機能やコンポーネントの特定も行う。障害・復旧に関する情報、即ち、障害情報は、プリンタ１０２のＨＤＤ１１に記憶される。障害情報通信部６０３は、送受信部５０４を介して障害情報処理部５１０と通信を行い、障害情報をもとにプリンタ１０２のエラー箇所を通知する。さらに、サーバ１０３がプリンタ１０２に提供可能なサービスを利用する旨を通知する。
【００４７】
機能検索部６０４は、障害情報をもとに、プリンタ１０２が利用可能なサーバ１０３のサービスを検索する。具体的には、機能検索部６０４は、利用不可能となった機能と同等の機能を提供するサービスをマルチキャスト探索することになる。機能処理判定部６０５は、プリンタ１０２において、特定の機能をサーバ１０３で代理処理できるか否かの判定を行う。通信経路判定部６０６は、プリンタ１０２がサービスを受けるために利用する通信方式を判定し決定する。具体的な判定、および決定方法については後述する。なお、通信経路判定部６０６は、通信帯域、帯域制限、通信遅延時間、双方向通信の可否、双方向通信の方式、イベントの送信方式、イベントの送信遅延時間、利用可能プロトコル、利用可能ポート番号などをサーバ１０３から取得することが可能である。また、詳細については後述するが、サーバ１０３の管理者が設定した設定情報を取得することも可能である。
【００４８】
通信経路構築部６０７は、通信経路判定部６０６の判定結果をもとに、プリンタ１０２がサーバ１０３のサービスを受けるために利用する両者間の通信経路を確立する。なお、実施例１の通信経路構築部６０７は、次の２つの通信方式の内、いずれか１つの通信方式を採用して通信経路を確立する。１つ目は、サービス提供システムが画像形成装置とのセッションを保持し、セッションを保持している状態を維持し、サービス提供システムが応答を返す際、保持しているセッションを介して応答を返すプッシュ方式である。２つ目は、画像形成装置がサービス提供システムに対し繰り返し応答を要求し、要求に応じて返されるサービス提供システムの応答を受けたことに応じて、繰り返し行われる要求を停止するプル方式である。プリンタ１０２がどちらの通信方式を採用してサーバ１０３と通信するかは、通信経路判定部（６０６）の判定結果による。
【００４９】
次に、２つの通信方式の夫々の特徴について説明する。この２つの通信方式は、サーバ１０３から送信されるデータがファイアーウォール１０４を通過し、プリンタ１０２がデータを受信できる通信方式である。プッシュ方式の場合、プリンタ１０２とサーバ１０３間のセッションは、サーバ１０３がプリンタ１０２へ応答を返すまで張られた状態が維持される。ゆえに、サーバ１０３が応答を返す際にセッションが張られているため、即時性のある通信が実現できる。結果、プリンタ１０２は、サーバ１０３からの応答をより早く取得することが可能になる。しかしながら、セッションが張られた状態を常に維持し続けるプッシュ方式は、プル方式と比較して通信コストが増大する。
【００５０】
プル方式の場合、プリンタ１０２とサーバ１０３間のセッションは、張られた状態が維持されない。プリンタ１０２は、所定の間隔でサーバ１０３に応答を求めるため、サーバ１０３が応答できない場合は一度セッションを切ることになる。また、次にプリンタ１０２がサーバ１０３にアクセスするまでに一定の時間が必要になる。ゆえに、即時性のある通信を行うことができない。しかしながら、プッシュ方式と比較して通信コストは低い。なお、通信経路の状況によっては、プル方式しか採用できない場合もある。その場合とは、例えば、ファイアーウォール１０４のタイムアウト設定によってプリンタ１０２から要求がファイアーウォール１０４を越えられない場合である。または、プリンタ１０２からのセッション数がファイアーウォール１０４の最大接続数を越えてしまう場合である。これらを判定する際に用いる情報は、ファイアーウォール１０４の設定情報のみならずサーバ１０３から送られる情報も含む。これらの場合は、プッシュ方式を採用することができない。なお、プッシュ方式の代表的な通信方式としてＣｏｍｅｔが挙げられる。また、プル方式の代表的な通信方式としてポーリングが挙げられる。
【００５１】
障害修復状況通信部６０８は、保守部品作成部５１３が作成した保守パーツがプリンタ１０２に設置され、障害が修復された旨をサーバ１０３に通知する。この通知を受け、サーバ１０３はプリンタ１０２とデータ同期を行う。外部情報処理装置制御部６０９は、プリンタ１０２が利用可能なサービスを提供するサーバ１０３の制御を行う。データ同期部６１０は、保守部品作成部５１３が作成した保守パーツがプリンタ１０２に設置された後にデータ同期を行う。オフロード制御部４００は、プリンタ１０２が、サーバ１０３に代理処理を行わせるための処理を制御する。ネットワーク制御部４０１は、外部機器との通信制御を行う。
【００５２】
エンジン制御部４０６、画像処理部４０７、圧縮伸長制御部４０８は、図５で説明した機能を有する。上述した通り、実施例１ではこれらの機能を始めとした各種機能が利用不可能となった場合に、サービス提供システムに代理処理を行わせることを目的としている。よって、プリンタ１０２は、エンジン制御部４０６、画像処理部４０７、圧縮伸長制御部４０８の代わりに、エンジン制御サービス部５１５、画像処理サービス部５１６、圧縮伸長制御サービス部５１７に代理処理をさせる。なお、これらのサーバ１０３のサービスは、通信に即時性が求められるサービスである。これらのサービスはユーザからの印刷要求時に利用されるサービスだからである。ユーザとしてみれば、要求した印刷物をより早く取得したいと考えるであろう。ゆえに、印刷要求のようなユーザからより早く結果が所望されるサービスは、即時性が求められるサービスとして扱う。
【００５３】
対して、プリンタ１０２でスキャンした原稿の画像データをプリンタ１０２のＨＤＤ１１に保存する機能、即ち、ボックス機能が利用不可能となり、サーバ１０３の保存サービスを受ける場合は即時性が求められないと考える。印刷要求とは異なり、ユーザは保存するデータをすぐに取得したいとは考え難いからである。プリンタ１０２は、フィーダ３００等で読み取った複数枚の原稿に対応するデータに各種処理を施し、通信が必要なときにサーバ１０３とセッションを確立すれば良い。よって、データを即利用する必要がないサービスは、即時性が求められないサービスとして扱う。サーバ１０３に保存されるデータは、ストレージ制御部５１８により保存される。以上がプリンタ１０２の機能の説明となる。
【００５４】
図６は、プリンタ１０２がエラーを検出し、プリンタ１０２がサーバ１０３のサービスを受け、ユーザに所望の結果を取得させるまでの処理フローを示す。Ｓ７０１において、クライアントＰＣ１０１はプリンタ１０２に対して印刷ジョブを送信する。具体的に述べると、アプリケーション５０１からの印刷指示をプリンタドライバ５０２が受け、ＯＳ５０３の印刷スプーラ、ランゲージモニタを介してプリンタ１０２へ印刷指示が送信される。
【００５５】
Ｓ７０２において、ネットワーク制御部４０１が受信した印刷ジョブをメインコントローラ部４０９で処理する。実施例１におけるオフロード処理制御部４００は、この時点で状態検知部６０１が検出した利用不可能な機能の情報を取得し、利用不可能な機能を特定する。実施例１では、画像処理部４０７に障害が発生した例を用いて説明する。画像処理部４０７のエラーにより、オフロード処理制御部４００が印刷処理の継続が不可能と判断した場合、オフロード処理制御部４００は機能処理判定部６０５に代理処理に切り替えるよう指示を出す。なお、エラーの検出は印刷時に限られず、イベントなどにより事前に検出している場合もあることは強調しておく。検出された障害情報は、状態検知部６０１によりプリンタ１０２のＨＤＤ１１に記憶される。
【００５６】
Ｓ７０３において、機能処理判定部６０５は、機能検索部６０４から画像処理部４０７、および圧縮伸長制御部４０８と同等の処理が行えるサービスを、サーバ１０３から検索するよう機能検索部６０４に指示を出す。画像処理サービス部５１６のみならず、圧縮伸長制御サービス部５１７に代行処理させる理由は上述した通りである。サーバ１０３内のサービスを検索した機能検索部６０４は、画像処理部４０７と同等の処理が行えるサービス、即ち画像処理サービス部５１６を機能処理判定部６０５に通知する。なお、インターネット上のサービス検索は、機能検索部６０４が直接サーバ１０３と通信して探索する必要はなく、ディレクトリサーバなどからサーバ１０３のエンドポイントやＵＲＩの検索を行っても良い。機能処理判定部６０５は、機能検索部６０４から代理処理可能なサービスが見つからなかった旨を受けた場合、オフロード処理制御部４００に見つからなかった旨を返す。オフロード制御部４００は、見つからなかった旨をユーザが理解できるような画面を生成し、ＵＩ部３０２に表示させる。または、クラインとＰＣ１０１に画面を送信し、ディスプレイに表示させる。
【００５７】
Ｓ７０４において、プリンタ１０２とサーバ１０３の通信経路上にファイアーウォール１０４が有る場合、ファイアーウォール１０４はパケットの送信元であるプリンタ１０２の認証を行う。ファイアーウォール１０４には、事前にプリンタ１０２の認証情報を設定しておくものとする。また、事前に認証設定をする他、アクティブディレクトリサーバ（不図示）と通信を行って認証を行うことも可能である。ファイアーウォール１０４は、認証を行ったＩＰアドレスとポート番号を記憶しておき、同様のアドレスからは通信を許可する。また、許可したパケットと同一セッションの返信パケットについても通信を許可する。しかしながら、外部環境からのファイアーウォール１０４を介した通信であって、プリンタ１０２からの要求に応じて張られたセッションを介さずに行われる通信については、返信パケットと見なされないためファイアーウォール１０４はパケットを破棄する。
【００５８】
Ｓ７０５において、機能処理判定部６０５は、画像処理サービス部５１６、および圧縮伸張制御サービス部５１７とサービスの接続認証を行う。サーバ１０３のサービスとの認証は、圧縮伸張制御サービス部５１７を利用するユーザが、クライアントＰＣ１０１、またはプリンタ１０２を介して認証を行う。また、実施例１では、Ｓ７０５の段階で通信方式を判定する。この判定方法の詳細については後述する。通信経路構築部６０７は、特定された利用不可能な機能と同等な機能を提供するサービスと通信するために必要な通信経路を構築する。通信経路の構築後、障害情報通信部６０３は障害情報６０２をサーバ１０３に送信する。
【００５９】
Ｓ７０６において、障害情報処理部５１０は障害情報の解析を行い、解析結果を基に、画像処理サービス部５１６、および圧縮伸張制御サービス部５１７は新規インスタンス（仮想プリンタインスタンス）を作成する。Ｓ７０７において、データ同期サービス部５１４は、プリンタ１０２と構築された通信経路を介して、仮想プリンタインスタンスのファームウエアやオプション情報、ユーザデータ、機器固有情報などのデータ同期を行う。なお、プリンタ１０２は、通信経路が構築された後に、これらのデータの同期を行うための確認情報をサーバ１０３へ送り、Ｓ７０７が実行されることになる。
【００６０】
Ｓ７０８において、サーバ１０３は仮想プリンタインスタンスの構築が完了し、仮想プリンタの処理が行える状態になったことをプリンタ１０２へ通知する。Ｓ７０９において、メインコントローラ部４０９は、Ｓ７０２で受信した印刷ジョブの処理に必要なデータをサーバ１０３へ送信する。Ｓ７１０において、画像処理サービス部５１６、および圧縮伸張制御サービス部５１７はＳ７１１で送信されたジョブデータの画像処理を行う。Ｓ７１１において、サーバ１０３は、プリンタ１０２に対して画像処理結果を返信する。Ｓ７１２において、エンジン制御部４０６により、受信した画像処理結果が印刷される。Ｓ７１３において、プリンタ１０２は、クライアントＰＣ１０１に印刷処理結果を表示する。以上、プリンタ１０２がエラーを検出し、プリンタ１０２がサーバ１０３のサービスを受け、ユーザに所望の結果を取得させるまでの処理の説明になる。
【００６１】
次に、通信経路判定部６０６の通信方式の判定方法について詳細に述べる。なお、代理処理を行わせるサービスが通信に即時性を求めるか否かに関する情報は、プリンタ１０２のＨＤＤ１１においてテーブルで管理されている。図７は、通信経路判定部６０６が通信方式を判定する処理フローである。ステップＳ４０１において、通信経路判定部６０６は、プリンタ１０２で利用不可能となったサービスが通信に即時性を求めるサービスであるか否かを判定する。即時性を求めるサービスである場合、ステップはＳ４０２に移行し、即時性を求めないサービスである場合、ステップはＳ４０３に移行する。Ｓ４０２において、通信経路判定部６０６は通信経路の状況が即時性を実現できる状況であるか否かを判定する。即時性を実現できない状況である場合、通信経路判定部６０６はプル方式と判定し採用し、即時性を実現できる状況である場合、通信経路判定部６０６はプッシュ方式と判定し採用する。このように、受けたいサービスが即時性を求めるサービスであっても、通信経路の状況によってはプル方式が採用されることもある。
【００６２】
Ｓ４０３において、通信経路判定部６０６は、通信経路の状況が即時性を実現できる状況であるか否かを判定する。即時性を実現できない状況である場合、通信経路判定部６０６はプル方式と判定し採用し、即時性を実現できる状況である場合、ステップはＳ４０４へ移行する。Ｓ４０４において、サーバ１０３から通信コストを重視するか否かの情報を受信し、通信経路判定部６０６は即時性よりも通信コストを重視するか否かを判断する。この情報は、サービスに即時性を求める指示がされているか否かに関する情報に相当する。通信コストを重視するか否かの情報はサーバ１０３のＨＤＤに保持されており、この情報はサーバ１０３の管理者により設定される。即時性を重視する場合は、プッシュ方式を採用し、通信コストを重視する場合は、プル方式を採用する。このように、受けたいサービスが即時性を求めないサービスであっても、通信経路の状況、およびサーバ１０３の管理者設定によってはプッシュ方式が採用されることもある。
【００６３】
通信経路判定部６０６により判定された通信方式に基づき、通信経路構築部６０７は通信経路制御部５０９との通信経路を構築し、サーバ１０３とプリンタ１０２はデータを送受信することが可能になる。通信経路判定部６０６は、サービスが即時性を求めるか否か、および通信経路の状況の両方に基づき通信方式を判定する。
【００６４】
以上、本実施例によれば、障害により一部機能が利用不可能となった画像形成装置は、その機能と同等の機能を提供するサービスを有するクラウドコンピューティング環境と、より適正な通信を行うことが可能になる。具体的には、サービスが通信に即時性を求めるサービスであって、かつ通信経路も即時性が実現できる状況の場合、プッシュ方式の通信方式によりデータ通信が行われる。また、サービスが通信に即時性を求めるサービスであって、かつ通信経路が即時性を実現できない状況の場合、通信経路の状況が優先され、プル方式の通信方式によりデータ通信が行われる。また、サービスが通信に即時性を求めないサービスであって、かつ通信経路が即時性を実現できる状況の場合、例えば、クラウドコンピューティング環境の管理者の設定に従い通信方式が採用され、採用された通信方式によりデータ通信が行われる。管理者は、通信コストを重視する場合プル方式の通信方式を採用でき、サービスの即時性を重視する場合プッシュ方式の通信方式を採用できる。
【実施例２】
【００６５】
実施例２では、処理方法変更の通知方法を述べる。プリンタ１０２が障害を検出し、サーバ１０３に代理処理を行わせる際、代理処理を行うか否かをユーザに選択させる。実施例１と同様の部分については説明を省略する。
【００６６】
ステップＳ７０３において、機能処理判定部６０５は、システムの障害発生により機器内部の処理を、機器外のサービスに変更するか否かをユーザに問い合わせる。これにより、ユーザが処理方法の選択をする事が可能となる。具体的なユーザへの通知の例を図８に示す。
【００６７】
図８は、対象機器であるプリンタ１０２のＨＤＤ１１が故障し、プリンタ１０２のＨＤＤ１１からサーバ１０３のＨＤＤ１１に変更するか否かを問い合わせている画面である。「ＯＫ」を選択すると、代理処理は継続される。「Ｃａｎｃｅｌ」を選択すると、サーバ１０３は代理処理を行わない。ユーザによっては、セキュリティ上重要なデータを外部のサーバ１０３に保存したくない場合も存在するが、本実施例によれば、このようなユーザに対して適切なセキュリティ処理を行うことができる。
【００６８】
さらに、プリンタ１０２は、エラー通知とユーザの選択内容を、プリンタ１０２を管理するサービスセンターやＩＴ管理者などに通知する。プリンタ１０２がこのような通知を行うことで、機器の保守を迅速に行うことが可能となる。
【００６９】
（他の実施形態）
以上、本発明について詳述してきたが、本発明はこれに限定されるものではない。以下、その具体的な例について説明する。
【００７０】
本発明の各実施例では、ＩＰｖ４プロトコルを想定していたが、ＩＰｖ６などのプロトコルも含め、別のプロトコルであっても構わない。また、クライアントＰＣ１０１とプリンタ１０２間、またはプリンタ１０２とサーバ１０３間の接続方式が、ＬＡＮおよびインターネット以外のネットワークや、ＩＥＥＥ８０２．１１などの無線ＬＡＮなどの他通信方式であっても本発明を適用できる。
【００７１】
また、本発明の各実施例では、エンジン制御、画像処理、圧縮伸張処理を例として説明した。しかし、その他の処理であっても良い。例えば、カラーマネージメント処理、フォント処理、ＬＰＤサーバ処理、ＳＮＭＰ処理、ＷＳＤ処理、暗号複合処理、排紙部制御処理、休止部制御処理、Ｗｅｂサーバ処理、Ｗｅｂサービス処理、検索処理、ストレージ管理処理、ログ処理などである。
【００７２】
また、本発明の各実施例では、機能検索部６０４は、マルチキャスト探索を行った。しかし、その他の探索方法であっても良い。例えば、ブロードキャスト探索のようなプロアクティブな探索の他、ＤＮＳやディレクトリサービスのようなリアクティブな探索であっても良く探索手法は問わない。また、これらを複数組み合わせた探索を行うことで、より多くの探索結果が得られる可能性もある。
【００７３】
また、本発明の各実施例では、機能検索部６０４をプリンタ１０２が実現した。しかしながら、サーバ１０３が機能検索部６０４を実現しても良い。この場合、プリンタ１０２からは障害が発生した機能に関する情報が送信され、サーバ１０３は送信された情報を基に自身の中から該当するサービスを検索する。
【００７４】
また、本発明の各実施例では、プッシュ方式とプル方式の２つの通信方式から１つを決定していた。しかしながら、本発明は２つの通信方式のみならず、その他の通信方式を含め通信方式を決定しても良い。例えば、Ｗｅｂｓｏｃｋｅｔのような２つの通信方式に含まれない通信方式が存在する。さらに、プリンタ１０２とサーバ１０３が通信中に通信方式が切り替わっても良い。これは、例えば、プリンタ１０２とサーバ１０３が通信中に通信経路の状況が変化することを想定している。
【００７５】
なお、本発明は、前述した実施形態の機能を実現するソフトウエアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムを読み出して実行することによっても達成され得る。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【００７６】
また、プログラムの実行環境は、パーソナルコンピュータやパーソナルコンピュータでのオペレーションシステムを仮想化した仮想ＰＣやリモートＰＣを含む。さらには、画像形成装置、プリンタやＭＦＰ（マルチファンクションペリフェラル）等の組み込みコンピュータで実行される場合も含まれる。
【００７７】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【００７８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページからハードディスク等の記録媒体にダウンロードすることによっても供給できる。その場合、ダウンロードされるのは、本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルであってもよい。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明のクレームに含まれるものである。
【００７９】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態以外の形態でも実現可能である。例えば、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【符号の説明】
【００８０】
１０２  プリンタ  
１０３  サーバ
１０４  ファイアーウォール  
１０５  インターネット  
６０１  状態検知部  
６０４  機能検索部  
６０５  機能処理判定部  
６０６  通信経路判定部  
６０７  通信経路構築部  
【図１】
2012037944.tif 000003
【図２】
2012037944.tif 000004
【図３】
2012037944.tif 000005
【図４】
2012037944.tif 000006
【図５】
2012037944.tif 000007
【図６】
2012037944.tif 000008
【図７】
2012037944.tif 000009
【図８】
2012037944.tif 000010