JP2009181373A - ネットワーク受信履歴の保存・再生方法及び情報処理装置 - Google Patents
ネットワーク受信履歴の保存・再生方法及び情報処理装置 Download PDFInfo
- Publication number
- JP2009181373A JP2009181373A JP2008020061A JP2008020061A JP2009181373A JP 2009181373 A JP2009181373 A JP 2009181373A JP 2008020061 A JP2008020061 A JP 2008020061A JP 2008020061 A JP2008020061 A JP 2008020061A JP 2009181373 A JP2009181373 A JP 2009181373A
- Authority
- JP
- Japan
- Prior art keywords
- software
- register
- interface card
- transfer
- network interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
【課題】
いかなるNICからのネットワーク受信履歴の保存・再生を可能にする。
【解決手段】
ハードウェア上に、NICドライバの他に仮想計算機モニタを動作させる。NICドライバによるNICの割り込み要因レジスタ読み込みを契機に仮想計算機モニタが起動し、該レジスタへのアクセス累積回数を保存する。さらに、NICドライバによる受信済みインデックスレジスタ読み込みを契機に、受信ディスクリプタ、及びDMA転送された受信データを参照し、DMA転送内容を保存し、履歴保存を行う。または、割り込み要因レジスタ読み込みを契機に仮想計算機モニタが起動し、上記DMA転送内容に従い受信ディスクリプタの更新、及びメモリ上に受信データのコピーを行い、履歴再生を行う。
【選択図】 図2
いかなるNICからのネットワーク受信履歴の保存・再生を可能にする。
【解決手段】
ハードウェア上に、NICドライバの他に仮想計算機モニタを動作させる。NICドライバによるNICの割り込み要因レジスタ読み込みを契機に仮想計算機モニタが起動し、該レジスタへのアクセス累積回数を保存する。さらに、NICドライバによる受信済みインデックスレジスタ読み込みを契機に、受信ディスクリプタ、及びDMA転送された受信データを参照し、DMA転送内容を保存し、履歴保存を行う。または、割り込み要因レジスタ読み込みを契機に仮想計算機モニタが起動し、上記DMA転送内容に従い受信ディスクリプタの更新、及びメモリ上に受信データのコピーを行い、履歴再生を行う。
【選択図】 図2
Description
本発明はネットワーク受信履歴の保存・再生方法、特にOSのNIC(ネットワークインタフェースカード)ドライバ開発における再現性の低いタイミングクリティカルなバグのデバッグを支援することを目的とした、ドライバのネットワーク受信動作の再生を可能にするネットワーク受信履歴の保存・再生方法及び装置に関する。
従来、OSのNIC(ネットワークインタフェースカード)ドライバ開発における再現性の低いタイミングクリティカルなバグのデバッグを支援することを目的としたネットワーク受信履歴の保存・再生方法としては、非特許文献1及び非特許文献2に記載されている方法が知られていた。
従来の方法を実現するためのシステム構成を図1に示す。
従来の方法では、NIC(102)を含むハードウェア(101)上にホストOS(103)、及び仮想計算機モニタ(107)が搭載されていることを仮定する。一つのハードウェア上で、ホストOSと仮想計算機モニタが時分割で並行動作する。
NICがネットワークからデータを受信すると、ホストOSのNICドライバ(104)が割り込みにより受信通知を受ける。さらに、受信データをNICより受け取る。
ホストOSのNICドライバは、ホストOS上で動作するVMアプリケーション(105)に受信データを通知する。そして、VMアプリケーションは、ホストOSのVMドライバ(106)に受信データの転送を依頼する。
ホストOSのVMドライバ(106)は、仮想計算機モニタ(107)に受信データを転送した後に、ハードウェア上で動作するソフトウェアを、ホストOSから仮想計算機モニタに切り替える。
仮想計算機モニタ(107)は仮想NIC(108)をゲストOS(109)に提供している。仮想計算機モニタが上記受信データの転送を受けると、仮想NICによるネットワークからのデータ受信動作をエミュレートし、ゲストOSの仮想NICドライバ(110)に、割り込みにより受信通知、及び受信したデータの通知(DMA転送のエミュレート)を行う。
この際の割り込み発生タイミング、及びエミュレートした受信データのDMA転送の履歴(受信データの内容、サイズ、DMA転送先アドレス)を、仮想計算機モニタが、割り込み発生履歴(111)、及びDMA転送履歴(112)として保存し、ネットワーク受信履歴を保存する。
また、本ネットワーク受信履歴の再生を行う際には、割り込み発生履歴に格納されたタイミングにて仮想計算機モニタを起動させる。そして、仮想計算機モニタが、ゲストOSの仮想NICドライバへの割り込み発生通知と、DMA転送のエミュレート(履歴に記載された転送先アドレスに、履歴に記載された受信データをコピーする処理)を行う。
Jeremy Sugerman et. al., "Virtualizing I/O Devices on VMWare Workstation's Hosted Virtual Machine Monitor", USENIX Annual Technical Conference, 2001.
Steve Herrod, "The Amazing VM Record/Replay Feature in VMware Workstation 6", http://blogs.vmware.com/Sherrod/2007/04/the_amazing_vm.html
従来の方法では、ゲストOSは仮想NICからネットワークデータを受信する。そのため、ゲストOSでは仮想NICのデバイスドライバは動作するが、実際にハードウェアに接続されているNICのドライバは動作しない。また、仮想計算機モニタがエミュレートできるNIC(仮想NICとしてゲストOSに提供できるNIC)には限りがある。そのため、仮想計算機モニタがエミュレートできないNICデバイス向けのデバイスドライバのデバッグに取得したネットワーク受信履歴を活用することができない。
本発明では、いかなるNICからのネットワーク受信処理の履歴の保存・再生を可能にし、仮想計算機モニタがエミュレート対応していないNICのデバイスドライバ開発への活用を可能にするネットワーク受信履歴の保存・再生方法を提案し、上記課題の解決を目指す。
上記課題を解決するため、本発明では、以下のネットワーク受信履歴の保存・再生方法を提案する。
まず、本発明では以下を仮定する。
(1)ネットワークインタフェースカードを搭載したPCサーバ上でデバイスドライバ及び仮想計算機モニタが動作する。
(2)該ネットワークインタフェースカードが、ネットワークからデータを受信した際にそのデータをPCサーバにDMA転送を行う。
(3)該ネットワークインタフェースカードが、当該DMA転送後に、そのDMA転送先アドレス、転送サイズ、転送完了の情報を含む受信ディスクリプタを更新する。
(4)該ネットワークインタフェースカードが、当該更新を完了した後に仮想計算機モニタに割り込み発生を通知する。
(5)該ネットワークインタフェースカードは、割り込み要因レジスタを保有し、当該レジスタに値を格納することで割り込み発生の要因を仮想計算機モニタ及びデバイスドライバに通知できる。
(6)デバイスドライバは、該受信ディスクリプタを参照することによりネットワーク受信処理を行うと共に、該受信ディスクリプタのどのエントリまでの受信処理を行ったかを、該ネットワークインタフェースカードの受信済みインデックスレジスタに値を格納することで、該ネットワークインタフェースカードに通知できる。
(7)デバイスドライバが該ネットワークインタフェースカードの該割り込み要因レジスタ、または該受信済みインデックスレジスタへの読み書きを行った際に、仮想計算機モニタを起動できる。
上記構成を持つPCサーバ、仮想計算機モニタ、デバイスドライバは、以下の方法によりネットワーク受信履歴の保存を行う。
(1)仮想計算機モニタは、割り込み発生通知を契機に起動した際に、累積命令実行数を保存してから、デバイスドライバを起動する。
(2)該デバイスドライバが、該ネットワークインタフェースカードの該割り込み要因レジスタを読み込むことにより起動した該仮想計算機モニタが、該割り込み要因レジスタへのアクセス累積回数を記録する。
(3)該デバイスドライバが、該ネットワークインタフェースカードの該受信済みインデックスレジスタに書き込むことにより起動した該仮想計算機モニタが、該アクセス累積回数、及び該受信ディスクリプタに記載されている該DMA転送先アドレス、該転送サイズ、該転送完了の情報、及び該メモリアドレスに格納されている受信データからなるエントリをデータ転送履歴として記録する。
また、上記構成を持つPCサーバ、仮想計算機モニタ、デバイスドライバは、以下の方法によりネットワーク受信履歴の再生を行う。
(1)格納された該累積命令実行数分の命令実行の後に仮想計算機モニタを起動し、デバイスドライバの起動を行う。
(2)該デバイスドライバが、該ネットワークインタフェースカードの該割り込み要因レジスタを読み込むことにより起動した該仮想計算機モニタが、該割り込み要因レジスタへのアクセス累積回数を記録する。
(3)該仮想計算機モニタは、該アクセス累積回数と一致する該データ転送履歴のエントリを抽出し、該エントリの該受信データを、該転送サイズ分だけ、該DMA転送先アドレスにコピーする。
(4)仮想計算機モニタは、該受信ディスクリプタに含まれる該転送サイズ、該転送完了の情報を設定する。
本発明のネットワーク受信履歴の保存・再生方法により、仮想計算機モニタがエミュレート対応していないNICからのネットワーク受信処理の履歴の保存・再生が可能になる。
本発明の実施例を図2から図8を用いて説明する。
図2は、本発明のネットワーク受信履歴の保存方法を示す図である。本方法では、NIC(102)を搭載したハードウェア(101)上で、仮想計算機モニタ(107)とNICドライバ(203)を含むゲストOS(109)が動作する。
NICは、ネットワークからデータを受信すると、当該データのDMA転送を行い、受信ディスクリプタ(204)を更新する。また、仮想計算機モニタの割り込み捕捉手段(205)に割り込み通知をあげる。割り込み捕捉手段は割り込み発生タイミング情報等を割り込み発生履歴(111)に保存する。そして、当該割り込み発生をNICドライバに通知する。
NICドライバは、割り込み要因レジスタ(201)、受信済みインデックスレジスタ(202)等のレジスタに対するアクセス要求を発行する。アクセス要求を発行すると、割り込み要因レジスタ捕捉手段(206)、受信済みインデックスレジスタ捕捉手段(207)、ディスクリプタ参照/更新手段(208)が起動される。そして、割り込み要因レジスタ捕捉手段が割り込み要因レジスタのアクセス累積回数(209)を格納する。また、ディスクリプタ参照/更新手段によるDMA転送履歴(112、受信データの内容、サイズ、DMA転送先アドレスなど)の格納を受信ディスクリプタ(204)の参照を行うことで実現する。また、レジスタへのアクセス処理は、NICドライバからの要求に従い、割り込み要因レジスタ捕捉手段、受信済みインデックス捕捉手段が行う。
本発明の方法によれば、NICの割り込み要因レジスタや受信済みインデックスレジスタへのアクセス要求をNICドライバが発行しながら、割り込み発生履歴やDMA転送履歴の保存が実現されている。そのため、ホストOSや仮想計算機モニタがNICデバイス非依存に構築でき、いかなるNICからのネットワーク受信処理の履歴の保存・再生も可能になる。
図3は、本発明で仮定するハードウェア構成を示す図である。本発明では、割り込み要因レジスタ(201)、受信済みインデックスレジスタ(202)などを搭載したNIC(105)の存在を仮定する。また、仮想計算機モニタ(107)、ゲストOS(109)などのプログラムは、ハードウェア(101)のメモリ(302)上のプログラム格納領域(303)に格納される。さらに、割り込み発生履歴(111)、DMA転送履歴(112)、アクセス累積回数(209)、受信データ(308)、受信ディスクリプタ(204)は、メモリ(302)上のデータ格納領域(304)に格納される。
プログラム格納領域に格納されたプログラムは、ハードウェア(101)のCPU(301)のプログラム実行手段(305)により読み込まれ、プログラムの内容に従い実行を行う。
NICは、受信ディスクリプタ(204)の内容を参照しながら、ネットワークからのデータ受信処理を行う。受信ディスクリプタ(204)は図4に示すように、DMA転送アドレス(401)、サイズ(402)、完了ビット(403)の各フィールドを持つ。NICは本ディスクリプタエントリを循環して参照する。そして、ネットワークからデータを受信すると、DMA転送アドレスフィールドに記載されたデータ格納領域のアドレスに受信データを転送する。そして受信したデータサイズをサイズフィールドに設定する。そして、完了ビットを設定することで当該エントリへの受信データ転送が完了したことを通知する。さらに、CPUの割り込み通知手段(307)に割り込みを通知する。この際、割り込み要因レジスタ(202)にネットワーク受信による割り込みが発生した情報を格納する。割り込み通知手段は、本割り込み通知を受け取ると、仮想計算機モニタ(107)に割り込みを通知する。図2で説明した通り、仮想計算機モニタはゲストOS(NICドライバ)に当該割り込みを通知する。ゲストOS(NICドライバ)は、割り込み要因レジスタ(202)を参照することで、ネットワークからのデータ受信が発生したことを認識する。さらに、受信ディスクリプタのどのエントリまでの受信処理を行ったか(どのエントリをNICが新たなデータを受信した際に再利用して良いか)を示す情報を受信済みインデックスレジスタ(201)に格納する。
また、CPUには、ゲストOSによる受信済みインデックスレジスタや割り込み要因レジスタへのアクセス命令の発行を検査するレジスタアクセス通知手段(306)を持つ。本アクセス命令がゲストOSにより発行されると、実際のデバイスレジスタへのアクセスは行われず、仮想計算機モニタにデバイスレジスタアクセス通知が転送される。仮想計算機モニタは、本通知によりゲストOSによる受信済みインデックスレジスタや割り込み要因レジスタへのアクセスを認識する。さらに、ゲストOSに代わり、上記アクセス命令を発行することができる。仮想計算機モニタによりこれらのレジスタアクセス命令発行がなされた場合には、プログラム実行手段によりこれらのレジスタのread/write処理が実行される(レジスタアクセス通知手段はレジスタアクセス通知を仮想計算機モニタにあげない)。
図5は、割り込み発生履歴(111)のデータ構造を示す図である。本履歴は、累積命令実行数フィールド(501)を含む。累積命令実行数は、CPU(305)による命令実行数の総計であり、仮想計算機モニタは、CPUに当該命令数を問い合わせることにより、当該情報の取得ができる。
図6は、DMA転送履歴(112)のデータ構造を示す図である。本履歴は、アクセス累積回数(601)、DMA転送アドレス(602)、サイズ(603)、受信データ(604)のフィールドからなる。各円鳥は、アクセス累積回数分の割り込み要因レジスタ読み込みが行われる直前に、DMA転送アドレスフィールドに記載されているデータ格納領域のアドレスに、サイズフィールド、受信データフィールドで示される受信データのDMA転送が行われたことを示す。
図7は、本発明によるネットワーク受信履歴の保存処理の動作フローを示す図である。
まず、NIC(102)がネットワークより受信データ(308)を受信し、受信ディスクリプタ(204)のDMA転送アドレスフィールド(401)に記載されたデータ格納領域(304)に受信データのDMA転送を行う。さらに、受信ディスクリプタのサイズフィールド(402)の設定、及び完了ビット(403)の設定を行う(ステップ701)。
次に、NICは、CPUの割り込み通知手段(307)に割り込み通知を行う。割り込み通知手段は、割り込み通知を行うべく、仮想計算機モニタ(107)の割り込み捕捉手段(205)を起動する(ステップ702)。
次に、割り込み捕捉手段(205)がCPU(301)に累積命令実行数を問い合わせ、取得した情報を割り込み発生履歴(111)の累積命令実行数フィールド(501)に格納する(ステップ703)。
さらに、割り込み捕捉手段(205)がNICドライバ(203)に割り込みを通知するために、NICドライバの起動を行う(ステップ704)。
NICドライバは、割り込み要因を認識するために、割り込み要因レジスタ(202)の読み込み命令を発行する(ステップ705)。
NICドライバによる割り込み要因レジスタの読み込み命令の発行は、レジスタアクセス通知手段(306)により捕捉される。そしてレジスタアクセス通知手段は、仮想計算機モニタ(109)の割り込み要因レジスタ捕捉手段(206)を起動する(ステップ706)。
割り込み用意にレジスタ捕捉手段(206)は、その起動回数を覚えておくため、当該回数をアクセス累積回数(209)に格納する。そして、NICドライバ(203)の処理を継続させる(ステップ707)。
NICドライバは、受信ディスクリプタの完了ビットフィールド(403)を検査し、完了ビットフィールドが立っているエントリのデータを受信する。そして、どのエントリまでの受信が完了したかを通知するために、受信済みインデックスレジスタ(201)の更新を行う本レジスタの更新命令は、CPUのレジスタアクセス通知手段(306)により捕捉される。そしてレジスタアクセス通知手段は、仮想計算機モニタ(109)の受信済みインデックスジスタ捕捉手段(207)を起動する(ステップ708)。
受信済インデックスレジスタ捕捉手段(208)は、ディスクリプタ参照/更新手段(208)を起動する(ステップ709)。
ディスクリプタ参照/更新手段(208)は、現在の受信済みインデックスレジスタの値を読み込み、現在の値を取得する。また、NICドライバ(203)による受信済みインデックスレジスタ(201)の更新命令を解析し、新たな受信済みインデックスレジスタの値も取得する。図4に示す通り、この間の受信ディスクリプタエントリが、ステップ708にてNICドライバが受信処理を行った受信ディスクリプタエントリを示す。このエントリのDMA転送が、ステップ705の割り込み要因レジスタの読み込み直前に行われたことを保存するために、以下を行う。まず、ディスクリプタ参照/更新手段(208)は、アクセス累積回数(209)を参照し、DMA転送履歴(212)のアクセス累積回数フィールド(601)にその値を格納する。また、ステップ708にてNICドライバが受信処理を行った受信ディスクリプタエントリのDMA転送アドレスフィールド(401)、サイズフィールド(402)の値を、DMA転送履歴(112)のDMA転送アドレスフィールド(602)、サイズフィールド(603)に格納する。さらに、DMA転送アドレスフィールド(602)、サイズフィールド(603)で示されるデータ格納領域(304)のデータを受信データフィールド(604)にコピーする。最後に、受信済みインデックス捕捉手段(208)の処理を継続させる(ステップ710)。
受信済みインデックス捕捉手段(208)は、NICドライバ(203)による受信済みインデックスレジスタ(201)の更新命令を解析し、新たな受信済みインデックスレジスタの値を取得する。そして、その値を受信済みインデックスレジスタ(201)に設定する。
図8は、本発明のネットワーク受信履歴の再生方法を示す図である。受信履歴の再生を行うために、保存の場合と同様、NICドライバ(203)、仮想計算機モニタの割り込み捕捉手段(205)、割り込み要因レジスタ捕捉手段(206)、受信済みインデックスレジスタ捕捉手段(207)、ディスクリプタ参照/更新手段(208)がハードウェア(101)上で動作する。この際、必要に応じて、保存した割り込み発生履歴(111)、アクセス累積回数(209)、DMA転送履歴(112)を参照して、保存の場合と全く同じネットワーク受信処理の再生、即ち、受信ディスクリプタ(204)の更新処理、及びDMA転送処理の再現を行う。
図9は、本発明によるネットワーク受信履歴の再生処理の動作フローを示す図である。
まず、割り込み捕捉手段(205)は、割り込み発生履歴(211)の累積命令実行数フィールド(501)を参照し、当該命令実行後に割り込み捕捉手段が起動する(ステップ901)。
次に、割り込み捕捉手段(205)がNICドライバ(203)に割り込み発生を通知する(ステップ902)。
NICドライバは、割り込みを通知されると、割り込み要因レジスタ(202)を読み込む(ステップ903)。
すると、CPU(301)のレジスタアクセス通知手段(306)がデバイスレジスタアクセス通知を行うため、仮想計算機モニタ(107)の割り込み要因レジスタ捕捉手段(206)を起動する。割り込み要因レジスタ捕捉手段は、アクセス累積回数(209)を更新する(ステップ904)。
そして、割り込み要因レジスタ捕捉手段(206)はディスクリプタ参照/更新手段(208)を起動する(ステップ905)。
起動したディスクリプタ参照/更新手段(208)は、アクセス累積回数(209)を参照する。そして、その値がアクセス累積回数フィールド(601)に格納されているDMA転送履歴(112)のエントリを抽出する。そして、当該エントリの受信データフィールド(604)、サイズフィールド(603)で指定されるデータを、DMA転送アドレスフィールド(602)で指定されるデータ格納領域のアドレスにコピーする(ステップ906)。
さらに、ディスクリプタ参照/更新手段(208)は、受信ディスクリプタのエントリのうち、ステップ906にてコピーを行ったデータ分のエントリの完了ビットフィールド(403)の設定を行う。また、サイズフィールド(402)の値も、DMA転送履歴(112)のサイズフィールド(603)の値に更新する(ステップ907)。
ステップ906及びステップ907にてDMA転送のエミュレートが行われ、NICドライバ(203)は、NICからデータが到達した時と同様の受信処理を行い、受信データを取得する(ステップ908)。
次に、NICドライバ(203)は、受信済みインデックスレジスタ(201)の値を更新する(ステップ908)。
すると、CPU(301)のレジスタアクセス通知手段(306)は、デバイスレジスタアクセスを通知するため、仮想計算機モニタ(107)の受信済みインデックスレジスタ捕捉手段(207)を起動する。受信済みインデックスレジスタは、当該デバイスレジスタアクセス実行要求を無視して処理を完了する(ステップ909)。
102…NIC
107…仮想計算機モニタ
203…NICドライバ
107…仮想計算機モニタ
203…NICドライバ
Claims (4)
- ネットワークインタフェースカードとメモリ領域を搭載した情報処理装置上で第一のソフトウェア及び第二のソフトウェアが動作する情報処理装置におけるネットワーク受信履歴の保存・再生方法であって、
前記ネットワークインタフェースカードが、ネットワークからデータを受信した際にそのデータを前記情報処理装置の前記メモリ領域に転送するステップと、
前記ネットワークインタフェースカードが、当該転送後に、その転送先メモリアドレス、転送サイズ、転送完了の情報を含むテーブルを更新するステップと、
前記ネットワークインタフェースカードが、当該更新を完了した後に前記第二のソフトウェアに割り込み発生を通知するステップと、
前記ネットワークインタフェースカードが、第一のレジスタに値を格納することで割り込み発生の要因を通知するステップと、
前記第一のソフトウェアが、前記テーブルを参照することによりネットワーク受信処理を行うと共に、該テーブルのどのエントリまでの受信処理を行ったかを、前記ネットワークインタフェースカードの第二のレジスタに値を格納することで、前記ネットワークインタフェースカードに通知するステップと、
前記第一のソフトウェアが、前記ネットワークインタフェースカードの前記第一のレジスタ、または前記第二のレジスタへの読み書きを行った際に、前記第二のソフトウェアを起動するステップと、
前記第二のソフトウェアが、割り込み発生通知を契機に起動した際に、累積命令実行数を保存してから、前記第一のソフトウェアを起動するステップと、
該第一のソフトウェアが、前記ネットワークインタフェースカードの前記第一のレジスタを読み込むことにより起動した前記第二のソフトウェアが、該第一のレジスタへのアクセス累積回数を記録するステップと、
前記第一のソフトウェアが、前記ネットワークインタフェースカードの前記第二のレジスタに書き込むことにより起動した前記第二のソフトウェアが、前記アクセス累積回数、及び前記テーブルに記載されている前記転送先メモリアドレス、前記転送サイズ、前記転送完了の情報、及び前記メモリアドレスに格納されている受信データからなるエントリをデータ転送履歴として記録するステップ、
を有することを特徴とするネットワーク受信履歴の保存・再生方法。 - 請求項1に記載したネットワーク受信履歴の保存・再生方法であって、
格納された該累積命令実行数分の命令実行の後に該第二のソフトウェアを起動し、かつ、該第二のソフトウェアが該第一のソフトウェアを起動するステップと、
該第一のソフトウェアが、該ネットワークインタフェースカードの該第一のレジスタを読み込むことにより起動した該第二のソフトウェアが、該アクセス累積回数と一致する該データ転送履歴のエントリを抽出し、該エントリの該受信データを、該転送サイズ分だけ、該転送先メモリアドレスにコピーするステップと、
該第二のソフトウェアが、該テーブルに含まれる該転送サイズ、該転送完了の情報を設定するステップ、
を有することを特徴とするネットワーク受信履歴の保存・再生方法。 - ネットワークインタフェースカードと、メモリ領域と、仮想計算機モニタと、転送先メモリアドレス、転送サイズ、転送完了の情報を含むテーブルとを備えた情報処理装置において、
前記ネットワークインタフェースカードが、ネットワークからデータを受信した際にそのデータを前記メモリ領域に転送する手段と、
前記ネットワークインタフェースカードが、当該転送後に該テーブルの転送先メモリアドレス、転送サイズ、転送完了の情報を更新する手段と、
前記ネットワークインタフェースカードが、前記更新を完了した後に前記仮想計算機モニタに割り込み発生を通知する手段と、
前記ネットワークインタフェースカードが、第一のレジスタに値を格納することで割り込み発生の要因を該情報処理上で動作するソフトウェアに通知する手段と、
前記情報処理装置上で動作しているソフトウェアにより該テーブルのどのエントリまでの受信処理が行われたかを、前記ネットワークインタフェースカードの第二のレジスタに値を読み込むことで認識する手段と、
前記情報処理装置上で動作しているソフトウェアにより前記ネットワークインタフェースカードの前記第一のレジスタ、または前記第二のレジスタへの読み書きが行われた際に、前記仮想計算機モニタを起動する手段と、
該仮想計算機モニタが、割り込み発生通知を契機に起動した際に、累積命令実行数を保存してから、前記情報処理装置上で動作しているソフトウェアを起動する手段と、
該情報処理装置上で動作しているソフトウェアが、前記ネットワークインタフェースカードの前記第一のレジスタを読み込むことにより起動した前記仮想計算機モニタが、前記第一のレジスタへのアクセス累積回数を記録する手段と、
前記情報処理装置上で動作しているソフトウェアが、前記ネットワークインタフェースカードの前記第二のレジスタに書き込むことにより起動した該仮想計算機モニタが、該アクセス累積回数、及び該テーブルに記載されている該転送先メモリアドレス、該転送サイズ、該転送完了の情報、及び該メモリアドレスに格納されている受信データからなるエントリをデータ転送履歴として記録する手段、
を有することを特徴とする情報処理装置。 - 請求項3に記載した情報処理装置であって、
格納されている前記累積命令実行数分の命令実行の後に前記想計算機モニタを起動し、かつ、前記仮想計算機モニタが前記情報処理装置上で動作するソフトウェアを起動する手段と、
前記情報処理装置上で動作するソフトウェアが、前記ネットワークインタフェースカードの前記第一のレジスタを読み込むことにより起動した前記仮想計算機モニタが、前記アクセス累積回数と一致する前記データ転送履歴のエントリを抽出し、前記エントリの前記受信データを、前記転送サイズ分だけ、前記転送先メモリアドレスにコピーする手段と、
前記仮想計算機モニタが、前記テーブルに含まれる前記転送サイズ、前記転送完了の情報を設定するステップ、
を有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008020061A JP2009181373A (ja) | 2008-01-31 | 2008-01-31 | ネットワーク受信履歴の保存・再生方法及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008020061A JP2009181373A (ja) | 2008-01-31 | 2008-01-31 | ネットワーク受信履歴の保存・再生方法及び情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009181373A true JP2009181373A (ja) | 2009-08-13 |
Family
ID=41035304
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008020061A Pending JP2009181373A (ja) | 2008-01-31 | 2008-01-31 | ネットワーク受信履歴の保存・再生方法及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009181373A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138579A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Network adaptor optimization and interrupt reduction |
JP2011070654A (ja) * | 2009-09-25 | 2011-04-07 | Intel Corp | アンチマルウェアを有するコンピュータシステムおよび方法 |
JP2012243135A (ja) * | 2011-05-20 | 2012-12-10 | Mitsubishi Electric Corp | 仮想計算機システム、仮想計算機、及び仮想計算機システムの割込み処理方法 |
-
2008
- 2008-01-31 JP JP2008020061A patent/JP2009181373A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100138579A1 (en) * | 2008-12-02 | 2010-06-03 | International Business Machines Corporation | Network adaptor optimization and interrupt reduction |
US8402190B2 (en) * | 2008-12-02 | 2013-03-19 | International Business Machines Corporation | Network adaptor optimization and interrupt reduction |
US8719479B2 (en) | 2008-12-02 | 2014-05-06 | International Business Machines Corporation | Network adaptor optimization and interrupt reduction |
JP2011070654A (ja) * | 2009-09-25 | 2011-04-07 | Intel Corp | アンチマルウェアを有するコンピュータシステムおよび方法 |
US8635705B2 (en) | 2009-09-25 | 2014-01-21 | Intel Corporation | Computer system and method with anti-malware |
JP2012243135A (ja) * | 2011-05-20 | 2012-12-10 | Mitsubishi Electric Corp | 仮想計算機システム、仮想計算機、及び仮想計算機システムの割込み処理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8181176B2 (en) | Uniform storage device access using partial virtual machine executing within a secure enclave session | |
Luo et al. | Live and incremental whole-system migration of virtual machines using block-bitmap | |
JP4688862B2 (ja) | 仮想マシン環境における仮想マシンのシングルステップ機能のサポートを提供すること | |
US11669388B2 (en) | Managing the migration of virtual machines in the presence of uncorrectable memory errors | |
US11487523B2 (en) | Updating machine emulator | |
CN110609730B (zh) | 一种实现虚拟处理器间中断透传的方法及设备 | |
US8321842B2 (en) | Replay time only functionalities in a virtual machine | |
US8281318B2 (en) | Systems and methods for inter process communication based on queues | |
KR101533224B1 (ko) | 호스트 데이터 처리장치내의 디바이스 에뮬레이션 지원 | |
US10795708B1 (en) | Transparent disk caching for virtual machines and applications | |
JP2009181373A (ja) | ネットワーク受信履歴の保存・再生方法及び情報処理装置 | |
TWI724034B (zh) | 例外的處理 | |
CN114765051A (zh) | 内存测试方法及装置、可读存储介质、电子设备 | |
JP7483054B2 (ja) | 致命的なメモリエラー時におけるターゲットホストへの仮想マシンのライブマイグレート | |
CN115485668A (zh) | 存储器页标记作为基于处理器的执行跟踪的日志记录线索 | |
US8392759B2 (en) | Test method, test program, test apparatus, and test system | |
JP2008009506A (ja) | 情報処理装置及びそのファイルアクセス方法 | |
WO2023177421A1 (en) | Memory error prevention by proactive memory poison recovery | |
JP5468490B2 (ja) | 仮想化環境が実現されているコンピュータにおいてディスク・ドライブにアクセスする方法およびコンピュータ | |
JP2015036944A (ja) | 状態情報記録装置及びプログラム | |
JP2001101021A (ja) | ソフトウェアの障害回復方法 | |
JP2005056019A (ja) | 情報処理装置 |