JP2016053950A - Ccnパイプラインストリームの信頼性のあるコンテンツ交換システム及び方法 - Google Patents

Ccnパイプラインストリームの信頼性のあるコンテンツ交換システム及び方法 Download PDF

Info

Publication number
JP2016053950A
JP2016053950A JP2015161771A JP2015161771A JP2016053950A JP 2016053950 A JP2016053950 A JP 2016053950A JP 2015161771 A JP2015161771 A JP 2015161771A JP 2015161771 A JP2015161771 A JP 2015161771A JP 2016053950 A JP2016053950 A JP 2016053950A
Authority
JP
Japan
Prior art keywords
content
hosting service
exchange
name
session
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.)
Pending
Application number
JP2015161771A
Other languages
English (en)
Inventor
マーク・イー・モスコ
E Mosko Marc
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.)
Palo Alto Research Center Inc
Original Assignee
Palo Alto Research Center Inc
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 Palo Alto Research Center Inc filed Critical Palo Alto Research Center Inc
Publication of JP2016053950A publication Critical patent/JP2016053950A/ja
Pending legal-status Critical Current

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/14Session management
    • H04L67/141Setup of application sessions
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/067Network architectures or network communication protocols for network security for supporting key management in a packet data network using one-time keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2183Cache memory
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】ホスティングサービスに対してデータの信頼性のあるパイプラインフローを送信するためにコンテンツ中心ネットワーク(CCN)を介してホスティングサービスと信頼性のあるコンテンツ交換(RCX)セッションを確立する。
【解決手段】クライアント装置は、ホスティングサービスに対して認証情報を提供しRCX制御チャネルを初期化する。ホスティングサービスに対してコンテンツを転送するために交換セッションを確立する交換初期化要求を送信するために制御チャネルを使用する。交換初期化要求は、選択されたコンテンツに関連付けられた集合名及び交換セッションについての交換識別子(XID)を含む。そして、クライアント装置は、交換セッションを介して選択されたコンテンツのセグメントを要求するインタレストを受信することができ、そのペイロードが要求されたコンテンツのセグメントを含むコンテンツオブジェクトを返送することができる。
【選択図】なし

Description

本開示は、一般に、コンテンツ中心ネットワーク(CCN)に関する。より具体的には、本開示は、CCN上での信頼性のあるコンテンツ交換のためにCCNノード間においてチャネルを確立することに関する。
モバイルコンピューティング及び携帯電話ネットワークの普及は、これまで以上にディジタルコンテンツをよりモバイルにしている。人々は、コンテンツを生成するために、コンテンツを消費するために、又は、コンテンツを生成若しくは消費する他のコンピューティングデバイスに対するインターネットアクセスを提供するためにさえも、自己のスマートフォンを使用することができる。多くの場合、装置のネットワークの場所は、人がモバイルコンピューティングデバイスを新たな物理的場所に対して持ち込むのにともない変更可能である。これは、装置の新たなネットワークの場所が知られていないとき、従来のコンピュータネットワーク(例えば、インターネット)のもとでこの装置と通信するのを困難とすることがある。
この問題を解決するために、コンテンツの物理的又はネットワークの場所にかかわらず、その名称に基づいてディジタルコンテンツにアクセスするのを容易とするためにコンテンツ中心ネットワーク(CCN)アーキテクチャが設計されている。典型的なCCNアーキテクチャは、インタレスト及びコンテンツオブジェクトという2つの種類のパケットを転送する。インタレストは、名称付きデータの一部についての名称を含む(及び名称付きデータの一部に対する要求として機能する)。一方、コンテンツオブジェクトは、通常、ペイロードを含み、一致する名称を有するインタレストが移動したネットワーク経路に沿って転送され、インタレストパケットによってとられる逆方向においてこの経路を移動する。
一部のコンテンツ制作者は、管理者装置がCCN上のコンテンツ制作者に代わってコンテンツをホストするのを可能とする。この管理者は、通常、管理者がコンテンツについての転送経路に沿っている場合に又は明示的にコンテンツ制作者からのコンテンツを要求することによってコンテンツを受信する。しかしながら、管理者がコンテンツのチャンクについてのインタレストを広めることによってCCNを介してコンテンツ制作者からデータストリームを取得する場合、管理者がコンテンツ制作者以外の装置からコンテンツを受信すること又はコンテンツの一部のチャンクを受信しないことが可能である。例えば、CCNアーキテクチャは、インタレストを満たすコンテンツオブジェクトを生成することができる場合に任意のCCNノードが通常のインタレストに対して応答するのを可能とすることから、悪意のあるエンティティがホスティングサービスに対するデータストリームに悪意のある又は誤ったデータを注入することが可能である。また、データのチャンクがライブデータストリーム(例えば、ストリーミングビデオ)に対応する場合、チャンクがネットワークエラーによって管理者に到達しなかった場合であっても、コンテンツ製作者が管理者に送信されたデータのチャンクを削除することが可能である。
1つの実施形態は、コンテンツ中心ネットワーク(CCN)を介したホスティングサービスとのコンテンツ交換セッションを確立することができるクライアント装置を提供する。動作中、クライアント装置は、ホスティングサービスとの制御チャネルを初期化することができ、ホスティングサービスとの1つ以上の交換セッションを確立するためにこの制御チャネルを使用する。クライアント装置がホスティングサービスに対してコンテンツを送信する必要がある場合、クライアント装置は、ホスティングサービスに対してコンテンツを転送するための交換セッションを確立することができる。例えば、クライアント装置は、ホスティングサービスに対してコンテンツを送信するために使用される新たな交換セッションについての交換識別子(XID)を生成することができ、制御チャネルを介してホスティングサービスに対して交換初期化要求を送信する。交換初期化要求は、コンテンツと交換セッションについてのXIDに関連付けられている集合名を含む。そして、交換セッションを介してコンテンツのセグメントを要求するインタレストを受信することに応答して、クライアントは、そのペイロードがコンテンツの要求されたセグメントを含むコンテンツオブジェクトを返送することができる。
コンテンツ中心ネットワーク(CCN)において、コンテンツの各部は、個別に名称付けられ、データの各部は、同じデータの他のバージョン又は他のソースからのデータなどの任意の他のデータ部分からデータを区別する固有の名称に結合される。この固有の名称は、ネットワーク装置が固有の名称を示す要求又はインタレストを広めることによってデータを要求するのを可能とし、データの記憶場所、ネットワーク場所、アプリケーション及び伝送手段から独立したデータを取得することができる。以下の用語は、CCNアーキテクチャの要素について説明する。
コンテンツオブジェクト:固有の名称に結合されている名称付きデータの単一部分である。コンテンツオブジェクトは、コンテンツオブジェクトがコンピューティングデバイス内又は異なるコンピューティングデバイス間を移動することができるが変化しないことを意味する、「永続的」である。コンテンツオブジェクトの任意の要素が変化した場合、変更を行ったエンティティは、更新されたコンテンツを含む新たなコンテンツオブジェクトを作成し、新たな固有の名称に新たなコンテンツオブジェクトを結合する。
固有の名称:CCN内の名称は、通常、場所とは無関係であり、コンテンツオブジェクトを固有に識別する。データ転送装置は、コンテンツオブジェクトについてのネットワークアドレス又は物理的場所にかかわらず、コンテンツオブジェクトを生成又は記憶するネットワークノードに向けてインタレストパケットを転送するために名称又は名称接頭辞を使用することができる。いくつかの実施形態において、名称は、階層的に構造化された可変長識別子(HSVLI)とすることができる。HSVLIは、様々な方法で構築可能ないくつかの階層的な要素に分割されることができる。例えば、個々の名称要素parc、home、ccn及びtest.txtは、名称「/parc/home/ccn/test.txt」を形成するために左指向の接頭辞が主要である方法で構築可能である。それゆえに、名称「/parc/home/ccn」は、「/parc/home/ccn/test.txt」の「親」又は「接頭辞」とすることができる。共同文書などの異なるバージョンのコンテンツアイテムを区別するためにさらなる要素が使用可能である。
いくつかの実施形態において、名称は、コンテンツオブジェクトのデータ(例えば、チェックサム値)から及び/又はコンテンツオブジェクトの名称要素から導出されたハッシュ値などの識別子を含むことができる。ハッシュベースの名称記述は、米国特許出願第13/847,814号(代理人整理番号PARC−20120537−US−NP、2013年3月20日に提出された発明者Ignacio Solisによる名称「ORDERED−ELEMENT NAMING FOR NAME−BASED PACKET FORWARDING」)に記載されている。名称はまた、フラットラベルとすることができる。以下では、「名称」は、階層名称若しくは名称接頭辞、フラット名称、固定長名称、任意長名称又はラベル(例えば、マルチプロトコルラベルスイッチング(MPLS)ラベル)など、名称データネットワークにおけるデータの一部用の任意の名称を指すのに使用される。
インタレスト:データの一部についての要求を示し且つデータの一部についての名称(又は名称接頭辞)を含むパケットである。データ消費者は、CCNルータが、要求やインタレストを満たすために要求されたデータを提供することができる記憶装置(例えば、キャッシュサーバ)又はデータ制作者に向けて伝播することができる情報中心ネットワークにわたって要求又はインタレストを広めることができる。
CCNアーキテクチャに基づいて説明されるが、本願明細書に開示された方法はまた、他の情報中心ネットワーク(ICN)アーキテクチャにも同様に適用可能である。CCNアーキテクチャの記述は、米国特許出願第12/338,175号(代理人整理番号PARC−20080626−US−NP、2008年12月18日に提出された発明者Van L.Jacobson及びDiana K.Smettersによる名称「CONTROLLING THE SPREAD OF INTERESTS AND CONTENT IN A CONTENT CENTRIC NETWORK」)に記載されている。
いくつかの実施形態において、コンテンツは、順次付番されたデータチャンクの集合を含み、集合名は、コンテンツについてのチャンク名を含む。
いくつかの実施形態において、クライアント装置は、ホスティングサービスに対して認証情報を提供する一方で、ホスティングサービスとの制御チャネルを初期化する。
いくつかの実施形態において、集合名は、コンテンツについてのマニフェスト名を含み、マニフェスト名は、コンテンツについてのマニフェストにおいて名称付けられたオブジェクトに基づいて導出される。
いくつかの実施形態において、ホスティングサービスに対して交換初期化要求を送信するとき、クライアント装置は、その名称が、ホスティングサービスの第1の名称接頭辞、制御チャネルについてのセッション識別子(SID)、コンテンツに関連する名称及びXIDを備える第2のインタレストメッセージを送信する。
いくつかの実施形態において、ホスティングサービスに対して交換初期化要求を送信するのに応答して、クライアント装置は、制御チャネルについてのXID及びセッション識別子(SID)を含む肯定応答(ACK)メッセージを受信することができる。
これらの実施形態に対するいくつかの変形例おいて、第2のインタレストメッセージ名は、コンテンツ名と、制御チャネルに関連付けられたセッション鍵を使用して暗号化されたXIDとを含む。
いくつかの実施形態において、クライアント装置は、ホスティングサービスに対して、交換セッションを識別するXIDを含むステータス要求メッセージを送信することができる。そして、クライアントは、交換セッションを介して受信した順序付けられたコンテンツオブジェクトのセットを肯定応答するための累積ACK名(CAN)を含むACKメッセージを受信する。CANは、その名称が最新のコンテンツオブジェクトの名称に一致して含む順序付けられたコンテンツオブジェクトのセットを肯定応答する順序付けられたコンテンツオブジェクトのセットにおいて最新のコンテンツオブジェクトについての名称を含む。
いくつかの実施形態において、クライアント装置は、ホスティングサービスに対して、ホスティングサービスによって要求されることができる次のオブジェクトを指定する次のメッセージを送信することができる。
いくつかの実施形態において、クライアント装置は、交換セッションを閉じることができる。交換セッションを閉じるために、クライアント装置は、XIDを含む交換閉鎖要求を含むインタレストを送信することができる。そして、交換閉鎖要求を肯定応答するコンテンツオブジェクトを受信することに応答して、クライアント装置は、交換セッションを閉じる。
1つの実施形態は、1つ以上のクライアント又はコンテンツ制作者からのコンテンツをホストするホスティングサービスを提供する。動作中、ホスティングサービスは、クライアント装置との制御チャネルを初期化することができ、クライアント装置に対して制御チャネルについてのセッション識別子(SID)を送信する。ホスティングサービスは、制御チャネルを介して、クライアント装置から交換初期化要求を受信することができる。交換初期化要求は、交換セッションについての交換識別子(XID)を含むことができ、クライアント装置から受信するためにコンテンツに関連付けられている集合名を含むことができる。ホスティングサービスは、交換セッションを介して、コンテンツのセグメントを要求するインタレストを送信することによってコンテンツのセグメントを受信することができる。そして、そのペイロードがコンテンツの要求されたセグメントを含むコンテンツオブジェクトを受信することに応答して、ホスティングサービスは、コンテンツに関連するコンテンツオブジェクトを記憶する。
いくつかの実施形態において、ホスティングサービスは、ホスティングサービス、SID、コンテンツに関連する名称及びXIDに関連付けられた第1の名称接頭辞を含む第2のインタレストメッセージにおける交換初期化要求を受信することができる。
いくつかの実施形態において、第2のインタレストメッセージは、コンテンツ名と、制御チャネルに関連付けられたセッション鍵を使用して暗号化されたXIDとを含む。
いくつかの実施形態において、クライアント装置から交換初期化要求を受信することに応答して、ホスティングサービスは、SID及びXIDを含む肯定応答(ACK)メッセージを送信する。
いくつかの実施形態において、ホスティングサービスは、SID及びXIDを含むステータス要求メッセージを受信することができる。ホスティングサービスは、交換セッションを介して受信した順序付けられたコンテンツオブジェクトのセットを肯定応答するための累積ACK名(CAN)を含むACKメッセージを返送することによってステータス要求メッセージに応答することができる。CANは、その名称が最新のコンテンツオブジェクトの名称に一致して含む順序付けられたコンテンツオブジェクトのセットを肯定応答する順序付けられたコンテンツオブジェクトのセットにおいて最新のコンテンツオブジェクトについての名称を含む。
いくつかの実施形態において、ホスティングサービスは、クライアント装置から、ホスティングサービスによって要求されることができる次のオブジェクトを指定する次のメッセージを受信することができる。
いくつかの実施形態において、ホスティングサービスは、SID及びXIDを含む交換閉鎖要求を含む第2のインタレストメッセージを受信することができる。そして、交換閉鎖要求を肯定応答するコンテンツオブジェクトを返送した後、ホスティングサービスは、交換セッションを閉じる。
図1は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的なコンピューティング環境を図示している。 図2は、実施形態にかかるクライアントとホスティングサービスとの間の例示的な通信を図示している。 図3は、実施形態にかかるホスティングサービスとの交換セッションを確立する方法を図示するフローチャートである。 図4は、実施形態にかかるホスティングサービスとの交換セッションを管理する方法を図示するフローチャートである。 図5は、実施形態にかかるクライアントとの交換セッションを確立する方法を図示するフローチャートである。 図6は、実施形態にかかるクライアントとの交換セッションを管理する方法を図示するフローチャートである。 図7は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的な装置を図示している。 図8は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的なコンピュータシステムを図示している。
図面において、同様の参照符号は、同一の図要素を指す。
以下の説明は、当業者が実施形態を作成して使用するのを可能とするために提示され、特定の用途及びその要件の文脈において提供される。開示された実施形態に対する様々な変更は、当業者にとって容易に明らかであり、本願明細書において定義される一般的な原理は、本開示の精神及び範囲から逸脱することなく他の実施形態及び用途に適用することができる。それゆえに、本発明は、示された実施形態に限定されるものではなく、本願明細書に開示された原理及び特徴と一致する最も広い範囲を与えられるべきである。
本発明の実施形態は、ホスティングサービスに対するパイプラインフローの信頼性のあるコンテンツ交換(RCX)を実装することにより、ホスティングサービスに対するセキュアなデータ転送を確保するという問題を解決するコンテンツ交換システムを提供する。RCXは、クライアントが、CCNを介して、ホスティングサービスとの1つ以上の交換セッションを確立し、各交換セッションにわたるホスティングサービスに対するデータのフローを制御するのを可能とする。
RCXプロトコルは、クライアントがスライディングデータウィンドウを管理するために使用するクライアントとサービスプロバイダとの間の制御チャネルを含む。例えば、クライアントは、CCNにわたってクライアントとホスティングサービスとの間の交換セッションを開始又は閉じるように制御チャネルを使用することができる。クライアントはまた、交換セッションを介してクライアントからコンテンツをプルするためにホスティングサービスを依頼し、その転送を保証するためにコンテンツのウィンドウ検索を管理するためにRCX制御チャネルを使用する。
いくつかの実施形態において、RCXプロトコルは、ChunkedName及びManifestNameという2種類の転送をサポートしている。ChunkedName転送において、コンテンツは、チャンクされたユーザデータを使用して交換チャネルを介して転送されることができる。チャンクされたユーザデータは、チャンクプロトコルに準拠し、コンテンツの大部分は、「チャンク」の集合に分割され、コンテンツのベース名(例えば、「/foo/bar/slides.pdf」)は、名称を形成するためにシリーズの各チャンクについて拡張され、名称における終端要素は、チャンク番号を示す。例えば、チャンク名「/foo/bar/slides.pdf/c5」は、名称を指定する終端名称要素「c5」を含み、シリーズの5番目のチャンクについてのものである。クライアントは、各チャンクについてのコンテンツオブジェクトを生成することができ、コンテンツオブジェクトに対応するチャンク名を割り当てる。そして、クライアントは、制御チャネルを介してホスティングサービスに対してチャンクされたコンテンツオブジェクトのセットのベース名を提供し、ホスティングサービスは、交換セッションを介してインタレストのパイプラインを広めることによってこれらのチャンクされたコンテンツオブジェクトを要求する。
マニフェストアプローチにおいて、「マニフェスト」と称されるチャンクされたオブジェクトは、転送対象の構成コンテンツオブジェクトを一覧表示し、それらのコンテンツオブジェクトハッシュ(COH)を含む。いくつかの実施形態において、マニフェストに一覧表示されているチャンクについてのCOH値は、個々のチャンクの改竄を防ぐためにハッシュチェーンされることができる。クライアントは、制御チャネルを介してホスティングサービスに対してマニフェストのためにチャンク名を提供することができる。ホスティングサービスは、交換セッションを介してクライアントからマニフェストを受信するためにマニフェストのチャンク名を使用し、要求する必要があるチャンクコンテンツオブジェクトを決定するためにマニフェストを読み取る。そして、ホスティングサービスは、交換セッションを介してインタレストのパイプラインを広めることによってこれらのチャンクコンテンツオブジェクトを要求する。マニフェストの記述は、米国特許出願第14/337,026号(代理人整理番号PARC−20140480US01、2014年7月21日に提出された発明者Marc E.Moskoによる名称「System for Distributing Nameless Objects using Self−Certifying Names」)に記載されている。
いくつかの実施形態において、RCXプロトコルは、ホスティングサービスによって受信された最後のコンテンツオブジェクトを示すために、累積ACK名(CAN)を使用して交換セッションのスライディングウィンドウを管理する。より具体的には、CANは、ホスティングサービスによって受信された最大の次の名称を示し、転送されるオブジェクトの自然な順序にしたがう。この「最大の次の名称」は、ホスティングサービスがCANによって指定されたコンテンツオブジェクトに一致して含むシーケンスにおいてコンテンツオブジェクトを受信したことを示している。CCN名称が明確に定義された最小値(空名称)を有するが、シーケンス番号を使用してチャンクストリームの特別な場合を除いて「次」の名称を明確に定義していないため、CAN命名ストラテジーは有益である。したがって、転送が開始したとき、最初のCANは、長さゼロの空名称を含むことができる。この長さゼロの空名称は、交換セッションを介して転送される任意のコンテンツオブジェクトを指定していないことから、それは交換セッションを介して潜在的に転送されることができる任意のチャンクについての名称と競合していない。この長さゼロの空名称は、以下では「空」と称するものとする。
ChunkedName転送の場合、CANは、チャンク番号の順序にしたがう。ManifestName転送の場合、CANは、マニフェストコンテンツオブジェクトに一覧表示されているコンテンツオブジェクトの自然な順序に由来する。いくつかの実施形態において、マニフェストコンテンツオブジェクト(以下、マニフェストチャンクとも称される)は、それ自体が他のマニフェストコンテンツオブジェクトを参照することができる。コンテンツオブジェクトの自然な順序は、マニフェスト階層を横断することによって決定されることができる。この順序は、順序におけるコンテンツオブジェクトチャンクが続く第1のマニフェストチャンク(例えば、ルートマニフェスト)によって始まるように定義されており、それらは、次のマニフェストチャンク及びその一覧表示されたコンテンツオブジェクトなどが続く第1のマニフェストチャンクに一覧表示される。
ホスティングサービスがマニフェストチャンクなどのシーケンスのうちのチャンクを要求するか又は受信することが可能である。しかしながら、累積ACK名を報告する目的のために、RCXプロトコルは、集合における全てのコンテンツオブジェクトに関する明確な順序を強いる。
図1は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的なコンピューティング環境100を図示している。コンピューティング環境100は、クライアント104、ホスティングサービス108、並びに、それらの名称又は名称接頭辞に基づいてインタレスト及びコンテンツオブジェクトを転送することができる複数のCCNノード(例えば、ルータ及びメンバーコンピュータノード)を含むコンテンツ中心ネットワーク(CCN)102を含むことができる。
クライアント104は、スマートフォン104.1、タブレットコンピュータ104.2及び/又はサーバ若しくはパーソナルコンピュータ104.mなどのCCN102に結合された任意のコンピューティングデバイスを含むことができる。動作中、ユーザ106は、ホスティングサービス108との1つ以上の交換セッションを確立し、交換セッションを介してホスティングサービス108に対してコンテンツを公開するためにクライアント104を使用することができる。クライアント104は、ホスティングサービス108とのRCXセッションを確立するためにセッション初期化メッセージを送信することができ、ホスティングサービス108とのセキュアな交換セッションを確立する開始メッセージ(例えば、交換初期化要求)を送信するためにRCXセッションの制御チャネルを使用する。この開始メッセージは、ホスティングサービス108によって取得されてホストされることになるコンテンツを命名する。
いくつかの実施形態において、クライアント104は、公開されることになる次のチャンクの名称を示す次のメッセージを送信することによってホスティングサービス108との交換セッションについてのその送信ウィンドウを管理する。例えば、クライアント104がライブデータフィードを公開している場合、クライアント104は、それがより多くのコンテンツを公開するように、次のメッセージを発行し続けることができる。ChunkedName転送の場合、次のメッセージは、ストリーム内の次のコンテンツオブジェクトの名称を含む。ManifestName転送の場合、次のメッセージは、公開されることになるマニフェストの次のチャンクについての名称を含む。
ホスティングサービス108は、CCN102にわたってコンテンツをホストする分散サーバ110のセットを含むことができる。例えば、サーバ110は、様々なコンテンツ制作者によって公開されたコンテンツを記憶する記憶装置112を含むことができるか又はそれに結合されることができる。例えば、クライアント104がホスティングサービス108との交換セッションを確立すると、1つ以上のサーバ110が、交換セッションを介して公開されたコンテンツオブジェクトについてのインタレストを広めることができる。交換セッションは、サーバ110がクライアント104によって公開されたコンテンツオブジェクトを受信することを保証し、他の(おそらく悪意のある)エンティティによって公開された同じ名称の他のコンテンツオブジェクトを受信しないクライアント104とホスティングサービス108との間のセキュアな接続である。ホスティングサービス108は、CCN交換セッションを介して発信する保留インタレストの数を制御することにより、その受信ウィンドウを管理することができる。例えば、ホスティングサービス108は、CCN102にわたって現在のネットワーク状態に応じて受信ウィンドウのサイズを増減させることができる。
いくつかの実施形態において、ホスティングサービス108は、その後、クライアント104に代わってCCN102を介してこれらの公開されたコンテンツオブジェクトをアクセス可能とすることができる。例えば、ホスティングサービス108のサーバ110が公開されたコンテンツオブジェクトについてのインタレストを受信したとき、ホスティングサービス108は、コンテンツオブジェクトの名称及び/又はハッシュ値に基づいてインタレストを満たすコンテンツオブジェクトを返送することができる。
図2は、実施形態にかかるクライアント202とホスティングサービス204との間の例示的な通信200を図示している。動作中、クライアント202及びホスティングサービス204は、双方向認証を行うことによってセキュアな制御チャネルを確立することができる。クライアント202は、記憶装置204に対してセッション初期化メッセージ212を送信することができ、記憶装置204は、クライアント202を認証するために使用する。同様に、ホスティングサービス204は、クライアント202がホスティングサービス204を認証するために使用することができるセッション応答メッセージ214を返送することができる。双方向認証が成功した場合、クライアント202及びホスティングサービス204は、セッション識別子(SID)及び必要に応じてセッション鍵(SK)を有するセキュアな制御チャネルを確立している。
クライアント202は、ホスティングサービスが対応するデータ集合を取得するために各交換セッションを使用することができるように、ホスティングサービスとの1つ以上の交換セッションを開始するために制御チャネルを使用することができる。各交換セッションは、名称付けられたコンテンツを取得するためにホスティングサービス204についての特定の要求である。名称付けられたコンテンツは、標準的なチャンクプロトコルに準拠したChunkedNamedコンテンツオブジェクトのシーケンスに分割されることができる。あるいは、名称付けられたコンテンツは、それらのハッシュ値を含む、取得するためにコンテンツオブジェクトについての正確な名称を識別するマニフェスト(例えば、コンテンツオブジェクトのセキュアなカタログ)であってもよい。
クライアント202は、ホスティングサービスに対して「開始」メッセージ216(例えば、交換初期化要求)を送信し且つ「開始肯定応答」メッセージ218を受信することにより、ホスティングサービスとの交換セッションを確立するために転送認証処理を実行することができる。開始216は、SID、クライアント生成交換識別子(XID)、クライアント202が公開して交換セッションを介して転送されることができるデータ集合についての名称を含む。開始216はまた、ホスティングサービス204が交換セッションを介して送信するインタレストメッセージに含まれることになる鍵識別子(KeyID)を含むことができる。開始肯定応答218は、SID及びXIDを含む。
いくつかの実施形態において、公開されたデータ集合についての名称は、例えば、集合についてのチャンク名又は集合のマニフェストについての名称を含むことができる。ホスティングサービス204は、クライアント202が集合において公開した個々のコンテンツオブジェクトについての名称を導出するか又は判定するために集合の名称を使用することができる。公開されたコンテンツオブジェクトのこの集合は、ホスティングサービス204が交換セッションを介して取得することができる「データウィンドウ」を形成する。
交換セッションがCCNを介して実装されていることを思い出されたい。少なくとも1つの交換セッションが開始されると、ホスティングサービス204は、セキュアな交換セッションを介してインタレスト224を広め且つセキュアな交換セッションを介して対応するコンテンツオブジェクト224を受信することにより、公開されたコンテンツオブジェクトを取得することができる。ホスティングサービス204は、インタレストを発信する速度を制御することにより、保留インタレストの「受信ウィンドウ」を管理することができる。ホスティングサービス204が公開されたデータ集合のセグメントについてのインタレストを広めるたびに、このセグメントは、受信ウィンドウに追加される。また、ホスティングサービス204がインタレストを満たすコンテンツオブジェクトを受信するたびに、ホスティングサービス204は、受信ウィンドウから対応するデータセグメントを削除する。
いくつかの実施形態において、クライアント202は、ホスティングサービス204から所定の交換セッションについてのステータスレポートを要求するために制御チャネルを使用することができる。ステータスレポートを要求するために、クライアント202は、SID、交換セッションについてのXID及びステータスメッセージについてのシーケンス番号識別子(SeqNum)を含むステータスメッセージを送信することができる。ホスティングサービスは、SID、XID、対応するステータスメッセージについてのSeqNum、及び、ホスティングサービス204が集合から受信した最新のコンテンツオブジェクトについてのCAN名を含むステータスACKメッセージを返送する。
例えば、クライアント202がホスティングサービス204に対して送信する第1のステータスメッセージ(例えば、ステータス220)は、「1」のSeqNum値を有することができ、クライアント202がホスティングサービス204に対して送信する第2のステータスメッセージ(例えば、ステータス228)は、「2」の値を有することができる。また、ホスティングサービス204が交換セッションを介してコンテンツオブジェクトを受信する前にクライアント202がホスティングサービス204に対してステータスメッセージ220を送信する場合、ホスティングサービス204は、ホスティングサービス204が空名称(例えば、何もない)に一致して含むコンテンツオブジェクトを受信したことを意味するCANが「空」であるステータスACK222を返送する。一方、ホスティングサービス204が完全なデータ集合をダウンロードした後にクライアント202がステータスメッセージ228を送信する場合、ホスティングサービスは、ホスティングサービス204が集合における最後のコンテンツオブジェクトに一致して含むコンテンツオブジェクトを受信したことを意味するCANがデータ集合における最後のコンテンツオブジェクトであるステータスACK230を返送する。
クライアント202が(例えば、ステータスACK230のCANに基づいて)交換セッションを介して公開したコンテンツをホスティングサービス204が受信したとクライアント202が判定すると、クライアント202は、その後、交換セッションを閉じることができる。クライアント202は、閉鎖メッセージ232が制御チャネルについてのSID及び閉じられる交換セッションについてのXIDを含むように、ホスティングサービス204に対して閉鎖メッセージ232を送信するために制御チャネルを使用することによって交換セッションを閉じることができる。ホスティングサービスは、交換セッションがSID及びXIDも含む閉鎖ACKメッセージ234を返送することによって閉じられたことを肯定応答する。
いくつかの実施形態において、制御チャネルは、CCNを介して実装されることができる。例えば、クライアント202は、以下のインタレストを広めることによってCCNを介して開始メッセージ216を広めることができる。
/provider/SID/E_sk({XID,Name,[KeyId|Hash],START}) (1)
インタレスト(1)において、接頭辞「/provider」は、ホスティングサービスに関連付けられたルーティング可能な接頭辞及びホスティングサービスの名称を含む。次の名称要素「SID」は、セッション鍵(SK)に関連付けられたセッションを識別する。次の要素「E_sk()」は、必要に応じてセッション鍵SKによって暗号化されたマーシャリングデータ構造を含む。いくつかの例示的な実装は、例えば、Type−Length−Value(TLV)バイナリフォーマット、外部データ表現(XDR)フォーマット又は現在知られている若しくは今後開発される任意の他の転送符号化フォーマットを使用することができる。
マーシャリングデータ構造は、交換セッションについてのXID、転送するためのデータ集合についての名称及び開始キーワードを含む。XIDは、クライアント202によって生成され、ランダムに生成された番号などの任意の固有の番号とすることができる。名称要素は、データ集合についてのChunkedName又はManifestNameを指定する。開始キーワードは、インタレストが交換セッションを開始するための要求を含むことを示す。
いくつかの実施形態において、ChunkedNameは、標準的なチャンクプロトコルに準拠している。ChunkedNameがチャンク番号なしのベース名(例えば、「/foo/bar」)である場合、ホスティングサービス204は、集合(例えば、「/foo/bar/c0」・・・「/foo/bar/c99」)における全てのチャンクを含むデータウィンドウによってパイプラインを開く。ChunkedNameが単一のチャンク名(例えば、「/foo/bar/c33」)に対応する場合、ホスティングサービス204は、指定されたチャンクを含むデータウィンドウによってパイプラインを開く。
いくつかの実施形態において、ManifestNameは、転送するためにコンテンツオブジェクトの集合を列挙するセキュアなカタログを識別する。ManifestNameは、チャンクプロトコルに準拠している。例えば、ホスティングサービス204は、マニフェストによって識別された全てのコンテンツオブジェクトを含むデータウィンドウによってパイプラインを開くことによってチャンク番号がないマニフェストの名称を処理する(例えば、「/foo/bar/M0」)。しかしながら、マニフェストの名称にチャンク番号が続く場合(例えば、「/foo/bar/M0/I0」)、ホスティングサービス204は、マニフェスト「M0」、項目「0」によって識別されたコンテンツオブジェクトを含むデータウィンドウによってパイプラインを開く。
いくつかの実施形態において、開始メッセージ220は、ホスティングサービス204が交換セッションを介して広めるインタレストに含むように任意のKeyID制限及び/又はハッシュ制限を含むことができる。それらのKeyIDは、ターゲットCCNコンテンツ制作者(例えば、クライアント202)に関連付けられた鍵識別子を指定し、ハッシュ制限は、コンテンツオブジェクトについてのハッシュ値(例えば、単一チャンク)を指定する。ホスティングサービス204がインタレストにKeyId制限を含むとき、他のCCNノードは、KeyIDに関連付けられたターゲットCCNコンテンツ制作者に向けてインタレストを転送する。同様に、ホスティングサービス204がインタレストにハッシュ制限を含むとき、ターゲット制作者は、そのハッシュ値がハッシュ制限に一致するコンテンツオブジェクトを返送する。
クライアント202は、以下のインタレストを広めることによってCCNを介してステータスメッセージ220を広めることができる。
/provider/SID/E_sk({XID,SeqNum,STATUS}) (2)
インタレスト(2)において、接頭辞「/provider」は、同様にホスティングサービス204に対応し、名称要素「SID」は、セッション鍵(SK)に関連付けられることができるクライアント202とホスティングサービス204との間のセッションを識別する。次の要素「E_sk()」は、必要に応じてセッション鍵SKによって暗号化されたマーシャリングデータ構造を含む。マーシャリングデータ構造のコンテンツは、交換セッションについての識別子(XID)、ステータスメッセージを識別するシーケンス番号(SeqNum)及びホスティングサービス204からのステータスの要求を示すステータスキーワードを含む。
クライアント202は、以下のインタレストを広めることによってCCNを介して閉鎖メッセージ232を広めることができる。
/provider/SID/E_sk({XID,CLOSE}) (3)
インタレスト(3)において、接頭辞「/provider」は、同様にホスティングサービス204に対応し、名称要素「SID」は、クライアント202とホスティングサービス204との間のセッションを識別する。次の要素「E_sk()」は、(必要に応じてセッション鍵SKによって暗号化された)マーシャリングデータ構造を含み、そのコンテンツは、XID識別子、識別子XIDに関連付けられた交換セッションを閉じるようにホスティングサービス204に命令する閉鎖キーワードを含む。
いくつかの実施形態において、クライアント202又はホスティングサービス204は、交換セッションを中止するためにCCNを介して以下の中止メッセージを広めることができる。
/target/SID/E_sk({XID,ABORT}) (4)
インタレスト(4)において、中止キーワードは、識別子XIDに関連付けられている交換セッションが終了した受信者「/target」(例えば、クライアント202又はホスティングサービス204)であることを通知する。
図3は、実施形態にかかるホスティングサービスとの交換セッションを確立する方法300を図示するフローチャートである。動作中、クライアントは、ホスティングサービスと識別及び/又は認証情報を交換することにより、ホスティングサービスとの制御チャネルを最初に確立することができる。制御チャネルは、IPベースのネットワーク又はコンテンツ中心ネットワーク(CCN)などの現在知られている又は今後開発される任意のコンピュータネットワークを介して存在することができる。クライアントは、1つ以上の交換セッションを開始するために且つ交換セッションについてのウィンドウを制御するために制御チャネルを使用することができる。
制御チャネルを確立するために、クライアントは、クライアントを識別するセッション初期化メッセージを生成することができ(動作302)、ホスティングサービスに対してセッション初期化メッセージを送信する(動作304)。セッション初期化メッセージは、暗号化鍵を介して(例えば、ディジタル証明書を介して)身元を提供することにより、又は、認証信任状(例えば、ユーザ名及びパスワード)を提供することなどにより、クライアントを識別する任意の情報を含むことができる。
ホスティングサービスがクライアントを成功裏に認証又は許可した場合、クライアントは、ホスティングサービスからセッション応答メッセージを受信する(動作306)。セッション応答メッセージは、クライアントとホスティングサービスとの間の交換セッションを識別するセッション識別子(SID)を含むことができ、いくつかの実施形態において、交換セッションについてのセッション鍵(SK)を含むこともできる。いくつかの実施形態において、ホスティングサービスは、クライアントに対してセッション鍵をセキュアに転送することができ、鍵回転プロトコルを介してセキュアなセッション鍵を維持することができる。クライアント及びホスティングサービスは、制御チャネルを介して送信される名称におけるユーザデータ及びパケットのペイロードを暗号化するためにセッション鍵を使用することができる。
クライアントは、ホスティングサービスを認証するためにセッション応答メッセージを使用し(動作308)、認証が成功したかどうかを判定する(動作310)。認証が成功しなかった場合、クライアントは、是正措置を実行することができる。しかしながら、クライアントがホスティングサービスを認証する場合、制御チャネルが確立され、クライアントは、1つ以上の交換セッションを確立して管理するために制御チャネルを使用することができる。例えば、クライアントは、制御チャネルを介してホスティングサービスに対して「開始」メッセージを送信することによってセキュアな交換セッションを確立することができる(動作312)。開始メッセージは、セッション識別子、交換セッションについての交換識別子(XID)、ホスティングサービスによって記憶されるデータ集合についての名称を含むことができる。開始メッセージはまた、CCNベースの交換セッションを介してデータ集合のセグメントを要求するとき、ホスティングサービスがそのインタレストメッセージに含むことができる鍵ID制限を含むことができる。
ホスティングサービスがデータ集合を記憶することができる場合、ホスティングサービスは、制御チャネルを介して開始肯定応答(開始ACK)メッセージを返送する。したがって、クライアントがホスティングサービスから開始ACKメッセージを受信すると(動作314)、クライアントは、セキュアな交換セッションを介してホスティングサービスに対してデータ集合のデータセグメントを転送するために進む(動作316)。具体的には、クライアントは、セキュアな交換セッションを介してデータ集合のセグメントについてのCCNインタレストメッセージを受信することができ、対応するデータセグメントを含むコンテンツオブジェクトを返送するためにこれらのインタレストメッセージを処理する。典型的なCCNネットワークにおいて、インタレストを受信するネットワークノードは、インタレストが到来した場所を典型的には知らない。しかしながら、CCNパケットを転送するためにセキュアな交換セッションを使用する場合、認証されたホスティングサービスに関連付けられたネットワークノードのみが、クライアントによってホストされたデータ集合についての有効なインタレストを広めることができる。クライアントは、セキュアな交換セッションを介して送信されなかったデータ収集についての任意のインタレストを無視することができる。
交換セッションのデータウィンドウは、ホスティングサービスがクライアントから要求することができる公開されたコンテンツオブジェクトの集合を含むことを思い出されたい。いくつかの実施形態において、クライアントは、交換セッションがアクティブな間、交換セッションのデータウィンドウを調整することができる。これは、クライアントがライブメディアストリームなどのデータ集合にセグメントを追加し、集合における新たなデータセグメントをホスティングサービスに通知するのを可能とする。
図4は、実施形態にかかるホスティングサービスとの交換セッションを管理する方法400を図示するフローチャートである。動作中、クライアントは、制御チャネルを介してホスティングサービスに対して「ステータス」要求メッセージを送信することができる(動作402)。ステータス要求メッセージは、交換セッションを識別するためにセッションID及びXIDを含むことができ、他のステータス要求メッセージからこのステータス要求メッセージを区別するステータスシーケンス番号(SeqNum)を含むことができる。
クライアントが制御チャネルを介してホスティングサービスからステータスACKを受信したとき(動作404)、クライアントは、SeqNumを使用してステータスACKをステータス要求メッセージに対して照合することができ、ホスティングサービスにおけるデータ転送のステータスを判定するためにステータスACKを分析する(動作406)。そして、クライアントは、交換セッションの転送が終了したかどうかを判定する(動作408)。
転送が終了していない場合、クライアントは、転送されることになる次のセグメントを含むようにデータウィンドウを調整することができ(動作410)、制御チャネルを介してホスティングサービスに対して「次の」メッセージを送信する(動作412)。この次のメッセージは、次のデータウィンドウを指定し、次のメッセージについてのSID、XID、(もしあれば)KeyID及びSeqNumを含む。いくつかの実施形態において、次のメッセージは、公開されることになる次のチャンクオブジェクト(例えば、データ集合におけるコンテンツオブジェクト)についての名称を含むことにより、又は、公開されることになる次のマニフェストの名称を含むことにより、次のデータウィンドウを指定する。例えば、ChunkedName転送の場合、次のメッセージは、ストリームにおける次のチャンクの名称を含む。ManifestName転送の場合、次のメッセージは、マニフェストに(又はマニフェスト階層の任意のマニフェストに)一覧表示された次のチャンクについての名称を含む。
クライアントは、以下のインタレストを広めることによってCCNを介して次のメッセージを広めることができる。
/provider/SID/E_sk({XID,SeqNum,NextName,NEXT}) (5)
インタレスト(5)において、接頭辞「/provider」は、ホスティングサービスに関連付けられたルーティング可能な接頭辞及びホスティングサービスの名称を含む。名称要素「SID」は、セッション鍵(SK)に関連付けられることができるクライアントとホスティングサービスとの間のセッションを識別する。次の要素「E_sk()」は、必要に応じてセッション鍵SKによって暗号化されたマーシャリングデータ構造を含む。マーシャリングデータ構造のコンテンツは、交換セッションについての識別子(XID)、ステータスメッセージを識別するシーケンス番号(SeqNum)及びデータウィンドウに対する更新を含むインタレストを示す次のキーワードを含む。マーシャリングデータ構造はまた、クライアントが交換セッションを介して公開している追加のセグメントについてのMarshalledName又はManifestNameとすることができる「NextName」要素を含む。
ホスティングサービスが次のデータウィンドウによって公開された追加データを記憶することができる場合、クライアントは、ホスティングサービスから次のデータウィンドウを肯定応答する「次のACK」メッセージを受信する。一方、交換セッションの転送が終了した場合、クライアントは、SID及びXIDを含む「閉鎖」メッセージを生成することができ、交換セッションを閉じるために制御チャネルを介してホスティングサービスに対して閉鎖メッセージを送信する(動作416)。ホスティングサービスは、SID及びXIDを含む「閉鎖ACK」メッセージを返送することによって交換セッションの閉鎖を肯定応答する。クライアントが制御チャネルを介してホスティングサービスから閉鎖ACKメッセージを受信すると(動作418)、クライアントは、交換セッションを閉じる(動作420)。
クライアント及びホスティングサービスがSIDに関連付けられた複数のアクティブ交換セッションを有することが可能であることを思い出されたい。いくつかの実施形態において、クライアントが1つの交換セッションを閉じるとき、ホスティングサービスは、他のアクティブ交換セッションを介して追加データセグメントを取得するためにインタレストを発信し続けることができる。
図5は、実施形態にかかるクライアントとの交換セッションを確立する方法500を図示するフローチャートである。動作中、ホスティングサービスは、クライアントから、クライアントを識別するセッション初期化メッセージを受信することができ(動作502)、クライアントを認証するためにクライアントの識別情報を使用する(動作504)。そして、ホスティングサービスは、認証が成功したかどうかを判定する(動作506)。認証が成功しなかった場合、ホスティングサービスは、セッション応答メッセージを返送しないことによって制御チャネルの確立を回避することができ、認証されなかったクライアントからのメッセージを無視する(動作508)。
一方、ホスティングサービスがクライアントを成功裏に認証した場合、ホスティングサービスは、制御チャネルの確立を完了するためにクライアントに対してセッション応答メッセージを送信する(動作510)。このセッション応答メッセージは、制御チャネルについてのセッション識別子(SID)及びセッション鍵(SK)を含む。そして、ホスティングサービスは、制御チャネルを介してクライアントから開始メッセージを受信することができる(動作512)。開始メッセージは、SID、交換セッションについての交換識別子(XID)及びホスティングサービスによって記憶されることになるデータ集合についての名称を含むことができる。開始メッセージはまた、CCNベースの交換セッションを介してデータ集合のセグメントを要求したときにホスティングサービスがそのインタレストメッセージを含むことができるKeyID制限を含むことができる。
そして、ホスティングサービスは、交換セッションを確認するために制御チャネルを介してクライアントに対して開始ACKメッセージを送信する(動作514)。そして、ホスティングサービスは、セキュアな交換セッションを介してクライアントからデータ集合のセグメントを取得するために進む(動作516)。交換セッションは、CCNを介して実現されることを思い出されたい。したがって、ホスティングサービスは、交換セッションのデータウィンドウ内のデータセグメントについてのインタレストを広めることによってデータ集合を取得することができる。ホスティングサービスは、ターゲット最大サイズ内又はその受信ウィンドウの範囲内にとどまるように保留インタレストの数を制限することによってその受信ウィンドウのサイズを制御することができる。
図6は、実施形態にかかるクライアントとの交換セッションを管理する方法600を図示するフローチャートである。動作中、ホスティングサービスは、交換セッションについてのデータウィンドウを判定することができる(動作602)。このデータウィンドウは、クライアントが公開し且つホスティングサービスがクライアントから要求することができるコンテンツオブジェクトの集合を含むことができる。ホスティングサービスは、チャンク名として又はマニフェスト名としてクライアントからデータウィンドウを追加するためにコンテンツオブジェクトについての名称を受信することができる。
ホスティングサービスは、クライアントから要求するためにデータウィンドウにおけるコンテンツオブジェクトのセットを判定し(動作604)、コンテンツオブジェクトのセットについてのインタレストのセットを生成する(動作606)。そして、ホスティングサービスは、コンテンツオブジェクトのセットを取得するためにセキュアな交換セッションを介してインタレストのセットを広める(動作608)。いくつかの実施形態において、ホスティングサービスは、インタレストを広める速度を制御することによってその受信ウィンドウを管理することができる。ホスティングサービスの受信ウィンドウは、ホスティングサービスがコンテンツオブジェクトを待機している保留インタレストのセットに対応している。ホスティングサービスは、交換セッションを介してこのコンテンツオブジェクトについてのインタレストを広めるときに、受信ウィンドウに対してコンテンツオブジェクトを追加し、コンテンツオブジェクトを受信すると受信ウィンドウからコンテンツオブジェクトを除去する。
クライアントは、制御チャネルを介してホスティングサービスに対してメッセージを送信することによって交換セッションを管理することができることを思い出されたい。クライアントは、例えば、ホスティングサービスが成功裏に受信したコンテンツオブジェクトを判定するために「ステータス」メッセージを、データウィンドウに対してコンテンツオブジェクトを追加するために「次の」メッセージを、及び、交換セッションを閉じるために「閉鎖」メッセージを送信することができる。
ホスティングサービスが制御チャネルを介してクライアントからメッセージを受信したとき(動作610)、ホスティングサービスは、メッセージについての種類を判定する(動作612)。メッセージが「次の」メッセージである場合、ホスティングサービスは、データウィンドウに対して追加するためにコンテンツオブジェクトの集合を判定するために次のメッセージを分析することができる(動作614)。次のメッセージは、ホスティングサービスによって記憶されることになるデータ集合についてのSID、XID、SeqNum及び名称を含むことができる。次のメッセージはまた、CCNベースの交換セッションを介してデータ集合のセグメントを要求したときにホスティングサービスがそのインタレストメッセージに含むことができるKeyID制限を含むことができる。ホスティングサービスは、新たなデータウィンドウにおいて指定されたコンテンツオブジェクト又はコンテンツオブジェクトの集合を含むようにローカルデータウィンドウを更新し(動作616)、クライアントに対して次のACKメッセージを送信する(動作618)。そして、ホスティングサービスは、更新されたデータウィンドウに基づいて追加のインタレストを広めるために動作604に戻る。次のACKメッセージは、次のメッセージからのSID、XID及びSeqNumを含むことができる。
メッセージが「ステータス」メッセージである場合、ホスティングサービスは、交換セッションのステータスを判定することができ(動作620)、受信されたデータ集合のコンテンツオブジェクトをカプセル化した累積ACK名(CAN)を含む「ステータスACK」メッセージを返送する(動作622)。クライアントからのステータスメッセージは、ステータスメッセージについてのSID、XID及びSeqNumを含むことができる。ステータスACKメッセージは、ステータスメッセージからのSID、XID及びSeqNumと、CANとを含むことができる。
メッセージが「閉鎖」メッセージである場合、ホスティングサービスは、閉鎖されている交換セッションを識別するために閉鎖メッセージからセッションID(SID)及び交換識別子(XID)を判定する(動作624)。そして、ホスティングサービスは、SID及びXIDを含む閉鎖ACKメッセージを返送し(動作626)、SID及びXIDに関連付けられた交換セッションを閉じる(動作628)。
図7は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的な装置700を図示している。装置700は、有線又は無線通信チャネルを介して互いに通信することができる複数のモジュールを備えることができる。装置700は、1つ以上の集積回路を使用して実現されることができ、図7に示されるものよりも少ないか又は多いモジュールを含むことができる。さらに、装置700は、コンピュータシステムに一体化されてもよく、又は、他のコンピュータシステム及び/又は装置と通信することができる別個の装置として実現されることができる。具体的には、装置700は、通信モジュール702と、制御チャネル確立モジュール704と、認証モジュール706と、交換セッション確立モジュール708と、インタレスト処理モジュール710と、パイプライン管理モジュール712とを備えることができる。
いくつかの実施形態において、通信モジュール702は、インターネットプロトコル(IP)ベースのネットワーク、コンテンツ中心ネットワーク(CCN)、情報中心ネットワーク(ICN)又は現在知られている若しくは今後開発される任意のネットワークアーキテクチャなどのコンピュータネットワークを介してデータを送信及び/又は受信することができる。制御チャネル確立モジュール704は、装置700の代わりにコンテンツをホストすることになるホスティングサービスとの制御チャネルを確立することができ、認証モジュール706は、ホスティングサービスを認証することができる。
交換セッション確立モジュール708は、ホスティングサービスに対してコンテンツを送信するために、ホスティングサービスとの交換セッションを確立するために制御チャネルを使用することができる。インタレスト処理モジュール710は、コンテンツのセグメントを要求するために交換セッションを介して受信したインタレストを処理することができ、要求されたコンテンツのセグメントを含むコンテンツオブジェクトを返送することができる。パイプライン管理モジュール712は、コンテンツのセグメントについてのデータウィンドウを調整することによってコンテンツのセグメントのパイプラインフローを管理することができる。
図8は、実施形態にかかるホスティングサービスに対するコンテンツのローディングを容易とする例示的なコンピュータシステム802を図示している。コンピュータシステム802は、プロセッサ804と、メモリ806と、記憶装置808とを含む。メモリ806は、管理メモリとして機能し且つ1つ以上のメモリプールを記憶するために使用可能な揮発性メモリ(例えば、RAM)を含むことができる。さらにまた、コンピュータシステム802は、ディスプレイ装置810、キーボード812及びポインティングデバイス814に結合されることができる。記憶装置808は、オペレーティングシステム816、コンテンツ交換システム818及びデータ832を記憶することができる。
コンテンツ交換システム818は、コンピュータシステム802によって実行されたとき、コンピュータシステム802に本開示に記載された方法及び/又はプロセスを実行させることができる命令を含むことができる。具体的には、コンテンツ交換システム818は、インターネットプロトコル(IP)ベースのネットワーク、コンテンツ中心ネットワーク(CCN)、情報中心ネットワーク(ICN)又は現在知られている若しくは今後開発される任意のネットワークアーキテクチャなどのコンピュータネットワークを介してデータを送信及び/又は受信するための命令を含むことができる(通信モジュール820)。さらに、コンテンツ交換システム818は、コンピュータシステム802の代わりにコンテンツをホストすることになるホスティングサービスとの制御チャネルを確立するための命令を含むことができ(制御チャネル確立モジュール822)、ホスティングサービスを認証するための命令を含むことができる(認証モジュール824)。
コンテンツ交換システム818はまた、ホスティングサービスとの交換セッションを確立し、ホスティングサービスに対してコンテンツを送信するために制御チャネルを使用するための命令を含むことができる(交換セッション確立モジュール826)。コンテンツ交換システム818はまた、コンテンツのセグメントを要求するために交換セッションを介して受信したインタレストを処理し、要求されたコンテンツのセグメントを含むコンテンツオブジェクトを返送するための命令を含むことができる(インタレスト処理モジュール828)。コンテンツ交換システム818はまた、コンテンツのセグメントについてのデータウィンドウを調整することによってコンテンツのセグメントのパイプラインフローを管理するための命令を含むことができる(パイプライン管理モジュール830)。
データ826は、本開示に記載された方法及び/又はプロセスによって入力として必要とされるか又は出力として生成される任意のデータを含むことができる。具体的には、データ826は、公開するために少なくともデータの集合を記憶することができる。
この詳細な説明に記載されたデータ構造及びコードは、典型的には、コンピュータシステムによって使用するためのコード及び/又はデータを記憶することができる任意の装置又は媒体であり得るコンピュータ読み取り可能な記憶媒体に記憶される。コンピュータ読み取り可能な記憶媒体は、これらに限定されるものではないが、揮発性メモリ、不揮発性メモリ、ディスクドライブ、磁気テープ、CD(コンパクトディスク)、DVD(ディジタル多用途ディスク若しくはディジタルビデオディスク)などの磁気及び光記憶装置、又は、現在知られている若しくは今後開発されるコンピュータ読み取り可能な媒体を記憶することができる他の媒体を含む。
詳細な説明のセクションに記載された方法及びプロセスは、上述したようなコンピュータ読み取り可能な記憶媒体に記憶されることができるコード及び/又はデータとして具体化することができる。コンピュータシステムがコンピュータ読み取り可能な記憶媒体に記憶されたコード及び/又はデータを読み取って実行する場合、コンピュータシステムは、データ構造及びコードとして具現化されてコンピュータ読み取り可能な記憶媒体に記憶された方法及びプロセスを実行する。
さらにまた、上述した方法及びプロセスは、ハードウェアモジュールに含めることができる。例えば、ハードウェアモジュールは、これらに限定されるものではないが、特定用途向け集積回路(ASIC)チップ、フィールドプログラマブルゲートアレイ(FPGA)、及び、現在知られている若しくは今後開発される他のプログラマブル論理デバイスを含むことができる。ハードウェアモジュールが起動されると、ハードウェアモジュールは、ハードウェアモジュールの内部に含まれる方法及びプロセスを実行する。

Claims (10)

  1. コンテンツ中心ネットワーク(CCN)を介してコンテンツ交換セッションを確立するためのコンピュータ実装方法において、
    コンピューティングデバイスにより、ホスティングサービスとの制御チャネルを初期化することと、
    前記ホスティングサービスに対して送信するためにコンテンツを選択することと、
    前記選択されたコンテンツについての交換セッションについての交換識別子(XID)を生成することと、
    前記制御チャネルを介して、前記ホスティングサービスに対して交換初期化要求を送信することであり、前記交換初期化要求が前記交換セッションについての前記選択されたコンテンツ及び前記XIDに関連付けられた集合名を含む、送信することと、
    前記選択されたコンテンツのセグメントを要求するインタレストの受信に応答して、前記交換セッションを介して、そのペイロードが前記要求されたコンテンツのセグメントを含むコンテンツオブジェクトを返送することとを備える、方法。
  2. 前記ホスティングサービスとの制御チャネルを初期化することが、前記ホスティングサービスに対して認証情報を提供することを含む、請求項1に記載の方法。
  3. 前記コンテンツが順次付番されたデータチャンクの集合を含み、前記集合の名称が前記コンテンツについてのチャンク名を含む、請求項1に記載の方法。
  4. 前記集合の名称が前記コンテンツについてのマニフェスト名を含み、前記マニフェスト名が前記コンテンツについてのマニフェストにおいて名称付けられたオブジェクトに基づいて導出される、請求項1に記載の方法。
  5. 前記ホスティングサービスに対して前記交換初期化要求を送信することが、その名称が前記ホスティングサービスに関連付けられた第1の名称接頭辞、前記制御チャネルについてのセッション識別子(SID)、前記選択されたコンテンツに関連付けられた名称及び前記XIDを備える第2のインタレストメッセージを送信することを含む、請求項1に記載の方法。
  6. 前記ホスティングサービスに対して前記交換初期化要求を送信することに応答して、前記方法が、さらに、前記制御チャネルについての前記XID及びセッション識別子(SID)を含む肯定応答(ACK)メッセージを受信することを備える、請求項1に記載の方法。
  7. 前記第2のインタレストメッセージの名称が、前記制御チャネルに関連付けられたセッション鍵を使用して暗号化された前記コンテンツの名称及び前記XIDを含む、請求項6に記載の方法。
  8. さらに、
    前記ホスティングサービスに対して、前記交換セッションを識別する前記XIDを含むステータス要求メッセージを送信することと、
    前記交換セッションを介して受信した順序付けられたコンテンツオブジェクトのセットを肯定応答するために累積ACK名(CAN)を含むACKメッセージを受信することを備え、前記CANが前記順序付けられたコンテンツオブジェクトのセットにおける最新のコンテンツオブジェクトについての名称を含み、その名称が最新のコンテンツオブジェクトの名称に一致して含む前記順序付けられたコンテンツオブジェクトのセットを肯定応答する、請求項1に記載の方法。
  9. コンピュータによって実行されたとき、コンテンツ中心ネットワーク(CCN)を介してコンテンツ交換セッションを確立するための方法を前記コンピュータに実行させる命令を記憶する持続性コンピュータ読み取り可能な記憶媒体において、前記方法が、
    ホスティングサービスとの制御チャネルを初期化することと、
    前記ホスティングサービスに対して送信するためにコンテンツを選択することと、
    前記選択されたコンテンツについての交換セッションについての交換識別子(XID)を生成することと、
    前記制御チャネルを介して、前記ホスティングサービスに対して交換初期化要求を送信することであり、前記交換初期化要求が前記交換セッションについてのSID、前記選択されたコンテンツ及び前記XIDに関連付けられた集合名を含む、送信することと、
    前記選択されたコンテンツのセグメントを要求するインタレストの受信に応答して、前記交換セッションを介して、そのペイロードが前記要求されたコンテンツのセグメントを含むコンテンツオブジェクトを返送することとを備える、持続性コンピュータ読み取り可能な記憶媒体。
  10. ホスティングサービスについてのコンピューティングシステムにおいて、
    1つ以上のプロセッサと、
    メモリと、
    前記1つ以上のプロセッサに結合され、前記1つ以上のプロセッサによって実行されたとき、方法を前記コンピューティングシステムに実行させる記憶された命令を記憶するコンピュータ読み取り可能な媒体とを備え、前記方法が、
    クライアント装置に対して制御チャネルについてのセッション識別子(SID)を送信することを含む、前記クライアント装置との前記制御チャネルを初期化することと、
    前記制御チャネルを介して、前記クライアント装置から交換初期化要求を受信することであり、前記交換初期化要求が交換セッションについての交換識別子(XID)を含み、前記クライアント装置から受信するためにコンテンツに関連付けられた集合の名称を含む、受信することと、
    前記交換セッションを介して、前記コンテンツのセグメントを要求するインタレストを送信することと、
    そのペイロードが前記要求されたコンテンツのセグメントを含むコンテンツオブジェクトを受信することに応答して、前記コンテンツに関連付けて前記コンテンツオブジェクトを記憶することとを備える、コンピューティングシステム。
JP2015161771A 2014-09-02 2015-08-19 Ccnパイプラインストリームの信頼性のあるコンテンツ交換システム及び方法 Pending JP2016053950A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/475,416 2014-09-02
US14/475,416 US20160065677A1 (en) 2014-09-02 2014-09-02 System and method for a reliable content exchange of a ccn pipeline stream

Publications (1)

Publication Number Publication Date
JP2016053950A true JP2016053950A (ja) 2016-04-14

Family

ID=53938226

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015161771A Pending JP2016053950A (ja) 2014-09-02 2015-08-19 Ccnパイプラインストリームの信頼性のあるコンテンツ交換システム及び方法

Country Status (5)

Country Link
US (1) US20160065677A1 (ja)
EP (1) EP2993593A1 (ja)
JP (1) JP2016053950A (ja)
KR (1) KR20160027910A (ja)
CN (1) CN105391570A (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150195764A1 (en) * 2014-01-07 2015-07-09 Electronics And Telecommunications Research Institute Network service system and method for providing network service in multiple mobile network environment
US9946743B2 (en) * 2015-01-12 2018-04-17 Cisco Technology, Inc. Order encoded manifests in a content centric network
US9973578B2 (en) * 2015-06-01 2018-05-15 Telefonaktiebolaget Lm Ericsson (Publ) Real time caching efficient check in a content centric networking (CCN)
US10701038B2 (en) * 2015-07-27 2020-06-30 Cisco Technology, Inc. Content negotiation in a content centric network
US10091330B2 (en) * 2016-03-23 2018-10-02 Cisco Technology, Inc. Interest scheduling by an information and data framework in a content centric network
EP3610628B1 (en) * 2017-04-14 2021-09-22 Koninklijke KPN N.V. Transmitting and receiving an interest message specifying an aggregation parameter
CN113793612B (zh) * 2021-09-15 2024-04-09 京东科技信息技术有限公司 模型服务的更新方法、装置及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8645702B2 (en) * 2010-12-28 2014-02-04 Futurewei Technologies, Inc. Method and apparatus to use identity information for digital signing and encrypting content integrity and authenticity in content oriented networks
CN103200430B (zh) * 2012-01-04 2017-05-31 华为终端有限公司 个人内容分享方法、系统、服务器和终端设备
US9515920B2 (en) * 2012-04-20 2016-12-06 Futurewei Technologies, Inc. Name-based neighbor discovery and multi-hop service discovery in information-centric networks
CN102883235A (zh) * 2012-09-29 2013-01-16 福建星网锐捷网络有限公司 一种n端口代理方法、装置及网络设备
FR2999846A1 (fr) * 2012-12-18 2014-06-20 France Telecom Technique de communication dans un reseau de communication centre sur les informations

Also Published As

Publication number Publication date
EP2993593A1 (en) 2016-03-09
KR20160027910A (ko) 2016-03-10
US20160065677A1 (en) 2016-03-03
CN105391570A (zh) 2016-03-09

Similar Documents

Publication Publication Date Title
CN105024991B (zh) 用于在内容中心网络上交换双向流的方法和设备
US10129230B2 (en) System for key exchange in a content centric network
US9954678B2 (en) Content-based transport security
JP2016053950A (ja) Ccnパイプラインストリームの信頼性のあるコンテンツ交換システム及び方法
US9531679B2 (en) Content-based transport security for distributed producers
US9959156B2 (en) Interest return control message
US10681018B2 (en) Transparent encryption in a content centric network
JP7065221B2 (ja) パーソナルユーザデバイスおよびデータ分配デバイスを用いたストレージシステムの実現
JP2017102914A (ja) コンテンツ指向型ネットワークにおける明示的なコンテンツ削除コマンド
US10547589B2 (en) System for implementing a small computer systems interface protocol over a content centric network
US10841212B2 (en) Method and system for routable prefix queries in a content centric network
JP2017034666A (ja) コンテンツ指向型ネットワークのスタックにおける状態の転送
JP2017027593A (ja) コンテンツ指向ネットワークにおけるコンテンツネゴシエーション
CN105321097B (zh) 使消费者状态与内容中心网络中的兴趣相关联

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20170818