一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于网络的资源配置发现服务的制作方法

2021-11-03 13:01:00 来源:中国专利 TAG:

基于网络的资源配置发现服务
1.本技术是申请日为2016年9月30日的、名称为“基于网络的资源配置发现服务”的发明专利申请no.201680057194.6的分案申请。
技术领域
2.本公开涉及基于网络的资源配置发现服务。


背景技术:

3.许多公司和其他组织运营计算机网络,所述计算机网络使众多计算系统互连以支持它们的操作,如其中计算系统位于同一位置(例如,作为本地网络的一部分)或者相反地位于多个不同的地理位置中(例如,通过一个或多个私有或公共中间网络加以连接)。例如,容纳显著数量互连计算系统的数据中心已变得司空见惯,诸如由单一组织运营和代表所述组织运营的私有数据中心(例如,企业数据中心),和由实体作为业务来运营以向客户提供计算资源的公共数据中心。一些公共数据中心运营商为各种客户所拥有的硬件提供网络访问、电力以及安全安装设施,而其他公共数据中心运营商提供“全方位服务”设施,这些设施也包括可供其客户使用的硬件资源。
4.用于商用硬件的虚拟化技术的出现已针对管理大规模计算资源而为具有多样化需求的许多客户提供益处,从而允许各种计算资源有效且安全地由多个客户共享。例如,虚拟化技术可通过为每个用户提供由单个物理计算机器托管的一个或多个虚拟机来允许单个物理计算机器在多个用户间共享。每个这种虚拟机可被视为充当不同的逻辑计算系统的软件模拟,所述不同的逻辑计算系统为用户提供他们是给定硬件计算资源的唯一操作者和管理者的错觉,同时还在各种虚拟机间提供应用隔离。
5.一些企业可需要用于发现企业资源和/或云计算资源的配置的工具。然而,当前的发现工具不支持公共api或开放数据格式,并且不提供跨混合网络(例如,包括企业数据中心以及服务供应商网络两者的网络)操作的服务。


技术实现要素:

6.公开了一种方法,该方法包括基于关于供应商网络的客户机的基于客户机网络的资源配置的发现信息,生成基于客户机网络的资源配置的表示,其中所述供应商网络向所述客户机提供一个或多个服务。该方法还包括至少部分地基于所述基于客户机网络的资源配置的所述表示生成迁移计划推荐,其中所述迁移计划推荐指定把所述基于客户机网络的资源配置的至少一部分从所述客户机网络迁移到所述供应商网络的计划。该方法还包括执行至少部分地基于所述迁移计划推荐的迁移计划,以把所述基于客户机网络的资源配置的所述至少一部分从所述客户机网络迁移到所述供应商网络。
附图说明
7.图1例示根据至少一些实施方案的发现服务在其中操作的示例性系统环境。
8.图2例示根据至少一些实施方案的发现服务在其中操作的示例性服务供应商系统环境。
9.图3例示根据至少一些实施方案的发现服务在其中操作的具有第三方工具和配置管理数据库的示例性系统环境。
10.图4例示根据至少一些实施方案的发现服务的组件的示例性组织的框图。
11.图5例示根据至少一些实施方案的与发现服务相关联的客户机端过程的示例性流程图。
12.图6例示根据至少一些实施方案的与发现服务相关联的服务器端过程的示例性流程图。
13.图7是例示在至少一些实施方案中使用来自发现服务的输出的系统的示例性框图的框图。
14.图8是根据至少一些实施方案的与使用来自发现服务的输出的迁移服务相关联的过程的示例性流程图。
15.图9是例示根据至少一些实施方案的示例性计算机系统的框图。
16.虽然在本文中通过对若干实施方案和说明性附图举例的方式描述了实施方案,但本领域的技术人员应认识到,实施方案不限于所述实施方案或附图。应理解,附图和对其的详细描述并非意图将实施方案限于所公开的特定形式,而相反,其意图在于涵盖落入由所附权利要求书限定的精神和范围内的所有修改、等效物和替代方案。本文中所使用的标题仅用于组织目的,并且并不意图用于限制本说明书或权利要求书的范围。如贯穿本技术所使用的,词语“可以”是在许可的意义上(即意指具有可能性)、而非强制的意义上(即意指必须)使用。类似地,词语“包括(include/including/includes)”意味着包括但不限于。
具体实施方式
17.方法和设备的各种实施方案提供客户机资源发现服务,所述客户机资源发现服务被设计来帮助服务的客户自动化他们的企业it资产(例如,客户机)的发现,无论那些资产跨一些私有基于云的服务供应商和/或客户的内部部署数据中心环境扩展。在实施方案中,服务在数据库中记录调查结果,并且以进行中的变化保持数据库最新。客户机资源发现服务(或“发现服务”)可为客户提供用于收集、存储和分析这个信息的发现平台。
18.这种信息可出于若干原因而为有用的。例如,服务(例如,基于网络的发现服务)可以通过识别给客户机的应用程序以动力的一些或全部资源——通常服务器、数据库,和文件共享的组合——来简化将工作负荷迁移至基于云的服务供应商的任务,并且遍及迁移过程追踪配置和性能变化。
19.通常,发现服务可提供客户可以签约服务、安装必要的发现组件,分析收集的数据并且监视发现服务的健康的中心位置。公共api可被提供来查看并且填充发现数据。用于系统组件的安装的接口可降低手动和/或工程努力,因为在实施方案中,用于代理安装的依赖性管理可基本上是独立的,具有对托管配置的最小至无依赖性。在一些架构实施方案中,连接器和内部部署留存的代理是轻型的,并且数据的处理可被移出场所并且可由服务供应商处置。在实施方案中,连接器和代理可通常称为基于客户机网络的资源。在实施方案中,基于客户机网络的资源的配置可称为基于客户机网络的资源配置。发现服务可能能够从客户
的内部部署主机(例如,服务的客户机)服务以及代表客户或在客户的指导下执行的服务供应商计算实例收集发现数据。在实施方案中,发现数据可自客户机安全地收集。例如,可存在用于静止数据和传送中数据的加密。
20.图1例示根据至少一些实施方案的发现服务在其中操作来提供客户机资源发现服务的示例性系统环境。所例示系统环境包括多个组件,包括发现服务100,所述发现服务提供客户机资源发现服务,并且例示为具有控制台112(例如,基于网站的控制台等)和发现数据库120。通常,客户部署发现服务100的组件并且通过控制台112管理发现服务100。各种数据被自各种不同客户网络获得并且存储到发现数据库120(例如,客户机a网络130配置数据作为客户机a配置122存储在发现数据库120中,并且客户机n网络140配置数据作为客户机n配置124存储到发现数据库120)。所例示实施方案还描绘出自许多可能的网络a...n的两个客户机网络a 130和n 140。在一些实施方案中,网络可为相同的单个企业的分布式网络a&n,而在其他实施方案中,网络可为用于不同的企业a和n或其组合的企业网络。
21.客户机a网络130描绘为具有数据存储132和对应的发现代理133、服务器134和对应的发现代理135、应用程序136和对应的代理137,以及发现连接器138。本地网络139(例如,企业wan/lan或其他网络)将数据存储132、服务器134,和应用程序136彼此链接,并且链接至中间网络150(例如,因特网)。还描绘了发现连接器138与数据存储132、服务器134,和应用程序136之间的逻辑连接。在一些实施方案中,本地网络可还链接发现连接器138与数据存储132、服务器134和应用程序136和/或对应的代理。通常,在实施方案中,客户网络和该网络的网络资源(例如,客户机)的配置可称为基于客户机网络的资源配置。
22.在图1中,客户机n网络140描绘为具有对应于各种相应资源的代理。客户机n网络140描绘为具有数据存储142、服务器144、应用程序146和对应的代理143、145、147,以及发现连接器148。以下解释组成发现服务环境的各种实施方案的组件的额外和/或替代性特征。
23.请注意,在图2中,客户机n网络140描绘为无代理(例如,客户机网络上的发现服务的无代理实现)。客户机n网络140描绘为具有网络基础设施149(例如,交换机或防火墙)、数据存储142、服务器144、应用程序146以及发现连接器148。
24.在实施方案中,客户机端发现组件可以包括一个或多个代理、一个或多个发现连接器、一个或多个第三方发现工具或其一些组合。
25.架构组件
26.在实施方案中,所公开网络发现服务的组件允许服务的客户发现跨aws和内部部署数据中心环境扩展的他们的企业it资产,在数据库中记录调查结果,并且以进行中的变化保持数据库最新。在实施方案中,服务通过识别给应用程序以动力的全部资源——通常服务器、数据库,和文件共享的组合——来简化将工作负荷迁移至aws的任务,并且遍及迁移过程追踪配置和性能变化。
27.发现服务
28.在实施方案中,发现服务(例如,发现服务100)包括实现发现特定的工作流程的所有组件。例如,代理服务/数据收集模块450自代表客户(例如,服务供应商以及客户的内部部署主机(例如,客户的自有企业网络上的主机)的实例)安装的代理收集发现数据。代理服务/数据收集模块450可以向代理服务登记其自身,并且提供其将接收发现数据所在的位
置。
29.由代理服务/数据收集模块450实现的功能可包括开始/停止用于客户机的数据收集过程、自代理服务采集用于连接器和代理的健康信息,将配置信息传达至代理服务,和处理发现数据。
30.在一些实施方案中,通过代理的配置信息可包括以下各项中的一个或多个的识别:安装在计算机系统上的软件包、在计算机系统上运行的过程、在计算机系统上运行的服务器的类型、计算机系统上的操作系统的类型、用于在计算机系统处接收的网络通信的源实体、用于自计算机系统发送的网络通信的目的地实体,或在计算机系统上运行的过程的性能。在一些实施方案中,配置信息可包括网络信息、性能信息、组件健康信息和/或依赖性信息。配置信息可包括以下各项中的一个或多个的识别:安装在计算机系统上的软件包、在计算机系统上运行的过程、在计算机系统上运行的服务器的类型、计算机系统上的操作系统的类型、用于在计算机系统处接收的网络通信的源实体、在计算机系统处接收的网络通信的内容、用于自计算机系统发送的网络通信的目的地实体、计算机系统的性能,或在计算机系统上运行的过程的性能。信息可包括安全相关的配置信息(例如,所述端口为开放的)。
31.在实施方案中,新的客户可以使用他们的服务供应商凭证签约发现服务。一旦签约,他们可以提供:用于加密发现数据的加密密钥,和用于接收通知的访问点。
32.发现控制台
33.在实施方案中,发现控制台(例如,控制台112)是用于发现服务的用户接口。控制台可以被配置来允许客户签约发现服务,监视安装组件(例如,连接器、代理)的健康,改变连接器、发现代理和收集过程的配置,并且下载连接器和代理。虽然在一些实施方案中客户可以手动地安装这些组件,但是其他实施方案可以提供自动安装。
34.例如,控制台可配置有用户接口元件,所述用户接口元件在由用户选择时,使系统下载、安装,并且设置企业数据中心中的连接器虚拟用具(在实施方案中,下载的虚拟用具与连接器捆绑在一起)。
35.控制台可配置有接口元件,所述接口元件允许客户选择性地配置发现数据收集以改变用于所捕获数据和捕获频率的默认值。在实施方案中,控制台可配置有接口元件,所述接口元件允许用户使用控制台查询、分析和/或导出发现数据。公共api可被提供来给予类似的功能。
36.在实施方案中,控制台112可配置有接口元件以允许客户导出发现数据、属性和服务器列表(例如,如xml、csv,和json文件)之间的依赖性。
37.在一些实施方案中,控制台被配置来提供工作流程,所述工作流程允许客户进行无代理发现(例如,使用连接器)。在实施方案中,控制台可包括接口元件,使得客户可以自控制台右侧浏览并且列举服务器和其他it资产。控制台可能还配置有接口元件,使得客户可以自控制台右侧管理代理至服务器的部署(例如,由连接器辅助)。
38.发现连接器
39.在实施方案中,连接器(例如,发现连接器138、148)支持服务的配置并且可以充当用于内部部署发现代理的因特网网关。通常,在一些实施方案(例如,图1)中,代理采集发现信息并且通过连接器将它报告回到发现服务。在实施方案中,连接器可配置有对服务的长期凭证,自代理接收发现数据,并且将数据聚集并推进至发现服务。在实施方案中,聚集可
由代理、由连接器,或由服务进行。
40.在实施方案中,发现连接器组件(例如,发现连接器148)可被下载至客户的网络环境并在客户的网络环境中操作,并且可以负责收集发现数据。在一个示例性实现中,一旦客户签约发现服务,他们将被呈现(例如,通过控制台)到服务供应商位置的链接以用于下载连接器。例如,客户可以安装连接器并且在客户的企业数据中心中的虚拟机上运行所述连接器。在实施方案中,连接器充当用于发现服务的本地内部部署管理器。连接器可以提供以下功能中的任一个或全部:认证安装在主机上的代理,自代理收集发现数据,聚集数据,并且将聚集数据发送至发现服务,监视这些代理的健康并将这个信息发送至代理服务,获得加密密钥并将它们传达至代理,将配置信息传达至代理,并且自代理服务获得id并将它们指派给代理。
41.客户可以将多于一个连接器安装在他们的内部部署环境中。每个连接器可通过例如由代理服务生成的id识别。在一些实施方案中,代理服务可以通过消息服务(例如,消息排队服务)将消息发送至连接器或者可以背载(piggy back)于连接器发送的健康消息上。
42.在实施方案中,可以是用来自服务供应商网络下载的虚拟用具的连接器被安装于企业数据中心中的虚拟机上并且在所述虚拟机上运行。客户可以签约到连接器中。一旦签约,服务可以引导并且以唯一身份、信托证书和用于不同服务的配置信息个性化连接器。
43.在一些实施方案中,连接器可被配置来直接与内部部署基础建设(例如图1,项目149;交换机;防火墙、路由器等)通信。例如,发现连接器(例如,图3中的138)可被配置来将请求发送至防火墙(未例示),自所述防火墙接收数据或监视所述防火墙、或通过客户机网络130的防火墙的通信量。
44.示例性连接器设置:
45.一旦以下载的连接器的影像创建虚拟机,客户可被要求打开预配置位置(例如,url)以用于设置连接器。在示例中,以下信息中的一些或全部可自客户请求:具有向代理服务谈话的必要许可的用户、可用于ssl的签约证书(以及专用密钥),和自签约证书。
46.一旦安装,连接器可被配置来提供设置向导。设置向导可以配置任何共同服务(例如,服务供应商的共同事务如例如基于网络的服务)以及特定于选取的服务(例如,发现或其他服务)的步骤。共同配置设置可包括设置网络连通性、安装证书,和在连接器上配置平台凭证。网络设置向导可被配置来允许客户为他们的连接器选取静态或动态ip地址并且选择性地配置网站代理服务器以访问服务供应商的服务。
47.在实施方案中,设置过程可追踪强制性度量如所部署的软件的版本、设置如网络设置的各种阶段的结果、认证供应商的配置、信托证书的创建等,和设置工作流程的最终成功或失败。可依赖这类度量来识别并且解决由客户在设置期间面对的问题。客户可以选择性地共享与配置选择、管理程序平台的类型和版本,和服务器操作系统的类型和版本等有关的额外度量。
48.在实施方案中,系统可提供选项来以审计模式运行连接器。例如,当这个模式被选取时,本地收集的发现数据中的全部或一些可供客户利用于审计。在实施方案中,这个数据只有在客户手动地证实时才可以发送至发现服务。
49.在示例中,具有关于代理服务端点的信息的配置文件可被自动地下载。消息队列服务可出于客户的利益而被创建并且队列的信息被发送至代理服务。
50.在实施方案中,代理服务与连接器之间的一些或全部通信通过消息队列服务处置。例如,每当服务需要将命令发送至连接器时,所述服务可以在连接器的特定消息队列服务中排队消息。每个消息可通过唯一消息id识别。连接器可以针对新消息连续地长轮询队列,并且对新消息起作用。例如,对来自连接器的请求的响应可使用相同消息id自动地发送至代理服务。
51.连接器也可维持小本地数据库。这个数据库可用来存储信息如:自后端服务获得的加密密钥(例如,这个密钥每“x”小时被旋转)、代理的列表、他们的id、ip和mac地址等。请注意在一些实施方案中,客户可以将静态ip地址使用于连接器,尽管在其他实施方案中可使用动态地址方案。
52.在实施方案中,一旦服务和连接器用具被设置,发现服务呈现用户接口(例如,基于网站的用户接口)作为管理控制台的部分。这个接口可用来配置并且进行发现。连接器148可被配置来充当用于企业数据中心中的服务的联络点并且协调自服务控制台启动的所有发现相关的动作。在实施方案中,控制台将实现工作流程以开始并停止服务器上的数据采集并且配置数据聚集和数据上载策略。在实施方案中,客户将还能够以json格式自控制台导出发现数据。在实施方案中,除控制台之外,服务将提供api来以编程方式访问发现数据。
53.在实施方案中,发现服务控制台可以提供工作流程,所述工作流程允许客户使用连接器进行无代理发现。另外,系统可向客户提供用以自控制台右侧浏览并且列举服务器和其他it资产的功能。
54.在实施方案中,连接器为服务供应商提供共同功能,如虚拟用具平台、应用程序设置、推动升级的能力、登录、故障检修等。在实施方案中,连接器将还提供用于创建并运行平台服务的框架。
55.连接器可还提供代理插件框架,所述代理插件框架可以充当用于作为插件输送的各种供应商服务的代理软件的存储库。当客户配置特定的供应商服务时,连接器可安装并且致能那个特定的代理插件的使用。
56.在实施方案中,发现服务被配置来提供公共面向端点,所述客户机将能够在他们想要发现服务采取特定行动时呼叫。在一些情况下,发现服务将提供用于与每个连接器实例通信的消息传送框架,其中每个连接器实例长轮询服务以确定它的指令。在实施方案中,连接器维持与每个代理的持久连接或让所述代理针对他们需要取决于由代理支持的使用情况的时间灵敏度进行的工作轮询。使用这个机构,客户机可以有效地触发内部部署动作,包括向下一直到代理,而无须允许到他们的企业数据中心的入站网络连接。
57.在实施方案中,连接器作用因特网网关并且使用用于代理的简化网络设置能够与发现服务通信。除这之外,在实施方案中,连接器配置有对服务供应商的长期凭证,并且聚集并将数据推进至发现服务。
58.代理
59.发现服务为客户机提供软件代理,所述软件代理可以安装在服务器上以收集数据(例如,需要来计划他们的应用程序迁移努力的数据)。在安装连接器之前或之后,客户机可以下载代理(例如,发现代理等133、135、137、143、145、147)。代理中的一些或全部可得自例如服务供应商。在实施方案中,代理负责自主机收集数据并且将该数据传达至连接器。在实
施方案中,用户可能能够在代理上选择以下配置。
60.‑
代理可收集的数据的类型可为可变的(例如,静态数据、动态数据等)。
61.‑
连接器的主机名/ip地址和代理可借以将信息发送至连接器的端口
62.通常,相比于无代理方法可捕获的,基于代理的方法可捕获关于客户机工作负荷和它们的依赖性的更多信息。额外信息可包括例如过程间依赖性、os级监视数据,和运行应用程序。
63.代理可以安装在内部部署主机或服务供应商实例上。代理可被配置来在各种环境(例如,windows和linux家族)中操作。代理也可以存储服务标签的列表(在配置文件中),所述服务标签可附加至代理收集的数据。
64.安装在内部部署主机上的代理
65.对于安装在内部部署主机上的代理,客户可具备捆绑代理与连接器使用于认证的证书(这个证书可不同于连接器使用于ssl的证书)的能力(例如,通过配置或接口)。例如,客户可以使用他们的个人证书或者在连接器处创建自签约证书。在实施方案中,连接器随后保留这个证书的公共密钥。在一些实施方案中,注册书可以在连接器处生成,而在其他实施方案中注册证书可以在代理服务处生成。
66.代理认证
67.在一些实施方案中,连接器可按以下方式认证代理:例如,最初在代理变得活动时,代理联络连接器并且发送代理ip地址、主机名和mac地址细节(连接器使用安装在所述连接器上的证书加以认证)。连接器自代理服务接收id,并且将其发送至代理。代理以其专用密钥加密id并且将其发送回到连接器。连接器以公共密钥(连接器先前存储的代理的公共密钥)解密id,并且如果所述id与其发送的事物匹配,则代理被认证。从现在开始,这个id用来识别特定的代理。
68.在实施方案中,对于发送发现数据,代理可以自连接器取得加密密钥,加密数据并且将所述数据发布到连接器上。在一些示例中,ack消息可以用于将任何配置相关的变化背载回代理。与代理有关的所有或一些配置可被存储在主机上的配置文件中。
69.安装在服务供应商实例上的代理
70.在实施方案中,代理也可以安装在服务供应商实例(例如,如图2中所例示,项目233、214a

n)上。这些代理可以代理服务端点预配置,以发送发现数据(通过上载到服务供应商网络的配置文件)。这些代理可以直接与代理服务通信(例如,没有连接器)。例如,这些代理可以将实例角色使用于认证和与代理服务端点的通信。这些代理可被给予来自代理服务的id。在实施方案中,当内部部署实例迁移至服务供应商时,对应的代理可被给予新的id。旧的id可以保留在代理上以用于参考目的。
71.代理服务
72.代理服务(例如图4中描绘为项目450)可以是服务供应商的内部服务,所述服务供应商帮助管理自主机收集数据的代理。代理服务的示例性功能可包括代理和连接器的登记(以下所描述)、将id、服务标签和/或配置值提供至代理和/或连接器、将加密密钥提供至代理和/或连接器、向代理和/或连接器提供用于访问数据流的细节和临时凭证、收集代理和/或连接器的健康信息、指示代理和/或连接器开始/停止数据收集、自服务供应商的内部服务接收数据收集请求,和/或将所收集的数据分布到由这些服务提供的数据流。
73.在实施方案中,代理服务提供可由服务供应商的内部服务(例如,对来自安装在服务供应商计算实例上的代理的所搜集数据感兴趣的内部服务)和/或客户的内部部署主机中的一些或全部使用的共同框架。在实施方案中,在启动时,发现服务和检查员服务两者可被认证以使用代理服务。
74.发现服务还可以被配置来用于使用连接器的无代理发现。连接器(没有部署代理的情况下)可为可配置以获得客户的数据中心库存的列表。客户机n网络140在图2中例示这种架构。在实施方案中,来自连接器148的无代理发现可包括设置用于wmi(windows管理规范)、ssh(安全壳),和基于snmp(简单网络管理协议)的发现的凭证。
75.在实施方案中,连接器可为客户提供低摩擦替选方案以部署代理自己。例如,连接器管理的安装为客户提供(通过控制台和连接器的组合)配置并且部署发现代理以将服务器作为目标的功能。在实施方案中,在虚拟化企业数据中心的情况下,服务器通常是在裸金属管理程序上运行的vm。示例可包括用于使用无代理发现识别目标机器、将代理部署到机器、定义数据收集的长度等的工作流程。连接器随后可使用各种技术将代理部署到目标机器中,所述各种技术包括例如管理程序级api(vsphere api、powershell)或操作系统级api(wmi、ssh)的使用。在实施方案中,客户随后可以通过连接器配置执行这些api所需要的用户账户和凭证。
76.以下方法可以用来提供无代理发现的各种级。
77.系统可被配置来通过发现vm的库存(例如,使用vcenter api)提供无代理发现的基本版本。例如,这个特征可以捕获vm的名称、vm容器如数据中心、主机群集、esx主机和vcenter文件夹、它们的静态虚拟硬件配置如所供应的cpu、网络、存储设备,和存储器容量,和运行的操作系统。在实施方案中,系统可以为客户提供接口,所述接口可以基于这些变化准则过滤vm以提出它们想要放置代理的服务器的列表。
78.wmi、winrm,和ssh:在实施方案中,系统可被配置,使得客户可以他们的服务器上的有效用户账户设置连接器,在此刻无代理发现可使用基于wmi、winrm或ssh的技术加以进行以用于远程命令执行。例如,在企业数据中心环境中,其中用户账户和认证通常通过中心服务如微软活动目录(microsoft active directory)管理,在ad服务器中创建用户账户并且将凭证推动至所有服务器。
79.snmp:在实施方案中,系统可被配置,使得客户可以特定mib在他们的服务器中配置snmp,所述特定mib将允许连接器自linux服务器提取系统配置和网络连接。
80.先进vcenter api:在实施方案中,连接器将使用先进vcenter api来开拓构造如vswitch、vapp,和vm端口群以获得vm之间的关系,所述关系可以指示客户可以将代理注入的相关vm的集合。
81.nmap:在实施方案中,连接器将使用开放源nmap工具来基于由iana公布的标准端口号浏览目标主机以供服务在所述目标主机中运行。
82.网络数据包捕获:在实施方案中,系统可被配置,使得客户可以设置他们的物理或虚拟交换机以将端口反射到连接器,所述连接器将具有使用这个数据识别网络协议、应用程序签名,生成流程记录,并且推导服务器之间的网络连接的能力。
83.使用公共api的外部化:在实施方案中,系统可被配置,使得客户可以撰写自定义脚本以自他们的这个数据的私有源获得这个信息,包括用来以无代理发现数据引导发现服
务的企业cmdb。
84.在实施方案中,客户可以手动地使用以上所描述的技术中的一个或会见应用程序所有者以提出他们想要放置代理的第一服务器或服务器集合。
85.在实施方案中,客户可以使用他们的现有部署工具或来自其他软件卖主的工具来将代理软件部署到目标服务器。
86.发现数据库
87.对于客户特定的发现信息可以存储在发现数据库(例如,发现数据库120)中。在实施方案中,发现数据库可为数据库或其他类型的数据存储。数据存储可存储静态数据、动态数据和/或配置数据(例如,关于发现)。在实施方案中,数据存储的组合可被选取来表示数据的性质。例如,静态数据(如ip、主机名等)可以存储在nosql数据库中,而表示不同主机之间的通信的数据可以存储在图表数据库中)。在实施方案中,存储在数据存储中的数据可被加密。客户/第三方卖主可以撰写工具以分析/可视化所收集的发现数据(例如,使用公共api服务)。
88.出于说明的目的,将可以采集的数据的种类的以下非详尽列表布置为三大信息类别。列表指示信息类型,但不是详尽的。
89.静态配置
90.服务器主机名、ip地址、mac地址
91.静态cpu、网络、存储器和磁盘资源分配
92.所使用的dns服务器
93.来自服务器的所安装应用程序的名称
94.来自网站/应用程序容器的所安装工商企业应用程序的列表
95.来自服务器的活动运行过程的列表
96.时间序列性能度量
97.cpu使用
98.存储器使用
99.所观察的网络吞吐量和延时
100.磁盘使用
101.关系
102.建立的网络tcp和udp连接和相关联过程
103.服务器正在收听的网络端口和收听过程
104.以下表示发现数据库120的示例性本体论。这个列表不完整并且没有覆盖可表示于发现数据库中的每一对象。例如,这个特定的列表可以与表示自sharepoint应用程序捕获的数据所需要的对象相关联。也设想与其他对象和其他应用程序相关联的其他列表。
105.类:服务器
106.描述:描述关于服务器/主机的信息。可基于操作系统或其他参数具有后代。
107.属性:主机名、序列号、制造商、os、os版本、cpu、cpu速度(ghz)、cpu核、磁盘计数、磁盘空间、存储器(gb)、为虚拟、nic计数、dns服务器、默认网关、自定义(允许自定义客户机数据)
108.类:数据库
109.描述:数据库可延伸服务器和软件两者。含有与数据库有关的更特定信息。可基于类型(例如mysql)具有后代。
110.属性:名称、卖主、版本、类型、分配的存储器、分配的空间、自定义(允许自定义客户机数据),
111.类:软件
112.描述:覆盖由服务需要的应用程序和软件。应用程序在一个或多个服务器上运行。也可以称为安装的软体。可基于类型(例如数据库)具有后代。
113.属性:名称、卖主、版本、类型、cmdline、自定义(允许自定义客户机数据)。
114.类:过程
115.描述:过程是正在执行的计算机程序的实例。其含有程序代码和其当前活动。运行软件可具有若干过程。你可以假设过程是服务器与应用程序之间的连接。
116.属性:pid、名称、cmdline、参数、startuptime、用户、优先权、自定义(允许自定义客户机数据)
117.类:连接
118.描述:保持关于服务器之间的所建立连接的信息的追踪。
119.属性:源ip、源端口、目的地ip、目的地端口、协议、自定义(允许自定义客户机数据)、到过程的链接(可选择的)。
120.类:ip子网
121.描述:子网络或子网是ip网络的逻辑、可见细分。将网络划分成两个或两个以上网络的实践称为子网划分。属于子网的计算机以其ip地址中的共同、相等、最显著比特组定址。
122.属性:ip网络地址、ip网络掩码、ip地址类型、自定义(允许自定义客户机数据)、到子网中的服务器的链接
123.类:nic
124.描述:网络接口控制器(新独立国家,也称为网络接口卡、网络适配器、lan适配器,并且通过类似项)是将计算机连接至计算机网络的计算机硬件组件。
125.属性:容量、mac地址、子网、本地ip、全局ip、自定义(允许自定义客户机数据)
126.类:磁盘
127.描述:与主机相关联的存储信息的追踪。
128.属性:类型、描述、磁盘空间、名称、卷序列号、自定义(允许自定义客户机数据)
129.图2例示根据至少一些实施方案的发现服务在其中操作的示例性服务供应商系统环境。在所例示的实施方案中,发现服务100、客户机a网络130和客户机n网络描绘为类似于图1中的对应网络。在所描绘的实施方案中,发现服务100例示为服务供应商网络250的部分。在实施方案中,服务供应商网络250可以是基于云的服务供应商,所述基于云的服务供应商将各种计算服务提供至各种和许多不同的客户机。例如,服务供应商网络250例示为具有虚拟数据库服务220,所述虚拟数据库服务包括客户机a数据库222(具有对应的发现代理233)和客户机n数据库224。虚拟数据库服务220可被提供至服务供应商的各种不同客户机(例如,客户机a...n)。在一些实施方案中,存储在虚拟数据库服务220中的数据可由正在服务供应商网络250上操作的客户机a...n中的任一个的虚拟计算工作负荷,或由客户的网络
(例如,客户机网络130/140)上的客户机组件访问。服务供应商网络250还描绘为具有虚拟计算机服务210,所述虚拟计算机服务包括客户机212a

n(具有对应的发现代理214a

n)和连接器216。在实施方案中,虚拟计算服务210可将计算服务提供至客户机a

n。发现服务100可发现用于客户的自己企业网络的客户机和/或代表云中(例如,在服务供应商网络上)的客户操作的客户机或资源两者的客户机配置。例如,在实施方案中,虚拟计算服务可以发现代理(如所描绘)和/或以发现连接器(未例示)配置,所述发现连接器代表相应客户在计算服务的实例上进行发现。
130.在一些实施方案中,由服务供应商提供的服务可提供用于采集数据的接口而不使用代理。例如,可通过查询服务的api(例如,方法数据api或虚拟计算服务的登录工具)自虚拟计算服务(例如,210)采集数据。
131.图3例示根据至少一些实施方案的发现服务在其中操作的具有第三方工具和配置管理数据库的示例性系统环境。客户机a网络130描绘为具有第三方发现工具312和配置管理数据库310,所述配置管理数据库通过发现连接器138连接至发现服务。在所例示的实施方案中,环境还包括第三方工具320和数据库322,所述第三方工具和数据库可通过中间网络150(例如,因特网、私有或公共wan或类似者等)连接至发现服务100和/或客户机a网络130。
132.图4例示根据至少一些实施方案的发现服务100的组件的示例性组织的框图。所描绘的发现服务的一个或多个组件可以进行例如图5和6中所例示的过程中的一些或全部。在实施方案中,所例示的发现服务100可以基于数据的分析来识别在服务器(例如,裸金属服务器)和虚拟机内运行的软件,并且映射组成应用程序的工作负荷之间的依赖性。
133.例如,在实施方案中,所描绘的发现服务100分析来自数据存储的数据并且识别所安装的软件包、运行系统和应用程序过程、这些应用程序的网络依赖性,和它们的运行时间性能。发现服务100可发现应用程序之间的网络通信并且将用于发现的应用程序的网络基础设施依赖性记录在企业数据中心中或服务供应商的计算节点上。例如,发现服务100可以捕获应用程序的健康和性能的快照(例如,建立用以在应用程序到服务供应商网络的迁移之后比较的基线)。在实施方案中,数据调查结果可被记录在发现数据库120中,其可充当组成那个应用程序的客户的it资产的可信赖图画。客户可以通过接口(例如,控制台112)与这个信息交互,以例如找到组成应用程序的工作负荷,分析依赖性,构建迁移策略,并且评估迁移结果。在实施方案中,发现服务可以使这些功能中的一些或全部自动化。
134.如图5和6中所例示,过程通过部署包括代理、连接器,和发现服务100的组件开始,所述发现服务收集信息(例如,需要来计划并且监视迁移的信息)包括依赖性信息和服务器利用信息。当自代理和其他收集源接收数据时,数据被添加到发现服务(例如,添加到发现数据库120)。发现服务还允许第三方监视和发现工具通过公共api(例如,第三方适配器455)将信息存放在发现服务的存储库中,因此来自第三方供应商的工具可将其调查结果公布至数据库。其他适配器可被配置来提供到其他第三方配置管理数据库的接口以使那个数据与发现数据存储120存储库同步。
135.发现公共api服务
136.发现公共api服务(例如,在图4中描绘为项目457)可为客户提供公共api以更新/添加发现数据以及检索所述发现数据。例如,客户可具有配置管理数据库中的发现数据。在
实施方案中,公共api457和/或第三方适配器455提供工具以将这个数据移动至发现数据库。在实施方案中,api将主要用来读取数据并且将数据写入到发现数据库120。在实施方案中,客户机可使用可利用于例如java、python和ruby的sdk访问api。
137.在启动时,发现服务100可与来自第三方供应商的发现解决方案整合,所述第三方供应商向发现服务公布信息;第三方迁移解决方案可以利用发现的信息来支持客户机迁移;并且第三方迁移框架可以基于发现的信息向客户提供分析和迁移支持的组合。此可通过服务提供来读取并写入发现数据的公共api 457和/或第三方适配器455实现。这些程序接口可使合伙人能够进行发现服务原本不支持的专用和卖主特定的技术的发现和迁移。所述程序接口还使客户、系统整合者和其他人能够在平台顶部上构建项目特定的发现和迁移工具。
138.客户或isv可撰写他们自己的用于企业cmdb的适配器。如果客户已经在这些产品中的一个中投资,则他们可使用这些适配器将数据导入到发现数据库120中。如果他们继续使用这些cmdb,则客户可以来自其内部部署cmdb的变化周期性地更新发现数据库中的数据。在实施方案中,发现服务可包括用于这个空间中的内部部署cmdb解决方案的适配器。
139.系统api可包括用于添加配置条目、修改配置条目、消耗所存储数据等的api。
140.发现服务api
141.以下是可通过发现服务利用的示例性api的非详细列表。也设想通过组合在这个文档中定义的基本操作中的两个或两个以上的功能实现更复杂操作的额外api。api在功能上分组为
142.exportconfigurations
143.getconfigurationattributes
144.listconfigurationitem
145.getexportstatus
146.removeconfigurationitem
147.<tag api's>
148.createtags
149.deletetags
150.describetags
151.api结构
152.exportconfigurations
153.描述:使用所提供的服务供应商存储服务存储桶和密钥将由所有发现的配置项目和关系组成的配置数据导出到服务供应商存储服务。
154.输入:bucketname:配置将被导出的服务供应商存储服务存储桶。
155.keyprefix:配置将被导出的服务供应商存储服务密钥。
156.rolename:服务将采用来访问存储桶的角色
157.过滤器:这是序列或密钥=<值>或密钥~=<值>并且支持将它们分离的逻辑运算符。
158.输出:
159.exportid:可用来查询并且找出导出的状态的导出请求的唯一标识符。
160.numberofconfigurations:将导出的配置项目的计数。
161.例外:
162.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
163.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
164.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
165.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
166.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
167.getconfigurationattributes
168.描述:取得与通过配置项目id识别的配置项目相关联的属性的列表
169.输入:configurationids:配置项目识别符的列表
170.过滤器:这是序列或密钥=<值>或密钥~=<值>并且支持将它们分离的逻辑运算符。
171.maxresults:返回的项目的#
172.nexttoken:将要由客户使用来列出项目的下一个列表的标志输出:
173.配置:configurationid和<密钥,值>的列表的映射。密钥

值表示为attributename和attributevalue。
174.nexttoken:将要由客户使用来列出项目的下一个列表的标志
175.例外:
176.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
177.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
178.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
179.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
180.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
181.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
182.listconfigurationitem
183.描述:取得匹配由过滤器规格识别的那个规格的配置项目的列表。过滤器规格指定适用于与关系相关联的属性的条件。
184.输入:configurationtype:这是由发现服务辨识的配置项目的有效类型。在内部,
其将为enum类。
185.过滤器:这是序列或密钥=<值>或密钥~=<值>并且支持将它们分离的逻辑运算符。
186.maxresults:返回的项目的#
187.nexttoken:将要由客户使用来列出项目的下一个列表的标志
188.输出:
189.configurationids:配置项目id的列表
190.nexttoken:将要由客户使用来列出项目的下一个列表的标志
191.例外:
192.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
193.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
194.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
195.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
196.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
197.getexportstatus
198.描述:api取得导出请求的状态。
199.输入:exportid:用于导出请求的唯一标识符。这可用来查询并且找出导出的状态。
200.输出:
201.exportid:用于导出请求的唯一标识符。
202.状态:导出的状态。(固定值的集合)
203.statusmessage:用于导出的当前状态的描述性消息。
204.例外:authenticationfailedexception:
205.当由呼叫者提供的凭证无效时,这个例外被丢弃。
206.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
207.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
208.invalidparametervalueexception:
209.当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
210.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
211.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
212.removeconfigurationitem
213.描述:api移除配置项目
214.输入:configurationid:需要被移除的配置项目的id
215.例外:
216.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
217.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
218.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
219.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
220.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
221.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
222.createtags
223.描述:api为配置项目加标签
224.输入:configurationid:需要被加标签的配置项目id
225.标签:密钥和值的列表
226.例外:
227.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
228.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
229.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
230.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
231.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
232.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
233.deletetags
234.描述:api删除标签
235.输入:configurationid:配置项目的唯一识别
236.标签:密钥和值的列表
237.例外:
238.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢
弃。
239.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
240.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
241.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
242.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
243.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
244.describetags
245.描述:api描述标签
246.输入:
247.过滤器:
248.这是序列或密钥=<值>或密钥~=<值>并且支持将它们分离的逻辑运算符。
249.输出:
250.标签
251.密钥和值的列表以及配置类型和configurationid
252.例外:
253.authenticationfailedexception:当由呼叫者提供的凭证无效时,这个例外被丢弃。
254.authorizationerrorexception:当凭证有效但是用户不具有呼叫这个特定api的策略时,这个例外被丢弃。
255.invalidparameterexception:当以在请求中未定义的参数呼叫api时,这个例外被丢弃。回顾用于api请求的可利用参数。
256.invalidparametervalueexception:当以供应来用于输入参数的坏或出界值呼叫api时,这个例外被丢弃。
257.resourcenotfoundexception:当没找到由客户提供的配置id时,这个例外被丢弃。
258.serverinternalerrorexception:当错误通常由服务器端问题引起时,这个例外被丢弃。
259.图4还例示具有发现生命周期管理器412和发现呈现模块414的控制台112。在实施方案中,控制台可被配置来显示与发现部署、数据采集等的状态相关联的接口元件。例如,监视工作流程可以验证安装和所部署代理和连接器的功能中的正确性。在一些情况下,连接器的健康可以显示在控制台112中或由控制台112显示。例如,控制台112可以提供接口元件,所述接口元件提供可自发现数据的最新数据上载或甚至自队列中的探查消息获得的健康状态数据的管理。发现代理的健康也可以显示在控制台112中或由控制台112显示。例如,代理的健康可被周期性地发布到控制台上。在一些实施方案中,还将关于代理的错误信息
发布在控制台上。
260.在一些实施方案中,控制台112可被配置来接收对发现配置的变化。例如,控制台112可被配置来自用户接收输入,所述用户选择用于改变由代理和/或发现服务使用的代理的配置、加密密钥、通知服务主题等的选项。连接器可以拉动这些或其他设定(例如,来自消息队列)并且放置响应(例如,将消息放置回队列中)。在实施方案中,服务提供网络上的代理可以针对配置相关的数据轮询到代理服务上。
261.在实施方案中,发现服务100可被配置来通过使应用程序和其依赖性的识别自动化自企业迁移消除大量手工劳动(例如,识别什么软件工作负荷正在服务器中运行和理解它们的使用模式)。过去,客户和it从业者通过会见企业内的应用程序和it团队来采集这个数据,以识别应用程序和其依赖性并且在数月手工劳动之后将it库存列表、依赖性映射和迁移计划放在一起。发现服务可以使这个功能中的一些或全部自动化,包括组成应用程序的工作负荷中的一些或全部和它们中的每一个的目的的识别。在实施方案中,发现服务100识别什么应用程序(如果有)依赖于他们想要迁移的应用程序。发现服务还可以识别包含应用程序的工作负荷中的每一个依赖的网络基础设施服务(例如dhcp服务器、ad服务器、dns服务器、网络lb、nas用具等)。
262.在实施方案中,发现服务100可被配置来导出发现数据,所述发现数据可用来可视化组成应用程序和其依赖性的工作负荷。可视化功能可由发现呈现模块414提供,并且可还包括网络吞吐量和用于图表中的那些依赖性中的每一个的延时特性。在一些情况下,系统可被配置,使得客户可以由发现服务提供的数据手动地创建(例如,通过控制台或其他接口)迁移计划。(例如,使用用于迁移的执行的各种服务供应商和/或第三方卖主工具)。在实施方案中,发现服务100可以在客户的应用程序移动到服务供应商之后继续将可见性提供(例如,通过发现呈现模块)到客户的应用程序中,因此他们可以验证例如迁移操作的成功。
263.发现服务100被描绘为具有发现信息分析器470,所述发现信息分析器包括分组模块472、依赖性模块474,和修改模块478。发现信息分析器470可以基于自代理接收的数据(以及额外输入,例如,如以下所描述)生成计划和设计的组件配置。通常,在实施方案中,发现信息分析器470的组件包括程序指令,所述程序指令由计算机处理器执行来分析发现数据库120中的信息,分组所识别的资源(例如,服务器、应用程序和其他资源),生成资源的图表表示,并且响应于额外用户输入而修改分组和/或表示。在实施方案中,客户机或客户的资源的表示可称为基于客户机网络的资源配置表示。
264.结果可被显示或以其他方式呈现给客户(例如,通过发现呈现模块414)。在实施方案中,系统可被配置来将结果,所生成的计划和/或所生成的设计呈现(例如,通过发现呈现模块414呈现给客户专家)给客户或呈现给代表客户的专家。接受者可以回顾这些调查结果并且更新建议、计划或设计(例如,基于他们自己的、额外的,或其他基础建设知识)。例如,系统的管理员、专家或其他用户可以通过发现呈现模块与设计交互以添加或以其他方式修改设计(例如,更改、添加或移除关系、分组或依赖性)。
265.在至少一些实施方案中,发现呈现模块414可被配置来输送图表表示能力(例如,如包括应用程序的工作负荷的图表,其中工作负荷服务器为图表中的节点并且依赖性为边缘)。在又一示例中,图表中的边缘可还捕获网络吞吐量和用于那个依赖性的延迟度量。发现呈现模块414可以输出引起那个信息的视觉呈现的指令。
266.在实施方案中,发现服务100收集客户的基础建设的元数据,而非原始客户机数据;所述发现服务可以在发送至数据库之前净化所述发现服务收集的数据;并且所述发现服务可以在静止时和在运送中加密数据。
267.在各种实施方案中,各种功能可由一个或多个代理,由发现连接器,或由发现服务的各种模块进行,或者由其一些组合共享。
268.例如,应用程序发现功能可以描述系统能力以识别什么应用程序正在工作负荷内运行,所述工作负荷已经由客户识别为应用程序服务器或其识别的依赖性中的一个。在实施方案中,用于这个特征的数据采集要求可以与“依赖性映射”重叠。其他功能可包括基于捕获数据识别部署在应用程序或网站服务器容器内的工商企业应用程序。在一些实施方案中,应用程序容器和含有的工商企业应用程序可为系统本体论、api和用户接口的部分。例如,可还包括企业网站/应用程序服务器容器,如microsoft iis和apache tomcat。
269.在一些实施方案中,系统可以支持网站和应用程序服务器容器,如red hat jboss、ibm websphere,和oracle weblogic。一些实施方案可以支持将发现的过程的名称自动地映射到用于企业应用程序的用户友好应用程序名称。由系统提供的额外特征可包括识别企业应用程序堆栈(例如,lamp堆栈)和/或识别含于数据库管理系统应用程序内的数据库。
270.在实施方案中,系统可被配置为具有在迁移之前捕获应用程序的健康和性能的快照的能力。获得的数据可被推动、存储并且自各种数据存储检索。客户可以使用这个数据来在迁移之前和在迁移之后比较健康度量、性能度量、和关于来自应用程序的活动网络连接的数据确定迁移是否成功。
271.例如,在实施方案中,发现服务100的依赖性模块474可被配置来构建用于客户机应用程序的网络依赖性的图表。在实施方案中,发现服务以过程和监视数据的基本收集补充这个信息,所述监视数据描述什么正在工作负荷服务器中的每一个中发生。
272.依赖性模块474可被配置为具有生成或映射组成应用程序的工作负荷之间的依赖性的功能。例如,依赖性模块474可以发现应用程序之间的网络通信并且记录用于所发现的应用程序的网络基础设施依赖性。在过去系统的情况下,客户可依赖于手动过程和会见以识别这些依赖性;这些依赖性的自动化发现可产生显著影响。
273.在一些实施方案中,依赖性模块可以分析网络数据包捕获(例如,由代理或连接器148进行)或进行网络流程分析。至少一些网络数据包捕获技术捕获管理程序级处的通信量(例如,以便解决可能不横贯物理交换机的虚拟机间通信量)。在一些实施方案中,发现系统将自虚拟nic端口捕获网络数据包,并且通过检查数据包生成流程记录。数据也可能自网络处理硬件卸载装置获得,所述网络处理硬件卸载装置作为服务供应商网络250的部分存在。例如,代理可以在附接至主机系统的接口(例如,pcie)的网络处理装置上运行,或自所述网络处理装置接收网络连接数据,其中网络处理装置卸载自主机的主cpu卸载至少一些网络处理功能。
274.在一些实施方案中,这些或其他模块可配置(例如,通过程序指令)为具有额外能力(例如,用以获得用于网络依赖性的较高保真度数据的内核驱动器、来自连接器的网络数据包的深度检查、连接器中的基于网络流程的收集器,和通过利用网络处理硬件卸载装置采集这个数据)。
275.分组模块472可以分析自客户的网络获得的配置数据并且将资源分组成有用的分组(例如,将服务器分组成应用程序)。在实施方案中,分组模块472可以基于所观察的通信量分组应用程序。例如,机器学习如群集算法(例如,光谱群集)可用来分组。分组功能在与例如呈现功能组合时可以帮助客户可视化客户网络环境。系统可提供接口,使得客户可以对分组做出调整。在实施方案中,环境的可视化可促进迁移计划的设计或修改。
276.图5例示根据至少一些实施方案的与发现服务相关联的客户机端过程的示例性流程图。所例示的过程开始于发现服务100的组件的分配并且在发现数据已被采集之后结束。通常,在实施方案中,所例示的过程可由图1、2、3、4和7中所例示的各种组件进行。
277.如在框516处所例示,用户可以与发现服务控制台交互以开始发现服务。代理可以将发现数据发送至数据收集服务(例如,数据收集模块450,图4中所描绘)。例如,代理可以将发现数据发布至连接器的ip地址。在一些实施方案中,连接器可以自代理服务获取加密密钥和/或目的地凭证,并且可以将加密聚集数据添加至目的地(例如,数据流或数据存储或服务)。如果数据上载失败,则连接器可以尝试再次发送数据(例如,使用一个或多个策略,如指数退避策略)。在内部部署环境上进行的动作中的全部或一些可被登录于日志文件中。在实施方案中,对于设置在服务供应商上的代理,代理可以加密数据并且将所述数据添加至目的地或数据流。
278.使用图1作为示例,数据可由代理(例如,代理143、145、147)捕获,发送至数据流并且随后可自数据流发送至发现数据库120。在实施方案中,发现服务可以自数据库120或者直接自数据流消耗获得的数据。例如,分析直接自数据流获得的数据可以是与自代理接收数据实时地进行对客户机配置的更新的一个方式。在一些实施方案中,客户机配置的视觉表示可在控制台中更新,至少部分地基于来自数据流的实时数据。在一些实施方案中,具有来自代理或其他源的数据的数据流可以同时将数据提供到发现数据库120以及控制台或服务供应商的其他服务。
279.通常,所例示的过程的元件可由图1

4中所描绘的模块或组件中的一个或多个进行。例如,发现生命周期管理器412可被配置来自客户机接收请求以下载发现连接器。发现生命周期管理器412可被配置来管理发现服务的各种不同生命周期过程。发现生命周期管理器可以指导代理服务/数据收集模块450安装连接器。例如,发现连接器可自发现服务100下载并且安装至客户机网络,如在框512处。在一些实施方案中,连接器可以是系统架构的可选择特征。
280.安装/设置工作流程
281.通常,在至少一些实施方案中,客户签约发现服务,并且下载个人化连接器,其可包括发现代理框架。控制台112可被配置来为客户提供连接器状态的视图。
282.用于数据加密的密钥和用于与代理服务的连接器通信的消息队列可在客户的账户下被创建(例如,密钥可由客户控制,而不是由服务控制)并且充分的特权可被添加到代理和内部服务账户。这个初始设置可对于连接器与发现服务通信为充分的。在一些实施方案中,可不必要将连接器安装在服务供应商网络上的资源的实例上。
283.发现代理的安装
284.发现服务代理可被自发现服务下载并且安装到客户网络上的客户机,如在框514处。在一些实施方案中,将代理安装在需要的主机上可为客户的职责(例如,在选取所需要
的配置之后,代理可被手动地安装在主机上;客户可附接或创建用来认证代理的所需要的证书)。在框514处,发现服务代理被自发现服务下载到客户机网络并且安装于客户机网络上的客户机上。在其他实施方案中,发现服务可以将代理安装在所需要的主机上。例如,发现服务100可被配置来代表客户自动化代理于服务供应商网络内的资源上的安装。在一些实施方案中,框512和514中所描述的功能(下载)可以并行或以相反顺序进行。在一些实施方案中,过程的步骤中的一个或多个可以迭代(例如,过程可以循环返回到较早步骤)。例如,所例示的过程可包括循环,使得在先前代理中的一些已运行之后,下载并且安装更多代理。
285.在实施方案中,系统可以为客户提供选项以使用连接器管理软件代理的安装。在其他实施方案中,系统可以自动化代理的部署以发现依赖性。在一些情况下,当发现依赖性时,系统可被配置来允许客户迭代地部署代理。系统还可以用来在通过无代理发现识别的服务器规模上部署代理。例如,客户可以将这个特征加脚本于公共api的顶部上。
286.用户(例如,管理员专家或其他)可以与发现服务控制台交互以开始发现服务(框516)。代理在客户机网络中运行并且收集关于客户机配置的发现数据(框518)。
287.由代理收集的数据可以若干不同方式终止于发现数据库120处。例如,代理可以将数据发送至发现连接器(框520)。发现连接器可以处理数据且/或将数据一直发送至另一个组件(例如,发现数据库120)。在其他实施方案中,代理可以直接将数据发送至发现数据库120,而没有将数据发送至连接器。
288.在实施方案中,代理被配置来采集信息(例如,来自他们的虚拟基础建设管理应用程序的关于客户的各种资源如虚拟机、他们的网络连接设备(即防火墙、路由器等)、他们的存储阵列、数据库,和更多。在至少所例示的实施方案中,连接器可以聚集发现数据并且将发现数据发送至发现服务(框522)。
289.用户可以与发现服务控制台交互以停止(或修改)发现服务(框524)。如果发现服务被修改或继续,则过程可以代理在客户网络中运行并且收集关于客户的客户机配置的发现数据等等再次从头开始。如果用户选择停止发现服务,则过程终止(框526)。
290.图6例示根据至少一些实施方案的与发现服务相关联的服务器端过程的示例性流程图。将连接器和/或代理提供至客户机(框610)。例如,发现服务可以将连接器和/或代理下载到客户机网络或下载到代表客户操作的服务供应商的资源。
291.接收客户机的发现数据(例如,自连接器、直接自代理,和/或自其他工具)(框612)。例如,在一些实施方案中,用于代表客户或在客户的数据中心上操作的资源的配置数据可由发现连接器采集并且发送给发现服务,其中数据存储在数据库中,或者可自代理直接发送至数据库。
292.将发现数据存储在发现数据库中(614)。查询并且分析客户机发现数据以确定客户机配置和依赖性(框616)。例如,发现服务100可以分析来自数据库120的客户机的数据并且确定客户的资源的配置和依赖性。在一些实施方案中,可以分析数据以确定组件的分级结构、分组或层(例如,识别服务器层、登录服务器层)。
293.客户机的配置和依赖性的呈现被生成并提供给客户机(框618)。例如,发现呈现模块可以生成客户机的配置和/或依赖性的呈现并且通过控制台112指示呈现的显示。接收修改(框620)。例如,用户可以通过与控制台112的接口元件交互来回顾呈现并且修改配置和/
或依赖性。基于修改更新客户机配置和/或依赖性(框622)。例如,修改模块可以更新配置和/或依赖性并且呈现模块414可以生成客户机的配置和/或依赖性的修改后呈现并且通过控制台112指示修改后呈现的显示。
294.图7是例示在至少一些实施方案中使用来自发现服务的输出的包括迁移服务790的系统的框图。尽管本文所描述的系统可使用于额外目的(例如,监视等),但是一个特定使用将信息提供至促进并且自动化迁移过程中的若非全部则较多的迁移规划服务。所描绘的系统的各种部分可进行图8中所例示的特征中的一些或全部,以下所描述。
295.用于所公开服务中的至少一些的示例性客户包括迁移数百服务器的企业。可以支持各种种类的迁移(即,服务器迁移、应用程序容器迁移、仅数据迁移,和云最优化重写)以及各种数据类型(即,卷、文件、对象,和数据库)。在一些实施方案中,系统输出可包括迁移引导,并且服务中的部分可与管理和监视努力有关。
296.对将工作负荷自企业数据中心迁移到服务供应商感兴趣的客户可以自连接器签约服务。在实施方案中,可存在用于属于迁移平台和其他混合服务的部分的服务中的全部的单个签约步骤。在实施方案中,这个步骤可以创建唯一身份和信托证书,所述唯一身份和信托证书可由服务使用来认证并且授权客户的连接器实例。签约可作为设置连接器的部分加以进行。
297.在所描绘的实施方案中,发现服务100将客户机配置信息提供(例如,自发现数据库120或以其他方式)至迁移规划服务710。迁移规划服务基于所接收的客户机配置信息生成迁移计划建议。客户(例如,与客户相关联或代表客户工作的用户)可以查看迁移计划建议并且添加额外输入以改进迁移计划。将选定的计划(总体计划)自迁移规划服务710发送至迁移协调服务720。在实施方案中,迁移协调服务720可以呼叫执行服务的集合,如磁盘复制组件722(基于块或基于文件的复制)、虚拟机导入组件724,和可以进行迁移计划的db复制组件726。在迁移期间或者当迁移完成时,迁移验证服务730可以验证迁移。
298.系统的架构可为开放设计;例如第三方供应商可以在系统和/或过程中的位置处插入并且提供他们自己的差别能力(例如,通过api)。
299.图8是根据至少一些实施方案的与使用来自发现服务的输出的迁移服务相关联的过程的示例性流程图。
300.发现服务将客户机配置和依赖性信息提供至迁移规划服务(框810)。迁移规划服务基于客户机配置和/或依赖性生成迁移建议(框812)。迁移规划服务可以针对每个资源提出至少一个迁移计划。例如,迁移规划服务710可以生成迁移计划,所述迁移计划描述用于如何将应用程序迁移到服务供应商网络中的方法。在一些情况下,迁移规划服务可以针对资源(例如应用程序)提议多个迁移计划。例如,对于简单的网站应用程序,迁移规划服务可以生成将进行将每个服务器导入至服务供应商网络中的基于服务器的迁移的一个迁移计划、建议将应用程序重写为水平可扩展并且使用服务供应商的更原生服务(例如,关系数据库服务)的第二迁移计划,和仅移动网站服务器应用程序代码和其相关联数据但没有所述网站服务器应用程序代码在其中运行的服务器的第三迁移计划。
301.将建议提供至客户机(框814)。例如,系统可以将相关信息和建议带到客户,因此他们可以做出知情决策。当设定计划时,客户可以使用包括在迁移平台中的其他工具(例如,服务器迁移服务、应用程序迁移服务)来执行迁移。自客户机接收迁移输入(框816)。基
于客户机的配置和/或依赖性信息,和/或客户机的输入生成迁移计划(框818)。
302.迁移协调服务720呼叫执行服务以执行迁移计划并且根据迁移计划在供应商网络中重新创建客户机的资源的至少部分(框820)。验证服务自发现服务获得用于配置的基线性能数据并且在供应商网络中进行客户机配置的验证分析(框822)。
303.应注意,在各种实施方案中,图5、6和8中所示的操作种类中的一些可以相比于图中所示的顺序的不同顺序加以实现,或者可以并行地而不是顺序地进行。例如,在一些实施方案中,给定企业的若干不同应用程序的迁移可以并行地进行。在另一个替代性实现中,负荷平衡实例可在应用程序处理实例迁移之前迁移。在至少一个实施方案中,可能不需要一些操作。
304.示例性使用案例
305.例如,当大公司想要将microsoft sharepoint应用程序迁移到基于云的服务供应商时,他们与解决方案架构师接洽。作为第一步骤,解决方案架构师将在他们的数据中心中设置发现服务。由于大公司的广大分布性质,解决方案架构师接洽的应用程序所有者实际上不知道sharepoint运行所在的物理服务器或基础建设级依赖性中的任一个。解决方案架构师将与应用程序所有者一起工作,以识别sharepoint运行所在虚拟机工作负荷中的至少一个的ip地址或dns名称,并且借助于相关操作团队来将发现代理安装在工作负荷内。代理将使客户能够识别与工作负荷通信并且将数据报告给发现服务的服务器。解决方案架构师随后可以将代理安装在这些服务器中的一个或多个上以继而发现它们的依赖性。解决方案架构师将贯穿这个过程迭代,直到他已经覆盖用于sharepoint的依赖性中的全部。
306.一旦这个设置过程完成,并且在没有应用程序的架构的任何其他先前知识的情况下,解决方案架构师可以观察到sharepoint在他们的网络中依赖于microsoft sql server和microsoft iis server。队了这些应用程序依赖性之外,sharepoint应用程序依赖于基础建设服务如dhcp服务器、dns服务器、微软活动目录(ad)服务器和日志服务器。辅以这个信息,解决方案架构师可以创建用于大公司的迁移计划以迁移sharepoint应用程序。
307.另外,本公开的实施方案可考虑以下条款加以描述:
308.1.一种系统,其包括:
309.一个或多个计算装置,其被配置来实现基于网络的发现服务,所述基于网络的发现服务被配置来通过一个或多个网络为多个客户机提供客户机资源发现服务;
310.数据存储,其被配置来存储用于基于客户机网络的资源配置的发现信息;
311.其中所述发现服务被配置来:
312.通过所述一个或多个网络为所述多个客户机中的相应客户机提供一个或多个客户机端发现组件,所述一个或多个客户机端发现组件被配置来在相应基于客户机网络的资源配置处执行并且收集关于所述相应基于客户机网络的资源配置的发现信息;
313.通过所述一个或多个网络自用于所述相应客户机的所述相应发现组件接收所述收集的发现信息;
314.将所述接收的发现信息存储在用于所述相应客户机的所述数据存储中;
315.分析所述发现信息以确定用于所述相应客户机的相应基于客户机网络的资源配置;并且
316.生成用于所述相应客户机的所述确定的相应基于客户机网络的资源配置的表示,
其中每个相应基于客户机网络的资源配置表示包括:多个基于计算机的资源的描述,和所述基于计算机的资源中的至少一些之间的依赖性。
317.2.如条款1所述的系统,其还包括:
318.供应商网络,其被配置来提供多个基于网络的服务,其中所述多个基于网络的服务包括一个或多个虚拟计算或存储服务,所述一个或多个虚拟计算或存储服务被配置来托管所述基于客户机网络的资源配置中的一个或多个的至少部分;并且
319.其中所述基于网络的发现服务是由所述供应商网络提供的所述服务中的一个,并且还被配置来除了在所述供应商网络外部实现的一个或多个基于客户机网络的资源配置之外,从由所述供应商网络托管的一个或多个基于客户机网络的资源配置处的发现组件接收发现信息。
320.3.如条款2所述的系统,
321.其中所述基于客户机网络的资源配置中的至少一个至少部分地由所述供应商网络的所述一个或多个虚拟计算或存储服务并且至少部分地在所述供应商网络外部的客户机网络处实现,并且
322.其中所述基于网络的发现服务被配置来聚集来自所述供应商网络和所述客户机网络两者的发现信息,以确定用于跨所述供应商网络和所述客户机网络的相同基于客户机网络的资源配置的基于客户机网络的资源配置表示。
323.4.如条款1所述的系统,
324.其中所述一个或多个客户机端发现组件包括一个或多个连接器组件和多个代理组件,
325.其中所述多个代理中的每个代理被配置为安装在客户机网络处的不同计算机系统上,并且收集关于所述代理所安装的所述计算机系统的配置信息;并且
326.其中所述一个或多个连接器组件被配置为安装在所述客户机网络处,自所述多个代理接收配置信息,聚集所述配置信息,并且通过所述一个或多个网络将所述配置信息传输到所述发现服务。
327.5.如条款4所述的系统,其中用于所述代理所安装的所述相应计算机系统的由所述多个代理中的每一个收集的所述配置信息包括以下各项中的一个或多个的识别:安装在所述计算机系统上的软件包、在所述计算机系统上运行的过程、在所述计算机系统上运行的服务器的类型、所述计算机系统上的操作系统的类型、在所述计算机系统处接收的用于网络通信的源实体,或自所述计算机系统发送的用于网络通信的目的地实体。
328.6.如条款4所述的系统,其中用于所述代理所安装的所述相应计算机系统的由所述多个代理中的每一个收集的额外信息包括安全信息、在所述计算机系统处接收的网络通信的内容、所述计算机系统的性能,或在所述计算机系统上运行的过程的性能。
329.7.一种方法,其包括:
330.通过由包括一个或多个硬件处理器的一个或多个计算装置实现的基于网络的发现服务进行;
331.通过一个或多个网络向所述基于网络的发现服务的客户机提供一个或多个客户机端发现组件,所述一个或多个客户机端发现组件被配置来:
332.在客户机网络处的所述客户机的基于网络的资源配置处执行,并且
333.收集关于所述客户机的所述基于网络的资源配置的发现信息;
334.通过所述一个或多个网络自所述一个或多个客户机端发现组件接收所述收集的发现信息;
335.将所述接收的发现信息存储在数据存储中;
336.分析所述发现信息以确定所述客户机的所述基于网络的资源配置;以及
337.生成所述客户机的所述基于网络的资源配置的表示,其中所述表示包括:多个基于计算机的资源的描述,和所述基于计算机的资源中的至少一些之间的依赖性。
338.8.如条款7所述的方法,
339.其中所述客户机的所述基于网络的资源配置的所述表示识别:
340.所述多个基于计算机的资源,
341.在所述多个基于计算机的资源上运行的一个或多个应用程序、服务器或过程,和
342.所述基于计算机的资源中的至少一些之间的所述依赖性,并且
343.其中所述依赖性包括所述基于计算机的资源中的至少一些的网络连通性。
344.9.如条款8所述的方法,
345.其中所述生成所述表示还包括生成所述客户机的所述基于网络的资源配置的图形表示,其中所述图形表示包括:
346.多个节点,其表示所述多个基于计算机的资源、应用程序或过程,和
347.根据所述依赖性的所述多个节点之间的连接。
348.10.如条款9所述的方法,其还包括:
349.将所述图形表示提供至所述客户机;
350.自所述客户机接收对所述基于网络的资源配置的所述表示的一个或多个修改;以及
351.响应于所述一个或多个修改而修改所述基于网络的资源配置的所述表示。
352.11.如条款8所述的方法,
353.其中所述分析包括,至少部分地基于所述发现信息,映射所述客户机的所述基于网络的资源配置的所述多个基于计算机的资源、应用程序、服务器或过程之间的一个或多个关系,其中所述一个或多个关系是根据所述网络连通性或基于计算机的资源的类型的共同性中的一个或多个确定,
354.其中所述一个或多个关系包括网络子网中的成员资格、服务器群集中的成员资格,或负荷平衡群中的成员资格中的一个或多个,并且
355.其中所述依赖性是至少部分地基于所述一个或多个关系的所述映射确定。
356.12.如条款7所述的方法,其还包括:
357.接收用于由所述客户机网络外部的供应商网络托管的所述客户机的额外基于网络的资源配置的发现信息;以及
358.聚集来自所述供应商网络和所述客户机网络两者的所述发现信息,以确定用于跨所述供应商网络和所述客户机网络两者的所述客户机的聚集基于网络的资源配置。
359.13.一种非暂时性计算机可读存储介质,其存储程序指令,所述程序指令在由一个或多个处理器执行时使所述一个或多个处理器实现发现服务,所述发现服务被配置来:
360.通过一个或多个网络向客户机提供一个或多个客户机端发现组件,所述一个或多
个客户机端发现组件被配置来:
361.在客户机网络处的所述客户机的基于网络的资源配置处执行,并且
362.收集关于所述客户机的所述基于网络的资源配置的发现信息;
363.通过所述一个或多个网络自所述一个或多个客户机端发现组件接收所述收集的发现信息;
364.将所述接收的发现信息存储在数据存储中;
365.分析所述发现信息以确定所述客户机的所述基于网络的资源配置;并且
366.生成所述客户机的所述基于网络的资源配置的表示,其中所述表示包括:多个基于计算机的资源的描述,和所述基于计算机的资源中的至少一些之间的依赖性。
367.14.如条款13所述的非暂时性计算机可读存储介质,其中所述程序指令包括用于所述一个或多个客户机端发现组件的程序指令,其中所述一个或多个客户机端发现组件包括连接器组件,所述连接器组件被配置为安装在所述客户机网络处,收集关于所述客户机的所述基于网络的资源配置的所述发现信息,并且通过所述一个或多个网络将所述配置信息传输至所述发现服务。
368.15.如条款14所述的非暂时性计算机可读存储介质,其中,为收集所述发现信息,所述连接器组件还被配置来:
369.监视所述客户机网络处的所述多个基于计算机的资源中的至少一些之间的网络通信;或
370.调用由所述客户机的一个或多个网络管理协议或服务器配置基于网络的资源配置支持的一个或多个信息发现应用程序编程接口(api)。
371.16.如条款13所述的非暂时性计算机可读存储介质,其中所述程序指令包括用于所述一个或多个客户机端发现组件的程序指令,其中所述一个或多个客户机端发现组件包括多个代理,所述多个代理各自被配置为安装在客户机网络处的所述多个基于计算机的资源中的相应不同一个上,并且收集关于所述代理所安装的所述基于计算机的资源的配置信息。
372.17.如条款13所述的非暂时性计算机可读存储介质,其中所述发现服务还被配置来:
373.提供应用程序编程接口(api)以自并非由所述发现服务提供的一个或多个工具接收其他发现信息;
374.将所述其他发现信息存储在所述数据存储中;
375.将所述其他发现信息与自所述一个或多个客户机端发现组件接收的所述发现信息组合;并且
376.基于所述组合发现信息生成所述客户机的所述基于网络的资源配置的所述表示。
377.18.如条款13所述的非暂时性计算机可读存储介质,其中所述发现服务还被配置来提供控制台接口,所述控制台接口被配置来:
378.自所述客户机接收请求以下载所述一个或多个客户机端发现组件;并且
379.自所述客户机接收一个或多个发现管理命令以开始/停止所述客户机网络处的发现过程;
380.其中为开始/停止所述发现过程,所述发现服务被配置来通过所述一个或多个网
络与安装在所述客户机网络处的所述一个或多个客户机端发现组件远程地通信。
381.19.如条款13所述的非暂时性计算机可读存储介质,其中所述发现服务还被配置来提供控制台接口,所述控制台接口被配置来:
382.将图形表示提供至所述客户机的所述基于网络的资源配置的所述客户机;并且
383.自所述客户机接收对所述基于网络的资源配置的所述表示的一个或多个修改。
384.20.如条款12所述的非暂时性计算机可读介质,其还存储程序指令,所述程序指令在由所述一个或多个处理器执行时使所述一个或多个处理器实现包括所述发现服务的迁移服务,其中所述迁移服务被配置来:
385.至少部分地基于所述客户机的所述基于网络的资源配置的所述表示生成迁移计划,其中所述迁移计划指定将所述客户机的所述基于网络的资源配置的至少一部分自所述客户机网络迁移到供应商网络的计划;并且
386.执行所述迁移计划以将所述客户机的所述基于网络的资源配置的所述至少一部分自所述客户机网络迁移到所述多租户供应商网络。
387.21.如条款19所述的非暂时性计算机可读介质,
388.其中由所述发现服务存储在所述数据存储中的所述收集的发现信息包括用于在所述客户机网络处运行的所述基于网络的资源配置的性能数据,
389.其中所述迁移服务被配置来:
390.捕获用于迁移到所述供应商网络的所述基于网络的资源配置的所述至少一部分的性能数据,并且
391.将来自所述供应商网络的所述捕获的性能数据与用于所述基于网络的资源配置的所述至少一部分的来自所述数据存储的所述性能数据进行比较,以验证所述基于网络的资源配置的所述至少一部分的迁移。
392.说明性计算机系统
393.图9是例示根据至少一些实施方案的示例性计算机系统的框图。在至少一些实施方案中,实现以上描述来用于提供发现服务、虚拟数据库服务或虚拟计算服务的技术中的一种或多种的服务器可以包括通用计算机系统,所述通用计算机系统包括或被配置来访问一个或多个计算机可访问介质。客户机网络的资源也可以通过通用计算机系统实现,所述通用计算机系统包括或被配置来访问一个或多个计算机可访问介质。图9例示这种通用计算装置900。在所例示的实施方案中,计算装置900包括一个或多个处理器910(910a

910n),所述一个或多个处理器通过输入/输出(i/o)接口930耦接至系统存储器920(其可包括非易失性和易失性存储器模块两者)。计算装置900还包括网络接口940,所述网络接口耦接至i/o接口930。
394.在各种实施方案中,计算装置900可以是包括一个处理器910的单处理器系统,或包括若干处理器910(例如,两个、四个、八个,或另一个适合数量)的多处理器系统。处理器910可以是能够执行指令的任何适合处理器。例如,在各种实施方案中,处理器910可以是实现各种指令集架构(isa)中的任一种的通用或嵌入式处理器,所述指令集架构如x86、powerpc、sparc,或mips isa,或任何其他适合isa。在多处理器系统中,处理器910中的每一个可通常但不一定实现相同isa。在一些实现中,代替常规处理器或除常规处理器之外,可使用图形处理单元(gpu)。
395.系统存储器920可被配置来存储可由处理器910访问的指令和数据。在至少一些实施方案中,系统存储器920可包括易失性和非易失性部分两者;在其他实施方案中,可仅使用易失性存储器。在各种实施方案中,系统存储器920的易失性部分可使用任何适合存储器技术如静态随机访问存储器(sram)、同步动态ram或任何其他类型的存储器加以实行。对于系统存储器的非易失性部分(其可包括例如一个或多个nvdimm),在一些实施方案中,可使用基于闪存的存储器装置,包括nand闪存装置。在至少一些实施方案中,系统存储器的非易失性部分可包括电源,如超级电容器或其他电力存储装置(例如,电池)。在各种实施方案中,可将基于忆阻器的电阻性随机访问存储器(reram)、三维nand技术、铁电ram、磁阻ram(mram),或各种类型的相变存储器(pcm)中的任一种至少使用于系统存储器的非易失性部分。在所例示的实施方案中,实现一个或多个所需要的功能如以上所描述的那些方法、技术和数据的程序指令和数据展示为存储在系统存储器920内作为程序指令925和数据存储945。在实施方案中,以上在详细描述(例如,关于图1

8)中所描述的功能可通过由处理器中的一个或多个执行的程序指令实现。在一些实施方案中,程序的指令可被分组成模块或组件,如例如图4中例示的那些。
396.在一个实施方案中,i/o接口930可被配置来调节处理器910、系统存储器920、网络接口940或其他外围接口如各种类型的永久性和/或易失性存储装置之间的i/o吞吐量。在一些实施方案中,i/o接口930可履行任何必需协议、时序或其他数据变换以将来自一个组件(例如,系统存储器920)的数据信号转换成适合于由另一个组件(例如,处理器910)使用的格式。在一些实施方案中,i/o接口930可包括对于通过各种类型的外围总线附接的装置的支持,所述外围总线如例如低接脚数(lpc)总线、外围组件互连(pci)总线标准或通用串行总线(usb)标准的变型。在一些实施方案中,i/o接口930的功能可分裂成两个或两个以上分离组件,如例如北桥和南桥。另外,在一些实施方案中,i/o接口930的功能中的一些或全部如到系统存储器920的接口可以直接合并到处理器910中。
397.网络接口940可被配置来允许数据在计算装置900与附接至一个网络或多个网络(例如,网络150)的计算装置990之间进行交换,所述其他装置如例如如图1至图4及7中所例示的其他计算机系统或装置。在各种实施方案中,网络接口940可支持通过任何适合有线或无线通用数据网络如例如以太网网络类型进行通信。另外,网络接口940可以支持通过电信/电话学网络如模拟语音网络或数字光纤通信网络,通过存储区域网络如光纤信道san,或通过任何其他适合类型的网络和/或协议进行通信。
398.在一些实施方案中,系统存储器920可以是计算机可访问介质的一个实施方案,所述计算机可访问介质被配置来存储如以上对于图1至图4和7描述来用于实现对应方法和设备的实施方案的程序指令和数据。然而,在其他实施方案中,可在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可包括非暂时性存储介质或存储器介质如磁性或光学介质,例如,通过i/o接口930耦接至计算装置900的磁盘或dvd/cd。非暂时性计算机可访问存储介质还可包括可作为系统存储器920或另一类型的存储器包括在计算装置900的一些实施方案中的任何易失性或非易失性介质如ram(例如sdram、ddr sdram、rdram、sram等)、rom等。此外,计算机可访问介质可包括传输介质或信号,如通过如网络和/或无线链路的通信介质传送的电信号、电磁信号,或数字信号,如可通过网络接口940实现。如图9中所例示的那个的多个计算装置中的部分或全部可用来在各种
实施方案中实现所描述的功能;例如,在各种不同装置和服务器上运行的软件组件可以合作以提供功能。在一些实施方案中,除了使用通用计算机系统实现之外或代替使用通用计算机系统实现,所描述的功能中的部分可使用存储装置、网络装置,或专用计算机系统加以实行。如本文所使用的,术语“计算装置”指代至少所有这些类型的装置,并且不限于这些类型的装置。
399.结论
400.各种实施方案还可包括在计算机可访问介质上接收、发送或存储根据前面的描述而实现的指令和/或数据。一般来说,计算机可访问介质可包括存储介质或存储器介质,如磁性或光学介质(例如磁盘或dvd/cd

rom)、易失性或非易失性介质(如ram(例如,sdram、ddr、rdram、sram等)、rom等),以及传输介质或信号,通过通信介质如网络和/或无线链接传送,诸如电信号、电磁信号或数字信号。
401.如图中所例示并且在本文中所描述的各种方法表示方法的示例性实施方案。所述方法可在软件、硬件或其组合中实现。方法的顺序可改变,并且可添加、重新排序、组合、省略、修改等各种元件。
402.受益于本公开的本领域技术人员将清楚地知晓可做出各种修改和变化。旨在包括所有此类修改和变化,并且因此,以上描述应视为具有说明性而非限制性意义。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献