[go: up one dir, main page]

JP2015130075A - Information processing apparatus, information processing method, and program - Google Patents

Information processing apparatus, information processing method, and program Download PDF

Info

Publication number
JP2015130075A
JP2015130075A JP2014001264A JP2014001264A JP2015130075A JP 2015130075 A JP2015130075 A JP 2015130075A JP 2014001264 A JP2014001264 A JP 2014001264A JP 2014001264 A JP2014001264 A JP 2014001264A JP 2015130075 A JP2015130075 A JP 2015130075A
Authority
JP
Japan
Prior art keywords
filter
filters
mode
processing
component
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.)
Pending
Application number
JP2014001264A
Other languages
Japanese (ja)
Inventor
聡史 河原
Satoshi Kawahara
聡史 河原
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 JP2014001264A priority Critical patent/JP2015130075A/en
Publication of JP2015130075A publication Critical patent/JP2015130075A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing apparatus which executes processing at a high speed with a plurality of filters, while stably acquiring log.SOLUTION: An information processing apparatus performs pipeline processing by executing a filter corresponding to a function. A control section actuates a plurality of filters in the same process in a first mode, and does not output log data (S1103). When processing does not end normally in the first mode (an error or crash occurs in S1104), the processing is executed again in a second mode which outputs log data. When an error occurs, filters for outputting log data are limited (S1105, S1106). When a crash occurs, the control section causes the filter and a log output function to operate in different processes for retry, to output log data (S1108).

Description

本発明は、データを変換する情報処理装置、情報処理方法、およびプログラムに関する。   The present invention relates to an information processing apparatus, an information processing method, and a program for converting data.

特許文献1は、「モノクロプリンタ」、「解像度300dpi以下」といった複数のフィルタを用いて画像データを変換する技術を開示する。   Patent Document 1 discloses a technique for converting image data using a plurality of filters such as “monochrome printer” and “resolution of 300 dpi or less”.

特開2013−25415号公報JP 2013-25415 A

特許文献1に示すフィルタやフィルタに投入される画像データによっては、フィルタで正常に処理が完了しない可能性がある。正常に処理が完了しなかった場合に管理者や開発者は原因を特定する必要がある。よって、何らかの問題(データ変換の失敗等)が発生する場合に備えて、ログデータ(以下、単にログと呼ぶ)を残す方法について検討する。ログを残す場合にフィルタを実行するシステムが処理するすべてのジョブに対してログを出力する方法では、大量のジョブを処理すると処理速度を低下させてしまうという問題がある。即ち、ログ出力量と処理速度とはトレードオフの関係にある。   Depending on the filter shown in Patent Document 1 and image data input to the filter, there is a possibility that the processing is not normally completed by the filter. When the process is not completed normally, the administrator or developer needs to identify the cause. Therefore, a method of leaving log data (hereinafter simply referred to as a log) is examined in preparation for a case where some problem (data conversion failure or the like) occurs. In the method of outputting logs for all jobs processed by the system that executes the filter when leaving a log, there is a problem that processing speed decreases when a large number of jobs are processed. That is, the log output amount and the processing speed are in a trade-off relationship.

さらにシステムの高速化を実現するために、システムの複数のフィルタを一つのプロセス(シングルプロセス)で動作させる方法と、マルチプロセスで動作させる方法について検討する。シングルプロセスによる処理は、マルチプロセスによる処理よりも高いパフォーマンスを得ることが期待できる。その理由は、マルチプロセスの場合、プロセス間でデータをやり取りする場合にプロセス間通信が必要となるのに対し、シングルプロセスの場合には、コンポーネント間の関数呼び出しやメモリのやり取りで済むため、処理が高速となるからである。
しかし、シングルプロセスでは、いずれかのコンポーネントがクラッシュや無限ループに陥った場合に、システム全体のクラッシュまたは無限ループが問題となる。その場合、前述のようにログを残す構成にしたとしても、正常にログが出力されない可能性がある。これにより、正常にログが取得できずシステムの障害解析が困難になる可能性がある。
Furthermore, in order to realize a high-speed system, a method of operating a plurality of system filters in one process (single process) and a method of operating in multiple processes will be studied. Processing by a single process can be expected to obtain higher performance than processing by a multi-process. The reason for this is that multi-process communication requires inter-process communication when data is exchanged between processes, whereas single process requires only function calls and memory exchanges between components. This is because of high speed.
However, in a single process, if any component crashes or goes into an infinite loop, the entire system crashes or goes into an infinite loop. In that case, even if it is configured to leave a log as described above, the log may not be output normally. As a result, the log cannot be acquired normally, and the failure analysis of the system may be difficult.

このようにシングルプロセスによる処理は高速であるがクラッシュ時にログが取れない可能性がある。他方、マルチプロセスによる処理はシングルプロセスに比較して低速であるが、可用性が高いため正常にログを取得できる可能性が高い。   In this way, processing by a single process is fast, but there is a possibility that a log cannot be taken at the time of a crash. On the other hand, multi-process processing is slower than single-process, but there is a high possibility that logs can be acquired normally because of high availability.

よって本発明は、複数のフィルタを用いて処理を実行する情報処理装置において、ログを安定的に取得しつつ、処理を高速に行うことを目的とする。   Therefore, an object of the present invention is to perform processing at high speed while stably acquiring logs in an information processing apparatus that performs processing using a plurality of filters.

上記課題を解決するために、本発明に係る装置は、機能に応じた複数のフィルタを実行することにより処理を行う情報処理装置であって、前記複数のフィルタを同一のプロセスで、かつログデータを出力しない第1モードで実行する実行手段と、前記第1モードにて前記複数のフィルタを用いた処理が正常に終了しなかった場合、前記複数のフィルタを複数のプロセスで、かつログデータを出力する第2モードで再実行する再実行手段と、を有する。   In order to solve the above-described problem, an apparatus according to the present invention is an information processing apparatus that performs processing by executing a plurality of filters according to a function, and the plurality of filters are processed in the same process and log data. If the processing using the plurality of filters in the first mode does not end normally in the first mode, the plurality of filters are processed in a plurality of processes and log data is output. Re-execution means for re-execution in the output second mode.

本発明によれば、複数のフィルタを用いて処理を実行する情報処理装置において、ログを安定的に取得しつつ、処理を高速に行うことができる。   ADVANTAGE OF THE INVENTION According to this invention, in the information processing apparatus which performs a process using a some filter, a process can be performed at high speed, acquiring a log stably.

図2から図12と併せて本発明の実施形態を説明するために、システム構成例を示す図である。It is a figure which shows the example of a system configuration | structure in order to demonstrate embodiment of this invention combined with FIGS. 印刷データ変換サービスが動作するサーバのハードウェア構成を示す図である。2 is a diagram illustrating a hardware configuration of a server on which a print data conversion service operates. FIG. 図2のサーバ上で動作するソフトウェアを説明する図である。It is a figure explaining the software which operate | moves on the server of FIG. 印刷データ変換サービスと関連するコンポーネント群を示す構成図である。It is a block diagram which shows the component group relevant to a print data conversion service. フィルタの種類および並び順を定義した設定ファイルを例示する図である。It is a figure which illustrates the setting file which defined the kind and arrangement order of a filter. データ変換処理例を示す図である。It is a figure which shows the example of a data conversion process. データ変換処理の別例を示す図である。It is a figure which shows another example of a data conversion process. コンポーネント間のメッセージの送受信を示した模式図である。It is the schematic diagram which showed transmission / reception of the message between components. サービスカタログの構成例を示す模式図である。It is a schematic diagram which shows the structural example of a service catalog. サービスインベントリの構成例を示す模式図である。It is a schematic diagram which shows the structural example of a service inventory. クエリについて処理の流れを示すフローチャートである。It is a flowchart which shows the flow of a process about a query. 本実施形態における処理全体の流れを示すフローチャートである。It is a flowchart which shows the flow of the whole process in this embodiment.

以下、本発明の実施形態について、添付図面を参照して説明する。
図1は本実施形態に係るクラウドプリントサービスのシステム構成図である。
依頼者101は印刷データの変換を依頼する際、PC(パーソナルコンピュータ)102、タブレット103や携帯端末104等の機器を利用する。これらの機器は、依頼者101からの操作を受け付け、ネットワーク105上に存在する印刷データ変換サービスに対して印刷データの変換を依頼する。印刷データ変換サービスはサーバ106上で既知のURL(Uniform Resource Locator)を公開している、いわゆるWebサービスとして動作しているプログラムである。サーバ106上では前記URLに対する依頼を印刷データ変換サービスに転送するWebサーバが動作している。この依頼が多数である場合、単一のサーバ106が処理せず、複数のサーバ106を備えるサーバシステムが処理する構成となる。従って、複数のサーバ106の前段にロードバランサ107が設置され、各サーバ106に転送される依頼が均一に配分されるように構成される。
Embodiments of the present invention will be described below with reference to the accompanying drawings.
FIG. 1 is a system configuration diagram of a cloud print service according to the present embodiment.
When requesting conversion of print data, the requester 101 uses devices such as a PC (personal computer) 102, a tablet 103, and a portable terminal 104. These devices accept an operation from the requester 101 and request a print data conversion service existing on the network 105 to convert the print data. The print data conversion service is a program operating as a so-called Web service that publishes a known URL (Uniform Resource Locator) on the server 106. On the server 106, a Web server is operating that transfers a request for the URL to the print data conversion service. When there are a large number of requests, a single server 106 does not process, and a server system including a plurality of servers 106 processes. Accordingly, the load balancer 107 is installed in front of the plurality of servers 106, and the requests transferred to the servers 106 are uniformly distributed.

印刷データ変換サービスが提供するサービスは、依頼者101から受け付けたデータをプリンタ108で印刷できる形式に変換することである。依頼者101から受け付けるデータにはドキュメント、画像ファイル等、各種のアプリケーションプログラムで作成されたフォーマットが存在する。一方、プリンタ108が印刷データとして受け付けるデータは前述のフォーマットとは異なり、PDL(Page Description Language)で記述されたデータや、印刷部数等の印刷を制御するためのデータである。   The service provided by the print data conversion service is to convert the data received from the client 101 into a format that can be printed by the printer 108. The data received from the requester 101 includes formats created by various application programs such as documents and image files. On the other hand, the data that the printer 108 accepts as print data is data described in PDL (Page Description Language) and data for controlling printing such as the number of copies, unlike the above-described format.

このように、依頼者101とプリンタ108との間には扱うデータ形式に差異があるため、データ変換処理により差異をなくすプログラムが必要とされる。通常、このデータ変換処理を行うのがプリンタドライバと称するプログラムである。プリンタドライバは、依頼者101が操作するアプリケーションプログラムが動作しているPC上で動作する。しかし、プリンタドライバの処理は、CPU(中央演算処理装置)やメモリ等のリソースを必要とする、比較的に処理負担の大きい処理である。このため、依頼者101の操作するPCのリソースが十分でない場合には、印刷処理に時間がかかってしまう。タブレット103や携帯端末104といった、比較的リソースの少ない端末からの印刷の需要が高まるのに伴い、プリンタドライバの処理をインターネット上のサービスで行わせることの重要性が増している。PC102、タブレット103、携帯端末104は、依頼者101からの指示を受け付け、前述のURLに対して印刷データをプリンタ108で印刷できる形式に変換するように依頼する。依頼に応じてサーバ106上で動作している印刷データ変換サービスが生成した、変換後のデータは、依頼元の端末装置に対して返信される。依頼者101から受け付ける指示によっては、変換後のデータは印刷データ変換サービスがアクセス可能なファイルサーバ106で保管する場合もある。   Thus, since there is a difference in the data format handled between the client 101 and the printer 108, a program for eliminating the difference by the data conversion process is required. Normally, a program called a printer driver performs this data conversion processing. The printer driver operates on a PC on which an application program operated by the client 101 is operating. However, the process of the printer driver is a process with a relatively large processing load that requires resources such as a CPU (Central Processing Unit) and a memory. For this reason, if the PC resources operated by the client 101 are not sufficient, the printing process takes time. As the demand for printing from terminals with relatively few resources, such as the tablet 103 and the portable terminal 104, increases, it is important to have the printer driver process performed on the Internet. The PC 102, the tablet 103, and the mobile terminal 104 receive an instruction from the requester 101 and requests the above-described URL to convert the print data into a format that can be printed by the printer 108. The converted data generated by the print data conversion service operating on the server 106 in response to the request is returned to the requesting terminal device. Depending on the instruction received from the client 101, the converted data may be stored in the file server 106 accessible by the print data conversion service.

次に、本実施形態に係るサーバのハードウェア構成を説明する。図2は印刷データ変換サービスのソフトウェア群が動作するサーバ106のハードウェア構成図である。図2は情報処理装置の基本的な構成だけを例示しており、機能に応じて各種デバイスが追加される。
印刷データ変換サービスはオペレーティングシステム(以下、OSという)上で動作するアプリケーションプログラムであり、HDD(ハードディスクドライブ装置)202またはROM(リード・オンリ・メモリ)203に格納されている。CPU205は、OSとアプリケーションプログラムをHDD202またはROM203から読み出し、RAM204にロードして実行する。これにより、各種処理が進行し、印刷データ変換サービスの機能が実現される。処理結果は、ファイルとしてHDD202に格納されるか、またはデータとしてRAM(ランダム・アクセス・メモリ)204に記憶される。アプリケーションプログラムは、コンピュータに接続されている入力装置207から使用者の入力操作信号や各種センサの読み取り値を取得する。アプリケーションプログラムはさらに、出力装置206に対して情報を出力し、処理結果を表示デバイスに表示する。さらに、通信装置208を介してネットワークに接続された他のコンピュータや装置との間で通信処理が行われる。これらのハードウェア構成部はバス201で互いに接続されており、アプリケーションプログラムから操作可能である。
Next, the hardware configuration of the server according to the present embodiment will be described. FIG. 2 is a hardware configuration diagram of the server 106 on which the software group of the print data conversion service operates. FIG. 2 illustrates only the basic configuration of the information processing apparatus, and various devices are added according to functions.
The print data conversion service is an application program that operates on an operating system (hereinafter referred to as OS), and is stored in an HDD (Hard Disk Drive Device) 202 or a ROM (Read Only Memory) 203. The CPU 205 reads the OS and application programs from the HDD 202 or the ROM 203, loads them into the RAM 204, and executes them. As a result, various processes proceed, and the function of the print data conversion service is realized. The processing result is stored in the HDD 202 as a file or stored in a RAM (Random Access Memory) 204 as data. The application program acquires user input operation signals and reading values of various sensors from an input device 207 connected to the computer. The application program further outputs information to the output device 206 and displays the processing result on the display device. Further, communication processing is performed with other computers and devices connected to the network via the communication device 208. These hardware components are connected to each other via a bus 201 and can be operated from an application program.

次に、図3を参照してソフトウェア構成を説明する。図3は、印刷データ変換サービス301を含むソフトウェア群がサーバ106上で動作する場合の構成例を示すブロック図である。
Webサーバ302は依頼者101が操作したPC102上のアプリケーションから、HTTP(Hypertext Transfer Protocol)プロトコルで送信されたリクエストを受け取る。ロードバランサ107はWebサーバ302の前段に位置しており、複数のサーバ106上で動作しているWebサーバ302にリクエストを振り分ける。この振り分け方式の詳細は本発明に関係がないため、説明を省略する。
Next, the software configuration will be described with reference to FIG. FIG. 3 is a block diagram illustrating a configuration example when a software group including the print data conversion service 301 operates on the server 106.
The Web server 302 receives a request transmitted by an HTTP (Hypertext Transfer Protocol) protocol from an application on the PC 102 operated by the client 101. The load balancer 107 is positioned in front of the Web server 302 and distributes requests to the Web servers 302 operating on the plurality of servers 106. The details of this distribution method are not relevant to the present invention, and thus the description thereof is omitted.

本実施形態において、サーバ106は必ずしも物理的な一台のマシンを意味しないことに注意を要する。単一のコンピュータ上に複数の仮想的なコンピュータを出現させる仮想化技術が一般的となっている。ソフトウェアからみた場合、自身が動作しているOSが仮想的に作り出されたものか否かは判別がつかないか、または判別の必要がない。従って、本実施形態のサーバ106は「仮想化されたコンピュータ」を意味する場合もある。これ以降、「コンピュータ」は、広義には物理的なマシンとしてのコンピュータ、および仮想化されたコンピュータの両方を意味するものとして扱う。
アプリケーションサーバ303は、要求の送付先として指定されたURLを解析し、関連付けられている印刷データ変換サービス301を決定する。通常、Webサーバ302とアプリケーションサーバ303は複数種類のサービスを扱うことが可能であり、URLから対応するサービスを特定して要求を振り分けることができる。本実施形態では複数種類のサービスの一つを、印刷データ変換サービス301と想定する。このサービスの他にもサービスが稼働しているが、本発明に直接関係ないので説明を省略する。
Note that in this embodiment, the server 106 does not necessarily mean a single physical machine. A virtualization technique that allows a plurality of virtual computers to appear on a single computer has become common. From the viewpoint of software, it is impossible to determine whether or not the OS on which it is operating is virtually created, or it is not necessary to determine. Therefore, the server 106 of this embodiment may mean a “virtualized computer”. Hereinafter, “computer” is treated as meaning both a computer as a physical machine and a virtualized computer in a broad sense.
The application server 303 analyzes the URL designated as the request destination, and determines the associated print data conversion service 301. Normally, the Web server 302 and the application server 303 can handle a plurality of types of services, and can identify requests corresponding to URLs and distribute requests. In this embodiment, one of a plurality of types of services is assumed to be a print data conversion service 301. In addition to this service, a service is operating, but the description is omitted because it is not directly related to the present invention.

印刷データ変換サービス301はプロセスとして動作する。アプリケーションサーバ303は複数の要求を並列して実行させるために、複数の印刷データ変換サービス301を起動させ、各々に要求を振り分ける。アプリケーションサーバ303はさらに、印刷データ変換サービス301が動作する際、依頼者101からの一連の要求を特定する為のセッションを管理する。具体的には、同一の依頼者101からの要求については、同一の印刷データ変換サービス301に転送するセッション・アフィニティを実現している。
図4を参照して印刷データ変換サービス301について説明する。図4は、印刷データ変換サービス301が、依頼された印刷データを変換する際に利用するソフトウェアコンポーネント群の関連を説明する図である。なお、以下では、プロセスとして起動したコンポーネントを、「コンポーネントプロセス」という。
The print data conversion service 301 operates as a process. In order to execute a plurality of requests in parallel, the application server 303 activates a plurality of print data conversion services 301 and distributes the requests to each. The application server 303 further manages a session for specifying a series of requests from the requester 101 when the print data conversion service 301 operates. Specifically, session affinity is realized in which requests from the same client 101 are transferred to the same print data conversion service 301.
The print data conversion service 301 will be described with reference to FIG. FIG. 4 is a diagram for explaining the relationship between software component groups used when the print data conversion service 301 converts requested print data. Hereinafter, a component started as a process is referred to as a “component process”.

印刷データ変換サービス301はプロセスとして動作しており、変換処理をジョブ制御部402に委譲している。印刷データ変換サービス301は、ジョブ制御部402の代理としてのジョブ処理受け付け部401をロードしている。さらにジョブ処理受け付け部401がApplication Programming Interface(API)で提供している関数群を呼び出すことで変換処理の実行を依頼し、さらに結果を受領する。印刷データ変換処理の実行の際、印刷データ変換サービス301は、ジョブ処理受け付け部401に対して処理対象のデータ一式を渡す。この処理対象のデータ一式をジョブと呼ぶ。ジョブは、変換対象データと、変換処理用の設定値等をまとまりのある形式に束ねた「チケット」と呼ばれるデータ構造を有する。
ジョブ制御部402もまたプロセスとして動作しており、変換処理の受け付けの為の通信インターフェイスを保持している。通信インターフェイスへのジョブの依頼はHTTPプロトコルではなく、専用のプロトコルが用いられる。ジョブ処理受け付け部401のAPIを呼び出す処理は、ジョブ制御部402が用意している変換処理受付用通信インターフェイスへのプロセス間通信として行われる。すなわち、印刷データ変換サービス301にとって変換処理はジョブ処理受け付け部401によって実行されているように見える。しかし実際には、ジョブ制御部402および後述する複数のフィルタ群、並びにフィルタ群が利用するいくつかのコンポーネントの相互作用によって実現されている。
The print data conversion service 301 operates as a process, and delegates conversion processing to the job control unit 402. The print data conversion service 301 loads a job processing reception unit 401 as a substitute for the job control unit 402. Further, the job processing reception unit 401 calls a function group provided by Application Programming Interface (API) to request execution of the conversion processing, and further receives the result. When executing the print data conversion process, the print data conversion service 301 passes a set of data to be processed to the job process reception unit 401. This set of data to be processed is called a job. The job has a data structure called “ticket” in which conversion target data, setting values for conversion processing, and the like are bundled into a coherent format.
The job control unit 402 also operates as a process, and holds a communication interface for accepting conversion processing. A job request to the communication interface is not an HTTP protocol but a dedicated protocol. The process of calling the API of the job process reception unit 401 is performed as interprocess communication to the conversion process reception communication interface prepared by the job control unit 402. That is, it appears to the print data conversion service 301 that the conversion processing is being executed by the job processing reception unit 401. However, in actuality, this is realized by the interaction of the job control unit 402, a plurality of filter groups described later, and several components used by the filter groups.

以下では、図4に示す各コンポーネントの機能について説明し、図6を参照してデータ変換処理の概要を説明する。先ず、プロセス情報管理部403を説明する。
プロセス情報管理部403は、アプリケーションサーバ303が起動した時点で唯一起動している特殊なプロセスである。アプリケーションサーバ303上で動作しているOSを設定し、OSの起動時に自動的にプロセス情報管理部403のプロセスを起動させる処理が実行される。
In the following, the function of each component shown in FIG. 4 will be described, and the outline of the data conversion process will be described with reference to FIG. First, the process information management unit 403 will be described.
The process information management unit 403 is a special process that is activated only when the application server 303 is activated. A process of setting an OS running on the application server 303 and automatically starting the process of the process information management unit 403 when the OS is started is executed.

プロセス情報管理部403はコンポーネントをプロセスとして起動する役割を担い、他のコンポーネントからの要求に応じて別のコンポーネントのエンドポイントを返す機能を提供する。エンドポイントとはTCP/IP(Transmission Control Protocol/Internet Protocol)のリスンポートを指す。あるコンポーネントは別のコンポーネントが公開しているエンドポイントを取得し、そのエンドポイントにアクセスすることでそのコンポーネントが提供する機能を利用する。あるコンポーネントが他のコンポーネントのエンドポイントをプロセス情報管理部403に対して問い合わせる動作を「クエリ」と呼ぶこととする。   The process information management unit 403 plays a role of starting a component as a process, and provides a function of returning an endpoint of another component in response to a request from another component. An endpoint refers to a TCP / IP (Transmission Control Protocol / Internet Protocol) listen port. One component obtains an endpoint published by another component, and uses the function provided by that component by accessing that endpoint. An operation in which a certain component inquires the process information management unit 403 about an endpoint of another component is referred to as a “query”.

印刷データ変換サービス301を構成するコンポーネントのうち、ジョブ処理受け付け部401、ジョブ制御部402、フィルタ制御部404は、ログ出力部408が提供しているログデータをログファイルとして記録するサービスを利用できる。例えば管理者や開発者はこうしたログファイルの解析結果により、何が発生したかを把握して対策を講じることができる。そのため、これらはプロセス情報管理部403に対してログ出力部408のエンドポイントを得る目的でクエリを行っている。同様にジョブ処理受け付け部401はジョブ制御部402をクエリし、ジョブ制御部402は、例えば第1フィルタ(フィルタA)405、第2フィルタ(フィルタB)406、第3フィルタ(フィルタC)407のクエリを行う。クエリの処理の流れについては図8および図11を用いて後述する。   Among the components constituting the print data conversion service 301, the job processing receiving unit 401, the job control unit 402, and the filter control unit 404 can use a service for recording log data provided by the log output unit 408 as a log file. . For example, an administrator or developer can grasp what has occurred and take measures based on the analysis result of the log file. Therefore, they query the process information management unit 403 for the purpose of obtaining the end point of the log output unit 408. Similarly, the job processing reception unit 401 queries the job control unit 402, and the job control unit 402 includes, for example, a first filter (filter A) 405, a second filter (filter B) 406, and a third filter (filter C) 407. Make a query. The flow of query processing will be described later with reference to FIGS.

コンポーネントが提供しているサービスは、ネットワークからアクセスできるエンドポイントとして他のコンポーネントに公開される。具体的にはTCP/IPのアドレスとポート番号の組が公開される。コンポーネントは他のコンポーネントの提供するサービスI/F(インターフェイス)を取得して利用する。複数種類のコンポーネントがプロセスとして複数存在し、かつ同一コンポーネントも同一PC上に複数存在する。従って、各コンポーネントが公開するサービスI/Fのポート番号は固定値にすることができず、自ずと動的に生成せざるを得なくなる。動的に生成されたエンドポイントは、何らかの管理機構が無くては他から参照することはできない。この管理を担当するのがプロセス情報管理部403である。さらに、コンポーネントは、他のコンポーネントが動的に生成したエンドポイントを取得する手段が必要である。この手段がクエリである。プロセス情報管理部403は、他のコンポーネントからのクエリに対して、要求されたコンポーネントのエンドポイントを回答する。ジョブ処理受け付け部401を介してジョブ実行を依頼されたジョブ制御部402は、ジョブに含まれている「ジョブ種別情報」をもとに、変換に必要なフィルタを選定する。必要なフィルタの組み合わせとその並び順については、例えば設定ファイルとしてジョブ制御部402が保持する。   Services provided by components are disclosed to other components as endpoints accessible from the network. Specifically, a set of TCP / IP address and port number is disclosed. A component acquires and uses a service I / F (interface) provided by another component. There are a plurality of types of components as processes, and a plurality of the same components exist on the same PC. Therefore, the port number of the service I / F disclosed by each component cannot be set to a fixed value, and must be dynamically generated. Dynamically generated endpoints cannot be referenced from others without some sort of management mechanism. The process information management unit 403 is responsible for this management. In addition, the component needs a means to obtain endpoints dynamically generated by other components. This means is a query. The process information management unit 403 returns the end point of the requested component in response to a query from another component. The job control unit 402 requested to execute the job via the job processing receiving unit 401 selects a filter necessary for conversion based on “job type information” included in the job. For example, the job control unit 402 holds the necessary combinations of filters and the arrangement order thereof as a setting file.

図5は、必要なフィルタの組み合わせ、およびその並び順を記述するための設定ファイルを例示する。ジョブ種別情報を記載するための要素501を示す。
id属性でジョブ種別情報が指定される。要素群502はフィルタの組み合わせと並び順を記述するための要素である。name属性によりフィルタの種類が記述され、version属性により特定されるバージョンのフィルタを使うことが記述される。要素群502は、要素の記述順でフィルタの並び順を規定する。図5に例示する要素群502の場合、Filter A、Filter B、Filter Cの順で処理が行われる。ジョブ制御部402は、ジョブに含まれているジョブ種別情報と一致する要素501を検索し、一致する要素501の下に記述されているフィルタの組み合わせと並び順を採用する。
なお、必要なフィルタの組み合わせおよびその並び順については、ジョブ種別情報の代わりに、印刷データを解析して決定してもよい。その場合、印刷データの先頭から既定のサイズを読出し、その中に含まれている特徴的な内容から印刷データの種類を判定する処理が実行される。例えば、JPEG(Joint Photographic Experts Group)形式や、PDF(Portable Document Format)形式のデータ等が入力データとして与えられる。次に、ジョブに含まれている変換先の印刷データ形式を取得し、変換元の印刷データ形式と変換先の印刷データ形式の両者が確定した時点で、この変換に必要なフィルタ群を選定する処理が行われる。
FIG. 5 illustrates a setting file for describing a necessary combination of filters and their arrangement order. An element 501 for describing job type information is shown.
Job type information is specified in the id attribute. An element group 502 is an element for describing the combination and arrangement order of filters. The name attribute describes the type of filter, and the use of the version of the filter specified by the version attribute is described. The element group 502 defines the filter order in the element description order. In the case of the element group 502 illustrated in FIG. 5, processing is performed in the order of Filter A, Filter B, and Filter C. The job control unit 402 searches for an element 501 that matches the job type information included in the job, and adopts the combination and order of filters described under the matching element 501.
Note that the necessary combination of filters and their arrangement order may be determined by analyzing print data instead of job type information. In this case, a predetermined size is read from the top of the print data, and a process for determining the type of the print data from the characteristic content included therein is executed. For example, data in JPEG (Joint Photographic Experts Group) format, PDF (Portable Document Format) format, or the like is given as input data. Next, the conversion destination print data format included in the job is acquired, and when both the conversion source print data format and the conversion destination print data format are determined, a filter group necessary for this conversion is selected. Processing is performed.

図4(A)では、必要な複数のフィルタが選定された後、各フィルタがフィルタ制御部404にそれぞれロードされている状態を示す。図4(A)の例では、変換に必要なフィルタとして、フィルタA405、フィルタB406、フィルタC407を例示する。各フィルタはそれぞれフィルタ制御部404にロードされている。
ジョブ制御部402はフィルタA405、フィルタB406、フィルタC407との間で、パイプライン409と呼ばれるデータ転送チャネルを生成する。プロトコルとしては、例えばTCP/IPを用いる。パイプライン409は基本的に一方向にのみデータを転送する。ジョブ制御部402、フィルタA405、フィルタB406、フィルタC407、ジョブ制御部402と、一巡するようにパイプライン409が構成される。また、ジョブ制御部402はジョブ処理受け付け部401との間にもパイプライン409を生成する。このようにパイプライン409の生成によってジョブ処理受け付け部401からの印刷データは複数のコンポーネントを還流し、最後に変換が終了した上で再びジョブ処理受け付け部401に戻ってくる。
FIG. 4A shows a state in which each filter is loaded in the filter control unit 404 after a plurality of necessary filters are selected. In the example of FIG. 4A, a filter A405, a filter B406, and a filter C407 are illustrated as filters necessary for conversion. Each filter is loaded in the filter control unit 404.
The job control unit 402 generates a data transfer channel called a pipeline 409 between the filter A 405, the filter B 406, and the filter C 407. For example, TCP / IP is used as the protocol. Pipeline 409 basically transfers data only in one direction. A pipeline 409 is configured to make a round with the job control unit 402, the filter A 405, the filter B 406, the filter C 407, and the job control unit 402. The job control unit 402 also generates a pipeline 409 with the job processing reception unit 401. As described above, the print data from the job processing receiving unit 401 is returned to the plurality of components by the generation of the pipeline 409, and finally returns to the job processing receiving unit 401 after the conversion is completed.

また、ジョブ制御部402は、「複数のフィルタをロードしたフィルタ制御部404」をプロセス情報管理部403に対してクエリ可能である。図4(B)は、フィルタA405、フィルタB406、フィルタC407がすべて同じフィルタ制御部404内にロードされている例を示す。この場合、フィルタ制御部404は、図4(B)で示すようにローカルログ出力部411を保持することも可能である。各フィルタ(405、406,407)は、このローカルログ出力部411を介してログデータ(ロギングデータ)を出力可能である。   Further, the job control unit 402 can query the process information management unit 403 for “filter control unit 404 loaded with a plurality of filters”. FIG. 4B shows an example in which filter A 405, filter B 406, and filter C 407 are all loaded in the same filter control unit 404. In this case, the filter control unit 404 can also hold a local log output unit 411 as shown in FIG. Each filter (405, 406, 407) can output log data (logging data) via the local log output unit 411.

フィルタはデータ変換処理のみを実装したライブラリモジュールの形式で用意されている。フィルタ制御部404はプロセスとして存在し、実行時に指定されたフィルタをロードする。フィルタ制御部404はコントロールバス410への接続とメッセージ送受信、ジョブ制御部402との通信や、フィルタのログ出力をログ出力部408へ転送する処理等を担当する。
ローカルログ出力部411は、フィルタ制御部404のプロセス内にて動作可能である。各フィルタは、ログデータをローカルログ出力部411に対して、APIを介して受け渡す。ローカルログ出力部411は一定量のログデータが蓄積した時点でログファイルに出力する。ログデータを蓄積せずに逐次ログファイルに出力してもよい。ログファイルの出力パス等の設定については、ローカルログ出力部411が起動される際に渡されるコンフィギュレーションファイルで指定される。
The filter is prepared in the form of a library module that implements only data conversion processing. The filter control unit 404 exists as a process, and loads a filter designated at the time of execution. The filter control unit 404 is responsible for connection to the control bus 410 and message transmission / reception, communication with the job control unit 402, processing for transferring the log output of the filter to the log output unit 408, and the like.
The local log output unit 411 can operate in the process of the filter control unit 404. Each filter passes the log data to the local log output unit 411 via the API. The local log output unit 411 outputs a log file when a certain amount of log data is accumulated. The log data may be sequentially output to the log file without accumulating. The setting of the log file output path and the like is specified by a configuration file delivered when the local log output unit 411 is activated.

ログ出力部408は、プロセスとしてコントロールバス410上に最低一つは存在する。各コンポーネントはログデータをログ出力部408に対して、ネットワークを介して送信する。ログ出力部408は一定量のログデータが蓄積した時点でログファイルに出力する。ログデータを蓄積せずに逐次ログファイルに出力してもよい。ログファイルの出力パス等の設定については、ログ出力部408が起動される際に渡されるコンフィギュレーションファイルで指定される。
コントロールバス410上のコンポーネントはジョブの実行中にログ出力を行う。ローカルログ出力部411が個別に出力を行ったのでは、ログファイルがフィルタ制御部404毎ごとに分かれてしまい、ログ解析が困難となってしまう。そこで、本実施形態では、ログ出力部408が一括してログファイルへの出力を行えるように構成されている。
At least one log output unit 408 exists on the control bus 410 as a process. Each component transmits log data to the log output unit 408 via the network. The log output unit 408 outputs a log file when a certain amount of log data is accumulated. The log data may be sequentially output to the log file without accumulating. The setting of the log file output path and the like is specified by a configuration file delivered when the log output unit 408 is activated.
The component on the control bus 410 performs log output during job execution. If the local log output unit 411 performs output individually, the log file is divided for each filter control unit 404, making log analysis difficult. Therefore, in this embodiment, the log output unit 408 is configured to be able to output to log files in a lump.

次に、図6および図7を参照して、データ変換処理の概要を説明する。
図6は、ジョブ処理受け付け部401が印刷データ変換サービス301からジョブ処理を受け付けた後の、データ変換処理例を示す。
S601は、ジョブ処理受け付け部401がジョブ制御部402のクエリ要求を行う処理である。ジョブ処理受け付け部401は、プロセス情報管理部403にクエリ要求を行い、ジョブ制御部402のエンドポイントを取得する。S602は、ジョブ処理受け付け部401がジョブ制御部402に対してジョブ処理依頼を行う処理である。ここで、ジョブのデータが、ジョブ処理受け付け部401からジョブ制御部402に渡される。その際には、ジョブのデータのパスで渡すようにしてもよいし、メモリやプロセス間通信で渡してもよい。
Next, the outline of the data conversion process will be described with reference to FIGS.
FIG. 6 shows an example of data conversion processing after the job processing receiving unit 401 receives job processing from the print data conversion service 301.
In step S <b> 601, the job processing reception unit 401 makes a query request to the job control unit 402. The job processing reception unit 401 makes a query request to the process information management unit 403 and acquires the end point of the job control unit 402. In step S <b> 602, the job processing reception unit 401 makes a job processing request to the job control unit 402. Here, job data is transferred from the job processing receiving unit 401 to the job control unit 402. In that case, it may be passed by a job data path, or may be passed by memory or inter-process communication.

S603は、ジョブ制御部402が、ジョブの内容に基づいて、フィルタの種類と並び順(図5参照)を決定し、それらフィルタのクエリ要求を行う処理である。ジョブ制御部402は、プロセス情報管理部403に対して、各フィルタに対応するフィルタ制御部404のクエリ要求を行い、それぞれのエンドポイントを取得する。ここでは、フィルタA405、フィルタB406、フィルタC407の順に処理を行うものとして説明する。
S604は、パイプラインを生成する処理である。ジョブ制御部402は、各フィルタ制御部404に対してパイプラインの生成を指示する。各フィルタ制御部404は、それぞれ隣り合うコンポーネントプロセスとのパイプラインを生成する。各フィルタ制御部404の入力パイプラインからジョブが流れてくるのを待機し、各フィルタ制御部404はジョブ制御部402にパイプラインの生成処理の完了を通知する。ジョブ制御部402は、各フィルタ制御部404に対してパイプラインの生成を指示する際、ジョブ制御部402のサービスI/Fのエンドポイントを各フィルタ制御部404に通知する。フィルタ制御部404はエラーが発生した際に、ジョブ制御部402のサービスI/Fを通じて、ジョブ制御部402にエラーを通知する。
In step S <b> 603, the job control unit 402 determines a filter type and an arrangement order (see FIG. 5) based on the job contents, and makes a query request for the filters. The job control unit 402 makes a query request to the process information management unit 403 for the filter control unit 404 corresponding to each filter, and acquires each endpoint. Here, description will be made assuming that processing is performed in the order of filter A405, filter B406, and filter C407.
S604 is processing for generating a pipeline. The job control unit 402 instructs each filter control unit 404 to generate a pipeline. Each filter control unit 404 generates a pipeline with each adjacent component process. Each filter control unit 404 waits for a job to flow from the input pipeline of each filter control unit 404 and notifies the job control unit 402 of the completion of the pipeline generation processing. When the job control unit 402 instructs each filter control unit 404 to generate a pipeline, the job control unit 402 notifies each filter control unit 404 of the service I / F endpoint of the job control unit 402. When an error occurs, the filter control unit 404 notifies the job control unit 402 of the error through the service I / F of the job control unit 402.

S605はデータ変換処理である。ジョブ制御部402は、初段のフィルタ制御部404に接続されているパイプラインにデータを渡す。フィルタA405は、フィルタ制御部404を通じてデータを受け取り、データ変換処理を行う。次に、フィルタA405は、フィルタ制御部404を通じて、フィルタB406と接続されているパイプラインにデータを渡す。フィルタB406、フィルタC407でも同様にデータ変換処理が順次行われる。最終的に、フィルタC407から、フィルタ制御部404を通じて、ジョブ制御部402に変換後のデータが送信される。S606は、ジョブ制御部402が、ジョブ処理受け付け部401に対して変換後のデータを返信する処理である。
図6では、各フィルタをそれぞれフィルタ制御部404にロードする場合を例示している。
S605 is a data conversion process. The job control unit 402 passes data to the pipeline connected to the first-stage filter control unit 404. The filter A 405 receives data through the filter control unit 404 and performs data conversion processing. Next, the filter A 405 passes the data to the pipeline connected to the filter B 406 through the filter control unit 404. Similarly, the filter B406 and the filter C407 sequentially perform data conversion processing. Finally, the converted data is transmitted from the filter C 407 to the job control unit 402 through the filter control unit 404. In step S <b> 606, the job control unit 402 returns the converted data to the job processing reception unit 401.
FIG. 6 illustrates a case where each filter is loaded into the filter control unit 404.

次に、図7を参照して、複数のフィルタを同一のフィルタ制御部404にロードする例を説明する。図6との相違点は、S603およびS604の各処理の内容である。S603−01においてジョブ制御部402は、ジョブの内容をもとに、フィルタの種類および並び順を決定する。そして、ジョブ制御部402は、プロセス情報管理部403に対して、複数のフィルタをロードした1つのフィルタ制御部404のクエリ要求を行い、エンドポイントを取得する。これにより、フィルタA405、フィルタB406、フィルタC407をロードした1つのフィルタ制御部404を獲得することができる。   Next, an example of loading a plurality of filters to the same filter control unit 404 will be described with reference to FIG. The difference from FIG. 6 is the contents of each process of S603 and S604. In step S <b> 603-01, the job control unit 402 determines the type and order of filters based on the job contents. Then, the job control unit 402 makes a query request to one filter control unit 404 loaded with a plurality of filters to the process information management unit 403, and acquires an end point. Thereby, one filter control unit 404 loaded with the filter A 405, the filter B 406, and the filter C 407 can be acquired.

S604−01は、パイプラインを生成する処理である。ジョブ制御部402は、1つのフィルタ制御部404に対してパイプラインの生成を指示する。図6のS604では、上述ように各フィルタ制御部404は、それぞれ隣り合うコンポーネントプロセスとのパイプラインを生成した。これに対して図7の、S604−01にて、フィルタ制御部404はフィルタA405、フィルタB406、フィルタC407について、同一プロセス内でパイプラインを生成する。   S604-01 is processing for generating a pipeline. The job control unit 402 instructs one filter control unit 404 to generate a pipeline. In S604 of FIG. 6, as described above, each filter control unit 404 generates a pipeline with each adjacent component process. On the other hand, in S604-01 of FIG. 7, the filter control unit 404 generates a pipeline for the filter A 405, the filter B 406, and the filter C 407 in the same process.

次に、コンポーネントの生成について説明する。図8はコンポーネントをプロセスとして生成するシーケンスを説明した図である。
図8(A)はプロセス情報管理部403のみが存在する状況を示す。この状況は、図3においてサーバ106が起動した直後の状態に相当する。この時点では、まだ印刷データ変換サービス301は起動していない。プロセス情報管理部403は単独でコントロールバス410に繋がっている状態である。
プロセス情報管理部403はサービスカタログ701を保持している。サービスカタログ701は、例えば、サーバ106のHDD202にファイルとして保存され、プロセス情報管理部403によって読み込まれる。図9にサービスカタログの概念図を示す。サービスカタログ701は、サーバ106上にインストールされているコンポーネントのリストから構成されている。
Next, component generation will be described. FIG. 8 is a diagram illustrating a sequence for generating a component as a process.
FIG. 8A shows a situation where only the process information management unit 403 exists. This situation corresponds to a state immediately after the server 106 is activated in FIG. At this point, the print data conversion service 301 has not been activated yet. The process information management unit 403 is connected to the control bus 410 by itself.
The process information management unit 403 holds a service catalog 701. For example, the service catalog 701 is stored as a file in the HDD 202 of the server 106 and is read by the process information management unit 403. FIG. 9 shows a conceptual diagram of the service catalog. The service catalog 701 includes a list of components installed on the server 106.

図9(A)および(B)において、エントリ801は、サービスカタログのエントリであり、コンポーネントごとに存在する。コンポーネント名802は当該エントリのコンポーネント名である。サービスのバージョン803は、コンポーネントのバージョンを示す。同一の名称を持つコンポーネントであっても、そのバージョンが異なる場合がある。この場合、異なる機能を提供するためにサービスカタログ701上では異なるエントリとして扱われる。
ホスティングプロセスパス804は、コンポーネントのホスティングプロセスパスを示す。実行ファイルパス805は、ホスティングプロセスパス804がロードする実行ファイルパスを示す。コンフィギュレーションファイルパス806は、コンポーネントをプロセスとして起動したときに、プロセス情報管理部403からそのコンポーネントに渡されるコンフィギュレーションファイルのパスである。起動モード807は、コンポーネントプロセスが、オンデマンド(Ondemand)で起動するか、またはホットスタンバイ(HotStandby)させておくかを示す。起動モードがオンデマンドの場合、そのコンポーネントを指定したコンポーネントのクエリがあったときに当該コンポーネントプロセスが起動する。また、ホットスタンバイの場合、プロセス情報管理部403が起動する際に当該コンポーネントプロセスを起動させる。
9A and 9B, an entry 801 is a service catalog entry and exists for each component. A component name 802 is a component name of the entry. The service version 803 indicates the component version. Even components with the same name may have different versions. In this case, in order to provide different functions, they are treated as different entries on the service catalog 701.
A hosting process path 804 indicates the hosting process path of the component. An execution file path 805 indicates an execution file path loaded by the hosting process path 804. The configuration file path 806 is a path of a configuration file passed from the process information management unit 403 to the component when the component is activated as a process. The start mode 807 indicates whether the component process is started on demand (Ondemand) or is in hot standby (HotStandby). When the activation mode is on-demand, the component process is activated when there is a query for a component that specifies the component. In the case of hot standby, when the process information management unit 403 is activated, the component process is activated.

図9(A)は、「フィルタA405」をロードするフィルタ制御部404、即ち、図4(A)で説明したフィルタA405をロードしたフィルタ制御部404のカタログを示す。一方、図9(B)は、フィルタA405、フィルタB406、フィルタC407を同一のプロセス上にロードするフィルタ制御部404のカタログを示す。即ち、図4(B)で説明したフィルタA405、フィルタB406、C407をロードした1つのフィルタ制御部404のサービスカタログである。   FIG. 9A shows a catalog of the filter control unit 404 loaded with “filter A 405”, that is, the filter control unit 404 loaded with the filter A 405 described with reference to FIG. On the other hand, FIG. 9B shows a catalog of the filter control unit 404 that loads the filter A405, the filter B406, and the filter C407 on the same process. That is, it is a service catalog of one filter control unit 404 loaded with the filters A405, B406, and C407 described with reference to FIG.

図8(B)は、あるコンポーネントA702の起動モードがホットスタンバイに指定されているとした場合を例示する。プロセス情報管理部403は自身が起動すると、サービスカタログ701を参照し、起動モードがホットスタンバイに指定されているコンポーネントA702を検索する。次にプロセス情報管理部403は、サービスカタログ701からコンフィギュレーションファイルパス806を、起動引数に与えてコンポーネントA702をプロセスとして起動させる。コンポーネントA702が起動し、コントロールバス410に接続する時点でユニークなID(識別情報)を与えられる。このIDとしては、例えばGUID(Globally Unique Identifier)を用いる。コンポーネントA702はコンフィギュレーションファイルパス806からコンフィギュレーションファイル703を参照して必要な初期値等を取得し、初期値を使って自身を初期化する。   FIG. 8B illustrates a case where the startup mode of a certain component A 702 is designated as hot standby. When the process information management unit 403 is activated, the process information management unit 403 refers to the service catalog 701 and searches for the component A 702 in which the activation mode is designated as hot standby. Next, the process information management unit 403 gives the configuration file path 806 from the service catalog 701 as an activation argument, and activates the component A 702 as a process. When the component A 702 is activated and connected to the control bus 410, a unique ID (identification information) is given. For example, a GUID (Globally Unique Identifier) is used as this ID. The component A 702 refers to the configuration file 703 from the configuration file path 806 to acquire necessary initial values and the like, and initializes itself using the initial values.

図8(C)にて、コンポーネントA702がサービスを提供する為に、TCP/IPのポートを取得しサービスI/F704の待ち受けを開始した状態を示す。コンポーネントA702は、他のコンポーネントへのサービスの提供の準備ができたため、コントロールバス410に自身のアドバタイズメッセージ705を作成して送信する。アドバタイズメッセージ705には、コンポーネントA702の名称、ID、バージョン、サービスI/F704のエンドポイント(アドレス、ポート番号)が記載されている。このメッセージがプロセス情報管理部403宛てに送信される。アドバタイズメッセージ705の送信は、コンポーネントが自身の起動完了とサービス提供開始を宣言するために行われる。アドバタイズメッセージ705を受信したプロセス情報管理部403は、コンポーネントA702の起動を確認し、かつサービスI/F704のエンドポイントを取得することができる。   FIG. 8C shows a state in which the component A 702 acquires a TCP / IP port and starts waiting for a service I / F 704 in order to provide a service. Since the component A 702 is ready to provide services to other components, the component A 702 creates and transmits its advertisement message 705 to the control bus 410. The advertisement message 705 describes the name, ID, version, and end point (address, port number) of the service I / F 704 of the component A 702. This message is transmitted to the process information management unit 403. The advertisement message 705 is transmitted in order for the component to declare its own activation completion and service provision start. The process information management unit 403 that has received the advertisement message 705 can confirm the activation of the component A 702 and can acquire the end point of the service I / F 704.

図8(D)は、プロセス情報管理部403がコンポーネントA702からのアドバタイズメッセージ705を受信し、以降の管理の為に管理テーブルであるサービスインベントリ706に登録を行った様子を表している。
図10(A)および(B)は、サービスインベントリ706の内容を模式的に表した図である。図10(A)は、図9(A)で説明したフィルタ制御部404のサービスインベントリ706を示す。図10(B)は、図9(B)で説明したフィルタ制御部404のサービスインベントリ706を示す。エントリ901はサービスインベントリ706のエントリである。コンポーネントプロセスごとにエントリ901が存在する。プロセス情報管理部403は、アドバタイズメッセージ705を受け取った時点で、サービスインベントリ706内にそのメッセージの送信元であるコンポーネントプロセスのエントリを作成する。そして、プロセス情報管理部403はエントリ901内にメッセージの内容を記載する。具体的には、ID902、名称903、バージョン904、エンドポイント905(アドレスおよびポート番号)が記載される。状態906には、プロセス情報管理部403が、後述するステートチェンジメッセージを受け取った際にコンポーネントプロセスの状態を記録する。状態906は「アイドリング」または「ビジー」という値をとり得る。「アイドリング」は、当該コンポーネントプロセスが処理受け付け可能な状態である。「ビジー」は、当該コンポーネントプロセスが処理受け付け不可能な状態である。各コンポーネントプロセスが起動する際には「アイドリング」状態で起動する。「ビジー」状態に関しては図8(G)を参照して後述する。
FIG. 8D shows a state in which the process information management unit 403 receives the advertisement message 705 from the component A 702 and registers it in the service inventory 706 that is a management table for subsequent management.
FIGS. 10A and 10B are diagrams schematically showing the contents of the service inventory 706. FIG. 10A shows the service inventory 706 of the filter control unit 404 described with reference to FIG. FIG. 10B shows the service inventory 706 of the filter control unit 404 described with reference to FIG. An entry 901 is an entry of the service inventory 706. An entry 901 exists for each component process. When the process information management unit 403 receives the advertisement message 705, the process information management unit 403 creates an entry of the component process that is the transmission source of the message in the service inventory 706. Then, the process information management unit 403 describes the content of the message in the entry 901. Specifically, an ID 902, a name 903, a version 904, and an end point 905 (address and port number) are described. In the state 906, when the process information management unit 403 receives a state change message described later, the state of the component process is recorded. State 906 may take the values “idling” or “busy”. “Idling” is a state in which the component process can accept processing. “Busy” is a state in which the component process cannot accept processing. When each component process starts, it starts in an “idling” state. The “busy” state will be described later with reference to FIG.

図8(E)は、コンポーネントA702がコンポーネントB709を利用しようとして、プロセス情報管理部403に対してクエリメッセージ708を送信した状態を示す。クエリメッセージ708には、コンポーネントB709の名称と利用したいバージョンが記載されている。あるコンポーネントは複数のバージョンが作成され得る。同一の名称のコンポーネントが機能の違いにより、複数作成されて異なるバージョンとして市場にリリースされる。従ってコンポーネントA702はバージョン“2.0.0.1”のように、自身が利用したいコンポーネントB709のバージョンを指定してクエリ要求を行うことができる。特定バージョンを利用する必要が無い場合には、バージョン欄は空欄で指定される。図8(E)に示す時点でコンポーネントB709はまだ生成されていない為、プロセス情報管理部403はコンポーネントB709を新たに生成する。図8(B)〜(D)で示したコンポーネントA702の生成手順と同様に、コンポーネントB709が生成される。プロセス情報管理部403におけるクエリの処理の詳細については、図11を用いて後述する。   FIG. 8E shows a state in which the component A 702 transmits a query message 708 to the process information management unit 403 in an attempt to use the component B 709. The query message 708 describes the name of the component B 709 and the version to be used. A component can be created in multiple versions. Multiple components with the same name are created and released to the market as different versions due to differences in function. Accordingly, the component A 702 can make a query request by designating the version of the component B 709 that the component A 702 wants to use, such as version “2.0.0.1”. If there is no need to use a specific version, the version field is designated as blank. Since the component B 709 has not yet been generated at the time shown in FIG. 8E, the process information management unit 403 newly generates the component B 709. Similar to the generation procedure of the component A 702 shown in FIGS. 8B to 8D, the component B 709 is generated. Details of query processing in the process information management unit 403 will be described later with reference to FIG.

図8(F)は、プロセス情報管理部403がクエリに対するレスポンスをコンポーネントA702にクエリレスポンスメッセージ710として返信する状態を示す。クエリレスポンスメッセージ710には、コンポーネントB709の名称、バージョン、サービスI/Fを示すエンドポイントが含まれている。
図8(G)は、クエリレスポンスメッセージ710を受け取ったコンポーネントA702が取得したコンポーネントB709のサービスI/F711を利用する状態を示す。コンポーネントによっては、サービスI/Fにアクセスして来る他のサービスからのサービス要求を同時に扱えるものと、そうでないものが存在する。例えば、ログ出力部408は複数のサービスからのログデータを同時並行的に受け取ってログファイルに記録していく能力を有する。一方、パイプラインを構成してジョブを変換するフィルタは同時並行処理の能力をもたない。従って、コンポーネントB709が同時並行処理の能力を持たないコンポーネントである場合、コンポーネントA702がアクセスしてきた時点で他のコンポーネントからの要求を受け付けられないビジー状態に遷移する。
FIG. 8F shows a state in which the process information management unit 403 returns a response to the query as a query response message 710 to the component A 702. The query response message 710 includes an endpoint indicating the name, version, and service I / F of the component B 709.
FIG. 8G shows a state in which the service I / F 711 of the component B 709 acquired by the component A 702 that has received the query response message 710 is used. Some components can handle service requests from other services that access the service I / F at the same time, and others cannot. For example, the log output unit 408 has a capability of receiving log data from a plurality of services in parallel and recording them in a log file. On the other hand, a filter that converts a job by configuring a pipeline does not have the capability of simultaneous parallel processing. Therefore, when the component B 709 is a component that does not have the capability of simultaneous parallel processing, the component A 702 transitions to a busy state in which a request from another component cannot be accepted when accessed.

ビジー状態は、コンポーネントA702が明示的なアクセス終了を、サービスI/Fを通じてコンポーネントB709に宣言するまで継続する。コンポーネントB709はビジー状態に遷移したら、自身をクエリで検出されないようにする必要がある。図8(H)に示すように、コンポーネントB709はステートチェンジメッセージ712をプロセス情報管理部403に対して送信する。ステートチェンジメッセージ712には、コンポーネントB709がビジー状態に遷移したことが記載されている。ステートチェンジメッセージ712を受け取ったプロセス情報管理部403は、サービスインベントリ706のコンポーネントB709のエントリを検索し、その状態906を「ビジー」状態に変更する。コンポーネントB709の状態906が「ビジー」状態に変更されると、プロセス情報管理部403は以降、名称を指定したクエリを受け取ったとしても、そのコンポーネントB709のプロセスを選定することはなくなる。ただし、サービスインベントリ706には、他のコンポーネントBのプロセスが複数存在している可能性がある。それらのいずれかがビジー状態でなければ「利用可能なコンポーネントB」としてクエリの発行元のコンポーネントに返信される。複数の同一名称およびバージョンを持ったコンポーネントプロセス群から、どのプロセスをクエリの結果として選択するのかに関しては、例えば最初に発見されたプロセスを返信する方法がある。または、コンポーネントプロセスごとに、クエリ発行元のコンポーネントに返信された回数をカウントしておき、最もカウント値の低いプロセスを返信する方法を採用してもよい。   The busy state continues until the component A 702 declares explicit access termination to the component B 709 through the service I / F. When the component B 709 transitions to the busy state, it is necessary to prevent itself from being detected by the query. As shown in FIG. 8H, the component B 709 transmits a state change message 712 to the process information management unit 403. The state change message 712 describes that the component B 709 has transitioned to the busy state. Upon receiving the state change message 712, the process information management unit 403 searches for an entry of the component B 709 in the service inventory 706, and changes the state 906 to a “busy” state. When the status 906 of the component B 709 is changed to the “busy” status, the process information management unit 403 will not select the process of the component B 709 even if it receives a query specifying the name. However, there may be a plurality of other component B processes in the service inventory 706. If any of them is not busy, it is returned to the component that issued the query as “available component B”. As to which process is selected as a result of a query from a plurality of component processes having the same name and version, there is a method of returning the first discovered process, for example. Alternatively, for each component process, a method may be employed in which the number of times returned to the query issuing component is counted and the process with the lowest count value is returned.

次に、図11のフローチャートを参照して、クエリ処理の詳細を説明する。
S1001でプロセス情報管理部403は、他のコンポーネントからクエリ要求を受け付ける。クエリには、コンポーネントの名称と、利用したいバージョンが含まれている。S1002でプロセス情報管理部403は、サービスカタログ701を探索し、S1001で受け付けたコンポーネント名とバージョンに対応するエントリ801が存在するか否かを判定する。当該エントリ801がサービスカタログ701に存在すると判定された場合、S1003に処理を進めるが、存在しなければS1007に移行する。
Next, the details of the query processing will be described with reference to the flowchart of FIG.
In step S1001, the process information management unit 403 receives a query request from another component. The query includes the name of the component and the version you want to use. In step S1002, the process information management unit 403 searches the service catalog 701 and determines whether there is an entry 801 corresponding to the component name and version received in step S1001. If it is determined that the entry 801 exists in the service catalog 701, the process proceeds to S1003. If it does not exist, the process proceeds to S1007.

S1003でプロセス情報管理部403はジョブ受け付け可能なコンポーネントプロセスが存在するか否かを判定する。プロセス情報管理部403は、サービスインベントリ706を探索し、S1001で受け付けたコンポーネント名とバージョンに対応するエントリ901を探索する。そして、状態906が「アイドリング」であるコンポーネントプロセスが1つ以上存在するか否かを判定する処理が実行される。状態906が「アイドリング」であるコンポーネントプロセスが存在する場合には、S1004に処理を進め、存在しなければS1005に移行する。   In step S1003, the process information management unit 403 determines whether there is a component process that can accept a job. The process information management unit 403 searches the service inventory 706 and searches for an entry 901 corresponding to the component name and version received in S1001. Then, processing for determining whether or not there is one or more component processes whose status 906 is “idling” is executed. If there is a component process whose status 906 is “idling”, the process proceeds to S1004, and if it does not exist, the process proceeds to S1005.

S1004でプロセス情報管理部403は、クエリ要求元に対して、要求のあったコンポーネントプロセスのエンドポイントを通知する。S1004にて、検出されたコンポーネントプロセスのうちの1つについてクエリ要求元にエンドポイントを通知する処理が実行される。その際、最初に検出されたコンポーネントプロセスを返すように構成してもよい。または、コンポーネントプロセスごとに、何回クエリ要求元にエンドポイントを返したかを、サービスインベントリ706に記憶しておき、最も回数の少ないコンポーネントプロセスを返すように構成してもよい。   In step S1004, the process information management unit 403 notifies the query request source of the endpoint of the requested component process. In S1004, a process of notifying the query request source of the endpoint for one of the detected component processes is executed. At that time, the first detected component process may be returned. Alternatively, for each component process, how many times the endpoint is returned to the query request source may be stored in the service inventory 706 and the component process with the smallest number of times may be returned.

S1005でプロセス情報管理部403は、クエリ要求のあったコンポーネントをプロセスとして起動する。次のS1006でプロセス情報管理部403は、S1005で起動したコンポーネントプロセスからアドバタイズメッセージ705を受け付ける。この処理後にS1004に進み、S1005で起動したコンポーネントプロセスをクエリの要求元に通知する。なお、図11には記載していないが、アドバタイズメッセージ705が規定時間内にプロセス情報管理部403に到着しない場合、エラーと判別し、S1007に進んでもよい。S1007にて、プロセス情報管理部403はクエリ要求元に対してエラーを通知する。   In step S <b> 1005, the process information management unit 403 activates the component for which the query has been requested as a process. In step S1006, the process information management unit 403 receives an advertisement message 705 from the component process activated in step S1005. After this processing, the process proceeds to S1004, and the component process activated in S1005 is notified to the query request source. Although not shown in FIG. 11, if the advertisement message 705 does not arrive at the process information management unit 403 within the specified time, it may be determined as an error and the process may proceed to S1007. In step S1007, the process information management unit 403 notifies an error to the query request source.

以上に説明した、データ変換サービスの処理の基本的な流れを踏まえて、ジョブを実行する処理について、図12のフローチャートを参照して説明する。
まず、ジョブ処理受け付け部401は入力データを受け付け、入力データをジョブ制御部402に送信する(S1101)。ジョブ制御部402は処理に必要なフィルタを特定する。本実施形態では、プロセス情報管理部403が起動させるプロセスを、フィルタA405、フィルタB406、フィルタC407、として説明する。ジョブ制御部402は、上記3つのフィルタを同一のプロセスで動作させたフィルタ制御部404に関し、プロセス情報管理部403に対してクエリを行う。クエリを受け付けたプロセス情報管理部403は、要求されたフィルタを起動させ、ジョブ制御部402はパイプラインを生成する(S1102)。これは図4(B)、図7で説明したパイプラインである。
Based on the basic flow of data conversion service processing described above, processing for executing a job will be described with reference to the flowchart of FIG.
First, the job processing reception unit 401 receives input data and transmits the input data to the job control unit 402 (S1101). The job control unit 402 specifies a filter necessary for processing. In the present embodiment, processes activated by the process information management unit 403 will be described as filters A405, B406, and C407. The job control unit 402 makes a query to the process information management unit 403 regarding the filter control unit 404 in which the above three filters are operated in the same process. Upon receipt of the query, the process information management unit 403 activates the requested filter, and the job control unit 402 generates a pipeline (S1102). This is the pipeline described with reference to FIGS.

次に、ジョブ制御部402は構築したパイプラインを用いて、「ログ出力なし」として、ジョブの実行をフィルタ制御部404に指示する。指示の方法としては、チケット(変換処理用の設定値等をまとまりのある形式に束ねた構造をもつデータ群)内に記述する方法等があるが、通知の方法は特に問わない。ジョブ制御部402は各フィルタを用いて、ログ出力なしでジョブを実行する(S1103)。
ジョブ制御部402は、ジョブが正常に実行されたかどうかを判断し(S1104)、判断結果に応じて3つに分岐して処理を切り替える。ジョブが正常に終了した場合、S1109へ移行し、クラッシュが発生した場合、S1107へ移行し、クラッシュ以外のエラーが発生した場合にはS1105へ移行する。
S1105でジョブ制御部402は、エラーが発生したフィルタを特定する。エラーが発生した場合、各フィルタがジョブ制御部402へエラーが発生したことを通知することで、ジョブ制御部402はエラーが発生したフィルタを特定できる。
Next, using the constructed pipeline, the job control unit 402 instructs the filter control unit 404 to execute the job as “no log output”. As an instruction method, there is a method of describing in a ticket (a data group having a structure in which setting values for conversion processing and the like are bundled together), but a notification method is not particularly limited. The job control unit 402 executes the job using each filter without outputting the log (S1103).
The job control unit 402 determines whether the job has been executed normally (S1104), and branches to three depending on the determination result to switch the processing. If the job ends normally, the process proceeds to S1109. If a crash occurs, the process proceeds to S1107. If an error other than the crash occurs, the process proceeds to S1105.
In step S1105, the job control unit 402 identifies a filter in which an error has occurred. When an error occurs, each filter notifies the job control unit 402 that the error has occurred, so that the job control unit 402 can identify the filter in which the error has occurred.

次に、ジョブ制御部402はS1105で特定したフィルタに対してのみ、「ローカルログ出力あり(ローカルログ出力部411にてログを出力させるための指示)」として、ジョブの実行を指示する。この指示については、チケット内に記述する等の方法をとる(S1106)。その後、S1109に処理を進める。
S1104にてクラッシュが発生したと判断する方法は、各コンポーネント間(各プロセス間)において互いにパイプラインの切断を検知することにより問題の起きたコンポーネントを特定することで実現することができる。具体的には、プロセス間、例えばジョブ制御部402とフィルタ制御部404との間で定期的に生存確認のためのパケットを送り合う。パケットが途絶えたことをタイムアウトにより検知し、クラッシュが発生したことを把握できる。例えば、フィルタ制御部404からのパケットが途絶えた場合、ジョブ制御部402はフィルタ制御部がクラッシュしたと判断することができる。この場合、ジョブ制御部402は、複数のフィルタ(本例では3つのフィルタ)に対応する各フィルタ制御部404に関し、それぞれプロセス情報管理部403に対してクエリを行う。そして、クエリを受け付けたプロセス情報管理部403は、要求されたフィルタを起動させ、ジョブ制御部402はパイプラインを生成する(S1107)。これは図4(A)、図6で説明したパイプラインである。
Next, the job control unit 402 instructs the execution of the job as “local log output is present (instruction for causing the local log output unit 411 to output a log)” only for the filter specified in S1105. For this instruction, a method such as description in a ticket is used (S1106). Thereafter, the process proceeds to S1109.
The method of determining that a crash has occurred in S1104 can be realized by identifying a component in which a problem has occurred by detecting pipeline disconnection between components (between processes). Specifically, packets for survival confirmation are periodically sent between processes, for example, between the job control unit 402 and the filter control unit 404. It is possible to detect a crash by detecting that a packet has been interrupted by a timeout. For example, when the packet from the filter control unit 404 is interrupted, the job control unit 402 can determine that the filter control unit has crashed. In this case, the job control unit 402 queries the process information management unit 403 for each filter control unit 404 corresponding to a plurality of filters (three filters in this example). Upon receiving the query, the process information management unit 403 activates the requested filter, and the job control unit 402 generates a pipeline (S1107). This is the pipeline described with reference to FIGS.

S1108にてジョブ制御部402は、S1105で特定したフィルタに対してのみ、「ログ出力あり(ログ出力部408にてログを出力させるための指示)」として、ジョブ実行を指示する。この指示については、チケット内に記述する等の方法をとる。その後、S1109に処理を進める。
S1109にて、ジョブ制御部402は後処理を実行して処理を終了する。後処理とは、具体的には、パイプラインの破棄や、プロセス情報管理部403に「アイドリング」状態への変更通知を行う処理である。プロセス情報管理部403は「アイドリング」状態への変更通知を受け取り、サービスインベントリ706において当該コンポーネントプロセスの状態906を「アイドリング」に変更する。
In step S <b> 1108, the job control unit 402 instructs job execution only for the filter specified in step S <b> 1105 as “log output is present (instruction for causing the log output unit 408 to output a log)”. For this instruction, a method such as describing in a ticket is used. Thereafter, the process proceeds to S1109.
In step S1109, the job control unit 402 executes post-processing and ends the processing. Specifically, the post-processing is processing for discarding the pipeline or notifying the process information management unit 403 of the change to the “idling” state. The process information management unit 403 receives the notification of change to the “idling” state, and changes the state 906 of the component process to “idling” in the service inventory 706.

本実施形態に係る情報処理装置は、複数のフィルタを動作させてパイプライン処理を行う場合に、少なくとも第1モードおよび第2モードを有する。つまり、第1モードは、複数のフィルタを同一のプロセスで動作させ、かつログデータを出力しないモードである。第2モードは、第1モードで複数のフィルタを用いた処理が正常に終了しなかった場合、複数のフィルタを複数のプロセスで動作させ、かつログデータを出力するモードである。第1モードで複数のフィルタを実行する実行手段と、第2モードで複数のフィルタを再実行する再実行手段については同一の手段でもよいし、または異なる手段でもよい。
このように第1モードではログデータを出力しないが、同一のプロセス内でフィルタを動作させることにより、処理の高速性を維持できる。また、エラー発生時には、第2モードにてジョブを再実行してログデータを出力させることが可能となる。クラッシュ時にはフィルタを別プロセスで動作させ、かつ、別プロセスで動作するログ出力機構を用いることで、再実行時に安定してログデータを取得することができる。
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
The information processing apparatus according to the present embodiment has at least a first mode and a second mode when pipeline processing is performed by operating a plurality of filters. That is, the first mode is a mode in which a plurality of filters are operated in the same process and log data is not output. The second mode is a mode in which a plurality of filters are operated by a plurality of processes and log data is output when processing using the plurality of filters is not normally completed in the first mode. The execution means for executing a plurality of filters in the first mode and the re-execution means for re-execution of the plurality of filters in the second mode may be the same means or different means.
As described above, the log data is not output in the first mode, but the processing speed can be maintained by operating the filter in the same process. When an error occurs, the job can be re-executed in the second mode to output log data. Log data can be stably acquired at the time of re-execution by using a log output mechanism that operates in a separate process and operates in a separate process at the time of a crash.
(Other embodiments)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

402 ジョブ制御部
403 プロセス情報管理部
404 フィルタ制御部
405,406,407 フィルタ
409 ローカルログ出力部
402 Job control unit 403 Process information management unit 404 Filter control unit 405, 406, 407 Filter 409 Local log output unit

Claims (11)

機能に応じた複数のフィルタを実行することにより処理を行う情報処理装置であって、
前記複数のフィルタを同一のプロセスで、かつログデータを出力しない第1モードで実行する実行手段と、
前記第1モードにて前記複数のフィルタを用いた処理が正常に終了しなかった場合、前記複数のフィルタを複数のプロセスで、かつログデータを出力する第2モードで再実行する再実行手段と、を有することを特徴とする情報処理装置。
An information processing apparatus that performs processing by executing a plurality of filters according to functions,
Execution means for executing the plurality of filters in the same process and in a first mode that does not output log data;
Re-execution means for re-executing the plurality of filters in a plurality of processes and in a second mode for outputting log data when the processing using the plurality of filters in the first mode is not normally completed; And an information processing apparatus.
前記実行手段は、前記第1モードにて前記複数のフィルタによるパイプライン処理を実行し、前記第1モードでのパイプライン処理が正常に終了しなかった場合、前記再実行手段は前記第2モードで前記パイプライン処理を再実行させ、ログデータが出力されることを特徴とする請求項1に記載の情報処理装置。   The execution means executes pipeline processing by the plurality of filters in the first mode, and when the pipeline processing in the first mode does not end normally, the re-execution means executes the second mode The information processing apparatus according to claim 1, wherein the pipeline processing is re-executed to output log data. 前記第1モードでのパイプライン処理が正常に終了しなかった場合、前記複数のフィルタのうち、どのフィルタでエラーが発生したかを特定する特定手段を有することを特徴とする請求項2に記載の情報処理装置。   3. The device according to claim 2, further comprising: a specifying unit that specifies which of the plurality of filters has caused an error when the pipeline processing in the first mode is not normally completed. 5. Information processing device. 前記再実行手段は、前記特定手段が特定した前記フィルタに対して、ログデータを出力させる処理を行うことを特徴とする請求項3に記載の情報処理装置。   The information processing apparatus according to claim 3, wherein the re-execution unit performs a process of outputting log data to the filter specified by the specifying unit. 前記フィルタから取得したログデータをログファイルに出力するローカルログ出力部を有することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。   The information processing apparatus according to claim 1, further comprising: a local log output unit that outputs log data acquired from the filter to a log file. 機能に応じた複数のフィルタを実行することにより処理を行うコンピュータにおいて実行されるプログラムであって、
前記コンピュータに、
前記複数のフィルタを同一のプロセスで、かつログデータを出力しない第1モードで実行する実行工程と、
前記第1モードにて前記複数のフィルタを用いた処理が正常に終了しなかった場合、前記複数のフィルタを複数のプロセスで、かつログデータを出力する第2モードで再実行する再実行工程と、を実行させることを特徴とするプログラム。
A program executed in a computer that performs processing by executing a plurality of filters according to functions,
In the computer,
An execution step of executing the plurality of filters in the same process and in a first mode that does not output log data;
A re-execution step of re-executing the plurality of filters in a plurality of processes and in a second mode for outputting log data when processing using the plurality of filters in the first mode is not normally completed; , A program characterized by being executed.
前記コンピュータに、
前記実行工程では、前記第1モードにて前記複数のフィルタによるパイプライン処理を実行させ、前記第1モードでのパイプライン処理が正常に終了しなかった場合、前記再実行工程では前記第2モードで前記パイプライン処理を再実行させ、ログデータが出力されることを特徴とする請求項6に記載のプログラム。
In the computer,
In the execution step, pipeline processing by the plurality of filters is executed in the first mode, and when the pipeline processing in the first mode does not end normally, in the re-execution step, the second mode The program according to claim 6, wherein the pipeline processing is re-executed and log data is output.
前記コンピュータに、
前記第1モードでのパイプライン処理が正常に終了しなかった場合、前記複数のフィルタのうち、どのフィルタでエラーが発生したかを特定する特定工程を実行させることを特徴とする請求項7に記載のプログラム。
In the computer,
8. The method according to claim 7, wherein when the pipeline processing in the first mode does not end normally, a specific step of specifying which filter among the plurality of filters has caused an error is executed. The listed program.
前記コンピュータに、
前記再実行工程にて、前記特定工程で特定した前記フィルタに対して、ログデータを出力させる処理を実行させることを特徴とする請求項8に記載のプログラム。
In the computer,
The program according to claim 8, wherein in the re-execution step, a process of outputting log data to the filter specified in the specification step is executed.
前記コンピュータに、
前記フィルタから取得したログデータをログファイルに出力するローカルログ出力工程を実行させることを特徴とする請求項6乃至9のいずれか1項に記載のプログラム。
In the computer,
The program according to any one of claims 6 to 9, wherein a local log output step of outputting log data acquired from the filter to a log file is executed.
機能に応じた複数のフィルタを実行することにより処理を行う情報処理装置の制御方法であって、
前記情報処理装置により、
前記複数のフィルタを同一のプロセスで、かつログデータを出力しない第1モードで実行する実行工程と、
前記第1モードにて前記複数のフィルタを用いた処理が正常に終了しなかった場合、前記複数のフィルタを複数のプロセスで、かつログデータを出力する第2モードで再実行する再実行工程と、を有することを特徴とする制御方法。
A method of controlling an information processing apparatus that performs processing by executing a plurality of filters according to a function,
By the information processing apparatus,
An execution step of executing the plurality of filters in the same process and in a first mode that does not output log data;
A re-execution step of re-executing the plurality of filters in a plurality of processes and in a second mode for outputting log data when processing using the plurality of filters in the first mode is not normally completed; The control method characterized by having.
JP2014001264A 2014-01-07 2014-01-07 Information processing apparatus, information processing method, and program Pending JP2015130075A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014001264A JP2015130075A (en) 2014-01-07 2014-01-07 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014001264A JP2015130075A (en) 2014-01-07 2014-01-07 Information processing apparatus, information processing method, and program

Publications (1)

Publication Number Publication Date
JP2015130075A true JP2015130075A (en) 2015-07-16

Family

ID=53760747

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014001264A Pending JP2015130075A (en) 2014-01-07 2014-01-07 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP2015130075A (en)

Similar Documents

Publication Publication Date Title
US8736882B2 (en) Printing system, service processing method, and storage medium
JP5586985B2 (en) Network system, network system control method, and program
US8836974B2 (en) Image processing system and control method for managing a job related to image processing in a distributed environment
US9524133B2 (en) Printing server group including a print service of transferring a print job to a printer via a network
JP5639441B2 (en) Information processing apparatus, printing apparatus, print data processing method, and program
JP2011192250A (en) Cloud computing system, and control method therefor
JP2011248683A (en) Cloud computing system, server computer, method for connecting device and program
JP5602592B2 (en) Network system, server, log registration method, and program
JP2013073314A (en) Print relay system, printing system, control method and computer program
CN111381812B (en) Program issuing method, calling method, device, storage medium and computer equipment
CN106557288B (en) A method and device for obtaining print data
US20110222105A1 (en) Printing internet inaccessible web content via remote printing service
CN115150464A (en) Application proxy method, device, equipment and medium
JP5854667B2 (en) Job processing apparatus, control method and program for job processing apparatus
JP5711518B2 (en) Information processing apparatus, control method thereof, and program
TWI344090B (en) Management of a scalable computer system
JP2015225456A (en) Information processor, system, information processing method, and program
JP6335527B2 (en) System, system control method, and computer program
US9753682B2 (en) Information processing apparatus, information processing method, and computer-readable storage medium
CN110381143B (en) Job submission and execution methods, devices, equipment and computer storage media
JP2015005082A (en) Image forming apparatus, image forming apparatus control method, and program
US20160019105A1 (en) Computer embedded apparatus, recording medium and computer embedded apparatus test system
JP2015130075A (en) Information processing apparatus, information processing method, and program
JP2016042338A (en) Information processing system, information processing apparatus, information processing apparatus control method, and program
JP2015028792A (en) Push notification system