(57)【特許請求の範囲】
【請求項１】
夫々が規定された処理を実行する複数のタスクの内、デバイスを起点として生成されるジョブを処理するためのタスクを連結させて各タスクを順次実行していくことで前記ジョブを処理するシステムであって、
前記システムにより処理されるジョブを作成するための作成画面を介し、第三者サービスを提供する第三者システムに対してアクセスする特定タスクの連結が必要な特定ジョブの作成が指示された場合、前記第三者システムにアクセスさせるためのリダイレクト指示をデバイスへ送信する送信手段と、
前記リダイレクト指示に基づきアクセスしてきた前記デバイスに対して前記第三者システムが提供する、前記システムからのアクセスを許可するか否かを問い合わせる認可画面を介し、アクセスを許可することが指示されたことで発行されたアクセストークンを保存する保存手段と、を有し、
前記特定ジョブの処理の際に前記特定タスクによる処理が行われる場合、前記特定タスクは保存された前記アクセストークンを利用し前記第三者システムにアクセスし、前記第三者サービスを受けることで前記特定タスクに規定された処理を実行することを特徴とするシステム。
【請求項２】
前記作成画面とはスキャンチケットを作成するための画面であって、該画面に表示されたチケットテンプレートが選択され、スキャン設定に関するパラメーターが入力されたことで特定ジョブが生成されることを特徴とする請求項１に記載のシステム。
【請求項３】
前記アクセストークンが保存手段に保存された後であって、
前記特定ジョブの開始を指示するためのジョブ選択画面を送信する際に前記保存手段に保存されたアクセストークンの有効期限が切れているか否かを確認する確認手段と、
前記アクセストークンの有効期限が切れていることが確認されたことに応じて、前記アクセストークンを利用する特定タスクの連結が必要なジョブに対して有効期限切れを示すシンボルが表示される前記ジョブ選択画面を送信する送信手段と、を更に有する請求項１または２に記載のシステム。
【請求項４】
前記ジョブ選択画面はスキャナユニットを含む画像処理装置に送信され、前記ジョブ選択画面でジョブが選択されるとともに、前記画像処理装置でスキャンすることで得られたスキャン画像データーが受信されたことに応じてタスクの実行を開始する請求項３に記載のシステム。
【請求項５】
前記特定ジョブを処理する際に前記アクセストークンの有効期限が切れた場合、前記特定タスクより前に連結された前記特定ジョブを処理するためのタスクの実行を開始し、前記特定タスクより前のタスク処理を完了させ、有効なアクセストークンが保存されたことに応じて、前記特定のタスクの実行を再び開始する請求項１乃至４の何れか１項に記載のシステム。
【請求項６】
前記作成画面を介し作成された特定ジョブと、前記保存手段により保存されたアクセストークンとが関連付くように管理を行い、ジョブの開始を指示するためのジョブ選択画面で前記特定ジョブが選択された場合、前記特定タスクは前記特定ジョブと関連づくアクセストークンを利用し規定された処理を実行することを特徴とする請求項１乃至５の何れか１項に記載のシステム。
【請求項７】
夫々が規定された処理を実行する複数のタスクの内、デバイスを起点として生成されるジョブを処理するためのタスクを連結させて各タスクを順次実行していくことで前記ジョブを処理するシステムを制御する制御方法であって、
送信手段は、前記システムにより処理されるジョブを作成するための作成画面を介し、第三者サービスを提供する第三者システムに対してアクセスする特定タスクの連結が必要な特定ジョブの作成が指示された場合、前記第三者システムにアクセスさせるためのリダイレクト指示を前記デバイスへ送信し、
保存手段は、前記リダイレクト指示に基づきアクセスしてきた前記デバイスに対して前記第三者システムが提供した、前記システムのアクセスを許可するか否かを問い合わせる認可画面を介し、アクセスを許可することが指示されたことで発行されたアクセストークンを保存し、
前記特定ジョブの処理の際に前記特定タスクによる処理が行われる場合、前記特定タスクは保存された前記アクセストークンを利用し前記第三者システムにアクセスし、前記第三者サービスを受けることで前記特定タスクに規定された処理を実行することを特徴とするシステムの制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブを処理するシステム、および制御方法に関する。
【背景技術】
【０００２】
近年、サーバーコンピューター側で各種処理を行う形態として、クラウドコンピューティングシステムやＳａａＳ（Ｓｏｆｔｗａｒｅ  ａｓ  ａ  Ｓｅｒｖｉｃｅ）という技術が利用され始めている。クラウドコンピューティングでは、多くのコンピューティング・リソースを利用し、データー変換やデーター処理を分散実行することで、多くのクライアントからの要求を同時に処理することが可能となる。また、クラウドコンピューティングの特徴を生かすため、サーバーでの一連の処理を細かく規定されたタスクの連結で実現し、それらを同時並行で処理することで、多数のジョブをスケーラブルに処理する技術が存在する。上記処理において、例えば、ストレージサービスへのドキュメントの入稿等に代表される、認証・認可の処理を必要とする外部のＷｅｂサービスとの連携を行う必要がある場合がある。
特許文献１に記載の技術は、ユーザーがシステムにログインした際に、あらかじめ定義されたデータフローの定義情報を取り出す。次いで、そのフローの定義の中に、認証処理を必要としている外部サービスが存在しており、かつ、まだ認証がされていない場合には、外部サービスへのログイン画面を表示し認証情報を入力させる。このように、あらかじめ定めたフローに応じて、使用する外部サービスへの認証処理を自動的に行う事が出来る。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２２３７３９
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１の場合、クライアントがアクセスした先のＷｅｂサービスに対し、ストレージサービスを利用するための認証情報を提供する形態である。そのため、アクセスした先のＷｅｂサービスが悪意のあるＷｅｂサービスだった場合、認証情報がＷｅｂサービスに悪用される可能性がある。近年のセキュリティ意識の高まりに伴い、外部のＷｅｂサービスに対して第三者サービスの認証情報を提供すべきではないという考え方がある。
【０００５】
本発明では、外部Ｗｅｂサービスを利用するタスクを含む一連のタスクを連結させるシステムにおいて、タスクに対してアクセストークンを付与するための、方法、およびシステムを構築することを第１の目的とする。
【０００６】
さらに、上記アクセストークンには有効期限が存在しているため、有効期限が切れた場合には、ユーザーが再度アクセストークンを取得するまで処理を実行することが出来ない課題がある。ユーザーがアクセストークンの有効期限切れに気付かない場合、処理が継続されなくなる。そこで、アクセストークンの有効期限が切れた場合にもユーザーに分かりやすくアクセストークンの有効切れを通知し、かつ、処理のパフォーマンスを可能な限り損なわないシステムを構築することを第２の目的とする。
【０００７】
本願発明は上述した目的の内、少なくとも１つを解決することを目的としたシステムを提供することにある。
【課題を解決するための手段】
【０００８】
本願発明の一実施系に係るシステムは、夫々が規定された処理を実行する複数のタスクの内、デバイスを起点として生成されるジョブを処理するためのタスクを連結させて各タスクを順次実行していくことで前記ジョブを処理するシステムであって、前記システムにより処理されるジョブを作成するための作成画面を介し、第三者サービスを提供する第三者システムに対してアクセスする特定タスクの連結が必要な特定ジョブの作成が指示された場合、前記第三者システムにアクセスさせるためのリダイレクト指示をデバイスへ送信する送信手段と、前記リダイレクト指示に基づきアクセスしてきた前記デバイスに対して前記第三者システムが提供する、前記システムからのアクセスを許可するか否かを問い合わせる認可画面を介し、アクセスを許可することが指示されたことで発行されたアクセストークンを保存する保存手段と、を有し、前記特定ジョブの処理の際に前記特定タスクによる処理が行われる場合、前記特定タスクは保存された前記アクセストークンを利用し前記第三者システムにアクセスし、前記第三者サービスを受けることで前記特定タスクに規定された処理を実行することを特徴とする。
【発明の効果】
【０００９】
第三者サービスを利用するタスクを含む複数のタスクの内、幾つかのタスクを連結させることにより一つのジョブの処理を行うシステムにおいて、第三者サービスへのアクセスを適切な状態で行わせることが出来る。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施例におけるクラウドシステムの全体構成を示す図である。
【図２】本発明の実施例におけるクライアント端末、サーバーコンピューターのハードウェア構成図である。
【図３】本発明の実施例におけるクライアント端末のシステム構成図である。
【図４】本発明の実施例における画像形成装置の内部構成の詳細を示す図である。
【図５】本発明の実施例におけるスキャンサービスサーバーのシステム構成図である。
【図６】本発明の実施例におけるスキャンサービスサーバーのユーザーインターフェースの一例である。
【図７】本発明の実施例におけるスキャンサービスサーバーにて保持するチケット情報の一例である。
【図８】本発明の実施例におけるスキャンサービスサーバーにて保持するテンプレートの一例である。
【図９】本発明の実施例における画像形成装置のユーザーインターフェースの一例である。
【図１０】本発明の実施例におけるタスクサービスサーバーのシステム構成図である。
【図１１】本発明の実施例におけるスキャン処理の一連の流れを示すシーケンス図である。
【図１２】本発明の実施例におけるフローサービスサーバーのシステム構成図の概要である。
【図１３】本発明の実施例におけるルート管理サービスサーバーのシステム構成図である。
【図１４】本発明の実施例におけるルート管理サービスサーバーにて保持するルート情報の一例である。
【図１５】本発明の実施例におけるルート管理サービスサーバーにて保持するタスク情報の一例である。
【図１６】本発明の実施例におけるジョブ管理サービスサーバーのシステム構成図である。
【図１７】本発明の実施例におけるジョブ管理サービスサーバーにて保持するジョブ情報の一例である。
【図１８】本発明の実施例における一時ファイル管理サービスサーバーの全体構成を示す図である。
【図１９】本発明の実施例における中央管理サーバーのシステム構成である。
【図２０】本発明の実施例における中央管理サーバーにて保持する、ファイルサーバー情報、ファイルパス情報の一例である。
【図２１】本発明の実施例における一時ファイル管理サービスサーバーにて使用するファイルサーバーのフォルダの階層構造を示す図である。
【図２２】本発明の実施例におけるスキャンチケット選択時の処理に関するフローチャートである。
【図２３】本発明の実施例における画像形成装置でのスキャン操作に関するフローチャートである。
【図２４】本発明の実施例におけるタスクサービスサーバーの処理に関するフローチャートである。
【図２５】本発明の実施例２におけるスキャンサービスサーバーにて保持するチケット情報の一例である。
【図２６】本発明の実施例２におけるジョブ管理サービスサーバーにて保持するジョブ情報の一例である。
【図２７】本発明の実施例２における画像形成装置のユーザーインターフェースの一例である。
【図２８】本発明の実施例２における、タスクサービスサーバーの処理に関するフローチャートである。
【図２９】本発明の実施例２における、画像形成装置でのスキャン操作に関するフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１２】
図１は、本発明の実施の形態に係るクラウドシステムの全体構成を示す図である。図１において、スキャンサービスサーバー１０１、フローサービスサーバー１０２、タスクサービスサーバー１０３、１０４、クライアント端末１０６、画像形成装置１０７、クラウドサービスサーバー１０８は、ネットワーク１１０〜１１２を介して接続されている。
【００１３】
図１において、タスクサービスサーバー１０３、１０４、クライアント端末１０６、画像形成装置１０７、クラウドサービスサーバー１０８は、複数台接続されていることを仮定している。ネットワーク１１０〜１１２は、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データー放送用無線回線等のいずれであり。またこれらの組み合わせにより実現される、いわゆる通信ネットワークである。ネットワーク１１０〜１１２は、データーの送受信が可能であればよい。一般的なクラウドサービスでは、ネットワーク１１０、１１２はインターネット、ネットワーク１１１は企業内ネットワークやサービスプロバイダーのネットワークとなる。スキャンサービスサーバー１０１、フローサービスサーバー１０２、タスクサービスサーバー１０３、１０４は、一般的にサーバーコンピューター上にて実行されており、これらサービスサーバー群がユーザーに対してクラウドサービスを提供する。各タスクサービスサーバー１０３、１０４は、夫々に規定された処理を実行するための機能が具備されている。
【００１４】
また、様々な企業などにより、同様にクラウドサービスサーバー１０８がインターネット上に公開されており、これらも一般的にサーバーコンピューター上にて実行されている。本願発明では各サーバーをサービスと記載する。クライアント端末１０６は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、ＰＤＡ（パーソナルデーターアシスタント）等から成るが、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末１０６では、Ｗｅｂブラウザ（インターネットブラウザ、ＷＷＷブラウザ、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂの利用に供するブラウザ）等のプログラムを実行する環境が内蔵されている。
【００１５】
なお、本実施例では複数のサーバー群から構成されるシステムがクラウドサービスを提供することを想定しているが、これらのサーバー群を１台に集約しても良い。また、デバイスに相当するクライアント端末からクラウドに対し実行依頼が送信されたことに応じて、クラウド側は規定された処理を実行する複数のタスクサービスサーバー（タスク）を連結させてジョブを処理することになる。各タスクは、ジョブを処理するためにデーター処理を順次実行・順次保存していく。即ち、デバイスを起点としてジョブが生成され、タスクを順次実行することでジョブが処理されるのである。本願発明ではジョブが生成されるタイミングをデバイスからの実行依頼としたが、後述する作成済みのスキャンチケットを選択した時点からをジョブが生成されるタイミングとしても良い。ジョブが生成されるタイミングをどの時点と規定するかは任意ではあるが、少なくともデバイスからの実行依頼がクラウド側へ送信されることでジョブが処理される点においてはどのタイミングも共通である。
【００１６】
図２は、本発明の実施形態に係るクライアント端末１０６、サービス群１０１〜１０４を実行するサーバーコンピューターのハードウェア構成図である。図２において、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ（ＣＰＵ）２０２は装置全体の制御を行う。ＣＰＵ２０２はハードディスク（ＨＤＤ）２０５に格納されているアプリケーションプログラム、ＯＳ等を実行し、Ｒａｎｄａｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）２０３にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）２０４は記憶手段であり、内部には、基本Ｉ／Ｏプログラム等の各種データーを記憶する。ＲＡＭ２０３は一時記憶手段であり、ＣＰＵ２０２の主メモリ、ワークエリア等として機能する。ＨＤＤ２０５は外部記憶手段の一つであり、大容量メモリとして機能し、Ｗｅｂブラウザ等のアプリケーションプログラム、サービス群のプログラム、ＯＳ、関連プログラム等を格納している。ディスプレイ２０６は表示手段であり、キーボード２０７から入力したコマンド等を表示したりするものである。
【００１７】
インターフェース２０８は外部装置Ｉ／Ｆであり、プリンター、ＵＳＢ機器、周辺機器を接続する。キーボード２０７は指示入力手段である。システムバス２０１は、装置内におけるデーターの流れを司るものである。ネットワークインターフェースカード（ＮＩＣ）２０９は、該インターフェース２０９、ネットワーク１１０〜１１２を介して外部装置とのデーターのやり取りを行う。なお、上記コンピュータの構成はその一例であり、図２の構成例に限定されるものではない。例えば、データーやプログラムの格納先は、その特徴に応じてＲＯＭ２０４、ＲＡＭ２０３、ＨＤＤ２０５などで変更することも可能である。
【００１８】
図３は、本発明の実施形態に係るクライアント端末１０６のシステム構成図である。Ｗｅｂブラウザ３０１は、スキャンサービスサーバー１０１が提供するＷｅｂアプリケーションへのリクエストの送信と、レスポンスの表示等を行う。クラウドサービスを利用するユーザーは本クライアント端末１０６のＷｅｂブラウザ３０１を利用して、クラウドサービスを利用する。Ｗｅｂブラウザ３０１は、ＷｅｂブラウザプログラムをＣＰＵが実行することで実現される構成である。
【００１９】
図４は、本発明の実施形態に係る画像形成装置１０７の内部構成を例示する図である。本実施例ではスキャン・プリントの両機能を併せ持つ装置を例にするが、スキャンサービスを実現するに当たっては、プリント機能のない、スキャン専用装置でも良い。図４において、画像形成装置１０７は、画像処理ユニット４０１、印刷ユニット４０２、および読み込みユニット４０３から構成される。画像処理ユニット４０１は、ＣＰＵ４０４、直接記憶部４０５、間接記憶部４０６、ユーザーインターフェース４０７、外部インターフェース４０８から構成されている。
【００２０】
ＣＰＵ４０４は、所定のプログラムを実行し、画像処理装置１０７の各種制御を指示するユニットである。ＣＰＵ４０４は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）により実現される。直接記憶部４０５は、ＣＰＵ４０４がプログラムを実行する際に使用するワークメモリであり、ＣＰＵ４０４が実行するプログラムは直接記憶部４０５にロードされる。直接記憶部４０６は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）により実現される。間接記憶部４０６は、アプリケーションプログラム、およびプラットフォームプログラムを含む各種プログラムが記憶されている。間接記憶部４０６に記憶されている各種プログラムは、ＣＰＵ４０４がプログラムを実行する際に直接記憶部４０５へ移動する。間接記憶部４０６は、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、または、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｃ  Ｄｒｉｖｅ）により実現される。なお、ＣＰＵ０４はマルチプロセッサでも良い。
【００２１】
ここで、プラットフォームについて詳細に説明する。プラットフォームの実現により、ユーザーが独自に開発した新しいアプリケーションを画像形成装置１０７上で実行できる他、画像形成装置１０７の操作画面をカスタマイズすることが可能になる。プラットフォームの実現方法について説明する。ＣＰＵ４０４は、間接記憶部４０６に記憶されたプラットフォームプログラムを直接記憶部４０５に移動する。移動が完了するとＣＰＵ４０４は、プラットフォームプログラム（例えば、Ｊａｖａ（登録商標））を実行することができる状態になる。本発明の実施例では、ＣＰＵ４０４がプラットフォームプログラムを実行することを、プラットフォームが起動すると称する。なお、プラットフォームは、画像形成装置１０７のファームウェア上で動作することになる。プラットフォームプログラムは、オブジェクト指向で記述されたアプリケーションプログラムを実行するための環境を提供するものである。
【００２２】
プラットフォーム上でアプリケーションプログラムを実行する方法について詳細に説明する。本発明の実施例において、プラットフォーム上には、スキャンした画像をクラウドサービスに送信するスキャンソフトウェアが動作している。スキャンソフトウェアは、ネットワークを介して接続されているスキャンサービスサーバー１０１より、例えば、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）と言った通信プロトコルによってスキャンチケットの一覧の受信を行う。スキャンチケットにはスキャンの為の設定や、その後の処理フローといった情報が記録されている。以降、スキャンソフトウェアを実行することで実現するソフトウェア部をスキャンソフトウェア部と呼ぶ。ユーザーはスキャンソフトウェア部にて表示されたスキャンチケット一覧より、スキャンチケットを選択し、原稿をスキャナユニットを利用し読み込ませることでスキャンを完了できる。スキャンソフトウェア部はユーザーが選択したスキャンチケットの情報とスキャンした画像データーを合わせてスキャンサービスサーバー１０１に送信する。このように、プラットフォームでアプリケーションプログラムを実行することによって、画像形成装置１０７の制御を実現することができる。
【００２３】
アプリケーションプログラムの実行方法について説明する。起動したプラットフォームは、間接記憶部４０６に記憶されたアプリケーションプログラムを直接記憶部４０５に移動する。移動が完了すると、プラットフォームはアプリケーションプログラムを実行することができる状態になる。そして、プラットフォームはアプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本発明の実施例ではプラットフォームアプリケーションと呼ぶ。さらに、プラットフォームは、本発明の実施例で開示するフローチャートの各処理の一部を行うことが可能である。
【００２４】
ユーザーインターフェース４０７は、ユーザーからの処理依頼を受け付けるために必要なユニットである。例えば、キーボード、マウス等を通してユーザーが入力した指示に応じた信号を受け付ける。外部インターフェース４０８は、外部装置からのデーター受信や外部装置へのデーター送信が可能となっている。例えば、外部装置としては、外付けＨＤＤや外付けＵＳＢメモリ等の外付け記憶装置、またはネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。画像形成装置１０７は、ネットワーク１１０、１１１を介して、クライアント端末１０６、スキャンサービスサーバー１０１と通信可能である。続いて、クラウドサービスを提供するスキャンサービスサーバー１０１、タスクサービス１０３、１０４の各サービスに関して説明する。さらには、各サービスの説明とともに、図１１のスキャン処理のシーケンス図を用いて、スキャン処理の流れを合わせて説明する。
【００２５】
図５を用いて、スキャンサービスサーバー１０１に関して説明する。スキャンサービスサーバー１０１はクラウドサービスにおけるスキャン機能の提供を行うサービスである。図５は、本発明の実施形態に係るスキャンサービスサーバー１０１のシステム構成図である。スキャンサービスサーバー１０１は、Ｗｅｂアプリケーション部５０１、チケット管理ＤＢ部５０２、テンプレート管理ＤＢ部５０３からなる。これら構成要素により各種処理が実行されることでスキャンサービスサーバー１０１がユーザーに提供される。Ｗｅｂアプリケーション部５０１はスキャン機能を提供するアプリケーションプログラムを提供する。チケット作成部５１１はユーザーがスキャンチケットを作成するための一連の機能を実現する。スキャンチケットには、画像形成装置１０７で原稿をスキャンする際のスキャン設定や、その後の処理フローの定義、各処理フローで実施されるタスクの為のパラメーター等が記録されている。
【００２６】
図１１にて、チケット作成部５１１は、クライアント端末１０６のＷｅｂブラウザ３０１からのスキャンチケット作成画面リクエストＳ１１０１を受け取り、スキャンチケット作成画面を生成しレスポンスＳ１１０２を行う。この際、チケット作成部５１１はテンプレート管理部５１６より、テンプレート管理ＤＢ部５０３に登録されているスキャンチケットのテンプレートを取得し、テンプレートに含まれるテンプレート名を、クライアント端末１０６のＷｅｂブラウザ３０１に表示する。テンプレート管理ＤＢ部５０３の詳細な内容は、図８に記載されており、前述したテンプレートについても、図８の説明に際に合わせて説明する。また、テンプレート名を表示する画面例は、図６に記載されている。表示画面についても後述する。
【００２７】
ユーザーがクライアント端末１０６のＷｅｂブラウザ３０１にて操作を行い、スキャンチケット作成リクエストＳ１１０３が実行され、スキャンチケット作成と、チケット管理部５１５への保存が完了する。チケット管理部５１５は、チケット保存のリクエストを受け、チケット管理ＤＢ部５０２にチケット情報を保存する。チケット管理ＤＢ部５０２の詳細な内容は図７に記載されている。チケット管理ＤＢ部５０２の詳細は後述する。チケット管理部５１５は、チケット情報を保存した後、レスポンスＳ１１０４を行う。
【００２８】
外部Ｉ／Ｆ部５１４は画像形成装置１０７上で動作するスキャンソフトウェア部との通信を行う。スキャンソフトウェア部より、外部Ｉ／Ｆ部５１４を通じて、チケット一覧部５１２の機能や、スキャン受信部５１３の機能へのアクセスを行う。図１１にて、画像形成装置１０７のスキャンソフトウェア部は外部Ｉ／Ｆ部５１４を通じてチケット一覧部５１２に対して、チケット一覧取得Ｓ１１０５を行う。チケット一覧部５１２では、スキャンチケットの一覧をチケット管理部５１５より生成し、スキャンソフトウェア部にレスポンスＳ１１０６を返す。レスポンスを受け取った画像形成装置１０７は、取得したチケット一覧を図４におけるユーザーインターフェース４０７上に表示する。表示画面例は、図９に記載されている。表示画面例の説明は後述する。
【００２９】
図１１のスキャン処理Ｓ１１０７にて、ユーザーは、ユーザーインターフェース４０７上に表示されたチケットのいずれかを選択し、画像形成装置に備え付けられたスキャナユニット（スキャナ装置）に紙を設置し、スキャンを実行する。これにより、スキャンソフトウェア部は、スキャン送信Ｓ１１０８にて、外部Ｉ／Ｆ部５１４を通じてスキャン受信部５１３に対しスキャンすることで得られたスキャン画像データーとスキャンチケットの送信を行う。
【００３０】
スキャン受信部５１３は、送信されたスキャンチケット、および画像データーを受信する。スキャン受信部５１３はステップＳ１１０９にて、受信した画像データーをフローサービスサーバー１０２に投入する。フローサービスサーバー１０２は、画像データーを正しく受信できた場合には、スキャンサービスサーバー１０１に対し、画像データーを一意に表すＩＤ（ファイルグループＩＤ）を応答する。その後、スキャン受信部５１３は、ジョブ投入Ｓ１１１１にて、ファイルグループＩＤ、およびスキャンチケットをフローサービスサーバー１０２に送信する。以上がスキャンサービスサーバー１０１のシステム構成と、スキャンジョブの投入までの流れである。
【００３１】
図６にて、チケット作成画面６０１の説明を行う。チケット作成画面６０１は、図５のテンプレート管理ＤＢ部５０３から取得したテンプレート（図中６０２、６０３、６０４）を表示する。このテンプレートはチケットテンプレートに相当する。ユーザーは、表示されたテンプレートの中からジョブ処理を実行するテンプレートを選択する。テンプレートを選択すると、詳細なチケット設定を行う画面６０５が表示される。図６において、同一画面に詳細設定画面６０５が表示されているが、別ウィンドウで詳細設定画面６０５を開くようにしても構わない。詳細設定画面６０５では、選択したテンプレートに応じたスキャンの設定を行うことが出来る。例えば、スキャン設定の例としては、図中に示す様にサイズや、カラー、白黒といった色調、またスキャンデーターのフォーマット等の設定がある。ユーザーは、詳細な設定を行った後、チケット発行ボタン６０６を押下すると、図５のチケット管理ＤＢ部５０２に、チケットの情報が新規作成される。チケット管理ＤＢ部５０２に保存されるチケット情報の詳細については後述する。チケット情報がチケット管理部ＤＢ５０２にて正しく作成された場合には、チケット番号６０７にチケット固有に割り当てられたＩＤが表示される。このＩＤは、図７におけるチケットＩＤ７０２と同じ値となる。ユーザーは、チケット番号６０７に表示されたＩＤを記憶し、画像形成装置１０７に移動する。本実施例では、チケットテンプレートが選択され、スキャン設定に関するパラメーターが入力された受理された時点を、ジョブが生成されるタイミングと規定する。
【００３２】
ここで、ユーザーが選択したテンプレートに対応するルートに、外部サービスと連携するために認証・認可の処理を必要とするタスクサービスサーバーが利用される場合について説明する。チケット作成画面６０１のチケット発行ボタン６０６が押下された際に、チケット作成画面は、選択したテンプレートに含まれるタスクに対応するタスク情報の中に、外部サービスと連携するために認証・認可を必要とするタスクがあるか否かを判断する。外部サービスは第三者サービスに相当し、その第三者サービスを提供するシステムが第三者システムに相当し、外部サービスと連携するために認証・認可を必要とするタスクが特定タスクに相当する。なお、チケット作成画面はワークフローを作成する作成画面で会っても良い。即ち、ユーザーが実行したいタスクを複数のタスクの中から選択し、ユーザーがタスクの連結を指定する様な作成画面である。タスクをユーザーが選択する際に、特定タスクを選択した場合に、第三者サービスへのリダイレクト指示を出すことになる。このように、ジョブを作成するための画面に限定はなく、ジョブ、即ちチケットを作成するための画面を本願発明では作成画面と称する。
【００３３】
なお、ジョブ処理の際に、特定タスクの連結が必要となるジョブが特定ジョブに相当し、デバイスからのジョブ処理の指示を起点として生成されるジョブである。外部サービスと連携する特定タスクがある場合には、外部サービスが提供する認証画面を取得するためのＵＲＬを送信するとともに、そのＵＲＬへアクセスさせるためのリダイレクト指示を送信する。この画面は、６１１に示す様に外部サービスのユーザーＩＤ（６１２）、およびパスワード（６１３）を入力させる画面となっている。ユーザーが、ユーザーＩＤ、およびパスワードを入力し、外部サービスへの認証が完了した後には、６２１に示す様に、スキャンサービスサーバー１０１からのアクセスを認可するかしないかのダイアログが、デバイスのパネルに表示される。このダイアログが認可画面であり、この認可画面にて“許可する”（６２２）を選択した場合には、スキャンサービスサーバー１０１は外部サービスを使用するためのアクセストークンを取得する。このアクセストークンは、チケット管理５１５がチケット管理ＤＢ部５０２にチケット情報を保存する際に、チケット管理ＤＢ部５０２に保存するアクセストークンである。このアクセストークンを用いて、タスクサービスサーバーは外部サービスに対してアクセスすることが出来る。この認可画面は、リダイレクト指示に基づきアクセスしてきたデバイスに対して第三者システムが提供する、タスクサービスサーバーからのアクセスを許可するか否かを問い合わせる認可画面に相当する。特定タスクが実行される場合に、アクセストークンが保存されることで特定ジョブの処理が滞りなく完了する。
【００３４】
図７にて、チケット管理ＤＢ部５０２で管理されている情報の一例を示す。ユーザーＩＤ７０１は、該チケットを作成したユーザーを一意に表すＩＤである。チケットＩＤ７０２は、チケットを一意に定義するＩＤである。このチケットＩＤは、図６のチケット発行６０６を押下した際に生成され、チケット管理ＤＢ部５０２に保存される。ルートＩＤ７０３は、チケット作成画面６０１にて、ユーザーが選択したテンプレートに対応するルートＩＤである。ユーザーがーチケットを選択しスキャンを実行した場合、そのスキャンデーターはルートＩＤ７０３に定義されたタスクの順番で処理される。パラメーター７０４は、詳細設定画面６０５にて設定したスキャンの設定が記録されている。画面６２１にて認可の処理を行った場合、取得したアクセストークン、およびアクセストークンの有効期限も合わせてパラメーター７０４に記録される。図７におけるアクセストークンはパラメーター７０４に文字列ａｃｃｅｓｓＴｏｋｅｎをキーとする組として保存されている。同様に、有効期限はパラメーター７０４に文字列ｅｘｐｉｒｅｓ＿ｉｎをキーとする文字列として保存されている。このように、作成画面を介して作成されたジョブ、即ち、チケットと保存されたアクセストークンは関連付けて管理されることになり、アクセストークンを必要とする特定タスクはチケットに関連づくこのアクセストークンを特定し、利用し規定の処理を実行する。
【００３５】
図８にて、テンプレート管理ＤＢ部５０３で管理されているテンプレートの一例を示す。テンプレート管理ＤＢ部５０３は、図１３のルート情報管理ＤＢ部１３０１にて管理されるルート情報と、チケット作成画面上に表示されるテンプレートを紐づけるためのデーターベースである。ここで、テンプレートは、テンプレートＩＤ８０１、テンプレート名８０２、およびルートＩＤ８０３から構成される。テンプレートＩＤ８０１は、各テンプレートを一意に表すＩＤである。テンプレート名８０２は、図６のチケット作成画面６０１に表示される名前である。ルートＩＤ８０３は、図１４における、ルート情報管理ＤＢ部１３０１にて管理されるルートＩＤ１４０１への外部キーを表す。
【００３６】
図９にて、図１１のチケット一覧取得Ｓ１１０５にて、取得したチケット情報が表示される画面例を説明する。本画面は、画像形成装置１０７のユーザーインターフェース４０７上に表示される。画面上には、チケット管理５０２から取得したチケットＩＤ７０２が表示されている（９０１〜９０６）。ユーザーは、実行するチケットを選択し、画像形成装置１０７にスキャン対象の紙を設置し、スキャンボタン９０７を押下する。これにより、図１１におけるスキャン送信Ｓ１１０８が実行される。スキャン送信Ｓ１１０８が実行されると、スキャンサービスサーバー１０１のスキャン受信５１３に対して、スキャンしたスキャン画像データーと、チケットが送信される。
【００３７】
さらに、前述したアクセストークンの有効期限が切れたチケットの場合には、９０８に示す様に、そのチケット上に有効期限切れを示すシンボルを表示する。これにより、ユーザーは、該チケットで用いるアクセストークンの有効期限が切れていることを認識することが可能となり、ユーザーエクスペリエンスの向上が可能となる。なお、このチケット一覧画面がジョブ選択画面に相当する。チケットが選択されることでそのチケットに対応したジョブを処理するためのタスクが実行されるので、この画面をジョブ選択画面と称する。
【００３８】
引き続き、図１０にて、本発明の実施形態に係るタスクサービスサーバー１０３、１０４のシステム構成図を説明する。各タスクサービスサーバーは、スキャンサービスを実現するための要素機能を実現するサービスである。例えばスキャン画像データーに対して画像処理を行うタスクサービスサーバーや、ファイル共有機能を提供するような他のクラウドサービス１０８に対して、画像データーを送信する処理を行うタスクサービスサーバーが存在する。本実施例においては、タスクサービスサーバー１０３は画像処理を行い、また、タスクサービスサーバー１０４が送信タスクを行うとする。
【００３９】
以下、図１１のスキャン処理のシーケンス図の流れとともに各構成要素の説明を行う。タスクサービスサーバー１０３、１０４のタスク取得部１０１１は、ステップＳ１１１２、Ｓ１１１３、Ｓ１１１９、Ｓ１１２０にて、定期的にフローサービスサーバー１０２に問い合わせを行い、各タスクサービスサーバー１０３、１０４にて処理可能なタスクを取得する。タスクサービスサーバー１０３、１０４のデーター取得部１０１２は、タスク取得部１０１１で取得した情報を元に、ステップＳ１１１４、Ｓ１１１５、Ｓ１１２１、Ｓ１１２２にてフローサービスサーバー１０２より処理すべき画像データーの取得を行う。タスクサービスサーバー１０３、１０４のタスク処理部１０１５は、ステップＳ１１１６、Ｓ１１２３にて取得した画像データーに対して各種処理を行う。タスクサービスサーバー１０３のタスク処理部１０１５は、ステップＳ１１１６での処理結果をステップＳ１１１７にてデーター保存部１０１３を介して、フローサービスサーバー１０２に保存する。タスクサービスサーバー１０４のタスク処理部１０１５は、ステップＳ１１２３での処理結果をステップＳ１１２４にてクラウドサービス１０８にデーター送信する。タスクサービスサーバー１０３、１０４のタスクステータス通知部１０１４は一連のタスク処理の終了結果をステップＳ１１１８、Ｓ１１２５にて、フローサービスサーバー１０２に通知する。以上で、スキャンジョブの一連の処理が完了する。
【００４０】
続いて、フローサービスサーバー１０２の詳細な説明を行う。フローサービスサーバー１０２は本願発明における中心的なサービスであり、ルート管理、ジョブ管理、一時ファイル管理を行うサービスである。図１２は、フローサービスサーバー１０２のシステム構成の概要である。フローサービスサーバー１０２は、ルート管理サービスサーバー１２０１、ジョブ管理サービスサーバー１２０２、一時ファイル管理サービスサーバー１２０３の各サーバーからなる。これらサーバー上により各種処理が実行されることで各サービスが提供され、それらが連携することで、フローサービスサーバー１０２がユーザーに提供される。ルート管理サービスサーバー１２０１はタスクとタスクを連結させたルートの情報を管理する。ジョブ管理サービスサーバー１２０２はルートの情報に基づきジョブの処理を管理する。一時ファイル管理サービスサーバー１２０３はジョブ投入時のデーターや各タスクの処理結果データーの保存を管理する。引き続きフローサービスサーバー１０２を構成するルート管理サービスサーバー１２０１、ジョブ管理サービスサーバー１２０２、一時ファイル管理サービスサーバー１２０３の詳細な説明を行う。なお、１０２のサーバー１台で１２０１、１２０２、１２０３のサービスサーバーの機能を実現させても良い。
【００４１】
図１３は、ルート管理サービスサーバー１２０１のシステム構成である。ルート管理サービスサーバー１２０１は、ルート情報管理ＤＢ部１３０１、タスク情報管理ＤＢ部１３０２、外部Ｉ／Ｆ部１３０３からなる。ルート情報管理ＤＢ部１３０１はタスクの連結をルートという単位で定義するための情報を保持している。タスク情報管理ＤＢ部１３０２は各処理をタスクという単位で定義し、タスクに関する情報を保持している。外部Ｉ／Ｆ部１３０３はルート管理サービスサーバー１２０１への問い合わせのためのＩ／Ｆであり、ジョブ管理サービスサーバー１２０２等からルート情報管理ＤＢ部１３０１やタスク情報管理ＤＢ部１３０２を参照するためのＩ／Ｆである。
【００４２】
図１４にて、ルート情報管理ＤＢ部１３０１で管理されている情報の一例を示す。ルートＩＤ１４０１がルートを一意に識別するＩＤである。シーケンス番号１４０２はそのルートの何番目に実行するタスクであるかを保持する。タスクＩＤ１４０３はどのタスクを実行するかを保持する。例えば、データー１４１３、１４１４、１４１５で、ルートＩＤ１４０１が００２のルートを定義している。１４１３が１番目に実行するタスクであり、タスクＩＤ１４０３がＴａｓｋ１のタスクを実行する。同様に、１４１４が２番目に実行するタスクであり、Ｔａｓｋ３のタスクを、１４１５は３番目に実行するタスクでＴａｓｋ５のタスクを実行するという定義となる。
【００４３】
図１５にて、タスク情報管理ＤＢ部１３０２で管理されている情報の一例を示す。タスクＩＤ１５０１がタスクを一意に識別するＩＤである。タスク名１５０２はそのタスクの名前である。認可ＵＲＬ１５０３に、該タスクが連携する外部サービスから認可情報を取得するためのＷｅｂサービスが公開されているアドレスを保持する。前述したように、図６のチケット作成画面６０１にて選択したテンプレートに含まれるタスクに認可ＵＲＬ１５０３が設定されていた場合には、チケット発行ボタン６０６が押下された際に、該ＵＲＬにリダイレクトする。結果、デバイスは認可ＵＲＬにアクセスでき、認可画面を表示するための手続きに入ることができる。
【００４４】
図１６を用いて、ジョブ管理サービスサーバー１２０２に関して説明する。ジョブ管理サービスサーバー１２０２は、タスクサービスサーバー１０３、１０４からのリクエストに対してタスク情報の授受や、各タスクの状態を管理するためのサービスである。外部Ｉ／Ｆ部１６０１は、タスクサービスサーバー１０３、１０４、および画像形成装置１０７との通信を行う。外部Ｉ／Ｆ部１６０１を通じて、ジョブ管理サービスサーバー一時ファイル管理サービスサーバー１２０２の各機能へのアクセスを行う。ジョブ情報管理ＤＢ部１６０２は、作成された各ジョブのステータスや、各ジョブが扱うデーターのＩＤを管理する。ジョブ情報管理ＤＢ部１６０２の詳細な内容は、図１７に示す通りであり、ジョブ情報管理ＤＢ部１６０２の内容に関する説明は後述する。ジョブ追加部１６０３は、スキャンサービスサーバー１０１が、図１１において、外部Ｉ／Ｆ部１６０１を通じて発行されるジョブ投入リクエストＳ１１０９を受け、ジョブ情報管理ＤＢ部１６０２に、ジョブ情報を格納する。
【００４５】
ここで、ジョブ情報とは、図１７に示されるジョブ情報管理ＤＢ部１６０２に存在する各カラム（１７０１〜１７０７）から構成される。ジョブ情報取得部１６０４は、タスクサービスサーバー１０３、１０４から外部Ｉ／Ｆ部１６０１を通じて発行されるタスク取得リクエストＳ１１１０を受け、ジョブ情報管理ＤＢ部１６０２から、ジョブ情報を取得する。ここで取得したジョブ情報は、タスク取得Ｓ１１１１にてタスクサービスサーバー１０３、１０４に渡される。ジョブ情報更新部１６０５は、結果通知Ｓ１１１６にて、タスクサービスサーバー１０３、１０４から、外部Ｉ／Ｆ部１６０１を通じて発行されるジョブ情報更新リクエストを受け、ジョブ情報管理ＤＢ部１６０２の該ジョブの情報を更新する。ここで、更新される情報として、カレントタスクＩＤ１７０４、およびステータス１７０５、最終更新時刻１７０６がある。カレントタスクＩＤ１７０４を更新する前には、ルート管理サービスサーバー１２０１の外部Ｉ／Ｆ部１３０３を通じて、ルート情報管理ＤＢ部１３０１から、該ルートＩＤにおける次のタスクＩＤを取得する。取得したタスクＩＤを以て、カレントタスクＩＤ１７０４を更新する。また、ステータス１７０５は０、最終更新時刻１７０６は現在時刻で更新する。
【００４６】
続いて、図１７を用いて、ジョブ情報管理ＤＢ部１６０２に保持されるデーターについて説明する。ジョブＩＤ１７０１は、各ジョブ情報に一意に割り当てられるＩＤである。ルートＩＤ１７０２には、図６のチケット作成画面６０１にて選択したテンプレートに対応するルートＩＤが格納される。ファイルグループＩＤ１７０３は、後述する一時ファイル管理サービスサーバーから発行されるＩＤである。カレントタスクＩＤ１７０４は、そのジョブにおいて処理を行うべきタスクを示すタスクＩＤである。タスクサービスサーバー１０３、１０４は、このカレントタスクＩＤ１７０４を確認し、自タスクサービスサーバーに割り当てられたタスクＩＤと等しい行を選択し、処理を行う。本ＩＤは、該タスクの処理が完了した際には、ジョブ情報更新部１６０５が、該ルートＩＤの次のタスクのタスクＩＤに更新する。ステータス１７０５には、処理待ち（０）、実行中（１）、エラー発生（２）を表す値が設定される。タスクサービスサーバー１０３、１０４がジョブを選択する際には、ステータスが１となっている行を選択する。これにより、複数のタスクサービスサーバーが同一のタスクを処理するといった事態を防ぐことができる。
【００４７】
タスクサービスサーバー１０３、１０４が、ジョブを選択した後に、タスクサービスサーバー１０３、１０４は、外部Ｉ／Ｆ部１６０１を通じて、ジョブステータス変更１６０５より、ステータス１７０５を１に変更する。最終更新時刻１７０６は、タスクサービスサーバー１０３，１０４が該ジョブに対して、何らかの処理を実行した際に、更新される。ここで、何らかの処理とは、ステータスの更新処理や、ジョブの取得処理である。タスクサービスサーバー１０３、１０４がジョブを取得する際に、自タスクＩＤと等しいジョブ情報が複数存在していた場合には、最終更新時刻１７０６が最も古いジョブを選択する。これにより、全てのジョブを平均的に処理することが可能となる。パラメーター１７０７には、詳細設定画面６０６にて設定した設定情報や、タスクサービスサーバー１０３、１０４が、他のタスクサービスサーバー１０３、１０４に渡す設定情報などを記載する。特定タスクが利用するアクセストークンも記載される。
【００４８】
一時ファイル管理サービスサーバー１２０３は、スキャンサービスサーバー１０１やタスクサービスサーバー１０３、１０４からの要求に応じて、ファイルを格納し、その格納先のパスを管理するサービスである。またタスクサービスサーバー１０３、１０４からファイル取得要求があった際には保存したファイルのバイナリデーターをタスクサービスサーバー１０３、１０４に返却する。さらに、タスクサービスサーバー１０３、１０４やジョブ管理サービスサーバー１２０２からファイル削除の要求があった際には、保存したファイルを削除する。スキャンサービスサーバー１０１やタスクサービスサーバー１０３、１０４は一時ファイル管理サービスサーバーによって、ファイルの格納先のパスやファイルサーバーの状態を気にすることなく、ファイルの保存、取得、削除を行うことができる。
【００４９】
図１８、図１９、図２０、図２１を用いて、一時ファイル管理サービスサーバー１２０３について説明する。図１８は一時ファイル管理サービスサーバーの全体構成を示す図である。図１８において、中央管理サーバー１８０１、ファイルサーバーＡ１８０２、ファイルサーバーＢ１８０３、ファイルサーバーＣ１８０４はネットワーク１８１０を介して接続されている。また、ネットワーク１８１０はネットワーク１１０と接続されている。ネットワーク１８１０はネットワーク１１０と同様のデーターの送受信が可能な通信ネットワークである。中央管理サーバー１８０１は一般的にサーバーコンピューター上にて実行される。ファイルサーバー１８０２〜１８０４は一般にサーバーコンピューター上にて実行されており、必要に応じて電子データーを保存、削除、取得する機能を有している。
【００５０】
続いて、一時ファイル管理機能を提供する中央管理サーバー１８０１について図１９、図２０、図２１を用いて説明する。図１９は、本発明の実施形態に係る、中央管理サーバー１８０１のシステム構成図である。中央管理サーバー１８０１は、Ｗｅｂアプリケーション部１９０１、バックエンド部１９０２、ファイルサーバー管理ＤＢ部１９３１、パス管理ＤＢ部１９３２からからなる。これら構成要素により各種処理が実行されることでサービスを行う。Ｗｅｂアプリケーション部１９０１が、一時ファイル管理機能を提供するＷｅｂアプリケーションプログラムである。各機能については後述する。バックエンド部１９０２は、ファイルサーバー１８０２〜１８０４へのファイル保存、取得、削除などの機能を実現する。ファイルサーバー管理ＤＢ部１９３１、パス管理ＤＢ部１９３２は、一時ファイル管理機能を実現するためのデーターを管理する。
【００５１】
ファイルサーバー管理ＤＢ部１９３１は、ファイルの格納先であるファイルサーバー１８０２〜１８０４に関する情報を管理する。図２０にファイルサーバー管理ＤＢ部１９３１で管理するデーターの例を示す。ＩＤ２００１は、ファイルサーバーを一時ファイル管理サービスサーバー１２０３内で一意に識別するための情報である。ホスト名２００２は、ネットワーク１８１０上におけるファイルサーバーの一意のアドレスを示し、Ｗｅｂアプリケーション部１９０１がバックエンド部１９０２を通じてファイルサーバー１８０２〜１８０４にアクセスする際に使用する。アクティブフラグ２００３は、Ｗｅｂアプリケーション部１９０１がバックエンド部１９０２を通じてホスト名２００２に存在するファイルサーバーとの通信の可否を示す真偽値であり、通信可能な場合はＴｒｕｅ、通信不可能な場合はＦａｌｓｅを取る。共有フォルダ名２００４はファイルサーバー１８０２〜１８０４上に作成した共有フォルダ名である。ホスト名２００２と共有フォルダ名２００４から、ファイルサーバー１８０２〜１８０４上に作成した共有フォルダのフルパスが得られる。
【００５２】
パス管理ＤＢ部１９３２は一時ファイル管理サービスサーバー１２０３で管理している、ファイルサーバー１８０２〜１８０４に保存された一時ファイルとフォルダに関する情報を管理する。本発明では、一時ファイル管理サービスサーバー１２０３で管理するファイルとフォルダをあわせてエンティティと呼ぶ。図２０にパス管理ＤＢ部１９３２で管理するデーターの例を示す。ファイルＩＤ２０１０は、ファイルサーバー１８０２〜１８０４でエンティティを一意に識別するための情報である。ファイルグループＩＤ２０１１は各エンティティを関連するジョブでグループ化するための情報である。従って、同一ジョブによって生成されたエンティティは同一のファイルグループＩＤ２０１１を持つ。タスクＩＤ２０１２は各エンティティに関連するタスクのタスクＩＤ、またはフォルダを表す「Ｆｏｌｄｅｒ」、またはスキャンサービスサーバー１０１からの要求により格納されたファイルを表す「ｉｎｉｔ」のいずれかの値が入る。本発明では、スキャンサービスサーバー１０１からの要求により格納されたファイルを初期データーと呼ぶ。Ｎｏ２０１３は各タスクによって生成されたファイルのファイル番号を示す。パス２０１４はエンティティの格納先のフルパスを示し、Ｗｅｂアプリケーション部１９０１がバックエンド部１９０２を通じてエンティティにアクセスする際に使用する。ホスト名２０１５は各エンティティの格納先のファイルサーバーのホスト名を示す。作成日２０１６及び有効期限２０１７は各エンティティの作成日及び有効期限を示す。
【００５３】
ファイルサーバー１８０２〜１８０４は、一時ファイル管理サービスサーバー１２０３で管理するファイルを格納する。図２１にファイルサーバー１８０２〜１８０４のフォルダの階層構造を示す。フォルダ２１０１は共有フォルダであり、Ｗｅｂアプリケーション部１９０１がバックエンド部１９０２を通じてアクセス可能とする。共有フォルダ２１０１は各サーバーに少なくとも１つ存在し、ファイルサーバー管理ＤＢ部１９３１の共有フォルダ名２００４と一致する。本発明では共有フォルダ２１０１の深さを０とする。共有フォルダ２１０１の直下にある、深さ１のフォルダ群２１３１の各フォルダ２１１１、２１２１のフォルダ名はファイルグループＩＤ２０１１に対応する。また、２１１１および２１２１の直下にある深さ２のフォルダ群２１３２の各フォルダ２１１２、２１１３、２１２２、２１２４、２１２７のフォルダ名はタスクＩＤ２０１２に対応する。一時ファイル管理で管理される一時ファイルは、深さ２のフォルダ群２１３２の直下に保存される。このときのファイル名はＮｏ２０１３に対応する。
【００５４】
続いて、Ｗｅｂアプリケーション部１９０１が持つ各機能について説明する。ファイル保存部１９１１は、スキャンサービスサーバー１０１やタスクサービスサーバー１０３、１０４からの要求に応じて、ファイルサーバー１８０２〜１８０４にファイルを多重化して保存する機能を実現する。多重度は呼び出し元であるスキャンサービスサーバー１０１やタスクサービスサーバー１０３、１０４から１以上の整数を指定でき、多重度１の場合は多重化せずに保存する場合と同義である。また多重度の最大値は、ファイルサーバー１８０２〜１８０４に存在する共有フォルダ数であり、それ以上は無視される。また、各ファイルサーバー１８０２〜１８０４の容量を均一化するため、初期データーは深さ１のフォルダ群２１３１のフォルダ数が少ないファイルサーバーから順に指定された多重度分だけ保存する。
【００５５】
ファイル保存部１９１１がスキャンサービスサーバー１０１やタスクサービスサーバー１０３、１０４からのリクエストを受信すると、ファイル保存１９１１はリクエストに含まれる多重度から保存先のファイルサーバーを決定する。保存先のファイルサーバーは、初期データーの場合は現在稼働中の任意のファイルサーバーの中から決定する。初期データー以外の場合は、初期データーが保存されたファイルサーバーの中から決定する。保存先のファイルサーバーが決定した後、ファイルグループＩＤやタスクＩＤ、Ｎｏに基づいてファイルの保存先のパスを決定し、ファイル保存処理を実行する。
【００５６】
ファイル保存処理では、ファイル保存部１９１１がバックエンド１９０２に対して保存先ファイルパスとファイルのバイナリデーターを送信する。バックエンド１９０２は保存先のファイルサーバーとの通信の可否を確認し、通信可能であった場合はファイルを保存先ファイルパスに保存する。多重保存する場合は上記の処理を多重度分繰り返す。バックエンド１９０２は、全てのファイルの保存が完了したらファイル保存部１９１１に結果を返す。ファイルの保存に成功したら、ファイル保存部１９１１はパス管理ＤＢ部１９３２に保存先ファイルパスに関するエントリを追加する。
【００５７】
ファイル取得部１９１２はタスクサービスサーバー１０３、１０４からの要求に応じてファイルサーバー１８０２〜１８０４に保存されたファイルをタスクサービスサーバー１０３、１０４に返す。ファイル取得部１９１２はタスクサービスサーバー１０３、１０４からのリクエストを受信すると、リクエストに含まれるファイルグループＩＤやタスクＩＤ、Ｎｏに基づいてパス管理ＤＢ部１９３２に問い合わせ、格納先のファイルパスを取得する。ファイル取得部１９１２はバックエンド部１９０２に対して格納先のファイパスを送信する。バックエンド部１９１２は格納先のファイルサーバーとの通信の可否を確認し、通信可能であった場合はファイルのバイナリデーターをファイル取得部１９１２に返す。ファイル取得部１９１２はバックエンド部１９１２から返却されたバイナリデーターをタスクサービスサーバー１０３、１０４に返す。
【００５８】
ファイル削除部１９１３はタスクサービスサーバー１０３、１０４やジョブ管理サービスサーバー１２０２からの要求に応じてファイルサーバー１８０２〜１８０４に格納されたエンティティを削除する。ファイル削除部１９１３はタスクサービスサーバー１０３、１０４やジョブ管理サービスサーバー１２０２からのリクエストを受信すると、リクエストに含まれるファイルグループＩＤやタスクＩＤ、Ｎｏに基づいてパス管理部１９３２に問い合わせる。ファイル削除部１９１３は取得した格納先のエンティティパスをバックエンド部１９０２に対して格納先のエンティティパスを送信する。バックエンド部１９１２は格納先のファイルサーバーとの通信の可否を確認し、通信可能であった場合はエンティティを削除する。バックエンド部１９０２は削除が完了したら、ファイル削除部１９１３に結果を返す。エンティティの削除に成功したら、ファイル削除部１９１３はパス管理ＤＢ部１９３２から削除したエンティティに関するエントリを削除する。以上、本発明を実施するための最良の形態の説明を終わる。
【００５９】
［フローチャート］
図２２、図２３、図２４を用いて、本発明におけるチケット作成画面６０１でのチケット作成処理、画像形成装置１０７での操作、およびタスクサービスサーバー１０３．１０４の処理フローについて説明する。まず、図２２を用いてチケット作成画面６０１での、スキャンチケット選択時の処理フローについて説明する。Ｓ２２０１では、ユーザーはブラウザを介して、スキャンサービスサーバー１０１にログインする。Ｓ２２０２では、スキャンサービスサーバー１０１は、フローサービスサーバー１０２からテンプレート一覧を取得し、その一覧をクライアント端末１０６上に表示する。Ｓ２２０３では、ユーザーはブラウザを介して、クライアント端末１０６上に表示されたテンプレートを選択する。ここで、選択したテンプレートに詳細な設定を行う必要がある場合にはＳ２２０４に遷移し、必要が無い場合にはＳ２２０５に遷移する。
【００６０】
Ｓ２２０４では、ユーザーはブラウザを介して、図６に示した詳細設定画面６０５上で、各種設定を行う。Ｓ２２０５では、ユーザーはブラウザを介して、スキャンチケット作成画面６０１上に表示されたチケット発行６０６を押下し、ブラウザはスキャンチケット発行依頼をスキャンサービスサーバー１０１に送信する。Ｓ２２０６では、スキャンサービスサーバー１０１は、選択されたテンプレートに対応するルートＩＤを特定し、ルートＩＤに対応するルートに含まれるタスクサービスサーバーの情報取得リクエストをフローサービスサーバー１０２に発行する。Ｓ２２０７では、フローサービスサーバー１０２は、指定されたルートＩＤに対応するルートに含まれるタスクサービスサーバーの情報をタスク情報管理ＤＢ部１３０２から取得し、その結果をスキャンサービスサーバー１０１に応答する。ここで、取得した情報の中に認可ＵＲＬ１５０３が含まれるか否かを判断する。認可ＵＲＬ１５０３が含まれていた場合はＳ２２０６へ遷移し、含まれていなかった場合はＳ２２１５へ遷移する。
【００６１】
Ｓ２２０８では、スキャンサービスサーバー１０１は、認可ＵＲＬ先１５０３へのリダイレクト命令をクライアント端末１０６のブラウザへ発行する。ここで、認可ＵＲＬ先は、タスクサービスサーバーが連携する外部サービスの認証・認可を行うためのＷｅｂサービスがホストされているＵＲＬとなる。Ｓ２２０９では、クライアント端末１０６は、Ｓ２２０８にて発行されたリダイレクト指示を受信し、そのリダイレクト先（認可ＵＲＬが示す先）にアクセスする。Ｓ２２１０では、外部サービスはクライアント端末１０６に認証画面を表示するための応答をブラウザに返す。Ｓ２２１１では、ユーザーはブラウザを介して、クライアント端末１０６に表示された認証画面で外部サービスのユーザーＩＤ、およびパスワードを入力する。その後、外部サービスへのログインが成功した場合には、スキャンサービスサーバー１０１に対して外部サービスへのアクセスの権利を与えるか与えないかの入力を認可画面を介して行う。
【００６２】
Ｓ２２１２では、外部サービスは、クライアント端末１０６に対して、スキャンサービスサーバー１０１のＵＲＬへのリダイレクト命令を発行する。この時、この命令には、アクセストークン取得に必要な認可コードと呼ばれる文字列が埋め込まれる。Ｓ２２１３では、クライアント端末１０６は、Ｓ２２１０にて受信したリダイレクト命令に従って、指定されたスキャンサービスサーバー１０１のＵＲＬにリダイレクトされる。Ｓ２２１４では、スキャンサービスサーバー１０１は、リダイレクト命令に埋め込まれた認可コードを用いて外部サービスに対してアクセストークンの要求処理を行う。Ｓ２２１５では、外部サービスは、Ｓ２２１２で発行された認可コードを検証し、それが正当なものであった場合にはスキャンサービスサーバー１０１に対してアクセストークンを発行する。この時、アクセストークンの他に、アクセストークンの有効期限も同時に発行される。上記Ｓ２２０８からＳ２２１５までの処理の流れは、ＯＡｕｔｈ２．０という仕組みを用いて実現される。
【００６３】
Ｓ２２１６では、スキャンサービスサーバー１０１は、チケットＩＤを生成する。Ｓ２２１７では、スキャンサービスサーバー１０１は、Ｓ２２１６にて作成されたチケットＩＤ，選択したテンプレートに対応するルートＩＤ，およびパラメーターをチケット管理ＤＢ部５０２に保存する。ここで、パラメーターには、Ｓ２２０４にて設定されたスキャンチケットの詳細設定、およびＳ２２１６にて発行されたアクセストークン、および有効期限が含まれる。Ｓ２２１８では、スキャンサービスサーバー１０１は、Ｓ２２１６にて作成したチケットＩＤをクライアント端末１０６上に表示するための命令を発行する。以上の処理によって、ユーザーが選択したテンプレートの中に、外部サービスへの認証・認可処理が必要なタスクサービスサーバーが含まれる場合には、外部サービスへのアクセストークンを取得可能となる。なお、スキャンサービスサーバーは、ユーザーの認証処理の失敗等によりアクセストークンの取得が出来なかった場合、チケットを発行せず処理を終了する。その際、チケットが作成されなかった旨をデバイスへ送信する等の構成が考えられる。
【００６４】
次に、図２３を用いて、画像形成装置１０７でのスキャンチケット選択から始まる一連の処理フローについて説明する。Ｓ２３０１では、ユーザーは画像形成装置１０７のログインＵＩを介して、画像形成装置１０７にログインする。Ｓ２３０２では、画像形成装置１０７は、スキャンサービスサーバー１０１に対して、スキャンチケットの一覧の取得を要求する。Ｓ２３０３では、スキャンサービスサーバー１０１は、チケット管理ＤＢ部５０２から、チケット情報の一覧を取得し、画像形成装置に応答する。この時、応答メッセージには、図７に示された全てのカラムの情報が含まれる。Ｓ２３０４では、画像形成装置１０７は、取得したチケットの一覧をユーザーインターフェース上に表示する。この時、取得したチケット情報にアクセストークンが含まれており、かつそのアクセストークンの有効期限が切れている場合には、Ｓ２３０５に遷移する。それ以外の場合には、Ｓ２３０６に遷移する。なお、Ｓ２３０３では全てのカラムの情報が含まれると説明したが、必ずしもそうでなくても良い。例えば、アクセストークンの有効期限が切れているチケットに関してはチケットの一覧に含めなくても良いし、その他、特定のチケットは含めないようにする構成でも良い。
【００６５】
Ｓ２３０５では、画像形成装置１０７は、Ｓ２３０４にて表示されたチケットの中で、有効期限が切れたチケットの上に、有効期限が切れたことを示すシンボルを、重畳表示する。これにより、ユーザーは、チケットのアクセストークンの有効期限が切れていることを判別可能となる。また、この有効期限が切れたチケットは、押下できないようにする。Ｓ２３０６では、ユーザーは画像形成装置の操作ＵＩを介して、画像形成装置に表示されたチケットを選択し、原稿を設置し、スキャン操作を開始する。Ｓ２３０７では、画像形成装置は、選択されたチケットに紐づけられたルートＩＤと、パラメーター、およびスキャンデーターをスキャンサービスサーバー１０１に送信する。
【００６６】
Ｓ２３０８では、スキャンサービスサーバー１０１は、受信したスキャンデーターをフローサービスサーバー１０２に送信する。Ｓ２３０９では、フローサービスサーバー１０２は、受信したスキャンデーターを保存し、スキャンサービスサーバー１０１にファイルグループＩＤを送信する。Ｓ２３１０では、スキャンサービスサーバー１０１は、受信したファイルグループＩＤと、画像形成装置から送信されたパラメーター、およびルートＩＤを、フローサービスサーバー１０２に送信する。Ｓ２３１１では、フローサービスサーバー１０２は、受信したファイルグループＩＤ、ルートＩＤ，およびパラメーターをジョブ管理ＤＢ５０２に保存する。以上の処理により、ユーザーは、アクセストークンの有効期限切れを、容易に認識することが出来る。
【００６７】
次に、図２４を用いて、タスクサービスサーバーの処理フローについての説明を行う。タスクサービスサーバーはジョブ管理ＤＢ１６０２に保持されるデーターの中から、自サービスが処理すべきジョブを選択し、パラメーター１７０７を基に処理を行う。以下に詳細なフローについて記載する。Ｓ２４０１では、タスクサービスサーバーはフローサービスサーバー１０２に対して、自タスクサービスサーバーに割り振られたタスクＩＤが設定されたジョブ情報の取得要求を発行する。ここで、タスクＩＤは、例えばタスクサービスサーバーの設定ファイルに記載されていてもよいし、固定値としてタスクサービスサーバーに与えられていてもよい。
【００６８】
Ｓ２４０２では、フローサービスサーバー１０２は、ジョブ管理ＤＢ５０２に指定されたタスクＩＤと等しい値となるカレントタスクＩＤ１７０４をもつ行があるかどうかを確認する。同じ値を持つ行が存在しない場合にはＳ２４０１に遷移する。同じ値を持つ行が存在し、かつ、その行のステータス１７０５が０の場合には、その行を選択し、Ｓ２４０３に遷移する。Ｓ２４０３では、フローサービスサーバー１０２は、Ｓ２４０２にて選択した行に含まれるステータス１７０５を１に変更する。これにより、他のタスクサービスサーバーがこのジョブを選択することを防ぐことが出来る。また、タスクサービスサーバーに対して、更新した行の情報を送信する。
【００６９】
Ｓ２４０４では、タスクサービスサーバーは、フローサービスサーバー１０２から取得した情報に含まれるファイルグループＩＤ１７０３を基に、フローサービスサーバー１０２に対して処理対象のスキャンデーターの取得要求を発行する。Ｓ２４０５では、フローサービスサーバー１０２は、指定されたファイルグループＩＤを基にスキャン画像データーを取得し、タスクサービスサーバーに送信する。Ｓ２４０６では、タスクサービスサーバーは、取得したデーターに対して処理を行う。ここで、行われる処理としては、例えばＯＣＲ解析や、ＪＰＥＧ変換などの画像処理、Ｇｏｏｇｌｅ（登録商標）へのデーター格納などがある。ここで、フローサービスサーバー１０２から取得したジョブ情報のデーターの中に外部サービスへのアクセスを行うためのアクセストークンが保存されている場合には、タスクサービスサーバーはこれを用いて外部サービスへのアクセスを行う。ここで、この処理が正常終了した場合にはＳ２４０９に遷移する。また、異常終了した場合にはＳ２４０７に遷移する。
【００７０】
Ｓ２４０７では、タスクサービスサーバーは、フローサービスサーバー１０２に対して該ジョブのステータスを２（エラー発生）にするための要求を発行する。Ｓ２４０８では、フローサービスサーバー１０２は、更新要求に従ってジョブ情報管理ＤＢ部１６０２のステータス１７０５を２に更新する。Ｓ２４０９では、フローサービスサーバー１０２は、現在処理をしているジョブのジョブＩＤを基にジョブ情報管理ＤＢ部１６０２からルートＩＤを求める。さらに、求めたルートＩＤを基に、ルート情報管理ＤＢ部１３０１から次に行われるタスクＩＤを求める。Ｓ２４１０では、フローサービスサーバー１０２は、Ｓ２４０９で求めたタスクＩＤをもって、ジョブ情報管理ＤＢ部１６０２のカレントタスクＩＤ１７０４を更新する。Ｓ２４１１では、フローサービスサーバー１０２は、ステータス１７０５を０（処理待ち）とする。上記Ｓ２４０９〜Ｓ２４１１の処理を行うことで、次に処理を行うタスクサービスサーバーが、ジョブ情報管理ＤＢ部１６０２からジョブ情報を取得できるようになる。以上の処理により、あらかじめ定められたタスクの実行順通りにタスク処理を行うことが出来、かつ、タスクサービスサーバーはアクセストークンを用いた外部サービスの操作が可能となる。即ち、本願発明は、タスクを連結させてジョブを処理するシステムにおいてスムーズにタスクを実行させるために、特定タスクに必要となるアクセストークンを適切なタイミングで取得させることが出来る。
【実施例２】
【００７１】
本発明に係る第２の実施形態について説明する。以下構成に関しては実施例１と異なる点についてのみ説明する。本実施例は、実施例１に加え、アクセストークンの有効期限が切れたチケットを選択し、ジョブの実行を開始した場合の処理に関する実施例である。実施例１において、ユーザーは、画像形成装置１０７上に表示されたアクセストークンの有効期限切れを表すシンボルを確認することで、アクセストークンの有効期限切れを認識し、再取得の操作を行う。しかしながら、アクセストークンの再取得を行うためには、ユーザーはクライアント端末１０６を起動し、再度スキャンサービスサーバー１０１にアクセスする必要がある。そのため、ユーザーは、画像形成装置１０７と、クライアント端末１０６の間を行き来する必要があり、ユーザーエクスペリエンスが低いといえる。そこで、本実施例では、有効期限が切れた場合でもアクセストークンの有効期限が切れたチケットの選択を可能とし、ジョブ処理の実行を可能とするための方法を記載する。本実施例では、タスクサービスサーバーはアクセストークンを必要とする処理までのタスク処理を行い、ユーザーがアクセストークンの再取得を行うまで特定タスクの処理を待機させる。このようにすることで、ユーザーが画像形成装置とクライアント端末１０６の間を行き来する時間をタスク処理の実行に利用でき、ジョブ処理が終了するまでの時間が削減できる。なお、アクセストークンの有効期限切れのシンボルを表示しないように制御しても良い。その様な形態でチケットが選択された場合は、認証トークンを必要とする特定タスクより前のタスクまで実行する形態にしても良い。
【００７２】
また、ユーザーがアクセストークンを再入力せずに長時間放置していた場合、そのスキャン処理に関するデーターは残り続ける。そこで、ジョブに有効期限を設け、ジョブの有効期限が切れている場合には、ユーザーが画像形成装置１０７にログインするたびに有効期限の延長、もしくはジョブの削除を促す画面を表示する。これにより、ジョブが残り続けることを防止することが出来る。まず、図２５に、本実施例におけるチケット管理ＤＢ部５０２に保持されるデーターの一例を示す。図７に示すチケット管理ＤＢ部５０２のデーター例に有効期限２５０１が追加される。この有効期限は、ユーザーが作成したスキャンチケットの有効期限を表す。本有効期限は、固定値としてもよいし、図６の詳細設定画面６０５にて、有効期限を決めることが出来るようにしてもよい。
【００７３】
次に、図２６に、本実施例におけるジョブ情報管理ＤＢ部１６０２に保持されるデーターの一例を示す。図１７に示した実施例１におけるジョブ管理ＤＢ１６０２に、継続可能フラグ２６０１、および有効期限２６０２が追加されている。継続可能フラグ２６０１は、該ジョブが処理できるかできないかを示す。これがＴｒｕｅと記載されているジョブは継続可能であり、Ｆａｌｓｅと記載されているジョブは、継続不可能となるジョブである。詳細なフローについては、図２８にて記載するが、外部サービスへの認証・認可を必要とするタスクサービスサーバーがジョブ管理ＤＢ部５０２から情報を取得した際にアクセストークンの有効期限が切れている場合には、この継続可能フラグをＦａｌｓｅにする。タスクサービスサーバーは、処理を始める前にこの継続可能フラグ２６０１を確認し、これがＴｒｕｅのジョブのみ処理するようにする。これにより、アクセストークンを必要とするタスクサービスサーバーの前で処理を停止することが出来る。つまり、アクセストークンを必要しないタスクサービスサーバーの場合は、アクセストークンの有効期限が切れていてもタスク処理を行うことが出来るため、システム全体のパフォーマンス向上を図ることが出来る。次に、有効期限２６０２には、前述したチケット管理ＤＢ部５０２の有効期限２５０１と同じ値が保持される。
【００７４】
図２７に、チケットの有効期限が切れていた場合に、画像形成装置１０７上に表示されるメッセージを説明する。前述したように、表示は有効期限切れジョブの長時間の放置を防ぐために、ユーザーが画像形成装置１０７にログインするたびに表示される。画像形成装置１０７がチケットの一覧をチケット管理ＤＢ部５０２から取得する際に有効期限も取得し、有効期限が切れているチケットが存在する場合には図２７の表示を行う。図２７の表示には、有効期限が切れていることを通知するメッセージ２７０１と、有効期限を延長させる表示２７０２、および該チケットを削除する表示２７０３からなる。図２７は、有効期限の延長期間として、１２時間（２７０４）、２４時間（２７０５）、３６時間（２７０６）の３つが表示されているが、この値に特に制限はなく、さらに長時間の延長を許可してもよい。有効期限の延長を選択した場合、画像形成装置１０７の画面は、図９にて示したチケット選択画面へと遷移する。また、チケット削除の選択を行った場合には、図９にて示されたチケット一覧からチケットが削除された表示がなされる。
【００７５】
［フローチャート］
図２８、図２９を用いて、本実施例におけるタスクサービスサーバー、および画像形成装置１０７の処理フローについて説明する。まず、図２８を用いて、ジョブの有効期限が切れた場合のタスクサービスサーバーの処理フローについて説明する。Ｓ２８０１では、タスクサービスサーバーはフローサービスサーバー１０２に対して、自タスクサービスサーバーに割り振られたタスクＩＤを持つジョブ情報の取得要求を発行する。ここで、タスクＩＤは、例えばタスクサービスサーバーの設定ファイルに記載されていてもよいし、固定値としてタスクサービスサーバーに与えられていてもよい。
【００７６】
Ｓ２８０２では、フローサービスサーバー１０２は、ジョブ管理ＤＢ５０２に指定されたタスクＩＤと等しい値となるカレントタスクＩＤ１７０４をもつ行があるかどうかを確認する。同じ値を持つ行が存在しない場合にはＳ２８０１に遷移する。同じ値を持つ行が存在し、かつその行のステータス１７０５が０であり、さらに継続可能フラグの値がＴｒｕｅの場合には、それらの行を選択しＳ２８０３に遷移する。それ以外の場合にはＳ２８０１へ遷移する
Ｓ２８０３では、フローサービスサーバー１０２は、Ｓ２８０２によって選択された行の中から、最終更新時刻１７０６が最も古い行を選択する。これにより、最も昔に作成されたジョブから処理をすることが可能となる。選択した行のパラメーター１７０７にアクセストークンの有効期限（ｅｘｐｉｒｅｓ＿ｉｎ）が含まれていた場合には、Ｓ２８０４に遷移する。含まれていない場合にはＳ２８０６に遷移する。
【００７７】
Ｓ２８０４では、タスクサービスサーバーは、ｅｘｐｉｒｅｓ＿ｉｎの値と現在時刻とを比較する。比較した結果、ｅｘｐｉｒｅｓ＿ｉｎの値が過去（アクセストークンの有効期限が切れている）の場合は、Ｓ２８０５に遷移する。また、ｅｘｐｉｒｅｓ＿ｉｎの値が現在時刻、もしくはそれより未来の場合はＳ２８０６に遷移する。Ｓ２８０５では、タスクサービスサーバーは、フローサービスサーバー１０２に対して処理中のジョブの継続可能フラグ２６０１をＦａｌｓｅにするためのリクエストを発行する。Ｓ２８０６では、タスクサービスサーバーはフローサービスサーバー１０２に対して、処理中のジョブのステータス１７０５を、“１”（処理中）にするためのリクエストを発行する。
【００７８】
Ｓ２８０７では、フローサービスサーバー１０２は、タスクサービスサーバーから発行された継続可能フラグ２６０１の更新リクエストを受信し、それにしたがってジョブ情報管理ＤＢ部１６０２の継続可能フラグ２６０１を更新する。Ｓ２８０８では、フローサービスサーバー１０２は、タスクサービスサーバーから発行されたステータス１７０５の更新リクエストを受信し、それにしたがってジョブ情報管理ＤＢ部１６０２のステータスを更新する。Ｓ２８０９以降の処理に関しては、図２４にて説明したＳ２４０４以降の処理と同一であるため、説明は省略する。
【００７９】
次に、図２９を用いて、画像形成装置１０７での有効期限の入力、およびジョブ削除の入力フローについて説明する。Ｓ２９０１では、ユーザーは画像形成装置１０７にログインする。Ｓ２９０２では、画像形成装置１０７は、スキャンサービスサーバー１０１に対してスキャンチケットの一覧の取得を要求する。Ｓ２９０３では、スキャンサービスサーバー１０１は、チケット管理ＤＢ部５０２からチケット情報の一覧を取得し、画像形成装置に応答する。この時、応答メッセージには、図２５に示された全てのカラムの情報が含まれる。ここで、応答メッセージに含まれる有効期限２５０１を検証し、その値が現在時刻未満（有効期限が切れている）であるメッセージが存在する場合、Ｓ２９０４に遷移する。有効期限２５０１が、現在時刻以上（有効期限が切れていない）である場合には、Ｓ２９１０に遷移する。
【００８０】
Ｓ２９０４では、画像形成装置１０７は、図２７に示す、有効期限の延長、もしくはチケットの削除を促す画面を表示する。ここで、ユーザーが有効期限の延長を選択した場合にはＳ２９０７に遷移する。また、ユーザーが削除を選択した場合には、Ｓ２９０５に遷移する。Ｓ２９０５では、画像形成装置は、スキャンサービスサーバー１０１に対して、チケット情報管理ＤＢ５０２に保存してあるチケット、およびジョブ情報管理ＤＢ部１６０２に保存してあるジョブの情報の削除リクエストを発行する。
【００８１】
Ｓ２９０６では、スキャンサービスサーバー１０１は、画像形成装置１０７から送信されたチケット削除リクエストに基づき、チケット管理ＤＢ部５０２のチケット情報を削除する。Ｓ２９０６では、スキャンサービスサーバー１０１は、画像形成装置１０７から送信されたジョブ削除リクエストをフローサービスサーバー１０２に対して送信する。Ｓ２９０７では、フローサービスサーバー１０２は、スキャンサービスサーバー１０１から送信されたジョブ情報削除リクエストに基づきジョブ情報管理ＤＢ部１６０２のジョブ情報を削除する。
【００８２】
Ｓ２９０９では、ユーザーは画像形成装置上に表示された有効期限の延長期間から希望の有効期限の延長期間を選択する。Ｓ２９１０では、画像形成装置は、スキャンサービスサーバー１０１に対してＳ２９０９で入力されたチケット、およびジョブの有効期限の延長要求を行う。Ｓ２９１１では、スキャンサービスサーバー１０１は、画像形成装置から送信された有効期間の延長要求を受信しチケット情報管理ＤＢ５０２の有効期限２５０１を更新する。Ｓ２９１２では、スキャンサービスサーバー１０１は、フローサービスサーバー１０２に対して、画像形成装置から送信された有効期間の延長要求に基づきジョブの有効期限の延長要求を行う。Ｓ２９１３では、フローサービスサーバー１０２は、スキャンサービスサーバー１０１から発行された有効期限延長要求に基づきジョブ情報管理ＤＢ部１６０２の有効期限２６０２を更新する。Ｓ２９１４以降の処理フローに関しては、図２３のＳ２３０４以降の処理フローと同様であるため説明は省略する。
【００８３】
以上の処理によって、タスクサービスサーバーはアクセストークンを必要とする処理までのタスク処理を行い、ユーザーがアクセストークンの再取得を行うまで特定タスクの処理を待機させることでシステムのパフォーマンスを向上させることができる。また、有効期限が切れたジョブの存在をユーザーに促すことが出来るため、処理されないジョブが残り続けるといった問題を防ぐことが出来る。
【符号の説明】
【００８４】
１０１  スキャンサービスサーバー
１０２  フローサービスサーバー
１０３、１０４  タスクサービスサーバー
【図１】
0005822668.tif 000002
【図２】
0005822668.tif 000003
【図３】
0005822668.tif 000004
【図４】
0005822668.tif 000005
【図５】
0005822668.tif 000006
【図６】
0005822668.tif 000007
【図７】
0005822668.tif 000008
【図８】
0005822668.tif 000009
【図９】
0005822668.tif 000010
【図１０】
0005822668.tif 000011
【図１１】
0005822668.tif 000012
【図１２】
0005822668.tif 000013
【図１３】
0005822668.tif 000014
【図１４】
0005822668.tif 000015
【図１５】
0005822668.tif 000016
【図１６】
0005822668.tif 000017
【図１７】
0005822668.tif 000018
【図１８】
0005822668.tif 000019
【図１９】
0005822668.tif 000020
【図２０】
0005822668.tif 000021
【図２１】
0005822668.tif 000022
【図２２】
0005822668.tif 000023
【図２３】
0005822668.tif 000024
【図２４】
0005822668.tif 000025
【図２５】
0005822668.tif 000026
【図２６】
0005822668.tif 000027
【図２７】
0005822668.tif 000028
【図２８】
0005822668.tif 000029
【図２９】
0005822668.tif 000030