用于数据通信的系统、方法和装置的制作方法

文档序号:6351050阅读:120来源:国知局
专利名称:用于数据通信的系统、方法和装置的制作方法
技术领域
本申请涉及调节设备之间的通信,具体地说,涉及数据通信协议兼容设备的资源节约。
背景技术
通用串行总线(USB)标准定义了用于将电子外围设备连接到主机设备的数据通信协议。迄今为止,已经有三个版本的USB标准((USB 1. 0、USB 2. 0和USB 3. 0)。最初将USB标准设想为替代计算机上的非标准化串行和并行数据端口,这些端口需要开发和维持多种设备驱动。然而,USB标准的随后普及已经使视频游戏控制台、DVD播放器、智能电话和多种多样的其它消费电子产品上具有了 USB端口标准特征。外围设备有时称为功能,并且可以包括诸如键盘、扫描仪、数码相机、打印机、外部存储设备等其它计算机和设备。USB标准实现了即插即用能力,这意味着外围设备可以与主机连接和断开,而不用对主机进行关机或者重启。更确切地说,当设备第一次连接时,主机枚举和识别该设备,并且装载该设备所需要的设备驱动。随后,主机和连接的外围设备能够向彼此传送数据。

发明内容
所附权利要求的范围中的系统、方法和设备的各种实施例都具有一些方面,但是这些方面中没有单个方面可以单独地负责本文描述的期望的属性。在不限制所附权利要求的范围的情况下,在本文中描述了一些突出特征。在考虑该讨论之后,特别是在阅读题目为“具体实施方式
”的部分之后,将理解如何使用各个实施例的特征来管理对寻呼信道的监控寸寸。本发明的一个方面是方法的实现,该方法包括对至少一个信号进行感测,其中所述至少一个信号指示位于第一设备上的用于支持所述第一设备和第二设备之间的通信的相应资源的测量值;基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述第一设备对通信的处理。本发明的另一个方面是设备的实现,该设备包括监控实体,所述监控实体被配置为对至少一个信号进行感测,其中所述至少一个信号指示位于所述设备上的用于支持所述设备和第二设备之间的通信的相应资源的测量值。该设备还包括控制器,所述控制器被配置为基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述设备对通信的处理。本发明的另一个方面是设备的实现,该设备包括用于对至少一个信号进行感测的模块,其中所述至少一个信号指示位于所述设备上的用于支持所述设备和第二设备之间的通信的相应资源的测量值;用于基于所述至少一个信号来确定资源利用值的模块;以及用于通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数的模块,其中,所述操作参数影响所述设备对通信的处理。本发明的另一个方面是包括计算机可读介质的计算机程序产品的实现,所述计算机可读介质包括在非临时性存储器中存储的指令,所述指令当被执行时使得装置执行以下操作对至少一个信号进行感测,其中所述至少一个信号指示位于第一设备上的用于支持所述第一设备和第二设备之间的通信的相应资源的测量值;基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述第一设备对通信的处理。


为了可以详细地理解本发明的特征的方式,本申请针对上面的简要概括参考一些方面给出了更具体的描述,这些方面中的一些在附图中进行了说明。然而,应当注意的是,由于描述可以准许其它等同的有效方面,因此这些附图仅仅描绘了本发明的某些典型的方面,因而不应被认为限制本发明的范围。图1是USB系统的简化框图。图2是外围设备的实现的简化框图。图3是外围设备的实现的简化框图。图4是外围设备的实现的简化框图。图5是外围设备的实现的简化框图。图6是方法的实现的流程图。图7是方法的实现的流程图。图8是方法的实现的信号图。根据惯例,附图中所示的各种特征可以不按比例进行绘制。因此,为了清楚起见,可以任意放大或缩小各种特征的尺寸。另外,附图中的一些可能没有描述出给定系统、方法或设备的所有组件。最后,在整个说明书和附图中,相同的附图标记可以用于表示相同的特征。
具体实施例方式下面描述所附权利要求的范围之中的实施例的各个方面。显而易见的是,本文描述的方面可以用多种形式来体现,并且本文描述的任何特定结构和/或功能仅仅是说明性的。根据本发明,本领域技术人员应当清楚的是,本文描述的方面可以独立于任何其它方面实现,并且可以用各种方式组合这些方面中的两个或更多个。例如,可以使用本文阐述的任意数量的方面实现装置和/或实践方法。此外,可以使用除本文阐述的方面中的一个或多个之外的其它结构和/或功能或者不同于本文阐述的方面中的一个或多个的其它结构和/或功能来实现此种装置和/或实践此方法。虽然本文描述了特定的方面,但是这些方面的多种变型和置换落入本发明的范围之内。虽然提及了优选的方面的一些益处和优点,但是本发明的范围并不受到特定的益处、用途或目标的限制。相反,本发明的方面旨在广泛地适用于不同的无线技术、系统配置、网络和传输协议,其中的一些通过举例说明的方式在附图和以下对优选方面的描述中进行了说明。详细描述和附图仅仅是对本发明的说明而非限制,本发明的范围由所附权利要求及其等同物进行定义。如上所述,现在将USB端口作为标准特征包括在多种多样的电子设备上,以使这些设备能够与主机控制器进行交互和/或使设备能够相互交互。主机通常是计算机,但在众多应用中,主机也可以是视频游戏控制台、智能电话、照相机、平板计算机或者任何其它电子设备。还存在可以与主机交互的多种类型的设备。例如,外围设备包括集线器、其它计算机、鼠标设备、键盘、扫描仪、数码相机、打印机、外部存储设备等等。本领域技术人员根据本发明将清楚的是,还可以将认作为主机设备的各种设备中的多种设备视作外围设备(反之亦然)。也就是说,主机和外围设备可以是相同类型的设备。USB标准提供名称“主机”和“外围设备”,作为识别这两个设备中的哪个设备对于根据USB标准在这两个设备之间建立的数据链路具有更大的相对控制的便利方式。主机充当USB数据链路的主控制器,而外围设备具有辅控制(就算真的有的话)。此外,USB系统中的设备通常以分层星形拓扑的方式连接到USB主机。在这种配置中,USB系统包括轮询总线,其中主机控制器包括单个USB控制器,该单个USB控制器管理该总线上的所有通信并且监控由于设备的连接和/或断开引起的总线拓扑的改变。虽然USB系统支持连接到总线的多个外围设备,但是USB协议是点到点的协议。换言之,单个主机一次只向单个唯一寻址的设备发送数据。因此,将针对多个设备的数据进行时分复用,使得每一个设备可以在其时隙期间接收或发送数据。通常,USB系统定义了一毫秒时长的帧。在该帧内,USB系统可以向总线上的多个设备或者所有设备分配不同的时隙。因为每一个设备具有唯一的地址,因此该设备知道发送的数据是针对它的,或者因为每一个设备向其发送的数据提供该唯一地址,因此主机知道该数据是从哪个设备接收的。图1是示出了单个主机110和单个设备120的简单的USB系统100的简化框图。如上所述,本领域技术人员将清楚的是,一个或多个设备可以连接到主机,并且图1中示出单个设备仅为了描绘本文公开的实现的更相关的方面。主机110和设备120共享上行链路12 和下行链路124b。上行链路用于从设备120向主机110传送数据。下行链路用于从主机110向设备传送数据。虽然将上行链路12 和下行链路124b描绘成不同的连接,但是本领域技术人员将清楚的是,上行链路12 和下行链路124b可以存在于主机110和设备120之间的同一物理连接上。通常,上行链路12 和下行链路124b包含在由主机110管理的USB总线中。设备120还包括缓冲器121,缓冲器121用于至少临时地存储经由下行链路12 接收的数据。大多的USB总线交易(transaction)包括三个分组。主机110发送描述该交易的类型和方向、设备地址和端点号的令牌分组。被寻址的设备120从该令牌分组中识别其地址。可以基于该令牌分组中指定的方向将数据从主机110传送到寻址的设备120,或者从寻址的设备120传送到主机110。在大多数情况下,数据的目的地响应出指示所传送的数据的接收状态的握手分组,这在下文中进行更详细地描述。在操作中,当设备120第一次连接到主机110时,设备120经历初始化、枚举和配置过程,以建立由主机Iio (以及在一些实现中,主机110上的客户软件)使用的设备120。虽然USB标准提供了在USB链路上支持480Mbps量级的数据速率(原始数据速率)的便利的标准化接口,但是相对高的数据速率对于具有有限资源的设备造成了独特的挑战。USB 2.0标准仅向外围设备提供了有限的机制集合以控制来自主机的输入数据流的速率。然而,该流控制机制具有有限的使用,并且当可用于外围设备的资源在相对较长的持续时间和/或永久受限时,该机制可能加剧资源约束所造成的限制。例如,一些设备可以是具有有限资源的手持设备和/或便携式设备。这些资源可以包括但不限于可用的操作功率、相对较小的存储器和处理功率分配。更具体地说,对当前可用的USB的流控制机制进行设计,以减轻由对可用于设备的资源的暂时约束所造成的短期提升的需求。换言之,当前可用的USB 2.0标准提供了基础的流控制机制,该基础的流控制机制是基于触发流控制机制的资源约束将持续短暂的时间跨度的假定来设计的。可用的流控制机制未对外围设备具有有限资源(例如,可用的电池功率)的情形提供适当的解决方案。进一步参见图1,根据USB标准,一个这种流控制机制指定在从主机110到设备120的链路上发送的数据/控制业务的每一个段必须用三种可能方式中的一种来确认。第一,当接收的数据是无错误时,设备120发送肯定确认(ACK)。第二,设备120向主机110发送用于表示循环冗余校验(CRC)失败、USB链路上的错误的数据接收和/或损坏的否定确认(ERR)0第三,设备120可以向主机110发送NAK信号,以便对主机110进行流控制。从设备120到主机110的NAK信号向主机110指示由于临时的资源约束使设备120不能处理输入数据。主机可以尝试在处理过程中,在触发来自设备120的更多NAK的下一个微帧处,尽早地进行重传。对于自供电以及至少受到可用电池功率约束的便携式设备来说,由于每一个NAK的传输导致电池功率和USB链路上的带宽的浪费,因此该系统效率低。作为替换,还在USB标准中定义的PING协议帮助减少在总线上生成过量的NAK流量,但是即使该机制也是基于触发流控制机制的资源约束将在短时间间隔期间发生的假定。因此,如果设备在延长的时间段是受到资源约束的时,则即使PING协议也是相当不高效的。但是,在给定便携式设备的初始配置的情况下,对于便携式设备来说,诸如可用的电池功率、存储器和处理功率之类的资源有时在较长的持续时间内和/或甚至永久受限。系统、方法和装置的实现包括可以用于USB兼容设备的资源节约策略的方面,其中该USB兼容设备在与USB标准所预期的相比更长的持续时间期间经历资源限制。本文公开的系统、方法和装置的实现使USB兼容设备能够选择性地处理由主机和设备之间的USB通信引起的中断和/或其它开销。通过部分地基于当前资源利用的水平不对一些中断和/或其它开销进行处理,设备可以释放对来自主机的相对高数据速率的输入流量进行处理所需的资源。在一些实现中,当本地实现的技术证明是不足够的时,设备可以可选地请求主机减少下行链路上的数据速率。
图2是外围设备120的实现的简化框图。图2中所示的设备120类似于图1中所示的设备120,并对其进行了调整。因此,这两个设备共同的元件共享相同的附图标记,并且为了简洁起见,本文仅描述这两个设备之间的差异。参见图2,设备120包括USB总线接口 123、USB逻辑设备125和功能元件127,以及前述的缓冲器121和上面所描述的上行链路/下行链路连接12^、b。本领域技术人员将清楚的是,虽然USB兼容设备可以包括其它组件,但是图2中所示的设备120包括对于所附权利要求的范围之内的实现的方面来说更相关的那些组件。USB总线接口 123、USB逻辑设备125和功能元件127包括设备120的USB栈。在操作中,总线接口 123负责数据的物理传输(S卩,在与主机的链路上进行分组的发送/接收),USB逻辑设备125负责对总线接口 123和设备120上的各个端点之间的分组进行路由。功能元件127表示设备120 (例如,数码相机)提供的实际功能。功能元件127包括资源128。资源128包括但不限于存储器131、处理器133(或者控制器)和用作设备120的电源的电池135。本领域技术人员根据本发明将清楚的是,该设备上包含的其它组件(例如,总线接口 123和逻辑设备125)可以共享资源128,并且仅将资源1 描绘在功能元件127中以作为一种可能的实现。在操作中,当成功完成数据传送时,总线接口 123向上层发送中断。该中断频率通常是特定于实现的。例如,USB 2.0在微帧分界上操作,其中每一个微帧是125微秒(μ sec)长。微帧分界处的中断通常导致较高的处理开销。因此,大多USB设备按更低的中断频率来操作,例如,毫秒(msec)边界或者USB定义的帧分界。通常,将连续中断之间的最小间隔称为最小中断间隔时间。响应于来自总线控制器的中断,在数据阶段期间,逻辑设备125对缓冲器121中可用的任何数据进行处理,其中这些数据可能已经从主机接收。该处理消耗资源,该资源包括但不限于设备120上的处理功率、存储器等。如上所述,当前可用的USB标准未提供针对设备120的资源1 在相对较长的持续时间期间受到约束和/或限制的情形提供适当的解决方案的流控制机制。图3是外围设备120的实现的简化框图。图2中所示的设备120类似于图1中所示的设备120,并对其进行了调整。因此,这两个设备共同的元件共享相同的附图标记,并且为了简洁起见,本文仅描述这两个设备之间的差异。参见图3,设备120还包括监控实体150和中断处理器。中断监控实体150对指示与资源1 中的一个或多个相对应的测量值的信号进行感测。如下面进一步详细描述的,将这些信号中的一个或多个转换成资源利用值。相应地将该资源利用值提供给中断处理器140。中断处理器140调整如何响应于总线接口 123生成的中断进行处理。在一些实现中,中断处理器140还调整如何对缓冲器中的高于阈值水平的数据进行处理。在一个实现中,将总的资源可用性量化成N个水平或者段。可以通过索引η对这些水平进行寻址(其中N)。换言之,如果r表示考虑的资源的使用百分比,那么水平η与r落入范围ThMX ^〈r ^ ThMX之内的情况相对应,其中Thmx n指示针对索引η表示的特定段的资源利用的上限阈值。在一个实现中,这些水平表示资源利用的逐渐增加的水平。换言之,Thmx,ZTh·n。然而,本领域技术人员根据本发明将清楚的是,还可以在这些水平之间定义大量其它关系,其包括水平表示资源利用的逐渐减小的水平。在一个实现中,向每一个水平分配最小中断间隔时间值,可以使用该最小中断间隔时间值对由总线接口 123生成的中断进行门控(gate)。例如,在操作中,当资源利用越过特定的阈值时,设备120可能必须减少资源消耗。在越过该阈值的情况下,设备可以自动地选择通过自适应地切换到来自总线控制器123的更低中断频率来节约资源。这可以通过动态地改变与基于当前资源利用的水平选择的段η相对应的最小中断间隔时间值来完成。参照图6来进一步描述该处理过程。随着中断频率的改变,当资源利用增加时,设备120以延迟为代价实现整体的收益(gains)。另一方面,当资源利用水平减小时,设备120将中断频率增加回到标称水平。这允许设备120在正常的操作条件下减少时延。此外,可以选择针对每一个水平的最小中断间隔值,使得在给定输入数据速率的情况下,缓冲器121在确定的资源利用水平处不会溢出。由于设备120可以具有多种多样的功能,因此针对各个水平的最小中断间隔值取决于特定的实现。在另一个实现中,向每一个水平分配一个响应于接收的事件信号(例如,中断和/或缓冲器中的数据量越过阈值)进行处理的概率值。相应地,在概率为P的情况下,中断服务例程可以对以信号形式发送数据传送的中断进行处理。换言之,在概率(I-P)的情况下,设备120可以自动地放弃表示数据传送的结束的中断,而不丢失任何数据。下面参照图7来讨论该处理过程的更详细的示例。同样,由于设备120可以具有多种多样的功能,因此每一个水平处的P值取决于特定的应用,其包括可用的硬件缓冲器的大小,以避免由于缓冲器溢出而造成的任何可能数据丢失。此外,在一些实现中,P的值还将当前资源利用的水平以及该设备中使用的最小中断间隔时间值列入为重要因素。此外,在另一个实现中,如果还未对M个连续的、先前接收的中断提供服务,则自动地对中断提供服务,以减少和/或防止由于缓冲器溢出而造成的数据丢失。换言之,在M个连续的未被提供服务的中断之后,存在设备缓冲器将溢出的风险。为了减少该风险,自动地对下一个中断提供服务。命中M个连续的未被提供服务的中断的概率取决于针对给定水平的概率值P。本文公开的各种策略可以用软件、硬件、固件或者其组合来实现。图4是图3中所示的设备120中的软件实现的简化框图。图2中所示的设备120类似于图1中所示的设备120,并对其进行了调整。因此,这两个设备共同的元件共享相同的附图标记,并且为了简洁起见,本文仅描述这两个设备之间的差异。参见图4,设备120包括产生硬件中断的硬件组件160。在一个实现中,硬件组件160包括(图3中所示的)总线接口 123的至少一部分。设备120还包括两个软件模块。第一个软件模块是中断管理器模块141,第二个软件模块是中断处理软件模块142。在操作中,中断管理器141从监控实体接收资源利用值。作为响应,中断管理器141根据上面讨论的实现中的一个来选择最小中断间隔时间值和概率值中的一个,并将该值提供给中断处理软件142。作为响应,中断处理软件141使用新的最小中断间隔时间值,或者使用所述概率值确定是否放弃该硬件中断,来对硬件中断进行门控。图5是图3中所示的设备120的另一种替代实现的一部分的简化框图。图2中所示的设备120类似于图1中所示的设备120,并对其进行了调整。因此,这两个设备共同的元件共享相同的附图标记,并且为了简洁起见,本文仅描述这两个设备之间的差异。参见图5,设备120包括产生硬件中断的硬件组件160。在一个实现中,硬件组件160包括(图3中所示的)总线接口 123的至少一部分。设备120还包括硬件实现的中断管理器141。在操作中,中断管理器141从监控实体接收资源利用值。作为响应,中断管理器141根据上面讨论的实现中的一个来选择最小中断间隔时间值和概率值中的一个,并将该值提供给硬件模块160。作为响应,硬件模块160使用新的最小中断间隔时间值,或者使用所述概率值确定是否放弃该硬件中断,来对硬件中断进行门控。图6是方法的实现的流程图。如方框6-1所示,该方法包括基于设备中的总资源可用性来确定资源利用的两个或更多个(two more)离散的水平(或者段)。如方框6_2所示,该方法包括以下步骤中的一个确定针对资源利用的离散水平中的每一个的相应最小中断间隔时间值以及设置针对资源利用的离散水平中的每一个的相应最小中断间隔时间值。如方框6-3所示,该方法包括接收与该设备上包含的一个或多个资源有关的资源测量值。如方框6-4所示,该方法包括基于这些资源测量值来确定资源利用值。如方框6-5所示,该方法包括通过将资源利用值映射到预定的资源利用水平中的一个,来基于该资源利用值选择最小中断间隔时间值。如方框6-6所示,该方法包括使用所选择的最小中断间隔时间值来设置定时器以对中断进行门控。图7是方法的实现的流程图。如方框7-1所示,该方法包括基于设备中的总资源可用性来确定资源利用的两个或更多个离散的水平(或者段)。如方框7-2所示,该方法包括以下步骤中的一个确定针对资源利用的离散水平中的每一个的相应概率值以及设置针对资源利用的离散水平中的每一个的相应概率值。如方框7-3所示,该方法包括从数据链路接口(例如,总线接口)接收中断。如方框7-4所示,该方法包括接收与该设备上包含的一个或多个资源有关的资源测量值。如方框7-5所示,该方法包括基于这些资源测量值来确定资源利用值。如方框7-6所示,该方法包括通过将资源利用值映射到预定的资源利用水平中的一个,来基于该资源利用值选择概率值。如方框7-7所示,该方法包括基于该概率值来确定是否跳过与所接收的中断相关联的处理。在一个示例性的实现中,随机地生成数,并将其与该概率值进行比较。如果随机生成的数大于该概率值,则响应于所接收的中断进行相关联的处理。另一方面,如果随机生成的数小于该概率值,则跳过该相关联的处理。进一步参见方框7-7,如果基于所述概率值确定不应当跳过相关联的处理(来自7-7的“否”路径),则该方法包括前进至方框7-10所表示的方法的部分。另一方面,如果基于所述概率值确定应当跳过相关联的处理(来自7-7的“是”路径),则该方法包括前进至方框7-8所表示的方法的部分。参见方框7-8,该方法包括确定是否已经跳过先前的M个接收的中断。如果已经跳过先前的M个接收的中断(来自7-8的“是”路径),则如方框7-10所示,则该方法包括在返回到方框7-3所表示的方法的部分之前,执行与所接收的中断相关联的处理。另一方面,如果还未跳过先前的M个接收的中断(来自7-8的“否”路径),则如方框7-9所示,则该方法包括跳过与所接收的中断相关联的处理,并且返回到方框7-3所表示的方法的部分。进一步参见图3,存在着前述的方法不能充分地影响来自主机110的流控制的情形。在这些情形下,设备120可以可选地向主机110发送请求,以降低传输数据速率。图8是该方法的实现的信号图。如方框801所示,根据上面讨论的示例中的一个,设备120基于当前资源利用的水平确定是否改变操作参数。如方框802所示,设备120根据上面讨论的示例中的一个,尝试进行本地补偿。如方框803所示,设备确定该本地补偿尝试是否成功。如果本地补偿尝试成功(来自803的“是”路径),则如方框804所示,设备120不需要采取进一步的动作。另一方面,如果本地补偿尝试不够(来自803的“否”路径),则如方框805所示,设备120改变对数据链路造成影响的一个或多个操作设置。如信号806所示,设备120向主机110发送该新的设置。如方框807所示,主机110对数据链路进行重新配置。如信号808所示,主机在该新的设置的情况下向设备120发送数据。USB兼容设备可以在初始化时针对每一个支持的配置枚举多个可替代的设置。每一个可替代的设置可以包括诸如针对每一个端点所支持的数据速率的参数。同样,在一个实现中,USB兼容设备支持多个可替代的设置,其中每一个可替代的设置具有针对各个数据速率的不同的最大支持的数据速率集。此外,如果设备是受到资源约束的,则该设备可以向主机发送预先确定的、特定于实现的信号。例如,这可以是针对特定功能的相关联控制管道上的多个停止令牌、多个背靠背暂停(back-to-back time-out),或者甚至可以由主机软件进行解释的定制的特定于实现的控制令牌。然后,可以使用该信号来触发通过主机软件层对数据速率的重新评估。在一个实现中,如果设备向主机发送该预先确定的信号以触发流控制,则作为响应,主机软件触发到包括更低的数据速率的可替代的设置的转换,以帮助设备节约资源。此外和/或可替代地,如果设备最终确定与新的重新协商的可替代的设置相对应的数据速率也太高,则设备可以重复向主机发送该流控制信号,并且主机可以切换到一种更节约的可替代的设置。可以实现该方法以减少在延长的时间段期间生成NAK令牌。此外,由于设备和主机可以基于可用的资源来建立用于调整数据速率的机制,因此可以基于最近的设备状态来调整数据速率,从而确保不会强制设备为了对主机进行流控制而花费额外的功率。换言之,减少了对主机进行流控制的成本,这是因为流控制不是如在USB规范中所述的在每一微帧执行,而是以更低的频率来执行。USB 2. 0标准在引入使用前述的PING协议的NAK限制功能的情形下,部分地解决了由于针对特定功能/端点的流控制而造成的过多的链路带宽/资源浪费的问题。当设备通过响应出针对OUT令牌的NAK来对主机进行流控制时,主机可以使用PING分组来对设备状态进行轮询。然后,设备可以基于当前设备状态,对这些特殊的PING令牌响应出ACK/NAK。对于PING的ACK响应指示设备可以接受更多的数据,而对于PING的NAK响应。虽然PING令牌提供了一种用于减少针对OUT令牌的NAK带宽和资源浪费的有用机制,但是该机制的固有问题在于USB标准未对PING令牌的频率施加任何限制。例如,USB2. 0标准要求设备必须能够与连续的微帧一样频繁地处理PING令牌,但是主机可能以几乎任何频率下发PING令牌。为了解决该问题,在一个实现中,主机在重复的PING传输期间,遵循指数回退机制。当主机下发第一 PING令牌时,主机以初始值来启动定时器。如果设备响应出NAK,则主机进行等待,直到在下发下一个PING令牌之前定时器到期为止。对于每一个连续的PING交易,将该定时器的值增加某个乘法因子,直到针对PING回退达到某个最大值为止。该最大值可以基于相应功能和设备特性来确定,因此其是特定于实现的。应当理解的是,使用诸如“第一”、“第二”等的指定对本文中的要素的任何引用通常并不限制这些要素的数量或顺序。相反,在本文中可以将这些指定用作区别两个或更多个要素或者一个要素的例子的便利方法。因此,对第一要素和第二要素的引用并不意味着在此处仅可以使用两个要素,或者第一要素必须以某种方式在第二要素之前。此外,除非另外明确声明,否则一组要素可以包括一个或多个要素。本领域技术人员应当理解的是,信息和信号可以使用多种不同的技术和方法中的任意一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。本领域技术人员还应当清楚的是,结合本文所公开方面描述的各种示例性的逻辑框、模块、处理器、单元、电路和算法步骤中的任意一个均可以实现成电子硬件(例如,数字实现、模拟实现或二者组合,这些可以使用信源编码或某种其它技术来设计)、并入指令的各种形式的程序或设计代码(为了方便起见,本文可以将其称作为“软件”或“软件模块”)或二者的组合。为了清楚地表示硬件和软件之间的这种可交换性,上面对各种示例性的组件、方框、模块、电路和步骤均围绕其功能进行了总体描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为引起与本发明的范围的偏离。结合本文所公开的方面描述的各种示例性的逻辑框、模块和电路可以在集成电路(IC)、接入终端或接入点中实现或由其执行。IC可以包括被设计用于执行本文所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件、电子组件、光学组件、机械组件或者其任意组合,并且IC可以执行存储在该IC之中、该IC之外或这两种情况下的代码或指令。通用处理器可以是微处理器,或者,该处理器也可以是任何常规的处理器、控制器、微控制器或者状态机。处理器也可以实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器与DSP内核的结合,或者任何其它此种配置。应当理解的是,在任何公开的过程中的步骤的任何特定次序或层次是示例性方法的一个例子。应当理解的是,根据设计的偏好,在保持在本发明的范围内时,可以重新排列这些过程中的步骤的特定次序或层次。所附的方法权利要求以示例性次序呈现了多个步骤的要素,而并不意味着受限于所呈现的特定次序或层次。所描述的功能可以用硬件、软件、固件或者其任意组合来实现。如果使用软件实现,则可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。计算机可读介质包括计算机存储介质和通信介质二者,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是计算机能够存取的任何可用介质。举例说明而非限制地,这种计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储器、磁盘存储器或其它磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。此外,任何连接可以适当地称为计算机可读介质。例如,如果软件是使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或者诸如红外线、无线和微波之类的无线技术从网站、服务器或其它远程源发送的,那么同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线和微波之类的无线技术包括在所述介质的定义中。本文使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字通用光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘用激光光学地复制数据。上面各项的组合也应包括在计算机可读介质的范围内。总的来说,应当清楚的是,计算机可读介质可以实现在任何适当的计算机程序产品中。 为了使本领域任何技术人员能够实现或者使用所附权利要求的范围之内的实施例,提供了上面的描述。对于本领域技术人员来说,对这些方面的各种修改是显而易见的,并且,本文定义的总体原理可以在不脱离本发明的范围的基础上适用于其它方面。因此,本发明并不旨在限于本文所示出的这些方面,而是与符合本文所公开的原理和新颖性特征的
最广范围相一致。
权利要求
1.一种方法,包括对至少一个信号进行感测,其中所述至少一个信号指示位于第一设备上的用于支持所述第一设备和第二设备之间的通信的相应资源的测量值;基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述第一设备对通信的处理。
2.根据权利要求1所述的方法,还包括基于位于所述第一设备上的用于支持通信的一个或多个资源,执行以下步骤中的至少一个提供资源利用的离散水平以及确定资源利用的离散水平;以及执行以下步骤中的至少一个提供针对所述资源利用的离散水平中的每一个的相应操作参数值以及确定针对所述资源利用的离散水平中的每一个的相应操作参数值,其中,调整所述操作参数包括至少部分地基于所述资源利用值来为所述操作参数选择所述操作参数值中的一个。
3.根据权利要求2所述的方法,其中,资源利用的每一个离散水平是至少部分地通过下限阈值和上限阈值中的至少一个来定义的。
4.根据权利要求2所述的方法,其中,所述至少一个操作参数包括最小中断间隔时间值,其中连续中断之间的持续时间至少是所选择的最小中断间隔时间值。
5.根据权利要求4所述的方法,还包括使用所选择的最小中断间隔时间值对数据链路接口生成的中断进行门控。
6.根据权利要求5所述的方法,其中,所述数据链路接口生成的所述中断包括软件中断和硬件中断中的至少一个。
7.根据权利要求5所述的方法,其中,门控包括软件门控和硬件门控中的至少一个。
8.根据权利要求5所述的方法,其中,所述数据链路接口包括如通用串行总线标准的版本中的至少一个所定义的总线接口。
9.根据权利要求2所述的方法,其中,所述至少一个操作参数包括响应于接收的事件信号进行处理的概率值。
10.根据权利要求9所述的方法,其中,事件信号是以下各项中的至少一个数据链路接口生成的中断以及关于缓冲器中的数据量已经越过阈值的指示符。
11.根据权利要求10所述的方法,还包括从所述数据链路接口接收中断;以及至少部分地基于所选择的概率值和先验确定中的一个来确定是否响应于所接收的中断进行处理。
12.根据权利要求11所述的方法,其中,确定是否响应于所接收的中断进行处理还包括将随机生成的数与所选择的概率值进行比较;以及基于所述比较,响应于所接收的中断进行处理。
13.根据权利要求12所述的方法,其中,所选择的概率值包括以下各项中的一个响应于接收的中断不进行处理的概率和响应于接收的中断进行处理的概率。
14.根据权利要求11所述的方法,其中,确定是否响应于所接收的中断进行处理还包括当响应于先前接收的中断的组合发生了处理时,选择不进行处理;以及当响应于先前接收的中断的组合没有发生处理时,选择进行处理。
15.根据权利要求11所述的方法,其中,响应于所接收的中断和所述缓冲器中的阈值数据量中的一个进行处理包括对所述中断和所述缓冲器中的数据中的至少一个进行处理。
16.根据权利要求1所述的方法,还包括响应于对所述操作参数做出的调整,评估操作性能的改变;基于对所述操作性能的改变的所述评估,确定是否调整与所述第一设备和所述第二设备之间的数据链路有关的传输设置;以及向所述第二设备发送信号,其中所述信号指示请求改变所述传输设置。
17.一种设备,包括监控实体,其被配置为对至少一个信号进行感测,其中所述至少一个信号指示位于所述设备上的用于支持所述设备和第二设备之间的通信的相应资源的测量值;以及控制器,其被配置为基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述设备对通信的处理。
18.根据权利要求17所述的设备,其中,所述控制器被进一步配置为基于位于所述设备上的用于支持通信的一个或多个资源,执行以下步骤中的至少一个提供资源利用的离散水平以及确定资源利用的离散水平;以及执行以下步骤中的至少一个提供针对所述资源利用的离散水平中的每一个的相应操作参数值以及确定针对所述资源利用的离散水平中的每一个的相应操作参数值,其中,调整所述操作参数包括至少部分地基于所述资源利用值来为所述操作参数选择所述操作参数值中的一个。
19.根据权利要求18所述的设备,其中,资源利用的每一个离散水平是至少部分地通过下限阈值和上限阈值中的至少一个来定义的。
20.根据权利要求18所述的设备,其中,所述至少一个操作参数包括最小中断间隔时间值,其中连续中断之间的持续时间至少是所选择的最小中断间隔时间值。
21.根据权利要求20所述的设备,其中,所述控制器被进一步配置为使用所选择的最小中断间隔时间值对数据链路接口生成的中断进行门控。
22.根据权利要求21所述的设备,其中,所述数据链路接口生成的所述中断包括软件中断和硬件中断中的至少一个。
23.根据权利要求21所述的设备,其中,门控包括软件门控和硬件门控中的至少一个。
24.根据权利要求21所述的设备,其中,所述数据链路接口包括如通用串行总线标准的版本中的至少一个所定义的总线接口。
25.根据权利要求18所述的设备,其中,所述至少一个操作参数包括响应于接收的事件信号进行处理的概率值。
26.根据权利要求25所述的设备,其中,事件信号是数据链路接口生成的中断。
27.根据权利要求沈所述的设备,其中,所述控制器被进一步配置为从所述数据链路接口接收中断;以及至少部分地基于所选择的概率值和先验确定中的一个来确定是否响应于所接收的中断进行处理。
28.根据权利要求27所述的设备,其中,为了确定是否响应于所接收的中断进行处理,所述控制器被进一步配置为将随机生成的数与所选择的概率值进行比较;以及基于所述比较,响应于所接收的中断进行处理。
29.根据权利要求观所述的设备,其中,所选择的概率值包括以下各项中的一个响应于接收的中断不进行处理的概率和响应于接收的中断进行处理的概率。
30.根据权利要求27所述的设备,其中,为了确定是否响应于所接收的中断进行处理,所述控制器被进一步配置为当响应于先前接收的中断的组合发生了处理时,选择不进行处理;以及当响应于先前接收的中断的组合没有发生处理时,选择进行处理。
31.根据权利要求27所述的设备,其中,响应于所接收的中断进行处理包括对所述中断和缓冲器中的数据中的至少一个进行处理。
32.根据权利要求1所述的设备,其中,所述控制器被进一步配置为响应于对所述操作参数做出的调整,评估操作性能的改变;基于对所述操作性能的改变的所述评估,确定是否调整与所述第一设备和所述第二设备之间的数据链路有关的传输设置;以及向所述第二设备发送信号,其中所述信号指示请求改变所述传输设置。
33.一种设备,包括用于对至少一个信号进行感测的模块,其中所述至少一个信号指示位于所述设备上的用于支持所述设备和第二设备之间的通信的相应资源的测量值;用于基于所述至少一个信号来确定资源利用值的模块;以及用于通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数的模块,其中,所述操作参数影响所述设备对通信的处理。
34.根据权利要求33所述的设备,还包括用于基于位于所述设备上的用于支持通信的一个或多个资源来提供资源利用的离散水平的模块和用于基于位于所述设备上的用于支持通信的一个或多个资源来确定资源利用的离散水平的模块中的至少一个;以及用于提供针对所述资源利用的离散水平中的每一个的相应操作参数值的模块和用于确定针对所述资源利用的离散水平中的每一个的相应操作参数值的模块中的至少一个,其中,所述调整模块被进一步配置为通过至少部分地基于所述资源利用值为所述操作参数选择所述操作参数值中的一个,来调整所述操作参数。
35.根据权利要求34所述的设备,其中,资源利用的每一个离散水平是至少部分地通过下限阈值和上限阈值中的至少一个来定义的。
36.根据权利要求34所述的设备,其中,所述至少一个操作参数包括最小中断间隔时间值,其中连续中断之间的持续时间至少是所选择的最小中断间隔时间值。
37.根据权利要求36所述的设备,还包括用于使用所选择的最小中断间隔时间值对数据链路接口生成的中断进行门控的模块。
38.根据权利要求36所述的设备,其中,所述数据链路接口生成的所述中断包括软件中断和硬件中断中的至少一个。
39.根据权利要求37所述的设备,其中,所述门控模块包括软件门控和硬件门控中的至少一个。
40.根据权利要求37所述的设备,其中,所述数据链路接口包括如通用串行总线标准的版本中的至少一个所定义的总线接口。
41.根据权利要求34所述的设备,其中,所述至少一个操作参数包括响应于接收的事件信号进行处理的概率值。
42.根据权利要求41所述的设备,其中,事件信号是数据链路接口生成的中断。
43.根据权利要求42所述的设备,还包括用于从所述数据链路接口接收中断的模块;以及用于至少部分地基于所选择的概率值和先验确定中的一个来确定是否响应于所接收的中断进行处理的模块。
44.根据权利要求43所述的设备,其中,为了确定是否响应于所接收的中断进行处理,所述确定模块被进一步配置为将随机生成的数与所选择的概率值进行比较;以及基于所述比较,响应于所接收的中断进行处理。
45.根据权利要求44所述的设备,其中,所选择的概率值包括以下各项中的一个响应于接收的中断不进行处理的概率和响应于接收的中断进行处理的概率。
46.根据权利要求43所述的设备,其中,为了确定是否响应于所接收的中断进行处理,所述确定模块被进一步配置为当响应于先前接收的中断的组合发生了处理时,选择不进行处理;以及当响应于先前接收的中断的组合没有发生处理时,选择进行处理。
47.根据权利要求43所述的设备,其中,响应于所接收的中断进行处理包括对所述中断和缓冲器中的数据中的至少一个进行处理。
48.根据权利要求33所述的设备,还包括用于响应于对所述操作参数做出的调整,评估操作性能的改变的模块;用于基于对所述操作性能的改变的所述评估,确定是否调整与所述第一设备和所述第二设备之间的数据链路有关的传输设置的模块;以及用于向所述第二设备发送信号的模块,其中所述信号指示请求改变所述传输设置。
49.一种包括计算机可读介质的计算机程序产品,所述计算机可读介质包括存储在非临时性存储器中的指令,所述指令当被执行时使得装置执行以下操作对至少一个信号进行感测,其中所述至少一个信号指示位于第一设备上的用于支持所述第一设备和第二设备之间的通信的相应资源的测量值;基于所述至少一个信号来确定资源利用值;以及通过至少部分地基于所述资源利用值选择操作参数值来调整操作参数,其中,所述操作参数影响所述第一设备对通信的处理。
50.根据权利要求49所述的计算机程序产品,还包括存储在所述非临时性存储器中的指令,所述指令当被执行时使得所述装置执行以下操作基于位于所述第一设备上的用于支持通信的一个或多个资源来执行以下步骤中的至少一个提供资源利用的离散水平以及确定资源利用的离散水平;以及执行以下步骤中的至少一个提供针对所述资源利用的离散水平中的每一个的相应操作参数值以及确定针对所述资源利用的离散水平中的每一个的相应操作参数值,其中,调整所述操作参数包括至少部分地基于所述资源利用值来为所述操作参数选择所述操作参数值中的一个。
51.根据权利要求50所述的计算机程序产品,其中,资源利用的每一个离散水平是至少部分地通过下限阈值和上限阈值中的至少一个来定义的。
52.根据权利要求50所述的计算机程序产品,其中,所述至少一个操作参数包括最小中断间隔时间值,其中连续中断之间的持续时间至少是所选择的最小中断间隔时间值。
53.根据权利要求52所述的计算机程序产品,还包括存储在非临时性存储器中的指令,所述指令当被执行时使得装置执行以下操作使用所选择的最小中断间隔时间值对数据链路接口生成的中断进行门控。
54.根据权利要求53所述的计算机程序产品,其中,所述数据链路接口生成的所述中断包括软件中断和硬件中断中的至少一个。
55.根据权利要求53所述的计算机程序产品,其中,门控包括软件门控和硬件门控中的至少一个。
56.根据权利要求53所述的计算机程序产品,其中,所述数据链路接口包括如通用串行总线标准的版本中的至少一个所定义的总线接口。
57.根据权利要求50所述的计算机程序产品,其中,所述至少一个操作参数包括响应于接收的事件信号进行处理的概率值。
58.根据权利要求57所述的计算机程序产品,其中,事件信号是数据链路接口生成的中断。
59.根据权利要求58所述的计算机程序产品,还包括存储在所述非临时性存储器中的指令,所述指令当被执行时使得所述装置执行以下操作从所述数据链路接口接收中断;以及至少部分地基于所选择的概率值和先验确定中的一个来确定是否响应于所接收的中断进行处理。
60.根据权利要求59所述的计算机程序产品,其中,为了确定是否响应于所接收的中断进行处理,所述非临时性存储器中存储的所述指令还包括当被执行时使得所述装置执行以下操作的指令将随机生成的数与所选择的概率值进行比较;以及基于所述比较,响应于所接收的中断进行处理。
61.根据权利要求60所述的计算机程序产品,其中,所选择的概率值包括以下各项中的一个响应于接收的中断不进行处理的概率和响应于接收的中断进行处理的概率。
62.根据权利要求59所述的计算机程序产品,其中,为了确定是否响应于所接收的中断进行处理,所述非临时性存储器中存储的所述指令还包括当被执行时使得所述装置执行以下操作的指令当响应于先前接收的中断的组合发生了处理时,选择不进行处理;以及当响应于先前接收的中断的组合没有发生处理时,选择进行处理。
63.根据权利要求59所述的计算机程序产品,其中,响应于所接收的中断进行处理包括对所述中断和缓冲器中的数据中的至少一个进行处理。
64.根据权利要求49所述的计算机程序产品,还包括存储在所述非临时性存储器中的指令,所述指令当被执行时使得所述装置执行以下操作响应于对所述操作参数做出的调整,评估操作性能的改变;基于对所述操作性能的改变的所述评估来确定是否调整与所述第一设备和所述第二设备之间的数据链路有关的传输设置;以及向所述第二设备发送信号,其中所述信号指示请求改变所述传输设置。
全文摘要
系统、方法和装置的实现包括可以用于USB兼容设备的资源节约策略的方面,其中该USB兼容设备在与USB标准所预期的相比更长的持续时间期间经历资源限制。本文公开的系统、方法和装置的实现使USB兼容设备能够选择性地处理由主机和设备之间的USB通信引起的中断和/或其它开销。通过部分地基于当前资源利用的水平不对一些中断和/或其它开销进行处理,设备可以释放对于来自主机的相对高数据速率的输入流量进行处理所需的资源。在一些实现中,当本地实现的技术证明是不足够的时,设备可以可选择地请求主机减少下行链路上的数据速率。
文档编号G06F13/24GK102597977SQ201080050132
公开日2012年7月18日 申请日期2010年11月5日 优先权日2009年11月6日
发明者A·K·文卡楚莱什, T·克林根布林 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1