用于发现网络设备的方法和装置的制作方法

文档序号:7592888阅读:115来源:国知局
专利名称:用于发现网络设备的方法和装置的制作方法
技术领域
这里所描述的系统和方法涉及一种用于发现网络环境中的设备和用于确定那些设备之间的关系的体系结构。
背景技术
因特网的使用在过去几年中已得到蓬勃发展,并且继续呈现出增长的趋势。人们已变得十分享受“万维网”(或只是“Web”)上所提供的许多服务,例如电子邮件、在线购物、搜集新闻和其他信息、听音乐、观看视频选录、找工作等。为了跟上对基于因特网的服务的不断增长的需求,专用于主持Web站点的这些计算机系统领域中已有巨大的发展,从而为那些站点提供了后端服务,并存储与那些站点关联的数据。
一种类型的分布式计算机系统是因特网数据中心(IDC),它是收容用于主持基于因特网的服务的许多台计算机的特别设计的中心。IDC(也被称作“Web地段”或“服务器地段”)通常包含气候受控的、物理上安全的建筑物中的数百台至成千上万台计算机。这些计算机被加以互连,以运行支持一项或多项因特网服务或Web站点的一个或多个程序。IDC提供可靠的因特网访问、可靠的电源和安全的操作环境。
例如,特定的数据中心可以包括多台计算机(例如,通用计算机)、多个存储设备和多个数据处理设备(例如,路由器、网络集线器、网关和交换器)。这各种设备和计算机彼此互连,并与其他网络(例如,因特网)互连,从而允许在该数据中心内的各种设备之间进行数据通信。
现存的系统在很大程度上对数据中心内的这些计算机和其他设备利用人工控制。例如,当新资源(例如,计算机系统)被加入数据中心时,可以执行某些人工步骤,以便配置这个新资源,并向该数据中心内的其他设备通知这个新资源的可用性。这些人工操作很耗时,并且,如果管理员忙于执行其他任务,则可能在某段时间内不执行这些人工操作。
相应地,需要一些改进的技术,用于发现网络布局并管理网络中的各种设备。

发明内容
这里所描述的系统和方法可发现网络环境中的各种设备,并确定那些设备之间的各种关系。这些系统和方法也可监控这些网络设备以及这些设备之间的通信线路,以维持关于该网络中的所有设备的当前信息数据库。
在一个实施例中,连同与网络中的多个设备关联的连接信息一起来识别这多个设备。该连接信息被转换成分层结构。然后,这个实施例识别这些设备之间的通信线路。


贯穿这些附图,使用类似的标记来提及相似的部件和/或特点。
图1示出了示范网络环境。
图2是框图,展示了一种网络发现系统的实施例。
图3是流程图,展示了一种程序的实施例,该程序用于发现网络中的设备和该网络的布局。
图4是流程图,展示了一种程序的实施例,该程序用于识别并获得来自网络设备的信息。
图5展示了一种数据存储结构,该数据存储结构用于存储与各种网络设备以及网络设备之间的通信线路有关的数据。
图6是流程图,展示了一种程序的实施例,该程序用于识别与使用图4中的程序来加以识别的这些网络设备有关联的连接信息。
图7是流程图,展示了一种用于发现网络设备的程序的实施例。
图8展示了一种计算环境的例子。
具体实施例方式
这里所描述的系统和方法涉及发现网络环境中的多个设备,并识别那些设备之间的关系。这些系统和方法使原本要手动执行的某些任务自动化。数据库所保存的信息关于该网络环境中的这多个设备,以及这些设备彼此耦合的方式。
这里所讨论的各个例子是指网络和网络环境。如这里所使用的,“网络”是两个或更多设备的任何连接,这两个或更多设备彼此耦合,以便这些设备可以彼此交换数据。数据中心(例如,因特网数据中心(IDC))代表网络环境的一个例子。网络环境中的这各种设备可能位于公用区中,也可能位于不同的地理位置。特定的网络环境可以包括彼此耦合的一个或多个分网。这里所讨论的这些网络可以利用任何数据通信协议和任何类型的数据通信介质。
如这里所使用的,“网络设备”是被耦合到网络的或网络中所包含的任何设备或系统。网络设备也可以被称作“网络节点”。范例网络设备包括任何类型的计算机系统、存储系统、桥接器、路由器、交换器、网络集线器、网络发现系统和类似物。
在特定的实施例中,使用SNMP(简单网络管理协议),在各种网络设备之间进行通信。SNMP是一套用于管理网络的协议。SNMP将被称作“协议数据单元”(PDUs)的消息发送到网络的不同部分。SNMP适应设备(被称作“代理者”)将关于自身的数据存储在“管理信息库”(MIBs)中,并将该数据返回给SNMP请求者。在交替实施例中,除了SNMP以外,还可以使用其他协议,或用其他协议来代替SNMP。
图1表现了示范网络环境100。网络发现系统102被耦合到桥接器104。如这里所描述的,网络发现系统102能够发现网络环境中的各种设备,并能够发现这些网络设备之间的通信线路。此外,网络发现系统102监控这些网络设备是否正确操作,并维持与该网络中的这些设备以及那些设备彼此耦合的方式有关的信息数据库。桥接器104是连接使用共同协议的同一网络(例如,以太网或令牌网)的两个或多个段的设备。在一个实施例中,桥接器104包含用于发送和接收数据的多个通信端口。桥接器104维持与每个端口关联的转送表格。每个转送表格包含被耦合到该端口的其他网络设备的地址(例如,MAC地址)。
桥接器104被耦合到四个计算设备112和另一个桥接器106。桥接器104经由(例如)总线或该桥接器与这些计算设备中的每个计算设备之间的多个单独的连接,被耦合到计算设备112。计算设备112可以是任何类型的计算机,包括服务器、工作站、膝上型计算机、便携式计算机和类似的计算机。这些计算设备112中的一个计算设备被耦合到用于存储数据的存储设备114。
桥接器106被耦合到因特网110、两个计算设备112和另一个桥接器108。桥接器108被耦合到三个计算设备112。图1中所示的网络设备的布置允许任何网络设备与网络环境100中的其他任何网络设备交换数据。
虽然示出图1中的桥接器104、106和108被耦合到少量的计算设备112,但是,可以将特定的桥接器连接到任何数量的计算设备或其他网络设备。桥接器104、106或108的实施例可以被耦合到数百个或成千上万个不同的网络设备。交替的网络环境可以包括其他类型的网络设备(例如,路由器、网关、交换器、网络集线器和类似的网络设备)。
图2是框图,展示了网络发现系统102的实施例。网络发现系统102包括发现引擎202、用于存储网络数据的存储设备204、网络监视器206和显示设备208。发现引擎202发现网络环境中的网络设备,识别这些网络设备之间的通信线路,并确定该网络环境的布局。发现引擎202所收集和生成的该数据被存储在存储设备204中。
网络监视器206与发现引擎202协力监控该网络环境,以识别该网络中的变化(例如,新的网络设备的增加、网络设备的去除和对这些网络设备之间的通信线路的改变)。被存储在存储设备204中的该数据由网络监视器206来更新,以反映网络环境100中的任何变化。网络监视器206被耦合到显示设备208,这允许用户(例如,网络管理员)观察该网络布局、一个或多个网络设备的状态、或由网络发现系统102检索或生成的任何其他的信息。用户输入设备210也被耦合到网络监视器206,并允许该用户将输入提供给该网络监视器。例如,输入设备210可能是键盘、鼠标、跟踪板、触板等。网络监视器206允许用户(例如,网络管理员)检索关于该网络的信息(例如,被存储在存储设备204中的网络信息)。
网络接口212被耦合到发现引擎202,并允许该发现引擎与网络环境中的其他网络设备进行通信。网络接口212被耦合到网络环境100中的一个或多个网络设备。
图3是流程图,展示了程序300的实施例,程序300用于发现网络中的设备和该网络的布局。例如,程序300可以由网络发现系统102来执行。最初,程序300识别网络中的设备(方框302)。如下所述,例如,可以通过对各种网络地址(也被称作“网际协议(IP)地址”)进行ping,来执行这种识别。然后,该程序识别与该网络中的这些设备关联的连接信息(方框304)。如下所述,通过从被识别的这些网络设备中的每个网络设备中检索信息,来识别连接信息。
在方框306处,该程序识别与以上所识别的这些设备有关联的生成信息。生成树由设备(例如,交换器)使用标准算法来建立。在一个实施例中,程序300从该网络中的一个或多个设备中检索生成信息。该生成树信息在计算该物理网络布局的过程中有用。该生成树协议是一种链路管理协议,该链路管理协议提供路径冗余,同时防止网络中的不合需要的回路。例如,为了使以太网运作正确,在两个网络节点之间应该有单一的活动路径。如果两个网络节点之间存在多个活动路径,则可能会产生回路。当存在回路时,存在消息复制的可能性。该生成树协议迫使某些多余的数据路径进入备用(即阻塞)状态。此外,网络节点之间的一个或多个双向通信线路可以被转换成单向线路。
在识别方框306处识别生成树信息之后,通过使用该生成树中所包含的信息来识别这些网络设备之间的链路,可以继续图3中的程序(方框308)。然后,该程序计算该物理网络布局(方框310)。该程序将与该网络关联的该网络布局数据存储在数据库(例如,存储设备204(图2))中(方框312)。最后,程序300使用该被存储的网络布局数据来建立该网络布局的表示法(方框314)。该网络布局的这种表示法可以在显示设备上显示出来,在打印机上打印出来,或者呈现给网络管理员或其他用户。该网络布局的表示法可以被保存,供将来参考;并且/或者可以被传达给另一个系统或用户。
虽然这里所讨论的特定的例子利用一个或多个生成树中所包含的信息,但是,交替实施例可以使用其他协议和/或过程来排除网络中的不合需要的回路。
图4是流程图,展示了程序400的实施例,程序400用于识别并获得来自网络设备的信息。最初,程序400识别待发现的IP地址范围(方框402)。这可能是连续的IP地址范围或任何数量的非连续IP地址。该IP地址范围可以由网络管理员来规定,或者,该发现引擎可以扫描这整个IP地址空间。该程序选择该范围内的第一个IP地址,并ping该IP地址(方框404)。如果没有接收到响应,则该程序选择该范围内的下一个IP地址,并ping那个IP地址(方框414)。
如果在ping该IP地址之后接收到响应,则该程序询问与该IP地址关联的该网络设备,以获得其管理信息库(MIB)数据(方框408)。在一个实施例中,这个询问是从该设备的系统表(以下根据图5来加以讨论)接收信息的SNMP询问。MIB是可以由(例如)网络管理系统来监控的对象数据库。在接收该MIB数据之后,程序400根据其设备类型,从该网络设备中检索附加的信息(方框410)。该设备类型信息是从网络设备所接收的该MIB数据的一部分。例如,如果该设备类型是计算机系统,则该程序检索关于该计算机系统的信息(例如,处理器类型、存储容量、硬盘存储容量和类似的信息)。如果该设备类型是桥接器,则该程序使用提供针对桥接器的信息的MIB,来检索附加的信息。
在根据其设备类型来从该设备中检索附加的信息之后,该程序将该MIB信息和附加的信息存储在系统连接表中(方框412)。以下讨论该系统连接表。然后,该程序选择该范围内的这下一个IP地址,并ping该IP地址(方框414)。该程序返回到方框406,以确定是否从该IP地址接收响应。
图5展示了一种用于存储与各种网络设备以及网络设备之间的通信线路有关的数据的数据存储结构。使用图5中的该数据存储结构来建立网络设备的层次。“系统”表502代表用于保存关于网络设备的信息的主要表格。在“系统”表502中,“SystemID”字段是与每个系统(或设备)关联的标识符。“SystemID”在图5中的该数据存储结构内是唯一的。“SystemTypeID”识别设备的类型(例如,计算机、桥接器等)。“DiscoveryID”是其间发现过该设备的该发现过程的识别。“OwnerID”识别该设备的所有者(例如,网络资源管理器)。“ManagementIPAdr”是在其处曾发现该设备的该IP地址。“OID”指对象ID,它代表与该设备关联的该制造商、模型等。“名称”是该设备的名称。“说明”代表对该设备的说明。“UpTime”识别该设备已“启动”或运行多长时间。“联络人”识别对该设备负责的用户或操作者。“位置”识别该设备的物理位置(例如,第4机架、B搁板)。“服务”识别该设备所提供的服务类型(例如,存储服务、路由服务等)。
“SystemPort”表格504与“系统”表502关联。对于该关联的系统或设备(由SystemID来识别)上的每个端口而言,具有独立的SystemPort表格504。“PortNumber”代表该设备上的特定端口(例如,网络通信端口)。“类型”识别该端口类型(例如,10兆字节/秒)。“PhysicalAddress”是该端口的地址(例如,该MAC地址、Phy Net地址和类似的地址)。“速度”是该端口的通信速度。“OperationStatus”是该端口的最新近识别的状态。
“BridgePort”表格506也与“系统”表502关联。“DesignatedRoot”是该生成树的指定根部的地址。如果这个端口被连接到另一个桥接器,则“DesignatedBridge”是另一个桥接器的地址。否则,“DesignatedBridge”无效。“DesignatedPortNumber”是这另一个桥接器(如果有的话)上的该端口。“SingletonForwardingAdr”是用于转送数据的单地址。如果关于特殊桥接器端口的该转送表格只包含一个地址,则SingletonForwardingAdr的值被设置为那个地址。否则,SingletonForwardingAdr的值等于零。SingletonForwardingAdr可用于识别被耦合到交换端口的叶设备(leaf device)。
“发现”表格508与“系统”表502关联。独立的“DiscoveryID”与该发现过程的每项执行关联。“StartTime”是该发现过程曾开始的时间,“EndTime”是该发现过程曾结束的时间。“状况”识别该发现过程是否获得成功或是否发生错误。“StartMessage”和“EndMessage”识别该发现过程开始时和该发现过程结束时所生成的消息。
“SystemLink”表格510与“系统”表502关联。“SystemLink”表格510包含关于各种链路的信息,这各种链路被耦合到SystemID所识别的该系统。“SourceSystemID”识别代表该链路的来源的系统,“SourceSystemPortNumber”识别与该链路的来源关联的那个端口。“TargetSystemID”识别是该链路的目标的该系统,“TargetSystemPortNumber”识别与该链路的目标关联的那个端口。
“计算机”表格512与“系统”表502关联。“SmbiosUuid”是与该计算机关联的唯一标识符。“名称”是该计算机的名称,“卖主”识别该计算机的卖主以及关于该计算机的信息(例如,被安装的内存、处理器类型和硬盘数目)。
“桥接器”表格514也与“系统”表502关联。“BaseBridgeAdr”是与该桥接器关联的唯一标识符。“NumberPorts”识别该桥接器所支持的端口数目。“BaseType”识别得到支持的桥接类型(例如,源水平桥接)。“RootBridgeAdr”是该生成树的根部的地址。
“所有者”表格516提供关于该系统或设备的所有者的信息。“SystemType”表格518提供针对该系统类型的信息。
“桥接器”和“计算机”都是“系统”的分类型。虽然这里只讨论了两种分类型(桥接器和计算机),但是,交替实施例包括其他分类型(它们都是同一“系统”表的分类型)(例如,“存储器”、“负荷平衡器”、“硬件”等)。
图5中所示的、具有“*”的项目是唯一标识符(例如,该SystemID、该DiscoveryID和该PortNumber)。SystemLink表格510中的所有项目都具有关联的“*”,从而指出这些项目都是那个表格的主关键字的一部分。
图5中所展示的该数据存储结构被用来存储关于网络设备以及网络设备之间的通信线路的被发现的信息。随着该网络布局的改变(例如,作为增加新的设备和链路的结果,或者作为除去现存的设备和链路的结果),来更新所存储的信息。
在使用图4中的程序来识别各种网络设备之后,该网络发现系统计算这些被识别的网络设备之间的各种链路。当计算该链路信息时,将该信息存储在图5中的数据结构内。特别是,将该链路信息存储在SystemLink表格510中。
图6是流程图,展示了程序600的实施例,程序600用于识别与使用图4中的程序来加以识别的这些网络设备有关联的链路信息。如果具有与这些网络设备关联的多个生成树,则为每个生成树执行程序600。最初,程序600识别第一个生成树的根部(方框602)。该生成树的根部被标明为“层次1”(方框604)。在方框606处,该程序随后识别具有被设置为前一个层次(即层次1)的指定端口的、这下一个层次(即层次2)中的所有网络设备。然后,该程序将与这些被识别的设备关联的链路加入该SystemLink表格(方框608)。将这些被识别的设备标明为“层次2”(方框610)。然后,该程序确定是否具有附加层次的网络设备(方框612)。如果有附加的层次,则将该当前层次设置为这下一个层次(方框614),并且,该程序返回到方框606,以识别具有被设置为前一个层次的端口的网络设备。如果没有附加的层次,则该程序分支到方框616,并选择这下一个生成树(如果有的话)。在所有生成树已由图6中的程序加以分析之后,填充该SystemLink表格的该过程完成。
图7是流程图,展示了用于发现网络设备的程序700的实施例。在预定时期之后,在发生特定事件之后,可以响应于用户请求或响应于其他任何触发标准,来执行程序700。在特定的实施例中,每隔10-15分钟执行该网络发现过程一次。使用该网络发现过程来监控网络环境中的网络设备和通信线路的状况。通过维持这些网络设备和通信线路的当前状态(例如,运行或待用),该网络发现系统能够保持对该网络布局的准确理解。
在方框702处,激活(或触发)该网络发现程序。该程序创建与该当前网络发现过程关联的新的发现ID(方框704)。可以序贯地或根据另一种预定模式来通过ping以发现ID。每个发现ID是唯一的。
该程序发现新的网络设备,并识别新的网络链路(方框706)。这些新的设备可能与先前没有响应于ping的IP地址有关联。如果发现任何新的设备,则为它们标记该发现ID(方框708)。如果没有发现新的设备,则该程序继续进行到方框710,以确定是否已发现所有设备(即,已搜索IP地址的全部范围)。如果已发现所有当前运行的设备,则该过程结束。否则,该程序继续发现网络设备(方框712),并返回到方框706,以确定是否已发现新的网络设备或新的网络链路。
如果先前发现过特定的网络设备,但在新近的网络发现过程期间还没有发现该特定的网络设备,则可以将该设备的状态改成“待用”。在一个实施例中,如果在一个小时以上的时间内还没有从该设备或链路接收到响应,则将特定网络设备的状态改成“待用”。
图8展示了计算环境800的例子,在计算环境800内,该数据圆盘传送带系统和方法以及这里所描述的该计算机、网络和系统体系结构可以被完全或部分地加以执行。示范计算环境800只是计算系统的一个例子,并不意在对这些网络体系结构的使用或功能性的范围提出任何限制。计算环境800不应该被解释为具有涉及示范计算环境800中所展示的任何一个部件或部件组合的任何从属性或要求。
可以利用众多其他的通用或专用计算系统环境或配置来执行这些计算机和网络体系结构。可能适用的众所周知的计算系统、环境和/或配置的例子包括(但不局限于)个人计算机、服务器计算机、薄弱客户机、密集客户机、手持设备或便携式设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、赌博控制台、包括以上任何系统或设备的分布式计算环境,以及类似物。
计算环境800包括采取计算设备802形式的通用计算系统。计算设备802的各个部件可以包括(但不局限于)一个或多个处理器804(例如,微处理器、控制器和类似的处理器中的任何处理器)、系统存储器806,以及将包括处理器804的各种系统部件耦合到系统存储器806的系统总线808。这一个或多个处理器804处理各种计算机可执行指令,以便控制计算设备802的操作,并与其他电子和计算设备进行通信。
系统总线808代表任何数量的几种类型的总线结构,包括存储总线或存储控制器、外围总线、加速图形端口和使用各种总线构造中的任何总线构造的处理器或局域总线。举例来讲,这类构造可以包括“工业标准结构”(ISA)总线、“微通道结构”(MCA)总线、“增强ISA(EISA)”总线、“视频电子标准协会”(VESA)局域总线和也被称作“中层楼(Mezzanine)总线”的“外围部件互连”(PCI)总线。
计算环境800通常包括各种计算机可读介质。这类介质可以是可由计算设备802存取的任何可用介质,包括易失和非易失介质、可移动和不可移动的介质。系统存储器806包括采取易失存储器(例如,随机存取存储器(RAM)810)和/或非易失存储器(例如,只读存储器(ROM)812)形式的计算机可读介质。基本输入/输出系统(BIOS)814被存储在ROM 812中,该基本输入/输出系统包含有助于在计算设备802内的各个元件之间传送信息(例如,在启动期间)的这些基本例行程序。RAM 810通常包含可立即由处理单元804存取并且/或者目前由处理单元804进行操作的数据和/或程序模块。
计算设备802也可以包括其他可移动/不可移动的易失/非易失计算机存储介质。举例来讲,包括硬盘驱动器816,用于从不可移动的非易失磁性介质(未示出)读取并对其写入;磁盘驱动器818,用于从可移动的非易失磁盘820(例如,“软盘”)读取并对其写入;以及光盘驱动器822,用于从可移动的非易失光盘824(例如,CD-ROM、DVD或其他任何类型的光学介质)读取并/或对其写入。硬盘驱动器816、磁盘驱动器818和光盘驱动器822每个都由一个或多个数据媒介接口826连接到系统总线808。作为选择,硬盘驱动器816、磁盘驱动器818和光盘驱动器822可以由SCSI接口(未示出)连接到系统总线808。
这些磁盘驱动器及其关联的计算机可读介质为计算设备802提供计算机可读指令、数据结构、程序模块和其他数据的非易失存储。虽然这个例子展示了硬盘816、可移动磁盘820和可移动光盘824,但是,将会理解也可以利用可以存储可由计算机存取的数据的其他类型的计算机可读介质(例如,盒式磁带或其他磁性存储设备、快闪存储卡、CD-ROM、数字通用光盘(DVD)或其他光学存储器、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)和类似的介质)来执行该示范计算系统和环境。
可以将任何数量的程序模块存储在硬盘816、磁盘820、光盘824、ROM 812和/或RAM 810上,举例来讲,包括操作系统826、一个或多个应用程序828、其他程序模块830和程序数据832。这类操作系统826、一个或多个应用程序828、其他程序模块830和程序数据832(或其某种组合)中的每种可以包括关于测试例示系统的这些系统和方法的实施例。
计算设备802可以包括被识别为通信介质的各种计算机可读介质。通信介质通常具体表现计算机可读指令、数据结构、程序模块或调制数据信号(例如,载波或其他传送机制)中的其他数据,并且包括任何信息传递介质。术语“调制数据信号”指一种信号,该信号的一个或多个特征按这样一种方式来加以设置或更改,以便为该信号中的信息编码。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其他无线介质)。以上任何内容的组合也被包括在计算机可读介质的范围以内。
用户可以经由输入设备(例如,键盘834)和定点设备836(例如,“鼠标”)来将命令和信息输入计算设备802。其他输入设备838(未明确示出)可以包括话筒、操纵杆、游戏垫、控制器、圆盘式卫星电视天线、串行端口、扫描仪和/或类似的输入设备。这些和其他的输入设备经由被耦合到系统总线808的输入/输出接口840而被连接到处理单元804,但也可以由其他接口和总线结构(例如,并行端口、游戏端口和/或通用串行总线(USB))来加以连接。
监视器842或其他类型的显示设备也可以经由接口(例如,视频适配器844)而被连接到系统总线808。除监视器842以外,其他输出外围设备可以包括一些部件,例如扬声器(未示出)和可以经由输入/输出接口840而被连接到计算设备802的打印机846。
计算设备802可以在使用与一台或多台远程计算机(例如,远程计算设备848)的逻辑连接的联网环境中进行操作。举例来讲,远程计算设备848可以是个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其他共同的网络节点,以及类似的设备。远程计算设备848被展示为一种便携式计算机,该便携式计算机可以包括这里相对于计算设备802而描述的许多或全部元件和特点。
计算设备802与远程计算机848之间的逻辑连接被描绘成局域网(LAN)850和一般的广域网(WAN)852。这类联网环境在办公室、企业范围的计算机网络、内联网和因特网中很普遍。当在LAN联网环境中加以执行时,计算设备802经由网络接口或适配器854被连接到局部网络850。当在WAN联网环境中加以执行时,计算设备802通常包括调制解调器856或用于在广域网852上建立通信的其他装置。调制解调器856(可以在计算设备802的内部或外部)可以经由输入/输出接口840或其他合适的机制而被连接到系统总线808。将会理解所展示的这些网络连接起示范的作用,并且,可以使用在计算设备802与848之间建立通信线路的其他装置。
在联网环境(例如,利用计算环境800而展示的联网环境)中,相对于计算设备802而描绘的程序模块或其各个部分可以被存储在远程记忆存储设备中。举例来讲,远程应用程序858驻留在远程计算设备848的存储设备上。为说明起见,应用程序和其他可执行程序成分(例如,该操作系统)在这里被展示为离散块,尽管已认识到这类程序和成分在各个时间驻留在计算机系统802的不同的存储部件中并且由该计算机的数据处理器来加以执行。
虽然以上说明使用针对结构特点和/或方法论动作的语言,但是,将会理解所附权利要求书中所定义的本发明不局限于所描述的特殊的特点或动作。相反,这些特殊的特点和动作被揭示为实施本发明的示范形式。
权利要求
1.一种方法,其特征在于包括识别网络中的多个设备;识别与这多个设备关联的连接信息;将与这多个设备关联的该连接信息转换成分层结构;以及,识别这些设备之间的通信线路。
2.如权利要求1中所述的方法,其特征在于进一步包括存储与该网络关联的网络布局数据。
3.如权利要求2中所述的方法,其特征在于,存储网络布局数据包括将网络布局数据存储在至少一个系统连接表中。
4.如权利要求2中所述的方法,其特征在于,存储网络布局数据包括存储设备身份、连接身份和设备之间的链路。
5.如权利要求1中所述的方法,其特征在于进一步包括建立该网络布局的表示法。
6.如权利要求1中所述的方法,其特征在于,这些设备包括网络路由设备。
7.如权利要求1中所述的方法,其特征在于,这些设备包括计算系统。
8.如权利要求1中所述的方法,其特征在于,识别这些硬件设备之间的链路包括识别待分析的IP地址范围;询问该IP地址范围内的每个IP地址;以及,如果接收到对该询问的响应,则从该响应设备那里请求管理信息的基本数据。
9.如权利要求8中所述的方法,其特征在于进一步包括如果接收到对该询问的响应,则检索关于该响应设备的附加信息。
10.如权利要求1中所述的方法,其特征在于,将与这多个设备关联的该连接信息转换成分层结构包括建立与这多个设备关联的生成树。
11.如权利要求1中所述的方法,其特征在于进一步包括为该网络中的每个被识别的设备标记发现ID,其中,该发现ID识别特定的发现过程。
12.一个或多个计算机可读存储器,其特征在于包含可由处理器来执行的计算机程序,以便执行权利要求1中所述的该方法。
13.一种方法,其特征在于包括识别网络中的多个设备;识别与这多个设备关联的连接信息;识别与这多个设备关联的生成树信息;以及,使用该生成树信息来识别这些设备之间的通信线路。
14.如权利要求13中所述的方法,其特征在于进一步包括存储与该网络关联的网络布局数据。
15.如权利要求14中所述的方法,其特征在于,存储网络布局数据包括存储设备身份、连接身份和设备之间的链路。
16.如权利要求14中所述的方法,其特征在于,存储网络布局数据包括将网络布局数据存储在至少一个系统连接表中。
17.如权利要求13中所述的方法,其特征在于进一步包括建立该网络布局的表示法。
18.如权利要求13中所述的方法,其特征在于,这些设备包括网络路由设备。
19.如权利要求13中所述的方法,其特征在于,这些设备包括计算系统。
20.如权利要求13中所述的方法,其特征在于,识别这些硬件设备之间的链路包括识别待分析的IP地址范围;询问该IP地址范围内的每个IP地址;以及,如果接收到对该询问的响应,则从该响应设备那里请求管理信息基本数据。
21.如权利要求20中所述的方法,其特征在于进一步包括如果接收到对该询问的响应,则检索关于该响应设备的附加信息。
22.一个或多个计算机可读存储器,其特征在于包含可由处理器来执行的计算机程序,以便执行权利要求13中所述的该方法。
23.一种方法,其特征在于包括识别待发现的IP地址范围;询问该IP地址范围内的每个IP地址;如果接收到对该询问的响应,则从响应设备那里请求管理信息基本数据;识别与该响应设备关联的设备类型;以及,根据与该响应设备关联的该设备类型,从该响应设备那里检索附加的信息。
24.如权利要求23中所述的方法,其特征在于,该管理信息基本数据和该附加的信息被存储在系统连接表中。
25.如权利要求23中所述的方法,其特征在于,这些被识别的设备类型包括计算设备和桥接器。
26.一种方法,其特征在于包括识别网络中的多个设备;维持这多个设备中的每个设备的状态;重复地询问这多个设备中的每个设备;记录从这多个设备中的每个设备那里接收到的响应;如果在预定时期内没有从特定的设备那里接收到响应,则将该特定设备的状态改成待用;以及,向该网络中的其他设备通知该特定设备的被更改的状态。
27.如权利要求26中所述的方法,其特征在于,重复地询问该网络中的这多个设备中的每个设备包括按周期的时间间隔来询问该网络中的这多个设备中的每个设备。
28.如权利要求26中所述的方法,其特征在于,该预定时期大约是1小时。
29.如权利要求26中所述的方法,其特征在于进一步包括向其他应用程序通知该特定设备的被更改的状态。
30.一种方法,其特征在于包括启动与网络关联的设备发现过程;创建与该设备发现过程关联的发现ID;识别该网络中的新设备;以及,为这些新设备标记该发现ID。
31.如权利要求30中所述的方法,其特征在于进一步包括识别该网络中的新的通信线路;以及,为这些新的通信线路标记该发现ID。
32.如权利要求30中所述的方法,其特征在于,为这些新设备标记该发现ID包括将具有其他网络布局数据的该发现ID存储在存储设备中。
33.如权利要求30中所述的方法,其特征在于,每个发现ID就其他发现ID而言是唯一的。
34.一种装置,其特征在于包括用于识别网络中的多个设备的工具;用于识别与这多个设备关联的连接信息的工具;用于表现与分层结构中的这多个设备关联的该连接信息的工具;以及,用于为这多个设备中的每个设备标记发现ID的工具,其中,该发现ID识别特定的发现过程。
35.如权利要求34中所述的装置,其特征在于进一步包括用于存储与该网络关联的网络布局数据的工具。
36.如权利要求34中所述的装置,其特征在于,通过ping多个IP地址,来识别该网络中的这多个设备。
37.一种装置,包括被耦合到网络的发现引擎,其中,该发现引擎被配置成识别该网络中的多个网络设备并识别与这多个网络设备关联的连接信息,该发现引擎进一步被配置成识别与这多个网络设备关联的生成树信息并使用该生成树信息来识别这些网络设备之间的链路;以及,存储设备,它被耦合到该发现引擎,并被配置成存储与该网络关联的网络布局数据。
38.如权利要求37中所述的装置,其特征在于,该发现引擎被进一步配置成定期更新该网络中的网络设备的状态。
39.如权利要求37中所述的装置,其特征在于进一步包括网络监视器,该网络监视器被耦合到该发现引擎,并被配置成建立表现该网络布局的显示。
40.其上存储有计算机程序的一个或多个计算机可读介质,其特征在于当被一个或多个处理器执行时,该计算机程序使这一个或多个处理器识别待发现的多个IP地址;询问这多个IP地址中的每个IP地址;如果接收到询问响应,则从该响应设备那里请求管理信息基本数据;识别与该响应设备关联的设备类型;以及,根据与该响应设备关联的该设备类型,来从该响应设备中检索附加的信息。
41.如权利要求40中所述的一个或多个计算机可读介质,其特征在于,如果没有接收到询问响应,则询问这下一个IP地址。
42.如权利要求40中所述的一个或多个计算机可读介质,其特征在于,该设备类型是桥接器。
43.如权利要求40中所述的一个或多个计算机可读介质,其特征在于,该设备类型是计算设备。
44.如权利要求40中所述的一个或多个计算机可读介质,其特征在于,这多个IP地址对应于与网络环境关联的这些IP地址。
全文摘要
连同与多个设备关联的连接信息一起在网络中识别这多个设备。将与这多个设备关联的该连接信息转换成分层结构,并识别这多个设备之间的通信线路。
文档编号H04L12/28GK1571389SQ200410045670
公开日2005年1月26日 申请日期2004年4月29日 优先权日2003年4月29日
发明者B·塔巴拉 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1