JP2015176321A - 情報処理システム、及び情報処理方法 - Google Patents

情報処理システム、及び情報処理方法 Download PDF

Info

Publication number
JP2015176321A
JP2015176321A JP2014052060A JP2014052060A JP2015176321A JP 2015176321 A JP2015176321 A JP 2015176321A JP 2014052060 A JP2014052060 A JP 2014052060A JP 2014052060 A JP2014052060 A JP 2014052060A JP 2015176321 A JP2015176321 A JP 2015176321A
Authority
JP
Japan
Prior art keywords
processing
processes
generated
information
processed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014052060A
Other languages
English (en)
Other versions
JP6337532B2 (ja
Inventor
川崎 大輔
Daisuke Kawasaki
大輔 川崎
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/ja
Publication of JP2015176321A publication Critical patent/JP2015176321A/ja
Application granted granted Critical
Publication of JP6337532B2 publication Critical patent/JP6337532B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】クライアント端末からのHTTPリクエストの処理効率を向上させる。【解決手段】1以上の情報処理装置を有する情報処理システムであって、異なる処理をそれぞれ実行する複数の処理手段95が処理を実行するプロセス100を1以上生成する。外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、対応する処理を処理手段95に割り当て、割り当てられた処理手段95において生成されたプロセス100が処理中である場合には、新たなプロセス100を処理手段95に生成させて対応する処理を実行させる。プロセス100が処理中でない場合には、前記処理中でないプロセス100に対応する処理を実行させる。【選択図】図4

Description

本願は、情報処理システム、及び情報処理方法に関する。
クライアント端末からのHTTPリクエストをWebアプリケーションサーバで実行し、その結果をクライアント端末へ通知する手法が知られている。また、上述したWebアプリケーションサーバにおける処理において、クライアント端末から受け取ったリクエストをメッセージキューに保存し、非同期でキューから取り出して実行し、その結果をキューに返すという手法が知られている(例えば、特許文献1参照)。
上述した特許文献1の手法では、所定の機能を有するアプリケーション内部で所定のプログラム(エンジン)が動作し、エンジンがメッセージキューにアクセスして1つのリクエストを取得し、レスポンスを返した後に、再度メッセージキューにアクセスする。このエンジンは、リクエスト実行中はメッセージキューにアクセスしないため、例えば処理時間の長いリクエストを実行中の場合には、メッセージキューにアクセスしない状態が長くなる。このため、メッセージキューにはリクエストが滞留して、リクエストの開始から終了までの時間が長くなってしまう。
1つの側面では、本発明は、処理効率を向上させることを目的とする。
一態様において、1以上の情報処理装置を有する情報処理システムであって、異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手段と、外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手段のうち1以上の処理手段に割り当てる処理フロー制御手段と、前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手段において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手段に生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理の要求に対応する処理を実行させるプロセス監視手段とを有する。
処理効率を向上させることが可能となる。
本実施形態に係る情報処理システムの一例の構成図である。 コンピュータシステムのハードウェア構成図である。 サービス提供システムの一例を示す処理ブロック図である。 ワークフロー制御部の一例を示す処理ブロック図である。 各種データ例を説明するための図である。 プロセス生成処理の一例を示すフローチャートである。 プロセス終了処理の一例を示すフローチャートである。
次に、本発明の実施の形態について、詳細に説明する。
<システム構成>
図1は、本実施形態に係る情報処理システムの一例の構成図である。図1に示す情報処理システム1は、例えばオフィス10内のネットワークN1と、クラウドサービスに代表されるサービス提供システム20のネットワークN2と、例えばインターネット等のネットワークN3とを有する。
ネットワークN1は、ファイヤウォールFWの内側にあるプライベートなネットワークである。ファイヤウォールFWは、ネットワークN1とネットワークN3との接点に設置され、不正なアクセスを検出及び遮断する。ネットワークN1には、クライアント端末11と、携帯端末12と、複合機等の画像形成装置13とが接続されている。
クライアント端末11は、端末装置の一例である。クライアント端末11は、一般的なOS(Operating System)等が搭載された情報処理装置によって実現される。クライアント端末11は、無線又は有線による通信の手段を有する。クライアント端末11は、タブレットPC(Personal Computer)、ノートPC等、ユーザが操作可能な端末である。
携帯端末12は、端末装置の一例である。携帯端末12は、無線又は有線による通信の手段を有している。携帯端末12は、スマートフォンや携帯電話、タブレットPC、ノートPC等、ユーザが携帯可能な端末である。
画像形成装置13は、複合機等の画像形成機能を有する装置である。画像形成装置13は、無線又は有線による通信の手段を有する。画像形成装置13は、複合機、コピー機、スキャナ、プリンタ、レーザプリンタ、プロジェクタ、電子黒板等、画像形成に係る処理を行う装置である。図1の例では、クライアント端末11、携帯端末12、画像形成装置13がそれぞれ一台である例を示しているが複数台であっても良い。
ネットワークN2は、アクセス制御装置21によってネットワークN3に接続されている。ネットワークN2は、アクセス制御装置21によってセキュリティが保護されている。ネットワークN2には、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24が接続されている。
図1の情報処理システム1は、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24がサービス提供システム20を実現している。
アクセス制御装置21は、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24等へのログインを制御する。プリントサービス提供装置22は、プリントサービスを提供する。スキャンサービス提供装置23は、スキャンサービスを提供する。他サービス提供装置24は、他サービスを提供する。
アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1以上の情報処理装置によって実現される。アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、1台の情報処理装置に統合して実現しても良く、複数の情報処理装置に分散して実現しても良い。
ネットワークN2側のサービスの一部は、ネットワークN2以外にあっても良い。図1の情報処理システム1では、携帯端末12がネットワークN1と、ネットワークN3とにある例を示している。ネットワークN3には、オンラインストレージ等の外部サービスを提供する装置を接続しても良い。
<ハードウェア構成>
図1に示すクライアント端末11、携帯端末12は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、例えば図2に示すようなハードウェア構成のコンピュータにより実現される。図2は、コンピュータシステムのハードウェア構成図である。
図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で相互に接続されている。
入力装置31は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置32は、ディスプレイ等を含み、コンピュータシステム2による処理結果を表示する。
RAM33は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM34は、電源を切ってもプログラムやデータを保持可能な不揮発性の半導体メモリ(記憶装置)である。ROM34には、コンピュータシステム2の起動時に実行されるBIOS(Basic Input/Output System)、OS設定、及びネットワーク設定等のプログラムやデータを格納する。
HDD35は、プログラムやデータを格納している不揮発性の記憶装置である。格納されるプログラムやデータには、例えばコンピュータシステム2全体を制御する基本ソフトウェアであるOSや、OS上において各種機能を提供するアプリケーションソフトウェア等がある。HDD35は、格納しているプログラムやデータを所定のファイルシステム及び/又はDB(データベース)により管理する。
CPU36は、ROM34やHDD35等の記憶装置からプログラムやデータをRAM33上に読み出し、処理を実行することで、コンピュータシステム2全体の制御や機能を実現する演算装置である。
通信I/F37は、コンピュータシステム2をネットワークN1〜N3に接続するインターフェースである。これにより、コンピュータシステム2は、通信I/F37を介してデータ通信を行う。
外部I/F38は、外部装置とのインターフェースである。外部装置には、記録媒体38A等がある。これにより、コンピュータシステム2は、外部I/F38を介して記録媒体38Aの読み取り及び/又は書き込みを行うことが可能である。
記録媒体38Aには、フレキシブルディスク、CD(Compact Disk)、DVD(Digital Versatile Disk)、SDメモリカード(SD Memory card)、USBメモリ(Universal Serial Bus memory)等がある。
クライアント端末11、携帯端末12は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。また、アクセス制御装置21、プリントサービス提供装置22、スキャンサービス提供装置23、他サービス提供装置24は、コンピュータシステム2のハードウェア構成により、後述するような各種処理を実現できる。
<ソフトウェア構成>
《サービス提供システム》
本実施形態に係るサービス提供システム20は、例えば図3に示す処理ブロックにより実現される。図3は、サービス提供システムの一例の処理ブロック図である。
サービス提供システム20は、プログラムを実行することで、サービスアプリ41、プラットフォーム42、データ記憶部43、プラットフォームAPI(Application Programming Interface)44を実現する。
サービスアプリ41は、プリントサービスアプリ51、スキャンサービスアプリ52、その他のサービスアプリ53を一例として有する。プリントサービスアプリ51は、例えばクライアント端末11等から送信されたデータを、画像形成装置13から出力するサービスを提供するアプリケーションである。スキャンサービスアプリ52は、例えば画像形成装置13等でスキャンされたスキャン画像を配信するサービスを提供するアプリケーションである。その他のサービスアプリ53は、例えば外部のオンラインストレージ等にデータを蓄積するサービス等のその他のサービスを提供するアプリケーションである。
プラットフォーム42は、認証処理部61と、組織管理部62と、ユーザ管理部63と、機器管理部64と、ワークフロー制御部65とを有する。また、ワークフロー制御部65は、メッセージキュー71と、ワーカー(Worker)72とを有する。ワーカー72は、例えば画像変換や画像送信等の機能を実現する。
認証処理部61は、クライアント端末11や画像形成装置13等のオフィス機器からのログイン要求に基づいて認証処理を実行する。オフィス機器は、クライアント端末11、携帯端末12、画像形成装置13等の総称である。
認証処理部61は、例えばユーザ情報記憶部82等にアクセスしてユーザを認証する。また、認証処理部61は、例えば組織情報記憶部81や機器情報記憶部83等にアクセスして画像形成装置13等を認証する。
組織管理部62は、例えば組織情報記憶部81に記憶されている組織情報を管理する。ユーザ管理部63は、例えばユーザ情報記憶部82に記憶されているユーザ情報を管理する。機器管理部64は、例えば機器情報記憶部83に記憶されている機器情報を管理する。
ワークフロー制御部65は、サービスアプリ41からの要求に基づいて、例えば画像処理に関するワークフローを制御する。ワークフロー制御部65は、例えば処理の要求として処理(ジョブ)に係るリクエストのメッセージを、そのジョブの種類に対応するメッセージキュー71のキューに投入(キューイング)する。メッセージキュー71は、処理の種類に対応するキューを有する。
ワーカー72は、対応するキューを監視している。ワーカー72は、キューにメッセージが投入されると、対応するジョブの種類に応じた画像変換や画像送信等の処理を行う。なお、キューに投入されたメッセージは、ワーカー72が主体的に読み出す(Pull)ようにしても良く、キューからワーカー72に提供する(Push)ようにしても良い。
データ記憶部43は、組織情報記憶部81と、ユーザ情報記憶部82と、機器情報記憶部83と、ジョブ情報記憶部84と、データストレージ85とを有する。
組織情報記憶部81は、例えばデータ項目として、組織ID、組織名、表示言語、タイムゾーン、状態、国等を有する。ユーザ情報記憶部82は、例えばデータ項目として、組織ID、ユーザID、パスワード、ユーザ名、表示言語、タイムゾーン等を有する。
機器情報記憶部83は、例えばデータ項目として組織ID、デバイス認証情報、事業所情報、ケーパビリティ等を有する。ジョブ情報記憶部84は、例えば処理要求としての処理(ジョブ)に係るリクエストの情報(ジョブ情報)を記憶する。データストレージ85は、例えばワーカー72が処理する変換対象のファイル(スキャン画像等)やデータ等を記憶する。
プラットフォームAPI44は、プリントサービスアプリ51、スキャンサービスアプリ52等のサービスアプリ41が、プラットフォーム42を利用するためのインタフェースである。プラットフォームAPI44は、サービスアプリ41からの要求をプラットフォーム42が受信するために設けられた予め定義されたインタフェースであり、例えば関数やクラス等により構成される。
プラットフォームAPI44は、サービス提供システム20が複数の情報処理装置で構成される場合、ネットワーク経由で利用可能な例えばWeb APIにより実現できる。
<ワークフロー制御部>
図4は、ワークフロー制御部の一例を示す処理ブロック図である。図4に示すように、ワークフロー制御部65は、メッセージキュー71と、ワーカー72と、プロセス監視部91と、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とを有する。
図4の例では、ワークフロー制御部65は、例えばWebアプリケーションサーバにより構成された例を示している。また、ワーカー72は、例えばWebアプリケーションにより構成された例を示している。また、メッセージキュー71は、キュー71−1〜71−3(適宜、「メッセージキュー71」という)を有し、例えばWebアプリケーションサーバで動作しているアプリケーションごとに構成された例を示している。メッセージキュー71には、例えば処理要求として処理(ジョブ)に係るHTTPリクエスト(ジョブ情報)等が保持される。
図4の例では、ワーカー72は、例えばWebアプリケーションサーバで動作するアプリケーションごとのプログラムとして、例えばエンジン95−1〜95−3(適宜、「エンジン95」という)を有している。
エンジン95は、異なる処理をそれぞれ実行するプロセス100を1以上生成する。すなわち、1つのエンジン95では、単一又は複数のプロセス100が動作する。エンジン95は、ワークフロー制御部65が、外部装置に搭載されるアプリケーションの一例として、図4に示すサービスアプリから1以上の処理の要求を受け付けると、1以上の処理の要求に対応する処理(ジョブ)をメッセージキュー71のキューに割り当てる。エンジン95は、対応するメッセージキュー71のキューを監視することで、ジョブの種類に応じたHTML→PDF、PDF→RPCS等のファイル変換や、画像送信、文字認証(OCR)等の割り当てられた処理を行う。
エンジン95は、初期起動時には、例えば1つのプロセス100が動作する。図4の例では、エンジン95−1は、例えばプロセス100−1〜100−2(適宜、「プロセス100」という)を有している。
プロセス100は、ジョブ登録処理及びジョブ実行処理を行う。プロセス100は、ジョブ登録処理では、図4に示すサービスアプリ41からワークフロー制御部65が受け付けた処理(ジョブ)に係るリクエスト(ジョブ情報)を、対応するメッセージキュー71のキューに登録することができる。
プロセス100は、ジョブ実行処理では、対応するメッセージキュー71からジョブ情報を取得すると、データストレージ85から対象ファイル(例えば変換対象ファイル)を取得し、ジョブ情報に対応する処理を実行する。なお、処理(ジョブ)に係るリクエスト(ジョブ情報)とは、例えばクライアント端末11から要求されたファイル変換や画像送信等に関する情報である。
エンジン95が複数のプロセス100を有する場合、それぞれのプロセス100は、同一の処理を実行する。すなわち、同一のエンジン95では、同一の処理が実行される。したがって、同一のエンジン95におけるそれぞれのプロセス100は、例えば異なる入力データに対して、同一のエンジン95を使用した処理を実行し、異なる出力データを出力する。
例えば、エンジン95−1が画像変換エンジンである場合、プロセス100−1〜100−2は、画像変換に関する同一の処理を実行する。したがって、エンジン95が有するプロセス100の数を増やすことで、ワークフロー制御部65から割り当てられたメッセージキュー71のリクエストをより迅速に処理することが可能となる。
なお、図4の例では、エンジン95−1は、対応するメッセージキュー71として、キュー71−1が割り当てられ、エンジン95−2には、キュー71−2が割り当てられ、エンジン95−3には、キュー71−3が割り当てられているものとする。
プロセス監視部91は、ワークフロー制御部65により処理が割り当てられたエンジン95において、起動中の(生成された)プロセス100が全て処理中である場合には、新たなプロセス100をエンジン95に起動(生成)させて、対応する処理を実行させる。
また、プロセス監視部91は、処理が割り当てられたエンジン95において、起動中のプロセス100のうち、処理中でないプロセスがある場合には、処理中でないプロセス100に対応する処理を実行させる。
また、プロセス監視部91は、処理が割り当てられたエンジン95において、対応する処理を実行させた後、起動中のプロセス100のうち処理中でないプロセスがある場合には、処理中でないプロセスを終了させる。
プロセス監視部91は、例えば1つのエンジン95(図4の例ではエンジン95−1〜95−3それぞれ)における起動中のプロセス100の数と、処理中のプロセス100の数とが一致している場合には、そのエンジン95で動作するためのプロセス100を新たに生成する。これにより、処理待ちのジョブを実行することが可能となり、メッセージキュー71におけるジョブの滞留をなくすことが可能となる。
また、プロセス監視部91は、例えば1つのエンジン95における起動中のプロセス100の数と、処理中のプロセス100の数とが一致していない場合には、そのエンジン95で処理中でないプロセス100を終了する。これにより、不要なプロセス100の動作によりCPUやメモリの消費を減らすことが可能となる。
なお、プロセス監視部91は、プロセス100の生成や終了を判断するため、例えばアプリケーション管理DB92から起動中のプロセス数を取得したり、プロセス管理DB93からプロセス100の処理状態を取得したり、更新したりする。また、プロセス監視部91は、ライセンス管理DB94からプロセス100が使用するライセンスの処理状態を取得したり、更新したりする。
アプリケーション管理DB92は、アプリケーション情報を保持及び管理するためのデータベースである。アプリケーション管理DB92で管理されるアプリケーション情報については、プロセス監視部91により登録及び更新される。なお、アプリケーション管理DB92の具体例については後述する。
プロセス管理DB93は、プロセス情報を保持及び管理するためのデータベースである。プロセス管理DB93で管理されるプロセス100に関するプロセス情報(ジョブ処理状態等)については、エンジン95により登録及び更新される。なお、プロセス管理DB93の具体例については後述する。
ライセンス管理DB94は、ライセンス情報を保持及び管理するためのデータベースである。ライセンス管理DB94で管理されるライセンス情報は、プロセス100により登録及び更新される。なお、ライセンス管理DB94の具体例については後述する。
なお、図4の例では、メッセージキュー71と、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とが、ワークフロー制御部65に含まれている例を示しているがこれには限定されない。メッセージキュー71を、メッセージキューサーバとして構成しても良く、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94を、データベースサーバとして構成しても良い。また、図4に示すデータストレージ85が、アプリケーション管理DB92と、プロセス管理DB93と、ライセンス管理DB94とを保持する構成としても良い。
<各種データ例>
次に、上述した本実施形態における各種データ例について、図を用いて説明する。図5は、各種データ例を説明するための図である。図5(A)は、ジョブ情報の一例を示し、図5(B)は、アプリケーション管理DB92の一例を示し、図5(C)は、プロセス管理DB93の一例を示し、図5(D)は、ライセンス管理DB94の一例を示す。
図5(A)に示すジョブ情報は、例えば「ID」、「アプリケーションID」、「ユーザID」、「組織ID」、「ジョブ実行タイプ」等の項目を有する。「ID」は、例えばジョブを一意に識別するための情報である。「アプリケーションID」は、アプリケーションを一意に識別するための情報である。
「ユーザID」は、例えばファイル変換等の処理を依頼したユーザを識別するための情報である。「組織ID」は、ユーザが所属する企業等を識別するための情報である。「ジョブ実行タイプ」は、例えばエンジンを識別するための情報であり、例えばファイル変換等の処理内容に対応した文字列(「pdf2rpcs」:PDFファイルのデータ形式からRPCSのデータ形式へのデータ変換)等が指定される。
図5(B)に示すアプリケーション管理DB92は、例えば「アプリケーションID」、「起動中プロセス」等の項目を有する。「アプリケーションID」は、例えば図5(A)の「アプリケーションID」に対応し、アプリケーションを一意に識別する情報である。「起動中プロセス数」は、アプリケーションで起動中のプロセス100の数を示す情報である。
図5(C)に示すプロセス管理DB93は、例えば「プロセスID」、「アプリケーションID」、「ライセンスID」、「ジョブ処理状態」等の項目を有する。「プロセスID」は、プロセス100を一意に識別する情報である。「アプリケーションID」は、プロセス100が起動されているアプリケーションを一意に識別するための情報である。
「ライセンスID」は、プロセス100が使用しているソフトウェアやサービスのライセンスを識別する情報である。例えばプロセス100がソフトウェアやサービスを使用していない場合には、「NULL」となる。
「ジョブ処理状態」は、例えばプロセス100のジョブ処理状態を示す情報である。例えば、ジョブ処理状態が「未処理」の場合には、プロセス100においてジョブがまだ処理されていない状態を示す。また、「処理中」の場合には、プロセス100においてジョブが完了していない状態を示す。また、「処理完了」の場合には、プロセス100においてジョブが処理完了した状態を示す。なお、ジョブ処理状態については、これに限定されるものではない。
図5(D)に示すライセンス管理DB94は、例えば「ライセンスID」、「利用可能なライセンス数」、「利用済みライセンス数」等の項目を有する。「ライセンスID」は、例えば図5(C)の「ライセンスID」に対応し、ライセンスを一意に識別する情報である。「利用可能なライセンス数」は、利用可能なライセンスの数量を示す情報である。「利用済みライセンス数」は、利用済のライセンスの数量を示す情報である。
上述した各種データを用いることで、プロセス監視部91によりプロセス100の生成処理及び終了処理が実行される。以下、フローチャートを用いて一例について説明する。
<プロセス生成処理>
図6は、プロセス生成処理の一例を示すフローチャートである。図6の例では、プロセス監視部91がエンジン95ごとにプロセス100の処理状態(実行状態)を監視し、プロセス100の生成が必要であると判断した場合にプロセス100の生成を実行する。なお、図6に示すフローチャートは、起動中のエンジン95ごとにプロセス100の処理状態を監視し、プロセス100の生成を実行する。
具体的には、図6に示すように、プロセス監視部91は、例えばWebアプリケーションによりワーカー72が起動すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S10)。
次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S11)。
次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S12)。
プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致すると判断した場合に(S12において、YES)、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用しているか判断する(S13)。
ここで、プロセス監視部91は、ライセンスが必要なソフトウェアやWebサービス等を使用していると判断すると(S13において、YES)、ライセンス管理DB94から利用可能なライセンス数と、利用中のライセンス数(利用済みライセンス数)を取得する(S14)。S13〜S14の処理では、プロセス100が、ライセンス制限のあるソフトウェアやサービス等を使用している場合もあるため、ライセンス違反を防止するために確認を行う。
プロセス監視部91は、利用中のライセンス数が利用可能なライセンス数よりも少ないか判断し(S15)、利用中のライセンス数が少ないと判断すると(S15において、YES)、プロセス100を生成する(S16)。なお、プロセス100がライセンスが必要なソフトウェア又はWebサービス等を使用していないと判断した場合にも(S13において、NO)、S16の処理に進む。
また、S12の処理で、プロセス監視部91は、起動中のプロセス数とジョブ処理中プロセス数とが一致しないと判断すると(S12において、NO)、エンジン95に対応するメッセージキュー71に保持されているジョブ情報(例えば図5(A))を参照する。
ここで、プロセス監視部91は、ジョブ情報から処理待ちジョブの法人契約ライセンス情報を確認する(S17)。なお、処理待ちジョブは、例えばメッセージキュー71の最初に登録されているものである。
プロセス監視部91は、ジョブ情報に含まれている組織ID等に対応して設定されている法人契約ライセンス情報を取得し、法人契約ライセンスが優先的に処理するプレミアライセンスか判断する(S18)。本実施形態では、予め契約ライセンスの種類に応じて優先度を設け、プレミアムライセンスは、その契約ライセンスの優先度が、他のライセンスよりも高いものを示している。
プロセス監視部91は、プレミアライセンスであると判断すると(S18において、YES)、S13の処理に進む。これにより、プレミアムライセンスを有するユーザのジョブを優先的に処理することが可能となる。
また、プロセス監視部91は、プレミアライセンスではないと判断すると(S18において、NO)、処理を終了する。なお、S15の処理で、プロセス監視部91は、利用中のライセンス数が利用可能なライセンス数よりも少なくない(利用可能なライセンス数と一致している)と判断すると(S15において、NO)、処理を終了する。プロセス監視部91は、次に起動中のエンジン(例えばエンジン95−2)について判断する。
上述したように、起動中のプロセス数と、ジョブ処理中プロセス数とが一致した場合や、ライセンス制限がない場合には、プロセス100を生成する。
なお、プロセス監視部91は、例えばアプリケーション管理DB92で「起動中のプロセス数」が、予め指定した起動プロセス数の上限値に達したと判断した場合に、プロセス100を生成しないように制御しても良い。これにより、エンジン95においてプロセス100が大量に起動することにより、実行中のジョブの処理時間が長くなるのを防止することが可能となる。
また、プロセス100がジョブを実行した曜日や日時等のジョブ実行履歴をデータベースに登録し、プロセス監視部91は、ジョブ実行履歴に基づき、例えば現在の時間帯でジョブの処理に必要なプロセス数を予測し、不足分のプロセス100を生成しても良い。これにより、ジョブの実行数が多い時間帯において、ジョブの実行までの時間を短縮することが可能となる。
<プロセス終了処理>
図7は、プロセス終了処理の一例を示すフローチャートである。図7の例では、プロセス監視部91が起動中のエンジン95ごとにプロセス100の処理状態(実行状態)を監視し、プロセス100の終了が必要であると判断した場合にプロセス100の終了を実行する。
具体的には、図7に示すように、プロセス監視部91は、例えばワーカー72が起動した後、所定時間が経過すると、エンジン95ごと(例えばエンジン95−1)に、アプリケーション管理DB92から起動中のプロセス数を取得する(S20)。
次に、プロセス監視部91は、例えばアプリケーションIDに基づき、プロセス管理DB93から「ジョブ処理状態」が「処理中」のレコードの数(ジョブ処理中プロセス数)を取得する(S21)。
次に、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とを比較し、起動中のプロセス数とジョブ処理中プロセス数とが一致するか判断する(S22)。
プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致しないと判断した場合(S22において、NO)、ジョブを処理するのに十分な数のプロセス100は起動していると判断して、ジョブを実行していないプロセス100(「ジョブ処理状態」が「未処理」、「処理完了」のプロセス)を終了する(S23)。また、S22の処理で、プロセス監視部91は、起動中のプロセス数と、ジョブ処理中プロセス数とが一致していると判断した場合(S22において、YES)、処理を終了する。なお、プロセス監視部91は、次に起動中のエンジン(例えばエンジン95−2)について判断する。
上述したように、ジョブを実行していないプロセス100を終了することで、不要なプロセスの動作しないように制御することが可能となる。
上述した実施形態によれば、アプリケーション内部のエンジンごとに起動中のプロセスがリクエストを実行しているか監視し、起動中の全てのプロセスがリクエストを実行している場合に、新たなプロセスを生成し、キューからリクエストを取り出し実行させる。これにより、処理効率を向上させることが可能となる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
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 プロセス
特開2008−152770号公報

Claims (8)

  1. 1以上の情報処理装置を有する情報処理システムであって、
    異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手段と、
    外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手段のうち1以上の処理手段に割り当てる処理フロー制御手段と、
    前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手段において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手段に生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理の要求に対応する処理を実行させるプロセス監視手段とを有することを特徴とする情報処理システム。
  2. 前記プロセス監視手段は、
    前記1以上の処理の要求に対応する処理を実行させた後、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスを終了させることを特徴とする請求項1に記載の情報処理システム。
  3. 前記プロセス監視手段は、
    前記生成された1以上のプロセスの数と、前記処理中の前記プロセスの数とが一致している場合に、前記新たなプロセスを生成することを特徴とする請求項1又は2に記載の情報処理システム。
  4. 前記プロセス監視手段は、
    前記生成された1以上のプロセスの数と、前記処理中の前記プロセスの数とが一致していない場合に、前記処理中でない前記プロセスを終了することを特徴とする請求項2に記載の情報処理システム。
  5. 前記プロセス監視手段は、
    前記1以上の処理手段が利用中のライセンス数が、前記1以上の処理手段が利用可能なライセンス数に満たない場合に、前記新たなプロセスを生成することを特徴とする請求項1乃至4のいずれか一項に記載の情報処理システム。
  6. 前記プロセス監視手段は、
    前記生成された1以上のプロセスの数が、予め指定されたプロセス数に達した場合には、前記新たなプロセスを生成しないことを特徴とする請求項1乃至5のいずれか一項に記載の情報処理システム。
  7. 前記プロセス監視手段は、
    前記プロセスにより処理された履歴情報に基づき、曜日又は時間ごとに利用されるプロセス数を予測し、前記曜日又は時間に対応させて予測した数のプロセスを生成することを特徴とする請求項1乃至6のいずれか一項に記載の情報処理システム。
  8. 情報処理システムにより実行される情報処理方法であって、
    異なる処理をそれぞれ実行する複数の処理手段であって、それぞれの処理を実行するプロセスを1以上生成する複数の処理手順と、
    外部装置に搭載されるアプリケーションから1以上の処理の要求を受け付けると、前記1以上の処理の要求に対応する処理を、前記複数の処理手順のうち1以上の処理手順に割り当てる処理フロー制御手順と、
    前記1以上の処理の要求に対応する処理が割り当てられた前記1以上の処理手順において生成された1以上のプロセスが処理中である場合には、新たなプロセスを前記1以上の処理手順で生成させて前記1以上の処理の要求に対応する処理を実行させ、前記生成された1以上のプロセスが処理中でない場合には、前記処理中でない前記プロセスに前記1以上の処理要求に対応する処理を実行させるプロセス監視手順とを有することを特徴とする情報処理方法。
JP2014052060A 2014-03-14 2014-03-14 情報処理システム、及び情報処理方法 Expired - Fee Related JP6337532B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014052060A JP6337532B2 (ja) 2014-03-14 2014-03-14 情報処理システム、及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014052060A JP6337532B2 (ja) 2014-03-14 2014-03-14 情報処理システム、及び情報処理方法

Publications (2)

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

Family

ID=54255467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014052060A Expired - Fee Related JP6337532B2 (ja) 2014-03-14 2014-03-14 情報処理システム、及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6337532B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03100852A (ja) * 1989-09-14 1991-04-25 Fujitsu Ltd サービスプロセス実行制御方法
JPH07244627A (ja) * 1994-03-08 1995-09-19 Hitachi Ltd リクエスト制御装置
JPH08286906A (ja) * 1995-04-18 1996-11-01 Fujitsu Ltd 起動プログラム数の自動チェック方法
JPH09146883A (ja) * 1995-11-21 1997-06-06 Nec Software Ltd トランザクション処理タスク数制御方式
JPH10260851A (ja) * 1997-03-21 1998-09-29 Toshiba Corp クライアントサーバシステムならびに同システムにおけるサーバの割り付け方法、及び同システムにおけるサーバ負荷の制御方法
JP2002314682A (ja) * 2001-04-10 2002-10-25 Fujitsu Ltd 通信制御装置
JP2006317991A (ja) * 2005-05-10 2006-11-24 Hitachi Ltd プロセス数チューニング方法
US20130198211A1 (en) * 2012-02-01 2013-08-01 Ricoh Company, Ltd. Information processing apparatus, information processing system, and data conversion method

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03100852A (ja) * 1989-09-14 1991-04-25 Fujitsu Ltd サービスプロセス実行制御方法
JPH07244627A (ja) * 1994-03-08 1995-09-19 Hitachi Ltd リクエスト制御装置
JPH08286906A (ja) * 1995-04-18 1996-11-01 Fujitsu Ltd 起動プログラム数の自動チェック方法
JPH09146883A (ja) * 1995-11-21 1997-06-06 Nec Software Ltd トランザクション処理タスク数制御方式
JPH10260851A (ja) * 1997-03-21 1998-09-29 Toshiba Corp クライアントサーバシステムならびに同システムにおけるサーバの割り付け方法、及び同システムにおけるサーバ負荷の制御方法
JP2002314682A (ja) * 2001-04-10 2002-10-25 Fujitsu Ltd 通信制御装置
JP2006317991A (ja) * 2005-05-10 2006-11-24 Hitachi Ltd プロセス数チューニング方法
US20130198211A1 (en) * 2012-02-01 2013-08-01 Ricoh Company, Ltd. Information processing apparatus, information processing system, and data conversion method
JP2013178748A (ja) * 2012-02-01 2013-09-09 Ricoh Co Ltd 情報処理装置、プログラム、情報処理システム及びデータ変換処理方法

Also Published As

Publication number Publication date
JP6337532B2 (ja) 2018-06-06

Similar Documents

Publication Publication Date Title
JP6364738B2 (ja) 情報処理システム、情報処理装置、プログラム及び処理実行方法
US10114940B2 (en) Information processing system, information processing apparatus, and information processing method
US20140337928A1 (en) Information processing device, information management method, and information processing system
JP6179083B2 (ja) 情報処理装置、出力システム及びプログラム
JP6357780B2 (ja) ネットワークシステム及び情報通知方法
JP6848340B2 (ja) 情報処理システム、更新方法、情報処理装置及びプログラム
JP6427880B2 (ja) 情報処理システム、情報処理装置及びプログラム
JP6183035B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP6085924B2 (ja) 出力システム、携帯端末、情報処理方法及びプログラム
JP6938983B2 (ja) 情報処理システム、情報処理装置及び情報処理方法
US10063745B2 (en) Information processing system, information processing apparatus, and information processing method
JP2014178893A (ja) 連携処理装置、プログラム及びソフトウェア更新方法
JP2014167679A (ja) ジョブ実行制御システム、ジョブ実行システム、ジョブ実行制御方法及びプログラム
JP2017102813A (ja) 情報処理システム、情報処理装置及びプログラム
JP2015158721A (ja) 情報処理システム、情報処理装置、情報処理方法、及びプログラム
JP2014239388A (ja) プログラム、情報処理装置、情報処理システム及び通知方法
JP2014153807A (ja) 情報処理システム、情報処理装置、認証方法及びプログラム
JP6337532B2 (ja) 情報処理システム、及び情報処理方法
JP2015153117A (ja) 文書生成システム
JP2017037469A (ja) 情報処理システム、優先処理方法、情報処理装置及びプログラム
JP2016058827A (ja) 情報処理システム、情報処理装置、情報処理方法、及び情報処理プログラム
JP6627301B2 (ja) 情報処理装置、情報処理方法、及びプログラム
US11200088B2 (en) Information processing system, information processing method, and information processing apparatus
JP6299101B2 (ja) サービス提供システム、サービス提供方法及びプログラム
JP2018081572A (ja) サービス提供システム、情報処理装置、プログラム及び情報処理システム

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