JP5987445B2 - 通信制御装置、方法、プログラムおよびシステム - Google Patents

通信制御装置、方法、プログラムおよびシステム Download PDF

Info

Publication number
JP5987445B2
JP5987445B2 JP2012097162A JP2012097162A JP5987445B2 JP 5987445 B2 JP5987445 B2 JP 5987445B2 JP 2012097162 A JP2012097162 A JP 2012097162A JP 2012097162 A JP2012097162 A JP 2012097162A JP 5987445 B2 JP5987445 B2 JP 5987445B2
Authority
JP
Japan
Prior art keywords
data
computer
storage area
received
feature data
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
JP2012097162A
Other languages
English (en)
Other versions
JP2013225221A (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 JP2012097162A priority Critical patent/JP5987445B2/ja
Priority to US13/848,814 priority patent/US9307005B2/en
Publication of JP2013225221A publication Critical patent/JP2013225221A/ja
Application granted granted Critical
Publication of JP5987445B2 publication Critical patent/JP5987445B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、通信制御装置、方法、プログラムおよびシステムに関する。
トランスポート層の通信プロトコルにTCP(Transmission Control Protocol)を用い、アプリケーション層の通信プロトコルにFTP(File Transfer Protocol)を用いて行われるファイル転送においては、脱送が生じる可能性がある。脱送とは、送信側のコンピュータからファイルの一部分しか受信側に送信されず、受信側のコンピュータでは、その一部分がファイル全体であると判断してしまうことである。そのため、ファイル転送後に送信側と受信側とで正常終了したか否かのステータスを通知しあうことで脱送を検知する方法がある。
特開平06−301608号公報 特開2000−172539号公報 特開平02−157942号公報
受信側のコンピュータは、データ転送処理によりファイルを受信した後に、受信したファイルをクローズし、受信したファイルを格納していたバッファを解放する。送信側コンピュータから異常終了のステータスが通知された場合には、受信側コンピュータは、クローズしたファイルを破棄する。ここで、受信したファイルをクローズする前に異常終了を示すステータス通知を受信すると、受信側コンピュータは、ファイルのクローズを行なうまでもなく、バッファを解放できる。送信側コンピュータからデータ転送処理が終了するとともにステータス通知が送信されたとしても、例えば遅延などにより、異常終了を示すステータス通知が、ファイルのクローズ処理が行なわれた後に受信側コンピュータに届くこともある。ファイルのクローズ処理が行なわれている間は、バッファは、受信したデータを格納しておくために確保されたままである。
本発明の一側面において、ファイル送信側のコンピュータにエラーが生じた場合に、受信側のコンピュータで、受信したファイルを格納するバッファが確保され続けることを抑制することを目的とする。
本願の通信制御システムは、第1のコンピュータ及び第2のコンピュータを含み、前記第1のコンピュータは、転送対象のデータと、前記転送対象のデータの特徴を示す第1の特徴データと、を前記第2のコンピュータに送信する送信部と、を含み、前記第2のコンピュータは、前記第1のコンピュータから受信したデータを記憶する記憶領域が確保された第2の記憶部と、前記第1のコンピュータから受信したデータに基づいて前記第1のコンピュータからのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう制御部と、を含む。
本願の通信制御装置は、データと、前記データの特徴を示す第1の特徴データと、受信した場合に、受信した前記データを所定の記憶領域内に記憶する記憶部と、前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了した旨の通知の受信に応じてと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう制御部と、を含む。
本願の通信制御方法では、コンピュータに、データと、前記データの特徴を示す第1の特徴データと、受信した場合に、受信した前記データを所定の記憶領域内に記憶し、前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう、ことを実行させる。
本願の通信制御プログラムは、コンピュータに、データと、前記データの特徴を示す第1の特徴データと、受信した場合に、受信した前記データを所定の記憶領域内に記憶し、前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう、ことを実行させる。
本発明の一態様によって、ファイル送信側のコンピュータにエラーが生じた場合に、受信側のコンピュータで、受信したファイルを格納するバッファが確保され続けることを抑制する。
図1は、ファイル転送処理のシーケンス図を示す。 図2は、TCPに基づくシーケンス図を示す。 図3は、送信側と受信側のバッファメモリの関係を示す。 図4は、本実施形態におけるシステム1の構成例を示す。 図5は、送信側コンピュータ2のソフトウェア構成例を示す。 図6は、送信側コンピュータ2のハードウェア構成例を示す。 図7は、ステータス通知のデータ構造例を示す。 図8は、ファイル転送の成否判定のフローチャートを示す。 図9は、ファイル転送の成否判定のフローチャートを示す。
あるコンピュータ(送信側)から他のコンピュータ(受信側)にファイル転送を行なう場合には、例えば、アプリケーション層のプロトコルにFTPなどを用いてファイル転送処理が行われる。さらに、FTP等を用いたファイル転送において、トランスポート層のプロトコルに、例えば、TCPなどのプロトコルが用いられることがある。
図1は、ファイル転送処理の例を示す。ここでは、ストリームモードでファイルをアップロードする場合を例示する。
まず、送信側コンピュータと受信側コンピュータとで制御コネクションを確立する(C1)。C1において、制御コネクションは3ウェイ・ハンドシェイクの手順に従って確立される。受信側コンピュータへの認証の手順については説明を割愛する。送信側コンピュータから送信ファイルのデータタイプを指定するコマンド(TYPE)が送信され(C2)、受信側コンピュータからコマンドが正常に受け入れられた旨のレスポンスコード(200)が返送される(C3)。さらに送信側コンピュータはIPアドレス及びポートを指定するコマンド(PORTコマンド)を送信し(C4)、そのポートを待ち受け状態にする。ポート(またはポート番号)とは、コンピュータがデータ通信を行う際に通信先のプログラムを特定するための番号のことである。受信側コンピュータは、PORTコマンドを受信すると、そのコマンドが正常に受け入れられた旨のレスポンスコード(200)を返送する(C5)。さらに、送信側コンピュータは、STORコマンドを用いて、受信側コンピュータに送信するファイルの情報を送信する(C6)。受信側コンピュータは、STORコマンドを受信すると、データコネクションを確立する要求をPORTコマンドで指定されたポートに対して行なう。データコネクションを用いたデータ転送(C8〜C15)は、例えば、TCPの手順に従って行なわれる。
図2はTCPに基づくデータ転送のシーケンスを示す。送信側コンピュータでは、図2に示す手順で関数が呼び出される(f0,f3,f6,f7)。また、受信側コンピュータでも図2に示す手順で関数が呼び出される(f1,f2,f4,f5,f8,f9)。手順を追って説明すると、まず、送信側コンピュータに、アプリケーションプログラムに基づきファイル転送が要求された場合に、socket関数が呼び出され、送信側コンピュータにソケットが生成される(f0)。ソケットは、通信を行うアプリケーションプログラムがTCPを扱うための仮想的なインターフェースである。受信側のコンピュータでも、socket関数が呼び出され、socket関数により生成されたソケットが待機状態にある(f1)。次に、受信側コンピュータでconnect関数が呼び出され、3ウェイ・ハンドシェイクの手順に従って送信側コンピュータと受信側コンピュータとで、データコネクションが確立される(f2)。その後、送信側コンピュータから受信側コンピュータに、送信対象のファイルに含まれるデータが送信される。
データの送信は、それぞれのコンピュータの下記の制御により行われる。まず、送信側コンピュータにおいて、write関数が呼び出される(send関数でもよい)。すると、送信側コンピュータのアプリケーションプログラムに割り当てられたバッファから送信バッファにデータがコピーされ、送信バッファにコピーされたデータが受信側コンピュータに送信される(f3)。受信側コンピュータは、受信したデータを受信バッファに書き込む。受信側コンピュータは、read関数(recv関数でもよい)を呼び出しており、受信バッファにデータが書き込まれると、受信バッファからデータを読みだして、受信側コンピュータで動作するアプリケーションプログラムのバッファに書込む(f4)。read関数が実行されると、受信側コンピュータは、ackを送信側コンピュータに送信する。すなわち、write関数によりackメッセージを送信バッファに書き込む(f5)。送信側コンピュータは、受信側コンピュータから送信されたackを受信バッファに書込む。送信側コンピュータは、read関数を呼び出しており、受信バッファに書き込まれたackを読みだす(f6)。read関数によりackを読みだすと、送信側コンピュータは、送信バッファに書き込まれている送信済みデータを削除し、再度write関数を呼び出し、アプリケーションプログラムのバッファから送信バッファにデータをコピーする。送信側コンピュータと受信側コンピュータとが、上記の処理を繰り返し、送信対象のファイルに含まれるデータの転送を行なう。
アプリケーションプログラムのバッファから読み出すデータが無くなった場合に、送信側コンピュータでは、close関数(shutdown関数でもよい)を呼び出し、受信側コンピュータにデータ転送を終了する旨を示す情報(ヘッダ中のFINフラグが立ったメッセージ)を送信する(f7)。受信側コンピュータではFIN含むメッセージを受信すると、0バイトのデータを受信バッファに書き込む。受信側コンピュータではread関数を呼び出しており、0バイトデータが読み出される(f8)と、受信側コンピュータでもclose関数が呼び出される(f9)。受信側コンピュータでclose関数が実行されると、受信側コンピュータからさらにFINを含むメッセージが送信側コンピュータに送信され、送信側コンピュータからackが返される。
図2に示すTCPに基づくファイル転送が行われると、FTPの手順に従って受信側コンピュータから送信側コンピュータに、データ転送が終了した旨のメッセージ(レスポンスコード226:転送完了を示す)が送信される(C16)。FTPの手順においては、データ転送が終了した旨のメッセージ(レスポンスコード226:転送完了を示す)が通信された後に、送信側コンピュータから通信の終了を示すコマンド(QUIT)が送信される(C19)。さらに、受信側コンピュータはQUITコマンドを受信すると、通信の終了を了解した旨のレスポンスコード(221:bye)を返送する(C20)。
図2に示すように、ストリームモードでファイルをアップロードすると、受信側は、受信するファイルの終わりを、接続が閉じたか否か(0バイトデータの読み出しか否か)で判断することになる。ファイル転送の接続は、例えば、送信側コンピュータでClose関数やShutdown関数が実行されることで閉じられる。このようなファイルアップロードでは、例えば、送信側コンピュータで動作するアプリケーションプログラムのバッファへのデータ書き込みの途中でエラーにより、送信対象のファイルの一部しか書き込まれないことがある。すると、アプリケーションプログラムのバッファに書き込まれた一部のデータが、受信側コンピュータに送信される。さらに、送信側コンピュータにおいてClose関数が呼び出されて接続が閉じられると、受信側コンピュータにおいては、受信したデータが送信対象のファイルの全てであると判断し、正常終了してしまう。
例えば図3に示すように、送信側コンピュータは、アプリケーションプログラムのバッファB1に格納されたファイル(太線の枠内)のデータをwrite関数の実行により送信バッファB3に書き込む。しかしながら、エラーにより、ファイルの一部(斜線部分)しか送信バッファB3への書き込みが行なえなかった場合には、受信側コンピュータのアプリケーションプログラムのバッファB2に書き込まれるデータは、バッファB1から読み出されたファイルの一部(斜線部分)のみである。
受信側コンピュータにデータ転送処理が正常終了したと判断されると、受信側コンピュータのアプリケーションプログラムに基づく処理に、通信が途中で打ち切られたことにより一部欠落しているファイルが用いられてしまう。さらに、送信側コンピュータは、エラーの発生に応じて、ファイル転送を要求したアプリケーションプログラムによりファイルの再送要求が行なわれた場合には、ファイルの再送処理を行なう。これにより、受信側コンピュータが、多重で受信したファイルのそれぞれを用いて多重処理を行なってしまう危険性がある。
これに対して、例えば、通信の手順の追加によるFTPの拡張が行なわれる。例えば、ファイル転送が正常終了したか(もしくは、正常終了したと判断したか否か)否かを示すステータスを、送信側コンピュータと受信側コンピュータとで互いに通知する手順(図1に示すC17,c18)が追加される。この追加手順により、送信側コンピュータが異常終了であると判断しているにも関わらず、受信側コンピュータが正常終了と判断して、受信したデータを用いて処理を行なってしまう危険性が回避される。
さらに、データ転送後のファイルクローズにおいてエラーが生じる可能性もあるが、ステータス通知(図1に示すC17,C18)をファイルクローズの後に行うことより、通信相手に発生したファイルクローズのエラーも検知される。
例えば、送信側コンピュータの処理が正常終了した旨のステータス情報が、送信側コンピュータから受信側コンピュータに通知されれば、受信側コンピュータは、上記の危険性が回避されていることを確認できる。また、例えば、送信側コンピュータの処理が異常終了した旨のステータス情報が、送信側コンピュータから受信側コンピュータに通知されると、受信側コンピュータは、上記の危険性があることを確認できる。逆に、例えば、受信側コンピュータの処理が正常終了した旨のステータス情報が、受信側コンピュータから送信側コンピュータに通知されると、送信側コンピュータは、ファイルを再送する必要がないことを確認できる。また、例えば、受信側コンピュータの処理が異常終了した旨のステータス情報が、受信側コンピュータから送信側コンピュータに通知されると、送信側コンピュータは、ファイルの再送が必要であることを確認できる。
しかしながら、例えば、ステータス情報の通知自体が遅延すると、ファイル転送処理が正常終了したか否かの確認がとれないので、送信側コンピュータも受信側コンピュータもファイル転送のトランザクションを終了できなくなってしまう。遅延によりステータス通知があまりにも長い期間届かない場合には、例えば、ステータス情報の送信を行なってから所定の時間経過するまでにステータスの通知を再送する方法も考えられる。しかし、その場合には、さらに所定の時間経過するまでファイル転送のトランザクションを終了できなくなってしまう。その場合には、実質的に処理が終わっているにも関わらず、受信側コンピュータでアプリケーションプログラムに基づいて受信したファイルを処理することはできない。さらには、ファイル転送のためにアプリケーションに割り当てられた確保されたメモリ領域(例えば、図3に示すB2)を解放することができない。
さらに、例えば、送信側コンピュータが異常終了のステータス通知を受信側に送信する場合には、結果的に受信側コンピュータはアプリケーションプログラムのバッファに格納したファイルを破棄することになる。しかし、受信側コンピュータは、異常終了のステータス通知を受信するまでは、ファイル転送処理が成功したか否かの判断ができないため、アプリケーションプログラムのバッファに格納したファイルを破棄することができない。さらに、受信側コンピュータは、送信側コンピュータから送信される異常終了のステータス通知が遅延した場合には、遅延した期間においてもアプリケーションプログラムのバッファに格納したファイルを破棄することができない。
そこで、例えば、受信側コンピュータは、ファイルに含まれるデータの特徴を示す情報を、ファイルに含まれるデータが送信側コンピュータから受信側コンピュータに転送されきるまでに、ファイル転送処理と並行して送信側コンピュータから受信し(図1に示すC21)、さらに、受信したファイルの特徴を示す情報を算出し、特徴を示す情報同士の比較を行なう。比較の結果、特徴を示す情報が異なっている場合には、脱送の可能性があるため、受信側コンピュータは、アプリケーションプログラムのバッファの解放を行なう。例えば、さらに、受信側コンピュータは、異常終了のステータスを送信側コンピュータに送信する(図1に示すC22)。これにより、脱送などによって、転送されたファイルが送信対象のファイルと異なってしまった場合に、早期に受信側コンピュータの負荷を軽減(メモリ領域を解放)できる。特に、異常終了のステータス通知が遅延することにより、受信側コンピュータのメモリ領域が確保され続けることが回避される。ちなみに、送信ファイルの特徴を示す情報は、例えば、ファイルサイズや、送信ファイルを引数として所定のハッシュ関数に代入して得られたハッシュ値などである。
ステータスの通知と、ファイルの特徴量の比較とを併用する方法もある。送信側コンピュータから送信されたステータスの通知が遅延した場合に、送信側コンピュータは、ファイルの特徴量が一致している場合には、正常終了と判断し、ステータスの通知の再送を抑制してもよい。これにより、ステータスの再送により、さらに所定の待ち時間が発生することが抑制される。
特に、複数のクライアントコンピュータからサーバコンピュータにファイルがアップロードされる形態においては、サーバコンピュータに負荷が集中するため、あるクライアントコンピュータとの通信にメモリを確保し続けることにより、他のクライアントコンピュータとの通信を遅らせる原因にもなり得る。そのため、バッファメモリを解放することによって、サーバコンピュータは、解放されたリソースを他の通信に用いることができる。
ファイル転送の成否について、例えば、ファイルFそのものを多重で送信し、受信側コンピュータが、多重で受信したファイルF同士が同一か否かによって判定することも考えられる。その一方で、バッファ内のデータに基づくハッシュ値又はデータサイズ値を送信することで、ファイル転送の成否判定のための通信量が抑制され、FTPにおいて制御コネクションに割り当てられる程度の細い帯域でも対応できる。そのため、制御コネクションによりファイル転送の成否判定のための通信を行なうことによって、データコネクションの帯域を大幅に削減する必要はない。
図4は、本実施形態における通信システムの構成例を示す。通信システム1は、送信側コンピュータ2及び受信側コンピュータ3を含み、送信側コンピュータ2と受信側コンピュータ3とで互いに通信を行なう。送信側コンピュータ2は通信部11、処理部12及び記憶部13を含み、受信側コンピュータ3は、通信部14、処理部15及び記憶部16を含む。処理部12はアプリ処理部121及び通信処理部122を含み、処理部15はアプリ処理部151及び通信処理部152を含む。また、図4においては、送信側コンピュータ2及び受信側コンピュータ3が1台ずつ示されているが、これに台数を限定するものではない。例えば、送信側コンピュータ2がクライアントであって、受信側コンピュータ3がサーバであるとすると、サーバにデータを送信するクライアントが複数存在してもよいし、クライアントから送信されたデータを複数のサーバのいずれかが受信してもよい。また、通信システム1は、中継装置4、5及びネットワーク6を有する。
通信部11は、処理部12の制御により他の装置との通信処理を行なう。すなわち、処理部12の制御により記憶部13からデータを読み出して指示された他の装置に送信し、データを受信した場合に、受信したデータを処理部12に送る。処理部12は、図5に示すプログラムに従って、通信部11及び記憶部13の制御、並びに演算処理を行なう。記憶部13は、処理の指示に応じてデータの書き込み又は読み出しを行なう。アプリ処理部121は、アプリケーションプログラム(例えば、図5に示すアプリケーションプログラム23および制御プログラム24)に基づく処理を行なう。通信処理部122は、アプリ処理部121から通信を要求された場合に、通信制御のプログラム(例えば、図5に示すソケットAPI22c、プロトコルスタック22b及びデバイスドライバなど)に基づいて、演算及び通信部11の制御を行なう。アプリ処理部121及び通信処理部122が行なう処理については後述する。
受信側コンピュータ3も送信側コンピュータ2の通信部11、処理部12及び記憶部16の機能を有する。通信部14は通信部12と同様の処理を行ない、処理部15は処理部12と同様の処理を行ない、記憶部16は記憶部13と同様の処理を行なう。
アプリ処理部121及び151並びに通信処理部122及び152による通信処理について、さらに説明する。
アプリ処理部121は、上述の通り、図5に示すアプリケーションプログラム23および制御プログラム24に基づく処理を行なう。例えば、アプリケーションプログラム23に基づいてファイルFの転送が要求されると、アプリ処理部121は、転送先との制御コネクションの確立を通信処理部122に要求する。アプリ処理部121は、記憶部13にバッファB1を設け、送信対象であるファイルFをバッファB1に書き込む。そして、アプリ処理部121は、図2に示す手順で通信処理部122に処理を実行させる。具体的には、アプリ処理部121は、socket関数、connect関数、write関数、read関数、close関数などを図2に示す順序で呼び出す。通信処理部122は、アプリ処理部121から呼び出された各々の関数に基づいて処理を行なう。
アプリ処理部151は、通信処理部122でconnect関数が実行されたことにより、通信処理部152がデータコネクションを確立した場合に、図2に示す手順で関数を呼び出す。さらに、アプリ処理部151は、受信したデータを格納するバッファB2を記憶部16に設ける。具体的に、read関数、write関数及びclose関数などが呼び出される。通信処理部152は、アプリ処理部151から呼び出された各々の関数に基づいて処理を行なう。通信処理部152は、read関数を実行して、受信バッファに格納されたデータを読み出すと、読み出したデータをバッファB2に格納する。
上述のアプリ処理部121及び151、並びに通信処理部122及び152の処理により、送信側コンピュータ2のバッファB1に格納されたファイルFが、受信側コンピュータ3のバッファB2に転送される。
アプリ処理部121は、バッファB1に送信対象のファイルFを読み出すと、さらに、ファイルFに含まれるデータに基づいてファイルFの特徴を示すデータDを生成する。このデータDは、例えば、所定のハッシュ関数にファイルFに含まれるデータを代入して得られるハッシュ値や、ファイルFのサイズを示すデータなどである。さらに、アプリ処理部121は、上述の通りファイルFの転送処理を行なうとともに、例えば制御コネクションを用いて、受信側コンピュータ3(アプリ処理部151)にデータD及びファイルFの識別情報(例えば、ファイル名など)を送信する。
一方、アプリ処理部151は、データD及びファイルFの識別情報を送信側コンピュータ2から受信すると、記憶部16に記憶する。また、通信処理部152は、read関数を実行した結果、0バイトのデータ読み出しが行なわれた場合(図2に示すf8)に、アプリ処理部121にファイルFの転送終了を通知する。TCPにおいては、FINを含むデータを受信すると、受信バッファに0バイトのデータが格納された状態となり、そこにread関数により0バイトのデータ読み出しが行なわれた場合に、送信側から送信対象の全てのデータが届いたことが検知される。アプリ処理部151は、通信処理部152からファイルFの転送終了を通知されると、バッファB2に格納されたデータに基づいて、そのデータの特徴を示すデータD´を算出する。このデータD´は、データDと同様の方法で算出される。例えば、バッファB2に格納されたデータを所定のハッシュ関数に代入して得られたハッシュ値や、バッファB2に格納されたデータのサイズを示すデータなどである。さらに、アプリ処理部151は、記憶部16に記憶したデータDを読み出して、算出したデータD´と合致するか否か判定する。判定の結果、合致しない場合には、バッファB2を解放し、データDとデータD´とが合致しない旨を送信側コンピュータ2(アプリ処理部121)に、例えば制御コネクションを介して通知する。
さらに、アプリ処理部121及び151は、ファイル転送が正常終了されたか否かを示す情報(ステータス)を、お互いに通知する。この通知は、例えば、制御コネクションを介して行なわれる。
図5は、通信システム1に含まれる送信側コンピュータ2のソフトウェア構成例を示す。受信側コンピュータ3も同様のソフトウェア構成を有する。ハードウェア21(図6参照)は、OS22(Operation System)に示される手順に従って動作する。ネットワークデバイス21a(通信カードなど)はネットワークデバイス21aのデバイスドライバ22a(通信カードドライバなど)に示される手順に従って動作する。デバイスドライバ22aは、プロトコルスタック22b(トランスポートプロトコル・ソフトウェア。例えば、TCP/IPなどのプロトコルについてのプロトコルスタック)に示される手順に従って、ネットワークデバイス21aの動作制御の手順を示す。プロトコルスタック22bは、プロトコルに定められた処理をネットワークデバイスに処理させる手順を示す。ソケットAPI22c(アプリケーション・トランスポート層インターフェース)は、アプリケーションプログラム23(もしくは制御ミドルウェア24)において、どのようにプロトコルスタックの機能が用いられるかが定められた関数群である。制御ミドルウェア24は、アプリケーションプログラム23に用いられる通信の手順を示す。この手順は、例えば、アプリケーションプログラム23が用いるファイルの転送などの通信においては、FTP(File Transfer Protocol)などのプロトコルに基づく手順である。制御プログラム24は、アプリケーションプログラム23に含まれてもよい。
図6は、システム1に含まれる送信側コンピュータ2のハードウェア構成例を示す。受信側コンピュータ3も同様のハードウェア構成を有する(但し、受信側コンピュータ3に含まれる通信I/Fは中継装置5に接続される)。送信側コンピュータ2は、例えば、プロセッサ301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、ドライブ装置304、記録媒体305、通信インターフェース(I/F)306(図5に示すネットワークデバイス22a)、入力インターフェース(I/F)307、出力インターフェース(I/F)308などを含む。それぞれのハードウェアはバス309を介して接続している。通信I/F306は中継装置4を介して通信を行なうNIC(Network Interface Card)などの装置である。入力インターフェース307は、入力装置310と接続されており、入力装置310から受信した入力信号をプロセッサ301に伝達する。出力インターフェース308は、出力装置311と接続されており、出力装置311に、プロセッサ301の指示に応じた出力を実行させる。
RAM302は読み書き可能なメモリ装置であって、例えば、SRAM(Static RAM)やDRAM(Dynamic RAM)などの半導体メモリ、またはRAM以外にもフラッシュメモリなどが用いられる。ROM303は、PROM(Programmable ROM)なども含む。ドライブ装置304は、記録媒体305に記録された情報の読み出しと書き込みとの少なくともいずれか一方を行なう装置である。記録媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記録媒体305は、例えば、ハードディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスクなどの記録媒体である。また、例えば、送信側コンピュータ2は、複数種類の記録媒体それぞれについて、ドライブ装置304及び記録媒体305を設ける。
入力装置310は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードや送信側コンピュータ2の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力装置は、送信側コンピュータ2の制御に応じて情報を出力する装置である。出力装置は、例えば、ディスプレイなどの画像出力装置(表示デバイス)や、スピーカーなどの音声出力装置などである。また、例えば、タッチスクリーンなどの入出力装置が、入力装置310及び出力装置311として用いられる。
プロセッサ301は、ROM303や記録媒体305に記憶されたプログラム(図4参照)をRAM302に読み出し、読み出されたプログラムの手順に従って処理部11の処理を行なう。その際に、RAM302はプロセッサのワークエリアとして用いられ、記憶部13の機能が実現される。アプリ処理部121の機能は、プロセッサ301がアプリケーションプログラム23又は制御プログラム24の手順に従って処理を行なうことにより実現される。通信処理部122の機能は、プロセッサ301が、ソケットAPI22c、プロトコルスタック22b及びデバイスドライバ22aに示される手順に従って処理を行なうことにより実現される。
受信側コンピュータ3のソフトウェア構成及びハードウェア構成は、図5及び図6に示す送信側コンピュータ2のソフトウェア構成及びハードウェア構成と同等である。受信側コンピュータ3に含まれる通信部14、処理部15、記憶部16、アプリ処理部151及び通信処理部152の機能も、図6に示すハードウェアが図5に示すプログラムを、送信側コンピュータ2と同様に実行することにより実現される。
送信側コンピュータ2及び3の上述の処理により、ファイル送信側のコンピュータにエラーが生じた場合に、受信側のコンピュータで、受信したファイルを格納するバッファが確保され続けることが抑制される。
図7は、ステータス通知のデータ構造例を示す。ステータス通知は、例えば、メッセージ種別の識別子、業務番号、リプライコードおよび診断情報などを含む。識別子は、例えば、ステータスの通知であることを識別させる情報である。業務番号は、例えば、制御コネクションを確立する際の認証においてUSERコマンド(不図示)で指定された情報などが含まれる。リプライコードは、例えば、ファイル転送が正常終了したか否かを示す情報、一時的なエラーであるか永久的なエラーであるかを示す情報、及び制御コネクションやデータコネクションに関するエラーであるか、ユーザ認証に関するエラーであるか、ファイルに関するエラーであるか、それ以外のエラーであるかを示す情報を含む。診断情報は、さらに詳細な情報を送信する場合に用いられる。診断情報は、転送されるファイルの特徴量を示す情報であり、例えば、誤り識別子、長さ、種別及び詳細情報などの少なくとも1つを含む。詳細情報は、エラーの原因に関する情報が含まれる。システム障害が発生した際の対応などに用いられる。誤り識別子は、詳細情報の誤り識別子を示し、長さは、詳細情報のデータサイズを示し、診断情報に含まれる種別は、詳細情報のデータタイプを示す。この形式のステータス通知を互いに送受信することで、送信側コンピュータ2及び3は、通信相手がデータ転送を正常終了したと判断しているか否かを判断可能となる。
さらに、以下にファイル転送の成否判定について説明する。図8は、送信側送信側コンピュータ2におけるファイル転送の成否判定のフローを示す。まず、アプリ処理部121は、バッファB1に送信対象のファイルが格納される(S100)と、バッファB1に格納されたデータに基づいて、データDを算出する(S101)。データDとは、例えば、バッファB1に格納されたデータを所定のハッシュ関数に代入して得られたハッシュ値や、バッファB1に格納されたデータのサイズを示す情報などである。さらにアプリ処理部121は、ファイル送信先のコンピュータに、S101で算出したデータDを送信する(S102)。S102の処理後、受信側コンピュータ3から異常終了を示すステータス通知を受信したか否かを判定する(S103)。S103の判定は、アプリ処理部121が受信側コンピュータ3からデータD´を受信し、受信したデータD´とS102で算出したデータDとが合致しない場合に、YESと判定するようにしてもよい。受信側コンピュータ3から異常終了を受信した場合(S103:YES)には、後述のS109の処理を行なう。受信側コンピュータ3からデータコネクションを閉じるまでにステータス通知を受信しないか、正常終了を示すステータス通知を受信した場合(S103:NO)には、アプリ処理部121は、データコネクションが閉じられたか否かを判定する(S104)。データコネクションが閉じられていない場合(S104:NO)には、アプリ処理部121は、再度S104の判定を行なう。データコネクションが閉じられている場合(S104:YES)には、アプリ処理部121は、ステータスの通知を受信側コンピュータ3に対して行なう(S105)。S105で送信されるステータスの通知は、データコネクションを閉じられた段階でファイル転送処理が正常に行なわれた否かを示す。例えば、バッファB1に格納されたデータが送信バッファに格納されないなどのエラーが生じた場合には、アプリ処理部121は、異常終了を示すステータス通知を送信する。S105の処理後、受信側コンピュータ3からステータス通知を受信する(S106)と、アプリ処理部121は、S106で受信したステータス通知が正常終了を示すか否かを判定する(S107)。S106で受信したステータス通知が正常終了を示す場合(S107:YES)は、アプリ処理部121は、アプリケーションプログラム23のファイル転送要求に対して、正常終了の返答を行なう(S108)。S106で受信したステータス通知が正常終了を示さない(異常終了を示す)場合(S107:NO)にはS109の処理を行なう。S109では、アプリ処理部121は、アプリケーションプログラム23のファイル転送要求に対して、異常終了の返答を行なう(S109)。S108又はS109の処理を行なうと、アプリ処理部121は、ファイル転送の成否判定を終了する(S110)。
図9は、受信側受信側コンピュータ3におけるファイル転送の成否判定のフローを示す。送信側送信側コンピュータ2からSTORコマンドを受け付けると、アプリ処理部151は、ファイル転送の成否判定処理を開始する(S200)。まず、送信側送信側コンピュータ2で算出されたデータDを受信する(S201)。その後、アプリ処理部151は、通信処理部152により実行されるread関数の結果0バイトのデータが読み出されたか否かを判定する(S202)。S202の結果、0バイトのデータが読み出されていない場合(S202:NO)には、さらに、S202の処理が行なわれる。S202において0バイトデータが読み出された場合(S202:YES)に、アプリ処理部151は、バッファB2に格納されたデータの特徴を示すデータD´を算出する(S203)。前述の通り、例えば、バッファB2に格納されたデータを所定のハッシュ関数に代入して得られたハッシュ値や、バッファB2に格納されたデータのサイズを示す情報などである。アプリ処理部151は、送信側送信側コンピュータ2のアプリ処理部121でデータDの算出に用いられたハッシュ関数と同じハッシュ関数を用いる。次に、アプリ処理部151は、S201で受信したデータDと、S203で算出したデータD´とが同一であるか否かを判定する(S204)。S204の結果、データDとデータD´とが一致しない場合(S204:NO)には、アプリ処理部151は、ファイルの受信のために確保されたバッファB2を解放する(S205)。次に、アプリ処理部151は、ファイル転送が異常終了した旨のステータス通知を送信側コンピュータ2に送信する(S206)。さらに、アプリ処理部151は、コンピュータS207からステータス通知を受信する(S207)した場合に、送信側コンピュータ2に異常終了を示すステータス通知を送信する(S208)。S206か、S207及びS208かのいずれか一方が行なわれることとしてもよい。さらに、アプリ処理部151は、受信側コンピュータ3で動作するアプリケーションプログラム23に対して、異常終了の通知を行なう(S209)。その後アプリ処理部151は、ファイル転送の成否判定を終了する(S216)。
一方、S204の結果、データDとデータD´とが一致した場合(S204:YES)に、アプリ処理部151は、送信側コンピュータ2からステータス通知を受信する(S210)。次に、アプリ処理部151は、S210で通知されたステータスが正常終了を示すか否かを判定する(S211)。S211において、S210で受信した通知が正常終了を示す場合(S211:YES)には、アプリ処理部151は、正常終了を示すステータスの通知を送信側コンピュータ2に送信する(S212)。その後、アプリ処理部151は、受信側コンピュータ3で動作するアプリケーションプログラム23に対して、正常終了の通知を行なう(S213)。さらに、アプリ処理部151は、ファイル転送の成否判定を終了する(S216)。
また、S211の結果、S210で受信した通知が異常終了を示す場合(S211:NO)には、アプリ処理部151は、異常終了を示すステータスの通知を送信側コンピュータ2に送信する(S214)。その後、アプリ処理部151は、受信側コンピュータ3で動作するアプリケーションプログラム23に対して、異常終了の通知を行なう(S215)。さらに、アプリ処理部151は、ファイル転送の成否判定を終了する(S216)。
図9及び図10に示されるファイル転送の成否判定において、例えば、アプリ処理部121が、S105の処理後、所定時間経過するまでにS106の処理が行なわれない場合に、S108の処理を行なうこととしてもよい。S106及びS107の処理を行なわないのは、例えば、S208、S212又はS214で送信されるステータス通知(図1のc18)がネットワーク負荷などの事情により遅延した場合にも、転送されるファイルそのものが受信側受信側コンピュータ3のバッファB2に格納されたことがS103において確認されているためである。そのため、ステータス通知の遅延により、データ転送終了が遅れることが抑制される。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
第1のコンピュータ及び第2のコンピュータを含む通信制御システムであって、
前記第1のコンピュータは、
転送対象のデータと、前記転送対象のデータの特徴を示す第1の特徴データと、を前記第2のコンピュータに送信する送信部と、を含み、
前記第2のコンピュータは、
前記第1のコンピュータから受信したデータを記憶する記憶領域が確保された第2の記憶部と、
前記第1のコンピュータから受信したデータに基づいて、前記第1のコンピュータからのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう制御部と、
を含むことを特徴とする通信制御システム。
(付記2)
前記第2のコンピュータは、さらに、
前記第1の特徴データと前記第2の特徴データとが一致しない場合に、前記第1のコンピュータに、ファイル転送に失敗した旨の通知を行なう通知部、
を含むことを特徴とする付記1に記載の通信制御システム。
(付記3)
前記送信部は、さらに、
前記通知部から、前記通知を受信した場合に、前記転送対象のデータと、前記第1の特徴データと、を前記第2のコンピュータに再送する、
ことを特徴とする付記2に記載の通信制御システム。
(付記4)
前記第1の特徴データは、
前記転送対象のデータよりもデータサイズが小さい、
ことを特徴とする付記1〜3のいずれか1つに記載の送信制御プログラム。
(付記5)
前記第1の特徴データは、
前記転送対象のデータに基づく所定の演算により算出され、
前記第2の特徴データは、
前記記憶領域に記憶されたデータに基づく前記所定の演算により算出される、
ことを特徴とする付記1〜4のいずれか1つに記載の通信制御システム。
(付記6)
前記第2の特徴データは、
前記第1のコンピュータから、前記転送対象のデータの送信が終了した旨を示す情報を受信した場合に、受信したデータを記憶する前記記憶領域に記憶されたデータに基づいて算出される、
ことを特徴とする付記1〜5のいずれか1つに記載の通信制御システム。
(付記7)
前記第1の特徴データは、前記第2のコンピュータにおいて、前記第1のコンピュータからのデータ送信が終了したと判断されるよりも前に、前記第2のコンピュータに受信される、
ことを特徴とする付記1〜6のいずれか1つに記載の通信制御システム。
(付記8)
前記制御部は、
前記第1の特徴データと前記第2の特徴データとが一致すると、前記記憶領域に格納されたデータを他の記憶領域に格納した後、前記記憶領域の解放を行なう、
ことを特徴とする付記1〜7のいずれか1つに記載の通信制御システム。
(付記9)
データと、前記データの特徴を示す第1の特徴データと、を受信した場合に、受信した前記データを所定の記憶領域内に記憶する記憶部と、
前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう制御部と、
を含むことを特徴とする通信制御装置。
(付記10)
コンピュータに、
データと、前記データの特徴を示す第1の特徴データと、を受信した場合に、受信した前記データを所定の記憶領域内に記憶し、
前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう、
ことを実行させることを特徴とする通信制御方法。
(付記11)
コンピュータに、
データと、前記データの特徴を示す第1の特徴データと、受信した場合に、受信した前記データを所定の記憶領域内に記憶し、
前記データの送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記記憶領域を解放する制御を行なう、
ことを実行させることを特徴とする通信制御プログラム。
1 通信システム
2 送信側コンピュータ
3 受信側コンピュータ
4 中継装置
5 中継装置
6 ネットワーク
11 通信部
12 処理部
13 記憶部
14 通信部
15 処理部
16 記憶部
121 アプリ処理部
122 通信処理部
151 アプリ処理部
152 通信処理部

Claims (11)

  1. 第1のコンピュータ及び第2のコンピュータを含む通信制御システムであって、
    前記第1のコンピュータは、
    転送対象のデータと、前記転送対象のデータの特徴を示す第1の特徴データと、を前記第2のコンピュータに送信する送信部と、を含み、
    前記第2のコンピュータは、
    前記第1のコンピュータから受信したデータを記憶する記憶領域が確保された第2の記憶部と、
    前記第1のコンピュータから受信したデータに基づいて、前記第1のコンピュータからのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記第1のコンピュータから通知される正常終了か異常終了かを示すステータスの受信を待たず前記記憶領域を解放する制御を行なう制御部と、
    を含み、
    前記第1の特徴データは前記転送対象のデータに基づいて算出された第1のハッシュ値であり、
    前記第2の特徴データは前記記憶領域に記憶されたデータに基づいて算出された第2のハッシュ値であ
    ことを特徴とする通信制御システム。
  2. 前記第2のコンピュータは、さらに、
    前記第1の特徴データと前記第2の特徴データとが一致しない場合に、前記第1のコンピュータに、ファイル転送に失敗した旨の通知を行なう通知部、
    を含むことを特徴とする請求項1に記載の通信制御システム。
  3. 前記送信部は、さらに、
    前記通知部から、前記通知を受信した場合に、前記転送対象のデータと、前記第1の特徴データと、を前記第2のコンピュータに再送する、
    ことを特徴とする請求項2に記載の通信制御システム。
  4. 前記第1の特徴データは、
    前記転送対象のデータよりもデータサイズが小さい、
    ことを特徴とする請求項1〜3のいずれか1項に記載の通信制御システム。
  5. 前記第1の特徴データは、
    前記転送対象のデータに基づく所定の演算により算出され、
    前記第2の特徴データは、
    前記記憶領域に記憶されたデータに基づく前記所定の演算により算出される、
    ことを特徴とする請求項1〜4のいずれか1項に記載の通信制御システム。
  6. 前記第2の特徴データは、
    前記第1のコンピュータから、前記転送対象のデータの送信が終了した旨を示す情報を受信した場合に、受信したデータを記憶する前記記憶領域に記憶されたデータに基づいて算出される、
    ことを特徴とする請求項1〜5のいずれか1項に記載の通信制御システム。
  7. 前記第1の特徴データは、前記第2のコンピュータにおいて、前記第1のコンピュータからのデータ送信が終了したと判断されるよりも前に、前記第2のコンピュータに受信される、
    ことを特徴とする請求項1〜6のいずれか1項に記載の通信制御システム。
  8. 前記制御部は、
    前記第1の特徴データと前記第2の特徴データとが一致すると、前記記憶領域に格納されたデータを他の記憶領域に格納した後、前記記憶領域の解放を行なう、
    ことを特徴とする請求項1〜7のいずれか1項に記載の通信制御システム。
  9. 送信元装置から送信された転送対象データと、前記転送対象データの特徴を示す第1の特徴データとを受信した場合に、受信した前記転送対象データを所定の記憶領域内に記憶する記憶部と、
    前記送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記送信元装置から通知される正常終了か異常終了かを示すステータスの受信を待たず前記記憶領域を解放する制御を行なう制御部と、
    を含み、
    前記第1の特徴データは前記転送対象データに基づいて算出された第1のハッシュ値であり、
    前記第2の特徴データは前記記憶領域に記憶されたデータに基づいて算出された第2のハッシュ値であ
    ことを特徴とする通信制御装置。
  10. コンピュータに、
    送信元装置から送信された転送対象データと、前記転送対象データの特徴を示す第1の特徴データとを受信した場合に、受信した前記転送対象データを所定の記憶領域内に記憶し、
    前記送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記送信元装置から通知される正常終了か異常終了かを示すステータスの受信を待たず前記記憶領域を解放する制御を行なうことを実行させる通信制御方法であって、
    前記第1の特徴データは前記転送対象データに基づいて算出された第1のハッシュ値であり、
    前記第2の特徴データは前記記憶領域に記憶されたデータに基づいて算出された第2のハッシュ値であ
    ことを実行させることを特徴とする通信制御方法。
  11. コンピュータに、
    送信元装置から送信された転送対象データと、前記転送対象データの特徴を示す第1の特徴データとを受信した場合に、受信した前記転送対象データを所定の記憶領域内に記憶し、
    前記送信元装置から受信したデータに基づいて、前記送信元装置からのデータ送信が終了したと判断された場合に、前記記憶領域に記憶されたデータの特徴を示す第2の特徴データと、受信した前記第1の特徴データとが不一致であれば前記送信元装置から通知される正常終了か異常終了かを示すステータスの受信を待たず前記記憶領域を解放する制御を行なうことを実行させる通信制御プログラムであって、
    前記第1の特徴データは前記転送対象データに基づいて算出された第1のハッシュ値であり、
    前記第2の特徴データは前記記憶領域に記憶されたデータに基づいて算出された第2のハッシュ値であ
    ことを実行させることを特徴とする通信制御プログラム。
JP2012097162A 2012-04-20 2012-04-20 通信制御装置、方法、プログラムおよびシステム Expired - Fee Related JP5987445B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012097162A JP5987445B2 (ja) 2012-04-20 2012-04-20 通信制御装置、方法、プログラムおよびシステム
US13/848,814 US9307005B2 (en) 2012-04-20 2013-03-22 Communication control system, method, and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012097162A JP5987445B2 (ja) 2012-04-20 2012-04-20 通信制御装置、方法、プログラムおよびシステム

Publications (2)

Publication Number Publication Date
JP2013225221A JP2013225221A (ja) 2013-10-31
JP5987445B2 true JP5987445B2 (ja) 2016-09-07

Family

ID=49381158

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012097162A Expired - Fee Related JP5987445B2 (ja) 2012-04-20 2012-04-20 通信制御装置、方法、プログラムおよびシステム

Country Status (2)

Country Link
US (1) US9307005B2 (ja)
JP (1) JP5987445B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105247524A (zh) * 2013-05-31 2016-01-13 皇家飞利浦有限公司 用于自动上传、下载和更新诸如睡眠研究数据的数据的系统和方法
KR20150025584A (ko) * 2013-08-29 2015-03-11 삼성전자주식회사 화면 공유 방법 및 그 전자 장치
US9332015B1 (en) * 2014-10-30 2016-05-03 Cisco Technology, Inc. System and method for providing error handling in an untrusted network environment
US10509759B2 (en) * 2017-03-31 2019-12-17 Intel Corporation Multiple storage devices implemented using a common connector

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07120288B2 (ja) 1988-12-09 1995-12-20 富士通株式会社 データ処理装置の冗送メッセージ検出処理方式
JPH081618B2 (ja) 1993-04-14 1996-01-10 日本電気株式会社 ファイル転送管理方式
US6219669B1 (en) * 1997-11-13 2001-04-17 Hyperspace Communications, Inc. File transfer system using dynamically assigned ports
JP2000172539A (ja) 1998-12-01 2000-06-23 Yaskawa Electric Corp ネットワーク上のファイル比較方法
JP2001005746A (ja) * 1999-06-18 2001-01-12 Nippon Telegraph & Telephone East Corp ファイル転送システム
JP2002051100A (ja) * 2000-08-04 2002-02-15 Naltec Inc 中継装置およびその制御方法
JP2002073453A (ja) * 2000-08-31 2002-03-12 Mitsubishi Electric Corp ファイル送信システム及びファイル送信方法
JP4480909B2 (ja) * 2001-02-22 2010-06-16 株式会社沖データ データ送受信システム
JP2004038417A (ja) * 2002-07-01 2004-02-05 Seiko Epson Corp システム間データ転送装置及びそのプログラム
US20050201375A1 (en) * 2003-01-14 2005-09-15 Yoshihide Komatsu Uninterrupted transfer method in IP network in the event of line failure
JP4588507B2 (ja) * 2005-03-28 2010-12-01 株式会社デジタル 送信装置、そのプログラムおよび記録媒体
JP2006309512A (ja) * 2005-04-28 2006-11-09 Nec Electronics Corp マルチプロセッサシステム、及びマルチプロセッサシステムのメッセージ伝達方法
US8055902B2 (en) * 2007-01-12 2011-11-08 International Business Machines Corporation Method, system, and computer program product for data upload in a computing system

Also Published As

Publication number Publication date
US20130282816A1 (en) 2013-10-24
US9307005B2 (en) 2016-04-05
JP2013225221A (ja) 2013-10-31

Similar Documents

Publication Publication Date Title
US7990866B2 (en) Server device, method for controlling a server device, and method for establishing a connection using the server device
US9286171B2 (en) Priming failover of stateful offload adapters
JP2014524092A (ja) 単一ソケットポイントツーマルチポイント性能による高信頼性仮想双方向データストリーム通信のためのシステムおよび方法
JP5935940B2 (ja) 通信方法、通信装置、および、通信プログラム
JP5987445B2 (ja) 通信制御装置、方法、プログラムおよびシステム
US20100262882A1 (en) Protocols for high performance computing visualization, computational steering and forward progress
JP6299266B2 (ja) データ格納方法、ストレージシステム、プログラム及びストレージ装置
JP2006178961A (ja) 要求−応答トランスポートプロトコルによる高信頼一方向メッセージング
US20110078313A1 (en) Method and system for managing a connection in a connection oriented in-order delivery environment
US20230275924A1 (en) Network security protection method and protection device
US10735294B2 (en) Integrating a communication bridge into a data processing system
KR20100031513A (ko) 고가용성 전송
US9985913B2 (en) Apparatus and method for client-side flow control in a remote access environment
JP5304674B2 (ja) データ変換装置、データ変換方法及びプログラム
US20070206598A1 (en) Communications apparatus and communication method
US7689702B1 (en) Methods and apparatus for coordinating processing of network connections between two network protocol stacks
CN107294877B (zh) 一种tcp流重组方法和装置
US8549345B1 (en) Methods and apparatus for recovering from a failed network interface card
JP2009217765A (ja) 複数宛先への同期送信方法、その実施システム及び処理プログラム
JPWO2018142866A1 (ja) 転送装置、転送方法及びプログラム
US20120054534A1 (en) Adaptive acknowledgment mechanism for network communication
JP6182779B1 (ja) 転送装置、転送方法およびプログラム
US20120072520A1 (en) System and Method for Establishing Reliable Communication in a Connection-Less Environment
JP2006323662A (ja) バックアップ中継システム、中継装置および中継方法
CN105573935B (zh) 调平io

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151217

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160510

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160623

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5987445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees