(57)【要約】【課題】優先して処理するジョブの要求をユーザから受け付けることが可能な情報処理システムを提供することを課題とする。【解決手段】情報処理装置を含むように構成される情報処理システムであって、ユーザから受け付けたジョブを処理の種類により振り分ける管理手段と、処理の種類ごとに振り分けられたジョブを、処理する順番に保持する保持手段と、処理する順番にジョブを実行する実行手段とを備え、管理手段は、ジョブごとにジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測手段と、ユーザから優先して処理するジョブを受け付けた場合に、受け付けたジョブが優先して処理されるように処理する順番の割り込み位置を判断して割り込ませる割り込み判断手段とを有することにより、上記課題を解決する。【選択図】  図４
2017037469.tif 000002
【特許請求の範囲】
【請求項１】
一台以上の情報処理装置を含むように構成される情報処理システムであって、
ユーザから受け付けたジョブを処理の種類により振り分ける管理手段と、
処理の種類ごとに振り分けられた前記ジョブを、処理する順番に保持する保持手段と、
前記処理する順番に前記ジョブを実行する実行手段と
を備え、
前記管理手段は、前記ジョブごとに前記ジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測手段と、
ユーザから優先して処理するジョブを受け付けた場合に、受け付けた前記ジョブが優先して処理されるように前記処理する順番の割り込み位置を判断して割り込ませる割り込み判断手段と、
を有することを特徴とする情報処理システム。
【請求項２】
前記割り込み判断手段は、受け付けた前記ジョブ及び前記割り込み位置よりも前記処理する順番が前の前記ジョブの予測時間を前記予測時間テーブルから取得し、受け付けた前記ジョブに指定されている期日までに、受け付けた前記ジョブの処理が完了するかを判定すること
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記割り込み判断手段は、受け付けた前記ジョブに指定されている期日までに、受け付けた前記ジョブの処理が完了しないと判定した場合に、受け付けた前記ジョブの処理が期日までに完了しない可能性を前記ユーザに通知すること
を特徴とする請求項２記載の情報処理システム。
【請求項４】
前記割り込み判断手段は、受け付けた前記ジョブに指定されている期日までに、受け付けた前記ジョブの処理が完了しないと判定した場合に、前記保持手段及び前記実行手段を作成して冗長化し、受け付けた前記ジョブを冗長化した前記保持手段に保持させて、冗長化した前記実行手段に前記ジョブを実行させること
を特徴とする請求項２記載の情報処理システム。
【請求項５】
前記割り込み判断手段は、ユーザから優先して処理するジョブを受け付けた場合に、前記保持手段に保持されている他の優先して処理するジョブの後に、受け付けた前記ジョブが処理されるように前記処理する順番の割り込み位置を判断して割り込ませること
を特徴とする請求項１乃至４何れか一項記載の情報処理システム。
【請求項６】
前記割り込み判断手段は、受け付けた前記ジョブに期日が指定されている場合に、受け付けた前記ジョブが優先して処理するジョブであると判断すること
を特徴とする請求項１乃至５何れか一項記載の情報処理システム。
【請求項７】
一台以上の情報処理装置を含むように構成される情報処理システムが実行する優先処理方法であって、
ユーザから受け付けたジョブを処理の種類により振り分ける振り分けステップと、
処理の種類ごとに振り分けられた前記ジョブを、処理する順番で保持手段に保持する保持ステップと、
前記処理する順番に実行手段が前記ジョブを実行する実行ステップと
を有し、
前記振り分けステップは、前記ジョブごとに前記ジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測ステップと、
ユーザから優先して処理するジョブを受け付けた場合に、受け付けた前記ジョブが優先して処理されるように前記処理する順番の割り込み位置を判断して割り込ませる割り込み判断ステップと、
を有することを特徴とする優先処理方法。
【請求項８】
ユーザから受け付けたジョブを処理の種類により振り分ける管理手段と、
処理の種類ごとに振り分けられた前記ジョブを、処理する順番に保持する保持手段と、
前記処理する順番に前記ジョブを実行する実行手段と
を備え、
前記管理手段は、前記ジョブごとに前記ジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測手段と、
ユーザから優先して処理するジョブを受け付けた場合に、受け付けた前記ジョブが優先して処理されるように前記処理する順番の割り込み位置を判断して割り込ませる割り込み判断手段と、
を有することを特徴とする情報処理装置。
【請求項９】
コンピュータを、
ユーザから受け付けたジョブを処理の種類により振り分ける管理手段、
処理の種類ごとに振り分けられた前記ジョブを、処理する順番に保持する保持手段、
前記処理する順番に前記ジョブを実行する実行手段
として機能させ、
前記管理手段は、前記ジョブごとに前記ジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測手段と、
ユーザから優先して処理するジョブを受け付けた場合に、受け付けた前記ジョブが優先して処理されるように前記処理する順番の割り込み位置を判断して割り込ませる割り込み判断手段と、
を有することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理システム、優先処理方法、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングシステムによりクラウドプリントサービスやクラウドスキャンサービスなどのクラウドサービスが提供されるようになった。
【０００３】
例えばユーザからのジョブ投入を受け付け、ジョブの処理に対応したキューにジョブをキューイングし、そのキューに対応したＷｏｒｋｅｒ（ワーカ）が非同期にジョブの処理を実行する情報処理システムは従来から知られている（例えば特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の情報処理システムではユーザから受け付けたジョブを順番にキューイングして処理していた。したがって、従来の情報処理システムは、あるジョブを優先して処理する要求をユーザから受け付ける仕組みがなかった。このように、従来の情報処理システムを利用するユーザは、あるジョブを優先して処理する要求を行うことができなかった。
【０００５】
本発明の実施の形態は上記の点に鑑みなされたもので、優先して処理するジョブの要求をユーザから受け付けることが可能な情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本願請求項１は、一台以上の情報処理装置を含むように構成される情報処理システムであって、ユーザから受け付けたジョブを処理の種類により振り分ける管理手段と、処理の種類ごとに振り分けられた前記ジョブを、処理する順番に保持する保持手段と、前記処理する順番に前記ジョブを実行する実行手段とを備え、前記管理手段は、前記ジョブごとに前記ジョブの実行に掛かる予測時間を予測して予測時間テーブルに格納する予測手段と、ユーザから優先して処理するジョブを受け付けた場合に、受け付けた前記ジョブが優先して処理されるように前記処理する順番の割り込み位置を判断して割り込ませる割り込み判断手段と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明の実施の形態によれば、優先して処理するジョブの要求をユーザから受け付けることが可能である。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態に係るシステムの一例の構成図である。
【図２】コンピュータの一例のハードウェア構成図である。
【図３】第１の実施形態に係るサービス提供システムの一例の処理ブロック図である。
【図４】第１の実施形態に係るサービス提供システムにおいてジョブ実行処理を実現する一例の処理ブロック図である。
【図５】印刷アップロード画面の一例のイメージ図である。
【図６】確認ダイアログが表示された印刷アップロード画面の一例のイメージ図である。
【図７】ドキュメント処理要求管理部の処理手順の一例を表したフローチャートである。
【図８】ジョブ情報の一例の構成図である。
【図９】処理時間見積テーブルの一例の構成図である。
【図１０】ジョブ予測処理の一例のフローチャートである。
【図１１】予測時間テーブルの一例の構成図である。
【図１２】割り込み判断処理の一例のフローチャートである。
【図１３】割り込みジョブの割り込み位置を決める処理の一例の説明図である。
【図１４】割り込みジョブが期日までに完了するかを判定する処理の一例の説明図である。
【図１５】割り込み判断処理の他の例のフローチャートである。
【図１６】冗長化したキュー及びワーカにより割り込みジョブを処理する手順を表した一例の説明図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面を参照しながら説明する。
［第１の実施形態］
＜システム構成＞
図１は第１の実施形態に係るシステムの一例の構成図である。図１のシステム１０００は例えばオフィス内ネットワーク等のネットワークＮ１と、クラウドサービスに代表されるサービス提供システム１１００のネットワークＮ２と、インターネットなどのネットワークＮ３とを有する。
【００１０】
ネットワークＮ１は、ファイヤウォールＦＷの内側にあるプライベートなネットワークである。ネットワークＮ１にはクライアント端末１０１１、携帯端末１０１２、複合機などの画像形成装置１０１３が接続されている。クライアント端末１０１１、携帯端末１０１２、複合機などの画像形成装置１０１３は無線による通信の手段または有線による通信の手段を有する。
【００１１】
クライアント端末１０１１は端末装置の一例である。クライアント端末１０１１はデスクトップＰＣやノートＰＣなどのユーザが操作可能な端末である。携帯端末１０１２は端末装置の一例である。携帯端末１０１２はスマートフォン、携帯電話、タブレット端末などのユーザが携帯可能な端末である。
【００１２】
画像形成装置１０１３は複合機などの画像形成機能を有する装置である。画像形成装置１０１３は複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板などの画像形成に係る処理を行う装置である。図１では、一例としてクライアント端末１０１１、携帯端末１０１２、画像形成装置１０１３がそれぞれ一台である例を示しているが複数台であってもよい。
【００１３】
ネットワークＮ２はアクセス制御装置１０２１によってネットワークＮ３に接続されている。ネットワークＮ２にはプリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４が接続されている。
【００１４】
図１のシステム１０００は、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４がサービス提供システム１１００を実現している。
【００１５】
アクセス制御装置１０２１はプリントサービス提供装置１０２２が提供するプリントサービスやスキャンサービス提供装置１０２３が提供するスキャンサービスなどへのログインを制御する。
【００１６】
アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、一台以上の情報処理装置によって実現される。
【００１７】
アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は一台の情報処理装置に統合して実現してもよいし、複数の情報処理装置に分散して実現してもよい。
【００１８】
ネットワークＮ２側のサービスの一部はネットワークＮ２以外にあってもよい。携帯端末１０１２は、オフィス内ネットワーク等のネットワークＮ１以外にあってもよい。図１のシステム１０００では携帯端末１０１２がネットワークＮ１と、ネットワークＮ３とにある例を示している。
【００１９】
＜ハードウェア構成＞
クライアント端末１０１１、携帯端末１０１２、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、例えば図２に示すハードウェア構成のコンピュータにより実現される。
【００２０】
図２はコンピュータの一例のハードウェア構成図である。コンピュータ１５００は、入力装置１５０１、表示装置１５０２、外部Ｉ／Ｆ１５０３、ＲＡＭ（Random Access Memory）１５０４、ＲＯＭ（Read Only Memory）１５０５、ＣＰＵ（Central Processing Unit）１５０６、通信Ｉ／Ｆ１５０７、及びＨＤＤ（Hard Disk Drive）１５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２１】
入力装置１５０１はキーボードやマウス、タッチパネルなどを含み、ユーザが各操作信号を入力するのに用いられる。表示装置１５０２はディスプレイ等を含み、コンピュータ１５００による処理結果を表示する。なお、入力装置１５０１及び表示装置１５０２は必要なときに接続して利用する形態であってもよい。
【００２２】
通信Ｉ／Ｆ１５０７はコンピュータ１５００をネットワークＮ１〜Ｎ３に接続するインタフェースである。これにより、コンピュータ１５００は、通信Ｉ／Ｆ１５０７を介してデータ通信を行うことができる。
【００２３】
ＨＤＤ１５０８はプログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータにはコンピュータ１５００全体を制御する基本ソフトウェアであるＯＳ（Operating System）やＯＳ上において各種機能を提供するアプリケーションソフトウェアなどがある。なお、コンピュータ１５００はＨＤＤ１５０８に替え、記憶媒体としてフラッシュメモリを用いるドライブ装置（例えばソリッドステートドライブ：ＳＳＤ）を利用するものであってもよい。
【００２４】
外部Ｉ／Ｆ１５０３は、外部装置とのインタフェースである。外部装置には、記録媒体１５０３ａなどがある。これにより、コンピュータ１５００は外部Ｉ／Ｆ１５０３を介して記録媒体１５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体１５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード（SD Memory card）、ＵＳＢメモリ（Universal Serial Bus memory）などがある。
【００２５】
ＲＯＭ１５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）である。ＲＯＭ１５０５には、コンピュータ１５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、ネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ１５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）である。
【００２６】
ＣＰＵ１５０６は、ＲＯＭ１５０５やＨＤＤ１５０８などの記憶装置からプログラムやデータをＲＡＭ１５０４上に読み出し、処理を実行することで、コンピュータ１５００全体の制御や機能を実現する演算装置である。
【００２７】
クライアント端末１０１１、携帯端末１０１２、アクセス制御装置１０２１、プリントサービス提供装置１０２２、スキャンサービス提供装置１０２３、他サービス提供装置１０２４は、コンピュータ１５００のハードウェア構成により、後述するような各種処理を実現できる。
【００２８】
＜ソフトウェア構成＞
《サービス提供システム》
図１のサービス提供システム１１００は例えば図３に示すような処理ブロックにより実現される。図３は第１の実施形態に係るサービス提供システムの一例の処理ブロック図である。
【００２９】
図３のサービス提供システム１１００は、プログラムを実行することにより、サービスアプリ１１０１、プラットフォーム１１０２、管理データ記憶部１１０３及びプラットフォームＡＰＩ（Application Programming Interface）１１０４を実現している。
【００３０】
サービスアプリ１１０１は、プリントサービスアプリ１１１１、スキャンサービスアプリ１１１２、１つ以上のその他のサービスアプリ１１１３を一例として有する。
【００３１】
プリントサービスアプリ１１１１はプリントサービスを提供するアプリケーションである。スキャンサービスアプリ１１１２はスキャンサービスを提供するアプリケーションである。その他のサービスアプリ１１１３は何らかのサービスを提供するアプリケーションである。
【００３２】
プラットフォームＡＰＩ１１０４はプリントサービスアプリ１１１１、スキャンサービスアプリ１１１２、その他のサービスアプリ１１１３などのサービスアプリ１１０１が、プラットフォーム１１０２を利用するためのインタフェースである。プラットフォームＡＰＩ１１０４はサービスアプリ１１０１からの要求をプラットフォーム１１０２が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。なお、サービス提供システム１１００を複数の情報処理装置に分散して構成する場合、プラットフォームＡＰＩ１１０４にはネットワーク経由で利用可能な例えばＷｅｂ  ＡＰＩを利用できる。
【００３３】
プラットフォーム１１０２は、認証処理部１１２１、機器通信部１１２２、セッション管理部１１２３、処理制御部１１２４、データ処理部１１２５を有する。データ処理部１１２５は、メッセージキュー１１３１、１つ以上のワーカ（Ｗｏｒｋｅｒ）１１３２を有する。
【００３４】
認証処理部１１２１はクライアント端末１０１１、携帯端末１０１２や画像形成装置１０１３などのオフィス機器からのログイン要求に基づいて認証を実行する。オフィス機器はクライアント端末１０１１、携帯端末１０１２、画像形成装置１０１３などの総称である。認証処理部１１２１は例えばユーザ管理情報記憶部１１４２にアクセスしてユーザを認証する。また、認証処理部１１２１は組織管理情報記憶部１１４１、機器管理情報記憶部１１４３にアクセスして画像形成装置１０１３などを認証する。
【００３５】
機器通信部１１２２はオフィス機器との通信を実行する。セッション管理部１１２３はオフィス機器とのセッションを管理する。処理制御部１１２４はサービスアプリ１１０１からの要求に基づいてデータ処理部１１２５が実行するデータ処理を制御する。データ処理部１１２５は処理制御部１１２４の制御によりデータ処理を実行する。
【００３６】
メッセージキュー１１３１はジョブの処理の種類（ジョブタイプ）に対応するキューを有し、処理制御部１１２４からジョブをキューイングされる。キューはジョブを処理する順番に保持する。ワーカ１１３２は対応するキューを監視している。ワーカ１１３２は監視しているキューにジョブがキューイングされると、そのジョブのジョブタイプに応じた処理を行う。
【００３７】
管理データ記憶部１１０３は組織管理情報記憶部１１４１、ユーザ管理情報記憶部１１４２、機器管理情報記憶部１１４３、ジョブ情報管理記憶部１１４４、共有ファイルストレージ１１４５を有する。
【００３８】
組織管理情報記憶部１１４１は、組織管理情報を記憶する。ユーザ管理情報記憶部１１４２は、ユーザ管理情報を記憶する。機器管理情報記憶部１１４３は機器管理情報を記憶する。
【００３９】
ジョブ情報管理記憶部１１４４は後述のジョブ情報テーブル、処理時間見積テーブル及び予測時間テーブルを記憶している。共有ファイルストレージ１１４５はキューイングされたジョブの電子文書ファイル等のファイルを記憶する。
【００４０】
サービス提供システム１１００は、例えば認証やデータ処理といった機能を提供するクラウド基盤と、クラウド基盤の機能を利用してプリントサービス等のサービス提供を行うサービス群として機能する。クラウド基盤は、例えばプラットフォーム１１０２、管理データ記憶部１１０３、プラットフォームＡＰＩ１１０４によって構成される。サービス群は例えばサービスアプリ１１０１によって構成される。
【００４１】
《ジョブ実行機能》
第１の実施形態に係るサービス提供システム１１００は図４に示す処理ブロックによりジョブ実行処理を実現している。図４は第１の実施形態に係るサービス提供システムにおいてジョブ実行処理を実現する一例の処理ブロック図である。
【００４２】
図４のサービス提供システム１１００は、フロントエンドアプリ１１１１ａ、プラットフォーム１１０２、ジョブ情報管理記憶部１１４４及び共有ファイルストレージ１１４５により、ユーザからのジョブを実行する。
【００４３】
図４では、プリントサービスアプリ１１１１の一機能であるフロントエンドアプリ１１１１ａを表しているが、スキャンサービスアプリ１１１２や、その他のサービスアプリ１１１３の一機能であるフロントエンドアプリであってもよい。
【００４４】
また、図４のサービス提供システム１１００はプラットフォーム１１０２のドキュメント処理要求管理部１１２４ａ、メッセージキュー１１３１及びワーカ１１３２を利用してユーザからのジョブを実行する。ドキュメント処理要求管理部１１２４ａは処理制御部１１２４の一機能である。
【００４５】
フロントエンドアプリ１１１１ａはクライアント端末１０１１などの端末装置から送信されたジョブを受信し、ジョブに含まれる電子文書ファイル等を共有ファイルストレージ１１４５に登録する機能を備える。また、フロントエンドアプリ１１１１ａは必要な処理を判断して、プラットフォーム１１０２にジョブの処理を実行させる制御を行う。
【００４６】
フロントエンドアプリ１１１１ａは判断した必要な処理を「ｄｏｃ２ｒｐｃｓ」のようなジョブタイプのパラメータにして、ドキュメント処理要求管理部１１２４ａへのジョブ情報に埋め込む。なお、ジョブタイプのパラメータの詳細は後述する。
【００４７】
ドキュメント処理要求管理部１１２４ａはジョブタイプをパラメータとして含むジョブ情報を受け付ける。ドキュメント処理要求管理部１１２４ａはフロントエンドアプリ１１１１ａから受け付けたジョブ情報を解析し、ジョブタイプが合致するメッセージキュー１１３１のキューに、ジョブを入れる。また、ドキュメント処理要求管理部１１２４ａは、メッセージキュー１１３１のキューへジョブを入れることに並行して、ジョブ情報管理記憶部１１４４にジョブ情報を登録する。
【００４８】
メッセージキュー１１３１は複数のジョブタイプに対応するキューを有する。ワーカ１１３２は、そのワーカ１１３２に対応するキューを監視しており、キューにジョブが入ると、ジョブ情報管理記憶部１１４４に登録された、そのジョブに対応するジョブ情報を取りに行く。ワーカ１１３２は、ジョブ情報管理記憶部１１４４から取得したジョブ情報に基づいて、データ変換などの処理を行う。
【００４９】
例えばデータ変換の処理を行う場合、ワーカ１１３２はジョブ情報に含まれるデータのＵＲＩに基づいて、共有ファイルストレージ１１４５からファイルを取得する。ワーカ１１３２は取得したファイルのデータ変換を行う。ワーカ１１３２は、変換後のファイルを共有ファイルストレージ１１４５に登録し、ジョブ情報管理記憶部１１４４に登録されているジョブ情報を更新する。
【００５０】
第１の実施形態に係るサービス提供システム１１００は、優先して処理するジョブの要求をユーザから受け付けるため、ドキュメント処理要求管理部１１２４ａにジョブ予測部１２０１と割り込み判断部１２０２とを有している。また、ジョブ情報管理記憶部１１４４にはジョブ情報テーブル１２０３に加えて、処理時間見積テーブル１２０４と予測時間テーブル１２０５とを記憶している。
【００５１】
第１の実施形態に係るサービス提供システム１１００は、ジョブ予測部１２０１、割り込み判断部１２０２、処理時間見積テーブル１２０４及び予測時間テーブル１２０５を利用して、後述のように、優先して処理するジョブの要求をユーザから受け付ける。
【００５２】
＜処理の詳細＞
以下では第１の実施形態に係るサービス提供システム１１００のジョブ実行処理の詳細について説明する。
【００５３】
例えばユーザはクライアント端末１０１１に表示された図５のような印刷アップロード画面２０００を操作し、ジョブをサービス提供システム１１００に登録できる。図５は印刷アップロード画面の一例のイメージ図である。なお、ここではジョブをサービス提供システム１１００に登録する画面の一例として印刷アップロード画面２０００を示したが他の画面であってもよい。
【００５４】
図５の印刷アップロード画面２０００は印刷ファイル、印刷条件を指定する欄と、割り込み印刷を指定する欄と、が含まれる。割り込み印刷を指定する欄には、印刷を終える期日の指定欄が含まれる。図５では、期日までの時間により段階的に追加料金が発生する例を示している。
【００５５】
ユーザは印刷ファイル、印刷条件を指定すると共に、必要に応じて割り込み印刷を指定してアップロードボタン２００１を押下することで、ジョブをサービス提供システム１１００に登録できる。なお、割り込み印刷が指定された状態でアップロードボタン２００１が押下されると、クライアント端末１０１１は図６に示すように確認ダイアログ２００２を表示してもよい。確認ダイアログ２００２を表示することで、クライアント端末１０１１は追加料金が発生することをユーザに認識させることができる。
【００５６】
図５、図６の印刷アップロード画面２０００を利用することで、第１の実施形態のシステム１０００は追加料金が発生してもジョブを早く処理したいというユーザからの要求を受け付けることができる。
【００５７】
クライアント端末１０１１からのジョブを受信したドキュメント処理要求管理部１１２４ａは例えば図７に示すような処理を行う。図７はドキュメント処理要求管理部の処理手順の一例を表したフローチャートである。
【００５８】
ステップＳ１１において、ドキュメント処理要求管理部１１２４ａはフロントエンドアプリ１１１１ａから図８に示すようなユーザからのジョブ情報を受信する。図８はジョブ情報の一例の構成図である。なお、図８のジョブ情報はユーザにより割り込み印刷が指定された例であるため、印刷を終える期日「delivery_at」２５０１が指定されている。図８のジョブ情報はジョブを引き受けた日時「created_at」２５０２から２０分後に印刷を終える期日が指定された例を示している。
【００５９】
ステップＳ１２に進み、ドキュメント処理要求管理部１１２４ａは、ジョブ情報管理記憶部１１４４のジョブ情報テーブル１２０３にジョブ情報を登録する。この際、ジョブ情報のジョブＩＤ「_id」２５０３が発行される。
【００６０】
ステップＳ１３に進み、ドキュメント処理要求管理部１１２４ａのジョブ予測部１２０１は、ジョブの完了に掛かる時間を予測するジョブ予測処理を行う。ジョブ予測処理は例えば図９に示すような処理時間見積テーブル１２０４を利用して行う。
【００６１】
図９は処理時間見積テーブルの一例の構成図である。図９の処理時間見積テーブル１２０４はジョブタイプごとにジョブの完了に掛かる予測時間が見積処理時間として登録されている。なお、処理時間見積テーブル１２０４への情報の登録は、設計者が新しいジョブタイプのワーカ１１３２を追加した際に、新しいジョブタイプと見積処理時間とを登録してもよい。また、処理時間見積テーブル１２０４に登録されたジョブタイプごとの見積処理時間はワーカ１１３２が日々の処理時間を集計し、更新してもよい。
【００６２】
図９の処理時間見積テーブルはジョブタイプごとに見積処理時間が登録されている例を示したが、例えばジョブタイプを更にファイルサイズやページ数などで分け、見積処理時間を登録してもよい。
【００６３】
なお、図９に示したジョブタイプは例えば以下に示すような処理を表している。
「ｉｍａｇｅ２ｐｄｆ」画像ファイルをＰＤＦに変換する処理
「ｈｔｍｌ２ｐｄｆ」ＨＴＭＬ（Hyper Text Markup Language）ファイルをＰＤＦに変換する処理
「ｐｄｆ２ｒｐｃｓ」ＰＤＦ（Portable Document Format）ファイルをＲＰＣＳに変換する処理
「ｐｄｆ２ｐｃｌ」ＰＤＦ（Portable Document Format）ファイルをＰＣＬに変換する処理
「ｄｏｃ２ｒｐｃｓ」ドキュメントファイルなどの電子文書ファイルをＲＰＣＳに変換する処理
「ｄｏｃ２ｐｃｌ」ドキュメントファイルなどの電子文書ファイルをＰＣＬに変換する処理
「ｓｅｎｄｍａｉｌ」電子メールに添付してファイルを送信する処理
ステップＳ１３のジョブ予測処理は例えば図１０に示すような手順で処理される。図１０はジョブ予測処理の一例のフローチャートである。ステップＳ２１においてジョブ予測部１２０１はジョブ情報からジョブを構成するタスクのジョブタイプを抽出する。例えば図８のジョブ情報ではジョブタイプ「ｈｔｍｌ２ｐｄｆ」と「ｐｄｆ２ｐｃｌ」とが抽出される。
【００６４】
ステップＳ２２〜Ｓ２４において、ジョブ予測部１２０１はジョブ情報から抽出したジョブタイプの見積処理時間を処理時間見積テーブル１２０４から取得する。例えば図９の処理時間見積テーブル１２０４の場合、ジョブ予測部１２０１はジョブ情報から抽出したジョブタイプ「ｈｔｍｌ２ｐｄｆ」の見積処理時間「３分」とジョブタイプ「ｐｄｆ２ｐｃｌ」の見積処理時間「１２分」とを取得する。
【００６５】
そして、ジョブ予測部１２０１は処理時間見積テーブル１２０４から取得した見積処理時間を加算してジョブの予測時間を算出する。図９の処理時間見積テーブル１２０４の場合は見積処理時間「３分」と見積処理時間「１２分」とを加算した１５分がジョブの予測時間となる。
【００６６】
ステップＳ２５において、ジョブ予測部１２０１は図１１に示すような予測時間テーブル１２０５に、算出したジョブの予測時間を格納する。図１１は予測時間テーブルの一例の構成図である。図１１の予測時間テーブル１２０５はジョブごとに算出した予測時間が登録されている。
【００６７】
図７のステップＳ１４において、ドキュメント処理要求管理部１１２４ａの割り込み判断部１２０２は、処理を終える期日が指定されたジョブ（割り込みジョブ）に対し、図１２に示すような割り込み判断処理を行う。
【００６８】
図１２は割り込み判断処理の一例のフローチャートである。図１２の割り込み判断処理は割り込みジョブの割り込み位置を決めるロジックと、割り込みジョブが期日までに完了するかを判定するロジックと、を含む。図１２のステップＳ３１〜Ｓ３３の処理は割り込みジョブの割り込み位置を決めるロジックに対応する。ステップＳ３４〜Ｓ３７の処理は割り込みジョブが期日までに完了するかを判定するロジックに対応する。
【００６９】
ステップＳ３１、Ｓ３２において、割り込み判断部１２０２は該当キューの最後尾から順にジョブを取得し、該当キューに挿入済みの割り込みジョブを見つける。ステップＳ３３において、割り込み判断部１２０２は該当キューに挿入済みの割り込みジョブの後ろに新しい割り込みジョブを挿入する。
【００７０】
図１３は割り込みジョブの割り込み位置を決める処理の一例の説明図である。図１３ではジョブＩＤ「７」の割り込みジョブをキュー「Ｃ」に挿入する例を示している。図１３ではジョブＩＤ「６」「５」「２」のジョブが割り込みジョブではない。したがって、割り込み判断部１２０２はジョブＩＤ「１」の割り込みジョブを見つけ、ジョブＩＤ「１」の割り込みジョブの後ろにジョブＩＤ「７」の割り込みジョブが挿入される。
【００７１】
したがって、図１３の例ではジョブＩＤ「７」の割り込みジョブをジョブＩＤ「１」の割り込みジョブの後ろに割り込ませることができるため、割り込みジョブを優先して処理できる。
【００７２】
ただし、既に大量の割り込みジョブが該当キューに挿入済みである場合や期日までの期間が短い場合は期日までにジョブが完了しない可能性がある。そこで、割り込み判断部１２０２は割り込みジョブが期日までに完了するかを判定する。
【００７３】
ステップＳ３４において割り込み判断部１２０２は該当キューに挿入済みだった割り込みジョブのジョブＩＤを取得する。ステップＳ３５において割り込み判断部１２０２は予測時間テーブル１２０５を利用して、該当キューに挿入済みだった割り込みジョブの予測時間を算出する。また、割り込み判断部１２０２はステップＳ３３で挿入した新しい割り込みジョブの予測時間を取得する。
【００７４】
割り込み判断部１２０２は、該当キューに挿入済みだった割り込みジョブの予測時間とステップＳ３３で挿入した新しい割り込みジョブの予測時間とを加算し、新しい割り込みジョブの期日を超えていないかを判定する。
【００７５】
新しい割り込みジョブの期日を超えていれば、割り込み判断部１２０２はステップＳ３６において期日までに処理が完了しない可能性があることをユーザに通知する。新しい割り込みジョブの期日を超えていなければ、割り込み判断部１２０２はステップＳ３７において割り込み処理を完了する。図１４は割り込みジョブが期日までに完了するかを判定する処理の一例の説明図である。図１４の例では、該当キューに挿入済みだった割り込みジョブの予測時間とステップＳ３３で挿入した新しい割り込みジョブの予測時間との合計予測時間（１７分）が、新しい割り込みジョブの期日（１５分後）を超えている。このため割り込み判断部１２０２はステップＳ３６において期日までに処理が完了しない可能性があることをユーザに通知する。
【００７６】
なお、第１の実施形態に掛かるサービス提供システム１１００において課金は例えば以下のように行う。例えば、どのユーザが、いつジョブを投入し、そのジョブがいつ処理されたかは、ジョブ情報管理記憶部１１４４のジョブ情報テーブル１２０３に例えば図８に示すようなジョブ情報として格納されている。
【００７７】
例えば図８のジョブ情報において課金に必要な項目は以下の通りである。
「ｏｒｇａｎｉｚａｔｉｏｎ＿ｉｄ＋ｕｓｅｒ＿ｉｄ」ジョブをリクエストしたユーザ
「ｃｒｅａｔｅｄ＿ａｔ」ジョブを引き受けた日時
「ｕｐｄａｔｅｄ＿ａｔ」ジョブ情報が変更された日時
「ｓｔａｔｕｓ」ジョブ受付（ａｃｃｅｐｔｅｄ）／ジョブ処理中（ｄｏｉｎｇ）／ジョブ完了（ｄｏｎｅ）／エラー（ｅｒｒｏｒ）
「ｄｅｌｉｖｅｒｙ＿ａｔ」ユーザがリクエストした期日
割り込みジョブの要求に対する課金は、例えば以下に示すような手順でジョブ情報から情報を収集／集計して行う。なお、割り込みジョブの要求に対する課金の処理は運用者が手作業で行ってもよいし、スクリプト等で自動化してもよい。
【００７８】
まず、割り込みジョブの要求に対する課金の処理では、ジョブ情報テーブル１２０３から「ｓｔａｔｕｓ」が「ｄｏｎｅ」である請求先の「ｏｒｇａｎｉｚａｔｉｏｎ＿ｉｄ＋ｕｓｅｒ＿ｉｄ」であるジョブ情報を読み出す。
【００７９】
次に、割り込みジョブの要求に対する課金の処理では、読み出したジョブ情報が割り込みジョブであるか否かを「ｄｅｌｉｖｅｒｙ＿ａｔ」に日付が指定されているか否かにより判断する。なお、期日までの時間により段階的に追加料金が発生する料金体系である場合は「ｄｅｌｉｖｅｒｙ＿ａｔ−ｃｒｅａｔｅｄ＿ａｔ」により差日を求め、以下のように追加料金を設定してもよい。
「１０分以内」ディスカウント１００％ＵＰ
「３０分以内」ディスカウント５０％ＵＰ
「１時間以内」ディスカウント２５％ＵＰ
＜まとめ＞
第１の実施形態によれば、ユーザから優先して処理する割り込みジョブの要求を受け付けることができ、ユーザが希望する期日までに割り込みジョブが完了するように、割り込みジョブを優先して処理できる。
［第２の実施形態］
第１の実施形態ではユーザが指定した期日までに割り込みジョブの処理が完了しない可能性がある場合に、ユーザに通知を行うものである。第２の実施形態はユーザが指定した期日までに割り込みジョブの処理が完了しない可能性がある場合に、キュー及びワーカ１１３２を冗長化して割り込みジョブの処理を行う。なお、第２の実施形態は第１の実施形態と一部を除いて同様であるため、適宜説明を省略する。
【００８０】
図７のステップＳ１４において、ドキュメント処理要求管理部１１２４ａの割り込み判断部１２０２は、処理を終える期日が指定されたジョブ（割り込みジョブ）に対し、図１５に示すような割り込み判断処理を行う。なお、図１５のステップＳ４１〜Ｓ４５の処理は図１２のステップＳ３１〜Ｓ３５と同様である。
【００８１】
新しい割り込みジョブの期日を超えていれば、割り込み判断部１２０２はステップＳ４６において図１６に示すように冗長化したキュー及びワーカ１１３２への割り込みジョブの割り込み処理を完了する。新しい割り込みジョブの期日を超えていなければ、割り込み判断部１２０２はステップＳ４７において既存のキュー及びワーカ１１３２への割り込み処理を完了する。
【００８２】
図１６は冗長化したキュー及びワーカにより割り込みジョブを処理する手順を表した一例の説明図である。図１６の例では、該当キューに挿入済みだった割り込みジョブの予測時間とステップＳ４３で挿入した新しい割り込みジョブの予測時間との合計予測時間（１７分）が、新しい割り込みジョブの期日（１５分後）を超えている。このため割り込み判断部１２０２はステップＳ４６において、該当キュー（Ｑｕｅｕｅ−Ｃ）と同等の機能を有するキュー（Ｑｕｅｕｅ−Ｃ'）とワーカ１１３２と同等の機能を有するワーカ１１３２'とを作成する。
【００８３】
そして、割り込み判断部１２０２はステップＳ４３で該当キュー（Ｑｕｅｕｅ−Ｃ）に挿入したジョブＩＤ「７」の割り込みジョブをキュー（Ｑｕｅｕｅ−Ｃ'）にキューイングし、ワーカ１１３２'に処理させる。したがって、第２の実施形態ではステップＳ４３で挿入された新しい割り込みジョブの処理を、ユーザが指定した期日までに完了することができる。
【００８４】
＜まとめ＞
第２の実施形態によれば、ユーザから優先して処理する割り込みジョブの要求を受け付けることができ、ユーザが希望する期日までに割り込みジョブが完了するように、割り込みジョブを優先して処理できる。
【００８５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【００８６】
なお、ドキュメント処理要求管理部１１２４ａは特許請求の範囲に記載した管理手段の一例である。メッセージキュー１１３１のキューは保持手段の一例である。ワーカ１１３２は実行手段の一例である。ジョブ予測部１２０１は予測手段の一例である。割り込み判断部１２０２は割り込み判断手段の一例である。
【符号の説明】
【００８７】
１０００    システム
１０１１    クライアント端末
１０１２    携帯端末
１０１３    画像形成装置
１０２１    アクセス制御装置
１０２２    プリントサービス提供装置
１０２３    スキャンサービス提供装置
１０２４    他サービス提供装置
１１００    サービス提供システム
１１０１    サービスアプリ
１１０２    プラットフォーム
１１０３    管理データ記憶部
１１０４    プラットフォームＡＰＩ（Application Programming Interface）
１１１１    プリントサービスアプリ
１１１１ａ    フロントエンドアプリ
１１１２    スキャンサービスアプリ
１１１３    その他のサービスアプリ
１１２１    認証処理部
１１２２    機器通信部
１１２３    セッション管理部
１１２４    処理制御部
１１２４ａ    ドキュメント処理要求管理部
１１２５    データ処理部
１１３１    メッセージキュー
１１３２    ワーカ（Ｗｏｒｋｅｒ）
１１４１    組織管理情報記憶部
１１４２    ユーザ管理情報記憶部
１１４３    機器管理情報記憶部
１１４４    ジョブ情報管理記憶部
１１４５    共有ファイルストレージ
１２０１    ジョブ予測部
１２０２    割り込み判断部
１２０３    ジョブ情報テーブル
１２０４    処理時間見積テーブル
１２０５    予測時間テーブル
１５００    コンピュータ
１５０１    入力装置
１５０２    表示装置
１５０３    外部Ｉ／Ｆ
１５０３ａ    記録媒体
１５０４    ＲＡＭ
１５０５    ＲＯＭ
１５０６    ＣＰＵ
１５０７    通信Ｉ／Ｆ
１５０８    ＨＤＤ
２０００    印刷アップロード画面
２００１    アップロードボタン
２００２    確認ダイアログ
Ｂ    バス
ＦＷ    ファイヤウォール
Ｎ１〜Ｎ３    ネットワーク
【先行技術文献】
【特許文献】
【００８８】
【特許文献１】特開２０１３−１７８７４８号公報
【図１】
2017037469.tif 000003
【図２】
2017037469.tif 000004
【図３】
2017037469.tif 000005
【図４】
2017037469.tif 000006
【図５】
2017037469.tif 000007
【図６】
2017037469.tif 000008
【図７】
2017037469.tif 000009
【図８】
2017037469.tif 000010
【図９】
2017037469.tif 000011
【図１０】
2017037469.tif 000012
【図１１】
2017037469.tif 000013
【図１２】
2017037469.tif 000014
【図１３】
2017037469.tif 000015
【図１４】
2017037469.tif 000016
【図１５】
2017037469.tif 000017
【図１６】
2017037469.tif 000018