CN105556472B - It manages and the client of multiple computing systems is accessed - Google Patents

It manages and the client of multiple computing systems is accessed Download PDF

Info

Publication number
CN105556472B
CN105556472B CN201480036547.5A CN201480036547A CN105556472B CN 105556472 B CN105556472 B CN 105556472B CN 201480036547 A CN201480036547 A CN 201480036547A CN 105556472 B CN105556472 B CN 105556472B
Authority
CN
China
Prior art keywords
producer
consumer
lease
rental agency
request
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
CN201480036547.5A
Other languages
Chinese (zh)
Other versions
CN105556472A (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,933 external-priority patent/US9843631B2/en
Priority claimed from US13/927,995 external-priority patent/US9780993B2/en
Priority claimed from US13/927,929 external-priority patent/US9369518B2/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 CN105556472A publication Critical patent/CN105556472A/en
Application granted granted Critical
Publication of CN105556472B publication Critical patent/CN105556472B/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

Abstract

Disclose the process and system for Lease Consumption person system to the access of producer's system.The Consumer System can be communicated with one group of rental agency to obtain the identity for the multiple producer's systems that can provide the access to service for the Consumer System.Each rental agency can provide the access in some period to producer's system for the Consumer System.If the Consumer System requires further access specific manufacturer system, the so described Consumer System can request to update the lease from the rental agency, and the rental agency provides the initial lease of producer's system to the Consumer System.

Description

It manages and the client of multiple computing systems is accessed
Related application
This application involves following applications: on June 26th, 2013 submits and entitled " MANAGING CLIENT ACCESS The U. S. application No.13/927,892 of TO A PLURALITY OF COMPUTING SYSTEMS ";On June 26th, 2013 submits And the U.S. Shen of entitled " PRODUCER SYSTEM PARTITIONING AMONG LEASING AGENT SYSTEMS " It please No.13/927,929;The U.S. of submission on June 26th, 2013 and entitled " PRODUCER SYSTEM SELECTION " Apply for No.13/927,933;And on June 26th, 2013 submits and entitled " PRODUCER SYSTEM The U. S. application No.13/927 of PARTITIONING AMONG LEASING AGENT SYSTEMS ", 995, the public affairs of these applications Full text is opened to be hereby incorporated herein by hereby.
Background
In general, computing resource and service are provided by multiple computing systems.These computing resources and/or service can be multiple Additional computing systems consumption.In many cases, several computing systems will provide access to same resource or service.Money is provided Each of computing system of source or service usually the system the manageable request of some period quantitative aspects It is restricted.
It is serviced to help to supply to requesting computer system, some enterprises utilize integrated system, centralization system System can track the service condition of each system of the service of offer or resource.By using integrated system, can make to supply It is balanced between several computing systems that the service of offer or resource are provided in each of system.The system of centralization as one System is hardware load balancer.Hardware load balancer can contribute between providing the computing system of service or resource be distributed to ask It asks, thus the supply system balanced load across enterprise.
Brief description
In all the attached drawings, reference number is reused to indicate the correspondence between cited element.There is provided attached drawing with Illustrate the embodiment of invention as described herein but not limits its range.
Figure 1A is illustrated for providing the network of the access to the service as hosted by producer's system for Consumer System The embodiment of environment.
Figure 1B is illustrated for providing the access to the service as hosted by producer's system and use for Consumer System In the embodiment for the network environment for providing producer's system health information to one or more rental agencies.
Fig. 2 is illustrated for providing the network rings of the access to the service as hosted by producer's system for Consumer System The alternate figures of the embodiment in border.
Fig. 3 illustrates the embodiment of the process for accessing the service at producer's system.
Fig. 4 illustrates the embodiment of the process for providing the lease to producer's system for Consumer System.
Fig. 5 illustrates the embodiment of producer's system update process.
Fig. 6 illustrates the embodiment of the division process for dividing one group of producer's system.
Fig. 7 illustrates the embodiment that producer's system registry process is used for from the perspective of producer's system.
Fig. 8 illustrates the embodiment that producer's system registry process is used for from the perspective of rental agency.
Fig. 9 illustrates the embodiment for the subdivided process of rental agency.
Figure 10 illustrates the embodiment for selecting process for the producer based on hysteresis.
Figure 11 is illustrated for providing the overlapping of the access to the service as hosted by producer's system for Consumer System The embodiment of network environment.
Figure 12 illustrates the embodiment of the process for accessing the service at producer's virtual machine.
Figure 13 illustrates the embodiment of the process of the request for handling the service at access producer's virtual machine.
Figure 14 illustrates the embodiment of the process for leasing the access to producer's virtual machine.
Figure 15 illustrates the example that can be used for promoting in overlapping network environment the condition management table of communication.
It is described in detail
Brief introduction
Although hardware load balancer can be used for helping prevent computing system (its for providing the access to service or resource Can be described as producer's system) because from the computing system for requesting the access to service or resource (it can be described as Consumer System) It requests and becomes that over-burden, but hardware load balancer can suffer from many disadvantages.For example, hardware load balancer provides list A fault point.In other words, if hardware load balancer breaks down, relevant enterprise system may become visit It asks, because service request may be no longer relayed to producer's system.In addition, hardware load balancer can be the impermeable of valuableness Bright hardware, this makes them be unattractive solution for business system load balance for making.
One solution of the problem related to hardware load balancer is using decentralization load balancer.So And although decentralization load balancer will solve the problems, such as and relevant multiple, the decentralization using hardware load balancer Load balancer is often suboptimum because they and do not have global visual angle to business system and each load balance Device is usually limited to serve the definition subgroup of Consumer System and producer's system.
The present disclosure describes be from multiple consumers to distribute between multiple producer's systems using one group of rental agency The embodiment of the system and process of the service request of system.Rental agency can be monitored and be distributed for producer's system subgroup Access or lease, and in most cases, it is known that whole multiple producer's systems.In addition, coming for each service request It says, single Consumer System can be with several rental agencies and multiple producer's system interactions act in some cases.? In certain embodiments, this group of rental agency can serve as mixed load balancer, because load balance process can be made to be distributed Between one group of hardware based distributed system, wherein it is flat to be performed both by the load for producer's system for each rental agency Weighing apparatus.
Advantageously, in certain embodiments, it is maintained simultaneously about every by dividing producer's system between rental agency At least subset of the information of each producer's system at one rental agency can be realized in the case where no disadvantages mentioned above The advantages of both hardware load balancer and decentralization load balancer.In addition, in certain embodiments, by that will not disappear Expense person's system is assigned to specific rental agency and/or producer's system, is divided into multiple isolated subsystems with by producer's system System is compared, and the passage of load at any time as handled by each of multiple producer's systems can be made more to balance.
In some cases, the system and application program realized in producer's system and/or Consumer System are modified To work with rental agency one.For example, as 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 be used for can be with trustship consumer virtual machine and life The one or more overlapping networks realized on one group of calculating main frame top of production person's virtual machine.Advantageously, in certain embodiments, The system and method that the disclosure can be realized in the networked infrastructure of consumer host and producer's host, so that energy It is enough that Rental Procedure occurs in the case where not being related to consumer's virtual machine and/or producer's virtual machine.
When the embodiment for realizing the disclosure in overlapping network, rather than producer's system is divided between rental agency When, producer's virtual machine relevant to each overlapping network can be individually divided between rental agency.In addition, that will produce When the lease of person's virtual machine is to consumer's virtual machine, it is empty that rental agency can choose the consumer for being assigned to and being requested for lease Producer's virtual machine of the quasi- identical overlapping network of machine.
Network environment is summarized
Figure 1A is illustrated for providing for Consumer System 104A-C to the service by producer's system 106A-D trustship The embodiment of the network environment 100 of access.In general, network environment 100 indicates individual data center.However, some In the case of, the system of network environment 100 can be made to be distributed between multiple data centers.
Network environment 100 may include that (it herein can be with the shape of singular or plural by multiple producer's system 106A-D Formula be known as " producer's system 106 ") and Consumer System 104A-C (it can be known as in the form of singular or plural herein " Consumer System 104 ").Although the description of four producer's systems 106 and three Consumer Systems 104, but network environment 100 It may include any number of producer's system 106 and Consumer System 104.In addition, in some embodiments, although network Environment 100 is previously described as indicating one or more data centers, but at least some of Consumer System 104 can be independently of Data center.For example, in some embodiments, network environment 100 can be made associated with special entity or tissue.Such In embodiment, at least some of Consumer System 104 can indicate the user or consumer that can be communicated with network environment 100 Computing system, but these users or customer computing systems can it is independent in remaining system relevant to network environment 100 or point From entity control under.
In general, each of producer's system 106 can provide service and/or be calculated to Consumer System 104 Machine resource.In some cases, but producer's system 106 each can provide identical service to Consumer System 104 And/or resource.In other cases, at least some of producer's system 106 producer system may be capable of providing and produce Other producer's systems in person's system 106 different service and/or resource.As provided by producer's system 106 this A little services and/or resource may include any kind of service and/or computing resource.For example, these services and/or computer money Source may include: data storage access;Visiting from outside (for example, access to internet);Internal resource access (for example, Access to the database managed by entity identical with network environment 100);Access to directory service;To application program Access;Access (for example, distributed treatment for ordering or requesting) to process resource;Route service is (for example, network road By servicing) etc..It is discussed to simplify, " service " has except generic sense herein unless a term, the remainder of the disclosure Service, computer resource are also referred to using term " service " or can be provided by or by producer's system 106 any other Resource.
Producer's system 106 may include any kind of computing system.For example, producer's system 106 may include visitor Family end system, server (for example, apps server, web page server), laptop computer, desktop computer, data base set System, background system, catalog system, deletion repeat system, storage system etc..Similarly, Consumer System 104 may include any The computing system of type.For example, Consumer System 104 may include FTP client FTP, server, laptop computer, desktop Brain, tablet computer, mobile phone, game station, television set etc..In some embodiments, Consumer System 104 can also fill When producer's system, vice versa.For example, an accessible producer's system 106 of Consumer System 104 is to obtain data (for example, the producer's system for serving as Database Systems or storage system).Same Consumer System 104 can also for example, by The mode that another Consumer System 104 provides application program access serves as producer's system.In some cases, can will disappear Expense person's system 104 and producer's system 106 are respectively seen as FTP client FTP and server system.However, as described above, consumer System 104 and producer's system 106 are not limited to this.
When needing Consumer System 104 or requires to the service provided by producer's system 106, Consumer System (it can be known as " renting herein in the form of singular or plural 104 accessible one or more rental agency 102A-102D Rent agency 102 ") to request access to producer's system 106 of the service of being capable of providing.In general, the access of Consumer System 104 is rented Rent agency 102 some subgroup to obtain the identity of the producer's system 106 that will be accessed, to realize service request.Lease The subgroup of agency 102 can be randomly selected from available rental agency 102 and including several in rental agency 102 can be used. For example, the request of access producer's system 106 can be provided to three in four available rental agencies illustrated in Figure 1A. However, in some cases it may Consumer System 104 is assigned to specific rental agency 102.In addition, in some cases, Consumer System 104 can be mentioned to single rental agency 102 or to the existing rental agency 102 of each of network environment 100 For accessing the request of producer's system 106.
Figure 1A illustrate the communication between rental agency 102, Consumer System 104 and producer's system 106 one shows Example.As in figure 1a it can be seen that, each of Consumer System 104 with three in four available rental agencies 102 Communication.As shown by a dashed arrow, this communication may include control information, including is for example related to access and is mentioned by producer's system 106 The control information of the request of the request and/or access producer's system 106 of the service of confession.In addition, such as connecting Consumer System 104 Shown in the solid arrow for being connected to the subgroup of producer's system 106, communication may include being related to the service clothes requested by consumer 104 The data of producer's system 106 of business.In addition, rental agency 102 can be communicated among themselves to provide and for example be related to The status information of rental agency 102 and/or producer's system 106.It should be pointed out that the various systems of the network environment 100 of Figure 1A Between shown intercommunication be that the only one of communication between Consumer System 104, producer's system 106 and rental agency 102 is shown It example and is not intended to and is limited.Communication between the various systems of network environment 100 is relative to Fig. 3-10 about this paper institute The process stated is described in further detail.
Figure 1B is illustrated for providing the access to the service by 106 trustship of producer's system simultaneously for Consumer System 104 And the embodiment of the network environment 100 for providing producer's system health information to one or more rental agencies 102.Such as Shown in Figure 1B, in some cases it may provide data to Consumer System 104 and from consumption from producer's system 106 Person's system 104, which provides, arrives producer's system 106.In other words, in some cases, data communication can be two-way.
In addition, producer's system 106 can provide health and fitness information to rental agency 102, so that 102 energy of rental agency Enough track which producer's system 106 acting on and which producer's system 106 have be available for being assigned to consumer The resource of system 104.In some cases, producer's system 106 can provide health and fitness information in the time that is ranked.In other situations Under, rental agency 102 can request producer's system 106 about health and fitness information or issue table tennis request to producer's system 106.It is logical Often, each producer's system 106 is made to be assigned to single rental agency 102, as shown in producer's system 106A-106C.However, In certain embodiments, producer's system 106 can be made to be assigned to multiple rental agencies 102, such as producer's system 106D The case where it is the same.
Although Figure 1A and 1B illustrate different data and control channel, it might be that network environment 100 is realized Some or all of data and control channel illustrated by Figure 1A and 1B.Therefore, although Figure 1B does not illustrate Consumer System Channel between 104 and rental agency 102, but there is control letter usually between Consumer System 104 and rental agency 102 Road, as shown in Figure 1A.In addition, some or all of these channels can be it is unidirectional, one of system request data or Information is controlled, and other systems provide data or control information.Alternatively, or in addition to this, some in these systems Or all can be it is two-way, wherein communication in two systems can request and provide data or control information.
Fig. 2 is illustrated for providing the net of the access to the service by 106 trustship of producer's system for Consumer System 104 The alternate figures of the embodiment of network environment 100.As shown in Fig. 2, each system of network environment 100 can pass through network 202 It communicates with one another.Network 202 may include any kind of wired or wireless network and their combination.For example, network 202 can be with Including local area network (LAN), wide area network (WAN), cellular network, the network based on Ethernet, WiFi network, WiLAN network etc..Separately Outside, in some cases, network 202 may include internet.
As shown in Fig. 2, system shown in Figure 1A can respectively include multiple subsystems, multiple subsystem can with hardware or Software realization.For example, Consumer System 104 may include lease requester 240, block of state 242, link block 244 and money Source requester 246.Lease requester 240 can be configured to request one or more lifes from one or more rental agencies 102 The lease of production person's system 106.In some cases, lease requester 240 can especially request the visit to producer's system 106 It asks.In other cases, lease requester 240 can request the access to service, wherein presence or absence of clear request pair The access of producer's system 106.
Once lease requester 240 obtains the identity of one or more producer's systems 106, link block 244 can be tried Establish and communicate with some or all of the production system 106 that is identified by rental agency 102.It is built with producer's system 106 After vertical connection, resource requestor 246 can request resource or service, the producer of Consumer System 104 from producer's system 106 System is successfully established adjoining.
Block of state 242 can obtain the status information about producer's system 106.The information can then be provided Rental agency 102, in response to requesting the access to producer's system 106 that rental agency 102 is promoted to select from Consumer System 104 Select producer's system 106.The information can be provided to the corresponding states module 228 of rental agency 102.In some cases, Block of state 242 is based on being successfully established and the connection of producer's system 106 or be not successfully established and producer's system 106 The case where connection, which gets off, obtains status information.In other cases, pass through inquiry producer's system 106 and/or corresponding states mould Block 262 (a part that these modules are included as producer's system 106) obtains status information.The status information can wrap It includes about any information for making producer's system 106 connect and/or be serviced by the supply of producer's system 106.For example, status information It may include being related to being successfully established between Consumer System 104 and producer's system 106 communicating or without establishing the letter communicated Breath.As another example, status information may include the Consumer System in given time period access producer's system 106 104 quantity.Other example may include the responsiveness for being related to producer's system 106, the ability of producer's system 106, life The information of available resource etc. at production person's system.
As shown in Fig. 2, producer's system 106 may include registration module 260 and block of state 262.As it was earlier mentioned, shape Morphotype block 262 can be provided to Consumer System 104 is related to the status information of producer's system 106, which is related to The status information of producer's system 106.In addition, in some cases, block of state 262 can be voluntarily 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, when When producer's system 106 is started for the first time, registration module 260 can register producer's system 106 automatically, as initialization example A part of journey.In other embodiments, registration module 260 can be in response to the Ordered Registration from user or application program Producer's system 106.In some cases, registration module 260 can determine its lease generation distributed in producer's system 106 Producer's system 106 is registered when managing no longer available.
As previously mentioned, rental agency 102 can also include block of state 228.Block of state 228 can be from Consumer System 104 and producer's system 106 in one or two reception about producer's system 106 state status information.In addition, shape Morphotype block 228 can provide status information relevant to producer's system 106 to another rental agency 102.In addition, some In the case of, block of state 228 can be by executing the strong of other rental agencies 102 from other 102 solicited status of rental agency Health inspection.For example, whether block of state 228 can be determined lease generation by 102 response of rental agency based on health-check request Whether reason 102 is no longer available.In some cases, block of state 228 can be by holding from 106 solicited status of producer's system The health examination of row producer system 106.
Other than block of state 228, rental agency 102 can also include producer's repository 220, dividing system 222, rent System of renting 224 and registration module 226.Producer's repository 220 may include any kind of database, repository or memory It is related to the information of producer's system 106 for storing.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 it is related to distribution of the producer's system 106 between rental agency 102 or draws The information divided.In some embodiments, it may replace producer's repository 220 or other than producer's repository 220, will deposit Information some or all of of the storage at producer's repository 220, which is stored in, acts on behalf of repository 206.
Dividing system 222 may include that can divide that producer's system can be used between 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 subgroup with producer's system 106 And a subgroup then is distributed for each rental agency 102.Therefore, if there is four rental agencies 102, then producing Person's system 106 can be divided into four subgroups, and wherein each subgroup is related to a rental agency 102.However, in some feelings Under condition, these subgroups can be overlapped.In this case, producer's system 106 can be assigned multiple rental agencies 102 or It is related to multiple rental agencies 102.The process that producer's system 106 is divided between rental agency 102 can be in network environment 100 When being started for the first time.In addition, the process can periodically occur again.For example, whenever available producer's system 106 Quantity variation or can occur to divide the process of producer's system 106 when changes of threshold occurs for available producer's system 106, The mode of producer's system 106 can be used whether through increasing or deleting.
When Consumer System 104 requests to request the access to producer's system 106 from rental agency 102, lease system System 224 can be identified based on Multiple factors for leasing the producer's system 106 for arriving Consumer System 104, these factor packets The position of status information for example relevant to producer's system 106, producer's system 106 is included (for example, in geographical location, data The heart, server rack etc.) and producer's system 106 whether can obtain Consumer System 104 attempt access resource.Once Leasing system 224 identifies that producer's system, leasing system 224 can provide producer's system 106 for requesting consumption person's system 104 Identity.In addition, in some cases, leasing system 224 can be provided for Consumer System 104 Consumer System 104 in order to Access producer's system 106 and authorized lease time.Alternatively, or in addition to this, leasing system 224 can be to disappear Expense person's system 104 provides some a certain amount of other consumable resource or measurement.For example, the consumable resource can be all to calculate Phase, currency, magnetic disk storage connection request etc..
Registration module 226 can serve as the corresponding part of the registration module 260 of producer's system 106.Once from the producer System 106 receives the request registered to rental agency 102, and the registration module 260 of rental agency 102 can determine that the producer is Whether system 106 is assigned to rental agency 102.If it were to be so, then registration module 226 is registrable producer's system 106, this may include store producer's system 106 usability status and with the production in such as producer's repository 220 The relevant status information of person's system 106.On the other hand, if registration module 226 determines that producer's system 106 is not assigned to rent Rent agency 102, then registration module 226 can identify another rental agency 102 for being assigned to producer's system 106 and can To notify the identity for the rental agency 102 for being assigned to producer's system 106 to producer's system 106.
In certain embodiments, network environment 100 may include acting on behalf of repository 206 and/or dividing system 204.Generation Reason repository 206 may include the letter about rental agency 102 and/or producer's system 106 included in network environment 100 Breath.Acting on behalf of the information stored in repository 206 can be by rental agency 102, Consumer System 104 and producer's system 106 In one or more use.For example, in some cases, rental agency 102, which can be used, acts on behalf of the determining network of repository 206 The quantity and/or identity of producer's system 106 of environment 100.By using this information, rental agency 102 can be determined such as What divides producer's system 106.In some cases, Consumer System 104 can be used act on behalf of repository 206 determination producing Person's system 106 by rental agency 102 identify with by Consumer System 104 access after, by the producer's system positioning where.Make To use another example for acting on behalf of repository 206, in some cases, producer's system 106 is accessible to act on behalf of repository, To determine for example when producer's system 106 is started for the first time by the identity of the rental agency of access 102.
In some embodiments, dividing system 204 can be executed for dividing producer's system between rental agency 102 106 process.In such embodiments, rental agency 102 may not include the dividing system 222 of their own.
In some embodiments, can make in system shown in Figure 2 included at least some modules with by these systems The application program and/or resources integration of offer.For example, can make the block of state 262 of producer's system 106 be with by the producer The application program and/or resources integration that system 106 provides.Similarly, block of state 242 can be made and by 104 support of Consumer System The application program or Services Integration of pipe.
For accessing the example flow of the service at producer's system
Fig. 3 illustrates the embodiment of the process 300 for accessing the service at producer's system 106.Process 300 can be by Any system realizes that the system can access lease or the temporary Authorization of producer's system 106 by obtaining from rental agency 102 To access service or the computer resource at producer's system 106.For example, can be by Consumer System 104, lease requester 240, link block 244, resource requestor 246 and block of state 242 (naming just a few) wholly or partly execute process 300.Although any number of system can wholly or partly implementation process 300 will be referring to specific in order to simplify discussion 300 each section of System describe process.
Process 300 starts in block 302, wherein such as lease requester 240 is generated for accessing producer's system 106 Lease request.In some cases, lease request may include the application journey on Consumer System 104 or Consumer System 104 The identity of computer resource or service that the user of sequence desires access to.In other cases, lease request cannot not be included in specifiedly life The request of producer's system 106 will be accessed at production person's system 106 in the case where the service accessed by Consumer System 104.
In block 304, the subgroup of lease requester 240 rental agency 102 included into network environment 100 provides rent It rents request.In some cases, lease requester 240 can be used rental agency 102 to provide lease request to some or all. Lease requester 240 can be identified by access agent repository 206 to use rental agency 102, this may include network rings The identity of each rental agency 102 in border 100.In other cases, Consumer System 104 can initialize or start When, or any other time during Consumer System 104 operates, respectively it is configured to the identity with rental agency 102. For example, user (for example, administrator) can provide the identity of rental agency 102 for Consumer System 104.Rental agency 102 Identification may include the title of rental agency 102, rental agency 102 address (for example, the Internet Protocol address (IP) or other Network address) and/or can be used to identify any other information of the rental agency 102 in network environment 100.In some embodiment party In case, providing lease request to rental agency 102 may include providing for rental agency 102 and one or more producer's systems 106 relevant status informations, Consumer System 104 had previously been acted on these producer's system interactions.
In block 306, Consumer System 104 is each from 102 subgroup of rental agency for providing lease request in block 304 A identification for receiving producer's system 106.In some cases, Consumer System 104 is from 102 subgroup of rental agency certain is some The middle identification for receiving producer's system 106.For example, Consumer System 104 can be from one, two or complete of rental agency 102 The identification of producer's system 106 is received in whole subgroup.Consumer System 104 does not receive any producer's system 106 wherein Identity in the case where, process 300 can terminate, can repeat to block 302 and/or 304 relevant operations, and/or use (for example, administrator) may be warned at family.In some cases, the identification for receiving producer's system 106 includes consumer system System 104 is authorized to or leases the time span of the access to producer's system 106.Subgroup from rental agency 102 Each rental agency 102 can provide the identity of single producer's system 106.However, in some cases, from lease Each of the rental agency 102 of the subgroup of agency can provide the identity of multiple producer's systems 106.With rental agency 102 identity is the same, and the identity of producer's system 106 may include identification producer's system 106 and Consumer System 104 or mention For accessing any information of the method for producer's system 106.For example, the identity of producer's system 106 may include title, address (for example, IP address) or it can be used for being located in producer's system 106 in stored table or data structure (for example, being located in Act on behalf of in repository 206) identifier.
In some cases, block 306 may include receiving the production identified by each of 102 subgroup of rental agency The status information of person's system 106.The status information can be used for that 104 determination of Consumer System is helped to access that producer system System 106.In some cases, status information can be obtained by the rental agency 102 communicated with producer's system 106.It is alternative Ground, or in addition to this, status information can be obtained from the Consumer System 104 previously communicated with production system 106.It is connect The status information of receipts may include be available for rental agency 102 status information be independently arranged or subgroup.In some cases Under, received status information may with may not also be with the status information reciprocation that is available for rental agency 102.
In block 308, link block 244 attempt initialization with it is every in producer's system 106 for being identified at block 306 One connection.In some cases, link block 244 can attempt the producer's system identified in initialization and block 306 The connection of 106 subgroup.Trial initialization connection can include attempt to open any with the communication channel of producer's system 106 Process.For example, attempting initialization connection may include sending connection request packet to producer's system 106.In general, work as consumption When person's system 104 receives the identity of producer's system 106, link block 244 can be attempted to establish the company with producer's system 106 It connects.When Consumer System 104 can be received rarely from multiple rental agencies 102 simultaneously to be responded (for example, because rental agency 102 can be positioned from Consumer System 104 it is different with a distance from or can have a different loads), link block 244 can be rare Ground is attempted while the connection of initialization and multiple producer's systems 106.On the contrary, what initialization was connect with producer's system 106 It attempts staggeredly to carry out, even if in very small degree.However, in some embodiments, link block 244 can taste The connection of examination while initialization and multiple producer's systems 106.For example, in some cases, consumer module 104 can wait It, can be simultaneously from multiple rental agencies until each of 102 subgroup of rental agency makes a response, or in some cases 102 receive response.
In a block 310, resource requestor 246 accesses or requests access to the computer money from first producer's system 106 Source, link block 244 are successfully established with first producer system and connect.In some cases, with 106 success of producer's system Establishing connection may include that confirmation (" ack ") packet etc. is received from producer's system 106.In order to above in regard to described in block 308 Similar reason can establish connection with producer's system 106 in a staggered manner.However, link block 244 is not wherein Have in the case where substantially simultaneously establishing connection simultaneously with more than one producer's system 106, resource requestor 246 can be random Producer's system 106 is selected, is accessed and is serviced by producer's system request.Alternatively, choosing can be used in resource requestor 246 Service will be requested with determination from which producer's system 106 by selecting algorithm.The selection algorithm be not limited and including such as poll, The selection algorithm of least recently used (LRU) or any other type.In some embodiments, Consumer System 104 can be with Request access to from some or all of service of producer's system 106, have been established with the communication connection of these producer's systems or Communication channel.In some cases, which can have same type.In other cases, Consumer System 104 can request By the access of 106 pairs of each producer's system different services.
In addition, successfully being built wherein compared with Consumer System 104 is needed for particular point in time with more producer's systems In the case where vertical connection, Consumer System 104 can surrender of lease one or more additional producer's systems 106.Alternatively, Consumer System 104 can be such that the lease to additional producer's system 106 is maintained in lease pond and can maintain to additional The connection of producer's system 106.In this case, if in some of the leasing period to additional producer's system 106 Between, Consumer System 104 requests access to Additional Services, then Consumer System 104 can use in additional producer's system 106 One service, leases of these additional producer's systems 106 are maintained in lease pond.
In block 312, block of state 242 connects 106 reception state metadata of producer's system from first.In some cases Under, block of state 242 can be from each 106 reception state metadata of producer's system, link block 244 and the producer System is successfully established communication channel.In addition, block of state 242 can obtain state metadata, link block from producer's system 106 244 fail to establish communication channel with the communication module.Lead to for example, link block 244 fails to establish with specific manufacturer system 106 The fact that believe channel can be included as state metadata relevant to producer's system 106.The state metadata not by It limits and may include: the information for being related to establishing connection with producer's system 106;It is related to maintaining to connect with producer's system 106 Information;It is related to the information of the responsiveness of producer's system 106;And it is related to the information of available service at producer's system 106. For example, state metadata may include: elapsed time amount in the process for be connected to producer's system 106;It is connected to production Delay in the process of person's system 106;Available processes resource at producer's system 106;Request must be resend to life The number (for example, caused by because of packet loss) of production system 106;And it can be relevant to the state of producer's system 106 any other The data of type.
In some embodiments, block 312 can execute before block 310.In this case, block of state 242 It can be from each 106 receiving status information of producer's system connected.In this case, Consumer System 104 can With based on received status information come select access service producer's system 106.
In decision block 314, the Consumer System 104 of such as resource requestor 246 is used to determine the need for accessing Another service.Another service can make different services, or can also make same type of service.For example, one In a little situations, a service can be used for accessing web application, another service can be used for down loading network resource (for example, By the image or video of Webpage such as webpage trustship).Alternatively, the two services may be used to download network money Source.For example, user can download two Webpages or resource from two Webpages.If it were to be so, so connecting The connection of the producer's system 106 identified in the initialization of module 244 and block 308.In some cases, at the beginning of link block 244 The connection of beginningization and the producer's system 106 relevant with Consumer System 244 identified in lease pond.Lease pond can wrap It includes and has currently been leased for being used for Consumer System 104 providing the identity of producer's system 106 of the access to resource.Some In the case of, lease pond includes being leased for producer's system 106 of Consumer System 104, rather than Consumer System 104 is current Those of do not access.If leasing pond does not include any lease, Consumer System 104 can be asked for example in operating lease Device 240 is sought to execute process 300 again.In some embodiments, decision block 314 is optional.For example, if not producing Person's system 106 is leased for Consumer System 104, then process 300 can start to repeat with block 302.
In some embodiments, process 300 can be used for updating the previous lease to producer's system 106.At this In the case where sample, lease request may include the previously visited producer's system of Consumer System 104 generated in block 302 106 identity.In addition, it is to update to request this instruction that lease request, which may include request,.It can then be mentioned to rental agency 102 It is requested for more fresh tenancy, more fresh tenancy request is originally identified producer's system 106 and Consumer System 104.Assuming that lease generation Reason 102 determines that producer's system 106 is still available and/or has the ability to 104 offer service of Consumer System, then rental agency 102 may indicate that updating request has been given the ratification and can provide the time span of more fresh tenancy to Consumer System 104, makees For a part of block 306.The lease to one or more additional producer's systems 106 is kept in wherein Consumer System 104 It is not using the additional producer in lease pond and to the leasing period of additional producer's system 106 in Consumer System 104 Unite service at 106 when failure in the case where, Consumer System 104 can permit leasing period failure, without to additional life The corresponding rental agency 102 of production person's system 106 sends lease and updates request.
In some cases, request the process updated can be leased when existing lease expires.In other cases, it uses The Consumer System 104 of such as resource requestor 246 can be determined for accessing at one or more producer's systems 106 A possibility that existing service request of service will not be completed before lease time expires.If the possibility, which meets, updates threshold Value, then Consumer System 104 can request to update producer's system 106 at some time point before existing lease expires Thus lease reduces or prevents service disruption caused by expiring due to lease.
In certain embodiments, lease to the access of producer's system 106 may include to producer's system 106 And/or the relevant tissue of one or more or entity of rental agency 102 provide payment.For example, producer's system can be made 106 can be used as a part of pay-for-access service.Alternatively, lease may not be needed to appoint to the access of producer's system 106 The payment of which kind of class.In such embodiments, lease refer to the access to producer's system 106 occasional nature and It is not financial lease.
For providing the example flow of the lease to producer's system for Consumer System
Fig. 4 illustrates the implementation of the process 400 for providing the lease to producer's system 106 for Consumer System 104 Scheme.It can be by that can be any system for the identity that Consumer System 104 provides producer's system 106 come implementation process 400.Separately It outside, can be by that can be any system implementation process 400 of the lease of Consumer System 104 to the access of producer's system 106.Example It such as, can be by rental agency 102, leasing system 224 and block of state 228 (naming just a few) wholly or partly implementation process 400.Although any number of system can wholly or partly implementation process 400 will be referring to specific in order to simplify discussion 400 each section of System describe process.
Process 400 is with the beginning of block 402, in block 402, for example, the leasing system 224 of rental agency 102 is from consumer System 104 receives the request of access of the lease to producer's system 106.In some cases, which may include consumer system System 104 attempts the special services of access or the identity of computing resource at producer's system 106.As described in previous section, some In the case of, 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 one or more producer's systems 106 from Consumer System 104 State metadata.This received state metadata of institute may include previously having attempted and one or more with Consumer System 104 The relevant data of service of the communication of producer's system 106 or access from one or more producer's systems 106.For example, being connect The state metadata of receipts may include delay information, be related to responsiveness of the request to producer's system 106 of Consumer System 104 Data or previously in relation to any other information described in block 312.In addition, the received state metadata of institute may include consumption The friendship based on itself and producer's system 106 from the received data of producer's system 106 and/or Consumer System 104 of person's system 104 Interaction is used as the data mode metadata of generation.In some embodiments, block 404 can be optional.For example, if this is asked Seeking Truth is requested from Consumer System 104 received first, then Consumer System 104, which may and not have, will be supplied to lease Any state metadata of agency 102.
In block 406, block of state 228 based in block 404 institute received state metadata update producer's system Status information.In some cases, update producer's system status information may include update producer's database 220 in life The relevant entry of production person's system 106.In some embodiments, block 406 can be optional.
In addition, the institute in block 404 is received at least some to the offer of the second rental agency for block of state 228 in block 408 State metadata.For example, execute process 400 rental agency 102 can determine in the state metadata it is some for point It is fitted on producer's system 106 of another rental agency 102.In such a scenario, rental agency 102 can be to being assigned to The rental agency 102 of producer's system 106 provides status information.In other cases, rental agency 102 can be to rental agency The 102 all rental agencies 102 just communicated with provide state metadata, these rental agencies can be network environment 100 Some or all of rental agency 102.Can be realized in network environment 100 transmission of any kind of data, duplication and/or Synchronous process, to share state metadata between rental agency 102.For example, injection filling algorithm or prim algorithm can be used In in 102 data sharing of rental agency.Description can be herein in 102 data sharing of rental agency in the following terms Spare system and method: on December 28th, 2010 submit and entitled " DATA REPLICATION FRAMEWORK " beauty State applies for No.12/980,133;It submits on December 28th, 2010 and entitled " DATA REPLICATION FRAMEWORK " U. S. application No.12/980,153;On December 28th, 2010 submits and entitled " DATA REPLICATION The U. S. application No.12/980,193 of FRAMEWORK ";With submission on December 28th, 2010 and entitled " DATA The U. S. application No.12/980,258 of REPLICATION FRAMEWORK ".Each in these above-mentioned applications is accordingly with reference Mode be incorporated in its entirety.
In some embodiments, block 408 is optional.For example, in some embodiments, Consumer System 104 is only Status data is provided to rental agency 102 and is used for producer's system 106, these producer's systems are assigned to be connect in block 402 Receive the rental agency 102 of request.
In block 410, leasing system 224 based on each producer's system for assigning or being assigned to rental agency 102 106 relevant status informations select producer's system.In some cases, producer's status information is based on being by consumer The information that system 104 provides (for example, the received state metadata of institute in block 404).In other cases, producer's status information It can be based on the information obtained by the rental agency 102 communicated with producer's system 106.For example, rental agency 102 can be held Row is assigned to the health or status checkout of each producer's system 106 of rental agency 102.These health examination may include Table tennis request is issued to producer's system 106, the update of Resource Availability is requested from producer's system 106 or is related to giving birth to for obtaining The information of the state of production person's system 106.It is based on being received from other rental agencies 102 in addition, producer's status information can be Information.
In certain embodiments, selection producer's system 106, which can be, is at least partially based on and different producer's systems 106 relevant weights.These weights can be generated based on producer's status information.For example, producer's status information, shows Producer's system 106 has low latency and low error rate when communicating with Consumer System 104, can lead to producer's system 106 weights are higher and therefore more likely selected in block 410.On the contrary, producer's system 106, usually breaks and disappears The connection of the person's of expense system 104, possible weight is lower and is therefore less likely to be selected in block 410.
In some cases, the selection of producer's system 106 can be based on any number of additive factor, such as produce Position of the person's system 106 about Consumer System 104.Location information may include whether such as producer's system 106 is positioned In data center identical with Consumer System 104 or identical server rack.In some cases, selection producer system System 106 can be based on by the requested service of Consumer System 104.In other cases, the selection of producer's system 106 can To be to be at least partially based on the lease time for requesting and/or being previously allocated to Consumer System 104 by Consumer System 104 Amount.In some cases, leasing system 224 can choose the smallest producer's system 106 of load.In other cases, it leases System 224 can select producer's system 106 in one group of producer's system 106 from load lower than threshold value.In some embodiment party In case, the load of selected producer's system 106 be determined to be once selection i.e. increase, but regardless of Consumer System 104 whether Connection is established with selected producer's system 106.Advantageously, in certain embodiments, by recording selected production The increased load of person's system 106, irrespective of whether the system for having connected consumer Yu producer's system, same producer's system 106 a possibility that being selected over threshold number within a certain period of time reduction, because while the actual negative of producer's system 106 Carrying may be lower, but the following connector for being directed to Consumer System 104 can be considered in the process of selection producer's system Anticipated load.
In some cases, it may include that selection is negative relative to one or more that producer's system 106 is selected in block 410 Carry producer's system 106 (for example, connection, processor utilization etc.) that measurement has minimum load.Alternatively, selection production Person's system 106 may include selection load lower than producer's system 106 between one group of producer's system 106 of threshold load.From Load lower than load threshold this group of producer's system 106 between selection producer's system 106 can be it is random, pseudorandom or (for example, least recently used, intermediate loads etc.) based on selection algorithm.Advantageously, in some embodiments, by from one Producer's system 106 is selected in group producer's system 106 rather than selects to load minimum producer's system 106, load always A possibility that swing and/or incidence reduce.In addition, loading foam or load heat compared with the remainder of network environment 100 The incidence of the incidence system subgroup such as relevant to the high load for travelling across network environment 100 of point reduces.
In block 412, leasing system 224 is provided to Consumer System 104 is about the producer selected in block 410 The information of lease of system 106.This information of lease may include the identity of producer's system 106, and in some cases, consumption Person's system 104 is authorized to the lease time amount of producer's system 106.As it was earlier mentioned, the identity of producer's system 106 can To include any information such as network address that can contribute to position and access producer's system 106.In some embodiments In, the identity for providing producer's system 106 may include providing voucher or public-key cryptography, in order to logical with producer's system 106 Letter.
As indicated previously, in some cases, process 400 can be used for leasing update request.In this case, block Whether 410 producer's systems 106 that can include determining that Consumer System 104 has requested that lease updates still can be used for leasing.Really Determine producer's system 106 whether still can be used for lease can include determining that producer's system 106 whether have continue service consumption The resource capability of person's system 104.In addition, determining whether producer's system 106 still can be used for leasing can include determining that and produce Whether one or more measurements of the relevant producer's status information of person's system 106 meet availability threshold value.For example, the determination can To include checking whether error rate relevant to producer's system 106 is lower than threshold error rate.If producer's system 106 can be used It is updated in lease, then rental agency 102 can send the lease of the update to producer's system 106 for Consumer System 104. If rental agency 102 determines that producer's system 106 is not useable for lease and updates, rental agency 102 can be reported like this And/or it provides to the information of lease for substituting producer's system 106.
Example producer's system update process
Fig. 5 illustrates the embodiment of producer's system update process 500.It can be by producer's system 106 may be updated Availability and can between rental agency 102 subdivided producer's system 106 any system implementation process 500.For example, can be with It is whole by rental agency 102, dividing system 222, dividing system 204, registration module 226 and block of state 228 (naming just a few) Ground or partly implementation process 500.Although any number of system can wholly or partly implementation process 500, in order to Simplify and discusses, it will be referring to specific 500 each section of System describe process.
Process 500 starts in decision block 502, in block 502, for example, the block of state 228 of rental agency 102 determines Whether state is received from producer's system 106 to update.It can be by rental agency 102 in response to being sent by rental agency 102 Request to producer's system 106 carrys out predicted state update.Alternatively, block of state 228 can predict due to the producer State caused by the relevant update module of system 106 updates.For example, in some cases, each producer's system 106 is equal It can be configured to issue table tennis request to the rental agency 102 distributed every hour or daily or provide state more to the rental agency Newly.If receiving status information, process 500 waits next state to update back to decision-making module 502.In addition, Block of state 228 can update producer's repository 220 and/or act on behalf of life relevant to producer's system 106 in repository 206 Production person's status information.
On the other hand, if being not received by state update, the more new production of block of state 228 in decision block 502 The state of person's system 106, to show the unavailability of producer's system 106 in block 504.Update the shape of producer's system 106 State may include producer's repository 220 and/or act on behalf of in repository 206 store producer's system 106 be not useable for leasing To the instruction of Consumer System 104.In some cases, even if receive state update in decision block 502, block of state 228 can also update the state of producer's system to show that producer's system 106 is unavailable in block 504.For example, if being connect It is more than that threshold value is missed that the bright producer's system 106 of the status information table of receipts, which is just out of order, is just generated with threshold value rate for request service or just, The error of rate, then block of state 228 can update producer's repository 220 and/or act on behalf of repository 206 to show to produce Person's system 106 is no longer available.In some embodiments, the status information of producer's system 106 is updated to show its availability Loss may include that alert management person producer system 106 is no longer available.Update producer's system 106 status information relative to Figure 10 more detailed description.
In decision block 506, whether producer's system 106 of 222 threshold value amount of dividing system is become unavailable.If No, then process 500 waits next state to update back to decision-making module 502.If dividing system 222 is in decision block 506 Producer's system 106 of middle threshold value amount becomes unavailable, then dividing system 222 executes producer's system in block 508 Subdivided process.This subdivided process of producer's system is described in further detail below in relation to Fig. 6.In some embodiment party In case, one or two in decision block 506 and block 508 is executed by dividing system 204.
Example division process
Fig. 6 illustrates the embodiment of the division process 600 for dividing one group of producer's system 106.It can be by that can chase after Track can with the variation of the quantity of producer's system 106 and can between rental agency 102 subdivided producer's system 106 any system System implementation process 600.For example, can be by rental agency 102, dividing system 222, dividing system 204, registration module 226 and shape Morphotype block 228 (naming just a few) wholly or partly implementation process 600.Although any number of system can integrally or portion Divide ground implementation process 600, but is discussed to simplify, it will be referring to specific 600 each section of System describe process.
Process 600 starts in block 602, in block 602, for example, the tracking of block of state 228 can use producer's system 106 Increment.In some cases, the tracking of block of state 228 can use the absolute change of the quantity of producer's system 106.It is alternative Ground, or in addition to this, the tracking of block of state 228 can use the change rate of the quantity of producer's system 106.Producer's system can be used 106 increment or variation can be the addition based on new producer's system 106 or the loss of availability of producer's system 106. In some embodiments, process 500 can be used for identifying the loss of availability of producer's system 106.In addition, the producer can be used The determination of system 106 can be based on user's update, this shows the loss or addition of producer's system 106.Furthermore, it is possible to base It is attempted in the registration of producer's system 106 to track the addition of producer's system 106.It in some cases, can be based on by disappearing Information provided by expense person's system 104 determines the availability of producer's system 106.Furthermore it is possible to regard to producer's system 106 Tracked for actual quantity or for the variation of the percentage of the availability of producer's system 106 can with the increment of the producer or Variation.
In some embodiments, producer's system 106 is tracked by each rental agency 102 and/or the producer can be used The increment of system 106.Alternatively, the available producer system of rental agency 102 is distributed in the tracking of each rental agency 102 System.In addition, or alternatively, by the autonomous system such as tracking of dividing system 204 can with the counting of producer's system 106 and/or Increment.
In decision block 604, whether 222 determination of dividing system can meet threshold value with the increment of producer's system 106.This Increment can be absolute value.In other words, the addition or reduction of producer's system 106 can be tracked.It in certain embodiments, can be with The addition or reduction of producer's system 106 are independently tracked using independent threshold value relevant to each producer's system 106. Therefore, in some cases, even if with total change cancellation of producer's system or can be unsatisfactory for combining threshold value, it also can satisfy one A or two threshold values.In some cases, increment can indicate percentage variation and/or change rate.In this case, threshold Value can be percentage threshold and/or Threshold variety.
If increment is unsatisfactory for threshold value, or if increment is all unsatisfactory for corresponding threshold value, block of state 228 is in block 602 In continue tracking can be with producer's system 106, or the variation of producer's system 106 can be used.On the other hand, in block 606, if Increment meets threshold value or increment meets corresponding threshold value, then dividing system 222 notifies to execute process to other rental agencies 102 The division or subdivided process of 600 rental agency 102 just initialization producer's system 106.Advantageously, in certain embodiments In, by notifying the rental agency 102 for executing process 600 just initialization to divide process, process 600 to other rental agencies 102 It avoids that multiple rental agencies 102 is made to be performed simultaneously division process, this may result in the counting due to such as producer's system 106 Non-optimal result is generated with the race condition in division.In some embodiments, block 606 can be optional.For example, In some embodiments, the dividing system 204 isolated with rental agency 102 can execute division or subdivided process.
In block 608, dividing system 222 obtains the identity that can use producer's system 106.Dividing system 222 can pass through It accesses producer's repository 220 and/or obtains the identity that can use producer's system 106 by access agent repository 206.? Under some cases, dividing system 222 can obtain the body that can use producer's system 106 by contacting other rental agencies 102 Part.
In block 610, dividing system 222 divides between 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 106 is in lease generation Division between reason 102 generates the non-overlap or non-equivalent combination that can be assigned to producer's system 106 of rental agency 102.However, In some cases, dividing can be overlapping.In addition, in some cases, these subgroups can be unbalanced.Change speech It, some rental agencies 102 can be assigned more producer's systems 106 compared with other rental agencies 102.Wherein this In a little group of unbalanced situation, the quantity or percentage for distributing to producer's system 106 of specific rental agency 102 be can be It is at least partially based on rental agency 102 and/or distributes to the manageable request of producer's system 106 of rental agency 102 Quantity.For example, if the first rental agency 102 be assigned compared with other producer's systems 106 be capable of handling it is greater amount of Producer's system 106 of Consumer System 104, then first rental agency can be assigned and another 102 phase of rental agency Fewer producer's system.
In addition, the implementation of the service different from other producer's systems can be provided in wherein some producer's systems 106 In scheme, producer's system 106 be can be divided into so that each rental agency, which is assigned, can provide special services Producer's system.Alternatively, can divide between the selected subgroup of rental agency 102 can provide the production of special services Person's system 106.
In block 612, once block 610 is completed, the dividing system 222 for executing the rental agency 102 of process 600, which utilizes, to be divided The identity of producer's system 106 of each of rental agency 102 is fitted on to update other lease generations in network environment 100 Each of reason 102.In some embodiments, block 612 may include being assigned to its own using producer's system 106 Identity executes the rental agency 102 of process 600 to update.Updating rental agency 102 using the identity of producer's system 106 can be with Including updating table or database in producer's repository 220.In some cases, since rental agency 102 just executes process 600, then block 612 relative to rental agency 102 is optional and only with respect to other rent included by network environment 100 The agency 102 that rents executes.
In some embodiments, it is first between rental agency 102 to may be used to provide producer's system 106 for process 600 Begin to divide.For example, when network environment 100 is configured for the first time decision block can be able to satisfy with the increment of producer's system 106 604 threshold value, because available producer's system 106 is activated.Alternatively, or in addition to this, user can be in network environment Start when being configured for the first time or in any other time and divides process.
Process 600 is described as to divide producer's system 106 between rental agency 102.However, process 600 and unlimited In this.In some cases, process 600 can be used for dividing lease between rental agency 102, these leases, which are provided to, to disappear Expense person's system 104 is for accessing producer's system 106.For example, rental agency 102 or dividing system 222 can identify one group can With producer's system and determine that can be used for the group can use multiple leases of each producer's system of producer's system.It executes The rental agency 102 of process 600 can be can be also possible to for detecting with the first rental agency 102 of the changes of threshold of lease It is exclusively used in executing the rental agency 102 that lease divides.Rental agency 102 can be based on the institute from each producer's system 106 Received status information can use the quantity (for example, during registration of producer's system 106) of lease to identify.Alternatively, Or in addition to this, can type based on producer's system 106 or based on the configuration information received from producer's system 106 or User (for example, administrator) can use the quantity of lease to determine.
Rental agency 102 can be by each rental agency 102 of access from multiple rental agencies 102 come multiple The multiple leases that can be used for each producer's system 106 are divided between rental agency 102, the lease subgroup from multiple leases can For each producer's system 106.Multiple leases coequally or substantially can be coequally divided between rental agency 102.? Under some cases, since lease quantity is not the multiple of the quantity of rental agency 102, in rental agency 102 at least It is some to be assigned one or more leases.In addition, in some cases, lease may be due to for example certain rental agencies Configuration variance between 102 and/or certain producer's systems 106 is without evenly dividing.In some cases, each is leased Agency 102 is assigned non-overlap lease combination.Alternatively, at least some of these leases can be assigned to multiple leases Agency 102.In some embodiments, multiple rental agencies 102 that lease is divided into producer's system 106 just be can be into rent Rent agency 102 subgroup.Such as, in some cases it may the subgroup of rental agency 102 is assigned to producer's system 106 Subgroup.
After dividing multiple leases or when dividing multiple leases, each of multiple rental agencies 102 are leased For agency 102, the rental agency 102 for executing process 600 can provide for rental agency 102 is assigned to rental agency 102 Lease subgroup.There is provided lease to each of rental agency 102 may include by multiple leases from being assigned to each rent Each producer's system 106 of agency 102 of renting each of is provided to rental agency 102.Alternatively, or except this it Outside, providing lease to each of rental agency 102 may include providing the identity of each distributed lease to rent Rent agency 102.Additionally, it is provided lease may include providing link information, for communicating and/or using with producer's system 106 In the lease using producer's system 106.
Advantageously, in some embodiments, dividing between multiple rental agencies 102 can be used for each producer's system 106 multiple leases realize balance of the workload between multiple rental agencies 102.In some cases, it is not necessary to, The rental agency 102 for executing process 600 provides the lease subgroup for being assigned to its own when executing process 600 for its own.So And in some cases, rental agency 102 can provide lease for its own.For example, in the rental agency for wherein executing division 102 subsystem (for example, dividing system 222) from receive and/or the tracking feelings that be assigned to the subsystem of rental agency 102 different Under condition, the rental agency 102 for executing process 600 can be supplied to the identity of its distributed lease for its own.
In some cases, process 600 can be used between rental agency 102 divide producer's system 106 and with production The relevant lease of each of person's system 106.
Example producer's system registry process
Fig. 7 illustrates the embodiment party that producer's system registry process 700 is used for from the perspective of producer's system 106 Case.Can from can to rental agency 102 register producer's system 106 any system implementation process 700.For example, can be by giving birth to Production person's system 106, registration module 260 and block of state 262 (naming just a few) wholly or partly implementation process 700.Although Any number of system can wholly or partly implementation process 700, but discussed to simplify, will be referring to specific System describe 700 each section of process.
Whenever producer's system 106 is started or is initialized for the first time, or the weight after such as resting stage or system reboot Newly start or reinitialize, process 700 can occur.In some cases, whenever producer's system 106 determines that it is distributed Rental agency 102 it is no longer available, can occur or occur again process 700.Distributed rental agency 102 it is no longer available this Determining can be based on for example from the received information of user institute, from acting on behalf of the received information of 206 institute of repository or in the producer Whether the update of 106 offer state of system receives after such as updating relative to state described in Fig. 5 from the rental agency 102 distributed To ACK.
Process 700 starts in block 702, wherein such as access of registration module 260 is from for example acting on behalf of the one of repository 206 The identity of group rental agency 102.In some cases, the accessible group from internal storage of producer's system 106 is rented Rent agency 102 identity.For example, producer's system 106 can be preconfigured the identity to have one group of rental agency 102. In other cases, user may specify to the rental agency 102 of access.
In block 704, rental agency is selected in this group of rental agency 102 that registration module 260 is identified from block 702 102.Registration module 260 can be randomly or by using any other selection method such as poll or least recently used method To select rental agency 102.In wherein this group of stored situation of rental agency 102, registration module 260 can be in sorting group The first rental agency 102 of middle selection.In certain embodiments, block 704 can be optional.For example, user is specified wherein In the case where rental agency 102, block 704 is unnecessary.
In block 706, the initialization of registration module 260 or trial are initialized and the rental agency 102 selected in block 704 Connection.In some cases, attempting initialization and the connection of rental agency 102 includes the trial registered to rental agency 102.
In block 708, registration module 260 receives connection response from rental agency 102.In decision block 710, registration module 260 determine whether connection response confirms the registration of producer's system 106 or indicate the identity of the second rental agency 102.If In decision block 710, registration module 260 determines that connection response confirms the registration of producer's system 106, then in block 712, state Module 262 is related to the status information of producer's system 106 to the offer of rental agency 102.The status information may include and one Or the relevant any information of state or state of multiple measurements, one or more measurement are related to producer's system 106.Example Such as, status information may include one or more computing resources (for example, memory, processor, network bandwidth, application program etc.) Availability;The quantity for the Consumer System 104 that its service request is just being handled by producer's system;And with producer's system 106 The relevant any other information of state.
Once registration module 260 determines that connection response confirms the registration of producer's system 106, can occur and block 712 Relevant process.Alternatively, or in addition to this, process relevant to block 712 can occur in some later time.In addition, In some embodiments, process relevant to block 712 can continuously occur, and intermittently occur, or can be in response to coming from Rental agency 102 for update producer's system 106 state request and occur.In other embodiments, Mei Dangsheng When changes of threshold occurs for the state or state of production person's system 106, process relevant to block 712 can occur.For example, when being used to give birth to When the availability of the process resource of production person's system 106 drops to threshold level, process relevant to block 712 can occur.
If registration module 260 determines that the received connection response of institute includes the second rent in block 708 in decision block 710 It rents the identification of agency, then in block 714, the connection of registration module 260 initialization and the second rental agency.Such as relative to process Described in 800, the second rental agency may include that the first rental agency (for example, the rental agency identified in block 704) determines For rental agency relevant to producer's system 106.
In block 716, block of state 262 provides status information to the second rental agency.In certain embodiments, block 716 may include the one or more previously in relation to embodiment described in block 712.In certain embodiments, in block 708 Middle received connection response show producer's system 106 be registered in the case where any additional rental agency of nonrecognition whether Success.In this case, if the registration of producer's system 106 is unsuccessful, producer's system 106 can try to infuse The connection of volume or initialization and another rental agency in these rental agencies identified in block 702, and it is opposite It can be with repeatable block 704,706,708 and 710, until rental agency 102 confirms the registration of producer's system 106.
In some embodiments, the second rental agency identified in decision block 710 is randomly selected and/or simultaneously It is not necessarily related to producer's system 106.In this case, block 714 may include executing above in regard to 708 He of block One or more embodiments described in 710, but it is related to the second rental agency.In other words, it can be formed from block 714 to block 708 circuit.In this case, decision block 710 can identify that third is rented in the connection response from the second rental agency It rents and acts on behalf of rather than identify third rental agency in the case where the registration of confirmation producer's system 106.The circuit can be continuously Repeat, until producer's system 106 is successfully registered to rental agency 102.Alternatively, which can execute threshold value Number.If threshold value is met in the case where producer's system 106 does not have successful registration, warning can be generated.Example Such as, (for example, by Email or Alert Popups) producer's system 106 can be notified to fail to be registered to lease to administrator Agency 102.(such as unexpected system failure) in some cases, producer's system 106 may fail to one group of lease 102 registration of agency or the registration for updating them.In this case, the height of the accessible link information of Consumer System 104 Speed caching is leased to try to access producer's system 106.Alternatively, in certain embodiments, by using may arrive The downtime of the cache information of phase, resource access is likely to reduced or eliminates in some cases.
Example producer's system registry process
Fig. 8 illustrates the embodiment that producer's system registry process 800 is used for from the perspective of rental agency 102. Can by can rental agency 102 register producer's system 106 any system implementation process 800.For example, can be by leasing Act on behalf of 102, registration module 226 and block of state 228 (naming just a few) wholly or partly implementation process 800.Although any The system of quantity can wholly or partly implementation process 800, but discussed to simplify, will be referring to specific System describe process 800 each sections.
Process 800 starts in block 802, wherein such as registration module 226 receives registration request from producer's system 106. In some embodiments, which may include voucher relevant to producer's system 106 or encryption key.Register mould Block 226 determines whether producer's system 106 is assigned to rental agency 102 in decision block 804.Determine producer's system 106 Whether being assigned to rental agency 102 may include access producer's repository 220 and/or acts on behalf of repository 206 to determine life Whether production person's system 106 is assigned to rental agency 102.In addition, in some cases, determine producer's system 106 whether by Be assigned to rental agency 102 may include for example based on the received identifier relevant to producer's system 106 of institute, voucher or plus Key changes the identity of producer's system 106.
If registration module 226 determines that producer's system 106 is assigned to rental agency 102, registration module 226 exists The registration of producer's system 106 is confirmed in block 806.The registration for confirming producer's system 106 may include to producer's system 106 It is notified to be registered to rental agency 102.In addition, in some cases, block 806 may include updating producer's repository 220 And/or act on behalf of repository 206 with show producer's system 106 can with and be registered to rental agency 102.In addition, one In a little embodiments, block 806 can also include being provided for producer's system 106 to related to rental agency 102 and/or be assigned to The access of the voucher and/or encryption key of producer's system 106.The voucher and/or encryption key can be used for producer's system Further communication between 106 and rental agency 102.In addition, voucher and/or encryption key can be also used for producer's system Communication between 106 and Consumer System 104, such as to verify the identity of producer's system 106, or protection in the two systems Between the data transmitted.
In block 808, block of state 228 is from 106 receiving status information of producer's system.This status information may include Some or all embodiments described in status information above in regard to block 712.Block of state 228 in block 810 can be with The status information that receives in block 808 is based at least partially on to update the status information for producer's system 106.It is more newborn Production person's status information may include the entry or one or more for updating producer's repository 220 and/or acting on behalf of in repository 206 Measurement, to reflect the state of producer's system 106.
If registration module 226 determines that producer's system 106 is not assigned to rental agency 102 in block 804, then In block 812, registration module 226 identifies another assigned rental agency of producer's system 106.In block 814, mould is registered Block 226 can provide the identity of the assigned rental agency 102 of producer's system 106 to producer's system 106, so that the producer System 106 can contact the rental agency 102 identified in 812.In certain embodiments, block 812 and block 814 can be Optional.For example, in some cases, registration module 226 can be notified to producer's system 106 it not with rental agency 102 Correlation, and the registration request that is therefore received in 802 be it is unsuccessful, without notifying to produce to producer's system 106 The assigned substitution rental agency 102 of person's system 106.
The subdivided process of rental agency
Fig. 9 illustrates the embodiment for the subdivided process 900 of rental agency.It can be by rental agency can will be assigned to Any system implementation process 900 that 102 one group of producer's system 106 is reallocated.For example, can be by rental agency 102, division System 222 and dividing system 204 (naming just a few) wholly or partly implementation process 900.Although any number of system can With wholly or partly implementation process 900, but discussed to simplify, it will be referring to specific 900 each section of System describe process.
Process 900 starts in block 902, wherein dividing system 222 for example relevant to the first rental agency 102 receives separately One or the no longer available instruction of the second rental agency 102.The second rent can be determined based on such as table tennis request or status checkout It rents and acts on behalf of 102 no longer available instructions.In other cases, dividing system 222 can be determined when message does not obtain the second rent When the agency 102 that rents confirms, rental agency 102 is no longer available.In other embodiments, user can specify the second rental agency It is no longer available.In some cases, 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, draw Subsystem 222 is divided in the producer's system 106 identified in 904 between remaining rental agency 102.In some cases, block 906 may include notifying that dividing process is occurring, and thus prevents for example previous phase of multiple rental agencies to remaining rental agency 102 For identified producer's system 106 is divided described in block 610 simultaneously.
In some embodiments, block 906 may include subdivided all available producer's systems 106 rather than only divide It is fitted on producer's system 106 of no longer available rental agency 102.In such embodiments, block 904 may include identification All available producer's systems 106.As it was earlier mentioned, the division of producer's system 106 can be overlapping, non-overlap, etc. It is effect, non-equivalent, and/or can be based on producer's type.Therefore, in some embodiments, block 906 may include Previously in relation to some or all of embodiment described in block 610.In addition, in some cases, being assigned to for the second lease generation The division of producer's system 106 of reason 102 can be at least partially based on the type of the second rental agency 102.For example, if second Rental agency 102 provides producer's system 106 of storage service by specific assigned, then offer also can be specifically allocated to The life of the second rental agency 102 is assigned between 102 subgroup of rental agency of producer's system 106 of storage service or resource Production person's system 106.
In block 908, dividing system 222 utilizes the production for being newly assigned to each of still available rental agency 102 The identity of person's system 106 updates remaining rental agency 102.
In some embodiments, process 900 can be used for adding rental agency 102 or replacement rental agency 102.At this In the case where sample, block 904 can identify all available producer's systems 106 for dividing in block 906.In some cases Under, it can be can be with producer's system 106 in the available identical producer's system 106 of earlier time section.In other cases, should Group producer's system 106 may be changed due to the loss of producer's system 106 or the addition of producer's system 106.? Wherein in the case where the one-to-one replacement of rental agency 102, new rental agency can be assigned the production that rental agency is just being replaced Person's system 106.In this case, it may include notifying to other rental agencies that block 906, which can be optional and block 908, New rental agency is assigned producer's system 106 of old rental agency now.
The exemplary producer based on hysteresis selects process
Figure 10 illustrates the embodiment for selecting process 1000 for the producer based on hysteresis.It can be by that can modify Selection weight relevant to producer's system 106 (is made with the selection for modifying selection such as producer's system 106 of producer's system For a part of block 410) any system implementation process 1000.For example, by rental agency 102, block of state 228 and can rent System of renting 224 (naming just a few) wholly or partly implementation process 1000.Although any number of system can integrally or Partly implementation process 1000, but discussed to simplify, it will be referring to specific 1000 each section of System describe process.
Process 1000 starts in block 1002, wherein such as block of state 228 is received from Consumer System 104 and the producer The relevant state metadata of system 106.This state metadata may include from producer's system 106 to Consumer System 104 Information and Consumer System 104 information based on determined by its reciprocation with producer's system 106 of offer.For example, State metadata may include being related to the information of the following terms: the response time of producer's system 106;Producer's system 106 exists The quantity of the Consumer System 104 of given time service;The Consumer System that producer's system 106 is serviced in some period 104 par etc..In some embodiments, block 1002 may include one relative to embodiment described in block 404 It is a little or whole.
In addition, in some cases, block of state 228 can receive from 104 last time of Consumer System and lease generation Since 102 communication of reason, the relevant state metadata of one group of producer's system 106 that Consumer System 104 communicates with.It can be from 104 reception state metadata of Consumer System is as a part for updating request, for updating the visit to producer's system 106 It asks.In other cases, a part that can be requested from 104 reception state metadata of Consumer System as fresh tenancy.
In block 1004, block of state 228 is used for based on the corresponding states metadata received in block 1002 to update Producer's status information of one or more producer's systems 106.Alternatively, or in addition to this, block of state 228 can be true At least some of institute's reception state metadata is determined for producer's system 106 relevant to another leasing system 102, and because This can provide status information to the rental agency 102 for being assigned to producer's system 106.In some cases, with block 1002 and 1004 relevant processes can serve as certain " gossip algorithm ", because Consumer System 104 just provides pass for rental agency 102 In Consumer System 104 and the respective interactive information of multiple producer's systems 106, but regardless of rental agency 102 whether It is assigned to each of multiple producer's systems 106.In other words, rental agency 102 can obtain another about being assigned to " gossip " of producer's system 106 of rental agency 102.Then, rental agency 102 can make " gossip " to be diffused into distribution To the rental agency 102 of producer's system 106.Advantageously, in certain embodiments, it by using " gossip algorithm ", rents The agency 102 that rents can obtain the state metadata between arranged state update from producer's system 106.By being from consumer System 104 and producer's system 106 obtain state metadata, and selection in producer's system 106 of lease can be used and do not have There is the system of use " gossip algorithm " to compare to advanced optimize.Description is for obtaining for selecting to calculate system in the following terms System is to provide the additional embodiment of the system and method for " gossip " or feedback information of service: submitting on August 20th, 2009 And the U. S. application No.12/544 of entitled " DECENTRALIZED REQUEST ROUTING ", 517, this application accordingly with The mode of reference introduces in its entirety.In some embodiments, block 1002 may include relative to 408 institute of block 406 and/or block Some or all for the embodiment stated.
In decision block 1006, whether determining the updated producer's status information of block of state 228 shows and the producer The variation of the relevant load metric of system 106.The load metric may include the producer's system 106 for being selected for monitoring Any feature.The load metric can be related to the load that can be handled by producer's system 106.In some cases, degree of load Amount may include being related to any measurement of the health of producer's system.Certain non-limiting examples of load metric may include missing Rate, memory usage and connection count of Consumer System etc..If in decision block 1006, producer's state of update Information does not indicate the variation of load metric, then process 1000 is back to block 1002 to wait from Consumer System 104 New state metadata.
In some embodiments, decision block 1006 can alternatively or additionally be related to determining and producer's system Whether the 106 relevant values of relevant one or more of the other measurement change.For example, block of state 228 can determine update Producer's status information whether show the response time of producer's system 106 change or producer's system 106 it is available Resource changes.In some cases, decision block 1006 may include measuring the degree of load of the update of producer's system 106 Magnitude with for producer's system 106 in network environment 100 or for being assigned to rental agency 102 producer's system Average load metric measurements value is compared.
If the load metric of the bright producer's system 106 of producer's status information table updated changes, in block In 1008, it is relevant to producer's system 106 to modify that block of state 228 is at least partially based on the load metric measured value of change Select weight.Modification selection weight may include make select weight be based on error rate variation show error rate increase or reduce and It increases or reduces.In some embodiments, producer's system 106 is not closed with right to choose heavy phase.In such embodiment In, if load metric detected or other trackings measurement are met or exceeded by corresponding threshold value, shape in decision block 1006 Producer's system identification can be failure or unavailable by morphotype block 228.In this case, if load metric has reached It is identified as no longer available or failure threshold value with by producer's system 106, then can alert user such as administrator.In addition, Under some cases, if load metric or selection weight change threshold quantity but regardless of producer's system 106 availability how, User can then be alerted.
In certain embodiments, selection weight relevant to producer's system 106 can be used for convenient for selection for renting Rent to available producer's system 106 of Consumer System, as to relevant piece 410 of process 400 previously described a part. The selection weight and/or usability status of producer's system 106 can be stored in producer's repository 220 and/or agency deposits In storage cavern 206.
Overlapping network environment overview
Figure 11 is illustrated for providing the overlay network of the access to the service by producer's system trustship for Consumer System The embodiment of network environment 1100.Overlapping network environment 1100 may include any kind of system, which can be to one Or multiple tissues or entity provide one or more overlapping networks or virtual network.It can form physics or non-virtual network Computing hardware on realize these overlapping networks.Can U. S. application No.12/827,268 (be United States Patent (USP) 8,296 now, 459) description can be used for the overlapping network of the disclosure or some examples of virtual network in, and this application was on June 30th, 2010 It submits, the disclosure of which is specifically incorporated in its entirety by reference.
Overlapping network environment 1100 includes rental agency 102, consumer host 1104 and producer's host 1106, therein Each can be communicated by network 202 with another.Rental agency 102 can respectively include relative to illustrated by Fig. 2 and institute Some or all of the subsystem of description.Thus, for example, rental agency 102 may include producer's repository 220, divide system System 222, leasing system 224, registration module 226 and block of state 228.Although these subsystems of rental agency 102 can be each From include with previously in relation to identical function described in Fig. 2, but in some cases, these subsystems may include modification or Additional ability.For example, in addition to or instead of reception is related to the status information of Consumer System 104 and producer's system 106, state Module 228, which can receive, is related to the status information of one or more of the following terms: consumer host 1104, producer's host 1106, consumer's virtual machine 1142 and producer's virtual machine 1162.Similarly, producer's repository 220 may include be related to The information of one or more of lower items: consumer host 1104, producer's host 1106, consumer's virtual machine 1142 and life Production person's virtual machine 1162.
In some cases, dividing system 222 can be used between the rental agency 102 of overlapping network environment 1100 dividing Producer's virtual machine 1162.Furthermore it is possible to make producer's virtual machine 1162 relevant to specific overlapping network independently of with it is other The relevant producer's virtual machine 1162 of overlapping network divides.Thus, for example, producer's virtual machine B' can be made independently of life Production person's virtual machine B " is divided into rental agency 102.In some cases, can make available 102 subgroup of rental agency with it is specific heavy Folded network is related.In this case, producer's virtual machine 1162 relevant to specific overlapping network and consumer's virtual machine 1142 can limit the communication for available 102 subgroup of rental agency.
In addition, leasing system 224 can be associated with it based on producer's virtual machine 1162 and consumer's virtual machine 1142 Overlapping network come select for lease arrive consumer's virtual machine 1142 producer's virtual machine 1162.In some cases, base It can be in overlapping network selection producer's virtual machine 1162 and arrive Consumer System 104 for leasing to previously in relation to selection The supplement of factor described in producer's system 106.It is produced in addition, registration module 226 can be also used for registering to rental agency 102 Person's virtual machine 1162.
Although only illustrating single consumer host 1104 in Figure 11, overlapping network environment can also include multiple disappears The person's of expense host 1104.Consumer host 1104 can respectively include multiple consumer's virtual machines 1142.Consumer's virtual machine 1142 In certain overlapping network phases that can be different from other consumers virtual machine 1142 as hosted by consumer host 1104 It closes.For example, consumer host 1104 includes respectively two consumer's virtual machines 1142 relevant to different overlapping networks.Consumer Virtual machine A' can be related to the first overlapping network, which can also include producer's virtual machine B', and disappear The person's of expense virtual machine A " can be related to the second overlapping network, which can also include producer's virtual machine B ".
Other than consumer's virtual machine 1142, consumer host 1104 can also include overlapping network proxy server 1114, requester 1130, virtual machine mapping storage device 1150 and block of state 1132 are leased.Overlapping network proxy server 1114 It may include that can handle the service request from consumer's virtual machine 1142 and can be to positive trustship producer virtual machine 1162 producer's host 1106 provides service request for processing any system.In some embodiments, from consumer's void The service request that quasi- machine 1142 receives may include relevant virtually to producer's virtual machine 1162 and the system being not present Location, consumer's virtual machine 1142 think that the system being not present can handle service request.Once receiving with virtual address Service request, overlapping network proxy server 1114 can be identical as consumer's virtual machine 1142 of service request is provided Overlapping network in identify producer's virtual machine 1162 for handling service request.Overlapping network proxy server 1114 is subsequent Virtual address can be changed to the address of identified producer's virtual machine 1162.As described in more detail below, can from mention It has supplied in relevant leased 1162 pond of producer's virtual machine of consumer's virtual machine 1142 of service request to identify that the producer is virtual Machine 1162.In addition, overlapping network proxy server 1114 can wrap up service request header or external header or encapsulation, it should Header or external header identification creche identify producer's host 1106 of producer's virtual machine 1162 and identify consumer master Machine 1104.
Virtual machine mapping storage library 1150 can store the producer's virtual machine for representing consumer's virtual machine 1142 and leasing 1162 pond.In addition, virtual machine mapping storage library 1150 can also store the correspondence producer of trustship producer virtual machine 1162 The identity of host 1106.The identity of storage producer's virtual machine 1162 and producer's host 1106 may include storage for accessing The address information of producer's virtual machine 1162 and producer's host 1106.
It is leased to represent consumer's virtual machine 1142, consumer host 1104 may include lease requester 1118, which can represent the generation lease of consumer's virtual machine 1142 as hosted by consumer host 1104 and ask It asks.Lease requester 1118 can identify specific overlapping network and/or particular consumer virtual machine 1142, just empty for consumer Intend machine 1142 to request the lease to producer's virtual machine 1162.
Block of state 1132 may include above in regard to embodiment described in block of state 242 some or all. In addition, block of state 1132 can be provided based on the communication with producer's virtual machine 1162 and producer's host 1106 for giving birth to The status information of production person's virtual machine 1162 and/or producer's host 1106.
As consumer host 1104, overlapping network environment 1100 may include any number of producer's host 1106, each of these may each comprise one or more producer's virtual machines relevant to one or more overlapping networks 1162.In addition, producer's host 1106 can also respectively include overlapping network proxy server 1116, virtual machine mapping storage device 1152 and block of state 1134.
Similar with similar overlapping network proxy server 1114, overlapping network proxy server 1116 may include for locating Manage the service request received from consumer host 1104 and any system for handling the response to received service request System.Once receiving service request, overlapping network proxy server 1116 can determine producer's virtual machine 1162 based on clothes Information included in the packet header of request be engaged in handle service request.In addition, in some cases, service request can identify spy Determine overlapping network, which can be used for convenient for identification producer's virtual machine 1162 to handle service request.
Virtual machine mapping storage device 1152 can store which producer's virtual machine 1162 and which overlapping network identified Relevant information.In addition, virtual machine mapping storage device 1152 can store the spy of 1104 trustship of which consumer host for identification Determine the information of consumer's virtual machine 1142.The information is determined for for providing the consumer master of the response to service request Machine 1104.
As block of state 1132, block of state 1134 may include previously in relation to reality described in block of state 262 Apply one or more of scheme.In addition, block of state 1134 can also be provided to rental agency 102 is related to producer's virtual machine 1162 status information.
As shown in the dotted line of consumer host 1104 and producer's host 1106, it can make to realize under process described herein Volt system and the one or more for forming consumer (for example, client) and the producer (for example, server or service provider) The virtual machine of overlapping network separates.It in some cases, can be by underying system (for example, overlapping network proxy server 1114 With a part for the networked infrastructure for 1116) being embodied as consumer host 1104 and producer's host 1106.Advantageously, at certain In a little embodiments, by separating underying system with virtual machine, lease structure is may be implemented, maintains and modified, without shadow Ring overlapping network.
In some embodiments, consumer host 104 can be with trustship consumer virtual machine 1142 and producer's virtual machine Both 1162.In addition, in some cases, producer's host 1106 can also be empty with trustship consumer virtual machine 1142 and the producer Both quasi- machines 1162.In addition, although consumer's virtual machine 1142 and producer's virtual machine 1162 are described as virtual machine, it Be not limited to this.In some embodiments, overlapping network can be assigned hardware resource and/or software resource, these hardware Resource and/or software resource are a part of consumer host 1104 and producer's host 1106 or are executed by them.It can make With these substitution of resources virtual machines, producer's system and Consumer System are embodied as to a part of overlapping network.
In some cases, it can execute or modify previously in relation to one or more processes described in network environment 100, To be executed relative to overlapping network environment 1100.Thus, for example, process 900 can be executed in overlapping network environment 1100 Middle division rental agency.As the second example, can execute process 700 and 800 in overlapping network environment 1100 to lease 102 registration producer's virtual machine 1162 of agency.
For accessing the example flow of the service of producer's virtual machine
Figure 12 illustrates the embodiment of the process 1200 for accessing the service at producer's virtual machine.It can be by can Manage any system implementation process 1200 of the service as provided by producer's virtual machine of the access from consumer's virtual machine.Example It such as, can be by consumer host 1104, rental agency 102, overlapping network proxy server 1114 and lease requester 1118 (only Lift several) wholly or partly implementation process 1200.Although any number of system can wholly or partly realize stream Journey 1200, but discussed to simplify, it will be referring to specific 1200 each section of System describe process.
In some cases, process 1200 can be used for so that consumer's virtual machine is able to access that is mentioned by producer's system The service of confession.Similarly, in some embodiments, process 1200 can be used for so that Consumer System is able to access that by producing Service provided by person's virtual machine.However, being discussed to simplify, by disappearing relative to the service for attempting access producer's virtual machine Expense person's virtual machine describes process 1200.
Process 1200 starts in block 1202, wherein the overlapping of such as consumer host 1104 (for example, consumer host A) Network proxy server 1114 receives the clothes from the access producer from consumer's virtual machine 1142 (for example, consumer virtual machine A') The request of business.Alternatively, or in addition to this, received request can be the data that will be provided to the producer in block 1202 Packet.For example, the data packet, which can be, will be used together or be easy to use the data of the service at the producer, consumer in conjunction with service The access to the producer has had been established in virtual machine.In some embodiments, which may include the packet with header, should Header shows that the request or the coating are addressed to virtual address X from address A relevant to consumer's virtual machine 1142.For example, institute Received packet can be as follows: { Α ', X, data } show that data are just sent to X from Α '.The data field of packet may include Convenient for executing the request and/or operation of request or operation at producer's virtual machine 1162.In certain embodiments, consumer Virtual machine 1142 may be not aware that address X is virtual address, but may think that address X refers to that the physics producer is on the contrary System.In addition, as previously mentioned, in some embodiments, overlapping network may include being different from or in addition to consumer's virtual machine Consumer System.In such embodiments, block 1202 may include realized from consumer host 1104 or by Consumer System hosted by consumer host 1104 receives the request of the service at the access producer.Similarly, producer master Machine may include being different from or producer's system in addition to producer's virtual machine, these producer's virtual machines can be configured to Consumer System provides service.
In decision block 1204, overlapping network proxy server 1114 is determined whether there is and 1142 phase of consumer's virtual machine Any not used producer's virtual machine lease closed.Determine whether there is any do not make relevant to consumer's virtual machine 1142 Producer's virtual machine lease may include access virtual machine mapping storage library 1150 to determine whether there is in consumer's void The quasi- relevant lease pond of machine 1142.In addition, in some cases, decision block 1204 can include determining that whether lease pond includes using In any unused lease of producer's virtual machine relevant to consumer's virtual machine 1142.
If overlapping network agency 1114 determines that there is no relevant to consumer's virtual machine 1142 in decision block 1204 Not used producer's virtual machine lease, then leasing requester 1130 in block 1206 obtains multiple leases to access the producer Virtual machine.It is described in further detail below in relation to Figure 14 for obtaining one or more leases to access one or more productions The example of the process of person's virtual machine.
In block 1208, overlapping network proxy server 1114 is attempted to establish and leases life obtained in block 1206 The connection of production person's virtual machine 1162.In some cases, block 1208 can store with the institute of overlapping network proxy server 1114 at Function establishes the relevant information of lease of each leased producer's virtual machine of connection.
After overlapping network proxy server 1114 establishes connection with leased producer's virtual machine in block 1208, or If overlapping network proxy server 1114 determines in decision block 1204 not to be made in the presence of relevant to consumer's virtual machine 1142 With producer's virtual machine lease, then process 1200 proceeds to block 1210.In block 1210, overlapping network proxy server 1114 Selection is from wherein accessing by leased producer's virtual machine 1162 of the requested service of consumer's virtual machine 1142.It can be used Any kind of selection algorithm such as poll least recently used selects producer's virtual machine 1162.In other cases, Producer's virtual machine 1162 can be selected based on the sequence of connection is established with producer's virtual machine 1162.In other cases, Producer's virtual machine 1162 can be randomly and/or based in block 1202 received service request to select the producer virtual Machine 1162.Alternatively, in some cases, 1114 accessible virtual machine mapping storage library of overlapping network proxy server 1150 in order to selecting producer's virtual machine 1142.It, can be with for example, the accessible lease pond of overlapping network proxy server 1114 By the lease pond be stored as identification can with the table of producer's virtual machine 1162, be stored in virtual machine mapping storage library 1150.
In some cases, overlapping network proxy server 1114 can choose the leased producer that load is lower than threshold value Virtual machine 1162.In this case, overlapping network proxy server 1114 can be empty lower than the producer of threshold value from load It is randomly chosen in quasi- machine 1162.Any of utilization rate that the load may refer to be related to producer's virtual machine 1162 estimates Amount.For example, load may refer to processor load, network connection load, multiple consumers with producer's virtual machine 1162 Lowest latency, the performance metric of producer's virtual machine 1162 etc. in connection, connection.
In addition, in some cases, each lease can be related to cost.For example, can for use each second, For transmit every Mbytes of handled data or for producer's virtual machine 1162 each calculating cycle come pair Consumer or entity relevant to consumer charge.In this case, overlapping network proxy server 1114 can be based on The producer virtual machine 1162 leased at original selection for the available producer's virtual machine 1162 leased.
In block 1212, overlapping network proxy server 1114 will be included in request header (for example, inner header) The address (for example, virtual address X) of the producer is changed to leased producer's virtual machine 1162 selected in block 1210 Address.Thus, for example, the received packet of institute now can be as follows in block 1202: Α ', Β ', data }.In some implementations In scheme, block 1212 can be optional.For example, in some embodiments, each leased producer's virtual machine 1162 It can be related to port.Therefore, instead of virtual address X to be changed to the address of leased producer's virtual machine 1162, can make Packet is transmitted to the trustship producer by port relevant to leased producer's virtual machine 1162.As the second example, can make Packet is transmitted to producer's host, and producer's host can for example determine the institute for receiving packet based on virtual address X Lease producer's virtual machine 1162.
In block 1214, overlapping network proxy server 1114 identifies the producer relevant to leased producer's virtual machine Host 1106.Producer's host can be identified by accessing the state table being stored in virtual machine mapping storage library 1150 1106。
In block 1216, overlapping network proxy server 1114 encapsulates the request with external header, which knows The producer's host 1106 not identified in block 1214 and consumer host 1104 relevant to consumer's virtual machine 1142.Cause This, is for example, packet now can be as follows: A, B Α ', Β ', data } }, show that Bao Zhengcong consumer host A is sent to life Production person's host B.Alternatively, in some cases it may make producer's host 1106 and the identity packet of consumer host 1104 The request header and packet for including in or being added to the received request in block 1202 can be as follows: { A, B, A', B', number According to, show that Bao Zhengcong consumer host A is sent to producer's host B.In this case, in stream relevant to block 1216 After the completion of journey, which includes single header rather than two headers, the two headers include inner header and external header.? In some embodiments, block 1216 may include and provide consumer's virtual machine 1142 of request in block 1202 and in block The identity of the relevant overlapping network of producer's virtual machine 1162 identified in 1210.Thus, for example, packet may indicate that request To ' or the first overlapping network it is related, this with " or the second overlapping network is in contrast, as follows: A, B, ', A', B', number According to }, show Bao Zhengcong consumer host A be sent to producer's host B and service request be sent to from consumer's virtual machine ' weight Included producer's virtual machine in folded network.Advantageously, in certain embodiments, by including with service request and right The identity of the overlapping network of the response of service request can reuse address between different overlapping networks.However, wherein Under each virtual machine and each system situation relevant to unique address, the identity for providing overlapping network be can be optionally 's.
In some embodiments, overlapping network proxy server 1114 can be from being stored in virtual machine mapping storage library Condition management table in 1150 determines the address information for accessing producer's virtual machine.The condition management table may include being used for Access the link information of leased producer's virtual machine 1162 selected in block 1210.In addition, condition management table can wrap Include the mapping of virtual address to producer's virtual machine address.In addition, condition management table can also include producer's virtual machine 1162 To the mapping of its corresponding producer's host.It is illustrated in Figure 15 such a shape for making virtual address be mapped to producer's virtual machine The example of state management table.
In block 1218, overlapping network proxy server 1114 is provided to the producer's host identified in block 1214 Request.The request can be provided to producer's host 1106 by network 202.
For handling the example flow of the request of the service at access producer's virtual machine
Figure 13 illustrates the embodiment of the process 1300 of the request for handling the service at access producer's virtual machine. Can by can handle access from consumer host received producer's virtual machine service any system implementation process 1300.For example, (can only be lifted by producer's host 1106, overlapping network proxy server 1116 and producer's virtual machine 1162 Several) wholly or partly implementation process 1300.Although any number of system can wholly or partly implementation process 1300, but discussed to simplify, it will be referring to specific 1300 each section of System describe process.
In some cases, process 1300 can be used for so that producer's virtual machine is capable of providing and is asked by Consumer System The service asked.Similarly, in some embodiments, process 1300 can be used for so that producer's system is able to access that by producing Service provided by person's virtual machine.However, discussed to simplify, it will be relative to providing to by the requested clothes of consumer's virtual machine Producer's virtual machine of the access of business describes process 1300.
Process 1300 starts in block 1302, wherein the overlapping of such as producer's host 1106 (for example, producer's host B) Network proxy server 1116 is received from consumer host 1104 and is requested.The request can be formatted for example as follows: A, B, ', A', B', data }, show that Bao Zhengcong consumer host A is received and is intended for producer's host B, and service is asked Ask be sent to from consumer's virtual machine ' producer's virtual machine included in overlapping network.In many cases, received request It is the request for accessing the service as hosted by producer's virtual machine 1162, producer's virtual machine is by 1106 support of producer's host Pipe.However, in some cases, received request can be data packet on the contrary, which is configured to virtual to the producer Machine 1162 provides data in order to execute the service for establishing access by consumer's virtual machine 1142, and consumer's virtual machine is by disappearing 1104 trustship of the person's of expense host.
In block 1304, overlapping network proxy server 1116 determines producer's virtual machine 1162 for receiving request (for example, producer virtual machine B').In some embodiments, block 1304 may include making external header institute from block 1302 Received request decapsulation.In this case, packet can be as follows: Α ', Β ', data }, show that Bao Zhengcong is consumed Person's virtual machine A' is received and is intended for producer's virtual machine B'.In this case, it is overlapped network proxy server 1116 accessible inner headers are to identify producer's virtual machine 1162.Alternatively, or in addition to this, overlapping network agency clothes Business device 1116 can identify producer's virtual machine 1162 for receiving request by access external header.
In some cases, overlapping network proxy server 1116 is to the producer's virtual machine identified in block 1304 1162 provide the request without external header.Therefore, packet can be as follows: Α ', Β ', data }.However, in other situations Under, which can be provided as being received from consumer host 1104, if the request is included in received request In be then included in external header.Therefore, packet can as received in block 1302 it is the same (for example, A, B, ', A', B' are several According to).
In block 1308, overlapping network proxy server 1116 is virtual from the producer for being addressed to consumer's virtual machine 1142 Machine 1162 receives response, this causes generation will the received request in block 1302.In some embodiments, response can be made to seek Location is to another consumer's virtual machine.For example, the request from consumer's virtual machine can be for making file from producer's void Quasi- machine is transmitted to the request of another consumer's virtual machine.The packet can with the received packet of institute is similar in block 1202 and can be with As follows: { Β ', A', data } show that producer's virtual machine B' forward direction consumer's virtual machine A' sends data (for example, to clothes The response of business request).In block 1310, the identification of overlapping network proxy server 1116 is relevant to consumer's virtual machine 1142 to disappear The person's of expense host 1104.Consumer host 1104 can be identified by the mapping table in access virtual machine mapping storage library 1152. The mapping table can make consumer's virtual machine 1142 be mapped to the consumer host 1104 of trustship consumer virtual machine 1142.It is logical Often, each consumer host 1104 can the multiple consumer's virtual machines 1142 of trustship.However, in some cases, one or Multiple consumer hosts 1104 can be with the single consumer's virtual machine 1142 of trustship.
In block 1312, overlapping network proxy server 1116 encapsulates the response with external header, which knows Other consumer host 1104 and producer's host 1106 relevant to producer's virtual machine 1162.Therefore, packet can be as follows: { B, A { Β ', A', data } }.As described in relative to block 1216, in some cases it may make consumer host 1104 and production The identity of person's host 1106 be included in or be added in block 1308 received response existing header.Therefore, packet can be as Shown in lower: { B, A, B', A', data }.Similarly, as described in relative to block 1216, external header, or there is only a headers In the case where response header, may include overlay network relevant to producer's virtual machine 1162 and consumer's virtual machine 1142 The identity of network.Therefore, packet can be as follows: B, A, ', B', A', data }.
In block 1314, producer's host 1106 provides response to consumer host 1104.In some embodiments, raw Production person's host 1106 can provide response by network 202.
In some embodiments, consumer host 1104 can execute process 1300 or similar process, will be in block The received response of institute, which provides, in 1308 arrives corresponding consumer's virtual machine 1142.In addition, in some cases, consumer host 1104 overlapping network proxy server 1114 can be identified initially asks as provided by consumer's virtual machine 1142 for creating The virtual address (for example, virtual address X) asked.The virtual address identified by using this, overlapping network proxy server The address substitution that producer's virtual machine 1162 is identified in received response can be to be used to create by consumer's virtual machine by 1114 The virtual address of initial request provided by 1142.Thus, for example, before it will wrap consumer's virtual machine A' is provided, Bao Ke To re-form as follows: { X, A', data }, it is received from producer's virtual machine B' from system X for showing to respond, this Data included in packet may actually have been generated.
For leasing the example flow of the access to producer's virtual machine
Figure 14 illustrates the embodiment of the process 1400 for leasing the access to producer's virtual machine.It can be by that can obtain Obtain any system implementation process 1400 of the lease to access producer's virtual machine 1162 (for example, producer virtual machine B').Example Such as, it by consumer host 1104, lease requester 1130, rental agency 102, overlapping network proxy server 1114 and can rent System of renting 224 (naming just a few) wholly or partly implementation process 1400.Although any number of system can integrally or Partly implementation process 1400, but discussed to simplify, it will be referring to specific 1400 each section of System describe process.
Process 1400 starts in block 1402, wherein for example the generation of lease requester 1130 is virtual to the producer for obtaining The request of the lease of machine 1162 is used for consumer's virtual machine 1142 relevant to overlapping network.It can be in consumer's virtual machine Process relevant to block 1402 occurs when 1142 initialization.Alternatively, or in addition to this, in response to there is no empty with consumer The quasi- associated unused producer's virtual machine of machine 1142 leases this determination (for example, can such as determine relevant to process 1200 Determined in plan block 1204) and block 1402 occurs.
In block 1404, lease requester 1130 provides request to multiple rental agencies 102.In some embodiments, Multiple rental agencies 102 may include the subgroup of rental agency 102 included in overlapping network environment 1100.In addition, one In a little situations, which can be provided to single rental agency 102.
In block 1406, lease requester 1130 is received from each of multiple rental agencies 102 and and consumer's void The identity of the quasi- relevant producer's virtual machine 1162 of the identical overlapping network of machine 1142 is generated in block 1402 to consumer void The request of quasi- machine.In general, each of multiple rental agencies 102 are provided which the identity of single producer's virtual machine 1162.So And in some cases, one or more of rental agency 102 can provide the identity of multiple producer's virtual machines 1162. In addition, rental agency 102 is likely to provide the identity of zero producer virtual machine 1162.For example, if with specific rental agency 102 each relevant producer's virtual machine 1162 are utilized more than threshold value utilization rate, then rental agency 102 may not The identity of producer's virtual machine 1162 is provided.In such a scenario, rental agency 102 can alert user and such as manage Member, each producer's virtual machine 1162 relevant to rental agency 102 are utilized more than threshold value utilization rate.
In some embodiments, it other than receiving the identity of producer's virtual machine 1162, can also be connect in block 1406 Receive information of lease relevant to producer's virtual machine 1162.The information of lease may include for accessing producer's virtual machine 1162 Address;The identity of producer's host 1106 of trustship producer virtual machine 1162 and/or address;And/or for for production The lease of person's virtual machine 1162 and the identity for being assigned to the consumable resource of the consumable resource amount of consumer's virtual machine 1142.It should Consumable resource may include any kind of resource for measuring the leasing period of producer's virtual machine 1162.For example, consumption Property resource may include the period;Multiple operations;It is handled by producer's virtual machine 1162 and/or from wherein received data volume; Or for measure producer's virtual machine 1162 by consumer's virtual machine 1142 utilization rate any other measurement.
In block 1408, the trial of overlapping network proxy server 1114 represents the access of consumer's virtual machine 1142 in block 1406 Middle identified each of producer's virtual machine 1162.In some embodiments, block 1408 can include attempt to and life Each of production person's virtual machine 1162 establishes connection.In other embodiments, block 1408 can include attempt to by with life The connection that production person's virtual machine 1162 is established is communicated.In block 1410, overlapping network proxy server 1114 will be related to often The link information of one established connection is stored in lease pond.The link information may include the information that connects for identification and Method using the connection to access service.For example, link information may include receiving the information of a part as block 1406 Any of consumable resource such as the identity of producer's host 1106 of trustship producer virtual machine 1162.One In a little embodiments, it can make to lease pond and/or link information is stored in virtual machine mapping storage library 1150.
Similar with process 300, in some embodiments, process 1400 can be used for updating to producer's virtual machine 1162 Lease.In such embodiments, block 1402 may include generating for updating to the existing or first of producer's virtual machine The preceding existing request leased.Update request may include the identity of existing producer's virtual machine lease.In addition, block 1406 can To include receiving the instruction for updating request and whether being permitted, and in some cases, be related to the additional standard of consumable resource Perhaps information of lease (for example, lease time or processor service condition).
The example of condition management table
Figure 15 illustrates one that can be used for promoting in overlapping network environment 1100 condition management table 1500 of communication Non-limiting example.Condition management table 1500 may include multiple information segments, these information segments promote virtual in consumer Communication between machine 1142 and producer's virtual machine 1162.For example, condition management table 1500 may include with next column content: source Overlapping address 1502, source overlapping port 1504, virtual address 1506 and destination overlapping address 1508.Such as condition management table 1500 In some statistical tables and reports heads (for example, source overlapping address 1502) shown in, which can be the address Internet Protocol (IP).However, should Address is not limited to this and can present other forms or follows other agreements.
In the example of fig. 15, the shown part of condition management table 1500 is related to consumer's virtual machine A'.As virtually Shown in the column of location 1506, multiple virtual address X and Y are can be used in consumer's virtual machine A'.In addition, each virtual address Related to multiple destination overlapping addresses, multiple destination overlapping address is related to multiple producer's virtual machines.For example, virtual Address Y can be to producer's virtual machine with address K' and related with producer's virtual machine with address M'.Due to that can incite somebody to action Multiple destination-address are mapped to virtual address, therefore network proxy server 1114 can also identify port, such as source overlapping ends Shown in 1504 column of mouth, data packet is directed to correct destination.Therefore, virtual to send the producer for service request Virtual address Y is replaced with the address of K' and uses port P1 by machine K', overlapping network proxy server 1114.Similarly, it is Producer virtual machine M' is sent by service request, virtual address Y is replaced with the ground of M' by overlapping network proxy server 1114 Location and use port P2.
In many cases, the layer 3 and/or layer 4 that open system interconnection (OSI) model can be used realize overlapping network. In general, networked infrastructure is not aware that passing through the network leads in the case where overlapping network is realized using layer 3 and/or layer 4 The application program of letter.This may make that load balance is more challenging, will be in consumer's virtual machine and the producer because being more difficult prediction How many data are transmitted between virtual machine.
A solution is to create the protocol aware load balance system at least partly realized using the layer 7 of osi model. In such a system, overlapping network proxy server 1114 can check just virtual by consumer in some embodiments The packet that machine 1142 transmits, to determine that consumer's virtual machine 1142 just attempts the service type accessed or association relevant to service request The single service or multiple services whether view type and these service requests are used to have identical or different type.Therefore, example Such as, if overlapping network proxy server 1114 determines that consumer's virtual machine is just requesting the visit to webpage using HTTP request It asks, and each HTTP request is used for the different characteristic of different webpage or webpage, then overlapping network proxy server 1114 can send different requests for not knowing in consumer's virtual machine 1142 to different producer's virtual machines 1162 Request is handled in the case where just being handled by not homologous ray.Therefore, in some cases, single connection can be by one group of connection Carry out DeMux.A series of requests can be split to multiple producer's virtual machines by overlapping network proxy server 1114 1162, processed efficiency or plastics are requested to improve.In addition, if overlapping network proxy server 1114 determines that consumer is empty Quasi- machine 1142 creates a large amount of loads just on producer's virtual machine 1162, then overlapping network proxy server 1114 can be changed The producer's virtual machine 1162 and/or split request between multiple producer's virtual machines 1162 that positive processing is requested.In some feelings It, can be by making request identifier is related to service request to change producer's virtual machine 1162 to realize under condition.For example, as schemed Shown in 15 column of request identifier 1510, it is virtual that the packet with request identifier I1 can make virtual address X change the producer into The address of machine B'.Equally, the address that there is the packet of request identifier I2 virtual address X can be made to change producer's virtual machine D' into.
Embodiment of the present invention can be described according to following clause:
Clause 1: a kind of to lease the access to producer's system to obtain to the service as hosted by producer's system The method of access, this method comprises:
By the Consumer System including one or more processors:
The lease for accessing one service in multiple producer's systems is generated to request;
Lease request is provided to multiple rental agencies;
The identity of one or more of producer's system is received from independent rental agency;
Attempt the connection of at least some of initialization and the producer's system identified by multiple rental agencies;And
In response to being successfully established and the connection of first producer's system from least some of producer's system, access It is serviced as provided by first producer's system.
Clause 2: the method as described in clause 1, wherein receiving one or more in producer's system from independent rental agency A identity includes the identity that at least two rental agencies from multiple rental agencies receive different producer's systems.
Clause 3: the method as described in clause 1 to 2, at least some of independent rental agency of plurality of rental agency It is related to the non-equivalent combination of producer's system.
Clause 4: the method as described in clause 1 to 3, wherein from independent rental agency receive producer's system in one or Multiple identity includes the consumable resource received at least some of identified producer's system.
Clause 5: the method as described in clause 4, wherein consumable resource may include lease time, one group of calculating cycle, Using relevant monetary budget or magnetic disk storage, and wherein, lease time includes consumer to identified producer's system System is authorized to some period of the service at producer's system.
Clause 6: the method as described in clause 5, wherein in response to surplus from the consumable resource for first producer's system The amount of remaining consumable resource meets lease threshold value, this method further include:
Determine that the existing service request for accessing the service at first producer will not before consumable resource expires A possibility that completion;
Meet in response to the determination possibility and update threshold value, generates for accessing the service at first producer's system The request of more fresh tenancy;And
The request of more fresh tenancy is provided to the rental agency from multiple rental agencies, multiple rental agency provides first The identity of producer's system.
Clause 7: the method as described in clause 6, wherein in response to providing the request of more fresh tenancy, this method to rental agency It further include the consumable resource for receiving the renewal amount for first producer's system.
Clause 8: the method as described in clause 6 to 7, wherein in response to providing the request of more fresh tenancy, the party to rental agency Method further includes the consumable resource for receiving the new amount for new production person's system, and new production person's system and first producer are System is different.
Clause 9: the method as described in clause 1 to 8, wherein in response to be successfully established in producer's system extremely The connection of few first some producer's system, this method further includes obtaining metadata from first producer's system, wherein first number According at least some of include be related to the status information of first producer's system.
Clause 10: the method as described in clause 9, this method further include providing to the rental agency from multiple rental agencies At least some of metadata, multiple rental agency provide the identity of first producer's system.
Clause 11: the method as described in clause 9 to 10, this method further include providing in metadata to multiple rental agencies It is at least some.
Clause 12: the method as described in clause 1 to 11, wherein in response to be successfully established in producer's system extremely The connection of few second some producer's system, accesses the second service at second producer's system.
Clause 13: the method as described in clause 12, wherein the service and the second service are identical service.
Clause 14: the method as described in clause 12 to 13, wherein the data that are accessed using the service and using this second It is different to service accessed data.
Clause 15: it is a kind of for leasing the access to producer's system to obtain to the clothes as hosted by producer's system The system of the access of business, the system include:
Consumer System including one or more processors, the Consumer System further include lease requester, the lease Requester is configured to:
Generate the lease request of the service for accessing 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, which is configured to attempt initialization and by multiple rental agencies The connection of at least some of the producer's system identified;And
Consumer System further includes resource requestor, which is configured to be successfully established in response to link block The service at first producer's system of the connection to access at least some of producer's system with first producer's system.
Clause 16: the system as described in clause 15, wherein lease requester is also configured to receive identified producer system The lease time of at least some of system, which includes the service that Consumer System is authorized at producer's system Some period.
Clause 17: the system as described in clause 16, wherein link block is also configured to provide to first producer's system Lease time relevant to first producer's system.
Clause 18: the system as described in clause 16 to 17, in which:
Resource requestor is also configured in response to from the remaining time quantum of lease time for first producer's system Meet lease threshold value to determine the existing service request for accessing the service at first producer before lease time expires A possibility that will not completing;And
Lease requester is also configured to:
Meet in response to the determination possibility and update threshold value, generates the update of the service at first producer's system of access Lease request;And
The request of more fresh tenancy is provided to the rental agency from multiple rental agencies, multiple rental agency provides first The identity of producer's system.
Clause 19: the system as described in clause 15 to 18, the system further include block of state, which is configured Come:
Metadata is obtained from first producer's system, wherein at least some of metadata includes being related to first producer system The status information of system;And
At least some of metadata is provided to the rental agency from multiple rental agencies, multiple rental agency provides The identity of first producer's system.
Clause 20: it is a kind of for leasing the access to producer's system to provide to the clothes as hosted by producer's system The system of the access of business, the system include:
The first rental agency including the first leasing system, first rental agency is in the computer including computer hardware It is realized in system, which is configured to:
The first request for leasing the access to service is received from Consumer System, the service is by multiple producer's systems It provides;
It is at least partially based on producer's status information relevant to the person's of individually producing system of more than first a producer's systems Identify first producer's system from more than first a producer's systems, wherein more than first a producer's system includes multiple First subgroup 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
The second rental agency including the second leasing system, second leasing system are configured to:
The second request of access of the lease to service is received from Consumer System;
It is at least partially based on producer's status information relevant to the person's of individually producing system of more than second a producer's systems Identify second producer's system from more than second a producer's systems, wherein more than second a producer's system includes that this is more Second subgroup of a producer's system, second subgroup of multiple producer's system and the first son of multiple producer's system Group is different;And
In response to identifying second producer's system, the identity of second producer's system is provided to Consumer System, to make Thus obtaining Consumer System can produce from at least access of first producer's system and second producer's system request to service The distributed process for being identified as being distributed between at least the first rental agency and the second rental agency of person's system.
Clause 21: the system as described in clause 20, wherein the first leasing system is also configured to provide to Consumer System First lease time, first lease time include some time that Consumer System is authorized to first producer's system Section, and wherein the second leasing system is also configured to provide the second lease time, second lease time to Consumer System Some period of second producer's system is authorized to including Consumer System.
Clause 22: the system as described in clause 20 to 21, in which:
First rental agency further includes first state module, which is configured to:
Receive the first more new state information of first producer's system that is used for;And
The producer's status information for being at least partially based on the first more new state information to update first producer's system;And And
Second rental agency further includes the second block of state, which is configured to:
Receive the second more new state information of second producer's system that is used for;And
The producer's status information for being at least partially based on the second more new state information to update second producer's system.
Clause 23: the system as described in clause 22, wherein the first more new state information and the second more new state information be from Consumer System is received.
Clause 24: the system as described in clause 22, wherein the first more new state information is received from first producer's system , and the second more new state information is received from second producer's system.
Clause 25: the system as described in clause 20 to 24, wherein the first rental agency is also configured to:
When receiving the first lease update request from Consumer System to obtain the additional lease for first producer's system Between;
Producer's status information for first producer's system is at least partially based on to determine whether to permit the first lease Update request;And
In response to determining that permitting the first lease updates request, provides for first producer's system for Consumer System One lease renewal time.
Clause 26: the system as described in clause 25, wherein the first lease update request is disapproved in response to determining, first Rental agency is also configured to:
It is at least partially based on producer's state letter relevant to each producer's system of more than first a producer's systems Breath comes from more than first a producer's system identification third production person'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 between multiple rental agency systems, this method comprises:
By 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 the second time period is in the first time period Occur before;
The quantity calculated between first group of producer's system and second group of producer's system is poor;
Determine whether the difference meets threshold value;And
In response to determining that the difference meets threshold value:
By the way that the different subgroups of first group of producer's system are assigned to independent rental agency system come in multiple lease generations First group of producer's system is divided between reason system;And
It is single for the independent rental agency system of multiple rental agency systems rather than for the first rental agency system Only rental agency system provides the identity that producer's system subgroup of rental agency system is assigned to from first group of producer's system So that different producer's systems from first group of producer's system can provide service to different Consumer Systems, thus First group of producer's system is divided between multiple rental agency systems realizes the service as provided by first group of producer's system Distribute the balance between different Consumer Systems.
Clause 28: the method as described in clause 27, this method further include to one group of rent from multiple rental agency systems Agency plant of renting notifies the first rental agency system just dividing first group of producer's system, this group of rental agency system is promoted to restrain The trial of first group of producer's system is divided, while the first rental agency system is just dividing first group of producer's system.
Clause 29: the method as described in clause 27 to 28, wherein second group can use producer's system and second time period packet Including ensures that when the first rental agency system is activated after the non-start up period difference meets the value of threshold value.
Clause 30: the method as described in clause 27 to 29, wherein first group of producer's system be included in first time period can The total quantity of producer's system and wherein second group of producer's system are included in the available producer system of second time period The total quantity of system.
Clause 31: the method as described in clause 27 to 30, this method 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 between 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, to lease generation Reason system provides the identity of the subgroup of producer's system from third group producer's system, the subgroup of producer's system at least portion Divide and is determined based on the division of second group of producer's system.
Clause 32: the method as described in clause 31, wherein third group producer system and first group of producer's system are phases Same system.
Clause 33: the method as described in clause 27 to 32, wherein being divided between multiple rental agency systems at the first time The available first group of producer's system of section includes that first group of producer's system is divided into the non-overlap subgroup of producer's system.
Clause 34: the method as described in clause 27 to 33, further include:
Determine producer's system of the first subgroup from the producer's system for distributing to the first rental agency system no longer It can use;And
Update can reflect that producer's system is no longer available with the counting of producer's system, wherein determining in first time period Available first group of producer's system is to be at least partially based on the counting of available producer's system.
Clause 35: the method as described in clause 34, wherein it includes from Consumer System that determining producer's system is no longer available Receive the unresponsive notice of producer's system.
Clause 36: the method as described in clause 34 to 35, wherein determining that producer's system is no longer available including determining production Person's system is reactionless to the status request as provided by the first rental agency system.
Clause 37: the method as described in 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 includes in the subgroup of producer's system for being assigned to the first rental agency system;With And
In response to determine producer's system include in the producer's system subgroup for being assigned to the first rental agency system, Producer's system is registered at first rental agency system.
Clause 38: the method as described in clause 37, wherein be assigned to first in response to determining that producer's system is not included in In producer's system subgroup of rental agency system, this method further include:
From multiple the second rental agency of the rental agency system identification systems for being assigned to producer's system;And
The identity of the second rental agency system is provided for producer's system.
Clause 39: the method as described in clause 27 to 38, wherein the Consumer System from different Consumer Systems is not The same period accesses different producer's systems from multiple producer's systems.
Clause 40: a kind of system for dividing producer's system between multiple rental agencies, the system include:
Multiple rental agencies, multiple rental agency includes the first rental agency, wherein the list from multiple rental agencies Only rental agency includes one or more processors, which further includes dividing system, which is configured Group when can be with producer's system and second time period come one group when determining first time period can be between producer's system Difference whether meet threshold value;And
Dividing system, the dividing system are also configured in response to determining that the difference meets threshold value:
This group of producer's system is made a living based on the counting division of multiple rental agencies included in multiple rental agencies Multiple subgroups of production person's system, to attempt that different user system is promoted to be distributed in the access approaches uniformity of multiple producer's systems Between multiple producer's systems;And
For the independent rental agency of multiple rental agencies, one in producer's system subgroup is provided to rental agency The identity of included producer's system in a.
Clause 41: the system as described in clause 40, wherein institute in multiple subgroups of producer's system and multiple rental agencies Including multiple rental agencies counting it is corresponding.
Clause 42: the system as described in clause 40 to 41, dividing system, which is also configured to provide for independent rental agency, to be come The identity of included producer's system from the different subgroups of producer's system of producer's system subgroup.
Clause 43: the system as described in clause 40 to 42, wherein dividing system is also configured to alert multiple rental agencies One or more rental agencies, do not include the first rental agency, the dividing system of the first rental agency is just dividing group production Person's system.
Clause 44: the system as described in clause 40 to 43, wherein in response to receiving the second rent from multiple rental agencies It rents the warning acted on behalf of and just divide this group of producer's system, the dividing system of the first rental agency, which is also configured to restrain, divides the group Producer's system.
Clause 45: the system as described in clause 40 to 44, wherein the first rental agency further includes registration module, the registration mould Block is also configured to:
The request registered to the first rental agency is received from producer's system;
Determine whether producer's system includes in the producer's system subgroup for being assigned to the first rental agency;
In response to determining that producer's system includes in the producer's system subgroup for being assigned to the first rental agency, first Producer's system is registered at rental agency;And
In response to determine producer's system do not include in the producer's system subgroup for being assigned to the first rental agency, from point The multiple rental agencies for being fitted on producer's system identify the second rental agency and provide the second rental agency for producer's system Identity.
Clause 46: a method of lease being divided between multiple rental agency systems, this method comprises:
By the first rental agency system including one or more processors:
Producer's system can be used by identifying one group;
Determine that can be used for the group can use multiple leases of the person's of individually producing system of producer's system;
It can be used for the person of individually producing by coming from for the independent rental agency system distribution from multiple rental agency systems The lease subgroup of multiple leases of system can be used for the multiple of the person's of individually producing system to divide between multiple rental agency systems Lease;And
For the independent rental agency system of multiple rental agency systems, is provided for rental agency system and be assigned to rent It rents the lease subgroup of agency plant, thus can be used for multiple leases of the person's of individually producing system between multiple rental agency systems Divide the balance for realizing the workload between multiple rental agency systems.
Clause 47: the method as described in clause 46, wherein independent rental agency system is assigned the non-overlap subgroup of lease.
Clause 48: the method as described in clause 46 to 47, wherein for rental agency system provide lease subgroup do not include for First rental agency system provides the lease subgroup for being assigned to rental agency system.
Clause 49: the method as described in clause 46 to 48 is assigned to rental agency system wherein providing for rental agency system The lease subgroup of system includes that the multiple leases for being assigned to rental agency system are provided for rental agency system for multiple producers The person's of individually producing system of system.
Clause 50: the method as described in clause 46 to 49 is assigned to rental agency system wherein providing for rental agency system The lease subgroup of system includes that the identifier individually leased for being assigned to rental agency system is provided for rental agency system.
Clause 51: the method as described in clause 46 to 50, wherein dividing between multiple rental agency systems can be used for individually The lease quantity of producer's system, which is included between multiple rental agency systems coequally to divide substantially, can be used for the person of individually producing system Multiple leases of system.
Clause 52: the method as described in clause 46 to 51, plurality of rental agency system include one group of rental agency system The subgroup of system.
Clause 53: the method as described in clause 52, plurality of rental agency system include the first rental agency system.
Clause 54: the method as described in clause 46 to 53, wherein the group can include available producer system with producer's system The subgroup of system.
Clause 55: the method as described in clause 46 to 54, wherein described divide between multiple rental agency systems can be used for Multiple leases of the person's of individually producing system are in response to multiple total between first time period can use producer's system used in the group Lease changes threshold quantity compared with second time period and occurs.
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, this method comprises:
By the first rental agency system including one or more processors:
Receive be used for multiple producer's systems status information, the person's of individually producing system of plurality of producer's system with Right to choose heavy phase is closed, and wherein at least some of status information reflects the state of at least one producer's system by least One Consumer System determines;
Be at least partially based on received status information modify producer's status information for multiple producer's systems, The producer's status information modified includes one about the performance for the multiple producer's systems interacted with Consumer System Group measurement;
The first measurement from group measurement is at least partially based on to modify right to choose relevant to multiple producer's systems Weight;
It receives from Consumer System for leasing the request to one access in multiple producer's systems;And
In response to receiving for leasing the request to one access in multiple producer's systems:
Corresponding selection weight relevant to the person's of individually producing system of multiple producer's systems is at least partially based on to come from more Select producer's system to serve Consumer System in a producer's system;
The identity of selected producer's system is provided to Consumer System, which provides for leasing to more The request of one access in a producer's system;And
Producer's status information relevant to selected producer's system is provided to Consumer System, wherein from the second consumption Person's system obtains at least some of producer's status information.
Clause 57: the method as described in clause 56, plurality of producer's system include producer's system subgroup.
Clause 58: the method as described in clause 56 to 57, wherein modification selection weight relevant to multiple producer's systems A possibility that changing selection producer's Systematic selection specific producer's system.
Clause 59: the method as described in clause 56 to 58, wherein status information is received from least one Consumer System 's.
Clause 60: the method as described in clause 59, wherein at least one Consumer System include providing for lease pair The Consumer System of the request of one access in multiple producer's systems.
Clause 61: the method as described in clause 56 to 60, wherein status information is received from multiple producer's systems.
Clause 62: the method as described in clause 56 to 60, wherein status information is received from the second rental agency system.
Clause 63: the method as described in clause 56 to 63, further include:
For first producer's system from multiple producer's systems, whether the corresponding selection weight of determining modification Meet and deletes threshold value;And
Meet deletion threshold value in response to the selection weight of modification, deletes first producer from available producer's system list The identity of system, which includes being with the producer from the multiple producer's systems that can be used for selection The identity for corresponding available producer's system of uniting.
Clause 64: the method as described in clause 63, wherein described include from multiple producer's Systematic selection producer's systems Producer's system is selected from available producer's system list.
Clause 65: the method as described in clause 63 to 64, further include:
Track the counting for the producer's system deleted from available producer's system;And
Threshold value is reduced in response to counting to meet, available producer's system is repartitioned between multiple rental agency systems, it should Multiple rental agency systems include the first rental agency system.
Clause 66: the method as described in clause 63, wherein the deletion threshold value is based on for multiple producer's systems The average value of one measurement.
Clause 67: the method as described in clause 56 to 66, wherein providing the producer's status information packet for arriving Consumer System Include independent group of the producer's status information that can be used for the first rental agency system, and wherein producer's status information this solely Vertical group enables Consumer System to select compared with other leased producer's systems from multiple leased producer's systems The producer's system being less frequently utilized.
Clause 68: the method as described in clause 56 to 67, wherein also being wrapped from multiple producer's Systematic selection producer systems Including selection has compared with second group of producer's system compared with one in first group of producer's system of low-load.
Clause 69: the method as described in clause 68, selected in producer's system it is not related to minimum load, thus Reduce the occurrence frequency of hunting of load.
Clause 70: a kind of for being from multiple producer's Systematic selection producer systems with provide the access to service System, the system include:
First rental agency of multiple rental agencies, first rental agency include being configured to implement block of state and rent The one or more processors for system of renting;
The block of state is configured to:
The status information for receiving first producer's system for multiple producer's systems, from multiple producer's systems The person's of individually producing system and right to choose heavy phase are closed;And
The received status information of institute is at least partially based on to modify selection weight relevant to first producer's system;And Leasing system is configured to:
Receive one request accessed in multiple producer's systems;And
Corresponding selection weight relevant to the person's of individually producing system of multiple producer's systems is at least partially based on to come from more A producer's system includes that producer's system is selected in first producer's system to serve request;
Clause 71: the system as described in clause 70, wherein by leasing system in the first rental agency receiving status information And wherein leasing system is also configured to provide status information to block of state.
Clause 72: the system as described in clause 70 to 71, wherein block of state is also 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 allocated to the first rental agency, block of state is also 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 as described in clause 70 to 72, wherein block of state is also configured to:
Determine whether the selection weight of modification meets deletion threshold value;And
First producer's system is gone with multiple producer's systems in response to the selection weight satisfaction deletion threshold value of modification Association.
Clause 74: the system as described in clause 73, wherein the first rental agency further includes dividing system, the dividing system quilt It is configured to respond to go to be associated in multiple lease generations with the multiple producer's systems for reducing threshold value are met in multiple producer's systems Multiple producer's systems are divided between reason again.
Clause 75: the system as described in clause 70 to 74, wherein leasing system is also configured to provide to Consumer System The identity of producer's system, the Consumer System are provided for accessing one request in multiple producer's systems.
Clause 76: the system as described in clause 70 to 75, wherein selected producer's system is including first producer System.
Clause 77: the non-transitory physical computer memory including computer executable instructions, the computer are executable When instruction is realized in one or more processors, at least through the following terms guidance computing system from multiple producer's systems Selection is for providing producer's system of the access to service:
In response at the first rental agency of first producer's system for the multiple producer's systems reception state believe Breath, determine first producer whether be producer's system the first subgroup member, the first subgroup 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 subgroups of producer's system;
In response to determining that first producer's system is the member of the first subgroup 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 at least partially based on and the production from producer's system subgroup Person's system relevant selection weight receives second producer's system from the first subgroup of producer's system, is mentioned with serving request Supplier.
Clause 78: the non-transitory physical computer memory as described in clause 77, wherein second producer's system and One producer's system is identical.
Clause 79: the non-transitory physical computer memory as described in clause 77 to 78, wherein in response to determining first Producer's system is not the member of the first subgroup of producer's system, this method further include:
Identification includes the second subgroup of producer's system of first producer's system;
Identify the second rental agency relevant to the second subgroup of producer's system;And
Status information is provided to the second rental agency.
Clause 80: a method of access service as provided by producer's virtual machine in overlapping network, this method packet It includes:
By the Consumer System host including one or more processors, which is configured to trustship one A or multiple consumer's virtual machines, wherein at least one of consumer's virtual machine is related to the first overlapping network:
The request of the service from access producer's system is received from consumer's virtual machine, consumer's virtual machine is by consumer System host trustship, wherein the request includes inner header, which includes consumer relevant to consumer's virtual machine Virtual machine address and target virtual address;
Lease relevant to consumer's virtual machine pond is accessed, which includes one group for representing consumer's virtual machine lease Leased producer's virtual machine;
Leased producer virtual machine of the selection from wherein access service from lease pond;
It is virtual that target virtual address in inner header is changed to the producer relevant to leased producer's virtual machine Machine address;
Identify that producer's system host relevant to leased producer's virtual machine, producer's system host are configured to Trustship one or more producer's virtual machine, wherein at least one of producer's virtual machine is related to the first overlapping network;
Request is encapsulated with external header, which includes producer system master relevant to producer's system host Machine address and Consumer System host address relevant to Consumer System host;And
The request to producer's system is provided via network, so that producer's system host is capable of handling the request.
Clause 81: the method as described in clause 80, wherein the leased producer's virtual machine of selection includes:
Determine whether lease pond includes that leased producer's virtual machine can be used at least one;And
In response to determining that lease pond includes that leased producer's virtual machine can be used at least one, selection can be used and lease production One in person's virtual machine and selected available leased producer's virtual machine is removed from lease pond.
Clause 82: the method as described in clause 81, wherein in response to determining that lease pond does not include that the leased producer can be used Virtual machine, this method further include:
Represent lease of consumer's virtual machine acquisition to one group of producer's virtual machine included in the first overlapping network;
The connection of initialization and the person's of individually producing virtual machine from the leased producer's virtual machine of the group;And
For the connection being individually successfully established, corresponding producer's virtual machine is added to lease pond,
Wherein selecting leased producer's virtual machine further includes select to be added in producer's virtual machine in lease pond one It is a and remove selected producer's virtual machine from lease pond.
Clause 83: the method as described in clause 82, wherein obtaining and including: to the lease of this group of producer's virtual machine
It generates for obtaining to producer's virtual machine included in the first overlapping network for consumer's virtual machine Lease;
Request for obtaining the lease to producer's virtual machine is provided to one group of rental agency;And
For the rental agency in this group of rental agency it is at least some for, receive be used for producer's virtual machine lease Information is enable to the connection of initialization with producer's virtual machine.
Clause 84: the method as described in clause 83, wherein this group of rental agency includes the subgroup of the rental agency in network.
Clause 85: the method as described in clause 80 to 84, further include:
The response to service request is received from producer's system host;
External header by deleting service response decapsulates the response to obtain the visit to the inner header of response It asks;
Recipient consumer's virtual machine is determined based on the inner header of response, which is by disappearing One in consumer's virtual machine hosted by the person's of expense system host;And
De-encapsulation services response is provided to recipient consumer's virtual machine.
Clause 86: the method as described in clause 85, wherein recipient consumer's virtual machine and consumer's virtual machine are identical 's.
Clause 87: the method as described in clause 85 to 86, further include:
Source relevant to source producer's virtual machine virtual address is identified based on the inner header of response, the source producer is empty Quasi- machine is related to the response;And
It is source virtual address by address substitution included in inner header relevant to source producer's virtual machine.
Clause 88: the method as described in clause 87, wherein source producer virtual machine and selected the leased producer are empty Quasi- machine is corresponding, and source virtual address is corresponding with target virtual address, and recipient consumer's virtual machine and consumer are virtual Machine is corresponding.
Clause 89: the method as described in clause 80 to 88, wherein at least one of consumer's virtual machine is Chong Die with second Network is related.
Clause 90: the method as described in clause 80 to 89, wherein at least one of producer's virtual machine is Chong Die with second Network is related.
Clause 91: the method as described in clause 80 to 90, further include:
Receive the second request of access service;
Determine whether the load of leased producer's virtual machine meets load threshold;And
In response to determining that the load of leased producer's virtual machine meets load threshold:
It selects from lease pond from second the leased producer's virtual machine for wherein accessing service;And
The second request is provided to second producer's system host of the leased producer's virtual machine of trustship second.
Clause 92: the method as described in clause 91, wherein in response to determining that the load of leased producer's virtual machine meets Load threshold, the method further include the connection terminated with leased producer's virtual machine.
Clause 93: a kind of system for accessing the service as provided by the producer in overlapping network, the system include:
Consumer System host including one or more processors, the Consumer System host are configured to trustship one Or multiple consumers, the Consumer System host include:
Mapping storage library, the mapping storage library are configured to store the mapping of the producer to producer's system host;And
Overlapping network proxy server, the overlapping network proxy server are configured to:
The request for accessing the service of the producer is received from the consumer hosted by Consumer System host;
The leased producer from wherein access service is selected, which leases the producer and represent consumer and be leased for;
Access map repository is to identify producer's system host relevant to the leased producer, the producer system master Machine is configured to the trustship one or more producer;And
Send the request to producer's system host.
Clause 94: the system as described in clause 93, in which:
Mapping storage library is also configured to storage lease relevant to consumer pond, the lease pond including representing consumer and One group of leased producer of lease;And
Overlapping network proxy server is also configured to:
Determine whether lease pond includes that the leased producer can be used at least one;And
In response to determining that lease pond includes that at least one can be selected from available the leased producer with the leased producer Select the leased producer from wherein access service.
Clause 95: the system as described in clause 94, wherein in response to determining that lease pond does not include that at least one available is rented Rent the producer, and overlapping network proxy server is also configured to:
Generate the request for obtaining the lease to the producer for consumer;
Request for obtaining the lease to the producer is provided to one group of rental agency;And
For at least some of rental agency in this group of rental agency, receives and believe for the lease of the producer Breath.
Clause 96: the system as described in clause 95, wherein mapping storage library is also configured to store and disappear in lease pond The relevant information of lease of the person of expense.
Clause 97: the system as described in clause 93 to 95, wherein overlapping network proxy server is also configured to:
The response to request is received from producer's host system;
Recipient consumer is determined based on the inner header of response, which includes consumer;And
Response to consumer is provided.
Clause 98: the system as described in clause 97, wherein overlapping network proxy server is also configured to:
Identify source relevant to leased producer virtual address;And
Before providing to the response of consumer, by address relevant to the leased producer included in inner header It is changed to source virtual address.
Clause 99: the system as described in clause 93 to 97, wherein overlapping network proxy server is also configured to request Encapsulated with external header, the external header include producer's system host address relevant to producer's system host and with consumption The relevant Consumer System host address of person's system host.
Clause 100: the non-transitory physical computer memory including computer executable instructions, the computer are executable When instruction is realized in one or more processors, guide computing system accesses by the life in overlapping network by the following terms Service provided by production person's virtual machine:
In response to receiving from consumer's virtual machine hosted by Consumer System host for accessing producer's system The request of the service at place, the request include target virtual address, are selected from lease pond relevant to consumer's virtual machine from it Leased producer's virtual machine of middle access service, the lease pond include that the producer that represents consumer's virtual machine and lease is virtual The link information of machine;
It is virtual that target virtual address in request header is changed to the producer relevant to leased producer's virtual machine Machine address;
Determine producer's system host relevant to leased producer's virtual machine;And
Promote for the request for being sent to producer's system host to be provided to leased producer's virtual machine, so that renting Producer's virtual machine of renting is capable of handling the request for accessing service.
Clause 101: the non-transitory physical computer memory as described in clause 100, wherein from consumer's virtual machine The leased producer's virtual machine of selection includes: in relevant lease pond
Determine whether lease pond includes that current at least one leased producer not as used in consumer's virtual machine is empty The link information of quasi- machine;And
In response to determining that lease pond does not include that currently at least one does not lease production as used in consumer's virtual machine Person's virtual machine, computer executable instructions further include guidance computing system:
Represent lease of consumer's virtual machine acquisition to one group of producer's virtual machine included in overlapping network;
The connection of initialization and the person's of individually producing virtual machine from the leased producer's virtual machine of the group;And
For the connection being successfully established, the link information for corresponding to producer's virtual machine is added to lease pond.
Clause 102: the non-transitory physical computer memory as described in clause 101, wherein from consumer's virtual machine It further includes the production for selecting its link information to be added to lease pond that leased producer's virtual machine is selected in relevant lease pond One in person's virtual machine.
Method
Through the present disclosure describes multiple computing systems.The description of these systems be not limiting as the disclosure religious doctrine or Application.For example, custom system as described herein generally may include any computing device, such as desktop computer, electricity on knee Brain, video gaming platforms, television set top box, television set (for example, Web TV), computerized equipment and portable radio device (for example, smart phone, PDA, tablet computer etc.) (naming just a few).In addition, custom system as described herein is also possible to be different In addition the device of type to include different application programs, or configures in different ways.In addition, user system as described herein System may include any kind of operating system (" OS ").For example, mobile computing device as described herein may be implemented AndroidTMOS、OS、OS, OS based on Linux or Unix etc..
Furthermore it is possible to which the processing of the various assemblies of shown system is made to be distributed in multiple machines, network and other computing resources Between.Furthermore it is possible to which two or more components of system is made to be combined into less component.For example, can make to be illustrated as lease generation The various systems of a part of reason 102 are distributed in multiple computing systems, or are combined into single computing system.Furthermore it is possible to In one or more virtual machines, rather than the various assemblies of system shown in being realized in dedicated computer hardware system.Similarly, Shown data repository can indicate physics and/or logical data store, including such as storage area network or other distributions Formula storage system.In addition, in certain embodiments, the connector between shown component indicates possible data flow path, Rather than the practical connector between hardware.Though it is shown that may connector some examples, but in various implementations In, any of subgroup of shown component can be communicated with any other subgroup of component.
Depending on the embodiment, certain movements, event or function in algorithm described herein, method or process can It is executed with different sequences, can be added, merge or be omitted completely (for example, and not all the actions or events described is all real It tramples necessary to these algorithms).In addition, in certain embodiments, can for example by multiple threads, interrupt processing or Multiprocessor or processor core are executed concurrently movement or event in other parallel basis structures, rather than sequentially It executes.
Each of systems shown in various can be achieved as computing system, which is programmed or configures to execute Various functionality described herein.Computing system may include multiple and different computer or computing device (for example, physical services Device, work station, storage array etc.), these computers or computing device are executed described by network communication and interactive operation Function.In general, each such computing device includes processor (or multiple processor), processor execution is stored in interior It deposits or instruction or module in other non-transitory computer-readable storage medias.Although some or all of disclosed function can Alternatively to be realized in the special circuit of computer system (for example, ASIC or FPGA), but various function disclosed herein Can such program instruction embody.In the case where computing system includes multiple computing devices, these devices can with but Without co-located.Can by make physical storage device such as solid-state memory chip and/or disk be converted into another state come Permanently store the result of disclosed method and task.Associated server can be such as utilized by one or more computing devices Node realizes each described process come the one or more physical servers programmed.
Unless expressly stated otherwise, or separately understand as the use within a context, conditionity language used herein Speech (in particular, for example "available", " possibility " " can with ", " such as ") be generally intended to convey certain embodiments to include certain features, member Part and/or state, and certain other embodiments do not include certain features, element and/or state.Therefore, such conditionity Language is generally not intended to imply that feature, element and/or state are all anyway necessary to one or more embodiments, Or one or more embodiments input either with or without user or prompt all necessarily to include for determining any specific reality It applies in scheme and whether to include or will execute the logic of these features, element and/or state.Term " includes ", " comprising ", " having " Etc. being synonymous and use in open form, but be not excluded for add ons, feature, movement, operation etc. inclusively.Separately Outside, term "or" uses in its inclusive meaning (rather than in its exclusiveness meaning), so that for for example making member When part list connects, term "or" mean one of these elements in list, some or all.In addition, the article " one " and " one It is a " it is interpreted to mean " one or more " or "at least one", unless in addition instruction.
Unless otherwise specified, language such as phrase " at least one of X, Y and Z " is otherwise connected furthermore with upper and lower Understand like that used in text, being generally intended to reception and registration project, term etc. can be any one X, Y or Z.Therefore, such connection language Speech generally is not intended to imply that certain embodiments need to be individually present at least one of at least one of X, Y and Z At least one.
Although the above specific embodiment has shown that, has been described and pointed out novelty of the invention applied to various embodiments Feature, it is to be understood that illustrated device or algorithm can be made without departing from the spirit of the invention in form and details Various omissions, substitutions and variations.Therefore, in previous description any content be all not intended to imply any special characteristic, characteristic, Step, module or block are necessary or indispensable.It arrives as will be appreciated, since certain features can be with other feature independently Using or try out, thus can be embodied in the form that all features and benefit as described herein are not provided as described herein Process.Protection scope of the present invention is limited by appended claim, rather than is limited by foregoing description.In claims All changes in meaning and equivalency range are included within the scope of its.

Claims (13)

1. it is a kind of for leasing the access to producer's system to obtain the visit to the service as hosted by producer's system The system asked, the system comprises:
Consumer System including one or more processors, the Consumer System further include lease requester, the lease Requester is configured to:
Generate the lease request of the service of access producer's system;
The lease request is provided to multiple rental agencies;And
The identity of producer's system is received from least some of the multiple rental agency;
The Consumer System further includes link block, and the link block is configured to attempt initialization and by the multiple rent The connection of at least some of described producer's system acted on behalf of and identified of renting;And
The Consumer System further includes resource requestor, the resource requestor be configured in response to the link block with First producer's system is successfully established connection to access first producer system of at least some of described producer's system Service at system;
Wherein, the lease requester is also configured to receive the lease time of first producer system, when the lease Between include that the Consumer System is authorized to some period of the service at first producer system,
Wherein, the resource requestor is also configured to determine raw for accessing described first before the lease time expires A possibility that existing service request of the service at production person place will not be completed before the lease time expires,
Wherein, the lease requester is also configured to:
Meet in response to the determination possibility and update threshold value, generates and access the service at first producer system The request of more fresh tenancy;And
The more fresh tenancy request is provided to one of the multiple rental agency, the rental agency provides first production The identity of person's system.
2. the system as claimed in claim 1, which provide the leases of the identity of first producer system Agency is also configured to provide the lease time relevant to first producer system to the Consumer System.
3. the system as claimed in claim 1 further includes block of state, the block of state is configured to:
Metadata is obtained from first producer system, wherein at least some of described metadata includes being related to described first The status information of producer's system;And
At least some of described status information is provided to the rental agency from the multiple rental agency, it is the multiple Rental agency provides the identity of first producer system.
4. a kind of access of lease to producer's system is to obtain the access to the service as hosted by producer's system Method, which comprises
By the Consumer System including one or more processors:
The lease for accessing one service in multiple producer's systems is generated to request;
The lease request is provided to multiple rental agencies;
The identity of one or more of described producer's system is received from independent rental agency;
Attempt the connection of at least some of initialization and the producer's system identified by the multiple rental agency;
Connect in response to being successfully established with first producer's system from least some of producer's system, access by The service provided by first producer system;
The lease time of first producer system is received, the lease time includes that the Consumer System is authorized to Some period of the service at first producer system,
It determines and is asked before the lease time expires for accessing the existing service of the service at first producer A possibility that will not completing before the lease time expires is asked,
Meet in response to the determination possibility and update threshold value, generates and access the service at first producer system The request of more fresh tenancy;And
The more fresh tenancy request is provided to one of the multiple rental agency, the rental agency provides first production The identity of person's system.
5. method as claimed in claim 4,
It include wherein receiving to be used for from the identity that independent rental agency receives one or more of described producer's system The consumable resource of at least some of identified producer's system;
Wherein the consumable resource includes one or more of the following terms: one group of calculating cycle, with the identified producer System uses relevant monetary budget or magnetic disk storage;
Wherein in response to full from the amount of the remaining consumable resource of the consumable resource for first producer system Foot lease threshold value, the method also includes:
Determination expires for accessing the existing service request of the service at first producer in the consumable resource A possibility that will not completing before;
Meet in response to the determination possibility and update threshold value, generates for accessing the clothes at first producer system The more fresh tenancy request of business;And
The more fresh tenancy request, the multiple rental agency are provided to the rental agency from the multiple rental agency Provide the identity of first producer system;And
Wherein, in response to providing the more fresh tenancy request to the rental agency, the method also includes receiving for described The consumable resource of the renewal amount of first producer's system or the expendable for receiving the new amount for new production person's system Resource, new production person's system are different from first producer system.
6. method as claimed in claim 4, wherein in response to be successfully established in producer's system described in extremely The connection of few some first producer systems, the method also includes obtaining first number from first producer system According to wherein at least some of described metadata includes being related to the status information of first producer system, the method is also Include:
At least some of described metadata, the multiple rent are provided to the rental agency from the multiple rental agency The agency that rents provides the identity of first producer system.
7. method as claimed in claim 4, wherein in response to being successfully established and at least one in producer's system The connection of second a little producer's systems accesses the second service at second producer system.
8. it is a kind of for leasing the access to producer's system to provide the visit to the service as hosted by producer's system The system asked, the system comprises:
The first rental agency including the first leasing system, first rental agency is in the department of computer science including computer hardware It is realized in system, first leasing system is configured to:
The first request for leasing the access to service is received from Consumer System, the service is mentioned by multiple producer's systems For;
Producer's status information relevant to the person's of individually producing system of more than first a producer's systems is at least partially based on to know First producer's system not from more than described first a producer's systems, wherein a producer's system includes institute more than described first State the first subgroup of multiple producer's systems;
In response to identifying first producer system, Xiang Suoshu Consumer System provides the identity of first producer system With the first lease time, first lease time includes that the Consumer System is authorized to first producer system Some period of the service at place;
Before first lease time expires, the first lease is received from the Consumer System and updates request to be used for The additional lease time of first producer system;
And
First lease, which is provided, to the Consumer System updates the instruction that request is given the ratification;And
The second rental agency including the second leasing system, second leasing system are configured to:
The second request for leasing the access to the service is received from the Consumer System;
It is at least partially based on producer's status information relevant to the person's of individually producing system described in more than second a producer's systems Second producer's system from more than described second a producer's systems is identified, wherein a producer's system packet more than described second Include the second subgroup of the multiple producer's system, second subgroup and the multiple production of the multiple producer's system First subgroup of person's system is different;And
In response to identifying second producer system, Xiang Suoshu Consumer System provides the body of second producer system Part, so that the Consumer System can be from least described first producer system and second producer system request Access to the service, thus producer's system is identified as being distributed at least described first rental agency and described the Distributed process between two rental agencies.
9. system as claimed in claim 8, wherein second leasing system is also configured to provide the to Consumer System Two lease times, second lease time include certain that the Consumer System is authorized to second producer system A period.
10. system as claimed in claim 8, in which:
First rental agency further includes first state module, and the first state module is configured to:
Receive the first more new state information for being used for first producer system;And
The described first more new state information is at least partially based on to update producer's state of first producer system Information;And
Second rental agency further includes the second block of state, and second block of state is configured to:
Receive the second more new state information for being used for second producer system;And
The described second more new state information is at least partially based on to update producer's state of second producer system Information.
11. system as claimed in claim 10, wherein the described first more new state information and the described second more new state information It is received from the Consumer System.
12. system as claimed in claim 10, wherein the described first more new state information is from first producer system It is received, and the described second more new state information is received from second producer system.
13. system as claimed in claim 10, wherein first rental agency is also configured to:
Producer's status information for first producer system is at least partially based on to determine whether to permit described first Lease updates request;And
In response to determining that permitting first lease updates request, provides for the Consumer System for first producer First lease renewal time of system;And
In response to determining that disapproving first lease updates request, first rental agency is also configured to:
It is at least partially based on producer's state letter relevant to each producer's system of more than described first a producer's systems Breath comes from more than described first a producer's system identification third production person's systems;And
In response to identifying third production person's system, Xiang Suoshu Consumer System provides the body of third production person's system Part.
CN201480036547.5A 2013-06-26 2014-06-24 It manages and the client of multiple computing systems is accessed Active CN105556472B (en)

Applications Claiming Priority (9)

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

Publications (2)

Publication Number Publication Date
CN105556472A CN105556472A (en) 2016-05-04
CN105556472B true CN105556472B (en) 2019-07-26

Family

ID=51212983

Family Applications (3)

Application Number Title Priority Date Filing Date
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
CN201480036547.5A Active CN105556472B (en) 2013-06-26 2014-06-24 It manages and the client of multiple computing systems is accessed

Family Applications Before (2)

Application Number Title Priority Date Filing Date
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

Country Status (5)

Country Link
EP (3) EP3014441A2 (en)
JP (3) JP6243528B2 (en)
CN (3) CN105612539B (en)
CA (3) CA2916261C (en)
WO (3) WO2014210054A2 (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
US9780993B2 (en) 2013-06-26 2017-10-03 Amazon Technologies, Inc. Producer computing system leasing on behalf of consumer computing system
US9843631B2 (en) 2013-06-26 2017-12-12 Amazon Technologies, Inc. Producer system selection
US10592064B2 (en) 2013-09-17 2020-03-17 Amazon Technologies, Inc. Approaches for three-dimensional object display used in content navigation
WO2019100366A1 (en) * 2017-11-27 2019-05-31 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods 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

Family Cites Families (15)

* 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
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
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
US8615764B2 (en) * 2010-03-31 2013-12-24 International Business Machines Corporation Dynamic system scheduling
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
US8958298B2 (en) * 2011-08-17 2015-02-17 Nicira, Inc. Centralized 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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN105556472B (en) It manages and the client of multiple computing systems is accessed
CN103635882B (en) Controlling network is utilized
US10298666B2 (en) Resource management for multiple desktop configurations for supporting virtual desktops of different user classes
CN106325998B (en) Application deployment method and device based on cloud computing
CN105074702B (en) The Database Systems of single tenant and multi-tenant environment are provided
KR101987960B1 (en) System and method for supporting accurate load balancing in a transactional middleware machine environment
US9350801B2 (en) Managing client access to a plurality of computing systems
US11128698B2 (en) Producer system registration
US11301284B2 (en) Method for managing VNF instantiation and device
US9369518B2 (en) Producer system partitioning among leasing agent systems
CN107209642A (en) Store fast path
US9780993B2 (en) Producer computing system leasing on behalf of consumer computing system
WO2024011707A1 (en) Blockchain transaction sharding for improved transaction throughput
JP2020126515A (en) Information processing system, processing server, information processing method, and program

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