説明

UDP基盤の通信方法及び装置

【課題】メッセージの分割及び再組立(SAR)とメッセージの再送技術を用いてUDP基盤における信頼性のある通信方法及び装置を提供する。
【解決手段】送信部におけるUDP基盤の通信方法は、送信部に提供されるメッセージを既に設定されたサイズのパケットに分割する過程と、分割されたパケットのそれぞれに通し番号を付与する過程と、パケットをパケットバッファに格納した後、付与された通し番号の順にパケットを受信部に伝送する過程と、受信部からパケットの受信完了を通知する制御メッセージの受信を待機する過程とを含み、受信部におけるUDP基盤の通信方法は、既に設定されたサイズに分割された分割パケットを通し番号順に送信部から受信する過程と、受信される分割パケットがメッセージパケットであり、分割パケットの損失がなければ、通し番号に従って分割パケットを組み合わせてメッセージを完成する過程とを含む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、UDP(UserDatagramProtocol)に基づく通信技術に関し、特に、UDP基盤における大容量メッセージを伝送するにおいて信頼性と効率性を提供するのに適したUDP基盤の通信方法及び装置に関する。
【背景技術】
【0002】
インターネット基盤の通信サービスは、IP(Internet Protocol)に基づいて信頼性のある通信を提供するTCP(Transmission Control Protocol)又は非信頼性通信を提供するUDPに基づいて提供され得る。
【0003】
TCP通信は、多様な制御メッセージの交換を通じて伝送したメッセージの受信状態を確認し、伝送速度を調節することで、受信側における安定したメッセージの受信を保障する。しかしながら、TCP通信は多様な制御メッセージの交換により効率性が低下するおそれがあり、資料の再送のために、一対一の伝送のみ支援するという短所がある。
【0004】
それに対し、UDP通信においては、送信側は受信側が資料を受信したか否かとは関係なく、継続的に資料を送信できるため、資料の伝送効率が良いという側面があるが、送信側で受信側の資料の受信状態を確認せず、それにより資料の再送を行わないため、資料の信頼性を提供できないという短所を有している。このようなUDPは、受信側で受信した資料を維持する必要がないため、マルチキャスティング(multicasting)及びブロードキャスティング(broadcasting)が可能な通信サービスである。しかしながら、近年はUDP基盤の通信サービスを使用しながら、UDPが提供する資料伝送の効率性と共に、TCPのような信頼性のある資料伝送の必要性が提起された。
【0005】
TCPとUDPを用いて資料を伝送する場合、1つのパケットには多量の情報を伝送できないため、送信部で各パケットのサイズに合うように資料を分割し、受信部では順序に合うように資料を組み立て直す過程が必要である。一般に、TCPとUDPで一回に送れるメッセージの大きさは64Kである。これらのメッセージの分割及び再組立(Segmentation and Re-assembly、以下、「SAR」という)過程はIPで行われるが、これにより、1つのパケット(IPパケット)が紛失すれば、メッセージ全体を再送しなければならないため、資料の損失時にネットワークの負荷は増加し、伝送効率は低下してしまう。従って、効率的かつ信頼性のある資料の伝送のためには効果的な再送メカニズムが提供されなければならない。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】米国公開特許第20050195750号
【発明の概要】
【発明が解決しようとする課題】
【0007】
本発明は上記事情に鑑みてなされたものであって、その目的は、メッセージの分割及び再組立(SAR)とメッセージの再送技術を用いてUDP基盤における信頼性のある通信方法及び装置を提供することにある。
【課題を解決するための手段】
【0008】
本発明の課題を解決するための第1の観点によれば、送信部に提供されるメッセージを既に設定されたサイズのパケットに分割する過程と、分割された前記パケットのそれぞれに通し番号を付与する過程と、前記パケットをパケットバッファに格納した後、前記付与された通し番号の順に前記パケットを受信部に伝送する過程と、前記受信部からパケットの受信完了を通知する制御メッセージの受信を待機する過程とを含む送信部におけるユーザデータグラムプロトコル(UDP)基盤の通信方法を提供できる。
【0009】
本発明の課題を解決するための第2の観点によれば、既に設定されたサイズに分割された分割パケットを通し番号順に送信部から受信する過程と、受信される前記分割パケットがメッセージパケットであり、前記分割パケットの損失がなければ、前記通し番号に従って前記分割パケットを組み合わせてメッセージを完成する過程とを含む受信部におけるUDP基盤の通信方法を提供できる。
【0010】
本発明の課題を解決するための第3の観点によれば、送信部に提供されたメッセージを受信して伝達するメッセージ受信部と、前記メッセージ受信部から伝達された前記メッセージを既に設定されたサイズのパケットに分割するメッセージ分割部と、前記メッセージ分割部で分割された前記パケットを格納するパケットバッファと、前記パケットバッファに格納された前記分割パケットを単一のユーザデータグラムプロトコル(UDP)のデータグラムとして伝送するパケット伝送部と、前記分割パケットが損失する場合、受信部での前記メッセージの受信状態を確認するための制御パケットを生成する制御パケット生成部と、タイマの設定及びタイムアウト時に該当イベントに対する処理を行うイベント処理部と、受信部から応答制御パケットが伝達される場合に前記制御パケット生成部に制御パケットの生成を要請する制御パケット処理部とを含むUDP基盤の通信装置における送信部を提供できる。
【0011】
本発明の課題を解決するための第4の観点によれば、送信部から既に設定されたサイズに分割されたパケットを受信するパケット受信部と、前記パケット受信部から提供された前記分割パケットの状態を点検するメッセージパケット処理部と、前記パケット受信部から提供された前記分割パケットが制御パケットである場合に前記分割パケットに対する処理を行い、必要であれば、応答制御パケットを前記送信側に伝達する制御パケット処理部と、前記メッセージパケット処理部から伝達された前記分割パケットの通し番号順に前記分割パケットを組み合わせてメッセージを完成するパケット組み合わせ部とを含むUDP基盤の通信装置における受信部を提供できる。
【発明の効果】
【0012】
本発明によれば、アプリケーションサービスメッセージに対する分割及び再組立(SAR)過程を提供し、制御メッセージの交換を通じた再送方法を提供することで、簡単かつ効果的な信頼性のある通信システムを実現できるという効果を奏する。
【図面の簡単な説明】
【0013】
【図1】本実施形態によるUDP基盤の通信装置を示すブロック構成図である。
【図2】本実施形態によるUDP基盤の通信において送信部の通信過程を示すフローチャートである。
【図3】本実施形態に適用されるメッセージの伝送のためのメッセージヘッダを示す図である。
【図4】本実施形態によるUDP基盤の通信において受信部の通信過程を示すフローチャートである。
【図5】タイムアウトイベントによりメッセージの損失が検出される場合の通信過程を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、添付する図面を参照して本発明の実施形態を詳細に説明する。
【実施例】
【0015】
図1は、本発明の実施形態によるユーザデータグラムプロトコル(UDP)基盤の通信装置に対する構成ブロック図であって、送信部100と受信部200とに大別される。
【0016】
送信部100は、メッセージ受信部102、メッセージ分割部104、パケットバッファ106、パケット伝送部108、制御パケット生成部110、イベント処理部112、制御パケット処理部114を含む。
【0017】
メッセージ受信部102は、アプリケーションサービスから1つ又はそれ以上のメッセージを受信してメッセージ分割部104に伝達する。メッセージ分割部104は、伝達されたメッセージをパケットに分割、例えば、単一のUDPパケットに分割し、分割されたパケットに通し番号を付与する。パケットバッファ106は、メッセージ分割部104で分割されたパケットを伝送又は再送するためにパケットを格納する役割をする。パケット伝送部108は、パケットバッファ106に格納された分割されたパケットを単一のUDPデータグラムとして伝送する役割をし、制御パケット生成部110はパケットの損失が発生する際に制御パケットを生成して受信部200におけるメッセージの受信状態を確認する。イベント処理部112は、タイマの設定及びタイムアウト時に該当イベントに対する処理を行う。制御パケット処理部114は、受信部200から応答制御パケットが伝達される場合に制御パケット生成部110に制御パケットの生成を要請する。
【0018】
受信部200は、パケット受信部202、メッセージパケット処理部204、制御パケット処理部206、パケット組み合わせ部208、完成メッセージ伝達部210を含む。
【0019】
パケット受信部202は、前述した送信部100から送信されたパケット、例えば、単一のUDPパケットを受信してメッセージパケット処理部204及び制御パケット処理部206に伝達する。
【0020】
メッセージパケット処理部204は、パケット受信部202から受信したパケットを検討し、検討結果に応じて、受信したパケットをパケット組み合わせ部208に伝達したり、送信部100の制御パケット生成部110にパケットの再送のための制御パケットの生成を要請するメッセージを伝達する。具体的に、メッセージパケット処理部204は、パケット受信部202から提供されたパケットがメッセージパケットであり、メッセージの欠落がない正常受信パケットであると判断される場合には受信したパケットをパケット組み合わせ部208に伝達するが、メッセージの欠落が存在する異常受信パケットであると判断される場合には送信部100の制御パケット生成部110にパケットの再送のための制御パケットの生成を要請するメッセージを伝達する。
【0021】
制御パケット処理部206は、パケット受信部202から受信したパケットが制御パケットである場合に制御パケットに対する処理を行うのに必要であれば、応答制御パケットを送信部100の制御パケット処理部114に伝達する。パケット組み合わせ部208は、メッセージパケット処理部204から伝達されたパケットの通し番号に従ってパケットを組み合わせてメッセージを完成し、完成メッセージ伝達部210はパケット組み合わせ部208から完成したメッセージを受信してアプリケーションサービスに伝達する。
【0022】
以下、本発明の実施形態によるUDP基盤の通信方法を図2〜図5を参照して詳細に説明する。
【0023】
図2は、UDP基盤の通信において送信部100の通信過程を示すフローチャートである。
【0024】
アプリケーションサービスからのメッセージが送信部100のメッセージ受信部102に伝達されると(S200)、メッセージ受信部102はサービス識別子(service identifier)とメッセージ識別子(message identifier)をメッセージのメッセージヘッダ(message header)に付与(S202)した後、メッセージ分割部104に伝達する。
【0025】
図3は、メッセージヘッダの構造を示す。図3に示すように、メッセージヘッダは、サービス識別子500、メッセージ識別子502、パケット通し番号504、最終パケット識別子506、データ508で構成されることができる。ここで、サービス識別子500は該当アプリケーションサービスのサービス特性を反映させ、メッセージ識別子502は該当メッセージのメッセージ特性を反映させる。
【0026】
図2に戻り、メッセージ分割部104は、メッセージ受信部102から伝達されたメッセージのサイズが単一のUDPパケットサイズ(例えば、イーサネット(登録商標)(Ethernet(登録商標))の場合には1,500バイト)又は既に設定されたUDPデータグラムのサイズよりも大きい場合(S204)、該当メッセージを既に設定されたサイズのパケット単位に分割し(S206)、パケット単位に分割されたメッセージ、即ち、分割されたパケットにパケット通し番号504を付与する(S208)。このようなパケット通し番号504は、同一のメッセージ識別子に属するパケットにのみ付与される。
【0027】
次に、付与されたパケット通し番号504によって分割されたパケットをパケットバッファ106に格納した後、パケット伝送部108を介してパケット通し番号504の順に分割されたパケットを受信部200に伝送する(S210)。
【0028】
仮に、段階S204で、メッセージ受信部102から伝達されたメッセージのサイズが単一のUDPパケットサイズ又は既に設定されたUDPデータグラムのサイズよりも小さい場合には、送信部100は前記メッセージを分割することなく、そのまま受信部に伝送する(S212)。
【0029】
受信部200は、図3に示すメッセージヘッダ内の最終パケット識別子506を用いて伝送されるパケットが最終パケットであるかを把握できる。即ち、最終パケット識別子506は、同一のメッセージ識別子に属する全てのパケットが伝送済みであるかを判断できる基準になり得る。
【0030】
同一のメッセージ識別子に属する全てのパケットの伝送が完了すれば、送信部100は受信部200からパケットの受信完了を通知する制御メッセージが受信されるかを確認し、前記制御メッセージが受信部200から受信されると、送信部100はパケットバッファ106を空にし、その次のメッセージに対する伝送を始める。
【0031】
図4は、UDP基盤の通信において受信部200の通信過程を示すフローチャートである。
【0032】
まず、受信部200のパケット受信部202は、送信部100から既に設定されたサイズのパケット単位に分割されたメッセージ、即ち、分割されたパケットを受信して(S300)、メッセージパケット処理部204に伝達する。メッセージパケット処理部204は、伝達される分割パケットのそれぞれのメッセージ識別子を検出し(S302)、各分割パケットの各メッセージ識別子が互いに同一であるかを判断する(S304)。
【0033】
次に、メッセージパケット処理部204は、分割パケットが欠落することなく、順序に合うように到着したかをパケット通し番号504を通じて判断する(S306)。
【0034】
各分割パケットのメッセージ識別子が互いに同一であり、分割パケットがパケット通し番号504順に到着した場合に、メッセージパケット処理部204は、前述した分割パケットをパケット組み合わせ部208に伝達する。
【0035】
続いて、パケット組み合わせ部208では伝達された分割パケットのパケット通し番号に従って分割パケットを組み合わせて1つの完成メッセージを生成する(S308)。このとき、パケット組み合わせ部208は、同一のメッセージに属する全ての分割パケットを受信する時、完成メッセージを生成する。
【0036】
生成された完成メッセージは、完成メッセージ伝達部210に提供され、完成メッセージ伝達部210は、提供された完成メッセージをアプリケーションサービスに伝達する(S310)。
【0037】
一方、メッセージパケット処理部204で分割パケットの最終パケットを受信すれば、メッセージパケット処理部204は送信部100の制御パケット生成部110を介して受信部200が全てのパケットを受信したことを通知する制御メッセージを送信部100に伝達する。
【0038】
パケットの受信完了を通知する制御メッセージの伝達を受けた送信部100は、パケットバッファ106を空にし、新たな次のメッセージに対する伝送を始めることができる。
【0039】
一方、S306段階で、受信部200のメッセージパケット処理部204がパケット受信部202を介して受信された分割パケットのパケット通し番号504を確認して欠落したパケットがあると判断すれば、メッセージパケット処理部204は最初に欠落したパケットの通し番号を制御パケット生成部110を介して送信部100に伝達する(S312)。また、メッセージパケット処理部204は、最初に欠落したパケットとその次のパケットの再送を要請する制御メッセージを生成して制御パケット生成部110を介して送信部100に伝達する(S314)。
【0040】
再送制御メッセージを受信した送信部100は、現在進行中のパケット伝送を中断し、パケットバッファ106にメッセージパケット処理部204が要請したパケットを再送させる(S316)。
【0041】
そして、段階S304にフィードバックして同一のメッセージに属する全てのパケットを伝送した後、受信部200から同一のメッセージに属する全てのパケットを受信したことを通知する制御メッセージの受信を待機する。
【0042】
上述したように、受信部200はパケットの伝送中にパケットの損失を検出できるが、このようなパケットの損失検出は送信部100でも可能である。
【0043】
最終パケットが損失する場合、又は受信部200から伝達されるパケットの受信完了を通知する制御メッセージが紛失する場合に、送信部100は最終パケットを伝送した後、設定するタイムアウトイベントによりパケットの損失を検出できる。その後の過程は、図5のフローチャートを参照して詳細に説明する。
【0044】
図5を参照すれば、送信部100のイベント処理部112でタイムアウトイベントによりパケットの損失を検出すれば(S400)、制御パケット生成部110は受信部200のパケット受信状態を確認するための制御メッセージを生成して受信部200に伝達する(S402)。このとき、制御パケット生成部110が伝達した制御メッセージも損失すれば(S404)、イベント処理部112は該当イベントをタイムアウトイベントとして処理する。この場合、送信部100は受信状態の確認のための前記制御メッセージの再送又は現在のメッセージの伝送を諦め、新たなメッセージ識別子を付与された新規メッセージに対する伝送を始める(S406)。
【0045】
しかしながら、仮に制御パケット生成部110が伝達した制御メッセージの損失が発生しなかった場合には(S404)、受信部200はパケット受信状態の確認のための制御メッセージを正常に受信して受信されたパケットの状態を確認する。パケット受信状態の確認結果、パケットの欠落が存在すれば、受信部200は最初に欠落したパケットの通し番号を伝送し、パケットの損失なしに全てのパケットを受信した場合には、受信部200はパケットの受信完了を通知する制御メッセージを送信部100に伝送する(S408)。これにより、送信部100は最初に欠落したパケットの通し番号を受信すれば、前記通し番号のパケット、即ち、最初に欠落したパケットとその次の通し番号のパケットを再送し、パケットの受信完了を通知する制御メッセージを受信すれば、新たな次のメッセージを伝送し始める(S410)。
【0046】
その後、受信部200で新規メッセージのメッセージ識別子を受信すれば、パケット組み合わせ部208はパケットの組み合わせのためにパケットを格納しておいた全てのバッファをクリアし、新たなメッセージのためのバッファを割り当てて、新たなパケットを格納できるようにする。
【0047】
以上説明した通り、本発明はアプリケーションサービスメッセージに対する分割及び再組立(SAR)過程を提供し、制御メッセージの交換を通じたメッセージの再送方法を提供することで、簡単かつ効率的で、信頼性のある通信システムを実現するようにしたものである。

【特許請求の範囲】
【請求項1】
送信部に提供されるメッセージを既に設定されたサイズのパケットに分割する過程と、
分割された前記パケットのそれぞれに通し番号を付与する過程と、
前記パケットをパケットバッファに格納した後、前記付与された通し番号の順に前記パケットを受信部に伝送する過程と、
前記受信部からパケットの受信完了を通知する制御メッセージの受信を待機する過程と
を含む送信部におけるユーザデータグラムプロトコル(UDP)基盤の通信方法。
【請求項2】
前記メッセージを分割する過程は、
前記メッセージの全体サイズが単一のUDPパケットサイズ又は既に設定されたUDPデータグラムのサイズよりも大きい場合に行われることを特徴とする請求項1に記載の送信部におけるUDP基盤の通信方法。
【請求項3】
前記制御メッセージの受信を待機する過程は、
前記パケットの受信完了を通知する制御メッセージが前記受信部から受信されると、前記パケットバッファを空にし、新規メッセージの伝送を始める過程と、
前記受信部から再送を要求する制御メッセージを受信する場合、前記パケットの伝送を中断し、前記受信部が要求した通し番号のパケットとその次の通し番号に該当するパケットを前記パケットバッファから再送する過程と
を含むことを特徴とする請求項1に記載の送信部におけるUDP基盤の通信方法。
【請求項4】
前記パケットを伝送する過程は、
前記パケットの伝送時、受信部が前記伝送されるパケットが前記メッセージの最終パケットであるか否かを把握できるように、前記メッセージに最終パケット識別子を共に乗せて伝送する過程を含むことを特徴とする請求項1に記載の送信部におけるUDP基盤の通信方法。
【請求項5】
前記メッセージは、アプリケーションサービスのサービス特性に応じたサービス識別子を含むことを特徴とする請求項1に記載の送信部におけるUDP基盤の通信方法。
【請求項6】
前記通し番号は、同一のメッセージ識別子を有するパケットにのみ割り当てられることを特徴とする請求項1に記載の送信部におけるUDP基盤の通信方法。
【請求項7】
既に設定されたサイズに分割された分割パケットを通し番号順に送信部から受信する過程と、
受信される前記分割パケットがメッセージパケットであり、前記分割パケットの損失がなければ、前記通し番号に従って前記分割パケットを組み合わせてメッセージを完成する過程と
を含む受信部におけるユーザデータグラムプロトコル(UDP)基盤の通信方法。
【請求項8】
前記分割パケットの最終パケットが受信されると、パケットの受信完了を通知する制御メッセージを前記送信部に伝達する過程と、
前記分割パケットの通し番号を確認して欠落したパケットが存在する場合に、パケットの再送を要求する制御メッセージを前記送信部に伝達する過程と
を更に含むことを特徴とする請求項7に記載の受信部におけるUDP基盤の通信方法。
【請求項9】
前記分割パケットを組み合わせる過程は、
受信される前記分割パケットそれぞれのメッセージ識別子が互いに同一であるか否かと、前記通し番号の順に前記分割パケットが伝送されるか否かを判断する過程と、
受信される前記分割パケットそれぞれのメッセージ識別子が互いに同一であり、前記通し番号の順に前記分割パケットが伝送されると、前記通し番号の順に前記分割パケットを組み合わせて前記メッセージを完成する過程と
を含むことを特徴とする請求項7に記載の受信部におけるUDP基盤の通信方法。
【請求項10】
前記メッセージは、アプリケーションサービスのサービス特性に応じたサービス識別子を含むことを特徴とする請求項7に記載の受信部におけるUDP基盤の通信方法。
【請求項11】
前記通し番号は、同一のメッセージ識別子を有するパケットにのみ割り当てられることを特徴とする請求項7に記載の受信部におけるUDP基盤の通信方法。
【請求項12】
送信部に提供されたメッセージを受信して伝達するメッセージ受信部と、
前記メッセージ受信部から伝達された前記メッセージを既に設定されたサイズのパケットに分割するメッセージ分割部と、
前記メッセージ分割部で分割された前記パケットを格納するパケットバッファと、
前記パケットバッファに格納された前記分割パケットを単一のユーザデータグラムプロトコル(UDP)のデータグラムとして伝送するパケット伝送部と、
前記分割パケットが損失する場合、受信部での前記メッセージの受信状態を確認するための制御パケットを生成する制御パケット生成部と、
タイマの設定及びタイムアウト時に該当イベントに対する処理を行うイベント処理部と、
受信部から応答制御パケットが伝達される場合に前記制御パケット生成部に制御パケットの生成を要請する制御パケット処理部と
を含むユーザデータグラムプロトコル(UDP)基盤の通信装置における送信部。
【請求項13】
前記メッセージ分割部は、前記分割されたパケットに通し番号を割り当てることを特徴とする請求項12に記載のUDP基盤の通信装置での送信部。
【請求項14】
前記制御パケット生成部は、前記イベント処理部のタイムアウトイベントによりパケットの損失が検出される場合、前記メッセージの受信状態を確認するための制御パケットを生成することを特徴とする請求項12に記載のUDP基盤の通信装置における送信部。
【請求項15】
送信部から既に設定されたサイズに分割されたパケットを受信するパケット受信部と、
前記パケット受信部から提供された前記分割パケットの状態を点検するメッセージパケット処理部と、
前記パケット受信部から提供された前記分割パケットが制御パケットである場合に前記分割パケットに対する処理を行い、必要であれば、応答制御パケットを前記送信側に伝達する制御パケット処理部と、
前記メッセージパケット処理部から伝達された前記分割パケットの通し番号順に前記分割パケットを組み合わせてメッセージを完成するパケット組み合わせ部と
を含むユーザデータグラムプロトコル(UDP)基盤の通信装置における受信部。
【請求項16】
前記メッセージパケット処理部は、
前記点検の結果、前記パケット受信部から提供された前記分割パケットがメッセージパケットであり、パケットの欠落がない場合に、前記分割パケットを前記パケット組み合わせ部に伝達することを特徴とする請求項15に記載のUDP基盤の通信装置における受信部。
【請求項17】
前記メッセージパケット処理部は、
前記点検の結果、前記パケット受信部から提供された前記分割パケットがメッセージパケットであり、パケットの欠落が存在する場合に、前記送信側に制御パケットの生成を要請するメッセージを伝達することを特徴とする請求項15に記載のUDP基盤の通信装置における受信部。
【請求項18】
前記メッセージパケット処理部は、
前記通し番号を通じて前記メッセージが欠落したか否かを判断した後、前記判断結果に応じて、パケットの受信完了を通知する制御メッセージ又は制御パケットの生成を要請するメッセージを送信部に伝達することを特徴とする請求項15に記載のUDP基盤の通信装置における受信部。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2011−41243(P2011−41243A)
【公開日】平成23年2月24日(2011.2.24)
【国際特許分類】
【出願番号】特願2010−2194(P2010−2194)
【出願日】平成22年1月7日(2010.1.7)
【出願人】(596180076)韓國電子通信研究院 (733)
【氏名又は名称原語表記】Electronics and Telecommunications Research Institute
【住所又は居所原語表記】161 Kajong−dong, Yusong−gu, Taejon korea
【Fターム(参考)】