JP5452516B2 - 分散処理装置、および、分散処理方法 - Google Patents

分散処理装置、および、分散処理方法 Download PDF

Info

Publication number
JP5452516B2
JP5452516B2 JP2011019964A JP2011019964A JP5452516B2 JP 5452516 B2 JP5452516 B2 JP 5452516B2 JP 2011019964 A JP2011019964 A JP 2011019964A JP 2011019964 A JP2011019964 A JP 2011019964A JP 5452516 B2 JP5452516 B2 JP 5452516B2
Authority
JP
Japan
Prior art keywords
data
processing
transaction
processing server
server
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
JP2011019964A
Other languages
English (en)
Other versions
JP2012160075A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011019964A priority Critical patent/JP5452516B2/ja
Publication of JP2012160075A publication Critical patent/JP2012160075A/ja
Application granted granted Critical
Publication of JP5452516B2 publication Critical patent/JP5452516B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Description

本発明は、分散処理装置、および、分散処理方法の技術に関する。
トランザクション処理システムでは、クライアントから処理サーバへとトランザクションの要求が送信されると、処理サーバがその処理を行い、その結果を応答信号としてクライアントへと返信する。そして、複数の処理サーバが協調して動作する分散処理システムとすることで、クライアントの台数増加に対応する。そして、分散処理システムのロードバランサは、クライアントからそれぞれ発行される要求に対して、単一の出入り口として受け付けると、それらの要求を複数の処理サーバにそれぞれ分配する。
ロードバランサが要求された処理を振り分ける手法としては、コンシステント・ハッシングを挙げることができる(非特許文献1)。コンシステント・ハッシングは、データの保管要求と取得要求のみを受け付ける単純なインタフェースを持ち、受信した信号の要求するデータの識別子を見て、複数のサーバのうち何れのサーバが対象のデータを管理しているかを特定し、このサーバに対して保管要求及び取得要求を振り分けることを行う。
D. Karger, E. Lehman, T. Leighton, M. Levine, D. Lewin, and R. Panigrahy, "Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web," in Proceedings of the 29th ACM Symposium on Theory of Computing (STOC'97), May 1997 ,pp.654-663.
トランザクション処理システムが扱うトランザクションとして、複数のトランザクション状態間が関連する場合も考えられる。ここで、トランザクション間が「関連する」とは、例えばSIP(Session Initiation Protocol)におけるB2BUA(Back-to-Back User Agent)のように、2つの呼をアプリケーションサーバが終端し、これを常に対として処理を行うような形態を指す。
なお、B2BUAとは、2台のクライアント間でSIPのセッションを接続するときに、対応しているSIPの方式の違いなどにより、その2台が直接接続できないときに、その2台のセッションを仲介する別の装置(B2BUA)を設けることにより、B2BUAをアダプタとして2台のクライアントがセッションを接続できるようにする仕組みである。
そこで、関連する複数のトランザクションを同じ1つの処理サーバへと分配することにより、複数のトランザクション間での処理の待ち合わせ時間を短縮することができる。
一方、複数のトランザクション間の関連性は、時間の経過によって変化することもある。例えば、B2BUA接続によるユーザAとユーザBとによる二者通話と、ユーザCとユーザDとによる二者通話が成立していた場合に、呼を切断することなく、それぞれA−C、B−D間の二者通話に入れ替える場合が、挙げられる。
しかし、従来のトランザクション分配処理では、このような複数のトランザクション間の関連性を考慮した効率的な分配が行われておらず、トランザクションの処理効率を落としてしまっている。
そこで、本発明は、複数のトランザクション間の関連性を考慮した効率的なトランザクション分配処理を実現することを、主な目的とする。
前記課題を解決するために、本発明は、クライアントからのトランザクションの要求信号を処理する処理サーバが複数台存在し、それらの前記処理サーバに対して前記要求信号を分散させる分散処理装置であって、前記分散処理装置が、複数台の前記処理サーバと、その各前記処理サーバに対してそれぞれトランザクションデータを格納するデータ管理装置と、複数台の前記処理サーバから前記要求信号の分配先である1台の前記処理サーバを選択する振り分けサーバとを含めて構成され、前記分散処理装置の記憶手段には、グループ化された複数の関連するトランザクションと、それらのトランザクションのデータの配置先を示す配置IDとの対応を示す第1対応データと、前記配置IDに対応するデータの配置先である前記データ管理装置に接続される前記処理サーバの装置IDと前記配置IDとの対応を示す第2対応データとが、それぞれ格納されており、前記振り分けサーバは、受信した前記要求信号から、前記配置IDを検索キーとして、前記第2対応データから、対応する前記処理サーバの前記装置IDを前記要求信号の分配先として特定し、その特定した前記処理サーバへと前記要求信号を転送し、前記処理サーバは、前記要求信号を受信してトランザクションの処理を実行し、その実行によってグループ化された複数の関連するトランザクションの構成変更を行うときに、前記第1対応データによって対応づけられている前記配置IDとトランザクションとの対応関係を変更するともに、変更された前記対応関係の配置IDから前記第2対応データによって対応づけられている前記処理サーバに接続される前記データ管理装置へと、変更前の前記処理サーバに接続される前記データ管理装置から、トランザクションのデータを移動することを特徴とする。
これにより、複数の関連するトランザクションを単位として1つの配置IDを割り当てるとともに、その複数の関連するトランザクションの構成変更を行うことで、複数のトランザクション間の関連性を考慮した効率的なトランザクション分配処理を実現することができる。
本発明は、前記複数の関連するトランザクションとは、SIP(Session Initiation Protocol)におけるB2BUA(Back-to-Back User Agent)によって終端される複数の前記クライアント間の呼接続であり、前記トランザクションの構成変更とは、前記呼接続によって前記クライアント間での通話処理が行われているときの、前記クライアントの話者変更であることを特徴とする。
これにより、呼を切断することなく、二者通話の通話相手をに入れ替えることができる。
本発明は、前記処理サーバが、前記要求信号を受信してトランザクションの処理を実行し、その実行によって自身に接続されている前記データ管理装置とは別の前記データ管理装置内のデータへのアクセスを行うときに、前記配置IDをキーとして、前記分散処理装置の記憶手段から対応する前記処理サーバを特定し、その特定した前記処理サーバに接続されている前記データ管理装置に対して、前記データへのアクセスを行うことを特徴とする。
これにより、処理サーバは、自身が担当していないデータへのアクセスを実現できる。
本発明は、前記分散処理装置の記憶手段には、前記配置IDと前記装置IDとの対応情報として、前記配置IDの始点から終点までの範囲を示す値域に対して、1つの前記装置IDを対応づける値域対応データが格納されており、前記分散処理装置内に新たな前記処理サーバが追加されるときには、前記値域対応データのうちの1つの前記装置IDを選択して、その選択した前記値域対応データの値域を分割して、分割した片方の値域を新たな前記処理サーバの前記装置IDに対応付け、前記分散処理装置内から前記処理サーバが削除されるときには、前記値域対応データのうちの削除される前記処理サーバの前記装置IDを選択して、その選択した前記値域対応データの値域を他の前記処理サーバの値域へと統合することを特徴とする。
これにより、処理サーバの増設を行っても、処理サーバ間でのアクセス処理待ちなどのボトルネックが発生せず、トランザクション処理システムの性能を向上させることができる。
本発明によれば、複数のトランザクション間の関連性を考慮した効率的なトランザクション分配処理を実現することができる。
本発明の一実施形態に関するトランザクション処理システムを示す構成図である。 本発明の一実施形態に関するトランザクション処理システムにおける装置構成例を示す構成図である。 本発明の一実施形態に関するトランザクション処理システムの各サーバの詳細を示す構成図である。 本発明の一実施形態に関する振り分けサーバにおけるトランザクションの振り分け処理を示すフローチャートである。 本発明の一実施形態に関する処理サーバにおけるトランザクションの実行処理を示すフローチャートである。 第1比較例におけるトランザクション処理システムを示す構成図である。
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
図1は、トランザクション処理システムを示す構成図である。トランザクション処理システムは、クライアント1と、ロードバランサ2と、分散システム9とがネットワークで接続されて構成される。分散システム9内は、振り分けサーバ4と、処理サーバ5と、データ管理装置6とから構成されている。図1のトランザクション処理システムを構成する各装置の台数は、図1に例示した台数に限定されず、任意の台数としてもよい。
なお、図1のトランザクション処理システムを構成する各装置は、CPU(Central Processing Unit)とメモリとハードディスク(記憶手段)とネットワークインタフェースを有するコンピュータとして構成され、このコンピュータは、CPUが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
トランザクション処理システムで動作するプログラムの一例として、電話などの呼(セッション)処理を行うアプリケーションサーバを実現するための、分散処理ミドルウェアがある。分散処理ミドルウェアは、アプリケーションを分散処理ミドルウェアとは別に用意するもので、アプリケーションからは装置が分散していることを意識することなくサービスの処理を実現することができるようにするものである。このような分散処理ミドルウェアを使うことによって、外部からは単一のアプリケーションサーバのように見せながら、実態は複数台のサーバによる台数効果によって大規模な処理を行うことが可能になる。
クライアント1は、処理サーバ5に対して、トランザクションの処理を要求する。ロードバランサ2は、クライアント1からの要求を受け、分散システム9内の複数台の振り分けサーバ4のうちの1台を選択し、その選択した振り分けサーバ4に処理を依頼する。
ここで、クライアント1からは、ロードバランサ2という出入り口を介して、分散システム9があたかも単一の装置で動作するシステムとして見えるため、分散システム9内の装置構成を柔軟に変更する(装置の追加や削除など)ことができる。
振り分けサーバ4は、ロードバランサ2からの要求を受け、複数台の処理サーバ5のうちの1台を選択し、その選択した処理サーバ5に処理を依頼する。ここで、処理サーバ5の選択処理においては、データ管理装置6内に管理されているトランザクションのデータの所在が参照される。まず、処理サーバ5とデータ管理装置6とは1:1で接続されており、あるトランザクションのデータは、ある1台のデータ管理装置6が格納している。よって、要求されたトランザクションのデータを管理するデータ管理装置6を収容する処理サーバ5を、振り分けサーバ4が選択する必要がある。
処理サーバ5は、振り分けサーバ4からの要求を受け、データ管理装置6内のトランザクションのデータにアクセスすることで、トランザクションの要求を処理する。
図2は、トランザクション処理システムにおける装置構成例を示す構成図である。図1との違いは、分散システム9内の各装置(振り分けサーバ4、処理サーバ5、および、データ管理装置6)が、1台のサーバ装置8の筐体内に収容されている点である。
一般的に、装置間通信(ネットワークケーブルを介した通信)は、通信ヘッダ処理などにより、装置内通信(内部バスを介した通信)よりも通信速度が遅い。よって、通信頻度の高い装置群をサーバ装置8(分散処理装置)という1台の物理的な装置内に収めることにより、装置内通信の頻度を上げ、通信効率を向上させることができる。
図3は、トランザクション処理システムの各サーバの詳細を示す構成図である。
振り分けサーバ4は、トランザクション分散部41と、データ配置テーブル42(第2対応データ)と、配置検索部43とを有する。
処理サーバ5は、トランザクション処理部51と、配置ID割当部52と、集合変更部53と、他管理データ取得部54と、トランザクション管理テーブル55(第1対応データ)とを有する。
トランザクション分散部41は、データ配置テーブル42を参照して、ロードバランサ2からのトランザクションの要求を処理する処理サーバ5を決定し、その処理サーバ5のトランザクション処理部51へと要求を送信する。
トランザクション処理部51は、トランザクションの要求を受け、データ管理装置6内のトランザクションのデータをアクセスして、トランザクションの要求を処理する。
トランザクション処理部51は、トランザクションの要求を処理する過程において、データ管理装置6内のトランザクションのデータの配置に変更(新規データ作成、既存データ移動、既存データ削除など)が発生したときには、配置ID割当部52に対して、トランザクションのデータに対して割り当てる配置IDの割当処理を依頼する。
トランザクション処理部51は、トランザクションの要求を処理する過程において、トランザクションのデータと、配置IDとの対応関係に変更が発生したときには、集合変更部53に対して、その対応関係の変更処理を依頼する。
トランザクション処理部51は、トランザクションの要求を処理する過程において、他装置の処理サーバ5配下のデータ管理装置6内にデータアクセスを行うときには、他管理データ取得部54に対して、そのデータアクセスを依頼する。
Figure 0005452516
表1は、データ配置テーブル42を例示した表である。データ配置テーブル42は、処理サーバ5のIDごとに、その処理サーバ5が担当する配置IDの値域(始点IDから終点IDまでの範囲を示す)を対応づける表である。
処理サーバ5のIDは、担当する配置IDの始点となる配置IDと同じ値としてもよいし、ランダムな値としてもよい。
配置IDとは、1つ以上のトランザクションのデータに対して割り当てられるIDであり、同じ配置IDが割り当てられるトランザクションのデータは、同じ1つのデータ管理装置6内に格納される。例えば、配置ID「100」が割り当てられるトランザクションのデータは、処理サーバ5「P1」配下のデータ管理装置6に格納される。
トランザクションのデータとは、トランザクションを処理するときに必要なデータであり、例えば、呼処理における呼の識別子、発信者、受信者、状態遷移を含む。
トランザクションの状態遷移とは、話し中、呼び出し中などの呼の状態を示すパラメータである。
データ配置テーブル42内の処理サーバIDと配置IDとの対応データの初期値は、管理者などからあらかじめ与えられている。配置IDの値域は、各処理サーバ5間で重複や漏れがないように設定することで、任意の配置IDから1台の処理サーバ5を求めることができる。
また、データ配置テーブル42内の配置IDの値域は、まだどのトランザクションのデータにも割り当てられていない(未発行の)配置IDの分も、あらかじめデータ配置テーブル42に登録しておくことが望ましい。これにより、配置IDの発行処理や削除処理の回数に依存せずに、データ配置テーブル42を更新する必要がなくなる。
Figure 0005452516
表2は、表1のデータ配置テーブル42に対して、1台のサーバP5が追加されたときのデータ配置テーブル42を例示した表である。
サーバP5の追加に伴い、既存の4台の処理サーバ5がそれぞれ担当している配置IDの値域のうち、1つの配置IDの値域を選択して、その選択した値域を分割してサーバP5にも割り当てる。
表2では、分割前の各処理サーバが受け持っているデータ量の内、最も大きいデータ量(D=400)を担当するサーバP4の値域(600〜999)を選択し、その選択した分割前の値域を2分割する(600〜799,800〜999)。これにより、処理サーバごとのデータ量が均一化される。
同様に、処理サーバの減少時(例えば、処理サーバP3の故障発生)には、減少対象の処理サーバP3が受け持っている値域(400〜599)の前後を担当する担当処理サーバ(P2,P4)を選択し、その選択した2台のうちの現在受け持っているデータ量が小さい方の処理サーバ(表2の場合はデータ量が同じなので、P2)に、減少対象の担当処理サーバが担当する値域を統合する(200〜599)。
このように、データ配置テーブル42に対する処理サーバ5の増減時にはデータ配置テーブル42の更新が必要になるが、その更新範囲である配置IDの値域の変更量は、1台分の処理サーバ5の担当量だけで済む。例えば、処理サーバ5が5台に増加したときには、1/5の変更量で済み、処理サーバ5がN台に増加したときには、1/Nの変更量で済む。
担当する処理サーバ5の変更には、その処理サーバ5が収容するデータ管理装置6内のデータの移動を伴うので、データ配置テーブル42の変更量が少ないことにより、データ移動処理の負荷を削減することができる。
トランザクション分散部41は、ロードバランサ2からトランザクションの処理要求を受け付けると、その配置IDを検索キーとして、データ配置テーブル42から、トランザクションの処理要求を担当する処理サーバ5を決定する。なお、トランザクションの処理要求に配置IDが含まれていないときには、そのトランザクションIDを検索キーとして、後記するトランザクション管理テーブル55(表3)から配置IDを取得してもよい。
つまり、トランザクション分散部41は、コンシステント・ハッシングのデータ管理者の特定と類似したロジックを用いることで、データ管理者の代わりに処理サーバ5の特定を行う。
そして、トランザクション分散部41は、決定した処理サーバ5のトランザクション処理部51に対して、トランザクションの処理要求を通知する。
配置ID割当部52は、1つ以上のトランザクションに対して、1つの配置IDを割り当て、その結果をトランザクション管理テーブル55へと格納する。なお、複数のトランザクションをグループ化して1つの配置IDを割り当てるときには、同じ配置IDが割り当てられた複数のトランザクションは、互いに関連するトランザクションである。「関連するトランザクション」とは、例えば、B2BUAにより接続される2つの呼処理が挙げられるが、トランザクションの種類は呼処理に限定されず、また、トランザクションの本数は2つに限定されない。
Figure 0005452516
表3は、トランザクション管理テーブル55を例示した表である。トランザクション管理テーブル55は、配置IDごとに、その配置IDが割り当てられている1つ以上のトランザクションのIDを対応づける表である。
例えば、配置ID「0」と配置ID「1」のレコードでは、それぞれB2BUAにより接続される2つのトランザクションがグループ化されて1つの配置IDに対応する。
また、配置ID「2」のレコードでは、SIPにおけるSIPプロキシに相当するような非常にシンプルな1つのトランザクション「T4」に対応する。
Figure 0005452516
表4は、トランザクション管理テーブル55(配置ID=0,1の変更)を例示した表である。
集合変更部53は、複数のトランザクション間の関連性がトランザクションの処理中で変更されるときに、その変更をトランザクション管理テーブル55へと反映させるとともに、トランザクション管理テーブル55の更新内容をもとに、データ管理装置6内のトランザクションのデータの移動処理を制御する。
集合変更部53は、表4では、配置ID「0」のトランザクション「T0,T1」と、配置ID「1」のトランザクション「T2,T3」とが変更前であるときに、T1およびT2をそれぞれレコード間で移動することで、配置ID「0」のトランザクション「T0,T2」と、配置ID「1」のトランザクション「T1,T3」として、トランザクション管理テーブル55を更新する。
なお、このようなトランザクション管理テーブル55の更新処理は、例えば、B2BUAにおける話者の入れ替えに伴い発生する。
他管理データ取得部54は、トランザクション処理部51からの指示を受け、他の処理サーバ5が収容するデータ管理装置6へのデータアクセスを行う。なお、トランザクション処理部51からの他装置で管理するデータの取得指示は、例えば、B2BUAにおける話者の入れ替えを行うにあたって、入れ替え先のB2BUAの各トランザクション状態が通話確立状態になっているか確認するなどの、別のB2BUA状態へのアクセスが発生したときに、通知される。
まず、他管理データ取得部54は、トランザクション処理部51から通知された配置IDを、配置検索部43に通知することにより、振り分けサーバ4にその配置IDを担当する処理サーバ5の特定を依頼する。
配置検索部43は、データ配置テーブル42を参照して、配置IDから処理サーバ5を特定する。
他管理データ取得部54は、特定された他装置である処理サーバ5に収容されるデータ管理装置6から、トランザクション処理部51からの指示を受けたデータを取得する。これにより、複数台の処理サーバ5が1台のデータ管理装置6を直接共有(接続)していなくても、自身の担当しないデータを取得することができる。
図4は、振り分けサーバ4のトランザクション分散部41が実行するトランザクションの振り分け処理を示すフローチャートである。
S101では、ロードバランサ2より信号を受信する。
S102では、S101の信号中に配置IDが含まれているか否かを判定し、S102でYesならS104へ進み、S102でNoならS103へ進む。
S103では、配置ID割当部52に対して、新たにS101の信号に割り当てる配置IDの割当を依頼し、S104へ進む。
S104では、データ配置テーブル42を参照して、S101の信号に割り当てられる配置IDから、その配置IDを担当する処理サーバ5を特定する。
S105では、S104で特定した処理サーバ5に対して、S101で受信した信号を転送する。
図5は、処理サーバ5におけるトランザクションの実行処理を示すフローチャートである。
S201では、処理サーバ5は、S105の信号を受信する。
S202では、トランザクション処理部51は、適宜データ管理装置6に対して、S201の信号に対応するトランザクションのデータにアクセスを行いつつ、トランザクションの処理を実行する。
トランザクション処理部51は、S202の処理中に他装置が管理するデータへのアクセスが発生したときには(S203,Yes)、他管理データ取得部54を介して、他装置が管理するデータへのアクセスを実行し(S204)、S205へ進む。一方、アクセスが発生しないときには(S203,No)、S205へ進む。
トランザクション処理部51は、S202の処理中にトランザクション管理テーブル55内の1つの配置IDが割り当てられているトランザクショングループを構成するトランザクションの変更が発生したときには(S205,Yes)、集合変更部53を介して、トランザクション管理テーブル55を更新する(S206)とともに、S201で受信した信号への応答信号に埋め込む配置IDを、S206で変更後の配置IDへと変更し(S207)、S211へ進む。一方、トランザクションの変更が発生しないときには(S205,No)、S211へ進む。
S211では、トランザクション処理部51は、S202で実行されたトランザクションの処理を終了させる。
S212では、S202〜S211で処理した結果をもとに、S201の受信信号に対する応答信号を、クライアント1へと送信する。
以上説明した本実施形態によれば、集合変更部53が、複数のトランザクション間の関連性の変更に伴って、トランザクションの分配をトランザクション管理テーブル55に更新することにより、複数のトランザクション間の関連性を考慮した効率的なトランザクション分配処理を実現することができる。
さらに、本実施形態によれば、データ配置テーブル42の変更処理をなるべく小さくするために、データ配置テーブル42の内容を、処理サーバ5ごとの配置IDの値域を割り当てるように構成する。以下、このデータ配置テーブル42の構成内容による効果を説明するために、3つの比較例(第1比較例〜第3比較例)との比較を行う。
(第1比較例)データ配置テーブルを持たない構成。
(第2比較例)データ配置テーブルとして、使用される配置IDが発行される度に、その配置IDを処理サーバ5に対応づける構成。
(第3比較例)データ配置テーブルとして、配置IDを入力パラメータとする剰余演算の結果の値を元に、処理サーバ5に対応づける構成。
図6は、第1比較例におけるトランザクション処理システムを示す構成図である。この第1比較例は、図1のトランザクション処理システムと比較すると、振り分けサーバ4を持たない点と、複数の処理サーバが1つのデータ管理装置を共有する点とで異なる。
ロードバランサは、トランザクションの要求を処理サーバに振り分けるときに、どの処理サーバに振り分けても、振り分け先の処理サーバが同じデータ管理装置からデータアクセスすることができるので、データ配置テーブル42は不要になる。
しかし、データ管理装置を共有する構成では、複数の処理サーバ上で関連する複数のトランザクション処理が発生すると、それぞれ発生したデータアクセスを複数の処理サーバ間で待ち合わせる無駄な時間がボトルネックとして発生してしまい、処理サーバの台数を増加しても、トランザクション処理システム全体の性能向上は困難となる。
Figure 0005452516
表5は、第2比較例のデータ配置テーブル(配置IDごとの管理)を例示した表である。第2比較例の振り分けサーバは、表5の配置IDごとのデータ配置テーブルを参照することで、トランザクションの分配先となる処理サーバを特定する。
しかし、配置IDの数は、トランザクションの数であるため、データ配置テーブルのレコード数が多くなってしまうため、データ配置テーブルの更新処理がトランザクション処理システムのボトルネックとなってしまう。
Figure 0005452516
表6は、第3比較例のデータ配置テーブル(剰余演算での管理)を例示した表である。関数「mod(a,b)=c」とは、被除数aを除数bで除算したときの剰余がcである旨の剰余関数である。サーバP5の追加前において、例えば、配置ID=10の要求を受けた振り分けサーバは、10÷4=2余り2なので、余り2に対応するサーバP3を振り分け先として選択する。
しかし、第3比較例では、処理サーバの増減時に大きなボトルネックが発生してしまう。例えば、4台のサーバP1〜P4に対して、新たにサーバP5が追加されたとする。サーバ台数が、剰余演算における除数に該当するため、たった1台のサーバが追加されただけでも、データ配置テーブルの内容が大幅に(厳密にはNを処理サーバ台数とした場合、全体の(N−1)/N)変更されてしまう。例えば、表6の構成では、N=4からN=5への変更に伴い、全体の4/5の内容がデータ配置テーブルにおいて変更される。
データ配置テーブルの変更処理だけでなく、その変更後のデータ配置テーブルの内容に合わせて、トランザクションのデータそのものを変更先へとデータ移動する必要があり、このデータ移動処理が第3比較例での大きなボトルネックである。
一方、本実施形態のデータ配置テーブル42(表1,表2)では、配置IDを値域で設定するとともに、処理サーバ5の台数変更時には、配置IDの値域を変更(分割、統合)するだけで済むので、前記第1比較例〜第3比較例でそれぞれ発生したトランザクション処理システムのボトルネックが発生せず、処理サーバ5の台数増加に伴い、トランザクション処理システムの性能を向上させることができる。
1 クライアント
2 ロードバランサ
4 振り分けサーバ
5 処理サーバ
6 データ管理装置
8 サーバ装置
9 分散システム
41 トランザクション分散部
42 データ配置テーブル(第2対応データ)
43 配置検索部
51 トランザクション処理部
52 配置ID割当部
53 集合変更部
54 他管理データ取得部
55 トランザクション管理テーブル(第1対応データ)

Claims (8)

  1. クライアントからのトランザクションの要求信号を処理する処理サーバが複数台存在し、それらの前記処理サーバに対して前記要求信号を分散させる分散処理装置であって、
    前記分散処理装置は、複数台の前記処理サーバと、その各前記処理サーバに対してそれぞれトランザクションデータを格納するデータ管理装置と、複数台の前記処理サーバから前記要求信号の分配先である1台の前記処理サーバを選択する振り分けサーバとを含めて構成され、
    前記分散処理装置の記憶手段には、
    グループ化された複数の関連するトランザクションと、それらのトランザクションのデータの配置先を示す配置IDとの対応を示す第1対応データと、
    前記配置IDに対応するデータの配置先である前記データ管理装置に接続される前記処理サーバの装置IDと前記配置IDとの対応を示す第2対応データとが、それぞれ格納されており、
    前記振り分けサーバは、受信した前記要求信号から、前記配置IDを検索キーとして、前記第2対応データから、対応する前記処理サーバの前記装置IDを前記要求信号の分配先として特定し、その特定した前記処理サーバへと前記要求信号を転送し、
    前記処理サーバは、前記要求信号を受信してトランザクションの処理を実行し、その実行によってグループ化された複数の関連するトランザクションの構成変更を行うときに、前記第1対応データによって対応づけられている前記配置IDとトランザクションとの対応関係を変更するともに、変更された前記対応関係の配置IDから前記第2対応データによって対応づけられている前記処理サーバに接続される前記データ管理装置へと、変更前の前記処理サーバに接続される前記データ管理装置から、トランザクションのデータを移動することを特徴とする
    分散処理装置。
  2. 前記複数の関連するトランザクションとは、SIP(Session Initiation Protocol)におけるB2BUA(Back-to-Back User Agent)によって終端される複数の前記クライアント間の呼接続であり、
    前記トランザクションの構成変更とは、前記呼接続によって前記クライアント間での通話処理が行われているときの、前記クライアントの話者変更であることを特徴とする
    請求項1に記載の分散処理装置。
  3. 前記処理サーバは、前記要求信号を受信してトランザクションの処理を実行し、その実行によって自身に接続されている前記データ管理装置とは別の前記データ管理装置内のデータへのアクセスを行うときに、前記配置IDをキーとして、前記分散処理装置の記憶手段から対応する前記処理サーバを特定し、その特定した前記処理サーバに接続されている前記データ管理装置に対して、前記データへのアクセスを行うことを特徴とする
    請求項1または請求項2に記載の分散処理装置。
  4. 前記分散処理装置の記憶手段には、前記第2対応データとして、前記配置IDの始点から終点までの範囲を示す値域に対して、1つの前記装置IDを対応づける値域対応データが格納されており、
    前記分散処理装置内に新たな前記処理サーバが追加されるときには、前記値域対応データのうちの1つの値域を選択して、その選択した前記値域対応データの値域を分割して、分割した片方の値域を新たな前記処理サーバの前記装置IDに対応付け、
    前記分散処理装置内から前記処理サーバが削除されるときには、前記値域対応データのうちの削除される前記処理サーバに対応する値域を選択して、その選択した前記値域対応データの値域を他の前記処理サーバの値域へと統合することを特徴とする
    請求項1ないし請求項3のいずれか1項に記載の分散処理装置。
  5. クライアントからのトランザクションの要求信号を処理する処理サーバが複数台存在し、それらの前記処理サーバに対して前記要求信号を分散させる分散処理装置による分散処理方法であって、
    前記分散処理装置は、複数台の前記処理サーバと、その各前記処理サーバに対してそれぞれトランザクションデータを格納するデータ管理装置と、複数台の前記処理サーバから前記要求信号の分配先である1台の前記処理サーバを選択する振り分けサーバとを含めて構成され、
    前記分散処理装置の記憶手段には、
    グループ化された複数の関連するトランザクションと、それらのトランザクションのデータの配置先を示す配置IDとの対応を示す第1対応データと、
    前記配置IDに対応するデータの配置先である前記データ管理装置に接続される前記処理サーバの装置IDと前記配置IDとの対応を示す第2対応データとが、それぞれ格納されており、
    前記振り分けサーバは、受信した前記要求信号から、前記配置IDを検索キーとして、前記第2対応データから、対応する前記処理サーバの前記装置IDを前記要求信号の分配先として特定し、その特定した前記処理サーバへと前記要求信号を転送し、
    前記処理サーバは、前記要求信号を受信してトランザクションの処理を実行し、その実行によってグループ化された複数の関連するトランザクションの構成変更を行うときに、前記第1対応データによって対応づけられている前記配置IDとトランザクションとの対応関係を変更するともに、変更された前記対応関係の配置IDから前記第2対応データによって対応づけられている前記処理サーバに接続される前記データ管理装置へと、変更前の前記処理サーバに接続される前記データ管理装置から、トランザクションのデータを移動することを特徴とする
    分散処理方法。
  6. 前記複数の関連するトランザクションとは、SIP(Session Initiation Protocol)におけるB2BUA(Back-to-Back User Agent)によって終端される複数の前記クライアント間の呼接続であり、
    前記トランザクションの構成変更とは、前記呼接続によって前記クライアント間での通話処理が行われているときの、前記クライアントの話者変更であることを特徴とする
    請求項5に記載の分散処理方法。
  7. 前記処理サーバは、前記要求信号を受信してトランザクションの処理を実行し、その実行によって自身に接続されている前記データ管理装置とは別の前記データ管理装置内のデータへのアクセスを行うときに、前記配置IDをキーとして、前記分散処理装置の記憶手段から対応する前記処理サーバを特定し、その特定した前記処理サーバに接続されている前記データ管理装置に対して、前記データへのアクセスを行うことを特徴とする
    請求項5または請求項6に記載の分散処理方法。
  8. 前記分散処理装置の記憶手段には、前記配置IDと前記装置IDとの対応情報として、前記配置IDの始点から終点までの範囲を示す値域に対して、1つの前記装置IDを対応づける値域対応データが格納されており、
    前記分散処理装置内に新たな前記処理サーバが追加されるときには、前記値域対応データのうちの1つの値域を選択して、その選択した前記値域対応データの値域を分割して、分割した片方の値域を新たな前記処理サーバの前記装置IDに対応付け、
    前記分散処理装置内から前記処理サーバが削除されるときには、前記値域対応データのうちの削除される前記処理サーバに対応する値域を選択して、その選択した前記値域対応データの値域を他の前記処理サーバの値域へと統合することを特徴とする
    請求項5ないし請求項7のいずれか1項に記載の分散処理方法。
JP2011019964A 2011-02-01 2011-02-01 分散処理装置、および、分散処理方法 Active JP5452516B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011019964A JP5452516B2 (ja) 2011-02-01 2011-02-01 分散処理装置、および、分散処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011019964A JP5452516B2 (ja) 2011-02-01 2011-02-01 分散処理装置、および、分散処理方法

Publications (2)

Publication Number Publication Date
JP2012160075A JP2012160075A (ja) 2012-08-23
JP5452516B2 true JP5452516B2 (ja) 2014-03-26

Family

ID=46840541

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011019964A Active JP5452516B2 (ja) 2011-02-01 2011-02-01 分散処理装置、および、分散処理方法

Country Status (1)

Country Link
JP (1) JP5452516B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6093319B2 (ja) * 2014-02-27 2017-03-08 日本電信電話株式会社 クラスタシステム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0887473A (ja) * 1994-09-16 1996-04-02 Toshiba Corp データ処理装置
JPH09218858A (ja) * 1996-02-14 1997-08-19 Hitachi Ltd 分散型データベース管理システム
JP2005078394A (ja) * 2003-09-01 2005-03-24 Nec Corp 非共有型データベースクラスタシステム,データベースノードおよび動的データ再配置方法ならびにプログラム
JP4537250B2 (ja) * 2005-04-19 2010-09-01 株式会社日立製作所 ゲートウェイ装置
JP2009259007A (ja) * 2008-04-17 2009-11-05 Nippon Telegr & Teleph Corp <Ntt> 分散格納方法、分散格納システム及び分散格納装置

Also Published As

Publication number Publication date
JP2012160075A (ja) 2012-08-23

Similar Documents

Publication Publication Date Title
CN109343963B (zh) 一种容器集群的应用访问方法、装置及相关设备
CN105095317B (zh) 分布式数据库服务管理***
US20240176672A1 (en) Systems and methods providing serverless dns integration
US10146848B2 (en) Systems and methods for autonomous, scalable, and distributed database management
CN106817432B (zh) 云计算环境下虚拟资源弹性伸展的方法,***和设备
US20190340171A1 (en) Data Redistribution Method and Apparatus, and Database Cluster
CN111338806B (zh) 一种业务控制方法及装置
US9760370B2 (en) Load balancing using predictable state partitioning
US9483493B2 (en) Method and system for accessing a distributed file system
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
US11140220B1 (en) Consistent hashing using the power of k choices in server placement
JP2013090072A (ja) サービス提供システム
JP6405255B2 (ja) 通信システム、キュー管理サーバ、及び、通信方法
CN110569302A (zh) 一种基于lucene的分布式集群的物理隔离的方法及装置
CN111124589A (zh) 一种服务发现***、方法、装置及设备
EP4369181A1 (en) Node for running container group, and management system and method of container group
JP5452516B2 (ja) 分散処理装置、および、分散処理方法
WO2016000303A1 (zh) 一种资源分配方法、***及计算机存储介质
CN112422611A (zh) 基于分布式对象存储的虚拟桶存储处理方法和***
CN112910796B (zh) 流量管理方法、装置、设备、存储介质以及程序产品
US11310309B1 (en) Arc jump: per-key selection of an alternative server when implemented bounded loads
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN109936672B (zh) 一种在线计费方法及装置
CN114072768A (zh) 用于桥接数据库架构的控制器
US11943316B1 (en) Database connection multiplexing for prepared statements

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130204

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131227

R150 Certificate of patent or registration of utility model

Ref document number: 5452516

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350