JP2012124700A - パケットスイッチ - Google Patents

パケットスイッチ Download PDF

Info

Publication number
JP2012124700A
JP2012124700A JP2010273553A JP2010273553A JP2012124700A JP 2012124700 A JP2012124700 A JP 2012124700A JP 2010273553 A JP2010273553 A JP 2010273553A JP 2010273553 A JP2010273553 A JP 2010273553A JP 2012124700 A JP2012124700 A JP 2012124700A
Authority
JP
Japan
Prior art keywords
packet
port
server
ports
message
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.)
Pending
Application number
JP2010273553A
Other languages
English (en)
Inventor
Atsushi Hiramatsu
淳 平松
Takashi Kurimoto
崇 栗本
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.)
NTT Inc
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 JP2010273553A priority Critical patent/JP2012124700A/ja
Publication of JP2012124700A publication Critical patent/JP2012124700A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】サーバによる機能の提供の高信頼性を確保する。
【解決手段】パケットを入出力する複数のポートを備えたスイッチ部と、ルーチングテーブルとを有するパケットスイッチであって、スイッチ部は、複数のポートのうち少なくとも1つを示すポート情報およびアドレスを含む第1のメッセージを複数のポートのいずれかを介して受信し、複数のポートのうちの第1のポートを介してスイッチ部と接続され、第1のポートから出力されたパケットを受け付けて記憶するバッファ部と、第1のメッセージが受信されると、複数のポートのうち当該第1のメッセージに含まれるポート情報が示すポート以外のポートにて受け付けられ、当該第1のメッセージに含まれるアドレスを宛先アドレスとするパケットを第1のポートから出力するようにルーチングテーブルを設定する制御部とを有する。
【選択図】図3

Description

本発明は、パケットを転送するパケットスイッチに関する。
現在、多様なサーバが多数の利用者に対してネットワークを介して様々な機能を提供するようになってきている。利用者数が増加し、また、提供される機能の重要性が高くなってきていることから、機能の提供の安定性や継続性に対する関心が高まっており、サーバの高信頼性が求められるようになってきている。
そこで、複数のサーバをパケットスイッチで接続しておき、通常運用中に機能を提供する運用サーバのソフトウェアやハードウェアを交換する場合や、運用サーバに障害等が発生した場合に、機能を提供するサーバを運用サーバからバックアップサーバへ切り替える。これにより、機能の提供が中断される時間を短くすることができる。
また、運用サーバに障害等が発生した場合に、複数のバックアップサーバのうちのどのサーバに対してどのソフトウェアの実行を委ねるか、というような機能の提供の継続に向けたサーバ群の管理を行うための技術も考えられている。このような技術が例えば、特許文献1に開示されている。
特許文献1に開示されている技術では、複数のサーバによって機能の提供を行っているシステムにおいて、障害が検出された場合に障害の原因等に応じてどのサーバにどのプロセスの処理を実行させるかを管理している。これにより、機能の提供が中断される時間を可能な限り短くすることができる。
ここで、機能を提供するサーバを切り替えるときの動作の一例を説明する。なお、ここでは、運用サーバのソフトウェアやハードウェアを計画的に交換する場合について説明する。
図5は、機能を提供するサーバを切り替えるときの動作の一例を説明するための図である。
図5に示すパケットスイッチ100は、パケットを入出力するポート11a〜11cを有するスイッチ部101と、制御部102と、ルーチングテーブル部103とを備えている。サーバ20,30は、パケットスイッチ100を介してネットワーク50に接続されている。
ルーチングテーブル部103は、ルーチングテーブルを記憶している。ルーチングテーブルは、ポート11a〜11cのうち、パケットを受け付けたポートとそのパケットを出力するポートとを、パケットの宛先アドレスに応じて対応付けて記憶している。
スイッチ部101は、ポート11a〜11cのそれぞれにてパケットが受け付けられると、受け付けられたポートとそのパケットの宛先アドレスとから、ルーチングテーブルを参照することによってそのパケットを出力するポートを決定する。そして、スイッチ部101は、決定したポートからそのパケットを出力する。
制御部102は、パケットスイッチ100全体の動作を制御する。具体的には例えば、ルーチングテーブルの設定および更新や、スイッチ部11の状態管理を行う。
図5に示した構成においてサーバを切り替える動作は以下に説明するとおりである。なお、ここでは、サーバ20を運用サーバとし、サーバ30をバックアップサーバとする。
(手順a)サーバ20は、ネットワーク50に接続された端末等に対して機能を提供しながらサーバ30を起動させる。
(手順b)サーバ20は、機能の提供を継続しながら様々な環境データをサーバ30へコピーする。
(手順c)サーバ20は、ネットワーク50に接続された端末等に対する機能の提供を停止する。
(手順d)サーバ20は、処理中のサービスに関する状態データをサーバ30へコピーする。
(手順e)サーバ20は、サーバ30を運転状態に移行させる。
(手順f)パケットスイッチ100の制御部102は、ネットワーク50からサーバ20へ送信されたパケットが、サーバ30へ転送されるようにルーチングテーブルを設定する(図5における(A)から(B)への切り替え)。
以降、サーバ30が、サーバ20の処理を引き継ぎ、ネットワーク50に接続された端末に対する機能の提供が再開される。
上述した(手順c)において、サーバ20は機能の提供を停止している。これは、サーバ20からサーバ30へ状態データのコピーを行っている間にサーバ20が何らかの処理を行うことにより、サーバ20の内部状態が変化してしまうことを回避するためである。例えば、サーバ20からサーバ30へ状態データのコピーを行っている間にサーバ20が何らかの処理を行うと、サーバ30にコピー済みの状態データとの不整合が生じること可能性がある。
特許第4112191号
機能を提供するサーバを切り替える動作において、上述した手順cから手順fまでの間は、運用サーバもバックアップサーバも機能を提供していない。そのため、この間に運用サーバへ送信されたパケットは処理されず、サーバによる機能の提供の高信頼性を確保できないという問題点がある。
なお、サーバ上のソフトウェアの処理を工夫することにより、運用サーバからバックアップサーバへコピーする状態データの量を少なくしたり、コピー処理の性能を改善したりするなどして、手順cから手順fまでにかかる時間を短縮する取り組みが行われている。しかし、この時間を0にすることは困難である。
また、運用サーバに障害等が発生した場合には、運用サーバのソフトウェアの再起動や、バックアップサーバのソフトウェアの起動などの処理が行われるが、機能の提供が再開されるまでの間に運用サーバへ送信されたパケットは処理されない。
本発明は、サーバによる機能の提供の高信頼性を確保することを可能にするパケットスイッチを提供することを目的とする。
上記目的を達成するために本発明のパケットスイッチは、パケットを入出力する複数のポートを備えたスイッチ部と、前記複数のポートのうちパケットを受け付けたポートと当該パケットを出力するポートとをパケットの宛先アドレスに応じて対応付けて記憶するルーチングテーブルとを有するパケットスイッチであって、
前記スイッチ部は、前記複数のポートのうちの少なくとも1つを示すポート情報、および、アドレスを含む第1のメッセージを前記複数のポートのいずれかを介して受信し、
前記複数のポートのうちの第1のポートを介して前記スイッチ部と接続され、前記第1のポートから出力されたパケットを受け付けて記憶するバッファ部と、
前記第1のメッセージが受信されると、前記複数のポートのうち当該第1のメッセージに含まれるポート情報が示すポート以外のポートにて受け付けられ、当該第1のメッセージに含まれるアドレスを宛先アドレスとするパケットを、前記第1のポートから出力するように前記ルーチングテーブルを設定する制御部と、を有する。
本発明は以上説明したように構成されているので、サーバによる機能の提供がされていない間にそのサーバへ送信されたパケットを一時的にバッファ部に記憶させることができる。
バッファ部に一時的に記憶されたパケットは、機能の提供が再開された後に、機能を提供するサーバに転送されて処理される。そのため、サーバによる機能の提供の高信頼性を確保することが可能となる。
本発明のパケットスイッチの実施の一形態の構成を示すブロック図である。 図1に示した大規模バッファ部の構成の一例を示すブロック図である。 図1および図2に示したパケットスイッチの動作の一例を説明するための図である。 図1および図2に示したパケットスイッチの動作の他の例を説明するための図である。 機能を提供するサーバを切り替えるときの動作の一例を説明するための図である。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明のパケットスイッチの実施の一形態の構成を示すブロック図である。
本実施形態のパケットスイッチ10は図1に示すように、パケットを入出力するポート11a〜11fを有するスイッチ部11と、制御部12と、ルーチングテーブル部13と、大規模バッファ部14とを備えている。なお、図1においては、スイッチ部11が有するポートの数を6個としているが、6個に限定されるものではない。
ルーチングテーブル部13は、ルーチングテーブルを記憶している。ルーチングテーブルは、ポート11a〜11fのうち、パケットが受け付けられたポートとそのパケットを出力するポートとをパケットの宛先アドレスに応じて対応付けて記憶している。なお、アドレスとは例えば、IP(Internet Protocol)アドレスである。
スイッチ部11は、ルーチングテーブルに記憶された内容に従ってパケットを転送する。具体的には、スイッチ部11は、ポート11a〜11fのそれぞれにてパケットが受け付けられると、受け付けられたポートとそのパケットの宛先アドレスとから、ルーチングテーブルを参照することによってそのパケットを出力するポートを決定する。そして、スイッチ部11は、決定したポートからそのパケットを出力する。また、スイッチ部11は、ポート11a〜11dを介して接続された端末やサーバなどから送信され、制御部12を宛先とするメッセージを受信する。このメッセージの詳細については後述する。
制御部12は、パケットスイッチ10全体の動作を制御する。具体的には例えば、ルーチングテーブルの設定および更新や、スイッチ部11の状態管理、大規模バッファ部14の状態管理や制御を行う。また、制御部12は、ポート11eを介してスイッチ部11と接続されており、スイッチ部11にて受信されたメッセージをポート11eを介して受け付ける。メッセージには例えば、パケットの転送の停止を要求する第1のメッセージである停止要求メッセージや、停止したパケットの転送の再開を要求する第2のメッセージである停止解除要求メッセージがある。停止要求メッセージには、ポート11a〜11fのうちの少なくとも1つを示すポート情報およびアドレスが含まれている。制御部12は、停止要求メッセージを受け付けると、受け付けた停止要求メッセージに含まれるポート情報およびアドレスに応じてルーチングテーブルを設定する。また、制御部12は、停止解除要求メッセージを受け付けると、受け付けた停止解除要求メッセージに基づき、ポート11a〜11fの中から第2のポートを決定する。そして、制御部12は、ポート11fにて受け付けられたパケットを第2のポートから出力するようにルーチングテーブルを設定する。なお、制御部12がルーチングテーブルを設定する動作の詳細については、後述する動作フローで説明する。
大規模バッファ部14は、第1のポートであるポート11fを介してスイッチ部と接続されており、ポート11fから出力されたパケットを受け付けて記憶する。
図2は、図1に示した大規模バッファ部14の構成の一例を示すブロック図である。
図1に示した大規模バッファ部14は図2に示すように、バッファメモリ141と、読み出し部142と、書き込み部143と、管理部144と、レートレジスタ145と、タイマ146と、最大記憶時間レジスタ147と、パターンテーブル148とを備えている。
管理部144は、大規模バッファ部14の状態を管理する。なお、制御部12は、後述するレートレジスタ145や、最大記憶時間レジスタ147、パターンテーブル148の設定を管理部144を介して行う。また、制御部12は、管理部144を介してバッファメモリ141の空き状態を監視する。
書き込み部143は、ポート11fから出力されたパケットを受け付け、受け付けたパケットをバッファメモリ141の空きエリアに書き込む。
バッファメモリ141は、パケットを記憶するメモリである。バッファメモリ141のサイズは、ポート11a〜11fの転送速度とパケットを記憶する最長時間との積によって決定される。例えば、ポート11a〜11fの転送速度が1Gbpsで、最長で80秒間パケットを記憶する場合には、バッファメモリ141のサイズは10Gバイトとなる。なお、この場合、バッファメモリ141は、パケットの書き込みとパケットの読み出しとを1Gbpsの速度で並行して行える性能を有していなければならない。
読み出し部142は、管理部144を介して制御部12から読み出し開始の指示を受け付けると、バッファメモリ141に記憶されたパケットを読み出して出力する。
ここで、大規模バッファ部14は図2に示すように、レートレジスタ145と、タイマ146と、最大記憶時間レジスタ147と、パターンテーブル148とを備えていてもよい。
レートレジスタ145には、バッファメモリ141に記憶されたパケットを出力する際の所定のレートが制御部12によって予め設定されている。レートレジスタ145が備えられている場合、読み出し部142は、レートレジスタ145に設定された所定のレートでバッファメモリ141に記憶されたパケットを出力する。
パターンテーブル148には、パケットのヘッダ部分の所定のパターンが制御部12によって予め設定されている。パターンテーブル148が備えられている場合、書き込み部143は、ポート11fから出力されたパケットを受け付けると、受け付けたパケットのヘッダ部分がパターンテーブル148に設定されている所定のパターンと一致するかどうかを判定する。この判定の結果、受け付けたパケットのヘッダ部分がパターンテーブル148に設定されている所定のパターンと一致する場合、書き込み部143は、受け付けたパケットをバッファメモリ141に書き込む。一方、受け付けたパケットのヘッダ部分がパターンテーブル148に設定されている所定のパターンと一致しない場合、書き込み部143は、受け付けたパケットを破棄する。なお、パターンテーブル148には、複数のパターンを設定しておくことも可能である。
タイマ146は、時刻を示すカウンタである。また、最大記憶時間レジスタ147には、パケットを記憶する最大の時間である最大記憶時間が制御部12によって予め設定されている。
タイマ146と最大記憶時間レジスタ147が備えられている場合、書き込み部143は、ポート11fから出力されたパケットを受け付けると、受け付けたときのタイマ146が示す時刻を、受け付けたパケットとともにバッファメモリ141の空きエリアに書き込む。この場合、受け付けたパケットを記憶させるのに必要なメモリのサイズは、時刻を記憶させる分だけ大きくなる。また、読み出し部142は、バッファメモリ141に記憶されたパケットを読み出すときに、時刻も合わせて読み出す。そして、読み出し部142は、パケットを読み出したときのタイマ146が示す時刻と、バッファメモリ141から読み出した時刻との差を算出する。算出した差が最大記憶時間レジスタ147に設定された最大記憶時間よりも小さな場合、読み出し部142は、読み出したパケットを出力する。一方、算出した差が最大記憶時間レジスタ147に設定された最大記憶時間以上である場合、読み出し部142は、読み出したパケットを破棄する。
以下に、上記のように構成されたパケットスイッチ10の動作について説明する。ここでは、運用サーバのソフトウェアやハードウェアを計画的に交換する場合について説明する。
図3は、図1および図2に示したパケットスイッチ10の動作の一例を説明するための図である。
図3に示すように、ネットワーク50、サーバ20、サーバ30およびサーバ40のそれぞれは、ポート11a,11b,11c,11dを介してスイッチ部11に接続されている。なお、ここでは、サーバ20を運用サーバとし、サーバ30をバックアップサーバとする。
通常運用中は、宛先アドレスがサーバ20を示すパケットがポート11a、ポート11c、ポート11dにて受け付けられると、受け付けられたパケットをポート11bから出力するようにルーチングテーブルが設定されている。これは、図3において(1)および(5)で示されている。
また、通常運用中は、バッファメモリ141にはパケットが記憶されておらず、読み出し部142は動作を停止している。
(手順1)サーバ20は、ネットワーク50に接続された端末等やサーバ40に対して機能を提供しながらサーバ30を起動させる。
(手順2)サーバ20は、機能の提供を継続しながら様々な環境データをサーバ30へコピーする。
ここまでの動作は、本実施形態のパケットスイッチ10を用いない場合でも同様である。
(手順3)サーバ20は、ネットワーク50に接続された端末等やサーバ40に対する機能の提供を停止する。このとき、サーバ20は、ポート11cを示すポート情報とサーバ20のアドレスとを含む停止要求メッセージを制御部12へ送信する。制御部12は、サーバ20から送信された停止要求メッセージをポート11eを介して受け付けると、サーバ30,40およびネットワーク50と接続されたポート11a,11c,11dのうちポート11c以外のポート11a,11dにて受け付けられ、宛先アドレスがサーバ20を示すパケットをポート11fから出力するようにルーチングテーブルを設定する。これにより、図3の(2)に示すように、ネットワーク50およびサーバ40から送信され、宛先アドレスがサーバ20を示すパケットは、大規模バッファ部14へ転送されることになる。なお、受け付けた停止要求メッセージに含まれるポート情報が示すポート11cにて受け付けられ、宛先アドレスがサーバ20を示すパケットは引き続き、図3の(5)に従って転送される。つまり、サーバ30から送信されたパケットは、大規模バッファ部14へ転送されることはない。従って、サーバ20とサーバ30との間では、通信を行うことが可能である。また、図3には明示的に示していないが、ポート11a〜11fと制御部12との間の通信については、制御部12が管理しており、サーバ20から送信された停止要求メッセージの有無によらず、転送の停止を行わないものとする。
(手順4)サーバ20は、処理中のサービスに関する状態データをサーバ30へコピーする。
(手順5)サーバ20は、サーバ30を運転状態に移行させる。
手順4および手順5の動作は、本実施形態のパケットスイッチ10を用いない場合でも同様である。
(手順6)停止解除要求メッセージが制御部12へ送信される。このとき、サーバ20がポート11cを示すポート情報を含む停止解除要求メッセージを送信する方法と、サーバ30が停止解除要求メッセージを送信する方法とがある。前者の方法では、第2のポート、すなわちパケットの新たな転送先が明示的に指定されている。前者の方法では、運用サーバだけではなく、例えばサーバ群の運転状態やサーバの切り替えを管理するサーバなどから、パケットの転送の停止の解除を指示する場合に適している。一方、後者の方法において制御部12は、ポート11a〜11fのうち停止解除要求メッセージが受け付けられたポートを識別することによって第2のポート、すなわちパケットの新たな転送先を決定することになる。後者の方法では、バックアップサーバが接続されているポートを示すポート情報等をバックアップサーバに設定しておかなくても、パケットの転送を再開することができる。制御部12は、サーバ20またはサーバ30から送信された停止解除要求メッセージをポート11eを介して受け付けると、ポート11fにて受け付けられたパケットをポート11cから出力するようにルーチングテーブルを設定する。これは図3に示す(3)を設定することとなる。そして、制御部12は、読み出し開始の指示を大規模バッファ部14へ出力する。これにより、バッファメモリ141に記憶されているパケットが出力されてポート11fにて受け付けられ、受け付けられたパケットがポート11cから出力されることになる。つまり、バッファメモリ141に記憶されているパケットがサーバ30へ転送される。なお、この時点では、ポート11a,11dにて受け付けられ、宛先アドレスがサーバ20を示すパケットは引き続き、ポート11fから出力される。これは、新たに受け付けられたパケットが、大規模バッファ部14に記憶されているパケットに引き続いて、サーバ30へ転送されるようにするためである。これにより、パケットの順序の逆転などを回避することができる。なお、ポート11bにて受け付けられ、宛先アドレスがサーバ20を示すパケットについては、そのまま折り返してポート11bから出力する方法と、破棄する方法が考えられるが、いずれの処理を行うかはパケットスイッチ10の利用者が設定可能とする。
上記の手順6により、サーバ20が運用サーバとして行っていた処理を引き継いだサーバ30は機能を提供できることとなる。
次に、大規模バッファ部14を経由しているパケット転送を、大規模バッファ部14を経由しないパケット転送の状態に戻すために、以下に示す手順7が実行される。
(手順7)制御部12は、バッファメモリ141の空き状況を監視する。そして、制御部12は、バッファメモリ141に記憶されたパケットがなくなると、ポート11aおよびポート11dにて受け付けられ、宛先アドレスがサーバ20を示すパケットをポート11cから出力するようにルーチングテーブルを設定する。これにより、図3の(4)に示すように、ネットワーク50およびサーバ40から送信され、宛先アドレスがサーバ20を示すパケットは、サーバ30へ転送されることになる。そして、制御部12は、読み出し部142の動作を停止させる。これにより、大規模バッファ部14は、別のサーバの切り替えなどに対応することが可能な状態となる。
このように本実施形態においてパケットスイッチ10は、停止要求メッセージが受信されると、複数のポートのうち当該停止要求メッセージに含まれるポート情報が示すポート以外のポートにて受け付けられ、当該停止要求メッセージに含まれるアドレスを宛先アドレスとするパケットを、ポート11fから出力するようにルーチングテーブルを設定する。
これにより、運用サーバおよびバックアップサーバがともに機能を提供していない間に運用サーバへ送信されたパケットを一時的に大規模バッファ部14に記憶させることができる。
大規模バッファ部14に一時的に記憶されたパケットは、バックアップサーバによる機能の提供が開始された後に、バックアップサーバに転送されて処理される。そのため、サーバによる機能の提供の高信頼性を確保することが可能となる。
また、バッファメモリ141を備える大規模バッファ部14は、スイッチ部11と接続されており、ポート11a〜11eのいずれにおいて受け付けられたパケットも一時的に記憶することができる。そのため、複数のサーバでバッファメモリ141を共有してサーバの切り替えを行うことが可能である。従って、例えば複数のポート毎に設けられているバッファの容量を拡張して一時的にパケットを記憶させる場合と比べ、サーバによる機能の提供の高信頼性を経済的に確保することが可能となる。
また、バックアップサーバが機能を提供するための準備を完了するまでの間には、非常に多くのパケットがバッファメモリ141に記憶される可能性がある。バックアップサーバが機能の提供を開始した直後に、バッファメモリ141に記憶された非常に多くのパケットが一斉に出力されると、バックアップサーバが輻輳状態に陥ってしまう。
これは、レートレジスタ145に設定される所定のレートを、バックアップサーバが輻輳状態に陥らないようなレートにすることによって回避することができる。
また、バックアップサーバが機能を提供するための準備を完了するまでの間には、様々な種類のパケットが様々な端末から送信されている可能性がある。バックアップサーバが機能の提供を開始したときに、これらのパケットの全てを処理するのではなく、これらのパケットのうち機能の提供の継続に不可欠なパケットのみを処理するような対応を行うことも考えられる。
パターンテーブル148に設定された所定のパターンと一致するヘッダ部分のパケットだけをバッファメモリ141に記憶させることにより、機能の提供の継続に不可欠なパケットだけをバックアップサーバに転送することが可能となる。
また、バックアップサーバが機能を提供するための準備を完了するまでの間に、端末等が運用サーバに向けてパケットを送信した場合、そのパケットを送信した端末等は、一定時間を経過してもそのパケットに対する応答がないと、そのパケットの再送することがある。
端末等がこのような動作を実行する場合、バックアップサーバが機能の提供を開始したときに、端末が再送を行うほど古いパケットについては処理をしないという対応方法も考えられる。
タイマ146および最大記憶時間レジスタ147を備えることにより、バックアップサーバが処理をする必要のないパケットをバックアップサーバへ転送することを回避することができる。
また、上述したように、停止要求メッセージにおいては、大規模バッファ部14へのパケットの転送を明示する必要がない。従って、大規模バッファ部14が接続されているポートを識別するポート情報を運用サーバ等に通知したり、運用サーバ等がポート情報を管理したりする必要がない。
また、停止要求メッセージは、大規模バッファ部14へのパケットの転送を指示するメッセージではなく、パケットの転送の停止を指示するメッセージである。これにより、大規模バッファ部14の有無に応じて停止要求メッセージの形式を変更しなくても済む。すなわち、パケットスイッチが停止要求メッセージを受信したとき、そのパケットスイッチが大規模バッファ部14を備えていれば大規模バッファ部14にパケットを転送し、大規模バッファ部14を備えていなければパケットを破棄するということが可能となる。
なお、パケットが大規模バッファ部14に転送されているときに、バッファメモリ141に空きエリアがなくなったときには、バッファメモリ141に記憶されている複数のパケットうち最も早い時期に記憶されたパケットを破棄し、大規模バッファ部14に新たに転送されてきたパケットを記憶するようにしてもよい。これは、バッファメモリ141に記憶された時期が早いパケットについては、これを送信した端末が再送の手順などを開始している可能性があるためである。
これにより、バックアップサーバが機能を提供する際に、機能の提供に必要な可能性が高いパケットを大規模バッファ部14に残しておくことができる。
また、上述した実施形態において停止要求メッセージは、バックアップサーバが接続されたポートのポート情報を含むものとして説明した。ただし、機能を提供するサーバを切り替えるために運用サーバは、切り替えの工程を管理する運用管理サーバ等と通信をする可能性もある。そのため、停止要求メッセージは、バックアップサーバが接続されたポートを示すポート情報だけではなく、このような運用管理サーバ等が接続されたポートのポート情報等も含むようにしてもよい。
ここで、図3を参照しながら説明したのは、運用サーバのソフトウェアやハードウェアを計画的に交換する場合に、機能を提供するサーバを運用サーバからバックアップサーバへ切り替えるときのパケットスイッチ10の動作であった。
次に、運用サーバに障害等が発生したときのパケットスイッチ10の動作について説明する。
図4は、図1および図2に示したパケットスイッチ10の動作の他の例を説明するための図である。ここでは、運用サーバがソフトウェア障害を検出し、運用サーバ内のソフトウェアが再起動されるときのパケットスイッチ10の動作について説明する。
図4に示すように、ネットワーク50、サーバ20およびサーバ40のそれぞれは、ポート11a,11b,11dを介してスイッチ部11に接続されている。また、ここでは、サーバ20を運用サーバとする。
通常運用中は、宛先アドレスがサーバ20を示すパケットがポート11a、ポート11dにて受け付けられると、受け付けられたパケットをポート11bから出力するようにルーチングテーブルが設定されている。この状態は、図4において(6)で示されている。
また、通常運用中は、バッファメモリ141にはパケットが記憶されておらず、読み出し部142は動作を停止している。
サーバ20がソフトウェア障害を検出し、ソフトウェアの再起動を開始すると、再起動の開始時に停止要求メッセージを制御部12へ送信する。これにより、制御部12は、ポート11a,11dにて受け付けられ、宛先アドレスがサーバ20を示すパケットをポート11fから出力するようにルーチングテーブルを設定する。これにより、図4の(7)に示すように、ネットワーク50およびサーバ40から送信され、宛先アドレスがサーバ20を示すパケットは、大規模バッファ部14へ転送されることになる。
次に、サーバ20がソフトウェアの再起動を完了すると、サーバ20は、停止解除要求メッセージを制御部12へ送信する。これにより、制御部12は、図4の(8)に示すように、ポート11fにて受け付けられたパケットをポート11bから出力するようにルーチングテーブルを設定する。そして、制御部12は、読み出し開始の指示を大規模バッファ部14へ出力する。これにより、サーバ20のソフトウェアを再起動している間にサーバ20へ送信されたパケットが、ソフトウェアの再起動後に処理される。
そして、制御部12は、バッファメモリ141の空き状態を監視する。制御部12は、バッファメモリ141に記憶されたパケットがなくなると、図4の(6)に示すように、ポート11a,11dにて受け付けられ、宛先アドレスがサーバ20を示すパケットをポート11bから出力するようにルーチングテーブルを設定する。これにより、通常運用中の状態に戻ることになる。
図4を参照しながら説明した動作の場合、運用サーバにおいて障害が発生してから障害が検出されるまでの間にサーバ20が受信したパケットについては正常に処理されないが、障害が検出された後のパケットについては正常に処理される。
従って、ネットワーク50に接続された端末等から見ると、見掛け上の中断時間は、パケットスイッチ10を用いない場合に比べて大きく短縮されることになる。これは、運用サーバにおいてソフトウェアの再起動を行う場合だけでなく、運用サーバ内のデータの再初期化を行ったり、運用サーバ内の2重化した装置を切り替えたりするような場合でも同様である。
つまり、運用サーバに障害等が発生した場合にも、サーバによる機能の提供の高信頼性を確保することが可能となる。
なお、本発明は、従来のパケットスイッチに大規模バッファ部14を追加し、制御部12のソフトウェアを変更するなどによって簡単に実現が可能であり、多様なパケットスイッチへの適用が可能である。
特に、サーバ間での状態データの引き継ぎを行いながら、機能提供の継続性を実現するようなサーバを多数収容する可能性が高く、かつ、サーバの機能提供の中断により非常に多数の利用者に影響をあたえてしまう可能性が高い大規模データセンタを構成するパケットスイッチなどに適用されることが想定される。
10 パケットスイッチ
11 スイッチ部
11a〜11f ポート
12 制御部
13 ルーチングテーブル部
14 大規模バッファ部
20,30,40 サーバ
50 ネットワーク
141 バッファメモリ
142 読み出し部
143 書き込み部
144 管理部
145 レートレジスタ
146 タイマ
147 最大記憶時間レジスタ
148 パターンテーブル

Claims (9)

  1. パケットを入出力する複数のポートを備えたスイッチ部と、前記複数のポートのうちパケットを受け付けたポートと当該パケットを出力するポートとをパケットの宛先アドレスに応じて対応付けて記憶するルーチングテーブルとを有するパケットスイッチであって、
    前記スイッチ部は、前記複数のポートのうちの少なくとも1つを示すポート情報、および、アドレスを含む第1のメッセージを前記複数のポートのいずれかを介して受信し、
    前記複数のポートのうちの第1のポートを介して前記スイッチ部と接続され、前記第1のポートから出力されたパケットを受け付けて記憶するバッファ部と、
    前記第1のメッセージが受信されると、前記複数のポートのうち当該第1のメッセージに含まれるポート情報が示すポート以外のポートにて受け付けられ、当該第1のメッセージに含まれるアドレスを宛先アドレスとするパケットを、前記第1のポートから出力するように前記ルーチングテーブルを設定する制御部と、を有するパケットスイッチ。
  2. 請求項1に記載のパケットスイッチにおいて、
    前記スイッチ部は、前記複数のポートのいずれかを介して第2のメッセージを受信し、
    前記制御部は、前記第2のメッセージが受信されると、該受信された第2のメッセージに基づいて前記複数のポートの中から第2のポートを決定し、前記第1のポートにて受け付けられたパケットを前記第2のポートから出力するように前記ルーチングテーブルを設定した後、前記バッファ部に記憶されたパケットを出力させるパケットスイッチ。
  3. 請求項2に記載のパケットスイッチにおいて、
    前記第2のメッセージは、前記複数のポートのうちのいずれかを示すポート情報を含み、
    前記制御部は、前記受信された第2のメッセージに含まれるポート情報が示すポートを前記第2のポートとするパケットスイッチ。
  4. 請求項2に記載のパケットスイッチにおいて、
    前記制御部は、前記複数のポートのうち前記第2のメッセージが受信されたポートを前記第2のポートとするパケットスイッチ。
  5. 請求項2乃至4のいずれか1項に記載のパケットスイッチにおいて、
    前記制御部は、前記バッファ部に記憶されたパケットがなくなると、前記複数のポートのうち前記第1のメッセージに含まれるポート情報が示すポート以外のポートにて受け付けられ、前記第1のメッセージに含まれるアドレスを宛先アドレスとするパケットを前記第2のポートから出力するように前記ルーチングテーブルを設定するパケットスイッチ。
  6. 請求項2乃至5のいずれか1項に記載のパケットスイッチにおいて、
    前記バッファ部は、前記記憶したパケットを所定のレートで出力するパケットスイッチ。
  7. 請求項2乃至6のいずれか1項に記載のパケットスイッチにおいて、
    前記バッファ部は、前記記憶したパケットを出力する際、当該パケットが記憶されていた時間が所定の時間よりも短いかどうかを判定し、当該パケットが記憶されていた時間が前記所定の時間よりも短い場合に当該パケットを出力するパケットスイッチ。
  8. 請求項1乃至7のいずれか1項に記載のパケットスイッチにおいて、
    前記バッファ部は、前記受け付けたパケットのヘッダ部分が所定のパターンと一致する場合に当該受け付けたパケットを記憶するパケットスイッチ。
  9. 請求項1乃至8のいずれか1項に記載のパケットスイッチにおいて、
    前記バッファ部は、前記受け付けたパケットを記憶させるための空きエリアがない場合、当該バッファ部に記憶された複数のパケットのうち最も早い時期に記憶されたパケットを破棄し、当該受け付けたパケットを記憶するパケットスイッチ。
JP2010273553A 2010-12-08 2010-12-08 パケットスイッチ Pending JP2012124700A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010273553A JP2012124700A (ja) 2010-12-08 2010-12-08 パケットスイッチ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010273553A JP2012124700A (ja) 2010-12-08 2010-12-08 パケットスイッチ

Publications (1)

Publication Number Publication Date
JP2012124700A true JP2012124700A (ja) 2012-06-28

Family

ID=46505698

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010273553A Pending JP2012124700A (ja) 2010-12-08 2010-12-08 パケットスイッチ

Country Status (1)

Country Link
JP (1) JP2012124700A (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276224A (ja) * 1997-03-28 1998-10-13 Hitachi Cable Ltd スイッチングハブ
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2006121464A (ja) * 2004-10-22 2006-05-11 Hitachi Ltd データバッファリング方法、データバッファリング装置およびデータバッファリングプログラム
WO2010123140A1 (ja) * 2009-04-24 2010-10-28 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10276224A (ja) * 1997-03-28 1998-10-13 Hitachi Cable Ltd スイッチングハブ
JP2001350736A (ja) * 2000-06-08 2001-12-21 Hitachi Ltd オンライン処理方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2006121464A (ja) * 2004-10-22 2006-05-11 Hitachi Ltd データバッファリング方法、データバッファリング装置およびデータバッファリングプログラム
WO2010123140A1 (ja) * 2009-04-24 2010-10-28 日本電気株式会社 パケット通信システム、パケット通信装置、パケット通信方法、パケット通信プログラムを記録したコンピュータ読み取り可能な記録媒体

Similar Documents

Publication Publication Date Title
AU2004306913B2 (en) Redundant routing capabilities for a network node cluster
KR100889881B1 (ko) 인접 캐시 테이블 동기화를 위한 장치 및 방법
EP1261186A1 (en) System and method for TCP connection protection switching
US6061807A (en) Methods systems and computer products for error recovery of endpoint nodes
JP2005503055A (ja) Ospf冗長構成を実装する方法およびシステム
JP4561800B2 (ja) データ同期システム及び方法
US20080205406A1 (en) Recording medium having reception program recorded therein, recording medium having transmission program recorded therein, transmission/reception system and transmission/reception method
JP4757109B2 (ja) データ通信プログラム
CN113328894A (zh) 基于cu分离的双机热备的方法及设备
TW200920027A (en) Intelligent failover in a load-balanced networking environment
US8051189B2 (en) Methods, systems, and computer program products for session initiation protocol (SIP) fast switchover
JP2006048122A (ja) 通信システム
JP6740543B2 (ja) 通信装置、システム、ロールバック方法及びプログラム
JP4806382B2 (ja) 冗長化システム
CN101277262B (zh) 虚拟路由器冗余协议的重启方法及路由器
JP4550867B2 (ja) Tcpセッション切替装置および方法、プログラムおよび記録媒体
JP2017187973A (ja) 並列処理装置及び通信制御方法
JP2007133542A (ja) 情報引継ぎシステム、情報引継ぎ方法、現用系ノード及び待機系ノード
JP4344333B2 (ja) パケット転送装置、パケット転送ネットワークシステムおよびパケット転送方法
JP4378205B2 (ja) ブレード型ネットワーク中継装置
JP6179981B2 (ja) 情報処理システム、情報処理装置、情報処理方法及びプログラム
JP5148441B2 (ja) 計算機間相互結合網における通信経路の冗長化と切り替え方法、この方法を実現するサーバ装置、そのサーバモジュール、および、そのプログラム
KR20180099143A (ko) Tcp 세션 복구 장치 및 방법
CN109587083B (zh) 数据传输方法及相关装置
CN112073162B (zh) 用于运行冗余的自动化系统的方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130124

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20130304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20140204