JP2008233968A - 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム - Google Patents

複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム Download PDF

Info

Publication number
JP2008233968A
JP2008233968A JP2007068258A JP2007068258A JP2008233968A JP 2008233968 A JP2008233968 A JP 2008233968A JP 2007068258 A JP2007068258 A JP 2007068258A JP 2007068258 A JP2007068258 A JP 2007068258A JP 2008233968 A JP2008233968 A JP 2008233968A
Authority
JP
Japan
Prior art keywords
processor
information
information storage
hash value
stored
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
JP2007068258A
Other languages
English (en)
Other versions
JP5084310B2 (ja
Inventor
Takeshi Mabuchi
剛 馬渕
Tetsuo Inoue
哲夫 井上
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.)
NEC Corp
NEC Communication Systems Ltd
Original Assignee
NEC Corp
NEC Communication Systems Ltd
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 NEC Corp, NEC Communication Systems Ltd filed Critical NEC Corp
Priority to JP2007068258A priority Critical patent/JP5084310B2/ja
Priority to US12/049,092 priority patent/US8280910B2/en
Publication of JP2008233968A publication Critical patent/JP2008233968A/ja
Application granted granted Critical
Publication of JP5084310B2 publication Critical patent/JP5084310B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephonic Communication Services (AREA)

Abstract

【課題】複数のプロセッサからなる分散データベースシステム上に分割して配置されるデータを効率よく再配置する。
【解決手段】最終的にホスト情報DB1122が保有すべき情報に対応する新変換DB1121’を旧変換DB1121とともに、RAM112に記憶させる。各PU100は、新変換DB1121’を参照して、自PUがホスト情報DB1122に保持すべきデータを特定する。次に、旧変換DB1121を参照して、特定したデータを現在保有するPU100を特定する。そして、該PU100から、自PUが保持すべきデータを移行する。
【選択図】図3

Description

複数プロセッサに分散されたデータを再配置可能なデータベースサーバ等に関する。
記憶装置を備えた複数のCPU (Central Processing Unit)から構成される分散データベースシステムにおいて、データ量の増加に伴い新たなCPUを増設するような場合、データの再配置が必要となる。従来よりデータの再配置には、通常システムを停止しなければならない等の運用上大きな負担を生じてきた。
この問題を解決するために、CPUを増設した際に、再配置を行わずに新たに追加した記憶領域にデータを記憶する技術が、例えば特許文献1に開示されている。しかし、特許文献1に開示される技術は、検索時に全CPUが自分の保有する記憶装置を検索するため、検索効率が良いとはいえない。検索効率を確保した上で、データの再配置を効率よく行う方法の提案が望まれている。
特開平9−293006号公報
本発明は上記実状を鑑みてなされたものであり、複数プロセッサ上に分割して配置されるデータを効率よく再配置可能なデータベース装置等を提供することを目的とする。
上記目的を達成するため、本発明の第一の観点に係るデータベースサーバは、
複数のプロセッサから構成され、前記複数プロセッサの各々が備えるメモリに分散して情報を記憶し、該分散された情報を再配置可能なデータベースサーバであって、
前記複数のプロセッサの各々は、
キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとし、該ハッシュ値に基づいて前記プロセッサ毎に異なるレコードを記憶する情報記憶手段と、
前記全てのプロセッサが備える前記情報記憶手段に記憶される全ハッシュ値について、各ハッシュ値と、該ハッシュ値を記憶する前記情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第1のプロセッサ情報記憶手段と、
前記全てのプロセッサが備える前記情報記憶手段に新たに記憶されるべき全ハッシュ値について、各ハッシュ値と、新たに該ハッシュ値を記憶すべき前記情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第2のプロセッサ情報記憶手段と、
前記第2のプロセッサ情報記憶手段を参照し、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得し、該プロセッサ識別情報の特定する前記プロセッサの前記情報記憶手段から、該ハッシュ値を有するレコードを取得し、該レコードを自プロセッサの前記情報記憶手段に記憶させることで、レコードを再配置するよう制御する記憶制御手段と、
を備える。
また、前記データベースサーバは、
外部から、検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けらプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていれば、該ハッシュ値に対応付けられているデータを取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に該ハッシュ値が記憶されていなければ、前記第2のプロセッサ情報記憶手段から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの保有する前記情報記憶手段から、該キー情報とそのハッシュ値とに対応付けられているデータを取得する検索手段を備えてもよい。
また、前記データベースサーバにおいて、
前記複数のプロセッサの1つは、マスタプロセッサとして機能し、前記各プロセッサに、前記第2のプロセッサ情報記憶手段に記憶する情報を配布する配布手段を備え、
前記複数のプロセッサの各々の前記第2のプロセッサ情報記憶手段は、前記配布手段から情報が配布されると該配布情報を記憶し、前記記憶制御手段は、前記第2のプロセッサ情報記憶手段が該配布情報の記憶を完了すると、前記第2のプロセッサ情報記憶手段に記憶されたプロセッサ識別情報に基づいて他プロセッサの前記情報記憶手段から自プロセッサへとレコードの再配置を開始する、
ようにしてもよい。
また、前記データベースサーバにおいて、
前記複数のプロセッサの各々は、前記記憶制御手段が全てのレコードの再配置を完了した際に、前記マスタプロセッサに再配置完了の旨を知らせる信号を送信する信号送信手段を備え、
前記マスタプロセッサは、全プロセッサの前記信号送信手段から、レコードの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶手段の記憶している内容を削除し、前記第2のプロセッサ情報記憶手段と前記第1のプロセッサ情報記憶手段とを切り替えるよう制御する、切り替え制御手段を備える、
ようにしてもよい。
また、前記データベースサーバにおいて、前記複数のプロセッサの前記検索手段は、予め設定された順番に基づいて処理を行う、
ようにしてもよい。
また、前記データベースサーバにおいて、前記複数のプロセッサの前記検索手段が処理を行う順番は、ラウンドロビン方式に基づく、
ようにしてもよい。
また、前記データベースサーバにおいて、前記情報記憶手段、および、プロセッサ情報記憶手段は、前記プロセッサが保有するメモリ上に構成される、
ようにしてもよい。
また、本発明の第2の観点に係る方法は、
複数のプロセッサから構成されるデータベースサーバにおいて、前記複数プロセッサの各々が備えるメモリに分散して記憶される情報を再配置する方法であって、
キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとして、前記各プロセッサの情報記憶手段が、該ハッシュ値に基づいて異なるレコードを前記プロセッサ毎に記憶する情報記憶ステップと、
前記各プロセッサの第1のプロセッサ情報記憶手段が、前記複数のプロセッサが備える前記分散情報記憶手段に記憶される全ハッシュ値について、各ハッシュ値と、該ハッシュ値を記憶する前記分散情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第1のプロセッサ情報記憶ステップと、
前記各プロセッサの第2のプロセッサ情報記憶手段が、前記複数のプロセッサが備える前記分散情報記憶手段に新たに記憶されるべき全ハッシュ値について、各ハッシュ値と、新たに該ハッシュ値を記憶すべき前記分散情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第2のプロセッサ情報記憶ステップと、
前記各プロセッサの記憶制御手段が、前記第2のプロセッサ情報記憶手段を参照し、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得し、該プロセッサ識別情報の特定する前記プロセッサの前記情報記憶手段から、該ハッシュ値を有するレコード取得し、該レコードを自プロセッサの前記情報記憶手段に記憶させることで、レコードを再配置するよう制御する記憶制御ステップと、
を備える。
また、前記方法は、
前記各プロセッサの検索手段が、外部から検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けらプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていれば、該ハッシュ値に対応付けられているデータを取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていない場合、前記第2のプロセッサ情報記憶手段から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの保有する前記情報記憶手段から、該キー情報とそのハッシュ値とに対応付けられているデータを取得する検索ステップを備える、
ようにしてもよい。
また、前記方法は、
マスタプロセッサとして機能する前記複数のプロセッサの1つが備える配布手段が、前記第2のプロセッサ情報記憶手段に記憶するための情報を前記各プロセッサに配布する配布ステップと、
前記配布手段から情報が配布されると、前記第2のプロセッサ情報記憶手段が該配布情報を記憶し、該配布情報の記憶を完了すると、前記記憶制御手段が前記第2のプロセッサ情報記憶手段に記憶されたプロセッサ識別情報に基づいて他プロセッサの前記情報記憶手段から自プロセッサへとレコードの再配置を開始するステップと、
を備えるようにしてもよい。
また前記方法は、
前記記憶制御手段が全てのレコードの再配置を完了した際に、前記各プロセッサの信号送信手段が前記マスタプロセッサに再配置完了の旨を知らせる信号を送信する信号送信ステップと、
前記マスタプロセッサの切り替え制御手段が、全プロセッサの前記信号送信手段から、データの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶手段の記憶している内容を削除し、前記第2のプロセッサ情報記憶手段と前記第1のプロセッサ情報記憶手段とを切り替えるよう制御する切り替え制御ステップと、
を備えるようにしてもよい。
また前記方法において、
前記情報検索ステップは、予め設定された順番に基づいて、前記複数のプロセッサの前記情報検索手段によって実施される、
ようにしてもよい。
また前記方法において、
前記複数のプロセッサの前記検索手段が処理を行う順番は、ラウンドロビン方式に基づいて決定される、
ようにしてもよい。
また前記方法において、
前記情報記憶ステップ、および、プロセッサ情報記憶ステップは、前記プロセッサが保有するメモリ上に構成される前記情報記憶手段、および、プロセッサ情報記憶手段によって実施される、
ようにしてもよい。
また、本発明の第2の観点に係るプログラムの発明は、
複数のプロセッサから構成される、データベースサーバにおいて、前記各プロセッサに、
キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとし、該ハッシュ値に基づいて前記プロセッサ毎に異なるレコードを記憶させる情報記憶ステップと、
前記全プロセッサが前記情報記憶ステップにて記憶した全ハッシュ値について、各ハッシュ値と、前記情報記憶ステップで該ハッシュ値を記憶した前記プロセッサを特定するプロセッサ識別情報とを対応付けて記憶させる第1のプロセッサ情報記憶ステップと、
前記全プロセッサが前記情報記憶ステップを実行することで新たに記憶すべきハッシュ値全てについて、各ハッシュ値と、前記情報情報記憶ステップを実行することで該ハッシュ値を新たに記憶すべきプロセッサを特定するプロセッサ識別情報とを対応付けて記憶させる第2のプロセッサ情報記憶ステップと、
前記第2のプロセッサ情報記憶ステップで記憶した情報の中から、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得させ、前記第1のプロセッサ情報記憶ステップで記憶した情報の中から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得させ、該プロセッサ識別情報の特定する前記プロセッサが前記情報記憶ステップにて記憶した情報の中から、該ハッシュ値を有するレコードを取得させ、自プロセッサに前記情報記憶ステップを実行させて該レコードを記憶させることで、レコードを再配置するよう制御する記憶制御ステップと、
を実行させる。
また、前記プログラムは、
前記各プロセッサに、外部から検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出させ、前記第1のプロセッサ情報ステップで記憶した情報の中から、該ハッシュ値に対応付けらプロセッサ識別情報を取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで該ハッシュ値を記憶していれば、該ハッシュ値に対応付けられているデータを取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで該ハッシュ値を記憶していなければ、前記第2のプロセッサ情報記憶ステップで記憶した情報の中から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで記憶した情報の中から、該キー情報とそのハッシュ値とに対応付けられているデータを取得させる検索ステップを実行させる、
ようにしてもよい。
また、前記プログラムは、前記複数プロセッサの1つを、マスタプロセッサとして機能させ、前記第2のプロセッサ情報記憶ステップを実行する際に記憶させる情報を前記各プロセッサに配布させる配布ステップを実行させ、
前記複数プロセッサの各々に、前記配布手段から情報が配布されると前記第2のプロセッサ情報記憶ステップを実行させて該配布情報を記憶させ、該配布情報の記憶を完了すると、前記記憶制御ステップの実行を開始させる、
ようにしてもよい。
また、前記プログラムは、前記記憶制御ステップで全てのデータの再配置を完了した際に、前記複数のプロセッサの各々に、前記マスタプロセッサへ再配置完了の旨を知らせる信号を送信させる信号送信ステップを実行させ、
全プロセッサが前記信号送信ステップを実行し、データの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶ステップで記憶した内容を削除させ、前記第2のプロセッサ情報記憶ステップで記憶した内容と、前記第1のプロセッサ情報記憶ステップで記憶した内容とを入れ替えさせるステップを前記マスタプロセッサに実行させる、
ようにしてもよい。
また、前記プログラムは、前記情報検索ステップを、予め設定された順番に基づいて、前記複数のプロセッサに実行させる、
ようにしてもよい。
また、前記プログラムは、前記情報検索ステップを、ラウンドロビン方式に基づいて決定される順番で、前記複数のプロセッサに実行させる、
ようにしてもよい。
また、前記プログラムは、前記情報記憶ステップ、および、プロセッサ情報記憶ステップにおいて記憶される内容が、前記プロセッサが保有するメモリ上に記憶させるように、前記情報記憶ステップ、および、プロセッサ情報記憶ステップを前記各プロセッサに実行させる、
ようにしてもよい。
本発明によれば、複数のプロセッサ上に分割して配置されるデータを効率よく再配置可能なデータベースサーバ等を提供することが可能となる。
以下、本発明の実施の形態を図面を参照して説明する。本発明の実施の形態においては、パケット通信技術に基づいて電話サービスを提供するIP電話システムを例に説明する。まずは、本IP電話システムの構成について説明した上で、本IP電話システムにおける呼出処理のフローを説明する。そして次に、そのような呼出フローを行うIP電話システムにおいてデータを再配置するフローを説明する。
図1は、本実施の形態におけるIP電話システムの構成例を示すブロック図である。図1に示すように、IP電話システムは、内部ネットワーク10がプロキシサーバ3を介して外部ネットワーク11に接続された構成を有している。内部ネットワーク10には、呼制御サーバ2、検索サーバ1、および複数のDBホスト5a〜cが接続されている。モバイルPC20、携帯端末21、固定IP電話22等のIP電話端末からのIP電話システムを利用しての呼出要求は、外部ネットワーク11、およびプロキシサーバ3を介して呼制御サーバ2によって受信され、処理される。
なお、図1においては3台のDBホストを示しているが、台数は3台に限らず複数台接続されていてもよい。また、呼制御サーバ2およびプロキシサーバ3についても同様に複数台接続されていてもよい。本実施の形態に係るIP電話システムにおいては、複数のプロキシサーバがそれぞれ、モバイルPC20、携帯端末21、固定IP電話22等からの要求を複数の呼制御サーバ2のいずれかへと送信する。
以下本IP電話システムの各要素について詳述する。
プロキシサーバ3は外部通信ネットワークからの内部ネットワークへの侵入を防ぐために、内部ネットワーク10と外部ネットワーク11とのやり取りを一元管理するサーバである。モバイルPC20、携帯端末21、固定IP電話22等からのIP通話サービスの利用要求は全てこのプロキシサーバ3を介して呼制御サーバ2へと送信される。
呼制御サーバ2は、モバイルPC20、携帯端末21、固定IP電話22等から指定された呼出先アドレスを呼び出し、呼出元と、呼出先の通話を確立するサーバである。図2に示すように、呼制御サーバ2は、制御部210、記憶部211、通信部213などを備える。
制御部210は、CPU(Central Processing Unit)、ROM(Read Only Memory)(図示せず)、RAM(Random Access Memory)(図示せず)等から構成されており、呼制御サーバ2全体の制御を行う。具体的には、CPUがROMや後述の記憶部211に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部210はRAMに各種データを一時的に記憶し、作業領域として使用する。
記憶部211はハードディスクなどから構成され、制御部210が呼出元の加入者の認証処理や、通話を確立するためのプログラムなどが記憶される。
通信部213は、通信インタフェース等を備え、内部ネットワーク10を介して、後述の検索サーバ1や、DBホスト5a〜cと通信するためのものである。通信部213は、モデム装置や赤外線通信装置等を含んでいてもよい。
次に、DBホスト5は、本IP電話システムの提供する電話サービスの加入者に関する情報を保有するホストコンピュータである。図4に示すようにDBホスト5a〜5cは、それぞれ加入者DB500a〜500cを備えており、分散して加入者に関する情報を記憶している。
具体的には、各加入者DB500a〜cの各レコードには、加入者IDに対応付けて、端末情報、加入契約情報、などの加入者情報が記憶される。加入者IDは、IP電話サービスの加入者を特定するための識別情報である。端末情報は、該加入者が利用している端末を特定する識別情報である。加入契約情報は、該加入者が契約している料金プランや、割引プランなどである。
検索サーバ1は、呼制御サーバ2からのホスト検索要求に応じて、呼制御サーバ2が所望する加入者情報を有するホストをDBホスト5a〜cの内から特定し、そのホストID(識別情報)を返信するホスト検索処理を行うサーバである。
DBホスト5a〜cのそれぞれは、加入者に関する情報を分散して記憶している。よって、呼制御サーバ2は、効率よく所望の加入者情報を取得するために、どのDBホスト5a〜cに所望の情報が記憶されているかを知っている必要がある。この情報を提供するのが検索サーバ1である。
呼制御サーバ2が加入者IDを指定してホスト検索要求を検索サーバ1に送信すると、該加入者IDによって特定される加入者に関する情報を保有するDBホスト5のホストIDを返信する。呼制御サーバ2は、返信されたホストIDによって識別されるDBホスト5に加入者情報を問い合わせれることで、効率よく、加入者情報を取得することができる。
呼出処理の際に、呼制御サーバ2は必ず検索サーバ1にDBホスト5に関する問い合わせ(ホスト検索要求)を行う。よって、この問い合わせが呼出処理のボトルネックとならないように、検索サーバ1は、図3に示すように複数のPU(Processing Unit)100a〜cがバス15に接続された所謂マルチプロセッサシステムの構成を有している。そして、これら各PUが並行・協調して問い合わせを処理する。なお、図3においては、検索サーバ1は3台のプロセッサ(PU)を保有するが、台数はこれに限らず1つ以上であればよい。複数のPU100a〜cそれぞれが並行して呼制御サーバ2からのホスト検索要求を処理するため、ホスト検索処理の高速化が可能となる。具体的なホスト検索処理のフローについては、検索サーバ1の動作説明の部分にて詳述する。
次に検索サーバ1が備えるPU100a〜cの構成について説明する。PU100a〜cのそれぞれは、制御部110、記憶部111、RAM112、通信部113を備える。
各制御部110は、CPU(Central Processing Unit)、ROM(Read Only Memory)(図示せず)、RAM(Random Access Memory)112等から構成されており、各PU100の制御を行ったり、バス15を介して情報を交換しながら他のPU100の制御部110と協調して検索サーバ1全体の制御を行う。具体的には、CPUがROMや後述の記憶部111に記憶されているプログラムを実行することによって制御・演算処理を行う。この制御・演算処理の際、制御部110はRAM112に各種データを一時的に記憶し、作業領域として使用する。
RAM112は、インメモリDBとして変換DB1121およびホスト情報DB1122も格納する。
ホスト情報DB1122は、図5(B)に示すように、ハッシュ値、加入者ID、そしてホストIDを対応付けて記憶する。ハッシュ値は、本IP電話システムが提供するサービスを利用する加入者を識別する加入者IDにハッシュ関数を適用した結果である。加入者IDは、該加入者を識別する識別情報である。ホストIDは、該加入者IDによって特定される加入者に関する加入者情報を記憶するDBホスト5の識別情報である。
なお、ハッシュ関数とは、数値をある一定範囲に制限する関数であり、ハッシュ関数を適用することで、いずれの加入者IDも同じハッシュ値を有するいくつかの組に分割される。各PU100のホスト情報DB1122には、ハッシュ値に応じて、分散してデータが記憶されている。ハッシュ関数は、通常剰余演算を用いるが、これに限るものではなく、数値を一定範囲に制限する関数であればよい。
一方、変換DB1121は、図5(A)に示すように、各レコードに、ハッシュ値をキーとして、PUID(Processor Unit ID;PU識別情報)を対応付けて記憶する。ハッシュ値は、全PU100のホスト情報DB1122に記憶される、加入者IDから算出されたハッシュ値である。PUIDは、該ハッシュ値の算出元である該加入者IDによって特定される加入者情報を保有するDBホスト5を特定するホストIDを記憶するPUの識別情報である。即ち、ハッシュ値に応じて、各PU100のホスト情報DB1122に記憶されるデータが決定され、どのハッシュ値にどのPU100が対応付けられているのかを記憶するのが、変換DB1121である。
変換DB1121は、加入者IDから算出される全てのハッシュ値をキー情報として記憶している。そして、PU100a〜cは、同じ内容の変換DB1121をそれぞれのRAM112に記憶する。加入者IDから得たハッシュ値をキー情報としているため、このように同じ内容の変換DB1121を全PU100a〜cの保有するRAM112に格納することが可能なる。
PU100a〜cの記憶部111はハードディスクなどから構成され、制御部110が検索処理を行うためのプログラムなどが記憶される。また、RAM112内に格納されるインメモリDBである変換DB1121やホスト情報DB1122は、電源がオフになると内容が消えてしまうため、記憶部111はこれらDBのバックアップも記憶する。
PU100a〜cの通信部113は、通信インタフェース等を備え、内部ネットワーク10を介して、呼制御サーバ2と通信するためのものである。通信部113は、モデム装置や赤外線通信装置等を含んでいてもよい。
(呼出処理)
次に、上述した各種DBに記憶されている情報に基づいて、呼制御サーバ2が行う呼出処理のフローを図6を参照して説明する。
モバイルPC20、携帯端末21、固定IP電話22は、プロキシサーバ3を介して、呼制御サーバ2に、呼出先ID(本システムの提供するサービスの加入者でなくてもよい)を指定して、呼出要求を送信する。呼出要求送信の際には、端末側に記憶される、呼出元の加入者ID、認証用のパスワード、端末を特定する情報なども同時に送信される。呼制御サーバ2は、呼出要求を受信すると(ステップS101)、検索サーバ1に呼出元の加入者IDを送信し、該加入者IDによって特定される加入者の情報を有するDBホスト5のホストIDについて問い合わせをする(ステップS102)。
なお、呼制御サーバ2はSIP( Session Initiation Protocol ) と呼ばれるプロトコルに基づいて呼出処理を行い、呼出元、および呼出先IDとしては、SIPプロトコルで用いられるSIPアドレスを利用する。SIPアドレスは、メールアドレス形式に似ており、”ユーザID@SIPドメイン名”の形式を有している。加入者IDには、このSIPアドレスを利用する。なお、IP電話の呼出処理としては、SIPプロトコル以外を利用してもよく、この場合、呼出元、呼出先IDも、SIPアドレスではなく電話番号などを利用してもよい。
次に、検索サーバ1が呼制御サーバ2からのホスト検索要求を処理するフローについて説明する。
検索サーバ1の、各PU100a〜cは各自の記憶部111に、負荷を分散するためのプログラムを記憶しており、呼制御サーバ2からの問い合わせ(検索要求)を各PU100が順次受け付け、処理するよう制御する。なお、1つのPU100が検索処理を終了する前に次の検索要求が送信された場合、他のPU100が並行してホスト検索処理を行う。処理の分散方法は予め設定されており、ラウンドロビン方式や、またそれ以外の方式、例えば、その時点で一番負荷の軽いPU100が処理を行うような方式を選択可能とする。
負荷分散プログラムによって決定された、今回処理を担当するPU100の制御部110は、まず、呼出元ID(加入者ID)および呼出先IDを呼制御サーバ2から受信する(ステップS201)。次に今回処理を担当する制御部110は、受信した加入者IDのハッシュ値を算出し(ステップS202)、ハッシュ値に対応するPUIDを変換DB1121を検索して取得する(ステップS203)。PUIDが自PUのIDであれば(ステップS204;Yes)、制御部110は、自RAM112のホスト情報DB1122を参照し、算出したハッシュ値と加入者IDとに対応づけられたホストID情報を取得する(ステップS205)。一方、ステップS203で取得したPUIDが他PUのIDである場合(ステップS204;No)、該IDを有するPUに、該ハッシュ値と加入者IDとに対応づけられたホストID情報を送信するよう依頼する(ステップS211)。依頼を受けたPUは自制御部110内のホスト情報DB1122を参照し、該当するホストID情報を依頼元へと送信する。ホストID情報を受信すると(ステップS212)、制御部110は結果を呼制御サーバ2へと返信する(ステップS206)。
上述のステップS101〜S102、S202〜S212に示す処理を、具体例を用いて説明する。aをPUIDとして有するPU100aが、呼制御サーバ2から、加入者ID”aaa@zzz”についての情報を保有するDBホスト5のホストIDに関する検索処理要求を受信したとする。このとき、加入者IDのハッシュ値は、図7(A)に示すとおりであり、各PU100の保有する変換DB1121およびホスト情報DB1122の内容は図7(B)に示すとおりであるとする。PU100aはまず加入者ID”aaa@zzz”のハッシュ値を算出する。図7(A)に示すように、”aaa@zzz”から算出されるハッシュ値は010なので、PU100aは変換DB1121を参照して、ハッシュ値010に対応するPUIDを検索する。ハッシュ値010に対応付けられるPUIDはcである。よって、PU100aは自分がハッシュ値010に関するホスト情報を有していないと判断し、cをPUIDとするPU100cへとハッシュ値と加入者IDを送信し、ホスト情報を返信するように依頼する。依頼を受けたPU100cはホスト情報DB1122を参照し、受信したハッシュ値010と加入者ID”aaa@zzz”とに対応付けて記憶されているホストIDである、”2”を呼制御サーバ2へと送信する。
検索サーバ1からホストID情報を受信すると、呼制御サーバ2は、受信したホストIDによって識別されるDBホスト5に加入者IDを送信し、該加入者IDに対応する加入者情報を送信するよう、問い合わせを行う(ステップS104)。問い合わせを受けたDBホスト5は、加入者情報DB500を参照して加入者IDに対応付けられた全ての加入者情報を呼制御サーバ2へと返信する。
例えば、前述の加入者ID”aaa@zzz”の場合、呼制御サーバ2は、ホストID”2”で識別されるDBホスト5b(図4参照)に問い合わせを行い、DBホスト5bは加入者DB500bを参照して、aaa@zzzに関する加入者情報を呼制御サーバ2へと返信する。
呼制御サーバ2は、受信した加入者情報のうち、パスワードや端末情報を、モバイルPC20、携帯端末21、固定IP電話22からプロキシサーバ3を介して送信された情報と照らし合わせることで、呼出元の認証を行う(ステップS105)。パスワードや端末情報が照合すれば(ステップS106;Yes)、モバイルPC20、携帯端末21、固定IP電話22から送信された呼出先IDにSIPプロトコルに基づいて呼出要求を送り、通話を確立する(ステップS107)。認証に失敗すると、呼出処理は終了する(ステップS106;No)。なお、課金は、DBホスト5から受信した加入契約情報などに基づいて行われる。
以上説明したように、DBホスト5a〜cには分散して加入者情報が保有される。検索サーバ1は、どのDBホスト5に所望の加入者データが記憶されているかについての問い合わせ(ホスト検索要求)を処理する。検索サーバ1は複数のプロセッサを備える構成を有しており、これらが並行して処理を行うため、問い合わせを高速に処理することが可能となる。さらに、変換情報DB1121やホスト情報DB1122をインメモリDBとすることで、問い合わせ処理を高速化することが可能となる。RAM112の容量は限られているため、ホスト情報DB1122は各PU100に分散して記憶させ、変換情報DB1121を全PU100に記憶させるようにしている。このようにして、呼制御サーバ2は、検索サーバ1へ問い合わせた結果に基づいて、DBホスト5から加入者情報を効率よく取得することができる。
(データの再配置処理)
次に、上述のような構成を有する検索サーバ1において、プロセッサを増設した時などにデータを効率よく移行(再配置)する方法について説明する。本実施の形態に係る方法を利用することによって、データの移行は、検索サーバ1の提供するサービスを停止することなく行えるというメリットが得られる。
本実施の形態では、検索サーバ1に新たにID、xを有するPU100xを追加した場合を例に説明を行う。このとき、最終的にPU100xの保有するホスト情報DB1122が、図9(B)の下段に示す内容のホスト情報DB1122を記憶するようにデータの移行を行うとする。
本実施の形態においては、最終的にホスト情報DB1122が保有すべき情報に対応する新変換DB1121’(図9(A)の下段を参照)を旧変換DB1121とともに、RAM112に記憶させる。そして、データ移行中においてPU100は、新・旧両方の変換DB1121’、1121を参照する。
具体的なデータ移行のフローを図8を参照して次に説明する。
先述したように、本実施の形態では、PU100xが新たに検索サーバ1に増設されているとする。また、PU100xへのOS(Operating System)のインストールやDBテーブルの作成などは完了しているとする。
この状態で、管理者は、内部ネットワーク10に接続されている端末(図示せず)から、検索サーバ1に接続する。そして、新変換DB1121’に挿入するデータを有するファイルを指定して、検索サーバ1上でデータ移行コマンドを実行する。なお、PU100a〜c、xの内1つは、他のPU100を制御するマスタPUとして機能する。このマスタPUの記憶部111に記憶されるデータ移行処理プログラムを起動する移行コマンドを管理者が実行することによって、データ移行処理が開始される。新変換DB1121’に挿入する情報を有するファイルは予めマスタPUの記憶部111に管理者によって記憶されているとする。
なお、マスタPUは、他のPUを制御する側であると同時に、制御される側として機能してもよい。
データ移行処理プログラムが実行されると、検索サーバ1は図8に示す処理を行う。まずマスタPUの制御部110は、指定されたファイルの内容を他の全てのPU100の新変換DB1121’へと挿入する(ステップS301)。データの挿入を終了すると、マスタPUは、各PU100に対し、各PUが保持すべきデータを新変換DB1121’に基づいて他のPU100から取得するようデータ移行処理を指示する信号を送信する(ステップS302)。
データ移行処理信号を受信すると(ステップS401)、各PU100はデータ移行処理を開始する。まず、各PU100は、新変換DB1121’を参照して、自PUがホスト情報DB1122に保持すべきデータを特定する(ステップS402)。次に、旧変換DB1121を参照して、特定したデータを現在保有するPU100を特定する(ステップS403)。そして、該PU100から、自PUが保持すべきデータを移行する(ステップS404)。
例えば、各PU100の保有する新変換DB1121’および、旧変換DB1121がそれぞれ、図9(A)下段、および、図9(A)上段に示すデータを有しており、ホスト情報DB1122が図9(B)上段に示すデータを有していたとする。このとき、xをPUIDとして有するPU100xは、自RAM112に保有する新変換DB1121’を参照することで、ハッシュ値011、および、110、に対応付けて記憶されるホスト情報を自分が保持していなくてはならないことを把握する(楕円に囲まれた部分を参照)。よって次に、PU100xの制御部110は、自RAM112に保有する旧変換テーブル1121を参照することにより、実際にハッシュ値011、および110に対応するホスト情報をどのPU100が保持しているのかを特定する。この結果、ハッシュ値011に対応するホスト情報はaをPUIDとして有するPU100aが、そして、ハッシュ値110に対応するホスト情報はbをPUIDとして有するPU100bが保持していることが特定される(破線の楕円に囲まれた部分を参照)。よって、PU100xはPU100aおよびPU100bのホスト情報DB1122のそれぞれから、ハッシュ値011、および110に対応付けられたホスト情報を取得する。ホスト情報を取得すると、PU100xは自分のホスト情報DB1122上に該情報を記憶する。最終的に、各PU100のホスト情報DB1122には、図9(B)の下段に示されるようにデータが記憶される。
データ移行処理中に、検索サーバ1が呼制御サーバ2からホスト検索要求を受信したとしても、ホスト検索要求を処理することは可能である。呼制御サーバ2から問い合わせを受け付けたPU100は、まず旧変換DB1121を参照する。そしてホスト検索要求とともに受信した加入者IDのハッシュ値に対応付けられたPUIDを有するPU100に、ホスト情報の返信依頼を送信する。依頼を受信したPU100は、自分の有するホスト情報DB1122bに該加入者IDのハッシュ値に対応づけられたホスト情報を記憶していれば、該ホスト情報を依頼元へと返信する。一方、依頼を受信したPU100が所望のホスト情報を有していなかった場合、すでにデータが移行されてしまっていることを意味する。よって、呼制御サーバ2から問い合わせを受け付けたPU100は、新変換DB1121’を参照して、加入者IDのハッシュ値に対応付けられたPUIDを有するPU100に、ホスト情報の返信依頼を送信する。新変換DB1121’に記憶されるハッシュ値に対応付けられたPUIDを有するPU100は所望のホスト情報を有しているはずであるので、呼制御サーバ2から問い合わせを受け付けたPU100は、ホスト情報取得することが可能となる。このように、新・旧2つの変換DB1121および1121’を各PUが保有するため、すでにデータが移行されてしまった後であっても、新変換DB1121’を参照することで、所望のデータを取得することが可能となる。
各PU100は、各自のデータの移行を完了すると、完了した旨を伝える信号をマスタPUに送信する(ステップS405)。マスタPUは全てのPU100からデータ移行の完了を知らせる信号を受信すると(ステップS303;Yes)、テストプログラムを実施し、全てのデータが正しく移行されていることを検証する(ステップS304)。検証に成功すると、マスタPUの制御部110は、旧変換DB1121と新変換DB1121’とを切り替えた上で、旧変換DB1121の記憶内容を削除するよう指示する信号を送信する(ステップS305)。削除信号を受信した各PU100は旧変換DB1121と新変換DB1121’を切り替え、旧変換DB1121を削除することで、移行処理が完了する(ステップS406)。なお、旧変換DB1121と新変換DB1121’を切り替える方法としては、旧変換DB1121および新変換DB1121’へのポインタを入れ替えても、データの内容自体を入れ替えても、或いはその他の方法を用いてもよい。
以上、複数プロセッサに分散してデータを保有する検索サーバ1において、効率よく、データを移行する方法について述べた。本方法を適用することで、検索サーバ1の提供するサービスを停止することなくプロセッサ間でデータを移行することも可能であり、検索サーバ1を利用している、例えば本実施の形態に係る呼制御サーバ2や電話システム全体への影響も最小限に抑えることが可能となる。
なお、本実施の形態においては、増設したプロセッサへのデータの移行について説明したが、同様の手順を踏むことで、プロセッサ増設時に限らず各プロセッサの保有するデータの再配置が可能となる。
以上、本発明の実施の形態を説明したが、本発明を実施するにあたっては、種々の形態による変形及び応用が可能であり、上記実施の形態に限られるものではない。
例えば、本ホストDB5および検索サーバ1を用いて、IP電話以外の用途のデータベースシステムを構築してもよい。すなわち、ホストDB5には、任意のデータを保有してもよい。そして、その任意のデータが複数のホストDB5のいずれに記憶されているかに関する配置情報を、検索サーバ1が保有するようにしてもよい。
また、検索サーバ1は、配置情報を記憶するのではなく、単独にデータベースサーバとして利用してもよい。
また、上記実施の形態では、検索サーバ1の制御プログラムが記憶部等に予め記憶されているものとして説明した。しかし、検索サーバ1に、フレキシブルディスク、CD−ROM(Compact Disk Read-Only Memory)、DVD(Digital Versatile Disk)、MO(Magneto-Optical disk)、USBメモリ等の記憶媒体を読み取る装置のいずれか適したものを備え、これら記憶媒体に制御プログラムを格納して配布してもよい。そして、そのプログラムをインストールすることにより、上述の処理動作を実行をする装置を構成してもよい。
また、制御プログラムを、内部ネットワーク10、または外部ネットワーク11上の所定のサーバ装置が有するディスク装置等に格納しておき、検索サーバ1にダウンロード等するようにしてもよい。さらに、内部ネットワーク10、または外部ネットワーク11を介してプログラムを転送しながら起動実行することによっても、上述の処理を達成することができる。
なお、上記実施の形態に係る検索サーバ1の処理を、各制御部がプログラムを実行することによって制御する構成にするのではなく、専用のハードウェアによっても実現することができる。
本発明の実施の形態に係る電話システムの構成例を示すブロック図である。 呼制御サーバの構成例を示すブロック図である。 検索サーバの構成例を示すブロック図である。 加入者情報DBのデータ構成例を示す図である。 (A)は変換DBのデータ構成例、(B)はホスト情報DBのデータ構成例を示す図である。 検索サーバの処理を示すフロー図である。 各PUが変換DBと、ホスト情報DBを備える様子を示す図である。 検索サーバにおいて増設されたPUにデータを移行する処理を示すフロー図である。 (A)は検索サーバにおいて増設されたPUにデータを移行する際、新・旧2つの変換テーブルを各PUが保有する様子を示す図であり、(B)は各PUのホスト情報DBの移行前と移行後のデータ配置を示す図である。
符号の説明
1 検索サーバ
15 バス
100 PU
110 制御部
111 記憶部
112 RAM
1121 変換サーバ
1122 ホスト情報DB
113 通信部
2 呼制御サーバ
210 制御部
211 記憶部
213 通信部
3 プロキシサーバ
5 DBホスト
500 加入者情報DB
10 内部ネットワーク
11 外部ネットワーク
21 モバイルPC
21 携帯端末
22 固定IP電話

Claims (21)

  1. 複数のプロセッサから構成され、前記複数プロセッサの各々が備えるメモリに分散して情報を記憶し、該分散された情報を再配置可能なデータベースサーバであって、
    前記複数のプロセッサの各々は、
    キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとし、該ハッシュ値に基づいて前記プロセッサ毎に異なるレコードを記憶する情報記憶手段と、
    前記全てのプロセッサが備える前記情報記憶手段に記憶される全ハッシュ値について、各ハッシュ値と、該ハッシュ値を記憶する前記情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第1のプロセッサ情報記憶手段と、
    前記全てのプロセッサが備える前記情報記憶手段に新たに記憶されるべき全ハッシュ値について、各ハッシュ値と、新たに該ハッシュ値を記憶すべき前記情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第2のプロセッサ情報記憶手段と、
    前記第2のプロセッサ情報記憶手段を参照し、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得し、該プロセッサ識別情報の特定する前記プロセッサの前記情報記憶手段から、該ハッシュ値を有するレコードを取得し、該レコードを自プロセッサの前記情報記憶手段に記憶させることで、レコードを再配置するよう制御する記憶制御手段と、
    を備える、
    ことを特徴とする、データベースサーバ。
  2. 外部から、検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けらプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていれば、該ハッシュ値に対応付けられているデータを取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に該ハッシュ値が記憶されていなければ、前記第2のプロセッサ情報記憶手段から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの保有する前記情報記憶手段から、該キー情報とそのハッシュ値とに対応付けられているデータを取得する検索手段を備える、
    ことを特徴とする、請求項1に記載のデータベースサーバ。
  3. 前記複数プロセッサの1つは、マスタプロセッサとして機能し、前記各プロセッサに、前記第2のプロセッサ情報記憶手段に記憶するための情報を配布する配布手段を備え、
    前記複数のプロセッサの各々の前記第2のプロセッサ情報記憶手段は、前記配布手段から情報が配布されると該配布情報を記憶し、前記記憶制御手段は、前記第2のプロセッサ情報記憶手段が該配布情報の記憶を完了すると、前記第2のプロセッサ情報記憶手段に記憶されたプロセッサ識別情報に基づいて他プロセッサの前記情報記憶手段から自プロセッサへとレコードの再配置を開始する、
    ことを特徴とする、請求項1に記載のデータベースサーバ。
  4. 前記複数のプロセッサの各々は、前記記憶制御手段が全てのレコードの再配置を完了した際に、前記マスタプロセッサに再配置完了の旨を知らせる信号を送信する信号送信手段を備え、
    前記マスタプロセッサは、全プロセッサの前記信号送信手段から、レコードの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶手段の記憶している内容を削除し、前記第2のプロセッサ情報記憶手段と前記第1のプロセッサ情報記憶手段とを切り替えるよう制御する、切り替え制御手段を備える、
    ことを特徴とする、請求項3に記載のデータベースサーバ。
  5. 前記複数のプロセッサの前記検索手段は、予め設定された順番に基づいて処理を行う、
    ことを特徴とする請求項2に記載のデータベースサーバ。
  6. 前記複数のプロセッサの前記検索手段が処理を行う順番は、ラウンドロビン方式に基づく、
    ことを特徴とする請求項5に記載のデータベースサーバ。
  7. 前記情報記憶手段、および、プロセッサ情報記憶手段は、前記プロセッサが保有するメモリ上に構成される、
    ことを特徴とする請求項1に記載のデータベースサーバ。
  8. 複数のプロセッサから構成されるデータベースサーバにおいて、前記複数プロセッサの各々が備えるメモリに分散して記憶される情報を再配置する方法であって、
    キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとして、前記各プロセッサの情報記憶手段が、該ハッシュ値に基づいて異なるレコードを前記プロセッサ毎に記憶する情報記憶ステップと、
    前記各プロセッサの第1のプロセッサ情報記憶手段が、前記複数のプロセッサが備える前記分散情報記憶手段に記憶される全ハッシュ値について、各ハッシュ値と、該ハッシュ値を記憶する前記分散情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第1のプロセッサ情報記憶ステップと、
    前記各プロセッサの第2のプロセッサ情報記憶手段が、前記複数のプロセッサが備える前記分散情報記憶手段に新たに記憶されるべき全ハッシュ値について、各ハッシュ値と、新たに該ハッシュ値を記憶すべき前記分散情報記憶手段を保有するプロセッサを特定するプロセッサ識別情報とを対応付けて記憶する第2のプロセッサ情報記憶ステップと、
    前記各プロセッサの記憶制御手段が、前記第2のプロセッサ情報記憶手段を参照し、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得し、該プロセッサ識別情報の特定する前記プロセッサの前記情報記憶手段から、該ハッシュ値を有するレコード取得し、該レコードを自プロセッサの前記情報記憶手段に記憶させることで、レコードを再配置するよう制御する記憶制御ステップと、
    を備える、
    データを再配置する方法。
  9. 前記各プロセッサの検索手段が、外部から検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出し、前記第1のプロセッサ情報記憶手段から、該ハッシュ値に対応付けらプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていれば、該ハッシュ値に対応付けられているデータを取得し、該プロセッサ識別情報によって特定されるプロセッサの前記情報記憶手段に、該ハッシュ値が記憶されていない場合、前記第2のプロセッサ情報記憶手段から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得し、該プロセッサ識別情報によって特定されるプロセッサの保有する前記情報記憶手段から、該キー情報とそのハッシュ値とに対応付けられているデータを取得する検索ステップを備える、
    ことを特徴とする、請求項8に記載のデータを再配置する方法。
  10. マスタプロセッサとして機能する前記複数のプロセッサの1つが備える配布手段が、前記第2のプロセッサ情報記憶手段に記憶するための情報を前記各プロセッサに配布する配布ステップと、
    前記配布手段から情報が配布されると、前記第2のプロセッサ情報記憶手段が該配布情報を記憶し、該配布情報の記憶を完了すると、前記記憶制御手段が前記第2のプロセッサ情報記憶手段に記憶されたプロセッサ識別情報に基づいて他プロセッサの前記情報記憶手段から自プロセッサへとレコードの再配置を開始するステップと、
    を備えることを特徴とする、請求項8に記載のデータを再配置する方法。
  11. 前記記憶制御手段が全てのレコードの再配置を完了した際に、前記各プロセッサの信号送信手段が前記マスタプロセッサに再配置完了の旨を知らせる信号を送信する信号送信ステップと、
    前記マスタプロセッサの切り替え制御手段が、全プロセッサの前記信号送信手段から、データの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶手段の記憶している内容を削除し、前記第2のプロセッサ情報記憶手段と前記第1のプロセッサ情報記憶手段とを切り替える、切り替え制御ステップと、
    を備える、
    ことを特徴とする、請求項10に記載のデータを再配置する方法。
  12. 前記情報検索ステップは、予め設定された順番に基づいて、前記複数のプロセッサの前記情報検索手段によって実施される、
    ことを特徴とする請求項9に記載のデータを再配置する方法。
  13. 前記複数のプロセッサの前記検索手段が処理を行う順番は、ラウンドロビン方式に基づいて決定される、
    ことを特徴とする請求項12に記載のデータを再配置する方法。
  14. 前記情報記憶ステップ、および、プロセッサ情報記憶ステップは、前記プロセッサが保有するメモリ上に構成される前記情報記憶手段、および、プロセッサ情報記憶手段によって実施される、
    ことを特徴とする請求項8に記載のデータを再配置する方法。
  15. 複数のプロセッサから構成される、データベースサーバにおいて、前記各プロセッサに、
    キー情報と、該キー情報のハッシュ値と、データとを対応付けて1レコードとし、該ハッシュ値に基づいて前記プロセッサ毎に異なるレコードを記憶させる情報記憶ステップと、
    前記全プロセッサが前記情報記憶ステップにて記憶した全ハッシュ値について、各ハッシュ値と、前記情報記憶ステップで該ハッシュ値を記憶した前記プロセッサを特定するプロセッサ識別情報とを対応付けて記憶させる第1のプロセッサ情報記憶ステップと、
    前記全プロセッサが前記情報記憶ステップを実行することで新たに記憶すべきハッシュ値全てについて、各ハッシュ値と、前記情報記憶ステップを実行することで該ハッシュ値を新たに記憶すべきプロセッサを特定するプロセッサ識別情報とを対応付けて記憶させる第2のプロセッサ情報記憶ステップと、
    前記第2のプロセッサ情報記憶ステップで記憶した情報の中から、自プロセッサを特定するプロセッサ識別情報に対応付けて記憶されるハッシュ値を取得させ、前記第1のプロセッサ情報記憶ステップで記憶した情報の中から、該ハッシュ値に対応付けて記憶される該プロセッサ識別情報を取得させ、該プロセッサ識別情報の特定する前記プロセッサが前記情報記憶ステップにて記憶した情報の中から、該ハッシュ値を有するレコードを取得させ、自プロセッサに前記情報記憶ステップを実行させて該レコードを記憶させることで、レコードを再配置するよう制御する記憶制御ステップと、
    を実行させる、
    ことを特徴とする、プログラム。
  16. 前記各プロセッサに、外部から検索条件としてキー情報を受信すると、該キー情報からハッシュ値を算出させ、前記第1のプロセッサ情報ステップで記憶した情報の中から、該ハッシュ値に対応付けらプロセッサ識別情報を取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで該ハッシュ値を記憶していれば、該ハッシュ値に対応付けられているデータを取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで該ハッシュ値を記憶していなければ、前記第2のプロセッサ情報記憶ステップで記憶した情報の中から、該ハッシュ値に対応付けられたプロセッサ識別情報を取得させ、該プロセッサ識別情報によって特定されるプロセッサが前記情報記憶ステップで記憶した情報の中から、該キー情報とそのハッシュ値とに対応付けられているデータを取得させる検索ステップを実行させる、
    ことを特徴とする、請求項15に記載のプログラム。
  17. 前記複数プロセッサの1つを、マスタプロセッサとして機能させ、前記第2のプロセッサ情報記憶ステップを実行する際に記憶させる情報を前記各プロセッサに配布させる配布ステップを実行させ、
    前記複数プロセッサの各々に、前記配布手段から情報が配布されると前記第2のプロセッサ情報記憶ステップを実行させて該配布情報を記憶させ、該配布情報の記憶を完了すると、前記記憶制御ステップの実行を開始させる、
    ことを特徴とする、請求項15に記載のプログラム。
  18. 前記記憶制御ステップで全てのデータの再配置を完了した際に、前記複数のプロセッサの各々に、前記マスタプロセッサへ再配置完了の旨を知らせる信号を送信させる信号送信ステップを実行させ、
    全プロセッサが前記信号送信ステップを実行し、データの再配置完了の信号を受信すると、前記第1のプロセッサ情報記憶ステップで記憶した内容を削除させ、前記第2のプロセッサ情報記憶ステップで記憶した内容と、前記第1のプロセッサ情報記憶ステップで記憶した内容とを入れ替えさせるよう制御する切り替え制御ステップを前記マスタプロセッサに実行させる、
    ことを特徴とする、請求項17に記載のプログラム。
  19. 前記情報検索ステップを、予め設定された順番に基づいて、前記複数のプロセッサに実行させる、
    ことを特徴とする請求項16に記載のプログラム。
  20. 前記情報検索ステップを、ラウンドロビン方式に基づいて決定される順番で、前記複数のプロセッサに実行させる、
    ことを特徴とする請求項19に記載のプログラム。
  21. 前記情報記憶ステップ、および、プロセッサ情報記憶ステップにおいて記憶される内容が、前記プロセッサが保有するメモリ上に記憶させるように、前記情報記憶ステップ、および、プロセッサ情報記憶ステップを前記各プロセッサに実行させる、
    ことを特徴とする請求項15に記載のプログラム。
JP2007068258A 2007-03-16 2007-03-16 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム Active JP5084310B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007068258A JP5084310B2 (ja) 2007-03-16 2007-03-16 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
US12/049,092 US8280910B2 (en) 2007-03-16 2008-03-14 Database server capable of relocating data distributed among plural processors and retrieving data method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007068258A JP5084310B2 (ja) 2007-03-16 2007-03-16 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2008233968A true JP2008233968A (ja) 2008-10-02
JP5084310B2 JP5084310B2 (ja) 2012-11-28

Family

ID=39763699

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007068258A Active JP5084310B2 (ja) 2007-03-16 2007-03-16 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム

Country Status (2)

Country Link
US (1) US8280910B2 (ja)
JP (1) JP5084310B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061739A (ja) * 2011-09-12 2013-04-04 Fujitsu Ltd データ管理装置、データ管理システム、データ管理方法、及びプログラム
JP2016091206A (ja) * 2014-10-31 2016-05-23 株式会社タジマ 帳票発行システム、帳票発行装置、整備情報管理装置、整備情報管理プログラム
WO2016088372A1 (ja) * 2014-12-05 2016-06-09 日本電気株式会社 アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276312A1 (en) * 2008-05-05 2009-11-05 Xin Feng Generation and Application of a Target Specific Addressable Spot Guide for Broadcast Transmission
TWI714003B (zh) * 2018-10-11 2020-12-21 力晶積成電子製造股份有限公司 可執行人工智慧運算的記憶體晶片及其操作方法
US11436046B2 (en) * 2018-10-11 2022-09-06 Powerchip Semiconductor Manufacturing Corporation Electronic device with memory processor-based multiprocessing architecture and operation method thereof

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142752A (ja) * 1999-11-15 2001-05-25 Hitachi Ltd データベース管理方法
JP2002049602A (ja) * 2000-08-02 2002-02-15 Ricoh Co Ltd 検索システム
JP2003006021A (ja) * 2001-06-27 2003-01-10 Hitachi Ltd データベースシステムとデータベース管理方法およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2989124B2 (ja) 1995-07-17 1999-12-13 コーエイ工業株式会社 スラリー状物の性状測定装置及び汚泥処理方法
US6115802A (en) * 1995-10-13 2000-09-05 Sun Mircrosystems, Inc. Efficient hash table for use in multi-threaded environments
US7031985B1 (en) * 1999-03-08 2006-04-18 Oracle International Corporation Lexical cache
US20050131957A1 (en) * 2003-12-15 2005-06-16 Watkinson Michael D. Mobile imagebase
US20060277541A1 (en) * 2005-06-07 2006-12-07 Sony Computer Entertainment America Inc. Relocatable component file format
US20080097786A1 (en) * 2006-10-18 2008-04-24 Rohit Sachdeva Digital data security in healthcare enterprise

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142752A (ja) * 1999-11-15 2001-05-25 Hitachi Ltd データベース管理方法
JP2002049602A (ja) * 2000-08-02 2002-02-15 Ricoh Co Ltd 検索システム
JP2003006021A (ja) * 2001-06-27 2003-01-10 Hitachi Ltd データベースシステムとデータベース管理方法およびプログラム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013061739A (ja) * 2011-09-12 2013-04-04 Fujitsu Ltd データ管理装置、データ管理システム、データ管理方法、及びプログラム
US8832113B2 (en) 2011-09-12 2014-09-09 Fujitsu Limited Data management apparatus and system
JP2016091206A (ja) * 2014-10-31 2016-05-23 株式会社タジマ 帳票発行システム、帳票発行装置、整備情報管理装置、整備情報管理プログラム
WO2016088372A1 (ja) * 2014-12-05 2016-06-09 日本電気株式会社 アクセス装置、マイグレーション装置、分散ストレージシステム、アクセス方法及びコンピュータ読み取り可能記録媒体

Also Published As

Publication number Publication date
US20080228779A1 (en) 2008-09-18
US8280910B2 (en) 2012-10-02
JP5084310B2 (ja) 2012-11-28

Similar Documents

Publication Publication Date Title
JP5084310B2 (ja) 複数プロセッサに分散されたデータを再配置可能なデータベースサーバ、再配置方法、およびプログラム
JP2020530722A (ja) Pduタイプ設定方法、ueポリシー設定方法、および関連エンティティ
CN105408863A (zh) 具有不同的租户集的端点数据中心
EP3644556B1 (en) Alias management method and device
JP4977502B2 (ja) 分散データベースシステム、検索サーバ、検索方法、およびプログラム
WO2012151851A1 (zh) 一种移动终端间共享数据的方法、系统及控制服务器
WO2007115466A1 (fr) Procédé de gestion de dispositifs dans un réseau utilisateur et entité de gestion de réseau utilisateur
US20130067540A1 (en) Techniques for achieving storage and network isolation in a cloud storage environment
JP2018521405A (ja) アクセス方法及び装置
CN110581784B (zh) 一种节点健康检查方法、装置及设备
CN109729139A (zh) 访问请求转发方法、装置、设备及可读存储介质
JP5227903B2 (ja) 中継システム、通信制御装置、端末移行方法及び通信制御プログラム
CN110741617A (zh) 资源更新方法、装置、计算机设备和存储介质
JP3772102B2 (ja) 情報処理方法、情報処理装置及びプログラム
US8982902B1 (en) Backup server architecture in a VoIP system
JP2009017347A (ja) 通信を制御する装置、方法、プログラム、および端末装置
US20160302055A1 (en) Information processing system
CN107493181B (zh) 虚拟扩展端口的指示方法和装置
CN112261097B (zh) 用于分布式存储系统的对象定位方法及电子设备
JP6364385B2 (ja) Enumシステム、および、enumシステムの負荷分散方法
WO2007104226A1 (fr) Procédé, appareil et système de communication pour louer un numéro de téléphone
JP6919419B2 (ja) 通信装置、通信プログラム、および、通信方法
CN108023774B (zh) 一种跨网关迁移的方法及装置
JP5505297B2 (ja) コールバックシステム、発信端末、電話中継サーバ、コールバック方法、及びコールバックプログラム
CN111683164A (zh) 一种ip地址的配置方法及vpn服务系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100302

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120712

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R150 Certificate of patent or registration of utility model

Ref document number: 5084310

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3