문맥 (context)
컴퓨터 기술(예를 들어, 마이크로프로세서 속도, 메모리 용량, 데이터 전송 대역폭, 소프트웨어 기능 등)의 진보는 일반적으로 다양한 산업에서의 컴퓨터 응용의 증가에 기여하였다. 서버들의 어레이로서 종종 구성되는 이전보다 더 강력한 서버 시스템이, 예를 들어, 월드 와이드 웹 등의 외부 소스로부터 오는 서비스 요청에 보통 제공된다.
이용가능한 전자 데이터의 양이 증가함에 따라, 이러한 데이터를 사용자에 친숙하고 신속한 데이터 탐색 및 검색을 용이하게 해주는 관리가능한 방식으로 저장하는 것이 더욱 중요하게 된다. 오늘날, 통상의 방법은 전자 데이터를 하나 이상의 데이터베이스에 저장하는 것이다. 일반적으로, 통상적인 데이터베이스는 컴퓨터 프로그램이, 예를 들어, 원하는 데이터를 신속하게 탐색 및 선택할 수 있도록 데이터가 구조화되어 있는 구성된 정보 컬렉션(organized collecion of information)이라고 할 수 있다. 통상, 데이터베이스 내의 데이터는 하나 이상의 테이블을 통해 구성되어 있다. 이러한 테이블은 행 및 열의 어레이로서 배열되어 있다.
또한, 이들 테이블은 일련의 레코드를 포함할 수 있으며, 여기서 레코드는 일련의 필드를 포함한다. 레코드는 통상 테이블 내의 행으로서 인덱싱되어 있으며, 레코드 필드는 통상적으로 열로서 인덱싱되어 있고, 따라서 행/열 인덱싱 쌍은 테이블 내의 특정의 데이터를 참조할 수 있다. 예를 들어, 행은 판매 거래, 사람, 또는 프로젝트에 관계된 전체 데이터 레코드를 저장할 수 있다. 이와 마찬가지로, 테이블의 열들은 동일한 일반 데이터 형식을 갖는 행의 개별적인 일부분을 정의할 수 있으며, 여기서 열은 레코드의 필드를 정의할 수 있다.
단독으로 있는 각각의 개별 데이터는 일반적으로 그다지 정보를 주지 못한다. 데이터베이스 애플리케이션은 데이터를 더 유용하게 만들어주는데, 그 이유는 이들 애플리케이션이 사용자가 데이터를 구성 및 처리하는 데 도움을 주기 때문이다. 데이터베이스 애플리케이션은 사용자가 데이터를 비교(compare), 정렬(sort), 순서화(order), 병합(merge), 분리(separate), 및 상호연결(interconnect)시킬 수 있게 해주며, 따라서 데이터로부터 유용한 정보가 발생될 수 있다. 데이터베이스의 용량 및 다기능성이 믿을 수 없을 정도로 증가하여 거의 무한의 저장 용량 활용 데이터베이스를 가능하게 해준다. 그렇지만, 통상적인 데이터베이스 시스템은 시간, 파일 확장자, 위치, 및 크기에 기초하여 제한된 쿼리 능력(query-ability)을 제공한다. 예를 들어, 데이터베이스에 연관된 엄청난 양의 데이터를 검색하기 위해, 통상적인 검색은 파일 이름, 파일 크기, 생성 일자 등으로 제한되며, 여기서 이러한 기법들은 불충분하고 적절하지 않다.
최종 사용자로부터의 데이터 생성이 계속되고 증가됨에 따라, 이러한 데이터를 찾아내는 것, 관련시키는 것, 조작하는 것 및 저장하는 것을 둘러싸고 있는 문제점 및 어려움들이 증대되고 있다. 최종 사용자는 문서를 작성하고, 사진을 저장하며, 컴팩트 디스크로부터 음악을 리핑(rip)하고, 이메일을 수신하며, 전송된 이메일의 복사본을 유지하는 등을 한다. 예를 들어, 음악 컴팩트 디스크를 생성하는 간단한 프로세스에서, 최종 사용자는 수메가바이트의 데이터를 생성할 수 있다. 그 컴팩트 디스크로부터 음악을 리핑하는 것, 그 파일을 적당한 형식(format)으로 변환하는 것, 케이스 커버(jewel case cover)를 생성하는 것, 및 컴팩트 디스크 라벨을 디자인하는 것, 이 모두는 데이터의 생성을 필요로 한다.
복잡한 문제들이 사용자를 에워싸고 있을 뿐만 아니라 개발자들도 데이터와 유사한 문제를 가지고 있다. 개발자들은 개인 애플리케이션에서부터 고도로 발전된 엔터프라이즈 애플리케이션에 이르는 수많은 애플리케이션들을 생성 및 작성한다. 생성 및 발전시키는 동안에, 개발자들은 항상은 아니더라도 종종 데이터를 수집한다. 이러한 데이터를 획득할 때, 그 데이터가 저장될 필요가 있다. 환언하면, 데이터를 찾는 것, 관련시키는 것, 조작하는 것 및 저장하는 것을 둘러싸고 있는 문제점들 및 어려움들이 개발자 및 최종 사용자 둘다에 영향을 미친다.
게다가, 무한한 양의 데이터가 개발자 및/또는 사용자를 둘러싸고 있는 상황에서, 개별적인 기계들 및/또는 시스템들 간의 데이터 일관성(data consistency)이 복잡하고 어려운 일일 수 있다. 예를 들어, 사용자는 랩톱 기계 및 데스크톱을 이용할 수 있으며, 여기서 데이터 일관성 및/또는 동기화가 아주 중요하다. 특히, 각각의 기계 및/또는 시스템이 대량의 데이터를 발생하는 경우, 이러한 데이터의 동기화는 극히 어려운 목적이다.
003c#발명의 요약003e#
이하는 본 명세서에 기술된 몇몇 태양들의 기본적인 이해를 제공하기 위해 본 발명의 간단화된 요약을 제공한다. 이 요약은 청구된 발명 대상의 전반적인 개요가 아니다. 이는 청구된 발명 대상의 주요 또는 중요한 구성요소를 확인하거나 본 발명의 범위를 정하기 위한 것이 아니다. 그의 유일한 목적은 이후에 제공되는 보다 상세한 설명에 대한 서문으로서 간단화된 형태로 청구된 발명 대상의 몇몇 개념들을 제공하는 데 있다.
본 발명은 적어도 2개의 개별 데이터 저장 시스템과 연관된 데이터를 동기화시키는 것을 용이하게 해주는 시스템 및/또는 방법에 관한 것이다. 데이터 저장 시스템은 적어도 데이터베이스 구조에 기초한 복합 모델(complex model)일 수 있으며, 여기서 데이터 저장 시스템 내의 정보를 복합 유형의 인스턴스로 표현하는 것을 가능하게 해주기 위해 항목, 서브-항목, 프로퍼티, 및 관계가 정의된다. 동기화 컴포넌트는 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해 안전한 피어-투-피어 데이터 동기화를 생성한다. 동기화 컴포넌트는 상기 데이터 저장 시스템 및 별개의 데이터 저장 시스템과 연관된 데이터를 동기화시키고, 여기서 안전한 피어-투-피어 동기화 커뮤니티가 구축될 수 있다. 동기화 컴포넌트는 적절한 액세스 권한을 갖는 사용자가 메타데이터를 수정하고(예를 들어, 사용자를 커뮤니티에 추가 및/또는 그로부터 제거하고) 변동 및/또는 조작을 다른 사용자들에게 전송할 수 있도록 동기화 커뮤니티의 멤버쉽 리스트(예를 들어, 사용자 액세스 권한 및/또는 특권의 리스트)를 비롯한 메타데이터를 보호한다. 이 데이터는 또한 적절한 액세스 권한을 갖는 사용자가 그를 수정하고 변동을 다른 사용자들에게 전송할 수 있도록 보호될 수 있다.
환언하면, 동기화 컴포넌트는 복잡한 동기화 관계들의 관리를 구현할 수 있다. 예를 들어, 동기화 관계들은 설정, 해체, 및 보안 관리를 포함할 수 있지만, 이에 제한되는 것은 아니다. 게다가, 동기화 컴포넌트는 전적으로 동기화 기술에 기초하여 복잡한 동기화 관계들의 관리를 구현할 수 있다. 예를 들어, 데이터 저장 시스템에 관련된 동기화 기술 등의 임의의 적당한 동기화 기술이 구현될 수 있다는 것을 잘 알 것이다.
청구된 발명 대상의 일 태양에 따르면, 동기화 컴포넌트는 데이터 저장 시스템과 연관된 기존의 동기화 기법들 및/또는 메카니즘을 이용할 수 있다. 동기화 컴포넌트는 데이터 저장 시스템 내부에, 상세하게는 데이터 저장 시스템 내의 스토어(store)에 저장된 여러가지 개체에 대한 데이터 변동을 추적하는 추적 컴포넌트를 포함하는 데이터 저장 시스템을 이용할 수 있다. 추적 컴포넌트는 일련의 데이터를 유지하는 2개의 개별 시스템 간에 데이터를 동기화하는 것을 용이하게 해주기 위해 개체들에 대한 데이터 변동(들)을 캡처할 수 있다. 데이터 저장 시스템 내에서 기존의 동기화 기법들 및/또는 메카니즘들을 이용함으로써, 동기화 컴포넌트는 어떤 새로운 메카니즘 및/또는 기법 없이 안전한 피어-투-피어 동기화된 커뮤니티를 제공할 수 있다.
청구된 발명 대상의 다른 태양에 따르면, 동기화 컴포넌트는 동기화된 관계를 생성하는 것, 동기화된 컨테이너를 생성하는 것, 사용자들을 초대하는 것, 초대를 수락하는 것, 커뮤니티에 참여하는 것, 사용자들을 제거하는 것, 멤버쉽 리스트를 유지하는 것, 및/또는 피어-투-피어 동기화된 커뮤니티의 전반적인 관리를 용이하게 해줄 수 있는 사용자 동기화 관리자를 포함할 수 있다. 게다가, 동기화 컴포넌트는 수동 동기화 및/또는 자동 동기화 중 적어도 하나를 포함할 수 있다. 수동 동기화는 사용자가 데이터를 수동으로 동기화할 수 있게 해줄 수 있다. 게다가, 자동 동기화는 피어-투-피어 데이터 동기화로 선택된 데이터의 자동 동기화를 제공할 수 있다.
청구된 발명 대상의 다른 태양에 따르면, 동기화 컴포넌트는 적어도 하나의 동작을 애플리케이션에 노출시키는 로컬 시스템으로서 실행되는 피어-투-피어 동기화 애플리케이션을 포함할 수 있다. 이 동작은 지정된 컨테이너에 쉐어(share)를 생성하는 것, 컨테이너에 대한 퍼미션을 생성하는 것, 컨테이너에 대한 퍼미션을 추가하는 것, 컨테이너의 소유자를 검증하는 것, 리스트에 기초하여 그룹 멤버쉽을 설정하는 것, 및 컨테이너 상에 생성된 쉐어를 삭제하는 것 중 적어도 하나일 수 있다. 게다가, 동기화 컴포넌트는 운영 체제 내의 동기화 컴포넌트(예를 들어, 특히 피어-투-피어 동기화 애플리케이션)와 다른 애플리케이션들 간의 통합을 용이하게 해주는 통합 컴포넌트(integrate component)를 포함할 수 있다. 게다가, 동기화 컴포넌트는 동기화된 폴더 생성 및/또는 관리를 프로그램적으로 수행할 수 있는 API 컴포넌트를 포함할 수 있다. 청구된 발명 대상의 다른 태양들에서, 적어도 2개의 개별 데이터 저장 시스템과 연관된 데이터를 동기화하는 것을 용이하게 해주는 방법들이 제공된다.
이하의 설명 및 첨부된 도면들은 청구된 발명 대상의 어떤 예시적인 태양들을 상세히 기술한다. 그렇지만, 이들 태양은 본 발명의 원리들이 이용될 수 있는 다양한 방법들 중 몇개만을 나타낸 것이며, 청구된 발명 대상은 이러한 태양들 및 그의 등가물 전부를 포함하는 것으로 보아야 한다. 청구된 발명 대상의 다른 이점 및 신규의 특징들이 도면들과 관련하여 살펴볼 때 본 발명의 이하의 상세한 설명으로부터 명백하게 될 것이다.
지시문 (instruction)
주어진 원문을 읽고 필요한 정보를 파악하여, 원문에 근거해 질문에 답하라.
질문 (question)
본 발명에서 제공하는 동기화 컴포넌트가 안전한 피어-투-피어 데이터 동기화를 생성함으로써 달성하고자 하는 목적은 무엇인가?
추론 과정 (compact_reasoning)
-
1과제 해석
task_interpretation동기화 컴포넌트의 기능인 '안전한 피어-투-피어 데이터 동기화 생성'이 지향하는 목적을 찾는다.
- 동기화 컴포넌트는 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해 안전한 피어-투-피어 데이터 동기화를 생성한다.
-
2정보 추출
information_extraction동기화 컴포넌트의 동작과 그에 따른 결과(목적)를 연결한다.
- 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해
-
3근거 선택
evidence_selection목적을 나타내는 직접적인 구절을 선별한다.
- 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해
-
4논리 통합
logical_integration안전한 동기화 생성이 다수 사용자의 다양한 계층/레벨 데이터 액세스를 가능하게 한다는 인과관계를 확인한다.
-
5결론 도출
conclusion_formulation다수의 사용자가 다양한 계층 및 레벨에서 동기화된 데이터에 액세스할 수 있도록 하는 것이 목적임을 도출한다.
- 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해
-
6답변 생성
answer_generation질문에 대해 문맥에 근거하여 명확하게 답변을 작성한다.
- 다수의 사용자가 다양한 계층 및/또는 레벨에서 이러한 동기화된 데이터에 액세스할 수 있게 해주기 위해
최종 답변 (final_answer)
다수의 사용자가 다양한 계층 및/또는 레벨에서 동기화된 데이터에 액세스할 수 있도록 하기 위함이다.
핵심 해석 (core_interpretation)
동기화 컴포넌트는 다수의 사용자가 다양한 계층 및 레벨에서 동기화된 데이터에 액세스할 수 있도록 안전한 피어-투-피어 데이터 동기화를 생성한다.