(57)【要約】【課題】  複数の装置間で負荷を分散する。【解決手段】  ＰＣ２００は、データをＨＤＤ２０７に記憶するデータ受付部２１１と、データに実行する処理の状態を定義するファンクションチケットをＨＤＤ２０７に記憶するファンクションチケット生成部２１５と、を備え、複数のＭＦＰそれぞれは、ファンクションチケットを取得するファンクションチケット取得部１５３と、ファンクションチケットで定義された処理のうちから実行可能な対象処理を決定する対象処理決定部１５５と、データを取得するデータ取得部１５７と、データに対象処理を実行する対象処理実行部１５９と、ＰＣ２００に記憶されたデータを対象処理を実行した後のデータで更新するデータ更新部１６３と、ＰＣ２００に記憶されたファンクションチケットの処理の状態を実行済みに更新するファンクションチケット更新部１６１と、を備える。【選択図】        図５
2008117055.tif 000002
【特許請求の範囲】
【請求項１】
処理の実行を指示するための指示装置と、処理の実行指示に従って処理を実行する複数の処理実行装置とを含む情報処理システムであって、
前記指示装置は、処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付ける処理条件受付手段と、
前記受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するファンクションチケット生成手段と、
前記ファンクションチケットを記憶するファンクションチケット記憶手段と、
前記データを記憶するデータ記憶手段と、を備え、
前記複数の処理実行装置それぞれは、
前記ファンクションチケットを取得するファンクションチケット取得手段と、
前記取得されたファンクションチケットにより定義された前記少なくとも１つの処理のうちから実行可能な対象処理を決定する対象処理決定手段と、
前記データを取得するデータ取得手段と、
前記取得されたデータに対して前記対象処理を実行する処理実行手段と、
前記対象処理がデータ処理の場合、前記指示装置が備える前記データ記憶手段に記憶された前記データを前記処理実行手段により前記対象処理が実行された後の処理済みデータで更新するよう指示するためのデータ更新指示手段と、
前記指示装置が備える前記ファンクションチケット記憶手段に記憶された前記ファンクションチケットの前記対象処理に対応する状態情報を実行済みの状態に更新するよう指示するためのファンクションチケット更新指示手段と、を備えた情報処理システム。
【請求項２】
前記対象処理決定手段は、前記ファンクションチケットが定義する前記少なくとも１つの処理のうちから前記処理状態が未実行の処理を選択する、請求項１に記載の情報処理システム。
【請求項３】
前記対象処理決定手段は、前記ファンクションチケットが前記少なくとも１つの処理の少なくとも一部に実行する順位を定義する優先順位情報を含む場合、前記選択された未実行の処理のうちから実行する順位が最先の処理を対象処理に決定する、請求項２に記載の情報処理システム。
【請求項４】
前記対象処理決定手段は、前記ファンクションチケットにより定義された前記少なくとも１つの処理が、前記複数の実行装置のいずれかを指定する実行装置指定情報を含む場合、前記選択された未実行の処理のうち前記実行装置指定情報により他の実行装置が指定されていない処理を選択する、請求項２に記載の情報処理システム。
【請求項５】
前記指示装置は、前記データへのアクセスを前記複数の処理実行装置の１の処理実行装置に制限する制限状態と、いずれにも制限しない無制限状態とのいずれかを示すアクセス情報を記憶するアクセス情報記憶手段をさらに備え、
前記複数の処理実行装置それぞれは、
前記アクセス情報を取得するアクセス情報取得手段と、
前記取得されたアクセス情報が無制限状態であることを条件に、前記アクセス情報を自装置のみのアクセスに制限する制限状態に変更するアクセス制限手段と、
前記アクセス情報を、前記制限状態から前記無制限状態に変更する解除手段と、をさらに備え、
前記データ取得手段は、前記アクセス情報が自装置のみのアクセスに制限する前記制限状態であることを条件に、前記データの送信を前記指示装置に要求し、
前記データ更新指示手段は、前記アクセス情報が自装置のみのアクセスに制限する前記制限状態であることを条件に、前記データを前記処理済みデータで更新するよう指示し、
前記ファンクションチケット更新指示手段は、前記アクセス情報が自装置のみのアクセスに制限する前記制限状態であることを条件に、前記ファンクションチケットの前記対象処理に対応する状態情報を実行済みの状態に更新するよう指示する、請求項１に記載の情報処理システム。
【請求項６】
前記指示装置は、前記ファンクションチケットを識別するためのチケット識別情報と前記データを識別するためのデータ識別情報とを関連付けるジョブデータを記憶するジョブデータ記憶手段と、
前記ジョブデータを識別するためのジョブ識別情報を含む実行指示を、前記複数の実行装置に送信する実行指示手段と、をさらに備えた請求項１に記載の情報処理システム。
【請求項７】
前記実行指示は、前記データ識別情報と前記チケット識別情報とをさらに含む、請求項６に記載の情報処理システム。
【請求項８】
処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付ける処理条件受付手段と、
前記受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するファンクションチケット生成手段と、
前記ファンクションチケットを記憶するファンクションチケット記憶手段と、
前記データを記憶するデータ記憶手段と、
前記処理を実行するための複数の処理実行装置のいずれかから前記データの送信要求を受信する送信要求受信手段と、
前記送信要求の受信に応じて、前記データ記憶手段に記憶された前記データを、前記複数の処理実行装置のうち前記送信要求を送信してきた特定装置に送信する送信手段と、
前記特定装置から前記データを識別するためのデータ識別情報と処理済みのデータとを受信することに応じて、該受信されたデータ識別情報で識別され、前記データ記憶手段に記憶された前記データを前記処理済データで更新するデータ更新手段と、
前記特定装置から前記ファンクションチケットを識別するためのチケット識別情報と前記処理識別情報とを受信することに応じて、前記受信されたチケット識別情報で識別される前記ファンクションチケットにより定義され、前記受信された処理識別情報に対応する前記状態情報を処理済みに更新するファンクションチケット更新手段と、を備えた情報処理装置。
【請求項９】
指示装置に記憶されたデータに対して実行する少なくとも１つの処理を特定するための少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを識別するためのチケット識別情報と前記データを識別するためのデータ識別情報とを含む実行指示情報を前記指示装置から受信する実行指示受信手段と、
前記受信された実行指示情報に含まれる前記チケット識別情報で識別される前記ファンクションチケットを取得するファンクションチケット取得手段と、
前記取得されたファンクションチケットにより定義された前記少なくとも１つの処理のうちから実行可能な対象処理を決定する対象処理決定手段と、
前記受信された実行指示情報に含まれる前記データ識別情報で識別される前記データを前記指示装置から取得するデータ取得手段と、
前記取得されたデータに対して前記対象処理を実行する処理実行手段と、
前記対象処理がデータ処理の場合、前記指示装置に記憶された前記データを前記処理実行手段により前記対象処理が実行された後の処理済みデータで更新するよう指示するためのデータ更新指示手段と、
前記指示装置に記憶された前記ファンクションチケットの前記対象処理に対応する状態情報を実行済みの状態に更新するよう指示するためのファンクションチケット更新指示手段と、を備えた情報処理装置。
【請求項１０】
処理の実行を指示するための指示装置と、処理の実行指示に従って処理を実行する複数の処理実行装置とを含む情報処理システムで処理を実行させるための処理実行方法であって、
処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付けるステップと、
前記受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するステップと、
前記ファンクションチケットを記憶するステップと、
前記データを記憶するステップと、を前記指示装置に実行させ、
前記複数の処理実行装置それぞれに、
前記ファンクションチケットを取得するステップと、
前記取得されたファンクションチケットにより定義された前記少なくとも１つの処理のうちから実行可能な対象処理を決定するステップと、
前記データを取得するステップと、
前記データの取得に応じて、前記取得されたデータに対して前記対象処理を実行するステップと、
前記対象処理がデータ処理の場合、前記指示装置に記憶された前記データを前記対象処理が実行された後の処理済みデータで更新するよう指示するステップと、
前記指示装置に記憶された前記ファンクションチケットの前記対象処理に対応する状態情報を実行済みの状態に更新するよう指示するステップと、を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、情報処理システム、情報処理装置および情報処理方法に関し、特に１つのデータに対して実行する複数の処理を複数の情報処理装置で実行させる情報処理システム、その情報処理システムを構成する情報処理装置およびその情報処理装置で実行される情報処理方法に関する。
【背景技術】
【０００２】
近年ネットワーク技術の発達により、コンピュータや画像形成装置などの複数の情報処理装置をネットワークに接続して使用する形態が一般的となっている。この使用形態において、複数の情報処理装置のうち負荷の少ない装置に処理を実行させる技術が開発されている。例えば、特開平１１−３１６６６５号公報には、グループ登録された個々のプリンタに対して、ワークステーションから印刷要求を発行し、印刷要求を受けたプリンタは印刷装置部が空くと、ワークステーションに対して印刷可否の問合せを行い、印刷可否の問合せを受けたワークステーションは対象ジョブがまだどのプリンタにも印刷されていなければ印刷可の応答をして印刷を行わせ、当該ジョブが既にいずれかのプリンタで印刷中であれば印刷不可の応答をすることにより、複数の情報処理装置のうちで負荷の少ない装置にプリントさせる技術が記載されている。
【０００３】
ところが、特開平１１−３１６６６５号公報に記載の技術は、１つのプリントジョブが複数の処理を定義する場合であっても、最先に印刷可否の問合せを行ってきたプリンタにプリントジョブが定義する複数の処理のすべてを実行させるものであり、当該プリンタがプリントジョブが定義する複数の処理のいずれかについて実行可能でない場合の対処の仕方や、プリントジョブが定義する複数の処理の負荷を分散することについては、考慮されていない。また、プリントジョブの発行元であるワークステーションは、プリンタから印刷可否の問合せを受けると、対象ジョブの状態をチェックして印刷可否の応答をしなければならない。このため、プリントジョブの発行元の装置の負荷が増加してしまうといった問題があった。
【特許文献１】特開平１１−３１６６６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この発明は上述した問題点を解決するためになされたもので、この発明の目的の１つは、複数の装置間で負荷を分散することが可能な情報処理システム、情報処理装置および情報処理方法を提供することである。
【課題を解決するための手段】
【０００５】
上述した目的を達成するためにこの発明のある局面によれば、情報処理システムは、処理の実行を指示するための指示装置と、処理の実行指示に従って処理を実行する複数の処理実行装置とを含む情報処理システムであって、指示装置は、処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付ける処理条件受付手段と、受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するファンクションチケット生成手段と、ファンクションチケットを記憶するファンクションチケット記憶手段と、データを記憶するデータ記憶手段と、を備え、複数の処理実行装置それぞれは、ファンクションチケットを取得するファンクションチケット取得手段と、取得されたファンクションチケットにより定義された少なくとも１つの処理のうちから実行可能な対象処理を決定する対象処理決定手段と、データを取得するデータ取得手段と、取得されたデータに対して対象処理を実行する処理実行手段と、対象処理がデータ処理の場合、指示装置が備えるデータ記憶手段に記憶されたデータを処理実行手段により対象処理が実行された後の処理済みデータで更新するよう指示するためのデータ更新指示手段と、指示装置が備えるファンクションチケット記憶手段に記憶されたファンクションチケットの対象処理に対応する状態情報を実行済みの状態に更新するよう指示するためのファンクションチケット更新指示手段と、を備える。
【０００６】
この局面に従えば、データと、処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットとが指示装置に記憶される。複数の処理実行装置それぞれにより、ファンクションチケットが取得され、ファンクションチケットにより定義された処理のうちから実行可能な対象処理が決定され、データが取得され、対象処理が実行される。さらに、対象処理を実行した処理実行装置により、対象処理がデータ処理の場合、指示装置に記憶されたデータが対象処理の実行された後の処理済みデータで更新され、指示装置に記憶されたファンクションチケットの対象処理に対応する状態情報が実行済みの状態に更新される。このため、複数の処理実行装置それぞれによりファンクションチケットが定義する状態情報に基づいて対象処理が決定されるので、指示装置は、複数の処理実行装置のいずれに処理を実行させるかを決定する必要はなく、指示装置の負荷を軽減することができる。また、複数の処理実行装置は、自装置の負荷が小さくなった時に対象処理を決定すればよいので、指示装置は、複数の処理実行装置の負荷を監視する必要はなく、指示装置の負荷を軽減するとともに、指示装置と複数の処理実行装置間の通信量を低減することができる。その結果、複数の装置間で負荷を分散することが可能な情報処理システムを提供することができる。
【０００７】
好ましくは、対象処理決定手段は、ファンクションチケットが定義する少なくとも１つの処理のうちから処理状態が未実行の処理を選択する。
【０００８】
この局面に従えば、ファンクションチケットが定義する処理のうちから処理状態が未実行の処理が選択されるので、複数の処理実行装置間で同一の処理が重複して実行されるのを防止することができる。
【０００９】
好ましくは、対象処理決定手段は、ファンクションチケットが少なくとも１つの処理の少なくとも一部に実行する順位を定義する優先順位情報を含む場合、選択された未実行の処理のうちから実行する順位が最先の処理を対象処理に決定する。
【００１０】
この局面に従えば、ファンクションチケットが複数の処理を定義する場合に、複数の処理を予め定めた順番で実行することができる。
【００１１】
好ましくは、対象処理決定手段は、ファンクションチケットにより定義された少なくとも１つの処理が、複数の実行装置のいずれかを指定する実行装置指定情報を含む場合、選択された未実行の処理のうち実行装置指定情報により他の実行装置が指定されていない処理を選択する。
【００１２】
この局面に従えば、ファンクションチケットが定義する処理を予め定めた装置に実行ささせることができる。
【００１３】
好ましくは、指示装置は、データへのアクセスを複数の処理実行装置の１の処理実行装置に制限する制限状態と、いずれにも制限しない無制限状態とのいずれかを示すアクセス情報を記憶するアクセス情報記憶手段をさらに備え、複数の処理実行装置それぞれは、アクセス情報を取得するアクセス情報取得手段と、取得されたアクセス情報が無制限状態であることを条件に、アクセス情報を自装置のみのアクセスに制限する制限状態に変更するアクセス制限手段と、アクセス情報を、制限状態から無制限状態に変更する解除手段と、をさらに備え、データ取得手段は、アクセス情報が自装置のみのアクセスに制限する制限状態であることを条件に、データの送信を指示装置に要求し、データ更新指示手段は、アクセス情報が自装置のみのアクセスに制限する制限状態であることを条件に、データを処理済みデータで更新するよう指示し、ファンクションチケット更新指示手段は、アクセス情報が自装置のみのアクセスに制限する制限状態であることを条件に、ファンクションチケットの対象処理に対応する状態情報を実行済みの状態に更新するよう指示する。
【００１４】
この局面に従えば、指示装置が、データへのアクセスを複数の実行装置の１の実行装置に制限する制限状態と、いずれにも制限しない無制限状態とのいずれかを示すアクセス情報を記憶し、複数の指示装置それぞれにより、アクセス情報が取得され、取得されたアクセス情報が無制限状態であることを条件に、アクセス情報が自装置のみのアクセスに制限する制限状態に変更される。このため、データへのアクセスが複数の処理実行装置のいずれか１つに制限されるので、データへのアクセスを排他的に制御することができる。データへのアクセスは、データの読出し、または書き換えである。
【００１５】
好ましくは、指示装置は、ファンクションチケットを識別するためのチケット識別情報とデータを識別するためのデータ識別情報とを関連付けるジョブデータを記憶するジョブデータ記憶手段と、ジョブデータを識別するためのジョブ識別情報を含む実行指示を、複数の実行装置に送信する実行指示手段と、をさらに備える。
【００１６】
好ましくは、実行指示は、データ識別情報と、チケット識別情報とをさらに含む。
【００１７】
この発明の他の局面によれば、情報処理装置は、処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付ける処理条件受付手段と、受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するファンクションチケット生成手段と、ファンクションチケットを記憶するファンクションチケット記憶手段と、データを記憶するデータ記憶手段と、処理を実行するための複数の処理実行装置のいずれかからデータの送信要求を受信する送信要求受信手段と、送信要求の受信に応じて、データ記憶手段に記憶されたデータを、複数の処理実行装置のうち送信要求を送信してきた特定装置に送信する送信手段と、特定装置からデータを識別するためのデータ識別情報と処理済みのデータとを受信することに応じて、該受信されたデータ識別情報で識別され、データ記憶手段に記憶されたデータを処理済データで更新するデータ更新手段と、特定装置からファンクションチケットを識別するためのチケット識別情報と処理識別情報とを受信することに応じて、受信されたチケット識別情報で識別されるファンクションチケットにより定義され、受信された処理識別情報に対応する状態情報を処理済みに更新するファンクションチケット更新手段と、を備える。
【００１８】
この局面に従えば、複数の装置間で負荷を分散することが可能な情報処理装置を提供することができる。
【００１９】
この発明のさらに他の局面によれば、情報処理装置は、指示装置に記憶されたデータに対して実行する少なくとも１つの処理を特定するための少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを識別するためのチケット識別情報とデータを識別するためのデータ識別情報とを含む実行指示情報を指示装置から受信する実行指示受信手段と、受信された実行指示情報に含まれるチケット識別情報で識別されるファンクションチケットを取得するファンクションチケット取得手段と、取得されたファンクションチケットにより定義された少なくとも１つの処理のうちから実行可能な対象処理を決定する対象処理決定手段と、受信された実行指示情報に含まれるデータ識別情報で識別されるデータを指示装置から取得するデータ取得手段と、取得されたデータに対して対象処理を実行する処理実行手段と、対象処理がデータ処理の場合、指示装置に記憶されたデータを処理実行手段により対象処理が実行された後の処理済みデータで更新するよう指示するためのデータ更新指示手段と、指示装置に記憶されたファンクションチケットの対象処理に対応する状態情報を実行済みの状態に更新するよう指示するためのファンクションチケット更新指示手段と、を備える。
【００２０】
この局面に従えば、複数の装置間で負荷を分散することが可能な情報処理装置を提供することができる。
【００２１】
この発明のさらに他の局面によれば、情報処理方法は、処理の実行を指示するための指示装置と、処理の実行指示に従って処理を実行する複数の処理実行装置とを含む情報処理システムで処理を実行させるための処理実行方法であって、処理対象となるデータと、該データに対して実行するための少なくとも１つの処理を特定するための少なくとも１つの処理識別情報とを受け付けるステップと、受け付けられた少なくとも１つの処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットを生成するステップと、ファンクションチケットを記憶するステップと、データを記憶するステップと、を指示装置に実行させ、複数の処理実行装置それぞれに、ファンクションチケットを取得するステップと、取得されたファンクションチケットにより定義された少なくとも１つの処理のうちから実行可能な対象処理を決定するステップと、データを取得するステップと、データの取得に応じて、取得されたデータに対して対象処理を実行するステップと、対象処理がデータ処理の場合、指示装置に記憶されたデータを対象処理が実行された後の処理済みデータで更新するよう指示するステップと、指示装置に記憶されたファンクションチケットの対象処理に対応する状態情報を実行済みの状態に更新するよう指示するステップと、を実行させる。
【００２２】
この局面に従えば、複数の装置間で負荷を分散することが可能な情報処理方法を提供することができる。
【発明を実施するための最良の形態】
【００２３】
以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰返さない。
【００２４】
図１は、本発明の実施の形態における情報処理システムの全体概要を示す図である。図１を参照して、情報処理システム１は、ネットワーク２にそれぞれ接続された情報処理装置としての複合機（以下、「ＭＦＰ」という）１００，１００Ａ，１００Ｂ，１００Ｃおよびパーソナルコンピュータ（以下「ＰＣ」という）２００を含む。ＰＣ２００は、一般的なコンピュータである。
【００２５】
なお、本実施の形態においては情報処理装置の一例としてＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）１００，１００Ａ，１００Ｂ，１００Ｃを例に説明するが、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃに代えて、情報を処理する機能を備えた装置であれば、たとえば、スキャナ、画像形成装置、ファクシミリ、パーソナルコンピュータ等であってもよい。ネットワーク２は、ローカルエリアネットワーク（ＬＡＮ）であり、接続形態は有線または無線を問わない。またネットワーク２は、ＬＡＮに限らず、ワイドエリアネットワーク（ＷＡＮ）、公衆交換電話網（ＰＳＴＮ）、インターネット等であってもよい。
【００２６】
本実施の形態における情報処理システム１は、４台のＭＦＰ１００，１００Ａ，１００Ｂ，１００ＣおよびＰＣ２００がグループを構成する。なお、グループを構成する台数は５台に限定されることなく、複数台であれば数に制限はない。ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃは、それぞれが備える機能は同じであってもよく異なっていてもよい。例えば、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃは、基本的には、原稿を読み取って画像データを出力する画像読取機能、画像データを処理する画像処理機能、画像データに基づいて紙などの記録シートに画像を形成するための画像形成機能、画像形成後の記録シートにパンチ穴加工、ソート処理等する後処理機能、ファクシミリ送受信機能のいずれかを少なくとも含む。情報処理システム１では、ユーザがＰＣ２００、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれかで処理条件とデータとを入力すれば、情報処理システム１全体でそのデータを処理条件に従って処理する。例えば、ＭＦＰ１００に処理条件とデータとを入力する場合、ＭＦＰ１００が備えていない機能であっても、他のＭＦＰ１００Ａ，１００Ｂ，１００ＣまたはＰＣ２００のいずれかがその機能を備えていれば、ＭＦＰ１００が備えていないその機能でデータを処理するための処理条件を入力することが可能である。
【００２７】
また、ユーザがＰＣ２００に処理条件とデータとを入力すれば、ＰＣ２００がＭＦＰ１００、１００Ａ，１００Ｂ，１００Ｃのいずれかに処理条件とデータとを送信し、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃ全体でそのデータを処理条件に従って処理するようにしてもよい。
【００２８】
ここでは、説明を簡単にするため、ＰＣ２００において、画像データとそれを実行するための処理を特定する処理識別情報とを含む処理条件とが入力され、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれかで、画像データに処理条件に従った処理を実行する場合を例に説明する。
【００２９】
ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃ各々が有する機能は異なるが、ここではＭＦＰ１００がすべての機能を有するものと仮定して、ＭＦＰ１００の構成を説明する。
【００３０】
図２は、ＭＦＰの外観を示す斜視図である。図２を参照して、ＭＦＰ１００は、自動原稿搬送装置（ＡＤＦ）１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、後処理部５０と、を含む。ＡＤＦ１０は、原稿台１１に搭載された複数枚の原稿をさばいて１枚ずつ順に、画像読取部２０に搬送する。画像読取部２０は、写真、文字、絵等の画像情報を原稿から光学的に読み取って画像データを取得する。
【００３１】
画像形成部３０は、画像データが入力されると、画像データに基づいて記録シート上に画像を形成する。画像形成部３０は、シアン、マゼンタ、イエロー、ブラックの４色のトナーを用いて画像を形成する。給紙部４０は、記録シートを格納しており、格納した記録シートを１枚ずつ画像形成部３０に供給する。後処理部５０は、画像が形成された記録シートを排紙する。後処理部５０は、複数の排紙トレイを有し、記録シートをソートして排紙することが可能である。また、後処理部５０は、パンチ穴加工部、ステープル加工部を備えており、排紙された記録シートにパンチ穴加工、またはステープル加工することが可能である。ＭＦＰ１００は、その上面に操作パネル９を備える。
【００３２】
図３は、ＭＦＰのハード構成の一例を示すブロック図である。図３を参照して、ＭＦＰ１００は、メイン回路１０１と、ファクシミリ部６０と、通信制御部６１と、ＡＤＦ１０と、画像読取部２０と、画像形成部３０と、給紙部４０と、後処理部５０とを含む。メイン回路１０１は、中央演算装置（ＣＰＵ）１１１と、ＣＰＵ１１１の作業領域として使用されるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１２と、ＣＰＵ１１１が実行するプログラム等を記憶するためのＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１３と、表示部１１４と、操作部１１５と、大容量記憶装置としてのハードディスクドライブ（ＨＤＤ）１１６と、データ通信制御部１１７と、を含む。ＣＰＵ１１１は、表示部１１４、操作部１１５、ＨＤＤ１１６およびデータ通信制御部１１７とそれぞれ接続され、メイン回路１０１の全体を制御する。また、ＣＰＵ１１１は、ファクシミリ部６０、通信制御部６１、ＡＤＦ１０、画像読取部２０、画像形成部３０、給紙部４０および後処理部５０と接続され、ＭＦＰ１００の全体を制御する。
【００３３】
表示部１１４は、液晶表示装置（ＬＣＤ）、有機ＥＬＤ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙ）等のディスプレイであり、ユーザに対する指示メニューや取得した画像データに関する情報等を表示する。操作部１１５は、複数のキーを備え、キーに対応するユーザの操作による各種の指示、文字、数字などのデータの入力を受付ける。操作部１１５は、表示部１１４上に設けられたタッチパネルを含む。表示部１１４と操作部１１５とで、操作パネル９が構成される。
【００３４】
データ通信制御部１１７は、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）またはＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等の通信プロトコルで通信するためのインターフェースであるＬＡＮ端子１１８と、シリアル通信するためのシリアル通信インターフェース端子１１９とを有する。データ通信制御部１１７は、ＣＰＵ１１１からの指示に従って、ＬＡＮ端子１１８またはシリアル通信インターフェース端子１１９に接続された外部の機器との間でデータを送受信する。
【００３５】
ＬＡＮ端子１１８に、ネットワークに接続するためのＬＡＮケーブルが接続される場合、データ通信制御部１１７は、ＬＡＮ端子１１８を介して接続された電子メールサーバと通信し、電子メールサーバに電子メールを送信することが可能である。
【００３６】
また、ＣＰＵ１１１は、データ通信制御部１１７を制御して、メモリカード１１９ＡからＣＰＵ１１１が実行するためのプログラムを読出し、読み出したプログラムをＲＡＭ１１２に記憶し、実行する。なお、ＣＰＵ１１１が実行するためのプログラムを記憶する記録媒体としては、メモリカード１１９Ａに限られず、フレキシブルディスク、カセットテープ、光ディスク（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）／ＭＯ（Ｍａｇｎｅｔｉｃ  Ｏｐｔｉｃａｌ  Ｄｉｓｃ／ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）／ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ））、ＩＣカード、光カード、マスクＲＯＭ、ＥＰＲＯＭ（Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｏｎｉｃａｌｌｙ  ＥＰＲＯＭ）などの半導体メモリ等の媒体でもよい。さらに、ＣＰＵ１１１がインターネットに接続されたコンピュータからプログラムをダウンロードしてＨＤＤ１１６に記憶する、または、インターネットに接続されたコンピュータがプログラムをＨＤＤ１１６に書込みするようにして、ＨＤＤ１１６に記憶されたプログラムをＲＡＭ１１２にロードしてＣＰＵ１１１で実行するようにしてもよい。ここでいうプログラムは、ＣＰＵ１１１により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
【００３７】
通信制御部６１は、ＣＰＵ１１１をＰＳＴＮ（Ｐｕｂｌｉｃ  Ｓｗｉｔｃｈｅｄ  Ｔｅｌｅｐｈｏｎｅ  Ｎｅｔｗｏｒｋｓ）７に接続するためのモデムである。ＭＦＰ１００には、ＰＳＴＮ７における電話番号が予め割り当てられており、ＰＳＴＮ７に接続されたファクシミリ装置からＭＦＰ１００に割り当てられた電話番号に発呼があると、通信制御部６１がその発呼を検出する。通信制御部６１は、発呼を検出すると通話を確立し、ファクシミリ部６０に通信させる。
【００３８】
ファクシミリ部６０は、ＰＳＴＮ７に接続され、ＰＳＴＮ７にファクシミリデータを送信する、またはＰＳＴＮ７からファクシミリデータを受信する。ファクシミリ部６０は、受信したファクシミリデータを画像形成部３０でプリント可能なプリントデータに変換して、画像形成部３０に出力する。これにより、画像形成部３０は、ファクシミリ部６０により受信されたファクシミリデータを記録シートにプリントする。また、ファクシミリ部６０は、ＨＤＤ１１６に記憶されたデータをファクシミリデータに変換して、ＰＳＴＮ７に接続されたファクシミリ装置または他のＭＦＰに出力する。これにより、ＨＤＤ１１６に記憶されたデータをファクシミリ装置または他のＭＦＰに出力することができる。このように、ＭＦＰ１００は、ファクシミリ送受信機能を有する。
【００３９】
図４は、ＰＣ２００のハード構成の一例を示す図である。図４を参照して、ＰＣ２００は、それぞれがバス２０８に接続されたＣＰＵ２０１と、ＣＰＵ２０１の作業領域として用いられるＲＡＭ２０５と、ＣＰＵ２０１が実行するプログラムを記憶するＲＯＭ２０６と、ハードディスクドライブ（ＨＤＤ）２０７と、コンピュータ２００をネットワーク２に接続するための通信Ｉ／Ｆ２０２と、キーボードおよびマウス等の入力部２０４と、モニタ２０３とを含む。
【００４０】
ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃの動作は同じなので、ここでは、ＰＣ２００とＭＦＰ１００とを例にその動作を説明する。図５は、ＰＣとＭＦＰそれぞれのＣＰＵの機能の概要をＨＤＤで記憶する情報とともに示す機能ブロック図である。
【００４１】
図５を参照して、ＰＣ２００のＣＰＵ２０１は、処理対象となるデータを受け付けるデータ受付部２１１と、データに対して実行する処理を受け付ける処理・条件受付部２１３と、受け付けられた処理に基づいてファンクションチケットを生成するファンクションチケット生成部２１５と、データとファンクションチケットとを関連付けるジョブデータを生成するためのジョブデータ生成部２１７と、実行指示を送信する実行指示部２１９と、ジョブデータを管理するためのジョブデータ管理部２２１と、を含む。
【００４２】
データ受付部２１１は、処理の対象となるデータを受け付け、受け付けたデータにそれを識別するためのファイル名（データ識別情報）を付し、ＨＤＤ２０７に記憶する。これにより、ＨＤＤ２０７にデータ２３１が記憶される。データは、ＣＰＵ２０１がアプリケーションプログラムを実行することにより、生成するデータであってもよいし、ＨＤＤ２０７に予め記憶されたデータであってもよい。データは、画像データ、プリントデータを含む。
【００４３】
処理・条件受付部２１３は、データ受付部２１１が受け付けたデータに対して実行する処理を識別するための処理識別情報を受け付ける。処理・条件受付部２１３は、受け付けた処理識別情報をファンクションチケット生成部２１５に出力する。例えば、ＰＣ２００のユーザが、ＣＰＵ２０１にアプリケーションプログラムを実行させている段階で、アプリケーションプログラムにより生成されたデータに対して実行する処理を特定するための指示を入力した場合、ＰＣ２００は、それが備えるディスプレイに処理を特定する入力を受け付けるための処理特定画面を表示する。ここでの処理は、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれかが有する機能により実行される処理である。たとえば、データのファイル形式を変換する機能により実行されるファイル形式変換処理、複数ページの画像データを縮小および合成して１ページの画像データに変換する機能により実行される画像処理、画像データをスムージングする機能により実行される画像処理、データ送信機能により実行される送信処理、プリント機能により実行されるプリント処理等である。
【００４４】
ユーザが処理特定画面に従って、処理を特定すると、処理・条件受付部２１３は、特定された処理を識別するための処理識別情報を受け付ける。処理特定画面では、複数の処理を特定することが可能である。この場合、処理・条件受付部２１３は、特定された複数の処理毎に処理識別情報を受け付け、それらをファンクションチケット生成部２１５に出力する。処理特定画面で特定可能な処理は、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃの少なくとも１つで実行可能であればよい。このため、ＰＣ２００は、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃの少なくとも１つが実行可能な処理の処理識別情報を、予めＨＤＤ２０７等に記憶している。
【００４５】
また、特定された処理が、それを実行するための処理条件を必要とする場合には、その処理条件が入力されると、処理・条件受付部２１３は、入力された処理条件を受け付け、それをファンクションチケット生成部２１５に出力する。処理条件は、例えば、ファイル形式変換処理に対するファイル形式、画像処理に対するページ数または解像度、送信処理に対する送信先情報、プリント処理に対するプリント枚数等である。また、処理特定画面において、複数の処理の一部または全部の処理について、それらの処理毎にその処理を実行する装置を指定することが可能である。この場合、処理・条件受付部２１３は、複数の処理の一部の処理について、それを実行するように指定された装置を識別するための装置識別情報を受け付け、それをファンクションチケット生成部２１５に出力する。
【００４６】
また、処理特定画面において、複数の処理の一部または全部の処理について、それらの処理を実行する順番を指定することが可能である。この場合、処理・条件受付部２１３は、複数の処理の一部または全部の処理について、それらを実行するための優先順位を受け付け、それをファンクションチケット生成部２１５に出力する。優先順位は、処理を最後に実行する指示を含む。
【００４７】
ファンクションチケット生成部２１５は、処理識別情報が入力されると、それに基づいてファンクションチケットを生成し、それを識別するためのファンクションチケットＮｏ．（チケット識別情報）を付し、ＨＤＤ２０７に記憶する。これにより、ＨＤＤ２０７にファンクションチケット２３３が記憶される。ファンクションチケット２３３は、処理識別情報毎に処理の状態を示す状態情報を定義する。図６にファンクションチケットの一例を示す。
【００４８】
図６を参照して、ファンクションチケットは、ファンクションチケットを識別するためのファンクションチケットＮｏ．と、４つの処理情報とを含む。ファンクションチケットＮｏ．は、＜Ｔｉｃｋｅｔ  Ｎｏ＞のタグと、＜／Ｔｉｃｋｅｔ  Ｎｏ＞のタグとの間で定義され、ここでは「１」である。処理情報は、＜Ｆｕｎｃｔｉｏｎ＞のタグと、＜／Ｆｕｎｃｔｉｏｎ＞のタグとの間で定義される。処理情報は、少なくとも処理識別情報と、状態情報とを含む。処理識別情報は、＜Ｆｕｎｃｔｉｏｎ＞のタグと＜／Ｆｕｎｃｔｉｏｎ＞のタグとの間で定義され、図６では、第１番目の処理情報は、文字認識の処理を識別するための「ＯＣＲ」が定義され、第２番目の処理情報は、ファイル形式変換処理を識別するための「ＲＩＰ」が定義され、第３番目の処理情報は、複数ページの画像データを縮小および合成して１ページの画像データに変換する機能により実行される画像処理を識別するための「Ｎ−ｕｐ」が定義され、第４番目の処理情報は、画像形成処理を識別するための「Ｐｒｉｎｔ」が定義される。
【００４９】
状態情報は、＜Ｓｔａｔｕｓ＞のタグと＜／Ｓｔａｔｕｓ＞のタグとの間で定義される。ここでは、状態情報は、処理を未実行の状態を示す「Ｏｐｅｎ」と、処理を実行中の状態を示す「Ｐｒｏｃｅｓｓｉｎｇ」と、処理を完了した状態を示す「Ｃｌｏｓｅ」とを含む。
【００５０】
処理識別情報に対して処理条件が入力される場合、その処理識別情報を含む処理情報は、処理条件を含む。処理条件は、＜Ｐａｒａｍｅｔｅｒ＞のタグと＜／Ｐａｒａｍｅｔｅｒ＞のタグとの間に定義される。また、処理識別情報に対して、装置識別情報が入力される場合、その処理識別情報を含む処理情報は、装置識別情報を含む。装置識別情報は、＜Ｄｅｖｉｃｅ＞のタグと＜／Ｄｅｖｉｃｅ＞のタグとの間に定義される。また、処理識別情報に対して優先順位が入力される場合、その処理識別情報を含む処理情報は、優先順位を含む。優先順位は、＜Ｐｒｉｏｒｉｔｙ＞のタグと＜／Ｐｒｉｏｒｉｔｙ＞のタグとの間で定義される。優先順位は、小さいほど実行する順位が先であることを示し、「Ｌａｓｔ」が最後に実行される処理を示す。
【００５１】
図７は、最後に実行される処理を実行する装置が特定される場合に生成される処理情報の一例を示す図である。図７を参照して、ユーザが、装置識別情報「ＭＦＰ−Ａ」を指定し、印刷出力する処理を特定すると、処理識別情報を「Ｐｒｉｎｔ」とし、処理を実行する装置識別情報を「ＭＦＰ−Ａ」とし、優先順位を「Ｌａｓｔ」とする処理情報が生成される。画像形成処理は、複数の処理のうちで最後に実行される処理なので、優先順位が自動的に「Ｌａｓｔ」となる。また、ユーザが、装置識別情報「ＭＦＰ−Ａ」を指定し、ファイル転送処理を特定し、処理条件として転送先の装置の装置識別情報「ＭＦＰ−Ｂ」を指定すると、処理識別情報を「Ｄｏｗｎｌｏａｄ」とし、装置識別情報を「ＭＦＰ−Ａ」とし、優先順位を「Ｌａｓｔ」とし、処理条件を「ＭＦＰ−Ｂ」とする処理情報が生成される。ファイル転送処理は、複数の処理のうちで最後に実行される処理なので、優先順位が自動的に「Ｌａｓｔ」となる。なお、ここでは、優先順位が自動的に「Ｌａｓｔ」に設定される例を示したが、優先順位が「Ｌａｓｔ」となる処理をユーザが指定することもできる。
【００５２】
図５に戻って、ジョブデータ生成部２１７は、ＨＤＤ２０７に記憶されたデータ２３１とファンクションチケット２３３とを関連付けるジョブデータを生成し、それを識別するためのジョブ番号（ジョブ識別情報）を付し、ジョブデータをＨＤＤ２０７に記憶するとともに、ジョブ番号を実行指示部２１９に出力する。これによりＨＤＤ２０７にジョブデータ２３５が記憶される。ジョブデータ２３５は、ファイル名（データ識別情報）とファンクションチケットＮｏ．（チケット識別情報）とを少なくとも含む。また、ジョブデータ２３５に、データ２３１へのアクセスを制限するために用いるアクセス情報を含めるようにしてもよい。データ受付部２１１により複数種類のデータが受け付けられ、処理・条件受付部２１３で複数種類のデータにそれぞれ対応する複数の処理識別情報および処理条件が受け付けられる場合、ジョブデータ生成部２１７は、複数種類のデータにそれぞれ対応する複数種類のジョブデータを生成する。ＨＤＤ２０７は、ジョブ処理キューにジョブデータ２３５を記憶する。
【００５３】
図８は、ジョブ処理キューに記憶されるジョブデータの一例を示す図である。図８を参照して、ジョブデータは、ジョブ番号と、アクセス情報と、ファンクションチケットＮｏ．と、ファイル名とを定義する。ジョブ番号は、ジョブデータを識別するためのジョブ識別情報である。ファンクションチケットＮｏ．は、ファンクションチケット２３３を識別するためのチケット識別情報であり、ファイル名はデータ２３１を識別するためのデータ識別情報である。チケット識別情報は、ファンクションチケット２３３のファイル名であってもよい。したがって、ジョブデータは、ファンクションチケット２３３とデータ２３１とを関連付けるデータである。アクセス情報は、データ２３１へのアクセスを制限するために用いられる情報であり、Ｓｔａｔｕｓと、装置識別情報とを含む。Ｓｔａｔｕｓは、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれもがデータ２３１へのアクセス可能な状態を示す「Ｏｐｅｎ」と、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれか１つにのみデータ２３１へのアクセスを許可する「Ｃｈｅｃｋｏｕｔ」と、を含む。アクセス情報の装置識別情報は、Ｓｔａｔｕｓが「Ｃｈｅｃｋｏｕｔ」の場合に用いられ、データ２３１へのアクセスが許可される装置の装置識別情報を定義する。例えば、ジョブ番号「２」のジョブデータにおいては、ファイル名が「１００２．ｔｘｔ」のデータに装置識別情報「ＭＦＰ−Ａ」のＭＦＰ１００のみがアクセス可能であり、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃは、ファイル名が「１００２．ｔｘｔ」のデータへのアクセスが制限される。なお、ここでは、ＭＦＰ１００、１００Ａ，１００Ｂ，１００Ｃの装置識別情報をそれぞれ「ＭＦＰ−Ａ」、「ＭＦＰ−Ｂ」、「ＭＦＰ−Ｃ」および「ＭＦＰ−Ｄ」としている。
【００５４】
図５に戻って、実行指示部２１９は、ジョブデータ生成部２１７からジョブ番号が入力されると、そのジョブ番号と、そのジョブ番号で特定されるジョブデータ２３５に含まれるファイル名とファンクションチケットＮｏ．とを含む実行指示情報を、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃにそれぞれ送信する。ＰＣ２００は、ＨＤＤ２０７にＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれのネットワーク２上の位置情報、ここではＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを予め記憶しており、実行指示部２１９は、そのＩＰアドレス宛に実行指示情報を送信する。これにより、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれにおいて、同一の実行指示情報が受信される。ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれが実行する動作は同じなので、ここでは、ＭＦＰ１００を例に説明する。
【００５５】
ジョブデータ管理部２２１は、ジョブデータ２３５へのアクセスを制御する。ジョブデータ管理部２２１は、ＭＦＰ１００、１００Ａ，１００Ｂ，１００Ｃのいずれかからジョブデータ２３５のロック要求を受信すると、そのロック要求を送信してきた装置以外によるジョブデータ２３５の書換えを、そのロック要求を送信してきた装置から解除要求を受信するまで禁止する。ジョブデータ管理部２２１は、ロック要求を受信してから、そのロック要求を送信してきた装置から解除要求を受信するまで、ロック要求を送信してきた装置にジョブデータ２３５の書換えを許可する。これにより、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃにより１つのジョブデータ２３５が同時に書き換えられることがないので、１つのデータ２３１に対してファンクションチケット２３３で定義された処理を複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃが確実に実行することができる。
【００５６】
ＭＦＰ１００のＣＰＵ１１１は、実行指示を受け付ける実行指示受付部１５１と、ファンクションチケットを取得するためのファンクションチケット取得部１５３と、ファンクションチケットに基づいて実行するための対象処理を決定する対象処理決定部１５５と、データを取得するためのデータ取得部１５７と、データに対して対象処理を実行する対象処理実行部１５９と、ファンクションチケットを更新するためのファンクションチケット更新部１６１と、データを更新するためのデータ更新部１６３と、を含む。
【００５７】
実行指示受付部１５１は、データ通信制御部１１７がＬＡＮ端子１１８に接続されたＰＣ２００から実行指示を受信すると、データ通信制御部１１７から実行指示およびそれを送信してきたＰＣ２００のＩＰアドレスを受け付ける。ＩＰアドレスは、ＰＣ２００の装置識別情報である。実行指示受付部１５１は、実行指示に含まれるジョブ番号およびファイル名とＰＣ２００のＩＰアドレスとをデータ取得部１５７およびデータ更新部１６３に出力する。また、実行指示受付部１５１は、ジョブ番号およびファンクションチケットＮｏ．とＰＣ２００のＩＰアドレスとを、ファンクションチケット取得部１５３およびファンクションチケット更新部１６１に出力する。
【００５８】
ファンクションチケット取得部１５３は、ＰＣ２００からファンクションチケットを取得する。具体的には、データ通信制御部１１７を制御して、実行指示受付部１５１から入力されたＩＰアドレス宛に、ファンクションチケット取得要求を送信する。ファンクションチケット取得要求は、ファンクションチケットを識別するためのファンクションチケットＮｏ．を含む。ファンクションチケット取得要求を受信したＰＣ２００は、それに含まれるファンクションチケットＮｏ．で識別されるファンクションチケット２３３をＭＦＰ１００に返信する。ＭＦＰ１００のデータ通信制御部１１７が、ＰＣ２００から返信されるファンクションチケット２３３を受信すると、ファンクションチケット取得部１５３は、データ通信制御部１１７からファンクションチケット２３３を受け付ける。ファンクションチケット取得部１５３は、取得したファンクションチケット２３３を、対象処理決定部１５５に出力する。なお、ファンクションチケットＮｏ．をファンクションチケット２３３のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）とし、そのＵＲＬを含むファンクションチケット取得要求を送信するようにしてもよい。
【００５９】
対象処理決定部１５５は、ファンクションチケット取得部１５３から入力されるファンクションチケット２３３の処理情報に基づき、ＨＤＤ１１６に記憶された能力情報１７１を参照して、対象処理を決定する。具体的には、まず、対象処理決定部１５５は、処理情報に含まれる処理識別情報のうちから未実行の処理識別情報を抽出する。未実行の処理は、処理情報の状態情報が「Ｃｌｏｓｅ」でない処理、換言すれば処理情報の状態情報が「Ｏｐｅｎ」または「Ｐｒｏｃｅｓｓｉｎｇ」の処理である。ＭＦＰ１００、１００Ａ，１００Ｂ，１００Ｃのいずれもが未だに処理の実行を開始していないか、または開始していたとしてもその処理の実行を完了していない処理である。実行を完了した処理を再度実行する必要はないため、状態情報が「Ｃｌｏｓｅ」の処理は、抽出されない。
【００６０】
次に、抽出された未実行の処理識別情報のうちから、ＭＦＰ１００が実行可能な処理識別情報を抽出する。ここでは、ファンクションチケット２３３で定義されている処理情報のうちから抽出された、未実行の処理識別情報で識別される処理であって、ＭＦＰ１００が実行可能な処理を、候補処理という。ＭＦＰ１００が実行可能な処理は、ＨＤＤ１１６に記憶された能力情報１７１で、その処理識別情報が定義される。このため、抽出された未実行の処理識別情報のうちで、能力情報１７１で定義されている処理機別情報と同一の処理識別情報が、ＭＦＰ１００が実行可能な処理の処理識別情報である。
【００６１】
図９は、能力情報の一例を示す図である。能力情報は、＜Ｆｕｎｃｔｉｏｎ＞のタグと、＜／Ｆｕｎｃｔｉｏｎ＞のタグとの間に１つの実行可能処理情報を定義する。図９に示す能力情報１７１は、３つの実行可能処理情報を定義する。実行可能処理情報は、＜Ｆｕｎｃｔｉｏｎ＞のタグと、＜／Ｆｕｎｃｔｉｏｎ＞のタグとの間に１つの実行可能な処理の処理識別情報を定義し、＜Ｐａｒａｍｅｔｅｒ＞のタグと＜／Ｐａｒａｍｅｔｅｒ＞のタグとの間に１つのパラメータ（処理条件）を定義する。第１番目の実行可能処理情報は、文字認識の画像処理を識別するための処理識別情報「ＯＣＲ」に対して、３つのパラメータ「Ｔｙｐｅ１」、「Ｔｙｐｅ２」および「Ｔｙｐｅ３」を定義する。
【００６２】
図５に戻って、対象処理決定部１５５は、さらに、抽出された候補処理が複数の場合、処理情報で優先順位が設定されている処理があれば、優先順位が最先の１つの処理を対象処理に決定する。対象処理決定部１５５は、処理情報で優先順位が設定されている処理がなければ、複数の候補処理のうちから任意の１つの処理を対象処理に決定する。さらに、対象処理決定部１５５は、抽出された候補処理が、処理情報が装置識別情報を含み、処理を実行する装置を指定する装置指定処理の場合、指定された装置が自装置であることを条件に、その候補処理を対象処理に決定する。処理情報に含まれる装置識別情報が自装置の装置識別情報と一致すれば、指定された装置が自装置と判断する。対象処理決定部１５５は、優先順位が最先の１つの処理を対象処理に決定した場合に、その対象処理が装置指定処理であって、指定された装置が自装置でなければ、次の優先順位の候補処理を対象処理に決定する。対象処理決定部１５５は、対象処理の処理識別情報を対象処理実行部１５９およびファンクションチケット更新部１６１に出力する。なお、ファンクションチケット２３３において対象処理の処理情報が、処理条件を含む場合、対象処理の処理識別情報とともに処理条件が対象処理実行部１５９に出力される。
【００６３】
データ取得部１５７は、ＰＣ２００からデータ２３１を取得する。具体的には、データ通信制御部１１７を制御して、実行指示受付部１５１から入力されたＩＰアドレス宛に、データ取得要求を送信する。データ取得要求は、データ２３１を識別するためのファイル名を含む。データ取得要求を受信したＰＣ２００は、それに含まれるファイル名で識別されるデータ２３１をＭＦＰ１００に返信する。ＭＦＰ１００のデータ通信制御部１１７が、ＰＣ２００から返信されるデータ２３１を受信すると、データ取得部１５７は、データ通信制御部１１７からデータ２３１を受け付ける。データ取得部１５７は、取得したデータ２３１を対象処理実行部１５９に出力する。なお、ファイル名に代えてデータ２３１のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を実行指示に含めるようにし、そのＵＲＬを含むデータ取得要求を送信するようにしてもよい。
【００６４】
対象処理実行部１５９は、対象処理決定部１５５から処理識別情報が入力され、データ取得部１５７からデータ２３１が入力される。対象処理実行部１５９は、データに処理識別情報で特定される処理を実行する。対象処理決定部１５５が決定した対象処理の処理情報が処理条件を含む場合には、対象処理決定部１５５から処理識別情報に加えて処理条件が入力されるので、対象処理決定部１５５は、データ２３１に処理識別情報で特定される処理を処理条件に従って実行する。対象処理実行部１５９は、処理の実行を完了すると、その旨をファンクションチケット更新部１６１に出力する。また、対象処理実行部１５９は、処理識別情報で特定される処理が、データ処理の場合、処理後のデータをデータ更新部１６３に出力する。
【００６５】
ファンクションチケット更新部１６１は、実行指示受付部１５１からＰＣ２００のＩＰアドレスとファンクションチケットＮｏ．が入力され、対象処理決定部１５５から処理識別情報が入力され、対象処理実行部１５９から処理の完了信号が入力される。ファンクションチケット更新部１６１は、対象処理実行部１５９から処理の完了信号が入力されると、ファンクションチケット２３３を更新する。具体的には、データ通信制御部１１７を制御して、実行指示受付部１５１から入力されたＩＰアドレス宛に、ファンクションチケット２３３を更新するためのファンクションチケット更新要求を送信する。ファンクションチケット更新要求は、ファンクションチケットＮｏ．と処理識別情報とを含む。ファンクションチケット更新要求を受信したＰＣ２００は、それに含まれるファンクションチケットＮｏ．で識別されるファンクションチケット２３３を特定する。そして、そのファンクションチケット２３３の処理識別情報で特定される処理情報の状態情報を「Ｃｌｏｓｅ」に書き換える。
【００６６】
データ更新部１６３は、実行指示受付部１５１からＰＣ２００のＩＰアドレスとファイル名とが入力され、対象処理実行部１５９から処理後のデータが入力される。データ更新部１６３は、対象処理実行部１５９から処理後のデータが入力されると、データ２３１を更新する。具体的には、データ通信制御部１１７を制御して、実行指示受付部１５１から入力されたＩＰアドレス宛に、データ２３１を更新するためのデータ更新要求を送信する。データ更新要求は、ファイル名と処理後のデータとを含む。データ更新要求を受信したＰＣ２００は、それに含まれるファイル名（データ識別情報）で識別されるデータ２３１を特定する。そして、そのデータ２３１を処理後のデータで書き換える。
【００６７】
ＰＣ２００のＨＤＤ２０７に記憶されたデータ２３１は、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃがアクセスするため、ＭＦＰ１００の対象処理決定部１５５が対象処理を決定してからデータ取得部１５７がデータ２３１を取得する前に、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかがデータ２３１を更新する場合がある。ＭＦＰ１００において、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかがデータ２３１に対象処理を実行し、データ２３１を更新した後のデータに再度対象処理を実行する必要はない。このため、ＭＦＰ１００のデータ取得部１５７がデータ２３１を取得しないようにする必要がある。また、ＭＦＰ１００の対象処理決定部１５５が対象処理を決定してからデータ更新部１６３がデータ２３１を更新する前に他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃがデータ２３１を更新する場合がある。この場合も同様に、ＭＦＰ１００のデータ更新部１６３がデータを更新しないようにする必要がある。本実施の形態におけるＭＦＰ１００は、ジョブデータ２３５のアクセス情報およびファンクションチケット２３３が定義する処理情報の状態情報を用いて、データ２３１の取得および更新の可否を決定する。
【００６８】
具体的には、データ取得部１５７はデータ２３１を取得する前に、データ更新部１６３はデータを更新する前に、それぞれジョブデータ２３５の送信要求（以下「ジョブデータ送信要求」という）をＰＣ２００に送信する。ジョブデータ送信要求は、ジョブ番号を含む。ＰＣ２００は、ＭＦＰ１００からジョブデータ送信要求を受信すると、そのジョブデータ送信要求に含まれるジョブ番号を含むジョブデータ２３５を読み出し、それをＭＦＰ１００に返信する。データ取得部１５７またはデータ更新部１６３それぞれは、受信したジョブデータ２３５のアクセス情報のＳｔａｔｕｓが「Ｏｐｅｎ」であることを条件に、ファンクションチケット２３３の送信を要求するためにファンクションチケット送信要求をＰＣ２００に送信し、ファンクションチケット２３３を取得する。また、データ取得部１５７およびデータ更新部１６３それぞれは、受信したジョブデータ２３５のアクセス情報のＳｔａｔｕｓが「Ｏｐｅｎ」でなく「Ｃｈｅｃｋｏｕｔ」であれば、アクセス情報のＳｔａｔｕｓが「Ｏｐｅｎ」のジョブデータ２３５が受信されるまで、ジョブデータ送信要求をＰＣ２００に送信する。アクセス情報のＳｔａｔｕｓが「Ｃｈｅｃｋｏｕｔ」の場合は、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかが、データ２３１を更新している可能性があるからである。
【００６９】
さらに、データ取得部１５７またはデータ更新部１６３は、ジョブデータ送信要求をＰＣ２００に送信する前に、アクセス情報を制限状態に設定する制限状態設定要求をＰＣ２００に送信する。制限状態設定要求は、ジョブ番号を含む。ＰＣ２００は、ＭＦＰ１００から制限状態設定要求を受信すると、制限状態設定要求に含まれるジョブ番号を含むジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、装置識別情報に制限状態設定要求を送信してきた装置、ここではＭＦＰ１００の装置識別情報「ＭＦＰ−Ａ」を書き込む。データ２３１へのアクセスをＭＦＰ１００のみに制限することにより、ＭＦＰ１００がジョブデータ２３５を取得した後にデータ２３１を取得する前、またはＭＦＰ１００がジョブデータ２３５を取得した後にデータ２３１を更新する前に、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃがデータ２３１を更新するのを禁止することができる。
【００７０】
データ取得部１５７またはデータ更新部１６３は、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかによりデータ２３１が更新されたか否かを、ジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、かつ、装置識別情報を「ＭＦＰ−Ａ」に変更した後に、取得するファンクションチケット２３３に基づいて判断する。ジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、かつ、装置識別情報を「ＭＦＰ−Ａ」に変更した後は、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのすべてがデータ２３１へのアクセスが禁止され、データ２３１を更新できないからである。
【００７１】
データ取得部１５７またはデータ更新部１６３は、取得したファンクションチケット２３３の処理情報のうち対象処理の処理識別情報を含む処理情報の状態情報を参照し、状態情報が「Ｃｌｏｓｅ」であれば、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかによりデータ２３１が更新されたと判断し、状態情報が「Ｃｌｏｓｅ」でなければ未だ更新されていないと判断する。
【００７２】
さらに、データ取得部１５７またはデータ更新部１６３は、ジョブデータ２３５を取得してからそのアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、かつ、装置識別情報を「ＭＦＰ−Ａ」に変更するまでに、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかによりジョブデータ２３５が変更されないように、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃのいずれかによるジョブデータ２３５の変更禁止を要求するロック要求を、ジョブデータ２３５を取得する前にＰＣ２００に送信する。さらに、データ取得部１５７またはデータ更新部１６３は、ロック要求を送信し、さらにジョブデータ２３５を取得してからそのアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、かつ、装置識別情報を「ＭＦＰ−Ａ」に変更した後に、ジョブデータ２３５の変更禁止の解除を要求するロック解除要求をＰＣ２００に送信する。他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃによるジョブデータ２３５の変更を可能とするためである。
【００７３】
図１０は、ＰＣで実行されるジョブ生成処理の流れの一例を示すフローチャートである。ジョブ生成処理は、ＰＣ２００が備えるＣＰＵ２０１が、ジョブ生成プログラムを実行することにより、ＣＰＵ２０１が実行する処理である。図１０を参照して、ＣＰＵ２０１は、処理の対象となるデータと、そのデータに対して実行する処理を識別するための処理識別情報を受け付ける（ステップＳ１０１）。ユーザがＰＣ２００の入力部２０４であるキーボードまたはマウス等に、データの指定と処理識別情報とを入力すると、ＣＰＵ２０１は入力部２０４からデータの指定と処理識別情報とを受け付ける。ＣＰＵ２０１がアプリケーションプログラムを実行する場合、ユーザが入力部２０４に印刷指示すると、そのアプリケーションプログラムにより生成されたデータが指定され、印刷条件などを設定するための処理特定画面がモニタ２０３に表示される。また、ユーザがＨＤＤ２０７に記憶されたデータを選択する指示を入力部２０４に入力すると、その選択されたデータが指定され、印刷条件などを設定するための処理特定画面がモニタ２０３に表示される。ユーザが処理特定画面に従って、処理を特定する指示を入力部２０４に入力すると、特定された処理を識別するための処理識別情報を受け付ける。処理特定画面では、複数の処理を特定することが可能であり、複数の処理が特定された場合、ＣＰＵ２０１は、複数の処理毎に処理識別情報を受け付ける。
【００７４】
そして、ＣＰＵ２０１は、受け付けたデータにそれを識別するためのファイル名（データ識別情報）を付し、ＨＤＤ２０７に記憶する（ステップＳ１０２）。これにより、ＨＤＤ２０７にデータ２３１が記憶される。データ２３１がＨＤＤ２０７に予め記憶されている場合、ファイル名が既に付されているので、ステップＳ１０２を実行する必要はない。また、特定された処理が、それを実行するための処理条件を必要とする場合には、その処理条件が入力部２０４に入力されると、ＣＰＵ２０１は入力された処理条件を受け付ける。さらに、複数の処理の一部の処理について、それらを実行するための優先順位が入力部２０４に入力される場合は、ＣＰＵ２０１はその優先順位を受け付ける。
【００７５】
そして、ステップＳ１０１で受け付けた処理識別情報に基づいてファンクションチケットを生成し、それを識別するためのファンクションチケットＮｏ．（チケット識別情報）を付し、ＨＤＤ２０７に記憶する（ステップＳ１０３）。これにより、ＨＤＤ２０７にファンクションチケット２３３が記憶される。ここでは、図６に示したファンクションチケットが生成された場合を例に説明する。ファンクションチケット２３３は、ファンクションチケットを識別するためのファンクションチケットＮｏ．と、４つの処理情報とを含む。処理情報は、少なくとも処理識別情報と状態情報とを含む。処理識別情報は、処理を識別するための情報である。状態情報は、処理識別情報で特定される処理の状態を示し、その処理を未実行の状態を示す「Ｏｐｅｎ」と、処理を実行中の状態であることを示す「Ｐｒｏｃｅｓｓｉｎｇ」と、処理を完了した状態を示す「Ｃｌｏｓｅ」とのいずれかを示す。また、処理識別情報で特定される処理が処理条件を必要とする場合は、ステップＳ１０１においてその処理条件が受け付けられるので、処理情報はその処理条件を含む。さらに、処理識別情報で特定される処理を実行する装置が特定される場合、ステップＳ１０１においてその装置の装置識別情報が受け付けられるので、処理情報はその装置識別情報を含む。さらに、複数の処理情報の一部に対応して優先順位が入力される場合、ステップＳ１０１においてその優先順位が受け付けられるので、処理情報はその優先順位を含む。
【００７６】
そして、ＨＤＤ２０７に記憶されたデータ２３１とファンクションチケット２３３とを関連付けるジョブデータを生成し、それを識別するためのジョブ番号（ジョブ識別情報）を付し、ジョブデータをＨＤＤ２０７に記憶する（ステップＳ１０４）。これによりＨＤＤ２０７にジョブデータ２３５が記憶される。ジョブデータ２３５は、ファイル名（データ識別情報）とファンクションチケットＮｏ．（チケット識別情報）と、データ２３１へのアクセスを制限するために用いるアクセス情報とを含む。
【００７７】
そして、ステップＳ１０５においては、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれに、ステップＳ１０４で生成されたジョブデータ２３５のジョブ番号と、ステップＳ１０１で受け付けたデータ２３１のファイル名と、ステップＳ１０３で生成したファンクションチケット２３３のファンクションチケットＮｏ．とを含む実行指示を送信する。ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれが、実行指示を受信するが、それらが実行指示を受信して実行する処理については、後述する。
【００７８】
ステップＳ１０６においては、ジョブデータ管理処理を実行する。ジョブデータ管理処理については、その詳細は後述するが、ジョブデータ２３５へのアクセスを管理するための処理であり、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれか１つにのみ許可するロック状態と、ジョブデータ２３５へのアクセスを、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれにも許可するロック解除状態とのいずれかに切換える処理である。ジョブデータ２３５の変更を、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれか１つからの指示に基づき認めることにより、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのうちの複数により同時にジョブデータ２３５が変更されるのを回避することができる。例えば、ＭＦＰ１００にのみジョブデータ２３５の変更が認められたロック状態にあるときは、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃは、ジョブデータ２３５を変更できない。このため、ＭＦＰ１００は、ロック状態にあるジョブデータ２３５を取得した時点のジョブデータ２３５を変更することができる。
【００７９】
次のステップＳ１０７においては、ファンクションチケット送信要求を受信したか否かを判断する。ファンクションチケット送信要求を受信したならば処理をステップＳ１０８に進めるが、そうでなければステップＳ１０８をスキップして処理をステップＳ１０９に進める。ステップＳ１０８においては、受信したファンクションチケット送信要求に含まれるファンクションチケットＮｏ．で識別されるファンクションチケット２３３をＨＤＤ２０７から読出し、ファンクションチケット送信要求を送信してきた装置に読み出したファンクションチケット２３３を返信する。
【００８０】
次のステップＳ１０９においては、データ送信要求を受信したか否かを判断する。データ送信要求を受信したならば処理をステップＳ１１０に進めるが、そうでなければステップＳ１１０をスキップして処理をステップＳ１１１に進める。ステップＳ１１０においては、受信したデータ送信要求に含まれるファイル名で識別されるデータ２３１をＨＤＤ２０７から読出し、データ送信要求を送信してきた装置に読み出したデータ２３１を返信する。
【００８１】
次のステップＳ１１１においては、データの更新要求を受信したか否かを判断する。データ更新要求を受信したならば処理をステップＳ１１２に進めるが、そうでなければステップＳ１１２をスキップして処理をステップＳ１１３に進める。ステップＳ１１２においては、受信したデータ更新要求に含まれるファイル名で識別されるデータ２３１を、データ更新要求に含まれる処理済みのデータで更新する。
【００８２】
次のステップＳ１１３においては、ファンクションチケット更新要求を受信したか否かを判断する。ファンクションチケット更新要求を受信したならば処理をステップＳ１１４に進めるが、そうでなければステップＳ１１４をスキップして処理をステップＳ１１５に進める。ファンクションチケット更新要求は、ファンクションチケットを識別するためのファンクションチケットＮｏ．と、処理識別情報と、状態情報とを含む。ステップＳ１１４においては、受信したファンクションチケット更新要求に含まれるファンクションチケットＮｏ．で特定されるファンクションチケット２３３について、受信したファンクションチケット更新要求に含まれる処理識別情報で特定される処理情報の状態情報を、受信したファンクションチケット更新要求に含まれる状態情報（ＰｒｏｃｅｓｓｉｎｇまたはＣｌｏｓｅ）に書き換える。
【００８３】
次のステップＳ１１５においては、ジョブが終了したか否かを判断する。具体的には、ステップＳ１０３で生成したファンクションチケット２３３で定義されたすべての処理情報のＳｔａｔｕｓが「Ｃｌｏｓｅ」となったか否かを判断する。すべての処理情報のＳｔａｔｕｓが「Ｃｌｏｓｅ」ならば処理を終了し、そうでなければ処理をステップＳ１０６に戻す。また、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのうち最終処理を実行するＭＦＰからジョブ完了通知を受信した場合に処理を終了する。また、処理を終了する前に、ＰＣ２００のモニタ２０３にジョブが完了したことを示すメッセージを表示するなどして、ＰＣ２００のユーザにジョブが完了したことを通知するようにしてもよい。さらに、ジョブ完了通知を受信した場合には、ジョブ完了通知を送信してきた装置の装置識別情報を表示することにより、最終処理を実行した装置をユーザに通知することができる。たとえば、最終処理が画像形成処理の場合には、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれに画像を形成した用紙が出力されているかをユーザに通知することができる。
【００８４】
また、ＰＣ２００においては、ファンクションチケット２３３で定義された各処理が、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれかにより実行される毎に、その履歴を記憶するようにすれば、各処理が実行された順番、各処理を実行した装置、処理時間等を表示することができる。また、この履歴データを基に、ジョブを実行するのに費やされた費用を算出し、それを表示するようにしてもよい。
【００８５】
図１１および図１２は、ジョブデータ管理処理の流れの一例を示すフローチャートである。ジョブデータ管理処理は、図１０のステップＳ１０６において実行される処理である。図１１および図１２を参照して、ＰＣ２００のＣＰＵ２０１は、ジョブデータのロック要求を受信したか否かを判断する（ステップＳ１２１）。ロック要求を受信したならば処理をステップＳ１２２に進めるが、そうでなければ処理をステップＳ１２６に進める。ステップＳ１２２においては、受信したロック要求に含まれるジョブ番号で特定されるジョブデータ２３５がロック状態か否かを判断する。ロック状態であれば処理をステップＳ１２５に進め、ロック状態でなくロック解除状態であれば処理をステップＳ１２３に進める。ステップＳ１２５においては、ロック要求を送信してきた装置にエラー信号を返信する。ロック状態のジョブデータ２３５へのアクセスを禁止するためである。
【００８６】
ステップＳ１２３においては、ロック要求を送信してきた装置の装置識別情報をＲＡＭ２０５に一時的に記憶し、処理をステップＳ１２４に進める。ステップＳ１２４においては、ジョブデータ２３５をロック解除状態からロック状態に変更する。
【００８７】
ステップＳ１２６においては、ジョブデータのロック解除要求を受信したか否かを判断する。ロック解除要求を受信したならば処理をステップＳ１２７に進めるが、そうでなければ処理をステップＳ１３１に進める。ステップＳ１２７においては、受信したロック要求に含まれるジョブ番号で特定されるジョブデータ２３５がロック状態か否かを判断する。ロック状態であれば処理をステップＳ１２８に進め、ロック状態でなくロック解除状態であれば処理をステップＳ１３０に進める。ステップＳ１３０においては、ロック要求を送信してきた装置にエラー信号を返信する。ステップＳ１２８においては、ロック解除要求を送信してきた装置の装置識別情報がステップＳ１２３においてＲＡＭ２０６に一時的に記憶した装置識別情報と一致するか否かを判断する。一致すれば処理をステップＳ１２９に進めるが、一致しなければ処理をステップＳ１３０に進める。ロック状態に設定した装置から受信するロック解除要求によってのみロック解除状態に変更可能とするためである。ステップＳ１２９においては、ジョブデータ２３５をロック状態からロック解除状態に変更する。
【００８８】
ステップＳ１３１においては、ジョブデータ送信要求を受信したか否かを判断する。ジョブデータ送信要求を受信したならば処理をステップＳ１３２に進めるが、そうでなければ処理をステップＳ１３６に進める。ジョブデータ送信要求は、ジョブ番号を含む。ステップＳ１３２においては、受信したジョブデータ送信要求に含まれるジョブ番号で特定されるジョブデータ２３５がロック状態か否かを判断する。ロック状態であれば処理をステップＳ１３３に進め、ロック状態でなくロック解除状態であれば処理をステップＳ１３５に進める。ステップＳ１３５においては、ジョブデータ送信要求を送信してきた装置にエラー信号を返信する。ステップＳ１３３においては、ジョブデータ送信要求を送信してきた装置の装置識別情報がステップＳ１２３においてＲＡＭ２０５に一時的に記憶した装置識別情報と一致するか否かを判断する。一致すれば処理をステップＳ１３４に進めるが、一致しなければ処理をステップＳ１３５に進める。ロック状態に設定した装置から受信するジョブデータ送信要求によってのみジョブデータ２３５を送信するためである。ステップＳ１３４においては、ジョブデータ２３５をＨＤＤ２０７から読出し、ジョブデータ送信要求を送信してきた装置に読み出したジョブデータ２３５を送信する。
【００８９】
ステップＳ１３６においては、データ２３１を制限状態に設定するための制限状態設定要求を受信したか否かを判断する。制限状態設定要求を受信したならば処理をステップＳ１３７に進めるが、そうでなければ処理をステップＳ１４１に進める。制限状態設定要求は、ジョブ番号を含む。ステップＳ１３７においては、受信した制限状態設定要求に含まれるジョブ番号で特定されるジョブデータ２３５がロック状態か否かを判断する。ロック状態であれば処理をステップＳ１３８に進め、ロック状態でなくロック解除状態であれば処理をステップＳ１４０に進める。ステップＳ１４０においては、制限状態設定要求を送信してきた装置にエラー信号を返信する。ステップＳ１３８においては、制限状態設定要求を送信してきた装置の装置識別情報がステップＳ１２３において一時的にＲＡＭ２０５に記憶した装置識別情報と一致するか否かを判断する。一致すれば処理をステップＳ１３９に進めるが、一致しなければ処理をステップＳ１４０に進める。ロック状態に設定した装置から受信する制限状態設定要求によってのみデータ２３１に対するアクセスを制限する制限状態に設定するのを可能とするためである。ステップＳ１３９においては、データ２３１に対するアクセスを制限する制限状態に設定する。具体的には、ジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｃｈｅｋｕｏｕｔ」に設定する。
【００９０】
ステップＳ１４１においては、データ２３１を無制限状態に設定するための無制限状態設定要求を受信したか否かを判断する。無制限状態設定要求を受信したならば処理をステップＳ１４２に進めるが、そうでなければ処理をジョブ生成処理に戻す。無制限状態設定要求は、ジョブ番号を含む。ステップＳ１４２においては、受信した無制限状態設定要求に含まれるジョブ番号で特定されるジョブデータ２３５がロック状態か否かを判断する。ロック状態であれば処理をステップＳ１４３に進め、ロック状態でなくロック解除状態であれば処理をステップＳ１４５に進める。ステップＳ１４５においては、無制限状態設定要求を送信してきた装置にエラー信号を返信し、処理をジョブ生成処理に戻す。ステップＳ１４３においては、無制限状態設定要求を送信してきた装置の装置識別情報がステップＳ１２３においてＲＡＭ２０５に一時的に記憶した装置識別情報と一致するか否かを判断する。一致すれば処理をステップＳ１４４に進めるが、一致しなければ処理をステップＳ１４５に進める。ロック状態に設定した装置から受信する無制限状態設定要求によってのみデータ２３１に対するアクセスを制限しない無制限状態に設定するのを可能とするためである。ステップＳ１４４においては、データ２３１に対するアクセスを制限しない無制限状態に設定し、処理をジョブ生成処理に戻す。具体的には、ジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｏｐｅｎ」に設定する。
【００９１】
図１３は、ジョブ実行処理の流れの一例を示すフローチャートである。ジョブ実行処理は、ＭＦＰ１００，１００Ａ，１００Ｂ，１００ＣそれぞれのＣＰＵ１１１がジョブ管理プログラムを実行することにより、ＣＰＵ１１１により実行される処理である。ここでは、ＭＦＰ１００のＣＰＵ１１１がジョブ実行処理を実行する例を説明する。
【００９２】
図１３を参照して、ＣＰＵ１１１は、ＰＣ２００から実行指示を受信したか否かを判断する（ステップＳ０１）。実行指示を受信するまで待機状態となり（ステップＳ０１でＮＯ）、実行指示を受信したならば処理をステップＳ０２に進める。換言すれば、ジョブ実行処理は、ＰＣ２００から実行指示を受信することを条件に実行される処理である。
【００９３】
ステップＳ０２においては、ＭＦＰ１００の負荷が所定のしきい値Ｔよりも小さいか否かを判断する。負荷がしきい値Ｔより小さくなるまで待機状態となり（ステップＳ０２でＮＯ）、負荷がしきい値Ｔより小さければ処理をステップＳ０３に進める。ＭＦＰ１００の負荷がしきい値Ｔより小さい場合に、実行指示に従った処理を実行するようにし、ＭＦＰ１００の負荷が大きくならないようにするためである。これにより、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃ間で実行指示に従った処理を実行することによる負荷を分散することができる。
【００９４】
ステップＳ０３においては、ファンクションチケットの送信をＰＣ２００に要求する。具体的には、実行指示を送信してきたＰＣ２００に、ファンクションチケット送信要求を送信する。ファンクションチケット送信要求は、実行指示に含まれるファンクションチケットＮｏ．を含む。図１０に示したように、ジョブ生成処理を実行するＰＣ２００は、実行指示をＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれに送信し（ステップＳ１０５）、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれかからファンクションチケット送信要求を受信すると（ステップＳ１０７）、ファンクションチケット送信要求を送信してきた装置にファンクションチケット２３３を送信する（ステップＳ１０８）。したがって、ＭＦＰ１００は、ＰＣ２００からファンクションチケット２３３を受信する（ステップＳ０４）。
【００９５】
次のステップＳ０５においては、対象処理決定処理を実行する。対象処理決定処理については、その詳細を後述するが、ファンクションチケット２３３に基づいて、ＭＦＰ１００が実行するための対象処理を決定する処理である。次のステップＳ０６においては、ステップＳ０５で対象処理決定処理を実行した結果、対象処理が決定されたか否かを判断する。対象処理が決定されたならば処理をステップＳ０７に進め、そうでなければ処理を終了する。
【００９６】
ステップＳ０７においては、処理実行処理を実行し、処理をステップＳ０２に戻す。処理実行処理については、後述するが、ステップＳ０５で決定された対象処理を実行する処理である。このように、ジョブ実行処理は、ファンクションチケット２３３で定義された処理のうちで、ＭＦＰ１００が実行するための対象処理が存在する限り、その対象処理を順に実行するが、対象処理が存在しなくなれば処理を終了する。したがって、すべてのＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれにおいて対象処理が存在しなくなった時点で、ファンクションチケット２３３で定義されたすべての処理の実行が完了する。
【００９７】
図１４は、対象処理決定処理の流れの一例を示すフローチャートである。対象処理決定処理は、図１３のステップＳ０５において実行される処理である。図１４を参照して、ファンクションチケット２３３で定義された処理のうちから最終処理を除く処理を抽出する（ステップＳ１１）。最終処理を除く処理は、ファンクションチケット２３３で定義された処理情報で、優先順位（Ｐｒｉｏｒｉｔｙ）が「Ｌａｓｔ」でない処理情報の処理識別情報で識別される処理である。
【００９８】
次に、抽出した処理のすべてが実行済みの処理か否かを判断する（ステップＳ１２）。実行済みの処理は、ファンクションチケット２３３で定義された処理情報で、状態情報（Ｓｔａｔｕｓ）が「Ｃｌｏｓｅ」の処理情報の処理識別情報で識別される処理である。抽出した処理のすべてが実行済みであれば処理をステップＳ２３に進め、実行済みでない処理が１つでも存在すれば、その処理を抽出し、処理をステップＳ１３に進める。ここでは、実行済みでない処理を候補処理という。実行済みでない候補処理のうちから処理対象とする対象処理を決定する。
【００９９】
ステップＳ１３においては、候補処理のうちからＭＦＰ１００が実行可能な処理が存在するか否かを判断する。ＨＤＤ１１６に記憶された能力情報１７１を参照し、実行可能な処理のすべてを抽出する。具体的には、候補処理の処理識別情報が、能力情報１７１で定義される実行可能処理情報のいずれかに一致する場合、その候補処理を実行可能な処理として抽出する。実行可能な処理のすべてを抽出し、１つでも抽出されたならば処理をステップＳ１４に進め、１つも抽出されなければ処理をステップＳ２３に進める。
【０１００】
次のステップＳ１４においては、抽出された実行可能な処理が複数か否かを判断する。複数ならば処理をステップＳ１５に進め、単数ならば処理をステップＳ１７に進める。ステップＳ１７においては、実行可能な処理として抽出された単一の処理を選択し、処理をステップＳ１８に進める。
【０１０１】
ステップＳ１５においては、抽出された複数の実行可能な処理のいずれかに優先順位が設定されているか否かを判断する。いずれかに優先順位が設定されていれば、その優先順位に従って複数の実行可能な処理を並び換え（ステップＳ１６）、処理をステップＳ１７に進める。ステップＳ１７においては、複数の実行可能な処理のうちから優先順位が最先の１つの処理を選択し、処理をステップＳ１８に進める。一方、抽出された複数の実行可能な処理のいずれにも優先順位が設定されていなければ、処理をステップＳ１７に進める。ステップＳ１７においては、複数の実行可能な処理のうちから任意の処理を選択し、処理をステップＳ１８に進める。
【０１０２】
ステップＳ１８においては、ステップＳ１７において選択された処理が、装置指定処理か否かを判断する。装置指定処理は、ファンクションチケット２３３で定義された処理情報で、装置識別情報（Ｄｅｖｉｃｅ）を含む処理情報の処理識別情報で識別される処理である。ステップＳ１７において選択された処理の処理情報が装置識別情報を定義していれば、処理をステップＳ１９に進め、そうでなければ処理をステップＳ２０に進める。ステップS１９では、装置識別情報により識別される装置が自装置であるか否かを判断する。自装置であれば処理をステップＳ２０に進め、自装置でなければ処理をステップＳ２１に進める。ステップＳ２０においては、ステップＳ１７において選択された処理を実行処理に特定し、処理をステップＳ２５に進める。ステップＳ２５においては、特定された実行処理の処理識別情報を返り値に設定し、処理をジョブ実行処理に戻す。
【０１０３】
一方、ステップＳ２１においては、ステップＳ１７において選択された処理を処理対象から除外し、処理をステップＳ２２に進める。ステップＳ２２においては、ステップＳ１３において抽出された実行可能の処理のうちステップＳ２１において処理対象から除外された処理以外の処理が存在するか否かを判断する。そのような処理が存在すれば処理をステップＳ１４に戻し、そうでなければ処理をステップＳ２３に進める。
【０１０４】
ステップＳ２３においては、最終処理に自装置が指定されているか否かを判断する。最終処理は、ファンクションチケット２３３で定義された処理情報で、優先順位（Ｐｒｉｏｒｉｔｙ）が「Ｌａｓｔ」に設定された処理情報の処理識別情報で識別される処理である。ファンクションチケット２３３で定義された処理情報で、優先順位（Ｐｒｉｏｒｉｔｙ）が「Ｌａｓｔ」に設定された処理情報が存在しなければ処理をステップＳ２６に進める。また、ファンクションチケット２３３で定義された処理情報で、優先順位（Ｐｒｉｏｒｉｔｙ）が「Ｌａｓｔ」に設定された処理情報が存在する場合、その処理情報が定義する装置識別情報が、自装置、ここではＭＦＰ１００の装置識別情報と同じならば処理をステップＳ２４に進めるが、同じでなければ処理をステップＳ２６に進める。ステップＳ２４においては、最終処理を実行処理に設定し、処理をステップＳ２５に進める。ステップＳ２６においては、「実行処理なし」を返り値に設定し、処理をジョブ実行処理に戻す。
【０１０５】
図１５および図１６は、処理実行処理の流れの一例を示すフローチャートである。処理実行処理は、図１３のステップＳ０７において実行される処理である。図１５および図１６を参照して、ＣＰＵ１１１は、アクセス制限処理を実行する（ステップＳ３１）。アクセス制限処理については後述するが、ＰＣ２００のＨＤＤ２０７に記憶されたデータ２３１へのアクセスを自装置のみに制限する制限状態にＰＣ２００に設定させる処理である。ファンクションチケットを受信してからデータ２３１を取得する前にデータ２３１が他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃによって更新されるのを回避するためである。
【０１０６】
次のステップＳ３２においては、ファンクションチケット送信要求をＰＣ２００に送信する。ファンクションチケット送信要求は、ファンクションチケットＮｏ．を含む。ＰＣ２００は、図１０で説明したように、ファンクションチケット送信要求を受信すると（ステップＳ１０７）、そのファンクションチケット送信要求に含まれるファンクションチケットＮｏ．で特定されるファンクションチケット２３３をＭＦＰ１００に返信するので（ステップＳ１０８）、ＭＦＰ１００は、それを受信する（ステップＳ３３）。
【０１０７】
そして、受信したファンクションチケット２３３の処理情報のうち先に実行した対象処理決定処理で決定された実行処理の処理識別情報を含む処理情報で定義された状態情報が処理を完了した状態を示す「Ｃｌｏｓｅ」か否かを判断する（ステップＳ３４）。状態情報が「Ｃｌｏｓｅ」であれば処理をステップＳ５２に進める。実行されてしまった処理を再度実行する必要はないからである。状態情報が「Ｃｌｏｓｅ」でなければ処理をステップＳ３５に進める。
【０１０８】
ステップＳ３５においては、実行処理より優先順位が上位の処理は実行済みか否かを判断する。ファンクションチケット２３３で定義された処理情報のうちで、実行処理の処理識別情報を含む処理情報の優先順位よりも上位の優先順位を含む処理情報すべてにおいて、状態情報が「Ｃｌｏｓｅ」か否かを判断する。実行処理より優先順位が上位の処理が実行済みでなければ処理をステップＳ３９に進める。優先順位が上位の処理が実行済された後に、実行処理を実行するためである。ステップＳ３９においては、制限解除処理を実行する。制限解除処理については後述するが、アクセス制限処理が実行されることにより、データ２３１へのアクセスが制限された制限状態を解除するための処理である。そして、所定時間待機した後（ステップＳ４０）、処理をステップＳ３１に戻す。所定時間待機することにより、優先順位が上位の処理が実行済みとなる場合があるからである。
【０１０９】
ステップＳ３５において、優先順位が上位の処理が実行済みであれば処理をステップＳ３６に進める。ステップＳ３６においては、データ送信要求をＰＣ２００に送信する。データ送信要求は、データ２３１のファイル名を含む。ＰＣ２００は、図１０で説明したように、データの送信要求を受信すると（ステップＳ１０９）、そのデータ送信要求に含まれるファイル名で特定されるデータ２３１をＭＦＰ１００に返信するので（ステップＳ１１０）、ＭＦＰ１００は、それを受信する（ステップＳ３７）。
【０１１０】
そして、状態情報を実行中に更新する。具体的には、状態情報を「Ｐｒｏｃｅｓｓｉｎｇ」に変更するためのファンクションチケット更新要求をＰＣ２００に送信する（ステップＳ３８）。ファンクションチケット更新要求は、ファンクションチケットＮｏ．と、処理識別情報と、状態情報（ここではＰｒｏｃｅｓｓｉｎｇ）を含む。ＰＣ２００は、図１０で説明したように、ファンクションチケット更新要求を受信すると（ステップＳ１１３）、そのファンクションチケット更新要求に含まれるファンクションチケットＮｏ．で特定されるファンクションチケット２３３の処理識別情報を含む処理情報の状態情報を「Ｐｒｏｃｅｓｓｉｎｇ」に変更する（ステップＳ１１４）。
【０１１１】
次のステップＳ４１においては、制限解除処理を実行し、処理をステップＳ４２に進める。ＭＦＰ１００がデータ２３１のアクセスを制限する制限状態を解除した後にファンクションチケット２３３を取得する他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃは、状態情報に基づいてその処理がＭＦＰ１００で実行中であることを把握することができる。
【０１１２】
ステップＳ４２においては、受信したデータ２３１に対して実行処理を実行する（ステップＳ４２）。この際、ファンクションチケット２３３が定義する処理情報において、実行処理の処理識別情報を含む処理情報が処理条件を含む場合、その処理条件に従って処理識別情報で識別される実行処理を実行する。
【０１１３】
データ２３１に対する実行処理の実行が完了すると、アクセス制限処理を実行し（ステップＳ４３）、データ２３１を制限状態に設定する。そして、ステップＳ３２およびステップＳ３３と同様にして、ファンクションチケット２３３の送信を要求し（ステップＳ４４）、それをＰＣ２００から受信する（ステップＳ４５）。
【０１１４】
そして、受信したファンクションチケット２３３の処理情報のうち実行処理の処理識別情報を含む処理情報で定義された状態情報が「Ｐｒｏｃｅｓｓｉｎｇ」か否かを判断する（ステップＳ４６）。状態情報が「Ｐｒｏｃｅｓｓｉｎｇ」であれば処理をステップＳ４７に進める。先のステップＳ３８の処理を実行することにより状態情報を「Ｐｒｏｃｅｓｓｉｎｇ」に変更した後に、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃにより状態情報が変更されていない場合に、ステップＳ４７以降の処理を実行するためである。状態情報が「Ｐｒｏｃｅｓｓｉｎｇ」でなければ処理をステップＳ５２に進める。状態情報が「Ｐｒｏｃｅｓｓｉｎｇ」でなければ、他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃにより状態情報が「Ｃｌｏｓｅ」に変更されており、そのような場合にデータを更新する必要はないからである。
【０１１５】
ステップＳ４７においては、実行処理の種類がデータ処理か否かを判断する。データ処理とは、データ２３１を処理した後にデータが出力される処理をいい、例えば、画像処理を含む。データ処理でない処理とは、例えば、画像形成処理、表示処理、データ転送処理等の出力処理を含む。実行処理がデータ処理ならば処理をステップＳ４８に進め、そうでなければステップＳ４８をスキップして処理をステップＳ４９に進める。
【０１１６】
ステップＳ４８においては、データ更新要求をＰＣ２００に送信する。データ更新要求は、データ２３１のファイル名と、ステップＳ４２で実行処理を実行した後の処理済みのデータとを含む。ＰＣ２００は、図１０で説明したように、データ更新要求を受信すると（ステップＳ１１１）、そのデータ更新要求に含まれるファイル名で特定されるデータ２３１を処理済みのデータで更新する（ステップＳ１１２）。
【０１１７】
ステップＳ４９においては、状態情報を実行済みに更新する。具体的には、状態情報を「Ｃｌｏｓｅ」に変更するためのファンクションチケット更新要求をＰＣ２００に送信する。ファンクションチケット更新要求は、ファンクションチケットＮｏ．と、処理識別情報と、状態情報（ここではＣｌｏｓｅ）とを含む。ＰＣ２００は、図１０で説明したように、ファンクションチケット更新要求を受信すると（ステップＳ１１３）、そのファンクションチケット更新要求に含まれるファンクションチケットＮｏ．で特定されるファンクションチケット２３３の処理識別情報を含む処理情報の状態情報を「Ｃｌｏｓｅ」に変更する（ステップＳ１１４）。
【０１１８】
ステップＳ５０においては、実行処理が最終処理か否かを判断する。実行処理が最終処理ならば処理をステップＳ５１に進め、そうでなければ処理をステップＳ５２に進める。ステップＳ５１においては、ジョブ完了通知をＰＣ２００に送信し、処理をステップＳ５２に進める。ジョブ完了通知は、ジョブ番号を含む。
【０１１９】
ステップＳ５２においては、制限解除処理を実行し、処理をジョブ実行処理に戻す。制限解除後にファンクションチケット２３３を取得する他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃは、状態情報に基づいてその処理がＭＦＰ１００により実行されたことを把握することができる。また、制限解除後にデータ２３１を取得する他のＭＦＰ１００Ａ，１００Ｂ，１００Ｃは、ＭＦＰ１００により実行処理が実行された後の処理済みのデータを取得することができる。
【０１２０】
図１７は、アクセス制限処理の流れの一例を示すフローチャートである。アクセス制限処理は、図１５のステップＳ３１および図１６のステップＳ４３において実行される処理である。図１７を参照して、ＣＰＵ１１１は、ジョブデータロック要求をＰＣ２００に送信する（ステップＳ６１）。ジョブデータロック要求は、ジョブデータ２３５のジョブ番号を含む。図１１で説明したように、ＰＣ２００はジョブデータロック要求を受信すると（ステップＳ１２１）、そのジョブデータロック要求に含まれるジョブ番号で特定されるジョブデータ２３５をロックする（ステップＳ１２４）。これにより、ＰＣ２００において、ジョブデータ２３５がロックされ、ロック要求を送信したＭＦＰ１００以外のＭＦＰ１００Ａ，１００Ｂ，１００Ｃによるジョブデータ２３５へのアクセスが制限される。ＰＣ２００は、ロックできない場合は、エラー信号を返信するので（ステップＳ１２５）、ＭＦＰ１００のＣＰＵ１１１はエラー信号が返信されなくなるまでロック要求を繰り返し送信する。
【０１２１】
そして、ジョブデータ送信要求をＰＣ２００に送信する（ステップＳ６２）。ジョブデータ送信要求は、ジョブ番号を含む。図１２で説明したように、ＰＣ２００はジョブデータ送信要求を受信すると（ステップＳ１３１）、そのジョブデータ送信要求に含まれるジョブ番号で特定されるジョブデータ２３５を返信する（ステップＳ１３４）ので、ＭＦＰ１００は、ジョブデータ２３５を受信する。そして、受信したジョブデータ２３５のアクセス情報が無制限状態か否かを判断する（ステップＳ６３）。アクセス情報のＳｔａｔｕｓが「Ｏｐｅｎ」であれば無制限状態であり、「Ｃｈｅｃｋｏｕｔ」であれば制限状態である。無制限状態であれば処理をステップＳ６４に進め、制限状態であれば処理をステップＳ６６に進める。
【０１２２】
ステップＳ６４においては、ＰＣ２００に制限状態への設定を要求し、処理をステップＳ６５に進める。具体的には、ＰＣ２００に制限状態設定要求を送信する。制限状態設定要求は、ジョブ番号を含む。図１２で説明したように、ＰＣ２００は制限状態設定要求を受信すると（ステップＳ１３６）、その制限状態設定要求に含まれるジョブ番号で特定されるジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｃｈｅｃｋｏｕｔ」に変更し、装置識別情報をＭＦＰ１００の装置識別情報「ＭＦＰ−Ａ」に変更する（Ｓ１４４）。
【０１２３】
ステップＳ６５においては、ジョブデータロック解除要求をＰＣ２００に送信し、処理を処理実行処理に戻す。ジョブデータロック解除要求は、ジョブデータ２３５のジョブ番号を含む。図１１で説明したように、ＰＣ２００はロック解除要求を受信すると（ステップＳ１２６）、ジョブデータロック解除要求に含まれるジョブ番号で特定されるジョブデータ２３５のロックを解除する（ステップＳ１２９）。これにより、ＰＣ２００において、ジョブデータ２３５がロック解除され、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれによってもジョブデータ２３５へのアクセスが可能となる。ＰＣ２００は、ロックを解除できない場合は、エラー信号を返信する（ステップＳ１３０）ので、ＭＦＰ１００のＣＰＵ１１１はエラー信号が返信されなくなるまでジョブデータロック解除要求を繰り返し送信する。
【０１２４】
そして、ジョブデータ２３５のジョブデータロック解除要求をＰＣ２００に送信し（ステップＳ６６）、所定時間待機した後（ステップＳ６７）、処理をステップＳ６１に戻す。所定時間経過後に、アクセス情報が無制限状態に変更される場合があるからである。
【０１２５】
図１８は、制限解除処理の流れの一例を示すフローチャートである。制限解除処理は、図１５のステップＳ３９、ステップＳ４１および図１６のステップＳ５２においてそれぞれ実行される処理である。図１８を参照して、ＣＰＵ１１１は、ジョブデータロック要求をＰＣ２００に送信する（ステップＳ７１）。これにより、ＰＣ２００において、ジョブデータ２３５がロックされ、ＭＦＰ１００以外のＭＦＰ１００Ａ，１００Ｂ，１００Ｃによるジョブデータ２３５へのアクセスが制限される。
【０１２６】
そして、ＰＣ２００に無制限状態への設定を要求し（ステップＳ７２）、処理をステップＳ７３に進める。具体的には、無制限状態設定要求をＰＣ２００に送信する。無制限状態設定要求は、ジョブデータ２３５のジョブ番号を含む。図１２で説明したように、ＰＣ２００は無制限状態設定要求を受信すると（ステップＳ１４１）、その無制限状態設定要求に含まれるジョブ番号で特定されるジョブデータ２３５のアクセス情報のＳｔａｔｕｓを「Ｏｐｅｎ」に変更する（ステップＳ１４４）。
【０１２７】
ステップＳ７３においては、ジョブデータロック解除要求をＰＣ２００に送信し、処理を処理実行処理に戻す。ジョブデータロック解除要求は、ジョブデータ２３５のジョブ番号を含む。これにより、ＰＣ２００において、ジョブデータ２３５のロックが解除され、ＭＦＰ１００以外のＭＦＰ１００Ａ，１００Ｂ，１００Ｃによるジョブデータ２３５へのアクセスが可能となる。ＰＣ２００は、ロックを解除できない場合は、エラー信号を返信するので（ステップＳ１３０）、ＭＦＰ１００のＣＰＵ１１１はエラー信号が返信されなくなるまでロック解除要求を繰り返し送信する。
【０１２８】
以上説明したように本実施の形態における情報処理システム１においては、データと、処理識別情報毎に処理の状態を示す状態情報を定義するファンクションチケットとが指示装置であるＰＣ２００に記憶される。処理実行装置である複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれにより、ファンクションチケットが取得され、ファンクションチケットにより定義された処理のうちから実行可能な対象処理が決定され、データが取得され、対象処理が実行される。さらに、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのうち対象処理を実行した装置により、対象処理がデータ処理の場合、指示装置に記憶されたデータが対象処理の実行された後の処理済みデータで更新され、ＰＣ２００に記憶されたファンクションチケットの対象処理に対応する状態情報が実行済みの状態に更新される。このため、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれによりファンクションチケットが定義する状態情報に基づいて対象処理が決定されるので、ＰＣ２００は、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれに処理を実行させるかを決定する必要はなく、ＰＣ２００の負荷を軽減することができる。また、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃは、自装置の負荷が小さくなった時に対象処理を決定すればよく、ＰＣ２００は、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃの負荷を監視する必要はない。このため、ＰＣ２００の負荷を軽減するとともに、ＰＣ２００と複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃ間の通信量を低減することができる。
【０１２９】
また、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれは、ファンクションチケットが定義する処理のうちから状態情報が「Ｃｌｏｓｅ」でない処理を選択し、実行するので、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃ間で同一の処理が重複して実行されるのを防止することができる。
【０１３０】
また、ファンクションチケットが定義する処理情報に優先順位情報が設定されている場合、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれは、ファンクションチケットが定義する処理のうちから状態情報が「Ｃｌｏｓｅ」でない処理で、かつ、実行する順位が最先の処理を選択し、実行するので、複数の処理を予め定めた順番で実行することができる。
【０１３１】
また、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれは、ファンクションチケットが定義する処理のうちから状態情報が「Ｃｌｏｓｅ」でない処理が装置指定処理の場合、他の装置が指定されていない処理を選択し、実行するので、予め定めた装置に処理を実行ささせることができる。
【０１３２】
また、ＰＣ２００は、データ２３１へのアクセスを複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃの１つに制限する制限状態と、いずれにも制限しない無制限状態とのいずれかを示すアクセス情報を含むジョブデータ２３５を記憶し、複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃそれぞれは、ジョブデータ２３５を取得し、取得したジョブデータ２３５のアクセス情報が無制限状態であることを条件に、アクセス情報を自装置のみのアクセスに制限する制限状態に変更する。このため、データ２３１へのアクセスが複数のＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれか１つに制限されるので、データ２３１の読み出し、または書込みを排他的に制御することができる。
【０１３３】
なお、本実施の形態においては、実行指示を送信する指示装置をＰＣ２００とし、処理を実行する実行装置をＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃとする例を説明したが、ＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃのいずれか１つ、例えばＭＦＰ１００Ａを、指示装置としてもよい。さらに、ＰＣ２００から画像データと処理条件とをたとえばＭＦＰ１００Ａが受信し、ＭＦＰ１００Ａが指示装置となってもよい。この場合、ＭＦＰ１００Ａを指示装置とすれば、ＰＣ２００，ＭＦＰ１００，１００Ｂ，１００Ｃが実行装置となる。さらに、ＭＦＰ１００ＡのＣＰＵ１１１にデータ受付部２１１が形成されるが、このデータ受付部２１１は、ＬＡＮ端子１１８を介して接続されたＰＣ２００または他のＭＦＰ１００、１００Ｂ，１００Ｃから受信する画像データをデータ通信制御部１１７から受け付ける、また、画像読取部２０が原稿を読み取って出力する画像データを画像読取部２０から受け付ける、ファクシミリ部６０が受信するファクシミリデータをファクシミリ部６０から受け付ける、またはメモリカード１１９Ａに記憶された画像データをデータ通信制御部１１７から受け付けることが可能である。
【０１３４】
なお、本実施の形態においては、情報処理システムについて説明したが、図１０〜図１６に示した情報処理方法およびその情報処理方法をＰＣ２００またはＭＦＰ１００，１００Ａ，１００Ｂ，１００Ｃに実行させるための情報処理プログラムとして発明を捉えることができるのは言うまでもない。
【０１３５】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【図面の簡単な説明】
【０１３６】
【図１】本発明の実施の形態における情報処理システムの全体概要を示す図である。
【図２】ＭＦＰの外観を示す斜視図である。
【図３】ＭＦＰのハード構成の一例を示すブロック図である。
【図４】ＰＣのハード構成の一例を示す図である。
【図５】ＰＣとＭＦＰそれぞれのＣＰＵの機能の概要をＨＤＤで記憶する情報とともに示す機能ブロック図である。
【図６】ファンクションチケットの一例を示す図である。
【図７】最後に実行される処理を実行する装置が特定される場合に生成される処理情報の一例を示す図である。
【図８】ジョブ処理キューに記憶されるジョブデータの一例を示す図である。
【図９】能力情報の一例を示す図である。
【図１０】ＰＣで実行されるジョブ生成処理の流れの一例を示すフローチャートである。
【図１１】ジョブデータ管理処理の流れの一例を示す第１のフローチャートである。
【図１２】ジョブデータ管理処理の流れの一例を示す第２のフローチャートである。
【図１３】ジョブ実行処理の流れの一例を示すフローチャートである。
【図１４】対象処理決定処理の流れの一例を示すフローチャートである。
【図１５】処理実行処理の流れの一例を示す第１のフローチャートである。
【図１６】処理実行処理の流れの一例を示す第２のフローチャートである。
【図１７】アクセス制限処理の流れの一例を示すフローチャートである。
【図１８】制限解除処理の流れの一例を示すフローチャートである。
【符号の説明】
【０１３７】
１  情報処理システム、２  ネットワーク、９  操作パネル、  １０  ＡＤＦ、２０  画像読取部、３０  画像形成部、４０  給紙部、５０  後処理部、６０  ファクシミリ部、６１  通信制御部、１００  ＭＦＰ、１０１  メイン回路、１１１  ＣＰＵ、１１２  ＲＡＭ、１１３  ＲＯＭ、１１４  表示部、１１５  操作部、１１６  ＨＤＤ、１１７  データ通信制御部、１１８  ＬＡＮ端子、１１９  シリアル通信インターフェース端子、１１９Ａ  メモリカード、１５１  実行指示受付部、１５３  ファンクションチケット取得部、１５５  対象処理決定部、１５７  データ取得部、１５９  対象処理実行部、１６１  ファンクションチケット更新部、１６３  データ更新部、１７１  能力情報、２００  コンピュータ、２０１  ＣＰＵ、２０２  通信Ｉ／Ｆ、２０３  モニタ、２０４  入力部、２０５  ＲＡＭ、２０６  ＲＯＭ、２０７  ＨＤＤ、２０８  バス、２１１  データ受付部、２１３  処理・条件受付部、２１５  ファンクションチケット生成部、２１７  ジョブデータ生成部、２１９  実行指示送信部、２１９  実行指示部、２２１  ジョブデータ管理部、２３１  データ、２３３  ファンクションチケット、２３５  ジョブデータ。
【図１】
2008117055.tif 000003
【図２】
2008117055.tif 000004
【図３】
2008117055.tif 000005
【図４】
2008117055.tif 000006
【図５】
2008117055.tif 000007
【図６】
2008117055.tif 000008
【図７】
2008117055.tif 000009
【図８】
2008117055.tif 000010
【図９】
2008117055.tif 000011
【図１０】
2008117055.tif 000012
【図１１】
2008117055.tif 000013
【図１２】
2008117055.tif 000014
【図１３】
2008117055.tif 000015
【図１４】
2008117055.tif 000016
【図１５】
2008117055.tif 000017
【図１６】
2008117055.tif 000018
【図１７】
2008117055.tif 000019
【図１８】
2008117055.tif 000020