Trusted internet clipboard

A system, method and computer-readable medium for using an Internet clipboard service to loosely couple web services by intercepting download and upload actions of a user in web interfaces to streamline information transfer from a source web service to a destination web service. The method includes the steps of: intercepting a user's request, capturing information retrieved for the request, editing the recorded messages, and replaying the messages on an Internet clipboard server to effect the resource transfer.

FIELD OF THE INVENTION

The present invention relates generally to levels of integration between Internet (also known as World Wide Web or web) services, and more particularly to streamlined movement of web resources from a source web service to a destination web service.

BACKGROUND OF THE INVENTION

With respect to desktop applications, the lowest level of integration that is possible is the passing of resources via a well-known storage location such as the file system. In a file system, a user may simply enter a path and access the desired file. A clipboard is a special file or memory area where data is stored temporarily before being copied to another location. Clipboards streamline application integration. Many desktop applications, e.g. word processors, use a clipboard for cutting and pasting. When a block of pre-selected text is cut, the word processor copies the block to the clipboard. When the block of pre-selected text on the clipboard is pasted, the block is copied to its final destination, which is often another application program.

Clipboards may support varying levels of meta-data about copied resources, such as descriptive attributes and resource format descriptions. Also, clipboards may support the transfer of resource meta-data that can facilitate negotiation between source and destination services. For example, a text block cut to the clipboard from a word processor may be accompanied by a meta-data tag indicating that the text has been spell-checked. A destination application to which the text block is pasted may evaluate the “spell-checked” tag and determine that it may skip its usual routine step of spell-checking incoming data.

Much like the levels of integration that are possible between desktop applications, there are varying levels of integration that are possible between web services. However, present web services do not provide for a direct channel for the transfer of resources between source and destination services. Presently, a resource must be first transferred (downloaded) from the source web service to an end-user's client computer and then transferred (uploaded) from the end-user's client computer to the destination web service. In the present topology of the Internet and World Wide Web, the transmission bandwidth available to end-user client computers is often limited, particularly when compared to the transmission bandwidth available to web server computers on which web service applications execute. Web server computers are most often located on the premises of Internet Service Providers (ISP) or Application Service Providers (ASP) that have high-bandwidth connections to the Internet. Thus, presently the transfer of a resource from a source web service to a destination web service is often inefficient due to the required intermediate transfers of the resource to and from an end-user client system. A further present limitation to web resource transfers is that the Internet/World Wide Web connection to an end-user's client computer is often not very secure, i.e. it is subject to both physical and electronic intrusion, particularly when compared to the security of the connection between web services, which as previously mentioned are most often hosted on the protected physical premises of an ISP or ASP and are also connected much closer to high-bandwidth, restricted, main Internet transmission channels. Thus, the secure transfer of resources from a source web service to a destination service may be compromised due to the need for the intermediate transfers to and from an end-user's client computer.

Consequently there is a need for a method and system to facilitate the efficient and secure transfer of resource(s) from a source web service to a destination web service.

SUMMARY OF THE INVENTION

The present invention provides a system, method and computer-readable medium for using an intermediary Trusted Internet Clipboard web service to loosely couple source and destination web services for the purpose of efficiently and securely transferring resource(s) from the source web service to the destination web service without requiring the resource(s) to be intermediately transferred to and from an end-user's client computer. The actions of the Trusted Internet Clipboard Service are remotely initiated and coordinated by a Local Clipboard Proxy executing on the end-user's client computer. By being an intermediary to the resource transfer, the Trusted Clipboard Service further allows for additional (optional) operations and transformations to be performed on the resource(s) before sending them to the destination service.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

The present invention provides an efficient and secure method and system for movement of web resource(s) from a Source Web Service to a Destination Web Service while concomitantly allowing optional transformation services to be applied to the resource(s) as part of the transfer. In reference toFIG. 1, the present invention loosely couples a Source Web Service (124) to a Destination Web Service (122) by utilizing an intermediary Trusted Internet Clipboard Service (114).

The Trusted Internet Clipboard Service consists of a Source Adaptor (116), a Destination Adaptor (120) and one or more optional Transformation Service (118) modules. The Source Adaptor (116) and Destination Adaptor (120) code modules are generally unique to the Source and Destination Services, respectively. The communication protocols, involving HTTP, i.e. HyperText Transfer Protocol requests and replies, will generally be proprietary to the Source and Destination Service applications, and their implementation requires internal working knowledge of these Services. This will generally require that the adaptors be implemented by the providers of those Web Services (or with access to specifications for those services). Standard protocols are now emerging in the industry, such as WebDAV (a standard being developed within the Internet Engineering Task Force body facilitating Web-based Distributed Authoring and Versioning of resources). Such standards will enable consistent, uniform transfer of web service resources. It will be possible to implement general purpose, non-proprietary, Source and Destination Adaptors that comply with such standards and that will operate with any Web Services which also comply with such standards. Further discussion of these emerging standards is not material to, and beyond the scope of, this description of the present invention, which may utilize such standards to simplify and generalize the implementation of Source and Destination Adaptor modules.

The present invention furthermore utilizes a Local Internet Clipboard Proxy program (110) executing on an End-User Client Computer (104) system to remotely control the actions of the Trusted Internet Clipboard Service (114). The End-User (102) interacts with the Local Internet Clipboard Proxy (110) by accessing the Proxy Graphical User Interface (112). Though not illustrated, the Trusted Internet Clipboard Service (114), like the Source and Destination Web Services (124,122) is hosted, and executes, on a server of a known and trusted ISP or ASP. As previously mentioned, ISP's and ASP's generally have secure physical premises and high-bandwidth secure connections to the Internet (108). The End-User Client Computer system (104) may be in any remote location having a connection to the Internet (108). An End-User (102) interacts over the Internet with all Web Services (124,122) by utilizing a Web Browser application (106), such as Microsoft Internet Explorer, executing on the Client Computer (104). The Web Browser is configured such that all web interactions (utilizing HTTP, Hypertext Transfer Protocol) are routed through the Local Internet Clipboard Proxy (110). The local Internet Clipboard Proxy110and the proxy graphical user interface112are elements of the local unit132, which couples the end-user client computer104to the Internet108. As will be further explained, by routing all web interactions through the Local Internet Clipboard Proxy (110), the Proxy is able to monitor and record such interactions for purposes of controlling the Trusted Internet Clipboard Service (114), located on the Internet clipboard server128, to effect resource (126) transfer from the Source (124) to Destination (122) Web Service. The Local Internet Clipboard Proxy (110) communicates with the Trusted Internet Clipboard Service (114) over the Internet (108) via the Internet clipboard service (114) using HyperText Transfer Protocol (HTTP) messages and is thus able to effect remote control of the Trusted Internet Clipboard Service (114) from the End-User Client Computer (104).

The operation of the aforementioned components of the present invention will be explained in conjunction with further reference toFIG. 1, to the flowchart ofFIGS. 2A and 2B, which illustrates the method of the invention to effect the transfer of a Source Web Service Resource (126) to a Destination Web Service (122), and to the examples of Local Internet Clipboard Proxy user interface screens shown inFIGS. 3A,3B,3C,4A and4B. In this example, an End-User (102) desires to transfer a Resource (126), e.g. an image file, from a Source Web Service (124) to a Destination Web Service (122). In step201, the End-User (102) starts or otherwise activates the Local Internet Clipboard Proxy (110). This causes the Proxy Graphical User Interface (112) to be displayed on a portion of the End-User's display and causes the Local Internet Clipboard Proxy (110) to establish an Internet connection/session with the Trusted Internet Clipboard Service (114). In step203, the End-User (102) accesses the Source Web Service (124) by entering the Service's Uniform Resource Locator (URL) into the Web Browser (106). The Source Web Service (124) will present web pages to the End-User (102) via the Web Browser (106). In step205, the End-User (102) optionally (if required to do so) logs in and authenticates himself to the Source Web Service (124) to establish a user session, e.g. by entering a unique identifier and password. During step205, the Local Internet Clipboard Proxy (110) records the End-User interactions (including log in and authentication information) used to establish the session with the Source Web Service (124). In step207the End-User (102) interacts with the Source Web Service (124) to navigate to the web page displaying the resource transfer/copy function. In step209, the End-User (102) initiates a Trusted Internet Clipboard resource transfer by selecting the Start Copy interface dialogue of the Proxy Graphical User Interface (112) as illustrated inFIG. 3A. Once this occurs, the Local Internet Clipboard Proxy (110) subsequently records all web interactions of the End-User (102) with the Source Web Service (124), until the Proxy Stop Copy function is selected. In step211, the End-User (102) next interacts with the Source Web Service (124) to copy the desired Resource (126) as if the resource were being copied/downloaded to the End-User Client Computer (104). It is important to note that the Resource (126) is not actually copied during step211, and in particular, it will not be copied to the End-User Client Computer (104). Instead, the End-User interactions (as embodied in the HTTP messages between the End-User's Web Browser (106) and the Source Web Service (124)) necessary to copy the resource are intercepted and recorded by the Local Internet Proxy (110), and the final HTTP message to the Source Web Service (124) that would effect the transfer is intercepted/blocked by the Local Internet Clipboard Proxy (110) and not forwarded to the Source Web Service (124). In step213, the End-User (102) selects the Stop Copy function of the Local Internet Clipboard Proxy (110) by interacting with the Stop Copy user interface dialogue as illustrated inFIG. 3B. In step215the End-User (102) complies with instructions to log off from the Source Web Service (124) presented by a Local Proxy dialogue as illustrated inFIG. 3C. In step217the Local Internet Clipboard Proxy (110) commands (via an HTTP message sent over the Internet) the Trusted Interface Clipboard Service (114) to copy/transfer the resource from the Source Web Service (124) to a temporary storage area maintained by the Clipboard Service. Also transmitted within an HTTP message to the Trusted Internet Clipboard Service (114) at this time is the web interaction sequence recorded by the Local Internet Clipboard Proxy (110) during steps207-211. In step219, the Trusted Internet Clipboard Service (114) edits this recorded web interaction sequence to change the copy destination to its own local temporary storage area instead of the End-User Client Computer (104) and then replays the web interaction sequence to establish an End-User session with the Source Web Service (124) and to cause the desired Resource (126) to be copied to the Trusted Internet Clipboard Service's temporary local storage area.

In steps221–223the End-User (102) logs in and authenticates himself to the Destination Web Service (122). In step225the End-User (102) navigates through the user interface of the Destination Web Service (122) to reach the web page in that application/service to request that a resource be transferred. In step227the End-User (102) selects Start Paste function of the Local Internet Clipboard Proxy (110) by interacting with the Start Paste user interface dialogue as illustrated inFIG. 4A. In step229the End-User (102) selects the resource transfer/paste function of the Destination Web Service (122). In step231the Web Browser (104) displays a dialogue (not illustrated) to the End-User (102), allowing the End-User (102) to specify (or browse to) the desired resource to transfer. In step233the End-User (102) specifies a “dummy” resource to the Destination Web Service (122). This dummy resource will not actually be the resource transferred and may thus be any resource accessible to the End-User (102) and recognizable by the local proxy (110) as a dummy resource from the Destination Web Service transfer dialogue. In step235the End-User (102) selects the Stop Paste function from the Proxy Graphical User Interface as illustrated inFIG. 4B. In step237the Local Internet Clipboard Proxy (110) instructs the Trusted Internet Clipboard Service (114) to transfer/paste the resource being saved in its temporary storage area to the Destination Web Service (122). In step239the Trusted Internet Clipboard Service (114) edits the recorded transfer request and substitutes the Uniform Resource Identifier (URI) for the copy of the real resource to be transferred being saved in its temporary storage area for the dummy resource specified in the recorded HTTP message sequence. In Step241the transfer of Resource (126) from Source Web Service (124) to Destination Web Service (122) has been completed. Note that the Trusted Internet Clipboard Service (114) may perform optional Transformation Services (118) on the Resource (126) being transferred prior to sending the resource to the Destination Web Service (122). Such transformations, e.g. file format conversions, may be necessary or useful to further facilitate integration of the Source and Destination Web Services.

Thus, as shown inFIG. 5, the present invention provides an Internet clipboard method for loosely coupling web services by intercepting resource download and upload actions for a user in web interfaces to streamline information transfer from a source web service to a destination web service. The steps typically include: intercepting502a user's request on the user's computer with a local Internet clipboard proxy; capturing504information retrieved for the request; and replaying506the information on an Internet clipboard server to facilitate transfer of the resource directly from the source web service to the destination web service. Clearly, a computer-readable medium with computer-executable instructions may be utilized for implementing the steps. Where desired, the steps of the method may be implemented in a computer-readable medium500with computer-executable instructions501for carrying out the steps.

Prior to intercepting the user's request, the user may log onto508the Internet clipboard server and may notify510the Internet clipboard server that the user is about to copy information. Capturing information retrieved for the request may include, upon intercepting the user's request, sending, by the Internet clipboard server, the request to the source web service via a source adapter. Capturing information retrieved for the request may also include retrieving, by the source web service, information for the request and sending the information to the source adapter in a response. Also, capturing information retrieved for the request may include parsing, by the source adaptor, the information, extracting content from the information to storage, and sending the response to a web browser of the user. In addition, capturing information retrieved for the request may include notifying the proxy graphic user interface of the local unit that the user is about to paste, and/or may include placing, by the local unit, a dummy file in a staging folder.

Where desired, capturing information retrieved for the request may include using a web browser's file upload on a proxy graphic user interface to upload the dummy file and/or may include submitting, by the web browser, a multi-part form with data request file to the Destination Web Service (122). Capturing information retrieved for the request may also include intercepting, by the local unit, the request and sending the request to an Internet clipboard service and/or may include replacing, by the Internet clipboard service, the dummy file with actual content and sending the content to the destination web service.

As shown inFIG. 1, in one embodiment the present invention provides an Internet clipboard server system for loosely coupling web services by intercepting download and upload actions for a user in web interfaces to streamline information transfer from a source web service to a destination web service, wherein the system may include a web browser106, a local unit132, a source web service124, a destination web service122and an Internet clipboard server128. The web browser106is arranged to communicate with the source web service124and the destination web service122via a local Internet clipboard proxy110and to the Internet clipboard server128via local Internet clipboard proxy-Internet clipboard service communication. The web browser106is used for placing a request, by a user, to access and download Internet information. The local unit132is arranged to communicate with the source web service124, the destination web service122, and the web browser106via the local Internet clipboard proxy110and to the Internet clipboard server128via local Internet clipboard proxy-Internet clipboard service communication. The local unit132is used for, in coordination with the Internet clipboard server128, intercepting and facilitating download and upload actions for the user in web interfaces to streamline information transfer from—the source web service124to the destination web service122.

The source web service124is coupled to the Internet108and the web browser106via the local Internet clipboard proxy110and to the Internet clipboard server128via a source adaptor116, and provides Internet information requested by the user. The destination web service122is coupled to the web browser106via the local Internet clipboard proxy110and to the Internet clipboard server128via a destination adapter120. The destination web service122receives Internet information requested by the user. The Internet clipboard server128is coupled to the source web service124and the destination web service122and to the local unit132via the local Internet clipboard proxy-Internet clipboard service communication, for, in coordination with the Internet clipboard server128. The Internet clipboard server facilitates intercepting download and upload actions for the user in web interfaces to streamline information transfer from the source web service to the destination web service.

Where desired, prior to the local unit's intercepting the user's request, the user may log onto the Internet clipboard server, and if desired, may also notify the Internet clipboard server128that the user is about to copy information. Upon intercepting the user's request, the Internet clipboard server128may send the request to the web source106via a source adapter116, retrieve the information for the request and send the information to the source adapter116in a response.

Generally, the source adaptor116parses the information, extracts content from the information to storage, and sends the response to a web browser106of the user. The Internet clipboard server128typically adds origin metadata to the content to provide enhanced content and places the enhanced content in a proxy graphic user interface112of the local unit132. The user then generally notifies the proxy graphic user interface112of the local unit132that the user is about to paste, the local unit132places a dummy file in a staging folder, and the user implements a web browser's file upload on a proxy graphic user interface112to upload the dummy file. Then, the web browser106submits a multipart form with data request file to the source web service124, the local unit132intercepts a user's request and sends the request to the Internet clipboard service130, and the Internet clipboard service (114) replaces the dummy file with actual content and sends the content to the destination web service122.

As shown inFIG. 6, in another embodiment of the method of the present invention wherein a mediated download and upload web service is provided that streamlines information transfer from a source web service to a destination web service, the following steps are implemented: sending602a request, by a user, for information to be transferred from the source web service; intercepting604, by an Internet clipboard server, the request; copying606the information to the Internet clipboard server; and modifying608, by the user, the information requested while the information resides on the Internet clipboard server. Where desired, the steps of the method may be implemented in a computer-readable medium600with computer-executable instructions601for carrying out the steps.

Where desired, the information may be a photograph. The information may include a video sequence that is replayed on the Internet clipboard server128and modified by the user. Alternatively, the information may include an audio sequence that is replayed on the Internet clipboard server128and modified by the user. In addition, the information may include a video and audio sequence that is replayed on the Internet clipboard server and modified by the user.

FIG. 7is a flow diagram showing another embodiment of steps for implementing the method of the present invention for a trusted Internet clipboard server for providing a mediated download and upload web service that streamlines information transfer from a source web service to a destination web service, where the steps may, if desired, be implemented in a computer-readable medium700with computer-executable instructions701.

In this embodiment, the steps utilized include, upon a user's sending a request for information to be transferred from the source web service, intercepting702, by the trusted Internet clipboard server, the request; copying704the information to the trusted Internet clipboard server; and enabling706modification, by the user, of the information requested while the information resides on the trusted Internet clipboard server. Although the present invention has been described in relation to particular preferred embodiments thereof, many variations, equivalents, modifications and other uses will become apparent to those skilled in the art. It is preferred, therefore, that the present invention be limited not by the specific disclosure herein, but only by the appended claims.