JP2013003768A - State management method, processor, and state management program - Google Patents
State management method, processor, and state management program Download PDFInfo
- Publication number
- JP2013003768A JP2013003768A JP2011133160A JP2011133160A JP2013003768A JP 2013003768 A JP2013003768 A JP 2013003768A JP 2011133160 A JP2011133160 A JP 2011133160A JP 2011133160 A JP2011133160 A JP 2011133160A JP 2013003768 A JP2013003768 A JP 2013003768A
- Authority
- JP
- Japan
- Prior art keywords
- processing device
- processing
- acquired
- message
- call
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、分散処理を行う分散システムにおける負荷分散の技術に関する。 The present invention relates to a load distribution technique in a distributed system that performs distributed processing.
分散システムは、複数の処理装置(サーバ)を含み、例えば、これらの処理装置を仮想化することで、所定のセッション制御を実現する。なお、非特許文献2には、分散処理を行うクラスタシステムの技術が開示されている。また、分散システムは、一般的には、複数の振り分け装置を含む。振り分け装置は、端末(クライアント)からセッション接続要求などのメッセージを受信すると、所定の方法に従ってメッセージを処理装置に振り分ける。各処理装置は、振り分けられたメッセージを呼処理し、端末に対して所定のサービスを提供する。
The distributed system includes a plurality of processing devices (servers), and implements predetermined session control by, for example, virtualizing these processing devices. Non-Patent
前記所定の方法としては、例えば、コンシステント・ハッシュ法がある。なお、非特許文献1は、コンシステント・ハッシュ法について開示している。コンシステント・ハッシュ法は、処理装置を識別する処理装置識別子および処理装置に振り分けるメッセージに含まれ、呼処理の対象となるデータの実体を識別するデータ識別子に基づいて、どの処理装置にどのメッセージを振り分けるかを決定する方法である。
An example of the predetermined method is a consistent hash method. Non-Patent
具体的に、どのようにしてメッセージの振り分けが決定されるかを、図7を参照して説明する。図7は、コンシステント・ハッシュ法を説明するための識別子空間の概念図である。処理装置識別子は、例えば、処理装置のIP(Internet Protocol)アドレス、処理装置名などに、ハッシュ関数を作用させて得られた値である。なお、処理装置識別子を得て、識別子空間に配置することを、処理装置識別子を「払い出す」と表現する場合がある。処理装置識別子の払い出しは、振り分け装置が実行する。 Specifically, how message distribution is determined will be described with reference to FIG. FIG. 7 is a conceptual diagram of an identifier space for explaining the consistent hash method. The processing device identifier is, for example, a value obtained by applying a hash function to an IP (Internet Protocol) address, a processing device name, or the like of the processing device. Note that obtaining the processing device identifier and placing it in the identifier space may be expressed as “paying” the processing device identifier. The distribution device executes the distribution of the processing device identifier.
識別子空間は、図7に示すようにリング状で描写されるハッシュ空間である。処理装置識別子は、例えば、その値に基づいて識別子空間において時計回りに昇順に配置される。データ識別子は、その値に基づいてハッシュ空間に写像して配置される、つまり振り分けられる。データ識別子も、その値に基づいて識別子空間において時計回りに昇順に配置される。 The identifier space is a hash space depicted in a ring shape as shown in FIG. The processing device identifiers are, for example, arranged in ascending order in the clockwise direction in the identifier space based on the value. The data identifier is mapped to the hash space based on the value, that is, distributed. Data identifiers are also arranged in ascending order in the clockwise direction in the identifier space based on their values.
このとき、処理装置は、自身の処理装置識別子の直近の処理装置識別子の配置場所から自身の処理装置識別子の配置場所まで時計回りに辿る円弧上に配置されるデータ識別子を含むメッセージを呼処理する。ここで、「直近の処理装置識別子」とは、識別子空間において、対象の処理装置識別子の値よりも小さな値を持つ処理装置識別子のうち最も大きな値を持つ処理装置識別子を意味する。しかし、対象の処理装置識別子の値が識別子空間において、最も小さな値を持つ場合には、直近の処理装置識別子は、識別子空間において、最も大きな値を持つこととする。すると、直近の処理装置識別子の配置場所から対象の処理装置識別子の配置場所まで時計回りに辿る円弧が、対象の処理装置識別子で識別される処理装置がメッセージの呼処理を担当する領域である。 At this time, the processing device performs call processing on the message including the data identifier arranged on the arc that traces clockwise from the location of the processing device identifier nearest to its own processing device identifier to the location of its own processing device identifier. . Here, the “most recent processing device identifier” means the processing device identifier having the largest value among the processing device identifiers having a value smaller than the value of the target processing device identifier in the identifier space. However, when the value of the target processing device identifier has the smallest value in the identifier space, the latest processing device identifier has the largest value in the identifier space. Then, the arc that traces clockwise from the location of the latest processing device identifier to the location of the target processing device identifier is an area in which the processing device identified by the target processing device identifier is responsible for message call processing.
図7によれば、処理装置識別子A、B、Cの値にAの値<Bの値<Cの値という関係があるので、時計回りにA→B→Cの順番に処理装置識別子が配置される。また、データ識別子Xの値は、Aの値<Xの値<Bの値という関係を満たすので、処理装置識別子Aおよび処理装置識別子Bの間に配置される。よって、データ識別子Xを含むメッセージは、処理装置識別子Bで識別される処理装置が呼処理する。なお、処理装置識別子Aで識別される処理装置は、処理装置識別子Cの配置場所から処理装置識別子Aの配置場所まで時計回りに辿る円弧上に配置されるデータ識別子を含むメッセージを呼処理する。 According to FIG. 7, since the values of the processing device identifiers A, B, and C have a relationship of A value <B value <C value, the processing device identifiers are arranged in the order of A → B → C in the clockwise direction. Is done. Further, since the value of the data identifier X satisfies the relationship of A value <X value <B value, it is arranged between the processing device identifier A and the processing device identifier B. Therefore, a message including the data identifier X is subjected to call processing by the processing device identified by the processing device identifier B. The processing device identified by the processing device identifier A performs call processing for a message including a data identifier arranged on an arc that traces clockwise from the arrangement location of the processing device identifier C to the arrangement location of the processing device identifier A.
ところで、処理装置は、メッセージの呼処理を行うために、セッションが開始したことや、セッションが確立中であることなどを示す呼状態を管理する必要がある。元々分散システムに含まれ、呼状態を管理してきた処理装置は、新たなメッセージが振り分けられても、管理してきた呼状態に基づいてそのメッセージの呼処理を行う。しかし、分散システムに新たに増設した処理装置は、コンシステント・ハッシュ法により呼処理の担当が決まったメッセージが振り分けられても、呼状態を持たないために呼処理を行うことができない。 By the way, in order to perform message call processing, the processing device needs to manage a call state indicating that a session has started or that a session is being established. The processing device that has been originally included in the distributed system and has managed the call state performs call processing of the message based on the managed call state even if a new message is distributed. However, the processing device newly added to the distributed system cannot perform call processing because it does not have a call state even if a message assigned to call processing is distributed by the consistent hash method.
そこで、増設した処理装置は、元々呼処理を担当していた処理装置から呼状態を知る。具体的には、増設した処理装置は、分散システムを構成する処理装置のそれぞれに要求を出力し、元々呼処理を担当していた処理装置を探し出す。元々呼処理を担当していた処理装置は、増設した処理装置に対して応答を出力し、呼状態を通知する。 Therefore, the added processing device knows the call state from the processing device originally responsible for the call processing. Specifically, the added processing device outputs a request to each of the processing devices constituting the distributed system, and searches for the processing device originally responsible for call processing. The processing device originally in charge of call processing outputs a response to the added processing device and notifies the call state.
しかし、上記した方法では、分散システムを構成する処理装置の数が多くなるにつれ、前記要求も多くなる。その結果、処理装置の呼処理の遅延化を招き、スケーラビリティの確保が困難になる。
このような事情に鑑みて、本発明は、分散システムにおける処理装置の呼処理の遅延化を抑制することを目的とする。
However, in the above-described method, the number of requests increases as the number of processing devices constituting the distributed system increases. As a result, the call processing of the processing device is delayed, and it becomes difficult to ensure scalability.
In view of such circumstances, an object of the present invention is to suppress delay in call processing of a processing device in a distributed system.
前記課題を解決するため、請求項1に記載の発明は、クライアントにサービスを提供する複数の処理装置と、コンシステント・ハッシュ法により前記クライアントから得られるメッセージを前記処理装置に振り分ける複数の振り分け装置と、が通信可能に接続されている分散システムの処理装置における状態管理方法であって、前記分散システムに増設した処理装置が、前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得ステップと、前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除ステップと、前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定ステップと、前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得ステップと、を実行することを特徴とする。
In order to solve the above-described problem, the invention according to
請求項2に記載の発明は、請求項1に記載の発明において、前記増設した処理装置が、第1の処理装置と、第2の処理装置と、を少なくとも含み、前記第1の処理装置が、前記管理情報取得ステップにおいて、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得し、前記削除ステップにおいて、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得ステップを実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除することを特徴とする。
The invention according to
請求項3に記載の発明は、クライアントにサービスを提供する複数の処理装置と、コンシステント・ハッシュ法により前記クライアントから得られるメッセージを前記処理装置に振り分ける複数の振り分け装置と、が通信可能に接続されている分散システムの処理装置であって、前記分散システムに増設した処理装置が、前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得制御と、前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除制御と、前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定制御と、前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得制御と、を実行することを特徴とする。
The invention according to
請求項4に記載の発明は、請求項3に記載の発明において、前記増設した処理装置が、第1の処理装置と、第2の処理装置と、を少なくとも含み、前記第1の処理装置が、前記管理情報取得制御において、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得し、前記削除制御において、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得制御を実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除することを特徴とする。
The invention according to
請求項5に記載の発明は、クライアントにサービスを提供する複数の処理装置と、コンシステント・ハッシュ法により前記クライアントから得られるメッセージを前記処理装置に振り分ける複数の振り分け装置と、が通信可能に接続されている分散システムの処理装置を、コンピュータとして機能させる状態管理プログラムであって、前記分散システムに増設した処理装置に、前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得処理と、前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除処理と、前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定処理と、前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得処理と、を実行させることを特徴とする。 In the invention according to claim 5, a plurality of processing devices that provide services to clients and a plurality of distribution devices that distribute messages obtained from the clients to the processing devices by a consistent hash method are communicably connected. The distributed management system is a state management program for causing a computer to function as a computer, and is added to the processing system added to the distributed system by the consistent hash method for each processing system including the added processing system. Management information acquisition processing for acquiring management information including the paid-out processing device identifier from the distribution device, and when the message is acquired from the distribution device, the management information acquired is paid out from the acquired management information to the added processing device. Delete processing to delete the processed processing device identifier, and the tube after the deletion Based on the information, a charge identification process that identifies the processing device that was in charge of the call processing of the acquired message, and call state data that indicates the progress of the call processing of the acquired message is acquired from the specified processing device Call state data acquisition processing to be executed.
請求項6に記載の発明は、請求項5に記載の発明において、前記増設した処理装置が、第1の処理装置と、第2の処理装置と、を少なくとも含み、前記第1の処理装置に、前記管理情報取得処理において、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得させ、前記削除処理において、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得処理を実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除させることを特徴とする。 The invention according to claim 6 is the invention according to claim 5, wherein the added processing device includes at least a first processing device and a second processing device, and the first processing device includes: In the management information acquisition process, the management information including the processing device identifier paid out to the first processing device and the processing device identifier paid out to the second processing device is acquired from the distribution device. In the deletion process, not only the processing device identifier assigned to the first processing device but also the call state data corresponding to the message acquired from the distribution device even if the call state data acquisition processing is executed. The processing device identifier assigned to the second processing device that has been confirmed to be an additional processing device due to the failure to acquire the processing device identifier is also deleted from the management information. .
請求項1、3、5に記載の発明によれば、分散システムにおける処理装置の呼処理の遅延化を抑制することができる。 According to the first, third, and fifth aspects of the present invention, it is possible to suppress delay of call processing of the processing device in the distributed system.
請求項2、4、6に記載の発明によれば、複数の処理装置を同時増設した場合であっても、呼状態データを持っていないと見込まれる処理装置には元々要求しない。よって、複数の処理装置を同時増設した場合であっても、処理装置の呼処理の遅延化を抑制することができる。 According to the second, fourth, and sixth aspects of the invention, even when a plurality of processing devices are added at the same time, the processing device that is expected not to have call state data is not originally requested. Therefore, even when a plurality of processing devices are added at the same time, delay of call processing of the processing devices can be suppressed.
本発明によれば、分散システムにおける処理装置の呼処理の遅延化を抑制することができる。 ADVANTAGE OF THE INVENTION According to this invention, delay of the call processing of the processing apparatus in a distributed system can be suppressed.
次に、本発明を実施するための形態(以下、「実施形態」という。)について、適宜図面を参照しながら説明する。 Next, modes for carrying out the present invention (hereinafter referred to as “embodiments”) will be described with reference to the drawings as appropriate.
≪構成≫
まず、本実施形態の構成について説明する。
図1は、分散システムの構成図である。この分散システムは、振り分け装置1、処理装置2、クライアント3およびロードバランサ4を含む。この分散システムは、複数の処理装置2などのコンピュータ資源を仮想化し、複数の処理装置2が協調してセッション制御を行い、クライアント3に所定のサービスを提供するクラスタシステムである。前記セッション制御は、例えば、呼制御であり、SIP(Session Initiation Protocol)を使用して、インターネット電話などのサービスが提供される。
≪Configuration≫
First, the configuration of the present embodiment will be described.
FIG. 1 is a configuration diagram of a distributed system. This distributed system includes a
振り分け装置1は、ロードバランサ4から受信したメッセージを例えばコンシステント・ハッシュ法によって、処理装置2に振り分ける。前記メッセージは、例えばSIP信号であり、セッション接続要求などを含む。
処理装置2は、振り分け装置1から振り分けられたメッセージを呼処理し、クライアント3にサービスを提供する。
クライアント3は、メッセージをロードバランサ4に送信し、処理装置2が提供するサービスを利用する。
ロードバランサ4は、クライアント3から受信したメッセージを、例えばラウンドロビンによって、振り分け装置1のそれぞれに振り分ける。
The
The
The
The
振り分け装置1、処理装置2、クライアント3およびロードバランサ4はいずれも、入力部、出力部、制御部および記憶部といったハードウェアを含むコンピュータである。入力部は、例えば、入力インタフェースから構成される。出力部は、例えば、出力インタフェースから構成される。制御部は、例えば、CPU(Central Processing Unit)や専用回路から構成される。記憶部は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリの記憶媒体から構成される。前記制御部がCPUから構成される場合、その制御部を含むコンピュータによる情報処理は、CPUによるプログラム実行処理で実現する。また、そのコンピュータが含む記憶部は、CPUが指令し、そのコンピュータの機能を実現するためのプログラム(状態管理プログラムを含む)を記憶する。これによりソフトウェアとハードウェアの協働が実現される。
The
本実施形態は、前記情報処理を実行させるプログラムによって実現することができ、そのプログラムをコンピュータによる読み取り可能な記録媒体(例:CD−ROM)に記憶して提供することが可能である。また、そのプログラムを、インターネットのネットワークを通して提供することも可能である。 The present embodiment can be realized by a program for executing the information processing, and the program can be provided by being stored in a computer-readable recording medium (eg, CD-ROM). It is also possible to provide the program through an Internet network.
本実施形態の分散システムで使用されるソフトウェアについて説明する。
図2は、(a)振り分け装置で使用されるソフトウェアおよび(b)処理装置で使用されるソフトウェアの構成図である。振り分け装置1は、処理装置検出部101、テーブル取得応答部102および処理装置管理テーブルT1、といった構成要素を備える。また、処理装置2は、増設通知部201、テーブル取得要求部202、呼状態データ取得要求部203、呼状態データ取得応答部204、処理装置管理テーブルT3、および呼状態管理テーブルT2、といった構成要素を備える。
Software used in the distributed system of this embodiment will be described.
FIG. 2 is a configuration diagram of (a) software used in the distribution device and (b) software used in the processing device. The
まず、振り分け装置1について説明する。
処理装置検出部101は、分散システムに処理装置2が増設された旨を検出する。増設された処理装置2については、所定のアルゴリズムに従って、対応する処理装置識別子が払い出される。前記所定のアルゴリズムは、例えば、処理装置のIPアドレスや処理装置名などに、ハッシュ関数を作用させるものである。払い出された処理装置識別子は、処理装置管理テーブルT1に追加される。振り分け装置1は、増設した処理装置2に対し、自身のIPアドレスを通知する。
First, the
The processing
テーブル取得応答部102は、処理装置2のテーブル取得要求部202からの処理装置管理テーブルT1を取得する要求に応答し、その処理装置2に処理装置管理テーブルT1の内容を通知する。基本的には、増設した処理装置2に通知する処理装置管理テーブルT1の内容には、増設した処理装置2の処理装置識別子が追加されている。
The table
処理装置管理テーブルT1(管理情報)は、分散システムを構成する処理装置2を管理する。スケーラビリティを確保するため、振り分け装置1は、それぞれ処理装置管理テーブルT1を持つ。処理装置管理テーブルT1の詳細は、後記する。
The processing device management table T1 (management information) manages the
次に、処理装置2について説明する。
増設通知部201は、処理装置2が増設されたとき、マルチキャストにより分散システムを構成するすべての振り分け装置1に対して増設の旨を通知する。増設した処理装置2は、増設の旨を通知する際に、自身のIPアドレスを通知する。また、振り分け装置1は、振り分け装置1自身のIPアドレスを増設した処理装置2に通知する。なお、増設の旨、および場合によっては自身のIPアドレスは、他の処理装置2に通知してもよい。この場合、他の処理装置2は、他の処理装置2自身のIPアドレスを増設した処理装置2に通知してもよい。
Next, the
When the
テーブル取得要求部202は、振り分け装置1に対し、処理装置管理テーブルT1を要求し、振り分け装置1のテーブル取得応答部102による応答により取得する。処理装置管理テーブルT1の要求は、例えば、振り分け装置1から通知された振り分け装置1自身のIPアドレスを用いて実行される。
The table
呼状態データ取得要求部203は、他の処理装置2に対し、呼状態データを要求し、他の処理装置2の呼状態データ取得応答部204による応答により取得する。呼状態データの要求は、振り分け装置1から振り分けられたメッセージに含まれ、当該呼状態データに対応するデータ識別子を用いて実行される。呼状態データについては、後記する。
呼状態データ取得応答部204は、他の処理装置2からの呼状態データを取得する要求に応答し、当該他の処理装置2に呼状態データを通知する。
The call state data
The call state data
処理装置管理テーブルT3は、テーブル取得要求部102により、振り分け装置1から取得した処理装置管理テーブルT1である。
呼状態管理テーブルT2は、呼状態データ取得要求部203により、他の処理装置2から取得した呼状態データを管理する。呼状態管理テーブルT2の詳細は、後記する。
The processing device management table T3 is the processing device management table T1 acquired from the
The call state management table T2 manages call state data acquired from
処理装置管理テーブルT1および呼状態管理テーブルT2について説明する。
図3は、(a)処理装置管理テーブルのデータ構造および(b)呼状態管理テーブルのデータ構造を示す図である。
The processing device management table T1 and the call state management table T2 will be described.
FIG. 3 is a diagram showing (a) the data structure of the processing device management table and (b) the data structure of the call state management table.
まず、処理装置管理テーブルT1について説明する。なお、この説明は、処理装置管理テーブルT3にも当てはまる。
処理装置管理テーブルT1は、「処理装置識別子」および「処理装置IPアドレス」といったフィールドを含み、処理装置2ごとにレコードが作成される。
「処理装置識別子」フィールドには、処理装置検出部101により払い出された処理装置識別子の値が格納される。
「処理装置IPアドレス」フィールドには、処理装置2のIPアドレスの値が格納される。
First, the processing device management table T1 will be described. This explanation also applies to the processing device management table T3.
The processing device management table T1 includes fields such as “processing device identifier” and “processing device IP address”, and a record is created for each
In the “processing device identifier” field, the value of the processing device identifier paid out by the processing
The value of the IP address of the
次に、呼状態管理テーブルT2について説明する。
呼状態管理テーブルT2は、「データ識別子」および「呼状態」といったフィールドを含み、呼状態データごとにレコードが作成される。
「データ識別子」フィールドには、振り分け装置1から振り分けられたメッセージに含まれるデータ識別子の値が格納される。なお、先述したとおり、データ識別子は、呼処理の対象となるデータの実体を識別する。データ識別子は、例えば、トランザクションID(Identifier)である。あるメッセージの呼処理を担当する処理装置2は、通常、その呼処理の対象となるデータの実体を記憶部に記憶しており、呼処理を実行するときは、そのデータの実体を書き換える。
「呼状態」フィールドには、主に、セッションの状態を示す値が呼状態として格納される。クライアント3から次々と受信するメッセージの呼処理を実行すると、呼状態が変わる。セッションの状態には、例えば、セッションの開始、セッション確立中、セッション解放中などがある。
Next, the call state management table T2 will be described.
The call state management table T2 includes fields such as “data identifier” and “call state”, and a record is created for each call state data.
The “data identifier” field stores the value of the data identifier included in the message distributed from the
In the “call state” field, a value indicating a session state is mainly stored as a call state. When call processing of messages received from the
上記の説明から、「呼状態データ」は、呼状態管理テーブルT2のレコードを構成するデータであるといえる。呼状態データは、呼状態データが持つデータ識別子を含むメッセージの呼処理の進捗を示すデータとなる。呼状態データの具体例としては、セッションの状態、メッセージ(またはセッション)のシーケンス番号、データ識別子としてのトランザクションIDなどが挙げられる。これらの他にも、例えば、クライアント3からメッセージが送信された時刻を示すタイマ値を含めてもよい。処理装置2は、メッセージが振り分けられると、メッセージに含まれるデータ識別子を参照して、対応するデータの実体を書き換える。
また、メッセージには、呼状態を遷移させるための情報が含まれている。処理装置2は、その情報を参照して、データ識別子に対応する「呼状態」フィールドに格納される値を変え、呼状態管理テーブルT2を更新する。これらの処理がなされることにより、メッセージの呼処理が実行される。
From the above description, it can be said that “call state data” is data constituting a record of the call state management table T2. The call state data is data indicating the progress of call processing of a message including a data identifier included in the call state data. Specific examples of the call state data include a session state, a message (or session) sequence number, a transaction ID as a data identifier, and the like. In addition to these, for example, a timer value indicating the time when the message is transmitted from the
The message includes information for changing the call state. The
次に、増設した処理装置2が、振り分け装置1から振り分けられたメッセージの呼処理を実行するために、呼状態を知る手順について説明する。
図4は、処理装置の増設時に、呼状態データを持つ処理装置を特定する様子の説明図である。図4の(a)は、処理装置の増設前の識別子空間の概念図であり、図4の(b)は、処理装置の増設後の識別子空間の概念図である。
Next, a procedure for knowing the call state in order for the added
FIG. 4 is an explanatory diagram showing how a processing device having call state data is specified when processing devices are added. FIG. 4A is a conceptual diagram of an identifier space before the addition of a processing device, and FIG. 4B is a conceptual diagram of an identifier space after the addition of a processing device.
図4の(a)において、A、B、Cは、処理装置識別子であり、それらの値には、Cの値<Aの値<Bの値という関係がある。よって、時計回りにC→A→Bの順番に処理装置識別子が配置される。また、Xは、データ識別子であり、データ識別子Xの値は、Cの値<Xの値<Aの値<Bの値という関係を満たす。よって、データ識別子Xは、処理装置識別子Cおよび処理装置識別子Aの間に配置される。データ識別子Xを含むメッセージは、処理装置識別子Aの処理装置2に振り分けられる。つまり、処理装置識別子Aの処理装置2が、データ識別子Xを含むメッセージの呼処理を担当する。
In FIG. 4A, A, B, and C are processing device identifiers, and their values have a relationship of C value <A value <B value. Therefore, the processing device identifiers are arranged in the order of C → A → B in the clockwise direction. X is a data identifier, and the value of the data identifier X satisfies the relationship of C value <X value <A value <B value. Therefore, the data identifier X is arranged between the processing device identifier C and the processing device identifier A. The message including the data identifier X is distributed to the
図4の(b)は、処理装置識別子Iの処理装置2が増設した場合を示す。処理装置識別子Iは、Cの値<Xの値<Iの値<Aの値という関係を満たす。よって、処理装置識別子Aの処理装置2ではなく、処理装置識別子Iの処理装置2が、データ識別子Xを含むメッセージの呼処理を担当する。
FIG. 4B shows a case where the
増設したばかりの処理装置識別子Iの処理装置2は、振り分け装置1から処理装置管理テーブルT1の取得を要求し、処理装置管理テーブルT3を持つ。処理装置管理テーブルT3には、処理装置識別子Iの処理装置2自身のレコードが追加されている。しかし、処理装置識別子Iの処理装置2は、データ識別子Xに対応する呼状態を知らない。よって、処理装置識別子Iの処理装置2は、振り分け装置1から振り分けられたデータ識別子Xを含むメッセージを呼処理することができない。
The
そこで、処理装置識別子Iの処理装置2は、データ識別子Xに対応する呼状態を知る処理装置2を探す。そのために、処理装置識別子Iの処理装置2は、自身が増設する前の識別子空間を想定し、その識別子空間において、データ識別子Xを含むメッセージの呼処理を担当していた処理装置2を特定する。
Therefore, the
具体的には、まず、処理装置識別子Iの処理装置2は、処理装置管理テーブルT3に追加された自身のレコードを一時的に削除する。そして、削除後の処理装置管理テーブルT3に基づいて、コンシステント・ハッシュ法により、データ識別子Xを含むメッセージの呼処理を担当していた処理装置2を特定する。図4の(b)では、処理装置識別子Aの処理装置2を、データ識別子Xを含むメッセージの呼処理を担当していた処理装置2として特定する。
Specifically, first, the
処理装置識別子Iの処理装置2は、処理装置識別子Aの処理装置2に対し、データ識別子Xを含む呼状態データの取得を要求する。処理装置識別子Aの処理装置2は、基本的には、データ識別子Xを含む呼状態データを持っているので、その呼状態データを処理装置識別子Iの処理装置2に通知する。処理装置識別子Iの処理装置2は、通知された呼状態データを用いて、呼状態管理テーブルT2を更新する。また、処理装置識別子Iの処理装置2は、振り分け装置1からデータ識別子Xを含むメッセージが振り分けられた場合、そのメッセージの呼処理を実行する。
なお、処理装置識別子Aの処理装置2は、基本的には、データ識別子Xで識別されるデータの実体を記憶している。よって、処理装置識別子Iの処理装置2は、処理装置識別子Aの処理装置2から、そのデータの実体を取得する。処理装置識別子Iの処理装置2は、呼処理を実行においては、そのデータの実体を書き換える。
The
Note that the
また、複数の処理装置2が同時に増設した場合について説明する。なお、以下の説明は、同時増設する処理装置2が3以上であってもあてはまる。また、増設が「同時」であるとは、複数の処理装置2が所定の短期間内に増設するという意味である。
A case where a plurality of
図5は、2つの処理装置の同時増設時に、呼状態データを持つ処理装置を特定する様子の説明図である。図5の(a)は、処理装置の同時増設前の識別子空間の概念図であり、図5の(b)は、処理装置の同時増設後の識別子空間の概念図である。図5の(a)の識別子空間は、図4の(a)のそれと同一である。特に断らない限り、図4で説明した事項と共通する事項については説明を省略する。 FIG. 5 is an explanatory diagram of how a processing device having call state data is specified when two processing devices are added simultaneously. FIG. 5A is a conceptual diagram of an identifier space before the simultaneous addition of processing devices, and FIG. 5B is a conceptual diagram of an identifier space after the simultaneous addition of processing devices. The identifier space in FIG. 5A is the same as that in FIG. Unless otherwise noted, the description of matters common to those described in FIG. 4 is omitted.
図5の(b)は、処理装置識別子I、Jの処理装置2(第1の処理装置、第2の処理装置)が同時増設した場合を示す。処理装置識別子I、Jは、Cの値<Xの値<Iの値<Jの値<Aの値という関係を満たす。よって、処理装置識別子Aの処理装置2ではなく、処理装置識別子Iの処理装置2が、データ識別子Xを含むメッセージの呼処理を担当する。
なお、処理装置識別子I、Jの処理装置2がそれぞれ持つ処理装置管理テーブルT3には、処理装置識別子I、Jの処理装置2の2つのレコードが追加されている。
FIG. 5B shows a case where the
Note that two records of the processing device identifiers I and J are added to the processing device management table T3 of each of the processing devices identifiers I and J.
処理装置識別子Iの処理装置2は、データ識別子Xに対応する呼状態を知らない。よって、処理装置識別子Iの処理装置2は、データ識別子Xに対応する呼状態を知る処理装置2を探す。処理装置識別子Iの処理装置2は、処理装置管理テーブルT3に追加された自身のレコードを一時的に削除する。そして、削除後の処理装置管理テーブルT3に基づいて、コンシステント・ハッシュ法により、処理装置識別子Jの処理装置2を、データ識別子Xを含むメッセージの呼処理を担当していた処理装置2として特定する。
The
処理装置識別子Iの処理装置2は、処理装置識別子Jの処理装置2に対し、データ識別子Xを含む呼状態データの取得を要求する。ところが、処理装置識別子Jの処理装置2も増設したばかりであるため、データ識別子Xを含む呼状態データを持っていない。また、基本的には、処理装置識別子Iの処理装置2は、処理装置識別子Jの処理装置2が増設したばかりであることは知りえない。結果的に、処理装置識別子Iの処理装置2は、データ識別子Xを含む呼状態データの取得に失敗する。
The
ただ、処理装置識別子Iの処理装置2は、呼状態データの取得を失敗することで、処理装置識別子Jの処理装置2が増設したばかりの処理装置2であるとみなす(確認する)ことができる。そこで、処理装置識別子Iの処理装置2は、処理装置管理テーブルT3において、処理装置管理テーブルT3に追加された、処理装置識別子Jの処理装置2のレコードを一時的に削除する。処理装置識別子Iの処理装置2は、その削除後の処理装置管理テーブルT3に基づいて、コンシステント・ハッシュ法により、処理装置識別子Aの処理装置2を、データ識別子Xを含むメッセージの呼処理を担当していた処理装置2として改めて特定する。
However, the
処理装置識別子Iの処理装置2は、処理装置識別子Aの処理装置2に対し、データ識別子Xを含む呼状態データの取得を要求する。処理装置識別子Iの処理装置2は、処理装置識別子Aの処理装置2から、その呼状態データを取得することで、データ識別子Xを含むメッセージの呼処理を実行することができる。
処理装置識別子Iの処理装置2は、基本的には、所望の呼状態データを取得できるまで、他の処理装置2への取得要求を繰り返す。
The
The
≪処理≫
次に、本実施形態の処理について説明する。具体的には、処理装置2の増設に関わる処理について説明する。この処理の主体は、処理装置2の制御部である。
図6は、増設した処理装置における処理を示すフローチャートである。この処理は、処理装置2が分散システムに増設した後に行われる。また、この処理は、増設した後から所定期間経過した後であっても、この処理装置2が分散システムを構成しているうち、つまり生存しているうちは定期的に行ってもよい。この処理は、ステップS01から開始する。
<< Process >>
Next, the processing of this embodiment will be described. Specifically, processing related to the addition of the
FIG. 6 is a flowchart showing processing in the added processing apparatus. This processing is performed after the
ステップS01において、増設した処理装置2の制御部は、増設通知部201により、自身の増設の旨を振り分け装置1に通知する。もし、増設した後から所定期間経過した後にステップS01の処理を行う場合は、自身の生存の旨が通知される。ステップS01の後、ステップS02に進む。
In step S01, the control unit of the added
ステップS02において、増設した処理装置2の制御部は、テーブル取得要求部202により、振り分け装置1に対し、処理装置管理テーブルT1を要求し、取得する。増設した処理装置2は、取得した処理装置管理テーブルT1を、処理装置管理テーブルT3として管理する。なお、増設した処理装置2の制御部は、増設した処理装置2が生存している間は、振り分け装置1から最新の処理装置管理テーブルT1を定期的に取得してもよい。ステップS02の後、ステップS03に進む。
In step S02, the control unit of the added
ステップS03において、増設した処理装置2の制御部は、振り分け装置1から振分けられたメッセージを取得する。ステップS03の後、ステップS04に進む。
In step S03, the control unit of the added
ステップS04において、増設した処理装置2の制御部は、取得したメッセージがセッション開始メッセージであるか否かを判定する。「セッション開始メッセージ」とは、セッションの状態がセッションの開始であることを示すメッセージであり、具体例としては、ini-INVITEメッセージがある。取得したメッセージがセッション開始メッセージであれば(ステップS04でYes)、ステップS09に進む。取得したメッセージがセッション開始メッセージでなければ(ステップS04でNo)、ステップS05に進む。
In step S04, the control unit of the added
なお、セッション開始メッセージを取得した場合(ステップS04でYes)とは、例えば、クライアント3がはじめてサービスを利用する場合である。この場合は、分散システムを構成するいずれの処理装置2も、該当する呼状態データを持たない。つまり、いずれの処理装置2もそのメッセージの呼処理を担当していない。よって、増設した処理装置2は、後記するステップS09の処理により該当する呼状態データを新たに生成し、呼状態管理テーブルT2に追加登録する。
Note that the case where the session start message is acquired (Yes in step S04) is, for example, the case where the
ステップS05において、増設した処理装置2の制御部は、取得したメッセージ、つまりセッション開始メッセージ以外のメッセージ(非ini-INVITEメッセージ)の呼処理をするために、該当する呼状態データがあるか否か判定する。具体的には、増設した処理装置2が持つ呼状態管理テーブルT2に、取得したメッセージに含まれているデータ識別子の呼状態データが登録されているか否か判定する。該当する呼状態データがあれば(ステップS05でYes)、ステップS09に進む。該当する呼状態データがなければ(ステップS05でNo)、ステップS06に進む。
In step S05, the control unit of the added
なお、該当する呼状態データがある場合(ステップS05でYes)とは、例えば、
(1)増設した処理装置2自身が図6の処理により、事前にセッション開始メッセージの呼処理をし、該当する呼状態データを生成し、その後ステップS04でセッション開始メッセージ以外のメッセージを取得した場合、
(2)増設した処理装置2自身が図6の処理により、他の処理装置2から該当する呼状態データをすでに取得し、その後ステップS04でセッション開始メッセージ以外のメッセージを取得した場合、がある。
Note that when there is corresponding call state data (Yes in step S05), for example,
(1) When the added
(2) There is a case where the added
ステップS06において、増設した処理装置2の制御部は、処理装置管理テーブルT3を用いて、取得したメッセージの呼処理を元々担当していた処理装置2を特定する。前述したとおり、処理装置2を特定するときには、処理装置管理テーブルT3において、自身のレコードを一時的に削除する。ステップS06の後、ステップS07に進む。
なお、ステップS06の処理では、後記するステップS08で呼状態データを取得しなかった処理装置2に関し、処理装置管理テーブルT3からその処理装置2のレコードも一時的に削除する。
In step S06, the control unit of the added
In the process of step S06, the record of the
ステップS07において、増設した処理装置2の制御部は、呼状態データ取得要求部203により、ステップS06で特定した処理装置2に対し、呼状態データを要求する。ステップS07の後、ステップS08に進む。
In step S07, the control unit of the added
ステップS08において、増設した処理装置2の制御部は、ステップS06で特定した処理装置2から該当する呼状態データを取得したか否か判定する。つまり、ステップS06で特定した処理装置2は、ステップS03取得したメッセージの呼処理を元々担当していた処理装置2であったかどうかを判定する。該当する呼状態データを取得したときは(ステップS08でYes)、基本的には、ステップS06での特定が正しかったことを意味し、ステップS09に進む。該当する呼状態データを取得しなかったときは(ステップS08でNo)、基本的には、ステップS06での特定が誤りであったことを意味し、ステップS06に戻る。
In step S08, the control unit of the added
なお、ステップS06での特定が誤りであった場合としては、例えば、同時増設によって、図6の処理を実行する増設した処理装置2自身の他にも同時に増設した処理装置2を特定してしまった場合がある。よって、この場合には、前述したとおり、処理装置管理テーブルT3において、同時に増設した処理装置2のレコードを削除して、ステップS06において、新たな処理装置2を特定する。基本的には、ステップS08の処理は、ステップS05での特定が正しかったと判定されるまで繰り返す。
Note that if the specification in step S06 is incorrect, for example, by simultaneous addition, the
ステップS09において、増設した処理装置2の制御部は、ステップS08で取得した呼状態データを用いて、ステップS08で取得したメッセージを呼処理する。ステップS09の処理が終了することにより、図6の処理全体が終了する。
In step S09, the control unit of the added
≪まとめ≫
本実施形態によれば、分散システムにおける処理装置2の呼処理の遅延化を抑制することができる。
従来技術によれば、増設した処理装置2は、呼状態データを取得するために、分散システムを構成する処理装置2それぞれに要求を出力していた。このため、呼状態データの取得に要する処理の処理量がO(N)の規模に及んでしまう(Nは、分散システムを構成する処理装置2の数)。結果的に、とりわけ分散システムを構成する処理装置2の数が多くなると、処理装置2の呼処理の遅延化を招いていた。
本実施形態によれば、取得すべき呼状態データを持つ処理装置2を事前に特定するので、呼状態データを取得するための要求は、基本的には1度で済み、呼状態データの取得に要する処理の処理量はO(1)の規模に抑えられる。結果として、分散システムを構成する処理装置2の数が多くなっても、処理装置2の呼処理の遅延化を抑制することができる。
≪Summary≫
According to the present embodiment, delay of call processing of the
According to the prior art, the added
According to the present embodiment, since the
また、複数の処理装置2を同時増設した場合であっても、増設した処理装置2からの誤った要求は、基本的には、同時増設した他の処理装置2になされるだけであり、呼状態データを持っていないと見込まれる既存の処理装置2には元々要求しない。よって、呼状態データの取得に要する処理の処理量はO(1)の規模とあまり変わらない。結果として、複数の処理装置2を同時増設した場合であっても、処理装置2の呼処理の遅延化を抑制することができる。
≪その他≫
前記実施形態は、本発明を実施するために好適のものであるが、その実施形式はこれらに限定されるものでなく、本発明の要旨を変更しない範囲内において種々変形することが可能である。
Even when a plurality of
≪Others≫
The above-described embodiment is suitable for carrying out the present invention, but the form of implementation is not limited thereto, and various modifications can be made without departing from the scope of the present invention. .
例えば、本実施形態は、処理装置管理テーブルT1、T3において、処理装置2のIPアドレスを用いた。また、増設した処理装置2が振り分け装置1に増設の旨を通知するときに自身のIPアドレスを用いたり、処理装置2が処理装置管理テーブルT1を要求するときに振り分け装置1のIPアドレスを用いたりした。しかし、前記したIPアドレスの代わりに、例えばMAC(Media Access Control address)アドレスを用いてもよい。また、IPアドレスやMACアドレスのように、分散システムのネットワーク上で処理装置2や振り分け装置1などの装置を特定できる機能を持つのであればどのような種類のアドレスを用いてもよい。
For example, in the present embodiment, the IP address of the
また、本発明に関しては、分散システムにおいてロードバランサ4を省略してもよい。必要であれば、振り分け装置1は、ロードバランサ4が備える機能(例:ラウンドロビン)を備えてもよい。
In the present invention, the
また、分散システムを構成する既存の処理装置2は、例えば、振り分け装置1から定期的に処理装置管理テーブルT1を要求し、取得してもよい。振り分け装置1は、例えば、定期的に処理装置管理テーブルT1を更新しており、処理装置2が増設した場合には、その処理装置2のレコードを追加する。既存の処理装置2は、振り分け装置1から定期的に最新の処理装置管理テーブルT1を取得する。既存の処理装置2が、処理装置管理テーブルT1から、増設した処理装置2の存在を知れば、コンシステント・ハッシュ法により、既存の処理装置2自身が呼処理を担当していたメッセージが、増設した処理装置2に振り分けられるかどうかを知ることができる。もし、そのメッセージが振り分けられるのであれば、増設した処理装置2からの要求が無くとも、前記既存の処理装置2は、増設した処理装置2に対し、そのメッセージの呼処理に必要となる呼状態データを通知することができる。増設した処理装置2は、前記既存の処理装置2に呼状態データを要求せずとも、振り分けられたメッセージの呼処理を行うことができる。
Further, the existing
また、複数の処理装置2を同時増設した場合において、増設した処理装置2はそれぞれ、自身が増設した旨を、振り分け装置1からメッセージを振り分けられる前に、増設した他の処理装置2に通知してもよい。これにより、増設した処理装置2は、振り分け装置1からメッセージを振り分けられたときに、同時に増設した他の処理装置2の存在を知ることができる。よって、振り分けられたメッセージの呼処理を担当していた処理装置2を特定するときに(図6のステップS06)、処理装置管理テーブルT3において、自身のレコードを削除するだけでなく、同時に増設した他の処理装置2のレコードも削除することができる。その結果、増設した処理装置2は、同時に増設した他の処理装置2に対し、誤って呼状態データを要求することは無い。
Further, when a plurality of
また、本実施形態で説明した種々の技術を適宜組み合わせた技術を実現することもできる。
また、本実施形態で説明したソフトウェアをハードウェアとして実現することもでき、ハードウェアをソフトウェアとして実現することもできる。
In addition, it is possible to realize a technique in which various techniques described in this embodiment are appropriately combined.
Further, the software described in the present embodiment can be realized as hardware, and the hardware can also be realized as software.
その他、ハードウェア、ソフトウェア、テーブル、フローチャートなどの具体的な構成について、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。 In addition, specific configurations such as hardware, software, tables, and flowcharts can be appropriately changed without departing from the spirit of the present invention.
1 振り分け装置
2 処理装置
3 クライアント
4 ロードバランサ
101 処理装置検出部
102 テーブル取得応答部
201 増設通知部
202 テーブル取得要求部
203 呼状態データ取得要求部
204 呼状態データ取得応答部
T1、T3 処理装置管理テーブル(管理情報)
T2 呼状態管理テーブル
DESCRIPTION OF
T2 call state management table
Claims (6)
前記分散システムに増設した処理装置が、
前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得ステップと、
前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除ステップと、
前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定ステップと、
前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得ステップと、を実行する
ことを特徴とする状態管理方法。 In a distributed system processing device, a plurality of processing devices that provide services to a client and a plurality of distribution devices that distribute messages obtained from the client to the processing device by a consistent hash method are communicably connected. A state management method,
The processing device added to the distributed system is
Management information acquisition step for acquiring management information including the processing device identifier paid out for each processing device including the added processing device by the consistent hash method, from the distribution device;
When the message is acquired from the distribution device, a deletion step of deleting the processing device identifier paid out to the added processing device from the acquired management information;
Based on the management information after deletion, a responsible identification step for identifying a processing device that was responsible for call processing of the acquired message;
Call status data acquisition step of acquiring call status data indicating the progress of call processing of the acquired message from the identified processing device.
前記第1の処理装置が、
前記管理情報取得ステップにおいて、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得し、
前記削除ステップにおいて、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得ステップを実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除する
ことを特徴とする請求項1に記載の状態管理方法。 The expanded processing device includes at least a first processing device and a second processing device,
The first processing apparatus is
In the management information acquisition step, the management information including the processing device identifier paid out to the first processing device and the processing device identifier paid out to the second processing device is acquired from the distribution device. ,
In the deletion step, not only the processing device identifier assigned to the first processing device but also call state data corresponding to the message acquired from the distribution device can be acquired by executing the call state data acquisition step. 2. The state management according to claim 1, wherein the processing device identifier issued to the second processing device that has been confirmed as an added processing device due to the absence of the processing device is also deleted from the management information. Method.
前記分散システムに増設した処理装置が、
前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得制御と、
前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除制御と、
前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定制御と、
前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得制御と、を実行する
ことを特徴とする処理装置。 A distributed system processing device in which a plurality of processing devices that provide services to a client and a plurality of distribution devices that distribute messages obtained from the client to the processing device by a consistent hash method are communicably connected. There,
The processing device added to the distributed system is
Management information acquisition control for acquiring management information including a processing device identifier paid out for each processing device including the added processing device by the consistent hash method, from the distribution device;
When the message is acquired from the distribution device, deletion control for deleting the processing device identifier paid out to the added processing device from the acquired management information,
Based on the management information after the deletion, responsible identification control that identifies the processing device that was responsible for the call processing of the acquired message;
Call state data acquisition control for acquiring call state data indicating the progress of call processing of the acquired message from the specified processing device.
前記第1の処理装置が、
前記管理情報取得制御において、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得し、
前記削除制御において、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得制御を実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除する
ことを特徴とする請求項3に記載の処理装置。 The expanded processing device includes at least a first processing device and a second processing device,
The first processing apparatus is
In the management information acquisition control, the management information including the processing device identifier paid out to the first processing device and the processing device identifier paid out to the second processing device is acquired from the distribution device. ,
In the deletion control, not only the processing device identifier assigned to the first processing device but also call state data corresponding to the message acquired from the distribution device can be acquired even if the call state data acquisition control is executed. The processing device according to claim 3, wherein the processing device identifier issued to the second processing device that has been confirmed to be an additional processing device due to the absence of the processing device is also deleted from the management information. .
前記分散システムに増設した処理装置に、
前記コンシステント・ハッシュ法により、当該増設した処理装置を含む処理装置ごとに払い出された処理装置識別子を含む管理情報を、前記振り分け装置から取得する管理情報取得処理と、
前記振り分け装置から前記メッセージを取得すると、前記取得した管理情報から、当該増設した処理装置に払い出された処理装置識別子を削除する削除処理と、
前記削除後の管理情報に基づいて、前記取得したメッセージの呼処理を担当していた処理装置を特定する担当特定処理と、
前記特定した処理装置から、前記取得したメッセージの呼処理の進捗を示す呼状態データを取得する呼状態データ取得処理と、を実行させる
ことを特徴とする状態管理プログラム。 A distributed system processing device in which a plurality of processing devices that provide services to a client and a plurality of distribution devices that distribute a message obtained from the client to the processing device by a consistent hash method are communicably connected. A state management program that functions as a computer,
In the processing equipment added to the distributed system,
Management information acquisition processing for acquiring management information including a processing device identifier paid out for each processing device including the added processing device by the consistent hash method, from the distribution device;
When the message is acquired from the distribution device, a deletion process for deleting the processing device identifier paid out to the added processing device from the acquired management information;
Based on the management information after the deletion, a responsible identification process that identifies the processing device that was responsible for the call processing of the acquired message;
A state management program for executing call state data acquisition processing for acquiring call state data indicating the progress of call processing of the acquired message from the specified processing device.
前記第1の処理装置に、
前記管理情報取得処理において、前記第1の処理装置に払い出された処理装置識別子、および前記第2の処理装置に払い出された処理装置識別子を含む前記管理情報を、前記振り分け装置から取得させ、
前記削除処理において、前記第1の処理装置に払い出された処理装置識別子だけでなく、前記呼状態データ取得処理を実行しても前記振り分け装置から取得したメッセージに対応する呼状態データを取得できなかったことにより、増設した処理装置であると確認された前記第2の処理装置に払い出された処理装置識別子も、前記管理情報から削除させる
ことを特徴とする請求項5に記載の状態管理プログラム。 The expanded processing device includes at least a first processing device and a second processing device,
In the first processing device,
In the management information acquisition process, the management information including the processing device identifier paid out to the first processing device and the processing device identifier paid out to the second processing device is acquired from the distribution device. ,
In the deletion process, not only the processing device identifier assigned to the first processing device but also the call state data corresponding to the message acquired from the distribution device can be acquired even if the call state data acquisition processing is executed. 6. The state management according to claim 5, wherein the processing device identifier issued to the second processing device that has been confirmed to be an added processing device due to the absence of the processing device is also deleted from the management information. program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011133160A JP5544521B2 (en) | 2011-06-15 | 2011-06-15 | State management method, processing device, and state management program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011133160A JP5544521B2 (en) | 2011-06-15 | 2011-06-15 | State management method, processing device, and state management program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013003768A true JP2013003768A (en) | 2013-01-07 |
JP5544521B2 JP5544521B2 (en) | 2014-07-09 |
Family
ID=47672284
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011133160A Expired - Fee Related JP5544521B2 (en) | 2011-06-15 | 2011-06-15 | State management method, processing device, and state management program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5544521B2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014199553A1 (en) * | 2013-06-14 | 2014-12-18 | 日本電気株式会社 | Method using receiving node to determine data storage location |
JP2015165374A (en) * | 2014-03-03 | 2015-09-17 | 日本電信電話株式会社 | Distribution system and distribution processing method |
US9519213B2 (en) | 2013-03-05 | 2016-12-13 | Shin-Etsu Chemical Co., Ltd. | Patterning process and resist composition |
JP2019028672A (en) * | 2017-07-28 | 2019-02-21 | 日本電信電話株式会社 | Server device, distributed processing method and program used for distributed processing system |
-
2011
- 2011-06-15 JP JP2011133160A patent/JP5544521B2/en not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
CSNG200900603001; 入江 道生: 'コンシステント・ハッシュ法におけるノード間のデータ冗長性を考慮したID割り当て手法' 電子情報通信学会技術研究報告 Vol.109 No.276, 20091105, p.1-4, 社団法人電子情報通信学会 * |
CSNG200900603002; 金子 雅志: '高可用サーバクラスタにおけるシステム更新方式の検討' 電子情報通信学会技術研究報告 Vol.109 No.276, 20091105, p.5-10, 社団法人電子情報通信学会 * |
CSNG201000538043; 加藤 雅一: 'Kogumo:軽量クラウド環境の構築' 第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online] <U , 20100525, 電子情報通信学会データ工学研究専門委員会 * |
JPN6014014132; 入江 道生: 'コンシステント・ハッシュ法におけるノード間のデータ冗長性を考慮したID割り当て手法' 電子情報通信学会技術研究報告 Vol.109 No.276, 20091105, p.1-4, 社団法人電子情報通信学会 * |
JPN6014014133; 加藤 雅一: 'Kogumo:軽量クラウド環境の構築' 第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online] <U , 20100525, 電子情報通信学会データ工学研究専門委員会 * |
JPN6014014135; 金子 雅志: '高可用サーバクラスタにおけるシステム更新方式の検討' 電子情報通信学会技術研究報告 Vol.109 No.276, 20091105, p.5-10, 社団法人電子情報通信学会 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9519213B2 (en) | 2013-03-05 | 2016-12-13 | Shin-Etsu Chemical Co., Ltd. | Patterning process and resist composition |
WO2014199553A1 (en) * | 2013-06-14 | 2014-12-18 | 日本電気株式会社 | Method using receiving node to determine data storage location |
JP2015165374A (en) * | 2014-03-03 | 2015-09-17 | 日本電信電話株式会社 | Distribution system and distribution processing method |
JP2019028672A (en) * | 2017-07-28 | 2019-02-21 | 日本電信電話株式会社 | Server device, distributed processing method and program used for distributed processing system |
Also Published As
Publication number | Publication date |
---|---|
JP5544521B2 (en) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6723329B2 (en) | System, method, and computer readable storage medium for customizable event-triggered calculations at edge locations | |
JP6984097B2 (en) | Content delivery network architecture with edge proxies | |
US10146848B2 (en) | Systems and methods for autonomous, scalable, and distributed database management | |
US20140059217A1 (en) | Method for content change notification in a cloud storage system, a corresponding cloud broker and cloud agent | |
CN108173774B (en) | Client upgrading method and system | |
CN109688235A (en) | Virtual network method for processing business, device and system, controller, storage medium | |
US20110264748A1 (en) | On-demand mailbox synchronization and migration system | |
WO2017028733A1 (en) | Software installation package packaging method, device and system and machine-readable storage medium | |
JP2019008417A (en) | Information processing apparatus, memory control method and memory control program | |
WO2017092505A1 (en) | Method, system and device for elastic scaling of virtual resources in cloud computing environment | |
CN111212134A (en) | Request message processing method and device, edge computing system and electronic equipment | |
US20200174818A1 (en) | Virtual machine management | |
US20180013610A1 (en) | File delivery method, apparatus and system | |
US20230069240A1 (en) | Dynamic cloning of application infrastructures | |
WO2019006775A1 (en) | Data transmission method and system thereof | |
JP2013097548A (en) | Information processing system, information processing device, client terminal, information processing method and program | |
CN109547508B (en) | Method, device and system for realizing resource access | |
US9760370B2 (en) | Load balancing using predictable state partitioning | |
JP5544521B2 (en) | State management method, processing device, and state management program | |
JPWO2013186837A1 (en) | Information processing system, method and program | |
TWI571077B (en) | Integration network device and service integration method thereof | |
US10621148B1 (en) | Maintaining multiple object stores in a distributed file system | |
KR102090561B1 (en) | Method for auto-scaling of web server and was in cloud environment and was managing server using the same | |
JP5658621B2 (en) | Signal distribution duplication destination determination system, signal distribution duplication destination determination method and program | |
JP5690296B2 (en) | Load balancing program and load balancing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20130201 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130809 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140311 |
|
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: 20140408 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20140410 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140411 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5544521 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |