JP4501916B2 - I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法 - Google Patents

I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法 Download PDF

Info

Publication number
JP4501916B2
JP4501916B2 JP2006254366A JP2006254366A JP4501916B2 JP 4501916 B2 JP4501916 B2 JP 4501916B2 JP 2006254366 A JP2006254366 A JP 2006254366A JP 2006254366 A JP2006254366 A JP 2006254366A JP 4501916 B2 JP4501916 B2 JP 4501916B2
Authority
JP
Japan
Prior art keywords
pci express
identifier
upstream
bridge
vlan
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.)
Active
Application number
JP2006254366A
Other languages
English (en)
Other versions
JP2008078887A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2006254366A priority Critical patent/JP4501916B2/ja
Priority to US11/857,846 priority patent/US8200880B2/en
Publication of JP2008078887A publication Critical patent/JP2008078887A/ja
Application granted granted Critical
Publication of JP4501916B2 publication Critical patent/JP4501916B2/ja
Priority to US13/469,335 priority patent/US8417865B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2017Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where memory access, memory control or I/O control functionality is redundant

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Bus Control (AREA)

Description

本発明は、複数CPU間でのI/O機器の共有設定を行う装置及び方法に関し、特にネットワークを介して複数CPUと複数 I/O機器が接続されるI/O機器共有設定を行う装置および方法に関する。
現在、コンピュータ内部の各パーツ間を接続する標準バス規格としてペリフェラルコンポーネントインターコネクト(PCI)が広く使用されている。このPCIの次世代規格としてPCIエクスプレスが規格化されている。PCIエクスプレスはこれまでのパラレルバスをシリアル化し、通信をスイッチングを伴うパケット方式で行うことにより通信容量を増加させている。
しかし、PCIエクスプレスでは図34に示されるように、一つのCPU101に対し複数のI/O機器108-1〜108-3を接続するツリー状の構成しか許されていない。図34において、CPU101はルートコンプレックス102と接続され、ルートコンプレックス102はPCIエクスプレススイッチ1601を介してI/O機器108-1〜108-3と接続される。PCIエクスプレススイッチ1601は上流PCI-PCIブリッジ1602、上流PCI-PCIブリッジ1604-1〜1604-3を含み、上流PCI-PCIブリッジ1602と上流PCI-PCIブリッジ1604-1〜1604-3とはPCIエクスプレススイッチ内部バス1603で接続される。ルートコンプレックス102はメモリ103に接続される。
一方、従来、複数のCPU間で複数のI/O機器を共有する場合には、ネットワークに複数のCPUと複数のI/O装置を分散して接続する、非特許文献1に示されるアドバンストスイッチングインターコネクト(ASI)が標準化されている。
図35を参照すると、CPU101-1,101-2はそれぞれルートコンプレックス102-1,102-2と接続され、ルートコンプレックス102-1,102-2はASIネットワーク1701を介してI/O機器108-1〜108-3と接続される。ルートコンプレックス102-1,102-2はそれぞれメモリ103-1,103-2に接続される。
ASIネットワーク1701は、ルートコンプレックス側PCIエクスプレス-ASIブリッジ1702-1,1702-2、ASIスイッチ1703、ファブリックマネージャー1704、I/O機器側PCIエクスプレスASIブリッジ1705-1〜1705-3を含んでいる。
ルートコンプレックス側PCIエクスプレス-ASIブリッジ1702-1,1702-2は、ルートコンプレックス102-1、102-2に接続され、TLP(Transaction Layer Packet)をASIパケットにカプセル化して送受信する機能を有する。ASIスイッチ1703は、PCIエクスプレスのパケット(TLP)をカプセル化したASIパケットのあて先が接続するポートへ、ASIパケットを転送するように切り換えを行う。I/O機器側PCIエクスプレスASIブリッジ1705-1〜1705-3は、I/O機器108-1〜108-3に接続され、TLPをASIパケットにカプセル化して送受信する機能を有する。ファブリックマネージャー1704は、ルートコンプレックス側PCIエクスプレス-ASIブリッジ1702-1、1702-2及びI/O機器側PCIエクスプレス-ASIブリッジ1705-1〜1705-3において、ブリッジ間の接続を管理する。
ASIネットワーク1701中のルーティングの方法を図36に示す。図36において、図35と同一構成部材については同一符号を付する。ASIではソースルーティング方式でルーティングされる。この手法は、送付元からの相対位置情報を用いて送付先までパケットの伝達を行う。またASIでのI/O機器108-1〜108-3の管理方法は、ファブリックマネージャー1704にはすべてのルートコンプレックス102-1、102-2とASIスイッチ1703-1〜1703-3とI/O機器108-1〜108-3とのルーティング情報を保持し、ファブリックマネージャー1704が複数のASIアドレス空間を管理し、ASIアドレス空間ごとにソースルーティングの経路を管理者がファブリックマネージャー1704を操作し設定をすることにより、複数のI/O機器108-1〜108-3を制御できる。
本発明に関連する技術として、特許文献1の図1に、1又は2以上のプロセッサ、第1のブリッジ、第2のブリッジ、複数の周辺デバイスが、それぞれの間でバス(第1のブリッジと第2のブリッジとを接続するバス、第2のブリッジと複数の周辺デバイスとを接続するバスはPCIバス)で接続される構成が開示されている。また特許文献2には各端末にそれぞれ各1つのVLAN IDを割り当て、テーブルで管理し、端末間の接続を制御する構成が開示されている。
特開平10−49482号公報 特開平10−178442号公報 ASI Core Architecture Specification Rev. 1.1, ASI-SIG, 2004年11月 Protocol Interface #8 (PI-8) R1.0, ASI-SIG, 2004年2月
しかし、複数のCPU間でASIを用いた場合、2つの課題がある。
第1の課題は、複数のI/O機器のグループ管理が複雑であり拡張性が制限されるということである。その理由は、ASIでは、複数のI/O機器のグループ管理を行う際にファブリックマネージャーはすべてのルーティング情報を保持することが求められ、さらにI/O機器108-1〜108-3のASIアドレス空間ごとにルーティングのパス設定を行わなければならないためである。
第2の課題は、同じI/O機器のN重冗長化を容易に行えない点である。その理由は第1の課題の理由に加え、複数の同じI/O機器からの応答が異なった場合に同期がはずれ、I/O機器の動作ができなくなるからである。
本発明の目的は、複数のCPUと複数のI/O機器の共有設定を容易に行え、冗長性を高めたシステム及び方法を提供することにある。
本発明のI/O機器共有システムは、複数CPUと複数のI/O機器との間が、少なくとも、前記複数のCPUに対応して設けられた複数の上流PCIエクスプレス−ブリッジと、前記複数の上流PCIエクスプレス−ブリッジとネットワークを介して接続され、前記複数のI/O機器に対応して設けられた複数の下流PCIエクスプレス−ブリッジと、を介して接続され、
前記複数の上流PCIエクスプレス−ブリッジと前記複数の下流PCIエクスプレス−ブリッジは、上流及び下流PCIエクスプレス−ブリッジで同じ識別子を設定する識別子設定部と、設定した該識別子でフィルタリングするフィルタリング部とをそれぞれ有し、
前記上流PCIエクスプレス−ブリッジの前記識別子設定部は、前記識別子を、該上流PCIエクスプレス−ブリッジに個別に割振られた値から生成し、
前記同じ識別子を設定した、前記上流PCIエクスプレス−ブリッジと前記下流PCIエクスプレス−ブリッジとは、前記識別子を付加したフレームで通信することを特徴とする。
本発明のI/O機器共有方法は、複数CPUと複数のI/O機器との間が、少なくとも、前記複数のCPUに対応して設けられた複数の上流PCIエクスプレス−ブリッジと、前記複数の上流PCIエクスプレス−ブリッジとネットワークを介して接続され、前記複数のI/O機器に対応して設けられた複数の下流PCIエクスプレス−ブリッジと、を介して接続されるI/O機器共有システムで、前記複数のCPU間で前記複数のI/O機器を共有する方法であって、
前記上流PCIエクスプレス−ブリッジは、識別子を該上流PCIエクスプレス−ブリッジに個別に割振られた値から生成し、
一つの上流PCIエクスプレス−ブリッジと、前記一つの上流PCIエクスプレス−ブリッジと通信を行う一つ又は複数の下流PCIエクスプレス−ブリッジとに同じ前記識別子を設定して、該識別子を付加したフレームで通信し、
前記一つの上流PCIエクスプレス−ブリッジと前記一つの上流PCIエクスプレス−ブリッジと通信を行う前記一つ又は複数の下流PCIエクスプレス−ブリッジとは設定した該識別子でフィルタリングすることを特徴とする。
本発明のPCIエクスプレス−ブリッジは、個別に割り振られた値から識別子を生成する識別子設定部を有するPCIエクスプレス−ブリッジであって、
ネットワークを介して接続され、前記識別子と同じ識別子が設定された他のPCIエクスプレス−ブリッジと、前記識別子を付加したフレームで通信するPCIエクスプレス−ブリッジである。
複数の上流情報処理装置(例えばCPU)間での複数の下流情報処理装置(例えばI/O機器)の共有の設定をネットワーク設定を行わずに識別子を設定するのみで共有でき、管理が簡単に行えるためネットワークの拡張性が増す。
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。なお、本実施形態ではコンピュータ内部の各パーツ間を接続する標準バス規格の例としてPCIエクスプレスを取り上げているが、本発明はかかる規格に限定されるものではない、つまり、本発明は複数の上流情報処理装置(例えば、CPUやI/O機器)と複数の下流情報処理装置との間が、少なくとも、複数の上流情報処理装置に対応して設けられた複数の上流ブリッジと、複数の上流ブリッジとネットワークを介して接続され、複数の下流情報処理装置に対応して設けられた複数の下流ブリッジと、を介して接続される情報処理装置共有システムや方法に適用可能である。また複数のCPUと複数のI/O機器との接続に限らず、複数のI/O機器と複数のI/O機器との接続等、広く複数の上流情報処理装置と複数の下流情報処理装置との接続における、共有設定を行う装置や方法に適用可能である。
[1] 第1の実施の形態
1-1) 第1の実施の形態の構成の説明
図1は本実施形態のI/O機器共有システムの構成を示すブロック図である。
I/O機器共有システムはCPU101-1,101-2と、チップセットで実現されるルートコンプレックス102-1、102-2と、メモリ103-1、103-2と、上流PCI エクスプレス-イーサネット(登録商標)ブリッジ(以下、上流Bと記す)104-1、104-2と、ネットワーク105を構成するイーサネット(登録商標)スイッチ106-1〜106-4と、下流PCI エクスプレス-イーサネットブリッジ(以下、下流Bと記す)107-1〜107-3と、I/O機器108-1〜108-3と、入力装置109-1、109-2とを含んでいる。
ルートコンプレックス102-1はCPU101-1と、メモリ103-1と、上流B 104-1と接続され、ルートコンプレックス102-2はCPU101-2と、メモリ103-2と、上流B 104-2と接続される。また、I/O機器108-1〜108-3は下流B 107-1〜107-3とそれぞれ接続される。上流B 104-1、104-2と下流B 107-1〜107-3はネットワーク105を構成するイーサネットスイッチ106-1〜106-4にそれぞれ接続される。各イーサネットスイッチ106-1〜106-4は任意の上流B 104-1、104-2から任意の下流B 107-1〜107-3にデータを送信可能なネットワークを構成するよう接続される。
図2は上流B 104-1の内部構成を示すブロック図である。ここでは、上流B 104-1の構成として示したが、上流B 104-2も同様な構成である。上流B-1 104はMACアドレスを保持し、TLPをイーサネット(登録商標)フレーム(IEEE802.3 Tag付きフレームフォーマット(IEEE802.1Q)を拡張したフレームフォーマット)にカプセル化・デカプセル化し送受信する機能およびVLAN ID (識別子となる)の設定を行い、I/O機器共有の設定を制御する機能を有する。
図2に示すように、上流B-1 104-1は、TLPを処理するTLP制御部201と、I/O機器108-1〜108-3の共有設定を制御するI/O機器共有制御部202と、ユーザーが出した必要I/O機器の情報を保持するI/O機器要求テーブル203と、各下流B 107-1〜107-3からのI/O機器情報を保持するI/O機器情報テーブル204と、VLAN IDの設定を制御するVLAN ID設定部205と、自分自身(上流B-1 104-1) のVLAN ID設定情報と上流B 104-2からのVLAN ID設定情報を保持するVLAN ID情報テーブル206と、を有する。
さらに、上流B-1 104-1は、VLAN IDの設定回数をカウントするVLAN ID設定回数カウンタ207と、設定したMACアドレスと設定したVLAN IDのフレーム以外をフィルタリングするフィルタリング部208と、制御フレームを生成する制御フレーム生成部209と、制御フレームとカプセル化フレームを選別する制御フレーム選別部210と、制御フレームの処理を行う制御フレーム処理部211と、ユーザーにエラーが発生したことを通知するエラー通知部212と、TLPを宛先のMACアドレスと所属VLAN IDを付加しカプセル化フレームにカプセル化するカプセル化部213と、カプセル化する際にTLPの宛先に対応するMACアドレスと所属VLAN IDの情報を保持するカプセル化テーブル214と、カプセル化フレームからTLPをデカプセル化するデカプセル化部215と、を有する。
TLP制御部201は、ルートコンプレックス102-1、I/O機器共有制御部202、エラー通知部212、カプセル化部213、デカプセル化部215と接続される。I/O機器共有制御部202はTLP制御部201、I/O機器要求テーブル203、I/O機器情報テーブル204、VLAN ID設定部205、制御フレーム生成部209、制御フレーム処理部211、エラー通知部212、カプセル化テーブル214に接続される。VLAN ID設定部205は、I/O機器共有制御部202、VLAN ID情報テーブル206、VLAN ID設定回数カウンタ207、フィルタリング部208、制御フレーム生成部209、制御フレーム処理部211、エラー通知部212、カプセル化テーブル214に接続される。フィルタリング部208はVLAN ID設定部205、制御フレーム選別部210、イーサネットスイッチ106-1に接続される。
制御フレーム生成部209は、I/O機器共有制御部202、VLAN ID設定部205、カプセル化部213、イーサネットスイッチ106-1に接続される。制御フレーム選別部210はフィルタリング部208、制御フレーム処理部211、デカプセル化部215に接続される。カプセル化部213はTLP制御部201、カプセル化テーブル214、イーサネットスイッチ106-1、制御フレーム生成部209に接続される。
次に各テーブルについて説明する。図13(a)にI/O機器要求テーブル203を示す。I/O機器要求テーブル203には、ユーザーが要求するI/O機器の情報を記録する。項目としては必要なI/O機器のPCIエクスプレスで規定されるVender ID、Device ID、Class Codeと確保済みフラグが保持される。図13(b)にI/O機器情報テーブル204を示す。I/O機器情報テーブル204は各下流B から送信されるI/O機器情報を記録する。項目としては、I/O機器のPCIエクスプレスで規定されるVender ID、Device ID、Class Codeと所属VLAN ID、MACアドレスが保持される。図13(c)にVLAN ID情報テーブル206を示す。VLAN ID情報テーブル206には、各上流B が設定したVLAN IDとMACアドレスの情報を記録する。項目としては、所属VLAN ID、MACアドレス、確定フラグが保持される。図13(d)にカプセル化テーブル214を示す。カプセル化テーブル214では、TLPをカプセル化する際に参照するテーブルである。項目としては、所属VLAN ID、MACアドレス、バス番号、デバイス番号、I/Oアドレス、メモリアドレスが保持される。
図3は下流B 107-1の内部構成を示すブロック図である。ここでは、下流B 107-1の構成を示したが、下流B 107-2、下流B 107-3も同様な構成である。下流B 107-1はMACアドレスを保持し、TLPをイーサネットフレームにカプセル化・デカプセル化し送受信する機能およびI/O機器108の情報の取得を行い、I/O機器共有の設定を制御する機能を有する。
下流B 107-1は、TLPを処理するTLP制御部301と、I/O機器108-1の共有設定を制御するI/O機器共有制御部302と、接続されているI/O機器の情報を取得するI/O機器情報取得部303と、下流B 107-2,107-3からのI/O機器情報と自分に接続されているI/O機器情報を保持するI/O機器情報テーブル304と、VLAN IDの設定を制御するVLAN ID設定部305と、上流B 104-1,104-2からのVLAN ID設定情報を保持するVLAN ID情報テーブル306と、を有する。
また下流B 107-1は、複数の上流B 104-1,104-2からのVLAN ID設定要求から1つを選択する要求選択部307と、設定したMACアドレスと設定したVLAN IDのフレーム以外をフィルタリングするフィルタリング部308と、制御フレームを生成する制御フレーム生成部309と、制御フレームとカプセル化フレームを選別する制御フレーム選別部310と、制御フレームの処理を行う制御フレーム処理部311と、TLPを宛先のMACアドレスと所属VLAN IDを付加しカプセル化フレームにカプセル化するカプセル化部312と、カプセル化する際にTLPの宛先に対応するMACアドレスと所属VLAN IDの情報を保持するカプセル化テーブル313と、カプセル化フレームからTLPをデカプセル化するデカプセル化部314と、を有する。
TLP制御部301はI/O機器108-1、I/O機器共有制御部302、カプセル化部312、デカプセル化部314と接続される。I/O機器共有制御部302はTLP制御部301、I/O機器情報取得部303、I/O機器情報テーブル304、VLAN ID設定部305、制御フレーム生成部309、制御フレーム処理部311、カプセル化テーブル313に接続される。VLAN ID設定部305はI/O機器共有制御部302、VLAN ID情報テーブル306、要求選択部307、フィルタリング部308、制御フレーム生成部309、制御フレーム処理部311、カプセル化テーブル313に接続される。
フィルタリング部308はVLAN ID設定部305、制御フレーム選別部310、イーサネットスイッチ106-3に接続される。制御フレーム生成部309はI/O機器共有制御部302、VLAN ID設定部305、イーサネットスイッチ106-3に接続される。制御フレーム選別部310はフィルタリング部308、制御フレーム処理部311、デカプセル化部314に接続される。カプセル化部312はTLP制御部301、カプセル化テーブル313、イーサネットスイッチ106-3に接続される。
次に各テーブルについて説明する。図14(a)にI/O機器情報テーブル304を示す。I/O機器情報テーブル304は各下流B から送信されるI/O機器情報を記録する。項目としては、I/O機器のPCIエクスプレスで規定されるVender ID、Device ID、Class Codeと所属VLAN ID、MACアドレスが保持される。図14(b)にVLAN ID情報テーブル306を示す。VLAN ID情報テーブル306には、各上流B が設定したVLAN IDとMACアドレスの情報を記録する。項目としては、所属VLAN ID、MACアドレス、要求フラグが保持される。図13(c)にカプセル化テーブル313を示す。カプセル化テーブル313では、TLPをカプセル化する際に参照するテーブルである。項目としては、所属VLAN ID、MACアドレス、バス番号、デバイス番号、I/Oアドレス、メモリアドレスが保持される。
1-2) 第1の実施の形態の動作の説明
本実施形態では、各ユーザーが該ユーザーの操作するCPUの構築したいシステムに必要なI/O機器を設定する動作、複数CPU間でVLAN IDを設定する動作および複数のCPUと複数のI/O機器の共有を設定する動作を行う。
これらの動作が実行されるのは、システム起動直後、CPUを新たにシステムに追加した時の動作、I/O機器を新たにシステムに追加した時の動作、CPUをシステムから削除する時の動作、I/O機器をシステムから削除する時の動作等に分かれる。
1) システム起動直後
システム起動直後は各上流B 104-1,104-2のフィルタリング部208と下流B 107-1〜107-3のフィルタリング部308はすべてのVLAN IDのフレームを受信できるよう設定されている。
<システム構築設定>
各ユーザーはどのI/O機器を使用したいかを入力し、その情報を上流B に記憶させる。その記憶させた情報を基にI/O機器の共有設定が行われる。その手順は次のとおりである。
まず、ユーザーは例えば、入力装置109-1を用いてユーザーの必要なI/O機器、例えばI/O機器108-1,108-2を設定する。その情報は、TLPとして発行され、上流B 104-1のTLP制御部201でそのTLPに書かれている必要なI/O機器情報(PCI Expressで規定されているVendor ID、Device ID、Class Code)を、I/O機器共有設定部202を介してI/O機器要求テーブル203に書き込む。I/O機器要求テーブル203は電源切断後も保持され、電源切断直前のデータが次回起動時も反映される。
また、ユーザーが使用中にシステム構成の変更を行う場合も同様にユーザーは入力装置109-1を用いてユーザーの必要なI/O機器を設定する。その情報は、TLPとして発行され、上流B 104-1のTLP制御部201でそのTLPに書かれている必要なI/O機器情報を、I/O機器共有設定部202を介してI/O機器要求テーブル203に書き込む。その後、I/O機器共有シーケンスを実行する。
ここでは、入力装置109-1を用いてユーザーの必要なI/O機器を上流B 104-1で設定する動作について説明したが、入力装置109-2を用いて他のユーザーの必要なI/O機器を上流B 104-2で設定する動作が同様に行われる。
<VLAN ID設定>
次にCPU101-1,CPU101-2に属する上流B 104-1, 上流B 104-2間でVLAN ID(識別子となる)を設定する動作について説明する。図4、図5、図6にフローチャートを示す。図4はVLAN ID初期設定シーケンスを示す。以下の説明では上流B 104-1の動作について説明する。
まず図4に示すように、上流B 104-1のVLAN ID設定部205がMACアドレスからVLAN IDを生成する(ステップS11)。そのVLAN IDおよびMACアドレスはVLAN ID情報テーブル206に書き込まれる(ステップS12)。その後、制御フレーム生成部209がどのVLAN IDに設定したかを他の上流B 104-2に知らせるためVLAN ID告知フレームを生成し、ブロードキャストし(ステップS13)、VLAN ID設定回数カウンタ207をインクリメントする(ステップS14)。
上流B 104-1よりブロードキャストされたフレームは、ネットワーク105を介して該フレームを発信した上流B 104-1以外の上流B 104-2および下流B 107-1〜107-3に配布される。
VLAN ID告知フレームを受信した下流B 107-1〜107-3は制御フレーム選別部310で選別し、制御フレーム処理部311はVLAN ID告知フレームを破棄する。
図5は上流B 104-2がVLAN ID告知フレームを受信したときあるいは上流B 104-1のVLAN ID告知フレーム送信後一定時間経過後の動作のフローチャートである。
上流B 104-2がVLAN ID告知フレームを受信(ステップS21)したときに、制御フレーム選別部210で選別されたVLAN ID告知フレームは、制御フレーム処理部211でVLAN IDとMACアドレスの情報を抜き出しVLAN ID情報テーブル206に書き込む(ステップS22)。上流B 104-2では、一定時間経過するまで待機し、他上流B 104-1のVLAN ID設定情報を入手する。上流B 104-1ではVLAN ID告知フレーム送信後一定時間経過まで待機し、他上流B 104-2のVLAN ID設定情報を入手する(ステップS23)。以下の処理では上流B 104-2の動作として説明するが、上流B 104-1でも同様な動作が行われる。
上記の一定時間経過を判断し(ステップS24)、一定時間経過している場合には、自分の設定したVLAN IDが他上流B 104-1で設定されていないかを確認するため、VLAN ID設定部205はVLAN ID情報テーブル206を検索する(ステップS25)。
自分(上流B 104-2)のVLAN IDが他上流B 104-1のVLAN IDと重なっていた場合、VLAN ID設定部205はVLAN ID情報テーブル206を参照し、自分のVLAN IDが自分に確定しているかを判断する(ステップS26)。確定している場合は、制御フレーム生成部209より重なった設定をしている上流B 104-1宛にVLAN ID確定フレームを送信する(ステップS27)。自分のVLAN IDが確定していない場合、VLAN ID設定部205はVLAN ID設定回数カウンタ207を参照し設定した規定回数と比較する(ステップS28)。該カウンタ値が規定回数を超えている場合、エラー通知部212を使ってユーザーにエラーを通知する(ステップS29)。エラーを受信したユーザーは該上流B 104-2のリセットを行い、再度初期設定シーケンスを行う(あるいは初期設定シーケンスにおいてユーザーが手動で設定する)。該カウンタ値が規定回数以下の場合、VLAN ID設定部205はVLAN ID情報テーブル206を参照し設定したVLAN IDから自分のMACアドレスから生成される数値分離れたVLAN IDに設定し(ステップS30)、VLAN ID情報テーブル206にこのVLAN IDを書き込む(ステップS31)。そして制御フレーム生成部は新たなVLAN IDのVLAN ID告知フレームを生成し、ブロードキャストし(ステップS32)、VLAN ID設定回数カウンタ207をインクリメントし(ステップS33)、次のVLAN ID告知フレームの受信を待つ。
上流B 104-2のVLAN IDが他上流B 104-1のVLAN IDと重なっていない場合、該上流B 104-2が既に確定済みかを判断し(ステップS34)、上流B 104-2が既に確定済みならば、VLAN ID告知フレーム受信シーケンスは終了する。該上流B 104-2が未確定ならば、制御フレーム生成部209よりVLAN ID確定フレームを生成しブロードキャストし(ステップS35)、フィルタリング部208を該VLAN IDまたはVLAN ID 0、かつ自分のMACアドレスまたはブロードキャストフレームを受信可能に設定し(ステップS36)、VLAN ID情報テーブル206の該当するVLAN IDに確定フラグをつけ(ステップS37)、VLAN ID告知フレーム受信シーケンスは終了する。
上流B 104-2よりブロードキャストされたフレームは、ネットワーク105を介して該フレームを発信した上流B 104-2以外の上流B 104-1および下流B 107-1〜107-3に配布される。
VLAN ID確定フレームを受信した下流B 107-1〜107-3のそれぞれは制御フレーム選別部310で選別し、制御フレーム処理部311でVLAN ID確定フレームからVLAN IDとMACアドレスの情報を抜き出しVLAN ID情報テーブル306に確定フラグと共に書き込む。
図6は上流B 104-1がVLAN ID確定フレームを受信した時のフローチャートを示している。上流B 104-1がVLAN ID確定フレームを受信すると(ステップS41)、制御フレーム選別部210で選別されたVLAN ID確定フレームは、制御フレーム処理部211で該フレームのVLAN IDとMACアドレスを抜き出し、VLAN ID設定部205はまず該当する情報がVLAN ID情報テーブル206に無い場合、VLAN ID情報テーブル206に書き込む(ステップS42)。その後、自分のVLAN IDが重なっていないかを確認する(ステップS43)。重なっていない場合、VLAN ID情報テーブルの該当するVLAN ID、MACアドレスに確定の印をつけ(ステップS44)、このシーケンスを終了する。
VLAN IDが重なっていた場合、自分のVLAN IDが確定しているかを確認する(ステップS45)。確定している場合、ユーザーにエラーを通知する(ステップS46)。確定していない場合、VLAN ID設定部205はVLAN ID情報テーブル206を参照し設定したVLAN IDから自分のMACアドレスから生成される数値分離れたVLAN IDに設定し(ステップS47)、VLAN ID情報テーブル206にこのVLAN IDを書き込む。そして制御フレーム生成部は新たなVLAN IDのVLAN ID告知フレームを生成し、ブロードキャストし(ステップS48)、VLAN ID設定回数カウンタ207をインクリメント(ステップS49)し、次のVLAN ID告知フレームの受信を待つ。
また、VLAN ID告知フレームを送信し、一定時間経過するまでに他上流B 104-2からのVLAN ID告知フレームを受信しなかった場合は、他に起動している上流B がいないと判断し、制御フレーム生成部209からVLAN ID確定フレームが生成され、ブロードキャストし、フィルタリング部208を該VLAN IDまたはVLAN ID 0、かつ自分のMACアドレスまたはブロードキャストフレームを受信可能に設定し、VLAN ID情報テーブル206の該当するVLAN IDに確定フラグを立てる。
これらの動作は上流B 104-1,104-2のそれぞれで実行される。また、VLAN ID初期設定シーケンスは起動時およびリセット時に実行され、各制御フレームを受信することをトリガーとして実行される。
<I/O機器共有設定>
図7にI/O機器共有設定シーケンスを示す。ここでは下流B 107-1について説明するが、他の下流B 107-2、107-3についても同様な動作が実行される。
下流B 107-1はまず、自分に接続されているI/O機器108-1のI/O機器情報(PCI Expressで規定されているVendor ID、Device ID、Class Code)をI/O機器情報取得部303を使って取得する(ステップS51)。取得した情報と自分のMACアドレスをI/O機器情報テーブル304に書き込む(ステップS52)。その情報を基に、制御フレーム生成部309にてI/O機器情報通知フレームを生成し、ブロードキャストする(ステップS53)。
なお、I/O機器108-1がCPU101-1,102-2のいずれにも使用されない場合はI/O機器情報通知フレームはVLAN ID 0に、CPU101-1,102-2のいずれかに使用されているときはそのVLAN IDに設定され、下流B 107-1から定期的にブロードキャストされる。
下流B 107-1よりブロードキャストされたフレームは、ネットワーク105を介して該フレームを発信した下流B 107-1以外の下流B 107-2,107-3および上流B 104-1,104-2に配布される。
I/O機器情報通知フレームを受信(ステップS54)した下流B 107-2(ここでは下流B 107-2について説明するが下流B 107-3も同様である)は制御フレーム選別部310で選別し、制御フレーム処理部311はI/O機器情報通知フレームからI/O機器情報とMACアドレスを読み取り、I/O機器情報テーブル304に書き込む(ステップS55)。
また、I/O機器情報通知フレームを受信(ステップS56)した上流B 104-1(ここでは上流B 104-1について説明するが上流B 104-2も同様である)は制御フレーム選別部210で選別し、制御フレーム処理部211はI/O機器情報通知フレームからI/O機器情報とMACアドレスを読み取り、I/O機器情報テーブル204に書き込む(ステップS57)。次にI/O機器共有制御部202はI/O機器要求テーブル203とI/O機器情報テーブル204を比較し、ユーザーが必要としているI/O機器があるか確認する(ステップS58)。必要なI/O機器が無い場合、上流B 104-1でのI/O機器共有設定シーケンスは終了する。必要なI/O機器が有る場合、制御フレーム生成部209よりVLAN ID設定フレームを生成し、目的のI/O機器を自分のVLAN IDに設定すべくVLAN ID設定フレームを送信する(ステップS59)。既にシステム構築設定で述べたように、ユーザーの必要なI/O機器は上流B 104-1ではI/O機器108-1,108-2を設定されているので、下流B 107-1,B 107-2にVLAN ID設定フレームが送信される。
VLAN ID設定フレームを受信(ステップS60)した下流B 107-1は、制御フレーム選別部310で選別し、制御フレーム処理部311はVLAN ID設定フレームからVLAN IDとMACアドレスを読み取り、VLAN ID情報テーブル306の要求フラグを立てる(ステップS61)。該下流B 107-1は起動してから一定時間経過するまでVLAN ID設定フレームの到着を待つ(ステップS62)。一定時間経過後、VLAN ID設置部304はまずVLAN ID情報テーブル306の要求フラグが複数立っているかどうかを確認する(ステップS63)。要求フラグが単一だった場合、要求フラグの立っているVLAN ID、MACアドレスの上流B 104-1に制御フレーム生成部309で生成されたI/O機器確定フレームをVLAN ID 0でブロードキャスト送信する(ステップS65)。要求フラグが複数立っている場合(VLAN ID設定フレームが上流 B 104-1,104-2の両方から送信された場合)、要求選択部307は1つの要求を選択する(ステップS64)。選択する方法としては、ランダムに選択、VLAN IDの値の大きいものあるいは小さいものを優先する、自分のMACアドレスに近いものを選択するなどがある。選択したVLAN ID、MACアドレスの上流B 104-1(ここでは上流B 104-1が選択されたものとする)に制御フレーム生成部309で生成されたI/O機器確定フレームをVLAN ID 0でブロードキャスト送信する(ステップS65)。I/O機器確定フレームを送信後、フィルタリング部308を該VLAN IDまたはVLAN ID 0、かつ自分のMACアドレスまたはブロードキャストフレームを受信可能に設定し(ステップS66)、I/O機器情報テーブルの自分の欄にそのVLAN IDを書き込む。
下流B 107-1よりブロードキャストされたフレームは、ネットワーク105を介して該フレームを発信した下流B 107-1以外の下流B 107-2,107-3および上流B 104-1に配布される。ここでは、下流B 107-1について説明したが、VLAN ID設定フレームを受信した下流B 107-2でも同様な動作が行われる。
I/O機器確定フレームを受信(ステップS67)した下流B 107-2(ここでは下流B 107-2について説明するが、下流B 107-3についても同様である)は制御フレーム選別部310で選別し、制御フレーム処理部311はI/O機器確定フレームから送信元のI/O機器情報と設定先のVLAN ID情報を読み取り、I/O機器情報テーブル304に書き込む(ステップS68)。
I/O機器確定フレームを受信(ステップS69)した上流B 104-1は制御フレーム選別部210で選別し、制御フレーム処理部211はI/O機器確定フレームから送信元のI/O機器情報と設定先のVLAN ID情報を読み取り、I/O機器情報テーブル204に書き込む(ステップS70)。さらにI/O機器共有制御部202は送信先のI/O機器が自分に必要なI/O機器か判断する(ステップS71)。自分に必要なI/O機器でない場合、I/O機器確定フレーム受信シーケンスを終了する。自分に必要なI/O機器である場合、自分宛であるか該I/O機器確定フレームの設定先のVLAN IDと比較する(ステップS72)。自分宛で無い場合、I/O機器確定フレーム受信シーケンスを終了する。自分宛である場合、そのCPU101-1がI/O機器を使用できるよう、PCI Expressの設定動作を実行し(ステップS73)、その後カプセル化テーブル214に設定したI/O機器のMACアドレス、VLAN ID、PCI Expressのバス番号、デバイス番号、I/Oアドレス・メモリアドレスを記録し(ステップS74)、終了する。
上流B 104-1がVLAN ID設定フレームを送信し、一定時間経過後、どのI/O機器からも自分宛のI/O機器確定フレームを受信しなかった場合、I/O機器共有失敗のエラーをユーザーに通知する。
2) 通常動作時(CPU−I/O機器間通信)
次にI/O機器の共有設定が終了した後、通常動作時にどのようにルートコンプレックスとI/O機器が通信するかについて説明する。ここでは、ルートコンプレックス102-1とI/O機器108-1との通信について説明する。
図8に通常動作時の通信手順を示している。まず、上流B 104-1がTLPを受信した時について説明する。ルートコンプレックス102-1からのTLPを受信(ステップS81)した上流B 104-1はTLP制御部201にて、TLPの宛先情報を読み取る(ステップS82)。宛先が自分宛かを判断し(ステップS83)、宛先が自分宛である場合、そのTLPは自上流B 104-1へのアクセスであるため、TLP制御部はTLPの内容を読み取り、その内容を処理する(ステップS84)。宛先が自分宛で無い場合、そのTLPはカプセル化テーブル214を基にカプセル化部213にて宛先のMACアドレス、VALN IDのカプセル化フレームにカプセル化され(ステップS85)、イーサネットスイッチ106-1に送信される(ステップS86)。
ネットワーク105を構成する複数のイーサネットスイッチ106はセルフラーニング機能を持っているので、自動的にアドレステーブルを構築し、カプセル化フレームを宛先の下流B 107-1(ここでは宛先が下流B 107-1であるとする)に転送する。
カプセル化フレームを受信(ステップS87)した下流B 107-1は、フィルタリング部308で、設定したVLAN IDのフレームかを判断し(ステップS88)、フィルタリング部308で、設定したVLAN ID以外のフレームを破棄し(ステップ89)、設定したVLAN IDのフレームである場合は受け入れる。さらに宛先MACアドレスを確認し(ステップS90)、自分宛あるいはブロードキャスト以外のフレームを破棄し(ステップS91)、自分宛あるいはブロードキャストの場合は受け入れる。次に制御フレーム選別部310で制御フレームであるか、カプセル化フレームであるかの判定が行われる(ステップS92)。制御フレームの場合、制御フレーム処理部311に送られ処理される(ステップS93)。カプセル化フレームの場合、デカプセル化部314に送られ、デカプセリングされる(ステップS94)。デカプセリングされたTLPはTLP制御部301に送られ、TLPの宛先を読み取り(ステップS95)、自下流B 107-1宛かを確認する(ステップS96)。自下流B 107-1宛である場合、TLPの内容を確認し処理する(ステップS97)。宛先が接続されているI/O機器108-1宛である場合、I/O機器108-1に転送し(ステップS98)、処理を終了する。
次に下流B 107-1がI/O機器108-1からのTLPを受信した時について図9を用いて説明する。TLPを受信(ステップS101)した下流B 107-1はTLP制御部301にて、TLPの宛先情報を読み取り(ステップS102)、宛先が自分宛であるかを判断する(ステップS103)。宛先が自分宛である場合、そのTLPは自下流B 107-1へのアクセスであるため、TLP制御部はTLPの内容を読み取り、その内容を処理する(ステップS104)。宛先が自分宛で無い場合、そのTLPはカプセル化テーブル313を基にカプセル化部312にて宛先のMACアドレス、VALN IDのカプセル化フレームにカプセル化され(ステップS105)、イーサネットスイッチ106-3に送信され(ステップS106)、ネットワーク105内を転送され、目的の上流B 104-1(ここでは目的の上流B が上流B 107-1であるとする)に送信される。
カプセル化フレームを受信(ステップS107)した上流B 104-1は、フィルタリング部208で、設定したVLAN IDのフレームかを判断し(ステップS108)、フィルタリング部208で、設定したVLAN ID以外のフレームを破棄し(ステップS109)、設定したVLAN IDのフレームである場合受け入れる。さらに宛先MACアドレスを確認し(ステップS110)、自分宛以外あるいはブロードキャスト以外のフレームを破棄し(ステップS111)、自分宛あるいはブロードキャストの場合は受け入れる。次に制御フレーム選別部210で制御フレームであるか、カプセル化フレームであるかの判定が行われる(ステップS112)。制御フレームの場合、制御フレーム処理部211に送られ処理される(ステップS113)。カプセル化フレームの場合、デカプセル化部215に送られ、デカプセリングされる(ステップS114)。デカプセリングされたTLPはTLP制御部201に送られ、TLPの宛先を読み取り(ステップS115)、自上流B 104-1宛かを確認する(ステップS116)。自上流B 104-1宛である場合、TLPの内容を確認し処理する(ステップS117)。宛先が接続されているルートコンプレックス102-1宛である場合、ルートコンプレックス102-1に転送し(ステップS118)、処理を終了する。
3) CPUを新たに追加する時
システム運用中に新たにCPU、ルートコンプレックス、メモリ、上流B 、入力装置が追加された時の動作について説明する。ここでは、CPU101-3、ルートコンプレックス102-3、メモリ103-3、上流B 104-3、入力装置109-3が追加されたものとし(不図示)、以下の説明では新たに加えられたCPU101-3、ルートコンプレックス102-3、メモリ103-3、上流B 104-3、入力装置109-3を中心に説明する。新たに加えられた場合は、起動時と同様にシステム構築設定、VLAN ID設定、I/O機器共有設定を行っていく。まずシステム構築設定だが、前記のシステム起動直後の動作と同様である。
次に新たに追加された上流B 104-3は自分のVLAN IDを設定すべく、VLAN ID設定を行う。基本的な動作は前記のシステム起動直後と同じだが、異なる点は他の上流B 104-1,B104-2のVLAN IDが既に確定している点である。動作は図4、図5、図6に従い動作する。
さらに、I/O機器共有設定は、図7に沿って実行される。使用されていないI/O機器に接続される下流B はVLAN 0で定期的にI/O機器情報通知フレームを送信している。そのI/O機器情報通信フレームを受信することでI/O機器共有設定シーケンスが始まり、I/O共有を行い、通常動作に移行する。
4) I/O機器を新たに追加する時
下流B およびI/O機器が新たに追加されたときの動作について説明する。ここでは、下流B 107-4およびI/O機器108-4が新たに追加されたものとする(不図示)。この時には、追加された下流B 107-4が追加されたI/O機器108-4の情報を取得する動作から始まる。その後、図7に示される手順に沿って設定され、通常動作に移行する。
5) CPUをシステムから削除する時
システム運用中に稼働中のCPU、ルートコンプレックス、メモリ、上流B 、入力装置を削除する手順について説明する。ここでは、CPU101-1、ルートコンプレックス102-1、メモリ103-1、上流B 104-1、入力装置109-1を削除するものとする。削除が実行される上流B 104-1は、例えば下流B 107-1およびI/O機器108-1を使用していたとすると、その使用していた下流B 107-1およびI/O機器108-1の共有設定を解除するため、制御フレーム生成部209で生成されたVLAN ID解除フレームを目的のI/O機器108-1に向けて送信する。VLAN ID解除フレームを受信した下流B 107-1は下流B 107-1自身と接続されているI/O機器108-1をリセットする。リセットされた下流B 107-1はI/O機器共有設定動作を開始し、VLAN 0のI/O機器情報通知フレームをブロードキャストする。ブロードキャストされたI/O機器情報通知フレームを受け取った削除中の上流B 104-1は、I/O機器要求テーブル203から該当するI/O機器情報を削除する。
I/O機器要求テーブル203の確保済みフラグが立っているI/O機器がすべて削除されるまでこの動作は繰り返される。すべての確保済みI/O機器の解除が終了後、CPU101-1、ルートコンプレックス102-1、メモリ103-1、上流B 104-1、入力装置109-1は削除可能となり、削除される。
6) I/O機器をシステムから削除する時
システム運用中に稼働中のI/O機器を削除する手順について説明する。ここでは、CPU101-1とI/O機器108-1とが接続され、I/O機器108-1を削除するものとする。I/O機器108-1からの削除指示(アテンションボタン押下)またはI/O機器108-1のユーザーからの削除指示により削除動作が開始される。I/O機器108-1からの削除指示の場合、PCIエクスプレス準拠の命令が通常動作時のCPU101-1−I/O機器108-1間通信によって行われる。I/O機器削除されると定期的に送信されてきたI/O機器情報通知フレームを上流B 104-1は受信しなくなるため、I/O機器情報テーブル204から該当するI/O機器情報とI/O要求テーブル203の確保済みフラグを削除する。
一方、ユーザーからの削除指示を上流B 104-1が受信した場合は、受信した上流B 104-1は制御フレーム生成部209で生成されるI/O機器削除フレームを目的の下流B 104-1に向けて送信する。I/O機器削除フレームを受信した下流B 107-1は制御フレーム選別部310で選別され、制御フレーム処理部311で情報を読み取り、TLP制御部301からI/O削除指示TLPをI/O機器108-1に送り、I/O機器108-1は削除指示を出した状態となり、前記のI/O機器108-1からの削除指示の場合の手順と同様の動作が行われる。
7) I/O機器の共有を解除する時
システム運用中に使用しているI/O機器の共有を解除する手順について説明する。ここでは、CPU101-1により使用されているI/O機器108-1の共有を解除するものとする。共有解除はユーザーからの解除指示によって開始される。解除指示のTLPを受信した上流B 104-1は使用していた下流B 107-1およびI/O機器108-1の共有設定を解除するため、制御フレーム生成部209で生成されたVLAN ID解除フレームを目的のI/O機器108-1に向けて送信する。VLAN ID解除フレームを受信した下流B 107-1は下流B 107-1自身と接続されているI/O機器108-1をリセットする。リセットされた下流B 107-1はI/O機器共有設定動作を開始し、VLAN 0のI/O機器情報通知フレームをブロードキャストする。ブロードキャストされたI/O機器情報通知フレームを受け取った解除中の上流B 104-1は、I/O機器要求テーブル203から該当するI/O機器情報を削除する。また、共有を解除したI/O機器108-1はI/O機器共有設定の要求があればI/O機器共有設定のシーケンスが開始される。
8) CPUの電源が切断された時
システム運用中にユーザーの意図に反し、CPU101-1および上流B 104-1への電源供給が切断した場合について説明する。ここではCPU101-1はI/O機器108-1を使用していたものとする。CPU101-1および上流B 104-1への電源供給が切断された場合、CPU101-1および上流B 104-1が使用していたI/O機器108-1は、該上流B 104-1からのデータを受信しなくなる。該状態が一定時間続いた場合、該I/O機器108-1が接続している下流B 107-1の制御フレーム生成部309は該上流B 104-1に対しI/O機器確認フレームを送信する。CPU101-1および上流B 104-1が動作中であれば、I/O機器確認フレームを受信した上流B 104-1は応答を返し、その応答を受信した下流B 107-1は通常の動作を行う。しかし、CPU101-1および上流B 104-1が動作中でない場合、応答が無いため下流B 107-1は一定時間経過後に下流B 107-1自身と接続されているI/O機器108-1をリセットする。リセットされた下流B 107-1はI/O機器共有設定動作を開始し、VLAN 0のI/O機器情報通知フレームをブロードキャストし、I/O機器共有設定の要求があればI/O機器共有設定のシーケンスが開始される。
以上、二つのCPU間での三つのI/O機器の共有設定を行う場合について説明したが、かかる数に限定されず、三つ以上のCPU間で、二つ又は四つ以上のI/O機器の共有設定を行う場合にも同様に本実施形態の構成が適用可能である。この点については以下に説明する各実施形態についても同様である。
1-3) 第1の実施の形態の効果
本実施の形態を用いることにより、複数CPU間でのI/O機器の共有設定を自動で行うことができ、共有設定はVLAN IDのみで管理するため容易である。
[2] 第2の実施の形態
2-1) 第2の実施の形態の構成の説明
第2の実施の形態では、使用するI/O機器ごとにVLAN IDを設定し、複数の同じI/O機器を所属させ、そのうちの一つのI/O機器を選択し、上流B のフィルタリング部の設定でそのVLAN IDのフレームのうちMACアドレスが選択したI/O機器のもの以外を廃棄する設定とする。
そしてI/O機器と通信をする際に、そのVLAN IDに設定しブロードキャストすることにより、複数の同じI/O機器にフレームを配布する。I/O機器から上流B へのフレームは、前記フィルタリング部の設定により選択したI/O機器からのフレームを受取る。
また、複数の冗長設定した同じI/O機器間の同期が外れた際の回復手段として、現在アクティブのI/O機器からの応答とスタンバイの複数のI/O機器からの応答が一致しているかどうかを確認する冗長I/O機器応答確認部と同期ずれを修正する冗長I/O機器同期修正部と修正用バッファを有している。
第2の実施の形態の構成は上流B の構成以外は第1の実施の形態と同様であるが、I/O機器は同じI/O機器を複数含むことが望ましい。図10に第2の実施の形態の上流B を示す。ここでは、上流B 104-1の構成を示すが、上流B 104-2の構成も同様である。図2と同一構成部材については同一符号を付して説明を省略する。I/O機器共有システムの構成は図1に示した実施形態1の構成と同じである。
図2に示す第1の実施の形態の上流B 104と比較すると、新たにI/O機器選択部1001、冗長I/O機器応答確認部1002、冗長I/O機器同期修正部1003、修正用バッファ1004が追加される。I/O機器選択部1001はI/O機器共有制御部202とI/O機器情報テーブル204に接続される。冗長I/O機器応答確認部1002は冗長I/O機器同期修正部1003とフィルタリング部208とイーサネットスイッチ106-1とに接続される。冗長I/O機器同期修正部1003は冗長I/O機器応答確認部1002と、修正用バッファ1004と、イーサネットスイッチ106-1とに接続される。修正用バッファ1004は冗長I/O機器同期修正部1003と、カプセル化部213と、制御フレーム生成部209とに接続される。また、上流B 104-1のI/O機器要求テーブル203のテーブル内容に設定VLAN IDの項目が追加される。さらにI/O機器情報テーブル204に使用中フラグの項目が追加される。
図15(a)にI/O機器要求テーブル203を示す。第1の実施の形態のI/O機器要求テーブル203に所属VLAN IDの項目が追加される。図15(b)にI/O機器情報テーブル204を示す。第1の実施の形態のI/O機器情報テーブル204に使用中フラグの項目が追加される。他のテーブルについては第1の実施の形態と同じ内容である。
2-2) 第2の実施の動作の説明
次に第2の実施の形態の動作について説明する。
1) システム起動直後
システム起動直後は各上流B 104-1,104-2のフィルタリング部208と下流B 107-1〜107-3のフィルタリング部308はすべてのVLAN IDのフレームを受信できるよう設定されている。
<システム構築設定>
各ユーザーはどのI/O機器を使用したいかと冗長度とを入力し、その情報を上流B に記憶させる。その記憶させた情報を基にI/O機器の共有設定が行われる。その手順は次のとおりである。
まず、ユーザーは例えば、入力装置109-1を用いてユーザーの必要なI/O機器、I/O機器と各I/O機器の冗長度(確保枚数)とを設定する。その情報は、TLPとして発行され、上流B 104-1のTLP制御部201でそのTLPに書かれている必要なI/O機器情報(PCI Expressで規定されているVendor ID、Device ID、Class Code)を、I/O機器共有設定部202を介してI/O機器要求テーブル203に書き込む。その際、指定された冗長度数分の同じI/O機器情報をI/O機器要求テーブル203に書き込む。
ここでは、入力装置109-1を用いてユーザーの必要なI/O機器と冗長度とを上流B 104-1で設定する動作について説明したが、入力装置109-2を用いて他のユーザーの必要なI/O機器と冗長度とを上流B 104-2で設定する動作が同様に行われる。
<VLAN ID設定>
第2の実施の形態では、要求するI/O機器ごとにVLAN IDを設定するため、VLAN ID設定動作をI/O機器要求テーブル203に登録されているすべてのI/O機器にVLAN IDが割当てられるまで繰り返される。
CPU101-1,CPU101-2に属する上流B 104-1, 上流B 104-2間でVLAN IDの設定を設定する動作について説明する。図4、図11、図6にフローチャートを示す。図4のVLAN ID初期設定シーケンスおよび図6の上流B 104-1がVLAN ID確定フレームを受信した時の動作は第1の実施の形態と同じである。
上流B 104-2がVLAN ID告知フレームを受信したときあるいは上流B 104-1のVLAN ID告知フレーム送信後一定時間経過後の動作は、第1の実施の形態と異なる動作を含む。図11は上流B 104-2がVLAN ID告知フレームを受信したときあるいは上流B 104-1のVLAN ID告知フレーム送信後一定時間経過後の第2の実施の形態の動作のフローチャートである。第1の実施の形態の動作と異なる点は、VLAN ID確定フレームをブロードキャストした後の動作である。すなわち、ステップS21からステップS35の動作は、図5と同じであり、ステップS35以後のステップS121からステップS129の動作が第1の実施の形態と異なる。以下、この動作について説明する。
VLAN ID確定フレームをブロードキャスト後(ステップS35の後)、VLAN ID情報テーブル206の今回設定したVLAN IDの確定フラグを立てる(ステップS121)。そして、図15(a)に示すI/O機器要求テーブル203のまだVLAN IDが割当てられていないI/O機器の所属VLAN IDの欄にVLAN IDを記録する(ステップS122)。この記録の際に、同じI/O機器がある場合、そのI/O機器の所属VLAN IDの欄にも記録する。さらにI/O機器要求テーブル203を参照し、すべてのI/O機器にVLAN IDが割当てられているかを確認し(ステップS123)、すべて割当て済みであればフィルタリング部208をVLAN 0として、これまでに確定したVLAN IDを受信できるように設定し(ステップS124)、終了する。割当てられていない場合、まずVLAN ID設定回数カウンタ207をリセットする(ステップS125)。そして、VLAN ID情報テーブルを参照しMACアドレスから生成される数値分離れた空きVLAN IDを選択する(ステップS126)。そのVLAN IDとMACアドレスをVLAN ID情報テーブル206に追加し(ステップS127)、VLAN ID告知フレームをブロードキャストし(ステップS128)、VLAN ID設定回数カウンタ207をインクリメントし(ステップS129)、終了する。すなわち、異なるI/O機器の数分VLAN IDを確保し、同じI/O機器には同じVLAN IDが設定される。
<I/O機器共有設定>
I/O機器共有設定においては、第1の実施の形態では上流Bが確保したI/O機器はすべて同じVLAN IDが設定される。第2の実施の形態では、異なるI/O機器は異なるVLAN IDが設定され、同じI/O機器は同じVLAN IDが設定される。
第2の実施の形態のI/O機器共有設定シーケンスは図12に示されるとおりである。図7に示した第1の実施の形態と異なる点は、上流B 104-1がI/O機器確定フレームを受信した時の動作部分である(なお図7の説明と同様に、上流B 104-1の動作について説明するが上流B 104-2の動作も同様である)。すなわち、ステップ130を除く、ステップS51からステップS74の動作は、図7と同じである。I/O機器確定フレームを受信(ステップS69)した上流B 104-1は制御フレーム選別部210で選別し、制御フレーム処理部211はI/O機器確定フレームから送信元のI/O機器情報と設定先のVLAN ID情報を読み取り、I/O機器情報テーブル204に書き込む(ステップS70)。さらにI/O機器共有制御部202は送信先のI/O機器が自分に必要なI/O機器か判断する(ステップS71)。自分に必要なI/O機器でない場合、I/O機器確定フレーム受信シーケンスを終了する。自分に必要なI/O機器である場合、自分宛であるか該I/O機器確定フレームの設定先のVLAN IDと比較する(ステップS72)。自分宛で無い場合、I/O機器確定フレーム受信シーケンスを終了する。自分宛である場合、既に同じI/O機器を確保済みか確認し(ステップS130)、確保済みの場合I/O機器確定フレーム受信シーケンスを終了する。確保済みでない場合、そのCPU101-1がI/O機器を使用できるよう、PCI Expressの設定動作を実行し(ステップS73)、その後カプセル化テーブル214に設定したI/O機器のMACアドレス、VLAN ID、PCI Expressのバス番号、デバイス番号、I/Oアドレス・メモリアドレスを記録する(ステップS74)。複数の同じI/O機器を冗長設定した場合、そのうちの1つをアクティブとしてそれ以外をスタンバイとするため、I/O機器選択部1001は冗長設定の複数のI/O機器から1つのI/O機器を選択し、図15(b)に示すようにI/O機器情報テーブル204の該当するI/O機器の使用中フラグを立てる。また、フィルタリング部208は設定したVLAN IDとVLAN ID 0を、さらにアクティブなI/O機器のMACアドレスとブロードキャストアドレス以外のフレームを破棄するよう設定される。
2) 通常動作時(CPU−I/O機器間通信、N重冗長設定なし)
次にI/O機器の共有設定が終了した後、通常動作時にどのようにルートコンプレックスとI/O機器が通信するかについて説明する。
第2の実施の形態では、異なるI/O機器ごとにVLAN IDが設定されており、同じI/O機器には同じVLAN IDが設定されている。通信を行う際は、第1の実施の形態では設定されたVLAN IDで目的のI/O機器の下流B 宛てのフレームをユニキャストするが、第2の実施の形態では、設定されたVLAN ID内でブロードキャストを行い、所属している同じI/O機器すべてに送信する。送信されたカプセル化フレームはVLAN内の各下流B が受信し、それぞれ動作する。VLAN内の各下流B からのカプセル化フレームは、フィルタリング部が選択されたI/O機器の下流B のMACアドレス以外を破棄する設定になっているため、選択されたI/O機器からのカプセル化フレームがデカプセル化されTLPとなって処理される。
3) 通常動作時(CPU−I/O機器間通信、N重冗長設定あり)
次にN重冗長設定がある場合の通常時の動作について説明する。前記通常動作時の動作2)においてN重冗長設定がある時には、同じI/O機器間でアクティブに設定されているI/O機器と状態をそろえることが求められる。まず、上流B からカプセル化しフレームを送信する際に、各VLAN IDごとに区切られた修正用バッファ1004にフレームのコピーを置く。その後、I/O機器からの応答フレームを受信すると、冗長I/O機器応答確認部1002は各I/O機器からの応答を比較し、同期が取れていない場合、その結果を冗長機器同期修正部1003に送り、同期の取れていないI/O機器(NACKを送信したI/O機器)に対し、修正用バッファのフレームのコピーのMACアドレスをブロードキャストアドレスから同期の取れていないI/O機器のMACアドレスに変更し、送付する。同期が取れている場合はフィルタリング部208にフレームを送る。その後の処理は2)において説明した動作と同様である。
4) CPUを新たに追加する時
第1の実施の形態のCPUを新たに追加する動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
5) I/O機器を新たに追加する時
第1の実施の形態のCPUを新たに追加する動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
6) CPUをシステムから削除する時
第1の実施の形態のCPUを新たに追加する動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
7) I/O機器をシステムから削除する時
第1の実施の形態のCPUを新たに追加する動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
8) I/O機器の共有を解除する時
第1の実施の形態のCPUを新たに追加する動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
9) CPUの電源が切断された時
第1の実施の形態のCPUの電源が切断された時の動作において、第1の実施の形態のシステム構築設定、VLAN ID設定、I/O機器共有設定の第2の実施の形態での変更点がそのまま反映される。
2-3) 第2の実施の形態の効果
第2の実施の形態を用いることにより、I/O機器の冗長構成の設定を容易に行うことが可能となる。
[3] 第3の実施の形態
第3の実施の形態について説明する。第3の実施の形態の全体のブロック図を図16に示す。第3の実施の形態では、前記第1および第2の実施の形態において新たにI/O機器データベースサーバー1901が追加される。I/O機器データベースサーバー1901はI/O機器108-1〜108-3のそれぞれから送信されるI/O機器情報通知フレームを受信し、I/O機器のデータベースを作成する。上流B および下流B は第1および第2の実施の形態と同様のブロック図に示した構成でも可能であるが、次に示すブロック図の構成が好ましい。第1の実施の形態から変更した上流B および下流B のブロック図は図17、図18、第2の実施の形態から変更した上流B は図19に示される。図17及び図18は上流B 104-1,下流B 107-1の構成を示し、図19は上流B 104-1を示しているが、上流B 104-2,下流B 107-2,107-3の構成も同様である。
図17〜図19に示す構成は、第1および第2の実施の形態における上流B 104-1および下流B 107-1の構成からI/O機器情報テーブル204およびI/O機器情報テーブル304が削除される構成となる。I/O機器データベースサーバー1901が保持するデータベースは、第1の実施の形態からの変更の場合は図13(b)と同様であり、第2の実施の形態からの変更の場合は図15(b)に示されるテーブルと同様である。
次に第3の実施の形態の動作について説明する。第3の実施の形態の動作は第1および第2の実施の形態において、複数のI/O機器の共有設定を行う動作が異なる。
図20に共有設定シーケンスを示す。ステップS51からステップS55、ステップS60からステップS74の動作は、図7と同じであり、ステップS131からステップS134の動作が第1の実施の形態と異なる。また、ステップS54,S55、ステップS67,S68の動作はI/O機器データベースサーバー1901で行われる。
下流B 107-1〜B 107-3のそれぞれはI/O機器情報通知フレームをブロードキャストする(ステップS53)。I/O機器データベースサーバー1901はI/O機器情報通知フレームを受信し(ステップS54)、I/O機器情報をI/O機器情報テーブルに追加記録する(ステップS55)。また、上流B 104-1,B104-2のそれぞれは自分に設定された必要I/O機器情報を基にI/O機器要求フレームをI/O機器データベースサーバー1901に送付する(ステップS131)。I/O機器データベースサーバー1901はI/O機器要求フレームを受信し(ステップS132)、I/O機器情報テーブルを参照し対応するI/O機器を選択する(ステップS133)。以下の説明では、上流B 104-1からI/O機器108-1の必要I/O機器情報がI/O機器データベースサーバー1901に送られ、I/O機器データベースサーバー1901がI/O機器108-1を選択したものとして説明を行う。
選択したI/O機器108-1を要求した上流B 104-1の設定されているVLAN IDに設定するべく、該I/O機器108-1が接続されている下流B 107-1にVLAN ID設定フレームを送信する(ステップS134)。下流B 107-1がVLAN ID設定フレームの受信したのちの動作は、I/O機器データベースサーバー1901がI/O機器確定フレームを受信したときに(ステップS67)、VLAN ID情報をI/O機器情報テーブルに追加する(ステップS68)こと以外は同様の動作を行う。
また、I/O機器データベースサーバー1901は、図21に示すように、いずれかのCPU、ルートコンプレックス、メモリ(上流B 、入力装置が含まれていてもよい)から構成される装置上に搭載する形態も可能である。図21では、I/O機器データベースサーバー1901がCPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていてもよい)から構成される装置上に搭載される形態を示している。
第3の実施の形態を用いることで、各上流B および下流B がI/O機器情報テーブルを保持しないため、上流B および下流B の実装を容易にできる。
[4] 第4の実施の形態
第4の実施の形態について説明する。第4の実施の形態の全体のブロック図を図22に示す。第4の実施の形態では、第1および第2および第3の実施の形態において新たにVLAN ID設定サーバー2501が追加される。VLAN ID設定サーバー2501は上流B 104-1,B 104-2のVLAN IDを設定する。VLAN ID設定サーバー2501はイーサネットスイッチ106-1〜106-4に接続される。上流B は第1および第2の実施の形態と同様のブロック図に示した構成でも可能であるが、次に示すブロック図の構成が好ましい。第1の実施の形態から変更した上流B のブロック図は図23、第2の実施の形態から変更した上流B は図24に示される。図23、図24に示す第4の実施の形態での上流B は第1および第2の実施の形態におけるVLAN ID情報テーブル206およびVLAN ID設定回数カウンタ207が削除された構成となる。
次に第4の実施の形態の動作について説明する。第1および第2および第3の実施の形態の動作と比較するとVLAN ID設定シーケンス部分が異なり、その他の動作は同様である。第4の実施の形態のVLAN ID設定シーケンスについて図37及び図38を用いて説明する。
図37に示すように、上流B 104-1は起動後にVLAN ID設定要求フレームをVLAN ID設定サーバー2501に送付する(ステップS140)。なお、上流B 104-2からも同様にVLAN ID設定要求フレームを送付するが、ここでは上流B 104-1からのVLAN ID設定要求フレームが送付された場合の動作について説明する。
VLAN ID設定サーバー2501はVLAN ID設定要求フレームを受信すると(ステップS141)、図38に示すVLAN ID情報テーブルを参照し、現在使用されていないVLAN IDを選択する(ステップS142)。このように本実施形態では、VLAN IDはVLAN ID設定サーバー2501のVLAN ID情報テーブルに基づいて設定される。そして、VLAN ID設定サーバー2501はVLAN ID確定フレームをブロードキャストする(ステップS143)。
選択されたVLAN IDを要求した上流B 104-1 はVLAN ID確定フレームを受信すると(ステップS144)、VLAN ID設定部でそのVLAN IDを保持する。また下流 B 107-1〜B 107-3はVLAN ID確定フレームを受信すると(ステップS145)、VLAN ID設定部でそのVLAN IDを保持する。その後I/O機器共有設定シーケンスに移行する。
また、VLAN ID設定サーバー2501は、図25に示すように、いずれかのCPU、ルートコンプレックス、メモリ(上流B、入力装置が含まれていてもよい)から構成される装置上に搭載する形態も可能である。図25では、VLAN ID設定サーバー2501が、CPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていてもよい)から構成される装置上に搭載される形態を示している。
第4の実施の形態を用いることで、各上流B がVLANI ID情報テーブル206を保持しないため、上流B の実装を容易にできる。
[5] 第5の実施の形態
第5の実施の形態について説明する。第5の実施の形態の全体のブロック図を図26に示す。第5の実施の形態では、第3の実施の形態と第4の実施の形態のI/O機器データベースサーバー1901とVLAN ID設定サーバー2501が構成に含まれる。上流B および下流B は第1、第2、第3および第4の実施の形態と同様のブロック図でも可能であるが、次に示すブロック図の構成が好ましい。第1の実施の形態から変更した上流B および下流B のブロック図は図27,図28、第2の実施の形態から変更した上流B は図29に示される。第1および第2の実施の形態からの変更はI/O機器情報テーブル204および304、VLAN ID情報テーブル206および306、VLAN ID設定回数カウンタ207を削除した形態となっていることである。
次に第5の実施の形態の動作について説明する。第5の実施の形態では、VLAN ID設定シーケンスは第4の実施の形態の動作、I/O機器共有設定シーケンスは第3の実施の形態の動作と同様となる。
また、I/O機器データベースサーバー1901とVLAN ID設定サーバー2501は、図30に示すようにいずれかのCPU、ルートコンプレックス、メモリ(上流B 、入力装置が含まれていてもよい)から構成される装置上に搭載する形態も可能である。図30では、I/O機器データベースサーバー1901が、CPU101-1、ルートコンプレックス102-1、メモリ103-1(上流B 104-1、入力装置109-1が含まれていてもよい)から構成される装置上に搭載され、VLAN ID設定サーバー2501がCPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていてもよい)から構成される装置上に搭載されていてもよい)から構成される装置上に搭載される形態も可能である。図31に示すようにI/O機器データベースサーバー1901とVLAN ID設定サーバー2501は一つのサーバー3401に搭載されてもよく、そのサーバー3401は、図32に示すようにいずれかのCPU、ルートコンプレックス、メモリ(上流B、入力装置が含まれていてもよい)から構成される装置上に搭載する形態も可能である。図32では、サーバー3401が、CPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていても可)から構成される装置上に搭載する形態も可能である。
第5の実施の形態を用いることで、各上流B および下流B がI/O機器情報テーブル、VLAN ID情報テーブル、VLAN ID設定回数カウンタを保持しないため、上流B および下流B の実装を容易にできる。
[6] 第6の実施の形態
第6の実施の形態について説明する。第6の実施の形態は、VLAN IDの設定時にVLAN IDが複数の上流B 間で競合した場合、あるいはI/O機器に複数のCPUから所属要求があった場合の競合制御を行う部分を含む構成について述べる。第6の実施の形態の構成は第1、第2、第3、第4、第5の実施の形態のうちいずれかの形態と競合制御を行う部分以外は同様である。VLAN IDあるいはI/O機器要求の競合の競合制御を行う部分(競合制御部)が競合制御サーバーとして追加される。図39は第6の実施の形態の全体のブロック図である。2601は競合制御サーバーを示す。
VLAN IDの設定、複数CPUからの同じI/O機器への所属要求があった場合に競合制御を行なう必要がある。本実施形態ではこの競合を競合制御を専門に行なう競合制御サーバー2601を設ける。以下にVLAN IDの設定時の競合制御、複数CPUから同じI/Oへの所属要求があった場合の競合制御の2つの場合の動作を説明する。
1)VLAN IDの設定時の競合制御
VLAN IDを各上流BがMACアドレスから生成する場合(実施形態1−3)、2つ以上の上流Bが同じVLAN IDを生成することが生じる。上流BがMACアドレスからVLAN IDを生成後、互いに広告しあう。例えば図41において上流B 104-1がMACアドレスからVLAN IDを生成し(ステップS150)、VLAN ID告知フレームをブロードキャストする(ステップS151)。
広告フレーム(VLAN ID告知フレーム)を受信し自分と同じVLAN IDを広告している自分以外の上流Bがいた場合、競合制御サーバー2601に解決を依頼するために競合制御サーバー2601にアクセスする。図41では上流B 104-2が広告フレームを受信し(ステップS152)、上流B 104-2のVLAN IDが上流B 104-1のVLAN IDと同じで競合することを認識(ステップS153)し、競合制御サーバー2601にアクセスする。上流B 104-1でも同様にVLAN IDが競合するので競合制御サーバー2601にアクセスする。
競合制御サーバー2601は同じVLAN IDを名乗る上流B 104-1,104-2からのアクセスにより競合していることを認識し(ステップS154)、競合を解決し、競合している上流B 104-1,104-2に伝える。競合を解決する方法は、例えば、あらかじめ競合制御サーバー2601が確保しているVLAN IDが決まっており、上流BはそのVLAN IDを生成できないようにしておいて、競合の際にそのVLAN IDを設定し(ステップS155)、上流B 104-1,104-2の一方に送信することで競合を解決する。上流Bでは設定された競合をVLAN IDを受信し(ステップS156)、VLAN ID情報デーブルやVLAN ID設定部でVLAN IDを保持する(ステップS157)。解決する方法は他の方法をとってもよいことは勿論である。
2) 複数CPUから同じI/O機器への所属要求があった場合の競合制御
複数のCPUから同じI/O機器へ所属要求があった場合も競合が生じる。図42に示すように、複数のCPUよりI/O機器108-1に所属要求があって競合すると(ステップS160)、I/O機器108-1は競合制御サーバー2601にアクセスし競合制御を依頼(競合制御指示を通知)する(ステップS161)。競合制御サーバー2601は競合制御を依頼を受けると(競合制御指示を受信すると)(ステップS162)、競合を解決し、I/O機器とCPUに結果を通知する。競合の解決方法としては、第1の方法としては、1つのCPUを選択し、それ以外のCPUには使用させない、第2の方法としては1つのCPUにはそのI/O機器を割り当て、他のCPUには競合制御サーバーがシステム内のI/O情報のデータベースを持っており、要求するI/O機器と同じ(あるいは同等機能の)I/O機器を割り当てるなどがある。図42では1つのCPUを選択してI/O機器108-1に通知し(ステップS163)、I/O機器108-1が選択されたCPU情報を受信して(ステップS164)、競合を解決する場合を示している。
なお競合制御サーバー2601の配置は、各上流B、下流Bがアクセスできるネットワーク上のどこに配置しても構わない。また、競合制御サーバー2601は、図40に示すように、いずれかのCPU、ルートコンプレックス、メモリ(上流B 、入力装置が含まれていてもよい)から構成される装置上に搭載する形態も可能である。図40では、競合制御サーバー2601がCPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていてもよい)から構成される装置上に搭載される形態を示している。
第6の実施の形態を用いることで、競合が生じた場合に早急に解決できる。
[7] 第7の実施の形態
第7の実施の形態について説明する。I/O機器の種別は大きく分けると揮発性と不揮発性に分けることが可能である。揮発性のI/O機器は電源を落とすとデータが消え、不揮発性のI/O機器は電源を落としてもデータが消えないI/O機器である。例えば揮発性のI/O機器は、グラフィックアクセラレータカード、サウンドカード、各種処理エンジンを搭載したエンジンカードなどで外部出力端子が無いものあるいは外部入出力端子があった場合でも起動時・終了時に外部入出力端子への他の機器の脱着を行う場合には揮発性と見なすことができる。一方不揮発性のI/O機器は、ネットワークインターフェースカードなどの物理的配線の接続先が固定のものやストレージ用インターフェースカードなどの電源を切断してもデータが残る記憶装置が接続されているものなど、揮発性のI/O機器に属さないI/O機器が該当する。
揮発性のI/O機器の場合は、どのCPUが使用しても問題が無いが、不揮発性のI/O機器を接続した場合には、I/O機器の割当てが変更された場合に自分のデータを他のCPUに勝手に書き換えられてしまう可能性がある。そこで不揮発性のI/O機器を接続する場合には、I/O機器の使用領域をCPUごとに設定する領域管理装置を新たに追加する。
第7の実施の形態の第1の実施の形態から変更した場合の全体のブロック図の一例を図33に示す。領域管理装置は、不揮発性のI/O機器と下流B 107の間に領域管理装置3601-3として配置する、あるいはネットワーク105上の一部に領域管理装置3601-2として配置する、あるいはCPU101-2、ルートコンプレックス102-2、メモリ103-2(上流B 104-2、入力装置109-2が含まれていてもよい)から構成される装置(CPU101-1、ルートコンプレックス102-1、メモリ103-1(上流B 104-1、入力装置109-1が含まれていてもよい)から構成される装置であってもよい)上に領域管理装置3601-1として配置することができる。あるいは領域管理装置は、I/O機器データベースサーバー1901上、あるいはVLAN ID設定サーバー2501上、あるいはサーバー3401上に配置する構成が考えられる。領域管理装置3601は、不揮発性のI/O機器の使用者情報を保持しており、使用者ごとに設定した領域にしか使用できないように制御する。
第7の実施の形態を用いることにより、不揮発性のI/O機器108のデータを他の使用者によって破壊されることを防止できる。
本発明は、複数CPU間でのI/O機器の共有設定を行う装置及び方法、特にネットワークを介して複数CPUと複数 I/O機器が接続されるI/O機器共有設定を行う装置および方法に用いることができる。
本発明の全体構成を示すブロック図である。 本発明の第1の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第1の実施の形態の下流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第1の実施の形態のVLAN ID初期設定動作のフローチャートである。 本発明の第1の実施の形態のVLAN ID告知フレーム受信時およびVLAN ID告知フレーム送信後一定時間経過の動作のフローチャートである。 本発明の第1の実施の形態のVLAN ID確定フレーム受信時の動作のフローチャートである。 本発明の第1の実施の形態のI/O機器共有設定動作のフローチャートである。 本発明の第1の実施の形態の通常動作時の上流PCIエクスプレス−イーサネットブリッジと下流PCIエクスプレス−イーサネットブリッジの通信のフローチャートである。 本発明の第1の実施の形態の通常動作時の下流PCIエクスプレス−イーサネットブリッジと上流PCIエクスプレス−イーサネットブリッジの通信のフローチャートである。 本発明の第2の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第2の実施の形態のVLAN ID告知フレーム受信時およびVLAN ID告知フレーム送信後一定時間経過の動作のフローチャートである。 本発明の第2の実施の形態のI/O機器共有設定動作のフローチャートである。 本発明の第1の実施の形態の上流PCIエクスプレス−イーサネットブリッジの保持するテーブルを示す図である。 本発明の第1の実施の形態の下流PCIエクスプレス−イーサネットブリッジの保持するテーブルを示す図である。 本発明の第2の実施の形態の上流PCIエクスプレス−イーサネットブリッジの保持するテーブルを示す図である。 本発明の第3の実施の形態の全体構成を示すブロック図である。 本発明の第3の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第3の実施の形態の下流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第3の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第3の実施の形態のI/O機器共有設定動作のフローチャートである。 本発明の第3の実施の形態の全体構成を示すブロック図である。 本発明の第4の実施の形態の全体構成を示すブロック図である。 本発明の第4の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第4の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第4の実施の形態の全体構成を示すブロック図である。 本発明の第5の実施の形態の全体構成を示すブロック図である。 本発明の第5の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第5の実施の形態の下流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第5の実施の形態の上流PCIエクスプレス−イーサネットブリッジの構成を示すブロック図である。 本発明の第5の実施の形態の全体構成を示すブロック図である。 本発明の第5の実施の形態の全体構成を示すブロック図である。 本発明の第5の実施の形態の全体構成を示すブロック図である。 本発明の第7の実施の形態の全体構成を示すブロック図である。 PCIエクスプレスの全体構成のブロック図である。 ASIの全体構成のブロック図である。 ASIのルーティング部のブロック図である。 本発明の第4の実施の形態のVLAN ID設定シーケンスのフローチャートである。 第4の実施の形態のVLAN ID設定サーバー2501のVLAN ID情報テーブルを示す図である。 本発明の第6の実施の形態の全体構成のブロック図である。 本発明の第6の実施の形態のVLAN IDの設定時の競合制御のフローチャートである。 本発明の第6の実施の形態の、複数CPUから同じI/O機器への所属要求があった場合の競合制御のフローチャートである。 本発明の第6の実施の形態の他の全体構成のブロック図である。
符号の説明
101 CPU
102 ルートコンプレックス
103 メモリ
104 上流PCIエクスプレス・イーサーネットブリッジ
105 ネットワーク
106 イーサネットスイッチ
107 下流PCIエクスプレス・イーサーネットブリッジ
108 I/O機器
109 入力装置
201 TLP制御部
202 I/O機器共有制御部
203 I/O機器要求テーブル
204 I/O機器情報テーブル
205 VLAN ID設定部
206 VLAN ID情報テーブル
207 VLAN ID設定回数カウンタ
208 フィルタリング部
209 制御フレーム生成部
210 制御フレーム選別部
211 制御フレーム処理部
212 エラー通知部
213 カプセル化部
214 カプセル化テーブル
215 デカプセル化部
301 TLP制御部
302 I/O機器共有制御部
303 I/O機器情報取得部
304 I/O機器情報テーブル
305 VLAN ID設定部
306 VLAN ID情報テーブル
307 要求選択部
308 フィルタリング部
309 制御フレーム生成部
310 制御フレーム選別部
311 制御フレーム処理部
312 カプセル化部
313 カプセル化テーブル
314 デカプセル化部
1001 I/O機器選択部
1002 冗長I/O機器応答確認部
1003 冗長I/O機器同期修正部
1004 修正用バッファ
1601 PCIエクスプレススイッチ
1602 上流PCI-PCIブリッジ
1603 PCIエクスプレススイッチ内部バス
1604 下流PCI-PCIブリッジ
1701 ASIネットワーク
1702 ルートコンプレックス側PCIエクスプレス-ASIブリッジ
1703 ASIスイッチ
1704 ファブリックマネージャー
1705 I/O機器側PCIエクスプレス-ASIブリッジ
1901 I/O機器データベースサーバー
2501 VLAN ID設定サーバー
2601 競合制御サーバー
3401 サーバー
3601 領域管理装置

Claims (27)

  1. 複数CPUと複数のI/O機器との間が、少なくとも、前記複数のCPUに対応して設けられた複数の上流PCIエクスプレス−ブリッジと、前記複数の上流PCIエクスプレス−ブリッジとネットワークを介して接続され、前記複数のI/O機器に対応して設けられた複数の下流PCIエクスプレス−ブリッジと、を介して接続され、
    前記複数の上流PCIエクスプレス−ブリッジと前記複数の下流PCIエクスプレス−ブリッジは、上流及び下流PCIエクスプレス−ブリッジで同じ識別子を設定する識別子設定部と、設定した該識別子でフィルタリングするフィルタリング部とをそれぞれ有し、
    前記上流PCIエクスプレス−ブリッジの前記識別子設定部は、前記識別子を、該上流PCIエクスプレス−ブリッジに個別に割振られた値から生成し、
    前記同じ識別子を設定した、前記上流PCIエクスプレス−ブリッジと前記下流PCIエクスプレス−ブリッジとは、前記識別子を付加したフレームで通信することを特徴とするI/O機器共有システム。
  2. 前記上流PCIエクスプレス−ブリッジの前記識別子設定部は、前記複数の上流PCIエクスプレス−ブリッジ間で前記識別子の重なりを検知し、重なっていた場合に、前記複数の上流PCIエクスプレス−ブリッジに前記個別に割振られた値から生成される数値だけ、前記個別に割振られた値から離れた空きの前記識別子を再割当てし、前記識別子の重なりを再度検知し、重なりが無くなるまで識別子の割当てを行うことを特徴とする請求項1に記載のI/O機器共有システム。
  3. 前記上流PCIエクスプレス−ブリッジは、前記複数の下流PCIエクスプレス−ブリッジから配信される第1のI/O機器情報と、該上流PCIエクスプレス−ブリッジに設定された第2のI/O機器情報と、を照合するとともに、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送ることを特徴とする請求項1又は2に記載のI/O機器共有システム。
  4. 前記上流PCIエクスプレス−ブリッジの前記識別子設定部は、前記複数の上流PCIエクスプレス−ブリッジに設定されたI/O機器情報の数値分の前記識別子を設定し、
    同じI/O機器が接続される前記複数の下流PCIエクスプレス−ブリッジに同じ識別子を設定することを特徴とする請求項1から3のいずれか1項に記載のI/O機器共有システム。
  5. 前記上流PCIエクスプレス−ブリッジは、冗長設定した複数のI/O機器からの応答により同期の確認を行う応答確認部と、同期が確認されない場合に送信するためのデータを蓄える修正用バッファと、前記応答確認部により同期がとれていないとされた場合に、前記修正用バッファに蓄えられた前記データを、同期が取れていないI/O機器に送る同期修正部とを有することを特徴とする請求項4に記載のI/O機器共有システム。
  6. I/O機器情報のデータベースを有する装置を有し、
    該装置は、前記複数の下流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第1のI/O機器情報と、前記複数の上流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第2のI/O機器情報と、を照合し、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送ることを特徴とする請求項1又は2に記載のI/O機器共有システム。
  7. 前記識別子の設定機能を有する装置を有し、
    該装置は、上流PCIエクスプレス−ブリッジから配信される識別子設定要求に基づいて、保持されている識別子情報から使用されていない識別子を選択し、選択した識別子を前記上流PCIエクスプレス−ブリッジに配信することを特徴とする請求項1から4のいずれか1項に記載のI/O機器共有システム。
  8. I/O機器情報のデータベースを有する第1の装置と識別子の設定機能を有する第2の装置とを備え、
    該第1の装置は、前記複数の下流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第1のI/O機器情報と、前記複数の上流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第2のI/O機器情報と、を照合し、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送り、
    該第2の装置は、上流PCIエクスプレス−ブリッジから配信される識別子設定要求に基づいて、保持されている識別子情報から使用されていない識別子を選択し、選択した識別子を前記上流PCIエクスプレス−ブリッジに配信することを特徴とする請求項1又は2に記載のI/O機器共有システム。
  9. 前記識別子が複数の上流PCIエクスプレス−ブリッジ間で競合した場合、あるいはI/O機器に複数のCPUから所属要求があった場合に、競合制御を行う装置を有する請求項1から8のいずれか1項に記載のI/O機器共有システム。
  10. 電源を切断してもデータあるいは接続情報が保持されるI/O機器が接続された際に使用者ごとの領域を管理制御する機能を有する装置を有することを特徴とする請求項1から9のいずれか1項に記載のI/O機器共有システム。
  11. 前記ネットワークがイーサネット、前記識別子がVLAN IDであることを特徴とする請求項1から10のいずれか1項に記載のI/O機器共有システム。
  12. 前記複数のCPU と前記複数の上流PCIエクスプレス−ブリッジとの間に複数のルートコンプレックスが設けられていることを特徴とする請求項1から11のいずれか1項に記載のI/O機器共有システム。
  13. 複数CPUと複数のI/O機器との間が、少なくとも、前記複数のCPUに対応して設けられた複数の上流PCIエクスプレス−ブリッジと、前記複数の上流PCIエクスプレス−ブリッジとネットワークを介して接続され、前記複数のI/O機器に対応して設けられた複数の下流PCIエクスプレス−ブリッジと、を介して接続されるI/O機器共有システムで、前記複数のCPU間で前記複数のI/O機器を共有する方法であって、
    前記上流PCIエクスプレス−ブリッジは、識別子を該上流PCIエクスプレス−ブリッジに個別に割振られた値から生成し、
    一つの上流PCIエクスプレス−ブリッジと、前記一つの上流PCIエクスプレス−ブリッジと通信を行う一つ又は複数の下流PCIエクスプレス−ブリッジとに同じ前記識別子を設定して、該識別子を付加したフレームで通信し、
    前記一つの上流PCIエクスプレス−ブリッジと前記一つの上流PCIエクスプレス−ブリッジと通信を行う前記一つ又は複数の下流PCIエクスプレス−ブリッジとは設定した該識別子でフィルタリングすることを特徴とするI/O機器共有方法。
  14. 前記複数の上流PCIエクスプレス−ブリッジ間で前記識別子の重なりを検知し、重なっていた場合に、前記複数の上流PCIエクスプレス−ブリッジに前記個別に割振られた値から生成される数値だけ、前記個別に割振られた値から離れた空きの前記識別子を再割り当てし、前記識別子の重なりを再度検知し、重なりが無くなるまで識別子の割当てを行うことを特徴とする請求項13に記載のI/O機器共有方法。
  15. 前記上流PCIエクスプレス−ブリッジにおいて、前記複数の下流PCIエクスプレス−ブリッジから配信される第1のI/O機器情報と、前記上流PCIエクスプレス−ブリッジに設定された第2のI/O機器情報を照合し、
    前記上流PCIエクスプレス−ブリッジは、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送ることを特徴とする請求項13又は14に記載のI/O機器共有方法。
  16. 前記複数の上流PCIエクスプレス−ブリッジに設定されたI/O機器情報の数値分の前記識別子を設定し、同じI/O機器が接続される前記複数の下流PCIエクスプレス−ブリッジに同じ識別子を設定することを特徴とする請求項13から15のいずれか1項に記載のI/O機器共有方法。
  17. 前記上流PCIエクスプレス−ブリッジにおいて、冗長設定したI/O機器間の同期制御を行うことを特徴とする請求項16に記載のI/O機器共有方法。
  18. 前記I/O機器共有システムはI/O機器情報のデータベースを有する装置を備え、装置は、前記複数の下流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第1のI/O機器情報と、前記複数の上流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第2のI/O機器情報と、を照合し、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送ることを特徴とする請求項13又は14に記載のI/O機器共有方法。
  19. 前記I/O機器共有システムは識別子の設定機能を有する装置を備え、該装置は、上流PCIエクスプレス−ブリッジから配信される識別子設定要求に基づいて、保持されている識別子情報から使用されていない識別子を選択し、選択した識別子を前記上流PCIエクスプレス−ブリッジに配信することを特徴とする請求項13から16のいずれか1項に記載のI/O機器共有方法。
  20. 前記I/O機器共有システムはI/O機器情報のデータベースを有する第1の装置と識別子の設定機能を有する第2の装置とを備え、
    該第1の装置は、前記複数の下流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第1のI/O機器情報と、前記複数の上流PCIエクスプレス−ブリッジから配信され、前記データベースに記録される第2のI/O機器情報と、を照合し、前記第1のI/O機器情報により特定されるI/O機器が前記第2のI/O機器情報により特定されるI/O機器に含まれる場合に、前記上流PCIエクスプレス−ブリッジの識別子を含むフレームを、前記第1のI/O機器情報により特定されるI/O機器と接続される下流PCIエクスプレス−ブリッジに送り、
    該第2の装置は、上流PCIエクスプレス−ブリッジから配信される識別子設定要求に基づいて、保持されている識別子情報から使用されていない識別子を選択し、選択した識別子を前記上流PCIエクスプレス−ブリッジに配信することを特徴とする請求項13又は14に記載のI/O機器共有方法。
  21. 前記識別子が複数の上流PCIエクスプレス−ブリッジ間で競合した場合、あるいはI/O機器に複数のCPUから所属要求があった場合に、競合制御を行う装置を有する請求項13から20のいずれか1項に記載のI/O機器共有方法。
  22. 前記I/O機器共有システムは、電源を切断してもデータあるいは接続情報が保持されるI/O機器が接続された際に使用者ごとの領域を管理制御する機能を有する装置を有することを特徴とする請求項13から21のいずれか1項に記載のI/O機器共有方法。
  23. 前記ネットワークがイーサネット、前記識別子がVLAN IDであることを特徴とする請求項13から22のいずれか1項に記載のI/O機器共有方法。
  24. 前記複数のCPU と前記複数の上流PCIエクスプレス−ブリッジとの間に複数のルートコンプレックスが設けられていることを特徴とする請求項13から23のいずれか1項に記載のI/O機器共有方法。
  25. 個別に割り振られた値から識別子を生成する識別子設定部を有するPCIエクスプレス−ブリッジであって、
    ネットワークを介して接続され、前記識別子と同じ識別子が設定された他のPCIエクスプレス−ブリッジと、前記識別子を付加したフレームで通信するPCIエクスプレス−ブリッジ
  26. CPUに対応して設けられ、
    前記識別子を用いて、入力されるフレームをフィルタリングするフィルタリング部を有し、
    I/O機器に対応して設けられた前記他のPCIエクスプレス−ブリッジと前記ネットワークを介して接続される請求項25に記載のPCIエクスプレス−ブリッジ
  27. 前記識別子設定部は、CPUに対応して設けられた他のPCIエクスプレス−ブリッジとの間で前記識別子の重なりを検知し、重なっていた場合に、前記個別に割振られた値から生成される数値だけ、前記個別に割振られた値から離れた空きの前記識別子を再割当てし、前記識別子の重なりを再度検知し、重なりが無くなるまで識別子の割当てを行うことを特徴とする請求項26に記載のPCIエクスプレス−ブリッジ
JP2006254366A 2006-09-20 2006-09-20 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法 Active JP4501916B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006254366A JP4501916B2 (ja) 2006-09-20 2006-09-20 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US11/857,846 US8200880B2 (en) 2006-09-20 2007-09-19 Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto
US13/469,335 US8417865B2 (en) 2006-09-20 2012-05-11 Shared system of I/O equipment, shared system of information processing apparatus, and method used thereto

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006254366A JP4501916B2 (ja) 2006-09-20 2006-09-20 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法

Publications (2)

Publication Number Publication Date
JP2008078887A JP2008078887A (ja) 2008-04-03
JP4501916B2 true JP4501916B2 (ja) 2010-07-14

Family

ID=39190019

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006254366A Active JP4501916B2 (ja) 2006-09-20 2006-09-20 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法

Country Status (2)

Country Link
US (2) US8200880B2 (ja)
JP (1) JP4501916B2 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4670676B2 (ja) * 2006-02-17 2011-04-13 日本電気株式会社 スイッチ及びネットワークブリッジ装置
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US8050290B2 (en) 2007-05-16 2011-11-01 Wilocity, Ltd. Wireless peripheral interconnect bus
US9075926B2 (en) * 2007-07-19 2015-07-07 Qualcomm Incorporated Distributed interconnect bus apparatus
WO2009139489A1 (ja) * 2008-05-16 2009-11-19 日本電気株式会社 Pciエクスプレススイッチ、pciエクスプレスシステム、及びネットワーク制御方法
JP5272265B2 (ja) * 2008-09-29 2013-08-28 株式会社日立製作所 Pciデバイス共有方法
US8719483B2 (en) 2008-10-15 2014-05-06 Nec Corporation Multi-root PCI express switch, boot method thereof, and multi-root PCI manager program
US8270290B2 (en) 2008-12-19 2012-09-18 Rockstar Bidco, LP Resilient attachment to provider link state bridging (PLSB) networks
JP5267943B2 (ja) * 2009-03-30 2013-08-21 日本電気株式会社 PCI−Express通信システム、及びPCI−Express通信方法
WO2011004548A1 (ja) * 2009-07-06 2011-01-13 日本電気株式会社 I/oシステム、下流pciエクスプレスブリッジ、インターフェース共有方法、およびプログラム
EP2511827B1 (en) * 2009-12-07 2015-12-02 Fujitsu Limited Information system
WO2011102488A1 (ja) * 2010-02-22 2011-08-25 日本電気株式会社 通信制御システム、スイッチングノード、通信制御方法、及び通信制御用プログラム
WO2011105303A1 (ja) * 2010-02-23 2011-09-01 日本電気株式会社 遠隔制御システム、遠隔制御方法、及び遠隔制御用プログラム
US8891406B1 (en) * 2010-12-22 2014-11-18 Juniper Networks, Inc. Methods and apparatus for tunnel management within a data center
US8782318B2 (en) * 2011-03-02 2014-07-15 Intel Corporation Increasing Input Output Hubs in constrained link based multi-processor systems
JP5720324B2 (ja) * 2011-03-11 2015-05-20 日本電気株式会社 シンクライアント環境提供システム、サーバ、シンクライアント環境管理方法、及びシンクライアント環境管理プログラム
US9363207B2 (en) * 2011-06-24 2016-06-07 Cisco Technology, Inc. Private virtual local area network isolation
CN102301364B (zh) 2011-06-27 2013-01-02 华为技术有限公司 Cpu互联装置
US8909979B2 (en) 2011-06-27 2014-12-09 Huawei Technologies Co., Ltd. Method and system for implementing interconnection fault tolerance between CPU
US8943255B2 (en) * 2012-05-29 2015-01-27 Lsi Corporation Methods and structure for accounting for connection resets between peripheral component interconnect express bridges and host devices
US9019967B2 (en) * 2012-07-30 2015-04-28 Dell Products L.P. VLAN advertisement and automated configuration
US8843688B2 (en) * 2012-09-11 2014-09-23 International Business Machines Corporation Concurrent repair of PCIE switch units in a tightly-coupled, multi-switch, multi-adapter, multi-host distributed system
WO2014063370A1 (zh) 2012-10-27 2014-05-01 华为技术有限公司 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质
US9756128B2 (en) 2013-04-17 2017-09-05 Apeiron Data Systems Switched direct attached shared storage architecture
US10452316B2 (en) 2013-04-17 2019-10-22 Apeiron Data Systems Switched direct attached shared storage architecture
US9483431B2 (en) 2013-04-17 2016-11-01 Apeiron Data Systems Method and apparatus for accessing multiple storage devices from multiple hosts without use of remote direct memory access (RDMA)
KR102147629B1 (ko) * 2013-11-18 2020-08-27 삼성전자 주식회사 플렉시블 서버 시스템
US9678914B2 (en) 2014-02-19 2017-06-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Hot removing an I/O module with multiple hot plug slots
JP6354258B2 (ja) * 2014-03-28 2018-07-11 日本電気株式会社 通信管理装置、ノード、通信システム、通信管理方法、ノードの制御方法、及びプログラム
EP2882169B1 (en) * 2014-08-19 2017-10-04 ABB Schweiz AG Redundant content bridging between substation communication networks
KR102219759B1 (ko) 2015-01-09 2021-02-25 삼성전자주식회사 저장 장치, 그것을 포함하는 데이터 저장 시스템 및 그것의 동작 방법
JP6070732B2 (ja) 2015-01-27 2017-02-01 日本電気株式会社 入出力制御装置、入出力制御システム、入出力制御方法、および、プログラム
JP6455194B2 (ja) * 2015-02-04 2019-01-23 日本電気株式会社 管理装置、管理方法および管理プログラム
CN107241913B (zh) * 2015-02-25 2020-06-19 株式会社日立制作所 信息处理装置
JP5943110B1 (ja) * 2015-03-12 2016-06-29 日本電気株式会社 情報処理システム、情報処理方法、及び、プログラム
JP2016208184A (ja) * 2015-04-20 2016-12-08 日本電気株式会社 管理装置、管理システム、管理方法、および管理用プログラム
DE112015006516T5 (de) * 2015-05-07 2018-01-25 Intel Corporation BUS-Einrichtung-Funktion-Adressraumabbildung
DE102019110619A1 (de) * 2019-04-24 2019-07-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren zum Verfolgen eines Bauteils in einer mehrere Prozessanlagen umfassenden Fertigungslinie sowie Recheneinrichtung
JP7315753B2 (ja) * 2019-08-02 2023-07-26 株式会社日立製作所 ストレージ装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045099A (ja) * 1999-05-18 2001-02-16 Gateway Inc 周辺装置の相互接続を認識するためのシステム及び方法
WO2004088522A1 (ja) * 2003-03-31 2004-10-14 Fujitsu Limited バスブリッジ装置、バスブリッジ方法および入出力制御装置
JP2004336501A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd レイヤ2網制御装置および制御方法
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ
JP2005332396A (ja) * 2004-05-20 2005-12-02 Dell Products Lp 情報処理システムpciエキスプレスアドバンスドスイッチングのためのシステムおよび方法
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置
JP2008506195A (ja) * 2004-07-07 2008-02-28 ヨッタヨッタ インコーポレイテッド 分散キャッシュ・コヒーレンスを提供するシステムおよび方法

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5086426A (en) * 1987-12-23 1992-02-04 Hitachi, Ltd. Communication network system having a plurality of different protocal LAN's
DE69127198T2 (de) * 1991-10-14 1998-02-12 Ibm Nachrichtenlenkung in einem Nezt, das aus über Brücken verbundenen Lokalnetzsegmenten besteht
US5394402A (en) * 1993-06-17 1995-02-28 Ascom Timeplex Trading Ag Hub for segmented virtual local area network with shared media access
US5684800A (en) * 1995-11-15 1997-11-04 Cabletron Systems, Inc. Method for establishing restricted broadcast groups in a switched network
US6175888B1 (en) 1996-04-10 2001-01-16 International Business Machines Corporation Dual host bridge with peer to peer support
JP3662378B2 (ja) 1996-12-17 2005-06-22 川崎マイクロエレクトロニクス株式会社 ネットワーク中継器
US6798775B1 (en) * 1999-06-10 2004-09-28 Cisco Technology, Inc. Virtual LANs over a DLSw network
JP4168574B2 (ja) * 2000-06-02 2008-10-22 株式会社日立製作所 パケット転送装置、パケット転送制御方法、及びパケット転送装置の設定方法
US6901451B1 (en) 2000-10-31 2005-05-31 Fujitsu Limited PCI bridge over network
US6804673B2 (en) 2001-04-19 2004-10-12 Fujitsu Limited Access assurance for remote memory access over network
US7046668B2 (en) * 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7096310B2 (en) * 2004-03-16 2006-08-22 Hewlett-Packard Development, L.P. Switch configurable for a plurality of communication protocols
US20060129709A1 (en) * 2004-12-09 2006-06-15 International Business Machines Corporation Multipurpose scalable server communication link
US8285907B2 (en) * 2004-12-10 2012-10-09 Intel Corporation Packet processing in switched fabric networks
US7353360B1 (en) * 2005-04-05 2008-04-01 Sun Microsystems, Inc. Method for maximizing page locality
US7293129B2 (en) * 2005-04-22 2007-11-06 Sun Microsystems, Inc. Flexible routing and addressing
US7356636B2 (en) * 2005-04-22 2008-04-08 Sun Microsystems, Inc. Virtualized PCI switch
US7698484B2 (en) * 2005-09-21 2010-04-13 Ricoh Co., Ltd. Information processor configured to detect available space in a storage in another information processor
US7363404B2 (en) * 2005-10-27 2008-04-22 International Business Machines Corporation Creation and management of destination ID routing structures in multi-host PCI topologies
US7380046B2 (en) * 2006-02-07 2008-05-27 International Business Machines Corporation Method, apparatus, and computer program product for routing packets utilizing a unique identifier, included within a standard address, that identifies the destination host computer system
JP4501916B2 (ja) * 2006-09-20 2010-07-14 日本電気株式会社 I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7519761B2 (en) * 2006-10-10 2009-04-14 International Business Machines Corporation Transparent PCI-based multi-host switch
US7991839B2 (en) * 2006-12-19 2011-08-02 International Business Machines Corporation Communication between host systems using a socket connection and shared memories

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001045099A (ja) * 1999-05-18 2001-02-16 Gateway Inc 周辺装置の相互接続を認識するためのシステム及び方法
WO2004088522A1 (ja) * 2003-03-31 2004-10-14 Fujitsu Limited バスブリッジ装置、バスブリッジ方法および入出力制御装置
JP2004336501A (ja) * 2003-05-09 2004-11-25 Hitachi Ltd レイヤ2網制御装置および制御方法
JP2005317021A (ja) * 2004-04-28 2005-11-10 Microsoft Corp 設定可能なpciエクスプレススイッチ
JP2005332396A (ja) * 2004-05-20 2005-12-02 Dell Products Lp 情報処理システムpciエキスプレスアドバンスドスイッチングのためのシステムおよび方法
JP2008506195A (ja) * 2004-07-07 2008-02-28 ヨッタヨッタ インコーポレイテッド 分散キャッシュ・コヒーレンスを提供するシステムおよび方法
JP2007219873A (ja) * 2006-02-17 2007-08-30 Nec Corp スイッチ及びネットワークブリッジ装置

Also Published As

Publication number Publication date
US20120290764A1 (en) 2012-11-15
JP2008078887A (ja) 2008-04-03
US8417865B2 (en) 2013-04-09
US8200880B2 (en) 2012-06-12
US20080071961A1 (en) 2008-03-20

Similar Documents

Publication Publication Date Title
JP4501916B2 (ja) I/o機器の共有システムと情報処理装置共有システム及びそれらに用いる方法
US7649851B2 (en) Virtual network management method, virtual network management program, virtual network management system, and virtual network means
US7792148B2 (en) Virtual fibre channel over Ethernet switch
US20060206611A1 (en) Method and system for managing programs with network address
KR101810587B1 (ko) 네트워크 상의 마스터/슬레이브 디바이스들의 자동 구성을 위한 시스템 및 방법
JP5648167B2 (ja) 分散仮想ブリッジ環境におけるレジスタ・アクセス
TWI383616B (zh) 指派複數個媒體存取控制給複數個處理器的方法及系統
US20130262377A1 (en) Secure stacking setup
JPH08249263A (ja) ファイバ・チャネル・システム内でファブリックを構成するための方法及び装置
CN107317768B (zh) 流量调度方法及装置
CN103001868A (zh) 用于虚拟路由器冗余协议备份组同步arp表项的方法和装置
JP4585944B2 (ja) パケット通信装置
US7660234B2 (en) Fault-tolerant medium access control (MAC) address assignment in network elements
JP5775473B2 (ja) エッジ装置冗長化システム、切替制御装置およびエッジ装置冗長化方法
KR20170003372A (ko) 제어장치 및 제어시스템
JP2001160939A (ja) 画像処理装置及び画像処理システム、及びその制御方法
KR101347341B1 (ko) 분산 시스템에서 보드 이중화 장치 및 방법
JP6035726B2 (ja) 接続制御装置、ストレージシステム及び接続制御装置の制御方法
CN112363759B (zh) 一种寄存器配置方法、装置、cpu芯片及电子设备
JP2009075710A (ja) 冗長化システム
TWI640176B (zh) 通信系統、通信機器及通信目的地的切換方法
CN108965494A (zh) 数据系统中数据传输方法和装置
JP7270859B2 (ja) ネットワークシステム、通信方法、および、通信プログラム
JP3808793B2 (ja) ネットワークにおけるアドレス決定方法およびノード
CN116367202A (zh) 一种集群仲裁方法、网络设备及系统

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080612

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080703

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080901

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090225

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090427

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100303

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100412

R150 Certificate of patent or registration of utility model

Ref document number: 4501916

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130430

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140430

Year of fee payment: 4