CN103309839A - 设备拓扑及能力的发现和报告技术 - Google Patents
设备拓扑及能力的发现和报告技术 Download PDFInfo
- Publication number
- CN103309839A CN103309839A CN2013100256189A CN201310025618A CN103309839A CN 103309839 A CN103309839 A CN 103309839A CN 2013100256189 A CN2013100256189 A CN 2013100256189A CN 201310025618 A CN201310025618 A CN 201310025618A CN 103309839 A CN103309839 A CN 103309839A
- Authority
- CN
- China
- Prior art keywords
- node data
- node
- data
- equipment
- determining
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000004044 response Effects 0.000 claims abstract description 44
- 238000004422 calculation algorithm Methods 0.000 claims description 23
- 238000013480 data collection Methods 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 11
- 238000010845 search algorithm Methods 0.000 claims description 7
- 241001269238 Data Species 0.000 claims description 5
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 19
- 230000008859 change Effects 0.000 description 11
- 238000001514 detection method Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000009467 reduction Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009795 derivation Methods 0.000 description 2
- 230000005059 dormancy Effects 0.000 description 2
- 238000005303 weighing Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
用于变化复杂度的拓扑的发现和该拓扑的设备的能力的发现的技术包括向多个节点设备查询节点数据。响应于查询,至少接收一个或多个节点设备的节点数据的初始部分。此外,从高速缓存检索先前确定的节点数据。将节点数据的初始部分与所述先前确定的节点数据相关联以在预定的时间内推导用于一个或多个节点设备的节点数据。可以理解,所推导的节点数据可包括超出节点数据的初始部分的节点数据和/或用于初始响应节点设备以外的其他节点设备的节点数据。然后将所推导的节点数据报告给操作系统。
Description
背景技术
计算系统对于现代社会的进步做出了巨大的贡献,并且许多应用都利用计算系统来实现有益的效果。很多设备促进了在娱乐、教育、商业和科学的大多数领域中的通信和分析数据的生产率的提高以及成本的降低,诸如桌面个人计算机(PC)、便携式PC、平板PC、服务器、工作站、分布式计算平台、游戏机、上网本以及智能电话等等。计算系统的一个共同的方面是诸如外围设备或客户端设备的多个设备与主机或服务器设备的连接。典型地,有些种类的枚举(enumeration)过程用于发现耦连至主机或服务器设备的外围设备和/或客户端设备、这些设备的能力和/或这些设备的状态。
耦连在一起的设备越多和/或设备之间的互连越复杂,枚举过程的完成花的时间越长。随着拓扑变得更加复杂,枚举过程所带来的延迟可能增加超出期望的或可接受的时间。为了限制枚举带来的延迟,一些协议对能够耦连在一起的设备的数目和/或设备之间的互连的复杂度进行限制。因此,需要用于维持或降低枚举延迟但允许多个设备之间的复杂的拓扑的技术。
发明内容
通过参考以下描述和用于示意本技术实施例的附图来最好地理解本技术,这些实施例针对用于在可变复杂度的拓扑中发现设备及其能力的技术。
在一个实施例中,响应于枚举事件,检索先前确定的节点数据。从先前确定的节点数据集中确定唯一地标识一个或多个节点设备的节点数据。向多个节点设备目标查询唯一的节点数据。响应于目标查询,接收节点数据的初始部分,用于一个或多个初始响应的节点设备。将一个或多个初始响应的节点设备的节点数据的初始部分与先前确定的节点数据相关联以推导用于一个或多个所推导的设备的节点数据。应该理解,所推导的节点数据可包括超出节点数据的初始部分的节点数据和/或用于初始响应的节点设备以外的其他节点设备的节点数据。然后可将所推导的节点数据在预定的时期内报告给操作系统。
此外,可向多个节点设备总的查询进一步的节点数据。响应于总的查询,接收用于多个节点设备的附加的节点数据。根据节点数据的初始部分和附加的节点数据验证用于多个设备的节点数据。然后确定所验证的节点数据和所推导的节点数据的之间的差别并将其报告给操作系统。
提供发明内容来以简化的形式引入将在下面的具体实施方式里进一步描述的概念的选择。该发明内容既不旨在识别所要求的主题的关键特征或本质特征,也不旨在用于限制所要求的主题的范围。
附图说明
本技术的实施例通过示例的方式而非限制性的方式在附图的图中示意,在附图中相同附图标记表示相似元素,其中:
图1示出了根据本技术一个实施例的示范性计算平台的框图。
图2A-2B示出了根据本技术一个实施例的运行时间枚举示范性计算平台的方法的流程图。
图3A-3C示出了根据本技术另一个实施例的运行时间枚举示范性计算平台的方法的流程图。
图4示出了根据本技术一个实施例的枚举设置方法的流程图。
具体实施方式
现在将详细参考本技术的实施例,其示例示出在附图中。虽然本技术将结合这些实施例加以描述,但可以理解的是它们并非旨在将本发明限定于这些实施例。相反,本发明旨在覆盖如随附权利要求所限定的本发明范围内所包括的替换、修改和等同物。此外,在本技术的以下详细描述中,提出了许多具体细节以提供对于本技术的彻底理解。但是,可以理解的是本技术可以没有这些具体细节而实施。在其他实例中,为了避免不必要的混淆本技术的各方面,并未对公知的方法、过程、部件和电路加以详细描述。
随后的本技术的一些实施例以一个或多个电子设备中的例程、模块、逻辑块和数据操作的其他符号表示的形式呈现。这些描述和表示是本领域技术人员将其工作内容最有效地传达给本领域其他技术人员所使用的方式。在这里,通常将例程、模块、逻辑块等等构思成带来期望结果的指令或过程的自洽序列。过程是包括物理量的物理操作的过程。一般地,虽然不是必要的,这些物理操作采用能在电子设备中存储、传送、比较以及进行其他操作的电信号或磁信号的形式。为了方便的原因,以及参考普通使用,以数据、位、数值、元素、符号、字符、项、数字、字符串等来指代这些信号。
然而,应该记住的是所有这些术语都将解释为参考物理操作和参考物理量,并且仅是方便的标签,并且考虑到本领域普遍使用的术语将进一步解释。除非下面的讨论另有明显的具体声明,否则应理解的是,贯穿本技术的讨论,讨论中所使用的诸如“接收”等等的术语指代诸如操作和转换数据的电子计算设备的电子设备的动作和过程。数据在电子设备的逻辑电路、寄存器、存储器等等中表示为物理(例如,电子的)量并在电子设备中转换为类似地表示为物理量的其他数据。
在本申请中,反意连接词的使用旨在包括连接词。定冠词或不定冠词的使用不旨在指出基数。特别地,“该”对象或“一”对象的引用旨在还表示可能多个这种对象。也要理解的是本文使用的措辞和术语是用于描述的目的而不应该认为是限制。
现在参考图1,示出了根据本技术一个实施例的示范性计算平台。计算平台100包括一个或多个计算设备102和多个客户端和/或外围设备。以下将客户端和/或外围设备称为节点设备120-160。在一个实施例中,计算设备102包括一个或多个处理单元104、106、一个或多个计算设备可读介质(未示出)等等,其通过一个或多个通信总线可通信地耦连在一起。在一个实施方式中,计算设备包括用于执行操作系统、一个或多个应用程序、一个或多个实用程序、一个或多个驱动程序和/或存储在一个或多个计算设备可读介质中的诸如此类程序的处理器。
每个计算设备102包括主机节点110、112,其可以可通信地耦连到可变复杂度的任何拓扑165中的任何数目的节点设备120-160。在一个实施方式中,每个主机节点110、112主要是数据源,而节点设备120-160主要是数据接收器(sink)。节点设备120-160可以是分支节点设备、端点节点设备等等。节点设备120-160可以包括在设备内部的一个或多个端点节点142和/或可以耦连到一个或多个外部的端点或分支节点设备。每个节点设备120-160均包括用于存储设备的一个或多个运行参数的一个或多个寄存器136。每个节点设备120-160还包括用于实现节点设备的功能的硬件、软件和/或固件137和/或它们的任何组合,节点设备的功能包括与其他节点设备和/或一个或多个主机设备通信。
在一个实施方式中,计算设备可以是桌面个人计算机(PC)、便携式PC、平板PC、服务器、工作站、分布式计算平台、游戏机、上网本以及智能电话等等。计算设备102的主机节点110、112可以是显示控制器输出设备,多个显示设备可以通过多流传输拓扑可通信地耦连到显示控制器输出设备。例如,多个监控器可以通过DP1.2兼容的多流传输拓扑165可通信地耦连到工作站设备的显示控制器输出。
每个主机节点110、112包括用于实施主机节点的功能的硬件、软件和/或固件,主机节点的功能包括枚举拓扑165中的节点设备120-160以及与之通信。在一个实施例中,主机节点包括主机节点硬件112和主机节点软件驱动程序110。主机节点硬件112可通信地耦连在节点设备120-160和主机节点驱动程序110之间。主机节点驱动程序110可通信地耦连在主机节点硬件112和操作系统114之间。在一个实施方式中,主机设备驱动程序110在操作系统108的控制下以内核模式在中央处理单元104上执行。在一个实施方式中,主机节点硬件112可以在图形处理单元118中实施。
在一个实施方式中,主机节点软件驱动程序110包括接口模块114和算法模块116。主机节点软件驱动程序110还访问参数高速缓存118。然而,应该理解主机节点110、112可以在软件、硬件和/或固件的许多其他组合中实施。例如,主机节点110、112的一个或多个功能可以组合在一起或进一步分成分离的元素。例如,算法模块116的算法可以以分离的数据结构存储在和参数高速缓存118一样的计算设备可读介质中或组合到单个数据结构。同样地,算法模块116和接口模块114的一部分可以组合到单个模块或进一步划分到附加的模块。在另一个示例中,算法模块可划分为用于创建算法的设置模块和用于根据一个或多个算法枚举节点设备120-160的查询模块,而接口模块114可应用一个或多个其他算法以推导、关联和/或验证响应于查询所接收的节点数据。
示范性计算平台100的操作将参考图2A-2B、图3A-3C以及图4来进一步解释说明。现在参考图2A-2B,示出了根据本技术一个实施例的运行时间枚举示范性计算平台的方法。该方法可从响应枚举事件205开始。枚举事件可包括系统启动、重启、诸如从挂起重新开始和从休眠重新开始的电源事件、主机设备的连接等等。在一个实施方式中,主机节点驱动程序110从操作系统108接收枚举事件的通知。
在210,响应于枚举事件,向多个节点设备120-160查询它们对应的节点数据。该查询可以基于在参数高速缓存118中的先前确定的节点数据。在一个实施方式中,主机节点驱动程序110控制主机节点硬件112来向多个节点设备120-160查询它们各自的节点数据。主机节点硬件112可以从一个或多个寄存器136中读取一个或多个参数,诸如设备标识符、制造商标识符等等。利用该查询以应用节点设备120-160的逐步的、异步的检测。
在215,在预定时期内,至少接收一个或多个初始响应的节点设备120、125的节点数据的初始部分。在一个实施方式中,响应于查询,由主机节点设备驱动程序110通过主机节点硬件112接收一个或多个节点设备的节点数据的初始部分。节点数据可以包括参与该拓扑中的一个或多个节点设备120、125的标识,控制其他节点设备的能力、当前状态和才能,节点设备和作为拓扑的一部分的其他节点设备之间的互连的类型和情形,诸如节点设备的到达或离开、其状态的改变、能力或互连通信链路的修改的影响拓扑的事件的察觉等等。在一个实施方式中,节点数据包括扩展显示识别(EDID)数据。
在220,检索用于拓扑的先前确定的节点数据集。先前确定的节点数据描述了计算平台最近已知的拓扑,包括参与该拓扑中的每个节点设备的标识、控制其他设备节点的能力、状态和才能,作为拓扑的一部分的节点设备之间的互连的类型和情形,诸如节点设备的到达或离开、其状态的改变、能力或互连通信链路的修改的影响拓扑的事件的察觉等等。在一个实施方式中,主机节点驱动程序110从所高速缓存的数据结构中检索先前确定的节点数据集。高速缓存机制允许对先前确定的拓扑节点数据与响应于查询所接收的节点数据进行快速比较。检索用于拓扑的先前确定的节点数据集的过程可大致与查询和接收节点数据的初始部分的过程并行进行。
在225,将一个或多个初始响应的节点设备120、125的节点数据的初始部分与先前确定的节点数据相关联以推导用于一个或多个设备的节点数据。可以理解,所推导的节点数据可包括超出节点数据的初始部分的节点数据和/或用于初始响应的节点设备以外的其他节点设备的节点数据。在一个实施方式中,使用一个或多个预定的枚举算法将一个或多个初始响应的节点设备的节点数据的初始部分与先前确定的节点数据相关联。在一个实施方式中,由主机节点驱动程序110使用一个或多个枚举算法执行该关联。在一个实施方式中,一个或多个数据枚举算法将一个或多个唯一的节点数据参数与先前确定的节点数据相匹配以推导拓扑中一个或多个节点设备的存在和用于一个或多个所推导的节点设备的对应节点数据。节点数据可在预定的时期内推导或在预定的精度等级内推导。例如,枚举算法可基于节点设备对应的网络地址将离主机节点110、112最近的两个节点设备120、125的设备标识符和当前状态与先前确定的节点数据集相关联,先前确定的节点数据集包括在先前确定的节点数据中的每个设备的设备标识符、能力和状态。因此,该方法包括在拓扑中邻近主机节点设备110、112的一个或多个节点设备120、125的早期的精确检测。
在230,将用于一个或多个所推导的设备的节点数据报告给操作系统。在一个实施方式中,主机节点驱动程序110在先前确定的最大延迟时间内将用于一个或多个所推导的节点设备的节点数据报告给操作系统108。例如,将离主机节点设备110、112最近的两个节点设备120、125的标识、能力和当前状态等等报告给操作系统108。
在235,接收节点数据的附加部分,用于多个节点设备120-160。在一个实施方式中,主机节点驱动程序110接收节点数据的附加部分,用于可通信地耦连到主机节点110、112的多个节点设备120-160。例如,可接收用于离主机节点110、112最近的两个节点设备120、125的节点数据的一个或多个附加部分,并且还接收用于在拓扑中可通信地耦连到主机节点设备110、112的其余的节点设备130-160的所有节点数据。
在240,验证初始的节点数据和附加的节点数据。在一个实施方式中,主机节点驱动程序110可将从响应的节点设备120-160接收的节点数据在其接收时与先前确定的节点数据进行比较以验证数据。在一个实施方式中,主机节点驱动程序110使用一个或多个枚举算法对比先前确定的节点数据来对所接收的节点数据的附加部分进行验证。在245,将用于多个节点设备120-160的所验证的节点数据存储为用于多个节点设备120-160的当前节点数据。之后,当前节点数据在下一个枚举事件时成为先前确定的节点数据。在一个实施方式中,主机节点驱动程序110可将所有所接收的节点数据高速缓存在参数高速缓存118中。在另一个实施方式中,主机节点驱动程序110替代地可采用当前接收的节点数据和先前确定的节点数据之间的任何所接收的改变简单更新参数高速缓存118中的节点数据。
在250,确定所验证的节点数据和所初始推导的节点数据之间的差别。在一个实施方式中,主机节点驱动程序110确定所验证的节点数据和所推导的节点数据之间的任何差别。在255,将所验证的节点数据和所推导的节点数据之间的差别报告给操作系统108。在一个实施方式中,主机节点驱动程序110将所验证的节点数据和所推导的节点数据之间的任何差别报告给操作系统108。
可选地,在260,可接收节点数据的一个或多个改变。在一个实施方式中,当节点数据响应于拓扑中的改变而改变时,主机节点驱动程序110可继续接收对节点数据的更新。在265,采用节点数据的一个或多个所接收的改变来更新所存储的当前节点数据。在一个实施方式中,主机节点驱动程序110可采用节点数据任何所接收的改变来更新所高速缓存的节点数据。在260,还可将节点数据的一个或多个改变报告给操作系统108。在一个实施方式中,主机节点驱动程序110将节点数据的任何改变报告给操作系统108。
因此,本技术的实施例有利地提供了布置在任何给定的复杂度的拓扑中的节点设备的早期的精确检测。在整个拓扑的枚举期间,可在预定的延迟时间内推导一个或多个节点设备。相比之下,传统枚举技术中的报告由操作系统施加的最大延迟所支配,其中操作系统控制主机节点设备110、112以及所有的节点设备120-160的功能。在传统的技术中,在枚举期间参与拓扑中的节点设备可在给定的最大延迟时间内响应。枚举响应延迟可能是比由操作系统以及定义期望的用户体验的所建立的规范所施加的限制长一个数量级。更加复杂的事情是,在传统的技术中,在很多次中,拓扑使得所引入的延迟是累加的。此外,传统的技术常常由于不期望的延迟而遭遇间歇、频繁(chatty)等等的枚举事件。然而,本技术的实施例提供了强调稳健的初始检测并且降低或消除间歇、频繁等等的枚举事件的报告机制。
现在参考图3A-3C,示出了根据本技术另一个实施例的运行时间枚举示范性计算平台的方法。该方法可从响应于枚举事件305开始。枚举事件可包括系统启动、重启、诸如从挂起重新开始和从休眠重新开始的电源事件、主机设备的连接等等。在一个实施方式中,主机节点驱动程序110的接口模块114接收来自操作系统108的枚举事件的通知。在310,响应于枚举事件,检索先前确定的节点数据集。先前确定的节点数据描述了系统最近已知的拓扑,包括参与该拓扑中的每个接收器设备的标识、控制此类设备的能力、状态和才能,作为拓扑的一部分的节点设备之间的互连的类型和情形,诸如节点设备的到达或离开、其状态的改变、互连通信链路的能力的修改的影响拓扑的事件的察觉等等。在一个实施方式中,接口模块114从主机节点驱动程序110的参数高速缓存118中检索先前确定的节点设备数据集。参数高速缓存118允许先前确定的节点数据和响应于查询所接收的节点数据的快速比较。
在315,从先前确定的节点数据确定用于一个或多个设备中的每个设备的唯一的节点数据。唯一的节点数据可以是能够明确地标识节点设备的属性和/或参数的最小集。在一个实施方式中,接口模块114从先前确定的节点数据确定标识邻近节点设备110、112的靠近拓扑中的一个或多个设备的唯一的节点数据。可通过应用来自主机节点驱动程序110的算法模块116的一个或多个枚举算法来确定唯一的节点数据。例如,可解析先前确定的节点数据的高速缓存以从节点设备120-160的网络地址来确定邻近主机节点110、112的靠近拓扑中的一个或多个节点设备。可进一步解析用于紧相邻的一个或多个节点设备120、125的节点数据来确定唯一地标识一个或多个设备中的每个设备的一个或多个参数。在一个实施方式中,根据一个或多个启发式查询算法,算法模块116基于一个或多个节点设备和唯一地标识与主机节点110、112紧相邻的一个或多个节点设备的参数来生成目标查询。预定的节点数据的高速缓存和一个或多个可应用的枚举算法的使用允许快速生成对唯一的节点数据的目标查询。
在320,向多个设备目标查询唯一的节点数据。在一个实施方式中,接口模块114控制主机节点硬件112以向一个或多个节点设备120、125查询唯一的节点数据。接口模块114可控制主机节点硬件112以基于一个或多个查询算法执行查询。主机节点硬件112可从一个或多个寄存器读取诸如设备标识符、制造商标识符等等的一个或多个参数,和/或从固件等等接收诸如设备标识符、协议属性、设备状态、邻居设备的标识符等等的一个或多个参数。利用一个或多个可应用的启发式算法,利用目标查询来应用接收器设备的逐步和异步的检测。在325,还向多个节点设备120-160总的查询进一步的节点数据。在一个实施方式中,接口模块114控制主机节点硬件112来向多个节点设备120-160查询进一步的节点数据。
在330,响应于目标查询,在预定的时期内至少接收一个或多个初始响应的节点设备120、125的节点数据的初始部分。在一个实施方式中,响应于目标查询,由接口模块114通过主机节点硬件112接收一个或多个节点设备的节点数据的初始部分。节点数据可包括邻近主机节点的靠近拓扑中的一个或多个节点设备120、125的标识,控制其他节点设备的能力、当前状态和才能,该节点设备和作为拓扑的一部分的其他节点设备之间的互连的类型和情形,诸如节点设备的到达或离开、其状态的改变、能力或互连通信链路的修改的影响拓扑的事件的察觉等等。在一个实施方式中,节点数据包括扩展显示识别(EDID)数据。根据一个或多个枚举算法多个设备的目标查询使能邻近主机节点设备的拓扑中的节点设备的早期的精确检测。
在355,将一个或多个初始响应的设备120、125的节点数据的初始部分与所高速缓存的先前确定的节点数据集相关联以推导用于一个或多个设备的节点数据。可以理解,所推导的节点数据可包括超出节点数据的初始部分的节点数据和/或用于初始响应的节点设备以外的其他节点设备的节点数据。所高速缓存的先前确定的节点数据使能与初始响应的节点设备的节点数据的快速比较以在预定的时间内在确定的合理程度上推导一个或多个节点设备的标识、其当前布置以及对应的节点数据的值,而不用枚举拓扑中的所有设备。可以选择预定的时间以满足最大的延迟度量。在一个实施方式中,使用一个或多个关联和/或验证算法将一个或多个初始响应的节点设备的节点数据的初始部分与先前确定的节点数据相关联。在一个实施方式中,由接口模块114使用来自算法模块116的一个或多个启发式数据关联/验证算法执行该关联。例如,启发式数据关联/验证算法可以基于离主机节点110、112最近的两个节点设备120、125对应的网络地址将其设备标识符和当前状态与先前确定的节点数据集相关联,先前确定的节点数据包括高速缓存118的先前确定的节点数据中的用于每个设备的设备标识符、能力和状态。
在340,将用于一个或多个所推导的设备的所推导的节点数据报告给操作系统108。在一个实施方式中,接口模块114在预定的最大延迟时间内将用于一个或多个所推导的设备的所推导的数据报告给操作系统108。例如,将离主机节点设备110、112最近的两个节点设备120、125的标识、能力和当前状态等等报告给操作系统108。
在345,响应于总的查询,接收附加的节点数据,用于多个节点设备。在一个实施方式中,接口模块114接收用于可通信地耦连到主机节点110、112的多个节点设备的附加的节点数据。响应于总的查询,接口模块114可在预定的时期后接收附加的节点数据。响应于总的查询的附加的节点数据的接收使能邻近主机节点110、112的相对远的拓扑中的节点设备130-160的逐步的检测。可依次从多个节点设备120-160中的每个设备异步接收数据直到主机节点110、112接收了所有对应的节点数据。例如,可接收用于离主机节点110和112最近的两个节点设备120、125的节点数据的一个或多个附加部分,并且还接收用于在拓扑中的可通信地耦连到主机节点设备110、112的其余的节点设备130-160的所有的节点数据。
在350,验证来自初始响应的节点的节点数据和来自稍后响应的节点的附加的节点数据。在一个实施方式中,接口模块114可应用来自算法模块116中的一个或多个关联/验证算法来验证响应于目标查询和总的查询所接收的节点数据。例如,启发式关联/验证算法可以将与所接收的节点数据的初始部分的相结合的附加数据与先前确定的节点数据进行比较以确认所初始推导的节点数据和/或用于一个或多个附加设备的附加节点数据的精度。在355,用于多个设备120-160的所验证的节点数据存储为用于多个设备的当前节点数据。之后,当前节点数据在下一个枚举事件时成为先前确定的节点数据。在一个实施方式中,接收和验证用于拓扑中的每个节点设备的节点数据之后,接口模块114高速缓存118所验证的节点数据,其将在下一个枚举事件时成为先前确定的节点数据。
在360,确定所验证的节点数据和所推导的节点数据之间的差别。在一个实施方式中,接口模块114确定所验证的节点数据和所推导的节点数据之间的差别。在365,将所验证的节点数据和所推导的节点数据之间的差别报告给操作系统108。在一个实施方式中,接口模块114将所验证的节点数据和所推导的节点数据之间的差别报告给操作系统108。
可选地,在370,可接收节点数据的一个或多个改变。在一个实施方式中,响应于拓扑的改变,接口模块114可经由主机节点硬件112接收节点数据的一个或多个改变。例如,新的设备可连接到拓扑。在另一个示例中,另一个设备155的状态可改变。在375,采用所接收的节点数据的一个或多个改变来更新所存储的当前节点数据。在一个实施方式中,接口模块114可采用所接收的改变来更新高速缓存118的节点数据。在380,还将节点数据118的一个或多个改变报告给操作系统。在一个实施方式中,接口模块114可将节点数据的一个或多个改变报告给操作系统108。
现在参考图4,示出了根据本技术的一个实施例的枚举设置方法。该方法包括在410生成用于查询可通信地耦连在变化复杂度的拓扑中的多个节点设备的一个或多个算法。可生成用于在预定延迟时间内和/或预定的精度内枚举一个或多个节点设备的一个或多个查询算法。查询算法可通过首先定义唯一地标识一个或多个节点设备的一个或多个唯一的属性或属性值的集合来生成。然后,一个或多个唯一的属性和/或属性值的集合用于指定用于枚举给定拓扑中的多个节点设备的一个或多个查询。在一个实施方式中,接口模块114提供唯一的节点数据的说明和/或用户选择。唯一的节点数据用于以期望的精度等级和/或在期望的时期内推导给定拓扑中的节点。例如,设备类型、协议属性和数据速率可明确地标识给定的节点设备。另一个节点设备可通过其设备类型和外部控制信号属性来标识。另一个节点设备的地址可指示关于主机节点的设备的位置。用于查询相对紧邻主机节点的一个或多个节点设备的一个或多个算法可基于唯一的标识地址值、设备类型、协议属性值和数据速率来创建。
在420,基于一个或多个设计准则,可启发式地调整一个或多个查询算法来实现精度和延迟之间的所选择的平衡。可在枚举过程的连续的阶段选择数个替代方法中最合适的解决方案位于其中的一个或多个算法。启发式算法可以以起到生成查询的向导作用的推测性阐述为基础,并可基于经验性分析来改善启发式算法以在期望的查询延迟情况下实现期望的查询精度等级。在一个实施方式中,接口模块114和算法模块116结合,使能具有用于在用于执行查询的期望的查询精度和期望的延迟之间进行权衡的按钮的预测机制的设计。
在430,生成一个或多个关联和/或验证算法,用于从多个可通信地耦连在变化的给定复杂度的拓扑中的节点设备中推导一个或多个节点设备及其对应的节点数据。可生成一个或多个关联/验证算法,用于在预定的延迟和/或预定的精度内将查询的结果和用于给定拓扑的先前确定的节点数据集进行比较。
在440,基于一个或多个设计准则,可启发式地调整一个或多个关联/验证算法以实现精度和延迟之间的所选择的平衡。可在枚举过程的连续的阶段选择数个替代方法的最合适的解决方案位于其中的一个或多个算法。启发式算法可以以起到匹配的向导作用的推测性阐述为基础,并且可基于经验性分析来改善启发式算法以在期望的延迟情况下实现期望的精度等级。在一个实施方式中,接口模块114与算法模块116结合,使能具有用于在用于执行关联的期望的关联精度和期望的延迟之间进行权衡的按钮的验证机制的设计。
因此,本技术的实施例有利地提供了布置在给定复杂度的拓扑中的节点设备的早期的精确检测。可在整个拓扑的枚举期间在预定的延迟内推导一个或多个节点设备。因此,实施例有利地提供了强调稳健的初始检测和降低或消除间歇和频繁等等的枚举事件的报告机制。
为了示例和描述的目的,已经呈现了本技术的上述具体实施例的描述。它们并非旨在穷尽或者限制本发明于所公开的精确的形式,并且根据上述教导显然还可以有多种修改和变形。选择和描述实施例,以便最佳解释本技术的原理及其实际应用,从而其他本领域的技术人员能够如适合于特定使用目的的最佳利用本技术和各种具有不同修改的实施例。意在由附属的权利要求及其等效范围限定本发明的范围。
Claims (20)
1.一种方法,包括:
向多个节点设备查询节点数据;
至少接收一个或多个初始响应的节点设备的节点数据的初始部分;
检索先前确定的节点数据集;
将所述一个或多个初始响应的节点设备的所述节点数据的初始部分与所述先前确定的节点数据集相关联以推导用于一个或多个所推导的节点设备的节点数据;以及
将所推导的节点数据报告给操作系统。
2.根据权利要求1所述的方法,其中向所述多个节点设备查询节点数据响应于枚举事件来执行。
3.根据权利要求1所述的方法,进一步包括:
基于一个或多个启发式的查询算法向所述多个节点设备查询节点数据以实现查询精度和查询延迟之间的所选择的平衡。
4.根据权利要求1所述的方法,进一步包括:
基于一个或多个启发式的关联算法将所述一个或多个初始响应的节点设备的所述节点数据的初始部分与所述先前确定的节点数据集相关联以实现关联精度和关联延迟之间的所选择的平衡。
5.根据权利要求1所述的方法,进一步包括:
接收用于所述多个节点设备的节点数据的附加部分;
根据所述节点数据的初始部分和所述节点数据的附加部分验证用于所述多个节点设备的所述节点数据;
确定所验证的节点数据和所述所推导的节点数据之间的差别;以及
报告所述所验证的节点数据和所述所推导的节点数据之间的所述差别。
6.根据权利要求5所述的方法,进一步包括:
将所述所验证的节点数据存储为用于所述多个设备的当前节点数据,其中,所述当前节点数据在下一个枚举事件时成为先前确定的节点数据。
7.根据权利要求5所述的方法,进一步包括:
基于一个或多个启发式的验证算法根据所述节点数据的初始部分和所述节点数据的附加部分验证用于所述多个节点设备的所述节点数据以实现验证精度和验证延迟之间的所选择的平衡。
8.根据权利要求5所述的方法,进一步包括:
接收所述节点数据的一个或多个改变;以及
将所述节点数据的所述一个或多个改变报告给所述操作系统。
9.根据权利要求8所述的方法,进一步包括:
采用所接收的所述节点数据的所述一个或多个改变来更新所存储的当前节点数据。
10.一种方法,包括:
响应于枚举事件,检索先前确定的节点数据;
从所述先前确定的节点数据确定一个或多个节点设备的唯一的节点数据;
基于所述唯一的节点数据目标查询多个节点设备;
响应于所述目标查询,至少接收一个或多个初始响应的节点设备的节点数据的初始部分;
将所述一个或多个初始响应的节点设备的所述节点数据的初始部分与所述先前确定的节点数据相关联以推导用于一个或多个所推导的设备的节点数据;以及
在预定的时期内将所推导的节点数据报告给操作系统。
11.根据权利要求10所述的方法,进一步包括:
向所述多个设备总的查询进一步的节点数据;
响应于所述总的查询,接收用于所述多个节点设备的附加的节点数据;
根据初始节点数据和所述附加的节点数据验证用于所述多个设备的所述节点数据;
确定所验证的节点数据和所述所推导的节点数据之间的差别;以及
将所述所验证的节点数据和所述所推导的节点数据之间的所述差别报告给所述操作系统。
12.根据权利要求10所述的方法,进一步包括:
将用于所述多个节点设备的所述所验证的节点数据存储为用于所述多个设备的当前节点数据,其中所述当前节点数据在下一个枚举事件时成为所述先前确定的节点数据。
13.根据权利要求12所述的方法,进一步包括:
接收所述节点数据的一个或多个改变;以及
将所述节点数据的所述一个或多个改变报告给所述操作系统。
14.根据权利要求13所述的方法,进一步包括:
采用所接收的所述节点数据的所述一个或多个改变来更新所存储的当前节点数据。
15.根据权利要求14所述的方法,进一步包括生成用于向所述多个节点设备目标查询节点数据的一个或多个算法。
16.根据权利要求15所述的方法,进一步包括启发式地调整所述一个或多个查询算法以实现查询精度和查询延迟之间的所选择的平衡。
17.根据权利要求16所述的方法,进一步包括生成用于将所述一个或多个初始响应的节点设备的所述初始节点数据与所述先前确定的节点数据相关联的一个或多个算法。
18.根据权利要求17所述的方法,进一步包括启发式地调整所述一个或多个关联算法以实现关联精度和关联延迟之间的所选择的平衡。
19.根据权利要求18所述的方法,进一步包括生成用于根据所述初始节点数据和所述附加的节点数据验证用于所述多个设备的所述节点数据的一个或多个算法。
20.根据权利要求19所述的方法,进一步包括启发式地调整所述一个或多个验证算法以实现验证精度和验证延迟之间的所选择的平衡。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/355,686 | 2012-01-23 | ||
US13/355,686 US8964580B2 (en) | 2012-01-23 | 2012-01-23 | Device topology and capability discovery and reporting techniques |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103309839A true CN103309839A (zh) | 2013-09-18 |
Family
ID=48742552
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100256189A Pending CN103309839A (zh) | 2012-01-23 | 2013-01-23 | 设备拓扑及能力的发现和报告技术 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8964580B2 (zh) |
CN (1) | CN103309839A (zh) |
DE (1) | DE102013200779A1 (zh) |
TW (1) | TWI498749B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801659A (zh) * | 2022-10-21 | 2023-03-14 | 西安诺瓦星云科技股份有限公司 | 设备控制方法、电子设备和多媒体系统 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103280894B (zh) * | 2013-06-14 | 2015-03-25 | 山东理工大学 | 一种配电网控制应用网络拓扑自动识别方法 |
US11061944B2 (en) * | 2017-01-30 | 2021-07-13 | Micro Focus Llc | Inferring topological linkages between components |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1437355A (zh) * | 2002-02-09 | 2003-08-20 | 华为技术有限公司 | 移动网络中多播用户的管理方法 |
US20040114530A1 (en) * | 2002-12-16 | 2004-06-17 | Alcatel Canada Inc. | Topology discovery in a dual ring network |
US20040218548A1 (en) * | 2003-04-30 | 2004-11-04 | Harris Corporation | Predictive routing in a mobile ad hoc network |
CN1753381A (zh) * | 2004-09-24 | 2006-03-29 | 华为技术有限公司 | 基于汇聚型网络系统的路由更新方法 |
US7058016B1 (en) * | 2000-10-12 | 2006-06-06 | Cisco Technology, Inc. | Method and system for accelerating route calculation in link state routing protocols |
US7287180B1 (en) * | 2003-03-20 | 2007-10-23 | Info Value Computing, Inc. | Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system |
CN101409617A (zh) * | 2008-10-08 | 2009-04-15 | 东南大学 | 一种容忍入侵的无线传感器网络拓扑生成方法 |
-
2012
- 2012-01-23 US US13/355,686 patent/US8964580B2/en active Active
-
2013
- 2013-01-08 TW TW102100541A patent/TWI498749B/zh not_active IP Right Cessation
- 2013-01-18 DE DE102013200779A patent/DE102013200779A1/de not_active Withdrawn
- 2013-01-23 CN CN2013100256189A patent/CN103309839A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7058016B1 (en) * | 2000-10-12 | 2006-06-06 | Cisco Technology, Inc. | Method and system for accelerating route calculation in link state routing protocols |
CN1437355A (zh) * | 2002-02-09 | 2003-08-20 | 华为技术有限公司 | 移动网络中多播用户的管理方法 |
US20040114530A1 (en) * | 2002-12-16 | 2004-06-17 | Alcatel Canada Inc. | Topology discovery in a dual ring network |
EP1434393A2 (en) * | 2002-12-16 | 2004-06-30 | Alcatel Canada Inc. | Topology discovery in a dual ring network |
US7287180B1 (en) * | 2003-03-20 | 2007-10-23 | Info Value Computing, Inc. | Hardware independent hierarchical cluster of heterogeneous media servers using a hierarchical command beat protocol to synchronize distributed parallel computing systems and employing a virtual dynamic network topology for distributed parallel computing system |
US20040218548A1 (en) * | 2003-04-30 | 2004-11-04 | Harris Corporation | Predictive routing in a mobile ad hoc network |
CN1753381A (zh) * | 2004-09-24 | 2006-03-29 | 华为技术有限公司 | 基于汇聚型网络系统的路由更新方法 |
CN101409617A (zh) * | 2008-10-08 | 2009-04-15 | 东南大学 | 一种容忍入侵的无线传感器网络拓扑生成方法 |
Non-Patent Citations (1)
Title |
---|
都玉水 等: "拓扑自动发现中数据更新策略的研究", 《北京航空航天大学学报》, vol. 30, no. 1, 31 January 2004 (2004-01-31) * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115801659A (zh) * | 2022-10-21 | 2023-03-14 | 西安诺瓦星云科技股份有限公司 | 设备控制方法、电子设备和多媒体系统 |
Also Published As
Publication number | Publication date |
---|---|
US8964580B2 (en) | 2015-02-24 |
US20130188520A1 (en) | 2013-07-25 |
TW201348980A (zh) | 2013-12-01 |
TWI498749B (zh) | 2015-09-01 |
DE102013200779A1 (de) | 2013-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10175745B2 (en) | Optimizing power consumption by dynamic workload adjustment | |
CN102929613B (zh) | 操作系统的调优装置和方法 | |
CN112260907A (zh) | 跨设备的控制方法、装置及系统 | |
CN104092555B (zh) | 一种更新参数值的方法、装置和系统 | |
TW201717066A (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
WO2017000761A1 (zh) | 一种终端设备的特征信息的提取方法及装置 | |
JPWO2007060721A1 (ja) | ネットワーク管理装置およびネットワークの管理方法 | |
KR101916294B1 (ko) | 클라우드 데이터 센터 분석을 위한 기술 | |
CN114595124B (zh) | 时序异常检测模型评估方法、相关装置及存储介质 | |
CN103150250A (zh) | 应用程序性能检测系统和应用程序性能检测方法 | |
CN110460653A (zh) | 自动驾驶车辆数据传输的方法及装置 | |
CN103309839A (zh) | 设备拓扑及能力的发现和报告技术 | |
JP6419041B2 (ja) | 電力管理機能を有するシステムおよびユーザ端末並びにその電力管理方法 | |
CN103077184A (zh) | 用于基于规则的情景获取的方法 | |
WO2014012203A1 (zh) | 一种确定盘符的方法、装置及系统 | |
CN109840120A (zh) | 解耦微服务发布方法、电子装置及计算机可读存储介质 | |
WO2014106037A1 (en) | Detecting product lines within product search queries | |
CN109491679A (zh) | 一种cpld在线升级方法及装置 | |
CN109217617A (zh) | 一种马达的激励信号搜索方法及电子设备 | |
CN104933099A (zh) | 一种为用户提供目标搜索结果的方法与装置 | |
CN102163170B (zh) | 一种计算机功耗计算方法及装置 | |
CN107038051B (zh) | 一种bios配置项推荐方法及装置 | |
CN109376048A (zh) | 一种触摸屏的测试方法及设备 | |
CN115145786A (zh) | 一种bmc芯片管理方法、装置、计算机设备及存储介质 | |
CN109471708B (zh) | 一种任务处理方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20161214 |
|
C20 | Patent right or utility model deemed to be abandoned or is abandoned |