KR20150111645A - 단일 통신인터페이스 전송방법 및 장치 - Google Patents

단일 통신인터페이스 전송방법 및 장치 Download PDF

Info

Publication number
KR20150111645A
KR20150111645A KR1020140035247A KR20140035247A KR20150111645A KR 20150111645 A KR20150111645 A KR 20150111645A KR 1020140035247 A KR1020140035247 A KR 1020140035247A KR 20140035247 A KR20140035247 A KR 20140035247A KR 20150111645 A KR20150111645 A KR 20150111645A
Authority
KR
South Korea
Prior art keywords
event
occurrence
transmitting
cloud network
events
Prior art date
Application number
KR1020140035247A
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 KR1020140035247A priority Critical patent/KR20150111645A/ko
Publication of KR20150111645A publication Critical patent/KR20150111645A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 단일 통신인터페이스 전송방법 및 장치에 관한 것으로서, 본 발명에 따른 단일 통신인터페이스 전송방법은 클라우드 네트워크의 연결상태를 확인하는 단계, 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하는 단계, 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 클라우드 네트워크에 전송하지 않고 쌓아두는 단계, 및 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 단계를 포함하고, 클라이언트에서 동기화에 의한 이벤트를 전송할 때 동일한 목적의 API를 통합하여 전송하는 HTTP API를 사용하여 성능을 개선할 수 있는 단일 통신인터페이스 전송방법 및 장치를 제공할 수 있는 효과가 있다.

Description

단일 통신인터페이스 전송방법 및 장치{METHOD AND APPARATUS FOR TRANSMITTING IN SINGLE COMMUNICATION INTERFACE}
본 발명은 단일 통신인터페이스 전송방법 및 장치에 관한 것으로서, 보다 상세하게는 네트워크 비용을 줄이고 전송 속도를 증가시킬 수 있는 단일 통신인터페이스 전송방법 및 장치에 관한 것이다.
이동통신기술이 발달하고 사용하는 데이터 량이 증가함에 따라서 효과적이고 효율적인 데이터의 송수신 방법에 대한 요구가 늘어가고 있다. 보편적으로 데이터의 저장 및 다른 사람에게 자료를 전송하는 방법으로써 주로 이메일을 사용하고 있으나 이 경우 광대한 용량을 가진 이메일 서버를 구축 및 유지해야만 하며, 고용량의 데이터가 서버로 전송되면서 메일서버는 대량의 부하를 감당해야만 하는 문제가 발생되고 있다.
인터넷을 통하여 데이터 저장, 네트워크 및 콘텐츠 사용 등 IT 관련 서비스를 한번에 사용할 수 있는 다양한 클라우드 컴퓨팅 (Cloud Computing) 방식들이 있다. 클라우드 컴퓨팅이란 가상화 컴퓨팅, 유틸리티 컴퓨팅, 온디멘드 컴퓨팅 등과 같이 다양한 컴퓨팅 개념과 통신 기술이 혼합되어 적용된 것으로, 통상적으로 다수의 컴퓨터들로 구성되는 복수의 데이터센터를 가상화 기술로 통합하여 하나의 가상 컴퓨터 또는 서비스를 구현하고, 사용자가 이에 접속하여 각종 소프트웨어, 보안 솔루션 및 컴퓨팅 능력 등을 온디맨드 방식으로 제공하는 기술을 의미한다. 즉, 클라우드 컴퓨팅이란 '인터넷을 통한 IT자원의 온디맨드 아웃소싱 서비스'로서, 개인용 컴퓨터나 기업의 서버에 개별적으로 저장하던 프로그램이나 문서를 인터넷 기반의 가상 서버 또는 스토리지에 저장하고, 저장된 데이터를 개인용 컴퓨터를 비롯한 다양한 단말사이에서 웹 브라우저 등의 클라우드 어플리케이션을 통해 전송함으로써 사용자가 원하는 작업을 수행할 수 있도록 하는 방식이다.
클라우드 컴퓨팅은 크게 두 가지 예시적인 방식이 있다. 하나는 웹 디스크 제공방식이고 다른 하나는 백그라운드 동기화 방식이다. 웹 디스크 제공 방식은 네트워크 디스크를 제공하고 이 공간을 이용하여 개인의 데이터를 업로드 및 다운로드하여 개인 데이터를 클라우드에 저장하고 개인의 다양한 단말기에 전송할 수 있도록 공유하는 방식이다. 예를 들면 마이크로소프트 (MicroSoft) 사의 스카이 드라이브 (Sky Drive), 구글 (Google) 사의 구글 독스 (Google Docs) 및 엔에이치엔 (NHN) 의 엔-드라이브 (N-Drive) 가 있다. 이 방식은 모든 데이터 접근 과정이 네트워크를 통해 이루어지기 때문에 느리다. 또한 오프라인에서는 이용할 수 없다. 백그라운드 동기화 방식은 파일 시스템의 일부를 백그라운드 프로세서를 이용해 주기적으로 동기화해주는 방식이다. 예를 들면 케이티 클라우드 (KT Ucloud), 드롭박스 (Dropbox) 및 마이크로소프트 메쉬 (MicroSoft Mesh) 등이 있다. 이 방식은 클라우드가 연결된 수와 용량만큼 중복된 파일과 디스크 용량이 클라우드와 연결된 장치에 부과된다.
다만, 이러한 클라우드 컴퓨팅 기술 개발은 대부분 데스크탑 중심의 컴퓨팅 환경 또는 효과적인 대용량 처리를 위한 서버 측면에서의 가상화 기술에 초점을 맞추고 있을 뿐, 소형의 다양한 단말들을 기반으로 하는 모바일 환경에서의 효율적인 데이터 전송에 대한 서비스 기술은 고려하지 않고 있는 실정이다.
그러나, 스마트폰과 같이 다양한 모바일 단말들을 활용하고 있는 최근의 통신 환경에서 장소나 단말 종류 및 네트워크에 상관없이 사용자의 클라우드 어플리케이션과 서비스를 효과적으로 활용하여 접근할 수 있는 방법에 대한 필요성이 점점 커지고 있다. 또한, 스마트폰과 같은 모바일 단말 등에서는 클라우드 컴퓨팅을 이용할 수 있지만, 복잡한 인터페이스와 기능을 제공하며, 다양한 단말로부터 클라우드 컴퓨팅에 대한 수많은 이벤트들이 처리되고 전송되어 네트워크 사용량이 커지고 있다.
이에 따라, 효과적인 클라우드 컴퓨팅을 위해 클라우드 컴퓨팅의 동기화 방식에 따라 클라이언트의 다양한 이벤트들을 보다 효율적으로 처리하여, 데이터를 전송하는 성능을 향상시키고 네트워크 사용을 최소화시킬 필요성이 증대되었다.
본 발명이 해결하고자 하는 과제는 클라이언트에서 동기화에 의한 이벤트를 전송할 때 동일한 목적의 API를 통합하여 전송하는 HTTP API를 사용하여 성능을 개선할 수 있는 단일 통신인터페이스 전송방법 및 장치를 제공하는 것이다.
본 발명이 해결하고자 하는 다른 과제는 HTTP API를 사용하여 클라우드에 파일을 전송할 때 네트워크 사용을 줄일 수 있는 단일 통신인터페이스 전송방법 및 장치를 제공하는 것이다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 단일 통신인터페이스 전송방법은 클라우드 네트워크의 연결상태를 확인하는 단계, 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하는 단계, 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 클라우드 네트워크에 전송하지 않고 쌓아두는 단계, 및 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 발생이벤트를 쌓아두는 단계는, 발생이벤트 중 중복되는 이벤트가 존재하는 경우 중복된 이벤트 중 하나만을 남기고 다른 나머지 이벤트를 제거하는 단계를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 전송하는 단계는 발생이벤트가 동기화되지 않은 경우, 발생이벤트를 1개의 형식으로 통합하여 한꺼번에 전송하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 전송하는 단계는 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키지 않는 이벤트를 포함하는 경우, 발생이벤트 중 최종 이벤트를 전송하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 전송하는 단계는 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키는 이벤트를 포함하는 경우, 이벤트에 대응하여 데이터의 사본을 생성하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 쌓아두는 단계는 발생이벤트를 리스트 형태로 변환하여 클라우드 네트워크에 전송하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 연결상태가 온라인인 경우에도, 묶음형 동기화 상태로 전환하고, 발생이벤트를 쌓아두고, 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 단일 통신인터페이스 전송방법는 클라이언트에 의해 전송된 발생이벤트 또는 리스트 중 적어도 하나를 수신하는 단계, 발생이벤트 또는 리스트 중 적어도 하나를 클라이언트의 명령에 대응하여 순차적으로 처리하는 단계, 및 발생이벤트 또는 리스트 중 적어도 하나를 처리한 결과를 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 다른 실시예에 따른 단일 통신인터페이스 전송장치는 클라우드 네트워크의 연결상태를 확인하고, 클라우드 네트워크로부터 연산처리 결과를 수신하는 수신부, 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하고, 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 클라우드 네트워크에 전송하지 않고 쌓아두는 처리부, 및 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 송신부를 포함하는 것을 특징으로 한다.
본 발명의 다른 특징에 따르면, 처리부는 발생이벤트 중 중복되는 이벤트가 존재하는 경우 중복된 이벤트 중 하나만을 남기고 다른 나머지 이벤트를 제거하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 송신부는 발생이벤트가 동기화되지 않은 경우, 발생이벤트를 1개의 형식으로 통합하여 한꺼번에 전송하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 송신부는 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키지 않는 이벤트를 포함하는 경우, 발생이벤트 중 최종 이벤트를 전송하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 송신부는 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키는 이벤트를 포함하는 경우, 이벤트에 대응하여 데이터의 사본을 생성하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 발생이벤트는 리스트 형태로 클라우드 네트워크와 통신하는 것을 특징으로 한다.
본 발명의 또 다른 특징에 따르면, 연결상태가 온라인인 경우에도, 묶음형 동기화 상태로 전환하고, 발생이벤트를 쌓아두고, 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 것을 특징으로 한다.
전술한 바와 같은 과제를 해결하기 위하여 본 발명의 일 실시예에 따른 단일 통신인터페이스 전송방법을 제공하는 명령어들을 저장하는 컴퓨터 판독 가능 매체는 클라우드 네트워크의 연결상태를 확인하고, 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하고, 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 클라우드 네트워크에 전송하지 않고 쌓아두고, 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 발생이벤트를 클라우드 네트워크에 전송하는 것을 특징으로 한다.
기타 실시예의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명은 클라이언트에서 동기화에 의한 이벤트를 전송할 때 동일한 목적의 API를 통합하여 전송하는 HTTP API (Application Program Interface) 를 사용하여 성능을 개선할 수 있는 단일 통신인터페이스 전송방법 및 장치를 제공할 수 있는 효과가 있다.
본 발명은 HTTP API를 사용하여 클라우드에 파일을 전송할 때 네트워크 사용을 줄일 수 있는 단일 통신인터페이스 전송방법 및 장치를 제공할 수 있는 효과가 있다.
본 발명에 따른 효과는 이상에서 예시된 내용에 의해 제한되지 않으며, 더욱 다양한 효과들이 본 명세서 내에 포함되어 있다.
도 1은 본 발명의 일 실시예에 따른 단일 통신인터페이스 전송방법을 구현하기 위한 클라이언트와 클라우드 서버의 개략적인 구성도이다.
도 2는 본 발명의 일 실시예에 따른 클라이언트와 서버 사이에서의 단일 통신인터페이스 전송방법을 설명하기 위한 순서도이다.
도 3은 본 발명의 다른 일 실시예에 따른 단일 통신인터페이스 전송방법에 의한 이벤트의 묶음형 동기화 상태를 나타낸 것이다.
도 4는 본 발명의 다른 일 실시예에 따른 데이터 손실 여부에 의한 이벤트 전송방법을 설명하기 위한 이벤트의 예시적인 묶음형 동기화 상태를 나타낸 것이다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.
명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
본 발명의 여러 실시예들의 각각 특징들이 부분적으로 또는 전체적으로 서로 결합 또는 조합 가능하며, 당업자가 충분히 이해할 수 있듯이 기술적으로 다양한 연동 및 구동이 가능하며, 각 실시예들이 서로에 대하여 독립적으로 실시 가능할 수도 있고 연관 관계로 함께 실시 가능할 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 단일 통신인터페이스 전송방법을 구현하기 위한 클라이언트 (100) 와 클라우드 서버 (200) 의 개략적인 구성도이다.
도 1을 참조하면, 클라이언트 (100) 는 수신부 (110), 처리부 (120), 및 송신부 (130) 를 포함하고, 클라우드 서버 (200) 는 송신부 (210), 처리부 (220), 및 수신부 (230) 를 포함한다.
클라이언트 (100) 와 클라우드 서버 (200) 는 각각의 수신부 (110, 230) 와 송신부 (130, 210) 의 통신에 의해 연결되며, 클라이언트 (100) 와 클라우드 서버 (200) 가 통신이 가능한 상태를 ‘온라인’, 통신이 불가능한 상태를 ‘오프라인’으로 상정할 수 있다.
클라이언트 (100) 의 수신부 (110) 는 클라우드 네트워크의 연결상태를 확인하는 신호를 수신하여 클라우드 네트워크의 연결상태가 오프라인인지 온라인인지 여부를 확인한다.
클라이언트 (100) 의 수신부 (110) 는 클라우드 서버 (200) 의 송신부 (210) 로부터 클라우드 서버 (200) 의 연산처리 결과를 수신한다. 연산처리 결과는 클라우드 서버 (200) 의 처리부 (220) 에 의해 발생된다.
클라이언트 (100) 의 처리부 (120) 는 수신부 (110) 를 통해 수신한 연결상태를 기초로 하여, 오프라인인 경우, 클라이언트 (100) 를 묶음형 동기화 상태로 전환한다. 본 명세서에서 묶음형 동기화 상태란, 클라이언트 (100) 와 클라우드 서버 (200) 를 동기화 하기 위해 발생이벤트를 처리할 수 있는 상태를 의미한다. 여기서 발생이벤트란 클라이언트 (100) 의 데이터를 처리하는 다양한 명령을 포괄적으로 지칭한다. 예를 들어, 발생이벤트는 ‘ADD (애드) 발생이벤트’, ‘MOVE (무브) 발생이벤트’, ‘RENAME (리네임) 발생이벤트’, ‘UPDATE (업데이트) 발생이벤트’, ‘DELETE (딜리트) 발생이벤트’ 등을 포함할 수 있다.
또한, 연결상태가 온라인인 경우, 클라이언트 (100) 에서 발생한 발생이벤트를 클라우드 서버 (200) 로 전송하기 위해 송신부 (130) 로 발생이벤트 및 데이터를 전송한다. 이 경우, 전송되는 발생이벤트는 효율적으로 전송되기 위해 처리부 (120) 에서 특정 처리될 수 있다. 특정 처리는 처리부 (120) 에서 발생이벤트를 리스트로 묶는 것일 수 있다. 즉, 특정 처리는 일정한 시간동안이나 특정 명령이 입력되기 전까지 발생한 발생이벤트를 쌓는 것으로, 리스트는 쌓여진 복수의 발생이벤트를 포함하는 것으로 상정할 수 있다.
클라이언트 (100) 의 송신부 (130) 는 연결상태를 확인하기 위해 연결상태를 확인하는 신호를 클라우드 서버 (200) 에 전송할 수 있다. 또한, 송신부 (130) 는 연결상태가 온라인인 경우, 클라이언트 (100) 의 처리부 (120) 로부터 전송된 발생이벤트 및 데이터를 클라우드 서버 (200) 에 전송한다. 이 경우, 송신부 (130) 는 발생이벤트 및 데이터를 ‘Json (JavaScript Object Notation) 형식’으로 송신할 수 있다. ‘Json형식’은 데이터를 교활할 때 사용되는 형식으로, 자바스크립트 언어의 구문형식을 가지고 있다. 또한, ‘Json형식’은 객체와 데이터의 순서화된 리스트 구조를 포함하는 형식이다. ‘Json형식’에 의한 발생이벤트 및 리스트는 클라우드 서버 (200) 에 전송할 때 전송 효율을 높일 수 있다.
클라우드 서버 (200) 의 수신부 (230) 는 클라이언트 (100) 로부터 전송된 발생이벤트 및 데이터를 수신할 수 있다. 수신부 (230) 에 발생이벤트는 이벤트의 발생순서에 따라 리스트화되어 리스트의 형태로 전송될 수 있다. 이에 따라 수신부 (230) 는 수신한 발생이벤트 및 데이터를 처리부 (220) 에 전송하며, 발생이벤트는 쌓여진 순서대로 전송될 수 있다.
클라우드 서버 (200) 의 처리부 (220) 는 수신한 발생이벤트 및 데이터를 순서대로 처리한다. 즉, 처리부 (220) 는 먼저 쌓인 발생이벤트부터 순차적으로 발생이벤트를 처리할 수 있다. 이에 따라, 발생이벤트와 데이터가 서로 대응되어 처리될 수 있다. 이 경우, 처리부 (220) 는 캐시에 의해 데이터를 처리부 (220) 안에 일시적으로 저장할 수 있다.
클라우드 서버 (200) 의 송신부 (210) 는 클라이언트 (100) 와의 연결상태를 확인하기 위해 연결상태를 확인하는 신호를 송신할 수 있다. 송신부 (210) 가 전송한 연결상태를 확인하는 신호는 클라이언트 (100) 의 수신부 (110) 에 의해 수신되어 클라우드 네트워크의 연결상태를 확인하는데 이용된다.
또한, 클라우드 서버 (200) 의 송신부 (210) 는 처리부 (220) 에서 처리한 결과를 다시 클라이언트에 전송한다. 발생이벤트를 포함하는 리스트가 처리부 (220) 에서 처리된 경우, 송신부 (210) 는 발생이벤트를 각각 전송하거나 발생이벤트를 다시 압축하여 리스트로 클라이언트 (100) 에 전송할 수 있다.
도 2는 본 발명의 일 실시예에 따른 클라이언트와 서버 사이에서의 단일 통신인터페이스 전송방법을 설명하기 위한 순서도이다. 설명의 편의를 위해 도 1을 참조하여 설명한다.
본 발명에 따른 단일 통신인터페이스 전송방법은 클라이언트 (100) 의 수신부 (110) 가 클라우드 네트워크의 연결상태를 확인함으로써 개시된다 (S110).
클라우드 네트워크의 연결상태는 클라우드 서버 (200) 의 송신부 (210) 에서 전송된 연결상태를 확인하는 신호에 의해 판단된다. 클라우드 네트워크는 클라우드 서버와 클라이언트를 포함하는 것을 상정한다. 클라우드 네트워크가 온라인인 경우, 클라이언트 (100) 는 이벤트가 발생할 때마다 발생이벤트를 클라우드 서버 (200) 에 전송할 수 있다. 다만, 구현형태에 따라서는 다양한 형태로 전송될 수 있다. 예를 들어, 특정 조건에서 이하 설명될 묶음형 동기화 방식으로 전송될 수도 있다. 클라우드 네트워크가 오프라인인 경우, 클라이언트 (100) 는 효율적인 발생이벤트의 전송을 위해 처리부 (120) 에서 발생이벤트를 처리하여 전송한다. 연결상태를 확인하는 신호는 클라이언트 (100) 및 클라우드 서버 (200) 에서 각각 전송되고 수신될 수 있다. 즉, 클라이언트 (100) 와 클라우드 서버 (200) 는 서로 송신부 (130, 210) 를 통해 연결상태를 확인하는 신호를 송신하여 서로의 수신부 (110, 230) 를 통해 연결상태를 확인하는 신호를 수신하면 연결상태가 온라인으로 인식될 수 있다.
클라이언트 (100) 의 처리부 (120) 는 클라우드 네트워크의 연결상태가 오프라인인 경우, 클라이언트 (100) 를 묶음형 동기화 상태로 전환한다 (S120).
묶음형 동기화 상태는 클라이언트 (100) 와 클라우드 서버 (200) 를 동기화 하기 위해 발생이벤트를 처리할 수 있는 상태로서, 묶음형 동기화 상태는 유사한 발생이벤트를 묶어서 전송할 수 있는 상태를 상정한다. 오프라인인 경우, 묶음형 동기화 방식은 발생이벤트 및 데이터를 클라우드 네트워크 상에서 빠르고 보다 효율적으로 전송할 수 있게 한다. 동기화는 클라이언트 (100) 와 클라우드 서버 (200) 에 저장된 데이터의 내용이 일치되도록 처리하는 것을 상정한다.
클라이언트 (100) 의 처리부 (120) 는 묶음형 동기화 상태에서 이벤트가 발생하는 경우, 발생이벤트를 클라우드 네트워크에 전송하지 않고 쌓아둔다 (S130).
묶음형 동기화 상태는 연결상태가 오프라인인 경우이거나 연결상태가 온라인인 경우라도 미리 정해진 시간동안 발생이벤트를 클라우드 서버에 전송하지 않고 쌓아두는 상태로 상정할 수 있다.
처리부 (120) 는 묶음형 동기화 상태에서 발생되는 발생이벤트를 다양한 방식으로 묶을 수 있다. 예를 들어, 처리부 (120) 는 동일한 목적을 갖는 발생이벤트끼리 묶거나 일정한 시간간격동안 발생이벤트를 순서대로 쌓아서 묶을 수 있다. 처리부 (120) 는 묶음형 동기화 상태에서 발생이벤트를 쌓아두고 묶어서 일시적으로 저장한다. 처리부 (120) 는 발생이벤트를 쌓아두고 묶어서 리스트를 생성할 수 있다. 리스트는 하나 이상의 발생이벤트를 포함하고, 발생한 순서와 특정한 기준에 따라 발생이벤트를 쌓아서 생성된 것이다. 리스트는 클라우드 네트워크에 전송될 때 하나의 전송단위가 될 수 있다.
클라이언트 (100) 의 송신부 (130) 는 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 발생이벤트를 클라우드 네트워크에 전송한다 (S140).
클라우드 네트워크의 연결상태가 온라인이 되는 경우, 클라이언트 (100) 와 클라우드 서버 (200) 는 동기화를 개시할 수 있다. 클라이언트 (100) 는 송신부 (130) 를 통해 묶음형 동기화 상태에서 쌓아둔 발생이벤트를 클라우드 네트워크를 통해 클라우드 서버 (200) 로 전송한다. 송신부 (130) 는 발생이벤트를 클라우드 서버 (200) 로 전송할 때 리스트 형식으로 전송할 수 있다. 쌓인 발생이벤트는 리스트 형식이나 일정한 기준에 의해 묶여진 형식으로 클라우드 서버 (200) 로 전송된다. 이에 따라, 클라우드 네트워크에서 동기화의 성능은 발생이벤트 및 데이터를 보다 효율적으로 전송함으로써 개선될 수 있다.
클라우드 서버 (200) 의 수신부 (230) 는 클라이언트 (100) 에 의해 전송된 발생이벤트 또는 리스트 중 적어도 하나를 수신한다 (S150).
클라우드 서버 (200) 의 수신부 (230) 는 다양한 입력을 수신할 수 있다. 예를 들어, 수신부 (230) 는 클라이언트 (100) 에서 전송된 연결상태를 확인하는 신호, 발생이벤트, 발생이벤트의 묶음, 및 발생이벤트를 포함하는 리스트를 수신할 수 있다. 수신부 (230) 에서 수신된 입력들은 클라우드 서버 (200) 의 처리부 (220) 로 전송된다.
클라우드 서버 (200) 의 처리부 (220) 는 발생이벤트 또는 리스트를 클라이언트 (100) 의 명령에 대응하여 순차적으로 처리한다 (S160).
처리부 (220) 는 수신부 (230) 에서 수신한 다양한 입력을 처리한다. 연결상태를 확인하는 신호는 클라우드 네트워크의 연결상태가 온라인인 경우, 온라인임을 알려주는 신호를 생성하여 클라우드 서버 (200) 의 송신부 (210) 에 전송될 수 있다. 또한, 발생이벤트 또는 발생이벤트를 포함하는 리스트는 발생이벤트에 대응하여 클라우드 서버 (200) 의 데이터를 처리한다. 발생이벤트와 리스트는 동일한 목적을 가진 이벤트끼리 묶여있을 수 있으며, 처리부 (220) 는 발생이벤트를 순차적으로 처리한다. 즉, 처리부 (220) 는 클라이언트 (100) 에서 발생한 순서대로 발생이벤트를 순차적으로 처리한다. 이에 따라, 발생이벤트와 데이터를 보다 정확하게 연산하여 처리할 수 있다.
클라우드 서버 (200) 의 송신부 (210) 는 리스트 또는 발생이벤트를 처리한 결과를 클라이언트 (100) 에 전송한다 (S170).
송신부 (210) 는 처리부 (220) 에서 처리된 결과를 클라이언트 (100) 에 전송한다. 송신부 (210) 는 처리부 (220) 에서 생성된 온라인임을 알려주는 신호를 전송할 수 있다. 송신부 (210) 는 발생이벤트에 의해 클라우드 서버 (200) 의 데이터가 처리된 결과를 클라이언트 (100) 에 전송한다. 예를 들면, ‘ADD 발생이벤트’에 대응하여 클라우드 서버 (200) 의 데이터에 다른 데이터가 추가되는 경우, 데이터가 추가된 결과가 클라이언트 (100) 에 전송된다.
도 3은 본 발명의 다른 일 실시예에 따른 단일 통신인터페이스 전송방법에 의한 이벤트의 묶음형 동기화 상태를 나타낸 것이다.
도 3을 참조하면, 리스트 (300) 는 적어도 하나의 발생이벤트 (301, 303, 305, 307) 를 포함한다. 리스트 (300) 는 클라이언트 (100) 의 처리부 (120) 에서 묶음형 동기화 상태에서 발생이벤트들을 쌓아 형성된 임의의 발생이벤트 묶음이다.
리스트 (300) 는 발생이벤트를 묶는 기준에 따라 다양하게 상정할 수 있다. 리스트 (300) 는 동일한 목적을 갖는 발생이벤트를 묶은 것으로 상정할 수 있다. 예를 들어, 클라이언트 (100) 의 발생이벤트는 ‘ADD 발생이벤트’, ‘MOVE 발생이벤트’, ‘RENAME 발생이벤트’, ‘UPDATE 발생이벤트’, ‘DELETE 발생이벤트’ 등이 있으며, 리스트 (300) 는 ‘ADD (애드) 리스트’, ‘MOVE (무브) 리스트’, ‘RENAME (리네임) 리스트’, ‘UPDATE (업데이트) 리스트’, ‘DELETE (딜리트) 리스트’ 등과 같이 동일한 목적을 갖는 발생이벤트를 묶어 생성될 수 있다. 클라우드 서버 (200) 에서, 동일한 목적을 갖는 각각의 리스트마다 연산을 묶어서 처리한다. 이에 따라, 클라우드 서버 (200) 에서의 데이터는 리스트마다 연산되어 각각의 발생이벤트마다 연산되는 경우보다 빠르게 연산처리될 수 있다.
리스트 (300) 는 중복된 발생이벤트를 제거하고 나머지 발생이벤트만을 발생한 순서대로 쌓아서 생성될 수 있다. 예를 들어, n개의 발생이벤트가 s초 동안 쌓여진 경우, n개의 발생이벤트 중에는 중복되는 발생이벤트가 존재할 수 있다. 따라서, 나중에 발생된 발생이벤트는 먼저 쌓여진 발생이벤트와 비교하여 중복되는 경우 제거될 수 있다. 이에 따라, 클라우드 서버 (200) 에서 중복되는 발생이벤트에 대해서는 연산되지 않으므로 각각의 발생이벤트마다 연산되는 경우보다 빠르게 연산처리될 수 있다.
리스트 (300) 는 클라우드 네트워크의 연결상태가 온라인인 경우라도 발생이벤트를 특정 시간 (예를 들어, s초) 만큼 쌓아두어 생성될 수 있다. 클라우드 네트워크의 연결상태가 오프라인인 경우, s초는 연결상태가 오프라인으로 지속되어 있는 시간을 의미할 수 있다. 이에 따라, s초는 리스트 (300) 가 생성되는 시간을 의미할 수 있다.
도 4는 본 발명의 다른 일 실시예에 따른 데이터 손실 여부에 의한 이벤트 전송방법을 설명하기 위한 이벤트의 예시적인 묶음형 동기화 상태를 나타낸 것이다.
리스트 (310) 는 데이터를 손실시키는 발생이벤트와 데이터를 손실시키지 않는 발생이벤트를 포함한다. 데이터를 손실시키지 않는 발생이벤트는 ‘MOVE (311, 314) 발생이벤트’, ‘COPY 발생이벤트 (312)’, 'UPDATE 발생이벤트 (313, 316)’, ‘ADD 발생이벤트 (317)’ 등을 포함한다. 데이터를 손실시키는 발생이벤트는 ‘MOVE 발생이벤트 (311, 314)’ 및 ‘DELETE 발생이벤트 (315)’를 포함할 수 있다. 리스트 (310) 는 발생이벤트가 순차적으로 쌓여 생성된 것을 나타낸다. 즉, 리스트 (310) 는 ‘MOVE 발생이벤트 (311)’부터 위로 올라갈수록 나중에 생성된 발생이벤트를 의미한다.
본 발명의 일 실시예에 따르면, 리스트 (310) 는 처리부 (120) 에서 중복된 발생이벤트를 삭제하기 이전 상태이다. 중복된 발생이벤트는 동일한 발생이벤트로 시간적으로 먼저 발생된 발생이벤트이다. 중복된 발생이벤트는 처리부 (120) 에서 삭제될 수 있다. 예를 들어, 중복된 발생이벤트는 ‘MOVE 발생이벤트 (311)’와 ‘UPDATE 발생이벤트 (313)’로, 처리부 (120) 에서 삭제되어 리스트 (310) 가 작아질 수 있다. 이에 따라, 클라우드 네트워크의 전체적인 전송 효율이 좋아지고 성능이 향상될 수 있다.
리스트 (310) 가 다양한 발생이벤트를 포함하는 경우, ‘MOVE 발생이벤트 (311, 314)’, ‘RENAME 발생이벤트’, ‘DELETE 발생이벤트 (315)’ 와 같이 데이터를 삭제하는 이벤트를 제외한 나머지 이벤트들에 대해서는 마지막 이벤트에 대한 데이터의 최종 결과를 저장할 수 있다. 이에 따라, 클라이언트 (100) 는 마지막 이벤트에 대한 데이터의 최종 결과를 클라우드 서버 (200) 에 전송한다.
‘MOVE 발생이벤트 (311)’ 및 ‘DELETE 발생이벤트 (315)’는 클라이언트 (100) 의 데이터를 손실시킬 수 있는 발생이벤트이다. 클라우드 네트워크의 오류에 의해 ‘MOVE 발생이벤트 (311)’ 또는 ‘DELETE 발생이벤트 (315)’가 클라우드 서버 (200) 에 전송되지 않는 경우, 클라우드 서버 (200) 에서는 데이터가 이동되거나 삭제되지 않는 문제점이 발생할 수 있다. 이를 방지하기 위해 ‘MOVE 발생이벤트 (311)’ 또는 ‘DELETE 발생이벤트 (315)’에 대해서는 송신부 (130) 는 ‘MOVE 발생이벤트 (311)’ 또는 ‘DELETE 발생이벤트 (315)’에 대한 사본과 ‘MOVE 발생이벤트 (311)’ 또는 ‘DELETE 발생이벤트 (315)’에 대응하는 데이터에 대한 사본을 생성하여 저장할 수 있다.
본 명세서에서, 각 블록 또는 각 단계는 특정된 논리적 기능 (들) 을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
본 명세서에 개시된 실시예들과 관련하여 설명된 방법 또는 알고리즘의 단계는 프로세서에 의해 실행되는 하드웨어, 소프트웨어 모듈 또는 그 2 개의 결합으로 직접 구현될 수도 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈형 디스크, CD-ROM 또는 당업계에 알려진 임의의 다른 형태의 저장 매체에 상주할 수도 있다. 예시적인 저장 매체는 프로세서에 커플링되며, 그 프로세서는 저장 매체로부터 정보를 판독할 수 있고 저장 매체에 정보를 기입할 수 있다. 다른 방법으로, 저장 매체는 프로세서와 일체형일 수도 있다. 프로세서 및 저장 매체는 주문형 집적회로 (ASIC) 내에 상주할 수도 있다. ASIC는 사용자 단말기 내에 상주할 수도 있다. 다른 방법으로, 프로세서 및 저장 매체는 사용자 단말기 내에 개별 컴포넌트로서 상주할 수도 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예들을 더욱 상세하게 설명하였으나, 본 발명은 반드시 이러한 실시예로 국한되는 것은 아니고, 본 발명의 기술사상을 벗어나지 않는 범위 내에서 다양하게 변형실시될 수 있다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 그러므로, 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100 클라이언트
110 수신부
120 처리부
130 송신부
200 클라우드 서버
210 송신부
220 처리부
230 수신부
300, 310 리스트
301 제1 발생이벤트
303 제2 발생이벤트
305 제3 발생이벤트
307 제n 발생이벤트
311, 314 ‘MOVE 발생이벤트’
312 ‘COPY 발생이벤트’
313, 316 ‘UPDATE 발생이벤트’
315 ‘DELETE 발생이벤트’
317 ‘ADD 발생이벤트’

Claims (16)

  1. 클라우드 네트워크의 연결상태를 확인하는 단계;
    상기 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하는 단계;
    상기 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 상기 클라우드 네트워크에 전송하지 않고 쌓아두는 단계; 및
    상기 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 상기 발생이벤트를 상기 클라우드 네트워크에 전송하는 단계를 포함하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  2. 제1항에 있어서,
    상기 발생이벤트를 쌓아두는 단계는, 상기 발생이벤트 중 중복되는 이벤트가 존재하는 경우 중복된 이벤트 중 하나만을 남기고 다른 나머지 이벤트를 제거하는 단계를 포함하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  3. 제1항에 있어서,
    상기 전송하는 단계는 상기 발생이벤트가 동기화되지 않은 경우, 상기 발생이벤트를 1개의 형식으로 통합하여 한꺼번에 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  4. 제1항에 있어서,
    상기 전송하는 단계는 상기 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키지 않는 이벤트를 포함하는 경우, 상기 발생이벤트 중 최종 이벤트를 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  5. 제1항에 있어서,
    상기 전송하는 단계는 상기 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키는 이벤트를 포함하는 경우, 상기 이벤트에 대응하여 상기 데이터의 사본을 생성하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  6. 제1항에 있어서,
    상기 쌓아두는 단계는 상기 발생이벤트를 리스트 형태로 변환하여 상기 클라우드 네트워크에 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  7. 제1항에 있어서,
    상기 연결상태가 온라인인 경우에도, 상기 묶음형 동기화 상태로 전환하고, 상기 발생이벤트를 쌓아두고, 쌓여있는 상기 발생이벤트를 상기 클라우드 네트워크에 전송하는 것을 특징으로 하는, 단일 통신 인터페이스 전송방법.
  8. 클라이언트에 의해 전송된 발생이벤트 또는 리스트 중 적어도 하나를 수신하는 단계;
    상기 발생이벤트 또는 상기 리스트 중 적어도 하나를 상기 클라이언트의 명령에 대응하여 순차적으로 처리하는 단계; 및
    상기 발생이벤트 또는 상기 리스트 중 적어도 하나를 처리한 결과를 상기 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법.
  9. 클라우드 네트워크의 연결상태를 확인하고, 상기 클라우드 네트워크로부터 연산처리 결과를 수신하는 수신부;
    상기 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하고, 상기 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 상기 클라우드 네트워크에 전송하지 않고 쌓아두는 처리부; 및
    상기 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 상기 발생이벤트를 상기 클라우드 네트워크에 전송하는 송신부를 포함하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  10. 제9항에 있어서,
    상기 처리부는 상기 발생이벤트 중 중복되는 이벤트가 존재하는 경우 중복된 이벤트 중 하나만을 남기고 다른 나머지 이벤트를 제거하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  11. 제9항에 있어서,
    상기 송신부는 상기 발생이벤트가 동기화되지 않은 경우, 상기 발생이벤트를 1개의 형식으로 통합하여 한꺼번에 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  12. 제9항에 있어서,
    상기 송신부는 상기 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키지 않는 이벤트를 포함하는 경우, 상기 발생이벤트 중 최종 이벤트를 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  13. 제9항에 있어서,
    상기 송신부는 상기 발생이벤트 중 클라이언트에 저장된 데이터를 손실시키는 이벤트를 포함하는 경우, 상기 이벤트에 대응하여 상기 데이터의 사본을 생성하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  14. 제9항에 있어서,
    상기 발생이벤트는 리스트 형태로 상기 클라우드 네트워크와 통신하는 것을 특징으로 하는, 단일 통신인터페이스 전송장치.
  15. 제9항에 있어서,
    상기 연결상태가 온라인인 경우에도, 상기 묶음형 동기화 상태로 전환하고, 상기 발생이벤트를 쌓아두고, 쌓여있는 상기 발생이벤트를 상기 클라우드 네트워크에 전송하는 것을 특징으로 하는, 단일 통신 인터페이스 전송장치.
  16. 클라우드 네트워크의 연결상태를 확인하고,
    상기 연결상태가 오프라인인 경우, 묶음형 동기화 상태로 전환하고,
    상기 묶음형 동기화 상태에서 이벤트가 발생하는 경우 발생이벤트를 상기 클라우드 네트워크에 전송하지 않고 쌓아두고,
    상기 연결상태가 오프라인에서 온라인으로 전환되는 경우 쌓여있는 상기 발생이벤트를 상기 클라우드 네트워크에 전송하는 것을 특징으로 하는, 단일 통신인터페이스 전송방법을 제공하는 명령어들을 저장하는 컴퓨터 판독 가능 매체.
KR1020140035247A 2014-03-26 2014-03-26 단일 통신인터페이스 전송방법 및 장치 KR20150111645A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140035247A KR20150111645A (ko) 2014-03-26 2014-03-26 단일 통신인터페이스 전송방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140035247A KR20150111645A (ko) 2014-03-26 2014-03-26 단일 통신인터페이스 전송방법 및 장치

Publications (1)

Publication Number Publication Date
KR20150111645A true KR20150111645A (ko) 2015-10-06

Family

ID=54345016

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140035247A KR20150111645A (ko) 2014-03-26 2014-03-26 단일 통신인터페이스 전송방법 및 장치

Country Status (1)

Country Link
KR (1) KR20150111645A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11839618B2 (en) 2007-08-29 2023-12-12 Senju Pharmaceutical Co., Ltd. Agent for promoting corneal endothelial cell adhesion

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11839618B2 (en) 2007-08-29 2023-12-12 Senju Pharmaceutical Co., Ltd. Agent for promoting corneal endothelial cell adhesion

Similar Documents

Publication Publication Date Title
CN101562543B (zh) 一种缓存数据的处理方法、处理***和装置
CN106250270B (zh) 一种云计算平台下的数据备份方法
CN108647104B (zh) 请求处理方法、服务器及计算机可读存储介质
US20150019491A1 (en) Replication of Data Between Mirrored Data Sites
CN101808127B (zh) 数据备份方法、***和服务器
KR101480867B1 (ko) 맵리듀스 연산 가속 시스템 및 방법
JP2013504806A (ja) ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム
CN111262921B (zh) 基于区块链网络的应用请求处理方法、装置、设备和介质
WO2014177085A1 (zh) 分布式多副本数据存储方法及装置
CN105554081A (zh) 一种文件差量的传输方法以及装置
US11647103B1 (en) Compression-as-a-service for data transmissions
CN113411363A (zh) 一种镜像文件的上传方法、相关设备及计算机存储介质
US10318385B2 (en) Service recovery using snapshots and interservice messages
CN109684128B (zh) 消息中间件的集群整体故障恢复方法、服务器及存储介质
KR102117180B1 (ko) 이미지 드로잉 방법, 관련된 디바이스 및 시스템
KR20150111645A (ko) 단일 통신인터페이스 전송방법 및 장치
US10922202B2 (en) Application service-level configuration of dataloss failover
JP2014178734A (ja) キャッシュ装置、データ書込方法及びプログラム
CN109688176B (zh) 一种文件同步方法及终端、网络设备、存储介质
CN116304390A (zh) 时序数据处理方法、装置、存储介质及电子设备
CN104618219A (zh) 一种进行跨机房数据同步的方法和装置
CN113098978B (zh) 一种数据传输方法、装置及介质
CN107872479B (zh) 云管理平台与控制器集成方法和***以及相关模块
CN113515574B (zh) 一种数据同步方法及装置
JP7075077B2 (ja) バックアップサーバ、バックアップ方法、プログラム、ストレージシステム

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination