JP6965943B2 - 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム - Google Patents

構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム Download PDF

Info

Publication number
JP6965943B2
JP6965943B2 JP2019561047A JP2019561047A JP6965943B2 JP 6965943 B2 JP6965943 B2 JP 6965943B2 JP 2019561047 A JP2019561047 A JP 2019561047A JP 2019561047 A JP2019561047 A JP 2019561047A JP 6965943 B2 JP6965943 B2 JP 6965943B2
Authority
JP
Japan
Prior art keywords
bridge
input
configuration
configuration information
output device
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
JP2019561047A
Other languages
English (en)
Other versions
JPWO2019124259A1 (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
Publication of JPWO2019124259A1 publication Critical patent/JPWO2019124259A1/ja
Application granted granted Critical
Publication of JP6965943B2 publication Critical patent/JP6965943B2/ja
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/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4081Live connection to bus, e.g. hot-plugging
    • 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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • 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/10Program control for peripheral devices
    • G06F13/105Program control for peripheral devices where the programme performs an input/output emulation function
    • 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/14Handling requests for interconnection or transfer
    • 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/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • 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
    • 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
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0058Bus-related hardware virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラムであって、特に、ブリッジでない接続手段に接続されている入出力デバイスと、ブリッジに接続されている入出力デバイスの構成制御を同様に実行できるものに関する。
例えば、コンピュータシステムでは、非特許文献1に開示されているように、PCI Express(登録商標)などのコンピュータバスが、CPU(Central Processing Unit)と入出力デバイスの接続に、広く用いられている。ここで、入出力デバイスは、例えば、SSD(Solid State Drive)やGPU(Graphics Processing Unit)やNIC(Network Interface Card)のコンピュータの外部デバイスである。前記コンピュータバスは、当該コンピュータバスを階層的に管理するスイッチのような役割を持つデバイス(ブリッジと呼ばれる。)と入出力デバイスとが、CPUを根とするツリー構造で接続されて構成されている。
また、非特許文献2には、PCI Express over Ethernet(登録商標)などの技術が開示されている。なお、PCI Express over Ethernetは、コンピュータバスの規格であるPCI Express(登録商標)をネットワークパケットでカプセル化する技術である。この技術では、ブリッジの機能と、PCI ExpressパケットをEthernetにカプセル化する機能とをコンピュータとネットワーク上の入出力デバイスに付与することによって、ネットワークでブリッジ機能を擬似する。
これらのコンピュータバスを有するコンピュータシステムでは、そのコンピュータ上で動作するソフトウェアがコンピュータバス上の入出力デバイスに入出力を実行する必要がある。また、他の操作をしたりするために、ソフトウェアがコンピュータバスの構成を認識する必要がある。
"PCI Express Base Specification Revision 2.1", PCI-SIG, 2009. J. Suzuki et al., "ExpressEther - Ethernet-based virtualization technology for reconfigurable hardware platform," in Proc. IEEE Symposium on High Performance Interconnects (HOTI’06), Stanford, CA, Aug. 2006, pp.45-51
構成制御ソフトウェアとして、コンピュータバスの構成を認識して構成情報として保持するものがある。しかし、このような構成制御ソフトウェアは、例えば、非特許文献1に開示する技術を用いてブリッジに接続した入出力デバイスと、非特許文献2に開示する技術を用いてネットワーク等に接続した入出力デバイスとの構成を統一的に扱うことができない。
本発明は、ブリッジでない接続手段に接続されている入出力デバイスと、ブリッジに接続されている入出力デバイスとを、同じインタフェースで制御できる構成管理装置等を提供することを目的とする。
本発明の一つの実施の形態の構成管理装置は、仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段と、前記ブリッジに接続された前記入出力デバイスの前記構成情報を、前記入出力デバイスから読み込んで前記構成記憶手段に格納するバス認識手段と、前記ブリッジではない接続手段に接続された前記入出力デバイスと前記仮想ブリッジとの仮想接続を定義する仮想資源定義記憶手段と、前記バス認識手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記バス認識手段に送信するデバイスアクセス転送手段と、を備える。
本発明の一つの実施の形態の構成管理方法は、仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段を設け、前記ブリッジに接続された前記入出力デバイスの前記構成情報を前記入出力デバイスから読み込んで、前記構成記憶手段に格納するバス認識手段を設け、ブリッジではない接続手段に接続された入出力デバイスと仮想ブリッジとの仮想接続を定義し、前記バス認識手段が、前記仮想ブリッジに接続された前記入出力デバイスに送信した、前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記バス認識手段に送信する。
本発明の一つの実施の形態の記憶媒体は、仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段と、前記ブリッジに接続された前記入出力デバイスの前記構成情報を、前記入出力デバイスから読み込んで前記構成記憶手段に格納するバス認識手段と、を備えたコンピュータに、前記ブリッジではない接続手段に接続された前記入出力デバイスと前記仮想ブリッジとの仮想接続を定義する仮想資源定義記憶処理と、前記バス認識手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記バス認識手段に送信するデバイスアクセス転送処理と、を実行させる構成管理プログラムを記憶する。
本発明にかかる構成管理装置等によれば、ブリッジでない接続手段に接続されている入出力デバイスと、ブリッジに接続されている入出力デバイスとを、同じインタフェースで制御できる。
図1は、第一の実施の形態にかかる構成管理システム4の構成例を示す図である。 図2は、ブリッジ14の構成を示す図である。 図3は、構成記憶部15に格納される構成情報の構成例を示す図である。 図4は、バス認識部10が、ブリッジ14に接続されているデバイスの構成を反映する処理のフローチャートである。 図5は、当該処理におけるバス認識部10とブリッジや入出力デバイスとの間の信号のやり取りを示す図(その1)である。 図6は、当該処理におけるバス認識部10とブリッジや入出力デバイスとの間の信号のやり取りを示す図である(その2)。 図7は、図1が示す構成管理装置1の構成から入出力デバイスB5が無くなっている(接続されていない)構成を示す図である。 図8は、構成記憶部15に格納される、図7の構成を反映した構成情報を示す図である。 図9は、構成管理装置1の稼働中に入出力デバイスB5が、空きスロット16に挿入されたときのホットプラグ操作部11と、ブリッジB14−2、及び、入出力デバイスB5との間の信号のやり取りを示す図である。 図10は、バスエミュレート部19の構成を示す図である。 図11は、仮想資源定義記憶部194が格納するブリッジ情報テーブル1940の構成を示す図である。 図12は、仮想資源定義記憶部194が格納するデバイス情報テーブル1941の構成を示す図である。 図13は、バスエミュレート部19の動作フローチャートである。 図14は、当該処理におけるバス認識部10とバスエミュレート部19との間の信号のやり取りを示す図(その1)である。 図15は、当該処理におけるバス認識部10とバスエミュレート部19との間の信号のやり取りを示す図(その2)である。 図16は、バス認識部10により、仮想ブリッジが登録された後の構成記憶部15に格納されている情報を示す。 図17は、バス認識部10により、入出力デバイスA30が登録された後の構成記憶部15に格納されている情報を示す。 図18は、ホットプラグ操作部11と、バスエミュレート部19の間の信号のやり取りを示す図である。 図19は、第二の実施の形態にかかる構成管理装置1の構成を示す図である。
<第一の実施の形態>
<全体構成>
図1は、本実施の形態にかかる構成管理システム4の構成例を示す図である。構成管理システム4は、構成管理装置1と入出力ボックス3を含んでいる。構成管理装置1と入出力ボックス3は、ネットワーク2で相互に接続されている。なお、構成管理装置1には、複数の入出力ボックス3が接続されていても良い。ネットワーク2は、例えば、イーサネット(登録商標)であるが、他の通信網であっても良い。
構成管理装置1は、コンピュータでもあり、CPU13、ブリッジA14−1、ブリッジB14−2を備えている。ブリッジA14−1は、ブリッジB14−2および、NIC6に接続されている。また、さらに、ブリッジA14−1は、NIC6を経由してネットワーク2に接続されている。ブリッジB14−2は、入出力デバイスB5に接続されている。なお、以下の説明では、ブリッジA14−1およびブリッジB14−2を区別しない場合には、総称として、ブリッジ14と示す。本図では両者を区別するために、Aと、Bとかの識別子を付加している。
構成管理装置1は、さらに、バス認識部10、構成記憶部15、ホットプラグ操作部11、バスエミュレート部19、デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18を備えている。バス認識部10は、コンピュータバスを認識する。また、バス認識部10は、コンピュータバスに接続されているブリッジ14や、入出力デバイスB5や、NIC6の構成情報を作成し、構成記憶部15に記憶する。ホットプラグ操作部11は、構成管理装置1の稼働中に、入出力デバイスB5の挿抜操作を実行する。バスエミュレート部19は、バス認識部10や、ホットプラグ操作部11に対して、入出力ボックス3内の入出力デバイスA30があたかも、構成管理装置1が備えるブリッジ14に接続されているかのように疑似化する。
デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18は、各々、構成管理装置1が実行するアプリケーションプログラム(図示されず)から起動される。また、デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18は、入出力デバイスB5、入出力デバイスA30、NIC6に対する入出力を実行する。デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18は、入出力の実行の際に、構成記憶部15に格納された構成情報を参照する。
なお、バス認識部10、ホットプラグ操作部11、デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18は、CPU13に読み込まれて実行されるプログラムであり、例えば、構成管理装置1が備えるメモリ(図示されず)に記憶されている。構成記憶部15は、例えば、半導体メモリ装置や、HDD(Hard Disk Drive)である。バス認識部10、ホットプラグ操作部11、デバイスBドライバ12、デバイスAドライバ17、および、NICドライバ18は、ファームウェアで制御される専用処理装置や論理回路であっても良い。バスエミュレート部19については、後述する。
入出力ボックス3は、入出力デバイスA30とリモートNIC31(リモートブリッジともいう)を備える。入出力デバイスA30は、リモートNIC31を介してネットワーク2に接続されている。入出力デバイスA30と入出力デバイスB5は、同じ種類のデバイスである。
図2は、ブリッジ14の構成を示す図である。ブリッジ14は、上流ブリッジ140、及び、下流ブリッジ141を備える。一つの上流ブリッジ140には1以上の下流ブリッジ141が接続される。図2は、一つの上流ブリッジ140にN個(Nは1以上)の下流ブリッジ141が接続されている場合を示している。なお、図中、N個の下流ブリッジ141に対して、各下流ブリッジ141の識別番号1からNが付されている。それらは、例えば、下流ブリッジA141−1、下流ブリッジB141−2、及び、下流ブリッジN141−Nである。
下流ブリッジ141は、スロット(不図示)を備えている、また、下流ブリッジ141のスロットには、入出力デバイスが挿入される。下流ブリッジ141は、スロットに挿入された入出力デバイスとの間で、所定バス規格に準拠した入出力パケットの生成や送受信を行う。上流ブリッジ140は、CPU13に接続されている。また、上流ブリッジ140は、配下に接続されている下流ブリッジ141の制御や、CPU13と下流ブリッジ141との中継を行う。ここで、所定バス規格は、例えば、PCI Express(非特許文献1を参照)である。
図3は、構成記憶部15に格納される構成情報の構成例を示す図である。構成記憶部15は、例えば、デバイス毎に当該デバイスが割り当てられたバス番号(B)・デバイス番号(D)・ファンクション番号(F)、デバイス情報および、空きスロットの有無情報を格納している。ここで、デバイスは、上流ブリッジ140、下流ブリッジ141、または、入出力デバイスである。バス番号(B)は、デバイスのCPU13からの階層を示す。デバイス番号(D)は、同一階層内でユニークに割り振られた番号である。ファンクション番号(F)は、デバイス内部に複数機能がある場合に、ユニークに割り振られた番号である。ここで、デバイス情報は、デバイスから読み込んだ制御情報であり、デバイスドライバ等で用いられる情報である。デバイス情報は、例えば、アドレス、装置の種別である。
図3の例では、図1の構成を反映した構成情報を示す。図3には、ブリッジA14−1(の下流ブリッジA)はNIC6に接続し、同じ階層01でブリッジA14−1(の下流ブリッジB)はブリッジB14−2に接続していることが、示されている。図3では、さらに、ブリッジB14−2(の下流ブリッジA)が、一段下の階層02で入出力デバイスB5に接続していることを示している。このように、構成記憶部15に格納される構成情報には、構成管理装置1のデバイスのツリー構成が反映される。また、構成記憶部15に格納される構成情報は、デバイスドライバ等により参照される。なお、図3においては、ブリッジ14が接続しているデバイスだけが構成情報に反映され、ブリッジ14が直接接続していない入出力ボックス3の入出力デバイスA30は構成情報に反映されていない。
<ブリッジ14に接続されている入出力デバイスの構成制御>
図4は、バス認識部10が、ブリッジ14に接続されているデバイスの構成を反映する処理のフローチャートである。図5及び図6は、当該処理におけるバス認識部10とブリッジや入出力デバイスとの間の信号のやり取りを示す図である。この処理は、例えば、図1に示す構成管理装置1の構成から、図3の構成情報を作成する処理である。
バス認識部10は、構成管理装置1の初期設定時に自動的に動作する。バス認識部10は、構成管理システム4の管理者等がコマンドを投入して起動することで動作しても良い。動作を開始すると、バス認識部10は、自身が動作するCPU13に接続されるバスにブリッジ14が存在するかどうかをチェックするため、ブリッジ14の存在チェックメッセージを送信する(図4のA1、図5の(a))。このメッセージに宛先は設定されていない。構成制御の処理が行われていないブリッジ14で最初にこのメッセージを受信したブリッジ14が、未処理のブリッジ14が存在することを示す存在応答メッセージ(図5の(b))を生成して、バス認識部10へ送信する。構成制御が行われていないブリッジ14が存在しない場合、CPU13は、バス認識部10に対して、ブリッジ14が存在しないことを示す不在応答を返す(図5の(c))。CPU13は、例えば、存在チェックメッセージに対して、所定時間内に存在応答が無いと、不在応答をタイムアウト割り込みとしてバス認識部10へ不在応答を通知する。
バス認識部10は、受信したメッセージを参照し、ブリッジ14が存在するかどうかを確認する(A2)。ブリッジ14が存在するとバス認識部10により判断された場合(A2でY)、バス認識部10はブリッジ14の構成制御を実施する(A3)。このとき、バス認識部10は、存在応答を送信してきたブリッジ14に対して、構成情報の読み込み要求(図6の(a))を送信する。また、バス認識部10は、当該ブリッジ14からその上流ブリッジ140と下流ブリッジ141の構成情報を受信する(図6の(b))。さらに、バス認識部10は、上流ブリッジ140及び各下流ブリッジ141に対して、バス番号・デバイス番号・ファンクション番号を付与する。この番号の決定方法は、バス認識部10の実装に依存する。バス認識部10は、ブリッジ14から受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号とを、構成記憶部15に登録する。
次に、バス認識部10は、A3で構成制御を行った下流ブリッジ141に対して、入出力デバイスもしくは空きスロット16が存在するかどうかを問い合わせる(A4)。ここで、バス認識部10は、当該下流ブリッジ141に入出力デバイス存在チェックメッセージを送信し(図6の(c))、存在応答(図6の(d))または不在応答を受信する。バス認識部10は、存在応答を受信した場合(A4でY)、入出力デバイスの構成制御(A5)または、空きスロット16の登録(A6)を行う。入出力デバイスの構成制御(A5)において、バス認識部10は、存在応答を送信してきた入出力デバイスに対して構成情報の読み込み要求(図6の(e))を送信して、当該入出力デバイスからその構成情報を受信する(図6の(f))。さらに、バス認識部10は、当該入出力デバイスに対して、バス番号・デバイス番号・ファンクション番号を付与する。バス認識部10は、入出力デバイスから受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号を、構成記憶部15に登録する。
空きスロット16の登録(A6)において、バス認識部10は、構成記憶部15に格納されている当該下流ブリッジ141の情報に、空きスロット16が有る旨(例えば、図8の最下行の“1”)を登録する。
バス認識部10は、このA4〜A6の処理を、ブリッジ14の配下に入出力デバイスが存在する限り、繰り返す。デバイスが存在しなくなった場合(A4でN)、バス認識部10は、A1の処理に戻り、ブリッジ14の存在チェックメッセージ(図5の(a))を送信する処理をさらに繰り返す。ブリッジ14の不在応答(図5の(c))がバス認識部10へ返信されると(A2でN)、バス認識部10の認識が終了する(A7)。
<ホットプラグ操作>
ホットプラグ操作は、構成管理装置1の稼働中に挿入された入出力デバイスの構成制御を指す。
図7は、図1が示す構成管理装置1の構成から入出力デバイスB5が無くなっている(接続されていない)構成を示す図である。この場合、ブリッジB14−2には、空きスロット16が存在することになる。なお、本図では、空きスロット16はその存在を明記する為、記載したものであり、ブリッジB14−2に空きスロット16が接続されているわけではない。この場合、上述したように、構成記憶部15には、図8の最下行が示すように、ブリッジB14−2の下流ブリッジA141-1対応に、空きスロット16が登録されている。
図9は、構成管理装置1の稼働中に入出力デバイスB5が、空きスロット16に挿入されたときのホットプラグ操作部11と、ブリッジB14−2、及び、入出力デバイスB5との間の信号のやり取りを示す図である。
入出力デバイスB5が、空きスロット16に挿入されると、下流ブリッジA141-1から通知を受けたブリッジB14−2の上流ブリッジ140が、CPU13にホットプラグ割り込みを発生させ、ホットプラグ操作部11を起動する(図9の(a))。起動されたホットプラグ操作部11は、バス認識部10の図4のフローチャートにおけるA4、及び、A5と類似した処理を行う。
すなわち、ホットプラグ操作部11は、割り込みでデバイス挿入が報告された下流ブリッジ141に対して、入出力デバイスが存在するかどうかを問い合わせる。ここで、ホットプラグ操作部11は、当該下流ブリッジ141に、入出力デバイス存在チェックメッセージを送信する(図9の(c))。また、ホットプラグ操作部11は、入出力デバイスB5の存在応答(図9の(d))を受信する。存在応答を受信したホットプラグ操作部11は、入出力デバイスB5の構成制御を行う。ここで、ホットプラグ操作部11は、出力デバイスB5に対して、構成情報の読み込み要求(図9の(e))を送信する。また、ホットプラグ操作部11は、当該入出力デバイスからその構成情報を受信する(図9の(f))。さらに、ホットプラグ操作部11は、入出力デバイスB5に対して、バス番号・デバイス番号・ファンクション番号を付与する。ホットプラグ操作部11は、入出力デバイスB5から受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号とを、構成記憶部15に登録する。最後に、ホットプラグ操作部11は、構成記憶部15に登録されていた空きスロット16の登録を削除する。この結果、構成記憶部15には、先に示した図3が示す構成情報が格納される。
<バスエミュレート部19の構成>
上述したバス認識部10、または、ホットプラグ操作部11の動作により、図1の構成管理装置1の構成から、図3の構成情報が構成記憶部15に格納される。但し、これらの処理では、NIC6の先にネットワーク2を介して接続されている入出力デバイスA30が構成記憶部15に反映されない。
そこで、本実施の形態の構成管理装置1では、ブリッジ14から通知された存在応答(図5の(b))、及び、CPU13から通知された不在応答(図5の(c))をバスエミュレート部19が横取りして、仮想的にブリッジ14が存在するように振舞う。さらに、バスエミュレート部19は、ホットプラグ割り込み(図9の(a))発生を疑似して、仮想的にブリッジ14が存在するように振舞う。
図10は、バスエミュレート部19の構成を示す図である。バスエミュレート部19は、アクセス仲介部190、ブリッジアクセス処理部191、割り込み生成部192、デバイスアクセス転送部193、及び、仮想資源定義記憶部194を含む。
アクセス仲介部190は、ブリッジ14の存在応答、あるいは、不在応答の通信時に発生する割り込みを検出して、チェック応答を受信し、バス認識部10等に通知する。なお、以下の説明では、ブリッジ14の存在応答および不在応答の両方を、包括的に、チェック応答と呼ぶ場合がある。アクセス仲介部190は、また、バス認識部10やホットプラグ操作部11によるブリッジ14や入出力デバイスへのデータ送信時に発生する割り込みを、検出して、ブリッジアクセス処理部191や、デバイスアクセス転送部193に転送する。アクセス仲介部190は、構成管理装置1のOS等の割り込み処理ルーチンから起動される。
ブリッジアクセス処理部191は、バス認識部10やホットプラグ操作部11が発行したブリッジ14に対するデータ送信をアクセス仲介部190から受信して、ブリッジ14の動作を疑似化する。デバイスアクセス転送部193は、バス認識部10やホットプラグ操作部11により発行されたデータ送信であって、入出力デバイスに対するデータ送信を、アクセス仲介部190から受信して、入出力デバイスの動作を疑似化する。このとき、デバイスアクセス転送部193は、NIC6、及び、ネットワーク2を経由して、入出力ボックス3内の入出力デバイスA30にアクセスする。
割り込み生成部192は、入出力デバイスが下流ブリッジ141の空きスロット16に挿入されたときに、下流ブリッジ141が発生するホットプラグ割り込みを疑似化する。割り込み生成部192は、ホットプラグ割り込み時に設定される情報(例えば、割り込みを発生した下流ブリッジ141の特定情報)を、構成管理装置1の割り込み情報格納域に格納して、ホットプラグ操作部11を起動する。仮想資源定義記憶部194は、バスエミュレート部19により疑似化されたブリッジ14の構成情報や、NIC6を介してネットワーク2に接続される入出力デバイスA30を管理する情報を格納する。
なお、アクセス仲介部190、ブリッジアクセス処理部191、割り込み生成部192、及び、デバイスアクセス転送部193は、CPU13に読み込まれて実行されるプログラムであり、例えば、構成管理装置1が備えるメモリ(図示されず)に記憶されている。仮想資源定義記憶部194は、半導体メモリ装置や、HDDである。アクセス仲介部190、ブリッジアクセス処理部191、割り込み生成部192、及び、デバイスアクセス転送部193は、ファームウェアで制御される専用処理装置や論理回路であっても良い。
図11は、仮想資源定義記憶部194が格納するブリッジ情報テーブル1940の構成を示す図である。ブリッジ情報テーブルは、バスエミュレート部19がその動作を疑似化する仮想的なブリッジ14(以降、仮想ブリッジ)のブリッジ情報、及び、コンフィグ済みフラグを保持する。ブリッジ情報は、仮想ブリッジの構成情報である。図11は、定義されている仮想ブリッジが、上流ブリッジ140配下に一台の下流ブリッジ141(下流ブリッジA)を有することを示している。ブリッジ情報テーブルは、複数台の仮想ブリッジを定義していても良いし、仮想ブリッジが複数台の下流ブリッジ141を備えていても良い。コンフィグ済みフラグは、仮想ブリッジの各上流ブリッジ140、及び、下流ブリッジ141がバス認識部10によって構成制御がなされた(”1”)か否(”0”)かを示す。
図11において、ブリッジ情報欄には、ユーザが予め必要な仮想ブリッジの台数分が入力される。コンフィグ済みフラグの欄は、バスエミュレート部19によってフラグ値がセットされる。初期値は、コンフィグ済みではないことを示す“0”である。
図12は、仮想資源定義記憶部194が格納するデバイス情報テーブル1941の構成を示す図である。デバイス情報テーブル1941は、バスエミュレート部19の疑似対象となる入出力デバイスごとに、当該入出力デバイスがどの仮想ブリッジのどの下流ブリッジ141に仮想的に接続されるかを定義する。すなわち、デバイス情報テーブル1941は、ブリッジ14でない接続手段に接続されている入出力デバイス(例えば入出力デバイスA30)と仮想ブリッジとの間の仮想接続を定義する。
デバイス情報テーブル1941は、仮想接続が定義される仮想ブリッジの下流ブリッジ141毎に、デバイス名称、デバイスBDF(Bus Device Function)番号、NW(Network)アドレスを格納する。デバイス名称は、入出力デバイスA30の名称である。デバイスBDF番号は、入出力デバイスAのバス・デバイス・ファンクション番号である。NWアドレスは、入出力デバイスA30が接続されている接続手段のアドレス(例えば、ネットワーク2上のアドレス)である。ここでは、このアドレスは、入出力デバイスA30が格納されている入出力ボックス3内のリモートNIC31のアドレスである。
デバイス情報テーブル1941に登録される各種情報は、予めユーザによって登録されている。但し、デバイスBDF番号には、バス認識部10によって番号付けされたバス番号・デバイス番号・ファンクション番号が、バスエミュレート部19によって、格納される。図12の例では、デバイスBDF番号の欄に示されるように、「04」がバス番号に対応し、「00」がデバイス番号に対応し、「1」がファンクション番号に対応する。なお、各番号を区別するために、「04」および「00」の間には「:」が挿入され、「00」および「1」の間には「.」が挿入されている。
<バスエミュレート部19の動作>
図13は、バスエミュレート部19の動作フローチャートである。バスエミュレート部19は、バス認識部10、及びホットプラグ操作部11に対してバスの動作を疑似化する。図14及び図15は、当該処理におけるバス認識部10とバスエミュレート部19との間の信号のやり取りを示す図である。この処理は、例えば、図1に示す構成管理装置1の入出力デバイスA30が仮想ブリッジに接続されているかのような構成情報を作成する処理である。
この過程で、バス認識部10、および、ホットプラグ操作部11は、図4等を用いて既に説明したように動作する。すなわち、バス認識部10、および、ホットプラグ操作部11の動作は、入出力デバイスがネットワーク2に接続されているときと、ブリッジ14に接続されているときと変わらない。さらに、バス認識部10、および、ホットプラグ操作部11は、バスエミュレート部19が存在しないシステムで使用されていたものを、そのまま流用しても良い。
まず、バス認識部10が動作を開始して、ブリッジ14の存在チェックメッセージ(図14の(a))を送信する(図4のA1)。これに対し、CPU13から不在応答(図14の(c))がバス認識部10に返信されると、バス認識部10の認識が終了してしまう(A2でN、A7)。そこでバスエミュレート部19のアクセス仲介部190は、存在応答、及び、不在応答(図14の(b)と(c))を横取りする(図13のB1)。すなわち、アクセス仲介部190は、チェック応答を横取りして保持し、チェック応答がバス認識部10に直接到達しないようにする。
(ケース1)
アクセス仲介部190は、横取りしたチェック応答を参照する。そして、アクセス仲介部190は、横取りしたチェック応答が存在応答であれば(図13のB2でN)、この存在応答を変更せずにバス認識部10に送信する(図13のB9、図14の(b’))。チェック応答通信時の割り込みを利用することによってチェック応答がアクセス仲介部190により横取りされた場合、アクセス仲介部190は、この割り込みを疑似化することで、存在応答を送信する。すなわち、アクセス仲介部190は、割り込み発生で設定された情報をそのままにして、バス認識部10の割り込み発生処理部(不図示)を起動する。
(ケース2)
チェック応答が不在応答であり、かつ、ブリッジ情報テーブル1940内に構成制御済みではない(コンフィグ済みフラグが”0”の)仮想ブリッジが存在する場合(図13のB2でY)、アクセス仲介部190は、不在応答をブリッジアクセス処理部191へ送信する(図13のB3)。ブリッジアクセス処理部191は、受信した不在応答を存在応答に変換し、不在応答から変換された存在応答をバス認識部10へ送信する(B4)。具体的に、ブリッジアクセス処理部191は、割り込み発生元のブリッジ14が当該仮想ブリッジである旨の割り込み情報を設定して、バス認識部10の割り込み発生処理部を起動する。
また、アクセス仲介部190は、仮想ブリッジの形式的な接続先として、起動時のパラメータで設定されたブリッジ14に、仮想的な下流ブリッジ141を生成する。そして、アクセス仲介部190は、仮想的な下流ブリッジ141を構成記憶部15に登録する(図16)。
(ケース3)
チェック応答が不在応答であり、かつ、ブリッジ情報テーブル1940内に構成制御済みではない仮想ブリッジが存在しない場合(図13のB2でN)、アクセス仲介部190は、この不在応答を変更せずにバス認識部10に送信する(図13のB9、図14の(c’))。
即ち、バスエミュレート部19は、ケース2において不在応答を仮想ブリッジからの存在応答に変更する一方、他のケースでは受信したチェック応答をそのまま、バス認識部10に転送することになる。
ケース2で、仮想ブリッジからの存在応答を受信したバス認識部10は、図4のA3において存在応答を送信してきたブリッジ14(この場合は仮想ブリッジ)の構成制御を実施する。このとき、バス認識部10は、存在応答を送信してきたブリッジ14(この場合は、仮想ブリッジ)に対して構成情報の読み込み要求(図15(a))を送信する。そして、バス認識部10は、当該ブリッジ14からその上流ブリッジ140と下流ブリッジ141の構成情報を受信する(図15(b))。
しかしながら、構成情報の読み込み要求送信時の割り込みを契機として、アクセス仲介部190がブリッジ14(この場合は、仮想ブリッジ)の構成情報の読み込み要求を横取りして、ブリッジアクセス処理部191に転送する(図13のB5)。ブリッジアクセス処理部191は、仮想資源定義記憶部194のブリッジ情報テーブル1940を参照して、ブリッジ14の構成情報をバス認識部10へ送信する(図13のB6、図15(b))。ここで、送信される構成情報は、例えば、図11のブリッジ情報が示すような情報であり、仮想ブリッジ内には1台の上流ブリッジ140と1台の下流ブリッジ141(下流ブリッジA)が存在することを示す情報である。このとき、ブリッジアクセス処理部191は、ブリッジ情報テーブル1940内において、仮想ブリッジの上流ブリッジ140と下流ブリッジ141のコンフィグ済みフラグを”1”に変更する。
ブリッジ14の構成情報を受信したバス認識部10は、仮想ブリッジの上流ブリッジ140及び各下流ブリッジ141に対して、バス番号・デバイス番号・ファンクション番号を付与する。さらに、バス認識部10は、ブリッジ14から受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号とを、構成記憶部15に登録して、ブリッジの構成制御を終える(図4のA3)。
図16は、バス認識部10により、仮想ブリッジが登録された後の構成記憶部15に格納されている情報を示す。図16は、図1のブリッジB14−2配下に、上流ブリッジ140と下流ブリッジAを備える仮想ブリッジが登録されていることを示している。
次に、バス認識部10は、A3で構成制御を行った下流ブリッジ141(この場合は、仮想ブリッジの下流ブリッジA)に対して、入出力デバイスもしくは空きスロット16が存在するかどうかを問い合わせる(図4のA4)。ここで、バス認識部10は、当該下流ブリッジ141に、入出力デバイス存在チェックメッセージを送信する(図15(c))。
アクセス仲介部190は、このメッセージを横取りし、ブリッジアクセス処理部191へ送信する。ブリッジアクセス処理部191は、デバイス情報テーブル1941を参照し、仮想ブリッジの下流ブリッジAに仮想接続されている入出力デバイスが存在することを検知し、入出力デバイスの存在応答(図15(d))をバス認識部10に送信する。
存在応答を受信した場合(図4のA4でY)、バス認識部10は、入出力デバイスの構成制御を行う(図4のA5)。入出力デバイスの構成制御(図4のA5)において、バス認識部10は、存在応答を送信してきた入出力デバイスに対して、構成情報の読み込み要求(図15(e))を送信する。
アクセス仲介部190は、この構成情報の読み込み要求を横取りし、デバイスアクセス転送部193へ送信する(図13のB7)。デバイスアクセス転送部193は、受信した構成情報の読み込み要求を、ネットワーク2経由で入出力デバイスA30に転送したり、その応答を受信したりする(図15(g))。また、デバイスアクセス転送部193は、入出力デバイスA30から構成情報を得て、バス認識部10に返信する(図13のB8、図15(f))。
この転送動作は、以下のように実行される。先ず、デバイスアクセス転送部193は、構成情報の読み込み要求を参照し、送信先の仮想ブリッジのBDF番号情報や入出力デバイス名称を識別し、デバイス情報テーブル1941からNWアドレスを得る。デバイスアクセス転送部193は、構成情報の読み込み要求を受信したブリッジ14が生成するのと同じ所定入出力バス規格(例えばPCI Express規格)に準拠した入出力パケットを作成する。そして、デバイスアクセス転送部193は、ネットワーク2用のフレーム(例えばイーサネットフレーム)にペイロードとして搭載する。デバイスアクセス転送部193は、このネットワーク2用のフレームを、ネットワーク2を経由して、デバイス情報テーブル1941から得たNWアドレスに送信する。
入出力ボックス3のリモートNIC31は、このフレームを受信して、このフレームから入出力バス規格に準拠した入出力パケットを取り出して、入出力デバイスA30に入力する。リモートNIC31は、入出力デバイスA30から、構成情報等を含んだ所定入出力バス規格に準拠した入出力パケットを、受信すると、これをNIC6宛てのネットワーク2用のフレームに搭載して送信する。
デバイスアクセス転送部193は、リモートNIC31が送信したネットワーク2用のフレームから、入出力デバイスA30が出力した構成情報等を含んだ所定入出力バス規格に準拠した入出力パケットを取り出して、これをバス認識部10に送信する。
バス認識部10は、デバイスアクセス転送部193から入出力デバイスA30の構成情報を受信すると(図15(f))、当該入出力デバイスに対してバス番号・デバイス番号・ファンクション番号を付与する。バス認識部10は、入出力デバイスから受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号を構成記憶部15に登録する(図4のA5)。
図17は、バス認識部10により、入出力デバイスA30が登録された後の構成記憶部15に格納されている情報を示す。図17は、仮想ブリッジの下流ブリッジA配下に入出力デバイスA30が登録されていることを示している。
なお、構成管理システム4内に、複数の入出力ボックス3がある場合(すなわち、入出力デバイスA30が複数存在する場合)、バスエミュレート部19は以下のようになる。先ず、構成管理システム4の管理者等は、仮想資源定義記憶部194のブリッジ情報テーブル1940に入出力ボックス3の台数分の仮想ブリッジを定義し、さらに、デバイス情報テーブル1941に同台数分の入出力デバイスA30を定義する。そして、バスエミュレート部19は、図13のフローのB1乃至B8を、各入出力デバイスA30について繰り返し実行する。
<バスエミュレート部19によるホットプラグ操作>
稼働中に、ネットワーク2に接続されている入出力デバイス(例えば入出力デバイスA30)が仮想的に、仮想ブリッジの空きスロット16に挿入されると、構成管理装置1は、当該入出力デバイスA30の構成制御を実行して使用可能状態にする。この為には、構成記憶部15の構成情報内に、仮想ブリッジの下流ブリッジ141に空きスロット16が定義されていなければならない。さらに、デバイス情報テーブル1941に、当該下流ブリッジ141とネットワーク2に接続されている入出力デバイスとの仮想接続が、定義されていなければならない。図16は、この条件を満たす構成記憶部15の例を示す。また、図12は、この条件を満たすデバイス情報テーブル1941の例を示す。
図18は、ホットプラグ操作部11と、バスエミュレート部19の間の信号のやり取りを示す図である。本処理は、『入出力デバイスA30を、仮想ブリッジの空きスロット16に挿入』する代わりに、例えば、管理者がコマンドを入力してバスエミュレート部19の割り込み生成部192を起動することにより開始される。コマンドは、仮想ブリッジの空きスロット16の指定を、パラメータ値とする。割り込み生成部192は、起動されると、仮想ブリッジの空きスロット16に入出力デバイスが挿入された時に発生するホットプラグ割り込みを疑似的に発生させる(図18(a))。具体的に、割り込み生成部192は、ブリッジ14がホットプラグ割り込みを発生するときと同じ割り込み情報を同じ領域に設定したうえで、ホットプラグ操作部11を起動する。割り込み情報は、割り込み発生元の下流ブリッジ141(この場合は、仮想ブリッジの下流ブリッジA)の情報を含む。
起動されたホットプラグ操作部11は、割り込み情報で指定された下流ブリッジ141に対して、入出力デバイスが存在するかどうかを問い合わせる。ここで、ホットプラグ操作部11は、当該下流ブリッジ141に入出力デバイス存在チェックメッセージを送信する(図18(c))。また、ホットプラグ操作部11は、入出力デバイスA30の存在応答(図18(d))を受信する。
ここで、アクセス仲介部190は、この入出力デバイス存在メッセージを横取りし、ブリッジアクセス処理部191へ送信する。ブリッジアクセス処理部191は、図12のデバイス情報テーブル1941を参照し、仮想ブリッジの下流ブリッジAに仮想接続される入出力デバイスが存在することを検知し、入出力デバイスの存在応答(図18(d))をホットプラグ操作部11に送信する。
存在応答を受信したホットプラグ操作部11は、入出力デバイスA30の構成制御を行う。この中で、ホットプラグ操作部11は、出力デバイスA30に対して構成情報の読み出し要求(読み込み要求)(図18(e))を送信して、当該入出力デバイスからその構成情報を受信する(図18(f))。
ここで、アクセス仲介部190は、この構成情報の読み込み要求を横取りし、デバイスアクセス転送部193へ送信する。デバイスアクセス転送部193は、到着した構成情報の読み出し要求を、ネットワーク2経由で、入出力デバイスA30に転送したり、その応答を受信したりして(図18(g))、入出力デバイスA30から構成情報を得る。そしてデバイスアクセス転送部193は、入出力デバイスA30から得た構成情報を、ホットプラグ操作部11に返信する(図18(f))。この転送動作の詳細は、上述(図15参照)した通りである。
構成情報を受信したホットプラグ操作部11は、入出力デバイスA30に対して、バス番号・デバイス番号・ファンクション番号を付与する。ホットプラグ操作部11は、入出力デバイスA30から受信した構成情報と、付与したバス番号・デバイス番号・ファンクション番号とを、構成記憶部15に登録する。最後に、ホットプラグ操作部11は、構成記憶部15に登録されていた空きスロット16の登録を削除する。この結果、構成記憶部15には、先に示した図17が示す構成情報が格納される。
<変形例>
入出力ボックス3は、NIC6、及び、ネットワーク2を介してではなく、他のインタフェースで構成管理装置1に接続されていても良い。例えば、入出力ボックス3は、SCSI(Small Computer System Interface)規格に準拠した入出力制御ボード経由で、構成管理装置1に接続されていても良い。
<効果>
本実施の形態にかかる構成管理装置1によれば、入出力デバイスの構成制御を行うバス認識部10が、ブリッジ14でない接続手段に接続されている入出力デバイスと、ブリッジ14に接続されている入出力デバイスとを、同じインタフェースで構成して制御することができる。
その理由は、構成記憶部15が、仮想ブリッジの構成情報を格納するからである。そして、バスエミュレート部19が、バス認識部10により送信された読み込み要求(仮想ブリッジに接続された入出力デバイスの構成情報の読み込み要求)を受信して、仮想ブリッジと仮想接続されている入出力デバイスから構成情報を読み込んで返信するからである。
ここで、ブリッジ14でない接続手段に接続されている入出力デバイスは、例えば、図1において、ネットワーク2に接続されている入出力デバイスA30である。また、ブリッジ14に接続されている入出力デバイスは、例えば入出力デバイスB5である。
本実施の形態にかかる構成管理装置1は、入出力デバイスのホットプラグ操作を行うホットプラグ操作部11が、ブリッジ14でない接続手段に接続されている入出力デバイスと、ブリッジ14に接続されている入出力デバイスとを、同じインタフェースでホットプラグ操作できるようにする。
その理由は、構成記憶部15が仮想ブリッジの構成情報を格納するからである。そして、バスエミュレート部19が、ホットプラグ操作部11が送信した読み込み要求(仮想ブリッジに接続された入出力デバイスの構成情報の読み込み要求)を受信して、仮想ブリッジと仮想接続されている入出力デバイスから構成情報を読み込んで返信するからである。
この結果、本実施の形態にかかる構成管理装置1は、構成管理システム4における入出力デバイスの配置自由度を向上させる。構成管理装置1は、例えば、ブリッジ14に接続していた入出力デバイスを、バス認識部10、及びホットプラグ操作部11に影響することなく、ネットワーク2経由の接続に変更することを可能とする。
さらに、本実施の形態にかかる構成管理装置1は、既に運転中の構成管理システム4の、入出力デバイスの配置自由度も向上させる。その理由は、バスエミュレート部19を導入するに当たり、既に使用中のバス認識部10、及びホットプラグ操作部11を変更する必要が無いからである。
<第二の実施形態>
図19は、本実施の形態にかかる構成管理装置1の構成を示す図である。本実施の形態にかかる構成管理装置1は、構成記憶部15と、バス認識部10と、仮想資源定義記憶部194と、デバイスアクセス転送部193と、を備える。
構成記憶部15は、仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する。バス認識部10は、ブリッジに接続された入出力デバイスの構成情報を、入出力デバイスから読み込んで、構成記憶部15に格納する。仮想資源定義記憶部194は、ブリッジではない接続部21に接続された入出力デバイスA30と、仮想ブリッジとの仮想接続を定義する。
デバイスアクセス転送部193は、バス認識部10が送信した読み込み要求(仮想ブリッジに接続された入出力デバイスA30に対する構成情報の読み込み要求)を受信して、仮想接続が定義されている入出力デバイスA30から、構成情報を読み込んでバス認識部10に送信する。
本実施の形態にかかる構成管理装置1は、入出力デバイスの構成制御を行うバス認識部10が、ブリッジではない接続部21に接続されている入出力デバイスと、ブリッジ14に接続されている入出力デバイスとを、同じインタフェースで構成して制御できるようにする。
その理由は、構成記憶部15が、仮想ブリッジの構成情報を格納するからである。そして、デバイスアクセス転送部193が、バス認識部10が送信した仮想ブリッジに接続された構成情報の読み込み要求を受信して、仮想ブリッジと仮想接続されている入出力デバイスから構成情報を読み込んで返信するからである。
ここで、ブリッジではない接続部21に接続されている入出力デバイスは、例えば、図1においてネットワーク2に接続されている入出力デバイスA30である。また、ブリッジ14に接続されている入出力デバイスは、例えば、入出力デバイスB5である。
この結果、本実施の形態にかかる構成管理装置1によれば、構成管理システム4における入出力デバイス配置の自由度を向上させることができる。構成管理装置1は、例えば、ブリッジ14に接続していた入出力デバイスを、バス認識部10、及びホットプラグ操作部11に影響することなく、ブリッジではない接続手段21経由の接続に変更することを可能とする。
さらに、本実施の形態にかかる構成管理装置1は、既に運転中の構成管理システム4の、入出力デバイスの配置自由度も向上させる。その理由は、デバイスアクセス転送部193や仮想資源定義記憶部194を導入するに当たり、既に使用中のバス認識部10、及びホットプラグ操作部11を変更する必要が無いからである。
なお、構成管理装置1は、仮想ブリッジでないハードウェア装置としてのブリッジ14や、当該ブリッジに接続されている入出力デバイスを備えている必要は無い。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
この出願は、2017年12月20日に出願された日本出願特願2017−243744を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1 構成管理装置
2 ネットワーク
3 入出力ボックス
4 構成管理システム
5 入出力デバイスB
6 NIC
10 バス認識部
11 ホットプラグ操作部
12 デバイスBドライバ
13 CPU
14 ブリッジ
14−1 ブリッジA
14−2 ブリッジB
15 構成記憶部
16 空きスロット
17 デバイスAドライバ
18 NICドライバ
19 バスエミュレート部
21 ブリッジではない接続部
30 入出力デバイスA
31 リモートNIC
140 上流ブリッジ
141 下流ブリッジ
141−1 下流ブリッジA
141−2 下流ブリッジB
141−N 下流ブリッジN
190 アクセス仲介部
191 ブリッジアクセス処理部
192 割り込み生成部
193 デバイスアクセス転送部
194 仮想資源定義記憶部
1940 ブリッジ情報テーブル
1941 デバイス情報テーブル

Claims (10)

  1. 仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段と、
    前記ブリッジに接続された前記入出力デバイスの前記構成情報を、前記入出力デバイスから読み込んで前記構成記憶手段に格納するバス認識手段と、
    前記ブリッジではない接続手段に接続された前記入出力デバイスと前記仮想ブリッジとの仮想接続を定義する仮想資源定義記憶手段と、
    前記バス認識手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記バス認識手段に送信するデバイスアクセス転送手段と、を備える構成管理装置。
  2. 前記バス認識手段は、前記ブリッジの存在チェックをして存在の旨のチェック応答を受信すると、前記ブリッジの前記構成情報を、前記ブリッジから読み込んで前記構成記憶手段に格納し、
    前記仮想資源定義記憶手段は、前記仮想ブリッジの前記構成情報を格納し、
    前記構成管理装置は、さらに、
    前記チェック応答を受信して当該チェック応答が不在の旨であると、前記仮想ブリッジは存在の旨に変更して前記バス認識手段に送信するアクセス仲介手段と、
    前記バス認識手段から前記仮想ブリッジに送信した、前記構成情報の読み込み要求を受信して、前記仮想ブリッジの前記構成情報を送信するブリッジアクセス処理手段と、を備える、請求項1の構成管理装置。
  3. 前記アクセス仲介手段は、前記チェック応答を通信する時に発生する割り込みを検出して、前記チェック応答を受信する、請求項2の構成管理装置。
  4. 前記入出力デバイスが接続された時に前記ブリッジが発生させるホットプラグ割り込み発生時に起動されて、前記ブリッジに接続された前記入出力デバイスから、前記構成情報を読み込んで前記構成記憶手段に格納するホットプラグ操作手段と、
    前記仮想ブリッジが発生する前記ホットプラグ割り込みを疑似して前記ホットプラグ操作手段を起動する割り込み発生手段と、を備え、
    前記デバイスアクセス転送手段は、前記ホットプラグ操作手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから、前記構成情報を読み込んで前記ホットプラグ操作手段に送信する、請求項1乃至請求項2の何れか一項の構成管理装置。
  5. 前記ブリッジと前記入出力デバイスは、所定入出力バス規格に準拠したバスで接続される前記請求項1乃至請求項3の何れか一項の構成管理装置と、
    前記入出力デバイスと、前記入出力デバイスを通信網に接続するリモートブリッジとを備える入出力ボックスと、を含み、
    前記デバイスアクセス転送手段は、前記構成情報の読み込み要求に応じた前記所定入出力バス規格に準拠した入出力パケットを生成して前記通信網のフレームに搭載して送信し、前記リモートブリッジは、受信した前記通信網の前記フレームから前記入出力パケットを取り出して前記入出力デバイスに送信する、構成管理システム。
  6. 前記デバイスアクセス転送手段は、PCI Express規格に準拠した入出力パケットを生成する、請求項5の構成管理システム。
  7. 仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段と、
    前記ブリッジに接続された前記入出力デバイスの前記構成情報を前記入出力デバイスから読み込んで、前記構成記憶手段に格納するバス認識手段とを備える
    構成管理装置が、
    ブリッジではない接続手段に接続された入出力デバイスと仮想ブリッジとの仮想接続を定義し、
    前記バス認識手段が、前記仮想ブリッジに接続された前記入出力デバイスに送信した、前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから、前記構成情報を読み込んで前記バス認識手段に送信する構成管理方法。
  8. 前記ブリッジの存在チェックを送信して存在の旨のチェック応答を受信すると、前記ブリッジの前記構成情報を前記ブリッジから読み込んで、読み込んだ前記構成情報を前記構成記憶手段に格納する前記バス認識手段を備える前記構成管理装置が、
    前記仮想ブリッジの前記構成情報を記憶し
    前記バス認識手段が送信した前記ブリッジの存在チェックに対するチェック応答を受信して、当該チェック応答が不在の旨であると、前記仮想ブリッジは存在の旨に変更して前記バス認識手段に送信し、
    前記バス認識手段から前記仮想ブリッジに送信した、前記構成情報の読み込み要求を受信して、前記仮想ブリッジの前記構成情報を送信する、請求項7の構成管理方法。
  9. 前記入出力デバイスが接続された時に前記ブリッジが発生させるホットプラグ割り込み発生時に起動されて、前記ブリッジに接続された前記入出力デバイスから、前記構成情報を読み込んで前記構成記憶手段に格納するホットプラグ操作手段をさらに備える前記構成管理装置が、
    前記仮想ブリッジが発生する前記ホットプラグ割り込みを疑似して前記ホットプラグ操作手段を起動し、
    前記ホットプラグ操作手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記ホットプラグ操作手段に送信する、
    請求項7乃至請求項8の何れか一項の構成管理方法。
  10. 仮想ブリッジを含むブリッジ、及び、入出力デバイスの構成情報を格納する構成記憶手段と、
    前記ブリッジに接続された前記入出力デバイスの前記構成情報を、前記入出力デバイスから読み込んで前記構成記憶手段に格納するバス認識手段と、を備えたコンピュータに、
    前記ブリッジではない接続手段に接続された前記入出力デバイスと前記仮想ブリッジとの仮想接続を定義する情報を仮想資源定義記憶手段に格納する仮想資源定義記憶処理と、
    前記バス認識手段が送信した、前記仮想ブリッジに接続された前記入出力デバイスに対する前記構成情報の読み込み要求を受信して、前記仮想接続が定義されている前記入出力デバイスから前記構成情報を読み込んで前記バス認識手段に送信するデバイスアクセス転送処理と、を実行させる構成管理プログラム。
JP2019561047A 2017-12-20 2018-12-14 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム Active JP6965943B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017243744 2017-12-20
JP2017243744 2017-12-20
PCT/JP2018/046128 WO2019124259A1 (ja) 2017-12-20 2018-12-14 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム

Publications (2)

Publication Number Publication Date
JPWO2019124259A1 JPWO2019124259A1 (ja) 2020-11-19
JP6965943B2 true JP6965943B2 (ja) 2021-11-10

Family

ID=66992969

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019561047A Active JP6965943B2 (ja) 2017-12-20 2018-12-14 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム

Country Status (3)

Country Link
US (1) US11360926B2 (ja)
JP (1) JP6965943B2 (ja)
WO (1) WO2019124259A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11803506B2 (en) * 2021-10-28 2023-10-31 Arm Limited PCIe routing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4810349B2 (ja) 2006-08-11 2011-11-09 日本電気株式会社 I/o装置及び方法
JP5074274B2 (ja) * 2008-04-16 2012-11-14 株式会社日立製作所 計算機システム及び通信経路の監視方法
EP2720111B1 (en) * 2011-06-08 2017-07-05 Nec Corporation Computer system, connection device, power supply control method, and power supply control program recording medium
US20130034094A1 (en) * 2011-08-05 2013-02-07 International Business Machines Corporation Virtual Switch Data Control In A Distributed Overlay Network
US8660124B2 (en) * 2011-08-05 2014-02-25 International Business Machines Corporation Distributed overlay network data traffic management by a virtual server
US9311127B2 (en) * 2011-12-16 2016-04-12 International Business Machines Corporation Managing configuration and system operations of a shared virtualized input/output adapter as virtual peripheral component interconnect root to single function hierarchies
US9317465B2 (en) 2013-03-15 2016-04-19 Janus Technologies, Inc. System and method of sending PCI express data over ethernet connection
US9319349B2 (en) * 2013-06-20 2016-04-19 Micron Technology, Inc. Encapsulation enabled PCIE virtualisation
US9294282B1 (en) * 2013-07-01 2016-03-22 Amazon Technologies, Inc. Cryptographically verified repeatable virtualized computing
US9197584B2 (en) * 2013-08-05 2015-11-24 Globalfoundries Inc. Increasing efficiency of data payloads to data arrays accessed through registers in a distributed virtual bridge
US9485168B2 (en) * 2013-10-03 2016-11-01 International Business Machines Corporation Temperature sensitive routing of data in a computer system
WO2015190079A1 (ja) * 2014-06-12 2015-12-17 日本電気株式会社 計算機システム、遠隔デバイスの接続管理方法及びプログラム記録媒体
US9875131B2 (en) * 2015-11-25 2018-01-23 Red Hat Israel, Ltd. Virtual PCI device based hypervisor bypass using a bridge virtual machine
US9910693B2 (en) * 2015-11-25 2018-03-06 Red Hat Israel, Ltd. Virtual machine to host device bridging
CN108139982B (zh) * 2016-05-31 2022-04-08 安华高科技股份有限公司 多信道输入/输出虚拟化
US10423437B2 (en) * 2016-08-17 2019-09-24 Red Hat Israel, Ltd. Hot-plugging of virtual functions in a virtualized environment
KR20180078512A (ko) * 2016-12-30 2018-07-10 삼성전자주식회사 반도체 장치

Also Published As

Publication number Publication date
JPWO2019124259A1 (ja) 2020-11-19
US20210173805A1 (en) 2021-06-10
US11360926B2 (en) 2022-06-14
WO2019124259A1 (ja) 2019-06-27

Similar Documents

Publication Publication Date Title
US10713074B2 (en) Method, apparatus, and system for accessing storage device
US10282192B1 (en) Updating device code through a bus
EP3033681B1 (en) Method and apparatus for delivering msi-x interrupts through non-transparent bridges to computing resources in pci-express clusters
US20070005867A1 (en) Virtual peripheral device interface and protocol for use in peripheral device redirection communication
US8949486B1 (en) Direct memory access to storage devices
JP5475069B2 (ja) 統一コネクタアーキテクチャ
JP6753412B2 (ja) コンピュータ、デバイス割当管理方法及びプログラム
CN113904938B (zh) 一种动态配置PCIe终端设备的系统和方法
US10846254B2 (en) Management controller including virtual USB host controller
AU2007278728A1 (en) Method and apparatus for distributing usb hub functions across a network
US20220283964A1 (en) Cross Address-Space Bridging
US7672828B2 (en) Memory access to virtual target device
US20220327228A1 (en) PCIe FUNCTION AND OPERATING METHOD THEREOF
US20240168911A1 (en) PCIe DEVICE
CN117407123B (zh) 基于多系统隔离的usb设备虚拟共享系统
TW202240415A (zh) PCIe裝置及其操作方法
WO2018040622A1 (zh) 信息处理方法和装置
JP6965943B2 (ja) 構成管理装置、構成管理システム、構成管理方法、および、構成管理プログラム
CN114925012A (zh) 一种以太网帧的下发方法、上传方法及相关装置
CN116521324B (zh) 中断虚拟化处理方法、装置及电子设备
JP2001290665A (ja) プロセッサシステム
CN116302006A (zh) 模拟器的热升级方法及相关装置
CN114238183A (zh) 实现Virtio设备的系统、方法和介质
US20230350824A1 (en) Peripheral component interconnect express device and operating method thereof
CN110865960B (zh) 在网络上模拟PCIe总线

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200508

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210910

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211004

R150 Certificate of patent or registration of utility model

Ref document number: 6965943

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150