JP2011519225A - マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート - Google Patents

マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート Download PDF

Info

Publication number
JP2011519225A
JP2011519225A JP2011506241A JP2011506241A JP2011519225A JP 2011519225 A JP2011519225 A JP 2011519225A JP 2011506241 A JP2011506241 A JP 2011506241A JP 2011506241 A JP2011506241 A JP 2011506241A JP 2011519225 A JP2011519225 A JP 2011519225A
Authority
JP
Japan
Prior art keywords
port
transmission rate
data transmission
server
command
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
JP2011506241A
Other languages
English (en)
Other versions
JP5400135B2 (ja
Inventor
マイク チュアング,
チャールズ エル. ハドソン,
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2011519225A publication Critical patent/JP2011519225A/ja
Application granted granted Critical
Publication of JP5400135B2 publication Critical patent/JP5400135B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/43Assembling or disassembling of packets, e.g. segmentation and reassembly [SAR]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/20Arrangements for monitoring or testing data switching networks the monitoring system or the monitored elements being virtualised, abstracted or software-defined entities, e.g. SDN or NFV

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Small-Scale Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本発明の実施例は、マルチデバイスエンクロージャ内の共通通信媒体がデバイスに対する伝送レートを制約又は固定するにもかかわらず、マルチデバイスエンクロージャ内のデバイスに設定可能な伝送レートを提供することを、目的とする。本発明の1実施例では、マルチサーバエンクロージャ内に収容する若しくはマルチサーバエンクロージャと関連する仮想接続マネージャ又は他のモジュール若しくはデバイス内に実装され、仮想接続マネージャは、各サーバに最大伝送レートを割当てられる管理用又は管理インタフェースを提供する。仮想接続マネージャは、従って、サーバ及び/又はサーバ内のポートで設定最大伝送レートを超えないように、バックプレッシャ又はフロー制御を適用するために、サーバ及び/又はサーバ内のポートの伝送レートを継続的にモニタする。
【選択図】図9A

Description

本発明は、マルチサーバエンクロージャ内サーバの外部エンティティとの通信に関し、特に、サーバ及び/又はサーバ内の個々のポートに外部エンティティへの調整可能な最大伝送レートを提供する方法及びシステムに関する。
個々のコンピュータプロセッサ、データ記憶装置、及び他のコンピュータ構成要素の能力は、この50年間で、幾何学的に向上しており、そうした構成要素の体積が大幅に減少するにつれて、従来の単一プロセッサや単一大容量記憶装置のコンピュータアーキテクチャは、大きさは同様だが遥かに強力なマルチデバイスエンクロージャに徐々に切り替わっており、マルチデバイスエンクロージャとしては、ディスクアレイといった、単一エンクロージャシステム及びブレードシステムに複数の大容量記憶装置を組込み、単一エンクロージャ内に、各サーバに1つ又は複数のプロセッサを含んだ複数のサーバを組込んだものがある。マルチコンポーネントエンクロージャはただコンポーネント間を接続するだけで、電源と環境規則に対する統合的アプローチを提供し、個々のコンポーネントを外部エンティティに対して抽出するのに役立つ仮想インタフェースを提供できる。
マルチコンポーネントエンクロージャは、同様な能力を有する個々のコンポーネントデバイスの集合体と比べて多大な利点を提供することが多い一方で、マルチコンポーネントエンクロージャは、時には、個々のコンポーネントに対して共通の内部及び外部インタフェースを提供するために、マルチコンポーネントエンクロージャ内のコンポーネントを制約又は限定する場合がある。例えば、ブレードシステムのサーバモジュールの相互運用性や、容易に交換及び差換えする能力を向上させるために、全てのサーバモジュールを、共通のバックプレーンを通して外部通信媒体に接続可能にしており、そうしたために、通信媒体に直接接続すると様々な伝送レートをサポートする能力のサーバにもかかわらず、サーバモジュールとしての伝送レートでは、共通の固定伝送レートに制限されてしまう可能性がある。マルチデバイスエンクロージャの設計者、開発者、ベンダ、及びユーザらは、共有インタフェースによって制限されたマルチコンポーネントエンクロージャ内のコンポーネントに本来備わる柔軟性や能力を、再度有効にする必要があり、またマルチコンポーネントエンクロージャ全体のユーザビリティと柔軟性を向上させるのに、個々のコンポーネントに対して更なる柔軟性及び能力を提供する必要があることを、認識している。
本発明の実施例は、マルチデバイスエンクロージャ内の共通通信媒体がデバイスに対する伝送レートを制約又は固定するにもかかわらず、マルチデバイスエンクロージャ内のデバイスに設定可能な伝送レートを提供することを、目的とする。本発明の1実施例では、マルチサーバエンクロージャ内に収容する若しくはマルチサーバエンクロージャと関連する仮想接続マネージャ又は他のモジュール若しくはデバイス内に実装され、仮想接続マネージャは、各サーバに最大伝送レートを割当てられる管理用又は管理インタフェースを提供する。仮想接続マネージャは、従って、サーバ及び/又はサーバのポートで設定最大伝送レートを超えないように、バックプレッシャ又はフロー制御を適用するために、サーバ及び/又はサーバ内のポートの伝送レートを継続的にモニタする。
マルチサーバブレードシステムの主な構成要素を示す。 ネットワークインタフェースカードとホストバスアダプタとの信号経路接続を提供するブレードシステムのバックプレーンを示す。 ブレードシステムのサーバを外部通信媒体に相互接続する仮想接続マネージャによるアプローチを示す。 ブレードシステムのサーバを外部通信媒体に相互接続する仮想接続マネージャによるアプローチを示す。 イーサネット(登録商標、以下同じ)接続したデバイスの半二重及び全二重動作について説明している。 イーサネット接続したデバイスの半二重及び全二重動作について説明している。 イーサネット接続したデバイスの半二重及び全二重動作について説明している。 典型的なイーサネットIIパケットを示す。 イーサネットリンク用の一般的な帯域幅を示す。 伝送レートに関するオートネゴシエーションについて説明している。 伝送レートに関するオートネゴシエーションについて説明している。 伝送レートに関するオートネゴシエーションについて説明している。 イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。 イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。 イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。 イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。 イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。 本発明の第2実施例について説明している。 本発明の第2実施例について説明している。 本発明の第2実施例について説明している。 本発明の第2実施例について説明している。 本発明の実施例を実装して生じた全体的効果について説明している。 本発明の実施例を実装して生じた全体的効果について説明している。 本発明の2つの異なる実施例のいずれかを実装する仮想接続マネージャに関する制御フローチャートを提供している。 本発明の1実施例に従い、図12のステップ1208で呼出した、ハンドラ「新パケット」に関する制御フローチャートを、提供している。 本発明の1実施例に従い、図12のステップ1210で呼出した、ハンドラ「タイマ処理」の第1部分に関する制御フローチャートを、提供している。 図9A〜図9Kを参照して記述した本発明の第1実施例に従い、図14のステップ1410で呼出した、ルーチン「伝送レート調整」に関する制御フローチャートを、提供している。 図10A〜図10Dを参照して記述した本発明の第2実施例に従い、図14のステップ1410で呼出した、ルーチン「伝送レート調整」の第2実装に関する制御フローチャートである。
本発明の1実施例は、サーバ又はポートによる1つ又は複数の通信媒体への最大伝送レートを制御するために、マルチサーバエンクロージャ内のサーバに、又はマルチサーバエンクロージャ内のサーバの個々のポートに対して、バックプレッシャ又はフロー制御を適用する方法及びシステムに関する。まず最初に、以下で本発明の様々な実施例に関して記述する環境を提供するために、マルチサーバエンクロージャについて、説明する。別の実装例では、様々な異なる最大伝送レートを設定し、実行できる。例えば、各サーバの、サーバが接続される全通信媒体への総最大伝送レートを、設定し実行してもよい。或はまた、サーバが接続される通信媒体のクラス又は種類に属する全通信媒体に対する各サーバの総最大伝送レートを、設定し実行してもよい。或はまた、サーバ内の個々のポートの総最大伝送レートを、設定し実行してもよい。
図1では、マルチサーバブレードシステムの主要構成要素について説明している。ブレードシステム102は、多数の温度調整部品104〜108と、2つ以上の電源装置110及び112と、複数のサーバモジュール114〜121と、電源供給ライン、制御信号ライン、様々な物理的通信媒体を介してサーバモジュール114〜121と他の構成要素を相互接続する複数の、異なるタイプの物理的接続を含むバックプレーン124とを含むが、物理的通信媒体としては、外部イーサネット、ファイバチャネル、他の通信媒体にデータを転送する、又はこれらからデータを受信する通信媒体が挙げられる。勿論、ブレードシステムは、多くの他の構成要素と共に、管理モジュール内で実行して、ブレードシステム管理者との管理インタフェースを提供し、ブレードシステム内の様々な構成要素の動作をモニタ及び管理する管理モジュール及び管理ルーチンも含む。
図2では、ネットワークインタフェースカードとホストバスアダプタとの信号経路接続を提供するブレードシステムのバックプレーンについて説明している。図2では、ブレードシステムのバックプレーン202により、ネットワークインタフェースカード(「NIC」)及びホストバスアダプタ(「HBA」)、例えばNIC204及びHBA206と、ローカルエリアネットワーク(「LAN」)スイッチ及びストレージエリアネットワーク(「SAN」)スイッチ内のポートへの、例えばLANスイッチ210のポート208及びSANスイッチ214のポート212との間に夫々信号経路接続を提供する。スイッチ210等の各スイッチにより、様々なネットワークインタフェースカード又はホストバスアダプタを、1つ又は複数のLAN又はSANに接続する。通常、各サーバ216〜219は、2つ以上のNIC及び2つ以上のHBAを含み、それによりサーバが、外部LAN及び/又はSANとの接続を喪失することなく、NIC及び/又はHBAの障害を個々に許容できるようにする。各NICは、メーカーが供給するメディアアクセス制御(「MAC」)アドレスを含み、各HBAは、夫々ワールドワイドネーム(「WWN」)を含み、WWNによって、NIC及びHBAではLAN及びSAN内で夫々アドレスが指定される。バックプレーン202はパッシブであり、サーバ内のNIC及びHBAと、イーサネット及びファイバチャネルスイッチといったLANスイッチ及びSANスイッチ内のポートとの間で信号を伝送するのに使用できる信号ラインを提供する。ブレードシステム内のサーバモジュールを、バックプレーンコネクタを介して、バックプレーンにプラグ接続して、それによりサーバモジュールをブレードシステムにインストールする際、又はサーバモジュールを取替える若しくは交換する際に、大きなエラーが発生し易い配線が不要となるようにする。
図3A及び図3Bでは、ブレードシステムのサーバを外部通信媒体に相互接続する仮想接続マネージャによるアプローチについて、説明している。図3Aで示すように、サーバのNIC及びHBAをバックプレーンを介して直接スイッチに接続するよりはむしろ、NIC及びHBAを或はバックプレーンを介して仮想接続マネージャモジュール302及び304に接続でき、モジュール302及び304を、次に、LAN及びSAN通信媒体を含む外部通信媒体に接続することができる。
図3Bでは、仮想接続マネージャモジュールが提供する機能について説明している。仮想接続マネージャは、仮想接続マネージャモジュール内で実行し、通信ポート用にMACアドレス、WWNアドレス及び他の固有アドレスのプール310及び312を、各アドレスタイプにつき1プールとして、保持する。図3Bでは、2つのプール310と312は、MACアドレスとWWNアドレスに対応している。仮想接続マネージャにより、各サーバ318〜321用の設定プロファイル314〜317を保持する。仮想接続マネージャにより、初期設定段階中に、MACアドレス及びWWNアドレスを、MACアドレス及びWWNアドレスのプールから、全サーバのNIC及びHBAに割当てて、各サーバのNIC及びHBA内のメーカーが供給したMACアドレス及びWWNアドレスを置換える。仮想接続マネージャが使用するMACアドレス及びWWNアドレスは、ブレードシステム用に、イーサネット及びファイバチャネルのコンソーシアムが確保している。設定プロファイル314〜317には、各サーバの各NIC及びHBAを接続する外部LAN及びSANを特定する情報を含む。仮想接続マネージャは、外部LAN及びSANと、ブレードシステムのサーバモジュール内のNIC及びHBAとの間の仮想インタフェースとして機能するだけでなく、ブレードシステム管理者との通信管理のための管理者用インタフェースを提供する。外部LAN及びSANと、サーバモジュール内のNIC及びHBAとの間のインタフェースを仮想化することで、仮想接続マネージャは、サーバモジュールを取外して、取外したサーバモジュールを接続していたそれらのLAN及びSANを再設定する必要なく、ブレードシステム又はブレードシステム部品を再配線する必要なく、新たなサーバモジュールと交換することを可能にする。その代わり、仮想接続マネージャは、交換サーバの起動を検知すると、当該サーバ用の設定プロファイルを使用して、交換サーバのNIC及びHBAカードのMACアドレス及びWWNアドレスを、取外したサーバが使用したMACアドレス及びWWNアドレスと置換え、新たにインストールしたサーバを、取外したサーバを以前に接続したそれらの外部LAN及びSANと接続する。
記述した本発明の実施例は、イーサネット相互接続に関するものであり、イーサネット通信に関する様々な態様について次に記述する。しかしながら、本発明で示したアプローチを、更なる種類の通信媒体及びプロトコルに適用してもよい。
図4A〜図4Cでは、イーサネット接続したデバイスの半二重及び全二重動作について、説明している。図4A〜図4Cは同じ図示規則を用いており、この図示規則は再び後の図面でも使用するが、イーサネットの物理的リンクに接続したNICを夫々含む2つのデバイス402と404とが、物理的リンクを介して、データ符号化信号を送受信する。図4A及び図4Bでは、半二重動作のイーサネットについて説明している。図4Aでは、デバイス404がデータをデバイス402送信し、図4Bでは、デバイス402が情報を物理的リンクを介してデバイス404に送信している。半二重動作では、両デバイスは同時にデータを送信できない。対照的に、図4Cで説明した全二重動作では、デバイス402と404が同時に、物理的リンク406を介してデータを送受信している。インターネット接続の種類や動作速度によって、8ビット、16ビット、又は32ビットのデータ値が、物理的媒体を通してクロックサイクルあたりで送信される。これらのデータ値は送信側で、メモリに保存したデータのパケットを分解して得られ、また受信側で再度組立てて、パケットを再編成して、メモリにパケットを保存する。
図5では、典型的なイーサネットIIのパケットについて説明している。パケットは、7バイトのプリアンブル502と、スタートフレームデリミネータ504と、パケットが宛てられるNICの6バイトのMAC宛先アドレス508と、パケットを送信する6バイトのMAC送信元アドレス510と、2バイトのイーサネットのタイプ/長さ用フィールド512と、46〜1500バイトから成るデータペイロードフィールド514と、パケットの送信中に発生したエラーを検出及び修正するのに提供する4バイトのCRCフィールド516を含む。物理的リンクでは、各パケットに対応するデータ値を、固定数のクロックサイクルから成るフレーム間ギャップ518によって分離する。
イーサネットの物理的リンクは、ブレードシステムのバックプレーン内にツイストペア銅線、光ファイバ、同軸ケーブル、信号線を含むことができる。ポート、物理的リンク、NIC、NIC及び他の構成要素と通信する制御パラメタに応じて、イーサネットの物理的リンク及びポートを介して異なるレートでデータを送信できる。図6では、イーサネットデバイスの一般的な伝送レートについて説明している。図6で示すように、イーサネットリンク用の一般的な帯域幅としては、10メガビット/秒602、100メガビット/秒604、1000メガビット/秒、即ち1ギガビット/秒606が挙げられる。また、10ギガビット/秒のイーサネットリンクも現在使用可能であり、100ギガビット/秒のリンクが数年以内に使用可能になる見込みである。多数のNICを、図6で示した最大転送レートのいずれかでデータを送信するよう設定できる。
通信デバイス内のNICにより、特定の動作モードにオートネゴシエーションできる。図7A〜図7Cでは、伝送レートに関するオートネゴシエーションについて説明している。図7Aでは、100メガビット/秒の設定可能な最大データ伝送レートを有するNICを含むデバイス702を、1ギガビット/秒の設定可能な最大データ伝送レートを有するNICを含むデバイス704と相互接続している。物理的リンク706は、1ギガビット/秒で各方向にデータを搬送できる。図7Bで示すように、起動後の設定プロセスで、デバイス702と704が、オートネゴシエーションプロセスの一部として、リンクコードワード708と710を交換し、それにより各デバイスがリモートデバイスの能力を判定し、次に両デバイスを、2デバイスの遅い方で処理できる最大伝送レートで通信するよう一致させる。図7Cで示したように、オートネゴシエーションの結果、デバイス702と704は、2デバイスの遅い方の最大転送レートである100メガビット/秒で送信するよう設定される。また、オートネゴシエーションを使用して、半二重或は全二重モードで動作するか否かを判定してもよいが、両デバイスが全二重モードで動作できる場合、全二重モードが好ましい。
特定のブレードシステム内でバックプレーン相互接続するという性質上、オートネゴシエーション及び伝送レート選択は、ブレードシステムのサーバ内のNICには使用できない。その代わりに、これらブレードシステムでは、全NICは、特有の固定最大伝送レートで動作する必要がある。本発明の実施例に関するあるクラスのブレードシステムの場合、ブレードシステムのサーバ内の全NICの固定最大伝送レートを、1ギガビット/秒とする。一見、1ギガビット/秒は、サーバ内に組込む多くの一般的に使用可能なNICがサポートする最高のデータ伝送レートであるため、データ伝送用に妥当な固定レートであるようだが、固定最大データ伝送は、ブレードサーバを含むシステム内では問題を起こす可能性がある。
一つの問題は、ブレードシステムを、旧技術のサーバ又はサーバクラスタを取替えるために、コンピュータ設備に設置する際に、旧技術のサーバ又はサーバクラスタと以前に通信していたコンピュータ設備の様々なコンピュータやコンポーネントを、ブレードシステムにある複数のサーバの高速化した総データ伝送レートが圧倒してしまうことである。スタンドアロンの交換サーバで容易にこの問題を解決できるかも知れない。最大伝送レートを最新のNICに対して通常設定可能なため、サーバ内のNICを、100メガビット/秒又は10メガビット/秒等低速の最大伝送レートで動作するように、設定することができる。例えば、多くの現在使用可能なNICでは、図6で説明した3データ伝送レート中1つを選択可能になっている。しかしながら、上記のブレードシステムのクラスでは、バックプレーン接続の制限があるため、サーバ内のNICを、低速の最大データ伝送レートで動作させるよう設定するのは、不可能である。この問題を解決する別のアプローチは、データ通信サービスを要求するアプリケーションプログラム等のサーバで動作する上位エンティティを、減速させることであろう。しかしながら、上位に対する変更は難しく、不正確で、エラーを起こし易く、多くの場合、アプリケーションプログラムは、オペレーティングシステムへのデータ送信要求で生成されたデータ伝送レートをモニタして減速するように設計されていないため、またアプリケーションプログラムは、特殊事情に合わせてアプリケーションプログラムを修正したがらない外部ベンダが製作するため、不可能である。
本発明の実施例は、ブレードシステムのサーバ内のNICの固定最大データ伝送レートに関連する問題を解決する別のアプローチに関する。このアプローチでは、図3A及び図3Bを参照して記載した仮想接続マネージャインタフェースを、実装して、ブレードシステム管理者が、ブレードシステムのサーバモジュール内のNICの最大データ伝送レートの設定を、仮想接続マネージャによってブレードシステム管理者に提供される設定インタフェースを介して、提供し、データ伝送レートをモニタし、適宜バックプレッシャを印加し又はフロー制御を行ない、確実に各NICが設定最大データ伝送レートより高速でデータを送信しないようにする。
図8A〜図8Eでは、イーサネットII対応デバイスに提供するフロー制御メカニズムについて説明している。第1デバイス802が第2デバイス804に、第2デバイスの受信データ処理能力を超えるデータ伝送レートで、データを転送している図8Aで示した状況において、図8Bで示した第2デバイスが第1デバイス802に中断メッセージを送信して、第1デバイスに所定期間データ伝送を停止させることができる。中断メッセージを、物理的な媒体に接続した全NICが受信できるマルチキャストアドレスに送信する。中断メッセージを、2バイトのイーサネットのタイプ/長さ用フィールド(図5の512)にエンコードし、中断メッセージは、受信デバイスがデータ送信を停止すべき時間を指定する16ビット値808を含む。この値は、512ビット転送時間単位でデータ伝送を停止する時間を表す。図8Cで示したように、中断メッセージを受信すると、受信デバイスは、タイマ810をセットし、タイマが満了するまで伝送を停止する。図8Dで示したように、中断メッセージを送信したデバイスは、以下、タイマをリセットする「再開メッセージ」と呼ばれる、特定の停止期間「0」を含む中断メッセージ812を送信することで、中断メッセージを明確に無効にできる。図8Eで示したように、中断メッセージを受信したデバイスは、タイマが満了すると又は再開メッセージを受信すると、データ伝送を再開する。
NICが中断メッセージを受信し、NICがデータ伝送を停止する結果、NICを収容するサーバ内で高レベルのフロー制御ができる。データ伝送を十分な時間中断すると、NICバッファ及び/又はオペレーティングシステムのバッファが満杯になり、その結果上位データ伝送動作が失敗する可能性がある。そうしたデータ伝送動作の失敗は、オペレーティングシステムで自動的に再試行できる、又は失敗は、アプリケーションプログラムを含む上位エンティティにフローバックでき、この上位エンティティによりその後失敗したデータ伝送動作が再試行される可能性がある。
図9A〜図9Kでは、本発明の1実施例による、ブレードシステム内のNICによって最大データ伝送レートを限定する1アプローチについて、説明している。この実施例では、上述したイーサネットIIによって提供する中断メッセージを採用して、NICがブレードシステムの設定中に確立した最大データ伝送レートを超えた場合に、ブレードシステム内の仮想接続マネージャによって、NICにバックプレッシャを印加する。
図9A〜図9K及び後述する図10A〜図10Dは、全て同じ図示規則を用いている。これらの図では、仮想接続マネージャ内で、サーバ/ポート組として指定する特定のサーバ又はサーバ内の特定の個々のポートの最大データ伝送レートを制限するために使用する、特定の変数、データ構造、及び他のエンティティについて、説明している。ある実施例では、仮想接続マネージャを用いて、ブレードシステム内の各サーバに対する最大データ伝送レートを制限でき、他の実施例では、各サーバ内の各ポートを、設定最大データ伝送レートに個別に制限できる。
本実施例によれば、各サーバ又はサーバ/ポート対に対して、仮想接続マネージャは、タイマ902と、各アキュムレータが固定期間中にサーバ又はサーバ/ポートから仮想接続マネージャが受信するビット数を蓄積するn−1個のアキュムレータ配列904と、現在使用中のアキュムレータに対するポインタ906と、仮想接続マネージャが、現在、サーバ又はサーバ/ポート組に対してバックプレッシャを印加しているか否かを示すブール値「バックプレッシャ」908と、サーバ又はサーバ/ポート組用設定テーブル910と、サーバ又はサーバ/ポート組からのイーサネットパケット入力912とを、保持する。更に、図9Aでは図示していないが、仮想接続マネージャは、アキュムレータ配列904における第1アキュムレータのアドレス及びアキュムレータ数n、又はアキュムレータ配列における第1及び最終アキュムレータのアドレスを保存する。これらのデータ構造、変数、エンティティの全てを纏めてグループ化し、特定のサーバ又はサーバ/ポートと計算的に関連させ、それにより例えば、イーサネットパケットを受信すると、イーサネットパケットに含まれるソースアドレスを、インデキシング処理又は参照処理において使用して、イーサネットパケット送信元のサーバ又はサーバ/ポートに関する現在の仮想接続マネージャのコンテキストを示すデータ構造、変数、エンティティの群を検索するようにできる。例えば、データ構造を用いて、アキュムレータ配列、現アキュムレータのポインタ、ブール値「バックプレッシャ」、タイマ参照、設定テーブル参照、サーバ又はサーバ/ポート組のMACアドレスを含み、それによりデータ構造を、受信したイーサネットパケット内のソースアドレスから即座に識別できるようにしてもよい。
図9Aで示したように、仮想コンテキストマネージャのコンテキストを、アキュムレータポインタ906により、アキュムレータ配列904の第1アキュムレータ914を参照し、タイマを、nをアキュムレータ配列におけるアキュムレータ数として、1/n秒後に満了するようセットするように、初期化する。全アキュムレータの値が「0」となるよう初期化する。全サーバを起動及び初期化し、仮想接続マネージャを起動及び初期化したなら、パケットを、仮想接続マネージャによって、ブレードシステム内のサーバモジュールから受信し始める。図9Bで示したように、次のパケット916が到着すると、パケットのサイズを、ビット単位で、現アキュムレータポインタ906が現在参照中のアキュムレータ914のコンテンツに加える。図9Cでは、第2パケットの到着、及び第2パケットに含まれるビット数を現アキュムレータポインタ906が参照するアキュムレータ914に加えることを示している。
図9Dで示したように、タイマが1/n秒で満了すると、現アキュムレータポインタを、nを法とする数の算法によって、インクリメントして、クリアした状態の次のアキュムレータ918に向ける。アキュムレータ配列904の全アキュムレータを合計して、最終秒中にサーバ又はサーバ/ポートから受信したビット920の累計を得る。具体的には、アキュムレータの合計に比率n/n−1を乗じて、その前の秒中に、サーバ又はサーバ/ポートが伝送したビット数の推定数を得てもよい。図9Eで示したように、第2のタイマ満了後、現アキュムレータポインタ906を再びnを法とする加算によってインクリメントし、アキュムレータの合計に比率n/n−1を乗じて、その前の秒922中に、サーバ又はサーバ/ポートが受信したビット数を生成する。このプロセスを、タイマを1/n秒ずつの連続した間隔で継続する。図9Fでは、アキュムレータ配列は値で完全に埋められている。
各1/n秒間隔で、n個のアキュムレータに含まれる比率n/n−1を乗じたビット総数を、設定テーブル910に保存したサーバ又はサーバ/ポートに対して設定した最大データ伝送レートと比較する。図9Gで示したように、これまでの秒に関して推定したデータ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートを超えた場合は、図9Hで示したように、ブール変数「バックプレッシャ」908を真にセットし、中断メッセージ924をサーバのポート又はサーバ/ポートに送信し、一定時間サーバ又はサーバ/ポートによって伝送を止める。サーバ又はサーバ/ポートがその間n回/秒休止するとした場合、サーバ又はサーバ/ポートのデータ伝送レートが、その現在のデータ伝送レートで、サーバ又はサーバ/ポートに対して設定する最大データ伝送レートより遅くなる時間になるよう、一定時間、又は中断時間を計算する。通常、推定中断時間を、以下で値「スロップ」と呼ぶ更なる関数により延長して、確実にサーバ又はサーバ/ポートのデータ伝送レートがある程度最初のうちは最大データ伝送レートを大幅に下回るようにする。次に、図9I〜図9Jに示したように、通常動作を続ける。各タイマ満了時、又は1/n秒間隔で、ブール変数「バックプレッシャ」908を真としたまま、中断メッセージをサーバのポート又はサーバ/ポートに送信する。次に、図9Kで示したように、これまでの秒に亘りサーバ又はサーバ/ポートに対して計算したデータ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートより大幅に低い低閾値より低かった場合、ブール値「バックプレッシャ」908を偽にセットし、データ伝送レートがサーバ又はサーバ/ポートに対して設定した最大データ伝送レートを再び超えるまで、更なる中断メッセージを送信しない。その結果、上述した本発明の第1実施例によれば、サーバ又はサーバ/ポートのデータ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートを超えるなら、中断メッセージを、固定したタイマ満了検出間隔で送信して、サーバ又はサーバ/ポートのデータ伝送レート全体を、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートより大幅に低下させるために、各時間間隔内で短時間サーバ又はサーバ/ポートを中断する。
図10A〜図10Dでは、本発明の第2実施例について説明している。図10Aを図9Aと比べて分かるように、第1実施例で用いたのと同じデータ構造を第2実施例でも用いる。図10Aでは、アキュムレータレジスタのコンテンツと、タイマ満了後のブール変数「バックプレッシャ」908及び現アキュムレータポインタ906の現状とについて示している。図10Bでは、次のタイマ満了後のアキュムレータ904と、バックプレッシャ用レジスタ908と、現アキュムレータレジスタ906のコンテンツについて示している。アキュムレータ930の値からも明らかなように、前の1/n秒間に、サーバ又はサーバ/ポートのデータ伝送レートが極めて増加している点に注意されたい。これにより、これまでの秒に対して計算したデータ伝送レート932が、サーバ又はサーバ/ポートに対して設定した最大データ伝送の2倍より多くなり、遥かに超えている。この時点で、前実施例でのように、ブール変数「バックプレッシャ」を真908にセットし、中断メッセージ934をサーバ又はサーバ/ポートに送信する。しかしながら、この場合、中断メッセージは、サーバ又はサーバ/ポートの受信ポートがかなりの期間に亘りデータ伝送を単に止められるように、なるべく長い中断時間を含んでいる。その後、上述したように、同じタイマをリセットし、次ぎの満了パターン及び現アキュムレータポインタのモジュロインクリメントを、図10Dに示したように、これまでの秒を計算したデータ伝送レートが、ある程度低閾値936を下回るまで、継続する。この時点で、再開メッセージ938を、サーバ又はサーバ/ポートに送信して、データ伝送を再び開始させる。
サーバ又はサーバ/ポートに対する設定データ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートを超えないことを確実にするために、イーサネットIIで使用可能な中断メッセージを使用して、サーバ又はサーバ/ポートにバックプレッシャをかけるよう実装できる、多くの更なる別の実施例がある。アキュムレータの数は少なくしてもよく、連続して各サーバ又はサーバ/ポートをモニタするために、タイマイベント以外のイベントを使用して、モニタルーチンを起動してもよく、また他の代替実施形態も可能である。しかしながら、全ての場合で、仮想接続マネージャは、各サーバ又はサーバ/ポートの全データ伝送レートを制御するのにイーサネットIIの中断メッセージを使用する。
図11A〜図11Bでは、本発明の実施例を実行して生じた全体的効果について説明している。図11Aでは、データ伝送レートを縦軸1102にプロットし、横軸1104に時間をプロットして、グラフにしている。図11Aでは、時間増分は極めて短く、約1/n秒以下である。図11Aで示すように、データ伝送レートは、データ伝送レートが最大データ伝送レート1106を超えるまで、時間とともに変動し、超えた時点で中断メッセージを送信し、データ伝送レートはしばらくの間零1108になる。その後、中断1110後に、データ伝送レートは、ある限界値まで急上昇して戻り、再びデータ伝送レートがサーバ又はサーバ/ポート1110に対して設定した最大データ伝送レートを超えるまで増減し続け、超えた時点で別の中断メッセージを送信し、別の期間1112データ伝送レートが零になる。このように、短い時間増分で見ると、サーバ又はサーバ/ポートに対するデータ伝送レートは殆ど不連続となり、最大データ伝送レートを超えたピークや全くデータ伝送がない期間がある。しかしながら、サーバ又はサーバ/ポートに対するデータ伝送レートを、遥かに長期間に亘って、例えば図11Bの増分1114で図11Aの増分1116を数百表して、グラフ化すると、サーバ又はサーバ/ポート1118に対するデータ伝送レートは、連続して、最大データ伝送レートを決して超えないように見える。実際、図11Aで示すように極めて短い増分時間を計算した曲線では、データ伝送レートが、時折短期間では最大データ伝送速度を超えているのが分かる。しかしながら、図11Bで示すように、データ伝送レートを長期間に亘り計算すると、短いスパイクは長期間で平均化すると、データ伝送レートは連続的となり、常に最大データ伝送レートの線より下になる。
図12〜図15では、図9A〜図9K及び図10A〜図10Dを参照して上述した、本発明の2つの異なる実施例について説明する制御フローチャートを、示している。図12では、本発明の上述した2実施例のいずれかを実行する仮想接続マネージャに関する制御フローチャートを、提供している。ステップ1202では、仮想接続マネージャが、起動又は再起動時に、設定テーブルに保存した設定情報に従いブレードシステム内のサーバ及びサーバポート全ての設定を行なう。ステップ1204では、ブレードシステムを動作させるために初期化する。次に、ステップ1206〜1211を含むイベントループにおいて、仮想接続マネージャは、あらゆる多数の異なるタイプのイベントを、待ち、処理する。イベントが、ステップ1207で判定した際に、ブレードシステム内のサーバからの到来パケットであった場合には、ハンドラ「新パケット」を、ステップ1208で呼出す。ステップ1209で判定した際に、イベントが最大データ伝送レートのタイマ満了に関連するタイマ割込みであった場合には、ハンドラ「タイマ処理」をステップ1210で呼出す。あらゆる多数の他のタイプのイベントを、ステップ1211で、キャッチオールのイベントハンドラによって処理するが、イベントとしては、管理者インタフェースによって生成するイベント、通信媒体障害に関するイベント、ブレードシステム内の電力状態又は環境状態に関するイベント他が挙げられる。このイベントループは、仮想接続マネージャが動作している限り継続する。
図13では、本発明の1実施例に従い、図12のステップ1208で呼出した、ハンドラ「新パケット」に関する制御フローチャートを、提供する。ステップ1302では、仮想接続マネージャにより、パケット送信元のサーバ又はサーバ/ポートを判定する。ステップ1304では、仮想接続マネージャは、図9Aを参照して記述したように、データ構造又はサーバ若しくはサーバ/ポートに対応するデータ構造を検索し、ステップ1306では、現アキュムレータポインタ(図9Aの906)が参照する現在のアキュムレータを、受信パケットのサイズ分だけ、ビット単位で、インクリメントする。従って、本発明の実施例で導入した各到来パケットを処理するためのオーバーヘッドは、最小限となる。
図14では、本発明の1実施例に従い、図12のステップ1210で呼出した、ハンドラ「タイマ処理」の第1部分に関する制御フローチャートを、提供する。ステップ1402では、仮想接続マネージャは、満了したタイマに対応するサーバ又はサーバ/ポートを判定する。ステップ1404では、仮想接続マネージャは、アキュムレータ数nを乗算した現在のアキュムレータのコンテンツとして、サーバ又はサーバ/ポートに対する現在の瞬間データ伝送レートを計算する。ステップ1406では、仮想接続マネージャは、nを法とする数の算法によって現アキュムレータポインタをインクリメントし、ステップ1408では、仮想接続マネージャは、タイマ及びタイマ満了割込みをリセットして、次のモニタ間隔の終端を検出する。ステップ1410では、ルーチン「伝送レート調整」を呼出す。
図15では、図9A〜図9Kを参照して記述した本発明の第1実施例に従い、図14のステップ1410で呼出した、ルーチン「伝送レート調整」に関する制御フローチャートを、提供する。ステップ1502では、現在の伝送レートを、全アキュムレータ(図9Aの904)の合計に比率n/n−1を乗じて、計算する。ステップ1504で判定した際に、現在の伝送レートが低閾値より低ければ、ブール変数「バックプレッシャ」を、ステップ1506で偽にセットし、ルーチンを終了する。そうでなければ、ステップ1508で判定した際に、現在のデータ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートより高い場合、次にステップ1510で判定した際に、ブール変数「バックプレッシャ」が現時点で値が真となっている場合、ステップ1512で判定した際に、現在の瞬間データ伝送レート(図14のステップ1404参照)が、最大データ伝送レートより高い場合には、ステップ1514で、サーバ又はサーバ/ポートを中断する中断時間をインクリメントして、データ伝送レートが、本デバイスに対して設定した最大データ伝送レートより高い状態に保つという事実を反映する。ステップ1512で判定した際に、瞬時データ伝送レートが最大データ伝送レートより高くない場合は、中断期間の再計算は全く必要ない。ステップ1510で判定した際に、ブール変数「バックプレッシャ」が真でない場合は、ブール変数「バックプレッシャ」を真にセットし、ステップ1516で中断時間を計算する。変数「中断」で保存した中断時間を、サーバ又はサーバ/ポートのデータ伝送レートをサーバ又はサーバ/ポートに対して設定した最大データ伝送レートより低くするために、各1/n秒間にサーバ又はサーバ/ポートを休止すべき時間として計算する。加算値「スロップ」を、確実にサーバ又はサーバ/ポートに対するデータ伝送レートを最大データ伝送レートより低く抑えるために、推定値に加える。次に、ステップ1518では、中断メッセージを、変数「中断」の現在値を用いて、サーバ又はサーバ/ポートのポートに送信する。ステップ1508で判定した際に、現在のデータ伝送レートが、本デバイスに対して設定した最大データ伝送レートより高くない場合、ステップ1520で判定した際に、ブール変数「バックプレッシャ」の現在値が真でなければ、ステップ1518で次の中断メッセージを送信し、ルーチンを終了する。
図16は、図10A〜図10Dを参照して記述した本発明の第2実施例に従い、図14のステップ1410で呼出した、ルーチン「伝送レート調整」の第2の実行に関する制御フローチャートである。図15でのように、ステップ1602で、現在の伝送レートを計算する。ステップ1604で判定した際に、現在の伝送レートが低閾値より高い場合、及びステップ1606で判定した際に、ブール変数「バックプレッシャ」が真の場合、次にステップ1608で再開メッセージをサーバ又はサーバ/ポートに送信し、ブール変数「バックプレッシャ」を偽にセットする。そうでなければ、ステップ1610で判定した際に、現在のデータ伝送レートが、サーバ又はサーバ/ポートに対して設定した最大データ伝送レートを超える場合で、次にステップ1612で判定した際に、ブール変数「バックプレッシャ」が現時点で値が偽となっている場合は、ステップ1614で、中断メッセージをサーバ又はサーバ/ポートに送信する。
本発明について、特定の実施例に関して記述したが、本発明をこれらの実施例に限定するものではない。本発明の精神の範囲内での変更例は、当業者には明らかであろう。例えば、本発明の実施例を、ブレードシステムの仮想接続マネージャ、又はブレードシステムのサーバ内のポートからのデータ伝送をモニタできるブレードシステムの別の構成要素において存在する、或は実行するハードウェア回路、ファームウェア、及び/又はソフトウェアにおいて、実装してもよい。本発明を、例えばモジュール構成、制御構造、データ構造、変数、論理構造、ルーチンフローといった、一般的なハードウェア設計、ファームウェア設計、及び/又はソフトウェア設計パラメタを変えることで、多様な方法で実装できる。上述したように、サーバを、実装に応じて、特定種類の通信媒体上の、全ての通信媒体上の、又は特定ポートを介した最大伝送レートに設定してもよい。別の実装例では、最大伝送レートを、サーバ群に対して又はブレードシステム全体に対して設定できる。特定の実施例では、個別のサーバ、サーバ内のポート、サーバ群の組合せを、最大データ伝送レートに関して設定し、フロー制御して、確実に設定最大データ伝送レートを超えないようにしてもよい。全ての場合において、制御サーバ、ポート、又はサーバ群のデータ伝送レートをモニタし、フロー制御メッセージ又は信号を使用して、確実に各設定データ伝送レートを超えないようにする。以上、本発明について、マルチサーバエンクロージャのコンテキストに関して記述したが、本発明を、デバイスが通信媒体へのポートを含む他のタイプのマルチデバイスエンクロージャに適用してもよい。上述した実装例では、モニタルーチンを各間隔各サーバ又はサーバ/ポートに対して呼出すが、別の実装例では、モニタルーチンは、1回の呼出し中に、複数のサーバ及び/又はサーバ/ポートをモニタ及びフロー制御してもよい。
以上の記述では、説明を目的として、本発明について完全に理解させるために、特定の用語を使用した。しかしながら、本発明を実施するのに具体的詳細は必要でないことは、当業者には明らかであろう。以上の本発明の特定実施例に関する記述は、例示及び説明目的で提示したものである。そうした記述は、包括的なものではなく、或は本発明を開示した厳密な形に制限するものでもない。上記教示を考慮して、多数の変更例及び変形例が可能である。本発明の原理及びその実用化について最も良く説明して、当技術分野で熟練した他の者が本発明及び様々な実施例を、意図した特定の使用に適するように様々な変更例と共に、最大限に活用可能にするために、実施例を示し、記述した。本発明の範囲については、以下の請求項及びそれらの同等物によって規定されるものとする。

Claims (20)

  1. 通信媒体にデバイスを接続するポートを含む前記デバイスを収容するマルチデバイスエンクロージャ内に実装するデータ伝送レートモニタであって、前記データ伝送レートモニタには、
    各デバイス又はポートに対して設定した最大データ伝送レートの仕様を含む、電子メモリに保存したデータと、
    前記マルチデバイスエンクロージャ内のデバイス又はポートに対する現在のデータ伝送レートを判定し、前記デバイス又はポートに対する前記現在のデータ伝送レートが、前記デバイス又はポートに対して設定した最大データ伝送レートを超えた場合、前記デバイス又はポートに中断コマンドを送信するモニタコンポーネントとを備えるデータ伝送レートモニタ。
  2. ブレードシステムの仮想接続マネージャ内に実装する請求項1に記載のデータ伝送レートモニタ。
  3. 前記通信媒体をイーサネットリンクとし、前記中断コマンドをイーサネット中断メッセージとし、前記中断メッセージは、前記メッセージが中断メッセージ及び中断時間であることを示すタイプ/長さ用フィールドを含む請求項1に記載のデータ伝送レートモニタ。
  4. 前記マルチデバイスエンクロージャの動作中に間隔を置いて前記モニタコンポーネントを呼出す間隔計時コンポーネントと、
    前記デバイス又はポートに対して設定した前記最大データ伝送レートの仕様を含む、電子メモリに保存したデータと、
    データ転送を前記データ伝送レートモニタが前記デバイスから受信すると、前記データ転送で前記デバイスが転送したデータ量を、現時間間隔中に前記デバイスが転送した総データ量を蓄積するアキュムレータに加算するアキュムレータコンポーネントとを更に備える請求項1に記載のデータ伝送レートモニタ。
  5. 前記アキュムレータコンポーネントは、前記デバイスからの各受信データ転送において転送されたデータ量を、n個のアキュムレータの中から現アキュムレータ参照で参照した1個のアキュムレータに加算し、各間隔で、前記モニタコンポーネントは、nを法とする数の算法で前記現アキュムレータ参照をインクリメントして、前記インクリメントした現アキュムレータ参照が参照した前記アキュムレータをクリアする請求項2に記載のデータ伝送レートモニタ。
  6. 前記間隔計時コンポーネントは、前記モニタコンポーネントを1/n秒間隔で呼出す請求項5に記載のデータ伝送レートモニタ。
  7. 前記モニタコンポーネントは、前記デバイス又はポートに対する前記現在のデータ伝送レートを、n個のアキュムレータに保存した前記値を加算することによって、判定する請求項6に記載のデータ伝送レートモニタ。
  8. 前記間隔モニタコンポーネントは、前記デバイス又はポートに対する前記現在のデータ伝送レートを、n個のアキュムレータに保存した前記値を加算して合計を求め、前記合計にn/n−1を乗じることによって、判定する請求項6に記載のデータ伝送レートモニタ。
  9. 前記モニタコンポーネントは、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが低閾値より低いか否かを判定し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが前記低閾値より低い場合に、中断コマンドを前記デバイス又はポートに送信すべきでないという指示を、バックプレッシャ変数で保存し、
    前記デバイス又はポートに対する前記データ伝送レートが、前記デバイス又はポートに対して設定した前記最大データ伝送レートより高い場合に、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきと指示すると、前記中断コマンドに含まれる中断時間を長くして、前記デバイス又はポートに対する瞬間データ伝送レートが前記デバイス又はポートに対して設定した前記最大データ伝送レートより高い場合には、前記デバイス又はポートを更に減速させ、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきでないと指示すると、
    中断コマンドを前記デバイス又はポートに送信すべきという指示を、バックプレッシャ変数で保存し、
    中断コマンドに含まれる前記中断時間を計算し、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきと指示すると、前記デバイス又はポートに前記中断時間を含む中断コマンドを送信する請求項8に記載のデータ伝送レートモニタ。
  10. 前記モニタコンポーネントは、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが低閾値より低いか否かを判定し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが前記低閾値より低く、バックプレッシャ変数で保存した値が、中断コマンドを前記デバイス又はポートに送信したことを指示した場合、再開コマンドを前記デバイス又はポートに送信し、中断コマンドを前記デバイス又はポートに送信していないことを示す指示を、前記バックプレッシャ変数で保存し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが、前記デバイス又はポートに対して設定した前記最大データ伝送レートより高く、バックプレッシャ変数で保存した値が、中断コマンドを前記デバイス又はポートに送信していないことを指示した場合、中断コマンドを前記デバイス又はポートに送信し、中断コマンドを前記デバイス又はポートに送信したことを示す指示を前記バックプレッシャ変数で保存する請求項8に記載のデータ伝送レートモニタ。
  11. 前記データ伝送レートモニタにより、管理者インタフェースを更に提供して、管理者がマルチデバイスエンクロージャ内の各デバイス又はポートに対する最大データ伝送レートを設定可能にする請求項1に記載のデータ伝送レートモニタ。
  12. 通信媒体にデバイスを接続するポートを含む前記デバイスを収容するマルチデバイスエンクロージャ内のデバイス又はポートの最大データ伝送レートを制御する方法であって、前記方法は、
    前記マルチデバイスエンクロージャの動作中間隔を置いて、モニタコンポーネントによって、前記マルチデバイスエンクロージャ内の前記デバイス又はポートに対する前記現在のデータ伝送レートを判定し、前記デバイス又はポートに対する前記現在のデータ伝送レートが、前記デバイス又はポートに対して設定した最大データ伝送レートを超えると、中断コマンドを前記デバイス又はポートに伝送し、
    データ転送を前記デバイス又はポートから受信すると、前記データ転送で前記デバイスが転送するデータ量を、現在の間隔時間中に前記デバイスが転送する総データ量を蓄積するアキュムレータに加算する方法。
  13. ブレードシステムの仮想接続マネージャ内で実行する請求項12に記載の方法。
  14. 前記通信媒体をイーサネットリンクとし、前記中断コマンドをイーサネット中断メッセージとし、前記中断メッセージは、前記メッセージが中断メッセージ及び中断時間であることを示すタイプ/長さ用フィールドを含む請求項12に記載の方法。
  15. 前記デバイスからの各受信データ転送で転送された前記データ量を、n個のアキュムレータの中から現アキュムレータ参照が参照する1個のアキュムレータに加算し、
    各間隔で、nを法とする数の算法で前記現アキュムレータ参照をインクリメントして、前記インクリメントした現アキュムレータ参照が参照した前記アキュムレータをクリアすることを更に含む請求項12に記載の方法。
  16. 1/n秒間隔で前記モニタコンポーネントを呼出すことを更に含む請求項15に記載の方法。
  17. 前記モニタコンポーネントは、前記デバイス又はポートに対する前記現在のデータ伝送レートを、n個のアキュムレータに保存した前記値を加算することで、判定する請求項16に記載の方法。
  18. 前記モニタコンポーネントは、前記デバイス又はポートに対する前記現在のデータ伝送レートを、n個のアキュムレータに保存した前記値を加算して合計することで、及び前記合計にn/n−1を乗じて、判定する請求項16に記載の方法。
  19. 前記デバイス又はポートに対する前記現在のデータ伝送レートが低閾値より低いか否かを判定し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが前記低閾値より低い場合、中断コマンドを前記デバイス又はポートに送信すべきでないという指示をバックプレッシャ変数で保存し、
    前記デバイス又はポートに対する前記データ伝送レートが、前記デバイス又はポートに対して設定した前記最大データ伝送レートより高い場合に、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきと指示すると、前記中断コマンドに含まれる中断時間を長くして、前記デバイス又はポートに対する瞬間データ伝送レートが前記デバイス又はポートに対して設定した前記最大データ伝送レートより高い場合に、前記デバイス又はポートを更に減速させ、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきでないと指示すると、
    中断コマンドを前記デバイス又はポートに送信すべきという指示を、バックプレッシャ変数で保存し、
    中断コマンドに含む前記中断時間を計算し、
    前記バックプレッシャ変数が、中断コマンドを前記デバイス又はポートに送信すべきと指示すると、前記中断時間を含む中断コマンドを前記デバイス又はポートに送信することを更に含む請求項18に記載の方法。
  20. 前記デバイス又はポートに対する前記現在のデータ伝送レートが低閾値より低いか否かを判定し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが前記低閾値より低く、バックプレッシャ変数で保存した値が、中断コマンドを前記デバイス又はポートに送信したことを指示した場合、再開コマンドを前記デバイス又はポートに送信し、中断コマンドを前記デバイス又はポートに送信していないことを示す指示を、前記バックプレッシャ変数で保存し、
    前記デバイス又はポートに対する前記現在のデータ伝送レートが、前記デバイス又はポートに対して設定した前記最大データ伝送レートより高く、バックプレッシャ変数で保存した値が、中断コマンドを前記デバイス又はポートに送信していないことを指示した場合、中断コマンドを前記デバイス又はポートに送信し、中断コマンドを前記デバイス又はポートに送信したことを示す指示を前記バックプレッシャ変数で保存することを更に含む請求項18に記載の方法。
JP2011506241A 2008-04-28 2008-04-28 マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート Expired - Fee Related JP5400135B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/005455 WO2009134219A1 (en) 2008-04-28 2008-04-28 Adjustable server-transmission rates over fixed-speed backplane connections within a multi-server enclosure

Publications (2)

Publication Number Publication Date
JP2011519225A true JP2011519225A (ja) 2011-06-30
JP5400135B2 JP5400135B2 (ja) 2014-01-29

Family

ID=41255269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011506241A Expired - Fee Related JP5400135B2 (ja) 2008-04-28 2008-04-28 マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート

Country Status (6)

Country Link
US (1) US8903989B2 (ja)
EP (1) EP2272214B8 (ja)
JP (1) JP5400135B2 (ja)
KR (1) KR101408390B1 (ja)
CN (1) CN102017533B (ja)
WO (1) WO2009134219A1 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0221464D0 (en) * 2002-09-16 2002-10-23 Cambridge Internetworking Ltd Network interface and protocol
GB0304807D0 (en) 2003-03-03 2003-04-09 Cambridge Internetworking Ltd Data protocol
GB0404696D0 (en) 2004-03-02 2004-04-07 Level 5 Networks Ltd Dual driver interface
GB0408876D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd User-level stack
GB0408868D0 (en) 2004-04-21 2004-05-26 Level 5 Networks Ltd Checking data integrity
GB0505300D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Transmitting data
GB0505297D0 (en) 2005-03-15 2005-04-20 Level 5 Networks Ltd Redirecting instructions
WO2006095184A2 (en) 2005-03-10 2006-09-14 Level 5 Networks Incorporated Data processing system
GB0506403D0 (en) 2005-03-30 2005-05-04 Level 5 Networks Ltd Routing tables
US7634584B2 (en) 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
WO2006134373A2 (en) 2005-06-15 2006-12-21 Solarflare Communications Incorporated Reception according to a data transfer protocol of data directed to any of a plurality of destination entities
US7984180B2 (en) 2005-10-20 2011-07-19 Solarflare Communications, Inc. Hashing algorithm for network receive filtering
GB0600417D0 (en) 2006-01-10 2006-02-15 Level 5 Networks Inc Virtualisation support
US8116312B2 (en) 2006-02-08 2012-02-14 Solarflare Communications, Inc. Method and apparatus for multicast packet reception
EP2552080B1 (en) 2006-07-10 2017-05-10 Solarflare Communications Inc Chimney onload implementation of network protocol stack
US9948533B2 (en) 2006-07-10 2018-04-17 Solarflare Communitations, Inc. Interrupt management
US9686117B2 (en) 2006-07-10 2017-06-20 Solarflare Communications, Inc. Chimney onload implementation of network protocol stack
GB0621774D0 (en) 2006-11-01 2006-12-13 Level 5 Networks Inc Driver level segmentation
GB0723422D0 (en) 2007-11-29 2008-01-09 Level 5 Networks Inc Virtualised receive side scaling
GB0802126D0 (en) 2008-02-05 2008-03-12 Level 5 Networks Inc Scalable sockets
EP2353093A2 (en) * 2008-09-22 2011-08-10 Synopsys, Inc. Data processing system comprising a monitor
GB0823162D0 (en) 2008-12-18 2009-01-28 Solarflare Communications Inc Virtualised Interface Functions
US9256560B2 (en) 2009-07-29 2016-02-09 Solarflare Communications, Inc. Controller integration
US9210140B2 (en) 2009-08-19 2015-12-08 Solarflare Communications, Inc. Remote functionality selection
EP2309680B1 (en) 2009-10-08 2017-07-19 Solarflare Communications Inc Switching API
US8743877B2 (en) 2009-12-21 2014-06-03 Steven L. Pope Header processing engine
KR20110117815A (ko) * 2010-04-22 2011-10-28 삼성전자주식회사 복수 개의 마스터가 존재하는 시스템에서 데이터 트래픽 최적화 방법 및 장치
US8996644B2 (en) 2010-12-09 2015-03-31 Solarflare Communications, Inc. Encapsulated accelerator
US9674318B2 (en) 2010-12-09 2017-06-06 Solarflare Communications, Inc. TCP processing for devices
US9258390B2 (en) 2011-07-29 2016-02-09 Solarflare Communications, Inc. Reducing network latency
US10873613B2 (en) 2010-12-09 2020-12-22 Xilinx, Inc. TCP processing for devices
US9600429B2 (en) 2010-12-09 2017-03-21 Solarflare Communications, Inc. Encapsulated accelerator
US9008113B2 (en) 2010-12-20 2015-04-14 Solarflare Communications, Inc. Mapped FIFO buffering
US9384071B2 (en) 2011-03-31 2016-07-05 Solarflare Communications, Inc. Epoll optimisations
DE102011107092B4 (de) * 2011-07-11 2017-09-14 Fujitsu Ltd. Computersystem, Verfahren zum Starten eines Server-Computers, Server-Computer, Managementstation und Verwendung
US8763018B2 (en) 2011-08-22 2014-06-24 Solarflare Communications, Inc. Modifying application behaviour
EP2574000B1 (en) 2011-09-22 2020-04-08 Xilinx, Inc. Message acceleration
US9391840B2 (en) 2012-05-02 2016-07-12 Solarflare Communications, Inc. Avoiding delayed data
US9391841B2 (en) 2012-07-03 2016-07-12 Solarflare Communications, Inc. Fast linkup arbitration
US10505747B2 (en) 2012-10-16 2019-12-10 Solarflare Communications, Inc. Feed processing
US10742604B2 (en) 2013-04-08 2020-08-11 Xilinx, Inc. Locked down network interface
US9426124B2 (en) 2013-04-08 2016-08-23 Solarflare Communications, Inc. Locked down network interface
EP2809033B1 (en) 2013-05-30 2018-03-21 Solarflare Communications Inc Packet capture in a network
US10394751B2 (en) 2013-11-06 2019-08-27 Solarflare Communications, Inc. Programmed input/output mode
US10044795B2 (en) 2014-07-11 2018-08-07 Vmware Inc. Methods and apparatus for rack deployments for virtual computing environments
US10740081B2 (en) 2015-06-30 2020-08-11 Vmware, Inc. Methods and apparatus for software lifecycle management of a virtual computing environment
CN110612773B (zh) * 2017-04-24 2023-09-05 惠普发展公司,有限责任合伙企业 操作模式配置
EP3461160A1 (en) * 2017-09-26 2019-03-27 Thomson Licensing Method of associating configuration settings with devices in a network and corresponding apparatus
US10901721B2 (en) 2018-09-20 2021-01-26 Vmware, Inc. Methods and apparatus for version aliasing mechanisms and cumulative upgrades for software lifecycle management

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008054199A (ja) * 2006-08-28 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> データフレーム中継装置、データフレーム送信装置、およびデータ通信網における輻輳制御方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930160A (en) * 1996-06-22 1999-07-27 Texas Instruments Incorporated Multiply accumulate unit for processing a signal and method of operation
US5978414A (en) 1996-07-03 1999-11-02 Matsushita Electric Industrial Co., Ltd. Transmission rate judging unit
US6445704B1 (en) * 1997-05-02 2002-09-03 Cisco Technology, Inc. Method and apparatus for virtualizing a locally initiated outbound connection from a connection manager
EP0963054A1 (en) * 1998-05-26 1999-12-08 Globalstar L.P. Communications terminal with hybrid battery/capacitor power supply
US6618591B1 (en) * 1999-10-28 2003-09-09 Nokia Mobile Phones Ltd. Mechanism to benefit from min and max bitrates
KR20020094920A (ko) * 2001-06-13 2002-12-18 가부시키가이샤 엔티티 도코모 이동체 통신 시스템, 이동체 통신 방법, 기지국, 이동국및 이동체 통신 시스템에 있어서의 신호 송신 방법
US7305492B2 (en) * 2001-07-06 2007-12-04 Juniper Networks, Inc. Content service aggregation system
US7061866B2 (en) * 2002-01-10 2006-06-13 Intel Corporation Metered packet flow for packet switched networks
US20030152087A1 (en) * 2002-02-11 2003-08-14 Shahoumian Troy Alexander Excess-port switch
US7161907B2 (en) * 2002-03-05 2007-01-09 Sun Microsystems, Inc. System and method for dynamic rate flow control
US7266117B1 (en) * 2002-05-06 2007-09-04 Foundry Networks, Inc. System architecture for very fast ethernet blade
CN1245817C (zh) * 2002-05-23 2006-03-15 威盛电子股份有限公司 网络传输速率的控制方法及使用该方法的以太网交换机
JP3815423B2 (ja) * 2002-11-07 2006-08-30 ソニー株式会社 送信装置及び送信方法、受信装置及び受信方法、パルス位置検出方法、並びにトラッキング方法
US20040267570A1 (en) * 2003-04-23 2004-12-30 Becker Robert E. Method for information and management system for health care
CN1829952A (zh) 2003-07-30 2006-09-06 皇家飞利浦电子股份有限公司 嵌入式部件的灵活功率降低
US7564785B2 (en) * 2004-05-21 2009-07-21 Intel Corporation Dynamic flow control support
KR20070041591A (ko) * 2004-08-30 2007-04-18 코닌클리케 필립스 일렉트로닉스 엔.브이. 무선 네트워크에서 링크 적응을 위한 방법 및 시스템
CN100499389C (zh) 2004-12-29 2009-06-10 华为技术有限公司 一种主备单板之间传输数据的方法
US20060190484A1 (en) * 2005-02-18 2006-08-24 Cromer Daryl C System and method for client reassignment in blade server
US20060206602A1 (en) * 2005-03-14 2006-09-14 International Business Machines Corporation Network switch link failover in a redundant switch configuration
CN100502322C (zh) 2005-04-25 2009-06-17 华为技术有限公司 实现流控测试的装置及方法
JP4168059B2 (ja) 2006-04-10 2008-10-22 株式会社日立コミュニケーションテクノロジー Ponシステムおよび局側装置
CN1972315A (zh) 2006-11-28 2007-05-30 曙光信息产业(北京)有限公司 一种应用于刀片服务器usb虚拟媒体系统
US8284665B1 (en) * 2008-01-28 2012-10-09 Juniper Networks, Inc. Flow-based rate limiting

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008054199A (ja) * 2006-08-28 2008-03-06 Nippon Telegr & Teleph Corp <Ntt> データフレーム中継装置、データフレーム送信装置、およびデータ通信網における輻輳制御方法

Also Published As

Publication number Publication date
KR101408390B1 (ko) 2014-06-17
EP2272214B8 (en) 2016-08-10
CN102017533A (zh) 2011-04-13
EP2272214A4 (en) 2013-09-11
CN102017533B (zh) 2014-06-11
US20110029669A1 (en) 2011-02-03
EP2272214A1 (en) 2011-01-12
WO2009134219A1 (en) 2009-11-05
JP5400135B2 (ja) 2014-01-29
EP2272214B1 (en) 2016-06-01
US8903989B2 (en) 2014-12-02
KR20100136527A (ko) 2010-12-28

Similar Documents

Publication Publication Date Title
JP5400135B2 (ja) マルチサーバエンクロージャ内での固定速度バックプレーン接続に関する調整可能なサーバ伝送レート
US6988161B2 (en) Multiple port allocation and configurations for different port operation modes on a host
US8116203B2 (en) Multiple virtual channels for use in network devices
US7720064B1 (en) Method and system for processing network and storage data
US8441929B1 (en) Method and system for monitoring a network link in network systems
EP3633931B1 (en) Method and system for implementing mux machine
JP6118464B2 (ja) ポートステータス同期化方法、関連のデバイス、及びシステム
Cisco Cisco Mainframe Channel Connection Commands
Cisco IBM Channel Attach Commands
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Configuring Interfaces
Cisco Cisco IOS Release 11.1 CA Release Note and Update to Configuration Guides and Command References
Cisco Cisco IOS Release 11.1 CA Release Note and Update to Configuration Guides and Command References
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands
Cisco IBM Channel Attach Commands

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130219

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130221

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130225

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130702

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131024

R150 Certificate of patent or registration of utility model

Ref document number: 5400135

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees