JP5968156B2 - ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム - Google Patents

ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム Download PDF

Info

Publication number
JP5968156B2
JP5968156B2 JP2012176373A JP2012176373A JP5968156B2 JP 5968156 B2 JP5968156 B2 JP 5968156B2 JP 2012176373 A JP2012176373 A JP 2012176373A JP 2012176373 A JP2012176373 A JP 2012176373A JP 5968156 B2 JP5968156 B2 JP 5968156B2
Authority
JP
Japan
Prior art keywords
job
service server
file
information
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012176373A
Other languages
English (en)
Other versions
JP2014036335A (ja
Inventor
弘孝 船山
弘孝 船山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2012176373A priority Critical patent/JP5968156B2/ja
Priority to US13/950,734 priority patent/US9064122B2/en
Publication of JP2014036335A publication Critical patent/JP2014036335A/ja
Application granted granted Critical
Publication of JP5968156B2 publication Critical patent/JP5968156B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • G06F21/608Secure printing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Facsimiles In General (AREA)

Description

本発明は、ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラムに関する。特にジョブ処理においてジョブの暗号化の制御に関する。
近年、サーバコンピュータ側で各種処理を行う形態として、クラウドコンピューティングシステムやSaaS(Software as a Service)という技術が利用されている。クラウドコンピューティングでは、多くのコンピューティング・リソースを利用し、データ変換やデータ処理を分散実行することで、多くのクライアントからの要求を同時に処理することが可能となる。また、クラウドコンピューティングの特徴を生かすため、サーバでの一連の処理を細かく規定されたタスクの連結で実現し、それらを同時並行的に処理することで、多数のジョブをスケーラブルに処理する技術が存在する。
上記処理において、各タスクにてデータ変換やデータ処理の結果生成される一時データは、ユーザのグループを示すテナント単位に分離されて管理されている。サーバ単位などでデータを物理的に分離するのは非常に高コストであるため、保存および取得の際にテナントIDを指定することで論理的に分離されたテナント内でデータが管理されている。
テナント単位でデータを管理する際、テナントIDを使ってデータを暗号化することでセキュリティを向上することが可能となる。
特許文献1は音声データの無線通信において、複数の暗号化方式とそれらを一意に識別する識別子とをテーブルで管理する。暗号化・復号化する際には識別子に対応した暗号化方式をテーブルから特定し、その暗号化方式を用いて暗号化・復号化を行う。無線通信で送信されるデータは、暗号化された音声データと暗号化方式の識別子を含むため、復号化の際には暗号化の際と同じアルゴリズムを用いて復号化が可能である。
特開平8―316951号公報
しかしながら、例えばスキャンなどのテナント内で閉じたジョブであればテナントIDから一意に生成される暗号化キーを利用すればよい。しかしながら、最終的にタスクの処理結果をFAX等の手段でテナント外にデータを送信するような処理を実行する場合は、その限りではない。例えば、タスクが処理対象データの取得時に誤って同一テナントの別ジョブのデータを取得してしまった場合、同一テナントのデータであるため、タスクは誤取得したデータを復号化可能であり、その結果、テナント外に誤ったデータを送信してしまう。つまり、上述したような例えばスキャンおよびFAX処理で使用されるデータを同一の方式で暗号化する技術では、この課題を解決できない。
引用文献1では、識別子がデータに同梱されているため、テーブルを参照することで必ず復号化できてしまい、誤って取得したデータのテナント外への誤送信を防ぐことができない。
本発明では、セキュリティを更に向上させたシステムを提供することを目的とする。
上記課題を解決するために、本願発明のジョブ処理システムは以下の構成を有する。即ち、1または複数のタスクから構成されるジョブを処理するジョブ処理システムであって、前記ジョブ処理システムは、ジョブの指示を受け付けるサービスサーバと、前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、を有し、前記ジョブ管理サービスサーバは、前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持手段と、前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定手段と、を有し、前記タスク処理サービスサーバは、前記特定手段により特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化手段を有し、前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、前記ジョブは、スキャンジョブもしくはFAXジョブであり、前記暗号化情報において、前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されている
本発明により、セキュリティを向上させたシステムを提供することが可能となる。
クラウドシステムの全体構成を示す図。 クライアント端末、サーバコンピュータのハードウェア構成図。 クライアント端末のシステム構成図。 画像形成装置の内部構成の詳細を示す図。 スキャンサービスサーバ群のシステム構成図。 FAXサービスサーバ群のシステム構成図。 暗号化ライブラリのシステム構成図。 暗号化情報の構成要素を表した図。 スキャンサービスサーバ群にて保持するチケット情報の一例を示す図。 スキャンサービスサーバ群にて保持するテンプレート情報の一例を示す図。 タスクサービスサーバ群のシステム構成図。 スキャン処理の一連の流れを示すシーケンス図。 FAXサービスサーバ群の処理の一連の流れを示すシーケンス図。 フローサービスサーバ群のシステム構成図。 ルート管理サービスサーバ群のシステム構成図。 ルート管理サービスサーバ群にて保持するルート情報の一例を示す図。 ルート管理サービスサーバ群にて保持するタスク情報の一例を示す図。 ジョブ管理サービスサーバ群のシステム構成図。 タスクのリトライ判定処理の流れを示すフローチャート。 ジョブ管理サービスサーバ群にて保持するジョブ情報および暗号化方式の情報の一例を示す図。 一時ファイル管理サービスサーバ群の全体構成図。 中央管理サーバのシステム構成図。 中央管理サーバにて保持するファイルサーバ情報およびファイルパス情報の一例を示す図。 一時ファイル管理サービスサーバ群にて使用するファイルサーバのフォルダの階層構造を示す図。 第二の実施形態に係るデータの復号化失敗が原因によるジョブのリトライ処理の流れを表したフローチャート。
<第1の実施形態>
以下、本発明を実施するための形態について図面を用いて説明する。
[システム構成]
図1は、本発明の実施の形態に係るクラウドシステムとしての情報処理システムの全体構成を示す図である。図1において、本実施形態の情報処理システムを構成するサーバ群として、FAXサービスサーバ100、スキャンサービスサーバ101、フローサービスサーバ102、タスクサービスサーバ103〜105が含まれる。なお、FAXサービスサーバ100およびスキャンサービスサーバ101は、ジョブの指示を受け付けるサービスサーバの一例である。さらに、クラウドシステムには、クライアント端末106、109、画像形成装置107、クラウドサービスサーバ108が含まれる。各装置は、ネットワーク110〜113を介して接続されている。図1において、タスクサービスサーバ103〜105、クライアント端末106、109、画像形成装置107、クラウドサービスサーバ108は、ネットワーク上にて複数台接続されていることを仮定している。図1に示した各サーバは、物理的に複数台であってよく、処理を分担するサーバ群として構成することも可能である。
ネットワーク110〜113は、例えば、インターネット等のLAN、WAN、電話回線、専用デジタル回線、ATMやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれかである、いわゆる通信ネットワークである。なお、ネットワーク110〜113は、これらの組み合わせによって実現されてもよく、データの送受信が可能であればよい。一般的なクラウドサービスでは、ネットワーク110、112はインターネット、ネットワーク111、113は企業内ネットワークやサービスプロバイダーのネットワークとなる。
FAXサービスサーバ100、スキャンサービスサーバ101、フローサービスサーバ102、タスクサービスサーバ103〜105は、一般的にサーバコンピュータ上にて実行されており、これらサーバ群がユーザに対してクラウドサービスを提供する。また、様々な企業などにより、同様にクラウドサービスサーバ108がインターネット上に公開されており、これらも一般的にサーバコンピュータ上にて実行されている。上述した通り、1台のサーバが提供すべき機能を複数台のサーバで実現しても良い。本願明細書では、各サーバを以降“サービス”と記載することもある。
クライアント端末106、109は、例えば、デスクトップパソコン、ノートパソコン、モバイルパソコン、PDA(パーソナルデータアシスタント)等であり、その他、プログラムの実行環境が内蔵された携帯電話であってもよい。クライアント端末106、109には、Webブラウザ(インターネットブラウザ、WWWブラウザ、World Wide Webの利用に供するブラウザ)等のプログラムを実行する環境が内蔵されている。
なお、図1のFAXサービスサーバ100乃至ネットワーク113を含むシステムを情報処理システムとして定義する。また、情報処理システムからクライアント端末106、画像形成装置107、ネットワーク111を除いたシステムをジョブ処理システムと定義する。
ここで、課題および目的について更に詳細に記載する。1つ以上のタスクから構成されるジョブと、ジョブに関する情報や実行順序などを制御するジョブ管理サービスを想定する。各タスクはそれぞれ複数のインスタンスを立ち上げることが可能である。また、各インスタンスは非同期でジョブ管理サービスからジョブを取得し、例えば黒点除去などの画像処理や共有フォルダへのデータ格納処理などを行う。各タスクで扱うデータは一時ファイル管理サービスにて管理される。
各タスクは、必要に応じて処理すべきデータを一時ファイル管理サービスサーバから取得し、処理結果を保存する。ジョブ管理サービスへは2つ以上の異なるサービスのアプリケーションからジョブが投入される。本明細書では、ジョブ管理サービスにジョブを投入するアプリケーションを“サービスアプリケーション”と呼ぶ。このような各タスクが、非同期でジョブを処理するシステムにおいて、ジョブ投入時にデータを暗号化し、タスク処理時に必要に応じて復号化・暗号化を行うことを考える。クラウドサービスでは、ユーザをテナントという概念で管理することがあり、例えばクラウドサービスを利用する会社が1のテナントから構成され、1のテナントに対して1のテナントIDが割り当てられる。この場合、他テナントの情報が誤って利用されることを防止する必要がある。すなわち、バイナリデータの暗号化キーは、異なるテナント同士で共通のものであってはならない。
一方、何らかの障害等によりタスクが利用するデータを復号化できなくなった場合、一時ファイル管理サービスのアプリケーションログを参照することで容易に復号化可能な構成にし、データ復旧の手段を確保する必要がある。従って、暗号化キーは複数テナントで非共通かつより多くのジョブで共通である方が望ましいため、テナントIDから一意に生成されるキーであればよい。しかし、このようにテナントIDから生成されるキーだけでは、同一テナントのデータが誤って処理される可能性があるため、その可能性を更に防止することが本願の目的の1つである。
[ハードウェア構成]
図2は、本発明の実施形態に係るクライアント端末106、109、各種サービスサーバのコンピュータ(情報処理装置)のハードウェア構成図である。
図2において、CPU(Central Processing Unit)202は装置全体の制御を行う。CPU202は、ハードディスク(HDD)205に格納されているアプリケーションプログラム、OS等を実行し、RAM(Randam Access Memory)203にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ROM(Read Only Memory)204は記憶手段であり、内部には、基本I/Oプログラム等の各種データを記憶する。RAM203は一時記憶手段であり、CPU202の主メモリ、ワークエリア等として機能する。HDD205は外部記憶手段の一つであり、大容量メモリとして機能し、Webブラウザ等のアプリケーションプログラム、サービス群のプログラム、OS、関連プログラム等を格納する。
ディスプレイ206は表示手段であり、キーボード207から入力したコマンド等を表示する。インターフェース208は外部装置I/Fであり、プリンタ、USB機器、周辺機器を接続する。キーボード207は指示入力手段であり、ユーザからの指示を受け付ける際に用いられる。システムバス201は、装置内におけるデータの流れを司るものである。NIC(ネットワークインターフェースカード)209は、インターフェース208、ネットワーク110〜112を介して外部装置とのデータのやり取りを行う。なお、上記のコンピュータの構成はその一例であり、図2の構成例に限定されるものではない。他の構成要素を備えていてもよい。また、データやプログラムの格納先は、その特徴に応じてROM204、RAM203、HDD205などで変更することも可能である。
図3は、本発明の実施形態に係るクライアント端末106、109のシステム構成図である。図3において、Webブラウザ301を利用し、FAXサービスサーバ100、スキャンサービスサーバ101が提供するWebアプリケーションへのリクエストの送信と、レスポンスの表示等を行う。クラウドサービスを利用するユーザはクライアント端末106、109のWebブラウザ301を介してクラウドサービスを利用する。
図4は、本発明の実施形態に係る画像形成装置107の内部構成を例示するブロック図である。本実施形態ではスキャン機能およびプリント機能の両機能を併せ持つ装置を例にする。なお、スキャンサービスサーバにより提供されるスキャンサービスを実現する場合、プリント機能のない、スキャン専用装置を用いてもよい。
図4において、画像形成装置107は、画像処理ユニット401、印刷ユニット402、および読み込みユニット403から構成される。画像処理ユニット401は、CPU404、直接記憶部405、間接記憶部406、ユーザインターフェース407、および外部インターフェース408から構成される。
CPU404は、所定のプログラムを実行し、画像形成装置107の各種制御を指示するユニットである。CPU404はマルチプロセッサでも良い。直接記憶部405は、CPU404がプログラムを実行する際に使用するワークメモリであり、例えばRAM(Random Access Memory)により実現される。CPU404が実行するプログラムは直接記憶部405にロードされる。間接記憶部406は、アプリケーションプログラム、およびプラットフォームプログラムを含む各種プログラムが記憶され、SSD(Solid State Drive)、または、HDDにより実現される。間接記憶部406に記憶されている各種プログラムは、CPU404がプログラムを実行する際に直接記憶部405へ移動する。
ここで、プラットフォームについて説明する。プラットフォームにより、ユーザが独自に開発した新しいアプリケーションを画像形成装置107上で実行できる他、画像形成装置107の操作画面をカスタマイズすることが可能になる。CPU404は、間接記憶部406に記憶されたプラットフォームプログラムを直接記憶部405に移動する。移動が完了するとCPU404は、プラットフォームプログラム(例えば、Java(登録商標))を実行することができる状態になる。本明細書では、CPU404がプラットフォームプログラムを実行することを、「プラットフォームが起動する」と称する。なお、プラットフォームは、画像形成装置107のファームウェア(不図示)上で動作することになる。プラットフォームプログラムは、オブジェクト指向で記述されたアプリケーションプログラムを実行するための環境を提供するものである。
プラットフォーム上でアプリケーションプログラムを実行する方法について説明する。本実施形態において、プラットフォーム上には、スキャンした画像をクラウドサービスに送信するスキャンソフトウェアが動作している。スキャンソフトウェアは、ネットワークを介して接続されているスキャンサービスサーバ101より、例えば、HTTP(Hyper Text Transfer Protocol)などの通信プロトコルによってスキャンチケットの一覧の受信を行う。スキャンチケットについては、処理のシーケンスと共に後述する。
スキャンチケットにはスキャンのための設定や、その後の処理フローといった情報が記録されている。以降、本明細書では、スキャンソフトウェアの動作により実現する部位を“スキャンソフトウェア部”と呼ぶ。ユーザはスキャンソフトウェア部により表示されたスキャンチケット一覧より、スキャンチケットを選択し、原稿を読み込ませることでスキャンを完了できる。スキャンソフトウェア部はユーザが選択したスキャンチケットの情報とスキャンした画像データを合わせてスキャンサービスサーバ101に送信する。このように、プラットフォームでアプリケーションプログラムを実行することによって、画像形成装置107の制御を実現することができる。
アプリケーションプログラムの実行方法について説明する。起動したプラットフォームは、間接記憶部406に記憶されたアプリケーションプログラムを直接記憶部405に移動する。移動が完了すると、プラットフォームはアプリケーションプログラムを実行することができる状態になる。そして、プラットフォームはアプリケーションプログラムを実行する。このように、アプリケーションプログラムを実行することで提供できるプラットフォームの機能を、本明細書では“プラットフォームアプリケーション”と呼ぶ。さらに、プラットフォームは、本明細書に記載するフローチャートの各処理の一部を行うことが可能である。
ユーザインターフェース407は、ユーザからの処理依頼を受け付ける際に用いられる。例えば、キーボード、マウス等を介してユーザが入力した指示に応じた信号を受け付ける。外部インターフェース408は、外部装置からのデータ受信や外部装置へのデータ送信が可能となっている。例えば、外部装置としては、外付けHDDや外付けUSBメモリ等の外付け記憶装置、またはネットワークを介して接続された別体のホストコンピュータや画像形成装置等の別体装置が含まれる。画像形成装置107は、ネットワーク110、111を介して、クライアント端末106、スキャンサービスサーバ101と通信可能である。
[スキャンサービスおよびFAXサービスにおける処理シーケンス]
続いて、クラウドサービスを提供するFAXサービスサーバ100、スキャンサービスサーバ101、タスクサービスサーバ103〜105の各サービスサーバ群に関して説明する。また、各サービスサーバの説明とともに、図12のスキャン処理のシーケンス図を用いてスキャン処理の流れを説明する。さらに、図13のFAXサービスのシーケンス図を用いてFAX処理の流れを説明する。
(スキャンチケットの作成とスキャンジョブの投入)
まずスキャン処理についてスキャンチケットの作成とスキャンジョブの投入までの流れを説明する。図5を用いて、スキャンサービスサーバ101に関して説明する。スキャンサービスサーバ101はクラウドサービスにおけるスキャン機能の提供を行うサービスである。
図5は、本実施形態に係るスキャンサービスサーバ101のシステム構成図である。スキャンサービスサーバ101は、Webアプリケーション部501、チケット管理DB502、テンプレート管理DB503、および暗号化ライブラリ504を有する。
暗号化ライブラリ504は、データの暗号化・復号化に用いられるライブラリである。図7に暗号化ライブラリ504のシステム構成図を示す。暗号化方式管理部711は、暗号化・復号化モジュール721〜723を管理する。暗号化・復号化モジュール721〜723はそれぞれ異なる暗号化方式に対応している。
暗号化キー生成方法管理部712は、キー生成モジュール731、732を管理する。暗号化部701および復号化部702は、暗号化方式読込部705を介して暗号化方式管理部711から暗号化・復号化モジュール721〜723のうちの1つを読み込み、それぞれデータの暗号化・復号化を行う。このように複数の暗号化・復号化モジュール721〜723を読み込み可能にすることで、サービスアプリケーション(すなわち、ジョブの内容)によって異なる暗号化方式を採用することが可能となる。
キー生成部704は、暗号化キー生成方法読込部708を介して暗号化キー生成方法管理部712からキー生成モジュール731、732のうちの1つを読み込み、暗号化・復号化に必要な暗号化キーを生成する。このように複数のキー生成モジュールを読み込み可能とすることで、サービスアプリケーションによって異なる暗号化キーの生成方法、異なる暗号化キーの生成に必要な情報(要素)の組み合せを採用することが可能になる。これにより、例えば、暗号化キーをテナントIDに対して一意なものとするか、ジョブに対して一意なものにするかを選択することが可能になる。固定キー記憶部706は、キー生成部704にて暗号化キーを生成する際に利用する固定キーを記憶する。暗号化ID発行部707は、ジョブに対して一意の暗号化IDを発行する。
暗号化方式取得部703は、フローサービスサーバ102に対して後述の暗号化方式IDを送信し、対応する暗号化情報801を取得する機能を有する。図8は、暗号化情報801の構成要素を表した図である。暗号化情報801は、暗号化アルゴリズム811、鍵長812、および暗号化キー生成方法813を有する。暗号化アルゴリズム811としては、例えばAES(Advanced Encryption Standard)やDES(Data Encryption Standard)などが用いられる。鍵長812は例えば64、128、256(bit)などが設定される。また、暗号化キー生成方法813には、暗号化キーを生成する際に利用する、テナントID・固定キー・暗号化IDの組み合せ方法や、そこから暗号化キーを生成する方法の情報が設定される。
詳細については後述するが、暗号化ライブラリ504は、暗号化・復号化を行うサービスアプリケーションや、タスクサービスサーバ103〜105から共通で利用される。したがって、固定キー記憶部706にて記憶される固定キーは、暗号化ライブラリ504を利用するサービスアプリケーションや、タスクサービスサーバ103〜105で共通である。
本実施形態において、Webアプリケーション部501は、スキャン機能を提供する。チケット作成部511はユーザがスキャンチケットを作成するための一連の機能を提供する。スキャンチケットには、画像形成装置107で原稿をスキャンする際の設定や、その後の処理フローの定義、各処理フローで実施されるタスクの為のパラメーター等が記録されている。
図12にて、チケット作成部511は、クライアント端末106のWebブラウザ301からのスキャンチケット作成画面リクエストを受け取る(S1201)。そして、チケット作成部511は、スキャンチケット作成画面を生成し、応答として返す(S1202)。この際、チケット作成部511は、テンプレート管理部516より、テンプレート管理DB503に登録されているスキャンチケットのテンプレートを取得し、テンプレートに含まれるテンプレート名を、クライアント端末106のWebブラウザ301に表示させる。テンプレート管理DB503の詳細な内容は、図10を用いて後述する。
ユーザがクライアント端末106のWebブラウザ301にて操作を行い、スキャンチケット作成リクエストを行うと(S1203)、チケット作成部511は、スキャンチケット作成を行い、作成したスキャンチケットの保存をチケット管理部515へ依頼する。チケット管理部515は、チケット保存のリクエストを受け、チケット管理DB502にチケット情報を保存する。チケット管理DB502の詳細な説明は図9を用いて後述する。チケット管理部515は、チケット情報を保存した後、クライアント端末106に対してレスポンスを行う(S1204)。
外部I/F514は、画像形成装置107上で動作するスキャンソフトウェア部との通信を行う。スキャンソフトウェア部より、外部I/F514を介して、チケット一覧部512の機能や、スキャン受信部513の機能へのアクセスを行う。図12にて、画像形成装置107のスキャンソフトウェア部は外部I/F514を介してチケット一覧部512に対し、チケット一覧取得を行う(S1205)。チケット一覧部512では、チケット管理部515が管理する情報を使ってスキャンチケットの一覧を生成し、スキャンソフトウェア部にレスポンスを返す(S1206)。レスポンスを受け取った画像形成装置107は、取得したチケット一覧を図4におけるユーザインターフェース407上に表示する。
図12のスキャン処理(S1207)にて、ユーザインターフェース407上に表示されたスキャンチケットのいずれかがユーザにより選択され、画像形成装置に備え付けられたスキャン装置に紙を設置された後、スキャンが実行される。そして、スキャンソフトウェア部は、外部I/F514を介してスキャン受信部513に対し、スキャンした画像データとスキャンチケットの送信を行う(S1208)。
スキャン受信部513は、送信されたスキャンチケット、および画像データを受信した後、暗号化方式ID記憶部517から画像データの暗号化方式IDを取得する。なお、これらの取得処理によりジョブの実行指示の受け付けが実現される。ここで暗号化方式ID記憶部517に記憶可能な暗号化方式IDの個数は1である。すなわち、スキャンサービスサーバ101に対するデータの暗号化方式は1つであることを表している。スキャン受信部513は、暗号化方式IDを暗号化ライブラリ504の暗号化方式取得部703を介してフローサービスサーバ102に送信する(S1209)。フローサービスサーバ102は暗号化方式IDに対応する暗号化情報801をレスポンスとして返却する(S1210)。なお、フローサービスサーバ102は、暗号化方式IDと暗号化情報801を対応付けて管理している。
次に、暗号化ID発行部707は暗号化IDを発行する(S1211)。続いてスキャン受信部513は、固定キー記憶部706から固定キーを取得する。スキャン受信部513は、S1210にて取得した暗号化情報801に含まれる暗号化キー生成方法813に従って、固定キーとジョブに紐付いた情報とを組み合わせ、暗号化キーを生成する(S1212)。本処理の詳細については、後述する。なお、ここでの暗号化キー生成により、第一の生成手段を実現する。
次に、スキャン受信部513は、画像データの暗号化リクエストを暗号化部701に対して行うために、画像データとともにS1210にて取得した暗号化情報801とS1212にて生成した暗号化キーとを暗号化部701に対して送信する。そして、暗号化部701は、暗号化方式読込部705を介して暗号化方式管理部711から暗号化情報801に対応した暗号化・復号化モジュールを読み込み、暗号化を行う(S1213)。これにより、第一の暗号化手段を実現する。
スキャン受信部513は、暗号化された画像データをフローサービスサーバ102に投入する(S1214)。フローサービスサーバ102は、暗号化された画像データを正しく受信できた場合には、スキャンサービスサーバ101に、画像データを一意に表すID(ファイルグループID)を応答する(S1215)。その後、スキャン受信部513は、ファイルグループID、暗号化方式ID、スキャンチケット、テナントID、および暗号化IDをジョブとしてフローサービスサーバ102に送信する(S1216)。つまり、ジョブは、スキャンサービスサーバ101等のサービスサーバがジョブの実行指示を受け付けることで生成される。ここでテナントIDとはジョブを投入(実行指示)したユーザ(図12ではスキャン処理を指示したユーザ)が属するテナントを表す、テナントに対して一意となるテナント情報(ID:識別子)である。なお、これらのジョブは、後述のジョブ管理サービスサーバ1402にて管理される。
以上がスキャンサービスサーバ101のシステム構成と、スキャンジョブの投入までの流れである。
(FAXチケットの作成とFAXジョブの投入)
続いて、FAX処理についてFAXチケットの作成とFAXジョブの投入の流れを説明する。
図6を用いてFAXサービスサーバ100に関して説明する。FAXサービスサーバ100はクラウドサービスにおけるFAX機能の提供を行うサービスサーバである。なお、FAXは送受信ともに行うことができるのが一般的であるが、本実施形態ではFAXの送信に部分のみに関して記載する。
図6は本実施形態に係るFAXサービスサーバ100のシステム構成図である。FAXサービスサーバ100は、Webアプリケーション部601、暗号化ライブラリ504、チケット管理DB603、およびテンプレート管理DB604を有する。暗号化ライブラリ504については、スキャンサービスサーバ101における構成(図7)と同様であるものとする。
Webアプリケーション部601は、FAX機能を提供するアプリケーションプログラムを提供する。チケット作成部614はユーザがFAXチケットを作成するための一連の機能を実現する。FAXチケットには処理フローの定義、FAXの送信先の宛先情報などが記録されている。
図13にて、チケット作成部614はクライアント端末109のWebブラウザ301からのFAXチケット作成画面リクエストを受け取る(S1301)。チケット作成部614は、FAXチケット作成画面を生成し、リクエストに対する応答として生成したFAXチケット作成画面を返す(S1302)。この際、チケット作成部614は、テンプレート管理部617よりテンプレート管理DB604に登録されているFAXチケットのテンプレートを取得し、テンプレートに含まれるテンプレート名をクライアント端末109のWebブラウザ301に表示する。テンプレート管理DB604の詳細な情報は図10を用いて後述する。
ユーザがクライアント端末109のWebブラウザ301を介して行った操作に従って、クライアント端末109は、FAXチケット作成リクエストを行う(S1303)。FAXサービスサーバ100は、FAXチケット作成リクエストを受信するとFAXチケット作成を行い、作成したFAXチケットの保存をチケット管理部616に依頼する。チケット管理部616は、チケット保存のリクエストを受け、チケット管理DB603にチケット情報を保存する。チケット管理部616は、チケット情報を保存した後、FAXチケット作成リクエストに応答を返す(S1304)。その後、ユーザからの指示に従って、クライアント端末109は、FAXチケットと共にFAX送信するデータをFAXサービスサーバ100に対して送信する(S1305)。
文書受信部613は、クライアント端末109からFAXチケット及びFAX送信するデータを受け取ると、暗号化方式ID記憶部618から文書の暗号化方式IDを取得する。ここで暗号化方式ID記憶部618に記憶可能な暗号化方式IDの個数はスキャンサービスサーバ101の場合と同様に1である。すなわちFAXサービスサーバ100に対するデータの暗号化方式は1つであることを表している。なお、暗号化方式ID記憶部618に記述されている暗号化方式IDはスキャンサービスサーバ101における暗号化方式ID記憶部517に記述されている暗号化方式IDは同じものとは限らない。このように、フローサービスサーバ102を利用するサービスアプリケーションごとに暗号化方式IDを変えることで、サービスアプリケーションごとに異なる暗号化方式でデータを暗号化することが可能である。図13のS1306〜S1313にてFAX処理時の文章データの暗号化、ジョブ投入の流れを示しているが、これはスキャン処理時のS1209〜S1216と同様であるため、説明は省略する。
[データ構成]
図9にて、スキャンサービスサーバ101のチケット管理DB502、およびFAXサービスサーバ100のチケット管理DB603で管理されている情報の一例を示す。ユーザID901は、該チケットを作成したユーザを一意に表すID(識別子)である。チケットID902は、チケットを一意に定義するIDである。ルートID903は、チケット作成画面にて、ユーザが選択したテンプレートに対応するIDである。ユーザがチケットを選択し、スキャンを実行した場合には、そのスキャンデータは、ルートID903に定義されたタスクの順番で処理される。パラメーター904は、スキャンの設定が記録されている。
図10にて、スキャンサービスサーバ101のテンプレート管理DB503、およびFAXサービスサーバ100のテンプレート管理DB604で管理されているテンプレートのデータ構成の一例を示す。テンプレート管理DB503、604は、図15のルート情報管理DB1501にて管理されるルート情報と、チケット作成画面上に表示されるテンプレートとを関連付けるためのデータベースである。ここで、テンプレートのデータは、テンプレートID1001、1011、テンプレート名1002、1012、およびルートID1003、1013を有する。テンプレートID1001、1011は、各テンプレートを一意に表すIDである。テンプレート名1002、1012は、チケット作成画面に表示される名前である。ルートID1003、1013は、図16に示すルート情報管理DB1501にて管理されるルートID1601への外部キーを表す。
[タスクサービスサーバにおける処理]
図11を用いて本発明の実施形態に係るタスクサービスサーバ103〜105のシステム構成図を説明する。タスクサービスは、スキャンサービス、FAXサービス等を実現するための要素機能を提供するタスク処理サービスサーバ(またはサーバ群)によって提供される。例えば画像データ対して画像処理を行うタスクサービスサーバや、ファイル共有機能を提供するような他のクラウドサービスサーバ108に対して画像データを送信するタスクサービスサーバが存在する。なお、1または複数のタスク処理サービスサーバが、ジョブを構成する1または複数のタスクを処理することで、ジョブに基づく処理が実行される。
本実施形態では、タスクサービスサーバ103は、画像データに対してOCR処理を行いOCR結果のテキストデータを画像データに埋め込む処理を行う。タスクサービスサーバ104は、クラウドサービスサーバ108の中のストレージ機能を提供する特定のサービスサーバに対して画像データをアップロードし保管する処理を行う。タスクサービスサーバ105は、FAX装置に文書(または画像)データを送信する処理を行う。なお、これらのタスクサービスサーバの処理は一例であり、他の処理を行っても構わない。
以下、図12のスキャン処理のシーケンス図、図13のFAX処理のシーケンス図の流れとともに各構成要素の説明を行う。図12、図13においてタスクサービスサーバ103はスキャンサービスサーバ101もしくはFAXサービスサーバ100のいずれかから投入されたジョブのルートに共通で組み込まれるタスクである。
タスクサービスサーバ103〜105のタスク取得部1111は、S1217、S1229、S1314、S1329にて、定期的にフローサービスサーバ102に問い合わせを行い、タスクサービスサーバ103〜105にて処理可能なタスクを取得する。例えば、フローサービスサーバ102が管理しているカレントタスクIDを使って処理可能なタスクが取得される。タスクサービスサーバ103〜105のデータ取得部1112は、タスク取得部1111で取得したジョブ情報を元に、S1219、S1231、S1316、S1331にてフローサービスサーバ102から処理すべき画像データや文書データなどの取得を行う(S1220、S1232、S1317、S1332)。
続いて、タスクサービスサーバ103〜105のデータ取得部1112は、画像・文書データの復号化を行う。まず、タスクサービスサーバ103〜105のデータ取得部1112は、暗号化ライブラリ504の暗号化方式取得部703を介し、フローサービスサーバ102に対して暗号化アルゴリズム取得リクエスト(取得要求)を送信する(S1221、S1233、S1318、S1333)。データ取得部1112は、暗号化アルゴリズム取得リクエストをジョブの構成要素の1つである後述の暗号化方式IDと共にフローサービスサーバ102に送信する。フローサービスサーバ102は、暗号化方式IDに対応した暗号化情報801をレスポンスとして返却する(S1222、S1234、S1319、S1334)。つまり、フローサービスサーバ102のジョブ管理サービスサーバ1402は、タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する。そしてS1222、S1234、S1319、S1334においてレスポンスとして暗号化情報を返却する。
続いて、タスクサービスサーバ103〜105のデータ取得部1112は、キー生成部を介して、暗号化情報801の鍵長812に則った長さの暗号化キーを生成する(S1223、S1235、S1320、S1335)。ここでの暗号化キー生成により、第二の生成手段を実現する。暗号化キーは、固定キー記憶部706やジョブ情報管理DB1802にて管理されているジョブに関連付けられた情報を用いて生成される。
タスクサービスサーバ103〜105のデータ取得部1112は、画像・文書データの復号化リクエストを復号化部702に対して行う。この際、画像・文書データと共に、S1222、S1234、S1319、S1334にて取得した暗号化情報801およびS1223、S1235、S1320、S1335にて生成した暗号化キーを送信する。タスクサービスサーバ103〜105の復号化部702は、暗号化方式読込部705を介して暗号化方式管理部711から暗号化情報801に対応した暗号化・復号化モジュールを読み込み、復号化を行う(S1224、S1236、S1321、S1336)。この処理により、S1220、S1232、S1317、S1332にて取得されたデータが、ジョブ管理サービスサーバにより特定された暗号化情報に従って復号化される。つまり、暗号化情報に定義されている方式および情報を用いて、タスクサービスサーバの復号化部702が、暗号化ファイルを復号化する。
タスクサービスサーバ103〜105のタスク処理部1115は、取得・復号化したデータに対して各種処理を行う(S1225、S1237、S1322、S1337)。
次に、タスクサービスサーバ103のタスク処理部1115は、S1225、S1337での処理結果(処理後のデータ)を暗号化する。タスクサービスサーバ103のタスク処理部1115は、S1222、S1219で取得した暗号化情報801およびS1223、S1335にて取得した暗号化キーを処理結果とともに暗号化部701に対して送信する。暗号化部701は暗号化方式読込部705を介して暗号化方式管理部711から暗号化情報801に対応した暗号化・復号化モジュールを読み込み、暗号化を行う(S1226、S1324)。これにより、第二の暗号化手段を実現する。さらに、データ保存部1113はS1226、S1324で暗号化したデータをフローサービスサーバ102に保存させる(S1227、S1325)。
タスクサービスサーバ104のタスク処理部1115は、S1237での処理結果のデータをクラウドサービスサーバ108に送信する(S1238)。タスクサービスサーバ105のタスク処理部1115は、FAX端末に対して画像・文書データを送信する(S1338)。タスクサービスサーバ103〜105のタスクステータス通知部1114は、一連のタスク処理の終了結果をフローサービスサーバ102に通知する(S1228、S1239、S1326、S1339)。なお、タスク処理の最中に処理が失敗した場合には、その旨をフローサービスサーバ102に通知することとなる。
[フローサービスサーバ]
続いて、フローサービスサーバ102の詳細な説明を行う。フローサービスサーバ102は、ルート管理、ジョブ管理、一時ファイル管理を行うサービスサーバである。
図14は、フローサービスサーバ102のシステム構成の概要である。フローサービスサーバ102は、ルート管理サービスサーバ1401、ジョブ管理サービスサーバ1402、および一時ファイル管理サービスサーバ1403を有する。これらサーバ上により各種処理が実行されることで各サービスが提供され、それらが連携することで、フローサービスサーバ102のサービスがユーザに提供される。なお、ジョブ管理サービスサーバ1402は、ジョブを指示したユーザが属するテナントごとにジョブを管理する。
ルート管理サービスサーバ1401は、タスク間を連結させたルートの情報を管理する。上述したように、1のジョブは1または複数のタスクからなり、一連のタスクを処理することでジョブが処理される。ジョブ管理サービスサーバ1402は、ルートの情報に基づきジョブの処理を管理する。一時ファイル管理サービスサーバ1403は、ジョブ投入時のデータや各タスクの処理結果データの保存を管理する。
[ルート管理サービスサーバ]
図15は、ルート管理サービスサーバ1401のシステム構成である。ルート管理サービスサーバ1401は、ルート情報管理DB1501、タスク情報管理DB1502、外部I/F1503を有する。
ルート情報管理DB1501は、タスク間の連結をルートという単位で定義するための情報を保持する。タスク情報管理DB1502は、各処理をタスクという単位で定義し、タスクに関する情報を保持している。外部I/F1503は、ルート管理サービスサーバ1401への問い合わせや、ジョブ管理サービスサーバ1402等からルート情報管理DB1501やタスク情報管理DB1502を参照する際に用いられるI/Fである。
図16にて、ルート情報管理DB1501で管理されている情報の一例を示す。ルートID1601は、ルートを一意に識別するIDである。シーケンス番号1602はそのルートの何番目に実行するタスクであるかを保持する。タスクID1603はどのタスクを実行するかを示す。例えば、データ1606、1607、1608では、ルートIDが「002」のルートを定義している。ルート「002」においてデータ1606が1番目に実行するタスクであり、タスクIDが「Task1」のタスクを実行する。同様に、データ1608が2番目に実行するタスクであり、「Task3」のタスクを実行する。データ1609は3番目に実行するタスクであり、「Task5」のタスクを実行するという定義となる。
図17にて、タスク情報管理DB1502で管理されている情報の一例を示す。タスクID1701は、タスクを一意に識別するIDである。タスク名1702は、そのタスクの名前である。リトライ回数上限値1703は、各タスクが失敗した際に行うリトライ回数の上限値である。各タスクは、タスク処理が成功した場合は終了するが、ファイルの取得失敗、通信エラーなど何らかの要因で最後まで処理が行われなかった場合は、リトライ回数上限値1703に基づいてタスクのリトライを実行する。
[ジョブ管理サービスサーバ]
図18を用いて、ジョブ管理サービスサーバ1402に関して説明する。ジョブ管理サービスサーバ1402は、タスクサービスサーバ103〜105からのリクエストに対してタスク情報の授受や、各タスクの状態を管理するためのサービスサーバである。
外部I/F1801は、タスクサービスサーバ103〜105、およびFAXサービスサーバ100、スキャンサービスサーバ101との通信を行う際に用いられるI/Fである。ジョブ情報管理DB1802は、作成された各ジョブのステータスや、各ジョブが扱うデータのIDを管理する。ジョブ情報管理DB1802については図20を用いて後述する。ジョブ追加部1803は、スキャンサービスサーバ101、FAXサービスサーバ100それぞれが、ジョブ投入リクエストを受け(図12、図13のS1216、S1313)、ジョブ情報管理DB1802にジョブ情報を格納する。ここで、ジョブ情報は、図20に示されるジョブ情報管理DB1802に存在する各カラム(2001〜2013)から構成される。
ジョブ情報取得部1804は、タスクサービスサーバ103〜105からタスク取得リクエストを受け(S1217、S1229、S1314、S1329)、ジョブ情報管理DB1802からジョブ情報を取得する。ここで取得したジョブ情報は、タスク取得処理(S1218、S1230、S1315、S1330)にてタスクサービスサーバ103〜105にリクエストに対する応答として渡される。ジョブ情報更新部1805は、結果通知(S1228、S1239、S1326、S1339)にて、タスクサービスサーバ103〜105からジョブ情報更新リクエストを受け、ジョブ情報管理DB1802の該ジョブの情報を更新する。ここで、更新される情報としては、カレントタスクID2004、ステータス2005、最終更新時刻2006などが挙げられる。
カレントタスクID2004を更新する前に、ジョブ情報取得部1804は、ルート情報管理DB1501から、該ルートIDにおける次のタスクIDを取得する。ジョブ情報更新部1805は、取得したタスクIDに基づきカレントタスクID2004を更新する。また、ジョブ情報更新部1805は、ステータス2005は“0”、最終更新時刻2006は現在時刻で更新する。暗号化方式管理DB1806は、画像・文書データの暗号化方式をIDや鍵長を管理する。暗号化方式管理DB1806については図20を用いて後述する。
(ジョブ情報管理DB)
図20(a)を用いて、ジョブ情報管理DB1802に保持されるデータについて説明する。ジョブID2001は、各ジョブ情報に一意に割り当てられるIDである。ルートID2002には、各ジョブを構成するタスク間のルートを示すルートIDが格納される。ファイルグループID2003は、一時ファイル管理サービスサーバ1403から発行されるIDである。カレントタスクID2004は、そのジョブにおいて現在処理対象であるタスクを示すタスクIDである。タスクサービスサーバ103〜105は、このカレントタスクID2004を確認し、自タスクサービスに割り当てられたタスクIDと等しい行を選択し処理を行う。カレントタスクIDは、該タスクの処理が完了した際には、ジョブ情報更新部1805が、該ルートIDの次のタスクのタスクIDに更新する。更新された情報に基づいて、ルートにおける次のタスクを処理することとなる。
ステータス2005には、処理待ち(0)、実行中(1)、エラー発生(2)、正常終了(−1)を表す値が設定される。タスクサービスサーバ103〜105がジョブを選択する際には、ステータスが待機中(0)となっている行を選択する。これにより、複数のタスクサービスが同一のタスクを処理するといった事態を防ぐことができる。タスクサービスサーバ103〜105が、ジョブを選択した後に、タスクサービスサーバ103〜105は、ジョブ情報更新部1805を介してステータス2005を(1)に変更する。
最終更新時刻2006は、タスクサービスサーバ103〜105が該ジョブに対して、何らかの処理を実行した際に更新される。ここでの何らかの処理とは、ステータスの更新処理やジョブの取得処理である。タスクサービスサーバ103〜105がジョブを取得する際に、自タスクIDと等しいジョブ情報が複数存在していた場合には、最終更新時刻2006が最も古いジョブを選択する。これにより、いずれかのジョブに対する処理が滞ることがないように各ジョブに対して処理が進められる。
パラメーター2007には、ジョブの設定情報や、他のタスクサービスサーバに渡す設定情報などを記載する。暗号化方式ID2008には暗号化方式管理DB1806で管理されている暗号化方式ID2021が格納される。後述のように、暗号化方式ID2008が異なるジョブは異なる暗号化方式で暗号化される。また、タスクサービスサーバ103〜105がデータを復号化・暗号化する際は、暗号化方式ID2008を用いて暗号化方式管理DB1806から対応する暗号化方式および鍵長の情報を取得する。
ジョブリトライ回数上限値2009は、ジョブのリトライ回数の上限値を表す。ジョブリトライ回数2010は、ジョブに対する現在のリトライ回数を表す。カレントタスクリトライ回数2011は、カレントタスクID2004で表される現在処理対象となっているタスクのリトライ回数を表す。リトライ判定部1807はタスクおよびジョブが失敗した場合、ジョブリトライ回数上限値2009、ジョブリトライ回数2010、カレントタスクリトライ回数2011、タスクのリトライ回数上限値1703を用いてリトライの制御を行う。タスクとジョブのリトライ判定処理については図19にて後述する。
テナントID2012は、ジョブID2001で表されるジョブを投入したユーザが属するテナントのテナントIDを表す。暗号化ID2013は、暗号化・復号化の際に必要となる暗号化キーを生成する際に利用される、ジョブに対して一意のIDである。
本実施形態では暗号化キー生成の際に、ジョブに対して一意な情報として暗号化ID2013を用いたが、これはジョブID2001や、ファイルグループID2003などジョブに対して一意な情報であれば何を用いてもよい。
(暗号化方式管理DB)
図20(b)を用いて暗号化方式管理DB1806で管理されているデータ(暗号化情報)について説明する。暗号化方式ID2021は各暗号化情報に一意に割り当てられるIDである。暗号化方式2022は、AES、DESなどの暗号化アルゴリズム(またはそれに変わる記号)が格納される。各暗号化方式の違いは、暗号化方式管理部711の暗号化・復号化モジュール721〜723の違いに対応する。また、暗号化方式IDは、各サービスサーバが1つ保持しているため、暗号化方式IDはサービスサーバに対応するとも言える。そのため、ジョブ管理サービスサーバは、サービスサーバごとに暗号化情報を保持しているとも言える。
鍵長2023は、暗号化方式2022で暗号化を行う際に用いる鍵長がビット単位で格納される。図5、図6の暗号化方式ID記憶部517、618には、暗号化方式管理DB1806で管理される暗号化方式ID2021が記憶されている。スキャンサービスサーバ101、FAXサービスサーバ100はそれぞれ暗号化方式ID記憶部517、618でそれぞれ異なる暗号化方式ID2021が割り当てられることで、画像・文書データを異なる暗号化方式で暗号化することができる。
暗号化キー生成方法2024は、キー生成部704にて暗号化キーを生成する際の暗号化キーの生成方法を表したものである。ここではA方法とB方法が示されており、生成方法とは、例えば、暗号化キーの生成の際に用いる要素(情報)を示す。要素としては、テナントID、ユーザID、暗号化IDなどの情報が挙げられ、これらのうちのいずれを組み合わせてキーを生成するかを定義することができる。
例えば、スキャンなどのテナント内で閉じたジョブであればテナント外部にデータを送信しないので、本願が想定する課題が発生しない。そのため、スキャンジョブ用に暗号化キーを生成するための生成方法(要素の組み合わせ)は、例えば、テナントIDと固定キーと定義する。一方、FAXジョブなどはテナント外部にデータを送信するため、本願が想定する課題が発生する。そのため、FAXジョブ用に暗号化キーを生成するための生成方法(要素の組み合わせは)、例えば、テナントID、暗号化ID、固定キーと定義する。なお、単に同一テナント内の他のデータの誤送信を防ぐことだけを目的とするのであれば、ジョブに対して一意の暗号化IDを使って暗号化キーを作成すれば良い。しかし、暗号化キーを生成するために、暗号化IDだけでなくテナントIDや固定キーを組み合わせることで、セキュリティの更なる向上を図ることができる。
(リトライ判定処理)
図19を用いてタスク、ジョブのリトライ判定処理について説明する。タスクサービスサーバ103〜105の処理が何らかの要因で失敗した場合、タスクサービスサーバ103〜105はタスク処理の失敗をフローサービスサーバ102に通知する。この場合、リトライ判定部1807は、タスクのリトライを行うのか、ジョブのリトライを行うのか、それとも失敗ジョブとして処理を終了するのかを決定する。図19はリトライ判定部1807の判定処理を示したフローチャートである。
S1901にて、リトライ判定部1807は、カレントタスクリトライ回数2011と、カレントタスクID2004に対応するタスクのリトライ回数上限値1703とを比較し、カレントタスクのリトライ回数が上限値以下か否かを判定する。カレントタスクのリトライ回数が上限値以下である場合(S1901にてYES)、リトライ判定部1807は、S1931にてカレントタスクリトライ回数2011をインクリメントする。次に、リトライ判定部1807は、S1932にてジョブのステータス2005を待機中(0)に変更する。このようにジョブ情報管理DB1802を変更することで、タスクサービスサーバ103〜105はタスクを再取得し、処理のリトライを行うことができる。
カレントタスクのリトライ回数が上限値以下でない場合(S1901にてNO)、リトライ判定部1807は、S1910にてジョブリトライ回数が上限値以下か否かを判定する。その際、リトライ判定部1807は、ジョブリトライ回数上限値2009とジョブリトライ回数2010とを比較する。
ジョブのリトライ回数が上限値以下である場合(S1910にてYES)、リトライ判定部1807は、S1911にてジョブリトライ回数2010をインクリメントする。続いて、リトライ判定部1807は、S1912にてルートID2002を用いて、ルート情報管理DB1501にアクセスし、先頭のタスクIDを取得する。そして、リトライ判定部1807は、カレントタスクID2004を先頭タスクのIDに更新する。このようにジョブ情報管理DB1802を変更することで、先頭のタスクから処理をリトライする、すなわちジョブのリトライを行う。
リトライ回数が上限値以下でない場合(S1910にてNO)、リトライ判定部1807は、S1921にてジョブのステータス2005を失敗(2)に更新し、これによりジョブは失敗したとして扱う。
[一時ファイル管理サービスサーバ]
一時ファイル管理サービスサーバ1403は、スキャンサービスサーバ101、FAXサービスサーバ100やタスクサービスサーバ103〜105からのリクエストに応じて、ファイルを格納し、その格納先のパスを管理するサービスサーバである。タスクサービスサーバ103〜105からファイル取得リクエストがあった際には、保存したファイルのバイナリデータをタスクサービスサーバ103〜105に返却する。また、タスクサービスサーバ103〜105やジョブ管理サービスサーバ1402からファイル削除のリクエストがあった際には、保存したファイルを削除する。
図21は一時ファイル管理サービスサーバ1403の全体構成例を示す図である。一時ファイル管理サービスサーバの全体構成は、中央管理サーバ2101、ファイルサーバ2102〜2104から構成され、ネットワーク2110を介して接続されている。また、ネットワーク2110はネットワーク110と接続されている。ネットワーク2110はネットワーク110と同様のデータの送受信が可能な通信ネットワークである。中央管理サーバ2101は一般的にサーバコンピュータ上にて実行される。ファイルサーバ2102〜2104は一般にサーバコンピュータ上にて実行されており、必要に応じて電子データを保存、削除、取得する機能を有している。なお、本実施形態に係る一時ファイル管理サービスサーバの全体構成として、図21に示す構成を示したが、この構成に限定するものではなく、物理的には任意の数の装置にて構成されるようにしてもよい。
[中央管理サーバ]
図22は、本実施形態に係る中央管理サーバ2101のシステム構成図である。中央管理サーバ2101は、Webアプリケーション部2201、バックエンド部2202、ファイルサーバ管理DB2231、およびパス管理DB2232を有する。Webアプリケーション部2201は、一時ファイル管理機能を提供する。バックエンド部2202は、ファイルサーバ2102〜2104へのファイル保存、取得、削除などの機能を実現する。
ファイルサーバ管理DB2231は、ファイルの格納先であるファイルサーバ2102〜2104に関する情報を管理する。図23(A)にファイルサーバ管理DB2231で管理するデータの例を示す。ID2301は、ファイルサーバを一時ファイル管理サービスサーバ1403内で一意に識別するための情報である。ホスト名2302は、ネットワーク2110上におけるファイルサーバの一意のアドレスを示し、Webアプリケーション部2201がバックエンド部2202を通じてファイルサーバ2102〜2104にアクセスする際に用いられる。
アクティブフラグ2303は、Webアプリケーション部2201がバックエンド部2202を通じてホスト名2302に存在するファイルサーバとの通信の可否を示す真偽値である。ここでは、通信可能な場合は“True”、通信不可能な場合は“False”の値を取る。共有フォルダ名2304は、ファイルサーバ2102〜2104上に作成した共有フォルダ名である。ホスト名2302と共有フォルダ名2304から、ファイルサーバ2102〜2104上に作成した共有フォルダのフルパスが得られる。
パス管理DB2232は、一時ファイル管理サービスサーバ1403で管理している、ファイルサーバ2102〜2104に保存された一時ファイルとフォルダに関する情報を管理する。本明細書では、一時ファイル管理サービスサーバ1403で管理するファイルとフォルダとを合わせて「エンティティ」と呼ぶ。図23(B)にパス管理DB2232で管理するデータの例を示す。ファイルID2310は、ファイルサーバ2102〜2104でエンティティを一意に識別するための情報である。ファイルグループID2311は、各エンティティを関連するジョブでグループ化するための情報である。従って、同一ジョブによって生成されたエンティティは同一のファイルグループID2311を有する。
タスクID2312は、各エンティティに関連するタスクのタスクID、またはフォルダを表す「Folder」、またはスキャンサービスサーバ101からのリクエストにより格納されたファイルを表す「init」のいずれかの値が入る。本明細書では、スキャンサービスサーバ101、FAXサービスサーバ100からのリクエストにより格納されたファイルを「初期データ」と呼ぶ。つまり、初期データとは、ジョブの指示を受け付けた際の状態のデータを意味し、言い換えると、いずれのタスクサービスサーバにおいても当該ジョブを構成するタスクが未処理の状態のデータである。
No2313は、各タスクによって生成されたファイルのファイル番号を示す。パス2314は、エンティティの格納先のフルパスを示し、Webアプリケーション部2201がバックエンド部2202を通じてエンティティにアクセスする際に使用する。ホスト名2315は、各エンティティの格納先のファイルサーバのホスト名を示す。作成日2316及び有効期限2317は、各エンティティの作成日及び有効期限を示す。テナントID2318は、各エンティティの所有者の属するテナントのテナントIDを表す。
[ファイルサーバ]
ファイルサーバ2102〜2104は、一時ファイル管理サービスサーバ1403で管理するファイルを格納する。図24にファイルサーバ2102〜2104のフォルダの階層構造の概念図を示す。
共有フォルダ2401は共有であり、Webアプリケーション部2201がバックエンド部2202を通じてアクセス可能とする。共有フォルダ2401は各サーバに少なくとも1つ存在し、ファイルサーバ管理DB2231の共有フォルダ名2304と一致する。本実施形態では共有フォルダ2401の深さを“0”として扱う。共有フォルダ2401の直下にある、深さ“1”のフォルダ群2431のフォルダ2411、2421のフォルダ名はファイルグループID2311に対応する。また、フォルダ2411、2421の直下にある深さ“2”のフォルダ群2432のフォルダ2412、2413、2422、2424、2427のフォルダ名はタスクID2312に対応する。一時ファイル管理サービスサーバにて管理される一時ファイルは、深さ“2”のフォルダ群2432の直下に保存される。このときのファイル名はパス管理DB2232のNo2313に対応する。
[中央管理サーバ]
続いて、中央管理サーバ2101のWebアプリケーション部2201が持つ各機能について説明する。ファイル保存部2211は、スキャンサービスサーバ101、FAXサービスサーバ100やタスクサービスサーバ103〜105からのリクエストに応じて、ファイルサーバ2102〜2104にファイルを多重化して保存する機能を実現する。多重度は、呼び出し元であるスキャンサービスサーバ101、FAXサービスサーバ100やタスクサービスサーバ103〜105から1以上の整数を指定できる。例えば、多重度1の場合は、多重化せずに保存する場合と同義である。多重度2の場合は、同一のファイルを2のファイルにコピーして各ファイルサーバの共有フォルダにそれぞれ保存することを意味する。また多重度の最大値は、ファイルサーバ2102〜2104に存在する共有フォルダ数であり、それ以上は無視されるものとする。
ファイル保存部2211は、スキャンサービスサーバ101もしくはFAXサービスサーバ100から初期データ保存のリクエストを受信すると、まず現在稼働中のファイルサーバの中から保存先のファイルサーバを選択する。この際、ファイル保存部2211は、深さ“1”のフォルダ群2431のフォルダ数が少ないファイルサーバから順に指定された多重度分だけ選択する。これは、いずれかのファイルサーバに保存するデータが偏ることを防止し、ファイルサーバ2102〜2104それぞれの容量をできるかぎり均一化するためである。スキャンサービスサーバ101およびFAXサービスサーバ100からの初期データ保存のリクエストには、多重度、タスクID、およびNoの情報が含まれる。ファイル保存部2211は、ファイルグループIDを生成し、ファイルグループID、タスクID、Noに基づいて保存先のファイルパスを生成する。そして、ファイル保存部2211は、後述のファイル保存処理を実行する。
ファイル保存部2211がタスクサービスサーバ103〜105からファイル保存のリクエストを受信した場合、そのリクエストには多重度、ファイルグループID、タスクID、およびNoの情報が含まれる。ファイル保存部2211は、受信したリクエストに含まれるファイルグループIDと同一のファイルグループIDを有する初期データが保存されているファイルサーバをパス管理DB2232に格納された情報から特定する。ファイル保存部2211は、特定したファイルサーバの中から多重度分だけランダムにファイル保存先のファイルサーバとして選択する。ファイル保存部2211は、選択した各ファイルサーバに対して、ファイルグループID、タスクID、Noに基づいて保存先のファイルパスを決定し、ファイル保存処理を実行する。
ファイル保存処理において、ファイル保存部2211がバックエンド部2202に対して保存先ファイルパスとファイルデータを送信する。バックエンド部2202は、保存先のファイルサーバとの通信の可否を確認し、通信可能である場合はファイルを保存先ファイルパスに保存する。さらに多重化してファイルを保存する場合は、上記の処理を多重度分繰り返す。バックエンド部2202は、全てのファイルの保存が完了したらファイル保存部2211に結果を返す。ファイル保存部2211は、パス管理DB2232に保存先ファイルパスに関するエントリを多重度分追加する。
ファイル保存処理の完了後、初期データを保存した場合のみ、呼び出し元のスキャンサービスサーバ101あるいはFAXサービスサーバ100に対してファイルグループIDを返却する。
ファイル取得部2212は、タスクサービスサーバ103〜105からのリクエストに応じてファイルサーバ2102〜2104に保存されたファイルをタスクサービスサーバ103〜105に返す。ファイル取得部2212は、タスクサービスサーバ103〜105からのリクエストを受信すると、リクエストに含まれるファイルグループIDやタスクID、Noの情報に基づいてパス管理DB2232に問い合わせ、格納先のファイルパスを取得する。ファイル取得部2212は、バックエンド部2202に対して格納先のファイパスを送信する。バックエンド部2202は、格納先のファイルサーバとの通信の可否を確認し、通信可能である場合はファイルデータをファイル取得部2212に返す。ファイル取得部2212は、バックエンド部2202から返却されたデータをタスクサービスサーバ103〜105に返す。
ファイル削除部2213は、タスクサービスサーバ103〜105やジョブ管理サービスサーバ1402からのリクエストに応じてファイルサーバ2102〜2104に格納されたエンティティを削除する。ファイル削除部2213は、タスクサービスサーバ103〜105やジョブ管理サービスサーバ1402からのリクエストを受信すると、リクエストに含まれるファイルグループIDやタスクID、Noの情報に基づいてパス管理DB2232に問い合わせる。
ファイル削除部2213は、取得した格納先のエンティティパスをバックエンド部2202に対して格納先のエンティティパスを送信する。バックエンド部2202は、格納先のファイルサーバとの通信の可否を確認し、通信可能である場合はエンティティを削除する。バックエンド部2202は削除が完了したら、ファイル削除部2213に結果を返す。エンティティの削除に成功したら、ファイル削除部2213は、パス管理DB2232から削除したエンティティに関するエントリを削除する。
以上、本実施形態により、ジョブの処理内容に応じて、暗号化方式および暗号化のためのキーの生成方法を制御することができる。その結果、FAXサービスサーバ100が投入するようなテナント外にデータを送信するジョブにおいて、ジョブに対して一意の暗号化IDを使って暗号化キーを生成する。そのため、同一テナントに属する異なるジョブのデータがテナント外に誤送信される問題を防止できる。
<第2の実施形態>
第1の実施形態では、タスクサービスサーバ103〜105がS1225、S1236、S1321、S1336にてデータの復号化に失敗した場合、リトライ判定部1807は図19のリトライ判定処理に従って復号化処理を再実行するようにリトライ制御を行う。しかし、タスク失敗の原因がデータ復号化の失敗である場合、データ(ファイル)そのものが復号化の対象として間違っている可能性がある。この場合、タスクのリトライを行なっても再度データの復号化にて失敗する。従って、リソースを無駄に消費するこのリトライ処理は不要である。
本実施形態では、復号化失敗が原因のリトライの場合、タスクサービスサーバ103〜105が同一のデータを用いたリトライを行わないようにすることで、無駄なリソースの消費を防ぐ。本実施形態では、復号化した対象のデータの状態に応じてリトライ制御の内容を切り替える。具体的には、初期データを利用するタスクの場合、つまり、初期データに対して復号化が失敗した場合、初期データは多重化されているため、復号化に失敗したデータとは別のデータ(多重化された別のデータ)を用いてタスクのリトライを行う。一方、初期データ以外のデータを利用するタスクの場合、つまり、すでに他のタスクサービスサーバにて処理が行われた結果得られたデータに対して復号化が失敗した場合、現在のタスクは復号化可能なデータが存在しない。そのため、1つ前のタスクからリトライを行う。なお、第2の実施形態において省略されている部分は、第1の実施形態に記載された処理が実行される。
図25は、スキャンサービスサーバ101またはFAXサービスサーバ100からジョブが投入された後、復号化の失敗によりタスクサービスサーバの処理が失敗した場合のリトライに関するタスク処理の流れを示している。なお、ジョブのリトライ及びタスク、ジョブのリトライ回数上限値に達した場合の失敗処理に関しては、図25では省略している。
まず、初期データを利用するタスクサービスサーバ103が、ファイルの復号化が原因で失敗した場合のジョブ処理の流れを説明する。
処理が開始されると、タスクサービスサーバ103は、S2501にてジョブ管理サービスサーバ1402に対して処理対象ジョブの取得リクエストを送信する。ジョブ管理サービスサーバ1402は、S2502にてリクエストに対して処理対象ジョブを応答する。
続いてタスクサービスサーバ103は、S2503にて、S2502にて取得したジョブが、復号化失敗が原因のリトライ実行ジョブか否かを判定する。なお不図示であるが、復号化失敗が原因のリトライ実行ジョブか否かは、図20(A)に示したジョブ情報管理DB1802がジョブ情報の一要素として復号化に失敗したファイルのパスを管理することで判断する。
復号化失敗が原因のリトライ実行ジョブではないと判定された場合(S2503にてNO)、タスクサービスサーバ103は中央管理サーバ2101に対して処理対象ファイルの取得リクエストを行う(S2504)。中央管理サーバ2101は、S2505にて、ファイルサーバ2102に対しファイル読込リクエストを行う。ファイルサーバ2102は、S2506にて、タスクサービスサーバ103に対してリクエストされたファイルを返却する。
復号化失敗が原因のリトライ実行ジョブであると判定された場合(S2503にてYES)、タスクサービスサーバ103は中央管理サーバ2101に対して処理対象ファイルの取得リクエストを行う(S2507)。このとき、タスクサービスサーバ103は、復号化に失敗したファイルとは別ファイル(多重化されたファイル)をリクエストする。
中央管理サーバ2101は、S2508にて、復号化に失敗したファイルとは別のファイル(多重化されたファイル)が、ファイルサーバ2102〜2104のいずれかに存在するか否かを判定する。
別のファイルが存在しない場合(S2508にてNO)、中央管理サーバ2101は、ファイルが存在しない旨のレスポンスをタスクサービスサーバ103に返す。タスクサービスサーバ103は、S2511にて、ジョブ管理サービスサーバ1402にタスクの失敗を通知する。ジョブ管理サービスサーバ1402は、S2512にて、ジョブ失敗処理を行い、ジョブ情報管理DB1802のステータス2005をエラー発生(2)に更新して、処理を終了する。
別のファイルが存在する場合(S2508にてYES)、中央管理サーバ2101は、S2509にて、別ファイルが存在するファイルサーバ(ここではファイルサーバ2103として説明する)に対してファイル読込リクエストを行う。ファイルサーバ2103は、S2510にて、タスクサービスサーバ103に対してファイルを返却する。タスクサービスサーバ103は、S2513にて、返却されたファイルを復号化する。
タスクサービスサーバ103は、S2514にて、ファイルの復号化が成功したか否かを判定する。ファイルの復号化が成功しなかった場合(S2514にてNO)、S2515にて、タスクサービスサーバ103はジョブ管理サービスサーバ1402に対して失敗通知処理を行う。通知を受けたジョブ管理サービスサーバ1402は、S2516にて、復号化に失敗したファイルのパスをジョブ情報管理DB1802に書き込む。そして、S2517にて、ジョブ管理サービスサーバ1402は、リトライ判定処理を行う。なお、図25に示すリトライ判定処理は、第1の実施形態の図19に示したリトライ判定処理と同様であるため、ここでは詳細な説明は省略する。
図19において、S1901にてタスクのリトライ回数が上限以下であった場合は、S2501に戻り、再びタスクサービスサーバ103がリトライ処理を行う。また、S1901にてタスクのリトライ回数が上限以下でない場合については、図25では省略している。
ファイルの復号化が成功した場合(S2514にてYES)、タスクサービスサーバ103は、S2521にて、タスク処理を行う。そして、タスクサービスサーバ103は、S2522にて、タスクの処理結果ファイルを暗号化する。タスクサービスサーバ103は、S2523にて、中央管理サーバ2101に対してタスクの処理結果ファイルの保存リクエストを行う。保存リクエストを受けた中央管理サーバ2101は、S2524にて、ファイルサーバ2103へタスクの処理結果ファイルの書込リクエストを行う。ファイルサーバ2103は、S2525にて、タスクの処理結果ファイルの書き込み処理を行う。タスクの処理結果ファイルの保存処理の終了後、S2526にて、タスクサービスサーバ103は、ジョブ管理サービスサーバ1402に対してタスクの正常終了を通知する。
S2527にて、ジョブ管理サービスサーバ1402は、ジョブ情報管理DB1802のカレントタスクID2004を更新する。そして、ジョブ管理サービスサーバ1402は、S2528にて、カレントタスクリトライ回数2011を“0”にセットする。
以上が、初期データを利用するタスクサービスサーバ103が、ファイルの復号化が原因で失敗した場合に関するジョブ処理の流れである。
続いて、他タスク(ここではタスクサービスサーバ103で処理されたタスクとする)の処理結果データを利用するタスクサービスサーバ104が、ファイルの復号化が原因で失敗した場合に関するジョブ処理の流れを説明する。なお、タスクサービスサーバ104の代わりにタスクサービスサーバ105が処理する場合であっても同様である。
S2531にて、タスクサービスサーバ104は、ジョブ管理サービスサーバ1402に対して処理対象ジョブの取得リクエストを行う。この取得リクエストに対し、ジョブ管理サービスサーバ1402は、S2532にて、処理対象ジョブを応答する。
次に、タスクサービスサーバ104は、S2533にて、中央管理サーバ2101に対して処理対象ファイルの取得リクエストを行う。中央管理サーバ2101は、S2534にて、ファイルサーバ2102に対しファイル読込リクエストを行う。ファイルサーバ2102はS2535にて、リクエストされたファイルをタスクサービスサーバ104へ返却する。タスクサービスサーバ104は、S2536にて、返却されたファイルを復号化する。
タスクサービスサーバ104は、S2541にて、ファイルの復号化が成功したか否かを判定する。ファイルの復号化が失敗した場合(S2541にてNO)、タスクサービスサーバ104は、S2542にて、ジョブ管理サービスサーバ1402に対して失敗通知処理を行う。通知を受けたジョブ管理サービスサーバ1402は、S2543にて、ジョブ情報管理DB1802のカレントタスクID2004を1つ前のタスク(ここではタスクサービスサーバ103に対応するタスクID)に更新する。このように1つ前のタスクに戻すことで、タスクサービスサーバ104は、復号化に失敗したファイルの1つ前の正常なファイルを再取得し、復号化を行う。これにより、復号化が成功し、処理が継続できる可能性がある。
ジョブ管理サービスサーバ1402は、S2544にて、リトライ判定処理を行う。タスクのリトライ回数が上限以下である場合(S1901にてYES)、S2545にてカレントタスクリトライ回数2011を0に設定する。その後、S2501に戻り、再びタスクサービスサーバ103は、リトライ処理を行う。また、前述のようにタスクのリトライ回数が上限以下でない場合については、図25では説明を省略している。
ファイルの復号化が成功した場合(S2541にてYES)、タスクサービスサーバ104、105は、S2551にて、タスク処理を行う。次にタスクサービスサーバ104、105は、S2552にて、ジョブ管理サービスサーバ1402に対してタスクの正常終了を通知する。その後S2553にて、ジョブ管理サービスサーバ1402は、ジョブ情報管理DB1802のステータス2005を正常終了(−1)に更新する。
以上、他タスクの処理結果データを利用するタスクサービスサーバ104、105がファイルの復号化が原因で失敗した場合のジョブ処理の流れである。
本実施形態により、第一の実施形態の効果に加え、復号化が原因データタスクサービスの処理が失敗した際に無駄なリトライ処理が行わず、メモリやCPUなどのリソースを有効活用できる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。

Claims (14)

  1. 1または複数のタスクから構成されるジョブを処理するジョブ処理システムであって、
    前記ジョブ処理システムは、
    ジョブの指示を受け付けるサービスサーバと、
    前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、
    前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、
    を有し、
    前記ジョブ管理サービスサーバは、
    前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持手段と、
    前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定手段と、
    を有し、
    前記タスク処理サービスサーバは、
    前記特定手段により特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化手段
    を有し、
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とするジョブ処理システム。
  2. 前記ジョブ処理システムは、前記ジョブに対応するファイルを管理するファイル管理サービスサーバを更に有し、
    前記ファイル管理サービスサーバは、複数のファイルサーバにより提供され、
    前記複数のファイルサーバは、同一のジョブに対応するファイルをそれぞれが保持することで多重化することを特徴とする請求項に記載のジョブ処理システム。
  3. 前記タスク処理サービスサーバは、
    前記復号化手段にてファイルの復号化が失敗した場合に、前記ファイルが、ジョブが指示された際の状態である初期データである場合、前記複数のファイルサーバのうちの他のファイルサーバから前記ファイルの多重化されているファイルを再取得し、
    前記復号化手段は、前記再取得した多重化されているファイルに対して復号化することを特徴とする請求項に記載のジョブ処理システム。
  4. 前記ジョブ管理サービスサーバは、
    前記復号化手段による復号化が失敗したファイルが、別のタスク処理サービスサーバにて処理された結果得られたファイルである場合、現在の処理対象を示すタスクを前記別のタスク処理サービスサーバの1つ前のタスクに戻す
    ことを特徴とする請求項2または3に記載のジョブ処理システム。
  5. 前記復号化手段にてファイルの復号化が失敗した場合にファイルを再取得する回数は予め定義されていることを特徴とする請求項に記載のジョブ処理システム。
  6. 1または複数のタスクから構成されるジョブを処理する情報処理システムであって、
    前記情報処理システムは、
    ジョブの指示を受け付けるサービスサーバと、
    前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、
    前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、
    を有し、
    前記ジョブ管理サービスサーバは、
    前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持手段と、
    前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定手段と
    を有し、
    前記タスク処理サービスサーバは、
    前記特定手段により特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化手段を有し、
    前記暗号化および復号化されるファイルは、画像形成装置により生成され
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とする情報処理システム。
  7. 1または複数のタスクから構成されるジョブを処理するジョブ処理システムにおけるジョブ処理方法であって、
    前記ジョブ処理システムは、
    ジョブの指示を受け付けるサービスサーバと、
    前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、
    前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、
    を有し、
    前記ジョブ管理サービスサーバにおいて、
    保持手段が、前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持工程と、
    特定手段が、前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定工程と、
    を有し、
    前記タスク処理サービスサーバにおいて、
    復号化手段が、前記特定工程にて特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化工程
    を有し、
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とするジョブ処理方法。
  8. 1または複数のタスクから構成されるジョブを処理する情報処理システムにおける情報処理方法であって、
    前記情報処理システムは、
    ジョブの指示を受け付けるサービスサーバと、
    前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、
    前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、
    を有し、
    前記ジョブ管理サービスサーバにおいて、
    保持手段が、前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持工程と、
    特定手段が、前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定工程と
    を有し、
    前記タスク処理サービスサーバにおいて、
    復号化手段が、前記特定工程にて特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化工程を有し、
    前記暗号化および復号化されるファイルは、画像形成装置により生成され
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とする情報処理方法。
  9. ジョブの指示を受け付けるサービスサーバと、前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、を有するジョブ処理システムにおいて、
    前記ジョブ管理サービスサーバを、
    前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持手段、
    前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定手段、
    として機能させ、
    前記タスク処理サービスサーバを、
    前記特定手段により特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化手段
    として機能させ
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とするプログラム。
  10. 前記ジョブ処理システムは、前記ジョブに対応するファイルを管理するファイル管理サービスサーバを更に有し、
    前記ファイル管理サービスサーバは、複数のファイルサーバにより提供され、
    前記複数のファイルサーバは、同一のジョブに対応するファイルをそれぞれが保持することで多重化することを特徴とする請求項に記載のプログラム。
  11. 前記タスク処理サービスサーバは、
    前記復号化手段にてファイルの復号化が失敗した場合に、前記ファイルが、ジョブが指示された際の状態である初期データである場合、前記複数のファイルサーバのうちの他のファイルサーバから前記ファイルの多重化されているファイルを再取得し、
    前記復号化手段は、前記再取得した多重化されているファイルに対して復号化することを特徴とする請求項10に記載のプログラム。
  12. 前記ジョブ管理サービスサーバは、
    前記復号化手段による復号化が失敗したファイルが、別のタスク処理サービスサーバにて処理された結果得られたファイルである場合、現在の処理対象を示すタスクを前記別のタスク処理サービスの1つ前のタスクに戻す
    ことを特徴とする請求項10または11に記載のプログラム。
  13. 前記復号化手段にてファイルの復号化が失敗した場合にファイルを再取得する回数は予め定義されていることを特徴とする請求項11に記載のプログラム。
  14. ジョブの指示を受け付けるサービスサーバと、前記指示を受け付けることで生成されたジョブを管理するジョブ管理サービスサーバと、前記ジョブに基づく処理を実行するために、前記ジョブを構成する1または複数のタスクを処理する1または複数のタスク処理サービスサーバと、を有する情報処理システムにおいて、
    前記ジョブ管理サービスサーバを、
    前記ジョブに対応するファイルを暗号化および復号化する際の方式と、暗号化および復号化に用いられるキーを生成する際に用いられる情報とを定義した暗号化情報を前記サービスサーバごとに保持する保持手段、
    前記タスク処理サービスサーバから暗号化情報の取得要求を受信した場合、前記タスク処理サービスサーバにより復号化される暗号化ファイルに対応するジョブのサービスサーバ用の暗号化情報を特定する特定手段
    として機能させ、
    前記タスク処理サービスサーバを、
    前記特定手段により特定された前記暗号化情報に定義されている方式および情報を用いて、前記暗号化ファイルを復号化する復号化手段
    として機能させ、
    前記暗号化および復号化されるファイルは、画像形成装置により生成され
    前記ジョブは、前記ジョブを指示したユーザが属するテナントごとに管理され、
    前記ジョブは、スキャンジョブもしくはFAXジョブであり、
    前記暗号化情報において、
    前記スキャンジョブに対しては、テナントを一意に識別するためのテナント情報を用いてキーを作成するように定義され、
    前記FAXジョブに対しては、前記テナント情報とジョブを一意に識別するためのジョブ情報とを用いてキーを作成するように定義されていることを特徴とすることを特徴とするプログラム。
JP2012176373A 2012-08-08 2012-08-08 ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム Expired - Fee Related JP5968156B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012176373A JP5968156B2 (ja) 2012-08-08 2012-08-08 ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム
US13/950,734 US9064122B2 (en) 2012-08-08 2013-07-25 Job processing system, job processing method, and non-transitory computer-readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012176373A JP5968156B2 (ja) 2012-08-08 2012-08-08 ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014036335A JP2014036335A (ja) 2014-02-24
JP5968156B2 true JP5968156B2 (ja) 2016-08-10

Family

ID=50066199

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012176373A Expired - Fee Related JP5968156B2 (ja) 2012-08-08 2012-08-08 ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム

Country Status (2)

Country Link
US (1) US9064122B2 (ja)
JP (1) JP5968156B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9087012B1 (en) 2014-06-04 2015-07-21 Pure Storage, Inc. Disaster recovery at high reliability in a storage cluster
US9811677B2 (en) 2014-07-03 2017-11-07 Pure Storage, Inc. Secure data replication in a storage grid
KR102349605B1 (ko) * 2014-11-17 2022-01-11 삼성전자 주식회사 사용자 기기의 식별자에 기반하여 서비스를 제공하는 방법 및 장치
CN106851829B (zh) * 2015-12-04 2020-09-11 中国移动通信集团公司 一种数据处理方法及基站
CN107292618B (zh) * 2016-04-11 2020-04-28 阿里巴巴集团控股有限公司 数据库中密文数据换密失败的处理方法和装置
US10372484B2 (en) * 2016-06-27 2019-08-06 Microsoft Technology Licensing, Llc Secured computing system
US10649808B2 (en) * 2016-09-16 2020-05-12 Oracle International Corporation Outcome-based job rescheduling in software configuration automation
US11106441B2 (en) 2018-09-14 2021-08-31 Microsoft Technology Licensing, Llc Secure device-bound edge workload delivery
US11403412B2 (en) * 2019-02-12 2022-08-02 Citrix Systems, Inc. Accessing encrypted user data at a multi-tenant hosted cloud service

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08316951A (ja) 1995-05-23 1996-11-29 Hitachi Ltd 無線通信端末、無線基地局及びこれらを有する通信システム
US20020178353A1 (en) * 2001-04-11 2002-11-28 Graham Randall James Secure messaging using self-decrypting documents
JP4717380B2 (ja) * 2004-06-09 2011-07-06 キヤノン株式会社 画像処理装置、画像処理方法およびプログラム、その画像処理装置を含む画像処理システム
US7383462B2 (en) * 2004-07-02 2008-06-03 Hitachi, Ltd. Method and apparatus for encrypted remote copy for secure data backup and restoration
JP4714482B2 (ja) * 2005-02-28 2011-06-29 株式会社日立製作所 暗号通信システムおよび方法
JP2011004132A (ja) * 2009-06-18 2011-01-06 Nippon Telegr & Teleph Corp <Ntt> メールサーバ、電子メールの処理方法及びそのプログラム
JP5482363B2 (ja) * 2009-07-31 2014-05-07 株式会社リコー 画像処理システム、画像処理装置及び画像処理方法
JP5012867B2 (ja) * 2009-09-15 2012-08-29 コニカミノルタビジネステクノロジーズ株式会社 画像データ出力方法、画像処理装置、およびコンピュータプログラム
JP5152167B2 (ja) * 2009-12-17 2013-02-27 コニカミノルタビジネステクノロジーズ株式会社 情報処理装置、情報処理装置の制御方法および情報処理プログラム
US8988713B2 (en) * 2012-06-28 2015-03-24 Google Inc. Secure printing in a cloud-based print system

Also Published As

Publication number Publication date
US9064122B2 (en) 2015-06-23
US20140044259A1 (en) 2014-02-13
JP2014036335A (ja) 2014-02-24

Similar Documents

Publication Publication Date Title
JP5968156B2 (ja) ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム
US8151363B2 (en) Approach for securely processing an electronic document
JP4965877B2 (ja) データ保管装置、データ保管方法及びそのプログラム
AU2019206136B2 (en) Data management system
CN109981297B (zh) 区块链处理方法、装置、设备及存储介质
US9053303B2 (en) Apparatus, authentication system, authentication control method, authentication control program, and computer-readable recording medium having authentication control program
JP2006344212A (ja) 電子文書のセキュアな印刷
JP2006341601A (ja) 電子文書のセキュアな印刷
US20090235341A1 (en) Network interface apparatus, print control method, print control program, and image forming apparatus
EP3537684A1 (en) Apparatus, method, and program for managing data
JP6041622B2 (ja) 印刷文書管理システム、印刷文書管理方法、及びコンピュータプログラム
JP4888945B2 (ja) 電子帳票システム、電子帳票サーバ、クライアント端末、情報提供方法、情報利用方法、サーバプログラム、及びクライアント端末プログラム
JP4979210B2 (ja) ログイン情報管理装置及び方法
JP5451277B2 (ja) 管理装置、情報処理装置、ログ情報管理方法、及びコンピュータプログラム
JP2019207281A (ja) 大小判定サーバ、大小判定暗号化システム、及び大小判定方法
JP6007856B2 (ja) 情報処理システム、情報処理装置及び情報処理プログラム
JP2008219742A (ja) 添付ファイル暗号化方法及びこの方法を実施するメールサーバ
US11010331B2 (en) Document management system
JP4289817B2 (ja) 情報管理装置及び方法
US20200097457A1 (en) Data management method, data management apparatus, and non-transitory computer readable medium
JP4944140B2 (ja) ネットワークインタフェース装置、制御方法、プログラム、および画像形成装置
AU2019208267A1 (en) Information processing system
WO2019179313A1 (zh) 用于管理密码的方法、装置和计算机存储介质
US20210303640A1 (en) Document management system, processing terminal device, and control device
US20080104682A1 (en) Secure Content Routing

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150715

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160518

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160606

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160705

R151 Written notification of patent or utility model registration

Ref document number: 5968156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees