JP6337532B2 - Information processing system and information processing method - Google Patents

Information processing system and information processing method Download PDF

Info

Publication number
JP6337532B2
JP6337532B2 JP2014052060A JP2014052060A JP6337532B2 JP 6337532 B2 JP6337532 B2 JP 6337532B2 JP 2014052060 A JP2014052060 A JP 2014052060A JP 2014052060 A JP2014052060 A JP 2014052060A JP 6337532 B2 JP6337532 B2 JP 6337532B2
Authority
JP
Japan
Prior art keywords
processing
processes
information
generated
job
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014052060A
Other languages
Japanese (ja)
Other versions
JP2015176321A (en
Inventor
川崎 大輔
大輔 川崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2014052060A priority Critical patent/JP6337532B2/en
Publication of JP2015176321A publication Critical patent/JP2015176321A/en
Application granted granted Critical
Publication of JP6337532B2 publication Critical patent/JP6337532B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本願は、情報処理システム、及び情報処理方法に関する。   The present application relates to an information processing system and an information processing method.

クライアント端末からのHTTPリクエストをWebアプリケーションサーバで実行し、その結果をクライアント端末へ通知する手法が知られている。また、上述したWebアプリケーションサーバにおける処理において、クライアント端末から受け取ったリクエストをメッセージキューに保存し、非同期でキューから取り出して実行し、その結果をキューに返すという手法が知られている(例えば、特許文献1参照)。   A technique is known in which an HTTP request from a client terminal is executed by a Web application server, and the result is notified to the client terminal. Also, in the above-described processing in the Web application server, a method is known in which a request received from a client terminal is stored in a message queue, asynchronously retrieved from the queue and executed, and the result is returned to the queue (for example, a patent) Reference 1).

上述した特許文献1の手法では、所定の機能を有するアプリケーション内部で所定のプログラム(エンジン)が動作し、エンジンがメッセージキューにアクセスして1つのリクエストを取得し、レスポンスを返した後に、再度メッセージキューにアクセスする。このエンジンは、リクエスト実行中はメッセージキューにアクセスしないため、例えば処理時間の長いリクエストを実行中の場合には、メッセージキューにアクセスしない状態が長くなる。このため、メッセージキューにはリクエストが滞留して、リクエストの開始から終了までの時間が長くなってしまう。   In the method of Patent Document 1 described above, a predetermined program (engine) operates within an application having a predetermined function, the engine accesses the message queue, acquires one request, returns a response, and then returns to the message. Access the queue. Since this engine does not access the message queue during execution of a request, for example, when a request having a long processing time is being executed, a state in which the message queue is not accessed becomes long. For this reason, the request stays in the message queue, and the time from the start to the end of the request becomes long.

1つの側面では、本発明は、処理効率を向上させることを目的とする。   In one aspect, the present invention aims to improve processing efficiency.

一態様において、1以上の情報処理装置を有する情報処理システムであって、異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手段と、外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手段のうち1以上の処理手段に割り当てる処理フロー制御手段と、前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手段において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手段に生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理の要求に対応する処理を実行させるプロセス監視手段とを有し、前記プロセス監視手段は、前記1以上の処理手段が利用中のライセンス数が、前記1以上の処理手段が利用可能なライセンス数に満たない場合に、前記新たなプロセスを生成するIn one aspect, an information processing system having one or more information processing devices, a plurality of processing units that respectively execute different processes, and a plurality of processing units that generate one or more processes that execute the respective processes; When a request for one or more processes is received from an application installed in the external device, a process flow control means for allocating a process corresponding to the one or more process requests to one or more of the plurality of processing means When one or more processes generated in the one or more processing means to which processing corresponding to the one or more processing requests is assigned are in process, a new process is designated as the one or more processing means. If the generated one or more processes are not in process, the process corresponding to the one or more process requests is executed. Possess a process monitoring unit for executing a process corresponding the one or more requests for processing without the process, the process monitoring means, the number of licenses in use the one or more processing means is, the one or more If the processing means does not reach the number of available licenses, the new process is generated .

処理効率を向上させることが可能となる。   Processing efficiency can be improved.

本実施形態に係る情報処理システムの一例の構成図である。It is a lineblock diagram of an example of an information processing system concerning this embodiment. コンピュータシステムのハードウェア構成図である。It is a hardware block diagram of a computer system. サービス提供システムの一例を示す処理ブロック図である。It is a processing block diagram which shows an example of a service provision system. ワークフロー制御部の一例を示す処理ブロック図である。It is a processing block diagram which shows an example of a workflow control part. 各種データ例を説明するための図である。It is a figure for demonstrating the example of various data. プロセス生成処理の一例を示すフローチャートである。It is a flowchart which shows an example of a process production | generation process. プロセス終了処理の一例を示すフローチャートである。It is a flowchart which shows an example of a process end process.

次に、本発明の実施の形態について、詳細に説明する。   Next, embodiments of the present invention will be described in detail.

<システム構成>
図1は、本実施形態に係る情報処理システムの一例の構成図である。図1に示す情報処理システム1は、例えばオフィス10内のネットワークN1と、クラウドサービスに代表されるサービス提供システム20のネットワークN2と、例えばインターネット等のネットワークN3とを有する。
<System configuration>
FIG. 1 is a configuration diagram of an example of an information processing system according to the present embodiment. An information processing system 1 illustrated in FIG. 1 includes, for example, a network N1 in an office 10, a network N2 of a service providing system 20 represented by a cloud service, and a network N3 such as the Internet.

ネットワークN1は、ファイヤウォールFWの内側にあるプライベートなネットワークである。ファイヤウォールFWは、ネットワークN1とネットワークN3との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークN1には、クライアント端末11と、携帯端末12と、複合機等の画像形成装置13とが接続されている。   The network N1 is a private network inside the firewall FW. The firewall FW is installed at the contact point between the network N1 and the network N3, and detects and blocks unauthorized access. A client terminal 11, a portable terminal 12, and an image forming apparatus 13 such as a multifunction peripheral are connected to the network N1.

クライアント端末11は、端末装置の一例である。クライアント端末11は、一般的なOS(Operating System)等が搭載された情報処理装置によって実現される。クライアント端末11は、無線又は有線による通信の手段を有する。クライアント端末11は、タブレットPC(Personal Computer)、ノートPC等、ユーザが操作可能な端末である。   The client terminal 11 is an example of a terminal device. The client terminal 11 is realized by an information processing apparatus equipped with a general OS (Operating System) or the like. The client terminal 11 has a wireless or wired communication means. The client terminal 11 is a terminal that can be operated by a user, such as a tablet PC (Personal Computer) or a notebook PC.

携帯端末12は、端末装置の一例である。携帯端末12は、無線又は有線による通信の手段を有している。携帯端末12は、スマートフォンや携帯電話、タブレットPC、ノートPC等、ユーザが携帯可能な端末である。   The mobile terminal 12 is an example of a terminal device. The portable terminal 12 has a wireless or wired communication means. The mobile terminal 12 is a terminal that can be carried by the user, such as a smartphone, a mobile phone, a tablet PC, or a notebook PC.

画像形成装置13は、複合機等の画像形成機能を有する装置である。画像形成装置13は、無線又は有線による通信の手段を有する。画像形成装置13は、複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板等、画像形成に係る処理を行う装置である。図1の例では、クライアント端末11、携帯端末12、画像形成装置13がそれぞれ一台である例を示しているが複数台であっても良い。   The image forming apparatus 13 is an apparatus having an image forming function such as a multifunction peripheral. The image forming apparatus 13 includes a wireless or wired communication unit. The image forming apparatus 13 is an apparatus that performs processing related to image formation, such as a multifunction peripheral, a copier, a scanner, a printer, a laser printer, a projector, and an electronic blackboard. In the example of FIG. 1, an example in which each of the client terminal 11, the mobile terminal 12, and the image forming apparatus 13 is one is shown, but a plurality may be used.

ネットワークN2は、アクセス制御装置21によってネットワークN3に接続されている。ネットワークN2は、アクセス制御装置21によってセキュリティが保護されている。ネットワークN2には、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24が接続されている。   The network N2 is connected to the network N3 by the access control device 21. The network N2 is protected by the access control device 21. A print service providing device 22, a scan service providing device 23, and another service providing device 24 are connected to the network N2.

図1の情報処理システム1は、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24がサービス提供システム20を実現している。   In the information processing system 1 of FIG. 1, the access control device 21, the print service providing device 22, the scan service providing device 23, and the other service providing device 24 realize the service providing system 20.

アクセス制御装置21は、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24等へのログインを制御する。プリントサービス提供装置22は、プリントサービスを提供する。スキャンサービス提供装置23は、スキャンサービスを提供する。他サービス提供装置24は、他サービスを提供する。   The access control device 21 controls login to the print service providing device 22, the scan service providing device 23, the other service providing device 24, and the like. The print service providing device 22 provides a print service. The scan service providing device 23 provides a scan service. The other service providing device 24 provides other services.

アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1以上の情報処理装置によって実現される。アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1台の情報処理装置に統合して実現しても良く、複数の情報処理装置に分散して実現しても良い。   The access control device 21, the print service providing device 22, the scan service providing device 23, and the other service providing device 24 are realized by one or more information processing devices. The access control device 21, the print service providing device 22, the scan service providing device 23, and the other service providing device 24 may be realized by being integrated into one information processing device, or may be realized by being distributed to a plurality of information processing devices. You may do it.

ネットワークN2側のサービスの一部は、ネットワークN2以外にあっても良い。図1の情報処理システム1では、携帯端末12がネットワークN1と、ネットワークN3とにある例を示している。ネットワークN3には、オンラインストレージ等の外部サービスを提供する装置を接続しても良い。   Some of the services on the network N2 side may be outside the network N2. In the information processing system 1 in FIG. 1, an example in which the mobile terminal 12 is in the network N1 and the network N3 is shown. A device that provides an external service such as online storage may be connected to the network N3.

<ハードウェア構成>
図1に示すクライアント端末11、携帯端末12は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。図2は、コンピュータシステムのハードウェア構成図である。
<Hardware configuration>
The client terminal 11 and the mobile terminal 12 shown in FIG. 1 are realized by a computer having a hardware configuration as shown in FIG. Further, the access control device 21, the print service providing device 22, the scan service providing device 23, and the other service providing device 24 are realized by a computer having a hardware configuration as shown in FIG. FIG. 2 is a hardware configuration diagram of the computer system.

図2に示すコンピュータシステム2は、入力装置31と、表示装置32と、RAM(Random Access Memory)33と、ROM(Read Only Memory)34と、HDD(Hard Disk Drive)35と、CPU(Central Processing Unit)36と、通信I/F37と、外部I/F38とを有し、それぞれがバスBで相互に接続されている。   The computer system 2 shown in FIG. 2 includes an input device 31, a display device 32, a RAM (Random Access Memory) 33, a ROM (Read Only Memory) 34, an HDD (Hard Disk Drive) 35, and a CPU (Central Processing). Unit) 36, a communication I / F 37, and an external I / F 38, which are connected to each other via a bus B.

入力装置31は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置32は、ディスプレイ等を含み、コンピュータシステム2による処理結果を表示する。   The input device 31 includes a keyboard, a mouse, a touch panel, and the like, and is used by a user to input each operation signal. The display device 32 includes a display and the like, and displays a processing result by the computer system 2.

RAM33は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM34は、電源を切ってもプログラムやデータを保持可能な不揮発性の半導体メモリ(記憶装置)である。ROM34には、コンピュータシステム2の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータを格納する。   The RAM 33 is a volatile semiconductor memory (storage device) that temporarily stores programs and data. The ROM 34 is a nonvolatile semiconductor memory (storage device) that can retain programs and data even when the power is turned off. The ROM 34 stores programs and data such as BIOS (Basic Input / Output System), OS settings, and network settings that are executed when the computer system 2 is started.

HDD35は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム2全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェア等がある。HDD35は、格納しているプログラムやデータを所定のファイルシステム及び/又はDB(データベース)により管理する。   The HDD 35 is a nonvolatile storage device that stores programs and data. The stored programs and data include, for example, an OS that is basic software for controlling the entire computer system 2 and application software that provides various functions on the OS. The HDD 35 manages stored programs and data using a predetermined file system and / or DB (database).

CPU36は、ROM34やHDD35等の記憶装置からプログラムやデータをRAM33上に読み出し、処理を実行することで、コンピュータシステム2全体の制御や機能を実現する演算装置である。   The CPU 36 is an arithmetic unit that realizes control and functions of the entire computer system 2 by reading a program and data from a storage device such as the ROM 34 and the HDD 35 onto the RAM 33 and executing processing.

通信I/F37は、コンピュータシステム2をネットワークN1〜N3に接続するインターフェースである。これにより、コンピュータシステム2は、通信I/F37を介してデータ通信を行う。   The communication I / F 37 is an interface that connects the computer system 2 to the networks N1 to N3. Thereby, the computer system 2 performs data communication via the communication I / F 37.

外部I/F38は、外部装置とのインターフェースである。外部装置には、記録媒体38A等がある。これにより、コンピュータシステム2は、外部I/F38を介して記録媒体38Aの読み取り及び/又は書き込みを行うことが可能である。   The external I / F 38 is an interface with an external device. The external device includes a recording medium 38A. Thereby, the computer system 2 can read and / or write the recording medium 38A via the external I / F 38.

記録媒体38Aには、フレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。   The recording medium 38A includes a flexible disk, a CD (Compact Disk), a DVD (Digital Versatile Disk), an SD memory card (SD Memory card), a USB memory (Universal Serial Bus memory), and the like.

クライアント端末11、携帯端末12は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。   The client terminal 11 and the mobile terminal 12 can implement various processes as will be described later depending on the hardware configuration of the computer system 2. Further, the access control device 21, the print service providing device 22, the scan service providing device 23, and the other service providing device 24 can realize various processes as described later depending on the hardware configuration of the computer system 2.

<ソフトウェア構成>
《サービス提供システム》
本実施形態に係るサービス提供システム20は、例えば図3に示す処理ブロックにより実現される。図3は、サービス提供システムの一例の処理ブロック図である。
<Software configuration>
《Service provision system》
The service providing system 20 according to the present embodiment is realized by, for example, processing blocks illustrated in FIG. FIG. 3 is a processing block diagram of an example of the service providing system.

サービス提供システム20は、プログラムを実行することで、サービスアプリ41、プラットフォーム42、データ記憶部43、プラットフォームAPI(Application Programming Interface)44を実現する。   The service providing system 20 implements a service application 41, a platform 42, a data storage unit 43, and a platform API (Application Programming Interface) 44 by executing a program.

サービスアプリ41は、プリントサービスアプリ51、スキャンサービスアプリ52、その他のサービスアプリ53を一例として有する。プリントサービスアプリ51は、例えばクライアント端末11等から送信されたデータを、画像形成装置13から出力するサービスを提供するアプリケーションである。スキャンサービスアプリ52は、例えば画像形成装置13等でスキャンされたスキャン画像を配信するサービスを提供するアプリケーションである。その他のサービスアプリ53は、例えば外部のオンラインストレージ等にデータを蓄積するサービス等のその他のサービスを提供するアプリケーションである。   The service application 41 includes a print service application 51, a scan service application 52, and other service applications 53 as an example. The print service application 51 is an application that provides a service for outputting, for example, data transmitted from the client terminal 11 or the like from the image forming apparatus 13. The scan service application 52 is an application that provides a service for delivering a scanned image scanned by the image forming apparatus 13 or the like, for example. The other service application 53 is an application that provides other services such as a service for storing data in an external online storage, for example.

プラットフォーム42は、認証処理部61と、組織管理部62と、ユーザ管理部63と、機器管理部64と、ワークフロー制御部65とを有する。また、ワークフロー制御部65は、メッセージキュー71と、ワーカー(Worker)72とを有する。ワーカー72は、例えば画像変換や画像送信等の機能を実現する。   The platform 42 includes an authentication processing unit 61, an organization management unit 62, a user management unit 63, a device management unit 64, and a workflow control unit 65. The workflow control unit 65 includes a message queue 71 and a worker 72. The worker 72 implements functions such as image conversion and image transmission, for example.

認証処理部61は、クライアント端末11や画像形成装置13等のオフィス機器からのログイン要求に基づいて認証処理を実行する。オフィス機器は、クライアント端末11、携帯端末12、画像形成装置13等の総称である。   The authentication processing unit 61 performs authentication processing based on a login request from an office device such as the client terminal 11 or the image forming apparatus 13. Office equipment is a generic term for the client terminal 11, the portable terminal 12, the image forming apparatus 13, and the like.

認証処理部61は、例えばユーザ情報記憶部82等にアクセスしてユーザを認証する。また、認証処理部61は、例えば組織情報記憶部81や機器情報記憶部83等にアクセスして画像形成装置13等を認証する。   For example, the authentication processing unit 61 accesses the user information storage unit 82 and the like to authenticate the user. Further, the authentication processing unit 61 accesses the organization information storage unit 81, the device information storage unit 83, and the like to authenticate the image forming apparatus 13 and the like.

組織管理部62は、例えば組織情報記憶部81に記憶されている組織情報を管理する。ユーザ管理部63は、例えばユーザ情報記憶部82に記憶されているユーザ情報を管理する。機器管理部64は、例えば機器情報記憶部83に記憶されている機器情報を管理する。   The organization management unit 62 manages organization information stored in the organization information storage unit 81, for example. The user management unit 63 manages user information stored in the user information storage unit 82, for example. The device management unit 64 manages device information stored in the device information storage unit 83, for example.

ワークフロー制御部65は、サービスアプリ41からの要求に基づいて、例えば画像処理に関するワークフローを制御する。ワークフロー制御部65は、例えば処理の要求として処理(ジョブ)に係るリクエストのメッセージを、そのジョブの種類に対応するメッセージキュー71のキューに投入(キューイング)する。メッセージキュー71は、処理の種類に対応するキューを有する。   The workflow control unit 65 controls, for example, a workflow related to image processing based on a request from the service application 41. For example, the workflow control unit 65 puts (queues) a message of a request relating to a process (job) as a process request into a queue of the message queue 71 corresponding to the type of the job. The message queue 71 has a queue corresponding to the type of processing.

ワーカー72は、対応するキューを監視している。ワーカー72は、キューにメッセージが投入されると、対応するジョブの種類に応じた画像変換や画像送信等の処理を行う。なお、キューに投入されたメッセージは、ワーカー72が主体的に読み出す(Pull)ようにしても良く、キューからワーカー72に提供する(Push)ようにしても良い。   Worker 72 is monitoring the corresponding queue. When a message is input to the queue, the worker 72 performs processing such as image conversion and image transmission according to the type of the corresponding job. The message put in the queue may be read by the worker 72 (Pull) or may be provided to the worker 72 from the queue (Push).

データ記憶部43は、組織情報記憶部81と、ユーザ情報記憶部82と、機器情報記憶部83と、ジョブ情報記憶部84と、データストレージ85とを有する。   The data storage unit 43 includes an organization information storage unit 81, a user information storage unit 82, a device information storage unit 83, a job information storage unit 84, and a data storage 85.

組織情報記憶部81は、例えばデータ項目として、組織ID、組織名、表示言語、タイムゾーン、状態、国等を有する。ユーザ情報記憶部82は、例えばデータ項目として、組織ID、ユーザID、パスワード、ユーザ名、表示言語、タイムゾーン等を有する。   The organization information storage unit 81 includes, for example, an organization ID, an organization name, a display language, a time zone, a state, a country, and the like as data items. The user information storage unit 82 includes, for example, an organization ID, a user ID, a password, a user name, a display language, a time zone, and the like as data items.

機器情報記憶部83は、例えばデータ項目として組織ID、デバイス認証情報、事業所情報、ケーパビリティ等を有する。ジョブ情報記憶部84は、例えば処理要求としての処理(ジョブ)に係るリクエストの情報(ジョブ情報)を記憶する。データストレージ85は、例えばワーカー72が処理する変換対象のファイル(スキャン画像等)やデータ等を記憶する。   The device information storage unit 83 has, for example, an organization ID, device authentication information, business office information, capabilities, and the like as data items. The job information storage unit 84 stores request information (job information) related to processing (job) as a processing request, for example. The data storage 85 stores, for example, files to be converted (scanned images and the like) processed by the worker 72 and data.

プラットフォームAPI44は、プリントサービスアプリ51、スキャンサービスアプリ52等のサービスアプリ41が、プラットフォーム42を利用するためのインタフェースである。プラットフォームAPI44は、サービスアプリ41からの要求をプラットフォーム42が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。   The platform API 44 is an interface for the service application 41 such as the print service application 51 and the scan service application 52 to use the platform 42. The platform API 44 is a predefined interface provided for the platform 42 to receive a request from the service application 41, and includes, for example, a function or a class.

プラットフォームAPI44は、サービス提供システム20が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばWeb APIにより実現できる。   The platform API 44 can be realized by, for example, a Web API that can be used via a network when the service providing system 20 is configured by a plurality of information processing apparatuses.

<ワークフロー制御部>
図4は、ワークフロー制御部の一例を示す処理ブロック図である。図4に示すように、ワークフロー制御部65は、メッセージキュー71と、ワーカー72と、プロセス監視部91と、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とを有する。
<Workflow control unit>
FIG. 4 is a processing block diagram illustrating an example of the workflow control unit. As illustrated in FIG. 4, the workflow control unit 65 includes a message queue 71, a worker 72, a process monitoring unit 91, an application management DB 92, a process management DB 93, and a license management DB 94.

図4の例では、ワークフロー制御部65は、例えばWebアプリケーションサーバにより構成された例を示している。また、ワーカー72は、例えばWebアプリケーションにより構成された例を示している。また、メッセージキュー71は、キュー71−1〜71−3(適宜、「メッセージキュー71」という)を有し、例えばWebアプリケーションサーバで動作しているアプリケーションごとに構成された例を示している。メッセージキュー71には、例えば処理要求として処理(ジョブ)に係るHTTPリクエスト(ジョブ情報)等が保持される。   In the example of FIG. 4, the workflow control unit 65 is configured by a web application server, for example. Moreover, the worker 72 has shown the example comprised by the web application, for example. In addition, the message queue 71 includes queues 71-1 to 71-3 (referred to as “message queue 71” as appropriate), and shows an example configured for each application operating on a Web application server, for example. The message queue 71 holds, for example, an HTTP request (job information) related to a process (job) as a process request.

図4の例では、ワーカー72は、例えばWebアプリケーションサーバで動作するアプリケーションごとのプログラムとして、例えばエンジン95−1〜95−3(適宜、「エンジン95」という)を有している。   In the example of FIG. 4, the worker 72 includes, for example, engines 95-1 to 95-3 (appropriately referred to as “engine 95”) as programs for each application operating on the Web application server, for example.

エンジン95は、異なる処理をそれぞれ実行するプロセス100を1以上生成する。すなわち、1つのエンジン95では、単一又は複数のプロセス100が動作する。エンジン95は、ワークフロー制御部65が、外部装置に搭載されるアプリケーションの一例として、図に示すサービスアプリから1以上の処理の要求を受け付けると、1以上の処理の要求に対応する処理(ジョブ)をメッセージキュー71のキューに割り当てる。エンジン95は、対応するメッセージキュー71のキューを監視することで、ジョブの種類に応じたHTML→PDF、PDF→RPCS等のファイル変換や、画像送信、文字認証(OCR)等の割り当てられた処理を行う。 The engine 95 generates one or more processes 100 that execute different processes. That is, one engine 95 operates a single or a plurality of processes 100. When the workflow control unit 65 receives a request for one or more processes from the service application illustrated in FIG. 3 as an example of an application installed in the external device, the engine 95 performs a process (job) corresponding to the request for the one or more processes. ) Is assigned to the queue of the message queue 71. The engine 95 monitors the queue of the corresponding message queue 71, thereby assigning processes such as file conversion such as HTML → PDF and PDF → RPCS according to the type of job, image transmission, character authentication (OCR), and the like. I do.

エンジン95は、初期起動時には、例えば1つのプロセス100が動作する。図4の例では、エンジン95−1は、例えばプロセス100−1〜100−2(適宜、「プロセス100」という)を有している。   When the engine 95 is initially started, for example, one process 100 operates. In the example of FIG. 4, the engine 95-1 includes, for example, processes 100-1 to 100-2 (referred to as “process 100” as appropriate).

プロセス100は、ジョブ登録処理及びジョブ実行処理を行う。プロセス100は、ジョブ登録処理では、図に示すサービスアプリ41からワークフロー制御部65が受け付けた処理(ジョブ)に係るリクエスト(ジョブ情報)を、対応するメッセージキュー71のキューに登録することができる。 The process 100 performs job registration processing and job execution processing. In the job registration process, the process 100 can register a request (job information) related to the process (job) received by the workflow control unit 65 from the service application 41 illustrated in FIG. 3 in the queue of the corresponding message queue 71. .

プロセス100は、ジョブ実行処理では、対応するメッセージキュー71からジョブ情報を取得すると、データストレージ85から対象ファイル(例えば変換対象ファイル)を取得し、ジョブ情報に対応する処理を実行する。なお、処理(ジョブ)に係るリクエスト(ジョブ情報)とは、例えばクライアント端末11から要求されたファイル変換や画像送信等に関する情報である。   In the job execution process, when the job information is acquired from the corresponding message queue 71, the process 100 acquires a target file (for example, a conversion target file) from the data storage 85, and executes a process corresponding to the job information. The request (job information) related to the process (job) is information related to file conversion, image transmission, and the like requested from the client terminal 11, for example.

エンジン95が複数のプロセス100を有する場合、それぞれのプロセス100は、同一の処理を実行する。すなわち、同一のエンジン95では、同一の処理が実行される。したがって、同一のエンジン95におけるそれぞれのプロセス100は、例えば異なる入力データに対して、同一のエンジン95を使用した処理を実行し、異なる出力データを出力する。   When the engine 95 has a plurality of processes 100, each process 100 executes the same process. That is, the same process is executed by the same engine 95. Therefore, each process 100 in the same engine 95 executes processing using the same engine 95 for different input data, for example, and outputs different output data.

例えば、エンジン95−1が画像変換エンジンである場合、プロセス100−1〜100−2は、画像変換に関する同一の処理を実行する。したがって、エンジン95が有するプロセス100の数を増やすことで、ワークフロー制御部65から割り当てられたメッセージキュー71のリクエストをより迅速に処理することが可能となる。   For example, when the engine 95-1 is an image conversion engine, the processes 100-1 to 100-2 execute the same processing relating to image conversion. Therefore, by increasing the number of processes 100 included in the engine 95, it is possible to process the request of the message queue 71 assigned from the workflow control unit 65 more quickly.

なお、図4の例では、エンジン95−1は、対応するメッセージキュー71として、キュー71−1が割り当てられ、エンジン95−2には、キュー71−2が割り当てられ、エンジン95−3には、キュー71−3が割り当てられているものとする。   In the example of FIG. 4, the engine 95-1 is assigned the queue 71-1 as the corresponding message queue 71, the engine 95-2 is assigned the queue 71-2, and the engine 95-3 is assigned. Assume that the queue 71-3 is allocated.

プロセス監視部91は、ワークフロー制御部65により処理が割り当てられたエンジン95において、起動中の(生成された)プロセス100が全て処理中である場合には、新たなプロセス100をエンジン95に起動(生成)させて、対応する処理を実行させる。   In the engine 95 to which the process is assigned by the workflow control unit 65, the process monitoring unit 91 starts a new process 100 in the engine 95 when all the activated (generated) processes 100 are being processed ( Generated) to execute the corresponding process.

また、プロセス監視部91は、処理が割り当てられたエンジン95において、起動中のプロセス100のうち、処理中でないプロセスがある場合には、処理中でないプロセス100に対応する処理を実行させる。   In addition, in the engine 95 to which the process is assigned, the process monitoring unit 91 causes a process corresponding to the process 100 not being processed to be executed when there is a process that is not being processed among the active processes 100.

また、プロセス監視部91は、処理が割り当てられたエンジン95において、対応する処理を実行させた後、起動中のプロセス100のうち処理中でないプロセスがある場合には、処理中でないプロセスを終了させる。   The process monitoring unit 91 causes the engine 95 to which the process is assigned to execute the corresponding process, and if there is a process that is not being processed among the active processes 100, terminates the process that is not being processed. .

プロセス監視部91は、例えば1つのエンジン95(図4の例ではエンジン95−1〜95−3それぞれ)における起動中のプロセス100の数と、処理中のプロセス100の数とが一致している場合には、そのエンジン95で動作するためのプロセス100を新たに生成する。これにより、処理待ちのジョブを実行することが可能となり、メッセージキュー71におけるジョブの滞留をなくすことが可能となる。   In the process monitoring unit 91, for example, the number of active processes 100 in one engine 95 (each of the engines 95-1 to 95-3 in the example of FIG. 4) matches the number of processes 100 being processed. In that case, a new process 100 for operating the engine 95 is generated. As a result, it is possible to execute a job waiting to be processed, and it is possible to eliminate the retention of the job in the message queue 71.

また、プロセス監視部91は、例えば1つのエンジン95における起動中のプロセス100の数と、処理中のプロセス100の数とが一致していない場合には、そのエンジン95で処理中でないプロセス100を終了する。これにより、不要なプロセス100の動作によりCPUやメモリの消費を減らすことが可能となる。   For example, if the number of active processes 100 in one engine 95 does not match the number of processes 100 being processed, the process monitoring unit 91 selects a process 100 that is not being processed by that engine 95. finish. Thereby, it is possible to reduce the consumption of the CPU and the memory by the operation of the unnecessary process 100.

なお、プロセス監視部91は、プロセス100の生成や終了を判断するため、例えばアプリケーション管理DB92から起動中のプロセス数を取得したり、プロセス管理DB93からプロセス100の処理状態を取得したり、更新したりする。また、プロセス監視部91は、ライセンス管理DB94からプロセス100が使用するライセンスの処理状態を取得したり、更新したりする。   Note that the process monitoring unit 91 determines the generation and termination of the process 100, for example, acquires the number of active processes from the application management DB 92, acquires the processing state of the process 100 from the process management DB 93, and updates the process 100. Or Further, the process monitoring unit 91 acquires or updates the processing state of the license used by the process 100 from the license management DB 94.

アプリケーション管理DB92は、アプリケーション情報を保持及び管理するためのデータベースである。アプリケーション管理DB92で管理されるアプリケーション情報については、プロセス監視部91により登録及び更新される。なお、アプリケーション管理DB92の具体例については後述する。   The application management DB 92 is a database for holding and managing application information. Application information managed by the application management DB 92 is registered and updated by the process monitoring unit 91. A specific example of the application management DB 92 will be described later.

プロセス管理DB93は、プロセス情報を保持及び管理するためのデータベースである。プロセス管理DB93で管理されるプロセス100に関するプロセス情報(ジョブ処理状態等)については、エンジン95により登録及び更新される。なお、プロセス管理DB93の具体例については後述する。   The process management DB 93 is a database for holding and managing process information. Process information (job processing status, etc.) related to the process 100 managed by the process management DB 93 is registered and updated by the engine 95. A specific example of the process management DB 93 will be described later.

ライセンス管理DB94は、ライセンス情報を保持及び管理するためのデータベースである。ライセンス管理DB94で管理されるライセンス情報は、プロセス100により登録及び更新される。なお、ライセンス管理DB94の具体例については後述する。   The license management DB 94 is a database for holding and managing license information. License information managed by the license management DB 94 is registered and updated by the process 100. A specific example of the license management DB 94 will be described later.

なお、図4の例では、メッセージキュー71と、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とが、ワークフロー制御部65に含まれている例を示しているがこれには限定されない。メッセージキュー71を、メッセージキューサーバとして構成しても良く、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94を、データベースサーバとして構成しても良い。また、図4に示すデータストレージ85が、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とを保持する構成としても良い。   4 shows an example in which the message queue 71, the application management DB 92, the process management DB 93, and the license management DB 94 are included in the workflow control unit 65, but the present invention is not limited to this. The message queue 71 may be configured as a message queue server, and the application management DB 92, the process management DB 93, and the license management DB 94 may be configured as a database server. Further, the data storage 85 shown in FIG. 4 may be configured to hold an application management DB 92, a process management DB 93, and a license management DB 94.

<各種データ例>
次に、上述した本実施形態における各種データ例について、図を用いて説明する。図5は、各種データ例を説明するための図である。図5(A)は、ジョブ情報の一例を示し、図5(B)は、アプリケーション管理DB92の一例を示し、図5(C)は、プロセス管理DB93の一例を示し、図5(D)は、ライセンス管理DB94の一例を示す。
<Examples of various data>
Next, various data examples in the above-described embodiment will be described with reference to the drawings. FIG. 5 is a diagram for explaining various data examples. 5A shows an example of job information, FIG. 5B shows an example of the application management DB 92, FIG. 5C shows an example of the process management DB 93, and FIG. An example of the license management DB 94 is shown.

図5(A)に示すジョブ情報は、例えば「ID」、「アプリケーションID」、「ユーザID」、「組織ID」、「ジョブ実行タイプ」等の項目を有する。「ID」は、例えばジョブを一意に識別するための情報である。「アプリケーションID」は、アプリケーションを一意に識別するための情報である。   The job information illustrated in FIG. 5A includes items such as “ID”, “application ID”, “user ID”, “organization ID”, and “job execution type”, for example. “ID” is information for uniquely identifying a job, for example. “Application ID” is information for uniquely identifying an application.

「ユーザID」は、例えばファイル変換等の処理を依頼したユーザを識別するための情報である。「組織ID」は、ユーザが所属する企業等を識別するための情報である。「ジョブ実行タイプ」は、例えばエンジンを識別するための情報であり、例えばファイル変換等の処理内容に対応した文字列(「pdf2rpcs」:PDFファイルのデータ形式からRPCSのデータ形式へのデータ変換)等が指定される。   “User ID” is information for identifying a user who has requested processing such as file conversion. “Organization ID” is information for identifying a company or the like to which the user belongs. The “job execution type” is information for identifying the engine, for example, and is, for example, a character string corresponding to the processing content such as file conversion (“pdf2rpcs”: data conversion from the PDF file data format to the RPCS data format). Etc. are specified.

図5(B)に示すアプリケーション管理DB92は、例えば「アプリケーションID」、「起動中プロセス」等の項目を有する。「アプリケーションID」は、例えば図5(A)の「アプリケーションID」に対応し、アプリケーションを一意に識別する情報である。「起動中プロセス数」は、アプリケーションで起動中のプロセス100の数を示す情報である。   The application management DB 92 shown in FIG. 5B has items such as “application ID” and “active process”, for example. “Application ID” corresponds to, for example, “Application ID” in FIG. 5A and is information for uniquely identifying an application. “Number of running processes” is information indicating the number of processes 100 running in the application.

図5(C)に示すプロセス管理DB93は、例えば「プロセスID」、「アプリケーションID」、「ライセンスID」、「ジョブ処理状態」等の項目を有する。「プロセスID」は、プロセス100を一意に識別する情報である。「アプリケーションID」は、プロセス100が起動されているアプリケーションを一意に識別するための情報である。   The process management DB 93 illustrated in FIG. 5C includes items such as “process ID”, “application ID”, “license ID”, and “job processing state”, for example. “Process ID” is information for uniquely identifying the process 100. “Application ID” is information for uniquely identifying an application in which the process 100 is activated.

「ライセンスID」は、プロセス100が使用しているソフトウェアやサービスのライセンスを識別する情報である。例えばプロセス100がソフトウェアやサービスを使用していない場合には、「NULL」となる。   “License ID” is information for identifying a license of software or a service used by the process 100. For example, when the process 100 is not using software or service, “NULL” is set.

「ジョブ処理状態」は、例えばプロセス100のジョブ処理状態を示す情報である。例えば、ジョブ処理状態が「未処理」の場合には、プロセス100においてジョブがまだ処理されていない状態を示す。また、「処理中」の場合には、プロセス100においてジョブが完了していない状態を示す。また、「処理完了」の場合には、プロセス100においてジョブが処理完了した状態を示す。なお、ジョブ処理状態については、これに限定されるものではない。   “Job processing status” is information indicating the job processing status of the process 100, for example. For example, when the job processing state is “unprocessed”, the job 100 is not yet processed in the process 100. In the case of “processing”, the job is not completed in the process 100. “Processing completed” indicates a state in which the job has been processed in the process 100. Note that the job processing state is not limited to this.

図5(D)に示すライセンス管理DB94は、例えば「ライセンスID」、「利用可能なライセンス数」、「利用済みライセンス数」等の項目を有する。「ライセンスID」は、例えば図5(C)の「ライセンスID」に対応し、ライセンスを一意に識別する情報である。「利用可能なライセンス数」は、利用可能なライセンスの数量を示す情報である。「利用済みライセンス数」は、利用済のライセンスの数量を示す情報である。   The license management DB 94 shown in FIG. 5D has items such as “license ID”, “number of available licenses”, and “number of used licenses”, for example. “License ID” corresponds to, for example, “License ID” in FIG. 5C and is information for uniquely identifying a license. “Number of available licenses” is information indicating the number of available licenses. “Number of used licenses” is information indicating the number of used licenses.

上述した各種データを用いることで、プロセス監視部91によりプロセス100の生成処理及び終了処理が実行される。以下、フローチャートを用いて一例について説明する。   By using the various types of data described above, the process monitoring unit 91 executes generation processing and termination processing of the process 100. Hereinafter, an example will be described with reference to a flowchart.

<プロセス生成処理>
図6は、プロセス生成処理の一例を示すフローチャートである。図6の例では、プロセス監視部91がエンジン95ごとにプロセス100の処理状態(実行状態)を監視し、プロセス100の生成が必要であると判断した場合にプロセス100の生成を実行する。なお、図6に示すフローチャートは、起動中のエンジン95ごとにプロセス100の処理状態を監視し、プロセス100の生成を実行する。
<Process generation processing>
FIG. 6 is a flowchart illustrating an example of the process generation process. In the example of FIG. 6, the process monitoring unit 91 monitors the processing state (execution state) of the process 100 for each engine 95, and executes the generation of the process 100 when it is determined that the generation of the process 100 is necessary. In the flowchart shown in FIG. 6, the processing state of the process 100 is monitored for each activated engine 95 and the process 100 is generated.

具体的には、図6に示すように、プロセス監視部91は、例えばWebアプリケーションによりワーカー72が起動すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S10)。   Specifically, as shown in FIG. 6, when the worker 72 is activated by a web application, for example, the process monitoring unit 91 calculates the number of processes activated from the application management DB 92 for each engine 95 (for example, the engine 95-1). Obtain (S10).

次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S11)。   Next, the process monitoring unit 91 acquires the number of records whose “job processing state” is “processing” (the number of processes being processed) from the process management DB 93 based on the application ID, for example (S11).

次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S12)。   Next, the process monitoring unit 91 compares the number of running processes with the number of processes in job processing, and determines whether the number of processes being started matches the number of processes in job processing (S12).

プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致すると判断した場合に(S12において、YES)、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用しているか判断する(S13)。   If the process monitoring unit 91 determines that the number of processes being started matches the number of processes being processed (YES in S12), whether the process 100 is using software or a Web service that requires a license or the like Judgment is made (S13).

ここで、プロセス監視部91は、ライセンスが必要なソフトウェアやWebサービス等を使用していると判断すると(S13において、YES)、ライセンス管理DB94から利用可能なライセンス数と、利用中のライセンス数(利用済みライセンス数)を取得する(S14)。S13〜S14の処理では、プロセス100が、ライセンス制限のあるソフトウェアやサービス等を使用している場合もあるため、ライセンス違反を防止するために確認を行う。   Here, if the process monitoring unit 91 determines that software or a Web service that requires a license is being used (YES in S13), the number of licenses available from the license management DB 94 and the number of licenses in use ( The number of used licenses) is acquired (S14). In the processes of S13 to S14, since the process 100 may use license-limited software or service, confirmation is performed to prevent a license violation.

プロセス監視部91は、利用中のライセンス数が利用可能なライセンス数よりも少ないか判断し(S15)、利用中のライセンス数が少ないと判断すると(S15において、YES)、プロセス100を生成する(S16)。なお、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用していないと判断した場合にも(S13において、NO)、S16の処理に進む。   The process monitoring unit 91 determines whether the number of licenses in use is smaller than the number of available licenses (S15). If the process monitoring unit 91 determines that the number of licenses in use is small (YES in S15), the process monitoring unit 91 generates a process 100 ( S16). If the process 100 determines that no licensed software or Web service is used (NO in S13), the process proceeds to S16.

また、S12の処理で、プロセス監視部91は、起動中のプロセス数とジョブ処理中プロセス数とが一致しないと判断すると(S12において、NO)、エンジン95に対応するメッセージキュー71に保持されているジョブ情報(例えば図5(A))を参照する。   If the process monitoring unit 91 determines that the number of running processes does not match the number of processes in job processing (NO in S12), the process monitoring unit 91 holds the message queue 71 corresponding to the engine 95 in S12. Refer to the job information (for example, FIG. 5A).

ここで、プロセス監視部91は、ジョブ情報から処理待ちジョブの法人契約ライセンス情報を確認する(S17)。なお、処理待ちジョブは、例えばメッセージキュー71の最初に登録されているものである。   Here, the process monitoring unit 91 confirms the corporate contract license information of the job waiting to be processed from the job information (S17). The job waiting for processing is registered at the beginning of the message queue 71, for example.

プロセス監視部91は、ジョブ情報に含まれている組織ID等に対応して設定されている法人契約ライセンス情報を取得し、法人契約ライセンスが優先的に処理するプレミアライセンスか判断する(S18)。本実施形態では、予め契約ライセンスの種類に応じて優先度を設け、プレミアムライセンスは、その契約ライセンスの優先度が、他のライセンスよりも高いものを示している。   The process monitoring unit 91 acquires corporate contract license information set corresponding to the organization ID included in the job information, and determines whether the corporate contract license is a premier license to be preferentially processed (S18). In the present embodiment, priorities are set in advance according to the type of contract license, and the premium license indicates that the priority of the contract license is higher than other licenses.

プロセス監視部91は、プレミアライセンスであると判断すると(S18において、YES)、S13の処理に進む。これにより、プレミアムライセンスを有するユーザのジョブを優先的に処理することが可能となる。   If process monitor 91 determines that the license is a premier license (YES in S18), the process proceeds to S13. This makes it possible to preferentially process a user's job having a premium license.

また、プロセス監視部91は、プレミアライセンスではないと判断すると(S18において、NO)、処理を終了する。なお、S15の処理で、プロセス監視部91は、利用中のライセンス数が利用可能なライセンス数よりも少なくない(利用可能なライセンス数と一致している)と判断すると(S15において、NO)、処理を終了する。プロセス監視部91は、次に起動中のエンジン(例えばエンジン95−2)について判断する。   If process monitoring unit 91 determines that the license is not a premier license (NO in S18), the process ends. When the process monitoring unit 91 determines that the number of licenses in use is not less than the number of available licenses (matches the number of available licenses) in the process of S15 (NO in S15), The process ends. The process monitoring unit 91 determines the next activated engine (for example, the engine 95-2).

上述したように、起動中のプロセス数と、ジョブ処理中プロセス数とが一致した場合や、ライセンス制限がない場合には、プロセス100を生成する。   As described above, the process 100 is generated when the number of active processes and the number of processes in job processing match or when there is no license restriction.

なお、プロセス監視部91は、例えばアプリケーション管理DB92で「起動中のプロセス数」が、予め指定した起動プロセス数の上限値に達したと判断した場合に、プロセス100を生成しないように制御しても良い。これにより、エンジン95においてプロセス100が大量に起動することにより、実行中のジョブの処理時間が長くなるのを防止することが可能となる。   The process monitoring unit 91 performs control so that the process 100 is not generated when it is determined by the application management DB 92 that the “number of running processes” has reached the upper limit value of the number of activated processes specified in advance, for example. Also good. As a result, it is possible to prevent the processing time of the job being executed from becoming long due to the process 95 being activated in large quantities in the engine 95.

また、プロセス100がジョブを実行した曜日や日時等のジョブ実行履歴をデータベースに登録し、プロセス監視部91は、ジョブ実行履歴に基づき、例えば現在の時間帯でジョブの処理に必要なプロセス数を予測し、不足分のプロセス100を生成しても良い。これにより、ジョブの実行数が多い時間帯において、ジョブの実行までの時間を短縮することが可能となる。   Also, the job execution history such as the day of the week and the date and time when the process 100 executed the job is registered in the database, and the process monitoring unit 91 calculates the number of processes necessary for job processing in the current time zone based on the job execution history, for example. The shortage process 100 may be generated by prediction. As a result, it is possible to shorten the time until the job is executed in a time zone in which the number of job executions is large.

<プロセス終了処理>
図7は、プロセス終了処理の一例を示すフローチャートである。図7の例では、プロセス監視部91が起動中のエンジン95ごとにプロセス100の処理状態(実行状態)を監視し、プロセス100の終了が必要であると判断した場合にプロセス100の終了を実行する。
<Process termination processing>
FIG. 7 is a flowchart illustrating an example of a process end process. In the example of FIG. 7, the process monitoring unit 91 monitors the processing state (execution state) of the process 100 for each activated engine 95, and executes the end of the process 100 when it is determined that the end of the process 100 is necessary. To do.

具体的には、図7に示すように、プロセス監視部91は、例えばワーカー72が起動した後、所定時間が経過すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S20)。   Specifically, as illustrated in FIG. 7, the process monitoring unit 91 is activated from the application management DB 92 for each engine 95 (for example, the engine 95-1) when a predetermined time elapses after the worker 72 is activated, for example. The number of processes is acquired (S20).

次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S21)。   Next, the process monitoring unit 91 acquires the number of records whose “job processing state” is “processing” (the number of processes being processed) from the process management DB 93 based on the application ID, for example (S21).

次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S22)。   Next, the process monitoring unit 91 compares the number of running processes with the number of processes in job processing, and determines whether the number of processes being started matches the number of processes in job processing (S22).

プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致しないと判断した場合(S22において、NO)、ジョブを処理するのに十分な数のプロセス100は起動していると判断して、ジョブを実行していないプロセス100(「ジョブ処理状態」が「未処理」、「処理完了」のプロセス)を終了する(S23)。また、S22の処理で、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致していると判断した場合(S22において、YES)、処理を終了する。なお、プロセス監視部91は、次に起動中のエンジン(例えばエンジン95−2)について判断する。   If the process monitoring unit 91 determines that the number of running processes and the number of processes in job processing do not match (NO in S22), a sufficient number of processes 100 to process a job are running. In step S23, the process 100 in which the job is not executed (the process whose “job processing state” is “unprocessed” and “processing completed”) is terminated. If the process monitoring unit 91 determines in step S22 that the number of running processes matches the number of processes in job processing (YES in step S22), the process ends. Note that the process monitoring unit 91 determines the next activated engine (for example, the engine 95-2).

上述したように、ジョブを実行していないプロセス100を終了することで、不要なプロセスの動作しないように制御することが可能となる。   As described above, by ending the process 100 that is not executing a job, it is possible to perform control so that unnecessary processes do not operate.

上述した実施形態によれば、アプリケーション内部のエンジンごとに起動中のプロセスがリクエストを実行しているか監視し、起動中の全てのプロセスがリクエストを実行している場合に、新たなプロセスを生成し、キューからリクエストを取り出し実行させる。これにより、処理効率を向上させることが可能となる。   According to the above-described embodiment, it is monitored whether a process that is running is executing a request for each engine in the application, and if all the processes that are running are executing requests, a new process is generated. , Fetch the request from the queue and execute it. As a result, the processing efficiency can be improved.

本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。   The present invention is not limited to the specifically disclosed embodiments, and various modifications and changes can be made without departing from the scope of the claims.

1 情報処理システム
10 オフィス
11 クライアント端末
12 携帯端末
13 画像形成装置
20 サービス提供システム
21 アクセス制御装置
22 プリントサービス提供装置
23 スキャンサービス提供装置
24 他サービス提供装置
31 入力装置
32 表示装置
33 RAM
34 ROM
35 HDD
36 CPU
37 通信I/F
38 外部I/F
38A 記録媒体
41 サービスアプリ
42 プラットフォーム
43 データ記憶部
51 プリントサービスアプリ
52 スキャンサービスアプリ
53 その他のサービスアプリ
61 認証処理部
62 組織管理部
63 ユーザ管理部
64 機器管理部
65 ワークフロー制御部(処理フロー制御手段の一例)
71 メッセージキュー
72 ワーカー
81 組織情報記憶部
82 ユーザ情報記憶部
83 機器情報記憶部
84 ジョブ情報記憶部
85 データストレージ
91 プロセス監視部(プロセス監視手段の一例)
92 アプリケーション管理DB
93 プロセス管理DB
94 ライセンス管理DB
95 エンジン(処理手段の一例)
100 プロセス
DESCRIPTION OF SYMBOLS 1 Information processing system 10 Office 11 Client terminal 12 Portable terminal 13 Image forming apparatus 20 Service providing system 21 Access control apparatus 22 Print service providing apparatus 23 Scan service providing apparatus 24 Other service providing apparatus 31 Input apparatus 32 Display apparatus 33 RAM
34 ROM
35 HDD
36 CPU
37 Communication I / F
38 External I / F
38A Recording medium 41 Service application 42 Platform 43 Data storage unit 51 Print service application 52 Scan service application 53 Other service application 61 Authentication processing unit 62 Organization management unit 63 User management unit 64 Device management unit 65 Workflow control unit (processing flow control means Example)
71 Message queue 72 Worker 81 Organization information storage unit 82 User information storage unit 83 Device information storage unit 84 Job information storage unit 85 Data storage 91 Process monitoring unit (an example of process monitoring means)
92 Application Management DB
93 Process management DB
94 License Management DB
95 Engine (an example of processing means)
100 processes

特開2008−152770号公報JP 2008-152770 A

Claims (5)

1以上の情報処理装置を有する情報処理システムであって、
異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手段と、
外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手段のうち1以上の処理手段に割り当てる処理フロー制御手段と、
前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手段において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手段に生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理の要求に対応する処理を実行させるプロセス監視手段とを有し、
前記プロセス監視手段は、
前記1以上の処理手段が利用中のライセンス数が、前記1以上の処理手段が利用可能なライセンス数に満たない場合に、前記新たなプロセスを生成する
ことを特徴とする情報処理システム。
An information processing system having one or more information processing devices,
A plurality of processing means for executing different processes, and a plurality of processing means for generating one or more processes for executing the respective processes;
A processing flow control unit that, upon receiving one or more processing requests from an application installed in an external device, allocates processing corresponding to the one or more processing requests to one or more processing units of the plurality of processing units; ,
When one or more processes generated in the one or more processing means to which processing corresponding to the one or more processing requests is assigned are being processed, a new process is generated in the one or more processing means. And processing corresponding to the one or more processing requests is executed, and if the generated one or more processes are not being processed, the non-processing is responding to the one or more processing requests. possess a process monitoring unit for executing a process,
The process monitoring means includes
The information processing system , wherein the new process is generated when the number of licenses being used by the one or more processing means is less than the number of licenses available for the one or more processing means .
前記プロセス監視手段は、
前記生成された1以上のプロセスの数と、前記処理中の前記プロセスの数とが一致している場合に、前記新たなプロセスを生成することを特徴とする請求項に記載の情報処理システム。
The process monitoring means includes
The information processing system according to claim 1, wherein the number of one or more process said generated when the number of the processes in the processing are the same, so as to generate the new process .
前記プロセス監視手段は、
前記生成された1以上のプロセスの数が、予め指定されたプロセス数に達した場合には、前記新たなプロセスを生成しないことを特徴とする請求項1または2に記載の情報処理システム。
The process monitoring means includes
3. The information processing system according to claim 1, wherein the new process is not generated when the number of the generated one or more processes reaches a predetermined number of processes. 4.
前記プロセス監視手段は、
前記プロセスにより処理された履歴情報に基づき、曜日又は時間ごとに利用されるプロセス数を予測し、前記曜日又は時間に対応させて予測した数のプロセスを生成することを特徴とする請求項1乃至のいずれか一項に記載の情報処理システム。
The process monitoring means includes
The number of processes to be used for each day of the week or time is predicted based on history information processed by the process, and a predicted number of processes corresponding to the day of the week or time is generated. 4. The information processing system according to any one of 3 .
情報処理システムにより実行される情報処理方法であって、
異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手順と、
外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手順のうち1以上の処理手順に割り当てる処理フロー制御手順と、
前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手順において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手順で生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理要求に対応する処理を実行させるプロセス監視手順とを有し、
前記プロセス監視手順は、
前記1以上の処理手順が利用中のライセンス数が、前記1以上の処理手順が利用可能なライセンス数に満たない場合に、前記新たなプロセスを生成する
ことを特徴とする情報処理方法。
An information processing method executed by an information processing system,
A plurality of processing means for executing different processes, and a plurality of processing procedures for generating one or more processes for executing the processes;
A process flow control procedure for assigning a process corresponding to the one or more processing requests to one or more of the plurality of processing procedures upon receiving one or more processing requests from an application installed in an external device; ,
When one or more processes generated in the one or more processing procedures to which processing corresponding to the one or more processing requests is assigned are in process, a new process is generated in the one or more processing procedures. If the process corresponding to the one or more processing requests is executed, and the generated one or more processes are not being processed, the process corresponding to the one or more processing requests is processed by the process not being processed. possess a process monitoring procedure for the execution,
The process monitoring procedure includes:
An information processing method for generating the new process when the number of licenses being used by the one or more processing procedures is less than the number of licenses available for the one or more processing procedures .
JP2014052060A 2014-03-14 2014-03-14 Information processing system and information processing method Expired - Fee Related JP6337532B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014052060A JP6337532B2 (en) 2014-03-14 2014-03-14 Information processing system and information processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052060A JP6337532B2 (en) 2014-03-14 2014-03-14 Information processing system and information processing method

Publications (2)

Publication Number Publication Date
JP2015176321A JP2015176321A (en) 2015-10-05
JP6337532B2 true JP6337532B2 (en) 2018-06-06

Family

ID=54255467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052060A Expired - Fee Related JP6337532B2 (en) 2014-03-14 2014-03-14 Information processing system and information processing method

Country Status (1)

Country Link
JP (1) JP6337532B2 (en)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03100852A (en) * 1989-09-14 1991-04-25 Fujitsu Ltd Controlling method for execution of service process
JPH07244627A (en) * 1994-03-08 1995-09-19 Hitachi Ltd Request control unit
JPH08286906A (en) * 1995-04-18 1996-11-01 Fujitsu Ltd Automatic check method for number of starting programs
JP2868447B2 (en) * 1995-11-21 1999-03-10 日本電気ソフトウェア株式会社 Transaction processing task number control method
JPH10260851A (en) * 1997-03-21 1998-09-29 Toshiba Corp Client server system, server allocating method in the system, and server load controlling method in the system
JP2002314682A (en) * 2001-04-10 2002-10-25 Fujitsu Ltd Communication controller
JP2006317991A (en) * 2005-05-10 2006-11-24 Hitachi Ltd Method for tuning process number
JP2013178748A (en) * 2012-02-01 2013-09-09 Ricoh Co Ltd Information processing apparatus, program, information processing system, and data conversion processing method

Also Published As

Publication number Publication date
JP2015176321A (en) 2015-10-05

Similar Documents

Publication Publication Date Title
JP6364738B2 (en) Information processing system, information processing apparatus, program, and process execution method
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
JP6179083B2 (en) Information processing apparatus, output system, and program
JP2015046153A (en) Service providing system, data providing method and program
JP6357780B2 (en) Network system and information notification method
US9514291B2 (en) Information processing system, information processing device, and authentication information management method
JP6085924B2 (en) Output system, portable terminal, information processing method and program
JP6848340B2 (en) Information processing system, update method, information processing device and program
JP6183035B2 (en) Service providing system, service providing method and program
JP6427880B2 (en) Information processing system, information processing apparatus, and program
JP6938983B2 (en) Information processing system, information processing device and information processing method
JP6102296B2 (en) Information processing system, information processing apparatus, authentication method, and program
JP2014178893A (en) Cooperation processor, program and software updating method
JP2014167679A (en) Job execution control system, job execution system, job execution control method and program
JP2015158721A (en) Information processing system, information processing device, information processing method, and program
JP2014239388A (en) Program, information processing apparatus, information processing system and notification method
JP2013105417A (en) Information processor, management method and management program
JP6337532B2 (en) Information processing system and information processing method
JP2018129079A (en) Service providing system, data providing method, and program
JP2015153117A (en) document generation system
JP2015026334A (en) Service provision system, information processing system, use restriction method, and program
JP2017037469A (en) Information processing system, priority processing method, information processor and program
JP2017027272A (en) Information processing system, information processing method, and program
JP2016058827A (en) Information processing system, information processor, information processing method, and information processing program
JP6627301B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180109

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180312

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180423

R151 Written notification of patent or utility model registration

Ref document number: 6337532

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees