Non-intrusive proxy system and method for applications without proxy support
First Claim
1. A method of redirecting traffic through a proxy from a non-proxy-enabled module using a redirection application, the method comprising:
- translating an original address (ADD) of a destination server to a new address (ADD′
) using a processor, the new address (ADD′
) pointing to the proxy and containing all information about the original address (ADD);
providing the new address (ADD′
) to the non-proxy-enabled module, the non-proxy-enabled module subsequently making a protocol request, including a data request, connection request, status request, or combination thereof, to the proxy using a standard transport protocol;
after receiving the protocol request at the proxy, extracting the original address (ADD) from the new address (ADD′
) using a processor;
forwarding the protocol request to the destination server indicated by the original address (ADD), using the proxy, wherein the proxy uses a custom protocol that supports persistent connections to communicate with the destination server, and wherein the persistent connections are connections maintained in a persistent state, thereby enabling a connection between the proxy and the destination server to be kept open when there is not a current session, wherein the custom protocol used to communicate between the proxy and destination server is different than the standard transport protocol used to communicate between the proxy and the non-proxy-enabled module;
receiving data at the proxy from the destination server using the custom protocol; and
forwarding the data from the destination server to the non-proxy-enabled module.
0 Assignments
0 Petitions
Accused Products
Abstract
A system and method is disclosed for enabling a redirection application to use non-proxy-enabled modules for communication with a server through a proxy server, in which a non-proxy-enabled module takes an address or an URL as the input to establish a connection with the server. This system and method does not require administrative access (e.g. super-user, root, and the like), which is useful for mobile devices where obtaining such privileges is typically difficult. In one embodiment, a media application may use a media player provided by an operating system as a module. In this embodiment, the media application is the redirection application and the media player is the module. The non-proxy-enabled modules use addresses or URLs to locate and fetch data.
-
Citations
23 Claims
-
1. A method of redirecting traffic through a proxy from a non-proxy-enabled module using a redirection application, the method comprising:
-
translating an original address (ADD) of a destination server to a new address (ADD′
) using a processor, the new address (ADD′
) pointing to the proxy and containing all information about the original address (ADD);providing the new address (ADD′
) to the non-proxy-enabled module, the non-proxy-enabled module subsequently making a protocol request, including a data request, connection request, status request, or combination thereof, to the proxy using a standard transport protocol;after receiving the protocol request at the proxy, extracting the original address (ADD) from the new address (ADD′
) using a processor;forwarding the protocol request to the destination server indicated by the original address (ADD), using the proxy, wherein the proxy uses a custom protocol that supports persistent connections to communicate with the destination server, and wherein the persistent connections are connections maintained in a persistent state, thereby enabling a connection between the proxy and the destination server to be kept open when there is not a current session, wherein the custom protocol used to communicate between the proxy and destination server is different than the standard transport protocol used to communicate between the proxy and the non-proxy-enabled module; receiving data at the proxy from the destination server using the custom protocol; and forwarding the data from the destination server to the non-proxy-enabled module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for communicating with a destination server using a redirection application residing on a device and non-proxy-enabled module residing on the device, which take addresses or uniform resource locators (URLs) as input to establish connections, the system comprising:
-
the device including a hardware processor; a hyper-proxy that initiates a connection to the destination server; and a redirection application that translates an original address (ADD) into a new address (ADD′
) using a URL translator, wherein the new address (ADD′
) contains all information about the original address (ADD) but points to the hyper-proxy;wherein the redirection application transmits the new address (ADD′
) to the non-proxy-enabled module, the non-proxy-enabled module establishing a connection to the hyper proxy using a standard transport protocol;wherein the hyper-proxy extracts the original address (ADD) from the new address (ADD′
) using a processor, and forwards a request to the destination server indicated by the original address (ADD) using a custom protocol that supports persistent connections; andwherein data is received at the hyper-proxy from the destination server using the custom protocol, wherein the persistent connections are connections maintained in a persistent state, thereby enabling the connection between the hyper-proxy and the destination server to be kept open when there is not a current session, wherein the custom protocol used to communicate between the hyper-proxy and destination server is different than the standard transport protocol used to communicate between the hyper-proxy and the non-proxy-enabled module, wherein the data is forwarded from the destination server to the non-proxy-enabled module. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A system for communicating with a server through a proxy using a redirection application to enable non-proxy-enabled media player modules to use a streaming protocol with a playlist, the system comprising:
-
a device including a hardware processor; a hyper-proxy that initiates a connection to the server; a redirection application that translates an original address (ADD) of a playlist into a new address (ADD′
) using a URL translator, and wherein the new address (ADD′
) points to the hyper-proxy and contains all information about the original address (ADD), the new address (ADD′
) including a port number;wherein the redirection application transmits the new address (ADD′
) to the non-proxy-enabled media player module, and wherein the non-proxy-enabled media player module establishes a connection to the hyper-proxy using a standard transport protocol;wherein the hyper-proxy extracts the original address (ADD) from the new address (ADD′
) using a processor, and forwards a request to the server indicated by the original address (ADD) using a custom protocol that supports persistent connections;wherein the hyper-proxy receives the playlist from the server using the custom protocol and modifies addresses in the playlist, which enables the modified addresses to point to the hyper-proxy and contain all the information about the original address, the hyper-proxy providing the modified playlist to the non-proxy-enabled media player module, wherein the persistent connections are connections maintains in a persistent state, thereby enabling a connection between the hyper-proxy and the destination server to be kept open when there is not a current session, and wherein the custom protocol used to communicate between the hyper-proxy and destination server is different than the standard transport protocol used to communicate between the hyper-proxy and the non-proxy-enabled media player module. - View Dependent Claims (23)
-
Specification