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