WO2005111808A2 - Maintaining time-date information for syncing low fidelity devices - Google Patents
Maintaining time-date information for syncing low fidelity devices Download PDFInfo
- Publication number
- WO2005111808A2 WO2005111808A2 PCT/US2004/024708 US2004024708W WO2005111808A2 WO 2005111808 A2 WO2005111808 A2 WO 2005111808A2 US 2004024708 W US2004024708 W US 2004024708W WO 2005111808 A2 WO2005111808 A2 WO 2005111808A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- remote
- time
- property
- representation
- value
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Definitions
- the present invention generally relates to synchronizing data within a distributed computing system. More particularly, the present invention provides for the following: (1) maintaining time-date information for properties when resolving sync conflicts between two devices, wherein one of the devices does not provide a database with time-date fields corresponding to the properties; (2) determining if a property value on a remote low fidelity device has changed since a last synchronization with a local machine; and (3) preserving memory resources by limiting time-date information for a subset of properties, the time-date information used for resolving conflicts between sync values.
- Laptop, handheld, and other portable computers or computing devices have increased in popularity as the devices become smaller in size and less expensive. Additionally, improved operating speed and processing power of portable computers has increased their popularity. Many portable computers are capable of storing multiple application programs, such as address books, games, calculators, and the like. The application programs can be permanently installed in the portable computer during manufacture (e.g., on Read-Only Memory (ROM)). Alternatively, one or more application programs may be installed by the user after purchasing the portable computer. With the increased popularity and computing power of such devices, people are beginning to store data and applications using more than just a single computing device. Many people, for example, often use laptop computers in addition to their regular desktop computer.
- ROM Read-Only Memory
- PDA Personal Digital Assistance
- Internet services and the like are also used for storing data and applications.
- Each of these computing devices may be part of a distributed computing system wherein related information can be correlated and stored on multiple such devices.
- a user may have a digital address book stored on their desktop work computer, on their PDA, on their cell phone, on an Internet service, etc. Accordingly, while at work, it may be convenient for the user to access contact information, which may include phone numbers and other general contact information. While away from work, however, the user may be able to use the address book in a mobile form such as a personal digital assistance (PDA) or other mobile information storage system.
- PDA personal digital assistance
- the contact information of the PDA should match the contact information at the desktop work computer.
- Synchronization is an automated process that attempts to ensure that each device within the distributed system has the most current information or data. Synchronization, however, has its own set of problems. For example, when synchronization is initialized between the two devices, current systems detect changed property values by comparing corresponding property values from each device. Such comparison, however, gives no indication as to which device made the change. As such, when a property change has occurred on either device, a conflict occurs and a conflict resolution process must be performed.
- time-date information becomes particularly problematic when the data to be synchronized does not include time-date information, which is referred to as low fidelity data.
- low fidelity data For example, many smaller computing devices have limited physical resources and are incapable of maintaining time-date information for properties of a data structure item.
- a computer syncs data in from such low fidelity device it doesn't know when the user originally set that property. This prevents the computer from syncing in a property from another computing device and confidently using "last-writer-wins" resolution logic to pick the most up-to-date property.
- the distributed computing system may have a device that stores property in a database without a corresponding time-date field.
- the present invention provides for associating time-date information with a property value in the database.
- Example embodiments provide for identifying time-date information corresponding to remote property values in a remote database that stores properties without a corresponding time-date field. The identified time-date information is fo ⁇ natted in a standard format parsable by devices in the distributed computing system.
- the formatted time-date information is sent to a remote database for storage in a field associated with the remote property values.
- Other example embodiments provide for a distributed computing system having a device that stores properties in a database without a corresponding time-date field. Formatted time-date information is received in a standard format parsable by devices in the distributed computing system, the formatted time-date information associated with property values. Further, the formatted time-date information is stored in a database field associated with the property values such that the formatted time-date information can be utilized to resolve data conflicts involving the property values. Still yet other example embodiments provide for resolving a data conflict between devices in a distributed computing system. A remote property value is received for a remote property.
- a corresponding remote time-date information from a database without a corresponding time-date field.
- the remote time-date information being formatted in standard format parsable by devices in the distributed computing system. Further, a conflict between the remote value and the corresponding local property value is detected.
- the remote time-date information is parsed according to the standard format to identify a remote time and date that indicate when the remote property values changed. Further, the remote time and date is compared to a local time and date, the local time and date indicating when the one or more local property values where changes. The conflict is then resolved based on the results of the comparison.
- example embodiments provide for determining if a value for a property on a remote device has changed since a last synchronization of the property between the remote device and a local machine.
- Example embodiments provide that during synchronization of data between a remote device and a local device, a current value for a remote property and a remote representation for a prior value of the remote property is received. A local representation of the remote property from the current value for the remote property is then generated. Accordingly, the remote representation is compared to the local representation, and based on the comparison, it is determined that the prior value of the remote property was changed after the remote representation was generated.
- exemplary embodiments provide that during synchronization of data between a remote device and a local device, a remote value for a remote property and a remote representation for the remote value of the remote property is received. A local representation of the remote property is then generated from the remote value for the remote property. Accordingly, the remote representation is compared to the local representation, and based on the comparison, it is determined that the remote value of the remote property has not changed after the remote representation was generated. Still other deficiencies and drawbacks of current synchronization systems are overcome by the present invention. For example, exemplary embodiments provide for preserving memory resources by selecting property values to be assigned time- date information used in resolving conflicts between sync values. Example embodiments provide for receiving a plurality of property values from a remote device.
- a limited set of property values from among the plurality of property values received are selected based on the available resources of the remote device. Further, a set of time-date information from a plurality of time-date information corresponding to the plurality of property values is identified. Each of the property values in the limited set corresponding to a different portion of the set of time-date information and indicating when each of the property values within the limited set where last modified. The different portions of time-date information are then stored in a remote database of the remote device.
- Other example embodiments provide that the selection of the limited set of property values may also be based historical information associated with the modification of the plurality of property values. For example, the historical information may be the frequency for which each of the plurality of property values are modified, and the most frequently modified property values may then be selected.
- the historical information may be time-date information for the plurality of property values, and the most recently modified property values may then be selected.
- Still other example embodiments provide for identifying a portion of time-date information from the above-identified plurality of time-date information for remaining property values not within the limited set of property values. The portion of time-date information corresponding to when one or more of the remaining property values where modified by a user. The identified portion of time-date information may then be stored in one location in the remote database such that the identified portion of time-date information corresponds to all of the one or more remaining property values. Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention.
- Figure 1A illustrates a distributed system with high fidelity and low fidelity devices in which the present invention may be implemented
- Figure IB illustrates the detection of a conflict between two devices within the distributed system in accordance with example embodiments of the present invention
- Figure 2 illustrates updating and use of time-date information in a distributed system with a low fidelity device in accordance with example embodiments of the present invention
- Figure 3 illustrates an example standard format of time-date information within a field in accordance with example embodiments of the present invention
- Figure 4 illustrates a flow chart of a method of associating time-date information with a property value in a database without a corresponding time-date field in accordance with example embodiments
- Figure 5 illustrates a flow chart of a method of receiving and storing time-date information with a property value in a database without a corresponding time
- the present invention extends to methods, systems and computer program products for storing and maintaining time-date information for a device that stores properties in a database without a corresponding time-date field. Further, the present invention provides for identifying when data has changed on a remote device. The present invention also provides for selecting a limited set of property values to assign time-date information for preserving restricted or limited memory resources.
- the embodiments of the present invention may comprise a special purpose or general- purpose computer including various computer hardware, as discussed in greater detail below. Generally, the present invention provides for a distributed computing system that is capable of associating time-date information with a property value in the database.
- the distributed computing system has a device that stores properties in a database without corresponding time-date fields, and thus is considered a low fidelity or legacy device.
- Example embodiments provide that time-date information corresponding to remote property values can be identified and formatted in a standard format parsable by one or more devices in the distributed computing system. The formatted time-date information is sent to the remote database for storage in a field associated with the remote property values. The formatted time-date information can then subsequently be used in resolving conflicts between property values.
- Other example embodiments provide for determining when a value for a property on a remote device has changed since the last synchronization of the property between the remote device and a local machine.
- Figure 1A illustrates several nodes within a distributed computing network 100 to illustrate the connections and how each node syncs with other nodes within the system.
- work computer 105 can sync with several various devices such as email server 110, PDA 115, mobile phone 120, and instant message server 125.
- Data needing to be synchronized may be, e.g., contact information wherein each item would correspond to information about an individual person, company, corporation, or any other similar contact.
- An example of the properties associated with each contact item may be first name, middle name, last name, company name, address, phone number, email address, website information, etc.
- the local data may be information other than contact information.
- the local data could be a calendar and/or scheduling information, a file, an application or any other such information needing to be synced between two devices.
- home laptop 130 may be able to be synced between instant message server 125, mobile phone 120, PDA 115, and email server 110.
- the distributed computing system 100 may be made up of low fidelity (e.g., a device whose database is not capable of storing time-date information for properties) and high fidelity devices. This is important to consider since ideally every database would have time-date information for each property in an item to indicate the last time the user modified the property. If that was the case, then the sync adapters could use a "last-writer-wins" rule to let the last time-date information pick the winner.
- Figure IB illustrates a portion of the distributed computing network 100 with remote devices 116 (such as mobile phone 120 or PDA 115) and a local machine 132 (such as home laptop 130 or work computer 105). As shown, remote device 116 changed a property value from A to B at some point after the last synchronization between remote device 116 and local machine 132.
- remote devices 116 such as mobile phone 120 or PDA 115
- local machine 132 such as home laptop 130 or work computer 105
- local machine 132 changed the same property value from A to C subsequent to the last synchronization between the two devices 116, 132.
- remote device 116 has a needs sync arrow 135 showing that the value of B for the property should be synced down to local machine 132.
- local machine 132 has a needs sync up arrow 140 indicating that the value of C should be synced up to remote device 115. Because both devices 116, 132 have needs sync arrows to sync property values down and up, respectively, a conflict can result.
- typically conflicts like the one identified in Figure IB can be resolved through the comparison of time-date information associated with the property values.
- the present invention provides for associating time-date information with property values in a database, where a device stores properties without a corresponding time-date field (i.e., a low fidelity device). Further, the present invention provides for determining when a value for a property on a remote device has changed since the last synchronization of the property, even if the remote device is a low fidelity device.
- Figure 2 illustrates a distributed computing network 200 with a system capable of creating, using, and updating time-date information for a low fidelity device in accordance with example embodiments of the present invention.
- Distributed computing system 200 includes two high fidelity machines, local machine 210 and remote machine 220.
- Remote device 205 is low fidelity in that the database associated with remote device 205 is not capable of storing time-date information with each property, h other words, remote device 205 stores properties in its database without a corresponding time-date field.
- remote device 205 does not have time-date fields for properties in its database, example embodiments provide for associating the time-date information with the property values in remote device 205 and allowing remote device 205 to store the time-date information in a standard format and within a field that is unused. For instance, local machine 210 can identify time-date information corresponding to remote property values in remote devices 205 database.
- the identified time-date information may then be formatted in a standard format parsable by several devices within the distributed computing system 200.
- the standard format may be, e.g., a Uniform Resource Identifier (URI).
- URI Uniform Resource Identifier
- URI may be in the form of a Sync Uniform Resource Locator (URL) that identifies the property and includes the identified time-date information associated with each property.
- URL Sync Uniform Resource Locator
- this Sync URL format is desirable because it is readily identifiable and parsable by many devices, thus ideal as a standard format.
- Local machine 210 can send to remote device 205 the formatted time-date information, which will be stored in a field associated with the remote property values.
- local machine 210 sends item 1 (215) with Time-Date (T/D) information and updated properties when syncing with remote device 205.
- Remote device 205 then stores item 1 (215) that includes the time-date information.
- the formatted time-date information is stored in an unused property filed on the remote device 205.
- remote device 205 can store the formatted time-date information in a normal property, a hidden property, a private expanded property or even appended it to the end of a notes field.
- other information may be stored in a property field (e.g., text in a notes field)
- the present invention refers to such fields as unused because the field is not reserved for storing time-date information.
- unused property field should be interpreted broadly to encompass any property field not reserved for storing time-date information.
- Example embodiments provide that the formatted time-date information can be used for several different purposes, such as resolving conflicts, or identifying when a property has changed. For instance, a sync is initiated between remote device 205 and remote machine 220. Accordingly, item 1 (215) can be sent down to remote machine 220 with the properties and the formatted time-date information. Because the formatting of the time-date information is in a standard parsable format, remote machine 220 can parse the remote time-date information and identify remote time and date information associated with each property.
- the formatted time-date information within item 1 (215) may include a representation of the property value last synced with local machine 210 within each segment of the time-date information.
- the representation may be, e.g., in the form of a hash, which would be a hash of the last synchronized property value that was associated with the time-date information.
- the received properties within item 1 (215) can also be hashed using the same standard hash function used to hash the last synced property value.
- Standard hash functions that may be used include, but are not limited to, SHA-1, MD5, or other similar hash function.
- the hash value within the fo ⁇ natted time-date information may be compared with the hash value generated by the remote machine 220. If the values do not match, it can be deduced that the property value associated with the time-date information was changed at remote device 205. Accordingly, the time-date information is potentially unreliable and may therefore be discarded by remote machine 220.
- a user interface can be provided to the user in order to resolve the conflict.
- other ways of resolving the conflict are also available through standard practices well- known in the industry.
- the above use of a hash or representation of a property value in order to determine when a change has occurred at remote device 205 is not limited to formatted time-date information.
- comparison of property representations in order to determine when a property value has changed can be used without time-date information. Such instances would be useful in determining when properties need to be synced down from remote device 205, without having to compare values of the properties stored on remote machine 220.
- Figure 3 illustrates how time-date information may be formatted and stored at remote device 205.
- item 355 has various fields for a contact, which include property identifiers, property names and an initial value for the properties.
- contact information and the fields therein are used for illustrative purposes only and are not meant to limit or otherwise narrow the scope of the present invention, except where explicitly claimed.
- formatted time-date information can be stored in property field 375 as a field value 350.
- Example embodiments provide that the formatting may be in the form of Sync URL as shown in field 350.
- An exploded view of parsed portions of field 350 are also shown in Figure 3.
- the first portion of field 350 includes Sync URL 305. This portion identifies to devices that are scanning item 355 that the following segments of the Sync URL include time-date information for various properties within item 355. It is noted, that the place holder 315 normally reserved for locator information in the Sync URL 305 may or may not be used.
- Each of the following segments can be separated by an ampersand 340 and identified through a property identification, e.g., property value 310.
- time-date information associated with the property identification (e.g., time_date_l 330 is associated with Prop LD_1).
- time_date_l 330 is associated with Prop LD_1
- Example embodiments provide that a simple representation of the time- date information may be used in order to conserve valuable memory resources.
- the time-date information may be stored as a Hexadecimal number.
- the time date information can also be stored at a lower resolution. For instance, time-date values are normally stored down to a thousandth of a second.
- Example embodiments provide for creating the formatted time-date information or Sync URL with time-date values stored down to the second or to the minute.
- example embodiments provided that the time-date information can be stored in a time zone independent way.
- a property representation e.g., property representation 320.
- the property representation 320 may be in the form of a hash, which as previously described, can be used in determining if a property value has been changed since the property representation 320 was generated. This indicates whether or not the time- date information 330 is potentially unreliable.
- the memory available to store formatted time-date information is limited. As such, memory for storing time-date information for each and every property may not be available or practical.
- the present invention provides for determining and choosing a limited set of property values from among the total number of property values within an item 355.
- a choice of property values to include time-date information within the Sync URL 305 of the present invention may be chosen based on various considerations. For example, the choice may be based on those property values that were most recently changed. Alternatively, the property values chosen to have time-date information associated with them within the Sync URL 305 or formatted time-date information may be based on heuristical data such as the frequency of change for a particular property value. Of course, any other number of various ways for choosing property values to associate time-date information with is also provided.
- the use of how the properties are chosen is used for illustrative purposes only and is not meant to limit or otherwise narrow the scope of the present invention unless otherwise explicitly claimed.
- the present invention can also provide for determining if the other properties have changed since a last synchronization, as well as associates time-date information with them, within a reduced space.
- the present invention provides for representing the rest of the properties in a reduced format and associating upper and/or lower bound time- date information for the representation.
- a segment with a property identifier 360 holding a rest value appended to the end of the Sync URL 305 in field 350 is a segment with a property identifier 360 holding a rest value.
- the property identifier 360 indicates to devices that are scanning the Sync URL 305 that the properties that do not have specific time date information associated with them are presented in this segment. Accordingly, a property representation 365 of the remaining property values can be used.
- property representation 365 for the rest of the property values may be in the form of a hash of all the remaining property values.
- this property representation 365 may be used in a similar way as those previously described property representations to identify when one or more of the remaining property values has changed since the last sync between a remote machine and a local machine.
- Other example embodiments also provide time-date information 370 can also be associated with the rest property to give an upper and/or lower boundary on when the remaining property values were changed.
- the rest segment was described as an additional segment of Sync
- the rest segment may be formatted in its own field. For example, where space or memory needs to be reserved, the rest segment can be used to identify when one or more the properties within an entire item 355 has changed. Accordingly, the use of the rest segment appended to the end of the Sync URL 305 is used for illustrative purposes only and is not meant to limit or otherwise narrow the scope of the present invention except where explicitly claimed.
- the present invention may also be described in terms of methods comprising functional steps and/or non-functional acts. The following is a description of steps and acts that may be performed in practicing the present invention. Usually, functional steps describe the invention in terms of results that are accomplished, whereas non-functional acts describe more specific actions for achieving a particular result.
- Figure 4 illustrates an example flow chart of a method 400 of associating time- date information with a property value within a remote database that stores properties without a co ⁇ esponding time-date field.
- Method 400 includes an act of identifying 405 time-date information. The time-date information will correspond to one or more property values in the remote database.
- Method 400 also includes an act of formatting 410 the identified time-date information.
- the time-date information is formatted in a standard format parsable by one or more devices 210, 220 within the distributed computing system 200.
- the standard formatting may be a URI such as the Sync URL 305.
- the Sync URL 305 may be parsed into segments separated by ampersand 340.
- Each segment may include a property identifier 310, a representation of the property values 320 and a representation of the time-date information 330 corresponding to the property values.
- Example embodiments provide the representation for the property values 320 may be a hash of the particular property value.
- the representation of the time-date information may be a Hexadecimal number and/or can be stored down to the seconds or minutes and/or in a time zone independent format.
- Method 400 also includes an act of sending 420 the formatted time-date information.
- the formatted time-date information may be sent to the remote database for storage in a field 350 associated with the remote property values.
- the field 350 may be, e.g., a notes field, hidden property, private expanded property, or any other similar unused field.
- the property values that have time- date information associated with them within the field 305 are a subset of the total number of property values.
- the subset may be chosen based on values associated with the time-date information. For example, the most recent time-date information may be used to select the property values included within the subset. Alternatively, the frequency for which the property values have changed may be used to choose the subset.
- the remaining portion of property values from the total number of property values may be combined in a representation value 365 and have time-date information associated with it 370.
- the time-date info ⁇ nation 370 may be a most recently changed value for a total number of properties within the rest of the properties.
- Figure 5 illustrates a method 500 of receiving and storing time-date information with a property value in the database, wherein the properties in a database are stored without corresponding time-date field.
- Method 500 includes an act of receiving 505 formatted time-date info ⁇ nation. Time-date info ⁇ nation being associated with property values and formatted in a standard format parsable by one or more devices 210, 220 in the distributed computing system 200.
- Method 500 also includes an act of storing 510 the formatted time-date information.
- the time-date info ⁇ nation that is fo ⁇ natted may be stored in a database field 350 associated with the property value such that the formatted time-date info ⁇ nation can be utilized to resolve data conflicts involving the property values.
- Exemplary embodiments also allow for identifying and updating the formatted time-date information. For example, when a property value has changed, the formatted time-date information may be identified as being associated with the property values. This formatted time-date information can then be updated in the database field in accordance with the changed property value. Example embodiments provide that this may be done by the remote device 205 with the appropriate application software.
- the formatted time-date information may be received and stored on the remote device 205, and a user of the remote device may have made the change.
- a local machine 210, 220 may have made the change.
- the local machine 210, 220 storing unformatted time-date information for properties associated with the one or more property values in a database and stores this info ⁇ nation within corresponding time-date fields, hi other words, the local machine 210, 220 are high fidelity device.
- Figure 6 illustrates a method 600 of resolving a data conflict between devices in a distributed system.
- One of the devices within the distributed computing system stores properties in a database without a corresponding time-date field.
- Method 600 includes an act of receiving 605 a remote property value.
- the remote property value received for a remote property and corresponding remote time data information is also received. Further, the remote time-date information is formatted in a standard format parsable by one or more devices in the distributed computing system, e.g., URI or Sync URL format.
- Method 600 also includes an act of detecting 610 a conflict. The conflict is between the remote property value and a corresponding local property value.
- Method 600 may also include a functional result-oriented step for utilizing 620 remote time-date information. The time-date information may be utilized to select an appropriate property value to synchronize between a local device and a remote device.
- a step 620 may include an act of parsing 622 remote time-date information.
- Step 620 may also include an act of comparing 624 remote time and date to local time and date. The local time and date indicating when a local property value was changed. Finally, step 620 may include an act of resolving 626 the conflict. The resolution of the conflict will be based on the results of the comparison.
- a standard format may be in the form of a URI.
- the URI may be a URL parsed into segments. Segments may include a property identification corresponding to the remote property value, a representation of the remote property value and a representation of the time-date information.
- the representation of the remote property value may be a hash and the representation of the time-date information may be a Hexadecimal number.
- Other example embodiments provide for generating a local representation of the remote property from the remote property value. The local representation may then be compared to the above-mentioned remote representation for determining if the remote property value has changed.
- Figure 7 illustrates a method 700 for determining when a value for a property has changed since a last synchronization of the property between the remote device and a local machine.
- Method 700 includes an act of receiving 705 a cu ⁇ ent value for a remote property. Further, a remote representation of a prior value of the remote property is also received. Method 700 may also include an act of generating 710 local representation of remote property.
- Method 700 also includes an act of comparing 715 the remote representation to the local representation. Finally, method 700 includes an act of determining 720 prior remote property was changed. This determination indicates that the property value was changed after the remote representation was generated. Accordingly, if time-date information is associated with the remote property in, e.g., Sync URL 305, such information is potentially unreliable, and it may be discarded.
- Figure 8 illustrates a method 800 of selecting a limited set of property values from among a plurality of property values. The property values are to be assigned time-date information for a device that stores properties in a database without a co ⁇ esponding time-date fields. Method 800 includes an act of receiving 805 property values from a remote device.
- Method 800 also includes an act of selecting 810 a limited set of time-date information.
- a limited set of property values may be selected from the plurality of property values based on the available resources of the remote device.
- Method 800 also includes an act of identifying 815 a set of time-date information. Each of the property values in the limited set corresponding to a different portion of the set of time-date information.
- Method 800 also includes an act of storing 820 different portions of time-date information in a remote database.
- Method 800 may also include identifying the remaining portions of property values and storing them as a representation value and associating time-date information with them. For example, a portion of time-date information for the remaining property values may be identified (the remaining property values not being in the limited set of property values).
- Embodiments within the scope of the present invention also include computer- readable media for carrying or having computer-executable instructions or data structures stored thereon.
- Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer.
- Such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to carry or store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer.
- Computer-executable instructions comprise, for example, instructions and data which cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions.
- Figure 9 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented.
- program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- Computer-executable instructions, associated data structures, and program modules represent examples of the program code means for executing steps of the methods disclosed herein. The particular sequence of such executable instructions or associated data structures represents examples of corresponding acts for implementing the functions described in such steps.
- the invention may be practiced in network computing environments with many types of computer system configurations, including personal computers, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- the invention may also be practiced in distributed computing environments where tasks are performed by local and remote processing devices that are linked (either by hardwired links, wireless links, or by a combination of hardwired or wireless links) through a communications network.
- program modules may be located in both local and remote memory storage devices.
- an exemplary system for implementing the invention includes a general purpose computing device in the form of a conventional computer 920, including a processing unit 921, a system memory 922, and a system bus 923 that couples various system components including the system memory 922 to the processing unit 921.
- the system bus 923 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read only memory (ROM) 924 and random access memory (RAM) 925.
- ROM read only memory
- RAM random access memory
- a basic input/output system (BIOS) 926 containing the basic routines that help transfer information between elements within the computer 920, such as during start-up, may be stored in ROM 924.
- the computer 920 may also include a magnetic hard disk drive 927 for reading from and writing to a magnetic hard disk 939, a magnetic disk drive 928 for reading from or writing to a removable magnetic disk 929, and an optical disk drive 930 for reading from or writing to removable optical disk 931 such as a CD-ROM or other optical media.
- the magnetic hard disk drive 927, magnetic disk drive 928, and optical disk drive 930 are connected to the system bus 923 by a hard disk drive interface 932, a magnetic disk drive-interface 933, and an optical drive interface 934, respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer-executable instructions, data structures, program modules and other data for the computer 920.
- exemplary environment described herein employs a magnetic hard disk 939, a removable magnetic disk 929 and a removable optical disk 931
- other types of computer readable media for storing data can be used, including magnetic cassettes, flash memory cards, digital versatile disks, Bernoulli cartridges, RAMs, ROMs, and the like.
- Program code means comprising one or more program modules may be stored on the hard disk 939, magnetic disk 929, optical disk 931, ROM 924 or RAM 925, including an operating system 935, one or more application programs 936, other program modules 937, and program data 938.
- a user may enter commands and info ⁇ nation into the computer 920 through keyboard 940, pointing device 942, or other input devices (not shown), such as a microphone, joy stick, game pad, satellite dish, scanner, or the like.
- input devices are often connected to the processing unit 921 through a serial port interface 946 coupled to system bus 923.
- the input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB).
- a monitor 947 or another display device is also connected to system bus 923 via an interface, such as video adapter 948.
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the computer 920 may operate in a networked environment using logical connections to one or more remote computers, such as remote computers 949a and 949b.
- Remote computers 949a and 949b may each be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically include many or all of the elements described above relative to the computer 920, although only memory storage devices 950a and 950b and their associated application programs 936a and 936b have been illustrated in Figure 9.
- the logical connections depicted in Figure 9 include a local area network (LAN) 951 and a wide area network (WAN) 952 that are presented here by way of example and not limitation.
- LAN local area network
- WAN wide area network
- Such networking environments are commonplace in office-wide or enterprise-wide computer networks, intranets and the Internet.
- the computer 920 When used in a LAN networking environment, the computer 920 is connected to the local network 951 through a network interface or adapter 953. When used in a WAN networking environment, the computer 920 may include a modem 954, a wireless link, or other means for establishing communications over the wide area network 952, such as the Internet.
- the modem 954, which may be internal or external, is connected to the system bus 923 via the serial port interface 946.
- program modules depicted relative to the computer 920, or portions thereof may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing communications over wide area network 952 may be used.
- the present invention may be embodied in other specific forms without departing from its spirit or essential characteristics.
Abstract
Description
Claims
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020117030922A KR101224821B1 (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
BR0406388-0A BRPI0406388A (en) | 2004-04-30 | 2004-07-30 | Maintaining time and date information to sync low fidelity devices |
CN2004800016752A CN101061475B (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
EP04779687A EP1745380A4 (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
JP2007510695A JP4722124B2 (en) | 2004-04-30 | 2004-07-30 | Preserve time-date information for synchronizing low fidelity devices |
CA2507424A CA2507424C (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
AU2004279180A AU2004279180B2 (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
KR1020057008467A KR101201075B1 (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
MXPA05007162A MXPA05007162A (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices. |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/835,830 | 2004-04-30 | ||
US10/835,830 US6944636B1 (en) | 2004-04-30 | 2004-04-30 | Maintaining time-date information for syncing low fidelity devices |
US10/878,717 | 2004-06-28 | ||
US10/878,717 US6950835B1 (en) | 2004-04-30 | 2004-06-28 | Determining when a low fidelity property value has changed during a sync |
US10/878,095 US7007045B2 (en) | 2004-04-30 | 2004-06-28 | Preserving memory resources by limiting time-date information for a subset of properties |
US10/878,095 | 2004-06-28 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2005111808A2 true WO2005111808A2 (en) | 2005-11-24 |
WO2005111808A3 WO2005111808A3 (en) | 2007-03-15 |
Family
ID=35394795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2004/024708 WO2005111808A2 (en) | 2004-04-30 | 2004-07-30 | Maintaining time-date information for syncing low fidelity devices |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP1745380A4 (en) |
AU (1) | AU2004279180B2 (en) |
BR (1) | BRPI0406388A (en) |
CA (1) | CA2507424C (en) |
MX (1) | MXPA05007162A (en) |
WO (1) | WO2005111808A2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008113096A (en) * | 2006-10-27 | 2008-05-15 | Fujitsu Ten Ltd | Gateway device and data managing method |
CN106033510A (en) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Method and system for identifying user equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247135B1 (en) | 1999-03-03 | 2001-06-12 | Starfish Software, Inc. | Synchronization process negotiation for computing devices |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5590305A (en) * | 1994-03-28 | 1996-12-31 | Altera Corporation | Programming circuits and techniques for programming logic |
US5758355A (en) * | 1996-08-07 | 1998-05-26 | Aurum Software, Inc. | Synchronization of server database with client database using distribution tables |
US6044381A (en) * | 1997-09-11 | 2000-03-28 | Puma Technology, Inc. | Using distributed history files in synchronizing databases |
US6052735A (en) * | 1997-10-24 | 2000-04-18 | Microsoft Corporation | Electronic mail object synchronization between a desktop computer and mobile device |
US5956490A (en) * | 1998-06-30 | 1999-09-21 | Motorola, Inc. | Method, client device, server and computer readable medium for specifying and negotiating compression of uniform resource identifiers |
US7136934B2 (en) * | 2001-06-19 | 2006-11-14 | Request, Inc. | Multimedia synchronization method and device |
-
2004
- 2004-07-30 MX MXPA05007162A patent/MXPA05007162A/en active IP Right Grant
- 2004-07-30 AU AU2004279180A patent/AU2004279180B2/en not_active Ceased
- 2004-07-30 EP EP04779687A patent/EP1745380A4/en not_active Withdrawn
- 2004-07-30 CA CA2507424A patent/CA2507424C/en not_active Expired - Fee Related
- 2004-07-30 WO PCT/US2004/024708 patent/WO2005111808A2/en not_active Application Discontinuation
- 2004-07-30 BR BR0406388-0A patent/BRPI0406388A/en not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247135B1 (en) | 1999-03-03 | 2001-06-12 | Starfish Software, Inc. | Synchronization process negotiation for computing devices |
Non-Patent Citations (1)
Title |
---|
See also references of EP1745380A4 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008113096A (en) * | 2006-10-27 | 2008-05-15 | Fujitsu Ten Ltd | Gateway device and data managing method |
US8027352B2 (en) | 2006-10-27 | 2011-09-27 | Fujitsu Semiconductor Limited | Gateway apparatus and data managing method |
CN106033510A (en) * | 2015-03-13 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Method and system for identifying user equipment |
CN106033510B (en) * | 2015-03-13 | 2018-12-21 | 阿里巴巴集团控股有限公司 | A kind of user equipment recognition methods and system |
Also Published As
Publication number | Publication date |
---|---|
AU2004279180B2 (en) | 2010-03-11 |
BRPI0406388A (en) | 2006-02-07 |
WO2005111808A3 (en) | 2007-03-15 |
CA2507424A1 (en) | 2005-10-30 |
CA2507424C (en) | 2013-10-08 |
EP1745380A4 (en) | 2008-06-04 |
EP1745380A2 (en) | 2007-01-24 |
AU2004279180A1 (en) | 2005-11-17 |
MXPA05007162A (en) | 2005-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7620663B2 (en) | Maintaining time-date information for syncing low fidelity devices | |
US7284021B2 (en) | Determining when a low fidelity property value has changed during a SYNC | |
US20080155122A1 (en) | Detecting low fidelity sync data | |
RU2421790C2 (en) | System and method of improved synchronisation between server and client | |
US6694335B1 (en) | Method, computer readable medium, and system for monitoring the state of a collection of resources | |
EP1915670B1 (en) | Partial item change tracking and synchronization | |
US7778282B2 (en) | Propagation of conflict knowledge | |
US7216134B2 (en) | Determining when a low fidelity property value has changed during a sync | |
US7269609B2 (en) | Preserving memory resources by limiting time-date information for a subset of properties | |
US20070023507A1 (en) | Contact data structure and management | |
US20100211542A1 (en) | Methods and systems for halting synchronization loops in a distributed system | |
US20030050910A1 (en) | Synchronizing differing data formats | |
CA2507424C (en) | Maintaining time-date information for syncing low fidelity devices | |
US20050021867A1 (en) | Synchronization arrangement | |
KR101201075B1 (en) | Maintaining time-date information for syncing low fidelity devices | |
US20040267755A1 (en) | Database driven type extensibility | |
US20110016100A1 (en) | Multiple fidelity level item replication and integration | |
AU2011202919B2 (en) | Partial item change tracking and synchronization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 1499/DELNP/2005 Country of ref document: IN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004779687 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2007510695 Country of ref document: JP Ref document number: 1020057008467 Country of ref document: KR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2004279180 Country of ref document: AU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2507424 Country of ref document: CA |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005119659 Country of ref document: RU |
|
WWE | Wipo information: entry into national phase |
Ref document number: 20048016752 Country of ref document: CN |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/2005/007162 Country of ref document: MX |
|
ENP | Entry into the national phase in: |
Ref document number: 2004279180 Country of ref document: AU Date of ref document: 20040730 Kind code of ref document: A |
|
WWP | Wipo information: published in national office |
Ref document number: 2004279180 Country of ref document: AU |
|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase in: |
Ref document number: PI0406388 Country of ref document: BR |
|
NENP | Non-entry into the national phase in: |
Ref country code: DE |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 2004779687 Country of ref document: EP |