JP2015141523A - システム、システムの制御方法およびコンピュータプログラム - Google Patents

システム、システムの制御方法およびコンピュータプログラム Download PDF

Info

Publication number
JP2015141523A
JP2015141523A JP2014013570A JP2014013570A JP2015141523A JP 2015141523 A JP2015141523 A JP 2015141523A JP 2014013570 A JP2014013570 A JP 2014013570A JP 2014013570 A JP2014013570 A JP 2014013570A JP 2015141523 A JP2015141523 A JP 2015141523A
Authority
JP
Japan
Prior art keywords
file
data
processing
identification information
error
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.)
Granted
Application number
JP2014013570A
Other languages
English (en)
Other versions
JP6335527B2 (ja
JP2015141523A5 (ja
Inventor
茉莉 住谷
Mari Sumikya
茉莉 住谷
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 JP2014013570A priority Critical patent/JP6335527B2/ja
Priority to US14/602,520 priority patent/US9697064B2/en
Publication of JP2015141523A publication Critical patent/JP2015141523A/ja
Publication of JP2015141523A5 publication Critical patent/JP2015141523A5/ja
Application granted granted Critical
Publication of JP6335527B2 publication Critical patent/JP6335527B2/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0733Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a data processing system embedded in an image processing device, e.g. printer, facsimile, scanner
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

【課題】未知の不正データを受信した場合に、次に同じデータを受け取った際にシステムにおいて同じエラーの発生を防ぎ、データ処理の停止を防止するシステムを提供すること。【解決手段】システムは、処理対象のファイルを受信し、当該ファイルのデータ処理を行うぃ、ファイルのデータ処理中にエラーが発生した場合、このファイルの識別情報を登録し、当該ファイルの識別情報と同一の識別情報を有する別のファイルを受信した場合に、当該別のファイルに関するエラー通知を行う。【選択図】図4

Description

本明細書は、投入された不正データを検出するシステム、システムの制御方法およびコンピュータプログラムに関する。
サービス利用者から文書データや画像データなどの入力データを受け取り、そのデータを印刷データに変換して印刷装置に出力する、サーバ上のデータ変換サービスが提供されている。このデータ変換サービスは、利用者からサービス内でエラーを発生させる不正データを受け取る可能性がある。不正データには、データ変換処理中にシステムの異常終了を引き起こすものと、処理中に無限ループに入るなどしてタイムアウトを発生させるものの2種類がある。異常終了とタイムアウトは予期せぬ不正データによって引き起こされるため回避するのが難しい。しかし、システム内でエラーが生じると、システムはその後復旧するまでの間、次の入力データを受け取ることができない。不正データの連続投入により故意にシステムが攻撃されると、その他のサービス利用者がデータ変換サービスを利用できなくなる。このような事態を回避するために、サーバシステムは安全性を確保することが求められる。
ここで、システムに安全性を持たせる方法として予備のシステムを持つ方法を挙げる。データ変換部が1つしかないシステムでは、処理待ちのデータ変換要求が滞留することでシステム全体の処理能力が落ちる。この課題に対し、特許文献1は、データ変換部を複数並べ、各データ変換部に均等に処理待ちのデータ変換要求を割り振ることでシステム全体の処理能力を向上させるシステムを提案している。上記サーバ上のデータ変換サービスにおいても、データ変換部を多重化し、システムに冗長性を持たせることでユーザからの不正なデータの投入に対応している。
特開平5−284178号公報
一般的に、ユーザは入力データ投入後、一定時間以内にシステムから返答がないと同じデータを続けてシステムに投入する傾向がある。ユーザが投入したデータが不正データであった場合、ユーザは多重化されたシステムの一部でエラーを発生させたことを知らずに不正データをシステムに連続投入することになる。上記特許文献1のデータ変換サービスでは、不正データへの対応としてシステムの多重化を行っていた。しかしデータ変換サービスは、悪意のないユーザの不正データの連続投入により、サービスを専有されてしまうことがあった。そしてその間、他のサービス利用者はサービスを一時的に利用できないおそれがある。
本発明は、未知の不正データを受信した場合に、次に同じデータを受け取った際にシステムで同じエラーの発生を防ぐことができ、データ処理の停止を防止するシステムを提供することを目的とする。
本発明の一実施形態のシステムは、処理対象のファイルを受信し、当該ファイルのデータ処理を行う処理手段と、前記ファイルのデータ処理中にエラーが発生した場合、前記ファイルの識別情報を登録する登録手段と、を備える。前記処理手段は、当該ファイルの識別情報と同一の識別情報を有する別のファイルを受信した場合に当該別のファイルに関するエラー通知を行う。
本発明のシステムによれば、未知の不正データを受信した場合に、次に同じデータを受け取った際にシステムで同じエラーの発生を防ぐことができ、データ処理の停止を防止することが可能となる。従って、未知の同一不正データの連続投入により、特定のユーザがシステム全体を専有することを防止することができる。
本発明のシステムの全体構成例を示す図である。 サーバPCのハードウエア構成例を示す図である。 データ処理システムのソフトウエア構成例を示す図である。 データ処理システムの処理を示す処理フローである。 警戒態勢が導入された際の処理を示す処理フローである。 データ処理システムが警戒態勢に入る仕組みを説明する図である。 データ処理システムが警戒態勢を解除する仕組みを説明する図である。 印刷データ変換システムのソフトウエア構成例を示す図である。 印刷データ変換部の動作に関連するコンポーネント群を説明する図である。 印刷データ変換システムのソフトウエア構成例を示す図である。 印刷データ変換システムの処理の概要を示す処理フローである。 ジョブ実行処理を示す処理フローである。 エラー処理を示す処理フローである。 ブラックリスト検索処理を示す処理フローである。 フィルタの処理の概要を示す処理フローである。 フィルタのデータ変換処理を示す処理フローである。 フィルタのタイムアウト処理を示す処理フローである。 印刷データ変換システムのブラックリストの内容を示す図である。 警戒態勢時のジョブ実行処理を示す処理フローである。 警戒態勢時のエラー処理を示す処理フローである。
(実施例1)
図1は、本発明の一実施形態のシステムの構成例を示す。図1に示すサーバPC80が、本実施形態のデータ処理システムとして機能する。データ処理システムは、依頼者から入力データと処理依頼を受け取ると処理依頼に従って入力データにデータ処理を行い、依頼者に処理後のデータを出力するサービスを提供する。なお、本明細書におけるデータ処理とはデータ形式の変換や画像を編集する処理などを意味する。図1に示す例では、データ処理を依頼する依頼者50は、処理要求を送出する機器として、パーソナルコンピュータ20、タブレットPC30や携帯端末40などの機器を利用する。依頼者側の機器とサーバPCは、インターネットなど任意のネットワーク10を介して通信可能である。図1では、プリンタ60、ロードバランサ70、サーバPC90が示されているが、本実施例では必須の構成要素ではないため実施例3以降にて後述する。
図2は、サーバPC80のハードウエア構成例を示す図である。データ処理システムはOS(オペレーティングシステム)上で動作するアプリケーションプログラムであり、HDD202あるいはROM203に格納されている。CPU205がOSとアプリケーションプログラムをHDD202またはROM203から読み出してRAM204にロードし、実行することで様々な処理が実現される。処理結果はファイルとしてHDD202に格納され、あるいはデータとしてRAM204に記憶される。なお、CPU、HDD、ROM、RAMはそれぞれ、Central Processing Unit、Hard Disk Drive、Read Only Memory、Random Access Memoryの略称である。
アプリケーションプログラムは、コンピュータに接続されている入力装置207から使用者の入力、各種センサの読み取り値を取得する。さらに出力装置206に対して情報を出力し、処理結果を表示する。さらに、通信装置208を介してネットワークに接続された他のコンピュータや装置と通信を行う。これらのハードウエアはコントロールバス1001で互いに接続されていてアプリケーションプログラムから操作できるように構成されている。
図3は、サーバPC80のデータ処理システムに係るソフトウエア構成例を示す図である。データ処理システムは、データ処理部100、リスト管理部104、ブラックリスト105を備える。また、データ処理部100は、入力受付部101、制御部102、処理部103を備える。これらのコンポーネントはバス106でつながっている。コンポーネント間のデータの受け渡しはバス106を通して行われる。
入力受付部101は、依頼者50からデータ処理の要求などを受け付ける。制御部102は、入力受付部101から入力データと処理依頼を受信すると、必要な処理を解析する。処理部103は、制御部102が解析した内容に従ってデータ処理を行う。
ここで、処理部103が不正データに対し処理を行うと、処理部103でエラーが発生し、処理が強制的に中断される。また、エラー発生後にエラー処理を行うため、その間は次の入力データを受け付けることができない。そこで、データ処理システムは、受信したファイル数などに応じてデータ処理部100を複数起動し、多重化することでエラーの原因となる不正データの連続投入に対処する。
ブラックリスト105は、不正データの識別情報を保持している。リスト管理部104は、データ処理部共通のブラックリスト105を管理する。リスト管理部104は、制御部102から問合せを受付けてブラックリスト105を参照し、処理部103が不正データを受付けない仕組みを提供する。
以下、図4を用いて、実施例1のデータ処理システムが行う処理を説明する。データ処理部100は、入力受付部101が依頼者50から入力データと処理依頼を受け取ると、入力データを制御部102に渡した後、S001の処理を開始する。S001では、制御部102がリスト管理部104に対し、ブラックリスト105に入力データの識別情報と一致するものが存在するかを問い合わせる。入力データ識別情報は、データそのものでなくともよく、データのIDやハッシュ値など、データが一意に識別可能なものであればよい。
リスト管理部104は、入力データ識別情報を抽出し、一致する識別情報がブラックリスト105に登録されているかを判定し、結果を制御部102に返す。判定の結果、入力データ識別情報と一致する情報がブラックリスト105に存在する場合、制御部102は入力データが不正であり処理対象外であるとして、S006で入力データに関するエラー通知を行い、処理を終了する。エラー通知処理では、制御部102から入力受付部101を介して依頼者50にエラーを通知する。エラーの通知はメールによりエラーメッセージを送信するか又はWebページにエラーメッセージを出力すること等により行われる。エラーメッセージには入力データのデータ処理が正常に行われなかったことを示すメッセージが含まれる。
一方、入力データ識別情報と一致する情報がブラックリスト105に存在しない場合、S002に処理が進み、制御部102は処理部103に入力データと処理依頼を転送し、通常処理が行われる。通常処理では、処理部103は依頼された処理を実行し、処理後のデータを制御部102に返す。S003で、制御部102は、通常のデータ処理中にエラーが発生しているか否かを判断する。エラーが発生していない場合、制御部102は、受け取ったデータを入力受付部101に渡し、入力受付部101は依頼元にデータを出力して正常終了する。
通常処理中にエラーが発生した場合、S004に処理が進む。S004では、制御部102は、エラーを引き起こした入力データを不正と見なし、ブラックリスト105に登録(S004)するようにリスト管理部104に依頼する。制御部102は、不正データの識別情報がブラックリスト105に登録されると、データ処理を終了する(S005)。データ処理部100が正常終了できない場合は、エラー発生後、ログ出力や依頼元へのエラー通知等のエラー処理を行う。
データ処理部100は、未知の不正データを受け取ると、S001の処理でブラックリスト105を照合しても不正データであることを判断できない。しかし、未知の不正データを最初に受けたデータ処理部100が、S004の処理で未知の不正データをブラックリスト105に登録し、リストを更新する。従って、それ以後はS001の処理で過去に不正と判定された入力データをシステムから遮断することができるようになる。
同じ不正データが連続でシステムに投入されたとき、一つ目のデータ処理部100により不正データの識別情報が新たにブラックリスト105に追加されると、それ以降システムに投入される同一不正データはシステムから弾かれるようになる。従って、エラーが発生したファイルを処理中の処理手段以外の起動中の他の処理手段は、エラーが発生した当該ファイルと同一の識別情報を有する別のファイルを受信した場合に当該ファイルを不正ファイルとして処理しない。以上、本発明のデータ処理システムによれば、未知の不正データを受信した場合に、次に同じデータを受け取った際にシステムで同じエラーの発生を防ぐことができ、データ処理の停止を防止することができる。
(実施例2)
実施例1のデータ処理システムでは、データ処理部100は入力データを受け取るたびに入力データ識別情報を算出し、それ以前に不正と判定されたデータの識別情報が登録されたリストに一致する情報がないか検索を行う。しかし、例えば入力データからデータの識別情報としてハッシュ値を使用する場合、ハッシュ値算出の処理は時間がかかる。そのため、入力データのサイズが大きいほどシステムの処理速度が低下する。処理速度の低下はサービス利用者による入力データの再投入を増加させ、入力データの連続投入を引き起こす原因にもなる。そのため、不正データの連続投入に備えつつ、処理速度の低下を抑える手段を構築する必要がある。
図5を用いて、システムの状態によって処理を変更するデータ処理システムの処理について説明する。データ処理システムの構成は実施例1と同じである。また、図4で説明したステップと同じ処理については、既に説明したステップの番号と同一の番号を付与し、特に断りが無い限り説明は省略する。
S800で処理が開始し、S801で制御部102は、システムの状態の判定処理を行う。制御部102は、判定結果によってシステムの処理内容を一部変更する。システムの状態は、警戒態勢(警戒モード)と通常状態の2種類がある。本実施例では、不正データの投入によりデータ処理部が1つ以上停止するとシステムの状態は警戒態勢となり、警戒態勢時にデータ処理部での処理が規定回数連続で正常に終了すると警戒態勢は解除されるものとする。また、データ処理システムの状態の管理はリスト管理部104が担う。
制御部102は、S801で警戒態勢であると判断したときのみ実施例1と同様にS001の判定処理を行う。警戒態勢でない場合はS001の判定処理を行わずにS002の通常処理に移る。つまり、データ処理システムが正常な入力データを受け取っている間は受け取った入力データを審査することなく通常処理を行う。
S003で、制御部102は、エラーが発生したか否かを判断する。不正データが投入されエラーが発生したときは、S803に処理が進み、警報を発令する。つまり、データ処理システムの状態は警戒モードに移行するようにモード切替を行う。これにより、データ処理システムは、不正データに対する警戒を強める。警戒態勢時には、制御部102は入力データの審査を行い、審査に通過したデータのみを通常処理の対象とする。
S003で、通常処理中にエラーが発生した場合、S803に処理は進み、制御部102は警報を発令する。警報発令の例を図6に示す。図6に示すように、制御部102は、リスト管理部104にアラートメッセージ301を送る。リスト管理部104は、アラートメッセージ301を受け取ると警戒フラグ302を立てる。つまり、連続して受信するファイルを分散処理する冗長化されたデータ処理システムにおいて、1つ以上のデータ処理部でエラーが発生すると、データ処理システムは警戒態勢にシフトする。
警戒フラグ302が立っている間にデータを投入されたデータ処理部100では、S801の処理で警戒態勢であると判断され、S001の入力データの審査を入力があるたびに行う。S002で、制御部102が、通常処理は正常に終了したと判断した場合、S802に処理は進み、リスト管理部104に対して正常終了報告をする。
図7は、リスト管理部104が正常終了報告を受け、警戒態勢が解除される例を示す。正常終了報告の処理では、制御部102がリスト管理部104にコンプリーションメッセージ303を送信する。コンプリーションメッセージ303は、警戒フラグ302が立っている間にデータを投入され正常終了した場合のみ送信することにしてもよい。警戒フラグ302が立っている間に、コンプリーションメッセージ303が規定回数連続でリスト管理部104に届いたとき、リスト管理部104は警戒フラグ302を下ろし、警戒態勢を解除する。つまり不正データによるエラー発生後、データ処理部100に不正なデータが規定回数続けて投入されなかったとき、不正データ投入の可能性が下がったとして、データ処理システムは警戒態勢を解除する。
以上のように、実施例2のデータ処理システムは、不正データの投入により1つ以上のプロセスでエラーが発生したときにシステムの状態を警戒態勢に移行し、警戒態勢時にプロセスが規定回数連続で正常に終了したときに警戒態勢を解除する。本システムによれば、安全性を確保する必要がある場合にのみ入力データを解析する構成とし、処理速度の低下を抑えつつ、不正データの連続投入による特定ユーザの意図的なサービス専有を回避することができる。
(実施例3)
実施例1、2の構成を持ったデータ処理システムの一例として、印刷データの変換を行う、サーバ上の印刷データ変換サービスについて図1を再び参照して説明する。実施例3のシステムは、印刷変換サービスを要求する依頼者側の装置20乃至40、プリンタ60、サービス提供側の装置70乃至90から構成される。図1に示すサーバPC80が、本実施形態の印刷データ変換システムとして機能する。印刷データの変換を依頼する依頼者50は、印刷データの変換要求を送信する機器として、パーソナルコンピュータ20、タブレットPC30、携帯端末40などの機器を利用する。依頼者50は、これらの機器の内部で動作しているアプリケーション(不図示)を用いて、ネットワーク10上に存在する印刷データ変換部330(図8を参照して後述)に対して印刷データの変換を依頼する。
印刷データ変換部330は、サーバPC80上で周知のURLを公開している、いわゆるWebサービスとして動作しているプログラムである。サーバPC80上ではURLに対して到着した依頼を印刷データ変換部330に転送するWeb通信部310も動作している。URLへ到着する依頼は通常多数になるため、単一のサーバPC80では処理させず、複数のサーバPC80に処理させる構成とする。従って、ロードバランサ70が複数のサーバPC80の前段に設置され、各サーバPC80に転送される依頼が均一に配分される。
印刷データ変換部330が提供するサービスは、依頼者50が指定するデータをプリンタ60で印刷できる形式に変換することである。依頼者が指定するデータにはドキュメント、画像ファイルなど各種のアプリケーションプログラムで作成されたフォーマットが存在する。一方、プリンタ60が印刷データとして受け付けるデータは前述のフォーマットとは異なり、PDLで記述されたデータや、印刷部数等の印刷を制御するための命令とパラメータを備えたPJLで記述されたデータとなっている。PDLは、Page Description Languageの略称である。また、PJLは、Print Job Languageの略称である。
このように、依頼者50とプリンタ60の間には扱うデータ形式の差異が存在する為に、その差異を埋るプログラムが必要とされる。通常この変換処理を行うのがプリンタドライバと呼ばれるプログラムである。プリンタドライバは、依頼者50が操作する前述のアプリケーションプログラムが動作しているPC上で動作させることが通常である。しかし、プリンタドライバの処理は比較的CPU、メモリなどのリソースを必要とする重い処理であるため、依頼者50の操作するPCの保持するリソースが少ない場合には印刷処理が実用的でなくなる程時間のかかる処理になってしまう。依頼者50が操作する端末(パーソナルコンピュータ20、タブレットPC30や携帯端末40)などリソースの比較的少ない端末からの印刷の需要が高まるにつれプリンタドライバの処理をインターネット上のサービスで行わせることの重要性が増している。
依頼者50は、各種端末から前述のURLに対して印刷データをプリンタ60で印刷できる形式に変換するように依頼を行う。依頼に応じてサーバPC80上で動作している印刷データ変換部330が生成した変換後のデータは、依頼元の端末に対して返送される。依頼者50の指示によっては変換後のデータは、印刷データ変換部330がアクセス可能なファイルサーバPC90で保管される場合もある。印刷データ変換部330をはじめとするソフトウエア群が動作するサーバPC80のハードウエア構成は、図7の構成と同一であるため説明を省略する。
図8は、印刷データ変換部330のソフトウエア構成例を示す図である。サーバPC80は、Web通信部310、アプリケーション部320、印刷データ変換部330、ロケータ340、ロガー350を備える。Web通信部310は、依頼者50が操作したパーソナルコンピュータ20上のアプリケーションからHTTPプロトコルで送信されたリクエストを受け取る。ロードバランサ70は、Web通信部310の前段に位置し、複数のサーバPC80上で動作しているWeb通信部310に振り分ける。この振り分ける方式は種々知られているが、その詳細は本発明には関係がないため説明を省略する。
ここで、サーバPC80は必ずしも物理的な一台のサーバPCを意味する必要はない。近年は、単一のPC上に複数の仮想的なPCを出現させる仮想化技術が一般的となっており、ソフトウエアからみれば自身が動作しているオペレーティングシステムが仮想的に作り出されたものか否かは判別がつかないか、あるいは判別する必要がない。従って本発明におけるサーバPC80は「場合によっては仮想化されたPC」を意味する場合もある。これ以降、「PC」という表現は物理的なPCと仮想化されたPCの両方を意味するものとして扱う。
アプリケーション部320は、要求の送付先として指定されたURLを解析し、関連付けられている印刷データ変換部330を決定するソフトウエアである。通常、Web通信部310とアプリケーション部320は複数種のサービスを扱うことが可能であり、URLから対応するサービスを特定して要求を振り分けることができる。本実施例ではその複数種のサービスの一つが印刷データ変換部330であることを想定している。このサービスの他にもサービスが稼働しているが、発明の説明においては印刷データ変換部330以外のサービスは省略する。
印刷データ変換部330は、実施例1、2のデータ処理部100に対応し、入力受付部101、制御部102、処理部103のそれぞれに相当するコンポーネントで構成される。データ処理部100と同様に、受信したファイル数などに応じて複数の印刷データ変換部330が起動される。変換データの受け渡しは、本実施例3で新たに導入する、フィルタパイプラインを用いる。また、リスト管理部104に相当するコンポーネントの他、印刷データ変換サービスを実現するために必要な、各印刷データ変換サービスに共通するコンポーネントを2つ追加する。
印刷データ変換部330は単一のプロセスではなく、複数プロセスが共同して動作することで印刷データ変換サービスを提供する形態をとっている。以下では「印刷データ変換サービス」という場合にはこれら複数のプロセスを総称していることに留意されたい。ロケータ340とロガー350は、印刷データ変換部330とは独立して存在するプロセスである。アプリケーション部320は、複数の要求を並列実行させるために印刷データ変換部330を複数起動し、各々に要求を振り分ける。この場合でも、ロケータ340とロガー350は各々一個のプロセスとして存在している。アプリケーション部320はさらに、印刷データ変換部330が動作する際に依頼者50からの一連の要求を特定する為のセッションを管理する。具体的には、同一の依頼者50からの要求は同一の印刷データ変換部330に転送するセッション・アフィニティーを実現している。
(印刷データ変換サービス)
図9は、印刷データ変換部330の動作に関連するソフトウエアコンポーネント群の関連を説明する図である。印刷データ変換部330は先に説明したように複数のプロセスの共同体として動作している。その構成要素は印刷サービスゲートウェイ211、プロキシモジュール220、フィルタホスト240と各種フィルタ群(270,280,290)である。ここでは説明の為に各種フィルタは3種類示してあるが、実際には多くのフィルタが存在しており、さらにその組み合わせは固定化されておらず、生成される印刷データ変換部330毎に異なるフィルタが使用される可能性がある。
(印刷サービスゲートウェイ)
印刷データ変換部330に対するサービス依頼を受け付けるのは、プロセスとして存在する印刷サービスゲートウェイ211である。印刷サービスゲートウェイ211は実施例1の入力受付部101に相当する。印刷サービスゲートウェイ211の起動はアプリケーション部320が行う。印刷サービスゲートウェイ211はプロキシモジュール220をロードし、Application Programming Interface(API)で提供している関数群を呼び出すことで変換処理の実行を依頼し、さらに結果を受領する。
(ロケータ)
印刷データ変換部330を構成するコンポーネント群が利用するロケータ340は、特別な役割を担っている。ロケータ340は、アプリケーション部320が起動した時点で既に起動している特殊なプロセスである。ロケータ340は、コンポーネントを生成する機能を有する。さらに、ロケータ340は、他のコンポーネントからの求めに応じて別のコンポーネントのアクセスポイントを返すという機能を提供する。アクセスポイントとはTCP/IPのリスンポートを指す。あるコンポーネントは別のコンポーネントが公開しているアクセスポイントを取得し、そのアクセスポイントにアクセスすることでそのコンポーネントが提供する機能を利用する。
(ジョブコントローラ)
実施例1の制御部102に対応するのはジョブコントローラ230である。プロキシモジュール220を介してジョブ実行を依頼されたジョブコントローラ230は、ジョブ、およびジョブに含まれている印刷データを解析して変換に必要なフィルタを選定する。次に、ジョブコントローラ230は、ジョブに含まれている変換先の印刷データ形式を取得し、変換元の印刷データ形式と変換先の印刷データ形式の両者が確定した時点で、この変換に必要なフィルタ群を選定する。必要なフィルタの組み合わせとその変換順番は固定的な知識としてジョブコントローラ230に実装されている。
必要な複数のフィルタを選定したあとは、これらフィルタをロードしているフィルタホスト240が取得される。この例では変換に必要なフィルタとして、フィルタA270、フィルタB280、フィルタC290が必要であり、それらはそれぞれフィルタホスト240にロードされている。
ジョブコントローラ230は、フィルタA270、フィルタB280、フィルタC290との間で、パイプライン300と呼ばれるデータ転送チャネルを作成する。パイプライン300は基本的に片方向にのみデータを転送する。ジョブコントローラ230→フィルタA270→フィルタB280→フィルタC290→ジョブコントローラ230と一周するようにパイプライン300が構成される。また、ジョブコントローラ230はプロキシモジュール220との間にもパイプライン300を作成する。このようにパイプライン300を作成することで、プロキシモジュール220から印刷データが複数のコンポーネントを還流し、最後に変換が終了した形で再びプロキシモジュール220に戻ってくる。
(フィルタ、フィルタホスト)
フィルタは、データ変換処理のみを実装したライブラリモジュールの形式で用意されており、実施例1の処理部103に相当する。フィルタホスト240はプロセスとして存在し、実行時に指定されたフィルタをロードする。フィルタホスト240は、コントロールバス502への接続とメッセージ送受信、ジョブコントローラ230との通信、フィルタのログ出力のロガー350への転送などの処理を担当する。
(ロガー)
ロガー350は、プロセスとして同一コントロールバス502上に一つ存在する。コントロールバス502上のコンポーネントは、ジョブの実行中にログ出力を行う。各コンポーネントは、ログデータをロガー350に対してネットワークを介して送り、ロガー350が一定量のログデータが蓄積した時点でログファイルに出力することになっている。
(変換ジョブ)
ここで、パイプライン300を還流するデータについて説明する。このデータは「変換ジョブ」と呼ばれる。変換処理は、プロキシモジュール220のAPIを通じて依頼される際に、変換ジョブ(以降、単にジョブと称す)の形で引き渡される。ジョブは、概念的には、変換されるべき対象データと変換処理用の設定値などをまとまりのある形式に束ねた「チケット」と呼ばれるデータ構造から構成される。ジョブには、識別できるようにユニークな識別情報が与えられる(ジョブID)。生成されたジョブは、ファイルとしてHDD202などの記憶装置に格納される。また記憶装置から取り出す際には、ジョブIDを指定してそのファイルを取得して内容を参照することが可能である。また、ジョブを破棄する行為はファイルの削除として実現される。ジョブは、この印刷データの内容を直接ファイル内に含むか、またはファイル化した印刷データのファイルパスなどの参照情報を含んでいる。さらにジョブは、印刷を行わせるプリンタ60が処理できる印刷ファイル形式についての情報も含んでいる。また、印刷部数や印刷の面付指示などの印刷の処理方法を指定する印刷設定も含む。
(不正ファイル投入時のエラー)
印刷データ変換部330は、不正データを含むジョブが投入されると、ジョブを正常に行うことができない。不正データには2種類存在する。ひとつはフィルタでの変換処理中にアクセス違反やオーバーフローなどのエラーを発生させ、フィルタを異常終了させるデータである。印刷データ変換部330は、変換処理中にフィルタが異常終了すると、フィルタをロードしたフィルタホスト240のプロセスもともに終了する。従って、フィルタ群とジョブコントローラ230をつないでいたパイプライン300が切れる。
もうひとつは、フィルタでの変換処理中に無限ループに入るなどしてフィルタを長時間専有するデータである。各フィルタは、変換処理開始時にオペレーティングシステムのシステムタイマーを起動させ、処理にかかる時間を計る。変換処理が規定時間内に終了しなかった場合、システムタイマーからフィルタにタイムアウトメッセージが送信される。また、これらのデータ依存のエラーの他、印刷データ変換部330は不正な変換対象データを含まないジョブに対しても、データ投入のタイミングによりエラーを発生させることがある。
以下、本明細書を上記の印刷データ変換部330に適用した実施形態について説明する。図10は、本実施例における印刷データ変換部330の構成例を示す。印刷データ変換部330は、複数の印刷データ変換部330、ロケータ340、ロガー350、ゲートキーパー201を備える。各コンポーネントは、同一コントロールバス502で接続されている。
印刷データ変換部330は、未知の不正データを1つ投入されると、まず以前に不正と判断されたデータの識別情報を保持するブラックリスト200から一致する情報の検索(以下、ブラックリスト検索と呼ぶ)をする。一致する情報が検出されない場合、ブラックリスト検索が終了すると印刷データ変換部330は通常の変換処理を開始する。不正データにより、フィルタホスト240にロードされ変換処理を実行するフィルタでは変換処理中にエラーが発生する。
そこで、印刷データ変換部330は、エラー処理としてまずこの不正データの識別情報をゲートキーパー201が管理するブラックリスト200に追加する。その後、エラー通知やログ出力などエラー処理として必要な処理を行う。印刷データ変換部330は、エラー処理が完了するまで同プロセスで次のジョブを受け付けることはできない。しかし、前述のエラー処理中に同じ不正データが同一サーバPC80上の別の印刷データ変換部330のプロセスに投入されたとき、ブラックリスト検索により、投入されたデータの識別情報が検出されるようになる。前述のエラー処理中の印刷データ変換部330のプロセスが復旧するのを待つことなく、同一サーバPC80に並列する印刷データ変換部330のプロセスから、連続投入された同一不正データを遮断することが可能となる。
ゲートキーパー201は、同一サーバPC80上で起動され同一コントロールバス502でつながれた複数の印刷データ変換部330に対し、1つだけ存在する。ゲートキーパー201は、実施例1のリスト管理部104と同様、データの識別情報の算出、ブラックリスト検索とジョブコントローラ230への結果通知、ブラックリスト200へのデータ識別情報の追加の処理を担当する。いずれもジョブコントローラ230からの依頼により行う。
また、本実施例3では、変換対象データの識別情報として変換対象データのハッシュ値を用いる。ハッシュ値を求める方法には例えばSHA−2等のハッシュ関数が知られているが、ハッシュ関数はこれに限定されない。変換対象データが一意に識別できるハッシュ値を求める手法であれば、どのハッシュ関数が適用されてもよい。ハッシュ値の算出対象は変換対象データ全体に限らず、変換対象データの一部、変換対象データとチケットを合わせたジョブ全体、あるいはジョブの一部であってもよい。不正データのハッシュ値を保持するブラックリスト200の例を図18に示す。図18に示すブラックリストには、ハッシュ値とその登録時刻などの情報が登録されている。
ロケータ340により、印刷データ変換部330の変換処理実行に必要なコンポーネントが生成され、ジョブコントローラ230がプロキシモジュール220からジョブ実行を依頼された後の処理のフローについて述べる。
図11は、ジョブコントローラ230が生成された時点から開始するイベントループ処理である。ジョブコントローラ230は、自身のプロセスが終了するまで2つのイベントを待ち受けながらループし続ける。イベントは、「ジョブ取得」と「エラー発生」である。まず、S101で、ジョブコントローラ230は、変換対象データを取得したか否かを判断する。変換対象データを取得した場合、処理はS200に進み、ジョブコントローラ230は図12に示すジョブ実行処理を実行する。続いて、S102で、ジョブコントローラ230は、データ変換処理中にエラーが発生したか否かを判断する。エラーが発生した場合、処理はS300に進み、ジョブコントローラ230は図13に示すエラー処理を実行する。
図12は、ジョブコントローラ230によるジョブ実行処理(S200)の処理フローを示す。S201で、ジョブコントローラ230は、ゲートキーパー201にブラックリスト検索処理を依頼するため、ゲートキーパー201に変換対象データを渡す。ブラックリスト検索処理(S400)は図14を用いて後述する。S202でジョブコントローラ230は、ゲートキーパー201からブラックリスト検索結果を受け取ると、S203で変換対象データがブラックリスト200に登録されているか否か判断する。変換対象データがブラックリスト200に登録されていると判断した場合、S207で、ジョブコントローラ230はプロキシモジュール220にエラーを通知し、ジョブ実行処理を終了する。
一方、変換対象データがブラックリスト200に登録されていない場合、S204に処理は進み、ジョブコントローラ230はフィルタ群にデータ変換処理を依頼する。データ変換処理(S500)は図16を用いて後述する。フィルタ群がデータ変換処理を終了すると、S205で、ジョブコントローラ230は出力データを取得する。ジョブコントローラ230は出力データを受け取ると、S206で、プロキシモジュール220に出力データを渡し、ジョブ実行処理を終了する。
図14は、ゲートキーパー201によるブラックリスト検索処理(S400)の処理フローを示す。ゲートキーパー201は、ジョブコントローラ230からブラックリスト検索処理の依頼と変換対象データを受け取ると、S401で、変換対象データのハッシュ値を算出する。S402で、ゲートキーパー201は、算出したハッシュ値と一致する情報をブラックリスト200内で検索し、S403で検索結果をジョブコントローラ230に返す。
図16は、各フィルタによるデータ変換処理(S500)の処理フローを示す。データ変換は、ジョブに応じて複数フィルタが行う。図10に示す例では、フィルタ群はn個のフィルタ(フィルタ1(241)、フィルタ2(242)、…、フィルタn(243))から構成されている。各フィルタは、S501で各々が担当するデータ変換を行った後に、S502で変換後のデータをパイプライン300に出力し、次のフィルタにデータを渡す。パイプライン300でつながれたすべてのフィルタが処理を終えると、出力データはパイプライン300に乗ってジョブコントローラ230に送られる。
図16に示すデータ変換処理は、処理が正常に終了した場合のフローである。S501のデータ変換では、不正データによるエラーが発生する可能性があり、データ変換処理を最後まで正常に行えるとは限らない。そのため、各フィルタはジョブコントローラ230と同様にロードされた時点からイベントループ処理を開始し、エラーの発生を監視している。
図15は、フィルタによるイベントループ処理(S600)を示す。フィルタは、自身のプロセスが終了するまで2つのイベントを待ち受けながらループし続ける。イベントは、データ取得とタイムアウトである。S601のイベントで、ジョブコントローラ230または別のフィルタから変換対象データを取得すると、フィルタは図16のデータ変換処理(S500)を実行する。S602でフィルタは、データ変換処理中にタイムアウトメッセージを受信したか否かを判断する。自身が担う変換処理が規定時間内に終了せず、システムタイマーからタイムアウトメッセージを受信した場合、処理はS700に進み、タイムアウト処理を実行する。
図17は、タイムアウト処理(S700)の処理フローを示す。タイムアウトメッセージを受けたフィルタは、S701で実行中のデータ変換処理を中断し、S702でジョブコントローラ230にタイムアウト通知を送信する。この通知を受け取ったジョブコントローラ230が、図11に示すイベントS102を発生させる。
イベントS102は、フィルタからのタイムアウト通知だけでなく、不正な変換対象データを原因とするフィルタの異常終了によっても発生する。エラーによりフィルタが異常終了すると、フィルタはジョブコントローラ230にメッセージを送信することができない。しかしフィルタ群のいずれかのフィルタが異常終了すると、パイプライン300は断絶される仕組みになっている。従って、ジョブコントローラ230はパイプライン300の状態を確認することにより異常終了を確認し、イベントS102を発生させることができる。
図13は、イベントS102発生時に実行されるジョブコントローラ230によるエラー処理(S300)の処理フローを示す。S301で、ジョブコントローラ230は、ゲートキーパー201にエラーを引き起こした変換対象データのハッシュ値をブラックリスト200に登録するよう依頼する。ゲートキーパー201はジョブコントローラ230からの依頼を受けると、先にS401で算出したハッシュ値をブラックリストに登録する。ジョブコントローラ230はプロキシモジュール220にエラー通知(S207)をし、エラー処理を終了する。
本実施例では、データ変換処理(S500)においてエラーを発生させた変換対象データはすべてS301でブラックリストに登録するが、前述したようにデータ依存ではなくタイミング依存のエラーが発生する可能性も考慮してよい。例えば、エラー発生(S102)後、データ変換処理(S500)のリトライをし、再びエラーが発生したら変換対象データをブラックリスト登録するようにしてもよい。
(実施例4)
実施例2のシステムを実施例3の印刷データ変換部330に適用した実施形態について説明する。本実施形態4におけるジョブコントローラ230のイベントループ処理は図11と同じであり、ジョブコントローラ230が受け取るイベントは変わらないが、イベント発生時に行う処理が一部異なる。以下、実施例3と同じ処理については説明を省略する。
ジョブコントローラ230が変換対象データを取得したときのイベントS101におけるジョブ実行処理(S210)を図19に示す。図19は、実施例2の「警戒態勢」を印刷データ変換部330に導入したときのジョブ実行処理となる。印刷データ変換部330の「現在の状態」(警戒態勢であるか否か)は、ゲートキーパー201が保持し管理する。S210のジョブ実行処理では、始めにジョブコントローラ230はゲートキーパー201に対し「現在の状態」を問い合わせる。S212で、ジョブコントローラは、ゲートキーパー201が保持している「現在の状態」が警戒態勢であるか否かの返答を受取る。
S202で、警戒態勢でない場合、処理はS204に進み、データ変換処理(S500)を実行するようフィルタ群に変換対象データを渡す。S205で、ジョブコントローラ230がフィルタ群から出力データを受け取ると、実施例3と同様に、S206でプロキシモジュール220に変換後のデータを出力する。最後に、ジョブコントローラ230は、ゲートキーパー201にコンプリーションメッセージ303を送ることにより処理終了通知(S213)をする。
S202において、警戒態勢である場合、ジョブコントローラ230はゲートキーパーにブラックリスト検索を依頼する。ゲートキーパー201は、ブラックリスト検索処理(S400)を行う。S213で、ジョブコントローラ230は、ブラックリスト検索結果をゲートキーパー201から受け取る。S203以降の処理は図12で説明した処理と同様である。
ジョブコントローラ230でのエラー発生時のイベントS102における、エラー処理(S310)を図20に示す。S310でエラー処理が開始し、S311で、ジョブコントローラ230は、ゲートキーパー201にアラートメッセージ301を送って警報発令をする。その後、実施例3と同様にブラックリスト登録依頼(S301)をゲートキーパー201にし、プロキシモジュール220にエラー通知をする(S207)。ゲートキーパー201は、複数稼働している各印刷データ変換部330のジョブコントローラ230から順次送られてくるアラートメッセージ301とコンプリーションメッセージ303から現在の状態を判断する。ゲートキーパー201がアラートメッセージ301を受理すると現在の状態は「警戒態勢」になり、「警戒態勢」である間にコンプリーションメッセージ303を規定回数連続で受理したときに「警戒態勢」を解除する。
以上、本発明の印刷データ変換システムによれば、未知の不正データを受信した場合に、次に同じデータを受け取った際にシステムで同じエラーが発生せず、データ処理の停止を防止することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウエア(コンピュータプログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。

Claims (9)

  1. 処理対象のファイルを受信し、当該ファイルのデータ処理を行う処理手段と、
    前記ファイルのデータ処理中にエラーが発生した場合、前記ファイルの識別情報を登録する登録手段と、を備え、
    前記処理手段は、当該ファイルの識別情報と同一の識別情報を有する別のファイルを受信した場合に当該別のファイルに関するエラー通知を行う
    ことを特徴とするシステム。
  2. 前記ファイルのデータ処理中にエラーが発生した場合に前記システムを警戒モードに移行させるモード切替手段を備え、
    前記処理手段は、前記警戒モードであれば前記ファイルのデータ処理を行う際に当該ファイルの識別情報が前記登録手段に登録されているかを確認する
    ことを特徴とする請求項1に記載のシステム。
  3. 連続して受信する前記ファイルを分散処理するために、受信したファイル数に応じて前記処理手段を複数起動する起動手段と、
    前記ファイルのデータ処理中にエラーが発生した場合、前記エラーが発生したファイルのデータを処理中の処理手段以外の他の起動中の処理手段は、前記エラーが発生したファイルと同一の識別情報を有する別のファイルを受信した場合に当該ファイルを不正ファイルとして処理しない
    ことを特徴とする請求項1または2に記載のシステム。
  4. 前記識別情報はハッシュ値である
    ことを特徴とする請求項1乃至3のいずれか一項に記載のシステム。
  5. 前記登録手段は、予め定められた規定時間内に前記処理手段が前記データ処理を完了できない場合、処理中の前記ファイルを不正ファイルとして登録する
    ことを特徴とする請求項1乃至4のいずれか一項に記載のシステム。
  6. 前記処理手段は、複数のフィルタから構成されるフィルタパイプラインを用いて、前記受信したファイルを印刷データに変換処理する
    ことを特徴とする請求項1乃至5のいずれか一項に記載のシステム。
  7. 前記規定時間は、前記フィルタの各々に設定されている
    ことを特徴とする請求項6に記載のシステム。
  8. 処理対象のファイルを受信し、当該ファイルのデータ処理を行う処理工程と、
    前記ファイルのデータ処理中にエラーが発生した場合、前記ファイルの識別情報を登録する登録工程と、を有し、
    前記処理工程では、当該ファイルの識別情報と同一の識別情報を有する別のファイルを受信した場合に当該別のファイルに関するエラー通知を行う
    ことを特徴とするシステムの制御方法。
  9. 請求項8に記載の制御方法をコンピュータにより実行させることを特徴とするコンピュータプログラム。
JP2014013570A 2014-01-28 2014-01-28 システム、システムの制御方法およびコンピュータプログラム Expired - Fee Related JP6335527B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014013570A JP6335527B2 (ja) 2014-01-28 2014-01-28 システム、システムの制御方法およびコンピュータプログラム
US14/602,520 US9697064B2 (en) 2014-01-28 2015-01-22 System, system control method, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014013570A JP6335527B2 (ja) 2014-01-28 2014-01-28 システム、システムの制御方法およびコンピュータプログラム

Publications (3)

Publication Number Publication Date
JP2015141523A true JP2015141523A (ja) 2015-08-03
JP2015141523A5 JP2015141523A5 (ja) 2017-03-02
JP6335527B2 JP6335527B2 (ja) 2018-05-30

Family

ID=53679150

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014013570A Expired - Fee Related JP6335527B2 (ja) 2014-01-28 2014-01-28 システム、システムの制御方法およびコンピュータプログラム

Country Status (2)

Country Link
US (1) US9697064B2 (ja)
JP (1) JP6335527B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049435A (ja) * 2016-09-21 2018-03-29 富士ゼロックス株式会社 情報処理装置、印刷装置、変換装置、印刷システムおよびプログラム
JP2018060420A (ja) * 2016-10-06 2018-04-12 富士ゼロックス株式会社 情報処理システム、情報処理装置およびプログラム

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223035A (ja) * 1996-02-19 1997-08-26 Toshiba Corp 計算機システム
JP2002162899A (ja) * 2000-11-27 2002-06-07 Hitachi Ltd プログラム認証機能付き電子機器およびプログラム認証処理方法
JP2008287415A (ja) * 2007-05-16 2008-11-27 Kyocera Mita Corp 画像形成システム、ホストコンピュータ及び画像形成プログラム
JP2009075634A (ja) * 2007-09-18 2009-04-09 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP2010102543A (ja) * 2008-10-24 2010-05-06 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
WO2010134182A1 (ja) * 2009-05-21 2010-11-25 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US20120069384A1 (en) * 2009-06-04 2012-03-22 De Boer Taco M Method for processing documents on an image-processing apparatus
JP2012242895A (ja) * 2011-05-16 2012-12-10 Canon Inc ドキュメント変換装置、情報処理方法及びプログラム

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
JPH05284178A (ja) 1992-03-30 1993-10-29 Nec Corp データ変換システム
US5485573A (en) * 1993-07-16 1996-01-16 Unisys Corporation Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
JPH08298581A (ja) * 1995-04-25 1996-11-12 Canon Inc ファクシミリ装置
FR2740884B1 (fr) * 1995-11-03 1997-12-19 Bull Sa Interface administrateur pour base de donnees dans un environnement informatique distribue
US6397244B1 (en) * 1998-02-05 2002-05-28 Hitachi, Ltd. Distributed data processing system and error analysis information saving method appropriate therefor
US6345322B1 (en) * 1998-12-18 2002-02-05 International Business Machines Corporation Intelligently interpreting errors in build output log files
US6629198B2 (en) * 2000-12-08 2003-09-30 Sun Microsystems, Inc. Data storage system and method employing a write-ahead hash log
US7127722B2 (en) * 2001-06-18 2006-10-24 Intel Corporation Method and apparatus for avoiding multiple processing of the same IPMI system event
US7424716B1 (en) * 2002-07-18 2008-09-09 Cisco Technology, Inc. Method for tracking an event through multiple module-specific files
US20060190770A1 (en) * 2005-02-22 2006-08-24 Autodesk, Inc. Forward projection of correlated software failure information
US7624307B2 (en) * 2005-05-25 2009-11-24 Microsoft Corporation Operations engine error handling
US7502967B1 (en) * 2005-10-31 2009-03-10 Hewlett-Packard Development Company, L.P. Identifying an object in a data file that causes an error in an application
US7925791B2 (en) * 2006-07-17 2011-04-12 The Math Works, Inc. Recoverable error detection for concurrent computing programs
JP2009118190A (ja) * 2007-11-06 2009-05-28 Canon Inc 画像形成装置、解析方法、及びコンピュータプログラム
JP5286942B2 (ja) * 2008-05-30 2013-09-11 富士通株式会社 制御方法、制御プログラム及び情報処理装置
US8322076B2 (en) * 2010-07-09 2012-12-04 Quanex Building Products Corporation Adjustable glide apparatus for a sliding panel assembly
US8607099B2 (en) * 2010-12-17 2013-12-10 Microsoft Corporation Online fault verification in a file system
US8930324B2 (en) * 2012-06-15 2015-01-06 Russell A. Blaine Guarded file descriptors
US9448877B2 (en) * 2013-03-15 2016-09-20 Cisco Technology, Inc. Methods and apparatus for error detection and correction in data storage systems using hash value comparisons
JP6160688B2 (ja) * 2013-03-18 2017-07-12 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223035A (ja) * 1996-02-19 1997-08-26 Toshiba Corp 計算機システム
JP2002162899A (ja) * 2000-11-27 2002-06-07 Hitachi Ltd プログラム認証機能付き電子機器およびプログラム認証処理方法
JP2008287415A (ja) * 2007-05-16 2008-11-27 Kyocera Mita Corp 画像形成システム、ホストコンピュータ及び画像形成プログラム
JP2009075634A (ja) * 2007-09-18 2009-04-09 Fuji Xerox Co Ltd 画像処理装置及びプログラム
JP2010102543A (ja) * 2008-10-24 2010-05-06 Seiko Epson Corp 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
WO2010134182A1 (ja) * 2009-05-21 2010-11-25 キヤノン株式会社 通信装置、通信装置の制御方法、プログラム
US20120069384A1 (en) * 2009-06-04 2012-03-22 De Boer Taco M Method for processing documents on an image-processing apparatus
JP2012242895A (ja) * 2011-05-16 2012-12-10 Canon Inc ドキュメント変換装置、情報処理方法及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018049435A (ja) * 2016-09-21 2018-03-29 富士ゼロックス株式会社 情報処理装置、印刷装置、変換装置、印刷システムおよびプログラム
JP2018060420A (ja) * 2016-10-06 2018-04-12 富士ゼロックス株式会社 情報処理システム、情報処理装置およびプログラム

Also Published As

Publication number Publication date
US9697064B2 (en) 2017-07-04
JP6335527B2 (ja) 2018-05-30
US20150212870A1 (en) 2015-07-30

Similar Documents

Publication Publication Date Title
JP5885410B2 (ja) プルプリントシステム、プリントサーバおよびその制御方法、並びにプログラム
US10142425B2 (en) Session reliability for a redirected USB device
KR101409508B1 (ko) 정보 처리 장치, 그의 인쇄 데이터 처리 방법, 및 그의 프로그램을 저장하는 저장 매체
US20110205586A1 (en) Printing system, cloud computing system, printing system control method, and storage medium
JP6013300B2 (ja) クラスタデータ処理のための方法及び装置
US20120120441A1 (en) Network system, server, information processing apparatus, log registration method, and program
US20110205585A1 (en) Image processing system, image processing system control method, and storage medium
US10990334B2 (en) System, server and method of controlling the system and method of controlling the server
JP2015109070A5 (ja)
JP7277168B2 (ja) リソースサービスシステム、及び、制御方法
JP6335527B2 (ja) システム、システムの制御方法およびコンピュータプログラム
KR102227061B1 (ko) 서비스 시스템 및 서비스 시스템의 제어 방법, 및 컴퓨터 판독가능 저장 매체
JP2009151467A (ja) 配信印刷システム
JP6315899B2 (ja) 情報処理装置、システム、プログラム及び制御方法
JP2017010227A (ja) ウェブサーバ、管理システム、およびその制御方法
JP2016042338A (ja) 情報処理システム、情報処理装置、情報処理装置の制御方法、及びプログラム
US20160019105A1 (en) Computer embedded apparatus, recording medium and computer embedded apparatus test system
JP5736346B2 (ja) 仮想化装置、仮想化制御方法、仮想化装置制御プログラム
JP4140956B2 (ja) 印刷情報処理装置、印刷システム、印刷情報処理方法、印刷プログラム、および印刷プログラムを記憶した記憶媒体
CN110866743A (zh) 提供装置、处理系统以及通信方法
JP2015141535A (ja) システム、システムの制御方法およびコンピュータプログラム
JP2015146063A (ja) 管理プロセスのメモリリークと異常終了の対応処理方法
JP6115253B2 (ja) プリントシステム、スプールサーバ、スプール方法、及びプログラム
JP4155512B2 (ja) 多重アクセス制御システムおよびその制御方法
JP6436208B2 (ja) 機器、情報処理端末、情報処理システム、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171023

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180320

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: 20180403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180501

R151 Written notification of patent or utility model registration

Ref document number: 6335527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees