(57)【要約】【課題】ハッシュ関数を用いた入力データの負荷分散を効率良く行うこと。【解決手段】ハッシュ値計算部２２によるハッシュ関数を用いたハッシュ演算結果に基づき、振分処理部２３が所定の被振分対象に入力データを振分ける際に、振分割合テーブル２４の振分割合の情報および振分状態管理テーブル２５の振分状況の情報を参酌して得られる最適被振分対象に、前記振分処理部２３が前記入力データを振分けることで、振分割合に基づいて多元的に被振分対象を求める。【選択図】        図１
2005135318.tif 000002
【特許請求の範囲】
【請求項１】
入力データに対して、ハッシュ演算を行う演算工程と、
予めハッシュ演算の結果に対応させて複数の被振分対象を記憶する対象記憶手段から、前記演算工程でのハッシュ演算の結果に対応する所定の被振分対象を検索する検索手段と、
前記入力データを、当該所定の被振分対象に振分ける際に、割合記憶手段に予め記憶されている前記被振分対象に対応した振分割合の情報を参酌して得られる最適被振分対象に、前記入力データを振分ける振分工程と、
を含むことを特徴とする負荷分散方法。
【請求項２】
前記振分工程では、前記割合記憶手段に記憶されている振分割合の情報に基づいて、最適被振分対象を求めて、当該最適被振分対象に前記入力データを振分けることを特徴とする請求項１に記載の負荷分散方法。
【請求項３】
前記負荷分散方法は、
前記振分工程によって、前記被振分対象に前記入力データが振分けられると、当該被振分対象の振分状況の情報を状況記憶手段に記憶させる記憶制御工程を、
さらに含み、前記振分工程では、前記割合記憶手段と前記状況記憶手段とを参酌して得られる前記最適被振分対象に前記入力データを振分けることを特徴とする請求項１または２に記載の負荷分散方法。
【請求項４】
前記振分工程では、前記割合記憶手段に記憶されている振分割合に、最もかけ離れた振分状態にある前記被振分対象に、前記入力データを振分けることを特徴とする請求項３に記載の負荷分散方法。
【請求項５】
予めハッシュ演算の結果に対応させて複数の被振分対象を記憶する対象記憶手段と、
入力データに対して、前記ハッシュ演算を行う演算手段と、
予め前記被振分対象に対応した振分割合の情報を記憶する割合記憶手段と、
前記対象記憶手段から対応する所定の被振分対象を検索する検索手段と、
前記検索された前記所定の被振分対象に、前記入力データを振分ける際に、前記割合記憶手段を参酌して得られる最適被振分対象に、前記入力データを振分ける振分手段と、
を備えたことを特徴とする負荷分散装置。
【請求項６】
前記振分手段は、前記割合記憶手段に記憶されている振分割合の情報に基づいて、最適被振分対象を求め、当該最適被振分対象に前記入力データを振分けることを特徴とする請求項５に記載の負荷分散装置。
【請求項７】
前記負荷分散装置は、
前記被振分対象の振分状況の情報を記憶する状況記憶手段と、
前記振分手段によって、前記被振分対象に前記入力データが振分けられると、当該被振分対象の振分状況の情報を前記状況記憶手段に記憶させる記憶制御手段と、
をさらに備え、前記振分手段は、前記割合記憶手段と前記状況記憶手段とを参酌して得られる前記最適被振分対象に前記入力データを振分けることを特徴とする請求項５または６に記載の負荷分散装置。
【請求項８】
前記振分手段は、前記割合記憶手段に記憶されている振分割合に、最もかけ離れた振分状態にある前記被振分対象に、前記入力データを振分けることを特徴とする請求項７に記載の負荷分散装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力データの所定情報に基づいて、当該入力データの振り分けを行う負荷分散方法及び負荷分散装置に関し、特にハッシュ関数を用いて、入力データの負荷分散を行う負荷分散方法および負荷分散装置に関するものである。
【背景技術】
【０００２】
従来の入力データの負荷分散を行う装置では、たとえば特許文献１に示すように、アドレスパターンを識別し、その識別結果に基づき、主系回線と従系回線にデータを振分けるもので、主系回線に送出するデータが所定以上蓄積された場合には、従系回線を介してデータの転送を行うものがあった。この装置では、データ量が多い場合には、従系回線に空きがあるにもかかわらず、主系回線に多量のデータが伝送され伝送効率が悪くなるという問題がある。
【０００３】
そこで、ハッシュ関数を用いて、入力データの負荷分散を行い、負荷の分散を図るものも案出されている。この負荷分散装置では、アドレスデータとハッシュ関数を積算演算して得られるハッシュの値に基づいて、被振分対象（たとえば振り分け先の回線）を特定するものであり、たとえば上記演算によって得られるハッシュ値が０〜１００で、被振分対象が２つある場合には、たとえば０〜５０を１の回線に振り分け、また５１〜１００を２の回線に振り分けるように予め設定しておき、算出されたハッシュの値に応じて、１または２の回線の振り分け先を選択していた。
【０００４】
【特許文献１】特開平８−３２１８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、このハッシュ関数を用いた負荷分散装置では、たとえば０〜４９の中にデータの通信頻度が高い送信元と宛先の組が複数存在する場合には、振り分けられた回線のデータ伝送量に偏りが生じてしまって、伝送効率が悪くなり、負荷分散を効率良く行うことができないという問題があった。この対処方法として、振り分けの割合をたとえば、０〜３０、３１〜１００のように変える場合も考えられるが、通信頻度が高い組のハッシュ値が連続しているような場合には、振り分けが困難となることがあった。
【０００６】
本発明は、上記問題に鑑みてなされたものであって、ハッシュ関数を用いた入力データの負荷分散を効率良く行うことができる負荷分散方法および負荷分散装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するために、本発明にかかる負荷分散方法は、入力データに対して、ハッシュ演算を行う演算工程と、予めハッシュ演算の結果に対応させて複数の被振分対象を記憶する対象記憶手段から、前記演算工程でのハッシュ演算の結果に対応する所定の被振分対象を検索する検索工程と、前記入力データを、当該所定の被振分対象に振分ける際に、割合記憶手段に予め記憶されている前記被振分対象に対応した振分割合の情報を参酌して得られる最適被振分対象に、前記入力データを振分ける振分工程と、を含むことを特徴とする。
【０００８】
また、請求項２にかかる負荷分散方法は、上記発明において、前記振分工程では、前記割合記憶手段に記憶されている振分割合の情報に基づいて、最適被振分対象を求めて、当該最適被振分対象に前記入力データを振分けることを特徴とする。
【０００９】
また、請求項３にかかる負荷分散方法は、上記発明において、前記振分工程によって、前記被振分対象に前記入力データが振分けられると、当該被振分対象の振分状況の情報を状況記憶手段に記憶させる記憶制御工程を、をさらに含み、前記振分工程では、前記割合記憶手段と前記状況記憶手段とを参酌して得られる前記最適被振分対象に前記入力データを振分けることを特徴とする。
【００１０】
また、請求項４にかかる負荷分散方法は、上記発明において、前記振分工程では、前記割合記憶手段に記憶されている振分割合に、最もかけ離れた振分状態にある前記被振分対象に、前記入力データを振分けることを特徴とする。
【００１１】
また、請求項５にかかる負荷分散装置は、予めハッシュ演算の結果に対応させて複数の被振分対象を記憶する対象記憶手段と、入力データに対して、前記ハッシュ演算を行う演算手段と、予め前記被振分対象に対応した振分割合の情報を記憶する割合記憶手段と、前記対象記憶手段から対応する所定の被振分対象を検索する検索手段と、前記検索された前記所定の被振分対象に、前記入力データを振分ける際に、前記割合記憶手段を参酌して得られる最適被振分対象に、前記入力データを振分ける振分手段と、を備えたことを特徴とする。
【００１２】
また、請求項６にかかる負荷分散装置は、上記発明において、前記振分手段は、前記割合記憶手段に記憶されている振分割合の情報に基づいて、最適被振分対象を求め、当該最適被振分対象に前記入力データを振分けることを特徴とする。
【００１３】
また、請求項７にかかる負荷分散装置は、上記発明において、前記被振分対象の振分状況の情報を記憶する状況記憶手段と、前記振分手段によって、前記被振分対象に前記入力データが振分けられると、当該被振分対象の振分状況の情報を前記状況記憶手段に記憶させる記憶制御手段と、をさらに備え、前記振分手段は、前記割合記憶手段と前記状況記憶手段とを参酌して得られる前記最適被振分対象に前記入力データを振分けることを特徴とする。
【００１４】
また、請求項８にかかる負荷分散装置は、上記発明において、前記振分手段は、前記割合記憶手段に記憶されている振分割合に、最もかけ離れた振分状態にある前記被振分対象に、前記入力データを振分けることを特徴とする。
【発明の効果】
【００１５】
本発明にかかる負荷分散方法は、ハッシュ演算結果に基づき、入力データを所定の被振分対象に振分ける際に、振分割合の情報に基づき、最適の被振分対象を求め、該最適被振分対象に前記入力データを振分けるので、従来技術のようにハッシュ値に対応させて一元的に被振分対象を求めるのではなく、振分割合に基づいて多元的に被振分対象を求めることができ、ハッシュ関数を用いた入力データの負荷分散を効率良く行うことができるという効果を奏する。
【００１６】
本発明にかかる負荷分散装置は、演算手段によるハッシュ演算結果に基づき、振分手段が入力データを所定の被振分対象に入力データを振分ける際に、割合記憶手段の記憶内容を参酌して得られる最適被振分対象に、前記振分手段が前記入力データを振分けるので、従来技術のようにハッシュ値に対応させて一元的に被振分対象を求めるのではなく、振分割合に基づいて多元的に被振分対象を求めることができ、ハッシュ関数を用いた入力データの負荷分散を効率良く行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に、本発明にかかる負荷分散方法および負荷分散装置の実施の形態を図１〜図６の図面に基づいて詳細に説明する。なお、本発明は、これらの実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で種々の変更実施の形態が可能である。
【００１８】
（実施の形態）
図１は、本発明にかかる負荷分散装置の実施の形態の構成ブロックを示す構成図である。図において、負荷分散装置は、データが入力するデータ入力部２１と、この入力データからハッシュ値を計算する演算手段としてのハッシュ値計算部２２と、このハッシュ値から所定の被振分対象を求め、この被振分対象に入力データを振分ける振分手段としての振分処理部２３と、振分割合の情報を記憶する割合記憶手段としての振分割合テーブル２４と、被振分対象の振分状況の情報を記憶する状況記憶手段としての振分状態管理テーブル２５とを備える。
【００１９】
ハッシュ値計算部２２は、入力データのうち、たとえば送信元アドレスと宛先アドレスの情報と、ハッシュ関数とを積算演算することでハッシュ値を得ている。
【００２０】
振分割合テーブル２４には、図２に示すように、被振分対象の情報と、この被振分対象に対応して設定された振分割合の情報が記憶されている。この実施の形態では、たとえば被振分対象をａ〜ｃの３つとし、それぞれの振分割合を、１：３：５としている。なお、これら被振分対象の情報ａ〜ｃおよび振分割合１：３：５の情報は、ユーザがキーボードなどの入力操作部を用いて、予め振分割合テーブル２４に設定、記憶させておく。
【００２１】
振分状態管理テーブル２５は、図３および図４に示すように、対照表記憶部と、振分状況記憶部とを備えており、対照表記憶部には、ハッシュ計算結果値（ハッシュ値）の情報と、このハッシュ値に対応して設定される被振分対象の情報が記憶されている。この実施の形態では、たとえばハッシュ値を１〜１００とし、このハッシュ値にａ〜ｃの被振分対象の情報を割り振っている。これらのハッシュ値および被振分対象の情報も、入力操作部を用いて、ユーザが予め対照表記憶部に設定、記憶させておく。また、振分状況記憶部には、被振分対象の情報と、現在のこれら被振分対象の振分状況の情報が記憶されている。この実施の形態では、被振分対象ａ〜ｃに対して、それぞれ“１０”、“３０”、“４９”の値が振分状況の情報として記憶されている。なお、この振分状況の情報は、振分処理部２３によって、該当する被振分対象に入力データが振分けられた時に、１つずつインクリメントされる。
【００２２】
振分処理部２３は、上記振分手段としての機能の他に、ハッシュ計算結果であるハッシュ値の情報に基づいて、振分状態管理テーブル２５内の対照表記憶部を検索して、対応する被振分対象の情報を検索する検索手段としての機能を有する。また、振分処理部２３は、被振分対象に入力データを振分ける際に、振分割合テーブル２４と振分状態管理テーブル２５の振分状況記憶部を参酌して、最適被振分対象を求める。すなわち、振分処理部２３は、ハッシュ値から検索した被振分対象に対応する振分状況を、振分状況記憶部から参照し、この振分状況が振分割合テーブル２４に設定されている割合に、最もかけ離れている被振分対象を最適被振分対象として割り当てる処理を行う。
【００２３】
図５は、この負荷分散装置をセンター側のＩＰｓｅｃ装置２０に設け、インターネットなどのバックボーンネットワーク１０に接続させて、データ中継システムを構築したシステム構成を示す構成図である。図において、バックボーンネットワーク１０には、センター側のＩＰｓｅｃ装置２０と、各特定ネットワーク（この実施の形態では、Ａ〜Ｄ拠点側の各ネットワーク）に接続されるＩＰｓｅｃ装置３１〜３４がそれぞれ接続されている。このシステムでは、センター側と拠点側で、ＩＰｓｅｃの論理的パス（以下、「ＳＡ」という。ＳＡ：Ｓｅｃｕｒｉｔｙ  Ａｓｓｏｃｉａｔｉｏｎ）を、複数確立してセンター側と拠点側との間でのデータ中継を可能にしている。
【００２４】
すなわち、この実施の形態では、ＩＰｓｅｃ装置２０は、被振分対象としての３つの送信インターフェースを有し、それぞれにＩＰアドレス（グローバルアドレス）“ａ”、“ｂ”、“ｃ”が割り当てられている。そして、この実施の形態では、ＩＰｓｅｃ装置２０が、Ａ〜Ｄ拠点側の各ネットワークに対して、ＩＰアドレス“ａ”にも、“ｂ”にも、“ｃ”にもＳＡを確立させておく。ただし、このＳＡを確立させただけでは、ＴＣＰ／ＩＰの通信においては、一方の通信しか有効にならないので、負荷分散を機能させることはできない。
【００２５】
そこで、この実施の形態では、データの暗号化を行うこのＩＰｓｅｃ（ＩＰ  ｓｅｃｕｒｉｔｙ  ｐｒｏｔｏｃｏｌ）の負荷分散を機能させるために、ＩＰｓｅｃ装置２０内にこの負荷分散装置を設けて、計算したハッシュ値に基づいて、送信インターフェースに入力データを振分けて、データの中継制御を行う。
【００２６】
次に、図６のフローチャートを用いて、負荷分散処理装置による負荷分散処理の動作を説明する。図６において、データ入力部２１からデータ入力があり、この入力データをハッシュ値計算部２２が取得すると（ステップ１０１）、ハッシュ値計算部２２は、送信元及び宛先のアドレスとハッシュ関数に基づいて、ハッシュ値計算処理を行う（ステップ１０２）。そして、この計算結果は、振分処理部２３に取り込まれ、振分処理部２３では、計算されたハッシュ値が被振分対象に未割当かどうか判断する（ステップ１０３）。
【００２７】
ここで、計算されたハッシュ値が既に被振分対象に割当てられている場合には、その割当てられた被振分対象（送信インターフェース）を用いてデータ中継を行うので、この負荷分散処理を終了する。また、計算されたハッシュ値が未割当の場合には、振分処理部２３は、振分割合テーブル２４から振分割合の情報を取得し（ステップ１０４）、さらに振分状況記憶部から振分状態の情報を取得する（ステップ１０５）。
【００２８】
次に、振分処理部２３は、ハッシュ値から検索した被振分対象に対応する振分状況を、振分状況記憶部の振分状況の情報から参照し、この振分状況が振分割合テーブル２４に設定されている割合に、最もかけ離れている被振分対象を最適被振分対象として選択し（ステップ１０６）、入力データに振分け、センター側ＩＰｓｅｃ装置２０によるデータ転送を可能にする。さらに、振分処理部２３は、振分状況記憶部の該当する振分状況（最適被振分対象に対応した振分状況）の情報を、たとえば１つインクリメントして更新する（ステップ１０７）。
【００２９】
このように、この実施の形態では、ハッシュ値計算部でのハッシュ演算結果に基づき、振分処理部が入力データを所定の被振分対象に振分ける際に、振分割合の情報と振分状況の情報に基づき、振分割合に最もかけ離れた最適の被振分対象を求め、該最適被振分対象に前記入力データを振分けるので、従来技術のようにハッシュ値に対応させて一元的に被振分対象を求めるのではなく、振分割合に基づいて多元的に被振分対象を求めることができ、これによりハッシュ関数を用いた入力データの負荷分散を効率良く行うことができる。
【００３０】
また、本発明では、特許文献１のように、負荷分散を行うために、入力データのデータ量を測定する必要がないので、たとえば本発明にかかる負荷分散装置を、大規模ネットワーク内のＩＰｓｅｃ装置に設けたとしても、このデータ量の計測による負担がなくなり、これに伴う著しい伝送効率の性能劣化の恐れがなくなる。したがって、本発明では、伝送効率が向上された負荷分散を行うことが可能となる。
【００３１】
なお、この実施の形態では、振分割合テーブルの振分割合の情報と振分状態管理テーブルの振分状況の情報を参酌して最適被振分対象を求めたが、本発明はこれに限らず、たとえば振分割合テーブルの振分割合の情報を参酌するだけでも、最適被振分対象を求めることができる。この場合には、実施の形態と同様の効果を得ることができるとともに、振分状況記憶部が不要となるので、部品点数が削減され、製作コストの低減化が可能となる。
【図面の簡単な説明】
【００３２】
【図１】本発明にかかる負荷分散装置の実施の形態の構成ブロックを示す構成図である。
【図２】図１に示した振分割合テーブルの内部構成を示す構成図である。
【図３】図１に示した振分状態管理テーブル内の対照表記憶部の内部構成を示す構成図である。
【図４】同じく、振分状態管理テーブル内の振分状況記憶部の内部構成を示す構成図である。
【図５】図１に示した負荷分散装置が設けられるＩＰｓｅｃ装置を有するデータ中継システムの構成を示す構成図である。
【図６】図１に示した負荷分散処理装置による負荷分散の処理動作を説明するためのフローチャートである。
【符号の説明】
【００３３】
１０  バックボーンネットワーク
２０，３１〜３４  ＩＰｓｅｃ装置
２１  データ入力部
２２  ハッシュ値計算部
２３  振分処理部
２４  振分割合テーブル
２５  振分状態管理テーブル
ａ〜ｃ  被振分対象
【図１】
2005135318.tif 000003
【図２】
2005135318.tif 000004
【図３】
2005135318.tif 000005
【図４】
2005135318.tif 000006
【図５】
2005135318.tif 000007
【図６】
2005135318.tif 000008