JPWO2008105032A1 - クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 - Google Patents
クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 Download PDFInfo
- Publication number
- JPWO2008105032A1 JPWO2008105032A1 JP2009501034A JP2009501034A JPWO2008105032A1 JP WO2008105032 A1 JPWO2008105032 A1 JP WO2008105032A1 JP 2009501034 A JP2009501034 A JP 2009501034A JP 2009501034 A JP2009501034 A JP 2009501034A JP WO2008105032 A1 JPWO2008105032 A1 JP WO2008105032A1
- Authority
- JP
- Japan
- Prior art keywords
- packet
- sequence number
- server
- ack
- udp packet
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1863—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
- H04L12/1868—Measures taken after transmission, e.g. acknowledgments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
- H04L67/145—Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network 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
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Cardiology (AREA)
- General Health & Medical Sciences (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
- Hardware Redundancy (AREA)
Abstract
Description
(1)IPアドレス、ポート番号については2台の装置間で共通のIPアドレス、ポート番号を用いることで引き継ぎが可能となるが、シーケンス番号並びに転送データについては、通信中に随時流れるパケットの中で変化していくために確実な引き継ぎが困難である。
(2)TCPコネクションは、送信者と受信者が1対1のポイントツーポイント接続であり、同時に複数の装置間で同一のTCPコネクション情報を用いてコネクションの確立を行うことはTCP上で許されない。
(3)上記の問題を解決する方法として、受信者がパケットの送受信の都度、そのシーケンス番号、データも含めて待機装置に情報を送信し、その後受信データの上位アプリケーションへの通知・送信データの相手装置への送信を行うことで理論的には可能である。しかし、この方法はTCPの転送性能が著しく劣化することと、TCPの実装レイヤがOS(カーネル)であるため、このような実装を行うことが難しい。
特許文献2には、マルチキャスト通信において、サーバがパケット毎に代表クライアントを指定する代表識別情報を付加してパケットを送信し、代表識別情報を有するパケットを受信したクライアントのみが応答パケットを送信することで、応答パケット数を減らすことが記載されている。
上記の発明の通信方法において、前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させる。
上記の発明の通信方法において、未送達のUDPパケットのシーケンス番号を付加したNACKパケットを前記クライアント装置に送信して、未送達の前記UDPパケットの再送を要求する。
上記の発明の通信方法において、前記UDPパケットのデータ部に、前記UDPパケットを受信したときに、アプリケーションプログラムからの指示に基づいてネットワークレイヤが前記ACKパケットを返送するアプリケーションモードと、前記UDPパケットを受信したとき、前記ネットワークレイヤの判断で前記ACKパケットを返送するネットワークモードの何れであるかを指定する情報を付加する。
このシステムは、クライアント装置(または中継装置)11と現用系(ACTIVE)のサーバ装置12と、待機系(STANDBY)の複数のサーバ装置13、14と、状態管理装置15とからなる。
クライアント装置11の通信処理部31は、各サーバ装置12〜14からのパケットの未送達を知らせる否定応答パケットNACK(Negative Acknowledgment)を受信したとき、未送達のパケットを再送する機能を有する。
図2は、実施の形態のクライアント装置11及びサーバ装置12〜14のレイヤの構成を示す図である。アプリケーションレイヤの下位層のネットワークレイヤには、TCP、UDPのプロトコルが実装されており、実施の形態の通信機能(通信処理部)は、このUDPベースにしたプログラムとして実装される。
実施の形態のUDPパケットは、図2に示すように通常のUDPパケットのデータ部に、FLAG、SEQ、ACK、MODE、STATUSがヘッダとして付加されている。
図5は、サーバ装置12〜14の通信処理部32〜34における受信処理のフローチャートである。
受信パケットのヘッダにあるシーケンス番号Aと、制御表41に格納されている受信済パケットのシーケンス番号Bを比較する(図6、S21)。
図5のステップS15は、受信パケットのMODEで決まる処理内容を示すものである。動作モードがネットワーク・セーフモードのときには、ACTIVE装置とSTANDBY装置が両方ともACKまたはNACKを返信する。
次に、受信パケットにユーザデータが付加されているか否かを判定する(S17)。ユーザデータが付加されている場合には(S17,YES)、ステップS18に進み、受信したデータを受信キュー(待ち行列)に入れ、受信データが存在することをアプリケーションに通知する。
先ず、マルチキャスト用送信パケットを作成し、制御表42のシーケンス番号を更新する(図9,S41)。
制御表42は、図10(A)に示すように、マルチキャストIPアドレスと、ポート番号と、パケット再送の初期値(タイマ時間の初期値)、パケットの再送の回数と、パケット再送の最大値(タイマ時間の最大値)と、前回送信したパケットの動作モードと、クイックモード時の送信済シーケンス番号と、セーフモード時の送信済シーケンス番号と、受信者リスト42aとで構成されている。
図11は、サーバ装置12〜14からのACKを受信するACK受信処理(1)のフローチャートである。
受信待ちのデータが存在する場合には(S42、YES)、ステップS43に進み、OSからパケットを受信する。
図12は、図11のステップS49のACK受信処理(2)の詳細なフローチャートである。
最初に、設定したタイマ時間内にACKパケットを受信したか否かを判別する(図13,S61)。タイマ時間の初期値としては、例えば、図10の制御表42のパケット再送の初期値(例えば、200ms)が設定され、そのタイマ時間内にACKパケットを受信したか否かを判断する。
クライアント装置11の通信処理部31は、パケットを送信したとき、タイマの上限値として、制御表42のパケット再送の初期値、例えば、200msを設定し、その時間内に応答パケットが返送されるか否かを監視する。
上位のアプリケーションから再送制御のリトライ時間が設定されると(図15,(1))、通信処理部31は、監視対象リストを参照してタイマ監視を行う。そして、最大リトライ時間を過ぎても応答パケットが返送されないときには、対象となるサーバ装置を特定して状態管理部21に装置の異常を通知する(図15,(2))。
サーバ装置12〜14の状態管理部22〜24間の通信により、サーバ装置(ACTIVE装置)12の障害が検出されると、予め決めてある優先順序に従って特定の装置、例えば、サーバ装置13がACTIVEとなり、サーバ装置14がSTANDBYの状態を維持する。なお、ACTIVE装置の切り換えは、サーバ装置12〜14の状態管理部22〜24ではなく、外部の状態管理装置15が行っても良い。
この実施の形態では、アプリケーションに対して、pc_socket()、pc_setsockopt()、pc_getsockopt()、pc_bind()、pc_sendmsg()、pc_recvmsg()、pc_poll()、pc_close()等のAPI関数を提供している。
pc_setsockopt()は、TCPのsetsokopt()に対応するものであり、指定されたソケットに対するタイムアウト時間の設定、受信先の初期設定及び送達確認方法の設定等の機能を有する。
pc_sendmsg()は、TCPのsendmsg()に対応するものであり、受信先インスタンスに対してデータを送信する機能を有する。
pc_poll()は、TCPのpoll()に対応するものであり、送信、受信またはエラーのイベントが発生するまで待ち、指定したタイムアウト時間が経過するとエラー処理に移行する機能を有する。
上記のAPI関数を前提にして、クライアント装置11と複数台のサーバ装置12〜14間で同時にコネクションを確立するとき、データを送信するとき並びにサーバ装置12〜14からACKパケットを送信するときの通信手順を、図19のシーケンス図を参照して説明する。
次に、各動作モードにおけるパケットの送達確認方法について図21〜図24を参照して説明する。
各サーバ装置12〜14の通信処理部32〜34は、受信したパケットのシーケンス番号と、制御表41に格納されている受信済パケットのシーケンス番号を比較して、パケットの抜けがあるか否かをチェックする。パケットの抜けがないと判断したときには、そのパケットのデータをアプリケーションに渡す。アプリケーションは、そのデータが正常か否かを確認し、データの処理が完了した後、ACKの返信を通信処理部32〜34に指示する。各サーバ装置12〜14の通信処理部32〜34は、それぞれユニキャストでACKをクライアント装置11に送信する。
ACTIVEなサーバ装置12の通信処理部32は、受信したパケットのシーケンス番号と、制御表41に格納されている受信済パケットのシーケンス番号を比較して、パケットの抜けがあるか否かをチェックする。パケットの抜けがないと判断したときには、そのパケットのデータをアプリケーションに渡す。アプリケーションは、データが正常か否かを確認した後、ACKの返信を通信処理部32に指示する。通信処理部32は、ユニキャストでACKをクラインと装置11に送信する。サーバ装置13及び14は、ACTIVEではないのでACKは返信しない。
次に、図23は、ネットワーク・セーフモードにおける送達確認方法の説明図である。ネットワーク・セーフモードは、全てのサーバ装置がネットワークレイヤからACKを返信するモードである。
各サーバ装置12〜14の通信処理部32〜34は、受信したパケットのシーケンス番号と、制御表41に格納されている受信済パケットのシーケンス番号を比較して、パケットの抜けがあるか否かをチェックする。パケットの抜けがないと判断したときには、各通信処理部32〜34がACKをクライアント装置11にユニキャストで送信する。また、パケットの抜けがあると判断したときには、欠落しているシーケンス番号のパケットの再送を要求するNACKをクライアント装置11に送信する。
ACTIVEなサーバ装置12の通信処理部32は、受信したパケットのシーケンス番号と、制御表41に格納されている受信済パケットのシーケンス番号を比較して、パケットの抜けがあるか否かをチェックする。パケットの抜けがないと判断したときには、そのパケットのデータをアプリケーションに渡し、通信処理部32がACKをクライアント装置11に返信する。
上述した実施の形態のクライアント装置11と複数のサーバ装置12〜14とからなるシステムの通信方法によれば、以下のような効果が得られる。
(a)クライアント装置11からACTIVEなサーバ装置12とSTANDBYのサーバ装置13〜14に、シーケンス番号として初期値(例えば、「1」)を設定したUDPパケットをマルチキャストすることで、クライアント装置11と複数のサーバ装置12〜14との間で同時にコネクションを確立することができる。
(b)コネクションを確立した後、クライアント装置11のアプリケーションのデータをUDPパケットを用いて複数のサーバ装置12〜14に同時に送信し、複数のサーバ装置からACKパケットが返送されたか否かを確認することで、ACTIVE装置とSTANDBY装置の双方に対してパケットの送達を確認できる。
(c)さらに、サーバ装置がパケットの抜けを検出した場合には、欠落したパケットを特定する情報、例えば、欠落したシーケンス番号を付加したNACKパケットをクライアント装置11に返信し、クライアント装置11がそのシーケンス番号で指定されるUDPパケットを再送信することで、全てのサーバ装置12〜14の受信データの同一性を保証することができる。
(e)上述した通信方法を実現するプログラム(通信処理部31〜34など)をネットワークレイヤに実装しているので、個々のアプリケーションのプログラムを大幅に変更せずに信頼性の高いデータ通信を実現できる。
(a)UDPパケットのフォーマットは、図3に示した構成に限らない。例えば、動作モードが1種類で良い場合には、UDPパケットにMODE情報を付加する必要が無い。
Claims (21)
- クライアント装置と複数のサーバ装置とからなるシステムの通信方法であって、
シーケンス番号を付加したUDPパケットをマルチキャストで前記複数のサーバ装置に送信して前記クライアント装置と前記複数のサーバ装置との間で同時にコネクションを確立し、
コネクションを確立した後、アプリケーションプログラムのデータを含むUDPパケットに後続のシーケンス番号を付加してマルチキャストで前記複数のサーバ装置に送信し、
送信済のUDPパケットのシーケンス番号を記憶手段に記憶し、
送信した前記UDPパケットに対するACKパケットが前記複数のサーバ装置の内の少なくとも1つ以上から返送されたとき、前記ACKパケットに付加されているシーケンス番号と、前記記憶手段に記憶されている送信済の前記UDPパケットのシーケンス番号を比較してUDPパケットの送達を確認する通信方法。 - 請求項1記載の通信方法において、
前記複数のサーバ装置がそれぞれ受信済のUDPパケットのシーケンス番号を記憶し、
新たに受信したUDPパケットのシーケンス番号と、記憶してある受信済の前記UDPパケットのシーケンス番号を比較してパケットの送達を確認し、
前記UDPパケットの送達を確認したとき、各サーバ装置が受信した前記UDPパケットのシーケンス番号をACK番号として付加した前記ACKパケットを前記クライアント装置に返送する通信方法。 - 請求項1記載の通信方法において、
前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、
現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させる通信方法。 - 請求項1記載の通信方法において、
前記UDPパケットは、データ部にデータパケットか、ACKパケットか、NACKパケットかのパケットの種別を示すFLAG情報と、連番で設定されるシーケンス番号と、ACK番号とが付加されて送信される通信方法。 - 請求項1記載の通信方法において、
未送達のUDPパケットのシーケンス番号を付加したNACKパケットを前記クライアント装置に送信して、未送達の前記UDPパケットの再送を要求する通信方法。 - 請求項1記載の通信方法において、
前記UDPパケットのデータ部に、前記UDPパケットを受信したときに、アプリケーションプログラムからの指示に基づいてネットワークレイヤが前記ACKパケットを返送するアプリケーションモードと、前記UDPパケットを受信したとき、前記ネットワークレイヤの判断で前記ACKパケットを返送するネットワークモードの何れであるかを指定する情報を付加する通信方法。 - クライアント装置と複数のサーバ装置とからなるシステムの通信プログラムであって、
シーケンス番号を付加したUDPパケットをマルチキャストで送信して、前記クライアント装置と前記複数のサーバ装置との間で同時にコネクションを確立するステップと、
アプリケーションプログラムのデータを含むUDPパケットに後続のシーケンス番号を付加してマルチキャストで前記複数のサーバ装置に送信するステップと、
送信済のUDPパケットのシーケンス番号を記憶手段に記憶するステップと、
送信したUDPパケットに対するACKパケットが前記複数のサーバ装置の内の少なくとも1つ以上から返送されたとき、前記ACKパケットに付加されているシーケンス番号と、前記記憶手段に記憶されている送信済の前記UDPパケットのシーケンス番号を比較してパケットの送達を確認するステップとを、コンピュータに実行させる通信プログラム。 - 請求項7記載の通信プログラムにおいて、
前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、
現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させる通信プログラム。 - 請求項7記載の通信プログラムにおいて、
前記UDPパケットは、データ部にデータパケットか、ACKパケットか、NACKパケットかのパケット種別を示すFLAG情報と、連番で設定されるシーケンス番号と、ACK番号とが付加されて送信される通信プログラム。 - 請求項7記載の通信プログラムにおいて、
未送達のパケットを示すACK番号が付加されたNACKパケットを受信したときに、前記ACK番号で指定されるUDPパケットを再送する通信プログラム。 - クライアント装置と複数のサーバ装置とからなるシステムの通信プログラムであって、
クライアント装置からマルチキャストで送信され、シーケンス番号が付加されたUDPパケットを受信したとき、ACKパケットを返信してコネクションを確立するステップと、
受信済のUDPパケットのシーケンス番号を記憶手段に記憶するステップと、
新たに受信したUDPパケットのシーケンス番号と、前記記憶手段に記憶してある受信済の前記UDPパケットのシーケンス番号を比較してパケットの送達を確認するステップと、
前記UDPパケットの送達を確認したとき、受信した前記UDPパケットのシーケンス番号を付加したACKパケットを前記クライアント装置に返送するステップとを、コンピュータに実行させる通信プログラム。 - 請求項11記載の通信プログラムにおいて、
前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、
現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させる通信プログラム。 - 請求項11記載の通信プログラムにおいて、
前記UDPパケットは、データ部にデータパケットか、ACKパケットか、NACKパケットかのパケット種別を示すFLAG情報と、連番で設定されるシーケンス番号と、ACK番号とが付加されて送信される通信プログラム。 - 請求項11記載の通信プログラムにおいて、
新たに受信したUDPパケットのシーケンス番号と、前記記憶手段に記憶してある受信済の前記UDPパケットのシーケンス番号が連続していないときには、欠落しているシーケンス番号をACK番号として付加したNACKパケットを前記クライアント装置に返送するステップを有する通信プログラム。 - クライアント装置と複数のサーバ装置とからなるシステムに用いられるクライアント装置であって、
シーケンス番号を付加したUDPパケットを前記複数のサーバ装置にマルチキャストで送信して前記複数のサーバ装置との間で同時にコネクションを確立するコネクション確立手段と、
アプリケーションプログラムのデータを含むUDPパケットに後続のシーケンス番号を付加して前記複数のサーバ装置にマルチキャストで送信する送信手段と、
送信した前記UDPパケットに対するACKパケットが前記複数のサーバ装置の内の少なくとも1つ以上から返送されたとき、前記ACKパケットに付加されているシーケンス番号と、前記記憶手段に記憶されている送信済の前記UDPパケットのシーケンス番号を比較して前記UDPパケットの送達を確認する確認手段とを備えるクライアント装置。 - 請求項15記載のクライアント装置において、
前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、
前記送信手段は、現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させるクライアント装置。 - 請求項15記載のクライアント装置において、
前記UDPパケットは、データ部にデータパケットか、ACKパケットか、NACKパケットかのパケット種別を示すFLAG情報と、パケットの送信順序を示すシーケンス番号と、ACK番号とが付加されて送信されるクライアント装置。 - クライアント装置と複数のサーバ装置とからなるシステムに用いられるサーバ装置であって、
前記クライアント装置からマルチキャストで送信され、シーケンス番号が付加されたUDPパケットを受信したとき、ACKを返信して前記クライアント装置との間でコネクションを確立するコネクション確立手段と、
受信済のUDPパケットのシーケンス番号を記憶する記憶手段と、
新たに受信したUDPパケットのシーケンス番号と、前記記憶手段に記憶されている受信済の前記UDPパケットのシーケンス番号を比較してパケットの送達を確認する確認手段と、
前記UDPパケットの送達を確認したとき、受信した前記UDPパケットのシーケンス番号を付加したACKパケットを前記クライアント装置に送信するACK送信手段とを備えるサーバ装置。 - 請求項18記載のサーバ装置において、
前記複数のサーバ装置は現用系と待機系のサーバ装置からなり、
現用系の前記サーバ装置の障害が検出され、待機系の前記サーバが現用系に切り換えられたとき、現用系に切り換えられた前記サーバ装置を含む前記複数のサーバ装置に前記UDPパケットをマルチキャストして、前記クライアント装置のアプリケーションプログラムと現用系となった前記サーバ装置のアプリケーションプログラムとの間の通信を継続させる通信手段を有するサーバ装置。 - 請求項18記載のサーバ装置において、
前記UDPパケットは、データ部にデータパケットか、ACKパケットか、NACKパケットかのパケット種別を示すFLAG情報と、連番で設定されるシーケンス番号と、ACK番号とが付加されて送信されるサーバ装置。 - 請求項18記載のサーバ装置において、
新たに受信したUDPパケットのシーケンス番号と、前記記憶手段に記憶してある受信済の前記UDPパケットのシーケンス番号が連続していないときには、欠落しているシーケンス番号を付加したNACKパケットを前記クライアント装置に送信するNACK送信手段を有するサーバ装置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2007/000148 WO2008105032A1 (ja) | 2007-02-28 | 2007-02-28 | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2008105032A1 true JPWO2008105032A1 (ja) | 2010-06-03 |
JP4851585B2 JP4851585B2 (ja) | 2012-01-11 |
Family
ID=39720883
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009501034A Active JP4851585B2 (ja) | 2007-02-28 | 2007-02-28 | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US8223766B2 (ja) |
JP (1) | JP4851585B2 (ja) |
WO (1) | WO2008105032A1 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI334293B (en) * | 2007-03-06 | 2010-12-01 | Xtera Comm Taiwan Co Ltd | Method for transmitting network packets |
JP5018716B2 (ja) * | 2008-09-29 | 2012-09-05 | 富士通株式会社 | アプリケーション間通信の高信頼化技術 |
JP5544099B2 (ja) * | 2009-02-27 | 2014-07-09 | 株式会社日立製作所 | コントローラ通信方法およびコントローラ通信装置 |
JP5338594B2 (ja) * | 2009-09-28 | 2013-11-13 | 株式会社Jvcケンウッド | データ受信方法、データ送受信システム、およびデータ受信機 |
CN101714916B (zh) * | 2009-11-26 | 2013-06-05 | 华为数字技术(成都)有限公司 | 一种备份方法、设备和系统 |
US9007181B2 (en) * | 2010-01-08 | 2015-04-14 | Tyco Fire & Security Gmbh | Method and system for discovery and transparent status reporting for sensor networks |
CN102158389A (zh) * | 2010-06-25 | 2011-08-17 | 青岛海信传媒网络技术有限公司 | 异步的数据传输方法、装置及系统 |
US20120124431A1 (en) * | 2010-11-17 | 2012-05-17 | Alcatel-Lucent Usa Inc. | Method and system for client recovery strategy in a redundant server configuration |
US20120243622A1 (en) * | 2011-03-23 | 2012-09-27 | Broadcom Corporation | Method and apparatus for improving the error rate of a serial/de-serial backplane connection |
US9456377B2 (en) * | 2011-08-19 | 2016-09-27 | Futurewei Technologies, Inc. | System and method for transmission control protocol service delivery in wireless communications systems |
JP5982842B2 (ja) * | 2012-02-03 | 2016-08-31 | 富士通株式会社 | コンピュータ障害監視プログラム、方法、及び装置 |
KR101971623B1 (ko) * | 2012-05-10 | 2019-04-23 | 삼성전자주식회사 | 컨텐츠 및 사용자 인터랙션 전송방법 |
EP3726451A1 (en) * | 2012-09-12 | 2020-10-21 | IEX Group, Inc. | Transmission latency leveling apparatuses, methods and systems |
EP2711864A1 (en) * | 2012-09-25 | 2014-03-26 | Gemalto SA | Method of configuring two wireless devices for mutual communication |
JP2016501464A (ja) | 2012-11-08 | 2016-01-18 | キュー ファクター コミュニケーションズ コーポレーション | プロキシサーバを用いて通信ネットワークにおいてtcp及び他のネットワークプロトコルのパフォーマンスを向上させる方法及び装置 |
BR112015009944A2 (pt) * | 2012-11-08 | 2017-10-03 | Q Factor Communications Corp | Aparelhos de transmissão de pacotes, sistema de comunicação para transmitir ou receber pacote, métodos para transferir confiavelmente dados de fonte de dados a receptor de dados, algoritmo e método para transmitir blocos de dados. |
JP6132518B2 (ja) * | 2012-11-21 | 2017-05-24 | オリンパス株式会社 | マルチキャスト送信端末、マルチキャストシステム、プログラムおよびマルチキャスト送信方法 |
US9774386B2 (en) * | 2013-03-15 | 2017-09-26 | E.F. Johnson Company | Distributed simulcast architecture |
JP5825689B2 (ja) * | 2013-03-28 | 2015-12-02 | Necソリューションイノベータ株式会社 | 要約筆記支援システム、要約筆記支援サーバ、要約筆記支援方法、及びプログラム |
JP2015095247A (ja) | 2013-11-14 | 2015-05-18 | 富士通株式会社 | 情報処理システム、情報処理装置、端末装置、制御プログラムおよび制御方法 |
US10411867B2 (en) * | 2015-04-30 | 2019-09-10 | Sony Corporation | Communication apparatus and communication method |
WO2017052393A1 (en) * | 2015-09-25 | 2017-03-30 | Intel Corporation | Efficient error control techniques for tcp-based multicast networks |
CN105245528B (zh) * | 2015-10-20 | 2019-02-12 | 北京小鸟听听科技有限公司 | 一种基于用户数据报协议(udp)的控制命令传输方法、发送端和接收端 |
US10462006B2 (en) * | 2015-12-18 | 2019-10-29 | Verizon Patent And Licensing Inc. | Hybrid environment to support reliable delivery of multicast traffic using an orchestration device |
US10154317B2 (en) * | 2016-07-05 | 2018-12-11 | BoxCast, LLC | System, method, and protocol for transmission of video and audio data |
US11412272B2 (en) | 2016-08-31 | 2022-08-09 | Resi Media Llc | System and method for converting adaptive stream to downloadable media |
US10511864B2 (en) | 2016-08-31 | 2019-12-17 | Living As One, Llc | System and method for transcoding media stream |
JP7022508B2 (ja) * | 2017-01-30 | 2022-02-18 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5260933A (en) * | 1992-05-15 | 1993-11-09 | International Business Machines Corporation | Acknowledgement protocol for serial data network with out-of-order delivery |
AU2001238153A1 (en) * | 2000-02-11 | 2001-08-20 | Convergent Networks, Inc. | Service level executable environment for integrated pstn and ip networks and call processing language therefor |
US7360075B2 (en) * | 2001-02-12 | 2008-04-15 | Aventail Corporation, A Wholly Owned Subsidiary Of Sonicwall, Inc. | Method and apparatus for providing secure streaming data transmission facilities using unreliable protocols |
US7158486B2 (en) * | 2001-03-12 | 2007-01-02 | Opcoast Llc | Method and system for fast computation of routes under multiple network states with communication continuation |
JP2004080070A (ja) | 2002-08-09 | 2004-03-11 | Nippon Telegr & Teleph Corp <Ntt> | データ転送方法及びデータ転送システム並びにコンテンツ配信システム |
JP4015912B2 (ja) | 2002-09-24 | 2007-11-28 | 東芝ソリューション株式会社 | マルチキャスト配信システム、マルチキャスト配信プログラム及び装置 |
JP4025697B2 (ja) * | 2003-07-09 | 2007-12-26 | 松下電器産業株式会社 | パケット転送装置およびその制御方法 |
US20060291452A1 (en) * | 2005-06-24 | 2006-12-28 | Motorola, Inc. | Method and apparatus for providing reliable communications over an unreliable communications channel |
-
2007
- 2007-02-28 WO PCT/JP2007/000148 patent/WO2008105032A1/ja active Application Filing
- 2007-02-28 JP JP2009501034A patent/JP4851585B2/ja active Active
-
2009
- 2009-08-18 US US12/543,216 patent/US8223766B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8223766B2 (en) | 2012-07-17 |
WO2008105032A1 (ja) | 2008-09-04 |
JP4851585B2 (ja) | 2012-01-11 |
US20100014520A1 (en) | 2010-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4851585B2 (ja) | クライアント装置と複数のサーバ装置からなるシステムの通信方法、その通信プログラム、クライアント装置及びサーバ装置 | |
US11765082B2 (en) | Data packet retransmission processing | |
US8612617B2 (en) | Reliable multicast transport protocol | |
CA2706579C (en) | Method for enabling faster recovery of client applications in the event of server failure | |
JP4153502B2 (ja) | 通信装置及び論理リンク異常検出方法 | |
WO2018149408A1 (en) | High availability using multiple network elements | |
US20070263626A1 (en) | A System for Session-Oriented Reliable Multicast Transmission. | |
US20110078313A1 (en) | Method and system for managing a connection in a connection oriented in-order delivery environment | |
US8060628B2 (en) | Technique for realizing high reliability in inter-application communication | |
JP4767336B2 (ja) | メールサーバシステム及び輻輳制御方法 | |
JP2006229399A (ja) | 通信システム、中継ノード及びそれらに用いる通信方法並びにそのプログラム | |
JP2009253949A (ja) | 通信システム、送信装置およびプログラム | |
JP2000022744A (ja) | パケット通信システム、パケット通信装置及びパケット通信方法 | |
JP4969421B2 (ja) | 受信装置及び通信システム | |
KR101587332B1 (ko) | 컨트롤러와 네트워크 장치 간 연결 상태 확인 방법 | |
WO2021249651A1 (en) | Device and method for delivering acknowledgment in network transport protocols | |
CN114070781B (zh) | 一种数据通信方法、装置、系统及计算机设备 | |
JP4015912B2 (ja) | マルチキャスト配信システム、マルチキャスト配信プログラム及び装置 | |
US20110078255A1 (en) | Method and system for managing a connection in a connection oriented in-order delivery environment | |
JP2009065617A (ja) | Lan通信システム | |
WO2012043142A1 (ja) | マルチキャストルータ及びマルチキャストネットワークシステム | |
JP4490998B2 (ja) | マルチキャスト配信システム | |
CN116233243A (zh) | 一种弱网环境下的通信系统及方法 | |
JP2009266138A (ja) | 通信システム、サーバ装置、中継装置及びそれらに用いる通信方法並びにそのプログラム | |
JP2007264727A (ja) | 通信アダプタ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110614 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110812 |
|
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: 20111018 |
|
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: 20111020 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4851585 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141028 Year of fee payment: 3 |