Dragging and dropping objects between local and remote modules
First Claim
1. At a computer system which includes a local application running at the computer system and a client component, the client component participating in a terminal server session with a server component at a server computer system, a method for using drag and drop to transfer an object from the local application to a remoted module at the server computer system, the method comprising:
- an act of receiving user-input selecting a drag and drop object from within a local application window, the local application window representing a user-interface for the local application;
an act of the client component detecting that a desktop window cursor has been moved from outside to within the bounds of an application window for a remoted application;
an act of the client component receiving a drop notification indicating a pending drag and drop operation, the drop notification indicating that a drag and drop object is to be transferred to the remoted application;
an act of the client component sending a start drag drop message to the server component such that upon receiving the start drag drop message, the server component initiates a drag and drop modal loop for the remoted application;
an act of the client component sending a request to transfer the drag and drop object along with a coordinate location of the desktop window cursor to the server computer system over the terminal server session in response to receiving the drop notification;
an act of the client component receiving a request for the drag and drop object from the server computer system over the terminal server session;
the client component acting as a proxy drop target on behalf of the remoted application in response to receiving the request for the drag and drop object, including;
an act of forwarding the request for the drag and drop object to the local application;
an act of receiving the drag and drop object from the local application sent in response to the request for the drag and drop object; and
an act of the client component sending the drag and drop object to the server computer system over the terminal server session for delivery to the remoted application.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for dragging and dropping objects between local and remote modules. Terminal server components simulate the functionality of participants in drag and drag operations to facilitate the dragging and dropping of objects between local and remote modules and vice versa. The terminal server components interact locally to communicate with modules participating in a drag and drop operation. The terminal server components also send messages over a terminal server session to relay appropriate drag and drop information to corresponding terminal server components on the other end of the terminal server session.
-
Citations
22 Claims
-
1. At a computer system which includes a local application running at the computer system and a client component, the client component participating in a terminal server session with a server component at a server computer system, a method for using drag and drop to transfer an object from the local application to a remoted module at the server computer system, the method comprising:
-
an act of receiving user-input selecting a drag and drop object from within a local application window, the local application window representing a user-interface for the local application; an act of the client component detecting that a desktop window cursor has been moved from outside to within the bounds of an application window for a remoted application; an act of the client component receiving a drop notification indicating a pending drag and drop operation, the drop notification indicating that a drag and drop object is to be transferred to the remoted application; an act of the client component sending a start drag drop message to the server component such that upon receiving the start drag drop message, the server component initiates a drag and drop modal loop for the remoted application; an act of the client component sending a request to transfer the drag and drop object along with a coordinate location of the desktop window cursor to the server computer system over the terminal server session in response to receiving the drop notification; an act of the client component receiving a request for the drag and drop object from the server computer system over the terminal server session; the client component acting as a proxy drop target on behalf of the remoted application in response to receiving the request for the drag and drop object, including; an act of forwarding the request for the drag and drop object to the local application; an act of receiving the drag and drop object from the local application sent in response to the request for the drag and drop object; and an act of the client component sending the drag and drop object to the server computer system over the terminal server session for delivery to the remoted application. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 11)
-
-
9. At a computer system which includes one or more remoted applications running at the computer system and a server component, the server component participating in a terminal server session with a client component at a client computer system, the one or more remoted applications running at the computer system configured to be remotely accessed over the terminal server session by the client computer system, a method for using drag and drop to transfer an object to one of the one or more remoted applications from a module at the client computer system, the method comprising:
-
an act of the server component receiving a start drag drop message from the client component such that upon receiving the start drag drop message, the server component initiates a drag and drop modal loop for the remoted application; an act of the server component receiving a request to transfer a drag and drop object to the computer system and a coordinate location indicating the location of desktop window cursor at the client computer system, the request and coordinate location sent over the terminal server session; an act of the server component forwarding a drag and drop object transfer notification to a remoted application corresponding to the coordinate location; an act of the server component acting as a proxy drop source on behalf of an application at the client computer system in response to receiving the request to transfer a drag and drop object, including an act of the server component receiving a request for the drag and drop object from the remoted application; an act of the server component forwarding the request for the drag and drop object to the client component over the terminal server session; an act of the server component receiving the drag and drop object from the client component over the terminal server session; and an act of the server component acting as a proxy drop source on behalf of the application at the client computer system in response to receiving the drag and drop object, including an act of server component sending the drag and drop object to the remoted application. - View Dependent Claims (10, 12, 13)
-
-
14. At a computer system which includes a local application running at the computer system and a client component, the client component participating in a terminal server session with a server component at a server computer system, a method for using drag and drop to transfer an object from a remoted module at the server computer system to the local application, the method comprising:
-
an act of receiving user-input selecting a drag and drop object from within an application window for a remoted application, the application window representing a user-interface for the remoted application on the client computer system; an act of the client component detecting that a desktop window cursor has been moved from within to outside of the bounds of the application window for the remoted application; an act of the client component sending a message to the server component over the terminal server session, the message indicating to the server component that the desktop window cursor has been moved from within to outside of the bounds of the application window for the remoted application such that in response to the message, the server component determines that the movement of the mouse corresponds to a drag and drop operation; an act of the client component receiving a start drag drop message from the server component, and in response initiating a drag and drop modal loop on the client computer system; an act of the client component acting as a proxy drop source on behalf of the remoted application in response to receiving the request for the drag and drop object, including an act of the client component receiving a query for a drag and drop object from the local application, the query indicative of a drop notification at the local application representing that the drag and drop object is to be transferred to the local application; an act of the client component sending a request for the drag and drop object to the server component, the request sent over the terminal server session in response to the query, the request indicating to the server component that the local application is requesting the drag and drop object; an act of the client component receiving the drag and drop object from the server computer system over the terminal server connection; and an act of the client component acting as a proxy drop source on behalf of the remoted application in response to receiving the drag and drop object, including an act of the client component sending the drag and drop object to the local application. - View Dependent Claims (15, 16, 17, 18)
-
-
19. At a computer system which includes one or more remoted applications running at the computer system and a server component, the server component participating in a terminal server session with a client component at a client computer system, that one or more remoted applications running at the computer system configured to be remotely accessed over the terminal server session by the client computer system, a method for using drag and drop to transfer an object from a remoted application to a module at the client computer system, the method comprising:
-
an act of the server component receiving a message from the client component over the terminal server session, the message indicating to the server component that a desktop window cursor has been moved from within to outside of the bounds of an application window corresponding to a remoted application at the client computer system; an act of the server component determining that the movement of the desktop window cursor is associated with a pending drag and drop operation; an act of the server component sending a start drag drop message to the client component such that in response to receiving the start drag drop message, the client component initiates a drag and drop modal loop on the client computer system; an act of the server component receiving a request for a drag and drop object from the client component, the request sent over the terminal server session in response to a query for the drag and drop object from an application at the client computer system, the request indicating to the server component that the application at the client component is requesting the drag and drop object from the remoted application; the server component acting as a proxy drop target on behalf of the application at the client computer system in response to receiving the request for the drag and drop object, including; an act of forwarding the request for the drag and drop object to the remoted application; and an act of receiving the drag and drop object from the remoted application sent in response to the request for the drag and drop object; and an act of the server component sending the drag and drop object to the client computer system over the terminal server session for delivery to the application at the client computer system. - View Dependent Claims (20, 21, 22)
-
Specification