JP6352290B2 - コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法 - Google Patents

コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法 Download PDF

Info

Publication number
JP6352290B2
JP6352290B2 JP2015543993A JP2015543993A JP6352290B2 JP 6352290 B2 JP6352290 B2 JP 6352290B2 JP 2015543993 A JP2015543993 A JP 2015543993A JP 2015543993 A JP2015543993 A JP 2015543993A JP 6352290 B2 JP6352290 B2 JP 6352290B2
Authority
JP
Japan
Prior art keywords
content
node
cache capacity
value
capacity value
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.)
Active
Application number
JP2015543993A
Other languages
English (en)
Other versions
JP2016506113A (ja
Inventor
ジェ フン キム,
ジェ フン キム,
ソク チョン ソ,
ソク チョン ソ,
ビョン ジュン イ,
ビョン ジュン イ,
ミョン ウク ジャン,
ミョン ウク ジャン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2016506113A publication Critical patent/JP2016506113A/ja
Application granted granted Critical
Publication of JP6352290B2 publication Critical patent/JP6352290B2/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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/30Types of network names
    • H04L2101/375Access point names [APN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法に関する。
IPとは異なり、コンテンツ中心ネットワーク(Content Centric Network:CCN)技術は、パケットヘッダにソース及びデスティネーションアドレスの代わりに必要なコンテンツ名を表示する。従って、各ルータは、パケットヘッダに記されたコンテンツ名を参照して、該当するコンテンツがある箇所に各パケットを送信するようにルーティングテーブルを構成する。また、ルータを含む全てのネットワークデバイスは、ストレージを有してコンテンツを一時的に格納する。CCNで、パケットはコンテンツ要求パケットとコンテンツ応答パケットとに区分されるが、コンテンツ要求パケットはリクエストするコンテンツ名を含み、コンテンツ応答パケットは要求されたコンテンツとコンテンツ名などを含む。ネットワークデバイスは、コンテンツ要求パケットを受信した場合、ヘッダにあるコンテンツ名で自身のストレージを検索し、自身が該当するコンテンツを有する場合、そのコンテンツを要求者に伝達(応答)する。従って、コンテンツの本来の所有者の場所まで行ってコンテンツを受け取らなければならないIPベースインターネットに比べて、CCNでは、中間のいずれのノードでも、自身のストレージに該当するコンテンツがある場合に応答(reply)することができるため、平均送信経路(path)の長さが短くなり、全体的なネットワークの使用量が減少する。
本発明は、上記従来技術に鑑みてなされたものであって、本発明の目的は、コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法並びに中間ノードのコンテンツキャッシュ方法を提供することにある。
上記目的を達成するためになされた本発明の一態様によるコンテンツ中心ネットワーク(CCN)におけるコンテンツ所有者がコンテンツ応答パケットを送信する方法は、コンテンツ所有者のポリシーに基づいて、コンテンツをキャッシュする候補ノードを決定するためのキャッシュ収容値の閾値(CCVth)を決定するステップと、コンテンツ要求者のコンテンツ要求パケットに応答して前記コンテンツ及び前記キャッシュ収容値の閾値を含むコンテンツ応答パケットを送信するステップと、を有する。
前記コンテンツ所有者のポリシーは、コンテンツ名、コンテンツの人気度、コンテンツの重要度、及びコンテンツのヒット率のいずれか1つ又はその組み合せに基づき得る。
前記コンテンツ所有者のコンテンツ応答パケット送信方法は、前記コンテンツ所有者のポリシーの変更に応答して前記キャッシュ収容値の閾値を調整するステップを更に含み得る。
前記キャッシュ収容値の閾値は、前記コンテンツをキャッシュする候補ノードの位置、及び前記コンテンツをキャッシュする候補ノードの個数を決定するために用いられ得る。
前記キャッシュ収容値の閾値が第1値を有することに応答して全てのノードが前記コンテンツをキャッシュし、前記キャッシュ収容値の閾値が第2値を有することに応答して全てのノードが前記コンテンツをキャッシュせず、前記キャッシュ収容値の閾値が第3値を有することに応答して該第3値よりも大きいキャッシュ収容値(CCV)を有するノードが前記コンテンツをキャッシュし得る。
前記コンテンツ所有者のコンテンツ応答パケット送信方法は、前記コンテンツ所有者のポリシーに基づいて、前記コンテンツ応答パケットに含まれるコンテンツのライフタイムを調整するステップを更に含み得る。
前記コンテンツ応答パケットは、前記コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(oNDV)、前記コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(dNDV)、前記コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及び前記コンテンツのライフタイムのいずれか1つ又はその組み合せを更に含み得る。
上記目的を達成するためになされた本発明の一態様によるコンテンツ中心ネットワーク(CCN)におけるノードがコンテンツ要求パケットを送信する方法は、ノードのノード関連情報に基づいて、コンテンツをキャッシュする候補ノードを識別するためのキャッシュ収容値(CCV)を算出するステップと、前記算出されたキャッシュ収容値と前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値とを比較するステップと、前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を有する。
前記ノード関連情報は、ノードのキャッシュサイズ、ノードがリクエストするコンテンツの人気度、ノードのネットワーク中心性又はノード接続性、ノードの帯域幅、及びコンテンツ名のいずれか1つ又はその組み合せを含み得る。
前記コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を含むキャッシュ関連情報を含み得る。
前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記算出されたキャッシュ収容値が前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値よりも大きい場合、前記コンテンツ要求パケットに含まれるキャッシュ収容値を前記算出されたキャッシュ収容値に更新するステップと、前記コンテンツ要求パケットに含まれる前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を初期化するステップと、を含み得る。
前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記算出されたキャッシュ収容値が前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値以下である場合、前記コンテンツ要求パケットに含まれるキャッシュ収容値を保持するステップと、前記コンテンツ要求パケットに含まれる前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を増加させるステップと、を含み得る。
前記コンテンツ要求パケットに応答して送信されるコンテンツ応答パケットは、前記コンテンツ、前記コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(oNDV)、前記コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(dNDV)、前記キャッシュ収容値の閾値(CCVth)、前記コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及び前記コンテンツのライフタイムのいずれか1つ又はその組み合せを含み得る。
前記減少ネットワーク距離に基づいて前記コンテンツ応答パケットをダウンストリームに転送するステップを更に含み得る。
前記コンテンツ応答パケットがダウンストリームに転送されることで前記コンテンツ応答パケットに含まれる前記減少ネットワーク距離を減少させるステップを更に含み得る。
前記減少ネットワーク距離に基づいて、前記ノード又は前記ノードの隣接ノードが前記コンテンツをキャッシュするか否かを認知するステップを更に含み得る。
前記オリジナルネットワーク距離と前記減少ネットワーク距離とを比較した結果及び前記算出されたキャッシュ収容値と前記キャッシュ収容値の閾値とを比較した結果に基づいて前記ノードに前記コンテンツをキャッシュするステップを更に含み得る。
前記ノードのアウトバウンド隣接ノードのフォワーディング情報ベース(FIB)テーブルに、前記ノードにキャッシュされたコンテンツのライフタイムに基づいて設定されたタイマーを保持するステップを更に含み得る。
LRU(Least Recently Used)方式又はLFU(Least Frequently Used)方式を用いて、前記キャッシュされたコンテンツのライフタイムを調整するステップを更に含み得る。
前記キャッシュされたコンテンツのライフタイムが満了した場合又は前記キャッシュされたコンテンツのコンテンツ要求パケットを前記ノードのフォワーディング情報ベース(FIB)テーブルに格納されたフェイスと異なるフェイスを介して受信した場合、前記キャッシュされたコンテンツを削除するステップを更に含み得る。
前記コンテンツ応答パケットが前記キャッシュ収容値のための加重値を含む場合、前記加重値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップを更に含み得る。
前記加重値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記コンテンツ要求パケットに含まれる最大キャッシュ収容値と前記加重値とを用いてキャッシュ収容値の閾値を算出するステップと、前記算出されたキャッシュ収容値の閾値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を更に含み得る。
前記算出されたキャッシュ収容値の閾値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記算出されたキャッシュ収容値の閾値と前記算出されたキャッシュ収容値とを比較するステップと、前記算出されたキャッシュ収容値の閾値と前記算出されたキャッシュ収容値とを比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を更に含み得る。
前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記算出されたキャッシュ収容値が前記算出されたキャッシュ収容値の閾値よりも大きい場合、前記ノードが前記コンテンツをキャッシュする候補ノードであると決定するステップを含み得る。
前記ノードのコンテンツ要求パケット送信方法は、前記ノードに前記加重値を格納するステップを更に含み得る。
前記ノードのコンテンツ要求パケット送信方法は、前記格納された加重値を次のノードに転送するステップを更に含み得る。
上記目的を達成するためになされた本発明の一態様によるコンテンツ中心ネットワークにおける中間ノードがコンテンツをキャッシュする方法は、コンテンツ要求者から前記中間ノードを介してコンテンツ所有者に送信されるコンテンツ要求パケットに応答して、前記中間ノードのノード関連情報及び前記コンテンツ所有者から送信されたコンテンツを含むコンテンツ応答パケットに含まれる情報に基づいて、前記コンテンツ要求者と前記コンテンツ所有者との間で前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードを識別するステップと、前記コンテンツがキャッシュされる前記識別された中間ノードで前記コンテンツ応答パケットに含まれるコンテンツをキャッシュするステップと、を有する。
前記中間ノードを識別するステップは、前記中間ノードで前記コンテンツ応答パケットを受信するステップと、前記中間ノードのキャッシュ収容値(CCV)が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値(CCVth)以上である場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードとして識別するステップと、前記中間ノードのキャッシュ収容値が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値よりも小さい場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードでないと識別するステップと、を含み得る。
前記コンテンツ応答パケットに含まれる最大キャッシュ収容値及び前記コンテンツ応答パケットに含まれる加重値に基づいて前記キャッシュ収容値の閾値を算出するステップを更に含み、前記最大キャッシュ収容値は、前記コンテンツ要求者から前記コンテンツ所有者に送信されるコンテンツ要求パケットの送信経路上にある全ての中間ノードの中の最大キャッシュ収容値であり得る。
前記中間ノードを識別するステップは、前記中間ノードで前記コンテンツ応答パケットを受信するステップと、前記中間ノードのキャッシュ収容値(CCV)が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値(CCVth)以上で且つ前記コンテンツ応答パケットに含まれる減少ネットワーク距離(dNDV)が「0」であり、前記コンテンツ応答パケットのダウンストリーム転送で前記減少ネットワーク距離が減少した値を有する場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードとして識別するステップと、前記キャッシュ収容値が前記キャッシュされたキャッシュ収容値の閾値よりも小さいか又は前記減少ネットワーク距離が「0」でない場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードでないと識別するステップと、を含み得る。
本発明のコンテンツ中心ネットワークにおけるノードは、コンテンツストアの大きさを含むノードの状態、コンテンツ要求の頻度、ノードのネットワーク中心性又はノード接続性(Node Connectivity)などに基づいて、送信経路上の全ての中間ノードでなく、コンテンツが転送される経路上の最適位置に該当するノードにコンテンツをキャッシュすることで、ネットワークキャッシュリソースの効用を最大化することができる。
また、コンテンツがキャッシュされたノードに隣接するノードに、最適位置に該当するノードに関する情報、及び最適位置に該当するノードにキャッシュされたコンテンツのリストを格納することで、コンテンツルーティングを効率的に行うことができる。
一般的なコンテンツ中心ネットワーク(CCN)におけるコンテンツ要求及びコンテンツ応答の一例を示す図である。 図1のCCNにおけるコンテンツ要求パケットを処理する一例を示す図である。 〔a〕及び(b)はコンテンツ中心ネットワークにおけるコンテンツ要求に対するコンテンツ応答の一例を示す図である。 コンテンツ中心ネットワークにおけるコンテンツ所有者のコンテンツ応答パケット送信方法の一例を示すフローチャートである。 コンテンツ中心ネットワークにおけるノードのコンテンツ要求パケット送信方法の一例を示すフローチャートである。 コンテンツ中心ネットワークにおけるノードのコンテンツ要求パケット送信方法の他の例を示すフローチャートである。 コンテンツ中心ネットワークにおけるノードのコンテンツ応答パケット送信方法の一例を示すフローチャートである。 コンテンツ中心ネットワークにおけるコンテンツ要求パケットを用いてコンテンツをキャッシュする候補ノードを決定する方法の一例を示す図である。 コンテンツ中心ネットワークにおけるコンテンツ応答パケットを用いてコンテンツをキャッシュする候補ノードを決定する方法の一例を示す図である。 コンテンツ中心ネットワークにおけるアウトバウンド隣接ノードのFIBテーブルを用いたキャッシュされたコンテンツを有するノードを認知する方法の一例を示す図である。 コンテンツ中心ネットワークにおけるコンテンツ所有者の一例を示すブロック図である。 コンテンツ中心ネットワークにおけるノードの一例を示すブロック図である。
以下、本発明を実施するための形態の具体例を、図面を参照しながら詳細に説明する。しかし、本発明は一実施形態によって制限されたり限定されたりすることはない。また、各図面に提示した同一の参照符号は同一の構成要素を示す。
図1は、一般的なコンテンツ中心ネットワーク(CCN)におけるコンテンツ要求及びコンテンツ応答の一例を示す図である。
以下で「ノード」は、例えば移動端末やルータのようなネットワークデバイスを含む意味として理解される。「コンテンツ所有者」は「コンテンツ要求者」がリクエストしたコンテンツを元々所有するノードを意味し、「コンテンツ要求者」はコンテンツをリクエストするノードを意味する。また、「中間ノード」は、コンテンツ中心ネットワーク(CNN)におけるコンテンツ所有者及びコンテンツ要求者でない他のノードを意味する。しかし、実施形態によって、コンテンツ所有者及びコンテンツ要求者も中間ノードとして使用される。
図1を参照すると、コンテンツ要求者110が「インタレスト(Interest)」と称するコンテンツ要求パケットをネットワークに送信し、コンテンツ要求パケットを受信したコンテンツ所有者150が、コンテンツ要求パケットに応答して「コンテンツ(Content)」と称するコンテンツ応答パケットを送信する。コンテンツ応答パケットに含まれるコンテンツは、コンテンツ所有者150のみならず、経路上の中間ノード120、130、140にキャッシュされる。
コンテンツ所有者150が受信したコンテンツ要求パケットに応答してコンテンツ所有者150がコンテンツ応答パケットを送信すると、中間ノード120、130、140は、コンテンツ要求パケットが受信された経路(例えば、フェイス(face))にコンテンツ応答パケットを転送(forward)する。中間ノード120、130、140は、コンテンツを送信すると共に、自身の格納空間(例えば、コンテンツストア(CS)(図2の210参照))にコンテンツ応答パケットに含まれるコンテンツを一時的にキャッシュする。即ち、送信経路上に在る全ての中間ノード120、130、140が同じコンテンツをキャッシュする。
コンテンツ所有者150が多様なコンテンツを格納し、複数のコンテンツ要求者がコンテンツ要求パケットを送信すると、ネットワーク経路上の中間ノード120、130、140は多様なコンテンツをキャッシュする。複数のコンテンツ要求者が多様なコンテンツを要求すると、多量のコンテンツが中間ノード120、130、140の各々にキャッシュされ、新しいコンテンツが優先的にキャッシュされる。例えば、中間ノードが新しいコンテツ応答パケットを受信して中間ノード120、130、140のうちの1つのコンテンツストア(CS)210が満杯(full)になった場合、中間ノードは、コンテンツストア210にキャッシュされた古いコンテンツを削除して新しいコンテンツ応答パケットに含まれる新しいコンテンツをコンテンツストア210にキャッシュする。
図2は、図1のCCNにおけるコンテンツ要求パケットを処理する一例を示す図である。
名前ベースのネットワーク又は名前データネットワークとして知られるコンテンツ中心ネットワークにおいて、コンテンツ名は、コンテンツがキャッシュされたノードを探し出すためのコンパスの役割を果たし、コンテンツを識別するために用いられる。従って、各コンテンツは固有の名前を使用する。異なる名前を有する2つのコンテンツは、2つのコンテンツが同一の内容であっても異なるコンテンツとして認識される。
例えば、2つのファイルの内容は、同一であるが、それぞれ「/ABC.com/sait/video/intro.avi」及び「/ABC.com/sait/comm/video/intro.avi」の異なるコンテンツ名を有する場合、2つのファイルの内容が同一であっても、ファイルの内容が異なるコンテンツとして認識される。このような規則は、類似するコンテンツ名を有する異なるコンテンツを区別するために有用である。
図2を参照して、コンテンツ中心ネットワーク(CCN)におけるコンテンツの階層的な名前に基づいて該当するコンテンツを引き出すコンテンツ要求パケットを処理する一例について説明する。
コンテンツ中心ネットワークのノードが、face(0)201から、「/ABC.com/charles/abc.avi/v3/s2」と名付けられたコンテンツのコンテンツ要求パケットを受信すると、ノードのネットワークモジュールは、コンテンツ要求パケット内に含まれるコンテンツの階層的な名前(ここでは、「/ABC.com/charles/abc.avi/v3/s2」)を参照して該当するコンテンツがノードのコンテンツストア210内に有るか否かを判定する。
該当するコンテンツがコンテンツストア210内に有ると判定された場合、ノードは、該当するコンテンツを、コンテンツ要求パケットが受信されたface(0)201に送信する。フェイスはインタフェースとも称される。
該当するコンテンツがコンテンツストア210内に無いと判定された場合、ノードは、ペンディングインタレストテーブル(Pending Interest Table:PIT)230内に同じコンテンツ名(ここでは、「/ABC.com/charles/abc.avi/v3/s2」)で格納されたエントリ(entry)が有るか否かを判定する。
同じコンテンツ名で格納されたエントリがペンディングインタレストテーブル230内に有る場合、ノードは、ペンディングインタレストテーブル(PIT)230内の該当するエントリに、コンテンツ要求パケットが受信されたフェイス(ここでは、face(0)201)に関する情報を追加する。
同じコンテンツ名で格納されたエントリがペンディングインタレストテーブル230内に無い場合、ノードは、コンテンツ名に基づいてフォワーディング情報ベース(Forwarding Information Base:FIB)250内で該当するエントリを探索する。ノードは、検索を行う際に最長プリフィクスマッチング(longest prefix matching)を用いる。
ノードは、フォワーディング情報ベース(FIB)250に登録された情報に基づいて、コンテンツ要求パケットが転送されるフェイス(ここでは、face(1)205)を決定し、決定されたフェイス(face(1)205)にコンテンツ要求パケットを転送する。
ノードは、コンテンツ要求パケットが受信されたフェイス(face(0)201)に関する情報「0」をペンディングインタレストテーブル(PIT)230に登録する。登録は、ノードが、コンテンツ応答パケットが受信された場合に、コンテンツ要求パケットに対応するコンテンツを含むコンテンツ応答パケットを、該当するコンテンツをリクエストしたノードに転送されることを可能にする。フォワーディング情報ベース(FIB)250に基づいてコンテンツ要求パケットが転送されるフェイスを決定する場合、コンテンツ要求パケットが受信されたフェイス(ここでは、face(0)201)は除外される。
図3(a)及び(b)は、コンテンツ中心ネットワークにおけるコンテンツ要求に対するコンテンツ応答の一例示す図である。
一例によるコンテンツ中心ネットワークで、コンテンツは、送信経路上の全ての中間ノードでなく、最適位置に該当するノードに格納又はキャッシュされる。コンテンツが格納又はキャッシュされたノードの隣接ノードは、最適位置に該当するノードに関する情報、及び最適位置に該当するノードに格納又はキャッシュされたコンテンツのリストを格納して、コンテンツルーティングを効率的に行う。
コンテンツは、ノードのコンテンツストアの大きさを含むノードの状態、要求の頻度(Frequency of request)、及びノードのネットワーク中心性(Centrality)又はノード接続性(Node Connectivity)に基づいて、最適の位置に該当するノードにキャッシュされる。隣接ノードは、ネットワークキャッシュリソースの効用を最大化するとの認識に基づいて、コンテンツがキャッシュされたノードを認知してコンテンツルーティングをサポートする。
このように、コンテンツの分散格納とコンテンツキャッシュノードの認知は、ネットワーク使用量を軽減させ、ユーザの要求に素早い応答を提供する。
図3(a)を参照すると、コンテンツ所有者301がコンテンツ{a}及びコンテンツ{b}を所有し、ユーザ1(User_1)303がコンテンツ{a}を、ユーザ2(User_2)305がコンテンツ{b}をリクエストする場合、コンテンツ{a}は最適と判定されたノード313にキャッシュされ、コンテンツ{b}は最適と判定されたノード315にキャッシュされる。ノード313及びノード315のアウトバウンド隣接ノード317は、ノード313及びノード315の位置を格納し、コンテンツ{a}及び{b}の名前、又はノード313及びノード315にキャッシュされたコンテンツのリストを格納する。
図3(b)を参照すると、続いてユーザ3(User_3)307がコンテンツ{a}をリクエストし、隣接ノード317はコンテンツ{a}がキャッシュされたノード313にコンテンツ{a}のリクエストを経路変更(re−route)する。送信経路上の隣接ノード317は、コンテンツ{a}がキャッシュされたノードの位置を認知し、コンテンツ{a}がノード313にもキャッシュされているため、ノードにキャッシュされたコンテンツ名を認知する。
従って、隣接ノード317はユーザ3(User_3)307のコンテンツ{a}のリクエストをノード313に経路変更し、ノード313はユーザ3(User_3)307にコンテンツ{a}を送信する。
以下、コンテンツをキャッシするために最適と判定されたノードを探す方法、及び隣接ノードでコンテンツを認知する方法について更に詳細に説明する。
図4は、コンテンツ中心ネットワークにおけるコンテンツ所有者のコンテンツ応答パケット送信方法の一例を示すフローチャートである。
コンテンツをキャッシするために最適であると判定されたノードを探すために、キャッシュ収容値(caching capability value:CCV))及びキャッシュ収容値の閾値(cache capability value threshold:CCVth)を定義する。
ノードの「キャッシュ収容値(CCV)」は、ノードのノード関連情報に基づいてコンテンツをキャッシュするノードの収容能力であることが理解される。キャッシュ収容値(CCV)は、コンテンツをキャッシュする候補ノードを識別するために用いられる。
「キャッシュ収容値の閾値(CCVth)」は、ノードにコンテンツをキャッシュするか否かを決定する下限値であることが理解される。キャッシュ収容値の閾値(CCVth)よりも大きいキャッシュ収容値を有するノードは、コンテンツをキャッシュする。一例として、キャッシュ収容値の閾値(CCVth)は、コンテンツ所有者のポリシーに基づいてコンテンツ所有者が決定するか、又はコンテンツ所有者のコンテンツ応答パケットで送信された加重値及び最大キャッシュ収容値を用いて各中間ノードが決定する。
図4で、コンテンツ所有者のポリシーに基づいてキャッシュ収容値の閾値(CCVth)が決定される場合を説明する。
図4を参照すると、コンテンツ所有者は、コンテンツ所有者のポリシーに基づいてコンテンツをキャッシュする候補ノードを決定するためのキャッシュ収容値の閾値(CCVth)を決定する(ステップ410)。
コンテンツ所有者のポリシーは、コンテンツ名、コンテンツの人気度、コンテンツの重要度、及びコンテンツのヒット率のいずれか1つ又はその組み合せに基づいて決定される。
コンテンツ名は、フルネームではなく、コミュニティ名、ローカルネーム、又はプリフィクスである。
一例として人気のあるコンテンツを取り上げると、コンテンツ所有者は、コンテンツの人気度に基づいてコンテンツのキャッシュ収容値の閾値(CCVth)を調整し、コンテンツがキャッシュされるノードの個数を多くし、またコンテンツがキャッシュされるノードの個数を小さくする。このようなキャッシュ収容値の閾値(CCVth)は、コンテンツ所有者のポリシーが変更されることで調整される。
コンテンツ所有者は、コンテンツ所有者のポリシーに基づいて、コンテンツ応答パケットに含まれるコンテンツのライフタイムを調整する(ステップ430)。
コンテンツ所有者は、コンテンツ要求者から受信したコンテンツ要求パケットに応答して、コンテンツ及びキャッシュ収容値の閾値(CCVth)を含むコンテンツ応答パケットを送信する(ステップ450)。コンテンツ応答パケットは、コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(original network distance value:oNDV)、コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(decreasing network distance value:dNDV)、コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及びコンテンツのライフタイムのうちのいずれか1つ又はその組み合せを含む。
図5は、コンテンツ中心ネットワークにおけるノードのコンテンツ要求パケット送信方法の一例を示すフローチャートである。
図5を参照すると、ノードは、ノードのノード関連情報に基づいてコンテンツをキャッシュする候補ノードを識別するためのキャッシュ収容値(CCV)を算出する(ステップ510)。ノード関連情報は、ノードのキャッシュサイズ、ノードがリクエストするコンテンツの人気度、ノードのネットワーク中心性又はノード接続性、ノードの帯域幅、及びコンテンツ名のいずれか1つ又はその組み合せを含む。
ノードは、算出されたキャッシュ収容値(CCV)と、他のノードから転送されて受信されたコンテンツ要求パケットに含まれるキャッシュ収容値(CCV)とを比較する(ステップ530)。コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び候補ノードとコンテンツ所有者との間のネットワーク距離(network distance value:NDV)を含むキャッシュ関連情報を含む。
ノードは、比較した結果に基づいて、ノードがコンテンツをキャッシュする候補ノードであるか否かを決定する(ステップ550)。比較の結果として算出されたキャッシュ収容値がコンテンツ要求パケットに含まれるキャッシュ収容値よりも大きいと認知された場合、ノードは、コンテンツ要求パケットに含まれるキャッシュ収容値をノードの算出されたキャッシュ収容値に更新することでノードを候補ノードとして決定する。コンテンツ要求者とコンテンツ所有者との間の各ノードを経由した後、コンテンツ要求パケットは、最終的に更新されたキャッシュ収容値、即ち各ノードのキャッシュ収容値のうちの「最大キャッシュ収容値」を含む。コンテンツ所有者は、算出されたキャッシュ収容値の閾値とコンテンツ要求パケットに含まれるキャッシュ収容値とを比較した結果に基づいて、コンテンツをキャッシュする候補ノードを決定する。コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のネットワーク距離は、コンテンツがキャッシュされるノードを探すために用いられる。
以下、コンテンツ要求パケットの送信を通してコンテンツをキャッシュする候補ノードを決定する方法について図6を参照して更に詳細に説明する。
図6は、コンテンツ中心ネットワークにおけるノードのコンテンツ要求パケット送信方法の他の例を示すフローチャートである。
図6を参照すると、ノードは、ノードのノード関連情報に基づいてコンテンツをキャッシュする候補ノードを識別するためのキャッシュ収容値(CCV)を算出する(ステップ605)。ノード関連情報は、ノードのキャッシュサイズ、ノードがリクエストするコンテンツの人気度、ノードのネットワーク中心性又はノード接続性、ノードの使用帯域幅、及びコンテンツ名のいずれか1つ又はその組み合せを含む。
ノードは、ステップ605で算出されたキャッシュ収容値(CCV)と他のノードから転送されて受信されたコンテンツ要求パケットに含まれるキャッシュ収容値(CCV)とを比較する(ステップ610)。コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び候補ノードとコンテンツ所有者との間のネットワーク距離を含むキャッシュ関連情報を含む。
ノードは、算出されたキャッシュ収容値(CCV)が転送されたコンテンツ要求パケットに含まれるキャッシュ収容値(CCV)よりも大きいか否かを判定する(ステップ615)。
比較の結果として算出されたキャッシュ収容値がコンテンツ要求パケットに含まれるキャッシュ収容値よりも大きいと認知された場合、ノードは、コンテンツ要求パケットに含まれるキャッシュ収容値(CCV)を、算出されたキャッシュ収容値(CCV)に更新する(ステップ620)。キャッシュ収容値の更新によって、ノードはコンテンツをキャッシュする候補ノードを決定し、最終的に更新されたキャッシュ収容値は、上述した図5に示すように、コンテンツ要求パケットが通過する各ノードのキャッシュ収容値のうちの最大キャッシュ収容値である。
ノードは、コンテンツ要求パケット内の候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)をヌル(null)値「0」に初期化する(ステップ625)。
ネットワーク距離は、コンテンツ所有者によって受信されたコンテンツ要求パケットに応答して、コンテンツ所有者がコンテンツをキャッシュする候補ノードを探すために用いられる。候補ノードとコンテンツ所有者との間のネットワーク距離は、例えば中継点数(hop count)で示される。
その後、ノードは、コンテンツ要求パケットを転送する(ステップ630)。
一方、算出されたキャッシュ収容値が、転送されたコンテンツ要求パケットに含まれるキャッシュ収容値以下である場合、ノードは、コンテンツ要求パケットに含まれるキャッシュ収容値(CCV)を保持し(ステップ635)、コンテンツ要求パケット内の候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を増加させる(ステップ640)。
このような過程を通して、コンテンツ所有者に送信されるコンテンツ要求パケットには、コンテンツ要求パケットの送信経路上のノードのキャッシュ収容値の中の最終的に更新されたキャッシュ収容値、即ち最大キャッシュ収容値が含まれる。
図6に示す方法は、後述する図8を参照して更に詳細に説明する。
図7は、コンテンツ中心ネットワークにおけるノードのコンテンツ応答パケット送信方法の一例を示すフローチャートである。
図7を参照すると、コンテンツ中心ネットワークで、各ノードは、コンテンツ要求パケットに応答してコンテンツ応答パケットを送信し、ノードがキャッシュ候補ノードである場合にコンテンツ応答パケットに含まれるコンテンツをキャッシュする。
ノードは、図6に示す過程を通してノードによってコンテンツ所有者に送信された最大キャッシュ収容値を含むコンテンツ要求パケットに応答してコンテンツ所有者によって送信されたコンテンツ応答パケットを受信する(ステップ710)。
一例として、コンテンツ応答パケットは、コンテンツ、コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離、コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離、キャッシュ収容値の閾値(CCVth)、コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及びコンテンツのライフタイムのいずれか1つ又はその組み合せを含む。
ノードは、コンテンツ応答パケットに含まれるオリジナルネットワーク距離(oNDV)に基づいて、コンテンツ応答パケットをダウンストリームに転送する(ステップ720)。
ノードは、コンテンツ応答パケットに含まれる減少ネットワーク距離(dNDV)を減少させる(ステップ730)。
オリジナルネットワーク距離と減少ネットワーク距離とを比較した結果、及び算出されたノードのキャッシュ収容値とキャッシュ収容値の閾値とを比較した結果は、ノードにコンテンツをキャッシュするか否かを判定するために用いられる。
ノードは、減少ネットワーク距離(dNDV)が「0」であるか又は減少ネットワーク距離(dNDV)<α×オリジナルネットワーク距離(oNDV)であり、且つノードのキャッシュ収容値(CCV)がキャッシュ収容値の閾値(CCVth)以上であるか否かを判定する(ステップ740)。αは、コンテンツ所有者のポリシー又はコンテンツの人気度に基づいて決定され、例えば0.5の値を有する。
「0」の減少ネットワーク距離は、コンテンツが、コンテンツ要求パケットを通してコンテンツが送信されなければならない候補ノードに達したことを意味する。
α(例えば、0.5)×オリジナルネットワーク距離(oNDV)よりも小さい減少ネットワーク距離(dNDV)は、ノードがコンテンツ所有者よりもコンテンツをリクエストしたノードに近いノードであることを意味する。キャッシュ収容値の閾値(CCVth)以上であるノードのキャッシュ収容値(CCV)は、コンテンツ所有者のポリシーに基づいてコンテンツがノードにキャッシュされることを意味する。
ステップ740の条件が満たされる場合、ノードは、候補ノードとしてノードのコンテンツを例えばノードのコンテンツストアにキャッシュする(ステップ750)。
一方、ステップ740の条件が満たされない場合、ノードは、コンテンツ応答パケットをダウンストリームに転送する(ステップ760)。
図7に示す方法は、後述する図9を参照して更に詳細に説明する。
図8は、コンテンツ中心ネットワークにおけるコンテンツ要求パケットを用いてコンテンツをキャッシュする候補ノードを決定する方法の一例を示す図である。
以下、ノード1はコンテンツ要求者をサービスするノード(Node)であり、ノード4はコンテンツ所有者をサービスするノード(Node)である。コンテンツ要求者は、コンテンツ、例えば「/naver.com/news/olympics.mp4」ファイルをリクエストする。
ノード1が「2」のキャッシュ収容値(CCV(2))を有し、ノード2が「5」のキャッシュ収容値(CCV(5))を有し、ノード3が「3」のキャッシュ収容値(CCV(3))を有し、そして、ノード4が「5」のキャッシュ収容値(CCV(5))を有する場合、最も高いキャッシュ収容値を有するノードがコンテンツをキャッシュする候補ノードであると決定される。キャッシュ収容値は、ノードの状態、即ちノードのノード関連情報に基づいて算出される。
各ノードのキャッシュ収容値fは、下記の数式(1)によりノードのノード関連情報に基づいて決定される。
Figure 0006352290
数式(1)で、Csizeは該当するノードの利用可能なキャッシュサイズ(available cache size)を意味し、BWはノードの帯域幅(BandWidth)を意味し、Cはノードのネットワーク中心性(centrality)又はノードのノード接続性を意味し、CPは該当するノードからリクエストされるコンテンツの人気度(popularity)を意味し、そしてw、w、w、wは加重値を意味する。
コンテンツ要求者は、ノード1にコンテンツ名、例えば「/naver.com/news/olympics.mp4」を含むコンテンツ名、候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を含むNDVフィールド、及びコンテンツ要求パケットの送信経路上のノードのキャッシュ収容値のうちの最大キャッシュ収容値を含むキャッシュ収容値(CCV)フィールドを含むコンテンツ要求パケットを送信する。コンテンツ要求者は、ネットワーク距離(NDV)フィールド及びキャッシュ収容値(CCV)フィールドをヌル値「0」に初期化する。
ノード1は、ノード2にコンテンツ要求者がリクエストするコンテンツ名、例えば「/naver.com/news/olympics.mp4」、候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)、及びノード1のキャッシュ収容値(CCV)、例えば「2」を含むコンテンツ要求パケット810を転送する。ノード1はキャッシュ候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)をヌル値「0」に初期化する。
ノード2は、ノード1からコンテンツ要求パケット810を受信し、コンテンツ要求パケット810に含まれるキャッシュ収容値をノード2のキャッシュ収容値と比較する。
最も高いキャッシュ収容値を有するノードでコンテンツをキャッシュするために、コンテンツ要求パケットを受信したノードは、ノードのキャッシュ収容値がコンテンツ要求パケットに含まれるキャッシュ収容値よりも大きいキャッシュ収容値を有する場合、コンテンツ要求パケット810に含まれるキャッシュ収容値の代わりにノードのキャッシュ収容値を記録する。
従って、ノード2は、コンテンツ要求パケット830でノード2によって受信されたコンテンツ要求パケット810に含まれる「2」のキャッシュ収容値(CCV(2))をノード2で「5」のキャッシュ収容値(CCV(5))に上書き(overwrites)する。ノード2がキャッシュ収容値を上書きしたため、ノード2はネットワーク距離(NDV)もヌル値「0」に初期化する。
コンテンツ要求パケット830はノード2からノード3に転送される。
ノード3の「3」のキャッシュ収容値(CCV(3))がコンテンツ要求パケット830に含まれる「5」のキャッシュ収容値(CCV(5))よりも小さいため、ノード3は、コンテンツ要求パケット830に含まれる「5」のキャッシュ収容値(CCV(5))を保持し、ノード4に転送されるコンテンツ要求パケット(図8に図示せず)内のネットワーク距離(NDV)を「1」に増加させる。
ノード4は、ノード3からコンテンツ要求パケットを受信し、コンテンツ要求パケットに含まれる「5」のキャッシュ収容値(CCV(5))とノード4の「5」のキャッシュ収容値(CCV(5))とを比較する。
ノード4の「5」のキャッシュ収容値(CCV(5))がノード3から受信したコンテンツ要求パケットに含まれる「5」のキャッシュ収容値(CCV(5))よりも大きくなく、ノード3から受信したコンテンツ要求パケットに含まれる「5」のキャッシュ収容値(CCV(5))がノード4の「5」のキャッシュ収容値(CCV(5))と同一であるため、ノード4は、コンテンツ要求パケットに含まれる「5」のキャッシュ収容値(CCV(5))を保持し、コンテンツ所有者に転送されるコンテンツ要求パケット850内のネットワーク距離(NDV)を「2」に増加させる。
上述した動作は、次のようなコーディングで表わされる。以下で「Interest」はコンテンツ要求パケットを意味し、「Router」はノードを意味する。
Figure 0006352290
一例として、キャッシュ収容値(CCV)は、ノードのコンテンツストアの格納空間とノードのネットワーク中心性又はノードの接続性に基づいて決定される。しかし、コンテンツストアの格納空間が可変値であるため、コンテンツストアの格納空間は、大量のコンテンツがリクエストされた場合、短い時間内で全て満たされる。この理由のため、利用可能なキャッシュサイズが各ノードのキャッシュ収容値fの決定に対して無駄になる。
ノードのコンテンツストアの格納空間が満杯である場合、利用可能なキャッシュサイズは、実際に保持されたコンテンツストアにキャッシュされたコンテンツと共に、所定時間区間の後に仮想的にリセットされる。或いは、所定の値が、利用可能なキャッシュサイズに割り当てられる。
従って、キャッシュ収容値は、仮想的に利用可能なキャッシュサイズ値に基づいて決定され、これによりネットワークで多様なノードが選択される。
図9は、コンテンツ中心ネットワークにおけるコンテンツ応答パケットを用いてコンテンツをキャッシュする候補ノードを決定する方法の一例を示す図である。
図9を参照すると、コンテツ所有者をサービスするノードは、図8を参照して説明したコンテンツ要求者のコンテンツ要求パケットに応答して、コンテンツ「/naver.com/news/olympics.mp4」を含むコンテンツ応答パケットを送信する。コンテンツに加えて、オリジナルネットワーク距離(oNDV)、減少ネットワーク距離(dNDV)、キャッシュ収容値の閾値(CCVth)、最大キャッシュ収容値(CCV)、加重値、及びコンテンツのライフタイムは、コンテンツ応答パケット(最大キャッシュ収容値(CCV)、加重値、及びコンテンツのライフタイムは、図9に図示せず)に更に含まれる。最大キャッシュ収容値は受信されたコンテンツ要求パケットに含まれるキャッシュ収容値であり、加重値は最大キャッシュ収容値に適用される。
「オリジナルネットワーク距離(oNDV)」は、コンテンツをキャッシュする候補ノードとコンテンツ所有者との間のネットワーク距離であり、受信されたコンテンツ要求パケットに格納されたネットワーク距離(NDV)からコピー(copy)される。
「減少ネットワーク距離(dNDV)」は、コンテンツ応答パケットのダウンストリーム転送で減少又は変化したネットワーク距離であり、コンテンツは、「0」の減少ネットワーク距離(dNDV)を有するノード又は「0」の減少ネットワーク距離(dNDV)を有するノードの隣接ノードにキャッシュされる。
コンテンツのライフタイムは、コンテンツがキャッシュされる時間の長さである。コンテンツ所有者は、受信されたコンテンツ要求パケットに応答して、コンテンツに設定されたライフタイムと共にコンテンツの人気度に比例するライフタイムを設定して送信する。
キャッシュ収容値の閾値(CCVth)は、送信経路上のノード又は中間ノードの中のコンテンツがキャッシュされるノードを決定するための下限値(Lower bound)である。コンテンツは、キャッシュ収容値の閾値(CCVth)よりも大きいキャッシュ収容値を有するノードでキャッシュされる。候補ノードの位置及び候補ノードの個数は、キャッシュ収容値の閾値(CCVth)に基づき決定される。
例えば、キャッシュ収容値の閾値(CCVth)が第1値(例えば、「0」)を有する場合、全てのノードはコンテンツをキャッシュする。キャッシュ収容値の閾値(CCVth)が第2値(例えば、「0xFFFF」)を有する場合、全てのノードはコンテンツをキャッシュしない。
キャッシュ収容値の閾値(CCVth)が第3値(例えば、CCV×e−p、ここでpは人気度を意味する)を有する場合、第3値よりも大きいキャッシュ収容値を有するノードはコンテンツをキャッシュする。
一例として、キャッシュ収容値の閾値(CCVth)は、第4値(例えば、人気のあるコンテンツのコミュニティ名)に設定される。例えば、人気のある音楽を取り上げると、キャッシュ収容値の閾値(CCVth)は、人気のある音楽に伴う音楽情報を含むコミュニティ名に設定される。この場合、コミュニティ名に該当するノードのみがコンテンツをキャッシュする。
一例として、中間ノードは、コンテンツ所有者のポリシーに基づいて決定されたキャッシュ収容値の閾値(CCVth)の代わりに加重値を用いてコンテンツをキャッシュする候補ノードを決定する。この場合、加重値は、受信されたコンテンツ要求メッセージに含まれる最大キャッシュ収容値と共に、コンテンツ応答パケットに含まれて各ノードに送信される。
中間ノードが最大キャッシュ収容値及び加重値を含むコンテンツ応答パケットを受信した場合、中間ノードは、加重値を用いてキャッシュ収容値の閾値を算出し、算出されたキャッシュ収容値の閾値を用いて中間ノードがコンテンツをキャッシュする候補ノードであるか否かを決定する。即ち、ノードは、加重値を用いて、算出されたキャッシュ収容値の閾値に基づいてノードがコンテンツをキャッシュするか否かを決定する。
加重値は、コンテンツの人気度に基づいて算出され、コンテンツ要求メッセージに含まれる最大キャッシュ収容値に適用される。加重値は、人気度に反比例する値であり、例えば「0」以上「1」以下の値を有する。この例で、「0」に近い加重値が高い人気度を有するコンテンツに割り当てられる。
高い人気度を有するコンテンツがより大きな個数の中間ノードでキャッシュされるために、加重値は、最大キャッシュ収容値に乗算される加重値を小さくすることで新しいキャッシュ収容値の閾値(CCVth)を小さくすることによって、人気度に反比例する値(例えば、「0」に近い値)に設定される。
コンテンツ応答パケットを受信したノードは、最大キャッシュ収容値に加重値を乗算してキャッシュ収容値の閾値(CCVth)を算出する。
ノードは、ノードのキャッシュ収容値と算出されたキャッシュ収容値の閾値とを比較することで、コンテンツをキャッシュする候補ノードであるか否かを決定する。
算出されたキャッシュ収容値の閾値(CCVth)よりも大きいキャッシュ収容値を有するノードは、該当するコンテンツをキャッシュする候補ノードに決定される。ノードのキャッシュ収容値と算出されたキャッシュ収容値の閾値とを比較した結果に基づいてコンテンツをキャッシュするか否かを決定する方法のために、上述したコンテンツ所有者のポリシーに基づいて決定されるキャッシュ収容値の閾値(CCVth)を用いた場合を参照する。
ノードは、コンテンツ応答パケットに含まれる加重値を格納する。加重値を格納したノードがコンテンツ要求メッセージを受信した場合、ノードは、コンテンツ要求が送信される方向の経路上のノードでコンテンツがキャッシュされるか否かの決定に用いられる加重値と共に、コンテンツ要求メッセージに含まれる最大キャッシュ収容値を次のノードに送信する。
また、ノードは、コンテンツ所有者のポリシーに基づいて決定されるキャッシュ収容値の閾値(CCVth)及び加重値を受信する。
キャッシュ収容値の閾値(CCVth)及び加重値を受信した中間ノードは、2段階処理を用いてコンテンツをキャッシュする候補ノードであるか否かを決定する。即ち、ノードは、キャッシュ収容値の閾値(CCVth)を用いてコンテンツをキャッシュする候補ノードであるか否かを直ちに決定し、受信されたコンテンツ要求メッセージを処理する際に、コンテンツ要求パケットに含まれる最大キャッシュ収容値及び加重値を用いて、コンテンツをキャッシュする候補ノードであるか否かを決定する。
コンテンツ所有者は、コンテンツ「/naver.com/news/olympics.mp4」、コンテンツ所有者に転送された図8のコンテンツ要求パケット850に含まれるネットワーク距離(NDV)「2」と同一のオリジナルネットワーク距離(oNDV)「2」、減少ネットワーク距離(dNDV)「2」、及び図8を参照して説明したようにコンテンツ所有者のポリシーに基づいて決定されたキャッシュ収容値の閾値(CCVth)「5」を含むコンテンツ応答パケット910をノード4に送信する。コンテンツ所有者は、減少ネットワーク距離(dNDV)をオリジナルネットワーク距離(oNDV)の値「2」に初期化する。
ノード4は、コンテンツ応答パケット910を受信し、減少ネットワーク距離(dNDV)を「1」に減少させる。従って、ノード3は、減少ネットワーク距離(dNDV)「1」を含むコンテンツ応答パケット930を受信する。ノード3は、減少ネットワーク距離(dNDV)を「0」に減少させ、それにより、ノード2は、減少ネットワーク距離(dNDV)「0」を含むコンテンツ応答パケット950を受信する。
その後、ノード2は、ノード3から減少ネットワーク距離(dNDV)「0」を含むコンテンツ応答パケット950を受信し、ノード2の「5」のキャッシュ収容値(CCV(5))がコンテンツ応答パケット950に含まれるキャッシュ収容値閾値「5」以上であるか否かを決定する。ノード2のキャッシュ収容値がキャッシュ収容値の閾値以上である場合、ノード2の「5」のキャッシュ収容値(CCV(5))がキャッシュ収容値の閾値(CCVth)「5」と同一であるため、ノード2はコンテンツをキャッシュする。
ノードが送信経路上のノードの中のコンテンツをキャッシュする候補ノードであるか否かを決定する方法は、次のようなコーディングで表わされる。
Figure 0006352290
αはコンテンツ所有者のポリシー又はコンテンツの人気度に基づいて決定され、例えばαは0.5の値を有する。
キャッシュされたコンテンツのライフタイムが満了するか、又はキャッシュされたコンテンツのコンテンツ要求パケットがノードのFIBテーブル(図10参照)に格納されたフェイスと異なるフェイスを介して受信された場合、ノード2は、ノード2でキャッシュされたコンテンツを削除する。
図10は、コンテンツ中心ネットワークにおけるアウトバウンド隣接ノードのFIBテーブルを用いたキャッシュされたコンテンツを有するノードを認知する方法の一例を示す図である。
図10を参照すると、ノード4は、コンテンツ所有者からコンテンツ「/naver.com/news/olympics.mp4」、コンテンツ所有者によって受信されたコンテンツ要求パケットに含まれるネットワーク距離(NDV)「2」と同一のオリジナルネットワーク距離(oNDV)「2」、オリジナルネットワーク距離(oNDV)「2」と同一の減少ネットワーク距離(dNDV)「2」、及びコンテンツ所有者のポリシーに基づいて決定されたキャッシュ収容値の閾値(CCVth)「5」を含むコンテンツ応答パケット1010を受信する。
ノード4がコンテンツ応答パケット1010を受信した後、ノード4は、減少ネットワーク距離(dNDV)を「1」減少させる。従って、ノード3は、ノード4から減少ネットワーク距離(dNDV)「1」を含むコンテンツ応答パケット1020を受信する。
ノード3は、減少ネットワーク距離(dNDV)に基づいて、ノード3又はノード3の隣接ノードがコンテンツをキャッシュするか否かを認知する。
コンテンツがキャッシュされる位置(ノード)を認知するために、ノード3は、コンテンツ応答パケットに含まれる情報が(dNDV≦0.5×oNDV)&(CCV≦CCVth)を満足するか否かを判定する。
(dNDV(「1」)≦0.5×oNDV「2」)&(CCV(3)≦CCVth「5」)が満たされた場合、ノード3は、ノード3の隣接ノードでコンテンツがキャッシュされることを認知し、コンテンツに伴う情報、例えばコンテンツ名及びコンテンツの位置をノード3のFIBテーブルに格納する。
アウトバウンド隣接ノードとしてノード3は、ノード3のFIBテーブルに、コンテンツ名(例えば、コンテンツのプリフィクス)、送信経路(即ち、フェイス)のみならず、タイマー情報を保持する。タイマー情報は、格納されるコンテンツに起因する時間の長さを示す。
タイマーは、一時的なキャッシュに用いられるルーティングテーブル(即ち、FIB)のエントリリソースの効率的な使用のために与えられ、キャッシュされたコンテンツのライフタイムに基づいて設定される。
ノードは、受信されたコンテンツ応答パケットに応答して、キャッシュされたコンテンツをポインティングするテーブル(即ち、FIB)のエントリタイマーを通してコンテンツのライフタイムを調整する。
例えば、ノード3は、LRU(least recently used)方式又はLFU(least frequently used)方式を用いて、キャッシュされたコンテンツのライフタイムを調整する。
ノード3は、LRU方式に基づいて最も長い間使用されていないコンテンツのライフタイムを減少させるか又はライフタイムを「0」に調整する。或いは、ノード3は、LFU方式に基づいて最も使用頻度の低いコンテンツのライフタイムを減少させるか又はライフタイムを「0」に調整する。
ノード3は、図9のコンテンツ応答パケット950と同様のコンテンツ応答パケット1030をノード2に送信する。
キャッシュされたコンテンツを有するノードのアウトバウンド隣接ノードの動作は、次のようなコーディングで表わされる。
Figure 0006352290
一例として、キャッシュしないノードの中、キャッシュされたコンテンツを有するノードのアウトバウンド隣接ノードは、コンテンツでなくコンテンツ名を格納し、送信経路を指示する。従って、コンテンツ中心ネットワークでキャッシュリソースが節約される。
また、コンテンツ名を格納する単一又は複数のノードは、コンテンツ所有者からの距離とキャッシュされたコンテンツを有するノードからの距離とを比較し、近い位置にコンテンツ要求メッセージを送信する。この例で、ホップカウント又はRTT(round trip time)が距離を比較するために用いられる。従って、コンテンツがキャッシュされるノードは、追加的なコントロールメッセージを要求しなくても、容易に認知されてルーティングを行うことができる。
キャッシュされたコンテンツ名を管理するために、各ノードは、最初にフォワーディング情報ベース(FIB)で該当するエントリのライフタイムを小さい値に設定し、その値はポリシーに従ってコンテンツがキャッシュされる全てのノードに同一に適用される。
キャッシュされたコンテンツが削除された後であっても、コンテンツ名がノードに保持された場合、肯定エラー(false positive)が発生する。
従って、キャッシュされたコンテンツの追加的な要求メッセージがコンテンツ名を保持したノードに送信された場合、コンテンツがキャッシュされたノードは、コンテンツの人気度、ヒット率、及び使用率に基づいてコンテンツのライフタイムを再設定し、再設定情報を隣接ノードに提供する。誤検知発生の尤度は、ネットワーク上にキャッシュされたコンテンツに伴う情報を更新することで減少する。
一例として、コンテンツ名を格納したノードは、コンテンツ所有者でなくキャッシュされたコンテンツを有するノードにコンテンツ要求メッセージを送信し、コンテンツ所有者からでなくキャッシュされたコンテンツを有するキャッシュノードからコンテンツ要求者がコンテンツを受信できるようにする。
キャッシュされたコンテンツを有するノードは、キャッシュされたコンテンツの送信と共にキャッシュされたコンテンツの更新されたライフタイムを送信し、これによりコンテンツ認知(content−aware)ルーティングの信頼性が向上する。
コンテンツ中心ネットワークで、ノードは、キャッシュされたコンテンツとオリジナルコンテンツをテーブルで個別に管理する。従って、ノードは、必要なときにオリジナルコンテンツのコンテンツ要求メッセージを送信するか、或いは受信されたコンテンツ要求メッセージに応答してキャッシュされたコンテンツを用いた応答に失敗した時にオリジナルコンテンツを送信する。
図11は、コンテンツ中心ネットワークにおけるコンテンツ所有者1100の一例を示すブロック図である。
図11を参照すると、コンテンツ所有者1100は、決定部1110、送信部1130、閾値調整部1150、及びライフタイム調整部1170を含む。
決定部1110は、コンテンツ所有者1100のポリシーに基づいてコンテンツをキャッシュする候補ノードを決定するために用いられるキャッシュ収容値の閾値(CCVth)を決定する。
コンテンツ所有者のポリシーは、コンテンツ名、コンテンツの人気度、コンテンツの重要度、及びコンテンツのヒット率のいずれか1つ又はその組み合せに基づいて決定される。
キャッシュ収容値の閾値(CCVth)は、候補ノードの位置及び候補ノードの個数を決定するために用いられる。
例えば、キャッシュ収容値の閾値(CCVth)が第1値を有する場合、全てのノードがコンテンツをキャッシュし、キャッシュ収容値の閾値(CCVth)が第2値を有する場合、全てのノードがコンテンツをキャッシュせず、キャッシュ収容値の閾値(CCVth)が第3値を有する場合、第3値よりも大きいキャッシュ収容値を有するノードがコンテンツをキャッシュする。
送信部1130は、コンテンツ要求者のコンテンツ要求パケットに応答してコンテンツ及びキャッシュ収容値の閾値を含むコンテンツ応答パケットを送信する。
コンテンツ応答パケットは、コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(oNDV)、コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(dNDV)、コンテンツ要求パケット内の最大キャッシュ収容値(CCV)、加重値、及びコンテンツのライフタイムのいずれか1つ又はその組み合せを含む。
閾値調整部1150は、コンテンツ所有者1100のポリシーの変更に応答してキャッシュ収容値の閾値(CCVth)を調整する。
ライフタイム調整部1170は、コンテンツ所有者1100のポリシーに基づいてコンテンツ応答パケットに含まれるコンテンツのライフタイムを調整する。
図12は、コンテンツ中心ネットワークにおけるノード1200の一例を示すブロック図である。
図12を参照すると、ノード1200は、算出部1210、比較部1220、及び決定部1230を含む。
算出部1210は、ノード1200のノード関連情報に基づいてコンテンツをキャッシュする候補ノードを識別するためのキャッシュ収容値(CCV)を算出する。
ノード関連情報は、ノードのキャッシュサイズ、ノードがリクエストするコンテンツの人気度、ノードのネットワーク中心性又はノード接続性、ノードの帯域幅、及びコンテンツ名のうちのいずれか1つ又はその組み合せを含む。
比較部1220は、算出されたキャッシュ収容値とノード1200によって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値とを比較する。
決定部1230は、比較した結果に基づいてノード1200がコンテンツをキャッシュする候補ノードであるか否かを決定する。
図11及び図12に示した決定部1110、送信部1130、閾値調整部1150、ライフタイム調整部1170、算出部1210、比較部1220、及び決定部1230は、図3(a)、(b)、及び図4〜図10を参照して上述した動作を実行し、1つ以上のハードウェア構成、1つ以上のソフトウェア構成、又は1つ以上のハードウェア及びソフトウェア構成の組み合せにより具現される。
本発明の一実施形態による方法は、多様なコンピュータ手段を介して多様な処理を実行するプログラム命令の形態で具現され、コンピュータ読み取り可能な記録媒体に記録される。コンピュータ読み取り可能な媒体は、プログラム命令、データファイル、データ構造などのうちの1つ又はその組合せを含む。記録媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読み取り可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれる。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行される高級言語コードが含まれる。ハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして作動するように構成されてもよく、その逆も同様である。
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されるものではなく、本発明が属する技術分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
従って、本発明の範囲は、開示した実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。
110 コンテンツ要求者
120、130、140 中間ノード
150、301、1100 コンテンツ所有者
201 face(0)
205 face(1)
303、305、307 ユーザ1〜3(User_1〜3)
210 コンテンツストア(contents store:CS)
230 ペンディングインタレストテーブル(Pending Interest Table:PIT)
250 フォワーディング情報ベース(Forwarding Information Base:FIB)
313、315、317、1200 ノード
810、830、850 コンテンツ要求パケット
910、930、950、1010、1020、1030 コンテンツ応答パケット
1110、1230 決定部
1130 送信部
1150 閾値調整部
1170 ライフタイム調整部
1210 算出部
1220 比較部

Claims (30)

  1. コンテンツ中心ネットワーク(CCN)におけるコンテンツ所有者がコンテンツ応答パケットを送信する方法であって、
    コンテンツ所有者のポリシーに基づいて、コンテンツをキャッシュする候補ノードを決定するためのキャッシュ収容値の閾値(CCVth)を決定するステップと、
    コンテンツ要求者のコンテンツ要求パケットに応答して前記コンテンツ及び前記キャッシュ収容値の閾値を含むコンテンツ応答パケットを送信するステップと、を有し、
    前記コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を含むキャッシュ関連情報を含むことを特徴とするコンテンツ所有者のコンテンツ応答パケット送信方法。
  2. 前記コンテンツ所有者のポリシーは、コンテンツ名、コンテンツの人気度、コンテンツの重要度、及びコンテンツのヒット率のいずれか1つ又はその組み合せに基づくことを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  3. 前記コンテンツ所有者のポリシーの変更に応答して前記キャッシュ収容値の閾値を調整するステップを更に含むことを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  4. 前記キャッシュ収容値の閾値は、前記コンテンツをキャッシュする候補ノードの位置、及び前記コンテンツをキャッシュする候補ノードの個数を決定するために用いられることを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  5. 前記キャッシュ収容値の閾値が第1値を有することに応答して全てのノードが前記コンテンツをキャッシュし、
    前記キャッシュ収容値の閾値が第2値を有することに応答して全てのノードが前記コンテンツをキャッシュせず、
    前記キャッシュ収容値の閾値が第3値を有することに応答して該第3値よりも大きいキャッシュ収容値(CCV)を有するノードが前記コンテンツをキャッシュすることを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  6. 前記コンテンツ所有者のポリシーに基づいて、前記コンテンツ応答パケットに含まれるコンテンツのライフタイムを調整するステップを更に含むことを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  7. 前記コンテンツ応答パケットは、前記コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(oNDV)、前記コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(dNDV)、前記コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及び前記コンテンツのライフタイムのいずれか1つ又はその組み合せを更に含むことを特徴とする請求項1に記載のコンテンツ所有者のコンテンツ応答パケット送信方法。
  8. 請求項1に記載のコンテンツ応答パケット送信方法を実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
  9. コンテンツ中心ネットワーク(CCN)におけるノードがコンテンツ要求パケットを送信する方法であって、
    ノードのノード関連情報に基づいて、コンテンツをキャッシュする候補ノードを識別するためのキャッシュ収容値(CCV)を算出するステップと、
    前記算出されたキャッシュ収容値と前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値とを比較するステップと、
    前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を有し、
    前記コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を含むキャッシュ関連情報を含むことを特徴とするノードのコンテンツ要求パケット送信方法。
  10. 前記ノード関連情報は、ノードのキャッシュサイズ、ノードがリクエストするコンテンツの人気度、ノードのネットワーク中心性又はノード接続性、ノードの帯域幅、及びコンテンツ名のいずれか1つ又はその組み合せを含むことを特徴とする請求項9に記載のノードのコンテンツ要求パケット送信方法。
  11. 前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、
    前記算出されたキャッシュ収容値が前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値よりも大きい場合、
    前記コンテンツ要求パケットに含まれるキャッシュ収容値を前記算出されたキャッシュ収容値に更新するステップと、
    前記コンテンツ要求パケットに含まれる前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を初期化するステップと、を含むことを特徴とする請求項9に記載のノードのコンテンツ要求パケット送信方法。
  12. 前記比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、
    前記算出されたキャッシュ収容値が前記ノードによって転送されたコンテンツ要求パケットに含まれるキャッシュ収容値以下である場合、
    前記コンテンツ要求パケットに含まれるキャッシュ収容値を保持するステップと、
    前記コンテンツ要求パケットに含まれる前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を増加させるステップと、を含むことを特徴とする請求項9に記載のノードのコンテンツ要求パケット送信方法。
  13. 前記コンテンツ要求パケットに応答して送信されるコンテンツ応答パケットは、前記コンテンツ、前記コンテンツ要求パケットに含まれる候補ノードとコンテンツ所有者との間のオリジナルネットワーク距離(oNDV)、前記コンテンツ応答パケットのダウンストリーム転送で減少する減少ネットワーク距離(dNDV)、前記キャッシュ収容値の閾値(CCVth)、前記コンテンツ要求パケットに含まれる最大キャッシュ収容値、加重値、及び前記コンテンツのライフタイムのいずれか1つ又はその組み合せを含むことを特徴とする請求項9に記載のノードのコンテンツ要求パケット送信方法。
  14. 前記減少ネットワーク距離に基づいて前記コンテンツ応答パケットをダウンストリームに転送するステップを更に含むことを特徴とする請求項13に記載のノードのコンテンツ要求パケット送信方法。
  15. 前記コンテンツ応答パケットがダウンストリームに転送されることで前記コンテンツ応答パケットに含まれる前記減少ネットワーク距離を減少させるステップを更に含むことを特徴とする請求項14に記載のノードのコンテンツ要求パケット送信方法。
  16. 前記減少ネットワーク距離に基づいて、前記ノード又は前記ノードの隣接ノードが前記コンテンツをキャッシュするか否かを認知するステップを更に含むことを特徴とする請求項15に記載のノードのコンテンツ要求パケット送信方法。
  17. 前記オリジナルネットワーク距離と前記減少ネットワーク距離とを比較した結果及び前記算出されたキャッシュ収容値と前記キャッシュ収容値の閾値とを比較した結果に基づいて前記ノードに前記コンテンツをキャッシュするステップを更に含むことを特徴とする請求項13に記載のノードのコンテンツ要求パケット送信方法。
  18. 前記ノードのアウトバウンド隣接ノードのフォワーディング情報ベース(FIB)テーブルに、前記ノードにキャッシュされたコンテンツのライフタイムに基づいて設定されたタイマーを保持するステップを更に含むことを特徴とする請求項17に記載のノードのコンテンツ要求パケット送信方法。
  19. LRU(Least Recently Used)方式又はLFU(Least Frequently Used)方式を用いて、前記キャッシュされたコンテンツのライフタイムを調整するステップを更に含むことを特徴とする請求項18に記載のノードのコンテンツ要求パケット送信方法。
  20. 前記キャッシュされたコンテンツのライフタイムが満了した場合又は前記キャッシュされたコンテンツのコンテンツ要求パケットを前記ノードのフォワーディング情報ベース(FIB)テーブルに格納されたフェイスと異なるフェイスを介して受信した場合、前記キャッシュされたコンテンツを削除するステップを更に含むことを特徴とする請求項17に記載のノードのコンテンツ要求パケット送信方法。
  21. 前記コンテンツ応答パケットが前記キャッシュ収容値のための加重値を含む場合、前記加重値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップを更に含むことを特徴とする請求項13に記載のノードのコンテンツ要求パケット送信方法。
  22. 前記加重値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、
    前記コンテンツ要求パケットに含まれる最大キャッシュ収容値と前記加重値とを用いてキャッシュ収容値の閾値を算出するステップと、
    前記算出されたキャッシュ収容値の閾値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を更に含むことを特徴とする請求項21に記載のノードのコンテンツ要求パケット送信方法。
  23. 前記算出されたキャッシュ収容値の閾値を用いて前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、
    前記算出されたキャッシュ収容値の閾値と前記算出されたキャッシュ収容値とを比較するステップと、
    前記算出されたキャッシュ収容値の閾値と前記算出されたキャッシュ収容値とを比較した結果に基づいて、前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップと、を更に含むことを特徴とする請求項22に記載のノードのコンテンツ要求パケット送信方法。
  24. 前記ノードが前記コンテンツをキャッシュする候補ノードであるか否かを決定するステップは、前記算出されたキャッシュ収容値が前記算出されたキャッシュ収容値の閾値よりも大きい場合、前記ノードが前記コンテンツをキャッシュする候補ノードであると決定するステップを含むことを特徴とする請求項23に記載のノードのコンテンツ要求パケット送信方法。
  25. 前記ノードに前記加重値を格納するステップを更に含むことを特徴とする請求項13に記載のノードのコンテンツ要求パケット送信方法。
  26. 前記格納された加重値を次のノードに転送するステップを更に含むことを特徴とする請求項25に記載のノードのコンテンツ要求パケット送信方法。
  27. コンテンツ中心ネットワーク(CCN)における中間ノードがコンテンツをキャッシュする方法であって、
    コンテンツ要求者から前記中間ノードを介してコンテンツ所有者に送信されるコンテンツ要求パケットに応答して、前記中間ノードのノード関連情報及び前記コンテンツ所有者から送信されたコンテンツを含むコンテンツ応答パケットに含まれる情報に基づいて、前記コンテンツ要求者と前記コンテンツ所有者との間で前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードを識別するステップと、
    前記コンテンツがキャッシュされる前記識別された中間ノードで前記コンテンツ応答パケットに含まれるコンテンツをキャッシュするステップと、を有し、
    前記コンテンツ要求パケットは、コンテンツ名並びに候補ノードのキャッシュ収容値及び前記候補ノードとコンテンツ所有者との間のネットワーク距離(NDV)を含むキャッシュ関連情報を含むことを特徴とする中間ノードのコンテンツキャッシュ方法。
  28. 前記中間ノードを識別するステップは、
    前記中間ノードで前記コンテンツ応答パケットを受信するステップと、
    前記中間ノードのキャッシュ収容値(CCV)が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値(CCVth)以上である場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードとして識別するステップと、
    前記中間ノードのキャッシュ収容値が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値よりも小さい場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードでないと識別するステップと、を含むことを特徴とする請求項27に記載の中間ノードのコンテンツキャッシュ方法。
  29. 前記コンテンツ応答パケットに含まれる最大キャッシュ収容値及び前記コンテンツ応答パケットに含まれる加重値に基づいて前記キャッシュ収容値の閾値を算出するステップを更に含み、
    前記最大キャッシュ収容値は、前記コンテンツ要求者から前記コンテンツ所有者に送信されるコンテンツ要求パケットの送信経路上にある全ての中間ノードの中の最大キャッシュ収容値であることを特徴とする請求項28に記載の中間ノードのコンテンツキャッシュ方法。
  30. 前記中間ノードを識別するステップは、
    前記中間ノードで前記コンテンツ応答パケットを受信するステップと、
    前記中間ノードのキャッシュ収容値(CCV)が前記コンテンツ応答パケットに含まれるキャッシュ収容値の閾値(CCVth)以上で且つ前記コンテンツ応答パケットに含まれる減少ネットワーク距離(dNDV)が「0」であり、前記コンテンツ応答パケットのダウンストリーム転送で前記減少ネットワーク距離が減少した値を有する場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードとして識別するステップと、
    前記キャッシュ収容値が前記キャッシュされたキャッシュ収容値の閾値よりも小さいか又は前記減少ネットワーク距離が「0」でない場合、前記中間ノードを前記コンテンツ要求者によってリクエストされたコンテンツをキャッシュする中間ノードでないと識別するステップと、を含むことを特徴とする請求項27に記載の中間ノードのコンテンツキャッシュ方法。
JP2015543993A 2012-11-26 2013-11-26 コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法 Active JP6352290B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
KR10-2012-0134452 2012-11-26
KR20120134452 2012-11-26
KR10-2013-0030394 2013-03-21
KR1020130030394A KR102100710B1 (ko) 2012-11-26 2013-03-21 컨텐츠 중심 네트워크에서 컨텐츠 소유자 및 노드의 패킷 전송 방법
PCT/KR2013/010757 WO2014081264A1 (en) 2012-11-26 2013-11-26 Method of packet transmission from node and contentowner in content-centric networking

Publications (2)

Publication Number Publication Date
JP2016506113A JP2016506113A (ja) 2016-02-25
JP6352290B2 true JP6352290B2 (ja) 2018-07-04

Family

ID=51124018

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015543993A Active JP6352290B2 (ja) 2012-11-26 2013-11-26 コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法

Country Status (6)

Country Link
US (1) US9621671B2 (ja)
EP (2) EP3410657B1 (ja)
JP (1) JP6352290B2 (ja)
KR (2) KR102100710B1 (ja)
CN (1) CN104756449B (ja)
WO (1) WO2014081264A1 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9021537B2 (en) 2010-12-09 2015-04-28 Netflix, Inc. Pre-buffering audio streams
JP6020278B2 (ja) * 2013-03-21 2016-11-02 富士通株式会社 自律分散型キャッシュ配置制御システム
US10075741B2 (en) * 2013-07-03 2018-09-11 Avago Technologies General Ip (Singapore) Pte. Ltd. System and control protocol of layered local caching for adaptive bit rate services
JP6213914B2 (ja) * 2013-09-27 2017-10-18 パナソニックIpマネジメント株式会社 通信端末、およびコンテンツ出版方法
CN105099944B (zh) 2014-04-22 2018-08-17 华为技术有限公司 一种缓存数据的方法及转发设备
US9825860B2 (en) * 2014-05-30 2017-11-21 Futurewei Technologies, Inc. Flow-driven forwarding architecture for information centric networks
KR102185350B1 (ko) * 2014-06-10 2020-12-01 삼성전자주식회사 네트워크 노드 및 네트워크 노드의 동작 방법
KR102147669B1 (ko) * 2014-06-30 2020-10-14 에스케이텔레콤 주식회사 콘텐츠 전송 방법, 이를 위한 장치 및 시스템
KR102203489B1 (ko) * 2014-06-30 2021-01-14 에스케이텔레콤 주식회사 Ccn 이름 구성 방법과 ccn 이름 기반 라우팅 방법 및 장치
JP6406671B2 (ja) * 2015-02-26 2018-10-17 Kddi株式会社 コンテンツキャッシュ方法および装置
US10757213B2 (en) * 2015-08-14 2020-08-25 Futurewei Technologies, Inc. Method and apparatus for pushing data in a content-centric networking (CCN) network
US10686702B2 (en) 2015-11-06 2020-06-16 Cable Television Laboratories, Inc. Preemptive caching of content in a content-centric network
CN106028400A (zh) * 2016-06-30 2016-10-12 华为技术有限公司 一种缓存内容的方法和基站
US10122624B2 (en) * 2016-07-25 2018-11-06 Cisco Technology, Inc. System and method for ephemeral entries in a forwarding information base in a content centric network
CN106210116B (zh) * 2016-07-29 2019-04-09 国网山西省电力公司检修分公司 一种基于内容中心网络的差异化存储方法及装置
CN106254446B (zh) * 2016-07-29 2019-07-02 北京智芯微电子科技有限公司 一种基于内容中心网络的缓存放置方法及装置
CN107733949B (zh) * 2016-08-11 2021-03-16 北京邮电大学 一种无线接入网缓存方法及系统
CN106686060B (zh) * 2016-12-05 2019-11-05 中国科学院声学研究所 一种内容扩散的方法及系统
US10469348B2 (en) * 2016-12-29 2019-11-05 Futurewei Technologies, Inc. Centrality-based caching in information-centric networks
US10225201B2 (en) * 2017-01-27 2019-03-05 Futurewei Technologies, Inc. Scalable multicast for notification-driven content delivery in information centric networks
JP6944820B2 (ja) * 2017-06-16 2021-10-06 パナソニック株式会社 ノード装置および該ノード装置におけるキャッシュ管理方法
CN108366089B (zh) * 2018-01-08 2020-12-08 南京邮电大学 一种基于内容流行度和节点重要度的ccn缓存方法
CN109921997B (zh) * 2019-01-11 2020-09-01 西安电子科技大学 一种命名数据网络缓存方法、缓存器和存储介质
CN110086857B (zh) * 2019-04-15 2022-01-14 哈尔滨工程大学 基于缓存节点状态和位置的信息中心网络缓存部署方法
KR102163214B1 (ko) * 2019-05-30 2020-10-08 한국과학기술원 CoMP 기반 스몰 셀 네트워크에서의 기계학습을 활용한 능동 캐싱 기법
KR102310212B1 (ko) * 2020-05-21 2021-10-06 홍익대학교세종캠퍼스산학협력단 5g 네트워크에서 정보 중심 네트워킹 기반의 엣지 컴퓨팅 활성화 방법
CN111614771B (zh) * 2020-05-25 2021-07-13 北京邮电大学 一种内容中心物联网络的内容缓存方法
US20240146685A1 (en) * 2021-04-12 2024-05-02 Intel Corporation Capability discovery in an information centric network
KR102602371B1 (ko) * 2021-12-09 2023-11-16 부산대학교 산학협력단 콘텐츠 중심 네트워크에서 강화학습을 기반으로 캐싱하는 장치 및 방법
KR20230130461A (ko) * 2022-03-03 2023-09-12 한국전자통신연구원 엔디엔 콘텐츠 스토어의 콘텐츠 제거 최적화 방법 및 시스템

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434608B1 (en) * 1999-02-26 2002-08-13 Cisco Technology, Inc. Methods and apparatus for caching network traffic
GB2382962A (en) 2001-12-07 2003-06-11 Altio Ltd Data routing without using an address
JP2003228524A (ja) * 2002-02-01 2003-08-15 Dainippon Printing Co Ltd コンテンツ配信システム
TW578101B (en) * 2002-09-11 2004-03-01 Sunplus Technology Co Ltd Method and structure for adaptively accessing command and data
US7236786B2 (en) * 2004-06-22 2007-06-26 Industrial Technology Research Institute Method and system for providing fast handoff in a WLAN-like communication system using active neighboring sets
US20090144167A1 (en) 2005-02-10 2009-06-04 Pablo Calamera System and method for managing data and voice connectivity for wireless devices
US20070136757A1 (en) 2005-12-09 2007-06-14 Intel Corporation System and method for a content-centric electronic guide
JP2008035337A (ja) * 2006-07-31 2008-02-14 Brother Ind Ltd ノード装置、配信装置、管理装置、情報処理プログラム、コンテンツ配信方法及びコンテンツ配信システム
EP2053831B1 (en) * 2007-10-26 2016-09-07 Alcatel Lucent Method for caching content data packages in caching nodes
US8386622B2 (en) * 2008-05-16 2013-02-26 Palo Alto Research Center Incorporated Method and apparatus for facilitating communication in a content centric network
US9456054B2 (en) 2008-05-16 2016-09-27 Palo Alto Research Center Incorporated Controlling the spread of interests and content in a content centric network
US8165118B2 (en) * 2008-05-19 2012-04-24 Palo Alto Research Center Incorporated Voice over content centric networks
US8537835B2 (en) * 2008-06-20 2013-09-17 Alcatel Lucent Methods and apparatus for self-organized caching in a content delivery network
US8239482B2 (en) * 2008-11-13 2012-08-07 At&T Intellectual Property I, Lp System and method for selectively caching hot content in a content delivery system
US8204060B2 (en) * 2009-01-30 2012-06-19 Palo Alto Research Center Incorporated Method and system for facilitating forwarding a packet in a content-centric network
US20110040893A1 (en) * 2009-08-14 2011-02-17 Broadcom Corporation Distributed Internet caching via multiple node caching management
US9264342B2 (en) * 2009-12-24 2016-02-16 Samsung Electronics Co., Ltd. Terminal device based on content name, and method for routing based on content name
WO2011096865A1 (en) * 2010-02-05 2011-08-11 Telefonaktiebolaget Lm Ericsson (Publ) Method and node entity for enhancing content delivery network
KR101688857B1 (ko) 2010-05-13 2016-12-23 삼성전자주식회사 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말
KR20120038187A (ko) 2010-10-13 2012-04-23 삼성전자주식회사 컨텐츠 중심 네트워킹 환경에서 그룹 변경에 관한 정보를 이용한 컨텐츠 공유 방법 및 장치
US8756297B2 (en) 2010-12-16 2014-06-17 Palo Alto Research Center Incorporated Energy-efficient content caching with custodian-based routing in content-centric networks
US8751664B2 (en) 2010-12-16 2014-06-10 Palo Alto Research Center Incorporated Custodian-based routing in content-centric networks
CN102638405B (zh) * 2012-04-12 2014-09-03 清华大学 内容中心网络策略层的路由方法

Also Published As

Publication number Publication date
US20140149532A1 (en) 2014-05-29
KR102301353B1 (ko) 2021-09-14
WO2014081264A1 (en) 2014-05-30
EP3410657B1 (en) 2021-02-17
CN104756449B (zh) 2018-11-06
EP2923468A1 (en) 2015-09-30
KR102100710B1 (ko) 2020-04-16
EP3410657A1 (en) 2018-12-05
EP2923468B1 (en) 2019-01-16
CN104756449A (zh) 2015-07-01
US9621671B2 (en) 2017-04-11
JP2016506113A (ja) 2016-02-25
KR20140067881A (ko) 2014-06-05
EP2923468A4 (en) 2016-07-06
KR20200040722A (ko) 2020-04-20

Similar Documents

Publication Publication Date Title
JP6352290B2 (ja) コンテンツ中心ネットワークにおけるコンテンツ所有者及びノードのパケット送信方法
KR101978177B1 (ko) 컨텐츠 중심 네트워크에서 노드가 컨텐츠를 저장하는 방법 및 컨텐츠 제공자가 컨텐츠를 전송하는 방법
JP5624331B2 (ja) コンピュータ実施方法
JP5828760B2 (ja) キャッシュを最適化するための方法とシステム
JP6371592B2 (ja) コンテンツ中心ネットワークにおけるノードの通信方法及びそのノード
JP5745925B2 (ja) コンテンツ中心ネットワーク(ccn)における端末の通信方法とccnにおけるハブの通信方法、そのための記録媒体、及びccnのための端末
US10587513B2 (en) Method, apparatus and system for determining content acquisition path and processing request
KR100563109B1 (ko) 노드 탐색 방법, 이동 노드, 이동 통신 시스템 및 컴퓨터로 판독 가능한 매체
KR20140009931A (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
JP6601784B2 (ja) 情報指向ネットワークにおいてコンテキスト認識型コンテンツ要求をサポートするための方法、ネットワークコンポーネント、およびプログラム
US8539041B2 (en) Method, apparatus, and network system for acquiring content
US20130215756A1 (en) Apparatus and method for managing contents cache considering network cost
US10467217B2 (en) Loop detection in cuckoo hashtables
CN105072030A (zh) 一种基于内容聚类的命名数据网络路由系统及其聚类查询方法
JP6564852B2 (ja) 情報中心ネットワーキング(icn)ノードのネットワークにおいてパケットを管理する方法
CN108965479B (zh) 一种基于内容中心网络的域协同缓存方法及装置
CN103546375A (zh) 内容路由方法及装置
JP5625937B2 (ja) ルータ、キャッシュルータ及びコンテンツデータキャッシュシステム並びにコンテンツデータキャッシュ方法
CN107404438A (zh) 网络路由方法和网络路由系统
CN106130912B (zh) 一种路由节点及路由方法
US20090106387A1 (en) Cidr based caching at application layer
Gulati et al. AdCaS: Adaptive caching for storage space analysis using content centric networking
Swaroopa et al. A FAVE Cache Strategy for Producer Mobility in Content Centric Networks
KR102110524B1 (ko) 컨텐츠 중심 네트워크에서 블룸 필터를 이용하여 라우팅을 수행하는 노드 및 그 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160905

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170919

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180606

R150 Certificate of patent or registration of utility model

Ref document number: 6352290

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