传输会话状态协议的制作方法

文档序号:17120584发布日期:2019-03-15 23:45阅读:196来源:国知局
传输会话状态协议的制作方法

本申请的主题与以下申请中的主题有关:

2013年3月20日提交的发明人ignaciosolis的题为“ordered-elementnamingforname-basedpacketforwarding”的美国专利申请no.13/847,814(下文称为“美国专利申请no.13/847,814”);

2008年12月18日提交的发明人vanl.jacobson和dianak.smetters的题为“controllingthespreadofinterestsandcontentinacontentcentricnetwork”的美国专利申请no.12/338,175(下文称为“美国专利申请no.12/338,175”);

2014年7月17日提交的发明人marce.mosko,ignaciosolis和ersinuzun的题为“interestreturncontrolmessage”的美国专利申请no.14/334,530(下文称为“美国专利申请no.14/334,530”);和

2015年6月22日提交的发明人christophera.wood和glennc.scott的题为“transportstacknameschemeandidentitymanagement”的美国专利申请no.14/746,490(下文称为“美国专利申请no.14/746,490”)。

本公开总地涉及数字内容的分发。更具体而言,本公开涉及一种系统,该系统允许请求网络元件基于历史网络信息来向响应网络元件查询最佳传输参数或针对最佳传输参数与响应网络元件进行协商。



背景技术:

因特网和电子商务的激增继续产生大量的数字内容。内容中心网络(ccn)架构已被设计为便于访问和处理这样的数字内容。ccn包括实体或节点,诸如网络客户端、转发器(例如,路由器)和内容制作器,它们通过发送针对各种内容项的兴趣分组并且接收回报的内容对象分组来彼此通信。ccn兴趣和内容对象由其唯一名称标识,这些名称通常是分层结构的可变长度标识符(hsvli)。hsvli可以包括从最一般级别到最具体级别排序的连续名称成分。ccn名称前缀或命名空间可以包括从最一般级别开始的一个或多个连续名称成分。

一些传输协议通过维护从客户端(例如,消费者)发送到服务器(例如,内容制作器)的消息(例如,分组)的窗口来实现流和拥塞控制。在发送分组时,消费者将分组添加到窗口,并且在接收到响应分组时,消费者从窗口中移除分组。对于大小为“w”的窗口,在任何给定时间只有w个消息可以是未完成的(outstanding)。一些传输协议(诸如tcp)使用滑动窗口,使得w是基于网络条件动态改变的变量。例如,如果协议确定例如由于相邻节点的大量业务而产生的拥塞,则消费者可以减少w,使得更少的消息被发送到网络。类似地,如果协议确定网络不拥塞,则消费者可以增加w,使得可以为了更好的吞吐量和等待时间性能发送更多消息。

虽然ccn为网络带来了许多期望的特征,但是对于通过允许系统用户向网络查询最佳传输参数来使能ccn传输协议仍未解决一些问题,其中该ccn传输协议导致最佳收敛以使拥塞最小化。



技术实现要素:

在独立权利要求中阐述了本发明的各方面,并且在从属权利要求中阐述了优选特征。一个方面的特征可以单独应用于这些方面或与其他方面组合应用。

一个实施例提供了一种促进高效传输协议的系统。在操作期间,该系统接收指示对最佳传输参数的查询的第一兴趣,其中兴趣的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,其中查询基于包括一个或多个连续名称成分的名称前缀。该系统基于与名称前缀相关联的历史信息来计算最佳参数。该系统将包括计算出的最佳参数的第一响应发送到请求实体,从而促进提高网络效率的传输协议。

在一些实施例中,最佳传输参数包括以下各项中的一个或多个:名称前缀的传输窗口的最佳或平均大小;兴趣和基于名称前缀的相应内容对象的平均往返时间;以及要在基于传输协议发起新流时使用的参数。

在一些实施例中,第一兴趣指示以下各项中的一个或多个:服务质量或优先级;请求实体的用户标识符;请求实体的认证信息;以及一组估计的最佳传输参数,其包括请求实体对所请求的最佳传输参数的估计。

在一些实施例中,第一兴趣包括通知标志,其指示对计算机系统向请求实体发送通知的请求,其中该通知指示对计算出的最佳参数的改变。系统生成第二响应,第二响应指示对计算出的最佳参数的改变的通知。

在一些实施例中,系统生成所有权令牌,该所有权令牌是产生散列值的散列函数的原像。系统将所有权令牌包括在第一响应中,其中所有权令牌和散列值随后被请求实体用于向计算系统提供用于将状态从一个流迁移到另一个流的验证。

在一些实施例中,第一兴趣还指示对可用资源的出价或付款。响应于第一兴趣,系统基于出价或基于在来自其他请求实体的兴趣中指示的一个和多个出价来确定资源的分配,其中第一响应还包括资源分配确定的结果。

在一些实施例中,系统在第一响应中包括可用资源的一组值以及为资源付款的选项。响应于第一响应,系统接收指示对资源的出价或付款的第二兴趣。系统基于出价或基于在来自其他请求实体的兴趣中指示的一个和多个出价来确定资源的分配。系统为一个或多个请求实体生成包括资源分配确定结果的第二响应。

在一些实施例中,为资源付款的选项指示基于数字货币的付款方法,包括以下各项中的一个或多个:比特币;计算资源;请求实体代表计算机系统执行功能所花费的时间量;虚拟货币;加密货币;和任何其他数字货币。

在一些实施例中,第一兴趣或第一兴趣的名称指示以下各项中的一个或多个:流标识符,其指示查询所基于的名称前缀;可路由的前缀,其包括从最一般级别开始的一个或多个连续的名称成分;计算机系统的标识符;命令,其指示查询的功能以及所请求的传输参数的类型;查询的一个或多个参数;对可用资源的出价或付款;以及随机的新鲜值(nonce)。

在一些实施例中,该方法由响应实体执行,该响应实体驻留在以下各项中的一个或多个中:应用程序;单个堆栈;共享堆栈;单个转发器;共享转发器;以及网络中的任何节点。

另一个实施例提供了一种促进高效传输协议的系统。在操作期间,该系统生成指示对最佳传输参数的查询的第一兴趣,其中兴趣的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,其中查询基于包括一个或多个连续名称成分的名称前缀。该系统将第一兴趣发送到响应实体,这使得响应实体基于与名称前缀相关联的历史信息来计算最佳参数。响应于从响应实体接收到包括计算出的最佳参数的第一响应,该系统执行基于历史信息提高网络效率的操作,从而促进提高网络效率的传输协议。

在一些实施例中,系统在第一兴趣中包括通知标志,其指示对响应实体向计算机系统发送通知的请求,其中通知指示对计算出的最佳参数的改变。响应于第一兴趣,系统接收第二响应,第二响应是指示对计算出的最佳参数的改变的通知的兴趣。

在一些实施例中,系统在第一兴趣中指示对可用资源的出价或付款,其中第一响应还包括响应实体基于出价或基于在来自其他请求实体的兴趣中指示的一个和多个出价进行的资源分配确定的结果。

在一些实施例中,系统生成指示对资源的出价或付款的第二兴趣。响应于第二兴趣,系统接收第二响应,第二响应包括响应实体基于出价或基于在来自其他请求实体的兴趣中指示的一个和多个出价进行的资源分配确定的结果。

在一些实施例中,该方法由请求实体执行,该请求实体是以下各项中的一个或多个:与第一堆栈相关联的应用程序,其中响应实体驻留在第一堆栈中或与第一堆栈相关联;与第二堆栈相关联的应用程序,第二堆栈与第一堆栈不同;第一堆栈的堆栈组件,其中堆栈组件与响应实体不同;第二堆栈的堆栈组件;以及网络中的任何其他元件或节点。

也描述了用于实现本文描述的方法的系统和装置,包括用于实现这些方法的网络节点、计算机程序、计算机程序产品、计算机可读介质以及在有形介质上编码的逻辑。

附图说明

图1示出了根据本发明实施例的促进高效传输协议的示例性环境。

图2a示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在单个转发器中。

图2b示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在共享转发器中。

图2c示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在传输框架的单个传输堆栈中。

图2d示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在与传输框架相关联的应用程序中。

图3a示出了根据本发明实施例的促进高效传输协议的系统中的示例性通信,其中请求实体是与响应器组件相关联的同一堆栈的堆栈组件。

图3b示出了根据本发明实施例的转发器组件中的示例性响应器组件,其中请求实体和响应器组件与同一堆栈相关联。

图3c示出了根据本发明实施例的促进高效传输协议的系统中的示例性通信,其中请求实体是与收集器组件所关联于的同一堆栈相关联的应用程序。

图3d示出了根据本发明实施例的促进高效传输协议的系统中的示例性通信,其中请求实体是与堆栈相关联的应用程序,响应器组件不与该堆栈相关联。

图3e示出了根据本发明实施例的转发器组件中的示例性响应器组件,其中请求实体和响应器组件不与同一堆栈相关联。

图3f示出了根据本发明实施例的促进高效传输协议的系统中的示例性通信,其中请求实体是不与响应器组件相关联的堆栈的堆栈组件。

图3g示出了根据本发明实施例的促进高效传输协议的系统中的示例性通信,其中请求实体是另一网络元件或节点。

图4a呈现了示出根据本发明实施例的响应实体或响应器组件促进高效传输协议的方法的流程图。

图4b呈现了一流程图,其示出根据本发明实施例的响应实体或响应器组件促进高效传输协议的方法,包括网络资源市场。

图5a呈现了示出根据本发明实施例的请求实体促进高效传输协议的方法的流程图。

图5b呈现了一流程图,其示出根据本发明实施例的请求实体促进高效传输协议的方法,包括网络资源市场。

图6示出了根据本发明实施例的促进高效传输协议的示例性计算机系统。

在附图中,相似的标号指代相同的附图元素。

具体实施方式

呈现以下描述以使得本领域任何技术人员都能够制造和使用实施例,并且在特定应用及其要求的背景下提供以下描述。对于本领域技术人员来说,对所公开的实施例的各种修改将是显而易见的,并且在不脱离本公开的精神和范围的情况下,可以将本文定义的一般原理应用于其他实施例和应用。因此,本发明不限于所示出的实施例,而是与符合本文所公开的原理和特征的最宽范围相一致。

概览

本发明的实施例提供了一种系统,该系统提供了允许系统用户向网络查询最佳传输参数的传输协议。网络经由通用“响应组件”来响应该查询,该应答组件可以基于先前收集的历史网络信息来计算最佳传输参数。系统用户可以使用计算出的最佳传输参数来执行提高网络效率的操作。例如,系统用户可以向响应器组件查询给定命名空间的最佳传输窗口大小,其中所查询的窗口大小是对响应器组件基于先前收集的历史网络信息(例如,给定时间段内的命名空间的平均窗口大小)来计算功能的请求。响应器组件可以从在下面关于图2a-2e描述的收集器组件获得历史信息。响应器组件可以驻留在应用程序、堆栈、转发器或网络中的任何节点中。系统用户(例如,请求实体、请求者、或客户端)可以是:与堆栈相关联的应用程序或堆栈组件,响应器组件也与该堆栈相关联;不与响应器组件相关联的应用程序或堆栈组件或堆栈;或者网络中的任何其他元件或节点。

请求者可以在其查询中包括相关参数,诸如服务质量和请求者的认证信息。请求者也可以包括请求者自己对所请求的一组值的估计。请求者也可以包括通知标志,该通知标志指示对响应器组件发送对计算出的最佳参数所做的任何改变的通知的请求。该通知允许请求者调整其传输协议值,以便更快速且更高效地改变网络状况。响应器组件可以在兴趣的有效载荷中发送通知,或者在封装内容对象的兴趣中发送通知。

此外,响应器组件可以向请求者提供特殊的“所有权令牌”(例如,散列函数的原像),请求者随后可以将其用于验证以将网络资源从一个流迁移到另一个流。例如,请求者可以使用响应器组件所提供的所有权令牌来发起新流,指示前一流的所有权,以及将网络资源从前一流迁移到新流。网络资源可以包括为了qos需要而为特定流分配或使用的可用带宽的数量。

本发明的实施例也提供了一种基于传输协议作为网络资源市场运行的系统。除了查询的传输参数之外,响应器组件可以向请求者提供可用资源的一组值,以及为更多资源“付款”的选项。或者,请求者可以发出具有对资源的相应“出价”的查询,响应器组件然后可以以类似拍卖的方式(例如,根据从其他请求实体接收的出价)响应该查询。

因此,系统实现请求实体和响应器组件之间的传输协议,其导致最佳收敛以使拥塞最小化,从而产生更高效的网络。传输协议可以在内容中心网络(“ccn”)中操作。在ccn中,每条内容是单独命名的,并且每条数据被绑定到唯一的名称,该唯一名称将数据与任何其他条数据(诸如相同数据的其他版本或来自其他源的数据)区分开来。该唯一名称允许网络设备通过传播指示该唯一名称的请求或兴趣来请求数据,并且可以独立于数据的存储位置、网络位置、应用和传输方式而获得数据。以下术语用于描述ccn架构:

内容对象(或“内容对象”):单条命名数据,其被绑定到唯一名称。内容对象是“持久的”,这意味着内容对象可以在计算设备内四处移动或跨不同的计算设备移动,但是不改变。如果内容对象的任何成分改变,则做出更改的实体创建包括更新后的内容的新内容对象,并将新内容对象绑定到新的唯一名称。

唯一名称:ccn中的名称通常与位置无关,并唯一地标识内容对象。数据转发设备可以使用名称或名称前缀将分组转发到生成或存储内容对象的网络节点,而不管内容对象的网络地址或物理位置如何。在一些实施例中,名称可以是分层结构的可变长度标识符(hsvli)。hsvli可以被分成可以以各种方式构造的几个分层成分。例如,单独名称成分pare、home、ccn和test.txt可以以主要左向前缀的方式构造,以形成名称“/parc/home/ccn/test.txt”。因此,名称“/parc/home/ccn”可以是“/parc/home/ccn/test.txt”的“父”或“前缀”。可以使用附加的成分来区分不同版本的内容项,诸如协作文档。hsvli也可以包括从最一般级别到最具体级别排序的连续名称成分。

在一些实施例中,名称可以包括标识符,诸如从内容对象的数据(例如,校验和值)和/或从内容对象的名称的元素中得到的散列值。在美国专利申请no.13/847,814中描述了基于散列的名称的描述。名称也可以是扁平(flat)标签。在下文中,“名称”用来指代名称-数据网络中的一条数据的任何名称,诸如分层名称或名称前缀、扁平名称、固定长度名称、任意长度名称或标签(例如,多协议标签交换(mpls)标签)。

兴趣(或“兴趣”):分组,其指示对一条数据的请求并且包括该条数据的名称(或名称前缀)。数据消费者可以跨信息中心网络传播请求或兴趣,其中ccn/ndn路由器可以向存储设备(例如,高速缓存服务器)或数据生成器传播该请求或兴趣,其中这些存储设备和数据生成器可以提供所请求的数据以满足该请求或兴趣。

本文公开的方法不限于ccn网络,并且也适用于其他架构。在美国专利申请no.12/338,175中描述了ccn架构的描述。

示例性的网络和通信

图1示出了根据本发明实施例的促进高效传输协议的示例性环境100。计算环境100可以包括计算机网络102,诸如ccn。环境100也可以包括与本地计算设备104和远程计算设备108相关联的用户106。设备104和108可以具有通过网络102相互交换网络分组的内部传输堆栈(例如,分别与传输框架130和170相关联)。网络分组可以包括兴趣分组和内容对象分组。

在传统的ip架构中,转发器是基于ip的转发器,其查看分组的头部以确定该分组的源和目的地,并将该分组转发到目的地。堆栈执行tcp/udp,并且应用程序经由套接字与堆栈交互。相比之下,本发明的设备104不使用传统的“堆栈”。而是,设备104可以经由应用程序110请求与门户120相对应的门户api实例,门户120对应于传输框架130。类似地,设备108可以经由应用程序150请求与门户160相对应的门户api实例,门户160对应于传输框架170。

设备104可以包括耦合到网络102的任何计算设备,诸如智能电话104.1、平板计算机104.2、和/或服务器或个人计算机104.m。具体而言,设备104可以包括应用程序110,其经由门户120与传输框架130进行通信。传输框架130可以包括堆栈组件134.1-134.n。设备104也可以包括转发器140(例如,网络接口卡或局域网中的路由器),其可以在网络102和传输框架130的堆栈(和单独的堆栈组件)之间传送分组。类似地,设备108可以包括耦合到网络102的任何计算设备,例如服务器或终端主机设备。设备108可以包括应用程序150,其经由门户160与传输框架170进行通信。传输框架170可以包括堆栈组件174.1-174.p。设备108也可以包括转发器180,其可以在网络102和传输框架170的堆栈(和单独的堆栈组件)之间传送分组。转发器140和180也可以分别促进在单独的堆栈组件134.1-134.n和174.1-174.p之间直接传送分组。如在下面关于图3a-3g所述,转发器140可包括收集器组件和响应器组件(未示出)。

示例性传输框架

收集器组件可以在ccn传输框架中实现,并且可以驻留在转发器中(如图2a、2b和2e所示)、堆栈中(如图2c中)、或应用程序中(如图2d所示)。图2a示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在单个转发器中。应用程序210和250可以驻留在同一设备上或经由网络202进行通信的不同设备上。应用程序210可以使用api212、214和216通过网络202进行通信,并且api212-216可以经由门户220与传输框架230交互。传输框架230可以包括一个或多个传输堆栈,每个传输堆栈包括多个堆栈组件或通信模块。在图2a中,传输框架230描绘了一个传输堆栈(例如,传输堆栈231),其包括堆栈组件232、234、236和238。api适配器232可以在api与特定传输堆栈和传输框架230之间进行通信。流控制器234可以对业务进行整形和管理,对兴趣进行流水线化和传输,以及对内容对象进行排序。验证器/签名器236可以对去往网络元件的内容对象进行编码和签名,对去往应用程序的内容对象进行解码和验证,对去往网络元件的兴趣进行编码,以及对去往应用程序的兴趣进行解码。转发器/适配器238可以与转发器240进行通信。转发器240可以通过网络202与其他转发器进行通信。收集器组件242可以驻留在转发器240内(或转发器280内,未示出)。其他堆栈组件(未示出)可以包括与以下各项有关的功能:安全性(例如,加密,解密,认证,数据签名,签名验证,信任评估和过滤)、数据处理(例如,编码,解码,封装,解封装,转码,压缩,提取和解压缩)、和存储(例如,数据存储,对存储装置的数据检索,重复数据删除,分段和版本控制)。

类似地,应用程序250可以使用api252、254和256来通过网络202进行通信,并且api252-256可以经由门户260与传输框架270交互。传输框架270可以包括一个或多个传输堆栈,每个传输堆栈包括多个堆栈组件或通信模块。在图2a中,传输框架270描绘了一个传输堆栈(例如,传输堆栈271),其包括以下堆栈组件:api适配器272;流控制器274;验证器/签名器276;以及转发器/适配器278,其可以与转发器280进行通信。转发器280可以通过网络202与转发器240进行通信。应用程序210可以与消费者或客户端计算设备相关联,并且应用程序250可以与制作者或者内容制作设备相关联。

在操作期间,驻留在转发器240中的收集器242可以监视作为传出兴趣和传入内容对象的多个分组。例如,应用程序210可以通过堆栈231经由门户实例220生成和发送名称为“/a/b/c”的兴趣290。当兴趣290离开堆栈231时,它通过转发器240和收集器242。收集器242可以监视兴趣290被发送时的时间。兴趣290然后可以通过网络202并通过例如转发器280行进,以便被与堆栈271相关联的应用程序250满足。应用程序250可以生成名称为“/a/b/c”并且有效载荷为“data(数据)”的响应内容对象292。内容对象292可以通过网络202经由转发器280行进到转发器240。收集器242可以注意它接收响应传入内容对象292的时间,并且在存储设备242.1中记录与名称“/a/b/c”中包括的多个命名空间(即,“/a”、“/a/b”、和“/a/b/c”)相关联的往返时间。如下面在题为“示例性历史信息”的部分中所描述的,收集器242也可以在存储设备242.1中存储与给定命名空间相关联的其他历史信息。存储设备242.1可以仅由收集器242访问或与其他组件或元件共享。

收集器242也可以通过监视兴趣294被接收到时的时间来监视(由应用程序250经由转发器280发送的名称为“/d/e/f”的)传入兴趣294。收集器242可以随后监视和记录传出响应内容对象296被发送时的时间,其中内容对象296具有名称“/d/e/f”并且由应用程序210经由转发器240发送。收集器242也可以监视和记录与名称“/d/e/f”中包括的多个命名空间(即“/d”、“/d/e”、和“/d/e/f”)相关联的往返时间以及其他历史信息。

因此,收集器242可以获得和存储与给定命名空间有关的各种历史信息。任何请求实体(例如,系统的用户)随后可以向组件查询历史信息。请求实体可以是:与第一堆栈相关联的应用程序(例如,应用程序210),其中收集器组件驻留在第一堆栈中;与不同于第一堆栈的第二堆栈相关联的应用程序(例如,应用程序250);第一堆栈的堆栈组件,其中堆栈组件不同于收集器组件(例如,流控制器234);第二堆栈的堆栈组件(例如,流控制器274);以及网络中的任何其他元件或节点(未示出)。

图2b示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在共享转发器中。图2b中的框架对应于图2a中的框架,不同之处在于应用程序210和250以及堆栈231和271分别都与转发器240相关联。在图2b中,收集器242驻留在转发器240中并且因此可以监视通过转发器240的所有业务。转发器240由应用程序210和250共享,应用程序210和250可以驻留在同一设备上。收集器242可以以与如上面在图2a中描述的类似方式监视发送到网络202和从网络202接收的分组。例如,收集器242可以监视从应用程序210经由网络202通过堆栈231发送到另一网络节点(未示出)的传出兴趣以及经由网络202接收的传入响应内容对象。收集器242也可以监视经由网络202通过堆栈271发送到应用程序250的传入兴趣以及经由网络202发送的传出响应内容对象。收集器242可以存储所收集的与被监视分组相关联的历史信息(例如,存储在存储设备242.1中,未在图2b中示出)。

图2c示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在传输框架的单个传输堆栈中。图2c中的框架对应于图2a中的框架,不同之处在于收集器242是驻留在堆栈231内的堆栈组件。请求实体可以向收集器242提交对与给定命名空间相关联的历史信息的查询。在美国专利申请no.14/746,490中描述了传输堆栈名称方案,包括直接向堆栈组件提交查询。收集器242可以存储所收集的与被监视分组相关联的历史信息(例如,存储在存储设备242.1中,未在图2c中示出)。

图2d示出了根据本发明实施例的促进高效传输协议的示例性传输框架,其中收集器组件驻留在与传输框架相关联的应用程序中。图2d中的框架对应于图2a中的框架,不同之处在于收集器242驻留在应用程序210中。再次,收集器242可以存储所收集的与被监视分组相关联的历史信息(例如,存储在存储设备242.1中,未在图2d中示出)。

示例性历史信息

考虑由同一终端主机上的不同应用程序发出的以下n个兴趣消息的序列,即ij,j=1,...,n:

i1=/a/b1/c1

i2=/a/bl/c2

i3=/a/b1/c3

ii-1=/a/b1/ci

ii=/a/b2/c1

in=/a/b2/filen

在包括每个兴趣ij的窗口中,“/a”命名空间具有n个兴趣,“/a/b1”命名空间具有i个兴趣,并且“/a/b2”命名空间具有(n-i+1)个兴趣。每个兴趣ij具有相应的内容对象响应cj。

对于每个兴趣ij,收集器组件可以基于每个特定命名空间收集各种类型的历史信息,包括以下非详尽列表中的项目:

1)往返时间(“rtt”),其在发送传出/传入兴趣时开始,并在接收到相应的传入/传出内容对象时结束;

2)尚未接收到其相应的传入/传出内容对象的传出/传入兴趣的数量(例如,未完成的窗口大小);

3)基于预定时间量或rtt接收到其相应的传入/传出内容对象的若干传出/传入兴趣;

4)基于预定时间量或rtt正确检索的若干字节;

5)基于预定时间量或rtt而超时的若干传出/传入兴趣;

6)基于预定时间量或rtt而重传的若干传出/传入兴趣;

7)基于预定时间量或rtt而超时的若干重传的传出/传入兴趣;

8)基于预定时间量或rtt而接收/发送的若干兴趣返回消息,其中兴趣返回消息基于在消息中指示的代码来被识别;

9)基于预定时间量或rtt而聚合的若干传出/传入兴趣;

10)针对给定时间识别的若干活动上游路径;

11)用于转发或处理分组的策略;

12)若干发送的原始兴趣,其中原始兴趣不是重传的兴趣,其中这若干原始兴趣包括共享一个或多个名称前缀的(“相关”)名称以及不共享任何名称前缀的(“不相关”)名称;和

13)转发信息库中的若干活动条目,其中这若干条目包括相关和不相关的条目。

示例性最佳传输参数

在本发明的实施例中,响应器组件可以基于先前收集的历史信息来执行来自请求实体的查询中包括的功能。响应器组件可能可以访问包含相关历史信息的本地存储装置,或者响应器组件可以从收集器组件获得相关历史信息(如下面关于图3a-3g所描述)。对最佳传输参数的查询的示例包括对给定命名空间的平均rtt的计算、传输窗口大小的估计、和用户定义函数的查询。在估计给定命名空间的平均rtt时,考虑由同一终端主机上的不同应用程序发出的n个兴趣消息,即ij,j=1,...,n。回想一下,每个兴趣ij都具有相应的内容对象响应cj。将rj设为兴趣ij的发出和相应的内容对象cj的检索的rtt,并假设针对大小为d<i且d<(n-i+1)的窗口来维护历史信息。那么,对于三个命名空间(即“/a”、“/a/b1”、和“/a/b2”)中的每一个,响应器组件可以计算平滑后的rtt平均值r[/a]、r[/a/b1]、和r[/a/b2]。可以基于任何适当的算法来计算这些rtt平均值,例如,作为加权移动平均值或指数移动平均值。此外,虽然rtt计算可以基于时间,但是它也可以基于其他信息,诸如检索到的内容对象的跳数。

在估计传输窗口大小时,根据传输协议的行为,回想到传输窗口大小与时间耦合,因为窗口大小随时间改变。该历史信息的目标不是预测传输协议的行为,而是被动地测量传输协议的影响。考虑小的(可配置的)时间纪元“e”。给定n个兴趣i1,…,in的帧,响应器组件针对该帧中的每个命名空间来计算未完成的兴趣的数量。得到的数量被视为大小为e的给定时隙中的样本。当时隙前进时,新样本被计算。例如,在时隙t1中,对于命名空间“n”可能存在x个未完成的兴趣。然后,在时隙t2中,对于命名空间n可能存在y个未完成的兴趣。因此,平均窗口大小可被近似地计算为(x+y)/2。该近似的准确性取决于时隙的粒度(例如,e)和帧的宽度两者。也可以基于rtt估计来动态地修改e。例如,如果给定命名空间的rtt估计较小,则可以相应地减小e。e的值通常小于响应器组件处理给定帧中的所有兴趣所花费的时间。

在计算用户定义的函数时,响应器组件可以接受用于处理兴趣流的闭包(closure)。闭包的表示符合流处理的接口。也就是说,闭包是一函数,它接受一系列兴趣,产生输出,并且可以在该过程中调用其他闭包。这可以与“map-reduce”范例进行比较,其中用户提供自定义的“map(映射)”和“reduce(规约)”函数并且框架相应地调用它们。可以将兴趣流的处理函数设计为对功能范例进行建模。这样的用户定义函数的一个示例是估计兴趣被用于给定命名空间的频率的函数。另一个示例是估计给定命名空间的消息失败(例如,兴趣返回)的频率的函数。

网络资源的市场

基于本发明的传输协议,一些实施例提供了一种作为网络资源市场运行的系统。市场特征可以由响应器组件或请求实体发起。响应器组件可以在其初始响应中包括可用资源的一组值(例如,与特定名称前缀有关的分组的带宽)和为资源付款的选项(例如,对数字货币的类型(诸如比特币)的选择)。在接收到该响应时,请求实体可以发送包括对资源的付款或对资源的出价(如果请求器组件表明市场具有拍卖特征的话)的兴趣。请求器组件可以考虑来自请求实体的出价(以及来自其他请求实体的相关出价),确定相关资源的分配,并将资源分配确定的结果发送给请求实体(或多个实体,如果适用的话)。或者,请求实体可以在其初始查询或兴趣消息中包括对资源的出价或付款,并且响应器组件然后可以适当地响应该出价或付款(例如,利用一响应,该响应包括响应器组件基于来自请求实体的出价和来自其他请求实体的出价进行资源分配确定的结果)。

在一些情况下,可能无法保证公平的资源分配,因此,一些网络资源可能被其他网络实体高度追求,例如,使用同一本地转发器的并行传输堆栈。本发明的响应器组件可以基于数字货币在类似市场的环境中控制这些高需求资源中的一些。例如,在请求实体和响应器组件与不同堆栈相关联的情况下(例如,响应器组件驻留在用于请求应用程序的非本地转发器中),请求实体对更多资源的查询(这可能意味着客户端侧传输协议实例的更高价值)可能导致提高的吞吐量,但代价是降低竞争流的吞吐量。响应器组件负责做出对网络改进与特定网络资源的成本之间的平衡的决定。

此外,请求实体可以同时查询多个响应器组件以获得最佳答案。例如,在具有用于特定兴趣消息的多个可能流的网络中,请求实体可以利用该知识来选择具有最高和最优传输协议值或参数的流。

示例性的堆栈内通信

图3a示出了根据本发明实施例的促进高效传输协议的系统300中的示例性通信,其中请求实体是与响应器组件相关联的同一堆栈的堆栈组件。系统300对应于关于图2a描绘并描述的示例性传输框架,其中收集器组件(例如,收集器242)驻留在转发器(例如,转发器240)中。回想一下,请求实体可以是:与第一堆栈相关联的应用程序(例如,应用程序210),其中收集器组件驻留在第一堆栈中或与第一堆栈相关联;与不同于第一堆栈的第二堆栈相关联的应用程序(例如,应用程序250);第一堆栈的堆栈组件(例如,流控制器234),其中该堆栈组件不同于收集器组件;第二堆栈的堆栈组件(例如,流控制器274);以及网络中的任何其他元件或节点(未示出)。

在系统300中,请求实体是流控制器234,其是与响应器组件244相关联的同一堆栈(例如,堆栈231)的堆栈组件。转发器240包括响应器组件244和收集器组件242。流控制器234可以生成去往本地转发器240中的响应器244的控制消息或查询消息302。查询消息332可以具有以下格式的名称302.1:“/localhost/fwder/ssp/cmd=query-optimal-window-size/namespace=<namespace>/<nonce>”。名称302.1中的变量可以被定义如下:“/localhost”是应用程序210、堆栈231和转发器240所驻留于的设备的名称;“/fwder”指示控制消息去往本地设备上的转发器(例如,转发器240);“/ssp”指示驻留在转发器内的特定响应器组件的名称(例如,“/ssp”用于“会话状态协议”或“/grc”用于“通用响应器组件”);“cmd”指示命令或查询(例如,用于计算最佳窗口大小,其对应于所指示的命名空间的未完成的兴趣的数量);“namespace(命名空间)”指示命令或查询所基于的名称前缀(例如,流标识符或可路由的名称前缀,其包括从最一般级别开始排序的一个或多个连续名称成分,诸如“/r_prefix”、“/a/b2/filen”、或“/parc/ccn/file1”);并且“<nonce>”是随机生成的新鲜值,其可以保证唯一性和新鲜度两者。名称330.1也可以包括查询的字符串、查询的一个或多个参数、以及查询的功能。

作为响应实体的响应器244可以接收查询消息302,在存储装置244.1中针对执行查询消息302中包括的功能所需的相关历史信息来执行查找,并且随后返回包括所查询的最佳传输参数的响应。该响应(其可以是内容对象)可以在查询消息302的反向路径上行进回到流控制器234。

响应器244也可以从收集器组件获得相关的历史信息。图3b示出了根据本发明实施例的转发器组件中的示例性响应器组件,其中请求实体和响应器组件与同一堆栈相关联。在操作期间,响应器244可以从请求实体接收具有以下格式的名称302.1的查询消息302:“/localhost/fwder/ssp/cmd=query-optimal-window-size/namespace=<namespace>/<nonce>”。响应器244可以确定相关的历史信息(例如,执行查询中包括的命令所需的信息)是否存储在其本地高速缓存中。如果不是,则响应器244可以向收集器242提交针对相关历史信息的请求304。

注意,收集器242先前已经收集并存储了与传出兴趣390和相应传入内容对象392以及传入兴趣294和相应传出内容对象396有关的历史信息。收集器242可以将该历史信息存储在本地存储设备242.1中。收集器242可以从存储装置242.1中检索相关历史信息,并且在响应306中将相关历史信息返回给响应器244。响应器244可以随后执行计算参数功能308,由此响应器244基于(经由请求304和响应306)从收集器242获得的相关历史信息来执行查询中所包括的命令。最后,响应器244可以向请求实体返回响应消息310,该响应消息310包括所请求的命令的结果(例如,对所指示的命名空间的最佳窗口大小的查询)。请求实体然后可以使用该信息来执行提高网络效率的操作,例如收敛到特定命名空间的最佳窗口大小。

图3c示出了根据本发明实施例的促进高效传输协议的系统320中的示例性通信,其中请求实体是与响应器组件所关联于的同一堆栈相关联的应用程序。在系统320中,请求实体是应用程序210,其是与响应器组件244所关联于的同一堆栈(例如,堆栈231)相关联的应用程序。应用程序210可以生成去往本地转发器240中的响应器244的控制消息322。查询消息322可以具有以下格式的名称322.1:“/localhost/fwder/ssp/cmd=query-optimal-window-size/namespace=<namespace>/<nonce>”(其与图3a中的名称为302.1的控制消息302的格式相同)。类似于图3a中的通信,响应器244接收查询消息322并在控制消息322的反向路径上将响应返回到应用程序210。此外,响应器244可以与收集器242进行通信,如关于图3b所描绘的。

示例性的堆栈间通信

图3d示出了根据本发明实施例的促进高效传输协议的系统330中的示例性通信,其中请求实体是与堆栈相关联的应用程序,响应器组件不与该堆栈相关联。在系统330中,请求实体是应用程序250,其是与堆栈(例如,堆栈271)相关联的应用程序,响应器组件244不与该堆栈相关联(例如,响应器244驻留在转发器240中并且不与堆栈271相关联)。

应用程序250可以生成具有以下格式的名称332.1的兴趣消息332:“/r_prefix/ssp/cmd=bid-on-bandwidth/param1=<bid.value.data/param2=<data>/id=<id>/auth=<sig+cert>/<nonce>”。名称332.1中的变量可以被定义如下:“/r_prefix”是可路由的名称前缀,其包括从最一般级别开始排序的一个或多个连续名称成分(例如,“/a/b2/filen”或“/parc/ccn/file1”);“/ssp”指示驻留在转发器内的特定响应器组件的名称(例如,“/ssp”用于“会话状态协议”或者“/grc”用于“通用响应器组件”);“cmd”指示命令或查询(例如,用来计算最佳窗口大小,其对应于所指示的命名空间的未完成的兴趣的数量,或者用来对诸如带宽之类的可用资源进行出价);“param1”指示要在命令中使用的参数(例如,作为由响应器244执行的函数的输入);“param2”指示要在命令中使用的另一参数;“id”指示请求实体的用户标识符(例如,“<id>”);“auth”指示请求实体的认证信息,其可以包括请求实体的签名和/或数字证书(例如,“<sig+cert>”);并且“<nonce>”是随机生成的新鲜值,以确保唯一性和新鲜度两者。

在一些实施例中,名称332.1可以包括针对其的历史信息被请求的可路由前缀的一个或多个特定命名空间。另外,上面定义并描述为被包括在兴趣的名称中的变量可以被包括在兴趣的其他字段中。换句话说,可以可替代地在兴趣332中的其他字段(未示出)中指示名称332.1中所包括的变量和信息。

此外,名称332.1可以包括命令的字符串(例如,“bid-on-bandwidth”)、查询的一个或多个参数(例如,“<bid.value.data>”)、以及查询的功能。例如,查询的功能可以指示对响应器组件基于历史信息执行功能或计算信息的请求,诸如给定命名空间的最佳窗口大小、给定命名空间的平均rtt、给定命名空间的传输窗口大小的估计、或用户定义的函数(如上面在题为“示例性最佳传输参数”的部分中所描述)。兴趣332也可以包括具有值“<data>”的有效载荷332.2(例如,如果请求实体需要提供附加数据以供响应器组件执行特定功能或其他计算)。

响应器244可以接收兴趣332,在存储装置244.1中执行对相关历史信息的查找,执行如在命令中所包括的计算或功能,以及随后返回可以是内容对象(未示出)的包括计算结果(例如,所查询的最佳传输参数)的响应。响应内容对象可以在兴趣332的反向路径上行进回到应用程序250。

如上面关于图3b所描述,响应器244也可以从收集器组件获得相关的历史信息。图3e示出了根据本发明实施例的转发器组件中的示例性响应器组件,其中请求实体和响应器组件不与同一堆栈相关联。在操作期间,响应器244可以从请求实体接收具有以下格式的名称332.1的兴趣消息332:“/r_prefix/ssp/cmd=bid-on-bandwidth/param1=<bid.value.data>/param2=<data>/id=<id>/auth=<sig+cert>/<nonce>”。响应器244可以确定相关历史信息(例如,执行查询中所包括的命令所需的信息)是否存储在其本地高速缓存中。如果不是,则响应器244可以向收集器242提交对相关历史信息的请求334。收集器242可以从其本地存储装置242.1中检索相关历史信息,并在响应336中将相关历史信息返回给响应器244。响应器244随后可以执行计算参数功能338,由此响应器244基于(经由请求334和响应336)从收集器242获得的相关历史信息来执行查询中所包括的命令。最后,响应器244可以向请求实体返回内容对象340,该内容对象340包括所请求的命令的结果(例如,基于在兴趣332中指示的出价或付款进行的资源分配的结果)。例如,响应内容对象340可以指示基于响应器组件分配给请求实体的更大可用带宽(例如,网络资源)的传输窗口大小,这导致收敛到特定命名空间的最佳窗口大小。

图3f示出了根据本发明实施例的促进高效传输协议的系统350中的示例性通信,其中请求实体是不与响应器组件相关联的堆栈的堆栈组件。在系统350中,请求实体是流控制器274,其是不与响应器组件244相关联的堆栈(例如,堆栈271)的堆栈组件。类似于图3d中的系统330的应用程序250,图3f中的流控制器274可以生成具有以下格式的名称352.1的兴趣消息352:“/r_prefix/ssp/cmd=bid-on-bandwidth/param1=<bid.value.data>/param2=<data>/id=<id>/auth=<sig+cert>/<nonce>”(其与图3d中的具有名称332.1的兴趣332的格式相同)。类似于图3d中的通信,响应器244可以接收兴趣352并在兴趣352的反向路径上将响应内容对象返回到流控制器274。此外,响应器244可以与收集器242进行通信,如关于图3e所描绘。

图3g示出了根据本发明实施例的促进高效传输协议的系统360中的示例性通信,其中请求实体是另一网络元件或节点。在系统360中,请求实体是网络设备364,其是网络中的另一个元件或节点。类似于图3d中的系统330的应用程序250,网络设备364可以生成具有以下格式的名称362.1的兴趣消息362:“/r_prefix/ssp/cmd=bid-on-bandwidth/param1=<bid.value.data>/param2=<data>/id=<id>/auth=<sig+cert>/<nonce>”(其与图3d中的具有名称332.1的兴趣332的格式相同)。类似于图3d中的通信,响应器244接收兴趣362并在兴趣362的反向路径上将响应内容对象返回到设备364。此外,响应器244可以与收集器242进行通信,如关于图3e所描绘的。

响应器组件促进高效传输协议

图4a呈现了流程图400,其示出了根据本发明实施例的响应实体或响应器组件促进有效传输协议的方法。在操作期间,响应器组件从请求实体接收第一兴趣,第一兴趣是对最佳传输参数的查询(操作402)。兴趣分组的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,并且查询基于包括一个或多个连续名称成分的名称前缀。例如,查询可以包括对要用于名称前缀的最佳窗口大小的请求。查询也可以包括对网络资源的出价或付款。响应于第一兴趣,响应器组件获得计算最佳传输参数所需的历史信息,其中历史信息基于命名空间或名称前缀而与兴趣分组和对应内容对象分组相关联(操作404)。响应器组件确定历史信息是否存储在其本地高速缓存中(操作406)。响应器组件可以访问存储历史信息的本地高速缓存,或者响应器组件可以从可以访问历史信息或存储历史信息的另一组件中检索历史信息。

如果历史信息未被存储在其本地高速缓存中,则响应器组件从存储历史信息的收集器组件中检索历史信息(操作408),并基于获得的历史信息来计算最佳传输参数(操作410)。如果历史信息存储在其本地高速缓存中,则响应器组件从其本地高速缓存(未示出)中获得历史信息并基于获得的历史信息来计算最佳传输参数(操作410)。随后,响应器组件向请求实体发送包括计算出的最佳传输参数的第一响应(操作412)。第一响应可以包括针对可用网络资源的一组值以及为资源付款或出价的选项(如上面在题为“网络资源的市场”的部分中所描述的)。第一响应也可以包括对资源的出价或付款的结果(如果第一兴趣包括对资源的出价或付款的话)。第一响应也可以包括所有权令牌,其是由响应器组件执行的散列函数的原像。在将状态从一个流迁移到另一个流时,请求实体可以在后一会话中使用所有权令牌(或令牌的散列)进行验证。响应器组件可以基于所有权令牌(或令牌的散列)来验证请求实体。

图4b呈现了流程图420,其示出了根据本发明实施例的响应实体或响应器组件促进高效传输协议的方法,包括网络资源市场。在操作期间,响应器组件接收第一兴趣,第一兴趣是对最佳传输参数的查询(操作422)。兴趣分组的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,并且查询基于包括一个或多个连续名称成分的名称前缀。响应于第一兴趣,响应器组件基于与命名空间或名称前缀相关联的历史信息来计算最佳传输参数(操作424)。响应器组件向请求实体发送包括计算出的最佳传输参数的第一响应(操作426)。

响应于第一响应,响应器组件接收指示对资源的出价或付款的第二兴趣(操作428)。响应器组件基于出价(以及从其他请求实体接收的针对同一资源的出价)确定资源分配(操作430)。响应器组件生成包括资源分配确定的结果的第二响应并将其发送给请求实体(或多个实体,如果适用的话)(操作432)。

请求实体促进高效传输协议

图5a呈现了流程图500,其示出了根据本发明实施例的请求实体促进高效传输协议的方法。在操作期间,请求实体生成第一兴趣,第一兴趣是对最佳传输参数的查询(操作502)。兴趣分组的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,并且查询基于包括一个或多个连续名称成分的名称前缀。第一兴趣可以包括服务质量或优先级、请求实体的用户标识和认证信息、请求实体对所请求的传输参数的估计、对响应器组件检测到的最佳参数的改变的通知标志、以及对网络资源的出价或付款。请求实体将第一兴趣发送到响应实体或响应器组件(操作504)。

请求实体确定其是否接收到具有所查询的最佳传输参数的第一响应(判定506)。第一响应可以包括可用网络资源的一组值以及为资源付款或出价的选项(如上面在题为“网络资源的市场”的部分中所描述的)。第一响应也可以包括对资源的出价或付款的结果(如果第一兴趣包括对资源的出价或付款的话)。第一响应也可以包括所有权令牌,其是由响应器组件执行的散列函数的原像。在将状态从一个流迁移到另一个流时,请求实体可以在后一会话中使用所有权令牌(或令牌的散列)进行验证。响应器组件可以基于所有权令牌(或令牌的散列)来验证请求实体。

如果请求实体未接收到第一响应,则该方法返回。如果请求实体确实接收到第一响应,则请求实体基于在该响应中接收到的最佳传输参数来执行操作,其中该操作提高网络效率(操作508)。

图5b呈现了流程图520,其示出了根据本发明实施例的请求实体促进高效传输协议的方法,包括网络资源市场。在操作期间,请求实体生成并发送第一兴趣,第一兴趣是对最佳传输参数的查询(操作522)。兴趣分组的名称是分层结构的可变长度标识符,其包括从最一般级别到最具体级别排序的连续名称成分,并且该查询基于包括一个或多个连续名称成分的名称前缀。请求实体确定它是否接收到具有所查询的最佳传输参数的第一响应(判定524)。如果否,则该方法返回。如果是,则请求实体基于在响应中接收到的最佳传输参数来执行操作,其中该操作提高网络效率(操作526)。

回想第一响应可以包括可用网络资源的一组值以及为资源出价或付款的选项(如上面关于图5a的判定506所描述的)。响应于第一响应,请求实体可以生成并发送指示对资源的出价或付款的第二兴趣(操作528)。请求实体确定它是否接收到包括响应器组件进行的资源分配确定的结果的第二响应(判定530)。如果否,则该方法返回。如果是,则请求实体基于资源分配确定来执行动作,其中该动作提高网络效率(操作532)。

示例性计算机系统

图6示出了根据本发明实施例的促进高效传输协议的示例性计算机系统602。计算机系统602包括处理器604、存储器606和存储设备608。存储器606可以包括用作受管理存储器的易失性存储器(例如,ram),并且可以用于存储一个或多个存储器池。另外,计算机系统602可以耦合到显示设备610、键盘612和指点设备614。存储设备608可以存储操作系统616、内容处理系统618、和数据630。

内容处理系统618可以包括指令,这些指令当由计算机系统602执行时可以使计算机系统602执行本公开中描述的方法和/或过程。具体而言,内容处理系统618可以包括用于跨诸如内容中心网络之类的计算机网络向其他网络节点发送数据分组和/或从其他网络节点接收数据分组的指令(通信模块620)。数据分组可以包括具有作为hsvli的名称的兴趣分组或内容对象分组。另外,内容处理系统618可以包括用于接收指示对最佳传输参数的查询的第一兴趣的指令(通信模块620)。内容处理系统618也可以包括用于基于与名称前缀相关联的历史信息来计算最佳参数的指令(参数计算模块624)。内容处理系统618也可以包括用于发送包括计算出的最佳传输参数的第一响应的指令(通信模块620)。

内容处理系统618也可以包括用于生成第二响应的指令(分组生成模块622),第二响应是指示对计算出的最佳参数的改变的通知的兴趣。内容处理系统618也可以包括用于生成所有权令牌(令牌管理模块626)以及将该所有权令牌包括在第一响应中(分组生成模块622)的指令,该所有权令牌是产生散列值的散列函数的原像。

内容处理系统618也可以包括用于基于一个或多个出价来确定资源分配的指令(资源分配模块628)。内容处理系统618也可以包括用于在第一响应中包括可用资源的一组值和为资源付款的选项的指令(分组生成模块622)。内容处理系统618也可以包括用于响应于第一响应而接收指示对资源的出价或付款的第二兴趣(通信模块620)以及生成包括资源分配确定的结果的第二响应(分组生成模块622)的指令。

另外,内容处理系统618可以包括用于生成第一兴趣(分组生成模块622)以及将第一兴趣发送到响应实体(通信模块620)的指令,第一兴趣指示对最佳传输参数的查询。内容处理系统618也可以包括用于响应于接收到包括计算出的最佳参数的第一响应而执行提高网络效率的操作的指令(操作执行模块630)。

内容处理系统618也可以包括用于在第一兴趣中包括通知标志(分组生成模块622)以及响应于第一兴趣而接收第二响应(通信模块620)的指令,第二响应是指示对计算出的最佳参数的改变的通知的兴趣。

内容处理系统618也可以包括用于在第一兴趣中指示对可用资源的出价或付款的指令(分组生成模块622)。内容处理系统618也可以包括用于生成指示对资源的出价或付款的第二兴趣(分组生成模块622)以及响应于第二兴趣而接收包括资源分配确定的结果的第二响应(通信模块620)的指令。

数据632可以包括作为输入所需的任何数据,或者被本公开中描述的方法和/或过程作为输出生成的任何数据。具体而言,数据632可以至少存储以下各项:名称;作为hsvli的名称;一个或多个名称成分;名称前缀;命名空间;对应于兴趣或内容对象的分组;传输框架;协议或传输堆栈;传输或协议栈的一个或多个组件;收集器组件;响应器组件;与传输或协议栈相关联的门户实例;历史信息(如上面在题为“示例性历史信息”的部分中描述);对最佳传输参数的请求或查询;传输参数(如上面在题为“示例性最佳传输参数”的部分中描述);查询或控制消息;对资源的出价或付款;可用资源的一组值;为资源付款的选项;通知标志或指示符;资源分配确定;用来支持网络资源市场的实施的数据;可路由的名称前缀;流标识符;服务质量或优先级;用户标识符;认证信息;一组估计的传输参数;查询的类型;查询的字符串;一个或多个查询参数;指示查询的功能的命令;所请求的传输参数的类型;查询的功能的结果;随机生成的新鲜值;本地转发器的标识符;窗口大小;重传的兴趣的传输速率;原始兴趣的传输速率;所有权令牌;作为对所有权令牌执行的散列函数的结果的散列值;数字货币的类型;以及数字货币。

在该具体实施方式中描述的数据结构和代码通常存储在计算机可读存储介质上,该计算机可读存储介质可以是可以存储供计算机系统使用的代码和/或数据的任何设备或介质。计算机可读存储介质包括但不限于易失性存储器,非易失性存储器,诸如磁盘驱动器、磁带、cd(紧凑盘)、dvd(数字通用光盘或数字视频光盘)之类的磁性和光学存储设备,或者能够存储现在已知或以后开发的计算机可读介质的其他介质。

在具体实施方式部分中描述的方法和过程可以体现为可以存储在如上所述的计算机可读存储介质中的代码和/或数据。当计算机系统读取并执行存储在计算机可读存储介质上的代码和/或数据时,计算机系统执行体现为数据结构和代码并存储在计算机可读存储介质中的方法和过程。

另外,可以将上述方法和过程包括在硬件模块中。例如,硬件模块可以包括但不限于专用集成电路(asic)芯片、现场可编程门阵列(fpga)、以及现在已知或以后开发的其他可编程逻辑器件。当激活硬件模块时,硬件模块执行硬件模块中所包括的方法和过程。

已经仅出于说明和描述的目的呈现了本发明的实施例的前述描述。它们并非旨在穷尽无遗或将本发明限制于所公开的形式。因此,许多修改和变化对于本领域技术人员来说将是显而易见的。此外,以上公开内容不是旨在限制本发明。本发明的范围由所附权利要求限定。

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