KR20160014518A - 데이터 공유 방법 및 이를 위한 장치 - Google Patents

데이터 공유 방법 및 이를 위한 장치 Download PDF

Info

Publication number
KR20160014518A
KR20160014518A KR1020150078663A KR20150078663A KR20160014518A KR 20160014518 A KR20160014518 A KR 20160014518A KR 1020150078663 A KR1020150078663 A KR 1020150078663A KR 20150078663 A KR20150078663 A KR 20150078663A KR 20160014518 A KR20160014518 A KR 20160014518A
Authority
KR
South Korea
Prior art keywords
user
cloud storage
data
relay server
file
Prior art date
Application number
KR1020150078663A
Other languages
English (en)
Other versions
KR102312336B1 (ko
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 EP15178602.7A priority Critical patent/EP2980726B1/en
Priority to AU2015207842A priority patent/AU2015207842B2/en
Priority to TW104124450A priority patent/TWI699667B/zh
Priority to CN201580001294.2A priority patent/CN106170972B/zh
Priority to US14/812,435 priority patent/US10164984B2/en
Priority to PCT/KR2015/007935 priority patent/WO2016018072A1/en
Publication of KR20160014518A publication Critical patent/KR20160014518A/ko
Application granted granted Critical
Publication of KR102312336B1 publication Critical patent/KR102312336B1/ko

Links

Images

Classifications

    • H04L67/2809
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities

Landscapes

  • Information Transfer Between Computers (AREA)
  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

1 사용자가 가입된 제 1 클라우드 스토리지에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 저장하는 저장부, 저장된 제 1 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 제 1 클라우드 스토리지에게, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 요청하는 통신부, 및 저장된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 요청에 대응하여 제 1 클라우드 스토리지로부터 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지로 전송되도록 통신부를 제어하는 제어부를 포함하는 일 실시예에 따른 중계 서버가 개시된다.

Description

데이터 공유 방법 및 이를 위한 장치{METHOD FOR SHARING DATA AND APPARATUS THEREOF}
본 발명은, 복수의 사용자간에 데이터를 공유하거나 또는 메시지를 전송하는 방법 및 이를 위한 장치에 관한 것이다.
네트워크 기술이 발전함에 따라, 데스크탑, 노트북, 휴대용 기기에 저장되던 데이터는 인터넷 상의 서버에 저장되고, 사용자는 필요할 때마다, 자신의 계정을 이용하여 언제 어디서든 서버로부터 데이터를 다운로드 할 수 있다. 또한, 사용자는 서버에 저장된 자신의 데이터를 다른 사용자에게 공유할 수도 있다. 또한, 메신져 서비스를 이용하여 언제 어디서든 타인과 메신지를 송수신할 수 있다.
그러나, 사용자들은 타인과 데이터를 공유할 시, 타인과 동일한 스토리지 사업자의 계정을 가지고 있어야 하는 등의 제약이 있다. 또한, 사용자들은 자신의 데이터가 저장된 스토리지의 사업자가 제공하는 서비스 내에서만 데이터를 활용할 수 있다. 또한, 사용자들은 타인과 채팅할 때에도, 타인과 동일한 메신져 사업자의 계정을 가지고 있어야 한다.
이와 같이, 사용자들은 자신이 이용하는 서비스의 사업자가 타인이 이용하는 서비스의 사업자와 다를 경우, 서비스를 이용하지 못하는 문제가 있다.
본 발명은 중계 서버를 이용하여, 서로 다른 클라우드 서버를 사용하는 사용자들간에 데이터를 공유하거나 메시지를 전송하기 위한 다양한 실시예가 제공된다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 개시의 제 1 측면은, 1 사용자가 가입된 제 1 클라우드 스토리지에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 저장하는 저장부, 장된 제 1 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 제 1 클라우드 스토리지에게, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 요청하는 통신부, 및 장된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 요청에 대응하여 제 1 클라우드 스토리지로부터 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지로 전송되도록 통신부를 제어하는 제어부를 포함하는 중계 서버를 제공할 수 있다.
또한, 제 1 클라우드 스토리지에 대한 접근 권한 정보는, 제 1 클라우드 스토리지에 등록된 중계 서버의 계정을 포함하고, 제 1 클라우드 스토리지에 등록된 중계 서버의 계정에 대응하여, 제 1 사용자의 데이터를 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값이 제 1 클라우드 스토리지에 설정될 수 있다.
또한, 제 1 클라우드 스토리지에 설정된 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값은, 제 1 사용자의 디바이스로부터, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 중계 서버와 공유하는 요청을 수신함에 따라, 제 1 클라우드 스토리지가 설정한 것일 수 있다.
또한, 제 2 클라우드 스토리지에 대한 접근 권한 정보는, 제 2 클라우드 스토리지에 등록된 중계 서버의 계정을 포함하고, 제 2 클라우드 스토리지에 등록된 중계 서버의 계정에 대응하여, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 제 2 클라우드 스토리지에 설정된 것일 수 있다.
또한, 제 2 클라우드 스토리지에 설정된 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값은, 제 2 사용자의 디바이스로부터 제 2 사용자의 저장 공간을 중계 서버와 공유하는 요청을 수신함에 따라 제 2 클라우드 스토리지가 설정한 것일 수 있다.
또한, 통신부는, 제 1 클라우드 스토리지로부터 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신하고, 제어부는, 동기화 요청을 수신함에 따라, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트 하고, 제 1 사용자의 데이터의 사본은, 중계 서버에 의해 제 1 클라우드 스토리지 내의 제 1 사용자의 데이터가 제 2 클라우드 스토리지로 복사된 데이터일 수 있다.
또한, 제 1 사용자의 데이터는 파일을 포함하고, 동기화 요청은 파일 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고, 제어부는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트 하고, 쓰기 금지 설정 영역은 중계 서버에 의해 변경되지 않도록 설정된 제 1 사용자의 데이터의 사본 내의 영역일 수 있다.
또한, 통신부는, 제 2 클라우드 스토리지로부터 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 변경되었음을 나타내는 동기화 요청을 수신하고, 제어부는, 동기화 요청을 수신함에 따라, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하고, 제 1 사용자의 데이터의 사본은, 중계 서버에 의해 제 1 클라우드 스토리지 내의 제 1 사용자의 데이터가 제 2 클라우드 스토리지로 복사된 데이터일 수 있다.
또한, 동기화 요청은 제 1 사용자의 파일의 사본 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고, 제어부는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하고, 쓰기 금지 설정 영역은 중계 서버에 의해 변경되지 않도록 설정된 제 1 사용자의 파일 내의 영역일 수 있다.
또한, 통신부는, 제 1 사용자의 제 1 디바이스로부터, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신하고, 제어부는, 읽기 금지 요청을 수신함에 따라, 제 1 클라우드 스토리지로부터, 파일을 획득하고, 수신된 파일 중 읽기 금지 요청된 일부분을 삭제하고, 제 2 클라우드 스토리지에 일부분이 삭제된 파일을 저장할 수 있다.
또한, 본 개시의 제 2 측면은, 중계 서버가 복수의 디바이스들 간에 데이터를 공유시키는 방법에 있어서, 제 1 사용자가 가입된 제 1 클라우드 스토리지에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 저장하는 단계, 제 1 클라우드 스토리지에 대한 접근 권한 정보를 이용하여 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 제 1 클라우드 스토리지에게 요청하는 단계, 및 제 2 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 요청에 대응하여 제 1 클라우드 스토리지로부터 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지로 전송하는 단계를 포함하는 데이터 중계 방법을 제공할 수 있다.
또한, 제 1 클라우드 스토리지에 대한 접근 권한 정보는, 제 1 클라우드 스토리지에 등록된 중계 서버의 계정을 포함하고, 제 1 클라우드 스토리지에 등록된 중계 서버의 계정에 대응하여, 제 1 사용자의 데이터를 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값이 제 1 클라우드 스토리지에 설정된 것일 수 있다.
또한, 제 1 클라우드 스토리지에 설정된 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값은, 제 1 사용자의 디바이스로부터, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 중계 서버와 공유하는 요청을 수신함에 따라, 제 1 클라우드 스토리지가 설정한 것일 수 있다.
또한, 제 2 클라우드 스토리지에 대한 접근 권한 정보는, 제 2 클라우드 스토리지에 등록된 중계 서버의 계정을 포함하고, 제 2 클라우드 스토리지에 등록된 중계 서버의 계정에 대응하여, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 제 2 클라우드 스토리지에 설정된 것일 수 있다.
또한, 제 2 클라우드 스토리지에 설정된 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값은, 제 2 사용자의 디바이스로부터 제 2 사용자의 저장 공간을 중계 서버와 공유하는 요청을 수신함에 따라 제 2 클라우드 스토리지가 설정한 것일 수 있다.
또한, 데이터 중계 방법은, 제 1 클라우드 스토리지로부터 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신하는 단계, 및 동기화 요청을 수신함에 따라, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트하는 단계를 더 포함하고, 제 1 사용자의 데이터의 사본은, 중계 서버에 의해 제 1 클라우드 스토리지 내의 제 1 사용자의 데이터가 제 2 클라우드 스토리지로 복사된 데이터일 수 있다.
또한, 제 1 사용자의 데이터는 파일을 포함하고, 동기화 요청은 파일 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트 하는 단계는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하는 단계, 및 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트 하는 단계를 포함하고, 쓰기 금지 설정 영역은 중계 서버에 의해 변경되지 않도록 설정된 제 1 사용자의 데이터의 사본 내의 영역일 수 있다.
또한, 데이터 중계 방법은, 제 2 클라우드 스토리지로부터 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 변경되었음을 나타내는 동기화 요청을 수신하는 단계, 및 동기화 요청을 수신함에 따라, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계를 더 포함하고, 제 1 사용자의 데이터의 사본은, 중계 서버에 의해 제 1 클라우드 스토리지 내의 제 1 사용자의 데이터가 제 2 클라우드 스토리지로 복사된 데이터인 것일 수 있다.
또한, 제 1 사용자의 데이터는 파일을 포함하고, 동기화 요청은 제 1 사용자의 파일의 사본 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하는 단계, 및 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계를 포함하고, 쓰기 금지 설정 영역은 중계 서버에 의해 변경되지 않도록 설정된 제 1 사용자의 파일 내의 영역일 수 있다.
또한, 데이터 중계 방법은, 제 1 사용자의 제 1 디바이스로부터, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신하는 단계, 읽기 금지 요청을 수신함에 따라, 제 1 클라우드 스토리지로부터 파일을 획득하는 단계, 수신된 파일 중 읽기 금지 요청된 일부분을 삭제하는 단계, 및 제 2 클라우드 스토리지에 일부분이 삭제된 파일을 저장하는 단계를 더 포함할 수 있다.
또한, 본 개시의 제 3 측면은, 제 1 메신져 서버에 대한 제 1 사용자의 권한 정보 및 제 2 메신져 서버에 대한 제 2 사용자의 권한 정보를 저장하는 저장부, 저장된 제 1 사용자의 권한 정보를 이용하여, 제 1 메신져 서버로부터 제 1 사용자의 메시지를 수신하는 통신부, 및 저장된 제 2 사용자의 권한 정보를 이용하여, 제 1 메신져 서버로부터 수신된 제 1 사용자의 메시지를 제 2 메신져 서버로 전송되도록 통신부를 제어하는 제어부를 포함하는 중계 서버를 제공할 수 있다.
또한, 제 1 메신져 서버에 대한 제 1 사용자의 권한 정보는, 제 1 메신져 서버에 가입된 제 3 사용자를 제 1 사용자의 메신져 친구로써 제 1 메신져 서버에 등록할 수 있는 권한에 관한 정보이고, 제 2 메신져 서버에 대한 제 2 사용자의 권한 정보는, 제 2 메신져 서버에 가입된 제 4 사용자를 제 2 사용자의 메신져 친구로써 제 2 메신져 서버에 등록할 수 있는 권한에 관한 정보일 수 있다.
또한, 통신부는, 제 1 사용자의 디바이스로부터 제 2 사용자를 제 1 사용자의 제 1 메신져 친구로써 등록하기 위한 등록 요청을 수신하고, 제어부는, 등록 요청을 수신함에 따라, 제 2 사용자의 제 1 메신져 가상 ID을 생성하고, 생성된 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져 서버에 등록하고, 제 1 메신져 서버에 대한 제 1 사용자의 권한 정보에 기초하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 사용자의 메신져 친구의 ID로써 제 1 메신져 서버에 등록하고, 통신부는, 등록 요청에 응답하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져에서의 제 2 사용자의 ID로써 제 1 사용자의 디바이스에게 전송할 수 있다.
또한, 통신부는, 제 2 사용자의 디바이스로부터 제 1 사용자를 제 2 사용자의 제 2 메신져 친구로써 등록하기 위한 등록 요청을 수신하고, 제어부는, 등록 요청을 수신함에 따라, 제 1 사용자의 제 2 메신져 가상 ID를 생성하고, 생성된 제 1 사용자의 제 2 메신져 가상 ID을 제 2 메신져 서버에 등록하고, 제 2 메신져 서버에 대한 제 2 사용자의 권한 정보에 기초하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 사용자의 메신져 친구의 ID로써 제 2 메신져 서버에 등록하고, 통신부는, 등록 요청에 응답하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 메신져에서의 제 1 사용자의 ID로써 제 2 사용자의 디바이스에게 전송할 수 있다.
또한, 통신부는, 저장된 제 1 사용자의 권한 정보를 이용하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져 서버에 등록하고, 등록된 제 2 사용자의 제 1 메신져 가상 ID를 이용하여, 제 1 메신져 서버로부터 제 2 사용자에 대한 제 1 사용자의 메시지를 수신하고, 제어부는, 저장된 제 2 사용자의 권한 정보를 이용하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 메신져 서버에 등록하고, 등록된 제 1 사용자의 제 2 메신져 가상 ID를 이용하여, 제 1 메신져 서버로부터 수신된 제 1 사용자의 메시지를 제 2 메신져 서버로 전송되도록 통신부를 제어할 수 있다.
또한, 통신부는, 제 1 사용자의 디바이스로부터, 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 제 2 사용자에게 메시지를 전송하기 위한 메시지 전송 요청을 수신하고, 메시지 전송 요청에 응답하여, 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 메시지를 제 2 사용자에게 전송할 것을 제 2 메신져 서버에게 요청할 수 있다.
도 1은 본 발명의 일 실시예에 따른, 중계 서버가 서로 다른 클라우드 스토리지에 저장된 서로 다른 사용자의 데이터를 공유하는 방법을 설명하는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 제 1 디바이스, 제 2 디바이스, 중계 서버, 제 1 클라우드 스토리지 및 제 2 클라우드 스토리지의 일 실시예를 도시한다.
도 3 및 도 4는, 본 발명의 일 실시에에 따른, 중계 서버를 통해 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터가, 제 2 사용자의 데이터로써 제 2 클라우드 스토리지에 저장되는 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른, 중계 서버가, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를, 서로 다른 클라우드 스토리지에 등록된 제 1 사용자와 제 2 사용자간에 공유시키기 위한 방법을 설명하는 흐름도이다.
도 6는 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지, 제 2 클라우드 스토리지 및 중계 서버가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른, 제 1 디바이스가, 제 2 사용자와 공유하고자하는 데이터를 선택하는 제 1 사용자의 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 다른 실시예에 따른, 제 1 사용자가 제 1 디바이스에서, 제 2 사용자와 공유하려는 데이터를 선택하는 방법을 설명하기 위한 도면이다.
도 9은, 본 발명의 다른 실시예에 따른, 제 1 사용자가 제 1 디바이스에서, 제 2 사용자와 공유하려는 데이터를 선택하는 방법을 설명하기 위한 도면이다.
도 10는 본 발명의 일 실시예에 따른, 제 1 디바이스가 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터 중, 제 1 사용자에 의해 선택된 데이터에 대하여 중계 서버에게 접근 권한을 설정하는 방법을 설명하는 흐름도이다.
도 11은, 본 발명의 일 실시예에 따른, 제 1 디바이스가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 12는, 본 발명의 다른 실시예에 따른, 제 1 디바이스가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 13은 본 발명의 다른 실시예에 따른, 제 1 디바이스가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 14는 본 발명의 일 실시예에 따른, 공유할 제 1 사용자의 데이터 및 제 2 사용자를 선택하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스가 선택된 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 중계 서버에 요청하는 방법을 설명하기 위한 흐름도이다.
도 15는, 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자간의 공유 설정이 요청됨에 따라, 중계 서버에 저장되는 데이터 제공자에 관한 데이터베이스를 설명하기 위한 도면이다.
도 16는, 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자간의 공유 설정이 요청됨에 따라, 중계 서버에 저장되는 데이터에 관한 데이터베이스를 설명하기 위한 도면이다.
도 17은 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대하여, 제 1 사용자와 제 2 사용자의 공유가 설정됨에 따라, 중계 서버가, 공유 설정된 제 1 사용자의 데이터를 제 1 클라우드 스토리지로부터 수신하는 방법을 설명하는 흐름도를 도시한다.
도 18은, 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지로부터 수신한 제 1 사용자의 파일 또는 폴더의 목록에 대한 데이터베이스를 설명하기 위한 도면이다.
도 19는 본 발명의 일 실시예에 따른, 제 2 디바이스가, 제 2 클라우드 스토리지 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버에게 부여하는 방법을 설명하기 위한 도면이다.
도 20은 본 발명의 일 실시예에 따른, 제 2 디바이스가, 제 2 클라우드 스토리지 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버에게 부여하는 방법을 설명하기 위한 흐름도를 도시한다.
도 21은 본 발명의 일 실시예에 따른, 중계 서버가 제 2 클라우드 스토리지 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 수신함에 따라, 중계 서버에 저장되는 데이터베이스를 설명하기 위한 도면이다.
도 22은 본 발명의 일 실시예에 따른, 제 1 디바이스로부터, 제 1 사용자의 데이터를 제 2 사용자와 공유하기 위한 공유 요청을 수신함에 따라, 중계 서버가, 제 2 디바이스에게 제 1 사용자가 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 요청하였음을 알리는 방법을 설명하기 위한 도면이다.
도 23는 본 발명의 일 실시예에 따른, 중계 서버가, 제 1 클라우드 스토리지로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 클라우드 스토리지내의 제 2 사용자의 저장 공간에 저장하는 방법을 설명하기 위한 흐름도이다.
도 24a은 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터가 제 1 사용자와 제 2 사용자 간에 공유 설정되었음을 중계 서버로부터 수신함에 따라, 제 2 디바이스가, 제 1 사용자의 데이터를 제 2 클라우드 스토리지에 저장할지 여부를 선택하는 제 2 사용자의 선택을 수신하기 위한 사용자 인터페이스를 디스플레이하는 방법을 나타내는 도면이다.
도 24b은 본 발명의 일 실시예에 따른, 중계 서버가 제 2 디바이스로부터 수신한 제 2 사용자의 선택에 기초하여, 제 1 사용자의 데이터를 제 2 클라우드 스토리지에 저장하는 방법을 설명하기 위한 흐름도이다.
도 25은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터를, 제 2 디바이스가 제 2 클라우드 스토리지로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
도 26은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터를, 제 2 디바이스가 제 2 클라우드 스토리지로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
도 27는, 본 발명의 다른 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터를, 제 2 디바이스가 제 2 클라우드 스토리지로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
도 28는, 본 발명의 일 실시예에 따른, 제 2 디바이스가 제 2 클라우드 스토리지로부터 제 1 사용자의 데이터의 목록을 수신하는 방법을 설명하는 흐름도이다.
도 29는 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자 간에 공유된 제 1 사용자의 파일의 목록 중 하나를 선택하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스가 제 1 사용자의 파일의 컨텐츠를 획득하는 방법을 설명하기 위한 도면이다.
도 30은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 데이터의 목록만이 제 2 디바이스에 저장된 상태에서, 제 2 디바이스가 제 1 사용자의 데이터를 획득하는 방법을 설명하기 위한 흐름도이다.
도 31은 본 발명의 다른 실시예에 따른, 제 2 디바이스가, 제 2 클라우드 스토리지 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버에 설정하는 방법을 설명하기 위한 도면이다.
도 32는, 본 발명의 일 실시예에 따른, 제 2 사용자의 수신 폴더가 중계 서버에 설정됨에 따라, 제 1 사용자와 제 2 사용자간에 공유된 제 1 사용자의 파일 또는 폴더가 제 2 디바이스에서 디스플레이되는 방법을 설명하기 위한 도면이다.
도 33은 본 발명의 다른 실시예에 따른, 제 2 디바이스가 제 2 클라우드 스토리지 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버에 설정하는 방법을 설명하기 위한 흐름도이다.
도 34는, 본 발명의 일 실시예에 따른, 제 2 디바이스가, 제 2 사용자로부터, 제공자를 지정하는 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 35는 본 발명의 일 실시예에 따른, 중계 서버가, 제 2 디바이스로부터 제공자 설정 요청을 수신하는 방법을 설명하기 위한 흐름도이다.
도 36은 본 발명의 일 실시예에 따른, 제 1 사용자가 제 2 사용자의 제공자로써 설정됨에 따라, 중계 서버에 저장된 제 2 사용자에 관한 데이터베이스를 나타낸다.
도 37은 본 발명의 일 실시예에 따른, 제 1 사용자가 제 2 사용자의 제공자로써 중계 서버에 설정됨에 따라, 중계 서버가 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터를 제 2 클라우드 스토리지에 저장하는 방법을 설명하기 위한 흐름도이다.
도 38은 본 발명의 일 실시예에 따른, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지에, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터가 저장됨에 따라, 제 2 클라우드 스토리지가, 제 2 디바이스로, 제 1 클라우드 스토리지로부터 복사된 제 1 사용자의 데이터를 전송하는 방법을 설명하기 위한 흐름도이다.
도 39는 본 발명의 다른 실시예에 따른, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지에, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터가 저장됨에 따라, 제 2 디바이스가, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 수신하는 방법을 설명하기 위한 흐름도이다.
도 40은, 본 발명의 일 실시예에 따른, 제 1 사용자의 공유 요청에 의해 제 1 사용자의 데이터가 제 2 클라우드 스토리지 내의 제 2 사용자의 저장 공간에 저장됨에 따라, 중계 서버에 저장된 제 1 사용자의 데이터에 관한 데이터베이스를 도시한다.
도 41은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유된 데이터에 대한, 제 1 디바이스와 제 2 디바이스간의 동기화를 설명하기 위한 도면이다.
도 42a는 본 발명의 일 실시예에 따른, 제 1 디바이스가 제공하는 동기화 설정을 위한 사용자 인터페이스를 도시하는 도면이다.
도 42b은 본 발명의 다른 실시예에 따른, 제 1 디바이스 또는 제 2 디바이스가 제공하는 동기화 설정을 위한 사용자 인터페이스를 도시하는 도면이다.
도 43은 본 발명의 다른 실시예에 따른, 동기화 방법에 관한 정보가 설정됨에 따라, 중계 서버에 저장된 제 1 사용자의 데이터에 대한 데이터베이스를 도시한다.
도 44a는, 본 발명의 일 실시예에 따른, 제 1 사용자의 요청에 따라, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터와, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 동기화되는 방법을 설명하기 위한 흐름도이다.
도 44b는 본 발명의 일 실시예에 따른, 제 2 디바이스가 제 1 사용자와 제 2 사용자간에 공유되는 데이터에 대하여 쓰기 금지를 설정하는 방법을 설명하기 위한 흐름도이다.
도 45a는, 본 발명의 일 실시예에 따른, 제 2 사용자의 요청에 따라, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터와, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 동기화되는 방법을 설명하기 위한 흐름도이다.
도 45b는 본 발명의 일 실시예에 따른, 제 1 디바이스가 제 1 사용자와 제 2 사용자간에 공유되는 데이터에 대하여 쓰기 금지를 설정하는 방법을 설명하기 위한 흐름도이다.
도 46은 본 발명의 일 실시예에 따른, 공유할 데이터에 대한 기능을 제한하기 위한 사용자 인터페이스를 도시한다.
도 47은 본 발명의 일 실시예에 따른, 중계 서버가 공유 설정된 데이터의 사용을 제한하는 방법을 설명하기 위한 흐름도를 도시한다.
도 48은 본 발명의 일 실시예에 따른, 공유할 데이터 중 일부분에 대하여 읽기 금지 설정을 하기 위한 사용자 인터페이스를 도시한다.
도 49는 본 발명의 일 실시예에 따른, 공유할 데이터 중 일부분에 대하여 읽기 금지를 설정하여, 데이터를 공유하는 방법을 설명하는 흐름도를 도시한다.
도 50a 및 도 50b는 중계 서버가 읽기 금지 설정된 부분을 삭제하는 방법을 설명하는 도면이다.
도 51은, 본 발명의 일 실시예에 따른, 일부분이 읽기 금지되어 제 2 사용자에게 제공된 제 1 사용자의 데이터에 대하여 읽기 금지를 해제하는 방법을 설명하기 위한 흐름도를 도시한다.
도 52은 본 발명의 일 실시예에 따른, 중계 서버가 클라우드 스토리지 기능을 제공하는 경우, 중계 서버 내의 제 1 사용자의 데이터 또는 제 2 클라우드 스토리지 내의 제 2 사용자의 데이터를 제 1 사용자 및 제 2 사용자 간에 공유시키는 방법을 설명하기 위한 도면이다.
도 53은 본 발명의 일 실시예에 따른, 중계 서버가 클라우드 스토리지 기능을 제공하는 경우, 중계 서버가 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자 간에 공유하는 방법을 설명하기 위한 도면이다.
도 54는 본 발명의 일 실시예에 따른, 중계 서버 및 제 2 클라우드 스토리지가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
도 55은 본 발명의 일 실시예에 따른, 제 2 디바이스가, 제 2 클라우드 스토리지 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버에 등록하는 방법을 설명하기위한 흐름도를 도시한다.
도 56은 본 발명의 일 실시예에 따른, 제 1 디바이스로부터, 제 1 사용자의 데이터를 제 2 사용자와 공유하는 공유 요청을 수신함에 따라, 중계 서버가 중계 서버 내의 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장하는 방법을 설명하기 위한 흐름도이다.
도 57은 본 발명의 일 실시예에 따른, 제 2 디바이스로부터 제 2 클라우드 스토리지 내의 제 2 사용자의 데이터를 제 1 사용자와 제 2 사용자 간에 공유하는 공유 요청을 수신함에 따라, 중계 서버가 제 2 클라우드 스토리지 내의 제 2 사용자의 데이터를 중계 서버에 저장하는 방법을 설명하기 위한 흐름도를 도시한다.
도 58은 본 발명의 일 실시예에 따른, 제 1 중계 서버 및 제 제 2 중계 서버가, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터 또는 제 2 클라우드 스토리지 내의 제 2 사용자의 데이터를 제 1 사용자 및 제 2 사용자 간에 공유시키는 방법을 설명하기 위한 도면이다.
도 59는, 본 발명의 일 실시에에 따른, 제 1 중계 서버 및 제 2 중계 서버가, 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 저장하는 방법을 설명하기 위한 도면이다.
도 60는 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지, 제 2 클라우드 스토리지가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
도 61은 본 발명의 일 실시예에 따른, 제 1 중계 서버가 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터 중 적어도 하나의 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유를 설정하는 방법을 설명하기 위한 흐름도이다.
도 62는 본 발명의 일 실시예에 따른, 제 1 사용자가 제 1 사용자와 제 2 사용자간에 공유 설정된 파일의 위치를 나타내는 위치 정보를 제2 사용자에게 전송하는 방법을 설명하기 위한 사용자 인터페이스를 도시한다.
도 63은 본 발명의 일 실시예에 따른, 제 1 중계 서버가 제 1 사용자와 제 2 사용자간에 공유 설정된 파일의 위치를 나타내는 위치 정보를 제 2 중계 서버에게 전송하는 방법을 설명하기 위한 흐름도를 도시한다.
도 64는 본 발명의 일 실시예에 따른, 제 2 중계 서버가 제 1 클라우드 스토리지로부터 제 1 사용자의 데이터를 수신하여, 제 2 클라우드 스토리지에 저장하기 위한 사용자 인터페이스를 도시한다.
도 65는 본 발명의 일 실시예에 따른, 제 2 중계 서버가 제 1 클라우드 스토리지로부터 제 1 사용자의 데이터를 수신하여, 제 2 클라우드 스토리지에 저장하기 위한 방법을 설명하는 흐름도를 도시한다.
도 66은 본 발명의 일 실시예에 따른, 클라우드 서버가 메신져 서버일때, 중계 서버가 서로 다른 메신져 서비스를 이용하는 사용자들간의 메시지 전송을 중계하는 중계 서버를 나타내는 도면이다.
도 67a은 본 발명의 일 실시예에 따른, 디바이스 및 중계 서버가 메신져 서버에 계정을 등록하는 방법 및 디바이스가 중계 서버에 계정을 등록하는 방법을 나타내는 흐름도이다.
도 67b는 본 발명의 일 실시예예 따른, 중계 서버에에 가입된 사용자에 대한 정보가 저장된 데이터베이스를 도시한다.
도 68a은 본 발명의 일 실시예에 따른, 중계 서버가, 제 1 메신져 서버에 대한 제 1 사용자의 권한을 획득하는 방법을 나타내는 흐름도이다.
도 68b는 본 발명의 일 실시예예 따른, 제 1 메신져 서버에 대한 제 1 사용자의 권한을 중계 서버에 부여하기 위한 사용자 인터페이스를 나타내는 도면이다.
도 68c는 본 발명의 일 실시예예 따른, 권한 정보를 디바이스로부터 수신함에 따라, 중계 서버가 저장하는 데이터베이스를 도시한다.
도 69a는 본 발명의 일 실시예예 따른, 중계 서버가 제 1 사용자와 제 2 사용자를 서로간의 중계 서버 친구로써 등록하는 방법을 나타내는 도면이다.
도 69b는 본 발명의 일 실시예에 따른, 제 1 디바이스가 제 2 사용자를 중계 서버를 통해 대화할 중계 서버 친구로써 설정하는 제 1 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 69c는 본 발명의 일 실시예에 따른, 제 2 디바이스가 제 2 사용자로부터 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정을 허락하는 제 2 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 69d는 본 발명의 일 실시예에 따른, 사용자들간에 중계 서버 친구가 설정됨에 따라, 중계 서버가 저장하는 데이터베이스를 도시한다.
도 70a는 본 발명의 일 실시예예 따른, 중계 서버가 제 1 메신져 서버에 제 2 사용자로써 중계 서버를 등록하고, 제 1 사용자의 권한 정보에 기초하여, 중계 서버를 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버에 등록하는 방법을 나타내는 흐름도이다.
도 70b는 본 발명의 일 실시예예 따른, 중계 서버가 제 2 메신져 서버에 제 1 사용자로써 중계 서버를 등록하고, 제 2 사용자의 권한 정보에 기초하여, 중계 서버를 제 2 사용자의 제 2 메신져 친구로써 제 2 메신져 서버에 등록하는 방법을 나타내는 흐름도이다.
도 70c는 본 발명의 일 실시예예 따른, 중계 서버가 사용자를 위한 가상 계정 정보를 메신져 서버에 등록함에 따라, 중계 서버에 생성하는 데이터베이스를 나타내는 도면이다.
도 70d는 본 발명의 일 실시예예 따른, 제 1 디바이스가 제 2 사용자의 제 1 메신져 가상 ID를 가진 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 나타내는 방법을 설명하기 위한 도면이다.
도 71a는 본 발명의 일 실시예예 따른, 제 1 디바이스가 제 1 디바이스에 저장된 연락처 목록을 이용하여, 제 2 사용자가 추가되었음을 나타내는 방법을 설명하기 위한 흐름도이다.
도 71b 내지 도 71c는 본 발명의 일 실시예예 따른, 제 1 디바이스가 제 1 디바이스에 저장된 연락처 목록을 이용하여, 제 2 사용자가 추가되었음을 나타내는 방법을 설명하기 위한 도면이다.
도 72a는 본 발명의 일 실시예에 따른, 중계 서버가 제 1 사용자의 가상 계정 정보 및 제 2 사용자의 가상 계정 정보에 기초하여 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계하는 방법을 나타내는 흐름도이다.
도 72b는 본 발명의 일 실시예예 따른, 중계 서버가 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계함에 따라, 제 1 디바이스 및 제 2 디바이스가 제 1 사용자와 제 2 사용자간에 송수신되는 메시지를 디스플레이하는 방법을 설명하기 위한 도면이다.
도 73은 본 발명의 일 실시예에 따른, 중계 서버가 메신져 기능을 수행하는 경우, 중계 서버가 제공하는 메신져 기능을 사용하는 사용자와 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계하는 중계 서버를 나타내는 도면이다.
도 74은 본 발명의 일 실시예에 따른, 제 1 디바이스 및 제 2 디바이스가 중계 서버에 계정을 등록하는 방법 및 제 2 디바이스가 제 2 메신져 서버에 계정을 등록하는 방법을 나타내는 흐름도이다.
도 75는 본 발명의 일 실시예에 따른, 중계 서버가, 제 2 메신져 서버에 대한 제 2 사용자의 권한을 획득하는 방법을 나타내는 흐름도이다.
도 76a는 본 발명의 일 실시예에 따른, 제 1 디바이스가 제 2 사용자를 중계 서버를 통해 대화할 제 1 메신져 친구로써 설정하는 제 1 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 76b는 본 발명의 일 실시예에 따른, 중계 서버에 저장된 데이터베이스를 나타내는 도면이다.
도 77a는 본 발명의 일 실시예예 따른, 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 중계 서버에 등록됨에 따라, 중계 서버가 제 1 디바이스에게 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 등록되었음을 알리는 방법을 나타내는 흐름도이다.
도 77b는 본 발명의 일 실시예에 따른, 중계 서버가 사용자들의 가상 계정 정보를 저장한 데이터베이스를 나타내는 도면이다.
도 78은 본 발명의 일 실시예에 따른, 중계 서버가 제 1 디바이스로부터 수신된 제 1 사용자의 메시지를 제 2 사용자에게 전송하는 방법을 나타내는 흐름도이다.
도 79는 본 발명의 일 실시예에 따른, 중계 서버가 제 2 디바이스로부터 수신된 제 2 사용자의 메시지를 제 1 사용자에게 전송하는 방법을 나타내는 흐름도이다.
도 80는 본 발명의 일 실시예에 따른, 중계 서버가 디바이스의 기능을 수행하는 경우, 중계 서버가 서로 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계하는 방법을 나타내는 도면이다.
도 81은 본 발명의 일 실시예에 따른, 제 1 중계 서버가 제 1 메신져 서버에, 제 2 중계 서버가 제 2 메신져 서버에 등록하는 방법을 나타내는 흐름도이다.
도 82a는 본 발명의 일 실시예에 따른, 제 1 중계 서버가 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 메신져 서버로부터 획득하는 방법을 나타내는 흐름도이다.
도 82b는 본 발명의 일 실시예에 따른, 제 2 중계 서버가 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 제 2 메신져 서버로부터 획득하는 방법을 나타내는 흐름도이다.
도 83a는 본 발명의 일 실시예예 따른, 제 1 중계 서버가 제 1 메신져 서버에 제 1 중계 서버를 등록하고, 제 1 사용자의 권한 정보에 기초하여, 제 1 중계 서버를 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버에 등록하는 방법을 나타내는 흐름도이다.
도 83b는 본 발명의 일 실시예예 따른, 제 2 중계 서버가 제 2 메신져 서버에 제 2 중계 서버를 등록하고, 제 2 사용자의 권한 정보에 기초하여, 제 2 중계 서버를 제 2 사용자의 메신져 친구로써 제 2 메신져 서버에 등록하는 방법을 나타내는 흐름도이다.
도 84a 내지 도 84c는 본 발명의 일 실시예에 따른, 제 1 중계 서버가 제 2 중계 서버에게 제 2 사용자의 제 1 메신져 가상 ID를 송신하는 방법을 나타내는 도면이다.
도 85a는 본 발명의 일 실시예에 따른, 제 1 중계 서버가 저장하는 데이터베이스를 도시하는 도면이다.
도 85b는 본 발명의 일 실시예에 따른, 제 2 중계 서버가 저장하는 데이터베이스를 도시하는 도면이다.
도 86는 본 발명의 일 실시예에 따른, 제 1 중계 서버 및 제 2 중계 서버가 제 1 사용자가 제 2 사용자에게 송신하는 메시지를 중계하는 방법을 나타내는 흐름도이다.
도 87은, 본 발명의 일 실시예에 따른, 중계 서버에 대한 블록도를 도시한다.
도 88는, 본 발명의 일 실시예에 따른, 제 1 디바이스에 대한 블록도를 도시한다.
도 89는 본 개시의 다른 실시 예에 따른 제 1 디바이스의 구성을 나타내는 블록도이다.
본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.
본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.
명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
명세서 전체에서, “클라우드 스토리지”는 디지털 데이터가 저장되는 데이터 저장 장치를 의미할 수 있다. 또한, 클라우드 스토리지는 하나의 저장 장치로 구성될 수 있으며, 복수의 저장 장치로 구성될 수도 있다.
또한, 클라우드 스토리지는 사용자들에게 데이터 저장 서비스를 제공하는 서비스 프로바이더에 의해 운용될 수 있다. 예를 들어, 서비스 프로바이더는 서비스에 가입한 사용자들에게 유료 또는 무료로 클라우드 스토리지 내의 저장 공간을 제공할 수 있다. 또한, 클라우드 스토리지는 네트워크를 통해 사용자의 디바이스로 사용자의 데이터를 송신하거나, 사용자의 디바이스로부터 사용자의 데이터를 수신할 수 있다. 또한, 클라우드 스토리지는 파일 시스템을 구비하여 사용자에게 파일 레벨의 데이터 액세스를 제공할 수 있다.
사용자가 서비스 프로바이더가 제공하는 서비스에 가입함에 따라, 사용자는 클라우드 스토리지에 사용자 고유의 계정을 등록할 수 있다. 클라우드 스토리지는 클라우드 스토리지에 등록된 사용자의 계정에 기초하여, 사용자의 데이터를 저장할 수 있다. 또한, 클라우드 스토리지는 사용자의 계정에 기초하여, 저장된 사용자의 데이터를 삭제 또는 변경할 수 있다.
또한, 클라우드 스토리지는 사용자가 설정한 사용자의 데이터에 대한 접근 정책에 따라, 사용자의 데이터에 대하여 다른 사용자의 접근을 제한할 수 있다. 예를 들어, 클라우드 스토리지는, 사용자가 접근 허락한 사용자에게만 사용자의 데이터에 대한 접근을 허용할 수 있다. 또한, 클라우드 스토리지는 사용자의 설정에 따라, 모든 사용자에게 사용자의 데이터에 대한 접근을 허여할 수도 있다.
또한, 클라우드 스토리지는 실시예에 따라 범용 클라우드 스토리지(Public Cloud Storage)로 언급될 수 있다.
명세서 전체에서, 저장 공간은 클라우드 스토리지 내의 논리적인 저장 공간을 의미할 수 있다. 예를 들어, 저장 공간은 파일이 저장되는 파일 시스템 구조물인 폴더를 포함할 수 있다.
명세서 전체에서, 데이터의 위치를 나타내는 위치 정보는 데이터의 논리적인 위치를 의미할 수 있다. 예를 들어, 데이터의 위치를 나타내는 위치 정보는 파일 경로(File Path) 및 URI(Uniform Resource Identifier)를 포함할 수 있다.
명세서 전체에서, 저장 공간의 위치를 나타내는 위치 정보는 저장 공간의 논리적인 위치를 의미할 수 있다. 예를 들어, 저장 공간의 위치를 나타내는 위치 정보는 폴더 경로 또는 URI를 포함할 수 있다.
실시예에 따라 위치 정보는 링크 정보로 언급될 수 있다.
명세서 전체에서, “메신져 서버”는 메시지를 전달하는 전달 장치를 의미할 수 있다.
또한, 메신져 서버는 사용자들에게 메시지 전송 서비스를 제공하는 서비스 프로바이더에 의해 운용될 수 있다. 예를 들어, 서비스 프로바이더는 서비스에 가입한 사용자들에게 유료 또는 무료로 메시지 전송 서비스를 제공할 수 있다.
사용자가 서비스 프로바이더가 제공하는 서비스에 가입함에 따라, 사용자는 메신져 서버에 사용자 고유의 계정을 등록할 수 있다. 메신져 서버는 메신져 서버에 등록된 사용자의 계정에 기초하여, 사용자의 메시지를 전송할 수 있다.
명세서 전체에서 “메신져 친구”란, 메신져 서비스를 이용하여 대화할 수 있는 사용자를 의미할 수 있다. 예를 들어, 제 1 사용자의 제 1 메신져 친구란, 제 1 사용자가 제 1 메신져 서비스를 이용하여 대화할 수 있는 사용자를 의미할 수 있다.
명세서 전체에서 “사용자의 고유 정보”란, 사용자를 다른 사용자와 구분할 수 있는 사용자만의 고유한 정보를 의미할 수 있다. 예를 들어, 사용자의 고유 정보는 전화 번호, 이메일 주소 및 주민 번호를 포함할 수 있으나, 이에 제한되지 않는다.
명세서 전체에서, 제 1 디바이스는 제 1 사용자가 사용하는 디바이스를 의미할 수 있다. 제 1 디바이스는 하나의 디바이스일 수 있으며, 복수개의 디바이스 일 수 있다. 또한, 제 1 클라우드 스토리지는 제 1 사용자가 가입된 클라우드 스토리지 일 수 있다. 이에 따라, 제 1 디바이스는 제 1 사용자의 계정에 기초하여 제 1 클라우드 스토리지에 데이터를 저장할 수 있다. 또한, 제 2 디바이스는 제 2 사용자가 사용하는 디바이스를 의미할 수 있다. 제 2 디바이스는 하나의 디바이스일 수 있으며, 복수개의 디바이스 일 수 있다. 또한, 제 2 클라우드 스토리지는 제 2 사용자가 가입된 클라우드 스토리지 일 수 있다. 이에 따라, 제 2 디바이스는 제 2 사용자의 계정에 기초하여, 제 2 클라우드 스토리지에 데이터를 저장할 수 있다.
실시예에 따라, 클라우스 스토리지 또는 메신져 서버는 클라우드 서버로 언급될 수 있다.
또한, 중계 서버는 복수개의 클라우드 스토리지 각각에 등록된 사용자들의 데이터를 중계하거나, 복수의 메신져 서버 각각에 등록된 사용자들의 메시지를 중계할 수 있으나, 설명의 편의를 위해 두개의 클라우드 스토리지 각각에 등록된 사용자들의 데이터를 중계하거나 또는 두개의 메신져 서버 각각에 등록된 사용자들의 메시지를 중계하는 실시예가 개시된다.
또한, 중계 서버는 복수의 사용자들의 데이터 또는 메시지를 중계할 수 있으나, 설명의 편의를 위해 제 1 사용자와 제 2 사용자의 데이터 또는 메시지를 중계하는 실시예가 개시된다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
도 1은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 서로 다른 클라우드 스토리지에 저장된 서로 다른 사용자의 데이터를 공유하는 방법을 설명하는 도면이다.
도 1을 참조하면, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 또는 제 2 클라우드 스토리지(3000)에 저장된 제 2 사용자의 데이터를 제 1 사용자 및 제 2 사용자간에 공유시킬 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보가 중계 서버(1000)에 저장되어 있을 수 있다. 중계 서버(1000)는 저장된 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보를 이용하여 제 1 클라우드 스토리지(2000)에게 제 1 사용자의 데이터를 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보는, 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 획득할 수 있는 권한에 관한 정보를 의미할 수 있다.
제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 획득할 수 있는 권한을 나타내는 설정값이, 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 대응하여 제 1 클라우드 스토리지(2000)에 설정될 수 있다.
제 1 사용자의 데이터를 획득할 수 있는 권한을 나타내는 설정값이 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 대응하여 제 1 클라우드 스토리지(2000)에 설정됨에 따라, 제 1 클라우드 스토리지(2000)는, 중계 서버(1000)로부터 요청된 제 1 사용자의 데이터를 중계 서버(1000)로 송신할 수 있다.
제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 수신함에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 대한 접근 권한 정보를 이용하여 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)로 전송할 수 있다. 제 2 클라우드 스토리지(3000)에 대한 접근 권한 정보는 중계 서버(1000)에 저장되어 있을 수 있다.
제 2 클라우드 스토리지(3000)에 대한 접근 권한 정보는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한에 관한 정보를 의미할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 계정에 대응하여 제 2 클라우드 스토리지(3000)에 설정될 수 있다.
제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 계정에 대응하여 제 2 클라우드 스토리지(3000)에 설정됨에 따라, 제 2 클라우드 스토리지(3000)는, 중계 서버(1000)로부터 전송된 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
도 2는 본 발명의 일 실시예에 따른, 제 1 디바이스(100), 제 2 디바이스(200), 중계 서버(1000), 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)의 일 실시예를 도시한다.
도 2을 참조하면, 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)는 서로 다른 서비스 프로바이더에 의해 운영되는 클라우드 스토리지일 수 있다.
제 1 사용자는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 중계 서버(1000)에게 접근 권한을 설정할 수 있다. 예를 들어, 제 1 디바이스(100)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 중계 서버(1000)와 공유하는 제 1 사용자의 요청을, 제 1 클라우드 스토리지(2000)에게 송신할 수 있다. 제 1 사용자의 데이터에 대하여, 제 1 클라우드 스토리지(2000)에, 중계 서버(1000)와 제 1 사용자의 공유 관계가 설정됨에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 접근 권한을 획득할 수 있다. 제 1 사용자의 데이터에 대한 접근 권한은 제 1 사용자의 데이터를 획득할 수 있는 권한을 포함할 수 있다.
또한, 제 2 사용자는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 대하여 중계 서버(1000)에게 접근 권한을 설정할 수 있다. 예를 들어, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간을 중계 서버(1000)와 공유하는 제 2 사용자의 요청을 제 2 클라우드 스토리지(3000)에게 송신할 수 있다. 제 2 사용자의 저장 공간에 대하여, 제 2 클라우드 스토리지(3000)에, 중계 서버(1000)와 제 2 사용자의 공유 관계가 설정됨에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 대한 접근 권한을 획득할 수 있다. 제 2 사용자의 저장 공간에 대한 접근 권한은, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 포함할 수 있다.
제 1 디바이스(100)는, 중계 서버(1000)에게, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자 간의 공유를 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자 간의 공유 요청을 수신함에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 접근 권한에 기초하여, 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 수신할 수 있다. 또한, 중계 서버(1000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 대한 접근 권한에 기초하여, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터를 저장할 수 있다.
또한, 중계 서버(1000)는 제 2 디바이스(200)로부터 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자와 공유하는 제 2 사용자의 요청을 수신할 수 있다. 공유 요청을 수신함에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 저장된 제 2 사용자의 데이터에 대한 접근 권한에 기초하여, 제 2 클라우드 스토리지(3000)로부터 제 2 사용자의 데이터를 수신하고, 제 1 클라우드 스토리지(2000) 내의 제 1 사용자의 저장 공간에 대한 접근 권한에 기초하여, 수신된 제 2 사용자의 데이터를 제 1 클라우드 스토리지(2000) 내의 제 1 사용자의 저장 공간에 저장할 수도 있다.
또한, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터와 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장된 제 1 사용자의 데이터의 사본을 동기화 할 수 있다.
또한, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유된 데이터에 대하여 쓰기를 금지할 수 있다. 또한, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유된 데이터에 대하여 읽기를 금지할 수 있다.
또한, 중계 서버(1000)는 다양한 형태로 구현될 수 있다. 예를 들어, 도 2에 도시된 바와 같이, 중계 서버(1000)는 제 1 클라우드 스토리지(2000), 제 2 클라우드 스토리지(3000), 제 1 디바이스(100) 및 제 2 디바이스(200)와 구별되는 별개의 디바이스일 수 있다.
또한, 중계 서버(1000)는 제 1 클라우드 스토리지(2000) 또는 제 2 클라우드 스토리지(3000) 내에서 구현될 수 있다. 예를 들어, 중계 서버(1000)는 중계 서버(1000)에 등록된 사용자들의 계정에 기초하여 사용자들에게 스토리지 기능을 제공하는 클라우드 스토리지 일 수 있다.
또한, 중계 서버(1000)는 제 1 디바이스(100) 또는 제 2 디바이스(200) 내에서 구현될 수 있다. 예를 들어, 중계 서버(1000)는 사용자의 입력에 따라, 디바이스 내의 데이터를 제 1 클라우드 스토리지(2000)에 업로드 하거나, 제 1 클라우드 스토리지(2000)로부터 데이터를 수신하는 디바이스일 수 있다.
도 3 및 도 4는, 본 발명의 일 실시에에 따른, 중계 서버(1000)를 통해 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터가, 제 2 사용자의 데이터로써 제 2 클라우드 스토리지(3000)에 저장되는 방법을 설명하기 위한 도면이다.
도 3을 참조하면, 제 1 클라우드 스토리지(2000)는 제 1 사용자의 파일을 저장할 수 있다.
제 1 클라우드 스토리지(2000)는 파일 시스템을 이용하여, 제 1 사용자의 파일 또는 폴더를 관리할 수 있다.
파일을 구성하는 데이터는 파일의 컨텐츠 및 파일의 속성 정보를 포함할 수 있다. 파일의 속성 정보는 파일 이름, 파일 형식, 파일의 위치, 파일의 원본 크기, 파일의 전체 크기 중 저장된 데이터의 크기, 파일의 생성 시점, 파일의 수정 시점, 파일에 액세스한 시점, 파일에 대한 접근 권한, 파일에 대한 접근 범위에 관한 정보 및 썸네일 이미지 등을 포함할 수 있다. 또한, 파일의 속성 정보는 메타 데이터 형식으로 파일에 기록될 수 있다.
폴더는 다른 폴더 또는 파일을 포함하는 논리적인 저장 공간일 수 있다. 폴더를 구성하는 데이터는 폴더 내에 위치하는 서브 폴더 또는 파일의 속성 정보 및 서브 폴더 또는 파일의 위치 정보를 포함할 수 있다. 또한, 폴더는, 실시예에 따라, 디렉토리 또는 파일 폴더로 언급될 수 있다.
일 실시예에 따른, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 폴더의 구조는 제 1 사용자에 대응하는 루트(root) 아래에 Dropbox_user1_FOLDER1 및 Dropbox_user1_FOLDER2라는 폴더명을 가진 두개의 최상위 폴더가 위치하는 구조일 수 있다. 또한, Dropbox_user1_FOLDER2 폴더는 Dropbox_user1_SUB_FOLDER_1 및 Dropbox_user1_SUB_FOLDER_2 라는 폴더명을 가진 두개의 폴더와 Dropbox_user1_FILE1라는 파일명을 가진 하나의 파일을 포함할 수 있다.
또한, 일 실시시예에 따른, 제 2 클라우드 스토리지(3000)에 저장된 제 2 사용자의 데이터의 폴더 구조는 제 2 사용자에 대응하는 루트 아래에 Google Drive_user2_FOLDER1 및 Google Drive_user2_FOLDER2이라는 폴더명을 가진 두개의 최상위 폴더가 위치하는 구조일 수 있다. 또한, Google Drive_user2_FOLDER1 폴더는 Google Drive_user2_FILE1이라는 파일명을 가진 하나의 파일을 포함할 수 있다.
도 4를 참조하면, 제 1 사용자는, 중계 서버(1000)에, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 Dropbox_user1_FOLDER2에 대하여, 제 1 사용자와 제 2 사용자간의 공유를 설정할 수 있다. Dropbox_user1_FOLDER2에 대하여 제 1 사용자와 제 2 사용자간의 공유가 설정됨에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 Dropbox_user1_FOLDER2 폴더를 수신하고, 수신한 Dropbox_user1_FOLDER2 폴더를 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 Dropbox_user1_FOLDER2 폴더가, 제 2 사용자의 저장공간으로 복사됨에 따라, 제 2 클라우드 스토리지(3000)는 제 2 사용자의 데이터로써 Dropbox_user1_FOLDER2 폴더는 저장할 수 있다.
제 2 사용자의 Dropbox_user1_FOLDER2 폴더가 제 2 사용자의 저장 공간에 저장되는 위치는 제 2 사용자의 설정에 따라 결정될 수 있다. 예를 들어, 제 2 사용자가, 제 1 클라우드 스토리지(2000)로부터 복사되는 데이터가 마운트되는 위치를 Google Drive_user2_FOLDER1로 설정한 경우, 제 2 사용자의 Dropbox_user1_FOLDER2 폴더는 Google Drive_user2_FOLDER1 폴더 내에 마운트될 수 있다. 또한, 제 2 사용자가, 제 1 클라우드 스토리지(2000)로부터 복사되는 데이터가 마운트되는 위치를 설정하지 않은 경우, 제 2 사용자의 Dropbox_user1_FOLDER2 폴더는 제 2 사용자에 대응하는 루트 아래에 마운트 될 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 Dropbox_user1_FOLDER2 폴더에 대하여 제 1 사용자와 제 2 사용자간의 공유 관계가 설정됨에 따라, Dropbox_user1_FOLDER2 폴더 내에 위치하는 모든 데이터가 제 2 클라우드 스토리지(3000)로 복사될 수 있다. 또한, Dropbox_user1_FOLDER2 폴더 내의 서브 폴더 및 파일의 메타 데이터만이 제 2 클라우드 스토리지(3000)로 복사될 수도 있다. 예를 들어, Dropbox_user1_FOLDER2 폴더 내의 파일의 속성 정보 및 Dropbox_user1_FOLDER2 폴더내의 서브 폴더 및 파일들의 계층 구조만이 제 2 클라우드 스토리지(3000)로 복사될 수도 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유 관계가 설정됨에 따라, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터가, 제 2 클라우드 스토리지(3000) 내에 제 2 사용자의 데이터로써 저장되는 방법을 도 5 내지 도 40을 참조하여 아래에서 상세히 설명한다.
도 5는 본 발명의 일 실시예에 따른, 중계 서버(1000)가, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를, 서로 다른 클라우드 스토리지에 등록된 제 1 사용자와 제 2 사용자간에 공유시키기 위한 방법을 설명하는 흐름도이다.
단계 S510에서, 중계 서버(1000)는, 제 1 사용자가 가입된 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지(2000)에 대한 접근 권한 정보를 저장할 수 있다.
중계 서버(1000)는 제 1 사용자가 가입된 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보를 저장할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 2 사용자와 공유하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 획득할 수 있는 권한을 중계 서버(1000)에게 설정할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다. 예를 들어, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 중계 서버(1000)와 공유할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
제 1 사용자의 데이터를 획득할 수 있는 권한을 중계 서버(1000)에게 설정하는 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)는 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 대응하여 제 1 사용자의 데이터를 획득할 수 있는 권한을 나타내는 설정값을 설정할 수 있다. 제 1 사용자의 데이터를 획득할 수 있는 권한을 나타내는 설정값이 중계 서버(1000)의 계정에 대응하여 제 1 클라우드 스토리지(2000)에 설정됨에 따라, 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정은 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보를 의미할 수 있다.
또한, 제 1 디바이스(100)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다. 제 1 디바이스(100)로부터 제 1 사용자의 데이터의 위치를 나타내는 위치 정보에 대한 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 1 디바이스(100)로 전송할 수 있다. 제 1 사용자의 데이터의 위치를 나타내는 위치 정보는 제 1 사용자의 데이터의 URL을 포함할 수 있다. 제 1 디바이스(100)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 중계 서버(1000)에 등록된 제 1 사용자의 계정에 대응하여 저장할 것을 중계 서버(1000)에게 요청할 수 있다.
또한, 중계 서버(1000)는 제 2 사용자가 가입된 제 2 클라우드 스토리지(2000)에 대한 접근 권한 정보를 저장할 수 있다.
예를 들어, 제 2 클라우드 스토리지(2000) 내의 제 2 사용자의 저장 공간을 중계 서버(1000)로부터 수신되는 데이터를 저장하는 저장 공간으로 설정하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스(200)는 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 설정할 것을 제 2 클라우드 스토리지(2000)에게 요청할 수 있다. 제 2 클라우드 스토리지(2000) 내의 제 2 사용자의 저장 공간을 중계 서버(1000)에게 설정하는 요청을 수신함에 따라, 제 2 클라우드 스토리지(2000)는 제 2 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 대응하여, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값을 설정할 수 있다. 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 중계 서버(1000)의 계정에 대응하여 제 2 클라우드 스토리지(2000)에 설정됨에 따라, 제 2 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정은 제 2 클라우드 스토리지(2000)에 대한 접근 권한 정보를 의미할 수 있다.
또한, 제 2 디바이스(200)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 제 2 클라우드 스토리지(2000)에게 요청할 수 있다. 제 2 디바이스(200)로부터 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보에 대한 요청을 수신함에 따라, 제 2 클라우드 스토리지(2000)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다. 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보는 제 2 사용자의 저장 공간의 URL을 포함할 수 있다. 제 2 디바이스(200)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 중계 서버(1000)에 등록된 제 2 사용자의 계정에 대응하여 저장할 것을 중계 서버(1000)에게 요청할 수 있다.
중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 2 사용자와 공유하는 공유 요청을 수신할 수 있다.
단계 S520에서, 제 1 디바이스(100)로부터 공유 요청을 수신함에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보를 이용하여 제 1 클라우드 스토리지(2000)에게 제 1 사용자의 데이터를 요청할 수 있다.
예를 들어, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 기초하여, 제 1 클라우드 스토리에게 제 1 사용자의 데이터를 요청할 수 있다. 이 경우, 제 1 사용자의 데이터에 대한 요청은 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
제 1 사용자의 데이터에 대한 접근 권한이 중계 서버(1000)의 계정에 대응하여 제 1 클라우드 스토리지(2000)에 설정된 경우, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청된 제 1 사용자의 데이터를 중계 서버(1000)로 전송할 수 있다.
단계 S530에서, 중계 서버(1000)는 제 2 클라우드 스토리지(2000)에 대한 접근 권한 정보를 이용하여, 요청에 대응하여 제 1 클라우드 스토리지(2000)로부터 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(2000)로 전송할 수 있다.
예를 들어, 중계 서버(1000)는 제 2 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 계정에 기초하여, 제 2 클라우드 스토리지(2000) 내의 제 2 사용자의 저장 공간에 제 1 사용자의 데이터를 저장할 것을 요청할 수 있다. 이 경우, 제 2 사용자의 저장 공간에 데이터를 저장하는 요청은 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 포함할 수 있다.
제 2 사용자의 저장 공간에 대한 접근 권한이 중계 서버(1000)의 계정에 대응하여 제 2 클라우드 스토리지(2000)에 설정된 경우, 제 2 클라우드 스토리지(2000)는 중계 서버(1000)로부터 수신된 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자의 데이터에 대한 공유 요청과 함께, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신할 수 있다. 또한, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자의 데이터에 대한 공유 요청과 함께, 제 1 사용자의 데이터에 대한 사용 제한 요청을 수신할 수도 있다. 데이터에 대한 사용 제한은 데이터의 복사, 데이터의 인쇄 및 데이터의 변경에 대한 제한을 포함할 수 있다.
또한, 중계 서버는(1000)는, 제 2 클라우드 스토리지(3000)로부터, 제 1 사용자의 데이터에 대한 요청을 수신하는 경우에만, 제 2 사용자의 저장 공간에, 제 1 사용자의 데이터를 저장할 수도 있다.
또한, 중계 서버는(1000)는, 제 1 사용자의 데이터가 파일인 경우, 파일의 컨텐츠를 제외한 파일의 속성 정보만을 제 2 사용자의 저장 공간에 저장할 수 있다.
또한, 중계 서버(1000)가 제 1 디바이스(100)로부터 공유 요청과 함께, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신한 경우, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터 중 읽기 금지 요청된 일부분을 삭제하고, 제 2 사용자의 저장 공간에 일부분이 삭제된 파일를 저장할 수 있다.
또한, 중계 서버(1000)가 제 1 디바이스(100)로부터 공유 요청과 함께, 제 1 사용자의 데이터에 대한 사용 제한 요청을 수신한 경우, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터에 대하여 요청된 기능을 제한하기 위한 처리를 하고, 제 2 사용자의 저장 공간에 사용 제한 처리된 제 1 사용자의 데이터를 저장할 수 있다.
또한, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터와 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장된 제 1 사용자의 데이터의 사본을 동기화 할 수 있다. 제 1 사용자의 데이터의 사본은, 공유 요청에 따라 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터가 제 2 사용자의 저장 공간에 복사된 데이터를 의미할 수 있다.
예를 들어, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신할 수 있다. 동기화 요청을 수신함에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수 있다. 이 경우, 동기화 요청을 수신함에 따라, 중계 서버(1000)는 변경된 데이터에 대한 위치를 나타내는 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정된 데이터인지 여부를 판단할 수 있다. 변경된 데이터가 쓰기 금지 설정된 데이터가 아닌 경우에만, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수 있다. 쓰기 금지 설정은 제 2 사용자의 저장 공간에 저장된 제 1 사용자의 데이터의 사본이 중계 서버(1000)에 의해 변경되지 않는 설정을 의미할 수 있다. 또한, 변경된 데이터가 파일의 일부분인 경우, 변경된 데이터에 대한 위치를 나타내는 위치 정보는 파일 내의 변경된 일부분에 대한 위치 정보를 포함할 수 있다.
도 6는 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지(2000), 제 2 클라우드 스토리지(3000) 및 중계 서버(1000)가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
단계 S6010에서, 제 1 클라우드 스토리지(2000)는 제 1 디바이스(100)로부터 제 1 사용자에 대한 등록 요청을 수신할 수 있다. 제 1 사용자에 대한 등록 요청은 제 1 클라우드 스토리지(2000)에 등록할 제 1 사용자의 계정을 포함할 수 있다. 계정은 제 1 사용자의 ID 및 패스워드를 포함할 수 있다. 제 1 사용자가, 제 1 사용자의 계정에 기초하여, 제 1 클라우드에 등록됨에 따라, 제 1 사용자는 제 1 클라우드 스토리지(2000)의 리소스를 사용할 수 있는 권한을 획득할 수 있다.
단계 S6020에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 제 2 사용자에 대한 등록 요청을 수신할 수 있다. 제 2 사용자가, 제 2 사용자의 계정에 기초하여, 제 2 클라우드에 등록됨에 따라, 제 2 사용자는 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 권한을 획득할 수 있다.
단계 S6030에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 중계 서버(1000)에 대한 등록 요청을 수신할 수 있다. 중계 서버(1000)가, 중계 서버(1000)의 계정에 기초하여, 제 1 클라우드 스토리지(2000)에 등록됨에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)의 리소스를 사용할 수 있는 권한을 획득할 수 있다.
단계 S6040에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 중계 서버(1000)에 대한 등록 요청을 수신할 수 있다. 중계 서버(1000)가, 중계 서버(1000)의 계정에 기초하여, 제 2 클라우드 스토리지(3000)에 등록됨에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 권한을 획득할 수 있다.
이에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)에 사용자로써 등록될 수 있다.
한편, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000) 또는 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 제 3 자(Third Party)로써, 제 1 클라우드 스토리지(2000) 또는 제 2 클라우드 스토리지(3000)에 등록될 수도 있다.
예를 들어, 중계 서버(1000)에는, 제 1 클라우드 스토리지(2000) 사업자 또는 제 2 클라우드 스토리지(3000) 사업자가 제공하는 Open API(Application Programming Interface)로 구현된 인증 및 허가를 위한 프로그램(예를 들어, OAuth 표준으로 구현된 프로그램)이 설치되어 있을 수 있다. 그리고, 중계 서버(1000)는, 제 1 사용자 또는 제 2 사용자의 인증 및 허가에 기초하여, 제 1 클라우드 스토리지(2000) 또는 제 2 클라우드 스토리지(3000) 내의 제 1 사용자의 리소스 또는 제 2 사용자의 리소스를 사용할 수 있는 권한을 획득할 수도 있다.
제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)에 중계 서버(1000)가 미리 등록되어 있는 경우에는, 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)에 중계 서버(1000)를 등록하는 단계는 생략될 수도 있다.
단계 S6050에서, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자에 대한 등록 요청을 수신할 수 있다. 제 1 사용자에 대한 등록 요청은 중계 서버(1000)에 등록할 제 1 사용자의 계정을 포함할 수 있다.
단계 S6060에서, 중계 서버(1000)는 제 2 디바이스(200)로부터 제 2 사용자에 대한 등록 요청을 수신할 수 있다. 제 2 사용자에 대한 등록 요청은 중계 서버(1000)에 등록할 제 2 사용자의 계정을 포함할 수 있다.
도 7은 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가, 제 2 사용자와 공유하고자하는 데이터를 선택하는 제 1 사용자의 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 7를 참조하면, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더 중 적어도 하나에 대하여, 제 2 사용자와 공유를 설정하기 위한 제 1 사용자의 입력을 수신할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더를 제 1 클라우드 스토리지(2000)로부터 수신하고, 수신된 파일 또는 폴더를 제 1 디바이스(100)에 저장할 수 있다. 또한, 제 1 디바이스(100)는 제 1 디바이스(100)에 저장된 제 1 사용자의 파일 또는 폴더를, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더와 동기화시킬 수 있다.
또한, 제 1 클라우드 스토리지(2000)로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더를 수신함에 따라, 제 1 디바이스(100)는 수신한 파일 또는 폴더의 목록(710)을 화면에 디스플레이할 수 있다. 예를 들어, 제 1 디바이스(100)는, 제 1 클라우드 스토리지(2000)로부터 수신한, 제 1 사용자의 파일 또는 폴더를 제 1 디바이스(100)의 파일 시스템에 마운트하고, 파일 또는 폴더의 목록(710)을 화면에 디스플레이할 수 있다.
제 1 사용자가 디스플레이된 파일 또는 폴더를 선택한 상태에서 마우스 오른쪽 버튼을 클릭하는 경우, 제 1 디바이스(100)는 선택된 파일 또는 폴더에 관련된 기능을 나타내는 메뉴(720)를 디스플레이할 수 있다.
이 경우, 제 1 디바이스(100)는 선택된 파일 또는 폴더가 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더인지를 판단할 수 있다. 제 1 디바이스(100)에는 파일 또는 폴더에 대응하여, 파일 또는 폴더가 제 1 클라우드 스토리지(2000) 내에 저장된 파일 또는 폴더인지 여부에 관한 정보가 저장되어 있을 수 있다. 예를 들어, 메타데이터 형식으로, 제 1 클라우드 스토리지(2000) 내에 저장된 파일 또는 폴더인지 여부에 관한 정보가 파일 또는 폴더에 기록되어 있을 수 있다.
제 1 사용자에 의해 선택된 파일 또는 폴더가 제 1 클라우드 내의 제 1 사용자의 파일 또는 폴더인 경우, 제 1 디바이스(100)는 선택된 파일 또는 폴더를 공유하기 위한 인터페이스(730)을 디스플레이 할 수 있다.
선택된 파일 또는 폴더를 공유하기 위한 인터페이스(730)를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 사용자에 의해 선택된 파일 또는 폴더를, 제 1 사용자가 제 2 사용자와 공유하고자 하는 파일 또는 폴더로써 결정할 수 있다.
도 8은 본 발명의 다른 실시예에 따른, 제 1 사용자가 제 1 디바이스(100)에서, 제 2 사용자와 공유하려는 데이터를 선택하는 방법을 설명하기 위한 도면이다.
도 8을 참조하면, 제 1 디바이스(100)는, 제 1 디바이스(100)에 디스플레이된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일 또는 폴더 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 파일 또는 폴더의 목록을 수신할 수 있다. 이 경우, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)로부터, 제 1 사용자의 파일 또는 폴더의 데이터 중, 제 1 사용자의 폴더 내의 파일의 속성 정보 및 폴더의 계층 구조만을 수신할 수 있다.
제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 파일 또는 폴더의 목록을 수신함에 따라, 제 1 디바이스(100)는 제 1 사용자의 파일 또는 폴더의 목록을 화면에 디스플레이할 수 있다.
또한, 제 1 디바이스(100)는 제 1 사용자의 파일 또는 폴더 중 적어도 하나를 선택하기 위한 사용자 인터페이스(810)를 화면에 디스플레이 할 수 있다. 제 1 사용자의 파일 또는 폴더 중 적어도 하나를 선택하기 위한 사용자 인터페이스(810)는 파일 또는 폴더의 이름, 각각의 파일 또는 폴더를 선택하기 위한 체크 박스 및 공유 기능을 실행하기 위한 버튼(820)을 포함할 수 있다.
또한, 제 1 디바이스(100)는 파일의 속성 정보를 파일명과 함께 디스플레이 할 수 있다.
제 1 사용자의 파일 또는 폴더 중 적어도 하나를 선택하는 사용자 입력 및 공유 기능을 실행하기 위한 버튼(820)을 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는, 제 1 사용자에 의해 선택된 파일 또는 폴더를 제 1 사용자가 제 2 사용자와 공유하고자 하는 파일 또는 폴더로써 결정할 수 있다.
도 9은, 본 발명의 다른 실시예에 따른, 제 1 사용자가 제 1 디바이스(100)에서, 제 2 사용자와 공유하려는 데이터를 선택하는 방법을 설명하기 위한 도면이다.
도 9을 참조하면, 제 1 디바이스(100)는, 제 1 디바이스(100)에 디스플레이된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일을 선택하는 사용자 입력을 수신할 수 있다.
제 1 디바이스(100)는, 파일을 선택하는 사용자 입력을 수신함에 따라, 파일의 컨텐츠(910)를 디스플레이할 수 있다. 또한, 디스플레이된 파일이 제 1 사용자의 클라우드 스토리지에 저장된 파일인 경우, 제 1 디바이스(100)는 파일의 컨텐츠(910)과 함께 파일을 공유하기 위한 사용자 인터페이스(920)를 디스플레이할 수 있다.
파일을 공유하기 위한 사용자 인터페이스(920)를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 디스플레이된 파일을, 제 2 사용자와 공유할 파일로써 결정할 수 있다.
도 10는 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중, 제 1 사용자에 의해 선택된 데이터에 대하여 중계 서버(1000)에게 접근 권한을 설정하는 방법을 설명하는 흐름도이다.
단계 S1010에서 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나에 대하여 다른 사용자와 공유할 것을 명령하는 사용자 입력을 수신할 수 있다.
단계 S1020에서 제 1 디바이스(100)는 선택된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여, 중계 서버(1000)에게 접근 권한을 부여할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
공유를 명령하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 제 1 사용자와 중계 서버(1000)간의 공유를 설정할 것을 제 1 클라우드 스토리지(2000)에 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 제 1 사용자와 중계 서버(1000)간의 공유 설정 요청은 제 1 클라우드 스토리지(2000)에 등록된 제 1 사용자의 ID, 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 ID 및 선택된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 식별 정보를 포함할 수 있다.
또한, 제 1 디바이스(100)는 접근 권한 부여 요청과 함께, 선택된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 요청할 수도 있다.
단계 S1030에서, 제 1 클라우드 스토리지(2000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 제 1 사용자에 의해 선택된 데이터에 대하여 중계 서버(1000)에게 접근 권한을 부여할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)는, 제 1 사용자에 의해 선택된 제 1 사용자의 데이터에 대하여, 제 1 사용자와 중계 서버(1000)간의 공유를 설정할 수 있다. 제 1 사용자와 중계 서버(1000)간의 공유가 설정됨에 따라, 제 1 클라우드 스토리지(2000)는, 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 ID에 대응하여, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 접근 권한 정보를 저장할 수 있다. 또한, 제 1 클라우드 스토리지(2000)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 식별 정보에 대응하여 중계 서버(1000)의 ID를 저장할 수 있다.
단계 S1040에서, 제 1 클라우드 스토리지(2000)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 제 1 사용자에 의해 선택된 데이터의 위치를 나타내는 위치 정보를 제 1 디바이스(100)로 전송할 수 있다.
도 10에서, 제 1 클라우드 스토리지(2000)에, 제 1 사용자의 데이터에 대한 제 1 사용자와 중계 서버(1000)간의 공유가 설정됨에 따라, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 접근 권한을 획득하였으나, 실시예에 따라, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 클라우드 스토리지(2000)에 등록된 제 1 사용자의 계정을 직접 수신할 수 도 있다.
도 11은, 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 11을 참조하면, 제 1 디바이스(100)는 제 2 사용자를 설정하는 사용자 입력을 수신할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 제 1 사용자에 의해 선택된 데이터를 공유할 제 2 사용자를 설정하는 사용자 입력을 수신할 수 있다.
예를 들어, 제 1 사용자에 의해 선택된 파일 또는 폴더를 공유할 데이터로써 결정함에 따라, 제 1 디바이스(100)는 제 2 사용자를 설정하기 위한 사용자 인터페이스(1110)를 디스플레이 할 수 있다.
제 2 사용자를 설정하기 위한 사용자 인터페이스(1110)는 제 2 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(1120)를 포함할 수 있다. 제 2 사용자의 식별 정보는 중계 서버(1000)에 등록된 제 2 사용자의 ID, 이름, 전화 번호 및 이메일 주소 등을 포함할 수 있다.
또한, 제 1 디바이스(100)는 제 1 사용자의 데이터를, 제 2 사용자와 공유할 것을 중계 서버(1000)에게 요청하기 위한 사용자 인터페이스(1130)을 디스플레이할 수 있다. 제 1 사용자의 데이터를, 제 2 사용자와 공유할 것을 중계 서버(1000)에게 요청하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 사용자에 의해 선택된 제 1 사용자의 데이터를, 제 1 사용자에 의해 입력된 제 2 사용자와 공유할 것을 중계 서버(1000)에게 요청할 수 있다.
도 12는, 본 발명의 다른 실시예에 따른, 제 1 디바이스(100)가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 12를 참조하면, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 사용자 입력을 수신할 수 있다.
제 1 사용자에 의해 선택된 파일 또는 폴더에 대하여, 제 1 디바이스(100)는 제 2 사용자를 설정하기 위한 사용자 인터페이스(1210)를 디스플레이 할 수 있다.
제 2 사용자를 설정하기 위한 사용자 인터페이스(1210)는 제 2 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(1220)를 포함할 수 있다. 제 2 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(1220)는 제 1 디바이스(100)에 저장된 사용자 목록과 연동될 수 있다.
예를 들어, 제 2 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(1220)를 터치하는 사용자 입력을 수신하는 경우, 제 1 디바이스(100)는 제 1 디바이스(100)에 저장된 사용자 목록을 디스플레이 할 수 있다. 제 1 디바이스(100)에 저장된 사용자 목록은 주소록(1250)을 포함할 수 있다.
제 1 디바이스(100)는 디스플레이된 사용자 목록 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다. 적어도 하나를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 선택된 사용자의 이름, 전화 번호 또는 이메일 주소 등을 제 2 사용자의 식별 정보로서 결정할 수 있다.
또한, 제 1 디바이스(100)는 제 2 사용자에게 부여할 제 1 사용자의 데이터에 대한 사용 제한을 설정하는 사용자 인터페이스(1230 및 1240)를 디스플레이 할 수 있다. 데이터에 대한 사용 제한은 데이터의 복사, 데이터의 인쇄 및 데이터의 변경에 대한 제한 등을 포함할 수 있다.
예를 들어, 제 1 사용자가 “변경 가능” 버튼(1230)을 선택한 경우, 제 2 사용자는 제 1 사용자의 데이터를 볼 수 있을 뿐만 아니라, 제 1 사용자의 데이터를 수정할 수 있다. 한편, 제 1 사용자가 “읽기 전용” 버튼(1240)을 선택한 경우, 제 2 사용자는 제 1 사용자의 데이터를 볼 수 있을 뿐, 제 1 사용자의 데이터를 수정하는 것은 제한될 수 있다.
도 13은 본 발명의 다른 실시예에 따른, 제 1 디바이스(100)가 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 제 1 사용자 입력을 수신하는 방법을 설명하기 위한 도면이다.
도 13을 참조하면, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 공유할 제 2 사용자를 설정하는 사용자 입력을 수신할 수 있다.
제 1 디바이스(100)는 제 2 사용자를 설정하기 위한 사용자 인터페이스(1350)를 디스플레이 할 수 있다. 제 1 디바이스(100)는 제 2 사용자를 설정하기 위한 사용자 인터페이스(1350)를 중계 서버(1000)로부터 수신할 수 있다. 예를 들어, 제 1 디바이스(100)는 2 사용자를 설정하기 위한 사용자 인터페이스(1350)를 포함하는 웹 페이지를 중계 서버(1000)로부터 수신할 수 있다.
제 2 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(1350)는 중계 서버(1000)에 저장된 사용자 데이터베이스와 연동될 수 있다. 중계 서버(1000)에 저장된 사용자 데이터베이스에는 중계 서버(1000)에 등록된 사용자의 ID에 대응하여 사용자의 이름, 전화번호 및 이메일 주소 등이 저장될 수 있다.
제 1 사용자가 사용자 인터페이스(1350)를 통해 제 2 사용자의 식별 정보를 입력함에 따라, 제 1 디바이스(100)는 입력된 식별 정보를 중계 서버(1000)로 전송할 수 있다. 중계 서버(1000)는, 사용자 데이터베이스에 기초하여, 수신된 제 2 사용자의 식별 정보에 대응하는 제 2 사용자의 ID를 결정할 수 있다.
또한, 제 1 디바이스(100)는, 제 2 사용자에게 전달할 메시지를 입력하기 위한 사용자 인터페이스(1370)를 디스플레이 할 수도 있다.
도 14는 본 발명의 일 실시예에 따른, 공유할 제 1 사용자의 데이터 및 제 2 사용자를 선택하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)가 선택된 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 중계 서버(1000)에 요청하는 방법을 설명하기 위한 흐름도이다.
단계 S1410에서, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자 간의 공유를 요청할 수 있다.
공유할 제 1 사용자의 데이터 및 제 2 사용자를 선택하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 선택된 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 중계 서버(1000)에 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유 설정 요청은, 중계 서버(1000)에 등록된 제 1 사용자의 ID, 중계 서버(1000)에 등록된 제 2 사용자의 ID 및 공유할 제 1 사용자의 데이터의 식별 정보를 포함할 수 있다. 제 1 사용자의 데이터의 식별 정보는 제 1 사용자의 데이터가 저장된 위치를 나타내는 위치 정보를 포함할 수 있다.
단계 S1420에서, 중계 서버(1000)는 제 1 디바이스(100)로부터 공유 요청된 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자 간에 공유를 설정할 수 있다.
예를 들어, 중계 서버(1000)는 공유 요청된 제 1 사용자의 데이터에 대응하여 중계 서버(1000)에 등록된 제 2 사용자의 ID를 공유자로써 저장할 수 있다. 또한, 중계 서버(1000)는 공유 요청된 제 1 사용자의 데이터에 대응하여 중계 서버(1000)에 등록된 제 1 사용자의 ID를 소유자로써 저장할 수 있다. 또한, 중계 서버(1000)는 공유 요청된 제 1 사용자의 데이터에 대응하여, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 저장할 수도 있다.
도 15는, 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자간의 공유 설정이 요청됨에 따라, 중계 서버(1000)에 저장되는 데이터 제공자에 관한 데이터베이스(1500)를 설명하기 위한 도면이다.
도 15를 참조하면, 중계 서버(1000)는 데이터를 제공한 사용자에 대응하여, 데이터에 관한 정보를 저장할 수 있다.
예를 들어, 중계 서버(1000)는, 중계 서버(1000)에 등록된 제 1 사용자의 ID(1510)에 대응하여, 제 1 클라우드 스토리지(2000)에 등록된 제 1 사용자의 ID(1520) 및 제 1 사용자가 제 2 사용자에게 제공하는 데이터에 관한 정보(1530)를 저장할 수 있다. 제 1 사용자가 제 2 사용자에게 제공하는 데이터에 관한 정보(1530)는 제 1 사용자가 제 2 사용자에게 제공하는 데이터의 식별 정보(1532)를 포함할 수 있다. 데이터의 식별 정보(1532)는 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
도 16는, 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자간의 공유 설정이 요청됨에 따라, 중계 서버(1000)에 저장되는 데이터에 관한 데이터베이스(1600)를 설명하기 위한 도면이다.
도 16을 참조하면, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유 요청된 데이터의 식별 정보(1611)에 대응하여, 데이터의 원본에 관한 정보(1610) 및 공유에 관한 정보(1620)를 저장할 수 있다.
공유 요청된 데이터의 원본에 관한 정보(1610)는 데이터명(1612), 소유자의 ID(1614), 데이터가 저장된 클라우드 스토리지 식별 정보(1616) 및 데이터의 위치를 나타내는 위치 정보(1618)를 포함할 수 있다. 또한, 공유에 관한 정보(1620)는 중계 서버(1000)에 등록된 수령자의 ID(1622)를 포함할 수 있다.
도 17은 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터에 대하여, 제 1 사용자와 제 2 사용자의 공유가 설정됨에 따라, 중계 서버(1000)가, 공유 설정된 제 1 사용자의 데이터를 제 1 클라우드 스토리지(2000)로부터 수신하는 방법을 설명하는 흐름도를 도시한다.
단계 S1710에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터의 목록을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
제 1 사용자의 데이터에 대하여, 제 1 사용자와 제 2 사용자 간의 공유가 설정됨에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에게, 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터의 목록을 요청할 수 있다.
예를 들어, 중계 서버(1000)는, 제 1 사용자의 데이터의 위치를 나타내는 위치 정보 및 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 ID를 이용하여, 제 1 사용자의 데이터의 목록을 요청할 수 있다.
데이터가 파일인 경우, 데이터의 목록은 파일의 속성 정보를 포함할 수 있다. 또한, 데이터가 폴더인 경우, 데이터의 목록은 폴더 내에 위치한 파일 각각의 속성 정보 및 폴더의 계층 구조를 포함할 수 있다. 또한, 데이터가 폴더인 경우, 데이터의 목록은 폴더 내에 위치한 폴더 또는 파일 각각의 위치를 나타내는 위치 정보를 더 포함할 수 있다.
단계 S1720에서, 제 1 클라우드 스토리지(2000)는, 중계 서버(1000)로부터 요청된 제 1 사용자의 데이터에 대하여 중계 서버(1000)에게 접근 권한이 존재하는지 판단할 수 있다.
제 1 클라우드 스토리지(2000)는, 중계 서버(1000)의 ID에 기초하여, 요청된 제 1 사용자의 데이터에 대하여 중계 서버(1000)에게 접근 권한이 있는지 여부를 판단할 수 있다.
예를 들어, 중계 서버(1000)로부터 요청된 제 1 사용자의 데이터가 1 사용자와 중계 서버(1000)간에 공유 설정되어 있는 경우, 제 1 클라우드 스토리지(2000)는, 요청된 제 1 사용자의 데이터에 대하여 중계 서버(1000)가 접근 권한을 갖는 것으로 판단할 수 있다.
단계 S1730에서, 제 1 클라우드 스토리지(2000)는, 중계 서버(1000)로부터 요청받은 제 1 사용자의 데이터의 목록을 중계 서버(1000)로 전송할 수 있다.
중계 서버(1000)로부터 요청된 제 1 사용자의 데이터에 대하여 중계 서버(1000)가 접근 권한을 갖는 것으로 판단함에 따라, 제 1 클라우드 스토리지(2000)는, 요청받은 제 1 사용자의 데이터의 목록을 중계 서버(1000)로 전송할 수 있다.
단계 S1740에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터의 목록을 저장할 수 있다.
중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 중계 서버(1000)에 저장할 수 있다. 예를 들어, 중계 서버(1000)는 파일 각각의 식별 정보에 대응하여 파일의 속성 정보를 저장할 수 있다. 또한, 중계 서버(1000)는 파일의 식별 정보에 대응하여, 파일의 소유자 ID, 수령자 ID, 제 1 사용자와 제 2 사용자에 의해 공유된 시간, 제 1 사용자가 설정한 접근 범위 및 제 1 클라우드 스토리지(2000) 명을 저장할 수 있다.
도 18은, 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 파일 또는 폴더의 목록에 대한 데이터베이스를 설명하기 위한 도면이다.
도 18을 참조하면, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한, 제 1 사용자의 파일 또는 폴더의 목록을 저장할 수 있다.
중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한 파일 또는 폴더(1800)의 속성 정보를 각각의 파일 또는 폴더의 식별 정보에 대응하여 저장할 수 있다. 각각의 파일 또는 폴더의 식별 정보는 파일 또는 폴더의 위치를 나타내는 위치 정보를 포함할 수 있다.
예를 들어, 중계 서버(1000)는, 파일 식별 정보에 대응하여, 파일 이름, 파일의 소유자 ID, 파일이 저장된 클라우드 스토리지명, 파일 형식, 파일의 크기, 파일의 생성 시점, 파일의 수정 시점, 파일에 액세스한 시점, 파일에 대한 접근 권한에 관한 정보, 파일에 대한 접근 범위에 관한 정보, 파일의 수령자 ID 및 파일의 위치를 나타내는 위치 정보를 저장할 수 있다.
또한, 중계 서버(1000)는 폴더의 식별 정보에 대응하여, 폴더 이름, 폴더의 소유자 ID, 폴더 형식, 폴더가 저장된 스토리지에 관한 정보, 폴더의 수령자 ID 및 폴더의 위치를 나타내는 위치 정보를 저장할 수 있다.
예를 들어, 제 1 사용자가 제 2 사용자와 공유한 폴더는 Dropbox_user1_FOLDER2이고, Dropbox_user1_FOLDER2 폴더는 Dropbox_user1_SUB_FOLDER_1 폴더, Dropbox_user1_SUB_FOLDER_2 폴더 및 Dropbox_user1_FILE1 파일을 포함할 수 있다.
이에 따라, Dropbox_user1_FOLDER2 폴더에 대한 목록은 Dropbox_user1_FOLDER2 폴더의 계층 구조, Dropbox_user1_FOLDER2 폴더 내의 파일의 속성 정보 및 Dropbox_user1_FILE1 파일의 속성 정보를 포함할 수 있다.
도 19는 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여하는 방법을 설명하기 위한 도면이다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한은, 제 2 클라우드 스토리지(3000)에 제 2 사용자의 데이터로써 데이터를 저장할 수 있는 권한을 의미할 수 있다.
도 19를 참조하면, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
예를 들어, 제 2 디바이스(200) 또는 중계 서버(1000)에는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 다른 사용자에게 부여하기 위한 소프트웨어 로직이, 제 2 클라우드 스토리지(3000) 사업자가 제공하는 Open API를 이용하여 구비되어 있을 수 있다.
제 2 디바이스(200) 또는 중계 서버(1000)로부터, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 요청받음에 따라, 제 2 클라우드 스토리지(3000)는 제 2 사용자임을 인증할 것을 요청할 수 있다. 예를 들어, 제 2 클라우드 스토리지(3000)는 사용자 인증 페이지를 제 2 디바이스(200)로 전송할 수 있다.
사용자 인증 페이지에 기초하여, 제 2 디바이스(200)는, 제 2 사용자로부터, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 계정을 수신할 수 있다. 제 2 사용자로부터, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 계정을 수신함에 따라, 제 2 디바이스(200)는, 제 2 사용자의 계정을 제 2 클라우드 스토리지(3000)로 전송함으로써, 제 2 사용자임을 인증할 수 있다.
제 2 사용자가 인증됨에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여하는 것에 대한 제 2 사용자의 허가를 제 2 디바이스(200)로 요청할 수 있다. 예를 들어, 제 2 클라우드 스토리지(3000)는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 확인하기 위한 리소스 사용 허가 페이지(1910)를 제 2 디바이스(200)로 전송할 수 있다.
리소스 사용 허가 페이지(1910)에 기초하여, 제 2 디바이스(200)는, 제 2 사용자로부터, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 수신할 수 있다. 그리고, 제 2 디바이스(200)는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 제 2 클라우드 스토리지(3000)로 전송할 수 있다.
제 2 클라우드 스토리지(3000)는, 제 2 디바이스(200)로부터 수신되는 사용자 입력에 기초하여, 중계 서버(1000)에게, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 부여할 수 있다. 예를 들어, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를, 제 2 사용자의 저장 공간을 사용할 수 있는 제 3 자로써 설정할 수 있다.
또한, 중계 서버(1000)에게, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 부여됨에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다. 제 2 클라우드 스토리지(3000)로부터 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 수신함에 따라, 제 2 디바이스(200)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를, 중계 서버(1000)로 전송할 수 있다.
제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더의 위치를 나타내는 위치 정보를 포함할 수 있다. 또한, 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보는, 제 2 사용자의 설정에 따라 변경될 수 있다.
도 20은 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여하는 방법을 설명하기 위한 흐름도를 도시한다.
단계 S2010에서, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에 부여할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
이 경우, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에 부여하는 요청은, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 및 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
또한, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 제 2 클라우드에 요청할 수 있다.
단계 S2020에서, 제 2 클라우드 스토리지(3000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할 수 있다.
예를 들어, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 요청 받음에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 사용자에 대한 인증을 실행할 수 있다. 그리고, 제 2 클라우드 스토리지(3000)는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 허가하는 제 2 사용자의 입력을 제 2 디바이스(200)로부터 수신할 수 있다.
제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 허가하는 제 2 사용자의 입력을 수신함에 따라, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여할 수 있다. 예를 들어, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를, 제 2 사용자의 저장 공간을 사용할 수 있는 제 3 자로써 설정할 수 있다.
단계 S2030에서, 제 2 클라우드 스토리지(3000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 드라이브 또는 폴더의 URI를 포함할 수 있다.
또한, 실시예에 따라, 제 2 클라우드 스토리지(3000)는 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한에 관한 정보를 제 2 디바이스(200)로 전송할 수 있다. 데이터를 저장할 수 있는 권한에 관한 정보는, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 인증하기 위한 암호 정보를 포함할 수 있다.
단계 S2040에서, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 중계 서버(1000)로 전송할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 수신함에 따라, 중계 서버(1000)는 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 저장할 수 있다.
또한, 제 2 클라우드 스토리지(3000)로부터, 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한에 관한 정보를 수신한 경우, 제 2 디바이스(200)는 수신된 정보를 중계 서버(1000)로 전송할 수 있다.
도 19 내지 도 20은 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 부여하는 방법을 개시하고 있으나, 동일한 방법으로 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000) 내의 제 1 사용자의 데이터에 관한 접근 권한을 중계 서버(1000)에게 부여할 수 있다.
도 21은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 수신함에 따라, 중계 서버(1000)에 저장되는 데이터베이스를 설명하기 위한 도면이다.
중계 서버(1000)는 제 2 사용자에 대응하여, 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 저장할 수 있다.
예를 들어, 중계 서버(1000)는, 중계 서버(1000)에 등록된 제 2 사용자의 ID(2160)에 대응하여, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID(2170) 및 타인으로부터 제 2 사용자에게 제공되는 데이터가 저장될 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보(2180)를 저장할 수 있다. 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보(2180)는 제 2 사용자의 저장 공간에 대한 URL(2184)을 포함할 수 있다.
도 22은 본 발명의 일 실시예에 따른, 제 1 디바이스(100)로부터, 제 1 사용자의 데이터를 제 2 사용자와 공유하기 위한 공유 요청을 수신함에 따라, 중계 서버(1000)가, 제 2 디바이스(200)에게 제 1 사용자가 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 요청하였음을 알리는 방법을 설명하기 위한 도면이다.
제 2 디바이스(200)는 중계 서버(1000)로부터 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자 간의 공유가 설정되었음을 나타내는 정보를 수신할 수 있다. 제 1 사용자와 제 2 사용자 간의 공유가 설정되었음을 나타내는 정보는, 중계 서버(1000)에 등록된 제 1 사용자의 ID, 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터의 목록, 제 2 사용자에 대한 제 1 사용자의 메시지 등을 포함할 수 있다.
이에 따라, 제 2 디바이스(200)는, 중계 서버(1000)로부터 수신한, 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자 간의 공유가 설정되었음을 나타내는 정보를 디스플레이할 수 있다.
예를 들어, 제 2 디바이스(200)는, 제 2 디바이스(200) 화면의 인디케이터바에 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자 간의 공유가 설정되었음을 알리는 이벤트 메시지(2210)를 디스플레이 할 수 있다.
도 23는 본 발명의 일 실시예에 따른, 중계 서버(1000)가, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 클라우드 스토리지(3000)내의 제 2 사용자의 저장 공간에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 S2310에서, 중계 서버(1000)는, 제 1 사용자로부터 공유 요청됨에 따라 제 1 클라우드 스토리지로부터 수신한, 제 1 사용자의 데이터의 목록을 중계 서버(1000)에 저장할 수 있다.
제 1 클라우드 스토리지로부터 수신한 제 1 사용자의 데이터의 목록은, 제 1 사용자가 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 중계 서버(1000)에게 요청함에 따라, 중계 서버(1000)가 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록일 수 있다.
단계 S2320에서, 중계 서버(1000)는, 제 1 클라우드 스토리지로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
제 1 사용자의 데이터의 목록에 대한 저장 요청은, 제 1 사용자의 데이터의 목록, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
단계 S2330에서, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 있는지 여부를 판단할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID 및 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID에 기초하여, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는지 여부를 판단할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는 경우, 단계 S2340에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 수신한 제 1 사용자의 데이터의 목록을. 제 2 사용자의 저장 공간에 저장할 수 있다.
도 24a은 본 발명의 일 실시예에 따른, 제 1 사용자의 데이터가 제 1 사용자와 제 2 사용자 간에 공유 설정되었음을 중계 서버(1000)로부터 수신함에 따라, 제 2 디바이스(200)가, 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할지 여부를 선택하는 제 2 사용자의 선택을 수신하기 위한 사용자 인터페이스를 디스플레이하는 방법을 나타내는 도면이다.
제 2 디바이스(200)는, 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할 지 여부를 선택하기 위한 사용자 인터페이스(2420)를 디스플레이 할 수 있다.
또한, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)에 저장할 제 1 사용자의 데이터의 범위를 선택하기 위한 사용자 인터페이스(2430)를 디스플레이 할 수 있다.
저장 범위를 선택하기 위한 사용자 인터페이스(2430)는 데이터의 목록만을 저장할지 여부 또는 데이터까지 저장할지 여부를 선택하기 위한 사용자 인터페이스를 포함할 수 있다.
제 2 디바이스(200)는 제 2 사용자로부터 수신한, 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할지 여부에 관한 정보 및 저장 범위에 관한 정보를 중계 서버(1000)에게 전송할 수 있다.
중계 서버(1000)는 제 2 디바이스(200)로부터 수신한 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할 지 여부에 관한 정보 및 저장 범위에 관한 정보에 기초하여, 제 1 사용자의 데이터의 일부 또는 전부를 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
예를 들어, 제 2 사용자의 입력값이 “저장”인 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록 또는 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
또한, 제 2 사용자의 입력값이 “보류”인 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 클라우드 스토리지(3000)에 저장하지 않을 수 있다.
또한, 제 2 사용자의 입력값이 “거절”인 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 클라우드 스토리지(3000)에 저장하지 않을 수 있다. 또한, 중계 서버(1000)에 저장된 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록까지 삭제할 수도 있다.
또한, 제 2 사용자가 제 1 사용자의 파일의 컨텐츠까지 제 2 클라우드 스토리지(3000)에 저장할 것을 선택한 경우, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터의 목록뿐만 아니라, 파일의 컨텐츠를 포함하여 제 2 클라우드 스토리지(3000)에 저장할 수도 있다.
도 24b은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 제 2 디바이스(200)로부터 수신한 제 2 사용자의 선택에 기초하여, 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 S2410에서, 중계 서버(1000)는, 제 1 사용자로부터 공유 요청됨에 따라 제 1 클라우드 스토리지(2000)로부터 수신한, 제 1 사용자의 데이터의 목록을 중계 서버(1000)에 저장할 수 있다.
단계 S2420에서, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한, 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할지 여부를 선택할 것을 제 2 디바이스(200)에 요청할 수 있다.
단계 S2430에서, 제 2 디바이스(200)는 제 1 클라우드 스토리지(2000)로부터 수신한, 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할지 여부에 관한 정보 및 저장 범위에 관한 정보를 중계 서버(1000)에 전송할 수 있다.
단계 S2440에서, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
중계 서버(1000)는, 제 2 디바이스(200)로부터 수신된 제 2 사용자의 입력에 기초하여, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할지 여부 및 저장할 범위를 결정할 수 있다.
제 2 사용자가 제 1 사용자의 데이터의 목록만을 제 2 클라우드 스토리지(3000)에 저장할 것을 선택한 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
또한, 제 2 클라우드 스토리지(3000) 송신하는 데이터 저장 요청은, 제 1 사용자의 데이터의 목록, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID 및 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 를 포함할 수 있다.
단계 S2450에서, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 있는지 여부를 판단할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID 및 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID에 기초하여, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는지 여부를 판단할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는 경우, 단계 S2460에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 수신한 제 1 사용자의 데이터의 목록을. 제 2 사용자의 저장 공간에 저장할 수 있다.
도 25은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터를, 제 2 디바이스(200)가 제 2 클라우드 스토리지(3000)로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
제 2 클라우드 스토리지(3000)가 중계 서버(1000)로부터 제 1 사용자의 데이터를 수신하여 제 2 사용자의 데이터로써 저장함에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 사용자의 데이터로써 저장된 제 1 사용자의 데이터의 사본을 제 2 디바이스(200)에게 전송할 수 있다.
제 1 사용자의 데이터의 사본이 파일 또는 폴더인 경우, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)로부터, 파일 또는 폴더의 목록만을 수신할 수 있다. 파일 또는 폴더의 목록은 파일의 속성 정보 및 폴더의 계층 구조를 포함할 수 있다.
도 25을 참조하면, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신된, 제 1 사용자의 데이터의 사본의 목록(2510)을 디스플레이할 수 있다. 이 경우, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)에 저장된 기존의 파일 또는 폴더의 목록과 함께, 제 1 사용자의 데이터의 사본의 목록을 디스플레이할 수 있다. 또한, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)에 저장된 기존의 파일 또는 폴더와 구별하여, 제 1 사용자의 데이터의 사본임을 나타내는 이미지(2514)를 디스플레이할 수 있다.
또한, 제 2 디바이스(200)는 파일 또는 폴더를 선택하기 위한 사용자 인터페이스(2512)를 디스플레이할 수 있다. 또한, 제 2 디바이스(200)는 선택된 파일 또는 폴더를 제 2 클라우드 스토리지(3000)로부터 수신하기 위한 사용자 인터페이스(2520)를 디스플레이 할 수 있다.
체크 박스(2512)를 선택하고, 내려 받기 버튼(2520)을 터치하는 사용자 입력을 수신한 경우, 제 2 디바이스(200)는 체크 박스(2512)가 선택된 파일 또는 폴더를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다..
또한, 체크 박스(2512)를 선택하고, 삭제 버튼(2530)을 터치하는 사용자 입력을 수신한 경우, 제 2 디바이스(200)는 선택된 파일 또는 폴더를 제 2 클라우드 스토리지(3000)에서 삭제할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
도 26은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터를, 제 2 디바이스(200)가 제 2 클라우드 스토리지(3000)로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
도 26에서, 제 2 디바이스(200)가, Dropbox_user1_FOLDER2 폴더를 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 Dropbox_user1_FOLDER2 내의 파일 및 폴더의 목록(2620)을 디스플레이 할 수 있다.
제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)로부터 수신한 Dropbox_user1_FOLDER2 폴더의 계층 구조에 기초하여, Dropbox_user1_FOLDER2 폴더 내의 폴더 또는 파일의 목록을 디스플레이할 수 있다.
도 27는, 본 발명의 다른 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유 설정됨에 따라 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터를, 제 2 디바이스(200)가 제 2 클라우드 스토리지(3000)로부터 수신하여 디스플레이하는 방법을 설명하기 위한 도면이다.
도 27에서, 제 2 디바이스(200)가, Dropbox_user1_FILE1 파일을 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는, Dropbox_user1_FILE1 파일의 컨텐츠가 제 2 디바이스(200)에 저장되었는지 여부를 판단할 수 있다. Dropbox_user1_FILE1 파일의 컨텐츠가 제 2 디바이스(200)에 저장되어 있지 않은 경우, 제 2 디바이스(200)는 Dropbox_user1_FILE1 파일의 속성 정보만을 디스플레이할 수 있다.
파일의 속성 정보는 썸네일 이미지를 포함할 수 있다. 이에 따라, 선택된 파일이 이미지 파일인 경우, 제 2 디바이스(200)는 썸네일 이미지(2710)를 디스플레이 할 수 있다.
또한, 제 2 디바이스(200)는 디스플레이된 파일이 제 2 디바이스(200)에서 차지하는 저장 용량(2720)을 디스플레이할 수 있다.
또한, 제 2 디바이스(200)는 디스플레이된 파일의 컨텐츠가 제 2 클라우드 스토리지(3000)에 저장되어 있는지 여부를 나타내는 정보(2730)를 디스플레이할 수 있다.
또한, 제 2 디바이스(200)는 선택된 파일이 제 2 디바이스(200)에 저장되어 있지 않은 경우, 디스플레이된 파일을 제 2 디바이스(200)에 저장하기 위한 사용자 인터페이스(2740)를 디스플레이할 수 있다. 또한, 선택된 파일이 제 2 클라우드 스토리지(3000)에 저장되어 있지 않은 경우, 제 2 디바이스(200)는 디스플레이된 파일을 제 2 클라우드 스토리지(3000)에 저장하기 위한 사용자 인터페이스(2750)를 디스플레이할 수 있다.
도 28는, 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가 제 2 클라우드 스토리지(3000)로부터 제 1 사용자의 데이터의 목록을 수신하는 방법을 설명하는 흐름도이다.
단계 S2810에서, 제 2 클라우드 스토리지(3000)는, 중계 서버(1000)로부터 수신한, 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터의 목록을. 제 2 사용자의 저장 공간에 저장할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자간에 공유가 설정되는 경우, 제 1 사용자의 데이터는, 중계 서버(1000)에 의해, 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사될 수 있다.
단계 S2820에서, 제 2 클라우드 스토리지(3000)는, 중계 서버(1000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)로 전송할 수 있다.
제 2 클라우드 스토리지(3000)는, 제 2 디바이스(200)의 요청에 기초하여, 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)로 전송할 수 있다. 또한, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터와 제 2 디바이스(200)내의 제 2 사용자의 데이터 간에 동기화가 설정된 경우, 제 1 사용자의 데이터의 목록이 제 2 클라우드 스토리지(3000)에 저장됨에 따라, 제 2 클라우드 스토리지(3000)는 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)로 전송할 수도 있다.
제 2 디바이스(200)로 전송되는 데이터의 목록은 데이터의 속성 정보를 포함할 수 있다. 이 경우, 데이터의 속성 정보는 데이터가 제 2 클라우드 스토리지(3000)에 저장되어 있는지 여부에 관한 정보를 포함할 수 있다.
단계 S2830에서, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신한 제 1 사용자의 데이터의 목록을 저장 및 디스플레이할 수 있다.
제 2 사용자는 제 2 디바이스(200)를 통해, 제 1 사용자가 제공한 제 1 사용자의 데이터에 접근할 수 있다. 즉, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터가 제 1 사용자와 제 2 사용자 간에 공유될 수 있다.
도 29는 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자 간에 공유된 제 1 사용자의 파일의 목록 중 하나를 선택하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스(200)가 제 1 사용자의 파일의 컨텐츠를 획득하는 방법을 설명하기 위한 도면이다.
도 29를 참조하면, 제 1 사용자와 제 2 사용자 간에 공유되는 제 1 사용자의 파일을 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 선택된 파일이 제 2 디바이스(200)에 저장되었는지 여부를 판단할 수 있다. 선택된 파일이 제 2 디바이스(200)에 저장되지 않은 경우, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)에 선택된 파일을 요청할 수 있다.
제 2 클라우드 스토리지(3000)에 선택된 파일을 요청한 후, 제 2 클라우드 스토리지(3000)로부터 요청한 파일을 수신할 때까지, 제 2 디바이스(200)는 파일을 다운로드 하고 있음을 나타내는 사용자 인터페이스(2910)를 디스플레이할 수 있다. 파일을 다운로드 하고 있음을 나타내는 사용자 인터페이스(2910)는 파일을 송수신하는 클라우드 스토리지의 식별 정보를 포함할 수 있다. 예를 들어, 제 2 클라우드 스토리지(3000)에 요청한 파일이 제 2 클라우드에 저장되어 있지 않은 경우, 제 1 클라우드 스토리지(2000)내의 제 1 사용자의 데이터는, 중계 서버(1000)에 의해, 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 전송될 수 있다. 이에 따라, 사용자 인터페이스(2910)는 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)의 식별 정보를 포함할 수 있다.
제 2 사용자에 의해 선택된 파일이, 중계 서버(1000)를 거쳐 제 2 클라우드 스토리지(3000)로부터 수신됨에 따라, 제 2 디바이스(200)는 수신된 파일의 컨텐츠(2920)를 디스플레이 할 수 있다. 또한, 제 2 디바이스(200)는 디스플레이된 파일을 제 2 디바이스(200)에 저장하기 위한 사용자 인터페이스(2930)를 디스플레이할 수 있다.
도 30은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 데이터의 목록만이 제 2 디바이스(200)에 저장된 상태에서, 제 2 디바이스(200)가 제 1 사용자의 데이터를 획득하는 방법을 설명하기 위한 흐름도이다.
단계 S3010에서, 제 2 디바이스(200)는, 제 1 사용자에 의해 중계 서버에 공유 설정됨에 따라, 제 2 디바이스에 저장된 제 1 사용자의 데이터의 목록 중 제 2 사용자에 의해 선택된 데이터를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신된 제 1 사용자의 데이터의 목록을 디스플레이할 수 있다. 그리고, 제 2 디바이스(200)는 제 1 사용자의 데이터의 목록 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다.
디스플레이된 제 1 사용자의 데이터의 목록 중 적어도 하나를 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 선택된 데이터가 제 2 디바이스(200)에 저장되어 있는지 여부를 판단할 수 있다. 선택된 데이터가 제 2 디바이스(200)에 저장되어 있지 않은 경우, 제 2 디바이스(200)는 선택된 데이터를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다. 제 2 클라우드 스토리지(3000)에 대한 데이터 요청은 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID 및 데이터의 식별 정보를 포함할 수 있다.
단계 S3020에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 요청된 데이터를 중계 서버(1000)에게 요청할 수 있다.
제 2 디바이스(200)로부터 데이터에 대한 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 요청된 데이터가 제 2 클라우드 스토리지(3000)에 저장되어 있는지 여부를 판단할 수 있다.
제 2 디바이스(200)로부터 요청된 데이터가 제 2 클라우드 스토리지(3000)에 저장되어있지 않은 경우, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 요청된 데이터를 중계 서버(1000)에게 요청할 수 있다.
중계 서버(1000)에 대한 데이터 요청은, 중계 서버(1000)에서의 데이터의 식별 정보, 중계 서버(1000)에 등록된 제 2 사용자의 ID 및 중계 서버(1000)에 등록된 제 2 클라우드 스토리지(3000)의 ID를 포함할 수 있다.
단계 S3030에서, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)로부터 요청된 데이터를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
중계 서버(1000)는, 제 2 클라우드 스토리지(3000)로부터 수신된 데이터의 식별 정보에 기초하여, 제 2 클라우드 스토리지(3000)로부터 요청된 데이터의 위치를 나타내는 위치 정보를 획득할 수 있다. 중계 서버(1000)는 획득된 위치 정보에 기초하여, 제 2 클라우드 스토리지(3000)로부터 요청된 데이터를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
단계 S3040에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청된 데이터를 중계 서버(1000)로 전송할 수 있다.
중계 서버(1000)로부터 데이터가 요청됨에 따라, 제 1 클라우드 스토리지(2000)는 요청된 데이터에 대하여 중계 서버(1000)에게 접근 권한이 있는지 여부를 결정할 수 있다. 요청된 데이터에 대하여 중계 서버(1000)에게 접근 권한이 있는 경우, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청된 데이터를 중계 서버(1000)로 전송할 수 있다.
단계 S3050에서, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신된 데이터를 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
중계 서버(1000)는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 기초하여, 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 획득할 수 있다. 그리고, 중계 서버(1000)는 획득된 위치 정보에 기초하여, 제 1 클라우드 스토리지(2000)로부터 수신된 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
이 경우, 제 2 클라우드 스토리지(3000)는 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 있는지 여부를 판단할 수 있다.
단계 S3060에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 수신한 데이터를 제 2 디바이스(200)로 전송할 수 있다.
제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 요청된 데이터를 중계 서버(1000)로부터 수신함에 따라, 제 2 디바이스(200)로부터 요청된 데이터를 제 2 디바이스(200)로 전송할 수 있다.
단계 S3070에서, 제 2 디바이스(200)는 제 2 사용자에 의해 선택된 데이터를 디스플레이할 수 있다.
제 2 클라우드 스토리지(3000)로부터 제 2 사용자에 의해 선택된 데이터를 수신함에 따라, 제 2 디바이스(200)는 제 2 사용자가 선택한 데이터를 디스플레이할 수 있다. 예를 들어, 선택된 데이터가 파일인 경우, 제 2 디바이스(200)는 선택된 파일의 컨텐츠를 디스플레이할 수 있다.
도 31은 본 발명의 다른 실시예에 따른, 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버(1000)에 설정하는 방법을 설명하기 위한 도면이다.
수신 폴더는 중계 서버(1000)로부터 수신할 데이터를 저장할 폴더를 의미할 수 있다.
도 31을 참조하면, 제 2 디바이스(200)는, 중계 서버(1000)로부터 수신할 데이터를 저장할 폴더를 설정하는 사용자 인터페이스를 디스플레이할 수 있다.
예를 들어, 제 2 사용자가 폴더를 선택한 상태에서 마우스 오른쪽 버튼을 클릭하는 경우, 제 2 디바이스(200)는 선택된 폴더에 관한 기능을 나타내는 메뉴(3110)를 디스플레이할 수 있다. 제 1 사용자가 선택한 폴더가 제 2 클라우드 내의 제 2 사용자의 폴더인 경우, 제 2 디바이스(200)는 제 2 사용자와 중계 서버(1000)간에, 선택된 폴더를 공유하기 위한 선택 아이템(3120)을 메뉴(3110) 상에 디스플레이 할 수 있다.
제 2 디바이스(200)는, 선택 아이템(3120)을 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 선택된 폴더에 대하여 중계 서버(1000)에게 폴더에 데이터를 저장할 수 있는 권한을 부여할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
또한, 제 2 디바이스(200)는, 선택된 폴더의 위치를 나타내는 위치 정보를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다. 이에 따라, 제 2 디바이스(200)는 제 2 클라우드 스트리지로부터, 선택된 폴더의 위치를 나타내는 위치 정보를 수신할 수 있다.
선택된 폴더의 위치를 나타내는 위치 정보를 수신함에 따라, 제 2 디바이스(200)는 선택된 폴더를 제 2 사용자의 수신 폴더로써 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
수신 폴더 설정 요청은, 폴더의 위치를 나타내는 위치 정보 및 중계 서버(1000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
수신 폴더 설정 요청을 수신함에 따라, 중계 서버(1000)는, 제 2 사용자에 의해 선택된 폴더를 제 2 사용자의 수신 폴더로써 설정할 수 있다. 예를 들어, 중계 서버(1000)는 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 폴더의 위치를 나타내는 위치 정보를 저장할 수 있다.
도 32는, 본 발명의 일 실시예에 따른, 제 2 사용자의 수신 폴더가 중계 서버(1000)에 설정됨에 따라, 제 1 사용자와 제 2 사용자간에 공유된 제 1 사용자의 파일 또는 폴더가 제 2 디바이스(200)에서 디스플레이되는 방법을 설명하기 위한 도면이다.
도 32를 참조하면, 제 2 디바이스(200)와 제 2 클라우드 스토리지(3000)는, 제 2 디바이스(200)에 저장된 데이터와 제 2 클라우드 스토리지(3000) 내의 데이터를 동기화시킬수 있다.
또한, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)로부터 수신된 제 2 사용자의 파일 또는 폴더를, 제 2 디바이스(200)의 파일 시스템에 마운트 할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 Dropbox_user1_FOLDER2 폴더가, 제 1 사용자와 제 2 사용자간에 공유 설정 됨에 따라, 중계 서버(1000)에 의해 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사될 수 있다.
이 때, Google Drive_user2_FOLDER1 폴더가 제 2 사용자의 수신 폴더로써 중계 서버(1000)에 설정된 경우, 중계 서버(1000)는 Dropbox_user1_FOLDER2 폴더를 Google Drive_user2_FOLDER1 폴더내에 저장할 수 있다.
Dropbox_user1_FOLDER2 폴더가 Google Drive_user2_FOLDER1 폴더내에 저장됨에 따라, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 Dropbox_user1_FOLDER2 폴더(3200)를 수신하여, Google Drive_user2_FOLDER1 폴더(3210)내에 마운트 할 수 있다.
또한, 제 2 디바이스(200)는 Dropbox_user1_FOLDER2 폴더 내의 파일의 속성 정보를 디스플레이할 수 있다. 파일의 속성 정보는 파일의 종류(3220), 파일의 크기(3230), 원본이 저장된 스토리지명(3240), 소유자의 식별 정보(3250), 공유된 시간(3260) 및 접근 범위(3270)를 등을 포함할 수 있다.
도 33은 본 발명의 다른 실시예에 따른, 제 2 디바이스(200)가 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버(1000)에 설정하는 방법을 설명하기 위한 흐름도이다.
단계 S3310에서 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더 중 하나를, 중계 서버(1000)로부터 수신되는 데이터를 저장하기 위한 수신 폴더로 선택하는 사용자 입력을 수신할 수 있다.
단계 S3320에서 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)에게, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더 중 선택된 폴더에 대하여 제 2 사용자와 중계 서버(1000)간의 공유 설정을 요청할 수 있다. 또한, 제 2 디바이스(200)는 선택된 폴더의 위치를 나타내는 위치 정보를 요청할 수 있다.
제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터에 대한 제 2 사용자와 중계 서버(1000)간의 공유 설정 요청은, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 및 선택된 폴더의 식별 정보를 포함할 수 있다.
단계 S3330에서, 제 2 클라우드 스토리지(3000)는, 제 2 사용자에 의해 선택된 폴더에 대하여 제 2 사용자와 중계 서버(1000)간의 공유를 설정할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 수신된 폴더의 식별 정보에 대응하여, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를 수신된 폴더의 공유자로써 저장할 수 있다. 제 2 사용자에 의해 선택된 폴더에 대하여 제 2 사용자와 중계 서버(1000)간의 공유가 설정됨에 따라, 중계 서버(1000)는 선택된 폴더에 데이터를 저장할 수 있는 권한을 획득할 수 있다.
단계 S3340에서, 제 2 클라우드 스토리지(3000)는, 제 2 사용자에 의해 선택된 폴더의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다.
폴더의 위치를 나타내는 위치 정보는 폴더에 접근하기 위한 폴더의 URL을 포함할 수 있다.
단계 S3350에서, 제 2 디바이스(200)는 제 2 사용자에 의해 선택된 폴더를 제 2 사용자의 수신 폴더로써 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
수신 폴더 설정 요청은, 제 2 클라우드 스토리지(3000)로부터 수신한 폴더의 위치를 나타내는 위치 정보 및 중계 서버(1000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
단계 S3360에서, 중계 서버(1000)는, 제 2 사용자에 의해 선택된 폴더를 제 2 사용자의 수신 폴더로써 설정할 수 있다.
예를 들어, 중계 서버(1000)는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 폴더의 위치를 나타내는 위치 정보를 저장할 수 있다.
도 34는, 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가, 제 2 사용자로부터, 제공자를 지정하는 입력을 수신하는 방법을 설명하기 위한 도면이다.
제공자는 제 2 사용자의 허락 없이, 2 사용자의 저장 공간에 데이터를 저장할 수 있는 사용자를 의미할 수 있다. 예를 들어, 제공자는 제 2 사용자의 허락이 없이, 제 2 클라우드 스토리지(3000)에, 제 2 사용자의 데이터로써 파일 또는 폴더를 저장할 수 있는 권한을 가진 사용자를 의미할 수 있다.
도 34를 참조하면, 제 2 디바이스(200)는, 제공자를 지정하는 입력을 수신하기 위한 사용자 인터페이스(3410)를 디스플레이 할 수 있다
예를 들어, 제 2 사용자가 폴더를 선택한 상태에서 마우스 오른쪽 버튼을 길게 클릭하는 경우, 제공자를 지정하기 위한 사용자 인터페이스(3410)를 디스플레이할 수 있다.
제공자를 지정하기 위한 사용자 인터페이스(3410)는 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(3420)를 포함할 수 있다. 사용자의 식별 정보는 사용자의 이름, 전화 번호, 이메일 주소를 포함할 수 있다. 또한, 사용자의 식별 정보를 입력하기 위한 사용자 인터페이스(3420)는 디바이스에 저장된 사용자 목록 또는 중계 서버(1000)와 연동될 수 있다.
제공자를 입력하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스(200)는, 중계 서버(1000)에게, 제 2 사용자에 의해 선택된 사용자를 제 2 사용자의 제공자로써 설정할 것을 요청할 수 있다. 제공자 설정 요청은, 중계 서버(1000)에 등록된 제 1 사용자의 ID 및 제 2 사용자의 ID를 포함할 수 있다.
또한, 제 2 디바이스(200)는, 제 2 사용자에 의해 선택된 폴더를 수신 폴더로 설정하고, 제 2 사용자에 의해 입력된 사용자를 수신 폴더에 대한 제공자로써 설정할 것을, 중계 서버(1000)에게 요청할 수 있다. 이 경우, 제공자 설정 요청은, 중계 서버(1000)에 등록된 제 1 사용자, 제 2 사용자의 ID 및 선택된 폴더의 위치를 나타내는 위치 정보를 포함할 수 있다.
제공자 설정 요청을 수신함에 따라, 중계 서버(1000)는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 중계 서버(1000)에 등록된 제 1 사용자의 ID를 제 2 사용자의 제공자로써 설정할 수 있다.
도 35는 본 발명의 일 실시예에 따른, 중계 서버(1000)가, 제 2 디바이스(200)로부터 제공자 설정 요청을 수신하는 방법을 설명하기 위한 흐름도이다.
단계 S3510에서, 제 2 디바이스(200)는, 제 2 사용자에 의해 선택된 제 1 사용자를 제 2 사용자의 제공자로써 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
제공자 설정 요청은, 중계 서버(1000)에 등록된 제 1 사용자의 ID 및 제 2 사용자의 ID를 포함할 수 있다.
단계 S3520에서, 중계 서버(1000)는 제 1 사용자를 제 2 사용자의 제공자로써 설정할 수 있다.
예를 들어, 중계 서버(1000)는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 제 2 사용자의 제공자로써, 중계 서버(1000)에 등록된 제 1 사용자의 ID를 저장할 수 있다.
도 36은 본 발명의 일 실시예에 따른, 제 1 사용자가 제 2 사용자의 제공자로써 설정됨에 따라, 중계 서버(1000)에 저장된 제 2 사용자에 관한 데이터베이스(2150)를 나타낸다.
도 36을 참조하면, 중계 서버(1000)는 중계 서버(1000)에 등록된 제 2 사용자의 ID(2160)에 대응하여, 제 2 사용자의 제공자로써, 중계 서버(1000)에 등록된 제 1 사용자의 ID(3610)를 저장할 수 있다.
도 37은 본 발명의 일 실시예에 따른, 제 1 사용자가 제 2 사용자의 제공자로써 중계 서버(1000)에 설정됨에 따라, 중계 서버(1000)가 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 S3710에서, 제 1 디바이스(100)는 중계 서버(1000)에 제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자 간의 공유를 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유 설정 요청은, 중계 서버(1000)에 등록된 제 1 사용자의 ID, 중계 서버(1000)에 등록된 제 2 사용자의 ID 및 공유할 제 1 사용자의 데이터의 식별 정보를 포함할 수 있다. 제 1 사용자의 데이터의 식별 정보는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
단계 S3720에서, 중계 서버(1000)는 제 1 사용자가 제 2 사용자의 제공자로써 설정되었는지 여부를 판단할 수 있다.
예를 들어, 중계 서버(1000)에 등록된 제 1 사용자의 ID에 대응하여, 제 2 사용자의 제공자로써, 중계 서버(1000)에 등록된 제 1 사용자의 ID가 저장된 경우, 중계 서버(1000)는 제 1 사용자가 제 2 사용자의 제공자로써 설정된 것으로 판단할 수 있다.
단계 S3730에서 제 1 사용자가 제 2 사용자의 제공자로써 설정된 경우, 단계 S3730에서 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에게 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 요청할 수 있다.
단계 S3735에서 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청된 제 1 클라우드 스토리지(1000) 내의 제 1 사용자의 데이터에 대한 접근 권한이 중계 서버(1000)에게 존재하는지 여부를 판단할 수 있다.
단계 S3735에서 제 1 사용자의 데이터에 대한 접근 권한이 중계 서버(1000)에게 존재하는 경우, 단계 S3740에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청된 제 1 사용자의 데이터를 중계 서버(1000)로 전송할 수 있다.
단계 S3750에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
단계 S3760에서, 제 2 클라우드 스토리지(3000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는지 여부를 판단할 수 있다.
단계 S3760에서 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 존재하는 경우, 단계 S3770에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 사용자에 대응하여 저장할 수 있다.
따라서, 제 2 사용자가 제 1 사용자의 제공자로써 설정됨에 따라, 중계 서버(1000)는 제 2 클라우드 스토리를 통한 제 2 사용자의 요청없이, 제 2 사용자의 저장 공간에, 제 1 사용자의 데이터를 바로 저장할 수 있다.
도 38은 본 발명의 일 실시예에 따른, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지(3000)에, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터가 저장됨에 따라, 제 2 클라우드 스토리지(3000)가, 제 2 디바이스(200)로, 제 1 클라우드 스토리지(2000)로부터 복사된 제 1 사용자의 데이터를 전송하는 방법을 설명하기 위한 흐름도이다.
단계 S3810에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 저장할 수 있다.
중계 서버(1000)는, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지(3000)에게, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 사용자의 데이터로써 저장할것을 요청할 수 있다.
제 2 클라우드 스토리지(3000)는, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를, 중계 서버(1000)로부터 수신하여, 제 2 사용자의 데이터로써 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
단계 S3820에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 디바이스(200)로 전송할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)와 제 2 디바이스(200)가 데이터를 동기화하는 경우, 제 2 클라우드 스토리지(3000)에 제 1 사용자의 데이터가 저장됨에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터를 제 2 디바이스(200)로 전송할 수 있다.
단계 S3830에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 디바이스(200)에 저장할 수 있다.
제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신한, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를, 제 2 디바이스(200)에 저장할 수 있다.
도 39는 본 발명의 다른 실시예에 따른, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지(3000)에, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터가 저장됨에 따라, 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터를 수신하는 방법을 설명하기 위한 흐름도이다.
단계 S3910에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 저장할 수 있다.
중계 서버(1000)는, 제 2 사용자의 요청없이, 제 2 클라우드 스토리지(3000)에게, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를 제 2 사용자의 데이터로써 저장할 것을 요청할 수 있다.
제 2 클라우드 스토리지(3000)는, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터를, 중계 서버(1000)로부터 수신하여, 제 2 사용자의 데이터로써 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
단계 S3920에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)로 전송할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)와 제 2 디바이스(200)가 데이터의 목록을 동기화하는 경우, 제 2 클라우드 스토리지(3000)에 제 1 사용자의 데이터가 저장됨에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)로 전송할 수 있다. 데이터의 목록은 데이터의 속성 정보를 포함할 수 있다.
단계 S3930에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)에 저장할 수 있다.
제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신한 제 1 사용자의 데이터의 목록을 제 2 디바이스(200)에 저장할 수 있다.
단계 S3940에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 공유되는 제 1 사용자의 데이터 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다.
제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신한 제 1 사용자의 데이터의 목록을 화면에 디스플레이할 수 있다. 또한, 제 2 디바이스(200)는 화면에 디스플레이된 데이터의 목록 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다.
단계 S3950에서, 제 2 디바이스(200)는 제 2 사용자에 의해 선택된 데이터를 제 2 클라우드 스토리지(3000)에 요청할 수 있다.
단계 S3960에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 요청된 데이터를 제 2 디바이스(200)로 전송할 수 있다.
단계 S3970에서, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 수신된 데이터를 제 2 디바이스(200)에 저장할 수 있다.
도 40은, 본 발명의 일 실시예에 따른, 제 1 사용자의 공유 요청에 의해 제 1 사용자의 데이터가 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장됨에 따라, 중계 서버(1000)에 저장된 제 1 사용자의 데이터에 관한 데이터베이스를 도시한다.
도 40을 참조하면, 중계 서버(1000)는, 제 1 사용자의 데이터에 관한 데이터베이스(1600)에, 데이터의 식별 정보에 대응하여, 데이터의 수령자(1622), 데이터가 복사된 클라우드 스토리지 식별 정보(4010) 및 복사된 데이터의 위치를 나타내는 위치 정보(4020)를 기록할 수 있다.
도 41은 본 발명의 일 실시예에 따른, 제 1 사용자와 제 2 사용자간에 공유된 데이터에 대한, 제 1 디바이스(100)와 제 2 디바이스(200)간의 동기화를 설명하기 위한 도면이다.
도 41을 참조하면, 제 1 디바이스(100)와 제 2 디바이스(200)는, 제 1 사용자와 제 2 사용자간에 공유된 데이터에 대하여 동기화 할 수 있다.
예를 들어, 제 1 디바이스(100)에 저장된 Dropbox_user1_FILE1 파일이 변경됨에 따라, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)와 변경된 Dropbox_user1_FILE1 파일을 동기화할 수 있다. 제 1 클라우드 스토리지(2000)가 변경된 Dropbox_user1_FILE1 파일을 제 1 디바이스(100)로부터 수신하여 저장함에 따라, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)에 Dropbox_user1_FILE1 파일이 변경 되었음을 알릴 수 있다. 이에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 변경된 Dropbox_user1_FILE1 파일을 수신할 수 있다. 또한, 중계 서버(1000)는 Dropbox_user1_FILE1 파일이 복사된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더의 위치를 나타내는 위치 정보를 획득하고, 제 2 클라우드 스토리지(3000)에 기 저장된 Dropbox_user1_FILE1파일을 변경된 Dropbox_user1_FILE1 파일로 업데이트 할 수 있다. Dropbox_user1_FILE1 파일이 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더에서 업데이트 됨에 따라, 제 2 클라우드 스토리지(3000)는 업데이트된 Dropbox_user1_FILE1 파일을 제 2 디바이스(200)로 전송할 수 있다. 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)로부터 업데이트된 Dropbox_user1_FILE1 파일을 수신하여, 제 2 디바이스(200)에 기 저장된 Dropbox_user1_FILE1 파일을 업데이트된 Dropbox_user1_FILE1 파일로 변경할 수 있다. 이에 따라, 제 1 사용자와 제 2 사용자 간에 공유된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터는 제 1 디바이스(100)와 제 2 디바이스(200) 간에 동기화 될 수 있다.
또한, 제 2 디바이스(200) 내의 제 2 사용자의 데이터가 변경되는 경우에도, 제 1 사용자와 제 2 사용자 간에 공유된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터는 제 1 디바이스(100)와 제 2 디바이스(200) 간에 동기화 될 수 있다.
도 42a는 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가 제공하는 동기화 설정을 위한 사용자 인터페이스를 도시하는 도면이다.
도 42a를 참조하면, 제 1 디바이스(100)는 제 1 사용자와 제 2 사용자 간에 공유되는 제 1 사용자의 데이터 각각에 대하여 동기화 방법을 설정 할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다. 제 1 사용자의 데이터 중 적어도 하나를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 선택된 데이터가 제 2 사용자와 공유하는 데이터인지 여부 및 제 1 사용자가 선택된 데이터의 소유자인지 여부를 판단할 수 있다. 제 2 사용자와 공유하는 데이터인지 여부 및 제 1 사용자가 선택된 데이터의 소유자인지 여부는, 데이터에 대응하여 제 1 디바이스(100)에 저장되어 있을 수 있다.
선택된 데이터가 제 2 사용자와 공유하는 데이터고, 제 1 사용자가 선택된 데이터의 소유자인 경우, 제 1 디바이스(100)는 선택된 데이터에 대한 동기화 설정 메뉴를 디스플레이할수 있다. 동기화 설정 메뉴를 터치하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 선택된 데이터에 대한 동기화 방법을 선택하기 위한 사용자 인터페이스(4210)를 디스플레이 할 수 있다.
동기화 방법을 선택하기 위한 사용자 인터페이스(4210)는 선택된 데이터 에 대하여 소유자만이 동기화 할 수 있는 방법과 소유자 및 공유자 모두 동기화 할 수 있는 방법 중 하나를 선택하는 사용자 인터페이스를 포함할 수 있다.
선택된 데이터에 대하여 소유자만이 동기화하는 방법은, 소유자가 공유된 데이터를 변경했을 경우에만 변경된 파일이 공유자들의 파일에 업데이트 되고, 공유자가 공유된 데이터를 변경했을 경우에는 변경된 파일이 소유자나 다른 공유자의 파일에 업데이트 되지 않는 단방향 동기화를 의미할 수 있다.
한편, 소유자 및 공유자 모두 동기화 할 수 있는 방법은 소유자가 공유된 데이터를 변경했을 경우뿐만 아니라, 공유자가 공유된 데이터를 변경했을 경우에도 변경된 파일이 소유자나 다른 공유자의 파일에 업데이트 되는 양방향 동기화를 의미할 수 있다.
제 1 디바이스(100)는 제 1 사용자로부터 소유자만이 동기화 할 수 있는 방법과 소유자 및 공유자 모두 동기화 할 수 있는 방법 중 하나를 선택하는 사용자 입력을 수신할 수 있다. 또한, 제 1 디바이스(100)는 제 1 사용자에 의해 설정된 동기화 방법을 선택된 데이터에 대응하여 중계 서버(1000)에 저장할 수 있다. 이에 따라, 제 1 사용자와 제 2 사용자간에 공유된 제 1 사용자의 데이터가 변경된 경우, 중계 서버(1000)는 변경된 데이터에 설정된 동기화 방법에 기초하여, 제 2 클라우드 스토리지(3000)와 변경된 데이터를 동기화 할 수 있다.
도 42b은 본 발명의 다른 실시예에 따른, 제 1 디바이스(100) 또는 제 2 디바이스(200)가 제공하는 동기화 설정을 위한 사용자 인터페이스를 도시하는 도면이다.
도 42b을 참조하면, 제 1 디바이스(100)는 동기화를 설정 또는 설정 해제하기 위한 사용자 인터페이스를 디스플레이 할 수 있다.
제 1 디바이스(100)는, 제 1 사용자의 데이터에 대하여, 중계 서버(1000)와 제 2 클라우드 스토리지 간의 동기화를 설정 또는 설정 해제하기 위한 사용자 인터페이스(4220)를 디스플레이할 수 있다
제 1 사용자의 데이터에 대하여, 중계 서버(1000)와 다른 클라우드 스토리지 간의 동기화를 설정 해제하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는, 제 1 사용자의 데이터에 대하여 다른 클라우드 스토리지와의 동기화를 해제할 것을 중계 서버(1000)에게 요청할 수 있다. 이에 따라, 중계 서버(1000)는 다른 클라우드 스토리지와 제 1 사용자의 데이터에 대하여 동기화를 하지 않을 수 있다.
도 43은 본 발명의 다른 실시예에 따른, 동기화 방법에 관한 정보가 설정됨에 따라, 중계 서버(1000)에 저장된 제 1 사용자의 데이터에 대한 데이터베이스를 도시한다.
도 43를 참조하면, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자의 데이터에 대한 동기화 방향 정보를 수신할 수 있다. 동기화 방향 정보를 수신함에 따라, 중계 서버(1000)는 제 1 사용자의 데이터의 식별 정보에 대응하여, 제 1 디바이스(100)로부터 수신된 동기화 방향 정보(4310)를 저장할 수 있다.
또한, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자의 데이터에 대한 중계 서버(1000)와 다른 클라우드 스토리지와의 동기화 여부에 관한 정보를 수신할 수 있다. 동기화 여부에 관한 정보(4320)를 수신함에 따라, 중계 서버(1000)는 제 1 사용자에 대응하여 동기화 여부를 저장할 수 있다.
도 44a는, 본 발명의 일 실시예에 따른, 제 1 사용자의 요청에 따라, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터와, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본이 동기화되는 방법을 설명하기 위한 흐름도이다.
단계 S4410에서, 제 1 디바이스(100)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A 를 변경하는 사용자 입력을 수신할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 파일 A는, 제 1 사용자의 공유 설정에 따라, 중계 서버(1000)에 의해 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사된 파일의 원본 일 수 있다.
제 1 디바이스(100)와 제 1 클라우드 스토리지(2000)가 데이터를 동기화하는 경우, 파일 A는 제 1 디바이스(100)에 저장될 수 있다. 또한, 제 1 디바이스(100)는 제 1 디바이스(100)에 저장된 파일 A를 변경하는 사용자 입력을 수신할 수 있다.
단계 S4415 에서, 제 1 디바이스(100)는 파일 A에 대한 업데이트를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
제 1 디바이스(100)와 제 1 클라우드 스토리지(2000)가 데이터를 동기화하는 경우, 파일 A가 변경됨에 따라, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 기 저장된 파일 A를 변경된 파일 A로 업데이트 할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
파일 A에 대한 업데이트 요청 시, 제 1 디바이스(100)는 파일 A의 식별 정보 및 변경된 파일 A를 제 1 클라우드 스토리지(2000)로 전송할 수 있다.
단계 S4420에서, 제 1 클라우드 스토리지(2000)는 기 저장된 파일 A를 변경된 파일 A로 업데이트 할 수 있다.
제 1 클라우드 스토리지(2000)는 제 1 디바이스(100)로부터 수신한 파일 A의 식별 정보에 기초하여, 기 저장된 파일 A의 저장 위치를 획득할 수 있다. 획득된 저장 위치에 기초하여, 제 1 클라우드 스토리지(2000)는 기 저장된 파일 A를 제 1 디바이스(100)로부터 수신한 파일 A로 업데이트 할 수 있다.
단계 S4425에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로 제 1 사용자의 파일 A가 변경 되었음을 알리는 이벤트 정보를 송신할 수 있다.
파일 A가 변경 되었음을 알리는 이벤트 정보는 파일 A의 식별 정보를 포함할 수 있다. 파일 A의 식별 정보는 파일 A가 저장된 위치를 나타내는 위치 정보일 수 있다.
단계 S4430에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)에게 파일 A를 요청할 수 있다.
파일 A에 대한 요청은 파일 A의 식별 정보 및 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 ID를 포함할 수 있다.
단계 S4435에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로 변경된 파일 A를 전송할 수 있다.
제 1 클라우드 스토리지(2000)는 중계 서버(1000)의 ID에 기초하여, 파일 A에 대하여 중계 서버(1000)에게 접근 권한이 있는지 여부를 판단할 수 있다. 중계 서버(1000)가 파일 A에 대한 접근 권한이 있는 것으로 판단함에 따라, 제 1 클라우드 스토리지(2000)는 변경된 파일 A를 중계 서버(1000)로 전송할 수 있다.
단계 S4440에서, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에게 파일 A에 대한 업데이트를 요청할 수 있다.
제 1 클라우드 스토리지(2000)로부터 파일 A를 수신함에 따라, 중계 서버(1000)는 파일 A의 식별 정보에 기초하여, 중계 서버(1000)내의 데이터베이스로부터 파일 A가 복사된 사용자들의 저장 공간을 검색할 수 있다. 파일 A가 복사된 사용자들의 저장 공간으로써 제 2 클라우드 스토리지(3000)내의 제 2 사용자의 저장 공간이 검색됨에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 획득할 수 있다.
그리고, 중계 서버(1000)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보에 기초하여, 제 2 클라우드 스토리지(3000)에게 제 2 사용자의 파일 A를 업데이트할 것을 요청할 수 있다. 파일 A에 대한 업데이트 요청은 파일 A의 식별 정보, 변경된 파일 A 및 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를 포함할 수 있다.
제 2 클라우드 스토리지(3000)에게 파일 A에 대한 업데이트를 요청함에 따라, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A에 관한 정보를 업데이트할 수 있다.
예를 들어, 중계 서버(1000)는 파일 A의 식별 정보에 기초하여, 중계 서버(1000)의 데이터베이스에 기 기록된 파일 A의 수정 시간 및 파일 A를 변경한 사용자의 식별 정보를 업데이트 할 수 있다.
단계 S4445에서, 제 2 클라우드 스토리지(3000)는 기 저장된 A를 변경된 파일 A로 업데이트 할 수 있다.
제 2 클라우드 스토리지(3000)는 중계 서버(1000)의 ID에 기초하여, 중계 서버(1000)가 제 2 사용자의 저장 공간에 대한 접근 권한이 있는지 여부를 판단할 수 있다. 또한, 제 2 클라우드 스토리지(3000)는 파일 A의 식별 정보에 기초하여, 기 저장된 파일 A의 저장 위치를 획득할 수 있다.
중계 서버(1000)가 제 2 사용자의 저장 공간에 대한 접근 권한이 있는 것으로 판단한 경우, 제 2 클라우드 스토리지(3000)는, 기 저장된 파일 A를 중계 서버(1000)로부터 수신한 변경된 파일 A로 업데이트 할 수 있다.
단계 S4450에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로 파일 A에 대한 업데이트를 요청할 수 있다.
단계 S4455에서, 제 2 디바이스(200)는 기 저장된 파일 A를 제 2 클라우드 스토리지(3000)로부터 수신된 파일A로 업데이트 할 수 있다.
도 44b는 본 발명의 일 실시예에 따른, 제 2 사용자가 제 1 사용자와 제 2 사용자간에 공유되는 데이터에 대하여 쓰기 금지를 설정함에 따라, 중계 서버(1000)가 데이터에 대하여 쓰기를 금지하는 방법을 설명하기 위한 흐름도이다.
단계 S4460에서, 제 2 디바이스(200)는, 중계 서버(1000)에게, 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 데이터 중 파일 A에 대해 쓰기 금지 설정을 요청할 수 있다.
원본 파일의 소유자가 아닌 제 2 사용자가 공유된 파일에 대하여 쓰기 금지를 설정함에 따라, 제 2 디바이스(200)는 중계 서버에게 공유된 파일에 대하여 쓰기 금지를 요청할 수 있다.
쓰기 금지 설정은, 쓰기 금지를 설정한 사용자 이외의 다른 사용자가 쓰기 금지된 파일을 변경함에 의해, 쓰기 금지 설정한 사용자의 파일이 변경되는 것을 방지하는 설정을 의미할 수 있다.
또한, 쓰기 금지 설정은, 쓰기 금지를 설정한 사용자 이외의 다른 사용자가 쓰기 금지된 파일을 변경함에 의해, 쓰기 금지된 파일을 공유하는 사용자들의 파일이 변경되는 것을 방지하는 설정을 의미할 수도 있다.
제 2 클라우드 스토리지(3000)에 저장된 파일 A는, 제 1 사용자의 공유 설정에 따라, 중계 서버(1000)에 의해 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사된 파일 일 수 있다. 제 2 디바이스(200)와 제 2 클라우드 스토리지(3000)가 데이터를 동기화하는 경우, 파일 A는 제 2 디바이스(200)에 저장될 수 있다.
또한, 제 2 디바이스(200)는 제 2 디바이스(200)에 저장된 파일 A에 대해 쓰기 금지 설정을 하는 제 2 사용자의 입력을 수신할 수 있다. 파일 A에 대한 쓰기 금지 설정은 파일 A의 전체 데이터 중 쓰기 금지할 일부 영역을 설정하는 것일 수 있다. 예를 들어, 파일 A가 문서인 경우, 문서의 컨텐츠 중 일부 컨텐츠에 대해서만 쓰기 금지 설정을 할 수 있다. 또한, 파일 A가 동영상인 경우, 동영상의 프레임 중 특정 시간 영역의 프레임에 대하여 쓰기 금지 설정을 할 수 있다. 파일 A의 전체 데이터 중 쓰기 금지할 일부 영역을 설정하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 설정된 일부 영역의 파일 A 내에서의 위치를 결정할 수 있다.
파일 A에 대해 쓰기 금지 설정을 하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스(200)는 중계 서버(1000)에게, 파일 A에 대하여 쓰기 금지 설정을 요청할 수 있다. 파일 A에 대한 쓰기 금지 설정 요청은, 파일 A의 식별 정보, 중계 서버(1000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
또한, 제 2 디바이스(200)는 중계 서버(1000)에게, 파일 A의 일부 영역에 대하여 쓰기 금지를 요청을 할 수 있다. 이 경우, 파일 A의 일부 영역에 대한 쓰기 금지 요청은, 파일 A의 식별 정보, 중계 서버(1000)에 등록된 제 2 사용자의 ID뿐만 아니라, 파일 A내에서 쓰기 금지 요청된 일부 영역의 위치를 나타내는 정보를 더 포함할 수 있다.
단계 S4462에서, 중계 서버(1000)는, 파일 A에 대한 쓰기 금지를 설정할 수 있다.
제 2 디바이스(200)로부터 파일 A에 대한 쓰기 금지 설정 요청을 수신함에 따라, 중계 서버(1000)는, 파일 A에 대한 쓰기 금지를 설정할 수 있다. 예를 들어, 중계 서버(1000)는 파일 A의 식별 정보에 대응하여, 쓰기 금지 설정값을 저장할 수 있다. 또한, 중계 서버(1000)는 파일 A의 식별 정보에 대응하여, 파일 A내에서 쓰기 금지 요청된 일부 영역의 위치를 나타내는 정보를 저장할 수 있다. 또한, 파일 A의 식별 정보에 대응하여, 쓰기 금지 요청한 제 2 사용자의 ID를 쓰기 금지를 요청한 사용자로써 저장할 수 있다.
단계 S4464에서, 제 1 디바이스(100)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A를 변경하는 사용자 입력을 수신할 수 있다.
예를 들어, 파일 A가 문서 파일인 경우, 제 1 디바이스(100)는 파일 A 내의 컨텐츠를 변경하는 사용자 입력을 수신할 수 있다.
단계 S4466에서, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에게 파일 A에 대한 업데이트를 요청할 수 있다.
파일 A에 대한 업데이트 요청은 파일 A의 식별 정보, 제 1 클라우드 스토리지(2000)에 등록된 제 1 사용자의 ID 및 파일 A 내의 변경된 영역의 위치를 나타내는 정보를 포함할 수 있다.
단계 S4467에서, 제 1 클라우드 스토리지(2000)는 기 저장된 파일 A를 변경된 파일 A로 업데이트할 수 있다.
단계 S4468에서, 제 1 클라우드 스토리지(2000)는, 중계 서버(1000)에게, 파일 A에 대한 동기화를 요청할 수 있다.
중계 서버(1000)에 제 2 사용자에 대응하여 파일 A에 대한 쓰기 금지가 설정된 후, 제 1 클라우드 스토리지(2000)내에 기 저장된 파일 A가 변경됨에 따라, 제 1 클라우드 스토리지(2000)는, 중계 서버(1000)에게, 파일 A가 변경되었음을 나타내는 파일 A에 대한 동기화를 요청할 수 있다. 파일 A에 대한 동기화 요청은 파일 A의 식별 정보를 포함할 수 있다. 또한, 파일 A에 대한 동기화 요청은 파일 A의 데이터 중 변경된 데이터의 위치를 나타내는 정보를 포함할 수 있다.
단계 S4470에서, 중계 서버(1000)는, 파일 A 내의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인지 여부를 판단할 수 있다.
제 1 클라우드 스토리지(2000)로부터 파일 A에 대한 동기화 요청을 수신함에 따라, 중계 서버(1000)는, 파일 A에 대하여 쓰기 금지가 설정되어 있는지 여부를 판단할 수 있다. 예를 들어, 중계 서버(1000)는, 파일 A의 식별 정보에 대응하여, 쓰기 금지 설정값이 저장되었는지 여부를 판단할 수 있다. 파일 A의 식별 정보에 대응하여, 쓰기 금지 설정값이 저장된 경우, 중계 서버(1000)는, 파일 A의 데이터 중 변경된 데이터의 위치를 나타내는 정보에 기초하여, 파일 A의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인지 여부를 판단할 수 있다. 예를 들어, 파일 A의 데이터 중 변경된 데이터의 위치가 쓰기 금지 설정된 영역의 위치에 포함되는지 여부를 판단할 수 있다.
파일 A의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000) 내의 변경된 파일 A에 대하여 제 2 클라우드 스토리지(3000)와 동기화를 하지 않을 수 있다.
파일 A의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터가 아닌 경우, 중계 서버(1000)는, 제 1 클라우드 스토리지(2000) 내의 변경된 파일 A에 대하여 제 2 클라우드 스토리지(3000)와 동기화 할 수 있다.
단계 S4472에서, 파일 A내의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인 경우, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에게 파일 A를 요청할 수 있다.
파일 A내의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인 경우, 중계 서버(1000)는 제 1 클라우드 스토리지에 업데이트된 파일 A를 다시 롤백하기 위하여 제 2 클라우드 스토리지에게 원본 파일과 동일한 파일 A를 요청할 수 있다.
단계 S4474에서, 제 2 클라우드 스토리지(3000)는 파일 A를 중계 서버(1000)에게 전송할 수 있다.
단계 S4476에서, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에게 제 2 클라우드 스토리지(3000)로부터 수신된 파일 A의 사본에 기초하여, 업데이트된 파일 A를 롤백할 것을 요청할 수 있다.
단계 S4478에서, 제 1 클라우드 스토리지(2000)는 수신된 파일 A의 사본에 기초하여 업데이트된 파일 A를 롤백할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)는 업데이트된 파일 A를 삭제하고, 수신된 파일 A의 사본을 파일 A로써 저장할 수 있다. 또한, 예를 들어, 제 1 클라우드 스토리지(2000)는 수신된 파일 A의 사본에 기초하여, 업데이트된 파일 A에서 쓰기 금지 설정된 영역만을 변경되기 전의 원본으로 롤백할 수도 있다.
단계 S4480에서, 제 1 클라우드 스토리지(2000)는 제 1 디바이스(100)에게 업데이트된 파일 A를 롤백할 것을 요청할 수 있다. 제 1 클라우드 스토리지(2000)는 제 1 클라우드 스토리지(2000)에 저장되어 있던 업데이트된 파일 A가 롤백됨에 따라, 롤백된 파일 A를 제 1 디바이스(100)에 저장되어 있던 파일 A와 동기화 할 수 있다.
예를 들어, 제 1 클라우드 스토리지(2000)는 업데이트된 파일 A가 변경되었음을 나타내는 이벤트를 제 1 디바이스(100)에게 전송하고, 제 1 디바이스(100)는 이벤트를 수신함에 따라 제 1 클라우드 스토리지(200)로부터 롤백된 파일 A를 수신하고, 업데이트된 파일 A를 롤백된 파일 A로 변경할 수 있다.
도 44c는 본 발명의 다른 실시예에 따른, 제 2 디바이스(200)가 제 1 사용자와 제 2 사용자간에 공유되는 데이터에 대하여 쓰기 금지를 설정함에 따라, 중계 서버(1000)가 데이터에 대하여 쓰기를 금지하는 방법을 설명하기 위한 흐름도이다.
단계 S4490에서, 제 2 디바이스(200)는, 중계 서버(1000)에게, 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 데이터 중 파일 A에 대해 쓰기 금지 설정을 요청할 수 있다. 단계 S4492에서, 중계 서버(1000)는, 파일 A에 대한 쓰기 금지를 설정할 수 있다. 단계 S4494에서, 제 1 디바이스(100)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A를 변경하는 사용자 입력을 수신할 수 있다. 단계 S4490 내지 단계 S4494는 도 44b의 단계 S4460 내지 단계 S4464를 참조하여 설명될 수 있다.
단계 S4496에서, 제 1 디바이스(100)는 중계 서버(1000)에게 파일 A가 쓰기 금지 설정되었는지 확인을 요청할 수 있다.
단계 S4498에서, 중계 서버(1000)는 제 1 디바이스(100)에게 파일 A가 쓰기 금지 설정되었음을 전송할 수 있다.
이 경우, 파일 A의 일부만이 쓰기 금지 설정된 경우, 중계 서버(1000)는 쓰기 금지 설정된 영역의 위치에 관한 정보를 제 1 디바이스(100)에게 전송할 수 있다.
단계 S4499에서, 제 1 디바이스(100)는 읽기 전용으로 파일 A의 컨텐츠를 디스플레이할 수 있다.
예를 들어, 디스플레이된 파일 A의 컨텐츠를 변경하는 사용자 입력을 수신하더라도, 제 1 디바이스(100)는 파일 A를 변경하지 않을 수 있다.
또한, 실시예에 따라, 중계 서버(1000)는 파일 A가 쓰기 금지 설정됨에 따라, 제 1 디바이스(100)에게 파일 A가 쓰기 금지 설정되었음을 나타내는 이벤트를 수신할 수 있다. 제 1 디바이스(100)는 파일 A를 선택하는 사용자 입력을 수신함에 따라, 중계 서버(1000)에게 파일 A가 쓰기 금지 설정되었는지 확인하지 않고, 수신된 이벤트가 나타내는 정보에 기초하여 파일 A의 컨텐츠를 디스플레이할 수 있다.
도 45a는, 본 발명의 일 실시예에 따른, 제 2 사용자의 요청에 따라, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터와, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본이 동기화되는 방법을 설명하기 위한 흐름도이다.
단계 S4510에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A 를 변경하는 사용자 입력을 수신할 수 있다.
제 2 클라우드 스토리지(3000)에 저장된 파일 A는, 제 1 사용자의 공유 설정에 따라, 중계 서버(1000)에 의해 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사된 파일의 사본 일 수 있다.
제 2 디바이스(200)와 제 2 클라우드 스토리지(3000)가 데이터를 동기화하는 경우, 파일 A는 제 2 디바이스(200)에 저장될 수 있다. 또한, 제 2 디바이스(200)는 제 2 디바이스(200)에 저장된 파일 A를 변경하는 사용자 입력을 수신할 수 있다.
단계 S4515 에서, 제 2 디바이스(200)는 파일 A에 대한 업데이트를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
제 2 디바이스(200)와 제 2 클라우드 스토리지(3000)가 데이터를 동기화하는 경우, 파일 A가 변경됨에 따라, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)에 기 저장된 파일 A를 변경된 파일 A로 업데이트 할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
파일 A에 대한 업데이트 요청 시, 제 2 디바이스(200)는 파일 A의 식별 정보 및 변경된 파일 A를 제 2 클라우드 스토리지(3000)로 전송할 수 있다.
단계 S4520에서, 제 2 클라우드 스토리지(3000)는 기 저장된 파일 A를 변경된 파일 A로 업데이트 할 수 있다.
제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 수신한 파일 A의 식별 정보에 기초하여, 기 저장된 파일 A의 저장 위치를 획득할 수 있다. 획득된 저장 위치에 기초하여, 제 2 클라우드 스토리지(3000)는 기 저장된 파일 A를 제 2 디바이스(200)로부터 수신한 파일 A로 업데이트 할 수 있다.
단계 S4525에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로 제 2 사용자의 파일 A가 변경 되었음을 알리는 이벤트 정보를 송신할 수 있다.
파일 A가 변경 되었음을 알리는 이벤트 정보는 파일 A의 식별 정보를 포함할 수 있다. 파일 A의 식별 정보는 파일 A가 저장된 위치를 나타내는 위치 정보일 수 있다.
단계 S4530에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)에게 파일 A를 요청할 수 있다.
파일 A에 대한 요청은 파일 A의 식별 정보 및 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를 포함할 수 있다.
단계 S4535에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로 변경된 파일 A를 전송할 수 있다.
제 2 클라우드 스토리지(3000)는 중계 서버(1000)의 ID에 기초하여, 파일 A에 대하여 중계 서버(1000)에게 접근 권한이 있는지 여부를 판단할 수 있다. 중계 서버(1000)가 파일 A에 대한 접근 권한이 있는 것으로 판단함에 따라, 제 2 클라우드 스토리지(3000)는 변경된 파일 A를 중계 서버(1000)로 전송할 수 있다.
단계 S4540에서, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에게 파일 A에 대한 업데이트를 요청할 수 있다.
제 2 클라우드 스토리지(3000)로부터 파일 A를 수신함에 따라, 중계 서버(1000)는 파일 A의 식별 정보에 기초하여, 중계 서버(1000)내의 데이터베이스로부터 파일 A가 복사된 사용자들의 저장 공간을 검색할 수 있다. 파일 A가 복사된 사용자들의 저장 공간으로써 제 1 클라우드 스토리지(2000)내의 제 1 사용자의 저장 공간이 검색됨에 따라, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)내의 제 1 사용자의 저장 공간의 위치를 나타내는 위치 정보를 획득할 수 있다.
그리고, 중계 서버(1000)는 제 1 사용자의 저장 공간의 위치를 나타내는 위치 정보에 기초하여, 제 1 클라우드 스토리지(2000)에게 제 1 사용자의 파일 A를 변경된 파일 A로 업데이트할 것을 요청할 수 있다. 파일 A에 대한 업데이트 요청은 파일 A의 식별 정보, 변경된 파일 A 및 제 1 클라우드 스토리지(2000)에 등록된 중계 서버(1000)의 ID를 포함할 수 있다.
제 1 클라우드 스토리지(2000)에게 파일 A에 대한 업데이트를 요청함에 따라, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A에 관한 정보를 업데이트할 수 있다.
예를 들어, 중계 서버(1000)는 파일 A의 식별 정보에 기초하여, 중계 서버(1000)의 데이터베이스에 기 기록된 파일 A의 수정 시간 및 파일 A를 변경한 사용자의 식별 정보를 업데이트 할 수 있다.
단계 S4545에서, 제 1 클라우드 스토리지(2000)는 기 저장된 A를 변경된 파일 A로 업데이트 할 수 있다.
제 1 클라우드 스토리지(2000)는 중계 서버(1000)의 ID에 기초하여, 중계 서버(1000)가 제 1 사용자의 저장 공간에 대한 접근 권한이 있는지 여부를 판단할 수 있다. 또한, 제 1 클라우드 스토리지(2000)는 파일 A의 식별 정보에 기초하여, 기 저장된 파일 A의 저장 위치를 획득할 수 있다.
중계 서버(1000)가 제 1 사용자의 저장 공간에 대한 접근 권한이 있는 것으로 판단한 경우, 제 1 클라우드 스토리지(2000)는, 기 저장된 파일 A를 중계 서버(1000)로부터 수신한 변경된 파일 A로 업데이트 할 수 있다.
단계 S4550에서, 제 1 클라우드 스토리지(2000)는 제 1 디바이스(100)로 파일 A에 대한 업데이트를 요청할 수 있다.
단계 S4555에서, 제 1 디바이스(100)는 기 저장된 파일 A를 제 1 클라우드 스토리지(2000)로부터 수신된 파일A로 업데이트 할 수 있다.
도 45b는 본 발명의 일 실시예에 따른, 제 1 사용자가 제 1 사용자와 제 2 사용자간에 공유되는 데이터에 대하여 쓰기 금지를 설정함에 따라, 중계 서버(1000)가 데이터에 대하여 쓰기를 금지하는 방법을 설명하기 위한 흐름도이다.
단계 S4560에서, 제 1 디바이스(100)는, 중계 서버(1000)에게, 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 데이터 중 파일 A에 대해 쓰기 금지 설정을 요청할 수 있다.
원본 파일의 소유자인 제 1 사용자가 공유된 파일에 대하여 쓰기 금지를 설정함에 따라, 제 1 디바이스(100)는 중계 서버에게 공유된 파일에 대하여 쓰기 금지를 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 파일 A는, 제 1 사용자의 공유 설정에 따라, 중계 서버(1000)에 의해 제 1 클라우드 스토리지(2000)로부터 제 2 클라우드 스토리지(3000)로 복사된 파일의 원본 일 수 있다. 제 1 디바이스(100)와 제 1 클라우드 스토리지(2000)가 데이터를 동기화하는 경우, 파일 A는 제 1 디바이스(100)에 저장될 수 있다.
단계 S4562에서, 중계 서버(1000)는, 파일 A에 대한 쓰기 금지를 설정할 수 있다. 단계 S4564에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 공유되는 파일 A를 변경하는 사용자 입력을 수신할 수 있다. 단계 S4566에서, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000)에게 파일 A에 대한 업데이트를 요청할 수 있다. 단계 S4568에서, 제 1 클라우드 스토리지(2000)는 기 저장된 파일 A를 변경된 파일 A로 업데이트할 수 있다. 단계 S4570에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)에게 파일 A에 대한 동기화를 요청할 수 있다. 단계 S4572에서, 중계 서버(1000)는, 파일 A 내의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인지 여부를 판단할 수 있다. 단계 S4574에서, 파일 A내의 변경된 데이터가 쓰기 금지 설정된 영역의 데이터인 경우, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)에게 파일 A를 요청할 수 있다. 단계 S4576에서, 제 1 클라우드 스토리지(2000)는 파일 A를 중계 서버(1000)에게 전송할 수 있다. 단계 S4578에서, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에게 제 1 클라우드 스토리지(2000)로부터 수신된 파일 A의 사본에 기초하여, 업데이트된 파일 A를 롤백할 것을 요청할 수 있다. 단계 S4580에서, 제 2 클라우드 스토리지(3000)는 수신된 파일 A의 사본에 기초하여 업데이트된 파일 A를 롤백할 수 있다. 단계 S4582에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)에게 업데이트된 파일 A를 롤백할 것을 요청할 수 있다. 단계 S4562 내지 단계 S4582는 도 44b의 단계 S4462 내지 S4480을 참조하여 설명될 수 있다.
도 46은 본 발명의 일 실시예에 따른, 공유할 데이터에 대한 기능을 제한하기 위한 사용자 인터페이스를 도시한다.
도 46을 참조하면, 제 1 디바이스(100)는 데이터을 제공 받은 자에 대하여 데이터의 사용을 제한하기 위한 사용자 인터페이스를 디스플레이할 수 있다. 데이터에 대한 사용 제한은 데이터의 복사, 데이터의 인쇄 및 데이터의 변경에 대한 제한 등을 포함할 수 있다.
제 1 디바이스(100)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 공유할 데이터를 선택하는 사용자 입력을 수신할 수 있다. 제 1 사용자의 데이터 중 공유할 데이터를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 공유할 사용자를 선택하기 위한 사용자 인터페이스(4610) 및 데이터을 제공 받은 자에 대하여 데이터의 사용을 제한하기 위한 사용자 인터페이스(4620)를 디스플레이할 수 있다.
데이터가 파일 또는 폴더인 경우, 데이터을 제공 받은 자에 대하여 데이터의 사용을 제한하기 위한 사용자 인터페이스(4620)는 읽기 전용 설정을 위한 사용자 인터페이스 및 인쇄 금지 설정을 위한 사용자 인터페이스를 포함할 수 있다. 읽기 전용 설정은, 파일을 제공 받은자가 공유된 파일을 편집, 복사 및 붙여 넣는 것는 것을 금지하는 설정을 의미할 수 있다. 또한, 인쇄 금지 설정은 파일을 제공 받은자가 공유된 파일을 인쇄하는 것을 금지하는 설정을 의미할 수 있다.
제 1 사용자의 데이터인 Dropbox_user1_FOLDER2 폴더에 대하여 읽기 전용 설정 또는 인쇄 금지 설정을 한 후, 그룹 1에 대한 공유을 설정하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 Dropbox_user1_FOLDER2 폴더 내의 파일에 대해 편집, 복사 및 붙여 넣기 기능 또는 인쇄 기능이 제한되도록, 중계 서버(1000)에 요청할 수 있다. 또한, 제 1 디바이스(100)는 사용 제한된 Dropbox_user1_FOLDER2 폴더 내의 파일을 그룹 1 과 공유 설정할 것을 중계 서버(1000)에 요청할 수 있다.
도 47은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 공유 설정된 데이터의 사용을 제한하는 방법을 설명하기 위한 흐름도를 도시한다.
단계 S4710에서, 제 1 디바이스(100)는 제 1 클라우드 내의 제 1 사용자의 데이터 중 적어도 하나에 대하여, 사용 범위를 제한하여, 제 1 사용자와 제 2 사용자간의 공유를 요청하는 제 1 사용자 입력을 수신할 수 있다.
단계 S4720에서 제 1 디바이스(100)는 선택된 제 1 사용자의 데이터에 대하여, 중계 서버(1000)에게 접근 권한을 부여할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다. 또한, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
중계 서버(1000)는 공유 요청된 제 1 사용자의 데이터에 대한 접근 권한을 획득할 수 있다. 또한, 제 1 디바이스(100)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 획득할 수 있다.
단계 S4730에서, 제 1 디바이스(100)는, 중계 서버(1000)에게, 제 1 클라우드 내의 제 1 사용자의 데이터 중 적어도 하나에 대하여, 사용 범위를 제한하여, 제 1 사용자와 제 2 사용자간의 공유를 요청할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터의 URL, 중계 서버(1000)에 등록된 제1 사용자의 ID, 중계 서버(1000)에 등록된 제 2 사용자의 ID 및 제 1 사용자가 설정한 사용 범위에 관한 정보를 중계 서버(1000)로 전송할 수 있다.
단계 S4740에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 데이터를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
단계 S4730에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청받은 제 1 사용자의 데이터를 중계 서버(1000)로 전송할 수 있다.
단계 S4760에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터에 대하여 사용 범위를 제한하는 처리를 할 수 있다.
예를 들어, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터에 읽기 전용 설정이 요청된 경우, 중계 서버(1000)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터에 대하여, 제 2 사용자가 편집, 복사 및 붙여 넣기를 하지 못하도록 파일을 암호화할 수 있다.
또한, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 데이터에 대응하여, 읽기 전용 기능이 설정되었음을 나타내는 정보를 저장할 수 있다.
단계 S4770에서, 중계 서버(1000)는 사용 범위가 제한된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)로 전송할 수 있다.
단계 S4780에서, 제 2 클라우드 스토리지(3000)는 사용 범위가 제한된 제 1 사용자의 데이터를 저장할 수 있다.
단계 S4790에서, 제 2 클라우드 스토리지(3000)는 사용 범위가 제한된 제 1 사용자의 데이터를 제 2 디바이스(200)로 전송할 수 있다.
이에 따라, 제 1 사용자는, 사용 범위가 제한한 데이터를 제 2 사용자와 공유할 수 있다. 예를 들어, 제 1 사용자의 데이터에 읽기 전용 기능이 설정된 경우, 제 2 사용자는, 제 2 디바이스(200)에서, 제 1 사용자의 데이터를 볼 수 있을 뿐, 제 1 사용자의 데이터를 변경하거나 복사하지 못할 수 있다.
도 48은 본 발명의 일 실시예에 따른, 공유할 데이터 중 일부분에 대하여 읽기 금지 설정을 하기 위한 사용자 인터페이스를 도시한다.
도 48을 참조하면, 제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일의 컨텐츠(4810)를 디스플레이할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 파일의 컨텐츠(4810)가 디스플레이된 경우, 제 1 사용자 입력에 따라, 제 1 디바이스(100)는 디스플레이된 컨텐츠 중 일부분에 대하여 읽기 금지를 설정을 하기 위한 메뉴(4820)를 디스플레이할 수 있다.
디스플레이된 컨텐츠 중 일부분에 대하여 읽기 금지를 설정을 하기 위한 메뉴(4820)를 선택하는 입력을 수신함에 따라, 제 1 디바이스(100)는 디스플레이된 컨텐츠 중 읽기 금지를 설정할 일부분을 선택하기 위한 사용자 인터페이스(4840)를 디스플레이할 수 있다.
제 1 디바이스(100)는 읽기 금지를 설정할 일부분을 선택하는 제 1 사용자의 입력을 수신할 수 있다. 읽기 금지를 설정할 일부분을 선택하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 사용자에 의해 선택된 부분을 선택되지 않은 부분과 구별하여 표시할 수 있다.
또한, 제 1 사용자 입력에 따라, 제 1 디바이스(100)는, 디스플레이된 컨텐츠를 공유할 제 2 사용자를 선택하기 위한 사용자 인터페이스를 디스플레이 하기 위한 메뉴(4830)를 디스플레이할 수 있다.
디스플레이된 컨텐츠를 공유할 제 2 사용자를 선택하기 위한 사용자 인터페이스를 디스플레이 하기 위한 메뉴(4830)를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 디스플레이된 컨텐츠를 공유할 제 2 사용자를 선택하기 위한 사용자 인터페이스(4850)를 디스플레이할 수 있다.
디스플레이된 컨텐츠를 공유할 제 2 사용자를 선택하기 위한 사용자 인터페이스(4850)는 제 2 사용자를 선택하기 위한 인터페이스 및 선택된 제 2 사용자에 대하여 컨텐츠에 설정된 읽기 금지를 적용할지 여부를 선택하기 위한 사용자 인터페이스(4860)를 포함할 수 있다.
공유할 제 2 사용자 및 공유할 제 2 사용자에 대하여 읽기 금지 적용 여부를 결정하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는, 중계 서버(1000)에, 디스플레이된 컨텐츠에 대하여 제 1 사용자와 제 2 사용자의 공유을 요청할 수 있다. 이 경우, 제 1 디바이스(100)는, 중계 서버(1000)에, 제 2 사용자 중 읽기 금지 적용된 사용자에 대하여는 파일의 컨텐츠에 대하여 읽기 금지 처리를 요청할 수 있다.
도 49는 본 발명의 일 실시예에 따른, 공유할 데이터 중 일부분에 대하여 읽기 금지를 설정하여, 데이터를 공유하는 방법을 설명하는 흐름도를 도시한다.
단계 S4910에서, 제 1 디바이스(100)는, 제 1 사용자의 파일의 컨텐츠 중 일부분을 읽기 금지 설정하여, 제 1 사용자와 제 2 사용자간의 공유를 요청하는 제 1 사용자 입력을 수신할 수 있다.
단계 S4920에서 중계 서버(1000)는 공유 요청된 제 1 사용자의 데이터에 대하여 접근 권한을 획득할 수 있다. 또한, 제 1 디바이스(100)는 공유 요청된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 획득할 수 있다.
단계 S4930에서, 제 1 디바이스(100)는, 중계 서버(1000)에게, 제 1 사용자의 파일의 컨텐츠 중 일부분을 읽기 금지 설정하고, 읽기 금지 설정된 파일에 대하여 제 1 사용자와 제 2 사용자간의 공유를 요청할 수 있다.
제 1 디바이스(100)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자 파일에 대한 URL, 중계 서버(1000)에 등록된 제1 사용자의 ID, 중계 서버(1000)에 등록된 제 2 사용자의 ID 및 파일의 컨텐츠 중 읽기 금지 설정된 부분의 위치에 관한 정보를 중계 서버(1000)로 전송할 수 있다.
단계 S4940에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유 설정된 제 1 사용자의 파일을 제 1 클라우드 스토리지(2000)에 요청할 수 있다.
단계 S4930에서, 제 1 클라우드 스토리지(2000)는 중계 서버(1000)로부터 요청받은 제 1 사용자의 파일을 중계 서버(1000)로 전송할 수 있다.
단계 S4960에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 사용자의 파일의 컨텐츠 중 읽기 금지 설정된 일부분을 삭제할 수 있다.
중계 서버(1000)는, 읽기 금지 설정된 부분의 위치에 관한 정보에 기초하여, 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 파일 중 읽기 금지 설정된 부분을 삭제할 수 있다.
예를 들어, 도 50a에 도시된 바와 같이, 중계 서버(1000)는 파일의 컨텐츠(5010) 중 읽기 금지 설정된 부분(5010)의 데이터 값을 미리 정의된 노이즈 값(5020)으로 변경할 수 있다. 또한, 중계 서버(1000)는, 도 50b에 도시된 바와 같이, 파일의 컨텐츠 중 읽기 금지 설정된 부분(5010)을 삭제하고, 삭제된 부분을 제외한 파일의 나머지 부분을 연결하여 하나의 파일을 생성할 수도 있다.
단계 S4970에서, 중계 서버(1000)는 읽기 금지 설정된 부분이 삭제된 제 1 사용자의 파일을 제 2 클라우드 스토리지(3000)로 전송할 수 있다.
단계 S4980에서, 제 2 클라우드 스토리지(3000)는 읽기 금지 설정된 부분이 삭제된 제 1 사용자의 파일을 저장할 수 있다.
단계 S4990에서, 제 2 클라우드 스토리지(3000)는 읽기 금지 설정된 부분이 삭제된 제 1 사용자의 파일을 제 2 디바이스(200)로 전송할 수 있다.
이에 따라, 제 2 사용자는 제 1 사용자의 파일 A 중 읽기 금지 설정되지 않은 부분만을 볼 수 있다.
도 51은, 본 발명의 일 실시예에 따른, 일부분이 읽기 금지되어 제 2 사용자에게 제공된 제 1 사용자의 데이터에 대하여 읽기 금지를 해제하는 방법을 설명하기 위한 흐름도를 도시한다.
단계 S5110에서, 제 1 디바이스(100)는 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 파일 A에 대한 읽기 금지 해제를 중계 서버(1000)에게 요청할 수 있다.
단계 S5120에서, 중계 서버(1000)는 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 파일 A를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
단계 S5130에서, 제 1 클라우드 스토리지(2000)는 서버는 제 1 사용자와 제 2 사용자에 의해 공유되는 제 1 사용자의 파일 A의 원본을 중계 서버(1000)에게 전송할 수 있다.
단계 S5140에서, 중계 서버(1000)는 일부분이 읽기 금지되어 제 2 클라우드에 저장된 파일 A를 제 1 클라우드 스토리지(2000)로부터 수신된 파일 A의 원본으로 업데이트 할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
단계 S5150에서, 제 2 클라우드 스토리지(3000)는 일부분이 읽기 금지된 파일 A를 중계 서버(1000)로부터 수신한 파일 A의 원본으로 업데이트할 수 있다.
단계 S5160에서, 제 2 클라우드 스토리지(3000)는 일부분이 읽기 금지된 파일 A를 파일 A의 원본으로 업데이트할 것을 제 2 디바이스(200)에게 요청할 수 있다.
제 2 디바이스(200)가, 제 2 디바이스(200) 내에 기 저장된, 일부분이 읽기 금지된 파일 A를 파일 A의 원본으로 업데이트함에 따라, 제 2 사용자는 파일 A의 컨텐츠의 전부를 볼 수 있다.
도 52은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 클라우드 스토리지 기능을 제공하는 경우, 중계 서버(1000) 내의 제 1 사용자의 데이터 또는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자 및 제 2 사용자 간에 공유시키는 방법을 설명하기 위한 도면이다.
도 52을 참고하면, 중계 서버(1000)는 사용자들의 계정에 기초하여 사용자들에게 스토리지 기능을 제공하는 클라우드 스토리지일 수 있다.
중계 서버(1000)는, 중계 서버(1000) 내의 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자가 공유할 수 있도록 동작할 수 있다. 예를 들어, 제 1 사용자의 데이터를 제 2 사용자와 공유하는 공유 요청을 수신함에 따라, 중계 서버(1000)는 중계 서버(1000) 내의 제 1 사용자의 데이터를, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장할 수 있다. 이에 따라, 제 2 사용자는 제 2 클라우드 스토리지(3000)를 통해, 제 1 사용자와 제 2 사용자간에 공유된 제 1 사용자의 데이터에 획득할 수 있다.
또한, 중계 서버(1000)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자와 제 2 사용자가 공유할 수 있도록 동작할 수 있다. 예를 들어, 중계 서버(1000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 중계 서버(1000)의 제 1 사용자의 저장 공간에 저장할 수도 있다.
또한, 중계 서버(1000)는 중계 서버(1000) 내의 제 1 사용자의 데이터와 제 1 사용자의 데이터가 복사되어 2 클라우드 스토리지내의 제 2 사용자의 저장 공간에 제 1 사용자의 사본을 동기화 할 수 있다. 예를 들어, 중계 서버(1000) 내의 제 1 사용자의 데이터가 변경됨에 따라, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을, 변경된 1 사용자의 데이터로 업데이트 할 수 있다.
또한, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유된 파일에 대하여 제 1 사용자 또는 제 2 사용자의 쓰기를 금지하는 설정을 할 수 있다. 또한, 중계 서버(1000)는 제 1 사용자와 제 2 사용자 간에 공유된 파일에 대하여 제 1 사용자 또는 제 2 사용자의 읽기를 금지하는 설정을 할 수 있다.
도 53은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 클라우드 스토리지 기능을 제공하는 경우, 중계 서버(1000)가 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자 간에 공유하는 방법을 설명하기 위한 도면이다.
도 53를 참조하면, 제 1 사용자는, 중계 서버(1000)에, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 S Cloud_user1_FOLDER2에 대하여, 제 1 사용자와 제 2 사용자간의 공유를 설정할 수 있다. S Cloud_user1_FOLDER2에 대하여 제 1 사용자와 제 2 사용자간의 공유가 설정됨에 따라, 중계 서버(1000)는, 중계 서버(1000) 내의 S Cloud_user1_FOLDER2 폴더를, 제 2 사용자의 데이터로써 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
중계 서버(1000) 내의 제 1 사용자의 S Cloud_user1_FOLDER2 폴더가 제 2 클라우드 스토리지(3000) 내에 제 2 사용자의 데이터로써 복사됨에 따라, 제 2 사용자의 S Cloud_user1_FOLDER2 폴더는 제 2 사용자의 파일 시스템에 마운트 될 수 있다.
중계 서버(1000) 내의 제 1 사용자의 S Cloud_user1_FOLDER2 폴더를 구성하는 모든 데이터가 제 2 클라우드 스토리지(3000)로 복사될 수 있다. 또한, 1 사용자의 S Cloud_user1_FOLDER2 폴더의 계층 구조 및 S Cloud_user1_FOLDER2 내의 파일의 속성 정보만이 2 클라우드 스토리지로 복사될 수도 있다.
제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유가 설정됨에 따라, 중계 서버(1000)가 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 제 2 사용자의 데이터로써 저장하는 방법을 도 53 내지 도 57을 참조하여 아래에서 상세히 설명한다.
도 54는 본 발명의 일 실시예에 따른, 중계 서버(1000) 및 제 2 클라우드 스토리지(3000)가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
단계 S5410에서, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자에 대한 등록 요청을 수신할 수 있다. 제 1 사용자에 대한 등록 요청은 중계 서버(1000)에 등록할 제 1 사용자의 계정을 포함할 수 있다. 계정은 제 1 사용자의 ID 및 패스워드를 포함할 수 있다. 제 1 사용자에 대한 등록 요청을 수신함에 따라, 중계 서버(1000)는 제 1 사용자에게 중계 서버(1000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다. 예를 들어, 제 1 사용자는 제 1 사용자의 계정에 기초하여, 중계 서버(1000)에 데이터를 저장할 수 있다.
단계 S5420에서, 제 2 클라우드 스토리지(3000)는 제 2 디바이스(200)로부터 제 2 사용자에 대한 등록 요청을 수신할 수 있다. 제 2 사용자에 대한 등록 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)는, 제 2 사용자에게, 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
단계 S5430에서, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 중계 서버(1000)에 대한 등록 요청을 수신할 수 있다.
중계 서버(1000)는 제 2 클라우드 스토리지(3000)에 사용자로써 등록될 수 있다. 또한, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)에, 제 2 클라우드 스토리지(3000)의 사용자의 허가에 기초하여 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 제 3 자로써 등록될 수도 있다. 또한, 제 2 클라우드 스토리지(3000)에 중계 서버(1000)가 미리 등록되어 있는 경우, 제 2 클라우드 스토리지(3000)에 중계 서버(1000)를 등록하는 단계는 생략될 수도 있다.
단계 S5440에서, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 사용자를 사용자로부터 등록할 것을 요청할 수 있다. 제 2 사용자에 대한 등록 요청을 수신함에 따라, 중계 서버(1000)는 제 2 사용자에게 중계 서버(1000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
단계 S5450에서, 중계 서버(1000)는 제 2 클라우드 스토리지(3000)로부터 제 2 클라우드 스토리지(3000)에 대한 등록 요청을 수신할 수 있다.
제 2 클라우드 스토리지(3000)는 중계 서버(1000)에 사용자로써 등록될 수 있다. 또한, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)에, 중계 서버(1000)의 사용자의 허가에 기초하여 중계 서버(1000)의 리소스를 사용할 수 있는 제 3 자로써 등록될 수도 있다. 또한, 제 2 클라우드 스토리지(3000)가 중계 서버(1000)에 미리 등록되어 있는 경우, 중계 서버(1000)에 제 2 클라우드 스토리지(3000)를 등록하는 단계는 생략될 수도 있다.
도 55은 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더를 수신 폴더로써 중계 서버(1000)에 등록하는 방법을 설명하기위한 흐름도를 도시한다.
수신 폴더는 중계 서버(1000)로부터 수신할 데이터를 저장할 폴더를 의미할 수 있다.
단계 S5510에서, 제 2 디바이스(200)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더 중 하나를 수신 폴더로써 설정하는 제 2 사용자의 입력을 수신할 수 있다.
단계 S5520에서, 제 2 디바이스(200)는, 제 2 사용자에 의해 선택된 폴더에 대한 제 2 사용자와 중계 서버(1000) 간의 공유 설정을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
공유 설정 요청은, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 및 제 2 사용자에 의해 선택된 폴더에 대한 식별 정보를 포함할 수 있다.
또한, 제 2 디바이스(200)는, 제 2 사용자에 의해 선택된 폴더의 위치를 나타내는 위치 정보를 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
단계 S5530에서, 제 2 클라우드 스토리지(3000)는 제 2 사용자에 의해 선택된 폴더에 대한 제 2 사용자와 중계 서버(1000) 간의 공유 설정할 수 있다.
예를 들어, 제 2 클라우드 스토리지(3000)는 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID를 제 2 사용자에 의해 선택된 폴더에 대한 공유자의 ID로써 설정할 수 있다.
단계 S5540에서, 제 2 클라우드 스토리지(3000)는 제 2 사용자에 의해 선택된 폴더의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다.
폴더의 위치를 나타내는 위치 정보는 폴더의 URL를 포함할 수 있다.
단계 S5550에서, 제 2 디바이스(200)는 제 2 사용자에 의해 선택된 폴더를 제 2 사용자의 수신 폴더로써 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
수신 폴더 설정 요청은, 폴더의 위치를 나타내는 위치 정보, 중계 서버(1000)에 등록된 제 2 사용자의 ID를 포함할 수 있다.
단계 S5560에서, 중계 서버(1000)는 제 2 사용자에 의해 선택된 폴더를 제 2 사용자의 수신 폴더로써 중계 서버(1000)에 저장할 수 있다.
예를 들어, 중계 서버(1000)는 중계 서버(1000)에 등록된 제 2 사용자의 ID 대응하여, 제 2 사용자에 의해 선택된 폴더의 위치를 나타내는 위치 정보를 수신 폴더의 위치 정보로써 저장할 수 있다.
도 56은 본 발명의 일 실시예에 따른, 제 1 디바이스(100)로부터, 제 1 사용자의 데이터를 제 2 사용자와 공유하는 공유 요청을 수신함에 따라, 중계 서버(1000)가 중계 서버(1000) 내의 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장하는 방법을 설명하기 위한 흐름도이다.
단계 S5610에서, 제 1 디바이스(100)는, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유를 설정하는 제 1 사용자 입력을 수신할 수 있다.
단계 S5620에서, 제 1 디바이스(100)는, 중계 서버(1000)에게, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유 설정을 요청할 수 있다.
제 1 디바이스(100)는, 제 1 사용자에 의해 선택된, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 적어도 하나를 제 2 사용자와 공유할 것을 요청할 수 있다.
제 1 사용자의 데이터에 대한 제 1 사용자와 제 2 사용자 간의 공유 설정 요청은 중계 서버(1000)에 등록된 제 1 사용자의 ID, 중계 서버(1000) 등록된 제 2 사용자의 ID 및 1 사용자에 의해 선택된, 중계 서버(1000) 내의 제 1 사용자의 데이터의 식별 정보를 포함할 수 있다.
단계 S5630에서, 중계 서버(1000)는, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유를 설정할 수 있다.
중계 서버(1000)는 제 1 디바이스(100)로부터 수신한 제 1 사용자의 데이터의 식별 정보에 기초하여, 제 1 사용자에 의해 선택된, 중계 서버(1000) 내의 제 1 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유를 설정할 수 있다.
단계 S5640에서, 중계 서버(1000)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에, 제 1 사용자와 제 2 사용자 간에 공유 설정 된 중계 서버(1000) 내의 제 1 사용자의 데이터를 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
중계 서버(1000)에는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보가 저장되어 있을 수 있다. 예를 들어, 중계 서버(1000)에는, 중계 서버(1000)에 등록된 제 2 사용자의 ID에 대응하여, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더가 제 2 사용자의 수신 폴더로써 저장되어 있을 수 있다.
중계 서버(1000)는 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID를 이용하여, 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
단계 S5650에서, 제 2 클라우드 스토리지(3000)는, 제 1 사용자와 제 2 사용자 간에 공유 설정 된 중계 서버(1000) 내의 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장하는 저장 요청을 중계 서버(1000)로부터 수신함에 따라, 제 2 클라우드 스토리지(3000)는 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 있는지 여부를 판단할 수 있다.
제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한이 중계 서버(1000)에게 있는 경우, 제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 수신한 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
도 57은 본 발명의 일 실시예에 따른, 제 2 디바이스(200)로부터 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자와 제 2 사용자 간에 공유하는 공유 요청을 수신함에 따라, 중계 서버(1000)가 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 중계 서버(1000)에 저장하는 방법을 설명하기 위한 흐름도를 도시한다.
단계 S5710에서, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유를 설정하는 사용자 입력을 수신할 수 있다.
단계 S5720에서, 제 2 디바이스(200)는, 제 2 클라우드 스토리지(3000)로, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터 중 적어도 하나에 대한 제 2 사용자와 중계 서버(1000) 간의 공유 설정 요청을 전송할 수 있다.
제 2 디바이스(200)는, 제 2 사용자에 의해 선택된, 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 중계 서버(1000)와 공유할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
공유 설정 요청은 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID, 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 및 제 2 사용자에 의해 선택된, 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터의 식별 정보를 포함할 수 있다.
또한, 제 2 디바이스(200)는, 제 2 사용자에 의해 선택된, 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터의 위치를 나타내는 위치 정보를 요청할 수 있다.
단계 S5725에서, 제 2 클라우드 스토리지(3000)는, 제 2 사용자에 의해 선택된, 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터에 대하여 제 2 사용자와 중계 서버(1000)간의 공유를 설정할 수 있다.
단계 S5730에서, 제 2 클라우드 스토리지(3000)는, 제 2 사용자와 중계 서버(1000) 간에 공유된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터의 위치를 나타내는 위치 정보를 제 2 디바이스(200)로 전송할 수 있다.
단계 S5740에서, 제 2 디바이스(200)는, 중계 서버(1000)로, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유 설정 요청을 전송할 수 있다.
제 2 디바이스(200)는 제 2 사용자에 의해 선택된, 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 공유할 것을 중계 서버(1000)에게 요청할 수 있다.
제 1 사용자와 제 2 사용자간의 공유 요청은, 중계 서버(1000)에 등록된 제 1 사용자의 ID, 중계 서버(1000) 등록된 제 2 사용자의 ID 및 2 사용자의 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
단계 S5750에서, 중계 서버(1000)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터 중 적어도 하나에 대한 제 1 사용자와 제 2 사용자 간의 공유를 설정할 수 있다.
단계 S5760에서, 중계 서버(1000)는, 제 2 클라우드 스토리지(3000)에게, 제 1 사용자와 제 2 사용자 간의 공유 설정된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 요청할 수 있다.
제 2 사용자의 데이터에 대한 요청은, 제 2 클라우드 스토리지(3000)에 등록된 제 2 사용자의 ID, 제 2 클라우드 스토리지(3000)에 등록된 중계 서버(1000)의 ID 및 2 사용자의 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
단계 S5770에서, 제 2 클라우드 스토리지(3000)는, 중계 서버(1000)로, 제 1 사용자와 제 2 사용자 간의 공유 설정된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 전송할 수 있다.
제 2 클라우드 스토리지(3000)는 중계 서버(1000)로부터 요청된 제 2 사용자의 데이터에 대한 접근 권한이 중계 서버(1000)에게 있는지 여부를 판단할 수 있다.
중계 서버(1000)로부터 요청된 제 2 사용자의 데이터에 대한 접근 권한이 중계 서버(1000)에게 있는 경우, 제 2 클라우드 스토리지(3000)는, 중계 서버(1000)로 중계 서버(1000)로부터 요청된 제 2 사용자의 데이터를 전송할 수 있다.
단계 S5780에서, 중계 서버(1000)는, 제 1 사용자와 제 2 사용자 간의 공유 설정된 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자의 저장 공간에 저장할 수 있다.
중계 서버(1000)는 제 2 클라우드 스토리지(3000)로부터 수신한 제 2 사용자의 데이터를 제 1 사용자의 저장 공간에 저장할 수 있다.
도 58은 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a) 및 제 2 중계 서버(1000b)가, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 또는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터를 제 1 사용자 및 제 2 사용자 간에 공유시키는 방법을 설명하기 위한 도면이다.
도 58을 참조하면, 제 1 중계 서버(1000a) 또는 제 2 중계 서버(1000b)는 제 1 사용자의 데이터를 제 1 클라우드 스토리지(2000)로부터 수신하여 제 2 클라우드 스토리지(3000)에 저장함으로써, 또는, 제 2 사용자의 데이터를 데이터를 제 2 클라우드 스토리지(3000)로부터 수신하여 제 1 클라우드 스토리지(2000)에 저장함으로써, 제 1 사용자의 데이터 또는 제 2 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 공유시킬 수 있다.
제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)는 서로 다른 서비스 프로바이더에 의해 운영되는 스토리지일 수 있다. 또한, 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)는 실시예에 따라 범용 클라우드 스토리지로 언급될 수 있다.
도 59는, 본 발명의 일 실시에에 따른, 제 1 중계 서버(1000a) 및 제 2 중계 서버(1000b)가, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 저장하는 방법을 설명하기 위한 도면이다.
도59를 참조하면, 제 1 사용자는, 제 1 중계 서버(1000a)를 이용하여, 제 1 클라우드 스토리지(2000)에, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 Dropbox_user1_FOLDER2에 대하여, 제 1 사용자와 제 2 사용자간의 공유를 설정할 수 있다. Dropbox_user1_FOLDER2에 대하여 제 1 사용자와 제 2 사용자간의 공유가 설정됨에 따라, 제 1 중계 서버(1000a)는 제 1 클라우드 스토리지(2000)로부터 Dropbox_user1_FOLDER2 폴더의 위치를 나타내는 위치 정보를 수신할 수 있다. 그리고, 제 1 중계 서버(1000a)는 Dropbox_user1_FOLDER2 폴더의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)로 송신할 수 있다.
Dropbox_user1_FOLDER2 폴더의 위치를 나타내는 위치 정보를 수신함에 따라, 제 2 중계 서버(1000b)는 Dropbox_user1_FOLDER2 폴더의 위치를 나타내는 위치 정보에 기초하여, 제 1 클라우드 스토리지(2000)로부터 Dropbox_user1_FOLDER2 폴더를 수신할 수 있다. 그리고, 제 2 중계 서버(1000b)는 Dropbox_user1_FOLDER2 폴더를 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
제 1 중계 서버(1000a) 및 제 2 중계 서버(1000b)가 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 저장함으로써, 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 공유하는 방법을 도 60 내지 도 65을 참조하여 아래에서 상세히 설명한다.
도 60는 본 발명의 일 실시예에 따른, 제 1 클라우드 스토리지(2000), 제 2 클라우드 스토리지(3000)가 제 1 사용자 및 제 2 사용자를 등록하는 방법을 설명하기 위한 도면이다.
단게 S6010에서, 제 1 클라우드 스토리지(2000)는 제 1 중계 서버(1000a)로부터 제 1 사용자에 대한 등록 요청을 수신할 수 있다. 제 1 사용자에 대한 등록 요청은 제 1 클라우드 스토리지(2000)에 등록할 제 1 사용자의 계정을 포함할 수 있다. 계정은 제 1 사용자의 ID 및 패스워드를 포함할 수 있다. 제 1 사용자에 대한 등록 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)는 제 1 사용자에게 제 1 클라우드 스토리지(2000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
단계 S6020에서, 제 2 클라우드 스토리지(3000)는 제 1 중계 서버(1000a)로부터 제 1 사용자에 대한 등록 요청을 수신할 수 있다. 제 1 사용자에 대한 등록 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)는 제 1 사용자에게 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
단계 S6025에서, 제 1 중계 서버(1000a)는 제 2 중계 서버(1000b)에게 제 1 사용자를 등록할 것을 요청할 수 있다.
예를 들어,제 2 중계 서버(1000b)는 제 1 사용자에 대한 정보를 입력하는
단계 S6030, 제 2 클라우드 스토리지(3000)는 제 2 중계 서버(1000b)로부터 제 2 사용자에 대한 등록 요청을 수신할 수 있다. 제 2 사용자에 대한 등록 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)는 제 2 사용자에게 제 2 클라우드 스토리지(3000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
단계 S6040, 제 1 클라우드 스토리지(2000)는 제 2 중계 서버(1000b)로부터 제 2 사용자에 대한 등록 요청을 수신할 수 있다. . 제 2 사용자에 대한 등록 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)는 제 2 사용자에게 제 1 클라우드 스토리지(2000)의 리소스를 사용할 수 있는 권한을 부여할 수 있다.
이에 따라, 제 1 사용자 및 제 2 사용자는 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리지(3000)에 사용자로써 등록될 수 있다.
도 61은 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나의 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유를 설정하는 방법을 설명하기 위한 흐름도이다.
단계 S6110에서, 제 1 중계 서버(1000a)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나에 대하여 제 1 사용자와 제 2 사용자간의 공유를 설정하는 사용자 입력을 수신할 수 있다.
제 1 중계 서버(1000a)는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터 중 적어도 하나를 선택하는 사용자 입력을 수신할 수 있다. 또한, 제 1 중계 서버(1000a)는, 선택된 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유를 설정하는 사용자 입력을 수신할 수 있다.
단계 S6120에서, 제 1 중계 서버(1000a)는 제 1 사용자로부터 공유 요청된 제 1 사용자의 데이터를 제 2 사용자와 공유할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
단계 S6130에서, 제 1 중계 서버(1000a)는 제 1 사용자로부터 공유 요청된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
제 1 중계 서버(1000a)는 제 1 클라우드 스토리지(2000)에 등록된 제 1 사용자의 ID에 기초하여, 제 1 사용자에 의해 선택된 데이터의 위치를 나타내는 위치 정보를 요청할 수 있다.
단계 S6140에서, 제 1 클라우드 스토리지(2000)는 제 1 사용자로부터 공유 요청된 제 1 사용자의 데이터에 대하여 제 1 사용자와 제 2 사용자간의 공유를 설정할 수 있다.
단계 S6140에서, 제 1 클라우드 스토리지(2000)는 제 1 사용자로부터 공유 요청된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 1 중계 서버(1000a)로 전송할 수 있다.
도 62는 본 발명의 일 실시예에 따른, 제 1 사용자가 제 1 사용자와 제 2 사용자간에 공유 설정된 파일의 위치를 나타내는 위치 정보를 제2 사용자에게 전송하는 방법을 설명하기 위한 사용자 인터페이스를 도시한다.
도 62를 참조하면, 제 1 클라우드 스토리지(2000)로부터 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 수신함에 따라, 제 1 중계 서버(1000a)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)에게 전송하기 위한 사용자 인터페이스(6210)를 디스플레이할 수 있다.
1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)에게 전송하기 위한 사용자 인터페이스(6210)는 사용자 간에 텍스트를 전송할 수 있는 어플리케이션을 실행하기 위한 아이콘을 포함할 수 있다. 사용자 간에 텍스트를 전송할 수 있는 어플리케이션은, 이메일 어플리케이션, SNS 어플리케이션, SNS 웹 어플리케이션 및 주소록 어플리케이션을 포함할 수 있다.
어플리케이션 중 하나를 선택하는 사용자 입력을 수신함에 따라, 제 1 중계 서버(1000a)는 선택된 어플리케이션을 실행할 수 있다. 이에 따라, 제 1 사용자는 실행된 어플리케이션을 이용하여 제 1 사용자와 제 2 사용자간에 공유 설정된 파일의 위치를 나타내는 위치 정보를 제 2 사용자에게 전송할 수 있다.
도 63은 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 제 1 사용자와 제 2 사용자간에 공유 설정된 파일의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)에게 전송하는 방법을 설명하기 위한 흐름도를 도시한다.
단계 S6310에서, 제 1 중계 서버(1000a)는 제 1 사용자와 제 2 사용자간의 공유가 설정된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)로 전송할 수 있다.
제 1 사용자가 직접 제 1 중계 서버(1000a) 내의 어플리케이션을 이용하여 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 제 2 중계 서버(1000b)에 전송할 수 있다.
또한, 제 1 사용자와 제2 사용자에 대응하여, 제 1 중계 서버(1000a)와 제 2 중계 서버(1000b)를 연결하는 별도의 서버가 있는 경우, 제 1 중계 서버(1000a)는 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 서버를 통하여 자동으로 제 2 중계 서버(1000b)에게 전송할 수 도 있다.
도 64는 본 발명의 일 실시예에 따른, 제 2 중계 서버(1000b)가 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 수신하여, 제 2 클라우드 스토리지(3000)에 저장하기 위한 사용자 인터페이스를 도시한다.
도 64를 참조하면, 제 2 중계 서버(1000b)는, 제 2 사용자의 입력에 기초하여, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를, 제 2 클라우드 스토리지(3000)의 제 2 사용자의 저장 공간에 저장하기 위한 어플리케이션을 실행할 수 있다.
어플리케이션을 실행함에 따라, 제 2 중계 서버(1000b)는, 제 2 사용자로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 수신하기 위한 사용자 인터페이스(6410)를 디스플레이할 수 있다.
사용자 인터페이스(6410)를 통하여, 제 2 사용자로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 수신함에 따라, 제 2 중계 서버(1000b)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를, 제 1 클라우드 스토리지(2000)에게 요청할 수 있다.
제 1 클라우드 스토리지(2000)는, 제 2 중계 서버(1000b)로부터 요청된 제 1 사용자의 데이터를 제 2 중계 서버(1000b)로 송신할 수 있다. 그리고, 제 2 중계 서버(1000b)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)에 저장할 수 있다.
도 65는 본 발명의 일 실시예에 따른, 제 2 중계 서버(1000b)가 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 수신하여, 제 2 클라우드 스토리지(3000)에 저장하기 위한 방법을 설명하는 흐름도를 도시한다.
단계 S6510에서, 제 2 중계 서버(1000b)는, 제 1 클라우드 스토리지(2000)에게, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 요청할 수 있다.
제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 요청은, 제 1 클라우드 스토리지(2000)에 등록된 제 2 사용자의 ID 및 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보를 포함할 수 있다.
단계 S6520에서, 제 1 클라우드 스토리지(2000)는, 제 1 중계 서버(1000a)로, 제 1 사용자와 제 2 사용자간에 공유 설정된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 전송할 수 있다.
제 1 클라우드 스토리지(2000)는 제 2 사용자가 제 1 사용자의 데이터에 대한 접근 권한이 있는지 여부를 판단할 수 있다. 제 2 사용자에게 제 1 사용자의 데이터에 대한 접근 권한이 있는지 것으로 판단된 경우, 제 1 클라우드 스토리지(2000)는 제 1 사용자의 데이터를 제 2 중계 서버(1000b)로 전송할 수 있다.
단계 S6530에서, 제 2 중계 서버(1000b)는 제 1 사용자와 제 2 사용자간의 공유가 설정된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)내의 제 2 저장 공간에 저장할 것을 요청할 수 있다.
제 2 중계 서버(1000b)는 제 1 클라우드 스토리지(2000)로부터 수신한 제 1 사용자의 데이터를 제 2 중계 서버(1000b)에 저장할 수 있다.
예를 들어, 제 2 중계 서버(1000b)는, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더와 동기화되는 제 2 중계 서버(1000b) 내의 폴더에 수신한 제 1 사용자의 데이터를 저장할 수 있다. 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더와 동기화되는 제 2 중계 서버(1000b) 내의 폴더에, 수신된 제 1 사용자의 데이터가 저장됨에 따라, 수신된 제 1 사용자의 데이터는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 폴더로 업로드 될 수 있다.
단계 S6540에서, 제 2 클라우드 스토리지(3000)는 제 1 사용자와 제 2 사용자간의 공유가 설정된 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 저장할 수 있다.
제 2 클라우드 스토리지(3000)는 제 2 중계 서버(1000b)로부터 수신한 데이터를 제 2 사용자의 저장 공간에 저장할 수 있다.
도 66은, 본 발명의 일 실시예에 따른, 중계 서버(1000)에 대한 블록도를 도시한다.
도 66에 도시된 바와 같이, 일 실시예에 따른 중계 서버(1000)는, 제어부(1110), 통신부(1200) 및 저장부(1300)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 중계 서버(1000)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 중계 서버(1000)는 구현될 수 있다.
통신부(1200)는 외부 디바이스와 데이터를 송수신할 수 있다. 예를 들어, 통신부(1200)는, 제 1 디바이스(100), 제 2 디바이스(200), 제 1 클라우드 스토리지(2000) 및 제 2 클라우드 스토리와 데이터를 송수신할 수 있다.
저장부(1300)는 제 1 사용자와 제 2 사용자간에 데이터를 공유하기 위해 필요한 정보를 저장할 수 있다. 저장부(1300)는 사용자 데이터베이스(1310) 및 파일 데이터베이스(1320)를 포함할 수 있다. 사용자 데이터베이스(1310)는 허브 버서에 등록된 사용자에 관한 정보를 저장할 수 있다. 파일 데이터베이스(1320)는 중계 서버(1000)에 등록된 파일에 관한 정보를 저장할 수 있다.
제어부(1110)는 중계 서버(1000)의 전반적인 동작을 제어할 수 있다.
예를 들어, 제어부(1110)는 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터의 위치를 나타내는 위치 정보 및 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간의 위치를 나타내는 위치 정보를 획득할 수 있다.
또한, 제어부(1110)는, 통신부(1200)를 통해, 제 1 사용자가 제 1 사용자의 데이터를 제 2 사용자와 공유하기 위한 공유 요청을, 제 1 사용자의 디바이스로부터 수신할 수 있다. 공유 요청은 제 1 사용자의 데이터를 제 2 사용자의 저장 공간에 저장하는 요청일 수 있다.
또한, 제어부(1110)는, 통신부(1200)를 통해, 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 수신할 수 있는 중계 서버(1000)의 권한에 기초하여, 제 1 클라우드 스토리지(2000)로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 수신할 수 있다.
또한, 제어부(1110)는, 통신부(1200)를 통해, 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 중계 서버(1000)의 권한에 기초하여, 제 2 사용자의 저장 공간에, 수신된 제 1 사용자의 데이터를 저장할 수 있다.
이 경우, 제어부(1110)는 제 2 클라우드 스토리지(3000) 내에, 제 1 사용자의 파일을 구성하는 데이터 중 파일의 속성 정보만을 저장할 수도 있다.
또한, 제어부(1110)는, 제 2 클라우드 스토리지(3000)로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대한 요청을 수신함에 따라, 제 2 사용자의 저장 공간에, 수신한 제 1 사용자의 데이터를 저장할 수도 있다.
또한, 제어부(1110)는, 제 1 클라우드 스토리지(2000)로부터, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신할 수 있다.
또한, 제어부(1110)는, 동기화 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수 있다. 제 1 사용자의 데이터의 사본은, 공유 요청에 따라 제 1 클라우드 스토리지 내의 제 1 사용자의 데이터가 제 2 사용자의 저장 공간에 복사된 데이터를 의미할 수 있다.
또한, 제어부(1110)는, 동기화 요청을 수신함에 따라, 제 1 디바이스(100)로부터, 변경된 데이터가 쓰기 금지 설정된 데이터인지 여부를 판단하고, 변경된 데이터가 쓰기 금지 설정된 데이터가 아닌 경우, 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수도 있다. 이 경우, 쓰기 금지 설정은 제 2 사용자의 저장 공간에 저장된 제 1 사용자의 데이터의 사본이 중계 서버에 의해 변경되지 않는 설정을 의미할 수 있다.
또한, 제어부(1110)는 제 1 디바이스(100)로부터, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신할 수 있다.
또한, 제어부(1110)는, 읽기 금지 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지로부터, 읽기 금지 요청된 파일을 수신하고, 수신된 파일 중 읽기 금지 요청된 일부분을 삭제하고, 제 2 사용자의 저장 공간에 일부분이 삭제된 파일을 저장할 수 있다.
도 66은 본 발명의 일 실시예에 따른, 클라우드 서버가 메신져 서버일때, 중계 서버(1000)가 서로 다른 메신져 서비스를 이용하는 사용자들간의 메시지 전송을 중계하는 중계 서버(1000)를 나타내는 도면이다.
도 66을 참조하면, 제 1 메신져 서버(2000)와 제 2 메신져 서버(3000)는 서로 다른 서비스 프로바이더에 의해 운영되는 메신져 서버일 수 있다.
메신져 서버(2000 또는 3000)는 메신져 서버(2000 또는 3000)에 등록된 사용자들간의 메시지를 사용자들의 디바이스(100 또는 200)에 전달할 수 있다. 이 경우, 메신져 서버(2000 또는 3000)는 메신져 서버(2000 또는 3000)에 메신져 친구로써 설정된 사용자들간의 메시지만을 전달할 수 있다.
또한, 메신져 서버(2000 또는 3000)는 디바이스(100 또는 200)로부터 다른 사용자를 특정 사용자의 친구로써 추가하는 요청을 수신함에 따라, 요청한 디바이스(100 또는 200)가 다른 사용자를 특정 사용자의 메신져 친구로써 추가하는 권한이 있는지 여부를 확인할 수 있다.
예를 들어, 제 1 메신져 서버(2000)는 제 3 사용자를 제 1 사용자의 메신져 친구로써 추가하는 요청을 중계 서버(1000)로부터 수신할 수 있다. 이 경우, 제 1 메신져 서버(2000)는 메신져 친구 추가 요청과 함께 다른 사용자를 제 1 사용자의 메신져 친구로써 추가하기 위한 권한 정보를 중계 서버(1000)로부터 수신할 수 있다. 중계 서버(1000)로부터 권한 정보를 수신함에 따라, 제 1 메신져 서버(2000)는 권한 정보에 기초하여, 중계 서버(1000)가 제 3 사용자를 제 1 사용자의 메신져 친구로써 추가하기 위한 권한이 있는지 여부를 판단할 수 있다.
중계 서버(1000)는 사용자들이 가입한 메신져 서버(2000 또는 3000)를 연결함으로써, 서로 다른 메신져 서비스를 이용하는 사용자들간의 메시지 전송을 중계할 수 있다.
예를 들어, 중계 서버(1000)는 제 1 디바이스(100)로부터 다른 사용자를 제 1 메신져 서버(2000)에 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한 정보를 수신할 수 있다. 중계 서버(1000)는 제 1 디바이스(100)로부터 수신된 권한 정보에 기초하여, 중계 서버(1000)를 제 1 사용자의 메신져 친구로써 제 1 메신져 서버(2000)에 등록할 수 있다.
또한, 중계 서버(1000)는 제 2 디바이스(200)로부터 다른 사용자를 제 2 메신져 서버(3000)에 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한 정보를 수신할 수 있다. 중계 서버(1000)는 제 2 디바이스(200)로부터 수신된 권한 정보에 기초하여, 중계 서버(1000)를 제 2 사용자의 메신져 친구로써 제 2 메신져 서버(3000)에 등록할 수 있다.
중계 서버(1000)는 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버(2000)로부터 제 1 사용자의 메시지를 수신할 수 있다. 중계 서버(1000)는 제 1 메신져 서버(2000)로부터 수신된 제 1 사용자의 메시지를 제 2 사용자에게 전달해줄 것을 제 2 사용자의 제 2 메신져 친구로써 제 2 메신져 서버(3000)에게 요청할 수 있다.
또한, 중계 서버(1000)는 제 2 사용자의 제 2 메신져 친구로써 제 2 메신져 서버(3000)로부터 제 2 사용자의 메시지를 수신할 수 있다. 중계 서버(1000)는 제 2 메신져 서버(3000)로부터 수신된 제 2 사용자의 메시지를 제 1 사용자에게 전달해줄 것을 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버(2000)에게 요청할 수 있다.
이에 따라, 중계 서버(1000)는 서로 다른 메신져 서비스를 이용하는 제 1 사용자와 제 2 사용자간의 메시지 전송을 중계할 수 있다.
도 67a은 본 발명의 일 실시예에 따른, 디바이스(100 또는 200) 및 중계 서버(1000)가 메신져 서버(2000 또는 3000)에 계정을 등록하는 방법 및 디바이스(100 또는 200)가 중계 서버(1000)에 계정을 등록하는 방법을 나타내는 흐름도이다.
단계 S6705에서, 중계 서버(1000)는 제 1 메신져 서버(2000)에게 중계 서버(1000)를 등록할 것을 요청할 수 있다.
중계 서버(1000)로부터 등록 요청을 수신함에 따라, 제 1 메신져 서버(2000)는 중계 서버(1000)의 제 1 메신져 계정을 생성하고, 생성한 계정에 관한 정보를 저장할 수 있다. 이 경우, 중계 서버(1000)의 제 1 메신져 계정은 제 1 메신져 서버(2000)의 사용자로써의 계정인 아닌, 써드 파티로써의 계정일 수 있다.
단계 S6710에서, 중계 서버(1000)는 제 2 메신져 서버(3000)에게 중계 서버(1000)를 등록할 것을 요청할 수 있다.
중계 서버(1000)로부터 등록 요청을 수신함에 따라, 제 2 메신져 서버(3000)는 중계 서버(1000)의 제 2 메신져 계정을 생성하고, 생성한 계정에 관한 정보를 저장할 수 있다. 이 경우, 중계 서버(1000)의 제 2 메신져 계정은 제 2 메신져 서버(3000)의 사용자로써의 계정인 아닌, 써드 파티로써의 계정일 수 있다.
단계 S6715에서, 제 1 디바이스(100)는 제 1 메신져 서버(2000)에게 제 1 사용자에 대한 등록 요청을 송신할 수 있다.
예를 들어, 제 1 메신져 서버(2000)의 서비스 프로바이더가 배포한 어플리케이션을 실행하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 메신져 서버(2000)에게 제 1 사용자에 대한 등록을 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 제 1 메신져 서버(2000)에 등록할 제 1 사용자의 계정 정보 및 제 1 디바이스(100)의 주소 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다. 디바이스의 주소 정보는 디바이스의 IP 주소 또는 푸쉬 서버에 등록된 디바이스의 식별 정보를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 계정 정보는 ID 및 비밀번호 중 적어도 하나를 포함할 수 있다.
제 1 메신져 서버(2000)는 제 1 사용자를 제 1 메신져 서비스에 가입된 사용자로써 제 1 메신져 서버(2000)에 등록할 수 있다. 이 경우, 제 1 디바이스(100)로부터 수신된 제 1 사용자의 계정 정보에 대응하여 제 1 디바이스(100)의 주소 정보를 저장할 수 있다.
단계 S6720에서, 제 2 디바이스(200)는 제 2 메신져 서버(3000)에게 제 2 사용자에 대한 등록 요청을 송신할 수 있다.
이 경우, 제 2 디바이스(200)는 제 2 메신져 서버(3000)에 등록할 제 2 사용자의 계정 정보 및 제 2 디바이스(200)의 주소 정보를 제 2 메신져 서버(3000)에게 송신할 수 있다.
제 2 메신져 서버(3000)는 제 2 사용자를 제 2 메신져 서비스에 가입된 사용자로써 제 2 메신져 서버(3000)에 등록할 수 있다. 이 경우, 제 2 메신져 서버(3000)는 제 2 디바이스(200)로부터 수신된 제 2 사용자의 계정 정보에 대응하여 제 2 디바이스(200)의 주소 정보를 저장할 수 있다.
단계 S6725에서, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자에 대한 등록 요청을 송신할 수 있다.
예를 들어, 중계 서버(1000)의 서버스 프로바이더가 배포한 어플리케이션을 실행하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자에 대한 등록을 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 중계 서버(1000)에 등록할 제 1 사용자의 계정 정보를 중계 서버(1000)에게 전송할 수 있다.
또한, 제 1 디바이스(100)는 제 1 사용자가 가입한 제 1 메신져 서비스에 관한 정보를 중계 서버(1000)에게 전송할 수 있다. 제 1 메신져 서비스에 관한 정보는 제 1 메신져 서비스의 식별 정보 또는 제 1 메신져 서버(2000)의 주소 정보를 포함할 수 있다.
또한, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자의 고유 정보를 전송할 수 있다. 제 1 사용자의 고유 정보는, 제 1 사용자의 연락처, 주민 번호 등을 포함할 수 있으나, 이에 제한되지 않는다. 제 1 사용자의 연락처는 제 1 사용자의 전화번호, 이메일 주소 등을 포함할 수 있으나, 이에 제한되지 않는다.
제 1 디바이스(100)로부터 제 1 사용자의 계정 정보, 제 1 메신져 서비스에 관한 정보 및 제 1 사용자의 고유 정보를 수신함에 따라, 중계 서버(1000)는 제 1 사용자를 중계 서버(1000)의 사용자로써 중계 서버(1000)에 등록할 수 있다. 이 경우, 중계 서버(1000)는 제 1 사용자의 ID에 대응하여 제 1 메신져 서비스에 관한 정보 및 제 1 사용자의 고유 정보를 저장할 수 있다.
단계 S6730에서, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 사용자에 대한 등록 요청을 송신할 수 있다.
단계 S6730은 단계 S6725를 참조하여 설명될 수 있다.
도 67b는 본 발명의 일 실시예예 따른, 중계 서버에(1000)에 가입된 사용자에 대한 정보가 저장된 데이터베이스를 도시한다.
도 67b을 참조하면, 중계 서버(1000)는 사용자의 계정 정보를 저장할 수 있다.
또한, 중계 서버(1000)는 사용자의 ID(6710)에 대응하여 사용자가 가입한 메신져 서비스의 식별 정보(6720), 메신져 서버에 등록된 사용자의 ID(6730) 및 사용자의 고유 정보(6740)를 저장할 수 있다.
또한, 실시예에 따라, 중계 서버(1000)는 사용자의 디바이스(100, 200)에 저장된 사용자와 관계된 사람들의 연락처를 저장할 수도 있다.
도 68a은 본 발명의 일 실시예에 따른, 중계 서버(1000)가, 제 1 메신져 서버(2000)에 대한 제 1 사용자의 권한을 획득하는 방법을 나타내는 흐름도이다.
단계 S6810에서, 제 1 디바이스(100)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 제 1 메신져 서버(2000)에게 요청할 수 있다.
예를 들어, 제 1 디바이스(100)는, 도 88b에 도시된 바와 같이, 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 선택하기 위한 사용자 인터페이스를 제공할 수 있다.
다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 선택하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 제 1 메신져 서버(2000)에게 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 제 1 사용자의 제 1 메신져 계정 정보 및 중계 서버(1000)의 제 1 메신져 ID를 제 1 메신져 서버(2000)에게 전송할 수 있다.
단계 S6820에서, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 수 있다.
제 1 메신져 서버(2000)는 수신된 제 1 사용자의 제 1 메신져 계정 정보에 기초하여, 제 1 사용자를 인증할 수 있다. 제 1 사용자가 인증됨에 따라, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 생성할 수 있다. 제 1 메신져 서버(2000)는 생성한 권한 정보를 제 1 사용자의 제 1 메신져 ID 및 중계 서버(1000)의 제 1 메신져 ID에 대응하여 저장할 수 있다.
단계 S6820에서, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 제 1 디바이스(100)로 전송할 수 있다.
단계 S6840에서, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 메신져 서버(2000)로부터 수신된 권한 정보를 중계 서버(1000)로 전송할 수 있다.
이 경우, 제 1 디바이스(100)는 권한 정보와 함께 제 1 사용자의 중계 서버 ID를 중계 서버(1000)로 전송할 수 있다.
또한, 도시되지 않았으나, 동일한 방법으로 중계 서버(1000)는, 제 2 메신져 서버(3000)에 대한 제 2 사용자의 권한을 획득할 수 있다.
도 68b는 본 발명의 일 실시예예 따른, 제 1 메신져 서버(2000)에 대한 제 1 사용자의 권한을 중계 서버(1000)에 부여하기 위한 사용자 인터페이스를 나타내는 도면이다.
도 68b를 참조하면, 제 1 디바이스(100)는 중계 서버(1000)가 제 1 메신져 서버(2000)에 대한 제 1 사용자의 권한을 획득하기 위한 사용자 인터페이스를 제공할 수 있다.
중계 서버(1000)를 운영하는 서비스 프로바이더가 배포한 어플리케이션을 실행함에 따라, 제 1 디바이스(100)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 선택하기 위한 사용자 인터페이스를 디스플레이할 수 있다.
예를 들어, 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 메신져 서버(2000)에게 중계 서버(1000)에게 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 부여할 것을 요청할 수 있다.
권한 부여 요청을 수신함에 따라, 제 1 메신져 서버(2000)는 제 1 디바이스(100)에게 제 1 사용자에 대한 인증을 요청할 수 있다. 인증이 완료됨에 따라, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할지 여부를 확인하기 위한 웹 페이지(6810)를 제 1 디바이스(100)에게 전송할 수 있다.
확인 버튼(6820)을 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 수신할 수 있으며, 수신된 권한 정보를 중계 서버(1000)에게 전송할 수 있다.
도 68c는 본 발명의 일 실시예예 따른, 권한 정보를 디바이스(200 또는 300)로부터 수신함에 따라, 중계 서버(1000)가 저장하는 데이터베이스를 도시한다.
도 68c을 참조하면, 중계 서버(1000)는 사용자의 중계 서버 ID에 대응하여 다른 사용자를 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보(6750)를 저장할 수 있다.
예를 들어, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여, 제 1 디바이스(100)로부터 수신한, 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보(6750)를 저장할 수 있다.
도 69a는 본 발명의 일 실시예예 따른, 중계 서버(1000)가 제 1 사용자와 제 2 사용자를 서로간의 중계 서버 친구로써 등록하는 방법을 나타내는 도면이다.
단계 S6910에서, 제 1 디바이스(100)는 제 2 사용자를 중계 서버(1000)를 통해 대화할 중계 서버 친구로써 설정하는 제 1 사용자 입력을 수신할 수 있다.
예를 들어, 도 69b에 도시된 바와 같이, 제 1 디바이스(100)는, 제 1 디바이스(100)에 연락처가 저장된 사용자를 중계 서버(1000)를 통해 대화할 중계 서버 친구로써 설정하기 위한 사용자 인터페이스를 제공할 수 있다.
단계 S6920에서, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자와 제 2 사용자간에 중계 서버 친구 관계를 설정할 것을 요청할 수 있다.
예를 들어, 제 2 사용자를 중계 서버 친구로써 설정하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자와 제 2 사용자간에 중계 서버 친구 관계를 설정할 것을 요청할 수 있다
이 경우, 제 1 디바이스(100)는 제 1 사용자의 중계 서버 ID 및 제 1 디바이스(100)에 저장된 제 2 사용자의 고유 정보를 중계 서버(1000)에게 송신할 수 있다. 또한, 실시예에 따라, 제 1 디바이스(100)에 제 2 사용자의 중계 서버 ID가 저장되어 있는 경우, 제 1 디바이스(100)는 제 1 사용자의 중계 서버 ID와 함께 제 2 사용자의 중계 서버 ID를 중계 서버(1000)로 송신할 수도 있다.
단계 S6930에서, 중계 서버(1000)는 제 1 사용자가 제 1 사용자와 제 2 사용자간에 중계 서버 친구 관계를 설정할 것을 요청하였음을 제 2 디바이스(200)에게 알릴 수 있다.
예를 들어, 제 1 디바이스(100)로부터 제 1 사용자 및 제 2 사용자간의 중계 서버 친구 설정 요청을 수신함에 따라, 중계 서버(1000)는 제 1 디바이스(100)로부터 수신된 제 2 사용자의 고유 정보에 기초하여, 제 2 사용자의 중계 서버 ID를 획득할 수 있다. 예를 들어, 중계 서버(1000)는 제 1 디바이스(100)로부터 수신된 고유 정보와 동일한 고유 정보를 갖는 사용자를 제 2 사용자로써 결정하고, 제 2 사용자의 ID를 획득할 수 있다.
중계 서버(1000)는 획득된 제 2 사용자의 ID에 대응하여 저장된 제 2 디바이스(200)의 주소 정보에 기초하여, 제 2 디바이스(200)에게 제 1 사용자로부터 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정 요청이 수신되었음을 알릴 수 있다.
이 경우, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID, 제 1 사용자의 이름 또는 제 1 사용자의 고유 정보 및 제 2 메신져 서비스의 식별 정보를 제 2 디바이스(200)에게 전송할 수 있다.
단계 S6940에서, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정을 허락하는 제 2 사용자 입력을 수신할 수 있다.
예를 들어, 도 69c에 도시된 바와 같이, 중계 서버(1000)로부터 제 1 사용자의 중계 서버 친구 설정 요청을 수신함에 따라, 제 2 디바이스(200)는 제 1 사용자로부터 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정 요청이 수신되었음을 알리는 알림 팝업을 디스플레이할 수 있다. 알림 팝업 내의 확인 버튼을 선택하는 제 2 사용자 입력을 수신함으로써 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정을 허락하는 제 2 사용자의 입력을 수신할 수 있다.
단계 S6950에서, 제 2 디바이스(200)는 제 2 사용자와 제 1 사용자간에 중계 서버 친구 관계를 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
이 경우, 제 2 디바이스(200)는 제 1 사용자의 중계 서버 ID 및 제 2 사용자의 중계 서버 ID를 중계 서버(1000)에게 송신할 수 있다.
단계 S6960에서, 중계 서버(1000)는 제 1 사용자를 제 2 사용자의 중계 서버 친구로써, 제 2 사용자를 제 2 사용자의 중계 서버 친구로써 등록할 수 있다.
중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여 제 2 사용자의 중계 서버 ID를 중계 서버 친구로써 저장할 수 있다. 또한, 중계 서버(1000)는 제 2 사용자의 중계 서버 ID에 대응하여 제 1 사용자의 중계 서버 ID를 중계 서버 친구로써 저장할 수 있다.
도 69b는 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가 제 2 사용자를 중계 서버(1000)를 통해 대화할 중계 서버 친구로써 설정하는 제 1 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 69b를 참조하면, 제 1 디바이스(100)는 제 1 디바이스(100)에 연락처가 저장된 사용자를 중계 서버(1000)를 통해 대화할 중계 서버 친구로써 설정하기 위한 사용자 인터페이스를 제공할 수 있다.
예를 들어, 제 1 디바이스(100)에 저장된 연락처를 디스플레이하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 연락처가 저장된 사용자들의 식별 정보를 나타내는 페이지(6910)를 디스플레이할 수 있다. 이 때, 제 1 디바이스(100)는 연락처가 저장된 사용자들의 식별 정보와 함께 각각의 사용자들과 채팅하기 위한 버튼(6920, 6930)을 디스플레이할 수 있다. 또한, 제 1 디바이스(100)는 사용자들과 채팅하기 위한 버튼 상에 사용자들이 제 1 사용자의 제 1 메신져 친구인지 여부를 나타내는 정보를 표시할 수 있다.
예를 들어, 사용자가 제 1 메신져 서버(2000)에 제 1 사용자의 제 1 메신져 친구로써 등록되어 있지 않은 경우, 제 1 디바이스(100)는 선택된 사용자를 중계 서버 친구로써 등록하기 위한 버튼(6920)을 디스플레이할 수 있다. 예를 들어, “Lind Kim”을 식별 정보로 갖는 사용자는 제 1 메신져 서버(2000)에 제 1 사용자의 메신져 친구로써 등록되어 있지 않았을 수 있다. 이 경우, 제 1 디바이스(100)는 “Lind Kim”에 대응하여 “Lind Kim”을 제 1 사용자의 중계 서버 친구로써 등록하기 위한 버튼(6920)을 디스플레이할 수 있다.
또한, 사용자가 제 1 메신져 서버(2000)에 제 1 사용자의 메신져 친구로써 등록되어 있는 경우, 제 1 디바이스(100)는 제 1 메신져 어플리케이션을 실행하여 선택된 사용자와 채팅하기 위한 버튼(6930)을 디스플레이할 수 있다.
사용자들이 제 1 메신져 친구로써 제 1 메신져 서버(2000)에 등록되어 있는지 여부는 제 1 디바이스(100)에 의해 판단될 수 있다.
예를 들어, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 제 1 사용자의 메신져 친구로써 등록된 사용자들의 연락처를 수신할 수 있다. 제 1 디바이스(100)는 제 1 디바이스(100)에 저장된 연락처와 제 1 메신져 서버(2000)로부터 수신된 연락처를 비교하여, 제 1 메신져 서버(2000)로부터 수신된 연락처와 동일한 연락처를 갖는 사용자들이 메신져 친구로써 제 1 메신져 서버(2000)에 등록된 것으로 판단할 수 있다.
또한, 예를 들어, 제 1 디바이스(100)에 제 1 사용자의 메신져 친구들의 메신져 ID가 저장되어 있는 경우, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 제 1 사용자의 메신져 친구로써 등록된 사용자들의 메신져 ID를 수신하고, 수신된 ID를 저장된 ID와 비교하여 사용자들이 메신져 친구로써 제 1 메신져 서버(2000)에 등록되어 있는지 여부를 판단할 수도 있다.
“Lind Kim”에 대응하는 버튼(6920)을 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자와 “Lind Kim”에 대응하는 사용자간에 중계 서버 친구 관계를 설정할 것을 요청할 수 있다.
도 69c는 본 발명의 일 실시예에 따른, 제 2 디바이스(200)가 제 2 사용자로부터 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정을 허락하는 제 2 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 69c를 참조하면, 중계 서버(1000)로부터 제 1 사용자로부터의 중계 서버 친구 설정 요청을 수신함에 따라, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정 요청이 수신되었음을 알리는 알림 팝업(6940)을 디스플레이할 수 있다.
또한, 제 2 디바이스(200)는 알림 팝업(6940) 상에 제 1 사용자와 제 2 사용자간의 중계 서버 친구 설정을 허락하는 사용자 입력을 수신하기 위한 확인 버튼을 디스플레이할 수 있다.
알림 팝업(6940) 내의 확인 버튼을 선택하는 사용자 입력을 수신함에 따라, 제 2 디바이스(200)는 제 2 사용자와 제 1 사용자간에 중계 서버 친구를 설정할 것을 중계 서버(1000)에게 요청할 수 있다.
도 69d는 본 발명의 일 실시예에 따른, 사용자들간에 중계 서버 친구가 설정됨에 따라, 중계 서버(1000)가 저장하는 데이터베이스를 도시한다.
도 69d을 참조하면, 중계 서버(1000)는 사용자의 중계 서버 ID(6710)에 대응하여 사용자의 중계 서버 친구의 중계 서버 ID(6950)를 저장할 수 있다.
예를 들어, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여, 제 2 사용자의 중계 서버 ID를 중계 서버 친구로써 저장할 수 있다.
도 70a는 본 발명의 일 실시예예 따른, 중계 서버(1000)가 제 1 메신져 서버(2000)에 제 2 사용자로써 중계 서버(1000)를 등록하고, 제 1 사용자의 권한 정보에 기초하여, 중계 서버(1000)를 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버(2000)에 등록하는 방법을 나타내는 흐름도이다.
단계 S7010에서, 중계 서버(1000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 생성할 수 있다.
제 1 사용자와 제 2 사용자간에 중계 서버 친구 관계를 설정함에 따라, 중계 서버(1000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 생성할 수 있다. 제 2 사용자를 위한 제 1 메신져 가상 계정 정보는 제 1 사용자의 제 1 메신져 가상 계정 정보로 언급될 수 있다.
제 2 사용자를 위한 제 1 메신져 가상 계정 정보는 제 2 사용자를 위한 제 1 메신져 가상 ID 및 제 2 사용자를 위한 제 1 메신져 가상 비밀번호를 포함할 수 있다.
예를 들어, 중계 서버(1000)는 조어를 생성하고, 생성한 조어를 제 2 사용자를 위한 제 1 메신져 가상 ID로써 결정할 수 있다. 또한, 중계 서버(1000)는 제 2 사용자의 중계 서버 ID, 제 2 사용자의 이름 또는 고유 정보를 제 2 사용자를 위한 제 1 메신져 가상 ID로써 결정할 수도 있다.
또한, 중계 서버(1000)는 제 2 사용자를 위한 제 1 메신져 가상 비밀 번호를 생성할 수 있다.
단계 S7015에서, 중계 서버(1000)는 제 1 메신져 서버(2000)에게 제 2 사용자를 위한 제 1 메신져 가상 계정 정보에 기초하여, 중계 서버(1000)를 사용자로써 등록할 것을 요청할 수 있다.
이 경우, 중계 서버(1000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보 및 중계 서버(1000)의 주소 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다. 중계 서버(1000)의 주소 정보는 중계 서버(1000)의 IP 주소 정보 또는 푸쉬 서버에 등록된 중계 서버(1000)의 식별 정보를 포함할 수 있다.
또한, 실시예에 따라, 제 1 메신져 서버(2000)가 계정에 대응하는 닉네임을 등록할 것을 요구하는 경우, 중계 서버(1000)는 제 1 메신져 서버(2000)에게 제 2 사용자를 위한 제 1 메신져 가상 계정 정보뿐만 아니라 제 2 사용자의 닉네임을 송신할 수 있다. 제 2 사용자의 닉네임은, 제 2 사용자가 중계 서버(1000)에 가입시, 제 2 사용자가 가입하지 않은 메신져 서비스에서 사용될 제 2 사용자의 표시 정보로서 등록한 정보일 수 있다.
단계 S7020에서, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 등록함으로써 중계 서버(1000)를 제 1 메신져 서비스의 사용자로써 등록할 수 있다.
제 1 메신져 서버(2000)는 중계 서버(1000)로부터 수신된 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 등록함으로써, 중계 서버(1000)를 제 1 메신져 서비스의 사용자로써 등록할 수 있다. 또한, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보에 대응하여 중계 서버(1000)의 주소 정보를 저장할 수 있다.
단계 S7025에서, 중계 서버(1000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보에 기초하여, 중계 서버(1000)를 제 1 사용자의 제 1 메신져 친구로써 등록할 것을 요청할 수 있다.
이 경우, 중계 서버(1000)는 제 1 사용자의 제 1 메신져 ID, 권한 정보 및 제 2 사용자의 제 1 메신져 가상 계정 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다.
단계 S7030에서, 제 1 메신져 서버(2000)는 수신된 권한 정보에 기초하여, 중계 서버(1000)가 중계 서버(1000)를 제 1 사용자의 메신져 친구로써 등록할 권한이 있는지 여부를 판단할 수 있다.
예를 들어, 수신된 권한 정보가 제 1 사용자의 입력에 기초하여 제 1 메신져 서버(2000)가 중계 서버(1000)에게 배포한 권한 정보인 경우, 제 1 메신져 서버(2000)는 중계 서버(1000)에게 배포된 권한 정보를 제 1 메신져 서버(2000)에 저장된 권한 정보와 비교하여, 중계 서버(1000)가 제 1 사용자의 메신져 친구를 등록할 권한이 있음을 판단할 수 있다.
또한, 실시예에 따라, 수신된 권한 정보가 제 1 사용자의 제 1 메신져 ID 및 비밀 번호인 경우, 제 1 메신져 서버(2000)는 수신된 제 1 사용자의 제 1 메신져 ID 및 비밀 번호에 기초하여, 중계 서버(1000)가 제 1 사용자임을 인증할 수 있다.
단계 S7035에서, 제 1 메신져 서버(2000)는 중계 서버(1000)가 중계 서버(1000)를 제 1 사용자의 친구로써 등록할 권한이 있는 경우, 중계 서버(1000)를 제 1 사용자의 제 1 메신져 친구로써 등록할 수 있다.
제 1 메신져 서버(2000)는 제 1 사용자의 제 1 메신져 ID에 대응하여 제 2 사용자의 제 1 메신져 가상 ID 정보를 제 1 사용자의 제 1 메신져 친구의 ID로써 저장할 수 있다.
단계 S7040에서, 제 1 메신져 서버(2000)는 제 2 사용자의 제 1 메신져 가상 ID 정보를 가진 사용자가, 제 1 사용자의 메신져 친구로써 추가되었음을 제 1 디바이스(100)에게 알릴 수 있다.
이 경우, 제 1 메신져 서버(2000)는 제 2 사용자의 제 1 메신져 가상 ID를 제 1 디바이스(100)로 송신할 수 있다. 또한, 실시예에 따라, 제 1 메신져 서버(2000)는 제 2 사용자의 이름, 제 2 사용자의 고유 정보 및 제 2 사용자의 닉네임을 제 1 디바이스(100)로 전송할 수도 있다.
단계 S7045에서, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID 정보를 가진 사용자가, 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 디스플레이할 수 있다.
제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 수신된 제 2 사용자의 제 1 메신져 가상 ID, 제 2 사용자의 이름, 제 2 사용자의 고유 정보 또는 제 2 사용자의 닉네임을 디스플레이함으로써, 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 디스플레이할 수 있다.
도 70b는 본 발명의 일 실시예예 따른, 중계 서버(1000)가 제 2 메신져 서버(2000)에 제 1 사용자로써 중계 서버(1000)를 등록하고, 제 2 사용자의 권한 정보에 기초하여, 중계 서버(1000)를 제 2 사용자의 제 2 메신져 친구로써 제 2 메신져 서버(2000)에 등록하는 방법을 나타내는 흐름도이다.
단계 S7050에서, 중계 서버(1000)는 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 생성할 수 있다. 단계 S7055에서, 중계 서버(1000)는 제 2 메신져 서버(3000)에게 제 1 사용자를 위한 제 2 메신져 가상 계정 정보에 기초하여, 중계 서버(1000)를 사용자로써 등록할 것을 요청할 수 있다. 단계 S7060에서, 제 2 메신져 서버(3000)는 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 등록함으로써 중계 서버(1000)를 제 2 메신져 서비스의 사용자로써 등록할 수 있다. 단계 S7065에서, 중계 서버(1000)는 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보에 기초하여, 중계 서버(1000)를 제 2 사용자의 제 2 메신져 친구로써 등록할 것을 요청할 수 있다. 단계 S7070에서, 제 2 메신져 서버(3000)는 수신된 권한 정보에 기초하여, 중계 서버(1000)가 중계 서버(1000)를 제 2 사용자의 메신져 친구로써 등록할 권한이 있는지 여부를 판단할 수 있다. 단계 S7075에서, 제 2 메신져 서버(3000)는 중계 서버(1000)가 중계 서버(1000)를 제 2 사용자의 친구로써 등록할 권한이 있는 경우, 중계 서버(1000)를 제 2 사용자의 제 2 메신져 친구로써 등록할 수 있다. 단계 S7080에서, 제 2 메신져 서버(3000)는 제 1 사용자를 위한 제 2 메신져 가상 ID 정보를 가진 사용자가, 제 2 사용자의 제 2 메신져 친구로써 추가되었음을 제 2 디바이스(200)에게 알릴 수 있다. 단계 S7085에서, 제 2 디바이스(200)는 제 1 사용자를 위한 제 2 메신져 가상 ID 정보를 가진 사용자가, 제 2 사용자의 제 2 메신져 친구로써 추가되었음을 디스플레이할 수 있다.
단계 S7050 내지 S7085는 단계 S7010 내지 S7045를 참조하여 설명될 수 있다.
도 70c는 본 발명의 일 실시예예 따른, 중계 서버(1000)가 사용자를 위한 가상 계정 정보를 메신져 서버에 등록함에 따라, 중계 서버(1000)에 생성하는 데이터베이스를 나타내는 도면이다.
중계 서버(1000)는 사용자의 중계 서버 ID(7010)에 대응하여, 사용자를 위해 메신져 서버에 등록한 가상 계정 정보(7020)를 저장할 수 있다.
예를 들어, 제 2 메신져 서버(3000)에 제 1 사용자를 위한 가상 계정 정보를 등록한 경우, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여, 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 저장할 수 있다.
한명의 사용자에 대응하는 가상 계정 정보는 메신져 서비스마다 각각 다를 수 있으며, 동일할 수도 있다. 또한, 가상 ID는 사용자의 전화 번호, 이메일 주소와 같은 고유 정보일 수 있으며, 중계 서버가 생성한 조어일 수도 있다.
도 70d는 본 발명의 일 실시예예 따른, 제 1 디바이스(100)가 제 2 사용자의 제 1 메신져 가상 ID를 가진 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 나타내는 방법을 설명하기 위한 도면이다.
도 70d를 참조하면, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID를 가진 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 나타낼 수 있다.
예를 들어, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID를 가진 사용자가, 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 제 1 메신져 서버(2000)로부터 수신할 수 있다. 또한, 실시예에 따라, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID를 가진 사용자의 닉네임을 제 1 메신져 서버(2000)로부터 수신할 수도 있다.
제 1 메신져 서비스를 이용하기 위한 제 1 메신져 어플리케이션을 실행하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 수신된 제 2 사용자의 제 1 메신져 가상 ID를 디스플레이함으로써, 제 2 사용자가 추가되었음을 디스플레이할 수 있다.
예를 들어, 제 1 메신져 서비스를 이용하기 위한 제 1 메신져 어플리케이션을 실행하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 1 사용자의 제 1 메신져 ID를 나타내는 항목(7030), 제 1 사용자의 제 1 메신져 친구로써 새롭게 추가된 사용자를 나타내는 항목(7032) 및 기존에 추가된 제 1 사용자의 제 1 메시져 친구를 나타내는 항목(7034)을 디스플레이할 수 있다.
제 1 메신져 서버(2000)로부터 수신된 제 2 사용자의 제 1 메신져 가상 ID가 “Cute_Linda@hanmail.net”인 경우, 제 1 디바이스(100)는 “Cute_Linda@hanmail.net”를 새롭게 추가된 친구의 ID로써 디스플레이함으로써, 제 2 사용자가 제 1 사용자의 친구로써 추가되었음을 나타낼 수 있다.
도 71a는 본 발명의 일 실시예예 따른, 제 1 디바이스(100)가 제 1 디바이스(100)에 저장된 연락처 목록을 이용하여, 제 2 사용자가 추가되었음을 나타내는 방법을 설명하기 위한 흐름도이다.
단계 S7110에서, 중계 서버(1000)는 제 1 디바이스(100)에게 제 2 사용자의 제 1 메신져 가상 ID 정보를 전송할 수 있다.
제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 제 1 메신져 서버(2000)에 등록함에 따라, 중계 서버(1000)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 1 디바이스(100)에게 전송할 수 있다.
단계 S7120에서, 제 1 디바이스(100)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 2 사용자의 연락처로써 저장할 수 있다.
예를 들어, 제 1 디바이스(100)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 2 사용자의 전화번호로써 저장할 수 있다.
단계 S7130에서, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 가진 사용자가 제 1 사용자의 메신져 친구로써 추가되었음을 나타내는 정보를 제 1 디바이스(100)로 송신할 수 있다.
이 경우, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 1 디바이스(100)로 송신할 수 있다. 단계 S7130은 도 70a의 단계 S7040에 대응될 수 있다.
단계 S7140에서, 제 1 디바이스(100)는 제 2 사용자를 위한 제 1 메신져 가상 ID에 기초하여, 연락처 목록 내의 제 2 사용자의 식별 정보를 디스플레이할 수 있다.
예를 들어, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 수신된 ID을 제 1 디바이스(100)에 저장된 연락처 목록 내의 사용자들의 식별 정보와 비교할 수 있다. 이 때, 제 1 메신져 서버(2000)로부터 수신된 ID가 연락처로써 저장되어 있는 경우, 제 1 디바이스(100)는 제 1 메신져 서버(2000)로부터 수신된 ID가 연락처로써 저장되어 있는 사용자의 식별 정보를 제 1 사용자의 메신져 친구로 추가된 사용자로써 디스플레이할 수 있다.
도 71b 내지 도 71c는 본 발명의 일 실시예예 따른, 제 1 디바이스(100)가 제 1 디바이스(100)에 저장된 연락처 목록을 이용하여, 제 2 사용자가 추가되었음을 나타내는 방법을 설명하기 위한 도면이다.
도 71b를 참조하면, 제 1 디바이스(100)는 제 2 사용자의 제1 메신져 가상 ID를 제 2 사용자의 연락처로써 저장할 수 있다.
제 1 디바이스(100)에 제 2 사용자의 이름이 “Linda Kim”으로 저장되어 있을 수 있다. 또한, 제 2 디바이스(200)는 중계 서버(1000)로부터 수신된 제 2 사용자의 제 1 메신져 가상 ID인 “Cute_Linda@hanmail.net”을 제 2 사용자의 이메일 주소로써 저장할 수 있다.
제 1 메신져 서버(2000)로부터 제 1 사용자의 제 1 메신져 친구로써 추가된 사용자의 ID로써 “Cute_Linda@hanmail.net”을 수신함에 따라, 제 2 디바이스(200)는 수신된 ID를 연락처 목록과 비교할 수 있다. 이에 따라, 제 2 디바이스(200)는 제 1 사용자의 메신져 친구로써 추가된 사용자가 “Linda Kim”이라는 식별 정보를 갖는 사용자임을 결정할 수 있다.
제 2 사용자의 연락처를 디스플레이하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 제 2 사용자의 연락처를 나타내는 페이지(7110)를 디스플레이할 수 있다. 또한, 제 1 디바이스(100)는 제 2 사용자의 식별 정보로써 “Linda Kim”(7120)을 디스플레이하고, 제 2 사용자의 이메일 주소로써 “Cute_Linda@hanmail.net”(7130)을 디스플레이할 수 있다.
도 71c를 참조하면, 제 1 디바이스(100)는 제 1 디바이스(100)에 저장된 연락처 목록 내의 제 2 사용자의 식별 정보를 제 1 사용자의 제 1 메신져 친구로 추가된 사용자로써 디스플레이할 수 있다.
제 1 메신져 서비스를 이용하기 위한 제 1 메신져 어플리케이션을 실행하는 사용자 입력을 수신함에 따라, 제 1 사용자의 제 1 메신져 친구들의 식별 정보를 나타내는 페이지를 디스플레이할 수 있다.
이 경우, 제 1 디바이스(100)는 “Linda Kim”이라는 식별 정보를 갖는 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 디스플레이할 수 있다. 나타낼 수 있다.
이에 따라, 제 1 디바이스(100)는 연락처 목록 내의 사용자들의 이름을 제 1 사용자의 제 1 메신져 친구들의 식별 정보로써 디스플레이함으로써 사용자는 제 1 메신져 어플리케이션 상에서 사용자들을 쉽게 구분할 수 있다.
도 72a는 본 발명의 일 실시예에 따른, 중계 서버(1000)가 제 1 사용자의 가상 계정 정보 및 제 2 사용자의 가상 계정 정보에 기초하여 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계하는 방법을 나타내는 흐름도이다.
단계 S7210에서, 제 1 디바이스(100)는 제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신할 수 있다.
예를 들어, 제 1 디바이스(100)는 제 1 메신져 서비스 프로바이더가 배포한 어플리케이션을 실행하는 제 1 사용자 입력을 수신하고, 실행된 어플리케이션을 이용하여 제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신할 수 있다.
단계 S7220에서, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송할 것을 제 1 메신져 서버(2000)에게 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 제 1 사용자의 제 1 메신져 ID, 제 2 사용자의 제 1 메신져 가상 ID 및 메시지를 제 1 메신져 서버(2000)에 송신할 수 있다.
단계 S7230에서, 제 1 메신져 서버(2000)는 제 2 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 중계 서버(1000)에 대한 주소 정보 획득할 수 있다.
제 1 디바이스(100)로부터 메시지 전송 요청을 수신함에 따라, 제 1 메신져 서버(2000)는 수신자의 ID인 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 수신자의 디바이스인 중계 서버(1000)의 주소 정보를 획득할 수 있다.
단계 S7240에서, 제 1 메신져 서버(2000)는 중계 서버(1000)에게 메시지를 전송할 수 있다.
제 1 메신져 서버(2000)는 중계 서버(1000)의 주소 정보를 이용하여, 중계 서버(1000)에게 메시지를 전송할 수 있다.
이 경우, 제 1 메신져 서버(2000)는 중계 서버(1000)에게 제 1 사용자의 제 1 메신져 ID를 송신자의 ID로써, 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 송신할 수 있다.
단계 S7250에서, 중계 서버(1000)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자에 관한 정보를 획득할 수 있다.
중계 서버(1000)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자의 중계 서버 ID를 획득할 수 있다. 또한, 중계 서버(1000)는 획득한 제 2 사용자의 중계 서버 ID에 기초하여, 제 2 사용자가 사용하는 메신져 서비스의 식별 정보, 제 2 사용자가 사용하는 메신져 서버의 주소 정보 및 제 2 사용자의 제 2 메신져 ID를 획득할 수 있다.
단계 S7260에서, 중계 서버(1000)는 제 1 사용자의 제 1 메신져 ID에 기초하여, 제 1 사용자의 중계 서버 ID를 획득하고, 획득된 제 1 사용자의 중계 서버 ID에 기초하여, 제 1 사용자의 제 2 메신져 가상 ID를 획득할 수 있다.
단계 S7270에서, 중계 서버(1000)는 제 1 사용자의 제 2 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송할 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
이 경우, 중계 서버(1000)는 메시지 및 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 제 2 사용자의 제 2 메신져 ID를 수신자의 ID로써 제 2 메신져 서버(3000)에 송신할 수 있다.
단계 S7280에서, 제 2 메신져 서버(3000)는 제 2 디바이스(200)로 메시지를 전송할 수 있다.
제 2 메신져 서버(3000)는 제 2 사용자의 제 2 메신져 ID에 기초하여, 제 2 디바이스(200)의 주소 정소를 획득하고, 획득된 주소 정보에 이용하여, 메시지를 제 2 디바이스(200)로 전송할 수 있다.
이 경우, 제 2 메신져 서버(3000)는 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써 제 2 디바이스(200)로 송신할 수 있다.
단계 S7290에서, 제 2 디바이스(200)는 메시지를 디스플레이할 수 있다.
예를 들어, 메시지를 제 2 메신져 서버(3000)로부터 수신함에 따라, 제 2 디바이스(200)는 메시지가 수신되었음을 나타내는 알림창을 디스플레이할 수 있다.
또한, 제 2 메신져 서비스 프로바이더가 배포한 어플리케이션이 실행됨에 따라, 제 2 디바이스(200)는 수신된 메시지를 디스플레이할 수 있다.
이 경우, 제 2 디바이스(200)는 제 1 사용자의 제 2 메신져 가상 ID 또는 제 2 디바이스(200)에 저장된 제 1 사용자의 이름을 송신자로써 디스플레이할 수 있다.
도 72b는 본 발명의 일 실시예예 따른, 중계 서버(1000)가 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계함에 따라, 제 1 디바이스(100) 및 제 2 디바이스(200)가 제 1 사용자와 제 2 사용자간에 송수신되는 메시지를 디스플레이하는 방법을 설명하기 위한 도면이다.
도 72b를 참조하면, 중계 서버(1000)가 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계함에 따라, 제 1 디바이스(100) 및 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 송수신되는 메시지를 디스플레이할 수 있다.
예를 들어, “카카오톡”이라는 메신져를 사용하는 제 1 사용자인 “Alice”와 “라인”이라는 메신져를 사용하는 제 2 사용자인 “Linda Kim”이 중계 서버(1000)를 이용하여 채팅하는 경우, 제 1 디바이스(100)는 “카카오톡”어플리케이션을 실행하여 “Alice”와 “Linda Kim” 간의 메시지를 디스플레이할 수 있다. 또한, 제 2 디바이스(200)는 “라인” 어플리케이션을 사용하여 “Alice”와 “Linda Kim” 간의 메시지를 디스플레이할 수 있다.
이 경우, 제 1 디바이스(100)는 송수신된 메시시지를 나타내는 페이지(7210)를 디스플레이하고, 제 2 사용자의 식별 정보인 “Linda Kim”(7230)을 제 1 사용자와 대화하는 상대방의 식별 정보로써 디스플레이할 수 있다. 또한, 제 2 디바이스(200)는 송수신된 메시시지를 나타내는 페이지(7220)를 디스플레이하고, 제 1 사용자의 식별 정보인 “Alice”(7240)를 제 2 사용자와 대화하는 상대방의 식별 정보로써 디스플레이할 수 있다.
도 73은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 메신져 기능을 수행하는 경우, 중계 서버(1000)가 제공하는 메신져 기능을 사용하는 사용자와 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계하는 중계 서버(1000)를 나타내는 도면이다.
도 73을 참조하면, 중계 서버(1000)와 제 2 메신져 서버(3000)는 서로 다른 서비스 프로바이더에 의해 운영되는 메신져 서버일 수 있다.
중계 서버(1000)는 도 66에서 설명된 제 1 메신져 서버(2000)의 기능을 수행할 수 있다.
또한, 중계 서버(1000)는 중계 서버(1000)가 제공하는 메신져 기능을 사용하는 사용자와 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계할 수 있다.
예를 들어, 중계 서버(1000)는 제 2 디바이스(200)로부터 제 2 메신져 서버(3000)에 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한 정보를 수신할 수 있다. 중계 서버(1000)는 제 2 디바이스(200)로부터 수신된 권한 정보에 기초하여, 중계 서버(1000)를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있다.
중계 서버(1000)는 제 2 사용자의 제 2 메신져 친구로써 제 2 메신져 서버(3000)로부터 제 2 사용자의 메시지를 수신할 수 있다. 중계 서버(1000)는 제 2 메신져 서버(3000)로부터 수신된 제 2 사용자의 메시지를 제 1 디바이스(100)에게 전송할 수 있다.
또한, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 사용자의 메시지를 수신할 수 있다. 중계 서버(1000)는 제 1 디바이스(100)로부터 수신된 제 1 사용자의 메시지를 제 2 사용자에게 전달해 줄 것을 제 2 사용자의 제 2 메신져 친구로써, 제 2 메신져 서버(3000)에게 요청할 수 있다.
이에 따라, 중계 서버(1000)는 중계 서버(1000)가 제공하는 메신져 기능을 사용하는 사용자와 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계할 수 있다.
도 74은 본 발명의 일 실시예에 따른, 제 1 디바이스(100) 및 제 2 디바이스(200)가 중계 서버(1000)에 계정을 등록하는 방법 및 제 2 디바이스(200)가 제 2 메신져 서버(3000)에 계정을 등록하는 방법을 나타내는 흐름도이다.
단계 S7410에서, 중계 서버(1000)는 제 2 메신져 서버(3000)에게 중계 서버(1000)를 등록할 것을 요청할 수 있다.
중계 서버(1000)로부터 등록 요청을 수신함에 따라, 제 2 메신져 서버(3000)는 중계 서버(1000)의 제 2 메신져 계정을 생성하고, 생성한 계정에 관한 정보를 저장할 수 있다. 이 경우, 중계 서버(1000)의 제 2 메신져 계정은 제 2 메신져 서버(3000)의 사용자로써의 계정인 아닌, 써드 파티로써의 계정일 수 있다.
단계 S7420에서, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자에 대한 등록 요청을 송신할 수 있다.
예를 들어, 중계 서버(1000)의 서비스 프로바이더가 배포한 어플리케이션을 설치하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자에 대한 등록을 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 중계 서버(1000)에 등록할 제 1 사용자의 중계 서버 계정 정보 및 제 1 디바이스(100)의 주소 정보를 중계 서버(1000)에게 송신할 수 있다. 디바이스의 주소 정보는 디바이스의 IP 주소 또는 푸쉬 서버에 등록된 디바이스의 식별 정보를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 계정 정보는 ID 및 비밀번호 중 적어도 하나를 포함할 수 있다.
또한, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자의 고유 정보를 전송할 수 있다. 제 1 사용자의 고유 정보는, 제 1 사용자의 연락처, 주민 번호 등을 포함할 수 있으나, 이에 제한되지 않는다. 제 1 사용자의 연락처는 제 1 사용자의 전화번호, 이메일 주소 등을 포함할 수 있으나, 이에 제한되지 않는다.
중계 서버(1000)는 제 1 디바이스(100)로부터 수신된 제 1 사용자의 중계 서버(1000) 계정 정보에 대응하여 제 1 디바이스(100)의 주소 정보 및 제 1 사용자의 고유 정보를 저장할 수 있다.
단계 S7430에서, 제 2 디바이스(200)는 제 2 메신져 서버(3000)에게 제 2 사용자에 대한 등록 요청을 송신할 수 있다.
이 경우, 제 2 디바이스(200)는 제 2 메신져 서버(3000)에 등록할 제 2 사용자의 제 2 메신져 계정 정보 및 제 2 디바이스(200)의 주소 정보를 제 2 메신져 서버(3000)에게 송신할 수 있다.
제 2 메신져 서버(3000)는 제 2 디바이스(200)로부터 수신된 제 2 사용자의 제 2 메신져 계정 정보에 대응하여 제 2 디바이스(200)의 주소 정보를 저장할 수 있다.
단계 S7440에서, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 사용자에 대한 등록 요청을 송신할 수 있다.
예를 들어, 중계 서버(1000)의 서버스 프로바이더가 배포한 어플리케이션을 설치하는 제 2 사용자의 입력을 수신함에 따라, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 사용자에 대한 등록을 요청할 수 있다.
이 경우, 제 2 디바이스(200)는 중계 서버(1000)에 등록할 제 2 사용자의 중계 서버(1000) 계정 정보를 중계 서버(1000)에게 전송할 수 있다.
또한, 제 2 디바이스(200)는 제 2 사용자가 가입한 제 2 메신져 서비스에 관한 정보를 중계 서버(1000)에게 전송할 수 있다. 제 2 메신져 서비스에 관한 정보는 제 2 메신져 서비스의 식별 정보 또는 제 2 메신져 서버(3000)의 주소 정보를 포함할 수 있다.
또한, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 사용자의 고유 정보를 전송할 수 있다. 제 2 사용자의 고유 정보는, 제 2 사용자의 연락처, 주민 번호 등을 포함할 수 있으나, 이에 제한되지 않는다. 제 2 사용자의 연락처는 제 2 사용자의 전화번호, 이메일 주소 등을 포함할 수 있으나, 이에 제한되지 않는다.
제 2 디바이스(200)로부터 제 2 사용자의 중계 서버(1000) 계정 정보, 제 2 메신져 서비스에 관한 정보 및 제 2 사용자의 고유 정보를 수신함에 따라, 중계 서버(1000)는 제 2 사용자의 중계 서버 ID에 대응하여 제 2 메신져 서비스에 관한 정보 및 제 2 사용자의 고유 정보를 저장할 수 있다.
도 75는 본 발명의 일 실시예에 따른, 중계 서버(1000)가, 제 2 메신져 서버(3000)에 대한 제 2 사용자의 권한을 획득하는 방법을 나타내는 흐름도이다.
단계 S7510에서, 제 2 디바이스(200)는 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
이 경우, 제 2 디바이스(200)는 제 2 사용자의 제 2 메신져 계정 정보 및 중계 서버(1000)의 제 2 메신져 식별 정보를 제 2 메신져 서버(3000)로 전송할 수 있다.
단계 S7520에서, 제 2 메신져 서버(3000)는 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 중계 서버(1000)에게 부여할 수 있다.
제 2 메신져 서버(3000)는 수신된 제 2 사용자의 계정 정보에 기초하여, 제 2 사용자를 인증할 수 있다. 제 2 사용자가 인증됨에 따라, 제 2 메신져 서버(3000)는 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 생성할 수 있다. 제 2 메신져 서버(3000)는 생성한 권한 정보를 제 2 사용자의 제 2 메신져 ID 및 중계 서버(1000)의 제 2 메신져 식별 정보에 대응하여 저장할 수 있다.
단계 S7530에서, 제 2 메신져 서버(3000)는 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 제 2 디바이스(200)로 전송할 수 있다.
단계 S7540에서, 제 2 디바이스(200)는 중계 서버(1000)에게 제 2 메신져 서버(3000)로부터 수신된 권한 정보를 전송할 수 있다.
이 경우, 제 2 디바이스(200)는 권한 정보와 함께 제 2 사용자의 중계 서버 ID를 중계 서버(1000)에게 전송할 수 있다.
이에 따라, 중계 서버(1000)는 다른 사용자를 제 2 메신져 서버(3000)에 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 획득할 수 있다.
도 76a는 본 발명의 일 실시예에 따른, 제 1 디바이스(100)가 제 2 사용자를 중계 서버(1000)를 통해 대화할 제 1 메신져 친구로써 설정하는 제 1 사용자 입력을 수신하는 방법을 나타내는 도면이다.
도 76a를 참조하면, 제 1 디바이스(100)는 중계 서버(1000)로부터 중계 서버(1000)에 가입된 사용자들의 목록을 수신하고, 수신된 사용자들의 목록 중에서 선택된 사용자를 제 1 메신져 친구로써 선택하는 사용자 인터페이스를 제공할 수 있다.
예를 들어, 중계 서버(1000)가 배포한 메신져 어플리케이션을 실행하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)로부터 중계 서버(1000)에 가입된 사용자들 중 제 1 사용자와 제 1 메신져 친구로써 설정되지 않은 사용자들의 목록을 수신할 수 있다. 이 경우, 중계 서버(1000)는 제 1 사용자와 제 1 메신져 친구로 설정되지 않은 사용자들 중 제 1 사용자와 관계된 사용자들의 목록을 제 1 디바이스(100)로 전송할 수 있다.
제 1 사용자와 관계된 사용자들은 예를 들어, 제 1 사용자의 연락처를 디바이스에 저장한 사용자 또는 제 1 사용자가 제 1 디바이스(100)에 연락처를 저장한 사용자일 수 있으나, 이에 제한되지 않는다. 이를 위해, 중계 서버(1000)는 제 1 디바이스(100)로부터 제 1 디바이스(100)에 저장된 연락처를 수신하고, 제 2 디바이스(200)로부터 제 2 디바이스(200)에 저장된 연락처를 수신하여 저장할 수 있다.
제 1 사용자와 제 1 메신져 친구로써 설정되지 않은 사용자들의 목록 중 하나를 선택하는 제 1 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 2 사용자를 제 1 사용자의 제 1 메신져 친구로써 설정할 것을 요청할 수 있다.
중계 서버(1000)로부터 제 1 사용자와 제 1 메신져 친구로 설정되지 않은 사용자들 중 제 1 사용자와 관계된 사용자들의 목록을 수신함에 따라, 제 1 디바이스(100)는 수신된 사용자들을 나타내는 페이지(7620)을 디스플레이할 수 있다.
디스플레이된 사용자들 중 제 2 사용자를 선택하는 사용자 입력을 수신함에 따라, 제 1 디바이스(100)는 중계 서버(1000)에게 제 1 사용자와 제 2 사용자간에 제 1 메신져 친구 관계를 설정할 것을 요청할 수 있다.
제 1 디바이스(100)로부터 제 1 메신져 친구 설정 요청을 수신함에 따라, 중계 서버(1000)는 제 2 디바이스(200)에게 제 1 사용자로부터 제 1 사용자와 제 2 사용자간에 제 1 메신져 친구 설정 요청이 수신되었음을 알릴 수 있다.
도 69c에 도시된 바와 같이, 제 2 디바이스(200)는 제 1 사용자와 제 2 사용자간에 제 1 메신져 친구 설정 요청이 수신되었음을 알리는 알림창을 디스플레이하고, 제 2 사용자의 선택에 기초하여, 중계 서버(1000)에게 제 1 사용자와 제 2 사용자간에 제 1 메신져 친구를 설정할 것을 요청할 수 있다.
도 76b는 본 발명의 일 실시예에 따른, 중계 서버(1000)에 저장된 데이터베이스를 나타내는 도면이다.
도 76b를 참조하면, 중계 서버(1000)는 사용자에 관한 정보를 저장할 수 있다.
중계 서버(1000)는 사용자의 중계 서버 ID에 대응(7610)하여 사용자가 가입한 메신져 서비스의 식별 정보(7620), 사용자의 메신져 서버 ID(7630) 및 사용자의 고유 정보(7640)를 저장할 수 있다.
또한, 중계 서버(1000)는 사용자의 중계 서버 ID(7610)에 대응하여 다른 사용자를 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보(7650)를 저장할 수 있다.
예를 들어, 중계 서버(1000)는 제 2 사용자 중계 서버 ID에 대응하여, 제 2 메신져 서버(3000)에 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 저장할 수 있다.
또한, 중계 서버(1000)는 사용자의 중계 서버 ID(7610)에 대응하여 제 1 메신져 친구로써 설정된 사용자의 중계 서버 ID(7660)를 저장할 수 있다. 예를 들어, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여, 제 2 사용자를 제 1 메신져 친구로써 설정할 수 있다. 사용자들간의 제 1 메신져 친구 설정은 도 69a 내지 69c를 참조하여 설명될 수 있다.
도 77a는 본 발명의 일 실시예예 따른, 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 중계 서버(1000)에 등록됨에 따라, 중계 서버(1000)가 제 1 디바이스(100)에게 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 등록되었음을 알리는 방법을 나타내는 흐름도이다.
단계 S7710에서, 중계 서버(1000)는 제 2 사용자와 제 1 사용자간에 제 1 메신져 친구를 설정할 수 있다.
제 1 디바이스(100) 및 제 2 디바이스(200)로부터 제 1 사용자와 제 2 사용자간의 제 1 메신져 친구 설정 요청을 수신함에 따라, 중계 서버(1000)는 제 2 사용자와 제 1 사용자간에 제 1 메신져 친구를 설정할 수 있다.
단계 S7720에서, 중계 서버(1000)는 제 1 디바이스(100)에게 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 알릴 수 있다.
이 경우, 중계 서버(1000)는 제 2 사용자의 중계 서버 ID 및 제 1 사용자의 중계 서버 ID를 제 1 디바이스(100)에게 송신할 수 있다. 실시예에 따라, 중계 서버(1000)는 제 2 사용자의 고유 정보 또는 이름을 제 1 디바이스(100)에게 송신할 수도 있다.
단계 S7730에서, 제 1 디바이스(100)는 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 디스플레이할 수 있다.
중계 서버(1000)가 배포한 메신져 어플리케이션을 실행하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 2 사용자가 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 디스플레이할 수 있다.
이 경우, 제 1 디바이스(100)는 제 2 사용자의 표시 정보로써 제 2 사용자의 중계 서버 ID, 이름 또는 고유 정보를 디스플레이할 수 있다. 또한 제 1 디바이스(100)는 도 71c에 도시된 바와 같이, 제 1 디바이스(100)에 저장된 연락처 목록 내의 제 2 사용자의 식별 정보를 제 2 사용자의 표시 정보로써 디스플레이할 수도 있다.
또한, 도 70b에 도시된 바와 같이, 중계 서버(1000)가 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 생성하고, 생성된 제 1 사용자를 위한 제 2 메신져 가상 계정 정보에 기초하여, 제 2 메신져 서버(3000)에 중계 서버(1000)를 제 2 메신져 서비스의 사용자로써 등록하고, 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보에 기초하여, 중계 서버(1000)를 제 2 사용자의 제 2 메신져 친구로써 등록함으로써, 제 2 디바이스(200) 또한, 제 1 사용자를 위한 제 2 메신져 가상 ID 정보를 가진 사용자가, 제 2 사용자의 친구로써 추가되었음을 디스플레이할 수 있다.
도 77b는 본 발명의 일 실시예에 따른, 중계 서버(1000)가 사용자들의 가상 계정 정보를 저장한 데이터베이스(7700)를 나타내는 도면이다.
도 77b을 참조하면, 중계 서버(1000)는 사용자들의 중계 서버 ID(7710)에 대응하여 각각의 메신져 서버에 대한 가상 계정 정보(7720)를 저장할 수 있다.
도 78은 본 발명의 일 실시예에 따른, 중계 서버(1000)가 제 1 디바이스(100)로부터 수신된 제 1 사용자의 메시지를 제 2 사용자에게 전송하는 방법을 나타내는 흐름도이다.
단계 S7810에서, 제 1 디바이스(100)는 제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신할 수 있다.
단계 S7820에서, 제 1 디바이스(100)는 제 2 사용자의 중계 서버 ID에 기초하여, 제 2 사용자에게 메시지를 전송할 것을 중계 서버(1000)에게 요청할 수 있다.
이 경우, 제 1 디바이스(100)는 제 1 사용자의 중계 서버 ID, 제 2 사용자의 중계 서버 ID 및 메시지를 중계 서버(1000)에 송신할 수 있다.
단계 S7830에서, 중계 서버(1000)는 제 2 사용자의 중계 서버 ID에 대응하여 저장된 제 2 사용자에 관한 정보를 획득할 수 있다.
제 2 사용자에 관한 정보는 제 2 사용자가 이용하는 메신져 서버의 식별 정보, 메신져 서버의 주소 정보 및 제 2 사용자의 제 2 메신져 ID를 포함할 수 있다.
단계 S7840에서, 중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 기초하여, 제 1 사용자의 제 2 메신져 가상 ID를 획득할 수 있다.
단계 S7850에서, 중계 서버(1000)는 제 1 사용자의 제 2 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송할 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
이 경우, 중계 서버(1000)는 메시지, 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 제 2 사용자의 제 2 메신져 ID를 수신자의 ID로써 제 2 메신져 서버(3000)에 송신할 수 있다.
단계 S7860에서, 제 2 메신져 서버(3000)는 제 2 디바이스(200)로 메시지를 전송할 수 있다.
제 2 메신져 서버(3000)는 제 2 사용자의 제 2 메신져 ID에 기초하여, 제 2 디바이스(200)의 주소 정소를 획득하고, 획득된 주소 정보에 이용하여, 메시지를 제 2 디바이스(200)로 전송할 수 있다.
이 경우, 제 2 메신져 서버(3000)는 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써 제 2 디바이스(200)로 송신할 수 있다.
단계 S7190에서, 제 2 디바이스(200)는 메시지를 디스플레이할 수 있다.
이 경우, 제 2 디바이스(200)는 제 1 사용자의 제 2 메신져 가상 ID 또는 제 2 디바이스(200)에 저장된 제 1 사용자의 이름을 송신자로써 디스플레이할 수 있다.
도 79는 본 발명의 일 실시예에 따른, 중계 서버(1000)가 제 2 디바이스(200)로부터 수신된 제 2 사용자의 메시지를 제 1 사용자에게 전송하는 방법을 나타내는 흐름도이다.
단계 S7910에서, 제 2 디바이스(200)는 제 1 사용자에게 메시지를 전송하는 제 2 사용자 입력을 수신할 수 있다.
단계 S7920에서, 제 2 디바이스(200)는 제 1 사용자의 제 2 메신져 가상 ID에 기초하여, 제 1 사용자에게 메시지를 전송할 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
이 경우, 제 2 디바이스(200)는 제 2 사용자의 제 2 메신져 ID, 제 1 사용자의 제 2 메신져 가상 ID 및 메시지를 제 2 메신져 서버(3000)에 송신할 수 있다.
단계 S7930에서, 제 2 메신져 서버(3000)는 제 1 사용자의 제 2 메신져 가상 ID에 대응하여 저장된 중계 서버(1000)에 대한 주소 정보 획득할 수 있다.
제 1 디바이스(100)로부터 메시지 전송 요청을 수신함에 따라, 제 1 메신져 서버(2000)는 수신자의 ID인 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 수신자의 디바이스인 중계 서버(1000)의 주소 정보를 획득할 수 있다.
단계 S7940에서, 제 2 메신져 서버(3000)는 중계 서버(1000)에게 메시지를 전송할 수 있다.
제 2 메신져 서버(3000)는 중계 서버(1000)의 주소 정보를 이용하여, 중계 서버(1000)에게 메시지를 전송할 수 있다.
이 경우, 제 2 메신져 서버(3000)는 중계 서버(1000)에게 제 2 사용자의 제 2 메신져 ID를 송신자의 ID로써, 제 1 사용자의 제 2 메신져 가상 ID를 수신자의 ID로써 송신할 수 있다.
단계 S7950에서, 중계 서버(1000)는 제 2 사용자의 제 2 메신져 ID에 기초하여, 제 2 사용자의 중계 서버 ID를 획득할 수 있다.
단계 S7960에서, 중계 서버(1000)는 제 1 사용자의 제 2 메신져 가상 ID에 기초하여, 제 1 사용자의 중계 서버 ID를 획득할 수 있다.
단계 S7970에서 중계 서버(1000)는 제 1 디바이스(100)에게 메시지를 전송할 수 있다.
중계 서버(1000)는 제 1 사용자의 중계 서버 ID에 대응하여 저장된 제 1 디바이스(100)의 주소 정보를 획득할 수 있다. 중계 서버(1000)는 획득한 제 1 디바이스(100)의 주소 정보를 이용하여 제 1 디바이스(100)에게 제 1 메신져 서버(2000)로부터 수신된 메시지를 전송할 수 있다.
단계 S7980에서, 제 1 디바이스(100)는 메시지를 디스플레이할 수 있다.
이 경우, 제 1 디바이스(100)는 제 2 사용자의 중계 서버 ID 또는 제 1 디바이스(100)에 저장된 제 2 사용자의 이름을 송신자의 표시 정보로써 디스플레이할 수 있다.
도 80는 본 발명의 일 실시예에 따른, 중계 서버(1000)가 디바이스(100, 200)의 기능을 수행하는 경우, 중계 서버(1000)가 서로 다른 메신져 서비스를 이용하는 사용자간의 메시지 전송을 중계하는 방법을 나타내는 도면이다.
도 80을 참조하면, 제 1 중계 서버(1000a)는 제 1 사용자의 디바이스일 수 있다. 또한, 제 2 중계 서버(1000b)는 제 2 사용자의 디바이스일 수 있다.
제 1 중계 서버(1000a)에는 제 1 메신져 서비스 프로바이더가 배포한 제 1 메신져 어플리케이션이 설치되어 있을 수 있다. 또한, 제 2 중계 서버(1000b)에는 제 2 메신져 서비스 프로바이더가 배포한 제 2 메신져 어플리케이션이 설치되어 있을 수 있다.
제 1 중계 서버(1000a)와 제 2 중계 서버(1000b)는 서로 다른 메신져 서비스를 이용하는 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계할 수 있다.
예를 들어, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)로부터 제 1 메신져 서버(2000)에 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한 정보를 수신할 수 있다. 또한, 제 1 중계 서버(1000a)는 수신된 권한 정보에 기초하여, 제 1 중계 서버(1000a)를 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버(2000)에 추가할 수 있다.
또한, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)로부터 제 2 메신져 서버(3000)에 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한 정보를 수신할 수 있다. 또한, 제 2 중계 서버(1000b)는 수신된 권한 정보에 기초하여, 제 2 중계 서버(1000b)를 제 2 사용자의 메신져 친구로써 제 2 메신져 서버(3000)에 추가할 수 있다.
제 1 중계 서버(1000a)는 제 1 사용자의 친구로써 제 1 사용자가 제 2 사용자에게 전송한 메시지를 제 1 메신져 서버(2000)로부터 수신할 수 있다. 또한, 제 1 중계 서버(1000a)는 수신된 메시지를 제 2 사용자에게 전송해줄 것을 제 2 메신져 서버(3000)에게 요청할 수 있다. 제 2 메신져 서버(3000)는 제 1 중계 서버(1000a)로부터 메시지 전송 요청을 수신함에 따라, 수신된 메시지를 제 2 중계 서버(1000b)에게 전송할 수 있다.
이에 따라, 제 1 중계 서버(1000a)와 제 2 중계 서버(1000b)는 서로 다른 메신져 서비스를 이용하는 제 1 사용자와 제 2 사용자간의 메시지 송수신을 중계할 수 있다.
도 81은 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 제 1 메신져 서버(2000)에, 제 2 중계 서버(1000b)가 제 2 메신져 서버(3000)에 등록하는 방법을 나타내는 흐름도이다.
단계 S8110에서, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)에게 제 1 사용자를 등록할 것을 요청할 수 있다.
예를 들어, 제 1 메신져 서버(2000)의 서비스 프로바이더가 배포한 어플리케이션을 설치하는 제 1 사용자의 입력을 수신함에 따라, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)에게 제 1 사용자에 대한 등록을 요청할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)에 등록할 제 1 사용자의 계정 정보 및 제 1 중계 서버(1000a)의 주소 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다. 디바이스의 주소 정보는 디바이스의 IP 주소 또는 푸쉬 서버에 등록된 디바이스의 식별 정보를 포함할 수 있으나, 이에 제한되지 않는다. 또한, 계정 정보는 ID 및 비밀번호 중 적어도 하나를 포함할 수 있다.
제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)로부터 수신된 제 1 사용자의 계정 정보에 대응하여 제 1 중계 서버(1000a)의 주소 정보를 저장할 수 있다.
단계 S8120에서, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)에게 제 2 사용자를 등록할 것을 요청할 수 있다.
이 경우, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)에 등록할 제 2 사용자의 계정 정보 및 제 2 디바이스(200)의 주소 정보를 제 2 메신져 서버(3000)에게 송신할 수 있다.
제 2 메신져 서버(3000)는 제 2 중계 서버(1000b)로부터 수신된 제 2 사용자의 계정 정보에 대응하여 제 2 중계 서버(1000b)의 주소 정보를 저장할 수 있다.
단계 S8130에서, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)에게 제 1 중계 서버(1000a)를 등록할 것을 요청할 수 있다.
제 1 중계 서버(1000a)로부터 등록 요청을 수신함에 따라, 제 1 메신져 서버(2000)는 제 1 메신져 서버(2000)에서의 제 1 중계 서버(1000a)의 계정을 생성하고, 생성한 계정에 관한 정보를 저장할 수 있다. 이 경우, 제 1 메신져 서버(2000)에서의 제 1 중계 서버(1000a)의 계정은 제 1 메신져 서버(2000)의 사용자로써의 계정인 아닌, 써드 파티로써의 계정일 수 있다.
또한, 제 1 중계 서버(1000a)는 제 1 중계 서버(1000a)의 주소 정보를 제 1 메신져 서버(2000)에게 전송할 수 있다. 제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)의 계정 정보에에 대응하여 제 1 중계 서버(1000a)의 주소 정보를 저장할 수 있다.
단계 S8140에서, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)에게 제 2 중계 서버(1000b)를 등록할 것을 요청할 수 있다.
제 2 중계 서버(1000b)로부터 등록 요청을 수신함에 따라, 제 2 메신져 서버(3000)는 제 2 메신져 서버(3000)에서의 제 2 중계 서버(1000b)의 계정을 생성하고, 생성한 계정에 관한 정보를 저장할 수 있다. 이 경우, 제 2 메신져 서버(3000)에서의 제 2 중계 서버(1000b)의 계정은 제 2 메신져 서버(3000)의 사용자로써의 계정인 아닌, 써드 파티로써의 계정일 수 있다.
또한, 제 2 중계 서버(1000b)는 제 2 중계 서버(1000b)의 주소 정보를 제 2 메신져 서버(3000)에게 전송할 수 있다. 제 2 메신져 서버(3000)는 제 2 중계 서버(1000b)의 계정 정보에 대응하여 제 2 중계 서버(1000b)의 주소 정보를 저장할 수 있다.
도 82a는 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 메신져 서버(2000)로부터 획득하는 방법을 나타내는 흐름도이다.
단계 S8210에서, 제 1 중계 서버(1000a)는 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 제 1 중계 서버(1000a)에게 부여할 것을 요청할 수 있다.
예를 들어, 제 1 중계 서버(1000a)는, 도 69b에 도시된 바와 같이, 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 중계 서버(1000a)에게 부여할지 여부를 선택하기 위한 사용자 인터페이스를 제공할 수 있다.
다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 중계 서버(1000a)에게 부여할 것을 선택하는 제 1 사용자 입력을 수신함에 따라, 제 1 중계 서버(1000a)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 중계 서버(1000a)에게 부여할 것을 제 1 메신져 서버(2000)에게 요청할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 제 1 사용자의 제 1 메신져 계정 정보 및 제 1 중계 서버(1000a)의 제 1 메신져 계정 정보를 제 1 메신져 서버(2000)에게 전송할 수 있다.
단계 S8220에서, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 제 1 중계 서버(1000a)에게 부여할 수 있다.
제 1 메신져 서버(2000)는 수신된 제 1 사용자의 제 1 메신져 계정 정보에 기초하여, 제 1 사용자를 인증할 수 있다. 제 1 사용자가 인증됨에 따라, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 생성할 수 있다. 제 1 메신져 서버(2000)는 생성한 권한 정보를 제 1 사용자의 제 1 메신져 ID 및 제 1 중계 서버(1000a)의 제 1 메신져 ID에 대응하여 저장할 수 있다.
단계 S8230에서, 제 1 메신져 서버(2000)는 다른 사용자를 제 1 사용자의 제 1 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 제 1 중계 서버(1000a)로 전송할 수 있다.
단계 S8240에서, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)로부터 수신된 권한 정보를 저장할 수 있다. .
도 82b는 본 발명의 일 실시예에 따른, 제 2 중계 서버(1000b)가 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 제 2 메신져 서버(3000)로부터 획득하는 방법을 나타내는 흐름도이다.
단계 S8250에서, 제 2 중계 서버(1000b)는 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 제 2 중계 서버(1000b)에게 부여할 것을 요청할 수 있다. 단계 S8260에서, 제 2 메신져 서버(3000)는 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 제 2 중계 서버(1000b)에게 부여할 수 있다. 단계 S8270에서, 제 2 메신져 서버(3000)는 다른 사용자를 제 2 사용자의 제 2 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보를 제 2 중계 서버(1000b)로 전송할 수 있다. 단계 S8280에서, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)로부터 수신된 권한 정보를 저장할 수 있다.
단계 S8250 내지 S8280은 도 82a의 단계 S8210 내지 단계 S8240을 참조하여 설명될 수 있다.
도 83a는 본 발명의 일 실시예예 따른, 제 1 중계 서버(1000a)가 제 1 메신져 서버(2000)에 제 1 중계 서버(1000a)를 등록하고, 제 1 사용자의 권한 정보에 기초하여, 제 1 중계 서버(1000a)를 제 1 사용자의 제 1 메신져 친구로써 제 1 메신져 서버(2000)에 등록하는 방법을 나타내는 흐름도이다.
단계 S8305에서, 제 1 중계 서버(1000a)는 제 2 사용자를 중계 서버 친구로써 설정하는 제 1 사용자 입력을 수신할 수 있다.
예를 들어, 도 84a에 도시된 바와 같이, 제 1 중계 서버(1000a)는 연락처 목록 중 사용자를 선택하고, 선택된 사용자를 제 1 사용자의 제 1 중계 서버 친구로써 설정하기 위한 사용자 인터페이스를 제공할 할 수 있다. 제 1 사용자의 제 1 중계 서버 친구는 제 1 메신져를 사용하지 않지만, 제 1 사용자가 제 1 중계 서버(1000a)를 이용하여 메시지를 주고 받을 수 있는 사용자를 의미할 수 있다.
단계 S8310에서, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 생성할 수 있다.
제 2 사용자를 제 1 중계 서버 친구로써 선택함에 따라, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 생성할 수 있다.
제 2 사용자를 위한 제 1 메신져 가상 계정 정보는 제 2 사용자를 위한 제 1 메신져 가상 ID 및 제 2 사용자를 위한 제 1 메신져 가상 비밀번호를 포함할 수 있다.
예를 들어, 제 1 중계 서버(1000a)는 조어를 생성하고, 생성한 조어를 제 2 사용자를 위한 제 1 메신져 가상 ID로써 결정할 수 있다. 또한, 제 1 중계 서버(1000a)는 제 2 사용자의 제 1 중계 서버(1000a) ID, 제 2 사용자의 이름 또는 고유 정보를 제 2 사용자를 위한 제 1 메신져 가상 ID로써 결정할 수도 있다.
또한, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 비밀 번호를 생성할 수 있다.
단계 S8315에서, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)에게 제 2 사용자를 위한 제 1 메신져 가상 계정 정보에 기초하여, 제 1 중계 서버(1000a)를 사용자로써 등록할 것을 요청할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보 및 제 1 중계 서버(1000a)의 주소 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다. 제 1 중계 서버(1000a)의 주소 정보는 제 1 중계 서버(1000a)의 IP 주소 정보 또는 푸쉬 서버에 등록된 제 1 중계 서버(1000a)의 식별 정보를 포함할 수 있다.
단계 S8320에서, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 등록함으로써 제 1 중계 서버(1000a)를 제 1 메신져 서비스의 사용자로써 등록할 수 있다.
제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)로부터 수신된 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 등록함으로써, 제 1 중계 서버(1000a)를 제 1 메신져 서비스의 사용자로써 등록할 수 있다. 또한, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 계정 정보에 대응하여 제 1 중계 서버(1000a)의 주소 정보를 저장할 수 있다.
단계 S8325에서, 제 1 중계 서버(1000a)는 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보에 기초하여, 제 1 중계 서버(1000a)를 제 1 사용자의 제 1 메신져 친구로써 등록할 것을 요청할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 제 1 사용자의 제 1 메신져 ID, 권한 정보 및 제 2 사용자를 위한 제 1 메신져 가상 계정 정보를 제 1 메신져 서버(2000)에게 송신할 수 있다.
단계 S8330에서, 제 1 메신져 서버(2000)는 수신된 권한 정보에 기초하여, 제 1 중계 서버(1000a)가 제 1 중계 서버(1000a)를 제 1 사용자의 제 1 메신져 친구로써 등록할 권한이 있는지 여부를 판단할 수 있다.
예를 들어, 수신된 권한 정보가 제 1 사용자의 제 1 메신져 ID 및 비밀 번호인 경우, 제 1 메신져 서버(2000)는 수신된 제 1 사용자의 제 1 메신져 ID 및 비밀 번호에 기초하여, 제 1 중계 서버(1000a)가 제 1 사용자임을 인증할 수 있다.
또한, 실시예에 따라, 수신된 권한 정보가 제 1 사용자의 입력에 기초하여 제 1 메신져 서버(2000)가 제 1 중계 서버(1000a)에게 배포한 권한 정보인 경우, 제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)에게 배포된 권한 정보를 제 1 메신져 서버(2000)에 저장된 권한 정보와 비교하여, 제 1 중계 서버(1000a)가 제 1 사용자의 메신져 친구를 등록할 권한이 있음을 판단할 수 있다.
단계 S8335에서, 제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)가 제 1 중계 서버(1000a)를 제 1 사용자의 친구로써 등록할 권한이 있는 경우, 제 1 중계 서버(1000a)를 제 1 사용자의 제 1 메신져 친구로써 등록할 수 있다.
제 1 메신져 서버(2000)는 제 1 사용자의 ID에 대응하여 제 2 사용자를 위한 제 1 메신져 가상 ID 정보를 제 1 사용자의 메신져 친구로써 저장할 수 있다.
단계 S8340에서, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 ID 정보를 가진 사용자가, 제 1 사용자의 제 1 메신져 친구로써 추가되었음을 제 1 중계 서버(1000a)에게 알릴 수 있다.
이 경우, 제 1 메신져 서버(2000)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 1 중계 서버(1000a)로 송신할 수 있다.
단계 S8345에서, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 ID를 제 2 중계 서버(1000b)에게 전송할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 제 2 사용자를 위한 제 1 메신져 가상 ID와 함께 제 1 사용자의 제 1 메신져 ID를 제 2 중계 서버(1000b)에게 전송할 수 있다.
예를 들어, 도 84b에 도시된 바와 같이, 제 1 메신져 서버(2000)로부터 2 사용자를 위한 제 1 메신져 가상 ID를 수신함에 따라, 제 1 중계 서버(1000a)는 제 2 사용자에게 제 2 사용자의 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 문자 메시지를 이용하여 송신하기 위한 사용자 인터페이스를 제공할 수 있다.
도 84c에 도시된 바와 같이, 제 1 중계 서버(1000a)로부터 문자 메시지를 수신함에 따라, 제 2 중계 서버(1000b)는 문자 메시지에 포함된 제 2 사용자의 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 제 2 중계 서버(1000b)에 설정하는 제 2 사용자 입력을 수신할 수 있다.
또한, 실시예예 따라, 제 1 중계 서버(1000a)는 제 1 사용자와 제 2 사용자가 가입된 별도의 서버에게 제 2 사용자의 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 제 2 사용자에게 전송해줄 것을 요청할 수 있다. 서버로부터 제 2 사용자의 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 수신함에 따라, 제 2 중계 서버(1000b)는 수신된 제 2 사용자의 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 저장할 수 있다.
도 83b는 본 발명의 일 실시예예 따른, 제 2 중계 서버(1000b)가 제 2 메신져 서버(3000)에 제 2 중계 서버(1000b)를 등록하고, 제 2 사용자의 권한 정보에 기초하여, 제 2 중계 서버(1000b)를 제 2 사용자의 메신져 친구로써 제 2 메신져 서버(3000)에 등록하는 방법을 나타내는 흐름도이다.
단계 S8350에서, 제 2 중계 서버(1000b)는 제 1 사용자를 중계 서버 친구로써 설정하는 제 2 사용자 입력을 수신할 수 있다. 단계 S8355에서, 제 2 중계 서버(1000b)는 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 생성할 수 있다. 단계 S8360에서, 제 2 중계 서버(1000b)는 제 2 메신져 서버(3000)에게 제 1 사용자를 위한 제 2 메신져 가상 계정 정보에 기초하여, 제 2 중계 서버(1000b)를 사용자로써 등록할 것을 요청할 수 있다. 단계 S8365에서, 제 2 메신져 서버(3000)는 제 1 사용자를 위한 제 2 메신져 가상 계정 정보를 등록함으로써 제 2 중계 서버(1000b)를 제 2 메신져 서비스의 사용자로써 등록할 수 있다. 단계 S8370에서, 제 2 중계 서버(1000b)는 다른 사용자를 제 2 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보에 기초하여, 제 2 중계 서버(1000b)를 제 2 사용자의 메신져 친구로써 등록할 것을 요청할 수 있다. 단계 S8375에서, 제 2 메신져 서버(3000)는 수신된 권한 정보에 기초하여, 제 2 중계 서버(1000b)가 제 2 중계 서버(1000b)를 제 2 사용자의 메신져 친구로써 등록할 권한이 있는지 여부를 판단할 수 있다. 단계 S8380에서, 제 2 메신져 서버(3000)는 제 2 중계 서버(1000b)가 제 2 중계 서버(1000b)를 제 2 사용자의 친구로써 등록할 권한이 있는 경우, 제 2 중계 서버(1000b)를 제 2 사용자의 친구로써 등록할 수 있다. 단계 S8385에서, 제 2 메신져 서버(3000)는 제 1 사용자를 위한 제 2 메신져 가상 ID 정보를 가진 사용자가, 제 2 사용자의 메신져 친구로써 추가되었음을 제 2 중계 서버(1000b)에게 알릴 수 있다. 단계 S8390에서, 제 2 중계 서버(1000b)는 제 1 사용자를 위한 제 2 메신져 가상 ID를 제 1 중계 서버(1000a)에게 전송할 수 있다.
단계 S8350 내지 단계 S8390은 도 83a의 단계 S8305 내지 S8345를 참조하여 설명될 수 있다.
도 84a 내지 도 84c는 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 제 2 중계 서버(1000b)에게 제 2 사용자의 제 1 메신져 가상 ID를 송신하는 방법을 나타내는 도면이다.
도 84a를 참조하면, 제 1 중계 서버(1000a)는 제 2 중계 서버(1000b)에게 제 2 사용자를 위한 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 송신할 수 있다.
예를 들어, 제 1 디바이스(100)에 저장된 제 2 사용자의 연락처를 선택하는 제 1 사용자의 입력을 수신함에 따라, 제 1 디바이스(100)는 제 2 사용자의 제 1 메신져 가상 ID를 생성하기 위한 사용자 인터페이스를 제공할 수 있다.
예를 들어, 제 1 중계 서버(1000a)인 “Alice”의 디바이스(1000a)에 저장된 “Linda Kim”의 연락처를 선택하는 “Alice”의 입력을 수신함에 따라, “Alice”의 디바이스(1000a)는 “Linda Kim”의 식별 정보(8420) 및 “Alice”가 가입된 메신져 서비스인 “카카오톡”에 대한 “Linda Kim”의 가상 ID를 생성하기 위한 버튼(8430)을 디스플레이할 수 있다.
버튼(8430)을 선택하는 “Alice”의 입력을 수신함에 따라, “Alice”의 디바이스(1000a)는 “Linda Kim”의 가상 계정을 생성하고, “카카오톡” 서버(2000)에게 생성한 가상 계정을 등록할 것을 요청할 수 있다. 또한, “Alice”의 디바이스(1000a)는 생성한 계정 정보를 “Linda Kim”의 가상 계정으로써 저장할 수 있다.
도 84b를 참조하면, 제 1 중계 서버(1000a)는 제 2 중계 서버(1000b)에게 제 2 사용자를 위한 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 송신할 수 있다.
예를 들어, “카카오톡” 서버로부터 가상 계정을 수신함에 따라, “Alice”의 디바이스(1000a)는 “Linda Kim”의 카카오톡 가상 ID를 “Linda Kim”에게 전송하기 위한 팝업 창(8440)을 디스플레이할 수 있다.
팝업 창(8440)은 “Linda Kim”에게 “Linda Kim”의 카카오톡 가상 ID를 문자 메시지 형태로 송신하기 위한 창일 수 있으며, “Alice” 및 “Linda Kim”이 가입된 별도의 서버에게 “Linda Kim”의 카카오톡 가상 ID를 “Linda Kim”에게 전송해줄 것을 요청하기 위한 창일 수도 있다.
메시지 창 내의 확인 버튼을 선택하는 “Alice”의 입력을 수신함에 따라, “Alice”의 디바이스(1000a)는 “Linda Kim”의 카카오톡 가상 ID를 문자 형태로써 또는 별도의 서버에게 전송할 수 있다. 이 경우, “Alice”의 디바이스(1000a)는 “Alice”의 카카오톡 ID를 함께 전송할 수 있다.
도 84c를 참조하면, 제 2 중계 서버(1000b)는 제 2 사용자를 위한 제 1 메신져 가상 ID 및 제 1 사용자의 제 1 메신져 ID를 제 1 중계 서버(1000a)로부터 수신할 수 있다.
제 2 중계 서버(1000b)인 “Linda Kim”의 디바이스(1000b)는 “Linda Kim”의 카카오톡 가상 ID 및 “Alice”의 카카오톡 ID를 문자 메시지 형태 또는 별도의 서버로부터 수신할 수 있다.
문자 메시지 형태로 수신하는 경우, “Linda Kim”의 디바이스(1000b)는 “Linda Kim”의 카카오톡 가상 ID 및 “Alice”의 카카오톡 ID를 입력하는 “Linda Kim”의 입력을 수신하고, 수신된 정보를 “Alice”의 식별 정보에 대응하여 저장할 수 있다. 또한, 별도의 서버로부터 수신하는 경우, “Linda Kim”의 디바이스(1000b)는 “Linda Kim”의 카카오톡 가상 ID 및 “Alice”의 카카오톡 ID를 “Alice”의 식별 정보에 대응하여 저장할 수 있다.
이에 따라, “Alice”의 연락처를 선택하는 “Linda Kim”의 입력을 수신함에 따라, “Linda Kim”의 디바이스(1000b)는 “Alice”의 식별 정보(8460)에 대응하여 저장된 “Linda Kim”의 카카오톡 가상 ID(8480) 및 “Alice”의 카카오톡 ID(8470)를 디스플레이할 수 있다.
또한, “Linda Kim”의 디바이스(1000b)는 “Linda Kim”이 가입된 메신져 서비스인 “라인”에 대한 “Alice”의 가상 ID를 생성하기 위한 버튼(8490)을 디스플레이할 수 있다.
도 85a는 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a)가 저장하는 데이터베이스를 도시하는 도면이다.
도 85a를 참조하면, 제 1 중계 서버(1000a)는 제 1 사용자의 정보(8510) 및 제 2 사용자의 정보(8520)를 저장할 수 있다.
예를 들어, 제 1 중계 서버(1000a)는 제 1 사용자로부터 또는 제 1 메신져 서버(2000)로부터 수신한 제 1 사용자의 제 1 메신져 계정 정보(8514)를 메신져 식별 정보(8512)에 대응하여 저장할 수 있다. 또한, 제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)로부터 수신한 다른 사용자를 제 1 사용자의 메신져 친구로써 추가할 수 있는 권한을 나타내는 권한 정보(8516)를 메신져 식별 정보(8512)에 대응하여 저장할 수 있다.
또한, 제 1 중계 서버(1000a)는 제 1 중계 서버 친구로써 저장된 사용자들에 관한 정보(8520)를 저장할 수 있다. 예를 들어, 제 1 중계 서버(1000a)는 제 2 사용자의 식별 정보(8521)에 대응하여 제 2 사용자의 제 1 메신져 가상 계정 정보(8522 8523), 제 2 사용자의 메신져 식별 정보(8524), 제 2 사용자의 제 2 메신져 ID(8525) 및 제 2 사용자의 연락처(8526)를 저장할 수 있다.
도 85b는 본 발명의 일 실시예에 따른, 제 2 중계 서버(1000b)가 저장하는 데이터베이스를 도시하는 도면이다.
도 85b를 참조하면, 제 2 중계 서버(1000b)는 제 2 사용자의 정보(8530) 및 제 1 사용자의 정보(8540)를 저장할 수 있다.
제 2 중계 서버(1000b)가 저장하는 제 2 사용자의 정보(8530) 및 제 1 사용자의 정보(8540)는 도 85b를 참조하여 설명될 수 있다.
도 86는 본 발명의 일 실시예에 따른, 제 1 중계 서버(1000a) 및 제 2 중계 서버(1000b)가 제 1 사용자가 제 2 사용자에게 송신하는 메시지를 중계하는 방법을 나타내는 흐름도이다.
단계 S8610에서, 제 1 중계 서버(1000a)는 제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신할 수 있다.
예를 들어, 제 1 메신져 서비스 프로바이더가 배포한 어플리케이션을 실행하고, 실행된 어플리케이션을 이용하여 제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신할 수 있다.
단계 S8620에서, 제 1 중계 서버(1000a)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송해 줄 것을 요청할 수 있다.
제 2 사용자에게 메시지를 전송하는 제 1 사용자 입력을 수신함에 따라, 제 1 중계 서버(1000a)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송해 줄 것을 제 1 메신져 서버(2000)에게 요청할 수 있다.
이 경우, 제 1 중계 서버(1000a)는 메시지, 제 1 사용자의 제 1 메신져 ID를 송신자의 ID로써, 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 제 1 메신져 서버(2000)에게 전송할 수 있다.
단계 S8630에서 제 1 메신져 서버(2000)는 제 2 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 중계 서버(1000)의 주소 정보를 획득할 수 있다.
제 1 메신져 서버(2000)는 수신자의 ID인 제 2 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 중계 서버(1000)의 주소 정보를 획득할 수 있다.
단계 S8640에서, 제 1 메신져 서버(2000)는 제 1 중계 서버(1000a)에게 메시지를 전송할 수 있다.
제 1 메신져 서버(2000)는 수신자의 디바이스인 중계 서버(1000)에게 제 1 중계서버로부터 수신한 메시지를 전송할 수 있다.
제 1 중계 서버(1000a)는 메시지, 제 1 사용자의 제 1 메신져 ID를 송신자의 ID로써, 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 제 1 메신져 서버(2000)에게 전송할 수 있다.
단계 S8650에서, 제 1 중계 서버(1000a)는 제 2 사용자의 제 1 메신져 가상 ID에 기초하여, 제 2 사용자의 제 2 메신져 ID를 획득할 수 있다.
제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)로부터 수신한 제 2 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 제 2 사용자의 제 2 메신져 ID를 획득할 수 있다.
또한, 제 1 중계 서버(1000a)는 제 2 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 제 2 메신져 서비스의 식별 정보 및 제 2 메신져 서버(3000)의 주소 정보를 획득할 수 있다.
단계 S8660에서, 제 1 중계 서버(1000a)는 제 1 사용자의 제 1 메신져 ID에 기초하여, 제 1 사용자의 제 2 메신져 가상 ID를 획득할 수 있다.
제 1 중계 서버(1000a)는 제 1 메신져 서버(2000)로부터 수신한 제 1 사용자의 제 1 메신져 가상 ID에 대응하여 저장된 제 1 사용자의 제 2 메신져 가상 ID를 획득할 수 있다.
단계 S8670에서, 제 1 중계 서버(1000a)는 제 1 사용자의 제 2 메신져 가상 ID에 기초하여, 제 2 사용자에게 메시지를 전송해 줄 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
제 1 중계 서버(1000a)는 제 2 메신져 서버(3000)의 주소 정보를 이용하여, 메시지 및 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 제 2 사용자의 ID를 수신자의 ID로써 제 2 메신져 서버(3000)에게 전송할 수 있다.
단계 S8680에서, 제 2 메신져 서버(3000)는 제 2 중계 서버(1000b)에게 메시지를 전송할 수 있다.
제 2 메신져 서버(3000)는 제 2 사용자의 제 2 메신져 ID에 대응하여 저장된 제 2 중계 서버(1000b)의 주소 정보를 획득할 수 있다. 또한, 제 2 메신져 서버(3000)는 제 2 중계 서버(1000b)의 주소 정보를 이용하여, 제 2 중계 서버(1000b)에게 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 제 2 사용자의 제 2 메신져 ID를 수신자의 ID로써 제 2 중계 서버(1000b)에게 전송할 수 있다.
단계 S8690에서, 제 2 중계 서버(1000b)는 메시지를 디스플레이할 수 있다.
제 2 메신져 서버(3000)로부터 메시지를 수신함에 따라, 제 2 중계 서버(1000b)는 수신된 메시지를 디스플레이할 수 있다.
예를 들어, 제 2 사용자로부터 메시지가 수신되었음을 나타내는 알림창을 디스플레이할 수 있다. 또한, 예를 들어, 제 2 메신져 서비스 프로바이더가 제공하는 어플리케이션을 실행하는 제 2 사용자 입력을 수신함에 따라, 제 2 중계 서버(1000b)는 제 2 사용자로부터 메시지가 수신되었음을 나타내는 이미지를 디스플레이할 수 있다.
도 87은, 본 발명의 일 실시예에 따른, 중계 서버(1000)에 대한 블록도를 도시한다.
도 87에 도시된 바와 같이, 일 실시예에 따른 중계 서버(1000)는, 제어부(1100), 통신부(1200) 및 저장부(1300)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 중계 서버(1000)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 중계 서버(1000)는 구현될 수 있다.
통신부(1200)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 예를 들어, 통신부(1200)는 디바이스(100, 200) 또는 클라우드 서버(2000, 3000)와 데이터를 송수신할 수 있다.
또한, 통신부(1200)는 통신 포트(미도시)를 포함할 수 있다. 통신부(1200)는 통신 포트를 통해 사용자의 입력을 디바이스(100, 200)로부터 수신하고, 파일에 관한 정보 또는 파일을 디바이스(100, 200) 또는 클라우드 서버(2000,3000)와 송수신할 수 있다. 또한, 통신부(1200)는 메시지 및 메시지에 관한 정보를 디바이스(100, 200) 또는 메신져 서버(2000,3000)와 송수신할 수 있다.
통신 포트는 100BASE-TX 포트, 1000BASE-T 포트, 10 GBASE-T 포트, Wi-Fi 안테나, 블루투스 안테나, 셀룰러 안테나 등을 포함할 수 있으나, 이제 제한되지 않는다.
또한, 통신부(1200)는 네트워크 프로세서(미도시)를 포함할 수 있다. 네트워크 프로세서는 통신 포트를 통해 수신된 패킷을 식별하고, 식별된 패킷을 제어부(1100)에게 전송할 수 있다. 또한, 통신부(1200)는 생성한 패킷을 통신 포트를 통해 네트워크로 전송할 수 있다. 또한, 통신부(1200)는 다양한 프로토콜에 따라 데이터를 송수신할 수 있다. 예를 들어, 통신부(1200)는 TCP/IP, UDP, FTP 또는 SMTP 등에 따라 데이터를 송수신할 수 있으나, 이에 제한되지 않는다.
또한, 실시예에 따라, 통신부(1200)는 와이파이 칩, 블루투스 칩 또는 무선 통신 칩을 포함할 수 있다.
저장부(1300)는 데이터 또는 정보를 저장할 수 있다.
또한, 저장부(1300)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다.
내장 메모리는 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 외장 메모리는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
또한, 저장부(1300)는 사용자 데이터 베이스(1310) 및 파일 데이터 베이스(1320)을 포함할 수 있다.
사용자 데이터 베이스(1310)는 컴퓨터가 읽고 쓸수 있는(Computer-readable and writable) 저장 매체일 수 있다. 사용자 데이터 베이스(1310)는 중계 서버(1000)에 등록된 사용자에 관한 정보를 저장할 수 있다. 예를 들어, 사용자 데이터 베이스(1310)는 사용자의 중계 서버 계정 정보, 각각의 사용자의 디바이스 식별 정보, 각각의 사용자의 파일 목록, 각각의 사용자의 클라우드 서버에 관한 정보를 저장할 수 있다.
파일 데이터 베이스(1320)은 또한, 컴퓨터가 읽고 쓸수 있는(Computer-readable and writable) 저장 매체일 수 있다. 파일 데이터 베이스(1320)는 중계할 파일에 관한 정보를 저장할 수 있다. 파일은 텍스트 파일, 이미지 파일, 오디오 파일, 비디오 파일, 스프레드쉬트(Speadsheet), 프리젠데이터 파일, HTML 파일 등을 포함할 수 있으나, 이에 제한되지 않는다.
파일 데이터 베이스(1320)는 또한, 각각의 파일의 속성 정보를 저장할 수 있다. 파일의 속성 정보는 파일 이름, 파일 형식, 파일의 원본이 저장된 위치, 파일의 원본 크기, 파일 전체 크기 중 복사된 데이터의 크기, 파일의 생성 시점, 파일의 수정 시점, 파일에 액세스한 시점, 파일에 대한 접근 권한, 파일에 대한 접근 범위에 관한 정보 및 썸네일 이미지 등을 포함할 수 있으나, 이에 제한되지 않는다.
제어부(1100)은 중계 서버(1000)의 전반적인 동작을 제어할 수 있다.
클라우드 서버가 클라우드 스토리지인 경우, 저장부(1300)에는 제 1 사용자가 가입된 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지(3000)에 대한 접근 권한 정보가 저장되어 있을 수 있다.
통신부(1200)가 저장된 제 1 클라우드 스토리지(2000)에 대한 접근 권한 정보를 이용하여, 제 1 클라우드 스토리지(2000)에게, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 요청하는 경우, 제어부(1100)는 저장된 제 2 클라우드 스토리지(3000)에 대한 접근 권한 정보를 이용하여, 요청에 대응하여 제 1 클라우드 스토리지(2000)로부터 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지(3000)로 전송되도록 통신부를 제어할 수 있다.
또한, 통신부(1200)가, 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신하는 경우, 제어부(1100)는, 동기화 요청을 수신함에 따라, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수 있다.
동기화 요청이 파일 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하는 경우, 제어부(1100)는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본을 변경된 제 1 사용자의 데이터로 업데이트할 수 있다.
통신부(1200)가 제 2 클라우드 스토리지(3000)로부터 제 2 클라우드 스토리지(3000)에 저장된 제 1 사용자의 데이터의 사본이 변경되었음을 나타내는 동기화 요청을 수신하는 경우, 제어부(1100)는, 동기화 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트할 수 있다.
또한, 동기화 요청이 제 1 사용자의 파일의 사본 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하는 경우, 제어부(1100)는, 동기화 요청을 수신함에 따라, 위치 정보에 기초하여, 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터를 변경된 제 1 사용자의 데이터의 사본으로 업데이트할 수 있다.
또한, 통신부(1300)가 제 1 사용자의 제 1 디바이스(100)로부터, 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신하는 경우, 제어부(1100)는, 읽기 금지 요청을 수신함에 따라, 제 1 클라우드 스토리지(2000)로부터, 파일을 획득하고, 수신된 파일 중 읽기 금지 요청된 일부분을 삭제하고, 제 2 클라우드 스토리지(3000)에 일부분이 삭제된 파일을 저장할 수 있다.
또한, 클라우드 서버가 메신져 서버인 경우, 저장부(1300)는 제 1 메신져 서버(2000)에 대한 제 1 사용자의 권한 정보 및 제 2 메신져 서버(3000)에 대한 제 2 사용자의 권한 정보를 저장할 수 있다.
통신부(1300)가 저장된 제 1 사용자의 권한 정보를 이용하여, 제 1 메신져 서버(2000)로부터 제 1 사용자의 메시지를 수신하는 경우, 제어부(1100)는 저장된 제 2 사용자의 권한 정보를 이용하여, 제 1 메신져 서버(2000)로부터 수신된 제 1 사용자의 메시지를 제 2 메신져 서버(3000)로 전송되도록 통신부(1300)를 제어할 수 있다.
또한, 통신부(1300)가 제 1 사용자의 디바이스로부터 제 2 사용자를 제 1 사용자의 제 1 메신져 친구로써 등록하기 위한 등록 요청을 수신하는 경우, 제어부(1300)는, 등록 요청을 수신함에 따라, 제 2 사용자의 제 1 메신져 가상 ID을 생성하고, 생성된 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져 서버(2000)에 등록하고, 제 1 메신져 서버(2000)에 대한 제 1 사용자의 권한 정보에 기초하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 사용자의 메신져 친구의 ID로써 제 1 메신져 서버(2000)에 등록할 수 있다.
또한, 통신부(1300)는, 등록 요청에 응답하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져에서의 제 2 사용자의 ID로써 제 1 사용자의 디바이스에게 전송할 수 있다.
또한, 통신부(1300)는, 제 2 사용자의 디바이스로부터 제 1 사용자를 제 2 사용자의 제 2 메신져 친구로써 등록하기 위한 등록 요청을 수신하는 경우, 제어부(1100)는, 등록 요청을 수신함에 따라, 제 1 사용자의 제 2 메신져 가상 ID를 생성하고, 생성된 제 1 사용자의 제 2 메신져 가상 ID을 제 2 메신져 서버(3000)에 등록하고, 제 2 메신져 서버(3000)에 대한 제 2 사용자의 권한 정보에 기초하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 사용자의 메신져 친구의 ID로써 제 2 메신져 서버(3000)에 등록할 수 있다.
또한, 통신부(1300)는, 등록 요청에 응답하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 메신져에서의 제 1 사용자의 ID로써 제 2 사용자의 디바이스에게 전송할 수 있다.
또한, 통신부(1300)는, 저장된 제 1 사용자의 권한 정보를 이용하여, 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져 서버(2000)에 등록하고, 등록된 제 2 사용자의 제 1 메신져 가상 ID를 이용하여, 제 1 메신져 서버(2000)로부터 제 2 사용자에 대한 제 1 사용자의 메시지를 수신할 수 있다.
이 경우, 제어부(1100)는 저장된 제 2 사용자의 권한 정보를 이용하여, 제 1 사용자의 제 2 메신져 가상 ID를 제 2 메신져 서버(3000)에 등록하고, 등록된 제 1 사용자의 제 2 메신져 가상 ID를 이용하여, 제 1 메신져 서버(2000)로부터 수신된 제 1 사용자의 메시지를 제 2 메신져 서버(3000)로 전송되도록 통신부를 제어할 수 있다.
또한, 통신부(1300)는, 제 1 사용자의 디바이스로부터, 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 제 2 사용자에게 메시지를 전송하기 위한 메시지 전송 요청을 수신하고, 메시지 전송 요청에 응답하여, 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 메시지를 제 2 사용자에게 전송할 것을 제 2 메신져 서버(3000)에게 요청할 수 있다.
도 88은, 본 발명의 일 실시예에 따른, 제 1 디바이스(100)에 대한 블록도를 도시한다. 제 2 디바이스(200)의 장치 구성은 제 1 디바이스(100)의 장치 구성을 포함할 수 있다.
도 88에 도시된 바와 같이, 일 실시예에 따른 제 1 디바이스(100)는, 제어부(170), 통신부(130), 사용자 입력부(145) 및 디스플레이부(110)를 포함할 수 있다. 그러나 도시된 구성요소 모두가 필수 구성 요소인 것은 아니다. 도시된 구성 요소보다 많은 구성 요소에 의해 제 1 디바이스(100)가 구현될 수도 있고, 그보다 적은 구성 요소에 의해서도 제 1 디바이스(100)는 구현될 수 있다.
통신부(130)는 외부 디바이스와 데이터를 송수신할 수 있다. 예를 들어, 통신부(130)는 제 2 디바이스(200), 클라우드 서버(2000, 3000) 또는 중계 서버(1000)와 데이터를 송수신할 수 있다.
사용자 입력부(145)는 제 1 사용자로부터 데이터를 공유하기 위한 사용자 입력을 수신할 수 있다. 또한, 사용자 입력부(145)는 제 1 사용자로부터 메시지를 전송하기 위한 사용자 입력을 수신할 수 있다.
디스플레이부(110)는 데이터를 공유하기 위한 이미지 또는 데이터를 디스플레이할 수 있다. 또한, 디스플레이부(110)는 메시지를 송수신하기 위한 이미지 또는 데이터를 디스플레이할 수 있다.
제어부(170)는 디바이스(100)의 전반적인 동작을 제어할 수 있다.
예를 들어, 제어부(170)는 제 1 클라우드 스토리지(2000)로부터 제 1 사용자의 데이터를 획득할 수 있는 권한을 중계 서버(1000)에게 설정할 것을 제 1 클라우드 스토리지(2000)에게 요청할 수 있다. 예를 들어, 제어부(170)는, 제 2 클라우드 스토리지(3000)에게, 제 2 클라우드 스토리지(3000)에 저장된 제 2 사용자의 폴더에 대하여, 제 2 사용자와 중계 서버(1000)간의 공유를 요청할 수 있다.
또한, 제어부(170)는 제 1 사용자의 입력에 기초하여, 제 1 사용자의 데이터를 제 1 사용자와 제 2 사용자간에 공유하기 위한 공유 요청을 중계 서버(1000)에게 송신할 수 있다. 이 경우, 공유 요청은, 중계 서버가, 제 1 클라우드 스토리지로부터 제 1 사용자의 데이터를 획득할 수 있는 권한에 기초하여, 제 1 사용자의 데이터를 제 1 클라우드 스토리지로부터 수신하고, 수신된 제 1 사용자의 데이터를 제 2 클라우드 스토리지 내의 제 2 사용자의 데이터가 저장되는 저장 공간에 저장하는 요청을 의미할 수 있다.
또한, 제 1 디바이스(100)가 제 2 디바이스(200)로써 동작하는 경우, 제어부(170)는 제 2 클라우드 스토리지(3000) 내의 제 2 사용자의 데이터가 저장되는 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 중계 서버(1000)에게 설정할 것을 제 2 클라우드 스토리지(3000)에게 요청할 수 있다.
또한, 제어부(170)는 제 2 클라우드 스토리지(3000)로부터, 제 2 사용자의 저장 공간에 저장된 제 2 사용자의 데이터를 수신할 수 있다.
또한, 디스플레이부(110)는 제 2 클라우드 스토리지(3000)로부터 수신된 제 2 사용자의 데이터의 목록을 디스플레이할 수 있다. 이 경우, 제 2 사용자의 데이터 중 적어도 하나는, 제 1 클라우드 스토리지(2000)에 저장된 제 1 사용자의 데이터에 대하여 제 1 사용자가 제 2 사용자와 공유함에 따라, 중계 서버(1000)가, 제 1 사용자의 파일을 제 1 클라우드 스토리지(2000)로부터 수신하고, 수신한 파일을 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한에 기초하여 제 2 사용자의 저장 공간에 저장한 데이터를 포함할 수 있다.
도 89는 본 개시의 다른 실시 예에 따른 제 1 디바이스(100)의 구성을 나타내는 블록도이다. 제 2 디바이스(200)의 장치 구성은 제 1 디바이스(100)의 장치 구성을 포함할 수 있다.
도 89에 도시된 바와 같이, 제 1 디바이스(100)의 구성은, 예를 들어, 휴대폰, 태블릿 PC, PDA, MP3 플레이어, 키오스크, 전자 액자, 네비게이션 장치, 디지털 TV, 손목 시계(Wrist watch) 또는 HMD(Head-Mounted Display)와 같은 웨어러블 기기(Wearable device) 등과 같은 다양한 유형의 장치에 적용될 수 있다.
도 89에 따르면, 제 1 디바이스(100)는 디스플레이부(110), 제어부(170), 메모리(120), GPS 칩(125), 통신부(130), 비디오 프로세서(135), 오디오 프로세서(140), 사용자 입력부(145), 마이크부(150), 촬상부(155), 스피커부(160), 움직임 감지부(165) 중 적어도 하나를 포함 할 수 있다.
디스플레이부(110)는 표시패널(111) 및 표시 패널(111)을 제어하는 컨트롤러(미도시)를 포함할 수 있다. 표시패널(111)에는 LCD(Liquid Crystal Display), OLED(Organic Light Emitting Diodes) 디스플레이, AM-OLED(Active-Matrix Organic Light-Emitting Diode), PDP(Plasma Display Panel) 등과 같은 다양한 형태의 디스플레이로 구현될 수 있다. 표시패널(111)은 유연하게(flexible), 투명하게(transparent) 또는 착용할 수 있게(wearable) 구현될 수 있다. 디스플레이부(110)는 사용자 입력부(145)의 터치 패널(147)과 결합되어 터치 스크린(미도시)으로 제공될 수 있다. 예를 들어, 터치 스크린(미도시)은 표시 패널(111)과 터치 패널(147)이 적층 구조로 결합된 일체형의 모듈을 포함할 수 있다.
메모리(120)는 내장 메모리(Internal Memory)(미도시) 및 외장 메모리(External Memory)(미도시) 중 적어도 하나를 포함할 수 있다.
내장 메모리는, 예를 들어, 휘발성 메모리(예를 들면, DRAM(Dynamic RAM), SRAM(Static RAM), SDRAM(Synchronous Dynamic RAM) 등), 비휘발성 메모리(예를 들면, OTPROM(One Time Programmable ROM), PROM(Programmable ROM), EPROM(Erasable and Programmable ROM), EEPROM(Electrically Erasable and Programmable ROM), Mask ROM, Flash ROM 등), 하드 디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 중 적어도 하나를 포함할 수 있다. 일 실시 예에 따르면, 제어부(170)는 비휘발성 메모리 또는 다른 구성요소 중 적어도 하나로부터 수신한 명령 또는 데이터를 휘발성 메모리에 로드(load)하여 처리할 수 있다. 또한, 제어부(170)는 다른 구성요소로부터 수신하거나 생성된 데이터를 비휘발성 메모리에 보존할 수 있다.
외장 메모리는, 예를 들면, CF(Compact Flash), SD(Secure Digital), Micro-SD(Micro Secure Digital), Mini-SD(Mini Secure Digital), xD(extreme Digital) 및 Memory Stick 중 적어도 하나를 포함할 수 있다.
제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부가 디스플레이부(110)에 표시되도록 디스플레이부(110)를 제어할 수 있다. 다시 말하자면, 제어부(170)는 메모리(120)에 저장된 컨텐츠의 일부를 디스플레이부(110)에 표시할 수 있다. 또는, 제어부(170)는 디스플레이부(110)의 일 영역에서 사용자 제스처가 이루어지면, 사용자의 제스처에 대응되는 제어 동작을 수행할 수 있다.
제어부(170)는 RAM(171), ROM(172), CPU(173), GPU(Graphic Processing Unit)(174) 및 버스(175) 중 적어도 하나를 포함 할 수 있다. RAM(171), ROM(172), CPU(173) 및 GPU(174) 등은 버스(175)를 통해 서로 연결될 수 있다.
CPU(173)는 메모리(120)에 액세스하여, 메모리(120)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메모리(120)에 저장된 각종 프로그램, 컨텐츠, 데이터 등을 이용하여 다양한 동작을 수행한다.
ROM(172)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 예로, 휴대 단말기(100)는 턴온 명령이 입력되어 전원이 공급되면, CPU(173)가 ROM(172)에 저장된 명령어에 따라 메모리(120)에 저장된 O/S를 RAM(171)에 복사하고, O/S를 실행시켜 시스템을 부팅시킬 수 있다. 부팅이 완료되면, CPU(173)는 메모리(120)에 저장된 각종 프로그램을 RAM(171)에 복사하고, RAM(171)에 복사된 프로그램을 실행시켜 각종 동작을 수행한다. GPU(174)는 제 1 디바이스(100)의 부팅이 완료되면, 디스플레이부(110)의 영역에 UI 화면을 디스플레이한다. 구체적으로는, GPU(174)는 컨텐츠, 아이콘, 메뉴 등과 같은 다양한 객체를 포함하는 전자문서가 표시된 화면을 생성할 수 있다. GPU(174)는 화면의 레이아웃에 따라 각 객체들이 표시될 좌표값, 형태, 크기, 컬러 등과 같은 속성 값을 연산한다. 그리고, GPU(174)는 연산된 속성값에 기초하여 객체를 포함하는 다양한 레이아웃의 화면을 생성할 수 있다. GPU(174)에서 생성된 화면은 디스플레이부(110)로 제공되어, 디스플레이부(110)의 각 영역에 각각 표시될 수 있다.
GPS 칩(125)은 GPS(Grobal Positioning System) 위성으로부터 GPS 신호를 수신하여, 제 1 디바이스(100)의 현재 위치를 산출할 수 있다. 제어부(170)는 네비게이션 프로그램을 이용할 때나 그 밖에 사용자의 현재 위치가 필요할 경우에, GPS 칩(125)을 이용하여 사용자 위치를 산출할 수 있다.
통신부(130)는 다양한 유형의 통신방식에 따라 다양한 유형의 외부 기기와 통신을 수행할 수 있다. 통신부(130)는 와이파이칩(131), 블루투스 칩(132), 무선 통신 칩(133), NFC 칩(134) 중 적어도 하나를 포함할 수 있다. 제어부(170)는 통신부(130)를 이용하여 각종 외부 기기와 통신을 수행할 수 있다.
와이파이 칩(131), 블루투스 칩(132)은 각각 WiFi 방식, 블루투스 방식으로 통신을 수행할 수 있다. 와이파이 칩(131)이나 블루투스 칩(132)을 이용하는 경우에는 SSID 및 세션 키 등과 같은 각종 연결 정보를 먼저 송수신하여, 이를 이용하여 통신 연결한 후 각종 정보들을 송수신할 수 있다. 무선 통신 칩(133)은 IEEE, 지그비, 3G(3rd Generation), 3GPP(3rd Generation Partnership Project), LTE(Long Term Evoloution) 등과 같은 다양한 통신 규격에 따라 통신을 수행하는 칩을 의미한다. NFC 칩(134)은 135kHz, 13.56MHz, 433MHz, 860~960MHz, 2.45GHz 등과 같은 다양한 RF-ID 주파수 대역들 중에서 13.56MHz 대역을 사용하는 NFC(Near Field Communication) 방식으로 동작하는 칩을 의미한다.
비디오 프로세서(135)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 비디오 데이터를 처리할 수 있다. 비디오 프로세서(135)에서는 비디오 데이터에 대한 디코딩, 스케일링, 노이즈 필터링, 프레임 레이트 변환, 해상도 변환 등과 같은 다양한 이미지 처리를 수행할 수 있다.
오디오 프로세서(140)는 통신부(130)를 통해 수신된 컨텐츠 또는, 메모리(120)에 저장된 컨텐츠에 포함된 오디오 데이터를 처리할 수 있다. 오디오 프로세서(140)에서는 오디오 데이터에 대한 디코딩이나 증폭, 노이즈 필터링 등과 같은 다양한 처리가 수행될 수 있다.
제어부(170)는 멀티미디어 컨텐츠에 대한 재생 프로그램이 실행되면 비디오 프로세서(135) 및 오디오 프로세서(140)를 구동시켜, 해당 컨텐츠를 재생할 수 있다. 스피커부(160)는 오디오 프로세서(140)에서 생성한 오디오 데이터를 출력할 수 있다.
사용자 입력부(145)는 사용자로부터 다양한 명령어를 입력 받을 수 있다. 사용자 입력부(145)는 키(146), 터치 패널(147) 및 펜 인식 패널(148) 중 적어도 하나를 포함할 수 있다.
키(146)는 제 1 디바이스(100)의 본체 외관의 전면부나 측면부, 배면부 등의 다양한 영역에 형성된 기계적 버튼, 휠 등과 같은 다양한 유형의 키를 포함할 수 있다.
터치 패널(147)은 사용자의 터치 입력을 감지하고, 감지된 터치 신호에 해당하는 터치 이벤트 값을 출력할 수 있다. 터치 패널(147)이 표시 패널(111)과 결합하여 터치 스크린(미도시)을 구성한 경우, 터치 스크린은 정전식이나, 감압식, 압전식 등과 같은 다양한 유형의 터치 센서로 구현될 수 있다. 정전식은 터치 스크린 표면에 코팅된 유전체를 이용하여, 사용자의 신체 일부가 터치 스크린 표면에 터치되었을 때 사용자의 인체로 야기되는 미세 전기를 감지하여 터치 좌표를 산출하는 방식이다. 감압식은 터치 스크린에 내장된 두 개의 전극 판을 포함하여, 사용자가 화면을 터치하였을 경우, 터치된 지점의 상하 판이 접촉되어 전류가 흐르게 되는 것을 감지하여 터치 좌표를 산출하는 방식이다. 터치 스크린에서 발생하는 터치 이벤트는 주로 사람의 손가락에 의하여 생성될 수 있으나, 정전 용량 변화를 가할 수 있는 전도성 재질의 물체에 의해서도 생성될 수 있다.
펜 인식 패널(148)은 사용자의 터치용 펜(예컨대, 스타일러스 펜(stylus pen), 디지타이저 펜(digitizer pen))의 운용에 따른 펜의 근접 입력 또는 터치 입력을 감지하고 감지된 펜 근접 이벤트 또는 펜 터치 이벤트를 출력할 수 있다. 펜 인식 패널(148)은, 예로, EMR 방식으로 구현될 수 있으며, 펜의 근접 또는 터치에 의한 전자기장의 세기 변화에 따라 터치 또는 근접 입력을 감지할 수 있다. 상세하게는 펜 인식 패널(148)은 그리드 구조를 가지는 전자 유도 코일 센서(미도시)와 전자 유도 코일 센서의 각 루프 코일에 순차적으로 소정의 주파수를 가지는 교류 신호를 제공하는 전자 신호 처리부(미도시)를 포함하여 구성될 수 있다. 이러한 펜 인식 패널(148)의 루프 코일 근방에 공진회로를 내장하는 펜이 존재하면, 해당 루프 코일로부터 송신되는 자계가 펜 내의 공진회로에 상호 전자 유도에 기초한 전류를 발생시킨다. 이 전류를 기초로 하여, 펜 내의 공진 회로를 구성하는 코일로부터 유도 자계가 발생하게 되고, 펜 인식 패널(148)은 이 유도 자계를 신호 수신 상태에 있는 루프 코일에서 검출하게 되어 펜의 접근 위치 또는 터치 위치가 감지될 수 있다. 펜 인식 패널(148)은 표시 패널(111)의 하부에 일정 면적, 예를 들어, 표시 패널(111)의 표시 영역을 커버할 수 있는 면적을 가지고 마련될 수 있다.
마이크부(150)는 사용자 음성이나 기타 소리를 입력 받아 오디오 데이터로 변환할 수 있다. 제어부(170)는 마이크 부(150)를 통해 입력되는 사용자 음성을 통화 동작에서 이용하거나, 오디오 데이터로 변환하여 메모리(120)에 저장할 수 있다.
촬상부(155)는 사용자의 제어에 따라 정지 영상 또는 동영상을 촬상할 수 있다. 촬상부(155)는 전면 카메라, 후면 카메라와 같이 복수 개로 구현될 수도 있다.
촬상부(155) 및 마이크부(150)가 마련된 경우, 제어부(170)는 마이크부(150)를 통해 입력되는 사용자 음성이나 촬상부(155)에 의해 인식되는 사용자 모션에 따라 제어 동작을 수행할 수도 있다. 예컨대, 제 1 디바이스(100)는 모션 제어 모드나 음성 제어 모드로 동작할 수 있다. 모션 제어 모드로 동작하는 경우, 제어부(170)는 촬상부(155)를 활성화시켜 사용자를 촬상하고, 사용자의 모션 변화를 추적하여 그에 대응되는 제어 동작을 수행할 수 있다. 음성 제어 모드로 동작하는 경우 제어부(170)는 마이크부(150)를 통해 입력된 사용자 음성을 분석하고, 분석된 사용자 음성에 따라 제어 동작을 수행하는 음성 인식 모드로 동작할 수 있다.
움직임 감지부(165)는 제 1 디바이스(100)의 본체 움직임을 감지할 수 있다. 제 1 디바이스(100)는 다양한 방향으로 회전되거나 기울어질 수 있다. 이 때, 움직임 감지부(165)는 지자기 센서, 자이로 센서, 가속도 센서 등과 같은 다양한 센서들 중 적어도 하나를 이용하여 회전 방향 및 각도, 기울기 등과 같은 움직임 특성을 감지할 수 있다.
그 밖에, 도 89에 도시하지는 않았으나, 실시예에는, 제 1 디바이스(100) 내에 USB 커넥터가 연결될 수 있는 USB 포트나, 헤드셋, 마우스, LAN 등과 같은 다양한 외부 단자와 연결하기 위한 다양한 외부 입력 포트, DMB(Digital Multimedia Broadcasting) 신호를 수신하여 처리하는 DMB 칩, 다양한 센서 등을 더 포함할 수 있다.
전술한 제 1 디바이스(100)의 구성 요소들의 명칭은 달라질 수 있다. 또한, 본 개시에 따른 제 1 디바이스(100)는 전술한 구성요소들 중 적어도 하나를 포함하여 구성될 수 있으며, 일부 구성요소가 생략되거나 또는 추가적인 다른 구성요소를 더 포함할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (26)

  1. 제 1 사용자가 가입된 제 1 클라우드 스토리지에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 저장하는 저장부;
    상기 저장된 제 1 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 제 1 클라우드 스토리지에게, 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 요청하는 통신부; 및
    상기 저장된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 상기 요청에 대응하여 제 1 클라우드 스토리지로부터 수신된 상기 제 1 사용자의 데이터를 상기 제 2 클라우드 스토리지로 전송되도록 상기 통신부를 제어하는 제어부;
    를 포함하는 중계 서버.
  2. 제 1 항에 있어서,
    상기 제 1 클라우드 스토리지에 대한 접근 권한 정보는, 상기 제 1 클라우드 스토리지에 등록된 상기 중계 서버의 계정을 포함하고,
    상기 제 1 클라우드 스토리지에 등록된 상기 중계 서버의 계정에 대응하여, 상기 제 1 사용자의 데이터를 상기 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값이 상기 제 1 클라우드 스토리지에 설정된 것인, 중계 서버.
  3. 제 2 항에 있어서,
    상기 제 1 클라우드 스토리지에 설정된 상기 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값은,
    상기 제 1 사용자의 디바이스로부터, 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 중계 서버와 공유하는 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지가 설정한 것인, 중계 서버.
  4. 제 1 항에 있어서,
    상기 제 2 클라우드 스토리지에 대한 접근 권한 정보는, 상기 제 2 클라우드 스토리지에 등록된 상기 중계 서버의 계정을 포함하고,
    상기 제 2 클라우드 스토리지에 등록된 상기 중계 서버의 계정에 대응하여, 상기 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 상기 제 2 클라우드 스토리지에 설정된 것인, 중계 서버.
  5. 제 4 항에 있어서,
    상기 제 2 클라우드 스토리지에 설정된 상기 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값은,
    상기 제 2 사용자의 디바이스로부터 상기 제 2 사용자의 저장 공간을 상기 중계 서버와 공유하는 요청을 수신함에 따라 상기 제 2 클라우드 스토리지가 설정한 것인, 중계 서버.
  6. 제 1 항에 있어서,
    상기 통신부는,
    상기 제 1 클라우드 스토리지로부터 상기 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신하고,
    상기 제어부는,
    상기 동기화 요청을 수신함에 따라, 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 상기 변경된 제 1 사용자의 데이터로 업데이트 하고,
    상기 제 1 사용자의 데이터의 사본은, 상기 중계 서버에 의해 상기 제 1 클라우드 스토리지 내의 상기 제 1 사용자의 데이터가 상기 제 2 클라우드 스토리지로 복사된 데이터인 것인, 중계 서버.
  7. 제 6 항에 있어서,
    상기 제 1 사용자의 데이터는 파일을 포함하고,
    상기 동기화 요청은 상기 파일 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고,
    상기 제어부는,
    상기 동기화 요청을 수신함에 따라, 상기 위치 정보에 기초하여, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 상기 변경된 제 1 사용자의 데이터로 업데이트 하고,
    상기 쓰기 금지 설정 영역은 상기 중계 서버에 의해 변경되지 않도록 설정된 상기 제 1 사용자의 데이터의 사본 내의 영역인 것인, 중계 서버.
  8. 제 1 항에 있어서,
    상기 통신부는,
    상기 제 2 클라우드 스토리지로부터 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 변경되었음을 나타내는 동기화 요청을 수신하고,
    상기 제어부는,
    상기 동기화 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하고,
    상기 제 1 사용자의 데이터의 사본은, 상기 중계 서버에 의해 상기 제 1 클라우드 스토리지 내의 상기 제 1 사용자의 데이터가 상기 제 2 클라우드 스토리지로 복사된 데이터인 것인, 중계 서버.
  9. 제 8 항에 있어서,
    상기 제 1 사용자의 데이터는 파일을 포함하고,
    상기 동기화 요청은 상기 제 1 사용자의 파일의 사본 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고,
    상기 제어부는,
    상기 동기화 요청을 수신함에 따라, 상기 위치 정보에 기초하여, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하고, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 상기 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 상기 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하고,
    상기 쓰기 금지 설정 영역은 상기 중계 서버에 의해 변경되지 않도록 설정된 상기 제 1 사용자의 파일 내의 영역인 것인, 중계 서버.
  10. 제 1 항에 있어서,
    상기 통신부는,
    상기 제 1 사용자의 제 1 디바이스로부터, 상기 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신하고,
    상기 제어부는,
    상기 읽기 금지 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지로부터, 상기 파일을 획득하고, 상기 수신된 파일 중 상기 읽기 금지 요청된 일부분을 삭제하고, 상기 제 2 클라우드 스토리지에 상기 일부분이 삭제된 파일을 저장하는 중계 서버.
  11. 중계 서버가 복수의 디바이스들 간에 데이터를 공유시키는 방법에 있어서,
    제 1 사용자가 가입된 제 1 클라우드 스토리지에 대한 접근 권한 정보와 제 2 사용자가 가입된 제 2 클라우드 스토리지에 대한 접근 권한 정보를 저장하는 단계;
    상기 제 1 클라우드 스토리지에 대한 접근 권한 정보를 이용하여 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 제 1 클라우드 스토리지에게 요청하는 단계; 및
    상기 제 2 클라우드 스토리지에 대한 접근 권한 정보를 이용하여, 상기 요청에 대응하여 상기 제 1 클라우드 스토리지로부터 수신된 상기 제 1 사용자의 데이터를 상기 제 2 클라우드 스토리지로 전송하는 단계;
    를 포함하는 데이터 중계 방법.
  12. 제 11 항에 있어서,
    상기 제 1 클라우드 스토리지에 대한 접근 권한 정보는, 상기 제 1 클라우드 스토리지에 등록된 상기 중계 서버의 계정을 포함하고,
    상기 제 1 클라우드 스토리지에 등록된 상기 중계 서버의 계정에 대응하여, 상기 제 1 사용자의 데이터를 상기 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값이 상기 제 1 클라우드 스토리지에 설정된 것인, 데이터 중계 방법.
  13. 제 12 항에 있어서,
    상기 제 1 클라우드 스토리지에 설정된 상기 제 1 클라우드 스토리지로부터 수신할 수 있는 권한을 나타내는 설정값은,
    상기 제 1 사용자의 디바이스로부터, 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 중계 서버와 공유하는 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지가 설정한 것인, 데이터 중계 방법.
  14. 제 11 항에 있어서,
    상기 제 2 클라우드 스토리지에 대한 접근 권한 정보는, 상기 제 2 클라우드 스토리지에 등록된 상기 중계 서버의 계정을 포함하고,
    상기 제 2 클라우드 스토리지에 등록된 상기 중계 서버의 계정에 대응하여, 상기 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값이 상기 제 2 클라우드 스토리지에 설정된 것인, 데이터 중계 방법.
  15. 제 14 항에 있어서,
    상기 제 2 클라우드 스토리지에 설정된 상기 제 2 사용자의 저장 공간에 데이터를 저장할 수 있는 권한을 나타내는 설정값은,
    상기 제 2 사용자의 디바이스로부터 상기 제 2 사용자의 저장 공간을 상기 중계 서버와 공유하는 요청을 수신함에 따라 상기 제 2 클라우드 스토리지가 설정한 것인, 데이터 중계 방법.
  16. 제 11 항에 있어서,
    상기 데이터 중계 방법은,
    상기 제 1 클라우드 스토리지로부터 상기 제 1 사용자의 데이터가 변경되었음을 나타내는 동기화 요청을 수신하는 단계; 및
    상기 동기화 요청을 수신함에 따라, 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 상기 변경된 제 1 사용자의 데이터로 업데이트하는 단계를 더 포함하고,
    상기 제 1 사용자의 데이터의 사본은, 상기 중계 서버에 의해 상기 제 1 클라우드 스토리지 내의 상기 제 1 사용자의 데이터가 상기 제 2 클라우드 스토리지로 복사된 데이터인 것인, 데이터 중계 방법.
  17. 제 16 항에 있어서,
    상기 제 1 사용자의 데이터는 파일을 포함하고,
    상기 동기화 요청은 상기 파일 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고,
    상기 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 상기 변경된 제 1 사용자의 데이터로 업데이트 하는 단계는,
    상기 동기화 요청을 수신함에 따라, 상기 위치 정보에 기초하여, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하는 단계; 및
    상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본을 상기 변경된 제 1 사용자의 데이터로 업데이트 하는 단계를 포함하고,
    상기 쓰기 금지 설정 영역은 상기 중계 서버에 의해 변경되지 않도록 설정된 상기 제 1 사용자의 데이터의 사본 내의 영역인 것인, 데이터 중계 방법.
  18. 제 11 항에 있어서,
    상기 데이터 중계 방법은,
    상기 제 2 클라우드 스토리지로부터 상기 제 2 클라우드 스토리지에 저장된 제 1 사용자의 데이터의 사본이 변경되었음을 나타내는 동기화 요청을 수신하는 단계; 및
    상기 동기화 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계를 더 포함하고,
    상기 제 1 사용자의 데이터의 사본은, 상기 중계 서버에 의해 상기 제 1 클라우드 스토리지 내의 상기 제 1 사용자의 데이터가 상기 제 2 클라우드 스토리지로 복사된 데이터인 것인, 데이터 중계 방법.
  19. 제 18 항에 있어서,
    상기 제 1 사용자의 데이터는 파일을 포함하고,
    상기 동기화 요청은 상기 제 1 사용자의 파일의 사본 내의 변경된 데이터에 대한 위치를 나타내는 위치 정보를 포함하고,
    상기 제 1 클라우드 스토리지에 저장된 상기 제 1 사용자의 데이터를 상기 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계는,
    상기 동기화 요청을 수신함에 따라, 상기 위치 정보에 기초하여, 상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터인지 여부를 판단하는 단계; 및
    상기 변경된 데이터가 쓰기 금지 설정 영역의 데이터가 아닌 경우, 상기 제 1 클라우드 스토리지에 저장된 제 1 사용자의 데이터를 상기 변경된 제 1 사용자의 데이터의 사본으로 업데이트 하는 단계를 포함하고,
    상기 쓰기 금지 설정 영역은 상기 중계 서버에 의해 변경되지 않도록 설정된 상기 제 1 사용자의 파일 내의 영역인 것인, 데이터 중계 방법.
  20. 제 11 항에 있어서,
    상기 데이터 중계 방법은,
    상기 제 1 사용자의 제 1 디바이스로부터, 상기 제 1 사용자의 데이터 중에서 파일의 일부분에 대한 읽기 금지 요청을 수신하는 단계;
    상기 읽기 금지 요청을 수신함에 따라, 상기 제 1 클라우드 스토리지로부터 상기 파일을 획득하는 단계;
    상기 수신된 파일 중 상기 읽기 금지 요청된 일부분을 삭제하는 단계; 및
    상기 제 2 클라우드 스토리지에 상기 일부분이 삭제된 파일을 저장하는 단계를 더 포함하는, 데이터 중계 방법.
  21. 제 1 메신져 서버에 대한 제 1 사용자의 권한 정보 및 제 2 메신져 서버에 대한 제 2 사용자의 권한 정보를 저장하는 저장부;
    상기 저장된 제 1 사용자의 권한 정보를 이용하여, 제 1 메신져 서버로부터 상기 제 1 사용자의 메시지를 수신하는 통신부; 및
    상기 저장된 제 2 사용자의 권한 정보를 이용하여, 제 1 메신져 서버로부터 수신된 상기 제 1 사용자의 메시지를 상기 제 2 메신져 서버로 전송되도록 상기 통신부를 제어하는 제어부;
    를 포함하는 중계 서버.
  22. 제 21 항에 있어서,
    상기 제 1 메신져 서버에 대한 제 1 사용자의 권한 정보는, 상기 제 1 메신져 서버에 가입된 제 3 사용자를 상기 제 1 사용자의 메신져 친구로써 상기 제 1 메신져 서버에 등록할 수 있는 권한에 관한 정보이고,
    상기 제 2 메신져 서버에 대한 제 2 사용자의 권한 정보는, 상기 제 2 메신져 서버에 가입된 제 4 사용자를 상기 제 2 사용자의 메신져 친구로써 상기 제 2 메신져 서버에 등록할 수 있는 권한에 관한 정보인, 중계 서버.

  23. 제 21 항에 있어서,
    상기 통신부는,
    상기 제 1 사용자의 디바이스로부터 상기 제 2 사용자를 제 1 사용자의 제 1 메신져 친구로써 등록하기 위한 등록 요청을 수신하고,
    상기 제어부는,
    상기 등록 요청을 수신함에 따라, 상기 제 2 사용자의 제 1 메신져 가상 ID을 생성하고, 상기 생성된 제 2 사용자의 제 1 메신져 가상 ID를 제 1 메신져 서버에 등록하고, 상기 제 1 메신져 서버에 대한 상기 제 1 사용자의 권한 정보에 기초하여, 상기 제 2 사용자의 제 1 메신져 가상 ID를 상기 제 1 사용자의 메신져 친구의 ID로써 상기 제 1 메신져 서버에 등록하고,
    상기 통신부는, 상기 등록 요청에 응답하여, 상기 제 2 사용자의 제 1 메신져 가상 ID를 상기 제 1 메신져에서의 상기 제 2 사용자의 ID로써 상기 제 1 사용자의 디바이스에게 전송하는, 중계 서버.
  24. 제 21 항에 있어서,
    상기 통신부는,
    상기 제 2 사용자의 디바이스로부터 상기 제 1 사용자를 제 2 사용자의 제 2 메신져 친구로써 등록하기 위한 등록 요청을 수신하고,
    상기 제어부는,
    상기 등록 요청을 수신함에 따라, 상기 제 1 사용자의 제 2 메신져 가상 ID를 생성하고, 상기 생성된 제 1 사용자의 제 2 메신져 가상 ID을 제 2 메신져 서버에 등록하고, 상기 제 2 메신져 서버에 대한 상기 제 2 사용자의 권한 정보에 기초하여, 상기 제 1 사용자의 제 2 메신져 가상 ID를 상기 제 2 사용자의 메신져 친구의 ID로써 상기 제 2 메신져 서버에 등록하고,
    상기 통신부는, 상기 등록 요청에 응답하여, 상기 제 1 사용자의 제 2 메신져 가상 ID를 상기 제 2 메신져에서의 상기 제 1 사용자의 ID로써 상기 제 2 사용자의 디바이스에게 전송하는, 중계 서버.
  25. 제 21 항에 있어서,
    상기 통신부는,
    상기 저장된 제 1 사용자의 권한 정보를 이용하여, 상기 제 2 사용자의 제 1 메신져 가상 ID를 상기 제 1 메신져 서버에 등록하고, 상기 등록된 제 2 사용자의 제 1 메신져 가상 ID를 이용하여, 상기 제 1 메신져 서버로부터 상기 제 2 사용자에 대한 상기 제 1 사용자의 메시지를 수신하고,
    상기 제어부는,
    상기 저장된 제 2 사용자의 권한 정보를 이용하여, 상기 제 1 사용자의 제 2 메신져 가상 ID를 상기 제 2 메신져 서버에 등록하고, 상기 등록된 제 1 사용자의 제 2 메신져 가상 ID를 이용하여, 상기 제 1 메신져 서버로부터 수신된 상기 제 1 사용자의 메시지를 상기 제 2 메신져 서버로 전송되도록 상기 통신부를 제어하는, 중계 서버.
  26. 제 25 항에 있어서,
    상기 통신부는,
    상기 제 1 사용자의 디바이스로부터, 상기 제 2 사용자의 제 1 메신져 가상 ID를 수신자의 ID로써 상기 제 2 사용자에게 메시지를 전송하기 위한 메시지 전송 요청을 수신하고,
    상기 메시지 전송 요청에 응답하여, 상기 제 1 사용자의 제 2 메신져 가상 ID를 송신자의 ID로써, 상기 메시지를 상기 제 2 사용자에게 전송할 것을 상기 제 2 메신져 서버에게 요청하는, 중계 서버.
KR1020150078663A 2014-07-29 2015-06-03 데이터 공유 방법 및 이를 위한 장치 KR102312336B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
EP15178602.7A EP2980726B1 (en) 2014-07-29 2015-07-28 Method and apparatus for sharing data
AU2015207842A AU2015207842B2 (en) 2014-07-29 2015-07-28 Method and apparatus for sharing data
TW104124450A TWI699667B (zh) 2014-07-29 2015-07-29 轉送伺服器以及資料轉送方法
CN201580001294.2A CN106170972B (zh) 2014-07-29 2015-07-29 用于共享数据的方法和设备
US14/812,435 US10164984B2 (en) 2014-07-29 2015-07-29 Method and apparatus for sharing data
PCT/KR2015/007935 WO2016018072A1 (en) 2014-07-29 2015-07-29 Method and apparatus for sharing data

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020140096763 2014-07-29
KR20140096763 2014-07-29

Publications (2)

Publication Number Publication Date
KR20160014518A true KR20160014518A (ko) 2016-02-11
KR102312336B1 KR102312336B1 (ko) 2021-10-14

Family

ID=55351706

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150078663A KR102312336B1 (ko) 2014-07-29 2015-06-03 데이터 공유 방법 및 이를 위한 장치

Country Status (3)

Country Link
KR (1) KR102312336B1 (ko)
CN (1) CN106170972B (ko)
TW (1) TWI699667B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066828A1 (ko) * 2016-10-05 2018-04-12 삼성전자(주) 전자장치 및 그 제어방법
KR102122176B1 (ko) * 2020-02-16 2020-06-12 주식회사 케이비시스 향상된 확장성 및 자율성을 갖는 컨테이너 기반 클라우드 시스템 및 클라우드 서비스 제공 방법
WO2021061425A1 (en) * 2019-09-24 2021-04-01 Procore Technologies, Inc. Computer system and method for mirroring data across different accounts of a software as a service (saas) application
WO2022211233A1 (ko) * 2021-04-01 2022-10-06 고려대학교 산학협력단 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10838819B2 (en) * 2017-01-18 2020-11-17 Microsoft Technology Licensing, Llc Including personal relationship metadata within duplicated resources shared across partitioned storage
CN107241335B (zh) * 2017-06-16 2020-01-31 上海闻泰信息技术有限公司 信息共享的方法及装置
CN108200085B (zh) * 2018-01-31 2019-03-08 北京深思数盾科技股份有限公司 一种数据分发、转发方法及装置
TWI698754B (zh) * 2018-05-29 2020-07-11 普安科技股份有限公司 雲端服務之權限管理方法及其系統
CN109981634A (zh) * 2019-03-20 2019-07-05 中共中央办公厅电子科技学院(北京电子科技学院) 一种基于密码技术的云存储系统
CN116055565B (zh) * 2023-01-28 2023-06-06 北京蓝色星际科技股份有限公司 一种数据传输方法、系统、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164637A1 (en) * 2007-12-25 2009-06-25 Murata Machinery, Ltd. Relay server and relay communication system
US20120324544A1 (en) * 2010-03-19 2012-12-20 Dai Kanetomo Information processing apparatus, terminal apparatus and information processing method

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536513B2 (en) * 2005-03-31 2009-05-19 International Business Machines Corporation Data processing system, cache system and method for issuing a request on an interconnect fabric without reference to a lower level cache based upon a tagged cache state
TWI348850B (en) * 2007-12-18 2011-09-11 Ind Tech Res Inst Packet forwarding apparatus and method for virtualization switch
CN101217571B (zh) * 2008-01-18 2010-07-28 清华大学 用于多副本数据网格系统中的写/读文件操作的方法
US9335931B2 (en) * 2011-07-01 2016-05-10 Futurewei Technologies, Inc. System and method for making snapshots of storage devices
US9218406B2 (en) * 2012-04-26 2015-12-22 Connected Data, Inc. System and method for managing user data in a plurality of storage appliances over a wide area network for collaboration, protection, publication, or sharing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090164637A1 (en) * 2007-12-25 2009-06-25 Murata Machinery, Ltd. Relay server and relay communication system
US20120324544A1 (en) * 2010-03-19 2012-12-20 Dai Kanetomo Information processing apparatus, terminal apparatus and information processing method

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018066828A1 (ko) * 2016-10-05 2018-04-12 삼성전자(주) 전자장치 및 그 제어방법
WO2021061425A1 (en) * 2019-09-24 2021-04-01 Procore Technologies, Inc. Computer system and method for mirroring data across different accounts of a software as a service (saas) application
US11373255B2 (en) 2019-09-24 2022-06-28 Procore Technologies, Inc. Computer system and method for mirroring data across different accounts of a software as a service (SaaS) application
US11842413B2 (en) 2019-09-24 2023-12-12 Procore Technologies, Inc. Computer system and method for mirroring data across different accounts of a software as a service (SaaS) application
KR102122176B1 (ko) * 2020-02-16 2020-06-12 주식회사 케이비시스 향상된 확장성 및 자율성을 갖는 컨테이너 기반 클라우드 시스템 및 클라우드 서비스 제공 방법
WO2022211233A1 (ko) * 2021-04-01 2022-10-06 고려대학교 산학협력단 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법
KR20220136805A (ko) * 2021-04-01 2022-10-11 주식회사 틸더 가상 계정 및 접근 제어 모델 기반의 추상 데이터베이스 관리 장치 및 방법

Also Published As

Publication number Publication date
CN106170972A (zh) 2016-11-30
KR102312336B1 (ko) 2021-10-14
CN106170972B (zh) 2020-06-09
TW201617963A (zh) 2016-05-16
TWI699667B (zh) 2020-07-21

Similar Documents

Publication Publication Date Title
EP2980726B1 (en) Method and apparatus for sharing data
KR102312336B1 (ko) 데이터 공유 방법 및 이를 위한 장치
US20210243603A1 (en) Wireless network access method, apparatus, device, equipment and system
CN109905318B (zh) 设备控制方法、装置及存储介质
KR102377182B1 (ko) 이동 단말기 및 그 제어방법
CN104516777B (zh) 用户界面管理方法和系统
US10586063B2 (en) Method and apparatus for storing file by using a plurality of cloud storages
US10055610B2 (en) Personal content control on media device using mobile user device
US10425423B2 (en) Device access controls
CN103906010B (zh) 多个终端间同步消息的方法、机器可读存储介质和服务器
US10721288B2 (en) Method for sharing file and electronic device for the same
CN113015263B (zh) 分享图像的方法及电子设备
CN115643572A (zh) 在局域网内共享数据的方法及电子设备
CN113632433A (zh) 基于客户端指示来隐藏文件存储系统的安全区域
CN105849689B (zh) 用于提供云打印服务的系统和方法
TW201535142A (zh) 使用機器可讀取代碼來對於裝置進行認證和配對
US9503836B2 (en) Mobile communication system, mobile terminal and controlling method thereof
CN112764607A (zh) 定时消息处理方法、装置、终端及存储介质
WO2022111728A1 (zh) 一种获取设备控制权的方法与通信系统
CN110263525B (zh) 设备配置方法及装置
US10673930B2 (en) Mobile terminal and control method therefor
CN112612397B (zh) 多媒体列表管理方法、装置、设备及存储介质
CN114157630A (zh) 社交关系链的迁移方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant