KR20160029282A - 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 - Google Patents

클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 Download PDF

Info

Publication number
KR20160029282A
KR20160029282A KR1020140118514A KR20140118514A KR20160029282A KR 20160029282 A KR20160029282 A KR 20160029282A KR 1020140118514 A KR1020140118514 A KR 1020140118514A KR 20140118514 A KR20140118514 A KR 20140118514A KR 20160029282 A KR20160029282 A KR 20160029282A
Authority
KR
South Korea
Prior art keywords
file
terminal
cloud storage
stored
storage server
Prior art date
Application number
KR1020140118514A
Other languages
English (en)
Inventor
홍현민
홍승균
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020140118514A priority Critical patent/KR20160029282A/ko
Publication of KR20160029282A publication Critical patent/KR20160029282A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 클라우드 스토리지 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 클라우드 스토리지에 저장된 파일별로 로컬 사용 여부에 대한 태그 정보를 부여하고 관리함으로써, 클라우드 스토리지에 저장된 파일에 대한 접근 요청 시 상기 태그 정보를 이용하여 파일의 로컬 처리를 지원할 수 있는 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법은 단말로부터 클라우드 스토리지 서버에 저장된 파일에 대한 열기 요청이 발생되면, 상기 단말이 상기 파일의 로컬 사용 여부에 대한 태그 정보를 확인하는 단계 및 상기 태그 정보 확인 결과 로컬 사용 중이 아닐 경우, 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역으로 저장한 후 상기 파일을 실행하며, 상기 태그 정보 확인 결과 로컬 사용 중일 경우, 상기 단말 또는 다른 단말의 로컬 저장 영역에 상기 파일이 저장되어 있는 지 여부를 확인한 후 상기 파일을 실행하는 단계를 포함하여 이뤄질 수 있다.

Description

클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체{METHOD FOR PROVIDING OF CLOUD STORAGE SERVICE AND COMPUTER READABLE RECORDING MEDIUM}
본 발명은 클라우드 스토리지 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 클라우드 스토리지에 저장된 파일별로 로컬 사용 여부에 대한 태그 정보를 부여하고 관리함으로써, 클라우드 스토리지에 저장된 파일에 대한 접근 요청 시 상기 태그 정보를 이용하여 파일의 로컬 처리를 지원할 수 있는 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시 예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
최근, 언제 어디서나 사용자가 다양한 단말기를 이용하여 인터넷에 연결된 서버에 접속해서, 서버가 제공하는 스토리지(storage)를 이용하거나, 다양한 어플리케이션을 이용할 수 있는 클라우드 컴퓨팅(cloud computing) 기술이 널리 활용되고 있다.
이 중에서, 클라우드 스토리지 서비스(CSS; Cloud Storage Service)는 물리적으로 떨어져 있는 스토리지 장비를 논리적인 하나의 스토리지로 구성하고, 사용자가 요청 시 스토리지 공간을 용량별로 실시간으로 할당하여 제공할 수 있는 서비스를 의미한다.
이러한 클라우드 스토리지 서비스는 허가된 사용자들에게 스토리지 공간을 할당하고, 사용자는 할당된 스토리지 공간에 상응하는 사용료를 지불함으로써, 클라우드 스토리지 서비스를 이용하게 된다.
그러나, 현재까지의 클라우드 스토리지 서비스는 사용자가 클라우드 스토리지에 접근하여 파일을 처리하고 저장하는 과정을 거침으로써, 네트워크 영향에 따른 응답 지연, 패킷 손실 발생 등 속도와 안정성 측면에서 여러 가지 문제를 야기하고 있다.
한국공개특허 제2012-0010397호, 2012년 2월 3일 공개 (명칭: 클라우드 스토리지 서비스 장치 및 방법)
본 발명은 상기한 종래의 문제점을 해결하기 위해 제안된 것으로서, 특히 클라우드 스토리지에 저장된 파일별로 로컬 사용 여부에 대한 태그 정보를 부여하고 관리함으로써, 클라우드 스토리지에 저장된 파일에 대한 접근 요청 시 상기 태그 정보를 이용하여 파일의 로컬 처리를 지원할 수 있는 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공하는 데 목적이 있다.
그러나, 이러한 본 발명의 목적은 상기의 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 명확하게 이해될 수 있을 것이다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법은 단말로부터 클라우드 스토리지 서버에 저장된 파일에 대한 열기 요청이 발생되면, 상기 단말이 상기 파일의 로컬 사용 여부에 대한 태그 정보를 확인하는 단계; 및 상기 태그 정보 확인 결과 로컬 사용 중이 아닐 경우, 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역으로 저장한 후 상기 파일을 실행하며, 상기 태그 정보 확인 결과 로컬 사용 중일 경우, 상기 단말 또는 다른 단말의 로컬 저장 영역에 상기 파일이 저장되어 있는 지 여부를 확인한 후 상기 파일을 실행하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 태그 정보를 확인하는 단계는 상기 단말이 상기 파일의 태그 정보를 상기 클라우드 스토리지 서버에 질의하여 확인하거나, 상기 클라우드 스토리지 서버로부터 기 수신된 사용자가 접근 가능한 파일의 목록을 통해 확인할 수 있다.
또한, 상기 태그 정보 확인 결과 로컬 사용 중일 경우, 상기 파일을 실행하는 단계는 상기 단말이 자신의 로컬 저장 영역에 상기 파일이 기 저장되어 있는 지 여부를 판단하는 단계; 및 상기 파일이 기 저장되어 있을 경우 상기 단말이 상기 로컬 저장 영역에 기 저장된 파일을 실행하며, 상기 파일이 기 저장되어 있지 않을 경우, 클라우드 스토리지 서버와 연동하여 기 설정된 우선순위에 따라 상기 파일의 실행 여부를 결정하여 실행하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 태그 정보 확인 결과 로컬 사용 중이 아닐 경우, 상기 파일을 실행하는 단계는 상기 단말이 자신의 로컬 저장 영역에 상기 파일이 기 저장되어 있는 지 여부를 판단하는 단계; 및 상기 파일이 기 저장되어 있지 않을 경우, 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역에 저장한 후 상기 로컬 저장 영역에 저장된 상기 파일을 실행하며, 상기 파일이 기 저장되어 있을 경우, 다른 이름으로 열기에 대한 요청이 발생되면, 상기 단말이 상기 로컬 저장 영역에 기 저장된 상기 파일의 이름을 상기 클라우드 스토리지 서버에 저장된 파일의 이름과 다른 이름으로 변경하고, 상기 다른 이름으로 변경된 파일을 상기 클라우드 스토리지 서버로 전송한 후 상기 다른 이름으로 변경된 파일을 실행하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 파일이 기 저장되어 있을 경우, 다른 이름으로 열기에 대한 요청이 발생되지 않으면, 상기 단말이 상기 로컬 저장 영역에 기 저장된 상기 파일을 삭제하는 단계; 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역에 저장하는 단계; 및 상기 단말이 상기 로컬 저장 영역에 저장된 상기 파일을 실행하는 단계;를 더 포함하여 이뤄질 수 있다.
또한, 상기 파일을 실행하는 단계 이후에, 상기 단말이 상기 파일에 대한 저장 후 닫기 종료 요청이 발생되면 상기 로컬 저장 영역에 저장된 상기 파일을 상기 클라우드 스토리지 서버에 전송하며, 상기 파일에 대한 다른 이름으로 저장한 후 닫기 종료 요청이 발생되면 상기 파일의 이름을 다른 이름으로 변경하여 다른 이름으로 변경된 파일을 상기 클라우드 스토리지 서버로 전송하는 단계;를 더 포함하여 이뤄질 수 있다.
이때, 상기 클라우드 스토리지 서버로 전송하는 단계에서, 상기 단말이 상기 클라우드 스토리지 서버 또는 자신의 가용 상태를 확인하는 단계; 및 상기 단말이 상기 클라우드 스토리지 서버의 가용 상태 또는 자신의 가용 상태에 따라 일정 시간 대기 후 상기 파일을 전송하거나, 전송 속도를 조절하여 상기 파일을 전송하는 단계;를 포함하여 이뤄질 수 있다.
또한, 상기 클라우드 스토리지 서버로 전송하는 단계 이후에, 상기 단말이 상기 클라우드 스토리지 서버로의 전송이 완료되면, 상기 로컬 저장 영역에 저장된 상기 파일을 삭제하는 단계;를 더 포함하여 이뤄질 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법은 단말로부터 클라우드 스토리지 서버에 저장된 파일에 대한 탐색 요청이 발생되면, 상기 단말이 상기 클라우드 스토리지 서버로 사용자가 접근 가능한 파일의 목록을 요청하여 수신하는 단계; 상기 단말이 상기 목록에 포함된 각 파일에 대한 태그 정보를 확인하는 단계; 및 상기 단말이 상기 확인된 태그 정보에 따라, 자신의 로컬 저장 영역에 기 저장된 파일을 확인한 후 사용자가 접근 가능한 파일의 목록이 표시되도록 제어하는 단계;를 포함하여 이뤄질 수 있다.
상술한 바와 같은 목적을 달성하기 위한 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법은 클라우드 스토리지 서버가 어느 하나의 단말의 요청에 따라 기 저장된 파일을 상기 단말로 전송하는 단계; 상기 클라우드 스토리지 서버가 상기 파일에 대한 태그 정보를 로컬 사용 중으로 설정하는 단계; 상기 클라우드 스토리지 서버가 상기 단말로부터 상기 파일에 대한 업로드 요청이 발생되면, 상기 기 저장된 파일을 삭제하고 상기 단말로부터 수신된 파일을 수신하여 저장하는 단계; 및 상기 클라우드 스토리지 서버가 상기 파일에 대한 태그 정보를 로컬 사용 중이 아닌 것으로 설정하는 단계;를 포함하여 이뤄질 수 있다.
이때, 상기 단말로 전송하는 단계 이전에, 상기 단말이 요청한 파일의 태그 정보가 로컬 사용 중으로 설정되어 있을 경우, 상기 클라우드 스토리지 서버가 상기 파일을 요청한 상기 단말과 상기 파일을 사용 중인 다른 단말 간의 기 설정된 우선순위에 따라 상기 파일의 전송 여부를 결정하는 단계;를 더 포함하여 이뤄질 수 있다.
추가로 본 발명은 상술한 바와 같은 클라우드 스토리지 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체를 제공할 수 있다.
본 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 의하면, 사용자로부터 클라우드 스토리지 서버에 저장된 파일에 대한 탐색, 편집 요청 시 상기 클라우드 스토리지 서버에서 처리하는 것이 아니라, 상기 사용자의 단말이 일시적으로 저장한 후 단말에서 직접 처리됨으로써, 사용자 입장에서는 보다 안정적인 클라우드 스토리지 서비스 이용이 가능하게 된다.
특히, 파일 편집 시에서는 사용자의 단말에서 지속적으로 처리가 이뤄지고, 파일 편집 완료 시에서는 별다른 사용자 입력이 없더라도 자동 업로드를 지원함으로써, 네트워크 문제로 인해 편집 사항이 손실되는 경우를 원천적으로 차단할 수 있으며, 클라우드 스토리지 서버에 저장된 파일에 대한 보다 손쉬운 충돌 제어가 가능하게 된다.
또한, 본 발명에 의하면, 클라우드 스토리지 서버 접속 불가 시 사용자의 단말의 로컬 저장 영역에 저장된 파일에 대한 접근을 차단함으로써, 클라우드 스토리지 서버에 저장된 파일의 외부 유출을 최소화할 수 있으며, 편집 완료 후 단말의 로컬 저장 영역에 저장된 파일을 삭제함으로써, 클라우드 스토리지 서비스의 로컬 저장에 따라 발생될 수 있는 보안 문제를 최소화할 수 있게 된다.
또한, 사용자의 단말의 로컬 저장 영역에서 처리된 파일을 클라우드 서비스 서버로 업로드 시 클라우드 서비스 서버의 상태 또는 단말 자신의 상태에 따라 대기 후 전송하거나 전송 속도를 조절함으로써, 네트워크 트래픽 집중으로 발생될 수 있는 문제를 예방할 수 있게 된다.
아울러, 상술한 효과 이외의 다양한 효과들이 후술될 본 발명의 실시 예에 따른 상세한 설명에서 직접적 또는 암시적으로 개시될 수 있다.
도 1은 본 발명의 실시 예에 따른 클라우드 스토리지 시스템의 개략적인 구성도이다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 스토리지 서버의 주요 구성을 도시한 블록도이다.
도 4 내지 도 7은 본 발명의 실시 예에 따른 단말에서의 클라우드 스토리지 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 8은 본 발명의 실시 예에 따른 클라우드 스토리지 서버에서의 클라우드 스토리지 서비스 제공 방법을 설명하기 위한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 핵심을 흐리지 않고 더욱 명확히 전달하기 위함이다. 또한 본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 하나, 이는 본 발명을 특정한 실시 형태로 한정하려는 것은 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하기 위해 사용하는 것으로, 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용될 뿐, 상기 구성요소들을 한정하기 위해 사용되지 않는다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제2 구성요소는 제1 구성요소로 명명될 수 있고, 유사하게 제1 구성요소도 제2 구성요소로 명명될 수 있다.
더하여, 어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급할 경우, 이는 논리적 또는 물리적으로 연결되거나, 접속될 수 있음을 의미한다. 다시 말해, 구성요소가 다른 구성요소에 직접적으로 연결되거나 접속되어 있을 수 있지만, 중간에 다른 구성요소가 존재할 수도 있으며, 간접적으로 연결되거나 접속될 수도 있다고 이해되어야 할 것이다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 또한, 본 명세서에서 기술되는 "포함 한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이제 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법에 대하여 도면을 참조하여 상세하게 설명하도록 한다. 이때, 도면 전체에 걸쳐 유사한 기능 및 작용을 하는 부분에 대해서는 동일한 도면 부호를 사용하며, 이에 대한 중복되는 설명은 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 클라우드 스토리지 시스템의 개략적인 구성도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 클라우드 스토리지 시스템(100)은 다수의 단말(10), 클라우드 스토리지 서버(20) 그리고 상기 단말(10) 및 클라우드 스토리지 서버(20) 사이의 정보의 송수신을 지원하는 통신망(30)을 포함하여 구성될 수 있다.
각 구성요소에 대해 개략적으로 설명하면, 먼저, 단말(10)은 사용자의 조작에 따라 통신망(30)을 경유하여 각종 데이터를 송수신할 수 있는 사용자의 장치를 의미한다. 이러한 단말(10)은 통신망(30)을 통해 음성 또는 데이터 통신을 수행할 수 있으며, 클라우드 스토리지 서버(20)와 다양한 정보를 송수신할 수 있다. 이를 위한 본 발명의 단말(10)은 정보의 송수신을 위한 브라우저, 프로그램 및 프로토콜을 저장하는 메모리, 각종 프로그램을 실행하여 연산 및 제어하기 위한 마이크로프로세서 등을 구비할 수 있다.
특히, 본 발명의 실시 예에 따른 단말(10)은 클라우드 스토리지 서버(20)에 접속하고, 클라우드 스토리지 서버(20)에 저장된 파일을 요청하여 이용할 수 있다. 특히, 본 발명의 실시 예에 따른 단말(10)은 클라우드 스토리지 서버(20)에 접속하여 클라우드 스토리지 서버(20)에 저장된 파일을 실행 시 자신의 로컬 저장 영역에 상기 파일을 복사하여 저장한 후 로컬 저장 영역에서 상기 파일을 처리하게 된다. 그리고, 상기 파일에 대한 처리가 완료, 예컨대 사용자로부터 상기 파일 닫기 요청이 발생되면, 자동적으로 클라우드 스토리지 서버(20)에 업로드시키는 과정을 수행할 수 있다. 이때, 본 발명의 실시 예에 따른 단말(10)은 각각의 파일별로 관리되는 로컬 사용 여부에 대한 태그 정보를 확인한 후, 다른 단말(10)의 사용자와 충돌되는 과정 없이, 해당 파일의 로컬 처리가 가능하게 된다. 보다 구체적인 단말(10)에서의 주요 동작에 대해서는 후술하도록 한다.
클라우드 스토리지 서버(20)는 본 발명의 실시 예에 따른 클라우드 스토리지 서비스를 제공하는 장치로, 특히 각 단말(10)별로 클라우드 스토리지 공간을 할당하고, 이를 관리하는 역할을 수행할 수 있다. 특히, 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)는 단말(10)로부터 전송된 각 파일별로 로컬 사용 여부에 대한 태그 정보를 설정하고 관리하는 역할을 수행한다. 이때, 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)는 어느 하나의 단말(10)로부터 저장된 특정 파일에 대한 접근 요청이 발생되면, 상기 파일을 복사하여 상기 단말(10)로 전송하되, 상기 파일에 대한 태그 정보를 로컬 사용 중임을 나타내는 태그 정보로 설정하고, 상기 단말(10)로부터 상기 파일이 다시 업로드되어 수신되면, 기존 파일을 삭제하고 상기 파일로 대체되는 과정을 제어하며, 이때 상기 파일에 대한 태그 정보를 로컬 사용 중이 아님을 나타내는 태그 정보로 설정되는 과정을 제어할 수 있다.
보다 구체적인 클라우드 스토리지 서버(20)의 주요 구성 및 동작 방법에 대해서는 후술하도록 하며, 본 발명의 실시 예에 따른 단말(10) 및 클라우드 스토리지 서버(20)에 탑재되는 프로세서는 본 발명에 따른 방법을 실행하기 위한 프로그램 명령을 처리할 수 있다. 일 구현 예에서, 이 프로세서는 싱글 쓰레드(Single-threaded) 프로세서일 수 있으며, 다른 구현 예에서 본 프로세서는 멀티 쓰레드(Multithreaded) 프로세서일 수 있다. 나아가 본 프로세서는 메모리 혹은 저장 장치 상에 저장된 명령을 처리하는 것이 가능하다.
또한, 본 발명의 실시 예에 따른 단말(10) 및 클라우드 스토리지 서버(20)는 통신망(30)을 통해 관련된 다양한 정보를 송수신하게 되며, 이때의 통신망(30)은 다양한 형태의 통신망이 이용될 수 있다.
예컨대, WLAN(Wireless LAN), 와이파이(Wi-Fi), 와이브로(Wibro), 와이맥스(Wimax), HSDPA(High Speed Downlink Packet Access) 등의 무선 통신 방식 또는 이더넷(Ethernet), xDSL(ADSL, VDSL), HFC(Hybrid Fiber Coaxial Cable), FTTC(Fiber to The Curb), FTTH(Fiber To The Home) 등의 유선 통신 방식을 이용할 수 있다. 또한, 상술한 통신 방식 이외에도 기타 널리 공지되었거나 향후 개발될 모든 형태의 통신 방식을 포함할 수 있다.
이하, 본 발명의 실시 예에 따른 단말(10)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 2는 도 1에 도시된 본 발명의 실시 예에 따른 단말의 주요 구성을 도시한 블록도이다.
도 1 및 도 2를 참조하면, 본 발명의 실시 예에 따른 단말(10)은 통신부(11), 입력부(12), 제어부(13), 저장부(14) 및 표시부(15)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저, 통신부(11)는 통신망(30)을 통해 클라우드 스토리지 서버(20)와 다양한 정보의 송수신을 지원하는 역할을 수행한다. 특히, 본 발명의 실시 예에 따른 통신부(11)는 클라우드 스토리지 서버(20)로부터 사용자가 요청한 파일을 수신하며, 상기 파일에 대한 처리가 완료되면, 클라우드 스토리지 서버(20)로 상기 파일을 업로드하는 과정을 지원할 수 있다.
입력부(12)는 사용자로부터 입력되는 숫자 및 문자 정보 등의 다양한 정보, 각종 기능 설정 및 단말(10)의 기능 제어와 관련하여 입력되는 신호를 제어부(13)로 전달한다. 특히, 본 발명의 입력부(12)는 특정 파일에 대한 탐색 요청, 열기 요청, 닫기 요청에 대한 사용자 입력을 지원할 수 있다. 또한, 본 발명의 입력부(12)는 파일 편집을 위한 다양한 사용자 입력을 지원할 수 있다.
이러한 입력부(12)는 상술한 바와 같이, 키보드나 키패드와 같은 키 입력 수단, 터치센서나 터치 패드와 같은 터치 입력 수단, 음성 입력 수단, 자이로 센서, 지자기 센서, 가속도 센서와 근접 센서, 그리고 카메라 중 적어도 하나 이상을 포함하여 이루어지는 제스처 입력 수단을 포함할 수도 있다.
이 외에도 현재 개발 중이거나 향후 개발될 수 있는 모든 형태의 입력 수단이 포함될 수 있다.
제어부(13)는 단말(10)의 전반적인 제어를 수행하는 것으로, 하드웨어적으로 CPU(Central Processing Unit)/MPU(Micro Processing Unit)를 포함하는 적어도 하나 이상의 프로세서와 적어도 하나 이상의 메모리 로딩 데이터가 로딩되는 실행 메모리(예컨대, 레지스터 및/또는 RAM(Random Access Memory)) 및 상기 프로세서와 메모리로 적어도 하나 이상의 데이터들을 입출력하는 버스(BUS)를 포함하여 이루어질 수 있다. 또한 소프트웨어적으로 단말(10)에 정의된 기능(예컨대, 클라우드 스토리지 서비스 제공 지원을 위한 로컬 저장 영역 처리 기능)을 수행하기 위해 소정의 기록매체로부터 상기 실행 메모리로 로딩되어 상기 프로세서에 의해 연산 처리되는 소정의 프로그램 루틴(Routine) 또는 프로그램 데이터를 포함하여 이루어질 수 있다. 다시 말해, 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법을 처리하기 위해 단말(10)에 구비되는 기능 중 소프트웨어적으로 처리가 가능한 구성 요소를 제어부(13)의 기능으로 판단할 수 있다.
이러한, 본 발명의 제어부(13)는 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법을 지원하기 위해 구비되는 적어도 하나 이상의 구성 요소와 기능적으로 연결된다. 즉, 제어부(13)는 통신부(11), 입력부(12), 저장부(14) 및 표시부(15)와 기능적으로 연결되며, 상기 각 구성 요소에 전원 공급 및 기능 수행을 위한 신호의 흐름을 제어하게 된다.
특히, 본 발명의 실시 예에 따른 제어부(13)는 사용자의 요청에 따라 클라우드 스토리지 서버(20)에 접속하고, 클라우드 스토리지 서버(20)에 저장된 파일을 요청하여 이용할 수 있다. 특히, 본 발명의 실시 예에 따른 제어부(13)는 클라우드 스토리지 서버(20)에 접속하여 클라우드 스토리지 서버(20)에 저장된 파일을 실행 시 자신의 로컬 저장 영역에 상기 파일을 복사하여 저장한 후 로컬 저장 영역에서 상기 파일을 처리하게 된다. 그리고, 상기 파일에 대한 처리가 완료, 예컨대 사용자로부터 상기 파일 닫기 요청이 발생되면, 자동적으로 클라우드 스토리지 서버(20)에 업로드시키는 과정을 수행할 수 있다. 이때, 본 발명의 실시 예에 따른 제어부(13)는 각각의 파일별로 관리되는 로컬 사용 여부에 대한 태그 정보를 확인한 후, 다른 단말(10)의 사용자와 충돌되는 과정 없이, 해당 파일의 로컬 처리가 가능하게 된다.
이에 대해 보다 구체적으로 설명하도록 한다.
먼저, 본 발명의 실시 예에 따른 제어부(13)는 사용자로부터 발생되는 접근 요청에 따라 클라우드 스토리지 서버(20)에 접속하고, 클라우드 스토리지 서버(20)에 저장된 파일의 탐색, 열기, 편집, 저장 등의 과정을 제어할 수 있다. 여기서, 바람직하게는 클라우드 스토리지 서버(20)에 저장된 파일에 대한 탐색, 열기, 편집, 저장의 과정은 순차적으로 이뤄질 수 있다.
즉, 제어부(13)는 사용자의 요청에 따라 클라우드 스토리지 서버(20)에 접속하고, 정상적인 접속 절차가 이뤄지면, 클라우드 스토리지 서버(20)에 저장된 파일의 목록을 확인할 수 있다. 이때, 제어부(13)는 사용자를 식별할 수 있는 식별 정보를 클라우드 스토리지 서버(20)로 제공하고, 클라우드 스토리지 서버(20)에 의해 정상적인 사용자로 판단된 경우, 상기 사용자가 접근 가능한 파일의 목록을 수신할 수 있게 된다. 그리고, 제어부(13)는 수신된 파일의 목록을 표시부(15)를 통해 표시되는 과정을 제어할 수 있다. 아울러, 본 발명의 제어부(13)는 상기 수신된 파일의 목록에서 각 파일에 대한 태그 정보를 확인하고, 태그 정보에 따라, 자신의 로컬 저장 영역에 기 저장된 파일이 존재하는 지의 확인 과정을 수행할 수 있다. 예를 들어, 수신된 파일의 목록에서 로컬 사용 중임을 나타내는 태그 정보를 포함하는 파일이 존재하는 경우, 상기 파일이 자신의 로컬 저장 영역에 저장되어 있는 지 여부를 확인한다. 확인 결과, 로컬 저장 영역에 저장되어 있을 경우, 제어부(13)는 추후 파일 열기 요청 시, 바로 로컬 저장 영역에 저장된 파일의 열기 과정을 제어할 수 있으며, 반면, 로컬 사용 중임을 나타내는 태그 정보에 해당하는 파일이 자신의 로컬 저장 영역에 저장되어 있지 않을 경우, 파일 열기 요청 시 클라우드 스토리지 서버(20)와 연동하여 기 설정된 우선순위에 따라 해당 파일의 열기 요청을 처리하는 과정을 수행할 수 있다.
더하여, 바람직한 일 실시 예에서는 제어부(13)는 클라우드 스토리지 서버(20)에 저장된 사용자가 접근 가능한 파일의 목록을 수신하여 표시부(15)를 통해 표시할 경우, 자신의 로컬 저장 영역에 저장된 파일과 그렇지 않은 파일을 구분하여 표시되도록 제어할 수도 있다. 특히, 로컬 사용 중이나 자신의 로컬 저장 영역에 저장되어 있지 않을 경우, 우선순위에 따라 파일의 열기 요청이 이뤄져야 하므로, 이를 사전에 안내하기 위해, 해당 파일 인근, 예컨대 아이콘 상에 특정 표식을 달거나, 해당 파일의 아이콘을 클릭할 경우, 상기 파일을 열기 이전에 "열기 요청하신 파일은 다른 사용자에 의해 사용 중 입니다." 등과 같은 안내 메시지가 표시되도록 제어할 수 있다.
아울러, 본 발명의 실시 예에 따른 제어부(13)는 상기 입력부(12)를 통해 입력된 특정 파일에 대한 열기 요청이 발생된 것으로 판단되면, 먼저, 해당 파일에 대한 태그 정보를 확인하게 된다. 상기 파일에 대한 태그 정보를 확인하는 과정은 제어부(13)가 통신부(11)를 통해 클라우드 스토리지 서버(20)에 질의하여 확인하거나, 기 수신된 상기 사용자가 접근 가능한 파일의 목록이 존재할 경우, 상기 목록에 포함된 상기 파일의 태그 정보를 통해 확인이 가능하다. 이러한 확인 과정을 거쳐 태그 정보를 확인하게 되면, 확인된 태그 정보에 따라 제어부(13)는 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역으로 저장한 후 상기 파일을 실행하거나, 자신 또는 다른 단말에 의해 상기 파일이 저장되어 있는 지 여부를 확인한 후 상기 파일의 실행 과정을 제어할 수 있다.
이에 대해 보다 구체적으로 설명하면, 먼저, 확인된 태그 정보가 로컬 사용 중임을 나타내는 태그 정보일 경우의 동작 과정에 대해 설명하도록 한다.
제어부(13)는 확인된 태그 정보가 로컬 사용 중임을 나타내는 태그 정보일 경우, 상기 파일이 저장부(14)의 로컬 저장 영역(14a)에 저장되어 있는 지 여부를 확인한다. 확인 결과, 로컬 저장 영역(14a)에 기 저장되어 있을 경우, 제어부(13)는 상기 로컬 저장 영역(14a)에 저장된 해당 파일을 바로 실행하게 된다.
반면, 확인된 태그 정보가 로컬 사용 중임을 나타내는 태그 정보이나, 저장부(14)의 로컬 저장 영역(14a)에 기 저장되어 있지 않을 경우, 다른 단말의 사용자에 의해 해당 파일이 사용 중임을 의미하므로, 클라우드 스토리지 서버(20)와 연동하여 기 설정된 우선순위에 따라 상기 파일의 실행 여부를 결정할 수 있다. 이때, 해당 파일이 다른 사용자(또는 다른 단말)에 의해 사용 중임을 알리기 위한 메시지를 출력하고, 사용자가 해당 파일의 실행을 요청하는 경우, 제어부(13)는 클라우드 스토리지 서버(20)로 사용자로부터 해당 파일의 실행 요청이 발생되었음을 알리고, 클라우드 스토리지 서버(20)난 각 사용자별, 또는 각 기기별로 기 설정된 우선순위를 확인하여 우선순위에 따라 파일의 실행 여부를 결정할 수 있다. 예를 들어, A 파일을 현재 팀원인 BBB가 사용 중이나, 팀장인 CCC가 상기 A 파일의 실행을 요청한 경우, 클라우드 스토리지 서버(20)는 팀장인 CCC의 우선순위가 더 높음을 확인하고, A 파일을 사용 중인 팀원인 BBB의 단말로 "CCC 팀장이 해당 파일의 사용을 요청하여, 해당 파일의 연결이 종료됩니다." 등의 안내 메시지를 제공할 수 있다. 아울러, 사용자가 A 파일을 PC에서 사용 중에 타블렛 PC에서 실행을 요청한 경우, 클라우드 스토리지 서버(20)와 연동하여 PC 또는 타블렛 PC 중 기 설정된 우선순위가 더 높은 기기에서의 파일 접근을 처리할 수도 있다.
반면, 확인된 태그 정보가 로컬 사용 중이 아님을 나타내는 태그 정보일 경우, 제어부(13)는 먼저, 자신의 로컬 저장 영역(14a)을 검사하여, 상기 파일이 기 저장되어 있는 지 여부를 판단하고, 기 저장되어 있지 않을 경우, 클라우드 스토리지 서버(20)에 저장된 파일을 복사하여 로컬 저장 영역(14a)에 저장되도록 제어하게 된다. 그리고, 로컬 저장 영역(14a)에 기 저장된 파일을 실행하게 된다.
반면, 제어부(13)는 상기 파일의 확인된 태그 정보가 로컬 사용 중이 아님을 나타내는 태그 정보이나, 자신의 로컬 저장 영역(14a)에 기 저장되어 있을 경우, 제어부(13)는 "이 파일은 다른 기기에서 이미 수정되었습니다. 기존의 파일을 다른 이름으로 여시겠습니까?"라는 메시지를 출력하고, 사용자로부터 다른 이름으로 열기에 대한 요청이 발생되면, 제어부(13)는 상기 로컬 저장 영역(14a)에 기 저장된 파일의 이름을 클라우드 스토리지 서버(20)에 저장된 파일의 이름과 다른 이름으로 변경하고, 상기 다른 이름으로 변경된 파일을 클라우드 스토리지 서버(20)로 전송한 후 다른 이름으로 변경된 파일을 실행하는 과정을 제어하게 된다. 여기서, 제어부(13)는 상기 로컬 저장 영역(14a)에 기 저장된 파일의 이름을 다른 이름으로 변경 시 원래의 파일 이름 뒤에 현재 시간 값을 붙여서 이름을 변경할 수 있다. 예를 들어, 원래의 파일 이름이 'A.xls'일 경우, 변경된 파일 이름은 현재 시간에 대한 정보가 추가된 'A_20140804_14시11분.xls'의 형태로 변경될 수 있다.
한편, 상기 메시지 출력 시 사용자로부터 다른 이름으로 열기에 대한 요청이 발생되지 않으면, 제어부(13)는 로컬 저장 영역(14a)에 기 저장된 파일을 삭제하고, 클라우드 스토리지 서버(20)에 저장된 파일을 복사하여 로컬 저장 영역(14a)에 저장한 후, 상기 로컬 저장 영역(14a)에 저장된 파일이 실행되는 과정을 제어할 수 있다.
더하여, 본 발명의 실시 예에 따른 제어부(13)는 클라우드 스토리지 서버(20)에 저장된 상기 파일을 복사하여 로컬 저장 영역(14a)에 저장 시, 로컬 저장 영역(14a)을 동적으로 할당하는 과정을 지원할 수 있다. 예를 들어, 복사하고자 하는 파일의 용량이 1Gbyte일 경우, 제어부(13)는 상기 파일을 처리할 수 있도록 1Gbyte 보다 소정의 용량이 더 큰 로컬 저장 영역(14a)을 할당할 수 있으며, 복사하고자 하는 파일의 용량이 100Mbyte 일 경우, 제어부(13)는 상기 파일을 처리할 수 있도록 100Mbyte 보다 소정의 용량이 더 큰 로컬 저장 영역(14a)을 할당할 수 있다. 또한, 제어부(13)는 자신의 상태에 따라, 여러 파일들이 동시에 실행되고 있을 경우, 로컬 저장 영역(14a)이 최소한만 할당되도록 제어할 수도 있다.
이후, 제어부(13)는 상기 파일을 실행하여 사용자에 의해 상기 파일이 편집 과정을 제어할 수 있다. 이때, 상기 파일의 편집에 따라 저장 요청 또는 자동 저장 요청이 발생되는 경우, 상기 파일을 로컬 저장 영역(14a)에 저장되게 된다. 반면, 상기 파일에 대한 저장 후 닫기 종료 요청 시, 제어부(13)는 별다른 사용자의 입력이 없더라도 자동적으로 상기 변경된 파일을 클라우드 스토리지 서버(20)에 전송하게 된다. 한편, 상기 파일에 대한 다른 이름으로 저장한 후 닫기 종료 요청이 발생되면, 제어부(13)는 상기 파일의 이름을 다른 이름으로 변경하여 다른 이름으로 변경된 파일을 클라우드 스토리지 서버(20)로 전송할 수 있다.
아울러, 본 발명의 실시 예에 따른 제어부(13)는 상기 파일에 대한 편집 시 클라우드 스토리지 서버(20)의 접속 종료 여부를 판단하여, 접속이 종료된 것으로 판단되면, 상기 파일의 로컬 저장 영역의 저장을 차단하는 과정을 수행할 수도 있다.
더하여, 제어부(13)는 상기 파일을 클라우드 스토리지 서버(20)로 전송 시 클라우드 스토리지 서버(20)의 가용 상태에 따라 또는 자신의 가용 상태에 따라 일정 시간 대기 후 상기 파일을 전송하거나, 전송 속도를 조절하여 상기 파일을 클라우드 스토리지 서버(20)로 전송할 수도 있다.
예를 들어, 제어부(13)는 클라우드 스토리지 서버(20) 또는 자신의 가용성을 점검하여, 80% 이상이면 보류, 50% 이상이면 경계, 그 이하면 원활로 설정할 수 있으며, 보류 단계 이면, 일정 시간 대기 이후 파일 전송, 경계 상태이면, 전송 속도를 조절하여 파일 전송, 원활이면 즉시 파일을 클라우드 스토리지 서버(20)로 전송되도록 제어할 수 있다.
그리고, 제어부(13)는 상기 파일의 클라우드 스토리지 서버(200로의 전송이 완료되면, 로컬 저장 영역(14a)에 기 저장된 파일을 삭제할 수 있다.
본 발명의 실시 예에 따른 제어부(13)는 상술한 바와 같은 동작 수행을 위해 메모리 관리 모듈(13a), 파일 접근 제어 모듈(13b), 상태 확인 모듈(13c)을 포함하여 구성될 수 있다. 여기서, 메모리 관리 모듈(13a)은 로컬 저장 영역(14a)을 동적으로 할당하고 관리하는 역할을 수행할 수 있다. 파일 접근 제어 모듈(13b)은 상술한 바와 같이 사용자의 파일 열기 요청, 탐색 요청, 종료 요청 등에 따른 처리 과정을 제어할 수 있다. 그리고, 상태 확인 모듈(13c)은 단말(10)의 현재 상태, 예컨대 CPU 사용량, 속도, 메모리 크기 등을 통해 단말(10)의 현재 상태를 파악하는 과정을 제어할 수 있다.
저장부(14)는 본 발명의 실시 예에 따른 기능 동작에 필요한 응용 프로그램을 비롯하여, 그 응용 프로그램 실행 중에 발생되는 다양한 데이터를 일시적으로 저장할 수 있다. 특히, 본 발명의 실시 예에 따른 저장부(14)는 제어부(13)의 제어에 따라 로컬 저장 영역(14a)을 할당하고 관리하는 과정을 수행할 수 있다.
이러한 저장부(14)는 크게 프로그램 영역과 데이터 영역을 포함할 수 있다. 프로그램 영역은 단말(10)을 부팅시키는 운영체제(OS)와 같은 단말(10) 구동을 위한 관련된 정보들을 저장한다. 데이터 영역은 단말(10)의 사용에 따라 발생되는 데이터가 저장되는 영역으로, 상술한 바와 같이 제어부(13)에 의해 지정된 로절 저장 영역(14a)에, 클라우드 스토리지 서버(20)에 저장된 파일을 복사하여 저장될 수 있는 영역을 의미한다. 이러한, 저장부(14)는 플래시 메모리(flash memory), 하드디스크(hard disk), 멀티미디어 카드 마이크로(multimedia card micro) 타입의 메모리(예컨대, SD 또는 XD 메모리 등), 램(RAM), 롬(ROM) 등의 저장매체를 포함하여 구성될 수 있다.
아울러, 본 발명의 일 실시 예에 따른 로컬 저장 영역(14a)은 단말(10)의 저장부(14)에 위치하는 것을 예로 들어 설명하나, 이에 한정되는 것은 아니며 단말(10)과 독립된 형태의 장치의 저장부에 위치할 수도 있다. 예를 들어, 개인용 액세스 포인트(Access Point)의 유휴 메모리 영역을 활용할 수 있으며, 독립된 형태의 장치에 위치하는 로컬 저장 영역(14a)에 단말(10)이 접근하여 상술한 바와 같은 본 발명의 처리 과정을 수행할 수도 있다.
표시부(15)는 단말(10)의 기능 수행 중에 발생하는 일련의 동작 상태 및 동작 결과 등에 대한 정보를 표시한다. 특히, 본 발명의 표시부(15)는 클라우드 스토리지 서버(20)에 저장된 파일의 목록을 표시할 수 있으며, 상기 파일의 실행, 편집, 저장 등의 단계에 따라 발생되는 다양한 정보를 표시할 수 있다.
이러한, 표시부(15)는 상술한 바와 같이 입력부(12)와 함께 하나의 터치패널(또는 터치스크린)의 형태로 구현될 수도 있으며, 상기 입력부(12)와 함께 구현되는 경우, 사용자의 터치 동작에 따라 발생되는 다양한 정보들을 표시할 수 있다.
또한, 상술한 바와 같은 본 발명의 표시부(15)는 LCD(Liquid Crystal Display), TFT-LCD(Thin Film Transistor LCD), OLED(Organic Light Emitting Diodes), 발광다이오드(LED), AMOLED(Active Matrix Organic LED), 플렉시블 디스플레이(Flexible display) 및 3차원 디스플레이(3 Dimension) 등으로 구성될 수 있다. 또한 이들 중 일부 디스플레이는 그를 통해 외부를 볼 수 있도록 투명형 또는 광투과형으로 구성될 수 있다. 이는 TOLED(Transparant OLED)를 포함하는 투명 디스플레이 형태로 구성될 수 있다.
이와 같이, 도 2를 통해 단말(10)의 주요 구성요소에 대해 설명하였다. 그러나 도 2를 통해 도시된 구성요소가 모두 필수 구성요소인 것은 아니며, 도시된 구성요소보다 많은 구성 요소에 의해 단말(10)이 구현될 수도 있고, 그 보다 적은 구성요소에 의해 단말(10)이 구현될 수도 있다. 예컨대, 단말(10)은 전기적인 신호인 음원을 아날로그 신호로 변환하여 출력하는 음원 출력부(미도시)를 더 포함하여 구성될 수도 있다.
또한, 도 2를 통해 도시된 단말(10)의 주요 구성요소의 위치는 얼마든지 편의상 또는 다른 이유로 바뀔 수 있음이 물론이다. 또한, 제어부(13)를 구성하는 모듈은 메모리 관리 모듈(13a), 파일 접근 제어 모듈(13b), 상태 확인 모듈(13c)만을 도시하였으나, 이에 한정되는 것은 아니며, 다양한 기능을 수행하는 다양한 모듈로 제어부(13)가 구성될 수도 있다.
이상으로 본 발명의 실시 예에 따른 단말(10)의 주요 구성 및 동작 방법에 대해 설명하였다. 이러한 본 발명의 단말(10)은 다양한 형태로 구현될 수 있다. 예를 들어, 본 명세서에서 기술되는 단말(10)은 스마트 폰(smart phone), 타블렛 PC(Tablet PC), PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), MP3 Player 등의 이동 단말기는 물론, 스마트 TV(Smart TV), 데스크탑 컴퓨터 등과 같은 고정 단말기가 사용될 수도 있다.
이러한 본 발명의 단말(10)은 디지털 기기의 컨버전스(convergence) 추세에 따라 휴대 기기의 변형이 매우 다양하여 모두 열거할 수는 없으나, 상기 언급된 유닛들과 동등한 수준의 유닛이 본 발명에 따른 단말(10)로 사용될 수도 있으며, 통신망(30)을 통해 클라우드 스토리지 서버(20)와 정보를 송수신할 수 있는 단말이라면 그 어떠한 장치도 본 발명의 단말(10)로 적용 가능하다.
이하, 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)의 주요 구성 및 동작 방법에 대해 설명하도록 한다.
도 3은 도 1에 도시된 본 발명의 실시 예에 따른 클라우드 스토리지 서버의 주요 구성을 도시한 블록도이다.
도 1 및 도 3을 참조하면, 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)는 서버 통신부(21), 서버 제어부(22) 및 서버 저장부(23)를 포함하여 구성될 수 있다.
각 구성 요소에 대해 보다 구체적으로 설명하면, 먼저 서버 통신부(21)는 통신망(30)을 통해 하나 이상의 단말(10)과 다양한 정보를 송수신하는 역할을 지원하게 된다. 특히, 본 발명의 서버 통신부(21)는 어느 하나의 단말(10)의 요청에 따라 서버 저장부(23)에 저장된 파일을 제공하고, 상기 단말(10)로부터 서버 저장부(23)에 저장될 파일을 수신하는 과정을 지원할 수 있다.
서버 제어부(22)는 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)의 전반적인 제어를 수행하는 것으로, 특히, 본 발명의 실시 예에 따른 서버 제어부(22)는 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법을 위한 다양한 제어를 수행할 수 있다.
보다 구체적으로 설명하면, 먼저, 서버 제어부(22)는 본 발명의 클라우드 스토리지 서비스에 가입된 사용자에 대한 정보를 저장하고 관리할 수 있다. 그리고, 서버 제어부(22)는 어느 하나의 단말(10)로부터 상기 단말(10)의 사용자가 접근 가능한 파일의 목록에 대한 요청이 수신되면, 상기 단말(10)의 사용자가 접근 가능한 파일의 목록을 확인한 후 상기 단말(10)로 제공할 수 있다.
그리고, 서버 제어부(22)는 각 파일별로 로컬 사용 여부를 나타내는 태그 정보를 설정하고 관리하는 과정을 수행할 수 있다. 즉, 서버 제어부(22)는 어느 하나의 단말(10)로부터 파일이 최초 수신되면, 상기 파일에 대한 태그 정보를 로컬 사용 중이 아님을 나타내는 태그 정보로 설정한다. 그리고, 상기 단말(10)의 요청에 따라 상기 파일을 상기 단말(10)로 전송하면, 상기 단말(10)에서 파일이 이용되고 있음을 알리기 위해 상기 파일에 대한 태그 정보를 로컬 사용 중임을 나타내도록 설정한다.
그리고, 상기 단말(10)로부터 상기 파일에 대한 업로드 요청이 발생되면, 서버 제어부(22)는 상기 서버 저장부(23)에 기 저장된 파일을 삭제하고, 상기 단말(10)로부터 전송되는 파일을 수신하여 상기 서버 저장부(23)에 저장되는 과정을 제어할 수 있다. 그리고 상기 단말(10)로부터 모든 업로드가 완료되면, 상기 서버 제어부(22)는 상기 파일에 대한 태그 정보를 로컬 사용 중으로 나타내도록 설정할 수 있다.
더하여, 서버 제어부(22)는 상기 단말(10)의 요청에 따라 상기 단말(10)로 파일 전송 시, 상기 단말(10)이 요청한 파일의 태그 정보를 확인하여, 상기 파일의 태그 정보가 로컬 사용 중임을 나타내는 태그 정보일 경우, 상기 파일이 다른 단말에서 처리 중임을 의미하므로, 상기 파일을 요청한 단말(10)과 상기 파일을 사용 중인 다른 단말 간의 기 설정된 우선순위에 따라 상기 파일의 전송 여부를 결정할 수 있다. 그리고 서버 제어부(22)는 상기 단말(10)로부터 해당 파일 수신 시 자신의 가용 상태를 확인하고, 확인된 가용 상태에 따라 파일 수신 되는 과정을 제어할 수도 있다.
이러한 본 발명의 실시 예에 따른 서버 제어부(22)는 상술한 동작을 수행하기 위해, 사용자 관리 모듈(22a), 데이터 처리 모듈(22b), 스토리지 관리 모듈(22c), 상태 확인 모듈(22d)을 포함하여 구성될 수 있다.
서비스 저장부(22)는 클라우드 스토리지 서버(20)의 기능 실행에 따른 모든 프로그램을 저장한다. 특히, 본 발명에 따른 서비스 저장부(22)는 단말(10)로 서비스 제공에 따른 다양한 정보를 저장하게 된다. 예컨대, 서비스 저장부(22)는 다수의 클라우드 스토리지(23a) 공간을 구비하며, 단말(10)의 사용자별로 클라우드 스토리지(23a) 공간을 할당하고 제어하는 구성을 제어할 수 있다. 또한, 서비스 저장부(22)에 저장되는 파일은 접근 가능한 사용자별로 구분되어 저장될 수 있으며, 그리고 각각의 파일은 로컬 사용 여부를 나타내기 위한 태그 정보가 부여되어 관리될 수 있다.
이러한, 본 발명의 서버 저장부(23)는 클라우드 스토리지 서버(20) 내 위치하는 저장소일 수 있고, 클라우드 스토리지 서버(20) 외부에 위치하여 클라우드 스토리지 서버(20)와 데이터 송수신이 가능한 데이터 저장 서버가 될 수도 있다.
이상으로 본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)의 주요 구성 및 동작 방법에 대해 설명하였다.
본 발명의 실시 예에 따른 클라우드 스토리지 서버(20)는 하드웨어적으로는 통상적인 웹서버(Web Server) 또는 네트워크 서버와 동일한 구성을 하고 있다. 그러나, 소프트웨어적으로는 C, C++, Java, Visual Basic, Visual C 등과 같은 언어를 통하여 구현되는 프로그램 모듈(Module)을 포함한다. 클라우드 스토리지 서버(20)는 웹서버 또는 네트워크 서버의 형태로 구현될 수 있으며, 웹서버는 일반적으로 인터넷과 같은 개방형 컴퓨터 네트워크를 통하여 불특정 다수 클라이언트 및/또는 다른 서버와 연결되어 있고, 클라이언트 또는 다른 웹서버의 작업수행 요청을 접수하고 그에 대한 작업 결과를 도출하여 제공하는 컴퓨터 시스템 및 그를 위하여 설치되어 있는 컴퓨터 소프트웨어(웹서버 프로그램)를 뜻하는 것이다. 그러나, 전술한 웹서버 프로그램 이외에도, 웹서버 상에서 동작하는 일련의 응용 프로그램(Application Program)과 경우에 따라서는 내부에 구축되어 있는 각종 데이터베이스를 포함하는 넓은 개념으로 이해되어야 할 것이다. 이러한 클라우드 스토리지 서버(20)는 일반적인 서버용 하드웨어에 도스(DOS), 윈도우(Windows), 리눅스(Linux), 유닉스(UNIX), 매킨토시(Macintosh) 등의 운영체제에 따라 다양하게 제공되고 있는 웹서버 프로그램을 이용하여 구현될 수 있으며, 대표적인 것으로는 윈도우 환경에서 사용되는 웹사이트(Website), IIS(Internet Information Server)와 유닉스환경에서 사용되는 CERN, NCSA, APPACH 등이 이용될 수 있다. 또한, 클라우드 스토리지 서버(20)는 서비스 가입 정보를 분류하여 회원 데이터베이스(Database)에 저장시키고 관리할 수 있으며, 이러한 데이터베이스는 클라우드 스토리지 서버(20)의 내부 또는 외부에 구현될 수 있다. 이때, 클라우드 스토리지 서버(20) 내부에 구현되는 상기 데이터베이스는 서버 저장부(23)가 될 수 있다.
한편, 단말(10) 또는 클라우드 스토리지 서버(20)에 탑재되는 메모리는 그 장치 내에서 정보를 저장한다. 일 구현예의 경우, 메모리는 컴퓨터로 판독 가능한 매체이다. 일 구현 예에서, 메모리는 휘발성 메모리 유닛 일 수 있으며, 다른 구현예의 경우, 메모리는 비휘발성 메모리 유닛 일 수도 있다. 일 구현예의 경우, 저장장치는 컴퓨터로 판독 가능한 매체이다. 다양한 서로 다른 구현 예에서, 저장장치는 예컨대 하드디스크 장치, 광학디스크 장치, 혹은 어떤 다른 대용량 저장장치를 포함할 수도 있다.
아울러, 본 발명의 실시 예에서 사용되는 '~모듈'이라는 용어는 소프트웨어 구성요소를 의미하며, '~모듈'은 어떤 역할들을 수행한다. 일 예로서 '~모듈'은 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 또한, 구성요소들과 '~모듈'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~모듈'들로 결합되거나 추가적인 구성요소들과 '~모듈'들로 더 분리될 수 있다.
비록 본 명세서와 도면에서는 예시적인 장치 구성을 기술하고 있지만, 본 명세서에서 설명하는 기능적인 동작과 주제의 구현물들은 다른 유형의 디지털 전자 회로로 구현되거나, 본 명세서에서 개시하는 구조 및 그 구조적인 등가물들을 포함하는 컴퓨터 소프트웨어, 펌웨어 혹은 하드웨어로 구현되거나, 이들 중 하나 이상의 결합으로 구현 가능하다. 본 명세서에서 설명하는 주제의 구현물들은 하나 이상의 컴퓨터 프로그램 제품, 다시 말해 본 발명에 따른 장치의 동작을 제어하기 위하여 혹은 이것에 의한 실행을 위하여 유형의 프로그램 저장매체 상에 인코딩된 컴퓨터 프로그램 명령에 관한 하나 이상의 모듈로서 구현될 수 있다. 컴퓨터로 판독 가능한 매체는 기계로 판독 가능한 저장 장치, 기계로 판독 가능한 저장 기판, 메모리 장치, 기계로 판독 가능한 전파형 신호에 영향을 미치는 물질의 조성물 혹은 이들 중 하나 이상의 조합일 수 있다.
이하, 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법에 대해 설명하도록 한다.
도 4 내지 도 7은 본 발명의 실시 예에 따른 단말에서의 클라우드 스토리지 서비스 제공 방법을 설명하기 위한 흐름도이다.
먼저, 도 4를 참조하여 설명하도록 하면, 도 4는 본 발명의 실시 예에 따른 단말에서의 클라우드 스토리지 서비스 제공 방법을 개략적으로 설명하기 위한 흐름도로, 먼저, 단말(10)이 클라우드 스토리지 서비스에 접속하는 과정을 수행할 수 있다(S101). 상기 과정은 클라우드 스토리지 서비스를 제공하는 클라우드 스토리지 서버(20)에 접속하는 과정을 의미하는 것으로, 상기 클라우드 스토리지 서버(20)에 접속하여 사용자 인증을 완료한 상태가 될 수 있다.
그리고, 단말(10)은 사용자로부터 특정 접근 요청이 발생되면(S103), 파일의 태그 정보에 따라 상기 사용자의 접근 요청을 처리할 수 있게 된다(S105). 여기서, 사용자의 접근 요청은 순차적으로 이뤄질 수 있다. 예컨대, 먼저, 사용자는 클라우드 스토리지 서비스에 접속한 후, 먼저, 클라우드 스토리지 서버(20)에 저장된 파일의 목록을 확인하기 위한 탐색 과정을 수행할 수 있다. 그리고, 탐색된 파일 중 어느 하나의 파일에 대한 실행을 요청할 수 있으며, 해당 파일이 실행되어 편집이 완료되면, 해당 파일을 닫기 위한 종료를 요청할 수 있다. 그러나, 상술한 바와 같이 상기 사용자의 접근 요청은 순차적으로 이뤄지는 것이 바람직하나 이에 한정되는 것은 아니다.
이하에서는 사용자의 접근 요청에 따라 단말(10)의 처리 과정에 대해 보다 더 구체적으로 설명하도록 한다.
도 5는 사용자로부터 탐색 요청이 발생된 경우를 설명하기 위한 흐름도로, 도 5에 도시된 바와 같이, 사용자로부터 탐색 요청이 발생되면(S201), 단말(10)은 클라우드 스토리지 서버(20)에 저장된 파일의 목록을 확인할 수 있다(S203). 여기서, 단말(10)이 확인 가능한 파일의 목록은 사용자가 접근 가능한 파일의 목록으로 이를 위해 단말(10)은 클라우드 서비스 접속 시 사용자를 식별할 수 있는 식별 정보를 클라우드 스토리지 서버(20)로 제공하고, 클라우드 스토리지 서버(20)에 의해 정상적인 사용자로 판단된 경우, 상기 사용자가 접근 가능한 파일의 목록을 수신할 수 있게 된다.
아울러, 본 발명의 실시 예에 따른 단말(10)은 상기 수신된 파일의 목록에서 각 파일에 대한 태그 정보를 확인하고(S205), 태그 정보에 따라, 자신의 로컬 저장 영역에 기 저장된 파일이 존재하는 지의 확인 과정을 수행할 수 있다(S207). 예를 들어, 수신된 파일의 목록에서 로컬 사용 중임을 나타내는 태그 정보를 포함하는 파일이 존재하는 경우, 상기 파일이 자신의 로컬 저장 영역에 저장되어 있는 지 여부를 확인한다. 확인 결과, 로컬 저장 영역에 저장되어 있을 경우, 단말(10)은 추후 파일 열기 요청 시, 바로 로컬 저장 영역에 저장된 파일의 열기 과정을 제어할 수 있으며, 반면, 로컬 사용 중임을 나타내는 태그 정보에 해당하는 파일이 자신의 로컬 저장 영역에 저장되어 있지 않을 경우, 파일 열기 요청 시 단말(10)은 클라우드 스토리지 서버(20)와 연동하여 기 설정된 우선순위에 따라 해당 파일의 열기 요청을 처리하는 과정을 수행할 수 있다.
더하여, 바람직한 일 실시 예에서는 단말(10)은 클라우드 스토리지 서버(20)에 저장된 사용자가 접근 가능한 파일의 목록을 수신하여 표시할 경우 자신의 로컬 저장 영역에 저장된 파일과 그렇지 않은 파일을 구분하여 표시되도록 제어할 수도 있다(S209). 특히, 로컬 사용 중이나 자신의 로컬 저장 영역에 저장되어 있지 않을 경우, 우선순위에 따라 파일의 열기 요청이 이뤄져야 하므로, 이를 사전에 안내하기 위해, 해당 파일 인근, 예컨대 아이콘 상에 특정 표식을 달거나, 해당 파일의 아이콘을 클릭할 경우, 상기 파일을 열기 이전에 "열기 요청하신 파일은 다른 사용자에 의해 사용 중 입니다." 등과 같은 안내 메시지가 표시되도록 제어할 수 있다.
이하, 본 발명의 실시 예에 따른 특정 파일에 대한 열기 요청 발생 시의 처리 과정에 대해 도 6을 참조하여 설명하도록 한다.
도 6에 도시된 바와 같이, 열기 요청이 발생되면(S301), 단말(10)은 사용자가 요청한 파일의 태그 정보를 확인하게 된다(S303). 상기 파일에 대한 태그 정보를 확인하는 과정은 단말(10)이 클라우드 스토리지 서버(20)에 질의하여 확인하거나, 기 수신된 상기 사용자가 접근 가능한 파일의 목록이 존재할 경우, 상기 목록에 포함된 상기 파일의 태그 정보를 통해 확인이 가능하다. 이러한 확인 과정을 거쳐 태그 정보를 확인하게 되면, 확인된 태그 정보에 따라 단말(10)은 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역으로 저장한 후 상기 파일을 실행하거나, 자신 또는 다른 단말에 의해 상기 파일이 저장되어 있는 지 여부를 확인한 후 상기 파일의 실행 과정을 제어할 수 있다.
예를 들어 설명하도록 한다.
아울러, 설명의 편의를 위해 태그 정보는 1과 0의 값을 가지는 것을 예시로 설명한다. 여기서 태그 정보가 1을 의미하는 것은 해당 파일이 로컬 사용 중임을 의미하며, 태그 정보가 0을 의미하는 것은 해당 파일이 로컬 사용 중이 아님을 의미하는 것이다.
상술한 과정을 거쳐 확인된 태그 정보가 1일 경우(S305), 해당 파일이 로컬 사용 중임을 의미하므로, 단말(10)은 자신에 의해 사용되고 있는 지 여부를 확인하기 위한 과정을 거칠 수 있다.
즉, 단말(10)은 해당 파일이 자신의 로컬 저장 영역에 저장되어 있는 지 여부를 확인하여(S307), 확인 결과, 로컬 저장 영역에 기 저장되어 있을 경우, 단말(10)은 상기 로컬 저장 영역에 저장된 해당 파일을 바로 실행하게 된다(S313).
반면, 확인된 태그 정보가 로컬 사용 중임을 나타내는 태그 정보이나, 단말(10)의 로컬 저장 영역에 기 저장되어 있지 않을 경우, 다른 단말의 사용자에 의해 해당 파일이 사용 중임을 의미하므로, 클라우드 스토리지 서버(20)와 연동하여 기 설정된 우선순위에 따라 상기 파일의 실행 여부를 결정할 수 있다(S311). 이때, 해당 파일이 다른 사용자(또는 다른 단말)에 의해 사용 중임을 알리기 위한 메시지를 출력하고, 사용자가 해당 파일의 실행을 요청하는 경우를 판단하여(S309), 요청하는 경우에만, 클라우드 스토리지 서버(20)와 연동하여 파일 실행 여부를 결정할 수 있다.
반면 상기 S303 단계에서, 확인된 파일의 태그 정보가 0일 경우, 즉 로컬 사용 중이 아님을 나타내는 태그 정보일 경우, 단말(10)은 자신의 로컬 저장 영역을 검사하여, 상기 파일이 기 저장되어 있는 지 여부를 판단하고(S317), 기 저장되어 있지 않을 경우, 클라우드 스토리지 서버(20)에 저장된 파일을 복사하여 로컬 저장 영역에 저장되도록 제어하고(S323), 로컬 저장 영역에 기 저장된 파일을 실행하게 된다(S325).
반면, 단말(10)은 상기 파일의 확인된 태그 정보가 로컬 사용 중이 아님을 나타내는 태그 정보이나, 자신의 로컬 저장 영역에 기 저장되어 있을 경우, "이 파일은 다른 기기에서 이미 수정되었습니다. 기존의 파일을 다른 이름으로 여시겠습니까?"라는 메시지를 출력하고, 사용자로부터 다른 이름으로 열기에 대한 요청이 발생되는 지 여부를 판단하여(S319), 발생되지 않으면 단말(10)은 로컬 저장 영역에 기 저장된 파일을 삭제하고(S321), 클라우드 스토리지 서버(20)에 저장된 파일을 복사하여 로컬 저장 영역에 저장한 후(S323), 상기 로컬 저장 영역에 저장된 파일이 실행되는 과정을 제어할 수 있다(S325).
더하여, 단말(10)은 S319 단계에서, 다른 이름으로 열기에 대한 요청이 발생되면, 상기 로컬 저장 영역에 기 저장된 파일의 이름을 클라우드 스토리지 서버(20)에 저장된 파일의 이름과 다른 이름으로 변경하고(S327), 상기 다른 이름으로 변경된 파일을 클라우드 스토리지 서버(20)로 전송한 후(S329) 다른 이름으로 변경된 파일을 실행하는 과정을 제어하게 된다(S331).
이하에서는 도 7을 참조하여, 사용자에 의해 해당 파일의 편집 완료 후의 닫기 종료 요청이 발생된 경우의 처리 과정에 대해 설명하도록 한다.
도 7에 도시된 바와 같이, 사용자는 해당 파일을 편집하고 이를 완료하기 위해 해당 파일을 닫는 과정을 요청하게 된다(S401).
이때, 단말(10)은 상기 닫기 종료 요청이 다른 이름으로 저장한 후 닫기 종료 요청인 지 여부를 판단하여(S403), 다른 이름으로 저장한 후 닫기 종료 요청일 경우, 로컬 저장 영역에서 편집된 해당 파일을 다른 이름으로 변경하여 저장하고, 클라우드 스토리지 서버(20)로 업로드하여 전송하게 된다(S409).
반면, 다른 이름으로 저장한 후 닫기 종료 요청이 아닌, 저장 후 닫기 종료 요청일 경우, 단말(10)은 해당 파일의 편집 상황을 먼저, 로컬 저장 영역에 저장한 후, 자동적으로 클라우드 스토리지 서버(20)로 업로드하여 전송할 수도 있다.
아울러, 본 발명의 실시 예에 따른 단말(10)은 해당 파일을 클라우드 스토리지 서버(20)로 전송하기 이전에, 클라우드 스토리지 서버(20)의 가용 상태에 따라 또는 자신의 가용 상태에 따라 일정 시간 대기 후 상기 파일을 전송하거나, 전송 속도를 조절하여 상기 파일을 클라우드 스토리지 서버(20)로 전송할 수도 있다.
예를 들어, 단말(10)은 클라우드 스토리지 서버(20) 또는 자신의 가용성을 확인하여(S407), 80% 이상이면 보류, 50% 이상이면 경계, 그 이하면 원활로 설정할 수 있으며, 보류 단계 이면, 일정 시간 대기 이후 파일 전송, 경계 상태이면, 전송 속도를 조절하여 파일 전송, 원활이면 즉시 파일을 클라우드 스토리지 서버(20)로 전송되도록 제어할 수도 있다.
이하에서는 클라우드 스토리지 서버 중심의 클라우드 스토리지 서비스 제공 방법에 대해 설명하도록 한다.
도 8은 본 발명의 실시 예에 따른 클라우드 스토리지 서버에서의 클라우드 스토리지 서비스 제공 방법을 설명하기 위한 흐름도이다.
도 1 및 도 8을 참조하면, 먼저, 클라우드 스토리지 서버(20)는 단말(10)로부터 특정 파일에 대한 전송 요청을 수신할 수 있다(S501). 그리고 클라우드 스토리지 서버(20)는 상기 단말(10)이 요청한 파일을 상기 단말(10)로 전송할 수 있다(S503). 이때, 클라우드 스토리지 서버(20)는 상기 파일을 요청한 단말(10)에 대한 사용자 인증을 수행한 이후에, 상기 과정을 처리할 수 있다.
또한, 상기 단말(10)로 해당 파일을 전송 시 상기 파일의 태그 정보를 확인하여, 확인된 태그 정보가 로컬 사용 중임을 나타내는 태그 정보일 경우, 상기 클라우드 스토리지 서버(20)가 상기 파일을 요청한 상기 단말(10)과 상기 파일을 사용 중인 다른 단말을 확인하여 기 설정된 우선순위에 따라 상기 파일의 전송 여부를 결정할 수도 있다.
그리고, 클라우드 스토리지 서버(20)는 상기 단말(10)로 파일을 전송한 이후, 상기 파일이 로컬에서 사용 중임을 나타내기 위해, 상기 파일에 대한 태그 정보를 로컬 사용 중임을 나타내도록 설정하게 된다(S505). 이후에, 상기 단말(10)로부터 해당 파일에 대한 업로드 요청이 발생되면(S507), 클라우드 스토리지 서버(20)는 자신의 가용 상태에 따라 대기 후 수신 또는 전송 속도를 조절하여 수신할 수 있으며(S509), 수신된 파일로 해당 파일이 업데이트되도록, 기 저장된 파일을 삭제하고, 수신된 파일로 덮어쓰기 하는 과정을 수행하게 된다(S511), 그리고, 단말(10)로부터 해당 파일의 수신이 완료되면(S513), 더 이상 해당 파일이 로컬에서 사용되고 있지 않기 때문에, 클라우드 스토리지 서버(20)는 해당 파일에 대한 태그 정보를 로컬 사용 중이 아님을 나타내도록 설정할 수 있게 된다(S515).
이상으로 본 발명의 실시 예에 따른 클라우드 스토리지 서비스 제공 방법에 대해 설명하였다.
상술한 바와 같은 본 발명의 그룹 주행 시의 멤버 위치 표시 방법은 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체의 형태로 제공될 수도 있다. 이때, 컴퓨터 프로그램 명령어와 데이터를 저장하기에 적합한 컴퓨터로 판독 가능한 매체는, 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(Magnetic Media), CD-ROM(Compact Disk Read Only Memory), DVD(Digital Video Disk)와 같은 광 기록 매체(Optical Media), 플롭티컬 디스크(Floptical Disk)와 같은 자기-광 매체(Magneto-Optical Media), 및 롬(ROM, Read Only Memory), 램(RAM, Random Access Memory), 플래시 메모리, EPROM(Erasable Programmable ROM), EEPROM(Electrically Erasable Programmable ROM)과 같은 반도체 메모리를 포함한다. 프로세서와 메모리는 특수 목적의 논리 회로에 의해 보충되거나, 그것에 통합될 수 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
본 명세서는 다수의 특정한 구현물의 세부사항들을 포함하지만, 이들은 어떠한 발명이나 청구 가능한 것의 범위에 대해서도 제한적인 것으로서 이해되어서는 안되며, 오히려 특정한 발명의 특정한 실시형태에 특유할 수 있는 특징들에 대한 설명으로서 이해되어야 한다. 개별적인 실시형태의 문맥에서 본 명세서에 기술된 특정한 특징들은 단일 실시형태에서 조합하여 구현될 수도 있다. 반대로, 단일 실시형태의 문맥에서 기술한 다양한 특징들 역시 개별적으로 혹은 어떠한 적절한 하위 조합으로도 복수의 실시형태에서 구현 가능하다. 나아가, 특징들이 특정한 조합으로 동작하고 초기에 그와 같이 청구된 바와 같이 묘사될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우에 그 조합으로부터 배제될 수 있으며, 그 청구된 조합은 하위 조합이나 하위 조합의 변형물로 변경될 수 있다.
마찬가지로, 특정한 순서로 도면에서 동작들을 묘사하고 있지만, 이는 바람직한 결과를 얻기 위하여 도시된 그 특정한 순서나 순차적인 순서대로 그러한 동작들을 수행하여야 한다거나 모든 도시된 동작들이 수행되어야 하는 것으로 이해되어서는 안 된다. 특정한 경우, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술한 실시형태의 다양한 시스템 컴포넌트의 분리는 그러한 분리를 모든 실시형태에서 요구하는 것으로 이해되어서는 안되며, 설명한 프로그램 컴포넌트와 시스템들은 일반적으로 단일의 소프트웨어 제품으로 함께 통합되거나 다중 소프트웨어 제품에 패키징 될 수 있다는 점을 이해하여야 한다.
본 발명은 클라우드 스토리지 서비스 제공 방법에 관한 것으로, 더욱 상세하게는 클라우드 스토리지에 저장된 파일별로 로컬 사용 여부에 대한 태그 정보를 부여하고 관리함으로써, 클라우드 스토리지에 저장된 파일에 대한 접근 요청 시 상기 태그 정보를 이용하여 파일의 로컬 처리를 지원할 수 있는 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체에 관한 것이다.
본 발명에 의하면, 사용자로부터 클라우드 스토리지 서버에 저장된 파일에 대한 탐색, 편집 요청 시 상기 클라우드 스토리지 서버에서 처리하는 것이 아니라, 상기 사용자의 단말이 일시적으로 저장한 후 단말에서 직접 처리됨으로써, 사용자 입장에서는 보다 안정적인 클라우드 스토리지 서비스 이용이 가능하게 된다.
이를 통해 본 발명은 클라우드 스토리지 서비스 산업의 발전에 이바지할 수 있으며, 시판 또는 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용가능성이 있다.
10: 단말 11: 통신부 12: 입력부
13: 제어부 13a: 메모리 관리 모듈
13b: 파일 접근 제어 모듈 13c: 상태 확인 모듈
14: 저장부 14a: 로컬 저장 영역
15: 표시부 20: 클라우드 스토리지 서버
21: 서버 통신부 22: 서버 제어부
22a: 사용자 관리 모듈 22b: 데이터 처리 모듈
22c: 스토리지 관리 모듈 22d: 상태 확인 모듈
23: 서버 저장부 23a: 클라우드 스토리지
30: 통신망 100: 클라우드 스토리지 시스템

Claims (12)

  1. 단말로부터 클라우드 스토리지 서버에 저장된 파일에 대한 열기 요청이 발생되면, 상기 단말이 상기 파일의 로컬 사용 여부에 대한 태그 정보를 확인하는 단계; 및
    상기 태그 정보 확인 결과 로컬 사용 중이 아닐 경우, 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역으로 저장한 후 상기 파일을 실행하며, 상기 태그 정보 확인 결과 로컬 사용 중일 경우, 상기 단말 또는 다른 단말의 로컬 저장 영역에 상기 파일이 저장되어 있는 지 여부를 확인한 후 상기 파일을 실행하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  2. 제1 항에 있어서,
    상기 태그 정보를 확인하는 단계는
    상기 단말이 상기 파일의 태그 정보를 상기 클라우드 스토리지 서버에 질의하여 확인하거나, 상기 클라우드 스토리지 서버로부터 기 수신된 사용자가 접근 가능한 파일의 목록을 통해 확인하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  3. 제1 항에 있어서,
    상기 태그 정보 확인 결과 로컬 사용 중일 경우,
    상기 파일을 실행하는 단계는
    상기 단말이 자신의 로컬 저장 영역에 상기 파일이 기 저장되어 있는 지 여부를 판단하는 단계; 및
    상기 파일이 기 저장되어 있을 경우 상기 단말이 상기 로컬 저장 영역에 기 저장된 파일을 실행하며, 상기 파일이 기 저장되어 있지 않을 경우, 클라우드 스토리지 서버와 연동하여 기 설정된 우선순위에 따라 상기 파일의 실행 여부를 결정하여 실행하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  4. 제1 항에 있어서,
    상기 태그 정보 확인 결과 로컬 사용 중이 아닐 경우,
    상기 파일을 실행하는 단계는
    상기 단말이 자신의 로컬 저장 영역에 상기 파일이 기 저장되어 있는 지 여부를 판단하는 단계; 및
    상기 파일이 기 저장되어 있지 않을 경우, 상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역에 저장한 후 상기 로컬 저장 영역에 저장된 상기 파일을 실행하며,
    상기 파일이 기 저장되어 있을 경우, 다른 이름으로 열기에 대한 요청이 발생되면, 상기 단말이 상기 로컬 저장 영역에 기 저장된 상기 파일의 이름을 상기 클라우드 스토리지 서버에 저장된 파일의 이름과 다른 이름으로 변경하고, 상기 다른 이름으로 변경된 파일을 상기 클라우드 스토리지 서버로 전송한 후 상기 다른 이름으로 변경된 파일을 실행하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  5. 제4 항에 있어서,
    상기 파일이 기 저장되어 있을 경우, 다른 이름으로 열기에 대한 요청이 발생되지 않으면, 상기 단말이 상기 로컬 저장 영역에 기 저장된 상기 파일을 삭제하는 단계;
    상기 단말이 상기 클라우드 스토리지 서버에 저장된 파일을 복사하여 로컬 저장 영역에 저장하는 단계; 및
    상기 단말이 상기 로컬 저장 영역에 저장된 상기 파일을 실행하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  6. 제1 항에 있어서,
    상기 파일을 실행하는 단계 이후에,
    상기 단말이 상기 파일에 대한 저장 후 닫기 종료 요청이 발생되면 상기 로컬 저장 영역에 저장된 상기 파일을 상기 클라우드 스토리지 서버에 전송하며, 상기 파일에 대한 다른 이름으로 저장한 후 닫기 종료 요청이 발생되면 상기 파일의 이름을 다른 이름으로 변경하여 다른 이름으로 변경된 파일을 상기 클라우드 스토리지 서버로 전송하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  7. 제6 항에 있어서,
    상기 클라우드 스토리지 서버로 전송하는 단계에서,
    상기 단말이 상기 클라우드 스토리지 서버 또는 자신의 가용 상태를 확인하는 단계; 및
    상기 단말이 상기 클라우드 스토리지 서버의 가용 상태 또는 자신의 가용 상태에 따라 일정 시간 대기 후 상기 파일을 전송하거나, 전송 속도를 조절하여 상기 파일을 전송하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  8. 제6 항에 있어서,
    상기 클라우드 스토리지 서버로 전송하는 단계 이후에,
    상기 단말이 상기 클라우드 스토리지 서버로의 전송이 완료되면, 상기 로컬 저장 영역에 저장된 상기 파일을 삭제하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  9. 단말로부터 클라우드 스토리지 서버에 저장된 파일에 대한 탐색 요청이 발생되면, 상기 단말이 상기 클라우드 스토리지 서버로 사용자가 접근 가능한 파일의 목록을 요청하여 수신하는 단계;
    상기 단말이 상기 목록에 포함된 각 파일에 대한 태그 정보를 확인하는 단계; 및
    상기 단말이 상기 확인된 태그 정보에 따라, 자신의 로컬 저장 영역에 기 저장된 파일을 확인한 후 사용자가 접근 가능한 파일의 목록이 표시되도록 제어하는 단계;
    를 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  10. 클라우드 스토리지 서버가 어느 하나의 단말의 요청에 따라 기 저장된 파일을 상기 단말로 전송하는 단계;
    상기 클라우드 스토리지 서버가 상기 파일에 대한 태그 정보를 로컬 사용 중으로 설정하는 단계;
    상기 클라우드 스토리지 서버가 상기 단말로부터 상기 파일에 대한 업로드 요청이 발생되면, 상기 기 저장된 파일을 삭제하고 상기 단말로부터 수신된 파일을 수신하여 저장하는 단계; 및
    상기 클라우드 스토리지 서버가 상기 파일에 대한 태그 정보를 로컬 사용 중이 아닌 것으로 설정하는 단계;
    를 포함하는 클라우드 스토리지 서비스 제공 방법.
  11. 제10 항에 있어서,
    상기 단말로 전송하는 단계 이전에,
    상기 단말이 요청한 파일의 태그 정보가 로컬 사용 중으로 설정되어 있을 경우, 상기 클라우드 스토리지 서버가 상기 파일을 요청한 상기 단말과 상기 파일을 사용 중인 다른 단말 간의 기 설정된 우선순위에 따라 상기 파일의 전송 여부를 결정하는 단계;
    를 더 포함하는 것을 특징으로 하는 클라우드 스토리지 서비스 제공 방법.
  12. 제1항 내지 제11항 중 어느 하나의 항에 기재된 클라우드 스토리지 서비스 제공 방법을 실행하는 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
KR1020140118514A 2014-09-05 2014-09-05 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 KR20160029282A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140118514A KR20160029282A (ko) 2014-09-05 2014-09-05 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140118514A KR20160029282A (ko) 2014-09-05 2014-09-05 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Publications (1)

Publication Number Publication Date
KR20160029282A true KR20160029282A (ko) 2016-03-15

Family

ID=55541936

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140118514A KR20160029282A (ko) 2014-09-05 2014-09-05 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체

Country Status (1)

Country Link
KR (1) KR20160029282A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200486683Y1 (ko) 2017-07-10 2018-06-21 주식회사 로스팅 파크 커피 컴퍼니 커피 드립핑 기구
KR102225577B1 (ko) * 2020-08-21 2021-03-09 (주)테온 하이브리드 스토리지를 이용한 데이터 분산 저장 방법 및 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120010397A (ko) 2010-07-26 2012-02-03 에스케이 텔레콤주식회사 클라우드 스토리지 서비스 장치 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120010397A (ko) 2010-07-26 2012-02-03 에스케이 텔레콤주식회사 클라우드 스토리지 서비스 장치 및 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR200486683Y1 (ko) 2017-07-10 2018-06-21 주식회사 로스팅 파크 커피 컴퍼니 커피 드립핑 기구
KR102225577B1 (ko) * 2020-08-21 2021-03-09 (주)테온 하이브리드 스토리지를 이용한 데이터 분산 저장 방법 및 장치

Similar Documents

Publication Publication Date Title
US10762055B2 (en) Utilizing user devices for backing up and retrieving data in a distributed backup system
EP3235213B1 (en) No password user account access
US10484456B2 (en) Sharing a content item
KR102107708B1 (ko) 자동 애플리케이션 업데이트
US10484383B2 (en) Pre-authorizing a client application to access a user account on a content management system
EP3022889B1 (en) Light installer
CN113110941A (zh) 使用应用容器管理代码和依赖性数据的传递
CN109597640B (zh) 一种应用程序的账号管理方法、装置、设备和介质
KR101810536B1 (ko) 라이브러리 업데이트 방법, 이를 위한 단말 및 시스템
CN105786593A (zh) 用于重启上下文相关的应用集的方法和***
WO2014127070A1 (en) Multiple platform data storage and synchronization
EP3769211A1 (en) Cross-application feature linking and educational messaging
US20160147544A1 (en) Assisted client application accessibility
US9213674B2 (en) Sharing memory among mobile devices
KR20160029282A (ko) 클라우드 스토리지 서비스 제공 방법 및 이를 구현한 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR102124330B1 (ko) 어플리케이션 업데이트 방법 및 이를 지원하는 단말
US9860313B2 (en) Maintaining state synchronization of an application between computing devices as well as maintaining state synchronization of common information between different applications without requiring perioidic synchronization
KR102111574B1 (ko) 어플리케이션 기반 식별 정보 생성 방법, 이를 위한 장치 및 시스템
KR20150059422A (ko) 지도 검색 서비스 제공 방법, 이를 위한 장치 및 시스템
US20120210301A1 (en) Method, system and apparatus for managing the re-use of software requirements
US20220245683A1 (en) Systems and methods for generating a visualized recurrence schedule
US20220005007A1 (en) Electronic device, server, and digital content purchase method
CN117271332A (zh) 测试环境配置方法、装置、电子设备以及存储介质
CN112149028A (zh) 一种页面控制方法和装置
WO2016172415A1 (en) Non-coding mobile application solution

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application