CN109416643A - Application program migratory system - Google Patents

Application program migratory system Download PDF

Info

Publication number
CN109416643A
CN109416643A CN201780038747.8A CN201780038747A CN109416643A CN 109416643 A CN109416643 A CN 109416643A CN 201780038747 A CN201780038747 A CN 201780038747A CN 109416643 A CN109416643 A CN 109416643A
Authority
CN
China
Prior art keywords
configuration
client
service
migration
data
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
CN201780038747.8A
Other languages
Chinese (zh)
Other versions
CN109416643B (en
Inventor
H·萨布拉玛尼安
D·S·齐普金
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN109416643A publication Critical patent/CN109416643A/en
Application granted granted Critical
Publication of CN109416643B publication Critical patent/CN109416643B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/0816Configuration setting characterised by the conditions triggering a change of settings the condition being an adaptation, e.g. in response to network events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0889Techniques to speed-up the configuration process
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5015Service provider selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

In the service center of network-accessible, received from client so that migrating the request that promoter is able to access that the configuration set of records ends of the client.The response to migration candidate ID inquiring is generated using the configuration set of records ends, and is transmitted to the promoter.It is provided and instruction that at least part of the calculating environment of the client is moved to the associated suggestion of different computing environments under the assistance of the promoter to the client.

Description

Application program migratory system
Background technique
The computer network that many companies and its hetero-organization operation are interconnected numerous computing systems to support it to operate, Such as wherein computing system co-located (for example, a part as local network) or it conversely is positioned at multiple and different Geographical location (for example, being connected by one or more private or public go-betweens).For example, what receiving largely interconnected The data center of computing system has become very universal, such as by individually organizing operation and in order to individually organize the privately owned of operation Data center (for example, enterprise data center), and runed as enterprise by entity to provide the public affairs of computing resource to client Data center altogether.Some public data center operators by the hardware that various clients possess provide network access, electric power and Secure installation facilities, and other public data center operators provide " all-around service " facility, " all-around service " is set Applying further includes the hardware resource used for its client.
The appearance of virtualization technology for commercial hardware has in terms of managing large-scale calculations resource for many The client of diversified demand provides benefit, so that various computing resources be allowed efficiently and safely to be shared by multiple clients.For example, Virtualization technology can allow list by one or more virtual machines of single physical computer trustship by providing to each user A physical computer is shared between a plurality of users.Each such virtual machine, which can be considered, serves as different logic computing systems Software simulation, the software be modeled as user provide it is a kind of they be given hardware computing resource sole operators and management The illusion of member, while the isolation of the application program between various virtual machines being also provided.
Accurate application execution environment may span across various resources, for example, certain components of application program can It is run using virtual machine, and non-virtualized server can be used to run for other assemblies.In some cases, application program or correlation The resource of application program collection can be distributed in several different data centers.The complexity of performing environment, which may make, to be difficult to manage completely Solve the relationship and dependence between various application components.The shortage of this clarity can then make it more difficult to corresponding to make Operational decision making, the guard station that application program possesses from client is such as moved into provider network environment.
Detailed description of the invention
Fig. 1 shows the intelligence configuration hair that can be achieved for multiple data centers application program according at least some embodiments The exemplary system environment now serviced.
Fig. 2 shows according at least some embodiments can be used for structuring configuration information discovery service ontology it is exemplary Component.
Fig. 3, which is shown, merges original match from the corresponding multiple data sources for trusting score according at least some embodiments Example of the confidence breath to generate planning list of attribute values.
Fig. 4 is shown to be compiled according to the exemplary application that can be realized in configuration discovery service center of at least some embodiments Journey interface.
Fig. 5 shows can be played the part of in discovery service center using to automatically detect configuration item according at least some embodiments The example of the application architecture mode of the role drilled.
Fig. 6, which is shown, uses source inspecting identity to network packet in configuration discovery service center according at least some embodiments Method of determining and calculating.
Fig. 7 shows can use in configuration discovery service center assigning relevance scores according at least some embodiments To the example factors of configuration item.
Fig. 8 shows can use in configuration discovery service center to improve and inquire timeliness according at least some embodiments The general introduction of the technology of the responsiveness of (temporal query).
Fig. 9 is to show that the various aspects for finding the operation of service center's execution can be being configured according at least some embodiments Flow chart.
Figure 10 show according at least some embodiments may be implemented in discovery service center it is collected configuration record can Exemplary system environment depending on changing service.
Figure 11 show according at least some embodiments can be by the example between view that Visualization Service is realized automatically Conversion of the property based on context.
Figure 12 shows the exemplary elements of the graphic user interface of the Visualization Service according at least some embodiments.
Figure 13 shows the affair related information that can be shown by means of Visualization Service according at least some embodiments Example.
Figure 14 shows related according to the network flow that can be shown by means of Visualization Service of at least some embodiments The example of information.
Figure 15 is shown according at least some embodiments using slider control to be matched by means of Visualization Service The visual example changed over time set.
Figure 16, which is shown, starts application execution environment using Visualization Service according at least some embodiments The example migrated stage by stage.
Figure 17 is to show can be executed by Visualization Service to provide the figure of configuration record according at least some embodiments The flow chart of the various aspects for the operation that shape indicates.
Figure 18, which is shown, finds the data that service center collects using in configuration according to the achievable of at least some embodiments Migrate the exemplary system environment of market service.
The exemplary program that Figure 19 is shown between client and migration market service according at least some embodiments is handed over Mutually.
Figure 20 shows migration promoter (migration facilitator) and migration according at least some embodiments First group of exemplary program interaction between market service.
Figure 21, which shows the migration promoter according at least some embodiments and migrates second group between market service, to be shown Example property programming interaction.
Figure 22 shows being storable at the metadata repository of migration market service according at least some embodiments The example of entry.
Figure 23 shows the exemplary boundary based on web that can be realized by migration market service according at least some embodiments Face.
Figure 24 is the various aspects for showing the operation that can be executed at migration market service according at least some embodiments Flow chart.
Figure 25 be show can the exemplary computing devices used at least some embodiments block diagram.
Although describing embodiment herein by several embodiments and schematic figures example way, It will be recognized by one skilled in the art that embodiment is not limited to described embodiment or attached drawing.It should be appreciated that attached drawing It is not intended for embodiment to be limited to particular forms disclosed with the detailed description to attached drawing, but contrary, it is intended to cover falls Enter all modifications, equivalent and the alternative solution in the spirit and scope being defined by the following claims.Mark used herein Topic is only used for organizational goal, and is not intended for limiting this specification or the scope of the claims.As run through the application institute Use, word "available" be in the sense that license (i.e., it is intended that have possibility) rather than force in the sense that (i.e., it is intended that must Must) use.Similarly, word " including (include/including/includes) " mean include but is not limited to.When In claim in use, term "or" be used as inclusive or and be not used as exclusiveness or.For example, phrase is " in x, y or z At least one " mean any one of x, y and z and any combination of them.
Specific embodiment
Describe for network-accessible discovery service center realize intelligence configuration discovery technique method and apparatus, For providing the visualization technique for automatically updating view of configuration information and the migration market of the client for assisting discovery to service The various embodiments of the migration promoter of service and the decision for making the migration about application program.In high level On, configuration discovery service can be realized based on following item (such as constitutes application program to configuration item (in addition to other features) Physics or virtualization calculation server, storage device, database, stack components etc.) and distributed application program mode oneself Dynamic detection: by the initial data of multiple data sources collection, the appointment of unique identifier to configuration item, to the interaction items The tracking of (for example, affairs, network flow etc.) and dependence, application program configure variation over time and are directed to multiple Performance monitoring under the required granularity level of miscellaneous application execution environment.Configuration discovery service is alternatively referred to as in some environments Application program discovery service or resource discovery service, because configuration item is the component to form application program.Configuration discovery service can Realize a variety of programming interface (for example, web services application programming interfaces, command line interface etc.), the interface is for services client End use obtain to configuration relevant inquiring response, and also act as other service (including migration market service and visually Change service) building block to provide the function of higher level.In some embodiments, be attached to configuration discovery service or its The Visualization Service of a part may act as one of the main interactive mode of client of configuration discovery service, for example, client may Enough check its be suitable for used in the customization of application execution environment of particular customer end side display environment indicate, by can Configuration relevant inquiring, and/or starting are issued from one group of resource to the partial or complete application program of another group of resource depending on changing interface Migration.In various embodiments, migration market may act as intermediary service, and the intermediary service enables a client to mark and closes Suitable migration promoter, and migration promoter is made to can be identified for that candidate client, for example, application program is stayed from client Ground is moved to calculating environment based on cloud or is moved to another from an environment based on cloud.
In at least some embodiments, some or all of service can be realized at provider network.By such as public The entities such as department or public sector's tissue are established to provide and be visited for one group of distributed clients by internet and/or other networks The network for the one or more Network Accessible Services (such as various types of calculating services based on cloud or storage service) asked It can be described as provider network herein.Provider network can be described as " public cloud " environment sometimes.The resource of provider network exists It can be distributed in multiple data centers in some cases, the data center can then be distributed in many cities, state and country In.Although should be noted that configuration discovery service, Visualization Service and/or migration market service can be in specific provider networks It realizes, but some or all of these services can be authorized to the information from other provider networks and visit is awarded Ask the appropriate power of the information from other provider networks (for example, the provider network for carrying out freely different establishment's operations) Limit.For example, the configuration discovery service run at the provider network PN1 of operator O1 operation can be acquired from operator O2 Operation provider network PN2 (and the data center of the data center and PN1 oneself possessed from such as client other Facility) configuration data collected, the Visualization Service run PN1 at aloows client to check to be included at PN2 fortune The distributed application program framework of capable component, and/or the migration market service run at PN1 can be to client The information about migration promoter is provided with the assembly transfer for will run at PN2 to PN1.In some embodiments, Visualization Service and/or migration market service can realize the sub-component for configuration discovery service.Configuration discovery service is herein It can be also simply referred to as discovery service.
The repository of configuration record can be constructed using various data sources in configuration discovery service center.For example, In some embodiments, data source may include that the existing configuration management database at client data center (can pass through volume sometimes Journey interface bulk import configuration data), in order to various resources configuration discovery service installation agency or configuration data collector, Third party or professional standard configuration management tool etc..Each data source can service at one or more time points to configuration discovery There is provided configuration information, it may for example comprise the attribute-value pair of some quantity of configuration item is organized with Mr. Yu.In at least some embodiments In, some data sources can provide original configuration data at regular intervals, and others can be it is event driven.In various realities It applies in scheme, is worth targeted configuration item attribute except other in service center (for example, passing through the agency in order to service installation) acquisition Except item, it may include user information (such as user's name and master catalogue), group information (such as group name and group membership), The list of software package/program and the list of kernel module have been installed.In at least some embodiments, also collect about perhaps The information of mostly different types of configuration dependent event, such as process creation/termination (associated Process identifier), domain name Service (DNS) is inquired and response, the data packet at each layer of network stack send and receive etc..Physics and/or virtual net Value (the maximum of type (Ethernet such as currently in use), support including such as network interconnection of each attribute of network interface Bandwidth, associated media access control or MAC Address etc.) it can collect to obtain from the device of target execution environment.It can identify The specific network ports that various Energy Resources Service use, such as TCP (transmission control protocol) or UDP (User Datagram Protocol) port, And 6 connection attribute of TCP edition 4 or version is collected (when the identifier of the process at either end such as connected, connection are established Between, duration for keeping it turning on of connection etc.).In some embodiments, operating system association attributes are collected, including for example The specific version of the operating system used in various hosts and virtual machine.It in different implementation scenarios can various intervals receipts Collecting system performance and process performance measurement.In some embodiments, it is found that multiple agencies of service are mountable in given host Or at device, to collect the respective subset of the configuration attribute value of one or more configuration items;In other embodiments, single generation Reason or tool can extract attribute value from several different sources.
Configuration discovery service may act as receiving under corresponding granularity level and according to corresponding timetable from various data sources The possibility of collection is out-of-date, conflict and/or ambiguous original configuration information combiner and planner.According to different numbers According to source, in some embodiments, configuration discovery service can be responsible for generating and storing the configuration record of merging and planning;Such conjunction And record may act as Visualization Service and migrate market service (or dependent on discovery service other service) configuration data Authoritative source.In at least some embodiments, configuration discovery service can be based at least partially on the ontology by service definition Unique device side identifier is generated and assigned to each configuration item.For example, given hardware server can be by a data source One of IP address (can change over time) based on server is based on server name or MAC (matchmaker by another data source Body access control) address, by third data source be based on server in distributed application program institute's role (for example, " web server " or " database server ") etc. identify.In the original configuration data for being supplied to configuration discovery service, Data source can respectively include the corresponding server identifier/title of themselves.This class identifier can be described as counting herein According to source identifier.Configuration finds that service can be checked from the received original configuration data of one or more of different data sources, And it is raw to server based on defined ontology and nomenclature scheme (subset of the attribute value of initial data may be taken into account) At unique device side identifier.
Unique device side identifier can be different from least some of the identifier/name that is used by data source.At least In some embodiments, when service center receives or analyzes one group of new original configuration data, service can determine to Unique identification configuration item applied by few a part of initial data, although unique identifier is not present in initial data.One In a little embodiments, service can be responsible for the mapping between the identifier and unique device side identifier that maintain data source to provide, with And for solving ambiguity associated with such mapping (for example, changing the feelings of the identifier of its given configuration item in data source The ambiguity being likely to occur under condition).Number of mechanisms can be used to solve ambiguity in different implementation scenarios, for example, being based on About within some periods from the original configuration data of other data sources association analysis, based on client feedback etc. Deng.In a kind of example scenario, for example, two different unique device side identifiers initially (mistakenly) may be assigned to phase With configuration item (such as based on from two different data sources received corresponding original configuration data set DS1 and DS2), as a result, Two different merging configuration record R1 and R2 and corresponding different service side identifiers are storable in service repository.Slightly Afterwards, for example, after the one or more other raw data sets of processing and/or in the interaction for passing through programming interface and client Later, it can detect and correct mistake.That is, service can determine that the attribute for the value being stored in R2 is actually corresponding with R1 Configurations item attribute.For example, this determination can be made based on the analysis of resource consumption information.If initially mistakenly Assuming that two configuration items associated with R1 and R2 are different hardware server, but discovery is two related whithin a period of time Cpu busy percentage is horizontal or the collected measurement of network packet outflow is closely similar or identical, then record R1 and R2 can be identified as to refer to identical server.In this case, can be used in the information being stored in R2 it is some come more New R1, and R2 (or on the contrary, the information in R1 can be used to modify R2, then can delete R1) can be deleted.At least one In a embodiment, it can be serviced by discovery and realize error correction API, so that client (and/or other authorized entities, it is all Such as the affiliate of professional service analyst, consultant or provider network operator) it can be with regard to such error notification service.Each In kind embodiment, it can be used for broadly improving service operations by the correction that this API is provided, for example, being authorized by one The correction that the given configuration data collection that entity is directed to given services client is made can be summarized and for detecting and correcting pass In the latent fault of the other configurations data set of same client or other clients.
In at least some embodiments, configuration discovery service can be related to different data sources by corresponding trust score Connection, and in which of determine to receive one group of potential conflict or out-of-date profile data element, it can be used such Trust score.Trusting score itself can change over time, for example, if obtaining in service center indicates in client data The dump of the client configuration management database of the heart, then the initial trust score of client database can be set as high level, But over time, score may be decreased, and configuration change can occur at client data center.At least some In embodiment, when generating merging configuration record from original configuration data, it can be used and trust score, for example, trusting number from high It can be wrapped according to the attribute value that source obtains in combined record with the probability bigger than the attribute value obtained from low trust data source Including including.From the attribute value V1 with the data source DS1 for currently trusting score TS1 and from higher current trust point The attribute value V2 of the different data sources DS2 of number TS2 contradict or the situation that conflict in, from the source with higher trust score Attribute value (may include configuring in record in merging, and can exclude from the lower source for trusting score for V2) in this instance Attribute value.In at least some embodiments, machine learning techniques can be used generate and to update over time and change Trust score.
The other details of the various aspects of the operation in relation to configuration discovery service, including set of applications has been provided below The pattern-based automatic grouping of part and label are connect for detecting by obscuring intermediary (obfuscating intermediary) The algorithm in the source of the network packet of receipts, relevance scores are associated with configuration item, for increasing to the responsiveness of inquiry Data model and preloading technology etc..Discuss that Visualization Service and market migrate again after the details for discussing discovery service Service.
Exemplary system environment
Fig. 1 shows the intelligence configuration hair that can be achieved for multiple data centers application program according at least some embodiments The exemplary system environment now serviced.As shown, system 100 may include such as provider in discribed embodiment The multiple provider networks and customer rs premise network 172 of network 102A and 102B.In each of provider network 102 Interior, one or more Network Accessible Services can be realized by corresponding provider network operator.For example, provider network 102A Service 132 and one or more migration related services 130 are calculated including configuration discovery service 104, virtualization, it is one Or multiple migration related services 130 can be utilized by potential customers with by their application program except provider network 102A Performing environment moves to provider network 102A.The other details about migration related service has been provided below.Provider's net Network 102B may include that the virtualization of their own calculates service 192, the virtualization calculate at service 192 it is available with virtual The method for being intended to virtualize calculation server different used in service 132 is calculated, for example, inhomogeneity can be used The monitoring programme or virtual management software stack of type, different groups of programming interface can be supported to obtain and use virtual machine etc..
It, can be in order to use provider network 102A and 102B and/or customer rs premise network in discribed embodiment The various clients of 172 resource run multiple distributed application programs.For given application program or one group of related application Resource collection can be described as application execution environment (AEE) 144 herein.Given AEE may include various moneys Source, for example, virtual and/or physical computing server, storage device, interconnection device, multilevel software stack etc..In the resource extremely Some less may include about which corresponding configuration information collection (for example, set of attribute value) of collection and storing it in configuration hair The now configuration item (CI) 136 in service 104.In general, from the perspective of configuration discovery service and its client, configuration item 136 may include any physics, virtual or logic entity, their configuration setting and/or status information can be used for managing one or Multiple application programs, and can be obtained by configuration discovery service by programming interface.Exemplary configuration item is in addition to other business It may include the driving of non-virtualized hardware server, virtual machine, software process or associated process set, such as spinning disk or solid-state The storage device of device (SSD), network equipment of such as router etc..In some embodiments, configuration discovery service can example As at regular intervals or in response to specifying the generation of event and iteratively from one or more disposition data sources (CDSrc) 134 Obtain the corresponding data collection of the configuration data about given configuration item 136.In latter, it is stored at service 104 Configuration data may include multiple records with timestamp for configuration item.A variety of inhomogeneities can be used in various embodiments The configuration data collector of type or source, such as software and/or hardware agency, the industry in order to configure 104 installation of discovery service Standard configuration management tool, the configuration management tool of customization, client's configuration management database etc..
Some AEE (such as AEE 144A or AEE 144C) may include the resource in the boundary of given network.AEE 144A includes configuration item 136Q, 136R and 136S of customer rs premise network 172, and AEE 144C includes provider network 102B Configuration item 136I and 136J.Other AEE may include the configuration item being distributed among multiple networks and/or data center.For example, AEE 144B includes the configuration item 136H of the configuration item 136A-136D and provider network 102B of provider network 102A.It answers When note that over time, at least in some embodiments, the network that the configuration item of AEE 144 and AEE are located at it Between mapping it is changeable, for example, one or more configuration items can migrate to different provider networks, move from customer rs premise network It moves on to provider network or moves to customer rs premise network from provider network.
In discribed embodiment, each network may include multiple disposition data sources 134, the disposition data source 134 can communicate with configuration discovery service 104.For example, provider network 102A includes disposition data source 134A-134C, it is described to match Data source 134A-134C is set to be collectively responsible for obtaining the configuration data collection of configuration item 136A-136F and be transmitted to service 104. Similarly, provider network 102B includes the data source 134E-134G for being responsible for report configuration item 136H-136L, and customer rs premise Network 172 includes the data source for being responsible for for the configuration data collection for belonging to configuration item 136N and 136P-136S being transferred to service 104 134H and 1341.In some cases, giving disposition data source 134 can be responsible for collecting the configuration number for belonging to multiple configuration items 136 According to, and in other cases, disposition data source 134 can report single configuration item 136.At least for some configuration items 136, configuration Data set can by multiple disposition data sources 134 for example under corresponding granularity level and/or software/hardware stack equivalent layer It collects.In some embodiments, giving disposition data source 134 can be the sub-component of configuration item 136, for example, as in table Show the executive process or thread run at the server of configuration item.For example, data source 134G is shown to configuration item 136L's A part.Some disposition data sources may include the sub-component of existing configuration management tool, for example, in discribed embodiment In, the configuration management database 167 of client includes the data source 134G reported to service 104.
In discribed embodiment, configuration discovery service 104 can realize one or more groups of programming interface 150, wherein Any one may include that for example application programming interface (API), the console based on web, command-line tool and/or figure are used Family interface.The programming interface 150A at curstomer-oriented end can be used for example by client to identify and/or authorize and hold with its application program The associated configuration data of row environment 144 acquires permission, to check the configuration information collected by service 104 (for example, using visual Change service, as further discussed in detail), to obtain in relation to the event of client feedback or the notice of condition may be needed Etc..In discribed embodiment, a group data set is closed and/or service side programming interface 150B can be used for disposition data source Interaction between 134 and service 104, and for by migrating related service 130 and/or using collected service 104 Other services of configuration data construct other feature.
In discribed embodiment, configuration discovery service 104 may include several sub-components, such as the storage of configuration record Library 108, the component 110 for being responsible for the fuzzy original configuration data of merging/elimination and/or responsible appointment/modification data source 134 are corresponding Trust one or more scoring components 112 of score and/or appointment/modification configuration record relevance scores, it is as follows to be begged for By.In at least some embodiments, service may include having different performance ability and/or data model as discussed below Multiple data repositories, for example, configuration record can be pre-loaded in low latency cache from central repository 108 To increase the responsiveness to expected query type.
In discribed embodiment, disposition data source 134 can be sent out to configuration in a variety of formats and at different intervals Now service 104 provides original configuration data set.In some cases, it is connect at service 104 for one or more configuration items 136 The initial data of receipts may be outmoded or out-of-date or inaccurate.In addition, in the original number provided by different data sources 134 Mode according to centralised identity configuration item may be inconsistent in some cases, for example, if given hardware server configuration Have multiple IP address, then can be used by different disposition data sources or by name or position, by other data sources not Server (such as " server 5 of the rack R1 in the computer room 3 of data center DC1 ") is referred to IP address.Described Embodiment in, configuration discovery service 104 can be responsible for merging using multiple technologies, eliminates and obscure and plan original configuration number According to collection.In a kind of such technology, when receiving one group of original configuration data, whether service 104 can attempt data discrimination It is related to known configurations item 136 (previously receive in service center and record the item of configuration data).If new received data are seen Get up and do not correspond to known configuration item, then nomenclature scheme or algorithm can be used to be based at least partially at service 104 One or more attribute values of the ontology of definition and/or the configuration item indicated in initial data, to corresponding to initial data Configuration item generates unique device side identifier.At least in some implementations, unique device side identifier can be with initial data Identifier used in the data source of concentration is different.In fact, service 104 can be responsible for maintaining data in such implementation Mapping between the identifier and unique device side identifier of source report.When service center receives subsequent raw data set, In some embodiments, merging/elimination, which obscures component 110, to map and/or use original configuration data and elder generation using such Before the relevance of data seen identify configuration item applied by raw data set.In some embodiments, be assigned to The service side identifier for determining configuration item 136 can be uniquely in the entire configuration set of records ends being stored at service 104, and In other embodiments, the identifier is in specific configuration domain or NameSpace (for example, domain associated with given client Or NameSpace) can be uniquely.
About analysis and the mode of unique device side identifier is generated in difference using the available configuration data of configuration item Embodiment in can be different.In one embodiment, it can parse first (expansible with XML by different data sources Markup language), JSON (JavaScript object representation), plain text or such as CBOR (concise binary object expression) two The original configuration data that system format provides.Can initial data or normalized number executed in for certain NameSpaces in The associated keyword of uniqueness (such as, for " IPAddr " of Internet protocol address or for intermediate value access control " MACAddr " of location) provide attribute value search, and search result can with Object Type Names (for example, " database take Business device " or " virtualized host ") combination/connection with generate unique device side identifier (for example, " DBServer. < DBVendorName>.<IP address>).In one embodiment, machine learning techniques can be used to improve raw to configuration item At the process of unique device side title.For example, can be used from provider network (for example, identical the mentioning of running configuration discovery service For quotient's network) virtualization calculate the anonymous configuration data collection of large size that the various assemblies of service are collected and be used to generate mark to train The machine learning model of symbol.By the name that the model of earlier version is made determine in it is some may be mistake, for example, identical Configurations item can be endowed two different unique identifiers or two configuration items and can be endowed identical identifier. Over time, when model training is in progress with biggish input data set, error rate can be reduced.
In at least some embodiments, it is corresponding trust score can (for example, by scoring component 112) be assigned to it is corresponding Disposition data source 134, and be used to actually determine which of source of two potentially conflictings given point in time may It is more acurrate.For example, some data sources may include the agency of discovery service 104, the agency can be before the mounting by provider's net The personnel of the operator of network 102B are designed, develop and test, and origin associated with other data sources and/or test level It may not be less known.In latter, higher trust score can be assigned to sometimes and be more familiar with or more preferably manage The data source of solution.In some embodiments, the trust score in data-oriented source can be based on the attribute or life for considering its value Change at the rank of the software/hardware stack of attribute value.For example, data source DS1 and DS2 can respectively provide related preset sequence or The corresponding measurement C1 and C2 that the CPU of process is used.If DS1 collects its cpu busy percentage measurement C1 version at monitor layer, And DS2 is used and is collected its version C2 by the tool that operating system provides, then different trust scores can be assigned to from two The CPU in a source uses attribute value.It, can at least some embodiments that multiple data sources can provide analog value to same alike result The respective weights for indicating current level of trust are assigned to each data source (or { data source, attribute } to), and the weight can For the end value for the attribute that determining discovery service will be used and be saved.In one embodiment, and if worked as from corresponding Data source 134 receives two different raw data sets for corresponding to same configuration item 136, and a raw data set is extremely A few attribute value and the attribute value conflict indicated in another or when contradicting, produce and exclude to have lower trust score The merging configuration of the conflict attribute value of data source is recorded and is stored it in repository 108.In some embodiments, different The trust score of data source 134 can be it is time-weighted, for example, if being collected in time T1 by data source CDSrcl former Beginning configuration data and the initial data that obviously conflicts is collected by another data source CDSrc2 in time T2 (wherein T2 is later than T1), then the initial data collected more recently can be considered more credible.In various embodiments, by merging/elimination The merging data record that fuzzy component 110 generates can be used to provide to by programming interface 150A and/or 150B (for example, coming from Client or other services from provider network 102A) received configuration querying response.
In addition to planning or merging other than the received original configuration data of data source 134, at least some embodiments, It was found that many other functions can be performed in the component of service 104, such as automatic mark corresponds to distributed application program mode together Configuration item group, give the role assignment in such group to corresponding configuration item, the network flow that may have been obscured by intermediary its source Amount implements traffic sources detection algorithm, prepares configuration data actively to support High Performance Data Query etc..Be provided below it is related this A little and other function other details.
As previously mentioned, configuration discovery service can define and utilize the ontology of configuration item at least some embodiments. Fig. 2 shows the example components for finding service ontology that can be used for structuring configuration information according at least some embodiments.? In discribed embodiment, ontology 202 may include multiple object types, and one corresponding with each object type or more The list of a attribute.The analog value of at least some of the attribute of given attribute list of given configuration item may include by various Disposition data source is transferred in the original configuration data set of configuration discovery service.In various embodiments, ontology and original category Property value can be used to configuration item generate unique device side identifier.It, can be by by several attributes for example, in some embodiments Value (some of them can be obtained from different data sources) is connect to construct configuration item with the textual identifier prefix of service creation Unique device side identifier.
For example, object type 204A corresponds to physical host or server.Corresponding attribute list 205A may include CPU class Type, the counting of CPU or core, currently assigned Hostname, monitoring programme (if installation if), operation system information it is various Element (OSdata), one or more IP address etc..The value of given attribute itself in the attribute list of such as 205A may include Several different data elements, for example, " cpu type " attribute may include supplying about instruction set architecture, the CPU supported by CPU The information of quotient, the clock frequency of CPU, model name etc..
Object type 204B indicates process (that is, execution unit at server).The attribute list 205B of process removes other It may include the title of process except item, for corresponding in the order line of calling process, the operating system of host for process Executable file position and/or the path (for example, directory path or folder path) of master catalogue of process, process line Number of passes etc..
Object type 204C indicate network connection (assuming that in this example using transmission control protocol/Internet protocol or TCP/IP race establishes).Attribute list 205C includes source IP address and destination IP address (respectively srcIP and destIP) (example Such as, source, which is identified as to issue connection (), calls to establish the endpoint of connection), originating process identifier and destination Process identifier (respectively srcProcess and destProcess) and/or destination port (destPort).
Object type 204D corresponds to the virtual machine generated using the virtualization frame obtained from particular technology supplier V1. The attribute list 205D of virtual machine includes that the virtual machine identifier (VMID) that defines of supplier, virtual machine are currently running or have run Data center identifier and virtual machine be currently running, plan to run or the host that has run.
In various embodiments, many other object types can be defined in ontology 202.For example, in some embodiment party It, can be for the interconnection device etc. of storage device, the entity of database instance, load balancer/router etc. in case Define corresponding object type.It in one embodiment, can be corresponding right for geographical resource or the grouping definition of other resources As type, for example, the object class that data center can have the object type of their own or server rack that can have their own Type.In some embodiments, ontology can define level or inclusion relation between various objects, for example, many processes can be Run at given host and therefore may include in host, the host process of application program can produce various other processes, these Process can be designated as subprocess of host process etc..In at least some implementations, it can be defined in a manner of object-oriented Relationship between the various entities of ontology.
Merge and the configuration of planning records
Fig. 3, which is shown, merges original match from the corresponding multiple data sources for trusting score according at least some embodiments Example of the confidence breath to generate planning list of attribute values.In discribed embodiment, the number including belonging to given configuration item According to collection 320A, 320B and 320K multiple original configuration data sets 320 by corresponding data source 310 (for example, data source 310A, 310B and 310K) it is transferred to discovery service.Each original configuration data set 320 includes corresponding list of attribute values 325.For giving Fixed host, for example, attribute and its respective value may include " title: host 100 ", " IP address: abcd ", " operating system: < OSVersion > " etc..In at least some embodiments, not all properties value all necessarily corresponds to single configuration item, example Such as, one or more of disposition data source can report multiple configuration items.Different data sets 320 can indicate different particle size fractions Not, for example, a data set may include application-level information (quantity of db transaction that is such as issuing or receiving), and it is another One data set may include lower level details (quantity of network packet that is such as transmitting or receiving).By two different numbers According to source send original configuration data in it is some can correspond to the different time, for example, data set 320A can with number It is collected according to the collection 320K different time.In some cases, belong in the attribute value of given configuration item it is two or more can It can collide with one another, for example, it may be possible to be the case that: a data set instruction has Process identifier at a host H1 The specific process of PID1 be responsible for from different main-machine communications, and another data set can indicate there is another Process identifier The process of PID2 is responsible for such communication.In some embodiments, at least some of disposition data source can opposite discovery service The configuration item for providing data generates corresponding identifier, and includes in data set 320 by these identifiers.This class identifier It can be described as source side identifier, to separate the identifier field of they and discovery service creation.Two data sources sometimes may be used Identical configurations item is referred to using different source side identifiers, for example, a data source can refer to by name Host (for example, " host K. "<domain name>), another can be referred to same host by IP address, and another is referred to by function Generation (for example, " database server DBS1 ").
In discribed embodiment, merging/elimination of configuration discovery service, which obscures component 360, can check and handle institute Have original configuration data set 320, and update (or creation) correspond to its initial data include one in data set 320 or The corresponding merging configuration record 350 of multiple configuration items.In one embodiment, it can be used to merge from two not homologous two The algorithm of a original configuration data set may include at least some of following steps.Firstly, can determine about every in data set One whether include belong to same type configuration item (be such as defined as in the ontology of Fig. 2 202 object type host, Process, virtual machine etc.) attribute value.For this purpose, in some embodiments, it can be by Property Name and the ontology for discovery service In the attribute list (for example, attribute list 205 of Fig. 2) that defines of various configuration items be compared.In some cases, attribute List can indicate identity, for example, passing through by a data source by title AttrName1 and by another data source AttrName2 identifies identical Property Name.If it is determined that two datasets include to belong to same configuration item type at least Some attribute values, then can for relevance, matching or repeatability to these<attributes: value>to checking.For example, if Two datasets all indicate that (a) cpu busy percentage of host during specified time interval is about 75%, (b) and when described Between interim from the host have sent 2500 UDP message packets, then this, which may be interpreted as data set, refers to same host Instruction, even if same host is also such using different source side identifiers.If detecting that such matching (has certain A minimum confidence level), then the single merging record of host creation can be determined as;Otherwise, it is believed that the two data sets refer to Two different hosts of generation, and produce and individually merge record.Merge in record single, from one or two data set Some subset of<attribute: value>of middle taking-up pair is combinable.For example, discardable redundancy/duplicate attribute value, in combined record In may not include certain attribute values because the information that they include can be derived from other included attribute values, or because The more accurate data source of identical data is known.According to the type of data included in data set, in some cases, May be updated it is existing merge configuration record one or more elements or attribute value (or by new attribute be added to it is existing merging match Set record), rather than generate new merging and configure record.
Merge usual can provide of configuration record 350 to provide more than the original possibility of any single original configuration data set 320 The characterization of complete configuration item.Merging configuration record 350 may include the unique device side identifier 352 for configuration item, described Unique device side identifier 352 can be with the corresponding data source that indicates in raw data set 320 in discribed embodiment Identifier is different, and can be based at least partially on the member of ontology and/or original configuration data set that configuration discovery services usually It generates.In at least some embodiments, merge the list of attribute values 354 that configuration record 350 may include planning, the planning List of attribute values 354 may not necessarily include the union for belonging to all properties value list 325 of configuration item.On the contrary, for example, closing And/the discardable certain attribute values from one or more data sources of fuzzy component are eliminated, because these values are outmoded (examples Such as, it because replaced the relatively new value for the same basic attribute that these values have been obtained from other sources, or only because collects Difference between the time of value and the time of processing costs has been more than threshold value).In some embodiments, different data sources is corresponding Trust score 315 (for example, score 315A-315K) may further be used to or alternatively be used to determine given attribute value whether will be included In merging configuration record.When two different data sources provide the initial data for corresponding to same alike result, trusting score can It can be particularly useful: in this case, can be preferential by the attribute value provided with the higher source for trusting score.Each original Data set 320 has in some embodiments for the associated timestamp for indicating when to collect data, timestamp and trust point The formula (in fact, leading to time-weighted trust score) that both numbers are taken into account can be used to select which attribute that should be included in In the list of attribute values 354 of planning.
In some embodiments, and if when the one or more in raw data set 320 gives configuration belonging to item When item is indefinite, then merging/elimination of configuration discovery service is obscured component 360 and can be identified configuration using pattern matching method ?.For example, it is contemplated that such a simple situation: both raw data set 320B and 320K report some configuration item given Approximate outbound network traffic in time interval, and data set 320B include configuration item Hostname and data set 320K Then do not include.In this trifling example scenario, merging/elimination obscures component 360 and can attempt to find included in data set In 320K with the matched attribute value of attribute value in other data sets in similar time periods.If outbound network traffic rate exists It is matched to some threshold accuracy or level of accuracy between data set 320K and 320B, then it can be assumed that the two data sets ( There is no in the case where any contradiction evidence) refer to identical configurations item.
As previously mentioned, in various embodiments, various programming interface can be used in configuration discovery service center.Fig. 4 is shown According at least some embodiments the exemplary application programming interface that service center realizes can be found in configuration.Configuration is shown Data take in four examples (for providing original configuration data set to service) of interface, and show configuration data consumption interface One example of (for obtaining the response to the inquiry for service).
In at least one embodiment, configuration discovery service 460 can provide batch importing/export application programming and connect Bulk information can be for example transmitted to by mouthful (API) 415A, the API 415A from the configuration management database 410 of client Service.In at least some embodiments, service can (for example, passing through downloading) many different agengs 412 are provided, it is described Ageng 412 is mountable at the various physics or virtual bench therefrom to obtain configuration data.Generation can be used in such act on behalf of Reason API 415B comes and communication for service.In various embodiments, at least some of agency 412 collects about particular event Data (for example, every X seconds primary, cpu busy percentage Collection Events can dispatchs at server), and therefore by acting on behalf of The data volume that API 415B is once transmitted may be relatively small compared to by export/importing API 415A transmission data volume.
In some embodiments, configuration discovery services the acceptable original configuration data from various configuration tools 414, Including for example using Simple Network Management Protocol (SNMP), Windows management regulation (WMI) or WBEM, (enterprise based on Web is managed Reason) tool.API 415C specific to tool can be implemented for such tool and configure the interaction between service discovery.? In some embodiments, customization data source 416 that general report API 415D can also be implemented for can developing and dispose (that is, It is not agency itself, data source not associated with third party's configuration tool and not being attached to client configuration management database).
Many different inquiry API 416 can be implemented for the entity of the merging configuration information of consumption discovery service.This Class entity may include other services of provider network, such as Visualization Service and/or one or more migration related service (packets Include migration market service or migration plan service), and configure the client of the provider network of discovery service.Some inquiry API The variant of the 416 available such as well-known query languages of structured query language (SQL).In one embodiment, Time configuration relevant inquiring such as can be used for by the query language towards time series of the OpenTSDB language supported.
Pattern-based grouping and role assignment
Fig. 5 shows can be played the part of in discovery service center using to automatically detect configuration item according at least some embodiments The example of the application architecture mode of the role drilled.In various embodiments, service can support inquiry with search for be used for pair Application program that configuration item is grouped, software and/or hardware configuration mode.In discribed embodiment, configuration discovery The configuration item group descriptor database 590 of service may include multiple group descriptors 510, such as 510A or 510B.Each group of description Symbol 510 may include corresponding MODE name 577 (for example, 577A or 577B), such as " three layers of weblication " or " stage by stage Split and combined application program ", and realize between an application program or the various entities of one group of related application jointly Relationship expression.
Each entity can play the part of specific logical role in programming mode, and can refer in group descriptor 510 Show the expected communication behavior showed by the entity for assigning different role.For example, group descriptor 510A defines four roles: negative Carry balancer (LB) role 511, web server role 512, apps server (Appserver) role 513 and database Server (DBserver) role 514.In the example of one group of configuration item corresponding with descriptor 510A, such as 511A-511C One or more load balancers can pass through one or more web servers of network packet and such as 512A-512N and hand over Mutually.Each web server 512 can also be interacted with one or more application program servers 513 (for example, 513A-513K), and Each apps server then can also be interacted with one of such as 514A-514J or back end database server.It is retouched in group It states in symbol 510B, role can include: be responsible for task splitter 551 that task subdivision is subtask, be responsible for subtasking 1 worker 552 of stage, the result for being responsible for 1 task of collection phase simultaneously divide result to be used for 1 result of stage that the stage 2 is analyzed Combiner 553,2 worker 554 of stage for being responsible for analysis institute's division result and acquisition phase 2 analyze the final result of result Combiner 555.The particular number of configuration item corresponding at least some roles can be different according to the difference of group example.For example, Although individual task splitter, 1 result combiner of stage and most can be instantiated in the configuration item group corresponding to descriptor 510B Terminate fruit combiner entity, but the quantity for being configured as the configuration item of 2 worker of 1 worker of stage or stage can be according to description The difference of the implementation example of symbol and it is different.
In some embodiments, it is found that the client of service can be by programming interface to service commitment descriptor 510 It indicates, and service can identify the corresponding instance for showing the configuration item of the mode indicated in descriptor.Given descriptor 510 can wrap Include the instruction of the various aspects of distributed application program, the expection interconnection topology of configuration item such as associated with application program, With the associated expected item name list (for example, process title or path) of application program and/or associated with application program A pair of of configuration item between expection communication pattern (for example, indicating certain types of request-respondent behavior or initialization/termination The exchange of the data packet of handshake procedure).Service can attempt the behavior and descriptor element phase of the various configuration items for making to observe Match, to determine configuration item just in role.For example, being received in the discribed embodiment of Fig. 5 using from various data sources The configuration data of collection, service may have determined with by merging the unique device side identifier 582A for configuring record 580A and indicating Configuration item by the particular instance of one of the group template of project team ID 586A mark (for example, four layers of weblication Example 1) in play the part of by role of the project team ID 588A indicate role (for example, Web server role).Other configurations item is (such as By merging the item for configuring record 580B and indicating) may not necessarily it play the part of with any to mould-fixed or the associated angle of group descriptor Color;In discribed embodiment, the field role of the project team ID for being used for such configuration item and project team ID can be set as It is empty.In some embodiments, the label for role of the project team ID and project team ID can be used as " label ", play the part of phase to refer to With role or show multiple configuration items of identical behavior pattern.Such label can be used to identify by the client request of discovery service Various operations operand, for example, inquiry " list in data center DC1 with label ' Web server ' all configurations " or order " there is Autonomic Migration Framework of the configuration item of label ' DB server ' to data center DC2 in the DC1 of log-on data center " Logic equivalent can be issued by client.In some embodiments, client can programmatically specify various configuration items Label, then find service such label can be used to identify more modes or group descriptor.In one embodiment, It can be used by discovery service (for example, providing mode/label by the mode and/or label of the client instruction of discovery service Client license under), for role to be grouped and assigned between the configuration item of other clients.
Automatically the network flow source obscured is detected
In many application programs, the networking intermediary of network address translation (NAT) device, port translation device etc. has When can modify network packet in such a way: for configuration data associated with the destination of these data packets Source possibly can not be immediately detected the real source of data-oriented packet.Fig. 6 shows sending out in configuration according at least some embodiments Existing service center uses source identity detection algorithm to network packet.Such source identity detection algorithm is alternatively referred to as source herein Point detection algorithm.As shown, in discribed embodiment, packet collection 622 from flow source endpoint 610 (its It was found that being represented by configuration item in service) flow destination endpoint can be sent to by one or more address obfuscation intermediaries 612 628.Address obfuscation intermediary can also be used in flow in opposite direction (for example, from endpoint 628 to endpoint 610).Destination endpoint It may have one or more disposition data sources associated there, one or more of configuration datas with both source endpoints It is responsible for for configuration data being transferred to discovery service in source.However, due to one or more intermediaries 612 execute obscure operation (for example, Encapsulation etc. in packet header change, enveloping data packet), (it corresponds to the packet collection sent to received data packet collection 623 622) identity of sender may be unclear for the one or more data sources for being attached to destination endpoint 628.From From the perspective of client (it was found that service is in order to which client uses at endpoint 610 and 628), or from obtain belong to one or From the perspective of another service (for example, migration related service) of the configuration information of two endpoints, it is found that the identity of sender can It can be important.
It was found that any one of multiple technologies can be used to identify the transmission square end of received data packet collection 623 in service Point.In at least one embodiment that the respective data sources that can issue order from service are run just at two endpoints, as A part of end-point detection algorithm can be obscured intermediary 612 from endpoint 628 to endpoint 610 by one or more and issue special number According to packet sequence 655.For example, N number of " additional " data packet that interval is exactly T milliseconds (is not one of normal application flow Point) can be issued in sequence of data packet 655 by data source associated with endpoint 628, and including the various other of endpoint 610 Data source at endpoint can actually monitor the input flow rate of the data packet of such precise intervals.Assuming that path between endpoints It is upper without networking bottleneck or problem, the data source at endpoint 610 make received extra data packet interarrival time and end It is possible that the time, which matches, between the transmission of data source at point 628, to establish packet collection 623 with reasonable high probability Sender's identity.In some embodiments, although can IP address at intermediary 612 to various data packets and/or port into Row obscures processing, but can not modify the sequence number of data packet, and can analyze the sequence number of data packet in recipient The source of data packet is identified with end-point detection algorithm with matching at the data source of sender.In one embodiment, may be used Connection dismounting request is issued from endpoint 628 to endpoint 610 and follows the sequence that request is established in connection closely, and such abnormal management is asked Modulus formula can be used to identify source data packet with end-point detection algorithm.In one embodiment, the number run at endpoint 628 It can be issued to the data source (such as another service broker) run at endpoint 610 for unique clothes according to source (such as service broker) The request of business side identifier, and unique device side identifier can be used to identify sender.No matter for detecting sender Specific endpoints detection algorithm how, after sender has been identified, in various embodiments may be updated instruction send The merging of the identity of side configures record.
Relevance scores
Fig. 7 shows can use in configuration discovery service center assigning relevance scores according at least some embodiments To the example factors of configuration item.Relevance scores may be used to determine the initial communication at least to the inquiry for configuration item, example It such as, may include having assigned higher than threshold value to the response for the general inquiry for such as " being listed in the process run on host H1 " The process of relevance scores to reduce the total size of response, and avoids noise or low information response.Although shown in Fig. 7 Particular example sexual factor is suitable for multiple processes, but can also take in various embodiments for other kinds of configuration item Similar method.
Given physics or virtualization calculation server may include hundreds of processes, including many rudimentary or background process, The process, which does not consume many resources usually and is used to (for example, under operating system grade or kernel level), executes background task Or in response to abnormal conditions.Many such processes may be present at all examples of given Edition operating system, for example, In performing environment including 50 Linux servers, one group of similar finger daemon can be run at this all 50 server. At least some consumers for configuring the data of service may be to specific to application program and therefore by default not necessarily The process appeared in the process list of each server is interested.Therefore, configuration service can be different hosts or server The repetition rate 712 of the given frequency at place considers in its relevance scores assignment algorithm 710, wherein (or several in each host Each host) at run those of process assign lower correlation.In discribed embodiment, the resource of process Use the 714, network port using 716 (for example, whether process passes through one or more networks using CPU horizontal, such as recently Port transmission or receive flow) and/or I/O device using 718 can respectively with relevance scores be positively correlated, such as, it is intended to disappear Consuming very low-level resource and/or those of disconnecting process with network can be considered as low correlation.At least one In a little embodiments, the traceable process specifically for given type of configuration discovery service (for example, from given client, Client set or all clients/consumer) inquiry (for example, for entitled " httpd " process inquiry) number Amount.Query history measurement 724 may further be used to determine the correlation of process, for example, if having in past X days by name or angle Color specifically for process inquiry, then high correlation score can be assigned to the process.
In discribed embodiment, it by the relevance scores that algorithm 710 generates can be used to that process is classified or sorted At at least two classifications: having " more interested " process of the score higher than selected threshold value in discribed embodiment 730, and " less interested " process 732 with the score for being less than or equal to threshold value.In discribed embodiment Unless given process relevant inquiring specifies all processes to be included in response, or especially request about being classified as just Otherwise more interested process list can be used to prepare inquiry and ring in the information of the ad hoc inquiry of " less interested " process It answers.In at least some embodiments, similar heuristic can be used to remove or shorten to related other kinds of configuration The response of the inquiry of item.In various embodiments, scoring component 112 shown in Fig. 1 can utilize machine learning techniques next life At relevance scores, trust score etc..
Improve configuration querying performance
It was found that many clients of service can have large-scale application execution environment, it may include and be distributed in multiple data Thousands of configuration items among the heart.Recent variation and/or application component of such client to the configuration of application component Performance or behavior recent trend it is usually interested than old configuration data.Over time, in given application journey The discovery service center of sequence performing environment collects and the total amount of the configuration data of storage may become very large, to potentially slow down Inquiry response, especially to certain traditional data models may be not optimised timeliness inquire.Fig. 8 is shown according at least one A little embodiments can be used in configuration discovery service center to improve the general introduction of the technology for the responsiveness inquired timeliness.
The original configuration data set 871 obtained by data source 802 can be used in the combining block 804 of discovery service, with Generate or update the merging configuration record 872 with timestamp, it is each merge configuration record 872 and configuration item it is one or more only One service side identifier is associated, as previously discussed.In discribed embodiment, merging configuration record 872 can be stored At the partition data repository 820 of the auto zoom of a part for forming one group of persistence discovery service repository 810.One In a implementation, each subregion may include selected the maximum amount of configuration record data (such as M gigabytes), wherein sending out The each client now serviced is initially assigned a subregion.When client configuration data close to client existing subregion When maximum partition size, it can be automatically created for client with associated resources collection (for example, the memory space and/or meter of distribution Calculate capacity) new subregion, and in some implementations, some subsets of client data can be moved to new subregion with into Row load balance.In some embodiments, the database service and/or storage service realized by provider network can be used for holding Long property repository 810.In some embodiments, persistence repository may also include appointing for the query result for being previously generated Select repository 822.Persistence repository 810 can have the average latency L1 for recording retrieval.
In the discribed embodiment of Fig. 8, at least some configuration records can be initiatively pre-loaded to for certain pre- The inquiry of phase type and in the low latency repository 850 that optimizes, as indicated by arrow 875.In various embodiments, remember Record can respectively include creation and/or newest modification time stamp.In at least some embodiments, time sequencing load can be reversed Record, for example, higher priority to be assigned to the record for preloading and updating (or creating more recently) more recently.From repository 850 The average latency L2 of access record is smaller than the waiting time L1 to the record access of repository 810.In at least some realities In existing mode, repository 850 may include being specified for for the volatile memory at the various computing devices of discovery service The part of client query is handled, the inquiry includes looking into mainly for the timeliness inquiry of configuration data recently or time series It askes.In some embodiments, the configuration data cache 852 at repository 850 can be realized inquires specifically for timeliness The data mould of (for example, " logic equivalent for listing the configuration change occurred at server S 1 and S2 in last hour ") Type, data model used in such as OpenTSDB.In at least some embodiments, it can be used for cache 852 most Large space is smaller than available space at persistence record repository, and therefore can abandon older cache as needed Entry 892 is to concede space for newer entry.In at least some embodiments, the result of some inquiries is optionally deposited Storage can be reused as needed at query result repository 822, as indicated by arrow 877.
In some embodiments, the other accumulation layer other than those accumulation layers shown in Fig. 8 can be used, for example, The cold accumulation layer in rear end can be used for having reached the configuration data of threshold value timeliness (such as one month or six months).With main persistence Data storage bank is compared, and such cold accumulation layer (cold storage layer) can have lower cost (and some In the case of using more save space-efficient data format);However, the waiting time recorded from cold memory scan may be longer.Extremely In few some embodiments, one group of programming interface (or other volume towards the time based on snapshot is can be achieved in configuration discovery service Journey interface), it enables to from the corresponding stamp at fixed time of any different accumulation layer retrieval currently in use or period Configuration record.In one embodiment, the corresponding snapshot of the different time points of client configuration data can be by discovery service certainly Dynamic ground is created and is stored as different objects on demand, this may be implemented at least some time-based configuration queryings Quick response.Snapshot corresponding to various time points can be in various embodiments on demand (or in expected need) from other Layer is loaded into cache 852.In one embodiment, the API based on snapshot may make client to can determine two Whether snapshot configuration is similar enough more useful to make, and if it is then provides this comparison result (conceptually Similar to the result of " difference (diff) " order of configuration snapshot rank).
Method for supporting configuration discovery service
Fig. 9 is to show that the various aspects for finding the operation of service center's execution can be being configured according at least some embodiments Flow chart.As shown in element 901, it may be determined that the one or more application program from client will be started in discovery service center The automatic discovery of the configuration information of performing environment.Performing environment may include at one or more provider networks (for example, in void It is quasi- to calculate service center and/or storage service at the same provider network for realizing discovery service itself and mention at other At quotient's network) and/or client possess or customer account management residency resource.For example, in response to passing through discovery service The request that is received from client of programming interface, it may be determined that start automatic discovery.For example, the service, which can disclose, starts data API is collected, this may cause the automatic discovery of agency's starting of service.For example, agency can be configured to poll API to carry out state Change.When finding the state of service change database to start to collect data, agency can receive this state and update and start to receive Collect data.
It can for example be identified disposition data source initial set (element 904) by discovery service broker, and can be (for example, logical Cross agency) network connection is established between discovery service and data source.Various data sources can be used, it may for example comprise client Existing configuration management database, third party's configuration management and/or performance management tool and/or the customization generated exclusively for client Data source.The programming interface from different classes of data sources original configuration data set can be achieved in service, including export in batches/ Introducting interface, the interface updated for event driven configuration etc..Agency can be configured to transmit data to programming interface.Example Such as, agency is programmed with the information of one or more endpoints of mark programming interface.
Service can start to collect original configuration data set (element 907) from data source.Each data set may include that certain group belongs to Property value and it is some for associated configuration item identification information (for example, pass through data source obtain identifier).Discribed It, can be for example based on being combined with source side identifier, attribute value and/or in the ontology that defines of discovery service center in embodiment The nomenclature scheme of element creates the unique device side identifiers (element 910) of various configuration items.Servicing side identifier can be with number At least some of the identifier provided according to source difference, and can be used to during its life cycle in some embodiments only One ground identifies the configuration item etc. of such as server etc, even if configuration item is physically moved, redeploys for different mesh Be also it is such.In some embodiments, the degree depending on the configuration change applied to specific configuration item, discovery service can Unique device side identifier is modified in passage at any time.Threshold condition for changing service side identifier can be according to configuration item class It is other different and different.In a kind of example scenario, for example, if memory or disk space are added to host, it can Do not change the service side unique identifier of host, but if CPU or motherboard are paged out, unique identifier can be changed.
In discribed embodiment, combinable in discovery service center from various data sources may include about difference The original configuration data set (element 913) of the configuration detail of the same basic entity of granularity, different time or the different tools of use. In some embodiments, raw data set can identify configuration item (for example, can be for corresponding former without using public identifier The same configuration item that beginning configuration data is concentrated provides different source side identifiers), and service and connect using never homologous Relevance or matching between the various attribute values of receipts detect that the configuration data that two different data are concentrated actually refers to Identical configuration item.It produces and merges one or more persistence repositories that configuration records and stores it in discovery service In.
In at least some embodiments, corresponding trust score can be associated from different data sources, and such Trust score can be used to solve the conflict between the configuration data of report, and/or optionally abandon from less credible The received some attribute values (element 916) in source.Therefore, combined planning configuration record can exclude original configuration data set middle finger Some subsets of the attribute value shown.It, can be since oldness be (for example, because certainly in addition to or instead of be excluded due to trusting score The past time is more than the threshold value selected in service center since gathering values) and exclude some attribute values.It can be for example using machine Learning art and/or client feedback carry out the adjustment of passage at any time and trust score itself.
In various embodiments, discovery service can be maintained for being grouped according to programming mode to configuration item Descriptor.If the behavior or pattern match that indicate in the behavior of configuration item and/or communication pattern and this descriptor, take Business can mark the configuration of configuration item to record (element 919) automatically with corresponding role identifiers.For example, what service center collected Configuration data (for example, mode of network data packet stream) can be enough that service is made to identify that particular server is multilayer web application journey The web server of sequence pattern, another server are apps servers of the mode etc., inform and service without client Device is just in role.
In some embodiments, merge and plan configuration record at least part can from wherein store they just Beginning persistence repository is loaded previously into the low latency repository for realizing the data model for the inquiry for being suitable for desired type In (element 922).In some embodiments, low latency repository may include (for example, realizing in volatile memory ) cache for the quick response inquired timeliness can be therefrom provided.In some embodiments, it is suitable to can be reversed the time Sequence (stabs) preloading data using the renewal time for merging record, so that preferential for the inquiry for changing more recently or measuring Change.The inquiry received by the programming interface of discovery service be may be in response to provide the content (element 925) for merging record.
For having found the Visualization Service of configuration information
Figure 10 show according at least some embodiments may be implemented in discovery service center it is collected configuration record can Exemplary system environment depending on changing service.As shown, system 1000 includes provider network 1002A and 1002B and client Premises network 1072.The service of many network-accessibles, include be similar to above described in the context in Fig. 1 to Fig. 9 that A little configuration discovery services 1004, can realize at provider network 1002A.In discribed embodiment, visualization clothes The component that business 1006 can be realized as configuration discovery service 1004, for example, to be stored in matching at discovery service 1004 for providing Set the custom graphical representations of data.In other embodiments, Visualization Service 1006 can be realized to obtain from discovery service 1004 The independent service of record must be configured.
In discribed embodiment, system 1000 includes many configuration items 1036, is included in provider network 1002A The configuration item 1036A-1036C at place, the configuration item 1036F-1036H at provider network 1002B and in customer rs premise net Configuration item 1036L-1036N at network 1072.It can be obtained at various disposition data sources (CDSrc) 1034 associated with configuration item Original configuration data set (for example, attribute value set), the various disposition data sources 1034 are such as provider network 1002A's Data source 1034A and 1034B, the data source 1034K at provider network 1002B and at customer rs premise network 1072 Data source 1034M.Original configuration data set can be transferred to configuration discovery service 1004, wherein can be as previously mentioned from original number It records and stores it in one or more repositories according to generating to merge to configure.
In discribed embodiment, Visualization Service 1006 can provide matching for complex application environment to client The context-sensitive graphical representation that the dynamic set updates.When given client logs on to visual console or otherwise sends out When sending the figured instruction for needing the application execution environment of client, the volume of discovery service is can be used in Visualization Service Journey interface issues one or more inquiries to identify one group of configuration item associated with the client of configuration data to be shown.It is giving Determine at client-side display environment in order to which the set of the configuration item 1036 of client visible information can be described as visually herein Change target environment (VTE).Given VTE may include the configuration item being distributed among multiple data centers of heterogeneous networks.For example, objective The VTE 1044A of family end C1 may include configuration item 1036B at one or more data centers of provider network 1002A and 1036C and configuration item 1036F and 1036G at one or more data centers of provider network 1002B.It is being retouched In the example drawn, the VTE 1044B of client C2 may include configuration item 1036H at provider network 1002B and in client Configuration item 1036L at premises network 1072.
In at least some embodiments, Visualization Service 1006, which can be able to detect, will show the figured of VTE The various characteristics of display environment or constraint are (for example, the screen type that can be used for showing, the responsible client-side device that display is presented Computing capability), and correspondingly adjust content to be shown.Given client can utilize several different display environments, For example, the display environment 1082A of client C1 includes the desktop computer with multiple monitors, and client C1 another Display environment 1082B may include tablet computing device.The display environment 1082C of client C2 includes having 1084 × 768 pixels 13 inches of laptop computers of screen.In some cases, multiple display environments can be used simultaneously for single client, and Information under different grain size rank can be transferred to different display environments by Visualization Service.
It is based at least partially on one group of configuration item for having been identified as a part of VTE 1044 of given client, and It is based at least partially on the constraint or characteristic of display environment, Visualization Service may be selected to show the granularity level of VTE.In client During the interactive session of end and Visualization Service, it is possible to provide each subset (or whole) of available client configuration information Multiple and different views, wherein providing specific view combination or sequence according to the purpose of the client for session.For example, one A ession for telecommunication, client may want to solve performance issue, and in another ession for telecommunication, client may want to check application The change of program configuration within a certain period of time, in third ession for telecommunication, client may want to mark network packet Source etc..Such session or workflow can respectively include corresponding graphical display or view sequence.In discribed embodiment In, Visualization Service can support the mode (can be described as " view classification ") of several different display configuration data, such as divide The view or table view of layer or the view towards tree, figure or network-oriented.In at least some embodiments, visualization Service can automatically select the particular figure classification in given ession for telecommunication for given display.The selection can be at least partly Based on being considered with the configuration data of the maximally related concrete type of the current state of session or workflow (for example, performance measurement knot Fruit, the Temporal changes of configuration, layering/inclusion relation between configuration item, is based on client specified value at network connection information Specific type configuration item ranking etc.), and/or be based at least partially on the service prediction in relation to client purpose or expection. If necessary, control element (for example, button, drop-down menu etc.) can be provided to client to select to cover view classification, For example, client is capable of emitting to change into hierarchical view from table view for view or vice versa request.It can be used to generate The data of Dynamic Customization configuration visualization 1022 (for example, visualization 1022A-1022C) and/or instruction and view to be used Classification can be transferred to the device of the display environment of client, and each Dynamic Customization configuration visualization 1022 indicates selected granularity level VTE at least part.Then it can be checked at the device of client in the data for now corresponding to VTE component.Extremely In few some embodiments, Visualization Service can concurrently start several different displays indicated of identical VTE.
In at least some embodiments, other than the figured generation of starting all or part VTE 1044, It will include high priority or high importance content in instrument board that Visualization Service, which can also provide client,.Visualization Service It can for example determine the boundary of time window, and cause the letter about at least some configuration changes occurred during time window Breath is shown in " changing recently " part of instrument board.In various embodiments, instrument board can also be used to receive about by can Client feedback depending on changing the ambiguity of service and/or discovery service identifiers, as further detailed below.At least In some embodiments, can also client-based display environment constraint and ability modify the layout and displaying of instrument board.
When collecting new configuration information at discovery service 1004, Visualization Service can be automatically updated and be supplied to client The graphical representation at end.Many interactive controls use in visualization interface for client, such as become at any time for resetting The sliding block of the configuration information of change, as discussed in further detail below.
View conversion based on context
In various embodiments, Visualization Service can be expected that the client operation stream for checking configuration data Step, and adjust shown content automatically to provide the most useful view.Figure 11 is shown according at least some embodiments Can be by the exemplary conversion based on context between view that Visualization Service is realized automatically.Show three exemplary views Figure classification: table view 1120A, tree or hierarchical view 1120B and figure or network view 1120C.In some cases, Show that about same group of configuration item (such as configuration item 1102A-1102F) be possible using some or all of view classifications.
In discribed embodiment, Visualization Service can select particular figure class to be used based on various factors Not, for example, being based on configuration data to be shown based on expected next by the moment of the Mutual Workflow of client typing Type, be selected for the granularity etc. of display.In various embodiments, it can be used to select the configuration data of view classification The example of type is in addition to other business can include: performance measurements, transaction flow, configuration time sexually revise, such as effectively The network connection indicator of the quantity of connection, comprising in/hierarchical relational information, the location-based grouping of configuration item, such as Fig. 5 Membership qualification etc. in those of shown programming mode.In at least some embodiments, client can cover such The conversion 1105 (for example, conversion 1105A-1105C) based on workflow context is automated, for example, institute can be provided for client The link of the graphical interfaces used or other control elements are to request to change the view classification for being used for shown data.
In at least some embodiments, Visualization Service can safeguard the knowledge base of common client operation stream, wherein often A workflow expression is usually supplied to client in the ession for telecommunication with Visualization Service to realize the phase of the target of client Answer display sequence.For example, such workflow, which can begin at client, logs in visual console, and it is provided selected The table view of the configuration item (such as the All hosts of client application) of type.It, can be for not in table view Same host provides the value of each attribute (for example, during Hostname, IP address, current run time, recent time interval Averaging network bandwidth consumed during average CPU utilization, recent time interval etc.).It in one implementation, can be such as The specific configuration item type that instruction will be initially presented in a tabular form after client login in the preference setting of client. If client is not the specified preference of display after initial log, in one embodiment, Visualization Service be can attempt to The layered configuration item type relevant maximum or most inclusive to the visualization target environment of client is found (for example, wherein It distributed the data center of client resource, the network subnet that client uses, be similar to programming mode shown in Fig. 5 Example or host), and list the configuration item of the type.
Can based on client with first display interaction (it can be interpreted purpose of the client in workflow Instruction, for example, based on the matching with previously used workflow) select the view classification of next display for workflow. If the first display includes host information table, and client request is based on network bandwidth and is divided using measurement host Class, for example, service assume that client wishes to check network connection information in next display.Therefore, it next can show The network view of host selected by showing one group, thus the connection for indicating the network path between such as host, being opened between host Etc..Assuming that client wishes to check the configuration item for including, if the first display includes such as used vessel or data center The list of tiered container, and client clicks one of container, then can choose layering or tree view classification to be used for down One display.In various embodiments, automatic view classification is selected it is contemplated that in addition to by configuration data to be shown Type and with a number of factors except the matching of previously used workflow: for example, workflow the given stage can get The total number of the targeted client configuration item of information, client display environment expection size (for example, being single with pixel Position) etc. may influence category view selection.For example, if the application program of client uses 1,000 hosts, and it is intelligent Phone is detected as the display environment of client, then the layering that can provide host or general schematic view are (for example, based on data center Position, or it is based on subnet membership qualification) rather than the table view of all 1,000 hosts.In one embodiment, client End can request to save the record of the interaction of they and Visualization Service, and (it may include to automatic view class in some cases The client determined covering is not selected), and this customization record can be used for selecting view classification in subsequent session.
Exemplary visual interface assembly
As previously mentioned, Visualization Service can provide at least part of figure of one or more application program execution enviroment Shape view and instrument board.Figure 12 shows showing for the graphic user interface of the Visualization Service according at least some embodiments Example property element.As shown, in the illustrated embodiment, visualization interface 1202 can show the one of visualization target environment 1205 Part or all of and instrument board 1270.In some embodiments, graphic user interface can be rendered as a part of browser, And in other embodiments, independent tool can be used.
The part VTE 1205 can show multiple location-based groupings of configuration item.In the illustrated case, about mentioning The information of the configuration item found at the data center 1230 possessed for quotient's network 1220 and client is included in the part VTE.Extremely In few some embodiments, provider network can be organized into multiple geographic areas, and each region may include one or Multiple availability containers, the availability container can also be referred to as " availability area ".Availability container may include one again Or part or all in multiple and different positions or data center, the position or data center design (example in a certain way Such as, there is independent infrastructure component, such as electric power relevant device, cooling equipment or physical security component) so that given can With the resource in property container and the Fault Isolation in other availability containers.It can not it is expected that the failure in an availability container is led Cause the failure in any other availability container;Therefore, the availability overview for giving resource is intended to hold independently of different availabilities The availability overview of resource in device.Therefore can by start in corresponding availability container multiple Application Instances come Various types of services and/or application program are protected in order to avoid breaking down at single location.For at least some provider's nets Network client, it may be useful for providing the visual representation of distribution of the resource for distributing to client in different availability containers.? In the discribed situation of Figure 12, the virtual machine for distributing to client is distributed at least two availability containers.Virtual machine (VM) 1222A and 1222B is run in the availability container 1210A of provider network 1220, and VM 1222K and 1222L can second With being run in property container 1210B.
For example, based on about position details difference license, by Visualization Service about provider network show based on The group of position there may come a time when different from the group shown about customer rs premise network.Although for example, by virtual machine 1222 be shown as by The grouping of availability container, but the resource shown in the data center 1230 possessed by computer room and server rack client carries out Grouping.The computer room 1214 of data center 1230 includes two the racks 1232A and 1232B of the VTE of client.Rack 1232A includes Two servers 1234A and 1234B, and rack 1232B includes server 1234C.It can also be shown between configuration item and establish Network connection-be connected to VM for example, VM 1222A is shown connected to server 1234A and VM 1222K, VM 1222B 1222L and server 1234K etc..It can total number, display environment property etc. by virtualization services for example based on configuration item Etc. the granularity for automatically selecting location-based grouping.It at least one embodiment, can be from including such as provider network Availability Vessel Boundary, data center boundary, rack boundary, computer room boundary, network interconnection topology boundary, physical machine boundary, Automatic (not receiving the clear request done so) is included in specific by selection in the set on process container boundary or virtual machine boundary Location-based boundary classification in graphical representation.For example, can be supported at single hardware host and each application being isolated The corresponding multiple process containers of procedure set, and certain view Visualization Services can be provided with container in server Graphical representation.
In discribed embodiment, instrument board 1270 may include two kinds of information: configuration variation is (in portion recently Divide in 1271 and shown in selected time window), and eliminate blurred portions 1272.It, can in discribed embodiment To carry out ranking (for example, the correlation based on type discussed above point to the configuration variation occurred in recent time window Number and/or be based on other factors) and in part 1271 in order or ranking shows the configuration variation.This may make client End can fast understanding its application execution environment how to change.
In some embodiments, configuration discovery service can use visualization interface to obtain client feedback to help In confirmation or solve the problems, such as identity about configuration item.If it is determined that start the identity of specific configuration item based on client The elimination of feedback is fuzzy, then the fuzzy request of elimination can be shown in the part 1272 at interface.For example, request can be true with request Recognize the symbol (for example, question mark or text annotation) of proposed identity indicate the proposition of configuration item identity and/or one or Multiple attribute values.Client can feed back (for example, check mark) by typing to confirm identity, or provide alternate identifier or Title.In discribed embodiment, if solving fuzzy identity with the help of the feedback of client, discovery is configured Service can update (or labeled as have verified that) its configuration and record, and can remove that elimination is fuzzy to request from part 1272.
In some embodiments, Visualization Service can be enabled a client to check and be identified with configuration discovery service The associated details of various types of affairs (for example, waiting time).Figure 13 show according at least some embodiments can The example of the affair related information shown by means of Visualization Service.As shown, visualization interface 1302 may include " showing Affairs " control element 1350 (for example, button) and the scaling for enabling a client to increase or reduce the granularity of display information Control element 1349.Zoom control element 1349 can be used for for example reaching a certain granularity level, be shown with the granularity level Individual virtual machine 1322 (in provider network 1320) and server 1334 (in the data center 1330 that client possesses).When When client clicks " showing affairs " button, display may be updated to show region 1370A and 1370B.Region 1370A is shown By to 12500 affairs, (wherein the definition of affairs can be services selection during some period (being in this example 100 seconds) Or client selection) the rack 1332A in the room 1314 of data center that possesses from client of request from server 1334B It is transferred to the virtual machine 1322K of the availability container 1310B of provider network 1320.Average throughput is 12.5 things per second Business, and average transaction waiting time or response time are 500 milliseconds.Similarly, region 1370B is shown from server 1334K is submitted to counting, handling capacity and the waiting time of the affairs of virtual machine 1322B.
In discribed embodiment, transaction list 1385 recently may include in display.For with visualization mesh The more associated affairs recently of current display portion of environment are marked, such as submitter's configuration item 1387 is (for example, start thing from it The process or host of business) identifier, respondent 1388, submission time stab 1389, transaction commands/request details 1390, and The details of deadline and state (for example, progress/suspension) 1391.Client can be able to use visualization interface based on selected Attribute classifies to affairs recently, and request shows the affairs of selected period, and/or check about affairs sender or The additional detail of transaction response person.In some embodiments, client can submit transaction descriptor (example by Visualization Service Such as, designation date packet stream sequence, transactions requests and format of response etc.) so that configuration discovery service can be sent out in affairs Affairs are monitored when raw.In other embodiments, discovery service can be able to detect frequent in the communication between various configuration items Request/response mode, and these modes can be used to define affairs.
Figure 14 shows related according to the network flow that can be shown by means of Visualization Service of at least some embodiments The example of information.As previously mentioned, situation there may come a time when it is that network flow path may include such as address translator or port turn The obfuscator of parallel operation, the obfuscator make it more difficult to detect the real source for sending one or more data packets.It is being retouched In the embodiment drawn, Visualization Service can provide control element (such as control element 1448) and be matched with showing about selected Set the statistics of the quantity of received network packet at item (for example, virtual machine 1422A).In the example scenario shown in, area Domain 1470 indicates in time intervals selected by some, in the virtual machine of availability container 1410A and provider network 1420 4500 data packets in total are received at 1422A.
The control element 1450 for being denoted as " showing traffic sources " can be used for mentioning by Visualization Service to configuration discovery service It hands over and inquiry is detected to the source of the data packet received.In response, discovery service can be used in several source identity detection algorithms Those of any one, discussed such as in the context of Fig. 6, data packet may be transferred to by obscuring intermediary with concluding The possibility identity of the configuration item of virtual machine 1422A.Algorithm may include for example sending multiple connections with abnormal patterns to establish and remove Request, monitors sequence number etc. at the close tracking data Inter-arrival Time time and time matches between transmission by them.? In discribed example, as indicated by region 1471A and 1471B, server 1434A is identified as by configuration discovery service 500 possible sources in 4500 data packets, and by server 1434K be identified as remaining 4000 data packets can The source of energy.Note that the source mark of some data packets may be not necessarily required to call various identity detection algorithms discussed here: no Source by obscuring the data packet of intermediary can simply be obtained from its packet header by configuration discovery service.
In some embodiments, visualization interface may include the data packet list area 1485 received recently, in institute Such as receiving time stamp 1487, apparent sender's IP address 1488, recipient's IP address 1489, number can be shown by stating in region 1485 According to packet size 1490 and/or the details of sequence number 1491.Client can by visualization interface provide control according to need Recently the content of the data packet list area 1485 received is classified and/or is rearranged.
Figure 15 is shown according at least some embodiments using sliding block control element to be obtained by means of Visualization Service The visual example changed over time that must be configured.Sliding block control element 1571 aloows client to check that it can Depending on changing target environment in the state of various time points.In the illustrated case, visualization interface 1502A shows the mesh of client Marking environment includes five configuration items (the availability container of provider network 1520 lighted the time indicated from element 1574A CI 1522K and 1522L at CI 1522A and 1522B, availability container 1510B and external data center at 1510A CI 1522P at 1533).
(such as arrow when for example making sliding block move right using mouse or finger tip depending on display environment used in client Indicated by first 1551), the time shown in element 1574A can advance, and configuration item shown in interface may change. For example, in the time for corresponding to element 1574B, interface 1502B shows the target that two new configuration items are added to client Environment.Configuration item 1522R is added to availability container 1510B, and configuration item 1522S is added in external data The heart.In at least some implementations, (for example, temporarily showing in different colors) newly added configuration item can be highlighted, such as Indicated by arrow 1555.In some embodiments, the interaction in addition to sliding block can be provided for time-based configuration display Formula control (for example, radio button or skip forward/back control).The interface can also be provided associated with timeliness inquiry Extra controls, for example, so as to enable a client to capture its visualize target environment the machine of the state of various time points can Snapshot is read, only to show configuration variance at the specified time point, so as to the variation etc. for drawing timeline.In various embodiment party In case, the sliding block 1571 of visualization interface and other controls towards the time can be dependent on discovery service based on snapshot and/or Other API (above the context of Fig. 8 discussed in) towards the time.
In some embodiments, Visualization Service, which can provide, allows client by application component from a data The heart or provider network move to the mechanism of another data center or provider network.Figure 16 is shown according at least some embodiment party The example migrated stage by stage for starting application execution environment using Visualization Service of case.In discribed situation, Indicating label, the label it can indicate what the various configuration items in programming mode were played the part of in visualization interface 1602A Role.For example, the interactive mode between client-based configuration item, configuration discovery service may identify multilayer web Application program.The configuration item 1622Q run at external data center 1633 may have been identified as multilayer weblication Web server, and configuration item 1622R may have been identified as the database server of multilayer weblication.It may divide Not Wei configuration item 1622Q and 1622R generate label 1674A and 1674B.
In discribed embodiment, for example it may generate and stage by stage will in migration plan and realization service center Plan of the assembly transfer of multilayer weblication to provider network 1620.Each stage of migration can be related to that spy will be played the part of The configuration item for determining role's (for example, " web server " or " database server ") is transformed into provider network.Control can be used 1633A (being directed to database server) and 1633B (being directed to web server) checks the migration plan details of each role.It can mention For control element 1675 so that client can start the migration stage by stage of configuration item associated with specific label.
In discribed embodiment, and if when client request migration is marked with the mark for database server The configuration item of will " DB ", then corresponding requests programmatically can be transferred to hair by Visualization Service in discribed embodiment Now service and/or migrate the service of realization.The one of stage migration has been used as in the database server corresponding to configuration item 1622R Part is transformed into after the availability container 1610B of provider network 1620, and the view of client may be updated to show migration Configuration item (is denoted as 1674C), as shown in the 1602B of interface.
In at least some embodiments, Visualization Service can also be supported can be about the property before and after migration progress The interface that can compare.For example, the baseline view of the application program capacity before migration is (for example, when handling capacity, transaction latency Between/response time etc.) can be shown in region 1646, and performance statistics can show in region 1647 after corresponding migration Out.If rear performance statistics are unsatisfactory, client can start reversed migration (for example, showing discribed as needed Database server is moved back into external data center in example).
In one embodiment, visualization interface can directly be specified and the configuration in application program by client use The associated label of various roles that item is played the part of.For example, " addition label " control can be provided for client to define new label Or keep existing label associated with selected configuration item by interface.Over time, tag library, and client can be accumulated Visualization interface can be used to examine available label, issue the label request of the existing label about library, or is new to library addition Label.In fact, this control provided by Visualization Service can be used to service about programming mode discovery for client It carries out " introduction ".Keep such as web server label associated with one or more configuration items using Visualization Service in client Later, discovery service can monitor the behavior (for example, mode with the network interaction of other configurations item) of tag entry.It was found that service can Can be generated and be inspired based on the behavior observed, can be used for mark/label identical with the example that client provides come Other configurations item is automatically marked, is done so without client clear request.For example, being answered in client in realization multilayer web After some examples for providing web server or database server in the environment of program architecture, discovery service can Oneself mark realizes other web servers and/or database server in other environment of similar application architecture, and And correspondingly show the label automatically generated.
Method for supporting configuration data Visualization Service
Figure 17 is to show can be executed by Visualization Service to provide the figure of configuration record according at least some embodiments The flow chart of the various aspects for the operation that shape indicates.As shown in element 1701, for example, when client logs in visualization tool or control When platform processed, or when client issues visualization request by programming interface, it may be determined that will provide with one of client or The graphical representation of multiple associated configuration informations of application execution environment.Application execution environment may include being distributed in one Resource in a or multiple data centers.Some in data center may be a part of corresponding provider network, and data Other in center are likely located at the guard station that client possesses.Use the one of the repository of the merging configuration record for discovery service A or multiple queries, Visualization Service can identify the specific visualization target environment of one or more that will show its information (element 1704).In some embodiments, Visualization Service can be found outside service in configuration, and in other embodiments In, Visualization Service can form a part of configuration discovery service.In some cases, Visualization Service (or discovery service) Given clients' accounts may have from the account associated several different application execution environments, and can check One group of specific configuration item may be different from a client-side display environment to another client-side display environment.For example, from position In the work station in client office, can execute by visualization rather than from the application program of tablet computer access client The larger subset of environment.In at least some embodiments, identity and access information management can be used for determination and can provide its display Configuration item type.
Visualization Service can identify the various characteristics of client-side display environment (for example, operating using client-side device The API that system is supported) (element 1707).Characteristic may include available screen quantity and size, graphical representation will be provided where Client-side device computing capability, can be used for servicing the network bandwidth of communication etc. between client terminal device.It is based on It can be used for visualizing the amount of configuration data of target environment and/or the characteristic based on display environment, can be made at Visualization Service About some decisions that will be the initial graphics expression that client generates.These decisions may include that selection will show configuration information Granularity (for example, data center's rank, availability container rank, computer room rank, server rank etc. assemble) and will make View classification (for example, table view, figure/network view or tree-shaped/hierarchical view) (element 1710).
In at least some embodiments, it may be determined that will for example use the dashboard section of visualization interface highlighted Configuration variation about time window (element 1713).It can start at client-side display environment using selected granularity and view The dynamic of the visualization target environment of figure classification updates display (element 1716).When new configuration data becomes to obtain from discovery service When obtaining, or in response to the request that client programmatically issues, display (element 1719) can be updated.In an embodiment party In case, sometimes it is considered that the characteristic of client-side display environment is not enough to show the information of client request.For example, available Screen space may be too small and can not show the level of detail of client request or the available network bandwidth of client terminal device can Can be too small and the requested data volume of interior transmission can not be measured at a reasonable time.In some such situations, for example, based on it is logical It crosses current client-side display environment and realizes the estimation that the associated resource of visualization request uses, Visualization Service can transmit Recommend to be asked using off-line tools (or from currently used different client-side display environments) to show in visualization request The information asked.
Migrate market service
As being previously mentioned in the context of Fig. 1, in some embodiments, provider network can realize one or more Relevant service is migrated, wherein high level goal is enabled the customer to as needed by application program or application component from one Group physics or virtual platform are transferred to another group of physics or virtual platform, for example, to help to reduce cost, improve application program Availability or elasticity, streamlining management etc..As discussed before, it is relevant that the information that discovery service is collected potentially contributes to make migration It determines.However, partially due to many dependences between the component of complex application storehouse, by application program from an environment The process for being converted to another environment there may come a time when that benefiting from the profession that possibly can not be obtained in application program owner organizes knows Know.In some embodiments, the provider network where configuration discovery service operation can be by realizing that migration market service is filled Intermediary between migration promoter or expert and application program owner.Can help to plan and/or realize application program or Application component is from one group of execution platform to another group of execution platform, the data center such as possessed from client to provider's net Network can be referred to as migration rush from a provider network to the commercial entity of the migration of another provider network herein Into person or migration practitioner.If one group of target execution platform of migration promoter and operation (application program will be migrated to) Entity it is different and different from the entity that its application program is migrated, then migrating promoter can be described as third party's migration promotion Person.At least some migration promoters may not be named as third party-for example, in some embodiments, as will to its/ A part one of (or be attached to the provider network) of one of the provider network for executing migration from it is special Industry service or consultative and advisory body also can use role of the migration market service as migration promoter.In high level, city is migrated Field service can enable application program owner understand the potential affiliate that can contribute to complex application migration task, And migration promoter can be enable to find client.In various embodiments, migration promoter may include tool offer Person's (for example, exploitation uses the independent software vendor or ISV to realize the Migration tools of application program migration for client), It can be used for practically planning and realizing migration rather than the technical specialist of tool, professional service organizations, provider's net be so provided The affiliate etc. of network operator.
Figure 18, which is shown, finds the data that service center collects using in configuration according to the achievable of at least some embodiments Migrate the exemplary system environment of market service.As shown, system 1800 includes provider network 1802, in the provider The service of multiple network-accessibles is realized at network 1802.The service is held including virtualizing the service of calculating 1810, being packaged program Row service 1812, one or more storage devices or database service 1814, configuration discovery service 1804, migration market service 1806 and migration plan and realize service 1808.In discribed embodiment, one group of programming is may be implemented in each service Interface, the programming interface can be used for servicing the interaction between its client, and can also be used to service in some cases Between interaction.It can be used for obtaining with virtualization calculating 1810 associated VCS programming interface 1844 of service, use and discharge virtual Machine.The PES interface 1845 for being packaged program execution service 1812 can be used for submitting the request for executing program, without bright to requestor True ground distribution server, and the result for receiving program execution.SDS programming interface 1846 can be used for storing and accessing with respectively The kind associated data set of application program.As discussed before, the CDS programming interface 1841 of discovery service 1804 can be used for starting and match The automatic discovery of confidence breath, and check the result found automatically.Migration plan and the MPIS interface 1843 of realization service 1808 can For generating detailed migration plan and executive plan.
In discribed embodiment, migration market service 1806 can utilize some in other services shown in Figure 18 Or all.The MMS programming interface 1842 of migration market service can potentially migrate client by the entity utilization-of at least two types Hold 1834 (for example, the owners for the application program that can be migrated) and migration promoter 1836.According to an embodiment, client It end 1834 can be to migration market service transmission request, so that one or more migration promoters can at least access and client Some subset of the associated configuration information of application program.The configuration information that access permission is awarded can be for example stored in discovery It services in the merging configuration record for the repository safeguarded at 1804.As discussed before, the given application program of client 1834 is held Row environment may include the configuration item being distributed in multiple platforms or resource, it may for example comprise some outside provider network 1802 Resource and/or some resources in provider network 1802.In some embodiments, client 1834 can request inciting somebody to action Configuration detail is supplied to that migration promoter obscures before or at least some of anonymization configuration detail-is that is, allow Promoter accesses some aspects of configuration information and is not supplied with complete details.In some cases, client can only permit Perhaps one group of specified migration promoter checks configuration information, and in other embodiments, via migration market service note Access permission can be awarded in any migration promoter of volume or approval.In response to the shared configuration set of records ends to client The client request of access, migration market service 1806 can start the modification of one or more security settings to configuration record (for example, in the metadata safeguarded by migration market service itself, or in the metadata of discovery service 1804).
In discribed embodiment, migration market service 1806 can be promoted by MMS programming interface 1842 from migration Person receives corresponding group membership request.In at least some embodiments, migration market service can will migrate promoter's note Volume is that the authorization member in market starts one group of proving program (for example, to verify the identity of promoter and business contexts) before.
In discribed embodiment, the migration promoter of registration can transmit migration candidate matching by interface 1842 Request 1837.This request may include for example to the description of the professional knowledge of promoter or ability (for example, promoter goes over help The type of the application heap migrated) and/or the type of migration client that prefers of promoter characteristic (for example, The minimum or largest amount of application execution environment to be migrated, the geographical location of application execution environment to be migrated or migration Destination environment etc.).The configuration information that access has been awarded in usable migration promoter is generated at service 1806 to migration time The response of the person's of choosing matching request 1837, the migration candidate matching request 1837 are identified from the client of discovery service 1804 One or more potential customers of promoter.In some embodiments being discussed in further detail below, market service is migrated For the algorithm of 1806 executable service creations to find matched client, and in other embodiments, promoter can supply it certainly Oneself executable code module is to find potential customers, and the code of promoter's supply can execute clothes in the program being packaged in advance It is engaged in running at 1812 or certain other platforms.
Migration promoter 1836 can check the provided information about the potential migration candidate provided by service 1806, and And migration is suggested via interface 1842 to submit to service 1806.The suggestion can describe promoter and be ready each of the assistance provided A aspect, including for example for migrating application execution environment specified subset or whole preliminary cost estimate, it is preliminary when Between table or realize a plan.In some embodiments, if migration promoter is to provide the stand alone software supply of Migration tools Quotient rather than interested technical specialist is migrated to practical realize, then (it can be answered by client for migrating it the tool With program) title may include in suggestion.Then, service 1806 can be passed the expression for suggesting 1837 by programming interface 1842 It is defeated to migrate client 1834 to potential.In some embodiments, service 1806 can receive for identical potential migration visitor Many suggestions of the given application program environment at family end 1834, each of described suggestion can programmatically be supplied to visitor Family end.
If one of discovery suggestion of client 1834 is acceptable and wants to proceed with detailed migration meter It draws and/or realizes, then in some embodiments, approval message can be transferred to migration market service by interface 1842. In response to this approval message, in one embodiment, migration market service can start-up operation with for example by seamlessly and Further migration interaction is programmatically transmitted to MPIS interface 1842 and client 1834 is made to be able to carry out migration plan/reality The now workflow of service 1808.Therefore, at least some embodiments, migration market service 1806 may be not necessarily responsible for moving The specific plans of shifting and practical realization;On the contrary, the dominant role of migration market service 1806 may include starting to plan and holding Potential migration client is served as before the detailed operation of row migration and migrates the trusted information conduit between promoter.? In other embodiments, migration market service can be responsible for the realization for at least some aspects for planning and/or coordinating migration.It should infuse Meaning, in some embodiments, the Visualization Service discussed in the context of Figure 10 to Figure 17 herein can also be with migration cities Field service 1806 and/or migration plan/realization service 1808 are used together.In such embodiment, Visualization Service can be mentioned For one group of unified seamless graphic interface, the graphic interface can be used for checking application execution environment configuration data, identify For the potential promoter of application program migration, and plan and realize as needed this kind of migration.
It is interacted with the programming of migration market service
The exemplary program that Figure 19 is shown between client and migration market service according at least some embodiments is handed over Mutually.As shown, client 1920 can be mentioned by programming interface to one or more computing devices of migration market service 1922 Hand over discovery data access entitlement request 1925.It was found that data access entitlement request 1925 may include such as matching corresponding to client Set the one group of application environment identifier 1928, one or more security constraints 1931 and/or promoter's list of set of records ends 1934.Promoter's list 1934 can indicate when needed that the one or more of the configuration information to its open client 1920 is special Determine promoter, or can indicate that configuration information can be provided to the promoter of any registration/authorization.Security constraint 1931 can indicate It is no that any restrictions are applied (for example, may prefer to will not be in individual configuration item ranks for client to revealed configuration data The details of certain form of configuration item is shown, although can reveal that aggregation information), which aspect (if there is) of configuration information is wanted It is anonymous or obscure etc..
It is based at least partially on the content of request 1925, migration market service 1922 can be for example in market metadata repository 1955 and/or configuration discovery service 1957 at modification with the configuration of client record associated security setting.Programming can be passed through Instruction has been applied the confirmation message 1975 of requested access permission variation to be transferred to client 1920 by interface.
Figure 20, which shows the migration promoter according at least some embodiments and migrates first group between market service, to be shown Example property programming interaction.In discribed embodiment, migration promoter 2020 can by programming interface to migration market service 2022 submit migration candidate ID inquiring 2025.Inquiry 2025 may include promoter's ability 2028 corresponding descriptor (for example, Promoter be interested in for its migration provides assistance application program type) and candidate preference 2031 (for example, promoter wishes Minimum and/or maximum application program the configuration size, preferred geographic area or position from the point of view of promoter for assisting it to migrate Set etc.).
2025 are inquired in response to candidate identification, can be prepared at migration market service 2022 for being serviced from configuration discovery Database 2040 retrieves the filter specification 2037 of matched configuration data.In some embodiments, configuration data Anonymizer 2034 may participate in the preparation of filter specification 2037, so that only retrieving potential migration client passes through the context in Figure 19 The subset for the configuration data that the access mandate request of the type of middle discussion is granted access.In various embodiments, it can be used Criterion (for example, being provided by potential migration client, or being generated by migration market service based on inspiration) is obscured to prepare to filter Device configures safety or confidentiality to avoid client is destroyed.In one embodiment, it is advised instead of or in addition to generate filter Except model, configuration data Anonymizer 2034 can handle the configuration data from discovery service data library searching, latent to ensure not violate Migration client instruction any security constraint.
The application journey to match with the ability and preference of migration promoter 2020 can will be indicated by the programming interface of service The alternative circumstances list 2046 of the planning of sequence performing environment and/or client is transferred to promoter.Promoter then can be to service 2022 lists 2049 for submitting migration to suggest, correspond in list 2046 some in the alternative circumstances and client that indicate or All.Then, in discribed embodiment, migration can be suggested 2051 by the programming interface of service by migration market service The expression of (for example, 2051A and 2051B) is transferred to client 2080 (for example, 2080A or 2080B) appropriate.Discribed In embodiment, it is proposed that at least some of 2051 may include the preliminary cost estimate 2054 made great efforts for proposed migration The corresponding instruction of (for example, 2054A or 2054B).In one embodiment, it is proposed that 2051 can with or alternatively include migration Timetable estimation, or indicate the feedback record of the early stage realized by promoter associated with proposal migration (for example, commenting on or commenting Grade/rank score).
Figure 21, which shows the migration promoter according at least some embodiments and migrates second group between market service, to be shown Example property programming interaction.Main difference between Figure 21 and Figure 20 is in the situation shown in Figure 21 that migration promoter can transmit It can be performed to identify the executable program code module of the migration candidate to match with the requirement of promoter, rather than according to Lai Yu migrates the matching algorithm that market service uses service creation.This method can for example enable migrate promoter reduce about It must provide to the ability of the promoter of market service or the details amount of constraint, and it is quasi- also to reduce market service exploitation The burden of true and efficient matching algorithm.
In the embodiment shown in Figure 21, it includes executable that migration promoter 2120 submits to migration market service 2122 Candidate matching algorithm code module 2128 instruction migration candidate ID inquiring 2125.In some implementations, Inquiry 2125 may include running certain instruction for executing platform or service of candidate matching code module 2128 on it.Clothes Code 2128 is transferred to selected execute and services 2175 (for example, packing program execution services 1812 of Figure 18) by business 2122.Make It may have the advantage that may be not necessarily migration promoter allocates resource in advance with program execution service is packaged;On the contrary, being packaged Program execution service can simply find available execution platform from platform pond, run module on the platform and provide and hold Row result.Migration promoter may only be responsible for being actually used in the computing resource of execution module.In some cases, other can be used Platform is executed, the virtualization of such as provider network calculates the virtual machine of service.
Execution as matching algorithm code as a result, filter specification 2178 can be transferred to configuration discovery service, and And one group of matched candidate configuration surroundings 2181 can be correspondingly generated.Candidate configuration surroundings can be used to produce for matching algorithm code The raw migration suggestion lists 2183 for being transferred to migration market service.It then, can be by of list in discribed embodiment Not Jian Yi 2184 (for example, 2184A or 2184B) be transferred to client 2180 (for example, 2180 or 2180B) appropriate.
Market metadata
Figure 22 shows being storable at the metadata repository of migration market service according at least some embodiments The example of entry.As shown, Metadata Repository 2205 may include at least two category informations: migration promoter record 2231 and hair Existing service client record 2251.
Migration promoter record 2231 may include such as descriptor of promoter's ability 2233 or professional knowledge (for example, promoting Into person to the type of the experienced application heap promoter of its transport).In various embodiments, record 2231 may be used also Including promoter about make to migrate candidate be suitable for promoter characteristic preference or require 2235 (for example, before migration or moving The geographical distribution of configuration item, the tolerance interval of application environment to be migrated or preferred size or promoter's is excellent after shifting Select geographic area or operating position).In at least one embodiment, record 2231 may also include feedback 2237 or instruction promotes The certificate for the assessment that the early stage of person assists.In some embodiments, feedback may include grading or ranking (for example, 1 and 5 it Between star number, wherein the 1 bad grading of instruction, and the 5 outstanding gradings of instruction) and text reviews.In discribed embodiment In, record 2231 may also include migration suggest history 2239 (one or more suggestions that instruction was generated by promoter in the past) and Indicate the suggestion conversion history 2241 of the subset for the suggestion that client receives.
It was found that service client record 2251 may include configuration data access mandate 2253 corresponding with various clients. In addition, at least one embodiment, can also safeguard the entry 2255 of the migration history of instruction client.It should be noted that In some embodiments, at least some of element species shown in Figure 22 may be not necessarily stored in migration market service Place.
Market service interface based on Web
Figure 23 shows the exemplary boundary based on web that can be realized by migration market service according at least some embodiments Face.As shown, interface includes webpage 2302, webpage 2302 includes message region 2310, corresponding to the migration registered accordingly The some advertising areas 2315 (for example, 2315A-2315D) and interactive controls (for example, button or web-link) of promoter 2325,2327 and 2329.
Message region 2302 can be closed to the client informing of migration market service by the link indicated in advertisement In the additional information of various migration promoters.Each of advertisement can indicate that specific promoter is ready the application program heap assisted Stack-is for example, rush in application heap 2322A, the advertising area 2315B that the promoter F1 in advertising area 2315A is supported The application heap 2322B etc. supported into person F2.In some embodiments, for ranking/ratings feedback of promoter 2324 and example pricing information 2325 also may include in advertisement.
Client can obtain instruction migration application program (for example, gathering around from client by the button control 2325 of webpage 2302 Some data centers are to provider network) benefit case study.It can be accessed by button control 2327 about configuration item The additional information (for example, white paper or online guide) of automatic discovery and/or migration plan.In discribed embodiment, Recommendation of the registration of control 2329 about migration promoter can be used in client.In various embodiments, client can be used and move The interface of market service is moved to submit the request assisted to migration.For example, in some embodiments, provider network is not yet Begin to use discovery to service but market may can be passed through to the migration interested client of its application program in some time in the future The programming interface transmission of service is requested to start the automatic discovery of configuration item.In response to such request, migrating market service can In order to which client call configures the programming interface of discovery service, so that can start from number associated with the application program of client According to retrieval of configuration information in source.Collected information can be later used to match client with migration promoter appropriate. In at least one embodiment, being represented can take in the client that configuration data is collected by discovery service center to migration market Business submits migration to assist request.Migrating market service can client-based configuration data and the metadata about promoter's storage (for example, in repository 2205 of Figure 22) executes the matching algorithm of their own, and provides promoter to client and recommend.
Method for supporting migration market
Figure 24 is the various aspects for showing the operation that can be executed at migration market service according at least some embodiments Flow chart.As shown in element 2401, can receive at the migration market service of provider network, which enables to migrate promoter, is visited Ask the request of the configuration record of the application environment of client.It may be from being attached to foregoing configuration discovery service Various data sources have collected configuration record.Security metadata (the element of the configuration set of records ends of client can correspondingly be modified 2404).As previously mentioned, in some cases, security setting can be modified in discovery service center, and in other embodiments, it can To safeguard security metadata by migration market service itself.
Migration candidate identity request or inquiry (element 2407) can be received from migration promoter at market service.It can incite somebody to action It is client-based license authorize and/or data obfuscation requirement and limit from discovery service data library searching configuration data mistake Filter specification or inquiry are transferred to discovery service (element 2410).In some embodiments, migration market service can be transmitted across Filter specification or inquiry.In other embodiments, can be promoted by migration for migrating the executable code of candidate matching algorithm It is supplied into person, and can be run in the different service centers of provider network and (not need such as to allocate server in advance for code It is packaged program execution service), so as to cause filter specification or inquiry is submitted.
The configuration information retrieved in response to filtering can be used for generating such as instruction migration promoter to assistance client (element 2413) is suggested in the interested one or more migrations of the migration of performing environment.In at least some embodiments, it is proposed that It may include preliminary cost estimate.The expression of suggestion can be transferred to the client that suggestion is applicable in by its programming interface by market service It holds (element 2416).Optionally, suggestion is received by programming interface in response to client, migration market service can start individually Migration plan or the workflow (element 2419) for realizing service.
It should be noted that in various embodiments, other than the operation shown in the flowchart of Fig. 9, Figure 17 and Figure 24 At least some operations can be used to implement above-mentioned configuration and find relevant technology and migrate the relevant technology in market.Shown operation In it is some may not be implemented or may be performed in a different order in some embodiments, or in parallel rather than sequence It realizes on ground.
Use case
The automatic collection of the configuration data of above-described each provenance at multiple networks merges and visualizes, with And realize that it may be useful for migrating the technology of relevant online marketplace in various embodiments.Possess for being distributed in client Complex application storehouse in the resource possessed with provider, described configuration discovery service can be with different granularities The application program configuration data from diversified source is combined and plans in rank, degree of belief and accuracy.The service can It is described by the exposure of wieldy programming interface according to the collected data of the standardized naming scheme tissue based on ontology Programming interface includes that can be used for constructing higher level service, such as help customer plans and its application program of realization to provider's net The API of the service of the migration of network environment.The visualization component of configuration discovery information on services can make client be easier to obtain its it is whole The general introduction of a application heap, and it is deep into any desired level of detail, this can contribute to resource capacity plan, adjusts Try performance and troubleshooting.Migration market service may act as intermediary, and the intermediary can be to can help have migration demand The migration promoter or expert introduction application program owner of application program owner, the application program owner may be to generals Its application program moves to that provider network is interested, but it may not be necessary to technical expertise determine how plan It is migrated with realizing.Migration service can ensure that the information provided about given application program environment meets the peace of application program owner Full criterion, and the smooth transition that can be serviced to the customer support that migration promoter has been selected to migration plan and realization.
It can be described in view of embodiment of the following clause to the disclosure:
1. a kind of system comprising:
One or more computing devices of the resource migration market service of provider network;
Wherein one or more of computing devices are configured to:
From the reception of the first client one or more migration promoters are visited by one or more programming interface The first request of the configuration set of records ends of first client is asked, wherein the configuration set of records ends is stored in configuration discovery clothes At business, wherein the first of the configuration set of records ends and first client calculates environmental correclation connection, and wherein described the One calculating environment includes at least one resource outside the provider network;
It will be generated in configuration discovery service center by one or more of programming interface candidate to specific transfer The response of person's ID inquiring is transferred to the specific transfer promoter in one or more of migration promoters, wherein the response It is based at least partially on the configuration set of records ends;
It is received by one or more of programming interface from the specific transfer promoter and calculates ring with by described first At least part in border moves to the first instruction suggested of the second calculating environmental correclation connection, wherein described second calculates environment packet At least one resource of the provider network is included, and wherein first suggestion includes preliminary cost metric;And
It will be associated with described first calculating at least part of environment is migrated by one or more of programming interface One or more corresponding instructions suggested be transferred to first client, wherein it is one or more of suggest include described in First suggests.
2. the system as described in clause 1, wherein one or more of computing devices are configured to:
The specific transfer candidate is received from the specific transfer promoter by one or more of programming interface ID inquiring;
It is based at least partially on migration candidate ID inquiring, and is based at least partially on one or more configurations and obscures Criterion, the filter specification for one or more configuration attributes that construction instruction will be retrieved from the configuration set of records ends;
Configuration querying including the filter specifications is transferred to the configuration discovery service;And
It is based at least partially on the response to the configuration querying received from the configuration discovery service, is generated to institute State the response of specific transfer candidate ID inquiring.
3. the system as described in clause 1, wherein one or more of computing devices are configured to:
Executable candidate, which is received, from the specific transfer promoter by one or more of programming interface matches mould The instruction of block, wherein the response to the specific transfer candidate ID inquiring, which is based at least partially on, executes the candidate The result of person's matching module.
4. the system as described in clause 1, wherein described first suggests the instruction including one or more of following item: (a) moving costs estimation, (b) transit time table are estimated or (c) indicate that the early stage realized by the specific transfer promoter migrates Feedback record.
5. the system as described in clause 1, wherein one or more of computing devices are configured to:
It is received by one or more of programming interface from the second client and is assigned to second by second client The grading of promoter is migrated, wherein the grading is associated with the second calculating specific transfer of environment, wherein the specific transfer It is executed by the second migration promoter;
The grading is stored in migration promoter's database;And
The grading is supplied to third client by one or more of programming interface.
6. a kind of method comprising:
The following terms is executed by one or more computing devices of resource migration market service:
From the reception of the first client one or more migration promoters are visited by one or more programming interface The first request for asking the configuration set of records ends of first client, wherein the configuration record set intersection includes and described first The first of client calculates the information of environmental correclation connection;
The response of specific transfer candidate ID inquiring will be transferred to by one or more of programming interface described Specific transfer promoter in one or more migration promoter, wherein the response is based at least partially on the configuration record Set;And
By one or more of programming interface by under the assistance of the specific transfer promoter by described first The instruction for the first suggestion that at least part for calculating environment moves to the second calculating environmental correclation connection is supplied to first visitor Family end.
7. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
The migration candidate identity is received from the specific transfer promoter by one or more of programming interface Inquiry;
It is based at least partially on migration candidate ID inquiring, and is based at least partially on one or more configurations and obscures Criterion, the filter specification for one or more configuration attributes that construction instruction will be retrieved from the configuration set of records ends;
It will include that the configuration querying of the filter specification is transferred to the storage configuration set of records ends and automatically configures hair Now service;And
It is based at least partially on from the response to the configuration querying for automatically configuring discovery service and receiving, generates Response to the specific transfer candidate ID inquiring.
8. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
Executable candidate, which is received, from the specific transfer promoter by one or more of programming interface matches mould The instruction of block, wherein the response to the specific transfer candidate ID inquiring, which is based at least partially on, executes the candidate The result of person's matching module.
9. the method as described in clause 8 further includes executing the following terms by one or more of computing devices:
The candidate will be executed by being received by one or more of programming interface from the specific transfer promoter The instruction of the specific calculation service of provider network with module;And
The candidate matching module to be executed submits to the specific calculation service.
10. the method as described in clause 6, wherein described first suggests the instruction including one or more of following item: (a) moving costs estimation, (b) transit time table are estimated or (c) indicate that the early stage realized by the specific transfer promoter migrates Feedback record.
11. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
It is received by one or more of programming interface from the second client and is assigned to second by second client The grading of promoter is migrated, wherein the grading is associated with the second calculating specific transfer of environment, wherein the specific transfer It is to be executed under the assistance of the second migration promoter;
In the database by grading storage;And
The grading is supplied to third client by one or more of programming interface.
12. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
The migration for calculating environment about second is received from the second client by one or more of programming interface to assist Request;And
It assists to request in response to the migration, by one or more of programming interface to second client transmissions The specific transfer promoter is identified as to the recommendation for being used to assist the candidate of the described second migration for calculating environment.
13. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
The specific transfer promoter is received from the second client by one or more of programming interface to have gone through The instruction for the migration for calculating environment for second;And
It initiates one or more and is operable so that the migration plan clothes that second client is able to carry out provider network The workflow of business.
14. the method as described in clause 6, wherein the specific transfer candidate ID inquiring includes one in following item Or multiple instruction: (a) application architecture, (b) of the migration for being supported by the specific transfer promoter are used for by institute The minimal size or (c) behaviour of the specific transfer promoter that the source for stating the migration of specific transfer promoter support calculates environment The preferred geographical location or region made.
15. the method as described in clause 6 further includes executing the following terms by one or more of computing devices:
It is received by one or more of programming interface from the second client and initiates to match confidence to the second calculating environment The request of the retrieval of breath, wherein the application program run at the second calculating environment is to calculate environment for moving to third Candidate;And
Call one or more programming interface of automatic discovery service to initiate the retrieval to the configuration information.
16. a kind of non-transitory computer for storing program instruction may have access to storage medium, handled when in one or more When being executed on device, described program instruction execution following steps:
It determines and has been received from the first client so that one or more migration promoters are able to access that first visitor First request of the configuration set of records ends at family end, wherein the configuration record set intersection includes first with first client Calculate the information of environmental correclation connection;
Initiation passes through one or more of programming interface to described one to the response of specific transfer candidate ID inquiring The transmission of specific transfer promoter in a or multiple migration promoters, wherein the response is based at least partially on the configuration Set of records ends;And
Cause to migrate at least part that described first calculates environment under the assistance of the specific transfer promoter The first instruction suggested to the second calculating environment is supplied to first client by one or more of programming interface.
17. the non-transitory computer as described in clause 16 may have access to storage medium, wherein when one or more When executing on a computing device, described instruction executes following steps:
Determination receives the migration from the specific transfer promoter by one or more of programming interface Candidate ID inquiring;
It is based at least partially on migration candidate ID inquiring, and is based at least partially on one or more configurations and obscures Criterion, the filter specification for one or more configuration attributes that construction instruction will be retrieved from the configuration set of records ends;
It initiates the configuration querying including the filter specification and automatically configures discovery to the storage configuration set of records ends The transmission of service;And
It is based at least partially on from the response to the configuration querying for automatically configuring discovery service and receiving, generates Response to the specific transfer candidate ID inquiring.
18. the non-transitory computer as described in clause 16 may have access to storage medium, wherein when one or more When executing on a computing device, described instruction executes following steps:
Determination receives executable time from the specific transfer promoter by one or more of programming interface The instruction of the person's of choosing matching module, wherein the response to the specific transfer candidate ID inquiring is based at least partially on and holds The result of the row candidate matching module.
19. the non-transitory computer as described in clause 18 may have access to storage medium, wherein when one or more When executing on a computing device, described instruction executes following steps:
Mark will execute the specific calculation service of the provider network of the candidate matching module;And
The candidate matching module to be executed is caused to be submitted to the specific calculation service.
20. non-transitory computer as described in clause 16 may have access to storage medium, wherein described first suggest include with The instruction of one or more of lower item: (a) moving costs estimation, (b) transit time table are estimated or (c) are indicated in the spy Surely the feedback record for the early stage migration realized under the assistance of promoter is migrated.
21. nonvolatile computer as described in clause 16 may have access to storage medium, wherein described first suggests that instruction can be from The migration related tool that the specific transfer promoter obtains, wherein the tool can be incited somebody to action by the first client use Described a part of the first calculating environment moves to described second and calculates environment.
Exemplary computer system
In at least some embodiments, part or all of one or more of technology described herein is realized Server may include general-purpose computing system, the computer system includes or is configured to access one or more meters The addressable medium of calculation machine, technology described herein include realize configuration discovery service, associated Visualization Service and/or Migrate the technology of the component of market service.Figure 25 shows this general-purpose calculating appts 9000.In the embodiment illustrated, it calculates Including being connected to system storage 9020 by input/output (I/O) interface 9030, (it may include non-volatile deposits to device 9000 Both memory modules and volatile) one or more processors 9010.Computing device 9000 further includes connection To the network interface 9040 of I/O interface 9030.
In various embodiments, computing device 9000 can be the single processor system including a processor 9010, Or the multicomputer system including several processors 9010 (such as two, four, eight or other suitable quantities).Processor 9010 can be any suitable processor for being able to carry out instruction.For example, in various embodiments, processor 9010 can be with It is the general or embeded processor for realizing any one of various instruction set architectures (ISA), the ISA such as x86, PowerPC, SPARC or MIPS ISA or any other suitable ISA.In a multi-processor system, every in processor 9010 One usually can with but not necessarily realize identical ISA.In some implementations, instead of or in addition to conventional processors it Outside, graphics processing unit (GPU) can be used.
System storage 9020 can be configured to store the instruction and data that can be accessed by one or more processors 9010. In at least some embodiments, system storage 9020 may include both volatile part and non-volatile portion;At other In embodiment, volatile memory only can be used.In various embodiments, the volatile part of system storage 9020 Can be used any suitable memory technology (such as static random access memory (SRAM), synchronous dynamic ram or any other The memory of type) Lai Shixian.For system storage non-volatile portion (for example, it may include one or more NVDIMM), the memory device based on flash memory, including nand flash memory device can be used in some embodiments.At least one In a little embodiments, the non-volatile portion of system storage may include power supply, such as supercapacitor or the storage of other electric power Device (for example, battery).In various embodiments, the resistive random access memory storare device based on memristor (ReRAM), three-dimensional Any one of NAND technology, ferroelectric RAM, magnetoresistive RAM (MRAM) or various types of phase transition storages (PCM) can be down to It is used for the non-volatile portion of system storage less.In the embodiment illustrated, the journey of one or more desired functions is realized Sequence instruction and data (such as those described above method, technology and data) is shown as code 9025 and data 9026 are stored in system storage 9020.
In one embodiment, I/O interface 9030 can be configured to coordinate in processor 9010, system storage 9020, network interface 9040 or other peripheral interface (such as various types of permanent storage devices and/or volatile storage dresses Set) between the I/O traffic.In some embodiments, I/O interface 9030 can be performed any required agreement, timing or its He converts to be converted into the data-signal for coming from a component (for example, system storage 9020) to be suitable for another portion data The format that part (for example, processor 9010) uses.In some embodiments, I/O interface 9030 may include to by various The variant of the peripheral bus of type, such as peripheral parts interconnected (PCI) bus standard or universal serial bus (USB) standard is attached The support of the device connect.In some embodiments, the function of I/O interface 9030 can assign to two or more individual components In, such as north bridge and south bridge.In addition, in some embodiments, some or all of function of I/O interface 9030 is (all Such as arrive the interface of system storage 9020) it can be incorporated directly into processor 9010.
For example, network interface 9040 can be configured to allow in computing device 9000 and be attached to one or more networks The swapping data of 9050 other devices 9060 (such as, other computer systems or device as shown in Fig. 1 to Figure 24).? In various embodiments, network interface 9040 can be supported through any suitable wired or wireless general data network (such as Ethernet network type) communication.In addition, network interface 9040 can be supported through telecommunication/telephone network (such as analog voice net Network or digital fiber communication network), by storage area network (such as optical-fibre channel SAN) or pass through any other suitable class The network of type and/or the communication of agreement.
In some embodiments, system storage 9020 can be an embodiment of computer accessible, The computer accessible be configured to store as above in relation to described in Fig. 1 to Figure 24 for realizing correlation method and The program instruction and data of the embodiment of equipment.It, can in different types of computer however, in other embodiments It accesses and program instruction and/or data is received, sent or stored on medium.In general, computer accessible may include non- Temporary storage medium or storage medium, such as magnetical or optical medium, for example, being connected to calculating by I/O interface 9030 The disk or DVD/CD of device 9000.Nonvolatile computer may have access to storage medium may also include as system storage 9020 or Another type of memory is included in any volatibility or non-volatile in some embodiments of computing device 9000 Medium, RAM (for example, SDRAM, DDR SDRAM, RDRAM, SRAM etc.), ROM etc..In addition, computer accessible can Including the transmission medium or signal that can be such as realized by network interface 9040, such as by communication media (such as network and/or Wireless link) transmission electric signal, electromagnetic signal or digital signal.Part in multiple computing devices shown in such as Figure 25 Or whole described functions of can be used for realizing in various embodiments;For example, being transported on a variety of different devices and server Capable software component can cooperate to provide the function.In some embodiments, in addition to or instead of using general purpose computer System realizes that storage device, network equipment or dedicated computer system can be used to realize for the part of described function.Such as Term as used herein " computing device " refers to the device of at least all these types, and is not limited to the dress of these types It sets.
It summarizes
Various embodiments, which may additionally include, to be received in computer accessible, send or stores according to description above The instruction and/or data realized.In general, computer accessible may include storage medium or storage medium, Such as magnetical or optical medium (such as disk or DVD/CD-ROM), volatibility or non-volatile media (such as RAM (for example, SDRAM, DDR, RDRAM, SRAM etc.), ROM etc.), and transmitted by communication media (such as network and/or wireless link) Transmission medium or signal (such as electric signal, electromagnetic signal or digital signal).
The exemplary implementation scheme of various method representation methods as shown in the figure and described herein.The side Method can be realized in software, hardware or combinations thereof.The order of method can change, and various elements can add, again Sequence, combination, omission, modification etc..
Those skilled in the art in benefit of this disclosure will clearly know that various modifications and variations can be made.Intention covers All such modifications and variations, and correspondingly, above description should be treated in illustrative and not restrictive meaning.

Claims (15)

1. a kind of method comprising:
The following terms is executed by one or more computing devices of resource migration market service:
It is received from the first client so that one or more migration promoters are able to access that institute by one or more programming interface The first request for stating the configuration set of records ends of the first client, wherein the configuration record set intersection includes and first client The first of end calculates the information of environmental correclation connection;
The response of specific transfer candidate ID inquiring will be transferred to by one or more of programming interface one Or the specific transfer promoter in multiple migration promoters, wherein the response is based at least partially on the configuration record set It closes;And
Described first will be calculated under the assistance of the specific transfer promoter by one or more of programming interface The first instruction suggested that at least part of environment moves to the second calculating environmental correclation connection is supplied to first client.
2. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
The migration candidate ID inquiring is received from the specific transfer promoter by one or more of programming interface;
It is based at least partially on migration candidate ID inquiring, and is based at least partially on one or more configurations and obscures standard Then, the filter specification for one or more configuration attributes that construction instruction will be retrieved from the configuration set of records ends;
The discovery that automatically configures that configuration querying including the filter specification is transferred to the storage configuration set of records ends is taken Business;And
It is based at least partially on from the response to the configuration querying for automatically configuring discovery service and receiving, generates to institute State the response of specific transfer candidate ID inquiring.
3. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
Executable candidate matching module is received from the specific transfer promoter by one or more of programming interface Instruction, wherein the response to the specific transfer candidate ID inquiring, which is based at least partially on, executes the candidate Result with module.
4. method as claimed in claim 3 further includes executing the following terms by one or more of computing devices:
The candidate matching mould will be executed by being received by one or more of programming interface from the specific transfer promoter The instruction of the specific calculation service of the provider network of block;And
The candidate matching module to be executed submits to the specific calculation service.
5. the method as described in claim 1, wherein described first suggests the instruction including one or more of following item: (a) moving costs estimation, (b) transit time table are estimated or (c) indicate that the early stage realized by the specific transfer promoter migrates Feedback record.
6. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
It is received by one or more of programming interface from the second client and the second migration is assigned to by second client The grading of promoter, wherein it is described grading with second calculating the specific transfer of environment it is associated, wherein the specific transfer be It is executed under the assistance of the second migration promoter;
In the database by grading storage;And
The grading is supplied to third client by one or more of programming interface.
7. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
The migration for calculating environment about second, which is received, from the second client by one or more of programming interface assists request; And
It assists to request in response to the migration, by one or more of programming interface to second client transmissions by institute State specific transfer promoter be identified as assist it is described second calculate environment migration candidate recommendation.
8. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
The specific transfer promoter is received from the second client by one or more of programming interface to be approved for Second calculates the instruction of the migration of environment;And
It initiates one or more and is operable so that the migration plan service that second client is able to carry out provider network Workflow.
9. the method as described in claim 1, wherein the specific transfer candidate ID inquiring includes one in following item Or multiple instruction: (a) application architecture, (b) of the migration for being supported by the specific transfer promoter are used for by institute The minimal size or (c) behaviour of the specific transfer promoter that the source for stating the migration of specific transfer promoter support calculates environment The preferred geographical location or region made.
10. the method as described in claim 1 further includes executing the following terms by one or more of computing devices:
The configuration information for initiating to calculate environment to second is received from the second client by one or more of programming interface The request of retrieval, wherein the application program run at the second calculating environment is to calculate the time of environment for moving to third The person of choosing;And
Call one or more programming interface of automatic discovery service to initiate the retrieval to the configuration information.
11. a kind of system including memory and processor, the memory include cause the system to execute when being executed with The instruction of lower items:
It determines and has been received from the first client so that one or more migration promoters are able to access that first client Configuration set of records ends the first request, wherein the configuration record set intersection includes calculating with the first of first client The information of environmental correclation connection;
Initiate to the response of specific transfer candidate ID inquiring through one or more of programming interface to one or The transmission of specific transfer promoter in multiple migration promoters, wherein the response is based at least partially on the configuration record Set;And
Cause that at least part of the first calculating environment is moved to the under the assistance of the specific transfer promoter First instruction suggested of two calculating environment is supplied to first client by one or more of programming interface.
12. system as claimed in claim 11, wherein described instruction causes the system when executed:
It determines and receives the migration candidate from the specific transfer promoter by one or more of programming interface Person's ID inquiring;
It is based at least partially on migration candidate ID inquiring, and is based at least partially on one or more configurations and obscures standard Then, the filter specification for one or more configuration attributes that construction instruction will be retrieved from the configuration set of records ends;
It initiates the configuration querying including the filter specification and automatically configures discovery service to the storage configuration set of records ends Transmission;And
It is based at least partially on from the response to the configuration querying for automatically configuring discovery service and receiving, generates to institute State the response of specific transfer candidate ID inquiring.
13. system as claimed in claim 11, wherein described instruction causes the system when executed:
Determination receives executable candidate from the specific transfer promoter by one or more of programming interface The instruction of matching module, wherein the response to the specific transfer candidate ID inquiring, which is based at least partially on, executes institute State the result of candidate matching module.
14. system as claimed in claim 13, wherein described instruction causes the system when executed:
Mark will execute the specific calculation service of the provider network of the candidate matching module;And
The candidate matching module to be executed is caused to be submitted to the specific calculation service.
15. system as claimed in claim 11, wherein described first suggests that instruction can be obtained from the specific transfer promoter Migration related tool, wherein the tool can as first client use so as to will it is described first calculate environment described in A part moves to described second and calculates environment.
CN201780038747.8A 2016-06-22 2017-06-22 Application program migration system Active CN109416643B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/189,983 US10742498B2 (en) 2016-06-22 2016-06-22 Application migration system
US15/189,983 2016-06-22
PCT/US2017/038655 WO2017223263A1 (en) 2016-06-22 2017-06-22 Application migration system

Publications (2)

Publication Number Publication Date
CN109416643A true CN109416643A (en) 2019-03-01
CN109416643B CN109416643B (en) 2022-01-25

Family

ID=59285352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780038747.8A Active CN109416643B (en) 2016-06-22 2017-06-22 Application program migration system

Country Status (6)

Country Link
US (2) US10742498B2 (en)
EP (2) EP3475816B1 (en)
JP (1) JP6750047B2 (en)
CN (1) CN109416643B (en)
AU (1) AU2017281638B2 (en)
WO (1) WO2017223263A1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110086880A (en) * 2019-05-07 2019-08-02 北京字节跳动网络技术有限公司 The method and apparatus for creating the example of network request
CN112114943A (en) * 2019-06-20 2020-12-22 国际商业机器公司 Potential computing attribute preference discovery and computing environment migration plan recommendation
CN112416500A (en) * 2020-11-30 2021-02-26 联想(北京)有限公司 Information processing method and electronic equipment
CN113439245A (en) * 2019-03-28 2021-09-24 西门子股份公司 Method and coordinating device for providing control applications via a communication network for transmitting time-critical data
US20220156267A1 (en) * 2018-04-30 2022-05-19 Splunk Inc. Revising catalog metadata based on parsing queries
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11663212B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Identifying configuration parameters for a query using a metadata catalog
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes
US11720537B2 (en) 2018-04-30 2023-08-08 Splunk Inc. Bucket merging for a data intake and query system using size thresholds
US11797618B2 (en) 2016-09-26 2023-10-24 Splunk Inc. Data fabric service system deployment
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
US11966391B2 (en) 2016-09-26 2024-04-23 Splunk Inc. Using worker nodes to process results of a subquery
US11989194B2 (en) 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US11995079B2 (en) 2016-09-26 2024-05-28 Splunk Inc. Generating a subquery for an external data system using a configuration file

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10503615B2 (en) * 2011-12-16 2019-12-10 Basen Corporation Spime™ host system, process, object, self-determination apparatus, and host device
US10379910B2 (en) * 2012-10-26 2019-08-13 Syntel, Inc. System and method for evaluation of migration of applications to the cloud
US10255336B2 (en) 2015-05-07 2019-04-09 Datometry, Inc. Method and system for transparent interoperability between applications and data management systems
US10594779B2 (en) 2015-08-27 2020-03-17 Datometry, Inc. Method and system for workload management for data management systems
US10079730B2 (en) * 2015-09-30 2018-09-18 Amazon Technologies, Inc. Network based resource configuration discovery service
US10268633B2 (en) * 2016-03-29 2019-04-23 Wipro Limited System and method for database migration with target platform scalability
US10460113B2 (en) * 2016-08-16 2019-10-29 International Business Machines Corporation Security fix of a container in a virtual machine environment
US10354215B2 (en) * 2016-10-26 2019-07-16 Servicenow, Inc. System and method for service modeling
US10726140B2 (en) * 2016-10-28 2020-07-28 Servicenow, Inc. System and method for configuration management database governance
US10462263B2 (en) 2016-11-22 2019-10-29 Airwatch Llc Management service migration using web applications
US10372520B2 (en) 2016-11-22 2019-08-06 Cisco Technology, Inc. Graphical user interface for visualizing a plurality of issues with an infrastructure
US10873511B2 (en) 2016-11-22 2020-12-22 Airwatch Llc Management service migration for managed devices
US10924557B2 (en) 2016-11-22 2021-02-16 Airwatch Llc Management service migration using managed devices
US20180268347A1 (en) * 2017-03-17 2018-09-20 International Business Machines Corporation Processing a service request of a service catalog
US11243949B2 (en) * 2017-04-21 2022-02-08 Microsoft Technology Licensing, Llc Query execution across multiple graphs
US10511486B2 (en) * 2017-05-05 2019-12-17 Servicenow, Inc. System and method for automating the discovery process
US20180329794A1 (en) * 2017-05-09 2018-11-15 Cisco Technology, Inc. Visualization of mapping between network overlay and underlay
US10142222B1 (en) * 2017-06-13 2018-11-27 Uber Technologies, Inc. Customized communications for network systems
US10684888B1 (en) * 2017-10-23 2020-06-16 Amazon Technologies, Inc. Self-organizing server migration to service provider systems
US10419977B2 (en) * 2017-12-28 2019-09-17 Comcast Cable Communications, Llc Variable application of quality of service
US10862867B2 (en) 2018-04-01 2020-12-08 Cisco Technology, Inc. Intelligent graphical user interface
US10691357B2 (en) * 2018-08-08 2020-06-23 International Business Machines Corporation Consideration of configuration-based input/output predictions in multi-tiered data storage system management
US11232372B2 (en) * 2018-11-09 2022-01-25 Cisco Technology, Inc. Merging and optimizing heterogeneous rulesets for device classification
US11455315B1 (en) * 2018-12-11 2022-09-27 Palantir Technologies Inc. Central user interface for accessing and upgrading of dataset integrations
US11436213B1 (en) 2018-12-19 2022-09-06 Datometry, Inc. Analysis of database query logs
US11468043B1 (en) 2018-12-20 2022-10-11 Datometry, Inc. Batching database queries for migration to a different database
US20200236163A1 (en) * 2019-01-18 2020-07-23 Servicenow, Inc. Scale out network-attached storage device discovery
US10686647B1 (en) * 2019-05-02 2020-06-16 Servicenow, Inc. Descriptor architecture for a remote network management platform
US10785106B1 (en) * 2019-07-29 2020-09-22 Microsoft Technology Licensing Llc Configuration change control for computing environments
US11483294B2 (en) 2019-08-28 2022-10-25 University Of Maryland, Baltimore County Method for anonymizing network data using differential privacy
US11182724B2 (en) * 2019-08-30 2021-11-23 Tata Consultancy Services Limited Estimation of per-application migration pricing and application move group sequence for cloud migration
US11405426B2 (en) 2019-11-04 2022-08-02 Salesforce.Com, Inc. Comparing network security specifications for a network to implement a network security policy for the network
US11671429B1 (en) * 2020-02-26 2023-06-06 Equinix, Inc. Authorization automation in procurement of interconnections within a data center
US11379843B2 (en) * 2020-03-31 2022-07-05 Paypal, Inc. Systems and methods for multi-domain application hosting platform migration
US11575763B2 (en) * 2020-04-03 2023-02-07 Vmware, Inc. System and method for managing configuration data of monitoring agents
US11650797B2 (en) * 2020-04-17 2023-05-16 Jpmorgan Chase Bank, N.A. Cloud portability code scanning tool
WO2021219118A1 (en) * 2020-05-01 2021-11-04 Huawei Technologies Co., Ltd. Capability based content rendering in multi-device
US11340940B2 (en) * 2020-07-02 2022-05-24 Bank Of America Corporation Workload assessment and configuration simulator
CN112131128B (en) * 2020-09-29 2023-08-22 网易(杭州)网络有限公司 Data testing method and device, storage medium and electronic device
CN112560462B (en) * 2020-12-11 2023-08-01 北京百度网讯科技有限公司 Event extraction service generation method, device, server and medium
US20230006880A1 (en) * 2021-06-30 2023-01-05 Microsoft Technology Licensing, Llc Local edge authority platform

Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210871A1 (en) * 2008-02-20 2009-08-20 Zak Dechovich System and method for software application migration
US20090300635A1 (en) * 2008-05-30 2009-12-03 James Michael Ferris Methods and systems for providing a marketplace for cloud-based networks
US20100131649A1 (en) * 2008-11-26 2010-05-27 James Michael Ferris Systems and methods for embedding a cloud-based resource request in a specification language wrapper
CN101876921A (en) * 2009-04-29 2010-11-03 华为技术有限公司 Method, device and system for migration decision-making of virtual machine
CN103297492A (en) * 2012-02-07 2013-09-11 国际商业机器公司 Migrating data between networked computing environments
US8769059B1 (en) * 2012-05-23 2014-07-01 Amazon Technologies, Inc. Best practice analysis, third-party plug-ins
US8793380B2 (en) * 2011-06-17 2014-07-29 Futurewei Technologies, Inc. Cloud service control and management architecture expanded to interface the network stratum
CN104246738A (en) * 2012-04-19 2014-12-24 英派尔科技开发有限公司 Migration in place
JP2015041198A (en) * 2013-08-21 2015-03-02 日本電信電話株式会社 Management device, communication system, management method and management program
EP2852891A1 (en) * 2012-06-27 2015-04-01 Qatar Foundation An arrangement configured to migrate a virtual machine in the event of an attack
CN104750554A (en) * 2013-12-31 2015-07-01 中国移动通信集团公司 Inter-virtual machine data migration method and device
JP2015524581A (en) * 2012-11-09 2015-08-24 株式会社日立製作所 Management computer, computer system, and instance management method
US20150341230A1 (en) * 2013-03-15 2015-11-26 Gravitant, Inc Advanced discovery of cloud resources
JP2015215676A (en) * 2014-05-08 2015-12-03 学校法人慶應義塾 Anonymization system, issuing device, and program
US20150378766A1 (en) * 2014-06-28 2015-12-31 Vmware, Inc. Live migration of virtual machines with memory state sharing
CN105227357A (en) * 2015-09-15 2016-01-06 清华大学 Virtual machine policy migration collocation method and device
CN105279024A (en) * 2015-11-30 2016-01-27 浪潮集团有限公司 Method for migrating Web application program to SaaS
CN105378667A (en) * 2013-12-10 2016-03-02 华为技术有限公司 Method and apparatus for scheduling virtual machine resources
US20160092266A1 (en) * 2014-09-26 2016-03-31 International Business Machines Corporation Dynamic relocation of applications in a cloud application service model
CN105471744A (en) * 2014-09-19 2016-04-06 杭州华三通信技术有限公司 Virtual machine migration method and device
US20160099998A1 (en) * 2014-10-01 2016-04-07 SkyKick, Inc. Optimizing data migration processes

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002244939A (en) 2001-02-20 2002-08-30 Hitachi Software Eng Co Ltd Network monitoring system
US7305364B2 (en) * 2001-04-06 2007-12-04 General Electric Capital Corporation Methods and systems for supplying customer leads to dealers
US7437450B1 (en) * 2001-11-30 2008-10-14 Cisco Technology Inc. End-to-end performance tool and method for monitoring electronic-commerce transactions
US8683032B2 (en) * 2004-12-06 2014-03-25 Bmc Software, Inc. Generic discovery for computer networks
GB2422067B (en) 2005-01-06 2007-09-05 Toshiba Res Europ Ltd Distributed network discovery
US20070005746A1 (en) 2005-06-30 2007-01-04 Roe Bryan Y Enhanced network discovery service
US8392400B1 (en) 2005-12-29 2013-03-05 Amazon Technologies, Inc. Method and apparatus for stress management in a searchable data service
US7830814B1 (en) * 2006-06-02 2010-11-09 Adobe Systems Incorporated Providing information associated with network latency
US7937698B2 (en) * 2007-08-02 2011-05-03 International Business Machines Corporation Extensible mechanism for automatically migrating resource adapter components in a development environment
US20100228819A1 (en) * 2009-03-05 2010-09-09 Yottaa Inc System and method for performance acceleration, data protection, disaster recovery and on-demand scaling of computer applications
EP2668600A4 (en) 2011-01-27 2014-08-06 Computenext Inc Dynamically organizing cloud computing resources to facilitate discovery
US8612599B2 (en) * 2011-09-07 2013-12-17 Accenture Global Services Limited Cloud service monitoring system
US20130117219A1 (en) 2011-11-03 2013-05-09 Microsoft Corporation Architecture for knowledge-based data quality solution
CN102377786A (en) 2011-12-02 2012-03-14 浪潮集团有限公司 Cloud computing resource discovery protocol
US9665356B2 (en) * 2012-01-31 2017-05-30 Red Hat, Inc. Configuration of an application in a computing platform
CN103729169B (en) * 2012-10-10 2017-04-05 国际商业机器公司 Method and apparatus for determining file extent to be migrated
US9430506B2 (en) * 2012-12-19 2016-08-30 Accenture Global Services Limited Enterprise migration planning information repository
US9686121B2 (en) 2013-09-23 2017-06-20 Amazon Technologies, Inc. Client-premise resource control via provider-defined interfaces
EP3025456B1 (en) 2013-10-08 2020-05-06 Accenture Global Services Limited Service provider network migration
WO2015077756A1 (en) 2013-11-25 2015-05-28 Amazon Technologies, Inc. Customer-directed networking limits in distributed systems
CN103714050B (en) 2013-12-13 2017-02-15 东南大学 Resource modeling framework for manufacturing multi-layer cloud with multi-granularity characteristic
US9507829B1 (en) * 2013-12-23 2016-11-29 EMC IP Holding Company LLC Storage optimization for social networks
CN104915241B (en) * 2014-03-12 2018-09-07 华为技术有限公司 A kind of virtual machine (vm) migration control method and device
US9811365B2 (en) * 2014-05-09 2017-11-07 Amazon Technologies, Inc. Migration of applications between an enterprise-based network and a multi-tenant network
US9356883B1 (en) * 2014-05-29 2016-05-31 Amazon Technologies, Inc. Allocating cloud-hosted application resources using end-user metrics
US9836332B2 (en) * 2014-07-31 2017-12-05 Corent Technology, Inc. Software defined SaaS platform
US10275411B2 (en) 2014-09-29 2019-04-30 Hitachi, Ltd. Management system for computer system
WO2016075671A1 (en) * 2014-11-13 2016-05-19 Telefonaktiebolaget L M Ericsson (Publ) Elasticity for highly availabile applications
US20160162507A1 (en) 2014-12-05 2016-06-09 International Business Machines Corporation Automated data duplicate identification
US10320626B1 (en) * 2016-04-07 2019-06-11 Wells Fargo Bank, N.A. Application discovery and dependency mapping
US10673716B1 (en) * 2017-10-31 2020-06-02 Amazon Technologies, Inc. Graph-based generation of dependency-adherent execution plans for data center migrations

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090210871A1 (en) * 2008-02-20 2009-08-20 Zak Dechovich System and method for software application migration
US20090300635A1 (en) * 2008-05-30 2009-12-03 James Michael Ferris Methods and systems for providing a marketplace for cloud-based networks
US20100131649A1 (en) * 2008-11-26 2010-05-27 James Michael Ferris Systems and methods for embedding a cloud-based resource request in a specification language wrapper
CN101876921A (en) * 2009-04-29 2010-11-03 华为技术有限公司 Method, device and system for migration decision-making of virtual machine
US8793380B2 (en) * 2011-06-17 2014-07-29 Futurewei Technologies, Inc. Cloud service control and management architecture expanded to interface the network stratum
CN103297492A (en) * 2012-02-07 2013-09-11 国际商业机器公司 Migrating data between networked computing environments
CN104246738A (en) * 2012-04-19 2014-12-24 英派尔科技开发有限公司 Migration in place
US8769059B1 (en) * 2012-05-23 2014-07-01 Amazon Technologies, Inc. Best practice analysis, third-party plug-ins
EP2852891A1 (en) * 2012-06-27 2015-04-01 Qatar Foundation An arrangement configured to migrate a virtual machine in the event of an attack
JP2015524581A (en) * 2012-11-09 2015-08-24 株式会社日立製作所 Management computer, computer system, and instance management method
US20150341230A1 (en) * 2013-03-15 2015-11-26 Gravitant, Inc Advanced discovery of cloud resources
JP2015041198A (en) * 2013-08-21 2015-03-02 日本電信電話株式会社 Management device, communication system, management method and management program
CN105378667A (en) * 2013-12-10 2016-03-02 华为技术有限公司 Method and apparatus for scheduling virtual machine resources
CN104750554A (en) * 2013-12-31 2015-07-01 中国移动通信集团公司 Inter-virtual machine data migration method and device
JP2015215676A (en) * 2014-05-08 2015-12-03 学校法人慶應義塾 Anonymization system, issuing device, and program
US20150378766A1 (en) * 2014-06-28 2015-12-31 Vmware, Inc. Live migration of virtual machines with memory state sharing
CN105471744A (en) * 2014-09-19 2016-04-06 杭州华三通信技术有限公司 Virtual machine migration method and device
US20160092266A1 (en) * 2014-09-26 2016-03-31 International Business Machines Corporation Dynamic relocation of applications in a cloud application service model
US20160099998A1 (en) * 2014-10-01 2016-04-07 SkyKick, Inc. Optimizing data migration processes
CN105227357A (en) * 2015-09-15 2016-01-06 清华大学 Virtual machine policy migration collocation method and device
CN105279024A (en) * 2015-11-30 2016-01-27 浪潮集团有限公司 Method for migrating Web application program to SaaS

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11663212B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Identifying configuration parameters for a query using a metadata catalog
US11995079B2 (en) 2016-09-26 2024-05-28 Splunk Inc. Generating a subquery for an external data system using a configuration file
US11966391B2 (en) 2016-09-26 2024-04-23 Splunk Inc. Using worker nodes to process results of a subquery
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11797618B2 (en) 2016-09-26 2023-10-24 Splunk Inc. Data fabric service system deployment
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11989194B2 (en) 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
US11657057B2 (en) * 2018-04-30 2023-05-23 Splunk Inc. Revising catalog metadata based on parsing queries
US11720537B2 (en) 2018-04-30 2023-08-08 Splunk Inc. Bucket merging for a data intake and query system using size thresholds
US20220156267A1 (en) * 2018-04-30 2022-05-19 Splunk Inc. Revising catalog metadata based on parsing queries
US11522762B2 (en) 2019-03-28 2022-12-06 Siemens Aktiengesellschaft Coordination device and method for providing control applications via a communication network for transmitting time-critical data
CN113439245A (en) * 2019-03-28 2021-09-24 西门子股份公司 Method and coordinating device for providing control applications via a communication network for transmitting time-critical data
CN110086880A (en) * 2019-05-07 2019-08-02 北京字节跳动网络技术有限公司 The method and apparatus for creating the example of network request
CN112114943A (en) * 2019-06-20 2020-12-22 国际商业机器公司 Potential computing attribute preference discovery and computing environment migration plan recommendation
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes
CN112416500B (en) * 2020-11-30 2022-04-22 联想(北京)有限公司 Information processing method and electronic equipment
CN112416500A (en) * 2020-11-30 2021-02-26 联想(北京)有限公司 Information processing method and electronic equipment

Also Published As

Publication number Publication date
JP2019525302A (en) 2019-09-05
WO2017223263A1 (en) 2017-12-28
CN109416643B (en) 2022-01-25
US10742498B2 (en) 2020-08-11
US20170373935A1 (en) 2017-12-28
US20210028981A1 (en) 2021-01-28
AU2017281638B2 (en) 2019-10-31
EP3475816A1 (en) 2019-05-01
JP6750047B2 (en) 2020-09-02
EP3475816B1 (en) 2023-04-05
EP4213019A1 (en) 2023-07-19
US11943104B2 (en) 2024-03-26
AU2017281638A1 (en) 2018-12-20

Similar Documents

Publication Publication Date Title
CN109416643A (en) Application program migratory system
AU2020200578B2 (en) Intelligent configuration discovery techniques
US9979596B2 (en) Configuration discovery service data visualization
US10853124B2 (en) Managing user data in a multitenant deployment
CN109643312A (en) Trustship query service
CN105989523B (en) Policy-based data collection processing and negotiation method and system for analytics
US10970107B2 (en) Discovery of hyper-converged infrastructure
CN107567696A (en) The automatic extension of resource instances group in computing cluster
CN107003906A (en) The type of cloud computing technology part is to type analysis
US10942774B1 (en) Dynamic reassignment of search processes into workload pools in a search and indexing system
US20150193246A1 (en) Apparatus and method for data center virtualization
US11803598B2 (en) Query language for selecting and addressing resources
CN106462444A (en) Architecture and method for cloud provider selection and projection
US20150193862A1 (en) Architecture and method for implementing a marketplace for data center resources
US11385936B1 (en) Achieve search and ingest isolation via resource management in a search and indexing system
WO2015103560A2 (en) Architecture and method for cloud provider selection and projection
WO2023152364A1 (en) Workflow data redistribution in hybrid public/private computing environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant