(57)【要約】      （修正有）【課題】外部サーバーとともに画像処理装置を制御可能にする複合装置、連携方法及び連携プログラムを提供する。【解決手段】複合装置１において、ＭＦＰ１００は、予め設定された１つの外部装置に対し、要求された複数種類の情報を、応答情報として応答する。内部サーバー２００は、ＭＦＰ１００を管理する管理モジュールと、外部サーバーからのＭＦＰ１００宛の情報と、管理モジュールからの画像処理を管理する情報とを、ともにＭＦＰ１００に要求情報として伝達し、ＭＦＰ１００から応答される応答情報を、内部サーバー２００の管理モジュールと外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継手段とを有する。ＭＦＰ１００で設定する外部装置として、内部サーバー２００を設定することにより、内部サーバー２００の管理モジュールと外部サーバーとの両方が、ＭＦＰ１００と交信可能となる。【選択図】図３
2018142840.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置と、前記画像処理装置を管理する機能を有する内部サーバーとを備えた複合装置であって、
前記画像処理装置は、予め設定された１つの外部装置に対し、要求された複数種類の情報を応答情報として応答する応答手段を備え、
前記内部サーバーは、前記画像処理装置を管理する管理モジュールと、
外部サーバーからの前記画像処理装置宛の情報と、前記管理モジュールからの前記画像処理装置を管理する情報とを、ともに前記画像処理装置に要求情報として伝達し、前記画像処理装置から応答される応答情報を、前記内部サーバーの前記管理モジュールと前記外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継手段とを有し、
前記画像処理装置で設定する前記外部装置として前記内部サーバーを設定することにより、前記内部サーバーの前記管理モジュールと前記外部サーバーとの両方が前記画像処理装置との交信を可能とした、複合装置。
【請求項２】
前記内部サーバーは、前記画像処理装置からの応答情報ごとに前記管理モジュールまたは前記外部サーバーを関連付けた関連付テーブルを生成する関連付手段をさらに備え、
前記中継手段は、前記関連付テーブルを参照して、前記画像処理装置からの応答情報を前記管理モジュールと前記外部サーバーとのいずれかに振り分ける、請求項１に記載の複合装置。
【請求項３】
画像処理装置と内部サーバーとを備えた複合装置であって、
前記内部サーバーは、第１のサービスを提供する管理モジュールと、
前記第１のサービスを前記管理モジュールに提供させるとともに、外部サーバーが提供する第２のサービスを前記外部サーバーに提供させるサービス依頼手段と、
前記第１のサービスおよび／または前記第２のサービスの提供を受けて、前記画像処理装置を制御して処理を実行させる要求手段と、
前記画像処理装置が処理を実行して出力する応答情報に基づいて、前記第１のサービスおよび／または前記第２のサービスを決定するサービス決定手段と、を含む複合装置。
【請求項４】
前記内部サーバーは、前記第１のサービスおよび前記第２のサービスごとに、それに与えられる入力情報を関連付けた関連付テーブルを生成する関連付手段をさらに備え、
前記サービス決定手段は、前記関連付テーブルを参照して、前記画像処理装置が出力する応答情報に基づいて、前記第１のサービスまたは／および前記第２のサービスを決定する、請求項３に記載の複合装置。
【請求項５】
前記応答情報は、前記画像処理装置が前記内部サーバーからの指示に従って実行する処理に関連する関連情報を含む、請求項１〜４のいずれかに記載の複合装置。
【請求項６】
前記外部サーバーは、ユーザーを認証するサービスを提供する、請求項１〜５のいずれかに記載の複合装置。
【請求項７】
ユーザーにより入力される操作を受け付ける操作受付手段を、さらに備え、
前記管理モジュールは、ユーザーに関する情報を管理するサービスを提供するユーザー管理モジュールを含み、
前記内部サーバーは、前記操作受付手段により受け付けられた情報のうち、前記外部サーバーがユーザーを認証するサービスを提供するために用いる入力情報を前記外部サーバーへ送信し、前記ユーザー管理モジュールがユーザーに関する情報を管理するサービスを提供するために用いる入力情報を前記ユーザー管理モジュールへ送信する、請求項６に記載の複合装置。
【請求項８】
前記内部サーバーは、前記外部サーバーがユーザーを認証するサービスを提供するために用いる入力情報と、前記ユーザー管理モジュールがユーザーに関する情報を管理するサービスを提供するために用いる入力情報とを受け付けるための設定画面を表示する、請求項７に記載の複合装置。
【請求項９】
画像処理装置と、前記画像処理装置を管理する機能を有する内部サーバーとを備えた複合装置で実行される連携方法であって、
前記画像処理装置に、予め設定された１つの外部装置に対し、要求された複数種類の情報を応答情報として応答する応答ステップを実行させ、
前記内部サーバーは、前記画像処理装置を管理する管理モジュールを備え、
前記内部サーバーに、
外部サーバーからの前記画像処理装置宛の情報と、前記管理モジュールからの前記画像処理装置を管理する情報とを、ともに前記画像処理装置に要求情報として伝達し、前記画像処理装置から応答される応答情報を、前記内部サーバーの前記管理モジュールと前記外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継ステップと、
前記内部サーバーの前記管理モジュールと前記外部サーバーの両方で前記画像処理装置との交信を可能とするために、前記画像処理装置で設定する前記外部装置として前記内部サーバーを前記画像処理装置に設定させる設定ステップと、を実行させる連携方法。
【請求項１０】
画像処理装置を管理する機能を有する内部サーバーを制御するコンピューターで実行される連携プログラムであって、
前記画像処理装置は、予め設定された１つの外部装置に対し、前記外部装置から要求された複数種類の情報を応答情報として応答する機能を備え、
前記内部サーバーは、前記画像処理装置を管理する管理モジュールを備え、
外部サーバーからの前記画像処理装置宛の情報と、前記管理モジュールからの前記画像処理装置を管理する情報とを、ともに前記画像処理装置に要求情報として伝達し、前記画像処理装置から応答される応答情報を、前記内部サーバーの前記管理モジュールと前記外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継ステップと、
前記内部サーバーの前記管理モジュールと前記外部サーバーの両方で前記画像処理装置との交信を可能とするために、前記画像処理装置で設定する前記外部装置として前記内部サーバーを前記画像処理装置に設定させる設定ステップと、を前記コンピューターに実行させる連携プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、複合装置、連携方法および連携プログラムに関し、特に、サーバーと画像処理装置とを備えた複合装置、その複合装置で実行される連携方法および連携プログラムに関する。
【背景技術】
【０００２】
近年、複合機（ＭＦＰ）で代表される画像処理装置は、外部のコンピューターから制御されることが可能である。例えば、ＭＦＰを外部から制御するための制御コマンドが公開されており、外部のコンピューターはＭＦＰに制御コマンドを送信することによってＭＦＰを制御し、ＭＦＰは、外部のコンピューターから受信される制御コマンドに従って処理を実行する。
【０００３】
例えば、特開２００５−３４１５４９号公報には、外部の複数のコンピュータ通信網ないしは情報通信機器を個々に接続するアクセス制御装置と、前記アクセス制御装置をネットワークする中継装置とを設け、アクセス制御装置にアドレス変換を行わせることにより、一元的なアドレス体系で情報を転送してルーテイングする機能を有し、前記複数のコンピュータ通信網ないしは情報通信機器の間で相互に通信できるようにしたＩＰ通信システムが記載されている。
【０００４】
特開２００５−３４１５４９号公報に記載のＩＰ通信システムによれば、複数の情報通信機器それぞれがＭＦＰを制御することが可能であるが、ＭＦＰは、同時に制御されるコンピューターを１台に制限するので、複数の情報通信機器が同一の時間帯でＭＦＰを同時に制御することができないといった問題がある。
【特許文献１】特開２００５−３４１５４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の一つは、外部サーバーとともに画像処理装置を制御可能な複合装置を提供することである。
【０００６】
この発明の他の目的は、外部サーバーとともに画像処理装置を制御可能な連携方法を提供することである。
【０００７】
この発明の他の目的は、外部サーバーとともに画像処理装置を制御可能な連携プログラムを提供することである。
【課題を解決するための手段】
【０００８】
この発明は上述した問題点を解決するためになされたもので、この発明のある局面によれば、複合装置は、画像処理装置と、画像処理装置を管理する機能を有する内部サーバーとを備えた複合装置であって、画像処理装置は、予め設定された１つの外部装置に対し、要求された複数種類の情報を応答情報として応答する応答手段を備え、内部サーバーは、画像処理装置を管理する管理モジュールと、外部サーバーからの画像処理装置宛の情報と、管理モジュールからの画像処理装置を管理する情報とを、ともに画像処理装置に要求情報として伝達し、画像処理装置から応答される応答情報を、内部サーバーの管理モジュールと外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継手段とを有し、画像処理装置で設定する外部装置として内部サーバーを設定することにより、内部サーバーの管理モジュールと外部サーバーとの両方が画像処理装置との交信を可能とする。
【０００９】
この局面に従えば、内部サーバーが、外部サーバーからの画像処理装置宛の情報と、管理モジュールからの画像処理装置を管理する情報とを、ともに画像処理装置に要求情報として伝達し、画像処理装置から応答される応答情報を、管理モジュールと外部サーバーに振り分けて、それぞれにレスポンス情報として返し、画像処理装置で内部サーバーを設定することにより、管理モジュールと外部サーバーとの両方が画像処理装置との交信を可能となる。このため、外部サーバーとともに画像処理装置を制御可能な複合装置を提供することができる。
【００１０】
好ましくは、内部サーバーは、画像処理装置からの応答情報ごとに管理モジュールまたは外部サーバーを関連付けた関連付テーブルを生成する関連付手段をさらに備え、中継手段は、関連付テーブルを参照して、画像処理装置からの応答情報を管理モジュールと外部サーバーとのいずれかに振り分ける。
【００１１】
この発明の他の局面によれば、複合装置は、画像処理装置と内部サーバーとを備えた複合装置であって、内部サーバーは、第１のサービスを提供する管理モジュールと、第１のサービスを管理モジュールに提供させるとともに、外部サーバーが提供する第２のサービスを外部サーバーに提供させるサービス依頼手段と、第１のサービスおよび／または第２のサービスの提供を受けて、画像処理装置を制御して処理を実行させる要求手段と、画像処理装置が処理を実行して出力する応答情報に基づいて、第１のサービスおよび／または第２のサービスを決定するサービス決定手段と、を含む。
【００１２】
この局面に従えば、内部サーバーは、第１のサービスおよび／または第２のサービスの提供を受けて、画像処理装置を制御して処理を実行させるので、外部サーバーおよび内部サーバーが画像処理装置を制御することができる。また、画像処理装置が処理を実行して出力する応答情報に基づいて、第１のサービスを決定する場合には第１のサービスを管理モジュールに提供させ、第２のサービスを決定する場合には外部サーバーに第２のサービスを提供させ、第１のサービスおよび第２のサービスを決定する場合には、第１のサービスを管理モジュールに提供させるとともに外部サーバーに第２のサービスを提供させる。このため、外部サーバーとともに画像処理装置を制御可能な複合装置を提供することができる。
【００１３】
好ましくは、内部サーバーは、第１のサービスおよび第２のサービスごとに、それに与えられる入力情報を関連付けた関連付テーブルを生成する関連付手段をさらに備え、サービス決定手段は、関連付テーブルを参照して、画像処理装置が出力する応答情報に基づいて、第１のサービスまたは／および第２のサービスを決定する。
【００１４】
この局面に従えば、第１のサービスおよび第２のサービスごとに、それに与えられる入力情報を関連付けた関連付テーブルを参照して、画像処理装置が出力する応答情報に基づいて、第１のサービスまたは／および第２のサービスを決定するので、管理モジュールに応答情報を用いて第１のサービスを提供させることができ、外部サーバーに応答情報を用いて第２のサービスを提供させることができる。
【００１５】
好ましくは、応答情報は、画像処理装置が内部サーバーからの指示に従って実行する処理に関連する関連情報を含む。
【００１６】
この局面に従えば、画像処理装置が内部サーバーからの指示に従って実行する処理に関連する関連情報を、管理モジュールまたは外部サーバーに処理させることができる。
【００１７】
好ましくは、外部サーバーは、ユーザーを認証するサービスを提供する。
【００１８】
好ましくは、ユーザーにより入力される操作を受け付ける操作受付手段を、さらに備え、管理モジュールは、ユーザーに関する情報を管理するサービスを提供するユーザー管理モジュールを含み、内部サーバーは、操作受付手段により受け付けられた情報のうち、外部サーバーがユーザーを認証するサービスを提供するために用いる入力情報を外部サーバーへ送信し、ユーザー管理モジュールがユーザーに関する情報を管理するサービスを提供するために用いる入力情報をユーザー管理モジュールへ送信する。
【００１９】
好ましくは、内部サーバーは、外部サーバーがユーザーを認証するサービスを提供するために用いる入力情報と、ユーザー管理モジュールがユーザーに関する情報を管理するサービスを提供するために用いる入力情報とを受け付けるための設定画面を表示する。
【００２０】
この局面に従えば、外部サーバーに入力するための入力情報とユーザー管理モジュールに入力するための入力情報とを１つの設定画面で入力することができるので、ユーザーの操作が容易になる。
【００２１】
この発明の他の局面に従えば、連携方法は、画像処理装置と、画像処理装置を管理する機能を有する内部サーバーとを備えた複合装置で実行される連携方法であって、画像処理装置に、予め設定された１つの外部装置に対し、要求された複数種類の情報を応答情報として応答する応答ステップを実行させ、内部サーバーは、画像処理装置を管理する管理モジュールを備え、内部サーバーに、外部サーバーからの画像処理装置宛の情報と、管理モジュールからの画像処理装置を管理する情報とを、ともに画像処理装置に要求情報として伝達し、画像処理装置から応答される応答情報を、内部サーバーの管理モジュールと外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継ステップと、内部サーバーの管理モジュールと外部サーバーの両方で画像処理装置との交信を可能とするために、画像処理装置で設定する外部装置として内部サーバーを画像処理装置に設定させる設定ステップと、を実行させる。
【００２２】
この局面に従えば、外部サーバーとともに画像処理装置を制御可能な連携方法を提供することができる。
【００２３】
この発明のさらに他の局面に従えば、連携プログラムは、画像処理装置を管理する機能を有する内部サーバーを制御するコンピューターで実行される連携プログラムであって、画像処理装置は、予め設定された１つの外部装置に対し、外部装置から要求された複数種類の情報を応答情報として応答する機能を備え、内部サーバーは、画像処理装置を管理する管理モジュールを備え、外部サーバーからの画像処理装置宛の情報と、管理モジュールからの画像処理装置を管理する情報とを、ともに画像処理装置に要求情報として伝達し、画像処理装置から応答される応答情報を、内部サーバーの管理モジュールと外部サーバーに振り分けて、それぞれにレスポンス情報として返す中継ステップと、内部サーバーの管理モジュールと外部サーバーの両方で画像処理装置との交信を可能とするために、画像処理装置で設定する外部装置として内部サーバーを画像処理装置に設定させる設定ステップと、をコンピューターに実行させる。
【００２４】
この局面に従えば、外部サーバーとともに画像処理装置を制御可能な連携プログラムを提供することができる。
【図面の簡単な説明】
【００２５】
【図１】本発明の実施の形態の１つにおける情報処理システムの概要の一例を示す図である。
【図２】本発明の実施の形態の１つにおける複合装置の外観を示す斜視図である。
【図３】複合装置のハードウェア構成の一例を示すブロック図である。
【図４】内部サーバーが備える第１ＣＰＵが有する機能と外部サーバーの機能の一例を示す図である。
【図５】関連付テーブルの一例を示す図である。
【図６】サービス登録処理の流れの一例を示すフローチャートである。
【図７】連携処理の流れの一例を示すフローチャートである。
【図８】第１の変形例における内部サーバーが備える第１ＣＰＵが有する機能と外部サーバーの機能の一例を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２７】
図１は、本発明の実施の形態の１つにおける情報処理システムの概要の一例を示す図である。図１を参照して、情報処理システムは、複合装置１と、外部サーバー３と、を含む。複合装置１と、外部サーバー３とは、インターネット５で接続されている。インターネット５の接続形態は有線または無線を問わない。インターネット５は、ローカルエリアネットワークであってもよい。
【００２８】
外部サーバー３は、一般的なコンピューターであり、そのハードウェア構成および機能は周知なのでここでは詳細な説明は繰り返さない。外部サーバー３は、予め定められた処理を実行することによりサービスを提供する。外部サーバー３が提供するサービスは、限定するものではないが、ユーザーを認証する処理を実行する認証サービスと、データを管理するファイル管理サービスとする場合を例に説明する。以下、外部サーバー３が提供するサービスを外部サービス（第２のサービス）という。
【００２９】
図２は、本発明の実施の形態の１つにおける複合装置の外観を示す斜視図である。図２を参照して、複合装置１は、画像処理装置として機能するＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００と、ＭＦＰ１００の下方に配置された内部サーバー２００と、ＭＦＰ１００の側面に配置された操作パネル３００とを含む。
【００３０】
ＭＦＰ１００は、自動原稿搬送装置１２０と、原稿読取部１３０と、画像形成部１４０と、給紙部１５０と、を含む。自動原稿搬送装置１２０は、原稿トレイ上にセットされた複数枚の原稿を１枚ずつ自動的に原稿読取部１３０の原稿読み取り位置まで搬送し、原稿読取部１３０により原稿に形成された画像が読み取られた原稿を原稿排紙トレイに排出する。
【００３１】
原稿読取部１３０は、その上面に原稿を読み取るための矩形状の読取面を有する。読取面は、例えばプラテンガラスにより形成される。自動原稿搬送装置１２０は、読取面の１つの辺に平行な軸を中心に回転可能にＭＦＰ１００の本体に接続され、開閉可能である。自動原稿搬送装置１２０の下方に、原稿読取部１３０が配置されており、自動原稿搬送装置１２０が回転して開いた状態で、原稿読取部１３０の読取面が露出する。このため、ユーザーは、原稿読取部１３０の読取面に原稿を載置可能である。
【００３２】
原稿読取部１３０は、光を照射する光源と、光を受光する光電変換素子とを含み、読取面に載置された原稿に形成されている画像を走査する。読取領域に原稿が載置されている場合、光源から照射された光は原稿で反射し、反射した光が光電変換素子で結像する。光電変換素子は、原稿で反射した光を受光すると、受光した光を電気信号に変換した画像データを生成する。
【００３３】
給紙部１５０は、用紙を収容するための２つの給紙トレイを含む。給紙部１５０は、２つの給紙トレイのいずれかに収容された用紙を画像形成部１４０に搬送する。画像形成部１４０は、周知の電子写真方式により画像を形成するものであって、画像データに基づいて、給紙部１５０により搬送される用紙に画像を形成し、画像を形成した用紙を排紙トレイ１５５に排出する。
【００３４】
図３は、複合装置のハードウェア構成の一例を示すブロック図である。図３を参照して、複合装置１は、ＭＦＰ１００と、内部サーバー２００と、操作パネル３００と、を含む。ＭＦＰ１００と内部サーバー２００とは、ＬＡＮケーブル７で接続される。
【００３５】
内部サーバー２００は、一般的なコンピューターであり、内部サーバー２００の全体を制御するための第２ＣＰＵ（中央演算処理装置）２０１と、第１ＣＰＵ２０１が実行するためのプログラムを記憶するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０２と、第１ＣＰＵ２０１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０３と、データを不揮発的に記憶するハードディスクドライブ（ＨＤＤ）２０４と、第１ＣＰＵ２０１をＬＡＮケーブル７に接続する第１ＬＡＮ通信部２０５と、外部記憶装置２０６と、を含む。第１ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、第１ＬＡＮ通信部２０５および外部記憶装置２０６はバス２２１に接続される。
【００３６】
ＲＯＭ２０２は、第１ＣＰＵ２０１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ２０３は、第１ＣＰＵ２０１がプログラムを実行する際の作業領域として用いられる。
【００３７】
第１ＬＡＮ通信部２０５は、第１ＣＰＵ２０１をネットワークに接続するためのインターフェースである。第１ＬＡＮ通信部２０５は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで、ネットワークに接続されたコンピューターと通信する。ここでは、第１ＬＡＮ通信部２０５は、インターネット５およびＬＡＮケーブル７と接続される。このため、第１ＬＡＮ通信部２０５は、第１ＣＰＵ２０１をインターネット５を介して外部サーバー３と接続するためのインターフェースであるとともに、第１ＣＰＵ２０１をＬＡＮケーブル７を介してＭＦＰ１００と接続するためのインターフェースである。なお、第１ＬＡＮ通信部２０５が接続されるネットワークは、インターネット５およびＬＡＮケーブル７に限らず、他のＬＡＮのケーブルに接続されてもよい。また、第１ＣＰＵ２０１は、第１ＬＡＮ通信部２０５によってインターネット５に接続されるので、外部サーバー３とは別のコンピューターと接続が可能である。
【００３８】
ＨＤＤ２０４は、大容量記憶装置であり、第１ＣＰＵ２０１により制御される。第１ＣＰＵ２０１は、ＨＤＤ２０４に記憶されたデータを読出し可能であり、また、ＨＤＤ２０４にデータを書き込み可能である。
【００３９】
外部記憶装置２０６は、第１ＣＰＵ２０１により制御され、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）−ＲＯＭ２０６Ａ、または半導体メモリが装着される。第１ＣＰＵ２０１は、外部記憶装置２０６を制御して、ＣＤ−ＲＯＭ２０６Ａまたは半導体メモリに記憶されたデータの読出し、または、ＣＤ−ＲＯＭ２０６Ａまたは半導体メモリにデータを書き込みが可能である。
【００４０】
操作パネル３００は、表示部３０５と、操作部３０７と、を含む。表示部３０５および操作部３０７は、内部サーバー２００のバス２２１に接続され、第１ＣＰＵ２０１により制御される。
【００４１】
表示部３０５は、例えば、液晶表示装置（ＬＣＤ）であり、ユーザーに対する指示メニューや取得した画像データに関する情報等を表示する。なお、ＬＣＤに代えて、画像を表示する装置であれば、例えば、有機ＥＬ（ｅｌｅｃｔｒｏｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイを用いることができる。
【００４２】
操作部３０７は、タッチパネル３２１と、ハードキー部３２３とを含む。タッチパネル３２１は、静電容量方式である。なお、タッチパネル３２１は、静電容量方式に限らず、例えば、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等の他の方式を用いることができる。
【００４３】
タッチパネル３２１は、表示部３０５の上面または下面に重畳して設けられる。ここでは、タッチパネル３２１の検出面のサイズと、表示部３０５の表示面のサイズとを同じにしている。このため、表示面の座標系と検出面の座標系は同じである。タッチパネル３２１は、ユーザーが、表示部３０５の表示面を指示する位置を検出面で検出し、検出した位置の座標を示す位置情報を第１ＣＰＵ２０１に出力する。表示面の座標系と検出面の座標系は同じなので、タッチパネル３２１が出力する位置情報で特定される座標を、表示部３０５の表示面の座標に置き換えることができる。ハードキー部３２３は、複数のハードキーを含む。ハードキーは、例えば接点スイッチである。
【００４４】
ＭＦＰ１００は、第２ＣＰＵ１１１と、第２ＬＡＮ通信部１１２と、ＲＯＭ１１３と、ＲＡＭ１１４と、ファクシミリ部１１５と、自動原稿搬送装置１２０と、原稿読取部１３０と、画像形成部１４０と、給紙部１５０と、を含む。第２ＣＰＵ１１１は、第２ＬＡＮ通信部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ファクシミリ部１１５、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０と接続され、ＭＦＰ１００の全体を制御する。
【００４５】
ＲＯＭ１１３は、第２ＣＰＵ１１１が実行するプログラム、またはそのプログラムを実行するために必要なデータを記憶する。ＲＡＭ１１４は、第２ＣＰＵ１１１がプログラムを実行する際の作業領域として用いられる。また、ＲＡＭ１１４は、原稿読取部１３０から連続的に送られてくる画像データを一時的に記憶する。
【００４６】
ファクシミリ部１１５は、公衆交換電話網（ＰＳＴＮ）に接続され、ＰＳＴＮにファクシミリデータを送信する、またはＰＳＴＮからファクシミリデータを受信する。ファクシミリ部１１５は、受信したファクシミリデータを画像形成部１４０でプリント可能なプリントデータに変換して、画像形成部１４０に出力する。これにより、画像形成部１４０は、ファクシミリ部１１５により受信されたファクシミリデータの画像を用紙に形成する。また、ファクシミリ部１１５は、原稿読取部１３０が原稿を読み取って出力する画像データをファクシミリデータに変換して、ＰＳＴＮに接続されたファクシミリ装置に送信する。
【００４７】
第２ＬＡＮ通信部１１２は、第１ＣＰＵをＬＡＮケーブル７に接続された内部サーバー２００に接続するためのインターフェースである。第２ＬＡＮ通信部１１２は、ＴＣＰまたはＦＴＰ等の通信プロトコルで、ＬＡＮケーブル７に接続された内部サーバー２００と通信する。なお、第２ＬＡＮ通信部１１２が接続されるネットワークの接続形態は有線または無線を問わない。また、ＬＡＮケーブル７は、ＭＦＰ１００とは別の他のコンピューターと接続されてもよい。この場合、第２ＬＡＮ通信部１１２は、ＬＡＮケーブル７に接続された他のコンピューターと通信可能となる。また、ＬＡＮケーブル７がインターネットに接続される場合には、第２ＬＡＮ通信部１１２は、インターネットに接続された他のコンピューターと通信可能となる。
【００４８】
ＨＤＤ２０４および外部記憶装置２０６は、第１ＣＰＵ２０１によりＭＦＰ１００と共有設定されており、ＭＦＰ１００からアクセス可能に設定される。このため、第２ＣＰＵ１１１は、ＨＤＤ２０４または外部記憶装置２０６に装着されたＣＤ−ＲＯＭ２０６Ａに記憶されたデータを読出し可能であり、また、それらにデータを書き込み可能である。
【００４９】
本実施の形態においては、第２ＣＰＵ１１１はＲＯＭ１１３に記憶されたプログラムを実行する例を説明するが、第２ＣＰＵ１１１はＨＤＤ２０４または外部記憶装置２０６に装着されたＣＤ−ＲＯＭ２０６Ａ等から第２ＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１４にロードして実行するようにしてもよい。同様に、第１ＣＰＵ２０１はＨＤＤ２０４または外部記憶装置２０６に装着されたＣＤ−ＲＯＭ２０６Ａ等から第１ＣＰＵ２０１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ２０３にロードして実行するようにしてもよい。
【００５０】
なお、第２ＣＰＵ１１１または第１ＣＰＵ２０１それぞれが実行するためのプログラムを記憶する記録媒体としては、ＣＤ−ＲＯＭ２０６Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ）／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。
【００５１】
さらに、第２ＣＰＵ１１１または第１ＣＰＵ２０１がインターネットに接続されたコンピューターからプログラムをダウンロードしてＨＤＤ２０４に記憶する、または、インターネットに接続されたコンピューターがプログラムをＨＤＤ２０４に書込みするようにしてもよい。この場合、第２ＣＰＵ１１１は、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ１１４にロードして実行し、第１ＣＰＵ２０１は、ＨＤＤ２０４に記憶されたプログラムをＲＡＭ２０３にロードして実行する。ここでいうプログラムは、第２ＣＰＵ１１１または第１ＣＰＵ２０１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００５２】
本実施の形態におけるＭＦＰ１００においては、外部からＭＦＰ１００を制御するために、予め制御コマンドが定められている。ここでは、外部からＭＦＰ１００を制御するために予め定められた制御コマンドをＡＰＩコマンドという。ＭＦＰ１００は、ＡＰＩコマンドが入力されると、ＡＰＩコマンドに従って処理を実行する。ＡＰＩコマンドは、ＭＦＰ１００が実行する複数の処理にそれぞれ対応するコマンドであって、ＭＦＰ１００の外部からＭＦＰ１００に処理を実行させることを可能にしたコマンドである。また、ＭＦＰ１００においては、ＡＰＩコマンドを受信する単一の外部装置として内部サーバー２００が設定される。例えば、ＭＦＰ１００に内部サーバー２００を識別するための装置識別情報が設定される。装置識別情報は、例えば、ＩＰアドレス等のネットワークアドレスを用いることができる。ＭＦＰ１００には、内部サーバーからの指示により、ＡＰＩコマンドを受信する外部装置として内部サーバー２００が設定される。
【００５３】
ここで、ＭＦＰ１００が備える第２ＬＡＮ通信部１１２、ＲＯＭ１１３、ＲＡＭ１１４、ファクシミリ部１１５、自動原稿搬送装置１２０、原稿読取部１３０、画像形成部１４０および給紙部１５０を、ＭＦＰ１００が制御するハードウェア資源という。
【００５４】
第２ＣＰＵ１１１は、第２ＬＡＮ通信部１１２を制御し、ＬＡＮケーブル７を介して内部サーバー２００からＡＰＩコマンドを受信することにより、内部サーバー２００により制御される。第２ＣＰＵ１１１が実行する処理は、ハードウェア資源を制御してジョブを実行するジョブ実行処理と、パラメータを設定する設定処理と、を含む。設定処理により設定されるパラメータは、例えば、ジョブ実行処理の実行を制限することを定めるパラメータ、ハードウェア資源を管理するパラメータを含む。
【００５５】
第２ＣＰＵ１１１は、ＡＰＩコマンドによって定まる設定処理を実行する場合、ジョブ実行処理の実行を制限することを定めるパラメータを設定する。その後、第２ＣＰＵ１１１は、ジョブ実行処理の実行を指示するＡＰＩコマンドを受信する場合、設定されたパラメータに従ってジョブ実行処理を実行する。例えば、第２ＣＰＵ１１１は、設定処理が実行されて、ジョブ実行処理の実行を制限することを定めるパラメータとして、ジョブ実行処理の実行を指示したユーザーを制限することを定めるパラメータが設定される場合、ユーザーが認証されていることを条件にジョブ実行処理を実行する。また、第２ＣＰＵ１１１は、設定処理が実行されて、ジョブ実行処理の実行を制限することを定めるパラメータとして、ジョブ実行処理の実行を指示したユーザーの権限を制限することを定めるパラメータが設定される場合、ユーザーに与えられた権限の範囲内でジョブ実行処理を実行する。
【００５６】
また、第２ＣＰＵ１１１は、第２ＬＡＮ通信部１１２を制御し、ＬＡＮケーブル７を介して内部サーバー２００に応答情報を送信する場合がある。応答情報は、第２ＣＰＵ１１１がＡＰＩコマンドに従ってジョブ実行処理を実行した結果を示す情報を含む。この場合における応答情報は、ジョブ実行処理の実行を指示するＡＰＩコマンドによる要求に応答する情報である。第２ＣＰＵ１１１は、ＡＰＩコマンドに従ってジョブ実行処理を実行するが、ＡＰＩコマンドに従って設定処理が実行されている場合には、設定処理により設定されたパラメータに従ってジョブ実行処理を実行し、応答情報を送信する。このため、第２ＣＰＵ１１１がＡＰＩコマンドに従ってジョブ実行処理を実行した結果を示す情報は、第２ＣＰＵ１１１が設定処理を実行することにより設定されるパラメータによって異なる場合がある。
【００５７】
例えば、第２ＣＰＵ１１１は、設定処理が実行されて、ハードウェア資源を管理することを定めるパラメータとして、ジョブ実行処理を実行した履歴を管理することを定めるパラメータが設定される場合、ＡＰＩコマンドに従ってジョブ実行処理を実行した結果を応答情報として、内部サーバー２００に送信する。この場合、設定処理が実行されてユーザーを制限することを定めるパラメータが設定される場合、ジョブ実行処理の実行を指示するＡＰＩコマンドに対応する応答情報は、ジョブ実行処理を実行した結果に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
【００５８】
また、第２ＣＰＵ１１１は、設定処理が実行されて、ハードウェア資源を管理することを定めるパラメータとして、プリント枚数を管理するパラメータがされる場合、ジョブ実行処理を実行してプリントした用紙の枚数を応答情報として、内部サーバー２００に送信する。この場合、設定処理が実行されてユーザーを制限することを定めるパラメータが設定される場合、ジョブ実行処理の実行を指示するＡＰＩコマンドに対応する応答情報は、ジョブ実行処理を実行した結果であるプリント枚数に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
【００５９】
また、第２ＣＰＵ１１１は、ＡＰＩコマンドにより特定されるジョブ実行処理が原稿を読み取るスキャンジョブの場合には、応答情報として、原稿を読み取って得られる画像データを内部サーバー２００に送信する。この場合、設定処理が実行されてユーザーを制限することを定めるパラメータが設定される場合、ジョブ実行処理の実行を指示する応答情報は、ジョブ実行処理を実行した結果であるプリント枚数に加えてジョブ実行処理の実行を指示したユーザー識別情報を含む。
【００６０】
本実施の形態における複合装置１は、内部サーバー２００がＭＦＰ１００を制御する。また、内部サーバー２００は、外部サーバー３が提供する外部サービスとは別にサービスを提供する。以下、内部サーバー２００が提供するサービス（第１のサービス）を内部サービスという。内部サーバー２００は、ＭＦＰ１００にＡＰＩコマンドを受信する装置として内部サーバー２００を登録させることにより、外部サーバー３にＭＦＰ１００のために外部サービスを提供させるとともに、ＭＦＰ１００のために内部サービスを提供する。以下、これについて具体的に説明する。
【００６１】
図４は、内部サーバーが備える第１ＣＰＵが有する機能と外部サーバーの機能の一例を示す図である。図４に示す内部サーバー２００が備える第１ＣＰＵ２０１が有する機能は、第１ＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０６Ａに記憶された連携プログラムを実行することにより、第１ＣＰＵ２０１に形成される機能である。図４を参照して、第１ＣＰＵ２０１は、内部サービスを提供する管理モジュール２５１と、ＭＦＰ１００を管理する管理部２５３と、を含む。管理モジュール２５１は、第１ＣＰＵ２０１が内部サービスを提供するための処理を定めたアプリケーションプログラムを実行するタスクの集合である。管理モジュール２５１が提供する内部サービスは、内部サーバー２００にインストールされるアプリケーションプログラムによって定まる。
【００６２】
ここでは、管理モジュール２５１は、アカウント管理部２５７と、カウンター管理部２５９と、を含む。アカウント管理部２５７は、ＭＦＰ１００を操作するユーザーが属する部門ごとにＭＦＰ１００に実行させることが可能な処理の範囲を管理するアカウント管理サービスを提供し、カウンター管理部２５９は、ＭＦＰ１００が画像を形成した枚数をユーザーおよび部門ごとに管理するカウンター管理サービスを提供する。アカウント管理部２５７は、アカウント管理サービスを提供するためのアプリケーションプログラムを第１ＣＰＵ２０１が実行するタスクである。カウンター管理部２５９は、カウンター管理サービスを提供するためのアプリケーションプログラムを第１ＣＰＵ２０１が実行するタスクである。
【００６３】
ここで、外部サーバー３の機能を説明する。本実施の形態においては、外部サーバー３は、ユーザーを認証する処理を実行する認証サービスと、データを管理するファイル管理サービスとを外部サービスとして提供する。外部サーバー３は、認証サービスを提供するための認証管理部３５１と、ファイル管理サービスを提供するためのファイル管理部３５３と、を含む。認証管理部３５１およびファイル管理部３５３それぞれは、外部サーバー３が備えるＣＰＵが外部サービスを提供するための処理を定めたアプリケーションプログラムを実行するタスクである。
【００６４】
第１ＣＰＵ２０１が有する管理部２５３は、設定部２６１と、関連付部２６３と、中継部２６５と、を含む。中継部２６５は、サービス管理部２７１と、要求部２７３と、応答情報受付部２７５と、サービス決定部２７７と、サービス依頼部２７９と、を含む。
【００６５】
設定部２６１は、外部サービスおよび内部サービスをＭＦＰ１００のために提供されるサービスとして設定する。例えば、ユーザーが、外部サーバー３に外部サービスを提供する先としてＭＦＰ１００を登録する場合、複合装置１のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を外部サーバー３に入力する。ここで、複合装置１の内部サーバー２００がインターネット５に接続されているので、複合装置１のＵＲＬは内部サーバー２００に割り当てられたＵＲＬである。外部サーバー３は、複合装置１のＵＲＬが登録されることに応じて、サービスの提供を開始することを指示するＡＰＩコマンドを、インターネット５を介して複合装置１のＵＲＬ宛てに送信する。ＡＰＩコマンドは、外部サーバー３が提供する外部サービスを識別するためのサービス識別情報を含む。サービス識別情報は、例えば、外部サービスに割り当てられたＵＲＬである。
【００６６】
例えば、ユーザーが、管理モジュール２５１に内部サービスの提供を要求する場合、管理モジュール２５１は、サービスの提供を開始することを指示するＡＰＩコマンドを設定部２６１に出力する。管理モジュール２５１が出力するＡＰＩコマンドは、内部サービスを識別するためのサービス識別情報を含む。
【００６７】
設定部２６１は、第１ＬＡＮ通信部２０５が外部サーバー３からサービスの提供を開始することを指示するＡＰＩコマンドを受信すると、第１ＬＡＮ通信部２０５が受信したＡＰＩコマンドを受け付け、管理モジュール２５１からサービスの提供を開始することを指示するＡＰＩコマンドが入力されると、そのＡＰＩコマンドを受け付ける。以下、第１ＬＡＮ通信部２０５が受信したＡＰＩコマンドで特定される外部サービスと、管理モジュール２５１から入力されるＡＰＩコマンドで特定される内部サービスとを、区別しない場合に単にサービスという。設定部２６１は、サービスの提供を開始することを指示するＡＰＩコマンドを受け付けることに応じて、そのＡＰＩコマンドにより特定されるサービスをＭＦＰ１００のために提供されるサービスとして登録するとともに、ＭＦＰ１００の設定をＡＰＩコマンドにより特定されるサービスの提供を受けることが可能な状態に変更するために、そのＡＰＩコマンドをＭＦＰに転送する。
【００６８】
具体的には、設定部２６１は、ＡＰＩコマンドにより特定されるサービスを登録するために、ＡＰＩコマンドをサービス管理部２７１および関連付部２６３に出力する。また、設定部２６１は、ＭＦＰ１００の設定を変更するために、要求部２７３にＡＰＩコマンドの転送を依頼する。
【００６９】
要求部２７３は、設定部２６１からＡＰＩコマンドの転送が依頼されることに応じて、ＭＦＰ１００にＡＰＩコマンドを、外部サーバー３または管理モジュール２５１に代わって送信する。具体的には、要求部２７３は、第１ＬＡＮ通信部２０５を制御して、ＡＰＩコマンドをＭＦＰ１００に送信する。ＭＦＰ１００は、ＡＰＩコマンドを受信すると、ＡＰＩコマンドを実行し、ＡＰＩコマンドで特定されるサービスの提供を受けるために必要なパラメータを設定する。サービスの提供を受けるために必要なパラメータは、サービスに対して予め定められており、認証サービスに対して、ジョブ実行処理の実行を指示したユーザーを制限することを定めるパラメータである。また、アカウント管理サービスに対して、ジョブ実行処理の実行を指示したユーザーが属する部門により実行可能な処理の範囲を制限することを定めるパラメータが定められている。また、カウンター管理サービスに対して、ジョブ実行処理を実行した結果として返信する項目を定めるパラメータが定められている。項目は、ＡＰＩコマンドで定まるサービスに与えられ、そのサービスを提供するために用いられる入力情報の種類であり、サービスに対して予め定められている。例えば、カウンター管理サービスに対して定められる項目は、ジョブ実行処理の実行を指示したユーザーのユーザー識別情報、ジョブ実行処理を実行して画像が形成された枚数を含む。
【００７０】
関連付部２６３は、設定部２６１からサービスの提供を開始することを指示するＡＰＩコマンドが入力されることに応じて、そのＡＰＩコマンドで特定されるサービスに、ＭＦＰ１００が出力する応答情報の種類を関連付けた関連付テーブルを生成する。関連付部２６３は、生成された関連付テーブルをサービス決定部２７７に出力する。関連付部２６３は、ＡＰＩコマンドで特定されるサービスに与えられる入力情報に基づいて、ＭＦＰ１００が出力する応答情報の種類を決定する。サービスに与えられる入力情報は、予め定めておくようにしてもよいし、そのサービスの提供元から取得するようにしてもよい。
【００７１】
図５は、関連付テーブルの一例を示す図である。図５を参照して、関連付テーブルは、サービスごとに、サービスと応答情報とを関連付ける。例えば、認証サービスは、ユーザーを認証する処理であり、与えられる入力情報は、ユーザー識別情報とパスワードである。これらの情報は、ユーザーが入力する情報であり、ＭＦＰ１００が出力する応答情報ではない。このため、認証サービスに対応する関連付レコードにおいて、サービスに応答情報は関連付けられない。
【００７２】
ファイル管理サービスは、外部サーバー３に記憶されたデータを画像形成するためのプリントジョブを生成する出力処理と、ＭＦＰ１００が原稿を読み取るスキャン処理を実行して取得される画像を外部サーバー３に記憶する入力処理とを含む。ファイル管理サービスの出力処理に対して与えられる入力情報は、外部サーバー３に記憶されたデータであり、ユーザーが入力する情報なので、ＭＦＰ１００が出力する応答情報ではない。ファイル管理サービスの入力処理に対して与えられる入力情報は、ＭＦＰ１００が実行するスキャン処理の結果得られる画像である。関連付部２６３は、ファイル管理サービスが登録される場合、ファイル管理サービスのサービス識別情報と、ＭＦＰ１００が実行するスキャン処理の結果得られる画像を示す種類識別情報とを含む関連付レコードを生成し、生成された関連付レコードを関連付テーブルに追加する。
【００７３】
アカウント管理部２５７が提供するアカウント管理サービスは、ユーザーが属する部門に対してＭＦＰ１００に実行させることが可能な処理の範囲を決定する処理であり、与えられる入力情報は、ユーザー識別情報と部門名とである。これらの情報は、ユーザーが入力する情報であり、ＭＦＰ１００が出力する応答情報ではない。このため、認証サービスに対応する関連付レコードにおいて、サービスに応答情報は関連付けられない。
【００７４】
カウンター管理サービスは、ＭＦＰ１００に処理を指示したユーザーおよび部門ごとに、ＭＦＰ１００が実行した処理量を記憶する処理であり、与えられる入力情報は、ユーザー識別情報と、部門名と、処理量である。処理量は、プリントジョブを実行する処理に対して画像を形成する用紙の枚数を示す画像形成枚数であり、スキャン処理に対して読み取った原稿の枚数を示す原稿枚数である。関連付部２６３は、カウンター管理サービスに、入力情報としてユーザー識別情報と部門名と処理量とを関連付ける。具体的には、関連付部２６３は、カウンター管理サービスが登録される場合、カウンター管理サービスのサービス識別情報と、ユーザー識別情報を示す種類識別情報と、部門名を識別するための種類識別情報と、画像形成枚数を示す種類識別情報と、を含む関連付レコードと、カウンター管理サービスのサービス識別情報と、ユーザー識別情報を示す種類識別情報と、部門名を示す種類識別情報と、原稿読取枚数を示す種類識別情報と、を含む関連付レコードと、を生成し、生成された２つの関連付レコードを関連付テーブルに追加する。
【００７５】
図４に戻って、サービス管理部２７１は、設定部２６１からサービスの提供を開始することを指示するＡＰＩコマンドが入力されることに応じて、そのＡＰＩコマンドで特定されるサービスを登録し、登録されたサービスを管理する。サービス管理部２７１は、登録されたサービスのサービス識別情報をサービス依頼部２７９に出力する。
【００７６】
サービス管理部２７１が複数のサービスを登録する場合、登録された複数のサービスが、先行サービスと、先行サービスが提供された結果を利用する後続サービスと、を含む場合がある。サービス管理部２７１は、先行サービスと後続サービスとの順番を決定し、決定された順番をサービス依頼部２７９に出力する。ここでは、認証サービス、ファイル管理サービス、アカウント管理サービス、カウンター管理サービスが登録されている場合を例に説明する。ファイル管理サービス、アカウント管理サービスおよびカウンター管理サービスは、認証サービスにより認証されたユーザーのユーザー識別情報を利用するので、認証サービスが第１番の順番に決定される。ファイル管理サービスおよびカウンター管理サービスは、アカウント管理サービスで特定されるユーザーの部門の部門名を利用するので、アカウント管理サービスが第２番の順番に決定される。カウンター管理サービスは、ＭＦＰ１００がジョブが実行した結果を利用し、ファイル管理サービスが提供されてＭＦＰ１００がジョブを実行するので、ファイル管理サービスが第３番の順番に決定され、カウント管理サービスが第４番の順番に決定される。
【００７７】
また、第１番目の認証サービスと、第２番目のアカウント管理サービスとは、複合装置１を操作するユーザーを特定するためのサービスであるため、サービス管理部２７１は、ユーザーがＭＦＰ１００を操作する段階で、第１番目の認証サービスと、第２番目のアカウント管理サービスとの提供を自動的に受けるように設定する。さらに、第３番目のファイル管理サービスは、ＭＦＰ１００に処理を実行させるサービスであるため、ユーザーにより指示された場合にサービスの提供を受けるように設定する。第４番目のカウンター管理サービスは、ＭＦＰ１００が処理を実行した結果を用いるので、ＭＦＰ１００が処理を実行した後にサービスの提供を受けるように設定する。
【００７８】
サービス依頼部２７９は、サービス管理部２７１から登録された１以上のサービスそれぞれのサービス識別情報と、サービスの順番と、が入力される。サービス依頼部２７９は、サービスの順番に従って、管理モジュール２５１と、外部サーバー３とにサービスの提供を依頼する。
【００７９】
サービス依頼部２７９は、ユーザーが複合装置１を操作するために、操作部３０７を操作すると、第１番目の認証サービスの提供を受けるために、外部サーバー３に認証サービスの提供を依頼する。具体的には、サービス依頼部２７９は、第１ＬＡＮ通信部２０５を制御して、外部サーバー３との間で通信セッションを確立する。ここで確立される通信セッションをサーバーセッションという。サービス依頼部２７９は、サーバーセッションを介して、ＭＦＰ１００に代わって認証サービスの提供を依頼する信号を送信する。外部サーバー３の認証管理部３５１は、認証画面を返信するので、サービス依頼部２７９は、サーバーセッションを介して外部サーバー３から受信する認証画面を表示部３０５に表示する。そして、サービス依頼部２７９は、ユーザーが操作部３０７に入力する認証情報を受け付け、受け付けられた認証情報を、サーバーセッションを介して外部サーバー３に送信する。認証情報は、ユーザー識別情報とパスワードとを含む。外部サーバー３の認証管理部３５１は、複合装置１から受信される認証情報に基づいて認証し、認証結果を示すＡＰＩコマンドを返信する。
【００８０】
サービス依頼部２７９は、サーバーセッションを介して外部サーバー３から受信する認証結果を示すＡＰＩコマンドが認証成功を示す場合、第１ＬＡＮ通信部２０５を制御して、ＭＦＰ１００との間で通信セッションを確立し、ＭＦＰ１００を操作するユーザーの通知を要求部２７３に依頼する。ここで、ＭＦＰ１００との間で確立された通信セッションをＭＦＰセッションという。サービス依頼部２７９は、認証されたユーザーがログアウトするまで、または、操作部３０７が操作を受け付けることなく所定の時間が経過するまでＭＦＰセッションを維持する。ＭＦＰ１００は、ＭＦＰセッションが確立されている間は、内部サーバー２００をＡＰＩコマンドを受信する特定の外部装置に設定する。換言すれば、ＭＦＰ１００は、ＭＦＰセッションが確立されている間は、内部サーバー２００から受信されるＡＰＩコマンドを実行することにより設定するパラメータを維持し、パラメータに従ってＡＰＩコマンドに従って処理を実行するが、ＭＦＰセッションが切断されると、それまでに設定されたパラメータをデフォルト値に再設定する。
【００８１】
要求部２７３は、ＭＦＰセッションを介してＭＦＰ１００に、外部サーバー３から受信される認証結果を示すＡＰＩコマンドを外部サーバー３に代わって送信する。これにより、ＡＰＩコマンドを受信するＭＦＰ１００は、外部サーバー３により認証されたユーザーを、ＭＦＰ１００を操作するユーザーとして設定する。また、サービス依頼部２７９は、サーバーセッションを介して外部サーバー３から受信する認証結果が認証失敗を示す場合、サーバーセッションを切断する。
【００８２】
サービス依頼部２７９は、複合装置１を操作するユーザーを認証する場合、第２番目のアカウント管理サービスの提供を受けるために、管理モジュール２５１にＭＦＰ１００に代わってアカウント管理サービスの提供を依頼する。具体的には、サービス依頼部２７９は、管理モジュール２５１に、アカウント管理サービスの提供を依頼する信号を出力する。管理モジュール２５１のアカウント管理部２５７は、アカウント管理サービスの提供の依頼を受けると、表示部３０５に部門入力画面を表示する。部門入力画面は、ユーザーを識別するためのユーザー識別情報と、そのユーザーが属する部門の部門名と、の入力を受け付けるための画面である。なお、アカウント管理サービスの提供を依頼する信号に、外部サーバー３により認証されたユーザーのユーザー識別情報を含めるようにしてもよい。この場合、アカウント管理部２５７は、部門入力画面のユーザー識別情報を入力する領域に、認証されたユーザーのユーザー識別情報を設定した状態の部門入力画面を表示部３０５に表示する。
【００８３】
サービス依頼部２７９は、ユーザーが操作部３０７に入力する部門名、必要に応じてユーザー識別情報を受け付け、受け付けられた部門名、および必要に応じてユーザー識別情報をアカウント管理部２５７に出力する。
【００８４】
アカウント管理部２５７は、ユーザー識別情報と部門名とから、その部門に対してＭＦＰ１００に実行させることができる処理の範囲を決定し、部門に対して実行可能な処理の範囲を示すＡＰＩコマンドを返信する。サービス依頼部２７９は、アカウント管理部２５７から入力されるＡＰＩコマンドの送信を要求部２７３に依頼する。要求部２７３は、ＭＦＰセッションを介してＭＦＰ１００に、管理モジュールに代わってＡＰＩコマンドを送信する。ＭＦＰ１００は、ＡＰＩコマンドを実行し、部門に対して実行可能な処理の範囲を設定する。
【００８５】
サービス依頼部２７９は、操作部３０７がファイル管理サービスを選択する操作を受け付けることに応じて、ファイル管理サービスの順番が正しいか否かを確認する。具体的には、現在確立されているＭＦＰセッションが確立されている間に、ファイル管理サービスよりも順番が前のサービスの提供を受けているか否かを判断する。ここでは、ファイル管理サービスの順番は第３番であり、第１番の認証サービスと第２番のアカウント管理サービスとの提供を受けているか否かを判断する。現在確立されているＭＦＰセッションが確立されている間にファイル管理サービスよりも順番が前のサービスの提供を受けていない場合には、表示部３０５に、ファイル管理サービスの提供を受けることができないことを通知するエラー画面を表示する。
【００８６】
サービス依頼部２７９は、現在確立されているＭＦＰセッションが確立されている間にファイル管理サービスよりも順番が前のサービスの全ての提供を受けている場合は、ファイル管理サービスの提供を受けるために、ＭＦＰ１００に代わって外部サーバー３にファイル管理サービスの提供を依頼する。具体的には、サービス依頼部２７９は、サーバーセッションを介して、ファイル管理サービスの提供を依頼する信号を送信する。
【００８７】
外部サーバー３のファイル管理部３５３は、ファイル管理画面を返信するので、サービス依頼部２７９は、サーバーセッションを介して外部サーバー３から受信するファイル管理画面を表示部３０５に表示する。そして、サービス依頼部２７９は、ユーザーが操作部３０７に入力する操作を、サーバーセッションを介して外部サーバー３に送信する。
【００８８】
外部サーバー３は、ユーザーが操作部３０７に入力する操作に従って処理を実行することにより、ファイル管理サービスを提供する。ここで、ファイル管理部３５３が提供するファイル管理サービスは、外部サーバー３に記憶されたデータをＭＦＰ１００にプリントさせるためのプリントジョブを生成する出力処理と、ＭＦＰ１００が原稿を読み取るスキャン処理を実行して取得される画像を外部サーバー３に記憶する入力処理とを含む。
【００８９】
＜出力処理＞
ユーザーによりファイル管理サービスとして出力処理が選択される場合、外部サーバー３は、プリントジョブの実行を指示するＡＰＩコマンドを複合装置１に送信するので、サービス依頼部２７９は、サーバーセッションを介して、外部サーバー３からプリントジョブの実行を指示するＡＰＩコマンドを受信することに応じて、プリントジョブの実行を指示するＡＰＩコマンドの送信を要求部２７３に依頼する。
【００９０】
要求部２７３は、サービス依頼部２７９からプリントジョブの実行を指示するＡＰＩコマンドの送信が依頼されると、ＭＦＰセッションを介してＭＦＰ１００に、プリントジョブの実行を指示するＡＰＩコマンドを外部サーバー３に代わって送信する。プリントジョブの実行を指示するＡＰＩコマンドを受信するＭＦＰ１００は、ＡＰＩコマンドで特定される外部サーバー３により生成されたプリントジョブの実行が可能か否かを判断する。
【００９１】
ＭＦＰ１００は、プリントジョブの実行を指示するＡＰＩコマンドを受信する前に、ＭＦＰセッションを介して受信されたＡＰＩコマンドを実行して、ＭＦＰ１００を操作するユーザーと、ユーザーが属する部門と、実行可能な処理の範囲とを設定している。このため、ＭＦＰ１００は、設定されているＭＦＰ１００を操作するユーザーと、設定されている実行可能な処理の範囲に基づいて、ＡＰＩコマンドで特定されるプリントジョブが実行可能か否かを判断する。具体的には、ＡＰＩコマンドで特定されるプリントジョブは、そのプリントジョブの実行を指示したユーザーのユーザー識別情報が含まれているので、ＭＦＰ１００は、プリントジョブに含まれるユーザー識別情報と、ＭＦＰ１００を操作するユーザーとして設定されているユーザーのユーザー識別情報とが同じであることを確認する。また、ＭＦＰは、プリントジョブの実行が、設定されている実行可能な処理の範囲内であることを確認する。ＭＦＰ１００は、プリントジョブが実行可能ならばプリントジョブを実行し、ユーザー識別情報と、部門名と、プリントジョブの実行結果と、画像形成枚数と、を応答情報として、ＭＦＰセッションを介して返信する。プリントジョブの実行結果は、プリントジョブの実行が完了したか否かを示す。
【００９２】
＜入力処理＞
ユーザーによりファイル管理サービスとして入力処理が選択される場合、外部サーバー３は、スキャンジョブの実行を指示するＡＰＩコマンドを複合装置１に送信するので、サービス依頼部２７９は、サーバーセッションを介して、外部サーバー３からスキャンジョブの実行を指示するＡＰＩコマンドを受信することに応じて、スキャンジョブの実行を指示するＡＰＩコマンドの送信を要求部２７３に依頼する。
【００９３】
要求部２７３は、サービス依頼部２７９からスキャンジョブの実行を指示するＡＰＩコマンドの送信が依頼されると、ＭＦＰセッションを介してＭＦＰ１００に、スキャンジョブの実行を指示するＡＰＩコマンドを外部サーバー３に代わって送信する。スキャンジョブの実行を指示するＡＰＩコマンドを受信するＭＦＰ１００は、スキャンジョブの実行が可能か否かを判断する。
【００９４】
ＭＦＰ１００は、スキャンジョブの実行を指示するＡＰＩコマンドを受信する時点で設定されているＭＦＰ１００を操作するユーザーと実行可能な処理の範囲とに基づいて、ＡＰＩコマンドで特定されるスキャンジョブが実行可能か否かを判断する。具体的には、ＡＰＩコマンドで特定されるスキャンジョブは、そのスキャンジョブの実行を指示したユーザーのユーザー識別情報が含まれている。ＭＦＰ１００は、スキャンジョブに含まれるユーザー識別情報と、ＭＦＰ１００を操作するユーザーとして設定されているユーザーのユーザー識別情報とが同じであることを確認する。また、ＭＦＰは、スキャンジョブの実行が、設定されている実行可能な処理の範囲内であることを確認する。ＭＦＰ１００は、スキャンジョブが実行可能ならばスキャンジョブを実行し、ユーザー識別情報と、部門名と、スキャンジョブの実行結果と、原稿読取枚数と、を応答情報として、ＭＦＰセッションを介して返信する。スキャンジョブの実行結果は、原稿を読み取って得られる画像を含む。
【００９５】
応答情報受付部２７５は、第１ＬＡＮ通信部２０５が、ＭＦＰセッションを介して、ＭＦＰ１００から受信する応答情報を受け付ける。応答情報受付部２７５は、応答情報を受け付けることに応じて、応答情報をサービス決定部２７７に出力する。
【００９６】
サービス決定部２７７は、応答情報受付部２７５から応答情報が入力されることに応じて、関連付部２６３から入力される関連付テーブルを参照して、応答情報に対応するサービスを決定する。サービス決定部２７７は、応答情報に対して決定されたサービスを決定する場合、サービスを決定する元になった応答情報を入力情報に決定し、決定されたサービスを識別するためのサービス識別情報と入力情報との組を、サービス依頼部２７９に出力する。
【００９７】
具体的には、ＭＦＰ１００がスキャンジョブを実行する場合は、応答情報は、ユーザー識別情報と、部門名と、画像と、原稿読取枚数を含む。サービス決定部２７７は、ＭＦＰ１００がスキャンジョブを実行する場合であって、サービス依頼部２７９がファイル管理サービスの提供を依頼している場合には、応答情報である画像に対してファイル管理サービスを決定し、画像を入力情報に決定するとともに、応答情報であるユーザー識別情報、部門名、および原稿読取枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および原稿読取枚数を入力情報に決定する。そして、サービス決定部２７７は、ファイル管理サービスのサービス識別情報と入力情報に決定された画像との組と、カウンター管理サービスのサービス識別情報と、入力情報に決定されたユーザー識別情報、部門名、および原稿読取枚数と、の組と、をサービス依頼部２７９に出力する。また、ＭＦＰ１００がスキャンジョブを実行する場合であって、サービス依頼部２７９がファイル管理サービスの提供を依頼していない場合には、サービス決定部２７７は、応答情報であるユーザー識別情報、部門名、および原稿読取枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および原稿読取枚数を入力情報に決定する。そして、サービス決定部２７７は、カウンター管理サービスのサービス識別情報と、入力情報に決定されたユーザー識別情報、部門名、および原稿読取枚数と、の組をサービス依頼部２７９に出力する。
【００９８】
さらに、ＭＦＰ１００がプリントジョブを実行する場合は、応答情報は、ユーザー識別情報と、部門名と、画像形成枚数とを含む。この場合は、応答情報であるユーザー識別情報、部門名、および画像形成枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および画像形成枚数を入力情報に決定する。そして、カウンター管理サービスのサービス識別情報と、入力情報に決定されたユーザー識別情報、部門名、および画像形成枚数と、の組をサービス依頼部２７９に出力する。
【００９９】
サービス依頼部２７９は、サービス決定部２７７からサービス識別情報と入力情報との組が入力されることに応じて、入力情報を、外部サーバー３および管理モジュール２５１のうちサービス識別情報で特定されるサービスを提供する一方に出力する。例えば、サービス依頼部２７９は、サービス決定部２７７からカウンター管理サービスのサービス識別情報が入力される場合、入力情報は、ユーザー識別情報と、部門と、画像形成枚数または原稿読取枚数と、を含む。サービス依頼部２７９は、入力情報に含まれるユーザー識別情報と、部門と、画像形成枚数または原稿読取枚数とをＭＦＰ１００に代わって管理モジュール２５１に出力し、管理モジュール２５１にカウンター管理サービスの提供を要求する。これにより、カウンター管理部２５９により、入力情報に基づいてカウンター管理サービスを提供するための処理が実行される。
【０１００】
また、サービス依頼部２７９は、サービス決定部２７７からファイル管理サービスのサービス識別情報と入力情報との組が入力される場合、入力情報は画像を含む。サービス依頼部２７９は、入力情報に含まれる画像を、サーバーセッションを介して外部サーバー３にＭＦＰ１００に代わって送信し、外部サーバー３にファイル管理サービスの提供を要求する。これにより、外部サーバー３により、入力情報の画像を外部サーバー３に記憶するファイル管理サービスの入力処理が実行される。
【０１０１】
図６は、サービス登録処理の流れの一例を示すフローチャートである。サービス登録処理は、サービス登録処理は、内部サーバー２００が備える第１ＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０６Ａに記憶された連携プログラムを実行することにより、第１ＣＰＵ２０１により実行される処理である。図６を参照して、サービスの登録が要求された否かを判断する（ステップＳ０１）。第１ＬＡＮ通信部２０５が外部サーバー３からサービスの提供を開始することを指示するＡＰＩコマンドを受信する場合、または、管理モジュール２５１からサービスの提供を開始することを指示するＡＰＩコマンドが入力される場合、サービスの登録が要求されたと判断する。サービスの登録が要求されるまで待機状態となり（ステップＳ０１でＮＯ）、サービスの登録が要求されたならば（ステップＳ０１でＹＥＳ）、処理をステップＳ０２に進める。
【０１０２】
ステップＳ０２においては、ステップＳ０１において登録が要求されたサービスの提供を受けるためにＭＦＰの設定を変更する。具体的には、第１ＬＡＮ通信部２０５を制御して、ステップＳ０１において、外部サーバー３または管理モジュール２５１のいずれかから受信されるＡＰＩコマンドをＭＦＰ１００に送信する。ＡＰＩコマンドを受信するＭＦＰ１００は、ＡＰＩコマンドを実行してパラメータを設定させる。例えば、認証サービスが登録される場合のパラメータは、ジョブの実行を指示したユーザーを制限することを定めるパラメータである。また、アカウント管理サービスが登録される場合のパラメータは、ジョブの実行を指示したユーザーが属する部門により実行可能な処理の範囲を制限することを定めるパラメータである。また、カウンター管理サービスが登録される場合のパラメータは、ジョブを実行した結果として返信する項目を定めるパラメータである。例えば、項目は、ジョブの実行を指示したユーザーのユーザー識別情報、ジョブを実行して画像が形成された用紙の枚数、読み取った原稿の枚数を含む。
【０１０３】
次のステップＳ０３においては、関連付レコードを生成する。ステップＳ０１において受け付けられたＡＰＩコマンドに基づいて、ＡＰＩコマンドで特定されるサービスに、そのサービスに与えられる入力情報の種類を関連付けた関連付レコードを生成する。
【０１０４】
そして、登録されたサービスが複数か否かを判断する（ステップＳ０４）。複数のサービスが登録されているならば処理をステップＳ０５に進めるが、そうでなければ処理を終了する。ステップＳ０５においては、処理対象となるサービスを選択する。そして、登録された複数のサービスのうちに、処理対象となるサービスに対して先行サービスが存在するか否かを判断する（ステップＳ０６）。先行サービスは、処理対象となるサービスが使用する情報を提供するサービスである。先行サービスが存在するならば、処理をステップＳ０７に進めるが、そうでなければ処理をステップＳ０８に進める。ステップＳ０７においては、処理対象となるサービスの順番を、先行サービスの後に設定し、処理をステップＳ０８に進める。ステップＳ０８においては、処理対象に選択していないサービスが存在するか否かを判断する。未選択のサービスが存在するならば処理をステップＳ０５に戻すが、存在しなければ処理を終了する。
【０１０５】
図７は、連携処理の流れの一例を示すフローチャートである。連携処理は、内部サーバー２００が備える第１ＣＰＵ２０１が、ＲＯＭ２０２、ＨＤＤ２０４またはＣＤ−ＲＯＭ２０６Ａに記憶された連携プログラムを実行することにより、第１ＣＰＵ２０１により実行される処理である。ここでは、図６に示したサービス登録処理が実行されて、認証サービス、ファイル管理サービス、アカウント管理サービスおよびカウンター管理サービスが登録されている場合を例に説明する。
【０１０６】
図７を参照して、内部サーバー２００が備える第１ＣＰＵ２０１は、サーバーセッションを確立する（ステップＳ１１）。サーバーセッションは、外部の装置との間で確立される通信セッションである。登録されたサービスのサービス識別情報に基づいて、通信セッションを確立する。ここでは、外部サーバー３が提供する認証サービスおよびファイル管理サービスが登録されているので、外部サーバー３との間で通信セッションを確立する。具体的には、第２ＬＡＮ通信部１１２を制御して、外部サーバー３との間で通信セッションを確立する。なお、認証サービスのサービス識別情報とファイル管理サービスのサービス識別情報とは異なるが、認証サービスとファイル管理サービスとは１つの外部サーバー３により提供されるため、認証サービスとファイル管理サービスとに対して、外部サーバー３との間で１つの通信セッションを確立する。
【０１０７】
次のステップＳ１２においては、ＭＦＰセッションを確立し、処理をステップＳ１３に進める。ＭＦＰセッションは、ＭＦＰ１００との間で確立される通信セッションである。第１ＬＡＮ通信部２０５を制御して、ＭＦＰ１００との間で通信セッションを確立する。
【０１０８】
ステップＳ１３においては、登録されたサービスのうちに独立サービスが存在が存在するか否かを判断する。独立サービスは、ＭＦＰ１００から情報を取得することなく提供を受けることが可能なサービスである。独立サービスが存在するならば処理をステップＳ１４に進めるが、そうでなければ処理をステップＳ１７に進める。ここでは、認証サービスとアカウント管理サービスとが独立サービスに相当するので、処理をステップＳ１４に進める。
【０１０９】
ステップＳ１４においては、サービス提供を依頼する。サービスの提供元に提供を依頼する。そして、サービス結果を受信したか否かを判断する（ステップＳ１５）。サービスの提供元は、サービスを提供した結果を示すＡＰＩコマンドを送信するので、サーバーセッションを介して、ＡＰＩコマンドを受信したならば、サービス結果を受信したと判断する。サービス結果を受信するまで待機状態となり（ステップＳ１５でＮＯ）、サービス結果を受信したならば（ステップＳ１５でＹＥＳ）、処理をステップＳ１６に進める。なお、サービス結果が否定的な結果を示す場合には、後述するステップＳ３０以降の処理を実行し、処理を終了するようにすればよい。ステップＳ１６においては、ステップＳ１５において受信されたＡＰＩコマンドをＭＦＰに転送し、処理をステップＳ１３に戻す。
【０１１０】
ステップＳ１３〜ステップＳ１６の処理を、具体的に説明する。ここでは、独立サービスとして、認証サービスとアカウント管理サービスが相当する。認証サービスの順番がアカウント管理サービスよりも前なので、ステップＳ１４においては、まず、順番が前の認証サービスの提供を、外部サーバー３に依頼する。これにより、サーバーセッションを介して、外部サーバー３と通信し、認証サービスの提供を受ける。外部サーバー３は、認証サービスを提供した結果、認証に成功したか否かを示すＡＰＩコマンドを送信するので、ステップＳ１５において、サーバーセッションを介して、認証に成功したか否かを示すＡＰＩコマンドを受信したならば、サービス結果を受信したと判断する。
【０１１１】
ステップＳ１６においては、ＭＦＰセッションを介してＭＦＰ１００に、ＭＦＰ１００を操作するユーザーを通知するＡＰＩコマンドを送信する。これにより、ＡＰＩコマンドを受信するＭＦＰ１００は、外部サーバー３により認証されたユーザーを、ＭＦＰ１００を操作するユーザーとして設定する。
【０１１２】
次に、ステップＳ１４において、アカウント管理サービスの提供を、管理モジュール２５１に依頼する。これにより、管理モジュール２５１によるアカウント管理サービスの提供を受ける。管理モジュール２５１は、アカウント管理サービスを提供した結果、部門に対してＭＦＰ１００に実行させることができる処理の範囲を示すＡＰＩコマンドを出力する。ステップＳ１５においては、ステップＳ１４においてサービスの提供を依頼した先、ここでは、管理モジュール２５１からＡＰＩコマンドが入力されたか否かを判断する。ＡＰＩコマンドが入力されるまで待機状態となり（ステップＳ１５でＮＯ）、ＡＰＩコマンドが入力されたならば処理をステップＳ１６に進める。
【０１１３】
ステップＳ１６においては、ＭＦＰセッションを介して、ステップＳ１５において取得されたＡＰＩコマンドをＭＦＰ１００に送信する。これにより、ＡＰＩコマンドを受信するＭＦＰ１００は、部門に対して実行させることができる処理の範囲を設定する。
【０１１４】
ステップＳ１７においては、ユーザーが操作部３０７に入力する操作を受け付けたか否かを判断する。操作を受け付けたならば処理をステップＳ１８に進めるが、そうでなければ処理をステップＳ３２に進める。ステップＳ３２においては、タイムアウトを判断する。操作部３０７が操作を受け付けることなく経過する時間が所定の時間を経過するとタイムアウトと判断する。タイムアウトと判断する場合、処理をステップＳ３０に進めるが、そうでなければ処理をステップＳ１７に戻す。
【０１１５】
ステップＳ１８においては、操作部３０７が受け付けた操作がサービスを選択する操作か否かを判断する。サービスを選択する操作を受け付けたならば処理をステップＳ１９に進めるが、そうでなければ処理をステップＳ２７に進める。ステップＳ１９においては、先行サービスが提供済か否かを判断する。ステップＳ１８において選択されたサービスに先行する先行サービスのすべてについてサービスが提供されているか否かを判断する。先行サービスのすべてが提供済ならば処理をステップＳ２０に進めるが、そうでなければ処理をステップＳ１８に戻す。
【０１１６】
ステップＳ２０においては、選択されたサービスの提供を依頼する。ここでは、ファイル管理サービスが選択される場合を例に説明する。第１ＣＰＵ２０１は、第１ＬＡＮ通信部２０５を制御して、外部サーバー３にファイル管理サービスの提供を依頼する。外部サーバー３は、ユーザーにより出力処理が選択される場合、プリントジョブの実行を指示するＡＰＩコマンドを返信し、ユーザーにより入力処理が選択される場合、スキャンジョブの実行を指示するＡＰＩコマンドを返信する。
【０１１７】
次のステップＳ２１においては、ステップＳ２０においてサービスの提供を依頼した先、ここでは、外部サーバー３からＡＰＩコマンドを受信したか否かを判断する。ＡＰＩコマンドを受信するまで待機状態となり（ステップＳ２１でＮＯ）、ＡＰＩコマンドを受信したならば（ステップＳ２１でＹＥＳ）、処理をステップＳ２２に進める。
【０１１８】
ステップＳ２２においては、ステップＳ２１において受信されたＡＰＩコマンドをＭＦＰ１００に転送し、処理をステップＳ２３に進める。ＡＰＩコマンドを受信するＭＦＰ１００は、ユーザーにより出力処理が選択される場合、プリントジョブの実行を指示するＡＰＩコマンドに従ってプリントジョブを実行し、ユーザー識別情報、部門名、画像形成枚数を含む応答情報を返信し、ユーザーにより入力処理が選択される場合、ＡＰＩコマンドに従ってスキャンジョブを実行し、ユーザー識別情報、部門名、画像および原稿読取枚数を含む応答情報を返信する。
【０１１９】
一方、ステップＳ２７においては、ステップＳ１７において受け付けられる操作が、処理の実行を指示する操作か否かを判断する。処理の実行を指示する操作ならば処理をステップＳ２８に進めるが、そうでなければ処理をステップＳ２９に進める。ステップＳ２８においては、ユーザーによる入力される操作により定まる処理の実行を指示するＡＰＩコマンドをＭＦＰ１００に送信し、処理をステップＳ２３に進める。ＡＰＩコマンドを受信するＭＦＰ１００は、ステップＳ１７において受け付けられた操作に従って処理を実行する。
【０１２０】
ステップＳ２３においては、ＭＦＰ１００から応答情報を受信したか否かを判断する。応答情報を受信するまで待機状態となり（ステップＳ２３でＮＯ）、応答情報を受信すると（ステップＳ２３でＹＥＳ）、処理をステップＳ２４に進める。ステップＳ２４においては、関連付テーブルを参照して、応答情報に対応するサービスを決定する。次のステップＳ２５においては、入力情報を決定し、処理をステップＳ２６に進める。サービスを決定する元になった応答情報を入力情報に決定する。具体的には、ＭＦＰ１００がスキャンジョブを実行する場合であって、ステップＳ２０においてファイル管理サービスの提供を依頼している場合には、応答情報である画像に対してファイル管理サービスを決定し、画像を入力情報に決定するとともに、応答情報であるユーザー識別情報、部門名、および原稿読取枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および原稿読取枚数を入力情報に決定する。また、ステップＳ２７においてＭＦＰ１００にスキャンジョブを実行させる場合は、ファイル管理サービスの提供を依頼していない。この場合は、応答情報であるユーザー識別情報、部門名、および原稿読取枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および原稿読取枚数を入力情報に決定する。ＭＦＰ１００がプリントジョブを実行する場合は、応答情報であるユーザー識別情報、部門名、および画像形成枚数に対してカウンター管理サービスを決定し、ユーザー識別情報、部門名、および画像形成枚数を入力情報に決定する。
【０１２１】
ステップＳ２６においては、外部サーバー３および管理モジュール２５１のいずれかに、サービスの提供を依頼し、処理をステップＳ１３に戻す。外部サーバー３および管理モジュール２５１のうちステップＳ２４において決定されたサービスを提供する一方に、ステップＳ２５において決定された入力情報を送信し、ステップＳ２４において決定されたサービスの提供を依頼する。具体的には、ステップＳ２４においてカウンター管理サービスが決定される場合、管理モジュール２５１に、ステップＳ２５において入力情報として決定されたユーザー識別情報と、部門と、画像形成枚数または原稿読取枚数と、を送信し、カウンター管理サービスの提供を依頼する。これにより、カウンター管理部２５９により、入力情報に基づいてカウンター管理サービスを提供するための処理が実行される。また、ステップＳ２４においてファイル管理サービスが決定される場合、外部サーバー３に、ステップＳ２５において入力情報として決定された画像を送信し、ファイル管理サービスの提供を依頼する。これにより、外部サーバー３により、入力情報の画像を外部サーバー３に記憶するファイル管理サービスの入力処理が実行される。
【０１２２】
ステップＳ２９においては、ステップＳ１７において受け付けられる操作が、ログアウトを指示する操作か否かを判断する。ログアウトを指示する操作が受け付けられたならば処理をステップＳ３０に進めるが、そうでなければ処理をステップＳ１８に戻す。ステップＳ３０においては、ステップＳ１２において確立されたＭＦＰセッションを切断し、処理をステップＳ３１に進める。ＭＦＰ１００においては、ＭＦＰセッションが切断されると、それまでに設定したパラメータをデフォルト値に再設定する。例えば、ＭＦＰ１００を操作していたユーザーをログアウトさせる処理を実行する。ステップＳ３１においては、ステップＳ１１において確立されたサーバーセッションを切断し、処理を終了する。
【０１２３】
＜第１の変形例＞
図８は、第１の変形例における内部サーバーが備える第１ＣＰＵが有する機能と外部サーバーの機能の一例を示す図である。図８を参照して、図４に示した機能と異なる点は、サービス管理部２７１およびサービス依頼部２７９が、サービス管理部２７１Ａおよびサービス依頼部２７９Ａにそれぞれ変更された点、操作受付制御部２６９および画面生成部２６７が追加された点である。その他の機能は、図４に示した機能と同じなので、ここでは説明を繰り返さない。
【０１２４】
サービス管理部２７１Ａは、登録された複数のサービスの２以上が、同一の情報を要求する場合、同一の情報を要求する２以上のサービスそれぞれが要求する情報の全てを受け付ける入力画面の生成指示を、画面生成部２６７に出力する。例えば、外部サーバー３の認証管理部３５１が提供する認証サービスは、ユーザーを識別するためのユーザー識別情報と、パスワードとを入力情報として要求し、管理モジュール２５１のアカウント管理部２５７が提供するアカウント管理サービスは、ユーザー識別情報と部門名を入力情報として要求する。認証サービスおよびアカウント管理サービスが、ユーザー識別情報を入力情報として要求する。また、認証サービスおよびアカウント管理サービスそれぞれが要求する入力情報の全ては、ユーザー識別情報、パスワードおよび部門名である。
【０１２５】
画面生成部２６７は、サービス管理部２７１から入力される生成指示に基づいて、入力画面を生成し、操作受付制御部２６９に出力する。具体的には、認証サービスおよびアカウント管理サービスそれぞれが要求する全ての入力情報である、ユーザー識別情報、パスワードおよび部門名を受け付けるための入力画面を生成する。
【０１２６】
操作受付制御部２６９は、画面生成部２６７から入力される入力画面を表示部３０５に表示し、操作部３０７が受け付ける操作に従って、ユーザー識別情報、パスワードおよび部門名を受け付ける。操作受付制御部２６９は、受け付けられたユーザー識別情報、パスワードおよび部門名をサービス依頼部２７９Ａに出力する。
【０１２７】
サービス依頼部２７９Ａは、ユーザーが複合装置１を操作するために、操作部３０７を操作すると、操作受付制御部２６９に入力画面を表示部３０５に表示させ、ユーザーが操作部３０７に入力するユーザー識別情報、パスワードおよび部門名を受け付ける。次にサービス依頼部２７９Ａは、第１番目の認証サービスの提供を受けるために、外部サーバー３に認証サービスの提供を依頼する。具体的には、サービス依頼部２７９Ａは、第１ＬＡＮ通信部２０５を制御して、外部サーバー３との間でサーバーセッションを確立し、サーバーセッションを介して、ユーザー識別情報、パスワードを送信し、認証サービスの提供を依頼する信号を送信する。外部サーバー３の認証管理部３５１は、サーバーセッションを介してユーザー識別情報とパスワードとに基づいて認証し、認証結果を示すＡＰＩコマンドを返信する。
【０１２８】
サービス依頼部２７９Ａは、サーバーセッションを介して外部サーバー３から受信する認証結果を示すＡＰＩコマンドが認証成功を示す場合、第１ＬＡＮ通信部２０５を制御して、ＭＦＰ１００との間でＭＦＰセッションを確立し、ＭＦＰ１００を操作するユーザーの通知を要求部２７３に依頼する。サービス依頼部２７９Ａは、認証されたユーザーがログアウトするまで、または、操作部３０７が操作を受け付けることなく所定の時間が経過するまでＭＦＰセッションを維持する。また、サービス依頼部２７９Ａは、サーバーセッションを介して外部サーバー３から受信する認証結果が認証失敗を示す場合、サーバーセッションを切断する。
【０１２９】
要求部２７３は、ＭＦＰセッションを介してＭＦＰ１００に、外部サーバー３から受信される認証結果を示すＡＰＩコマンドを外部サーバー３に代わって送信する。これにより、ＡＰＩコマンドを受信するＭＦＰ１００は、外部サーバー３により認証されたユーザーを、ＭＦＰ１００を操作するユーザーとして設定する。
【０１３０】
サービス依頼部２７９Ａは、複合装置１を操作するユーザーを認証する場合、第２番目のアカウント管理サービスの提供を受けるために、管理モジュール２５１にアカウント管理サービスの提供を依頼する。具体的には、サービス依頼部２７９Ａは、管理モジュール２５１に、ユーザー識別情報と部門名とを送信し、アカウント管理サービスの提供を依頼する信号を出力する。管理モジュール２５１のアカウント管理部２５７は、アカウント管理サービスの提供の依頼を受けると、ユーザー識別情報と部門名とから、その部門に対してＭＦＰ１００に実行させることができる処理の範囲を決定し、部門に対して実行可能な処理の範囲を示すＡＰＩコマンドを返信する。サービス依頼部２７９Ａは、アカウント管理部２５７から入力されるＡＰＩコマンドの送信を要求部２７３に依頼する。要求部２７３は、ＭＦＰセッションを介してＭＦＰ１００に、ＡＰＩコマンドを管理モジュール２５１に代わって送信する。ＭＦＰ１００は、ＡＰＩコマンドを実行し、部門に対して実行可能な処理の範囲を設定する。
【０１３１】
＜第２の変形例＞
第２の変形例においては、設定部２６１が、外部サーバー３または管理モジュール２５１から登録完了信号を受け付ける場合に、ＭＦＰ１００のパラメータをＭＦＰ１００に変更させないようにする。このため、第２の変形例におけるＭＦＰ１００は、ＭＦＰ１００を操作するユーザーの制限、およびＭＦＰ１００が実行可能な処理の範囲の制限をしない。したがって、第２の変形例においては、内部サーバー２００が、ＭＦＰ１００によるジョブの実行が可能か否かを判断し、ＭＦＰ１００は、ジョブを実行する場合にそのジョブが実行可能か否かを判断しない。ＭＦＰ１００は、ＡＰＩコマンドに従ってジョブを実行し、ジョブを実行して返信する応答情報に、ユーザー識別情報と、部門名とを含めない。
【０１３２】
サービス依頼部２７９は、ファイル管理サービスの提供を受ける時点で、認証サービスの提供を受けているので複合装置１を操作するユーザーのユーザー識別情報とパスワードとが既知であり、アカウント管理サービスの提供を受けているので部門名と、ＭＦＰ１００が実行可能な処理の範囲とが既知である。このため、サービス依頼部２７９は、外部サーバー３からファイル管理サービスの提供を受けてＡＰＩコマンドを受信する場合に、そのＡＰＩコマンドで定まるジョブをＭＦＰ１００で実行可能か否かを判断し、実行可能と判断する場合に、要求部２７３にＭＦＰ１００にジョブの実行を指示するＡＰＩコマンドを送信させる。
【０１３３】
そして、サービス依頼部２７９は、ＭＦＰ１００から受信される応答情報と、既知の値であるユーザー識別情報、パスワードおよび部門名とを用いて入力情報を決定する。例えば、サービス依頼部２７９は、サービス決定部２７７からカウンター管理サービスのサービス識別情報が入力される場合、応答情報は、画像形成枚数または原稿読取枚数を含む。サービス依頼部２７９は、画像形成枚数または原稿読取枚数と、既知の値であるユーザー識別情報と部門名とを用いて、カウンター管理サービスに対する入力情報を生成し、カウンター管理サービスの提供を受けるために、生成された入力情報を管理モジュール２５１に出力し、カウンター管理サービスの提供を依頼する。これにより、カウンター管理部２５９は、入力情報に基づいてカウンター管理サービスを提供するための処理を実行する。
【０１３４】
また、サービス依頼部２７９は、サービス決定部２７７からファイル管理サービスのサービス識別情報と応答情報との組が入力される場合、応答情報は画像を含む。サービス依頼部２７９は、画像をファイル管理サービスに対する入力情報に決定し、ファイル管理サービスの提供を受けるために、決定された入力情報を、サーバーセッションを介して外部サーバー３に送信し、ファイル管理サービスの提供を要求する。これにより、外部サーバー３は、入力情報の画像を外部サーバー３に記憶するファイル管理サービスの入力処理を実行する。
【０１３５】
また、サービス依頼部２７９は、ＭＦＰセッションが確立されている間は、ＭＦＰセッションが確立されている間に外部サーバー３からサーバーセッションを介して受信される情報、管理モジュール２５１から入力される情報、および操作部３０７により受け付けられた操作により特定される情報を有効に設定する。サービス依頼部２７９は、ＭＦＰセッションが確立されている間に外部サーバー３からサーバーセッションを介して受信される情報、管理モジュール２５１から入力される情報、および操作部３０７により受け付けられた操作により特定される情報を、ＭＦＰセッションが切断されることに応じて消去する。
【０１３６】
以上説明したように、本実施の形態における複合装置１において、内部サーバー２００は、管理モジュール２５１から内部サービス（第１のサービス）の提供を受けてＭＦＰ１００を制御して処理を実行させ、また、外部サーバー３から外部サービス（第２のサービス）の提供を受けてＭＦＰ１００を制御して処理を実行させる。このため、外部サーバー３および内部サーバー２００がＭＦＰ１００を制御することができる。
【０１３７】
また、ＭＦＰ１００が処理を実行して出力する応答情報に基づいて、内部サービスを決定する場合には内部サービスを管理モジュール２５１に提供させ、外部サービスを決定する場合には外部サーバー３に第２のサービスを提供させ、内部サービスおよび外部サービスを決定する場合には、内部サービスを管理モジュール２５１に提供させるとともに外部サーバー３に外部サービスを提供させる。このため、外部サーバー３にＭＦＰ１００が処理を実行して出力する応答情報を用いて外部サービスを提供させることができ、また、管理モジュール２５１にＭＦＰ１００が処理を実行して出力する応答情報を用いて内部サービスを提供させることができる。
【０１３８】
また、内部サーバー２００は、ＭＦＰ１００が内部サーバー２００から受信するＡＰＩコマンドに従って処理を実行して出力する応答情報を、管理モジュール２５１または外部サーバー３に処理させるので、外部サーバー３にＭＦＰ１００が処理を実行して出力する応答情報を用いて外部サービスを提供させることができ、ＭＦＰ１００が外部サービスの結果を用いて処理を実行して出力する応答情報を用いて内部サービスを内部サーバー２００に提供させることができる。逆に、管理モジュール２５１にＭＦＰ１００が処理を実行して出力する応答情報を用いて内部サービスを提供させることができ、ＭＦＰ１００が内部サービスの結果を用いて処理を実行して出力する応答情報を用いて外部サーバー３に外部サービスを提供させることができる。
【０１３９】
また、内部サーバー２００は、ＭＦＰ１００との間で通信セッションを確立している間、ＭＦＰ１００に設定されたパラメータを有効に設定するので、内部サーバー２００が外部サーバー３とともにＭＦＰ１００を制御可能な期間を制限することができる。
【０１４０】
また、内部サーバー２００は、ＭＦＰ１００が１つの処理を実行して出力する応答情報を、外部サービスの提供を受けるために外部サーバー３に送信するとともに、内部サービスの提供を受けるために管理モジュール２５１に出力する。このため、内部サービスおよび外部サービスの提供を受けるために、ＭＦＰ１００は、内部サービスの提供を受けるための処理と、外部サービスの提供を受けるための処理とを別々に実行する必要がない。このため、ＭＦＰ１００に２つの処理をそれぞれ実行させるための操作が不要となるので、操作を容易にすることができる。また、ＭＦＰ１００にインストールされているプログラム等を変更することなく、内部サーバー２００は、外部サーバー３とともにＭＦＰ１００を制御することができる。
【０１４１】
また、内部サーバー２００は、ＭＦＰ１００とＭＦＰセッションが確立されている間にＭＦＰ１００に複数の処理を実行させるので、外部サーバー３にＭＦＰ１００が処理を実行して出力する応答情報を用いて外部サービスを提供させることができ、ＭＦＰ１００が外部サービスの結果を用いて処理を実行して出力する応答情報を用いて内部サービスを内部サーバー２００に提供させることができる。逆に、管理モジュール２５１にＭＦＰ１００が処理を実行して出力する応答情報を用いて内部サービスを提供させることができ、ＭＦＰ１００が内部サービスの結果を用いて処理を実行して出力する応答情報を用いて外部サーバー３に外部サービスを提供させることができる。
【０１４２】
また、内部サービスおよび外部サービスは、ＭＦＰ１００が画像を処理するための条件となるパラメータを決定するサービス、ＭＦＰ１００が画像を処理した実績を管理するサービスを含む。例えば、外部サーバー３が提供する認証サービスにより認証されたユーザーをＭＦＰ１００に設定し、ＭＦＰ１００に画像を形成する処理を実行させる場合、内部サーバー２００が提供するカウント管理サービスにおいて、認証サービスにより認証されたユーザーに対して画像形成枚数を履歴として管理することができる。
【０１４３】
また、内部サーバー２００は、複数のサービスが登録される場合、先行サービスが提供された結果を利用する後続サービスが存在する場合、後続サービスよりも先行サービスを提供させる順番を前にするので、後続サービスよりも先に先行サービスが提供されるようにして、先行サービスが提供された結果を利用して後続サービスの提供を受けるようにすることができる。
【０１４４】
なお、本実施の形態においては、複合装置１が１台の外部サーバー３と接続される場合を例に説明したが、複合装置１が接続される装置の台数を限定するものではなく、１以上であればよい。また、内部サーバー２００が提供するサービスとして、２つのサービスを例に説明したが、内部サーバー２００が提供するサービスの数を限定するものではなく、１以上であればよい。
【０１４５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【０１４６】
＜付記＞
（１）  前記内部サーバーは、前記画像処理装置に前記内部サーバーを前記外部装置として設定させるために、前記画像処理装置との間で通信するための通信セッションを確立する通信制御手段を、さらに備えた、請求項１または２に記載の複合装置。この局面に従えば、内部サーバーが画像処理装置との間で通信セッションを確立している間、画像処理装置に内部サーバーを外部装置として設定するので、外部サーバーとともに画像処理装置を制御可能な期間を制限することができる。
（２）  前記要求手段は、前記第１のサービスおよび前記第２のサービスの提供を受けるために、１つの処理を実行させる、請求項３または４に記載の複合装置。この局面に従えば、第１のサービスおよび第２のサービスの提供を受けるために、画像処理装置は、第１のサービスの提供を受けるための処理と、第２のサービスの提供を受けるための処理とを別々に実行する必要がない。そのため、画像処理装置に２つの処理をそれぞれ実行させるための操作が不要となるので、操作を容易にすることができる。
（３）  前記サービス決定手段は、１つの前記応答情報に基づいて、前記第１のサービスおよび前記第２のサービスを決定する、請求項３、４および（２）のいずれかに記載の複合装置。この局面に従えば、画像処理装置が出力する応答情報が、第１のサービスと第２のサービスに与えられるので、画像処理装置が外部サーバーと内部サーバーとに別々に応答情報を出力する必要がない。その結果、画像処理装置を変更することなく、外部サーバーとともに画像処理装置を制御することができる。
（４）  前記内部サーバーは、前記画像処理装置との間で通信するための通信セッションを確立する通信制御手段を、さらに備え、
前記要求手段は、前記通信制御手段により確立された前記通信セッションが確立されている間に、前記画像処理装置に複数の処理を実行させる、請求項３、４、（２）および（３）のいずれかに記載の複合装置。この局面に従えば、内部サーバーは、画像処理装置と通信セッションが確立されている間に画像処理装置に複数の処理を実行させるので、第１のサービスまたは第２のサービスが提供された結果を用いて第１のサービスまたは第２のサービスを提供させることができる。
（５）  前記第１のサービスおよび前記第２のサービスは、前記画像処理装置が画像を処理するための条件となるパラメータを決定するサービス、前記画像処理装置が画像を処理した実績を管理するサービスを含む、請求項３，４、（２）〜（４）のいずれかに記載の複合装置。この局面に従えば、第１のサービスまたは第２のサービスによって決定されたパラメータを用いて、第１のサービスまたは第２のサービスによって画像処理装置が画像を処理した実績を管理することができる。
（６）  前記内部サーバーは、前記第１のサービスおよび前記第２のサービスのいずれか一方の後続サービスが他方の先行サービスが提供された結果を利用する場合、前記管理モジュールと前記外部サーバーのうち前記先行サービスを提供する一方に前記後続サービスを提供する他方よりも先に前記先行サービスを提供させるサービス管理手段を含む、請求項３、４、（２）〜（５）のいずれかに記載の複合装置。この局面に従えば、後続サービスよりも先に先行サービスが提供されるので、先行サービスが提供された結果を利用して後続サービスの提供を受けることができる。
【符号の説明】
【０１４７】
１  複合装置、３  外部サーバー、５  インターネット、７  ＬＡＮケーブル、１００  ＭＦＰ、１１１  第２ＣＰＵ、１１２  第２ＫＡＮ通信部、１１３  ＲＯＭ、１１４  ＲＡＭ、１１５  ファクシミリ部、１２０  自動原稿搬送装置、１３０  原稿読取部、１４０  画像形成部、１５０  給紙部、２００  内部サーバー、２０１  第１ＣＰＵ、２０２  ＲＯＭ、２０３  ＲＡＭ、２０４  ＨＤＤ、２０５  第１ＡＬＮ通信部、２０６  外部記憶装置、２２１  バス、２５１  管理モジュール、２５３  管理部、２５７  アカウント管理部、２５９  カウンター管理部、２６１  設定部、２６３  関連付部、２６５  中継部、２６７  画面生成部、２６９  操作受付制御部、２７１，２７１Ａ  サービス管理部、２７３  要求部、２７５  応答情報受付部、２７７  サービス決定部、２７９，２７９Ａ  サービス依頼部、３００  操作パネル、３０５  表示部、３０７  操作部、３２１  タッチパネル、３２３  ハードキー部、３５１  認証管理部、３５３  ファイル管理部。
【図１】
2018142840.tif 000003
【図２】
2018142840.tif 000004
【図３】
2018142840.tif 000005
【図４】
2018142840.tif 000006
【図５】
2018142840.tif 000007
【図６】
2018142840.tif 000008
【図７】
2018142840.tif 000009
【図８】
2018142840.tif 000010