CN104115526A - 通信网络中高效的代理表管理 - Google Patents

通信网络中高效的代理表管理 Download PDF

Info

Publication number
CN104115526A
CN104115526A CN201380009616.9A CN201380009616A CN104115526A CN 104115526 A CN104115526 A CN 104115526A CN 201380009616 A CN201380009616 A CN 201380009616A CN 104115526 A CN104115526 A CN 104115526A
Authority
CN
China
Prior art keywords
constrained devices
agent equipment
resource
equipment
agent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380009616.9A
Other languages
English (en)
Other versions
CN104115526B (zh
Inventor
K.J.G.霍特曼
B.埃德曼恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Signify Holding BV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN104115526A publication Critical patent/CN104115526A/zh
Application granted granted Critical
Publication of CN104115526B publication Critical patent/CN104115526B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及用于以优化用于通信网络的性能、时延和可靠性,同时确保每个受限设备具有一定数目的早期动作代理(early-actingproxies)的方式来管理代理表的内容的若干技术。实体被允许通过移除或增加代理表条目来保持每个资源受限设备具有所要求的数目的代理。此外,实体被允许基于转发策略、报告策略和/或轮询策略来保持跟踪早期动作的代理。由此,可以控制代理表条目以优化整体系统性能和可靠性特性。

Description

通信网络中高效的代理表管理
技术领域
本发明涉及通信网络领域,其中代理设备(例如代理节点)作为中继设备(例如,中继节点)工作以将消息从资源受限的设备(例如资源受限的节点)(诸如(但不限于)ZigBee绿色能源设备(ZigBee Green Power devices, ZGPD))转发到它们的信宿或目的地设备(例如目的地节点)。
背景技术
在无线网络中,可以使用资源受限的设备,其包括诸如能量采集设备之类的能量受限的设备。这样的设备在能量的可用量方面受到严重限制,这限制了它们提供的功能并且影响网络的运行、调试(commissioning )和维护。
这样的技术的一个示例是正在演进的ZigBee绿色能源(ZGP)标准。ZGP设备(ZGPD)是资源受限的设备,其可以通过能量采集来供电,并且可以不具有电池或可以仅具有小的存储容量并因而能够仅以不定期的时机发送和/或接收。举例来说,ZGPD可以是这样的无电池开关,其仅能够当其被用户驱动时在一个短的时间内进行发送并且没有接收能力。ZGPD的另一个示例可以是这样的无电池开关,其能够当其被用户驱动时在一个短的时间内进行接收并且已经发送了其信号。ZGPD的又一个示例是从其环境采集能量(例如,通过光伏电池)、具有或不具有接收能力的周期性报告传感器。如果一个能量受限的设备处于该设备的范围之外,则它被配置成控制(被控制的设备被称为“信宿”或“目的地设备”),中间设备(被称为“代理”)被用于将信息转发到信宿。代理和受限设备之间的无线链路可以在网络生存期期间出现和消失,例如由于传播条件或设备的相对位置的改变,和/或由于增加或移除了设备。出于系统安全性和性能的原因,代理可以为受限设备仅进行转发,它们具有用于例如能够施行新颖性和/或安全性检查(认证、解密)的表条目(即代理表条目)。为了通信可靠,可以使用多于一个代理来为受限设备转发信息。
存在各种各样的方式来自动地或在(例如用户或维护和/或配置实体)请求时建立/扩展这样的代理表条目。然而,在ZGP规范中当前可用的用于条目移除的方法需要用户通过使用调试工具和/或与受限设备和/或被控制的设备(其中的每一个可以被向上安装在天花板中)进行手动交互来参与,这对于诸如建筑物自动化网络之类的大规模网络来说是麻烦的;并且如果与现在的ZGP规范中可提供的自动化代理表创建相结合的话,则所述方法可能需要重复的移除操作。
由于网络的规模化和自动化代理表创建,需要自动化代理表管理。根据ZGP规范,由所实现的代理来选择某种管理启发式方法(heuristics),即,(例如,在必须增加新的条目的情况下)选择从(满的)代理表挑选要删除的条目的启发式方法;唯一推荐的用于自动移除代理表条目的方法指向Options字段的InRange标志被设置成“0b0”(可选地,连同Options字段的ZGPDfixed子字段也被设置成“0b0”)的这些条目(参见用于ZBA的ZGP最佳实践,ZigBee文档11-0196r01,第5.4.2.1节,第24页第22-24行);或者指向Options字段的EntryActive标志被设置成“0b0”、可以被移动到zgppBlockedZGPDID列表的条目(ZigBee 文档09-5499r23,第3.5.2.2.1节,第21-23行)。其他可能的启发式方法超出了ZGP规范的范围;它们可以是指用于问题解决、学习和发现的基于经验的技术。在穷尽式搜索不切实际的情况下,启发式方法被用于加快寻找满意的解决方案的过程。这样的启发式方法的示例包括使用经验法则、有根据的推测、直觉判断或常识。最基本的启发式方法是尝试与错误。代理的实现者可以具有一定程度的自由度,因为尽管不好的启发式方法降低了网络效率和可靠性,但是不好的启发式方法不会导致网络的长期故障。在当前的ZGP规范中,对于具有非常满的代理表的代理没有性能的不利结果,使得进行侵略性的清除以缩小代理中远小于可用存储大小的代理表没有有益的效果。
当前的ZGP规范提供一些用于代理表维护(尤其是代理表条目创建)的其他机制。举例来说,在调试过程中(很可能具有用户参与),信宿或调试工具发送控制声明(例如,AddSink标志被设置成“0b1”的ZGP配对命令),以通知(各)代理关于所创建的新的控制关系,包括受限设备的标识符和对应的(各)信宿。该控制声明可以通过(范围有限的)广播来发送,其中,仅当(各)代理处于该被限制设备的范围内时(尤其当设备指示了固定位置时),它们才可选地增加表。在运行期间,可以在代理处通过接收未经请求的控制声明,或来自未知受限设备的通信并查看转发它的其他(各)代理,或来自未知受限设备的通信并通过做出对于控制关系的查询(例如,ZGP配对搜索命令或广播ZGP通告命令),来完成代理表条目创建。代理表条目可以在从处于调试模式的受限节点接收到停止运作(Decommissioning)GPDF(绿色能源设备帧)之后被移除(在受限节点上被特别触发),或者在接收到控制移除命令(例如,AddSink标志被设置成“0b0”或RemoveZGPD标志被设置成“0b1”的ZGP配对)之后被移除(在信宿/调试工具上被特别触发)。
ZGP规范中提到的其他自动化代理表操作是清除first-to-forward标志和/或移除在接收由另一个代理转发的通信时排队等待转发的任何分组或来自信宿的确认分组(参见ZGP规范,ZigBee文档09-5499-23,第A.3.5.2.1节,第124页第9-39行),或者清除first-to-forward标志和移除在接收利用另一个被提名的代理进行到受限设备的发送的请求时排队等待传送到受限设备的任何分组(参见ZGP规范,ZigBee文档09-5499-23,第A.3.5.2.1节,第122页第43行至第123页第5行)。
前面提到的方法允许确定代理表条目的状态。然而,由于受限设备对于传输的不可预测的调度(其可以取决于可用能量的量和/或用户交互)和无线传输(尤其是来自潜在地不使用应答(ACK)和信道访问程序(诸如带冲突避免的载波侦听多路访问(CSMA/CA))的受限设备的无线传输)不可靠的本质,因此用于基于老化的自动化代理表移除的简单方法(例如移除将最快到期的条目、移除最早被创建的条目、移除最少使用的条目)不适于受限设备。
尽管用于代理设备自主地采取其决定以创建、保持、更新或移除代理表条目的若干解决方案是已知的,但是它们不保证对于每受限设备的代理的高效分配(以所要求的冗余级别)的最优系统性能。
发明内容
本发明的一个目的是提供对于网络中的代理表的高效管理以完成以下项中的至少一个:移除过时的代理表条目、避免代理表溢出、避免每个受限设备具有过多的能起作用的代理(尤其是在密集网络中)、保证每个受限设备具有至少单个代理(在密集网络中)和最优的代理可靠性。
这个目的通过如权利要求1和14中所要求保护的装置、如权利要求7、8、9、17和19中所要求保护的代理设备、如权利要求22、23、24、25和26所要求保护的方法以及如权利要求27中所要求保护的计算机程序产品来完成。
相应地,建议了解决方案以按照优化用于相关(各)网络的性能、时延和可靠性,同时优化每个受限设备具有的一定数目的早期动作的代理设备的方式,来管理代理表的内容。基于从代理设备和/或网络中的其他设备接收的代理表信息,和/或至少部分地基于对于由所述代理设备中的至少一个在担当用于所述资源受限设备的中继设备时发送的消息的观察,来为至少一个资源受限设备确定具有用于资源受限设备的代理表条目的代理设备的数目。知道每受限设备(例如ZGPD)的代理设备的数目,就允许装置(其可以在代理设备、信宿设备、控制设备,比如例如调试工具或建筑物管理系统,或另一个设备处被提供)增加或移除或确认或创建条目或试验条目。作为示例,具有用于资源受限设备的代理表条目的代理设备的数目可以通过将对于代理表条目的请求,例如,以广播发送以便寻址到代理,或以单播发送以便寻址到存储条目的另一设备,来确定。可替换地或附加地,基于从代理设备接收的信息和/或至少部分地基于对于由所述代理设备中的至少一个在担当用于所述资源受限设备的中继设备时发送的消息的观察,来确定具有用于资源受限设备的代理表条目的代理设备已经代理资源受限设备的次数与资源受限设备已经做出传输的次数之间的比率,并且如果该比率超过预定阈值则启动对于具有用于资源受限设备的代理表条目的至少一个附加代理设备的创建,或者如果该比率超过另一个预定阈值则启动对于用于资源受限设备的至少一个代理表条目的移除。此外,可以通过强制(各)代理设备报告关于已知资源受限设备的信息来便利代理表管理。与之相结合,可以适配(各)代理设备来提供关于在它/它们的接收范围内检测到的资源受限设备的监控记录。所检测的这些资源受限设备可以还未被在它/它们的代理表中列出。
由此,可以确保每个受限节点在代理设备中具有表条目。通过确保每个资源受限设备在其传输范围内具有若干能够早期动作的代理设备,可以优化系统可靠性。由此,通过对于每受限设备的代理设备的高效分配(以所要求的冗余级别)可以快速和高效地改进系统性能。所要求的或期望的每受限设备的代理设备的数目可以通过用于移除代理表条目(从所选择的代理设备)和/或增加代理表条目(到所选择的代理设备)的代理表管理技术来达到,从而优化整体系统性能和可靠性特性。
如前面的独立装置、设备和方法独立权利要求中所定义的所有解决方案涉及针对前面目的的相关产品或替换性解决方案,其通过平衡使用用于资源受限节点的代理设备的普通共同概念而联系起来,所述平衡使用用于资源受限节点的代理设备通过基于关于资源受限设备和/或相关代理表条目的共享信息来管理用于资源受限设备的代理表条目,而实现。
根据第一方面,可以基于从代理设备或网络中的其他设备接收的代理表信息和/或至少部分地基于对于由所述代理设备中的至少一个在担当用于所述资源受限设备的中继设备时发送的消息的观察,来确定代理设备的数目。这些措施便利了可以从中导出代理设备的数目的信息的收集。
根据可以与前面的第一方面相结合的第二方面,至少所确定的具有用于资源受限设备的代理表条目的代理设备的数目可以被存储在代理计数表中,并且可以响应于从代理设备或另一设备(例如,信宿)接收并表明代理设备已经决定或被指示从其代理表中丢弃资源受限设备或者停止为了它进行转发的消息(例如,单播或组播或广播消息),来从代理计数表中移除代理设备。这个措施确保用于代理表管理的代理信息被保持为最新。
根据可以与前面的第一或第二方面相结合的第三方面,如果确定以下条件中的至少一个:存在多于预定上阈值的具有用于资源受限设备的代理表条目或者为了资源受限设备进行转发的代理设备、代理设备具有不充分的可靠性指示符、给定区域中或具有给定能力的所有代理设备具有满的代理表、阈值改变、受限设备的特性改变、配对变化,则用于资源受限设备的表条目可以被从至少一个代理表中移除或被标记为移除的候选者或者为了资源受限设备进行转发可以被停止。这确保了对于每个资源受限设备,在其传输范围内的能够早期动作的代理设备的数目被保持在该上阈值以下。
根据可以与前面第一到第三方面中的任一个相结合的第四方面,代理表条目由装置在该代理表条目的生存期到期时或到期前重建。由此,该装置可以基于可用的代理相关的信息来确定是否即便在代理表条目的生存期到期之后,其仍应当被维持。
根据可以与前面第一到第四方面中的任一个相结合的第五方面,如果它已经确定以下条件中的至少一个:所确定的具有用于资源受限设备的代理表条目的代理设备的数目(即,能够早期动作的代理设备的数目)在预定下阈值以下、现有代理没有充分的可靠性指示符、其他代理确实具有充分的或更好的可靠性指示符、阈值变化、受限设备的特性变化或配对的改变,则可以启动动作,该动作使得创建具有用于资源受限设备的代理表条目或为了资源受限设备进行转发的更多能够早期动作的代理。由此,可以确保每个受限节点在代理设备中都具有预定的最小数目的表条目。
根据可以与前面第一到第五方面中的任一个相结合的第六方面,代理设备可以被适配成,在特定于代理的延迟时间到期之后,并且除非它已经观察到另一个代理已经转发从针对其而言它具有用于转发的代理表条目的资源受限设备接收的消息,才转发该消息,其中该代理设备被适配成控制该特定于代理的延迟时间从而使得这个延迟时间低于由该资源受限设备的范围内的其他代理设备所使用的延迟时间的概率非零,即便网络拓扑是这样的:这些其他代理设备相对于资源受限设备处于更好的位置,或者传播条件是这样的:所述其他代理设备具有更好的可靠性指示符。由此,每个代理设备将不定期地得到为了受限设备进行动作的机会。特定于代理的延迟时间可以通过包括以下项中的至少一个来计算:随机分量和/或基于对资源受限设备已经发出还未被代理设备转发的消息的这些最近的事件的数目的计数的分量和/或基于代理设备为了资源受限设备进行转发的计数的分量。由此,可以实现更快地稳定能起作用的代理的个数。
根据可以与第一到第八方面中的任一个相结合的第七方面,如果前面的具有用于资源受限设备的代理表条目的代理设备已经代理资源受限设备的次数与资源受限设备已经做出传输的次数之间的比率已经降到预定阈值或另一个(更低的)阈值以下,则启动动作以停止为了资源受限设备进行转发并移除用于资源受限设备的代理设备的代理表条目,或者将代理表条目标记为移除的候选者。由此,可以检测并丢弃不经常使用或不再位于受限设备的范围内的代理设备。
根据可以与第一到第七方面中的任一个相结合的第八方面,可以基于从没有用于资源受限设备的代理表条目或不为了资源受限设备进行转发的代理设备接收的关于资源受限设备的监控信息,来确定具有用于资源受限设备的代理表条目的代理设备已经代理资源受限设备的次数与资源受限设备已经做出传输的次数之间的比率。因此,有利地,非能够早期动作的代理设备可以参与代理表管理。
根据可以与第一到第九方面中的任一个相结合的第九方面,如果不为了资源受限设备进行转发的第二(非能够早期动作的)代理设备检测到另一个代理设备的比率超过预定阈值,则该第二代理设备可以启动动作以获得用于资源受限设备的代理表条目或开始为了资源受限设备进行转发。由此,没有用于受限设备的代理表条目的代理设备可以能起作用地参与表管理。
根据可以与第一到第九方面中的任一个相结合的第十方面,代理设备可以被适配成接收涉及资源受限设备的命令消息,其中代理设备被适配成仅当它当前具有与来自受限设备的最近的消息相关的监控记录时才执行该命令。如前面已经提到的,这增强了能起作用的代理个数的稳定性。特定的命令可以导致用于资源受限设备的代理表条目被增加到代理设备中。
应当注意,装置和代理设备每一个都可以被实现为具有分散的硬件部件的分散的硬件电路、集成芯片、芯片模块的布置、或实现为由编写在计算机可读介质上或从诸如互联网之类的网络下载的、存储在存储器中的软件例程或程序控制的信号处理设备或者芯片。
应当理解,权利要求1和14的装置、权利要求7、8、9、17和19的代理设备、权利要求22到26的方法和权利要求27的计算机程序产品具有类似的和/或相同的优选实施例,具体来说,如从属权利要求中所限定的。
应当理解,本发明的优选实施例还可以是从属权利要求与各独立权利要求的任意组合。
本发明的这些和其他方面将通过下文中描述的实施例而显而易见,并且将参照下文中描述的实施例而被阐明。
附图说明
在图中:
图1示出根据各个实施例的系统架构的示意性框图。
具体实施方式
现在基于无线网状网络来描述各实施例,该网状网络包含一个或多个受限设备R、一个或多个信宿设备T、一个或多个代理设备P;所述受限设备R(例如,由能量挖掘机制供电的设备)能够通过将消息放入分组中来发送消息,但是在其发送许多或长的无线分组的能力上受限,并且在其长时间段内完全监听分组或接收的能力上受限;所述信宿设备T应当接收来自受限设备R的消息并根据该消息进行动作,其中消息可以被编码成一个或多个分组,并且对分组中的消息的编码可以在逐跳的基础上变化,并且消息能够以任播、单播、多播、组播或广播通信模式来传送;所述代理设备P帮助将来自受限设备的消息传送到超出受限设备的(无线电)范围,和/或帮助以所要求的消息格式来传送所述消息和/或当它们从受限设备接收分组时通过采取特别动作(例如,将消息向前传送到信宿设备T)来以更可靠的消息格式进行传送。代理设备P通常可以具有比受限设备更多的能源,因此它们能够进行附加的消息处理,使用具有更长消息或根据不同协议的消息的不同消息格式,为了受限设备做出重试动作或路由发现动作,等等。可选地,可以提供一个或多个路由器设备RT,其不能担当代理设备但是能够将代理设备P发送的消息朝着信宿设备T路由。该网络被称为“网状”网络以表明至少存在一个能够担当用于消息的中继的设备。
单个设备可以担当信宿设备T和代理设备P二者,也可以担当路由器设备RT。
图1示出典型的网络拓扑,可以在该网络拓扑中实现本发明。图1中的箭头示出被发送并被接收以将消息从受限设备R1传送到信宿设备T1的分组。虚线箭头表明,在该示例中,由受限设备R1发送的原始分组还被第一代理设备P1接收,但是该第一代理设备P1并不作用于所述原始分组。存在第一代理设备P1和第二代理设备P2可以根据其进行协调以防止当转发分组时它们两者的任何浪费动作的若干方法。
如图1中所表明的,第一和第二代理设备P1和P2两者都是受限设备R1的范围内的代理。为什么可能有益的是具有其中范围内的多个设备能够担当用于受限设备R1的代理或者作为用于受限设备R1的代理来工作的系统设计,存在若干理由。
第一个理由是可靠性。对于每个消息Mi,受限设备R1可能仅具有有限的能量来发送包含该消息的分组。举例来说,受限设备R1可能仅能够发送在(例如,由所采集的能量的可用性所限定的)非常短的时间窗口内对消息进行编码的两个或三个分组。它也可能不能够施行所要求的信道访问机制和/或等待接收应答帧,所有这些都可以负面影响通信可靠性。在那种情况下,在受限设备R1周围具有更多代理(其都将监听并且也能够转发来自受限设备R1的分组)增加了至少一个代理将接收具有消息Mi的分组并随后确保它被传送到信宿T的机会。
第二个理由是移动性。如果受限设备R1能够四处移动,则它可以移动到任何单个代理的范围之外,该代理可以被移走/关闭或者传播条件可以改变(例如,由于临时或永久的空间重新布置或人员移动)。
第三个理由是避免对受限设备进行配置。配置受限设备R1以保持单个代理设备的网络地址可能是不可能的或者不合期望的。受限设备R1发送的任何消息分组将因此自动地成为寻址到所有或多个(范围内的)能够代理的设备的广播/多播分组。
本发明的实施例应用于具备针对每个受限设备R1具有多个代理的能力的系统。在这样的系统中,如果代理能够包含关于受限设备的“状态信息”(也被称为“代理表信息”),则对于速度、效率和可靠性是有益的。这样的可适用于单个受限设备R1的“状态信息”的示例是:(i)受限设备的标识符;(ii)针对来自受限设备R1的某些消息的信宿设备(或多个信宿设备)的地址(或标识),以免受限设备R1不能或没有将这个信息嵌入其消息分组中,或者影响为了受限设备进行转发的其他信息(例如,条目状态、路由信息、用于转发的别名地址);(iii)使得从或到受限设备R1的通信更安全的信息,例如,受限设备R1使用的加密密钥、受限设备R1最近使用的安全性帧计数器(帧计数器能够保护免受再播攻击和/或被用作密钥的初始化向量);(iv)关于受限设备和代理设备之间的链路的质量的信息;(v)受限设备的能力;(vi)消息,一旦受限设备R1对其无线电单元上电并将其设置成接收这样的消息,该消息就需要被发送到受限设备R1;它们中的所有或一些可以被存储。通常,在能量挖掘设备或节点发送了一个消息分组后,其可以对其无线电单元上电并将其设置成短时间内的接收模式。
在各实施例中,术语‘代理表’和‘代理表信息’意图覆盖保持关于或用于一个或多个受限设备的信息的代理中的任何数据结构的部分或全部,并可以包含前面段落中描述的信息元素中的一个或多个。代理表可以包含用于一个或许多不同受限节点Rx的信息。因此,在这样的系统中,代理表条目需要被创建、维持和用于转发受限设备的通信,并且潜在地也需要被移除。
举例来说,在图1中,如果代理设备P1和P2两者在它们的代理表中都存储用于受限设备R1的信息,则是有益的。在受限设备R1可以四处移动的情况下,如果第三代理设备P3会存储那个信息,则也是有益的。然而,在大多数设想的网状网络中,代理设备或节点中的存储器是有限的,使得在所有(能够)代理节点的所有代理表中存储关于所有受限节点的信息并不总是可能的。
然而,仍然可以选择当前在其代理表中没有关于受限节点R1的任何信息的代理节点来作为用于那个节点的代理而开始工作。因此,可以标识出受限节点周围的两种类型的代理。第一种类型是能够早期动作的代理,它在其代理表中具有关于受限设备的信息或为了这样的受限设备进行转发,第二种类型是不能够早期动作的代理,它在其代理表中(还)没有关于任何受限设备的信息,或者至少没有足够的信息,并因此在其接收到来自受限设备R1的消息的时刻不能为了受限设备(R1)进行转发。晚期动作的代理将首先必须从网络中的其他地方获得必要的信息。应当注意,在整个本说明书中,术语“能起作用的代理”和“能够早期动作的代理”具有相同的含义并且意图被可互换地使用。
网络中的布置可以使得每个受限节点在其传输范围内具有至少一些能够早期动作的代理。然而,在这种情况下,用来防止每个能够早期动作的代理在它从其范围内的受限设备接收到消息时在所有情况下都决定进行动作的机制可能是合期望的。否则,多个能够早期动作的代理的存在可能导致消息传送时延的增加或甚至传送可靠性的降低。这样设想的防止机制中的一个可以是:如果某个代理设备作用于从受限设备R1接收的消息,则通知受限设备的范围内的其他代理。如果其他代理设备被通知了关于所述某个代理设备的动作,则它们能够制止自己进行动作。这样的信息机制可以实现如下。假设第一代理设备P1已经从受限设备R1接收了消息Mi,并且现在必须决定是否进行动作。于是,它将开启一个超时计数器并监听网络信道。如果它看到来自另一个代理设备(例如,第二设备P2)的分组,该分组包含表明第二代理设备P2已经作用于受限设备R1的相同消息Mi的有效载荷,那么第一代理设备P1决定不进行动作并停止该计数器。如果该计数器计数到零而未接收到针对受限设备R1的消息Mi的来自第二代理设备P2的分组,那么第一代理设备P1就变得能起作用并且代理受限设备R1。由于网络发送范围的差异和无线分组传送的某种内在的不可靠性,类似这样的机制将不会在所有情况下都禁止多个代理决定作用于来自受限设备R1的相同消息。因此,设想例如在信宿节点中还有机制来滤除来自所有进行动作的多个代理的重复消息。
在即将到来的ZGP标准中,以下机制被用于能起作用的和有效的代理表条目(参见ZGP规范,ZigBee文档09-5499-23,第A.3.5.2.1节,第124页第9-39行)。在单播转发的情况下,具有用于特定受限设备的代理表条目的代理基于准则(诸如所接收的来自受限设备的信号的质量、路由到信宿设备的单播的可用性和作为在过去第一个转发的事实)来计算转发延迟。当转发延迟到期时,代理设备在2跳广播中发送具有别名网络源地址和别名网络序列号(两者都从GPDF中的信息导出)的ZGP隧道(Tunneling)停止消息以通知其他代理,并且随后在单播中发送(各)ZGP通告消息。当在转发延迟内接收到针对相同ZGPD命令的ZGP隧道停止消息时,代理取消其自身的预定的传输。在用于GPDF的组播通信表明接收时机的情况下,那些具有用于特定受限设备的代理表条目的代理如前面描述地来计算转发延迟(不考虑路由到信宿设备的单播的可用性)。当转发延迟到期时,代理在APS(应用支持子层)多播中发送(各)ZGP通告消息,并且它包括其短地址和从受限设备R1接收的信号的质量的指示符。当在转发延迟内接收到用于相同ZGPD命令的ZGP通告消息时,如果ZGP通告具有更好的质量指示符或相等的质量指示符和更低的短地址,则代理设备取消其自身的预定的传输。在用于GPDF的组播通信未表明接收时机的情况下,具有用于特定受限设备的代理表条目的代理设备在APS多播中转发具有别名网络源地址和别名网络序列号(两者都从GPDF中的信息导出)的(各)ZGP通告消息,这使得单独生成的ZGP通告分组看起来与ZigBee的广播事务表相同。能够进行基于信宿表的组播转发的信宿可以使用相同的机制(参见ZGP规范,09-5499-23,第A.3.5.2.5节,第135页第28-35行)。
如果代理设备成功地发送了ZGP通告,那么它将其代理表条目的first-to-forward标志设置成“真”并且当从单播信宿接收到first-to-forward标志被设置成“假”的ZGP通告响应消息时将其清除(参见ZGP规范,09-5499-23,第A.3.5.2.1节,第124页第9-39行)。信宿基于ZGPD标识符(SrcID)、帧计数器值和通信模式来过滤所接收的ZGPD命令;附加的重复过滤由更低的层施行(参见ZigBee绿色能源规范,09-5499-23,第A.3.6.1.2节)。
代理表条目需要被初始创建。它们可以例如被创建为涉及用户和/或工具的调试过程的一部分。代理表条目还可以被自动地创建。决定代理受限节点的非能够早期动作的代理在动作结束时可以在其自身中带着用于创建针对受限设备的代理表的足够信息而终结。能够偷听到(overhear)允许其制作一个额外的代理表条目的通信的非能够早期动作的节点可以决定这么做,尤其是当它具有用于更多可用条目的空闲空间时。
假定代理设备(偷)听到在网络中被四处发送的关于受限节点的信息,这允许其将受限设备增加到其代理表并变成用于受限设备的能够早期动作的节点。尤其是在代理设备(还)未从受限设备接收任何消息的情况下,即,它可能(还)不在受限设备的范围内。代理设备可能例如听到意图用于所有感兴趣节点从而通知它们关于节点受限节点的广播或多播类型的消息。代理Px应当如何决定其是否应当将受限设备增加到其代理表,尤其是当这意味着它必须从代理表中删除另一个条目时?下面讨论用于这样的决定的辅助方法。
在即将到来的ZGP标准中,使用下面的机制将信息配置进代理表中(参见ZGP规范,09-5499-23,第A.3.5.2.1节,第122页第17-41行;第A.3.5.2.2.2节,第127页第2-21行;第A.3.9节)。作为成功的调试过程的一部分,ZGP信宿(ZGPS)或ZGPCT(ZGP调试工具)通常作为网络宽泛广播来发送AddSink标志被设置成“0b1”的ZGP配对消息(参见ZGP规范,09-5499-23,第A.3.3.5.2节),该ZGP配对消息除了别的以外还携带SrcID(即受限设备ZGPD的标识符)、安全性设置(如果有的话)和所要求的用于转发的通信模式。当接收到ZGP配对时,代理设备利用所提供的信息来创建/扩展代理表条目。对于能够基于信宿表进行转发的信宿,当接收到可以由另一个ZGPS或ZGPCT或另一个管理设备发送的ZGP配对配置命令时创建信宿表条目(参见ZigBee绿色能源规范,09-5499-23,第A.3.3.4.7节;第A.3.5.2.5节第132页第27行至第134页第27行)。
如果可能,应当自动地移除老的/多余的代理表条目。然而,受限设备可能具有非常不规律的发送模式,这例如依赖于能量的可用性和/或用户触发。一种管理代理表的方式可以是使用“最近最久未使用”的置换策略。在“最近最久未使用”的策略下,如果代理设备需要将受限设备增加到其已经满了的代理表,那么它将丢弃它最近最久未使用的节点Ri,其中在所述表中的所有节点中可以选择节点Ri作为这个节点,其中代理设备最近最久未(在最远的过去)为了该节点担当代理,或者在所述表中的所有节点中可以选择节点Ri作为这个节点,其中代理设备观察到该节点最近最久未发送任何消息。
然而,这样的“最近最久未使用”置换策略存在问题。假设代理表被限制到5个条目,并且网络包含15个代理设备(节点)和15个受限设备(节点),其中所有这些设备都在所有其他设备的接收范围内。假设所述受限设备中的10个是每分钟报告数据的温度传感器,并且5个是每天平均使用一次的光开关按钮。在这种情况下,很可能存在的是----每天早晨,不管使用什么样的确切的“最近最久未使用”置换策略,所有代理设备中的所有代理表将被关于温度传感器的数据所填满,而所有光开关从所述表中消失。根据网络的其他方面的设计,这将使得光开关消息处理变得缓慢、不可靠或甚至不可能。因此需要比“最近最久未使用”更好的策略。15个代理设备在其间具有15*5=75个表条目,所以应当可能的是,使得15个受限设备中的每一个出现在至少一个代理设备的代理表中。
另一个管理代理表的方式可以是使用‘先入先出’置换策略。那显然也是次优的,因为它未考虑任何受限设备的能动性或重要性。
回退(fallback)解决方案在移除代理表条目中可能牵涉用户。
即将到来的ZGP标准提供以下用于代理表条目移除的机制。
从网络中移除ZGPD设备,包括移除相关的代理表条目,能够通过ZGPD发送ZGPD停止运作命令和/或通过信宿/调试工具发送RemoveZGPD标志被设置成“真”的ZGP配对命令来触发(参见ZGP规范,09-5499-23,第A.3.3.5.2节)。两个动作都期望由用户来触发。从代理表条目中移除特定配对(即信宿信息)可以通过信宿/调试工具发送AddSink标志被设置成“假”的ZGP配对命令来触发。信宿可以通过发送NoPairing标志被设置成“真”的ZGP通告响应来移除过时的单播配对(参见ZGP规范,09-5499-23,第A.3.3.5.1节)。对于在建筑物自动化范围内运行的代理设备,推荐清除InRange标志被设置成“假”的代理表条目(参见用于ZBA的ZGP最佳实践,ZigBee文档1 I-0196r01,第5.4.2.1节,第24页第22-24行)。代理还可以具有Options字段的EntryActive标志被设置成“0b0”的条目,其可以被移动到zgppBlockedZGPDID列表(ZigBee文档09-5499r23,第3.5.2.2.1节第21-23行)。
当用于未知受限设备的表条目可以被“及时”地发现时,例如,当首先观察到来自设备的命令,并且曾经被移除/被无效的表条目可以被再次重新发现/激活时,应当注意,不好的启发式方法不会导致系统的严重故障。想象一个便携式紧急按钮,其意图当持有人(bearer)需要帮助时被操作。将它视为资源受限设备(例如能量采集设备)可能是有益的,因为这保证一个人不必应付空的电池/电池更换。可以创建与信宿设备的配对。但是该按钮将很少被操作(比方说一年几次),可能每次都在不同的位置(随着其持有人移动);并且即便是维护操作(如果有的话)也可能是不频繁的(例如每两周)。当按钮激活时,如果没有代理具有表条目,那么在一个设想的系统实现中,将不会转发消息并且替代地,可以发送一个查询;并且可以将查询结果仅用于转发下一个消息。然而,当前的关键警报可能不会得到转发。
根据第一实施例,对于至少一个受限设备,系统中有至少一个表管理实体(不定期地)确定多少代理具有用于该受限设备的代理表条目。表管理实体可以是为了受限设备进行转发的代理设备中的至少一个、与受限设备配对的信宿中的至少一个,或者另一个设备,例如(各)集中式维护设备,比如例如ZigBee信任中心、ZigBee协调器、ZigBee网络管理器、调试工具或网络中或网络外的其他类型的控制器/管理器节点,例如建筑物管理系统。除了保持能起作用的代理的计数,可以存储附加信息,包括能起作用的代理的一个或多个标识符、能起作用的代理的可靠性指示符、能起作用的代理的能力、能起作用的代理的表的填充级别、能起作用的代理的位置、等等。
确定能起作用的代理设备的数目的需求和确定的确切方式以及由该确定所导致的动作对于每个受限设备可以不同,例如考虑比如受限设备的类型、应用、移动性、报告间隔或受限设备的个体特性之类的准则。特性可以包括例如节点的重要性和位置(例如局部传播条件)或转发机制(例如单播、组播、通配符代理表条目)。
每受限设备具有的能够早期动作的代理设备的目标数目或者可替换地用于代理设备的该数目的下阈值和上阈值可以被全局地确定、由标准或特定网络或供应商的方针固定。此外,它可以依赖于设备类型、应用、移动性、报告间隔、受限设备的个体特性,例如,重要性和位置(例如局部传播条件)或转发机制(例如单播、组播)。目标数目或阈值可以在网络的生存期内变化,例如由信宿、管理实体触发,或者由某种配置变化而引起,例如受限设备的报告频率的变化或配对的变化。此外,如下面所描述的,可以定义用于对能够早期动作的代理进行选择的附加条件(参见下面描述的比较准则)。
尽管增加更多用于受限节点的能够早期动作的代理设备可以提高可靠性,但是它也可以导致额外的网络流量,使得优化准则应当不必是最大化能够早期动作的代理设备的数目。表管理实体可以将每受限设备具有的能够早期动作的代理设备的数目保持为在下界以上,但这可以与表管理实体将能够早期动作的代理设备的数目保持在某个下界阈值以下相结合。如果定义了用于能够早期动作的代理的附加条件(参见下面描述的比较准则),那么代理开始或停止满足那些条件的事实也可以导致它被增加到能够早期动作的代理/被从能够早期动作的代理中删除。举例来说,如果能够早期动作的代理不再满足最小的可靠性指示符条件,那么它可以被从能起作用的代理(计数)表中移除。在另一个示例中,如果在具有特定能力(例如能够进行单播转发)的特定受限设备R2的范围内的所有代理设备使得它们的表是满的,并且需要用于受限节点R2的新的单播代理表条目,那么用于相同范围内的另一个节点R1的组播表条目可以在那些代理中的至少一个上被启动,并且如果需要,可以被增加到R1的范围内的一个或多个能够组播的代理的代理表。
如果代理设备作为一般的代理设备或作为特别用于相关受限设备的代理设备在长时间内是不能起作用的,或者如果该代理设备已经决定或已经被指示从其自己的(各)代理表中丢弃受限设备,那么使得从表管理实体中的能起作用的代理(计数)表中丢弃该代理设备,这个机制可以与所建议的在代理表中保持至少能起作用的代理计数的解决方案相结合。从其表中丢弃设备的代理设备可以例如发送声明它已经这么做的广播消息,或者这个信息可以从其代理表信息中导出。可替换地,可以从指示代理移除其用于给定受限设备的代理表条目的命令中导出从用于该受限设备的能起作用的代理表中丢弃代理设备的需要。
此外,如果代理设备从未、很少或者在给定长度的最近时间间隔内从未得到担当能起作用的代理设备的机会,那么它自主地丢弃用于特定设备的表条目,这有利地可以与前面的代理计数解决方案相结合。因此,可以允许也移除对于受限设备而言永远不会使用的这样的代理设备。
在基于表管理实体利用上界阈值对代理设备进行计数的第一实施例中,如果确定表明多于某个上阈值的代理设备为了某个受限设备进行转发,那么表管理实体采取使得一些代理表条目被丢弃的动作。
为了标识出应当保持代理表条目的代理设备和/或应当丢弃代理表条目的代理设备,表管理实体可以使用以下比较准则中的至少一个:比如,例如基于信号强度或代理设备和受限节点之间的距离的可靠性指示符、或表明代理设备多久接收/丢失一次来自受限节点的通信的可靠性指示符、代理设备的代理表中的条目的数目(该代理设备基于该数目是作用极大的(例如,如果这个数目更大,那么丢弃一个条目对于这个代理设备就可以是更有益的))、代理的能力(例如在所支持的安全性或通信模式方面)、与其他代理设备相比较而言该代理设备代理受限节点的比较性比率、以及代理设备的其他特性,例如,代理设备相互之间的相对位置(举例来说,可能更好的是,选择相互不是邻居的能起作用的代理设备以限制它们受相同传播干扰影响的风险)、代理设备到网络的连接度,例如,它具有的(路由器)邻居的数目(使用被良好连接的代理可能是更好的,因为大量潜在的路由将会提高它们转发的消息的可靠性),以及该代理设备的通信的整体可靠性(例如如由其邻居报告的链路质量中所表明的)。
在第一实施例的一个实现示例中,出于另一目的而已经被交换的消息可以被用于确定。作为这个的更详细的示例,用于受限设备的信宿设备可以保持跟踪为了受限设备将消息转发给它的代理设备的标识。这可以例如通过从转发代理设备所发送的消息获得它们的标识并将这些存储在‘能起作用的代理计数表’中来实现。如果能起作用的代理计数表条目的数目增长超出了上阈值,那么信宿设备可以从“能起作用的代理计数表”中选择代理设备(例如基于前面描述的条件中的一个或多个),并将消息发送到该代理设备,从而告知它丢弃其用于受限节点的代理表条目,或者如果代理设备需要将另一个受限节点增加到它的表中,则告知它使该表条目成为丢弃的强力候选者。
在第一实施例的另一个实现示例中,对于一个受限设备而言,能够早期动作的代理设备中的一个或多个可以借助于它所观察的要为那个受限设备而早期动作的那些代理设备的能起作用的代理计数表来保持记录。举例来说,它可以通过监听这些代理设备发送的消息来做到这一点。如果它接收到表明另一个代理设备已经早期动作的消息,并且那个代理设备的标识可以从该消息中导出,那么它可以将该新的代理设备的标识存储在能起作用的代理计数表中。如果能起作用的代理计数表条目的数目增加超出了上阈值,和/或其他代理更好地满足用于能够早期动作的代理的附加条件,那么代理设备可以决定其自身的用于受限设备的代理表条目(或一旦需要增加新的代理表条目就使它成为丢弃的强力候选者),或者(例如基于用于前面描述的能够早期动作的代理的附加条件中的一个或多个来)选择另一个代理并要求该另一个代理丢弃其代理表条目。
在即将到来的ZGP规范中,消息初始发送方(即能够早期动作的代理或能够基于信宿表进行转发的信宿设备)的地址可以从它发送的Tunneling Stop(隧道停止)、ZGP调试通告和/或ZGP通告绿色能源集群消息来确定。如果没有使用别名,则可以基于NWK源地址字段或ZGPP/TempMaster短地址字段(如果包括的话)来确定消息初始发送方(代理,早期动作的代理)的地址。如果使用了别名,则可以从MAC源地址(如果所接收的消息中的NWK头部Radius字段具有其初始值的话)来确定消息初始发送方(即早期动作的代理)的地址。(各)消息可以进一步包含用于早期动作的代理的可靠性指示符,例如Distance字段。这些消息可以由其他代理和信宿接收。
可以通过在单播中将AddSink子字段被设置成“0b0”或者RemoveZGPD子字段被设置成“0b1”的ZGP配对命令发送到所选择的代理设备来施行对代理表条目的移除(参见ZigBee绿色能源规范,09-5499-23,第A.3.3.5.2节)。可以由Action字段的Action子字段被设置成“0b011”或“0b100”的ZGP配对配置命令来施行对信宿表条目的移除(参见ZigBee绿色能源规范,09-5499-23,第A.3.3.4.7节;第A.3.5.2.5节第132页第27行至第134页第27行)。
根据第二实施例,提供了至少一个表管理实体,用于保持跟踪有多少代理设备被登记用于受限节点并且用于将这个数目与下界阈值进行比较。如果能够早期动作的代理设备太少,或者满足用于能够早期动作的代理的附加准则的能够早期动作的代理设备太少,或者有一些可用的非能够早期动作的代理设备满足用于能够早期动作的代理的附加准则,则表管理实体采取使得更多能起作用的代理设备(范围内的能够早期动作的代理设备)被创建的动作。保持跟踪的表管理实体此处可以与基于上界阈值来采取动作的实体不同。保持跟踪的过程可以是例如如前面或下面所描述的。实体可以是为了受限设备进行转发的代理设备中的至少一个、与受限设备配对的信宿中的至少一个,或者另一个设备,例如(各)集中式维护设备,比如例如ZigBee信任中心、ZigBee协调器、ZigBee网络管理器、调试工具或网络中或网络外的其他类型的控制器/管理器节点,例如建筑物管理系统。
根据第三实施例,基于全局知识来控制对代理表条目的增加和移除。此处,决定性的表管理实体可以是另一个设备,例如强大的节点,例如网络网关节点(例如边缘路由器或61owpan LBR)、网络管理器(比如例如ZigBee信任中心、ZigBee协调器、ZigBee网络管理器)、或者网络中或网络外(例如互联网上)的其他类型的控制器/管理器节点,例如建筑物管理系统设备或调试设备。它的决定可以基于长期统计数据。在一个示例中,表管理实体可以有规律地收集来自所有代理设备的代理表内容和/或来自另一个设备(例如信宿、控制器、网关和(各)调试工具)的代理信息,并且还可以收集与网络拓扑相关的其他数据或使得与网络拓扑相关的其他数据被生成。实体不定期地回顾其记录,并选定代理表内容来优化网络性能,并随后通过将相应的消息发送到代理设备来更新代理表。举例来说,表管理实体可以从代理表中聚集永久性和暂时性的条目来在其存储器中创建长期历史记录,该记录关于哪些代理在哪个受限节点的接收距离内。在另外的示例中,表管理实体能够收集关于代理操作的其他信息,包括代理的位置、代理的网络成员资格、代理的邻居信息、代理的路由信息、代理的可靠性信息、代理的负载(包括自己的应用流量和其他路由的流量)、代理的能力、等等。另外,表管理实体能够访问其他数据,例如具有详细的代理位置、房间/区域放置、障碍物、外部干扰物的存在、等等的平面图。表管理实体于是能够将代理设备(重)分配给受限设备,尝试以全局准则为目标,该全局准则为:如果完全可能,则每个受限节点应当在其范围内具有至少预定数目的能够早期动作的代理设备,其中如前面描述的,代理设备的数目可能依赖于受限设备的(各)特性,并且其中如前面描述的,能够早期动作的代理可以可选地需要满足附加的(各)代理准则/准据。
在即将到来的ZGP规范中,表管理实体可以通过例如使用ZCL读取属性命令和能够进行基于信宿表的转发的信宿的信宿表和翻译表、使用ZCL读取属性和ZGP 翻译表请求命令以便读取代理设备的代理表,来收集关于为了ZGPD进行转发的设备的信息(参见ZigBee绿色能源规范,09-5499-23,第A.3.3.4.5节)。可以通过分别发送用于代理/信宿的ZGP配对/ZGP配对配置命令来管理表。通过ZCL写属性命令来写入表属性也可以是可能的。
可以引入请求具有用于特定ZGPD的条目的所有设备的命令,以简化对表管理实体的初始搜索。举例来说,ZGP配对搜索命令(参见ZigBee绿色能源规范,09-5499-23,第A.3.3.4.2节),在当前的ZGP规范中仅意味着发现与特定ZGPD配对的信宿,其可以被扩展成表明哪些设备(代理和/或信宿)将响应这个请求。这可以例如通过在Options字段的now-reserved子字段中增加ProxyResponse子字段来实现,该ProxyResponse子字段(如果被设置成“0b1”)表明具有用于该ZGPD的表条目的代理设备也将响应这个请求。可替换地,可以通过将所有模式请求子字段(Request Unicast Sinks、Request Derived Groupcast Sinks、Request Commissioned groupcast sinks)设置成“0b0”来触发代理设备响应ZGP配对搜索。这具有抑制来自信宿的响应的附加的好处。通常期望信宿中的配对信息比代理表条目更为静态。能够进行基于信宿表的转发的信宿也可以响应这个请求,或者可以被请求来单独地报告,例如通过附加的标志。此外,可以请求特定类型或条目类别的代理表条目,例如只有用于在代理的无线电范围以外的受限设备的代理表条目(即代理表条目的Option字段的InRange标志被设置成“0b0”;参见ZGP规范,09-5499-23,第A.3.4.2.2.1节)或只有不能起作用和/或无效的代理表条目(即代理表条目的Option字段的Entry Active和/或EntryValid标志被设置成“0b0”;参见ZGP规范,09-5499-23,第A.3.4.2.2.1节),或只有试验/自行创建的条目;可能需要例如使用配对搜索命令的Options字段的now-reserved子字段来增加用于这个请求的附加指示符。对于这样的请求的响应可以是完整的代理表条目,或携带所选择信息的新命令,例如与本发明中所讨论的报告命令中的一个相同或类似的。
另外,ZGP配对搜索命令可以被用于发现使用特定通信模式的所有受限设备,例如如果通信模式指示需要进行代理表维护和/或受限设备的应用和/或设备类型。这可以例如通过将ZGP配对搜索命令的Options字段的合适的模式请求子字段(Request Unicast Sinks, Request Derived Groupcast Sinks, Request Commissioned Groupcast Sinks)设置成“0b1”并且将ZGPD SRcID字段设置成特定值(例如“Oxffffffff”)来实现。类似地,如果其他ZGPD能力指示需要进行代理表维护和/或受限设备的应用和/或设备类型,则可以请求其他ZGPD能力,例如使用特定安全性级别或密钥类型的ZGPD设备、便携式ZGPD设备、能够双向通信的ZGPD设备,等等;可能需要例如使用Options字段的now-reserved子字段来增加用于这个请求的附加指示符。
在另一个示例中,可以引入用于请求具有用于特定ZGPD和/或特定能力的ZGPD的条目的所有设备的专用命令。
应用全局准则的表管理实体的示例如下。首先,它使用网络状态检验手段(例如前面的(各)ZGP命令)来构建系统中所有当前节点(受限设备、代理设备和信宿设备)的完整快照。快照包含每个设备的网络地址。对于每个受限设备,它还包含当前在其代理表中具有受限设备的所有代理设备的标识。对于每个受限设备,它还可以包含设备的本质,举例来说,它是不需要高可靠性以传送每个消息的周期性报告传感器节点,或不需要高可靠性或其他特性的人工操作的光拨动开关节点。在考虑到移动受限节点(例如便携式遥控)的系统中,信息还可以包含受限设备是静止还是移动的信息。由于不是每个代理设备都将在每个受限设备的范围内,表管理实体还收集关于哪些代理设备在哪些受限设备的范围内的信息,其可以或可以不是当前在其代理表中具有受限设备的相同的代理。通常这样的信息不会是针对每代理-受限设备配对在“是”或“否”范围内的二进制标志,而是对于所述配对之间的距离、信号强度和/或分组丢失率的估计。这样的信息可以例如基于具有所有代理设备和受限设备的位置的建筑物的已知平面图。还可以例如,通过记录关于分组接收和信号强度的统计数据来动态地收集这样的信息。另外,对于每一代理设备,可以存储关于代理能力和状态的信息,例如所支持的通信模式、所支持的安全性级别和/或占用/空闲的代理表条目的总计数目。另外,对于每一信宿设备,它可以存储一些应用、能力和状态信息,例如所支持和要求的通信模式、潜在地确定的通信模式和/或所要求用于与该信宿配对的受限设备的代理的数目。
然后,第三实施例的表管理实体使用前面的信息中的一些或全部来为每个受限设备确定目标的最小数目的代理设备T(Rx)。举例来说,在正好有全部为静态开关的NR个受限设备并且有NP个代理设备(每一个能够具有最多5个代理表条目)的系统中,T(Rx)可以被计算为:
T(Rx) = min(Nmin,floor((NP*5)/NR))             (1)
其中,“floor”是将数字向下取整的函数(来自C标准库),并且Nmin是示例性应用定义的最小值。举例来说,如果NR=11并且NP=5,则该计算式得到floor=2,并且因此如果Nmin=4,则对于每个受限设备T(Rx)=2。
在计算这个T(Rx)之后,表管理实体标识出当前具有少于T(Rx)个的具有针对其的代理表条目的代理设备的那些受限设备。对于这些受限设备,表管理实体采取动作来增加代理表条目。
在一个增加用于受限设备的条目的方法中,表管理实体选择在其代理表中还没有相关受限设备的代理设备,并且随后将命令发送到该代理设备,该命令使得相关受限设备被增加到该代理设备的表中。为了选择这个新的代理设备,表管理实体可以搜索其从网络中收集的信息,直到它找到这样的代理设备:该代理设备在该受限设备的范围内(或可能在该受限设备的范围内)并且在其代理表中具有空闲空间,或者在其代理表中具有至少一个其他受限设备(对于所述至少一个受限设备而言,在其代理表中具有所述其他受限设备的代理设备的数目超过用于所述其他受限设备的前面的目标的最小数目T(Rd))。如果前面的方法导致用于选择新的代理设备或其他受限设备的多个选择,则表管理实体可以在选择代理时考虑附加的代理准则(如前面描述的),例如代理能力和可靠性指示符(例如基于RSSI或距离)。
如果需要创建用于受限设备的代理表空间,则可以从所选择的(新)代理设备的代理表中删除所选择的其他受限设备。因此,根据第三实施例所建议的解决方案还使得代理表条目被移除。
此外,实体可以利用(更好地)满足一些附加的代理准则的另一个代理置换一个代理。
在下文中,讨论前面实施例中增加或创建用于受限设备的新的能起作用的代理的不同方式。
在第一示例中,单播消息被发送到一个或多个所选择的代理设备,指示它们为相关的受限设备增加表条目。在表管理实体具有足够的存储器来存储关于网络拓扑的信息、或者表明哪些代理设备可能在受限设备的范围内的其他历史信息、或者在过去使用特定或“通配符”代理表条目为了该受限设备进行了动作的代理设备或例如在过去的有限时间段内对该受限设备进行了搜索的代理设备的列表的情况下,这个解决方案是适用的。在ZGP规范中,这可以利用单播ZGP配对消息或直接通过写入代理表来实现。
在第二示例中,可以发送有限跳数的广播消息,该广播消息源自已知靠近受限设备或在受限设备的范围内的设备(例如代理或信宿),指示一些或全部接收代理设备增加或激活用于受限设备的表条目。此处,所创建的条目可以被视为“试验”条目。然而应当注意,这样的“试验条目”可以独立于表管理实体而被使用,即,它还可以由代理自己来创建。举例来说,代理设备可以指示其邻居中的一些增加表条目,或指示它们在它们的邻居中询问。在另一个示例中,信宿设备可以指示其邻居、代理和/或信宿中的一些增加“试验”表条目。
代理设备和能够完成代理功能的设备(例如,能够进行基于信宿表的转发的信宿)可以被配置成区分被建立来找出所有或最佳代理设备的“试验”条目和其他类型的条目,比如自行配置的条目、立即可用的(out-of-the-box )或默认的条目,和/或在由实体选择之后所创建的被管理的条目。代理设备可以例如基于表创建过程(例如接收的命令、命令初始发送方、命令通信模式)自己导出设置,或者明确地,它可以是消息本身的一部分。因此,如果在从条目被增加的时刻直到一个稍后的时刻(例如当需要更多空间时)的时间段期间代理设备甚至还没有担当一次能够早期动作的代理设备,和/或如果它在那个时间段期间没有观察到任何消息从受限设备发出,则试验和/或自行配置的表条目可以在所述稍后的时刻被快速地丢弃。
试验条目可以被设置成这样:新的代理设备为受限设备进行初始地早期动作的机会被增加,使得它们的存在被得知并且它们的可靠性可以被估计。在即将到来的ZGP规范中,这可以通过将新的代理条目的first-to-forward标志设置成“真”来实现(参见ZigBee绿色能源规范,09-5499-23,第A.3.4.2.2.1节)。
在扩展中,在被选择成为能够早期动作的代理的代理设备处的“试验”条目可以由表管理实体来确认,并转变成被管理的条目。在ZGP规范中,这可以利用ZGP配对或ZGP配置配对消息和/或直接通过写入代理表或信宿表来实现。此外,可以移除在未被选择成为能够早期动作的代理的一些代理设备处的试验条目,例如通过个别地联系那些代理设备(如果已知),否则通过发送表明“试验”结束的广播命令。
在ZGP规范的上下文中,有利地,经常可以将携带前面的指令中的一些的消息嵌入到也携带其他信息或命令的消息分组中。举例来说,在ZGP隧道停止消息和/或ZGP通告消息内。这提供了附加的优点:新增加的能起作用的代理设备将立即通过ZGP配对搜索消息来向信宿声明其自身以完成代理表条目。
此外,这可以由表管理实体通过发送ZGP配对命令(其中,AddSink标志=“0b1”)和/或ZGP配置配对命令和/或通过直接写入代理表或信宿表来完成。命令应当允许接收设备标识出发送方是另一个代理设备和/或消息尝试增加代理设备的数目。它可以是隐式的,例如通过使用的传送模式(例如广播通信总是意味着试验条目)。它也可以在命令中是显式的。举例来说,试验标志可以在ZGP配对命令的Options字段的now-reserved子字段中定义,并设置成“真”,或者“temporary/managed entry”标志可以在ZGP配对命令的Options字段的now-reserved子字段中定义,并设置成“temporary entry”。如果在单播中发送,消息优选地考虑利用ZCL默认响应进行回复,例如在接收机不支持ZGP特征或当其没有任何或所要求的代理能力,或当代理表已经满了的情况下。也通过使用组播或广播,其中AddSink标志=“0b0”和/或RemoveZGPD标志=“0b1”和试验标志=“0b1”或“temporary/managed entry”标志=“temporary”的ZGP配对命令可以被用来移除未确认的条目。出于这个目的,可以定义附加的命令。有利地,表管理实体可以从其邻居中选择那些还不知晓为了这个ZGPD进行转发的邻居。另外,表管理实体可以进一步排除所有或那些已知为不能够进行基于信宿表的转发的信宿。有利地,代理设备可以已经具有SrcID的列表,它们在所述SrcID的范围内但不能起作用地根据所述SrcID进行转发。有利地,在这个附加代理选择期间或在这个附加代理选择之后不久,ZGPD可以发送消息以使代理设备确认接收或距离或可靠性估计、等等。如果距离ZGPD近,则所选择的代理设备可以伪造ZGPD传输来模仿它。
可以通过在代理设备中提供以下附加措施以使其他实体更容易地对它们进行计数和/或聚集代理相关的统计数据,来增强前面的第一到第三实施例。
在第一增强中,代理设备可以周期性地发送包含其代理表中的受限设备(例如,所有受限设备或只有那些满足某种准则的受限设备(例如需要进行代理表维护的受限设备、那些在范围内的受限设备、代理能起作用地为其转发的那些受限设备))的标识的广播消息。接收这样的广播消息的表管理实体可以使用它们来更新其能起作用的代理计数表。该消息还可以包括可被用于代理表维护的附加信息,例如代理距离、等等。
在ZGP规范中,可以例如在ZGP属性报告中发送整个ZGP代理表。可替换地,可以例如以类似于ZGP隧道停止命令的格式定义仅携带相关数据的专用命令。在即将到来的ZGP规范中,如果使用单播转发和/或如果ZGPD支持双向操作,则可以鼓励已经为了ZGPD进行转发的代理设备继续进行转发。于是,这可以通过使代理设备在一个延迟(隧道延迟)后对转发进行调度而实现,该隧道延迟基于特定信息来计算,所述特定信息例如是如ZGPD规范中定义的:所接收的GDPF(绿色能源设备帧)的接收信号强度指示(RSSI)、作为过去第一个进行转发的事实、和(在单播的情况下)路由到被配对的信宿的所有单播的可用性;该隧道延迟利用附加分量而被扩展以提高代理的转发概率,该转发概率独立于网络拓扑或可靠性指示符。
在第二增强中,控制代理设备来发出具有可预测的规律性(即非零转发概率)的消息。为了实现这一点,系统可以被适配成确保在受限设备的范围内的每个能够早期动作的代理设备具有发送消息的非零概率,从而通知信宿和/或(各)实体关于其作为用于受限设备的能够早期动作的代理设备的状态,其中不论受限设备周围的局部网络拓扑是什么样或者为了该相同受限设备进行转发的其他代理的可靠性指示符是什么,该非零概率显著地大于零。
在该第二增强的一个示例中,从受限设备接收到消息并且在其代理表中具有该受限设备的代理设备可以平均每N次施行一次‘报告动作’,其中N例如是10。创建该“每N次一次”行为的机制可以是从N向下计数的计数器,或者是基于随机数的机制,该机制平均每1/N次生成‘是’的决定。可以从为了受限设备进行转发的代理的数目,或可用于该受限设备的能够早期动作的代理设备的实际数目来导出N。如果N是可用于该受限设备的能够早期动作的代理设备的实际数目,或要实现的目标数目,那么管理代理个数的实体可以在配置步骤中将这个N发送到代理。在另一个实施例中,可以至少部分地基于对于为了该相同受限设备进行转发的其他代理设备的转发行为的观察,来导出可用于该受限设备的能够早期动作的代理设备的实际数目。
前面的报告动作可以是消息发送动作,该消息发送动作允许其他(各)实体知晓代理作为用于受限设备的代理设备的状态。一种实现报告动作的方式可以是,即便代理设备已经确定再没有必要使消息从受限设备被传送到其接收方(该消息有益地包括发送代理的清楚标识),也使代理设备发送广播/组播ZGP通告消息或单播ZGP通告消息。可以(周期性地)发送其他消息。
在即将到来的ZGP规范的上下文中,这样的消息可以例如是到受限设备的至少一个信宿设备的单播ZGP通告(参见ZGP规范,ZigBee文档09-5499-23,第A.3.3.4.1节)消息,该消息具有与早期动作代理设备(如果有的话)发送的消息相同的有效载荷和受限设备的顺序计数器内容,但是其自身的地址与单播发送方相同。或者到能够进行代理表测量的另一个实体的单播ZGP通告或另外的消息,例如在通配符表条目中指定的消息。
此外,在即将到来的ZGP标准的上下文中,如果受限设备具有多播组作为其信宿,则代理设备可以发送反映其代理表内容的单播或多播或广播消息,或者被无别名地发送的ZGP通告(参见ZGP规范,ZigBee文档09-5499-23,第A.3.3.4.1节)或ZGP隧道停止(参见ZGP规范,ZigBee文档09-5499-23,第A.3.4.4.1节)消息。
如果保持跟踪的表管理实体是受限设备的范围内的代理设备或另一个设备和/或为了其进行转发的代理,则从别名消息中导出代理信息(如前面描述的)也可能是可能的。
在第三增强中,为所有范围内的能够早期动作的代理设备确保用于担当第一动作代理的非零概率。在该第三增强的示例中,假定一个设计上下文,其中所有能够早期动作的代理设备P1……Pn当从受限设备接收到消息时,在试图成为第一个访问无线介质以担当代理设备的代理设备之前将等待特定于代理的延迟时间WT1……WTn,同时监控该介质以查看另一个代理设备是否已经第一个动作了。这样的机制存在于例如即将到来的ZGP规范中。在该增强中,可以以这样的方式适配转发算法:使得不论使用什么样的网络拓扑或者特定代理设备的可靠性指示符是什么样,没有单个代理设备或代理设备组总是第一个为了受限设备进行动作。
在第三增强的第一建议实现中,可以控制对于每个其他代理设备中的特定于代理的延迟时间的计算以使每个代理设备将不定期地得到转发的机会。作为一个建议的构建措施,随机分量可以被并入特定于代理的延迟时间中,其中每个代理设备使用其自身的随机数生成器,该随机数生成器不与任何其他随机数生成器同步,因而作为结果,特定于代理的延迟时间的不同值每次都某种程度上均匀分布。
在第三增强的第二建议实现中,每个能够早期动作的代理设备保持跟踪它自担当第一个用于相关受限设备的(转发)代理以来有多久了。当它接下来检测到来自受限设备的消息时,它在对其特定于代理的延迟时间的计算中包括依赖于这个信息的分量。举例来说,如果代理设备之前刚刚担当了第一个(转发)代理,则它将把(大的)分量增加到其特定于代理的延迟时间,以给其他代理设备更多的机会来第一个动作。如果它有一段时间没有担当过第一个(转发)代理了,则它将不再增加(大的)分量,从而使其自己更有可能将再次第一个动作,或者它甚至可以减去一些时间分量。还可以使用其他用于特定于代理的延迟时间的计算策略,例如代理设备以前第一个动作距今越久,特定于代理的延迟时间就越短。
如果像前面的机制(其确保用于所有能够早期动作的代理设备担当第一个动作的代理的非零机会)是适当的,那么有可能采用以下基于第四实施例的方法来管理用于每个受限设备的能起作用的代理的个数。
第四实施例针对不直接对代理进行计数来管理代理个数的方法。一些表管理实体(例如每个代理设备自身)保持跟踪或估算代理设备(Py)已经担当用于受限设备(Rx)的第一个动作的代理的次数与该受限设备已经做出传输的次数之间的比率Ratio.Py(Rx),所有次数都在一个时间段T内被计数。因此:
Ratio. Py(Rx) = RL / RR        (2)
其中RL表示代理(Py)在时间段T期间已经担当用于受限设备(Rx)的代理的次数,并且RR表示受限设备(Rx)在时间段T期间发送消息的次数。代理设备也可以通过局部监听相对于受限设备做出的传输的总数(即还包括该代理未听到的传输)的从受限设备接收的传输,并像等式的右手侧一样使用这个计数,来估算这个比率。如果代理设备已经动作的这个比率超过阈值,比方说50%,那么表管理实体采取动作来创建更多用于受限设备的能够早期动作的代理。阈值优选地与作为用于该受限设备Rx的代理的最优数目的Mx相关,Mx进而可以与该受限设备应用和/或能力相关,如前面所描述的。例如,阈值可以是[100%/Mx]。应当注意,只有在已经积累了一些最小量的统计数据之后(比方说只有在前面的等式(2)的右手侧计数上的RL和/或RR计数已经达到给定的最小值(例如至少为3)之后)才进行阈值测试通常是有益的。根据第二实施例的方法可以被称为‘不直接进行计数’,因为值1/Ratio.Py(Rx)在该方法中被用于估算用于受限设备的能够早期动作的代理设备的数目。如果有适当的均衡机制(诸如前面的第一到第三实施例的第三增强),该机制使得每个能够早期动作的代理设备在某种程度上平等可能地进行动作,则可以改进这个方法。
在第四实施例中,代理设备可以跟踪其自身的比率Ratio.Py(Rx)。如果该比率超过(上)阈值,则代理设备可以发送消息,该消息使得位于其附近的其他能够早期动作的代理设备被创建。举例来说,在即将到来的ZGP规范的上下文中,可以发出某个消息,如前面在‘增加新的能起作用的代理的方式’一节中所描述的。作为替换,代理设备可以利用其(例如在担当用于受限设备的第一个动作的代理时)已经需要发送的消息中的一些来将关于其比率的信息发送到受限设备和/或信宿设备,并且接收这样的消息的其他代理可以处理这个比率信息。
如果非能够早期动作的代理设备注意到另一个代理设备的比率在阈值以上,同时它自身也在受限设备的范围内,那么它可以采取动作来将自己变成用于该受限设备的早期动作的代理。非能够早期动作的代理采取这样的动作的决定还可以基于以下因素:比如其自己的代理表中的可用空间、其能力或可以被丢弃而不影响系统性能的可用性表条目(例如,具有非常低的比率或“试验”条目)。对受限设备和另一个代理设备之间的接收信号强度指示符或距离指示符,与受限设备和非能够早期动作的代理之间的接收信号强度指示符或距离指示符进行比较,也可以起作用。
在又一个示例中,如果该比率超过阈值,则代理设备可以通知另一个实体,其可以触发在ZGP规范的‘增加新的能起作用的代理的方式’一节中描述的其他动作。
作为另外的选项,如果该比率降到(下)阈值以下,则表管理实体(其可以是或可以不是该代理本身)可以采取动作来从代理设备中移除用于受限设备的代理表条目,或者使其成为移除的强力候选者,同时还可选地停止去担当用于该节点的能够早期动作的代理设备,或如前面所定义的,将大的时间分量增加到其特定于代理的延迟时间。此外,附加准则可以被考虑用于代理表清除,所述附加准则包括可靠性指示符,例如(最近或连续地)未听到的来自受限设备的命令的数目和/或到受限设备的距离或来自受限设备的RSSI/LQI,或其他代理状态和/或能力信息。
示例性实现假定固定的下界阈值,并且一旦比率Ratio.Py(Rx)降到该阈值以下,则在代理设备中丢弃受限设备的代理表条目或者将受限设备的代理表条目标记为丢弃的候选者。举例来说,如果阈值为25%(即用于该Rx的代理的最优数目,Mx为100%/25%=4个代理),则在5个或更多代理位于受限设备的范围内的情况下,它将确保具有用于该受限设备的代理表条目,并且如果在能够早期动作的范围内的代理中早期动作的机会是均等的,则能起作用的代理的个数的大小将趋向于变成稳定在4(即1/0.25)左右。稳定在低代理数目左右可能是有益的,因为它将使一些代理表条目保持空闲来应付变化和移动受限节点,并且一般将使系统更快地响应变化。在这个解决方案中,存在的风险在于:多个代理可能在某种程度上同时确定它们的比率在阈值以下,从而导致用于受限设备的代理个数突然缩减到非常小的大小。在大多数情况下,这个风险不会发生,只要没有太早地进行比率测试。在这样的情况下,系统的自然随机性,尤其考虑到附加准则(例如可靠性指示符),将确保许多代理不可能几乎同时掉到阈值以下。稳定在更高的代理数目左右对于增加传送每个消息的机会可能是有益的。
为了防止极端情况,可能有益的是增加额外的措施:如果代理设备从其表中丢弃受限设备,则它发送达到这种效果的广播消息,其他代理设备被设置以接收和处理该广播消息。一种处理该消息的方式例如是代理设备以临时地增加比率这样的方式调节其用于计算其自身的比率的计数器。
根据第四实施例,可以在每个代理设备中提供用于一个或多个比率阈值的配置机制,以便可以基于关于系统中受限设备的数目和/或代理设备的数目的知识来配置它们。该配置可以例如由系统安装者来使之发生,或者它可以由收集关于这样的数目的信息的工具或监控系统(例如表管理实体)实时地应用,并且它还可以例如由于变化的配对关系、传播条件和/或受限设备的变化的报告频率而改变。然而,它还可以是固定的参数。根据受限设备、受限设备类型和/或应用,和/或根据使用的通信模式,(各)阈值可以具有不同的值。代理或信宿或表管理实体也可能需要保持跟踪未被服务的消息,即,没有代理进行过转发的消息。它们可以例如由信宿或表管理实体进行局部计数或者提供。
作为前面内容的概括,代理设备可以保持跟踪它通过其为受限设备服务的该比率,并且代理设备可以修改其特定于代理的延迟时间的分量,以使得它在该比率在某个阈值数值以下时更大,在该比率在某个阈值数值以上时更小。举例来说,如果该比率在20%以下,则代理设备可以将50ms(毫秒)增加到其特定于代理的延迟时间,或者如果该比率在30%以上,则它可以增加0ms,并且如果该比率在30%以下,则增加(30%-ratio)*2 ms。这具有这样的效果:具有更低比率的代理设备趋向于不太能起作用,从而导致能起作用的代理个数更快地稳定。
在前面实施例中的至少一些中,已经使用表管理实体来获取和使用统计信息。在下文中,解释用于收集和制作可用统计信息的附加实施例。
根据第五实施例,(此刻)不能够为受限设备早期动作的代理设备被设置(例如,通过在制造时内置这个功能,或通过(动态地)配置该代理设备)来监控来自受限设备的传输并收集关于它们的数据,例如以下项中的至少一个:从受限设备接收的消息的计数、来自受限设备的信号强度(最新的、平均的……)、来自受限设备的消息中最近接收的帧计数器、以及近来被观察到为受限设备进行早期动作的一个代理或多个代理的计数、标识、可靠性指示符、能力和/或转发比率。
在该第五实施例的一个实现中,管理用于受限设备的代理个数的表管理实体可以主动地从非能够早期动作的代理设备获取关于受限设备的监控信息以便优化用于受限设备的能够早期动作的代理设备的数目。在该第五实施例的另一个实现中,非能够早期动作的设备自身可以采取动作来增加能够早期动作的代理设备的个数。
作为一个示例,假设对于作为受限设备的周期性报告的传感器节点,表管理实体正在努力执行一种方针,该方式是,在受限设备的范围内只有单个能够早期动作的代理设备应当存在(这样的方针具有降低了网络流量但牺牲了可靠性的效果)。可能发生的是(例如由于环境的改变),该单个代理设备离开了受限设备的范围。如果表管理实体检测到它期望从受限设备得到的许多消息不再到来,则它可以查询受限设备周围的一直在监控该受限设备的一些其他代理设备。通过收集比如最近接收的帧计数器之类的信息,表管理实体可以区分“受限设备在代理设备的范围以外”或“代理设备发生故障并且已经停止转发”的情况与“受限设备发生故障并且已经完全停止发送”的情况。通过收集关于来自若干进行监控的代理设备的信号强度的信息并对它进行比较,表管理实体可以选择最好的一个来变成用于受限设备的新的能够早期动作的代理设备。
在ZGP规范的上下文中,表管理实体可以通过在代理设备中创建不能起作用并有效的代理表条目(参见ZGP规范,09-5499-23,第A.3.4.2.2.1和A.3.5.2.2.2节,第127页第26-27行)或zgppBlockedZGPDID条目(参见ZGP规范,09-5499-23,第A.3.4.2.6节)来将代理设备设置成非能够为受限设备早期动作但仍然进行监控。然后代理设备将保持跟踪在其代理表中的受限设备的帧计数器,其可以由表管理实体利用命令读出或者被不定期地报告。为了使前面描述的解决方案更有用,可以利用额外的字段来扩展代理表。附加地,对于不能起作用并有效的代理表条目的这种使用将需要在规范中阐明,或者可替换地可以增加专用于收集监控信息的另一个(更紧凑的)数据结构。
在许多系统中,尤其是那些具有存储约束的系统,正好在受限设备发送了消息之后提供用于受限设备的代理表管理是有益的。为了支持这样的系统,所有代理设备可以保持它们从受限设备接收的最后N(N>=1)个消息的监控记录。设想的监控记录存储一些关于从受限设备接收的一个或多个消息的统计信息。针对某个受限设备的监控记录被设想为具有比用于受限设备的完整代理表条目小得多的存储大小,因为用于受限设备的代理表条目还必须存储代理将来自受限设备的消息转发到它们的目的地所需要的信息。每个监控记录可以包含至少受限设备的标识,并且可选地,为了支持一些替换方案,可以包含以下项中的至少一个:来自受限设备的消息被接收时的信号强度、被观察到进行早期动作的任何代理设备的标识和/或信号强度,以及帧计数器或帧计数器的最低L个有效位。可以以若干方式使用这个信息。首先,想要增加更多用于受限设备的代理设备的表管理实体可以查询一些或全部代理设备来得到这些监控记录,并且选择最好的(各)代理设备来增加。其次,想要增加更多用于受限设备的代理的表管理实体可以通过发送广播或组播消息来这么做,从而指示接收它的全部代理设备检查他们在其记录中是否具有受限设备,并且如果存在受限设备,以及可选地,如果还满足一些其他准则(例如受限设备在代理的范围内,这可以例如通过将消息中包括的序列号或帧计数器与监控记录的对应值相比较来导出),则随后采取某个动作。
在ZGP规范的上下文中,这样的指令可以采用ZGP配对命令中的额外的标志的形式。
一种用于代理设备有条件地执行的可能动作可以是将受限设备增加到它们的代理表。使得这个动作是有条件的,这提供的优点在于,避免了在位于受限设备的范围以外的代理设备中创建代理表条目。用于代理设备的另一个可能的动作是采取导致它们中的一些或全部向表管理实体声明其自身的动作,例如,向表管理实体发送单播消息。
一个可以被请求的可能的动作可以是在其代理表或监控记录中具有受限设备的非能够早期动作的代理设备启动对于受限设备的发现。该发现机制允许信宿在所有进行发现的代理设备中选择一个或多个代理设备,并将那一个/多个任命为新的能够早期动作的代理设备。有利地,使用发现而不是单播常常会导致更少的网络流量,并且还将需要对ZGP实现的代码基础做出更少的新扩展。另外,如果使用这个解决方案,则决定需要更多代理设备的表管理实体可以是与选择新的(各)代理设备的那一个不同的实体。
根据第六实施例,可以通过重新创建来管理代理表条目。在该第六实施例中,代理表条目具有有限的生存期,并且表生存期管理方针对于表管理实体是已知的。生存期可以用时间单元(例如48小时)、绝对时间点(例如直到2012年10月12日,18:00 CET为止有效)或者从受限设备接收/为了受限设备转发的消息的数目(例如1000条消息或多达uncliding的帧计数器0x87654321)来表达。因此,在条目生存期到期时或到期前,表管理实体可以在所选择的代理设备中创建新的表条目。在另一个实现中,在条目生存期到期时或到期前,代理例如通过发送广播或组播搜索命令以便例如联系信宿,和/或通过发送单播命令以便例如联系信宿或中央维护实体,来触发重建过程。
总之,已经描述了用于以优化用于通信网络的性能、时延和可靠性,同时确保每个受限设备具有一定数目的能够早期动作的代理的方式来管理代理表的内容的若干技术。实体被允许通过移除或增加代理表条目来保持每个资源受限设备具有所要求的数目的代理。此外,实体被允许基于转发策略、报告策略和/或轮询策略来保持跟踪能够早期动作的代理。由此,可以控制代理表条目以优化整体系统性能和可靠性特性。实体可以被包括在受限设备通信中涉及的一个或多个设备(比如能够早期动作的代理、非能够早期动作的代理和/或信宿)中,并且提供局部优化。实体可以被包括在一个或多个专用设备(比如控制器、维护、配置或管理设备)中,并且提供全局优化。
应当进一步注意,代理设备可以是施行用于受限设备的中继功能的任何设备,并且因而所要求保护的方法可适用于所述任何设备。举例来说,在ZGP规范中,它可以是以下设备类型中的任一个:基于其代理表中的信息来施行中继功能的ZGP代理、ZGP代理最小体(Minimum)、ZGP组合(Combo);和基于其信宿表中的信息来施行中继功能的ZGP组合最小体。
虽然在图和前面的描述中已经详细地图示和描述了本发明,但是这样的图示和描述应被认为是说明性或示例性的而非限制性的。本发明不限于所公开的实施例。尽管主要使用ZigBee绿色能源的示例来描述实施例,但是本发明可适用于具有资源受限设备的任何网络,包括常规ZigBee网络、6LoWPAN网络、Wi-Fi网状网络、等等。
本发明的建议应用可以是任何建筑物控制应用或建筑管理系统(包括照明控制系统、加热、通风和空调系统、盲控制系统、安保、安全和访问控制系统)、人员和资产跟踪,和任何其他受益于受限设备的控制、感测、监控和自动化应用。
通过研究附图、本公开内容和所附的权利要求,本领域技术人员在实践所要求保护的发明时可以理解和影响对于所公开的实施例的其他变型。在权利要求中,单词“包括”不排除其他元素或步骤,并且不定冠词“一个”或“一项”不排除多个。单个处理器或其他单元可以履行权利要求中记载的若干项的功能。在相互不同的从属权利要求中记载某些措施的这一事实并不表明不能有利地使用这些措施的组合。前面的描述详述了本发明的某些实施例。然而,应当理解,无论前面的内容在文本中看起来有多详细,都可以以许多方式来实践本发明,并且因而本发明不限于所公开的实施例。应当注意,在描述本发明的某些特征或方面时使用了特定的术语,这不应当被认为暗示在此将术语重新定义成了限于包括与该术语相关联的、本发明的特征或方面的任何特定特性。

Claims (27)

1. 一种用于管理通信网络中的代理设备的代理表的装置,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述装置被适配成,为至少一个资源受限设备(R1)至少确定具有用于所述资源受限设备(R1)的代理表条目或为了所述资源受限设备(R1)进行转发的代理设备的数目。
2. 根据权利要求1的装置,其中所述装置被适配成,基于从所述代理设备或所述网络中的其他设备接收的代理表信息和/或至少部分地基于对由所述代理设备中的至少一个在担当用于所述资源受限设备(R1)的中继设备时发送的消息的观察,来确定代理设备的所述数目。
3. 根据权利要求2的装置,其中所述装置被适配成,将所述确定的数目存储在代理计数表中,并且响应于表明所述代理设备已经从其代理表中丢弃所述资源受限设备(R1)或已经停止为了它进行转发的消息而从所述代理计数表中丢弃代理设备。
4. 根据权利要求1的装置,其中所述装置被适配成,如果它已经确定以下条件中的至少一个:存在多于预定上阈值的具有用于所述资源受限设备(R1)的代理表条目或为了所述资源受限设备(R1)进行转发的代理设备、代理设备具有不充分的可靠性指示符、在给定区域中或具有给定能力的所有代理设备具有满的代理表、所述阈值变化、受限设备的特性变化、配对的变化,则启动从至少一个代理(表)中移除用于所述资源受限设备(R1)的表条目或将用于所述资源受限设备(R1)的表条目标记为移除的候选者,或者停止为了所述资源受限设备(R1)进行转发。
5. 根据权利要求1的装置,其中所述装置被适配成,在代理表条目的生存期到期时或到期前重建所述代理表条目。
6. 根据权利要求1的装置,其中所述装置被适配成,如果它已经确定以下条件中的至少一个:所述确定的数目在预定下阈值以下、现有代理没有充分的可靠性指示符、其他代理确实具有充分的或更好的可靠性指示符、阈值变化、受限设备的特性变化,或配对变化,则启动一个动作,该动作导致具有用于所述资源受限设备(R1)的代理表条目或为了所述资源受限设备(R1)进行转发的更多代理的创建。
7. 一种通信网络中的代理设备,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述代理设备被适配成,维持具有用于受限设备(R1)的试验条目的代理表,并且在以下条件中的至少一个时,移除所述试验条目或将所述试验条目标记为移除的候选者:(i)如果所述代理设备需要在其代理表中释放空间,(ii)如果所述代理设备在预定时间段内还未代理所述受限设备(R1),以及(iii)如果所述代理设备在预定时间段内没有观察到已经从所述受限设备(R1)发出的任何消息。
8. 一种通信网络中的代理设备,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述代理设备被适配成,周期性地发送消息,该消息至少包括所述代理设备的代理表中列出的资源受限设备(R1)的标识。
9. 一种通信网络中的代理设备,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备(R1)转发到目的地设备,所述代理设备被适配成如果它具有用于所述资源受限设备(R1)的代理表条目并且确实为了所述资源受限设备(R1)进行了转发,则非零概率地启动动作以将它已经从所述资源受限设备(R1)接收的消息中继到目的地设备,其中即便网络拓扑具有相对于所述资源受限设备(R1)处于更好位置的其他代理设备或者即便传播条件导致具有更好的可靠性指示符的其他代理设备,该概率也是非零的。
10. 根据权利要求9的代理设备,其中所述代理设备被适配成,在特定于代理的延迟时间到期之后并且除非已经观察到另一个代理已经转发所述消息,才转发从针对其而言它具有用于转发的代理表条目的所述资源受限设备(R1)接收的所述消息,并且其中所述代理设备被适配成,控制所述特定于代理的延迟时间以使得该延迟时间低于由所述资源受限设备(R1)的范围内的其他代理设备使用的延迟时间的概率非零,即便网络拓扑是这样的:所述其他代理设备相对于所述资源受限设备(R1)处于更好的位置,或者即便传播条件导致具有更好的可靠性指示符的其他代理设备。
11. 根据权利要求10的代理设备,其中通过包括随机分量来计算所述特定于代理的延迟时间。
12. 根据权利要求10的代理设备,其中通过包括一个分量来计算所述特定于代理的延迟时间,该分量基于对所述资源受限设备(R1)已经发出还未被所述代理设备转发的消息的这些最近的事件的数目的计数。
13. 根据权利要求10的代理设备,其中通过包括一个分量来计算所述特定于代理的延迟时间,该分量基于对转发从所述资源受限设备(R1)接收的消息的代理的计数。
14. 一种用于管理通信网络中的代理设备的代理表的装置,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述装置被适配成,基于从所述代理设备接收的信息和/或至少部分地基于对由所述代理设备中的至少一个在担当用于所述资源受限设备(R1)的中继设备时发送的消息的观察,来确定具有用于所述资源受限设备(R1)的代理表条目的代理设备已经为了资源受限设备(R1)进行转发的次数与所述资源受限设备(R1)已经做出传输的次数之间的比率,并且如果所述比率超过预定阈值,则在至少一个附加代理设备处启动对用于所述资源受限设备(R1)的代理表条目的创建,或为了所述资源受限设备(R1)进行转发。
15. 根据权利要求14的装置,其中所述装置被适配成,如果所述代理设备的所述比率已经降到所述预定阈值或另一个预定阈值以下,则启动动作以停止为了所述资源受限设备(R1)进行转发并且移除用于所述资源受限设备(R1)的代理设备的代理表条目,或者将所述代理表条目标记为移除的候选者。
16. 根据权利要求14的装置,其中所述装置被适配成,基于从不为了所述资源受限设备(R1)进行转发的代理设备接收的关于所述资源受限设备(R1)的监控信息,来确定所述比率。
17. 一种通信网络中的代理设备,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述代理设备被适配成,确定并发送具有用于资源受限设备(R1)的代理表条目的所述代理设备已经代理所述资源受限设备(R1)的次数与所述资源受限设备(R1)已经做出传输的次数之间的比率。
18. 根据权利要求17的代理设备,其中如果接收所述比率的第二代理设备没有为了所述资源受限设备(R1)进行转发,如果所述第二代理设备检测到另一个代理设备的所述比率超过预定阈值,则所述第二代理设备被适配成启动动作以获得用于所述资源受限设备(R1)的代理表条目或者开始为了所述资源受限设备(R1)进行转发。
19. 一种通信网络中的代理设备,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,所述代理设备被适配成存储记录了关于从所述代理设备的接收范围内的至少一个资源受限设备接收的最近消息的监控信息的监控记录,并且通过删除用于更久以前的消息的监控记录来管理可用于这些监控记录的有限存储空间。
20. 根据权利要求19的代理设备,其中所述代理设备被适配成接收涉及资源受限设备(R1)的命令消息,并且其中所述代理设备被适配成只有当它当前具有与来自所述受限设备(R1)的最近消息相关的监控记录时才执行所述命令。
21. 根据权利要求19的代理设备,其中所述特定命令导致用于所述资源受限设备(R1)的代理表条目被增加到所述代理设备中或者所述代理开始为了所述资源受限设备(R1)进行转发。
22. 一种管理通信网络中的代理设备的代理表的方法,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,其中所述方法包括:基于从所述代理设备和/或所述网络上的其他设备接收的代理表信息和/或至少部分地基于对由所述代理设备中的至少一个在担当用于所述资源受限设备(R1)的中继设备时发送的所述消息的观察,为至少一个资源受限设备(R1)确定具有用于所述资源受限设备(R1)的代理表条目或为了所述资源受限设备(R1)进行转发的代理设备的数目。
23. 一种管理通信网络中的代理设备的代理表的方法,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,其中所述方法包括:确定具有用于所述资源受限设备(R1)的代理表条目的代理设备已经代理资源受限设备(R1)的次数与所述资源受限设备(R1)已经做出传输的次数之间的比率,并且如果所述比率超出预定阈值,则在至少一个代理设备处启动对用于所述资源受限设备(R1)的代理表条目的创建或移除,或开始或停止为了所述资源受限设备(R1)进行转发。
24. 一种管理通信网络中的代理设备的代理表的方法,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,其中所述方法包括:在所述代理表处维持用于受限设备(R1)的试验条目,并且在以下条件中的至少一个时,移除所述试验条目或将所述试验条目标记为移除的候选者:(i)如果所述代理设备需要在其代理表中释放空间,(ii)如果所述代理设备在预定时间段内还未代理所述受限设备(R1),以及(iii)如果所述代理设备在预定时间段内没有观察到已经从所述受限设备(R1)发出的任何消息。
25. 一种管理通信网络中的代理设备的代理表的方法,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,其中所述方法包括:如果它具有用于所述资源受限设备(R1)的代理表条目,则在所述代理设备处非零概率地启动动作以将它已经从所述资源受限设备(R1)接收的消息中继到目的地设备,其中,即便网络拓扑具有相对于所述资源受限设备(R1)处于更好位置的其他代理设备或者即便传播条件导致具有更好的可靠性指示符的其他代理设备,该概率也是非零的。
26. 一种管理通信网络中的代理设备的代理表的方法,在所述通信网络中,代理设备作为中继设备运行以将消息从资源受限设备转发到目的地设备,其中所述方法包括:存储记录了关于在所述代理设备处从所述代理设备的接收范围内的至少一个资源受限设备接收的最近消息的信息的监控记录,并且通过删除用于更久以前的消息的监控记录来管理可用于这些监控记录的有限存储空间。
27. 一种计算机程序产品,其包括当在计算机设备上运行时用于产生权利要求23至27中的任一项的步骤的代码构件。
CN201380009616.9A 2012-02-16 2013-02-11 通信网络中高效的代理表管理 Active CN104115526B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261599599P 2012-02-16 2012-02-16
US61/599599 2012-02-16
US201261713749P 2012-10-15 2012-10-15
US61/713749 2012-10-15
PCT/IB2013/051114 WO2013121339A2 (en) 2012-02-16 2013-02-11 Efficient proxy table management in communication networks

Publications (2)

Publication Number Publication Date
CN104115526A true CN104115526A (zh) 2014-10-22
CN104115526B CN104115526B (zh) 2019-07-16

Family

ID=48045613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380009616.9A Active CN104115526B (zh) 2012-02-16 2013-02-11 通信网络中高效的代理表管理

Country Status (8)

Country Link
US (1) US9565267B2 (zh)
EP (1) EP2815610B1 (zh)
JP (1) JP6275053B2 (zh)
CN (1) CN104115526B (zh)
BR (1) BR112014020038A8 (zh)
ES (1) ES2675758T3 (zh)
RU (1) RU2629428C2 (zh)
WO (1) WO2013121339A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028861A (zh) * 2015-08-12 2018-05-11 飞利浦照明控股有限公司 用于密集大网络的绿色功率(代理表调节)
CN110198251A (zh) * 2019-04-02 2019-09-03 腾讯科技(深圳)有限公司 一种获得客户端地址的方法及装置

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
CN108353464B (zh) * 2015-10-27 2021-11-02 昕诺飞控股有限公司 网状网络连接性
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10587480B2 (en) * 2016-11-14 2020-03-10 WiSilica Inc. User experience enhancement using proximity awareness
PT3525517T (pt) * 2018-02-12 2021-01-27 Curvalux Uk Ltd Rede multissalto de taxa elevada com formação de feixe
CN110731074B (zh) * 2018-12-13 2023-01-31 Oppo广东移动通信有限公司 订阅消息的处理方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101080915A (zh) * 2005-01-12 2007-11-28 国际商业机器公司 用于使用移动网际协议旁路路由栈的方法、系统和计算机程序产品
CN101534520A (zh) * 2009-04-10 2009-09-16 北京航空航天大学 移动Ad hoc网络可靠路由方法
WO2011070479A1 (en) * 2009-12-09 2011-06-16 Koninklijke Philips Electronics N.V. Wireless communication method based on proxy redundancy
US20120002547A1 (en) * 2006-09-15 2012-01-05 Itron, Inc. Traffic load control in a mesh network

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2233473C2 (ru) * 2000-12-22 2004-07-27 Самсунг Электроникс Ко., Лтд. Устройство и способ выполнения высокоскоростного поиска маршрутов протокола интернет и управления таблицами маршрутизации/пересылки
EP1865687B1 (en) * 2006-06-06 2011-05-11 Koninklijke KPN N.V. Proxy-bridge for connecting different types of devices
US8908513B2 (en) * 2009-02-13 2014-12-09 Koninklijke Philips N.V. Method for communicating in a network comprising a batteryless zigbee device, network and device therefor
PL2499788T3 (pl) * 2009-11-09 2017-11-30 Philips Lighting Holding B.V. Sposób komunikacji w sieci zawierającej urządzenie zigbee bez baterii, sieć oraz urządzenie z nią związane

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101080915A (zh) * 2005-01-12 2007-11-28 国际商业机器公司 用于使用移动网际协议旁路路由栈的方法、系统和计算机程序产品
US20120002547A1 (en) * 2006-09-15 2012-01-05 Itron, Inc. Traffic load control in a mesh network
CN101534520A (zh) * 2009-04-10 2009-09-16 北京航空航天大学 移动Ad hoc网络可靠路由方法
WO2011070479A1 (en) * 2009-12-09 2011-06-16 Koninklijke Philips Electronics N.V. Wireless communication method based on proxy redundancy

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108028861A (zh) * 2015-08-12 2018-05-11 飞利浦照明控股有限公司 用于密集大网络的绿色功率(代理表调节)
CN108028861B (zh) * 2015-08-12 2021-04-20 飞利浦照明控股有限公司 密集大网络中管理代理设备分配的方法、代理设备和系统
CN110198251A (zh) * 2019-04-02 2019-09-03 腾讯科技(深圳)有限公司 一种获得客户端地址的方法及装置
CN110198251B (zh) * 2019-04-02 2022-08-02 腾讯科技(深圳)有限公司 一种获得客户端地址的方法及装置

Also Published As

Publication number Publication date
WO2013121339A3 (en) 2013-10-31
JP6275053B2 (ja) 2018-02-07
ES2675758T3 (es) 2018-07-12
US9565267B2 (en) 2017-02-07
WO2013121339A2 (en) 2013-08-22
EP2815610B1 (en) 2018-04-11
RU2629428C2 (ru) 2017-08-29
US20150006758A1 (en) 2015-01-01
BR112014020038A8 (pt) 2017-07-11
BR112014020038A2 (zh) 2017-06-20
RU2014137254A (ru) 2016-04-10
JP2015510360A (ja) 2015-04-02
EP2815610A2 (en) 2014-12-24
CN104115526B (zh) 2019-07-16
ES2675758T8 (es) 2018-08-27

Similar Documents

Publication Publication Date Title
CN104115526A (zh) 通信网络中高效的代理表管理
US10405258B2 (en) Method for managing a proxy table in a wireless network using proxy devices
Bressan et al. The deployment of a smart monitoring system using wireless sensor and actuator networks
Paradis et al. A survey of fault management in wireless sensor networks
CA2464798A1 (en) Predictive routing in a mobile ad hoc network
JP2015510360A5 (zh)
Cugola et al. A context and content-based routing protocol for mobile sensor networks
Sharma et al. Comparative study of LEACH, LEACH-C and PEGASIS routing protocols for wireless sensor network
Raman et al. An overview of the routing techniques employed in wireless sensor network
Rehena et al. Detection of node failure in wireless sensor networks
Jamil et al. Maximise unsafe path routing protocol for forest fire monitoring system using wireless sensor networks
KR101217813B1 (ko) 무선 네트워크에서 데이터 전송의 우선순위 결정 방법
Schoellhammer et al. Hyper: A routing protocol to support mobile users of sensor networks
Prabakaran et al. Sustainable life-span of WSN nodes using participatory devices in pervasive environment
JP6098322B2 (ja) パケット転送方法、ノード装置およびプログラム
Rehena et al. Handling area fault in multiple-sink Wireless Sensor Networks
Alam et al. Wsnmp: A network management protocol for wireless sensor networks
KR100832964B1 (ko) 무선 센서 네트워크의 데이터 분산 방법 및 그 장치
Zhang et al. A network management architecture in wireless sensor network
Li et al. Robot swarm manet cooperation based on mobile agent
JP2010206368A (ja) 無線通信システム
Nayak et al. A distributed transmission power efficient fault-tolerant topology management mechanism for nonhomogeneous wireless sensor network
Izadi Enhancing wireless sensor networks functionalities
WO2023011917A1 (en) A wireless control system comprising a dual-mode node
Kohlmeyer et al. A Cross-Layer approach towards efficiency optimization of Wireless Sensor and Actor Networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20170317

Address after: Eindhoven

Applicant after: KONINKL PHILIPS N.V.

Address before: Holland Ian Deho Finn

Applicant before: Koninkl Philips Electronics NV

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Eindhoven

Patentee after: Signify Holdings Ltd.

Address before: Eindhoven

Patentee before: Philips Lighting Holdings

CP01 Change in the name or title of a patent holder