(57)【要約】【課題】利用時間を推測して優先度を決定する。【解決手段】１以上の情報処理装置を有する情報処理システムであって、処理要求に対応する処理を実行する複数の処理手段と、ユーザから受け付けた処理要求を、前記複数の処理手段のうち、第１の処理手段に割り当てる処理フロー制御手段とを有し、前記第１の処理手段は、前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手段により割り当てられた処理要求の優先度を決定し、前記複数の処理手段のうち、第２の処理手段は、前記第１の処理手段により決定された優先度に基づき、前記処理要求に対応する処理を実行することにより上記課題を解決する。【選択図】図４
2016058827.tif 000002
【特許請求の範囲】
【請求項１】
１以上の情報処理装置を有する情報処理システムであって、
処理要求に対応する処理を実行する複数の処理手段と、
ユーザから受け付けた処理要求を、前記複数の処理手段のうち、第１の処理手段に割り当てる処理フロー制御手段とを有し、
前記第１の処理手段は、
前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手段により割り当てられた処理要求の優先度を決定し、
前記複数の処理手段のうち、第２の処理手段は、
前記第１の処理手段により決定された優先度に基づき、前記処理要求に対応する処理を実行することを特徴とする情報処理システム。
【請求項２】
前記第１の処理手段は、
前記処理履歴から、前記処理要求の対象データに対応する処理結果の処理時間を求め、求めた処理時間に基づき、前記処理要求の処理にかかる予想処理時間を算出することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記第１の処理手段は、
前記利用履歴から、前記ユーザの利用時間の標準偏差を求め、求めた標準偏差と、前記処理要求の処理にかかる予想処理時間とに基づき、前記処理要求の処理を開始する処理開始時刻を算出することを特徴とする請求項２に記載の情報処理システム。
【請求項４】
前記第２の処理手段により処理が実行される処理要求を記憶する記憶手段を有し、
前記第１の処理手段は、
前記処理要求の処理を開始する処理開始時刻に基づき、前記記憶手段に記憶される処理要求の優先度に対応する処理ポイントを決定することを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記第２の処理手段は、
前記記憶手段に記憶されている処理要求の処理ポイントに基づき、前記処理要求に対応する処理を実行することを特徴とする請求項４に記載の情報処理システム。
【請求項６】
処理要求に対応する処理を実行する複数の処理手段と、
ユーザから受け付けた処理要求を、前記複数の処理手段のうち、第１の処理手段に割り当てる処理フロー制御手段とを有し、
前記第１の処理手段は、
前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手段により割り当てられた処理要求の優先度を決定し、
前記複数の処理手段のうち、第２の処理手段は、
前記第１の処理手段により決定された優先度に基づき、前記処理要求に対応する処理を実行することを特徴とする情報処理装置。
【請求項７】
１以上の情報処理装置を有する情報処理システムにおける情報処理方法であって、
処理要求に対応する処理を実行する複数の処理手順と、
ユーザから受け付けた処理要求を、前記複数の処理手順のうち、第１の処理手順に割り当てる処理フロー制御手順とを有し、
前記第１の処理手順は、
前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手順により割り当てられた処理要求の優先度を決定し、
前記複数の処理手順のうち第２の処理手順は、
前記第１の処理手順により決定された優先度に基づき、前記処理要求に対応する処理を実行することを特徴とする情報処理方法。
【請求項８】
コンピュータを、
処理要求に対応する処理を実行する複数の処理手段、及び、
ユーザから受け付けた処理要求を、前記複数の処理手段のうち、第１の処理手段に割り当てる処理フロー制御手段として機能させ、
前記第１の処理手段は、
前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手段により割り当てられた処理要求の優先度を決定し、
前記複数の処理手段のうち、第２の処理手段は、
前記第１の処理手段により決定された優先度に基づき、前記処理要求に対応する処理を実行することを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラムに関する。
【背景技術】
【０００２】
例えば、ユーザから投入された印刷ジョブ等の処理要求を実行する画像形成装置において、投入された印刷ジョブの優先度を設定し、その優先度に基づいて印刷ジョブを実行する方法が知られている。このような方法において、ユーザの印刷ジョブの緊急性が高いと判断すると、その印刷ジョブの優先度をより高い優先度に変更する方法が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかしながら、上述した特許文献１の手法では、印刷ジョブの投入後において、単にユーザが装置にアクセスする回数をカウントし、その回数が所定以上となった場合に、優先度をより高い優先度に変更する。したがって、ユーザが印刷ジョブの処理結果をいつ使うかについては考慮しておらず、またユーザによる何らかの操作がなければ優先度を決定することができなかった。
【０００４】
１つの側面では、本発明は、利用時間を推測して優先度を決定することを目的とする。
【課題を解決するための手段】
【０００５】
一態様において、１以上の情報処理装置を有する情報処理システムであって、処理要求に対応する処理を実行する複数の処理手段と、ユーザから受け付けた処理要求を、前記複数の処理手段のうち、第１の処理手段に割り当てる処理フロー制御手段とを有し、前記第１の処理手段は、前記処理要求に対応する処理履歴と、前記処理要求に対応する処理結果を利用した前記ユーザの利用履歴とから推測される前記処理要求の利用時間に基づき、前記処理フロー制御手段により割り当てられた処理要求の優先度を決定し、前記複数の処理手段のうち、第２の処理手段は、前記第１の処理手段により決定された優先度に基づき、前記処理要求に対応する処理を実行する。
【発明の効果】
【０００６】
利用時間を推測して優先度を決定することが可能となる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態に係る情報処理システムの一例の構成図である。
【図２】コンピュータシステムのハードウェア構成図である。
【図３】サービス提供システムの一例を示す処理ブロック図である。
【図４】ワークフロー制御部における処理を説明するための図である。
【図５】各種データ例を説明するための図である。
【図６】ジョブ投入時のシーケンスの一例を示す図である。
【図７】実処理キューに登録されるまでのシーケンスの一例を示す図である。
【図８】処理ポイント決定シーケンスの一例を示す図である。
【図９】予想利用時間を算出するフローチャートの一例を示す図である。
【図１０】利用時間全体の偏りの具体例について説明するための図である。
【図１１】変換ワーカーによる処理実行シーケンスの一例を示す図である。
【図１２】処理ポイント決定処理の具体例を示す図である。
【図１３】変換ワーカーの処理ポイント減算処理の一例を示す図である。
【図１４】ジョブ利用時の時刻を書き込むシーケンスの一例を示す図である。
【発明を実施するための形態】
【０００８】
次に、本発明の実施の形態について、詳細に説明する。
【０００９】
＜システム構成＞
図１は、本実施形態に係る情報処理システムの一例の構成図である。図１に示す情報処理システム１は、例えばオフィス１０内のネットワークＮ１と、クラウドサービスに代表されるサービス提供システム２０のネットワークＮ２と、例えばインターネット等のネットワークＮ３とを有する。
【００１０】
ネットワークＮ１は、ファイヤウォールＦＷの内側にあるプライベートなネットワークである。ファイヤウォールＦＷは、ネットワークＮ１とネットワークＮ３との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークＮ１には、クライアント端末１１と、携帯端末１２と、複合機等の画像形成装置１３とが接続されている。
【００１１】
クライアント端末１１は、端末装置の一例である。クライアント端末１１は、一般的なＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等が搭載された情報処理装置によって実現される。クライアント端末１１は、無線又は有線による通信の手段を有する。クライアント端末１１は、タブレットＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、ノートＰＣ等、ユーザが操作可能な端末である。
【００１２】
携帯端末１２は、端末装置の一例である。携帯端末１２は、無線又は有線による通信の手段を有している。携帯端末１２は、スマートフォンや携帯電話、タブレットＰＣ、ノートＰＣ等、ユーザが携帯可能な端末である。
【００１３】
画像形成装置１３は、複合機等の画像形成機能を有する装置である。画像形成装置１３は、無線又は有線による通信の手段を有する。画像形成装置１３は、複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板等、画像形成に係る処理を行う装置である。
【００１４】
なお、図１の例では、上述したクライアント端末１１、携帯端末１２、画像形成装置１３がそれぞれ一台である例を示しているが複数台であっても良い。
【００１５】
ネットワークＮ２は、アクセス制御装置２１によってネットワークＮ３に接続されている。ネットワークＮ２は、アクセス制御装置２１によってセキュリティが保護されている。ネットワークＮ２には、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４が接続されている。
【００１６】
図１の情報処理システム１は、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４がサービス提供システム２０を実現している。
【００１７】
アクセス制御装置２１は、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４等へのログインを制御する。プリントサービス提供装置２２は、プリントサービスを提供する。スキャンサービス提供装置２３は、スキャンサービスを提供する。他サービス提供装置２４は、他サービスを提供する。
【００１８】
アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４は、１以上の情報処理装置によって実現される。アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４は、１台の情報処理装置に統合して実現しても良く、複数の情報処理装置に分散して実現しても良い。
【００１９】
ネットワークＮ２側のサービスの一部は、ネットワークＮ２以外にあっても良い。図１の情報処理システム１では、携帯端末１２がネットワークＮ１と、ネットワークＮ３とにある例を示している。ネットワークＮ３には、オンラインストレージ等の外部サービスを提供する装置を接続しても良い。
【００２０】
＜ハードウェア構成＞
図１に示すクライアント端末１１、携帯端末１２は、例えば図２に示すようなハードウェア構成のコンピュータにより実現される。また、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４は、例えば図２に示すようなハードウェア構成のコンピュータにより実現される。図２は、コンピュータシステムのハードウェア構成図である。
【００２１】
図２に示すコンピュータシステム２は、入力装置３１と、表示装置３２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３４と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）３５と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３６と、通信Ｉ／Ｆ３７と、外部Ｉ／Ｆ３８とを有し、それぞれがバスＢで相互に接続されている。
【００２２】
入力装置３１は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置３２は、ディスプレイ等を含み、コンピュータシステム２による処理結果を表示する。
【００２３】
ＲＡＭ３３は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。ＲＯＭ３４は、電源を切ってもプログラムやデータを保持可能な不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ３４には、コンピュータシステム２の起動時に実行されるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）、ＯＳ設定、及びネットワーク設定等のプログラムやデータを格納する。
【００２４】
ＨＤＤ３５は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム２全体を制御する基本ソフトウェアであるＯＳや、ＯＳ上において各種機能を提供するアプリケーションソフトウェア等がある。
【００２５】
ＨＤＤ３５は、格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（データベース）により管理する。なお、コンピュータシステム２は、ＨＤＤ５５の代わりにＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）が設けられても良い。
【００２６】
ＣＰＵ３６は、ＲＯＭ３４やＨＤＤ３５等の記憶装置からプログラムやデータをＲＡＭ３３上に読み出し、処理を実行することで、コンピュータシステム２全体の制御や機能を実現する演算装置である。
【００２７】
通信Ｉ／Ｆ３７は、コンピュータシステム２をネットワークＮ１〜Ｎ３に接続するインターフェースである。これにより、コンピュータシステム２は、通信Ｉ／Ｆ３７を介してデータ通信を行う。
【００２８】
外部Ｉ／Ｆ３８は、外部装置とのインターフェースである。外部装置には、記録媒体３８Ａ等がある。これにより、コンピュータシステム２は、外部Ｉ／Ｆ３８を介して記録媒体３８Ａの読み取り及び／又は書き込みを行うことが可能である。
【００２９】
記録媒体３８Ａには、フレキシブルディスク、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、ＳＤメモリカード（ＳＤ  Ｍｅｍｏｒｙ  ｃａｒｄ）、ＵＳＢメモリ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ  ｍｅｍｏｒｙ）等がある。
【００３０】
クライアント端末１１、携帯端末１２は、コンピュータシステム２のハードウェア構成により、後述するような各種処理を実現できる。また、アクセス制御装置２１、プリントサービス提供装置２２、スキャンサービス提供装置２３、他サービス提供装置２４は、コンピュータシステム２のハードウェア構成により、後述するような各種処理を実現できる。
【００３１】
＜ソフトウェア構成＞
《サービス提供システム》
本実施形態に係るサービス提供システム２０は、例えば図３に示す処理ブロックにより実現される。図３は、サービス提供システムの一例を示す処理ブロック図である。
【００３２】
サービス提供システム２０は、プログラムを実行することで、サービスアプリ４１、プラットフォーム４２、データ記憶部４３、プラットフォームＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）４４を実現する。
【００３３】
サービスアプリ４１は、プリントサービスアプリ５１、スキャンサービスアプリ５２、その他のサービスアプリ５３を一例として有する。プリントサービスアプリ５１は、例えばクライアント端末１１等から送信されたデータを、画像形成装置１３から出力するサービスを提供するアプリケーションである。
【００３４】
スキャンサービスアプリ５２は、例えば画像形成装置１３等でスキャンされたスキャン画像を配信するサービスを提供するアプリケーションである。その他のサービスアプリ５３は、例えば外部のオンラインストレージ等にデータを蓄積するサービス等のその他のサービスを提供するアプリケーションである。
【００３５】
プラットフォーム４２は、認証処理部６１と、組織管理部６２と、ユーザ管理部６３と、機器管理部６４と、処理フロー制御手段の一例としてのワークフロー制御部６５とを有する。また、ワークフロー制御部６５は、記憶手段の一例としてのメッセージキュー７１と、処理手段の一例としてのワーカー（Ｗｏｒｋｅｒ）７２と、メタ情報管理テーブル７３とを有する。
【００３６】
認証処理部６１は、クライアント端末１１や画像形成装置１３等のオフィス機器からのログイン要求に基づいて認証処理を実行する。オフィス機器は、クライアント端末１１、携帯端末１２、画像形成装置１３等の総称である。
【００３７】
認証処理部６１は、例えばユーザ情報記憶部８２等にアクセスしてユーザを認証する。また、認証処理部６１は、例えば組織情報記憶部８１や機器情報記憶部８３等にアクセスして画像形成装置１３等を認証する。
【００３８】
組織管理部６２は、例えば組織情報記憶部８１に記憶されている組織情報を管理する。ユーザ管理部６３は、例えばユーザ情報記憶部８２に記憶されているユーザ情報を管理する。機器管理部６４は、例えば機器情報記憶部８３に記憶されている機器情報を管理する。
【００３９】
ワークフロー制御部６５は、サービスアプリ４１からの要求に基づいて、例えば画像処理に関するワークフローを制御する。ワークフロー制御部６５は、例えば処理要求（ジョブ）に係るリクエストのメッセージを、メッセージキュー７１のキューに投入（キューイング）する。メッセージキュー７１は、例えば各処理に対応するキューを有するがこれに限定されるものではない。
【００４０】
ワーカー７２は、対応するキューを監視している。ワーカー７２は、キューにメッセージが投入されると、例えばメタ情報管理テーブル７３やジョブ情報記憶部８４を参照して、処理要求を実行する優先度（処理の順番）を決定したり、処理要求に対応する処理（例えば、画像変換や画像送信等）を実行したりする。なお、キューに投入されたメッセージは、ワーカー７２が主体的に読み出す（Ｐｕｌｌ）ようにしても良く、キューからワーカー７２に提供する（Ｐｕｓｈ）ようにしても良い。
【００４１】
データ記憶部４３は、組織情報記憶部８１と、ユーザ情報記憶部８２と、機器情報記憶部８３と、ジョブ情報記憶部８４と、データストレージ８５とを有する。
【００４２】
組織情報記憶部８１は、例えばデータ項目として、組織ＩＤ、組織名、表示言語、タイムゾーン、状態、国等を有する。ユーザ情報記憶部８２は、例えばデータ項目として、組織ＩＤ、ユーザＩＤ、パスワード、ユーザ名、表示言語、タイムゾーン等を有する。
【００４３】
機器情報記憶部８３は、例えばデータ項目として組織ＩＤ、デバイス認証情報、事業所情報、ケーパビリティ等を有する。ジョブ情報記憶部８４は、例えば処理要求（ジョブ）に係るリクエスト情報を記憶する。データストレージ８５は、例えばワーカー７２が処理する対象ファイル（スキャン画像等）やデータ等を記憶する。
【００４４】
プラットフォームＡＰＩ４４は、プリントサービスアプリ５１、スキャンサービスアプリ５２等のサービスアプリ４１が、プラットフォーム４２を利用するためのインターフェースである。プラットフォームＡＰＩ４４は、サービスアプリ４１からの要求をプラットフォーム４２が受信するために設けられた予め定義されたインターフェースであり、例えば関数やクラス等により構成される。
【００４５】
プラットフォームＡＰＩ４４は、サービス提供システム２０が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩにより実現できる。
【００４６】
＜ワークフロー制御部６５＞
図４は、ワークフロー制御部における処理を説明するための図である。図４の例では、ワークフロー制御部６５とともに、メッセージキュー７１と、ワーカー７２と、メタ情報管理テーブル７３とを示している。また、図４の例では、サービスアプリ４１と、ジョブ情報記憶部８４と、データストレージ８５とを示している。
【００４７】
ワークフロー制御部６５は、例えば外部装置に搭載されるアプリケーションの一例として、サービスアプリ４１から処理要求を受け付けると、処理要求に係るリクエストのメッセージ（処理要求に対応する処理（ジョブ））をメッセージキュー７１のキューに割り当てる。なお、処理要求に係るリクエストのメッセージとは、例えばクライアント端末１１等から要求されたファイル変換等に関する情報である。また、ワークフロー制御部６５は、メッセージキュー７１に割り当てたリクエストのメッセージの実施状態等を示すリクエスト情報を、ジョブ情報記憶部８４に記憶する。
【００４８】
メッセージキュー７１は、例えば、優先度決定キュー７１Ａと、実処理キュー７１Ｂとを有する。優先度決定キュー７１Ａは、ワークフロー制御部６５により処理要求に係るリクエストのメッセージが割り当てられる。実処理キュー７１Ｂは、例えば変換ワーカー７２Ｂにより実行されるリクエストのメッセージを保持する。
【００４９】
ワーカー７２は、例えば、第１の処理手段の一例としての処理順決定ワーカー７２Ａと、第２の処理手段の一例としての変換ワーカー７２Ｂとを有するがこれに限定されるものではない。
【００５０】
処理順決定ワーカー７２Ａは、優先度決定キュー７１Ａを監視する。処理順決定ワーカー７２Ａは、ワークフロー制御部６５により処理要求に係るリクエストのメッセージが優先度決定キュー７１Ａに登録されると、そのリクエストのメッセージを処理する優先度（処理の順番）を決定する。
【００５１】
例えば、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３から、処理要求の対象ファイル（対象データ）と形式やページ数等が一致する処理履歴を取得する。また、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３から、例えば処理要求元のユーザが処理要求に対応する処理結果を利用したときの利用履歴を取得する。処理順決定ワーカー７２Ａは、上述した処理履歴や利用履歴等から、ユーザにより処理要求の処理結果を利用する利用時間を推測し、推測した利用時間に基づき優先度を決定する。
【００５２】
また、処理順決定ワーカー７２Ａは、例えば変換ワーカー７２Ｂにより処理されているリクエストのメッセージや、実処理キュー７１Ｂに保持されているリクエストのメッセージの処理予定（予想処理時間や処理開始時刻等）を参照する。処理順決定ワーカー７２Ａは、その処理予定と、上述のように推測した処理要求の利用時間（予想処理時間や処理開始時刻等）とに基づき、処理要求の優先度に対応する処理ポイントを決定する。
【００５３】
上述したように、処理順決定ワーカー７２Ａは、処理要求の優先度に対応する処理ポイントを決定すると、そのリクエストのメッセージを実処理キュー７１Ｂに登録する。
【００５４】
変換ワーカー７２Ｂは、実処理キュー７１Ｂを監視する。変換ワーカー７２Ｂは、実処理キュー７１Ｂに保持されているリクエストのメッセージに対応する処理を実行する。変換ワーカー７２Ｂは、例えばジョブの種類に応じた「ＨＴＭＬ→ＰＤＦ」、「ＰＤＦ→ＰＲＣＳ」等のファイル変換や、文字認証（ＯＣＲ）等の処理を行うが、処理の内容についてはこれに限定されない。
【００５５】
変換ワーカー７２Ｂは、実処理キュー７１Ｂからリクエストのメッセージを取得すると、そのリクエストのメッセージに基づき、ジョブ情報記憶部８４から処理順決定ワーカー７２Ａが決定した処理ポイントを参照し、その処理ポイントに応じて処理を行う。変換ワーカー７２Ｂは、処理ポイントに応じて処理を実行することで、ユーザの利用時間に応じた処理結果が得られるため、ユーザの待ち時間を減少することが可能となる。
【００５６】
メタ情報管理テーブル７３は、ユーザが処理結果を利用したときの利用履歴や、処理要求の対象ファイルに対して処理を実行したときの処理履歴等を管理する。メタ情報管理テーブル７３に管理されている利用履歴や処理履歴等に基づき、ユーザが処理要求の処理結果を利用する利用時間が推測可能となる。
【００５７】
＜各種データ例＞
次に、上述した各処理に用いる各種データ例について説明する。図５は、各種データ例を説明するための図である。図５（Ａ）は、ジョブ情報記憶部８４に記憶されているリクエスト情報の一例を示している。図５（Ｂ）は、メタ情報管理テーブル７３の一例を示している。
【００５８】
図５（Ａ）に示すリクエスト情報は、例えば「ジョブＩＤ」（属性名ｊｏｂ_ｉｄ）、「ユーザＩＤ」（属性名ｕｓｅｒ_ｉｄ）、「ジョブの実施状態」（属性名ｓｔａｔｕｓ）、「処理ポイント」（属性名ｐｒｉｏｒｉｔｙ_ｐｏｉｎｔ）等の項目を有しているが、これには限定されない。
【００５９】
「ジョブＩＤ」は、ジョブ（リクエストのメッセージ）を識別する識別情報である。「ユーザＩＤ」は、ユーザを識別する識別情報である。「ジョブの実施状態」は、例えば、処理順決定ワーカー７２Ａによる「仕分け前」、変換ワーカー７２Ｂによる「処理待ち」、「実行中」、「完了」、「エラー」等の情報である。「処理ポイント」は、例えば、処理順決定ワーカー７２Ａにより決定された処理順（優先度）に応じて付与されるポイントである。
【００６０】
上述したリクエスト情報は、ジョブが優先度決定キュー７１Ａに登録される際、処理順決定ワーカー７２Ａにより処理ポイントが決定され、実処理キュー７１Ｂで処理ポイントが更新される際、処理タイミングに応じて「ジョブの実施状態」が更新される際等に用いられる。
【００６１】
図５（Ｂ）に示すメタ情報管理テーブル７３は、例えば「ジョブＩＤ」（属性名ｊｏｂ_ｉｄ）、「ユーザＩＤ」（属性名ｕｓｅｒ_ｉｄ）、「ファイルの変換」（属性名ｊｏｂ_ｔｙｐｅ）、「デバイス種別」（属性名ｄｅｖｉｃｅ_ｔｙｐｅ）、「ページ数」（属性名ｐａｇｅｓ）、「文字数」（属性名ｃｈａｒａｃｔｅｒｓ）、「ジョブ投入時刻」（属性名ｕｐｌｏａｄ_ａｔ）、「ジョブ処理開始時刻」（属性名ｐｒｏｃｅｓｓ_ｓｔａｒｔ_ａｔ）、「予想処理時間」（属性名ｅｘｐｅｃｔ_ｐｒｏｃ_ｔｉｍｅ）、「実際の処理時間」（属性名ｒｅａｌ_ｐｒｏｃ_ｔｉｍｅ）等の項目を有しているが、これには限定されない。
【００６２】
「ジョブＩＤ」は、図５（Ａ）に示す「ジョブＩＤ」に対応する。「ファイルの変換」は、例えば、対象ファイル（エクセル、ワード、ＰＤＦ等）の変換内容（印刷形式に変換、ＯＣＲ等）である。「デバイス種別」は、ジョブを実行したデバイスの種類（複合機、スマートフォン）等である。
【００６３】
「ページ数」は、対象ファイルに含まれるページ数である。「文字数」は、対象ファイルに含まれる文字数である。「ジョブ投入時刻」は、ジョブが投入された時刻である。「ジョブ処理開始時刻」は、ジョブの処理を開始する処理開始時刻（理想処理開始時刻）である。「予想処理時間」は、ファイルの傾向別の予想処理時間である。「実際の処理時間」は、変換ワーカー７２Ｂにより得られる実際のジョブ処理所要時間を示す。
【００６４】
上述したメタ情報管理テーブル７３は、ジョブ（リクエストのメッセージ）の処理順（優先度）を決定する際に用いられる。また、ファイルの傾向別の予想処理時間や、ユーザの統計情報を取得する際に用いられる。
【００６５】
なお、メタ情報管理テーブル７３のカラムを拡張することで、ジョブ（リクエストのメッセージ）の処理順の判断基準を増やすことも可能である。これにより、ユーザの期待する処理終了時間に近づけることが可能となる。
【００６６】
＜ジョブ投入時のシーケンス＞
次に、ユーザがジョブ（処理要求）を投入した後、上述したワークフロー制御部６５により、優先度決定キュー７１Ａにリクエストのメッセージが登録されるまでの処理の流れについて説明する。図６は、ジョブ投入時のシーケンスの一例を示す図である。なお、図６の例では、サービスアプリ４１と、ワークフロー制御部６５と、優先度決定キュー７１Ａと、ジョブ情報記憶部８４とを示している。
【００６７】
図６に示すように、サービスアプリ４１は、例えばクライアント端末１１からジョブ（処理要求）が投入されると、ワークフロー制御部６５に処理要求（例えば、変換ジョブ）を処理するよう要求する（Ｓ１０）。ワークフロー制御部６５は、ジョブ情報記憶部８４に、Ｓ１０の処理で受け付けた処理要求に関するリクエスト情報（例えばジョブＩＤ、ユーザＩＤ等のジョブ情報）を登録する（Ｓ１１）。次に、ワークフロー制御部６５は、そのリクエスト情報の処理ポイントを初期化する（Ｓ１２）。
【００６８】
次に、ワークフロー制御部６５は、例えば優先度決定キュー７１Ａに、Ｓ１０の処理で受け付けた処理要求に係るリクエストのメッセージ（例えばジョブＩＤ等）を登録する（Ｓ１３）。
【００６９】
なお、図６の例では、例えば実処理キュー７１Ｂにおいて、処理待ちのリクエストのメッセージ（ジョブ）が登録され、変換ワーカー７２Ｂにおいて、ジョブ処理中であるものとする。
【００７０】
＜実処理キュー７１Ｂに登録されるまでのシーケンス＞
次に、上述した優先度決定キュー７１Ａに登録されたリクエストのメッセージが、実処理キュー７１Ｂに登録されるまでの処理の流れについて説明する。図７は、実処理キューに登録されるまでのシーケンスの一例を示す図である。なお、図７の例では、優先度決定キュー７１Ａと、実処理キュー７１Ｂと、処理順決定ワーカー７２Ａと、ジョブ情報記憶部８４と、メタ情報管理テーブル７３とを示している。
【００７１】
図７に示すように、処理順決定ワーカー７２Ａは、優先度決定キュー７１Ａにリクエストのメッセージが登録されると、例えば優先度決定キュー７１Ａから優先度決定要求メッセージを受け付ける（Ｓ２０）。
【００７２】
処理順決定ワーカー７２Ａは、Ｓ２０の処理で受け付けた優先度決定要求メッセージ（例えば、ジョブＩＤ等）に基づき、ジョブ情報記憶部８４にユーザを識別するためのユーザ情報の確認要求を行う（Ｓ２１）。処理順決定ワーカー７２Ａは、対応するユーザ情報（例えば、ユーザＩＤ等）等を取得する（Ｓ２２）。
【００７３】
次に、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３にユーザが処理結果を利用したときの利用履歴や、処理要求の対象ファイルに対して処理を実行したときの処理履歴の取得要求を行う（Ｓ２３）。処理順決定ワーカー７２Ａは、対応するユーザの利用履歴や、対象ファイルの処理履歴を取得する（Ｓ２４）。
【００７４】
処理順決定ワーカー７２Ａは、Ｓ２４の処理で取得したユーザの利用履歴や、対象ファイルの処理履歴に基づき、Ｓ２０の処理で受け付けたリクエストのメッセージ（ジョブ）を処理する処理順（優先度）を決定する（Ｓ２５）。
【００７５】
処理順決定ワーカー７２Ａは、ジョブ情報記憶部８４のリクエスト情報にジョブの実施状態（例えば、「処理待ち」）を書き込み、更に、Ｓ２５の処理で決定した優先度に対応する処理ポイントを書き込む（Ｓ２６）。
【００７６】
次に、処理順決定ワーカー７２Ａは、Ｓ２５の処理で処理順が決定したリクエストのメッセージ（例えば、ジョブＩＤ等）を実処理キュー７１Ｂに登録する（Ｓ２７）。
【００７７】
＜処理ポイント決定シーケンス＞
次に、上述した図７のＳ２５の処理で、処理順決定ワーカー７２Ａが処理ポイントを決定するまでの処理の流れについて説明する。図８は、処理ポイント決定シーケンスの一例を示す図である。なお、図８の例では、ワークフロー制御部６５と、処理順決定ワーカー７２Ａと、ジョブ情報記憶部８４と、メタ情報管理テーブル７３とを示している。
【００７８】
図８に示すように、処理順決定ワーカー７２Ａは、例えばワークフロー制御部６５等に対して、リクエストのメッセージ（投入されたジョブ）の対象ファイル（処理前のファイル）の取得要求（例えば、ジョブＩＤ）を行う（Ｓ３０）。処理順決定ワーカー７２Ａは、例えばワークフロー制御部６５等から対象ファイルを取得する（Ｓ３１）。
【００７９】
次に、処理順決定ワーカー７２Ａは、対象ファイルのメタ情報を解析する（Ｓ３２）。処理順決定ワーカー７２Ａは、例えば、対象ファイルのメタ情報として、「ファイル形式（例えば、文書ファイル形式、表計算ファイル形式、ＰＤＦファイル等）」や、「ジョブ実行場所（ポータルサイト、プリンタドライバ、メール、クライアント端末１１等）」を解析する。また、処理順決定ワーカー７２Ａは、例えばページ数、文字数の他、例えば印刷サイズ、印刷形式（両面／片面、カラー／モノクロ、集約情報）等を解析しても良い。
【００８０】
次に、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３に対して、Ｓ３２の処理で解析した対象ファイルのメタ情報に対応するファイルの処理履歴（参照レコード）について取得要求を行う（Ｓ３３）。Ｓ３３の処理では、処理順決定ワーカー７２Ａは、例えば対象ファイルと「ファイル形式（例えば表計算ファイル形式）」と「ジョブ実行場所（例えばポータルサイト）」が一致する参照レコードを取得する。
【００８１】
次に、処理順決定ワーカー７２Ａは、Ｓ３３の処理で取得した参照レコードのうち、例えば対象ファイルのページ数に対して「±１割」のページ数をもつ参照レコードを抽出し、その参照レコードの「実際の処理時間」の中央値（平均値）を算出する（Ｓ３４）。Ｓ３４の処理では、例えば対象ファイルのページ数が「５ページ」であった場合、「４〜６ページ」の参照レコードを抽出し、その抽出した参照レコードの「実際の処理時間」の中央値を算出する。
【００８２】
次に、処理順決定ワーカー７２Ａは、Ｓ３３の処理で取得した参照レコードのうち、例えば対象ファイルの文字数に対して「±１割」の文字数をもつ参照レコードを抽出し、抽出した参照レコードの「実際の処理時間」の中央値を算出する（Ｓ３５）。
【００８３】
次に、処理順決定ワーカー７２Ａは、Ｓ３４〜Ｓ３５の各処理で算出した各要素における「実際の処理時間」の中央値を算出し、対象ファイルのメタ情報から解析したファイル傾向別の予想処理時間とする（Ｓ３６）。
【００８４】
次に、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３に対して、リクエストのメッセージ（投入されたジョブ）のユーザ情報（ユーザＩＤ）に基づき、ユーザが上述した対象ファイルに対応するファイルの処理結果を利用したときの利用履歴を取得する（Ｓ３７）。Ｓ３７の処理では、処理順決定ワーカー７２Ａは、ユーザが対象ファイルに対応するファイル（処理結果）を、実際に画像形成装置１３等を介して取得したときのジョブ履歴を取得する。
【００８５】
次に、処理順決定ワーカー７２Ａは、Ｓ３７の処理で取得したユーザの利用履歴に基づき、ユーザの予想利用時間を算出する（Ｓ３８）。ユーザの予想利用時間とは、例えばジョブ投入後にユーザの処理結果に対する利用が予想される時間である。
【００８６】
Ｓ３８の処理では、処理順決定ワーカー７２Ａは、例えば解析した対象ファイルのメタ情報と、ユーザの利用履歴との相関関係を分析して、各条件の標準偏差や相関係数を取得し、ユーザの予想利用時間を算出する。なお、Ｓ３８の処理については後述する。
【００８７】
次に、処理順決定ワーカー７２Ａは、Ｓ３６の処理で算出したファイル傾向別の予想処理時間や、Ｓ３８の処理で算出したユーザの予想利用時間、ジョブ投入時刻等に基づき、リクエストのメッセージの処理を開始する処理開始時刻を求める（Ｓ３９）。
【００８８】
Ｓ３９の処理では、ジョブ投入時刻とユーザの予想利用時間とに基づいて、ジョブの処理が終了する予想終了時刻を算出する。また、予想終了時刻からファイル傾向別の予想処理時刻を引いた時刻を、予想終了時刻に間に合うように処理を開始するための処理開始時刻（理想処理開始時刻）とする。
【００８９】
次に、処理順決定ワーカー７２Ａは、ジョブ情報記憶部８４からジョブの実施状態が「実行中」のジョブ情報（例えば、ジョブＩＤ）を取得し（Ｓ４０）、メタ情報管理テーブル７３から実行中ジョブの「予想処理時間」等を取得する（Ｓ４１）。また、処理順決定ワーカー７２Ａは、ジョブ情報記憶部８４からジョブの実施状態が「処理待ち」のジョブ情報（例えば、ジョブＩＤ）を取得し（Ｓ４２）、メタ情報管理テーブル７３から処理待ちジョブの「予想処理時間」等を取得する（Ｓ４３）。
【００９０】
次に、処理順決定ワーカー７２Ａは、Ｓ４１の処理やＳ４３の処理で取得した情報に基づき、リクエストのメッセージ（投入されたジョブ）の直後に処理が終了するジョブを特定する（Ｓ４４）。Ｓ４４の処理では、リクエストのメッセージ（投入されたジョブ）の処理開始時刻と、例えば処理待ちジョブの予想終了時刻とを参照し、リクエストのメッセージ（投入されたジョブ）の直後に来る処理待ちジョブを特定する。
【００９１】
次に、処理順決定ワーカー７２Ａは、Ｓ４４の処理で特定した処理待ちジョブの処理ポイントに基づき、リクエストのメッセージ（投入されたジョブ）の処理ポイントを決定する（Ｓ４５）。例えば処理ポイントの順番に処理が実行されるものとし、Ｓ４５の処理では、Ｓ４４の処理で特定した処理待ちジョブの処理ポイントよりも１ポイント低い値となるように処理ポイントを決定する。これにより、Ｓ４４の処理で特定した処理待ちジョブよりも早く処理を開始するように設定する。なお、Ｓ４４〜Ｓ４５の処理については後述する。
【００９２】
次に、処理順決定ワーカー７２Ａは、Ｓ４５の処理で決定した処理ポイントを、ジョブ情報記憶部８４のリクエストのメッセージ（投入されたジョブ）のリクエスト情報として更新する（Ｓ４６）。
【００９３】
＜予想利用時間を算出するフローチャート＞
次に、上述した図８のＳ３８の処理において、ユーザの予想利用時間を算出する処理の流れについて説明する。図９は、予想利用時間を算出するフローチャートの一例を示す図である。
【００９４】
図９に示すように、処理順決定ワーカー７２Ａは、メタ情報管理テーブル７３からユーザの利用履歴を取得し、取得した利用履歴を用いてユーザの統計情報を取得する（Ｓ５０）。Ｓ５０の処理では、ユーザの利用履歴から「実際の処理時間」や所定の処理時間がかかった回数等に基づき、ユーザの統計情報を生成する。
【００９５】
処理順決定ワーカー７２Ａは、ユーザの統計情報を参照して、例えば「実際の処理時間」とその処理時間がかかった回数とにおいて、処理時間の標準偏差を求め、処理時間（利用時間）全体に偏りがあるか判断する（Ｓ５１）。
【００９６】
処理順決定ワーカー７２Ａは、利用時間全体に偏りがないと判断すると（Ｓ５１において、ＮＯ）、ユーザの利用履歴から抽出する検索条件を付加して（Ｓ５２）、Ｓ５１の処理に戻る。Ｓ５２の処理で付加する検索条件としては、例えば、ジョブの種類（ファイル変換等の処理内容）、ジョブを実行したデバイスの種類（複合機、スマートフォン）、対象ファイルと一致するページ数や文字数等とすることが可能である。このように、検索条件を付加した場合に利用時間全体に偏りがあるか再度判断する。
【００９７】
また、処理順決定ワーカー７２Ａは、利用時間全体に偏りがあると判断すると（Ｓ５１において、ＹＥＳ）、その偏りがあった検索条件での利用時間の平均（あるいは最頻値）を算出し（Ｓ５３）、その利用時間の平均をユーザの予想利用時間とし、処理を終了する。なお、上述した検索条件を付加した場合でも偏りがない場合には、例えば検索条件を付加しない場合での利用時間の平均をユーザの予想利用時間としても良い。
【００９８】
＜利用時間全体の偏りについて＞
次に、上述した図９で判断した利用時間全体の偏りについて具体例を用いて説明する。図１０は、利用時間全体の偏りの具体例について説明するための図である。図１０（Ａ）〜１０（Ｄ）の例では、ユーザの統計情報として、ジョブが投入されてから所定の時間帯（「０〜２．５分後」、「２．５〜５分後」、「５〜７．５分後」、「７．５〜１０分後」）で、ユーザが変換後のファイルを使用したときの回数（例えば、印刷回数）を示している。
【００９９】
図１０（Ａ）は、検索条件を付加せずに所定の時間帯で、ユーザが変換後のファイルを使用したときの回数を示している。図１０（Ａ）の例では、所定の時間帯（「０〜２．５分後」、「２．５〜５分後」、「５〜７．５分後」、「７．５〜１０分後」）で標準偏差を算出すると、標準偏差は「３．５」となる。
【０１００】
ここで、処理順決定ワーカー７２Ａは、予め閾値（例えば「５」）を設定し、閾値以下の場合には偏りがなく、ユーザの利用時間に対して傾向がないと判断する。図１０（Ａ）の例では、標準偏差の値「３．５」は、閾値以下となるため、更に検索条件を付加する。
【０１０１】
図１０（Ｂ）は、ＰＤＦ印刷を行ったときに所定の時間帯で、ユーザが変換後のファイルを使用したときの回数を示している。図１０（Ｂ）の例では、ジョブの種類（ＰＤＦ印刷）を検索条件に加えた例を示している。図１０（Ｂ）において、所定の時間帯で標準偏差を算出すると標準偏差は「１．４」となり、閾値以下となるため、更に検索条件を付加する。
【０１０２】
図１０（Ｃ）は、クライアント端末１１からＰＤＦ印刷を行ったときに所定の時間帯で、ユーザが変換後のファイルを使用したときの回数を示している。図１０（Ｃ）の例では、ジョブを実行したデバイスの種類を検索条件に加えた例を示している。図１０（Ｃ）において、所定の時間帯で標準偏差を算出すると標準偏差は「２」となり、閾値以下となるため、更に検索条件を付加する。
【０１０３】
図１０（Ｄ）は、クライアント端末１１から８ページのＰＤＦ印刷を行ったときの所定の時間帯で、ユーザが変換後のファイルを使用したときの回数を示している。図１０（Ｄ）の例では、ページ数を検索条件に加えた例を示している。図１０（Ｄ）において、所定の時間帯で標準偏差を算出すると標準偏差は「５．６」となり、閾値以上となる。
【０１０４】
そこで、この場合には偏りがあり、ユーザの利用時間に対して傾向があると判断する。図１０（Ｄ）の例では、最頻値が「７分」であったため、例えばこの値を、このユーザのジョブ投入後の予想利用時間として判断することが可能である。
【０１０５】
＜変換ワーカー７２Ｂによる処理実行シーケンス＞
次に、上述した変換ワーカー７２Ｂにより実処理キュー７１Ｂに登録されたリクエストのメッセージを処理する流れについて説明する。図１１は、変換ワーカーによる処理実行シーケンスの一例を示す図である。なお、図１１の例では、実処理キュー７１Ｂと、変換ワーカー７２Ｂと、ジョブ情報記憶部８４と、メタ情報管理テーブル７３と、データストレージ８５とを示している。
【０１０６】
図１１に示すように、変換ワーカー７２Ｂは、実処理キュー７１Ｂにリクエストのメッセージが登録されると、例えば実処理キュー７１Ｂのメッセージ処理要求を受け付ける（Ｓ６０）。変換ワーカー７２Ｂは、Ｓ６０の処理で受け付けたメッセージ処理要求（例えば、ジョブＩＤ等）に基づき、ジョブ情報記憶部８４から処理ポイントを取得する（Ｓ６１）。
【０１０７】
変換ワーカー７２Ｂは、Ｓ６１の処理で取得した処理ポイントの減算処理（例えば１ポイントを減算する）を行う（Ｓ６２）。なお、変換ワーカー７２Ｂは、Ｓ６２の処理の後、ジョブ情報記憶部８４に減算した処理ポイントを反映する。
【０１０８】
変換ワーカー７２Ｂは、Ｓ６２の減算処理の結果、例えば処理ポイントが１ポイント以上ある場合には、実処理キュー７１Ｂにリクエストのメッセージを登録し直す（Ｓ６３）。これに対し、変換ワーカー７２Ｂは、Ｓ６２の減算処理の結果、例えば処理ポイントが０ポイントとなった場合には、リクエストのメッセージに対応する処理を行う（Ｓ６４）。
【０１０９】
変換ワーカー７２Ｂは、Ｓ６４の処理を実行すると、ジョブ情報記憶部８４のジョブの実施状態を「完了」等に更新する（Ｓ６５）。また、変換ワーカー７２Ｂは、メタ情報管理テーブル７３に「実際の処理時間」を反映する（Ｓ６６）。また、変換ワーカー７２Ｂは、Ｓ６４の処理を実行したファイルをデータストレージ８５に保存する（Ｓ６７）。
【０１１０】
＜処理ポイント決定処理＞
次に、上述した図８のＳ４０〜Ｓ４５に示す処理ポイント決定処理の具体例について説明する。図１２は、処理ポイント決定処理の具体例を示す図である。図１２の例では、例えば変換ワーカー７２Ｂとして、３つの変換ワーカー７２Ｂ−１〜７２Ｂ−３が存在している例を示している。
【０１１１】
なお、図１２（Ａ）は、変換ワーカー７２Ｂ−１〜７２Ｂ−３において現在実行中のジョブ（リクエストのメッセージに対応する処理）のタイムラインを示している。図１２（Ｂ）は、変換ワーカー７２Ｂ−１〜７２Ｂ−３において、現在実行中のジョブに加えて処理待ちジョブのタイムラインを示している。
【０１１２】
図１２（Ａ）の例では、変換ワーカー７２Ｂ−１〜７２Ｂ−３で現在実行中のリクエストのメッセージとして、それぞれジョブＸ〜Ｚが示されている。また、図１２（Ａ）の例では、ジョブＸ〜Ｚの開始時刻の他、予想終了時刻とが示されている。各ジョブ（リクエストのメッセージ）は、メタ情報管理テーブル７３の項目で「ジョブ処理開始時刻」と「予想処理時間」が保持されている。したがって、処理順決定ワーカー７２Ａは、各ジョブの予想終了時刻を算出することが可能である。
【０１１３】
図１２（Ｂ）の例では、図１２（Ａ）に示す現在実行中のジョブに、実処理キュー７１Ｂに登録されているリクエストのメッセージ（処理待ちジョブ）が加えられている。処理待ちジョブは、それぞれメタ情報管理テーブル７３に「ジョブの予想処理時間」が登録されている。また、その処理開始順は、ジョブ情報記憶部８４の「処理ポイント」の値の順番である。
【０１１４】
したがって、図１２（Ｂ）に示すように、実処理キュー７１Ｂに登録されている処理待ちジョブが、それぞれどの時間帯でどの変換ワーカー７２Ｂ−１〜７２Ｂ−３で処理が実行されるか特定することが可能となる。
【０１１５】
図１２（Ｂ）の例では、処理順決定ワーカー７２Ａにより、優先度決定キュー７１Ａに登録されたリクエストのメッセージ（例えば、ジョブＡ）の「ジョブ処理開始時刻（理想処理開始時刻）」を、図１２（Ｂ）のタイムラインの横軸に示した例を示している。図１２（Ｂ）のタイムラインからは、ジョブＡの処理開始の時刻を初めて越えるジョブとして、例えば変換ワーカー７２Ｂ−２が処理する予定の３つ目のジョブ（ジョブＦ）を特定することが可能である。
【０１１６】
そこで、処理順決定ワーカー７２Ａは、例えばジョブＡをジョブＦの直前に実行させる。そのため、処理順決定ワーカー７２Ａは、ジョブ情報記憶部８４からジョブＦの処理ポイントを参照し、ジョブＡの処理ポイントを、ジョブＦの処理ポイントより「１ポイント」小さい値となるような値に設定する。このように各ジョブの処理ポイントを設定することで、各ジョブを優先度に応じて処理することが可能となる。
【０１１７】
＜変換ワーカー７２Ｂによる処理ポイント減算処理の一例＞
次に、上述した変換ワーカー７２Ｂによる処理ポイント減算処理の一例について説明する。図１３は、変換ワーカーの処理ポイント減算処理の一例を示す図である。図１３（Ａ）は、実処理キュー７１Ｂにジョブが積まれている一例を示している。図１３（Ｂ）は、処理ポイント減算処理の後、ジョブが積み直された一例を示している。
【０１１８】
図１３（Ａ）の例では、変換ワーカー７２Ｂは、リクエストのメッセージとして、実処理キュー７１Ｂに積まれているジョブＡ〜Ｄ（ＪｏｂＡ〜ＪｏｂＤ）を矢印の順番で、処理を行おうとする。図１３（Ａ）の例では、変換ワーカー７２Ｂは、まずジョブＡの処理ポイント（ｐｒｉｏｒｉｔｙ＿ｐｏｉｎｔ）を参照し、減算処理を行う。変換ワーカー７２Ｂは、ジョブＡの処理ポイントが「２００→１９９」となるが、「０」よりも大きい値であるため、ジョブＡを実処理キュー７１Ｂに積み直す。
【０１１９】
図１３（Ｂ）の例では、実処理キュー７１Ｂに、変換ワーカー７２Ｂによる減算処理の後、ジョブＡが積み直された例を示している。変換ワーカー７２Ｂは、次にジョブＢについて処理ポイントを参照し、減算処理を行う。変換ワーカー７２Ｂは、ジョブＢの処理ポンとが「２５０→２４９」となるが、「０」よりも大きい値であるため、ジョブＢを実処理キュー７１Ｂに積み直す。このように、変換ワーカー７２Ｂは、実処理キュー７１Ｂに積まれているジョブの減算処理と積み直しを繰り返す。変換ワーカー７２Ｂは、処理ポイントが「０」となったジョブ（図１３（Ｂ）の例では、例えばジョブＣ）について対応する処理を行う。
【０１２０】
上述した減算処理では、変換ワーカー７２Ｂが処理ポイントを「１ポイント」ずつ減算したが、上述したリクエスト情報に処理ポイントとともに、ユーザのサービスレベルに応じて減算ポイントを設定しておくことも可能である。例えばユーザのサービスレベルに応じて、優先度の高いユーザの減算ポイントを「５ポイント」、「１０ポイント」等と設定することで、そのユーザの処理要求を更に迅速に処理することが可能となる。
【０１２１】
なお、本実施形態では、上述した減算処理や処理ポイントには限定されない。例えば優先度に置き換える文字等を用いることで、優先度を設定したり更新させても良い。
【０１２２】
＜ジョブ利用時の時刻＞
次に、上述したメタ情報管理テーブル７３に「ジョブ利用時の時刻」を書き込む例について説明する。図１４は、ジョブ利用時の時刻を書き込むシーケンスの一例を示す図である。なお、図１４の例では、ワークフロー制御部６５と、データストレージ８５と、メタ情報管理テーブル７３とを示している。
【０１２３】
図１４に示すように、ワークフロー制御部６５は、ユーザ操作により画像形成装置１３等を介して、変換ワーカー７２Ｂにより処理されたファイル（処理結果）の取得要求を受け付けた場合、データストレージ８５に対してファイルの取得要求を行う（Ｓ７０）。
【０１２４】
データストレージ８５は、ワークフロー制御部６５からファイルの取得要求を受け付けると、メタ情報管理テーブル７３の「ジョブ利用時の時刻」にファイルの取得要求を受け付けた時刻を書き込む（Ｓ７１）。これにより、ユーザが実際にジョブを利用した時刻を用いて、上述したユーザの利用時間の傾向を得ることが可能となる。
【０１２５】
なお、上述した実施形態では、ワーカー７２として処理順決定ワーカー７２Ａと変換ワーカー７２Ｂとを有する構成としたが、ワーカー７２として両方の機能を実現させても良い。
【０１２６】
上述した実施形態によれば、処理要求のメッセージ登録時に、処理履歴に基づきファイル傾向別に得られる予想処理時間と、ユーザの利用履歴から得られるユーザの予想利用時間とに基づき、処理要求の利用時間を推測して優先度を決定する。これにより、ユーザの待ち時間を減少することが可能となる。
【０１２７】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２８】
１  情報処理システム
１０  オフィス
１１  クライアント端末
１２  携帯端末
１３  画像形成装置
２０  サービス提供システム
２１  アクセス制御装置
２２  プリントサービス提供装置
２３  スキャンサービス提供装置
２４  他サービス提供装置
３１  入力装置
３２  表示装置
３３  ＲＡＭ
３４  ＲＯＭ
３５  ＨＤＤ
３６  ＣＰＵ
３７  通信Ｉ／Ｆ
３８  外部Ｉ／Ｆ
３８Ａ  記録媒体
４１  サービスアプリ
４２  プラットフォーム
４３  データ記憶部
５１  プリントサービスアプリ
５２  スキャンサービスアプリ
５３  その他のサービスアプリ
６１  認証処理部
６２  組織管理部
６３  ユーザ管理部
６４  機器管理部
６５  ワークフロー制御部（処理フロー制御手段の一例）
７１  メッセージキュー
７１Ａ  優先度決定キュー
７１Ｂ  実処理キュー
７２  ワーカー
７２Ａ  処理順決定ワーカー（第１の処理手段）
７２Ｂ  変換ワーカー（第２の処理手段）
７３  メタ情報管理テーブル
８１  組織情報記憶部
８２  ユーザ情報記憶部
８３  機器情報記憶部
８４  ジョブ情報記憶部
８５  データストレージ
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２０１１−３７０１９号公報
【図１】
2016058827.tif 000003
【図２】
2016058827.tif 000004
【図３】
2016058827.tif 000005
【図４】
2016058827.tif 000006
【図５】
2016058827.tif 000007
【図６】
2016058827.tif 000008
【図７】
2016058827.tif 000009
【図８】
2016058827.tif 000010
【図９】
2016058827.tif 000011
【図１０】
2016058827.tif 000012
【図１１】
2016058827.tif 000013
【図１２】
2016058827.tif 000014
【図１３】
2016058827.tif 000015
【図１４】
2016058827.tif 000016