JP5880689B2 - 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム - Google Patents
分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム Download PDFInfo
- Publication number
- JP5880689B2 JP5880689B2 JP2014508102A JP2014508102A JP5880689B2 JP 5880689 B2 JP5880689 B2 JP 5880689B2 JP 2014508102 A JP2014508102 A JP 2014508102A JP 2014508102 A JP2014508102 A JP 2014508102A JP 5880689 B2 JP5880689 B2 JP 5880689B2
- Authority
- JP
- Japan
- Prior art keywords
- packet
- transfer destination
- key information
- transfer
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 24
- 238000003860 storage Methods 0.000 title claims description 22
- 238000012546 transfer Methods 0.000 claims description 169
- 230000005540 biological transmission Effects 0.000 claims description 53
- 230000008569 process Effects 0.000 claims description 17
- 230000010076 replication Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 description 47
- 238000012545 processing Methods 0.000 description 32
- 238000009826 distribution Methods 0.000 description 8
- 230000009467 reduction Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000006866 deterioration Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/72—Routing based on the source address
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/44—Distributed routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
(関連出願についての記載)
本発明は、日本国特許出願:特願2012−079952号(2012年3月30日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、日本国特許出願:特願2012−079952号(2012年3月30日出願)の優先権主張に基づくものであり、同出願の全記載内容は引用をもって本書に組み込み記載されているものとする。
本発明は、分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラムに関し、特に、Key−Value型のデータを管理する分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラムに関する。
特許文献1には、サイト内のWebサーバに対する負荷分散装置への負荷を軽減し、負荷分散装置への経路に障害が発生した場合にも、高速な経路の切り替えができるという、ネットワークシステムが開示されている。同文献によれば、クライアントとサーバの中間に位置するルータが、クライアントからパケットを受信すると、パケットヘッダに含まれる送信元アドレスのハッシュ値と、送信先L4ポート番号をもとに、転送先サーバを決定している。これにより、L4で認識できるサービスごとに異なるサーバに処理を割り当てることができる、とされている。
特許文献2には、一意性を保証しつつ、クライアントへの応答性の劣化を防止することができるという負荷分散装置が開示されている。同文献によれば、負荷分散装置とサーバの間に位置する中継装置が、サーバからクライアントへのレスポンスを参照し、経路識別子(中継装置ごとに割り当てられた識別子)をL7データ内に追記する。クライアントが再度リクエストを送信する時に、前回受信した経路識別子を埋め込むことで、それを受信した負荷分散装置が適切な中継装置にパケットを転送する。
特許文献3には、転送先決定処理を複数の装置で分割して処理することによって、URL(Uniform Resource Locator)スイッチの計算量及び記憶容量を削減できるというコンピュータシステムが開示されている。
非特許文献1、2には、オープンフローと呼ばれる集中制御型のネットワークが開示されている。オープンフローは、オープンフローコントローラと呼ばれる制御装置が、オープンフロースイッチと呼ばれるスイッチの振る舞いを制御する集中制御型のネットワークアーキテクチャを採用している。オープンフローによれば、ネットワーク全体の状況に合わせ、仮想ネットワークを構成するスイッチの振る舞いを柔軟に変更することができる。このため、オープンフローを用いることで、柔軟性の高い仮想ネットワークを構築することが容易になっている。
Nick McKeownほか7名、"OpenFlow: Enabling Innovation in Campus Networks"、[online]、[平成24(2012)年2月14日検索]、インターネット〈URL: http://www.openflow.org/documents/openflow-wp-latest.pdf〉
"OpenFlow Switch Specification" Version 1.1.0 Implemented (Wire Protocol 0x02)、[online]、[平成24(2012)年2月14日検索]、インターネット〈URL:http://www.openflow.org/documents/openflow-spec-v1.1.0.pdf〉
以下の分析は、本発明によって与えられたものである。Key−Value型のデータを管理する分散ストレージシステムにおいては、転送先サーバ選択の一元化と、リクエスト処理の遅延低減を両立することが困難である。転送先サーバ選択の一元化とは、クライアントからの全リクエストをどのサーバに転送するか選択する処理を単一ノードで行うということである。この処理を複数ノードで行う場合、サーバの追加・削除があった時に、ノード間でサーバ情報の一貫性確保のための仕組みが必要となるため、処理が複雑になるという問題点がある。
一方、転送先サーバ選択を一元化すると、選択処理を行うノードで、全てのクライアントからの全てのリクエストを受信し、転送先サーバを選択し、転送処理を行う必要がある。そのため、該ノードの負荷が高くなり、リクエスト処理の遅延が大きくなるという問題点がある。
この点、特許文献1のネットワークシステムでは、特定のクライアントから同一サービスへのリクエスト頻度が高いと、それは同一のサーバに転送されることになり、負荷分散が十分になされないという問題点がある。
また、特許文献2の発明においても、中継装置で、サーバからクライアントへのすべてのレスポンスを参照する必要があるため、処理遅延の増大につながるという問題点がある。
また、特許文献3には、クライアントからの要求コンテンツの識別子から計算した固定長のハッシュ値と、転送先とを対応付けた転送先選択テーブルを用いて転送先を決定するものである。特定のコンテンツに要求が集中すれば、同一のサーバが選択されることになり、負荷の分散は行われない。
本発明は、上述したKey−Value型のデータを管理する分散ストレージシステムにおける転送先サーバの選択ノードの一元化と、リクエスト処理の遅延低減との両立に貢献できる分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラムを提供することを目的とする。
第1の視点によれば、それぞれキー情報と対応付けられたデータを格納する複数のサーバと、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、前記パケットに含まれるキー情報に基づき前記パケットの転送先を決定する転送先選択部と、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するエントリ設定部と、を備える制御装置と、を含み、前記パケット転送装置は、前記設定されたフローエントリを用いて、前記同一キー情報を含むパケットを前記転送先に転送する分散ストレージシステムが提供される。
第2の視点によれば、それぞれキー情報と対応付けられてデータを格納する複数のサーバと、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、に接続され、前記パケットに含まれるキー情報に基づき前記要求パケットの転送先を決定する転送先選択部と、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するエントリ設定部と、を備える制御装置が提供される。
第3の視点によれば、キー情報のハッシュ値を用いて生成された送信先アドレスを設定した要求パケットを生成するアドレス設定部を備え、前記要求パケットを用いてサーバに対しリクエストを行うクライアント端末が提供される。
第4の視点によれば、パケット転送装置から、値と組になったキー情報を含む新規パケットの転送先の決定要求を受け付けるステップと、前記制御装置が、前記パケットに含まれるキー情報に基づき、複数のサーバの中から前記パケットの転送先を決定し、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するステップと、を含む負荷分散方法が提供される。本方法は、ユーザに対して項目を提示し、ユーザから項目の選択を受け付けるコンピュータという、特定の機械に結びつけられている。
第5の視点によれば、それぞれキー情報と対応付けられてデータを格納する複数のサーバと、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、に接続された制御装置に搭載されたコンピュータに、前記パケットに含まれるキー情報に基づき前記パケットの転送先を決定する処理と、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定する処理とを実行させるプログラムが提供される。なお、このプログラムは、コンピュータが読み取り可能な(非トランジエントな)記憶媒体に記録することができる。即ち、本発明は、コンピュータプログラム製品として具現することも可能である。
本発明によれば、Key−Value型のデータを管理する分散ストレージシステムにおいて、転送先サーバの選択ノードの一元化と、リクエスト処理の遅延低減との両立に貢献することが可能となる。
はじめに本発明の一実施形態の概要について図面を参照して説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、本発明を図示の態様に限定することを意図するものではない。
本発明は、その一実施形態において、図1に示すように、それぞれキー情報と対応付けられてデータを格納する複数のサーバ1と、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置2Aと、制御装置3Aと、を含む構成にて実現できる。
より具体的には、制御装置3Aは、パケット転送装置2Aから受信したキー情報に基づき前記要求パケットの転送先を決定する転送先選択部33Aと、前記転送先への経路上のパケット転送装置2Aに、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するエントリ設定部34Aと、を備える。そして、パケット転送装置2Aは、前記設定されたフローエントリを用いて、前記同一キー情報を含むパケットを前記転送先に転送する。
以上により、転送先サーバの選択ノードの一元化(上記制御装置3Aが担当)と、リクエスト処理の遅延低減(上記フローエントリにて実現)とを両立することが可能となる。
[第1の実施形態]
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の分散ストレージシステムの構成を示す図である。図2を参照すると、データを保存するサーバ1と、パケットを転送するスイッチ(上記パケット転送装置に相当)2と、スイッチ2の制御を行うコントローラ3と、サーバに対してリクエストを送信するクライアント4とを含む構成が示されている。なお、1台のスイッチ2には、1台以上のサーバ1や1台以上のクライアント4が接続されている。また1台のコントローラ3には、1台以上のスイッチ2が接続されている。
続いて、本発明の第1の実施形態について図面を参照して詳細に説明する。図2は、本発明の第1の実施形態の分散ストレージシステムの構成を示す図である。図2を参照すると、データを保存するサーバ1と、パケットを転送するスイッチ(上記パケット転送装置に相当)2と、スイッチ2の制御を行うコントローラ3と、サーバに対してリクエストを送信するクライアント4とを含む構成が示されている。なお、1台のスイッチ2には、1台以上のサーバ1や1台以上のクライアント4が接続されている。また1台のコントローラ3には、1台以上のスイッチ2が接続されている。
スイッチ2は、フローテーブル21と、パケット転送部22と、コントローラ接続部23とを備えている。
フローテーブル21は、パケットの転送ルールを記載したエントリから構成される。各エントリは、マッチ条件を格納するルール部と、マッチ条件に適合するパケットに適用する処理内容を格納する処理部とから構成される。ルール部には、マッチ条件として、受信したスイッチポート番号、送信先アドレス、送信元アドレス、VLAN−ID、L4の送信元ポート番号、L4の送信先ポート番号等を表現することができる。また、処理部には転送するスイッチポート番号、マルチキャスト等を表現することができる。
パケット転送部22は、フローテーブル21から受信したパケットに適合するマッチ条件を持つエントリを検索し、パケットの転送等を行う。具体的には、パケット転送部22は、パケットのヘッダ部分と各エントリのルール部とを照合し、マッチした場合に処理部に格納された処理内容を実行する。前記フローテーブル21及びパケット転送部22によるフローテーブルのサーチや処理実行は、ASIC(Application Specific Integrated Circuit)を用いた構成とすることで高速化に実行することができる。一方、どのエントリともマッチしなかった場合、パケット転送部22は、コントローラ接続部23を介して、パケットをコントローラ3に送信し、エントリ設定を依頼する。つまり、エントリにマッチした方が、マッチしない場合と比べて、高速にパケットを転送することができる。
コントローラ接続部23は、受信したパケットのうち、どのエントリにもマッチしなかったパケットをコントローラ3に転送する。
コントローラ3は、サーバテーブル31と、サーバテーブル管理部32と、転送先サーバ選択部33と、エントリ設定部34とを備えている。
サーバテーブル管理部32は、カテゴリと担当するサーバ1の対応を管理するサーバテーブル31を管理する。サーバテーブル31の各カテゴリには、そのカテゴリを担当するサーバ1のサーバ情報(アドレス、接続されているスイッチ2のポート番号などを含む)が登録される。各カテゴリには、必ず1つ以上のサーバ情報が登録される。図3は、このようなサーバテーブルの例である。
転送先サーバ選択部33は、スイッチ2からパケットを受信すると、受信パケットとサーバテーブル31をもとに、転送先サーバを選択する。本実施形態では、パケットの送信先アドレスの上位ビットを、サーバテーブル31のカテゴリIDとマッピングさせ、該当するカテゴリIDに登録されたサーバ1を転送先サーバとして選択することとする。
エントリ設定部34は、転送先サーバ選択部33が選択したサーバ1に対して、受信パケットが転送されるようフローテーブル21のエントリを生成し、スイッチ2に対して設定する。またサーバ1が処理結果のレスポンスをクライアント4に送信する時に、そのパケットがクライアント4に転送されるようフローテーブル21のエントリを生成し、スイッチ2に対して設定する。
なおエントリ設定部34は、クライアント4からサーバ1へのリクエストパケットと、サーバ1からクライアント4へのレスポンスパケットを区別できる。スイッチ2から受信したパケットの送信元アドレスが、サーバテーブル31で管理しているサーバ1のアドレスの一つと一致すれば、サーバ1からクライアント4へのレスポンスパケット、サーバテーブル31で管理されているどのアドレスとも一致しなければ、クライアント4からサーバ1へのリクエストパケットと判断できる。
以上のようなスイッチ2及びコントローラ3は、非特許文献1、2に記載されているオープンフロースイッチと、オープンフローコントローラをベースとして実現できる。
クライアント4は、要求部41と、アドレス設定部42と、パケット送受信部43とを備える各種端末等である。
要求部41は、サーバ1に対するKey―Value型データの書き込み要求や読み込み要求などのリクエストパケットを生成する。
アドレス設定部42は、リクエストパケットの送信先アドレス、送信元アドレスを設定する。送信先アドレスとしては、リクエストに含まれるKey情報や要求種別に応じたダミーアドレスを設定する。ここでは、リクエストに含まれるKeyを、文字列として所定のハッシュ関数に入力し、所定ビット(例えば、32ビット)のハッシュ値を計算し、このハッシュ値をダミーアドレスとすることとする。送信元アドレスには、クライアント4の正しいアドレスを設定する。
パケット送受信部43は、要求部41からのリクエストパケットをスイッチ2に送信し、またスイッチ2から受信したレスポンスパケットを要求部41に通知する。
なお、図2に示したスイッチ2、コントローラ3、クライアント4の各部(処理手段)は、これらの装置を構成するコンピュータに、そのハードウェアを用いて、上記した各処理を実行させるコンピュータプログラムにより実現することもできる。
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、クライアント4からの(key1,value1)というデータの書き込み要求を、4台のサーバ1の中から適切なサーバ1に転送して処理させることを想定する。コントローラ3は既に、4台のサーバ1を検出しており、そのサーバテーブル管理部32により、図3に示すようなサーバテーブルが作成されているものとする。
はじめに、クライアント4からサーバ1への書き込みリクエストの送信動作について説明する。図4は、本発明の第1の実施形態の動作(書き込み要求時)を説明するためのフローチャートである。
図4を参照すると、まず、クライアント4の要求部41が(key1,value1)の書き込み要求を生成する(ステップA1)。次に、アドレス設定部42がkey1を文字列と見なした上で、所定ビット(例えば、32ビット)のハッシュ値を計算する(ステップA2)。ここでは、計算されたハッシュ値の上位2ビットが“10”であったとする。そしてパケットの送信先アドレスとして上記ハッシュ値を設定し、また送信元アドレスとしてクライアントの正しいアドレスを設定する(ステップA3)。次にパケット送受信部43がリクエストをスイッチ2に送信する(ステップA4)。
スイッチ2はパケットを受信すると(ステップA5)、パケット転送部22がフローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップA6)。エントリが見つからなければ(ステップA6のNo)、コントローラ接続部23はコントローラ3に対して前記パケットを送信する(ステップA7)。
コントローラ3は、パケットを受信すると(ステップA8)、転送先サーバ選択部33は、受信したパケットの送信先アドレスと、サーバテーブル31をもとに転送先サーバを選択する(ステップA9)。具体的には、転送先サーバ選択部33は、サーバテーブル31から、送信先アドレスの上位ビットに対応するカテゴリIDが割り当てられている転送先サーバを選択する。ここでは、ハッシュ値の上位2ビットが“10”(=2)であるので、転送先サーバ選択部33は、転送先サーバとして、カテゴリID=2のサーバS2を選択する。
次に、エントリ設定部34は、転送先サーバ選択部33が選択した転送先サーバに対してパケットが転送されるように、エントリを生成し、クライアント4と前記選択したサーバ1間の経路上のスイッチ2に設定する(ステップA10)。例えば、サーバS2が選択された場合、フローエントリの条件部を「送信先アドレス:上位2ビットが“10”」、処理部を「転送先スイッチポート番号:P2」(P2はサーバS2が接続されているスイッチポート番号)としたエントリを生成し、スイッチ2に設定する。その後、パケット転送部22が再度パケットにマッチするエントリがあるか確認する(ステップA6)と、ステップA10でエントリが設定されているため、今回はマッチしたエントリが見つかることになる。
なお、ステップA6において、マッチしたエントリが見つかれば(ステップA6のYes)、スイッチ2は、その処理部の内容に従ってパケットを転送する(ステップA11)。例えば、ステップA10で前述したエントリが設定され、そのエントリにマッチしたとすると、パケットはポート番号P2からサーバS2に送信される。サーバ1はリクエストを受信すると、リクエストに合った処理をする(ステップA12)。
なおこれ以降、スイッチ2が「送信先アドレス:上位2ビットが“10”」に該当するパケットを受信すると、送信元のクライアント4のアドレスに関係なく、コントローラ3にパケットを問い合わせることなく、スイッチポートP2から当該パケットを送信することになる。
続いて、前記リクエストパケットを受け取ったサーバ1からクライアント4へのレスポンスの送信動作について説明する。図5は、本発明の第1の実施形態の動作(サーバからの応答時)を説明するためのフローチャートである。
図5を参照すると、まずサーバ1がレスポンスパケットを送信する(ステップB1)。スイッチ2がパケットを受信すると(ステップB2)、パケット転送部22がフローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップB3)。エントリが見つからなければ(ステップB3のNo)、コントローラ接続部23がコントローラ3に対して前記レスポンスパケットを送信する(ステップB4)。
コントローラ3は、エントリ設定部34にてクライアント4にパケットが転送されるようフローテーブル21のエントリを生成し、サーバ1と宛先のクライアント4間の経路上のスイッチ2に設定する(ステップB5)。その後、パケット転送部22が再度パケットにマッチするエントリがあるか確認する(ステップB3)。
ステップB3において、マッチしたエントリが見つかれば(ステップB3のYes)、スイッチ2は、そのエントリの処理部の内容に従ってパケットを転送する(ステップB6)。クライアント4はレスポンスを受信すると、レスポンスに合った処理をする(ステップB7)。
以上のように、本発明の第1の実施形態によれば、パケット転送部22が設定したエントリに適合するパケットは、フローテーブル21をもとに高速に転送される。また、転送先サーバの選択ノードは、コントローラ3に一元化されている。従って、転送先サーバの選択ノードの一元化と、リクエスト処理の遅延低減との両立が実現されている。
また、本発明の第1の実施形態では、さらに、エントリ設定部34が、送信先アドレス全体すなわちハッシュ値全体ではなく、上位ビットをもとにエントリを生成するよう構成したため、パケット転送時にフローテーブル21のエントリにヒットする確率が高くなり、パケット転送における遅延をさらに低減させることができる。
また、本発明の第1の実施形態では、アドレス設定部42が、送信先アドレスとして、ダミーアドレスを設定し、実際のサーバ1のアドレスを設定する必要がないよう構成されているため、新規のクライアント4を追加したとしても、セットアップ時にサーバ情報を設定する必要がなく、導入が容易である。
[第2の実施形態]
続いて、書き込み時にレプリケーションを行うようにした本発明の第2の実施形態について図面を参照して詳細に説明する。図6は、本発明の第2の実施形態の分散ストレージシステムの構成を示す図である。
続いて、書き込み時にレプリケーションを行うようにした本発明の第2の実施形態について図面を参照して詳細に説明する。図6は、本発明の第2の実施形態の分散ストレージシステムの構成を示す図である。
図6を参照すると、本発明の第1の実施形態の構成と同様に、サーバ1と、スイッチ2と、コントローラ3と、クライアント4Aとを含む構成が示されている。このうちクライアント4Aは、本発明の第1の実施形態の構成と比べて、同期制御部44が追加されている点において異なっている。
同期制御部44は、要求部41が書き込み要求を送信すると、書き込み要求内にリクエストIDを追記する。またパケット送受信部43で書き込み要求に対するレスポンスを受信すると、レスポンスに含まれるリクエストIDを参照する。リクエストIDごとにすでに返ってきたレスポンス数を管理しており、返ってきたレスポンス数が、あらかじめ設定されたレプリケーション数に達したレスポンスについてのみ要求部41に返す。返す時には、レスポンスの中に1つでもエラーが含まれていればエラーのレスポンスを返し、1つもエラーが含まれていなければ正常のレスポンスを返す。また要求部41が読み込み要求を送信する時、及び、読み込み要求に対するレスポンスを受信した時には、同期制御部44は何もしない。
またアドレス設定部42は、リクエストパケットの送信先アドレス、送信元アドレスを設定する。送信先アドレスとしては、リクエストに含まれるKey情報や要求種別に応じたダミーアドレスを設定する。以上の点は、本発明の第1の実施形態と同様であるが、本実施形態では、リクエストに含まれるKeyから、所定ビット(例えば、32ビット)のハッシュ値を計算し、このハッシュ値の最下位ビットにリクエスト種別(書き込み要求:1、読み込み要求:0)で上書きした値をダミーアドレスとすることとする。
図7は、本発明の第2の実施形態におけるダミーアドレスの生成方法を説明するための図である。Key1のハッシュ値を用いる点は、第1の実施形態と同様であるが、その末尾のビットをリクエスト種別で上書きしてダミーアドレスを生成している。
またコントローラ3の転送先サーバ選択部33は、スイッチ2からパケットを受信すると、受信パケットとサーバテーブル31をもとに、転送先サーバを選択する。具体的には、本発明の第1の実施形態と同様に、ここでは、サーバテーブル31から、パケットの送信先アドレスの上位ビットに対応するカテゴリIDに割り当てられたサーバを選択する。更に、本実施形態では、転送先サーバ選択部33は、最下位ビットのリクエスト種別が1(=書き込み要求)であれば、予め設定されたレプリケーション数だけ転送先サーバを選択し、最下位ビットのリクエスト種別が0(=読み込み要求)であれば1台だけ転送先サーバを選択する。
その他本発明の第2の実施形態の構成は、上記した本発明の第1の実施形態の構成と同じであるので、説明は省略する。
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、クライアント4からの(key1,value1)というデータの書き込み要求を、12台のサーバ1の中から適切なサーバ1に転送して処理させることを想定する。またレプリケーション数として3が設定されており、サーバテーブル管理部32によってすでに図8に示すようなサーバテーブルが作成されているものとする。
はじめに、クライアント4からサーバ1への書き込みリクエストの送信動作について説明する。図9は、本発明の第2の実施形態の動作(書き込み要求時)を説明するためのフローチャートである。
図9を参照すると、まず、クライアント4の要求部41が(key1,value1)の書き込み要求を生成する(ステップC1)。次に、同期制御部44は、書き込み要求内にリクエストIDを追記する(ステップC2)。次に、アドレス設定部42がkey1を文字列と見なした上で、所定ビット(例えば、32ビット)のハッシュ値を計算する(ステップC3)。ここでは、ハッシュ値の上位2ビットが“10”であったとする。そしてパケットの送信先アドレスとして上記ハッシュ値とリクエスト種別(=1)を設定し(図7参照)、また送信元アドレスとしてクライアントの正しいアドレスを設定する(ステップC4)。次にパケット送受信部43は、リクエストをスイッチ2に送信する(ステップC5)。
スイッチ2はパケットを受信すると(ステップC6)、フローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップC7)。エントリが見つからなければ(ステップC7のNo)、コントローラ接続部23は、パケットをコントローラ3に送信する(ステップC8)。
コントローラ3がパケットを受信すると(ステップC9)、転送先サーバ選択部33は、受信したパケットの送信先アドレスと、サーバテーブル31をもとに転送先サーバを選択する(ステップC10)。
図10は、上記ステップC10の詳細を表したフローチャートである。図10を参照すると、まずパケットの送信先アドレスの上位ビットを、サーバテーブル31のカテゴリIDにマッピングさせてカテゴリIDを選択する(図10のステップD1)。次に最下位ビットのリクエスト種別を参照し(ステップD2)、1(=書き込み要求)であれば(ステップD2のYes)、あらかじめ設定されたレプリケーション数だけ転送先サーバを選択する(ステップD3)。一方、最下位ビットのリクエスト種別が0(=読み込み要求)であれば(ステップD2のNo)、1台だけ転送先サーバを選択する(ステップD4)。例えば、ハッシュ値の上位2ビットが“10”(=2)でかつ最下位ビットが“1”であれば、カテゴリID2に登録されたサーバS6、S7、S8を転送先サーバとして選択する。
再度、図9を参照すると、次に、エントリ設定部34は、転送先サーバ選択部33が選択した転送先サーバに対してパケットが転送されるように、エントリを生成し、スイッチ2に設定する(ステップC11)。例えば、S6、S7、S8が選択された場合、条件部として「送信先アドレス:上位2ビットが“10”、最下位ビットが“1”」、処理部として「転送先スイッチポート番号:P6、P7、P8」(=それぞれサーバS6、S7、S8が接続されているスイッチポート番号)となるエントリを生成して、スイッチ2に設定する。
その後、パケット転送部22が再度パケットにマッチするエントリがあるか確認する(ステップC7)。ステップC11でエントリが設定されているため、今回はマッチしたエントリが見つかることになる。
ステップC7において、マッチしたエントリが見つかれば(ステップC7のYes)、スイッチ2は、見つかったエントリの処理部の内容に従ってパケットを転送する(ステップC12)。例えば、ステップC11で、前述したエントリが設定され、そのエントリにマッチしたとすると、パケットはポート番号P6、P7、P8からそれぞれサーバS6、S7、S8にマルチキャストで送信される。
サーバ1はリクエストを受信すると、リクエストに合った処理をする(ステップC13)。
なおこれ以降、スイッチ2が「送信先アドレス:上位2ビットが“10”、最下位ビットが“1”」に該当するパケットを受信すると、送信元のクライアント4のアドレスに関係なく、また、コントローラ3にパケットを問い合わせることもなく、P6、P7、P8から送信することになる。
続いて、前記リクエストパケットを受け取ったサーバ1からクライアント4へのレスポンスの送信動作について説明する。図11は、本発明の第2の実施形態の動作(サーバからの応答時)を説明するためのフローチャートである。
図11を参照すると、まずサーバ1がリクエストに含まれていたリクエストIDを含めてレスポンスを送信する(図11のステップE1)。
スイッチ2がパケットを受信すると(ステップE2)、パケット転送部22がフローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップE3)。エントリが見つからなければ(ステップE3のNo)、コントローラ接続部23がコントローラ3に対してパケットを送信する(ステップE4)。
コントローラ3は、エントリ設定部34にてクライアント4にパケットが転送されるようフローテーブル21のエントリを生成し、スイッチ2に対して設定する(ステップE5)。その後、パケット転送部22が再度パケットにマッチするエントリがあるか確認する(ステップE3)。
ステップE3において、マッチしたエントリが見つかれば(ステップE3のYes)、スイッチ2は、見つかったエントリの処理部の内容に従ってパケットを転送する(ステップE6)。
クライアント4の同期制御部44がレスポンスを受信する(ステップE7)と、リクエストIDを参照し、該リクエストIDの返ってきたレスポンス数がレプリケーション数に達したかどうか確認する(ステップE8)。返ってきたレスポンス数がレプリケーション数に達した場合(ステップE8のYes)、同期制御部44は、要求部41にレスポンスを返し(ステップE9)、要求部41はレスポンスに合った処理をする(ステップE10)。一方、返ってきたレスポンス数がレプリケーション数に達していない場合(ステップE8のNo)、何もしない。
続いて。読み込み要求時の動作につて説明する。ここではkey1に対するデータの読み込み要求を、12台のサーバ1の中から適切なサーバ1に転送して処理させることを想定する。
まず、クライアント4からサーバ1へのリクエストの送信動作について説明する。読み込み要求のリクエストの送信動作は、本発明の第1の実施形態のリクエストの送信動作で示した図4と同様である。
ただしステップA3において、コントローラ3がパケットの送信先アドレスとして、ステップA2で求めた上記ハッシュ値とリクエスト種別(=0)をもとに設定し、また送信元アドレスとしてクライアントの正しいアドレスを設定する。
またステップA9において、転送先サーバ選択部33は、受信したパケットの送信先アドレスと、サーバテーブル31をもとに転送先サーバを選択するが、詳細に説明すると、図10の通りとなる。例えば、ハッシュ値の上位3ビットが“100”でかつ最下位ビットが“0”であれば、カテゴリID2の中から転送先サーバとしてサーバS6を選択し、ハッシュ値の上位3ビットが“101”でかつ最下位ビットが“0”であれば、転送先サーバとしてサーバS7を選択する。このように同一カテゴリIDへの読み込み要求は、同一カテゴリIDでデータがレプリケーションされているはずなので、ロードバランシングされるように選択することができる。
上記以外の動作は、本発明の第1の実施形態のリクエストの送信動作と同様であるので、説明は省略する。
上記読み込み要求に対するサーバ1からクライアント4へのレスポンスの送信動作は、本発明の第1の実施形態のレスポンスの送信動作と同様であるので、説明は省略する。
以上のように、本発明の第2の実施形態では、データのレプリケーションを行う時に、クライアント4からサーバ1に向けてマルチキャストを送信するのではなく、スイッチ2からマルチキャストを送信するよう構成されているため、ネットワーク全体で流れるパケット量を抑え、フラッディングが発生しにくいという特有の利点がある。
また本発明の第2の実施形態では、読み込み要求が同一レプリケーションを持つサーバ間で負荷分散されているので、サーバの負荷を抑えることができる。
[第3の実施形態]
続いて、クライアント4とスイッチ2との間に中継ノード(フロントエンド6)を配置し、ダミーアドレスの生成をこの中継ノードで行うようにした本発明の第3の実施形態について図面を参照して詳細に説明する。図12は、本発明の第3の実施形態の分散ストレージシステムの構成を示す図である。
続いて、クライアント4とスイッチ2との間に中継ノード(フロントエンド6)を配置し、ダミーアドレスの生成をこの中継ノードで行うようにした本発明の第3の実施形態について図面を参照して詳細に説明する。図12は、本発明の第3の実施形態の分散ストレージシステムの構成を示す図である。
図12を参照すると、本発明の第1の実施形態の構成と同様に、サーバ1と、スイッチ2と、コントローラ3と、クライアント4Bと、ロードバランサ5と、フロントエンド6とを含む構成が示されている。
ロードバランサ5は、パケット転送部51を備えた負荷分散装置である。パケット転送部51は、クライアント4Bから受信したリクエストを、接続されたフロントエンド6の一つに転送する。転送時にはパケットの送信先アドレスを転送先のフロントエンド6のアドレスに変更する。また、パケット転送部51は、フロントエンド6から受信したレスポンスを、クライアント4Bに転送する。
フロントエンド6は、リクエストの前処理を行う装置であり、アドレス設定部61およびパケット送受信部62を備える。
アドレス設定部61は、ロードバランサ5から受信したリクエストの送信先アドレスを設定する。送信先アドレスとしては、リクエストに含まれるKey情報や要求種別に応じたダミーアドレスを設定する。ここでは、リクエストに含まれるKeyから所定ビット(例えば、32ビット)のハッシュ値を計算し、ハッシュ値をダミーアドレスとすることとする。送信元アドレスは、パケットにもともと設定されていたクライアント4Bのアドレスのままである。
パケット送受信部62は、ロードバランサ5からリクエストを受信し、アドレス設定部61によって処理が行われたリクエストをスイッチ2に送信する。またスイッチ2から受信したレスポンスをロードバランサ5に送信する。
またクライアント4Bは、アドレス設定部42が送信先アドレスとしてロードバランサ5のアドレスを設定し、送信元アドレスとしてクライアント4Bの正しいアドレスを設定する。
これ以外の構成は、本発明の第1の実施形態の構成と同じなので、説明は省略する。
続いて、本実施形態の動作について図面を参照して詳細に説明する。以下の説明では、クライアント4からの(key1,value1)というデータの書き込み要求を、4台のサーバ1の中から適切なサーバ1に転送して処理させることを想定する。4台のサーバ1はすでにコントローラ3に検出されており、サーバテーブル管理部32によってすでに図3に示すようなサーバテーブルが作成されているものとする。
はじめに、クライアント4からサーバ1への書き込みリクエストの送信動作について説明する。図13は、本発明の第3の実施形態の動作(書き込み要求時)を説明するためのフローチャートである。
図13を参照すると、まず、クライアント4の要求部41が(key1,value1)の書き込み要求を生成する(ステップF1)。次に、アドレス設定部42がパケットの送信先アドレスとしてロードバランサ5のアドレスを設定し、また送信元アドレスとしてクライアントの正しいアドレスを設定する(ステップF2)。次にパケット送受信部43が、ロードバランサ5に対してリクエストを送信する(ステップF3)。
ロードバランサ5はリクエストを受信すると(ステップF4)、接続されたフロントエンド6の1つにリクエストを転送する(ステップF5)。
フロントエンド6はリクエストを受信すると(ステップF6)、アドレス設定部61がリクエストに含まれるkey1から、所定ビット(例えば、32ビット)のハッシュ値を計算する(ステップF7)。ここでは、ハッシュ値の上位2ビットが“10”であったとする。そしてパケットの送信先アドレスとして上記ハッシュ値を設定し、また送信元アドレスとして、パケットにもともと設定されていたクライアント4の正しいアドレスを設定する(ステップF8)。そして、フロントエンド6は、スイッチ2に対してリクエストを送信する(ステップF9)。
スイッチ2はパケットを受信すると(ステップF10)、パケット転送部22にてフローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップF11)。エントリが見つからなければ(ステップF11のNo)、コントローラ接続部23がコントローラ3に対してパケットを送信する(ステップF12)。
コントローラ3はパケットを受信すると(ステップF13)、転送先サーバ選択部33にて、受信したパケットの送信先アドレスと、サーバテーブル31をもとに転送先サーバを選択する。ここではパケットの送信先アドレスの上位ビットを、サーバテーブル31のカテゴリIDとマッピングさせ、送信先アドレスの上位ビットに応じて転送先サーバを選択する(ステップF14)。ここでは、ハッシュ値の上位2ビットが“10”(=2)であるため、転送先サーバ選択部33は、転送先サーバとしてカテゴリID2に登録されたサーバS2を選択する。
次にエントリ設定部34は、転送先サーバ選択部33が選択した転送先サーバに対してパケットが転送されるように、エントリを生成し、スイッチ2に設定する(ステップF15)。例えば、サーバS2が選択された場合、エントリの条件部として「送信先アドレス:上位2ビットが“10”」、処理部として「転送先スイッチポート番号:P2」(=サーバS2が接続されているスイッチポート番号)となるエントリを生成して、スイッチ2に設定する。
その後、パケット転送部22は再度パケットにマッチするエントリがあるか確認する(ステップF11)。ステップF15でエントリが設定されているため、今回はマッチしたエントリが見つかることになる。
ステップF11において、マッチしたエントリが見つかれば(ステップF11のYes)、スイッチ2は、見つかったエントリの処理部の内容に従ってパケットを転送する(ステップF16)。例えば、ステップF15で前述したエントリが設定され、そのエントリにマッチしたとすると、パケットはポート番号P2からサーバS2に送信される。
サーバ1はリクエストを受信すると、リクエストに合った処理をする(ステップF17)。
なおこれ以降、スイッチ2が「送信先アドレス:上位2ビットが“10”」に該当するパケットを受信すると、送信元のクライアント4のアドレスに関係なく、コントローラ3にパケットを問い合わせることなく、スイッチポートP2から送信することになる。
続いて、前記リクエストパケットを受け取ったサーバ1からクライアント4へのレスポンスの送信動作について説明する。図14は、本発明の第3の実施形態の動作(サーバからの応答時)を説明するためのフローチャートである。
図14を参照すると、まずサーバ1がリクエストに対するレスポンスを送信する(図14のステップG1)。
スイッチ2はパケットを受信すると(ステップG2)、パケット転送部22にてフローテーブル21を参照して、受信パケットにマッチするエントリがあるか確認する(ステップG3)。エントリが見つからなければ(ステップG3のNo)、コントローラ接続部23がパケットをコントローラ3に送信する(ステップG4)。
コントローラ3は、エントリ設定部34にてクライアント4にパケットが転送されるようフローテーブル21のエントリを生成し、スイッチ2に対して設定する(ステップG5)。
その後、スイッチ2のパケット転送部22は再度パケットにマッチするエントリがあるか確認する(ステップG3)。
ステップG3において、マッチしたエントリが見つかれば(ステップG3のYes)、スイッチ2は、見つかったエントリの処理部の内容に従ってパケットを転送する(ステップG6)。
フロントエンド6はレスポンスを受信するとロードバランサ5に転送し(ステップG7)、ロードバランサがレスポンスを受信するとクライアント4に転送する(ステップG8)。
クライアント4はレスポンスを受信すると、レスポンスに合った処理をする(ステップG9)。
以上のように、本発明の第3の実施形態では、送信先アドレスのダミーアドレス化をロードバランサ5よりサーバ1側に位置するフロントエンド6によって行うよう構成されているため、クライアント4が、ロードバランサ5より手前で、コントローラ3に制御されない形式のスイッチに接続されていても良い。
以上、本発明の実施形態を説明したが、本発明は、上記した実施形態に限定されるものではなく、本発明の基本的技術的思想を逸脱しない範囲で、更なる変形・置換・調整を加えることができる。例えば、上記した実施形態では、ハッシュ計算を用いて、フローエントリのルール部と照合するアドレスを作成するものとして説明したが、その他方式により、Keyからフロー識別子等を作成する方法も採用可能である。
また、上記した実施形態では、クライアント4又はフロントエンド6に、アドレス設定部を設けて、クライアント4側又はフロントエンド6側でハッシュ値を生成するものとして説明したが、クライアント4又はフロントエンド6ではハッシュ値の生成は行わず、キー情報をそのまま送信することとしてもよい。この場合、コントローラ3がキー情報からハッシュ値を生成したり、キー情報から一意に求められるフロー識別子を生成することになる。そして、コントローラ3が経路上のスイッチ2に、該当パケットのヘッダ領域等にこれらハッシュ値やフロー識別子を埋め込む処理や追加ヘッダを付加させる処理を行わせることでも同様の制御を実現できる。
前記したフロー識別子としては、種々のものを用いることができる。例えば、KeyをASCIIコードに沿って数値化し、それをmod計算(例えば、mod 232)で剰余を計算した結果を、送信先アドレスとしても構わない。
なお、上記の特許文献および非特許文献の各開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1 サーバ
2 スイッチ
2A パケット転送装置
3 コントローラ
3A 制御装置
4、4A、4B クライアント
5 ロードバランサ
6 フロントエンド
21 フローテーブル
22、51 パケット転送部
23 コントローラ接続部
31 サーバテーブル
32 サーバテーブル管理部
33 転送先サーバ選択部
33A 転送先選択部
34 エントリ設定部
34A エントリ設定部
41 要求部
42、61 アドレス設定部
43、62 パケット送受信部
44 同期制御部
2 スイッチ
2A パケット転送装置
3 コントローラ
3A 制御装置
4、4A、4B クライアント
5 ロードバランサ
6 フロントエンド
21 フローテーブル
22、51 パケット転送部
23 コントローラ接続部
31 サーバテーブル
32 サーバテーブル管理部
33 転送先サーバ選択部
33A 転送先選択部
34 エントリ設定部
34A エントリ設定部
41 要求部
42、61 アドレス設定部
43、62 パケット送受信部
44 同期制御部
Claims (9)
- それぞれキー情報と対応付けられたデータを格納する複数のサーバと、
前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、
前記パケットに含まれるキー情報に基づき前記パケットの転送先を決定する転送先選択部と、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するエントリ設定部と、を備える制御装置と、を含み、
前記パケット転送装置は、前記設定されたフローエントリを用いて、前記同一キー情報を含むパケットを前記転送先に転送すること、
を特徴とする分散ストレージシステム。 - 前記パケットには、前記キー情報のハッシュ値を用いて生成された送信先アドレスが設定され、
前記フローエントリのマッチ条件として、前記ハッシュ値の所定ビットを用いる請求項1の分散ストレージシステム。 - 前記転送先選択部は、前記キー情報からハッシュ値を生成し、前記生成したハッシュ値の所定ビットを用いて前記パケットの転送先を決定する請求項1の分散ストレージシステム。
- 前記パケットに要求種別情報が含まれており、該要求種別情報が書き込み要求である場合、前記転送先選択部は、所定数の転送先を選択し、
前記所定数のレプリケーションを行う請求項1から3いずれか一の分散ストレージシステム。 - 前記所定数のレプリケーションが完了したか否かを確認する同期制御部がクライアント側に設けられている請求項4の分散ストレージシステム。
- 前記パケットの送信元と前記パケット転送装置との間に中継ノードが配置され、
前記中継ノードが、前記パケットの送信元から受信したパケットを、キー情報のハッシュ値を用いて生成された送信先アドレスを持つ前記サーバ宛のパケットに変換する請求項1、2、4、5いずれか一の分散ストレージシステム。 - それぞれキー情報と対応付けられてデータを格納する複数のサーバと、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、に接続され、
前記パケットに含まれるキー情報に基づき前記要求パケットの転送先を決定する転送先選択部と、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するエントリ設定部と、を備える制御装置。 - パケット転送装置から、値と組になったキー情報を含む新規パケットの転送先の決定要求を受け付けるステップと、
前記制御装置が、前記パケットに含まれるキー情報に基づき、複数のサーバの中から前記パケットの転送先を決定し、前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定するステップと、を含む負荷分散方法。 - それぞれキー情報と対応付けられてデータを格納する複数のサーバと、前記キー情報を含む前記サーバ宛の新規パケットを受信すると、制御装置に対して、前記複数のサーバの中から転送先の決定を要求するパケット転送装置と、に接続された制御装置に搭載されたコンピュータに、
前記パケットに含まれるキー情報に基づき前記パケットの転送先を決定する処理と、
前記転送先への経路上のパケット転送装置に、以後同一キー情報を含むパケットを前記転送先へ転送させるフローエントリを設定する処理とを実行させるプログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014508102A JP5880689B2 (ja) | 2012-03-30 | 2013-03-29 | 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム |
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2012079952 | 2012-03-30 | ||
| JP2012079952 | 2012-03-30 | ||
| JP2014508102A JP5880689B2 (ja) | 2012-03-30 | 2013-03-29 | 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム |
| PCT/JP2013/059567 WO2013147175A1 (ja) | 2012-03-30 | 2013-03-29 | 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPWO2013147175A1 JPWO2013147175A1 (ja) | 2015-12-14 |
| JP5880689B2 true JP5880689B2 (ja) | 2016-03-09 |
Family
ID=49260416
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014508102A Expired - Fee Related JP5880689B2 (ja) | 2012-03-30 | 2013-03-29 | 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム |
Country Status (6)
| Country | Link |
|---|---|
| US (1) | US9787585B2 (ja) |
| EP (1) | EP2833584A4 (ja) |
| JP (1) | JP5880689B2 (ja) |
| CN (1) | CN104205752A (ja) |
| IN (1) | IN2014DN07359A (ja) |
| WO (1) | WO2013147175A1 (ja) |
Families Citing this family (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP3146673B1 (en) * | 2014-05-23 | 2018-03-21 | Nec Corporation | Method for connecting a device to a server in a network |
| EP3196776B1 (en) * | 2014-10-11 | 2020-01-15 | Huawei Technologies Co. Ltd. | Method and device for data processing |
| WO2016058169A1 (zh) * | 2014-10-17 | 2016-04-21 | 华为技术有限公司 | 数据流分发方法和设备 |
| US9497123B2 (en) * | 2014-12-18 | 2016-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration |
| US9838482B1 (en) * | 2014-12-18 | 2017-12-05 | Amazon Technologies, Inc. | Maintaining client/server session affinity through load balancers |
| JP6677052B2 (ja) * | 2016-03-31 | 2020-04-08 | 日本電気株式会社 | 通信管理装置、通信管理方法及びプログラム |
| JP6965838B2 (ja) * | 2018-07-09 | 2021-11-10 | 日本電信電話株式会社 | ネットワーク負荷分散装置および方法 |
| US11531493B2 (en) | 2019-12-19 | 2022-12-20 | Western Digital Technologies, Inc. | Request throttling in distributed storage systems |
| CN116760769A (zh) * | 2023-07-06 | 2023-09-15 | 中国电信股份有限公司技术创新中心 | 一种数据传输方法、装置及设备 |
Family Cites Families (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7739398B1 (en) | 2000-11-21 | 2010-06-15 | Avaya Inc. | Dynamic load balancer |
| JP2003131961A (ja) | 2001-07-09 | 2003-05-09 | Hitachi Ltd | ネットワークシステム及び負荷分散方法 |
| CA2563834C (en) * | 2004-04-23 | 2016-08-16 | Nielsen Media Research, Inc. | Methods and apparatus to maintain audience privacy while determining viewing of video-on-demand programs |
| JP4515319B2 (ja) | 2005-04-27 | 2010-07-28 | 株式会社日立製作所 | コンピュータシステム |
| US8130747B2 (en) * | 2007-08-06 | 2012-03-06 | Blue Coat Systems, Inc. | System and method of traffic inspection and stateful connection forwarding among geographically dispersed network appliances organized as clusters |
| US8867341B2 (en) * | 2007-11-09 | 2014-10-21 | International Business Machines Corporation | Traffic management of client traffic at ingress location of a data center |
| US8125907B2 (en) * | 2008-06-12 | 2012-02-28 | Talari Networks Incorporated | Flow-based adaptive private network with multiple WAN-paths |
| JP5338555B2 (ja) | 2009-08-11 | 2013-11-13 | 富士通株式会社 | 負荷分散装置、負荷分散方法および負荷分散プログラム |
| JP5278254B2 (ja) * | 2009-09-02 | 2013-09-04 | 日本電気株式会社 | ストレージシステム、データ記憶方法及びプログラム |
| US8868846B2 (en) * | 2010-03-19 | 2014-10-21 | Netapp, Inc. | Method and system for maintaining data coherency across a network |
| JP5488225B2 (ja) * | 2010-06-09 | 2014-05-14 | 富士通株式会社 | データ管理システム、データ管理方法、及びデータ管理プログラム |
| US9185056B2 (en) * | 2011-09-20 | 2015-11-10 | Big Switch Networks, Inc. | System and methods for controlling network traffic through virtual switches |
-
2013
- 2013-03-29 EP EP13767395.0A patent/EP2833584A4/en not_active Withdrawn
- 2013-03-29 CN CN201380018629.2A patent/CN104205752A/zh active Pending
- 2013-03-29 US US14/388,654 patent/US9787585B2/en not_active Expired - Fee Related
- 2013-03-29 WO PCT/JP2013/059567 patent/WO2013147175A1/ja not_active Ceased
- 2013-03-29 JP JP2014508102A patent/JP5880689B2/ja not_active Expired - Fee Related
-
2014
- 2014-09-02 IN IN7359DEN2014 patent/IN2014DN07359A/en unknown
Also Published As
| Publication number | Publication date |
|---|---|
| IN2014DN07359A (ja) | 2015-04-24 |
| CN104205752A (zh) | 2014-12-10 |
| EP2833584A4 (en) | 2015-12-09 |
| WO2013147175A1 (ja) | 2013-10-03 |
| US9787585B2 (en) | 2017-10-10 |
| JPWO2013147175A1 (ja) | 2015-12-14 |
| US20150049764A1 (en) | 2015-02-19 |
| EP2833584A1 (en) | 2015-02-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5880689B2 (ja) | 分散ストレージシステム、制御装置、クライアント端末、負荷分散方法及びプログラム | |
| US11381455B2 (en) | Information system, control server, virtual network management method, and program | |
| CN102474467B (zh) | 在通信网络中对分组进行选路的方法和设备 | |
| JP5850068B2 (ja) | 制御装置、通信システム、通信方法およびプログラム | |
| CN102792645B (zh) | 信息系统、控制设备以及管理虚拟网络的方法 | |
| CN102884769B (zh) | 通信系统、节点、控制设备以及通信方法 | |
| JP5994846B2 (ja) | 通信システム、制御装置、ノード、ノードの制御方法およびプログラム | |
| JP5994851B2 (ja) | 転送装置の制御装置、転送装置の制御方法、通信システムおよびプログラム | |
| JP5526015B2 (ja) | ゲートウェイシステム、ゲートウェイ装置、負荷分散方法 | |
| WO2015151184A1 (ja) | 通信システム、通信方法、中継装置、および、通信プログラム | |
| JP2017118438A (ja) | パケット送信プログラム、情報処理装置、および、障害検出方法 | |
| US10523629B2 (en) | Control apparatus, communication system, communication method, and program | |
| WO2013062070A1 (ja) | 制御装置、通信システム、仮想ネットワークの管理方法およびプログラム | |
| JP4623317B2 (ja) | 通信装置、ルーティング方法及びプログラム | |
| JP6061829B2 (ja) | リンク品質計測装置ならびにそのフローエントリ集約方法およびプログラム | |
| JP5833184B2 (ja) | ネットワーク輻輳回避システム及び方法 | |
| KR102397923B1 (ko) | 정보 중심 네트워크(icn)에서 플로우 스위칭 장치 및 방법 | |
| JP2020047968A (ja) | 転送装置および転送方法 | |
| JP2010081471A (ja) | ネットワークシステム | |
| WO2013128514A1 (en) | Communication system, control apparatus, control method and program | |
| JP6724427B2 (ja) | コントローラ、通信スイッチ、通信システム、通信制御方法、及びプログラム | |
| WO2004086696A1 (ja) | データ中継装置、通信システム、データ中継方法及びそれをコンピュータにおいて実現するコンピュータプログラム | |
| WO2016157836A1 (ja) | 通信システム、通信制御方法、制御装置、受信装置、転送装置、制御方法、受信方法、及び、転送方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150914 |
|
| 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: 20160105 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160118 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 5880689 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| LAPS | Cancellation because of no payment of annual fees |