WO2010138124A1 - Loopback proxy - Google Patents
Loopback proxy Download PDFInfo
- Publication number
- WO2010138124A1 WO2010138124A1 PCT/US2009/045557 US2009045557W WO2010138124A1 WO 2010138124 A1 WO2010138124 A1 WO 2010138124A1 US 2009045557 W US2009045557 W US 2009045557W WO 2010138124 A1 WO2010138124 A1 WO 2010138124A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- client
- session
- server
- graphics driver
- connection manager
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
Definitions
- This invention relates to a server and to a method of operating a server.
- the invention provides a co-ordinated direct and loopback proxying of a terminal service protocol.
- Remote Desktop Services also known as terminal services
- Terminal services is one of the components of Microsoft Windows (both server and client versions) that allows a user to access applications and data on a remote computer over a network.
- Terminal services is Microsoft's implementation of terminal server computing, where Windows applications, or even the entire desktop of a computer running terminal services, are made accessible to a remote client machine.
- the client can either be a fully-fledged computer, running any operating system as long as the terminal services protocol is supported, or a lighter machine powerful enough to support the protocol.
- terminal services only the user interface of an application is presented at the client. Any input to it is redirected over the network to the server, where all application processing takes place.
- Remote clients connect to a Windows terminal service using the Remote
- RDP Remote Desktop Protocol
- Microsoft's implementation only allows for full desktop clients to connect via the network. It does not allow for non-network connections such as USB, or thin clients which do not have a full operating system of their own. Further, it does not allow for other graphics encapsulation protocols (which may be more efficient than RDP in some scenarios).
- a method of operating a server comprising operating a terminal service, the terminal service including a graphics driver, installing a connection manager, the connection manager including a second graphics driver, detecting the connection of a client to the server, at the connection manager, creating a new session for the connected client, the session including the second graphics driver, connecting the client to the second graphics driver, operating one or more applications within the session, rendering graphic output from the or each application via the second graphics driver directly to the client, and routing all session management commands from the client to the connection manager.
- a server arranged to operate a terminal service, the terminal service including a graphics driver, install a connection manager, the connection manager including a second graphics driver, detect the connection of a client to the server, at the connection manager, create a new session for the connected client, the session including the second graphics driver, connect the client to the second graphics driver, operate one or more applications within the session, render graphic output from the or each application via the second graphics driver directly to the client, and route all session management commands from the client to the connection manager.
- a computer program product on a computer readable medium for operating a server comprising instructions for operating a terminal service, the terminal service including a graphics driver, installing a connection manager, the connection manager including a second graphics driver, detecting the connection of a client to the server, at the connection manager, creating a new session for the connected client, the session including the second graphics driver, connecting the client to the second graphics driver, operating one or more applications within the session, rendering graphic output from the or each application via the second graphics driver directly to the client, and routing all session management commands from the client to the connection manager.
- the software on the server connects to Terminal Server via a loopback connection within the server.
- the connection manager can accept connections via any bus chosen to be implemented.
- the penalty of this design is decreased graphics performance, each session's graphics output must be captured by Terminal Server, encoded into RDP 1 sent to the connection manager, and possibly re-encoded into the graphics protocol of the client.
- the connection manager will make use of its own graphics driver. This driver will replace the Terminal Server graphics driver in each session, and communicate directly with the client, thus bypassing the performance penalty mentioned above.
- the invention is the combination of the two ideas of creating a loopback connection manager to manage sessions, and replacing the terminal server graphics driver with a second driver. In essence, this combination replaces all of the network transport portions of terminal server, leaving the terminal server to operate strictly as a session manager.
- Figure 1 is a schematic diagram of a server and client
- Figure 2 is a further view of the server and client of Figure 1
- Figure 3 is a more detailed schematic diagram of the server and client
- Figure 4 is a schematic diagram showing installation of software on the server
- Figure 5 is a flowchart of a method of operating a server.
- Figure 1 shows a client 10 connected to a server 12.
- the client 10 is a thin client with a connected display device 10.
- Figure 2 shows the architecture in more detail.
- the client 10 runs a thin client 16 and the server 12 runs a terminal service 18.
- the terminal service 18 allows remote clients 10 to connect to the server 12 and access applications that are executed on the server 12, as if those applications were available locally to the client 10. Only the user interface is run locally by the client 10 and communication traffic flows between the client 10 and server 12 as a user interacts with the user interface via the client 10.
- the client 10 In implementations of a terminal service 18 such as Microsoft's terminal service, the client 10 must have a minimum level of processing power to interact with the terminal service 18.
- the client 10 must be capable of supporting a standard operating system, which means that the client-server relationship in an implementation of Microsoft terminal service does not allow clients 10 that are too "thin" to connect to the terminal service 18.
- the nature of the terminal service 18 is such that limitations are placed on the connection technology that is used to connect the client 10 to the server 12. For example, Ethernet can be used as a connection technology, but USB cannot be used.
- the system of Figures 1 and 2 is adapted so that it is possible to provide a method for combining a standard RDP client, running in loopback mode on the server 12, with a replacement display driver running in the client session also on the server 12, in order to proxy terminal services clients to hardware devices that themselves do not normally support connection to the terminal service 18.
- the system allows thin clients 10 to connect to an implementation of Windows terminal service 18 via USB or any other bus.
- Software on the server 12 connects to the terminal service 18 via a loopback connection within the server 12.
- FIG. 3 shows the implementation of the client-server system in more detail.
- the connection manager 20 connects to the terminal service 18 via a loopback connection 22.
- the purpose of the loopback connection 22 is so that the connection manager 20 will appear to the terminal service 18 as if the connection manager 20 is a remote client. This allows the connection manager 20 the benefit of the terminal service 18, without having any of the drawbacks that would not allow a connection to the terminal service 18, such as insufficient processing capability or unsupported connection technology.
- the connection manager 20 connects to external clients 10 via a USB driver stack 24. USB is only an example of a connection technology that can be used to connect the clients 10 to the server 12.
- the nature of the driver stack 24 will reflect the connection protocol that is being used to connect the thin client 10 to the server 12. Once a new client 10 connects to the server 12, then the connection manager 20 creates a new session 26 for that client 10.
- the session 26 will include a new graphics driver 28 that has been provided by the connection manager 20 either in addition or instead of the driver that would be used by the terminal service 18.
- the session will also include the relevant applications 30.
- FIG. 3 shows both parts of the system together, being the loopback between the connection manager 20 and the terminal service 18 and the use of a new graphics driver 28.
- the loopback connection manager 20 appears within the session 0 box of the server 12.
- the replacement graphics adapter 28 is shown within the client session 26.
- a setup program will install both the loopback connection manager 20 and the additional graphics driver 28.
- the setup program will install the new graphics driver 28 in such a way that it will load in place of the standard driver when new sessions 26 are created.
- the new graphics driver 28 is needed so that the light connection technology (such as USB) and the thin client 10 are provided with graphics information in a working manner.
- the terminal service 18 performs the session management with the session 26, which is session 1 as far as the terminal service 18 is concerned.
- the connection manager 20 performs the connection management with the graphics driver 28 and operates a dedicated loopback 22 with the terminal service. If additional client devices are connected to the server 12, then additional sessions 26 are created (session 2 and so on). For each new session a new loopback 22 is also created between the connection manager 29 and the terminal service 18 of the server 12.
- a setup program 32 which may be provided on a suitable storage media such as a CD- ROM, installs the connection manager 20.
- the setup program 32 also initiates a connection 22 between the terminal service 18 and the connection manager 20.
- connection 22 is a loopback connection 22, which is being used to represent the connection manager 20 as a remote client, when in fact it is located directly on the same server 12 as the terminal service 18.
- the terminal service 18 will treat the connection manager 20 as if it is a client remote from the server 12.
- step S1 the loopback connection manager 20 listens for new clients 10 using the operating system's standard network, USB 1 or other peripheral device drivers.
- the connection manager 20 calls the terminal service 18 to create a new RDP session 26 for that client 10.
- the terminal service 18 creates a new session 26, which in turn loads the new graphics driver 28.
- the graphics driver 28 signals to the connection manager 28 that it has loaded. The connection manager 20 then hands off the client connection to the graphics driver 28.
- step S4 one or more applications 30 are operated within the session 26.
- step S5 all graphics output from the applications 30 within the session 26 will be rendered by the new driver 28 and sent directly to the client 10. All user input from the client 10 goes to the graphics driver 28 which will send the input to the session 26.
- the terminal service 18 still operates the session 26 but is communicating with the connection manager 20 as if the connection manager 20 is the remote client 10.
- the loopback connection 22 ensures that this relationship continues, while all the time the graphics driver 28 is actually communicating with the real client 10.
- the graphics driver 28 also receives session management commands from the client 10, such as close session, and forwards the appropriate commands to the connection manager 20, to communicate to the terminal service 18, via the RDP loopback connection 22.
- session management commands from the client 10, such as close session
- the connection manager 20 closes the RDP session 26 with terminal service 18.
- the terminal service 18 shuts down the session 26 and unloads the graphics drivers 28. In this way, the terminal service 18 is never aware of the real client 10 that was interacting with the session 26, but the terminal service 18 will still continue to operate normally the whole time.
Abstract
A method of optimising the connection of multiple terminals to a single server is provided, whereby the server runs its standard remote terminal protocol while terminal devices may use their own proprietary, higher performance busses and protocols. The translation of these protocols between server and terminal is handled by a loopback service running on the server. The method is optimized to provide a direct connection between the user session on the server and the thin client device for certain terminal components, especially the graphics component. This allows the overhead of the loopback service to be avoided for the most performance sensitive components of the terminal.
Description
LOOPBACK PROXY
DESCRIPTION
This invention relates to a server and to a method of operating a server. In one embodiment, the invention provides a co-ordinated direct and loopback proxying of a terminal service protocol.
Remote Desktop Services (RDS), also known as terminal services, is one of the components of Microsoft Windows (both server and client versions) that allows a user to access applications and data on a remote computer over a network. Terminal services is Microsoft's implementation of terminal server computing, where Windows applications, or even the entire desktop of a computer running terminal services, are made accessible to a remote client machine. The client can either be a fully-fledged computer, running any operating system as long as the terminal services protocol is supported, or a lighter machine powerful enough to support the protocol. With terminal services, only the user interface of an application is presented at the client. Any input to it is redirected over the network to the server, where all application processing takes place.
Remote clients connect to a Windows terminal service using the Remote
Desktop Protocol (RDP). RDP is a protocol for receiving user input from the client, sending graphics data to the client, and sending messages between client and server to control the connection. However, Microsoft's implementation only allows for full desktop clients to connect via the network. It does not allow for non-network connections such as USB, or thin clients which do not have a full operating system of their own. Further, it does not allow for other graphics encapsulation protocols (which may be more efficient than RDP in some scenarios).
It is therefore an object of the invention to improve upon the known art.
According to a first aspect of the present invention, there is provided a method of operating a server comprising operating a terminal service, the terminal service including a graphics driver, installing a connection manager, the connection manager including a second graphics driver, detecting the connection of a client to the server,
at the connection manager, creating a new session for the connected client, the session including the second graphics driver, connecting the client to the second graphics driver, operating one or more applications within the session, rendering graphic output from the or each application via the second graphics driver directly to the client, and routing all session management commands from the client to the connection manager.
According to a second aspect of the present invention, there is provided a server arranged to operate a terminal service, the terminal service including a graphics driver, install a connection manager, the connection manager including a second graphics driver, detect the connection of a client to the server, at the connection manager, create a new session for the connected client, the session including the second graphics driver, connect the client to the second graphics driver, operate one or more applications within the session, render graphic output from the or each application via the second graphics driver directly to the client, and route all session management commands from the client to the connection manager.
According to a third aspect of the present invention, there is provided a computer program product on a computer readable medium for operating a server, the product comprising instructions for operating a terminal service, the terminal service including a graphics driver, installing a connection manager, the connection manager including a second graphics driver, detecting the connection of a client to the server, at the connection manager, creating a new session for the connected client, the session including the second graphics driver, connecting the client to the second graphics driver, operating one or more applications within the session, rendering graphic output from the or each application via the second graphics driver directly to the client, and routing all session management commands from the client to the connection manager.
Owing to the invention, it is possible to provide a method for combining a standard RDP client, running in loopback mode on the server, with a replacement display driver running in the client session also on the server, in order to proxy terminal services clients to hardware devices that themselves do not support RDP.
There are three primary benefits of this invention, support for connecting thin clients via non-network busses such as USB, increased graphics performance for clients implemented via a loopback interface and increased scalability of multiple clients due to reduced overhead. The invention allows thin clients to connect to Windows Terminal Server via
USB or any other bus. The software on the server connects to Terminal Server via a loopback connection within the server. The connection manager can accept connections via any bus chosen to be implemented. The penalty of this design is decreased graphics performance, each session's graphics output must be captured by Terminal Server, encoded into RDP1 sent to the connection manager, and possibly re-encoded into the graphics protocol of the client. To eliminate this overhead, as well as to allow use of its own, highly optimized graphics encapsulation protocol, the connection manager will make use of its own graphics driver. This driver will replace the Terminal Server graphics driver in each session, and communicate directly with the client, thus bypassing the performance penalty mentioned above.
The invention is the combination of the two ideas of creating a loopback connection manager to manage sessions, and replacing the terminal server graphics driver with a second driver. In essence, this combination replaces all of the network transport portions of terminal server, leaving the terminal server to operate strictly as a session manager.
Embodiments of the present invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
Figure 1 is a schematic diagram of a server and client,
Figure 2 is a further view of the server and client of Figure 1 , Figure 3 is a more detailed schematic diagram of the server and client,
Figure 4 is a schematic diagram showing installation of software on the server, and
Figure 5 is a flowchart of a method of operating a server.
Figure 1 shows a client 10 connected to a server 12. The client 10 is a thin client with a connected display device 10. Figure 2 shows the architecture in more detail. The client 10 runs a thin client 16 and the server 12 runs a terminal service 18. The terminal service 18 allows remote clients 10 to connect to the server 12 and access applications that are executed on the server 12, as if those applications were available locally to the client 10. Only the user interface is run locally by the client 10 and communication traffic flows between the client 10 and server 12 as a user interacts with the user interface via the client 10.
In implementations of a terminal service 18 such as Microsoft's terminal service, the client 10 must have a minimum level of processing power to interact with the terminal service 18. The client 10 must be capable of supporting a standard operating system, which means that the client-server relationship in an implementation of Microsoft terminal service does not allow clients 10 that are too "thin" to connect to the terminal service 18. Additionally, the nature of the terminal service 18 is such that limitations are placed on the connection technology that is used to connect the client 10 to the server 12. For example, Ethernet can be used as a connection technology, but USB cannot be used.
However, the system of Figures 1 and 2 is adapted so that it is possible to provide a method for combining a standard RDP client, running in loopback mode on the server 12, with a replacement display driver running in the client session also on the server 12, in order to proxy terminal services clients to hardware devices that themselves do not normally support connection to the terminal service 18. The system allows thin clients 10 to connect to an implementation of Windows terminal service 18 via USB or any other bus. Software on the server 12 connects to the terminal service 18 via a loopback connection within the server 12.
Figure 3 shows the implementation of the client-server system in more detail. In addition to the terminal service 18, there is also a connection manager 20 present on the server 12. The connection manager 20 connects to the terminal service 18 via a loopback connection 22. The purpose of the loopback connection 22 is so that the connection manager 20 will appear to the terminal service 18 as if the connection
manager 20 is a remote client. This allows the connection manager 20 the benefit of the terminal service 18, without having any of the drawbacks that would not allow a connection to the terminal service 18, such as insufficient processing capability or unsupported connection technology. The connection manager 20 connects to external clients 10 via a USB driver stack 24. USB is only an example of a connection technology that can be used to connect the clients 10 to the server 12. The nature of the driver stack 24 will reflect the connection protocol that is being used to connect the thin client 10 to the server 12. Once a new client 10 connects to the server 12, then the connection manager 20 creates a new session 26 for that client 10. The session 26 will include a new graphics driver 28 that has been provided by the connection manager 20 either in addition or instead of the driver that would be used by the terminal service 18. The session will also include the relevant applications 30.
Figure 3 shows both parts of the system together, being the loopback between the connection manager 20 and the terminal service 18 and the use of a new graphics driver 28. The loopback connection manager 20 appears within the session 0 box of the server 12. The replacement graphics adapter 28 is shown within the client session 26. A setup program will install both the loopback connection manager 20 and the additional graphics driver 28. Preferably, the setup program will install the new graphics driver 28 in such a way that it will load in place of the standard driver when new sessions 26 are created. The new graphics driver 28 is needed so that the light connection technology (such as USB) and the thin client 10 are provided with graphics information in a working manner.
The terminal service 18 performs the session management with the session 26, which is session 1 as far as the terminal service 18 is concerned. The connection manager 20 performs the connection management with the graphics driver 28 and operates a dedicated loopback 22 with the terminal service. If additional client devices are connected to the server 12, then additional sessions 26 are created (session 2 and so on). For each new session a new loopback 22 is also created between the connection manager 29 and the terminal service 18 of the server 12.
The installation of the software on the server 12 is illustrated in Figure 4. A setup program 32, which may be provided on a suitable storage media such as a CD- ROM, installs the connection manager 20. The setup program 32 also initiates a connection 22 between the terminal service 18 and the connection manager 20. This connection 22, as discussed above, is a loopback connection 22, which is being used to represent the connection manager 20 as a remote client, when in fact it is located directly on the same server 12 as the terminal service 18. The terminal service 18 will treat the connection manager 20 as if it is a client remote from the server 12.
Once installed, the operation of the components of the server 12 is as shown in Figure 5. In step S1, the loopback connection manager 20 listens for new clients 10 using the operating system's standard network, USB1 or other peripheral device drivers. When the connection manager 20 detects a new client 10, it calls the terminal service 18 to create a new RDP session 26 for that client 10. At step S2, the terminal service 18 creates a new session 26, which in turn loads the new graphics driver 28. At step S3, the graphics driver 28 signals to the connection manager 28 that it has loaded. The connection manager 20 then hands off the client connection to the graphics driver 28.
At step S4, one or more applications 30 are operated within the session 26. At step S5, all graphics output from the applications 30 within the session 26 will be rendered by the new driver 28 and sent directly to the client 10. All user input from the client 10 goes to the graphics driver 28 which will send the input to the session 26. The terminal service 18 still operates the session 26 but is communicating with the connection manager 20 as if the connection manager 20 is the remote client 10. The loopback connection 22 ensures that this relationship continues, while all the time the graphics driver 28 is actually communicating with the real client 10.
At step S6, the graphics driver 28 also receives session management commands from the client 10, such as close session, and forwards the appropriate commands to the connection manager 20, to communicate to the terminal service 18, via the RDP loopback connection 22. When the session 26 is complete, the connection manager 20 closes the RDP session 26 with terminal service 18. The
terminal service 18 shuts down the session 26 and unloads the graphics drivers 28. In this way, the terminal service 18 is never aware of the real client 10 that was interacting with the session 26, but the terminal service 18 will still continue to operate normally the whole time.
Claims
1. A method of operating a server comprising: o operating a terminal service, the terminal service including a graphics driver, o installing a connection manager, the connection manager including a second graphics driver, o detecting the connection of a client to the server, at the connection manager, o creating a new session for the connected client, the session including the second graphics driver, o connecting the client to the second graphics driver, o operating one or more applications within the session, o rendering graphic output from the or each application via the second graphics driver directly to the client, and o routing all session management commands from the client to the connection manager.
2. A method according to claim 1 , wherein the step of creating a new session for the connected client, the session including the second graphics driver, further comprises deleting the first graphics driver from the session.
3. A method according to claim 1 or 2, and further comprising routing all user commands from the client to the second graphics driver.
4. A method according to claim 1 , 2 or 3, and further comprising receiving an instruction from the client to terminate the session at the connection manager, the connection manager instructing the terminal service to terminate the current session.
5. A method according to any preceding claim, and further comprising, following detecting the connection of a client to the server, at the connection manager, initiating a loopback connection between the connection manager and the terminal service.
6. A server arranged to: o operate a terminal service, the terminal service including a graphics driver, o install a connection manager, the connection manager including a second graphics driver, o detect the connection of a client to the server, at the connection manager, o create a new session for the connected client, the session including the second graphics driver, o connect the client to the second graphics driver, o operate one or more applications within the session, o render graphic output from the or each application via the second graphics driver directly to the client, and o route all session management commands from the client to the connection manager.
7. A server according to claim 6, wherein the server is further arranged, when creating a new session for the connected client, the session including the second graphics driver, to delete the first graphics driver from the session.
8. A server according to claim 6 or 7, wherein the server is further arranged to route all user commands from the client to the second graphics driver.
9. A server according to claim 6, 7 or 8, wherein the server is further arranged to receive an instruction from the client to terminate the session at the connection manager, the connection manager instructing the terminal service to terminate the current session.
10. A server according to any one of claims 6 to 9, wherein the server is further arranged, following detecting the connection of a client to the server, at the connection manager, to initiate a loopback connection between the connection manager and the terminal service.
11. A computer program product on a computer readable medium for operating a server, the product comprising instructions for: o operating a terminal service, the terminal service including a graphics driver, o installing a connection manager, the connection manager including a second graphics driver, o detecting the connection of a client to the server, at the connection manager, o creating a new session for the connected client, the session including the second graphics driver, o connecting the client to the second graphics driver, o operating one or more applications within the session, o rendering graphic output from the or each application via the second graphics driver directly to the client, and o routing all session management commands from the client to the connection manager.
12. A computer program product according to claim 11 , wherein the step of creating a new session for the connected client, the session including the second graphics driver, further comprises deleting the first graphics driver from the session.
13. A computer program product according to claim 11 or 12, and further comprising routing all user commands from the client to the second graphics driver.
14. A computer program product according to claim 11 , 12 or 13, and further comprising receiving an instruction from the client to terminate the session at the connection manager, the connection manager instructing the terminal service to terminate the current session.
15. A computer program product according to any one of claims 11 to 14, and further comprising, following detecting the connection of a client to the server, at the connection manager, initiating a loopback connection between the connection manager and the terminal service.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/045557 WO2010138124A1 (en) | 2009-05-29 | 2009-05-29 | Loopback proxy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2009/045557 WO2010138124A1 (en) | 2009-05-29 | 2009-05-29 | Loopback proxy |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2010138124A1 true WO2010138124A1 (en) | 2010-12-02 |
Family
ID=41137709
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2009/045557 WO2010138124A1 (en) | 2009-05-29 | 2009-05-29 | Loopback proxy |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2010138124A1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9929955B2 (en) | 2014-12-17 | 2018-03-27 | International Business Machines Corporation | Local session loopback protocol |
US11150857B2 (en) | 2017-02-08 | 2021-10-19 | Immersive Robotics Pty Ltd | Antenna control for mobile device communication |
US11153604B2 (en) | 2017-11-21 | 2021-10-19 | Immersive Robotics Pty Ltd | Image compression for digital reality |
US11151749B2 (en) | 2016-06-17 | 2021-10-19 | Immersive Robotics Pty Ltd. | Image compression method and apparatus |
US11553187B2 (en) | 2017-11-21 | 2023-01-10 | Immersive Robotics Pty Ltd | Frequency component selection for image compression |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1521427A2 (en) * | 2003-09-30 | 2005-04-06 | Microsoft Corporation | Systems and methods for determining remote device media capabilities |
EP1681824A1 (en) * | 2005-01-14 | 2006-07-19 | Microsoft Corporation | USB devices in application server environments |
US20060248180A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Techniques for managing terminal services sessions |
US20070061477A1 (en) * | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Plug And Play Device Redirection For Remote Systems |
US20070296643A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Display extension using terminal clients |
-
2009
- 2009-05-29 WO PCT/US2009/045557 patent/WO2010138124A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1521427A2 (en) * | 2003-09-30 | 2005-04-06 | Microsoft Corporation | Systems and methods for determining remote device media capabilities |
EP1681824A1 (en) * | 2005-01-14 | 2006-07-19 | Microsoft Corporation | USB devices in application server environments |
US20060248180A1 (en) * | 2005-04-29 | 2006-11-02 | Microsoft Corporation | Techniques for managing terminal services sessions |
US20070061477A1 (en) * | 2005-09-09 | 2007-03-15 | Microsoft Corporation | Plug And Play Device Redirection For Remote Systems |
US20070296643A1 (en) * | 2006-06-27 | 2007-12-27 | Microsoft Corporation | Display extension using terminal clients |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9929955B2 (en) | 2014-12-17 | 2018-03-27 | International Business Machines Corporation | Local session loopback protocol |
US10084708B2 (en) | 2014-12-17 | 2018-09-25 | International Business Machines Corporation | Local session loopback protocol |
US11151749B2 (en) | 2016-06-17 | 2021-10-19 | Immersive Robotics Pty Ltd. | Image compression method and apparatus |
US11150857B2 (en) | 2017-02-08 | 2021-10-19 | Immersive Robotics Pty Ltd | Antenna control for mobile device communication |
US11429337B2 (en) | 2017-02-08 | 2022-08-30 | Immersive Robotics Pty Ltd | Displaying content to users in a multiplayer venue |
US11153604B2 (en) | 2017-11-21 | 2021-10-19 | Immersive Robotics Pty Ltd | Image compression for digital reality |
US11553187B2 (en) | 2017-11-21 | 2023-01-10 | Immersive Robotics Pty Ltd | Frequency component selection for image compression |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100486247C (en) | Method and equipment of transparent consulting | |
CA2608341C (en) | Remote network node management system and method | |
US9389826B2 (en) | Zero client device with integrated network authentication capability | |
CN102368231B (en) | Method and system for redirecting USB (universal serial bus) devices | |
US9246844B2 (en) | Method for activating and deactivating client-side services from a remote server | |
TW200815987A (en) | Device connection system and device connection method | |
JP2001014251A (en) | Information processing method, information terminal support server, collaboration system and storage medium with information processing program stored thereon | |
WO2010138124A1 (en) | Loopback proxy | |
KR20150013860A (en) | Clientless cloud computing | |
CN110177128B (en) | Data transmission system and method for establishing VPN connection, terminal and VPN proxy thereof | |
CN108200018A (en) | Flow forwarding method and equipment, computer equipment and readable medium in cloud computing | |
JP4791850B2 (en) | Information processing system and virtual office system | |
US10367894B2 (en) | Information processing apparatus, method for controlling the same, non-transitory computer-readable storage medium, and information processing system | |
CN113765801B (en) | Message processing method and device applied to data center, electronic equipment and medium | |
CN114217900A (en) | Remote control method, device and system, computing equipment and storage medium | |
CN111790159B (en) | Data processing method, device, equipment and computer readable storage medium | |
CN202257550U (en) | Re-orientating system for USB (Universal Series Bus) equipment | |
CN112565372A (en) | Communication method and system for virtual machine and client during network isolation | |
US11563721B2 (en) | Methods and systems for network address translation (NAT) traversal using a meet-in-the-middle proxy | |
US8316143B1 (en) | Communication interface between gateway modules and internet servers | |
JP4910274B2 (en) | Program and server device | |
CN101005421A (en) | Telnet control method for realizing multiple network system by single network port | |
CN116319570A (en) | Multi-cluster distributed load balancing method, system, device, equipment and medium | |
CN117319141A (en) | Cloud equipment network management method, access method and related equipment | |
CN116133058A (en) | Session establishment method, system, device, equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09789727 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 09789727 Country of ref document: EP Kind code of ref document: A1 |