JP6337532B2 - Information processing system and information processing method - Google Patents
Information processing system and information processing method Download PDFInfo
- 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
Links
- 230000010365 information processing Effects 0.000 title claims description 26
- 238000003672 processing method Methods 0.000 title claims description 4
- 238000000034 method Methods 0.000 claims description 265
- 230000008569 process Effects 0.000 claims description 253
- 238000012545 processing Methods 0.000 claims description 109
- 238000012544 monitoring process Methods 0.000 claims description 47
- 238000007726 management method Methods 0.000 description 48
- 230000008520 organization Effects 0.000 description 16
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
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
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.
次に、本発明の実施の形態について、詳細に説明する。 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
ネットワーク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
クライアント端末11は、端末装置の一例である。クライアント端末11は、一般的なOS(Operating System)等が搭載された情報処理装置によって実現される。クライアント端末11は、無線又は有線による通信の手段を有する。クライアント端末11は、タブレットPC(Personal Computer)、ノートPC等、ユーザが操作可能な端末である。
The
携帯端末12は、端末装置の一例である。携帯端末12は、無線又は有線による通信の手段を有している。携帯端末12は、スマートフォンや携帯電話、タブレットPC、ノートPC等、ユーザが携帯可能な端末である。
The
画像形成装置13は、複合機等の画像形成機能を有する装置である。画像形成装置13は、無線又は有線による通信の手段を有する。画像形成装置13は、複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板等、画像形成に係る処理を行う装置である。図1の例では、クライアント端末11、携帯端末12、画像形成装置13がそれぞれ一台である例を示しているが複数台であっても良い。
The
ネットワークN2は、アクセス制御装置21によってネットワークN3に接続されている。ネットワークN2は、アクセス制御装置21によってセキュリティが保護されている。ネットワークN2には、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24が接続されている。
The network N2 is connected to the network N3 by the
図1の情報処理システム1は、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24がサービス提供システム20を実現している。
In the
アクセス制御装置21は、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24等へのログインを制御する。プリントサービス提供装置22は、プリントサービスを提供する。スキャンサービス提供装置23は、スキャンサービスを提供する。他サービス提供装置24は、他サービスを提供する。
The
アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1以上の情報処理装置によって実現される。アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1台の情報処理装置に統合して実現しても良く、複数の情報処理装置に分散して実現しても良い。
The
ネットワーク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
<ハードウェア構成>
図1に示すクライアント端末11、携帯端末12は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。図2は、コンピュータシステムのハードウェア構成図である。
<Hardware configuration>
The
図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
入力装置31は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置32は、ディスプレイ等を含み、コンピュータシステム2による処理結果を表示する。
The
RAM33は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM34は、電源を切ってもプログラムやデータを保持可能な不揮発性の半導体メモリ(記憶装置)である。ROM34には、コンピュータシステム2の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータを格納する。
The
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
CPU36は、ROM34やHDD35等の記憶装置からプログラムやデータをRAM33上に読み出し、処理を実行することで、コンピュータシステム2全体の制御や機能を実現する演算装置である。
The
通信I/F37は、コンピュータシステム2をネットワークN1〜N3に接続するインターフェースである。これにより、コンピュータシステム2は、通信I/F37を介してデータ通信を行う。
The communication I /
外部I/F38は、外部装置とのインターフェースである。外部装置には、記録媒体38A等がある。これにより、コンピュータシステム2は、外部I/F38を介して記録媒体38Aの読み取り及び/又は書き込みを行うことが可能である。
The external I /
記録媒体38Aには、フレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。
The
クライアント端末11、携帯端末12は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。
The
<ソフトウェア構成>
《サービス提供システム》
本実施形態に係るサービス提供システム20は、例えば図3に示す処理ブロックにより実現される。図3は、サービス提供システムの一例の処理ブロック図である。
<Software configuration>
《Service provision system》
The
サービス提供システム20は、プログラムを実行することで、サービスアプリ41、プラットフォーム42、データ記憶部43、プラットフォームAPI(Application Programming Interface)44を実現する。
The
サービスアプリ41は、プリントサービスアプリ51、スキャンサービスアプリ52、その他のサービスアプリ53を一例として有する。プリントサービスアプリ51は、例えばクライアント端末11等から送信されたデータを、画像形成装置13から出力するサービスを提供するアプリケーションである。スキャンサービスアプリ52は、例えば画像形成装置13等でスキャンされたスキャン画像を配信するサービスを提供するアプリケーションである。その他のサービスアプリ53は、例えば外部のオンラインストレージ等にデータを蓄積するサービス等のその他のサービスを提供するアプリケーションである。
The
プラットフォーム42は、認証処理部61と、組織管理部62と、ユーザ管理部63と、機器管理部64と、ワークフロー制御部65とを有する。また、ワークフロー制御部65は、メッセージキュー71と、ワーカー(Worker)72とを有する。ワーカー72は、例えば画像変換や画像送信等の機能を実現する。
The
認証処理部61は、クライアント端末11や画像形成装置13等のオフィス機器からのログイン要求に基づいて認証処理を実行する。オフィス機器は、クライアント端末11、携帯端末12、画像形成装置13等の総称である。
The
認証処理部61は、例えばユーザ情報記憶部82等にアクセスしてユーザを認証する。また、認証処理部61は、例えば組織情報記憶部81や機器情報記憶部83等にアクセスして画像形成装置13等を認証する。
For example, the
組織管理部62は、例えば組織情報記憶部81に記憶されている組織情報を管理する。ユーザ管理部63は、例えばユーザ情報記憶部82に記憶されているユーザ情報を管理する。機器管理部64は、例えば機器情報記憶部83に記憶されている機器情報を管理する。
The
ワークフロー制御部65は、サービスアプリ41からの要求に基づいて、例えば画像処理に関するワークフローを制御する。ワークフロー制御部65は、例えば処理の要求として処理(ジョブ)に係るリクエストのメッセージを、そのジョブの種類に対応するメッセージキュー71のキューに投入(キューイング)する。メッセージキュー71は、処理の種類に対応するキューを有する。
The
ワーカー72は、対応するキューを監視している。ワーカー72は、キューにメッセージが投入されると、対応するジョブの種類に応じた画像変換や画像送信等の処理を行う。なお、キューに投入されたメッセージは、ワーカー72が主体的に読み出す(Pull)ようにしても良く、キューからワーカー72に提供する(Push)ようにしても良い。
データ記憶部43は、組織情報記憶部81と、ユーザ情報記憶部82と、機器情報記憶部83と、ジョブ情報記憶部84と、データストレージ85とを有する。
The
組織情報記憶部81は、例えばデータ項目として、組織ID、組織名、表示言語、タイムゾーン、状態、国等を有する。ユーザ情報記憶部82は、例えばデータ項目として、組織ID、ユーザID、パスワード、ユーザ名、表示言語、タイムゾーン等を有する。
The organization
機器情報記憶部83は、例えばデータ項目として組織ID、デバイス認証情報、事業所情報、ケーパビリティ等を有する。ジョブ情報記憶部84は、例えば処理要求としての処理(ジョブ)に係るリクエストの情報(ジョブ情報)を記憶する。データストレージ85は、例えばワーカー72が処理する変換対象のファイル(スキャン画像等)やデータ等を記憶する。
The device
プラットフォームAPI44は、プリントサービスアプリ51、スキャンサービスアプリ52等のサービスアプリ41が、プラットフォーム42を利用するためのインタフェースである。プラットフォームAPI44は、サービスアプリ41からの要求をプラットフォーム42が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
The
プラットフォームAPI44は、サービス提供システム20が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばWeb APIにより実現できる。
The
<ワークフロー制御部>
図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
図4の例では、ワークフロー制御部65は、例えばWebアプリケーションサーバにより構成された例を示している。また、ワーカー72は、例えばWebアプリケーションにより構成された例を示している。また、メッセージキュー71は、キュー71−1〜71−3(適宜、「メッセージキュー71」という)を有し、例えばWebアプリケーションサーバで動作しているアプリケーションごとに構成された例を示している。メッセージキュー71には、例えば処理要求として処理(ジョブ)に係るHTTPリクエスト(ジョブ情報)等が保持される。
In the example of FIG. 4, the
図4の例では、ワーカー72は、例えばWebアプリケーションサーバで動作するアプリケーションごとのプログラムとして、例えばエンジン95−1〜95−3(適宜、「エンジン95」という)を有している。
In the example of FIG. 4, the
エンジン95は、異なる処理をそれぞれ実行するプロセス100を1以上生成する。すなわち、1つのエンジン95では、単一又は複数のプロセス100が動作する。エンジン95は、ワークフロー制御部65が、外部装置に搭載されるアプリケーションの一例として、図3に示すサービスアプリから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
エンジン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は、ジョブ登録処理では、図3に示すサービスアプリ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
プロセス100は、ジョブ実行処理では、対応するメッセージキュー71からジョブ情報を取得すると、データストレージ85から対象ファイル(例えば変換対象ファイル)を取得し、ジョブ情報に対応する処理を実行する。なお、処理(ジョブ)に係るリクエスト(ジョブ情報)とは、例えばクライアント端末11から要求されたファイル変換や画像送信等に関する情報である。
In the job execution process, when the job information is acquired from the
エンジン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
なお、図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
プロセス監視部91は、ワークフロー制御部65により処理が割り当てられたエンジン95において、起動中の(生成された)プロセス100が全て処理中である場合には、新たなプロセス100をエンジン95に起動(生成)させて、対応する処理を実行させる。
In the engine 95 to which the process is assigned by the
また、プロセス監視部91は、処理が割り当てられたエンジン95において、起動中のプロセス100のうち、処理中でないプロセスがある場合には、処理中でないプロセス100に対応する処理を実行させる。
In addition, in the engine 95 to which the process is assigned, the
また、プロセス監視部91は、処理が割り当てられたエンジン95において、対応する処理を実行させた後、起動中のプロセス100のうち処理中でないプロセスがある場合には、処理中でないプロセスを終了させる。
The
プロセス監視部91は、例えば1つのエンジン95(図4の例ではエンジン95−1〜95−3それぞれ)における起動中のプロセス100の数と、処理中のプロセス100の数とが一致している場合には、そのエンジン95で動作するためのプロセス100を新たに生成する。これにより、処理待ちのジョブを実行することが可能となり、メッセージキュー71におけるジョブの滞留をなくすことが可能となる。
In the
また、プロセス監視部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
なお、プロセス監視部91は、プロセス100の生成や終了を判断するため、例えばアプリケーション管理DB92から起動中のプロセス数を取得したり、プロセス管理DB93からプロセス100の処理状態を取得したり、更新したりする。また、プロセス監視部91は、ライセンス管理DB94からプロセス100が使用するライセンスの処理状態を取得したり、更新したりする。
Note that the
アプリケーション管理DB92は、アプリケーション情報を保持及び管理するためのデータベースである。アプリケーション管理DB92で管理されるアプリケーション情報については、プロセス監視部91により登録及び更新される。なお、アプリケーション管理DB92の具体例については後述する。
The
プロセス管理DB93は、プロセス情報を保持及び管理するためのデータベースである。プロセス管理DB93で管理されるプロセス100に関するプロセス情報(ジョブ処理状態等)については、エンジン95により登録及び更新される。なお、プロセス管理DB93の具体例については後述する。
The
ライセンス管理DB94は、ライセンス情報を保持及び管理するためのデータベースである。ライセンス管理DB94で管理されるライセンス情報は、プロセス100により登録及び更新される。なお、ライセンス管理DB94の具体例については後述する。
The
なお、図4の例では、メッセージキュー71と、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とが、ワークフロー制御部65に含まれている例を示しているがこれには限定されない。メッセージキュー71を、メッセージキューサーバとして構成しても良く、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94を、データベースサーバとして構成しても良い。また、図4に示すデータストレージ85が、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とを保持する構成としても良い。
4 shows an example in which the
<各種データ例>
次に、上述した本実施形態における各種データ例について、図を用いて説明する。図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
図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
図5(C)に示すプロセス管理DB93は、例えば「プロセスID」、「アプリケーションID」、「ライセンスID」、「ジョブ処理状態」等の項目を有する。「プロセスID」は、プロセス100を一意に識別する情報である。「アプリケーションID」は、プロセス100が起動されているアプリケーションを一意に識別するための情報である。
The
「ライセンス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
上述した各種データを用いることで、プロセス監視部91によりプロセス100の生成処理及び終了処理が実行される。以下、フローチャートを用いて一例について説明する。
By using the various types of data described above, the
<プロセス生成処理>
図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
具体的には、図6に示すように、プロセス監視部91は、例えばWebアプリケーションによりワーカー72が起動すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S10)。
Specifically, as shown in FIG. 6, when the
次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S11)。
Next, the
次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S12)。
Next, the
プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致すると判断した場合に(S12において、YES)、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用しているか判断する(S13)。
If the
ここで、プロセス監視部91は、ライセンスが必要なソフトウェアやWebサービス等を使用していると判断すると(S13において、YES)、ライセンス管理DB94から利用可能なライセンス数と、利用中のライセンス数(利用済みライセンス数)を取得する(S14)。S13〜S14の処理では、プロセス100が、ライセンス制限のあるソフトウェアやサービス等を使用している場合もあるため、ライセンス違反を防止するために確認を行う。
Here, if the
プロセス監視部91は、利用中のライセンス数が利用可能なライセンス数よりも少ないか判断し(S15)、利用中のライセンス数が少ないと判断すると(S15において、YES)、プロセス100を生成する(S16)。なお、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用していないと判断した場合にも(S13において、NO)、S16の処理に進む。
The
また、S12の処理で、プロセス監視部91は、起動中のプロセス数とジョブ処理中プロセス数とが一致しないと判断すると(S12において、NO)、エンジン95に対応するメッセージキュー71に保持されているジョブ情報(例えば図5(A))を参照する。
If the
ここで、プロセス監視部91は、ジョブ情報から処理待ちジョブの法人契約ライセンス情報を確認する(S17)。なお、処理待ちジョブは、例えばメッセージキュー71の最初に登録されているものである。
Here, the
プロセス監視部91は、ジョブ情報に含まれている組織ID等に対応して設定されている法人契約ライセンス情報を取得し、法人契約ライセンスが優先的に処理するプレミアライセンスか判断する(S18)。本実施形態では、予め契約ライセンスの種類に応じて優先度を設け、プレミアムライセンスは、その契約ライセンスの優先度が、他のライセンスよりも高いものを示している。
The
プロセス監視部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
上述したように、起動中のプロセス数と、ジョブ処理中プロセス数とが一致した場合や、ライセンス制限がない場合には、プロセス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
また、プロセス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
<プロセス終了処理>
図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
具体的には、図7に示すように、プロセス監視部91は、例えばワーカー72が起動した後、所定時間が経過すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S20)。
Specifically, as illustrated in FIG. 7, the
次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S21)。
Next, the
次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S22)。
Next, the
プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致しないと判断した場合(S22において、NO)、ジョブを処理するのに十分な数のプロセス100は起動していると判断して、ジョブを実行していないプロセス100(「ジョブ処理状態」が「未処理」、「処理完了」のプロセス)を終了する(S23)。また、S22の処理で、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致していると判断した場合(S22において、YES)、処理を終了する。なお、プロセス監視部91は、次に起動中のエンジン(例えばエンジン95−2)について判断する。
If the
上述したように、ジョブを実行していないプロセス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
34 ROM
35 HDD
36 CPU
37 Communication I / F
38 External I / F
38A Recording medium 41
71
92 Application Management DB
93 Process management DB
94 License Management DB
95 Engine (an example of processing means)
100 processes
Claims (5)
異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを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以上のプロセスの数と、前記処理中の前記プロセスの数とが一致している場合に、前記新たなプロセスを生成することを特徴とする請求項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乃至3のいずれか一項に記載の情報処理システム。 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 .
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)
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 |
-
2014
- 2014-03-14 JP JP2014052060A patent/JP6337532B2/en not_active Expired - Fee Related
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 |