用于重配置应用程序的协议的方法和设备的制作方法

文档序号:7861567
专利名称:用于重配置应用程序的协议的方法和设备的制作方法
技术领域
以下描述涉及一种用于重配置应用程序的协议的方法和设备。
背景技术
由于便携式个人数字装置和传感器(例如,智能电话等)的广泛使用,使用无线通信的应用程序的数量和种类持续增加。应用程序可依据它们所应用的领域而使用不同的服务质量(QoS)。应用程序的示例包括可穿戴体域网(BAN, body area network)领域等中的健康保健程序(诸如心电图(ECG)、脑电图(EEG)、肌电图(EMG)等)。可穿戴BAN领域具有某些要求,例如,等待时间(latency )、可靠度(例如,误包率(PER))、电池等。此外,连接到个人数字装置的传感器的数量可基于在个人数字装置中正在执行的应用程序而实时变化。

发明内容
在一个总体方面,一种重配置应用程序的协议的方法包括:维持存储多个组件模块的栈的存储器;分析应用程序的需求信息和从协议层获得的系统信息;基于分析的结果,确定包括应用程序的重配置的协议以及重配置的协议的操作参数的协议配置信息;基于协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。分析的步骤可包括:基于是否发生了与应用程序的需求信息相关的事件,获得应用程序的需求信息。确定协议配置信息的步骤可包括:将多个协议中的每一个协议的服务质量(QoS)指标定义为协议的操作参数和可从协议层获得的至少一个参数的函数;使所述函数公式化以适合于应用程序的需求信息。确定协议配置信息的步骤可包括:确定使重配置的协议的服务质量(QoS)指标最优化,同时满足由应用程序的需求信息指示的应用程序的需求的操作参数。所述方法还可包括:通过将包括分析的结果的信息应用于多个协议中的每一个协议来维持协议数据库,其中,所述协议数据库存储映射到需求信息的多个协议以及所述多个协议各自的操作参数;确定协议配置信息的步骤可包括:参照协议数据库以将多个协议中的映射到应用程序的需求信息的一个协议和所述一个协议的操作参数确定为重配置的协议和重配置的协议的操作 参数。所述方法还可包括:基于协议配置信息产生与连接关系相关的信息;使用与连接关系相关的信息来实现重配置的协议。
所述方法还可包括:维持存储与多个组件模块相关的信息的组件库。所述方法还可包括:确定将实现重配置的协议的目标装置是否缺少实现重配置的协议所需要的任何组件模块;从组件库获得与被确定为目标装置所缺少的任何组件模块相关的彳目息。所述方法还可包括:维持节点状态数据库,其中,所述节点状态数据库存储与目标装置正使用的协议、目标装置正使用的协议的操作参数以及目标装置中可用的协议相关的信息。所述方法还可包括:通过参照节点状态数据库以及连接关系,基于协议配置信息产生在目标装置中实现重配置的协议所需要的信息;将在目标装置中实现重配置的协议所需要的信息发送到目标装置。所述方法还可包括:对在目标装置中实现重配置的协议所需要的信息进行编码。确定连接关系的步骤可包括:接收协议配置信息;解析协议配置信息。所述方法还可包括:使用包括所述至少一个组件模块中的每个组件模块的地址的表,连接所述至少一个组件模块。确定连接关系的步骤可包括:根据应用程序的重配置的协议,钩住传送到应用层的更下层的消息;基于从钩住的信息获得的协议的标识符(ID),切换到所述至少一个组件模块。在另一总体方面,非暂时性计算机可读存储介质包括用于指示计算机执行上述方法的程序。在另一总体方面,一种重配置应`用程序的协议的方法包括:维持存储多个组件模块的栈的存储器;从目标装置接收实现应用程序的重配置的协议所需要的信息;基于实现应用程序的重配置的协议所需要的信息,在多个组件模块中确定实现应用程序的重配置的协议所需要的至少一个组件模块的连接关系。实现应用程序的重配置的协议所需要的信息可包括:协议配置信息,包括应用程序的重配置的协议和重配置的协议的操作参数;或者,与所述至少一个组件模块的连接关系相关的信息;或者,所述协议配置信息和所述与连接关系相关的信息两者。确定连接关系的步骤可包括:解析实现重配置的协议所需要的信息。在另一总体方面,一种用于重配置应用程序的协议的设备包括:分析器,被配置为分析应用程序的需求信息和从协议层获得的系统信息;协议引擎,被配置为基于由分析器获得的分析结果确定协议配置信息,其中,所述协议配置信息包括应用程序的重配置的协议和重配置的协议的操作参数;协议实现器,被配置为基于协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系;可重配置协议栈,包括配置为存储多个组件模块的栈的存储器。在另一总体方面,一种用于重配置应用程序的协议的设备包括:可重配置协议栈,包括配置为存储多个组件模块的栈的存储器;协议实现器,被配置为基于从目标装置接收的实现应用程序的重配置的协议所需要的信息,在多个组件模块中确定实现应用程序的重配置的协议所需要的至少一个组件模块的连接关系。在另一总体方面,一种重配置应用程序的协议的方法包括:基于应用程序的需求信息和从协议层获得的系统信息,确定应用程序的最优协议以及所述最优协议的操作参数的最优值;在应用程序的当前协议不是最优协议时,使用应用程序的当前协议缺少的至少一个组件模块以及应用程序的当前协议的至少一个组件模块,将应用程序的当前协议重配置为最优协议,并将所述最优协议的操作参数的值设置为所述最优协议的操作参数的最优值。应用程序的当前协议缺少的至少一个组件模块以及应用程序的当前协议的至少一个组件模块可被包括在可重配置协议栈的存储器中存储的多个组件模块中。所述方法还可包括:当应用程序的当前协议是最优协议,并且最优协议的操作参数的当前值不是最优协议的操作参数的最优值时,将最优协议的操作参数的值设置为所述操作参数的最优值。应用程序可运行在第一装置上,以使用当前协议对从连接到第一装置的第二装置发送到第一装置的数据进行处理;当应用程序的需求信息改变时或者当第三装置连接到第一装置时,可执行对最优协议的确定。从以下详细描述、附图和权利要求中,其他特征和方面将是清楚的。


图1是示出用于重配置应用程序的协议的协议重配置设备的示例的框图。图2是示出用于重配置应用程序的协议的协议重配置设备的另一示例的框图。图3是示出在图1的协议重配置设备中重配置应用程序的协议的方法的示例的流程图。图4是示出在图2的协议重配置设备中重配置应用程序的协议的方法的示例的流程图。

图5是示出包括协议重配置设备的协议重配置系统中的协议重配置设备之间的操作的示例的框图。图6是示出包括协议重配置设备的协议重配置系统中的协议重配置设备之间的操作的另一示例的框图。图7是示出使用运行时间求解器(run-time solver)实现协议引擎的方法的示例的示图。图8是示出使用协议数据库实现协议引擎的方法的示例的示图。图9是示出协议重配置设备中的在主动模式下进行操作的协议实现器(protocolimplementer)的配置的示例的框图。图10是示出在主动模式下操作图9的协议实现器的方法的示例的流程图。图11是示出当协议重配置设备用作简化功能协议系统装置(RFD)时操作协议实现器的示例的框图。图12是示出协议实现器使用配置表来实现重配置的协议的方法的示例的示图。图13是示出协议实现器使用消息钩子(message hooking)来实现重配置的协议的方法的示例的示图。
具体实施例方式提供以下详细描述以帮助读者全面理解在此描述的方法、设备和/或系统。然而,对在此描述的方法、设备和/或系统的各种改变、修改和等同物对于本领域普通技术人员而言将是清楚的。描述的步骤和/或操作的顺序仅是示例,并且处理步骤和/或操作的顺序不限于在此描述的那些,而是可以如本领域普通技术人员将清楚的那样被改变,除非处理步骤和/或操作必须按照特定顺序发生。此外,为了更加清楚和简明,可省略对本领域普通技术人员公知的功能和结构的描述。贯穿附图和详细说明,相同的标号是指相同的元件。附图可以不是按比例的,并且为了清楚、图解和方便,附图中的元件的相对大小、比例和描绘可被夸大。通常,协议可被分类为应用特定的协议和多目的协议。针对具体应用程序而设计的应用特定的协议可包括例如用于传感器网络的协议(诸如B-MAC (伯克利媒体访问控制)、X-MAC (X媒体访问控制)或对本领域普通技术人员而言已知的用于传感器网络的任何其他协议)。应用特定的协议可被设计为针对预定应用程序是最优的,但对于需要不同服务质量(QoS)的应用程序可能具有显著的性能下降。然而,安装系统中可能需要的所有应用特定的协议从存储器方面来说可能效率低。多目的协议可使用配置文件(profile)支持多种应用程序,并可包括例如电子电气工程师协会(IEEE) 802.15.4标准以及对于本领域普通技术人员而言已知的任何其他多目的协议。然而,多目的协议对系统增加了开销,因此多目的协议从性能方面来说可能不是最优协议。以下示例提供了能够针对应用程序的实时的时进时出改变确定最优协议的运行时间架构,并同时实时提供了最优协议和操作参数,所述最优协议和操作参数能够在运行在用户的便携式数字装置上的应用程序正被动态使用的环境中满足QoS。图1是示出用于重配置应用程序的协议的协议重配置设备100的示例的框图。图1的协议重配置设备100是能够主动重配置应用程序的协议的设备。

协议重配置设备100能够执行确定用于应用程序或邻近传感器节点的最优协议并重配置应用程序的协议的功能(1),以及从另一协议重配置设备接收请求以重配置协议重配置设备100的协议的功能(2)。在协议重配置设备100中,当协议重配置设备100在主动模式下进行操作时执行功能(I),在协议重配置设备100在被动模式下进行操作时执行功能(2)。能够执行功能(I)和功能(2)的协议重配置设备100将被称为全功能协议系统装置(FFD)。协议重配置设备100包括分析器110、协议引擎130、协议实现器150和可重配置协议栈170。分析器110分析应用程序的需求信息和从协议层获得的系统信息。在该示例中,应用程序的需求信息可包括应用程序的QoS请求信息,诸如等待时间、误包率(PER)、存在期(lifetime)以及对本领域普通技术人员而言已知的任何其他QoS参数。系统信息是协议重配置设备100从协议层(诸如物理(PHY)层、媒体访问控制(MAC)层以及对本领域普通技术人员而言已知的任何其他协议层)获得的信息。系统信息的示例包括信道状态、连接到协议重配置设备100的装置的数量以及对本领域普通技术人员而言已知的可从协议层获得的任何其他类型的信息。连接到协议重配置设备100的装置可以是例如传感器节点和其他数字装置。
分析器110按照预定消息格式周期性地向协议引擎130提供需求信息以及从协议层获得的系统信息。协议引擎130基于由分析器110提供的需求信息和系统信息,确定包括应用程序的最优协议和最优协议的操作参数的协议配置信息。操作参数是协议重配置设备100有权限进行控制的参数。在当前协议不是最优协议时,最优协议可被视为重配置的协议,并且最优协议的操作参数可被视为重配置协议的操作参数。协议引擎130包括代理和运行时间求解器,或者包括代理和协议数据库。以下将参照图7和图8描述协议引擎130的配置和操作。协议实现器150基于从协议引擎130接收的协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。以下将参照图9和图10描述协议实现器150的配置和操作。可重配置协议栈170维持存储多个组件模块的栈的存储器。可重配置协议栈接收与确定的连接关系相关的信息,并根据与确定的连接关系相关的信息连接所述至少一个组件模块。可重配置协议栈使得功能能够被组件化为组件模块,并使得能够通过连接组件模块中的合适的组件模块来实现所需要的协议。在该示例中,由于粒度造成的开销,可对组件模块进行取舍,因此 组件模块可基于设计者的意图而具有各种配置。由于不同的应用程序的特性导致在传感器网络中可存在多个协议。从开始为每个应用程序配置最优协议是耗时耗力的。因此,在该示例中,协议的基本功能被组件化为组件模块,从而可在实现不同协议的过程中重复使用组件模块。当用作FFD的协议重配置设备100在主动模式下进行操作时,分析器110、协议引擎130、协议实现器150和可重配置协议栈170均被激活。当协议重配置设备100在被动模式下进行操作时,仅激活协议实现器150和可重配置协议栈170。在被动模式下,协议重配置设备100与将稍后描述的简化功能协议系统装置(RFD)执行相同的功能。图2是示出用于重配置应用程序的协议的协议重配置设备200的另一示例的框图。协议重配置设备200是被动地重配置应用程序的协议的设备。协议重配置设备200基于从连接到协议重配置设备200的目标装置接收的、实现应用程序的重配置的协议所需要的信息,仅执行在协议重配置设备200中实现重配置的协议的功能。例如,协议重配置设备200仅执行从另一协议重配置设备接收的用于重配置协议重配置设备200的协议的请求,并根据所述请求来重配置协议的功能。能够仅执行上述功能的协议重配置设备200可被称为简化功能协议系统装置(RFD)。协议重配置设备200包括协议实现器210和可重配置协议栈230。协议实现器210基于从目标装置接收的、实现应用程序的重配置协议所需要的信息,在多个组件模块中确定至少一个组件模块的连接关系。在该示例中,实现应用程序的重配置的协议所需要的信息包括与存储在可重配置协议栈230中的多个组件模块中的实现重配置的协议所需要的所述至少一个组件模块的连接关系相关的信息。目标装置可以是具有主动重配置应用程序的协议的能力的协议重配置设备100,或者可以是具有与协议重配置设备100的功能类似的功能的装置。实现应用程序的重配置的协议所需要的信息包括协议配置信息和与连接关系相关的信息,其中,所述协议配置信息包括应用程序的重配置的协议以及重配置的协议的操作参数。可重配置协议栈230包括存储多个组件模块的栈的存储器。可重配置协议栈230的操作与图1的可重配置协议栈170相同,因此为了简明,这里将不重复其描述。图3是示出在图1的协议重配置设备100中重配置应用程序的协议的方法的示例的流程图。在301,协议重配置设备100维持存储多个组件模块的栈的存储器。在303,协议重配置设备100分析应用程序的需求信息以及从协议层获得的系统信息。作为示例,在303,协议重配置设备100基于是否发生了与应用程序的需求信息相关的事件(诸如关联(association))来获得应用程序的需求信息。在305,协议重配置设备100基于分析的结果确定协议配置信息。协议配置信息包括应用程序的重配置的协议以及重配置的协议的操作参数。协议重配置设备100使用例如运行时间求解器或协议数据库来确定协议配置信息。在下文中,将描述协议重配置设备100使用运行时间求解器来确定协议配置信息的方法的示例。在该示例中,协议重配置设备100将多个协议中的每一个协议的至少一个QoS指标定义为可从协议层获得的系统参数、从分析器110获得的参数以及协议重配置设备100有权限进行控制的协议的操作参数的函数。接下来,协议重配置设备100将定义的函数公式化以适合于应用程序的需求信息。协议重配置设备100确定使重配置的协议的所述至少一个QoS指标最优化的操作参数,以满足由应用程序的需求信息指示的应用程序的需求。在下文中, 将描述协议重配置设备使用协议数据库确定协议配置信息的方法的示例。在该示例中,协议重配置设备100维持协议数据库。协议数据库存储最优协议以及最优协议的操作参数,其中,通过将包括分析器110的分析结果和协议的操作参数的信息应用于每个协议来确定最优协议和最优协议的操作参数。通过参照协议数据库,协议重配置设备100将协议数据库中的被映射到应用程序的需求信息的最优协议和最优协议的操作参数确定为重配置的协议和重配置的协议的操作参数。稍后将参照图7和图8更详细地描述使用运行时间求解器和协议数据库来确定协议配置信息的方法。在307,协议重配置设备100基于协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。协议重配置设备100的操作依据协议重配置设备100是期望重配置协议重配置设备100的协议还是期望重配置连接到协议重配置设备100的目标装置的协议而变化。稍后将参照图9至图11描述协议重配置设备100的取决于将被重配置的目标协议的不同操作。图4是示出在图2的协议重配置设备200中重配置应用程序的协议的方法的另一示例的流程图。在操作401,协议重配置设备200维持存储多个组件模块的栈的存储器。在403,协议重配置设备200从连接到协议重配置设备200的目标装置接收实现应用程序的重配置的协议所需要的信息。在该示例中,实现应用程序的重配置的协议所需要的信息包括协议配置信息,或与多个组件模块中的实现重配置的协议所需要的至少一个组件模块的连接关系相关的信息,或者包括协议配置信息和所述与连接关系相关的信息两者,其中,所述协议配置信息包括应用程序的重配置的协议以及重配置的协议的操作参数。实现应用程序的重配置的协议所需要的信息可被编码。当协议重配置设备200接收实现应用程序的重配置的协议所需要的信息时,协议重配置设备200解析并使用所述信息。在405,协议重配置设备200基于实现重配置的协议所需要的信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。图5是示出包括协议重配置设备的协议重配置系统中的协议重配置设备之间的操作的示例的框图。参照图5,协议重配置系统包括作为在主动模式下进行操作的FFD的协议重配置设备530,以及作为RFD的目标装置550。在图5中,①、②、③、④、⑤、⑥和⑦表示消息在协议重配置设备530和目标装置550的元件之间传送的顺序。协议重配置设备530包括分析器531、协议引擎533、协议实现器535和可重配置协议栈537。目标装置550包括协议实现器555和可重配置协议栈557。分析器531从应用程序520获得应用程序520的需求信息(①),并从可重配置协议栈537的协议层获得系统信息(①)。在该示例中,应用程序520可被安装在协议重配置设备530中,或者被安装在目标装置550中。应用程序520可处理来自连接到目标装置550的传感器的数据。分析器531分析获得的信息并将分析结果提供给协议引擎533 (②)。协议引擎533基于分析器531的分析结果来确定协议配置信息。协议配置信息包括应用程序520的重配置的协议以及重配置的协议的操作参数。协议引擎533将协议配置信息提供给协议实现器5 35 (③)。为了基于协议配置信息实现重配置的协议。协议实现器535在存储在可重配置协议栈537中的多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。可重配置协议栈537维持存储多个组件模块的栈的存储器。协议实现器535将与连接关系相关的信息发送给可重配置协议栈537 (④)。可重配置协议栈537基于接收的信息连接所述至少一个组件模块,以实现重配置的协议。可重配置协议栈537将实现应用程序的重配置的协议所需要的信息发送到目标装置550 (即,连接到协议重配置设备530的RFD)(⑤)。目标装置550的可重配置协议栈557从协议重配置设备530的可重配置协议栈537接收实现重配置的协议所需要的信息,并将接收的信息发送到目标装置550的协议实现器555 (⑥)。协议实现器555基于实现应用程序的重配置的协议所需要的信息来在多个组件模块中确定至少一个组件模块的连接关系,并将与连接关系相关的信息发送到目标装置550的可重配置协议栈557 (⑦)。可重配置协议栈557通过基于与连接关系相关的信息连接多个组件模块中的实现重配置的协议所需要的至少一个组件模块,来在目标装置550中实现重配置的协议。图6是示出包括协议重配置设备的协议重配置系统中的协议重配置设备之间的操作的另一示例的框图。参照图6,协议重配置系统包括在主动模式下进行操作的协议重配置设备630 (例如,FFD)以及在被动模式下进行操作的目标装置650 (例如,FFD)。协议重配置设备630包括分析器631、协议引擎633、协议实现器635和可重配置协议栈637。目标装置650包括协议实现器655和可重配置协议栈657。在主动模式下进行操作的协议重配置设备630的操作与图5的协议重配置设备530的操作相同。此外,在被动模式下进行操作的协议重配置设备650的协议实现器655和可重配置协议栈657的操作与图5的目标装置550的协议实现器555和可重配置协议栈557的操作相同,并且分析器651和协议引擎653的功能被去激活。因此,在被动模式下进行操作的协议重配置设备650与作为图5的目标装置550的RFD在功能上操作相同。因此,图5中的元件的操作的描述也适用于图6中的元件,从而为了简明将不重复图6中的元件的描述。图7是示出使用运行时间求解器735实现协议引擎730的方法的示例的示图。参照图7,协议引擎730包括代理731和运行时间求解器735。代理731从分析器710接收作为分析器710的分析结果的应用程序的需求信息和系统信息,并基于所述信息周期性地触发运行时间求解器735。代理731将运行时间求解器735的操作结果传送到协议实现器750。运行时间求解器735实时确定应用程序的最优协议(如果当前协议不是最优协议,则最优协议可被视为应用程序的重配置的协议),并确定最优协议的操作参数。运行时间求解器735确定应用程序的重配置的协议,实现重配置的协议所需要的至少一个组件模块以及重配置的协议的操作参数。使用运行时间求解器735实现的协议引擎730包括建模单元7353和算法单元7356。建模单元7353将多个协议中的每一个协议的至少一个QoS指标定义为可从协议层获得的参数、从分析器710获得的参数、以及包括图7中的协议引擎730和协议实现器750的协议重配置设备具有权限进行控制的协议的操作参数的函数。建模单元7353使定义的功能公式化以适合于应用程序的需求信息。在该示例中,将假设应用程序的需求信息包括对可靠度以及延迟或等待时间的需求,并且用户期望使应用程序使用的能量最小化。在该示例中,建模单元7353基于应用程序的需求信息,使用定义的QoS指标使针对能量最小化的最优化问题公式化。在建模单元7353的一个示例中,多个协议的QoS指标被公式化为系统信息(例如,
SP1.....SPi)、网络信息(例如,NP1.....NP」)、可重配置协议栈(未示出)的至少一个组件模
块(例如,CO1.....COk)和从实现重配置的协议所需要的至少一个组件模块获得的重配置的
协议的操作参数(例如,CVp...、CVk)的函数。在该示例中,QoS指标可包括例如能量(Ei)、可靠度(民)、延迟(等待时间XDi)和对本领域普通技术人员而言已知的任何其他QoS指标。通过上述操作,协议引擎730根据应用程序的目的最优化QoS指标。协议引擎730从分析器7 10获得应用程序的需求信息、系统信息和网络信息,随后将这些信息输入到针对通过建模单元7353定义的QoS指标的等式中。协议引擎730在满足应用程序的需求信息指示的应用程序的需求的范围内确定使重配置的协议的至少一个QoS指标最优化的操作参数。该处理由算法单元7356执行。算法单元7356基于通过建模单元7353公式化的最优化问题来选择或开发合适的算法,并在协议重配置设备中实现所述算法。算法单元7356可基于协议的操作参数具有整数值的假设来采用分支定界算法,其中,所述分支定界算法是按照整数规划来寻找最优化问题的最优解决方案的一般算法。简而言之,算法单元7356的作用在于为每个可用协议找出针对该协议具有最佳QoS指标(诸如最低能量)并且还满足由应用程序的需求信息指示的需求的操作参数的最优值组合(或者如果仅存在一个操作参数,则找出单个操作参数的值)。然后,算法单元7356在所有可用协议中选择具有最佳QoS指标(诸如最低能量)的协议。选择的协议是最优协议,并且用于选择的协议的操作参数是用于最优协议的操作参数。图8是示出使用协议数据库835实现协议引擎830的方法的示例的示图。即使使用协议数据库835来实现协议引擎830,协议引擎830的代理831也可与图7中的协议引擎730的代理731具有相同的功能。例如,代理831接收分析器810获得的信息并基于所述信息周期性地触发协议数据库835的操作。代理831将协议数据库835的确定结果传送到协议实现器850。即使协议数据库835被用于实现协议引擎830,也可使用与图7中的运行时间求解器735中的建模单元7353相同的建模单元8353执行建模。在该示例中,当根据需求使用协议数据库835而不是使用图7中的算法单元7356来确定最优协议和用于最优协议的操作参数时,通过建模单元8353使用算法提前计算针对外部参数的最优协议以及用于最优协议的操作参数,并且结果被存储在数据库8356中。外部参数可包括例如可离线获得的应用程序的需求信息、系统信息、网络信息以及对本领域普通技术人员而言已知的影响最优协议的任何其他参数。通过参照协议数据库835,接收分析器810获得的信息(例如,应用程序的需求信息)的协议引擎830在数据库8356中确定映射到应用程序的需求信息的最优协议和用于最优协议的操作参数。协议引擎830将协议数据库835的确定结果作为重配置的协议和所述重配置的协议的操作参数发送到协议实现器850。简而言之,通过应用程序的需求信息的参数(诸如可靠度和延迟(或等待时间))的值对存储在协议数据库中的数据编索引,并且所述数据包括协议数据库覆盖范围内的针对所述需求信息的参数的值的每个可能组合的最优协议、以及用于最优协议的操作参数的最优值。针对所述需求信息的参数的值的每个组合的最优协议是所有可用协议中具有最佳QoS指标(诸如最低能量)的协议。用于最优协议的操作参数的最优值是针对最优协议具有最佳QoS指标(诸如最低能量)并还满足需求信息指示的需求的用于最优协议的操作参数的值。图8中的数据库8356示出通过作为应用程序的需求信息的参数的可靠度和延迟(或等待时间)的值对数据库8356编索引的示例。对于延迟值低于第一值的情况,没有能够满足可靠度和延迟的值的任何组合的协议(图8中标记为“不可行”的区域)。对于延迟值处于第一值和第二值之间,并且可靠度的值低于第一值的情况,最优协议是MACl并且用于所述最优协议的操作参数是 A1至Ak。对于延迟值处于第二值和最大值之间,并且可靠度的值处于第一值和最大值之间的情况,最优协议是MAC2并且用于所述最优协议的操作参数是B1至Bk。在协议重配置设备的计算能力不足以操作图7中的运行时间求解器735时,使用协议数据库835实现协议引擎830可能是有效的。此外,在由于相对静态和简单的环境而不需要较宽操作范围的重配置的协议或操作参数时,使用协议数据库850实现协议引擎830可能是有效的。图9是示出在协议重配置设备900中在主动模式下进行操作的协议实现器950的配置的示例的框图。图10是示出在主动模式下操作图9的协议实现器950的方法的示例的流程图。协议实现器950解析从协议引擎930接收的协议配置信息,并使得能够基于协议配置信息在协议层实现重配置的协议。协议引擎930基于协议引擎从分析器910接收的信息来确定协议配置信息。例如,为了基于协议配置信息实现重配置的协议,协议实现器950在存储在可重配置协议栈970中的多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。协议实现器950基于协议重配置设备900的功能执行不同的操作。例如,在协议重配置设备900用作FFD的情况下和协议重配置设备900用作RFD的情况下,协议实现器950的组成元件及其操作是不同的。图9示出用作FFD的协议重配置设备900和用作RFD的协议重配置设备990。在该示例中,协议重配置设备990执行连接到协议重配置设备900的目标装置的功能。当协议重配置设备9 00期望重配置协议重配置设备900的协议时,协议实现器950基于协议配置信息,产生与存储在可重配置协议栈970中的多个组件模块中的实现重配置的协议所需要的至少一个组件模块的连接关系相关的信息,并使用与连接关系相关的信息实现重配置的协议。在该示例中,与连接关系相关的信息包括协议标识符(ID)、组件信息和操作参数值。当协议重配置设备900不具有实现重配置的协议所需要的组件模块时,与连接关系相关的信息还包括所需要的组件模块的ELF (可执行可链接格式)格式化代码。协议重配置设备900的协议实现器950包括实现器代理951、协议更新器952、组件库953和节点状态数据库954。协议实现器950还可包括协议解析器955和协议编码器956。当协议重配置设备900用作FFD时不使用协议解析器955。仅在编码信息(例如,与连接关系相关的信息)将被发送到可重配置协议栈970时使用协议编码器956。实现器代理951基于从协议引擎930接收的协议重配置信息,产生在目标装置(即,协议重配置设备990)中实现重配置的协议所需要的信息。实现器代理951产生实现重配置的协议所需要的信息时的操作与图10中的1001和1003对应。在1001,实现器代理951确定是否重配置本地协议(即,实现器代理951所在的协议重配置设备900的协议)。
当在1001确定重配置本地协议(即,协议重配置设备900的协议)时,在1003,实现器代理951将相关信息(例如,与实现重配置的协议所需要的至少一个组件模块的连接关系相关的信息)发送到协议更新器952。在该示例中,与连接关系相关的信息包括协议ID、与实现重配置的协议所需要的至少一个组件模块相关的组件信息以及用于重配置的协议的操作参数值。当可重配置协议栈970缺少实现重配置的协议所需要的组件模块时,实现器代理951还将缺少的组件模块的代码发送到协议更新器952。缺少的组件模块的代码可按照例如ELF格式被格式化。协议更新器952使用在1003发送的与连接关系相关的信息来实现重配置的协议。图9中的实线指示当协议实现器950重配置协议重配置设备900的协议时的消息流。相反,当在1001确定不重配置本地协议(即,协议重配置设备900的协议)时,实现器代理951在1005参照节点状态数据库954,以开始在作为目标装置的协议重配置设备990中实现重配置的协议的处理。实现器代理951维持节点状态数据库954,其中,所述节点状态数据库954存储与目标装置(即,协议重配置设备990)正使用的协议、正由目标装置使用的协议的操作参数以及目标装置中可用的协议相关的信息。通过参照节点状态数据库954,实现器代理951基于协议配置信息产生在目标装置中实现重配置的协议所需要的信息。实现器代理951使用可重配置协议栈970将产生的信息发送到例如目标装置(即,协议重配置设备990)。在1007,通过参照节点状态`数据库954,实现器代理951确定目标装置是否缺少实现重配置的协议所需要的组件模块。当在1007确定目标装置缺少组件模块时,在1009,实现器代理951参照组件库953。组件库953存储与用于实现多个协议的多个组件模块相关的信息。通过参照组件库953,实现器代理951获得与缺少的实现重配置的协议所需要的组件模块相关的信息,并将获得的信息存储在存储器中。与缺少的组件模块相关的信息可按照例如ELF格式被格式化。在该示例中,可确认将被发送到目标装置的信息的内容(例如,实现重配置的协议所需要的信息)。在1011,代理951确定是否将执行对相应信息的编码以增加将被发送到目标装置的信息的鲁棒性。当在1011确定将执行编码时,在1013,实现器代理951使用协议编码器956执行对将被发送到目标装置的信息的编码。相反,当在1011确定将不执行编码时,实现器代理951跳过1013的编码并在1015使用可重配置协议栈970将所述将被发送的信息无线发送到目标装置,而不对所述信息进行编码。在1015,如果在1013执行了编码,则实现器代理951还使用可重配置协议栈970
无线发送编码后的信息。图9中的虚线指示当协议实现器950产生在目标装置(B卩,协议重配置设备990)中实现重配置的协议所需要的信息时的消息流。用作RFD的协议重配置设备990包括协议实现器991和可重配置协议栈995。协议实现器991包括用于解析信息的协议解析器9911以及用于执行解析的信息的协议更新器9913。用作RFD的协议重配置设备990的协议实现器991的配置和操作与用作在被动模式下进行操作的FFD的协议重配置设备的协议实现器相同。在下文中,将参照图11描述用作RFD的协议重配置设备990的协议实现器991的操作。图11是示出当协议重配置设备1100用作RFD时协议实现器1110的操作的框图。协议实现器1110包括协议解析器1113和协议更新器1116。协议解析器1113仅在用作FFD的协议重配置设备已使用协议编码器对信息进行编码并将编码后的信息发送到协议重配置设备1100时进行操作。使用可重配置协议栈1130将协议重配置设备1100从用作FFD的协议重配置设备接收的信息传送到协议解析器1113。在该示例中,接收的信息是在协议重配置设备1100中实现应用程序的重配置的协议所需要的信息。协议解析器1113对相应信息进行解析并将解析的信息发送到协议更新器1116。协议更新器1116基于解析的信息,在多个组件模块中确定在协议重配置设备1100中实现重配置的协议所需要的至少一个组件模块的连接关系。协议更新器1116将与连接关系相关的信息发送到可重配置协议栈1130,以基于与连接关系相关的信息连接至少一个组件模块。在该示例中,从协议更新器1116发送到可重配置协议栈1130以实现 重配置的协议的信息可依据可重配置协议栈1130如何被实现而改变。图12是示出协议实现器使用配置表1233实现重配置的协议的方法的示图。上图1210示出一般的组件模块结构,下图1230示出已使用配置表1233重配置的重配置的协议。在下图1230中,协议实现器通过使用配置表1233连接至少一个组件模块来实时实现重配置的协议。在该示例中,重配置表1233包括实现重配置的协议所需要的至少一个组件模块中的每一个的地址。此外,配置表1230包括使得能够访问所述至少一个组件模块的路由功能。因此,即使在多个协议中存在调用相应功能模块并具有相同名称的多个功能,配置表1233也可直接访问所需要的组件模块的地址。此外,在该示例中,协议更新器通知可重配置协议栈所需要的组件模块的ID (例如,与图12中示出的Component (组件)1、Component〗或 Component3 相应的 ID=1、2 或 3)。图13是示出协议实现器使用消息钩子(message hooking)实现重配置的协议的方法的示图。如图13中所示,配置层(API) 1320位于应用层(APP1和APP2)的下方。在该示例中,协议实现器通过使用配置层1320钩住正被发送到更下方的MAC层1330的消息来获得协议的ID。协议实现器基于协议的ID来切换实现重配置的协议所需要的至少一个组件模块。协议更新器通知可重配置协议栈与重配置的协议相应的协议ID。在下文中,将使用上述方法描述当连接到单个FFD的多个RFD从“I”动态改变到“3”时的协议重配置系统的操作。在示例I中表现单个RFD被连接的情况,在示例2中表现三个RFD被连接的情况。现在将描述示例I和示例2的操作。在示例I中,假设所述单个FFD使用时分多址(TDMA)协议。示例IRFDl尝试与FFD连接以执行用于测量体温的应用程序。在该示例中,将由RFDl执行的应用程序的需求信息在以下的表I中被列出。表I
权利要求
1.一种重配置应用程序的协议的方法,所述方法包括: 维持存储多个组件模块的栈的存储器; 分析应用程序的需求信息和从协议层获得的系统信息; 基于分析的结果,确定包括应用程序的重配置的协议以及重配置的协议的操作参数的协议配置信息; 基于协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系。
2.如权利要求1所述的方法,其中,分析的步骤包括:基于是否发生了与应用程序的需求信息相关的事件,获得应用程序的需求信息。
3.如权利要求1所述的方法,其中,确定协议配置信息的步骤包括: 将多个协议中的每一个协议的服务质量(QoS)指标定义为协议的操作参数和可从协议层获得的至少一个参数的函数; 使所述函数公式化以适合于应用程序的需求信息。
4.如权利要求1所述的方法,其中,确定协议配置信息的步骤包括:确定使重配置的协议的服务质量(QoS)指标最优化,同时满足由应用程序的需求信息指示的应用程序的需求的操作参数。
5.如权利要求1所述的方法,还包括:通过将包括分析的结果的信息应用于多个协议中的每一个协议来维持协议 数据库,其中,所述协议数据库存储映射到需求信息的多个协议以及所述多个协议各自的操作参数, 其中,确定协议配置信息的步骤包括:参照协议数据库以将多个协议中的映射到应用程序的需求信息的一个协议和所述一个协议的操作参数确定为重配置的协议和重配置的协议的操作参数。
6.如权利要求1所述的方法,还包括: 基于协议配置信息产生与连接关系相关的信息; 使用与连接关系相关的信息来实现重配置的协议。
7.如权利要求6所述的方法,还包括:维持存储与多个组件模块相关的信息的组件库。
8.如权利要求7所述的方法,还包括: 确定将实现重配置的协议的目标装置是否缺少实现重配置的协议所需要的任何组件模块; 从组件库获得与被确定为目标装置所缺少的任何组件模块相关的信息。
9.如权利要求1所述的方法,还包括:维持节点状态数据库,其中,所述节点状态数据库存储与目标装置正使用的协议、目标装置正使用的协议的操作参数以及目标装置中可用的协议相关的信息。
10.如权利要求9所述的方法,还包括: 通过参照节点状态数据库以及连接关系,基于协议配置信息产生在目标装置中实现重配置的协议所需要的信息; 将在目标装置中实现重配置的协议所需要的信息发送到目标装置。
11.如权利要求10所述的方法,还包括:对在目标装置中实现重配置的协议所需要的信息进行编码。
12.如权利要求1所述的方法,其中,确定连接关系的步骤包括: 接收协议配置信息; 解析协议配置信息。
13.如权利要求1所述的方法,还包括:使用包括所述至少一个组件模块中的每个组件模块的地址的表,连接所述至少一个组件模块。
14.如权利要求1所述的方法,其中,确定连接关系的步骤包括: 根据应用程序的重配置的协议,钩住传送到应用层的更下层的消息; 基于从钩住的信息获得的协议的标识符(ID),切换到所述至少一个组件模块。
15.一种重配置应用程序的协议的方法,所述方法包括: 维持存储多个组件模块的栈的 存储器; 从目标装置接收实现应用程序的重配置的协议所需要的信息; 基于实现应用程序的重配置的协议所需要的信息,在多个组件模块中确定实现应用程序的重配置的协议所需要的至少一个组件模块的连接关系。
16.如权利要求15所述的方法,其中,实现应用程序的重配置的协议所需要的信息包括: 协议配置信息,包括应用程序的重配置的协议和重配置的协议的操作参数;或者 与所述至少一个组件模块的连接关系相关的信息;或者 所述协议配置信息和所述与连接关系相关的信息两者。
17.如权利要求15所述的方法,其中,确定连接关系的步骤包括:解析实现重配置的协议所需要的信息。
18.一种用于重配置应用程序的协议的设备,所述设备包括: 分析器,被配置为分析应用程序的需求信息和从协议层获得的系统信息; 协议引擎,被配置为基于由分析器获得的分析结果确定协议配置信息,其中,所述协议配置信息包括应用程序的重配置的协议和重配置的协议的操作参数; 协议实现器,被配置为基于协议配置信息,在多个组件模块中确定实现重配置的协议所需要的至少一个组件模块的连接关系; 可重配置协议栈,包括配置为存储多个组件模块的栈的存储器。
19.一种用于重配置应用程序的协议的设备,所述设备包括: 可重配置协议栈,包括配置为存储多个组件模块的栈的存储器; 协议实现器,被配置为基于从目标装置接收的实现应用程序的重配置的协议所需要的信息,在多个组件模块中确定实现应用程序的重配置的协议所需要的至少一个组件模块的连接关系。
20.一种重配置应用程序的协议的方法,所述方法包括: 基于应用程序的需求信息和从协议层获得的系统信息,确定应用程序的最优协议以及所述最优协议的操作参数的最优值; 在应用程序的当前协议不是最优协议时,使用应用程序的当前协议缺少的至少一个组件模块以及应用程序的当前协议的至少一个组件模块,将应用程序的当前协议重配置为最优协议,并将所述最优协议的操作参数的值设置为所述最优协议的操作参数的最优值。
21.如权利要求20所述的方法,其中,应用程序的当前协议缺少的至少一个组件模块以及应用程序的当前协议的至少一个组件模块被包括在可重配置协议栈的存储器中存储的多个组件模块中。
22.如权利要求20所述的方法,还包括:当应用程序的当前协议是最优协议,并且最优协议的操作参数的当前值不是最优协议的操作参数的最优值时,将最优协议的操作参数的值设置为所述操作参数的最优值。
23.如权利要求20所述的方法,其中,应用程序运行在第一装置上,以使用当前协议对从连接到第一装置的第二装置发送到第一装置的数据进行处理; 当应用程序的需求信 息改变时或者当第三装置连接到第一装置时,执行对最优协议的确定。
全文摘要
一种重配置应用程序的协议的方法和设备,所述方法包括基于应用程序的需求信息和从协议层获得的系统信息,确定应用程序的最优协议以及所述最优协议的操作参数的最优值;在应用程序的当前协议不是最优协议时,使用应用程序的当前协议缺少的至少一个组件模块以及应用程序的当前协议的至少一个组件模块,将应用程序的当前协议重配置为最优协议,并将所述最优协议的操作参数的值设置为所述最优协议的操作参数的最优值。
文档编号H04L29/06GK103227806SQ20121036413
公开日2013年7月31日 申请日期2012年9月26日 优先权日2011年9月26日
发明者金兑锡, 朴泰林 申请人:三星电子株式会社
再多了解一些
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1
彩票开奖查询 广东11选5 500万彩票网 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 500w彩票 <人皇 最新章节>| <斗牛棋牌>| <莽荒纪快眼看书>| <现代言情小说阅读网>| <青春校园爱情小说>| <完美世界txt下载txt>| <现代言情小说阅读网>| <都市言情小说排行>| <斗牛棋牌>| <完美世界小说txt奇书>| <莽荒纪快眼看书>| <混沌剑神>| <我爱小品网>| <完美世界小说新笔趣阁>| <exo小说阅读网np>| <飞卢小说网>| <59燃文小说阅读网>| <天天棋牌>| <我爱小品网>| <武动乾坤>| <女生小说>| <穿越之神医王妃>|