(57)【要約】  遅延やパケットロスが発生した際にコンピュータシステムに障害またはフリーズを発生させないように、コンピュータバスのコネクション管理を行うコネクション管理機構およびコネクション管理方法を提供する。コネクション管理ユニットは、リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信に用いられるコネクション管理ユニットであって、上記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、ダミーの返信パケットを生成し上記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、上記ダミーの返信パケットの送信後に上記リクエスト先から届いた正規の返信パケットを破棄するフィルタ機能、を有する。
2018131550.tif 000002
【特許請求の範囲】
【請求項１】
リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
ダミーの返信パケットを生成し前記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、前記ダミーの返信パケットの送信後に前記リクエスト先から届いた正規の返信パケットを破棄するフィルタ機能、を有するコネクション管理ユニット。
【請求項２】
コンピュータバスプロトコルで定義されるタイムアウトが発生する前に、前記ダミー返信パケット生成送信機能を有効にする、およびまたは、前記フィルタ機能を有効にするコネクション検知機能をさらに有する、請求項１に記載のコネクション管理ユニット。
【請求項３】
前記コンピュータバスを通過するリクエストパケットをトラップするトラップ機能をさらに有する、請求項２に記載のコネクション管理ユニット。
【請求項４】
前記トラップ機能がトラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する機能を有する、請求項３に記載のコネクション管理ユニット。
【請求項５】
前記ダミーの返信パケットは、前記テーブルを参照し、前記コネクション検知機能で検知したレコードに対するダミーの返信パケットである、請求項４に記載のコネクション管理ユニット。
【請求項６】
コンピュータバスプロトコルにおいて、タイムアウト検知を行いエラー通知をする機能が有効か無効かによって、前記ダミー返信パケット生成送信機能と前記フィルタ機能の有効化・無効化を自動で設定する機能を有する、請求項１に記載のコネクション管理ユニット。
【請求項７】
タイムアウト検知を行い、エラー通知をする機能が有効な場合、前記ダミー返信パケット生成送信機能を無効化し、前記フィルタ機能を有効化する、請求項６に記載のコネクション管理ユニット。
【請求項８】
タイムアウト検知を行わず、エラー通知をする機能が無効な場合、前記ダミー返信パケット生成送信機能を有効化し、前記フィルタ機能を有効化する、請求項６に記載のコネクション管理ユニット。
【請求項９】
リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
ダミーの返信パケットを生成し前記リクエスト元へ送信し、前記ダミーの返信パケットの送信後に前記リクエスト先から届いた正規の返信パケットを破棄する、コネクション管理方法。
【請求項１０】
リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
前記リクエスト元へエラー通知すると共に、エラー通知後に前記リクエスト先から届いた正規の返信パケットを破棄する、コネクション管理方法。
【請求項１１】
前記コンピュータバスを通過するリクエストパケットをトラップし、トラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する、請求項９又は請求項１０に記載のコネクション管理方法。
【請求項１２】
リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信に用いられるコネクション管理プログラムを記録した記録媒体であって、
コンピュータに、
前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合に、ダミーの返信パケットを生成し前記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、前記ダミーの返信パケットの送信後に届いた正規の返信パケットを破棄するフィルタ機能、を実現させるコネクション管理プログラムを記録した記録媒体。
【請求項１３】
前記コンピュータに、
コンピュータバスプロトコルで定義されるタイムアウトが発生する前に、前記ダミー返信パケット生成送信機能を有効にする、およびまたは、前記フィルタ機能を有効にするコネクション検知機能をさらに実現させる、請求項１２に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１４】
前記コンピュータに、
前記コンピュータバスを通過するリクエストパケットをトラップするトラップ機能をさらに実現させる、請求項１３に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１５】
前記コンピュータに、
前記トラップ機能がトラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する機能をさらに実現させる、請求項１４に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１６】
前記ダミーの返信パケットは、前記テーブルを参照し、前記コネクション検知機能で検知したレコードに対するダミーの返信パケットである、請求項１５に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１７】
前記コンピュータに、
コンピュータバスプロトコルにおいて、タイムアウト検知を行いエラー通知をする機能が有効か無効かによって、前記ダミー返信パケット生成送信機能と前記フィルタ機能の有効化・無効化を自動で設定する機能をさらに実現させる、請求項１２に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１８】
タイムアウト検知を行い、エラー通知をする機能が有効な場合、前記ダミー返信パケット生成送信機能を無効化し、前記フィルタ機能を有効化する、請求項１７に記載のコネクション管理プログラムを記録した記録媒体。
【請求項１９】
タイムアウト検知を行わず、エラー通知をする機能が無効な場合、前記ダミー返信パケット生成送信機能を有効化し、前記フィルタ機能を有効化する、請求項１７に記載のコネクション管理プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はコネクション管理ユニット、およびコネクション管理方法に関し、特にコンピュータバスのコネクション管理に関する。
【背景技術】
【０００２】
コンピュータシステムでは、Ｉ／Ｏデバイス（Input/outputデバイス）を接続するためのバス規格としてＰＣＩ  Ｅｘｐｒｅｓｓ（登録商標）プロトコルが広く用いられている（非特許文献１）。ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルは一般に、ＳＳＤ（Solid State Drive）やＧＰＵ（Graphics Processing Unit）などのコンピュータの外部デバイスを接続するために使用される。また、近年ＰＣＩ  Ｅｘｐｒｅｓｓをネットワークパケットでカプセル化するＰＣＩ  Ｅｘｐｒｅｓｓ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔ（登録商標）などの技術が出現している（非特許文献２）。【０００３】
これらのＰＣＩ  Ｅｘｐｒｅｓｓプロトコルでは、ＣＰＵ（中央処理装置）とＩ／Ｏデバイスの通信を行うために、ライトリクエスト、リードリクエスト、コンプリーションの主に３つのパケットが定義されている。ライトリクエストはメモリ書き込み命令であり、リードリクエストはメモリ読み出し命令であり、コンプリーションはライトリクエストやリードリクエストに対する返答パケットである。ＣＰＵかＩ／Ｏデバイスの一方がリクエストパケットを受信すると、適切なコンプリーションを返却し、適切なメモリ番地へ通知する、またはメモリ書き込みを行うことで通信を実現する。【０００４】
ＰＣＩ  Ｅｘｐｒｅｓｓでは、リクエストパケットに対するコンプリーションパケットにはタイムアウトを設定することが可能であり、タイムアウトが発生するとエラーをコンプリーションの代わりに返答する。ただしＰＣＩ  Ｅｘｐｒｅｓｓはコンピュータ内部バスであり、パケットに長い遅延が挿入されることが想定された作りとなっていないため、経路に長い遅延がある場合に問題が発生する。【０００５】
図１３、図１４、図１５、図１６に、ＰＣＩ  Ｅｘｐｒｅｓｓ通信についてコンプリーションタイムアウトを設定した場合、しなかった場合、およびパケットがロスした場合、遅延した場合、の挙動について、それぞれの組み合わせを図示する。【０００６】
図１３は、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルの中でタイムアウト検知を行う場合で、コンプリーションパケットがパケットロスした場合の挙動を示す。このケースでは、ドライバが送信したリクエストパケットに対するコンプリーションパケットがパケットロスにより返却されず、タイムアウトが検知され、エラーメッセージがリクエスト生成した側に返却される。その後、エラーメッセージを受け取ったドライバがエラーハンドリングを行う。本ケースは想定どおりの挙動であり、特に問題なく動作する。また、図１３、図１４、図１５、図１６は、ドライバがリクエストパケットを送信した場合のケースを記載しているが、Ｉ／Ｏデバイスからリクエストパケットを送信する場合についても同様である。【０００７】
図１４は、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルの中でタイムアウト検知を行う場合で、コンプリーションパケットがタイムアウト後に遅延して到着する場合の挙動を示す。このケースではドライバが送信したリクエストパケットに対するコンプリーションパケットが返却される前にタイムアウトが検知され、エラーメッセージがリクエスト生成した側に返却される。その後に正規のコンプリーションパケットがドライバへ返却される。このようにタイムアウトによるエラーメッセージ返却後に、同一リクエストに対するコンプリーションが返却された場合、アドレス書き込みのコンフリクトが発生し、コンピュータソフトウェアに障害またはフリーズが発生してしまう。【０００８】
図１５は、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルの中でタイムアウト検知を行わない場合で、コンプリーションパケットがパケットロスした場合の挙動を示す。このケースではドライバが送信したリクエストパケットに対するコンプリーションパケットがパケットロスにより返却されない。そのためドライバはリクエストに対するコンプリーションを待ち続ける動作となり、コンピュータシステムがフリーズしてしまう。【０００９】
図１６は、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルの中でタイムアウト検知を行わない場合で、コンプリーションパケットが遅延して到着する場合の挙動を示す。このケースではドライバが送信したリクエストパケットに対するコンプリーションパケットがネットワーク遅延により遅延して返却される。この場合はコンプリーションが遅延するものの、正常動作を継続することができる。【００１０】
以上の４ケースに説明するとおり、ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルにおいてタイムアウトを検知する場合ではネットワーク遅延の影響により、リクエストに対するエラー返答および正規のコンプリーション返答が二重に返信される場合がある。リクエストに対するエラー返答および正規のコンプリーション返答が二重に返信されることにより、コンピュータシステムに障害が発生する。ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルにおいてタイムアウト検知しない場合では、パケットロスの影響により、リクエストに対するコンプリーションが返却されずに、コンピュータシステムに障害が発生する。【００１１】
ＰＣＩ  Ｅｘｐｒｅｓｓプロトコルは、コンピュータ内部バスのプロトコルであるため、バスの物理的障害によるパケットロスを考慮してタイムアウトの仕組みが導入されている。しかしながら、バス上のパケットが遅延することを考慮したタイムアウトの仕組みとなっておらず、上記設定によりコンピュータバスの障害を回避することができない。これらの現象は、特にＰＣＩ  Ｅｘｐｒｅｓｓ  ｏｖｅｒ  Ｅｔｈｅｒｎｅｔなどのネットワークを利用したＰＣＩ  Ｅｘｐｒｅｓｓ通信において顕著に表れる。【００１２】
特許文献１は、ＰＣＩ  Ｅｘｐｒｅｓｓ等の高速シリアル通信規格のデータ通信装置に関するものであり、データ応答を期待しないダミーリクエストパケットを連続して送信することにより、同期転送時の再送オーバーヘッドを軽減することが提案されている。【００１３】
特許文献２は、データ処理装置の入出力装置管理に関するものであり、入出力装置からのレディ信号応答待ちのタイムアウト検出を行い、タイムアウト時には擬似レディ信号を生成してその回のデータ転送アクセスを終了させることが提案されている。特許文献２ではこのような制御により、そのときのデータ転送アクセスが異常のまま終了したことを処理内容に反映させることが提案されている。【００１４】
特許文献３は、異なるソフトウェア・アプリケーションを相互接続するエンタープライズ・サービス・バスを実装しているミドルウェアに関するものである。特許文献３では、エンド・クライアントから届く受信サービス要求を、１次サーバに転送すると共に、１つまたは複数の２次サーバに複製すること、検証機は１次または２次サーバからの応答を全て受信し、受信した最初の応答をエンド・クライアントに返し、後続の応答は破棄することが提案されている。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２００８−２０４２４５号公報
【特許文献２】特公昭５８−２４８１２号公報
【特許文献３】特表２０１０−５２４０７２号公報
【非特許文献】
【００１６】
【非特許文献１】”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.
【発明の概要】
【発明が解決しようとする課題】
【００１７】
上述したコネクション管理手法には、以下のような課題がある。すなわち、ＰＣＩ  Ｅｘｐｒｅｓｓをはじめとするコンピュータバスに遅延やパケットロスが発生すると、コンピュータシステムに障害またはフリーズが発生してしまうことである。【００１８】
その理由は、タイムアウト検知を行う場合には、リクエストパケットに対するコンプリーションがタイムアウトした後で、遅延したパケットが返却され、同じリクエストに対する返答が二重に処理されてしまうためである。また、タイムアウト検知を行わない場合には、リクエストパケットに対するコンプリーションがパケットロスしてしまうと、返答が返ってこないためである。【００１９】
本発明の目的は、遅延やパケットロスが発生した際にコンピュータシステムに障害またはフリーズを発生させないように、コンピュータバスのコネクション管理を行うコネクション管理ユニット、およびコネクション管理方法を提供することにある。
【課題を解決するための手段】
【００２０】
前記目的を達成するため、本発明に係るコネクション管理ユニットは、リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信に用いられるコネクション管理ユニットであって、
上記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
ダミーの返信パケットを生成し上記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、上記ダミーの返信パケットの送信後に上記リクエスト先から届いた正規の返信パケットを破棄するフィルタ機能、を有する。【００２１】
本発明の一つの態様のコネクション管理方法は、リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、上記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
ダミーの返信パケットを生成し上記リクエスト元へ送信し、上記ダミーの返信パケットの送信後に上記リクエスト先から届いた正規の返信パケットを破棄する。【００２２】
本発明の他の一つの態様のコネクション管理方法は、リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、上記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、
上記リクエスト元へエラー通知すると共に、エラー通知後に上記リクエスト先から届いた正規の返信パケットを破棄する。
【発明の効果】
【００２３】
本発明は、遅延やパケットロスが発生した際にコンピュータシステムに障害またはフリーズを発生させないように、コンピュータバスのコネクション管理を行うことができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の第１実施形態によるコネクション管理ユニットを含むコンピュータを示すブロック図である。
【図２】図１のコネクション管理機構の詳細を示すブロック図である。
【図３】コンピュータバスを通過するリクエストパケットのフォーマットを示す図である。
【図４】コンピュータバスを通過するコンプリーションパケットのフォーマットを示す図である。
【図５】本発明の第１実施形態によるコネクション管理ユニットのＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブルの詳細を示す図である。
【図６】本発明の第１実施形態のアクセストラップ機能の動作を示す図である。
【図７】本発明の第１実施形態のコネクション管理機構で、コンピュータバスでタイムアウトを検知する場合の動作を示す図である。
【図８】本発明の第１実施形態のコネクション管理機構で、コンピュータバスでタイムアウトを検知しない場合の動作を示す図である。
【図９】本発明の第１実施形態のコネクション管理機構で、コンピュータバスでタイムアウトを検知する場合のパケットの流れを示す図である。
【図１０】本発明の第１実施形態のコネクション管理機構で、コンピュータバスでタイムアウトを検知しない場合のパケットの流れを示す図である。
【図１１】本発明の第２実施形態によるコネクション管理ユニットを含むコンピュータシステムを示すブロック図である。
【図１２】（ａ）は本発明のその他の実施形態によるコネクション管理機構を実現する情報処理装置のブロック図であり、（ｂ）はその他の実施形態によるコネクション管理機構のブロック図である。
【図１３】コンピュータバスでタイムアウトを検知する場合で、コンプリーションパケットがロスした場合のアクセスフロー図である。
【図１４】コンピュータバスでタイムアウトを検知する場合で、コンプリーションパケットが遅延して到達する場合のアクセスフロー図である。
【図１５】コンピュータバスでタイムアウトを検知しない場合で、コンプリーションパケットがロスした場合のアクセスフロー図である。
【図１６】コンピュータバスでタイムアウトを検知しない場合で、コンプリーションパケットが遅延して到達する場合のアクセスフロー図である。
【発明を実施するための形態】
【００２５】
本発明の好ましい実施形態について、図面を参照しながら詳細に説明する。
【００２６】
〔第１実施形態〕
初めに、本発明の第１実施形態によるコネクション管理ユニット、およびコネクション管理方法について、説明する。図１は、本発明の第１実施形態によるコネクション管理ユニットを含むコンピュータの全体構成を示したブロック図である。図２は、図１のコンピュータ１内のコネクション管理機構１３の詳細を示したブロック図である。図３は、本発明の第１実施形態のアクセストラップ機能でトラップするリクエストパケットのフォーマットの一例である。図４は、本発明の第１実施形態のダミーコンプリーション生成・送信機能により送信されるコンプリーションパケットの例である。図５は、本発明の第１実施形態のＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブルの例を記載した表である。
【００２７】
［構成の説明］
図１のコンピュータ１は、本発明の第１実施形態によるコネクション管理ユニットの一例としてのコネクション管理機構１３を含む。図１のコンピュータ１は、ＣＰＵ１０（中央処理装置１０）、メモリ１１、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２、コネクション管理機構１３、およびＩ／Ｏデバイス１４（Ｉｎｐｕｔ／ｏｕｔｐｕｔデバイス１４）を含む。
【００２８】
Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２は、Ｉ／Ｏデバイス１４との通信を行う。コネクション管理機構１３は、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２とＩ／Ｏデバイス１４との間を接続するコンピュータバスに位置する。
【００２９】
Ｉ／Ｏデバイス１４は、コンピュータバスプロトコルに準拠したデバイスであり、グラフィックボード（ＧＰＵ）、ネットワークインターフェースカード（ＮＩＣ）やストレージデバイス（ＳＡＴＡ・ＮＶＭｅ）等を指す。
【００３０】
図１では、Ｉ／Ｏデバイス１４が１台の場合を示しているが、コンピュータ１に含まれるＩ／Ｏデバイス１４の数はこれに限られない。複数のＩ／Ｏデバイスをコンピュータ１内に保持する場合も、本実施形態と同様に扱うことができる。
【００３１】
図２のコネクション管理機構１３は、図１と同様にＲｏｏｔ  Ｃｏｍｐｌｅｘ１２と接続されている。図２のコネクション管理機構１３は、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブル１３１、アクセストラップ機能１３２、コンプリーションフィルタ機能１３３、ダミーコンプリーション生成・送信機能１３４、およびコネクション検知機能１３５を含む。
【００３２】
Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブル１３１は、リクエストパケットをＩ／Ｏデバイスやリクエスト種別毎のユニークなトランザクション別に管理する。
【００３３】
アクセストラップ機能１３２は、リクエストパケットをトラップする。
【００３４】
コンプリーションフィルタ機能１３３は、同一トランザクションに対して複数のコンプリーション処理が動作することを防ぐ。具体的には、ダミーコンプリーション生成・送信機能１３４がダミーの返信パケットを生成し送信した後に、正規返信パケットを受信した場合には、この正規返信パケットを破棄する。
【００３５】
ダミーコンプリーション生成・送信機能１３４は、返信パケットに遅延またはロスが発生した場合、ダミーの返信パケットを生成し送信する。具体的には、コンプリーションが返却されない時に、適切なコンプリーションを生成してリクエスト元に送信する。
【００３６】
コネクション検知機能１３５は、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２とＩ／Ｏデバイス１４を結ぶコンピュータバスのコネクションに遅延がある場合や切断があることを検知する。
【００３７】
図５のＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブルは、デバイスを区別するためのＤｅｖｉｃｅ列と、ユニークなトランザクションを区別するためのＴｒａｎｓａｃｔｉｏｎ  ＩＤ列と、該当トランザクションのリクエストパケットが送信された時刻を記憶するＴｉｍｅＳｔａｍｐ列と、該当トランザクションのリクエストパケットの内容を保持するＰａｃｋｅｔ情報列と、を含む。
【００３８】
図３は、メモリリクエストパケット（３２ｂｉｔ）、メモリリクエストパケット（６４ｂｉｔ）、およびリクエストパケット（メモリ以外）のフォーマットの一例を示す。図３のリクエストパケットのフォーマットは、リクエストパケットの種別をしめすＴｙｐｅフィールドと、リクエスト元のＩＤが記載されたＲｅｑｕｅｓｔｅｒ  ＩＤと、複数のリクエストを並列して投げた場合、それらのリクエストを区別するための番号であるＴａｇと、リクエストパケット内のデータであるＰａｙｌｏａｄを含む。
【００３９】
また、リクエストパケットの宛先として、３２ｂｉｔアドレス空間にアクセスする場合は宛先アドレスを３２ｂｉｔアドレスとして記載する。リクエストパケットの宛先として、６４ｂｉｔアドレス空間にアクセスする場合は宛先アドレスを６４ｂｉｔアドレスとして記載する。リクエストパケットの宛先として、メモリ空間以外の宛先へアクセスする場合はＢｕｓ／Ｄｅｖｉｃｅ／Ｆｕｎｃｔｉｏｎ番号をヘッダに記載する。
【００４０】
［動作の説明］
次に図６乃至図８に示すフローチャートと、図９および図１０のアクセスフロー図を参照して、本実施形態の送信端末の動作について詳細に説明する。
【００４１】
まずはコンピュータシステムのフリーズが発生するパターンとして、コンプリーションタイムアウト検知をリクエストパケット生成元が行う場合について、図６乃至図８を用いて説明する。
【００４２】
まず、リクエスト元（Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２またはＩ／Ｏデバイス１４）は、リクエスト先（Ｉ／Ｏデバイス１４またはＲｏｏｔ  Ｃｏｍｐｌｅｘ１２）に対してパケットを送信する。このパケットは、コンピュータバスとコネクション管理機構１３を通過してリクエスト先へ到達する。
【００４３】
コネクション管理機構１３がリクエスト元からパケットを受信する（Ａ１）と、そのパケットをアクセストラップ機能１３２に送信する。
【００４４】
アクセストラップ機能１３２は、受信したパケットのＴｙｐｅフィールドを見て、リクエストパケットのみを抽出し、リクエストパケットをＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブル１３１へ保存する（Ａ２）。その後、元々のリクエストパケットをそのままリクエスト先へ送信する（Ａ３）。
【００４５】
アクセストラップ機能１３２は、抽出したリクエストパケットをＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブル１３１へ保存する際、図５のＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブルに示すようなフォーマットでリクエストパケットを保持する。
【００４６】
Ｄｅｖｉｃｅ列はリクエスト先のＩＤを示すものであり、リクエストパケットの送信先であるＲｏｏｔ  Ｃｏｍｐｌｅｘ１２のＩＤかＩ／Ｏデバイス１４のＩＤが記録される。
【００４７】
Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ列は、トランザクションのユニークなＩＤであり、ＰＣＩ  Ｅｘｐｒｅｓｓをコンピュータバスとして使用する場合は、Ｔａｇ番号＋Ａｄｄｒｅｓｓ（３２ｂｉｔ/６４ｂｉｔ）かＴａｇ番号＋Ｂｕｓ／Ｄｅｖｉｃｅ／Ｆｕｎｃｔｉｏｎ番号が設定される。
【００４８】
Ｔａｇ番号は、リクエスト先デバイス毎にユニークなシーケンス番号であり、ＰＣＩ  Ｅｘｐｒｅｓｓでは、該当Ｔａｇ番号のコンプリーションが返却されない限り同一Ｔａｇ番号のリクエストパケットは送信しない。
【００４９】
Ａｄｄｒｅｓｓは、リクエストパケットの宛先アドレスであり、ＰＣＩ  Ｅｘｐｒｅｓｓデバイスのメモリ空間がマッピングされているデバイスのアドレス空間である。３２ｂｉｔアドレスで管理されている場合は３２ｂｉｔアドレスが宛先として設定され、６４ｂｉｔアドレスで管理されている場合は６４ｂｉｔアドレスが宛先として設定される。
【００５０】
Ｂｕｓ／Ｄｅｖｉｃｅ／Ｆｕｎｃｔｉｏｎ番号は、メモリ空間に対するリクエストパケット以外で使用される番号であり、リクエスト先のデバイスへリクエストパケットを送信するために必要な番号となる。
【００５１】
ＰＣＩ  Ｅｘｐｒｅｓｓの場合、リクエストパケットの種別によってＴａｇ＋Ａｄｄｒｅｓｓ（３２ｂｉｔ／６４ｂｉｔ）か、Ｔａｇ＋Ｂｕｓ／Ｄｅｖｉｃｅ／Ｆｕｎｃｔｉｏｎが、各トランザクションのユニークなＩＤとして使用される。
【００５２】
ＴｉｍｅＳｔａｍｐ列は、リクエストパケットをコネクション管理機構１３が受信した際の時刻を示す列である。
【００５３】
Ｐａｃｋｅｔ情報列は、リクエストパケットのうち、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ以外のヘッダ情報またはＰａｙｌｏａｄ情報が含まれるパケット情報である。パケットをそのまますべて保存する場合や、指定した箇所のみを保存する場合がある。
【００５４】
次に、リクエストパケットに対するコンプリーションが遅延した場合の動作について、説明する。
【００５５】
まずコネクション検知機能１３５は、コネクションの遅延や切断を検知する（Ｂ１）。このコネクションの遅延や切断には、コンピュータバスの遅延やリンク障害、コネクションの障害の発生が含まれる。検知方法は例えば、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブルのＴｉｍｅＳｔａｍｐ値と現在の時刻の差がある一定時間Ｔ[ｍｓ]以上になったことを検出することにより検知するか、コンピュータバスに障害があったことを外部のエラー検知機構により通知されたときに検知する、とする。
【００５６】
コネクション検知機能１３５は、エラーを検知した場合、そのエラーをコンプリーションフィルタ機能１３３に通知する。コネクションの遅延や切断の検知を、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブルのＴｉｍｅＳｔａｍｐ値から検知する場合は、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ毎にエラーを通知する。また、コンピュータバスに障害があった場合は、リクエスト元デバイス毎にエラーを通知する。このエラー通知は、コンピュータバスのプロトコルで決定されるタイムアウトよりも早くエラーを検知するものとする。
【００５７】
コンプリーションフィルタ機能１３３は、コネクション検知機能１３５から通知されたＴｒａｎｓａｃｔｉｏｎ  ＩＤのコンプリーションをフィルタする（Ｂ２）。言い換えるとコンプリーションフィルタ機能１３３は、コネクション検知機能１３５から通知を受けた際、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤを参照し、通知を受けたトランザクションに対するコンプリーションパケットを受信した際に廃棄する。
【００５８】
次にリクエスト元のコンプリーションタイムアウトにより、リクエスト元へエラー通知する（Ｂ３）。リクエスト元は、コンピュータバスのプロトコルのタイムアウトにより、コンプリーションの無いリクエストパケットに対して、エラーを通知する。エラーの通知先は、主にＣＰＵ１０やＩ／Ｏデバイス１４、またはＣＰＵ１０上で動作するアプリケーションプログラム等である。
【００５９】
エラー通知を受けたリクエスト元は、エラーハンドリング処理へ移行する（Ｂ４）。すなわち、エラー通知を受けたリクエスト元は、エラー通知に対応するエラーハンドリングを行う。ここで、エラーハンドリング後に正規のコンプリーションパケットが遅延して到着した場合にも、コンプリーションフィルタ機能１３３により、正規のコンプリーションがフィルタされる。このコンプリーションのフィルタにより、正規返信パケットが破棄されるため、同一トランザクションのコンプリーションが二重に返却されることは無い。
【００６０】
次にコンピュータシステムのフリーズが発生するパターンとして、コンプリーションタイムアウト検知をリクエストパケット生成元が行わない場合について、図８、図９を用いて説明する。
【００６１】
アクセストラップ機能１３２は、Ａ１〜Ａ３のフローチャートと同様に動作する。
【００６２】
まずコネクション検知機能１３５は、コネクションの遅延や切断を検知する（Ｃ１）。このコネクションの遅延や切断には、コンピュータバスの遅延やリンク障害、コネクションの障害の発生が含まれる。検知方法は例えば、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブルのＴｉｍｅＳｔａｍｐ値と現在の時刻の差がある一定時間Ｔ[ｍｓ]以上になったことを検出することにより検知するか、コンピュータバスに障害があったことを外部のエラー検知機構により通知されたときに検知する、とする。
【００６３】
コネクション検知機能１３５は、エラーを検知した場合、そのエラーをコンプリーションフィルタ機能１３３とダミーコンプリーション生成・送信機能１３４に通知する。コネクションの遅延や切断の検知を、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブルのＴｉｍｅＳｔａｍｐ値から検知する場合は、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤ毎にエラーを通知する。また、コンピュータバスに障害があった場合は、リクエスト元デバイス毎にエラーを通知する。このエラー通知は、コンピュータバスのプロトコルで決定されるタイムアウトよりも早くエラーを検知するものとする。
【００６４】
コンプリーションフィルタ機能１３３は、コネクション検知機能１３５から通知されたＴｒａｎｓａｃｔｉｏｎ  ＩＤのコンプリーションをフィルタする（Ｃ２）。言い換えるとエラー通知を受信したコンプリーションフィルタ機能１３３は、コネクション検知機能１３５から通知を受けた際、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤを参照し、通知を受けたトランザクションに対するコンプリーションパケットを受信した際に廃棄する。
【００６５】
次に、ダミーコンプリーション返答機能により、フィルタされたＴｒａｎｓａｃｔｉｏｎ  ＩＤのリクエストに対するダミーコンプリーションを生成し、リクエスト元へ返信する（Ｃ３）。エラー通知を受信したダミーコンプリーション生成・送信機能１３４は、コネクション検知機能１３５から通知を受けた際、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤを参照し、通知を受けたトランザクションに対するコンプリーションをダミーコンプリーションとして疑似的に生成する。
【００６６】
この時生成されるダミーコンプリーションの例を、図４に記載する。ダミーコンプリーションのヘッダには、コンプリーションの形式を記載するＴｙｐｅと、コンプリーション送信元のＣｏｍｐｌｅｔｅｒ  ＩＤと、リクエストパケットのＴａｇ番号と、リクエスト元のＩＤであるＲｅｑｕｅｓｔｅｒ  ＩＤと、Ｐａｙｌｏａｄを含む。ここでリクエストパケットのＴａｇ番号とリクエスト元のＩＤであるＲｅｑｕｅｓｔｅｒ  ＩＤはＴｒａｎｓａｃｔｉｏｎ  ＩＤテーブルを参照して、エラー検知をしたトランザクションと同じ値に設定する。Ｔｙｐｅ値にはコンプリーションパケットであることを示す値を設定する。そのほかのフィールド（Ｃｏｍｐｌｅｔｅｒ  ＩＤとＰａｙｌｏａｄ）については、Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブルを参照して、同じ値を設定するか、ユーザが任意に決定した値を設定するものとする。
【００６７】
ダミーコンプリーションを受信したリクエスト元は、ダミーコンプリーションに伴うエラーハンドリング処理へ移行する（Ｃ４）。すなわちダミーコンプリーションを受信したリクエスト元は、ダミーコンプリーションに伴うエラー処理を行うか、正常動作を継続させる。これによりリクエストに対するコンプリーションが返信されず、コンピュータシステムがフリーズすることを防ぐ。
【００６８】
また、コネクション検知機能１３５は、コンピュータバスのプロトコルでタイムアウト検知を行うか、行わないか、を認識し、タイムアウト検知を行う場合の動作フローとタイムアウト検知を行わない場合の動作フローの切替えを行う。コンピュータバスプロトコルでタイムアウト検知を行うかどうかを認識する方法としては、コンピュータ上で動作するアプリケーションプログラムの設定を参照して認識する方法や、ユーザがコネクション管理機構１３の設定項目として入力する場合がある。
【００６９】
［効果の説明］
次に本実施形態の効果について、説明する。
【００７０】
本実施形態の効果は、コンピュータバスプロトコルでタイムアウトを検知する場合としない場合の双方で、コンピュータシステムに障害またはフリーズが発生することを防ぐことができることにある。その理由は、コンピュータバスを通過するリクエストパケットに対するコンプリーションが返却されない状態、または返却されるコンプリーションが二重に返却される状態を防ぐように、ダミーコンプリーションを生成して返却すること、またはコンプリーションをフィルタするためである。さらにコンピュータバスプロトコルの設定に応じて、コネクション検知機能のエラー通知方法を切り替えられるためである。
【００７１】
〔第２実施形態〕
次に、本発明の第２実施形態によるコネクション管理ユニット、およびコネクション管理方法について、説明する。本実施形態は、第１実施形態のようなコネクション管理ユニットを含むコンピュータを備えた、コンピュータシステムに関するものである。第１実施形態と同様な要素には同じ参照番号を付して、その詳細な説明は省略することとする。
【００７２】
［構成の説明］
図１１は、本発明の第２実施形態におけるコンピュータシステムの詳細ブロックを示す。図１１のコンピュータシステムは、コンピュータ１と、Ｉ／Ｏデバイスを収容するＩ／Ｏ  ＢＯＸ３と、コンピュータ１とＩ／Ｏ  ＢＯＸ３を繋ぐネットワーク２と、を含む。
【００７３】
図１１のコンピュータ１は、本発明の第１実施形態と同様に、コネクション管理ユニットの一例としてのコネクション管理機構１３を含むコンピュータ１である。図１１のコンピュータ１は、ＣＰＵ１０、メモリ１１、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２、およびコネクション管理機構１３を含む。さらに図１１のコンピュータ１は、ネットワークＩ／Ｆ１５（ネットワークインターフェース１５）を含む。
【００７４】
ＣＰＵ１０は、Ｉ／Ｏ  ＢＯＸ３のＩ／Ｏデバイス３１と通信するアプリケーションプログラムを動作させる。Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２は、コンピュータバスの通信のために設けられている。本実施形態のコネクション管理機構１３は第１実施形態と同様に、コンピュータバス通信におけるコネクションを管理する。
【００７５】
本実施形態のネットワークＩ／Ｆ１５は、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２から生成されるコンピュータバスパケットを、ネットワークパケットでカプセル化・デカプセル化する。
【００７６】
ネットワーク２を介してコンピュータ１に繋がれるＩ／Ｏ  ＢＯＸ３は、コンピュータバスパケットをネットワークパケットでカプセル化・デカプセル化するネットワークＩ／Ｆ３０と、Ｉ／Ｏデバイス３１と、を含む。
【００７７】
ここで図１１のネットワークは、イーサネット（登録商標）やＩＰネットワークなどの通信ネットワーク等のことを指す。
【００７８】
本実施形態は、第１実施形態のＲｏｏｔ  Ｃｏｍｐｌｅｘ１２とＩ／Ｏデバイス１４間を結ぶコンピュータバスを、ネットワーク２でオーバレイしたものである。なお、図１１ではコネクション管理機構１３がＲｏｏｔ  Ｃｏｍｐｌｅｘ１２とネットワークＩ／Ｆ１５の間に挿入されているが、コネクション管理機構１３の挿入位置はこれに限られない。すなわち、本実施形態のコネクション管理機構１３は、Ｒｏｏｔ  Ｃｏｍｐｌｅｘ１２とＩ／Ｏデバイス３１間のどこに位置していても良い。例えば、ネットワーク２内のルータやスイッチに実装される場合や、Ｉ／Ｏ  ＢＯＸ３の中に実装される場合なども考えられる。また、コネクション管理機構１３の位置により、コネクション管理機構１３の動作そのものは変化しない。
【００７９】
［動作の説明］
動作については、コンピュータバスの通信がイーサネットなどのネットワークでオーバレイされるのみで相違するものの、上述した第１実施形態の動作と同様である。
【００８０】
［効果の説明］
本実施形態によれば第１実施形態と同様に、コンピュータバスプロトコルでタイムアウトを検知する場合としない場合の双方で、コンピュータシステムに障害またはフリーズが発生することを防ぐことができる。その理由は、コンピュータバスを通過するリクエストパケットに対するコンプリーションが返却されない状態、または返却されるコンプリーションが二重に返却される状態を防ぐように、ダミーコンプリーションを生成して返却すること、またはコンプリーションをフィルタするためである。さらにコンピュータバスプロトコルの設定に応じて、コネクション検知機能１３５のエラー通知方法を切り替えられるためである。
【００８１】
さらに本実施形態によれば、コンピュータバスの通信がイーサネットなどのネットワークでオーバレイされたコンピュータシステムにおいても、コンピュータシステムに障害またはフリーズが発生することを防ぐことができる。特に本実施形態では、イーサネットなどのネットワークを使うことにより遅延に大きな揺らぎが発生することから、コンプリーションパケットの遅延に対して対処を行うコネクション管理機構の効果が大きい。
【００８２】
〔その他の実施形態〕
上述した本発明の各実施形態に係るコネクション管理ユニットは、このような構成や動作を実現するプログラムを実行できる情報処理装置によっても実現されうる。このプログラムは、コンピュータ読み取り可能な記録媒体の形態で、流通され得る。このような記録媒体に記録されたプログラムを読み込んで、情報処理装置で実行することにより、本実施形態の機能をソフトウェア的に実現してもよい。
【００８３】
図１２（ａ）は、本発明のその他の実施形態によるコネクション管理ユニットを実現する情報処理装置１００のブロック図であり、図１２（ｂ）はその他の実施形態によるコネクション管理機構のブロック図である。図１２（ａ）の情報処理装置は、ＣＰＵ１００ａと、メモリ１００ｂと、を含む。図１２（ｂ）のコネクション管理機構は本発明のその他の実施形態によるコネクション管理ユニットの一例であり、アクセストラップ機能１３２と、コンプリーションフィルタ機能１３３と、ダミーコンプリーション生成・送信機能１３４と、を含む。
【００８４】
このようなハードウェア構成の情報処理装置１００で、上述した本発明の実施形態のコネクション管理機構は、実現され得る。すなわち、ＣＰＵ１００ａに、アクセストラップ機能１３２と、コンプリーションフィルタ機能１３３と、ダミーコンプリーション生成・送信機能１３４と、を実現させるように構成すればよい。このような機能を情報処理装置に実現させるプログラムは、プログラムを記録した記録媒体の形態で、流通され得る。このプログラムは、ＣＦ（Compact Flash（登録商標））およびＳＤ（Secure Digital）等の汎用的な半導体記録デバイス、フレキシブルディスク（Flexible Disk）等の磁気記録媒体、またはＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの光学記録媒体などの形態で、流通され得る。
【００８５】
以上、本発明の好ましい実施形態を説明したが、本発明はこれに限定されるものではない。請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
【００８６】
上記実施形態の一部または全部は、以下の付記のようにも記載されうるが、以下には限られない。
（付記１）リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、ダミーの返信パケットを生成し前記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、前記ダミーの返信パケットの送信後に前記リクエスト先から届いた正規の返信パケットを破棄するフィルタ機能、を有するコネクション管理ユニット。
（付記２）コンピュータバスプロトコルで定義されるタイムアウトが発生する前に、前記ダミー返信パケット生成送信機能を有効にする、およびまたは、前記フィルタ機能を有効にするコネクション検知機能をさらに有する、付記１に記載のコネクション管理ユニット。
（付記３）前記コンピュータバスを通過するリクエストパケットをトラップするトラップ機能をさらに有する、付記２に記載のコネクション管理ユニット。
（付記４）前記トラップ機能がトラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する機能を有する、付記３に記載のコネクション管理ユニット。
（付記５）前記ダミーの返信パケットは、前記テーブルを参照し、前記コネクション検知機能で検知したレコードに対するダミーの返信パケットである、付記４に記載のコネクション管理ユニット。
（付記６）コンピュータバスプロトコルにおいて、タイムアウト検知を行いエラー通知をする機能が有効か無効かによって、前記ダミー返信パケット生成送信機能と前記フィルタ機能の有効化・無効化を自動で設定する機能を有する、付記１に記載のコネクション管理ユニット。
（付記７）タイムアウト検知を行い、エラー通知をする機能が有効な場合、前記ダミー返信パケット生成送信機能を無効化し、前記フィルタ機能を有効化する、付記６に記載のコネクション管理ユニット。
（付記８）タイムアウト検知を行わず、エラー通知をする機能が無効な場合、前記ダミー返信パケット生成送信機能を有効化し、前記フィルタ機能を有効化する、付記６に記載のコネクション管理ユニット。
（付記９）リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、ダミーの返信パケットを生成し前記リクエスト元へ送信し、前記ダミーの返信パケットの送信後に前記リクエスト先から届いた正規の返信パケットを破棄する、コネクション管理方法。
（付記１０）リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信において、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合、前記リクエスト元へエラー通知すると共に、エラー通知後に前記リクエスト先から届いた正規の返信パケットを破棄する、コネクション管理方法。
（付記１１）前記コンピュータバスを通過するリクエストパケットをトラップし、トラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する、付記９又は付記１０に記載のコネクション管理方法。
（付記１２）リクエスト元とリクエスト先との間でパケットを送信するコンピュータバスの通信に用いられるコネクション管理プログラムであって、コンピュータに、前記リクエスト先から送信される返信パケットに遅延またはロスが発生した場合に、ダミーの返信パケットを生成し前記リクエスト元へ送信するダミー返信パケット生成送信機能およびまたは、前記ダミーの返信パケットの送信後に届いた正規の返信パケットを破棄するフィルタ機能、を実現させるコネクション管理プログラム。
（付記１３）前記コンピュータに、コンピュータバスプロトコルで定義されるタイムアウトが発生する前に、前記ダミー返信パケット生成送信機能を有効にする、およびまたは、前記フィルタ機能を有効にするコネクション検知機能をさらに実現させる、付記１２に記載のコネクション管理プログラム。
（付記１４）前記コンピュータに、前記コンピュータバスを通過するリクエストパケットをトラップするトラップ機能をさらに実現させる、付記１３に記載のコネクション管理プログラム。
（付記１５）前記コンピュータに、前記トラップ機能がトラップしたパケットから取得可能な、受信時刻、パケットの送信元、パケットの送信先、トランザクションをユニークに管理するＩＤ、をテーブルとして保持する機能をさらに実現させる、付記１４に記載のコネクション管理プログラム。
（付記１６）前記ダミーの返信パケットは、前記テーブルを参照し、前記コネクション検知機能で検知したレコードに対するダミーの返信パケットである、付記１５に記載のコネクション管理プログラム。
（付記１７）前記コンピュータに、コンピュータバスプロトコルにおいて、タイムアウト検知を行いエラー通知をする機能が有効か無効かによって、前記ダミー返信パケット生成送信機能と前記フィルタ機能の有効化・無効化を自動で設定する機能をさらに実現させる、付記１２に記載のコネクション管理プログラム。
（付記１８）タイムアウト検知を行い、エラー通知をする機能が有効な場合、前記ダミー返信パケット生成送信機能を無効化し、前記フィルタ機能を有効化する、付記１７に記載のコネクション管理プログラム。
（付記１９）タイムアウト検知を行わず、エラー通知をする機能が無効な場合、前記ダミー返信パケット生成送信機能を有効化し、前記フィルタ機能を有効化する、付記１７に記載のコネクション管理プログラム。
【００８７】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００８８】
この出願は、２０１７年１月１３日に出願された日本出願特願２０１７−４３８９号を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００８９】
１    コンピュータ
１０    ＣＰＵ
１１    メモリ
１２    Ｒｏｏｔ  Ｃｏｍｐｌｅｘ
１３    コネクション管理機構
１３１    Ｔｒａｎｓａｃｔｉｏｎ  ＩＤテーブル
１３２    アクセストラップ機能
１３３    コンプリーションフィルタ機能
１３４    ダミーコンプリーション生成・送信機能
１３５    コネクション検知機能
１４    Ｉ／Ｏデバイス
１５    ネットワークＩ／Ｆ
２    ネットワーク
３    Ｉ／Ｏ  ＢＯＸ
３０    ネットワークＩ／Ｆ
３１    Ｉ／Ｏデバイス
【図１】
2018131550.tif 000003
【図２】
2018131550.tif 000004
【図３】
2018131550.tif 000005
【図４】
2018131550.tif 000006
【図５】
2018131550.tif 000007
【図６】
2018131550.tif 000008
【図７】
2018131550.tif 000009
【図８】
2018131550.tif 000010
【図９】
2018131550.tif 000011
【図１０】
2018131550.tif 000012
【図１１】
2018131550.tif 000013
【図１２】
2018131550.tif 000014
【図１３】
2018131550.tif 000015
【図１４】
2018131550.tif 000016
【図１５】
2018131550.tif 000017
【図１６】
2018131550.tif 000018
【国際調査報告】
2018131550.tif 000019
2018131550.tif 000020
2018131550.tif 000021