使用信息中心网络链接到内容的制作方法

文档序号:12185549阅读:363来源:国知局
使用信息中心网络链接到内容的制作方法与工艺

本申请要求递交于2015年1月27日的序列号14606810的美国专利申请的权益,其要求递交于2014年7月13日的美国临时申请序列号62/023,883的35U.S.C§119(e)的优先权。所有前述申请的内容通过引用全部结合于此。

发明领域

本公开涉及信息中心网络(ICN)系统架构。更具体地,本公开涉及用于链接到在ICN系统架构中的内容的方法与系统。

技术背景

许多网络架构允许第一方(诸如第一计算设备、第一实体、第一公司等等)链接到内容,该内容由第二方(诸如第二计算设备、第二实体、第二公司等等)所拥有、管理、和/或运营。例如,在因特网(诸如万维网(WWW))中,第一方可以提供到第二方的内容的链接(诸如超文本链接)。因为在许多网络架构(诸如因特网)上的内容/资源可以具有全球可寻址的标识符(例如统一资源定位符(URL)、统一资源标识符(URI)等等),任何方都可以创建到第二方的内容的链接。

附图说明

为使本领域技术人员能够理解本公开,参考某些示例性实现方式的一些方面进行了更详细的描述,附图示出了这些方面的一些:

图1是根据一些实施例,示出系统架构的框图;

图2是根据一些实施例,示出用于链接到内容的示例处理的时序图;

图3A是根据一些实施例,示出示例的建议的链接对象的框图;

图3B是根据一些实施例,示出示例的经认证的链接对象的框图;

图4A到图4D是根据一些实施例,示出示例的未决兴趣表(PIT)的框图;

图5是根据一些实施例,示出生成经认证的链接对象的方法的流程图;

图6是根据一些实施例,示出请求经认证的链接对象的方法的流程图;

图7是根据一些实施例,示出访问到内容的链接的方法的流程图;

图8是根据一些实施例,示出计算设备的框图;

图9是根据一些实施例,示出计算设备的框图;

图10是根据一些实施例,示出计算设备的框图。

示例的实施例

本文描述了大量的细节,以提供对附图所示出的示例性实现方式的透彻理解。然而,附图仅仅示出了本公开的一些示例的方面,并且因此不应该被认为是限制性的。本领域一般技术人员会从本公开中理解,其他有效的方面和/或变化并非包含本文所描述的所有具体的细节。此外,众所周知的系统、方法、组件、设备、以及电路没有以非常详尽的方式描述,以免不必要模糊本文所描述的实现方式的更多相关的方面。

概括

本文所描述的各种实现方式包括用于请求、生成、和/或使用经认证的链接对象的装置、系统、以及方法。例如,在一些实现方式中,一种方法包括从链接所有者接收针对经认证的链接对象的第一兴趣消息,其中经认证的链接对象链接到内容所有者的内容。该方法还包括基于第一兴趣消息向链接所有者传输针对建议的链接对象的第二兴趣消息。该方法还包括从链接所有者接收建议的链接对象,其中建议的链接对象包括由链接所有者生成的第一签名。该方法还包括确定链接所有者是否被允许链接到内容,以及当链接所有者被允许链接到内容的时候,传输经认证的链接对象到链接所有者,该经认证的链接对象包括用于内容的第一名称、第一签名、以及由内容所有者生成的第二签名。

在其他实现方式中,一种方法包括向内容所有者传输对于经认证的链接对象的第一兴趣消息,其中经认证的链接对象链接到内容所有者的内容,并且从内容所有者接收针对建议的链接对象的第二兴趣消息。该方法还包括向内容所有者传输建议的链接对象,其中建议的链接对象包括由链接所有者生成的第一签名。该方法还包括从内容所有者接收经认证的链接对象,其中经认证的链接对象包括用于内容的第一名称、第一签名、以及由内容所有者生成第二签名。

在其他实施方式中,一种方法包括向链接所有者传输针对链接对象的兴趣消息,其中链接对象链接到内容所有者的内容。该方法还包括接收链接对象,其中链接对象包括链接所有者的第一签名、内容所有者的第二签名、内容的第一名称、以及链接对象的第二名称。该方法还包括基于第一签名以及第二签名确定链接对象是否有效,并且当链接对象有效的时候访问内容。

详细描述

如以上所描述的,许多网络架构(诸如因特网或WWW)允许第一方链接到由第二方所拥有、管理、和/或运营的内容。链接通常可能是单向的,并且第二方常常并不清楚第一方是否已链接到第二方的内容。这可能对于第二方造成问题。例如,一些搜索引擎可能基于链接到第一资源的其他资源(诸如其他内容)的质量来估计第一资源(诸如内容)的质量。因此,如果链接到第一资源的其他资源是不可信任的,那么搜索引擎可能确定第一资源的质量更低。此外,链接并不仅仅用来将用户导向原始内容,还可能被用来(例如通过网页浏览器渲染)植入原始内容。这可以使得追踪原始内容的所有权更加困难。例如,内容所有者可能没有办法表明内容所有者是否已经允许某一方链接到内容所有者的内容,和/或植入内容所有者的内容。并且,链接可能随时间而断开。例如,由链接所引用的内容可能改变位置和/或不再可用。由于猜测地追随链接以及预先下载由链接引用的内容的花销,网页浏览器常常不能自动地检测断开的链接。

信息中心网络(ICN)系统架构越来越流行。ICN系统架构的示例包括命名数据网络(NDN)系统架构以及内容中心网络(CCN)系统架构。ICN系统架构(诸如NDN系统架构)可以允许消费者(诸如客户端设备)使用兴趣消息以请求数据,该兴趣消息标识所请求的数据的名称。生产者(例如所请求数据的生成者,诸如服务器计算设备)可以接收兴趣消息并且可以向消费者传输数据对象。通过ICN系统架构,用兴趣消息和/或数据对象中的名称来路由和/或转发兴趣消息和/或数据对象。

在一些实施例中,系统架构可以使用NDN系统架构。在NDN系统架构中,内容所有者可以允许链接所有者(例如拥有、管理、和/或运营到内容所有者的内容的链接的实体)从内容所有者请求经认证的链接对象。当内容所有者接收到请求经认证的链接对象的兴趣消息时,内容所有者得知那些希望链接到它的内容的链接所有者。内容所有者可以请求来自链接所有者所建议的链接对象,并且可以通过分析建议的链接对象而确定是否允许链接所有者链接到内容所有者的内容。如果内容所有者允许链接所有者链接到内容所有者的内容,那么内容所有者可以生成经认证的链接对象并且向链接所有者传输经认证的链接对象。经认证的链接对象可以允许用户来核实内容所有者是否认为由经认证的链接对象所链接到(例如所引用)的内容是有效的,并且可以允许用户确认内容所有者已经允许链接所有者链接到内容。

尽管本公开可以涉及NDN系统架构,但应当理解NDN系统架构仅仅是可以采用的示例的架构。其他实施例可以采用其他类型的系统架构(诸如CCN、Pursuit、NetInf等等),并且本文所描述的示例、实现方式、和/或实施例可以与其他类型的系统架构一起被采用。

图1是根据一些实施例的示出系统架构100的框图。该系统架构包括内容所有者110、链接所有者120、网络105、路由器140、客户端设备130、数据存储库115、以及数据存储库125。系统架构100可以是NDN系统架构。例如,在系统架构100中的消费者(诸如客户端设备130)可以用兴趣包来请求数据,并且生产者(例如内容所有者110)可以用数据对象(例如NDN数据对象)来传输所请求的数据。内容所有者110可以被称为生产者,并且客户端设备130可以被称为消费者或请求者。

内容所有者110可以是一个或多个计算设备(诸如机架式服务器、路由器计算机、服务器计算机、个人计算机、大型计算机、智能手机、个人数字助手(PDA)、膝上型计算机、平板电脑、台式计算机等等)。客户端设备130也可以是计算设备(诸如个人计算机、智能手机、个人数字助手(PDA)、膝上型计算机、平板电脑、台式计算机等等)。网络105可以包括以下一个或多个:公共网络(例如因特网)、个人网络(例如局域网(LAN)或广域网(WAN))、有线网络(例如以太网)、无线网(例如802.11网络或Wi-Fi网络)、蜂窝网络(诸如长期演进(LTE)网络)、路由器、集线器、交换机、服务器计算机、和/或它们的结合。在一个实施例中,内容所有者110可以是拥有、管理、和/或运营链接所有者120可能希望链接到的内容的某方、实体、和/或计算设备。在一个实施例中,链接所有者120可以是某方、实体、和/或计算设备,该方、实体、和/或计算设备希望链接到内容所有者110的内容。

数据存储库115可以是存储器(诸如随机存取存储器)、缓存、驱动器(例如硬盘驱动器)、闪存驱动器、数据库系统、和/或能够存储数据的其他类型的组件/设备。数据存储库115还可以包括多个存储组件(例如多个驱动器或多个数据库),该多个存储组件还可以横跨多个计算设备(例如多个服务器计算机)。数据存储库115包括内容116(诸如NDN数据对象、文本、图像、视频、文件、网页、书、和/或其他数据等等)。在一个实施例中,内容所有者110可以直接耦接到数据存储库115。在另一个实施例中,内容所有者110可以通过网络105耦接到数据存储库115。数据存储库125也可以是存储器、缓存、驱动器、闪存驱动器、数据库系统、和/或能够储存数据的其他类型的组件/设备。数据存储库125还可以包括多个存储组件,该多个存储组件还可以跨越多个计算设备。数据存储库125包括内容126。

在一个实施例中,内容所有者110可以具有内容(诸如NDN数据对象、文本、图像、视频、文件、网页、书、和/或其他数据等等),其他计算设备可以通过网络103访问该内容。例如,内容所有者110可以允许客户端设备130访问内容116。如上文所讨论的,链接所有者120可能希望包括到属于内容所有者110的内容116的链接。链接所有者120可以从内容所有者110请求经认证的链接对象(如以下所讨论的)。在一个实施例中,经认证的链接对象可以是到内容所有者110的内容116的链接。经认证的链接对象还可以是NDN数据对象(或CCN数据对象),它可以表明某方/计算设备(诸如链接所有者120)被允许和/或被认证以链接到内容(例如被认证以链接到NDN数据对象)。经认证的链接对象还可以被用来确定由经认证的链接对象所链接(例如,所引用)的内容是否有效(例如可以被用来表明链接没有断开)。

内容所有者110包括链接认证模块111。在一个实施例中,链接认证模块111可以是应用、服务、守护进程、处理、组件等等,该应用、服务、守护进程、处理、组件等等允许其他计算设备(诸如链接所有者120)请求认证和/或许可以链接到内容所有者110的内容(诸如内容116)。在一个实施例中,链接认证模块111可以是用对于链接认证模块的名称(诸如可路由的名称或前缀)可到达的。例如,链接认证模块111可以是用包括链接认证模块111的名称的兴趣消息可访问的。链接认证模块111可以从链接所有者120接收请求经认证的链接对象的第一兴趣消息(例如兴趣包)。第一兴趣消息可以包括第二名称(如下文将被详细讨论的)。第二名称可以是链接所有者120的建议的链接对象的名称,并且可以允许链接认证模块111从链接所有者120请求所建议的链接对象。内容所有者110可以向内容所有者110传输第二兴趣消息以请求建议的链接对象。链接认证模块111可以分析建议的链接对象并且确定是否许可和/或认证链接所有者120链接到内容116(如下文将被详细讨论的)。如果链接认证模块许可和/或认证链接所有者120链接到内容116,那么认证模块111可以向链接所有者120传输经认证的链接对象。经认证的链接对象的内容与建议的链接对象在下文中被详细讨论。

链接所有者120包括链接模块121。在一个实施例中,链接模块121可以是从内容所有者110请求经认证的链接对象(例如可以请求对链接到内容116的许可)的应用、服务、守护进程、处理、组件等等。链接模块121可以向链接认证模块111传输第一兴趣消息(以请求经认证的链接对象)。如上文所讨论的,第一兴趣消息可以包括链接认证模块111的名称。链接认证模块111的名称可以先验地由链接模块121所知,或由链接认证模块111所确定。例如,链接模块121可以访问数据库、表格等等,该数据库、表格等等可以包括链接认证模块111的名称。链接模块121还可以访问网络服务以获取链接认证模块111的名称。在另一个示例中,链接模块121能够基于内容116的名称(例如基于内容116的名称的前缀或部分)来确定链接认证模块111的名称。链接模块121可以从内容所有者110接收第二兴趣消息,并且可以基于(例如响应于)第二兴趣消息向内容所有者110传输建议的链接对象。如上文所讨论的,如果链接所有者120被许可和/或认证链接到内容116,那么链接模块121可以接收经认证的链接对象。

客户端设备130包括应用131。应用131可以是允许用户访问内容(例如内容116和126)的应用(例如网页浏览器)。内容126可以包括链接到内容116的链接对象(例如经认证的链接对象)。应用131可以分析链接对象以确定链接对象是否有效。例如,应用131可以确定链接对象是否包括由链接所有者120生成的第一签名、以及由内容所有者110生成的第二签名。在一个实施例中,如果任何一个签名缺失,则应用131可以确定链接是无效的。在另一个实施例中,如果任何一个签名到期和/或无效,则应用可以确定链接是无效的。例如,应用131可以用链接所有者120与内容所有者110的公共密钥来确定第一和第二签名是否到期和/或无效。如果这些签名中的一个或多个是无效的,则应用131可以确定链接已被篡改并且无法安全地访问。在一个实施例中,应用131还可以用内容所有者110的公共密钥来确定链接对象是否有效。例如,如果内容所有者的密钥到期或被废除,那么链接不再有效或者链接所有者120不再被允许链接到内容。

系统架构100还可以包括路由器140。路由器140可以是可以在内容所有者110与客户端设备130之间路由和/或转发数据的通信设备(例如计算设备,诸如路由器、交换机等等)。例如,路由器140可以从链接所有者120接收对于经认证的链接对象的请求,并且可以向内容所有者110转发请求。内容所有者110可以通过路由器140向链接所有者120传输经认证的链接对象。每一个路由器140可以包括缓存141。如上文所讨论的,系统架构100可以是NDN系统架构。NDN系统架构可以允许路由器140在它们的相应缓存141中储存(例如缓存)NDN数据对象(例如经认证的链接对象、建议的链接对象等等)。当路由器140从客户端设备130接收对于NDN数据对象的请求(例如兴趣包)并且路由器140在它的缓存141中储存有该NDN数据对象的时候,路由器140可以响应于请求来向客户端设备130传输NDN数据对象,而不是向内容所有者110转发请求。这可以减少网络105中的网络拥堵的量。在一个实施例中,缓存141还可以允许多路径以及多目的地的路由,而无需使用域名系统(DNS)查找、负载平衡器、以及代理。

在一个实施例中,当链接所有者120希望链接到内容116的时候,系统架构100可以允许内容所有者110被告知。内容所有者110可以认证和/或许可链接所有者链接到内容116。因为当一个实体希望链接到内容116的时候(例如当链接所有者120传输第一兴趣消息和/或建议的链接对象的时候),内容所有者110会被告知,所以内容所有者110能够追踪和/或监控哪些实体(诸如链接所有者)正在请求链接到内容116的认证/许可。在另一个实施例中,系统架构100可以允许链接所有者120向用户(诸如客户端设备130)证明链接所有者120被允许(例如被许可和/或被认证)链接到内容所有者110的内容116。在另一个实施例中,系统架构100可以允许用户核实到内容116的链接(例如链接对象),和/或核实链接所有者已经从内容所有者110获取了链接到内容116的许可。

尽管图1可以涉及NDN系统架构,但应当理解NDN系统架构仅仅是可以采用的示例架构。其他的实施例可以采用其他类型的系统架构(诸如CCN、Pursuit、NetInf等等)。

图2根据一些实施例示出了用于链接到内容的示例处理的时序图200。如上文结合图1所讨论的,链接所有者120可以希望链接到内容116。例如,链接所有者120可以希望在链接所有者120的内容126中链接到内容116(例如,链接所有者120的网页可以包括到内容所有者110的网页的链接)。如在图2中所示出的,链接所有者120可以传输兴趣消息205以请求到内容116的链接。例如,链接所有者120可以传输兴趣消息205来请求经认证的链接对象。兴趣消息205可以由路由器140所接收(例如在第一网络接口或第一网络端口处所接收),并且路由器140可以向内容所有者110转发该消息(例如可以用第二网络接口或第二网络端口来转发消息)。兴趣消息205可以包括内容所有者110的链接认证模块的名称(例如链接认证模块111的名称)。链接认证模块的名称可以允许路由器140向内容所有者110(例如向内容所有者110的链接认证模块)转发(例如路由)兴趣消息205。如上文所讨论的,链接认证模块的名称可以由链接所有者120事先所知,和/或可以基于链接所有者120希望链接到的内容的名称而被确定。

在一个实施例中,兴趣消息205还可以包括第二名称(例如单独的第二名称)。第二名称可以是建议的链接对象215的名称。建议的链接对象的内容在下文中将被详细讨论。在兴趣消息205中包括第二名称可以允许链接所有者120向内容所有者提供建议的链接对象的名称(例如第二名称),使得内容所有者110能够从链接所有者120请求建议的链接对象(例如使得内容所有者110能够传输兴趣消息210)。第二名称可以被称为反身名称或数据对象定位符。在一个实施例中,链接所有者120可以在传输兴趣消息205之前生成建议的链接对象。在另一个实施例中,链接所有者120可以在接收兴趣消息210之后可以生成建议的链接对象。

当内容所有者110接收兴趣消息205时,内容所有者110可以被告知:链接所有者120希望链接到内容所有者110的内容。在一个实施例中,内容所有者110能够在块206处可选地确定是否向链接所有者传输兴趣消息210(以请求建议的链接对象)。例如,如上文所讨论的,兴趣消息205可以包括第二名称,并且第二名称可以是建议的链接对象的名称(例如可以是到内容所有者110的内容的链接的名称)。内容所有者110可以分析第二名称(例如分析第二名称的部分或前缀)以确定是否向链接所有者120传输兴趣消息210。例如,第二名称可以包括链接所有者120的名称(例如链接所有者120的公司的名称),并且内容所有者110可以基于链接所有者120的名称来确定链接所有者120是否可信任。如果内容所有者110确定应该向链接所有者120传输兴趣消息210(例如确定链接所有者120可能是可信任的),那么内容所有者110继续向链接所有者120传输兴趣消息210。如果内容所有者110确定兴趣消息210不应该被传输到链接所有者120,那么内容所有者110可以制止传输兴趣消息210(例如可以不传输兴趣消息210)。

在一个实施例中,第二名称(诸如建议的链接对象的名称)可以是可路由的名称。可路由的名称可以是这样的名称:该名称允许路由器(例如路由器140)用路由器的转发信息库(FIB)来路由兴趣消息或数据对象(诸如NDN数据对象)。例如,可路由的名称可以是在NDN网络架构中全局已知的和/或认可的名称。在另一个示例中,可路由的名称可以是这样的名称:该名称的前缀和/或部分存在于路由器的FIB中。在另一个实施例中,第二名称可以是不可路由的名称。不可路由的名称可以是在NDN网络架构中并非全局已知的和/或认可的名称。不可路由的名称还可以是这样的名称:路由器的FIB之中不存在该名称的前缀/部分。FIB结合图4A到4D在以下被详细讨论。

当内容所有者110传输兴趣消息210的时候,路由器140接收兴趣消息210,并且路由器140向链接所有者120转发(例如路由)兴趣消息210(例如用FIB和/或PIT来路由或转发兴趣消息210)。当链接所有者120接收兴趣消息210的时候,链接所有者120可以通过传输建议的链接对象215以响应于兴趣消息210。如上文所讨论的,建议的链接对象215包括第二名称(例如建议的链接对象215的名称)。路由器140可以接收建议的链接对象215并且可以向内容所有者110转发(例如路由)建议的链接对象215。建议的链接对象215可以满足兴趣消息205。

在一个实施例中,内容所有者110可以接收建议的链接对象215,并且可以基于建议的链接对象215在块216处确定是否向链接所有者120传输经认证的链接对象220。例如,内容所有者110(例如内容所有者110的链接认证模块)可以分析建议的链接对象,并且可以确定建议的链接对象215的签名是否有效。在另一个示例中,内容所有者110还可以分析目标内容名称(例如链接所有者120希望链接到的内容所有者110的内容的名称),并且可以用建议的链接名称来确定其他方(诸如链接所有者120、其他计算设备等等)是否应该具有对于内容的访问。在另一示例中,内容所有者还可以分析建议的链接对象的名称来确定链接所有者是否可信任。如果内容所有者110基于建议的链接对象215确定链接所有者120没有被允许(例如没有被许可和/或认证)链接到内容,那么内容所有者110可以制止生成经认证的链接对象220和/或向链接所有者120传输经认证的链接对象220(未在图2中示出)。如果内容所有者110基于建议的链接对象215确定链接所有者120被允许(例如被许可和/或认证)链接到内容,那么内容所有者110可以生成经认证的链接对象220,并且可以传输经认证的链接对象220。路由器140可以接收经认证的链接对象220,并且可以向链接所有者120转发(例如路由)经认证的链接对象220。经认证的链接对象220可以满足兴趣消息210.

在一个实施例中,因为兴趣消息210具有链接认证模块的名称,所以经认证的链接对象220可以被包裹在具有链接认证模块的名称的NDN数据对象中。例如,经认证的链接对象220可以被包括在NDN数据对象中,和/或可以是NDN数据对象的一部分。在另一个实施例中,经认证的链接对象220可以被包裹在CCN数据对象中。例如,经认证的链接对象220可以被包括在CCN数据对象中,和/或是CCN数据对象的一部分。

在另一个实施例中,链接所有者120可以用其他消息、功能、和/或操作来向内容所有者提供建议的链接对象215。例如,链接所有者120可以不在兴趣消息205中使用第二名称(诸如反身名称/数据定位符)。链接所有者120可以生成建议的链接对象215(如上文所讨论的)。链接所有者120可以传输另一类型的兴趣消息205,该兴趣消息205包括到内容所有者110的有效载荷。链接所有者120可以在兴趣消息205的有效载荷中包括建议的链接对象215。因为建议的链接对象215可以是从链接所有者120所接收的初始兴趣消息205的一部分,所以内容所有者110可以接收建议的链接对象215而无需传输兴趣消息210。

图3A是根据一些实施例,示出了示例的建议的链接对象300的框图。如上文结合图1以及图2所讨论的,链接所有者(诸如链接所有者120)可以基于(例如响应于)从内容所有者所接收的兴趣消息(例如NDN兴趣消息/包)生成建议的链接对象300,和/或向内容所有者(例如内容所有者110)传输建议的链接对象300。建议的链接对象300包括链接名称301、目标内容名称302、以及签名303。签名303可以包括以下的一个或多个:1)链接301与目标内容名称302的安全散列;2)对于用哪种散列算法来生成安全散列的指示符(诸如SHA-1、MD5等等);3)对于用哪种签名算法来生成签名303的指示符;以及4)表明可以用哪个公共密钥来核实签名303的指示符(诸如密钥定位符字段)。在其他实施例中,签名303可以包括附加的字段和/或数据。

如上文所讨论的,建议的链接对象300可以是建议的链接,该链接链接到内容所有者的内容(例如由内容所有者所拥有的、管理的、和/或运营的内容)。例如,建议的链接对象300可以被视作对于链接到内容的请求。基于(例如响应于)从请求建议的链接对象300的内容所有者所接收的兴趣消息,可以向内容所有者传输建议的链接对象300。在一个实施例中,目标内容名称302可是内容所有者的内容的名称。例如,目标内容名称302可以是建议的链接对象可以链接到的(内容所有者的)内容的名称。链接名称301可以是建议链接的名称(例如可以是经认证的链接对象的建议名称)。建议的链接对象300还包括签名303。一个实施例中,签名303可以安全地绑定链接所有者(例如生成建议的链接对象300的实体)、链接名称301、以及目标内容名称302。例如,签名303可以用链接所有者的私有密钥(例如秘密密钥)、链接名称301、以及目标内容名称302所生成。可以用签名303与链接所有者的公共密钥一起来确定和/或确认链接所有者的身份。

图3B是根据一些实施例,示出了经认证的链接对象350的示例的框图。如上文结合图1与图2所讨论的,内容所有者(例如内容所有者110)可以基于(例如响应于)从链接所有者所接收的兴趣消息(例如NDN兴趣消息/包)来生成经认证的链接对象350,和/或向链接所有者(例如链接所有者120)传输经认证的链接对象350。经认证的链接对象350包括链接名称351、目标内容名称352、签名353、签名354、以及到期时间355。在一个实施例中,到期时间355可以是可选的(例如到期时间355可以不是经认证的链接对象350的一部分)。签名353可以包括以下一个或多个:1)链接名称351与目标内容名称352的安全散列;2)用来生成安全散列的散列算法的指示符;3)对于用了哪种签名算法来生成该签名的指示符;以及4)表明可以用哪个公共密钥来核实签名353的标识符(例如密钥定位符字段)。签名354可以包括以下一个或多个:1)链接名称351、目标内容名称352、以及到期时间355(当到期时间355被包括的时候)的安全散列;2)用于生成安全散列的散列算法的指示符;3)表明用了哪种签名算法来生成签名354的指示符;以及4)表明哪个公共密钥可以被用来核实签名354的标识符(例如密钥定位符字段)。在另一个实施例中,签名353和/或354可以包括附加的字段和/或数据。

如上文所讨论的,经认证的链接对象350可以是链接到内容所有者的内容(例如由内容所有者所拥有、管理、和/或运营的内容)的链接。经认证的链接对象350可以表明内容所有者已允许(例如认证和/或许可)链接所有者链接到内容。可以基于(例如响应于)从请求经认证的链接对象350的内容所有者处接收的兴趣消息,向内容所有者传输经认证的链接对象350。在一个实施例中,目标内容名称352可以是内容所有者的内容的名称。例如,目标内容名称352可以是经认证的链接对象可以链接到的(内容所有者的)内容的名称。链接名称351可以是到内容所有者的内容的经认证的链接的名称(例如可以是经认证的链接对象的名称)。经认证的链接对象350还包括签名353。在一个实施例中,签名354可以安全地绑定内容所有者(例如产生经认证的链接对象350的实体)、链接名称351、目标内容名称352、以及签名353。例如,签名354可以用内容所有者的私有密钥(例如秘密密钥)、链接名称351、目标内容名称352、以及到期时间355(如果到期时间355被包括的话)而生成。用内容所有者的公共密钥可以核实签名354,和/或可以用签名354来确定和/或确认内容所有者的身份。用链接所有者的公共密钥可以核实签名353,和/或可以用签名353来确定和/或确认链接所有者的身份。

在一个实施例中,内容所有者可以创建公共/私有密钥对、和/或签名354,使得在一段时间之后内容所有者的私有密钥与公共密钥和/或签名354到期(例如内容所有者的私有密钥与公共密钥具有有限的生命期)。这可以允许内容所有者对链接所有者被允许链接到内容所有者的内容的时间量进行限制。例如,内容所有者的公共密钥可以在经认证的链接对象被创建之后一个月到期。这可以允许链接所有者链接到内容所有者的内容一个月的时间。在该月过去之后,公共密钥可以到期,并且用户可以确定链接所有者不再具有链接到内容所有者的内容的许可。在另一个实施例中,内容所有者可以指定到期时间(针对经认证的链接对象350),该到期时间短于私有密钥与公共密钥对的到期时间(例如生命期)。例如,经认证的链接对象350可以包括(可选的)到期时间355,该到期时间355可以表明经认证的链接对象350可以保持有效的时间长度。在另一个示例中,到期时间355可以表明时刻(例如日期、时间戳等等),在该时刻之后经认证的链接对象到期。当经认证的链接对象350包括到期时间355的时候,可以用内容所有者的私有密钥、链接名称351、目标内容名称352、以及到期时间355来生成签名354。

图4A到图4D是根据一些实施例,示出了示例的未决兴趣表(PIT)400A到400D的框图。如上文所讨论的,路由器(例如在图中所示出的路由器140)可以包括多个网络接口(例如多个网络端口和/或网络连接)。路由器可以接收兴趣消息(诸如NDN兴趣消息、CCN兴趣消息等等),并且可以在计算设备之间(例如在链接所有者与内容所有者之间)转发/路由兴趣消息。例如,路由器可以在第一网络接口(例如第一端口)处接收兴趣消息、并且可以用第二网络接口(例如第二端口)转发/路由该兴趣消息。路由器还可以响应于兴趣消息接收数据对象,并且可以在计算设备之间转发/路由数据对象(例如NDN数据对象、CCN数据对象)。例如,路由器可以在第二网络接口处接收数据对象、并且可以用第一网络接口转发/路由数据对象。

路由器可以包括转发信息库(FIB)。FIB(未在图中示出)可以由基于名称的路由协议所填充。FIB可以基于在兴趣消息和或数据对象中的名称的前缀和/或部分,来表明应该用路由器的哪个网络接口来转发/路由兴趣消息和/或数据对象。例如,兴趣消息可以包括名称“/company1/video/video1(/公司1/视频/视频1)”。FIB可以表明兴趣消息和/或数据对象的前缀“/company1”应该被转发/路由到第一网络接口(例如通过第一网络接口传输)。路由器还可以包括PIT。PIT可以储存正在等待返回的数据对象的兴趣消息的列表(例如未被满足的兴趣消息的列表)。在PIT中的每一个条目可以包括兴趣消息的名称以及网络接口的集合,具有该名称的兴趣消息是从上述网络接口的集合接收的。

如图4A中所示出的,PIT 400A包括条目405。条目405可以表明具有名称“/website1/link_auth_service(/网站1/链接_认证_服务)”的第一兴趣消息是从路由器的第三网络接口处接收的。参考回图2,在兴趣消息205被路由器所接收之后,条目405可以被创建。路由器可以用FIB来确定应该用哪个网络接口来转发/路由兴趣消息205。

如在图4B中所示出的,PIT 400B包括条目405与条目410。条目410可以表明具有名称“/webste2/page1/link1(/网站2/网页1/链接1)”的第二兴趣消息是从路由器的第六网络接口处所接收的。参考回图2,在兴趣消息210由路由器所接收之后,条目410可以被创建。在一个实施例中,第一兴趣消息(对应于条目405)可以包括第二名称(例如上文所讨论的反身名称或数据对象定位符)。在第二兴趣消息中以及在条目410中的名称可以是第一兴趣消息的第二名称。在一个实施例中,第二名称(例如“/website2/page1/link1)可以是可路由的名称(例如具有前缀或部分的名称,该前缀或部分可以是FIB的一部分)。如果第二名称是可路由的名称,那么路由器可以用FIB来路由或转发第二兴趣消息。例如,FIB可以表明应该通过路由器的第六网络接口来路由或转发第二名称的前缀“/website2”。在另一个实施例中,第二名称可以不是可路由的名称(例如可以是不可路由的名称)。如果第二名称不是可路由的名称,那么路由器可以用PIT确定哪个网络接口应该被用来路由或转发第二兴趣消息。

如在图4C中所示出的,PIT 400C包括条目405。PIT 400C可以由从PIT 400B中移除条目410得到。例如,参考回图2,链接所有者可以向内容所有者传输建议的链接对象。路由器可以接收建议的链接对象。路由器可以访问条目410以确定对建议的链接对象作出请求的兴趣消息是从路由器的第六网络接口处接收的,并且可以用路由器的第六网络接口来路由或转发建议的链接对象。在路由或转发建议的链接对象之后,路由器可以移除条目410(如在图4C中所示出的)。

如图4D所示出的,PIT 400D不包括条目。PIT 400D可以由从PIT 400C中移除条目405得到。例如,参考回图2,内容所有者可以向链接所有者传输经认证的链接对象。路由器可以接收经认证的链接对象。路由器可以访问条目405来确定请求经认证的链接对象的兴趣消息是从路由器的第三网络接口处接收的,并且可以用路由器的第三网络接口来路由或转发建议的链接对象。在路由或转发经认证的链接对象之后,路由器可以移除条目405(如在图4D中所示出的)。

图5是根据一些实施例的生成经认证的链接对象的方法500的流程图。在一些实现方式中,方法500可以由链接认证模块和/或内容所有者(例如在图1中所示出的链接认证模块111和/或内容所有者110)来执行。简言之,方法500包括接收第一兴趣消息、确定是否允许链接所有者链接到内容、以及基于该确定来传输经认证的链接对象。方法500在框505处开始,该处方法500从链接所有者接收第一兴趣消息。第一兴趣消息可以是对于经认证的链接对象的请求。第一兴趣消息可以包括内容所有者的链接认证模块的名称(如上文所讨论的)。在一个实施例中,第一兴趣消息还可包括链接所有者的建议的链接对象的名称(如上文所讨论的)。例如,第一兴趣名称可以包括反身名称或数据对象定位符(如上文所讨论的)。在一个实施例中,建议的链接对象的名称可以是可路由的名称(如上文所讨论的)。在另一个实施例中,建议的链接对象的名称可以是不可路由的名称(如上文所讨论的)。

在块505处,方法500包括可选地确定是否传输第二兴趣消息。例如,方法500可以包括分析建议的链接对象的名称来确定链接所有者是否被识别和/或可信任(如上文所讨论的)。如果确定第二兴趣消息不应该被传输,那么方法500在块540处可以制止生成和/或传输经认证的链接对象。如果确定第二兴趣消息应该被传输,那么方法500进行到块515处,该处方法500向链接所有者传输第二兴趣消息以请求建议的链接对象(如上文所讨论的)。在块520,方法500可以接收建议的链接对象。如以上所讨论的,建议的链接对象可以包括用于建议的链接对象的名称、用于链接所有者希望链接到的内容的名称,以及由链接所有者生成的第一签名。在块525处,方法500可以分析建议的链接对象来确定是否应该允许链接所有者链接到内容。例如,方法500可以分析以下一个或多个:建议的链接对象中包括的第一签名、建议的链接对象的名称、以及内容的名称(如上文所讨论的)。

如果确定不应该允许链接所有者链接到内容,方法500在块540处可以制止生成和/或传输经认证的链接对象。如果确定应该允许链接所有者链接到内容,那么方法500进行到块530处,该处方法500生成经认证的链接对象。如上文所讨论的,经认证的链接对象可以包括用于经认证的链接对象的名称、用于内容所有者正在允许链接所有者链接到的内容的名称、由链接所有者生成的第一签名、以及由内容所有者生成的第二签名。在块535处,方法500向链接所有者传输经认证的链接对象。

图6是根据一些实施例的请求经认证的链接对象的方法600的流程图。在一些实现方式中,方法600可以由链接模块和/或链接所有者(例如在图1中示出的链接模块121和/或链接所有者120)所执行。简言之,方法600包括传输第一兴趣消息、接收第二兴趣消息、传输建议的链接对象、以及接收经认证的链接对象。方法600在块605处开始,该处方法600向请求经认证的链接对象的内容所有者传输第一兴趣消息。第一兴趣消息可以是对于经认证的链接对象的请求。经认证的链接对象可以是到内容所有者的内容(例如由内容所有者所拥有、管理、和/或运营的内容)的链接。第一兴趣消息可以包括内容所有者的链接认证模块的名称(如上文所讨论的)。在一个实施例中,第一兴趣消息还可以包括链接所有者的建议的链接对象的名称(例如上文所讨论的反身名称或数据对象定位符)。在一个实施例中,建议的链接对象的名称可以是可路由的名称(如上文所讨论的)。在另一个实施例中,建议的链接对象的名称可以是不可路由的名称(如上文所讨论的)。

在块610处,方法600从内容所有者接收第二兴趣消息。第二兴趣消息可以是对于建议的链接对象的请求。在一个实施例中,第二兴趣消息可以包括建议的链接对象的名称(如上文所讨论的)。在块615处,方法600可以生成建议的链接对象。建议的链接对象可以包括用于建议的链接对象的名称、用于链接所有者希望链接到的内容的名称、以及由链接所有者生成的签名(如上文所讨论的)。在块620处,方法600向内容所有者传输建议的链接对象。在块625处,方法600从内容所有者处接收经认证的链接对象(例如到内容的链接)。例如,当内容所有者允许(例如认证和/或许可)链接所有者链接到内容所有者的内容的时候,方法600可以接收经认证的链接对象。如上文所讨论的,经认证的链接对象可以包括用于经认证的链接对象的名称、用于内容所有者正在允许链接所有者链接到的内容、由链接所有者所生成的第一签名、以及由内容所有者生成的第二签名。经认证的链接对象还可以包括到期时间(例如表明一段时间,在该段时间内经认证的链接对象可以保持有效)。在一个实施例中,方法600可以在它的不同的点处生成建议的链接对象(例如可以在方法600的不同的点处执行块615)。例如,方法600可以在块605之前生成建议的链接对象,或在块605与块610之间可以生成建议的链接对象。

图7是根据一些实施例的访问到内容的链接的方法700的流程图。在一些实现方式中,方法700可以由应用和/或客户端设备(例如在图1中所示出的应用131和/或客户端设备130)所执行。简言之,方法700包括请求链接对象、接收链接对象、以及确定是否访问由链接对象链接到的内容。方法700从块705处开始,该处方法向链接所有者传输对于链接对象的兴趣消息。链接对象可以是到内容所有者的内容(例如由内容所有者所拥有、管理、和/或运营的内容)的链接。在一个实施例中,方法700可以不传输对于链接对象的兴趣消息。链接对象可以作为被应用和/或客户端设备所获取的其他内容的一部分而被接收。例如,经认证的链接对象可以被包括(或植入)在被应用和/或客户端设备所获取的网页中。在块710处,方法700从链接所有者接收链接对象。链接对象可以是经认证的链接对象。如上文所讨论的,经认证的链接对象可以包括用于经认证的链接对象的名称、用于内容所有者正在允许链接所有者所链接到的内容的名称、由链接所有者生成的第一签名、由内容所有者生成的第二签名、和/或到期时间。方法700在块715处确定链接对象是否有效。例如,方法700可以分析第一签名和第二签名以确定第一签名和第二签名是否有效。在另一个示例中,方法700可以分析内容所有者的公共密钥来确定公共密钥是否已经到期。在另一个实施例中,方法700可以分析链接对象的到期时间(例如在图3B中所示出的到期时间355)以确定链接对象是否有效。如果链接对象是有效的(例如第一签名与第二签名都是有效的和/或尚未到期,到期时间尚未过去等等),那么方法700在块725处访问由链接对象所引用的(例如链接到的)内容。

如果链接对象是无效的(例如如果第一签名和第二签名中的一个或多个是无效的和/或已到期),那么方法700可以确定用户是否已经提供用户输入,该用户输入代表对于继续访问内容的用户请求。例如,方法700可以确定用户是否已经提供用户输入,该用户输入代表:即使链接对象是无效的,用户仍旧希望访问内容。如果代表对于继续访问内容的用户请求的用户输入被接收,那么方法700在块725处访问内容。如果代表对于继续访问内容的用户请求的用户输入没有被接收,那么方法700在块730处制止访问内容。

图8是根据一些实施例的计算设备800的框图。尽管示出了某些具体的特性,本领域技术人员将从本文理解,出于简化的目的,各种其他的特性并未被示出,以免模糊本文所公开的实施例的更多相关的方面。为此,作为非限制的示例,在一些实施例中,计算设备800包括一个或多个处理单元(CPU)802(例如处理器)、一个或多个输出接口803、存储器806、编程接口808、以及用于将这些与各种其他组件互联的一个或多个通信总线804。

在一些实施例中,通信总线804包括在系统组件之间互联的以及控制系统组件之间的通信的电路。存储器806包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存储器(SRAM)、双倍数据传输率存储器(DDR RAM)、或其他随机存取固态的存储器设备;并且可以包括非易失存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其他非易失固态存储设备。存储器806可选地包括位于(一个或多个)CPU 802远程的一个或多个存储设备。存储器806包括非暂态计算机可读存储介质。此外,在一些实施例中,存储器806或存储器806的非暂态计算机可读存储介质储存下文的程序、模块以及数据结构、或其子集,包括可选的操作系统830与链接认证模块840。在一些实施例中,逻辑存储器与非暂态存储器的组合中包括一个或多个指令。操作系统830包括用于运作各种基础系统服务以及用于执行基于硬件的任务的过程。在一些实施例中,链接认证模块840可以被配置来接收对于经认证的链接对象的请求、请求建议的链接对象、以及基于建议的链接对象来确定是否传输经认证的链接对象到链接所有者。为此,链接认证模块840包括认证模块841以及链接对象模块842。

在一些实施例中,认证模块841可以接收对于经认证的链接对象的请求。认证模块841还可以被配置来从链接所有者请求建议的链接对象、以及分析建议的链接对象。为此,认证模块841包括指令841a与启发和元数据841b的集合。在一些实施例中,链接对象模块842可以被配置来基于建议的链接对象来生成经认证的链接对象。为此,链接对象模块842包括指令841a与启发和元数据841b的集合。

尽管链接认证模块840、认证模块841、以及链接对象模块842被示出为位于单一的计算设备800中,但应当理解在其他实施例中,链接认证模块840、认证模块841、以及链接对象模块842可以各自位于单独的计算设备中。

图9是根据一些实施例的计算设备900的框图。尽管示出了某些具体的特性,但本领域技术人员应当从本公开中理解,出于简化的目的,各种其他特性没有被示出,以免模糊本文所公开的实施例的更多相关的方面。为此,作为非限制性示例,在一些实施例中,计算设备900包括一个或多个处理单元(CPU)902(例如处理器)、一个或多个输出接口903、存储器906、编程接口908、以及用于将它们与各种其他组件互联的一个或多个通信总线904。

在一些实施例中,通信总线904包括将系统组件互联及控制其间通信的电路。存储器906包括高速随机存取存储器,诸如动态随机存取存储器(DRAM)、静态随机存储器(SRAM)、双倍数据传输率存储器(DDR RAM)、或其他随机存取固态的存储器设备;并且可以包括非易失存储器,诸如以下一个或多个:磁盘存储设备、光盘存储设备、闪存设备、或其他非易失固态存储设备。存储器906可选地包括位于(一个或多个)CPU902远程的一个或多个存储设备。存储器906包括非暂态计算机可读存储设备介质。此外,在一些实施例中,存储器906或存储器906的非暂态计算机可读存储介质储存下述程序、模块、以及数据结构、或其子集,包括可选的操作系统930与链接模块940。在一个实施例中,逻辑存储器与非暂态存储器的组合中包括一个或多个指令。操作系统930包括用于运作各种基础系统服务以及用于执行基于硬件的任务的过程。在一些实施例中,链接模块940可以被配置来请求经认证的链接对象。为此,链接模块940包括兴趣模块941以及链接对象模块942。

在一些实施例中,兴趣模块941被配置来传输对于经认证的链接对象的请求、以及接收对于建议的链接对象的兴趣消息。为此,兴趣模块941包括指令941a以及启发和元数据941b的集合。在一些实施例中,链接对象模块942被配置来生成建议的链接对象、并且传输建议的链接对象到内容所有者。为此,链接对象模块942包括指令942a与启发和元数据942b的集合。

尽管链接模块940、兴趣模块941、以及链接对象模块942被示出为位于单一的计算设备900中,但应当理解在其他实施例中,链接模块940、兴趣模块941、以及链接对象模块942的任何组合可以位于分开的计算设备上。例如,链接模块940、兴趣模块941、以及链接对象模块942各自可以存在于单独的计算设备中。

图10是根据一些实施例的计算设备1000的框图。尽管某些具体的特性被示出,但本领域技术人员将从本公开中理解,出于简化的目的,各种其他的特性未被示出,以免模糊本文所公开的实施例的更多相关的方面。为此,作为非限制性的示例,在一些实施例中,计算设备1000包括一个或多个处理单元(CPU)1002(例如处理器)、一个或多个输出接口1003、存储器1006、编程接口1008、以及用于将它们与各种其他组件互联的一个或多个通信总线1004。

在一些实施例中,通信总线1004包括将系统组件互联及控制它们之间通信的电路。存储器1006包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其他随机存取固态状态存储器设备;并且可以包括非易失存储器,诸如以下一个或多个:磁盘存储设备、光盘存储设备、闪存设备、或其他非易失固态存储设备。存储器1006可选地包括位于(一个或多个)CPU 1002远程的一个或多个存储设备。存储器1006包括非暂态计算机可读存储介质。此外,在一些实施例中,存储器1006或存储器1006的非暂态计算机可读存储设备介质储存下文的程序、模块以及数据结构、或其子集,包括可选的操作系统1030以及应用1040。在一些实施例中,在逻辑存储器与非暂态存储器的组合中包括一个或多个指令。操作系统1030包括用于运作各种基础系统服务以及用于执行基于硬件的任务的过程。在一些实施例中,应用1040可以被配置来请求链接对象并且确定是否访问由链接对象所引用的内容。为此,应用1040包括核实模块1041与内容模块1042。

在一些实施例中,核实模块1041被配置以请求链接对象并且确定链接对象是否有效。为此,核实模块1041包括指令1041a以及启发和元数据1041b的集合。在一些实施例中,如果链接对象有效,或者如果表明应用1040应该访问内容的用户输入被接收,那么内容模块1042被配置以访问由链接对象所引用的内容。为此,内容模块1042包括指令1042a以及启发和元数据1042b的集合。

尽管应用1040、核实模块1041、以及内容模块1042被示出为位于单一计算设备1000中,应当理解在其他实施例中,应用1040、核实模块1041、以及内容模块1042的组合可以存在于分开的计算设备中。例如应用1040、核实模块1041、以及内容模块1042可以各自存在于单独的计算设备中。

此外,图8、图9以及图10更多地意在作为可能出现在特定实施例中的各种特性的功能性描述,而不是本文所描述的实施例的结构示意图。如本领域技术人员所理解的,分别地被示出的项可以被组合并且一些项可以被分开。例如,在图8、图9以及图10中所示出的一些功能性的模块可以在单个的模块中实现,并且单个功能性块的各种功能可以在各种实施例中由一个或多个功能性块实现。模块的真实数量以及具体功能的划分、以及它们之间如何分配特性,从一个实施例到另一个会是不同的,并且可以部分取决于具体的实施例所选择的硬件、软件、和/或固件的具体组合。

本公开所描述了各种特性,这些特型中没有单独的一个负责本文所描述的优点。应当理解本文所描述的各种特性可以被组合、修改、或省略,这对本领域技术人员是显然的。除了本文所具体描述之外的其他组合与子组合应当对于本领域技术人员是显然的,并且意在形成本公开的一部分。本文结合各种流程图步骤和/或阶段描述了各种方法。应当理解在许多情境中,某些步骤和/或阶段可以被组合在一起,使得在流程图中示出的各种步骤和/或阶段能够作为单个的步骤和/或阶段执行。同样地,某些步骤和/或阶段可以被拆分为更多的成分而被分别地执行。在一些示例中,步骤和/或阶段的顺序可以被重新安排,并且某些步骤和/或阶段可以被完全省略。同样地,本文所描述的方法应当被理解为开放式的,使得对于本文所示与所述的步骤和/或阶段而言,也能够执行附加的步骤和/或阶段。

本文所描述的系统与方法的一些方面可以用例如计算机软件、硬件、固件、或计算机软件、硬件、固件的任何组合而有利地实现。计算机软件可以包括储存在计算机可读介质(例如非暂态计算机可读介质)中计算机的可执行的代码,其当被执行时,执行本文所描述的功能。在一些实施例中,计算机可执行的代码由一个或多个通用的计算机处理器所执行。本领域技术人员将理解,在本公开的角度,可以用(在通用的计算机上所执行的)软件所实现的任何特性或功能,还可以用硬件、软件、或固件的不同组合所实现。例如,这种模块可以用集成电路的组合被完全实现在硬件中。替代地或此外,采用本文所描述的被设计以执行具体功能的专用计算机而不是由通用的计算机,可以完全地或部分地实现这种特性或功能。

可以用多个分布式的计算设备替代本文所描述的任何一个计算设备。在这种分布式实施例中,一个计算设备的功能被(例如通过网络)分布,使得在每一个分布式计算设备上能够执行一些功能。

一些实施例可以参考公式、算法、和/或流程图而被描述。这些方法可以用能够在一个或多个计算机上执行的计算机程序指令而实现。这些方法还可以被实现为计算机程序产品,或者单独实现,或是作为装置或系统的组件而被实现。就此而言,每个公式、算法、块、或流程图的步骤以及它们的组合可以由硬件、固件、和/或软件而被实现,该软件包括存在于计算机可读程序代码逻辑中的一个或多个计算机程序指令。可以理解,任何这种计算机程序指令可以被装载到一个或多个计算机(包括但不限于通用计算机或专用计算机)或其他可编程处理装置上以产生一种机器,使得在这(一个或多个)计算机或(一个或多个)其他可编程处理设备上所执行的计算机程序指令实现由公式、算法、和/或流程图所指定的功能。应当理解在流程图中所示出的公式、算法、和/或块、以及它们的组合,可以由专用的基于硬件的计算机系统所实现,该基于硬件的计算机系统执行所指定的功能或步骤,或由专用硬件与计算机可读程序代码逻辑手段的组合实现。

此外,(诸如在计算机可读程序代码逻辑中的)计算机程序指令可以被储存在计算机可读存储器(例如非暂态计算机可读介质)中,该计算机可读存储器可以指导一个或多个计算机或其他可编程处理设备以特定的方式工作,使得计算机可读存储器中储存的指令实现在(一个或多个)流程图中的(一个或多个)块中指定的(一个或多个)功能。计算机程序指令还可以被装载到一个或多个计算机或其他可编程计算设备上,使得一系列可操作的步骤在这一个或多个计算机上或其他可编程计算设备上执行以产生计算机实现的处理,使在计算机上或其他可编程处理设备上所执行的指令提供用于实现由流程图的(一个或多个)公式、(一个或多个)算法、和/或(一个或多个)块所指定的功能的步骤。

本文所描述的一些或全部的方法和任务可以由计算机系统所执行以及全自动化。在一些情境中,计算机系统可以包括多个不同的计算机或计算设备(例如物理服务器、工作站、存储设备阵列等等),其通过网络通信以及交互操作来执行所描述的功能。每个这种计算设备通常包括处理器(或多个处理器),其执行在存储器、其他非暂态的计算机可读存储设备介质或设备中储存的程序指令或模块。本文所公开的各种功能可以由这种程序指令实现,尽管一些或全部所公开的功能可以在专用电路(诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA))中替代地实现。在计算机系统包括多个计算设备的情况下,这些设备可以但不必要在相同的位置。所公开的方法与任务的结果可以通过把物理存储设备(诸如固态存储器芯片和/或磁盘)转换到另一状态而被持久地储存。

除非上下文另有明确要求,贯穿说明书和权利要求书,词语“包括”等等应解释为包容的意义,而不是排除的或穷举的意义;即“包括但不局限于”的意义。本文中常用的词语“耦接”指的是两个或更多个元件可以被直接地连接或通过一个或多个中间元件所连接。此外,词语“本文”“上文”“下文”以及相似含义的词语当在本申请中使用时应当指的是本申请作为一个整体而不是本申请的任何特定的部分。在上下文允许的情况下,在以上详细说明中使用单数或复数数量的词语还可以包括相应的复数或单数数量。对于一系列两个或更多个项所用的词语“或”,该词语涵盖对该词语的下列所有解释:该系列中的任一项、该系列中的所有项、以及该系列中的项的任何组合。词语“示例的”在本文仅仅意指“作为示例、实例或举例”。本文描述为“示例的”任何实现方式不一定被认为比其他的实现方式更优选或更有利。

应当理解,尽管本文可能使用了术语“第一”“第二”等等来描述各种元件,这些元件不应该被这些术语所局限。这些术语仅仅被用来将一个元件与其他的元件区分开。例如,第一接点可以被叫做第二接点,并且相似地,第二接点可以被叫做第一接点,不改变说明书的意思,只要出现的所有“第一接点”被一致地重命名并且出现的所有第二接点也被一致地重命名。第一接点和第二接点都是接点,但是它们不是同一个接点。同样地如在对实施例的说明以及所附权利要求书中所使用的,单数形式“一”、“该”意在也包括复数形式,除非上下文以其他方式明确表明。应当理解,本文所使用的术语“和/或”表示并且包含所列出的有关项中一个或多个的任何且所有可能的组合。

此外,取决于上下文,本文所使用的术语“如果”可以被解释为“当...的时候”或“一旦...”或“响应于确定”或“根据确定”或“响应于检测”所陈述的先决条件为真。相似地,取决于上下文,句子“如果确定[所陈述的先决条件为真]”、或“如果[所陈述的先决条件为真]”、或“当[所陈述的先决条件为真]的时候”可以被解释意为“一旦确定”或“响应于确定”或“根据确定”或“一旦检测到”或“响应于检测到”所陈述的先决条件是真。

本公开不意在限于本文所示出的实施方式。对本公开中所描述的实现方式的各种修改对于本领域技术人员可能是显然的,并且本文所定义的一般原则可以用于其他实现方式而不脱离本公开的精神或范围。本文所提供发明的教导可以适用于其他方法和系统,并且不局限于以上所描述的方法和系统,并且以上所描述的各种实施例的元件与动作可以被组合来提供更多的实施例。相应地,本文所描述的新颖的方法与系统可以以多种其他形式实施;此外,在本文所描述的方法或系统的形式中可以做出各种省略、置换以及改变而不脱离本公开的精神。所附的权利要求书以及它们的等同含义意在覆盖落在本公开的范围与精神中的这些形式或修改。

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