JP5832305B2 - 送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 - Google Patents
送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 Download PDFInfo
- Publication number
- JP5832305B2 JP5832305B2 JP2012000389A JP2012000389A JP5832305B2 JP 5832305 B2 JP5832305 B2 JP 5832305B2 JP 2012000389 A JP2012000389 A JP 2012000389A JP 2012000389 A JP2012000389 A JP 2012000389A JP 5832305 B2 JP5832305 B2 JP 5832305B2
- Authority
- JP
- Japan
- Prior art keywords
- computer
- packet
- reception
- allocation
- received
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Description
そして、送信計算機は、各受信計算機からのACKパケットを一定時間待って、全ての受信計算機からACKパケットが届かなければデータパケットをマルチキャストで再送する。ACKパケットは自計算機がデータパケットを受信したことを送信計算機に通知するためのパケットである。
しかし、実際には、送信計算機にACKパケットが届いた場合、ACKパケットの送信元である受信計算機がACKパケットを再び返信する必要はない。
送信計算機は、受信計算機を一意に判別できる識別子と、ACKパケットの受信有無を示すフラグと、を対応付けてデータパケットのヘッダに設定し、データパケットを送信する。
送信計算機が受信計算機からACKパケットを受信済みである場合、送信計算機は、ヘッダ内で受信計算機のIPアドレスに対応付けられたフラグにACKパケットの受信済みを示すフラグ値を設定してデータパケットを再送する。
受信計算機は、データパケットを受信し、受信したデータパケットのヘッダ内で自計算機の識別子に対応付けられたフラグにACKパケットの受信済みを示すフラグ値が設定されている場合、ACKパケットを送信しない。
これにより、ネットワークに流れるACKパケットの数を減らすことができる。
例えば、データパケットのヘッダに設定する識別子(IPアドレス)が4バイトであり、フラグが1バイトである場合、1台の受信計算機あたり合計5バイトをデータパケットのヘッダに確保する必要がある。また、受信計算機の台数が100台である場合、500バイト(=5×100)をデータパケットのヘッダに確保する必要がある。つまり、データパケットのヘッダサイズは、各受信計算機用の識別子とフラグとを確保するために500バイトも大きくなる。
複数の受信計算機それぞれに割り当てられるインデックス値を定義するインデックス情報を記憶するインデックス情報記憶部と、
ペイロードデータを含んだデータパケットを前記複数の受信計算機へ送信するデータパケット送信部と、
前記データパケットを受信した受信計算機から、前記データパケットを受信したことを通知する受信確認パケットを受信する受信確認パケット受信部とを備える。
前記データパケット送信部は、
前記受信確認パケット受信部によって受信された受信確認パケットを送信した受信計算機を受信済み計算機として判定し、前記複数の受信計算機の中に前記受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定し、前記複数の受信計算機の中に前記未受信計算機が存在する場合、前記受信済み計算機に割り当てられるインデックス値を前記インデックス情報に基づいて判定し、前記ペイロードデータと、インデックス値によって特定される複数のフラグ領域とを含み、前記複数のフラグ領域のうち、前記受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの受信済みを表す受信済みフラグ値が含まれ、前記複数のフラグ領域のうち、前記未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの未受信を表す未受信フラグ値が含まれたデータパケットを、前記複数の受信計算機へ送信する。
リライアブルIPマルチキャスト通信の形態について説明する。
リライアブルIPマルチキャスト通信とは、送信計算機がデータパケットをマルチキャストで送信し、マルチキャストのグループに属する全ての受信計算機からACKパケットを受信し終わるまでデータパケットの再送を繰り返す通信である。
実施の形態1における通信システム100の概要について、図1、図2に基づいて説明する。
また、マルチキャストのグループに属して、データパケット101を受信してACKパケット102を返信する計算機を「受信計算機300」という。ACKパケット102(受信確認パケットの一例)はデータパケット101を受信したことを送信計算機200に通知するためのパケットである。
(1)送信計算機200は、ACKフラグフィールドをヘッダに含んだデータパケット101をマルチキャストで送信する。
フラグビットのビット値「0」は、送信計算機200が当該受信計算機300からACKパケット102を受信していないことを意味する。フラグビットの初期値は「0」である。
フラグビットのビット値「1」は、送信計算機200が当該受信計算機300からACKパケット102を受信済みであることを意味する。
受信計算機300−1はACKパケット102を返信し、送信計算機200は受信計算機300−1からACKパケット102を受信する。
受信計算機300−2はACKパケット102を返信するが、ACKパケット102は送信計算機200に到達せず、送信計算機200は受信計算機300−2からACKパケット102を受信できない。
同様に、受信計算機300−3はデータパケット101を受信してACKフラグフィールドの3番目のフラグビットのビット値「0」を確認してACKパケット102を返信する。
送信計算機200は受信計算機300−2,3からACKパケット102を受信する。送信計算機200は全ての受信計算機300−1,2,3からACKパケット102を受信済みであるため、データパケット101の再送を行わずに送信処理を完了する。
実施の形態1における送信計算機200の機能構成について、図3に基づいて説明する。
割り当てビット番号は、データパケット101内の複数のフラグビットのうちいずれかのフラグビットを特定する番号である。
データ送信部210は、データパケット101を受信した受信計算機300から送信されるACKパケット102を受信する。
ACKパケット102(受信確認パケットの一例)は、受信計算機300がデータパケット101を受信したことを受信計算機300から送信計算機200に通知するためのパケットである。
ここで、受信したACKパケット102を送信した受信計算機300を「受信済み計算機(または受信確認済み計算機)」といい、複数の受信計算機300のうち受信済み計算機以外の受信計算機を「未受信計算機(または受信未確認計算機)」という。
未受信計算機がある場合、データ送信部210は、受信済み計算機に割り当てられた割り当てビット番号によって特定されるフラグビットが「受信済みフラグ値」を示し、未受信計算機に割り当てられた割り当てビット番号によって特定されるフラグビットが「未受信フラグ値」を示し、アプリケーションデータが含まれるデータパケット101を複数の受信計算機300へ再送する。
「受信済みフラグ値」はデータ送信部210が当該受信計算機300からACKパケット102を受信済みであることを示すフラグ値である。
「未受信フラグ値」はデータ送信部210が当該受信計算機300からACKパケット102を受信していないことを示すフラグ値である。
例えば、計算機記憶部290は受信計算機管理テーブル291を記憶する。また、計算機記憶部290は、自計算機のIPアドレスや所定のマルチキャストアドレスを予め記憶する(図示省略)。
実施の形態1における受信計算機300の機能構成について、図4に基づいて説明する。
例えば、計算機記憶部390は自計算機番号管理テーブル391を記憶する。また、計算機記憶部390は、自計算機のIPアドレスや所定のマルチキャストアドレスを予め記憶する(図示省略)。
ここで、データパケット101に含まれる複数のフラグビットのうち、自計算機番号管理テーブル391に設定された割り当てビット番号によって特定されるフラグビットを「割り当てビット(割り当て領域の一例)」という。
割り当てビットに未受信フラグ値が設定されている場合、データ受信部310はACKパケット102を送信計算機200へ送信する。
割り当てビットに受信済みフラグ値が設定されている場合、データ受信部310はACKパケット102を送信計算機200へ送信しない。
実施の形態1における送信計算機200に記憶する受信計算機管理テーブル291について、図5に基づいて説明する。
受信計算機管理テーブル291は送信計算機200の計算機記憶部290に記憶される。受信計算機管理テーブル291の各行は「レコード」ともいう。
「行番号」とは別に又は「行番号」の代わりに、割り当てビット番号を示す「割り当てビット番号」の欄を設けてもよい。「割り当てビット番号」には、行番号と異なる割り当てビット番号を設定してもよい。例えば、1行目の行の「割り当てビット番号」の値が「1」以外の値であっても構わない。
実施の形態1における受信計算機300に記憶する自計算機番号管理テーブル391について、図6に基づいて説明する。
「自計算機番号」は送信計算機200から割り当てられた割り当てビット番号を示す。割り当てビット番号は送信計算機200から送信されるデータパケット101内のいずれかのフラグビットを特定する。
図6の場合、当該受信計算機300に対して、計算機Bから送信されるデータパケット101内の3番目のフラグビットが割り当てられている。
同様に、当該受信計算機300に対して、計算機Cから送信されるデータパケット101内の1番目のフラグビットと、計算機Aから送信されるデータパケット101内の2番目のフラグビットと、計算機Yから送信されるデータパケット101内の3番目のフラグビットとが割り当てられている。
実施の形態1における送信計算機200の受信計算機検出処理について、図7に基づいて説明する。
ここで、受信計算機管理テーブル291(図5参照)はレコードが設定されていない空のテーブルであるものとする。
起動通知パケットは、稼働している各受信計算機300に対して起動応答パケットの送信を要求するためのパケットである。
起動応答パケット(割り当て要求パケットの一例)は、稼働していることを送信計算機200に通知するためのパケットである。
マルチキャストとは、マルチキャストアドレスを宛先IPアドレスとして使用してパケットを通信することである。
マルチキャストで送信された起動通知パケットは、マルチキャストのグループに属する受信計算機300のうち稼働している受信計算機300によって受信される。起動通知パケットを受信した各受信計算機300は起動応答パケットを送信計算機200へ送信する。
S101の後、S102へ進む。
待ち時間が経過した場合(YES)、受信計算機検出処理は終了する。
待ち時間が経過する前に起動応答パケットが到達した場合(NO)、S103へ進む。
計算機検出部220は、起動応答パケットに設定される送信元IPアドレスによって応答計算機を識別する。
S103の後、S104へ進む。
(1)各受信計算機300のIPアドレスと計算機名とを示す計算機名テーブルを計算機記憶部290に予め記憶しておく。計算機検出部220は起動応答パケットの送信元IPアドレスに対応する計算機名を計算機名テーブルから取得する。
(2)各計算機のIPアドレスと計算機名とを管理する計算機名管理サーバを設ける。計算機検出部220は起動応答パケットの送信元IPアドレスに対応する計算機名を計算機名管理サーバから取得する。
番号通知パケット(割り当て応答パケットの一例)は、応答計算機に割り当てビット番号を通知するためのパケットである。
ユニキャストとは、特定の計算機のIPアドレスを宛先IPアドレスにしてパケットを通信することである。以降の説明において、マルチキャストで通信する旨の説明をしない通信はユニキャストでの通信を意味する。
S105の後、S102へ戻る。
実施の形態1における受信計算機300の送信計算機検出処理について、図8に基づいて説明する。
計算機検出部320は、起動通知パケットに設定される送信元IPアドレスによって送信計算機200を識別する。
例えば、計算機検出部320は、起動通知パケットから送信計算機200のIPアドレス(送信元IPアドレス)を取得し、取得したIPアドレスを追加行の「送信計算機」の欄に設定する。但し、図7のS104と同様に、IPアドレスの代わりに計算機名を設定しても構わない。また、「送信計算機」の欄は後述するS114で設定しても構わない。
S111の後、S112へ進む。
S112の後、S113へ進む。
S113の後、S114へ進む。
S114により、送信計算機検出処理は終了する。
実施の形態1における通信システム100の前処理(図7の受信計算機検出処理、図8の送信計算機検出処理)の具体例について、図9から図11に基づいて説明する。
計算機Zは、計算機Bの識別子を受信計算機管理テーブル291の1行目に設定する(図7のS104)。
計算機Zは、受信計算機管理テーブル291内の計算機Bの行番号「1」を割り当てビット番号として番号通知パケット105に設定し、番号通知パケット105を計算機Bへ送信する(図7のS105)。
計算機Bは、番号通知パケット105を受信し(図8のS113)、受信した番号通知パケット105に設定されている割り当てビット番号「1」を自計算機番号管理テーブル391に設定する(図8のS114)。
計算機Zは、計算機Aの識別子を受信計算機管理テーブル291の2行目に設定する(図7のS104)。
計算機Zは、受信計算機管理テーブル291内の計算機Aの行番号「2」を割り当てビット番号として番号通知パケット105に設定し、番号通知パケット105を計算機Aへ送信する(図7のS105)。
計算機Aは、番号通知パケット105を受信し(図8のS113)、受信した番号通知パケット105に設定されている割り当てビット番号「2」を自計算機番号管理テーブル391に設定する(図8のS114)。
実施の形態1における送信計算機200のデータパケット送信処理について、図12に基づいて説明する。
データ送信部210は、アプリケーション部230からアプリケーションデータを入力する。
S121−1の後、S121−2へ進む。
S121−2の後、S121−3へ進む。
S121−3の後、S121−4へ進む。
実施の形態1におけるデータパケット101のフォーマットの一例について、図13に基づいて説明する。
各フラグビットには「0(未受信フラグ値)」または「1(受信済みフラグ値)」が設定される。フラグビットのビット値「0」は、送信計算機200が当該フラグビットを割り当てられた受信計算機300からACKパケット102を受信していないことを意味する。フラグビットのビット値「1」は、送信計算機200が当該フラグビットを割り当てられた受信計算機300からACKパケット102を受信済みであることを意味する。
データパケット101を生成時の各フラグビットの初期値は「0」である。
受信計算機300の台数が32台以下である場合、ACKフラグフィールド101cの領域サイズは4バイト(32ビット)である。受信計算機300の台数が33台以上64台以下である場合、ACKフラグフィールド101cの領域サイズは8バイト(64ビット)である。但し、ACKフラグフィールド101cの領域サイズは、1ビット、4ビット、1バイト、2バイトまたは8バイトの倍数など、4バイトの倍数以外の大きさであっても構わない。
S121−4の後、S122へ進む。
待ち時間が経過した場合(YES)、S127へ進む。
待ち時間が経過する前にACKパケット102が到達した場合(NO)、S123へ進む。
以下、ACKパケット102を送信した受信計算機300を「受信済み計算機」といい、複数の受信計算機300のうち受信済み計算機以外の受信計算機300を「未受信計算機」という。受信済み計算機はACKパケット102に設定される送信元IPアドレスによって識別される。
S123の後、S124へ進む。
判定した行番号が受信済み計算機の割り当てビット番号である。
但し、IPアドレスの代わりに計算機名を「受信計算機」の欄に設定している場合、データ送信部210は、図7のS104と同様にして計算機名を取得し、取得した計算機名が「受信計算機」の欄に設定されている行の行番号を判定する。
S124の後、S125へ進む。
S125の後、S126へ進む。
受信計算機管理テーブル291の全ての行のACKフラグが「受信済み」である場合(YES)、全ての受信計算機300からデータパケット101に対するACKパケット102を受信済みであるため、データパケット送信処理は終了する。
受信計算機管理テーブル291の少なくともいずれかの行のACKフラグが「未受信」である場合(NO)、少なくともいずれかの受信計算機300(未受信計算機)からデータパケット101に対するACKパケット102を受信していないため、S122へ戻る。
再送するデータパケット101は、S124で少なくともいずれかのフラグビットを「0」から「1」に変更したデータパケット101である。但し、S124を実行していない場合に再送するデータパケット101は、S121−4で送信したデータパケット101(全てのフラグビットが「0」)である。
S127の後、S122へ戻る。
実施の形態1における受信計算機300のデータパケット受信処理について、図14に基づいて説明する。
S131の後、S132へ進む。
但し、IPアドレスの代わりに計算機名を自計算機番号管理テーブル391に設定している場合、データ受信部310は、図7のS104と同様にして計算機名を取得し、取得した計算機名に対応付けられた自計算機識別番号を自計算機番号管理テーブル391から取得する。
S132の後、S133へ進む。
以下、S133で参照したフラグビットを「割り当てビット」という。
S133の後、S134へ進む。
割り当てビットの値が「0」である場合、ACKパケット102の返信が必要であるため、S135へ進む。
割り当てビットの値が「1」である場合、ACKパケット102の返信が不要であるため、データパケット受信処理は終了する。
S135の後、S136へ進む。
但し、アプリケーション部330に同じアプリケーションデータを出力済みの場合、データ受信部310は、再びアプリケーションデータをアプリケーション部330に出力しなくてもよい。
例えば、データ受信部310は、アプリケーション部330に出力したアプリケーションデータのシーケンス番号を記憶し、記憶したシーケンス番号に基づいてアプリケーションデータをアプリケーション部330に出力済みか否かを判定する。送信計算機200のデータ送信部210またはアプリケーション部230は、データパケット101のヘッダまたはアプリケーション内にシーケンス番号を設定する。
実施の形態1におけるデータパケット101の通信処理(図12のデータパケット送信処理、図14のデータパケット受信処理)の具体例について、図15から図18に基づいて説明する。
データ送信部210は、受信計算機管理テーブル291のACKフラグに「未受信」を設定する(図12のS121−2)。
データ送信部210は、ACKフラグフィールド101cの全てのフラグビットを「0(未受信)」にしてデータパケット101を生成し(図12のS121−3)、生成したデータパケット101をマルチキャストで送信する(図12のS121−4)。
データパケット101は計算機Aに到達し、計算機Aのデータ受信部310はデータパケット101を受信する(図14のS131)。
データパケット101は計算機Bに到達せず、計算機Bのデータ受信部310はデータパケット101を受信できなかったものとする。
計算機Aのデータ受信部310は、ACKフラグフィールド101c内のフラグビットのうち自計算機番号「2」が示す順番のフラグビットを参照する(図14のS133)。
計算機Aのデータ受信部310は、参照したフラグビットが「0(未受信)」であるため(S134)、ACKパケット102を計算機Zへ送信する(図14のS135)。
計算機Zのデータ送信部210は、計算機AからACKパケット102を受信する(図12のS123)。
計算機Zのデータ送信部210は、ACKフラグフィールド101c内のフラグビットのうち受信計算機管理テーブル291の計算機Aの行番号「2」が示す順番のフラグビットを選択し、選択したフラグビットを「0」から「1(受信済み)」に変更する(図12のS124)。
計算機Zのデータ送信部210は、受信計算機管理テーブル291の計算機AのACKフラグを「未受信」から「受信済み」に変更する(図12のS125)。
データパケット101は計算機Aと計算機Bとの両方に到達し、計算機Aと計算機Bとのそれぞれのデータ受信部310はデータパケット101を受信する(図14のS131)。
計算機Aのデータ受信部310は、ACKフラグフィールド101c内のフラグビットのうち自計算機番号「2」が示す順番のフラグビットを参照する(図14のS133)。
計算機Aのデータ受信部310は、参照したフラグビットが「1(受信済み)」であるため(図14のS134)、ACKパケット102を計算機Zへ送信しない。
計算機Bのデータ受信部310は、自計算機番号管理テーブル391から計算機Zに割り当てられた自計算機番号「1」を取得する(図14のS132)。
計算機Bのデータ受信部310は、ACKフラグフィールド101c内のフラグビットのうち自計算機番号「1」が示す順番のフラグビットを参照する(図14のS133)。
計算機Bのデータ受信部310は、参照したフラグビットが「0(未受信)」であるため(S134)、ACKパケット102を計算機Zへ送信する(図14のS135)。
計算機Zのデータ送信部210は、計算機BからACKパケット102を受信する(図12のS123)。
計算機Zのデータ送信部210は、受信計算機管理テーブル291の計算機BのACKフラグを「未受信」から「受信済み」に変更する(図12のS125)。
計算機Zのデータ送信部210は、受信計算機管理テーブル291の全てのACKフラグが「受信済み」であるため(図12のS126)、データパケット101を再送しない。これにより、データパケット101の通信が終了する。
図19において、送信計算機200および受信計算機300(コンピュータの一例)は、CPU901(Central Processing Unit)を備えている。CPU901は、バス902を介してROM903、RAM904、通信ボード905、ディスプレイ911(表示装置)、キーボード912、マウス913、ドライブ914、磁気ディスク装置920などのハードウェアデバイスと接続され、これらのハードウェアデバイスを制御する。ドライブ914は、FD(Flexible Disk Drive)、CD(Compact Disc)、DVD(Digital Versatile Disc)などの記憶媒体を読み書きする装置である。
ROM903、RAM904、磁気ディスク装置920およびドライブ914は記憶装置の一例である。キーボード912、マウス913および通信ボード905は入力装置の一例である。ディスプレイ911および通信ボード905は出力装置の一例である。
フローチャートなどに基づいて説明する実施の形態の処理はCPU901、記憶装置、入力装置、出力装置などのハードウェアを用いて実行される。
送信計算機200は、受信計算機管理テーブル291によって、全ての受信計算機300にデータパケット101を送信できたか否かを判定することができる。つまり、送信計算機200はデータパケット101を全ての受信計算機300へ送信することができる。
受信計算機300は、データパケット101内の割り当てフラグビットによって、送信計算機200がACKパケット102を受信したか否かを判定することができる。受信計算機300は、送信計算機200がACKパケット102を受信していない場合にだけACKパケット102を送信する。これにより、データパケット101の再送が繰り返されても受信計算機300からACKパケット102が余計に送信されず、ネットワーク109の負荷を軽減することができる。
フラグビットと受信計算機300とを対応付ける情報(例えば、フラグビットが割り当てられた受信計算機300のIPアドレス)をデータパケット101のヘッダに設定する必要がないため、データパケット101のヘッダの増大を防ぐことができる。
少なくともいずれかの受信計算機300からACKパケット102を受信できなかった場合、送信計算機200は、ACKフラグフィールド101cをヘッダ101Aに含んだデータパケット101であって、受信済み計算機に割り当てられるフラグビットに受信済みフラグ値を設定し、未受信計算機に割り当てられるフラグビットに未受信フラグ値を設定したデータパケット101を複数の受信計算機300へ再送する。
フラグビットが2ビット以上の領域である場合、送信計算機200は「0」「1」以外の値、文字または記号を未受信フラグ値または受信済みフラグ値として用いても構わない。
受信計算機300は、送信計算機200から送信される起動通知パケット103に対して起動応答パケット104を応答する代わりに、割り当てビット番号を要求する割り当て要求パケットを送信計算機200へ送信しても構わない。
送信計算機200は、起動応答パケット104を受信する代わりに割り当て要求パケットを受信して番号通知パケット105(割り当て応答パケットの一例)を送信する。
送信計算機200は、受信計算機300に対して起動応答パケット104の受信順序に従って割り当てビット番号(受信計算機管理テーブル291の行番号)を割り当てずに、受信計算機300に対して割り当てビット番号を任意に、またはランダムに割り当てても構わない。
例えば、受信計算機300に対して割り当てビット番号を割り当てる割り当てサーバを設ける。割り当てサーバは、送信計算機200の代わりに前処理(図7参照)を実行して受信計算機管理テーブル291を生成し、生成した受信計算機管理テーブル291を送信計算機200に送信する。また、割り当てサーバは、送信計算機200の代わりに番号通知パケット105を複数の受信計算機300に送信する。
また、ユーザが、送信計算機200に予め受信計算機管理テーブル291を生成し、受信計算機300に予め自計算機番号管理テーブル391を生成しても構わない。
計算機記憶部290(インデックス情報記憶部の一例)は、複数の受信計算機300それぞれに割り当てられるインデックス値(割り当てビット番号)を定義するインデックス情報(受信計算機管理テーブル291)を記憶する。
データ送信部210(データパケット送信部の一例)は、ペイロードデータ(アプリケーションデータ)を含んだデータパケット101を複数の受信計算機300へ送信する。
データ送信部210(受信確認パケット受信部の一例)は、データパケット101を受信した受信計算機300から、データパケット101を受信したことを通知する受信確認パケット(ACKパケット102)を受信する。
データ送信部210(データパケット送信部の一例)は、受信した受信確認パケットを送信した受信計算機300を受信済み計算機として判定し、複数の受信計算機300の中に受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定する。複数の受信計算機300の中に未受信計算機が存在する場合、データ送信部210は、受信済み計算機に割り当てられるインデックス値をインデックス情報に基づいて判定する。データ送信部210は、ペイロードデータと、インデックス値によって特定される複数のフラグ領域(複数のフラグビット)とを含むデータパケット101を再送する。再送するデータパケット101は、複数のフラグ領域のうち、受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、受信確認パケットの受信済みを表す受信済みフラグ値が含まれる。再送するデータパケット101は、複数のフラグ領域のうち、未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、受信確認パケットの未受信を表す未受信フラグ値が含まれる。
受信計算機300は、インデックス値(割り当てビット番号)が割り当てられ、送信計算機200から送信されるデータパケット101を受信し、データパケット101を受信したことを通知する受信確認パケット(ACKパケット102)を送信計算機200へ送信する。
計算機記憶部390(割り当て値記憶部の一例)は、割り当てられたインデックス値を割り当て値(割り当てビット番号)として記憶する。
データ受信部310(データパケット受信部の一例)は、インデックス値によって特定される複数のフラグ領域(フラグビット)を含み、複数のフラグ領域それぞれに特定のフラグ値が設定されるデータパケット101を、送信計算機200から受信する。
データ受信部310(割り当て領域判定部の一例)は、受信したデータパケット101に含まれる複数のフラグ領域のうち割り当て値によって特定されるフラグ領域を割り当て領域(割り当てビット)として判定する。データ受信部310は、割り当て領域に設定されているフラグ値が、送信計算機200が受信確認パケットを受信していないことを表す未受信フラグ値であるか否かを判定する。
データ受信部310(受信確認パケット送信部の一例)は、割り当て領域に設定されているフラグ値が未受信フラグ値であると判定した場合、受信確認パケットを送信計算機200へ送信する。
送信計算機200は、全ての受信計算機300から受信確認通知(ACKパケット102)が届くまでIPマルチキャスト通信を繰り返し行う。
すでに受信確認通知が送信計算機200に届いた受信計算機300は再送データに対して受信確認通知を行わない。
1台の受信計算機300の受信確認通知の受信状況を1ビットで表すことができ、送信データ(データパケット101)に占める受信確認通知の受信状況を示すフィールド(ACKフラグフィールド101c)のサイズを小さくすることができる。
送信計算機200の計算機検出部220は、受信計算機300に対して整数値かつ一意の識別子(割り当てビット番号)を割り当てる。
受信計算機300の自計算機番号管理テーブル391は、各送信計算機200の計算機検出部220により割り当てられた識別子を保持する。
送信計算機200のデータ送信部210は、送信データ内に、受信計算機300からの受信確認通知の受信の有無を示すフィールド(ACKフラグフィールド101c)を設ける。
送信計算機200のデータ送信部210は、受信確認通知を受信すると、送信元の受信計算機300の識別子に対応するビットを「1(受信済み)」にする。
送信計算機200のデータ送信部210は、受信確認通知を未送信の受信計算機300の識別子に対応するビットを「0(未受信)」にする。
送信計算機200のデータ送信部210は、全ての受信計算機300から受信確認通知が届かなければ、データを全ての受信計算機300にIPマルチキャストにて再送する。
再送データを受信した受信計算機300のデータ受信部310は、受信確認通知の有無を示すフィールド中で、自計算機の受信確認通知が送信計算機200に受信されたかどうかを示すビットを参照する。
受信計算機300のデータ受信部310は、ビットが「1」であれば受信確認通知を送信せず、「0」であれば受信確認通知を再送する。
データパケット101内のACKフラグフィールド101cの領域サイズを可変にする形態について説明する。
以下、実施の形態1と異なる事項について主に説明する。説明を省略する事項については実施の形態1と同様である。
実施の形態2におけるデータパケット101のフォーマットの一例について、図20に基づいて説明する。
ACKフラグフィールド101cの領域サイズまたは受信計算機300の台数(受信計算機管理テーブル291の行数)は、フィールドサイズ情報101dの一例である。
以下に、データパケット101の通信処理について補足説明を行う。
このとき、データ送信部210は、受信計算機管理テーブル291の行数をフィールドサイズ情報101dとしてデータパケット101に設定する。但し、データ送信部210は、受信計算機管理テーブル291の行数に基づいてACKフラグフィールド101cの領域サイズ(図13の説明を参照)を算出し、算出したACKフラグフィールド101cの領域サイズをフィールドサイズ情報101dとしてデータパケット101に設定してもよい。
データ受信部310は、算出したACKフラグフィールド101cの領域サイズに基づいてアプリケーションデータ領域101Bを判定する。例えば、データ受信部310はデータパケット101の何バイト目からの領域がアプリケーションデータ領域101Bであるかを判定する。
データ受信部310は、判定したアプリケーションデータ領域101Bからアプリケーションデータを取得し、取得したアプリケーションデータをアプリケーション部330に出力する。
また、受信計算機300の数が少ない場合にはデータパケット101内のACKフラグフィールド101cを小さくすることができる。
送信計算機200が、稼働している受信計算機300を定期的に検出して受信計算機管理テーブル291を更新する形態について説明する。
以下、実施の形態1、2と異なる事項について主に説明する。説明を省略した事項については実施の形態1、2と同様である。
計算機検出部220(応答パケット受信部の一例)は、起動通知パケット103を応答しない受信計算機300に割り当てた割り当てビット番号を、新たに起動した受信計算機300に割り当て直す。
実施の形態3における送信計算機200の定期検出処理について、図21に基づいて説明する。
S141−1の後、S141−2へ進む。
S141−2の後、S142−1へ進む。
計算機検出部220は、応答計算機以外の受信計算機300が受信計算機管理テーブル291に登録されているか否かを判定する。以下、受信計算機管理テーブル291に登録されている受信計算機300のうち応答計算機以外の受信計算機300を「不応答計算機」という。
不応答計算機が有る場合(YES)、S142−2へ進む。
不応答計算機が無い場合(NO)、S143−1へ進む。
不応答回数は、定期検出処理で連続して不応答計算機であった回数である。例えば、計算機検出部220は、受信計算機300の識別子と不応答回数とを対応付けて設定する不応答回数管理テーブルを生成し、生成した不応答回数管理テーブルを用いて不応答計算機の不応答回数を管理する。
例えば、前回の定期検出処理で応答計算機であった受信計算機300が今回の定期検出処理で不応答計算機になった場合、不応答回数は「1(=0+1)」である。さらに、次回の定期検出処理でも不応答計算機になった場合、不応答回数は「2(=1+1)」になる。
不応答回数の値が不応答閾値より大きい場合(YES)、S142−3へ進む。
不応答回数の値が不応答閾値以下である場合(NO)、S143−1へ進む。
そこで、計算機検出部220は、受信計算機管理テーブル291から不応答計算機の登録行を選択し、選択した不応答計算機の登録行の「受信計算機」の欄から不応答計算機の識別子を削除する。以下、不応答計算機の識別子を削除した登録行を「空き行」という。
S142−3の後、S143−1へ進む。
新規計算機が有る場合(YES)、S143−2へ進む。
新規計算機が無い場合(NO)、定期検出処理は終了する。
受信計算機管理テーブル291に空き行が無い場合、または複数の新規計算機が有って空き行が足らない場合、計算機検出部220は受信計算機管理テーブル291に行を追加し、追加した行に新規計算機を登録する。
S143−2の後、S144へ進む。
S144により、定期検出処理は終了する。
実施の形態3における送信計算機200の定期検出処理の別例について、図22に基づいて説明する。
以下、S142−4、S143−3,4およびS145について主に説明する。
不応答計算機が有り(S142−1:YES)、不応答回数が不応答閾値より大きい場合(S142−2:YES)、S142−4へ進む。
例えば、受信計算機管理テーブル291の1行目が計算機Aの登録行であり、2行目が計算機Bの登録行であり、計算機Aが不応答計算機である場合、計算機Aの登録行が削除され、計算機Bの登録行は1行目に繰り上がる。
S142−4の後、S143−3へ進む。
新規計算機が有る場合(YES)、S143−4へ進む。
新規計算機が無い場合(NO)、S145へ進む。
S143−4の後、S145へ進む。
不応答計算機が有る場合、計算機検出部220は、受信計算機管理テーブル291内の登録行の行番号(割り当てビット番号)を設定した番号通知パケットを生成し、生成した番号通知パケットを登録行に登録された受信計算機300へ送信する。不応答計算機の登録行の削除(S142−4)により行番号が変わるためである。計算機検出部220は、不応答計算機の登録行以降の行に登録されていた受信計算機300にだけ番号通知パケットを送信すればよい。
不応答計算機が無く、新規計算機が有る場合、計算機検出部220は、新規計算機の登録行の行番号(割り当てビット番号)を設定した番号通知パケットを生成し、生成した番号通知パケットを新規計算機へ送信する。
不応答計算機と新規計算機との両方ともが無い場合、番号通知パケットの送信は不要である。
S145により、定期検出処理は終了する。
データパケット101内のACKフラグフィールド101cの領域サイズが可変である場合(実施の形態2参照)、停止または故障した受信計算機300(不応答計算機)に割り当てていた割り当てビット番号を新たに起動した受信計算機300に割り当てることにより、データパケット101内のACKフラグフィールド101cの増大を防ぐことができる。
データパケット101内のACKフラグフィールド101cの領域サイズが可変である場合(実施の形態2参照)、停止または故障した受信計算機300(不応答計算機)を受信計算機管理テーブル291から削除することにより、データパケット101内のACKフラグフィールド101cの領域サイズを小さくすることができる。
Claims (12)
- 複数の受信計算機それぞれに割り当てられるインデックス値を定義するインデックス情報を記憶するインデックス情報記憶部と、
前記複数の受信計算機それぞれからインデックス値の割り当てを要求する割り当て要求パケットを受信し、前記割り当て要求パケットを受信した順番を前記割り当て要求パケットを送信した受信計算機に割り当てるインデックス値にして前記インデックス情報を生成し、前記受信計算機に割り当てる前記インデックス値を含んだ割り当て応答パケットを前記受信計算機へ送信する割り当て部と、
ペイロードデータを含んだデータパケットを前記複数の受信計算機へ送信するデータパケット送信部と、
前記データパケットを受信した受信計算機から、前記データパケットを受信したことを通知する受信確認パケットを受信する受信確認パケット受信部とを備え、
前記データパケット送信部は、
前記受信確認パケット受信部によって受信された受信確認パケットを送信した受信計算機を受信済み計算機として判定し、前記複数の受信計算機の中に前記受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定し、前記複数の受信計算機の中に前記未受信計算機が存在する場合、前記受信済み計算機に割り当てられるインデックス値を前記インデックス情報に基づいて判定し、前記ペイロードデータと、インデックス値によって特定される複数のフラグ領域とを含み、前記複数のフラグ領域のうち、前記受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの受信済みを表す受信済みフラグ値が含まれ、前記複数のフラグ領域のうち、前記未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの未受信を表す未受信フラグ値が含まれたデータパケットを、前記複数の受信計算機へ送信する
ことを特徴とする送信計算機。 - 前記インデックス情報は、前記複数の受信計算機それぞれの識別子を順序付けて設定した情報であり、
前記データパケット送信部は、前記受信済み計算機の識別子が前記インデックス情報に設定されている順番を前記受信済み計算機に割り当てられるインデックス値として判定する
ことを特徴とする請求項1記載の送信計算機。 - 前記送信計算機は、
前記複数の受信計算機に対して応答パケットを要求する要求パケットを送信する要求パケット送信部と、
要求パケットを受信した受信計算機から応答パケットを受信する応答パケット受信部とを備え、
前記割り当て部は、インデックス値が割り当てられている受信計算機のうち前記応答パケット受信部によって応答パケットが受信されなかった受信計算機を不応答計算機として判定し、前記応答パケット受信部によって前記応答パケットが受信された受信計算機のうちインデックス値が割り当てられていない受信計算機を新規計算機として判定し、前記不応答計算機のインデックス値を前記新規計算機に割り当てて前記インデックス情報を更新し、前記新規計算機に割り当てる前記インデックス値を含んだインデックス値通知パケットを前記新規計算機へ送信する
ことを特徴とする請求項1または請求項2に記載の送信計算機。 - 前記データパケット送信部は、
前記割り当て部によって前記割り当て要求パケットが受信された受信計算機の台数に基づいて前記複数のフラグ領域を構成するフラグ領域の個数を算出し、算出した個数のフラグ領域が前記複数のフラグ領域として含まれる前記データパケットを送信する
ことを特徴とする請求項1から請求項3のいずれか1項に記載の送信計算機。 - 前記データパケット送信部は、
前記割り当て部によって前記割り当て要求パケットが受信された受信計算機の台数に基づいて前記複数のフラグ領域の合計サイズを算出するためのフラグ領域サイズ情報を生成し、生成したフラグ領域サイズ情報が含まれる前記データパケットを送信する
ことを特徴とする請求項4記載の送信計算機。 - インデックス値が割り当てられて、送信計算機から送信されるデータパケットを受信し、前記データパケットを受信したことを通知する受信確認パケットを前記送信計算機へ送信する受信計算機であって、
割り当てられたインデックス値を割り当て値として記憶する割り当て値記憶部と、
インデックス値の割り当てを要求する割り当て要求パケットを前記送信計算機へ送信する割り当て要求パケット送信部と、
前記送信計算機からインデックス値を含んだ割り当て応答パケットを受信し、受信した割り当て応答パケットに含まれるインデックス値を前記割り当て値として前記割り当て値記憶部に記憶する割り当て応答パケット受信部と、
インデックス値によって特定される複数のフラグ領域を含み、前記複数のフラグ領域それぞれに特定のフラグ値が設定されるデータパケットを、前記送信計算機から受信するデータパケット受信部と、
前記データパケット受信部によって受信された前記データパケットに含まれる前記複数のフラグ領域のうち前記割り当て値によって特定されるフラグ領域を割り当て領域として判定し、前記割り当て領域に設定されているフラグ値が、前記送信計算機が前記受信確認パケットを受信していないことを表す未受信フラグ値であるか否かを判定する割り当て領域判定部と、
前記割り当て領域判定部によって、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であると判定された場合、前記受信確認パケットを前記送信計算機へ送信する受信確認パケット送信部と
を備えることを特徴とする受信計算機。 - 複数の受信計算機それぞれに割り当てられるインデックス値を定義するインデックス情報を記憶するインデックス情報記憶部と、割り当て部と、データパケット送信部と、受信確認パケット受信部とを備える送信計算機によって実行する送信方法であって、
前記割り当て部が、前記複数の受信計算機それぞれからインデックス値の割り当てを要求する割り当て要求パケットを受信し、前記割り当て要求パケットを受信した順番を前記割り当て要求パケットを送信した受信計算機に割り当てるインデックス値にして前記インデックス情報を生成し、前記受信計算機に割り当てる前記インデックス値を含んだ割り当て応答パケットを前記受信計算機へ送信し、
前記データパケット送信部が、ペイロードデータを含んだデータパケットを前記複数の受信計算機へ送信し、
前記受信確認パケット受信部が、前記データパケットを受信した受信計算機から、前記データパケットを受信したことを通知する受信確認パケットを受信し、
前記データパケット送信部が、
前記受信確認パケット受信部によって受信された受信確認パケットを送信した受信計算機を受信済み計算機として判定し、前記複数の受信計算機の中に前記受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定し、前記複数の受信計算機の中に前記未受信計算機が存在する場合、前記受信済み計算機に割り当てられるインデックス値を前記インデックス情報に基づいて判定し、前記ペイロードデータと、インデックス値によって特定される複数のフラグ領域とを含み、前記複数のフラグ領域のうち、前記受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの受信済みを表す受信済みフラグ値が含まれ、前記複数のフラグ領域のうち、前記未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの未受信を表す未受信フラグ値が含まれたデータパケットを、前記複数の受信計算機へ送信する
ことを特徴とする送信方法。 - 請求項7記載の送信方法をコンピュータに実行させることを特徴とする送信プログラム。
- インデックス値が割り当てられ、送信計算機から送信されるデータパケットを受信し、前記データパケットを受信したことを通知する受信確認パケットを前記送信計算機へ送信する受信計算機によって実行する受信方法であって、
前記受信計算機は、割り当てられたインデックス値を割り当て値として記憶する割り当て値記憶部と、割り当て要求パケット送信部と、割り当て応答パケット受信部と、データパケット受信部と、割り当て領域判定部と、受信確認パケット送信部とを備え、
前記割り当て要求パケット送信部は、インデックス値の割り当てを要求する割り当て要求パケットを前記送信計算機へ送信し、
前記割り当て応答パケット受信部は、前記送信計算機からインデックス値を含んだ割り当て応答パケットを受信し、受信した割り当て応答パケットに含まれるインデックス値を前記割り当て値として前記割り当て値記憶部に記憶し、
前記データパケット受信部が、インデックス値によって特定される複数のフラグ領域を含み、前記複数のフラグ領域それぞれに特定のフラグ値が設定されるデータパケットを、前記送信計算機から受信し、
前記割り当て領域判定部が、前記データパケット受信部によって受信された前記データパケットに含まれる前記複数のフラグ領域のうち前記割り当て値によって特定されるフラグ領域を割り当て領域として判定し、前記割り当て領域に設定されているフラグ値が、前記送信計算機が前記受信確認パケットを受信していないことを表す未受信フラグ値であるか否かを判定し、
前記受信確認パケット送信部が、前記割り当て領域判定部によって、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であると判定された場合、前記受信確認パケットを前記送信計算機へ送信する
ことを特徴とする受信方法。 - 請求項9記載の受信方法をコンピュータに実行させることを特徴とする受信プログラム。
- 送信計算機と複数の受信計算機とを有する通信システムにおいて、
前記送信計算機は、
前記複数の受信計算機それぞれに割り当てられるインデックス値を定義するインデックス情報を記憶するインデックス情報記憶部と、
前記複数の受信計算機それぞれからインデックス値の割り当てを要求する割り当て要求パケットを受信し、前記割り当て要求パケットを受信した順番を前記割り当て要求パケットを送信した受信計算機に割り当てるインデックス値にして前記インデックス情報を生成し、前記受信計算機に割り当てる前記インデックス値を含んだ割り当て応答パケットを前記受信計算機へ送信する割り当て部と、
ペイロードデータを含んだデータパケットを前記複数の受信計算機へ送信するデータパケット送信部と、
前記データパケットを受信した受信計算機から、前記データパケットを受信したことを通知する受信確認パケットを受信する受信確認パケット受信部とを備え、
前記データパケット送信部は、
前記受信確認パケット受信部によって受信された受信確認パケットを送信した受信計算機を受信済み計算機として判定し、前記複数の受信計算機の中に前記受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定し、前記複数の受信計算機の中に前記未受信計算機が存在する場合、前記受信済み計算機に割り当てられるインデックス値を前記インデックス情報に基づいて判定し、前記ペイロードデータと、インデックス値によって特定される複数のフラグ領域とを含み、前記複数のフラグ領域のうち、前記受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの受信済みを表す受信済みフラグ値が含まれ、前記複数のフラグ領域のうち、前記未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの未受信を表す未受信フラグ値が含まれたデータパケットを、前記複数の受信計算機へ送信し、
前記受信計算機は、
割り当てられたインデックス値を割り当て値として記憶する割り当て値記憶部と、
インデックス値の割り当てを要求する割り当て要求パケットを前記送信計算機へ送信する割り当て要求パケット送信部と、
前記送信計算機からインデックス値を含んだ割り当て応答パケットを受信し、受信した割り当て応答パケットに含まれるインデックス値を前記割り当て値として前記割り当て値記憶部に記憶する割り当て応答パケット受信部と、
前記送信計算機から前記データパケットを受信するデータパケット受信部と、
前記データパケット受信部によって受信された前記データパケットに含まれる前記複数のフラグ領域のうち前記割り当て値によって特定されるフラグ領域を割り当て領域として判定し、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であるか否かを判定する割り当て領域判定部と、
前記割り当て領域判定部によって、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であると判定された場合、前記受信確認パケットを前記送信計算機へ送信する受信確認パケット送信部と
を備える
ことを特徴とする通信システム。 - 送信計算機と複数の受信計算機とを有する通信システムが実行する通信方法において、
前記送信計算機は、前記複数の受信計算機それぞれに割り当てられるインデックス値を定義するインデックス情報を記憶するインデックス情報記憶部と、割り当て部と、データパケット送信部と、受信確認パケット受信部とを備え、
前記割り当て部が、前記複数の受信計算機それぞれからインデックス値の割り当てを要求する割り当て要求パケットを受信し、前記割り当て要求パケットを受信した順番を前記割り当て要求パケットを送信した受信計算機に割り当てるインデックス値にして前記インデックス情報を生成し、前記受信計算機に割り当てる前記インデックス値を含んだ割り当て応答パケットを前記受信計算機へ送信し、
前記データパケット送信部が、ペイロードデータを含んだデータパケットを前記複数の受信計算機へ送信し、
前記受信確認パケット受信部が、前記データパケットを受信した受信計算機から、前記データパケットを受信したことを通知する受信確認パケットを受信し、
前記データパケット送信部が、
前記受信確認パケット受信部によって受信された受信確認パケットを送信した受信計算機を受信済み計算機として判定し、前記複数の受信計算機の中に前記受信済み計算機として判定しなかった未受信計算機が存在するか否かを判定し、前記複数の受信計算機の中に前記未受信計算機が存在する場合、前記受信済み計算機に割り当てられるインデックス値を前記インデックス情報に基づいて判定し、前記ペイロードデータと、インデックス値によって特定される複数のフラグ領域とを含み、前記複数のフラグ領域のうち、前記受信済み計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの受信済みを表す受信済みフラグ値が含まれ、前記複数のフラグ領域のうち、前記未受信計算機に割り当てられるインデックス値によって特定されるフラグ領域に、前記受信確認パケットの未受信を表す未受信フラグ値が含まれたデータパケットを、前記複数の受信計算機へ送信し、
前記受信計算機は、割り当てられたインデックス値を割り当て値として記憶する割り当て値記憶部と、割り当て要求パケット送信部と、割り当て応答パケット受信部と、データパケット受信部と、割り当て領域判定部と、受信確認パケット送信部とを備え、
前記割り当て要求パケット送信部は、インデックス値の割り当てを要求する割り当て要求パケットを前記送信計算機へ送信し、
前記割り当て応答パケット受信部は、前記送信計算機からインデックス値を含んだ割り当て応答パケットを受信し、受信した割り当て応答パケットに含まれるインデックス値を前記割り当て値として前記割り当て値記憶部に記憶し、
前記データパケット受信部が、前記送信計算機から前記データパケットを受信し、
前記割り当て領域判定部が、前記データパケット受信部によって受信された前記データパケットに含まれる前記複数のフラグ領域のうち前記割り当て値によって特定されるフラグ領域を割り当て領域として判定し、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であるか否かを判定し、
前記受信確認パケット送信部が、前記割り当て領域判定部によって、前記割り当て領域に設定されているフラグ値が前記未受信フラグ値であると判定された場合、前記受信確認パケットを前記送信計算機へ送信する
ことを特徴とする通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000389A JP5832305B2 (ja) | 2012-01-05 | 2012-01-05 | 送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012000389A JP5832305B2 (ja) | 2012-01-05 | 2012-01-05 | 送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013141134A JP2013141134A (ja) | 2013-07-18 |
JP5832305B2 true JP5832305B2 (ja) | 2015-12-16 |
Family
ID=49038214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012000389A Expired - Fee Related JP5832305B2 (ja) | 2012-01-05 | 2012-01-05 | 送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5832305B2 (ja) |
-
2012
- 2012-01-05 JP JP2012000389A patent/JP5832305B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2013141134A (ja) | 2013-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11470000B2 (en) | Medical device communication method | |
US9049112B2 (en) | Flow control for reliable message passing | |
WO2015180339A1 (zh) | 消息推送处理方法、装置、推送服务器及应用服务器 | |
JP2006338666A (ja) | 分散カーネルオペレーティングシステム | |
US10594442B2 (en) | End-to-end negative acknowledgment | |
JP6148459B2 (ja) | データを送信ノードから宛先ノードに移送する方法 | |
JP2006340354A (ja) | 分散カーネルオペレーティングシステム | |
KR20180020217A (ko) | Flexeth에서 데이터 스트림의 송신을 위한 방법, 송신기 및 수신기 | |
US9007944B2 (en) | One-to-many and many-to-one communications on a network | |
EP2055048B1 (en) | Decoupled connections | |
WO2015180418A1 (zh) | 组播传输方法、装置及系统 | |
CN103973414A (zh) | 一种数据传输方法及装置 | |
US10171258B2 (en) | Data collection method and system | |
JP5832305B2 (ja) | 送信計算機、受信計算機、送信方法、送信プログラム、受信方法、受信プログラム、通信システムおよび通信方法 | |
WO2020048177A1 (zh) | 机顶盒管理方法、装置、设备及存储介质 | |
JP6089518B2 (ja) | 転送装置、転送方法および転送プログラム | |
KR100396921B1 (ko) | 중계기서버를 이용한 멀티캐스팅 전송 시스템의 오류 제어방법 | |
JP2018182688A (ja) | 情報処理装置、情報処理システムおよび情報処理システムの制御方法 | |
CN113315601B (zh) | 多点协助的数据传输方法、装置、存储介质及电子设备 | |
JP5365377B2 (ja) | 配信システム、集信システム、配信方法、集信方法、及びプログラム | |
US9197429B1 (en) | Reducing size of multicast retry transactions | |
TW201927036A (zh) | 用於無線感測網路之任務排程的方法 | |
JPH1188396A (ja) | 通信装置 | |
JP2017034562A (ja) | 通信装置および再接続方法 | |
KR20120068526A (ko) | Udp 기반의 자료 전송 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141106 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150731 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150804 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150909 |
|
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: 20150929 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20151027 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5832305 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |