JP4408692B2 - 通信装置管理プログラム - Google Patents

通信装置管理プログラム Download PDF

Info

Publication number
JP4408692B2
JP4408692B2 JP2003422942A JP2003422942A JP4408692B2 JP 4408692 B2 JP4408692 B2 JP 4408692B2 JP 2003422942 A JP2003422942 A JP 2003422942A JP 2003422942 A JP2003422942 A JP 2003422942A JP 4408692 B2 JP4408692 B2 JP 4408692B2
Authority
JP
Japan
Prior art keywords
memory area
virtual identifier
data
communication device
communication
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.)
Expired - Fee Related
Application number
JP2003422942A
Other languages
English (en)
Other versions
JP2005182491A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2003422942A priority Critical patent/JP4408692B2/ja
Priority to US11/014,680 priority patent/US8180842B2/en
Publication of JP2005182491A publication Critical patent/JP2005182491A/ja
Application granted granted Critical
Publication of JP4408692B2 publication Critical patent/JP4408692B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Description

本発明は直接転送を行うための通信装置管理プログラム、通信装置管理方法、および通信管理装置に関し、特に大規模なネットワークシステムにおいて効率の良い直接転送を実現できる通信装置管理プログラム、通信装置管理方法、および通信管理装置に関する。
大規模なコンピュータネットワークでは、複数のサーバが稼働している。これらの各サーバが互いに連携して動作することで、高度な情報処理サービスをユーザに提供することができる。このようなシステムでは、ネットワークを介したサーバ間のデータ転送が頻繁に発生する。そのため、システム全体の処理能力を向上させるには、データ転送の効率化が不可欠となる。
図28は、従来のデータ転送方式を示す図である。図28に示すように、コンピュータ910とコンピュータ920とが通信媒体930で接続されている。
コンピュータ910には、ソフトウェアによってユーザアプリケーション911と通信装置管理部912とが実装されている。ユーザアプリケーション911と通信装置管理部912とのそれぞれに対して、メモリ空間上のメモリ領域911a,912aが割り当てられている。また、コンピュータ910は、通信装置913によって通信媒体930に接続されている。
同様に、コンピュータ920には、ソフトウェアによってユーザアプリケーション921と通信装置管理部922とが実装されている。ユーザアプリケーション921と通信装置管理部922とのそれぞれに対して、メモリ空間上のメモリ領域921a,922aが割り当てられている。また、コンピュータ920は、通信装置923によって通信媒体930に接続されている。
ここで、コンピュータ910のユーザアプリケーション911からコンピュータ920のユーザアプリケーション921に対してデータ転送を行う場合のデータ転送手順を説明する。
送信側のコンピュータ910では、ユーザアプリケーション911が、通信装置管理部912に対して転送要求を出力する。通信装置管理部912は、ユーザアプリケーションのメモリ領域911aから自己の管理するメモリ領域912aに対応する記録媒体へデータをコピーする。その後、通信装置管理部912は、メモリ領域912a内のデータを含むパケットを生成し、そのパケットを通信装置913に転送する。通信装置913は、受け取ったパケットを通信媒体930経由でコンピュータ920に転送する。
コンピュータ920側では、ユーザアプリケーション921が、通信装置管理部922に対して受信要求を出力する。そして、通信媒体930を介して送られたパケットを通信装置923で受信する。通信装置923は、受信したパケットを通信装置管理部922に転送する。通信装置管理部922は、受け取ったパケット内のデータを自己のメモリ領域922aに対応する記録媒体に格納する。その後、通信装置管理部922は、メモリ領域922a内のデータをユーザアプリケーション921のメモリ領域921aにコピーする(たとえば、非特許文献1参照)。
このように、従来のデータ転送方式では、送信側と受信側との双方において、バッファとなる記録媒体への書き込みとデータのコピーが発生する。このようなコピー処理は、データ転送全体の処理効率を低下させる要因となる。そこで、データ転送の処理効率を向上させるために、データのコピーを伴わないデータ転送方式(ゼロコピー通信)が考えられている。
ゼロコピー通信を実現する場合、たとえば、ハードウェアアシストを用いたRDMA(Remote Direct Memory Access)機能を有する通信装置が使用される。
図29は、RDMAを利用したデータ転送方式を示す図である。図29に示すように、コンピュータ940とコンピュータ950とが通信媒体960で接続されている。
コンピュータ940には、ソフトウェアによってユーザアプリケーション941と通信装置管理部942とが実装されている。ユーザアプリケーション941には、アドレス空間上のメモリ領域941aが割り当てられている。また、コンピュータ940は、通信装置943によって通信媒体960に接続されている。
同様に、コンピュータ950には、ソフトウェアによってユーザアプリケーション951と通信装置管理部952とが実装されている。ユーザアプリケーション951には、アドレス空間上のメモリ領域951aが割り当てられている。また、コンピュータ950は、通信装置953によって通信媒体960に接続されている。
ここで、コンピュータ940のユーザアプリケーション941からコンピュータ950のユーザアプリケーション951に対してデータ転送を行う場合のデータ転送手順を説明する。
送信側のコンピュータ940では、ユーザアプリケーション941が、通信装置管理部942に対して転送要求を出力する。通信装置管理部942はRDMA転送の指示を通信装置943に与え、ユーザアプリケーションのメモリ領域941aから通信装置943へデータを転送する。通信装置管理部942は、受け取ったデータをRDMAにより通信装置943に転送する。通信装置943は、コンピュータ950側のI/Oアドレスを指定して、受け取ったデータを通信媒体960経由でコンピュータ950に転送する。
コンピュータ950側では、ユーザアプリケーション951が、通信装置管理部952に対して受信要求を出力する。そして、通信媒体960を介してRDMA転送で送られたデータを通信装置953で受信する。通信装置953は、受信したデータをユーザアプリケーション951のメモリ領域951aに転送する。
このように、RDMA機能を有する通信装置943,953を用いれば、各コンピュータ940,950内でデータのコピーを行わずに、通信媒体960経由のデータ転送が可能となる。なお、RDMAが正しく実行されたかどうかのアクセス確認技術も考えられている(たとえば、特許文献1参照)。
特開2002−351817号公報 W・リチャード・スティーブンス著「UNIXネットワークプログラミング 第2版 Vol.1」ピアソン・エデュケーション出版、1999年7月30日、p.48−49
ところで、従来のRDMA転送では、送信相手のメモリ領域等を意識しながら転送する必要がある。すなわち、RDMA転送を開始する際には、転送すべきデータ量に応じたメモリ領域をデータ受信側のメモリ空間上に確保し、各サーバ上のアプリケーションがメモリ領域のアドレスを認識する必要がある。このようなメモリ領域の確保処理を通信の度に行っていたのでは、サーバが協働して実行するサービスの処理効率が低下する。そのため、RDMA転送によりデータを受信する装置では、送信元のコンピュータに対応するデータ受信用のメモリ領域を、メモリ空間内に予め確保しておく必要がある。
しかし、データ転送が行われていない間も、通信相手のコンピュータに応じたメモリ領域を確保しておくと、メモリ空間が無駄に消費されてしまう。特に、多数のサーバからデータ転送が行われる場合、サーバ毎にデータ転送用のメモリ領域を確保する必要があるため、メモリ空間内のメモリ領域が足りなくなる虞もある。
たとえば、仮想メモリ空間を実現したコンピュータであっても、データ転送に使用できるのは、その仮想メモリ空間の一部である。しかも、転送するデータの容量が大きければ、その容量の分だけメモリ領域を確保しなければならない。そのため、複数のコンピュータからデータ転送を受けるサーバにおいて、接続された全てのコンピュータ用にメモリ領域を確保しておくことは現実的ではない。
本発明はこのような点に鑑みてなされたものであり、RDMA転送を受ける際のメモリ空間の使用効率を向上させることができる通信装置管理プログラムを提供することを目的とする。
本発明の第1の態様では上記課題を解決するために、図1のノード1に示すような、通信装置管理プログラムが提供される。この通信装置管理プログラムは、通信装置1aのメモリアドレスを管理するためのものである。通信装置管理プログラムはコンピュータに対して以下の処理を実行させることができる。
仮想識別子送信手段1cが、ネットワークを介して接続されている通信相手からデータを取得するプロセス1bに対応する仮想識別子を通信相手に送信する。通信相手から仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段1dが、通信装置1aのデータ受信用メモリ領域をメモリ空間上に確保する。識別子管理情報格納手段1eが、仮想識別子とデータ受信用メモリ領域との対応関係を示す識別子管理情報を記憶装置1fに格納する。メモリ領域通知手段1gが、確保されたデータ受信用メモリ領域を通信相手に通知する。通信相手からデータ受信用メモリ領域を指定した転送データ3を受け取ると、データ受信制御手段1hが、記憶装置1fを参照してデータ受信用メモリ領域に対応するプロセス1bを判断し、通信装置1aに対し、プロセス1bが管理するメモリ領域への転送データ3の格納指示を出力する。
このような通信装置管理プログラムをコンピュータに実行させると、仮想識別子送信手段1cによりプロセス1bに対応する仮想識別子を通信相手に送信される。その後、仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段1dにより通信装置1aのデータ受信用メモリ領域がメモリ空間上に確保される。次に、識別子管理情報格納手段1eにより、仮想識別子とデータ受信用メモリ領域との対応関係が記憶装置1fに格納される。また、メモリ領域通知手段1gにより、確保されたデータ受信用メモリ領域が通信相手に通知される。通信相手からデータ受信用メモリ領域を指定した転送データを受け取ると、データ受信制御手段1hにより、識別子管理情報を参照してメモリ領域に対応するプロセスが判断され、通信装置1aに対し、プロセス1bが管理するメモリ領域へ転送データを格納させる。
また、本発明の第2の態様では上記課題を解決するために、図1のノード2に示すような通信装置管理プログラムが提供される。この通信装置管理プログラムは、通信相手のメモリアドレスを指定したデータ転送を行うためのものである。通信装置管理プログラムに基づいて、コンピュータにより以下の処理が実行される。
仮想識別子受信手段2cが、ネットワークを介して接続されている通信相手から仮想識別子を受信して、仮想識別子を記憶装置2gに格納する。メモリ領域判断手段2dが、プロセス2bから仮想識別子を指定した転送要求を受け取ると、記憶装置2gを参照して、仮想識別子に対応する通信相手のデータ受信用メモリ領域の確保の有無を判断する。メモリ領域が確保されていない場合、メモリ領域確保要求手段2eが、通信相手に対してデータ受信用メモリ領域の確保要求を送信する。通信相手から確保されたデータ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段2fが、メモリ領域を示す情報を仮想識別子に対応付けて記憶装置2gに格納する。データ送信制御手段2hが、記憶装置2gを参照し、転送要求で指定された仮想識別子に対応するデータ受信用メモリ領域を判断し、通信装置2aに対し、プロセス2bが管理するメモリ領域内から通信相手へのデータ受信用メモリ領域を指定したデータ転送指示を出力する。
このような通信装置管理プログラムをコンピュータに実行させると、仮想識別子受信手段2cにより、ネットワークを介して接続されている通信相手から仮想識別子が受信され、仮想識別子が記憶装置2gに格納される。その後、メモリ領域判断手段2dにより、プロセス2bから仮想識別子を指定した転送要求を受け取ると、記憶装置2gが参照され、仮想識別子に対応する通信相手のデータ受信用メモリ領域の確保の有無が判断される。メモリ領域が確保されていない場合、メモリ領域確保要求手段2eにより、通信相手に対してデータ受信用メモリ領域の確保要求が送信される。そして、通信相手から確保されたデータ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段2fにより、メモリ領域を示す情報が仮想識別子に対応付けて記憶装置2gに格納される。さらに、データ送信制御手段2hにより、記憶装置2gが参照され、転送要求で指定された仮想識別子に対応するデータ受信用メモリ領域が判断され、通信装置2aに対し、プロセス2bが管理するメモリ領域内から通信相手へのデータ受信用メモリ領域を指定したデータ転送指示が出力される。
以上説明したように本発明の第1の態様では、プロセスに対応する仮想識別子を送信し、その仮想識別子に対するメモリ領域の確保要求を受けたときにデータ受信用メモリ領域を確保するようにした。そのため、全ての通信相手毎のデータ受信用メモリ領域を予め確保しておく必要がなく、メモリ空間の有効利用が可能となる。
また、以上説明したように本発明の第2の態様では、プロセスから仮想識別子を指定した転送要求が出された際に、その仮想識別子に対応するメモリ領域の確保を要求し、確保されたデータ受信用メモリ領域を指定してデータ転送を行うようにした。そのため、通信相手側にデータ受信用メモリ領域を予め確保しておく必要がなく、通信相手のメモリ空間の有効利用が可能となる。
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。図1の例では、ノード2からノード1に対してRDMAによるデータ転送が行われる。
ノード1は、RDMA機能をサポートした通信装置1aを有している。また、ノード1では、ネットワークを介してデータを受信するプロセス1bが実行されている。さらに、ノード1は、通信装置1aによるデータ受信処理を管理するために、仮想識別子送信手段1c、メモリ領域確保手段1d、識別子管理情報格納手段1e、記憶装置1f、メモリ領域通知手段1g、およびデータ受信制御手段1hを有している。
仮想識別子送信手段1cは、プロセス1bに対応する仮想識別子を通信相手に送信する。メモリ領域確保手段1dは、通信相手から仮想識別子を指定したアドレス取得要求を受け取ると、通信装置1aのデータ受信用メモリ領域をメモリ空間上に確保する。識別子管理情報格納手段1eは、仮想識別子とデータ受信用メモリ領域との対応関係を示す識別子管理情報を記憶装置1fに格納する。メモリ領域通知手段1gは、確保されたデータ受信用メモリ領域を通信相手に通知する。データ受信制御手段1hは、通信相手からデータ受信用メモリ領域を指定した転送データ3を受け取ると、記憶装置1fを参照してデータ受信用メモリ領域に対応するプロセス1bを判断し、通信装置1aに対し、プロセス1bが管理するメモリ領域への転送データ3の格納指示を出力する。
ノード2は、RDMA機能をサポートした通信装置2aを有している。また、ノード2では、ネットワークを介してデータを送信するプロセス2bが実行されている。プロセス2bは、通信相手のメモリアドレスを指定したデータ転送を行うためのものである。さらに、ノード2は、通信装置2aによるデータ送信処理を管理するために、仮想識別子受信手段2c、メモリ領域判断手段2d、メモリ領域確保要求手段2e、メモリ領域情報格納手段2f、記憶装置2g、およびデータ送信制御手段2hを有している。
仮想識別子受信手段2cは、ネットワークを介して接続されている通信相手から仮想識別子を受信して、仮想識別子を記憶装置2gに格納する。メモリ領域判断手段2dは、プロセス2bから仮想識別子を指定した転送要求を受け取ると、記憶装置2gを参照して、仮想識別子に対応する通信相手のデータ受信用メモリ領域の確保の有無を判断する。メモリ領域確保要求手段2eは、メモリ領域が確保されていない場合、通信相手に対してデータ受信用メモリ領域の確保要求を送信する。メモリ領域情報格納手段2fは、通信相手から確保されたデータ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域を示す情報を仮想識別子に対応付けて記憶装置2gに格納する。データ送信制御手段2hは、記憶領域を参照し、転送要求で指定された仮想識別子に対応するデータ受信用メモリ領域を判断し、通信装置2aに対し、プロセス2bが管理するメモリ領域内から通信相手へのデータ受信用メモリ領域を指定したデータ転送指示を出力する。
このようなシステムにより以下のような処理が実行される。
まず、ノード1の仮想識別子送信手段1cによりプロセス1bに対応する仮想識別子が通信相手に送信される。送信された仮想識別子は、ノード2の仮想識別子受信手段2cで受け取られ、仮想識別子を記憶装置2gに格納する。
その後、プロセス2bから仮想識別子を指定した転送要求が出されると、メモリ領域判断手段2dにより、仮想識別子に対応するノード1のデータ受信用メモリ領域の確保の有無が判断される。ここで、メモリ領域が確保されていない場合、メモリ領域確保要求手段2eにより、ノード1に対してデータ受信用メモリ領域の確保要求が送信される。
ノード1では、仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段1dにより通信装置1aのデータ受信用メモリ領域がメモリ空間上に確保される。次に、識別子管理情報格納手段1eにより、仮想識別子とデータ受信用メモリ領域との対応関係が記憶装置1fに格納される。また、メモリ領域通知手段1gにより、確保されたデータ受信用メモリ領域がノード2に通知される。
ノード2では、ノード1から確保されたデータ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段2fにより、メモリ領域を示す情報が仮想識別子に対応付けて記憶装置2gに格納される。次に、データ送信制御手段2hにより、記憶領域を参照し、転送要求で指定された仮想識別子に対応するデータ受信用メモリ領域を判断し、通信装置2aに対し、プロセス2bが管理するメモリ領域内からノード1へのデータ受信用メモリ領域を指定したデータ転送指示が出力される。すると、通信装置2aによって、プロセス2bが管理するメモリ領域内の転送データ3がデータ受信用メモリ領域を指定したRDMA転送で出力される。
ノード1では、ノード2からデータ受信用メモリ領域を指定した転送データ3を受け取ると、データ受信制御手段1hにより、記憶装置1fを参照してデータ受信用メモリ領域に対応するプロセス1bが判断され、通信装置1aに対し、プロセス1bが管理するメモリ領域への転送データ3の格納指示が出力される。すると、通信装置1aによって、転送データ3をプロセス1bが管理するメモリ領域に格納される。
このように、仮想識別子に対するメモリ領域の確保要求を受けたときにデータ受信用メモリ領域を確保するようにしたため、全ての通信相手毎のデータ受信用メモリ領域を予め確保しておく必要がなく、メモリ空間の有効利用が可能となる。
また、データを受信するノード1側に、データ転送に使用されていないデータ受信用メモリ領域を開放するメモリ領域解放手段を設けることにより、使用されていないデータ受信用メモリ領域が長期間メモリ空間内に確保され続けることを防止できる。
さらに、メモリ領域確保手段1dが、通信装置1aに確保したデータ受信用メモリ領域を使用したデータ転送において異常の発生を検出した場合、再度データ受信用メモリ領域をメモリ空間上に確保することもできる。これにより、プロセスが通信パスの障害に関して意識せずに、安定したデータ転送を継続することができる。
以下、本発明の実施の形態を具体的に説明する。
図2は、本発明の実施の形態に係るネットワークシステムを示す図である。ネットワークシステムでは、複数のノード100,200,200a,200b,・・・が通信媒体10を介して互いに接続されている。通信媒体10は、たとえば、InfiniBandと呼ばれるインタフェース技術を利用する。これらの各ノード100,200,200a,200b,・・・が協働して様々な処理を実行する。
各ノード100,200,200a,200b,・・・は、通信媒体10を介して互いにデータの送受信を行う。このデータ転送は高速に行うことが望まれるため、ゼロコピー転送が実施される。その際、各ノード100,200,200a,200b,・・・が他の全てのノードに応じたI/Oアドレスを用意すると、メモリ空間の枯渇を招く。そこで、本実施の形態では、データ転送時のI/Oアドレスの効率的な割当てを行う。
図3は、本発明の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。ノード100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス108を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105、および通信装置106,107が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データが格納される。HDD103には、OSやアプリケーションプログラムが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス108を介してCPU101に送信する。
通信装置106,107は、通信媒体10に接続されている。通信装置106,107は、通信媒体10を介して、他のノードとの間でデータの送受信を行う。また、通信装置106,107は、RDMAによるデータ転送機能を有している。すなわち、通信装置106,107は、データを送信する際に、通信相手のI/Oアドレスを指定して、データを送信することができる。また、通信装置106,107は、自身のI/Oアドレスを指定したデータを受信したとき、そのI/Oアドレスを、データの受信対象であるユーザアプリケーション(仮想識別子で判別される)が管理するメモリ領域のアドレスに変換する。そして、通信装置106,107は、ユーザアプリケーションのメモリ領域に、受信したデータを直接書き込むことができる。
以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。なお、図3にはノード100のハードウェア構成例を示したが、他のノード200,200a,200b,・・・も同様のハードウェアで実現することができる。
図4は、ノード内の機能構成を示す図である。ノード100には、ソフトウェアによってユーザアプリケーション110と通信装置管理部120とが実装されている。ユーザアプリケーション110と通信装置管理部120とは、ノード100内のプロセスとして動作する。ユーザアプリケーション110は、たとえば、DBサーバ機能などの各種データ処理提供機能である。
通信装置管理部120は、通信装置106,107の動作を管理する。通信装置管理部120は、たとえば、デバイスドライバとして実装される。通信装置管理部120は、自仮想識別子管理情報121と相手仮想識別子管理情報122とを有している。自仮想識別子管理情報121には、通信装置106,107のIOアドレスと自装置の仮想識別子との対応関係が登録される。相手仮想識別子管理情報122には、通信相手ノードのIPアドレスと相手装置の仮想識別子との対応関係が登録される。なお、自仮想識別子管理情報121と相手仮想識別子管理情報122とは、RAM102やHDD103等の記憶装置内に格納される。
同様に、ノード200には、ソフトウェアによってユーザアプリケーション210と通信装置管理部220とが実装されている。ユーザアプリケーション210と通信装置管理部220とは、ノード200内のプロセスとして動作する。通信装置管理部220は、通信装置206,207の動作を管理する。通信装置管理部220は、自仮想識別子管理情報221と相手仮想識別子管理情報222とを有している。自仮想識別子管理情報221には、通信装置206,207のIOアドレスと自装置の仮想識別子との対応関係が登録される。相手仮想識別子管理情報222には、通信相手ノードのIPアドレスと相手装置の仮想識別子との対応関係が登録される。なお、自仮想識別子管理情報221と相手仮想識別子管理情報222とは、RAMやHDD等の記憶装置内に格納される。
図5は、自仮想識別子管理情報のデータ構造例を示す図である。図5に示すように、自仮想識別子管理情報121のデータ構造は、2次元のリスト構造となっている。すなわち、自仮想識別子管理情報121では、仮想識別子と通信装置の識別子との組に対応付けて、構造体21〜26が登録されている。仮想識別子は、ユーザアプリケーションのメモリ領域に一意に対応付けられている。
図6は、自仮想識別子管理情報の構造体の内容を示す図である。構造体21には、仮想識別子、装置識別子、I/Oアドレス、メモリアドレス、長さ、仮想識別子リスト用領域、および通信装置構造体リスト用領域が設けられている。
仮想識別子は、構造体21が対応付けられている仮想識別子である。装置識別子は、構造体21が対応付けられている通信装置の識別子である。I/Oアドレスは、構造体21が対応付けられた通信装置のデータ受信用のメモリ領域のアドレスである。
メモリアドレスは、構造体21が対応付けられたユーザアプリケーションの管理するメモリ領域の先頭アドレスである。ここで、ノード100が仮想メモリ空間を実現したコンピュータであれば、ユーザアプリケーションの管理するメモリ領域とは、ユーザアプリケーションのプロセスに割り当てられた仮想メモリ空間内の一部の領域である。このメモリ領域と、実メモリ(RAM102)内のアドレスとの対応関係は、OSによって管理される。
長さは、ユーザアプリケーションの管理するメモリ領域のサイズである。仮想識別子リスト用領域には、自仮想識別子管理情報121における2次元のリスト構造上での次の仮想識別子の構造体の位置を示すポインタが登録される。通信装置構造体リスト用領域には、自仮想識別子管理情報121における2次元のリスト構造上での次の通信装置の構造体の位置を示すポインタが登録される。
図7は、相手仮想識別子管理情報のデータ構造例を示す図である。図7に示すように、相手仮想識別子管理情報122のデータ構造は、2次元のリスト形式となっている。すなわち、相手仮想識別子管理情報122では、仮想識別子と通信装置の識別子との組に対応付けて、構造体31〜36が登録されている。
図8は、自仮想識別子管理情報の構造体の内容を示す図である。構造体31には、相手IPアドレス、相手仮想識別子、自装置識別子、相手I/Oアドレス、相手メモリアドレス、相手長さ、使用カウンタ、IPアドレスリスト用領域、および通信装置構造体リスト用領域とが設けられている。
相手IPアドレスは、構造体31が対応付けられている相手IPアドレスである。相手仮想識別子は、構造体31が対応付けられている相手IPアドレスに該当するノードで定義された仮想識別子である。自装置識別子は、構造体31が対応付けられている通信装置の識別子である。相手I/Oアドレスは、相手仮想識別子に割り当てられているI/Oメモリ領域の先頭アドレスである。相手メモリアドレスは、通信相手のユーザアプリケーションが管理するメモリ領域の先頭アドレスである。相手長さは、通信相手のユーザアプリケーションが管理するメモリ領域のサイズである。
使用カウンタは、実行されているデータ転送処理の数を示すカウンタである。使用カウンタは、構造体31で示される通信パスを用いてデータ転送が開始されると1ずつカウントアップされ、データ転送が完了すると1ずつカウントダウンされる。使用カウンタの値が「0」であれば、構造体31で示される通信パスを使用したデータ転送が行われていない。
IPアドレスリスト用領域には、相手仮想識別子管理情報122における2次元のリスト構造上での次の相手IPアドレスの構造体の位置を示すポインタが登録される。通信装置構造体リスト用領域には、自仮想識別子管理情報121における2次元のリスト構造上での次の通信装置の構造体の位置を示すポインタが登録される。
次に、ノード200からノード100に対してデータを転送する場合を例に採り、データ転送手順を説明する。データ転送を行うには、前段階として仮想識別子の取得処理が行われる。
図9は、仮想識別子の取得処理を示すフローチャートである。以下、ノード100における処理として、図9に示す処理をステップ番号に沿って説明する。
〔ステップS11〕ユーザアプリケーション110から通信装置管理部120に対して、仮想識別子の取得要求が出される。
〔ステップS12〕通信装置管理部120は、新たな仮想識別子を生成し、自仮想識別子管理情報121に登録する。そして、通信装置管理部120は、生成した仮想識別子をユーザアプリケーション110に渡す。これにより、ユーザアプリケーション110が仮想識別子を獲得することができる。
このような仮想識別子取得処理は、ノード200においても同様に行われる。
図10は、仮想識別子取得処理を示す図である。具体的には、ユーザアプリケーション110から通信装置管理部120に対して仮想識別子の取得要求が出され、通信装置管理部120からユーザアプリケーション110へ仮想識別子が返される。同様に、ユーザアプリケーション210から通信装置管理部220に対して仮想識別子の取得登録要求が出され、通信装置管理部220からユーザアプリケーション210へ仮想識別子が返される。
その後、ノード200のユーザアプリケーション210からノード100のユーザアプリケーション110にデータを転送する場合、ノード100側の通信装置106,107のI/Oアドレスを、ノード200側で取得する。
図11は、I/Oアドレス取得処理を示す概念図である。なお、ノード100の通信装置106の装置識別子を「装置#1」、通信装置107の装置識別子を「装置#2」とする。
ノード100の通信装置管理部120は、ノード200の通信装置管理部220に対して、ユーザアプリケーション110用に生成した仮想識別子41を送信する。すると、ノード200側の通信装置管理部220は、受信した仮想識別子41を保持する。具体的には、通信装置管理部220内の相手仮想識別子管理情報222に登録される。この状態では、まだ仮想識別子42に対応する実識別子(I/Oアドレス)は登録されていない。
次に、ノード200の通信装置管理部220からノード100の通信装置管理部120へ、仮想識別子42に関する仮想識別子解決要求51が送信される。すると、通信装置管理部120において、通信装置106の実識別子(I/Oアドレス)が取得される。
具体的には、通信装置管理部120が通信装置106用のI/Oメモリ領域106aをアドレス空間に確保する。さらに、通信装置管理部120は、I/Oメモリ領域106aのI/Oアドレスを仮想識別子41に対応付ける。そして、通信装置管理部120は、通信装置106の装置識別子「装置#1」とI/Oアドレス43とを仮想識別子解決結果52としてノード200に送信する。
ノード100では、通信装置管理部220が仮想識別子解決結果52を受け取る。そして、通信装置管理部220は、通信装置106の装置識別子44(装置#1)とI/Oアドレス45とを、仮想識別子42に対応付けて保持する。具体的には、通信装置管理部220は、相手仮想識別子管理情報222内に、仮想識別子42と装置識別子44(装置#1)との組み合わせに応じたI/Oアドレス45を登録する。
図12は、仮想識別子解決要求のデータ構造例を示す図である。仮想識別子解決要求51は、仮想識別子解決要求プロトコル識別子と仮想識別子とが含まれている。仮想識別子解決要求プロトコル識別子は、仮想識別子解決要求であることを示す情報である。仮想識別子は、相手側のノードから通知された仮想識別子である。
図13は、仮想識別子解決結果のデータ構造例を示す図である。仮想識別子解決結果52には、仮想識別子解決結果プロトコル識別子、仮想識別子、I/Oアドレス、メモリアドレス、および長さが含まれている。仮想識別子解決結果プロトコル識別子は、仮想識別子解決結果であることを示す情報である。仮想識別子は、I/Oアドレスを割り当てた仮想識別子である。I/Oアドレスは、確保されたI/Oメモリ領域の先頭アドレスである。メモリアドレスは、受信側のユーザアプリケーションのメモリアドレスである。長さは、確保されたI/Oメモリ領域のデータサイズである。
このようにして、データの送信元となるノードにおいてI/Oアドレスを取得することで、そのI/Oアドレスを指定したRDMA転送が可能となる。
図14は、データ転送状況を示す図である。まず、ユーザアプリケーション210から通信装置管理部220へ転送要求が出される。この転送要求では、転送元のデータが格納されたメモリ領域211を示す情報と共に、ノード100側のユーザアプリケーション110に対応する仮想識別子が指定される。
すると、通信装置管理部220は、通信装置206に対して転送要求を出力する。この転送要求では、転送元のデータが格納されたメモリ領域211を示す情報と共に、指定された仮想識別子に対応するI/Oアドレスが指定される。通信装置206は、転送要求で指定されたメモリ領域211からデータを取得し、そのデータを、転送要求で指示されたI/Oアドレスを指定してノード100に転送する。
ノード100では、通信装置106がデータを受け取る。このとき、データ転送で指定されたI/Oアドレスは、ユーザアプリケーション110のメモリ領域111に対応付けられているため、通信装置106は、取得したデータをメモリ領域111に随時格納する。
以下にデータ転送処理手順を詳細に説明する。
図15は、データ転送処理の手順を示すシーケンス図である。この例では、ノード100がデータの受信側であり、ノード200がデータの送信側である。以下、図15に示す処理をステップ番号に沿って説明する。
〔ステップS21〕ノード200のユーザアプリケーション210が、相手のIPアドレスと相手の仮想識別子とを指定した転送要求を、通信装置管理部220に対して出力する。
〔ステップS22〕通信装置管理部220は、転送要求に応じたノード100側の通信装置を選択する。
〔ステップS23〕通信装置管理部220は、相手仮想識別子管理情報222を参照し、ステップS22で選択した通信装置に対するI/Oアドレスが採取済か否かを判断する。採取済であれば処理がステップS29に進められる。採取済でなければ処理がステップS24に進められる。
〔ステップS24〕通信装置管理部220は、ノード100に対して、ステップS22で選択した通信装置に対するI/Oアドレスの採取要求(仮想識別子解決要求)を出力する。
〔ステップS25〕ノード100の通信装置管理部120は、自仮想識別子管理情報121を参照し、仮想識別子解決要求を受け取り、該当する通信装置に対するI/Oアドレスが採取済みか否かを判断する。採取済みであれば処理がステップS27に進められる。採取済みでなければ処理がステップS26に進められる。
〔ステップS26〕通信装置管理部120は、該当する通信装置に対するI/Oアドレスを採取する。すなわち、通信装置管理部120は、通信装置用のI/Oメモリ領域をメモリ空間上に確保し、I/Oアドレスを取得する。さらに、通信装置管理部120は、採取したI/Oアドレスを自仮想識別子管理情報121に登録する。
〔ステップS27〕通信装置管理部120は、該当する通信装置に対するI/Oアドレスをノード200に応答(仮想識別子解決結果)する。
〔ステップS28〕ノード200の通信装置管理部220は、仮想識別子とI/Oアドレスとを関連付ける。具体的には、通信装置管理部220は、仮想識別子解決結果で示される仮想識別子とI/Oアドレスとを関連づけて、相手仮想識別子管理情報222に登録する。
〔ステップS29〕通信装置管理部220は、ステップS22で選択したノード100側の通信装置に対するI/Oアドレスを指定して、通信装置206または通信装置207に対してRDMAの転送要求を出力する。すると、通信装置が、ユーザアプリケーション210のメモリ領域211内のデータを、指定されたI/Oアドレス宛にRDMA転送を開始する。
このとき、通信装置管理部220は、相手仮想識別子に対応付けて設けられている使用カウンタをカウントアップする。なお、使用カウンタは、データ転送完了時に減算される。この使用カウンタの値を参照することで、該当するI/Oアドレスが使用中か否かを判断できる。すなわち、使用カウンタの値が1以上であれば、該当するI/Oアドレスを用いたデータ転送実行中である。
このようにして、ユーザアプリケーション210からは、相手の仮想識別子を指定することで、RDMAによるデータ転送を行うことができる。その結果、ユーザアプリケーション210側で通信パスを意識せずに済む。
なお、ノード200によってI/Oアドレスが取得されたとき、そのI/Oアドレスに対応するノード100側の仮想識別子はノード200によって占有される。すなわち、ノード200は、I/Oアドレスを確保している間は、そのI/Oアドレス宛に適宜データ転送を行うことができる。
なお、ノード100側の仮想識別子に対応して確保されたI/Oメモリ領域は、ノード100からの開放要求に基づいて開放される。解放要求は、たとえば、複数の他のデータ受信用に確保されたI/Oメモリ領域の総量が所定値を超えた場合や、該当するI/Oメモリ領域を指定したデータ転送が所定期間実施されなかった場合に出される。I/Oメモリ領域を開放するには、その仮想識別子に対応するI/Oメモリ領域を確保したノード200において、I/Oメモリ領域の開放を行う必要がある。
図16は、仮想識別子開放処理の手順を示すシーケンス図である。以下、図16に示す処理をステップ番号に沿って説明する。
〔ステップS41〕ノード100のユーザアプリケーション110は、通信装置管理部120に対して仮想識別子の開放要求を出力する。
〔ステップS42〕通信装置管理部120は、仮想識別子が有するI/Oアドレスが、他のノードによって取得済みか否かを判断する。取得済みであれば、処理がステップS43に進められる。取得済みでなければ、処理がステップS46に進められる。
〔ステップS43〕通信装置管理部120は、仮想識別子を指定した解放要求をノード200に対して送信する。
〔ステップS44〕ノード200の通信装置管理部220は、解放要求で指定された仮想識別子に対応するI/Oアドレスが使用中か否かを判断する。使用中であればステップS44の処理が繰り返される。使用中でなければ処理がステップS45に進められる。すなわち、I/Oアドレスがデータ転送に使用中の場合には、データ転送の終了を待って処理がステップS45に進められる。
〔ステップS45〕通信装置管理部220は、指定された仮想識別子を解放し、解放確認をノード100に送信する。仮想識別子の解放とは、その仮想識別子に対応付けて登録されているI/Oアドレスを消去する処理である。
〔ステップS46〕ノード100の通信装置管理部120は、仮想識別子の解放処理を行う。具体的には、通信装置管理部120は、仮想識別子に対応付けて登録されていたI/Oアドレスを削除する。
図17は、仮想識別子解放要求のデータ構造例を示す図である。仮想識別子解放要求53には、仮想識別子解放要求であることを示す仮想識別子解放要求プロトコル識別子と、解放対象の仮想識別子とが含まれる。
図18は、仮想識別子解放確認のデータ構造例を示す図である。仮想識別子解放確認54には、仮想識別子解放確認であることを示す仮想識別子解放確認プロトコル識別子と、解放された仮想識別子とが含まれる。
このようにして、仮想識別子の解放が行われることで、対応するI/Oメモリ領域が解放される。その結果、使用されていないI/Oメモリ領域が特定のノードによって占有されること事態を防止できる。その結果、ノード100におけるメモリ空間を効率良く利用できる。
また、通信中に障害が発生した場合、I/Oアドレスを自動的(ユーザアプリケーションが関与せず)に再取得することができる。
図19は、I/Oアドレス再取得の状況を示す図である。図19の例では、通信装置206から通信装置106へのデータ転送に障害が発生した場合を想定している。
通信装置106において異常を検出すると、通信装置106から通信装置管理部120へ異常発生が通知される。すると、通信装置管理部120が実識別子(I/Oアドレス)を再取得する。
図19の例では、通信装置管理部120は、通信装置107のI/Oメモリ領域107aを確保し、そのI/Oアドレスを取得している。そして、通信装置管理部120は、再マップ通知をノード200に対して送信する。再マップ通知には、異常が発生した通信の仮想識別子、新たに採取したI/Oアドレス、および通信装置107の装置識別子が含まれる。
ノード200では、再マップ通知を通信装置管理部220が受け取る。通信装置管理部220は、再マップ通知に従って、仮想識別子に対応付けて登録されているI/Oアドレスや装置識別子等を更新する。
このようにして、通信障害発生時にもユーザアプリケーションに意識させずに、データ転送可能な状態を復旧することができる。従って、ユーザアプリケーションにおいて、通信障害発生時の対策時の再接続に関する機能を備える必要がなくなる。これにより、ユーザアプリケーションの開発が容易になると共に、複数のノードで協働して動作させるユーザアプリケーションの信頼性が向上する。
次に、ノード200からノード100へのデータ転送例を具体的に説明する。ここで、データ転送環境を以下に示す。
まず、送信側のノード200の環境を示す。ノード200のIPアドレスは「192.168.1.1」である。ユーザアプリケーション210のメモリ領域211は、メモリアドレスが「0x100」、長さが「0x100」である。通信装置206の識別子は「A1」、通信装置207の識別子は「A2」である。
次に、受信側のノード100の環境を示す。ノード100のIPアドレスは「192.168.1.2」である。ユーザアプリケーション110のメモリ領域111は、メモリアドレスが「0x500」、長さが「0x100」である。通信装置106の識別子は「B1」、通信装置107の識別子は「B2」である。
このようなデータ転送環境において実行されるデータ転送手順を以下に示す。
図20は、データ転送手順を示すシーケンス図である。以下、図20に示す処理をステップ番号に沿って説明する。
〔ステップS51〕ノード200において、メモリ領域211に対して仮想識別子を採取する。この例では、仮想識別子「0x0」が採取されたものとする。
〔ステップS52〕ノード100において、メモリ領域111に対して仮想識別子を採取する。この例では、仮想識別子「0x2」が採取されたものとする。
〔ステップS53〕ノード100から送信側のノード200へ仮想識別子「0x2」を送信する。
〔ステップS54〕ノード200では、受信側のノード100から送られた仮想識別子「0x2」を受信する。
〔ステップS55〕ノード200では、ユーザアプリケーション210より、仮想識別子「0x0」からノード100の仮想識別子「0x2」への長さ「0x100」の転送要求が出される。
〔ステップS56〕ノード200は仮想識別子「0x2」に対するI/Oアドレスを持っていないため、仮想識別子解決要求を通信装置206を介してノード100に対して送信する。
〔ステップS57〕ノード100では、仮想識別子解決要求を受け取ると、仮想識別子「0x2」に対するI/Oアドレスを定義していないため、通信装置106のI/Oアドレス「0x1c00」を取得する。そして、ノードでは、取得したI/Oアドレスを仮想識別子「0x2」に対応付けて登録する。
〔ステップS58〕ノード100では、仮想識別子「0x2」に対する仮想識別子解決結果を、通信装置106を介してノード200へ送信する。
〔ステップS59〕ノード200では、仮想識別子解決結果を受信し、情報を登録する。
〔ステップS60〕ノード200では、相手側の仮想識別子「0x2」に対する転送を、通信装置206で開始し、使用カウンタを加算する。
〔ステップS61〕ノード200では、転送が完了すると、使用カウンタを減算する。
このような手順でデータ転送が行われる。以下に、データ転送手順の進行状況に応じた各ノード100,200内で保持する情報(自仮想識別子管理情報および相手仮想識別子管理情報)の遷移について説明する。
図21は、仮想識別子採取後の各情報の内容を示す図である。ノード200では、仮想識別子の採取処理(ステップS51)が行われたことにより、自仮想識別子管理情報221に仮想識別子「0x0」が登録されている。ノード100では、仮想識別子の採取処理(ステップS52)が行われたことにより、自仮想識別子管理情報121に仮想識別子「0x2」が登録されている。
その後、ノード100の仮想識別子「0x2」が送信され(ステップS53)ると、ノード200の相手仮想識別子管理情報222が更新される。
図22は、仮想識別子配信後の各情報の内容を示す図である。ノード100からノード200へ仮想識別子をノード200が受信(ステップS54)し、その仮想識別子への転送要求が出された(ステップS55)ことで、ノード200の相手仮想識別子管理情報222に構造体222aが登録される。
具体的には、構造体222aは、通信装置206の装置識別子「A1」とノード100のIPアドレス「192.168.1.2」とに対応付けて登録される。構造体222aには、相手IPアドレス「192.168.1.2」、相手仮想識別子「0x2」、自装置識別子「A1」、使用カウンタ「0」が設定されている。
その後、ノード200からノード100へ仮想識別子解決要求が出される(ステップS56)。
図23は、仮想識別子解決要求の内容を示す図である。仮想識別子解決要求51aには、仮想識別子解決要求であることを示す仮想識別子解決要求プロトコル識別子とノード100の仮想識別子「0x2」が含まれている。
仮想識別子解決要求51aを受け取ったノード100では、I/Oアドレスが取得され(ステップS57)、自仮想識別子管理情報121が更新される。
図24は、I/Oアドレス取得後の各情報の内容を示す図である。ノード100の自仮想識別子管理情報121には、構造体121aが登録されている。具体的には、構造体121aは、仮想識別子「0x2」と装置識別子「B1」とに対応付けて登録されている。構造体121aには、仮想識別子「0x2」、装置識別子「B1」、I/Oアドレス「0x1c00」、メモリアドレス「0x500」、長さ「0x100」が設定されている。
その後、ノード100からノード200へ、仮想識別子解決結果が送信される(ステップS58)。
図25は、仮想識別子解決結果の内容を示す図である。仮想識別子解決結果52aには、仮想識別子解決結果であることを示す仮想識別子解決結果プロトコル識別子、仮想識別子「0x2」、I/Oアドレス「0x1c00」、メモリアドレス「0x500」、長さ「0x100」が含まれている。
このような仮想識別子解決結果52aを受け取ったノード200では、仮想識別子解決結果52aに含まれる情報が相手仮想識別子管理情報222内の構造体222aに登録される(ステップS59)。
図26は、仮想識別子解決結果受信後の各情報の状態を示す図である。仮想識別子解決結果52aを受信したことにより、構造体222aには、相手I/Oアドレス「0x1c00」、相手メモリアドレス「0x500」、相手長さ「0x100」が追加登録されている。
ノード200では構造体222aを参照することで、ノード100のI/Oアドレスを認識し、そのアドレスを指定したRDMA転送が開始される(ステップS60)。RDMA転送が開始されると、構造体222aの使用カウンタの値が更新される。
図27は、データ転送中の各情報の内容を示す図である。データ転送が開始されたことにより、ノード200側の相手仮想識別子管理情報222内の構造体222aの使用カウンタが「1」に変更されている。この使用カウンタの値は、データ転送が完了すると1だけ減算される。
以上説明したように、データを送信するノードから仮想識別子解決要求があったときに、RDMA転送用のI/Oメモリ領域を確保するため、データ受信側において全ての通信相手に応じたI/Oメモリ領域を予め確保しておく必要がない。これにより、I/Oメモリ領域に関する資源を節約できる。
しかも、ユーザアプリケーションからは、仮想識別子を指定したデータの転送要求を出すだけで、その仮想識別子に対応するI/Oアドレスが取得され、そのI/Oアドレスを指定したRDMA転送が行われる。これにより、ユーザアプリケーションにおいては、I/Oアドレスの確保の有無を意識する必要が無く、ユーザアプリケーション用のプログラム開発の負荷が軽減される。
さらに、メモリ空間内でのI/Oメモリ領域の確保や解放を通信装置管理部が一元管理するため、I/Oメモリ領域の使用状況を勘案し、システム全体が効率良く動作できるようにI/Oメモリ領域の総量等を管理できる。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、各サーバが有すべき機能の処理内容を記述した通信装置管理プログラムが提供される。その通信装置管理プログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述した通信装置管理プログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
通信装置管理プログラムを流通させる場合には、たとえば、その通信装置管理プログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、通信装置管理プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにその通信装置管理プログラムを転送することもできる。
通信装置管理プログラムを実行するコンピュータは、たとえば、可搬型記録媒体に記録された通信装置管理プログラムもしくはサーバコンピュータから転送された通信装置管理プログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置から通信装置管理プログラムを読み取り、通信装置管理プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接通信装置管理プログラムを読み取り、その通信装置管理プログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータから通信装置管理プログラムが転送される毎に、逐次、受け取った通信装置管理プログラムに従った処理を実行することもできる。
(付記1) 通信装置によるデータ受信処理を管理するための通信装置管理プログラムにおいて、
コンピュータに、
仮想識別子送信手段が、ネットワークを介して接続されている通信相手からデータを取得するプロセスに対応する仮想識別子を前記通信相手に送信し、
前記通信相手から前記仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段が、前記通信装置のデータ受信用メモリ領域をメモリ空間上に確保し、
識別子管理情報格納手段が、前記仮想識別子と前記データ受信用メモリ領域との対応関係を記憶装置に格納し、
メモリ領域通知手段が、確保された前記データ受信用メモリ領域を前記通信相手に通知し、
前記通信相手から前記データ受信用メモリ領域を指定した転送データを受け取ると、データ受信制御手段が、前記記憶装置を参照して前記データ受信用メモリ領域に対応する前記プロセスを判断し、前記通信装置に対し、前記プロセスが管理するメモリ領域への前記転送データの格納指示を出力する、
処理を実行させることを特徴とする通信装置管理プログラム。
(付記2) メモリ領域解放手段が、データ転送に使用されていない前記データ受信用メモリ領域を開放することを特徴とする付記1記載の通信装置管理プログラム。
(付記3) メモリ領域解放手段は、前記仮想識別子に対応付けられた前記メモリ領域の解放要求を前記通信相手に対して送信し、前記解放要求に対応する確認応答を受けると、前記記憶装置に格納された前記仮想識別子と前記データ受信用メモリ領域との対応関係を削除することを特徴とする付記2記載の通信装置管理プログラム。
(付記4) 前記メモリ領域確保手段は、前記通信装置に確保した前記データ受信用メモリ領域を使用したデータ転送において異常の発生を検出した場合、再度前記データ受信用メモリ領域を前記メモリ空間上に確保することを特徴とする付記1記載の通信装置管理プログラム。
(付記5) 通信相手のメモリアドレスを指定したデータ転送を行うための通信装置管理プログラムにおいて、
コンピュータに、
仮想識別子受信手段が、ネットワークを介して接続されている通信相手から仮想識別子を受信して、前記仮想識別子を記憶装置に格納し、
メモリ領域判断手段が、プロセスから前記仮想識別子を指定した転送要求を受け取ると、前記記憶装置を参照して、前記仮想識別子に対応する前記通信相手のデータ受信用メモリ領域の確保の有無を判断し、
メモリ領域が確保されていない場合、メモリ領域確保要求手段が、前記通信相手に対して前記データ受信用メモリ領域の確保要求を送信し、
前記通信相手から確保された前記データ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段が、前記メモリ領域を示す情報を前記仮想識別子に対応付けて前記記憶装置に格納し、
データ送信制御手段が、前記記憶領域を参照し、前記転送要求で指定された前記仮想識別子に対応する前記前記データ受信用メモリ領域を判断し、通信装置に対し、前記プロセスが管理するメモリ領域内から前記通信相手への前記データ受信用メモリ領域を指定したデータ転送指示を出力する、
処理を実行させることを特徴とする通信装置管理プログラム。
(付記6) メモリ領域解放手段が、前記通信相手からの解放要求を受け取ると、前記メモリ領域へのデータ転送の完了を確認して、前記通信相手に開放確認を応答することを特徴とする付記5記載の通信装置管理プログラム。
(付記7) 通信装置によるデータ受信処理を管理するための通信装置管理方法において、
仮想識別子送信手段が、ネットワークを介して接続されている通信相手からデータを取得するプロセスに対応する仮想識別子を前記通信相手に送信し、
前記通信相手から前記仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段が、前記通信装置のデータ受信用メモリ領域をメモリ空間上に確保し、
識別子管理情報格納手段が、前記仮想識別子と前記データ受信用メモリ領域との対応関係を記憶装置に格納し、
メモリ領域通知手段が、確保された前記データ受信用メモリ領域を前記通信相手に通知し、
前記通信相手から前記データ受信用メモリ領域を指定した転送データを受け取ると、データ受信制御手段が、前記記憶装置を参照して前記データ受信用メモリ領域に対応する前記プロセスを判断し、前記通信装置に対し、前記プロセスが管理するメモリ領域への前記転送データの格納指示を出力する、
ことを特徴とする通信装置管理方法。
(付記8) 通信相手のメモリアドレスを指定したデータ転送を行うための通信装置管理方法において、
仮想識別子受信手段が、ネットワークを介して接続されている通信相手から仮想識別子を受信して、前記仮想識別子を記憶装置に格納し、
メモリ領域判断手段が、プロセスから前記仮想識別子を指定した転送要求を受け取ると、前記記憶装置を参照して、前記仮想識別子に対応する前記通信相手のデータ受信用メモリ領域の確保の有無を判断し、
メモリ領域が確保されていない場合、メモリ領域確保要求手段が、前記通信相手に対して前記データ受信用メモリ領域の確保要求を送信し、
前記通信相手から確保された前記データ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段が、前記メモリ領域を示す情報を前記仮想識別子に対応付けて前記記憶装置に格納し、
データ送信制御手段が、前記記憶領域を参照し、前記転送要求で指定された前記仮想識別子に対応する前記前記データ受信用メモリ領域を判断し、通信装置に対し、前記プロセスが管理するメモリ領域内から前記通信相手への前記データ受信用メモリ領域を指定したデータ転送指示を出力する、
ことを特徴とする通信装置管理方法。
(付記9) 通信装置によるデータ受信処理を管理するための通信管理装置において、
ネットワークを介して接続されている通信相手からデータを取得するプロセスに対応する仮想識別子を前記通信相手に送信する仮想識別子送信手段と、
前記通信相手から前記仮想識別子を指定したアドレス取得要求を受け取ると、前記通信装置のデータ受信用メモリ領域をメモリ空間上に確保するメモリ領域確保手段と、
前記仮想識別子と前記データ受信用メモリ領域との対応関係を記憶装置に格納する識別子管理情報格納手段と、
確保された前記データ受信用メモリ領域を前記通信相手に通知するメモリ領域通知手段と、
前記通信相手から前記データ受信用メモリ領域を指定した転送データを受け取ると、前記記憶装置を参照して前記データ受信用メモリ領域に対応する前記プロセスを判断し、前記通信装置に対し、前記プロセスが管理するメモリ領域への前記転送データの格納指示を出力するデータ受信制御手段と、
を有することを特徴とする通信管理装置。
(付記10) 通信相手のメモリアドレスを指定したデータ転送を行うための通信管理装置において、
ネットワークを介して接続されている通信相手から仮想識別子を受信して、前記仮想識別子を記憶装置に格納する仮想識別子受信手段と、
プロセスから前記仮想識別子を指定した転送要求を受け取ると、前記記憶装置を参照して、前記仮想識別子に対応する前記通信相手のデータ受信用メモリ領域の確保の有無を判断するメモリ領域判断手段と、
メモリ領域が確保されていない場合、前記通信相手に対して前記データ受信用メモリ領域の確保要求を送信するメモリ領域確保要求手段と、
前記通信相手から確保された前記データ受信用メモリ領域の範囲を示す確保結果を受け取ると、前記メモリ領域を示す情報を前記仮想識別子に対応付けて前記記憶装置に格納するメモリ領域情報格納手段と、
前記記憶領域を参照し、前記転送要求で指定された前記仮想識別子に対応する前記前記データ受信用メモリ領域を判断し、通信装置に対し、前記プロセスが管理するメモリ領域内から前記通信相手への前記データ受信用メモリ領域を指定したデータ転送指示を出力するデータ送信制御手段と、
を有することを特徴とする通信管理装置。
(付記11) 通信装置によるデータ受信処理を管理するための通信装置管理プログラムを記憶するコンピュータ読み取り可能な記録媒体において、
コンピュータに、
仮想識別子送信手段が、ネットワークを介して接続されている通信相手からデータを取得するプロセスに対応する仮想識別子を前記通信相手に送信し、
前記通信相手から前記仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段が、前記通信装置のデータ受信用メモリ領域をメモリ空間上に確保し、
識別子管理情報格納手段が、前記仮想識別子と前記データ受信用メモリ領域との対応関係を記憶装置に格納し、
メモリ領域通知手段が、確保された前記データ受信用メモリ領域を前記通信相手に通知し、
前記通信相手から前記データ受信用メモリ領域を指定した転送データを受け取ると、データ受信制御手段が、前記記憶装置を参照して前記データ受信用メモリ領域に対応する前記プロセスを判断し、前記通信装置に対し、前記プロセスが管理するメモリ領域への前記転送データの格納指示を出力する、
処理を実行させることを特徴とする通信装置管理プログラムを記憶するコンピュータ読み取り可能な記録媒体。
(付記12) 通信相手のメモリアドレスを指定したデータ転送を行うための通信装置管理プログラムを記憶するコンピュータ読み取り可能な記録媒体において、
コンピュータに、
仮想識別子受信手段が、ネットワークを介して接続されている通信相手から仮想識別子を受信して、前記仮想識別子を記憶装置に格納し、
メモリ領域判断手段が、プロセスから前記仮想識別子を指定した転送要求を受け取ると、前記記憶装置を参照して、前記仮想識別子に対応する前記通信相手のデータ受信用メモリ領域の確保の有無を判断し、
メモリ領域が確保されていない場合、メモリ領域確保要求手段が、前記通信相手に対して前記データ受信用メモリ領域の確保要求を送信し、
前記通信相手から確保された前記データ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段が、前記メモリ領域を示す情報を前記仮想識別子に対応付けて前記記憶装置に格納し、
データ送信制御手段が、前記記憶領域を参照し、前記転送要求で指定された前記仮想識別子に対応する前記前記データ受信用メモリ領域を判断し、通信装置に対し、前記プロセスが管理するメモリ領域内から前記通信相手への前記データ受信用メモリ領域を指定したデータ転送指示を出力する、
処理を実行させることを特徴とする通信装置管理プログラムを記憶するコンピュータ読み取り可能な記録媒体。
実施の形態に適用される発明の概念図である。 本発明の実施の形態に係るネットワークシステムを示す図である。 本発明の実施の形態に用いるコンピュータのハードウェア構成例を示す図である。 ノード内の機能構成を示す図である。 自仮想識別子管理情報のデータ構造例を示す図である。 自仮想識別子管理情報の構造体の内容を示す図である。 相手仮想識別子管理情報のデータ構造例を示す図である。 自仮想識別子管理情報の構造体の内容を示す図である。 仮想識別子の取得処理を示すフローチャートである。 仮想識別子取得処理を示す図である。 I/Oアドレス取得処理を示す概念図である。 仮想識別子解決要求のデータ構造例を示す図である。 仮想識別子解決結果のデータ構造例を示す図である。 データ転送状況を示す図である。 データ転送処理の手順を示すシーケンス図である。 仮想識別子開放処理の手順を示すシーケンス図である。 仮想識別子解放要求のデータ構造例を示す図である。 仮想識別子解放確認のデータ構造例を示す図である。 I/Oアドレス再取得の状況を示す図である。 データ転送手順を示すシーケンス図である。 仮想識別子採取後の各情報の内容を示す図である。 仮想識別子配信後の各情報の内容を示す図である。 仮想識別子解決要求の内容を示す図である。 I/Oアドレス取得後の各情報の内容を示す図である。 仮想識別子解決結果の内容を示す図である。 仮想識別子解決結果受信後の各情報の状態を示す図である。 データ転送中の各情報の内容を示す図である。 従来のデータ転送方式を示す図である。 RDMAを利用したデータ転送方式を示す図である。
符号の説明
1 ノード
1a 通信装置
1b プロセス
1c 仮想識別子送信手段
1d メモリ領域確保手段
1e 識別子管理情報格納手段
1f 記憶装置
1g メモリ領域通知手段
1h データ受信制御手段
2 ノード
2a 通信装置
2b プロセス
2c 仮想識別子受信手段
2e メモリ領域確保要求手段
2f メモリ領域情報格納手段
2g 記憶装置
2h データ送信制御手段
3 転送データ

Claims (5)

  1. 通信装置によるデータ受信処理を管理するための通信装置管理プログラムにおいて、
    コンピュータに、
    仮想識別子送信手段が、ネットワークを介して接続されている通信相手からデータを取得するプロセスに対応する仮想識別子を前記通信相手に送信し、
    前記通信相手から前記仮想識別子を指定したアドレス取得要求を受け取ると、メモリ領域確保手段が、前記通信装置のデータ受信用メモリ領域をメモリ空間上に確保し、
    識別子管理情報格納手段が、前記仮想識別子と前記データ受信用メモリ領域との対応関係を記憶装置に格納し、
    メモリ領域通知手段が、確保された前記データ受信用メモリ領域を前記通信相手に通知し、
    前記通信相手から前記データ受信用メモリ領域を指定した転送データを受け取ると、データ受信制御手段が、前記記憶装置を参照して前記データ受信用メモリ領域に対応する前記プロセスを判断し、前記通信装置に対し、前記プロセスが管理するメモリ領域への前記転送データの格納指示を出力する、
    処理を実行させることを特徴とする通信装置管理プログラム。
  2. メモリ領域解放手段が、データ転送に使用されていない前記データ受信用メモリ領域を開放することを特徴とする請求項1記載の通信装置管理プログラム。
  3. 前記メモリ領域解放手段は、前記仮想識別子に対応付けられた前記メモリ領域の解放要求を前記通信相手に対して送信し、前記解放要求に対応する確認応答を受けると、前記記憶装置に格納された前記仮想識別子と前記データ受信用メモリ領域との対応関係を削除することを特徴とする請求項2記載の通信装置管理プログラム。
  4. 前記メモリ領域確保手段は、前記通信装置に確保した前記データ受信用メモリ領域を使用したデータ転送において異常の発生を検出した場合、再度前記データ受信用メモリ領域を前記メモリ空間上に確保することを特徴とする請求項1記載の通信装置管理プログラム。
  5. 通信相手のメモリアドレスを指定したデータ転送を行うための通信装置管理プログラムにおいて、
    コンピュータに、
    仮想識別子受信手段が、ネットワークを介して接続されている通信相手から仮想識別子を受信して、前記仮想識別子を記憶装置に格納し、
    メモリ領域判断手段が、プロセスから前記仮想識別子を指定した転送要求を受け取ると、前記記憶装置を参照して、前記仮想識別子に対応する前記通信相手のデータ受信用メモリ領域の確保の有無を判断し、
    メモリ領域が確保されていない場合、メモリ領域確保要求手段が、前記通信相手に対して前記データ受信用メモリ領域の確保要求を送信し、
    前記通信相手から確保された前記データ受信用メモリ領域の範囲を示す確保結果を受け取ると、メモリ領域情報格納手段が、前記メモリ領域を示す情報を前記仮想識別子に対応付けて前記記憶装置に格納し、
    データ送信制御手段が、前記記憶装置を参照し、前記転送要求で指定された前記仮想識別子に対応する前記データ受信用メモリ領域を判断し、通信装置に対し、前記プロセスが管理するメモリ領域内から前記通信相手への前記データ受信用メモリ領域を指定したデータ転送指示を出力する、
    処理を実行させることを特徴とする通信装置管理プログラム。
JP2003422942A 2003-12-19 2003-12-19 通信装置管理プログラム Expired - Fee Related JP4408692B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003422942A JP4408692B2 (ja) 2003-12-19 2003-12-19 通信装置管理プログラム
US11/014,680 US8180842B2 (en) 2003-12-19 2004-12-16 Communication device management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003422942A JP4408692B2 (ja) 2003-12-19 2003-12-19 通信装置管理プログラム

Publications (2)

Publication Number Publication Date
JP2005182491A JP2005182491A (ja) 2005-07-07
JP4408692B2 true JP4408692B2 (ja) 2010-02-03

Family

ID=34697337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003422942A Expired - Fee Related JP4408692B2 (ja) 2003-12-19 2003-12-19 通信装置管理プログラム

Country Status (2)

Country Link
US (1) US8180842B2 (ja)
JP (1) JP4408692B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1891787B1 (en) 2005-06-15 2010-03-24 Solarflare Communications Incorporated Data processing system
US8832697B2 (en) * 2005-06-29 2014-09-09 Cisco Technology, Inc. Parallel filesystem traversal for transparent mirroring of directories and files
CN101069394B (zh) * 2005-12-05 2015-01-28 日本电信电话株式会社 故障补救方法和数据包通信装置
JP4736859B2 (ja) * 2006-03-02 2011-07-27 日本電気株式会社 通信装置および通信方法
JP5348833B2 (ja) * 2006-10-06 2013-11-20 株式会社東芝 医用画像情報システム
US7787375B2 (en) * 2007-08-06 2010-08-31 International Business Machines Corporation Performing a recovery action in response to a credit depletion notification
US7975027B2 (en) * 2007-08-06 2011-07-05 International Business Machines Corporation Credit depletion notification for transmitting frames between a port pair
US20100305412A1 (en) * 2009-03-23 2010-12-02 Darrah Mark I Device and system for wireless monitoring of the vital signs of patients
JP5316432B2 (ja) 2010-01-19 2013-10-16 富士通株式会社 ネットワークコントローラの制御方法、プログラム及び情報処理装置
JP5482230B2 (ja) 2010-01-25 2014-05-07 富士通株式会社 通信装置、情報処理装置、通信装置の制御方法及び制御プログラム
US8688799B2 (en) * 2011-06-30 2014-04-01 Nokia Corporation Methods, apparatuses and computer program products for reducing memory copy overhead by indicating a location of requested data for direct access
FI124977B (fi) 2012-04-03 2015-04-15 Tide Medical Oy Impedanssipneumografialla tehtävä keuhkojen tilavuuden muutoksia kartoittava mittaus
JP6048336B2 (ja) * 2013-07-25 2016-12-21 富士ゼロックス株式会社 情報処理システム、情報処理装置及びプログラム

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58501788A (ja) 1981-10-21 1983-10-20 エルクシイ バス装置
US4595923A (en) 1981-10-21 1986-06-17 Elxsi Improved terminator for high speed data bus
US4930069A (en) 1987-11-18 1990-05-29 International Business Machines Corporation Mechanism and method for transferring data between bus units having varying master and slave DMA capabilities
US5293029A (en) * 1989-01-17 1994-03-08 Kabushiki Kaisha Toshiba System for mutually certifying an IC card and an IC card terminal
JP2826857B2 (ja) * 1989-12-13 1998-11-18 株式会社日立製作所 キャッシュ制御方法および制御装置
JPH0619759B2 (ja) * 1990-05-21 1994-03-16 富士ゼロックス株式会社 マルチプロセッサシステムにおける相互通信方法
US5317568A (en) * 1991-04-11 1994-05-31 Galileo International Partnership Method and apparatus for managing and facilitating communications in a distributed hetergeneous network
JPH05143497A (ja) 1991-11-18 1993-06-11 Nec Corp バツフア管理装置およびバツフア管理方法
JP2809961B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 マルチプロセッサ
FR2707774B1 (fr) * 1993-07-15 1995-08-18 Bull Sa Procédé de gestion cohérente des échanges entre des niveaux d'une hiérarchie de mémoires à au moins trois niveaux.
JPH07225728A (ja) 1994-02-14 1995-08-22 Hitachi Ltd 通信制御装置
JPH0816501A (ja) 1994-06-27 1996-01-19 Mitsubishi Electric Corp 通信装置およびそれを用いた通信システム
US5842226A (en) * 1994-09-09 1998-11-24 International Business Machines Corporation Virtual memory management for a microkernel system with multiple operating systems
US5944794A (en) * 1994-09-30 1999-08-31 Kabushiki Kaisha Toshiba User identification data management scheme for networking computer systems using wide area network
US5581696A (en) * 1995-05-09 1996-12-03 Parasoft Corporation Method using a computer for automatically instrumenting a computer program for dynamic debugging
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6085238A (en) * 1996-04-23 2000-07-04 Matsushita Electric Works, Ltd. Virtual LAN system
US6453334B1 (en) * 1997-06-16 2002-09-17 Streamtheory, Inc. Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
EP1116086B1 (en) * 1998-09-22 2007-02-21 Avocent Huntsville Corporation System for accessing personal computers remotely
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
KR100272108B1 (ko) * 1998-10-13 2000-11-15 윤종용 Ieee 1394 가상 네트웍 생성방법 및 그 콘트롤러
JP3626609B2 (ja) * 1998-10-30 2005-03-09 日本電気株式会社 マルチプロセッサシステム
JP2001211197A (ja) * 2000-01-26 2001-08-03 Nec Corp 通信システム、通信方法、ゲートウェイ装置およびクライアント
US6856619B1 (en) * 2000-03-07 2005-02-15 Sun Microsystems, Inc. Computer network controller
US6804673B2 (en) 2001-04-19 2004-10-12 Fujitsu Limited Access assurance for remote memory access over network
US20040004966A1 (en) * 2001-04-27 2004-01-08 Foster Michael S. Using virtual identifiers to route transmitted data through a network
JP3534346B2 (ja) * 2001-12-20 2004-06-07 アライドテレシス株式会社 管理装置、ネットワーク管理方法、プログラム、及び記録媒体
AU2002354095B2 (en) * 2001-12-21 2008-01-10 Sony Interactive Entertainment Inc. Methods and apparatus for secure distribution of program content
US20030212805A1 (en) * 2002-02-18 2003-11-13 Kinichi Motosaka Profile information acquisition program and apparatus
JP4155756B2 (ja) * 2002-04-19 2008-09-24 富士通株式会社 プログラムファイル管理システム
US7836205B2 (en) * 2002-07-11 2010-11-16 Hewlett-Packard Development Company, L.P. Method and device for use with a virtual network
US7007049B2 (en) * 2002-11-18 2006-02-28 Innopath Software, Inc. Device memory management during electronic file updating
US7263593B2 (en) * 2002-11-25 2007-08-28 Hitachi, Ltd. Virtualization controller and data transfer control method
JP4438457B2 (ja) * 2003-05-28 2010-03-24 株式会社日立製作所 記憶領域割当方法、システム及び仮想化装置
JP2005031929A (ja) * 2003-07-11 2005-02-03 Hitachi Ltd サーバに記憶領域を割り当てる管理サーバ、記憶装置システム、及びプログラム
JP5078257B2 (ja) * 2003-08-28 2012-11-21 インターナショナル・ビジネス・マシーンズ・コーポレーション 属性情報提供サーバ、属性情報提供方法、およびプログラム
US20050091272A1 (en) * 2003-10-23 2005-04-28 Smith Walter R. Contact management
US7107411B2 (en) * 2003-12-16 2006-09-12 International Business Machines Corporation Apparatus method and system for fault tolerant virtual memory management

Also Published As

Publication number Publication date
US8180842B2 (en) 2012-05-15
JP2005182491A (ja) 2005-07-07
US20050141444A1 (en) 2005-06-30

Similar Documents

Publication Publication Date Title
JP4408692B2 (ja) 通信装置管理プログラム
US7533181B2 (en) Apparatus, system, and method for data access management
KR100987746B1 (ko) 작업 관리 장치, 클러스터 시스템 및 작업 관리 프로그램을기록한 컴퓨터 판독 가능한 기록 매체
JPWO2008126325A1 (ja) クラスタシステム、ソフトウェア更新方法、サービス提供ノード、およびサービス提供用プログラム
JP4371321B2 (ja) Nfsサーバ、nfsサーバ制御プログラム、nfsサーバ制御方法
US20090178040A1 (en) Method and system for controlling network device and recording medium storing program for executing the method
US20080007768A1 (en) Network device, network manager, network managing system, and method of performing clone process
JP3714906B2 (ja) インテリジェント記憶領域ネットワーク
JP5891881B2 (ja) 情報処理装置及び情報処理プログラム
JP2007293603A (ja) 情報処理装置及び情報処理方法及びプログラム
JP5448691B2 (ja) サーバ装置、クライアント装置、サーバ装置の制御方法、クライアント装置の制御方法、サーバ装置の制御プログラム及びクライアント装置の制御プログラム
JPH11327815A (ja) 通信制御方法及び装置及び通信システム
JP2000293324A (ja) データ処理装置およびデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2008090798A (ja) データ処理システムのバックアップ制御装置及びシステム
US20040139196A1 (en) System and method for releasing device reservations
US20050091266A1 (en) Data file system, data access server and data access program storage medium
JP4869028B2 (ja) 映像蓄積配信システム及び映像蓄積配信方法
JPH08221372A (ja) 分散処理システムにおける空き資源管理装置
US8284414B2 (en) Image forming system and managing method thereof
EP1691268A1 (en) Printer and printing method
WO2006043322A1 (ja) サーバ管理プログラム、サーバ管理方法、およびサーバ管理装置
JP5067075B2 (ja) 疎結合システム、待機系排他制御装置、疎結合システムのリカバリ方法、プログラムおよび記憶媒体
JP4686677B2 (ja) 代替サーバ切り替え方法
JP4349189B2 (ja) ネットワークシステム、番組録画予約方法および情報処理装置
JP2010117778A (ja) 通信装置、制御方法、および、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090512

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090709

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees