JP2013142996A - 分散データベースシステム及びデータ更新・配信方法 - Google Patents

分散データベースシステム及びデータ更新・配信方法 Download PDF

Info

Publication number
JP2013142996A
JP2013142996A JP2012002759A JP2012002759A JP2013142996A JP 2013142996 A JP2013142996 A JP 2013142996A JP 2012002759 A JP2012002759 A JP 2012002759A JP 2012002759 A JP2012002759 A JP 2012002759A JP 2013142996 A JP2013142996 A JP 2013142996A
Authority
JP
Japan
Prior art keywords
original data
data
server
update
storage
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012002759A
Other languages
English (en)
Other versions
JP5701224B2 (ja
Inventor
Kenji Abe
健二 阿部
Junko Sasaki
潤子 佐々木
Yuji Ikeda
祐次 池田
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 JP2012002759A priority Critical patent/JP5701224B2/ja
Publication of JP2013142996A publication Critical patent/JP2013142996A/ja
Application granted granted Critical
Publication of JP5701224B2 publication Critical patent/JP5701224B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散データベースシステムに格納された原本データと当該原本データの複製を用いるサーバに格納された複製データとの一貫性を保持すること。
【解決手段】サーバ#1(3a)からのデータ更新要求を任意のエレメント100(例えば、エレメント#1(100a))で受け付けて、更新要求された原本データを更新した後に、当該原本データの複製を用いるサーバ#2(3b)に更新後の原本データを配信し、そのデータ更新要求に対する応答を上記受け付けたエレメント#1(100a)から返信する。
【選択図】図1

Description

本発明は、分散データベースシステムに格納された原本データを更新等する技術に関する。
3GPP(3rd Generation Partnership Project)では、ユーザプロファイルの原本データを集中的に管理するデータ保持サーバが定義されており、収容するユーザプロファイル数が膨大である場合には、複数のデータ保持サーバによりHSS(分散データベースシステム)が構築される。
HSS内の原本データが更新された場合、その原本データを用いて呼処理を行う呼処理サーバに何らかの手段をもって通知することが必要となるが、非特許文献1,2によれば、図13に示すように、呼処理サーバから購読予約を事前に受け付けておき、データ更新サーバによって原本データが更新された場合には当該購読予約先に更新通知を送信し、その後、当該通知を受けた呼処理サーバからHSSにアクセスして更新後の原本データを取得するPull取得方式が規定されている。
「3rd Generation Partnership Project; Technical Specification Group Core network and Terminals; IP Multimedia (IM) Subsystem Sh interface; Signalling flows and message contents (Release 11)」、3GPP TS 29.328、V11.0.0、2011-06 「3rd Generation Partnership Project; Technical Specification Group Core network and Terminals; Sh Interface based on the Diameter protocol; Protocol details (Release 11)」、3GPP TS 29.329、V11.0.0、2011-06
しかしながら、先のPull取得方式によれば、HSSと呼処理サーバの各データ更新が非同期に実施されるため、HSS内のデータ保持サーバは、呼処理サーバにおいてデータ更新が成功したか否かを判断できないという課題があった(データの一貫性についての課題)。
一方、HSSと呼処理サーバの各データの一致性をリアルタイムに保持するには、HSSと呼処理サーバでの各データ更新を同期的に実施する必要がある。この場合、図14に示すように、呼処理サーバでのデータ更新が終了するまで更新されないように、HSSにおいて対象データをロック(更新不可状態)する必要があった。
しかしながら、例えば、1つの更新要求で複数の原本データを同時に更新する場合には、HSS内の全ての原本データをロックしなければならず、例えば2層ロック等の処理が必要であることから、処理の多重化やスループットの低下が懸念されるという課題があった(データの整合性についての課題)。
本発明は、上記課題を鑑みてなされたものであり、分散データベースシステムに格納された原本データと当該原本データの複製を用いるサーバに格納された複製データとの一貫性を保持することを第1の課題とし、原本データや複製データの整合性を確保することを第2の課題とする。
請求項1記載の分散データベースシステムは、原本データをいずれかのエレメントに記憶した複数のエレメントで構成される分散データベースシステムにおいて、第1サーバからのデータ更新要求を任意のエレメントで受け付けて、更新要求された原本データを更新した後に、当該原本データの複製データを用いる第2サーバに更新後の原本データを配信し、前記データ更新要求に対する応答を前記受け付けたエレメントから返信することを特徴とする。
本発明によれば、第1サーバからのデータ更新要求を任意のエレメントで受け付けて、そのデータ更新要求に対する応答を当該受け付けたエレメントから返信するため、分散格納における原本データの位置透過性や、原本データへのアクセスの負荷分散を実現できる。
また、本発明によれば、更新要求された原本データを更新した後に、その原本データの複製データを用いる第2サーバに更新後の原本データを配信するため、従来のPull取得方式(第2サーバからのアクセスによる原本データの取得)に代えてPush配信方式(分散データベースシステムからの能動的な原本データの提供)が実現可能となることから、分散データベースシステムに格納された原本データと第2サーバに格納された複製データとの一貫性を保持できる。
請求項2記載の分散データベースシステムは、請求項1記載の分散データベースシステムにおいて、前記原本データを更新し、更新後の原本データを配信するエレメントは、前記第2サーバ毎に1つであることを特徴とする。
本発明によれば、原本データを更新し、更新後の原本データを配信するエレメントは、第2サーバ毎に1つであるため、たとえ同一の原本データに対して同時に複数の第1サーバからデータ変更要求された場合であっても他のエレメントにより更新又は配信されないことから、それら各データの整合性を確保できる。
また、本発明によれば、原本データや複製データに対するデータロックやグローバルロックが不要であることから、分散データベースシステムの性能を向上できる。
請求項3記載の分散データベースシステムは、請求項1又は2記載の分散データベースシステムにおいて、前記更新後の原本データの配信と共に前記複製データの更新完了通知を返信する要求を前記第2サーバに送信し、当該第2サーバから当該更新完了通知を受信した後に、前記応答の返信と共に当該第2サーバでの更新完了を前記第1サーバに通知することを特徴とする。
本発明によれば、更新後の原本データの配信と共に複製データの更新完了通知を返信する要求を第2サーバに送信し、その第2サーバから更新完了通知を受信した後に、上記応答の返信と共に当該第2サーバでの更新完了を第1サーバに通知するため、原本データと複製データとの一貫性をより確実に保持できる。
請求項4記載の分散データベースシステムは、請求項1乃至3のいずれかに記載の分散データベースシステムにおいて、前記複数のエレメントは、それぞれ、前記原本データを記憶しておく記憶手段と、前記第1サーバからデータ更新要求を受け付けた場合に、更新要求された原本データを配信する送信手段を有するエレメントに転送し、当該エレメントから応答を受信した後に、前記データ更新要求に対する応答を返信する受信手段と、前記データ更新要求が転送された場合に、更新要求された原本データを記憶している記憶手段を有するエレメントに原本データの更新を要求し、当該原本データが更新された後に、前記第2サーバに更新後の原本データを配信する送信手段と、を有することを特徴とする。
請求項5記載の分散データベースシステムは、請求項1乃至4のいずれかに記載の分散データベースシステムにおいて、前記複数のエレメントは、それぞれ、前記原本データを記憶しておく記憶手段と、サーバからデータ参照要求を受け付けた場合に、参照要求された原本データを記憶している記憶手段を有するエレメントから当該原本データを取得して前記サーバに返信する受信手段と、を有することを特徴とする。
請求項6記載の分散データベースシステムは、請求項1乃至5のいずれかに記載の分散データベースシステムにおいて、前記複数のエレメントは、それぞれ、前記原本データを記憶しておく記憶手段と、所定の原本データを記憶している記憶手段を有するエレメントから当該原本データを取得して、当該原本データの複製データを用いるサーバに前記取得した原本データで当該複製データを更新する更新要求を定期的又は前記原本データが更新されたタイミングで送信する送信手段と、を有することを特徴とする。
請求項7記載の分散データベースシステムは、請求項4乃至6のいずれかに記載の分散データベースシステムにおいて、任意の前記送信手段で1つの送信手段群を構成し、前記第2サーバに対して前記1つの送信手段群を構成する全ての送信手段がコネクションを確立し、当該1つの送信手段群において1つの送信手段を主とし他の送信手段を従として、同じ送信手段群からの配信は主たる送信手段から行うことを特徴とする。
本発明によれば、任意の送信手段で1つの送信手段群を構成し、第2サーバに対して1つの送信手段群を構成する全ての送信手段がコネクションを確立し、その1つの送信手段群において1つの送信手段を主とし他の送信手段を従として、同じ送信手段群からの配信は主たる送信手段から行うため、原本データの更新処理や第2サーバへの配信処理の冗長化によるシステムの信頼性を向上できる。
請求項8記載の分散データベースシステムは、請求項4乃至7のいずれかに記載の分散データベースシステムにおいて、任意の前記記憶手段で1つの記憶手段群を構成し、前記1つの記憶手段群を構成する全ての記憶手段は同じ原本データを記憶し、当該1つの記憶手段群において1つの記憶手段を主とし他の記憶手段を従として、同じ記憶手段群内での原本データの更新は主たる記憶手段のみが行い、当該更新結果を従たる記憶手段に通知することを特徴とする。
本発明によれば、任意の記憶手段で1つの記憶手段群を構成し、その1つの記憶手段群を構成する全ての記憶手段は同じ原本データを記憶し、その1つの記憶手段群において1つの記憶手段を主とし他の記憶手段を従として、同じ記憶手段群内での原本データの更新は主たる記憶手段のみが行い、その更新結果を従たる記憶手段に通知するため、複数の記憶手段での原本データの冗長化によるシステムの信頼性を向上できる。
請求項9記載のデータ更新・配信方法は、原本データをいずれかのエレメントに記憶した複数のエレメントで構成される分散データベースシステムで行うデータ更新・配信方法において、第1サーバからのデータ更新要求を任意のエレメントで受け付けて、更新要求された原本データを更新した後に、当該原本データの複製データを用いる第2サーバに更新後の原本データを配信し、前記データ更新要求に対する応答を前記受け付けたエレメントから返信することを特徴とする。
本発明によれば、第1サーバからのデータ更新要求を任意のエレメントで受け付けて、そのデータ更新要求に対する応答を当該受け付けたエレメントから返信するため、分散格納における原本データの位置透過性や、原本データへのアクセスの負荷分散を実現できる。
また、本発明によれば、更新要求された原本データを更新した後に、その原本データの複製データを用いる第2サーバに更新後の原本データを配信するため、従来のPull取得方式(第2サーバからのアクセスによる原本データの取得)に代えてPush配信方式(分散データベースシステムからの能動的な原本データの提供)が実現可能となることから、分散データベースシステムに格納された原本データと第2サーバに格納された複製データとの一貫性を保持できる。
本発明によれば、分散データベースシステムに格納された原本データと当該原本データの複製を用いるサーバに格納された複製データとの一貫性を保持できる。
分散データベースシステムの全体構成を示す図である。 エレメントで保持される全てのデータ例を示す図である。 センダーファミリーの構成例を示す図である。 ストレージファミリーの構成例を示す図である。 原本データの更新処理フローを示す図である。 更新処理フロー説明時における第1参照図である。 更新処理フロー説明時における第2参照図である。 更新処理フロー説明時における第3参照図である。 原本データの参照処理フローを示す図である。 参照処理フロー説明時における参照図である。 原本データの定期的push配信処理フローを示す図である。 定期的push配信処理フロー説明時における参照図である。 従来におけるデータ更新処理フロー(第1例)を示す図である。 従来におけるデータ更新処理フロー(第2例)を示す図である。
以下、本発明を実施する一実施の形態について図面を用いて説明する。但し、本発明は多くの異なる様態で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。
〔分散データベースシステムの全体構成について〕
図1は、本実施の形態に係る分散データベースシステムの全体構成を示す図である。この分散データベースシステムは、分散データベースシステム1と、複数のサーバ3と、分散データベースシステム1と複数のサーバ3とを通信可能に接続する通信ネットワーク5と、で主に構成される。
分散データベースシステム1は、当該システム内の複数のノード(以下、エレメント)に分散配置された原本データをシステム利用主であるサーバ3が単一のデータベースのように利用可能にしたものであり、本実施の形態において、原本データをいずれかのエレメントに記憶した複数のエレメント100により構成される。
全てのエレメント100は、自身以外のエレメント100との間で相互に通信可能となるように通信路300を介して接続され、各エレメント100は、それぞれ、レシーバ(受信手段)11と、センダー(送信手段)12と、ストレージ(記憶手段)13と、で主に構成される。
このようなエレメント100は、CPU等の制御手段やメモリ等の記憶手段により構成される情報処理装置で実現可能であり、背景技術で説明したデータ保持サーバに相当する。
具体的には、例えば、レシーバ11やセンダー12を制御手段で構成し、ストレージ13を記憶手段で構成することが可能である。構成態様によっては、レシーバ11やセンダー12に記憶手段を具備させ、DBMS(Database Management System)等で実現する場合にはストレージ13に制御手段を具備させることも可能である。
なお、図1に示したエレメント100は、エレメント#1(100a)〜エレメント#4(100d)の4つであるが、分散データベースシステム1において原本データの分散を意識する必要のない透過的環境を提供可能であればよいことから、1つ以上であればよい。
サーバ3は、分散データベースシステム1を利用するシステム利用主であり、背景技術で説明したデータ更新サーバや呼処理サーバに相当する。データ更新サーバの場合には、分散データベースシステム1内の原本データの更新を要求する。一方、呼処理サーバの場合には、分散データベースシステム1内の原本データを取得し、その取得した原本データに基づいて自身のキャッシュデータ(原本データの複製データ)を更新した後に、当該更新後の原本データに基づいて呼処理を実行する。
なお、図1に示したサーバ3は、サーバ#1(3a)とサーバ#2(3b)の2つであるが、一般に、データ更新サーバや呼処理サーバは1つ以上で構成されることから、1つ以上であればよい。
以下、分散データベースシステム1の機能及び処理動作について説明する。なお、分散データベースシステム1内に格納される原本データとしては、3GPPで規定されるようなユーザプロファイルが例とされるが、本発明は、分散格納された原本データの位置透過性や、その原本データとキャッシュデータとの一貫性を保持すること等を目的とすることから、何らかの原本データであればよく、その種別については何ら限定されない。
〔分散データベースシステム1の機能について〕
次に、図2〜図4を参照しながら、分散データベースシステム1を構成しているエレメント100のレシーバ11、センダー12、ストレージ13の各機能について説明する。
なお、図2には、理解を容易にするため、エレメント100が保持する全てのデータを1つの図面内に記載している。ここでいうデータとは、「配信サーバ対応表」、「加入者単位キー対応表」、「データ分散対応表」、「原本データ」、それら各表内の実データである。但し、図2に示された各表内の具体的なデータは、以降説明するための例示である。
(レシーバの機能について)
最初に、レシーバ11の機能について説明する。レシーバ11は、主に以下の機能を具備する。
(1)任意のサーバ3から送信された任意のリクエスト(要求)を受け付けて、そのリクエストに対するレスポンス(応答)を、当該リクエストを受け付けたレシーバ11からサーバ3に送信(返信)する機能を有する。
(2)任意のサーバ3から送信された原本データ参照リクエストに対して、同一エレメント内のストレージ13と連携して当該原本データを保持するストレージから原本データを取得する機能を有する。
(3)原本データのpush配信を必要とする配信サーバ(図1に示すサーバ3)と、当該配信サーバに原本データをpush配信するセンダーを収容するセンダー収容エレメントとの対応関係を示す「配信サーバ対応表」を全てのレシーバ11で共有する機能を有する。センダー収容エレメントは、配信サーバ毎に1つ設定されている。
(4)任意のサーバ3から送信された原本データ更新リクエストに対して、「配信サーバ対応表」に示される配信サーバに対応したセンダーへ当該リクエストをリレー(転送)する機能を有する。
(センダーの機能について)
次に、センダー12の機能について説明する。センダー12は、主に以下の機能を具備する。
(1)レシーバ11と連携して原本データ更新リクエストを受け付けて、当該リクエストに対するレスポンスを、同一のレシーバ11に送信する機能を有する。
(2)同一の原本データに対する複数の原本データ更新リクエストは、受け付け順に逐次処理を行う機能を有する。
(3)更新後の原本データの配信サーバへのpush配信の要否を判定し、必要な場合は当該原本データのpush配信を行う機能を有する。
(4)原本データのpush配信の失敗時に、ストレージ13内の原本データ更新処理のロールバックを行う機能を有する。
(5)任意のサーバ3に対して、定期的又は原本データが更新されたタイミングで原本データをpush配信し、当該任意のサーバ3のキャッシュデータのリフレッシュを行う機能を有する。
(6)異なるエレメント100に収容される複数のセンダー12でセンダーファミリー(送信手段群)を構成し(図3参照)、各センダー12の配信サーバに対して、センダーファミリーを構成する全てのセンダーがコネクションを確立する機能を有する。
(7)センダーファミリーを構成するセンダーのうち、1つのセンダーをマスターセンダーとし、その他のセンダーをスレーブセンダーとして、同じセンダーファミリーからの配信サーバへのデータ配信は、マスターセンダーのみが行う機能を有する。
(8)「配信サーバ対応表」の「センダー収容エレメント」には、マスターセンダーを収容するエレメントを記載し、マスターセンダーの障害等により変更する必要が生じた場合は、センダーファミリー内のスレーブセンダーの中から新たなマスターセンダーを選択し、「配信サーバ対応表」の「センダー収容エレメント」の変更をすべてのレシーバに通知する機能を有する。
(9)加入者単位にその加入者が保持するデータスキーマのキーを格納した「加入者単位キー対応表」を保持し、各種データスキーマから加入者が逆引き可能であり、現在操作中のスキーマかどうかをスキーマ単位で判定する機能を有する。
(10)原本データが加入者単位で構成されている場合、上記(3)のpush配信、上記(4)のロールバック、上記(5)のリフレッシュ要求等を、加入者単位で処理する機能を有する。
(ストレージの機能について)
次に、ストレージ13の機能について説明する。ストレージ13は、主に以下の機能を具備する。
(1)「原本データ」を、キー情報に基づいて分散収容し、管理する機能を有する。「原本データ」は、図2に示したように、原本データを一意に識別するデータ識別子と、データの実体である格納データと、原本データのpush配信先サーバを特定するための配信サーバ特定情報と、から構成される。
(2)原本データを識別するキー情報と、当該キー情報で識別される原本データを保持するストレージを収容するストレージ収容エレメントとの対応関係を示す「データ分散対応表」を全てのストレージで共有する機能を有する。
なお、原本データを識別するキー情報は、1つの原本データを一意に識別するデータ識別子の記載(例えば、「AAAxxyy1」)でもよいし、複数の原本データの範囲を識別する記載(例えば、「AAA」)でもよい。
(3)ストレージ13間で連携して異なるエレメント100に収容されるストレージ13が保持する原本データへのアクセスを行うことにより、レシーバ11又はセンダー12に対して、原本データの位置透過性を提供する機能を有する。
(4)異なるエレメント100に収容される複数のストレージ13でストレージファミリーを構成し(図4参照)、ストレージファミリー内の全てのストレージは、同じ原本データを収容する機能を有する。
(5)ストレージファミリーを構成するストレージのうち、1つのストレージをマスターストレージとし、その他のストレージをスレーブストレージとして、同じストレージファミリー内での原本データ更新は、マスターストレージのみが行い、更新結果をスレーブストレージに通知して、原本データを更新する機能を有する。
(6)ストレージファミリー内での原本データ参照を、マスターストレージ又はスレーブストレージに対して行う機能を有する。原本データ更新とは異なり、マスターストレージ又はスレーブストレージのいずれに対して行ってもよい。
(7)「データ分散対応表」の「ストレージ収容エレメント」には、マスターストレージを収容するエレメントを記載し、マスターストレージの障害等により変更する必要が生じた場合は、ストレージファミリー内のスレーブストレージの中から新たなマスターストレージを選択し、「データ分散対応表」の「ストレージ収容エレメント」の変更をすべてのストレージに通知する機能を有する。
(8)原本データスキーマ種別毎に、ストレージを独立とする機能を有する。例えば、スキーマAのストレージファミリー、スキーマBのストレージファミリーなどである。
〔分散データベースシステムの全体動作について〕
(原本データの更新処理について)
引き続き、図5〜図8を参照しながら、サーバ#1(3a)から分散データベースシステム1に対する原本データの更新処理について説明する。
最初に、図5、図6に示すように、ステップS101において、サーバ#1(3a)から、「AAAxxyy1」で識別される格納データを「xxy」に更新するリクエスト電文が、分散データベースシステム1を構成する例えばエレメント#1(100a)のレシーバ#1(11a)に通知される。
なお、どのサーバ3からのリクエストをどのレシーバ11に送信するかについては、サーバ3側に特定のレシーバ11を送信先として設定してもよい。その他、サーバ3側に分散データベースシステム1を送信先として設定し、分散データベースシステム1がサーバ3からのリクエストを受信すると、分散データベースシステム1内で受信したリクエストをいずれかのレシーバ11に振り分けることとしてもよい。
次に、ステップS102において、レシーバ#1(11a)は、同じエレメント内のストレージ#1(13a)に対して、通知されたデータ識別子で識別される原本データを蓄積しているストレージを収容するエレメントの特定(ストレージ解決)を要求する。
次に、ステップS103において、ストレージ#1(13a)は、保持している「データ分散対応表」により、レシーバ#1(11a)から通知されたデータ識別子で識別される原本データを蓄積しているストレージを収容するエレメントであるエレメント#3(100c)を特定する。
次に、ステップS104において、ストレージ#1(13a)は、エレメント#3(100c)内のストレージ#3(13c)に対して、「AAAxxyy1」で識別される原本データの取得を要求する。
次に、ステップS105において、ストレージ#3(13c)は、ストレージ#1(13a)から通知されたデータ識別子で識別される原本データを取得する。
次に、ステップS106において、ストレージ#3(13c)は、取得した原本データをストレージ#1(13a)に通知する。
次に、ステップS107において、ストレージ#1(13a)は、通知された原本データをレシーバ#1(11a)に通知する。
次に、図5、図7に示すように、ステップS108において、レシーバ#1(11a)は、通知された原本データに含まれる配信サーバ特定情報からサーバ#2(3b)を取得し、保持している「配信サーバ対応表」により、サーバ#2(3b)に対して送信(原本データのpush配信)を行うセンダーを収容するエレメントであるエレメント#2(100b)を特定する(センダー解決)。
ここで、サーバ#2に対して1つのエレメント(エレメント#2)が特定されるので、複数のエレメントが特定されないことから、原本データやキャッシュデータの整合性を確保できる。
次に、ステップS109において、レシーバ#1(11a)は、エレメント#2(100b)内のセンダー#2(12b)に対して、ステップS101でサーバ#1(3a)から通知されたリクエスト電文をリレー(転送)する。
次に、ステップS110において、センダー#2(12b)は、リクエスト電文中の「AAAxxyy1」をキーとして、「加入者単位キー対応表」で当該キーのstatusを確認し、未使用であれば更新中に変更し、同じエレメント内のストレージ#2(13b)に対して、リレーされたデータ識別子で識別される格納データの更新を要求する。
次に、ステップS111において、ストレージ#2(13b)は、保持している「データ分散対応表」により、レシーバ#1(11a)からリレーされたデータ識別子を含むキー情報で識別される原本データを蓄積しているストレージを収容するエレメントであるエレメント#3(100c)を取得する。
次に、ステップS112において、ストレージ#2(13b)は、エレメント#3(100c)内のストレージ#3(13c)に対して、「AAAxxyy1」で識別される原本データに含まれる格納データを「xxy」に更新する要求を行う。
次に、ステップS113において、ストレージ#3(13c)は、ストレージ#2(12c)から通知されたデータ識別子で識別される原本データに含まれる格納データを「xxx」から「xxy」に更新し、更新後の原本データを取得する。
次に、ステップS114において、ストレージ#3(13c)は、取得した更新後の原本データをストレージ#2(12c)に通知する。
次に、ステップS115において、ストレージ#2(12c)は、通知された更新後の原本データをセンダー#2(12b)に通知する。
次に、図5、図8に示すように、ステップS116において、センダー#2(12b)は、ステップS109でレシーバ#1(11a)からリレーされたリクエスト電文中の操作対象データ、操作種別、送信元情報をもとに、サーバ#2(3b)が保持するキャッシュデータへの原本データのpush配信の要否を判定する。
次に、ステップS117において、ステップS116でサーバ#2(3b)が保持するキャッシュデータへの原本データのpush配信が必要と判定された場合、センダー#2(12b)は、更新後の原本データをサーバ#2(3b)に配信する(push配信)と共に、サーバ#2(3b)のキャッシュデータの更新終了通知(更新完了通知)を返信する要求を送信する。
このとき、ある加入者の原本データのみ更新されている場合には、当該更新された加入者の原本データのみをpush配信するようにしても良い(原本データの加入者単位配信)。
次に、ステップS118において、サーバ#2(3b)は、通知された更新後の原本データをもとに、保持するキャッシュデータを更新する。
次に、ステップS119において、サーバ#2(3b)は、当該キャッシュデータの更新終了通知(更新完了通知)を、センダー#2(12b)に通知する。
次に、ステップS120において、センダー#2(12b)は、サーバ#2(3b)から更新終了通知を受信した後に、「加入者単位キー対応表」で当該キーのstatusを更新し、ステップS109でレシーバ#1(11a)からリレーされたリクエスト電文に対し、原本データの更新が正常に終了した旨のレスポンスを当該レシーバ#1(11a)にリレーする。
最後に、ステップS121において、レシーバ#1(11a)は、ステップS101において通知されたリクエスト電文に対して、センダー#2(11b)からリレーされたレスポンスをサーバ#1(3a)に通知すると共に、サーバ#2(3b)でのキャッシュデータの更新が正常に終了(完了)した旨のレスポンスも通知する。
なお、ステップS116において、サーバ#2(3b)が保持するキャッシュデータへの原本データのpush配信が不要と判断した場合は、ステップS117〜ステップS119は省略される。
また、ステップS110〜ステップS120における原本データの更新中は、同一のデータ識別子で識別される原本データの新たな更新要求は、先の更新が終了するまでステップS110のセンダー#2(12b)にて待ち合わせる。
また、ステップS113において、ストレージ#3(13c)は、更新すべき原本データを仮登録しておき、ステップS114〜ステップS119において、サーバ#2(3b)が保持するキャッシュデータへのpush配信の正常終了をセンダー#2(12b)が通知された後、ステップS110〜ステップS113を再度実施し、ストレージ#3(13c)は、更新すべき原本データを本登録する形態も可能である。
また、ステップS110で更新中に他の電文を受信した場合、その電文で処理するスキーマが使用中でなければ処理は続行できるが、処理するスキーマが使用中の場合には電文の処理をセンダー内で待ち合わせることとなる。
(原本データの参照処理について)
次に、図9、図10を参照しながら、サーバ#1(3a)から分散データベースシステム1に対する原本データの参照処理について説明する。
最初に、ステップS201において、サーバ#1(3a)から「AAAxxyy1」で識別される原本データを参照するリクエスト電文が、分散データベースシステム1を構成するエレメント#1(100a)のレシーバ#1(11a)に通知される。
次に、ステップS202において、レシーバ#1(11a)は、同じエレメント内のストレージ#1(13a)に対して、通知されたデータ識別子で識別される原本データを蓄積しているストレージを収容するエレメントの特定(ストレージ解決)を要求する。
次に、ステップS203において、ストレージ#1(13a)は、保持している「データ分散対応表」により、レシーバ#1(11a)から通知されたデータ識別子を含むキー情報で識別される原本データを蓄積しているストレージを収容するエレメントであるエレメント#3(13c)を特定する。
次に、ステップS204において、ストレージ#1(13a)は、エレメント#3(100c)内のストレージ#3(13c)に対して、「AAAxxyy1」で識別される原本データの取得を要求する。
次に、ステップS205において、ストレージ#3(13c)は、ストレージ#1(13a)から通知されたデータ識別子で識別される原本データを取得する。
次に、ステップS206において、ストレージ#3(13c)は、取得した原本データをストレージ#1(13a)に通知する。
次に、ステップS207において、ストレージ#1(13a)は、通知された原本データをレシーバ#1(11a)に通知する。
最後に、ステップS208において、レシーバ#1(11a)は、ステップS201において通知されたリクエスト電文に対して、原本データの参照結果を含むレスポンスをサーバ#1(3a)に通知する。
(キャッシュデータのリフレッシュ処理について)
次に、図11、図12を参照しながら、任意のエレメント100が定期的又は原本データが更新されたタイミングで原本データを取得し、当該原本データのキャッシュデータを保持するサーバ3に配信する、キャッシュデータのリフレッシュ処理について説明する。
最初に、ステップS301において、センダー#1(12a)は、例えば予め設定された周期で、同じエレメント内のストレージ#1(13a)に対して、予め設定された「AAAxxyy1」で識別される原本データを蓄積しているストレージを収容するエレメントの特定(ストレージ解決)を要求する。
次に、ステップS302において、ストレージ#1(13a)は、保持している「データ分散対応表」により、センダー#1(12a)から通知されたデータ識別子を含むキー情報で識別される原本データを蓄積しているストレージを収容するエレメントであるエレメント#3(13c)を特定する。
次に、ステップS303において、ストレージ#1(13a)は、エレメント#3(100c)内のストレージ#3(13c)に対して、「AAAxxyy1」で識別される原本データの取得を要求する。
次に、ステップS304において、ストレージ#3(13c)は、ストレージ#1(13a)から通知された「AAAxxyy1」で識別される原本データを取得する。
次に、ステップS305において、ストレージ#3(13c)は、取得した原本データをストレージ#1(13a)に通知する。
次に、ステップS306において、ストレージ#1(13a)は、通知された原本データをセンダー#1(12a)に通知する。
次に、ステップS307において、センダー#1(12a)は、通知された原本データに含まれる配信サーバ特定情報からサーバ#1(3a)を取得し、原本データの参照結果によるキャッシュデータのリフレッシュを要求するリクエスト電文(取得した原文データでキャッシュデータを更新する更新要求)を当該サーバ#1(3a)に通知する。
最後に、ステップS308において、サーバ#1(3a)は、通知されたリクエスト電文に対して、リフレッシュ完了のレスポンスをセンダー#1(12a)に通知する。
以上より、本実施の形態によれば、サーバ#1(3a)からの原本データ更新リクエストを任意のエレメントで受け付けて、そのデータ更新リクエストに対するレスポンスを当該受け付けたエレメントから返信するので、分散格納における原本データの位置透過性や、原本データへのアクセスの負荷分散を実現できる。
また、本実施の形態によれば、更新リクエストされた原本データを更新した後に、その原本データのキャッシュデータを用いるサーバ#2(3b)に更新後の原本データを配信するので、従来のPull取得方式(サーバ#2(3b)からのアクセスによる原本データの取得)に代えてPush配信方式(分散データベースシステム1からの能動的な原本データの提供)が実現可能となることから、分散データベースシステム1に格納された原本データとサーバ#2(3b)に格納されたキャッシュデータとの一貫性を保持できる。
また、本実施の形態によれば、原本データを更新し、更新後の原本データを配信するエレメント100をサーバ3毎に1つに限定している(1つのサーバ#2(3b)に対して1つのエレメント#3(100c)(図2の「配信サーバ対応表」参照))ので、たとえ同一の原本データに対して同時に複数のサーバ#1(3a)から原本データ変更リクエストされた場合であっても他のエレメントにより更新又は配信されないことから、原本データやキャッシュデータの整合性を確保できる。
ここで、あるサーバ3が保持するキャッシュデータが1種類であれば原本データを保持するエレメント100でデータ操作を実施すればよいが、一般的にサーバ毎に複数種類のキャッシュデータが存在し、それぞれのキャッシュデータに対する原本データが異なるエレメント100で保持されている場合でも、それらのデータを更新するエレメント100をサーバ3毎に別に定義・限定することにより同様の対応が可能となる。
また、本実施の形態によれば、原本データやキャッシュデータに対するデータロックやグローバルロックが不要であることから、分散データベースシステム1の性能を向上できる。
また、本実施の形態によれば、更新後の原本データの配信と共にキャッシュデータの更新終了通知を返信する要求をサーバ#2(3b)に送信し、そのサーバ#2(3b)から更新終了通知を受信した後に、原本データ更新リクエストに対するレスポンスの返信と共に当該サーバ#2(3b)での更新終了をサーバ#1(3a)に通知するので、原本データとキャッシュデータとの一貫性をより確実に保持できる。
また、本実施の形態によれば、任意のセンダー12で1つのセンダーファミリーを構成し、サーバ#2(3b)に対して1つのセンダーファミリーを構成する全てのセンダー12がコネクションを確立し、その1つのセンダーファミリーにおいて1つのセンダーをマスターセンダーとし、他のセンダーをスレーブセンダーとして、同じセンダーファミリーからの配信はマスターセンダーから行うので、原本データの更新処理やサーバ#2(3b)への配信処理の冗長化によるシステムの信頼性を向上できる。
また、本実施の形態によれば、任意のストレージ13で1つのストレージファミリーを構成し、その1つのストレージファミリーを構成する全てのストレージは同じ原本データを記憶し、その1つのストレージファミリーにおいて1つのストレージをマスターストレージとし、他のストレージをスレーブストレージとして、同じストレージファミリー内での原本データの更新はマスターストレージのみが行い、その更新結果をスレーブストレージに通知するので、複数のストレージ13での原本データの冗長化によるシステムの信頼性を向上できる。
1…分散データベースシステム
3…サーバ
5…通信ネットワーク
100…エレメント
11…レシーバ(受信手段)
12…センダー(送信手段)
13…ストレージ(記憶手段)
300…通信路
S101〜S121、S201〜S208、S301〜S308…ステップ

Claims (9)

  1. 原本データをいずれかのエレメントに記憶した複数のエレメントで構成される分散データベースシステムにおいて、
    第1サーバからのデータ更新要求を任意のエレメントで受け付けて、更新要求された原本データを更新した後に、当該原本データの複製データを用いる第2サーバに更新後の原本データを配信し、前記データ更新要求に対する応答を前記受け付けたエレメントから返信することを特徴とする分散データベースシステム。
  2. 前記原本データを更新し、更新後の原本データを配信するエレメントは、
    前記第2サーバ毎に1つであることを特徴とする請求項1記載の分散データベースシステム。
  3. 前記更新後の原本データの配信と共に前記複製データの更新完了通知を返信する要求を前記第2サーバに送信し、当該第2サーバから当該更新完了通知を受信した後に、前記応答の返信と共に当該第2サーバでの更新完了を前記第1サーバに通知することを特徴とする請求項1又は2記載の分散データベースシステム。
  4. 前記複数のエレメントは、それぞれ、
    前記原本データを記憶しておく記憶手段と、
    前記第1サーバからデータ更新要求を受け付けた場合に、更新要求された原本データを配信する送信手段を有するエレメントに転送し、当該エレメントから応答を受信した後に、前記データ更新要求に対する応答を返信する受信手段と、
    前記データ更新要求が転送された場合に、更新要求された原本データを記憶している記憶手段を有するエレメントに原本データの更新を要求し、当該原本データが更新された後に、前記第2サーバに更新後の原本データを配信する送信手段と、
    を有することを特徴とする請求項1乃至3のいずれかに記載の分散データベースシステム。
  5. 前記複数のエレメントは、それぞれ、
    前記原本データを記憶しておく記憶手段と、
    サーバからデータ参照要求を受け付けた場合に、参照要求された原本データを記憶している記憶手段を有するエレメントから当該原本データを取得して前記サーバに返信する受信手段と、
    を有することを特徴とする請求項1乃至4のいずれかに記載の分散データベースシステム。
  6. 前記複数のエレメントは、それぞれ、
    前記原本データを記憶しておく記憶手段と、
    所定の原本データを記憶している記憶手段を有するエレメントから当該原本データを取得して、当該原本データの複製データを用いるサーバに前記取得した原本データで当該複製データを更新する更新要求を定期的又は前記原本データが更新されたタイミングで送信する送信手段と、
    を有することを特徴とする請求項1乃至5のいずれかに記載の分散データベースシステム。
  7. 任意の前記送信手段で1つの送信手段群を構成し、
    前記第2サーバに対して前記1つの送信手段群を構成する全ての送信手段がコネクションを確立し、当該1つの送信手段群において1つの送信手段を主とし他の送信手段を従として、同じ送信手段群からの配信は主たる送信手段から行うことを特徴とする請求項4乃至6のいずれかに記載の分散データベースシステム。
  8. 任意の前記記憶手段で1つの記憶手段群を構成し、
    前記1つの記憶手段群を構成する全ての記憶手段は同じ原本データを記憶し、当該1つの記憶手段群において1つの記憶手段を主とし他の記憶手段を従として、同じ記憶手段群内での原本データの更新は主たる記憶手段のみが行い、当該更新結果を従たる記憶手段に通知することを特徴とする請求項4乃至7のいずれかに記載の分散データベースシステム。
  9. 原本データをいずれかのエレメントに記憶した複数のエレメントで構成される分散データベースシステムで行うデータ更新・配信方法において、
    第1サーバからのデータ更新要求を任意のエレメントで受け付けて、更新要求された原本データを更新した後に、当該原本データの複製データを用いる第2サーバに更新後の原本データを配信し、前記データ更新要求に対する応答を前記受け付けたエレメントから返信することを特徴とするデータ更新・配信方法。
JP2012002759A 2012-01-11 2012-01-11 分散データベースシステム及びデータ更新・配信方法 Active JP5701224B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012002759A JP5701224B2 (ja) 2012-01-11 2012-01-11 分散データベースシステム及びデータ更新・配信方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012002759A JP5701224B2 (ja) 2012-01-11 2012-01-11 分散データベースシステム及びデータ更新・配信方法

Publications (2)

Publication Number Publication Date
JP2013142996A true JP2013142996A (ja) 2013-07-22
JP5701224B2 JP5701224B2 (ja) 2015-04-15

Family

ID=49039533

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012002759A Active JP5701224B2 (ja) 2012-01-11 2012-01-11 分散データベースシステム及びデータ更新・配信方法

Country Status (1)

Country Link
JP (1) JP5701224B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204739A (ja) * 1992-01-29 1993-08-13 Nec Corp 重複型分散データベースの同期方式
JPH11168555A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd インテリジェントネットワーク内のデータベースの同期方法と装置
JP2004171278A (ja) * 2002-11-20 2004-06-17 Nippon Telegr & Teleph Corp <Ntt> データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体
JP2008028455A (ja) * 2006-07-18 2008-02-07 Ntt Docomo Inc サービス制御装置
JP2008234328A (ja) * 2007-03-20 2008-10-02 Nec Corp プレゼンスサービスシステム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05204739A (ja) * 1992-01-29 1993-08-13 Nec Corp 重複型分散データベースの同期方式
JPH11168555A (ja) * 1997-12-05 1999-06-22 Fujitsu Ltd インテリジェントネットワーク内のデータベースの同期方法と装置
JP2004171278A (ja) * 2002-11-20 2004-06-17 Nippon Telegr & Teleph Corp <Ntt> データの複製管理方法、ノードにおける情報処理方法、ノード、データの複製管理プログラム、および該プログラムを記載した記録媒体
JP2008028455A (ja) * 2006-07-18 2008-02-07 Ntt Docomo Inc サービス制御装置
JP2008234328A (ja) * 2007-03-20 2008-10-02 Nec Corp プレゼンスサービスシステム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSNG201100192058; 高橋英雅ほか3名: 'HSSの固定IP網への適用に関する考察' 電子情報通信学会技術研究報告 第110巻 第448号, 20110224, pp.399〜402, 社団法人電子情報通信学会 *
CSNJ201110053034; 阿部健二ほか2名: 'NGNにおける加入者DB適用時の要求条件に関する一考察' 電子情報通信学会2011年通信ソサイエティ大会講演論文集2 B-6-34, 20110830, p.34, 社団法人電子情報通信学会 *
JPN6014001948; 阿部健二ほか2名: 'NGNにおける加入者DB適用時の要求条件に関する一考察' 電子情報通信学会2011年通信ソサイエティ大会講演論文集2 B-6-34, 20110830, p.34, 社団法人電子情報通信学会 *
JPN6014001949; 高橋英雅ほか3名: 'HSSの固定IP網への適用に関する考察' 電子情報通信学会技術研究報告 第110巻 第448号, 20110224, pp.399〜402, 社団法人電子情報通信学会 *

Also Published As

Publication number Publication date
JP5701224B2 (ja) 2015-04-15

Similar Documents

Publication Publication Date Title
US20180367610A1 (en) Data storage method and server applicable to distributed server cluster
JP5798644B2 (ja) フェデレーションインフラストラクチャ内の一貫性
CN103297268B (zh) 基于p2p技术的分布式数据一致性维护系统和方法
WO2016169529A4 (zh) 白杨消息端口交换服务
US9411869B2 (en) Replication between sites using keys associated with modified data
US20140089619A1 (en) Object replication framework for a distributed computing environment
US7984127B2 (en) Data matrix method and system for distribution of data
CN103155497A (zh) 通信系统、控制设备、节点、处理规则设置方法以及程序
US20110196837A1 (en) Enhanced data access for information systems
US20140059315A1 (en) Computer system, data management method and data management program
JP2020507875A5 (ja)
JP2011171867A (ja) メールシステムにおけるデータストアサーバのデータ格納方法およびメール中継方法
CN106059936B (zh) 云系统组播文件的方法及装置
WO2019231645A1 (en) Change notifications for object storage
US20130185329A1 (en) Distributed database
US8447039B2 (en) Active-active hierarchical key servers
US11589287B2 (en) Automatic routing in a mesh network of wireless messaging devices
JP5701224B2 (ja) 分散データベースシステム及びデータ更新・配信方法
EP2025133B1 (en) Repository synchronization in a ranked repository cluster
KR100435985B1 (ko) 투표를 활용한 무정지 서비스 시스템 및 그 시스템에서의정보 갱신 및 제공 방법
KR101066328B1 (ko) 모바일 환경에서 부하 분산 처리 방법 및 이를 구현하는 모바일 디바이스
KR20130074227A (ko) 분산 데이터 관리 시스템 및 그 방법
JP2011002970A (ja) 分散データ管理システム、データ管理装置、データ管理方法、およびプログラム
JP5503599B2 (ja) データ管理方法、データ管理サーバ、そのデータ移行方法及びプログラム
JP5865424B2 (ja) メッセージシステムおよびデータストアサーバ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140110

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140121

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140319

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140916

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141212

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20141222

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150217

R150 Certificate of patent or registration of utility model

Ref document number: 5701224

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150