A system and method for synchronizing devices which can couple to the Internet, or any network. The system includes a first sync engine on the first system interfacing with data on the first system to provide difference information. A data store is coupled to the network and in communication with the first and second systems. A second sync engine is provided on the second system coupled to receive the difference information from the data store via the network, and interface with data on the second system to update said data on the second system with said difference information. Difference information is transmitted to the data store by the first sync engine and received from the data store from the second sync engine. |
Citations|
| US5392390 | Apr 10, 1992 | Feb 21, 1995 | IntelliLink Corp. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms | | US5519606 | Jan 21, 1992 | May 21, 1996 | Starfish Software, Inc. | System and methods for appointment reconciliation | | US5628005 | Jun 7, 1995 | May 6, 1997 | Microsoft Corporation | System and method for providing opportunistic file access in a network environment | | US5630081 | Sep 7, 1995 | May 13, 1997 | Puma Technology, Inc. | Connection resource manager displaying link-status information using a traffic light iconic representation | | US5666553 | Jul 22, 1994 | Sep 9, 1997 | Puma Technology, Inc. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms | | US5682524 | May 26, 1995 | Oct 28, 1997 | Starfish Software, Inc. | Databank system with methods for efficiently storing non-uniform data records | | US5684990 | Jan 11, 1995 | Nov 4, 1997 | Puma Technology, Inc. | Synchronization of disparate databases | | US5694596 | May 25, 1995 | Dec 2, 1997 | Kangaroo, Inc. | On-line database updating network system and method | | US5701423 | Apr 7, 1994 | Dec 23, 1997 | Puma Technology, Inc. | Method for mapping, translating, and dynamically reconciling data between disparate computer platforms | | US5710922 | Dec 18, 1995 | Jan 20, 1998 | Apple Computer, Inc. | Method for synchronizing and archiving information between computer systems | | US5727202 | Oct 18, 1995 | Mar 10, 1998 | Palm Computing, Inc. | Method and apparatus for synchronizing information on two different computer systems | | US5729743 | Nov 30, 1995 | Mar 17, 1998 | DeltaTech Research, Inc. | Computer apparatus and method for merging system deltas | | US5742792 | May 28, 1996 | Apr 21, 1998 | EMC Corporation | Remote data mirroring | | US5745906 | Nov 14, 1995 | Apr 28, 1998 | DeltaTech Research, Inc. | Method and apparatus for merging delta streams to reconstruct a computer file | | US5768597 | May 2, 1996 | Jun 16, 1998 | Starfish Software, Inc. | System and methods for improved installation of compressed software programs | | US5771354 | Nov 4, 1993 | Jun 23, 1998 | | Internet online backup system provides remote storage for customers using IDs and passwords which were interactively established when signing up for backup services | | US5778346 | May 17, 1996 | Jul 7, 1998 | Starfish Software, Inc. | System and methods for appointment reconcilation | | US5787247 | Jul 12, 1996 | Jul 28, 1998 | Microsoft Corporation | Replica administration without data loss in a store and forward replication enterprise | | US5787262 | Jun 26, 1996 | Jul 28, 1998 | Microsoft Corporation | System and method for distributed conflict resolution between data objects replicated across a computer network | | US5809497 | Oct 27, 1997 | Sep 15, 1998 | Starfish Software, Inc. | Databank system with methods for efficiently storing non uniforms data records | | US5812773 | Jul 12, 1996 | Sep 22, 1998 | Microsoft Corporation | System and method for the distribution of hierarchically structured data | | US5812793 | Jun 26, 1996 | Sep 22, 1998 | Microsoft Corporation | System and method for asynchronous store and forward data replication | | US5832489 | Oct 8, 1997 | Nov 3, 1998 | 3 Com Corporation | Method and apparatus for synchronizing information on two different computer systems | | US5884323 | Oct 13, 1995 | Mar 16, 1999 | 3COM Corporation | Extendible method and apparatus for synchronizing files on two different computer systems | | US5884325 | Oct 9, 1996 | Mar 16, 1999 | Oracle Corporation | System for synchronizing shared data between computers | | US5893119 | Jul 22, 1997 | Apr 6, 1999 | DeltaTech Research, Inc. | Computer apparatus and method for merging system deltas | | US5897640 | Mar 26, 1997 | Apr 27, 1999 | Microsoft Corporation | Method and system of associating, synchronizing and reconciling computer files in an operating system | | US5897642 | Jul 14, 1997 | Apr 27, 1999 | Microsoft Corporation | Method and system for integrating an object-based application with a version control system | | US5937405 | Nov 12, 1997 | Aug 10, 1999 | Punch Networks Corporation | On-line database updating network system and method | | US5943676 | Nov 13, 1996 | Aug 24, 1999 | Puma Technology, Inc. | Synchronization of recurring records in incompatible databases | | US5961590 | Jul 22, 1997 | Oct 5, 1999 | Roampage, Inc. | System and method for synchronizing electronic mail between a client site and a central site | | US5968131 | Oct 26, 1998 | Oct 19, 1999 | RoamPage, Inc. | System and method for securely synchronizing multiple copies of a workspace element in a network | | US5974238 | Aug 7, 1996 | Oct 26, 1999 | Compaq Computer Corporation | Automatic data synchronization between a handheld and a host computer using pseudo cache including tags and logical data elements | | US6000000 | May 4, 1998 | Dec 7, 1999 | 3Com Corporation | Extendible method and apparatus for synchronizing multiple files on two different computer systems | | US6006274 | Jan 30, 1997 | Dec 21, 1999 | 3COM Corporation | Method and apparatus using a pass through personal computer connected to both a local communication link and a computer network for indentifying and synchronizing a preferred computer with a portable computer | | US6012063 | Mar 4, 1998 | Jan 4, 2000 | Starfish Software, Inc. | Block file system for minimal incremental data transfer between computing devices | | US6016478 | Aug 13, 1996 | Jan 18, 2000 | Starfish Software, Inc. | Scheduling system with methods for peer-to-peer scheduling of remote users | | US6023708 | May 29, 1997 | Feb 8, 2000 | Visto Corporation | System and method for using a global translator to synchronize workspace elements across a network | | US6023723 | Dec 22, 1997 | Feb 8, 2000 | Accepted Marketing, Inc. | Method and system for filtering unwanted junk e-mail utilizing a plurality of filtering mechanisms | | US6044381 | Sep 11, 1997 | Mar 28, 2000 | Puma Technology, Inc. | Using distributed history files in synchronizing databases | | US6052735 | Apr 10, 1998 | Apr 18, 2000 | Microsoft Corporation | Electronic mail object synchronization between a desktop computer and mobile device | | US6061790 | Feb 24, 1997 | May 9, 2000 | Starfish Software, Inc. | Network computer system with remote user data encipher methodology | | US6131096 | Oct 5, 1998 | Oct 10, 2000 | Visto Corporation | System and method for updating a remote database in a network | | US6131116 | Dec 13, 1996 | Oct 10, 2000 | Visto Corporation | System and method for globally accessing computer services | | US6141011 | Nov 4, 1998 | Oct 31, 2000 | Starfish Software, Inc. | User interface methodology supporting light data entry for microprocessor device having limited user input | | US6141664 | Nov 13, 1996 | Oct 31, 2000 | Puma Technology, Inc. | Synchronization of databases with date range | | US6151606 | Jan 16, 1998 | Nov 21, 2000 | Visto Corporation | System and method for using a workspace data manager to access, manipulate and synchronize network data | | US6182117 | Jun 12, 1997 | Jan 30, 2001 | Netscape Communications Corporation | Method and apparatus for workgroup information replication | | US6202085 | Dec 6, 1996 | Mar 13, 2001 | Microsoft Corportion | System and method for incremental change synchronization between multiple copies of data | | US6205448 | Jan 30, 1998 | Mar 20, 2001 | 3Com Corporation | Method and apparatus of synchronizing two computer systems supporting multiple synchronization techniques | | US6212529 | Mar 5, 1998 | Apr 3, 2001 | Puma Technology, Inc. | Synchronization of databases using filters | | US6216131 | Feb 6, 1998 | Apr 10, 2001 | Starfish Software, Inc. | Methods for mapping data fields from one data set to another in a data processing environment | | US6219694 | May 29, 1998 | Apr 17, 2001 | Research In Motion Limited | System and method for pushing information from a host system to a mobile data communication device having a shared electronic address | | US6223187 | Nov 30, 1999 | Apr 24, 2001 | Puma Technology, Inc. | Distributed synchronization of databases | | US6226650 | Sep 17, 1998 | May 1, 2001 | Synchrologic, Inc. | Database synchronization and organization system and method | | US6247135 | Apr 6, 1999 | Jun 12, 2001 | Starfish Software, Inc. | Synchronization process negotiation for computing devices | | US6275831 | Aug 18, 1998 | Aug 14, 2001 | Starfish Software, Inc. | Data processing environment with methods providing contemporaneous synchronization of two or more clients | | US6295541 | Aug 18, 1998 | Sep 25, 2001 | Starfish Software, Inc. | System and methods for synchronizing two or more datasets | | US6304881 | Mar 3, 1998 | Oct 16, 2001 | Pumatech, Inc. | Remote data access and synchronization | | US6324544 | Oct 21, 1998 | Nov 27, 2001 | Microsoft Corporation | File object synchronization between a desktop computer and a mobile device | | US6330568 | Nov 5, 1997 | Dec 11, 2001 | Pumatech, Inc. | Synchronization of databases | | US6401104 | Jul 3, 1999 | Jun 4, 2002 | Starfish Software, Inc. | System and methods for synchronizing datasets using cooperation among multiple synchronization engines | | US6405218 | Oct 9, 1998 | Jun 11, 2002 | Pumatech, Inc. | Synchronizing databases | | US6449622 | Apr 15, 1999 | Sep 10, 2002 | Starfish Software, Inc. | System and methods for synchronizing datasets when dataset changes may be received out of order | | US6487560 | May 13, 1999 | Nov 26, 2002 | Starfish Software, Inc. | System and methods for communicating between multiple devices for synchronization |
Referenced by|
| US6785844 | Jan 26, 2001 | Aug 31, 2004 | Dell Products L.P. | Automated test system and method for computer factory install environment | | US6886018 | Oct 5, 2001 | Apr 26, 2005 | Metavante Corporation | Data processing technique for formatting data files that are subjected to a high volume of changes | | US6920486 | May 20, 2002 | Jul 19, 2005 | Nokia Corporation | Method and apparatus for enabling synchronizing data in different devices having different capabilities and unmatched data fields | | US6976038 | Oct 17, 2002 | Dec 13, 2005 | International Business Machines Corporation | Method and apparatus for real time creation and modification of a change log for multi-server synchronization | | US7003534 | Nov 18, 2002 | Feb 21, 2006 | InnoPath Software, Inc. | Generating difference files using module information of embedded software components | | US7007049 | Nov 18, 2002 | Feb 28, 2006 | InnoPath Software, Inc. | Device memory management during electronic file updating | | US7031972 | Jul 21, 2003 | Apr 18, 2006 | InnoPath Software, Inc. | Algorithms for block-level code alignment of software binary files | | US7062491 | Oct 22, 2001 | Jun 13, 2006 | Pocketthis, Inc. | Data synchronization mechanism for information browsing systems | | US7096311 | Sep 30, 2002 | Aug 22, 2006 | InnoPath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms | | US7099884 | Dec 24, 2002 | Aug 29, 2006 | InnoPath Software | System and method for data compression and decompression | | US7127475 | Aug 15, 2002 | Oct 24, 2006 | SAP Aktiengesellschaft | Managing data integrity | | US7143120 | May 3, 2004 | Nov 28, 2006 | Microsoft Corporation | Systems and methods for automated maintenance and repair of database and file systems | | US7146407 | Oct 22, 2001 | Dec 5, 2006 | PocketThis, Inc. | Data synchronization mechanism for information browsing systems | | US7149761 | Nov 13, 2001 | Dec 12, 2006 | Tadpole Technology PLC | System and method for managing the synchronization of replicated version-managed databases | | US7155483 | Aug 7, 2001 | Dec 26, 2006 | Good Technology, Inc. | Apparatus and method for conserving bandwidth by batch processing data transactions | | US7171538 | Oct 22, 2003 | Jan 30, 2007 | International Business Machines Corporation | Incremental data storage method, apparatus, interface, and system | | US7177886 | Feb 7, 2003 | Feb 13, 2007 | International Business Machines Corporation | Apparatus and method for coordinating logical data replication with highly available data replication | | US7203708 | Nov 6, 2003 | Apr 10, 2007 | Microsoft Corporation | Optimizing file replication using binary comparisons | | US7210010 | Sep 30, 2003 | Apr 24, 2007 | Insignia Solutions plc | Efficient system and method for updating a memory device | | US7240167 | Jul 2, 2004 | Jul 3, 2007 | Hitachi, Ltd. | Storage apparatus | | US7243158 | Jan 28, 2003 | Jul 10, 2007 | | Method, system and computer program for identification of data and translation of data between storage locations | | US7243163 | Mar 29, 2002 | Jul 10, 2007 | Good Technology, Inc. | System and method for full wireless synchronization of a data processing apparatus with a messaging system | | US7272475 | Dec 2, 2004 | Sep 18, 2007 | General Motors Corporation | Method for updating vehicle diagnostics software | | US7287097 | Jan 21, 2003 | Oct 23, 2007 | Good Technology, Inc. | System and method for full wireless synchronization of a data processing apparatus with a messaging system | | US7305491 | Jul 2, 2002 | Dec 4, 2007 | Intellisync Corporation | Techniques for handling time zone changes in personal information management software | | US7313577 | Jul 17, 2005 | Dec 25, 2007 | InnoPath Software, Inc. | Generating difference files using module information of embedded software components | | US7313603 | Dec 30, 2002 | Dec 25, 2007 | Hong Fu Jin Precision Ind. (Shenzhen) Co., Ltd. Hon Hai Precision Ind. Co., Ltd. | System and method for synchronizing unstructured documents | | US7320010 | Nov 18, 2002 | Jan 15, 2008 | InnoPath Software, Inc. | Controlling updates of electronic files | | US7349913 | Aug 21, 2003 | Mar 25, 2008 | Microsoft Corporation | Storage platform for organizing, searching, and sharing data | | US7350205 | Oct 14, 2004 | Mar 25, 2008 | InnoPath Software, Inc. | Upgrading electronic files of a mobile device upgrade client | | US7366740 | Jul 30, 2004 | Apr 29, 2008 | Microsoft Corporation | Systems and methods for automatic maintenance and repair of enitites in a data model | | US7366824 | May 8, 2006 | Apr 29, 2008 | InnoPath Software, Inc. | Updating electronic files using byte-level file differencing and updating algorithms | | US7392260 | Dec 21, 2005 | Jun 24, 2008 | InnoPath Software, Inc. | Code alignment of binary files | | US7401104 | Jul 12, 2004 | Jul 15, 2008 | Microsoft Corporation | Systems and methods for synchronizing computer systems through an intermediary file system share or device | | US7406596 | Mar 12, 2001 | Jul 29, 2008 | Herbert Street Technologies | Data transfer and management system | | US7415486 | Sep 10, 2003 | Aug 19, 2008 | FusionOne, Inc. | System using change log stored at a server to identify changes to user's application data for synchronizing data between systems | | US7428546 | Aug 21, 2003 | Sep 23, 2008 | Microsoft Corporation | Systems and methods for data modeling in an item-based storage platform | | US7447799 | Apr 24, 2002 | Nov 4, 2008 | Good Technology, Inc. | System and method for automatically updating a wireless device | | US7464097 | Aug 16, 2002 | Dec 9, 2008 | SAP AG | Managing data integrity using a filter condition | | US7483915 | Aug 21, 2003 | Jan 27, 2009 | Microsoft Corporation | Systems and method for representing relationships between units of information manageable by a hardware/software interface system | | US7492953 | Aug 31, 2004 | Feb 17, 2009 | Smith Micro Software, Inc. | Efficient method and system for reducing update requirements for a compressed binary image | | US7516451 | Aug 31, 2004 | Apr 7, 2009 | InnoPath Software, Inc. | Maintaining mobile device electronic files including using difference files when upgrading | | US7533134 | Sep 1, 2004 | May 12, 2009 | Microsoft Corporation | Systems and methods for the propagation of conflict resolution to enforce item convergence (i.e., data convergence) | | US7555497 | Aug 21, 2003 | Jun 30, 2009 | Microsoft Corporation | Systems and methods for separating units of information manageable by a hardware/software interface system from their physical organization | | US7574444 | Nov 15, 2006 | Aug 11, 2009 | Palm, Inc. | Device-side data de-duping | | US7581036 | Oct 13, 2004 | Aug 25, 2009 | Microsoft Corporation | Offline caching of control transactions for storage devices | | US7584197 | Mar 17, 2004 | Sep 1, 2009 | Be-Centric, LLC | Network-based database communication system | | US7584412 | Jul 7, 2004 | Sep 1, 2009 | PalmSource Inc. | Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users | | US7587446 | Nov 10, 2000 | Sep 8, 2009 | FusionOne, Inc. | Acquisition and synchronization of digital media to a personal information space | | US7590643 | Oct 24, 2003 | Sep 15, 2009 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system | | US7603435 | Nov 15, 2006 | Oct 13, 2009 | Palm, Inc. | Over-the-air device kill pill and lock | | US7634509 | Nov 7, 2003 | Dec 15, 2009 | FusionOne, Inc. | Personal information space management system and method | | US7636776 | Jul 31, 2003 | Dec 22, 2009 | Microsoft Corporation | Systems and methods for synchronizing with multiple data stores | | US7643824 | May 6, 2008 | Jan 5, 2010 | Cooligy Inc | Wireless telephone data backup system | | US7650389 | Feb 1, 2006 | Jan 19, 2010 | | Wireless system and method for managing logical documents | | US7664796 | Oct 13, 2004 | Feb 16, 2010 | Microsoft Corporation | Electronic labeling for offline management of storage devices | | US7672225 | Dec 5, 2006 | Mar 2, 2010 | Palm, Inc. | Swapping an operational networked electronic system for a nonoperational networked electronic system | | US7673150 | Sep 14, 2007 | Mar 2, 2010 | McAfee, Inc. | Virus detection system, method and computer program product for handheld computers | | US7693858 | Dec 11, 2006 | Apr 6, 2010 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system | | US7707374 | Jan 2, 2007 | Apr 27, 2010 | International Business Machines Corporation | Incremental data storage method, apparatus, interface, and system | | US7711707 | Dec 14, 2005 | May 4, 2010 | International Business Machines Corporation | Method for synchronizing and updating bookmarks on multiple computer devices | | US7739316 | Aug 21, 2003 | Jun 15, 2010 | Microsoft Corporation | Systems and methods for the implementation of base schema for organizing units of information manageable by a hardware/software interface system | | US7743019 | Oct 24, 2003 | Jun 22, 2010 | Microsoft Corporation | Systems and methods for providing synchronization services for units of information manageable by a hardware/software interface system | | US7743119 | Mar 31, 2003 | Jun 22, 2010 | Motorola, Inc. | System and method for mapping identification codes | | US7778020 | Dec 6, 2007 | Aug 17, 2010 | Fusion Multisystems, Inc. | Apparatus, system, and method for a modular blade | | US7778962 | Apr 20, 2005 | Aug 17, 2010 | Microsoft Corporation | Client store synchronization through intermediary store change packets | | US7779055 | Jul 22, 2005 | Aug 17, 2010 | Innopath Software, Inc. | Device memory management during electronic file updating | | US7796742 | Apr 21, 2005 | Sep 14, 2010 | SEVEN Networks, Inc. | Systems and methods for simplified provisioning | | US7805422 | Feb 28, 2005 | Sep 28, 2010 | Microsoft Corporation | Change notification query multiplexing | | US7809892 | Apr 3, 2007 | Oct 5, 2010 | American Megatrends Inc. | Asynchronous data replication | | US7818435 | Dec 14, 2000 | Oct 19, 2010 | FusionOne, Inc. | Reverse proxy mechanism for retrieving electronic content associated with a local network | | US7818739 | Jun 22, 2004 | Oct 19, 2010 | McAfee, Inc. | Virus detection system, method and computer program product for handheld computers | | US7836147 | Aug 16, 2006 | Nov 16, 2010 | Verizon Data Services LLC Verizon Services Corp. Verizon Business Financial Management Corporation | Method and apparatus for address book contact sharing | | US7836395 | Apr 6, 2000 | Nov 16, 2010 | International Business Machines Corporation | System, apparatus and method for transformation of java server pages into PVC formats | | US7844576 | Oct 19, 2006 | Nov 30, 2010 | Research In Motion Limited | Method and system for synchronising bookmarks | | US7844734 | Feb 1, 2005 | Nov 30, 2010 | InnoPath Software, Inc. | Dynamic addressing (DA) using a centralized DA manager | | US7853560 | Apr 16, 2007 | Dec 14, 2010 | Cellco Partnership | Methods for address book synchronization and subscription status notification | | US7853563 | Aug 31, 2005 | Dec 14, 2010 | Seven Networks, Inc. | Universal data aggregation | | US7877518 | Nov 30, 2000 | Jan 25, 2011 | Access Systems Americas, Inc. | Method and apparatus for updating applications on a mobile device via device synchronization | | US7887417 | Nov 17, 2006 | Feb 15, 2011 | Konami Gaming, Inc. | System and method for controlling volume associated with gaming system | | US7889684 | Jan 24, 2007 | Feb 15, 2011 | Huawei Technologies Co., Ltd. | Method for managing a terminal device | | US7895334 | Jul 19, 2000 | Feb 22, 2011 | FusionOne, Inc. | Remote access communication architecture apparatus and method | | US7917468 | Sep 16, 2005 | Mar 29, 2011 | Seven Networks, Inc. | Linking of personal information management data | | US7917505 | Oct 28, 2007 | Mar 29, 2011 | Seven Networks, Inc. | Methods for publishing content | | US7917534 | Dec 11, 2006 | Mar 29, 2011 | Microsoft Corporation | Systems and methods for extensions and inheritance for units of information manageable by a hardware/software interface system | | US7917653 | Feb 13, 2006 | Mar 29, 2011 | Samsung Electronics Co., Ltd | SyncML data sync system and data exchanging method for data exchange between clients | | US7920944 | Oct 21, 2005 | Apr 5, 2011 | General Motors LLC | Vehicle diagnostic test and reporting method | | US7962450 | Oct 21, 2010 | Jun 14, 2011 | Research In Motion Limited | Method and system for synchronising bookmarks | | US7962622 | Mar 27, 2003 | Jun 14, 2011 | Motorola Mobility, Inc. | System and method for providing provisioning and upgrade services for a wireless device | | US7966391 | May 10, 2005 | Jun 21, 2011 | Todd J. Anderson | Systems, apparatus and methods for managing networking devices | | US7996856 | May 20, 2008 | Aug 9, 2011 | International Business Machines Corporation | Processing application data | | US8001077 | Dec 14, 2005 | Aug 16, 2011 | International Business Machines Corporation | Distributed method for synchronizing and updating bookmarks on multiple computer devices | | US8001177 | Feb 28, 2007 | Aug 16, 2011 | Hewlett-Packard Development Company, L.P. | Method and apparatus for automated personal information management data transfer for a wireless enabled handheld | | US8010082 | Oct 19, 2005 | Aug 30, 2011 | Seven Networks, Inc. | Flexible billing architecture | | US8015163 | Jun 29, 2009 | Sep 6, 2011 | Hewlett-Packard Development Company, L.P. | Detecting duplicative user data on computing device | | US8019938 | Dec 6, 2007 | Sep 13, 2011 | Fusion-I0, Inc. | Apparatus, system, and method for solid-state storage as cache for high-capacity, non-volatile storage | | US8041904 | Nov 30, 2009 | Oct 18, 2011 | Microsoft Corporation | Non-volatile memory cache performance improvement | | US8046424 | Aug 27, 2004 | Oct 25, 2011 | Microsoft Corporation | Systems and methods for the utilization of metadata for synchronization optimization | | US8046547 | Jan 11, 2008 | Oct 25, 2011 | American Megatrends, Inc. | Storage system snapshots for continuous file protection | | US8046548 | Jan 11, 2008 | Oct 25, 2011 | American Megatrends, Inc. | Maintaining data consistency in mirrored cluster storage systems using bitmap write-intent logging | | US8055992 | Mar 23, 2009 | Nov 8, 2011 | Access Co., Ltd. | Method and apparatus for managing calendar information from a shared database and managing calendar information from multiple users | | US8060541 | Jun 11, 2009 | Nov 15, 2011 | BE-Centric, LLC | Network-based database communication system | | US8064583 | Sep 21, 2006 | Nov 22, 2011 | Seven Networks, Inc. | Multiple data store authentication | | US8065442 | Nov 19, 2008 | Nov 22, 2011 | American Megatrends, Inc. | High performance journaling for replication and continuous data protection | | US8069166 | Feb 27, 2006 | Nov 29, 2011 | Seven Networks, Inc. | Managing user-to-user contact with inferred presence information | | US8073954 | Jul 19, 2000 | Dec 6, 2011 | Synchronoss Technologies, Inc. | Method and apparatus for a secure remote access system | | US8074011 | Nov 18, 2008 | Dec 6, 2011 | Fusion-IO, Inc. | Apparatus, system, and method for storage space recovery after reaching a read count limit | | US8078158 | Jun 26, 2008 | Dec 13, 2011 | Seven Networks, Inc. | Provisioning applications for a mobile device | | US8082407 | Apr 16, 2008 | Dec 20, 2011 | American Megatrends, Inc. | Writable snapshots for boot consolidation | | US8086695 | Sep 24, 2009 | Dec 27, 2011 | Hewlett-Packard Development Company, L.P. | Over the air services for mobile devices | | US8095495 | Sep 25, 2007 | Jan 10, 2012 | Microsoft Corporation | Exchange of syncronization data and metadata | | US8107921 | Jan 11, 2008 | Jan 31, 2012 | Seven Networks, Inc. | Mobile virtual network operator | | US8112383 | Feb 10, 2004 | Feb 7, 2012 | Microsoft Corporation | Systems and methods for a database engine in-process data provider | | US8116214 | Nov 30, 2005 | Feb 14, 2012 | Seven Networks, Inc. | Provisioning of e-mail settings for a mobile terminal | | US8127342 | Sep 23, 2010 | Feb 28, 2012 | Seven Networks, Inc. | Secure end-to-end transport through intermediary nodes | | US8131739 | Aug 21, 2003 | Mar 6, 2012 | Microsoft Corporation | Systems and methods for interfacing application programs with an item-based storage platform | | US8135798 | Nov 15, 2006 | Mar 13, 2012 | Hewlett-Packard Development Company, L.P. | Over-the-air device services and management | | US8150867 | Nov 15, 2010 | Apr 3, 2012 | Cellco Partnership | Methods for address book synchronization and subscription status notification | | US8156071 | Jun 15, 2005 | Apr 10, 2012 | Innopath Software, Inc. | Byte-level file differencing and updating algorithms | | US8156074 | Jan 26, 2000 | Apr 10, 2012 | Synchronoss Technologies, Inc. | Data transfer and synchronization system | | US8166101 | Oct 24, 2003 | Apr 24, 2012 | Microsoft Corporation | Systems and methods for the implementation of a synchronization schemas for units of information manageable by a hardware/software interface system | | US8166164 | Oct 14, 2011 | Apr 24, 2012 | Seven Networks, Inc. | Application and network-based long poll request detection and cacheability assessment therefor | | US8171158 | Mar 27, 2001 | May 1, 2012 | Altera Corporation | Browser system and method | | US8181111 | Dec 31, 2008 | May 15, 2012 | Synchronoss Technologies, Inc. | System and method for providing social context to digital activity | | US8189407 | Dec 29, 2010 | May 29, 2012 | Fusion-io, Inc. | Apparatus, system, and method for biasing data in a solid-state storage device | | US8190701 | Nov 1, 2011 | May 29, 2012 | Seven Networks, Inc. | Cache defeat detection and caching of content addressed by identifiers intended to defeat cache | | US8195912 | Apr 6, 2008 | Jun 5, 2012 | Fusion-IO, Inc | Apparatus, system, and method for efficient mapping of virtual and physical addresses | | US8195978 | May 18, 2009 | Jun 5, 2012 | Fusion-IO. Inc. | Apparatus, system, and method for detecting and replacing failed data storage | | US8200623 | Mar 19, 2007 | Jun 12, 2012 | Microsoft Corporation | Optimizing file replication using binary comparisons | | US8200886 | Jan 16, 2007 | Jun 12, 2012 | Smith Micro Software, Inc. | Efficient system and method for updating a memory device | | US8204953 | Nov 1, 2011 | Jun 19, 2012 | Seven Networks, Inc. | Distributed system for cache defeat detection and caching of content addressed by identifiers intended to defeat cache | | US8209709 | Jul 5, 2010 | Jun 26, 2012 | Seven Networks, Inc. | Cross-platform event engine | | US8238696 | Oct 24, 2003 | Aug 7, 2012 | Microsoft Corporation | Systems and methods for the implementation of a digital images schema for organizing units of information manageable by a hardware/software interface system | | USRE43070 | Oct 10, 2006 | Jan 3, 2012 | Hewlett-Packard Development Company, L.P. | Identifying and locating lost or stolen personal digital assistant devices via a landline- or wireless-connected web server | | USRE43577 | Mar 25, 2010 | Aug 14, 2012 | Hewlett-Packard Development Company, L.P. | Swapping a nonoperational networked electronic system for an operational networked electronic system |
Claims1. A system for synchronizing data between a first system and a second system, comprising: - a first sync engine on the first system interfacing with data on the first system to provide difference information in a difference transaction;
- a data store coupled to the network and in communication with the first and second systems; and
- a second sync engine on the second system coupled to receive the difference information in the difference transaction from the data store via the network, and interfacing with data on the second system to update said data on the second system with said difference information;
- wherein each said sync engine comprises a data interface, a copy of a previous state of said data, and a difference transaction generator.
2. The apparatus of claim 1 wherein the first system and second system are coupled to the server via a private network. 3. The apparatus of claim 1 wherein the first system and second system are coupled to the server via an Internet connection. 4. The apparatus of claim 1 wherein the difference information is transmitted to the data store by the first sync engine and received from the data store from the second sync engine. 5. The apparatus of claim 4 wherein the difference information is transmitted to the data store at a first point in time, and received from the data store at a second, subsequent point in time. 6. The apparatus of claim 1 wherein said second sync engine interfaces with said data on the second system to provide second difference information to the data store. 7. The apparatus of claim 6 wherein the first sync engine couples to the data store to retrieve the second difference information and interfaces with the data on the first system to update said data on the first system with said second difference information. 8. The apparatus of claim 1 further including a management server coupled to the network and in communication with the first sync engine, the second sync engine and the data store. 9. The apparatus of claim 8 wherein said management server authorizes access of difference information on the data store by the first and second sync engines. 10. The apparatus of claim 8 wherein said management server locks access to difference information on the data store during communication with the first and the second sync engines. 11. The apparatus of claim 1 further including a first device, coupled to the first system via the network, providing said data to the first system. 12. The apparatus of claim 11 wherein the first system is a sync server. 13. The apparatus of claim 11 wherein said data comprises changes to a previous state of the data, and said difference information comprises said changes in an encoded, universal format. 14. The apparatus of claim 1 wherein said data on said first system comprises application data having a plurality of application specific formats, and said difference information is provided for each of said formats in a universal format to said data store. 15. The apparatus of claim 1 further including: - a plurality of sync engines on a respective plurality of systems, each of said plurality of engines being coupled to receive difference information from each of said first, second and plurality of sync engines from the data store via the network, and each said engine interfacing with data on the system on which it resides to update said data on said system on which it resides with said difference information, and interface with data on said system on which it resides to provide difference data information from the system on which it resides to the data store.
16. A system, comprising: - a first device including at least a first data file and first differencing code, the first device having an input and an output coupled to a network to receive first device data change transactions from, and provide change transactions generated by the first differencing code based on said at least one data file to, said network;
- a data store coupled to the network having at least one data structure coupled to store change transactions; and
- a second device including at least a second data file and second differencing code, the second device having an input and an output coupled to the network to receive said first device data change transactions from, and provide second change transactions generated by the second differencing code based on said at least second data file to, said data store;
- wherein said first differencing code includes a first sync engine having a first data interface, a first copy of a previous state of said data, and a first difference transaction generator, and said second differencing code includes a second sync engine having a second data interface, a second copy of a previous state of said data, and a second difference transaction generator.
17. The apparatus of claim 16 wherein the first device and second device are coupled to the data store via an Internet connection. 18. The apparatus of claim 16 wherein the first change transactions are transmitted to the data store by the first device at a first point in time and received from the data store by the second device at a second, subsequent point in time. 19. The apparatus of claim 16 wherein the first differencing code receives second change transactions from the data store and interfaces with at least the first data file to update said data with said second change transactions. 20. The apparatus of claim 16 further including a management server coupled to the network and in communication with the first sync engine, the second sync engine and the data store. 21. The apparatus of claim 16 wherein said management server authorizes access of difference information on the data store by the first and second differencing code. 22. The apparatus of claim 16 wherein the first device is a sync server. 23. The apparatus of claim wherein said differencing code comprises: - an application object;
- an application object store; and
- a delta engine.
24. An Internet synchronization system, comprising: - a storage server having an Internet connection;
- a first device coupled to the Internet and including a first device sync engine interfacing with data on the first device, the first device in communication with at least the storage server; and
- a second device coupled to the Internet and including a second device sync engine interfacing with data on the second device, the second device in communication with at least the storage server;
- wherein each said device sync engine comprises a data interface, a copy of a previous state of said data, and a difference transaction generator.
25. The Internet synchronization system of claim 24 further including: - a management server.
26. The Internet synchronization system of claim 24 wherein communications between the first device, the second device and the storage server are encoded and compressed. 27. The Internet synchronization system of claim 24 wherein data transfer between the first device, the second device and the storage server comprises difference transactions. 28. The Internet synchronization system of claim 24 wherein each device includes applications having data in an application specific format, and wherein communication between the first device, the second device and the storage server include changes to said data in an application independent format. 29. The Internet synchronization system of claim 24 wherein each device sync engine comprises: - an application object;
- an application object store; and
- a delta engine.
|