CN107102899A - Remote process performs management - Google Patents

Remote process performs management Download PDF

Info

Publication number
CN107102899A
CN107102899A CN201710270163.5A CN201710270163A CN107102899A CN 107102899 A CN107102899 A CN 107102899A CN 201710270163 A CN201710270163 A CN 201710270163A CN 107102899 A CN107102899 A CN 107102899A
Authority
CN
China
Prior art keywords
subprocess
computing devices
client computing
supplier
remote session
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.)
Pending
Application number
CN201710270163.5A
Other languages
Chinese (zh)
Inventor
乔纳森·A·詹金斯
布雷特·R·泰勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN107102899A publication Critical patent/CN107102899A/en
Pending legal-status Critical Current

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/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/541Client-server

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The invention discloses a kind of long-range execution managing process, it is related to the execution and management of the various aspects of the software process example of network calculations suppliers.Client computing devices can be with illustration software process example.Client computing devices determine the remote process configuration of software process example, including recognize at least one subprocess of the software process example performed in network calculations suppliers.Remote session configuration information can be supplied to network calculations supplier by client computing devices.Based on remote session configuration information, network calculations supplier can correspond to the remote session of at least one subprocess with illustration.Result can be transmitted back to the client computing devices associated with the execution of at least one subprocess by network calculations supplier by remote session.

Description

Remote process performs management
Background of invention
General description computing device performs the process being made up of multiple computer-readable instructions, so that computing device is performed A variety of functions or action.Generally, the operating system management many basic functions or feature associated with computing device, generally quilt Referred to as " low-level operation ".On the one hand, the management of basic functionality may include that (such as device memory, data is deposited with computing device Storage device and input/output) associated resource management.On the other hand, the management of basic functionality may include to fill with calculating Put and be illustrated and ask one or more software applications of execute instruction (being commonly referred to as process or thread) to be associated Instruction management.For example, operating system can be with each application program of illustration, clothes on the distribution of determining device resource and device Execution order between business and other processes.
In some cases, the resource requirement of the process performed to computing device can exceed that available computing device resource Capacity.In these cases, user may undergo operating lag or missing.Reference explanation example, can be with command computer Loaded via the graphics edition application program performed to computing device and show big image file.If computing device does not have Enough device memories available for processing request, then operating system can be by one of device memory and image file Or multiple sections be loaded into the relatively long delay storage device of such as hard disc or flash memory.Hereafter, operating system is replaceable deposits Store up in device memory and compared with the information (commonly referred to as changing) in long delay storage device.In many cases, replacing is deposited Reservoir is probably slow and time-consuming process.Going on to say property example, user can also ask graphics edition application program to figure As file performs figure manipulation operation.Therefore, graphics edition application program may make execution by being operated corresponding to image operation control The subprocess of executable instruction series composition.If image file is big, if the available computational resources of computing device are limited, or such as Fruit conversion is computationally complex, then the plenty of time may be consumed by completing subprocess, thereby increases and it is possible to influence other programs (all As simultaneously to device perform application program and operating system) execution.
, can be just with performing each software process phase to computing device from the viewpoint of user uses client computing devices The performance of association and delay are undergone to define user.Any one delay and performance limitation in above-mentioned process can reduce use Family undergoes.In addition, computing device (notebook, tablet personal computer, smart mobile phone etc.) (such as handles energy due to resource-constrained Power, memory or network connectivity) and it is particularly likely to delay occur and poorly efficient.
Brief description
The many of aspect and the present invention enclose advantage by being subject to more preferably with reference to following detailed description with reference to accompanying drawing above Ground will allow people to be more prone to clear after understanding, wherein:
Fig. 1 is the block diagram for showing the networked computing environment including client computing devices and network calculations supplier;
Fig. 2 is the block diagram of Fig. 1 networked computing environment, it illustrates new software process and client computing devices with The illustration of remote session between network calculations supplier;
Fig. 3 is the block diagram of Fig. 1 networked computing environment, and it illustrates network calculations supplier and client computing devices Between application data processing;
Fig. 4 is the block diagram of Fig. 1 networked computing environment, and it illustrates client computing devices and network calculations supplier Between new remote session illustration;
Fig. 5 is the block diagram of Fig. 1 networked computing environment, and it illustrates the determination of remote session configuration information and network meter Calculate the illustration of the new remote session of suppliers;
Fig. 6 is the flow chart for showing the new remote session routine of client implemented by client computing devices;
Fig. 7 is shown by the flow chart of the new remote session routine of network calculations vendor implementation;And
Fig. 8 is the flow chart for showing the remote session user mutual routine implemented by client computing devices.
It is described in detail
General description, this disclosure relates between client computing devices and one or more telecommunication networks calculating supplier The generation and management of software process remote session.Specifically, it will be generated on software process according to remote session configuration information The processing of process data and result between client computing devices and network calculations supplier describes each of the disclosure Individual aspect.Although the various aspects of the embodiment described in the disclosure can describe to answer corresponding to software for illustrative purposes With the management of one or more remote sessions of program, but persons skilled in the art are it should be appreciated that skill disclosed herein Art can apply to any amount of software process, including but not limited to operating system process and service.In addition, although will close Various aspects of the disclosure is described in illustrative example and embodiment, but persons skilled in the art are it should be appreciated that institute is public The embodiment and example opened are not necessarily to be construed as having limited.
With reference to specific illustrative example, user can load software process example with requesting client computing device, such as soft Part application program (hereinafter referred to as " application program ").In one embodiment, after loading, application program can be corresponded to In the multiple computer executable instructions for being designed in execution at client computing devices.By explanation, computer can be held Row instruction set can be referred to as " subprocess " and can be associated with particular functionality or the embodiment of action.
For the purpose of particular instance, it is assumed that graphics edition application program can be loaded images into memory for place Reason.User can ask the image being applied to picture filter in memory.According to this example, picture filter can be right Ying Yu manipulates the subprocess of the image in memory according to the configuration of filter (for example, adjustment color value or removal vision are false Picture).
After the requests have been received, client computing devices obtain the software process that execution with selecting subprocess is associated Configuration information.In one embodiment, software process configuration information can include recognizing one associated with application program Or the information of the information of multiple subprocess and regulation subprocess resource usage amount or process demand.Client computing devices can be with The various information relevant with unit state are obtained, including but not limited to the present or future availability of device resource is (for example, place Reason ability, memory, storage device, Web vector graphic amount etc.).
Using software process configuration information and the information associated with unit state or Resource Availability, client calculates dress The application program that is performed in one or more remote session medium-long ranges for being performed in network calculations suppliers can be recognized by putting One or more subprocess, it can be embodied as remote session configuration information.Remote session configuration information can recognize use In encapsulating and transmit between the Application Instance at the remote session and client computing devices of network calculations suppliers One or more communication protocols of process data and result.
After remote session configuration information is determined by client computing devices, client computing devices can be to applying journey The one or more assemblies of sequence carry out local illustration.Remote session configuration information can also be supplied to net by client computing devices Network calculates supplier.Based on remote session configuration information, network calculations supplier can be with illustration or illustration is one or more remote Journey session, the associated calculating such as with the network calculations supplier of at least some part of the sub- routine by application program is performed Component.For example, network calculations supplier can correspond to the illustration at client computing devices with illustration computation module with trustship One or more software process of the subprocess of application program.In another example, in one embodiment, network calculations are supplied Answer business can illustration or illustration include client computing device at illustration application program parallel copy virtual machine example.
Network calculations supplier can obtain initial processes data for one or many from client computing devices Handled under individual remote session.One or more of remote sessions can handle initial processes data, and can be by result It is transmitted back to client computing devices.Answering on the remote session and client computing devices on institute's example network computation module It can typically be referred to as " remote session letter with the information (including but not limited to process data and result) exchanged between program Breath ".When receiving result, result can be supplied to application program to be handled for user by client computing devices And/or it is presented to user.In one embodiment, the process data of network calculations suppliers transmission and handle for It is probably transparent for the application program performed at client computing devices.However, from the viewpoint of the user of client, Result seems may be by generating in the subprocess that client computing devices are locally executed.
Fig. 1 is to show the networked computing environment 100 including client computing devices 102 and network calculations supplier 106 Block diagram.As shown in Fig. 1, networked computing environment 100 includes being used to run such as software application 122 and operating system The client computing devices 102 of 108 software process.In illustrative embodiment, client computing devices 102 may correspond to A variety of computing devices, including personal computing device, laptop devices, hand-held computing device, terminal computing device, mobile dress Put (for example, mobile phone, tablet computing device etc.), wireless device, various electronic installations and electrical equipment etc..In illustrative embodiment party In case, client computing devices 102 include be used for by communication network 104 (such as wide area network or LAN) set up communication must Want hardware and software component.For example, client computing devices 102 can equip networked devices and promote via internet or ether Net the browser software application of the communication carried out.Client computing devices 102 can have different local computing resources, Such as CPU and framework, memory, mass storage device, graphics processing unit, communication network availability and band Width etc..
In one embodiment, client computing devices 102 can be run (all by one or more operating system programs Such as Graph Manager 110, incoming/outgoing management device (" I/O managers ") 112, process manager 114, memory manager 116 And file system manager) composition operating system 108.By explanation, Graph Manager 110 can dispose graphics process With the output of the data and content of display on an output device.I/O managers 112 can dispose input and output function and manage Manage client computing devices 102 and the procotol between other interconnection devices of communication network 104 and Web vector graphic and visit Ask.Memory manager 116 can be with the distribution of the memory between management software process, and can dispose virtual memory and visitor The memory cached on the computing device of family end.File system manager 118 can manage storage assembly 120 and (including (but not limit In) hard disc, flash memory, network drive or other component is locally or remotely stored) on file and data storage and Retrieval.In each other embodiment, operating system 108 can include operating system as depicted herein for illustration purposes Less, the more or any combinations of program.
Process manager 114 can manage the one or more software application journeys that can be performed to client computing devices 102 Execution, loading and the scheduling of sequence process 122.By explanation, each software application process 122 can include by multiple Any amount of subprocess of logic relevant apparatus executable instruction composition.
Continue to refer to Fig. 1, networked computing environment 100 may also include to be calculated via communication network 104 and client The network calculations supplier 106 that device 102 communicates.The network calculations supplier 106 shown in Fig. 1 also corresponds to and network calculations The logic for one or more computing devices that supplier is associated is related.Specifically, network calculations supplier 106 may include pair Should be in multiple access points (" POP ") position 138,144 of the node on communication network 104.Each POP 138,144 includes being used for Enter via multiple examples (example for being generally known as network computing components (NCC)) trustship such as software application of virtual machine The NCC 140,146 of journey 122 or the application program of its subprocess.Persons skilled in the art are it should be appreciated that NCC140,146 generals Including physical computing device resource and software to provide multiple examples of virtual machine or dynamically make the example of establishment virtual machine.This Sample create can based on the specific request such as from client computing devices, or NCC can itself initial fictive machine example Dynamic creation.Each NCC POP 138,144 also include the storage assembly 142,148 being made up of multiple storage devices, and it is used for Any kind of data for transmitting and handling network or computing resource are stored, including but not limited to from content provider And by NCC 140,146 instance processes and the user data of each client computer, status information, processing will be transferred to Demand, history use data and resource etc..In some embodiments, network calculations supplier 107 can be considered as network meter Calculate and storage device supplier.NCC 140,146 and storage assembly 142,148 can also include the additional software for promoting communication And/or nextport hardware component NextPort, the example of the virtual machine of institute's request applications is including but not limited to supported for selection and/or will be believed Breath is supplied to DNS name server to promote the load balance or load sharing software/nextport hardware component NextPort that request is route.
In illustrative embodiment, no matter the part of NCC 138,146 and storage assembly 142,148 or component whether thing Reason separation, it is regarded as logic groups.For example, network calculations supplier 106 can maintain to be used to provide NCC and storage assembly Independent POP.In addition, although NCC POP 136,144 be shown in Fig. 1 in logic with the phase of network calculations supplier 106 Association, but NCC POP will be most preferably to supply the various demographic of client computing devices 102 on geographical position Mode is distributed in communication network 104.In addition, persons skilled in the art it should be appreciated that network calculations supplier 106 can with it is each Kind of additional computational resources, extra computation device for managing content and resource etc. are associated.
Referring now to Fig. 2-5, will show Fig. 1 networked computing environment 100 each component between interaction.Specifically, Fig. 2-5 shows the connection for the process data between remote processing client computing devices 102 and network calculations supplier 106 Interaction between each component of net computing environment 100.However, for example purpose, having simplified explanation and having caused use is not shown To promote many components of communication.Persons skilled in the art are it should be appreciated that can be used these components and therefore without prejudice to originally Interaction outside amount in the case of the spirit and scope of invention.
With reference to Fig. 2, program can begin at new software process and client computing devices 102 and network calculations supplier 106 Between remote session illustration.By explanation, client computing devices 102 can be in response to event or user's request Start loading software application process 122.In one embodiment, loading software application 122 can include can Code is performed from storage device 120 copies to device memory.Due to loading software application process 122, client meter Calculating device 102 can be with one or more subprocess of recognition application 122.By explanation, each subprocess can be by Perform the related executable instruction composition of the functional multiple logics in terms of some of application program 122.In each embodiment, Client computing devices can store software process configuration information, application program 122 based on associated with application program 122 What is performed is previously or is currently being monitoring, one or more related applications (for example, difference but counterpart of application program 122) Execution monitoring or one or more subprocess are recognized based on any other factor or information segment.In recognition application After 122 subprocess, client computing devices 102 can determine definition by the subprocess collection remotely performed and in client The remote session configuration information of the communication protocol carried out data transmission between end computing device 102 and network calculations supplier.So Client computing devices can be with any local component of the application program 122 at illustration client computing devices afterwards.In a reality Apply in scheme, client computing devices 102 can prevent to perform or load identification is long-range similar in local application 122 The one or more aspects of one or more subprocess of the candidate of application program, because the function of these subprocess is or will be by Remote session at network calculations supplier 106 is performed.
It is determined that after remote session configuration information, client computing devices 102 can match somebody with somebody remote session to be processed Confidence ceases and/or initial processes data transfer is to network calculations supplier 106.In one embodiment, from being loaded into visitor For the viewpoint of application program 122 on the computing device of family end, illustration remote session may be presented with the execution for disposing subprocess For as to local device illustration and performing subprocess.
After remote session configuration information is received, network calculations supplier 106 can select one or more associated nets Network computation module (hereinafter " NCC ") access point (hereinafter " POP ") (such as NCC POP 138) thinks any asked New remote session service.NCC POP selection can determine the processing and Internet resources available for institute's illustration virtual machine.Can be with At least partly selection processing and Internet resources and NCC POP examples offer software by optimize process resource and with client in terms of Calculate the communication that device 102 is carried out.Selected NCC POP138 can be generated corresponding to such as answering for being recognized in remote session configuration information With the remote session of one or more subprocess of program 122.By explanation, the new remote session of illustration can be included in New virtual machine instance, executable instruction set and/or Application Instance, reserved or distributor is loaded at NCC POP 138 to deposit Reservoir, storage device or spatial cache, processor time, the network bandwidth or other calculating of new remote session or Internet resources.
With reference to Fig. 3, it will describe to be used to handle the application between network calculations supplier 106 and client computing devices 102 The illustrative interaction of routine data.As shown in Fig. 3, selecting NCC POP 138 may be (all based on remote session configuration information Such as the remote session configuration information described in figure 2 above) illustration corresponds to one or more remote sessions of application program 122.
After new remote session example is initialized, NCC POP 138 can be by client computing devices 102 to network meter That describes in any initial processes data of calculation supplier 106 processing with remote session configuration information, such as figure 2 above is initial Process data.While being that NCC POP138 manage initial processes data everywhere, before or after, client computing devices 102 Being originally located in corresponding to any subprocess of application program 122 locally executed at client computing devices 122 can be performed Reason.Because NCC POP 138 complete its processing to initial processes data, it can be transmitted result by network 104 Return to the application program 122 run in client computing devices 102.In one embodiment, can be according to long-range meeting The communication protocol recognized in words configuration information transmits these results.From the viewpoint of application program 122, by NCC POP 138 results provided may be rendered as being given birth to by the thread locally executed in client computing devices or other subprocess Into.
Due to the processing locality data of application program 122 and interaction is received from the user at client terminal device 102, using journey The extra process data associated with one or more subprocess corresponding to remote session can be transferred to network meter by sequence 122 Calculate supplier 106.In one embodiment, network calculations supplier 106 can as described above as handle this process data And extra process result is transmitted back to the application program 122 at client computing devices 102.Can normally it perform in client Hold any subprocess of the application program 122 performed at computing device 102.
With reference to Fig. 4, the block diagram of Fig. 1 networked computing environment is disclosed, it illustrates client computing devices 102 and net Network calculates the illustration of the new remote session between supplier 106., can be corresponding to client meter as shown in Fig. 2 and Fig. 3 Calculate the remote session of illustration first at the network calculations supplier 106 for the application program 122 that device 102 is performed.
The illustration of new remote session may begin at application program 122 start at client computing devices 102 loading or Perform new subprocess.By explanation, because application program 122 starts to operate the new processing of application content progress and can Can occur loading or perform new subprocess.For example, graphics edition application program can start to perform by image big image file The new subprocess of manipulation operation composition.In another embodiment, load or perform new subprocess and can correspond to loading application The request of the new segment of contents of program.For example, new video editing application subprocess can correspond to the new video for editor The loading of editing., can be in response to user mutual or request, system or application event or any other by explanation Trigger event or reason and occur the loading or execution of new subprocess.
After client computing devices 102 recognize new subprocess, client computing devices 102 can be such as above with reference to figure 2 discuss the remote session configuration information for determining new subprocess.As described above, remote session configuration information, which can specify that, is recognized The remote session of subprocess performs and/or exchanged remote session and the application program 122 performed at client computing devices 102 Between data communication protocol.Client computing devices 102 can be by remote session configuration information and/or for the first of processing Beginning process data is transferred to network calculations supplier 106.Such as discussed above with reference to Fig. 2, network calculations supplier 106 can determine NCC POP 138 dispose new remote session request, and the illustration at NCC POP 138 can be made to correspond to the new remote of new subprocess Journey session.
Such as discussed above with reference to Fig. 2, network calculations supplier 106 (including (but can not limited based on any amount of factor In) can be with NCC POP resources (for example, available memory, processor load, network load etc.), by remote session trustship in NCC Financial cost, client computing devices 102 at POP, the respective NCC POP locations of content provider, CDN or NCC POP delay Deposit state (for example, no matter NCC POP caching in whether stored ask resource) etc.) and select NCC POP it is newly long-range with illustration Session.By explanation it is recognized that while network calculations supplier 106 is depicted as selecting NCC herein due to illustration purpose POP 138, but network calculations supplier 106 can select any existing NCC POP with the new remote session of illustration.For example, single Remote session configuration information can be supplied to corresponding to for remote session by individual client computing devices 102 simultaneously or in proper order The network calculations supplier 106 of three different requests.Network calculations supplier 106 can select different NCC POP every with illustration Individual remote session, the identical NCC POP of all three remote sessions or its any combinations.As described above, can be based on available System resource randomly or according to such as above and on Fig. 2 discuss any other factor be used for decide whether to be selected differently from Previously or concurrently NCC POP of remote session.In one embodiment, because the function of new subprocess is or will be by NCC New remote session at POP 138 and perform, client computing devices 102 can prevent to perform in local application 122 Or the one or more aspects of loading subprocess.
With reference to Fig. 5, the block diagram of Fig. 1 networked computing environment is disclosed, it illustrates remote session configuration information really The illustration of new remote session at fixed and network calculations supplier 106., can be corresponding to client as shown in Fig. 2-4 The one or more remote sessions of illustration at the network calculations supplier 106 for the application program 122 that computing device 102 is performed.
In one embodiment, client computing devices 102 can monitor one or more application programs 122 or in visitor The operation of the other processes performed at family end computing device 102.Used for example, client computing devices can monitor memory Amount, network amount, processor usage amount etc..Client computing devices 102 can monitor the bulking property of any amount of process in addition Aggregate resource availability can be determined with calculating demand, executive process, the response for maintaining operating system 108 etc. is prioritized.It is based on Monitoring, client computing devices 102 can recognize the subprocess of the application program 122 for remotely performing.As particular instance, Client computing devices 102, which can be recognized, to be consumed a large amount of system resources and can easily be moved to this background of remote session Journey, such as subprocess 2.
After identification can be moved to the subprocess of remote session, client computing devices 102, which can update, applies journey The remote session configuration information of sequence.Such as described with reference to Fig. 2-4, remote session configuration information can include on recognized subprocess Information and request to the new remote session corresponding to recognized subprocess and for encapsulating and transmission client computing device The communication protocol of information between 102 and network calculations supplier 106.Client computing devices 102 will can update remotely Session configuration information and/or any initial processes data transfer for being handled by new remote session are to network calculations supplier 106.
Network calculations supplier can select NCC POP 144 and the illustration at NCC POP 144 is applied journey The new remote session of the subprocess of sequence 122.Such as discussed above with reference to Fig. 3, due to network calculations supplier trustship and client meter Calculate the associated any other remote session of device 102 or application program 122, network calculations supplier can select identical or not With any one in NCC POP 144.In one embodiment, due to the previous local subprocess from memory be Performed at NCC POP 144 by remote session, client computing devices 102 can perform or unload one of the subprocess or Many aspects.
Fig. 6 is the flow for showing the new remote process routine of client implemented by Fig. 1 client computing devices 102 Figure.The new remote session routine 600 of client starts from square frame 602.At square frame 604, client computing devices 102 obtain example Demonstrate,prove the request of new software application 122 or other software process.In one embodiment, the new software application journey of illustration is obtained The request of sequence 122 can be the result for the request or interaction made by the user of client computing devices 102.For example, user The application program 122 in client computing devices 102 can be opened.In another embodiment, the new software process of illustration is obtained Request can be at client computing devices 102 perform automated session or event result.Although new software process by In illustration purpose and herein referred to as application program 122, but persons skilled in the art are it should be appreciated that any software enters Journey include but is not limited to operating system process, service, background program or can to client computing devices 102 perform it is any its The software process of its type.Although client computing devices 102 are described as determining that software enters herein due to illustration purpose The information of journey configuration information, remote session configuration information and the other side relevant with remote process, it is to be appreciated that can be by Network calculations supplier 106 and/or any other third party's service, device or entity perform one or many in these determinations It is individual.
Obtain the new software process of illustration request after, at square frame 606 client computing devices 102 can obtain with Application program 122 or the associated software process configuration information of other software process.By explanation, software process matches somebody with somebody confidence Breath can include any kind of information on application program 122, including but not limited on processing, memory or bandwidth The information of demand, on thread and perform scheduling information, on data, application program or subprocess safety information, on Application program performs the information of history and/or user interaction history or behavior or any other information on application program. In one embodiment, the one or more aspects of software process configuration information can be predefined and wrapped by application developer Include the application program 122 at the storage location with application program associated and deposited available from the network associated with application program Predefined or obtained from any other source in the data that storage space is put, by user, operating system or other third party entities.In another reality Apply in scheme, can be based on any other execution with resource occupation, process performing or program and/or one or more subprocess The associated program of feature performs data to determine the one or more aspects of software process configuration information.By explanation, Monitoring that can be based on the execution of application program and/or currently or previously observation or interacting based on user and application program 122 Data are performed to generate program.In one embodiment, the data of any amount of device of self-operating application program 122 are carried out Networking component can be gathered in and sentence acquisition or determination process execution data.By explanation, combine from application program The data of multiple examples can help to provide the abundant definition of application program 122 or general characteristic.Process performs data can be with The monitoring of one or more examples based on application program 122 and/or can based on related application (for example, application program 122 identical, different or counterpart) one or more examples monitoring.In another embodiment, can be by applying journey Sequence developer or third-party application process data supplier are based on observed or desired resource occupation, process performing or other Feature performs data to provide process.
At square frame 608, client computing devices 102 recognize that the one or more sons associated with application program 122 enter Journey.In one embodiment, client computing devices 102 can be known based on the information being included in software process configuration information Small pin for the case process.By explanation, subprocess can be made up of the related executable instruction of multiple logics.For example, application program 122 Any amount of device instruction performed at client computing devices 102 can be included in.Subprocess can be answered by performing together With program functionality some in terms of these devices instruct logic relevant group and constitute.In one embodiment, one Or multiple subprocess can form the discrete functionality for processing data, and therefore can be with software in greater or lesser degree Program process 122 is separated.For the purpose of particular instance, graphics edition application program can load images into memory In it is for processing.User can ask image of the application image filter in memory.In one embodiment, image mistake Filter can be made up of a series of subprocess for the executable instructions for such as manipulating the view data in memory.In an implementation In scheme, one or more sons that picture filter subprocess can logically constitute graphics edition application program together with enter Journey (for example, interface assembly management, file management, other images or data processing process etc.) is separated.
After the one or more subprocess of identification at square frame 608, client computing devices can be determined at square frame 610 Remote session configuration information.By explanation, remote session configuration information can correspond to remote session configuration, and it is explanatorily Including identification at identification square frame 608 with one in the subprocess that is performed in the remote session at network calculations supplier 106 Or multiple information.In one embodiment, remote session configuration information can define one will performed in remote session Any number needed at many aspects and client computing devices 102 of individual or multiple subprocess or network calculations supplier 106 According to transition interface.For example, being received by client computing devices 102 and corresponding to the result of the data handled by remote session It may must be further processed, change and/or be placed in memory, processor register, caching or data storage location Appropriate location is with can be for used in application program 122.As discussed below, processing action division can with based on exchange network The communication protocol of process data and result between calculation supplier 106 and client computing devices 102 is associated or contacts. Remote session configuration information, which can also include calculating demand on the expectation of each expected remote session, (such as process demand, to be deposited Memory requirements, network demand etc.) information.By explanation, this information can allow network calculations supplier 106 to select Appropriate NCC POP are with each remote session of trustship.
Remote session configuration information still can also include supplying with network calculations on defining client computing devices 102 The communication protocol of data encapsulation and transmission between business 106 (includes but is not limited to procotol, signaling model, transmission mechanism Or calculate status data, user mutual and the other numbers between supplier 106 and client computing devices 102 for exchange network According to the encapsulation format with content) information.Communication protocol for exchanging data can be including as known in the art any logical Believe agreement, including but not limited to HTTP, FTP, RDP (RDP), X-Windows agreements, Virtual Networking Computing (VNC) agreement, X-Windows agreements, Remote Frame Buffer agreement or any other special or common communicating protocol.For example, RDP is said Provide to bright property to be encoded in protocol Data Unit to carry for client to be inputted into (for example, mouse movement, input through keyboard etc.) Supply a variety for the treatment of mechanisms of remote computing device and return to client for updating to send bitmap with rudimentary interface information The response mechanism of device.As another example, provide for by definition interfaces information and including resource HTML protocol specifications The file of reference is provided to the mechanism of client and for making client computing devices will be to extra file and resource from server Request be supplied to the response mechanism of server.
By explanation, remote session configuration information can specify that in client computing devices 102 and network meter in addition Calculate the process data, result and the other information that are transmitted between supplier 106 or other devices one or more codings or Data format.In each embodiment, data (can include but is not limited to one or more codings with any quantity kind form Or compressed format, text formatting, code format, tag format (for example, extensible markup language, HTML etc.), Data interchange form (for example, extensible markup language, Javascript object representations, data interchange form), executable two System form, picture format (for example, jpeg, gif, tiff, bitmap etc.), video format (for example, mpeg, avi, mov etc.), Audio format (for example, aiff, mp3 etc.) or any other binary system as known in the art, document or other data formats) pass Send.For example, in one embodiment, remote session configuration information can specify that the software code stored with text format is made Network calculations supplier 106 is supplied to for process data, and network calculations supplier 106 will include corresponding to composing software code Executable binary result be communicated back to client computing devices 102.
As described above, remote session configuration information can specify that one in the subprocess recognized in square frame 608 above Or multiple Remote configurations.By explanation, remote session configuration information can specify that locally execute, all long-range execution or With local and remote processing, (for example, the major part occurred at network calculations supplier 106 is handled, but client calculates dress The local transition components of 102 execution are put to change and show received result) certain combination perform subprocess.One In individual embodiment, can at client computing devices 102 by application program 122 itself or operating system process or service or Any other program performed at client computing devices is come to the long-range of one or more subprocess of the application program Configuration performs determination.In other embodiments, network calculations supplier 106 can perform or aid in perform the determination.Such as Described herein, for illustrative purposes, client computing devices will be discussed into and recognize the remote of subprocess to application program Journey configuration performs determination;However, this can change according to alternate embodiment.
Client computing devices 102 can make it to the long-range of one or more of the subprocess that is recognized in square frame 608 The determination of configuration is based on any quantity kind factor, and including but not limited to one or more features of application process data, son enters The calculating configuration file (for example, memory usage amount, processor usage amount, memory usage amount, Web vector graphic amount) of journey, client Current resource usage amount, network calculations at one or more features of end computing device 102 or configuration, client computing devices Supplier 106 or NCC POP 138 feature, resource usage amount or configuration, one or more features of network or network connection, The configuration associated with user or priority, predetermined configuration or priority etc..The feature of application process data can include (but Be not limited to) data format, content type, size, process demand, resource latency requirement, the quantity of interactive elements or type, safety Risk, associated user's priority, storage location remotely store the network address, network of relation domain name, related content supplier etc.. Client computing devices 102, network calculations supplier 106, NCC POP 138 and other related services or device feature can be with Including but not limited to disposal ability, memory, storage device, network connectivity are (for example, available bandwidth, delay or consistent Property), physically or logically position, prediction stability or risk of failure, software or hardware profile, it is current, before or predict not Carry out available resources (for example, available memory or processing or multiple while the software application opened) etc..Application program 122 Feature can including but not limited to predefined Remote configuration (for example, by application developer, user, operating system, long-range The Remote configuration of the definition such as service), the interactivity of application program, before application program 122, current or prediction resource uses Amount, the size of application program 122 and/or complexity, the mandate distributed on the code associated with application program 122 or copyright Problem.
Client computing devices 102 it is also conceivable to the security threat associated with interior perhaps domain of definition fragment or risk, Client computing devices 102 or the priority of network calculations supplier 106, calculate cost (for example, processing or bandwidth it is economical into Sheet, resource usage amount etc.), it is predetermined priority or selection information, any additional processing overhead required for particular remote session, slow Deposit state (for example, if at NCC NOP 138, at client computing devices 102 or related to network calculations supplier 106 Connection other network storage components at cache specific resources), retrieval application code or process data needed for prediction lag Or time, preferred network calculate supplier or the agreement reached with specific calculation supplier to particular remote session or service level (whether the remote session associated with application program, user, client computing devices or network calculations supplier is currently made With) or any other factor.
In some embodiments, client computing devices 102 can be specific to determine based on behavior or practice before The remote session of subprocess.For example, when by identical (or may be different) user's loading application programs, specific son is had determined that before The client computing devices 102 of the Remote configuration of process can automatically select same remote configuration.As another example, with The mode of extension process is needed to perform determination regulation using the user of the history of application program most in remote session The remote process configuration information of number subprocess.In other embodiments, client computing devices 102 can be based on future behaviour Prediction determine remote process configuration information.For example, client computing devices 102 can be based on analysis to application-specific Determine to determine remote process configuration information before making.Can be at network calculations supplier 106 in the middle part of remote session Dividing or performing completely in application program needed the subprocess of a large amount of computing resources in the past.Pass through explanation, before historical analysis It can be considered as being used as one or more of basic many factors of remote process configuration information or can be with future anticipation Have in program is made in decision decisive.By explanation, such as above with reference to Fig. 5 descriptions, client computing devices can be with The processing of monitoring application program and the use of resource when running application program, and can determine to be updated again at any time it is remote Cheng Jincheng configuration informations.By explanation, this updated remote process configuration information can be by subprocess or subprocess Various aspects be moved to remote session from locally executing, be moved to and locally execute or its any combinations from remote session.
In other embodiments, the fragment of application content, application program or the information associated with application program It can specify that or ask the specific subprocess of remote processing or use particular remote process with resource tag, metadata or other forms Configuration information.Client computing devices 102 can make the request when making decision or the request can be considered as into decision One of many factors to be considered in program.
By explanation, client computing devices 102 can determine long-range meeting based on any factor or factor combination Talk about configuration information.For example, client computing devices 102 can determine remote session configuration information based on single factor, or can So that proportion is assigned into one or more factors when making determination.In some embodiments, client computing devices 102 The process of determination can be changed based on above-mentioned one or more factors.For example, by being not used by bandwidth remaining network The client computing devices 102 communicated with network calculations supplier 106 can give the factor of the network demand of such as remote session Low-gravity is assigned, and the factor of the delay of the user mutual of application program progress can be given and assigns high specific weight.In another reality Apply in scheme, the client meter communicated by band-limited networks or intermittent network connectivity with network calculations supplier 106 The factor for calculating the efficiency that device 102 can be communicated to disposal by network with remote session assigns high specific weight.Can by explanation Know, can be by client computing devices 102, network calculations supplier 106, replacement computing device and/or any other device, group Part or entity determine any one or more aspects or the part of remote session configuration information.Remote session configuration information is really Surely it can completely or partially be based on from client computing devices 102, network calculations supplier 106, replacement computing device and/or appoint The data that what any combinations of its device, component or entity are received, obtain or collected.
At square frame 612, client computing devices 102 can be identified as local component by remote session configuration information illustration Any component or subprocess.Client computing devices 102 can such as handle with any local component of illustration, change and/or Data conversion or display interface required for showing the result returned as remote session.It is used as particular instance, remote session The user interface of application program and relevant processing may be identified as local subprocess by configuration, thereby increases and it is possible to by application program Content panel in image display and processing be identified as long-range subprocess.According to this example, client computing devices 102 The interface assembly object associated with application program and pertinent code can be loaded into the memory at client computing devices In.In order to continue this example, client computing devices 102, which can also be loaded, is linked to loaded native object and code Data conversion interface or component.Data conversion interface or component can dispose the processing knot for being received from network calculations supplier 106 The really processing and display (such as corresponding to the RDP display datas of graphical representation).
At square frame 614, remote session configuration information can be supplied to network calculations to supply by client computing devices 102 Business 106.Initial processes data can also be supplied to network calculations supplier 106 by client computing devices 102.In illustrative reality Apply in scheme, network calculations supplier 106 matches somebody with somebody confidence using registration API to receive remote session from client computing devices 102 Breath.
Such as discussed above with reference to square frame 610 and 612, remote session configuration information can be by one or more applications of program Program subprocess is identified as remote session.In one embodiment, remote session configuration information can include corresponding to being used for The executable code of the one or more aspects for recognizing subprocess performed at network calculations supplier 106.In another reality Apply in scheme, remote session configuration information can include pair with for perform by remote process recognize subprocess it is associated One or more references of executable code.For example, network calculations supplier 106 can be in local or networking storage assembly The copy of application program is run at client computing devices 102.In this example, remote session configuration information can be in application The reference or identification of the subprocess (for example, instruction set and/or object) associated with remote session are provided in program.In another reality Apply in scheme, remote session configuration information can include corresponding to the remote session being used at example network calculating supplier 106 The executable code of subprocess, the actual copy of object and/or data.
In one particular embodiment, network calculations supplier 106 can at NCC POP138 illustration application program Full instance.For example, network calculations supplier 106 can be with illustration and the application journey of the execution at client computing devices 102 The application program that sequence is run parallel.In another embodiment, network calculations supplier 106 can be with illustration and execution one or many Individual remote session, each corresponds to the subprocess of application program performed at client computing devices.
Be supplied to network calculations supplier 106 remote session configuration information can with or be followed by based in network Calculate the initial processes data handled at supplier 106 at one or more of remote sessions of illustration.Can by explanation Know, initial processes data can include data set, one or more references to data or its any combinations.For example, can ring In user the application program at client computing devices 102 should be loaded to editing the request of specific image.For particular instance Purpose, we it will be assumed that the remote session configuration information associated with application program is provided at network calculations supplier 106 Remote session in perform application program image operation control subprocess.By explanation, remote session may be needed based on spy Determine the copy of image to be operated.In one embodiment, if image is locally stored in client computing devices 102 Place, then client computing devices 102 can be using the data set of the copy including image as initial processes data transfer to objective Family end calculates supplier and memory supplier.By explanation, in each embodiment, client computing devices can be with According to the API at network calculations supplier 106 or according to one or more communication protocols as specified in remote session configuration information View transmission image.
In order to continue above-mentioned particular instance, in another embodiment, we may assume that image is stored in long-range storage position Put (such as the storage assembly that associated with network calculations supplier 106 or addressable network calculates supplier 106) place, client Computing device 102 can be provided to network calculations supplier 106 includes the initial processes number of the network address and/or other information According to so as to allow network calculations supplier 106 to obtain and/or load image.In one embodiment, image can be deposited locally Storage can be cached or be reflected at one or more network storage components at client computing devices 102.Can by explanation Know, on this embodiment, the reference and/or inspection of the image of the transmittable storage of client computing devices 102 in the buffer And/or hashed value is to determine whether cached image is newest or correct copy.By explanation, if cached Image is not the latest edition of image, then network calculations supplier 106 can from client computing devices 102 ask new images and It is not to obtain out-of-date image from caching.
, can be by client computing devices 102, network calculations supplier 106 or any other in each embodiment The reference of device or component determination be made as to whether data or real data from client computing devices 102 is supplied to network meter Calculate supplier 106.By explanation, it can determine whether to provide data or reality based on many factors alone or in combination The reference of data.These factors include but is not limited to connectivity or device and the data storage device or group of networks of data storage Internuncial one or more features, data characteristics, computing device 102, network calculations supplier 106 or other dresses between part The resource at connection features, computing device 102, network calculations supplier 106 or other devices between putting is used.For example, Assuming that client computing devices 102 have intermittent communication network connectivity.Network calculations supplier 106 may desire to even Connecing property available or expected connectivity receives the copy of real data when losing.Data can be stored in any shared or be locally stored Device, networking component or with network calculations supplier 106, client computing devices 102 or any other device, entity or component At associated other data storage devices.
After remote session configuration information and initial processes data are provided, network calculations supplier 106 can be with illustration pair Should be in one or more remote sessions of the subprocess of application program.Illustrative servers are discussed in more detail below with reference to Fig. 7 Hold new remote session routine.
At square frame 616, client computing devices 102 can be exchanged with the remote session at network calculations supplier 106 Process data and result.By explanation, network calculations supplier 106 can be handled by remote session by corresponding to The result of result of process data be supplied to client computing devices 102.By explanation, result can be with Any form as known in the art or form are provided to client computing devices 102.In one embodiment, Ke Yiyou The communication protocol for the remote session being determined in remote session configuration information determines the form of result.
For example, the remote session configuration information associated with graphics process application program can specify that:Corresponding to disposal bag Include the processing of the data set of the big image for display subprocess remote session using RDP agreements so that result to be transmitted To client computing devices 102.By explanation, result may correspond only to show at client computing devices Image section or resolution ratio, and the speed therefore transmitted may more be faster than transfer rate when needing whole image file. In another embodiment, the remote session configuration information associated with database viewer application program can specify that:Correspondence Returned in disposal the subprocess of the execution of the search of mass data storehouse table remote session can specify that by File Transfer Protocol transmission by The result of comma separated values (CSV) form composition of compression.As described above, result may be corresponded only in client The section of the data set shown at computing device is held, and therefore may only include the returned resultful a small amount of subsegment of institute.Pass through Illustrate to understand, the downward roll screen of user at client computing devices 102 and see that the request of more results will make to correspond to will be aobvious The result updated for the additional result shown is sent to client computing devices 102.Pass through explanation, only return pair Client computing devices 102 should can be allowed to pass through without managing completely in the result of the subset of processed data set Data set saves memory or other computing resources.
In one embodiment, network calculations supplier 106 can be provided with including the data of safety or exclusive data The associated result of collection.By explanation, safety or exclusive data can be stored in network calculations supplier 106 and sentence Prevent from carrying out propagating or storing without permission at dangerous client computing devices 102.By explanation, result can Represented with the non-sensitive aspect for corresponding only to requested data, and network calculations supplier 106 can not send safety or specially With representing for data, or the finite presentation of safety or exclusive data can be sent.
As particular instance, in one embodiment, result can be included corresponding to related to application program 122 The interface of connection or the display data of application content.For example, NCC POP 138 can handle run in remote session should With the process data in the parallel instances of program, and can generate including will via such as RDP (RDP) communication Agreement is sent to the display content of the parallel instances of the application program of client computing devices 102 or the result at interface. In one embodiment, NCC POP 138 can be sent corresponding to the interface in application program and the layout of content and display RDP results.In another embodiment, NCC POP 138, which can only be sent, includes any display application program and content RDP results, without send include the interface element associated with application program in any one RDP processing tie Really.By explanation, the RDP results only included corresponding to display application content can allow client to calculate real Application program at example 102 is shown by the way that RDP results are gathered in the content display region of application program in described Hold and without any further processing.
Client computing devices 102 can obtain the result that is provided by one or more of remote sessions and can be with Result is supplied to by application program 122 by DTS or component or other means.In one embodiment, The application program 122 performed at client computing devices 102 specifically can be write or be configured to remote session processing, and There can be one or more assemblies to dispose the processing, conversion and display of the result associated with process data.For example, It is written into have for the graphics application program of remote session processing and receives to correspond to image from network calculations supplier 106 The component of the RDP results of the expression of file, and the content in the expression more new application 122 of image can be used Display panel.In another embodiment, it can not be written in what is performed at client computing devices 102 to remote session processing Application program 122, and client computing devices 102 can obtain the result of application program 122, the processing result To extract information, and by the information extracted be placed in the appropriate memory location associated with application program 122, cache location, In register or storage location.From the viewpoint of application program 122, result is so it seems that may be by client The thread or other subprocess that are locally executed at computing device and generate.
Extra process data can also be supplied to long-range at network calculations supplier 106 by client computing devices 102 Session.In one embodiment, serving data to network calculations supplier 106 can include providing such as above with reference to square frame 614 discuss data, with reference to etc..For example, in each embodiment, client computing devices 102 can provide data or right Reference (including file, user interactive data, operating system or object logic structure, variable data, binary system or the structure of data Change application process data or any other species or the data of form for being handled under remote session).By explanation, One or more remote sessions can handle this data and as described above as return to result.
The remote session of exchange data and result at network calculations supplier 106 can be continued to terminate, apply Program 122 terminate or the disconnecting between network calculations supplier 106 and client computing devices 102 untill.The knot of routine 600 Beam is in square frame 618.
Fig. 7 is the flow chart for showing the new remote session routine 700 implemented by Fig. 1 network calculations supplier 106.Newly Remote session routine 700 starts from square frame 702.At square frame 704, network calculations supplier 106 is from client computing devices 102 Obtain remote session configuration information.Such as described above with reference to Fig. 6, in one embodiment, remote session configuration information can be with Identification and/or describe at the client computing devices 102 for answering illustration remote session perform application program it is one or more Subprocess.By explanation, remote session configuration information can be accompanied by initial processes data for remote session at Reason.
At square frame 706, network calculations supplier 106 can be based on remote session configuration information selection correlation NCC POP With the new remote session of illustration.Such as discussed above with reference to Fig. 1, network calculations supplier 106 can include across any amount of physics Or any amount of NCC POP of logical place distribution.Network calculations supplier 106 can be based on any amount of factor (bag Including (but not limited to) can be with NCC POP resource (for example, available memory, processor load, network load etc.), by remote session Financial cost, client computing devices 102 respective NCC POP location, NCC POP buffer status of the trustship at NCC POP (for example, whether Application Instance, application process data or another resource have been stored in NCC POP cachings) etc.) selection NCC POP is with trustship remote session.
In one embodiment, network calculations supplier 106 can select multiple NCC POP with trustship remote session. For example, network calculations supplier 106 can select two NCC POP with Different Logic position in a network.Each NCC POP can independent illustration represent the remote sessions of client computing devices 102, and client computing devices 102 can be from first NCC POP receive data to return to result.After being selected by network calculations supplier 106, NCC POP 138 can be obtained Take and the remote session configuration information for being associated the remote session of trustship and one or many of any related initial processes data Individual aspect.In one embodiment, NCC POP 138 can be matched somebody with somebody remote session by the component of network calculations supplier 106 Confidence breath is forwarded to NCC POP 138.In another embodiment, NCC POP 138 or client computing devices 102 can connect Link information is received, so as to allow to set up direct communication between NCC POP 138 and client computing devices 102.Pass through explanation Understand, NCC POP138 there can be remote session configuration information and/or be initially supplied to the initial of network calculations supplier 106 Process data, can have information subset (for example, the specific son that only there is description to correspond to the application program that remote session is asked The information of process) or can be provided the extraneous information not included in original remote session configuration information.
At square frame 708, after selection NCC POP 138, network calculations supplier 106 can make NCC POP 138 The new remote session of illustration.By explanation, the new remote session of illustration can be included in NCC POP 138 and load new virtual machine reality Example and/or Application Instance, reserved or distributor memory, storage device or spatial cache, process or time, Netowrk tape Other calculating of wide or new remote session or Internet resources.By explanation, one or more features of new remote session can With based on the information being included in remote session configuration information.For example, remote session configuration information can include executable code And/or reference, the one or more objects or object model, framework or use for being handled by executable code of executable code Identification, client computing devices type or Application Type, device operation system in data conversion and/or the framework of processing System, device screen resolution ratio show area, application deployment information or setting and/or definition application 122, using journey Any other information of the processing of sequence subprocess or client computing devices 102, priority or ability.
In one embodiment, NCC POP 138 can be used and the same or similar ability illustration of application program 122 Application Instance.By explanation, maintain concurrent application can using with the same or similar ability of application program 122 To allow NCC POP 138 in the case where running on the whole background of the application-specific 122 on particular clients computing device 102 Treatment progress data.In another embodiment, NCC POP 138 can be used and the same or similar energy of computing device 102 Power illustration virtual machine instance.By explanation, remain virtual using with the same or similar ability of client computing devices 102 Machine example can allow NCC POP 138 according to the appropriate dimension that is shown on particular clients computing device 102 and layout come Treatment progress data.
In some embodiments, the replacement of the new remote session of issue, NCC are used as in addition to issuing new remote session or POP 138 can use existing virtual machine instance and/or application program or remote session example.For example, in selection NCC POP After 138, network calculations supplier 106 can cause NCC POP 138 to make the example of remote session (for example, corresponding to application The existing remote session of the subprocess of program 122 or the existing parallel instances of application program 122) and/or virtual machine instance is (such as Before at the NCC POP 138 illustration one or more examples) ask phase with the remote session in remote session configuration information Association.By explanation, existing remote session and/or virtual machine instance can correspond to and application program and client calculating Another remote session (such as concurrent application or other long-range sub- routines) that device 102 or user are associated, or can be Illustration remote session before associated with different clients computing device, user or Application Instance.In other embodiment party In case, NCC POP 138 can be with the other application program process in the new remote session of illustration or existing virtual machine instance, or can be with The use of illustration software process and nearest illustration software process before being combined with any amount of other manner.In other embodiment party In case, network calculations supplier or NCC POP 138 can based on the single sub- routine defined in remote session configuration information come Any amount of new virtual machine instance of illustration and/or remote session (or fully using existing exemplary embodiments).
At square frame 710, network calculations supplier 106 can handle in square frame 704 above or provide afterwards it is any just Beginning process data.Persons skilled in the art it should be appreciated that in each embodiment, process data (for example, file data, Application program or operating system object, variate-value etc.) original binary that is provided by client computing devices 102 is provided Data, compression or encryption data, be stored in digital document cabinet or other network storage locations or with network calculations supplier 106 Or the data at the associated caching component of client computing devices 102 etc..Pass through explanation, network calculations supplier 106 One or more content sources (such as content can will be supplied to based on the resource request including any reference in process data Supplier, content transmission network (CDN) service supplier and caching).
Continue square frame 710, network calculations supplier 106 can handle initial processes data will be supplied to client to generate The result of computing device 102.As described above, in one embodiment, the remote session at NCC POP 138 can be wrapped Include the executable code associated with the subprocess of application program.By explanation, if corresponding to remote session is held Line code is made up of all codes less than application program, then NCC POP 138 can perform the execution ring of code with illustration Border or testing appliance.By explanation, illustration performing environment can include one or more objects or variable being loaded into void In the memory or the device memory associated with remote instance of plan machine example.Used for example, the illustrations of NCC POP 138 correspond to It can be loaded any variable used by subprocess in the code segment of the subprocess of processing image and be loaded into image file In memory, and special memory or storage location can be initialized in addition to gather the result of code execution.From remote session From the viewpoint of the subprocess of interior execution, it appears that seem the code in the application program at client computing devices 102 It is normal to perform.
In one embodiment, network calculations supplier 106 sequentially or simultaneously can also include Parallel application journey by illustration The remote session of sequence process and the Application Instance run at client computing devices 102.By explanation, except Beyond the application program performed at client computing devices, it can also add in the remote session at any amount of NCC POP Carry concurrent application.Each remote session can be same or different from the application code of any other remote session with illustration Aspect or scope, and each remote session can use the communication protocol for being same or different from any other remote session.Carry The example progress of the application program from user and client computing devices can be included by supplying NCC POP 138 process data Interaction user interactive data and make application program maintain parallel work-flow necessary to any other system, application program or dress Put event.By explanation, concurrent application is maintained to allow not needing special execution ring in the fragment for performing code Performed in the case of border or testing appliance at NCC POP 138 and handle function of application.
In one embodiment, can be performed at client computing devices 102 and simultaneously at NCC POP 138 just Suspending at the concurrent application example often performed or unloading identification is used for what is remotely performed by remote process configuration information Subprocess.Concurrent application at NCC POP 138 complete subprocess processing some in terms of after, can will processing knot Fruit is supplied to the concurrent application at client computing devices, and parallel instances can be performed parallel.In some implementations In scheme, suspend at client computing devices 102 or unload subprocess and wait the result from NCC POP 138 can Processing of the computing resource at client computing devices 102 is submitted to allow client computing devices 102 to avoid.Implement another In scheme, concurrent application example at client computing devices 102 NCC POP 138 can be performed be relevant to remotely The processing for performing parallel subprocess execution of subprocess at session.By explanation, client computing devices 102 can be with Produce subprocess result set, and from NCC POP 138 receive corresponding to subprocess result result.In each implementation In scheme, client can use this result duplicate to carry out the accuracy of collation process result, or can be (for example, from local One of subprocess or parallel any amount of NCC POP for performing remote session) receive the first result of return, and cancel compared with The further execution of slow program.By explanation, the first result of return may insure visitor by parallel operation program and receiving Family end computing device 102 presents the result to user as early as possible.
Such as discussed above with reference to Fig. 3, the remote session performed at NCC POP 138 can be directly from client computing devices 102 obtain process data.In other embodiments, can in response to remote session configuration information by NCC POP 138 from Content provider CDN or caching retrieval process data.The process data provided by client computing devices 102 can include with it is remote Journey session associated all data or content, or can supplement in the caching being present in NCC POP 138, be retrieved from content Supplier or CDN or the content for being obtained from some other source.In one embodiment, NCC POP 138 can delay from local All request contents of acquisition are deposited, and any untreated resource or content can not be obtained from client computing devices 102.By saying Bright to understand, NCC POP 138 can obtain process data from client computing devices 102 whenever processing is needed, or can tie up The collection parallel for holding application process data and/or content is for processing.
With continued reference to Fig. 7, at square frame 702, initial treatment result can be supplied to client by network calculations supplier 106 Computing device 102 is held for further processing and display.At square frame 714, network calculations supplier can continue and client Exchange data and result.For the purpose of another example, implemented below with reference to Fig. 8 descriptions by client computing devices 102 Illustrative remote session user mutual routine 800.At square frame 716, new remote session routine 700 terminates.
By explanation, in one embodiment, it can be performed by any other computing device or computing device collection It is described herein as the functional one or more aspects performed by network calculations supplier 106.For example, in an embodiment party , can be by the associated one or more meters of the user with client computing devices 102 or any other user or entity in case Device (personal computer, tablet personal computer, smart mobile phone etc.) execution is calculated to be described herein as by network calculations supplier 106 The feature of execution.In one embodiment, one or more of computing devices can physically or logically low coverage client Computing device 102.One or more of computing devices can by wide area network or LAN by wired or wireless connection chain Connect, or can be by any amount of transmission mechanism or communication protocol (including bluetooth, infrared ray etc.) link.For example, in a reality Apply in scheme, remote session configuration information can be supplied to by the client computing devices 102 of such as smart mobile phone by bluetooth Second computing device (such as personal computer nearby).Based on remote configuration information, the second computing device can be corresponded to illustration One or more remote sessions of each subprocess of the application program run in client computing devices 102, and can be with Result is returned into client computing devices 102 with the identical mode of network calculations supplier 106 discussed above.Pass through Illustrate to understand, illustration remote session can allow the network calculations when only using the disposal ability of local device on the local machine Many advantages of remote processing in supplier 106.In one embodiment, client computing devices 102 can be by first Remote session configuration information, which is supplied to, substitutes computing device so as to substitute computing device illustration corresponds to application program 122 first First remote session of subprocess, and the second remote session configuration information can also be supplied to network calculations supplier 106 with The illustration of network calculations supplier 106 is set to correspond to the second remote session of the second subprocess of application program 122.Can by explanation Know, any amount of replacement computing device or network calculations supplier 106 can be with illustrations and at client computing devices 102 The associated remote session of one or more subprocess of the application program 122 of operation.
In another embodiment, client computing devices 102 can be provided in remote session configuration information:If certain A little conditions are true, then the remote session of the specific subprocess of the local device illustration application program of such as personal computer. If being unsatisfactory for condition, then remote session configuration information illustration remote session and/or can not be submitted to by local device Network calculations supplier 106 is with the on the contrary or in addition illustration remote session of request network calculations supplier 106.By explanation, Remote session illustration exists and there may be any amount of steering rank.If for example, remote session configuration information it can be stated that Meet some first conditions, then the first local device illustration remote session, and if be unsatisfactory for, then if meeting some Two conditions, then the second local device illustration remote session, and if be unsatisfactory for, then the illustration of network calculations supplier 106 is remote Journey session.In another embodiment, remote session configuration information is it can be stated that first network calculating supplier 106 illustration is remote Journey session, and if not, so second network calculations supplier illustration remote session etc..In other embodiments, one or Multiple devices or one or more network calculations suppliers 106 can illustration remote sessions parallel.For example, client computing devices 102 can be supplied to remote session configuration information replacement computing device and network calculations supplier 106.By explanation, Remote session configuration information can make replacement computing device and the equal illustration of network calculations supplier 106 and the phase of application program 122 The remote session being associated with subprocess.In one embodiment, computing device 102 and network calculations supplier 106 are substituted The instruction associated with subprocess can be handled, and result can be supplied to client computing devices.Client Computing device can receive the first result of offer, or can receive special based on priority that is predefined or being dynamically determined Determine result.
Although the instruction fallen beyond another device or network calculations calculating supplier (that is, is submitted on application here The request of the illustration of the remote session of the subprocess of program or information) it is described as being included in and is generated by client computing devices 102 Remote session configuration data in, it is to be appreciated that can be by any amount of device as described above or network calculations supplier 106 are dynamically determined the decision outside replacement device or network calculations supplier, and instruction can include or be attached to long-range In session configuration information or it is encoded and/or is submitted to other devices or network calculations supplier by any other means.
Fig. 8 is the flow chart for showing the remote session user mutual routine 800 implemented by client computing devices 102. Remote session user mutual routine 800 starts from square frame 802.By explanation, remote session user mutual routine 800 can be with After starting from the new remote session at illustration NCC POP 138.For example, program user interaction routine 800 can correspond to The square frame 714 of texts and pictures 7.
By explanation, the application program at client computing devices 102 can have one or more interactive elements, List, button, animation etc..The user mutual carried out with these interactive elements may be needed by one or more subprocess Manage and display data.For example, selecting the element in the drop-down menu in application program to need to handle and can change application The configuration of program or visual appearance.In other embodiments, any other system or application event or other triggering journeys Sequence may need processing.For example, the data processing subprocess completed in application program can trigger execution data formatization simultaneously Show subprocess.Understood and such as discussed above with reference to Fig. 6 and Fig. 7 by explanation, depending on remote session configuration information, Ke Yi Processing or the long-range meeting that can be performed disposal is handled at NCC POP 138 are locally disposed at client computing devices 102 Words.If for example, remote session configuration information regulation carries out a large amount of processing localities, then can be in client computing devices 102 Locally dispose various user mutuals and other processing in place.By explanation, in some cases, in client computing devices User mutual is locally disposed at 102 can allow to obtain preferably response and less delay.For example, because corresponding to simple The process data of user mutual (for example, select radio button or print to word in some column) need not be sent to NCC POP 138 is for processing, so the interaction can be performed faster.
As another example, if a large amount of remote processings of remote session configuration information specified content, then can by with All user mutuals disposal that display content is carried out is remote at one or more remote sessions of illustration on each NCC POP Journey user mutual.For example, in one embodiment, such as described in reference diagram 7 above, NCC POP 138, which can be run, to be included in The remote session of the parallel instances of the application program 122 performed at client computing devices 102.By explanation, user is defeated Entering (for example, input through keyboard and cursor position) can be encapsulated in RDP protocol Data Units and across a network 104 is transferred to NCC The concurrent application in remote session at POP 138.By explanation, NCC POP 138 can answer user mutual For concurrent application and by by the renewal bitmap and interface corresponding to application program and the renewal expression of application content The result of data composition is transmitted back to client computing devices 102.By explanation, because must be passed by network Intersection number according to and data are limited to network delay, the user mutual of long-range disposal and application program can be right at NCC POP 138 Interface response has a negative impact;However, because NCC POP 138 processing delay may be substantially less than client and calculate dress The processing for putting 102 is delayed, it is necessary to which the program largely handled can be better carried out when being handled as long-distance user's interaction.
At square frame 804, client computing devices 102 obtain subprocess event.By explanation, subprocess event can Entered with the son including any system or user mutual, application program or system event or trigger or execution application program 122 The other types of data of the one or more aspects of journey.This event can include with it is as described above locally interface assembly or The interaction that content is carried out, or can be by the event of another subprocess or the operating system generation of application program.Depending on such as Fig. 6 Divided with the essence and the processing as defined in remote session configuration information of Fig. 7 and above-described component or element, by subprocess Handling this event may need locally and/or remotely to be handled.At square frame 806, client computing devices 102 (for example, Based on remote session configuration information) determine the interaction process demand of subprocess.
At determining square frame 808, if entirely local processing subprocess or subprocess have any aspect of processing locality (for example, simple interface feedback, preparation of process data etc. that remote session will be supplied to), then routine 800 is moved to square frame 810 to manage the local aspect of subprocess in client computing devices 102 everywhere.Understood by explanation and as described above, processing is all In terms of such as local update interface assembly and other elements application program can be allowed to provide respective user interface and content.At place Manage subprocess any local aspect after or if subprocess without any local element (for example, using RDP communication protocols To receive the application program of the simultaneously bitmap of display processing result), then routine 800 is moved to determining square frame 812.If completely remote Journey processing subprocess or subprocess, which have, needs long-range aspect to be processed, then routine 800 is moved to square frame 814 and will enter number of passes According to being supplied to network calculations supplier 106.In one embodiment, in the feelings of a large amount of server end remote session configuration informations Under condition, process data can include user interactive data, and such as input data, cursor position or input through keyboard are (for example, be encapsulated in In RDP or similar agreements).In some embodiments, including the long-distance user interaction data of such as cursor position enters number of passes According to can constantly be supplied to network calculations supplier 106, and in other embodiments, including long-distance user's interaction data enters Number of passes evidence may only be provided to network calculations supplier 106 when with particular event or associated subprocess execution.
At square frame 816, client computing devices 102 are obtained from network calculations supplier 106 updates result, network The process data of the processed any offer of supplier 106 is provided.At square frame 818, client computing devices 102 are to result Required any extra process and/or the processing locality performed in block 810 are performed (for example, matching somebody with somebody confidence based on remote session Breath).In one embodiment, this can integrate the stream for returning to application program 122 including changing or preparing result Cheng Zhong.At square frame 820, program user interaction routine 800 terminates.By explanation, it can be triggered in response to other events The execution of one or more subprocess of application program 122 and routine is performed into any number of times again.
By explanation, application program is can terminate in by the remote session of the illustration of network calculations supplier 106 or is answered Terminated with some aspect of program or when terminating or can terminate in remote session by being performed in client computing devices 102 When subprocess replaces (if for example, updating remote process before remote process configuration information regulation should be locally executed) or can root Terminated according to timer or other events., can be by client computing devices 102, network calculations supplier by explanation 106th, NCC POP 138 or its any combinations determine to terminate remote session.In one embodiment, if remote session by Still Application Instance is terminated automatically in time-out to be still stored at client computing devices 102 (if for example, user has stopped Only interacted with application program and be sent to remote session without more process datas), then what subsequent user interacted with content Attempt to make network calculations supplier 106 according to the final state of termination session come the new remote session of illustration.Can by explanation Know, the computing resource that remote session can allow network calculations supplier 106 to save at NCC POP is terminated upon timing-out. In one embodiment, remote session has been terminated during Intervention periodicity, this process for application program 122 and/or It is still transparent for user at client computing devices 102.
In another embodiment, even between lost customer ends computing device 102 and network calculations supplier 106 Connection is (for example, application program 122 has terminated at client computing devices 102 or client computing devices 102 lose network connection Property) after, network calculations supplier 106 can still maintain the application program associated with application program 122 and/or system shape State.By explanation, the second example of application program 122 is proceeded by client computing devices 102 or net is resettled It is (herein that network connectivity can make application program be connected to network calculations supplier 106, acquisition and the final state of application program It can be referred to as " application program background ") associated status data and/or result, and it is extensive from application program to stop part Multiple local/remote is performed.By explanation, it can be given from network calculations supplier retrieval status data and/or result User provides the experience of the seamless continuity of his early stage application program conversation.
In another embodiment, the application performed even in client computing devices 102 and network calculations supplier 106 After connection between program 122 is lost, network calculations supplier 106 can still continue with data or execution and application program 122 associated instructions.For example, can be at network calculations supplier 106 by the user at client computing devices 102 The complexity or resource-intensive subprocess of application program 122.For purposes of this example, at network calculations supplier 106 Start after subprocess, user can cut off the power supply of client computing devices 102, terminate at client computing devices 102 The example of the application program 122 of operation or the network connectivity for losing network calculations supplier 106.Even if client computing devices 102 and network calculations supplier 106 at application program 122 between connection no longer act on, network calculations supplier 106 still may be used To continue executing with the processing associated with subprocess.In this example, when user recovers to use application program at the subsequent moment When 122, client computing devices 102 may be coupled to network calculations supplier 106 and obtain when application program 122 not with net Network calculates any result handled when supplier 106 communicates.Application program 122 can perform it is any it is further processing and to User at client computing devices 102 shows these results.By explanation, when network calculations supplier 106 not with Result when client computing devices 102 communicate at network calculations supplier 106 can allow client computing devices 102 The user at place starts to calculate complicated or intensive procedure and recovers retrieval result at the subsequent moment, and does not require that client calculates dress Put 102 lasting processing or operation application program 122 or maintain and the Continued communication of network calculations supplier 106.
In each other embodiment, multiple application program backgrounds can be maintained corresponding to the user with application program Before interactive at the network calculations supplier 106 of state or condition.Therefore, application-specific background can be described in loading Select to continue the work under application program background before by user or client computing devices 102 after the example of application program Make.For example, the graphical interfaces for promoting one or more selections of state before can be presented to user.In addition, implementing another In scheme, user can be created the interaction for allowing to carry out parallel (or substantially parallel) branch by application program background before.
Each described disclosed embodiment can especially be described by following clause:
A kind of computer implemented method for being used to remotely perform management of clause 1., it includes:
Initializers process instance;
The software process configuration information associated with the software process example is obtained, the software process configuration information is known One or more subprocess of not described software process example, wherein one or more of sons of the software process example enter Each include multiple executable instructions in journey;
The remote process configuration that the software process configuration information determines the software process example is at least partially based on, its Described in remote process configuration identification carried out in network calculations suppliers described in the remote-operated software process example Subprocess in one or more subprocess, and communication protocol of the wherein described remote process configuration identification for exchanging data;
Be supplied to the network calculations supplier for processing process data according to the communication protocol, wherein it is described enter Number of passes is according to including the data set associated with the software process example and with will be performed in the network calculations suppliers The associated one or more executable instructions of the subprocess;
One or more results are obtained from the network calculations supplier according to the communication protocol, wherein described one The result for the process data that individual or multiple results correspond at the network computing components and storage assembly, bag Include the execution of one or more of executable instructions;With
The acquired one or more results of processing use for the software process example.
Computer implemented method of the clause 2. according to clause 1, wherein the communication protocol packet includes Hyper text transfer association Discuss (HTTP), text transfer protocol (FTP), RDP (RDP), Virtual Networking Computing (VNC) agreement, X-Windows At least one in agreement, Remote Frame Buffer agreement.
Computer implemented method of the clause 3. according to clause 1, wherein determining remotely entering for the software process example Journey configuration includes determining that remote process is configured based on the following:The data characteristics associated with the software process example, institute That states software process example calculates configuration file, calculating configuration file, the software process of the subprocess of the software process example Example memory usage amount, software process example processor usage amount, software process instance data storage device usage amount, software Process instance Web vector graphic amount, the feature of the client computing devices, the feature of the network calculations supplier, the client Current resource usage amount, the network calculations suppliers at end the configuring of computing device, the client computing devices Current resource usage amount, the feature of network connection, the priority or predetermined configuration associated with user.
A kind of system performed for remote process of clause 4., it includes:
One or more computer processors;
At least one computer storage, it can be by least one at least one or more described computer processor Access;With
Long-range to perform management assembly, it includes the executable software mould performed by one or more of computer processors Block, wherein the long-range execution management assembly can be operated to:
It is determined that the remote process for software process example is configured, wherein the remote process configuration identification software enters At least one subprocess of journey example is to carry out remote operation;
The process data associated with least one subprocess described in the software process example is supplied to network meter Calculate supplier, wherein the process data at least recognize it is associated with least one described subprocess of the software process example Data at least one and the multiple instruction associated with least one subprocess described in the software process example;
One or more results, one or more of results and institute are obtained from the network calculations supplier Stating the execution of one or more of the multiple instruction of network calculations suppliers is associated;And
One or more results according to acquired in the software process instance processes.
System of the clause 5. according to clause 4, wherein remote process configuration identification is used for and the network calculations The communication protocol of data is exchanged with storage assembly.
System of the clause 6. according to clause 5, wherein in the process data and one or more of results At least one be to be encoded including the following form of at least one:Text, extensible markup language (XML), hypertext mark Remember language (HTML), JavaScript object representation (JSON), executable binary system, compressed format, encryption format, software generation Code form, picture format, video format and audio format.
System of the clause 7. according to clause 4, wherein the client computing devices process data is supplied to it is described Network calculations supplier simultaneously obtains one or more results by network connection from the network calculations supplier.
System of the clause 8. according to clause 7, wherein the network connection is intermittent network connection.
System of the clause 9. according to clause 4, wherein at least one described subprocess includes the first subprocess and second Subprocess.
System of the clause 10. according to clause 9, wherein first subprocess is associated with the first communication protocol and institute State the second subprocess associated with the second communication protocol.
System of the clause 11. according to clause 4, wherein the process data packet includes related to the software process example The data set of connection.
System of the clause 12. according to clause 11, wherein one or more of results are at least corresponded to and institute State the expression of the associated data set of software process example.
System of the clause 13. according to clause 12, wherein the long-range execution management assembly can also be operated to display The expression of the data set.
System of the clause 14. according to clause 13, wherein the expression of the data set is included all or fewer than described Data set.
System of the clause 15. according to clause 4, wherein the long-range execution management assembly can also be operated at least portion Divide and the remote process configuration that data determine software process example is performed based on software process.
System of the clause 16. according to clause 15, wherein the software process, which performs data, to be entered based on the software The monitoring of the execution of journey example.
System of the clause 17. according to clause 16, wherein it is to be based on and one or many that the software process, which performs data, The monitoring of the execution of the relevant one or more software process of the software process example at individual third party's computing device.
System of the clause 18. according to clause 15, wherein the long-range execution management assembly can also be operated to be based on The software process performs the software process example that data identification is remotely performed in the network calculations suppliers Subprocess.
System of the clause 19. according to clause 15, wherein the long-range execution management assembly can also be operated to be based on The software process, which performs data, makes communication protocol associated with the subprocess of the software process example.
System of the clause 20. according to clause 4, wherein remote process configuration is to be based on being obtained from the network meter Calculate the information of supplier.
A kind of computer implemented method performed for remote process of clause 21., it includes:
Initializers process instance;
The remote process configuration of the software process example is determined, wherein the remote process configuration identification software enters At least one subprocess of journey example;
Process data is supplied to network calculations supplier, wherein process data identification is entered with least one described son At least one in the associated data of journey and the multiple executable device instructions associated with least one described subprocess;
One or more results are obtained from the network calculations supplier, wherein one or more of results It is associated in holding for one or more of the multiple executable device instruction associated with least one described subprocess OK;With
One or more results according to acquired in the software process instance processes.
Computer implemented method of the clause 22. according to clause 21, wherein the client computing devices will enter number of passes According to be supplied to the network calculations supplier and by network connection from the network calculations supplier obtain it is one or more from Manage result.
Computer implemented method of the clause 23. according to clause 21, wherein the process data packet is included and the software The associated data set of process instance.
Computer implemented method of the clause 24. according to clause 23, wherein one or more of results are at least Corresponding to the expression of the data set associated with the software process example.
Computer implemented method of the clause 25. according to clause 24, wherein according to the software process instance processes institute The one or more results obtained include causing the display of the expression of the data set.
Computer implemented method of the clause 26. according to clause 25, wherein the expression of the data set is included less In all data sets.
Computer implemented method of the clause 27. according to clause 21, it also includes:
The software process example is terminated at the client computing devices;
Stating the second software process example of initialization at client computing devices;With
One or more results are obtained from the network calculations supplier, wherein one or more of results It is associated with the final state of the software process example before terminating at the client computing devices.
Computer implemented method of the clause 28. according to clause 27, wherein obtaining one from the network calculations supplier Individual or multiple results are based on the finite element network connectivity between the client computing devices and network calculations supplier.
Computer implemented method of the clause 29. according to clause 27, it is additionally included at the client computing devices The software process example is terminated, wherein being included in from the network calculations supplier one or more results of acquisition described Software process example obtains one or more results before terminating.
Computer implemented method of the clause 30. according to clause 21, it also includes the second process data being supplied to the One computing device is for processing, wherein second process data recognizes and will be at first computing device described in execution More than second associated executable instruction of at least one subprocess.
Computer implemented method of the clause 31. according to clause 30, it is also included based on related to the computing device The computing resource utilization of connection determines whether to be supplied to first computing device or the network calculations to supply processing data Business.
A kind of computer implemented method for being used to remotely perform management of clause 32., it includes:
By client computing devices initializers process instance;
The software process configuration information associated with the software process example, institute are obtained by the client computing devices One or more subprocess that software process configuration information recognizes the software process example are stated, wherein the software process example One or more of subprocess in each include multiple executable instructions;
The software process configuration information, which is at least partially based on, by the client computing devices determines the software process The remote process configuration of example, wherein remote process configuration identification carries out remote-operated institute in network calculations suppliers The subprocess in one or more of subprocess of software process example is stated, and wherein described remote process configuration identification is used for Exchange the communication protocol of data;
It is supplied to the network calculations to supply process data according to the communication protocol by the client computing devices Business is for processing, wherein the process data packet include the data set associated with the software process example and with will be in the net Network calculates one or more executable instructions that the subprocess of suppliers execution is associated;
At the client computing devices according to the communication protocol from the network calculations supplier obtain one or Multiple results, wherein the institute that one or more of results correspond at the network computing components and storage assembly The result of process data is stated, includes the execution of one or more of executable instructions;With
Acquired one or more results are handled so that the software process is real by the client computing devices Example is used.
Computer implemented method of the clause 33. according to clause 32, wherein the communication protocol packet includes Hyper text transfer Agreement (HTTP), text transfer protocol (FTP), RDP (RDP), X-Windows agreements, Virtual Networking Computing (VNC) at least one in agreement, X-Windows agreements, Remote Frame Buffer agreement.
Computer implemented method of the clause 34. according to clause 32, wherein determining the long-range of the software process example Process configuration is included based on the configuration of at least one following determination remote process:The data associated with the software process example are special Levy, the software process example calculate configuration file, calculating configuration file, the software of the subprocess of the software process example Process instance Web vector graphic amount demand, the feature of the client computing devices, the feature of the replacement computing device, the visitor Resource Availability at the configuring of family end computing device, the client computing devices, the resource at the replacement computing device Availability, the feature of network connection, the priority or predetermined configuration associated with user.
Computer implemented method of the clause 35. according to clause 32, wherein the replacement computing device includes personal count In calculation machine, laptop computer, tablet personal computer, personal digital assistant (PDA), smart mobile phone, game machine and master server extremely It is few one.
Computer implemented method of the clause 36. according to clause 32, wherein being supplied to described substitute to count process data Calculate device for processing including passing through in bluetooth connection, infrared ray connection, wireless network connection and cable network connection at least One offer process data.
A kind of system performed for remote process of clause 37., it includes:
One or more computer processors;
At least one computer storage, it can be by least one at least one or more described computer processor Access;With
Long-range to perform management assembly, it includes the executable software mould performed by one or more of computer processors Block, wherein the long-range execution management assembly can be operated to:
It is determined that the remote process for software process example is configured, wherein the remote process configuration identification software enters At least one subprocess of journey example;
The process data associated with least one subprocess described in the software process example is supplied to the first meter Device is calculated, wherein the process data recognizes the data associated with least one described subprocess of the software process example In at least one and the multiple instruction associated with least one subprocess described in the software process example;
One or more results, one or more of results and described second are obtained from the second computing device The execution of one or more of the multiple instruction at computing device is associated;And
One or more results according to acquired in the software process instance processes.
System of the clause 38. according to clause 37, wherein determining the remote process configuration bag of the software process example Include based on the configuration of at least one following determination remote process:It is the data characteristics associated with the software process example, described soft Calculating configuration file, the calculating configuration file of the subprocess of the software process example, the software process example of part process instance Web vector graphic amount demand, the feature of the client computing devices, the feature of first computing device, described second calculate dress The feature put, the configuring of the client computing devices, the Resource Availability at the client computing devices, first meter Resource Availability, the feature of network connection at calculation device, the priority or predetermined configuration associated with user.
System of the clause 39. according to clause 37, wherein first computing device and second computing device are Identical calculations device.
System of the clause 40. according to clause 37, wherein by with described in the software process example at least one son The associated process data of process be supplied to first computing device include by with described in the software process example at least In the associated data of one subprocess at least one and with least one subprocess phase described in the software process example The multiple instruction of association is supplied to first computing device.
System of the clause 41. according to clause 37, wherein second computing device includes personal computer, on knee At least one in computer, tablet personal computer, personal digital assistant (PDA), smart mobile phone, game machine and master server.
System of the clause 42. according to clause 37, wherein the execution management assembly can also be operated to that number of passes will be entered According to be supplied to first computing device and by least one network connection from second computing device obtain one or many Individual result.
System of the clause 43. according to clause 42, wherein at least one described network connection is limited and wherein described holds Row management assembly can also be operated to determine to be supplied to the data of first computing device based on the finite element network connectivity Amount.
System of the clause 44. according to clause 37, wherein at least one described subprocess of the software process example Including the first subprocess and the remote process configuration information identification in the remote-operated software of network calculations suppliers Second subprocess of process instance.
System of the clause 45. according to clause 44, wherein the execution management assembly can be also operative to determine and institute State the first subprocess associated the first communication protocol and second communication protocol associated with second subprocess.
System of the clause 46. according to clause 37, wherein the execution management assembly can be also operated to by bluetooth Process data is supplied to described the by least one in connection, infrared ray connection, wireless network connection and cable network connection One computing device is for processing.
System of the clause 47. according to clause 37, wherein the process data is provided by first computing device To second computing device.
System of the clause 48. according to clause 47, wherein first computing device is configured to determine whether in institute The first computing device is stated to manage the process data everywhere or whether described program is supplied into second computing device for place Reason.
System of the clause 49. according to clause 48, wherein be made whether by first computing device described first Whether computing device manages the process data or is supplied to second computing device for processing really described program everywhere Surely be based on it is following at least one:Resource at the process demand associated with the subprocess, first computing device can With the Resource Availability and the feature of the process data at property, second computing device.
System of the clause 50. according to clause 38, wherein it is described execution management assembly be also operative to determine whether First processing unit manages the process data or whether the process data is supplied into second computing device everywhere It is for processing.
A kind of computer implemented method performed for remote process of money 51., it includes:
The initializers process instance at client computing devices;
The remote process configuration of the software process example is determined, wherein the remote process configuration identification software enters At least one subprocess of journey example;
Process data is supplied to the first computing device, wherein process data identification and at least one described subprocess At least one in associated data and the multiple executable device instructions associated with least one described subprocess;
One or more results are obtained from the second computing device, wherein one or more of results are associated with The execution of one or more of the multiple executable device instruction associated with least one described subprocess;With
One or more results according to acquired in the software process instance processes.
Computer implemented method of the clause 52. according to clause 51, wherein the process data and one or many At least one in individual result is to be encoded including the following form of at least one:Text, extensible markup language (XML), HTML (HTML), JavaScript object representation (JSON), executable binary system, compressed format, Encryption format, software code form, picture format, video format and audio format.
Computer implemented method of the clause 53. according to clause 52, wherein first computing device and described second Computing device is identical calculations device.
Computer implemented method of the clause 54. according to clause 51, wherein process data is supplied into first meter Calculating device is included at least one in the data associated with least one described subprocess and at least one described subprocess Associated multiple instruction is supplied to first computing device.
Computer implemented method of the clause 55. according to clause 51, wherein the client computing devices will enter number of passes According to be supplied to first computing device and by least one network connection from second computing device obtain one or many Individual result.
Computer implemented method of the clause 56. according to clause 55, wherein at least one described network connection it is limited and Wherein described execution management assembly can also be operated to determine to be supplied to described first to calculate based on the finite element network connectivity The data volume of device.
Computer implemented method of the clause 57. according to clause 52, wherein the software process example it is described at least One subprocess includes the first subprocess and remote process configuration information identification is in network calculations suppliers remote operation The software process example the second subprocess.
Computer implemented method of the clause 58. according to clause 52, wherein the process data is counted by described first Calculate device and be supplied to second computing device.
Computer implemented method of the clause 59. according to clause 58, wherein first computing device is configured to really It is fixed whether to manage the process data everywhere in first computing device or whether be supplied to described second to calculate the described program Device is for processing.
Computer implemented method of the clause 60. according to clause 59, wherein be made whether by first computing device First computing device manage everywhere the process data or whether by described program be supplied to second computing device with For processing determination be based on it is following at least one:The process demand associated with the subprocess, first computing device The feature of Resource Availability and the process data at the Resource Availability at place, second computing device.
Computer implemented method of the clause 61. according to clause 52, it is also comprised determining whether in the described first processing Whether device manages the process data or is supplied to second computing device for processing the process data everywhere.
Although disclosed mention in the same breath states illustrative embodiment, persons skilled in the art are it should be appreciated that can be at this Implement extra or alternate embodiment in the spirit and scope of invention.For example, can be in the feelings without prejudice to the scope of the present invention Using technology described herein to allow (including (but not limit in any amount of other software applications and program under condition In) image or Video editing software, database software, office software, 3d design softwares, audio and acoustic processing application program Deng) middle progress remote processing management.In addition, although many embodiments are designated as to illustrative, but the general skill in this area Art personnel are it should be appreciated that without combining or implementing illustrative embodiment together.It is therefore not necessary to according to the present invention excursion come Using or implement some illustrative embodiments.
Understand unless otherwise expressly specified or under used background, otherwise conditional statement (especially such as " can (can) ", " can (could) ", " may (might) " or " can (may) ") be generally intended to express some embodiments including some features, Element and/or step, and other embodiments do not include some features, element and/or step.Therefore, this conditional statement one As be not intended to imply that one or more embodiments need some features, element and/or step or one or many in any way Individual embodiment must include being used in the case of inputting or point out in the case where user inputting or points out or without user certainly Whether include or perform the logic of these features, element and/or step in fixed any particular.
The description of any process, element or square frame in the flow chart described in described herein and/or accompanying drawing should be considered as Module, segmentation or the part for including being used to implement specific logical function or step in described program may be represented.Such as will be by this Skilled person understands, and alternate embodiment is included in the range of embodiment described herein, wherein can take Certainly in involved feature from the element or function that show or discuss disorderly (including substantially simultaneously or reversed sequence) Deletion, executive component or function.It will be further appreciated that above-mentioned data and/or component can be stored on computer readable medium and make It is loaded into the drive mechanism associated with computer readable medium in the memory of computing device, any quantity can be stored in Computer can perform component (such as CD-ROM, DVD-ROM) in or via network interface provide or obtain;In addition, component and/ Or data may include to be distributed in single assembly or in any other way.Therefore, general-purpose calculating appts can be configured to Implement program, algorithm and the methodology of the disclosure in the case of handling and/or performing each above-mentioned data and/or component.
It should be emphasized that can many modifications may be made to the embodiment above (element therein be especially considered as acceptable example) And modification.This paper all such modifications and changes are intended to be included in the scope of the present disclosure and protected by following claims.

Claims (15)

1. a kind of computer implemented method performed for remote process, it includes:
Determine that at least one remote session is configured, at least one remote session configuration recognizes that at least one computing resource is needed Ask, at least one described computational resource requirements correspond at least a portion of the application program performed by client terminal device;
Described at least a portion is dynamically distributed at least one other meter based at least one described computational resource requirements Calculate device;And
At least one described in as performed by client terminal device reception in response at least one described other computing device The one or more results divided.
2. computer implemented method according to claim 1, wherein the configuration identification of at least one described remote session is used for Receive at least one of one or more of knots performed by least one other computing device described in corresponding to The communication protocol of fruit.
3. computer implemented method according to claim 1, wherein based at least one described computational resource requirements dynamic The step of described at least a portion is distributed at least one described other computing device by ground includes recognizing the application program At least one of individual resources consumption.
4. computer implemented method according to claim 3, wherein based at least one described computational resource requirements dynamic The step of described at least a portion is distributed at least one described other computing device by ground also includes disappearing based on individual resources Consumption or accumulation resource consumption select described at least a portion.
5. computer implemented method according to claim 1, wherein based at least one described computational resource requirements dynamic The step of described at least a portion is distributed at least one described other computing device by ground also includes being based on the application journey At least one of security feature of sequence selects described at least a portion.
6. computer implemented method according to claim 1, wherein based at least one described computational resource requirements dynamic The step of described at least a portion is distributed at least one described other computing device by ground is including remote based on what is implemented before Journey session configures to select described at least a portion.
7. computer implemented method according to claim 1, wherein based at least one described computational resource requirements dynamic The step of described at least a portion is distributed at least one described other computing device by ground is included based on client dress The computing resource availability put selects described at least a portion.
8. computer implemented method according to claim 1, wherein the application package includes the execution of multiple subprocess, Maintain the multiple subprocess to perform with the client terminal device and at least one described other computing device.
9. a kind of system performed for remote process, it includes:
One or more computer processors;
At least one computer storage, it can be accessed by least one in one or more of computer processors;
The software process in the computer storage is stored in, the software process includes at least the first subprocess and the second son Process, first subprocess and second subprocess can locally execute and can be by one or more other calculating Device is performed;With
Long-range to perform management assembly, it includes the executable software module performed by one or more of computer processors, Wherein described long-range execution management assembly can be operated to:
Determine that at least one remote session is configured, at least one remote session configuration recognizes that at least one computing resource is needed Ask, at least one described computational resource requirements correspond at least a portion of the application program performed by client terminal device;
Described at least a portion is dynamically distributed at least one other meter based at least one described computational resource requirements Calculate device;And
At least one described in as performed by client terminal device reception in response at least one described other computing device The one or more results divided.
10. system according to claim 9, wherein by based in individual resources consumption or subprocess Resource Availability One selects described at least a portion, to cause the long-range execution management assembly is based at least one described computing resource to need Ask and described at least a portion is dynamically distributed at least one described other computing device.
11. system according to claim 9, wherein the application package includes the execution of multiple subprocess, and the visitor Family end device and at least one described other computing device maintain the multiple subprocess to perform.
12. a kind of computer implemented method performed for remote process, it includes:
Software process configuration is received by network computing device, the software process configuration is based at least one computing resource Demand dynamically distributes at least a portion of application program;
One or more results in response at least one of performance are produced by the network computing device;
One or more of results are transmitted by the network computing device.
13. computer implemented method according to claim 12, wherein software process configuration is implemented based on before Software process configuration.
14. computer implemented method according to claim 12, wherein the application package includes holding for multiple subprocess OK, and described at least a portion is all or fewer than subprocess.
15. computer implemented method according to claim 14, wherein the network computing device remains described Multiple subprocess are for execution.
CN201710270163.5A 2011-09-21 2012-09-19 Remote process performs management Pending CN107102899A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/239,187 2011-09-21
US13/239,187 US20130073600A1 (en) 2011-09-21 2011-09-21 Remote process execution management
CN201280046251.2A CN103999052A (en) 2011-09-21 2012-09-19 Remote process execution management

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201280046251.2A Division CN103999052A (en) 2011-09-21 2012-09-19 Remote process execution management

Publications (1)

Publication Number Publication Date
CN107102899A true CN107102899A (en) 2017-08-29

Family

ID=47073498

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710270163.5A Pending CN107102899A (en) 2011-09-21 2012-09-19 Remote process performs management
CN201280046251.2A Pending CN103999052A (en) 2011-09-21 2012-09-19 Remote process execution management

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280046251.2A Pending CN103999052A (en) 2011-09-21 2012-09-19 Remote process execution management

Country Status (7)

Country Link
US (1) US20130073600A1 (en)
EP (1) EP2758878A2 (en)
JP (2) JP2014531670A (en)
CN (2) CN107102899A (en)
CA (2) CA2979622A1 (en)
SG (1) SG2014012710A (en)
WO (1) WO2013043716A2 (en)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2516833A (en) 2013-07-31 2015-02-11 Ibm Running software application with dynamic action delegation
US9374415B1 (en) * 2013-09-16 2016-06-21 The Boeing Company Remote peripheral controller
KR101517844B1 (en) * 2013-12-02 2015-06-09 홍운식 Personal computer system for mobile device user and operating method thereof
AU2015277400B2 (en) * 2014-06-16 2020-12-24 Amazon Technologies, Inc. Mobile and remote runtime integration
US9880918B2 (en) 2014-06-16 2018-01-30 Amazon Technologies, Inc. Mobile and remote runtime integration
US10185590B2 (en) 2014-06-16 2019-01-22 Amazon Technologies, Inc. Mobile and remote runtime integration
US10296391B2 (en) 2014-06-30 2019-05-21 Microsoft Technology Licensing, Llc Assigning a player to a machine
US10693946B2 (en) * 2014-09-16 2020-06-23 Amazon Technologies, Inc. Instance backed mobile devices
US10270475B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Layered redundancy coding for encoded parity data
US10298259B1 (en) 2015-06-16 2019-05-21 Amazon Technologies, Inc. Multi-layered data redundancy coding techniques
US10270476B1 (en) 2015-06-16 2019-04-23 Amazon Technologies, Inc. Failure mode-sensitive layered redundancy coding techniques
US10977128B1 (en) 2015-06-16 2021-04-13 Amazon Technologies, Inc. Adaptive data loss mitigation for redundancy coding systems
US9998150B1 (en) 2015-06-16 2018-06-12 Amazon Technologies, Inc. Layered data redundancy coding techniques for layer-local data recovery
US10609122B1 (en) * 2015-06-29 2020-03-31 Amazon Technologies, Inc. Instance backed building or place
US11061969B1 (en) * 2015-06-29 2021-07-13 Amazon Technologies, Inc. Instance backed mobile devices with multiple instances
US10394762B1 (en) 2015-07-01 2019-08-27 Amazon Technologies, Inc. Determining data redundancy in grid encoded data storage systems
US10089176B1 (en) 2015-07-01 2018-10-02 Amazon Technologies, Inc. Incremental updates of grid encoded data storage systems
US9959167B1 (en) 2015-07-01 2018-05-01 Amazon Technologies, Inc. Rebundling grid encoded data storage systems
US10198311B1 (en) 2015-07-01 2019-02-05 Amazon Technologies, Inc. Cross-datacenter validation of grid encoded data storage systems
US9998539B1 (en) 2015-07-01 2018-06-12 Amazon Technologies, Inc. Non-parity in grid encoded data storage systems
US10162704B1 (en) 2015-07-01 2018-12-25 Amazon Technologies, Inc. Grid encoded data storage systems for efficient data repair
US10108819B1 (en) 2015-07-01 2018-10-23 Amazon Technologies, Inc. Cross-datacenter extension of grid encoded data storage systems
US9690622B1 (en) 2015-08-24 2017-06-27 Amazon Technologies, Inc. Stateless instance backed mobile devices
US10911404B1 (en) 2015-08-24 2021-02-02 Amazon Technologies, Inc. Attribute based authorization
US9928141B1 (en) 2015-09-21 2018-03-27 Amazon Technologies, Inc. Exploiting variable media size in grid encoded data storage systems
US11386060B1 (en) 2015-09-23 2022-07-12 Amazon Technologies, Inc. Techniques for verifiably processing data in distributed computing systems
US9940474B1 (en) 2015-09-29 2018-04-10 Amazon Technologies, Inc. Techniques and systems for data segregation in data storage systems
US10394789B1 (en) 2015-12-07 2019-08-27 Amazon Technologies, Inc. Techniques and systems for scalable request handling in data processing systems
US10642813B1 (en) 2015-12-14 2020-05-05 Amazon Technologies, Inc. Techniques and systems for storage and processing of operational data
US10248793B1 (en) 2015-12-16 2019-04-02 Amazon Technologies, Inc. Techniques and systems for durable encryption and deletion in data storage systems
US10127105B1 (en) 2015-12-17 2018-11-13 Amazon Technologies, Inc. Techniques for extending grids in data storage systems
US10324790B1 (en) 2015-12-17 2019-06-18 Amazon Technologies, Inc. Flexible data storage device mapping for data storage systems
US10180912B1 (en) 2015-12-17 2019-01-15 Amazon Technologies, Inc. Techniques and systems for data segregation in redundancy coded data storage systems
US10102065B1 (en) 2015-12-17 2018-10-16 Amazon Technologies, Inc. Localized failure mode decorrelation in redundancy encoded data storage systems
US10235402B1 (en) 2015-12-17 2019-03-19 Amazon Technologies, Inc. Techniques for combining grid-encoded data storage systems
US10592336B1 (en) 2016-03-24 2020-03-17 Amazon Technologies, Inc. Layered indexing for asynchronous retrieval of redundancy coded data
US10678664B1 (en) 2016-03-28 2020-06-09 Amazon Technologies, Inc. Hybridized storage operation for redundancy coded data storage systems
US10061668B1 (en) 2016-03-28 2018-08-28 Amazon Technologies, Inc. Local storage clustering for redundancy coded data storage system
US10366062B1 (en) 2016-03-28 2019-07-30 Amazon Technologies, Inc. Cycled clustering for redundancy coded data storage systems
CN106055374B (en) * 2016-06-30 2019-10-01 广东佳米科技有限公司 Configuration information storage method and device, configuration information application method and device
US11137980B1 (en) 2016-09-27 2021-10-05 Amazon Technologies, Inc. Monotonic time-based data storage
US10810157B1 (en) 2016-09-28 2020-10-20 Amazon Technologies, Inc. Command aggregation for data storage operations
US10437790B1 (en) 2016-09-28 2019-10-08 Amazon Technologies, Inc. Contextual optimization for data storage systems
US11281624B1 (en) 2016-09-28 2022-03-22 Amazon Technologies, Inc. Client-based batching of data payload
US11204895B1 (en) 2016-09-28 2021-12-21 Amazon Technologies, Inc. Data payload clustering for data storage systems
US10496327B1 (en) 2016-09-28 2019-12-03 Amazon Technologies, Inc. Command parallelization for data storage systems
US10657097B1 (en) 2016-09-28 2020-05-19 Amazon Technologies, Inc. Data payload aggregation for data storage systems
US10614239B2 (en) 2016-09-30 2020-04-07 Amazon Technologies, Inc. Immutable cryptographically secured ledger-backed databases
US10534910B1 (en) * 2016-10-04 2020-01-14 Hewlett-Packard Development Company, L.P. Using threat model to monitor host execution
US10296764B1 (en) 2016-11-18 2019-05-21 Amazon Technologies, Inc. Verifiable cryptographically secured ledgers for human resource systems
US11269888B1 (en) 2016-11-28 2022-03-08 Amazon Technologies, Inc. Archival data storage for structured data
US10873565B2 (en) * 2016-12-22 2020-12-22 Nicira, Inc. Micro-segmentation of virtual computing elements
US10592258B2 (en) * 2017-07-07 2020-03-17 Facebook, Inc. Systems and methods for loading features
CN107317873B (en) * 2017-07-21 2020-08-11 曙光信息产业(北京)有限公司 Session processing method and device
US10887287B2 (en) * 2018-05-11 2021-01-05 Citrix Systems, Inc. Connecting client devices to anonymous sessions via helpers
CN108897629A (en) * 2018-06-01 2018-11-27 山东中创软件商用中间件股份有限公司 A kind of EJB call parameters transmission method and relevant apparatus
US11782881B2 (en) * 2018-12-05 2023-10-10 Vmware, Inc. Recommending remotely executed applications for opening files
CN112346906A (en) * 2019-08-08 2021-02-09 丰鸟航空科技有限公司 Unmanned aerial vehicle daemon processing method, device, equipment and storage medium
WO2022046068A1 (en) * 2020-08-28 2022-03-03 Hewlett-Packard Development Company, L.P. Computing devices to transfer execution of processes
CN116016296B (en) * 2022-12-19 2024-03-26 四川九洲电器集团有限责任公司 Binary data processing method, system and equipment based on JSON

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084435A1 (en) * 2001-10-31 2003-05-01 Alan Messer Method and system for offloading execution and resources for resource-constrained networked devices
US20100318999A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Program partitioning across client and cloud
CN102449617A (en) * 2009-04-01 2012-05-09 霍尼韦尔国际公司 Cloud computing for an industrial automation and manufacturing system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642515A (en) * 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
ES2149794T3 (en) * 1993-09-24 2000-11-16 Siemens Ag PROCEDURE TO OFFSET THE LOAD IN A MULTIPROCESSOR SYSTEM.
JP3658420B2 (en) * 1994-04-14 2005-06-08 株式会社日立製作所 Distributed processing system
JP2000029848A (en) * 1998-07-10 2000-01-28 Matsushita Electric Ind Co Ltd Cooperation network system
US7418470B2 (en) * 2000-06-26 2008-08-26 Massively Parallel Technologies, Inc. Parallel processing systems and method
US7155681B2 (en) * 2001-02-14 2006-12-26 Sproqit Technologies, Inc. Platform-independent distributed user interface server architecture
US7478152B2 (en) * 2004-06-29 2009-01-13 Avocent Fremont Corp. System and method for consolidating, securing and automating out-of-band access to nodes in a data network
US7480702B2 (en) * 2004-11-08 2009-01-20 International Business Machines Corporation Storage configuration loader
WO2006077481A1 (en) * 2005-01-19 2006-07-27 Truecontext Corporation Policy-driven mobile forms applications
JP2007241394A (en) * 2006-03-06 2007-09-20 Mitsubishi Electric Corp Division processing management device, division processing management system, arithmetic processing execution system and division processing management method
US20090157800A1 (en) * 2007-12-18 2009-06-18 Cheng-Chieh Cheng Dynamically Generating a Proxy Object in a Client for Dynamically Created Object on the Server Using Retrieved Class Metadata of the Object
US8516037B2 (en) * 2008-06-16 2013-08-20 International Business Machines Corporation Methods for dynamic partitioning of applications in client-server environments
US8156212B2 (en) * 2009-06-16 2012-04-10 JumpSoft, Inc. Method, system and apparatus for managing computer processes
US20110078303A1 (en) * 2009-09-30 2011-03-31 Alcatel-Lucent Usa Inc. Dynamic load balancing and scaling of allocated cloud resources in an enterprise network
KR20110063297A (en) * 2009-12-02 2011-06-10 삼성전자주식회사 Mobile device and control method thereof
US8230006B2 (en) * 2009-12-16 2012-07-24 Hewlett-Packard Development Company, L.P. Remote client management
US9213574B2 (en) * 2010-01-30 2015-12-15 International Business Machines Corporation Resources management in distributed computing environment
EP2550621A4 (en) * 2010-03-25 2015-09-16 Virtustream Canada Holdings Inc System and method for secure cloud computing
US20110314075A1 (en) * 2010-06-18 2011-12-22 Nokia Corporation Method and apparatus for managing distributed computations within a computation space
US8935317B2 (en) * 2010-06-23 2015-01-13 Microsoft Corporation Dynamic partitioning of applications between clients and servers
US8954587B2 (en) * 2011-07-27 2015-02-10 Salesforce.Com, Inc. Mechanism for facilitating dynamic load balancing at application servers in an on-demand services environment
US9009703B2 (en) * 2012-05-10 2015-04-14 International Business Machines Corporation Sharing reconfigurable computing devices between workloads
US8656482B1 (en) * 2012-08-20 2014-02-18 Bitdefender IPR Management Ltd. Secure communication using a trusted virtual machine
US8935496B2 (en) * 2012-08-31 2015-01-13 Hitachi, Ltd. Management method of virtual storage system and remote copy system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084435A1 (en) * 2001-10-31 2003-05-01 Alan Messer Method and system for offloading execution and resources for resource-constrained networked devices
CN102449617A (en) * 2009-04-01 2012-05-09 霍尼韦尔国际公司 Cloud computing for an industrial automation and manufacturing system
US20100318999A1 (en) * 2009-06-16 2010-12-16 Microsoft Corporation Program partitioning across client and cloud

Also Published As

Publication number Publication date
WO2013043716A2 (en) 2013-03-28
CN103999052A (en) 2014-08-20
JP2017168139A (en) 2017-09-21
CA2848747C (en) 2020-01-28
CA2979622A1 (en) 2013-03-28
EP2758878A2 (en) 2014-07-30
SG2014012710A (en) 2014-06-27
WO2013043716A3 (en) 2013-05-16
JP2014531670A (en) 2014-11-27
US20130073600A1 (en) 2013-03-21
CA2848747A1 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
CN107102899A (en) Remote process performs management
US10104188B2 (en) Customized browser images
US9563929B1 (en) Caching of content page layers
CN102413164B (en) Web-based three-dimensional scenic visualized editing device and method
US8677022B2 (en) Method and apparatus for updating a graphical display in a distributed processing environment using compression
CN103782294A (en) Remote browsing session management
US20130073601A1 (en) Remote process execution management
EP1290642B1 (en) Method for interactive multi-user customizable web data retrieval and rendering
US9166882B1 (en) Remote browsing session management
US9563928B1 (en) Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9720888B1 (en) Distributed browsing architecture for the delivery of graphics commands to user devices for assembling a plurality of layers of a content page
CN103959285A (en) Remote browsing session management
US20100045662A1 (en) Method and system for delivering and interactively displaying three-dimensional graphics
CN104025084B (en) Historical viewings session management
CN106850589A (en) A kind of management and control cloud computing terminal and the method and apparatus of Cloud Server running
CN103518189A (en) Integrated rendering of streaming media in virtualized desktop environment
CN108052395A (en) Load balancing between general processor and graphics processor
CN103748583B (en) Remote browse session management
Behr et al. webvis/instant3dhub: Visual computing as a service infrastructure to deliver adaptive, secure and scalable user centric data visualisation
US20140344074A1 (en) Network content message placement management
CN111062521B (en) Online prediction method, system and server
US20220294866A1 (en) Split testing with custom cache keys for content delivery networks
Charvillat et al. Reinforcement learning for dynamic multimedia adaptation
US11169666B1 (en) Distributed content browsing system using transferred hardware-independent graphics commands
US10701413B2 (en) Real-time sub-second download and transcode of a video stream

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170829