JP2018063672A - メッセージ実行サーバー、制御方法、およびプログラム - Google Patents

メッセージ実行サーバー、制御方法、およびプログラム Download PDF

Info

Publication number
JP2018063672A
JP2018063672A JP2016202963A JP2016202963A JP2018063672A JP 2018063672 A JP2018063672 A JP 2018063672A JP 2016202963 A JP2016202963 A JP 2016202963A JP 2016202963 A JP2016202963 A JP 2016202963A JP 2018063672 A JP2018063672 A JP 2018063672A
Authority
JP
Japan
Prior art keywords
message
queue
acquired
execution
processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2016202963A
Other languages
English (en)
Inventor
哲也 松本
Tetsuya Matsumoto
哲也 松本
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 JP2016202963A priority Critical patent/JP2018063672A/ja
Priority to US15/730,546 priority patent/US10693995B2/en
Publication of JP2018063672A publication Critical patent/JP2018063672A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

【課題】 メッセージ実行サーバーの長時間の占有を防止し、キュー内のメッセージの処理の登録順をある程度維持しつつ均等に実行していくための仕組みを提供することを目的とする。
【解決手段】 本発明は、メッセージ登録サーバーによりキューに登録されたメッセージに基づく処理を実行するメッセージ実行サーバーであって、メッセージをキューから取得する取得手段と、前記取得手段が取得したメッセージに基づく処理を実行する実行手段と、前記取得したメッセージに基づく処理を前記実行手段が実行してから所定時間が経過した際に中断された該メッセージに基づく残りの処理についてのメッセージを前記キューに登録する登録手段と、を有し、前記登録手段により登録されるメッセージに対しては、前記登録されるメッセージを前記キューから取得不可とする期間を示す遅延時間が設定されることを特徴とする。
【選択図】 図1

Description

本発明は、キューのメッセージに基づく処理を実行するメッセージ実行サーバー、制御方法、およびプログラムに関する。
インターネット上にあるサーバーで動作する各種アプリケーションを利用することができるサービスとして、クラウドサービスがある。IaaSやPaaSなどのクラウドサービスでは、クラウドサービスベンダーが、インターネット上のデータセンターなどに存在するサーバーコンピューター上で動作する仮想マシンやストレージなどのリソースをシステム管理者に提供する。仮想マシンとは、仮想化技術によって、サーバーを物理的な構成にとらわれずに論理的な単位で分割し、分割されたそれぞれで独立したオペレーティングシステムをもって動作する論理的なコンピューターである。システム管理者は、クラウドサービスベンダーによって提供される仮想マシンやストレージなどのリソースを用いて、独自のサービスを提供するためのシステムを構築することができる。
クラウドサービスを用いて構築されるシステムは、非同期または定期的にデータの処理を実行するためにメッセージキュー(以降、キューと呼ぶ)が利用されることがある。キューには、処理対象のデータに対応するメッセージが格納される。このメッセージを処理する機能を備える仮想マシンは、キューに格納されるメッセージを取得し、メッセージに記述された処理内容に従って処理を実行する。
特許文献1には、キューに格納されているメッセージの数に応じて、メッセージに基づく処理を実行するインスタンスの数が増減するように制御するための仕組みが開示されている。
特開2015−72716号公報
上述したようなキューを利用したシステムにおいて、1つのメッセージの処理に要する時間は、メッセージの処理内容などによって異なる場合がある。そのため、メッセージ実行サーバー(インスタンス)が、処理時間の長いメッセージの処理のために長時間を占有され、キューに登録される他のメッセージの処理の開始が遅れてしまう場合がある。
上述した特許文献1の仕組みによって、キューに格納されているメッセージの数が規定値以上である場合に、メッセージに基づく処理を実行するインスタンスの数が増える。しかしながら、それらインスタンスが取得した各メッセージの処理に長時間かかる場合、結局、その他のメッセージの処理の開始が遅れてしまう。
ここで、登録されるメッセージの要求元となるサービス利用者のそれぞれに対しては、均等にクラウドサービスのリソースが割り当てられる状態にしておくことが望ましい。
そこで、本発明は、このようなインスタンスの長時間の占有を防止し、キュー内のメッセージの処理の登録順をある程度維持しつつ均等に実行していくための仕組みを提供することを目的とする。
上記課題を解決するために、本発明は、メッセージ登録サーバーによりキューに登録されたメッセージに基づく処理を実行するメッセージ実行サーバーであって、メッセージをキューから取得する取得手段と、前記取得手段が取得したメッセージに基づく処理を実行する実行手段と、前記取得したメッセージに基づく処理を前記実行手段が実行してから所定時間が経過した際に中断された該メッセージに基づく残りの処理についてのメッセージを前記キューに登録する登録手段と、を有し、前記登録手段により登録されるメッセージに対しては、前記登録されるメッセージを前記キューから取得不可とする期間を示す遅延時間が設定されることを特徴とする。
本発明によれば、メッセージ実行サーバーの長時間の占有を防止し、キュー内のメッセージの処理の登録順をある程度維持しつつ均等に実行していくことが可能となる。
本発明の実施形態におけるシステムの全体構成例を示す図 情報処理装置の内部構成の一例を示す図 メッセージ登録サーバー105の機能構成の一例を示す図 メッセージ実行サーバー107の機能構成の一例を示す図 分割設定テーブルの一例を示す図 メッセージ管理テーブルの一例を示す図 キューに登録するメッセージの一例を示す図 メッセージ登録処理の手順例を示すフローチャート メッセージ実行処理の手順例を示すフローチャート 実施例2におけるメッセージ実行サーバー107の機能構成の一例を示す図 中断設定テーブルの一例を示す図 実施例2におけるメッセージ管理テーブルの一例を示す図 実施例2におけるメッセージ登録処理の手順例を示すフローチャート 実施例2におけるメッセージ実行処理の手順例を示すフローチャート 優先キューと通常キューの構成を示す模式図
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(実施例1)
<システム構成>
図1は、本発明の実施形態におけるシステムの全体構成例を示す図である。
図1において、情報処理システム101は、クラウドサービスで提供されるプラットフォームやリソースを利用して構築されるシステムである。クラウドサービスは、リソースとして、例えばインターネット上のデータセンターに存在するサーバーコンピューター上で動作する複数の仮想マシンやストレージなどを提供する。Webサーバー103、スケジューラー104、メッセージ登録サーバー105、キュー106、メッセージ実行サーバー107、データストア108を含む。情報端末102、Webサーバー103、スケジューラー104、メッセージ登録サーバー105、キュー106、メッセージ実行サーバー107、データストア108は、インターネットなどの既知の技術により相互にアクセス可能に接続されている。
情報端末102はPC(Personal Computer)などであり、情報処理システム101が提供するサービスを利用するユーザーが使用する端末である。ユーザーは、情報処理システム101が提供するWebページを通して、情報処理システム101に処理の実行指示をする。
Webサーバー103は、ユーザーがサービスを利用するためのWebページを提供する。Webサーバー103は、Webページを通してユーザーからの処理の実行指示を受信する。そして、Webサーバー103は、ユーザーが指示された処理を実行するためのメッセージの登録要求を、メッセージ登録サーバー105に送信する。
スケジューラー104は、メッセージ登録サーバー105に対して定期処理の実行指示をする。定期処理とは、情報処理システム内で管理するデータの定期集計処理や、定期削除処理などである。スケジューラー104は、予め設定された定期処理の実行時刻になると、定期処理を実行するためのメッセージの登録要求を、メッセージ登録サーバー105に送信する。
メッセージ登録サーバー105は、メッセージを作成してキューに登録する。メッセージ登録サーバー105は、Webサーバー103またはスケジューラー104からメッセージ登録要求を受信すると、メッセージを作成し、作成したメッセージをキュー106に登録する。
キュー106は、メッセージ登録サーバー105により登録されたメッセージを格納する。
メッセージ実行サーバー107は、キューに登録されたメッセージを取得し、メッセージで指示された処理を実行する。メッセージ実行サーバー107は、一つのキューに対して一台以上存在する。ここで、メッセージ実行サーバー107は、キューに登録されたメッセージ数の増減に応じ、台数を増減するように構成しても良い。以降の説明において、このメッセージ実行サーバーの台数を増減するための設定をオートスケール設定と呼ぶ。
データストア108は、情報処理システム101が管理する各種データを格納する。
ここで、キュー106の仕組みについて説明する。キューに格納されるメッセージは、キューから取得されるだけではキューから削除されたことにはならない。メッセージ実行サーバーによるメッセージの処理が完了した後、キューに対してそのメッセージの削除指示が行われてから、そのメッセージが削除されることとなる。
また、キューの機能として、キューに登録されたメッセージを、メッセージ実行サーバー107が取得してから第1の所定時間が経過するまでの間、他のメッセージ実行サーバーがキュー内のそのメッセージを取得できない状態にする機能がある。このメッセージの状態のことを不可視状態と呼ぶ。また、この第1の所定時間を不可視時間と呼ぶ。この機能により、複数のメッセージ実行サーバーが、同一メッセージを取得して処理を実行することがないように制御できる。なお、メッセージが取得された後、不可視時間が経過すると、キュー内でそのメッセージの状態が可視状態に戻る。例えば、メッセージ実行サーバーがメッセージの処理に失敗して、その後そのメッセージの不可視時間が経過して可視状態となった場合、いずれかのメッセージ実行サーバー107がそのメッセージを取得して処理をリトライできる。
また、キューの別の機能として、キューにメッセージが登録されてから第2の所定時間が経過するまでの間、キュー内でその登録されたメッセージを不可視状態にする機能がある。この第2の所定時間を、遅延時間と呼ぶ。この機能により、キューに登録されたメッセージを不可視状態とする期間を設定できる。キューの仕様上、メッセージの先入れ先出しが必ずしも保証されているわけではない。そのため、キューに登録された順でのメッセージ取得が実現されない場合がある。例えば、後段のメッセージに遅延時間を設定することで、確実に登録順を維持するといったことが可能である。
さらに、不可視時間および遅延時間は、キューまたは個々のメッセージに対して設定することができる。不可視時間および遅延時間が、キューに対して設定された場合、その数値がデフォルト値として使用される。キューに対して設定する不可視時間は、メッセージの処理に要する時間や処理失敗時のリトライ間隔を考慮し、各処理で適切な値を設定する必要がある。また、本実施例において、キューに対して設定する遅延時間(デフォルト値)は、0とする。つまり、メッセージに対して不可視時間および遅延時間を設定せずにキューに登録した場合、キューに対して設定した不可視時間および遅延時間がメッセージに適用される。一方、メッセージに対して不可視時間および遅延時間を設定してキューに登録した場合、メッセージに対して設定した不可視時間および遅延時間が優先される。なお、不可視時間は、メッセージをキューに登録後に更新することもできる。キューに登録されたメッセージの不可視時間を更新した場合、更新時点から更新後の値が適用される。例えば、不可視時間が60秒に設定されているメッセージを取得してから20秒経過後に、不可視時間を60秒で更新すると、メッセージは更新時点から60秒後に可視状態になる。
本実施例では、情報処理システムが実行する処理種類別に一つのキュー106がある例を示す。例えば、データの集計処理を実行するためのメッセージを登録するキューと、データの削除処理を実行するためのメッセージを登録するキューは、別のキューとする。さらに、メッセージ登録サーバー105は、一つのキューに対して一台存在する。そのため、Webサーバー103およびスケジューラー104は、メッセージ登録要求送信先のメッセージ登録サーバーを処理に応じて判断する。つまり、本実施例では、情報処理システムが実行する処理種類別に、メッセージ登録サーバー105とキュー106とメッセージ実行サーバー107との組み合わせが、複数存在する例を示す。処理種類を適当な単位でグループ化して一つのキューを使用するように構成しても良い。また、メッセージ登録サーバー105を適当な単位で集約するように構成しても良い。
<情報処理装置の内部構成>
図2は、情報端末102や、情報処理システム101が構築されるデータセンター上のサーバーコンピューターなどの情報処理装置の内部構成の一例を示す図である。
情報処理装置は、記憶装置であるハードディスクドライブ(HDD)210に記憶されたソフトウェアを実行するCPU201を備える。CPU201は、システムバス204に接続される各ハードウェアを総括的に制御する。
メモリー202は、CPU201の主メモリー、ワークエリア等として機能する。
ネットワークインターフェースカード(NIC)203は、ネットワークを介して、他のノードと双方向にデータをやりとりする。
キーボードコントローラー205は、PCに備えられたキーボード206からの指示入力を制御する。なお、情報処理装置の役割によっては、キーボードコントローラー205、キーボード206がない構成でも良い。
ディスプレイコントローラー207は、例えば液晶ディスプレイなどで構成される表示モジュール208の表示を制御する。なお、情報処理装置の役割によっては、ディスプレイコントローラー207、表示モジュール208がない構成でも良い。
ディスクコントローラー209は、大容量記憶装置であるハードディスクドライブ(HDD)210を制御する。
<メッセージ登録サーバーの機能構成>
図3は、メッセージ登録サーバー105の機能構成の一例を示す図である。
要求受信部301は、Webサーバー103またはスケジューラー104からメッセージ登録要求を受信する。登録部302は、メッセージ登録要求受信後に、要求された処理のメッセージを作成し、キュー106にメッセージを登録する。メッセージ登録処理の詳細については後述する。
<メッセージ実行サーバーの機能構成>
図4は、メッセージ実行サーバー107の機能構成の一例を示す図である。
取得部401は、キューに登録されたメッセージを取得する。実行部402は、メッセージ取得後に、メッセージで指示される処理を実行する。削除部403は、メッセージ実行後に、実行したメッセージをキューから削除するための指示を行う。メッセージ実行処理の詳細については後述する。
<分割設定テーブル>
図5は、図1で示したデータストア108が保持し、メッセージ登録処理で使用する分割設定情報の構成の一例を示す、分割設定テーブルの図である。本実施例では、メッセージ登録サーバー105が、要求された処理を所定の単位で分割してメッセージを作成しキューに登録する。分割設定とは、情報処理システムが実行する各種非同期処理や定期実行処理を、どのように分割するかを示す設定である。
例えば、メッセージに基づく処理がデータをシステム内のデータベースに登録するという処理である場合、メッセージ1つあたりの処理時間は登録対象のデータの数に依存する。したがって、分割後のメッセージ1つあたりの処理時間がおおよそ同程度となるように、メッセージ1つあたりの処理対象のデータ数を定める必要がある。
図5において、501の列は処理IDであり、情報処理システムが実行する各種非同期処理や定期実行処理をシステム内で一意に識別するIDを示す。
502の列は分割単位情報、503の列は一処理あたりのデータ数情報であり、処理を所定の単位で分割するために使用する。例えば、要求された処理が、ログデータのインポート処理(Import Data)で対象ログ数が5000件の場合、ログ数(分割単位)が1000件(一処理あたりのデータ数)ごとに処理を5分割する。また、要求された処理が、ログデータのエクスポート処理(Export Data)で対象日数が6月1日から6月25日の場合、日数(分割単位)が10日(一処理あたりのデータ数)ごとに処理を3分割する。キューに対して設定された不可視時間(デフォルト値)や、オートスケール設定を考慮すると、キューの各メッセージの処理時間は同等になっている方が良い。そのため、分割単位情報502および一処理あたりのデータ数情報503は、各メッセージの処理時間が同等になるように設定する。
504の列は単位遅延時間であり、分割した各メッセージに対して設定する遅延時間を計算するために使用する単位時間である。遅延時間の計算方法の詳細については後述する。ここで、情報処理システムがバックエンドで実行するのみで、処理に時間がかかってもユーザーに影響がない処理については、単位時間を0に設定しておく。詳細は後述するが、これによりメッセージに設定する遅延時間も0になり、遅延時間を設定したことによって発生する可能性のある無駄時間を無くすことができる。
<メッセージ管理テーブル>
図6は、図1で示したデータストア108が保持し、メッセージ登録処理およびメッセージ実行処理で使用するメッセージ管理情報の構成の一例を示す、メッセージ管理テーブルの図である。メッセージ管理テーブルでは、各メッセージに関する情報を管理する。利用するキューが分散キューのような場合、キューの性質上、複数のメッセージ実行サーバーが同一メッセージを取得することが起こり得る。複数のメッセージ実行サーバーが同一メッセージを取得した場合であっても同一処理を実行しないようにするため、メッセージ情報としてメッセージの状態を管理する。
図6において、601の列はテナントIDである。テナントIDとは、テナントをシステム内で一意に識別するIDである。本テーブルでは、該当行のメッセージ管理情報がどのテナントのメッセージ管理情報かを示す。本実施例の情報処理システム101では、システムを利用する顧客のデータを、顧客ごとの専用領域であるテナントの単位で管理する。情報処理システムは、複数の顧客から要求を受信して、受信した要求に対応するメッセージを処理する。そのため、例えば、顧客Aから要求を受信した後に、顧客Bから要求を受信した場合であって、顧客Aからの要求に対応するメッセージの処理に長時間かかる場合は、顧客Bは情報処理システムからの応答を長時間にわたって待たなければならないおそれがある。特に、システムからの応答を待っている顧客Bは、処理時間の短い要求をしたにもかかわらず、理由が分からないまま長時間待たされてしまうことになりかねない。したがって、本実施例では、顧客Aの要求に対応するメッセージの処理に、顧客Bの要求に対応するメッセージの処理を割り込ませることを可能とする仕組みを説明する。
602の列は処理IDであり、該当行のメッセージ管理情報がどの処理のメッセージ管理情報かを示す。
603の列はメッセージIDであり、メッセージを各テナントの各種処理内で一意に識別するIDを示す。
604の列は状態情報であり、メッセージの状態を示す。本例では状態として「処理待ち」「処理中」「処理完了」の3つがある。「処理待ち」は、メッセージがキューに登録されてから、キューから取得されて処理が開始されるまでの間の状態を示す。「処理中」は、処理が開始されてから、処理が完了するまでの間の状態を示す。「処理完了」は、処理が完了している状態を示す。状態情報604は、メッセージ登録処理にて登録され、メッセージ実行処理にて更新される。メッセージ実行処理では、メッセージを取得後、処理の実行前にメッセージの状態を確認し、メッセージの状態が「処理待ち」の場合のみ処理を実行するように制御する。これにより、複数のメッセージ実行サーバーが同一メッセージを取得した場合であっても同一処理を実行しないようにできる。
<メッセージ>
図7は、キュー106に登録されるメッセージの一例を示す図である。メッセージには、メッセージ実行サーバー107が処理内容を判断できる情報が含まれる。本例のメッセージは、テナントID701、処理ID702、メッセージID703、対象データ704を含む。対象データ704は、該当メッセージが処理対象とするデータを示す。テナントIDは、要求の送信元の顧客を示すテナントの識別子である。
<メッセージ登録処理>
図8は、メッセージ登録サーバー105が実行するメッセージ登録処理の手順例を示すフローチャートである。本処理は、Webサーバー103またはスケジューラー104からメッセージ登録要求を受信した際に実行する処理である。本処理では、処理を指示するメッセージを分割し、各メッセージに異なる遅延時間を設定する。これにより、特定のメッセージに対する処理が、メッセージ実行サーバーを占有することを防ぎ、メッセージを効率良く処理できるようにする。さらに、メッセージを所定単位で分割することにより、キューに登録されたメッセージ数の増減によるオートスケールも、より適切に行える。
図8のフローチャートで示す処理は、メッセージ登録サーバー105として機能する仮想マシンが動作するサーバーコンピューターのCPU201が、メモリー202やHDD210などに記録されたプログラムを読み出して実行することにより実現される。なお、以降のフローチャートで示す処理についても、同様に、該当する機能の仮想マシンが動作するサーバーコンピューターのCPU201によって実行されるものとする。
メッセージ登録処理を開始すると、S801で、登録部302は、要求された処理に対応する分割設定を取得する。
続いてS802で、登録部302は、S801で取得した分割設定の分割単位情報502、一処理あたりのデータ数情報503にもとづき、処理を分割してメッセージを作成する。
続いてS803で、登録部302は、0をNに代入する。Nは分割して作成したメッセージをキューに一つ登録する度にインクリメントする変数である。
続いてS804で、登録部302は、S802で分割して作成したメッセージの内、S804〜S811のフローを未処理のメッセージについて、一メッセージずつ処理を繰り返す。
続いてS805で、登録部302は、処理中のメッセージのメッセージ管理情報を登録する。ここで、登録するメッセージ管理情報の状態情報604は処理待ちとする。
続いてS806で、登録部302は、処理中のメッセージに設定する遅延時間を計算する。ここで、メッセージを複数に分割した場合、分割後のメッセージそれぞれの遅延時間は異なる値になるように計算する。本実施例では、単位遅延時間504に、現在のNの値を乗算した値を遅延時間とする。例えば処理を5分割した場合、1つ目の処理のメッセージの遅延時間は0分、2つ目は5分、3つ目は10分、4つ目は15分、5つ目は20分となるように計算する。これらのメッセージをキューに登録すると、5つのメッセージは5分間隔で1つずつ可視状態(取得可能な状態)になる。ここで、5分割した処理をテナントAの処理とする。テナントAの5分割した処理のメッセージを登録した3分後に、テナントBの処理のメッセージが登録されたとする。ここで、テナントBの処理は、1つのメッセージであるため、遅延時間は0分と設定されたとする。このとき、テナントAの2つ目のメッセージは、遅延時間を5分と設定しているため不可視状態(取得不可能な状態)である。そのため、メッセージ実行サーバーは、テナントBのメッセージを先に取得する。つまり、テナントAの処理の完了を待たずに、テナントBの処理を実行することができる。このように、処理を指示するメッセージを分割し、各メッセージに異なる遅延時間を設定することにより、特定のメッセージに対する処理が、メッセージ実行サーバーを占有することがなくなり、メッセージを効率良く処理できる。なお、分割したメッセージの処理される順番を考慮して、各メッセージの遅延時間を設定してもよい。
続いてS807で、登録部302は、S806で計算した遅延時間を補正する。補正方法として、メッセージ実行サーバーのオートスケール設定にもとづき、遅延時間を補正することが考えられる。メッセージ実行サーバーの台数を増やすことが可能な場合は、遅延時間をより小さい値に補正する。遅延時間が小さい値になると、取得可能なメッセージ数は増えやすくなる。取得可能なメッセージ数に応じて、メッセージ実行サーバーの台数が増えることになり、処理が効率化される。一方、メッセージ実行サーバーの台数を増やすことが不可能な場合は、遅延時間をより大きい値に補正する。遅延時間が大きい値になると、取得可能なメッセージ数は増えにくくなり、別のメッセージが取得されやすくなる。別の補正方法として、メッセージ管理情報にもとづき、遅延時間を補正することが考えられる。同一テナントの同一処理が処理待ちまたは実行中の場合には、その数に応じて遅延時間に所定時間を加算して補正する。同一テナントの同一処理が多いほど、遅延時間が大きい値になり、別テナントのメッセージが取得されやすくなる。なお、本遅延時間を補正する処理は省略しても構わない。
続いてS808で、登録部302は、S806およびS807で計算した遅延時間を処理中のメッセージに設定する。
続いてS809で、登録部302は、処理中メッセージをキューに登録する。
続いてS809で、登録部302は、Nに1を足した値をNに代入する。つまりNの値をインクリメントする。
続いてS804で、登録部302は、S804〜S811の処理を行っていないメッセージがあるか否かを判定する。ここで、登録部302が、S804〜S811の処理を行っていないメッセージがあると判定した場合はS804に戻り処理を繰り返す。一方、登録部302が、S804〜S811の処理を行っていないメッセージがないと判定した場合は、本処理を終了する。
<メッセージ実行処理>
図9は、メッセージ実行サーバー107が実行するメッセージ実行処理の手順例を示すフローチャートである。本処理は、メッセージ実行サーバー107がキュー106に登録されているメッセージを確認し、取得可能なメッセージがある際に実行する処理である。
メッセージ実行処理を開始するとS901で、取得部401は、取得可能なメッセージをキューから1つ取得する。
続いてS902で、実行部402は、S901で取得したメッセージの管理情報を取得する。
続いてS903で、実行部402は、S901で取得した状態情報604が処理待ちであるか否かを判定する。ここで、実行部402が、状態情報604が処理待ちであると判定した場合はS904に進む。一方、実行部402が、状態情報604が処理待ちではない、つまり処理中か処理完了だと判定した場合は、処理を実行する必要がないと判断し、S901に戻り別のメッセージを処理する。
続いてS904で、実行部402は、S901で取得したメッセージの状態情報604を処理中に変更する。
続いてS905で、実行部402は、S901で取得したメッセージで指示された処理を実行する。
続いてS906で、実行部402は、S901で取得したメッセージの状態情報604を処理完了に変更する。
続いてS907で、削除部403は、S901で取得したメッセージをキューから削除し、S901に戻り別のメッセージを取得して処理する。
本実施例では、メッセージ登録サーバーは、処理時間の長い処理をキューにメッセージ登録する際に、その処理を分割して複数のメッセージを作成し、さらに、それぞれのメッセージに異なる遅延時間を設定した。ただし、本実施例で説明した仕組みを採用するためには、メッセージ実行サーバーの処理負荷がおおよそ均一となるように、メッセージを分割する必要がある。本実施例により、処理時間の長い処理のためにメッセージ実行サーバーが占有されることがなくなるため、他のメッセージの割込みが可能となる。
(実施例2)
実施例2では、本件の課題を解決するための別の実施例について説明する。
実施例1では、キューにメッセージを登録する処理を工夫することによって、課題を解決する方法を示した。実施例2では、キューからメッセージを取得して実行する処理を工夫することによって、課題を解決する方法を示す。
実施例1に示した方法では、要求された処理を分割する必要があった。しかし、処理によっては、分割できない処理も存在する。また、分割できても、分割した処理の実行順序制御や、分割した処理の実行排他制御が必要で、分割したことによって複雑になる処理も存在する。実施例2では、分割できない処理が存在しても、特定のキューメッセージの処理がサーバーを占有することなく、キューメッセージを効率良く処理できる仕組みについて説明する。
なお、以下では実施例1との差分について説明する。
<メッセージ実行サーバーの機能構成>
図10は、実施例2におけるメッセージ実行サーバー107の機能構成の一例を示す図である。本機能構成は、実施例1の図4で示した機能構成を拡張したものである。
401〜403は、実施例1で示した通りである。1001は登録部であり、取得部401が取得したメッセージと同じメッセージをキューに再登録したり、メッセージに基づく処理が中断された場合には残りの処理のみについてのメッセージをキューに登録したりする。
<分割設定テーブル>
実施例2では、実施例1の図5で示した分割設定情報が無い構成でも良い。
<中断設定テーブル>
図11は、図1に示したデータストア108が保持し、メッセージ実行処理で使用する中断設定情報の構成の一例を示す、中断設定テーブルの図である。本実施例では、メッセージ実行サーバー107が、メッセージの処理の実行を開始後、所定時間が経過しても処理が完了しなかった場合、処理を中断する。中断設定では、情報処理システムが実行する各処理が、メッセージの処理の実行を開始してから中断するまでの時間を管理する。
図11において、1101の列は処理IDであり、情報処理システムが実行する各種非同期処理や定期実行処理をシステム内で一意に識別するIDを示す。
1102の列は中断時間であり、該当行の処理が、メッセージの処理の実行を開始してから中断するまでの時間を示す。中断時間は、不可視時間よりも小さい値とするのが望ましく、メッセージの処理に要する時間や、特定メッセージがサーバーを占有してしまっても問題のない時間を考慮し適切な値を設定する。
<メッセージ管理テーブル>
図12は、実施例2におけるメッセージ管理情報の構成の一例を示す、メッセージ管理テーブルの図である。本構成は、実施例1の図6で示した構成を拡張したものである。
601〜604は、実施例1で示した通りである。1201の列は進捗状況情報であり、該当行のメッセージの処理の進捗状況を示す。進捗状況1201は、メッセージ実行処理によって更新される。
<メッセージ登録処理>
図13は、実施例2におけるメッセージ登録サーバー105が実行するメッセージ登録処理の手順例を示すフローチャートである。本処理は、実施例1の図8で示したメッセージ登録処理から、処理の分割および遅延時間の設定に関する処理を除いたものである。
メッセージ登録処理を開始するとS1301で、登録部302は、要求された処理についてメッセージを作成する。
続いてS1302で、登録部302は、S1301で作成したメッセージについてメッセージ管理情報を登録する。ここで、登録するメッセージ管理情報の状態情報604は処理待ちとする。
続いてS1303で、登録部302は、S1301で作成したメッセージをキューに登録し、本処理を終了する。
<メッセージ実行処理>
図14は、実施例2におけるメッセージ実行サーバー107が実行するメッセージ実行処理の手順例を示すフローチャートである。本処理は、実施例1の図9で示したメッセージ実行処理を拡張したものである。本処理では、メッセージの処理の実行を開始後、所定時間が経過しても処理が完了しなかった場合、処理を中断する。そして、中断時点での処理の進捗状況を記録し、キューにメッセージを再登録する。そして、キューから次のメッセージを取得し、次の処理を実行する。これにより、分割できない処理についても、特定のメッセージに対する処理が、メッセージ実行サーバーを占有することを防ぎ、メッセージを効率良く処理できるようにする。
S901〜S904は、実施例1で示した通りである。
S1401で、実行部402は、S901で取得したメッセージで指示された処理に該当する中断設定を取得する。
続いてS1402で、実行部402は、S901で取得したメッセージで指示された処理を実行する。ここで、実行部402は、図7に示したメッセージの内容およびS902で取得した進捗状況1201にもとづき、処理内容を判断し実行する。実行部402は、取得したメッセージのメッセージIDを用いて、進捗状況1201が記録されている場合は、前回実行時の続きから処理を実行すると判断する。さらに、実行部402は、メッセージで指示された処理を開始後、中断時間が経過した場合、または中断時間1102が経過する前に処理が完了した場合、S1403に進む。
続いてS1403で、実行部402は、S1402で実行した処理が完了したか否かを判定する。ここで、実行部402が、処理が完了したと判定した場合はS906に進む。一方、実行部402が、処理が完了していない(中断時間が経過したことで処理を中断した)と判定した場合はS1404に進む。
S906、S907は、実施例1で示した通りである。
S1404で、実行部402は、キューに取得可能なメッセージが存在するか否かを確認する。ここで、キューに取得可能なメッセージが存在する場合はS1405に進む。一方、キューに取得可能なメッセージが存在しない場合はS1410に進む。
続いてS1405で、実行部402は、S1402における処理の進捗状況を、メッセージ管理情報の進捗状況1201に記録する。
続いてS1406で、実行部402は、S901で取得したメッセージの状態情報604を処理待ちに変更する。
続いてS1407で、削除部403は、S901で取得したメッセージをキューから削除する。
続いてS1408で、登録部1001は、S901で取得したメッセージに所定の遅延時間を設定する。利用するキューが分散キューのような場合、キューの性質上、キュー内のメッセージの順序性(先に登録したものが先に取得できる)は出来る限り維持されるが、保障はされないことが考え得る。キューがそのような性質の場合、メッセージに遅延時間を設定することで、遅延時間中に別メッセージを先に取得しやすくする。本処理で設定する遅延時間は、目的上10秒程度にすれば十分であると考えられる。
続いてS1409で、登録部1001は、S901で取得し、S1408で遅延時間を設定したメッセージをキューに登録し、S901に戻り別のメッセージを処理する。
一方S1410で、実行部402は、キュー内に存在するS901で取得したメッセージの不可視時間を更新し、S1402に戻り、現在のメッセージの処理を再開する。キュー内に取得可能なメッセージが無い(待ち状態になっている処理がない)場合は、現在の処理を中断して別メッセージを処理する必要はないため、現在のメッセージの処理を続行するように制御する。現在のメッセージの処理を続行する場合、一つのメッセージの処理時間が本来よりも長くなる。そのため、キュー内のメッセージの不可視時間が経過し可視状態(別サーバーが取得可能な状態)になってしまう可能性がある。よって、本処理で不可視時間を延ばすように更新する。不可視時間を更新する際の値としては、既存のメッセージに設定されている値と同じ値を使用することが考えられる。
なお、S1407において、削除部403は、S901で取得したメッセージをキュー106から削除するための指示をしなくてもよい。その後、キュー106またはそのメッセージに設定されている不可視時間が経過するまでの間、メッセージ実行サーバーは、他のメッセージを取得して処理できる可能性がある。そして、そのメッセージの不可視時間の経過後にそのメッセージは可視状態となり、メッセージ実行サーバーが、そのメッセージを取得し、進捗状況1201に基づいて処理を再開することができる。
また、実行部402によるメッセージの処理が中断された際には、実行部402は残りの処理について新たにメッセージを作成して、登録部1001がそのメッセージをキューに登録してもよい。また、実行部402によるメッセージの処理が中断された際に、元のメッセージを分割して、登録部1001がその分割後のメッセージをキューに登録してもよい。これらの場合には、実行部402は、必ずしもメッセージの処理の進捗状況をデータストア108に記録しなくてもよい。
<優先キューが存在する場合>
情報処理システムが実行する処理の中には、ユーザーおよびスケジューラーの両方からの指示で実行される処理がある。そのような処理について、スケジューラーからの実行指示の直後にユーザーからの実行指示があると、ユーザーから指示された処理は、スケジューラーから指示された定期処理の完了後に実行される。そのため、ユーザーが処理の完了まで待たされる時間は、スケジューラーの定期処理の時間帯か否かで大きく異なるという課題がある。本課題を解決するための仕組みとして、優先キューと通常キューという二つのキューを用いる方法がある。優先キューには、通常キューに登録されるメッセージに優先して処理すべきメッセージを登録可能である。
図15は、図1に示した全体構成の105〜107の部分について、優先キューと通常キューを用いる仕組みにした場合の例を示す図である。メッセージ登録サーバー105は、Webサーバー103からメッセージ登録要求を受信すると、メッセージを作成し、作成したメッセージを優先キュー1501に登録する。一方、メッセージ登録サーバー105は、スケジューラー104からメッセージ登録要求を受信すると、メッセージを作成し、作成したメッセージを通常キュー1502に登録する。メッセージ実行サーバー107は、優先キュー1501および通常キュー1502に登録されたメッセージを取得し、メッセージで指示された処理を実行する。ここで、メッセージ実行サーバー107は、最初に優先キューからメッセージを取得する。そして、優先キューに取得可能なメッセージが存在しない場合に通常キューからメッセージを取得する。この仕組みにより、スケジューラーからの実行指示よりも、ユーザーからの実行指示を優先して処理できる。
優先キューと通常キューを用いる仕組みにした場合、図14に示したS1404の判断では、優先キューのみを確認対象とする。つまり、実行部402は、優先キューに取得可能なメッセージが存在するか否かを確認する。ここで、優先キューに取得可能なメッセージが存在する場合はS1405に進む。一方、優先キューに取得可能なメッセージが存在しない場合はS1410に進む。これにより、ユーザーに影響のない状態では、処理を中断してメッセージを再登録する処理を行わず、メッセージを効率良く処理できる。
本実施例では、メッセージ実行サーバーが、メッセージの処理を中断して、そのメッセージの処理の進捗状況をデータストアに記録して、そのメッセージに遅延時間を設定してそのメッセージをキューに再登録した。本実施例によれば、処理時間の長いメッセージの処理を中断することができるため、他のメッセージの割り込みが可能となる。
(実施例3)
実施例3では、実施例1で示した方法と実施例2で示した方法とを組み合わせた方法を示す。
情報処理システムが実行する処理の中には、処理を分割はできるが、実行時期やユーザーの利用状況によって、分割した各処理の処理時間が大きく異なる場合がある。このような処理の場合は、実施例1だけでは、特定のメッセージの処理が、想定以上にサーバーを占有してしまう可能性がある。実施例3では、分割した各処理の処理時間が大きく異なる処理が存在しても、特定のキューメッセージの処理がサーバーを占有することなく、キューメッセージを効率良く処理できる仕組みについて説明する。
なお、以下では実施例1との差分について説明する。
<メッセージ実行サーバーの機能構成>
実施例2の図10で示した機能構成と同じである。
<中断設定テーブル>
実施例2の図11で示した構成と同じである。
<メッセージ管理テーブル>
実施例2の図12で示した構成と同じである。
<メッセージ実行処理>
実施例2の図14で示したフローチャートと同じである。本処理では、メッセージの処理の実行を開始後、所定時間が経過しても処理が完了しなかった場合、処理を中断する。そして、中断時点での処理の進捗状況を記録し、キューにメッセージを再登録する。そして、キューから次のメッセージを取得し、次の処理を実行する。これにより、分割した処理に長時間かかった場合でも、特定のメッセージに対する処理が、メッセージ実行サーバーを占有することなく、メッセージを効率良く処理できる。
本実施例によれば、分割した各処理の処理時間が大きく異なる処理が存在しても、特定のキューメッセージの処理がサーバーを占有することなく、キューメッセージを効率良く処理できる。
(実施例4)
実施例4では、実施例1から実施例3で示した各方法を、処理によって使い分ける仕組みについて説明する。処理によって各方法を使い分けることで、情報処理システムが実行する各種処理の特性に応じて、キューメッセージをより効率良く処理できる。
なお、以下では実施例3との差分について説明する。
<分割設定テーブル>
実施例4では、情報処理システムが実行する各種処理の内、分割して処理することに適する処理である場合は、当該処理についての分割設定を登録する。例えば、特に並列処理に適する処理について、本テーブルで分割設定を登録する。
<中断設定テーブル>
実施例4では、情報処理システムが実行する各種処理の内、メッセージ実行処理で所定時間経過後に処理を中断する処理について、本テーブルに中断設定を登録する。例えば、特に順序処理に適する処理、分割できない処理、または、分割した各処理の処理時間が大きく異なる処理について、本テーブルに分割設定を登録する。
<メッセージ登録処理>
実施例4では、分割設定テーブルに分割設定が登録されている処理については、図8で示したメッセージ登録処理を実行する。分割設定テーブルに分割設定が登録されていない処理については、図13で示したメッセージ登録処理を実行する。
<メッセージ実行処理>
実施例4では、中断設定テーブルに中断設定が登録されている処理については、図14で示したメッセージ実行処理を実行する。中断設定テーブルに中断設定が登録されていない処理については、図9で示したメッセージ実行処理を実行する。
本実施例によれば、処理によって各方法を使い分けることで、情報処理システムが実行する各種処理の特性に応じて、キューメッセージをより効率良く処理できる。
(他の実施例)
本発明は、上述した実施形態を適宜組み合わせることにより構成された装置あるいはシステムやその方法も含まれるものとする。
ここで、本発明は、上述した実施形態の機能を実現する1つ以上のソフトウェア(プログラム)を実行する主体となる装置あるいはシステムである。また、その装置あるいはシステムで実行される上述した実施形態を実現するための方法も本発明の1つである。また、そのプログラムは、ネットワークまたは各種記憶媒体を介してシステムあるいは装置に供給され、そのシステムあるいは装置の1つ以上のコンピューター(CPUやMPU等)によりそのプログラムが読み出され、実行される。つまり、本発明の1つとして、さらにそのプログラム自体、あるいは当該プログラムを格納したコンピューターにより読み取り可能な各種記憶媒体も含むものとする。また、上述した実施形態の機能を実現する回路(例えば、ASIC)によっても、本発明は実現可能である。
101 情報処理システム
107 メッセージ実行サーバー
401 取得部
402 実行部

Claims (8)

  1. メッセージ登録サーバーによりキューに登録されたメッセージに基づく処理を実行するメッセージ実行サーバーであって、
    メッセージをキューから取得する取得手段と、
    前記取得手段が取得したメッセージに基づく処理を実行する実行手段と、
    前記取得したメッセージに基づく処理を前記実行手段が実行してから所定時間が経過した際に中断された該メッセージに基づく残りの処理についてのメッセージを前記キューに登録する登録手段と、を有し、
    前記登録手段により登録されるメッセージに対しては、前記登録されるメッセージを前記キューから取得不可とする期間を示す遅延時間が設定されることを特徴とするメッセージ実行サーバー。
  2. 前記取得手段は、前記登録手段により登録された前記残りの処理についてのメッセージに対して設定された遅延時間中に、該残りの処理についてのメッセージとは異なる別のメッセージを前記キューから取得し、
    前記実行手段は、前記取得手段により取得された、前記残りの処理についてのメッセージとは異なる別のメッセージに基づく処理を実行することを特徴とする請求項1に記載のメッセージ実行サーバー。
  3. 前記実行手段は、前記取得したメッセージに基づく処理を中断した際に、前記取得したメッセージに基づく処理の進捗状況を前記取得したメッセージの識別子とともにデータストアに記録し、
    前記登録手段は、前記残りの処理についてのメッセージとして、当該中断されたメッセージを再び前記キューに登録し、
    前記実行手段は、前記取得手段が前記キューからメッセージを取得した際に、前記取得したメッセージの識別子を用いて、前記データストアに記録された該メッセージの進捗状況を確認し、確認された進捗状況に従い該メッセージに基づく残りの処理を実行することを特徴とする請求項1または2に記載のメッセージ実行サーバー。
  4. 前記実行手段は、
    前記メッセージ実行サーバーがアクセス可能なデータストアで保持される設定に基づき、前記取得したメッセージに基づく処理を実行してから所定時間が経過した際に、前記取得したメッセージに基づく処理が完了していない場合であって、かつ、前記キューに取得可能なメッセージが残っている場合には、前記取得したメッセージに基づく処理を中断し、
    前記メッセージ実行サーバーがアクセス可能なデータストアで保持される設定に基づき、前記取得したメッセージに基づく処理を実行してから所定時間が経過した際に、前記取得したメッセージに基づく処理が完了していない場合であって、かつ、前記キューに取得可能なメッセージが残っていない場合には、前記取得したメッセージに基づく処理を続行することを特徴とする請求項1乃至3のいずれか1項に記載のメッセージ実行サーバー。
  5. 前記キューには、通常キューと、該通常キューに登録されるメッセージに優先して処理すべきメッセージを登録可能な優先キューとが含まれ、
    前記実行手段は、
    前記メッセージ実行サーバーがアクセス可能なデータストアで保持される設定に基づき、前記取得したメッセージに基づく処理を実行してから所定時間が経過した際に、前記取得したメッセージに基づく処理が完了していない場合であって、かつ、前記優先キューに取得可能なメッセージが残っている場合には、前記取得したメッセージに基づく処理を中断し、
    前記メッセージ実行サーバーがアクセス可能なデータストアで保持される設定に基づき、前記取得したメッセージに基づく処理を実行してから所定時間が経過した際に、前記取得したメッセージに基づく処理が完了していない場合であって、かつ、前記優先キューに取得可能なメッセージが残っていない場合には、前記取得したメッセージに基づく処理を続行することを特徴とする請求項1乃至4のいずれか1項に記載のメッセージ実行サーバー。
  6. 前記メッセージ登録サーバーおよび前記メッセージ実行サーバーを含む情報処理システムを利用する顧客のデータを、該顧客ごとの専用領域で管理しており、
    前記メッセージ登録サーバーは、前記実行手段により実行されるメッセージに対応する要求の送信元である第1の顧客とは異なる第2の顧客から、要求を受信し、
    前記登録手段は、前記第2の顧客から受信した要求に対応するメッセージを前記キューに登録し、
    前記取得手段は、前記第1の顧客から受信した要求に対応するメッセージの処理を中断した場合には、該中断した前記第1の顧客から受信した要求に対応するメッセージを再び取得する前に、前記第2の顧客から受信した要求に対応するメッセージを取得することを特徴とする請求項1乃至5のいずれか1項に記載のメッセージ実行サーバー。
  7. メッセージ登録サーバーによりキューに登録されたメッセージに基づく処理を実行するメッセージ実行サーバーの制御方法であって、
    メッセージをキューから取得する取得工程と、
    前記取得工程で取得されたメッセージに基づく処理を実行する実行工程と、
    前記取得したメッセージに基づく処理が前記実行工程で実行されてから所定時間が経過した際に中断された該メッセージに基づく残りの処理についてのメッセージを前記キューに登録する登録工程と、を有し、
    前記登録工程で登録されるメッセージに対しては、前記登録されるメッセージを前記キューから取得不可とする期間を示す遅延時間が設定されることを特徴とする制御方法。
  8. 請求項1乃至6のいずれか1項に記載の手段としてコンピューターを機能させるためのプログラム。
JP2016202963A 2016-10-14 2016-10-14 メッセージ実行サーバー、制御方法、およびプログラム Pending JP2018063672A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2016202963A JP2018063672A (ja) 2016-10-14 2016-10-14 メッセージ実行サーバー、制御方法、およびプログラム
US15/730,546 US10693995B2 (en) 2016-10-14 2017-10-11 Message execution server and control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016202963A JP2018063672A (ja) 2016-10-14 2016-10-14 メッセージ実行サーバー、制御方法、およびプログラム

Publications (1)

Publication Number Publication Date
JP2018063672A true JP2018063672A (ja) 2018-04-19

Family

ID=61904194

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016202963A Pending JP2018063672A (ja) 2016-10-14 2016-10-14 メッセージ実行サーバー、制御方法、およびプログラム

Country Status (2)

Country Link
US (1) US10693995B2 (ja)
JP (1) JP2018063672A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10552234B2 (en) * 2015-12-10 2020-02-04 Microsoft Technology Licensing, Llc Enhanced notification of editing events in shared documents
JP2022035159A (ja) * 2020-08-20 2022-03-04 富士通株式会社 タスク制御装置およびタスク制御方法
CN112328407A (zh) * 2020-10-20 2021-02-05 北京空间飞行器总体设计部 一种适用于航天器研制管理任务协调的消息传递系统
JP2022124361A (ja) * 2021-02-15 2022-08-25 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011170804A (ja) * 2010-02-22 2011-09-01 Canon Inc ネットワークプリントシステム、ネットワークプリントシステム制御方法、およびそのプログラム
JP5623139B2 (ja) * 2010-06-02 2014-11-12 キヤノン株式会社 クラウドコンピューティングシステム、文書処理方法、及びコンピュータプログラム
JP2012083845A (ja) * 2010-10-07 2012-04-26 Canon Inc クラウドコンピューティングシステム、情報処理方法及びプログラム
JP5602592B2 (ja) * 2010-11-11 2014-10-08 キヤノン株式会社 ネットワークシステム、サーバ、ログ登録方法、及び、プログラム
JP6354387B2 (ja) * 2014-06-30 2018-07-11 富士通株式会社 情報処理装置、情報処理システム及び割込装置制御方法
JP5885818B2 (ja) 2014-12-16 2016-03-16 キヤノン株式会社 情報処理システム、情報処理システム制御方法、およびそのプログラム
JP6405255B2 (ja) * 2015-02-05 2018-10-17 株式会社日立製作所 通信システム、キュー管理サーバ、及び、通信方法

Also Published As

Publication number Publication date
US20180109648A1 (en) 2018-04-19
US10693995B2 (en) 2020-06-23

Similar Documents

Publication Publication Date Title
US11182220B2 (en) Proactive high availability in a virtualized computer system
US20230385051A1 (en) Cloud services release orchestration
US8997093B2 (en) Application installation management by selectively reuse or terminate virtual machines based on a process status
US9792163B1 (en) Decentralized control plane for a computing system
US8276140B1 (en) Adjustable virtual network performance
US10037237B2 (en) Method and arrangement for fault management in infrastructure as a service clouds
US10776099B2 (en) Release orchestration for cloud services
US8260840B1 (en) Dynamic scaling of a cluster of computing nodes used for distributed execution of a program
KR102281739B1 (ko) 리소스 스케줄링 방법, 스케줄링 서버, 클라우드 컴퓨팅 시스템, 및 저장 매체
JP2018063672A (ja) メッセージ実行サーバー、制御方法、およびプログラム
US20140082167A1 (en) Provision of backup functionalities in cloud computing systems
CN103595801B (zh) 一种云计算系统及其虚拟机实时监控方法
CN104850416B (zh) 一种升级系统、方法、装置及云计算节点
US20150237140A1 (en) Data storage systems and methods
JP2017507415A (ja) クラウド環境におけるitインフラ管理のための方法とその装置
US20220012093A1 (en) System and method for optimizing and load balancing of applications using distributed computer clusters
KR102332809B1 (ko) 가상 스트림 및 처리 에이전트를 이용한 스트림 기반 이벤트 처리 기법
JP2009181249A (ja) 仮想マシンサーバ装置、仮想マシンシステム及びそれらに用いる仮想マシン分散方法並びにそのプログラム
JP6562744B2 (ja) システム、及び制御方法
US20230244522A1 (en) Detached Global Scheduler
JP6280237B2 (ja) 計算機システム及びデータ処理方法
JP2018205839A (ja) 情報処理システム、および制御方法
JP7030412B2 (ja) 情報処理システム、及び制御方法
JP2006031096A (ja) 分散処理システムおよびその再起動制御方法および再起動制御プログラム
US20230229475A1 (en) Leader selection and revocation for tasks in a virtualized computing system