[go: up one dir, main page]

KR101201075B1 - Maintaining time-date information for syncing low fidelity devices - Google Patents

Maintaining time-date information for syncing low fidelity devices Download PDF

Info

Publication number
KR101201075B1
KR101201075B1 KR1020057008467A KR20057008467A KR101201075B1 KR 101201075 B1 KR101201075 B1 KR 101201075B1 KR 1020057008467 A KR1020057008467 A KR 1020057008467A KR 20057008467 A KR20057008467 A KR 20057008467A KR 101201075 B1 KR101201075 B1 KR 101201075B1
Authority
KR
South Korea
Prior art keywords
time
date information
attribute values
delete delete
remote
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.)
Expired - Fee Related
Application number
KR1020057008467A
Other languages
Korean (ko)
Other versions
KR20070018657A (en
Inventor
브라이언 티. 스타벅
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Priority claimed from PCT/US2004/024708 external-priority patent/WO2005111808A2/en
Publication of KR20070018657A publication Critical patent/KR20070018657A/en
Application granted granted Critical
Publication of KR101201075B1 publication Critical patent/KR101201075B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

시간-날짜 필드가 없는 저 충실도 장치에 대해, 본 발명은 원격 장치 상에서 표준 포맷(305)으로 원격 속성값에 대응하는 시간-날짜 정보(330)를 포맷팅, 식별 및 저장하도록 제공한다. 시간-날짜 정보는 몇가지 장치에 의해 구문 분석 가능하며 속성값 간의 충돌을 해결하는 데에 이용된다. 다른 실시예는 속성값(320)의 원격 표현을 동일한 속성값과 연관되는 로컬 표현과 비교함으로써 원격 장치의 속성값이 원격 장치와 로컬 머신 간의 마지막 동기화 이후에 변경되었는지를 판정하도록 제공한다. 또 다른 실시예는 동기화 값 간의 충돌을 해결하는 데에 이용되는 시간-날짜 정보가 할당되는 속성값을 선택함으로써 메모리 리소스를 보존하도록 제공한다. 속성값은 예를 들어, 원격 장치의 사용 가능 리소스에 기초하거나 기록 정보에 기초하여 선택될 수 있다.

Figure R1020057008467

시간-날짜 정보, 속성값, 속성 필드, 원격 장치, 로컬 머신, 분산 컴퓨팅 시스템

For low fidelity devices without time-date fields, the present invention provides for formatting, identifying, and storing time-date information 330 corresponding to remote attribute values in standard format 305 on the remote device. Time-date information can be parsed by several devices and used to resolve conflicts between attribute values. Another embodiment provides for determining whether an attribute value of the remote device has changed since the last synchronization between the remote device and the local machine by comparing the remote representation of the attribute value 320 with a local representation associated with the same attribute value. Yet another embodiment provides for conserving memory resources by selecting attribute values to which time-date information is used to resolve conflicts between synchronization values. The attribute value may be selected, for example, based on available resources of the remote device or based on historical information.

Figure R1020057008467

Time-Date Information, Attribute Values, Attribute Fields, Remote Devices, Local Machine, Distributed Computing Systems

Description

저 충실도 장치들을 동기화하기 위한 시간-날짜 정보 유지 방법{MAINTAINING TIME-DATE INFORMATION FOR SYNCING LOW FIDELITY DEVICES}{MAINTAINING TIME-DATE INFORMATION FOR SYNCING LOW FIDELITY DEVICES}

본 발명은 일반적으로 분산 컴퓨팅 시스템 내에서 데이터를 동기화하는 것에 관한 것이다. 더 상세하게는, 본 발명은 (1) 두 장치 간의 동기화 충돌을 해결할 때 속성의 시간-날짜 정보를 보유하고 (장치 중 하나는 데이터베이스에 이 속성에 대응하는 시간-날짜 필드를 제공하지 않음), (2) 원격 저 충실도 장치의 속성값이 로컬 머신과의 마지막 동기화 이후 변경되었는지를 판정하고, (3) 동기 값 간의 충돌을 해결하는 데에 이용되는 시간-날짜 정보를 속성의 서브세트로 제한하여 메모리 리소스를 보존하는 것에 관한 것이다.The present invention generally relates to synchronizing data within a distributed computing system. More specifically, the invention holds (1) the time-date information of an attribute when resolving a synchronization conflict between two devices (one of the devices does not provide a time-date field corresponding to this attribute in the database), (2) determine whether the attribute value of the remote low fidelity device has changed since the last synchronization with the local machine, and (3) limit the time-date information used to resolve conflicts between synchronization values to a subset of the attributes. It is about conserving memory resources.

랩톱, 핸드헬드 및 그 외 휴대용 컴퓨터나 컴퓨팅 장치들은 장치가 더욱 소형화되고 저렴하게 됨에 따라 대중성이 증가되었다. 부가하여, 휴대용 컴퓨터의 동작 속도와 처리 능력의 개선으로 대중성은 더욱 증가되었다. 많은 휴대용 컴퓨터는 주소록, 게임, 계산기 등과 같은 다수의 응용 프로그램을 저장할 수 있다. 응용 프로그램은 제작 동안 휴대용 컴퓨터에 (예를 들어, 판독 전용 메모리(ROM) 상에) 영구 설치될 수 있다. 다르게는, 하나 이상의 응용 프로그램은 휴대용 컴퓨터를 구매한 후에 사용자에 의해 설치될 수 있다.Laptops, handhelds, and other portable computers or computing devices have increased in popularity as devices become smaller and less expensive. In addition, the popularity has increased due to the improvement in the operating speed and processing power of the portable computer. Many portable computers can store multiple applications such as address books, games, calculators, and the like. Applications can be permanently installed on a portable computer (eg, on read-only memory (ROM)) during production. Alternatively, one or more applications may be installed by the user after purchasing the portable computer.

이러한 장치의 대중성과 컴퓨팅 능력의 증가로, 사람은 하나 이상의 컴퓨팅 장치를 이용하여 데이터 및 어플리케이션을 저장하기 시작하고 있다. 많은 사람들은 예를 들어, 그들의 일반 데스크톱 컴퓨터에 부가하여 랩톱 컴퓨터를 흔히 이용한다. 셀룰러 전화기, 개인용 정보 단말기(PDA), 인터넷 서비스 등과 같은 다른 장치가 또한 데이터 및 어플리케이션을 저장하는 데에 이용된다.With the increasing popularity and computing power of such devices, people are beginning to store data and applications using one or more computing devices. Many people commonly use laptop computers, for example in addition to their normal desktop computers. Other devices, such as cellular telephones, personal digital assistants (PDAs), Internet services, and the like, are also used to store data and applications.

이러한 컴퓨팅 장치들 각각은 분산 컴퓨팅 시스템의 일부일 수 있으며, 관련 정보는 이러한 다수의 장치 상에서 상관되어 저장될 수 있다. 예를 들어, 사용자는 자신의 작업용 데스크톱 컴퓨터, 자신의 PDA, 자신의 셀 폰, 인터넷 서비스 등에 디지털 주소록을 저장하고 있을 수 있다. 따라서, 직장에서, 사용자는 전화 번호 및 기타 일반 컨택트 정보를 포함할 수 있는 컨택트 정보를 편리하게 액세스할 수 있다. 그러나, 사용자가 직장에서 멀리 떨어져 있는 동안에는, 개인용 정보 단말기(PDA) 또는 기타 모바일 정보 저장 시스템 등과 같은 모바일 형태로 주소록을 이용할 수 있다. 이상적으로, PDA의 컨택트 정보는 작업용 데스크톱 컴퓨터에서의 컨택트 정보와 일치해야 한다. Each of these computing devices may be part of a distributed computing system, and relevant information may be correlated and stored on these multiple devices. For example, a user may be storing a digital address book on his work desktop computer, his PDA, his cell phone, an Internet service, or the like. Thus, at work, a user can conveniently access contact information, which can include phone numbers and other general contact information. However, while the user is far from the workplace, the address book may be available in mobile form, such as a personal digital assistant (PDA) or other mobile information storage system. Ideally, the contact information on the PDA should match the contact information on the work desktop computer.

동일하거나 관련된 정보가 두 위치에 저장되어 있을 때, 데이터는 한 위치에서 변경되고 다른 위치에서는 변경되지 않을 가능성이 있다. 이 문제는 분산 시스템 내의 각 장치가 가장 현재의 정보나 데이터를 갖는 것을 확실하게 하는 자동화 프로세스인 동기화로 해결될 수 있다. 그러나, 동기화는 그 자체가 문제를 갖는다. 예를 들어, 동기화가 두 장치 간에 초기화되면, 현재 시스템은 각 장치로부터의 대응하는 속성값을 비교하여 변경된 속성값을 검출하게 된다. 그러나, 이 비교 는 어느 장치에 변경이 행해졌는지에 대해서는 나타내지 않는다. 이와 같이, 속성 변경이 어느 한쪽의 장치에서 발생할 때, 충돌이 일어나므로 충돌 해결 프로세스가 실행되어야 한다.When the same or related information is stored in two locations, it is likely that the data will change in one location and not in another. This problem can be solved with synchronization, an automated process that ensures that each device in a distributed system has the most current information or data. However, synchronization has its own problems. For example, if synchronization is initiated between two devices, the current system compares corresponding attribute values from each device to detect changed attribute values. However, this comparison does not indicate which device has changed. As such, when an attribute change occurs on either device, a conflict occurs and a conflict resolution process must be executed.

다른 시스템은 변경된 속성을 변경이 발생한 것을 나타내는 태그, 예를 들어, "변경", "삭제", "추가" 또는 기타 태그로 마크한다. 그러나, 이 시스템에서, 두 장치가 동기화를 시작할 때, 로컬 장치는 적용될 필요가 있는 데이터를 비교한 후에 이들 마커를 메모리에 생성할 수 있다. 또한, 태그가 메모리에서만 추적되기 때문에, 이들 태그는 원격 데이터베이스에는 다른 장치와의 동기화 동안 이용되도록 저장되지 않는다. 다시 말해, 반드시 충돌이 먼저 조정되어야 하고, 그 다음에 속성이 로컬 메모리에서만 마크되어 추적될 수가 있다.Other systems mark the changed attribute with a tag indicating that the change occurred, for example, "change", "delete", "add" or other tag. However, in this system, when two devices start synchronization, the local device can create these markers in memory after comparing the data that needs to be applied. Also, because tags are only tracked in memory, these tags are not stored in the remote database for use during synchronization with other devices. In other words, the conflict must be reconciled first, then the attribute can only be marked and tracked in local memory.

통상, 충돌은 예를 들어 시간-날짜 정보를 제공하는 속성값과 관련되는 메타데이터를 비교하는 것으로 해결될 수 있다. 가장 최근의 시간-날짜 정보가 가장 최근의 정보로 생각되며 이에 따라 속성이 갱신될 수 있다. 시간-날짜 정보를 비교하여 충돌을 해결하는 것은 동기화되는 데이터가 시간-날짜 정보를 포함하지 않을 때 특히 문제가 되며, 이를 저 충실도 데이터로 언급한다. 예를 들어, 많은 소형 컴퓨팅 장치는 물리적 리소스가 제한되므로 데이터 구조 항목의 속성에 대해 시간-날짜 정보를 보유할 수가 없다. 이와 같이, 컴퓨터가 이러한 저 충실도 장치로부터의 데이터를 동기화할 때, 컴퓨터는 사용자가 그 속성을 원래 세트한 때를 알지 못한다. 이것은 컴퓨터가 다른 컴퓨팅 장치로부터의 속성에 동기화하는 것을 방해하고, 또한 "최종 작성자 승리(last-writer-wins)" 해결 논리를 이용해 가장 최근의 속성을 확신있게 고를 수 없게 된다. 또한, 충돌이 존재하지 않는 경우에도, 통상적으로 충돌 해결 프로세스 없이 수신 장치의 속성 변경에 동기화될 방법이 없다. Typically, conflicts can be resolved by comparing metadata associated with an attribute value, for example, providing time-date information. The most recent time-date information is considered to be the most recent information and the attribute can be updated accordingly. Resolving conflicts by comparing time-date information is particularly problematic when the data being synchronized does not contain time-date information, which is referred to as low fidelity data. For example, many small computing devices are limited in physical resources and thus cannot hold time-date information about the attributes of data structure items. As such, when a computer synchronizes data from such a low fidelity device, the computer does not know when the user originally set the attribute. This prevents the computer from synchronizing to attributes from other computing devices, and also makes it impossible to reliably pick the most recent attributes using "last-writer-wins" resolution logic. In addition, even when there is no conflict, there is typically no way to be synchronized to attribute changes of the receiving device without a conflict resolution process.

현재의 동기화 시스템의 상술한 결점은 본 발명에 의해 해결된다. 예를 들어, 장치 간의 데이터를 동기화할 수 있는 분산 컴퓨팅 시스템에서, 이 분산된 컴퓨팅 시스템이 대응하는 시간-날짜 필드가 없는 데이터베이스에 속성을 저장하는 장치를 가질 수 있다. 이러한 경우, 본 발명은 시간-날짜 정보를 데이터베이스의 속성값과 관련시킨다.The above mentioned drawbacks of the current synchronization system are solved by the present invention. For example, in a distributed computing system capable of synchronizing data between devices, this distributed computing system may have a device that stores attributes in a database that does not have a corresponding time-date field. In this case, the present invention associates time-date information with attribute values in a database.

실시예들은 대응하는 시간-날짜 필드 없이 속성을 저장하는 원격 데이터베이스의 원격 속성값에 대응하는 시간-날짜 정보를 식별하는 방법을 제공한다. 식별된 시간-날짜 정보는 분산된 컴퓨팅 시스템의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷된다. 포맷된 시간-날짜 정보는 원격 속성값과 관련되는 필드에 저장하기 위해 원격 데이터베이스에 송신된다.Embodiments provide a method of identifying time-date information corresponding to a remote attribute value of a remote database storing an attribute without a corresponding time-date field. The identified time-date information is formatted in a standard format that can be parsed by the devices of a distributed computing system. The formatted time-date information is sent to the remote database for storage in the field associated with the remote attribute value.

다른 실시예들은 대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장하는 장치를 갖는 분산 컴퓨팅 시스템을 제공한다. 포맷된 시간-날짜 정보는 분산된 컴퓨팅 시스템의 장치에 의해 구문 분석 가능한 표준 포맷으로 수신되고, 이 포맷된 시간-날짜 정보는 속성값과 관련된다. 또한, 포맷된 시간-날짜 정보는 속성값과 관련되는 데이터베이스 필드에 저장되므로 포맷된 시간-날짜 정보는 속성값과 관련되는 데이터 충돌을 해결하는 데에 이용될 수 있다.Other embodiments provide a distributed computing system having an apparatus for storing attributes in a database without a corresponding time-date field. The formatted time-date information is received in a standard format that can be parsed by the devices of the distributed computing system, and the formatted time-date information is associated with an attribute value. In addition, since the formatted time-date information is stored in a database field associated with the attribute value, the formatted time-date information can be used to resolve data conflicts associated with the attribute value.

또 다른 실시예들은 분산된 컴퓨팅 시스템의 장치 간의 데이터 충돌을 해결하는 방법을 제공한다. 원격 속성값이 원격 속성에 대해 수신된다. 또한 대응하는 시간-날짜 필드가 없는 데이터베이스로부터 대응하는 원격 시간-날짜 정보가 수신된다. 원격 시간-날짜 정보는 분산 컴퓨팅 시스템의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷된다. 또한, 원격 값과 대응하는 로컬 속성값 간의 충돌이 검출된다. 원격 시간-날짜 정보는 표준 포맷에 따라 구문 분석되어 원격 속성값이 변경된 때를 나타내는 원격 시간 및 날짜를 식별한다. 또한, 원격 시간 및 날짜는 로컬 시간 및 날짜와 비교되고, 이 로컬 시간 및 날짜는 하나 이상의 로컬 속성값이 변경된 때를 나타낸다. 이 때 충돌은 비교의 결과에 기초하여 해결된다.Still other embodiments provide a method for resolving data conflicts between devices in a distributed computing system. The remote attribute value is received for the remote attribute. Corresponding remote time-date information is also received from a database that does not have a corresponding time-date field. Remote time-date information is formatted in a standard format that can be parsed by the devices of a distributed computing system. In addition, a collision between the remote value and the corresponding local attribute value is detected. The remote time-date information is parsed according to a standard format to identify the remote time and date indicating when the remote attribute value has changed. In addition, the remote time and date are compared with the local time and date, which indicates when one or more local attribute values have changed. The collision is then resolved based on the result of the comparison.

현재의 동기화 시스템의 다른 결점은 본 발명에 의해 해결된다. 예를 들어, 장치 간의 데이터를 동기화할 수 있는 분산 컴퓨팅 시스템에서, 실시예는 원격 장치와 로컬 머신 간의 마지막 속성의 동기화 이후 원격 장치에 대한 속성의 값이 변경되었는지를 판정한다.Another drawback of the current synchronization system is solved by the present invention. For example, in a distributed computing system capable of synchronizing data between devices, an embodiment determines whether the value of an attribute for a remote device has changed since the last attribute synchronization between the remote device and the local machine.

실시예에서, 원격 장치와 로컬 장치 간의 데이터의 동기화 동안, 원격 속성의 현재 값과 원격 속성의 이전값의 원격 표현이 수신된다. 다음에 원격 속성의 현재 값으로부터 원격 속성의 로컬 표현이 생성된다. 따라서, 원격 표현은 로컬 표현과 비교되고, 이 비교에 기초하여, 원격 표현이 생성된 후에 원격 속성의 이전값이 변경되었다고 판정되게 된다.In an embodiment, during the synchronization of data between the remote device and the local device, a remote representation of the current value of the remote attribute and the previous value of the remote attribute is received. Then a local representation of the remote attribute is generated from the current value of the remote attribute. Thus, the remote representation is compared with the local representation, and based on this comparison, it is determined that the previous value of the remote attribute has changed after the remote representation is generated.

다른 실시예에서는, 원격 장치와 로컬 장치 간의 데이터의 동기화 동안에, 원격 속성의 원격 값과 이 원격 속성의 원격 값의 원격 표현이 수신된다. 다음에 원격 속성의 로컬 표현이 원격 속성의 원격 값으로부터 생성된다. 따라서, 원격 표현은 로컬 표현과 비교되고, 이 비교에 기초하여, 원격 표현이 생성된 후에 원격 속성의 원격 값이 변경되지 않았다고 판정되게 된다.In another embodiment, during the synchronization of data between the remote device and the local device, a remote value of the remote attribute and a remote representation of the remote value of the remote attribute are received. Then a local representation of the remote attribute is generated from the remote value of the remote attribute. Thus, the remote representation is compared with the local representation, and based on this comparison, it is determined that the remote value of the remote attribute has not changed after the remote representation is generated.

현재의 동기화 시스템의 또 다른 결점이 본 발명에 의해 해결된다. 예를 들어, 실시예는, 동기 값 간의 충돌을 해결하는 데에 이용되는 시간-날짜 정보를 할당받은 속성값을 선택함으로써 메모리 리소스를 보존한다.Another drawback of the current synchronization system is solved by the present invention. For example, an embodiment conserves memory resources by selecting an attribute value assigned with time-date information used to resolve conflicts between sync values.

실시예는 원격 장치로부터 복수의 속성값을 수신한다. 수신된 복수의 속성값 중에서 제한된 세트의 속성값이 원격 장치의 사용 가능한 리소스에 기초하여 선택되게 된다. 또한, 복수의 속성값에 대응하는 복수의 시간-날짜 정보로부터 시간-날짜 정보의 세트가 식별된다. 제한된 세트의 각 속성값은 시간-날짜 정보의 세트의 다른 부분에 대응하며 제한된 세트 내의 각 속성값이 마지막으로 변경된 때를 나타낸다. 시간-날짜 정보의 다른 부분은 원격 장치의 원격 데이터베이스에 저장된다.An embodiment receives a plurality of attribute values from a remote device. A limited set of attribute values from among the plurality of received attribute values is selected based on available resources of the remote device. Also, a set of time-date information is identified from the plurality of time-date information corresponding to the plurality of attribute values. Each attribute value in the limited set corresponds to a different part of the set of time-date information and indicates when each attribute value in the limited set was last changed. Another part of the time-date information is stored in the remote database of the remote device.

다른 실시예는 제한된 세트의 속성값의 선택이 또한 복수의 속성값의 수정과 관련되는 기록 정보(historical information)에 근거한다. 예를 들어, 기록 정보는 복수의 속성값 각각이 수정되는 횟수일 수 있으며, 이 때 가장 자주 수정된 속성값이 선택될 수 있다. 다르게, 또는 결합하여, 기록 정보는 복수의 속성값에 대한 시간-날짜 정보일 수 있으며, 이 때 가장 최근에 수정된 속성값이 선택될 수 있다.Another embodiment is based on historical information wherein the selection of a limited set of attribute values is also related to the modification of the plurality of attribute values. For example, the record information may be the number of times each of the plurality of attribute values is modified, and the most frequently modified attribute values may be selected. Alternatively, or in combination, the record information may be time-date information for a plurality of attribute values, where the most recently modified attribute value may be selected.

또 다른 실시예는 제한된 세트의 속성값 내에 있지 않는 남은 속성값에 대한 상기한 복수의 시간-날짜 정보로부터의 시간-날짜 정보 부분을 식별하는 것을 제공한다. 이 시간-날짜 정보 부분은 남은 속성값 중 하나 이상이 사용자에 의해 수정된 때에 대응한다. 이 식별된 부분의 시간-날짜 정보는 원격 데이터베이스의 일 위치에 저장되어 이 식별된 부분의 시간-날짜 정보가 하나 이상의 남은 속성값 모두에 대응하게 된다.Yet another embodiment provides for identifying time-date information portions from the plurality of time-date information described above for remaining attribute values that are not within a limited set of attribute values. This time-date information portion corresponds to when one or more of the remaining attribute values have been modified by the user. The time-date information of this identified portion is stored at a location in the remote database such that the time-date information of this identified portion corresponds to all of one or more remaining attribute values.

본 발명의 부가의 특성 및 장점은 이하의 설명에서 기재되며, 일부는 이 설명으로부터 명백하게 되거나, 본 발명의 실행으로 습득될 수 있다. 본 발명의 특성 및 장점은 첨부한 청구범위에서 특정하게 지적된 기구와 조합을 이용하여 실현 및 취득될 수 있다. 본 발명의 이들 및 다른 특성은 이하 설명과 첨부한 청구범위로부터 더욱 완전히 명백하게 되거나, 이하 기술되는 본 발명의 실시에 의해 습득될 수 있다.Additional features and advantages of the invention will be set forth in the description which follows, and in part will be apparent from the description, or may be learned by practice of the invention. The features and advantages of the invention may be realized and obtained using combinations and instruments specifically pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and the appended claims, or may be learned by practice of the present invention described below.

본 발명의 상기 및 다른 장점 및 특성을 취득할 수 있는 방법을 기술하기 위해서, 위에서 간단히 설명한 본 발명을 첨부한 도면에서 도시되는 특정 실시예를 참조하여 더욱 특정하여 설명한다. 이들 도면들이 본 발명의 통상적인 실시예만을 도시할 뿐 그 영역을 제한하는 것으로 고려되어서는 안된다고 이해하고, 본 발명은 첨부한 도면을 이용하여 더욱 특정적으로 상세히 설명될 것이다.BRIEF DESCRIPTION OF THE DRAWINGS In order to describe the above and other advantages and features of the present invention, the present invention described above is described more specifically with reference to the specific embodiments shown in the accompanying drawings. It is understood that these drawings illustrate only typical embodiments of the invention and should not be considered as limiting its scope, and the invention will be described in more detail in detail using the accompanying drawings.

도 1A는 본 발명이 실현될 수 있는 고 충실도 및 저 충실도 장치를 갖는 분산 시스템을 도시한다.1A shows a distributed system having a high fidelity and low fidelity device in which the present invention can be realized.

도 1B는 본 발명의 실시예에 따른 분산 시스템 내의 두 장치 간의 충돌의 검 출을 도시한다.1B illustrates detection of a collision between two devices in a distributed system according to an embodiment of the present invention.

도 2는 본 발명의 실시예에 따라서 저 충실도 장치를 갖는 분산 시스템에서의 시간-날짜 정보의 갱신과 이용을 도시한다.2 illustrates the updating and use of time-date information in a distributed system with low fidelity devices in accordance with an embodiment of the present invention.

도 3은 본 발명의 실시예에 따라서 필드 내의 시간-날짜 정보의 예시적인 표준 포맷을 도시한다.3 illustrates an exemplary standard format of time-date information in a field in accordance with an embodiment of the invention.

도 4는 실시예에 따라서 시간-날짜 정보를 대응하는 시간-날짜 필드 없는 데이터베이스 내의 속성값과 관련시키는 방법의 플로우챠트를 도시한다.4 depicts a flowchart of a method for associating time-date information with attribute values in a database without corresponding time-date fields, in accordance with an embodiment.

도 5는 실시예에 따라서 시간-날짜 정보를 대응하는 시간-날짜 필드 없는 데이터베이스의 속성값으로 수신하여 저장하는 방법의 플로우챠트를 도시한다.FIG. 5 illustrates a flowchart of a method of receiving and storing time-date information as an attribute value of a database without a corresponding time-date field, in accordance with an embodiment.

도 6은 실시예에 따라서 대응하는 시간-날짜 필드 없는 데이터베이스로부터 수신된 시간-날짜 정보를 이용하여 분산 컴퓨팅 시스템의 장치 간의 데이터 충돌을 해결하는 방법의 플로우챠트를 도시한다.6 illustrates a flowchart of a method for resolving data conflicts between devices in a distributed computing system using time-date information received from a database without a corresponding time-date field, in accordance with an embodiment.

도 7은 실시예에 따라서 원격 속성값이 마지막 속성의 동기화 이후에 변경된 때를 판정하는 방법의 플로우챠트를 도시한다.7 illustrates a flowchart of a method for determining when a remote attribute value has changed since synchronization of a last attribute, in accordance with an embodiment.

도 8은 실시예에 따라서 시간-날짜 정보가 할당된 복수의 속성값 중에서 제한된 세트의 속성값을 선택하는 방법의 플로우챠트를 도시한다.8 illustrates a flowchart of a method for selecting a limited set of attribute values from among a plurality of attribute values to which time-date information is assigned according to an embodiment.

도 9는 본 발명에 적합한 운영 환경을 제공하는 예시적인 시스템을 도시한다.9 illustrates an exemplary system that provides an operating environment suitable for the present invention.

본 발명은 대응하는 시간-날짜 필드 없는 데이터베이스에 속성을 저장하는 장치에 대해 시간-날짜 정보를 저장 및 보유하기 위한 방법, 시스템 및 컴퓨터 프로그램 제품으로 확장된다. 또한, 본 발명은 데이터가 원격 장치 상에서 변경될 때를 식별하도록 제공한다. 본 발명은 또한 제한되거나 한정된 메모리 리소스를 보존하기 위해 시간-날짜 정보를 할당받은 제한된 세트의 속성값을 선택하도록 제공한다. 본 발명의 실시예는 이하 더욱 상세히 설명하는 바와 같이, 여러 컴퓨터 하드웨어를 포함하는 특수 목적이나 범용의 컴퓨터를 포함할 수 있다. The invention extends to a method, system and computer program product for storing and retaining time-date information for an apparatus for storing attributes in a database without a corresponding time-date field. The invention also provides for identifying when data is changed on the remote device. The present invention also provides for selecting a limited set of attribute values assigned time-date information to conserve limited or limited memory resources. Embodiments of the present invention may include a general purpose or general purpose computer including various computer hardware, as described in more detail below.

일반적으로, 본 발명은 시간-날짜 정보를 데이터베이스의 속성값과 관련시킬 수 있는 분산 컴퓨팅 시스템을 제공한다. 분산 컴퓨팅 시스템은 대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장하여, 이로써 저 충실도 또는 레가시 (legacy) 장치로 생각되는 장치를 갖는다. 예시적인 시스템은 원격 속성값에 대응하는 시간-날짜 정보가 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 식별되어 포맷될 수 있도록 제공한다. 포맷된 시간-날짜 정보는 원격 속성값과 관련되는 필드에 저장하기 위해 원격 데이터베이스에 송신된다. 포맷된 시간-날짜 정보는 이어서 속성값 간의 충돌을 해결하는 데에 이용될 수 있다.In general, the present invention provides a distributed computing system capable of associating time-date information with attribute values in a database. Distributed computing systems store devices in a database without corresponding time-date fields, thereby having devices that are considered low fidelity or legacy devices. The example system provides that the time-date information corresponding to the remote attribute value can be identified and formatted in a standard format that can be parsed by one or more devices of the distributed computing system. The formatted time-date information is sent to the remote database for storage in the field associated with the remote attribute value. The formatted time-date information can then be used to resolve conflicts between attribute values.

다른 실시예는 원격 장치의 속성값이 원격 장치와 로컬 머신 간의 마지막 속성의 동기화 이후 변경된 때를 판정하도록 제공한다. 또한, 다른 실시예는 원격 장치의 사용 가능한 리소스에 기초하여 복수의 속성값 중에서 제한된 세트의 속성값을 선택하도록 제공한다.Another embodiment provides for determining when an attribute value of a remote device has changed since synchronization of the last attribute between the remote device and the local machine. Further, another embodiment provides for selecting a limited set of attribute values from among a plurality of attribute values based on the available resources of the remote device.

동일한 구조에는 유사하거나 동일한 참조 부호가 제공되어 있는 도면을 이하 참조한다. 도면은 본 발명의 실시예를 개략적으로 나타낸 예일 뿐, 본 발명의 영역을 제한하거나 좁히고자 함이 아니라는 것이 이해될 것이다.Reference is now made to the drawings wherein like structures are provided with similar or identical reference numerals. It is to be understood that the drawings are merely illustrative of the embodiments of the invention and are not intended to limit or narrow the scope of the invention.

도 1A는 분산 컴퓨팅 네트워크(100) 내의 몇개의 노드의 연결 및 시스템 내에서 각 노드가 다른 노드와 동기화되는 방법을 도시한다. 예를 들어, 분산 컴퓨팅 시스템(100)에서 나타낸 바와 같이, 작업 컴퓨터(105)는 이메일 서버(110), PDA(115), 이동 전화(120) 및 인스턴스 메시지 서버(125)와 같은 몇가지 여러 장치와 동기화될 수 있다. 이러한 분산 컴퓨팅 시스템(100) 내에서 데이터를 동기화하려는 목적은 가장 최근의 정보가 한명 이상의 사용자에 의해 이용되는 모든 장치에 제공되는 것을 확실히 하고자 하는 것이다.1A illustrates the connection of several nodes in distributed computing network 100 and how each node is synchronized with other nodes in the system. For example, as shown in distributed computing system 100, work computer 105 may be associated with several different devices, such as email server 110, PDA 115, mobile phone 120, and instance message server 125. Can be synchronized. The purpose of synchronizing data within such distributed computing system 100 is to ensure that the most recent information is provided to all devices utilized by one or more users.

동기화되는 데에 필요한 데이터는 예를 들어, 각 항목이 개별의 사람, 회사, 법인, 또는 기타 유사한 컨택트에 관한 정보에 대응하고 있는 컨택트 정보일 수 있다. 각 컨택트 항목과 관련되는 속성의 예로는 이름, 중간 이름, 성, 회사 이름, 주소, 전화 번호, 이메일 주소, 웹사이트 정보 등이다. 그러나, 로컬 데이터는 컨택트 정보 이외의 정보일 수 있다는 것이 인식될 것이다. 예를 들어, 로컬 데이터는 캘린더 및/또는 스케줄링 정보, 파일, 어플리케이션 또는 두 장치 간에서 동기화되는 데에 필요한 기타 정보일 수 있다. 따라서, 컨택트 정보의 참조는 오직 설명의 목적으로 이용되는 것이지, 명시적으로 청구된 것을 제외하고 본 발명의 영역을 제한하거나 좁히고자 하는 것이 아니다.The data needed to be synchronized may be, for example, contact information where each item corresponds to information about an individual person, company, corporation, or other similar contact. Examples of attributes associated with each contact item are first name, middle name, last name, company name, address, telephone number, email address, and website information. However, it will be appreciated that local data may be information other than contact information. For example, local data may be calendar and / or scheduling information, files, applications or other information needed to be synchronized between the two devices. Thus, the reference of contact information is used for illustrative purposes only, and is not intended to limit or narrow the scope of the invention except as expressly claimed.

작업 컴퓨터(105)와 유사하게, 가정용 랩톱(130)은 인스턴스 메시지 서버(125), 이동 전화(120), PDA(115), 및 이메일 서버(110) 사이에서 동기화될 수 있다. 분산 컴퓨팅 시스템(100)은 저 충실도의 장치 (예를 들어, 데이터베이스가 속성의 시간-날짜 정보를 저장할 수 없는 장치) 및 고 충실도의 장치로 이루어질 수 있다. 이것은 이상적으로 모든 데이터베이스가 사용자가 속성을 수정한 마지막 시간을 나타내기 위해서 항목의 각 속성에 대해 시간-날짜 정보를 가지고 있기 때문에 고려하는 것이 중요하다. 이러한 경우에는, 동기 어댑터가 "최종 작성자 승리" 규칙을 이용해 마지막 시간-날짜 정보가 승리자가 되게 할 수 있다. 이것은 루핑 문제를 해결하여 (분산된 컴퓨팅 시스템(100) 내에서 이용되는 클럭이 또한 동기화되어 있다면) 결과적으로 최상의 속성이 각 충돌에서 승리하게 한다. 많은 분산 컴퓨팅 시스템(100)이 이러한 시간-날짜 정보를 저장하기 위한 메모리 리소스가 제한된 최소한의 저 충실도 또는 레가시 클라이언트로 구성되기 때문에, 그리고 이러한 레가시 클라이언트를 지원하는 것을 원하고 있기 때문에, 무한한 동기 루프의 가능성을 방지하면서 장치 간의 충돌을 해결하는 다른 방법의 필요성이 대두되고 있다.Similar to the work computer 105, the home laptop 130 may be synchronized between the instance message server 125, the mobile phone 120, the PDA 115, and the email server 110. Distributed computing system 100 may be comprised of devices of low fidelity (eg, devices in which databases cannot store time-date information of attributes) and devices of high fidelity. This is important to consider because ideally all databases have time-date information for each attribute in the item to indicate the last time the user modified the attribute. In this case, the sync adapter can use the "final author win" rule to make the last time-date information the winner. This solves the looping problem (if the clocks used in the distributed computing system 100 are also synchronized), resulting in the best attributes winning each conflict. Because many distributed computing systems 100 are configured with a minimal low-fidelity or legacy client with limited memory resources for storing such time-date information, and because they want to support such legacy clients, There is a need for another method of resolving conflicts between devices while avoiding the possibility.

도 1B는 원격 장치(116) (이동 전화(120) 또는 PDA(115) 등) 및 로컬 머신(132) (가정용 랩톱(130) 또는 작업 컴퓨터(105) 등)을 갖는 분산 컴퓨팅 네트워크(100)의 일부를 도시한다. 도시된 바와 같이, 원격 장치(116)는 원격 장치(116)와 로컬 머신(132) 간의 마지막 동기화 이후의 시점에서 속성값을 A에서 B로 변경한다. 유사하게, 로컬 머신(132)은 동일한 속성값을 두 장치(116, 132) 간의 마지막 동기화 이후에 A에서 C로 변경한다. 이와 같이, 원격 장치(116)는 속성의 B 값이 로컬 머신(132)으로 하향 동기화되어야 하는 것을 나타내는 요구 동기 화살표(135) 를 가진다. 유사하게, 로컬 머신(132)은 C 값이 원격 장치(115)로 상향 동기화되어야 한다는 것을 나타내는 요구 동기 화살표(140)를 갖는다. 두 장치(116, 132)가 각각 속성값을 하향 및 상향 동기화하는 요구 동기 화살표를 가지고 있기 때문에, 충돌이 초래될 수 있다.1B illustrates a distributed computing network 100 having a remote device 116 (such as mobile phone 120 or PDA 115) and a local machine 132 (such as a home laptop 130 or work computer 105). Shows some. As shown, the remote device 116 changes the attribute value from A to B at the time after the last synchronization between the remote device 116 and the local machine 132. Similarly, the local machine 132 changes the same attribute value from A to C after the last synchronization between the two devices 116, 132. As such, remote device 116 has a request sync arrow 135 indicating that the B value of the attribute should be down-synchronized to local machine 132. Similarly, the local machine 132 has a request sync arrow 140 indicating that the C value should be up synchronized to the remote device 115. Since the two devices 116, 132 each have a request sync arrow to downlink and uplink the attribute values, a collision may result.

상술된 바와 같이, 통상적으로 도 1B에서 나타낸 것과 같은 충돌은 속성값과 관련되는 시간-날짜 정보의 비교로 해결될 수 있다. 그러나, 시간-날짜 정보를 비교하는 것에 의해 충돌을 해결하는 것은 저 충실도 장치의 경우에서와 같이, 동기화된 데이터가 시간-날짜 정보를 포함하지 않을 때 특히 문제가 되게 된다. 이것은 컴퓨터가 다른 컴퓨팅 장치로부터의 속성과 동기화되지 못하게 하여 "최종 작성자 승리" 해결 논리를 이용해 가장 최근의 속성을 고를 수 없게 한다. 또한, 저 충실도 장치에 관한 다른 관련 문제는 속성이 변경된 때를 식별할 방법이 없다는 것이다. 따라서, 시간-날짜 정보가 저 충실도 데이터와 관련될 수 있다고 하더라도, 저 충실도 장치에서 속성이 변경되었을 수 있기 때문에, 이러한 정보나 시간-날짜 정보는 잠재적으로 신뢰할 수 없다.As mentioned above, a conflict, typically as shown in FIG. 1B, can be resolved by comparison of time-date information associated with the attribute value. However, resolving conflicts by comparing time-date information becomes particularly problematic when synchronized data does not contain time-date information, as in the case of low fidelity devices. This prevents the computer from synchronizing with attributes from other computing devices, making it impossible to select the most recent attributes using the "final writer win" resolution logic. In addition, another related problem with low fidelity devices is that there is no way to identify when an attribute has changed. Thus, even if time-date information may be associated with low fidelity data, such information or time-date information is potentially unreliable because the attribute may have changed in the low fidelity device.

현재의 분산 컴퓨팅 네트워크의 상술한 결점은 본 발명의 실시예로 해결된다. 예를 들어, 본 발명은 장치가 대응하는 시간-날짜 필드 없이 속성을 저장하는 경우 (즉, 저 충실도 장치), 시간-날짜 정보를 데이터베이스의 속성값과 관련시키도록 제공한다. 또한, 본 발명은 원격 장치가 저 충실도 장치인 경우에도, 원격 장치의 속성의 값이 마지막 속성의 동기화 이후에 변경된 때를 판정하도록 제공한다.The aforementioned drawbacks of current distributed computing networks are addressed with embodiments of the present invention. For example, the present invention provides for associating time-date information with attribute values in a database if the device stores the attribute without the corresponding time-date field (ie, low fidelity device). The present invention also provides for determining when the value of an attribute of the remote apparatus has changed since synchronization of the last attribute, even if the remote apparatus is a low fidelity apparatus.

도 2는 본 발명의 실시예에 따라서 저 충실도 장치의 시간-날짜 정보를 생성, 이용하여 갱신할 수 있는 시스템을 갖는 분산 컴퓨팅 네트워크(200)를 도시한다. 분산 컴퓨팅 시스템(200)은 두 개의 고 충실도 머신, 즉 로컬 머신(210) 및 원격 머신(220)을 포함한다. 또한 분산 컴퓨팅 시스템(200) 내에는 저 충실도 장치, 즉 원격 장치(205)가 포함되어 있다. 원격 장치(205)는 원격 장치(205)와 관련되는 데이터베이스가 각 속성에 시간-날짜 정보를 저장할 수 없다는 점에서 저 충실도이다. 즉, 원격 장치(205)는 대응하는 시간-날짜 필드가 없이 자신의 데이터베이스에 속성들을 저장한다.2 illustrates a distributed computing network 200 having a system capable of generating, using and updating time-date information of low-fidelity devices in accordance with embodiments of the present invention. Distributed computing system 200 includes two high fidelity machines, local machine 210 and remote machine 220. Also included in the distributed computing system 200 is a low fidelity device, or remote device 205. The remote device 205 is low fidelity in that the database associated with the remote device 205 cannot store time-date information in each attribute. That is, the remote device 205 stores the attributes in its database without a corresponding time-date field.

원격 장치(205)는 그 데이터베이스에 속성에 대한 시간-날짜 필드를 가지지 않지만, 실시예는 원격 장치(205)에서 시간-날짜 정보를 속성값과 관련시키고, 원격 장치(205)가 시간-날짜 정보를 사용하지 않는 필드 내에서 표준 포맷으로 저장할 수 있도록 제공한다. 예를 들어, 로컬 머신(210)은 원격 장치(205)의 데이터베이스의 원격 속성값에 대응하는 시간-날짜 정보를 식별할 수 있다. 식별된 시간-날짜 정보는 다음에 분산 컴퓨팅 시스템(200) 내의 몇 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷될 수 있다. 표준 포맷은 예를 들어, 유니폼 리소스 식별자(URI)일 수 있다. 예를 들어, URI는 속성을 식별하고 각 속성과 관련되는 식별된 시간-날짜 정보를 포함하는 동기 유니폼 리소스 로케이터(URL)의 형태일 수 있다. 도 3과 관련하여 이하 더욱 상세히 설명하는 바와 같이, 이 동기 URL 포맷은 많은 장치에 의해 용이하게 식별 가능하며 구문 분석 가능하기 때문에 바람직하여, 표준 포맷으로서 이상적이다.The remote device 205 does not have a time-date field for the attribute in its database, but the embodiment associates the time-date information with the attribute value at the remote device 205, and the remote device 205 has time-date information. Provides for saving in standard format within fields that do not use. For example, local machine 210 may identify time-date information corresponding to remote attribute values in the database of remote device 205. The identified time-date information can then be formatted in a standard format that can be parsed by several devices in distributed computing system 200. The standard format may be, for example, a uniform resource identifier (URI). For example, the URI may be in the form of a synchronous uniform resource locator (URL) that identifies the attributes and includes the identified time-date information associated with each attribute. As described in more detail below with respect to FIG. 3, this sync URL format is preferred because it is easily identifiable and parseable by many devices and is therefore ideal as a standard format.

로컬 머신(210)은 포맷된 시간-날짜 정보를 원격 장치(205)에 송신하며, 이것은 원격 속성값과 관련되는 필드에 저장되게 된다. 예를 들어, 도 2에 나타낸 바와 같이, 로컬 머신(210)은 원격 장치(205)와 동기화될 때 시간-날짜 (T/D) 정보와 갱신된 속성을 갖는 항목 1(215)을 송신한다. 그러면, 원격 장치(205)는 시간-날짜 정보를 포함하는 항목 1(215)을 저장한다. 포맷된 시간-날짜 정보는 원격 장치(205) 상의 사용하지 않는 속성 필드에 저장된다. 예를 들어, 원격 장치(205)는 포맷된 시간-날짜 정보를 통상의 속성, 숨겨진 속성, 개인적 확장 속성, 또는 노트 필드(note field)의 말단에 첨부한 것에 저장할 수 있다. 다른 정보가 속성 필드 (예를 들어, 노트 필드의 텍스트)에 저장될 수는 있지만, 본 발명은 필드가 시간-날짜 정보를 저장하기 위해 보유된 것이 아니기 때문에 이 필드를 미사용으로 언급하는 것에 유의해야 한다. 따라서, 용어 "미사용" 속성 필드의 이용은 시간-날짜 정보를 저장하기 위해 보유되지 않은 속성 필드를 포괄하는 것으로 광범위하게 해석되어야 한다.The local machine 210 sends the formatted time-date information to the remote device 205, which is to be stored in a field associated with the remote attribute value. For example, as shown in FIG. 2, local machine 210 transmits item 1 215 with time-date (T / D) information and updated attributes when synchronized with remote device 205. Remote device 205 then stores item 1 215 including time-date information. The formatted time-date information is stored in an unused attribute field on the remote device 205. For example, the remote device 205 may store the formatted time-date information in the normal attribute, hidden attribute, personal extension attribute, or attachment attached to the end of the note field. Note that although other information may be stored in an attribute field (e.g., text in a note field), the present invention refers to this field as unused because the field is not reserved for storing time-date information do. Thus, the use of the term "unused" attribute field should be construed broadly to encompass attribute fields that are not reserved for storing time-date information.

실시예는 포맷된 시간-날짜 정보가 충돌을 해결하거나, 속성이 변경된 때를 식별하는 등과 같은 몇가지 다른 목적에 이용될 수 있도록 제공한다. 예를 들어, 동기화는 원격 장치(205)와 원격 머신(220) 사이에서 초기화된다. 따라서, 항목 1(215)은 속성과 포맷된 시간-날짜 정보를 가지고 원격 머신(220)에 송신될 수 있다. 시간-날짜 정보의 포맷팅은 표준 구문 분석 가능 포맷으로 되어 있기 때문에, 원격 머신(220)은 원격 시간-날짜 정보를 구문 분석하여 각 속성과 관련되는 원격 시간 및 날짜 정보를 식별할 수 있다. 이 원격 시간 및 날짜 정보는 속성값 간의 충돌을 해결할 때 원격 머신(220)의 시간-날짜 정보와 비교될 수 있다.Embodiments provide that the formatted time-date information can be used for several other purposes, such as resolving conflicts, identifying when an attribute has changed, and the like. For example, synchronization is initiated between remote device 205 and remote machine 220. Thus, item 1 215 may be sent to remote machine 220 with attributes and formatted time-date information. Because the formatting of the time-date information is in a standard parseable format, the remote machine 220 can parse the remote time-date information to identify remote time and date information associated with each attribute. This remote time and date information can be compared with the time-date information of the remote machine 220 when resolving conflicts between attribute values.

다른 실시예는 속성이 원격 머신(205)에서 변경된 때를 검출하도록 제공한다. 예를 들어, 항목 1(215) 내의 포맷된 시간-날짜 정보는 시간-날짜 정보의 각 세그먼트 내에서 로컬 머신(210)과 마지막으로 동기화된 속성값의 표현을 포함할 수 있다. 이 표현은 예를 들어, 시간-날짜 정보와 관련되는 마지막으로 동기화된 속성값의 해시(hash)인 해시의 형태로 되어 있다. 원격 머신(220)이 동기화를 위해 항목 1(215)을 수신하면, 수신된 항목 1(215) 내의 속성은 또한 마지막으로 동기화된 속성값을 해시하는 데에 이용되는 동일한 표준 해시 함수를 이용하여 해시될 수 있다. 이용될 수 있는 표준 해시 함수는 이에만 제한되는 것은 아니지만 SHA-1, MD5 또는 기타 유사한 해시 함수를 포함한다. Another embodiment provides for detecting when an attribute has changed at the remote machine 205. For example, the formatted time-date information in item 1 215 may include a representation of attribute values last synchronized with the local machine 210 in each segment of time-date information. This representation is in the form of a hash, for example, a hash of the last synchronized attribute value associated with the time-date information. When the remote machine 220 receives the item 1 215 for synchronization, the attributes in the received item 1 215 are also hashed using the same standard hash function that is used to hash the last synchronized attribute value. Can be. Standard hash functions that can be used include, but are not limited to, SHA-1, MD5 or other similar hash functions.

포맷된 시간-날짜 정보 내의 해시 값은 원격 머신(220)에 의해 생성된 해시 값과 비교된다. 이 값들이 일치하지 않으면, 시간-날짜 정보와 관련되는 속성값이 원격 장치(205)에서 변경되었다고 추론할 수 있다. 따라서, 시간-날짜 정보는 잠재적으로 신뢰할 수 없고, 따라서 원격 머신(220)에 의해 폐기될 수도 있다. 이 경우, 시간-날짜 정보를 잠재적으로 신뢰할 수 없기 때문에, 충돌을 해결하기 위해서 사용자에게 사용자 인터페이스가 제공될 수 있다. 물론, 충돌을 해결하는 다른 방법을 또한 이 산업 분야에서 잘 알려진 표준 실행으로 사용 가능할 수도 있다.The hash value in the formatted time-date information is compared with the hash value generated by the remote machine 220. If these values do not match, it can be inferred that the attribute value associated with the time-date information has been changed at the remote device 205. Thus, time-date information is potentially unreliable and therefore may be discarded by remote machine 220. In this case, since the time-date information is potentially unreliable, a user interface may be provided to the user to resolve the conflict. Of course, other ways of resolving conflicts may also be available with standard practices well known in the industry.

변경이 원격 장치(205)에서 발생한 때를 판정하기 위해서 상기와 같은 속성값의 해시나 표현의 이용은 포맷된 시간-날짜 정보에 제한되지 않는다는 것에 주지해야 한다. 예를 들어, 속성값이 변경된 때를 판정하기 위한 속성 표현의 비교는 시간-날짜 정보 없이 이용될 수 있다. 이러한 경우는 원격 머신(220) 상에 저장된 속성의 값을 비교할 필요없이, 속성이 원격 장치(205)로부터 하향 동기화되어야 할 때를 결정할 때에 유용하다. 따라서, 동기 URL 또는 포맷된 시간-날짜 정보 내의 해시나 원격 속성 표현을 이용하는 것은 오직 설명의 목적을 위한 것이지, 명시적으로 청구되지 않는 한 본 발명의 영역을 제한하거나 좁히고자 하는 것은 아니다. Note that the use of such a hash or representation of attribute values to determine when the change occurred at the remote device 205 is not limited to formatted time-date information. For example, a comparison of attribute representations to determine when attribute values have changed may be used without time-date information. This case is useful in determining when an attribute should be down-synchronized from the remote device 205 without having to compare the value of the attribute stored on the remote machine 220. Thus, the use of a hash or remote attribute representation in a synchronous URL or formatted time-date information is for illustrative purposes only and is not intended to limit or narrow the scope of the present invention unless expressly claimed.

도 3은 시간-날짜 정보가 원격 장치(205)에서 포맷되어 저장될 수 있는 방법을 도시한다. 도 3에 나타낸 바와 같이, 항목(355)은 컨택트의 여러 필드를 가지며, 이들은 속성에 대한 속성 식별자, 속성 이름 및 초기값을 포함한다. 물론, 보유된 시간-날짜 속성 필드를 제외하고, 기타 항목, 속성, 필드 등도 사용 가능하다. 따라서, 항목(355) 컨택트 정보 및 그 내의 필드의 언급은 오직 설명을 위한 것이지, 명시적으로 청구되고 있지 않는 한 본 발명의 영역을 제한하거나 좁히고자 하는 것은 아니다.3 illustrates how time-date information may be formatted and stored at the remote device 205. As shown in FIG. 3, item 355 has several fields of contacts, which include an attribute identifier, attribute name, and initial value for the attribute. Of course, other items, attributes, fields, etc. are available except for the retained time-date attribute fields. Thus, reference to item 355 contact information and fields therein is for illustrative purposes only and is not intended to limit or narrow the scope of the invention unless explicitly claimed.

또한 도 3에서 나타낸 바와 같이, 포맷된 시간-날짜 정보는 속성 필드(375)에 필드 값(350)으로서 저장될 수 있다. 실시예는 포맷팅이 필드(350)에서 나타낸 바와 같이 동기 URL의 형태로 되어 있는 것을 제공한다. 필드(350)의 구문 분석 부분의 확대도를 도 3에서 또한 나타낸다. 필드(350)의 제1 부분은 동기 URL(305)를 포함한다. 이 부분은 항목(355)을 스캐닝하고 있는 장치에게 동기 URL의 다음 세그먼트가 항목(355) 내의 여러 속성에 대한 시간-날짜 정보를 포함한다는 것을 식별해준다. 동기 URL(305)에 통상 로케이터 정보로 보유되는 위치 홀더(315)는 사용될 수도 있고 사용되지 않을 수도 있다.Also, as shown in FIG. 3, the formatted time-date information may be stored as field value 350 in attribute field 375. The embodiment provides that the formatting is in the form of a sync URL as shown in field 350. An enlarged view of the parsed portion of field 350 is also shown in FIG. 3. The first portion of field 350 includes a sync URL 305. This part identifies to the device scanning item 355 that the next segment of the sync URL contains time-date information for the various attributes in item 355. The location holder 315, which is usually held as locator information in the sync URL 305, may or may not be used.

다음 세그먼트 각각은 앰퍼샌드(ampersand)(340)로 분리될 수 있으며 속성 ID, 예를 들어 속성값(310)으로 식별될 수 있다. 또한 필드(350) 내의 동기 URL(305)의 각 세그먼트 내에는 속성 ID와 관련되는 시간-날짜 정보가 포함되어 있다 (예를 들어, time_date_1(330)은 Prop ID_1)과 관련됨). 실시예에서, 메모리 리소스를 보존하기 위해 시간-날짜 정보의 간단한 표현이 이용될 수 있다. 예를 들어, 시간-날짜 정보는 16진수로 저장될 수 있다. 더욱 공간을 줄이기 위해서, 시간-날짜 정보는 또한 더 낮은 해상도로 저장될 수도 있다. 예를 들어, 시간-날짜 값은 통상 1/1000초까지 저장된다. 그러나, 실시예는 포맷된 시간-날짜 정보 또는 동기 URL을 시간-날짜 값이 초까지 또는 분까지 저장되게 생성하도록 제공한다. 부가하여, 실시예는 시간-날짜 정보가 시간대(time zone)에 상관없이 저장될 수 있다. 따라서, 이것은 동기 토폴로지(sync topology)의 노드들이 상이한 시간대에 있을 때 비교 가능한 시간을 허용할 것이다.Each of the following segments may be separated by an ampersand 340 and identified by an attribute ID, for example, an attribute value 310. Also included in each segment of sync URL 305 in field 350 is the time-date information associated with the attribute ID (eg, time_date_1 330 is associated with Prop ID_1). In an embodiment, a simple representation of time-date information may be used to conserve memory resources. For example, time-date information may be stored in hexadecimal. To further save space, time-date information may also be stored at a lower resolution. For example, time-date values are typically stored up to 1/1000 second. However, embodiments provide for generating formatted time-date information or sync URLs so that time-date values are stored up to seconds or minutes. In addition, embodiments may store time-date information regardless of time zone. Thus, this will allow for a comparable time when the nodes of the sync topology are in different time zones.

또한 동기 URL(305)의 각 세그먼트 내에는 속성 표현, 예를 들어 속성 표현(320)이 제공된다. 실시예는 속성 표현(320)이 상술한 바와 같이, 속성값이 속성 표현(320)이 생성되고 나서 변경되었는지를 판정하는 데에 있어 이용될 수 있는 해시의 형태로 되어 있다. 이것은 시간-날짜 정보(330)가 잠재적으로 신뢰할 수 없는지 여부를 나타낸다.Also within each segment of the sync URL 305 is an attribute representation, for example an attribute representation 320. The embodiment is in the form of a hash where the attribute representation 320 can be used to determine whether an attribute value has changed since the attribute representation 320 was created, as described above. This indicates whether time-date information 330 is potentially unreliable.

노트 필드와 같은 몇몇 필드를 제외하고, 포맷된 시간-날짜 정보를 저장하는 데에 사용 가능한 메모리는 제한적이다. 이와 같이, 각각의 모든 속성에 대한 시간-날짜 정보를 저장하기 위한 메모리는 사용 불가능하거나 비실용적일 수 있다. 따라서, 본 발명은 항목(355) 내의 총 개수의 속성값 중에서 제한된 세트의 속성값을 결정하고 선택하는 것을 제공한다. 본 발명의 동기 URL(305) 내에서의 시간-날짜 정보를 포함하는 속성값은 여러 가지를 고려하여 선택될 수 있다. 예를 들어, 이 선택은 가장 최근에 변경된 속성값에 기초할 수 있다. 다르게, 동기 URL(305) 내에서의 관련 시간-날짜 정보 또는 포맷된 시간-날짜 정보를 갖도록 선택된 속성값은 특정 속성값의 변경 횟수와 같은 발견적 데이터에 근거할 수 있다. 물론, 시간-날짜 정보와 관련되도록 속성값을 선택하는 다른 여러 방법들이 또한 제공된다. 따라서, 속성이 선택되는 방법, 예를 들어, 가장 최근에 변경된 속성을 이용하는 것은 오직 설명의 목적을 위한 것이지, 명시적으로 청구되고 있는 것이 아니면 본 발명의 영역을 제한하거나 좁히고자 하는 것은 아니다.With the exception of some fields, such as note fields, the memory available for storing formatted time-date information is limited. As such, the memory for storing time-date information for each and every attribute may be unavailable or impractical. Accordingly, the present invention provides for determining and selecting a limited set of attribute values from the total number of attribute values in item 355. The attribute value including the time-date information in the synchronization URL 305 of the present invention may be selected in consideration of various things. For example, this selection may be based on the most recently changed attribute value. Alternatively, an attribute value selected to have relevant time-date information or formatted time-date information within sync URL 305 may be based on heuristic data, such as the number of changes of a particular attribute value. Of course, several other ways of selecting attribute values to be associated with time-date information are also provided. Thus, the manner in which the attributes are selected, for example, using the most recently changed attributes, is for illustration purposes only and is not intended to limit or narrow the scope of the invention unless explicitly claimed.

공간을 고려하여, 통상적으로 시간-날짜 정보가 관련될 속성의 서브세트가 선택되는 것이 요구되기 때문에, 본 발명은 축소된 공간 내에서, 시간-날짜 정보를 속성에 관련시킬 뿐만 아니라, 마지막 동기화 이후 다른 속성들이 변경되었는지 여부를 판정한다. 예를 들어, 본 발명은 축소된 포맷으로 나머지 속성을 표현하고 이 표현에 대해 상한 및/또는 하한 시간-날짜 정보를 결합시키도록 제공한다. 예를 들어, 도 3에 나타낸 바와 같이, 필드(350)의 동기 URL(305)의 말단에 나머지 값(rest value)을 갖고 있는 속성 식별자(360)를 갖는 세그먼트가 첨부된다. 속성 식별자(360)는 동기 URL(305)을 스캐닝하고 있는 장치에게, 관련된 특정 시간-날짜 정보를 갖지 않는 속성이 이 세그먼트에서 제시된다는 것을 알려준다. 따라서, 남은 속성값의 속성 표현(365)을 이용할 수 있다.In view of space, the invention typically requires that a subset of the attributes to be associated with the time-date information is selected, so that the present invention not only relates the time-date information to the attributes within the reduced space, but also after the last synchronization. Determine whether other attributes have changed. For example, the present invention provides for representing the remaining attributes in a reduced format and combining upper and / or lower time-date information for this representation. For example, as shown in FIG. 3, a segment having an attribute identifier 360 having a rest value is attached to the end of the sync URL 305 of the field 350. The attribute identifier 360 informs the device that is scanning the sync URL 305 that an attribute is presented in this segment that does not have specific time-date information associated with it. Thus, an attribute representation 365 of the remaining attribute values can be used.

상술한 다른 속성 표현, 예를 들어 속성 표현(320)과 같이, 나머지 속성값에 대한 속성 표현(365)도 모든 남은 속성값의 해시 형태로 되어 있다. 이와 같이, 이 속성 표현(365)은 남은 속성값 중 하나 이상이 원격 머신과 로컬 머신 간의 마지막 동기화 이후 변경된 때를 식별하기 위해 상술한 속성 표현과 유사한 방식으로 이용되게 된다. 다른 실시예는 또한 시간-날짜 정보(370)가 나머지 속성과 관련될 수 있어 남은 속성값이 변경된 때에 대해 상한 및/또는 하한을 부여하도록 제공한다.As with the other attribute representations described above, for example attribute representation 320, the attribute representation 365 for the remaining attribute values is in the form of a hash of all remaining attribute values. As such, this attribute representation 365 will be used in a manner similar to that described above to identify when one or more of the remaining attribute values have changed since the last synchronization between the remote machine and the local machine. Another embodiment also provides that time-date information 370 can be associated with the remaining attributes to impose an upper and / or lower limit for when the remaining attribute value has changed.

나머지 세그먼트가 동기 URL의 추가 세그먼트로 기술되어 있지만, 이 나머지 세그먼트는 그 자신의 필드에서 포맷될 수 있다는 것이 이해될 것이다. 예를 들어, 공간이나 메모리가 보존될 필요가 있는 경우, 나머지 세그먼트는 전체 항목(355) 내의 하나 이상의 속성이 변경된 때를 식별하는 데에 이용될 수 있다. 따라서, 동기 URL(305)의 말단에 첨부된 나머지 세그먼트의 이용은 오직 설명의 목적을 위한 것이지, 명시적으로 청구되고 있지 않는 한 본 발명의 영역을 제한하거나 좁히고자 하는 것은 아니다.Although the remaining segments are described as additional segments of the sync URL, it will be appreciated that these remaining segments can be formatted in their own field. For example, if space or memory needs to be preserved, the remaining segments may be used to identify when one or more attributes in the entire item 355 have changed. Thus, the use of the remaining segments appended to the end of the sync URL 305 is for illustrative purposes only and is not intended to limit or narrow the scope of the invention unless explicitly claimed.

본 발명은 또한 기능적 단계 및/또는 비기능적 동작을 포함하는 방법적인 면에서 기재되었다. 본 발명을 실행하는 데에 있어 실행될 수 있는 단계와 동작을 이하 설명한다. 통상, 기능적 단계는 달성되는 결과 면에서 본 발명을 설명하지만, 비기능적 동작은 특정 결과를 성취하기 위한 더욱 특정한 행동을 설명하는 것이다. 기능적 단계와 비기능적 동작이 특정 순서로 기재되거나 청구되고 있지만, 본 발명은 특정 순서나 조합의 동작 및/또는 단계로 반드시 제한될 필요는 없다. 또한, 청구범위 기재시 및 이하의 도 4 내지 도 8의 플로우챠트 설명에서 동작 및/또는 단계를 이용하는 것은 이러한 용어의 원하는 특정 이용을 나타내고자 하는 것이다.The invention has also been described in terms of methods, including functional steps and / or non-functional operations. The steps and operations that can be performed in practicing the present invention are described below. Typically, functional steps describe the invention in terms of the results achieved, but non-functional operations describe more specific actions to achieve a particular result. Although functional steps and non-functional actions are described or claimed in a particular order, the invention is not necessarily limited to the actions and / or steps of a particular order or combination. In addition, when describing the claims and using the operations and / or steps in the flow chart descriptions of FIGS. 4 to 8 below, it is intended to indicate the desired specific use of such terms.

도 4 내지 도 8은 본 발명의 여러 실시예의 플로우챠트를 설명한다. 도 4 내지 도 8의 예시적인 설명은 때로는 도 1B, 도 2 및 도 3의 대응 소자를 말하는 것이다. 이들 도면의 특정 소자를 언급하고 있지만, 이 소자는 오직 설명의 목적으로 이용되는 것이지, 명시적으로 청구되고 있지 않는 한 본 발명의 영역을 제한하거나 좁히고자 하는 것은 아니다.4-8 illustrate flowcharts of various embodiments of the present invention. The exemplary description of FIGS. 4-8 sometimes refers to the corresponding elements of FIGS. 1B, 2 and 3. Although specific elements in these figures are mentioned, these elements are used for descriptive purposes only and are not intended to limit or narrow the scope of the invention unless explicitly claimed.

도 4는 대응하는 시간-날짜 필드 없이 속성을 저장하는 원격 데이터베이스 내의 속성값과 시간-날짜 정보를 관련시키는 방법(400)의 예시적인 플로우챠트를 도시한다. 방법(400)은 시간-날짜 정보를 식별하는 동작(405)을 포함한다. 시간-날짜 정보는 원격 데이터베이스의 하나 이상의 속성값에 대응하게 된다. 방법(400)은 또한 식별된 시간-날짜 정보를 포맷팅하는 동작(410)을 포함한다. 시간-날짜 정보는 분산 컴퓨팅 시스템(200) 내에서 하나 이상의 장치(210, 220)에 의해 구문 분석 가능한 표준 포맷으로 포맷된다. 표준 포맷팅은 동기 URL(305)와 같은 URI일 수 있다. 동기 URL(305)는 앰퍼샌드(340)에 의해 분리된 세그먼트로 구문 분석된다. 각 세그먼트는 속성 식별자(310), 속성값(320)의 표현 및 속성값에 대응하는 시간-날짜 정보(330)의 표현을 포함한다. 실시예는 속성값(320)의 표현이 특정 속성값의 해시일 수 있도록 제공한다. 또한, 시간-날짜 정보의 표현은 16진수일 수 있고/있거나 초단위 또는 분단위까지 및/또는 시간대 독립 포맷(time zone independent format)으로 저장될 수 있다.4 shows an exemplary flowchart of a method 400 for associating time-date information with attribute values in a remote database that stores attributes without a corresponding time-date field. The method 400 includes an operation 405 for identifying time-date information. The time-date information will correspond to one or more attribute values of the remote database. The method 400 also includes an operation 410 for formatting the identified time-date information. The time-date information is formatted in a standard format that can be parsed by one or more devices 210, 220 within the distributed computing system 200. Standard formatting may be a URI, such as a synchronous URL 305. The sync URL 305 is parsed into segments separated by ampersands 340. Each segment includes an attribute identifier 310, a representation of the attribute value 320, and a representation of time-date information 330 corresponding to the attribute value. An embodiment provides that the representation of attribute value 320 may be a hash of a particular attribute value. In addition, the representation of time-date information may be hexadecimal and / or stored in seconds or minutes and / or in time zone independent format.

방법(400)은 또한 포맷된 시간-날짜 정보를 송신하는 동작(420)을 포함한다. 예를 들어, 포맷된 시간-날짜 정보는 원격 속성값과 관련되는 필드(350)에 저장하기 위해 원격 데이터베이스에 송신될 수 있다. 필드(350)는 예를 들어, 노트 필드, 숨겨진 속성, 개인적 확장 속성, 또는 기타 유사한 미사용 필드일 수 있다.The method 400 also includes an operation 420 of transmitting the formatted time-date information. For example, formatted time-date information may be sent to a remote database for storage in field 350 associated with the remote attribute value. Field 350 may be, for example, a note field, hidden attribute, personal extended attribute, or other similar unused field.

다른 실시예는 필드(305) 내에 관련되는 시간-날짜 정보를 갖는 속성값이 총 개수의 속성값의 서브세트이도록 제공한다. 서브세트는 시간-날짜 정보와 관련되는 값에 기초하여 선택된다. 예를 들어, 가장 최근의 시간-날짜 정보는 서브세트 내에 포함된 속성값을 선택하는 데에 이용될 수 있다. 다르게, 속성값이 변경되는 횟수를 서브세트를 선택하는 데에 이용할 수 있다.Another embodiment provides that attribute values with time-date information related within field 305 are a subset of the total number of attribute values. The subset is selected based on the value associated with the time-date information. For example, the most recent time-date information can be used to select attribute values included in the subset. Alternatively, the number of times the attribute value changes can be used to select a subset.

또 다른 실시예에서, 총 개수의 속성값 중에서 남은 속성값 부분은 표현 값(365) 내에 조합되고 시간-날짜 정보(370)가 관련되게 할 수 있다. 예를 들어, 시간-날짜 정보(370)는 나머지 속성 내에서 총 개수의 속성에 대해 가장 최근에 변경된 값일 수 있다. 다르게, 남은 속성값 부분 내의 속성 중 하나는 시간적으로 가장 일찍 동기화된 때를 나타내는 하한 시간-날짜 정보(370)로 한계가 정해질 수 있다. 또한, 조합된 표현 값(365)은 속성값 중 남은 부분의 해시의 형태로 되어 있다.In yet another embodiment, the remaining portion of the attribute value remaining among the total number of attribute values may be combined within the expression value 365 and the time-date information 370 may be associated. For example, time-date information 370 may be the most recently changed value for the total number of attributes within the remaining attributes. Alternatively, one of the attributes in the remaining attribute value portion may be limited to a lower bound time-date information 370 that indicates when it is synchronized earliest in time. The combined expression value 365 is also in the form of a hash of the remainder of the attribute values.

도 5는 시간-날짜 정보를 데이터베이스의 속성값으로 수신하여 저장하는 방법(500)을 설명하며, 이 때 데이터베이스의 속성은 대응하는 시간-날짜 필드 없이 저장되어 있다. 방법(500)은 포맷된 시간-날짜 정보를 수신하는 동작(505)을 포함한다. 시간-날짜 정보는 속성값과 관련되어 분산 컴퓨팅 시스템(200)의 하나 이상의 장치(210, 220)에 의해 구문 분석 가능한 표준 포맷으로 포맷되어 있다. 방법(500)은 또한 포맷된 시간-날짜 정보를 저장하는 동작(510)을 포함한다. 포맷된 시간-날짜 정보는 속성값과 관련되는 데이터베이스 필드(350)에 저장되어 이 포맷된 시간-날짜 정보가 속성값과 연관되는 데이터 충돌을 해결하도록 이용될 수가 있게 된다.FIG. 5 illustrates a method 500 for receiving and storing time-date information as an attribute value of a database, where attributes of the database are stored without a corresponding time-date field. The method 500 includes an operation 505 for receiving formatted time-date information. The time-date information is formatted in a standard format that can be parsed by one or more devices 210, 220 of the distributed computing system 200 in association with attribute values. The method 500 also includes an operation 510 of storing the formatted time-date information. The formatted time-date information is stored in a database field 350 associated with the attribute value so that the formatted time-date information can be used to resolve data conflicts associated with the attribute value.

실시예는 또한 포맷된 시간-날짜 정보를 식별하고 갱신하는 것을 가능하게 한다. 예를 들어, 속성값이 변경된 때, 포맷된 시간-날짜 정보는 속성값과 관련되는 것으로 식별될 수 있다. 이때 포맷된 시간-날짜 정보는 변경된 속성값에 따라서 데이터베이스 필드에서 갱신될 수 있다. 실시예는 이것이 적당한 어플리케이션 소프트웨어로 원격 장치(205)에 의해 행해질 수 있도록 제공한다. 예를 들어, 포맷된 시간-날짜 정보는 원격 장치(205)에서 수신되어 저장될 수 있으며, 원격 장치의 사용자가 이 변경을 행할 수 있다. 다르게, 로컬 머신(210, 220)이 이 변경을 행할 수 있다. 데이터베이스의 하나 이상의 속성값과 관련되는 포맷되지 않은 속성의 시간-날짜 정보를 저장하는 로컬 머신(210, 220)은 이 정보를 대응하는 시간-날짜 필드 내에 저장한다. 다시 말해, 로컬 머신(210, 220)은 고 충실도 장치이다.The embodiment also makes it possible to identify and update the formatted time-date information. For example, when an attribute value is changed, the formatted time-date information may be identified as associated with the attribute value. At this time, the formatted time-date information may be updated in the database field according to the changed attribute value. Embodiments provide that this can be done by the remote device 205 with appropriate application software. For example, the formatted time-date information can be received and stored at the remote device 205 and the user of the remote device can make this change. Alternatively, the local machine 210, 220 can make this change. Local machines 210 and 220 that store time-date information of unformatted attributes associated with one or more attribute values in the database store this information in the corresponding time-date fields. In other words, local machines 210 and 220 are high fidelity devices.

도 6은 분산 시스템의 장치 간의 데이터 충돌을 해결하는 방법(600)을 설명한다. 분산 컴퓨팅 시스템 내의 장치 중 하나는 대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장한다. 방법(600)은 원격 속성값을 수신하는 동작(605)을 포함한다. 원격 속성에 대해 수신된 원격 속성값과 대응하는 원격 시간-날짜 정보가 또한 수신된다. 또한, 원격 시간-날짜 정보는 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷, 예를 들어, URI 또는 동기 URL 포맷으로 포맷된다. 충돌은 원격 속성값과 대응하는 로컬 속성값 간에 있게 된다.6 illustrates a method 600 for resolving data conflicts between devices in a distributed system. One of the devices in a distributed computing system stores attributes in a database without a corresponding time-date field. The method 600 includes an operation 605 of receiving a remote attribute value. Remote time-date information corresponding to the received remote attribute value for the remote attribute is also received. In addition, the remote time-date information is formatted in a standard format that can be parsed by one or more devices in a distributed computing system, such as a URI or synchronous URL format. The conflict will be between the remote attribute value and the corresponding local attribute value.

방법(600)은 또한 기능적 결과에 근거하는 원격 시간-날짜 정보를 이용하는 단계(620)를 포함한다. 시간-날짜 정보는 로컬 장치와 원격 장치 간에 동기화하는 데에 적합한 속성값을 선택하도록 이용된다. 단계(620)는 원격 시간-날짜 정보를 구문 분석하는 동작(622)을 포함한다. 원격 시간 및 날짜를 식별하기 위해 표준 포맷에 따라 구문 분석된 원격 시간 및 날짜 정보는 원격 속성값이 변경된 때를 나타낸다. 단계(620)는 또한 원격 시간 및 날짜를 로컬 시간 및 날짜와 비교하는 동작(624)을 포함한다. 로컬 시간 및 날짜는 로컬 속성값이 변경된 때를 나타낸다. 마지막으로, 단계(620)는 충돌을 해결하는 동작(626)을 포함한다. 충돌의 해결은 비교 결과에 기초한다.The method 600 also includes a step 620 of using remote time-date information based on the functional result. The time-date information is used to select attribute values suitable for synchronizing between the local device and the remote device. Step 620 includes an operation 622 of parsing the remote time-date information. Remote time and date information parsed according to a standard format to identify the remote time and date indicates when the remote attribute value has changed. Step 620 also includes an operation 624 of comparing the remote time and date with the local time and date. The local time and date indicate when the local attribute value has changed. Finally, step 620 includes an operation 626 to resolve the conflict. Resolution of conflicts is based on comparison results.

상술한 바와 같이, 표준 포맷은 URL의 형태로 되어 있다. 예를 들어, URI는 세그먼트로 구문 분석된 URL일 수 있다. 세그먼트는 원격 속성값에 대응하는 속성 ID, 원격 속성값의 표현 및 시간-날짜 정보의 표현을 포함한다. 또한, 원격 속성값의 표현은 해시일 수 있으며 시간-날짜 정보의 표현은 16진수일 수 있다.As mentioned above, the standard format is in the form of a URL. For example, the URI may be a URL parsed into segments. The segment includes an attribute ID corresponding to the remote attribute value, a representation of the remote attribute value, and a representation of time-date information. In addition, the representation of the remote attribute value may be a hash and the representation of the time-date information may be a hexadecimal number.

일 실시예는 원격 속성값으로부터 원격 속성의 로컬 표현을 생성하도록 제공한다. 로컬 표현은 상술한 원격 표현과 비교되어 원격 속성값이 변경되었는지를 판정한다.One embodiment provides for generating a local representation of a remote attribute from a remote attribute value. The local representation is compared with the remote representation described above to determine if the remote attribute value has changed.

도 7은 원격 장치와 로컬 머신 간의 속성의 마지막 동기화 이후에 속성값이 변경된 때를 판정하는 방법(700)을 설명한다. 방법(700)은 원격 속성의 현재 값을 수신하는 동작(705)을 포함한다. 또한, 원격 속성의 이전값의 원격 표현이 수신된다. 방법(700)은 또한 원격 속성의 로컬 표현을 생성하는 동작(710)을 포함한다. 로컬 표현은 원격 속성의 현재 값으로부터 생성된다. 방법(700)은 또한 원격 표현을 로컬 표현과 비교하는 동작(715)을 포함한다. 마지막으로, 방법(700)은 종래의 원격 속성이 변경되었는지를 판정하는 동작(720)을 포함한다. 이 판정은 원격 표현이 생성된 후에 속성값이 변경된 것을 나타낸다. 따라서, 시간-날짜 정보가 예를 들어, 동기 URL(305)에서 원격 속성과 관련되게 되면, 이 정보는 잠재적으로 신뢰할 수 없어서 폐기될 수도 있다.7 illustrates a method 700 for determining when an attribute value has changed since the last synchronization of an attribute between a remote device and a local machine. The method 700 includes receiving 705 a current value of a remote attribute. In addition, a remote representation of the previous value of the remote attribute is received. The method 700 also includes an operation 710 of generating a local representation of the remote attribute. The local representation is generated from the current value of the remote attribute. The method 700 also includes an operation 715 of comparing the remote representation with the local representation. Finally, the method 700 includes an operation 720 to determine if the conventional remote attribute has changed. This determination indicates that the attribute value has changed since the remote representation was created. Thus, if time-date information is associated with a remote attribute, for example, in sync URL 305, this information may be potentially unreliable and discarded.

도 8은 복수의 속성값 중에서 제한된 세트의 속성값을 선택하는 방법(800)을 설명한다. 속성값은 대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장하는 장치에 대해 시간-날짜 정보가 할당되게 된다. 방법(800)은 원격 장치로부터 속성값을 수신하는 동작(805)을 포함한다. 방법(800)은 또한 제한된 세트의 시간-날짜 정보를 선택하는 동작(810)을 포함한다. 제한된 세트의 속성값은 원격 장치의 사용 가능한 리소스에 기초하여 복수의 속성값으로부터 선택될 수 있다. 방법(800)은 또한 시간-날짜 정보의 세트를 식별하는 동작(815)을 포함한다. 제한된 세트의 속성값 각각은 시간-날짜 정보 세트의 다른 부분에 대응한다. 방법(800)은 또한 원격 데이터베이스에 시간-날짜 정보의 다른 부분을 저장하는 동작(820)을 포함한다.8 illustrates a method 800 for selecting a limited set of attribute values from a plurality of attribute values. The attribute value will be assigned time-date information for the device storing the attribute in the database without a corresponding time-date field. The method 800 includes an operation 805 for receiving an attribute value from a remote device. The method 800 also includes an operation 810 for selecting a limited set of time-date information. The limited set of attribute values may be selected from a plurality of attribute values based on available resources of the remote device. The method 800 also includes an operation 815 for identifying a set of time-date information. Each of the limited set of attribute values corresponds to a different part of the time-date information set. The method 800 also includes an operation 820 of storing another portion of the time-date information in the remote database.

방법(800)은 또한 속성값의 남은 부분을 식별하고 이들을 표현 값으로 저장하여 이들과 시간-날짜 정보를 관련시키는 것을 포함한다. 예를 들어, 남은 속성값에 대한 시간-날짜 부분이 식별될 수 있다 (남은 속성값은 제한된 세트의 속성값에 있지 않음). 시간-날짜 정보의 식별 부분은 원격 데이터베이스의 일 위치에 저장되므로 시간-날짜 정보의 식별 부분이 남은 속성값 모두에 대응하게 된다.The method 800 also includes identifying the remaining portions of the attribute values and storing them as representation values to associate them with the time-date information. For example, the time-date portion of the remaining attribute values can be identified (the remaining attribute values are not in the limited set of attribute values). The identification portion of the time-date information is stored at one location in the remote database, so that the identification portion of the time-date information corresponds to all remaining attribute values.

본 발명의 영역 내의 실시예는 컴퓨터 실행 가능 명령어나 데이터 구조를 운반하거나 저장하고 있는 컴퓨터 판독 가능 매체를 포함한다. 이러한 컴퓨터 판독 가능 매체는 범용이나 특수 목적의 컴퓨터에 의해 액세스될 수 있는 어떠한 사용 가능 매체라도 가능하다. 제한하고자 하는 것이 아니고 예시로서, 이러한 컴퓨터 판독 가능 매체는 RAM, ROM, EEPROM, CD-ROM 또는 기타 광 디스크 저장소, 자기 디스크 저장소 또는 기타 자기 저장 장치 또는 컴퓨터 실행 가능 명령어나 데이터 구조의 형태로 원하는 프로그램 코드 수단을 운반하거나 저장하는 데에 이용되며 범용이나 특수 목적의 컴퓨터에 의해 액세스될 수 있는 다른 매체를 포함할 수 있다. 정보가 네트워크나 다른 통신 접속(유선, 무선, 또는 유무선의 조합)을 통해 컴퓨터에 전달되거나 제공된 때, 컴퓨터는 이 접속을 정당하게 컴퓨터 판독 가능 매체로서 보게 된다. 따라서, 이러한 접속을 정당하게 컴퓨터 판독 가능 매체로 부른다. 상기한 것의 조합이 또한 컴퓨터 판독 가능 매체의 영역 내에 포함된다. 컴퓨터 실행 가능 명령어는 예를 들어, 범용 컴퓨터, 특수 목적의 컴퓨터, 또는 특수 목적의 처리 장치가 특정 기능이나 기능들의 그룹을 실행하도록 하는 명령어 및 데이터를 포함한다.Embodiments within the scope of the present invention include computer readable media carrying or storing computer executable instructions or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer. By way of example, and not limitation, such computer readable media may be RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage device, or desired program in the form of computer-executable instructions or data structures. It may include other media used for carrying or storing code means and accessible by a general purpose or special purpose computer. When information is delivered or provided to a computer via a network or other communication connection (wired, wireless, or a combination of wired and wireless), the computer sees this connection as a legible computer readable medium. Thus, such a connection is legitimately called a computer readable medium. Combinations of the above are also included within the scope of computer-readable media. Computer-executable instructions include, for example, instructions and data that cause a general purpose computer, special purpose computer, or special purpose processing device to execute a particular function or group of functions.

도 9 및 다음의 설명은 본 발명이 실현될 수 있는 적당한 컴퓨팅 환경을 간단하고 일반적으로 설명하기 위한 것이다. 반드시 필요한 것은 아니지만, 본 발명은 네트워크 환경에서 컴퓨터에 의해 실행되고 있는 프로그램 모듈과 같은 컴퓨터 실행 가능 명령어의 일반 컨텍스트에서 기재될 것이다. 일반적으로, 프로그램 모듈은 루틴, 프로그램, 개체, 구성 요소, 데이터 구조 등을 포함한다. 컴퓨터 실행 가능 명령어, 관련된 데이터 구조 및 프로그램 모듈은 여기에 기재된 방법의 단계를 실행하기 위한 프로그램 코드 수단의 예를 나타낸다. 이러한 실행 가능 명령어나 관련 데이터 구조의 특정 순서는 이 단계에 기재된 함수를 실현하기 위한 대응 동작의 예를 나타낸다. 9 and the following description are intended to provide a brief and general description of a suitable computing environment in which the present invention may be implemented. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a computer in a network environment. Generally, program modules include routines, programs, objects, components, data structures, and the like. Computer-executable instructions, associated data structures and program modules represent examples of program code means for carrying out the steps of the methods described herein. The specific order of such executable instructions or associated data structures represents examples of corresponding operations for implementing the functions described in this step.

당업자라면 개인용 컴퓨터, 핸드 헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 계통이나 프로그램 가전 기기, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 많은 유형의 컴퓨터 시스템 컨피규레이션을 갖는 네트워크 컴퓨팅 환경에서 실행될 수 있다. 본 발명은 또한 (유선 링크, 무선 링크, 또는 유선이나 무선 링크의 조합에 의해) 링크될 수 있는 로컬 및 원격 처리 장치에 의해 작업이 실행되는 분산 컴퓨팅 환경에서 실행될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치에 위치될 수 있다.Those skilled in the art can run in a network computing environment having many types of computer system configurations, including personal computers, hand held devices, multiprocessor systems, microprocessor systems or program 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 may be linked (by wired link, wireless link, or a combination of wired or wireless links). In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

도 9를 참조하여, 본 발명을 실현하는 예시적인 시스템은 처리 유닛(921), 시스템 메모리(922), 및 시스템 메모리(922)를 포함하는 여러 시스템 구성 요소를 처리 유닛(921)에 결합하는 시스템 버스(923)를 포함하는, 종래의 컴퓨터(920)의 형태인 범용의 컴퓨팅 장치를 포함한다. 시스템 버스(923)는 메모리 버스나 메모 리 컨트롤러, 주변 버스, 및 각종 버스 아키텍쳐를 이용하는 로컬 버스를 포함하는 몇가지 유형의 버스 구조 중 어느 것이나 가능하다. 시스템 메모리는 판독 전용 메모리(ROM; 924) 및 랜덤 액세스 메모리(RAM; 925)를 포함한다. 기동 동안과 같이, 컴퓨터(920) 내의 소자 간에 정보를 전달하는 것을 도와주는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS; 926)은 ROM(924)에 저장될 수 있다.With reference to FIG. 9, an exemplary system for realizing the present invention is a system that couples various system components, including processing unit 921, system memory 922, and system memory 922 to processing unit 921. A general purpose computing device in the form of a conventional computer 920, including a bus 923. System bus 923 can be any of several types of bus structures, including memory buses, memory controllers, peripheral buses, and local buses utilizing various bus architectures. System memory includes read only memory (ROM) 924 and random access memory (RAM) 925. As during startup, a basic input / output system (BIOS) 926 may be stored in the ROM 924 that includes basic routines to assist in transferring information between elements in the computer 920.

컴퓨터(920)는 자기 하드 디스크(939)를 판독하고 여기에 기록하기 위한 자기 하드 디스크 드라이브(927), 분리형 자기 디스크(929)를 판독하고 여기에 기록하기 위한 자기 디스크 드라이브(928), 및 CD-ROM 또는 기타 광 매체와 같은 분리형 광 디스크(931)를 판독하거나 기록하기 위한 광 디스크 드라이브(930)를 포함할 수 있다. 자기 하드 디스크 드라이브(927), 자기 디스크 드라이브(928), 및 광 디스크 드라이브(930)는 하드 디스크 드라이브 인터페이스(932), 자기 디스크 드라이브 인터페이스(933) 및 광 드라이브 인터페이스(934)에 의해 각각 시스템 버스(923)에 접속된다. 드라이브 및 이들과 관련되는 컴퓨터 판독 가능 매체는 컴퓨터 실행 가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터를 컴퓨터(920)에 제공한다. 여기에 기재된 예시적인 환경은 자기 하드 디스크(939), 분리형 자기 디스크(929), 및 분리형 광 디스크(931)를 이용하고 있지만, 기타 자기 카세트, 플래시 메모리 카드, 디지털 다기능 디스크, 베르누이 카트리지, RAM, ROM 등을 포함하는 다른 유형의 데이터 저장용 컴퓨터 판독 가능 매체를 이용할 수 있다.The computer 920 includes a magnetic hard disk drive 927 for reading and writing magnetic hard disk 939, a magnetic disk drive 928 for reading and writing removable magnetic disk 929, and a CD. Optical disk drive 930 for reading or writing removable optical disk 931, such as -ROM or other optical media. The magnetic hard disk drive 927, the magnetic disk drive 928, and the optical disk drive 930 are respectively connected to the system bus by a hard disk drive interface 932, a magnetic disk drive interface 933, and an optical drive interface 934. It is connected to 923. Drives and their associated computer readable media provide computer executable instructions, data structures, program modules, and other data to computer 920. Exemplary environments described herein utilize magnetic hard disk 939, removable magnetic disk 929, and removable optical disk 931, but other magnetic cassettes, flash memory cards, digital multifunction disks, Bernoulli cartridges, RAM, Other types of computer readable media for data storage, including ROM, may be used.

예시로 운영 체제(935), 하나 이상의 응용 프로그램(936), 기타 프로그램 모듈(937), 및 프로그램 데이터(938)를 포함하는, 하나 이상의 프로그램 모듈을 포함 하는 프로그램 코드 수단은, 하드 디스크(939), 자기 디스크(929), 광 디스크(931), ROM(924) 또는 RAM(925) 상에 저장될 수 있다. 사용자는 키보드(940), 포인팅 장치(942) 또는 기타 마이크로폰, 조이스틱, 게임 패드, 위성 접시, 스캐너 등과 같은 다른 입력 장치 (도시 생략)를 통해 컴퓨터(920)에 명령어과 정보를 입력할 수 있다. 이들 및 기타 입력 장치는 흔히 시스템 버스(923)에 결합된 직렬 포트 인터페이스(946)를 통해 처리 유닛(921)에 접속된다. 다르게, 입력 장치는 병렬 포트, 게임 포트 또는 범용 직렬 버스 (USB)와 같은 다른 인터페이스에 의해 접속될 수 있다. 모니터(947) 또는 다른 디스플레이 장치는 또한 비디오 어댑터(948)와 같은 인터페이스를 통해 시스템 버스(923)에 접속된다. 모니터에 부가하여, 개인용 컴퓨터는 보통 스피커와 프린터와 같은 다른 주변 출력 장치 (도시 생략)를 포함한다.Program code means comprising one or more program modules, including, by way of example, operating system 935, one or more application programs 936, other program modules 937, and program data 938, may include a hard disk 939. , Magnetic disk 929, optical disk 931, ROM 924, or RAM 925. A user may enter commands and information into the computer 920 via a keyboard 940, pointing device 942 or other input device (not shown), such as a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 921 via a serial port interface 946 coupled to the system bus 923. Alternatively, the input device can be connected by another interface, such as a parallel port, game port or universal serial bus (USB). Monitor 947 or other display device is also connected to system bus 923 via an interface such as video adapter 948. In addition to the monitor, personal computers usually include other peripheral output devices (not shown) such as speakers and printers.

컴퓨터(920)는 원격 컴퓨터(949a 및 949b)와 같은 하나 이상의 원격 컴퓨터에의 논리 접속을 이용하여 네트워크 환경에서 동작한다. 원격 컴퓨터(949a 및 949b)는 각각 다른 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 장치 또는 기타 공통 네트워크 노드일 수 있으며, 메모리 저장 장치(950a 및 950b) 및 이들의 관련 응용 프로그램(936a 및 936b)만이 도 9에 도시되어 있지만, 보통은 컴퓨터(920)에 관련하는 상술한 모든 소자를 포함할 수 있다. 도 9에 도시한 논리 접속은 제한하고자 하는 것이 아니고 여기에서 예시로서 제시된 근거리 통신망(LAN; 951) 및 원거리 통신망(WAN; 952)을 포함한다. 이러한 네트워킹 환경은 사무실이나 전사 차원의 컴퓨터 네트워크, 인트라넷 및 인터넷에서는 일반적인 것이다.Computer 920 operates in a network environment using logical connections to one or more remote computers, such as remote computers 949a and 949b. Remote computers 949a and 949b may be different personal computers, servers, routers, network PCs, peer devices, or other common network nodes, respectively, and memory storage devices 950a and 950b and their associated applications 936a and 936b. Although only shown in FIG. 9, it can usually include all of the elements described above relating to the computer 920. The logical connection shown in FIG. 9 is not intended to be limiting and includes a local area network (LAN) 951 and a wide area network (WAN) 952 presented herein as an example. Such networking environments are commonplace in office or enterprise-wide computer networks, intranets and the Internet.

컴퓨터(920)는 LAN 네트워킹 환경에서 이용될 때, 네트워크 인터페이스나 어댑터(953)를 통해 근거리 통신망(951)에 접속된다. WAN 네트워킹 환경에서 이용될 때에, 컴퓨터(920)는 모뎀(954), 무선 링크 또는 기타 인터넷과 같은 원거리 통신망(952)을 통해 통신을 설정하기 위한 다른 수단을 포함할 수 있다. 내부 또는 외부적일 수 있는 모뎀(954)은 직렬 포트 인터페이스(946)를 통해 시스템 버스(923)에 접속된다. 네트워크 환경에서, 컴퓨터(920)와 관련하여 도시된 프로그램 모듈 또는 그 일부가 원격 메모리 저장 장치에 저장될 수 있다. 나타낸 네트워크 접속은 예시적인 것으로 원거리 통신망(952)을 통해 통신을 설정하기 위한 다른 수단을 이용할 수 있다는 것이 이해될 것이다.When used in a LAN networking environment, the computer 920 is connected to a local area network 951 through a network interface or adapter 953. When used in a WAN networking environment, the computer 920 may include other means for establishing communications over a wide area network 952, such as a modem 954, a wireless link, or other Internet. The modem 954, which may be internal or external, is connected to the system bus 923 via the serial port interface 946. In a networked environment, 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 may use other means for establishing communications over telecommunications network 952.

본 발명은 그 정신이나 필수 특성에서 벗어나지 않고 다른 특정 형태로 실현될 수 있다는 것이 이해될 것이다. 기재된 실시예는 모든 점에서 제한하고자 하는 것이 아니라 오직 설명을 위한 것으로 생각되어야 한다. 따라서, 본 발명의 영역은 상술한 설명에 의해서 보다는 첨부된 청구범위에 의해 암시된다. 청구범위의 의의와 등가물의 범위 내에 들어가는 모든 변형은 이들의 영역 내에 포괄되는 것이다.It is to be understood that the invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. Accordingly, the scope of the invention is implied by the appended claims rather than by the foregoing description. All changes that come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims (100)

대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장하는 장치를 포함하는 분산 컴퓨팅 시스템에서, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법으로서, A distributed computing system comprising a device for storing an attribute in a database without a corresponding time-date field, the method of associating time-date information with an attribute value in the database, comprising: 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스에서 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계 - 상기 하나 이상의 속성값들은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 속성값의 전체 수 중 잔존 부분의 속성값들은 조합된 표현 값(combined representation value)에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현 값은 상기 잔존 부분의 속성값들에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 가짐 - ;Identifying time-date information corresponding to one or more remote attribute values in a remote database storing attributes without a corresponding time-date field, wherein the one or more attribute values are a subset of the total number of associated attribute values, One or more attribute values are selected to have identified time-date information formatted in a standard format based on the values associated with the time-date information, wherein the attribute values of the remaining portion of the total number of attribute values are combined combined values. represented in a field associated with the one or more remote attribute values by a representation value, wherein the combined representation value has associated time-date information based on time-date information for attribute values of the remaining portion; 상기 식별된 시간-날짜 정보를 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅하는 단계; 및Formatting the identified time-date information into a standard format that can be parsed by one or more devices of the distributed computing system; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계를 포함하는 방법.Sending the formatted time-date information to the remote database and storing in the field associated with the one or more remote attribute values. 대응하는 시간-날짜 필드 없이 데이터베이스에 속성을 저장하는 장치를 갖는 분산 컴퓨팅 시스템에서, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법으로서,In a distributed computing system having a device for storing an attribute in a database without a corresponding time-date field, a method of associating time-date information with an attribute value in the database, comprising: 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅됨 - ; 및Receiving formatted time-date information associated with one or more attribute values, wherein the formatted time-date information is formatted in a standard format parseable by one or more devices of the distributed computing system; And 상기 하나 이상의 속성값과 연관되는 데이터베이스 필드에 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값과 연관되는 데이터 충돌을 해결하는 데에 이용될 수 있도록 하는 단계 - 상기 하나 이상의 속성값은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 선택되지 않은 상기 속성값들의 전체 수로부터의 잔존 부분의 속성값들은 조합된 표현 값에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현은 속성값들의 상기 잔존 부분에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 포함함 - 를 포함하는 방법.Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve data conflicts associated with the one or more attribute values. Step-said one or more attribute values are a subset of the total number of associated attribute values, said one or more attribute values selected to have identified time-date information formatted in a standard format based on values associated with said time-date information And attribute values of the remaining portion from the total number of attribute values that are not selected are represented in the field associated with the one or more remote attribute values by a combined representation value, wherein the combined representation is the remaining portion of attribute values. And include associated time-date information based on time-date information for. 삭제delete 삭제delete 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 장치를 포함하는 분산 컴퓨팅 시스템에서, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법으로서, A distributed computing system comprising a device for storing attributes in a database without a corresponding time-date field, the method of associating time-date information with attribute values in the database, comprising: 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스에 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계; Identifying time-date information corresponding to one or more remote attribute values in a remote database that stores the attributes without a corresponding time-date field; 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 상기 식별된 시간-날짜 정보를 포맷팅하는 단계 - 상기 표준 포맷은 유니폼 리소스 식별자이고, 상기 유니폼 리소스 식별자는 세그먼트로 구문 분석되는 유니폼 리소스 로케이터이며, 각각의 세크먼트는 속성 식별자, 상기 하나 이상의 속성값 중 하나의 표현 및 상기 하나 이상의 속성값들 중 상기 하나에 대응하는 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Formatting the identified time-date information in a standard format that can be parsed by one or more devices of the distributed computing system, wherein the standard format is a uniform resource identifier and the uniform resource identifier is parsed into segments. Wherein each segment includes an attribute identifier, a representation of one of the one or more attribute values, and a representation of time-date information corresponding to the one of the one or more attribute values, wherein the one of the one or more attribute values The representation of time-date information corresponding to is at least one of hexadecimal digits of time-date information stored up to seconds, stored up to minutes, or stored in a time zone independent format; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계Sending the formatted time-date information to the remote database and storing it in a field associated with the one or more remote attribute values. 를 포함하는 방법.≪ / RTI > 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 장치를 포함하는 분산 컴퓨팅 시스템에서, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법으로서, A distributed computing system comprising a device for storing attributes in a database without a corresponding time-date field, the method of associating time-date information with attribute values in the database, comprising: 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅되고 상기 표준 포맷은 유니폼 리소스 식별자이며, 상기 유니폼 리소스 식별자는 세그먼트들로 구문 분석되는 유니폼 리소스 로케이터이고, 상기 각각의 세그먼트는 속성 식별, 상기 하나 이상의 속성값 중 하나의 표현, 및 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Receiving formatted time-date information associated with one or more attribute values, wherein the formatted time-date information is formatted in a standard format that can be parsed by one or more devices of the distributed computing system, the standard format being a uniform resource. An identifier, wherein the uniform resource identifier is a uniform resource locator parsed into segments, wherein each segment corresponds to the one of an attribute identification, a representation of one or more attribute values, and the one or more attribute values. A time-date representation comprising a representation of time-date information, wherein the representation of time-date information corresponding to the one of the one or more attribute values is stored up to a second, up to a minute, or stored in a time zone independent format. One or more of the hexadecimal digits of the date information; And 상기 하나 이상의 속성값들과 연관된 데이터베이스 필드로 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값들과 연관된 데이터 충돌을 해결하는데 사용될 수 있는 단계를 포함하는 방법.Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve a data conflict associated with the one or more attribute values. Way. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨팅 장치로서, A computing device that configures a distributed computing system and stores attributes in a database without a corresponding time-date field, 상기 컴퓨팅 장치는 프로세서를 포함하며, 상기 프로세서는 상기 컴퓨팅 장치의 하나 이상의 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 실행가능 명령어를 처리하고, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하도록 구성되며, 상기 방법은The computing device includes a processor, the processor to implement a method of processing computer executable instructions stored on one or more computer readable recording media of the computing device and associating time-date information with attribute values in the database. The method is 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스의 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계 - 상기 하나 이상의 속성값들은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 속성값의 전체 수 중 선택되지 않은 잔존 부분의 속성값들은 조합된 표현 값에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현 값은 상기 잔존하는 부분의 속성값들에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 가짐 - ;Identifying time-date information corresponding to one or more remote attribute values of a remote database storing attributes without a corresponding time-date field, wherein the one or more attribute values are a subset of the total number of associated attribute values, and One or more attribute values are selected to have identified time-date information formatted in a standard format based on the values associated with the time-date information, wherein the attribute values of the unselected remaining portion of the total number of attribute values are combined representations. A value represented in a field associated with the one or more remote attribute values, wherein the combined representation value has associated time-date information based on time-date information for attribute values of the remaining portion; 상기 식별된 시간-날짜 정보를 상기 분산 컴퓨팅 시스템의 하나 이상의 컴퓨팅 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅하는 단계; 및Formatting the identified time-date information into a standard format parseable by one or more computing devices of the distributed computing system; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계를 포함하는 Sending the formatted time-date information to the remote database and storing in the field associated with the one or more remote attribute values. 컴퓨팅 장치.Computing device. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨팅 장치로서, A computing device that configures a distributed computing system and stores attributes in a database without a corresponding time-date field, 상기 컴퓨팅 장치는 프로세서를 포함하며, 상기 프로세서는 상기 컴퓨팅 장치의 하나 이상의 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 실행가능 명령어를 처리하고, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하도록 구성되며, 상기 방법은The computing device includes a processor, the processor to implement a method of processing computer executable instructions stored on one or more computer readable recording media of the computing device and associating time-date information with attribute values in the database. The method is 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 컴퓨팅 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅됨 - ; 및Receiving formatted time-date information associated with one or more attribute values, wherein the formatted time-date information is formatted in a standard format that can be parsed by one or more computing devices of the distributed computing system; And 상기 하나 이상의 속성값과 연관되는 데이터베이스 필드에 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값과 연관되는 데이터 충돌을 해결하는 데에 이용될 수 있도록 하는 단계 - 상기 하나 이상의 속성값은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 상기 속성값들 중 선택되지 않은 잔존 부분의 속성값들은 조합된 표현 값에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현은 상기 잔존 부분의 속성값들에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 포함함 - 를 포함하는, Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve data conflicts associated with the one or more attribute values. Step-said one or more attribute values are a subset of the total number of associated attribute values, said one or more attribute values selected to have identified time-date information formatted in a standard format based on values associated with said time-date information And attribute values of the unselected remaining portion of the attribute values are represented in a field associated with the one or more remote attribute values by a combined representation value, wherein the combined representation is based on attribute values of the remaining portion. Comprising the associated time-date information based on the time-date information, 컴퓨팅 장치. Computing device. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨팅 장치로서, A computing device that configures a distributed computing system and stores attributes in a database without a corresponding time-date field, 상기 컴퓨팅 장치는 프로세서를 포함하며, 상기 프로세서는 상기 컴퓨팅 장치의 하나 이상의 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 실행가능 명령어를 처리하고, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키고 상기 분산 컴퓨팅 시스템의 컴퓨팅 장치들 간에 데이터 충돌을 해결하는 방법을 구현하도록 구성되며, 상기 방법은The computing device includes a processor, the processor processing computer executable instructions stored on one or more computer readable recording media of the computing device, associating time-date information with attribute values in the database and distributing the distributed computing system. Is configured to implement a method for resolving data conflicts between computing devices of 대응하는 시간-날짜 필드 없이 데이터베이스로부터 원격 속성의 원격 속성값 및 대응하는 원격 시간-날짜 정보를 수신하는 단계 - 상기 원격 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 컴퓨팅 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅되고, 상기 표준 포맷은 유니폼 리소스 식별자이며, 상기 유니폼 리소스 식별자는 세그먼트들로 구문 분석되는 유니폼 리소스 로케이터이고, 상기 세그먼트들 중 하나는 상기 원격 속성값에 대응하는 속성 식별, 상기 원격 속성값의 원격 표현, 및 상기 원격 속성값에 대응하는 상기 시간-날짜 정보의 표현을 포함하고, 상기 원격 속성값에 대응하는 상기 시간-날짜 정보의 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ;Receiving a remote attribute value of a remote attribute and corresponding remote time-date information from a database without a corresponding time-date field, wherein the remote time-date information is a standard that can be parsed by one or more computing devices of the distributed computing system. Formatted in a format, wherein the standard format is a uniform resource identifier, the uniform resource identifier is a uniform resource locator parsed into segments, and one of the segments is an attribute identification corresponding to the remote attribute value, the remote attribute value A representation of the time-date information corresponding to the remote attribute value, wherein the representation of the time-date information corresponding to the remote attribute value is stored up to a second, or up to a minute; One of the hexadecimal digits of time-date information stored in time zone-independent format Yisangim; 상기 원격 속성값과 대응하는 로컬 속성값 간의 충돌을 검출하는 단계;Detecting a conflict between the remote attribute value and a corresponding local attribute value; 상기 표준 포맷에 따라서 상기 원격 시간-날짜 정보를 구문 분석하여 원격 시간 및 날짜를 식별하는 단계 - 상기 원격 시간 및 날짜는 상기 원격 속성값이 변경된 때를 나타냄 - ;Parsing the remote time-date information according to the standard format to identify a remote time and date, wherein the remote time and date indicate when the remote attribute value has changed; 상기 원격 시간 및 날짜를 로컬 시간 및 날짜와 비교하는 단계 - 상기 로컬 시간 및 날짜는 상기 하나 이상의 로컬 속성값이 변경된 때를 나타냄 - ; 및Comparing the remote time and date with a local time and date, the local time and date indicating when the one or more local attribute values have changed; And 상기 비교의 결과에 기초하여 상기 충돌을 해결하는 단계Resolving the conflict based on the result of the comparison 를 포함하는, Including, 컴퓨팅 장치. Computing device. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨팅 장치로서, A computing device that configures a distributed computing system and stores attributes in a database without a corresponding time-date field, 상기 컴퓨팅 장치는 프로세서를 포함하며, 상기 프로세서는 상기 컴퓨팅 장치의 하나 이상의 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 실행가능 명령어를 처리하고, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하도록 구성되며, 상기 방법은The computing device includes a processor, the processor to implement a method of processing computer executable instructions stored on one or more computer readable recording media of the computing device and associating time-date information with attribute values in the database. The method is 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스에 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계; Identifying time-date information corresponding to one or more remote attribute values in a remote database that stores the attributes without a corresponding time-date field; 상기 분산 컴퓨팅 시스템의 하나 이상의 컴퓨팅 장치에 의해 구문 분석 가능한 표준 포맷으로 상기 식별된 시간-날짜 정보를 포맷팅하는 단계 - 상기 표준 포맷은 유니폼 리소스 식별자이고, 상기 유니폼 리소스 식별자는 세그먼트로 구문 분석되는 유니폼 리소스 로케이터이며, 각각의 세크먼트는 속성 식별자, 상기 하나 이상의 속성값 중 하나의 표현 및 상기 하나 이상의 속성값들 중 상기 하나에 대응하는 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Formatting the identified time-date information in a standard format that can be parsed by one or more computing devices of the distributed computing system, wherein the standard format is a uniform resource identifier and the uniform resource identifier is a uniform resource parsed into segments. A locator, each segment including an attribute identifier, a representation of one of the one or more attribute values, and a representation of time-date information corresponding to the one of the one or more attribute values, wherein the segment of the one or more attribute values includes: The representation of the time-date information corresponding to one is one or more of hexadecimal numbers of time-date information stored up to the second, stored up to the minute, or stored in a time zone independent format; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계를 포함하는, Sending the formatted time-date information to the remote database and storing in the field associated with the one or more remote attribute values; 컴퓨팅 장치. Computing device. 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨팅 장치를 포함하는 컴퓨팅 시스템으로서,  A computing system comprising a computing device for storing attributes in a database without a corresponding time-date field, the computing system comprising: 상기 컴퓨팅 장치는 프로세서를 포함하며, 상기 프로세서는 상기 컴퓨팅 장치의 하나 이상의 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 실행가능 명령어를 처리하고, 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하도록 구성되며, 상기 방법은The computing device includes a processor, the processor to implement a method of processing computer executable instructions stored on one or more computer readable recording media of the computing device and associating time-date information with attribute values in the database. The method is 상기 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 컴퓨팅 시스템의 하나 이상의 컴퓨팅 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅되고, 상기 표준 포맷은 유니폼 리소스 식별자이며, 상기 유니폼 리소스 식별자는 세그먼트들로 구문 분석되는 유니폼 리소스 로케이터이고, 상기 각각의 세그먼트는 속성 식별, 상기 하나 이상의 속성값들 중 하나의 표현, 및 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Receiving formatted time-date information associated with the one or more attribute values, wherein the formatted time-date information is formatted in a standard format that can be parsed by one or more computing devices of the computing system, the standard format being A uniform resource identifier, the uniform resource identifier being a uniform resource locator parsed into segments, wherein each segment is in the one of the attribute identification, the representation of one of the one or more attribute values, and the one or more attribute values. The representation of time-date information corresponding to the one of the one or more attribute values, the representation of corresponding time-date information, stored up to seconds, up to minutes, or stored in a time zone independent format. At least one of the hexadecimal digits of the time-date information And 상기 하나 이상의 속성값들과 연관된 데이터베이스 필드로 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값들과 연관된 데이터 충돌을 해결하는데 사용될 수 있는 단계를 포함하는, Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve a data conflict associated with the one or more attribute values. , 컴퓨팅 시스템. Computing system. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 장치에 사용되는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록 매체로서, A computer readable recording medium constituting a distributed computing system and storing a computer program for use in an apparatus for storing attributes in a database without a corresponding time-date field, comprising: 상기 컴퓨터 판독가능 기록 매체는 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하기 위한 컴퓨터 실행가능 명령어를 포함하며, 상기 방법은The computer readable recording medium includes computer executable instructions for implementing a method of associating time-date information with an attribute value in the database; 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스의 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계 - 상기 하나 이상의 속성값들은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 속성값의 전체 수 중 선택되지 않은 잔존 부분의 속성값들은 조합된 표현 값에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현 값은 상기 잔존하는 부분의 속성값들에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 가짐 - ;Identifying time-date information corresponding to one or more remote attribute values of a remote database storing attributes without a corresponding time-date field, wherein the one or more attribute values are a subset of the total number of associated attribute values, and One or more attribute values are selected to have identified time-date information formatted in a standard format based on the values associated with the time-date information, wherein the attribute values of the unselected remaining portion of the total number of attribute values are combined representations. A value represented in a field associated with the one or more remote attribute values, wherein the combined representation value has associated time-date information based on time-date information for attribute values of the remaining portion; 상기 식별된 시간-날짜 정보를 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅하는 단계; 및Formatting the identified time-date information into a standard format that can be parsed by one or more devices of the distributed computing system; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계를 포함하는, Sending the formatted time-date information to the remote database and storing in the field associated with the one or more remote attribute values; 컴퓨터 판독가능 기록 매체.Computer-readable recording medium. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 장치에 사용되는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록 매체로서, A computer readable recording medium constituting a distributed computing system and storing a computer program for use in an apparatus for storing attributes in a database without a corresponding time-date field, comprising: 상기 컴퓨터 판독가능 기록 매체는 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하기 위한 컴퓨터 실행가능 명령어를 포함하며, 상기 방법은 The computer readable recording medium includes computer executable instructions for implementing a method of associating time-date information with an attribute value in the database; 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅됨 - ; 및Receiving formatted time-date information associated with one or more attribute values, wherein the formatted time-date information is formatted in a standard format parseable by one or more devices of the distributed computing system; And 상기 하나 이상의 속성값과 연관되는 데이터베이스 필드에 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값과 연관되는 데이터 충돌을 해결하는 데에 이용될 수 있도록 하는 단계 - 상기 하나 이상의 속성값은 연관된 속성값들 전체 수의 서브세트이며, 상기 하나 이상의 속성값들은 상기 시간-날짜 정보와 연관된 값들에 기초하여 표준 포맷으로 포맷팅된 식별된 시간-날짜 정보를 갖도록 선택되고, 상기 속성값들 중 선택되지 않은 잔존 부분의 속성값들은 조합된 표현 값에 의해 상기 하나 이상의 원격 속성값들과 연관된 필드에서 표현되고, 상기 조합된 표현은 상기 잔존 부분의 속성값들에 대한 시간-날짜 정보에 기초한 연관된 시간-날짜 정보를 포함함 - 를 포함하는, Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve data conflicts associated with the one or more attribute values. Step-said one or more attribute values are a subset of the total number of associated attribute values, said one or more attribute values selected to have identified time-date information formatted in a standard format based on values associated with said time-date information And attribute values of the unselected remaining portion of the attribute values are represented in a field associated with the one or more remote attribute values by a combined representation value, wherein the combined representation is based on attribute values of the remaining portion. Comprising the associated time-date information based on the time-date information, 컴퓨터 판독가능 기록 매체.Computer-readable recording medium. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 장치에 사용되는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록 매체로서, A computer readable recording medium constituting a distributed computing system and storing a computer program for use in an apparatus for storing attributes in a database without a corresponding time-date field, comprising: 상기 컴퓨터 판독가능 기록 매체는 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하기 위한 컴퓨터 실행가능 명령어를 포함하며, 상기 방법은, The computer readable recording medium includes computer executable instructions for implementing a method of associating time-date information with an attribute value in the database, the method comprising: 대응하는 시간-날짜 필드 없이 속성들을 저장하는 원격 데이터베이스에 하나 이상의 원격 속성값들에 대응하는 시간-날짜 정보를 식별하는 단계; Identifying time-date information corresponding to one or more remote attribute values in a remote database that stores the attributes without a corresponding time-date field; 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 상기 식별된 시간-날짜 정보를 포맷팅하는 단계 - 상기 표준 포맷은 유니폼 리소스 식별자이고, 상기 유니폼 리소스 식별자는 세그먼트로 구문 분석되는 유니폼 리소스 로케이터이며, 각각의 세크먼트는 속성 식별자, 상기 하나 이상의 속성값 중 하나의 표현 및 상기 하나 이상의 속성값들 중 상기 하나에 대응하는 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Formatting the identified time-date information in a standard format that can be parsed by one or more devices of the distributed computing system, wherein the standard format is a uniform resource identifier and the uniform resource identifier is parsed into segments. Wherein each segment includes an attribute identifier, a representation of one of the one or more attribute values, and a representation of time-date information corresponding to the one of the one or more attribute values, wherein the one of the one or more attribute values The representation of time-date information corresponding to is at least one of hexadecimal digits of time-date information stored up to seconds, stored up to minutes, or stored in a time zone independent format; And 상기 포맷팅된 시간-날짜 정보를 상기 원격 데이터베이스에 송신하여 상기 하나 이상의 원격 속성값과 연관되는 필드에 저장하는 단계를 포함하는, Sending the formatted time-date information to the remote database and storing in the field associated with the one or more remote attribute values; 컴퓨터 판독가능 기록 매체.Computer-readable recording medium. 분산 컴퓨팅 시스템을 구성하며, 대응하는 시간-날짜 필드 없이 데이터베이스에 속성들을 저장하는 컴퓨터 프로그램을 저장하는 컴퓨터 판독가능 기록 매체로서, A computer readable recording medium constituting a distributed computing system and storing a computer program for storing attributes in a database without a corresponding time-date field, 상기 컴퓨터 판독가능 기록 매체는 상기 데이터베이스에서 시간-날짜 정보를 속성값과 연관시키는 방법을 구현하기 위한 컴퓨터 실행가능 명령어를 포함하며, 상기 방법은The computer readable recording medium includes computer executable instructions for implementing a method of associating time-date information with an attribute value in the database; 상기 하나 이상의 속성값과 연관되는 포맷팅된 시간-날짜 정보를 수신하는 단계 - 상기 포맷팅된 시간-날짜 정보는 상기 분산 컴퓨팅 시스템의 하나 이상의 장치에 의해 구문 분석 가능한 표준 포맷으로 포맷팅되고 상기 표준 포맷은 유니폼 리소스 식별자이며, 상기 유니폼 리소스 식별자는 세그먼트들로 구문 분석되는 유니폼 리소스 로케이터이고, 상기 각각의 세그먼트는 속성 식별, 상기 하나 이상의 속성값들 중 하나의 표현, 및 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 표현을 포함하고, 상기 하나 이상의 속성값 중 상기 하나에 대응하는 상기 시간-날짜 정보의 상기 표현은 초 단위까지 저장되거나, 분 단위까지 저장되거나, 시간대 독립 포맷으로 저장되는 시간-날짜 정보의 16진수 중 하나 이상임 - ; 및Receiving formatted time-date information associated with the one or more attribute values, wherein the formatted time-date information is formatted in a standard format that can be parsed by one or more devices of the distributed computing system and the standard format is uniform. A resource identifier, the uniform resource identifier being a uniform resource locator parsed into segments, each segment corresponding to the one of an attribute identification, a representation of one of the one or more attribute values, and the one or more attribute values And a representation of the time-date information, wherein the representation of the time-date information corresponding to the one of the one or more attribute values is stored up to seconds, up to minutes, or stored in a time zone independent format. One or more of the hexadecimal numbers of the time-date information-; And 상기 하나 이상의 속성값들과 연관된 데이터베이스 필드로 상기 포맷팅된 시간-날짜 정보를 저장하여, 상기 포맷팅된 시간-날짜 정보가 상기 하나 이상의 속성값들과 연관된 데이터 충돌을 해결하는데 사용될 수 있는 단계를 포함하는, Storing the formatted time-date information in a database field associated with the one or more attribute values, such that the formatted time-date information can be used to resolve a data conflict associated with the one or more attribute values. , 컴퓨터 판독가능 기록 매체. Computer-readable recording medium. 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020057008467A 2004-04-30 2004-07-30 Maintaining time-date information for syncing low fidelity devices Expired - Fee Related KR101201075B1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/835,830 2004-04-30
US10/878,095 2004-06-28
US10/878,717 2004-06-28
PCT/US2004/024708 WO2005111808A2 (en) 2004-04-30 2004-07-30 Maintaining time-date information for syncing low fidelity devices

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020117030922A Division KR101224821B1 (en) 2004-04-30 2004-07-30 Maintaining time-date information for syncing low fidelity devices

Publications (2)

Publication Number Publication Date
KR20070018657A KR20070018657A (en) 2007-02-14
KR101201075B1 true KR101201075B1 (en) 2012-11-14

Family

ID=43651957

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057008467A Expired - Fee Related KR101201075B1 (en) 2004-04-30 2004-07-30 Maintaining time-date information for syncing low fidelity devices

Country Status (1)

Country Link
KR (1) KR101201075B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654256B1 (en) * 2012-06-29 2016-09-09 에스케이텔레콤 주식회사 System and method for recommending contents on based passenger type for automobile

Also Published As

Publication number Publication date
KR20070018657A (en) 2007-02-14

Similar Documents

Publication Publication Date Title
KR101224821B1 (en) Maintaining time-date information for syncing low fidelity devices
US7333976B1 (en) Methods and systems for processing contact information
US10592496B2 (en) Automatic conflict resolution
KR101312810B1 (en) Partial item change tracking and synchronization
US7895223B2 (en) Generating search results based on determined relationships between data objects and user connections to identified destinations
US9430445B2 (en) Document editor and method for editing document
US7284021B2 (en) Determining when a low fidelity property value has changed during a SYNC
US7730167B2 (en) Methods and systems for halting synchronization loops in a distributed system
RU2367008C2 (en) Supporting time and date information for synchronisation of devices with low data integrity
US7269609B2 (en) Preserving memory resources by limiting time-date information for a subset of properties
KR101201075B1 (en) Maintaining time-date information for syncing low fidelity devices
CA2507424C (en) Maintaining time-date information for syncing low fidelity devices
US20110016100A1 (en) Multiple fidelity level item replication and integration
JP7270585B2 (en) Information management system, information management program and information management method
AU2011202919B2 (en) Partial item change tracking and synchronization
HK1162711B (en) Partial item change tracking and synchronization

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

A201 Request for examination
AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

AMND Amendment
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E601 Decision to refuse application
PE0601 Decision on rejection of patent

St.27 status event code: N-2-6-B10-B15-exm-PE0601

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

A107 Divisional application of patent
AMND Amendment
E13-X000 Pre-grant limitation requested

St.27 status event code: A-2-3-E10-E13-lim-X000

J201 Request for trial against refusal decision
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0104 Divisional application for international application

St.27 status event code: A-0-1-A10-A18-div-PA0104

St.27 status event code: A-0-1-A10-A16-div-PA0104

PJ0201 Trial against decision of rejection

St.27 status event code: A-3-3-V10-V11-apl-PJ0201

PB0901 Examination by re-examination before a trial

St.27 status event code: A-6-3-E10-E12-rex-PB0901

PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

B701 Decision to grant
PB0701 Decision of registration after re-examination before a trial

St.27 status event code: A-3-4-F10-F13-rex-PB0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R13-asn-PN2301

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

FPAY Annual fee payment

Payment date: 20151016

Year of fee payment: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

FPAY Annual fee payment

Payment date: 20161019

Year of fee payment: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

FPAY Annual fee payment

Payment date: 20171018

Year of fee payment: 6

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

FPAY Annual fee payment

Payment date: 20181018

Year of fee payment: 7

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

R17-X000 Change to representative recorded

St.27 status event code: A-5-5-R10-R17-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 9

PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20211108

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20211108