CN105593820B - Producer's system in rental agency system divides - Google Patents

Producer's system in rental agency system divides Download PDF

Info

Publication number
CN105593820B
CN105593820B CN201480045484.XA CN201480045484A CN105593820B CN 105593820 B CN105593820 B CN 105593820B CN 201480045484 A CN201480045484 A CN 201480045484A CN 105593820 B CN105593820 B CN 105593820B
Authority
CN
China
Prior art keywords
producer
rental agency
rental
agency
consumer
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.)
Active
Application number
CN201480045484.XA
Other languages
Chinese (zh)
Other versions
CN105593820A (en
Inventor
维莎尔·帕拉科
安东·如布兰·卡纳瓦提
穆库尔·维贾伊·卡尔尼克
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
Priority claimed from US13/927,929 external-priority patent/US9369518B2/en
Priority claimed from US13/927,995 external-priority patent/US9780993B2/en
Priority claimed from US13/927,933 external-priority patent/US9843631B2/en
Priority claimed from US13/927,892 external-priority patent/US9350801B2/en
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN105593820A publication Critical patent/CN105593820A/en
Application granted granted Critical
Publication of CN105593820B publication Critical patent/CN105593820B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1014Server selection for load balancing based on the content of a request
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • Signal Processing (AREA)
  • Marketing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Educational Administration (AREA)
  • General Engineering & Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclose the process and system for dividing multiple producer's systems in multiple rental agencies.Rental agency can recognize that one group in environment can use producer's system and can divide producer's system in each of multiple rental agencies.Rental agency can then be assigned to producer's system of each rental agency to other rental agencies notice.When the quantity of available producer's system changes, partition process is repeatable so that the distribution of producer's system in rental agency rebalances.

Description

Producer's system in rental agency system divides
Related application
This application involves following applications: on June 26th, 2013 " MANAGING CLIENT submitting and entitled The U.S. Application No. 13/927,892 of ACCESS TO A PLURALITY OF COMPUTING SYSTEMS ";June 26 in 2013 It is that day submits and entitled " PRODUCER SYSTEM PARTITIONING AMONG LEASING AGENT SYSTEMS " U.S. Application No. 13/927,929;On June 26th, 2013 " PRODUCER SYSTEM SELECTION " submitting and entitled U.S. Application No. 13/927,933;And " PRODUCER SYSTEM submitting and entitled on June 26th, 2013 The U.S. Application No. 13/927,995 of PARTITIONING AMONG LEASING AGENT SYSTEMS ", the public affairs of these applications Katal this by reference be all incorporated into herein.
Background
Computing resource and service are usually provided by multiple computing systems.These computing resources and/or service can be by multiple volumes Outer computing system consumption.Several computing systems will provide access to identical resource or service in many cases,.It provides Resource or each computing system of service are generally limited in the quantity for the request that system can be handled whithin a period of time.
In order to help to provide service to the computer system of request, some enterprises utilize traceable service or the resource of providing The integrated system of each system used.By using integrated system, the load in each offer system can provided It is balanced in several computing systems of service or resource.One such integrated system is hardware load balancer.Hardware is negative Lotus balancer can help the distribution request in the computing system for providing service or resource, thus in the offer system of enterprise Make balancing the load.
Brief description
In all the attached drawings, reference number is reused for indicating the correspondence between the element marked.Attached drawing is mentioned It is provided with the embodiment of invention as described herein is shown rather than limits its range.
Figure 1A is shown for providing the network environment of the access to the service by producer's system trustship to Consumer System Embodiment.
Figure 1B is shown for providing to Consumer System to from the access of the service of producer's system trustship and for one A or multiple rental agencies provide the embodiment of the network environment of producer's system health information.
Fig. 2 shows the network environments for providing the access to the service by producer's system trustship to Consumer System The optional view of embodiment.
The embodiment that Fig. 3 shows the process for accessing the service at producer's system.
The embodiment that Fig. 4 shows the process of the lease for providing producer's system to Consumer System.
The embodiment that Fig. 5 shows producer's system update process.
The embodiment that Fig. 6 shows the partition process for dividing one group of producer's system.
Fig. 7 shows the embodiment from producer's system registry process from the point of view of producer's system.
Fig. 8 shows the embodiment from producer's system registry process from the point of view of rental agency.
Fig. 9 shows the embodiment that rental agency repartitions process.
The embodiment that Figure 10 shows producer's selection course based on lag.
Figure 11 is shown for providing the overlay network of the access to the service by producer's system trustship to Consumer System The embodiment of environment.
The embodiment that Figure 12 shows the process for accessing the service at producer's virtual machine.
The embodiment that Figure 13 shows the process for handling the request for accessing the service at producer's virtual machine.
The embodiment that Figure 14 shows the process for leasing the access to producer's virtual machine.
Figure 15 shows the example that can be used for the condition management table convenient for the communication in overlay network environment.
Detailed description
It introduces
Although hardware load balancer can be used for helping prevent the computing system for providing the access to service or resource, (it can Referred to as producer's system) becoming the computing system to overburden from request to the access of service or resource, (it is referred to alternatively as Consumer System) request, hardware load balancer can suffer from many disadvantages.For example, hardware load balancer provides individually Fault point.In other words, if hardware load balancer breaks down, relevant enterprise system become it is inaccessible, because Producer's system can be no longer relayed to for service request.In addition, hardware load balancer can be it is expensive opaque hard Part part makes them become the unappealing solution for making business system balancing the load.
A solution to the problem related to hardware load balancer is using scatteredload balancer.However, Although scatteredload balancer will handle multiple problems relevant to hardware load balancer is used, scatteredload balancer Often suboptimum, because they do not have the global view of business system, and each load balancer is generally limited to serve and disappear The regulation subset of the person of expense and producer's system.
The present disclosure describes come from multiple consumers using one group of rental agency to distribute in multiple producer's systems The embodiment of the system and process of the service request of system.Rental agency can be monitored and be distributed to the subset of producer's system Access or lease, while entire multiple producer's systems are known in most cases.In addition, for each service request, it is single A Consumer System can be with several rental agencies and multiple producer's system interactions act in some cases.This group of rental agency Amalgam load balancer can be used as in certain embodiments, because the process of balancing the load can be distributed in one group based on distribution In the system of hardware, each rental agency executes the balancing the load of the subset of producer's system.
Advantageously, in certain embodiments, by dividing producer's system in rental agency simultaneously in each rent The Agency that rents maintains at least subset of the information about each producer's system, hardware load balancer and scatteredload balancer The advantages of can be implemented without disadvantage mentioned above.In addition, in certain embodiments, by not by Consumer System point It is fitted on specific rental agency and/or producer's system, and producer's system is divided into the systematic comparison that subsystem is isolated, by more The load of each processing in a producer's system can be balanced more over time.
In some cases, the system realized in producer's system and/or Consumer System and application are modified to pair Rental agency works.For example, as will be described further below, Consumer System can be modified to lease and be to the producer The access of system and the status information for maintaining producer's system.
In some embodiments, the system and method for the disclosure can with one realized on one group of calculating main frame or Multiple overlay networks are used together, and calculating main frame can trustship consumer virtual machine and producer's virtual machine.Advantageously, in certain realities It applies in scheme, the system and method for the disclosure can be realized in the networking infrastructures of consumer host and producer's host, from And lease process is enable to occur without the interference not from consumer and/or producer's virtual machine.
It is not that producer system is divided in rental agency when the embodiment of the disclosure is realized in overlay network System, producer's virtual machine relevant to each overlay network can individually be divided in rental agency.In addition, working as to consumption When person's virtual machine leases producer's virtual machine, rental agency may be selected to be assigned to consumer's virtual machine (to its lease quilt Request) identical overlay network producer's virtual machine.
Network environment is summarized
Figure 1A is shown for providing the visit to the service by producer's system 106A-D trustship to Consumer System 104A-C The embodiment for the network environment 100 asked.In general, network environment 100 represents individual data center.However in some cases, The system of network environment 100 can be distributed in multiple data centers.
Network environment 100 may include that (it can oddly be referred to as " a production to multiple producer's system 106A-D herein Person's system 106 " is plurally referred to as " producer's system 106 ") and Consumer System 104A-C (its can herein oddly by Referred to as " Consumer System 104 " or be plurally referred to as " Consumer System 104 ").Although showing four producer's systems 106 and three Consumer Systems 104, but network environment 100 may include any amount of producer's system 106 and consumer system System 104.In addition, although network environment 100 is described previously herein as representing one or more data centers, in some implementations In scheme, at least some Consumer Systems 104 can be independently of data center.For example, in some embodiments, network environment 100 can be related to specific entity or tissue.In such embodiments, can represent can at least some Consumer Systems 104 The user or customer computing systems communicated with network environment 100, but its can in independent or separated entity rather than with net Under the control of the rest part of the relevant system of network environment 100.
In general, each producer's system 106 can provide service and/or computer resource to Consumer System 104.One In a little situations, producer's system 106 each can provide identical service and/or resource to Consumer System 104.Other In the case of, at least some producer's systems 106 may be capable of providing the service and/or money different from other producer's systems 106 Source.These services and/or resource provided by producer's system 106 may include any kind of service and/or computing resource.Example Such as, service and/or computer resource can include: data storage access;Visiting from outside (such as access to internet);It is interior Portion's resource accesses (such as access to the database by entity management identical with network environment 100);Visit to the service of editing and recording It asks;Access to directory service;Access to application;Visit to processing service (such as distributed treatment of order or request) It asks;Route service (such as network route service) etc..It is discussed to simplify, in addition to having the term in the ordinary meaning of this paper Other than " service ", remainder of this disclosure will also use term " service " to refer to service, computer resource or can by or via Any other resource that producer's system 106 provides.
Producer's system 106 may include any kind of computing system.Such as producer's system 106 may include client system It is system, server (such as application server, web server etc.), laptop computer, desktop PC, Database Systems, standby Part system, catalog system, two subsystems, storage system etc..Similarly, Consumer System 104 may include any kind of calculating System.Such as Consumer System 104 may include FTP client FTP, server, laptop computer, desktop PC, plate Computer, mobile phone, game station, television set etc..In some embodiments, Consumer System 104 also is used as producing Person's system, vice versa.It (is used for example as example, a Consumer System 104 may have access to producer's system 106 with obtaining data Producer's system of Database Systems or storage system).Identical Consumer System 104 can also disappear for example, by providing to another The application access of expense person's system 104 is used as producer's system.In some cases, Consumer System 104 and producer's system 106 can be considered client and server system respectively.However, as discussed above, Consumer System 104 and producer system System 106 is not limited as described above.
When Consumer System 104 is desired or needed for the access to the service provided by producer's system 106, consumer System 104 may have access to one or more rental agency 102A-102D, and (it can oddly be referred to as " a rental agency herein 102 " or be plurally referred to as " rental agency 102 ") to request the access to producer's system 106 of the service that is capable of providing.It is logical Often, Consumer System 104 access rental agency 102 some subset with obtain the identity for the producer's system 106 to be accessed with Fulfillment service request.The subset of rental agency 102 can be randomly selected from available rental agency 102 and including several available lease generations Reason 102.For example, the request of access producer's system 106 can be provided that in the four available rental agencies shown in figure 1A Three.However, in some cases, Consumer System 104 can be assigned to that specific rental agency 102.In addition, some In the case of, Consumer System 104 can be to single rental agency 102 or to the existing rental agency 102 of each of network environment 100 The request of access producer's system 106 is provided.
Figure 1A shows an example of the communication between rental agency 102, Consumer System 104 and producer's system 106 Son.As that can see in figure 1A, each Consumer System 104 is communicated with three in four available rental agencies 102.Such as by Dotted arrow instruction, this communication may include control information, including the service for example provided with access by producer's system 106 Request and/or access producer's system 106 the related control information of request.In addition, such as by connecting Consumer System 104 To producer's system 106 subset solid arrow instruction, communication may include and producer's system 106 provide consumer 104 The related data of service request.In addition, rental agency 102 can be communicated in themselves with provide for example with rental agency 102 and/or the related status information of producer's system 106.It should be noted that between the various systems of the network environment 100 of Figure 1A Shown mutual communication be only one of communication between Consumer System 104, producer's system 106 and rental agency 102 Example, and be not defined as restrictive.About being described in more detail in network herein in regard to the process described in Fig. 3-10 Communication between the various systems of environment 100.
Figure 1B is shown for the access of the service by 106 trustship of producer's system to be used in combination to the offer of Consumer System 104 In the embodiment for the network environment 100 for providing producer's system health information to one or more rental agencies 102.Such as Figure 1B It is shown, in some cases, data can be provided from producer's system 106 to Consumer System 104 and from Consumer System 104 Producer's system 106 is provided.In other words, in some cases, data communication can be two-way.
In addition, producer's system 106 can to rental agency 102 provide health and fitness information, thus enable rental agency 102 with The positive operation of which producer's system 106 of track and which producer's system 106, which have, can be used for being assigned to Consumer System 104 Resource.In some cases, producer's system 106 can provide health and fitness information in the arranged time.In other cases, it leases Agency 102 can request or ping producer's system 106 is to obtain health and fitness information.Each producer's system 106 is usually assigned single A rental agency 102, as shown in producer's system 106A-106C.However, in some embodiments, producer's system 106 can be assigned to that multiple rental agencies 102, as being exactly to producer's system 106D situation.
Although Figure 1A and 1B show different data and control channel, network environment 100 can be able to achieve Figure 1A and 1B Shown in some or all of data and control channel.Therefore, although Figure 1B is not shown in Consumer System 104 and rental agency Channel between 102, but it is general, and control channel is present between Consumer System 104 and rental agency 102, such as in Figure 1A Shown in.In addition, some or all of channels can be unidirectional, one of system request data or control information, and it is another One system provides data or control information.Alternatively or additionally, some or all of channels can be two-way, wherein in the communications Two systems can all request and provide data or control information.
Fig. 2 shows for providing the network of the access to the service by 106 trustship of producer's system to Consumer System 104 The optional view of the embodiment of environment 100.As shown in Fig. 2, each system of network environment 100 can be via network 202 each other Communication.Network 202 may include any kind of wired or wireless network or combinations thereof.For example, network 202 may include local area network (LAN), wide area network (WAN), cellular network, the network based on Ethernet, WiFi network, WiLAN network etc..In addition, some In the case of, network 202 may include internet.
As shown in Fig. 2, each system described in figure 1A may include multiple subsystems, it can be real in hardware or in software It is existing.For example, Consumer System 104 may include lease requester 240, block of state 242, link block 244 and resource requestor 246.Lease requester 240 can be configured to request one or more producer's systems 106 from one or more rental agencies 102 Lease.In some cases, lease requester 240 can especially request the access to producer's system 106.In other situations, Lease requester 240 can request the visit to service in the case where being with or without access of the clear request to producer's system 106 It asks.
Once lease requester 240 obtains the identity of one or more producer's systems 106, link block 244 can be tried Figure establishes the communication with some or all of producer's systems 106 identified by rental agency 102.With producer's system 106 After connection is established, resource requestor 246 can request resource or service, 104 success of Consumer System from producer's system 106 Ground establishes the connection with producer's system 106.
Status information related with producer's system 106 can be obtained in block of state 242.The information can be then provided to rent Agency 102 rent in order to which rental agency 102 comes in response to from Consumer System 104, access producer's system 106 request Select producer's system 106.This information can be provided that the corresponding block of state 228 of rental agency 102.In some cases Under, block of state 242 lacks to obtain state and believe based on the success when establishing the connection with producer's system 106 or successfully Breath.In other cases, pass through inquiry producer's system 106 and/or the corresponding shape for the part for being included as producer's system 106 Morphotype block 262 obtains status information.Status information may include about the connection with producer's system 106 and/or by the producer System 106 provides any information of service.For example, status information may include about establishing Consumer System 104 and the producer Success or its information lacked when communication between system 106.As another example, status information may include in given time The quantity of the Consumer System 104 of producer's system 106 is accessed during section.Other example may include and producer's system 106 Responsiveness, the capacity of producer's system 106, the related information such as available resource at producer's system.
As shown in Fig. 2, producer's system 106 may include registration module 260 and block of state 262.As described previously, shape Morphotype block 262 can be to the offer of Consumer System 104 and producer's system for requesting status information related with producer's system 106 106 related status informations.In addition, in some cases, block of state 262 can be due to oneself itself or in response to from lease It acts on behalf of 102 request and provides status information to rental agency 102.
Registration module 260 is configured to register producer's system 106 to rental agency 102.In certain embodiments, work as life When 106 first time of production person's system is activated, registration module 260 can register producer's system 106 as initialization routine automatically Part.In other embodiments, registration module 260 may be in response to the order from user or application to register producer's system 106.In some cases, when producer's system 106 determine it the rental agency distributed it is no longer available when, registration module 260 registrable producer's systems 106.
As elucidated before, rental agency 102 may also include block of state 228.Block of state 228 can be from Consumer System One or two of 104 and producer's system 106 receive the status information of the state about producer's system 106.In addition, shape Morphotype block 228 can provide status information relevant to producer's system 106 to another rental agency 102.In addition, in some cases Under, block of state 228 can execute other rental agencies 102 by status information of the request from other rental agencies 102 Health examination.It answers for example, whether block of state 228 can be leased for agency 102 based on health-check request to determine lease generation Whether reason 102 is no longer available.In some cases, block of state 228 can be by requesting the shape from producer's system 106 State information executes the health examination of producer's system 106.
Other than block of state 228, rental agency 102 may also include producer's repository 220, dividing system 222, rent System of renting 224 and registration module 226.Producer's repository 220 may include for storing information related with producer's system 106 Any kind of database, repository or memory.For example, producer's repository 220 may include and 106 phase of producer's system The status information of pass, the identity of producer's system 106 and with the distribution of producer's system 106 in rental agency 102 or draw Divide related information.In some embodiments, it is stored instead of or in addition to other than producer's repository 220, be stored in the producer Some or all of information at library 220, which are also storable in, to be acted on behalf of at repository 206.
Dividing system 222 may include that can divide that producer's system can be used in the rental agency 102 of network environment 100 106 any system.In general, dividing system 222 can be divided into non-overlap or non-equivalent subset with producer's system 106, and Then a subset is assigned to each rental agency 102.Therefore, if there are four rental agency 102, producer's system 106 can be divided into four subsets, and a subset is related to each rental agency 102.However in some cases, subset can be weight Folded.In this case, producer's system 106 can be assigned multiple rental agencies 102 or with multiple 102 phases of rental agency It closes.When network environment 100 is initialized for the first time, the process that producer's system 106 is divided in rental agency 102 can go out It is existing.In addition, the process can be reappeared periodically.For example, whenever there is the quantitative variation in available producer's system 106 When or when there is the changes of threshold in available producer's system 106, the process for dividing producer's system 106 may occur in which, without Pipe can use producer's system 106 by addition or deletion.
When Consumer System 104 requests the access to producer's system 106 from rental agency 102, leasing system 224 Can based on Multiple factors (including status information for example relevant to producer's system 106, producer's system 106 position (such as Geographical location, data center, server rack etc.) and producer's system 106 whether access Consumer System 104 and just seek to access Resource) identify producer's system 106 to lease to Consumer System 104.Once leasing system 224 identifies that the producer is System, leasing system 224 can provide the identity of producer's system 106 to the Consumer System 104 of request.Furthermore in some cases Under, leasing system 224 can provide the lease that Consumer System 104 is authorized to producer's system 106 to Consumer System 104 Time.Alternatively or additionally, leasing system 224 can be provided to Consumer System 104 it is some it is other can consumption resources or measurement Amount.For example, can consumption resources can be and calculate circulation, currency, disk storage, connection request etc..
Registration module 226 can be used as the counter pair of the registration module 260 of producer's system 106.When from producer's system 106 When receiving the request registered to rental agency 102, the registration module 260 of rental agency 102 can determine that producer's system 106 is It is no to be assigned to rental agency 102.If it is, the then registrable producer's system 106 of registration module 226, may include depositing Store up the usability status of producer's system 106 and relevant to producer's system 106 at such as producer's repository 220 Status information.If on the other hand, registration module 226 determines that producer's system 106 is unallocated and arrives rental agency 102, then register Module 226 can recognize another rental agency 102 for being assigned to producer's system 106, and can notify quilt to producer's system 106 It is assigned to the identity of the rental agency 102 of producer's system 106.
In certain embodiments, network environment 100 may include acting on behalf of repository 206 and/or dividing system 204.Agency Repository 206 may include about or the rental agency 102 that is included in network environment 100 and/producer's system 106 letter Breath.Being stored in the information acted on behalf of in repository 206 can be by rental agency 102, Consumer System 104 and producer's system 106 One or more use.For example, in some cases, rental agency 102, which can be used, acts on behalf of repository 206 to determine network rings The quantity and/or identity of producer's system 106 in border 100.Using this information, rental agency 102 can determine how to divide life Production person's system 106.In some cases, Consumer System 104, which can be used, acts on behalf of repository 206 to determine producer's system 106 It identified by rental agency 102 for be located at after being accessed by Consumer System 104 where.Repository is acted on behalf of as using 206 another example, in some cases, producer's system 106, which may have access to, acts on behalf of repository with ought such as producer's system 106 The identity of the determination rental agency 102 to be accessed when being activated for the first time.
In some embodiments, dividing system 204 can be performed for dividing producer's system in rental agency 102 106 process.In such embodiments, rental agency 102 can not include the dividing system 222 of themselves.
In some embodiments, including at least some of shown system in Fig. 2 module can with provided by system Using and/or resources integration.For example, the block of state 262 of producer's system 106 can be answered with what is provided by producer's system 106 With and/or resources integration.Similarly, block of state 242 can with by 104 trustship of Consumer System application or Services Integration.
For accessing the instantiation procedure of the service at producer's system
The embodiment that Fig. 3 shows the process 300 for accessing the service at producer's system 106.Process 300 can be by It can be accessed by obtaining lease or the temporary Authorization of access producer's system 106 from rental agency 102 in producer's system 106 The service at place or any system of computer resource are realized.For example, process 300 entirely or partly can by Consumer System 104, Requester 240, link block 244, resource requestor 246 and block of state 242 (naming a few) is leased to realize.Although appointing The system of what quantity can entirely or partly realize process 300, but discuss to simplify, and the part of process 300 will be with reference to spy Fixed system is described.
Process 300 starts in block 302, generates in block 302, such as lease requester 240 to access producer's system 106 Lease request.In some cases, lease request may include the user of Consumer System 104 or on Consumer System 104 Using the identity of the computer resource or service that desire access to.In other cases, lease request includes access producer's system 106 request, without the service for providing to be accessed by Consumer System 104 at producer's system 106.
In block 304, requester 240 is leased to the subset for the rental agency 102 being included in network environment 100, rent is provided It rents request.In some cases, lease requester 240 can provide lease request to some or all of available rental agencies 102.It rents Requester 240 of renting can be identified by access agent repository 206 to use rental agency 102, and acting on behalf of repository 206 may include net The identity of each rental agency 102 of network environment 100.In other cases, when initialization or activation or in Consumer System Any other time during 104 operation, Consumer System 104 can each be configured with the identity of rental agency 102.For example, User (such as administrator) can provide the identity of rental agency 102 to Consumer System 104.The mark of rental agency 102 can wrap Include the title of rental agency 102, the address (such as the Internet protocol address (IP) or other network address) of rental agency 102 And/or it can be used to identify any other information of the rental agency 102 in network environment 100.In some embodiments, to It may include relevant to one or more producer's systems 106 to the offer of rental agency 102 that rental agency 102, which provides lease request, Status information, before Consumer System 104 and 106 reciprocation of producer's system.
In block 306, Consumer System 104 connects from each subset for the rental agency 102 for being provided lease request in block 304 Receive the mark of producer's system 106.In some cases, Consumer System 104 is received from some subsets of rental agency 102 and is given birth to The mark of production person's system 106.For example, Consumer System 104 can be received from one, two of rental agency 102 or entire subset The mark of producer's system 106.In the case where Consumer System 104 does not receive the identity of any producer's system 106, process 300 can terminate, and operation relevant to block 302 and/or 304 is repeatable and/or user such as administrator can be warned.Some In the case of, receive producer's system 106 mark include receive Consumer System 104 be authorized to producer's system 106 or Lease the time span of the access to producer's system 106.Each rental agency 102 of subset from rental agency 102 can The identity of single producer's system 106 is provided.However in some cases, each rental agency of the subset from rental agency 102 can provide the identity of multiple producer's systems 106.As the identity of rental agency 102, the body of producer's system 106 Part may include any letter for the method for identifying producer's system 106 to Consumer System 104 or providing access producer's system 106 Breath.For example, the identity of producer's system 106 may include that can be used for for example being stored in the table or data acted on behalf of at repository 206 The title, address (such as IP address) or identifier of producer's system 106 are found out in structure.
In some cases, block 306 may include receiving by producer's system of each subset identification of rental agency 102 106 status information.This status information can be used for helping which producer's system 106 104 determination of Consumer System will access. In some cases, status information can be obtained by the rental agency 102 communicated with producer's system 106.Alternatively or additionally, may be used Status information is obtained from the Consumer System 104 communicated in the past with producer's system 106.The received status information of institute may include renting The independent set or subset for 102 available status informations of agency of renting.In some cases, the received status information of institute can with or It can not intersect with the available status information of rental agency 102.
Link block 244 attempts to initiate the connection with each producer's system 106 identified in block 306 in block 308.One In a little situations, link block 244 can attempt to initiate the connection with the subset of the producer's system 106 identified in block 306.Attempt to send out Playing connection may include for attempting to open any process with the communication channel of producer's system 106.Such as, it is intended to it initiates the connection It may include sending producer's system 106 for connection request grouping.In general, when Consumer System 104 receives producer's system When 106 identity, link block 244 can attempt to establish the connection with producer's system 106.Because Consumer System 104 may Response seldom is received simultaneously from multiple rental agencies 102, because for example rental agency 102 can be located at from Consumer System 104 At different distances or there can be different loads, link block 244 may seldom try concurrently to initiate and multiple producers system The connection of system 106.Alternatively, the attempt for initiating to connect with producer's system 106 can interlock, even if in very small degree On.However, in some embodiments, link block 244 can attempt to initiate the connection with multiple producer's systems 106 simultaneously. For example, in some cases, consumer module 104 may wait for, until each subset of rental agency 102 responds, Or in some cases, response can be received from multiple rental agencies 102 simultaneously.
In block 310, resource requestor 246 is accessed or is requested from first producer's system 106 to service or computer resource Access, link block 244 is successfully set up the connection with first producer's system 106.In some cases, it is successfully set up Connection with producer's system 106 may include that confirmation (" ack ") grouping etc. is received from producer's system 106.Due to such as closing above The similar reason described in block 308, the connection with producer's system 106 can be established with staggered mode.However, connecting The case where module 244 is simultaneously or the substantially identical time is successfully set up the connection with more than one producer's system 106 Under, resource requestor 246 can be randomly chosen producer's system 106, and the access to service is requested from producer's system 106. Optionally, selection algorithm can be used to determine from which producer's system 106 and request service in resource requestor 246.Selection algorithm It is not limited, and may include the selection algorithm of such as round-robin method, least recently used (LRU) or any other type.One In a little embodiments, Consumer System 104 can request the access to service from some or all of producer's systems 106, with production The communication connection of person's system 106 or communication channel are established.In some cases, service can type having the same.Other In the case of, Consumer System 104 can request the access to different services from each producer's system 106.
In addition, in the connection compared with needing the Consumer System 104 in particular point in time with more producer's systems In the case where being established successfully, Consumer System 104 can be by the one or more additional producer's systems 106 of lease transference. Optionally, Consumer System 104 can will maintain in lease pond the lease of additional producer's system 106, and can maintain volume The connection of outer producer's system 106.In this case, if with during the leasing period of additional producer's system 106 Some time Consumer System 104 needs the access to extra-service, then Consumer System 104 can utilize additional producer's system One of 106 service, the lease of additional producer's system 106 are maintained in lease pond.
In the 106 reception state metadata of producer's system that block 312, block of state 242 are connected from first.In some feelings Under condition, block of state 242 can be successfully set up and life from each 106 reception state metadata of producer's system, link block 244 The communication channel of production person's system 106.In addition, block of state 242 can obtain state metadata from producer's system 106, mould is connected Block 244 fails to establish the communication channel with producer's system 106.For example, link block 244 fails foundation and specific manufacturer The fact that the communication channel of system 106, can be included as state metadata relevant to producer's system 106.State metadata does not have Have and limited, and may include and establish information related with the connection of producer's system 106 and maintain and producer's system 106 The related information of connection, information related with the responsiveness of producer's system 106 and with it is available at producer's system 106 Service related information.For example, state metadata may include the time quantum to disappear when being connected to producer's system 106, arrive Time delay in the connection of producer's system 106, the available processes resource at producer's system 106, request must be sent out again Be sent to producer's system 106 (such as grouping due to losing) number and can be relevant to the state of producer's system 106 What other types of data.
In some embodiments, can before block 310 perfoming block 312.In this case, block of state 242 can From each connected 106 receiving status information of producer's system.Consumer System 104 can be based on being connect in this case Status information selection producer's system 106 of receipts is to access service.
In decision block 314, the access to another service is determined using the Consumer System 104 of such as resource requestor 246 It whether is desired.This another service can be different service or it can be the service of same type.Such as some In the case of, a service can be for accessing network application, and another service can be for down loading network resource (such as by The image or video of Webpage such as webpage trustship).Optionally, the two services can be used in down loading network resource.For example, User can download two Webpages or download resource from two Webpages.If it is, link block 244 is in block 308 Initiate the connection with the producer's system 106 identified.In some cases, link block 244 is initiated and producer's system 106 Connection, producer's system 106 in lease pond relevant to Consumer System 244 be identified.Lease pond may include current quilt Lease to the identity of producer system 106 of the Consumer System 104 for providing the access to resource.In some cases, it rents Pond of renting includes being leased for producer's system 106 of Consumer System 104, but Consumer System 104 does not access the producer currently System 106.If lease pond does not include any lease, such as lease requester 240 can be used to come again for Consumer System 104 Implementation procedure 300.In some embodiments, decision block 314 is optional.For example, if being rented without producer's system 106 It rents to Consumer System 104, then process 300 can start to repeat with block 302.
In some embodiments, process 300 can be used for updating pervious lease to producer's system 106.In this way In the case where, the body of the producer's system 106 accessed before the lease request that block 302 generates may include Consumer System 104 Part.In addition, it is to update the instruction of request that lease request, which may include request,.The request of more fresh tenancy, which can be then provided to, initially to be offseted The rental agency 102 of the identification producer's system 106 of the person's of expense system 104.Assuming that rental agency 102 determines producer's system 106 still It is so available and/or with for providing the capacity of service to Consumer System 104, then rental agency 102 can indicate to update Request goes through and can provide part of the time span of more fresh tenancy as block 306 to Consumer System 104.It is in consumer System 104 will maintain in lease pond with the lease of one or more additional producer's systems 106 and leasing period is to additional life Production person's system 106 passs in the case where the unfavorable service at additional producer's system 106 of Consumer System 104, disappears Expense person's system 104 allows lease passage to request to be sent to corresponding to additional producer's system 106 without that will lease to update Rental agency 102.
In some cases, the process that request lease updates can the appearance when existing lease expires.In other cases, make It can determine the clothes to access at one or more producer's systems 106 with the Consumer System 104 of such as resource requestor 246 The probability that the existing service request of business will not finish before lease time expires.If the probability, which meets, updates threshold value, disappear Expense person's system 104 can it is existing lease expire before some time point request producer's system 106 lease update, thus Reduce or prevent service disruption caused by expiring due to lease.
In certain embodiments, lease to the access of producer's system 106 may include to one or more producers System 106 and/or the relevant tissue of rental agency 102 or entity provide payment.For example, producer's system 106 can be made available by Part as payment access service.Optionally, lease may not be needed any kind of branch to the access of producer's system 106 It pays.In such embodiments, the occasional nature for referring to the access to producer's system 106 is leased rather than financial lease.
For providing the instantiation procedure of the lease of producer's system to Consumer System
The embodiment that Fig. 4 shows the process 400 of the lease for providing producer's system 106 to Consumer System 104. Process 400 can be realized by any system for the identity that Consumer System 104 can be given to provide producer's system 106.In addition, process 400 can be realized from any system that can lease the access to producer's system 106 to Consumer System 104.For example, process 400 It can entirely or partly be realized by rental agency 102, leasing system 224 and block of state 228 (naming a few).Although appointing The system of what quantity can entirely or partly realize process 400, but discuss to simplify, and the part of process 400 will be with reference to spy Fixed system is described.
Process 400 starts in block 402, in block 402, such as rental agency 102 leasing system 224 from Consumer System 104 receive the request of access of the lease to producer's system 106.In some instances, request may include that Consumer System 104 is sought Seek the identity of the special services or computing resource that access at producer's system 106.As described in chapters and sections in front, one In a little situations, lease request may include the request that existing lease is updated by the consumer 104 of producer's system 106.
In block 404, block of state 228 can receive the state of one or more producer's systems 106 from Consumer System 104 Metadata.This received state metadata of institute may include and attempt before Consumer System 104 and one or more producers systems 106 communication of system or service relevant data of the access from one or more producer's systems 106.For example, the received state of institute Metadata may include Delay, with by the related data of responsiveness of the Consumer System 104 to the request of producer's system 106 Or any other information described in block 312 in the past.In addition, the received state metadata of institute may include Consumer System 104 From the received data of producer's system 106 and/or Consumer System 104 based on the reciprocation of it and producer's system 106 and The data mode metadata of generation.In some embodiments, block 404 can be optionally.For example, if request is from consumption Person's system 104 received first is requested, then Consumer System 104 will can not provide any state of rental agency 102 Metadata.
In block 406, block of state 228 is based on updating producer's system status information in the received state metadata of block 404. In some cases, updating producer's system status information may include updating to be with the producer in producer's repository 220 It unites 106 relevant entries.In some embodiments, block 406 can be optionally.
Furthermore in block 408, block of state 228 is provided to the second rental agency in the received at least some state members of block 404 Data.For example, the rental agency 102 of implementation procedure 400 can determine that some state metadatas are to be directed to be assigned to different leases Producer's system 106 of agency 102.In this case, rental agency 102 can be to the rent for being assigned to producer's system 106 The agency 102 that rents provides status information.In other cases, rental agency 102 can be to all 102 (rental agencies 102 of rental agency Communicated with all rental agencies 102) state metadata is provided, rental agency 102 can be some or all of of network environment 100 Rental agency 102.Any kind of data transmission, duplication and/or synchronizing process can be realized in network environment 100 to lease Shared state metadata in agency 102.For example, the filling algorithm that floods (flood fillalgorithm) or general woods algorithm can For the shared data in rental agency 102.Describing in following application can be herein for working as in rental agency 102 The additional system and method for middle shared data: on December 28th, 2010 " DATA REPLICATION submitting and entitled The U.S. Application No. 12/980,133 of FRAMEWORK ";On December 28th, 2010 " DATA submit and entitled The U.S. Application No. 12/980,153 of REPLICATION FRAMEWORK ";On December 28th, 2010 is submitting and entitled The U.S. Application No. 12/980,193 of " DATA REPLICATION FRAMEWORK ";And on December 28th, 2010 it is submitting and The U.S. Application No. 12/980,258 of entitled " DATA REPLICATION FRAMEWORK ".In these above-mentioned applications Each of hereby by reference be all incorporated into.
In some embodiments, block 408 is optional.For example, in some embodiments, Consumer System 104 State metadata is provided to rental agency 102 for the producer's system 106 for being assigned to rental agency 102, rental agency 102 exists Block 402 receives request.
In block 410, leasing system 224 based on each producer's system 106 for being assigned or being assigned to rental agency 102 Relevant producer's status information selects producer's system.In some cases, producer's status information is based on by consumer The information (such as in the received state metadata of block 404) that system 104 provides.In other cases, producer's status information can Based on the information obtained by the rental agency 102 communicated with producer's system 106.It is assigned for example, rental agency 102 is executable To the health or status checkout of each producer's system 106 of rental agency 102.These health examination may include the ping producer System 106 requests the update of the Resource Availability from producer's system 106 or for obtaining the shape with producer's system 106 Any other process of the related information of state.In addition, producer's status information can be based on from the received letter of other rental agencies 102 Breath.
In certain embodiments, selection producer's system 106 can be based at least partially on and different producer's systems 106 relevant weights.These weights can be generated based on producer's status information.For example, instruction is when logical with Consumer System 104 There is producer's status information of low time delay and low error rate can lead to producer's system 106 and added for producer's system 106 when letter It Quan get Geng high and is therefore more likely to be selected at block 410.On the contrary, usually losing the production of the connection of Consumer System 104 Person's system 106 can be weighted lower and therefore unlikely be selected at block 410.
In some cases, the selection of producer's system 106 can be based on any amount of extra factor, such as with consumer The position of the related producer's system 106 of system 104.Location information may include that for example whether producer's system 106 is located at and disappears In the identical data center of the person's of expense system 104 or identical server rack.Selection producer's system 106 in some cases may be used Based on the service requested by Consumer System 104.In still other situations, the selection of producer's system 106 may be based partly on Requested by Consumer System 104 and/or be assigned in the past Consumer System 104 lease time quantity.In some cases Under, the producer's system 106 being at least loaded into may be selected in leasing system 224.In other cases, leasing system 224 can be from one The group selection of producer's system 106 has producer's system 106 of the load lower than threshold value.In some embodiments, it is selecting The load of Shi Xuanding producer's system 106 is confirmed as increasing, without considering whether Consumer System 104 is established and selected production The connection of person's system 106.Advantageously, in some embodiments, the increased load of producer's system 106 is selected by recording Without the consumer's connection established in view of producer's system, same producer's system 106 is chosen during a period of time The probability selected more than threshold number reduces, because while the actual load of producer's system 106 may be low, but arrives consumer The expection load of the following connection of system 104 is considered when selecting producer's system.
In some cases, selecting producer's system 106 in block 410 may include that selection has relative to one or more negative Producer's system 106 of the minimum load of lotus measurement (such as connection, processor utilize).Optionally, producer's system is selected 106 may include selecting have producer's system in one group of producer's system 106 lower than the load of threshold load 106.From have lower than load threshold value load this group of producer's system 106 in selection producer's system 106 can be with It is machine, pseudorandom or be based on selection algorithm (such as least recently used, shoulder load etc.).Advantageously, in some embodiment party In case, always select that there is minimum load by selecting producer's system 106 from one group of producer's system 106 Producer's system 106, the probability of load swing and/or reduces.In addition, the appearance of load bubble or load hot spot, such as The appearance of the subset of system relevant to high load capacity compared with than the rest part of network environment 100 passes through 100 row of network environment Into reducing.
In block 412, leasing system 224 is to provide rent to Consumer System 104 in producer's system 106 that block 410 selects It rents information.This information of lease may include the identity of producer's system 106 and Consumer System 104 is authorized in some cases Access the quantity of the lease time of producer's system 106.As elucidated before, the identity of producer's system 106 may include can be just In any information for positioning and accessing producer's system 106, such as network address.In some embodiments, the producer is provided The identity of system 106 may include providing certificate or public key to be convenient for communicating with producer's system 106.
As indicated previously, in some cases, process 400 can be used for leasing update request.In this case, block 410 may include determining producer's system 106 (Consumer System 104 requests the lease to producer's system 106 to update) whether still So it can be used for leasing.Determining whether producer's system 106 still can be used for leasing may include whether determining producer's system 106 has There is the resource capacity for continuing to serve Consumer System 104.In addition, determining whether producer's system 106 still can be used for leasing It may include determining whether one or more measurements of producer's status information relevant to producer's system 106 meet to use threshold Value.For example, determination may include checking whether error rate relevant to producer's system 106 is lower than threshold value error rate.If production Person's system 106 can be used for leasing update, then rental agency 102 can send producer's system 106 more to Consumer System 104 Fresh tenancy.If rental agency 102 determines that producer's system 106 is not useable for lease and updates, rental agency 102 can be reported equally Accuse and/or provide the information of lease of optional producer's system 106.
Example producer's system update process
The embodiment that Fig. 5 shows producer's system update process 500.Process 500 can be by may be updated producer's system 106 Availability and can be repartitioned in rental agency 102 producer's system 106 any system realize.For example, process 500 It entirely or partly can be by rental agency 102, dividing system 222, dividing system 204, registration module 226 and block of state 228 (naming a few) is realized.Although any amount of system can entirely or partly realize process 500, in order to which simplification is begged for By the part of process 500 will be described with reference to specific system.
Process 500 starts in decision block 502, determines state more in the block of state 228 of block 502, such as rental agency 102 Newly whether it is received from producer's system 106.State update may be in response to be sent to producer's system by rental agency 102 106 request and be expected by rental agency 102.Optionally, since update relevant to each producer's system 106 is dispatched, shape The expectable state of morphotype block 228 updates.Such as in some cases, each producer's system 106 can be configured to per hour or The rental agency 102ping that is distributed on the basis of daily from trend provides state and updates.If state update is received, Process 500 is back to decision block 502 to wait NextState to update.In addition, block of state 228 may be updated and in production inventory library 220 and/or act on behalf of the relevant producer's status information of producer's system 106 at repository 206.
On the other hand, if state update is not received in decision block 502, block of state 228 is updated in block 504 The state of producer's system 106 is to indicate the unavailability of producer's system 106.The state for updating producer's system 106 can wrap Include by producer's system 106 be not useable for being leased for being stored in producer's repository 220 to the instruction of Consumer System 104 and/ Or it acts on behalf of in repository 206.In some cases, even if state update is received in decision block 502, block of state 228 The state of producer's system can be updated to indicate that producer's system 106 is not available in block 504.For example, if institute is received Status information instruction producer's system 106 is broken down, request is served with threshold rates or generated more than threshold value error rate wrong Accidentally, then block of state 228 may be updated producer's repository 220 and/or act on behalf of repository 206 to indicate producer's system 106 not It is available again.In some embodiments, producer's status information of producer's system 106 is updated to indicate its availability Loss may include that alert management person producer system 106 is no longer available.Update is more fully described below with reference to Figure 10 The status information of producer's system 106.
Whether become unavailable in producer's system 106 of decision block 506,222 threshold value quantity of dividing system.If No, then process 500 returns to decision block 502 to wait NextState to update.If dividing system 222 is determined in decision block 506 Producer's system 106 of number of thresholds becomes unavailable, then dividing system 222 executes the producer in block 508 and repartitions process. This producer's system is described in more detail below with reference to Fig. 6 and repartitions process.In some embodiments, 506 He of decision block One or two of block 508 is executed by dividing system 204.
Example division process
The embodiment that Fig. 6 shows the partition process 600 for dividing one group of producer's system 106.Process 600 can be by can It tracks the variation in the quantity of available producer's system 106 and producer's system can be repartitioned in rental agency 102 106 any system is realized.For example, process 600 entirely or partly can be by rental agency 102, dividing system 222, division System 204, registration module 226 and block of state 228 (naming a few) are realized.Although any amount of system is all or part of Process 600 can be achieved in ground, but discusses to simplify, and the part of process 600 will be described with reference to specific system.
Process 600 starts in block 602, can use producer's system 106 in block 602, such as the tracking of block of state 228 delta.In some cases, the tracking of block of state 228 can use the absolute change of the quantity of producer's system 106.Optionally or In addition, the tracking of block of state 228 can use the change rate of the quantity of producer's system 106.It can be in producer's system 106 Delta or variation can the addition based on new production person's system 106 or the losses in the availability of producer's system 106.One In a little embodiments, process 500 can be used to identify the loss in the availability of producer's system 106.In addition, the producer can be used The determination of system 106 can be updated based on the user for losing or adding of instruction producer's system 106.Moreover, the producer can be based on The registration of system 106 is attempted to track the addition of producer's system 106.It in some cases, can be based on by Consumer System 104 The information of offer determines the availability of producer's system 106.In addition, can be according to actual quantity or according in producer's system Percentage in 106 availability changes to track delta or the variation that can use the producer.
In some embodiments, producer's system 106 and/or can be by each rent with the delta of producer's system 106 The agency 102 that rents tracks.Optionally, each rental agency 102 tracks the available producer's system for being assigned to rental agency 102. Additionally or alternatively, it can be tracked with the counting and/or delta of producer's system 106 by autonomous system such as dividing system 204.
In decision block 604, whether 222 determination of dividing system can meet threshold value with the delta of producer's system 106.This Delta can be absolute value.In other words, the addition or reduction of producer's system 106 can be tracked.In certain embodiments In, the addition and reduction of producer's system 106 can be independently tracked, individual threshold value to it is each related.Therefore in some feelings Under condition, one or two threshold value can be satisfied, even if with total change cancellation of producer's system or combined threshold value can be unsatisfactory for.? Under some cases, delta can indicate percentage variation and/change rate.In this case, threshold value can be percentage threshold And/or change rate threshold value.
If delta is unsatisfactory for threshold value, or if none delta meets corresponding threshold value, block of state 228 exists Block 602, which continues tracking, can use producer's system 106 or the variation in available producer's system 106.On the other hand, if Delta meets threshold value or delta meets corresponding threshold value, then dividing system 222 notifies implementation procedure to other rental agencies 102 600 rental agency 102 is just initiating the division of producer's system 106 in block 606 or is repartitioning process.Advantageously, certain In embodiment, by notifying the rental agency 102 of implementation procedure 600 just to initiate partition process, mistake to other rental agencies 102 Journey 600 avoids that multiple rental agencies 102 is made to be performed simultaneously partition process, this can be for example due to the counting in producer's system 106 Cause non-optimal results with the race condition in division.In some embodiments, block 606 can be optionally.Such as In some embodiments, the dividing system 204 isolated with rental agency 102 is executable to divide or repartitions process.
In block 608, dividing system 222 obtains the identity of available producer's system 106.Dividing system 222 can pass through access Producer's repository 220 and/or the identity that available producer's system 106 is obtained by access agent repository 206.Some In the case of, dividing system 222 can obtain the identity of available producer's system 106 by contacting other rental agencies 102.
In block 610, dividing system 222 divides in rental agency 102 can use producer's system 106.Dividing system 222 Any kind of partitioning algorithm can be used to divide producer's system 106.In general, producer's system in rental agency 102 106 division generation can be assigned to that the non-overlap of rental agency 102 or non-equivalent group of producer's system 106.However one In a little situations, division can be overlapping.In addition, in some cases, subset can be unbalanced.In other words, some Rental agency 102 can be assigned more producer's systems 106 than other rental agencies 102.It is unbalanced feelings in subset Under condition, the quantity or percentage for being assigned to producer's system 106 of specific rental agency 102 can be based at least partially on rent Rent agency 102 and/or be assigned to rental agency 102 the accessible request of producer's system 106 quantity.For example, first Rental agency 102 is assigned less producer's system than another rental agency 102, if the first rental agency is assigned energy Producer's system 106 of enough greater amount of requests than other producer's systems 106 processing Consumer System 104.
In addition, can provide in some producer's systems 106 in the embodiment of the service different from other producer's systems, Producer's system 106 can be divided, so that each rental agency, which is assigned, can provide the producer's system specifically serviced.It is optional Ground, it is possible to provide the producer's system 106 specifically serviced can be divided in the selection subsets of rental agency 102.
In block 612, when block 610 is completed, the dividing system 222 of the rental agency 102 of implementation procedure 600 is with being assigned to The identity of producer's system 106 of each rental agency 102 updates in other rental agencies 102 in network environment 100 Each.In some embodiments, block 612 may include the producer system with the rental agency 102 for being assigned to implementation procedure 600 The identity of system 106 updates the rental agency 102 of implementation procedure 600.Rental agency 102 is updated with the identity of producer's system 106 It may include the table or database updated at producer's repository 220.In some cases, because rental agency 102 executed Journey 600, so block 612 relative to rental agency 102 is optional and other in network environment 100 only with respect to being included in Rental agency 102 and be performed.
In some embodiments, process 600 can be used for providing producer's system 106 in rental agency 102 Initial division.For example, when being configured 100 first time of network environment, when available producer's system 106 is activated, life can be used The delta of production person's system 106 can be able to satisfy the threshold value of decision block 604.Alternatively or additionally, user can be in network environment 100 When being once configured or in any other time manual actuation partition process.
Process 600 is described as be in rental agency 102 producer's system 106 that divides.However, process 600 not by It is limited in this way.In some cases, process 600, which can be used for dividing, can provide Consumer System 104 for accessing The lease of producer's system 106 in rental agency 102.For example, rental agency 102 or dividing system 222 can recognize one Group can use the available multiple leases of each producer's system of producer's system with producer's system and this determining group.It executed The rental agency 102 of journey 600 can be the first rental agency 102 with detect the threshold value changed in available lease or can be by It specifies to execute the rental agency 102 that lease divides.Rental agency 102 can based on from each producer's system 106 (such as in life During the registration of production person's system 106) received status information identifies multiple available leases.It alternatively or additionally, can be based on life The type of production person's system 106 is determined based on from producer's system 106 or user (such as administrator) received configuration information The quantity of lease can be used.
Rental agency 102 can be by coming from each life to the distribution of each rental agency 102 from multiple rental agencies 102 The lease subset of the adoptable multiple leases of production person's system 106 is come each producer for being divided in multiple rental agencies 102 The adoptable multiple leases of system 106.Multiple leases can be equal or be substantially equally divided in rental agency 102. In some cases, due to the multiple that the quantity of lease is not the quantity of rental agency 102, at least some rental agencies 102 can It is assigned one more or less lease.In addition, in some cases, lease can not be divided equally, due to for example existing Configuration variance in some rental agencies 102 and/or some producer's systems 106.In some cases, each rental agency One group of lease of 102 assigned non-overlaps.Optionally, at least some leases can be assigned to that multiple rental agencies 102.Some In embodiment, multiple rental agencies 102 that lease is divided into producer's system 106 can be to the subset of rental agency 102. Such as in some cases, the subset of rental agency 102 can be assigned to that the subset of producer's system 106.
After dividing multiple leases or when, for each rental agency 102 of multiple rental agencies 102, implementation procedure 600 rental agency 102 can provide the subset for being assigned to the lease of rental agency 102 to rental agency 102.To each lease It may include mentioning multiple leases from each producer's system 106 for being assigned to each rental agency 102 that agency 102, which provides lease, It is supplied to each rental agency 102.Alternatively or additionally, providing lease to each rental agency 102 may include to rental agency 102 The identity of each distributed lease is provided.Further it is provided that lease may include provide for communicated with producer's system 106 and/ Or the link information for the lease using producer's system 106.
Advantageously, in some embodiments, each producer's system 106 being divided in multiple rental agencies 102 The balance of the workload in multiple rental agencies 102 is realized in adoptable multiple leases.In some cases, it executed The rental agency 102 of journey 600 needs not be provided the subset for being assigned to the lease of itself in itself, because of its positive implementation procedure 600.So And in some cases, rental agency 102 can provide lease to itself.For example, executing the rental agency 102 divided Subsystem (dividing system 222) situation different with the subsystem of lease received and/or tracking is assigned to rental agency 102 Under, the rental agency 102 of implementation procedure 600 can provide the identity of its lease distributed to itself.
In some cases, process 600 can be used for dividing producer's system 106 and with it is every in rental agency 102 The relevant lease of a producer's system 106.
Example producer's system registry process
Fig. 7 shows the embodiment from producer's system registry process 700 from the point of view of producer's system 106.Process 700 can be realized from any system that can register producer's system 106 to rental agency 102.For example, process 700 is all or part of Ground can be realized by producer's system 106, registration module 260 and block of state 262 (naming a few).Although any amount of System can entirely or partly realize process 700, but discuss to simplify, and the part of process 700 will refer to specific system It is described.
Whenever producer's system 106 is activated or initializes for the first time in the period of inactive or after system restarting Or when deactivating or reinitializing, process 700 be may occur in which.In some cases, whenever producer's system 106 determines its institute When the rental agency 102 of distribution is no longer available, process 700 may occur in which or reappear.The rental agency 102 distributed is no longer Available determination can for example based on being received from user, from acting on behalf of repository 206 and obtaining information, or if in producer's system 106 offer states, which update, not to be received from the rental agency 102 distributed about ACK after the update of state described in Fig. 5 for example It arrives.
Process 700 starts in block 702, and in block 702, such as the access of registration module 260 is from for example acting on behalf of repository 206 The identity of one group of rental agency 102.In some cases, producer's system 106 can be from this group lease generation of internal memory accesses The identity of reason 102.For example, producer's system 106 can be preconfigured the identity of one group of rental agency 102.In other situations Under, user may specify the rental agency 102 to be accessed.
In block 704, registration module 260 selects a rental agency 102 from this group of rental agency 102 identified in block 702. Registration module 260 can be selected randomly or by using any other selection method such as round-robin method or least recently used method Select rental agency 102.In the case where this group of rental agency 102 is classified, registration module 260 be may be selected in the group classified The first rental agency 102.In certain embodiments, block 704 can be optionally.For example, block 704 is in the specified lease of user It is unwanted in the case where agency 102.
In block 706, registration module 260 initiates or attempts to initiate the connection with the rental agency 102 selected in block 704.? Under some cases, it is intended to which initiating the connection with rental agency 102 includes the attempt registered to rental agency 102.
In block 708, registration module 260 receives connection response from rental agency 102.Registration module 260 is true in decision block 710 Determine whether connection response confirms the registration of producer's system 106 or indicate the identity of the second rental agency 102.If registration module 260 determine the registration of connection response confirmation producer's system 106 in decision block 710, then block of state 262 is in block 712 to lease Agency 102 provides status information related with producer's system 106.This status information may include measuring with one or more State or the relevant any information of situation, one or more measurement are related to producer's system 106.For example, status information can wrap Include one or more computing resources (such as memory, processor, network bandwidth, using etc.) availability, Consumer System 104 The quantity of (its service request is handled by producer's system) and any other information relevant to the state of producer's system 106.
When registration module 260 determines the registration of connection response confirmation producer's system 106, process relevant to block 712 It may occur in which.Alternatively or additionally, process relevant to block 712 can occur in some later time.Furthermore in some embodiment party In case, process relevant to block 712 can occur in continuous foundation, on intermittent basis, or may be in response to from rental agency The request of the update of 102 state to producer's system 106 and occur.In other embodiments, whenever being in the producer When having changes of threshold in the state or situation of system 106, process relevant to block 712 be may occur in which.For example, working as producer's system 106 The availability of process resource when dropping to threshold level, process relevant to block 712 may occur in which.
If registration module 260 determines in the received connection response of block 708 to include the second rental agency in decision block 710 Mark, then registration module 260 initiates the connection with the second rental agency in block 714.By as described in about process 800, second Rental agency may include that the first rental agency (such as the rental agency identified in block 704) is confirmed as and producer's system 106 Relevant rental agency.
In block 716, block of state 262 provides status information to the second rental agency.In certain embodiments, block 716 It may include being previously with regard to one or more embodiments described in block 712.In certain embodiments, in the received company of block 708 Connecing response registering whether for producer's system 106 of instruction is successful and any additional rental agency of nonrecognition.Such In the case of, if the registration of producer's system 106 is not that successfully, producer's system 106 can attempt to register or initiate and come The connection of another rental agency for this group of rental agency that comfortable block 702 identifies, and alternatively repeat 704,706,708 and of block 710, until rental agency 102 confirms the registration of producer's system 106.
In some embodiments, it is selected randomly and/or not necessarily in the second rental agency that decision block 710 identifies It is related to producer's system 106.In this case, block 714 may include execute above for described in block 708 and 710 but One or more embodiment related with the second rental agency.In other words, the circulation from block 714 to block 708 can be formed.? Under such circumstances, decision block 710 can recognize third rental agency, if the connection response from the second rental agency identifies The registration of third rental agency rather than confirmation producer's system 106.This circulation can be repeated continuously, until producer's system Until 106 are successfully registered to rental agency 102.Optionally, circulation can be performed threshold number.If threshold value is satisfied and gives birth to Production person's system 106 is not registered successfully, then warning can produce.For example, can notify (such as via e-mail or pop-up police Accuse) administrator producer's system 106 fail to rental agency 102 register.In some cases, such as unexpected system is former Barrier, producer's system 106 may fail to one group of registration of rental agency 102 or the registration for updating them.In this case, Consumer System 104 may have access to the Cache of link information or lease, to attempt to access that producer's system 106.Advantageously, In certain embodiments, by using possible overdue Cache information, the fault time of resource access can be some In the case of be reduced or eliminated.
Example producer's system registry process
Fig. 8 shows the embodiment from producer's system registry process 800 from the point of view of rental agency 102.Process 800 It can be by that can be realized in any system that rental agency 102 registers producer's system 106.For example, process 800 entirely or partly may be used It is realized by rental agency 102, registration module 226 and block of state 228 (naming a few).Although any amount of system is complete Portion can partly realize process 800, but discuss to simplify, and the part of process 800 will be described with reference to specific system.
Process 800 starts in block 802, and in block 802, registration module 226 receives registration request from producer's system 106.? In some embodiments, registration request may include certificate relevant to producer's system 106 or encryption key.Registration module 226 Determine whether producer's system 106 is assigned to rental agency 102 in decision block 804.Determine whether producer's system 106 is divided Being fitted on rental agency 102 may include access producer's repository 220 and/or acts on behalf of repository 206 to determine producer's system 106 Whether rental agency 102 is assigned to.In addition, in some cases, determining whether producer's system 106 is assigned to lease generation Reason 102 may include for example changing life based on the received identifier of institute relevant to producer's system 106, certificate or encryption key The identity of production person's system 106.
If registration module 226 determines that producer's system 106 is assigned to rental agency 102, registration module 226 is in block The registration of 806 confirmation producer's systems 106.Confirmation producer's system 106 registration may include notify producer's system 106 it to Rental agency 102 is registered.In addition, in some cases, block 806 may include updating producer's repository 220 and/or agency's storage Library 206 is available with to indicate producer's system 106 and is registered to rental agency 102.In addition, in some embodiments, block 806 may include providing to producer's system 106 to card that is related to rental agency 102 and/or being assigned to producer's system 106 The access of book or encryption key.This certificate and/or encryption key can be used for producer's system 106 and rental agency 102 it Between other communication.Moreover, certificate and/or encryption key can be used between producer's system 106 and Consumer System 104 Communication, such as to verify the identity of producer's system 106 or the data transmitted between the two systems of protection.
In block 808, block of state 228 is from 106 receiving status information of producer's system.This status information may include above Some or all of embodiments described in status information about block 712.Block of state 228 can at least partly ground in block 810 In the producer's status information for updating producer's system 106 in the received status information of block 808.Update producer's status information It may include updating entry or measuring in producer's repository 220 and/or the one or more acted on behalf of at repository 206 to reflect life The state of production person's system 106.
If registration module 226 determines that producer's system 106 is not allocated to rental agency 102 in decision block 804, Registration module 226 identifies the assigned another rental agency of producer's system 106 in block 812.In block 814, registration module 226 can The identity for the rental agency 102 that producer's system 106 is assigned to is provided to producer's system 106, enables producer's system 106 Enough contact the rental agency 102 identified in block 812.In certain embodiments, block 812 and block 814 can be optionally.Such as In some cases, registration module 226 can notify producer's system 106 that it is related to rental agency 102, and therefore in block 802 received registration requests be it is unsuccessful, can without notify that producer's system 106 is assigned to producer's system 106 Select rental agency 102.
Rental agency repartitions process
Fig. 9 shows the embodiment that rental agency repartitions process 900.Process 900 can be assigned by that can redistribute Any system to one group of producer's system 106 of rental agency 102 is realized.For example, process 900 entirely or partly can be by renting Rent agency 102, dividing system 222 and dividing system 204 (naming a few) is realized.Although any amount of system all or It can partly realize process 900, but be discussed to simplify, the part of process 900 will be described with reference to specific system.
Process 900 block 902 start, wherein dividing system 222 for example relevant to the first rental agency 102 receive it is another Or second rental agency 102 be no longer available instruction.The second rental agency can be determined based on such as ping or status checkout 102 are no longer available instruction.In other cases, when message is not confirmed by the second rental agency 102, dividing system 222 It can determine that rental agency 102 is no longer available.In other other embodiments, user may specify the second rental agency not It is available again.In some instances, process 900 can be executed by dividing system 204.
In block 904, dividing system 222 identifies the producer's system 106 for being assigned to no longer available rental agency 102. By access producer's repository 220 and/or it can act on behalf of repository 206 and identify producer's system 106.In block 906, system is divided System 222 is divided in producer's system 106 of the identification of block 904 in remaining rental agency 102.In some cases, block 906 can Including notifying remaining 102 partition process of rental agency just occurring, to prevent multiple rental agencies simultaneously as discussed previously with respect to block 610 It is described to divide identified producer's system 106.
In some embodiments, block 906 may include repartition all available producer's systems 106 rather than just It is assigned to those of no longer available rental agency 102 producer's system 106.In such embodiments, block 904 can wrap Include all available producer's systems 106 of identification.As previously mentioned, the division of producer's system 106 can be overlapping, non-overlap , it is equivalent, non-equivalent and/or producer's type can be based on.Therefore in some embodiments, block 906 may include front The some or all of embodiments described in block 610.In addition, in some cases, being assigned to the second rental agency 102 The division of producer's system 106 can be based at least partially on the type of the second rental agency 102.For example, if the second lease generation Reason 102 provides producer's system 106 of storage service by exclusively distribution, then is assigned to the production of the second rental agency 102 Person's system 106 can provide the son of the rental agency 102 of producer's system 106 of storage service or resource being also exclusively assigned It is repartitioned in collection.
In block 908, the newest producer's system for being assigned to still available each rental agency 102 of dividing system 222 106 identity updates remaining rental agency 102.
In some embodiments, process 900 can be used for the addition of rental agency 102 or the replacement of rental agency 102.? Under such circumstances, block 904 may be identified for all available producer's systems 106 divided in block 906.In some cases, It can be can be with producer's system 106 in the available identical producer's system 106 of period earlier.In other cases, This group of producer's system 106 can due to producer's system 106 lose or the addition of producer's system 106 and change.Exist In the case where the one-to-one replacement of rental agency 102, fresh tenancy acts on behalf of the producer that can be assigned the rental agency that it is just replacing System 106.In this case, block 906 can be optionally, and block 908 may include that new rent is notified to other rental agencies It rents and acts on behalf of the producer's system 106 for being assigned old rental agency now.
Producer selection course of the example based on lag
The embodiment that Figure 10 shows producer's selection course 1000 based on lag.Process 1000 can be by that can modify and life Production person's system 106 is relevant to select weight to modify being selected as selection such as producer's system 106 of producer's system Any system of the part of block 410 is realized.For example, process 1000 entirely or partly can be by rental agency 102, block of state 228 and leasing system 224 (naming a few) realize.Although any amount of system can entirely or partly realize process 1000, but discussed to simplify, the part of process 1000 will be described with reference to specific system.
Process 1000 starts in block 1002, wherein such as block of state 228 receives and producer system from Consumer System 104 It unites 106 relevant state metadatas.This state metadata may include being provided by producer's system 106 to Consumer System 104 Information and Consumer System 104 based on it and producer's system 106 reciprocation and determination information.For example, state Metadata may include that information related with the response time of producer's system 106, producer's system 106 are served in given time The quantity of Consumer System 104, producer's system 106 whithin a period of time average service in Consumer System 104 number Amount etc..In some embodiments, block 1002 may include above for some or all of embodiments described in block 404.
In addition, in some cases, block of state 228 can be since 104 last time of Consumer System and rental agency 102 State metadata relevant to one group of producer's system 106, Consumer System 104 and this group of producer's system have been received since communication 106 communications.State metadata can be used as the part for updating and requesting and be received from Consumer System 104, for producer's system 106 access of update.In other cases, state metadata can be used as the part of fresh tenancy request from Consumer System 104 It is received.
In block 1004, block of state 228 updates one or more based in the received corresponding state metadata of block 1002 Producer's status information of producer's system 106.Alternatively or additionally, block of state 228 can determine that at least some institutes are received State metadata be for producer's system 106 relevant to another leasing system 102, and therefore can be to being assigned to the producer The rental agency 102 of system 106 provides status information.In some cases, process relevant to block 1002 and 1004 can be used as A kind of " chatting algorithm ", because Consumer System 104 is provided to rental agency 102 about Consumer System 104 and multiple productions Interactive information in each of person's system 106, without considering whether rental agency 102 is assigned to multiple producer systems Each of system 106.In other words, rental agency 102 is available is about the producer for being assigned to another rental agency 102 " chat " of system 106." chat " can then be expanded to the rental agency for being assigned to producer's system 106 by rental agency 102 102.Advantageously, in certain embodiments, by using this " chatting algorithm ", rental agency 102 can be from producer's system 106 Obtain the state metadata between the update of arranged state.By being obtained from Consumer System 104 and producer's system 106 To state metadata, with the systematic comparison without using " chatting algorithm ", the selection of producer's system 106 for lease can be into one It walks optimised.At on August 20th, 2009 it is submitting and entitled " DECENTRALIZED REQUEST ROUTING " U.S. Shen " chat " to provide service or feedback information please be described for obtaining for selecting computing system in number 12/544,517 The Additional embodiments of system and method, this application pass through reference hereby and are all incorporated into.In some embodiments, block 1002 It may include some or all of embodiments described above for block 406 and/or block 408.
In decision block 1006, block of state 228 determines whether the producer's status information updated indicates be with the producer Variation in 106 relevant load measurements of uniting.Load measurement may include any of the producer's system 106 for being selected for monitoring Feature.This load measurement can be related with the load that can be handled by producer's system 106.In some cases, load measurement can Including the related any measurement of health with producer's system.Load measurement some non-limitative examples may include error rate, Memory utilization rate, the counting being connect with Consumer System etc..If the producer's status information updated is in decision block 1006 The variation in load measurement is not indicated, then process 1000 is back to block 1002 to wait the new shape from Consumer System 104 State metadata.
In some embodiments, decision block 1006 can have been involved determining whether alternatively or additionally and one or more Other variations for measuring relevant value, producer's system 106 are related to one or more of the other measurement.For example, block of state 228 It can determine whether producer's status information of update indicates the variation by the response time of producer's system 106 or pass through production The variation of the available resources of person's system 106.In some cases, decision block 1006 may include comparing producer's system 106 more New load metric measurements and producer's system 106 in network environment 100 or the producer for being assigned to rental agency 102 The average load metric measurements of system.
If the producer's status information instruction updated has the variation in the load measurement of producer's system 106, shape It is related to producer's system 106 to modify that morphotype block 228 in block 1008 is based at least partially on changed load metric measurements Selection weight.Modification selection weight may include whether the variation based on error rate indicates increased error rate or reduced error Rate increaseds or decreases selection weight.In some embodiments, producer's system 106 is not closed with right to choose heavy phase.In this way Embodiment in, if decision block 1006 detect load measurement or other tracked measurements variation meet or be more than Corresponding threshold value, then producer's system identification can be that break down or not available by block of state 228.In such situation Under, if load measurement, which reaches, is identified as the no longer available or relevant threshold value that breaks down to by producer's system 106, can warn Accuse user such as administrator.In addition, in some cases, if load measurement or selection weight changes number of thresholds are without considering The availability of producer's system 106 can then alert user.
In certain embodiments, selection weight relevant to producer's system 106 can be used for that production can be used convenient for selection Person's system 106 is to lease to Consumer System as the part to relevant piece 410 of mentioned-above process 400.Producer system The selection weight and/or usability status of system 106 are storable in producer's repository 220 and/or act on behalf of at repository 206.
Overlay network environment is summarized
Figure 11 is shown for providing the overlay network of the access to the service by producer's system trustship to Consumer System The embodiment of environment 1100.Overlay network environment 1100 may include that can provide one or more to one or more tissue or entity Any kind of system of a overlay network or virtual network.These overlay networks can form physics or non-virtual network It is realized in computing hardware.Submit on June 30th, 2010 U.S. Application No. 12/827,268 (be United States Patent (USP) 8,296 now, 459) some examples of the covering or virtual network that can be used together with the disclosure are described in, the disclosure of this application passes through hereby Reference is all incorporated into.
Overlay network environment 1100 includes rental agency 102, consumer host 1104 and producer's host 1106, wherein often It is a to communicate with one another via network 202.Each rental agency 102 may include some or all of sons shown in Fig. 2 and described System.Therefore such as rental agency 102 may include producer's repository 220, dividing system 222, leasing system 224, registration mould Block 226 and block of state 228.Although each of these subsystems of rental agency 102 may include in the past described in Fig. 2 Identical function, but these subsystems may include ability modified or additional in some cases.For example, in addition to or Instead of receiving status information related with Consumer System 104 and producer's system 106, block of state 228 can receive and consumption One or more of person's host 1104, producer's host 1106, consumer's virtual machine 1142 and producer's virtual machine 1162 have The status information of pass.Similarly, producer's repository 220 may include and consumer host 1104, producer's host 1106, consumption The related information of one or more of person's virtual machine 1142 and producer's virtual machine 1162.
In some cases, dividing system 222 can be used in the rental agency 102 of overlay network environment 1100 dividing Producer's virtual machine 1162.In addition, producer's virtual machine 1162 relevant to specific overlay network can be covered independently of with other The relevant producer's virtual machine 1162 of cover net network and be divided.Thus, for example producer's virtual machine B ' can be independently of producer's void Quasi- machine B " is divided into rental agency 102.In some cases, it can use the subset of rental agency 102 can be with specific nerve of a covering Network is related.In this case, producer's virtual machine 1162 relevant to specific overlay network and consumer's virtual machine 1142 can be restricted to communication the subset of available rental agency 102.
In addition, leasing system 224 can select producer's virtual machine 1162 based on overlay network to lease to consumer's void Quasi- machine 1142, producer's virtual machine 1162 and consumer's virtual machine 1142 are related to the overlay network.In some cases, it is based on Overlay network selection producer's virtual machine 1162 can furthermore in the past about selection producer's system 106 with lease to consumer system Factor described in system 104 is related.Moreover, registration module 226 can be used for registering producer's virtual machine 1162 to rental agency 102.
Although only showing single consumer host 1104 in Figure 11, overlay network environment may include multiple consumers Host 1104.Each consumer host 1104 may include multiple consumer's virtual machines 1142.Some consumer's virtual machines 1142 can It is related to the different overlay network of other consumers virtual machine 1142 hosted by consumer host 1104.For example, consumer Host 1104 includes two consumer's virtual machines 1142, each related to different overlay networks.Consumer's virtual machine A ' can be with May also comprise producer's virtual machine B ' the first overlay network is related and consumer's virtual machine A " can with may also comprise the producer The second overlay network of virtual machine B " is related.
Other than consumer's virtual machine 1142, consumer host 1104 may include overlay network agency 1114, lease and ask Ask device 1130, virtual machine mapping storage library 1150 and block of state 1132.Overlay network agency 1114 may include that can handle to come from The service request of consumer's virtual machine 1142 can be simultaneously used for the offer of producer's host 1106 of trustship producer virtual machine 1162 Any system of the service request of processing.It in some embodiments, can from the received service request of consumer's virtual machine 1142 The system of its service request being not present can be handled including believing with producer's virtual machine 1162 or consumer's virtual machine 1142 Relevant virtual address.When receiving the service request with virtual address, overlay network agency 1114 be may be identified for Producer's virtual machine of service request is handled in overlay network identical with consumer's virtual machine 1142 of service request is provided 1162.Overlay network agency 1114 then can replace virtual address with the address of the producer's virtual machine 1162 identified.Such as exist It is described more fully below, it can be virtual from the leased producer relevant to consumer's virtual machine 1142 of service request is provided The pond of machine 1162 identifies producer's virtual machine 1162.In addition, overlay network agency 1114 can use the life of identification creche identification Producer's host 1106 of production person's virtual machine 1162 simultaneously identifies header or the outside header of consumer host 1104 to pack or seal Fill service request.
Virtual machine mapping storage library 1150 can store the producer's virtual machine 1162 for representing the lease of consumer's virtual machine 1142 Pond.In addition, virtual machine mapping storage library 1150 can store corresponding producer's host 1106 of trustship producer virtual machine 1162 Identity.The identity of storage producer's virtual machine 1162 and producer's host 1106 may include that storage is virtual for accessing the producer The addressing information of machine 1162 and producer's host 1106.
It is leased to represent consumer's virtual machine 1142, consumer host 1104 may include that can represent by consumer master Consumer's virtual machine 1142 of 1104 trustship of machine generates the lease requester 1118 of lease request.Leasing requester 1118 can recognize Specific overlay network and/or specific consumer's virtual machine 1142, for it, the lease of producer's virtual machine 1162 is asked It asks.
Block of state 1132 may include some or all of embodiments described above for block of state 242.In addition, shape Morphotype block 1132 can provide producer's virtual machine based on the communication with producer's virtual machine 1162 and producer's host 1106 1162 and/or producer's host 1106 status information.
As consumer host 1104, overlay network environment 1100 may include any amount of producer's host 1106, wherein each may include one or more producer's virtual machines 1162 relevant to one or more overlay networks.In addition, Each producer's host 1106 may include overlay network agency 1116, virtual machine mapping storage library 1152 and block of state 1134.
Similar to overlay network agency 1114, overlay network agency 1116 may include for handling from consumer host 1104 Received service request and for handle to received service request response any system.When receiving service request When, overlay network agency 1116 can be determined based on including the information in the header of service request producer's virtual machine 1162 with Handle service request.In addition, in some cases, service request can recognize specific overlay network, can be used for convenient for identification Producer's virtual machine 1162 is to handle service request.
Virtual machine mapping storage library 1152, which can store, identifies which producer's virtual machine 1162 is related to which overlay network Information.Which specifically disappear in addition, virtual machine mapping storage library 1152 can store convenient for identification 1104 trustship of consumer host The information of the person's of expense virtual machine 1142.This information can be used for determining consumer host 1104 to provide the response to service request.
As block of state 1132, block of state 1134 may include being previously with regard to described in block of state 262 one Or multiple embodiments.In addition, block of state 1134 can provide shape related with producer's virtual machine 1162 to rental agency 102 State information.
As realized process disclosed herein as indicated by the dotted line of consumer host 1104 and producer's host 1106 Fundamental system can with form one or more of consumer (such as client) and the producer (such as server or ISP) The virtual machine of a overlay network separates.In some cases, fundamental system (such as overlay network agency 1114 and 1116) can quilt It is embodied as the part of the networking infrastructures of consumer host 1104 and producer's host 1106.Advantageously, in certain embodiment party In case, by separation fundamental system and virtual machine, lease structure can be implemented, maintains and modify, without influencing overlay network.
In some embodiments, consumer host 104 can trustship consumer virtual machine 1142 and producer's virtual machine 1162.In addition, in some cases, producer's host 1106 can trustship consumer virtual machine 1142 and producer's virtual machine 1162.Moreover, although consumer's virtual machine 1142 and producer's virtual machine 1162 are described as virtual machine, they not by Limitation as described above.In some embodiments, overlay network can be assigned hardware resource and/or software resource, be used as and disappear The part of expense person's host 1104 and producer's host 1106 is executed by consumer host 1104 and producer's host 1106.These Resource can replace virtual machine to use come part that producer's system and Consumer System are embodied as to overlay network.
In some cases, being previously with regard to one or more processes described in network environment 100 can be performed or be modified To be executed about overlay network environment 1100.Thus, for example, process 900 can be performed to repartition in overlay network environment Rental agency in 1100.As second example, process 700 and 800 can be performed in overlay network environment 1100 Rental agency 102 registers producer's virtual machine 1162.
For accessing the instantiation procedure of the service of producer's virtual machine
The embodiment that Figure 12 shows the process 1200 for accessing the service at producer's virtual machine.Process 1200 can It is realized by the request from consumer's virtual machine can be handled with any system for accessing the service provided by producer's virtual machine.Example Such as, process 1200 entirely or partly can be by consumer host 1104, rental agency 102, overlay network agency 1114 and lease Requester 1118 (naming a few) is realized.Although any amount of system can entirely or partly realize process 1200, It is to simplify and discuss, the part of process 1200 will be described with reference to specific system.
In some cases, process 1200 can be used for that consumer's virtual machine is made to be able to access that the clothes provided by producer's system Business.Similarly, in some embodiments, process 1200 can be used for being able to access that Consumer System being mentioned by producer's virtual machine The service of confession.However, being discussed to simplify, described the service of producer's virtual machine is attempted to access that about consumer's virtual machine Process 1200.
Process 1200 starts in block 1202, and in block 1202, such as consumer host 1104 (such as consumer host A) covers Lid network agent 1114 receives service of the access at the producer from consumer's virtual machine 1142 (such as consumer's virtual machine A ') Request.Alternatively or additionally, the data grouping of the producer can be provided in the received request of block 1202.For example, number It can be in conjunction with service according to grouping come the data using or for being convenient for the service at the producer used, consumer is virtual Machine has been set up the access to the service.In some embodiments, request may include have instruction request or be grouped from The relevant address A of consumer's virtual machine 1142 is addressed to the grouping of the header of virtual address X.For example, the received grouping of institute can As follows: { A ', X, data }, designation date is sent to X from A '.The data field of grouping may include convenient in producer's virtual machine The request and/or data of request or operation are executed at 1162.In certain embodiments, consumer's virtual machine 1142 can not know Track address X is virtual address, but can be alternatively considered as address X and refer to physics producer's system.Moreover, as previously mentioned, In some embodiments, overlay network may include being different from or the Consumer System other than consumer's virtual machine.In this way Embodiment in, block 1202 may include from consumer host 1104 realize or by 1104 trustship of consumer host consumption Person's system receives the request of service of the access at the producer.Similarly, producer's host may include being different from or in addition to that can match The producer's system being set to other than producer's virtual machine that Consumer System provides service.
In decision block 1204, overlay network agency 1114 determine whether it is relevant to consumer's virtual machine 1142 it is any not The producer's virtual machine lease used.Determine whether that any not used producer relevant to consumer's virtual machine 1142 is empty Quasi- machine lease may include access virtual machine mapping storage library 1150 to determine whether rent relevant to consumer's virtual machine 1142 It rents pond.In addition, in some cases, decision block 1204 may include determine lease pond whether include and 1142 phase of consumer's virtual machine Any not used lease of producer's virtual machine of pass.
If overlay network agency 1114 is not relevant to consumer's virtual machine 1142 any in the determination of decision block 1204 Not used producer's virtual machine lease, then lease requester 1130 block 1206 obtain it is multiple lease it is virtual to access the producer Machine.It is described in more detail below with reference to Figure 14 for obtaining one or more leases to access one or more producer's virtual machines Process example.
In block 1208, overlay network agency 1114 attempts the producer's virtual machine leased established with obtained in block 1206 1162 connection.In some cases, block 1208 may include storage lease letter relevant to producer's virtual machine of each lease Breath, overlay network agency 1114 are successfully set up connection for producer's virtual machine.
After connection of the overlay network agency 1114 in producer's virtual machine that block 1208 is established and is leased, or if cover Lid network agent 1114 has not used producer's virtual machine relevant to consumer's virtual machine 1142 in the determination of decision block 1204 Lease, then process 1200 continues to block 1210.In block 1210, the leased producer of 1114 selection of overlay network agency is empty Quasi- machine 1162 accesses the service requested by consumer's virtual machine 1142 from it.Any kind of selection algorithm can be used for example to follow It is around-France or least recently used select producer's virtual machine 1162.In other cases, it can be based on and producer's virtual machine Sequence that 1162 connection is established selects producer's virtual machine 1162.In still other cases, can randomly choose and/ Or producer's virtual machine 1162 is selected based in block 1202 received service request.Optionally, in some cases, nerve of a covering Network acts on behalf of 1114 addressable virtual machine mapping storage libraries 1150 in order to select producer's virtual machine 1142.For example, overlay network Agency 1114 may have access to lease ponds, can be stored as identification can with the table of producer's virtual machine 1162, be stored in virtual machine and reflect It penetrates at repository 1150.
In some cases, the producer leased with the load lower than threshold value may be selected in overlay network agency 1114 Virtual machine 1162.In this case, overlay network agency 1114 can be virtual from the producer with the load lower than threshold value Machine 1162 is randomly chosen.This load can refer to any measurable degree related with the utilization rate of producer's virtual machine 1162 Amount.For example, load can be with finger processor load, number network connection load, connect with the consumer of producer's virtual machine 1162 Amount, measurement of performance of minimum-time lag in this connection, producer's virtual machine 1162 etc..
In addition, in some cases, each lease can be related to cost.For example, can to it is per second use, to transmitting or Every Mbytes of the data of processing or to each calculating circulation of producer's virtual machine 1162 to consumer or related to consumer Entity charge.In this case, overlay network agency 1114 can be based on available leased producer's virtual machine 1162 producer virtual machine 1162 leased at original selection.
In block 1212, overlay network agency 1114 is used in the ground for the producer's virtual machine 1162 leased that block 1210 selects Location replaces including the address (such as virtual address X) for requesting the producer in header (such as internal header).Therefore for example, The received grouping of block 1202 now can be as follows: and A ', B ', data }.In some embodiments, block 1212 can be optionally. For example, in some embodiments, each leased producer's virtual machine 1162 can be related to port.It therefore, is not to use institute The address of producer's virtual machine 1162 of lease replaces virtual address X, grouping can via with producer's virtual machine for being leased 1162 relevant ports are passed to the trustship producer.As second example, grouping can be passed to producer's host, and produce Person's host can determine leased producer's virtual machine 1162 based on such as virtual address X to receive grouping.
In block 1214,1114 identification of overlay network agency producer's host relevant to the producer's virtual machine leased 1106.Producer's host 1106 can be identified by accessing the state table being stored at virtual machine mapping storage library 1150.
Overlay network agency 1114 identifies producer's host 1106 and and consumer in block 1214 with identification in block 1216 The external header of the relevant consumer host 1104 of virtual machine 1142 carrys out package request.Therefore for example, grouping now can be as follows: A, B A ', B ', data }, instruction grouping is sent to producer's host B from consumer host A.Optionally, in some cases, The identity of producer's host 1106 and consumer host 1104 can be included in one with the request header in the received request of block 1202 It rises or is added to the request header, and grouping can be such that { A, B, A ', B ', data }, instruction grouping is from consumer host A It is sent to producer's host B.In this case, after process relevant to block 1216 completion, request includes single Header rather than two headers (it includes internal header and external header).In some embodiments, block 1216 may include with In the relevant covering of producer's virtual machine 1162 that block 1202 provides consumer's virtual machine 1142 of request and identifies in block 1210 The identity of network.Therefore such as grouping can indicate request to ' or the first overlay network it is related, with " or the second overlay network is opposite, It is as follows: { A, B, ', A ', B ', data }, instruction grouping from consumer host A be sent to producer's host B and service request from Consumer's virtual machine is sent to the producer's virtual machine being included in ' in overlay network.Advantageously, in some embodiments, By being included the identity of overlay network with service request and responding to service request, address can be covered in different It is reused in cover net network.However, providing and covering under each virtual machine and each system situation relevant to unique address The identity of cover net network can be optionally.
In some embodiments, overlay network agency 1114 can determine for from being stored in virtual machine mapping storage library The address information of condition managing table access producer's virtual machine at 1150.This condition management table may include for accessing in block The link information for the producer's virtual machine 1162 of 1210 selections leased.In addition, condition management table may include that virtual address arrives The mapping of producer's virtual machine address.In addition, condition management table may include the corresponding production that producer's virtual machine 1162 arrives them The mapping of person's host.The example for mapping virtual address to such condition management table of producer's virtual machine is shown in FIG. 15 Son.
In block 1218, overlay network agency 1114 provides request to the producer's host identified in block 1214.This request Producer's host 1106 can be provided to via network 202.
For handling the instantiation procedure for accessing the request of the service at producer's virtual machine
The embodiment that Figure 13 shows the process 1300 for handling the request for accessing the service at producer's virtual machine. Process 1300 can be by that can handle from the received any system accessed in the request of the service of producer's virtual machine of consumer host System executes.For example, process 1300 entirely or partly can be empty by producer's host 1106, overlay network agency 1116 and the producer Quasi- machine 1162 (naming a few) is realized.Although any amount of system can entirely or partly realize process 1300, It is discussed to simplify, the part of process 1300 will be described with reference to specific system.
In some cases, process 1300 can be used for that producer's virtual machine is made to be capable of providing the clothes requested by Consumer System Business.Similarly, in some embodiments, process 1300 can be used for being capable of providing producer's system being asked by consumer's virtual machine The service asked.However, discussed to simplify, it will be about providing the producer of the access to the service requested by consumer's virtual machine Virtual machine describes process 1300.
Process 1300 starts in block 1302, and in block 1302, such as producer's host 1106 (such as producer's host B) covers Lid network agent 1116 is received from consumer host 1104 and is requested.The request can for example be formatted as follows: A, B, ', A ', B ', Data }, instruction grouping is received and used to producer's host B from consumer host A and service request is virtual from consumer Machine to be included in ' producer's virtual machine in overlay network.Received request is access by the producer in many cases, The request of the service of 1162 trustship of virtual machine, producer's virtual machine 1162 is by 1106 trustship of producer's host.However, in some feelings Under condition, received request is alternatively arranged to provide data to producer's virtual machine 1162 in order to execute the number of service According to grouping, the access of the service has been established via consumer's virtual machine 1142 hosted by consumer host 1104.
In block 1304, overlay network agency 1116 determines producer's virtual machine 1162 (such as producer's virtual machine B ') to connect Receive request.In some embodiments, block 1304 may include the external header decapsulation of the received request of comfortable block 1302 in the future. In this case, grouping can be such that { A ', B ', data }, and instruction grouping receives from consumer's virtual machine A ' and for giving birth to Production person's virtual machine B '.In this case, overlay network agency 1116 may have access to internal header to identify producer's virtual machine 1162.Alternatively or additionally, overlay network act on behalf of 1116 recognizable producer's virtual machines 1162 with by access external header come Receive request.
In some cases, overlay network agency 1116 does not have to the offer of producer's virtual machine 1162 identified in block 1304 The request of external header.Therefore, grouping can be as follows: and A ', B ', data }.However in other cases, request may be provided as from Consumer host 1104 receives, including with external header, if be included with received request.Therefore, grouping can It is such as received (such as { A, B, ', A ', B ', data }) in block 1302.
In block 1308, overlay network acts on behalf of 1116 from the producer's virtual machine 1162 for being addressed to consumer's virtual machine 1142 Response is received, makes to be generated in the received request of block 1302.In some embodiments, response can be addressed to different disappear The person's of expense virtual machine.For example, the request from consumer's virtual machine, which can be, is transferred to another disappear from producer's virtual machine for file The request of the person's of expense virtual machine.This grouping can be similar in the received grouping of block 1202 and can be as follows: { B ', A ', data } is indicated Producer's virtual machine B ' positive (such as in response to service request) transmits data to consumer's virtual machine A '.In block 1310, covering Network agent 1116 identifies consumer host 1104 relevant to consumer's virtual machine 1142.It can be mapped by access in virtual machine Mapping table at repository 1152 identifies consumer host 1104.Consumer's virtual machine 1142 can be mapped to by this mapping table The consumer host 1104 of trustship consumer virtual machine 1142.Generally, each consumer host 1104 can the multiple consumers of trustship Virtual machine 1142.However, in some cases, one or more consumer hosts 1104 can the single consumer's virtual machine of trustship 1142。
Overlay network agency 1116 is in block 1312 with identification consumer host 1104 and related to producer's virtual machine 1162 Producer's host 1106 external header encapsulate response.Therefore, grouping can be as follows: B, A B ', A ', data }.Such as about block 1216 descriptions, in some cases, the identity of consumer host 1104 and producer's host 1106 can be received in block 1308 The existing header of response be included or be added to existing header.Therefore, grouping can be as follows: and B, A, B ', A ', data }. Similarly, as described in about block 1216, the external header or header (if only one header presence) of response may include with The identity of producer's virtual machine 1162 and the relevant overlay network of consumer's virtual machine 1142.Therefore, grouping can be as follows: B, A, ', B ', A ', data }.
Producer's host 1106 provides response to consumer host 1104 in block 1314.In some embodiments, it produces Person's host 1106 can provide response via network 202.
In some embodiments, process 1300 or similar process can be performed with to disappearing accordingly in consumer host 1104 The person's of expense virtual machine 1142 is provided in the received response of block 1308.Furthermore in some cases, the nerve of a covering of consumer host 1104 Network agency 1114 may be identified for creating the virtual address of the initial request provided by consumer's virtual machine 1142 (such as virtually Location X).The virtual address identified using this, overlay network agency 1114 can be with for creating by consumer's virtual machine The virtual address of 1142 initial requests provided replace identification producer's virtual machine 1162 address in received response. Therefore for example after grouping is provided to consumer's virtual machine A ', grouping can re-form as follows: and X, A ', data }, instruction is rung It should be received from system X rather than from producer's virtual machine B ', can actually generate including data in a packet.
For leasing the instantiation procedure of the access to producer's virtual machine
The embodiment that Figure 14 shows the process 1400 for leasing the access to producer's virtual machine.Process 1400 can be by Any system that can obtain the lease of access producer's virtual machine 1162 (such as producer's virtual machine B ') is realized.For example, process 1400 can entirely or partly be acted on behalf of by consumer host 1104, lease requester 1130, rental agency 102, overlay network 1114 and leasing system 224 (naming a few) realize.Although any amount of system can entirely or partly realize process 1400, but discussed to simplify, the part of process 1400 will be described with reference to specific system.
Process 1400 starts in block 1402, and in block 1402, such as lease request 1130 is consumption relevant to overlay network The generation of person's virtual machine 1142 obtains the request of the lease to producer's virtual machine 1162.It is initialized in consumer's virtual machine 1142 When, process relevant to block 1402 may occur in which.Alternatively or additionally, block 1402 may be in response to not with consumer's virtual machine 1142 The determination of relevant not used producer's virtual machine lease and occur (for example, such as can be in decision block relevant to process 1200 Determined by 1204).
In block 1404, requester 1130 is leased to multiple rental agencies 102, request is provided.In some embodiments, more A rental agency 102 may include the subset for the rental agency 102 being included in overlay network environment 1100.In addition, some In the case of, request can be provided that single rental agency 102.
In block 1406, lease requester 1130 from multiple rental agencies 102 each reception with and consumer's virtual machine The identity of the relevant producer's virtual machine 1162 of 1142 identical overlay networks requests in block consumer's virtual machine 1142 1402 generate.Generally, the identity of the single producer's virtual machine 1162 of each offer in multiple rental agencies 102.However one In a little situations, one or more rental agencies 102 can provide the identity of multiple producer's virtual machines 1162.In addition, rental agency 102 may provide the identity of zero producer's virtual machine 1162.For example, if each life relevant to specific rental agency 102 Production person's virtual machine 1162 is more than that threshold value utilization rate is utilized, then rental agency 102 can not provide producer's virtual machine 1162 Identity.In this case, rental agency 102 can be relevant to rental agency 102 each to user's such as administrator's warning Producer's virtual machine 1162 is utilized on threshold value utilization rate.
In some embodiments, it other than receiving the identity of producer's virtual machine 1162, can also be received in block 1406 Information of lease relevant to lease producer's virtual machine 1162.This information of lease may include for accessing producer's virtual machine 1162 address, trustship producer virtual machine 1162 producer's host 1106 identity and/or address, and/or be assigned to Consumer's virtual machine 1142 for producer's virtual machine 1162 lease it is a certain number of can consumption resources can consumption resources Identity.This can consumption resources may include any kind of resource for measuring the leasing period of producer's virtual machine 1162. For example, can consumption resources may include a period of time, it is multiple operation, by producer's virtual machine 1162 handle and/or from the producer void The quantity of the quasi- received data of machine 1162 or for measuring the utilizing to producer's virtual machine 1162 of consumer's virtual machine 1142 Any other measurement.
In block 1408, overlay network agency 1114 attempt to represent the access of consumer's virtual machine 1142 identified in block 1406 it is every A producer's virtual machine 1162.In some embodiments, block 1408 may include attempting to establish and each producer's virtual machine 1162 connection.In other embodiments, block 1408 may include attempting by being established with producer's virtual machine 1162 Connection is to be communicated.In block 1410, the storage in lease pond of overlay network agency 1114 is related with each established connection Link information.This link information may include connecting and how accessing using connection the information of service for identification.For example, Link information may include any information being received as the part of block 1406, such as the production of trustship producer virtual machine 1162 The identity of person's host 1106 can consumption resources identity.In some embodiments, leasing pond and/or link information can store At virtual machine mapping storage library 1150.
Similar to process 300, in some embodiments, process 1400 can be used for updating the rent of producer's virtual machine 1162 It rents.In such embodiments, block 1402 may include generating the rent for updating the existing of producer's virtual machine or being previously present The request rented.Update the identity that request may include existing producer's virtual machine lease.In addition, block 1406 may include receiving to update to ask The no instruction being granted of Seeking Truth, and in some cases, with can the related information of lease of the additionally permission of consumption resources (such as rent It rents time or processor use).
The example of condition management table
Figure 15 shows the non-limit that can be used for the condition management table 1500 convenient for communicating in overlay network environment 1100 Property example processed.Condition management table 1500 may include convenient for communicating between consumer's virtual machine 1142 and producer's virtual machine 1162 A plurality of information.For example, condition management table 1500 may include source overlay address 1502, source covering port 1504, virtual address 1506 and destination overlay address 1508 column.As in condition management table 1500 some table titles (such as source covering ground Location 1502) instruction, address can be the address Internet protocol (IP).However, address is not limited and can be adopted as described above It takes other forms or follows other agreements.
In the example of Figure 15, the shown part of condition management table 1500 is related to consumer's virtual machine A '.Such as virtual Shown in the column of address 1506, multiple virtual address X and Y are can be used in consumer's virtual machine A '.In addition, each virtual address can Related to multiple destination overlay address, destination overlay address is related to multiple producer's virtual machines.For example, virtual address Y Can to address K ' producer's virtual machine and have producer's virtual machine of address M ' it is related.Because of multiple destination-address It is mapped to virtual address, so overlay network agency 1114 also can recognize port, such as in the column of source covering port 1504 It is indicated data grouping is directed to correct destination.Therefore, in order to send producer's virtual machine for service request K ', overlay network agency 1114 will replace virtual address Y with the address of K ' and use port P1.Similarly, in order to service is asked It asks and is sent to producer virtual machine M ', overlay network agency 1114 will replace virtual address Y with the address of M ' and use port P2.
The 3rd layer and/or the 4th layer of open system interconnection (OSI) model can be used to realize nerve of a covering in many cases, Network.Generally, using the 3rd layer and/or the 4th layer realization overlay network, networking infrastructures are not known in entire net The application communicated in network.This can make balancing the load be more challenging, because a priori expecting that how many data will consume It is more difficult between person's virtual machine and producer's virtual machine by transmission.
One solution is created at least partly using the protocol aware balancing the load of the 7th layer of realization of osi model System.In such a system, overlay network agency 1114 can be checked in some embodiments by consumer's virtual machine 1142 The grouping of transmission is to determine the type or protocol class relevant to service request of service that consumer's virtual machine 1142 attempts to access that Whether type and service request are used for the single service or multiple services of identical or different type.Therefore for example, if nerve of a covering Network agency 1114 determines that consumer's virtual machine is just requesting the access to the website for using HTTP request, and each HTTP request is directed to The different characteristic of different webpage or webpage, then overlay network agency 1114 can send the different producers for different requests Virtual machine 1162 is used to handle and consumer's virtual machine 1142 does not know that request is handled by different systems.Therefore in some cases Under, single connection can be demultiplexed on one group of connection.A series of requests can be separated to more by overlay network agency 1114 A producer's virtual machine 1162 requests processed efficiency or rate to increase.In addition, if overlay network agency 1114 determines Consumer's virtual machine 1142 generates many loads on producer's virtual machine 1162, then overlay network acts on behalf of 1114 commutative productions Person's virtual machine 1162, processing request and/or the separation request in multiple producer's virtual machines 1162.It is virtual to exchange the producer Machine 1162 can be realized by keeping request identifier related to service request in some cases.For example, such as in the request of Figure 15 Shown in the column of identifier 1510, the grouping with request identifier l1 can have to be exchanged with the address of producer's virtual machine B ' Virtual address X.Equally, with request identifier l2 grouping can have exchanged with the address of producer's virtual machine D ' it is virtual Address X.
Scheme can be described implementation of the disclosure in view of following clause:
Clause 1: a kind of to lease the access to producer's system to obtain the access to the service by producer's system trustship Method, method includes:
Pass through the Consumer System including one or more processors:
Lease request is generated to access the service of one of multiple producer's systems;
Lease request is provided to multiple rental agencies;
The identity of one or more producer's systems is received from individual rental agency;
Attempt to initiate the connection at least some producer's systems identified by multiple rental agencies;And
In response to be successfully set up with the connection of first producer's system from least some producer's systems, access by The service that first producer's system provides.
Clause 2: the method for clause 1, wherein receiving the identity of one or more producer's systems from individual rental agency Identity including receiving different producer's systems from least two rental agencies of multiple rental agencies.
Clause 3: the method for clause 1 to 2, at least some individual rental agencies of plurality of rental agency with it is non-equivalent One group of producer system it is related.
Clause 4: the method for clause 1 to 3, wherein receiving the body of one or more producer's systems from individual rental agency Part can consumption resources including at least some the identified producer's systems of reception.
Clause 5: the method for clause 4, wherein can consumption resources may include lease time, one group of calculating circulation, with identified Producer's system using relevant money budget or disk storage, and wherein, lease time includes that Consumer System is awarded A period of time of service of the power access at producer's system.
Clause 6: the method for clause 5, wherein in response to consuming money from first producer's system for meeting lease threshold value Source it is remaining it is a certain number of can consumption resources, method further include:
Determining will not be can be before consumption resources expires to the existing service request of service of the access at first producer The probability of completion;
Threshold value is updated in response to determining that probability meets, generates the request of more fresh tenancy to access at first producer's system Service;And
In the lease generation that multiple rental agencies of the identity from first producer's system that provides are arrived in the request of more fresh tenancy, is provided Reason.
Clause 7: the method for clause 6, wherein method further includes receiving in response to providing the request of more fresh tenancy to rental agency The update quantity of first producer's system can consumption resources.
Clause 8: the method for clause 6 to 7, wherein method further includes in response to providing the request of more fresh tenancy to rental agency Receive new production person's system new quantity can consumption resources, new production person's system be different from first producer's system.
Clause 9: the method for clause 1 to 8, wherein in response to being successfully set up and the from least some producer's systems The connection of one producer's system, method further include obtaining metadata from first producer's system, wherein at least some metadata packets Include status information related with first producer's system.
Clause 10: the method for clause 9, further include provide at least some metadata to come from provide first producer's system Identity multiple rental agencies rental agency.
Clause 11: the method for clause 9 to 10 further includes providing at least some metadata to multiple rental agencies.
Clause 12: the method for clause 1 to 11, wherein in response to being successfully set up and from least some producer's systems The connection of second producer's system accesses the second service at second producer's system.
Clause 13: the method for clause 12, wherein service and second service are identical services.
Clause 14: the method for clause 12 to 13, wherein the data using service access and the number using second service access According to difference.
Clause 15: a kind of to lease the access to producer's system to obtain the access to the service by producer's system trustship System, system includes:
Consumer System comprising one or more processors, Consumer System further include lease requester, configuration At:
Lease request is generated to access the service of producer's system;
Lease request is provided to multiple rental agencies;And
The identity of producer's system is received from least some of multiple rental agencies;
Consumer System further includes link block, is configured to attempt to initiate with identified by multiple rental agencies at least one The connection of a little producer's systems;And
Consumer System further includes resource requestor, is configured to link block and is successfully set up and the first production The connection of person's system and access the service at first producer's system of at least some producer's systems.
Clause 16: the system of clause 15, wherein lease requester is configured to receive at least some identified producers The lease time of system, when lease time includes one section of the service that Consumer System is authorized at producer's system Between.
Clause 17: the system of clause 16, wherein link block is configured to provide to first producer's system and the first life The relevant lease time of production person's system.
Clause 18: the system of clause 16 to 17, in which:
Resource requestor is configured in response to remaining from the lease time for first producer's system for meeting lease threshold value A certain amount of lease time and determine will not be when leasing to the existing service request of service of the access first producer at Between expire before complete probability;And
Lease requester is configured to:
In response to determining that probability meets update threshold value and generates the request of more fresh tenancy to access at first producer's system Service;And
In the lease generation that multiple rental agencies of the identity from first producer's system that provides are arrived in the request of more fresh tenancy, is provided Reason.
Clause 19: the system of clause 15 to 18 further includes block of state, is configured to:
Metadata is obtained from first producer's system, wherein at least some metadata include related with first producer's system Status information;And
There is provided at least some status informations to from provide first producer's system identity multiple rental agencies rent Rent agency.
Clause 20: a kind of to lease the access to producer's system to provide the access to the service by producer's system trustship System, system includes:
First rental agency comprising the first leasing system, the first rental agency is in the computer including computer hardware It is realized in system, the first leasing system is configured to:
The first request is received to lease the access to service from Consumer System, and service is provided by multiple producer's systems;
It is based at least partially on producer's state letter relevant to the person's of individually producing system of more than first a producer's systems Breath is to identify first producer's system from more than first a producer's systems, wherein a producer's system includes multiple more than first First subset of producer's system;And
In response to identifying first producer's system, the identity of first producer's system is provided to Consumer System;And
Second rental agency comprising the second leasing system, the second leasing system are configured to:
The second request is received from Consumer System to lease the access to service;
It is based at least partially on producer's state letter relevant to the person's of individually producing system of more than second a producer's systems Breath is to identify second producer's system from more than second a producer's systems, wherein a producer's system includes multiple more than second The second subset of producer's system, the first subset of the second subset of multiple producer's systems and multiple producer's systems not phase Together;And
In response to identifying second producer's system, the identity of second producer's system is provided to Consumer System, thus Enable Consumer System from at least access of first producer's system and second producer's system request to service, gives birth to as a result, The identification of production person's system is distributed across the distributed process between at least the first rental agency and the second rental agency.
Clause 21: the system of clause 20, wherein the first leasing system is configured to provide the first lease to Consumer System Time, the first lease time include a period of time that Consumer System is authorized to first producer's system, and wherein Two leasing systems are configured to provide the second lease time to Consumer System, and the second lease time includes that Consumer System is awarded A period of time of power second producer's system of access.
Clause 22: the system of clause 20 to 21, in which:
First rental agency further includes first state module, and first state module is configured to:
Receive the first of first producer's system the more new state information;And
Be based at least partially on first more new state information update producer's status information of first producer's system; And
Second rental agency further includes the second block of state, and the second block of state is configured to:
Receive the second of second producer's system the more new state information;And
Be based at least partially on second more new state information update producer's status information of second producer's system.
Clause 23: the system of clause 22, wherein first more new state information and second more new state information from consumption Person's system is received.
Clause 24: the system of clause 22, wherein first more new state information be received from first producer's system, and Two more new state information be received from second producer's system.
Clause 25: the system of clause 20 to 24, wherein the first rental agency is configured to:
The first lease, which is received, from Consumer System updates request to obtain the additional rental time of first producer's system;
Producer's status information of first producer's system is based at least partially on to determine whether to grant the first lease more New request;And
In response to determining that granting the first lease updates request, provide first producer's system to Consumer System first is rented It rents renewal time.
Clause 26: the system of clause 25, wherein in response to determining that not granting the first lease updates request, the first rental agency It is configured to:
It is based at least partially on producer's state letter relevant to each producer's system of more than first a producer's systems Breath is to identify third production person's system from more than first a producer's systems;And
In response to identifying third production person's system, the identity of third production person's system is provided to Consumer System.
Clause 27: a method of for dividing producer's system in multiple rental agency systems, method includes:
Pass through the first rental agency system including one or more processors:
It determines in the available first group of producer's system of first time period;
Identification is in the available second group of producer's system of second time period, and wherein second time period is before first time period Occur;
Calculate the quantitative difference between first group of producer's system and second group of producer's system;
Determine whether difference meets threshold value;And
In response to determining that difference meets threshold value:
By the different subsets of first group of producer's system being distributed to individual rental agency system come in multiple lease generations First group of producer's system is divided in reason system;And
For the independent rental agency system of multiple rental agency systems other than the first rental agency system, to single Only rental agency system provides the body that the subset of producer's system of rental agency system is assigned to from first group of producer's system Part so that different producer's systems from first group of producer's system can to different Consumer Systems provide service, by This, the division of first group of producer's system in multiple rental agency systems is realized in different Consumer Systems by the The balance of the distribution for the service that one group of producer's system provides.
Clause 28: the method for clause 27 further includes to one group of rental agency system from multiple rental agency systems It notifies the first rental agency system just dividing first group of producer's system, this group of rental agency system inhibition is made to attempt division first Group producer's system, while the first rental agency system is just dividing first group of producer's system.
Clause 29: the method for clause 27 to 28, wherein second group can include when the with producer's system and second time period One rental agency system ensures that difference meets the value of threshold value when being activated after inactive period.
Clause 30: the method for clause 27 to 29, wherein first group of producer's system is included in the available life of first time period The sum of production person's system, and wherein second group of producer's system includes in the total of the available producer's system of second time period Number.
Clause 31: the method for clause 27 to 30, further include:
At least one of multiple rental agency systems are received in the not available instruction of third period;
Identification is in third period available third group producer's system;
Identification is in third period available one group of rental agency system;
Third group producer's system is divided in third period available this group of rental agency system;And
For the independent rental agency system in third period available this group of rental agency system, rental agency is given System provides the identity of the subset of producer's system from third group producer's system, and the subset of producer's system is at least partly The division of the ground based on second group of producer's system and be determined.
Clause 32: the method for clause 31, wherein third group producer system and first group of producer's system are identical systems System.
Clause 33: the method for clause 27 to 32, wherein being divided in first time period in multiple rental agency systems can First group of producer's system includes the non-overlapping subsets that first group of producer's system is divided into producer's system.
Clause 34: the method for clause 27 to 33, further include:
Determine producer's system of the first subset from the producer's system for being assigned to the first rental agency system not It is available again;And
Update can reflect that producer's system is no longer available with the counting of producer's system, wherein determining at first Between the available first group of producer's system of section be based at least partially on the counting of available producer's system.
Clause 35: the method for clause 34, wherein determining that producer's system is no longer available including connecing from Consumer System Receiving producer's system is unresponsive notice.
Clause 36: the method for clause 34 to 35, wherein determining that producer's system is no longer available including determining the producer System is reactionless to the status request provided by the first rental agency system.
Clause 37: the method for clause 27 to 36, further include:
The request to the first rental agency system registry is received from producer's system;
Determine whether producer's system is included in the subset for being assigned to producer's system of the first rental agency system In;And
The son for being assigned to producer's system of the first rental agency system is included in response to determining producer's system It concentrates, producer's system is registered at the first rental agency system.
Clause 38: the method for clause 37, wherein being assigned to the first rent in response to determining that producer's system is not included in Rent agency plant producer's system subset in, method further include:
The second rental agency system from the multiple rental agency systems for being assigned to producer's system of identification;And
The identity of the second rental agency system is provided to producer's system.
Clause 39: the method for clause 27 to 38, wherein the Consumer System from different Consumer Systems is when different Between section access different producer's systems from multiple producer's systems.
Clause 40: a kind of system for dividing producer's system in multiple rental agencies, system include:
Multiple rental agencies comprising the first rental agency, wherein the independent rental agency packet from multiple rental agencies One or more processors are included, the first rental agency further includes being configured to determine to be with the producer at one group of first time period System and whether can meet the dividing system of threshold value with the difference between producer's system in this group of second time period;And
Dividing system is configured in response to determining that difference meets threshold value:
This group of producer's system is drawn based on the counting of the quantity for the rental agency being included in multiple rental agencies It is substantially equal by access of the different custom systems to multiple producer's systems to attempt to make to be divided into multiple subsets of producer's system It is distributed in multiple producer's systems evenly;And
For the independent rental agency of multiple rental agencies, the subset for being included in producer's system is provided to rental agency One of in producer's system identity.
Clause 41: the system of clause 40, wherein multiple subsets of producer's system, which correspond to, is included in multiple lease generations The counting of the quantity of rental agency in reason.
Clause 42: the system of clause 40 to 41, dividing system are configured to provide to individual rental agency and be included in The identity of producer's system in the different subsets of producer's system of subset from producer's system.
Clause 43: the system of clause 40 to 42, wherein dividing system be configured to one into multiple rental agencies or Multiple rental agencies do not include the first rental agency, and the dividing system of the first rental agency of warning is just dividing this group of producer system System.
Clause 44: the system of clause 40 to 43, wherein in response to receiving the second lease generation from multiple rental agencies Reason is just dividing the warning of this group of producer's system, and the dividing system of the first rental agency is configured to inhibit to divide this group of producer System.
Clause 45: the system of clause 40 to 44 is configured to wherein the first rental agency further includes registration module:
The request registered to the first rental agency is received from producer's system;
Determine whether producer's system is included in the subset for the producer's system for being assigned to the first rental agency;
In response to determining that producer's system is included in the subset for the producer's system for being assigned to the first rental agency, Producer's system is registered at the first rental agency;And
In response to determining that producer's system is not included in the subset for the producer's system for being assigned to the first rental agency, It identifies the second rental agency from the multiple rental agencies for being assigned to producer's system, and provides second to producer's system The identity of rental agency.
Clause 46: a method of for dividing lease in multiple rental agency systems, method includes:
Pass through the first rental agency system including one or more processors:
Producer's system can be used by identifying one group;
Determination can use the available multiple leases of the person's of individually producing system of producer's system to this group;
By coming to the independent rental agency system distribution from multiple rental agency systems to the person's of individually producing system The subset of the lease of available multiple leases is available to the person's of individually producing system to divide in multiple rental agency systems Multiple leases;And
For the independent rental agency system of multiple rental agency systems, lease is assigned to the offer of rental agency system The subset of the lease of agency plant, as a result, multiple rents available to the person's of individually producing system in multiple rental agency systems The balance of the workload in multiple rental agency systems is realized in the division rented.
Clause 47: the method for clause 46, wherein independent rental agency system is assigned the non-overlapping subsets of lease.
Clause 48: the method for clause 46 to 47, wherein providing the subset of lease to rental agency system does not include to first Rental agency system provides the subset for being assigned to the lease of rental agency system.
Clause 49: the method for clause 46 to 48, wherein being assigned to rental agency system to the offer of rental agency system The subset of lease includes being assigned to rent for the person's of individually producing system of multiple producer's systems to the offer of rental agency system It rents multiple leases of agency plant.
Clause 50: the method for clause 46 to 49, wherein being assigned to rental agency system to the offer of rental agency system The subset of lease includes that the identifier individually leased for being assigned to rental agency system is provided to rental agency system.
Clause 51: the method for clause 46 to 50, wherein being divided in multiple rental agency systems to the person of individually producing system Available multiple leases of uniting are included in multiple rental agency systems that substantially equally divide can to the person's of individually producing system Multiple leases.
Clause 52: the method for clause 46 to 51, plurality of rental agency system include the son of one group of rental agency system Collection.
Clause 53: the method for clause 52, plurality of rental agency system include the first rental agency system.
Clause 54: the method for clause 46 to 53, wherein this group can include the son of available producer's system with producer's system Collection.
Clause 55: the method for clause 46 to 54, wherein described divide in multiple rental agency systems to individually producing Person's system it is available it is multiple lease in response to this group can with the available quantity always leased in producer's system first when Between section change threshold quantity compared with second time period and occur.
Clause 56: it is a kind of for from multiple producer's Systematic selection producer systems to provide the side of the access to service Method, method include:
Pass through the first rental agency system including one or more processors:
Receive the status information of multiple producer's systems, the person's of the individually producing system and selection of plurality of producer's system Weight is related and wherein at least some status informations reflect by least one Consumer System at least one producer's system State determination;
Be based at least partially on received status information modify producer's status informations of multiple producer's systems, institute Producer's status information of modification includes about one group with Consumer System reciprocation and the performance of multiple producer's systems Measurement;
The first measurement from this group measurement is based at least partially on to modify selection relevant to multiple producer's systems Weight;
Request is received from Consumer System to lease the access to one of multiple producer's systems;And
In response to receiving the request of access of the lease to one of multiple producer's systems:
It is based at least partially on corresponding selection weight relevant to the person's of individually producing system in multiple producer's systems From multiple producer's Systematic selection producer systems to serve Consumer System;
Selected life is provided to the Consumer System for the request for providing access of the lease to one of multiple producer's systems The identity of production person's system;And
Producer's status information relevant to selected producer's system is provided to Consumer System, wherein at least some Producer's status information is obtained from the second Consumer System.
Clause 57: the method for clause 56, plurality of producer's system include the subset of producer's system.
Clause 58: the method for clause 56 to 57, wherein modification selection weight relevant to multiple producer's systems alerts institute State the probability of the selection specific producer's system of producer's Systematic selection.
Clause 59: the method for clause 56 to 58, wherein status information is received from least one Consumer System.
Clause 60: the method for clause 59, wherein at least one Consumer System include providing lease to be to multiple producers The Consumer System of the request of the access of one of system.
Clause 61: the method for clause 56 to 60, wherein status information is received from multiple producer's systems.
Clause 62: the method for clause 56 to 60, wherein status information is received from the second rental agency system.
Clause 63: the method for clause 56 to 63, further include:
Determine whether completely to have modified selection weight accordingly for first producer's system from multiple producer's systems Foot removes threshold value;And
In response to having modified whether selection weight meets removal threshold value, it is raw that first is removed from the list of available producer's system The identity of production person's system can include corresponding to from the multiple producer's systems that can be used for selection with the list of producer's system The identity of available producer's system of producer's system.
Clause 64: the method for clause 63, wherein it is described from multiple producer's Systematic selection producer's systems include from available The list of producer's system selects producer's system.
Clause 65: the method for clause 63 to 64, further include:
Track the counting of the producer's system removed from the list of available producer's system;And
Reduce threshold value in response to counting to meet, available producer's system repartitioned in multiple rental agency systems, Multiple rental agency systems include the first rental agency system.
Clause 66: the method for clause 63, wherein removing the average value of first measurement of the threshold value based on multiple producer's systems.
Clause 67: the method for clause 56 to 66, wherein the producer's status information for being provided to Consumer System includes the The adoptable independent one group of producer's status information of one rental agency system, and wherein independent this group of producer state letter Breath enable Consumer System from multiple leased producer's Systematic selections and other leased producer's systematic comparisons more The producer's system utilized less.
Clause 68: the method for clause 56 to 67, wherein further including selecting from multiple producer's Systematic selection producer's systems One of first group of producer's system with than the second group lower load of producer's system.
Clause 69: the method for clause 68, wherein selected producer's system is not related to minimum load, to reduce negative The frequency of the appearance of lotus oscillation.
Clause 70: a kind of for being from multiple producer's Systematic selection producer systems with provide the access to service System, system include:
First rental agency of multiple rental agencies, the first rental agency include being configured to realize block of state and lease system The one or more processors of system;
Block of state is configured to:
The status information for receiving first producer's system of multiple producer's systems, from the independent of multiple producer's systems Producer's system and right to choose heavy phase are closed;And
The received status information of institute is based at least partially on to modify selection weight relevant to first producer's system;With And leasing system is configured to:
Receive the request for accessing one of multiple producer's systems;And
Be based at least partially on corresponding selection weight relevant to the person's of individually producing system of multiple producer's systems come from Multiple producer's Systematic selection producer's systems, including first producer's system, to serve request.
Clause 71: the system of clause 70, wherein status information is received at the first rental agency by leasing system, Yi Jiqi Middle leasing system is configured to provide status information to block of state.
Clause 72: the system of clause 70 to 71, wherein block of state is configured to:
Determine whether first producer's system is assigned to the first rental agency;And
In response to determining that first producer is not assigned to the first rental agency, block of state is configured to:
Identification is assigned to the second rental agency of first producer;And
There is provided institute received status information to the second rental agency.
Clause 73: the system of clause 70 to 72, wherein block of state is configured to:
Determine whether modified selection weight meets removal threshold value;And
Meet in response to the selection weight modified and removes threshold value and make first producer's system and multiple producer's systems Onrelevant.
Clause 74: the system of clause 73 is configured to multiple wherein the first rental agency further includes dividing system Producer's system is unrelated with reduction multiple producer's systems of threshold value are met and repartitions in multiple rental agencies multiple Producer's system.
Clause 75: the system of clause 70 to 74, wherein leasing system is configured to offer to access multiple producers system The Consumer System of the request of one of system provides the identity of producer's system.
Clause 76: the system of clause 70 to 75, wherein selected producer's system includes first producer's system.
Clause 77: a kind of non-provisional physical computer memory including computer executable instructions, executable instruction are worked as In one or more processors realize when guidance computing system from multiple producer's Systematic selection producer systems with by Few following operation is to provide the access to service:
First producer's system in response to being directed to multiple producer's systems at the first rental agency receives state letter Breath, determine first producer whether be producer's system the first subset member, the first subset and first of producer's system Rental agency is related, wherein the person's of individually producing system from multiple producer's systems and right to choose heavy phase are closed, multiple producers System is divided into multiple subsets of producer's system;
In response to determining that first producer's system is the member of the first subset of producer's system, modification and first producer The relevant selection weight of system;And
In response to receiving the request of access producer's system, it is based at least partially on and the subset from producer's system The relevant selection weight of producer's system come from the first subset of producer's system select second producer's system to serve The supplier of request.
Clause 78: the non-provisional physical computer memory of clause 77, wherein second producer's system and first producer System is identical.
Clause 79: the non-provisional physical computer memory of clause 77 to 78, wherein in response to determining first producer system System is not the member of the first subset of producer's system, this method further include:
Identification includes the second subset of producer's system of first producer's system;
Identify the second rental agency relevant to the second subset of producer's system;And
Status information is provided to the second rental agency.
Clause 80: a method of the service that access is provided by producer's virtual machine in overlay network, this method packet It includes:
By the Consumer System host including one or more processors, Consumer System host is configured to trustship one Or multiple consumer's virtual machines, wherein at least one consumer virtual machine are related to the first overlay network;
The request of service of the access at producer's system is received from consumer's virtual machine, consumer's virtual machine is by consumer System host trustship, wherein request includes internal header, internal header includes that consumer relevant to consumer's virtual machine is virtual Machine address and target virtual address;
Lease relevant to consumer's virtual machine pond is accessed, lease pond includes one group of institute for representing consumer's virtual machine lease Producer's virtual machine of lease;
Leased producer's virtual machine is selected from lease pond, from its access service;
The target in internal header is replaced with producer's virtual machine address relevant to the producer's virtual machine leased Virtual address;
Identify that producer's system host relevant to the producer's virtual machine leased, producer's system host are configured to hold in the palm Pipe one or more producer's virtual machine, wherein at least one producer virtual machine are related to the first overlay network;
With including and producer's system host relevant producer's system host address and related with Consumer System host Consumer System host address external header package request;And
Request is provided to producer's system host via network, so that producer's system host be made to be capable of handling request.
Clause 81: the method for clause 80, wherein the leased producer's virtual machine of selection includes:
Determine whether lease pond includes at least one available leased producer's virtual machine;And
In response to determining that lease pond includes at least one available leased producer's virtual machine, available rented is selected Available the leased producer's virtual machine for removing selection from lease pond together for the producer's virtual machine rented.
Clause 82: the method for clause 81, wherein in response to determining that lease pond does not include that available the leased producer is empty Quasi- machine, this method further include:
It represents consumer's virtual machine and obtains the lease to including one group of producer's virtual machine in the first overlay network;
Initiate the connection with the person's of the individually producing virtual machine for organizing leased producer's virtual machine from this;And
For the connection being individually successfully established, corresponding producer's virtual machine is added to lease pond,
Wherein select leased producer's virtual machine further include selection be added to lease pond producer's virtual machine it One and selected producer's virtual machine is removed from lease pond.
Clause 83: the method for clause 82, wherein obtain include: to the lease of this group of producer's virtual machine
Generate to obtain the lease for the producer's virtual machine being included in the first overlay network for consumer's virtual machine Request;
The request is provided to one group of rental agency to obtain the lease of producer's virtual machine;And
For receiving the information of lease of producer's virtual machine at least some of this group of rental agency rental agency, from And enable to be initiated with the connection of producer's virtual machine.
Clause 84: the method for clause 83, wherein this group of rental agency includes the subset of rental agency in a network.
Clause 85: the method for clause 80 to 84, further include:
The response to service request is received from producer's system host;
By removing the external header responded come de-encapsulation service response to obtain the access to the inside header of response;
Determine that recipient consumer's virtual machine, recipient consumer's virtual machine are by consuming based on the inside header of response One of consumer's virtual machine of person's system host trustship;And
The service response of de-encapsulation is provided to recipient consumer's virtual machine.
Clause 86: the method for clause 85, wherein recipient consumer's virtual machine and consumer's virtual machine are identical.
Clause 87: the method for clause 85 to 86, further include:
Inside header based on response identifies source relevant to source producer's virtual machine virtual address, source producer's virtual machine It is related to response;And
It is replaced including the address relevant to source producer's virtual machine in internal header with source virtual machine address.
Clause 88: the method for clause 87, wherein source producer virtual machine corresponds to selected leased producer's virtual machine, Source virtual address corresponds to target virtual address and recipient consumer's virtual machine corresponds to consumer's virtual machine.
Clause 89: the method for clause 80 to 88, wherein at least one consumer virtual machine are related to the second overlay network.
Clause 90: the method for clause 80 to 89, wherein at least one producer virtual machine are related to the second overlay network.
Clause 91: the method for clause 80 to 90, further include:
The second request is received to access service;
Determine whether the load of leased producer's virtual machine meets load threshold value;And
In response to determining that the load of leased producer's virtual machine meets load threshold value:
The producer's virtual machine leased from lease pond selection second, from its access service;And
Second producer's system host of the producer's virtual machine leased to trustship second provides the second request.
Clause 92: the method for clause 91, wherein in response to determining that the load of leased producer's virtual machine meets load Threshold value, this method further include being terminated to the connection of leased producer's virtual machine.
Clause 93: a kind of system for accessing the service provided by the producer in overlay network, the system include:
Consumer System host comprising one or more processors, Consumer System host be configured to trustship one or Multiple consumers, Consumer System host include:
Mapping storage library is configured to the mapping of the storage producer to producer's system host;And
Overlay network agency, is configured to:
The request of service of the access in the producer is received from the consumer by Consumer System hosting;
The leased producer is selected, from its access service, the producer leased represents consumer and is leased for;
Access map repository is with the relevant producer's system host of the producer for identifying to being leased, producer system master Machine is configured to the trustship one or more producer;And
Transmit the request to producer's system host.
Clause 94: the system of clause 93, in which:
Mapping storage library is configured to storage lease relevant to consumer pond, and lease pond includes representing customer rents' One group of producer leased;And
Overlay network agency is configured to:
Determine whether lease pond includes at least one available leased producer;And
In response to determining that lease pond includes at least one available leased producer from available leased life Production person selects the leased producer, from its access service.
Clause 95: the system of clause 94, wherein in response to determining that lease pond does not include that at least one is available leased The producer, overlay network agency are configured to:
It generates to obtain the request of the lease to the producer for consumer;
The request is provided to one group of rental agency to obtain the lease to the producer;And
For receiving the information of lease of the producer at least some of this group of rental agency rental agency.
Clause 96: the system of clause 95, wherein mapping storage library is configured to be stored in information of lease and consumer's phase In the lease pond of pass.
Clause 97: the system of clause 93 to 95, wherein overlay network agency is configured to:
The response to request is received from producer's host system;
Determine that recipient consumer, recipient consumer include consumer based on the inside header of response;And
Provide the consumer with response.
Clause 98: the system of clause 97, wherein overlay network agency is configured to:
Identify source virtual address relevant to the producer leased;And
Before providing the consumer with response with source virtual address replace include in internal header with the life leased The relevant address of production person.
Clause 99: the system of clause 93 to 97, wherein overlay network agency is configured to including and producer system master The external mark of machine relevant producer's system host address and Consumer System host address relevant to Consumer System host Head package request.
Clause 100: a kind of non-provisional physical computer memory including computer executable instructions, executable instruction exist Instruction computing system is accessed by least following operation by the life in overlay network when executing in one or more processors The service that production person's virtual machine provides:
In response to receiving access in the clothes of producer's system from by consumer's virtual machine of Consumer System hosting The request of business, the request include target virtual address, select leased production from lease pond relevant to consumer's virtual machine Person's virtual machine, from its access service, lease pond includes the link information for representing producer's virtual machine of consumer's virtual machine lease;
The mesh in the header of request is replaced with producer's virtual machine address relevant to the producer's virtual machine leased Mark virtual address;
Determine producer's system host relevant to the producer's virtual machine leased;And
Request is set to be sent to producer's system to provide to the producer's virtual machine leased, to make to lease the producer Virtual machine is capable of handling the request of access service.
Clause 101: the non-provisional physical computer memory of clause 100, wherein from rent relevant to consumer's virtual machine Pond of renting selects leased producer's virtual machine to include:
Determine whether lease pond includes current not empty by least one producer leased that consumer's virtual machine uses The link information of quasi- machine;And
In response to determining that lease pond does not include current not by least one production leased that consumer's virtual machine uses Person's virtual machine, computer executable instructions further include instruction computing system:
It represents consumer's virtual machine and obtains the lease to one group of producer's virtual machine being included in overlay network;
Initiate the connection with the person's of the individually producing virtual machine for organizing leased producer's virtual machine from this;And
For the connection being successfully established, the link information of corresponding producer's virtual machine is added to lease pond.
Clause 102: the non-provisional physical computer memory of clause 101, wherein from rent relevant to consumer's virtual machine The leased producer's virtual machine of pond selection of renting further includes one of selection producer's virtual machine, and link information is added to lease Pond.
Term
Multiple computing systems are described in this entire disclosure.The description of these systems is not intended to limit the disclosure Introduction or applicability.For example, custom system as described herein can generally include any calculating equipment, such as desktop calculates Machine, laptop computer, video gaming platforms, TV set-top box, television set (such as internet TV), computerization electric appliance and nothing Line mobile device (such as smart phone, PDA, tablet computer etc.), names a few.In addition, user system as described herein System may be different types of equipment, to include different applications or otherwise be configured differently.In addition, user as described herein System may include any kind of operating system (" OS ").For example, mobile computing system as described herein can realize AndroidTM OS、OS etc. based on Linux or Unix.
In addition, the processing of the various parts of shown system can be distributed in multiple machines, network and other computing resources. In addition, two or more components of system are combined into less component.For example, being illustrated as each of the part of rental agency 102 Kind system can be distributed in multiple computing systems or be combined into single computing system.In addition, the various parts of shown system can It realizes in one or more virtual machines rather than in dedicated computer hardware system.Equally, shown data repository can generation Table physically and/or logically data storage, including such as storage area network or other distributed memory systems.Moreover, one In a little embodiments, the possible path of the connection representative of data flow between shown component, rather than the reality between hardware Connection.Although showing some examples that may be connected, in various implementations, any subset of shown component can be with component Any other subset communication.
According to embodiment, certain action, event or the function of any algorithm as described herein, method or process can be by Different sequences executes, can be added, merge or omit together (such as the not all action or event are all to the reality of algorithm It applies and is necessary).Moreover, in certain embodiments, action or event can for example by multiple threads, interrupt processing or Multiple processors or processor core are performed simultaneously rather than continuously on other parallel architectures.
Each various shown systems can be implemented as being programmed or configured to the calculating for executing various functionality described herein System.Computing system may include the multiple and different computers for carrying out communication and mutual operation by network to execute the function Or calculate equipment (such as physical server, work station, storage array etc.).Each such calculating equipment generally comprises execution and deposits Store up processor (or multiple processing of the program instruction in memory or other non-provisional computer-readable recording mediums or module Device).Various respective functions disclosed herein may be embodied in such program instruction, although some or all of disclosed functions can be with Optionally realized in the special circuit of computer system (such as ASIC or FPGA).It include multiple calculating equipment in computing system Occasion, these equipment can with but need not be positioned at same place.It can be by by physical storage device such as solid-state storage Device chip and/or disk are converted into different states to be persistently stored the result of disclosed method and task.Described is every A process can be by one or more one or more physical services for calculating equipment and for example being programmed using associated server code Device is realized.
Conditional statement used herein for example, especially " can (can) ", " can (might) ", " can (may) ", " example As ", in addition understand unless otherwise specifically stated or in context as used, is usually intended to convey certain embodiments Including, and other embodiments do not include, certain speciality, element and/or state.Therefore, such conditional statement is not usually It is intended to imply that feature, element and/or state are in any way needed one or more embodiments or one or more Embodiment must include for determining these features, element and/or shape in the case where being with or without user's input or prompt The logic whether state is included or will be performed in any specific embodiment.Term " including (comprising) ", " packet Include (including) ", " having " etc. be synonymous and including being included using, and additional member is not precluded in a manner of opening Part, feature, action, operation etc..In addition, term "or" is in the sense that it includes including (rather than in the sense that its is exclusive) It is used, so that term "or" means one, some or all of members in lists when the list for example for connecting element Part.In addition, article " a " or " an " should be interpreted to mean " one or more " or "at least one", unless otherwise prescribed.
Unless otherwise specifically stated, connection language such as phrase " at least one of X, Y and Z " is otherwise understood to as logical Being usually used in reception and registration project, item etc. can be the context of X, Y or Z.Therefore, such connection language is usually not intended to imply certain A little embodiments need at least one X, at least one Y and at least one Z to make each presence.
Although detailed description above is shown, is described and pointed out novel feature as being applied to various embodiments, It is that will be understood that, can makes in shown equipment or the various omissions, substitutions and variations in form and details of algorithm without departing from this Disclosed spirit.Therefore, what is intended to imply any specific feature, characteristic, step, module or block without in the foregoing written description It is necessary or indispensable.It does not provide as it will be realized, process as described herein may be embodied in institute set forth herein In the form for having feature and benefit, because some features dividually can be used or be practiced with other feature.Protection scope is by institute Attached claim rather than limited by foregoing description.Appear in all changes in the meaning and range of the equivalents of claim Change should be included in the range of them.

Claims (15)

1. a kind of system for dividing producer's system in multiple rental agencies, the system comprises:
Multiple rental agencies comprising the first rental agency, wherein the independent rental agency packet from the multiple rental agency Include one or more processors,
First rental agency includes
Dividing system, producer's system can be used by being configured to one group of identification;And
Block of state is configured to track the variation for the quantity that described group can use available producer's system in producer's system, The variation is based at least one of both following: the addition of one or more new production person's systems or one or more can With the loss in producer's system;
Wherein the dividing system is configured to determine that described group can use the quantity of available producer's system in producer's system Variation whether meet threshold value;
The dividing system is configured to that the threshold can be met with the variation of the quantity of producer's system in response to described group of determination Value is come:
Based on the counting of the quantity for the rental agency being included in the multiple rental agency come by described group of producer's system Multiple subsets of producer's system are divided into attempt to make the access by different custom systems to the multiple producer's system It is distributed generally evenly in the multiple producer's system;And
For the independent rental agency of the multiple rental agency, the offer of Xiang Suoshu rental agency is included in producer's system The identity of producer's system in one of described subset.
2. the system as claimed in claim 1, the dividing system is configured to provide to individual rental agency and be included in The identity of producer's system in the different subsets of producer's system of the subset from producer's system.
3. the system as claimed in claim 1, wherein the dividing system is configured to one into the multiple rental agency A or multiple rental agencies do not include first rental agency, are alerting the dividing system of first rental agency just Divide described group of producer's system.
4. the system as claimed in claim 1, wherein in response to receiving the second lease generation from the multiple rental agency Reason is just dividing the warning of described group of producer's system, and the dividing system of first rental agency is configured to inhibit to divide Described group of producer's system.
5. the system as claimed in claim 1, wherein first rental agency further includes registration module, the registration module is matched It is set to:
The request registered to first rental agency is received from producer's system;
Determine whether producer's system is included in the subset for being assigned to producer's system of first rental agency In;
The institute for being assigned to producer's system of first rental agency is included in response to determination producer's system It states in subset, producer's system is registered at first rental agency;And
The institute for being assigned to producer's system of first rental agency is not included in response to determination producer's system It states in subset, identifies the second rental agency from the multiple rental agency for being assigned to producer's system, and give Producer's system provides the identity of second rental agency.
6. a kind of method for dividing producer's system in multiple rental agency systems, which comprises
Pass through the first rental agency system including one or more processors:
Identification is in the available first group of producer's system of first time period;
Identification is in the available second group of producer's system of second time period;
The variation of the quantity of producer's system, the variation base can be used from the first time period to the second time period by tracking In at least one of both following: the addition of one or more new production person's systems in one or more can be with the producer Loss in system;
Whether determine from the first time period to the second time period can meet threshold with the variation of the quantity of producer's system Value;And
It can be met with the variation of the quantity of producer's system in response to determining from the first time period to the second time period The threshold value:
By the different subsets of first group of producer's system being distributed to individual rental agency system come in the multiple rent Agency plant of renting divides first group of producer's system in the middle;And
For the independent rental agency system of the multiple rental agency system other than the first rental agency system, The production that the rental agency system is assigned to from first group of producer's system is provided to the independent rental agency system The identity of the subset of person's system is so that different producer's systems from first group of producer's system can be to difference Consumer System service is provided, first group of producer's system in the multiple rental agency system as a result, Described divide realizes the service provided in the different Consumer System by first group of producer's system The balance of distribution.
7. method as claimed in claim 6, further include:
At least one of the multiple rental agency system is received in the not available instruction of third period;
Identification is in the third period available third group producer's system;
Identification is in the third period available one group of rental agency system;
The third period available institute is divided in the third period available described group of rental agency system State third group producer's system;And
For the independent rental agency system in the third period available described group of rental agency system, the rent is given Agency plant of renting provides the identity of the subset of producer's system from third group producer's system, the institute of producer's system Subset is stated to be based at least partially on the division of second group of producer's system and be determined.
8. method as claimed in claim 6, wherein being divided in the first time in the multiple rental agency system The available first group of producer's system of section includes that first group of producer's system is divided into the non-heavy of producer's system Folded subset.
9. method as claimed in claim 6, further include:
Determine producer's system of the first subset from the producer's system for being assigned to the first rental agency system not It is available again;And
Update can reflect that producer's system is no longer available with the counting of producer's system, wherein determining described the One period, available first group of producer's system was based at least partially on the counting of available producer's system;And
Wherein determining that producer's system is no longer available including receiving producer's system from Consumer System is nothing During the notice or determination producer's system of reaction are reactionless to the status request provided by the first rental agency system One.
10. method as claimed in claim 6, further include:
The request to the first rental agency system registry is received from producer's system;
Determine whether producer's system is included in the producer's system for being assigned to the first rental agency system In the subset;
The producer's system for being assigned to the first rental agency system is included in response to determination producer's system The subset in, producer's system is registered at the first rental agency system;
The producer system for being assigned to the first rental agency system is not included in response to determination producer's system In the subset of system, the method also includes:
The second rental agency system from the multiple rental agency system for being assigned to producer's system of identification;With And
The identity of the second rental agency system is provided to producer's system.
11. a kind of method for dividing lease in multiple rental agency systems, which comprises
Pass through the first rental agency system including one or more processors:
Producer's system can be used by identifying one group;
Determination can use the available multiple leases of the person's of individually producing system of producer's system to described group;
The variation of the quantity of available producer's system in producer's system can be used by tracking described group, and the variation is based on following two At least one of person: the addition of one or more new production person's systems can use the damage in producer's system one or more It loses;
Determine whether described group can meet threshold value with the variation of the quantity of available producer's system in producer's system;And
The threshold value can be met with the variation of the quantity of available producer's system in producer's system in response to described group of determination Come:
It is available to the person's of individually producing system by being come to the independent rental agency system distribution from multiple rental agency systems The multiple lease lease subset come in the multiple rental agency system divide can to the person's of individually producing system The multiple lease;And
For the independent rental agency system of the multiple rental agency system, it is assigned to rental agency system offer The subset of the lease of the rental agency system, as a result, to the person of individually producing in the multiple rental agency system The flat of the workload in the multiple rental agency system is realized in the division of the available the multiple lease of system Weighing apparatus.
12. method as claimed in claim 11, wherein independent rental agency system is assigned the non-overlapping subsets of lease.
13. method as claimed in claim 11, wherein the subset for providing lease to the rental agency system does not include The subset for being assigned to the lease of the rental agency system is provided to the first rental agency system.
14. method as claimed in claim 11, wherein being assigned to the rental agency to rental agency system offer The subset of the lease of system includes one of following operation: (1) providing to the rental agency system for the multiple life The person's of individually producing system of production person's system is assigned to the multiple lease of the rental agency system, or (2) give the rent Agency plant of renting provides the identifier individually leased for being assigned to the rental agency system.
15. method as claimed in claim 11, wherein dividing in the multiple rental agency system to the person of individually producing The available the multiple lease of system, which is included in the multiple rental agency system, substantially equally to be divided to independent raw The available the multiple lease of production person's system.
CN201480045484.XA 2013-06-26 2014-06-24 Producer's system in rental agency system divides Active CN105593820B (en)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US13/927,929 US9369518B2 (en) 2013-06-26 2013-06-26 Producer system partitioning among leasing agent systems
US13/927,929 2013-06-26
US13/927,995 2013-06-26
US13/927,892 2013-06-26
US13/927,995 US9780993B2 (en) 2013-06-26 2013-06-26 Producer computing system leasing on behalf of consumer computing system
US13/927,933 2013-06-26
US13/927,933 US9843631B2 (en) 2013-06-26 2013-06-26 Producer system selection
US13/927,892 US9350801B2 (en) 2013-06-26 2013-06-26 Managing client access to a plurality of computing systems
PCT/US2014/043939 WO2014210053A2 (en) 2013-06-26 2014-06-24 Producer system partitioning among leasing agent systems

Publications (2)

Publication Number Publication Date
CN105593820A CN105593820A (en) 2016-05-18
CN105593820B true CN105593820B (en) 2019-04-19

Family

ID=51212983

Family Applications (3)

Application Number Title Priority Date Filing Date
CN201480036547.5A Active CN105556472B (en) 2013-06-26 2014-06-24 It manages and the client of multiple computing systems is accessed
CN201480045521.7A Active CN105612539B (en) 2013-06-26 2014-06-24 Producer system partitioning among leasing agent systems
CN201480045484.XA Active CN105593820B (en) 2013-06-26 2014-06-24 Producer's system in rental agency system divides

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CN201480036547.5A Active CN105556472B (en) 2013-06-26 2014-06-24 It manages and the client of multiple computing systems is accessed
CN201480045521.7A Active CN105612539B (en) 2013-06-26 2014-06-24 Producer system partitioning among leasing agent systems

Country Status (5)

Country Link
EP (3) EP3014442A2 (en)
JP (3) JP6243528B2 (en)
CN (3) CN105556472B (en)
CA (3) CA2916258C (en)
WO (3) WO2014210058A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9350801B2 (en) 2013-06-26 2016-05-24 Amazon Technologies, Inc. Managing client access to a plurality of computing systems
US9369518B2 (en) 2013-06-26 2016-06-14 Amazon Technologies, Inc. Producer system partitioning among leasing agent systems
US9843631B2 (en) 2013-06-26 2017-12-12 Amazon Technologies, Inc. Producer system selection
US9780993B2 (en) 2013-06-26 2017-10-03 Amazon Technologies, Inc. Producer computing system leasing on behalf of consumer computing system
US10592064B2 (en) 2013-09-17 2020-03-17 Amazon Technologies, Inc. Approaches for three-dimensional object display used in content navigation
CN111386542B (en) * 2017-11-27 2022-03-04 北京嘀嘀无限科技发展有限公司 System and method for distributing on-demand service requests
US20230071047A1 (en) * 2021-09-08 2023-03-09 Microstrategy Incorporated Systems and methods for virtual machine resource distribution
WO2024069846A1 (en) * 2022-09-29 2024-04-04 楽天モバイル株式会社 Dynamic change of resource allocation for virtual network function

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US8615764B2 (en) * 2010-03-31 2013-12-24 International Business Machines Corporation Dynamic system scheduling

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9508283D0 (en) * 1995-02-07 1995-06-14 British Telecomm Information services provision and management
JP3711866B2 (en) * 2000-04-10 2005-11-02 日本電気株式会社 Framework having plug and play function and reconfiguration method thereof
JP2006235837A (en) * 2005-02-23 2006-09-07 Nec Corp Load balancing system, load balancer management server, switching method for load balancer and program
US8145760B2 (en) * 2006-07-24 2012-03-27 Northwestern University Methods and systems for automatic inference and adaptation of virtualized computing environments
US8635349B2 (en) * 2007-02-20 2014-01-21 Oracle America, Inc. Method and system for managing computing resources using an electronic broker agent
US9106540B2 (en) * 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
US8364819B2 (en) * 2010-05-28 2013-01-29 Red Hat, Inc. Systems and methods for cross-vendor mapping service in cloud networks
JP2012234236A (en) * 2011-04-28 2012-11-29 Hitachi Ltd Load distribution system
US9137304B2 (en) * 2011-05-25 2015-09-15 Alcatel Lucent Method and apparatus for achieving data security in a distributed cloud computing environment
US9369426B2 (en) * 2011-08-17 2016-06-14 Nicira, Inc. Distributed logical L3 routing
CN102955456A (en) * 2011-08-26 2013-03-06 北京安翔动力科技有限公司 Bus communication based small unmanned aerial vehicle control system
CN103049245B (en) * 2012-10-25 2015-12-02 浪潮电子信息产业股份有限公司 A kind of software performance optimization method based on central processor CPU multi-core platform
CN103870580A (en) * 2014-03-24 2014-06-18 深圳市众鸿科技股份有限公司 Objected-based dynamic-attribute cloud management platform and system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US8615764B2 (en) * 2010-03-31 2013-12-24 International Business Machines Corporation Dynamic system scheduling

Also Published As

Publication number Publication date
CN105612539B (en) 2020-05-05
CA2916261A1 (en) 2014-12-31
CA2916261C (en) 2018-04-10
JP2016527623A (en) 2016-09-08
JP2016526723A (en) 2016-09-05
EP3014442A2 (en) 2016-05-04
CA2916258A1 (en) 2014-12-31
WO2014210058A3 (en) 2015-02-26
JP6243528B2 (en) 2017-12-06
JP2016527780A (en) 2016-09-08
EP3014537A2 (en) 2016-05-04
WO2014210058A2 (en) 2014-12-31
WO2014210054A2 (en) 2014-12-31
WO2014210053A3 (en) 2015-02-26
CA2916265C (en) 2018-04-10
WO2014210053A2 (en) 2014-12-31
CA2916265A1 (en) 2014-12-31
EP3014441A2 (en) 2016-05-04
CN105556472A (en) 2016-05-04
CN105556472B (en) 2019-07-26
JP6165978B2 (en) 2017-07-19
JP6200080B2 (en) 2017-09-20
CN105593820A (en) 2016-05-18
WO2014210054A3 (en) 2015-02-26
CN105612539A (en) 2016-05-25
CA2916258C (en) 2019-01-29

Similar Documents

Publication Publication Date Title
CN105593820B (en) Producer's system in rental agency system divides
US11108856B2 (en) Methods and apparatus for performing distributed computing using blockchain
US20210174411A1 (en) Managing storage volume in a virtual computing infrastructure
US20110145153A1 (en) Negotiating agreements within a cloud computing environment
CN108959972A (en) The rule-based safety of cooperation
US9350801B2 (en) Managing client access to a plurality of computing systems
US11128698B2 (en) Producer system registration
US20150019732A1 (en) Producer system partitioning among leasing agent systems
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system

Legal Events

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