System and method for data synchronization over a network using a presentation level protocol
First Claim
Patent Images
1. A method for synchronizing data on a device in communication with a client system, said method comprising:
- receiving, by a control virtual driver executing on a server, an event notification that a device is in communication with a client system via a USB connection, the event notification comprising at least a device name, a product identifier and a universal identifier;
binding, by a redirector virtual driver executing on the server, the event notification to a port number associated with a virtual communication channel to generate binding information associated with the device, the binding information comprising a COM port number for the virtual communication channel, the device name, the product identifier and the universal identifier;
mapping, by a driver mapping module executing on the server and responsive to receipt of the event notification, the device into a user session hosted by the server communicating with said client system via a presentation-level protocol and via the COM port number referenced in the binding information;
creating, by the server, a session-specific network layer virtual loop-back address based on a session ID of the user session;
executing, by said server within the user session, an instance of an application; and
synchronizing, by a synchronization application executing within the user session, a collection of data on said device with a collection of data accessible from said user session as a result of the execution of said instance, by redirecting communications of the synchronization application directed to a local loop-back address to the session-specific network layer virtual loop-back address.
7 Assignments
0 Petitions
Accused Products
Abstract
A mechanism for synchronizing data on a device communicating with a client system with data accessible from a server-hosted session is disclosed. The synchronization occurs over a network connection using a presentation-level protocol to transmit communications between the client system and the server system. Devices communicating with the client system are mapped into a user session. Once the device is mapped into the server-hosted session, data on the device in communication with the client system are synchronized with data accessible from the user-hosted session.
299 Citations
32 Claims
-
1. A method for synchronizing data on a device in communication with a client system, said method comprising:
-
receiving, by a control virtual driver executing on a server, an event notification that a device is in communication with a client system via a USB connection, the event notification comprising at least a device name, a product identifier and a universal identifier; binding, by a redirector virtual driver executing on the server, the event notification to a port number associated with a virtual communication channel to generate binding information associated with the device, the binding information comprising a COM port number for the virtual communication channel, the device name, the product identifier and the universal identifier; mapping, by a driver mapping module executing on the server and responsive to receipt of the event notification, the device into a user session hosted by the server communicating with said client system via a presentation-level protocol and via the COM port number referenced in the binding information; creating, by the server, a session-specific network layer virtual loop-back address based on a session ID of the user session; executing, by said server within the user session, an instance of an application; and synchronizing, by a synchronization application executing within the user session, a collection of data on said device with a collection of data accessible from said user session as a result of the execution of said instance, by redirecting communications of the synchronization application directed to a local loop-back address to the session-specific network layer virtual loop-back address. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A system for synchronizing data on a device in communication with a client system, the system comprising:
-
a client system comprising a processor that executes a presentation-level protocol to communicate with a server system, said client system executing including an event manager to generate event notifications based on a communication received from a device interfacing with said client system, the event notifications comprising at least a device name, a product identifier and a universal identifier, the device communicating with said client system and having a collection of data; a control virtual driver executing on the server system to receive the event notifications; a redirector virtual driver executing on the server system to bind the event notifications to a port number associated with a virtual communication channel to generate binding information associated with the device, the binding information comprising a COM port number for the virtual communication channel, the device name, the product identifier and the universal identifier; and the server system communicating with said client system via the presentation-level protocol, and hosting at least one user session executing an instance of an application used to synchronize a collection of data on said device with a collection of data accessible from said user session by redirecting communications of the synchronization application directed to a local loop-back address to a session-specific network layer virtual loop-back address based on a session ID of the user session. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
-
24. A non-transitory computer-readable medium having instructions executable by a processor to synchronize data on devices communicating with a client system with data on a server, the computer readable medium comprising:
-
instructions for receiving, by a control virtual driver executing on a server, an event notification that a device is in communication with a client system via a USB connection, the event notification comprising at least a device name, a product identifier and a universal identifier; instructions for binding, by a redirector virtual driver executing on the server, the event notification to a port number associated with a virtual communication channel to generate binding information associated with the device, the binding information comprising a COM port number for the virtual communication channel, the device name, the product identifier and the universal identifier; instructions for mapping, by a driver mapping module executing on the server and responsive to receipt of the event notification, the device into a user session hosted by the server communicating with said client system via a presentation-level protocol and via the COM port number referenced in the binding information; instructions for creating, by the server, a session-specific network layer virtual loop-back address based on a session ID of the user session; instructions for executing, by the server within the user session, an instance of an application; and instructions for synchronizing, by a synchronization application executing within the user session, a collection of data on said device with a collection of data accessible to said user session as a result of the execution of said application instance, by redirecting communications of the synchronization application directed to a local loop-back address to the session-specific network layer virtual loop-back address. - View Dependent Claims (25, 26, 27, 28, 29, 30, 31, 32)
-
Specification