JP2015100109A - ノード及びその通信方法並びにコンピュータ読出可能記録媒体 - Google Patents

ノード及びその通信方法並びにコンピュータ読出可能記録媒体 Download PDF

Info

Publication number
JP2015100109A
JP2015100109A JP2014231900A JP2014231900A JP2015100109A JP 2015100109 A JP2015100109 A JP 2015100109A JP 2014231900 A JP2014231900 A JP 2014231900A JP 2014231900 A JP2014231900 A JP 2014231900A JP 2015100109 A JP2015100109 A JP 2015100109A
Authority
JP
Japan
Prior art keywords
node
packets
requested
packet
network
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
Application number
JP2014231900A
Other languages
English (en)
Other versions
JP6448320B2 (ja
Inventor
金 載 勳
Jae-Hoon Kim
載 勳 金
光 澤 金
Kwang Taik Kim
光 澤 金
道 俊 邊
Do Jun Byun
道 俊 邊
張 景 訓
Kyung-Hun Jang
景 訓 張
明 郁 張
Ming Wook Chang
明 郁 張
光 フン 韓
Gwang-Hoon Han
光 フン 韓
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2015100109A publication Critical patent/JP2015100109A/ja
Application granted granted Critical
Publication of JP6448320B2 publication Critical patent/JP6448320B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • H04L12/1868Measures taken after transmission, e.g. acknowledgments
    • H04L12/1872Measures taken after transmission, e.g. acknowledgments avoiding ACK or NACK implosion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1628List acknowledgements, i.e. the acknowledgement message consisting of a list of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1671Details of the supervisory signal the supervisory signal being transmitted together with control information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1863Arrangements for providing special services to substations for broadcast or conference, e.g. multicast comprising mechanisms for improved reliability, e.g. status reports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1621Group acknowledgement, i.e. the acknowledgement message defining a range of identifiers, e.g. of sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1635Cumulative acknowledgement, i.e. the acknowledgement message applying to all previous messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/1607Details of the supervisory signal
    • H04L1/1642Formats specially adapted for sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/189Arrangements for providing special services to substations for broadcast or conference, e.g. multicast in combination with wireless systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link
    • H04L2001/0093Point-to-multipoint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】マルチキャストでネットワークコーディングされたフレームが送信されるとき、受信ノード側でフレームの損失による追加的なフレームのリクエストを直ちに行うことなく、他の受信ノードのリクエストを受信及び分析した後、追加的なフレームをリクエストするか否かを決定することができるノード及びその通信方法を提供する。
【解決手段】ネットワーク内のノードによって行われ、ネットワーク内の他のノードからパケット受信に対する他のノードのメッセージを受信するステップと、他のノードが要求するパケット数とノードが要求するパケット数とを比較するステップと、ノードが要求するパケット数が他のノードが要求するパケット数に比べて大きい場合、ノードのメッセージを送信するステップとを有し、他のノードのメッセージは、他のノードが要求するパケット数を示す情報を含み、ノードのメッセージは、ノードが要求するパケット数を示す情報を含む。
【選択図】 図1

Description

本発明はノード及びその通信方法に関し、より詳細には、通信で発生した損失を復旧することができるノード及びその通信方法に関する。
無線ネットワーキング環境で、マルチキャストは基本的に再送信を含まない。
したがって、マルチキャストでパケットが送信される場合にパケットの損失が発生することがあるという問題がある。
また、コンテンツを所有する送信ノードは、コンテンツを複数のパケットとして送信してもよい。
送信ノードがマルチキャストで複数のパケットを送信する場合、送信中にコンテンツを構成するパケットが損失することがあるという問題がある。
パケットの損失を克服するために数個の方法が挙げられる。
第1の方法として、マルチキャストでパケットを送信する送信ノードは、受信ノードがパケットを受信したか否かを確認する方式である。
パケットを受信した受信ノードは、パケットを受信したことを示すACK(acknowledgement)メッセージを送信ノードに伝達する。
送信ノードは、ACKメッセージが送信されない場合、受信ノードへのパケット送信は失敗し、パケットが損失されたと判断する。送信ノードは損失されたパケットを再送信することによって、受信ノードが損失されたパケットを受信可能にする。
第2の方法として、受信ノードがパケットを受信していないことを送信ノードに知らせる方式である。
受信ノードは、ACKメッセージの代わりにNACK(Negative ACK)メッセージを送信する。
NACKメッセージは、受信ノードがパケットを受信できなかったことを示すメッセージであってもよい。
本発明は上記従来の通信で発生した損失を復旧する方法における問題点に鑑みてなされたものであって、本発明の目的は、マルチキャストによってネットワークコーディングされたフレームが送信されるとき、受信ノード側ではフレームの損失による追加的なフレームのリクエストを直ちに行うことなく、他の受信ノードのリクエストを受信及び分析した後、追加的なフレームをリクエストするか否かを決定することができるノード及びその通信方法並びにコンピュータ読出可能記録媒体を提供することにある。
また、マルチキャストによってネットワークコーディングされたフレームが送信されるとき、送信ノード側では、1つの受信ノードのリクエストに対して全て応答することなく、可能なリクエストを集合して最も多いフレームを要求するリクエストに対してマルチキャストで応答することができるノード及びその通信方法並びにコンピュータ読出可能記録媒体を提供することにある。
上記目的を達成するためになされた本発明による通信方法は、ネットワーク内のノードによって行われ、前記ネットワーク内の他のノードからパケット受信に対する前記他のノードのメッセージを受信するステップと、前記他のノードが要求するパケット数と前記ノードが要求するパケット数とを比較するステップと、前記ノードが要求するパケット数が前記他のノードが要求するパケット数に比べて大きい場合、前記ノードのメッセージを送信するステップとを有し、前記他のノードのメッセージは、前記他のノードが要求するパケット数を示す情報を含み、前記ノードのメッセージは、前記ノードが要求するパケット数を示す情報を含むことを特徴とする。
所定の期間の間、メッセージを待機するステップと、前記所定の期間の間に前記他のノードのメッセージが受信されなければ、前記ノードのメッセージを送信するステップとをさらに有することが好ましい。
送信ノードから送信された1つ以上のパケットを受信するステップをさらに有し、前記ノードが要求するパケット数は、前記受信された1つ以上のパケットに対する復号化を行うために追加的に要求される最小のパケット数であることが好ましい。
前記受信された1つ以上のパケットは、マルチキャストで前記送信ノードから前記ノードに送信されることが好ましい。
前記受信された1つ以上のパケットそれぞれは、同一の識別子を含むことが好ましい。
前記受信された1つ以上のパケットは、ネットワークコーディングによって符号化され、前記ノードによって要求されるパケット数は、前記ネットワークコーディングによって符号化された1つ以上の受信された第1パケットを復号化するために追加的に要求される最小個数のパケットであることが好ましい。
前記受信された1つ以上のパケットは、ネットワークコーディングによって符号化され、前記ノードが要求するパケット数は、前記ネットワークコーディングによって符号化された前記受信された1つ以上のパケットをデコード化するために、追加的に要求される前記ネットワークコーディングによって符号化された他の1つ以上のパケット数であることが好ましい。
前記受信された1つ以上のパケットのそれぞれは、前記受信された1つ以上のパケットを復号化するために要求される最小のパケット数を示す情報を含むことが好ましい。
上記目的を達成するためになされた本発明によるコンピュータ読出可能記録媒体は、上記通信方法を実行するプログラムを収録したことを特徴とする。
上記目的を達成するためになされた本発明によるノードは、ネットワーク内のノードであって、前記ネットワーク内の他のノードからパケット受信に対する前記他のノードのメッセージを受信する通信部と、前記他のノードが要求するパケット数及び前記ノードが要求するパケット数を比較する処理部とを備え、前記他のノードのメッセージは、前記他のノードが要求するパケット数を示す情報を含み、前記ノードのメッセージは、前記ノードが要求するパケット数を示す情報を含み、前記通信部は、前記ノードが要求するパケット数が前記他のノードが要求するパケット数に比べて大きい場合、前記ノードのメッセージを送信することを特徴とする。
また、上記目的を達成するためになされた本発明による通信方法は、ネットワークでノードによって行われる通信方法であって、ネットワーク内の他のノードから前記フィードバックメッセージを受信するステップと、前記他のノードが要求するパケット数と最大パケット数とを比較するステップと、前記他のノードが要求するパケット数が前記最大パケット数に比べて大きい場合、1つ以上の第1パケットを送信するステップとを有し、前記フィードバックメッセージは、前記他のノードが要求するパケット数を示す情報を含むことを特徴とする。
所定の期間の間、フィードバックメッセージを待機するステップと、前記所定の期間の間に前記フィードバックメッセージが受信されなければ、1つ以上の第1パケットを送信するステップとをさらに有することが好ましい。
前記他のノードによって要求されるパケット数が前記最大パケット数の値よりも大きい場合、前記最大パケット数の値を前記他のノードが要求するパケット数の値に更新するステップをさらに有し、前記1つ以上の第1パケット数は、前記更新する前の他のノードが要求するパケット数と前記最大パケット数との差であることが好ましい。
1つ以上の受信ノードに1つ以上の第2パケットを送信するステップをさらに有し、前記他のノードは前記1つ以上の受信ノードの内の1つのノードであり、前記他のノードが要求するパケット数は、前記1つ以上の第2パケットに加えて、前記1つ以上の第2パケットのうち前記他のノードが受信した1つ以上の第3パケットを復号化するために追加的に要求されるパケット数であることが好ましい。
前記1つ以上の第2パケットは、マルチキャストによって前記ノードから前記1つ以上の受信ノードに送信されることが好ましい。
前記1つ以上の第1パケットそれぞれ、及び前記1つ以上の第2パケットそれぞれは、同一の識別子を含むことが好ましい。
前記1つ以上の第1パケット及び前記1つ以上の第2パケットは、ネットワークコーディングによって符号化されることが好ましい。
前記1つ以上の第1パケットのそれぞれは、前記1つ以上の第1パケットを復号化するために要求される最小のパケット数を示す情報を含み、前記1つ以上の第2パケットのそれぞれは、前記1つ以上の第3パケットを復号化するために要求される最小のパケット数を示す情報を含むことが好ましい。
また、上記目的を達成するためになされた本発明によるコンピュータ読出可能記録媒体は、上記通信方法を実行するプログラムを収録したことを特徴とする。
また、上記目的を達成するためになされた本発明によるノードは、ネットワーク内のノードであって、前記ネットワーク内の他のノードから、前記他のノードが要求するパケット数を示す情報を含むフィードバックメッセージを受信する通信部と、前記他のノードが要求するパケット数と最大パケット数とを比較する処理部とを備え、前記通信部は、前記他のノードが要求するパケット数が前記最大パケット数に比べて大きい場合、1つ以上の第1パケットを送信することを特徴とする。
また、上記目的を達成するためになされた本発明によるノードは、ネットワーク内のノードであって、前記ネットワークで他のノードによって送信された追加的なパケットをリクエストする任意の第1フィードバックメッセージを受信する通信部と、前記通信部が前記ノードによって要求される追加的なパケット数よりも大きいか又は同一の追加的なパケット数を要求する任意の第1フィードバックメッセージを受信できない場合、前記ノードによって要求される追加的なパケット数の要求をする第2フィードバックメッセージを生成するプロセッサとを備え、前記通信部は、第2フィードバックメッセージを送信することを特徴とする。
前記プロセッサは、所定の期間の間、前記第1フィードバックメッセージが受信されたか否かに基づいて第2フィードバックメッセージを生成し、前記通信部は、前記所定の期間が経過した後に、前記第2フィードバックメッセージを送信することが好ましい。
前記通信部は、前記ネットワークで送信ノードから少なくとも1つの第1パケットを受信し、前記ノードによって追加的に要求されるパケット数は、前記少なくとも1つの第1パケットを復号化するために要求される追加的なパケット数であることが好ましい。
前記少なくとも1つの第1パケットは、オリジナルパケットの集合をネットワークコーディングして取得した第1パケットの集合の一部であり、前記第1パケットの集合での第1パケットの数は、前記オリジナルパケットの集合でのオリジナルパケットの数よりも大きく、前記通信部によって受信された少なくとも1つの第1パケットのうち、第1パケットの数に加えて、前記少なくとも1つの第1パケットを復号化するために要求される追加的なパケット数は、第1パケットの集合での第1パケットの数よりも小さいことが好ましい。
また、上記目的を達成するためになされた本発明によるノードは、ネットワーク内のノードであって、前記ネットワークで他のノードによって送信された、追加パケットを要求する所定のフィードバックメッセージを受信する通信部と、最大パケット数を超過する前記通信部によって受信されたフィードバックメッセージによってリクエストされた追加的なパケット数に応答して送信される追加的なパケット数を決定するプロセッサとを備え、前記通信部は、前記決定された送信される追加的なパケット数を送信することを特徴とする。
前記プロセッサは、所定の期間の間、前記通信部によって受信された任意のフィードバックメッセージに基づいて送信される追加的なパケット数を決定し、前記通信部は、前記所定の期間が経過した後に前記送信される追加的なパケット数を送信することが好ましい。
前記最大パケット数は、前記通信部によって受信された少なくとも1つのフィードバックメッセージに応答して、前記通信部によって以前に送信された追加的なパケットの総個数であることが好ましい。
前記通信部によって送信される、決定された追加的なパケット数を含むように前記最大パケット数を更新することが好ましい。
本発明に係るノード及びその通信方法並びにコンピュータ読出可能記録媒体によれば、マルチキャストによってネットワークコーディングされたフレームが送信されるとき、受信ノード側ではフレームの損失による追加的なフレームのリクエストを直ちに行うことなく、他の受信ノードのリクエストを受信及び分析した後、追加的なフレームをリクエストするか否かを決定することができるという効果がある。
また、マルチキャストによってネットワークコーディングされたフレームが送信されるとき、送信ノード側では、1つの受信ノードのリクエストに対して全て応答することなく、可能なリクエストを集合して最も多いフレームを要求するリクエストに対してマルチキャストで応答することができるという効果がある。
本発明の一実施形態に係るパケットの符号化及び復号化を説明するための図である。 本発明の一実施形態に係るパケット損失に対する復旧を説明するための図である。 本発明の一実施形態に係るフレーム損失に対する復旧を説明するための図である。 本発明の一実施形態に係る受信ノードのコンテンツキャッシュを説明するための図である。 本発明の一実施形態に係るコンテンツのキャッシュを用いるパケットの復号化を説明するための図である。 本発明の一実施形態に係る集合された損失情報メッセージを示す図である。 本発明の一実施形態に係るノードの構成を示すブロック図である。 本発明の一実施形態に係る受信ノードの通信方法を説明するためのフローチャートである。 本発明の一実施形態に係る送信ノードの通信方法を説明するためのフローチャートである。
次に、本発明に係るノード及びその通信方法並びにコンピュータ読出可能記録媒体を実施するための形態の具体例を図面を参照しながら説明する。
各図面に提示された同一の参照符号は同一の部材を示す。
以下の実施形態の記載で、「フレーム」は「パケット」として送信されてもよい。したがって、「フレーム」に対する説明の一部は「パケット」にも適用されてもよい。
例えば、「フレームの送信」及び「パケットの送信」は互いに代替されてもよく、「フレームの損失」及び「パケットの損失」は互いに代替されてもよい。「コード化されたパケット」は、「コード化されたフレーム」または「コード化されたフレームのデータを含むパケット」を意味する。
図1は、本発明の一実施形態に係るパケットの符号化及び復号化を説明するための図である。
オリジナルコンテンツ110を所有する送信ノードは、オリジナルコンテンツ110をリクエストする受信ノードにコンテンツを送信する。送信ノードはコンテンツソースノードであってもよい。
図1に示すオリジナルコンテンツ110は、1つ以上のオリジナルフレームから構成され得る。オリジナルフレームは図1において1つの四角形である。
オリジナルコンテンツ110は、1つ以上のオリジナルフレームを含んでもよい。図1に示すコンテンツは、4個のオリジナルフレームを含む。
送信ノードは、オリジナルコンテンツ110に符号化を適用することによって、コード化(code)されたコンテンツを生成する。
コード化されたコンテンツは、1つ以上のコード化されたフレーム120を含んでもよい。
符号化は、ネットワークコーディングであってもよい。ネットワークコーディングは、行列ネットワークコーディング(Matrix Networking Coding;MNC)であってもよい。
MNCは、オリジナル入力情報及び行列情報間の線形結合を行うことによって新しい出力情報を生成するネットワークコーディング方式である。
入力情報はオリジナルフレームであり、出力情報はコード化されたフレームである。また、フレームがパケットとして送信される場合、入力情報はオリジナルパケットであり、出力情報はコード化されたパケットである。
生成されたコード化されたフレーム数は、オリジナルフレーム数以上であってもよい。
言い換えれば、ネットワークコーディングによってオリジナルフレームに比べて多い数のコード化されたフレームが生成されてもよい。
送信ノードは、線形結合の実行によってオリジナルフレームよりも多いコード化されたフレームを生成してもよい。
送信ノードは、コード化されたフレームを受信ノードに送信する。
受信ノードは、受信したコード化されたフレーム120を用いてコンテンツを生成する。
例えば、図1に示す受信ノードは、受信したコード化されたフレーム120を用いてオリジナルコンテンツ130を復元する。
受信ノードは、コード化されたフレームに対する復号化を行うことによって、オリジナルコンテンツ130を復元する。
送信及び生成は、ブロック単位からなる。
コンテンツは、1つ以上のブロックから構成されてもよい。言い換えれば、コンテンツは、1つ以上のブロックを含んでもよい。
上述したオリジナルフレームは、コンテンツの1つのブロックのフレームであってもよい。
オリジナルコンテンツ110及び復元されたオリジナルコンテンツ130は、コンテンツの1つのブロックを示し得る。コンテンツ全体のオリジナルフレームは、ブロックごとに1つ以上のオリジナルフレームに区分してもよい。
また、1つ以上のコード化されたフレームもコンテンツの1つのブロックに対応する。
1つ以上のコード化されたフレームは、コンテンツの1つのブロックのフレームが符号化されることによって生成されたフレームである。
コード化されたフレームは、ブロック単位の識別子を有してもよい。
識別子は、ブロック単位で付与されるブロック識別子であってもよい。
識別子は、コード化されたフレームが属するブロックを識別するために用いられるデータであってもよい。例えば、ネットワークコーディングによってコード化されたフレームが生成されれば、生成されたフレームは、生成されたフレームが属するブロックを識別できる識別子を含んでもよい。
言い換えれば、同じブロックのコード化されたフレームの識別子は同一であってもよい。
1つのブロックのコード化されたフレームの共通した識別子は、対応するブロックを示すデータを含んでもよい。
対応するブロックを示すデータは、ブロックの順番であってもよい。
一般に、ブロックを示すデータは順次増加する。
または、ブロックを示すデータは順次減少してもよい。例えば、特定ブロックの識別子は、特定ブロックのコンテンツ内での順序を示す。
受信ノードは、受信したフレームのうち同一の識別子を有するフレームを識別子が示すブロックに対応するコード化されたフレームとして識別する。
受信ノードは、ブロック単位でコード化されたフレームの内の最小に要求される個数のコード化されたフレームを受信してもよく、受信したコード化されたフレームを用いてブロックを構成するオリジナルフレームを復元する。前記最小に要求される個数はオリジナルフレーム数以上であってもよい。
無線ネットワーク内のノード間におけるデータ送信するために、パケットが送信及び受信される。
パケットは、コンテンツのフレームを含んでもよい。
コンテンツのフレームは、パケットとしてノード間で送信される。
パケットがユニキャスト(unicast)又はマルチキャストによって送信されるとき、パケットは送信中に損失することがある。
コンテンツのフレームは、送信中に損失することがある。
以下の実施形態で、パケットの損失に対する早い復旧を提供する方法について説明する。
例えば、パケットの損失に対する復旧は、新しい識別子に基づいたブロックごとの再送信リクエストによって行われる。
フレームが損失されたと判断した受信ノードは、送信ノードに他の対応するフレームの送信をリクエストする。
ここで、リクエストされる対応するフレームは、損失したパケットのフレームと同一の識別子を有するフレームである。パケットまたはフレーム再送信リクエストは、フレームの識別子に基づく。
識別子は、ネットワークコーディングで用いられる識別子又はMNCで用いられる識別子であってもよい。
再送信リクエストが識別子に基づくため、オリジナルフレームを送信した送信ノードの他にも、コンテンツ又は対応するフレームを有する無線ネットワーク内の他の受信ノードについても対応するフレームを送信してもよい。
パケットを損失した受信ノードが複数であるか、無線ネットワークがマルチホップ(multi−Hop)無線ネットワークである場合、受信ノードの損失したパケットは互いに異なり得る。
例えば、受信ノードの損失したパケットのタイプは互いに異なってもよく、受信ノードのパケットの損失率は互いに異なってもよい。このような場合、受信ノードのそれぞれが識別子に基づいた再送信をリクエストすると、ソースノードだけではなく、周辺の受信ノードからもフレームが提供され得る。受信ノード間の相互補完が作用する。
本実施形態では、様々な識別子が活用され得る。
例えば、識別子は、無線ネットワークのサービスに対するデータを含んでもよい。
無線ネットワークのサービスに対するデータは、TCP(Transmission Control Protocol)ポート又はUDP(User Datagram Protocol)ポートを示すデータを含んでもよい。
無線ネットワークでインターネットプロトコル(Inter Protocol;IP)に基づいた通信が行われる場合、識別子はソースノードのアドレス及び/又はポート番号を含んでもよく、MAC(Media Access Control)アドレス及びポート番号を含んでもよい。
無線ネットワークでコンテンツの名前ベース(base on name)のネットワークプロトコルが用いられる場合、識別子はコンテンツの名前を含んでもよい。
以下の実施形態は、様々な識別子ベースネットワークプロトコルに適用され得る。
図2は、本発明の一実施形態に係るパケット損失に対する復旧を説明するための図である。
コンテンツブロックは、1つ以上のオリジナルフレームを含んでもよい。
図2に示すオリジナルブロック210は、10個のオリジナルフレーム220を含んで示す。オリジナルフレーム220は、「f1」〜「f10」で表示する。
送信ノードは、オリジナルフレーム220にネットワークコーディング(MNC)を適用することによってオリジナルフレーム220よりも多いコード化されたフレームを生成する。
図2に示す送信ノードは、10個のオリジナルフレーム220にネットワークコーディング(MNC)を適用することによって、20個のコード化されたフレーム230を生成するものとして示している。図2に示すコード化されたフレーム230は、「#f1」〜「#f20」で示す。
コード化されたフレーム230は、送信用コード化されたフレーム及び格納用コード化されたフレームに分類される。
または、コード化されたフレーム230は送信用コード化されたフレーム及び格納用コード化されたフレームを含んでもよい。
図2に示す送信用コード化されたフレームは「#f1」〜「#f15」で示し、格納用コード化されたフレームは「#f16」〜「#f20」で示す。図2に示す実施形態のように、送信用コード化されたフレーム及び格納用コード化されたフレームは互いに異なってもよい。
送信ノードは、コード化されたフレーム230を受信ノードに送信する。
コード化されたフレーム230のそれぞれはパケットとして送信される。
コード化されたフレーム230の生成及び送信は、ブロック単位からなり得る。受信ノードに送信するフレームは、コード化されたフレーム230の内の送信用コード化されたフレームに制限してもよい。
無線ネットワークを介してコード化されたフレーム230が送信されている間で、コード化されたフレーム230の一部又は全てが受信ノードに送信されずに損失してしまうことがある。
図2に示すように、20個のコード化されたフレーム230のうち、最初のコード化されたフレーム「#f1」、2番目のコード化されたフレーム「#f2」、4番目のコード化されたフレーム「#f4」、5番目のコード化されたフレーム「#f5」、及び15番目のコード化されたフレーム「#f15」のみが受信ノードに受信され、「X」で表示した残りのフレームは損失したものとして示している。
ネットワークコーディングの特性に応じて、受信ノードはコード化されたフレーム230の全てを受信しなくても、コード化されたフレーム230の内の所定の一部のみを用いてオリジナルフレーム220の全て又はオリジナルフレーム220のブロックを復元してもよい。
例えば、図2に示す受信ノードは、コード化されたフレーム230のうち10個のフレームのみを用いて10個のオリジナルフレーム220を復元してもよい。
言い換えれば、図2に示す受信ノードがオリジナルフレーム220を復元するためには、コード化されたフレーム230のうち少なくとも10個のフレームが求められる。
オリジナルフレーム220を復元するために要求される最小限のコード化されたフレーム230の数は「10」である。
受信ノードは、各ブロック当たり10個のコード化されたフレーム230を受信すると、受信したコード化されたフレーム240を用いることによって復元されたブロック250を生成する。
マルチキャストによりパケットが送信されるとき、パケット損失に対する復旧が行わなければ、送信の信頼性(reliability)が保障されない。
前述したように、ネットワークコーディングを用いることによってパケット送信の成功率が向上する。
無線ネットワーク内ではパケットの損失が発生することがある。
したがって、受信ノードがオリジナルフレームの復元のために要求される最小限の個数のコード化されたフレームを受信できない場合もある。
図2に示す受信ノードは、20個のコード化されたフレーム230のうち5個のみを受信するものとして示している。言い換えれば、受信されたフレーム240は、「#f1」、「#f2」、「#f4」、「#f5」及び「#f15」を含む。
受信ノードがオリジナルフレームを復元するために要求される最小限の個数のコード化されたフレームを受信できない場合、受信ノードはブロック又はオリジナルフレームを復元することができない。
ブロック又はオリジナルフレームを復元するために、受信ノードは追加的なコード化されたフレームを取得しなければならない場合がある。
追加的なコード化されたフレームの取得のために、受信ノードは送信ノードにコード化されたフレームの再送信をリクエストする。
再送信をリクエストするために、受信ノードは損失情報を示す損失情報メッセージを送信ノードに送信する。
「再送信リクエスト」は、「再送信リクエストのための損失情報メッセージの送信」に代替されてもよい。
損失情報メッセージは、コード化されたフレームの送信に対する受信ノードのフィードバックであってもよい。
損失情報メッセージは、受信ノードが実際に受信したコード化されたフレーム数を含んでもよい。
損失情報メッセージは、受信ノードがブロック又はオリジナルフレームを復元するために追加的に要求されるコード化されたフレーム数を含んでもよい。
または、損失情報メッセージは、受信ノードが損失したフレーム数を含んでもよい。
損失情報メッセージは、コード化されたフレームのブロックの識別子を含んでもよい。
識別子によって送信ノードは、損失情報メッセージの損失情報がどのようなブロックのコード化されたフレームに関する情報であるかを識別する。
図2に示す損失情報メッセージ260は、ブロックの識別子及び受信したコード化されたフレーム240の個数を含むものとして示している。
一般的なIP又はMACにおいて、フレーム損失を復旧するためには、損失したフレームが再び送信されなければならない。
一方、ネットワークコーディングによって生成されたコード化されたフレームの損失を復旧するためには、損失したコード化されたフレームそのものではない他のコード化されたフレームを用いてもよい。
受信ノードは、すでに送信されたコード化されたフレーム及びさらに送信されたコード化されたフレームを用いることによって、ブロック又はオリジナルフレームを復元してもよい。
言い換えれば、他のコード化されたフレームが損失したコード化されたフレームに代替する。この代替によって、再送信のメカニズムが簡単になり、コード化されたフレームに対する再送信リクエストは減少する。
送信ノードは、再送信リクエストに対して応答する。
応答は、追加的なコード化されたフレームの送信であってもよい。
図2に示す応答(符号270)は、(n+α)個の追加的なコード化されたフレームを含むものとして示している。
前述したように、損失情報メッセージ260は受信ノードがブロック又はオリジナルフレーム220を復元するために追加的に要求されるコード化されたフレーム数を含んでもよい。
追加的なコード化されたフレームの送信にも損失が発生することがある。
送信ノードは、追加的に要求されるコード化されたフレーム数よりも多い個数のコード化されたフレームを受信ノードに送信してもよい。または、送信ノードは、損失したフレーム数よりも多い個数の追加的なコード化されたフレームを受信ノードに送信してもよい。
応答(符号270)において、「n」はブロック又はオリジナルフレーム220を復元するために追加的に要求されるコード化されたフレーム数を示す。
「α」は、損失を考慮して送信ノードが追加したコード化されたフレーム数を示す。
再送信リクエストに対する応答のために、送信ノードは、コード化されたフレームを送信後に格納してもよい。
上記格納は一時的な格納であってもよい。送信ノードは、コード化されたフレームの全てを一時的に格納してもよく、格納されたコード化されたフレームを時間の経過に応じて減少させてもよい。
例えば、送信ノードは、受信ノードから損失情報メッセージを受信した後には最小のコード化されたフレームのみを格納してもよい。または、送信ノードは、受信ノードから損失情報メッセージを受信するものと予測される時点では最小のコード化されたフレームのみを格納してもよい。
再送信に対する応答において、受信ノードがすでに取得したコード化されたフレームは再送信の対象から除外される。
受信ノードがすでに取得したコード化されたフレームが再送信されても、ブロックの復元には影響を与えないためである。
言い換えれば、成功裏に送信されたコード化されたフレームが再送信されることを防止しなければならない。
送信ノードは、図2に示すように、コード化されたフレーム230を送信用コード化されたフレーム及び格納用コード化されたフレームに分類することによって、すでに送信されたコード化されたフレーム230が再送信されることを防止することができる。
送信ノードは、初めてコード化されたフレーム230を送信するときには送信用コード化されたフレームのみを受信ノードに送信し、再送信リクエストに応答するときには格納用コード化されたフレームを受信ノードに送信する。
したがって、再送信リクエスト時に追加的に送信されるコード化されたフレームと受信ノードがすでに受信したコード化されたフレームとが互いに異なることが保障される。
複数のコード化されたフレームが損失した場合のように、格納用コード化されたフレームだけでは追加的に要求されるコード化されたフレームを全て提供するには不充分である。
送信ノードは、オリジナルフレームにネットワークコーディングを適用することによって新しいコード化されたフレームを生成してもよい。
新しいコード化されたフレームは、従来のコード化されたフレームと互いに異なってもよい。図2に示すように、新しいコード化されたフレーム235として、コード化されたフレーム「*f1」〜「*f15」を示す。
新しいコード化されたフレーム235は、キャッシュ用の臨時フレームであってもよい。
送信ノードは、新しいコード化されたフレーム235を再送信リクエストの応答のために送信される追加的なコード化されたフレーム230として用いてもよい。
前述したように、コード化されたフレーム230の生成及び送信は、ブロック単位からなる。
コンテンツが含む1つ以上のブロックに対して、送信ノードは1つ以上のブロックそれぞれのコード化されたフレーム230を格納する。
送信ノードは、1つ以上のブロックの各ブロックに対して、互いに異なる個数のコード化されたフレーム230を格納してもよい。
例えば、送信ノードは、より後で送信されたブロックに対して、さらに多い個数のコード化されたフレーム230を格納してもよい。
送信ノードは、1つ以上のブロックの各ブロックに対して最小限のコード化されたフレームのみを格納してもよい。
最小限のフレームのみを格納することによって、送信ノードは、最大限多くのブロックのコード化されたフレームを格納してもよく、最大限多くのブロックに対する損失を復旧することができる。
送信ノードは、パケットの損失率を考慮してコード化されたフレーム230のうち一部のみを受信ノードに送信してもよい。
例えば、平均的に12個のパケットのうち2個のパケットが送信中に損失するとすれば、送信ノードは20個のコード化されたフレームのうち12個のみを受信ノードに送信し、残りの8個のコード化されたフレームを再送信リクエストに対する応答のために格納する。
言い換えれば、格納されたコード化されたフレームは、損失を復旧するために用いる。
又は、送信ノードは、20個のコード化されたフレームのうち、15個のみを受信ノードに送信し、残りの5個のコード化されたフレームは格納してもよい。
損失率が60%である場合、受信ノードは6個のコード化されたフレームのみを受信し。送信ノードは、再送信リクエストに対する応答として、格納された残りの5個のコード化されたフレームを受信ノードに送信する。
送信ノードは、パケットの損失率に比べて多い個数のコード化されたフレームを格納してもよい。
すなわち、パケットの損失率が大きいほど、送信ノードが格納するコード化されたフレーム数は大きくなる。
再送信リクエストに対する応答は、遅延(delay)してもよい。
送信ノードは、再送信リクエストに対して直ちに応答できないことがある。
送信ノードは、再送信リクエストに対する応答を所定の条件に応じて遅延させてもよい。受信ノードが1つ以上である場合、1つ以上の受信ノードから再送信リクエストが送信される。応答を遅延することによって、複数の再送信リクエストに対する集合が形成され得る。
また、送信ノードは、1つ以上の受信ノードから再送信リクエストが送信されるとき、再送信の後に一定時間の間は重複送信を行わない。
上述した実施形態において、パケットの損失に対する復旧のためにホップ・バイ・ホップ(hop−by−hop)又は先端から先端への(end−to−end)の再送信を使用しなくてもよい。
送信ノード又は受信ノードは、コード化されたフレームの識別子を活用することによって、パケット損失の復旧に要求する作業を行うことができる。
図3は、本発明の一実施形態に係るフレーム損失に対する復旧を説明するための図である。
ネックワークは、1つ以上のノードを含んでもよい。
パケットを受信する受信ノードは1つ以上であってもよい。言い換えれば、送信ノードは、コンテンツブロックのコード化されたフレームを1つ以上の受信ノードに送信してもよい。例えば、マルチキャストの対象である受信ノードは複数であってもよい。
図3に示すコンテンツソース310は、図1及び図2を参照して上述した送信ノードに対応する。
第1コンテンツ要請者320及び第2コンテンツ要請者330は、1つ以上の受信ノードに対応する。
1つ以上の受信ノードのそれぞれは、図1及び図2を参照して上述した受信ノードに対応する。
受信ノードが複数である場合、送信ノードは1つのブロックに対して複数の受信ノードから重複する損失情報メッセージを受信してもよい。
送信ノードは、複数の受信ノードから損失情報メッセージを受信してもよい。
図3に示すコンテンツソース310は、第1コンテンツ要請者320及び第2コンテンツ要請者330のそれぞれから損失情報メッセージを受信する。
受信ノードは、コード化されたフレーム又はパケットの損失を検出すると、送信ノードにパケット又はフレームの再送信をリクエストする。
受信ノードは、再送信リクエスト、例えば、損失情報メッセージを送信ノードに送信する。
上記送信は、マルチキャスト又はユニキャストを用いて行われ得る。再送信リクエストがマルチキャストによって送信される場合、送信ノードだけではなく、他の受信ノード、受信ノードの隣接ノードなどのようなネットワーク内の他のノードも再送信リクエストを受信する。
再送信リクエストがユニキャストを用いて送信される場合、他のノードもオーバヒアリング(overhearing)によって再送信リクエストを受信する。
言い換えれば、他のノードは、再送信リクエストの指定された受信者ではなくても、ネットワーク内における送受信に対するオーバヒアリングを行うことによって再送信リクエストを受信してもよい。
再送信リクエストを受信した他のノードも、再送信リクエストに対する応答を行ってもよい。
言い換えれば、他のノードも追加的なコード化されたフレームを受信ノードに送信してもよい。
送信ノード及び他のノードがそれぞれ異なる行列を用いるネットワークコーディングによって生成されたコード化されたフレームを送信すると、受信ノードのオリジナルフレームの復元成功率は向上する。
図3において、受信ノードの第1コンテンツ要請者320のキャッシュ(cache)内にはオリジナルフレームを復元するために要求されるコード化されたフレーム数に比べて、単に半分のみが格納される。
図3で、オリジナルフレームを復元するために要求されるコード化されたフレーム数は「2」であり、第1コンテンツ要請者320が格納するコード化されたフレーム数は「1」である。
受信ノードの第1コンテンツ要請者320は、送信ノードのコンテンツソース310に再送信リクエストを送信する。マルチキャスト又はオーバヒアリングによって再送信リクエストを受信した第2コンテンツ要請者330は、損失の復旧のために要求されるコード化されたフレームを第1コンテンツ要請者320に送信してもよい。
図3に示す損失復旧フレームは、他の受信ノードの第2コンテンツ要請者330から再送信リクエストを送信した第1コンテンツ要請者320に送信されるコード化されたフレームを示す。
送信ノードは、再送信リクエストに対する応答を直ちに実行しないことによって、ネットワーク内で送信されるパケット又はコード化されたフレーム数を減少させ得る。
例えば、送信ノードは、再送信リクエストが所定の時間内に送信された場合、重複する再送信を防止するために再送信リクエストに対して直ちに応答することなく、応答を所定の構成によって遅延させる。
受信した第1損失情報メッセージが示す損失したコード化されたフレーム数が以前に受信した第2損失情報メッセージが示す損失したコード化されたフレーム数よりも少なければ、送信ノードは、第1損失情報メッセージの再送信リクエストを無視してもよい。
受信した第1損失情報メッセージが示す損失したコード化されたフレーム数が以前に受信した第2損失情報メッセージが示す損失したコード化されたフレーム数よりも多ければ、送信ノードは、追加的なコード化されたフレームを送信してもよい。
ここで、送信する追加的なコード化されたフレーム数は、第1損失情報メッセージが示す追加的に要求されるコード化されたフレーム数から、第2損失情報メッセージが示す追加的に要求されるコード化されたフレーム数を引いた値であってもよい。
言い換えれば、送信ノードは、第1損失メッセージに対応して送信するコード化されたフレーム数を決定することにおいて、以前に受信した第2損失メッセージに対応してすでに送信されたコード化されたフレーム数を考慮する。送信ノードは、今回の損失情報メッセージでリクエストされたコード化されたフレーム数から、以前の損失情報メッセージに対応して送信されたコード化されたフレーム数を引いた値を、送信するコード化されたフレーム数として決定してもよい。
上述した応答遅延を通したコード化されたフレームの重複送信の防止は、所定の時間内で発生する再送信リクエストに対して行われる。
所定の時間は、ルーティングトリップ(trip)時間に基づいた重複送信を防止するための時間であってもよい。
送信ノードは、所定の時間以後に受信した再送信リクエストに対しても応答してもよい。
例えば、受信ノードがマルチキャストトラフィックを持続して受信できない場合についても、送信ノードは、損失したコード化されたフレームの復旧を提供することができる。
応答の遅延は、アプリケーション、コンテンツ、オリジナルフレーム、及びコード化されたフレームのタイプ、又は属性に応じて相違して行われてもよい。
例えば、コンテンツがファイルの場合、ネットワーク内ではファイルを送信するためのマルチキャストが行われてもよい。
ネットワーク内でファイルを送信するためのマルチキャストが行われる場合、送信ノードは、ファイルの全体又はファイル全てのブロックの送信が完了した後、再送信リクエストに対する応答を行う。送信ノードは、ファイルの全体又はファイル全てのブロックの送信が完了した後まで応答が遅延されるように設定される。
送信ノードは、所定の条件が満足するまで応答が遅延されるように設定される。
例えば、送信ノードは、再送信が間欠的に行われるように設定してもよい。
間欠的な再送信のために、送信ノードは、所定の量又は所定数のブロックの送信が完了した後まで応答を遅延させる。
送信ノードは、所定の周期により応答を遅延させる。
言い換えれば、送信ノードは、所定の周期により再送信リクエストに対する応答を行う。また、送信ノードは、ネットワーク内のトラフィックが所定の閾値以下になるまで応答を遅延させる。
上述した応答の遅延によって、送信ノードはパケット損失を復旧するための再送信を一括的に行う。一括的に実行することによって、マルチキャストの効果が向上される。
図4は、本発明の一実施形態に係る受信ノードのコンテンツキャッシュを説明するための図である。
図3を参照して上述したように、送信ノードの他にも1つ以上の受信ノードのそれぞれも送信されたコード化されたフレームの一部を格納してもよい。
ネットワーク内のノードは、送信されたコード化されたフレームの全て又は一部を他のノードに提供するために格納してもよい。
上記格納は、一時的なキャッシュであってもよい。
図4において、ネットワーク内のノードとして、コンテンツソース410、及び1つ以上のコンテンツ要請者などを示している。
1つ以上のコンテンツ要請者などとして、第1コンテンツ要請者420、第2コンテンツ要請者430、及び第3コンテンツ要請者440を示す。
また、図4に示すように、後でネットワークに追加された遅延到着者(latecomer)450を示す。
コンテンツソース410は、図1〜図3を参照して上述した送信ノードに対応する。
第1コンテンツ要請者420、第2コンテンツ要請者430、第3コンテンツ要請者440、及び遅延到着者450のそれぞれは、図1〜図3を参照して上述した受信ノードに対応する。
ネットワーク内の1つ以上の受信ノードのうち、コンテンツ、ブロック又はコード化されたフレームを受信した受信ノードは、オリジナルフレーム、ブロック、又はコンテンツを復元した後にもコード化されたフレームを格納してもよい。
前記格納は、キャッシュであってもよい。例えば、受信ノードは、時間の流れにより格納され、長く格納されたコード化されたフレーム又はリクエストされて長く格納されたコード化されたフレームを除去し、新しいコード化されたフレームを格納してもよい。
上記格納は、ブロックごとに行われてもよい。受信ノードは、特定ブロックのコード化されたフレームの全て又は一部を格納してもよい。
コード化されたフレームの一部を格納することにおいて、受信ノードは、ブロックのコード化されたフレームの内からランダムに一部のコード化されたフレームを選択し、選択された一部のコード化されたフレームを格納する。
又は、1つ以上の受信ノードは、所定の条件により一部のコード化されたフレームを選択してもよい。所定の条件は、1つ以上の受信ノード間のコード化されたフレームの格納における重複を防止したり、重複を減少させるための条件であってもよい。
例えば、受信ノードは、受信ノードの識別子によりコード化されたフレームのうち一部のコード化されたフレームを選択する。又は、1つ以上の受信ノードは、プロトコルにより1つ以上の受信ノードのそれぞれが格納する一部のコード化されたフレームを選択してもよい。
言い換えれば、コード化されたフレームは、送信ノード及び1つ以上の受信ノードを含むネットワーク内のノード間に分散して格納されてもよい。
再送信リクエストが送信される場合、1つの受信ノードが再送信をリクエストするとき、送信ノードだけではなく、再送信リクエストを受信した隣接する他の受信ノードも格納されたコード化されたフレームを、再送信をリクエストした受信ノードに送信してもよい。
再送信リクエストは、マルチキャストによって他の受信ノードに送信されてもよい。又は、他の受信ノードは、ユニキャストによって行われる再送信リクエストをオーバヒアリングしてもよい。
コード化されたフレームの分散した格納及び分散した送信によって、送信性能を向上することができる。
図4に示す遅延到着者450は、コンテンツソース410と共に、1つ以上のコンテンツ要請者からもコード化されたフレームを受信する。
また、遅延到着者450は、コンテンツソース410と共に、1つ以上のコンテンツ要請者からも再送信リクエストに対する追加的なコード化されたフレームを受信する。
図5は、本発明の一実施形態に係るコンテンツのキャッシュを用いるパケットの復号化を説明するための図である。
図5に示すオリジナルコンテンツ510は、1つ以上のオリジナルフレームで構成される。
オリジナルコンテンツ510は、1つ以上のオリジナルフレームを含んでもよい。
図1を参照して上述したように、送信ノードは、オリジナルコンテンツ510を符号化することによって、コード化されたコンテンツ520を生成する。
コード化されたコンテンツ520は、1つ以上のコード化されたフレームを含んでもよい。
受信ノードは、多重ソースからのコード化されたフレームを用いてコンテンツを生成する。
言い換えれば、図5において、受信ノードは、多重ソースからのコード化されたフレーム530を用いてオリジナルコンテンツ540を復元する。
多重ソースは、送信ノードを含んでもよい。
図4を参照して上述したように、送信ノードが再送信リクエストをマルチキャストで送信したり、又は他のノードが再送信リクエストをオーバヒアリングする場合に送信ノードだけではなく、ネットワーク内の1つ以上の他の受信ノード又はコード化されたフレームを有する他のノードも追加的なコード化されたフレームを受信ノードに送信してもよい。
したがって、多重ソースは、ネットワーク内の1つ以上の他の受信ノードを含んでもよい。また、多重ソースは、ネットワーク内のコード化されたフレームを有する1つ以上の他のノードを含んでもよい。
多重ソースからのコード化されたフレーム530は、送信ノード、1つ以上の他の受信ノード、又は、コード化されたフレームを有する1つ以上の他のノードから送信されたコード化されたコンテンツ520のコード化されたフレームであってもよい。
受信ノードは、受信されたコード化されたフレーム及び追加的なコード化されたフレームを用いてコンテンツを生成する。
例えば、図5において、多重ソースからのコード化されたフレーム530を用いてオリジナルコンテンツ540を復元する。
受信ノードは、多重ソースからのコード化されたフレーム530に対する復号化を行うことによってオリジナルコンテンツ540を復元する。
図6は、本発明の一実施形態に係る集合された損失情報メッセージを示す図である。
図1から図5を参照して上述したように、再送信リクエストは、損失情報メッセージを用いて送信されてもよい。
また、損失情報メッセージは1つのブロックに対応してもよく、対応するブロックの識別子を含んでもよい。
また、図6に示すように、損失情報メッセージは、複数のブロックに対応する集合された損失情報メッセージであってもよい。
図6に示す集合された損失情報メッセージ600は、「S_MAC」フィールド610、「D_MAC」フィールド620、1つ以上のブロック識別子(ID)フィールド630、及び1つ以上のカウントフィールド640を含み得る。
「S_MAC」フィールド610は、ソースのMACアドレスを示す。ソースは、図1〜図5を参照して上述した送信ノードであってもよい。
「D_MAC」フィールド620は、目的地のMACアドレスを示す。目的地は、図1〜図5を参照して上述した受信ノードであってもよい。
ブロック識別子(ID)フィールドは、ブロックの識別子を示す。
カウントフィールド640は、追加的に要求されるコード化されたフレーム数を示す。
受信ノードは、1つのブロックに対して直ちに再送信リクエストを送信せず、再送信リクエストの集合を行ってもよい。
上記集合によって、ネットワーク内で発生するトラフィックが減少し得る。
図6に示すように、集合された損失情報メッセージは、1つ以上のブロックの損失情報を示す。
言い換えれば、集合された損失情報メッセージは、受信ノードによって集合された1つ以上のブロックに対する損失情報を含む損失マップ(map)であってもよい。
集合された損失情報メッセージは、1つ以上のブロックの各ブロックに対して、受信ノードが実際に受信したコード化されたフレーム数を含む。
また、集合された損失情報メッセージは、1つ以上のブロックの各ブロックに対して受信ノードがブロック又はオリジナルフレームを復元するために追加的に要求されるコード化されたフレーム数を含む。
又は、集合された損失情報メッセージは、1つ以上のブロックの各ブロックに対して受信ノードが損失したフレーム数を含んでもよい。
集合された損失情報メッセージは、コード化されたフレームの1つ以上のブロックの識別子を含む。
ブロック識別子によって、送信ノードは、損失情報メッセージの損失情報がどのようなブロックのコード化されたフレームに関する情報であるかを識別する。
集合された損失情報メッセージは、1つ以上のブロックの各ブロックのコード化されたフレームのカウンタを含む。
コード化されたフレームのカウンタは、(1)受信ノードが実際に受信した各ブロックのコード化されたフレーム数、(2)受信ノードが各ブロックを復元するために追加的に要求される各ブロックのコード化されたフレーム数、又は、(3)各ブロックのコード化されたフレームのうち受信ノードが損失したフレーム数であってもよい。
集合の範囲は、コンテンツ、オリジナルフレーム、及びコード化されたフレームのタイプ又は属性に応じて互いに異なってもよい。
例えば、コンテンツがファイルである場合、コンテンツ全体のブロックに対して損失情報を集合されてもよい。
受信ノードは、ファイルの全てが送信された後集合された損失情報メッセージを生成及び送信する。
コード化されたフレームの送信と集合された損失情報メッセージの送信とを時間的に分離することによって、受信ノードはコード化されたフレームのマルチキャストを通した送信が、再送信リクエストの送信及び再送信リクエストによる追加的なコード化されたフレームの送信による妨害を受けないようにする。
ここで、妨害とは、競合、衝突、及び干渉の内の1つ以上であり得る。
例えば、ストリーミングに送信されるコンテンツがビデオである場合、損失情報の集合の範囲は、ビデオの符号化率及びネットワークの送信速度に基づいて決定されてもよい。
集合の範囲は、集合された損失情報メッセージのブロックの送信時点に基づいて決定されてもよい。
例えば、集合された損失情報メッセージが順次的な複数のブロックに対する損失情報を含む場合、集合の範囲は所定の時間間隔内で送信される複数のブロックを含むように決定されてもよい。
図7は、本発明の一実施形態に係るノードの構成を示すブロック図である。
ノード700は、図1〜図6を参照して上述したネットワーク内のノード、送信ノード、及び受信ノードにそれぞれに対応する。
言い換えれば、図1〜図6を参照して上述したノード、送信ノード、及び受信ノードに対する説明は、ノード700にも適用される。
ノード700は、通信部710、処理部720、及び格納部730を備える。
図1〜図6を参照して上述したネットワーク内のノードは、それぞれ通信部、処理部、及び格納部を含み得る。
通信部710は、データの送受信を処理する。
例えば、通信部710は、他のノードにコード化されたフレーム及び再送信リクエストを送信する。
また、通信部710は、他のノードからコード化されたフレーム及び再送信リクエストを受信する。
処理部720は、データの生成及び判断に関する作業を処理する。
例えば、処理部720は、コード化されたフレーム及び損失情報メッセージを生成し、コード化されたフレームに対する復号化を行うことによって、オリジナルコンテンツを復元する。
格納部730は、データを格納する。
例えば、格納部730は、コンテンツ、オリジナルフレーム、生成されたコード化されたフレーム、受信したコード化されたフレーム、追加的なコード化されたフレーム、損失情報メッセージなどを格納する。
図8は、一本発明の一実施形態に係る受信ノードの通信方法を説明するためのフローチャートである。
下記の実施形態では、受信ノードの通信方法を説明する。下記で説明される受信ノード及び他のノードは、それぞれ図7を参照して上述したノード700に対応する。
言い換えれば、ノード700の通信部710、処理部720、及び格納部730は、受信ノードの通信部、処理部、及び格納部にそれぞれに対応し、ノード700の通信部710、処理部720、及び格納部730は、他のノードの通信部、処理部、及び格納部にそれぞれに対応する。
他のノードは、送信ノードのようなネットワーク内にある隣接ノードであってもよい。
また、他のノード及び受信ノードは、送信ノードからコード化されたフレームを受信してもよい。
以下では、他のノードからのフィードバックメッセージは第1フィードバックメッセージと示し、受信ノードからのフィードバックメッセージは第2フィードバックメッセージと示す。
まず、ステップS805において、受信ノードの通信部は、送信ノードから1つ以上の第1パケットを受信する。
少なくとも1つの第1パケットは、図1〜図7を参照して上述したコード化されたフレームに対応する。
1つ以上の第1パケットは、マルチキャストで送信ノードから受信ノードに送信される。
後述するステップS810〜ステップS855は、パケットを損失した受信ノードがパケットの損失に対する再送信をリクエストする工程である。
マルチキャストによって追加的なパケットが送信される場合、又は、追加的なパケットの送信がオーバヒアリングされる場合、受信ノード自身がパケットをリクエストせずにネットワーク内の他のノードがパケットをリクエストした場合にも、受信ノードは追加的なパケットを共に受信してもよい。したがって、場合に応じて受信ノードは再送信リクエストを延期してもよい。
ステップS810において、受信ノードの処理部は、延期時間(defer time)が0よりも大きいか否かを判断する。
延期時間は、受信ノードがフィードバックメッセージを送信する前に待機する時間である。
第2フィードバックメッセージは、図1〜図6を参照して前述した再送信リクエスト、損失情報メッセージ、または集合された損失情報メッセージであってもよい。言い換えれば、第2フィードバックメッセージは、受信ノードが要求するパケット数を示す情報を含むメッセージであってもよい。要求するパケット数を示す情報は損失情報に対応する。
受信ノードが要求するパケット数は、受信した1つ以上のパケットに対する復号化を行うために追加的に要求される最小パケット数を示す。
第2フィードバックメッセージは、パケットエラー率(Packet Error Rate;PER)を含んでもよい。
パケットエラー率(PER)は、送信ノードにパケット送信におけるエラー率を提供する。
送信ノードは、パケットエラー率を参照して受信ノードから要求された個数のパケット以外の追加的なパケットを送信する。
図1〜図6を参照して上述したように、パケット又はコード化されたフレームは、送信ノードがオリジナルフレームにネットワークコーディングを適用することによって生成される。
したがって、復号化は、受信された1つ以上の第1パケットに適用されたネットワークコーディングに対する復号化である。
受信ノードが要求するパケット数は、ネットワークコーディングによって符号化された受信した1つ以上のパケットをデコード化するために追加的に要求される、ネットワークコーディングによって符号化された他の1つ以上の第1パケット数であってもよい。
延期時間は、図1〜図7を参照して再送信リクエストを直ちに送信することなく待機することに対する残った時間であってもよい。
言い換えれば、受信ノードの処理部は、延期時間が満了するまで受信ノードの第2フィードバックメッセージの送信を遅延させてもよい。
ステップS810の実行前に、延期時間は所定の値にセットされる。
延期時間が0よりも大きい場合、ステップS820を実行する。
延期時間が0以下である場合、ステップS855を実行する。
次に、ステップS820にて、受信ノードの処理部及び通信部は、第1フィードバックメッセージのオーバヒアリングを試みる。
第1フィードバックメッセージのオーバヒアリングは、ネットワーク内で送信される他のノードの第1フィードバックを受信する。
例えば、第1フィードバックメッセージがマルチキャストによって他のノードから送信ノードに送信される場合、又は、受信ノードが他のノードの第1フィードバックメッセージをオーバヒアリングする場合、受信ノードも第1フィードバックメッセージを取得する。
第1フィードバックメッセージは、他のノードが要求するパケット数を示す情報を含んでもよい。
要求するパケット数を示す情報は、損失情報に対応する。
次に、ステップS830にて、受信ノードの処理部は、フィードバックメッセージが成功裏にオーバヒアリングしたか否か、すなわち、他のノードによって送信された第1フィードバックメッセージが受信ノードによって受信されたか否かを判断する。
上記判断の結果によって、第1フィードバックメッセージが成功裏にオーバヒアリングされた場合、ステップS840を実行する。
フィードバックメッセージが成功裏にオーバヒアリングされていない場合、ステップS810に戻り、後続工程を繰り返す。
次に、ステップS840にて、受信ノードの処理部は、受信ノード自身が復号化するための個数(Number For Decoding;NFD)がオーバヒアリングされたNFDよりも大きいかどうかを判断する。
受信ノードのNFDは、受信ノードが要求するパケット数を示す。
オーバヒアリングされたNFDは、オーバヒアリングされた第1フィードバックメッセージを送信した受信ノードが要求するパケット数を示す。
言い換えれば、受信ノードの処理部は、他のノードが要求するパケット数と受信ノードが要求するパケット数とを比較する。
受信ノードは、受信ノード自身のNFDだけのパケットを追加的に受信すると、追加的に受信したパケット及び以前に受信した1つ以上のパケットに対する復号化を行うことによって、コンテンツ、ブロック、又はオリジナルフレームを復元する。
また、他のノードは、オーバヒアリングされたNFDだけのパケットを追加的に受信すると、追加的に受信したパケットに対して復号化することによって、コンテンツ、ブロック、又はオリジナルフレームを復元する。
受信ノードのNFDがオーバヒアリングされたNFDよりも大きい場合、ステップS845を実行する。
受信ノードのNFDがオーバヒアリングされたNFD以下である場合、手続を終了する。
言い換えれば、受信ノードのNFDがオーバヒアリングされたNFD以下である場合、受信ノードは自身のフィードバックメッセージを送信できないことがある。
受信ノードが第1フィードバックメッセージをオーバヒアリングしたことは、他のノードが送信ノードに第1フィードバックメッセージを送信したことを意味する。
他のノードから送信された第1フィードバックメッセージは、他のノードが要求するパケット数を示す情報を含み得る。したがって、送信ノードは少なくとも他のノードが要求する、受信ノードによって要求されたパケット数よりも大きいか、同じ個数だけのパケットを他のノード及び受信ノードなどに送信する。この送信は、マルチキャストによって行われ得る。したがって、受信ノードは、重複して第2フィードバックメッセージを送信する必要がない。
受信ノードが要求するパケット数が他のノードが要求するパケット数に比べて多ければ、ステップS845にて、受信ノードの通信部は、受信ノードの第2フィードバックメッセージを送信ノードに送信する。
第2フィードバックメッセージは、マルチキャスティング又はオーバヒアリングによってネットワーク内の他のノードにも送信される。
上述したように、第2フィードバックメッセージは、受信ノードが要求するパケット数を示す情報を含む。
図で説明したものと異なって、ステップS840で受信ノードのNFDがオーバヒアリングされたNFDよりも大きい場合、ステップS810に戻って工程を繰り返してもよい。
したがって、ステップS820及びステップS830における第1フィードバックメッセージのオーバヒアリングは、NFDに基づいたオーバヒアリングであってもよい。
所定の期間中に第1フィードバックメッセージが受信されなければ、ステップS855にて、受信ノードの通信部は受信ノードの第2フィードバックメッセージを送信ノードに送信する。
第2フィードバックメッセージは、マルチキャスティング又はオーバヒアリングによってネットワーク内の他のノードにも送信される。
所定の時間は、ステップS810で説明した延期時間の初期値であってもよい。
言い換えれば、受信ノードの処理部は、所定の期間の間、第1フィードバックメッセージを待機してもよい。
処理部は、受信した異なるノードの第1フィードバックメッセージを分析した結果、自身が最も多いパケットを要求するため自身のフィードバックメッセージを送信する必要がある場合のみ、自身の第2フィードバックメッセージを送信する。
言い換えれば、受信ノードのフィードバックは、NFDに基づいて抑制(suppression)する。上記抑制は、ブロック単位からなる。
言い換えれば、上記抑制は、同一の識別子を有するパケット又は同一のブロック識別子を有するコード化されたフレームに対して行われる。
図1〜図7を参照して上述したように、1つ以上のブロックそれぞれに対してコード化されたフレームが送信される。
コード化されたフレームは、自身がいずれかのブロックに対するフレームであるかを示すためにブロック識別子を有する。また、受信ノードが受信した1つ以上の第1パケットは、同一の識別子を含む。同一の識別子は、パケットをブロックごとに区分するブロック識別子であってもよい。
識別子によって、受信されたパケットは、ブロック単位で区分される。
前記区分によって、受信ノードの処理部は、ブロックごとに上述したフィードバックを抑制する。
また、NFDを決定するために、受信された1つ以上の第1パケットのそれぞれは、受信された1つ以上の第1パケットに対する復号化を行うために要求される最小のパケット数を示す情報を含んでもよい。
処理部は、要求される最小のパケット数から実際に受信された1つ以上の第1パケット数を差し引くことによって、受信ノードが要求するパケット数を算出してもよい。
ステップS810〜ステップS855の実行中、又はステップS855の実行後に、受信ノードは追加的なパケットを受信してもよく、ネットワークを介して送信される追加的なパケット数は、受信ノードが要求するパケット数の以上であってもよい。
図9は、本発明の一実施形態に係る送信ノードの通信方法を説明するためのフローチャートである。
以下の実施形態では、送信ノードの通信方法を説明する。
以下で説明する送信ノード及び他のノードは、それぞれ図7を参照して前述したノード700に対応する。
言い換えれば、ノード700の通信部710、処理部720、及び格納部730は、送信ノードの通信部、処理部、及び格納部にそれぞれに対応し、ノード700の通信部710、処理部720、及び格納部730は、他のノードの通信部、処理部、及び格納部にそれぞれに対応する。
他のノードは、受信ノードのようなネットワーク内にある隣接ノードであり得る。
また、他のノードは、送信ノードからコード化されたフレームを受信し得る。
他のノードは、図1〜図8を参照して上述した受信ノードであってもよい。
パケットは、図1〜図8を参照して上述したコード化されたフレームに対応する。
送信ノードは、受信ノードから再送信リクエストを受信すると、受信ノードが要求する個数以上の追加的なパケットを受信ノードに送信する。
追加的なパケットがマルチキャストに送信される場合、又は、追加的なパケットがオーバヒアリングされる場合、再送信リクエストを送信した受信ノード以外の他のノードも追加的なパケットを受信する。
したがって、送信ノードは、特定の時間の間に再送信リクエストに対する応答を直ちに送信せず、複数の受信ノードからの再送信リクエストを受信する。
再送信リクエストの受信後、送信ノードは、最も多い個数の追加的なパケットを要求するリクエストに応じて決定された個数のみの追加的なパケットを受信ノードに送信する。
この送信は、マルチキャストによって行われる。
まず、ステップS905において、送信ノードの通信部は、1つ以上の受信ノードに1つ以上のパケットを送信する。
ステップS905で送信された1つ以上のパケットを第1パケットと命名する。
1つ以上の第1パケットは、マルチキャストによって送信ノードから1つ以上の受信ノードに送信される。
後続のステップS910〜ステップS970は、送信ノードが受信ノードからフィードバックメッセージを受信し、フィードバックメッセージが示す送信ノードが要求するパケット数の以上の追加的なパケットを送信する工程である。
次に、ステップS910において、送信ノードの処理部は、遅延された応答時間が「0」以上であるか否かを判断する。
遅延された応答時間は、送信ノードが追加的なパケットを最終的に送信する前の残った待機時間であってもよい。
ステップS910の実行前に、遅延された応答時間は所定の値にセットされる。
遅延された応答時間が「0」よりも大きい場合、ステップS920を実行する。
遅延された応答時間が「0」よりも大きいことは、送信ノードが最終的な追加的なパケット送信前にさらに待機しなければならないことを意味する。
遅延された応答時間が「0」以下である場合、ステップS970を実行する。
次に、ステップS920において、送信ノードの処理部及び通信部は、ネットワーク内の他のノードからのフィードバックメッセージの受信を待機する。
他のノードは、ステップS905の1つ以上の受信ノードのうち1つのノードであってもよい。
フィードバックメッセージは、ユニキャスト又はマルチキャストによって送信ノードに送信される。
次に、ステップS930において、送信ノードの通信部は、他のノードからフィードバックメッセージを受信したか否かを判断する。
フィードバックメッセージは、他のノードが要求するパケット数を示す情報を含んでもよい。
他のノードから送信されたフィードバックメッセージが受信されていないと判断された場合、ステップS910に戻り、工程を繰り返す。
つまり、ステップS920及びステップS930は、遅延された応答時間が「0」よりも大きい場合、所定の時間の間に行われる。
言い換えれば、送信ノードの処理部及び通信部は、所定の時間の間、他のノードからフィードバックメッセージを待機する。
ステップS930で、他のノードから送信されたフィードバックメッセージを受信した場合、ステップS940を実行する。
そして、ステップS940において、送信ノードの処理部は、現在NFDが最大NFDよりも大きいか否かを判断する。
現在NFDは、ステップS930で受信したフィードバックメッセージが示す他のノードが要求するパケット数である。
最大NFDは、所定の期間の間に以前に受信したフィードバックメッセージから他の全てのノードによって要求するパケット数の最大値である。
言い換えれば、処理部は、他のノードが要求するパケット数と最大パケット数とを比較する。
ステップS905において、1つ以上のパケットのうち、他のノードは、1つ以上の第2パケットのみを受信する。
他のノードが要求するパケット数は、他のノードが受信した1つ以上の第3パケットに対する復号化を行うために、少なくとも1つの第2パケットに加えて追加的に要求されるパケット数であってもよい。
ステップS920及びステップS930は繰り返して行われる。
言い換えれば、ステップS920及びステップS930の反復的な実行により、1つ以上のフィードバックメッセージを1つ以上の他のノードからそれぞれ受信する。
1つ以上のフィードバックメッセージは、フィードバックメッセージを送信した1つ以上の他のノードが要求するパケット数をそれぞれ示す。
最大NFDは、前記1つ以上の異なる全てのノードが要求するパケット数のうち最大値である。
ステップS910の実行前に、最大NFDは所定の値にセットされる。
所定の値は「0」であってもよい。
最大NFDは、前記1つ以上の他のノードが要求するパケット数及び前記所定の値の内の最大値であってもよい。
例えば、所定の値が「0」として設定され、2つの互いに異なるノードによって要求されるパケット数を示す2つのフィードバックメッセージ「3」及び「5」が他のノードから受信されれば、最大パケット数は「5」である。
他の一例として、所定の値が「4」として設定され、2つの互いに異なるノードによって要求されるパケット数を示す2つのフィードバックメッセージ「1」及び「3」が他のノードから受信されれば、最大パケット数は「4」である。
最大パケット数は、所定期間の間に送信ノードにすでに送信された追加的なパケット数である。又は、最大パケット数は、送信ノードが追加的なパケットを送信するか否かを決定するために用いられる閾値であってもよい。
他のノードが要求するパケット数が最大パケット数よりも大きい場合、ステップS950を実行する。
他のノードが要求するパケット数が、最大パケット数以下である場合、ステップS910に戻り、工程を繰り返す。
他のノードが要求するパケット数が最大パケット数以下であることは、他のノードが要求するパケットよりも多い追加的なパケットがすでに(マルチキャストによって)1つ以上の受信ノードに送信されたことを意味する。したがって、これ以上追加的なパケットが送信される必要はない。
他のノードが要求するパケット数が最大パケット数に比べて大きければ、ステップS950で、送信ノードの通信部は、1つ以上の追加的なパケットを送信する。
ステップS950で、送信される1つ以上の追加的なパケットを1つ以上の第3パケットとして命名する。
送信される追加されるパケット数は、他のノードが要求するパケット数と最大パケット数との差である。
又は、送信される追加されるパケット数は、他のノードが要求するパケット数と最大パケット数との差以上であってもよい。
処理部は、(1)他のノードが要求するパケット数と最大パケット数との差、(2)ネットワークのパケット損失率、及び(3)所定の値などを考慮して追加的なパケット数を決定してもよい。
次に、ステップS960において、送信ノードの処理部は、最大NFDの値を更新する。
更新された最大NFDの値は、送信ノードによって送信された追加的なパケットの総個数である。
処理部は、最大パケット数の値をステップS950で送信された1つ以上の追加的なパケット数のみを増加させる。
又は、処理部は、最大パケット数の値を他のノードが要求するパケット数の値に更新してもよい。
ステップS960の実行後にステップS910に戻り、工程が繰り返して行われる。
上述したステップS910〜ステップS960によって、送信ノードは所定の期間の間、他のノードのフィードバックメッセージを待機する。
ステップS910にて、遅延された応答時間が「0」以下であれば、ステップS970において、送信ノードの通信部は1つ以上の追加的なパケットを送信する。
ステップS970において、送信された1つ以上の追加的なパケットを第4パケットとして命名する。
所定の期間の間、言い換えれば、遅延された応答時間の間に他のノードのフィードバックメッセージが受信されなければ、通信部は1つ以上の追加的なパケットを送信する。
1つ以上の追加的なパケット数は、最大パケット数と同一であり得る。
例えば、ステップS910の実行前にすでに送信ノードの通信部が受信ノードからフィードバックメッセージを受信し、受信ノードが要求するパケット数が最大パケット数の初期値として設定されてもよい。
又は、図9で説明したものと異なって、例えば、最大パケット数の初期値が「0」である場合、ステップS970は実行されないまま手続を終了する。
上述したように、送信ノードは、1つ以上の受信ノードの全てのフィードバックメッセージに対して応答できないことがある。
送信ノードは、以前に送信された追加的なパケット又は遅延された応答時間の経過後に送信される追加的なパケット数を考慮し、受信ノードのリクエストに応じて他の追加的なパケットをさらに送信する必要があるか否かを判断する。
言い換えれば、送信ノードの応答はNFDに基づいて除去されてもよい。この除去は、ブロック単位からなってもよい。言い換えれば、この除去は、同一の識別子を有するパケット又は同一のブロック識別子を有するコード化されたフレームに対して行われ得る。
図1〜図8を参照して上述したように、1つ以上のブロックそれぞれに対してコード化されたフレームが送信される。
コード化されたフレームは、自身があるブロックに対するフレームであるか否かを示すためにブロック識別子を有する。
また、受信ノードがステップS905で受信する1つ以上の第1パケット、ステップS950で受信する1つ以上の第3パケット、及びステップS970で受信する1つ以上の第4パケットは同一の識別子を含み得る。
同一の識別子は、ブロック識別子であってもよい。識別子によって受信されたパケットは、ブロック単位に区分される。この区分により受信ノードの処理部は、ブロックごとにオリジナルパケット又はオリジナルフレームを復元することができる。
図1〜図8を参照して上述したように、1つ以上の第1パケット、1つ以上の第2パケット、1つ以上の第3パケット、及び1つ以上の第4パケットは全てネットワークコーディングによって符号化される。
また、1つ以上の第1パケットは、1つ以上の第1パケットが復号化されるため、要求される最小のパケット数を示す情報を含み得る。これは、1つ以上の第2パケット、1つ以上の第3パケット、及び1つ以上の第4パケットにも共通する。
例えば、1つ以上の第2パケットは、1つ以上の第2パケットが復号化されるため、要求される最小のパケット数を示す情報を含み得る。
上記実施形態に係る通信方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータ読取可能記録媒体に記録され得る。
コンピュータ読取可能記録媒体は、プログラム命令、データファイル、データ構造などの内の1つ又はその組み合わせを含み得る。記録媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。
コンピュータ読取可能記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置などが含まれる。
プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードも含まれる。
上記したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆も同様である。
尚、本発明は、上述の実施形態に限られるものではない。本発明の技術的範囲から逸脱しない範囲内で多様に変更実施することが可能である。
本発明は、ネットワーク機能が搭載された端末、アクセスポイント(Access Point;AP)、ルータ、セットトップボックス(set top box)などに好適に使用される。
700 ノード
710 通信部
720 処理部
730 格納部

Claims (28)

  1. ネットワーク内のノードによって行われ、
    前記ネットワーク内の他のノードからパケット受信に対する前記他のノードのメッセージを受信するステップと、
    前記他のノードが要求するパケット数と前記ノードが要求するパケット数とを比較するステップと、
    前記ノードが要求するパケット数が前記他のノードが要求するパケット数に比べて大きい場合、前記ノードのメッセージを送信するステップとを有し、
    前記他のノードのメッセージは、前記他のノードが要求するパケット数を示す情報を含み、
    前記ノードのメッセージは、前記ノードが要求するパケット数を示す情報を含むことを特徴とする通信方法。
  2. 所定の期間の間、メッセージを待機するステップと、
    前記所定の期間の間に前記他のノードのメッセージが受信されなければ、前記ノードのメッセージを送信するステップとをさらに有することを特徴とする請求項1に記載の通信方法。
  3. 送信ノードから送信された1つ以上のパケットを受信するステップをさらに有し、
    前記ノードが要求するパケット数は、前記受信された1つ以上のパケットに対する復号化を行うために追加的に要求される最小のパケット数であることを特徴とする請求項1に記載の通信方法。
  4. 前記受信された1つ以上のパケットは、マルチキャストで前記送信ノードから前記ノードに送信されることを特徴とする請求項3に記載の通信方法。
  5. 前記受信された1つ以上のパケットそれぞれは、同一の識別子を含むことを特徴とする請求項3に記載の通信方法。
  6. 前記受信された1つ以上のパケットは、ネットワークコーディングによって符号化され、
    前記ノードによって要求されるパケット数は、前記ネットワークコーディングによって符号化された1つ以上の受信されたパケットを復号化するために追加的に要求される最小個数のパケットであることを特徴とする請求項3に記載の通信方法。
  7. 前記受信された1つ以上のパケットは、ネットワークコーディングによって符号化され、
    前記ノードが要求するパケット数は、前記ネットワークコーディングによって符号化された前記受信された1つ以上のパケットをデコード化するために、追加的に要求される前記ネットワークコーディングによって符号化された他の1つ以上のパケット数であることを特徴とする請求項3に記載の通信方法。
  8. 前記受信された1つ以上のパケットのそれぞれは、前記受信された1つ以上のパケットを復号化するために要求される最小のパケット数を示す情報を含むことを特徴とする請求項3に記載の通信方法。
  9. 請求項1乃至請求項8のいずれか一項に記載の通信方法を実行するプログラムを収録したことを特徴とするコンピュータ読出可能記録媒体。
  10. ネットワーク内のノードであって、
    前記ネットワーク内の他のノードからパケット受信に対する前記他のノードのメッセージを受信する通信部と、
    前記他のノードが要求するパケット数及び前記ノードが要求するパケット数を比較する処理部とを備え、
    前記他のノードのメッセージは、前記他のノードが要求するパケット数を示す情報を含み、
    前記ノードのメッセージは、前記ノードが要求するパケット数を示す情報を含み、
    前記通信部は、前記ノードが要求するパケット数が前記他のノードが要求するパケット数に比べて大きい場合、前記ノードのメッセージを送信することを特徴とするノード。
  11. ネットワークでノードによって行われる通信方法であって、
    ネットワーク内の他のノードから前記フィードバックメッセージを受信するステップと、
    前記他のノードが要求するパケット数と最大パケット数とを比較するステップと、
    前記他のノードが要求するパケット数が前記最大パケット数に比べて大きい場合、1つ以上の第1パケットを送信するステップとを有し、
    前記フィードバックメッセージは、前記他のノードが要求するパケット数を示す情報を含むことを特徴とする通信方法。
  12. 所定の期間の間、フィードバックメッセージを待機するステップと、
    前記所定の期間の間に前記フィードバックメッセージが受信されなければ、1つ以上の第1パケットを送信するステップとをさらに有することを特徴とする請求項11に記載の通信方法。
  13. 前記他のノードによって要求されるパケット数が前記最大パケット数の値よりも大きい場合、前記最大パケット数の値を前記他のノードが要求するパケット数の値に更新するステップをさらに有し、
    前記1つ以上の第1パケット数は、前記更新する前の他のノードが要求するパケット数と前記最大パケット数との差であることを特徴とする請求項11に記載の通信方法。
  14. 1つ以上の受信ノードに1つ以上の第2パケットを送信するステップをさらに有し、
    前記他のノードは前記1つ以上の受信ノードの内の1つのノードであり、
    前記他のノードが要求するパケット数は、前記1つ以上の第2パケットに加えて、前記1つ以上の第2パケットのうち前記他のノードが受信した1つ以上の第3パケットを復号化するために追加的に要求されるパケット数であることを特徴とする請求項11に記載の通信方法。
  15. 前記1つ以上の第2パケットは、マルチキャストによって前記ノードから前記1つ以上の受信ノードに送信されることを特徴とする請求項14に記載の通信方法。
  16. 前記1つ以上の第1パケットそれぞれ、及び前記1つ以上の第2パケットそれぞれは、同一の識別子を含むことを特徴とする請求項14に記載の通信方法。
  17. 前記1つ以上の第1パケット及び前記1つ以上の第2パケットは、ネットワークコーディングによって符号化されることを特徴とする請求項14に記載の通信方法。
  18. 前記1つ以上の第1パケットのそれぞれは、前記1つ以上の第1パケットを復号化するために要求される最小のパケット数を示す情報を含み、前記1つ以上の第2パケットのそれぞれは、前記1つ以上の第3パケットを復号化するために要求される最小のパケット数を示す情報を含むことを特徴とする請求項14に記載の通信方法。
  19. 請求項11乃至請求項18のいずれか一項に記載の通信方法を実行するプログラムを収録したことを特徴とするコンピュータ読出可能記録媒体。
  20. ネットワーク内のノードであって、
    前記ネットワーク内の他のノードから、前記他のノードが要求するパケット数を示す情報を含むフィードバックメッセージを受信する通信部と、
    前記他のノードが要求するパケット数と最大パケット数とを比較する処理部とを備え、
    前記通信部は、前記他のノードが要求するパケット数が前記最大パケット数に比べて大きい場合、1つ以上の第1パケットを送信することを特徴とするノード。
  21. ネットワーク内のノードであって、
    前記ネットワークで他のノードによって送信された追加的なパケットをリクエストする任意の第1フィードバックメッセージを受信する通信部と、
    前記通信部が前記ノードによって要求される追加的なパケット数よりも大きいか又は同一の追加的なパケット数を要求する任意の第1フィードバックメッセージを受信できない場合、前記ノードによって要求される追加的なパケット数の要求をする第2フィードバックメッセージを生成するプロセッサとを備え、
    前記通信部は、第2フィードバックメッセージを送信することを特徴とするノード。
  22. 前記プロセッサは、所定の期間の間、前記第1フィードバックメッセージが受信されたか否かに基づいて第2フィードバックメッセージを生成し、
    前記通信部は、前記所定の期間が経過した後に、前記第2フィードバックメッセージを送信することを特徴とする請求項21に記載のノード。
  23. 前記通信部は、前記ネットワークで送信ノードから少なくとも1つの第1パケットを受信し、
    前記ノードによって追加的に要求されるパケット数は、前記少なくとも1つの第1パケットを復号化するために要求される追加的なパケット数であることを特徴とする請求項21に記載のノード。
  24. 前記少なくとも1つの第1パケットは、オリジナルパケットの集合をネットワークコーディングして取得した第1パケットの集合の一部であり、
    前記第1パケットの集合での第1パケットの数は、前記オリジナルパケットの集合でのオリジナルパケットの数よりも大きく、
    前記通信部によって受信された少なくとも1つの第1パケットのうち、第1パケットの数に加えて、前記少なくとも1つの第1パケットを復号化するために要求される追加的なパケット数は、第1パケットの集合での第1パケットの数よりも小さいことを特徴とする請求項23に記載のノード。
  25. ネットワーク内のノードであって、
    前記ネットワークで他のノードによって送信された、追加パケットを要求する所定のフィードバックメッセージを受信する通信部と、
    最大パケット数を超過する前記通信部によって受信されたフィードバックメッセージによってリクエストされた追加的なパケット数に応答して送信される追加的なパケット数を決定するプロセッサとを備え、
    前記通信部は、前記決定された送信される追加的なパケット数を送信することを特徴とするノード。
  26. 前記プロセッサは、所定の期間の間、前記通信部によって受信された任意のフィードバックメッセージに基づいて送信される追加的なパケット数を決定し、
    前記通信部は、前記所定の期間が経過した後に前記送信される追加的なパケット数を送信することを特徴とする請求項25に記載のノード。
  27. 前記最大パケット数は、前記通信部によって受信された少なくとも1つのフィードバックメッセージに応答して、前記通信部によって以前に送信された追加的なパケットの総個数であることを特徴とする請求項25に記載のノード。
  28. 前記通信部によって送信される、決定された追加的なパケット数を含むように前記最大パケット数を更新することを特徴とする請求項25に記載のノード。
JP2014231900A 2013-11-19 2014-11-14 ノード及びその通信方法並びにコンピュータ読出可能記録媒体 Active JP6448320B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020130140580A KR102235671B1 (ko) 2013-11-19 2013-11-19 통신 방법 및 장치
KR10-2013-0140580 2013-11-19

Publications (2)

Publication Number Publication Date
JP2015100109A true JP2015100109A (ja) 2015-05-28
JP6448320B2 JP6448320B2 (ja) 2019-01-09

Family

ID=51982394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014231900A Active JP6448320B2 (ja) 2013-11-19 2014-11-14 ノード及びその通信方法並びにコンピュータ読出可能記録媒体

Country Status (5)

Country Link
US (1) US20150139227A1 (ja)
EP (1) EP2876832B1 (ja)
JP (1) JP6448320B2 (ja)
KR (1) KR102235671B1 (ja)
CN (1) CN104660381B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022511616A (ja) * 2019-01-29 2022-02-01 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ブロックチェーンシステムに基づく業務処理方法、装置、電子機器及びコンピュータプログラム
JPWO2024224697A1 (ja) * 2023-04-24 2024-10-31

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102248911B1 (ko) * 2014-10-13 2021-05-06 삼성전자주식회사 전자 장치 및 전자 장치에서 데이터를 처리하는 방법
CN108667559B (zh) * 2017-03-31 2020-12-15 华为技术有限公司 一种通信方法及设备
US11777647B2 (en) 2021-06-30 2023-10-03 Electronics And Telecommunications Research Institute Method and apparatus for traffic transmission in communication system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11136220A (ja) * 1997-06-04 1999-05-21 Toshiba Corp 符号伝送方法、送信装置、受信装置および通信システム
WO2013179269A1 (en) * 2012-06-01 2013-12-05 Renesas Mobile Corporation Method and apparatus for use in multicasting

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100553358C (zh) * 2003-10-08 2009-10-21 高通股份有限公司 在无线通信系统中用于反馈报告的方法和装置
US7924761B1 (en) * 2006-09-28 2011-04-12 Rockwell Collins, Inc. Method and apparatus for multihop network FEC encoding
EP2173054A1 (en) * 2008-10-06 2010-04-07 Thomson Licensing Method for receiving and transmitting data blocks
WO2010117646A1 (en) * 2009-04-09 2010-10-14 Motorola, Inc. Retransmission technique for a communication network
GB2482991B (en) * 2011-08-24 2012-09-12 Renesas Mobile Corp Methods and apparatus for multicast transmission
US9369255B2 (en) * 2012-10-18 2016-06-14 Massachusetts Institute Of Technology Method and apparatus for reducing feedback and enhancing message dissemination efficiency in a multicast network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11136220A (ja) * 1997-06-04 1999-05-21 Toshiba Corp 符号伝送方法、送信装置、受信装置および通信システム
WO2013179269A1 (en) * 2012-06-01 2013-12-05 Renesas Mobile Corporation Method and apparatus for use in multicasting

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022511616A (ja) * 2019-01-29 2022-02-01 ▲騰▼▲訊▼科技(深▲セン▼)有限公司 ブロックチェーンシステムに基づく業務処理方法、装置、電子機器及びコンピュータプログラム
JPWO2024224697A1 (ja) * 2023-04-24 2024-10-31
WO2024224697A1 (ja) * 2023-04-24 2024-10-31 三菱電機株式会社 コンテンツ配信システム、コンテンツ配信方法、及びコンテンツ配信プログラム
WO2024224441A1 (ja) * 2023-04-24 2024-10-31 三菱電機株式会社 コンテンツ配信システム、コンテンツ配信方法、及びコンテンツ配信プログラム
JP7657388B2 (ja) 2023-04-24 2025-04-04 三菱電機株式会社 コンテンツ配信システム、コンテンツ配信方法、及びコンテンツ配信プログラム

Also Published As

Publication number Publication date
CN104660381A (zh) 2015-05-27
EP2876832A2 (en) 2015-05-27
KR102235671B1 (ko) 2021-04-02
JP6448320B2 (ja) 2019-01-09
US20150139227A1 (en) 2015-05-21
KR20150057347A (ko) 2015-05-28
EP2876832B1 (en) 2020-10-07
EP2876832A3 (en) 2016-03-30
CN104660381B (zh) 2019-08-13

Similar Documents

Publication Publication Date Title
CN111740808B (zh) 一种数据传输方法及装置
JP6448320B2 (ja) ノード及びその通信方法並びにコンピュータ読出可能記録媒体
US8867510B2 (en) Methods and apparatus to utilize network coding in a wireless network
EP3531631A1 (en) Data transmission method and apparatus
US20110164621A1 (en) Communication method for relay node and next node of the relay node for network coding
JP2020502832A (ja) データストリーミングの前方誤り訂正
CN105162706B (zh) 组播传输方法、装置及系统
JP2014501059A (ja) データ再送方法、データ再送装置、およびデータ再送システム
CN103546258B (zh) 一种数据传输方法及装置
CN108616334A (zh) 报文传输方法及装置、系统、存储介质、电子装置
CN104768081A (zh) 一种实现流量控制的丢包重传方法
CN101860423A (zh) 一种协议分组传输的重传方法和装置
Dong et al. In-packet network coding for effective packet wash and packet enrichment
CN103546245B (zh) 一种基于网络编码的数据包重传方法
JPWO2010064421A1 (ja) 通信装置、通信方法
CN102986156B (zh) 编码方法及设备、解码方法及设备、编解码系统
JP5220340B2 (ja) 通信装置、通信システム、通信制御方法及び通信制御プログラム
US11363125B2 (en) Systems and methods for increasing reliability for media data distribution
Phung et al. Enhancing REST HTTP with random linear network coding in dynamic edge computing environments
WO2025118559A1 (zh) 数据确认传输方法、网络设备及存储介质
JP2009273094A (ja) データ通信システム、データ通信端末、データ通信方法、およびプログラム
CN118679723A (zh) 选择重传连接的高效重路由
KR20160128149A (ko) 데이터를 송수신하는 방법 및 단말기
KR20150053036A (ko) 컨텐츠 송신기 및 컨텐츠 수신기와, 컨텐츠 송신 방법 및 컨텐츠 수신 방법
CN110166185A (zh) 音频数据的处理方法、装置、存储介质和处理器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180309

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180717

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181204

R150 Certificate of patent or registration of utility model

Ref document number: 6448320

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250