Patent application number | Description | Published |
20090003387 | Synchronization Between Connection Manager and Extension Components - This disclosure describes synchronization between a connection manager and extension components during terminal service starts, stops, and restarts. The synchronization occurs by application programming interfaces as mechanisms to notify extension components that a change of state is about to occur. The extension components take appropriate action steps, such as saving session information for a connection pertaining to a connection stop and restoring connection session information when the terminal service is restarted. Furthermore, the extension components may implement own caching mechanisms and selectively perform lazy restore on save data as necessary. As a result, experience for the user is enhanced by not losing any data when the terminal service is stopped and restarted. Also, administrators may perform a patch on terminal service binaries without waiting for all users to log off or without rebooting the system. | 01-01-2009 |
20090006503 | System Virtualization Instance Management for Terminal Sessions - Terminal sessions providing remote access to functionality may be isolated from each other, as well as from the server system space, by being placed in system virtualization instances. Applications associated with terminal sessions may be allocated to system virtualization instances. In particular, system virtualization instances may be pre-instantiated, and applications may be dynamically allocated to the system virtualization instances, for example, according to a virtualization instance policy. The system virtualization instances may provide, in particular, an ability for terminal session components and associated applications to create, read, update and delete resources in a global name space of a host server without conflict, collision or other interference with each other or other server components. | 01-01-2009 |
20090044170 | Automated Application Modeling for Application Virtualization - Automated application modeling for application virtualization (auto-modeling) may be incorporated into an application installer and/or other suitable component of a computer operating system. Auto-modeling may be performed by an auto-modeling agent. The auto-modeling agent may employ one or more of multiple auto-modeling strategies. The auto-modeling agent may assess one or more of a particular application, application installation package and/or application environment in order to determine a suitable auto-modeling strategy. Auto-modeling strategies may include active auto-modeling and passive auto-modeling. Active auto-modeling strategies may require at least partial installation and/or execution of the application to be modeled, whereas passive auto-modeling may generate corresponding auto-modeling data independent of application installation and/or execution, for example, by obtaining suitable data from a corresponding application installation package. In particular, The auto-modeling agent may perform active auto-modeling by directing an independent application modeler and/or an application installer, for example, in accordance with an auto-modeling rulebase. | 02-12-2009 |
20090100448 | Remote Auto Provisioning and Publication of Applications - Techniques for auto provisioning and publication of applications are described. The auto provisioning process enables automatic installation of applications having their respective file packages pre-stored in the server. Subsequently, publication of these applications is conducted automatically. By employing such an automatic process, the latency involved in provisioning and publication of remote applications is reduced, thereby making the process more efficient. | 04-16-2009 |
20090187705 | FAIR AND DYNAMIC DISK INPUT/OUTPUT BANDWIDTH DISTRIBUTION - Embodiments that facilitate the fair and dynamic distribution of disk input/output (IO) bandwidth are disclosed. In accordance with one embodiment, the method includes organizing one or more disk IO time intervals into one or more queues. The method further includes allocating a disk IO time interval to each queue. The allocation of a disk IO time interval to each queue is accomplished by equally distributing a disk IO cycle based on the number of queues. The one or more disk IO requests are then processed during the corresponding disk IO time interval. | 07-23-2009 |
20090187784 | FAIR AND DYNAMIC CENTRAL PROCESSING UNIT SCHEDULING - Embodiments that facilitate the fair and dynamic distribution of central processing unit (CPU) time are disclosed. In accordance with one embodiment, a method includes organizing one or more processes into one or more groups. The method further includes allocating a CPU time interval for each group. The allocation of a CPU time interval for each group is accomplished by equally distributing a CPU cycle based on the number of groups. The method also includes adjusting the allocated CPU time intervals based on a change in the quantity of the one or more groups. | 07-23-2009 |
20110153781 | ROAMING PROFILES AND APPLICATION COMPATIBILITY IN MULTI-USER SYSTEMS - Systems, methods, and computer-readable storage media are disclosed for roaming profiles and application compatibility in multi-user systems. In an embodiment, a user profile exists on a plurality of client computers. Each client computer executes a roaming profile client that intercepts a change to an application's settings. The roaming profile client sends this change to a roaming profile server that stores it. When the user profile logs on to a second client computer, the roaming profile server sends an indication of the change to a second roaming profile client on the second client computer. This roaming profile client alters the settings for the application on the second client computer such that, when the user session executes the application on the second client computer, the application reflects the change. | 06-23-2011 |
20110161957 | Virtualized Eco-Friendly Remote Presentation Session Role - Systems, methods, and computer-readable storage media are disclosed for virtualized eco-friendly remote presentation session roles. In an embodiment, a connection broker monitors the servers of a server farm, and, based upon characteristics of remote presentation sessions served by VMs executing on those servers, directs VMs on those servers to be migrated between servers, changed from sleeping to running or vice versa, or other operations that may improve the performance of the server farm as a whole. | 06-30-2011 |
20110162087 | VIRTUALIZING REMOTE PRESENTATION SESSION CLIENT LICENSING WITH A SERVER-BASED BROKER - Systems, methods, and computer-readable storage media are disclosed for virtualizing remote presentation session licensing issuance for a system executing a plurality of virtual machines hosting a remote presentation session server. In an embodiment, a licensing broker is executed in the host partition of the system, and each session server, upon receiving a request for a license from a client, transmits the request to the broker. The broker completes the license negotiation with a license server responsible for issuing licenses, and once issued, the broker transmits this to the corresponding session server, which completes the licensing transaction with the client. | 06-30-2011 |
20110307544 | Sessions To Host Processes With Special Requirements - Techniques are disclosed for enabling a system service executing in an isolated session to access system resources (such as a graphics processing unit) that it is isolated from. In an embodiment, the system service creates a “worker” session that is not isolated, and a “worker” process inside that worker session. Then, the system service is able to access the system resource that it is directly isolated from accessing by passing a request to the worker process to access the system resource on the system service's behalf. The worker process does so, and passes a result to the system service. | 12-15-2011 |
20110307614 | Techniques For Efficient Remote Presentation Session Connectivity And Routing - Techniques are disclosed for efficient remote presentation session connectivity and routing. In an embodiment, the roles of a remote presentation session deployment involved in receiving a connection from a client and determining a virtual machine (VM) to serve the client's remote presentation session are consolidated on one or more servers of the deployment that host such VMs. When this consolidated role receives a connection set up communication from a client, it uses information local to it and its server to determine a VM to serve the remote presentation session. Where the deployment comprises a plurality of such servers, the consolidated role may communicate with an inter-server connection broker to determine a different server that will conduct the remote presentation session. | 12-15-2011 |
20120117245 | GROUP BASED ALLOCATION OF NETWORK BANDWIDTH - The present invention extends to methods, systems, and computer program products for group based allocation of terminal server network bandwidth. Output packets are classified into groups based on classification criteria. Output packets for each group are queue into a corresponding queue. During a queue flush cycle each queue containing data is flushed for an essentially equal amount of time. Flushing each queue essentially equally reduces the negative impact that can otherwise result when a subset of sessions (or even a single session) request(s) a disproportional share of terminal server network bandwidth. Responsiveness can be further increased by distributing the essentially equal amount for each queue across the queue flush cycle. | 05-10-2012 |
20120266214 | CREATING SECURE INTERACTIVE CONNECTIONS WITH REMOTE RESOURCES - Implementations of the present invention efficiently establish secure connections between a client and server, at least in part by authenticating the client and server early on in the connection setup phases. A client initiating a connection with a server identifies the secure communication protocols enabled at the client, and identifies these protocols in a connection request it sends to the server. The server processes the message and responds with a communication protocol it deems appropriate for the connection. The client and server then exchange appropriate authentication information, and then establish a connection session that implements the chosen communication protocol, and encrypts messages using the negotiated communication protocol. Additional implementations relate to reestablishing dropped connections behind virtual Internet Protocol addresses, without necessarily having to recommit much connection resource overhead. | 10-18-2012 |