EP0986225A1 - System and method for securely synchronizing multiple copies of a workspace element in a network - Google Patents
System and method for securely synchronizing multiple copies of a workspace element in a network Download PDFInfo
- Publication number
- EP0986225A1 EP0986225A1 EP98307362A EP98307362A EP0986225A1 EP 0986225 A1 EP0986225 A1 EP 0986225A1 EP 98307362 A EP98307362 A EP 98307362A EP 98307362 A EP98307362 A EP 98307362A EP 0986225 A1 EP0986225 A1 EP 0986225A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- version information
- firewall
- copy
- store
- modified
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
Definitions
- This invention relates generally to computer networks, and more particularly to a system and method for securely synchronizing multiple copies of a workspace element such as a file in a secure network.
- Data consistency is a significant concern for computer users. For example, when maintaining multiple independently-modifiable copies of a document, a user risks using an outdated version. Further, by the time the user notices the inconsistency, interparty miscommunication or data loss may have resulted. The user must then spend more time attempting to reconcile the inconsistent versions.
- a system and method are needed for providing users with data consistency, and more particularly for synchronizing multiple copies of a workspace element such as a document in the secure network environment.
- An embodiment of the invention provides a system and method for synchronizing multiple copies of a workspace element in a secure network environment.
- the secure network environment includes a global server connected to multiple clients.
- the clients automatically synchronize workspace data between multiple sites, independent of whether the sites are protected by site firewalls.
- the present system includes a general synchronization module at the client site for operating within a first firewall and for examining first version information to determine whether a first workspace element has been modified.
- the system further includes a synchronization agent at the global server for operating outside the first firewall and for forwarding to the general synchronization module second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified.
- a synchronization-start module at the client site operates within the first firewall and initiates the general synchronization module and the synchronization agent when predetermined criteria have been satisfied.
- the system further includes means for generating a preferred version from the first workspace element and from the copy by comparing the first version information and the second version information, and means for storing the preferred version at the first store and at the second store.
- the system further handles the case when both the workspace element and the copy have been modified independently since the last date and time of synchronization. Accordingly, a content-based synchronization module performs a responsive action such as determined a preferred version or storing both the first workspace element and the copy at both the first store and at the second store.
- the present method includes the steps of generating first examination results by examining first version information, which indicates whether a first workspace element stored at a first store within a firewall has been modified; and generating second examination results by examining second version information which indicates whether an independently-modifiable copy of the first workspace element, the copy being stored at a second store outside the firewall, has been modified.
- the present method further includes the steps of initiating synchronization from within the firewall when predetermined criteria have been satisfied; generating a preferred version from the first workspace element and from the copy based on the first and second examination results; and storing the preferred version at the first store and at the second store.
- the system and method advantageously use a trusted third party to enable the synchronization of workspace data among multiple sites. Accordingly, a client user who maintains a work site, a home site, an off-site and the global server site can synchronize the workspace data or portions thereof among all four sites. Further, the predetermined criteria (which controls when the synchronization-start module initiates synchronization) may be set so that the general synchronization module synchronizes the workspace data upon user request, at predetermined times during the day such as while the user is commuting, or after a predetermined user action such as user log-off or user log-on. Because the system and method operate over the Internet, synchronization can occur over any distance.
- the typical firewall which prevents in-bound communications, does not act as an impediment to workspace data synchronization. Also, since the user's preferences may be previously set, the present system and method may operate unattended by the client user.
- FIG. 1 is a block diagram illustrating a secure data-synchronizing network 100, comprising a first site such as a remote computer terminal 105 coupled via a communications channel 110 such as the Internet to a global server 120.
- the global server 120 is in turn coupled via a communications channel 125 such as the Internet to a second site such as a corporate Local Area Network (LAN) 135.
- the global server 120 is protected by a global firewall 115, and the corporate LAN 135 is protected by a corporate firewall 130.
- the corporate LAN 135 includes a corporate signal bus 140 coupling the corporate firewall 130 to an e-mail server 145 having e-mail data 165, to a file server 150 having file data 170, to a calendar server 155 having calendar data 175 and to a desktop computer 160 having user data 180.
- e-mail data 165, file data 170, calendar data 175 and user data 180 or portions thereof may be stored at different locations such as locally on the desktop computer 160.
- the e-mail data 165, file data 170, calendar data 175 and user data 180 are exemplary and collectively referred to herein as "workspace data" 185.
- workspace data may include other types of data such as application programs.
- each workspace element is identified by particular version information 255 (described below with reference to FIG. 2). Accordingly, each e-mail, file, calendar, etc. may be referred to as "a workspace element in workspace data.”
- workspace data 123 An independently modifiable copy of the workspace data 185, referred to herein as workspace data 123, is stored on the global server 120 for easy access by a user from the remote terminal 105. Being a copy, the workspace data 123 includes independently modifiable copies of each workspace element in workspace data 185 and an independently modifiable copy of version information 255 (FIG. 2), referred to herein as version information 124.
- Network 100 further comprises synchronization means, which includes a base system 190 stored within the corporate LAN 135 and for example on the desktop computer 160 and further includes a synchronization agent 126 stored outside the corporate firewall 130 and preferably on the global server 120.
- the base system 190 and the synchronization agent 126 cooperate to synchronize the workspace data 185 with the workspace data 123.
- the base system 190 manages the workspace data 185 within the corporate LAN 135 and the synchronization agent 126 manages the workspace data 123 within the global server 120.
- the base system 190 preferably initiates and controls data synchronization.
- the remote terminal 105 may include a smart telephone or a Personal Data Assistant (PDA) such as the PalmPilot system by the U.S. Robotics, Inc.
- PDA Personal Data Assistant
- the remote terminal 105 may include a second base system similar to the base system 190, which is described with greater detail with reference to FIG. 4. Accordingly, the second base system on the remote terminal 105 would cooperate with the synchronization agent 126 to synchronize the workspace data stored on the remote terminal 105 with the workspace data 123 stored on the global server 120.
- the second base system on the remote terminal 105 would preferably initiate and control data synchronization with the global server 120 for the same reasons discussed below. Workspace data on the remote terminal 105 would thus be synchronized with the workspace data 123 and with the workspace data 185.
- FIG. 2 is a block diagram illustrating details of a service server 200, wherein each of the e-mail server 145, the file server 150, the calendar server 155 and the desktop computer 160 is an instance thereof.
- Service server 200 includes a Central Processing Unit (CPU) 205 such as a Motorola Power PC® microprocessor or an Intel Pentium® microprocessor.
- An input device 210 such as a keyboard and mouse and an output device 215 such as a Cathode Ray Tube (CRT) display are coupled via a signal bus 220 to CPU 205.
- a communications interface 225 such as an Ethernet port
- a data storage device 230 such as read only memory or a magnetic disk
- RAM Random-Access Memory
- An operating system 240 includes a program for controlling processing by the CPU 205, and is typically stored in the data storage device 230 and loaded into the RAM 235 for execution.
- a service engine 245 includes a program for performing a particular service such as maintaining an e-mail data base, a calendar data base, a bookmarks data base or another file data base, and may be also stored in the data storage device 230 and loaded into the RAM 235 for execution.
- the service engine 245 operates on service data 250 (e.g., the e-mail data 165, the file data 170, the calendar data 175 or the user data 180), which is typically stored in the data storage device 250.
- the service data 250 includes version information 255 indicating the date and time of the last modification.
- the service engine 245 operates to update the version information 255 whenever modifications are made. It will be appreciated that the portion of memory in the data storage device 250 which contains the service data 250 is referred to as the service "store.”
- FIG. 3 is a block diagram illustrating details of the desktop computer 160, which includes a CPU 305, an input device 310, an output device 315, a communications interface 325, a data storage device 330 and RAM 335, each coupled to a signal bus 320.
- An operating system 340 includes a program for controlling processing by the CPU 305, and is typically stored in the data storage device 330 and loaded into the RAM 335 for execution.
- a desktop service engine 345 i.e., a particular service engine 245, FIG. 2 includes a service program for managing user data 180 (i.e., particular service data 250, FIG. 2) which includes version information 350 (i.e., particular version information 255, FIG. 2).
- the desktop service engine 345 may be also stored in the data storage device 330 and loaded into the RAM 335 for execution.
- the user data 180 may be stored in the data storage device 330.
- the base system 190 operates to synchronize the workspace data 185 (which includes user data 180) with the workspace data 123.
- the base system 190 may be also stored in the data storage device 330 and loaded into the RAM 335 for execution.
- FIG. 4 is a block diagram illustrating details of the base system 190, which includes a communications module 405, a user interface module 410, a locator module 415, a synchronization-start (“synch-start”) module 420, a general synchronization module 425 and a content-based synchronization module 430.
- each module is illustrated as communicating with one another via a signal bus 440.
- the communications module 405 includes routines for compressing data, and routines for communicating via the communications interface 325 (FIG. 3) with the synchronization agent 126 (FIG. 1).
- the communications module 405 may further include routines for applying Secure Socket Layer (SSL) technology and user identification and authentication techniques (i.e., digital certificates) to establish a secure communication channel through the corporate firewall 130 and through the global firewall 126.
- SSL Secure Socket Layer
- Examples of communications modules 405 may include TCP/IP stacks or the AppleTalk® protocol.
- the user interface 410 includes routines for communicating with a user, and may include a conventional Graphical User Interface (GUI).
- GUI Graphical User Interface
- the user interface 410 operates in coordination with the other desktop computer 160 components as described herein.
- the locator module 415 includes routines for identifying the memory locations of the workspace elements in the workspace data 185 and the memory locations of the workspace elements in the workspace data 123.
- Workspace element memory location identification may be implemented using intelligent software, i.e., preset memory addresses or the system's registry, or using dialogue boxes to query a user. Accordingly, the locator module 415 determines the memory addresses of the workspace elements in the e-mail data 165, the workspace elements in the file data 170, the workspace elements in the calendar data 175 and the workspace elements in the user data 180 as well as the memory addresses of the corresponding workspace elements in the workspace data 123. It will be appreciated that the locator module 415 may perform workspace element memory location identification upon system boot-up or after each communication with the global server 120 to maintain updated memory locations of workspace elements.
- the synchronization-start module 420 includes routines for determining when to initiate synchronization of workspace data 123 and workspace data 185. For example, the synchronization-start module 420 may initiate data synchronization upon user request, at a particular time of day, after a predetermined time period passes, after a predetermined number of changes, after a user action such as user log-off or upon like criteria. The synchronization-start module 420 initiates data synchronization by instructing the general synchronization module 425 to begin execution of its routines. It will be appreciated that communications with synchronization agent 126 preferably initiate from within the corporate LAN 1135, because the typical corporate firewall 130 prevents in-bound communications and allows outbound communications.
- the general synchronization module 425 includes routines for requesting version information 124 from the synchronization agent 126 (FIG. 1) and routines for comparing the version information 255 against a last synchronization signature 435 such as a last synchronization date and time to determine which versions have been modified.
- the general synchronization module 425 further includes routines for comparing the version information 124 and the version information 255 to determine if only one or both versions of a particular workspace element have been modified and routines for performing an appropriate synchronizing responsive action.
- Appropriate synchronizing responsive actions may include forwarding the modified version (as the preferred version) of a workspace element in workspace data 185 or forwarding just a compilation of the changes to the other store(s).
- Other appropriate synchronizing responsive actions may include, if reconciliation between two modified versions is needed, then instructing the content-based synchronization module 430 to execute its routines which are described below.
- the synchronization agent 126 preferably examines the version information 124 and forwards only the version information 124 determined to be modified since the last synchronization signature 435. This technique makes efficient use of processor power and avoids transferring unnecessary data across the communications channel 125.
- the general synchronization module 425 in the corporate LAN 135 accordingly compares the received version information 124 with the version information 255 to determine if reconciliation is needed. Upon completion of the data synchronization, the general synchronization module 425 updates the last synchronization signature 435.
- the content-based synchronization module 430 includes routines for reconciling two or more modified versions in workspace data 123, 185 of the same workspace element. For example, if the original and the copy of a user workspace element have both been modified independently since the last synchronization, the content-based synchronization module 430 determines the appropriate responsive action.
- the content-based synchronization module 430 may request a user to select the preferred one of the modified versions or may respond based on preset preferences, i.e., by storing both versions in both stores or by integrating the changes into a single preferred version which replaces each modified version at both stores.
- FIG. 5 is a block diagram illustrating details of the synchronization agent 126, which includes a communications module 505 (similar to the communications module 405 described above with reference to FIG. 4) and a general synchronization module 510 (similar to the general synchronization module 425 described above also with reference to FIG. 4).
- the communications module 505 includes routines for compressing data, and routines for communicating via the communications channel 125 with the base system 190.
- the communications module 505 may further include routines for establishing a secure communications channel through the global firewall 126 and through the corporate firewall 130.
- the general synchronization module 510 includes routines for comparing the version information 124 with the last synchronization signature 435, and routines for forwarding to the general synchronization module 425 version information 124 determined to be modified.
- the general synchronization module 510 may either maintain its own last synchronization signature 435 copy (not shown). Alternatively, the request to synchronize from the base system 190 may include a copy of the last synchronization signature 435.
- the general synchronization module 510 further includes routines for receiving preferred versions of workspace data 185 workspace elements from the general synchronization module 425, and routines for forwarding preferred versions of workspace data 123 workspace elements to the general synchronization module 425.
- FIG. 6 is a flowchart illustrating a method 600 for synchronizing multiple copies of workspace data 123, 185 in a secure network 100.
- Method 600 begins with locator module 415 in step 605 identifying the memory locations of the workspace elements in workspace data 123, 185.
- workspace element memory location identification may be implemented using intelligent software or dialogue boxes.
- the user interface module 410 in step 610 enables selection of the workspace elements in workspace data 123, 185 to be synchronized by the general synchronization module 425.
- the synchronization-start module 420 in step 615 determines whether predetermined criteria have been met which indicate that synchronization of the workspace elements selected in step 610 should start. If not, then method 600 loops back to step 615. Otherwise, the communications module 405 and communications module 505 in step 617 establish a secure communications channel between the global server 120 and the desktop computer 160.
- the general synchronization module 510 in step 620 compares the version information 124 of each of the selected workspace elements in workspace data 123 against the last synchronization signature 435 to determine modified workspace elements, and forwards the version information 124 of workspace elements determined to be modified to the general synchronization module 425.
- the general synchronization module 425 in step 620 compares the version information 255 of each selected workspace element in the workspace data 185 against the last synchronization signature 435 to locate modified workspace elements.
- a workspace element has been modified if the date and time of last modification is after the date and time of last synchronization.
- the general synchronization modules 425 and 510 in step 650 update the last synchronization signature 435 and method 600 ends. Otherwise, the general synchronization module 425 in step 625 determines whether more than one version of the same workspace element has been modified since the last synchronization.
- step 630 forwards the updated preferred version of the workspace element to the other store, and then in step 635 determines whether all workspace elements selected in step 610 have been examined. If so, then method 600 jumps to step 650. Otherwise, then method 600 returns to step 620.
- the general synchronization module 425 in step 640 instructs the content-based synchronization module 430 to reconcile the modified versions.
- Reconciliation may include requesting instructions from the user or, based on preselected preferences, performing responsive actions such as storing both versions at both stores.
- General synchronization module 425, 510 in step 645 sends the preferred version of the workspace element or just a compilation of the changes to the other store. That is, if the preferred version is a workspace element in the workspace data 185, then general synchronization module 425 sends the preferred version or the changes to general synchronization module 510 to update the outdated workspace element in the workspace data 123. If the preferred version is a workspace element in the workspace data 123, then the general synchronization module 510 sends the preferred version or the changes to the general synchronization module 425 to update the outdated workspace element in the workspace data 185. Method 600 then jumps to step 635.
- the global server 120 is illustrated as a single device, the global server 120 may include several computers networked together.
- the remote terminal 105 can synchronize copies of workspace elements stored on it with workspace elements of workspace data 123 stored on the global server 120.
- Components of this invention may be implemented using a programmed general purpose digital computer, using application specific integrated circuits, or using a network of interconnected conventional components and circuits.
- the embodiments described herein have been presented for purposes of illustration and are not intended to be exhaustive or limiting. Many variations and modifications are possible in light of the foregoing teaching.
Abstract
Description
- This invention relates generally to computer networks, and more particularly to a system and method for securely synchronizing multiple copies of a workspace element such as a file in a secure network.
- Data consistency is a significant concern for computer users. For example, when maintaining multiple independently-modifiable copies of a document, a user risks using an outdated version. Further, by the time the user notices the inconsistency, interparty miscommunication or data loss may have resulted. The user must then spend more time attempting to reconcile the inconsistent versions.
- The problem of data inconsistency is exacerbated when multiple copies of a document are maintained at different network locations. For example, due to network security systems such as conventional firewall technology, a user may have access only to a particular one of these network locations. Without access to the other sites, the user cannot confirm that the version on the accessible site is the most recent draft.
- Therefore, a system and method are needed for providing users with data consistency, and more particularly for synchronizing multiple copies of a workspace element such as a document in the secure network environment.
- Particular and preferred aspects of the invention are set out in the accompanying independent and dependent claims. Features of the dependent claims may be combined with those of the independent claims as appropriate and in combinations other than those explicitly set out in the claims.
- An embodiment of the invention provides a system and method for synchronizing multiple copies of a workspace element in a secure network environment. The secure network environment includes a global server connected to multiple clients. Using the present system and method, the clients automatically synchronize workspace data between multiple sites, independent of whether the sites are protected by site firewalls.
- The present system includes a general synchronization module at the client site for operating within a first firewall and for examining first version information to determine whether a first workspace element has been modified. The system further includes a synchronization agent at the global server for operating outside the first firewall and for forwarding to the general synchronization module second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified. A synchronization-start module at the client site operates within the first firewall and initiates the general synchronization module and the synchronization agent when predetermined criteria have been satisfied. The system further includes means for generating a preferred version from the first workspace element and from the copy by comparing the first version information and the second version information, and means for storing the preferred version at the first store and at the second store.
- The system further handles the case when both the workspace element and the copy have been modified independently since the last date and time of synchronization. Accordingly, a content-based synchronization module performs a responsive action such as determined a preferred version or storing both the first workspace element and the copy at both the first store and at the second store.
- The present method includes the steps of generating first examination results by examining first version information, which indicates whether a first workspace element stored at a first store within a firewall has been modified; and generating second examination results by examining second version information which indicates whether an independently-modifiable copy of the first workspace element, the copy being stored at a second store outside the firewall, has been modified. The present method further includes the steps of initiating synchronization from within the firewall when predetermined criteria have been satisfied; generating a preferred version from the first workspace element and from the copy based on the first and second examination results; and storing the preferred version at the first store and at the second store.
- The system and method advantageously use a trusted third party to enable the synchronization of workspace data among multiple sites. Accordingly, a client user who maintains a work site, a home site, an off-site and the global server site can synchronize the workspace data or portions thereof among all four sites. Further, the predetermined criteria (which controls when the synchronization-start module initiates synchronization) may be set so that the general synchronization module synchronizes the workspace data upon user request, at predetermined times during the day such as while the user is commuting, or after a predetermined user action such as user log-off or user log-on. Because the system and method operate over the Internet, synchronization can occur over any distance. Since synchronization is initiated from within the firewall, the typical firewall, which prevents in-bound communications, does not act as an impediment to workspace data synchronization. Also, since the user's preferences may be previously set, the present system and method may operate unattended by the client user.
- Exemplary embodiments of the invention are described hereinafter, by way of example only, with reference to the accompanying drawings, in which:
- FIG. 1 is a block diagram illustrating a secure data-synchronizing network in accordance with the present invention;
- FIG. 2 is a block diagram illustrating details of a FIG. 1 service server;
- FIG. 3 is a block diagram illustrating details of the FIG. 1 desktop computer;
- FIG. 4 is a block diagram illustrating details of the FIG. 3 base system;
- FIG. 5 is a block diagram illustrating details of the FIG. 1 synchronization agent; and
- FIG. 6 is a flowchart illustrating a method for synchronizing multiple copies of a workspace element in a secure network.
-
- FIG. 1 is a block diagram illustrating a secure data-synchronizing
network 100, comprising a first site such as aremote computer terminal 105 coupled via acommunications channel 110 such as the Internet to aglobal server 120. Theglobal server 120 is in turn coupled via acommunications channel 125 such as the Internet to a second site such as a corporate Local Area Network (LAN) 135. Theglobal server 120 is protected by aglobal firewall 115, and thecorporate LAN 135 is protected by acorporate firewall 130. - The
corporate LAN 135 includes acorporate signal bus 140 coupling thecorporate firewall 130 to ane-mail server 145 havinge-mail data 165, to afile server 150 havingfile data 170, to acalendar server 155 havingcalendar data 175 and to adesktop computer 160 havinguser data 180. It will be appreciated that thee-mail data 165,file data 170,calendar data 175 anduser data 180 or portions thereof may be stored at different locations such as locally on thedesktop computer 160. It will be further appreciated that thee-mail data 165,file data 170,calendar data 175 anduser data 180 are exemplary and collectively referred to herein as "workspace data" 185. Those skilled in the art will recognize that "workspace data" may include other types of data such as application programs. It will be further appreciated that thee-mail data 165,file data 170,calendar data 175 anduser data 180 may each be divided into workspace elements, wherein each workspace element is identified by particular version information 255 (described below with reference to FIG. 2). Accordingly, each e-mail, file, calendar, etc. may be referred to as "a workspace element in workspace data." - An independently modifiable copy of the
workspace data 185, referred to herein asworkspace data 123, is stored on theglobal server 120 for easy access by a user from theremote terminal 105. Being a copy, theworkspace data 123 includes independently modifiable copies of each workspace element inworkspace data 185 and an independently modifiable copy of version information 255 (FIG. 2), referred to herein asversion information 124. -
Network 100 further comprises synchronization means, which includes abase system 190 stored within thecorporate LAN 135 and for example on thedesktop computer 160 and further includes asynchronization agent 126 stored outside thecorporate firewall 130 and preferably on theglobal server 120. Thebase system 190 and thesynchronization agent 126 cooperate to synchronize theworkspace data 185 with theworkspace data 123. Generally, thebase system 190 manages theworkspace data 185 within thecorporate LAN 135 and thesynchronization agent 126 manages theworkspace data 123 within theglobal server 120. As described in greater detail below with reference to FIG. 4, thebase system 190 preferably initiates and controls data synchronization. - The
remote terminal 105 may include a smart telephone or a Personal Data Assistant (PDA) such as the PalmPilot system by the U.S. Robotics, Inc. Although not shown, theremote terminal 105 may include a second base system similar to thebase system 190, which is described with greater detail with reference to FIG. 4. Accordingly, the second base system on theremote terminal 105 would cooperate with thesynchronization agent 126 to synchronize the workspace data stored on theremote terminal 105 with theworkspace data 123 stored on theglobal server 120. As with the corporate LAN, the second base system on theremote terminal 105 would preferably initiate and control data synchronization with theglobal server 120 for the same reasons discussed below. Workspace data on theremote terminal 105 would thus be synchronized with theworkspace data 123 and with theworkspace data 185. - FIG. 2 is a block diagram illustrating details of a
service server 200, wherein each of thee-mail server 145, thefile server 150, thecalendar server 155 and thedesktop computer 160 is an instance thereof.Service server 200 includes a Central Processing Unit (CPU) 205 such as a Motorola Power PC® microprocessor or an Intel Pentium® microprocessor. Aninput device 210 such as a keyboard and mouse and anoutput device 215 such as a Cathode Ray Tube (CRT) display are coupled via asignal bus 220 toCPU 205. A communications interface 225 (such as an Ethernet port), a data storage device 230 (such as read only memory or a magnetic disk), and Random-Access Memory (RAM) 235 are further coupled viasignal bus 220 to theCPU 205. - An
operating system 240 includes a program for controlling processing by theCPU 205, and is typically stored in thedata storage device 230 and loaded into theRAM 235 for execution. Aservice engine 245 includes a program for performing a particular service such as maintaining an e-mail data base, a calendar data base, a bookmarks data base or another file data base, and may be also stored in thedata storage device 230 and loaded into theRAM 235 for execution. To perform a service, theservice engine 245 operates on service data 250 (e.g., thee-mail data 165, thefile data 170, thecalendar data 175 or the user data 180), which is typically stored in thedata storage device 250. Theservice data 250 includesversion information 255 indicating the date and time of the last modification. Theservice engine 245 operates to update theversion information 255 whenever modifications are made. It will be appreciated that the portion of memory in thedata storage device 250 which contains theservice data 250 is referred to as the service "store." - FIG. 3 is a block diagram illustrating details of the
desktop computer 160, which includes aCPU 305, aninput device 310, anoutput device 315, acommunications interface 325, adata storage device 330 andRAM 335, each coupled to asignal bus 320. - An
operating system 340 includes a program for controlling processing by theCPU 305, and is typically stored in thedata storage device 330 and loaded into theRAM 335 for execution. A desktop service engine 345 (i.e., aparticular service engine 245, FIG. 2) includes a service program for managing user data 180 (i.e.,particular service data 250, FIG. 2) which includes version information 350 (i.e.,particular version information 255, FIG. 2). Thedesktop service engine 345 may be also stored in thedata storage device 330 and loaded into theRAM 335 for execution. Theuser data 180 may be stored in thedata storage device 330. As stated above with reference to FIG. 1, thebase system 190 operates to synchronize the workspace data 185 (which includes user data 180) with theworkspace data 123. Thebase system 190 may be also stored in thedata storage device 330 and loaded into theRAM 335 for execution. - FIG. 4 is a block diagram illustrating details of the
base system 190, which includes acommunications module 405, auser interface module 410, alocator module 415, a synchronization-start ("synch-start")module 420, ageneral synchronization module 425 and a content-basedsynchronization module 430. For simplicity, each module is illustrated as communicating with one another via asignal bus 440. - The
communications module 405 includes routines for compressing data, and routines for communicating via the communications interface 325 (FIG. 3) with the synchronization agent 126 (FIG. 1). Thecommunications module 405 may further include routines for applying Secure Socket Layer (SSL) technology and user identification and authentication techniques (i.e., digital certificates) to establish a secure communication channel through thecorporate firewall 130 and through theglobal firewall 126. Examples ofcommunications modules 405 may include TCP/IP stacks or the AppleTalk® protocol. - The
user interface 410 includes routines for communicating with a user, and may include a conventional Graphical User Interface (GUI). Theuser interface 410 operates in coordination with theother desktop computer 160 components as described herein. - The
locator module 415 includes routines for identifying the memory locations of the workspace elements in theworkspace data 185 and the memory locations of the workspace elements in theworkspace data 123. Workspace element memory location identification may be implemented using intelligent software, i.e., preset memory addresses or the system's registry, or using dialogue boxes to query a user. Accordingly, thelocator module 415 determines the memory addresses of the workspace elements in thee-mail data 165, the workspace elements in thefile data 170, the workspace elements in thecalendar data 175 and the workspace elements in theuser data 180 as well as the memory addresses of the corresponding workspace elements in theworkspace data 123. It will be appreciated that thelocator module 415 may perform workspace element memory location identification upon system boot-up or after each communication with theglobal server 120 to maintain updated memory locations of workspace elements. - The synchronization-
start module 420 includes routines for determining when to initiate synchronization ofworkspace data 123 andworkspace data 185. For example, the synchronization-start module 420 may initiate data synchronization upon user request, at a particular time of day, after a predetermined time period passes, after a predetermined number of changes, after a user action such as user log-off or upon like criteria. The synchronization-start module 420 initiates data synchronization by instructing thegeneral synchronization module 425 to begin execution of its routines. It will be appreciated that communications withsynchronization agent 126 preferably initiate from within the corporate LAN 1135, because the typicalcorporate firewall 130 prevents in-bound communications and allows outbound communications. - The
general synchronization module 425 includes routines for requestingversion information 124 from the synchronization agent 126 (FIG. 1) and routines for comparing theversion information 255 against alast synchronization signature 435 such as a last synchronization date and time to determine which versions have been modified. Thegeneral synchronization module 425 further includes routines for comparing theversion information 124 and theversion information 255 to determine if only one or both versions of a particular workspace element have been modified and routines for performing an appropriate synchronizing responsive action. Appropriate synchronizing responsive actions may include forwarding the modified version (as the preferred version) of a workspace element inworkspace data 185 or forwarding just a compilation of the changes to the other store(s). Other appropriate synchronizing responsive actions may include, if reconciliation between two modified versions is needed, then instructing the content-basedsynchronization module 430 to execute its routines which are described below. - It will be appreciated that the
synchronization agent 126 preferably examines theversion information 124 and forwards only theversion information 124 determined to be modified since thelast synchronization signature 435. This technique makes efficient use of processor power and avoids transferring unnecessary data across thecommunications channel 125. Thegeneral synchronization module 425 in thecorporate LAN 135 accordingly compares the receivedversion information 124 with theversion information 255 to determine if reconciliation is needed. Upon completion of the data synchronization, thegeneral synchronization module 425 updates thelast synchronization signature 435. - The content-based
synchronization module 430 includes routines for reconciling two or more modified versions inworkspace data synchronization module 430 determines the appropriate responsive action. The content-basedsynchronization module 430 may request a user to select the preferred one of the modified versions or may respond based on preset preferences, i.e., by storing both versions in both stores or by integrating the changes into a single preferred version which replaces each modified version at both stores. - FIG. 5 is a block diagram illustrating details of the
synchronization agent 126, which includes a communications module 505 (similar to thecommunications module 405 described above with reference to FIG. 4) and a general synchronization module 510 (similar to thegeneral synchronization module 425 described above also with reference to FIG. 4). Thecommunications module 505 includes routines for compressing data, and routines for communicating via thecommunications channel 125 with thebase system 190. Thecommunications module 505 may further include routines for establishing a secure communications channel through theglobal firewall 126 and through thecorporate firewall 130. - The
general synchronization module 510 includes routines for comparing theversion information 124 with thelast synchronization signature 435, and routines for forwarding to thegeneral synchronization module 425version information 124 determined to be modified. Thegeneral synchronization module 510 may either maintain its ownlast synchronization signature 435 copy (not shown). Alternatively, the request to synchronize from thebase system 190 may include a copy of thelast synchronization signature 435. Thegeneral synchronization module 510 further includes routines for receiving preferred versions ofworkspace data 185 workspace elements from thegeneral synchronization module 425, and routines for forwarding preferred versions ofworkspace data 123 workspace elements to thegeneral synchronization module 425. - FIG. 6 is a flowchart illustrating a
method 600 for synchronizing multiple copies ofworkspace data secure network 100.Method 600 begins withlocator module 415 instep 605 identifying the memory locations of the workspace elements inworkspace data user interface module 410 instep 610 enables selection of the workspace elements inworkspace data general synchronization module 425. - The synchronization-
start module 420 instep 615 determines whether predetermined criteria have been met which indicate that synchronization of the workspace elements selected instep 610 should start. If not, thenmethod 600 loops back tostep 615. Otherwise, thecommunications module 405 andcommunications module 505 instep 617 establish a secure communications channel between theglobal server 120 and thedesktop computer 160. Thegeneral synchronization module 510 instep 620 compares theversion information 124 of each of the selected workspace elements inworkspace data 123 against thelast synchronization signature 435 to determine modified workspace elements, and forwards theversion information 124 of workspace elements determined to be modified to thegeneral synchronization module 425. Further, thegeneral synchronization module 425 instep 620 compares theversion information 255 of each selected workspace element in theworkspace data 185 against thelast synchronization signature 435 to locate modified workspace elements. In this embodiment, a workspace element has been modified if the date and time of last modification is after the date and time of last synchronization. - If no modified workspace elements in
workspace data 123 or inworkspace data 185 are located, then thegeneral synchronization modules step 650 update thelast synchronization signature 435 andmethod 600 ends. Otherwise, thegeneral synchronization module 425 instep 625 determines whether more than one version of the same workspace element has been modified since the last synchronization. - If only one version has been modified, then the corresponding
general synchronization module step 630 forwards the updated preferred version of the workspace element to the other store, and then instep 635 determines whether all workspace elements selected instep 610 have been examined. If so, thenmethod 600 jumps to step 650. Otherwise, thenmethod 600 returns to step 620. - If more than one version has been modified, then the
general synchronization module 425 instep 640 instructs the content-basedsynchronization module 430 to reconcile the modified versions. Reconciliation may include requesting instructions from the user or, based on preselected preferences, performing responsive actions such as storing both versions at both stores. -
General synchronization module step 645 sends the preferred version of the workspace element or just a compilation of the changes to the other store. That is, if the preferred version is a workspace element in theworkspace data 185, thengeneral synchronization module 425 sends the preferred version or the changes togeneral synchronization module 510 to update the outdated workspace element in theworkspace data 123. If the preferred version is a workspace element in theworkspace data 123, then thegeneral synchronization module 510 sends the preferred version or the changes to thegeneral synchronization module 425 to update the outdated workspace element in theworkspace data 185.Method 600 then jumps to step 635. - The foregoing description of the preferred embodiments of the invention is by way of example only, and other variations of the above-described embodiments and methods are provided by the present invention. For example, although the
global server 120 is illustrated as a single device, theglobal server 120 may include several computers networked together. Although not described in great detail, theremote terminal 105 can synchronize copies of workspace elements stored on it with workspace elements ofworkspace data 123 stored on theglobal server 120. Components of this invention may be implemented using a programmed general purpose digital computer, using application specific integrated circuits, or using a network of interconnected conventional components and circuits. The embodiments described herein have been presented for purposes of illustration and are not intended to be exhaustive or limiting. Many variations and modifications are possible in light of the foregoing teaching.
Claims (25)
- A computer-based method comprising the steps of:(a) generating first examination results from first version information which indicates whether a first workspace element stored at a first store within a firewall has been modified;(b) generating second examination results from second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified, the copy being stored at a second store outside the firewall;(c) initiating steps (a) and (b) from within the firewall when predetermined criteria have been satisfied;(d) generating a preferred version from the first workspace element and from the copy based on the first and second examination results; and(e) storing the preferred version at the first store and at the second store.
- The method of claim 1 wherein the second store is on a global server outside the firewall and which is protected by a global firewall.
- The method of claim 1 or claim 2 wherein the first version information includes the date and time the first workspace element was last modified and the second version information includes the date and time the copy was last modified.
- The method of claim 3 wherein generating the first examination results includes the step of comparing the first version information against a date and time of last synchronization.
- The method of claim 3 or claim 4 wherein generating the second examination results includes the step of comparing the second version information against a date and time of last synchronization.
- The method of any preceding claim further comprising, before generating the first examination results, the step of updating the first version information whenever the first workspace element is modified.
- The method of any preceding claim further comprising, before generating the second examination results, the step of updating the second version information whenever the copy is modified.
- The method of any preceding claim wherein if only one of the first workspace element and the copy has been modified, then the step of generating includes selecting the one as the preferred version.
- The method of any preceding claim further comprising the step of locating the first workspace element, the first version information, the copy and the second version information.
- A system comprising:a general synchronization module for operating within a first firewall and for examining first version information to determine whether a first workspace element has been modified;a synchronization agent for operating outside the first firewall and for forwarding to the general synchronization module second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified;a synchronization-start module for operating within the first firewall and for initiating the general synchronization module and the synchronization agent when predetermined criteria have been satisfied;means for generating a preferred version from the first workspace element and from the copy by comparing the first version information and the second version information; andmeans for storing the preferred version at the first store and at the second store.
- The system of claim 10 further comprising a communications module for communicating through the first firewall.
- The system of claim 10 or claim 11 wherein the synchronization agent and the second store are on a global server which is protected by a global firewall.
- The system of claim 12 further comprising a communications module for communicating through the first firewall and through the global firewall.
- The system of any one of claims 10 to 13 wherein the first version information includes the date and time the first workspace element was last modified and the second version information includes the date and time the copy was last modified.
- The system of claim 14 wherein the general synchronization module compares the first version information against a date and time of last synchronization.
- The system of claim 14 or claim 15 wherein the synchronization agent compares the second version information against the date and time of last synchronization.
- The system of any one of claims 10 to 16 further comprising means for updating the first version information whenever the first workspace element is modified.
- The system of any one of claims 10 to 17 further comprising means for updating the second version information whenever the copy is modified.
- The system of any one of claims 10 to 18 wherein if only one of the first workspace element and the copy has been modified, then the means for generating selects the one as the preferred version.
- The system of any one of claims 10 to 19 further comprising a locator module for locating the first store, the first workspace element, the first version information, the second store, the copy and the second version information.
- A system comprising:first means for generating first examination results from first version information which indicates whether a first workspace element stored at a first store within a firewall has been modified;second means for generating second examination results from second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified, the copy being stored at a second store outside the firewall;means for initiating the first and second means from within the firewall when predetermined criteria have been satisfied;means for generating a preferred version from the first workspace element and from the copy based on the first and second examination results; andmeans for storing the preferred version at the first store and at the second store.
- A computer-readable storage medium storing program code for causing a computer to perform the steps of:(a) generating first examination results from first version information which indicates whether a first workspace element stored at a first store within a firewall has been modified;(b) generating second examination results from second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified, the copy being stored at a second store outside the firewall;(c) initiating steps (a) and (b) from within the firewall when predetermined criteria have been satisfied;(d) generating a preferred version from the first workspace element and from the copy based on the first and second examination results; and(e) storing the preferred version at the first store and at the second store.
- A computer-based method comprising the steps of:(a) generating first examination results from first version information which indicates whether a first workspace element stored at a first store within a firewall has been modified;(b) generating second examination results from second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified, the copy being stored at a second store outside the firewall;(c) initiating steps (a) and (b) from within the firewall when predetermined criteria have been satisfied;(d) determining based on the first and second examination results that both the first workspace element and the copy have been modified; and(e) storing both the first workspace element and the copy at the first store and at the second store.
- A system comprising:first means for generating first examination results from first version information which indicates whether a first workspace element stored at a first store within a firewall has been modified;second means for generating second examination results from second version information which indicates whether an independently-modifiable copy of the first workspace element has been modified, the copy being stored at a second store outside the firewall;means for initiating the first and second means from within the firewall when predetermined criteria have been satisfied;means for determining based on the first and second examination results that both the first workspace element and the copy have been modified; andmeans for storing both the first file and the copy at the first store and at the second store.
- A system comprising:a global server for operating outside a firewall and includingmemory for storing first workspace data and corresponding first version information; anda synchronization agent for managing the first workspace data and the corresponding first version information and for communicating with remote clients; anda remote client for operating within the firewall and includingmemory for storing second workspace data and corresponding second version information;means for cooperating with the synchronization agent to synchronize the first workspace data with the second workspace data by examining the first version information and the second version information; anda synchronization-start module for initiating workspace data synchronization between the global server and the remote client.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98307362A EP0986225A1 (en) | 1998-09-11 | 1998-09-11 | System and method for securely synchronizing multiple copies of a workspace element in a network |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP98307362A EP0986225A1 (en) | 1998-09-11 | 1998-09-11 | System and method for securely synchronizing multiple copies of a workspace element in a network |
Publications (1)
Publication Number | Publication Date |
---|---|
EP0986225A1 true EP0986225A1 (en) | 2000-03-15 |
Family
ID=8235055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP98307362A Withdrawn EP0986225A1 (en) | 1998-09-11 | 1998-09-11 | System and method for securely synchronizing multiple copies of a workspace element in a network |
Country Status (1)
Country | Link |
---|---|
EP (1) | EP0986225A1 (en) |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2370890A (en) * | 2000-08-17 | 2002-07-10 | Masahiro Mizuno | Information management system |
EP1239380A2 (en) * | 2001-03-06 | 2002-09-11 | Sharp Kabushiki Kaisha | Information management apparatus maintaining data base consistency and recording medium recording data base consistency maintaining program |
WO2002091224A1 (en) * | 2001-05-10 | 2002-11-14 | See Red Incorporated | Personal organiser system |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US6701378B1 (en) | 1998-05-29 | 2004-03-02 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US6738789B2 (en) | 2000-01-25 | 2004-05-18 | Fusionone, Inc. | Data package including synchronization data |
US6779019B1 (en) | 1998-05-29 | 2004-08-17 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US6944651B2 (en) | 2000-05-19 | 2005-09-13 | Fusionone, Inc. | Single click synchronization of data from a public information store to a private information store |
US7035878B1 (en) | 2000-01-25 | 2006-04-25 | Fusionone, Inc. | Base rolling engine for data transfer and synchronization system |
US7546353B2 (en) | 1999-12-02 | 2009-06-09 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7587467B2 (en) | 1999-12-02 | 2009-09-08 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7600036B2 (en) | 1999-12-02 | 2009-10-06 | Western Digital Technologies, Inc. | Access and control system for network-enabled devices |
US7818435B1 (en) | 2000-12-14 | 2010-10-19 | Fusionone, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network |
US7849199B2 (en) | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
CN101957788A (en) * | 2009-07-17 | 2011-01-26 | 精品科技股份有限公司 | Method for controlling and managing computer device |
US7895334B1 (en) | 2000-07-19 | 2011-02-22 | Fusionone, Inc. | Remote access communication architecture apparatus and method |
US7917628B2 (en) * | 1999-12-02 | 2011-03-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7953802B2 (en) | 1998-05-29 | 2011-05-31 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8050684B2 (en) | 2000-12-22 | 2011-11-01 | Research In Motion Limited | Wireless router system and method |
US8065680B2 (en) | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
US8134954B2 (en) | 2001-10-26 | 2012-03-13 | Research In Motion Limited | System and method for controlling configuration settings for mobile communication devices and services |
US8156074B1 (en) | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
US8180900B2 (en) | 2001-12-07 | 2012-05-15 | Research In Motion Limited | System and method of managing information distribution to mobile stations |
US8230026B2 (en) | 2002-06-26 | 2012-07-24 | Research In Motion Limited | System and method for pushing information between a host system and a mobile data communication device |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
US8352567B2 (en) | 1999-12-02 | 2013-01-08 | Western Digital Technologies, Inc. | VCR webification |
US8365240B2 (en) | 2005-04-18 | 2013-01-29 | Research In Motion Limited | Method for providing wireless application privilege management |
US8498289B2 (en) | 2001-01-18 | 2013-07-30 | Research In Motion Limited | System, method and mobile device for remote control of a voice mail system |
US8516055B2 (en) | 1998-05-29 | 2013-08-20 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device in a wireless data network |
US8611873B2 (en) | 2004-05-12 | 2013-12-17 | Synchronoss Technologies, Inc. | Advanced contact identification system |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
US8645471B2 (en) | 2003-07-21 | 2014-02-04 | Synchronoss Technologies, Inc. | Device message management system |
US8688797B2 (en) * | 1999-12-02 | 2014-04-01 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US20140195482A1 (en) * | 2013-01-08 | 2014-07-10 | Lyve Minds, Inc. | Data synchronization in a storage network |
US8793374B2 (en) * | 1999-12-02 | 2014-07-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
US9191443B2 (en) | 1999-12-02 | 2015-11-17 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US9258372B2 (en) | 2007-05-09 | 2016-02-09 | Blackberry Limited | Wireless router system and method |
US9361433B2 (en) | 2012-08-03 | 2016-06-07 | Synchronoss Technologies, Inc | Enterprise leasing license algorithm |
US9367832B2 (en) | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
EP3142320A1 (en) * | 2015-09-14 | 2017-03-15 | Sap Se | Remote modification of a document database by a mobile telephone device |
US9678678B2 (en) | 2013-12-20 | 2017-06-13 | Lyve Minds, Inc. | Storage network data retrieval |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729735A (en) * | 1995-02-08 | 1998-03-17 | Meyering; Samuel C. | Remote database file synchronizer |
US5765171A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
WO1999005620A1 (en) | 1997-07-22 | 1999-02-04 | Visto Corporation | System and method for synchronizing electronic mail across a network |
-
1998
- 1998-09-11 EP EP98307362A patent/EP0986225A1/en not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729735A (en) * | 1995-02-08 | 1998-03-17 | Meyering; Samuel C. | Remote database file synchronizer |
US5765171A (en) * | 1995-12-29 | 1998-06-09 | Lucent Technologies Inc. | Maintaining consistency of database replicas |
WO1999005620A1 (en) | 1997-07-22 | 1999-02-04 | Visto Corporation | System and method for synchronizing electronic mail across a network |
Non-Patent Citations (1)
Title |
---|
MARGARET J. BROWN: "The Visto Briefcase Pro Puts Your PIM on the Internet", ZDNET, Available from Internet: <URL:http://www.zdnet.com/zdnn/stories/zdnn_display/0,3440,341892,00.html> 13 August 1998, XP002096405 * |
Cited By (88)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779019B1 (en) | 1998-05-29 | 2004-08-17 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US8516055B2 (en) | 1998-05-29 | 2013-08-20 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device in a wireless data network |
US8060564B2 (en) | 1998-05-29 | 2011-11-15 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US9344839B2 (en) | 1998-05-29 | 2016-05-17 | Blackberry Limited | System and method for pushing information from a host system to a mobile communication device |
US6701378B1 (en) | 1998-05-29 | 2004-03-02 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US7953802B2 (en) | 1998-05-29 | 2011-05-31 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device |
US8793374B2 (en) * | 1999-12-02 | 2014-07-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7934251B2 (en) | 1999-12-02 | 2011-04-26 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8341275B1 (en) | 1999-12-02 | 2012-12-25 | Western Digital Technologies, Inc. | Access and control system for network-enabled devices |
US10382526B2 (en) | 1999-12-02 | 2019-08-13 | Western Digital Technologies, Inc. | Program recording webification |
US8661507B1 (en) | 1999-12-02 | 2014-02-25 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8688797B2 (en) * | 1999-12-02 | 2014-04-01 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US9894141B2 (en) | 1999-12-02 | 2018-02-13 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US8352567B2 (en) | 1999-12-02 | 2013-01-08 | Western Digital Technologies, Inc. | VCR webification |
US7546353B2 (en) | 1999-12-02 | 2009-06-09 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7587467B2 (en) | 1999-12-02 | 2009-09-08 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7600036B2 (en) | 1999-12-02 | 2009-10-06 | Western Digital Technologies, Inc. | Access and control system for network-enabled devices |
US7788404B2 (en) | 1999-12-02 | 2010-08-31 | Western Digital Technologies, Inc. | Access and control system for network-enabled devices |
US9071574B1 (en) | 1999-12-02 | 2015-06-30 | Western Digital Technologies, Inc. | Access and control system for network-enabled devices |
US9807147B1 (en) | 1999-12-02 | 2017-10-31 | Western Digital Technologies, Inc. | Program recording webification |
US9348864B1 (en) | 1999-12-02 | 2016-05-24 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US10291686B2 (en) | 1999-12-02 | 2019-05-14 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7917628B2 (en) * | 1999-12-02 | 2011-03-29 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US9191443B2 (en) | 1999-12-02 | 2015-11-17 | Western Digital Technologies, Inc. | Managed peer-to-peer applications, systems and methods for distributed data access and storage |
US7035878B1 (en) | 2000-01-25 | 2006-04-25 | Fusionone, Inc. | Base rolling engine for data transfer and synchronization system |
US6738789B2 (en) | 2000-01-25 | 2004-05-18 | Fusionone, Inc. | Data package including synchronization data |
US6757696B2 (en) * | 2000-01-25 | 2004-06-29 | Fusionone, Inc. | Management server for synchronization system |
US8621025B2 (en) | 2000-01-25 | 2013-12-31 | Synchronoss Technologis, Inc. | Mobile data transfer and synchronization system |
US7007041B2 (en) | 2000-01-25 | 2006-02-28 | Fusionone, Inc. | Synchronization system application object interface |
US7415486B2 (en) | 2000-01-26 | 2008-08-19 | Fusionone, Inc. | System using change log stored at a server to identify changes to user's application data for synchronizing data between systems |
US8442943B2 (en) | 2000-01-26 | 2013-05-14 | Synchronoss Technologies, Inc. | Data transfer and synchronization between mobile systems using change log |
US8156074B1 (en) | 2000-01-26 | 2012-04-10 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US8315976B2 (en) | 2000-01-26 | 2012-11-20 | Synchronoss Technologies, Inc. | Data transfer and synchronization system |
US6671757B1 (en) | 2000-01-26 | 2003-12-30 | Fusionone, Inc. | Data transfer and synchronization system |
US6944651B2 (en) | 2000-05-19 | 2005-09-13 | Fusionone, Inc. | Single click synchronization of data from a public information store to a private information store |
US8073954B1 (en) | 2000-07-19 | 2011-12-06 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system |
US7895334B1 (en) | 2000-07-19 | 2011-02-22 | Fusionone, Inc. | Remote access communication architecture apparatus and method |
GB2370890A (en) * | 2000-08-17 | 2002-07-10 | Masahiro Mizuno | Information management system |
US6925476B1 (en) | 2000-08-17 | 2005-08-02 | Fusionone, Inc. | Updating application data including adding first change log to aggreagate change log comprising summary of changes |
US7818435B1 (en) | 2000-12-14 | 2010-10-19 | Fusionone, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network |
US8483694B2 (en) | 2000-12-22 | 2013-07-09 | Research In Motion Limited | Wireless router system and method |
US8050684B2 (en) | 2000-12-22 | 2011-11-01 | Research In Motion Limited | Wireless router system and method |
US8693996B2 (en) | 2000-12-22 | 2014-04-08 | Blackberry Limited | Wireless router system and method |
US8165575B2 (en) | 2000-12-22 | 2012-04-24 | Research In Motion Limited | Wireless router system and method |
US8498289B2 (en) | 2001-01-18 | 2013-07-30 | Research In Motion Limited | System, method and mobile device for remote control of a voice mail system |
EP1239380A2 (en) * | 2001-03-06 | 2002-09-11 | Sharp Kabushiki Kaisha | Information management apparatus maintaining data base consistency and recording medium recording data base consistency maintaining program |
EP1239380A3 (en) * | 2001-03-06 | 2006-07-12 | Sharp Kabushiki Kaisha | Information management apparatus maintaining data base consistency and recording medium recording data base consistency maintaining program |
US8615566B1 (en) | 2001-03-23 | 2013-12-24 | Synchronoss Technologies, Inc. | Apparatus and method for operational support of remote network systems |
WO2002091224A1 (en) * | 2001-05-10 | 2002-11-14 | See Red Incorporated | Personal organiser system |
US8134954B2 (en) | 2001-10-26 | 2012-03-13 | Research In Motion Limited | System and method for controlling configuration settings for mobile communication devices and services |
US9049071B2 (en) | 2001-10-26 | 2015-06-02 | Blackberry Limited | System and method for controlling configuration settings for mobile communication devices and services |
US9584366B2 (en) | 2001-10-26 | 2017-02-28 | Blackberry Limited | System and method for controlling configuration settings for mobile communication devices and services |
US11310219B2 (en) | 2001-10-26 | 2022-04-19 | Blackberry Limited | System and method for controlling configuration settings for mobile communication devices and services |
US10476865B2 (en) | 2001-10-26 | 2019-11-12 | Blackberry Limited | System and method for controlling configuration settings for mobile communication devices and services |
US8259611B2 (en) | 2001-10-26 | 2012-09-04 | Research In Motion Limited | System and method for controlling configuration settings for mobile communication devices and services |
US8694650B2 (en) | 2001-12-07 | 2014-04-08 | Blackberry Limited | System and method of managing information distribution to mobile stations |
US8180900B2 (en) | 2001-12-07 | 2012-05-15 | Research In Motion Limited | System and method of managing information distribution to mobile stations |
US9369531B2 (en) | 2001-12-07 | 2016-06-14 | Blackberry Limited | System and method of managing information distribution to mobile stations |
US8230026B2 (en) | 2002-06-26 | 2012-07-24 | Research In Motion Limited | System and method for pushing information between a host system and a mobile data communication device |
US9723460B1 (en) | 2003-07-21 | 2017-08-01 | Synchronoss Technologies, Inc. | Device message management system |
US8645471B2 (en) | 2003-07-21 | 2014-02-04 | Synchronoss Technologies, Inc. | Device message management system |
US9615221B1 (en) | 2003-07-21 | 2017-04-04 | Synchronoss Technologies, Inc. | Device message management system |
US9542076B1 (en) | 2004-05-12 | 2017-01-10 | Synchronoss Technologies, Inc. | System for and method of updating a personal profile |
US8611873B2 (en) | 2004-05-12 | 2013-12-17 | Synchronoss Technologies, Inc. | Advanced contact identification system |
US9537896B2 (en) | 2005-04-18 | 2017-01-03 | Blackberry Limited | Method for providing wireless application privilege management |
US10462189B2 (en) | 2005-04-18 | 2019-10-29 | Blackberry Limited | Method for providing wireless application privilege management |
US10686842B2 (en) | 2005-04-18 | 2020-06-16 | Blackberry Limited | Method for providing wireless application privilege management |
US10965718B2 (en) | 2005-04-18 | 2021-03-30 | Blackberry Limited | Method for providing wireless application privilege management |
US9059891B2 (en) | 2005-04-18 | 2015-06-16 | Blackberry Limited | Method for providing wireless application privilege management |
US11956280B2 (en) | 2005-04-18 | 2024-04-09 | Blackberry Limited | Method for providing wireless application privilege management |
US8365240B2 (en) | 2005-04-18 | 2013-01-29 | Research In Motion Limited | Method for providing wireless application privilege management |
US20170111400A1 (en) | 2005-04-18 | 2017-04-20 | Blackberry Limited | Method for providing wireless application privilege management |
US7849199B2 (en) | 2005-07-14 | 2010-12-07 | Yahoo ! Inc. | Content router |
US8024290B2 (en) | 2005-11-14 | 2011-09-20 | Yahoo! Inc. | Data synchronization and device handling |
US8065680B2 (en) | 2005-11-15 | 2011-11-22 | Yahoo! Inc. | Data gateway for jobs management based on a persistent job table and a server table |
US9367832B2 (en) | 2006-01-04 | 2016-06-14 | Yahoo! Inc. | Synchronizing image data among applications and devices |
US9258372B2 (en) | 2007-05-09 | 2016-02-09 | Blackberry Limited | Wireless router system and method |
US8181111B1 (en) | 2007-12-31 | 2012-05-15 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity |
CN101957788A (en) * | 2009-07-17 | 2011-01-26 | 精品科技股份有限公司 | Method for controlling and managing computer device |
US8255006B1 (en) | 2009-11-10 | 2012-08-28 | Fusionone, Inc. | Event dependent notification system and method |
US8943428B2 (en) | 2010-11-01 | 2015-01-27 | Synchronoss Technologies, Inc. | System for and method of field mapping |
US9361433B2 (en) | 2012-08-03 | 2016-06-07 | Synchronoss Technologies, Inc | Enterprise leasing license algorithm |
US9727268B2 (en) | 2013-01-08 | 2017-08-08 | Lyve Minds, Inc. | Management of storage in a storage network |
US9910614B2 (en) | 2013-01-08 | 2018-03-06 | Lyve Minds, Inc. | Storage network data distribution |
US20140195482A1 (en) * | 2013-01-08 | 2014-07-10 | Lyve Minds, Inc. | Data synchronization in a storage network |
US9678678B2 (en) | 2013-12-20 | 2017-06-13 | Lyve Minds, Inc. | Storage network data retrieval |
US10083313B2 (en) | 2015-09-14 | 2018-09-25 | Sap Se | Remote modification of a document database by a mobile telephone device |
EP3142320A1 (en) * | 2015-09-14 | 2017-03-15 | Sap Se | Remote modification of a document database by a mobile telephone device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0986225A1 (en) | System and method for securely synchronizing multiple copies of a workspace element in a network | |
US6085192A (en) | System and method for securely synchronizing multiple copies of a workspace element in a network | |
US6023708A (en) | System and method for using a global translator to synchronize workspace elements across a network | |
US7225231B2 (en) | System and method for transmitting workspace elements across a network | |
EP1783675B1 (en) | System and method for synchronizing electronic mail across a network | |
US6708221B1 (en) | System and method for globally and securely accessing unified information in a computer network | |
US8745167B2 (en) | System and method for globally and securely accessing unified information in a computer network | |
US6151606A (en) | System and method for using a workspace data manager to access, manipulate and synchronize network data | |
EP2224673A2 (en) | System and method for globally and securely accessing unified information in a computer network | |
JP3474453B2 (en) | Method and system for securely synchronizing multiple copies of workspace elements in a network | |
CA2340711A1 (en) | System and method for using a global translator to synchronize workspace elements across a network |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): DE DK FI FR GB IE NL |
|
AX | Request for extension of the european patent |
Free format text: AL;LT;LV;MK;RO;SI |
|
17P | Request for examination filed |
Effective date: 20000831 |
|
AKX | Designation fees paid |
Free format text: DE DK FI FR GB IE NL |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: VISTO CORPORATION |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
TPAC | Observations filed by third parties |
Free format text: ORIGINAL CODE: EPIDOSNTIPA |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN |
|
18W | Application withdrawn |
Effective date: 20081015 |