KR101616931B1 - 파일 동기화 방법 및 파일 동기화 시스템 - Google Patents

파일 동기화 방법 및 파일 동기화 시스템 Download PDF

Info

Publication number
KR101616931B1
KR101616931B1 KR1020140146060A KR20140146060A KR101616931B1 KR 101616931 B1 KR101616931 B1 KR 101616931B1 KR 1020140146060 A KR1020140146060 A KR 1020140146060A KR 20140146060 A KR20140146060 A KR 20140146060A KR 101616931 B1 KR101616931 B1 KR 101616931B1
Authority
KR
South Korea
Prior art keywords
proxy server
message
server
synchronization
update
Prior art date
Application number
KR1020140146060A
Other languages
English (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 to KR1020140146060A priority Critical patent/KR101616931B1/ko
Application granted granted Critical
Publication of KR101616931B1 publication Critical patent/KR101616931B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/18Service support devices; Network management devices
    • H04W88/182Network node acting on behalf of an other network entity, e.g. proxy

Abstract

파일 동기화 방법이 개시된다. 상기 파일 동기화 방법은, 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 제1 단말기로부터 제1 업데이트 메시지를 수신하는 단계, 상기 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하는 단계, 상기 제1 프록시 서버가 상기 제1 업데이트 메시지를 서버로 송신하는 단계, 상기 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 단계, 상기 제2 프록시 서버가 상기 제2 프록시 서버에 접속된 적어도 하나의 제3 단말기로 상기 알림 메시지를 송신하는 단계, 미리 정해진 시간 주기가 경과한 경우, 상기 서버가 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계, 및 상기 제2 프록시 서버가 상기 적어도 하나의 제3 단말기로 상기 제2 동기화 메시지를 송신하는 단계를 포함한다. 실시 예에 따라, 상기 파일 동기화 방법은, 상기 미리 정해진 시간 주기가 경과하기 전에 상기 서버가 상기 제2 프록시 서버로부터 액세스 메시지를 수신한 경우, 상기 서버가 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계를 더 포함할 수도 있다.

Description

파일 동기화 방법 및 파일 동기화 시스템{METHOD AND SYSTEM FOR SYNCHRONIZING FILE}
본 발명의 개념에 따른 실시 예는 파일 동기화 방법 및 파일 동기화 시스템에 관한 것으로, 특히 파일 업데이트를 수행한 단말기가 접속된 프록시 서버에 접속된 복수의 단말기들에 대한 동기화는 즉시 수행하고, 파일 업데이트를 수행한 단말기가 접속되지 않은 프록시 서버에 접속된 복수의 단말기들에 대한 동기화는 주기적으로 수행할 수 있는 파일 동기화 방법 및 파일 동기화 시스템에 관한 것이다.
최근 클라우드 기술을 통하여 파일을 저장하고 공유하는 어플리케이션들이 인기를 끌고 있다. 이러한 어플리케이션의 대표적인 예인 드롭박스(Dropbox)는 전세계적으로 1 억명이 넘는 사용자를 확보하고 있다. 파일 공유 어플리케이션에서는 사용자가 공유 폴더에 파일을 업로드하거나 수정할 수 있으며, 이러한 업데이트는 클라우드 서버(cloud server)에 의해 파일을 공유하고 있는 사용자들에게 동기화 된다. 하지만 업데이트가 너무 자주 발생하거나 파일을 공유하는 사용자들의 수가 많을 경우, 클라우드 서버에 의한 동기화 트래픽이 너무 커지는 문제점이 있다. 따라서, 동기화 트래픽을 줄일 수 있는 효과적인 동기화 기법이 필요하다.
대한민국 공개특허공보 제10-2013-0084469호 일본국 공개특허공보 특개2011-188263호
본 발명이 이루고자 하는 기술적인 과제는 파일 업데이트를 수행한 단말기가 접속된 프록시 서버에 접속된 복수의 단말기들에 대한 동기화는 즉시 수행하고, 파일 업데이트를 수행한 단말기가 접속되지 않은 프록시 서버에 접속된 복수의 단말기들에 대한 동기화는 주기적으로 수행하여 트래픽을 감소시킬 수 있는 파일 동기화 방법 및 파일 동기화 시스템을 제공하는 것이다.
본 발명의 일 실시 예에 따른 파일 동기화 방법, 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 제1 단말기로부터 제1 업데이트 메시지를 수신하는 단계, 상기 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하는 단계, 상기 제1 프록시 서버가 상기 제1 업데이트 메시지를 서버로 송신하는 단계, 상기 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 단계, 상기 제2 프록시 서버가 상기 제2 프록시 서버에 접속된 적어도 하나의 제3 단말기로 상기 알림 메시지를 송신하는 단계, 미리 정해진 시간 주기가 경과한 경우, 상기 서버가 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계, 및 상기 제2 프록시 서버가 상기 적어도 하나의 제3 단말기로 상기 제2 동기화 메시지를 송신하는 단계를 포함한다.
본 발명의 다른 실시 예에 따른 파일 동기화 방법은, 서버가 제1 프록시 서버로부터 제1 업데이트 메시지를 수신하는 단계, 상기 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 단계, 및 미리 정해진 시간 주기가 경과한 경우, 상기 서버가 제1 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 따른 파일 동기화 방법은, 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 제1 단말기로부터 업데이트 메시지를 수신하는 단계, 상기 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 적어도 하나의 제2 단말기로 동기화 메시지를 송신하는 단계, 및 상기 제1 프록시 서버가 상기 업데이트 메시지를 서버로 송신하는 단계를 포함한다.
본 발명의 또 다른 실시 예에 따른 파일 동기화 방법은, 제2 프록시 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 서버로부터 수신하는 단계, 상기 제2 프록시 서버가 상기 알림 메시지를 상기 제2 프록시 서버에 접속된 복수의 단말기들로 송신하는 단계, 상기 제2 프록시 서버가 미리 정해진 시간 주기가 경과한 후에 상기 서버로부터 제1 동기화 메시지를 수신하는 단계, 및 상기 제2 프록시 서버가 상기 제1 동기화 메시지를 상기 복수의 단말기들로 송신하는 단계를 포함한다.
본 발명의 실시 예에 따른 파일 동기화 시스템은, 제1 단말기로부터 제1 업데이트 메시지를 수신하고, 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하고, 상기 제1 업데이트 메시지를 서버로 송신하는 제1 프록시 서버, 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 상기 서버, 및 적어도 하나의 제3 단말기로 상기 알림 메시지를 송신하는 상기 제2 프록시 서버를 포함하고, 상기 서버는, 미리 정해진 시간 주기가 경과한 경우, 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하고, 상기 제2 프록시 서버는 상기 적어도 하나의 제3 단말기로 상기 제2 동기화 메시지를 송신한다.
본 발명의 실시 예에 따른 파일 동기화 방법 및 파일 동기화 시스템에 의할 경우, 동기화 횟수를 감소시켜 동기화에 따른 트래픽을 획기적으로 감소시킬 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 일 실시 예에 따른 동기화 시스템을 도시한다.
도 2는 도 1에 도시된 제1 프록시 서버의 기능 블럭도이다.
도 3은 도 1에 도시된 서버의 기능 블럭도이다.
도 4는 도 1에 도시된 동기화 시스템을 이용한 제1 동기화 방법을 설명하기 위한 흐름도이다.
도 5는 도 1에 도시된 동기화 시스템을 이용한 제2 동기화 방법을 설명하기 위한 흐름도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1 구성 요소는 제2 구성 요소로 명명될 수 있고 유사하게 제2 구성 요소는 제1 구성 요소로도 명명될 수 있다.
어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성 요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 명세서에 첨부된 도면들을 참조하여 본 발명의 실시 예들을 상세히 설명한다.
도 1은 본 발명의 일 실시 예에 따른 동기화 시스템을 도시한다.
도 1을 참조하면, 동기화 시스템(10)은 서버(100), 제1 프록시 서버(300), 제2 프록시 서버(400) 및 복수의 단말기들을 포함한다. 도 1에서, 서버(100)에는 2개의 프록시 서버들(300, 400)이 접속되어 있고, 제1 프록시 서버(300)에는 2 개의 단말기들(600, 700)이 접속되어 있고, 제2 프록시 서버(400)에는 2 개의 단말기들(800, 900)이 접속되어 있으나, 본 발명이 이에 제한되는 것은 아니다. 실시 예에 따라, 서버(100)에는 적어도 하나의 프록시 서버가 접속될 수 있고, 각각의 프록시 서버에는 적어도 하나의 단말기가 접속될 수 있다.
클라우드 서버로 불릴 수도 있는 서버(100)는, 복수의 프록시 서버들 각각에 접속된 복수의 단말기들이 공유하고 있는 파일에 대한 백업 서비스 또는 클라우드 서비스를 제공할 수 있다. 즉, 서버(100)는 복수의 프록시 서버들 중 어느 하나의 프록시 서버에 접속된 복수의 단말기들 중 적어도 하나의 단말기에 의해 업데이트된 파일 또는 수정된 파일이 상기 복수의 프록시 서버들 중 다른 프록시 서버들에 접속된 복수의 단말기들 사이에서 공유될 수 있도록 동기화 서비스를 제공할 수 있다.
제1 프록시 서버(300)는 제1 프록시 서버(300)와 접속된 복수의 단말기들로부터 업데이트 메시지를 수신할 수 있다. 또한, 제1 프록시 서버(300)는 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 상기 업데이트 메시지를 송신한 단말기를 제외한 단말기들 각각에 동기화 메시지를 송신함으로써, 상기 업데이트 메시지를 송신한 단말기를 제외한 단말기들이 파일을 동기화할 수 있도록 한다. 또한, 제1 프록시 서버(300)는 상기 동기화 메시지를 서버(100)로 송신할 수 있다.
제2 프록시 서버(400)는 서버(100)로부터 알림 메시지를 수신하고, 수신된 알림 메시지를 제2 프록시 서버(400)에 접속된 복수의 단말기들 각각으로 송신한다. 또한, 제2 프록시 서버(400)는 서버(100)로부터 동기화 메시지를 수신하고, 수신된 동기화 메시지를 제2 프록시 서버(400)에 접속된 복수의 단말기들 각각으로 송신함으로써, 상기 복수의 단말기들 각각이 파일을 동기화할 수 있도록 한다.
제1 프록시 서버(300)와 제2 프록시 서버(400)는 액세스 포인트(Access Point; AP) 또는 베이스 스테이션(Base Station; BS) 내에 구현될 수 있으며, 접속된 단말기들을 하나의 도메인으로 관리할 수 있다. 이를 통하여, 동일 도메인 내의 단말기들에 대한 동기화는 서버(100)를 거치지 않고 상기 동일 도메인을 관리하는 프록시 서버에 의해 진행될 수 있다.
복수의 단말기들 각각은 동일한 파일을 공유한다. 상기 복수의 단말기들은 제1 프록시 서버(300)와 유무선 통신망을 통하여 접속가능한 적어도 하나의 단말기 및 제2 프록시 서버(400)와 유무선 통신망을 통하여 접속가능한 적어도 하나의 단말기를 포함한다. 예컨대, 상기 복수의 단말기들은 제1 프록시 서버(300)와 접속가능한 제1 단말기(600)와 제2 단말기(700) 및 제2 프록시 서버(400)와 접속가능한 제3 단말기(800)와 제4 단말기(900)를 포함할 수 있다.
상기 복수의 단말기들 각각은 PC(personal computer), 태블릿 PC, 노트북(notebook), 넷-북(net-book), e-리더(e-reader), PDA(personal digital assistant), PMP(portable multimedia player), MP3 플레이어 또는 MP4 플레이어와 같은 데이터 처리 장치로 구현될 수 있다. 또한, 상기 복수의 단말기들 각각은 모바일폰(mobile phone) 또는 스마트폰(smart phone)과 같은 핸드헬드 장치(handheld device)로 구현될 수도 있다.
도 2는 도 1에 도시된 제1 프록시 서버의 기능 블럭도이다.
도 1과 도 2를 참조하면, 제1 프록시 서버(300)는 업데이트 메시지 송수신 모듈(310)과 제1 동기화 모듈(330)을 포함한다. 실시 예에 따라, 제1 프록시 서버(300)는 알림 메시지 송수신 모듈(350)과 액세스 메시지 송수신 모듈(370)을 더 포함할 수 있다.
업데이트 메시지 송수신 모듈(310)은, 제1 프록시 서버(300)에 접속되고 동일한 파일을 공유하고 있는 복수의 단말기들 중 어느 하나의 단말기로부터 업데이트 메시지를 수신할 수 있다. 또한, 업데이트 메시지 송수신 모듈(310)은 수신된 업데이트 메시지를 서버(100)로 송신할 수 있다. 예컨대, 업데이트 메시지 송수신 모듈(310)은 제1 단말기(600)로부터 업데이트 메시지를 수신하고, 수신된 업데이트 메시지를 서버(100)로 송신할 수 있다.
제1 동기화 모듈(330)은 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 업데이트 메시지를 송신한 단말기를 제외한 단말기들로 동기화 메시지를 송신할 수 있다. 예컨대, 제1 동기화 모듈(330)은 제2 단말기(700)로 상기 동기화 메시지를 송신할 수 있다. 실시 예에 따라, 제1 동기화 모듈(330)은 서버(100)로부터 동기화 메시지를 수신하고, 수신된 동기화 메시지를 제1 프록시 서버(300)에 접속된 복수의 단말기들로 송신할 수도 있다. 제1 프록시 서버(300)로부터 동기화 메시지를 수신한 적어도 하나의 단말기는 상기 동기화 메시지를 이용하여 파일을 동기화할 수 있다.
알림 메시지 송수신 모듈(350)은 서버(100)로부터 알림 메시지를 수신하고, 수신된 알림 메시지를 제1 프록시 서버(300)에 접속된 복수의 단말기들로 송신할 수 있다.
액세스 메시지 송수신 모듈(370)은 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 어느 하나의 단말기로부터 액세스 메시지를 수신하고, 수신된 액세스 메시지를 서버(100)로 송신할 수 있다.
도 1에 도시된 제2 프록시 서버(400)의 기능 및 구조는 제1 프록시 서버(300)와 동일할 수 있으므로 이에 대한 상세한 설명은 생략하기로 한다. 다만, 실시 예에 따라, 제1 프록시 서버(300)는 업데이트 메시지 송수신 모듈(310)과 제1 동기화 모듈(330)을 포함하도록 구현될 수 있고, 제2 프록시 서버(400)는 제1 동기화 모듈(330), 알림 메시지 송수신 모듈(350) 및 액세스 메시지 송수신 모듈(370)을 포함하도록 구현될 수도 있다.
도 3은 도 1에 도시된 서버의 기능 블럭도이다.
도 1과 도 3을 참조하면, 서버(100)는 업데이트 메시지 수신 모듈(110), 알림 메시지 송신 모듈(130) 및 제2 동기화 모듈(150)을 포함한다.
업데이트 메시지 수신 모듈(110)은 제1 프록시 서버(300)로부터 업데이트 메시지를 수신할 수 있다. 예컨대, 업데이트 메시지 수신 모듈(110)은 제1 단말기(600)가 송신한 업데이트 메시지를 제1 프록시 서버(300)를 경유하여 수신할 수 있다.
알림 메시지 송신 모듈(130)은 다수의 프록시 서버들 중 업데이트 메시지를 송신한 프록시 서버를 제외한 프록시 서버들로 알림 메시지를 송신할 수 있다. 예컨대, 알림 메시지 송신 모듈(130)은 제1 프록시 서버(300)와 제2 프록시 서버(400) 중 상기 업데이트 메시지를 송신하지 않은 제2 프록시 서버(300)로 알림 메시지를 송신할 수 있다.
제2 동기화 모듈(150)은 미리 정해진 시간 주기에 기초하여, 동기화가 진행되지 않은 단말기들이 접속된 프록시 서버로 동기화 메시지를 전송함으로써, 상기 단말기들이 동일한 파일을 공유하도록 할 수 있다.
실시 예에 따라, 제2 동기화 모듈(150)은 프록시 서버로부터 액세스 메시지를 수신하고, 이에 대한 응답으로 동기화 메시지를 상기 액세스 메시지를 송신한 프록시 서버 또는 동기화가 진행되지 않은 단말기들이 접속된 프록시 서버들로 송신할 수도 있다. 예컨대, 제2 동기화 모듈(150)은 액세스 메시지를 제2 프록시 서버(400)를 경유하여 제4 단말기(900)로부터 수신하고, 이에 대한 응답으로 동기화 메시지를 제2 프록시 서버(400)로 송신할 수 있다.
도 2와 도 3에 도시된 제1 프록시 서버(300), 제2 프록시 서버(400) 및 서버(100)의 구성들 각각은 기능 및 논리적으로 분리될 수 있음으로 나타내는 것이며, 반드시 각각의 구성이 별도의 물리적 장치로 구분되거나 별도의 코드로 작성됨을 의미하는 것이 아님을 본 발명의 기술분야의 평균적 전문가는 용이하게 추론할 수 있을 것이다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것이 아니다.
도 4는 도 1에 도시된 동기화 시스템을 이용한 제1 동기화 방법을 설명하기 위한 흐름도이다.
도 1과 도 4를 참조하면, 제1 단말기(600)는 제1 업데이트 메시지(Update(F, d1))를 제1 프록시 서버(300)로 송신한다(S100). 상기 제1 업데이트 메시지는 업데이트된(또는 수정된) 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다. 상기 업데이트 내용 정보는 업데이트가 이루어진 파일 자체를 의미할 수도 있고, 업데이트가 이루어지기 전의 파일과 업데이트가 이루어진 파일 사이의 차이점, 즉 제1 델타 파일(d1)일 수도 있다.
상기 제1 업데이트 메시지를 수신한 제1 프록시 서버(300)는 제1 동기화 메시지(Sync(F, d1))를 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 제1 단말기(600)를 제외한 단말기들로 송신한다(S200). 즉, 제1 프록시 서버(300)는 상기 제1 동기화 메시지를 제2 단말기(700)로 송신한다. 상기 제1 동기화 메시지는 제1 단말기(600)에 의해 업데이트가 이루어진 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다.
상기 제1 동기화 메시지를 수신한 제2 단말기(700)는 상기 제1 동기화 메시지를 이용하여 파일을 동기화할 수 있다. 구체적으로, 상기 제1 동기화 메시지에 업데이트된 파일이 포함되어 있는 경우, 제2 단말기(700)는 제2 단말기(700) 내에 저장되어 있는 업데이트되지 않은 파일을 업데이트된 파일로 대체함으로써 파일을 동기화할 수 있다. 상기 제1 동기화 메시지에 제1 델타 파일(d1)이 포함되어 있는 경우, 제2 단말기(700)는 상기 제1 델타 파일을 패치하여 파일을 동기화할 수 있다.
또한, 제1 프록시 서버(300)는 제1 단말기(600)로부터 수신한 제1 업데이트 메시지를 서버(100)로 송신한다(S300). 즉, 서버(100)는 상기 제1 업데이트 메시지를 제1 프록시 서버(300)를 경유하여 제1 단말기(600)로부터 수신할 수 있다.
상기 제1 업데이트 메시지를 수신한 서버(100)는 파일이 업데이트되었음을 알리는 알림 메시지(Notify(F))를 상기 제1 업데이트 메시지를 송신하지 않은 프록시 서버들로 송신한다(S400). 예컨대, 서버(100)는 상기 알림 메시지를 제2 프록시 서버(400)로 송신한다. 상기 알림 메시지는 업데이트된 파일을 식별할 수 있는 업데이트 파일 정보를 포함할 수 있다.
또한, 상기 알림 메시지를 수신한 제2 프록시 서버(400)는 상기 알림 메시지를 제2 프록시 서버(400)와 접속된 복수의 단말기들로 송신할 수 있다(S500). 구체적으로 제2 프록시 서버(400)는 상기 알림 메시지를 제3 단말기(800)와 제4 단말기(900)로 송신할 수 있다. 제2 프록시 서버(400)에 접속된 복수의 단말기들은 알림 메시지를 통하여 특정 파일에 대한 업데이트가 이루어졌음을 알 수 있다.
미리 정해진 시간 주기(T) 동안에, 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 어느 하나, 예컨대 제1 단말기(600)에 의해 동일한 파일에 대한 업데이트가 수행될 수 있다. 이 경우, 제1 단말기(600)은 제2 업데이트 메시지(Update(F, d2))를 제1 프록시 서버(300)로 송신한다(S600). 상기 제2 업데이트 메시지는 업데이트가 이루어진 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다. 상기 업데이트 내용 정보는 업데이트가 이루어진 파일 자체를 의미할 수도 있고, 업데이트가 이루어지기 전의 파일과 업데이트가 이루어진 파일 사이의 차이점, 즉 제2 델타 파일(d2)일 수도 있다.
상기 제2 업데이트 메시지를 수신한 제1 프록시 서버(300)는 제2 동기화 메시지(Sync(F, d2))를 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 제1 단말기(600)를 제외한 단말기들로 송신한다(S700). 즉, 제1 프록시 서버(300)는 상기 제2 동기화 메시지를 제2 단말기(700)로 송신한다. 상기 제2 동기화 메시지는 제1 단말기(600)에 의해 업데이트가 이루어진 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다.
상기 제2 동기화 메시지를 수신한 제2 단말기(700)는 상기 제2 동기화 메시지를 이용하여 파일을 동기화할 수 있다.
또한, 제1 프록시 서버(300)는 제1 단말기(600)로부터 수신한 제2 업데이트 메시지를 서버(100)로 송신한다(S800). 즉, 서버(100)는 상기 제2 업데이트 메시지를 제1 프록시 서버(300)를 경유하여 제1 단말기(600)로부터 수신할 수 있다.
이때, 상기 제2 업데이트 메시지를 수신한 서버(100)는 추가적인 알림 메시지를 송신하지 않을 수 있다. 즉, 동일한 파일에 대해 업데이트되었다는 사실만이 중요할 뿐 업데이트 횟수는 중요하지 않기 때문이다. 즉, 제2 프록시 서버(400)에 접속된 복수의 단말기들은 S500 단계에서 수신한 알림 메시지를 통하여 특정 파일에 대한 업데이트가 이루어졌음을 이미 알고 있기 때문에 추가적인 알림 메시지를 수신할 필요는 없다. 다만, 본 발명의 권리범위가 이에 제한되는 것은 아니며 실시 예에 따라 추가적인 알림 메시지를 송신하는 단계가 추가될 수도 있다.
미리 정해진 시점으로부터 미리 정해진 시간 주기(T)에 해당하는 시간이 경과한 경우, 서버(100)는 동기화 메시지(Sync(F, d1, d2))를 제2 프록시 서버(400)로 송신(S900)함으로써, 업데이트가 이루어진 파일에 대한 동기화 동작을 수행할 수 있다. 상기 동기화 메시지는 제1 업데이트와 제2 업데이트가 반영된 업데이트 파일, 제1 델타 파일(d1)과 제2 델타 파일(d2), 또는 제1 델타 파일(d1)과 제2 델타 파일(d2)을 병합하여 생성된 제3 델타 파일(d3) 중 어느 하나를 포함하는 업데이트 내용 정보를 포함할 수 있다. 또한, 상기 동기화 메시지는 업데이트가 이루어진 파일을 식별할 수 있는 업데이트 파일 정보를 더 포함할 수도 있다.
상기 동기화 메시지를 수신한 제2 프록시 서버(400)는 상기 동기화 메시지를 제2 프록시 서버(400)에 접속된 복수의 단말기들에게 송신할 수 있다(S100). 예컨대, 제2 프록시 서버(400)는 상기 동기화 메시지를 제3 단말기(800)와 제4 단말기(900)로 송신할 수 있다.
제2 프록시 서버(400)에 접속된 복수의 단말기들은 상기 동기화 메시지를 이용하여, 파일을 동기화할 수 있다. 구체적으로, 상기 동기화 메시지에 업데이트 파일이 포함된 경우, 제3 단말기(800)와 제4 단말기(900)는 업데이트되지 않은 파일을 상기 업데이트 파일로 대체하여 파일을 동기화할 수 있다. 상기 동기화 메시지에 복수의 델타 파일들 또는 하나의 델타 파일이 포함된 경우, 제3 단말기(800)와 제4 단말기(900)는 수신된 적어도 하나의 델타 파일을 패치하여 파일을 동기화할 수 있다.
상술한 바와 같이, 본 발명에 의한 파일 동기화 방법에 의할 경우, 미리 정해진 시간 주기(T)마다 동기화를 진행함으로써, 동기화 동작으로 인한 트래픽을 획기적으로 감소시킬 수 있다.
도 5는 도 1에 도시된 동기화 시스템을 이용한 제2 동기화 방법을 설명하기 위한 흐름도이다. 미리 정해진 시간 주기(T)에 해당하는 시간이 경과되기 전에, 동기화가 이루어지지 않은 단말기로부터 파일에 대한 액세스 요청이 발생하는 점에서 도 2를 통하여 설명된 제1 동기화 방법과 제2 동기화 방법에 차이점이 존재한다.
도 1과 도 5를 참조하면, 제1 단말기(600)는 업데이트 메시지(Update(F, d1)를 제1 프록시 서버(300)로 송신한다(S2100). 상기 업데이트 메시지는 업데이트가 이루어진 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다. 상기 업데이트 내용 정보는 업데이트가 이루어진 파일 자체를 의미할 수도 있고, 업데이트가 이루어지기 전의 파일과 업데이트가 이루어진 파일 사이의 차이점, 즉 델타 파일(d1)일 수도 있다.
상기 제1 업데이트 메시지를 수신한 제1 프록시 서버(300)는 제1 동기화 메시지(Sync(F, d1))를 제1 프록시 서버(300)에 접속된 복수의 단말기들 중 제1 단말기(600)를 제외한 단말기들로 송신한다(S2200). 즉, 제1 프록시 서버(300)는 상기 제1 동기화 메시지를 제2 단말기(700)로 송신한다. 상기 제1 동기화 메시지는 제1 단말기(600)에 의해 업데이트가 이루어진 파일(F)을 식별할 수 있는 업데이트 파일 정보 및/또는 업데이트 내용을 확인할 수 있는 업데이트 내용 정보를 포함할 수 있다.
상기 제1 동기화 메시지를 수신한 제2 단말기(700)는 상기 제1 동기화 메시지를 이용하여 파일을 동기화할 수 있다.
또한, 제1 프록시 서버(300)는 제1 단말기(600)로부터 수신한 업데이트 메시지를 서버(100)로 송신한다(S2300). 즉, 서버(100)는 상기 업데이트 메시지를 제1 프록시 서버(300)를 경유하여 제1 단말기(600)로부터 수신할 수 있다.
상기 제1 업데이트 메시지를 수신한 서버(100)는 파일이 업데이트되었음을 알리는 알림 메시지(Notify(F))를 제2 프록시 서버(400)로 송신한다(S2400). 상기 알림 메시지는 업데이트된 파일을 식별할 수 있는 업데이트 파일 정보를 포함할 수 있다.
또한, 상기 알림 메시지를 수신한 제2 프록시 서버(400)는 상기 알림 메시지를 제2 프록시 서버(400)와 접속된 복수의 단말기들로 송신할 수 있다(S2500).
미리 정해진 시간 주기(T)에 해당하는 시간이 경과하기 전에, 제2 프록시 서버(400)에 접속된 복수의 단말기들 중 어느 하나의 단말기가 업데이트된 파일을 요청하는 경우가 생길 수 있다. 즉, 알림 메시지를 수신한 복수의 단말기들 중 어느 하나의 단말기, 예컨대 제4 단말기(900)가 업데이트된 파일을 요청할 수 있다. 물론, 제4 단말기(900)가 업데이트 완료된 파일을 요청하기 전에 제1 프록시 서버(300)에 접속된 적어도 하나의 단말기에 의한 적어도 1회 이상의 업데이트가 추가적으로 발생할 수 있음은 자명하다.
이때, 제4 단말기(900)는 액세스 메시지(Access(F))를 제2 프록시 서버(400)로 송신한다(S2600). 상기 액세스 메시지는 특정한 파일에 대한 동기화를 요청하는 동기화 요청 메시지일 수 있다.
제4 단말기(900)로부터 액세스 메시지를 수신한 제2 프록시 서버(400)는 상기 액세스 메시지를 서버(100)로 송신한다(S2700).
서버(400)가 액세스 메시지를 수신한 경우, 미리 정해진 시점으로부터 미리 정해진 시간 주기(T)에 해당하는 시간이 경과하지 안았음에도 불구하고, 서버(100)는 동기화 메시지(Sync(F, d1)를 제2 프록시 서버(400)로 송신(S2800)함으로써, 업데이트가 이루어진 파일에 대한 동기화 동작을 수행할 수 있다.
상기 동기화 메시지를 수신한 제2 프록시 서버(400)는 상기 동기화 메시지를 제2 프록시 서버(400)에 접속된 복수의 단말기들에게 송신할 수 있다(S2900). 예컨대, 제2 프록시 서버(400)는 상기 동기화 메시지를 제3 단말기(800)와 제4 단말기(900)로 송신할 수 있다.
제2 프록시 서버(400)에 접속된 복수의 단말기들은 수신된 상기 동기화 메시지를 이용하여, 파일을 동기화할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 서버
110 : 업데이트 메시지 수신 모듈
130 : 알림 메시지 송신 모듈
150 : 제2 동기화 모듈
300 : 제1 프록시 서버
310 : 업데이트 메시지 송수신 모듈
330 : 제2 동기화 모듈
350 : 알림 메시지 송수신 모듈
400 : 제2 프록시 서버
600 : 제1 단말기
700 : 제2 단말기
800 : 제3 단말기
900 : 제4 단말기

Claims (8)

  1. 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 제1 단말기로부터 제1 업데이트 메시지를 수신하는 단계;
    상기 제1 프록시 서버가 상기 제1 프록시 서버에 접속된 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하는 단계;
    상기 제1 프록시 서버가 상기 제1 업데이트 메시지를 서버로 송신하는 단계;
    상기 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 단계;
    상기 제2 프록시 서버가 상기 제2 프록시 서버에 접속된 적어도 하나의 제3 단말기로 상기 알림 메시지를 송신하는 단계;
    미리 정해진 시간 주기가 경과한 경우, 상기 서버가 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계; 및
    상기 제2 프록시 서버가 상기 적어도 하나의 제3 단말기로 상기 제2 동기화 메시지를 송신하는 단계를 포함하는 파일 동기화 방법.
  2. 서버가, 제1 프록시 서버에 접속된 제1 단말기로부터 제1 업데이트 메시지를 수신하고 상기 제1 프록시 서버에 접속된 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하는 상기 제1 프록시 서버로부터 상기 제1 업데이트 메시지를 수신하는 단계;
    상기 서버가 특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 단계; 및
    미리 정해진 시간 주기가 경과한 경우, 상기 서버가 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계를 포함하고,
    상기 제2 동기화 메시지는 상기 제2 프록시 서버에 의해 상기 제2 프록시 서버에 접속된 적어도 하나의 제3 단말기로 송신되는,
    파일 동기화 방법.
  3. 제2항에 있어서,
    상기 파일 동기화 방법은,
    상기 미리 정해진 시간 주기가 경과하기 전에 상기 서버가 상기 제2 프록시 서버로부터 액세스 메시지를 수신한 경우, 상기 서버가 상기 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하는 단계를 더 포함하는, 파일 동기화 방법.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1 단말기로부터 제1 업데이트 메시지를 수신하고, 적어도 하나의 제2 단말기로 제1 동기화 메시지를 송신하고, 상기 제1 업데이트 메시지를 서버로 송신하는 제1 프록시 서버;
    특정 파일에 대한 업데이트가 진행되었음을 알리는 알림 메시지를 제2 프록시 서버로 송신하는 상기 서버; 및
    적어도 하나의 제3 단말기로 상기 알림 메시지를 송신하는 상기 제2 프록시 서버를 포함하고,
    상기 서버는, 미리 정해진 시간 주기가 경과한 경우, 제2 동기화 메시지를 상기 제2 프록시 서버로 송신하고,
    상기 제2 프록시 서버는 상기 적어도 하나의 제3 단말기로 상기 제2 동기화 메시지를 송신하는, 파일 동기화 시스템.
  8. 제7항에 있어서,
    상기 미리 정해진 시간 주기가 경과하기 전에 상기 제2 프록시 서버가 상기 적어도 하나의 제3 단말기로부터 액세스 메시지를 수신한 경우, 상기 제2 프록시 서버는 상기 액세스 메시지를 상기 서버로 송신하고,
    상기 서버는 제3 동기화 메시지를 상기 제2 프록시 서버로 송신하고,
    상기 제2 프록시 서버는 상기 제3 동기화 메시지를 상기 적어도 하나의 제3 단말기로 송신하는, 파일 동기화 시스템.
KR1020140146060A 2014-10-27 2014-10-27 파일 동기화 방법 및 파일 동기화 시스템 KR101616931B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140146060A KR101616931B1 (ko) 2014-10-27 2014-10-27 파일 동기화 방법 및 파일 동기화 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140146060A KR101616931B1 (ko) 2014-10-27 2014-10-27 파일 동기화 방법 및 파일 동기화 시스템

Publications (1)

Publication Number Publication Date
KR101616931B1 true KR101616931B1 (ko) 2016-04-29

Family

ID=55915990

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140146060A KR101616931B1 (ko) 2014-10-27 2014-10-27 파일 동기화 방법 및 파일 동기화 시스템

Country Status (1)

Country Link
KR (1) KR101616931B1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100599204B1 (ko) * 2005-11-11 2006-07-12 주식회사 리얼타임테크 모바일 환경에서의 유무선 데이터 동기화 시스템 및 이를이용한 동기화 방법
KR100819044B1 (ko) * 2005-12-07 2008-04-02 한국전자통신연구원 텔레매틱스 단말기를 위한 통합 동기화 엔진 및 동기화방법
JP2011188263A (ja) 2010-03-09 2011-09-22 Keio Gijuku ネットワークシステム
US20130031229A1 (en) * 2011-07-27 2013-01-31 Hitachi, Ltd. Traffic reduction method for distributed key-value store
KR20130084469A (ko) 2012-01-17 2013-07-25 삼성전자주식회사 데이터 압축 저장 방법 및 이를 이용한 저장 장치

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100599204B1 (ko) * 2005-11-11 2006-07-12 주식회사 리얼타임테크 모바일 환경에서의 유무선 데이터 동기화 시스템 및 이를이용한 동기화 방법
KR100819044B1 (ko) * 2005-12-07 2008-04-02 한국전자통신연구원 텔레매틱스 단말기를 위한 통합 동기화 엔진 및 동기화방법
JP2011188263A (ja) 2010-03-09 2011-09-22 Keio Gijuku ネットワークシステム
US20130031229A1 (en) * 2011-07-27 2013-01-31 Hitachi, Ltd. Traffic reduction method for distributed key-value store
KR20130084469A (ko) 2012-01-17 2013-07-25 삼성전자주식회사 데이터 압축 저장 방법 및 이를 이용한 저장 장치

Similar Documents

Publication Publication Date Title
KR101233263B1 (ko) 피드백 메시지를 이용한 푸시 서비스 제공 시스템 및 방법
JP2016530766A5 (ko)
US10887751B1 (en) Systems and methods for facilitating network function device discovery
TWI697239B (zh) 資源塊組的劃分方法和使用者終端
EP3032870B1 (en) Control method and device for data transmission of wireless communication network
US9743458B2 (en) Adaptive crowdsourced keep-alive interval determination
US9628567B2 (en) Methods and systems for efficient discovery of devices in a peer-to-peer network
BR112019022085A2 (pt) método para comunicação d2d, equipamento de usuário remoto e equipamento de usuário de retransmissão
CN101267383B (zh) 数据传送方法及系统
CN103810010A (zh) 一种信息处理方法和第一电子设备终端
CN103701891A (zh) 跨终端下载的方法、系统、服务器、移动终端和固定终端
JP5944340B2 (ja) アプリケーション配信システム、アプリケーションの配信方法およびプログラム
EP3226591A1 (en) Call transfer method and terminal
CN103179201A (zh) 一种文件同步的方法及系统
KR101616931B1 (ko) 파일 동기화 방법 및 파일 동기화 시스템
CN105451367A (zh) 一种无线网络连接方法、设备及系统
US20140025738A1 (en) System and method for communicating data to multiple communication devices
EP2999266B1 (en) Method, device and system for obtaining mobile network data resources
KR20160026138A (ko) 클라우드 데이터 시스템의 급속 동기화 방법 및 그를 이용한 클라우드 데이터 시스템
CN105554731A (zh) 一种ota升级方法和设备
CN104618518B (zh) 群组应用场景下多终端协同文件传输方法
CN106462421B (zh) 电信设备以及用于更新电信设备中的软件的方法
CN102946435A (zh) 文件的同步方法及装置
EP3487147A1 (en) Information synchronization method and device
JP2021514566A (ja) サービス伝送方法および装置、コンピュータ記憶媒体

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant