CN102917018B - The load balance of end points - Google Patents

The load balance of end points Download PDF

Info

Publication number
CN102917018B
CN102917018B CN201210338804.3A CN201210338804A CN102917018B CN 102917018 B CN102917018 B CN 102917018B CN 201210338804 A CN201210338804 A CN 201210338804A CN 102917018 B CN102917018 B CN 102917018B
Authority
CN
China
Prior art keywords
user
long
virtual machine
session
desktop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210338804.3A
Other languages
Chinese (zh)
Other versions
CN102917018A (en
Inventor
M·达斯
S·亚达夫
A·坎德哈雷
S·马尔帕尼
R·拉蒂南
J·蒂亚加拉简
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102917018A publication Critical patent/CN102917018A/en
Application granted granted Critical
Publication of CN102917018B publication Critical patent/CN102917018B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

The present invention discloses the load balance of end points. In cloud computing architecture, it provides a kind of for balancing client session so that the mechanism of the quantity of managing virtual machines efficiently across virtual machine. In certain embodiments, at the sum of the virtual machine of minimumization simultaneously across session distributing user to reduce power consumption, cooling and other cost reasons. In an embodiment, the session having in the virtual machine of low activity is transferred to the virtual machine with higher session speed, to allow the virtual machine closing low rate of utilization. In another embodiment, distribute new user's session according to minimum performance standards.

Description

The load balance of end points
Technical field
The present invention relates to balancing user session between each end points.
Background technology
The form of a kind of increased popularity of networking is commonly referred to as telepresence system, and it can use other application that the such as agreement such as long-range desktop agreement (RDP) and independent counting system structure (ICA) is come and long-range client terminal is shared desktop and performed on the server. Cloud computing refers to for allowing the computing environment that shared calculating resource pond carries out on-demand network access. Many cloud computing services relate to the resource of all those virtualization as described above, and the instrument based on web or the form of application can be taked, the instrument of these web or be applied on the server in cloud to run, but user can be accessed by web browser and use, just look like them it is that the program being installed locally on the computer of user oneself is such. The resource of virtualization is hosted in the computing system being arranged in and calculating Data centre usually.
Summary of the invention
Disclose for balancing client session so that the method for the quantity of managing virtual machines and system efficiently across virtual machine. In certain embodiments, at the sum of the virtual machine of minimumization simultaneously across session distributing user to reduce power consumption, cooling and other cost reasons. In an embodiment, the session having in the virtual machine of low activity is transferred to the virtual machine with higher session speed, to allow the virtual machine closing low rate of utilization. In another embodiment, distribute new user's session according to minimum performance standards.
Accompanying drawing explanation
The system of the calculating architecture for managing virtual according to this specification sheets, method and computer-readable medium is further described with reference to accompanying drawing, in the accompanying drawings:
Fig. 1 depicts the example computing device that wherein can realize each aspect of the present invention.
Fig. 2 depicts the example computing device that wherein can realize each aspect of the present invention.
Fig. 3 depicts the example computing device comprising Data centre.
Fig. 4 depicts the operating environment of Data centre.
Fig. 5 depicts the operating environment for implementing each aspect of the present invention.
Fig. 6 shows the exemplary architecture for implementing some method disclosed herein.
Fig. 7 shows the example block diagram describing some method disclosed herein.
Fig. 8 shows the example block diagram of the calculating assembly describing cloud data, services.
Fig. 9 shows the example block diagram of the storage assembly describing cloud data, services.
Figure 10 shows the example block diagram of the structure control device assembly describing cloud data, services.
Figure 11 shows the example block diagram of the CDN assembly describing cloud data, services.
Figure 12 shows the example block diagram of the tie-in module describing cloud data, services.
Figure 13 shows the example embodiment of method disclosed herein.
Figure 14 shows the example embodiment of method disclosed herein.
Figure 15 shows the example of the operating process for implementing each side of the present disclosure.
Figure 16 shows the example system for implementing each aspect of the present invention.
Figure 17 shows the example embodiment that user data loads scene.
Figure 18 shows the example embodiment of load balance scene.
Specific embodiment
The following description and drawings illustrate some detail, to provide the complete understanding to each embodiment of the present disclosure. Usually do not describe in following discloses with some well-known details calculated and software engineering is associated, unnecessarily make each embodiment of the present disclosure hard to understand to avoid. In addition, those of ordinary skill in the related art can understand, and they can realize other embodiment of the present disclosure without the need to one or more in details described below. Finally, although with reference to step and sequence in following discloses to describe each method, but so to describe be clear realization in order to provide embodiment of the present disclosure, and step and sequence of steps are not considered as, and to realize the disclosure necessary.
It is to be understood that various technology described herein can combined with hardware or software, or combination in conjunction with both realizes when suitable. Therefore, method of the present disclosure and device or its some aspect or part, the program code in tangible mediums such as being included in such as floppy disk, CD-ROM, hard disk drive or other machinable medium any can be adopted (namely, instruction) form, wherein, the machines such as such as computer it are loaded on and when running by it, this machine becomes for realizing device of the present disclosure when program code. When program code performs on programmable computers, calculating equipment generally includes treater, storage media that this treater can be read (comprising volatibility and nonvolatile memory and/or storage element), at least one input unit and at least one output equipment. One or more program such as, can realize with the use of API (API), reusable control etc. or utilize in conjunction with the process that the present invention describes. Such program preferably realizes with high level procedural or Object-Oriented Programming Language, with computer system communication. But, if needed, this program can realize by assembly language or machine language. In any case, language can be compiler language or interpretative code, and combines with hardware implementing.
Remote desktop system is the computer system safeguarding the application that remotely can perform by client computer system. Input is transfused at subscriber's computer system place, and by application that network (such as, it may also be useful to based on Union Internationale des Telecommunications (ITU) the T.120 agreement such as serial protocols, such as long-range desktop agreement (RDP)) is sent on terminal server. This application processes this input as this input the input of terminal server place. This application generates output in response to received input, and by network, this output is sent to client terminal.
Each embodiment can perform on one or more computers. Fig. 1 and discussion below aim to provide the concise and to the point general remark of the suitable computing environment that wherein can realize the present invention. It will be appreciated by those skilled in the art that, computer system 200,300 can have part or all in the assembly described relative to the computer 100 of Fig. 1.
The term circuit running through disclosure use can comprise the hardware assemblies such as such as hardware interrupt controller, hard disk drive, network adapter, graphic process unit, hardware based video/audio codec, and for operating the firmware/software of these hardware. Term circuit also can be comprised and being configured to by firmware or the microprocessor being carried out n-back test in a specific way by switch collection, or one or more logic processor, such as, and one or more cores of multinuclear general procedure unit. Logic processor in this example can such as, by from storer, the embodiment loaded in RAM, ROM, firmware and/or virtual memory can operate and configure with the software instruction of the logic of n-back test. Circuit comprises in the example embodiment of the combination of hardware and software wherein, it is achieved person can write the source code of specific logic, and this source code is compiled into the machine readable code that can perform by logic processor subsequently. Because those skilled in the art can understand prior art and evolve to and almost do not have differentiated stage between the combination of hardware, software or hardware/software, thus selecting hardware or software to carry out practical function is a design alternative. Therefore, owing to it will be appreciated by those skilled in the art that software process can be transformed into the hardware structure of equivalence, and hardware structure itself can be transformed into the software process of equivalence, hardware implementing or software simulating is therefore selected to be insignificant and left the person of realization for.
Fig. 1 depicts the example of the computing system being configured with each aspect of the present invention. Computing system can comprise computer 20 etc., comprising processing unit 21, system memory 22, and the various system components comprising system memory is coupled to the system bus 23 of processing unit 21. System bus 23 can be any one in the bus structure of some types, comprises the storer bus of any one in the various bus architecture structure of use or storer controller, peripheral bus and local bus. System memory comprises read-only storage (ROM) 24 and random access memory (RAM) 25. Basic input/output 26(BIOS) it is stored in ROM24, this basic input/output 26 contains and such as helps the basic routine transmitting information between elements within the computer 20 between the starting period. Computer 20 can also comprise the hard disk drive 27 for reading writing harddisk (not shown), for reading and writing the disc driver 28 of moveable magnetic disc 29, and the CD drive 30 for the removable CD 31 of reading and writing such as CDROM or other optical mediums and so on. In some example embodiments, the computer executable instructions implementing each side of the present disclosure can be stored in the high-speed cache of ROM24, hard disk (not shown), RAM25, moveable magnetic disc 29, CD 31 and/or processing unit 21. Hard disk drive 27, disc driver 28, and CD drive 30 is respectively by hard disk drive interface 32, disk drive interface 33, and CD drive interface 34 is connected to system bus 23. Driving mechanism and their computer-readable mediums of being associated are that computer 20 provides computer-readable instruction, data structure, programmodule, and the non-volatile memory of other data. Although environment described herein employs hard disk, moveable magnetic disc 29 and removable CD 31, but, those it should be understood by one skilled in the art that, can also use the computer-readable medium of such as other types that can store the data that can conduct interviews by computer of magnetictape cartridge, flash card, digital video disc, Bernoulli Jacob's tape cassete, random access memory (RAM), read-only storage (ROM) etc in operating environment.
Some programmodules can be had to be stored on hard disk, disk 29, CD 31, ROM24 or RAM25, comprise operating system 35, one or more application program 36, other programmodules 37 and program data 38. User can input order and information by the input unit of such as keyboard 40 and pointing device 42 and so in computer 20. Other input unit (not shown) can comprise microphone, game bar, game handle, satellite dish, scanner etc. These and other input unit is connected to processing unit 21 often through the serial port interface 46 being coupled to system bus, however, it may also be possible to connected by other interfaces of such as parallel port, game port, general serial bus (USB) and so on. The display equipment of indicating meter 47 or other types can also be connected to system bus 23 by the interface of such as video adaptation device 48 and so on. Except indicating meter 47, computer generally includes other peripheral output devices (not shown), such as loud speaker and printer. The system of Fig. 1 also comprises main frame adapter 55, small computer system interface (SCSI) bus 56, and is connected to the exterior storage equipment 62 of SCSI bus 56.
Such as, the logic that computer 20 can use one or more remote computation machine (remote computation machine 49) connects and operates in networked environment. Remote computation machine 49 can be another computer, server, router, network PC, equity equipment or other common node of network, virtual machine, and generally include above relative to the many or whole element described by computer 20, but merely illustrate memory storage device 50 in FIG. Logic depicted in figure 1 connects can comprise local area network (LAN) 51 and Wide area network (WAN) 52. Such networked environment is general in the computer network of office, enterprise-wide, Intranet and Internet.
When used in a lan networking environment, computer 20 is connected to LAN51 by network interface or adapter 53. When used in a wan networking environment, computer 20 can generally include modulator-demodulator unit 54, or for being set up other means of communication by the Wide area network 52 of such as Internet and so on. The modulator-demodulator unit 54 that can be built-in or external is connected to system bus 23 by serial port interface 46. In networked environment, can be stored in remote memory storage device relative to the programmodule shown in computer 20 or its part. It can be appreciated that shown network connects just example, it is possible to use for setting up other means of communication link between the computers. In addition, although being particularly useful for computer system it is conceivable that many embodiments of the present invention, but do not mean that herein and the disclosure is limited to these embodiments.
With reference now to Fig. 2, what describe is the high level block diagram of the computer system being configured to realize virtual machine. As shown in the figure, computer system 100 can comprise the element described in Fig. 1 and 2, and can be used for realizing the assembly of virtual machine. Such assembly is the system supervisor (hypervisor) 202 that also can be called as virtual machine monitor in the art. System supervisor 202 in the embodiment described can be configured to control and arbitrate the access of the hardware to computer system 100. Generally, system supervisor 202 can generate the execution environment being called subregion, as sub-subregion 1 to sub-subregion N(wherein N be more than or equal to 1 integer).In embodiments, sub-subregion can be considered as the basic isolation unit that system supervisor 202 is supported, namely, one group of hardware resource that each sub-subregion can be mapped under the control of system supervisor 202 and/or father's subregion, such as storer, equipment, logic processor cycle etc., and system supervisor 202 can be isolated a subregion and made its resource that cannot access another subregion. In embodiments, system supervisor 202 can be independent software product, in the part of operating system, the firmware being embedded in mainboard, special unicircuit, or its combination.
In the above examples, computer system 100 comprises father's subregion 204, and father's subregion also can be considered as territory 0 in open source community. Father's subregion 204 can be configured to provide resource with the use of virtualization services to the objective operating system performed in sub-subregion 1-N. Each sub-subregion can comprise one or more virtual treater, and such as visitor's operating system 220 to 222 can manage the virtual treater 230 to 232 that also scheduling thread performs thereon. Generally speaking, virtual treater 230 to 232 is to provide performed instruction and the associated state information of the expression of the concurrent physical processor with particular architecture. Such as, a virtual machine can have the virtual treater with Intel x86 treater characteristic, and another virtual treater can have the characteristic of Power PC Processor. Virtual treater in this example can be mapped to the logic processor of computer system so that the instruction realizing virtual treater will be subject to the support of logic processor. So, in these example embodiment, multiple virtual treater can perform simultaneously, and the positive executive system supervisory routine instruction of such as another logic processor simultaneously. And as shown in the figure, generally speaking, virtual treater and the combination of storer in subregion can be considered as virtual machine, such as virtual machine 240 or 242.
Generally speaking, visitor's operating system 220 to 222 can comprise such as, such as, from Any operating system of the operating system of open source community etc. and so on. Visitor's operating system can comprise user/kernel operations pattern, and can have the kernel comprising scheduling device, memory manager etc. Interior kernel normal form can comprise the execution pattern in logic processor, and this execution pattern authorizes the access at least privilege processor instruction. Each visitor's operating system 220 to 222 can have the file system being associated, and this file system stores the application such as such as terminal server, E-business service device, e-mail server and visitor's operating system itself. Visitor operating system 220-222 can to perform on virtual treater 230-232 by scheduling thread, it is possible to realizes the example of such application program.
Fig. 3 and following description aim to provide the brief, general description of the example computing device that wherein can realize each embodiment described herein. Specifically, Fig. 3 depicts the illustrative operatinr environment 300 comprising the Data centre 308 calculating resource for providing. Data centre 308 can be provided for performing the calculating resource of application and provide data, services on continuous print or basis as required. The calculating resource that Data centre 308 provides can comprise various types of resource, such as data processing resource, data storage resource, data resource communication etc. The calculating resource of each type can be general or can be available in multiple customized configuration. Such as, data processing resource can for use as virtual machine instance. Virtual machine instance can be configured to perform application, comprises Web server, application server, media services device, database server etc.Data storage resource can comprise file-storage device, block storing device etc. Data centre not only comprises virtual machine and calculates resource, also comprises multiple physical computing devices, and described physical computing devices can be configured to run one or more virtual machine, and described virtual machine can be moved to carry out load balance across physical resource.
The calculating resource that Data centre 308 provides can be enabled by one or more independent Data centre. Data centre 308 unifies the framework of the assembly being associated for holding and operate department of computer science. Data centre 308 generally includes redundancy and power supply for subsequent use, communication, cooling and security system. Data centre 302 also can be located at geographically different positions. Describe hereinafter with reference to Fig. 3 and realize concept disclosed herein and technology to dispose an illustrative configuration of the Data centre 308 of the calculating architecture of virtualization scalablely.
The calculating resource that the client of Data centre 308 and other users provide by network 306 visit data center 302. It is to be understood that Data centre 308 is connected to long-range user local area network (" LAN "), Internet or any other networking topological framework known in the art can be used. It should also be understood that the combination of this type of network also can be used.
User's computer 304 can be the computer that the client of Data centre 308 or other users use. Such as, user's computer 304 can be server computer, desktop computer or Personal Computer on knee, thin client, tablet PC, wireless telephony, personal digital assistant (" PDA "), electronics reader, game console, Set Top Box or any other of visit data center 308 can calculate equipment.
The each side of the calculating resource that user's computer 304 provides for configuration data center 308. In this, Data centre 308 can provide web interface, and the Web browser application program that each side of the operation of this Data centre performs by being used on client computing system 304 configures. Alternatively, the independent utility program performed on client computing system 304 may have access to the API (" API ") shown by Data centre 308 and performs configuration operation. Also can use other mechanism of the operation for configuration data center 308, comprise and upgrading to application deployment.
Fig. 4 depicts a computing system figure, the figure shows a kind of configuration of Data centre 308, comprises the concept for scalable the calculating architecture disposing virtualization disclosed herein and technology. Fig. 2 comprises the server computer 402 calculating resource for execution application for providing. Server computer 402 can be the standard server computer being suitably configured to and providing above-mentioned calculating resource. Such as, in one implementation, server computer 402 is configured to offer process 406.
In one embodiment, process 406 can be virtual machine instance. Virtual machine instance can be the example of the software simulating of the machine (i.e. computer) of very steering routine as physical machine steering routine. In the example of virtual machine instance, each server 402 can be configured to the Instance Manager performing to perform example. Instance Manager can be system supervisor or the program being configured to such as realize on single server 402 another type of the execution of multiple process 406.
Although it is to be understood that some embodiment disclosed herein is discussed in the context of virtual machine instance, but the example of other types also can be used for concept disclosed herein and technology.Such as, technology disclosed herein can be used for the example of storage resources, process resource, the example of data resource communication and the resource for other types. Each embodiment disclosed herein also can be used for not utilizing the computing system of virtual machine instance, namely uses the computing system of the combination of physical machine and virtual machine.
In the example data center shown in Fig. 4, LAN401 is used to interconnect with server computer 402. LAN401 also can be connected to the WAN306 shown in Fig. 3. It is to be understood that the network topology structure shown in Fig. 3 and 4 is greatly simplified, and much more network and networked devices can be utilized to the various computing systems disclosed herein that interconnect. Suitable load balance equipment or software module are also used in and carry out load balance between each server computer 402 between Data centre, in each Data centre and between the example 406 bought by each client of Data centre. These network topology structures and equipment should be apparent to those skilled in the art.
Such as, what cloud computing referred generally to is the computing environment of the on-demand network access for realizing the shared pond to all calculating resources (application, server and storage) as described above. This type of computing environment can be come to supply fast and discharge with minimum management work or ISP alternately. Cloud computing service does not require that terminal user knows physical location and the configuration of the system of delivery service usually. Service can be based on consumption and send via Internet. Many cloud computing services relate to the resource of all those virtualization as described above, and can take that user can be accessed by web browser and use based on the instrument of web or the form of application, just look like them be that the program being locally arranged on the computer of user oneself is such.
Cloud computing service is structured on the platform of certain type usually. For, such as some application of Data centre's internal operation of tissue, this type of platform can comprise operating system and be configured to store the data storage service of data. Operate in the application in cloud and can use similar basis.
Fig. 5 provides the further details of the example environment shown in Fig. 3. The Administrator at user's computer 304 place can set up desktop configure 501, comprises mark operating system, application, strategy and stores setting. This type of preference can be changed by Administrator, and the supplier served can for providing the configuration asked to charge to Administrator.
Further describing in one embodiment and such as Fig. 6, cloud service can realize the system structure comprising four layers of stack as follows:
Cloud computing platform 601, is configured to provide resource to support cloud service
Desktop supply and management level 602, for creating and management cloud computing assets, described cloud computing assets make application supplier can provide the desktop etc. that application, enterprise desktop supplier and desktop retailer could create and manage desktop, user can be connected to them. The logical view of application and desktop can be converted to the physical asset of cloud computing platform by this layer.
Application supplier/enterprise desktop supplier/desktop retailer/Consumer's Experience layer 603, for each entity in the entity of above-mentioned Four types provides unique end-to-end experience.
Perpendicular layers 604, for specific user organizes the one group of customized experiences providing and providing by desktop retailer.
In an embodiment of cloud computing platform, it may be achieved stamp (stamp) also uses stamp to define isolation unit, and stamp can be configured to define traditional long-range desktop and dispose.Can provide and safeguard client's artifact and voucher, across stamp load management and supply stamp and adjust the long-distance tabletop control device assembly of the size of stamp. Long-distance tabletop control device also can create and manage application and desktop. Specific endpoints provides the virtual Equivalent of user's desktop, and (or multiple) stamp provides company to calculate the virtual Equivalent of architecture.
Each layer mentioned above can relate to multiple assembly. This class component can be included in the following assemblies hereinafter further described.
Calculate assembly (such as, Fig. 8), run the application in cloud.
Store assembly (such as, Fig. 9), store the scale-of-two in cloud and structurizing data
Structure control device assembly (such as, Figure 10), deployment, management and supervision application. Structure control device also processes on whole platform the renewal to system software
Content delivery network (CDN) assembly (such as, Figure 11), improves the global access speed of these data by the copy of the high-speed cache of the data safeguarded in worldwide in cloud storage.
Tie-in module (such as, Figure 12), allows to create IP layer between local computing machine and cloud are applied and connects.
With reference to the Fig. 8 describing to calculate assembly 810, application can be implemented as one or more role 800801802 as above. Cloud service propagates, across role, the Multi-instance asking to run each role by use load balance.
Door can be provided so that application is submitted to cloud service to developer. Door can be configured to receive configuration information, and this configuration message notice each role of cloud platform to be run how many examples. Structure control device assembly can be each example establishment virtual machine (VM) and is suitable role's operation code in this VM. The request carrying out the user of self-application can use the agreement of such as HTTP, HTTPS and TCP and so on to make. Request can carry out load balance across whole examples of a role.
With reference to the Fig. 9 describing to store assembly 910, cloud platform can provide the data using multiple data structure and form to store. Such as, the non-structurizing agglomerate that data storage can be used as binary data provides. Metadata can be used for providing the information about content. In order to allow application data to be operated in the way of more structurizing, cloud stores service can provide being stored as the group of entities being associated with attribute. The device of data query also can be provided to application, such as such as comprise the API of search parameter. In addition, cloud storage can provide a kind of for the mode of web role instance and worker's role instance asynchronous communication. Such as, user can submit to ask with via the web interface realized by web role to perform the task of certain computation-intensive. Message write can be described the queue 902 of the work to be completed by the web role instance receiving this request. The worker's role instance waited in this queue can read the task that this message also performs to specify subsequently. Result can return via another queue.
Cloud stores service reproducible data is to provide fault-tolerant. In addition, data can be backed up another Data centre being replicated in and being arranged in different physical location to realize the operability of redundancy and enhancing.
With reference to Figure 10, structure control device assembly 1000 can be the Distributed Application copied across one group of machine. Structure control device assembly can be configured to the whole resources having in its environment, such as computer, exchange board and load balance device. Structure control device assembly 1000 also can monitor the application run, it is determined that where new opplication should run, and selects physical server to optimize hardware utilization.Structure control device assembly also can be configured to start, monitors and terminate virtual machine.
In one embodiment and with reference to Figure 11, data copy can be stored in from using the website place close to the client computer 1000 of these data by cloud service. Such as, during user's first time access particular data fragment, the copy of these data can be stored (i.e. high-speed cache) geographically from the position close to this user by content delivery network assembly. When accessing these data next time, content can from high-speed cache but not send from farther source.
In one embodiment and with reference to Figure 11, in order to the application that uses in sustentacular tissue and data, local environment can be connected with cloud service. In one embodiment, this type of combination is by providing IP layer connectivity to realize in cloud application and between the machine of cloud outside operation. Endpoint proxy 1201 can be installed on each local computing machine 1202 being connected to cloud application. Cloud application also can be configured to work together with cloud tie-in module 1200. Agency can use the agreement of such as IPsec and so on to come with the specific role in this application mutual. With the use of this type of agency, the potential complicacy configuring the agreement of such as IPsec agreement 1203 and so on may be transparent for user, provides simultaneously and more simply connects than the method for such as virtual private network (VPN) and so on. Once establish connection, the role in cloud application can seem as on the local machine on same IP network.
Connecting by setting up this type of, cloud application can direct access local database. Cloud application also can add (domain-join) in local environment in territory, thus allows the single login that local user applies to cloud, and use is used for existing activity content account and the group of access control.
In embodiments, long-range Desktop Computing can being provided to experience, wherein desktop supplier can provide desktop pond flexibly, and the mode that Administrator can be almost identical with managing single user's desktop with supply easily is supplied from this pond and manages multiple user's desktop. Long-range desktop user therefore can be provided always can with, without the need to management process and based on consumption come charging desktop experience. For application supplier, the conventional desktop that this type of service can make to apply supplier and provide to user with minimum work web application form is applied.
Start to adopt long-range or virtual desktop along with enterprise as centralization to the means of safety and the management of compatible employee's desktop, the desktop environment of isomorphism can be provided for IT Administrator in case control and minimum chemical conversion this will be favourable. Therefore, multiple platform that is long-range or virtual desktop can be provided to provide scalable with low cost and the computing environment of isomorphism. By building trustship desktop solution on cloud platform in the way of similar with the computation model of isomorphism, IT Administrator can be provided the environment that can greatly reduce costs compared with the alternative of traditional " desktop as service ".
Cloud computing platform can be configured to operate together with supplier with multiple user and provide benefit to the plurality of user and supplier. Such as, for provide the application supplier of application to enterprise desktop supplier or desktop retailer for, cloud computing platform can be configured in scalable cloud model supply and sell traditional desktop application. Can make to apply supplier can create the application supplier's account with account of payment information, upload application bag, test in selected operating system upload application, application market on cloud issues application, monitoring application uses and arranges user's charge of each user.
For creating and/or manage the enterprise desktop supplier of desktop, the desktop that cloud platform can be configured to comprise application bundle is supplied to user's group with similar requirement.Such as, user's group can be all the employee of same enterprise customers. Can make desktop supplier can create enterprise desktop supplier's account and such as via credit card or other credit frameworks to provide credit information. Can make the desktop supplier can by such as from cloud Market Selection OS version with compatible should be used for creating the application of desktop, as required upload additional and select delivery modality, namely desktop experience or remote application are sent completely further. Also can make that desktop supplier can provide voucher to realize from desktop the access of the local activity catalogue of client, the user to the application desktop accesses, sets up as desktop user the URL of webpage and the access connection activity of user and forbids/enable access to control to realize the access to desktop, Provisioning Policy to add user.
Desktop retailer can be create and/or management as the entity of service sales to the desktop of user. Desktop retailer can be made can to perform the ability similar with enterprise desktop supplier, such as create desktop retailer's account, for long-distance user create registration and connect scene, by creating the application of one or more desktop and upload additional from cloud Market Selection OS version and compliant applications and select delivery modality. Also can make desktop retailer can Provisioning Policy to manage, the user to the application on desktop accesses, and automatically or manually provide OS and application upgrade. Also can make desktop retailer can check connection activity and forbid/enable access, monitoring desktop uses and receives the payment from user.
User can be the entity identified of the desktop that access is supplied by enterprise desktop supplier or desktop retailer. User can access desktop via cloud platform from any position, browse to desktop services URL and log in and access the service supplied. In certain embodiments, user can be provided the desktop environment list that can login to user.
With reference to Figure 13, show the example block diagram described for the process providing long-range desktop services in cloud computing framework. User can access the webpage of the access point being provided to long-range desktop services via browser, and described long-range desktop services requires to user-accessible and configuration according to the IT department of user. User can use the voucher being supplied to user to carry out login system. Voucher can be the open ID of such as WindowsLiveID or OpenID() and so on lasting ID. User will be redirected to certificate server subsequently, and this certificate server can require to be inputted user name and password by secure connection. Once by certification, user can be issued password lasting for this user, and described password is provided to other services so that the mandate that no longer needs to add. In one embodiment, even if desktop conversation end, password may be lasting for this user, except non-user explicitly is published from session.
A kind of mechanism for automatically signing in the system based on cloud can be provided, in the described system based on cloud, single user certification and authorize process grant user access user have access license the system based on cloud in resource and without the need to inputting repeatedly password. There is provided single login allow user log in once and access multiple application and without the need to inputting more password. Single login, by maintained password quantity promoting security and efficiency via minimizing, caters to the need for enterprise.For cloud service provider, single login is weighed and provide better Consumer's Experience without the need to additional certification work by the access that permission user is bigger.
May not accept to serve the board that makes generated by single login based on the service of cloud and log in voucher. Such as, web-ID supplier or single login service can point out single voucher to user, and service can generate and can be used for being connected to other warrants served or making board. The example of this type systematic comprises Windows, Linux and iOS. Give the user in local manufacturing enterprises territory such as the single login of the application run in cloud service to be catered to the need.
In one embodiment, when user signs in the desktop based on cloud and provides Service Ticket, can automatically generate and keep one-time password. The one-time password generated can be used for automatically signing in other processes based in the system of cloud. In one embodiment, the one-time password generated can be held till user's explicitly publishes. Therefore, even if when desktop session is surprisingly terminated, password also can be kept.
In another embodiment, user can have the account of the service of the integrated online services for providing such as WindowsLive or Yahoo and so on. This type of service can provide all if the service of the e-mail and multimedia service and so on that use single user ID and password to access and software product collection. In one embodiment, the user of this type of integrated service also can be provided the option of accessing described above based on the calculation services of cloud. Therefore, when user have selected the calculation services based on cloud as this type of integrated service a part of, once user has logged in service, then can present to user and access the calculation services based on cloud and ask the option of long-range desktop session. Because the service based on cloud of such as long-range desktop and so on may not accept the voucher from integrated service, so can generate with the account of one-time password allowing user to access desktop session based on the service of cloud. The details of one-time password need not be supplied to user, because this password only exists during session or only exists to user publishes. In one embodiment, one-time password can be kept so that user can be back to desktop and need not heavily open login process when desktop is easily disconnected unintentionally connection.
In the embodiment shown in Figure 14, client computer 1404 can input the URL of the service homepage 1400 based on cloud of his company. Alternatively, user can input the URL of integrated online services. User can be directed to the on-line authentication service 1404 pointing out Service Ticket to user. On-line authentication service 1401 can be the service that the Administrator of user uses, and the credential information of user can be supplied to cloud service by Administrator, thus authorization service creates user profiles and allows user start and access desktop. Alternatively, on-line authentication service 1401 can be provided by integrated online services. Once user is through certification, this user is directed to homepage 1402, and this user can use the voucher served by on-line authentication and provide to access cloud service 1410. Cloud service 1410 generates one-time password 1405 and/or temporary user account, and the one-time password of user is sent out 140 to end points 1407. As mentioned above, it is necessary, end points 1407 can be user's desktop session.
One-time password can based on on-line authentication service reception to voucher generate. In one embodiment, during the local voucher that password can be stored in the virtual machine of main memory user's session stores.Therefore, password is not maintained in user profiles along with user, thus allows the security strengthened and avoid cloud service to be the needs that each user safeguards password.
The multiple desktops can selected and log in can be presented to user, such as, engineering desktop, finance desktop etc. Such as, each desktop can customize for specific function. Specific desktop can be presented to user based on the mandate of predefine. Once user have selected desktop, can be the desktop example that this user's instantiation is new. If previous desktop example is selected, then can recover and the session that previous desktop example is associated. The session of the session of this user and other users can be used as the end points in the virtual machine of main memory this type of session multiple and is activated. The profile preserved can be associated with each end points that is that be created or that be resumed, described profile comprises from the user preference of previous session and status information and for safeguarding other information needed for User Status, thus the session of user can be kept, suspends and recover. Generally, desktop can by operating system, apply and arrange and form. What desktop example referred generally to is that desktop adds specific user profiles. In some cases, desktop example and desktop session can use interchangeably.
In one embodiment, can be extra user and start multiple session. With reference to the example embodiment shown in Figure 14, when extra user signs in system, can instantiation corresponding to multiple sessions of multiple end points. In addition, user can comprise multiple user types that the Administrator such as user's group defines. Such as, as shown in the figure, multiple users of type 1 and type 2 can sign in system and start session. Such as, type 1 can be finance type desktop and type 2 can be engineering type desktop. Certainly, other example is also possible. Virtual machine can be configured to multiple sessions of the one or more type of main memory. In one embodiment, number of sessions can configure independent of the bottom virtual machine of each user's session of main memory. When user's session that instantiation on a virtual machine is extra, extra virtual machine can be started. In one embodiment, one group of multiple long-range desktop session can be configured to perform on a virtual machine. When the more long-range desktop session of needs, another virtual machine can be started. Elastic virtual machine pool can be provided, so that at any time can dynamically adding session and understanding the bottom details providing the structure served without the need to terminal user or Administrator.
Because user can be assigned from the VM end points in available virtual machine (VM) end points pond, when therefore user logs in next time, user can be connected to any one the VM end points in this pond. In order to create self-defined desktop experience for user, user preference and state data can be preserved. Whenever in one embodiment, user preference and state data can be saved to the data set can being associated with user, so that user logs in and when being assigned with desktop, can obtain user preference and state data thus can recover the desktop state that user is previous. Therefore, such as, if user is associated with the session (i.e. end points) on the first virtual machine and the different sessions that is assigned with on different virtual machine after a while, then from user's desktop state of the first virtual machine for the session on the 2nd virtual machine generally by unavailable. But, according to an aspect of the present invention, User Status is saved independent of session and specific VM end points. As described in the present invention, this type of user data collection can be known as virtual profile. In embodiments, virtual profile can be implemented and be known as virtual hard or virtual hard disk (VHD).Thus, when session connection on user and different virtual machine, previous User Status can be migrated to new session. This feature allows to be designed to provide particular type so that each specific user to have the single host table of self-defined sensation. Result is that the user of the session-context that other aspects are general perceived as and has personal desktop's the look and feel.
As discussed above, during the process of user's session, the long-range access that client computer can open and close cloud service connects, and during any given connection, client computer can change the setting in session and preference. There has been described a kind of for supplying the mechanism that long-range desktop safeguards user individual in based on the architecture of cloud simultaneously. Based on, in the system of cloud, user possibly cannot reconnect to same virtual desktop always. In one embodiment, the virtual profile distributing to user can be loaded onto the end points distributing to user. Such as, virtual profile can comprise the information of such as users personal data and customized information (setting, profile, file, application data etc.) and so on.
When user disconnects from long-range desktop or publishes from long-range desktop, virtual profile is unloaded and be saved for subsequent user session from this end points. Therefore virtual profile saves the information of User Status when disconnecting about user and provides this information for starting user's session next time as required.
Because user can be assigned from the VM end points in available VM end points pond, when therefore user logs in next time, user can be connected to any one the VM end points in this pond. In order to create self-defined desktop experience for user, the preference being saved of user and state data can be used for providing self-defined desktop experience, and the particular VM end points no matter user is connected to.
Although term virtual profile and VHD are for describing the data structure for preserving user preference and status information, it is understood that the present invention is not intended to be limited to any specific file or data layout. In one embodiment, virtual profile or VHD can be the virtual hard disk file forms being configured to the usual data found on physical data disk drive.
At first, virtual profile or VHD can fill with can be used for the data according to carrying out configure user desktop by the standard table top configuration that such as company IT Administrator defines. Therefore, virtual profile or VHD can comprise the data of " gold image " desktop configure of standard (that is, for user role) of definition desktop. But, when user uses specific long-range desktop and starts by such as changing wallpaper, interpolation music, preserve the next self-defined desktops such as local document, this information is stored in virtual profile or VHD, and when user is connected to the long-range desktop of standard each time afterwards, just it is used for the look and feel that the data of self-virtualizing profile or VHD carry out filling to provide self-defined Consumer's Experience.
The arbitrary combination of user type (i.e. table-top type) can be defined in the boundary on single cloud service border. Such as, the cloud service border 1410 single service boundaries of definable, described single service boundaries as defined and is configured for and is supplied to specific company and can use the services set that predefined URL accesses, when inputting described URL via browser, the service of signing in can be provided for and access the web interface of the desktop of the service that is configured for.
In one embodiment, when asking user's session, the connection of Connection Proxy can be asked at first.The stamp that Connection Proxy can be determined with the user's session asked is associated, and select the virtual machine of the user's session in the stamp that positive main memory identifies. Such as, if request instruction needs user's session, then Connection Proxy can search for the database comprising IP address port number combinations or network identifier to find the suitable virtual machine being just hosted on Cloud Server. Connection Proxy can generate redirect request, and described redirect request makes user's session be associated with the virtual machine identified.
With reference to the embodiment described in Figure 17, end points notified 1700 users can log in system. The virtual profile of systematic search 1701 also determines that the virtual profile of user has existed 1702. If there is no the virtual profile of user, then create virtual profile 1703. If the virtual profile of user has existed or if virtual profile is created, then the virtual profile of user is moved into end points 1704. User's desktop session can be activated 1705. When determining that user publishes 1706, virtual profile is from end points unloaded 1707 and is saved for follow-up use.
The load balance of end points
In one embodiment, it provides a kind of for balancing client session so that the mechanism of the quantity of managing virtual machines efficiently across virtual machine. In certain embodiments, at the sum of the virtual machine of minimumization simultaneously across session distributing user to reduce power consumption, cooling and other cost reasons. In an embodiment, the session having in the virtual machine of low activity is transferred to the virtual machine with higher session speed, to allow the virtual machine closing low rate of utilization. In another embodiment, distribute new user's session according to minimum performance standards.
This load balance can balance tolerance according to predetermined load and perform. Load balance tolerance can be determined so that optimize the calculating resource being assigned with to carry out the service of institute's main memory significantly for power, CPU rate of utilization and other factors. Many Data centres distributes calculation resources, evenly to balance the process of main memory between these resources, does not have resource overload to guarantee. But, this distribution strategy causes the resource of bigger quantity to power on and be not fully used.
In one embodiment, it may be determined that load balance is measured with the load between EQUILIBRIUM CALCULATION FOR PROCESS resource, so that calculating the new user's session of main memory in resource so that the sum of minimumization host computing device significantly. Such as, if the first calculating resource is by medium utilization, the 2nd calculating resource has low utilization ratio, then can load new user's session in this first calculating resource, so that when existing user's session is terminated, the calculating resource with low utilization ratio can be closed, thus heart place produces higher power utilization efficiency in the data.
It should be noted that calculate resource can refer to the such as virtual resource such as the hardware resource such as server and storage unit and such as virtual machine. Such as, as mentioned above, it is necessary, multiple cloud user's session can be distributed to one or more virtual machine. Such as, Data centre can realize the strategy of wherein each virtual machine main memory 16 cloud user's sessions. User's session can be distributed to virtual machine that is medium and height load by load balance tolerance, so that the virtual machine maximally utilizing load also reduces the sum of the virtual machine performed.
Therefore, in an embodiment, new user's session can be distributed to the available computational resources of the session of the maximum quantity of main memory. In another embodiment, each calculates resource can be classified as to have in low, neutralization high capacity utilization ratio grade, and in the following order new user's session can be distributed to calculating resource: middle and high and low.Can using other classification schemes, target is distribution session so that utilizing the resource of minimum quantity at any given time.
In one embodiment, user's session and the data that are associated thereof and application can balance tolerance according to predetermined load and be transferred to another and calculate resource. When user nullifies and user's session is terminated, it is possible to redistribute existing user's session to reduce the sum of the calculating resource operated. Such as, the user session of main memory in the calculating resource being classified as low utilization ratio can be transferred to the calculating resource being classified as high utilization rate, closes, to allow, the calculating resource being classified as low utilization ratio.
Load balance tolerance can according to except power consumption because usually determining. Such as, load balance tolerance can be determined according to minimum performance standards. This standard can consider to provide the session loading scheme of more powerful overall performance. Such as, the system cost such as such as power can for providing higher network performance and thus provide the session load of better Consumer's Experience to distribute and balance.
Figure 18 shows according to one embodiment of present invention. User can log in 1800 to the service based on cloud. Should can determine whether user's session has been present in end points 1802 based on the service of cloud. If it does, then this user to be distributed the end points that 1804 arrive this user's session of main memory. If this user not yet has the session that can obtain at end points place, then cloud service can determine end points according to an embodiment in load balance mode.
This system can retrieve the use threshold information 1806 about all end points. In an embodiment, it may also be useful to threshold information can comprise the classification of the relative quantity of total session capacity of the every end point of instruction. Such as, threshold value can be low, neutralization one of senior middle school, each indicates the relative usage rate of the max-session capacity of end points. If there is at least one end points 1808 with middle threshold value, then 1814 selected in these in threshold value end points. If there is no middle threshold value end points, if then there is at least one end points 1810 with high threshold, then selects 1816 in these high threshold end points. Finally, if there is no high threshold end points, if then there is at least one end points 1812 with Low threshold, then selects 1818 in these Low threshold end points.
Various method can be used to perform the selection of end points. In an embodiment, it may also be useful to random or pseudorandom chosen process selects end points.
In another embodiment, circulation selection method can be used. In this embodiment, end points is selected in a looping fashion. Such as, the list of the address of available endpoint can to sort, order stores by one or more criterions such as the order of the end points according to such as recent renewal. When a connection request is received, obtain overall situation lock, from sorted lists, obtain the first end points and distributed to user, and then upgrade this list. Then terminal user is redirected to the end points being assigned to.
In another embodiment, queuing selection method can be used. In this embodiment, as long as end points is added to stamp, end-point addresses is just added to the queue number of times the same with maximum number of sessions. When a connection request is received, with queuing order selecting side dot address from queue, confirm that this end-point addresses is to determine that this end points is available and accepts connection. After this authentication, terminal user is redirected to this end points.
In another embodiment, session cache can be used to select method.In this embodiment, when starting load balance, attempt the session of high-speed cache from available end points. Max-session quantity is the twice of the quantity of RDCM example every second treatable concurrent request. When a connection request is received, the end-point addresses from local high-speed cache is retrieved by obtaining local lock. This end-point addresses is assigned to terminal user. When the available sessions in high-speed cache is fallen below minimum cache length, attempting crossing over the thread performing high-speed cache, this minimum cache length is RDCM example every second treatable concurrent request number. Terminal user is redirected to this end points.
In another embodiment, stateless list can be used to select method. In this embodiment, when RDCM example starts, RDCM selects prime number according to example ID. Such as, create the list ([1,2,3,4,5,6,7,8,9,10]) of all sessions. Such as, unique list based on the odd prime number distributing to example (such as 3) creates ([3,6,9,2,7,1,8,5,10,4]) by counting with this prime number. When a connection request is received, from list, selecting side dot address also attempts subscribing end points by table row being updated to. If subscribing attempts successfully, then this end points is distributed to user.
In embodiments, middle threshold value end points is given priority, this is because trading off between the target of overall system performance and strictly minimumization end points sum. When the population equilibrium considered between performance and economic factors, in selecting before selecting high threshold end points, threshold value end points can be preferred. High threshold end points can be given the priority prior to Low threshold end points, this is because the cost running the end points with low utilization ratio and user's session of terminating in Low threshold end points can allow to discharge and the possibility of thus closedown Low threshold end points.
Figure 15 depicts the exemplary operational process of the calculating architecture for managing virtual, comprises operation 1500,1502,1504,1506 and 1508. With reference to Figure 15, operation 1500 starts this operating process, and operates 1502 and illustrate from a reception multiple user the request of long-range desktop session. The software application that each long-range desktop session can comprise operating environment and will be included in this operating environment. Long-range desktop session can correspond to a user role separately. Such as, Administrator can use the company that user interface is medium size to define two desktop environments. Administrator's definable is used for first desktop environment of engineering personnel, and selectively actuatable system and version, e-mail and calendar application, browser application, office application and drawing application. Administrator can specify further and once can use maximum 50 such desktops. Administrator goes back two desktop environment of definable for financial staff, and selectively actuatable system and version, e-mail and calendar application, browser application, office application and database application. Administrator can specify further and once can use maximum 25 such desktops. Long-range desktop configure can be accessed with the use of URL via Internet. Such as, after configuration desktop environment, desktop environment can by inputting, such as www.company.com/tech and www.company.com/finance accesses by each user.
Operation 1504 illustrates to be determined by the quantity of the long-range desktop session of each main memory in multiple virtual machine.
Operation 1506 illustrates the virtual machine of the long-range desktop session selecting main memory to ask, to increase the quantity of the long-range desktop session of the virtual machine main memory by the multiple long-range desktop session of current main memory.
Operation 1508 illustrates the long-range desktop session that instantiation is asked on selected virtual machine.
Figure 16 depicts the example system of the calculating architecture for managing virtual as described above. With reference to Figure 16, system 1600 comprises treater 1610 and storer 1620. Storer 1620 also comprises the computer instruction of the calculating architecture being configured for managing virtual. Frame 1622 illustrate instantiation via long-range network connect become to multiple user can one or more long-range desktop configure, the software application that these long-range desktop configure comprise operating environment separately and will be included in this operating environment. Frame 1624 illustrates and receives the request to long-range desktop session from multiple user, and this long-range desktop session meets in one or more long-range desktop configure. Frame 1626 illustrates that the long-range desktop session that instantiation is asked on the calculating equipment selected according to predetermined load balance tolerance also loads data and the application that desktop session long-range with this is associated.
Any one aspect in aspect referred to above can in method, the product of system, computer-readable medium or any type realizes. Such as, computer-readable medium can store the computer executable instructions of the calculating architecture for managing virtual thereon. This medium can comprise the first subset of instructions, the 2nd subset of instructions and the 3rd subset of instructions, first subset of instructions is used for preserving the long-range desktop configure of user at the first place of calculating Data centre, the long-range desktop configure of this user comprise preserve about operating environment and the information of software application that performs in this operating environment, this first calculating Data centre is configured at least provide calculate and stores service; 2nd subset of instructions is for determining that user is by the possible position from its access long-range desktop configure of user; 3rd subset of instructions is used for determining long-range for the user preserved desktop configure is transferred to the 2nd calculating Data centre based on described, and connects via long-range network and the user from the 2nd calculating Data centre can be used by the long-range desktop configure of the user preserved. It will be appreciated by those skilled in the art that, it is possible to use additional instruction set catches other aspects each disclosed herein, and according to the present invention, three subset of instructions disclosed at present can be different in details.

Claims (8)

1., for the method for calculating architecture for managing virtual, described method comprises:
From a reception (1502) multiple user to the request of long-range desktop session;
Determining (1504) quantity by the long-range desktop session of each main memory in multiple virtual machine, described multiple virtual machine is classified as to have in low, neutralization high capacity utilization ratio grade;
According to the order of middle and high and low load utilization ratio grade, the virtual machine of the long-range desktop session that selection (1506) main memory is asked, to increase the quantity of the long-range desktop session of the virtual machine main memory by the multiple long-range desktop session of current main memory;
The long-range desktop session that instantiation on selected virtual machine (1508) is asked.
2. the method for claim 1, it is characterised in that, described selected virtual machine by the load between balance virtual machine so that new user's session is hosted on calculating equipment determines in order to the sum of minimumization virtual machine significantly.
3. method as claimed in claim 2, it is characterised in that, described selected virtual machine is the virtual machine of the long-range desktop session of the main memory with maximum quantity.
4. method as claimed in claim 2, it is characterised in that, described selected virtual machine is the virtual machine of long-range desktop session with the long-range desktop session of the main memory less than maximum quantity the main memory more than minimum number.
5. the method for claim 1, it is characterised in that, described selection also comprises distributes to end points according to random choice method by described long-range desktop session.
6. the method for claim 1, it is characterised in that, described selection also comprises distributes to end points according to the one in circulation, queuing and session cache selection method by described long-range desktop session.
7. the method for claim 1, it is characterised in that, predetermined load balance tolerance is determined according to minimum performance standards.
8. a computing system (1600), comprising:
Comprise the calculating equipment of at least one treater;
The storer being coupled to described treater when described system cloud gray model communicatedly, described storer has the computer instruction being stored therein, and described computer instruction causes when performing by least one treater described:
Instantiation (1622) via long-range network connect become to multiple user can one or more long-range desktop configure, the software application that described long-range desktop configure comprises operating environment separately and will be included in described operating environment;
Receiving the request to long-range desktop session from described multiple user, described long-range desktop session meets in described one or more long-range desktop configure; And
The long-range desktop session that instantiation (1626) is asked on the calculating equipment selected according to the order of middle and high and low load utilization ratio grade also loads the data being associated with described long-range desktop session and application.
CN201210338804.3A 2011-09-14 2012-09-13 The load balance of end points Active CN102917018B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/232,894 US20130067469A1 (en) 2011-09-14 2011-09-14 Load Balancing By Endpoints
US13/232,894 2011-09-14

Publications (2)

Publication Number Publication Date
CN102917018A CN102917018A (en) 2013-02-06
CN102917018B true CN102917018B (en) 2016-06-15

Family

ID=47615248

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210338804.3A Active CN102917018B (en) 2011-09-14 2012-09-13 The load balance of end points

Country Status (2)

Country Link
US (3) US20130067469A1 (en)
CN (1) CN102917018B (en)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8635152B2 (en) 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy applications
US8438635B2 (en) * 2011-09-15 2013-05-07 Microsoft Corporation Single sign-on for remote desktops
US9354940B2 (en) * 2012-01-19 2016-05-31 Microsoft Technology Licensing, Llc Provisioning tenants to multi-tenant capable services
CN102646190B (en) * 2012-03-19 2018-05-08 深圳市腾讯计算机系统有限公司 A kind of authentication method based on biological characteristic, apparatus and system
US9473589B1 (en) 2012-12-21 2016-10-18 Emc Corporation Server communication over fibre channel using a block device access model
US9712427B1 (en) * 2012-12-21 2017-07-18 EMC IP Holding Company LLC Dynamic server-driven path management for a connection-oriented transport using the SCSI block device model
US9232000B1 (en) 2012-12-21 2016-01-05 Emc Corporation Method and system for balancing load across target endpoints on a server and initiator endpoints accessing the server
US9237057B1 (en) 2012-12-21 2016-01-12 Emc Corporation Reassignment of a virtual connection from a busiest virtual connection or locality domain to a least busy virtual connection or locality domain
US9563423B1 (en) 2012-12-21 2017-02-07 EMC IP Holding Company LLC System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9407601B1 (en) 2012-12-21 2016-08-02 Emc Corporation Reliable client transport over fibre channel using a block device access model
US9270786B1 (en) 2012-12-21 2016-02-23 Emc Corporation System and method for proxying TCP connections over a SCSI-based transport
US9591099B1 (en) 2012-12-21 2017-03-07 EMC IP Holding Company LLC Server connection establishment over fibre channel using a block device access model
US9531765B1 (en) 2012-12-21 2016-12-27 Emc Corporation System and method for maximizing system data cache efficiency in a connection-oriented data proxy service
US9514151B1 (en) 2012-12-21 2016-12-06 Emc Corporation System and method for simultaneous shared access to data buffers by two threads, in a connection-oriented data proxy service
US9509797B1 (en) 2012-12-21 2016-11-29 Emc Corporation Client communication over fibre channel using a block device access model
US9647905B1 (en) 2012-12-21 2017-05-09 EMC IP Holding Company LLC System and method for optimized management of statistics counters, supporting lock-free updates, and queries for any to-the-present time interval
US9473591B1 (en) 2012-12-21 2016-10-18 Emc Corporation Reliable server transport over fibre channel using a block device access model
US9473590B1 (en) 2012-12-21 2016-10-18 Emc Corporation Client connection establishment over fibre channel using a block device access model
US9286134B2 (en) * 2012-12-31 2016-03-15 Alcatel Lucent Virtual machine placement in a cloud-based network
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
WO2014166603A1 (en) * 2013-04-12 2014-10-16 Alcatel Lucent Flow migration between virtual network appliances in a cloud computing network
US10623243B2 (en) 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US20150019705A1 (en) * 2013-06-26 2015-01-15 Amazon Technologies, Inc. Management of computing sessions
US9264289B2 (en) * 2013-06-27 2016-02-16 Microsoft Technology Licensing, Llc Endpoint data centers of different tenancy sets
US9280372B2 (en) 2013-08-12 2016-03-08 Amazon Technologies, Inc. Request processing techniques
US9348634B2 (en) 2013-08-12 2016-05-24 Amazon Technologies, Inc. Fast-booting application image using variation points in application source code
US10346148B2 (en) 2013-08-12 2019-07-09 Amazon Technologies, Inc. Per request computer system instances
US9705755B1 (en) 2013-08-14 2017-07-11 Amazon Technologies, Inc. Application definition deployment with request filters employing base groups
JP6311253B2 (en) * 2013-09-24 2018-04-18 セイコーエプソン株式会社 Communication device
EP2854370B1 (en) 2013-09-30 2016-04-06 Fujitsu Limited Computing device, method, and program for distributing computational load
US9413830B2 (en) 2013-11-11 2016-08-09 Amazon Technologies, Inc. Application streaming service
US9604139B2 (en) 2013-11-11 2017-03-28 Amazon Technologies, Inc. Service for generating graphics object data
US9641592B2 (en) 2013-11-11 2017-05-02 Amazon Technologies, Inc. Location of actor resources
US9634942B2 (en) 2013-11-11 2017-04-25 Amazon Technologies, Inc. Adaptive scene complexity based on service quality
US9805479B2 (en) 2013-11-11 2017-10-31 Amazon Technologies, Inc. Session idle optimization for streaming server
US9582904B2 (en) 2013-11-11 2017-02-28 Amazon Technologies, Inc. Image composition based on remote object data
CN103853616B (en) * 2014-02-20 2016-10-26 福建升腾资讯有限公司 A kind of realize the method that cloud computing virtual desktop is automatically switched off and discharges hardware resource
US9860242B2 (en) * 2014-08-11 2018-01-02 Vivint, Inc. One-time access to an automation system
CN104601367B (en) * 2014-12-05 2018-02-09 国云科技股份有限公司 A kind of virtual desktop management based on AD domains
GB2533434A (en) * 2014-12-16 2016-06-22 Cisco Tech Inc Networking based redirect for CDN scale-down
US9928093B2 (en) * 2015-02-24 2018-03-27 Red Hat Israel, Ltd. Methods and systems for establishing connections associated with virtual machine migrations
US10476773B2 (en) 2015-10-21 2019-11-12 Microsoft Technology Licensing, Llc Substituting window endpoints using a health monitor
US10200387B2 (en) * 2015-11-30 2019-02-05 International Business Machines Corporation User state tracking and anomaly detection in software-as-a-service environments
EP3282359A1 (en) * 2016-08-09 2018-02-14 Alcatel Lucent Method for managing a virtual radio access network and method for calibrating a software component
US10860342B2 (en) * 2017-01-30 2020-12-08 Citrix Systems, Inc. Computer system providing cloud-based session prelaunch features and related methods
US10936576B2 (en) * 2017-03-08 2021-03-02 Microsoft Technology Licensing, Llc Replicating storage tables used to manage cloud-based resources to withstand storage account outage
US10831466B2 (en) 2017-03-29 2020-11-10 International Business Machines Corporation Automatic patch management
US10581995B1 (en) * 2017-07-13 2020-03-03 Parallels International Gmbh High availability virtual desktop infrastructure
WO2019135773A1 (en) * 2018-01-08 2019-07-11 Hewlett-Packard Development Company, L.P. Brokering servers based on remote access performance
KR102483834B1 (en) * 2018-01-17 2023-01-03 삼성전자주식회사 Method for authenticating user based on voice command and electronic dvice thereof
CN108809935A (en) * 2018-04-20 2018-11-13 国网江西省电力有限公司信息通信分公司 A kind of cloud environment or the safety access control method under virtual environment and device
US11500685B2 (en) * 2018-07-24 2022-11-15 Citrix Systems, Inc. Mixed instance catalogs
US11579830B2 (en) * 2018-10-31 2023-02-14 International Business Machines Corporation Displaying a window of a remote desktop computer on a mobile device with a native layout
US11782881B2 (en) * 2018-12-05 2023-10-10 Vmware, Inc. Recommending remotely executed applications for opening files
CN110365684B (en) * 2019-07-17 2022-02-22 中国工商银行股份有限公司 Access control method and device for application cluster and electronic equipment
CN111092944B (en) * 2019-12-13 2022-08-05 浪潮(北京)电子信息产业有限公司 Connection session number control method, device, equipment and storage medium
US20210255884A1 (en) * 2020-02-19 2021-08-19 Citrix Systems, Inc. Migration of a desktop workload
US11924089B2 (en) * 2022-01-31 2024-03-05 Microsoft Technology Licensing, Llc Convergence for time sensitive cloud applications
US11799971B2 (en) 2022-02-17 2023-10-24 Bank Of America Corporation Systems and methods for session migration between devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739282A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method, device and system for managing virtual machine
CN102096601A (en) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 Virtual machine migration management method and system
CN102110014A (en) * 2011-03-15 2011-06-29 合肥华云通信技术有限公司 Method for balancing loads of virtual machine (VM)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020198991A1 (en) * 2001-06-21 2002-12-26 International Business Machines Corporation Intelligent caching and network management based on location and resource anticipation
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8140651B2 (en) * 2008-05-06 2012-03-20 International Business Machines Corporation Method and system for self-organizing computer systems
EP2425341B1 (en) * 2009-05-01 2018-07-11 Citrix Systems, Inc. Systems and methods for establishing a cloud bridge between virtual storage resources
US8856783B2 (en) * 2010-10-12 2014-10-07 Citrix Systems, Inc. Allocating virtual machines according to user-specific virtual machine metrics
US8281018B2 (en) * 2009-06-22 2012-10-02 Red Hat Israel, Ltd. Method for automatically providing a client with access to an associated virtual machine
US8887172B2 (en) * 2009-12-31 2014-11-11 Microsoft Corporation Virtualized management of remote presentation sessions using virtual machines having load above or below thresholds
US20120005675A1 (en) 2010-01-22 2012-01-05 Brutesoft, Inc. Applying peer-to-peer networking protocols to virtual machine (vm) image management
US9130912B2 (en) * 2010-03-05 2015-09-08 International Business Machines Corporation System and method for assisting virtual machine instantiation and migration
US9141420B2 (en) * 2010-11-04 2015-09-22 Alcatel Lucent Overload control in a cloud computing environment
CN102096461B (en) * 2011-01-13 2013-06-19 浙江大学 Energy-saving method of cloud data center based on virtual machine migration and load perception integration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101739282A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method, device and system for managing virtual machine
CN102096601A (en) * 2011-02-11 2011-06-15 浪潮(北京)电子信息产业有限公司 Virtual machine migration management method and system
CN102110014A (en) * 2011-03-15 2011-06-29 合肥华云通信技术有限公司 Method for balancing loads of virtual machine (VM)

Also Published As

Publication number Publication date
US20180143866A1 (en) 2018-05-24
US20130067469A1 (en) 2013-03-14
CN102917018A (en) 2013-02-06
US20190171491A1 (en) 2019-06-06
US10838775B2 (en) 2020-11-17

Similar Documents

Publication Publication Date Title
CN102917018B (en) The load balance of end points
CN102932405B (en) To many tenant's access of application
US11368517B2 (en) Secure automated resource-exchange system
CN102882947A (en) Automation desktop service supply
US11089088B2 (en) Multi tenancy for single tenancy applications
CN103023960A (en) Geo-migration of user state
CN102929685A (en) Automated infrastructure provisioning
Hu et al. A review on cloud computing: Design challenges in architecture and security
US20180260251A1 (en) Use of nested hypervisors by a resource-exchange system to enhance data and operational security and to facilitate component installation
US8812687B2 (en) Managing user state of cloud desktops
US8856917B2 (en) Single sign-on for remote desktops
US8566447B2 (en) Virtual service switch
Krieger et al. Enabling a marketplace of clouds: VMware's vCloud director
Yang et al. A cost-based resource scheduling paradigm in cloud computing
Jain et al. A novel cloud bursting brokerage and aggregation (CBBA) algorithm for multi cloud environment
Gundu et al. Hybrid IT and multi cloud an emerging trend and improved performance in cloud computing
US11080097B1 (en) User defined logical spread placement groups for computing resources within a computing environment
Wang et al. Enabling customer-provided resources for cloud computing: Potentials, challenges, and implementation
Li Hybrid cloud service selection strategy: Model and application of campus
Bentaleb et al. Context-aware for service composition optimization in cloud computing
SONI ENHANCING PROVIDER'S PROFIT ON CLOUD MARKET INFRASTRUCTURE

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150716

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150716

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant