内容中心网络中的内容协商的制作方法

文档序号:11138726阅读:342来源:国知局
内容中心网络中的内容协商的制造方法与工艺

本公开一般涉及数字内容的分发。更具体地,本公开涉及基于对CCN名称中的可接受响应编码来对内容中心网络(CCN)中的内容进行协商的系统和方法。



背景技术:

互联网和电子商务的激增继续产生大量的数字内容。设计出内容中心网络(CCN)架构来促进访问并处理这些数字内容。CCN包括实体或节点,诸如网络客户端、转发器(例如路由器)和内容生产者,他们通过发送对各种内容项目的兴趣包并接收返回的内容对象包来彼此通信。CCN兴趣和内容对象由其唯一的名称标识,该唯一的名称通常是分层结构的可变长度标识符(HSVLI)。HSVLI可以包括从最概括级到最具体级排序的连续名称组成。当兴趣包通过网络从内容请求节点路由到内容生产节点时,每个中间CCN路由器在其与兴趣对应的未决兴趣表(PIT)中增加表项,并将兴趣转发到下一CCN路由器。当匹配的内容对象包从内容生产节点往回发送到请求节点时,它遵循兴趣的相反路径。每个中间CCN路由器沿相应的PIT表项中列出的请求接口转发内容对象,并随后去掉PIT表项,指示兴趣已经得到满足。

数量不断增加的数字内容还产生灵活访问内容的需求,诸如允许内容请求节点或客户端指定具有限定符的响应。超文本传输协议(HTTP)中的内容协商是允许这种灵活访问的一种技术。HTTP协议允许客户端将“GET(获取)”请求发送到HTTP服务器并在请求中包括获得特定资源组的附加元数据,特定资源组诸如以特定语言或编码的文档。随着CCN架构的演化,需要对内容请求节点或客户端提供一种相似的内容协商技术。



技术实现要素:

一个实施例提供一种促进内容中心网络中的内容协商的系统。操作中,所述系统通过内容生产装置接收与第一兴趣对应的包,其中,所述兴趣的编码名称指示所请求内容的可接受类型的多个限定符,并且其中,名称是包括连续名称组成的分层结构的可变长度标识符。所述系统生成满足所指示的多个限定符之一的第一内容对象,其中,所述内容对象的名称是编码名称,并且其中,内容对象指示与满足的限定符对应的数据和内容类型。

在一些实施例中,所述系统生成指示多部分内容对象的第二内容对象,其中,所述多部分内容对象的名称是编码名称,其中,所述多部分内容对象指示多个成员内容对象;并且其中,成员内容对象指示内容特定的名称。响应于确定所述内容生产装置能够满足另一限定符,所述系统生成满足所述另一限定符的对应的内容对象。所述系统还将所述对应的内容对象作为成员内容对象增加到所述多部分内容对象。

在一些实施例中,所述系统基于认证信息对与所述对应的内容对象关联的数据进行加密;以及将所述认证信息附加到所述对应的内容对象。

在一些实施例中,所述系统基于认证信息对与所述对应的内容对象关联的数据进行加密;以及用所述认证信息代替加密的数据。

在一些实施例中,所述第一内容对象还指示第二内容对象,所述第二内容对象指示对于所述第一内容对象的认证信息。

在一些实施例中,所述第一内容对象还指示内容特定的名称。

在一些实施例中,所述系统基于所述第一兴趣和所述内容生产装置的应用逻辑生成未请求的内容对象。所述系统然后将生成的未请求内容对象发送到与所述第一兴趣关联的请求装置。

在一些实施例中,所述系统基于指示的限定符生成第三内容对象,所述第三内容对象指示要用在对内容的新兴趣中的信息和内容特定的名称,其中,所述第三内容对象的名称是编码名称。所述系统接收与第二兴趣对应的包,其中,所述第二兴趣的名称是所述第三内容对象中指示的内容特定的名称。所述系统还生成满足所述第二兴趣的第四内容对象,其中,所述第四内容对象的名称是对于所述第二兴趣的内容特定的名称。

在本发明的另一实施例中,所述系统通过转发装置接收与第一兴趣对应的包,其中,所述兴趣的编码名称指示所请求内容的可接受类型的多个限定符,并且其中,名称是包括连续名称组成的分层结构的可变长度标识符。所述系统基于所述编码名称,在未决兴趣包中增加所述第一兴趣的表项。随后,所述系统接收与满足所指示的多个限定符之一的第一内容对象对应的包,其中,所述第一内容对象的名称是编码名称,并且其中,内容对象指示与满足的限定符对应的数据和内容类型。

在此实施例的一种变形中,所述系统基于所述第一内容对象和所述转发装置的应用逻辑,生成第二兴趣。所述系统在未决兴趣表中增加所述第二兴趣的表项;以及将所述第二兴趣发送到内容生产装置。

在一些实施例中,所述系统接收与与所述第二兴趣匹配的第二内容对象对应的包。所述系统在缓存中存储所述第二内容对象。

在一些实施例中,响应于确定所述第一内容对象指示多部分内容对象,所述系统将所述多部分内容对象分割成一个或多个成员内容对象,其中,成员内容对象包括内容特定的名称。所述系统在缓存中基于所述编码名称存储所述多部分内容对象。所述系统还在缓存中基于所述对应的内容特定的名称存储所述一个或多个成员内容对象。

在一些实施例中,所述系统在所述未决兴趣表中标识与所述第一兴趣关联的编码名称和相应接口的表项。所述系统通过所述标识的接口发送所述多部分内容对象。所述系统还从所述未决兴趣表中去掉标识的表项。

附图说明

图1A图解说明根据本发明的实施例,基于提取方法促进CCN中的内容协商的示例性网络。

图1B图解说明根据本发明的实施例,基于过度供给方法促进CCN中的内容协商的示例性网络。

图1C图解说明根据本发明的实施例,基于重定向方法促进CCN中的内容协商的示例性网络。

图2A呈现一流程图,该流程图图解说明根据本发明的实施例借助内容生产装置的用于促进CCN中的内容协商的方法。

图2B呈现一流程图,该流程图图解说明根据本发明的实施例借助内容生产装置的基于过度供给方法促进CCN中的内容协商的方法。

图2C呈现一流程图,该流程图图解说明根据本发明的实施例借助内容生产装置的基于重定向方法促进CCN中的内容协商的方法。

图3呈现一流程图,该流程图图解说明根据本发明的实施例借助转发装置的用于促进CCN中的内容协商的方法。

图4呈现一流程图,该流程图图解说明根据本发明的实施例借助内容生产装置的用于提供CCN中的内容协商期间的访问控制的方法。

图5A图解说明根据本发明的实施例促进CCN中的内容协商的示例性设备。

图5B图解说明根据本发明的实施例促进CCN中的内容协商的示例性设备。

图6A图解说明根据本发明的实施例促进CCN中的内容协商的示例性计算机和通信系统。

图6B图解说明根据本发明的实施例促进CCN中的内容协商的示例性计算机和通信系统。

附图中,相同的附图标记指相同的附图元件。

具体实施方式

给出以下描述使得本领域技术人员能够制造和使用实施例,以下描述是在特定应用和其需求的背景下提供的。对所公开实施例的各种改进对本领域技术人员是非常显然的,在不偏离本申请的精神和范围下,本文中定义的一般原理可以应用于其它实施例和应用。因此,本发明不局限于所显示的实施例,而是给予与本文中公开的原理和特征一致的最宽范围。

本发明的实施例提供促进内容中心网络(CCN)中的内容协商的系统。在传统的内容协商方法中,诸如基于HTTP的方法,客户端可以发送“GET(获取)”请求,“GET”请求可以包括所请求内容的元数据或限定符,例如特定语言或编码类型。在CCN中,所有内容(包括对内容的兴趣或请求)可以通过名称标识,名称诸如“photo.jpg”。然而,CCN名称通常不包含关于内容、编码或者甚至数据是否是例如照片的信息。请求JPG但可以接受GIF的客户端因此决不会在标准CCN兴趣中包括此符合条件的信息。此外,生产者可以生成JPG,JPG可以由中间路由器缓存。生产者可以随后转换到GIF格式,这可能导致客户端对JPG的兴趣传输通过并不具有JPG的缓存形式的中间节点。因此,生产者的格式改变可以使客户端没有从生产者检索以前生成的JPG的可靠方式。

本发明的系统通过将限定符编码到CCN名称中解决了这些内容协商问题,CCN名称诸如:“/name_component{types}”,其中,“/name_component”可以是所请求的文档名称的开始,“types”可以是所请求内容的可接受编码的限定符列表。例如,名称为“/photo{jpg|gif}”的CCN兴趣是对数据必须以JPG或GIF格式编码的名称为“/photo”的文档的请求。注意,对编码名称中可以包括的限定符的数目没有限制。

接收兴趣的内容生产者可以基于三种方法发送回内容。在第一种方法——通过提取的内容协商中,生产者可以发送回满足至少一个限定符,例如JPG或者GIF的响应。因为请求是针对JPG或者GIF的,所以任一种格式都会满足响应。响应的内容对象的名称是具有与特别编码的内容对象对应的数据的编码名称“/photo{jpg|gif}”。第一生产者可以用JPG编码的内容对象进行响应,第二生产者可以用GIF编码的内容对象进行响应。这可以导致中间转发器或路由器缓存具有相同编码名称和不同数据的两种内容对象。这些内容对象中的任何一个可以满足随后的对“/photo{jpg|gif}”的请求。

在第二种方法——通过过度供给的内容协商中,生产者可以包括和它可以包括的一样多的内容对象,例如JPG和GIF。生产者可以创建具有编码名称的多部分内容对象,并在多部分内容对象中包括JPG和GIF编码的数据作为成员内容对象。客户端然后负责解析或将所接收的多部分内容对象分割成其成员内容对象。

在第三种方法——通过重定向的内容协商中,生产者可以返回包括非编码名称和元数据的内容对象以在对内容的新请求中使用。这可以查看列表,确定对于特定编码或内容类型使用哪个名称,并发送具有特定名称(例如非编码名称)的新兴趣。

此外,生产者和转发器可以执行优化操作。例如,基于生产者的应用逻辑,生产者可以通过响应于接收具有编码名称的兴趣推送附加或相关内容来“预播种(pre-seed)”网络。类似地,基于转发器的应用逻辑,转发器可以通过响应于接收具有编码名称的兴趣或内容,发布对内容的新兴趣来“预存取(pre-fetch)”网络的内容。转发器还可以解析或分割多部分内容对象,使得每个成员内容对象可以被缓存并且对于以后的请求可用。

在CCN中,每一项内容是单独命名的,每项数据绑定到将该数据与任何其它项数据相区分的唯一名称,诸如同一数据的其它形式或来自其它源的数据。此唯一名称允许网络装置通过传播指示唯一名称的请求或兴趣来请求数据,并且可以获得与数据的存储位置、网络位置、应用和传输手段无关的数据。使用以下词语描述CCN架构:

内容对象(Content Object):单一一项命名数据,其绑定到唯一名称。内容对象是“永久的”,这意味着内容对象可以在计算装置内或者在不同的计算装置中移动,但不会改变。如果内容对象的任何组成变化,则出现变化的实体创建包括更新内容的新内容对象,将新内容对象绑定到新唯一名称。

唯一名称(Unique Name):CCN中的名称通常是与位置无关的,唯一地标识内容对象。数据转发装置不管内容对象的网络地址或物理位置如何,可以使用名称或名称前缀将包向生成或存储内容对象的网络节点转发。在一些实施例中,名称可以是分层结构的可变长度标识符(HSVLI)。HSVLI可以分成几个分层组成,这些组成可以以各种方式构造。例如,个别的名称组成parc,home,ccn和test.txt可以以左对齐的前缀为主的方式构造,形成名称“/parc/home/ndn/test.txt”。因此,名称“/parc/home/ccn”可以是“/parc/home/ccn/test.txt”的“父”或“前缀”。附加组成可以用来区分内容项目的不同形式,诸如合作文档。

在一些实施例中,名称可以包括不分层的标识符,诸如由内容对象的数据(例如检验和值)和/或从内容对象的名称的组成导出的散列值。基于散列的名称的描述在美国专利申请号13/847,814中描述。名称还可以是扁平标签(flat label)。后面,“名称”用来指在命名数据网络中一条数据的任何名称,诸如层次名称或名称前缀,扁平名称(flat name),固定长度的名称,任意长度的名称,或者标签(例如多协议标签交换(MPLS)标签)。

兴趣(Interest):指示对一条数据的请求的包,包括该条数据的名称(或名称前缀)。数据消费者可以在信息中心网络中传播请求或兴趣,CCN路由器可以向可以提供请求数据的存储装置(例如缓存服务器)或数据生产者播送,以满足请求或兴趣。

本文中公开的方法不局限于CCN网络,还可以应用于其它架构。CCN架构的描述在美国专利申请号12/338,175中描述。

图1A图解说明根据本发明的实施例,基于提取方法促进CCN中的内容协商的示例性网络100。网络100可以包括内容请求装置116和120,内容生产装置118和122以及节点102、104、106、108、110、112和114上的路由器或其它转发装置。节点可以是计算机系统,代表用户的端点和/或可以产生兴趣或发起内容的装置。节点还可以是边缘路由器(例如CCN节点102、104、112和114)或核心路由器(例如中间CCN路由器106-110)。

操作中,第一客户端(例如装置116)可以产生具有编码名称“/photo{jpg|gif}”的兴趣130,并将兴趣130发送到节点102。节点102可以在其未决兴趣表(PIT)中增加对兴趣130的表项,并将兴趣130发送到节点110和112,节点110和112中的每一个执行相似操作。节点112可以将兴趣130发送到第一内容生产者(例如装置118)。生产者118可以确定内容协商方法——提取,并通过发送回具有编码名称、内容类型为“photo/jpg”和相应的JPG编码数据的内容对象132来满足兴趣130。内容对象132以与兴趣130的相反路径行进(例如通过节点112、110和102返回客户端116),每个中间节点缓存具有编码名称和JPG编码数据的内容对象132。

具有相同编码名称但不同数据(例如编码或数据类型)的内容的多个副本可以存在于网络上。例如,第二客户端(例如装置120)可以生成具有与兴趣130相同名称(例如“/photo{jpg|gif}”)的兴趣134,并将兴趣134发送到节点104。节点104在其PIT中增加兴趣134的表项,并将兴趣134发送到节点102。节点102具有编码名称和JPG编码数据的所请求内容的缓存副本,可以满足兴趣134,并将响应的内容对象132通过节点104返回客户端120。替代性地,一旦接收兴趣134,节点104可以沿不同路径将兴趣134发送到节点106。节点106可以在其PIT中缓存兴趣134,并将兴趣134继续发送到节点114,节点114再次在其PIT中缓存兴趣134,并将兴趣134发送到第二内容生产者(例如装置122)。生产者122可以确定内容协商方法——提取,并通过发送回具有编码名称、内容类型为“photo/gif”和GIF编码数据的内容对象136来满足兴趣134。内容对象136沿与兴趣134相反的路径行进(例如通过节点114、106和104回到客户端120),每个中间节点缓存具有编码名称和GIF编码数据的内容对象136。以此方式,具有相同编码名称但不同数据的内容的多个副本可以存在于网络100上。

图1B图解说明根据本发明的实施例,基于过度供给方法促进CCN中的内容协商的示例性网络160。操作中,与图1A所示的数据流相似,第一客户端(例如装置116)生成具有编码名称“/photo{jpg|gif}”的兴趣130,并通过节点102、110和112将兴趣130发送到生产者118,节点102、110和112中的每一个可以在其PIT中增加对兴趣130的表项。节点112可以将兴趣130发送到生产者118,生产者118可以确定过度供给的内容协商方法。生产者118可以通过发送回具有编码名称、内容-类型为“multipart/mixed”和用JPG和GIF数据编码的对应成员内容对象的多部分内容对象140来满足兴趣130。每个成员内容对象可以包括内容-名称(例如“/photo.jpg”)、内容-类型(例如“image/jpg”)和对应的数据(例如“<JPG data>”)。多部分内容对象140沿与兴趣130相反的路径行进(例如通过节点112、110和102回到客户端116),每个中间节点缓存具有编码名称和不同编码的成员内容对象的多部分内容对象140。一旦接收多部分内容对象140,中间CCN路由器或转发器(例如节点110)可以解析或将多部分内容对象140分割成其成员内容对象,并将成员内容对象保存在其缓存中以满足以后的请求。类似地,客户端116可以接收并将多部分内容对象140分割成其成员内容对象,每个成员内容对象满足对GIF或JPG数据的原始兴趣请求(例如兴趣130)。

图1C图解说明根据本发明的实施例,基于重定向方法促进CCN中的内容协商的示例性网络190。操作中,与图1A所示的数据流类似,客户端116生成名称为“/photo{jpg|gif}”的兴趣130,将将兴趣130通过节点102、110和112发送到生产者118。生产者118可以确定重定向的内容协商方法,并通过发送回具有编码名称的内容对象138来满足兴趣130。内容对象138可以指示特定的内容名称和用来生成新兴趣的对应的元数据的列表。例如,内容对象138可以包括内容类型字段142和内容名称字段144。内容对象138中的一个表项可以包括类型字段142的值为“image/gif”,名称字段144的值为“/photo.gif”。内容对象138沿与兴趣130相反的路径行进(例如通过节点112、110和102回到客户端116),每个中间节点缓存具有编码名称和类型与名称信息的列表的内容对象138。一旦接收内容对象138,客户端116可以基于期望的内容类型生成并发送新兴趣。例如,客户端116可以生成名称为“/photo.jpg”的兴趣150,并将兴趣150通过网络经由节点102、110和112发送到生产者118。生产者118可以用具有名称“/photo.jpg”(例如传统的非编码CCN名称)的内容对象158满足兴趣150,并通过相反路径将内容对象158返回客户端116。替代性地,接收兴趣150并在其缓存中包含匹配名称“/photo.jpg”的任何中间节点或转发器可以满足兴趣150。

图2A呈现一流程图200,该流程图图解说明根据本发明的实施例借助内容生产装置的促进CCN中的内容协商的方法。操作中,内容生产装置(例如内容生产者)接收与第一兴趣对应的包,其中,兴趣的编码名称包括用于所请求内容的可接受类型的多个限定符(操作202)。生产者确定其是否具有能够满足至少一个限定符的内容(判断204)。如果不具有,则操作返回。如果具有,则生产者确定内容协商方法(操作206)。生产者可以选择过度供给(操作208)、提取(操作210)或重定向(操作212)的内容协商方法。对于过度供给,操作如图2B中的标记A描述的继续。对于重定向,操作如图2C中的标记B描述的继续。对于提取,生产者生成满足所指示的限定符之一的第一内容对象,其中,内容对象的名称是编码名称(操作214)。第一内容对象可以指示与所满足的限定符对应的数据和内容类型。生产者可以基于其PIT中保存的信息将第一内容对象发送回请求客户端。

随后,一旦执行了与所有三种内容协商方法相关的操作,生产者可以可选地执行优化操作(操作216)。例如,生产者可以基于第一内容对象和生产者的应用逻辑生成未请求的内容对象。生产者然后可以将未请求的内容对象发送到与第一兴趣关联的装置。这种智能“预播种”操作允许生产者基于所接收的兴趣预测随后对内容的请求,并将预测内容推送到客户端(并且同时在网络中的中间路由器上创建内容的缓存副本)。

图2B呈现一流程图230,该流程图图解说明根据本发明的实施例借助内容生产装置的基于过度供给方法促进CCN中的内容协商的方法。操作中,一旦接收具有编码名称的兴趣,生产者生成指示多部分内容对象的第二内容对象,其中,多部分内容对象的名称是编码名称(操作232)。多部分内容对象指示成员内容对象,成员内容对象指示内容特定的名称。生产者确定它是否能够满足编码名称中列出的任何限定符(判断234)。如果它不能满足,则操作返回。如果它能满足,则生产者生成满足限定符的对应的内容对象(操作236)。生产者然后将对应的内容对象作为成员内容对象增加到多部分内容对象(操作238)。操作返回判断234,在此,生产者继续确定它是否能够满足任何其它的限定符,生成并增加成员内容对象,直到它不再能够满足任何限定符,操作返回。

图2C呈现一流程图260,该流程图图解说明根据本发明的实施例借助内容生产装置的基于重定向方法促进CCN中的内容协商的方法。操作中,一旦接收具有编码名称的兴趣,生产者基于所指示的限定符生成第三内容对象,第三内容对象指示要用在对内容的新兴趣中的内容类型和内容特定的名称,其中,第三内容对象的名称是编码名称(操作262)。生产者将第三内容对象发送到与第一兴趣关联的装置(例如客户端)(操作264)。随后,生产者接收与第二兴趣对应的包,其中,第二兴趣的名称是第三内容对象中指示的内容特定的名称(操作266)。生产者生成满足第二兴趣的第四内容对象,其中,第四内容对象的名称是针对第二兴趣的内容特定的名称(操作268)。最后,生产者将第四内容对象发送到与第二兴趣关联的装置(例如客户端)(操作270)。

图3呈现一流程图300,该流程图图解说明根据本发明的实施例借助转发装置的促进CCN中的内容协商的方法。操作中,转发装置(例如转发器、路由器、中间路由器、中间节点或CCN路由器)接收与第一兴趣对应的包,其中,兴趣的编码名称指示所请求内容的可接受类型的多个限定符(操作302)。转发器基于编码名称在其PIT中增加对第一兴趣的表项(操作304)。随后,转发器接收与满足所指示的限定符的第一内容对象对应的包,其中,第一内容对象的名称是编码名称(操作306)。转发器标识编码名称和接收兴趣所通过的对应接口的PIT表项(操作308)。转发器确定内容对象包是否是多部分内容对象(判断310)。如果不是,则转发器在缓存中存储第一内容对象(操作312),通过从PIT标识的接口转发第一内容对象(操作314),并清除PIT表项(操作316)。如果包是多部分内容对象,则转发器将多部分内容对象分割成成员内容对象(操作318)。转发器然后在缓存中存储多部分内容对象(操作320),并且还在缓存中存储每个成员内容对象(操作322)。

接着,转发器可以可选地执行优化操作(操作324)。转发器可以基于第一兴趣或第一内容对象和转发器的应用逻辑,智能地“预存取”内容。例如,转发器可以基于所接收的第一内容对象生成一个或多个兴趣。转发器可以接收并缓存与所生成的兴趣对应的一个或多个内容对象。转发器还可以将所接收的内容对象发送到与第一兴趣关联的装置(例如客户端)。这种预存取操作导致预播种未请求和预测的内容,这将预测内容推送到客户端和网络,如上文关于图2A描述的。

客户端可以通过在编码名称中包括限定符来请求不同类型的内容。然而,不同类型的内容可以以不同的安全或访问控制策略驻存。例如,客户端可以从视频编码服务请求HD或SD的内容,但只有付费订阅者可以检索HD编码的视频内容。为了满足这些需求,访问控制语义可以基于特定的内容协商方法,集成到内容协商协议中。图4呈现一流程图400,该流程图图解说明根据本发明的实施例借助内容生产装置的用于提供CCN中的内容协商期间的访问控制的方法。操作中,内容生产装置(例如内容生产者)确定所接收兴趣包的内容协商方法,其中,兴趣的编码名称指示所请求内容的可接受类型的限定符(操作402)。当生产者选择过度供给方法(操作404)时,操作以图2B的标记A描述的继续,其返回多部分内容对象。随后,生产者可以基于认证信息,加密与对应的内容对象(例如成员内容对象)关联的数据。认证信息可以包括基于以前与客户端交换的共享对称密钥、客户端和/或生产者的数字证书或客户端和/或生产者的KeyId的加密。生产者可以以两种方式之一提供认证信息,这两种方式是:1)通过将认证信息附加到对应的内容对象(操作408);或者2)通过用认证信息代替加密的数据(操作410),并指示对应的内容对象的内容-类型(操作412)。在一些实施例中,例如当加密数据的尺寸很大时,生产者可以选择第二种选项,这要求消费者随后直接要求受保护内容(例如,不进行协商,使用非编码的内容特定的名称)。这导致受保护内容在网络中被正常地缓存。此外,当基于第二种选项提供认证信息时,生产者可以在多部分内容对象(例如过度供给响应)中包括内容对象字节的每个可能集合的内容类型,作为访问控制信息或者作为纯文本内容对象数据,因此允许接收客户端(或转发器)正确地解析多部分内容对象。

当生产者选择提取方法(操作414)时,生产者生成满足所指示的限定符之一的第一内容对象,其中,第一内容对象的名称是编码名称(操作416)。第一内容对象可以指示与被满足的限定符对应的数据和内容类型。第一内容对象还可以指示第二内容对象,第二内容对象指示对于第一内容对象的认证信息。因为生产者决定在响应内容对象中使用哪种数据格式,还因为访问控制策略可以基于所选择的数据格式而不同,所以生产者可以再次将访问控制绑定到其可能响应中的每一个。例如,如果生产者响应于对JPG或GIF的兴趣返回GIF图像,则对GIF的访问控制信息(例如访问控制指定内容对象的名称)可以包括于内容对象响应中。

当生产者选择重定向方法(如图4中未显示)时,响应的内容对象包含可以由生产者满足的可能的内容类型的名称(例如指针)。因为由客户端发送的随后的兴趣是针对特定内容对象的,所以生产者可以使用标准CCN兼容访问控制策略来将访问限制到对应的内容对象。

图5A图解说明根据本发明的实施例促进CCN中的内容协商的示例性设备500。设备500可以包括可以通过有线或无线通信信道彼此通信的多个模块。设备500可以使用一个或多个集成电路实现,可以包括比图5中所示的更多和更少的模块。而且,设备500可以集成到计算机系统中,或者实现为能够与其它计算机系统和/或装置通信的单独的装置。具体地,设备500可以包括通信模块502、包处理模块504、包构造模块506、包播种模块508和安全模块510。

在一些实施例中,通信模块502可以向计算机网络上的其它网络节点发送数据包和/或从其接收数据包(包括兴趣和内容对象)。包构造模块506可以生成满足兴趣的编码名称中指示的限定符的第一内容对象。包构造模块506还可以生成第二内容对象,第二内容对象指示具有名称为编码名称的多部分内容对象,并且其中,多部分内容对象指示成员内容对象。包处理模块504可以确定装置可以满足指示的限定符。包构造模块506可以生成满足所指示的限定符的内容对象,并且还将内容对象加入到多部分内容对象。包构造模块506可以基于指示的限定符生成第三内容对象,第三内容对象指示要用在内容的新兴趣中的信息和内容特定的名称。包构造模块506还可以生成第四内容对象,第四内容对象满足名称为第三内容对象中指示的内容特定的名称的第二兴趣。

包播种模块508可以基于第一兴趣和内容生产装置的应用逻辑生成未请求的内容对象,并且还将未请求的内容对象发送到与第一兴趣关联的装置。安全模块510可以基于认证信息加密与内容对象关联的数据,并将认证信息附加到对应的内容对象。安全模块510还可以用认证信息代替加密的数据。

图5B图解说明根据本发明的实施例促进CCN中的内容协商的示例性设备550。设备550可以包括可以通过有线或无线通信信道彼此通信的多个模块。设备550可以使用一个或多个集成电路实现,可以包括比图5B中所示的更多和更少的模块。而且,设备550可以集成到计算机系统中,或者实现为能够与其它计算机系统和/或装置通信的单独的装置。具体地,设备550可以包括通信模块552、包处理模块554、包构造模块556、PIT维护模块558和包播种模块560。在一些实施例中,通信模块552可以向计算机网络上的其它网络节点发送数据包和/或从其接收数据包(包括兴趣和内容对象)。PIT维护模块558可以基于编码名称在PIT中增加第一兴趣的表项。

包播种模块560可以基于第一内容对象和转发装置的应用逻辑生成第二兴趣。PIT维护模块558可以在PIT中增加第二兴趣的表项,通信模块552可以将第二兴趣发送到内容生产装置。包播种模块560可以在缓存中存储接收的第二内容对象。包处理模块554可以确定第一内容对象指示多部分内容对象。包处理模块554还可以将多部分内容对象分割成成员内容对象。包处理模块554可以在缓存中存储多部分内容对象和成员内容对象。PIT维护模块558可以标识针对编码名称和对应接口的PIT表项,并从PIT中去除标识的表项。通信模块552可以通过标识的接口发送多部分内容对象。

图6A图解说明根据本发明的实施例促进CCN中的内容协商的示例性计算机和通信系统602。计算机和通信系统602包括处理器604、存储器606和存储装置608。存储器606可以包括充当管理存储器的易失性存储器(例如RAM),并且可以用来存储一个或多个内存池。而且,计算机和通信系统602可以耦连到显示装置610、键盘612和定位装置614。存储装置608可以存储操作系统616、内容处理系统618和数据630。

内容处理系统618可以包括指令,这些指令在由计算机和通信系统602执行时,可以使计算机和通信系统602执行本公开中描述的方法和/或过程。具体地,内容处理系统618可以包括通过内容生产装置接收与第一兴趣对应的包的指令,其中,兴趣的编码名称指示对所请求内容的可接受类型的多个限定符(通信模块620)。内容处理系统618可以包括用于生成满足所指示的限定符之一的第一内容对象的指令,其中,内容对象的名称是编码名称,并且其中,内容对象指示与被满足的限定符对应的数据和内容类型(包构造模块624)。

内容处理系统618还可以包括用于生成指示多部分内容对象的第二内容对象的指令(包构造模块624),以及响应于确定内容生产装置可以满足另一限定符(包处理模块622),生成满足另一限定符的对应的内容对象的指令(包构造模块624)。内容处理系统618还可以包括用于将对应的内容对象作为成员内容对象增加到多部分内容对象的指令。

另外,内容处理系统618可以包括基于第一兴趣和内容生产装置的应用逻辑生成未请求的内容对象的指令(包播种模块626),以及还将未请求内容对象发送到与第一兴趣关联的装置的指令(通信模块620)。内容处理系统618可以包括基于认证信息加密与内容对象关联的数据并将认证信息附加到对应的内容对象的指令(安全模块628)。内容处理系统618还可以包括用于以认证信息代替加密的数据的指令(安全模块628)。

内容处理系统618还可以包括基于指示的限定符生成第三内容对象的指令,第三内容对象指示要用在对内容的新兴趣中的信息和内容特定的名称(包构造模块624)。内容处理系统618可以包括用于接收与第二兴趣对应的包的指令,其中,第二兴趣的名称是第三内容对象中指示的内容特定的名称(通信模块620)。内容处理系统618还可以包括用于生成满足第二兴趣的第四内容对象的指令,其中,第四内容对象的名称是用于第二兴趣的内容特定的名称(包构造模块624)。

数据630可以包括通过本公开中描述的方法和/或过程作为输入请求的或作为输出生成的任何数据。具体地,数据630可以存储至少:与具有编码名称的第一兴趣对应的包;指示所请求内容的可接受类型的多个限定符的编码名称;为HSVLI的名称;满足编码名称中指示的限定符的第一内容对象;为多部分内容对象的第二内容对象;如多部分内容对象中指示的成员内容对象;内容类型;内容名称;代表内容的数据;认证信息;数字证书;私钥;共享对称密钥;公钥;密钥标识符(KeyId);未请求的内容对象或兴趣;与内容生产装置或转发装置关联的应用逻辑;指示后面兴趣的信息和内容特定名称的第三内容对象;具有非编码名称的第二兴趣;以及与第二兴趣对应的第四内容对象。

图6B图解说明根据本发明的实施例促进CCN中的内容协商的示例性计算机和通信系统652。计算机和通信系统652包括处理器654、存储器656和存储装置658。存储器656可以包括充当管理存储器的易失性存储器(例如RAM),并且可以用来存储一个或多个内存池。而且,计算机和通信系统652可以耦连到显示装置660、键盘662和定位装置664。存储装置658可以存储操作系统666、内容处理系统668和数据680。

内容处理系统668可以包括指令,这些指令在由计算机和通信系统652执行时,可以使计算机和通信系统652执行本公开中描述的方法和/或过程。具体地,内容处理系统668可以包括通过转发装置接收与第一兴趣对应的包的指令,其中,兴趣的编码名称指示对所请求内容的可接受类型的多个限定符(通信模块670)。

内容处理系统668可以包括基于编码名称在PIT中增加第一兴趣的表项的指令(PIT维护模块676)。内容处理系统668可以包括接收与满足限定符的第一内容对象对应的包的指令(通信模块670)。内容处理系统668还可以包括基于第一内容对象和转发装置的应用逻辑生成第二兴趣的指令(包播种模块678)。内容处理系统668可以包括在PIT中增加第二兴趣的表项的指令(PIT维护模块676)和将第二兴趣发送到内容生产装置的指令(通信模块670)。

内容处理系统668还可以包括用于在缓存中存储所接收的第二内容对象的指令(包处理模块672)。内容处理系统668可以包括用于确定第一内容对象指示多部分内容对象的指令(包处理模块672)。内容处理系统668还可以包括用于将多部分内容对象分割成成员内容对象并在缓存中存储多部分内容对象和成员内容对象的指令(包处理模块672)。内容处理系统668还可以包括用于标识编码名称和对应接口的PIT表项并从PIT中去掉标识表项的指令(PIT维护模块676),以及用于通过标识的接口发送多部分内容对象的指令(通信模块670)。

数据680可以包括通过本公开中描述的方法和/或过程作为输入请求的或作为输出生成的任何数据。具体地,数据630可以存储至少:与具有编码名称的第一兴趣对应的包;指示所请求内容的可接受类型的多个限定符的编码名称;为HSVLI的名称;满足编码名称中指示的限定符的第一内容对象;基于第一内容对象和转发装置的应用逻辑的第二兴趣;与第二兴趣匹配的第二内容对象;多部分内容对象;如多部分内容对象中指示的成员内容对象;内容类型;内容名称;代表内容的数据;未决兴趣表(PIT);PIT表项和接口。

在此详细描述中描述的数据结构和代码通常存储于计算机可读存储介质上,计算机可读存储介质可以是可以存储代码和/或数据以由计算机系统使用的任何装置或介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光存储装置(诸如磁盘驱动器、磁带、CD(光盘)、DVD(数字通用盘或数字视频盘))或能够存储现在已知或以后开发的计算机可读介质的其它介质。

在详细描述部分描述的方法和过程可以体现为代码和/或数据,这些代码和/或数据可以存储在如上文描述的计算机可读存储介质中。当计算机系统读、执行计算机可读存储介质上存储的代码和/或数据时,计算机系统执行体现为数据结构和代码并存储于计算机可读存储介质中的方法和过程。

而且,上面描述的方法和过程可以包括于硬件模块或设备中。硬件模块或设备可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定的软件模块或一条代码的专用或共用处理器、现在已知或以后开发的其它可编程逻辑器件。当硬件模块或设备被激活时,其执行硬件模块中包括的方法和过程。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1