JP6501632B2 - 情報処理システム、およびその制御方法 - Google Patents

情報処理システム、およびその制御方法 Download PDF

Info

Publication number
JP6501632B2
JP6501632B2 JP2015115168A JP2015115168A JP6501632B2 JP 6501632 B2 JP6501632 B2 JP 6501632B2 JP 2015115168 A JP2015115168 A JP 2015115168A JP 2015115168 A JP2015115168 A JP 2015115168A JP 6501632 B2 JP6501632 B2 JP 6501632B2
Authority
JP
Japan
Prior art keywords
job
queue
processing
managed
processing system
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.)
Active
Application number
JP2015115168A
Other languages
English (en)
Other versions
JP2017004121A (ja
JP2017004121A5 (ja
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.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2015115168A priority Critical patent/JP6501632B2/ja
Priority to US15/168,625 priority patent/US10120723B2/en
Publication of JP2017004121A publication Critical patent/JP2017004121A/ja
Publication of JP2017004121A5 publication Critical patent/JP2017004121A5/ja
Application granted granted Critical
Publication of JP6501632B2 publication Critical patent/JP6501632B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration

Description

本発明は、複数のキューを用いたデータの処理の順序などの制御を実現するための技術に関する。
クラウドサービスを用いて構築されたコンピューティングシステムによって、さまざまなネットワークデバイスを管理するサービスが存在する。ここで、ネットワークデバイスとしては、健康器具や画像処理装置、家電製品や車載端末などが含まれる。クラウドサービスを用いた情報処理システムにおいては、複数のネットワークデバイスから稼働状況を示すログなどの大量のデータ収集し、その後、その大量のデータを集計したり、分析したりする。集計や分析の結果は、レポートとしてユーザに提供することも可能である。ここでレポートの方法としては、Webページ上での表示や、PDF等のファイルとして作成したレポートのユーザへの提供が可能である。
ここで、大量のログの集計や分析には時間がかる。そのため、ログの集計の方法としては、例えば、定期的に集計処理の要求を自動生成して実行する方法や、ユーザからレポートの作成要求を受け付けた際に集計を実行する方法がとられている。
この際、集計処理などを要求毎に順次処理するとして、定期的な集計処理の実行中に、ユーザからレポートの作成要求を受け付けた場合を考える。前者の集計処理の完了を待ってからレポート作成要求による集計処理を実行していると、ユーザにレポートを提供するまでに相当の時間がかかってしまう。そのため、ユーザへレポートを短時間で提供するためには、集計処理の優先度を適切に管理する必要がある。
特許文献1には、データ伝送を効率化させるために、複数の種類のキューを利用して、データ処理の優先度を管理する技術が開示されている。具体的には、高速キューと低速キューといった二つのキューを用いて、処理するデータの優先度に応じてキューにデータを振り分けて処理している。
前述した、情報処理システムにおける集計や分析の処理においても、複数のキューを利用して、各要求の優先度を考慮した処理を実現することが可能となる。具体的には、ユーザからレポートの作成要求を受け付けた場合には、その相対的に優先度の高い要求を処理するための優先キューに投入する。そして、集計を行う場合には優先キューに投入された要求から処理するようにすればよい。
特開2010−26815号公報
前述したように優先度の異なる要求を管理するために複数のキューを用いることで、例えばユーザからレポート作成が要求された場合に、レポートを提供するまでのユーザの待ち時間を軽減することが可能となる。
しかしながら、ユーザからのレポート作成の要求を、全て同じ高い優先度の要求として優先キューに投入してしまうと、優先キューのなかでより優先度の高い要求の処理が遅れてしまう可能性がある。また、ユーザからのレポート作成などの要求の中には、処理負荷が低い要求も存在する。
したがって、システムでの各要求の処理効率や、システム利用者の待ち時間を考慮した場合に、優先キューに投入すべき要求についても、その内容によっては、投入方法や処理順などを制御する必要がある。
上記課題を解決するために、本発明は、複数のキューで管理されたジョブを処理する情報処理システムであって、前記情報処理システム内で定期的に生成される第1のジョブを第1のキューに投入する第1の投入手段と、前記情報処理システムが提供する画面を介した入力に対応する要求の受信に応じて生成される第2のジョブを、複数のキューの何れかに投入すべきか判定する判定手段と、前記判定手段による判定に従い、前記第2のジョブを複数のキューの何れかに投入する第2の投入手段と、前記第2のジョブの処理対象となったデータを用いた情報提供を行う提供手段と、を有し、
前記判定手段は、前記第2のジョブの処理対象となるデータの処理が完了していない場合には第2のキューに前記第2のジョブを投入すべきと判定し、前記第2のジョブの処理対象となるデータの処理が完了していた場合には第3のキューに前記第2のジョブを投入すべきと判定し、前記第2のキューで管理された前記第2のジョブが情報処理システムで処理された場合には、前記第3のキューに当該第2のジョブに対応して生成されたジョブが投入され、前記提供手段は、前記第3のキューで管理されたジョブの属性情報に従い、前記第2のジョブの処理対象となったデータを用いた情報提供を行うことを特徴とする。
本発明によれば、要求の内容を考慮したうえで優先キューに対する要求の投入などを制御し、要求の処理に係る待ち時間などを軽減することができる。
本発明に係るネットワークシステムの構成の一例を示す図である。 本発明に係るフロントサーバ102の構成例を示す図である。 本発明に係る集計サーバ106の構成例を示す図である。 締め前キューまたは締め済みキューで管理されるジョブの例を示す図である。 通常キューで管理されるジョブの例を示す図である。 情報処理システム100の利用者を管理するためのユーザIDテーブルの例を示す図である。 スケジューラ101によるジョブ投入処理を説明するためのフローチャートである。 各月の集計状態テーブルの例を示す図である。 実施例1に係るフロントサーバ102による処理要求を受信した場合の処理を説明するためのフローチャートである。 実施例1に係る集計サーバ106によるジョブ取得処理を説明するためのフローチャートである。 実施例1に係る集計サーバ106による切替処理を説明するためのフローチャートである。 本発明に係るレポート作成サーバ108による処理を説明するためのフローチャートである。 本発明に係るレポート作成ページの一例を示す図である。 本発明に係るユーザに提供されるレポートの一例を示す図である。 実施例2に係るフロントサーバ102による処理要求を受信した場合の処理を説明するためのフローチャートである。 実施例3に係るネットワークシステムの構成の一例を示す図である。 実施例4に係るフロントサーバ102による処理要求を受信した場合の処理を説明するためのフローチャートである。 実施例4に係るジョブの削除処理の流れの例を説明するためのフローチャートである。 実施例5に係る集計サーバ106によるジョブ取得処理を説明するためのフローチャートである。 実施例5に係る各キューに設定された重み付けを管理するテーブルの例を示す図である。 実施例6に係る各キューに対する重み付けの変更処理を説明するためのフローチャートである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
図1は、本発明に係るネットワークシステムの構成の一例を示す図である。情報処理システム100は、スケジューラ101、フロントサーバ102、複数のキューやデータベース、集計サーバ106、レポート作成サーバ108などから構成される。
ここで、情報処理システム100は、データセンターなど、複数の情報処理装置により提供されるハードウェアリソースを利用して構築されるシステムであり、複数の仮想マシンが上述したフロントサーバ102などのサーバとして動作している。ここで、情報処理装置は、ハードウェア構成として、例えば、CPU、RAM、ROM、外部記憶装置、ネットワークI/F制御装置などを有する。CPUが、オペレーションシステム(OS)や仮想マシンを構成するための所定のプログラムを実行する。そして、仮想マシン上で、後述するような本発明に係る処理を実現するためのプログラムが実行されることになる。なお、情報処理システム100には、仮想化技術を利用することなく構築することも可能である。また、情報処理システム100に含まれるサーバ群は、すべて同じ地域に存在する必要はなく、それぞれがネットワークを介して通信できるのであれば、サーバ群のそれぞれが異なる国や地域に配置されてもよい。
情報処理システム100は、ユーザシステム120内のコンピュータに対して入力された管理者などからの要求を受け付けて処理する。ユーザシステム120には、管理者が操作するPC以外にも、サービスを提供するアプリケーションサーバなども存在し得る。ユーザシステム120は、インターネットなどのネットワークを経由して、情報処理システム100に接続する。管理対象システム121は、情報処理システム100の管理対象となるネットワークデバイスを含むネットワーク環境を示す。管理対象システム121内のネットワークデバイスの稼働状況を示すログなど、ネットワークデバイスに関するデータは、ネットワークを介して、情報処理システム100で収集され、DB(データベース)109に格納される。ユーザシステム120、管理対象システム121は、それぞれ、複数ネットワーク上に存在してもよい。
情報処理システム100のスケジューラ101は、予め定められたスケジュールに従い、通常キュー103にジョブを投入する。フロントサーバ102は、ユーザシステム120または管理対象システム121からの要求を受け付け、処理する。レポート作成などといった要求を受け付けた場合には、締め前キュー104または締め済みキュー105に該要求に対応するジョブを投入する。ここで、締め前キュー104及び、締め済みキュー105は、通常キュー103と比較して、管理者などからの直接的な指示入力により生成された要求に対応する即時性が必要となる優先度の高いジョブを管理することになる。
集計サーバ106は、通常キュー103、締め前キュー104、及び締め済みキュー105から、ジョブを取得し、ジョブに応じた処理を実行する。例えば、集計や分析などの処理要求に対応するジョブであった場合には、対象となるデータをDB109から取得して、集計や分析などの処理を実行する。また、レポート作成要求に対応するジョブであった場合には、対象となるデータをDB109から取得して、集計処理を実行し、その完了後、レポートキュー107にレポート作成の処理要求に対応するジョブを投入する。レポート作成サーバ108は、レポートキュー107からジョブを取得し、DB109に格納された集計済みデータを用いて、レポート作成処理を実行する。その後、要求基に対して作成したレポートによる情報提供を行う。
なお、DB109には、本システムを実現するためのプログラムや、情報処理システム100の管理対象となるネットワークデバイスを保有する全ての利用者にサービスを提供するための各種データなどが格納されている。また、フロントサーバ102、集計サーバ106、レポート作成サーバ108は、複数存在してもよい。
図2は、本発明に係るフロントサーバ102の構成例を示す図である。フロントサーバは提供部201、受信部202、登録部203を有する。
提供部201は、管理者などから、レポート作成の要求などを受付けるためのGUI(グラフィカルユーザインタフェース)をユーザシステム120または管理対象システム121内のPCに提供する。PCで動作するウェブブラウザ上で、提供部201からの提供情報に係る表示を行うことができる。また、提供部201は、レポート作成の要求以外にも、情報処理システム100で管理している様々な情報を、ネットワークを介して、PCに対して提供することが可能である。
受信部202は、提供部201による提供情報に基づくGUIを通じて入力さえた指示に応じた様々な要求を受け付ける。ここで、レポート作成の要求には、対象デバイスや対象ユーザ、対象ユーザグループ、対象期間など、レポート作成のための様々な属性が含まれる。登録部203は、受け付けた要求を、ジョブとして、締め前キュー104または締め済みキュー105などに投入する。各キューで管理されるジョブの詳細については、図4を用いて後述する。
図3は、本発明に係る集計サーバ106の構成例を示す図である。集計サーバは、選択部301、切替部302、処理部303を有する。
選択部301は、通常キュー103、締め前キュー104、及び締め済みキュー105のいずれからジョブを取得するかを決定する。切替部302は、通常キュー103、締め前キュー104、締め済みキュー105のいずれからジョブを取得したかによって、ジョブ取得後の処理を切り替える。処理部303は、ジョブで要求された集計や分析などの処理を実行する。
図4は、締め前キュー104または締め済みキュー105で管理されるジョブ400に含まれる属性情報の例を示す図である。
対象ユーザ401は、処理対象となるデータを特定するためのユーザIDを指定する項目である。情報処理システム100の管理対象となるネットワークデバイスを保有する全ての利用者には、図6で示すユーザIDテーブル601で示すユーザIDが割り当てられている。例えば、フロントサーバ102でレポート作成の要求に対応するジョブが生成された場合には、該要求に含まれるユーザIDがジョブに設定されることになる。対象期間402は、処理対象となるデータを特定するための年月などの時間情報が指定される。この情報についても、レポート作成の要求に含まれる。
レポート作成403は、レポート作成を実行するかどうかを示す項目である。作成する必要がある場合には「true」、単なる集計、分析のみの要求であってレポート作成を実行しない場合は「false」が設定される。なお、ジョブの属性情報としては、ほかにも処理対象を特定するための情報として、対象ネットワークデバイスの指定、対象ユーザグループの指定なども可能である。
図5は、通常キュー103で管理されるジョブ500に含まれる属性情報の例を示す図である。
ジョブ500にも、ジョブ400と同様に、対象ユーザ501、対象期間502、レポート作成503といった属性情報が含まれている。
ここで、ジョブ500はスケジューラ101により自動生成されるジョブである。
情報処理システム100は、レポート作成サーバ108により、月などの期間を指定して、レポートを作成することができる。さらに、情報処理システム100は、特定の時期までの集計結果をそれ以降変更できないようにするために、例えば、月ごとに締め処理(集計結果の確定処理)を行っている。スケジューラ101は、このような締め処理を目的に、月ごとに、全て利用者のそれぞれについて、DB109に格納されているログなどのデータを集計するためのタスクを自動生成する。
ジョブ500は、ユーザID「A00002」で示す利用者のログの中で、締め処理が未完了であるすべての月のログを処理対象として、集計処理を実行させるためのジョブであることを示している。
図7は、スケジューラ101により定期的に実行されるジョブの投入処理を説明するためのフローチャートである。スケジューラ101は、予め定められた時間間隔で、締め処理を目的としたジョブを自動生成し、通常キューに投入する。本実施例では、ネットワークデバイスの利用に対する課金や稼働状況レポートなどを逐次ユーザに提供するため、毎月、月末などに、図7で示す処理を自動実行することを想定している。
S701〜S703までの処理を、スケジューラ101は、情報処理システム100の管理対象となるネットワークデバイスを保有する全ての利用者について実行する。S702では、スケジューラ101は、通常キュー103に各利用者に対応するジョブ500を投入する。
図8は、DB109に格納される各月の集計状態テーブルの例を示す図である。該テーブルでは、ユーザごとに各集計期間の締め状態が管理される。
集計サーバ106により集計処理が完了した場合に、該当する締め状態803の値が更新される。集計処理が完了し、締め済みとなれば、締め状態803の値が「0」から「1」に更新される。例えば、レコード811で示すように、ユーザID801「A00001」、集計年月802「2015/03」で特定されるデータに関しては、集計処理が未完了であるために、締め状態803の値が「0」となっている。
図9は、実施例1に係るフロントサーバ102で実行される処理要求を受信した場合の処理を説明するためのフローチャートである。本処理は、ユーザによる入力に従い、フロントサーバ102で受信した要求に応答して、ジョブを所定のキューに投入するための処理である。
S901で、受信部202が、提供部201が提供したGUIを通じて入力された要求を受信する。ここでは、図13で示すGUI画面を介してレポート作成のための要求を受信したとする。この画面は、提供部201が提供するHTMLなどのデータに基づき、ウェブブラウザなどにより表示されるレポート作成ページの例を示す。管理者などは、作成ボタン1300を押下指示して、対象期間を選択しつつ、レポート作成を要求することができる。さらに、管理者などは、ダウンロードボタン1303を押下指示して、作成されたレポート(ファイル)のダウンロードを、フロントサーバ102に対して要求することが可能である。ここで、ダウンロードボタン1303は、集計処理が完了し、レポート作成が完了した場合に提供されるボタンである。なお、管理者がレポート作成ボタン1301を押した後、1302の位置にダウンロードボタンが表示されるまでに長い時間が掛かってしまうと、ユーザビリティが低下してしまうことになる。本実施例では、このユーザビリティが低下を抑えることを目的としている。
S902で、登録部203は、図8で示す集計状態テーブルを参照し、受信した要求で指定される対象期間が締め済みであるか否かを判定する。つまり、登録部203は、すでに収集データの集計サーバ106による集計処理が完了した締め済みの期間のデータを対象とする要求であった場合にはS903に進み、そうでないと判定された場合にはS904に進む。
S903で、登録部203は、締め済みキュー105に、受信した要求で指定された内容を属性情報として含むジョブを投入する。S904で、登録部203は、締め前キュー104に、受信した要求で指定された内容を属性情報として含むジョブを投入する。以上で、本処理は終了する。
図10は、実施例1に係る集計サーバ106によるジョブ取得処理を説明するためのフローチャートである。集計サーバ106は、S1001〜S1009までの処理を繰り返す。
S1002では、選択部301は、締め済みキュー105でジョブが管理されているか否かを判断する。締め済みキュー105でジョブが管理されていた場合にはS1003に進み、管理されていなかった場合にはS1004に進む。S1003では、選択部301が、締め済みキュー105から先頭のジョブを取得する。
S1004では、選択部301は、締め前キュー104でジョブが管理されているか否かを判断する。締め前キュー104でジョブが管理されている場合にはS1005に進み、管理されていなかった場合にはS1006に進む。S1005では、選択部301が、締め前キュー104から先頭のジョブを取得する。
S1006では、選択部301は、通常キュー103でジョブが管理されているか否かを判断する。通常キュー103でジョブが管理されている場合にはS1007に進み、管理されていなかった場合にはS1009に進む。S1007では、選択部301が、通常キュー103から先頭のジョブを取得する。
S1008では、切替部302が、切替処理(図11)を実行する。
図11は、実施例1に係る集計サーバ106による切替処理を説明するためのフローチャートである。
S1101で、切替部302は、図10で取得された処理対象となるジョブが締め済みキュー105から取得されたか否かを判断する。締め済みキュー105から取得された場合にはS1105に進み、そうでない場合にはS1102に進む。ここでは、締め済みキュー105から取得されたジョブについて、集計処理をスキップして、S1005に処理を進める。これは、スケジューラ101が自動生成した通常キュー103で管理されるジョブや、締め前キュー104で管理されていたジョブが処理されたことにより、対象期間などについて既に集計処理が完了しているためである。
S1102では、切替部302は、処理対象となるジョブが締め前キュー104から取得されたか否かを判断する。締め前キュー104から取得された場合にはS1103に進み、そうでない場合にはS1104に進む。
S1103及びS1104では、処理部303が、処理対象となるジョブの属性情報に従い、対象となるログなどのデータをDB109から取得して、集計処理を実行する。集計済みのデータは、再びDB109に格納される。集計処理が完了した場合には、図8で示す管理テーブルの締め状態803の値が更新される。ここで実行される集計処理としては、例えば、ネットワークデバイスが対象期間内に処理を実行した処理回数や、エラーなどの障害の発生頻度や、正常稼働していた時間などの集計などが挙げられる。
S1105で、切替部302は、レポートキュー107に新たにジョブを投入する。ここで投入されるジョブは、本処理の対象となったジョブの対象ユーザ及び対象期間などの属性情報を引き継いだ、レポート作成サーバ108にレポート作成を実行させるためのジョブである。
なお、締め前キュー104及び締め済みキュー105のそれぞれで管理されるジョブは、ともに、ユーザからフロントサーバ102が提供するGUIを介して指定された要求に対応するものである。これら要求は、ユーザが直接指定したものであるためレポート提供までに、ある程度の即時性が必要となる優先度の高い要求と言える。一方で、通常キュー103で管理されるジョブは、レポート提供などが必要なわけではなく、締め前キュー104及び締め済みキュー105のそれぞれで管理されるジョブと比較して、相対的に優先度が低いと言える。つまり、本実施例は、締め前キュー104及び締め済みキュー105の2つの優先キューを利用していると言える。
ここで、図11で示す処理からもわかるように、締め済みキュー105で管理されるジョブは、S1103で示す集計処理をスキップしている分、締め前キュー104で管理されるジョブよりも集計サーバ106による処理完了が明らかに早くなる。本実施例では、図10で示したように、締め前キュー104よりも締め済みキュー105で管理されるジョブを先に処理するように構成している。
例えば、複数のユーザがほぼ同時にレポート作成のための要求を指示し、かつ、それらの要求の中に集計処理が完了している期間などを指定する要求があった場合を想定する。本実施例のような構成にすることで、それら要求に対応するジョブを順次、処理していくよりも、複数のユーザがレポート提供を受けるまでの待ち時間の平均を短縮することが可能になる。また、最初にレポート提供を受けるユーザの待ち時間が大きく改善されることもあり得る。
図12は、本発明に係るレポート作成サーバ108によるレポート作成処理を説明するためのフローチャートである。
レポート作成サーバ108は、S1201〜S1205までの処理を繰り返し実行する。S1202では、レポート作成サーバ108は、レポートキュー107にジョブがある否かを判定する。ジョブが存在する場合にはS1203に進み、無い場合にはS1205に進む。
S1203では、レポート作成サーバ108は、レポートキュー107から先頭のジョブを取得する。S1204では、レポート作成サーバ108は、取得されたジョブの属性情報に従い、対象となる集計済みのデータをDB109から取得して、レポートを作成する。
図14は、本発明に係るユーザに提供されるレポートの例を示す図である。レポート1400にはネットワークデバイスの稼働状況(処理回数や障害履歴など)の期間内の統計データなどが含まれている。ネットワークデバイスの一例である画像形成装置を例に挙げると、指定月や対象年における印刷枚数の合計など、様々な情報を含めることが可能である。図13で示すダウンロードボタン1303を介した要求に従い、このような内容を含むレポートファイルがダウンロードできる。
以上が、実施例1に係る説明である。
(実施例2)
実施例1の図9で示す処理を一部変更することでも、実施例1と同様の効果が得られる。実施例2では、そのような処理について説明する。
図15は、実施例1の図9の変形例である。なお、実施例2については、図9以外のシステム構成や処理については、実施例1と同様であるため、その説明を省略する。
S1501で、受信部202が、提供部201が提供したGUIを通じて入力された要求を受信する。
S1502で、登録部203は、図8で示す集計状態テーブルを参照し、受信した要求で指定される対象期間が締め済みであるか否かを判定する。締め済み場合にはS1503に進み、そうでないと判定された場合にはS1504に進む。
S1503で、登録部203は、レポートキュー107に、直接、受信した要求で指定された内容を属性情報として含むジョブを投入する。このジョブは、レポート作成サーバ108にレポート作成を実行させるためのジョブである。S1504で、登録部203は、締め前キュー104に、受信した要求で指定された内容を属性情報として含むジョブを投入する。以上で、本処理は終了する。
本処理に依れば、締め済みの期間のデータを利用するレポート作成要求に対応するジョブについては、集計処理をスキップして、レポート作成サーバ108に優先的に処理させるような構成をとっている。これにより、実施例1と同様に、複数のユーザがほぼ同時にレポート作成のための要求を指示した場合などに、それらユーザの待ち時間を軽減できるといった効果が期待できる。
なお、実施例2では、締め済みキュー105を情報処理システム100で用意することなく、実現できる手法である。締め済みキュー105を用意しない場合には、実施例1の図10のS1002、S1003、図11のS1101といった処理についても省略することになる。
(実施例3)
本実施例では、情報処理システム100が、各キューで管理されているジョブ数を監視する構成をさらに備える形態について説明する。本実施例は、監視の結果、各キューに設定されたジョブ数の上限(閾値)を超えた場合に、集計サーバ106をスケールアウトまたはスケールアップさせる。なお、本実施例の他の処理については、上述した実施例とほぼ同様の構成をとるため、差分についてのみ説明を行う。
集計サーバ106は、1以上の仮想マシンにより実現されている。仮想マシンを提供するクラウドサービスは、集計サーバ106として機能する仮想マシンの台数を増加(スケールアウト)させたり、集計サーバ106として機能する仮想マシンの処理能力を向上(スケールアップ)させたりできる。これにより、処理すべきジョブが多い場合であっても、集計サーバ106により処理が滞ることを抑制できる。なお、各キューで管理されているジョブ数が少ない場合に、スケールインまたはスケールダウンさせることも可能である。
図16は、実施例3に係るネットワークシステムの構成の一例を示す図である。図1と比較し、キュー監視110をさらに持ち、集計サーバ106が複数台構成となっている点が異なる。
キュー監視部110は、通常キュー103、締め前キュー104および締め済みキュー105のジョブ数を監視する。キューが保持するジョブ数が予め定められた閾値を超えた場合、キュー監視部110は集計サーバ106をスケールアウトまたはスケールアップさせる。
なお、ジョブ数の閾値はキューごとに異なる値に設定することが可能である。本実施例では、通常キュー103は50件、締め前キュー104は10件のように、通常キュー103に対して締め前キュー104の閾値を相対的に低くする。これによって、レポート作成がユーザに要求された際、早めに集計サーバ106をスケールアウトまたはスケールアップさせることで、ユーザにレポートを提供するまでの時間を短縮することが可能である。
なお、本実施例では、キュー監視部110は、情報処理システム100内の他のサーバとは異なる仮想マシンで実現されているように記載している。しかしながら、フロントサーバ102、集計サーバ106に、同様のキュー監視の機能を組み込むことも可能である。
(実施例4)
本実施例については、実施例1におけるフロントサーバ102による処理の変形例について説明する。なお、本実施例の他の処理については、上述した実施例とほぼ同様の構成をとるため、差分についてのみ説明を行う。
本実施例は、フロントサーバ102が締め前キュー104にジョブを投入した際に、該ジョブと処理対象が重複する通常キュー103のジョブを削除するよう構成される。これにより、集計サーバ106による無駄な集計処理などが削減できる。
図17は、本実施例に係るフロントサーバ102による処理要求を受信した場合の処理を説明するためのフローチャートである。
S1701で、フ受信部202が、提供部201が提供したGUIを通じて入力された要求を受信する。S1702では、処理対象が重複しているジョブの削除処理(図18)を実行する。
図18は、本実施例に係るフロントサーバ102によるジョブの削除処理の流れの例を説明するためのフローチャートである。
S1801で、登録部203は、図8で示す集計状態テーブルを参照し、受信した要求で指定される対象期間が締め済みであるか否かを判定する。締め済みと判定された場合にはS1802に進み、そうでないと判定された場合にはS1803に進む。S1802で、登録部203は、締め済みキュー105に、受信した要求で指定された内容を属性情報として含むジョブを投入する。S1803で、登録部203は、締め前キュー104に、受信した要求で指定された内容を属性情報として含むジョブを投入する。
S1804で、登録部203は、投入したジョブと同じ属性情報を含むジョブが通常キュー103に存在するかを判定する。例えば、図4の対象ユーザ401、対象期間402と、図5の対象ユーザ501、対象期間502と、が重複する内容であるジョブがあるかどうかが判定される。S1804で存在すると判定された場合にはS1805で、登録部203が通常キュー103から属性情報が重複するジョブを削除する。以上で、本処理は終了する。
(実施例5)
本実施例は、実施例1とは異なる方法で、複数のキューから集計サーバ106がジョブを取得する方法について説明する。具体的には、実施例1の図10の処理の変形例について説明する。なお、本実施例の他の処理については、上述した実施例とほぼ同様の構成をとるため、差分についてのみ説明を行う。
図19は、実施例5に係る集計サーバ106によるジョブ取得処理を説明するためのフローチャートである。集計サーバ106は、S1900〜S1916までの処理を繰り返す。
S1901〜S1905では、集計サーバ106は、締め済みキュー105に対して設定された重み付けの値の回数分だけ、繰り返して処理を行う。
S1902で、選択部301は、締め済みキュー105でジョブが管理されているか否かを判断する。締め済みキュー105でジョブが管理されていた場合にはS1903に進み、管理されていなかった場合にはS1906に進む。S1903では、選択部301が、締め済みキュー105から先頭のジョブを取得する。S1904では、切替部302が、切替処理(図11)を実行する。
S1906〜S1910では、集計サーバ106は、締め前キュー104に対して設定された重み付けの値の回数分だけ、繰り返して処理を行う。
S1907では、選択部301は、締め前キュー104でジョブが管理されているか否かを判断する。締め前キュー104でジョブが管理されている場合にはS1908に進み、管理されていなかった場合にはS1911に進む。S1908では、選択部301が、締め前キュー104から先頭のジョブを取得する。S1909では、切替部302が、切替処理(図11)を実行する。
S1911〜S1915では、集計サーバ106は、通常キュー103に対して設定された重み付けの値の回数分だけ、繰り返して処理を行う。
S1912では、選択部301は、通常キュー103でジョブが管理されているか否かを判断する。通常キュー103でジョブが管理されている場合にはS1913に進み、管理されていなかった場合にはS1916に進む。S1913では、選択部301が、通常キュー103から先頭のジョブを取得する。S1914では、切替部302が、切替処理(図11)を実行する。
図20は、各キューに設定された重み付けを管理するテーブルの例を示す図である。当該テーブルは、DB109で格納される。
集計サーバ106の選択部301は、図19で示す処理で、このテーブルを参照する。例えば、S1901〜S1905では、締め済みキュー105に対応する行2013を参照して、6回まで繰り返し処理をすることになる。なお、このテーブルの重みづけを示す数値は、システム管理者などにより任意に変更可能である。
本実施例に依れば、複数のキューを所望の重み付けに従う優先度に応じて、各キューからジョブを取得することが可能となる。
(実施例6)
本実施例では、実施例5で設定していた各キューに対する重みの設定を自動で更新する処理について説明する。本実施例のシステム構成としては、図16に示す構成とする。
図21は、実施例6に係るキュー監視部110による各キューに対する重み付けの変更処理を説明するためのフローチャートである。
キュー監視部110は、S2101〜S2105までの処理を、所定の周期で繰り返し実行する。S2102で、キュー監視部110は、通常キュー103、締め前キュー104、及び締め済みキュー105のそれぞれのジョブ数を取得する。S2103で、キュー監視部110は、取得したジョブ数が最も多いキューの重み付けを示す数値を増やす。例えば、図20で示すテーブルにおける対象キューに対応する数値を1増やすことでテーブルを更新する。なお、重みには最大値を設け、それを超える値には更新しない。S2104で、キュー監視部110は、取得したジョブ数が最も少ないキューの重み付けを示す数値を減らす。例えば、図20で示すテーブルにおける対象キューに対応する数値を1減らすことでテーブルを更新する。なお、重みには最小値(例えば、“1”)を設け、それ未満の値には更新しない。
本実施例により、ジョブの種類ごとにキューに残存するジョブ数を考慮して動的に重み付けを変更することで、滞っている種類のジョブを優先して実行することが可能となる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピュータ(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピュータにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
100 情報処理システム
203 登録部
301 選択部
302 切替部

Claims (4)

  1. 複数のキューで管理されたジョブを処理する情報処理システムであって、
    前記情報処理システム内で定期的に生成される第1のジョブを第1のキューに投入する第1の投入手段と、
    前記情報処理システムが提供する画面を介した入力に対応する要求の受信に応じて生成される第2のジョブを、複数のキューの何れかに投入すべきか判定する判定手段と、
    前記判定手段による判定に従い、前記第2のジョブを複数のキューの何れかに投入する第2の投入手段と、
    前記第2のジョブの処理対象となったデータを用いた情報提供を行う提供手段と、を有し、
    前記判定手段は、前記第2のジョブの処理対象となるデータの処理が完了していない場合には第2のキューに前記第2のジョブを投入すべきと判定し、前記第2のジョブの処理対象となるデータの処理が完了していた場合には第3キューに前記第2のジョブを投入すべきと判定し、
    前記第2のキューで管理された前記第2のジョブが情報処理システムで処理された場合には、前記第3のキューに当該第2のジョブに対応して生成されたジョブが投入され、
    前記提供手段は、前記第3のキューで管理されたジョブの属性情報に従い、前記第2のジョブの処理対象となったデータを用いた情報提供を行うことを特徴とする情報処理システム。
  2. 前記第2の投入手段により前記第2のジョブを前記第2のキューに投入した場合に、前記第2のジョブと同じ属性情報を含む前記第1のキューで管理されている第1のジョブを削除する削除手段を更に有することを特徴とする請求項に記載の情報処理システム。
  3. 前記第1のキューで管理された前記第1のジョブが情報処理システムで処理された場合には、前記第3のキューに当該第1のジョブに対応して生成されたジョブが投入されることを特徴とする請求項1または2に記載の情報処理システム。
  4. 複数のキューで管理されたジョブを処理する情報処理システムにおける制御方法であって、
    前記情報処理システム内で定期的に生成される第1のジョブを第1のキューに投入する第1の投入工程と、
    前記情報処理システムが提供する画面を介した入力に対応する要求の受信に応じて生成される第2のジョブを、複数のキューの何れかに投入すべきか判定する判定工程と、
    前記判定工程での判定に従い、前記第2のジョブを複数のキューの何れかに投入する第2の投入工程と、
    前記第2のジョブの処理対象となったデータを用いた情報提供を行う提供工程と、を有し、
    前記判定工程では、前記第2のジョブの処理対象となるデータの処理が完了していない場合には第2のキューに前記第2のジョブを投入すべきと判定され、前記第2のジョブの処理対象となるデータの処理が完了していた場合には第3のキューに前記第2のジョブを投入すべきと判定され、
    前記第2のキューで管理された前記第2のジョブが情報処理システムで処理された場合には、前記第3のキューに当該第2のジョブに対応して生成されたジョブが投入され、
    前記提供工程では、前記第3のキューで管理されたジョブの属性情報に従い、前記第2のジョブの処理対象となったデータを用いた情報提供が行われることを特徴とする制御方法。
JP2015115168A 2015-06-05 2015-06-05 情報処理システム、およびその制御方法 Active JP6501632B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015115168A JP6501632B2 (ja) 2015-06-05 2015-06-05 情報処理システム、およびその制御方法
US15/168,625 US10120723B2 (en) 2015-06-05 2016-05-31 Information processing system and control method for processing jobs in plurality of queues

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015115168A JP6501632B2 (ja) 2015-06-05 2015-06-05 情報処理システム、およびその制御方法

Publications (3)

Publication Number Publication Date
JP2017004121A JP2017004121A (ja) 2017-01-05
JP2017004121A5 JP2017004121A5 (ja) 2018-07-05
JP6501632B2 true JP6501632B2 (ja) 2019-04-17

Family

ID=57451746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015115168A Active JP6501632B2 (ja) 2015-06-05 2015-06-05 情報処理システム、およびその制御方法

Country Status (2)

Country Link
US (1) US10120723B2 (ja)
JP (1) JP6501632B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020024482A (ja) * 2018-08-06 2020-02-13 京セラドキュメントソリューションズ株式会社 処理実行システムおよび処理実行プログラム
US20230412467A1 (en) * 2022-06-21 2023-12-21 Arista Networks, Inc. Centralized network multicast state publication

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5170340A (en) * 1990-09-28 1992-12-08 Xerox Corporation System state controller for electronic image processing systems
JPH08272739A (ja) * 1995-03-31 1996-10-18 Hitachi Software Eng Co Ltd オンライン・レスポンス向上方法
US5923826A (en) * 1997-01-21 1999-07-13 Xerox Corporation Copier/printer with print queue disposed remotely thereof
JP2000081986A (ja) * 1998-09-07 2000-03-21 Hitachi Information Systems Ltd クライアント・サーバ型業務処理システムのジョブ管理方法およびそのプログラムを格納した記録媒体
JP4109770B2 (ja) * 1998-12-02 2008-07-02 キヤノン株式会社 通信制御方法及び機器
JP3990833B2 (ja) * 1998-12-11 2007-10-17 キヤノン株式会社 通信制御方法及び装置
US7996507B2 (en) * 2002-01-16 2011-08-09 International Business Machines Corporation Intelligent system control agent for managing jobs on a network by managing a plurality of queues on a client
US7787138B2 (en) * 2005-05-25 2010-08-31 Xerox Corporation Scheduling system
JP4958706B2 (ja) * 2007-09-27 2012-06-20 キヤノン株式会社 印刷システム及びその制御方法、記憶媒体、並びにプログラム
JP5124375B2 (ja) 2008-07-18 2013-01-23 Kddi株式会社 情報処理装置
JP4729611B2 (ja) * 2008-10-30 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ イベントキュー管理装置及びイベントキュー管理方法
KR101658035B1 (ko) * 2010-03-12 2016-10-04 삼성전자주식회사 가상 머신 모니터 및 가상 머신 모니터의 스케줄링 방법
JP5418450B2 (ja) * 2010-09-16 2014-02-19 カシオ電子工業株式会社 印刷装置
JP6364738B2 (ja) * 2013-01-11 2018-08-01 株式会社リコー 情報処理システム、情報処理装置、プログラム及び処理実行方法
US9674086B2 (en) * 2013-11-05 2017-06-06 Cisco Technology, Inc. Work conserving schedular based on ranking

Also Published As

Publication number Publication date
US10120723B2 (en) 2018-11-06
JP2017004121A (ja) 2017-01-05
US20160357609A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
Bilal et al. Towards automatic parameter tuning of stream processing systems
US10831633B2 (en) Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system
US10013278B2 (en) Methods and systems for batch processing in an on-demand service environment
US10353957B2 (en) Processing of performance data and raw log data from an information technology environment
US10997191B2 (en) Query-triggered processing of performance data and log data from an information technology environment
Venugopal et al. A grid service broker for scheduling e‐science applications on global data grids
US8965860B2 (en) Methods and systems for bulk uploading of data in an on-demand service environment
US20190179815A1 (en) Obtaining performance data via an application programming interface (api) for correlation with log data
US8776065B2 (en) Real time monitoring and tracing of scheduler decisions
CN112753019A (zh) 按需代码执行系统中执行环境的有效状态维持
US20170255683A1 (en) Processing of Performance Data and Structure Data by Thresholding Log Data
JP6150453B2 (ja) サーバ装置、システム、およびログ収集支援方法
US20070024898A1 (en) System and method for executing job step, and computer product
US10585680B2 (en) Dynamic dashboard with intelligent visualization
US20170255639A1 (en) Processing of Performance Data and Structure Data from an Information Technology Environment
US8910128B2 (en) Methods and apparatus for application performance and capacity analysis
KR20220002070A (ko) Dag 상호 작용을 기반으로 한 스트리밍 컴퓨팅 방법 및 장치
US10452463B2 (en) Predictive analytics on database wait events
CN111475506B (zh) 数据存储、查询的方法、装置、系统、设备、存储介质
Hirales-Carbajal et al. A grid simulation framework to study advance scheduling strategies for complex workflow applications
CN109885624A (zh) 数据处理方法、装置、计算机设备和存储介质
Kumar et al. Scheduling batch and heterogeneous jobs with runtime elasticity in a parallel processing environment
JP6501632B2 (ja) 情報処理システム、およびその制御方法
US11620310B1 (en) Cross-organization and cross-cloud automated data pipelines
Bardhan et al. The Anatomy of MapReduce Jobs, Scheduling, and Performance Challenges.

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180524

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190319

R151 Written notification of patent or utility model registration

Ref document number: 6501632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151