KR101533427B1 - 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법 - Google Patents

대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법 Download PDF

Info

Publication number
KR101533427B1
KR101533427B1 KR1020130159010A KR20130159010A KR101533427B1 KR 101533427 B1 KR101533427 B1 KR 101533427B1 KR 1020130159010 A KR1020130159010 A KR 1020130159010A KR 20130159010 A KR20130159010 A KR 20130159010A KR 101533427 B1 KR101533427 B1 KR 101533427B1
Authority
KR
South Korea
Prior art keywords
space
file
data
host computer
virtual unit
Prior art date
Application number
KR1020130159010A
Other languages
English (en)
Other versions
KR20150071898A (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 KR1020130159010A priority Critical patent/KR101533427B1/ko
Publication of KR20150071898A publication Critical patent/KR20150071898A/ko
Application granted granted Critical
Publication of KR101533427B1 publication Critical patent/KR101533427B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법이 개시된다. 본 발명의 일 측면에 따르면, 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서, 적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 네트워킹모듈, 수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 매핑모듈, 수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 파일시스템모듈-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 판단모듈 및 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 데이터입출력모듈을 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치가 제공된다.

Description

대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법{Mobile storage device providing mass virtual storage space and providing method thereof}
본 발명은 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법 에 관한 것이다. 보다 상세하게는 호스트 컴퓨터에 이동식 저장장치가 연결되는 경우, 네트워크 스토리지 서버에서 제공하는 대용량 저장공간을 상기 호스트 컴퓨터의 파일 시스템 형태로 제공하는 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법에 관한 것이다.
시대의 변화에 따라 사람들은 자신의 데이터를 언제 어디서나 사용하거나 저장하기를 원하며, 이를 위한 다양한 네트워크 스토리지 서비스(예를 들어, iCloud, Skydrive, Dropbox, Box.net, SugarSync, SiderOak, GoogleDrive 등의 클라우드 서비스)의 제공이 폭발적으로 증가되고 있다. 초기 사용자들은 문서와 같은 간단한 데이터만을 저장함으로써 적은 용량의 클라우드 서비스만으로도 충분히 활용이 가능했고, 자료를 받거나 저장할 때에는 많은 시간을 할애하지 않아도 되었다. 하지만, 시대의 변화로 인해 멀티미디어의 활용이 증가됨에 따라 자신만의 음악/영상/이미지 등을 관리하게 되며, 이로 인해 클라우드 서비스에 요구하는 용량은 수GB에서 수백GB까지 증가되고 있는 추세이다.
네트워크 스토리지 서비스를 이용하는 방법은 다음과 같이 크게 3가지로 나누어 진다.
- 웹
- 전용 동기화 프로그램
- 응용 프로그램 내장
웹을 이용한 데이터 접근 방법은 네트워크 스토리지 서비스가 유행하기 이전부터 사용되던 방법으로 웹 브라우저를 이용해 네트워크 스토리지 서버에 접속하고, 웹 서비스를 통해 데이터를 내려 받거나 올리는 방법을 말한다. 웹을 이용한 접근 방법은 사용자가 사용해야 하는 데이터가 적은 경우에는 해당 데이터만 내려 받으면 되므로 손쉽게 사용할 수 있는 장점을 가지고 있지만, 사용자가 접근하고자 하는 데이터가 2개 이상인 경우, 데이터 검색, 다운로드, 업로드 과정을 반복해서 수행해야 하는 번거로운 과정이 존재한다. 여기에 추가적으로 웹 접속 과정에서 아이디와 패스워드의 불법 유출 문제가 발생할 수도 있고, 다운로드 받은 데이터의 미 삭제로 인한 데이터 유출 문제도 발생할 수 있다.
전용 동기화 프로그램을 이용한 방법은 대부분의 네트워크 스토리지 서비스에서 제공하는 기능으로서, 개인 PC나 개인 스마트 기기에 설치하여 네트워크 스토리지 서버에 있는 데이터와 사용자의 기기들에 있는 데이터를 동기화 시켜 주는 역할을 수행하며, 각각의 서비스마다 별도의 프로그램을 제공한다. 전용 동기화 프로그램은 시스템이 동작하는 동안 항상 동작하며, 데이터의 변화에 대해 즉각적으로 반응하여 네트워크 스토리지 서버 상의 데이터를 내려 받거나 사용자 기기의 데이터를 네트워크 스토리지 서버에 올려 두는 역할을 수행한다. 이러한 동작은 상시 사용되는 개인 사용 기기에서는 매우 편리한 기능이지만, 공용 PC와 같이 개인 기기가 아닌 곳에서 사용할 경우에는 불법 데이터 유출과 같은 심각한 보안상의 위험에 노출될 수 있다.
또한, 사용자가 전용 동기화 프로그램을 사용하여 다수의 데이터를 네트워크스토리지 서버로부터 받으려고 하는 경우, 전용 동기화 프로그램에서는 네트워크 스토리지 서비스에 저장되어 있는 데이터가 사용자의 로컬 PC에 존재하는지 여부를 확인 하게 되고, 해당 데이터가 존재하지 않는 경우에는 네트워크 스토리지 서버와 로컬 PC 간의 동기화를 맞추기 위해 데이터를 내려 받아 저장하게 된다. 이 때, 발생할 수 있는 문제점은 데이터를 내려 받는 시간이다. 동기화 해야 될 데이터가 적은 경우 위 과정은 문제가 되지 않는다. 하지만, 데이터의 용량이 수십MB ~ 수GB가 될 경우, 동기화에 소요되는 시간이 엄청나게 증가하게 된다.
또한, 앞서 소개한 웹을 이용한 방법과 마찬가지로 해당 데이터가 로컬 PC에 저장되므로, 공용 PC와 같이 개인 기기가 아닌 곳에서 사용할 경우 불법 데이터 유출 방지를 위해 자리를 비우기 전에 데이터를 삭제해야 한다.
네트워크 스토리지 서버의 데이터를 이용하는 또다른 방법은 응용 프로그램에 내장된 기능을 사용하는 것이다. 이 방법은 웹에 접속하여, 데이터를 일일이 내려 받는 것과 같은 번거로움이나 데이터 동기화 프로그램을 사용할 때 발생할 수 있는 위와 같은 문제들은 줄어 들겠지만, 대용량 데이터를 내려 받아야 하는 문제점과 특정 프로그램에서만 사용 가능하다는 문제점을 가지고 있다.
따라서, 본 발명이 이루고자 하는 기술적인 과제는 상술한 종래 기술의 제문제를 해결하고자 하는 것으로서, 클라우드 서비스와 같은 네트워크 스토리지 서비스와 연동되어 사용자에게 대용량의 저장공간을 제공할 수 있는 대용량 가상저장공간을 제공하는 이동식 저장장치를 제공하는 것이다.
또한, 별도의 전용 프로그램이나 구동 드라이버를 설치를 요구하지 않으며, 마치 이동식 저장장치(예를 들면, USB 메모리)를 이용하는 것과 같은 사용자 경험을 제공하면서도, 로컬 PC에 데이터를 저장하는 경우에 발생할 수 있는 데이터 불법 유출에 대한 문제점도 함께 해결할 수 있는 대용량 가상저장공간을 제공하는 이동식 저장장치를 제공하는 것이다.
본 발명의 일 측면에 따르면, 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서, 적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 네트워킹모듈, 수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 매핑모듈, 수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 파일시스템모듈-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 판단모듈 및 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 데이터입출력모듈을 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치가 제공된다.
일 실시예에서, 상기 파일시스템모듈에 의해 생성되는 상기 파일 시스템 정보는, 상기 원격파일에 대한 정보 및 상기 원격파일과의 대응관계가 설정되어 있는 가상단위공간에 대한 정보를 포함할 수 있다.
일 실시예에서, 상기 매핑모듈은, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하고 상기 데이터입출력모듈은, 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장할 수 있다.
일 실시예에서, 상기 매핑모듈은, 상기 기록대상 파일의 속성에 기초하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응관계를 설정할 수 있다.
일 실시예에서, 상기 기록대상 파일의 속성은 파일 타입을 포함하고, 상기 매핑모듈은, 상기 적어도 하나의 기록대상 가상단위공간이 상기 기록대상 파일의 타입에 상응하는 네트워크 스토리지 서버와 대응관계를 가지도록 설정할 수 있다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치는, 상기 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 기록대상 파일을 상기 이동식 저장장치의 내부 메모리 장치에 저장하는 캐싱모듈을 더 포함하되, 상기 판단모듈은, 상기 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 캐시파일이 상기 내부 메모리 장치에 저장되어 있는지 판단하고, 상기 데이터입출력모듈은, 상기 판단모듈의 판단결과, 저장되어 있는 경우, 상기 캐시파일에 포함된 데이터를 상기 호스트 컴퓨터로 제공할 수 있다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치는, USB(Universal Serial Bus) 인터페이스를 통해 상기 호스트 컴퓨터와 연결되는 것을 특징할 수 있다.
일 실시예에서, 상기 네트워킹모듈은, 무선 네트워크를 통해 상기 적어도 하나의 네트워크 스토리지 서버와의 연결 및 데이터 통신을 수행하는 것을 특징으로 할 수 있다.
본 발명의 다른 일 측면에 따르면, 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서, 네트워크 스토리지 서비스를 제공하는 적어도 하나의 네트워크 스토리지 서버와의 네트워크 연결 및 데이터 통신을 수행하는 네트워킹모듈, 복수의 가상단위공간을 포함하는 가상저장공간에 대한 파일 시스템 정보를 상기 호스트 컴퓨터에 제공하는 파일시스템모듈-여기서, 상기 가상저장공간에 대한 파일시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 파일 시스템의 형식으로 구성됨, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 매핑모듈 및 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장하는 데이터입출력모듈을 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치가 제공된다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치는, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 수신대상 네트워크 스토리지 서버를 결정하는 판단모듈을 더 포함하고, 상기 데이터입출력모듈은, 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 데이터를 수신하여, 상기 호스트 컴퓨터로 제공할 수 있다.
본 발명의 다른 일 측면에 따르면, 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치제공방법으로서, (a) 이동식 저장장치가, 적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 단계, (b) 상기 이동식 저장장치가, 수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 단계, (c) 상기 이동식 저장장치가, 수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 단계-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨, (d) 상기 이동식 저장장치가, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 단계 및 (e) 상기 이동식 저장장치가, 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 단계를 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법이 제공된다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법은, (f) 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 단계 및 (g) 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 (f) 단계는, 상기 기록대상 파일의 속성에 기초하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응관계를 설정할 수 있다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법은, 상기 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 기록대상 파일을 상기 이동식 저장장치의 내부 메모리 장치에 저장하는 단계, 상기 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 캐시파일이 상기 내부 메모리 장치에 저장되어 있는지 판단하는 단계 및 판단결과 저장되어 있는 경우, 상기 캐시파일에 포함된 데이터를 상기 호스트 컴퓨터로 제공하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치제공방법으로서, (a) 이동식 저장장치가, 네트워크 스토리지 서비스를 제공하는 적어도 하나의 네트워크 스토리지 서버와의 네트워크 연결 및 데이터 통신을 수행하는 단계, (b) 상기 이동식 저장장치가, 복수의 가상단위공간을 포함하는 가상저장공간에 대한 파일 시스템 정보를 상기 호스트 컴퓨터에 제공하는 단계-여기서, 상기 가상저장공간에 대한 파일시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 파일 시스템의 형식으로 구성됨, (c) 상기 이동식 저장장치가, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 단계 및 (d) 상기 이동식 저장장치가, 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 대상 네트워크 스토리지 서버에 전송하여, 상기 대상 네트워크 스토리지 서버에 저장하는 단계를 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법이 제공된다.
일 실시예에서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법은, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 저장된 상기 대응 관계에 기초하여 상기 독출대상 가상단위공간에 상응하는 수신대상 네트워크 스토리지 서버를 결정하는 단계 및 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 상술한 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 다른 일 측면에 따르면, 대용량 가상저장공간을 제공하는 이동식 저장장치로서, 프로세서 및 상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며, 상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치가 상술한 방법을 수행하도록 하는 대용량 가상저장공간을 제공하는 이동식 저장장치가 제공된다.
본 발명의 기술적 사상에 따르면 클라우드 서비스와 같은 네트워크 스토리지 서비스와 연동되어 사용자에게 대용량의 저장공간을 제공할 수 있는 대용량 가상저장공간을 제공하는 이동식 저장장치를 제공할 수 있다.
또한, 본 발명의 기술적 사상에 의하면, 사용자의 호스트 컴퓨터는 통상적인 호스트 파일 시스템을 통해 파일을 액세스할 수 있으므로 사용자는 운영체제에서 제공하는 UI 혹은 커맨드(예를 들면, Windowsㄾ 운영체제의 탐색기)를 이용하여 네트워크 스토리지 서버에 저장된 파일을 액세스할 수 있다. 따라서, 사용자가 별도의 전용 프로그램을 설치해야 하는 불편을 없앨 수 있으며, 통상적인 이동식 저장장치(예를 들면, USB 메모리)를 이용하는 것과 같은 사용자 경험을 제공할 수 있는 효과가 있다.
또한, 사용자가 실수로 로컬 PC에 데이터를 남길 여지를 사전에 방지할 수 있으므로 데이터 불법 유출을 막을 수 있는 효과가 있다.
또한, 사용자가 최근에 사용하거나, 즐겨 사용하는 데이터를 내부 메모리에 캐싱함으로써 사용자가 빠르게 해당 데이터에 액세스할 수 있도록 하는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 대용량 가상저장공간을 제공하는 이동식 저장장치의 사용환경을 설명하기 위한 도면이다.
도 2는 본 발명의 실시 예에 따른 이동식 저장장치(100)의 개략적인 구성을 나타내는 블록도이다.
도 3a는 네트워크 스토리지 서버에 저장된 원격파일의 일 예를 도시한 도면이다.
도 3b는 원격파일 및 가상저장공간의 대응관계의 일 예를 도시한 도면이다.
도 3c는 파일 시스템 정보의 일 예를 도시한 도면이다.
도 4a는 도 3a 내지 3c의 상황에서 호스트 컴퓨터가 파일을 기록한 경우의 원격파일 및 가상저장공간의 대응관계의 일 예를 도시한 도면이다.
도 4b는 도 3a 내지 3c의 상황에서 호스트 컴퓨터가 파일을 기록한 경우의 네트워크 스토리지 서버의 상태를 도시한 도면이다.
도 4c는 도 3a 내지 3c의 상황에서 호스트 컴퓨터가 파일을 기록하여 파일 시스템 정보가 변경된 예를 도시한 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1은 본 발명의 실시 예에 따른 대용량 가상저장공간을 제공하는 이동식 저장장치(이하, '이동식 저장장치'라고 함)의 사용환경을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 이동식 저장장치(100)는 소정의 호스트 컴퓨터(200)와 연결될 수 있다. 상기 이동식 저장장치(100)는 호스트 컴퓨터(200)에 연결되는 경우, 상기 호스트 컴퓨터(10)가 연결을 인지할 수 있는 모든 형태의 데이터 저장매체를 포함하는 의미로 정의될 수 있다.
상기 이동식 저장장치(100)는 USB(Universal Serial Bus) 인터페이스와 같은 접속 인터페이스(101 및 201)를 통해 상기 호스트 컴퓨터(200)와 연결될 수 있다. 본 명세서에서는 설명의 편의를 위해 상기 이동식 저장장치(100)가 USB를 통해 상기 호스트 컴퓨터(200)와 연결되는 경우를 일 예로 설명하기로 하지만, 본 발명의 권리범위가 이에 한정되는 것은 아니며, 다양한 유/무선 접속 인터페이스를 통해 이동식 저장장치(100)와 호스트 컴퓨터(200)가 연결될 수 있다.
상기 호스트 컴퓨터(200)는 상기 이동식 저장장치(100)가 연결되면, 상기 이동식 저장장치(100)가 연결되었음을 인지할 수 있다. 이동식 저장장치(100)가 연결되었는지 여부의 인지는 상기 호스트 컴퓨터(200)에 구비된 USB 인터페이스(201) 및 상기 인터페이스를 구동하는 소프트웨어에 의해 수행될 수 있다. 상기 소프트웨어는 상기 USB 인터페이스를 구동하기 위한 디바이스 드라이버일 수 있다.
상기 호스트 컴퓨터(200)는 이동식 저장장치(100)가 연결될 수 있는 모든 형태의 데이터 프로세싱 장치를 포함하는 의미로 정의될 수 있다. 상기 호스트 컴퓨터(200)는, 예를 들어, 사용자의 데스크탑, 노트북, 타블렛 PC나 스마트폰 등의 모바일 단말기일 수 있다.
한편, 상기 이동식 저장장치(100)는 유/무선 네트워크를 통해 복수의 네트워크 스토리지 서버(400-1 내지 400-N))와 연결되어 본 발명의 기술적 사상을 구현하는데 필요한 각종 정보 및 데이터를 송수신할 수 있다.
특히, 상기 이동식 저장장치(100)는 Wi-fi와 같은 무선 네트워크를 통해 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N))와 연결될 수 있으며, 이 경우, 상기 이동식 저장장치(100)는 Wi-fi 모듈과 같은 무선 NIC(Network Interface Controller)를 구비할 수 있다. 또한 상기 이동식 저장장치(100)는 인터넷에 연결된 무선 공유기 또는 무선 액세스 포인트(300)를 통해 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N))에 접속하여, 데이터를 송수신할 수 있다.
상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N) 각각은 데이터를 저장할 수 있는 네트워크 저장공간을 제공하는 서버일 수 있다. 즉, 사용자는 자신의 로컬 PC에 저장되어 있는 데이터를 네트워크를 통해 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N)에 전송하여 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N) 저장할 수 있으며, 필요한 경우 저장된 데이터를 네트워크를 통해 자신의 로컬 PC로 내려 받아 이용할 수 있다. 각 네트워크 스토리지 서버(400-1 내지 400-N)가 제공하는 저장공간의 크기는 모두 상이할 수 있다. 예를 들어, 네트워크 스토리지 서버(400-1)은 5GB 크기의 저장공간을 제공할 수 있으며, 네트워크 스토리지 서버(400-2)는 10GB 크기의 저장공간을 제공할 수 있다.
한편, 상기 이동식 저장장치(100)는 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N) 각각에 접속/로그인하기 위해, 각 네트워크 스토리지 서버(400-1 내지 400-N) 각각의 로그인 정보(예를 들면, 접속 ID 및 접속 암호)를 저장할 수 있다. 각 서버에 로그인하기 위한 로그인 정보는 상기 이동식 저장장치(100)가 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N)에 접속하기 전에 사용자에 의해 미리 설정되어 있을 수 있다.
후술하는 바와 같은 본 발명의 기술적 사상에 따르면, 상기 이동식 저장장치(100)는 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N)이 제공하는 네트워크 스토리지의 크기의 총합에 해당하거나 그 보다 약간 작을 수 있는 크기의 가상저장공간을 호스트 컴퓨터(200)에 제공할 수 있다. 예를 들어, 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N)의 개수가 10개이며 각 네트워크 스토리지 서버가 10GB씩의 용량을 제공하여, 상기 상기 복수의 네트워크 스토리지 서버(400-1 내지 400-N)가 총 100GB의 네트워크 스토리지를 제공한다고 하면, 상기 이동식 저장장치(100)는 100GB 크기의 가상저장공간을 호스트 컴퓨터(200)에 제공할 수 있다. 따라서, 상기 상기 이동식 저장장치(100)가 상기 호스트 컴퓨터(200)에 연결되는 경우, 상기 호스트 컴퓨터(200)는 상기 이동식 저장장치(100)를 100GB의 용량을 가지는 이동식 저장장치로 인식할 수 있다.
따라서, 상기 이동식 저장장치(100)가 가상저장공간을 제공한다고 함은, 사용자가 상기 이동식 저장장치(100)를 통해 상기 가상저장공간의 크기만큼의 데이터를 저장할 수 있도록 하지만, 상기 이동식 저장장치(100)가 상기 가상저장공간과 동일한 크기의 물리적인 저장매체를 구비하고 있지는 않음을 의미할 수 있다.
한편, 상기 이동식 저장장치(100)는 호스트 컴퓨터(200)에 설치된 운영체제에서 지원하는 파일 시스템에 의해 상기 가상저장공간을 관리함으로써, 사용자가 마치 일반적인 USB 메모리 장치를 이용하는 것과 같은 사용자 경험을 제공할 수 있다. 즉, 사용자는 본 발명의 기술적 사상에 따른 이동식 저장장치(100)가 제공하는 가상저장공간을 일반적인 USB 메모리 장치를 탐색하는 방법(예를 들어, Windowsㄾ 운영체제의 탐색기 프로그램을 이용하는 방법)을 통해 상기 가상저장공간을 탐색할 수 있다.
상기 파일 시스템의 형태는, 호스트 컴퓨터(200)에 설치된 운영체제에 의해 결정될 수 있다. 예를 들어, 호스트 컴퓨터(200)에 설치된 운영체제가 Windowsㄾ 운영체제인 경우, 상기 파일 시스템은 FAT16, FAT32, exFAT, NTFS 등 일 수 있다.
이하에서는 도 2 내지 도 4를 참조하여, 보다 구체적으로 본 발명의 기술적 사상을 설명하기로 한다.
도 2는 본 발명의 실시 예에 따른 이동식 저장장치(100)의 개략적인 구성을 나타내는 블록도이다.
도 2에 도시된 바와 같이, 상기 이동식 저장장치(100)는 네트워킹모듈(110), 매핑모듈(120), 파일시스템모듈(130), 판단모듈(140), 데이터입출력모듈(150), 캐싱모듈(160) 및 내부메모리장치(170)를 포함할 수 있다. 본 발명의 실시예에 따라서는, 상술한 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 이동식 저장장치(100)는 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다. 예를 들어, 상기 이동식 저장장치(100)는 상기 이동식 저장장치(100)에 포함된 다른 구성들(예를 들면, 네트워킹모듈(110), 매핑모듈(120), 파일시스템모듈(130), 판단모듈(140), 데이터입출력모듈(150) 및/또는 캐싱모듈(160) 등)의 기능 및/또는 리소스를 제어할 수 있는 제어모듈(미도시)을 더 포함할 수 있다.
상기 이동식 저장장치(100)는 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 이동식 저장장치 (100)는 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 이동식 저장장치는 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예를 들면, 상기 네트워킹모듈(110), 매핑모듈(120), 파일시스템모듈(130), 판단모듈(140), 데이터입출력모듈(150) 및/또는 캐싱모듈(160)은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 네트워킹모듈(110), 매핑모듈(120), 파일시스템모듈(130), 판단모듈(140), 데이터입출력모듈(150) 및/또는 캐싱모듈(160) 등 각각의 개별 모듈을 구성하는 요소들 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 요소들이 서로 유기적으로 결합되어 각각의 개별 모듈이 수행하는 기능을 실현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예를 들면, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
도 2를 참조하면, 상기 네트워킹모듈(110)은 네트워크 스토리지 서버(400-1 내지 400-N)에 유/무선 네트워크를 통해 접속하고, 필요한 정보를 송수신할 수 있다. 예를 들어, 상기 네트워킹모듈(110)은 미리 설정된 로그인 정보를 통해 상기 네트워크 스토리지 서버(400-1 내지 400-N)에 로그인할 수 있으며, 상기 네트워크 스토리지 서버(400-1 내지 400-N)에 저장된 각각의 원격파일의 정보를 수신할 수 있다.
원격파일의 정보는 상기 원격파일 상기 네트워크 스토리지 서버 내에서의 위치 정보(예를 들면, 디렉토리 정보) 및 파일이름을 포함할 수 있다. 이 외에도 원격파일의 정보는 상기 원격파일을 식별하기 위한 각종 정보일 수 있다. 또한, 상기 원격파일 정보는 상기 원격파일의 크기정보, 파일속성(읽기/쓰기 속성, 숨김속성 등), 생성시간/변경시간 정보 등을 더 포함할 수 있다.
상기 네트워킹모듈(110)은 로그인 또는 데이터/정보의 송수신을 상기 네트워크 스토리지 서버(400-1 내지 400-N)에서 제공하는 Open API(Application Programming Interface)를 통해 수행할 수 있다.
한편, 상기 매핑모듈(120)은 상기 네트워킹모듈(110)이 수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 상기 이동식 저장장치(100)가 제공하는 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정할 수 있다.
상기 이동식 저장장치(100)가 제공하는 가상저장공간은 복수의 가상단위 공간으로 구성될 수 있으며, 상기 가상단위공간은, 예를 들어, 상기 가상단위공간은 섹터(sector) 혹은 클러스터(cluster)일 수 있지만 이에 한정되는 것은 아니며, 상기 가상단위공간의 크기 및/또는 형태는 상기 호스트 컴퓨터(200)에 설치된 운영체제에서 지원하는 호스트 파일 시스템에 의존적일 수 있지만, 이하에서는 이해의 편의를 위하여, 가상단위공간이 클러스터 단위로 구성되어 있는 예에 대하여 설명하기로 한다.
도 3a는 3 개의 네트워크 스토리지 서버(NSS1 내지 NSS3)에 저장되어 있는 원격파일들을 도시한 도면이며, 도 3b는 네트워크 스토리지 서버(NSS1 내지 NSS3)에 도 3a와 같이 원격파일들이 저장된 경우, 이로부터 상기 매핑모듈(120)이 생성한 상기 원격파일들과 가상단위공간 간의 대응관계를 도시한 도면이다.
즉, 3 개의 네트워크 스토리지 서버(NSS1 내지 NSS3)에 도 3a와 같이 원격파일들이 저장된 경우, 상기 매핑모듈(120)은 도 3b와 같은 대응관계 정보를 생성할 수 있다. 한편, 도 3b는 대응관계를 나타내는 정보의 일 예일 뿐이며, 상기 매핑모듈(120)은 도 3b와 동일한 형태로 대응관계 정보를 생성하는 것은 아니다. 상기 매핑모듈(120) 도 3b에 도시된 바와 같은 대응관계를 도출할 수 있는 임의의 형식으로 대응관계 정보를 생성할 수 있다.
먼저 도 3a를 참조하면, 상기 3 개의 네트워크 스토리지 서버(NSS1 내지 NSS 3)는 다수의 원격 파일을 저장할 수 있으며, 디렉토리 구조에 따라 각 원격 파일을 구분하여 저장할 수 있다. 예를 들어, 네트워크 스토리지 서버 1(NSS1)은 movie 디렉토리 및 music 디렉토리를 포함하고 있으며, movie 디렉토리에 165KB의 크기를 가지는 A.avi 및 158KB의 크기를 가지는 B.mp4를 저장하고 있고, music 디렉토리에 95KB의 크기를 가지는 C.mp3 및 90KB의 크기를 가지는 D.wav를 저장하고 있다.
한편, 상기 가상저장공간을 구성하는 각 단위저장공간(즉, 클러스터)의 크기가 32KB라고 하면, 165KB의 크기를 가지는 A.avi는 32 KB의 크기를 가지는 5개의 단위 데이터(a1 내지 a5) 및 5KB의 크기를 가지는 1개의 단위 데이터(a6)로 구성될 수 있으며, 단위 데이터(a1 내지 a6) 각각은 하나의 클러스터에 대응될 수 있다.
따라서, 상기 매핑모듈(120)은 원격 파일을 구성하는 각 단위 데이터를 하나의 클러스터와 대응시킬 수 있으며, 이에 따른 대응관계 정보를 도 3b와 같은 형태로 생성할 수 있다. 한편, 상기 매핑모듈(120)은 생성한 대응관계 정보를 상기 이동식 저장장치(100)의 내부 메모리(170)에 저장하여 다른 모듈이 상기 대응관계 정보를 이용할 수 있도록 할 수 있다.
예를 들어, 상기 매핑모듈(120)은 A.avi에 대한 크기 정보(165KB) 및 클러스터 크기(32KB)에 기초하여, A.avi가 32KB의 크기인 단위 데이터 5개(a1 내지 a5) 및 크기가 5KB인 단위 데이터(a6)로 구성되어 있음을 파악할 수 있다. 이후, 상기 매핑모듈(120)은 클러스터 2 내지 클러스터 7을 A.avi를 구성하는 각 단위데이터(a1 내지 a6)에 대응시킬 수 있다.
상기 매핑모듈(120)은 원격 파일을 연속된 클러스터에 대응시킬 수도 있지만, 원격 파일을 구성하는 단위 데이터가 모두 연속된 클러스터에 대응되는 것은 아니다. 예를 들어, 도 3b의 예시에서, 상기 매핑모듈(120)이 네트워크 스토리지 서버 1(NSS1)의 movie/B.mp4 파일을 클러스터 8, 클러스터 11, 클러스터 13, 클러스터 14, 클러스터 16과 같이 불연속적인 클러스터에 저장할 수도 있다.
상기 매핑모듈(120)이 원격 파일을 구성하는 각 단위데이터를 클러스터와 대응시키는 방법은 다양할 수 있다. 예를 들어, 상기 매핑모듈은 현재 비어 있는 상태의 클러스터 중 가장 앞에 있는 클러스터에 단위데이터를 대응시킬 수 있다.
다시 도 2를 참조하면, 상기 파일시스템모듈(130)은 상기 네트워킹모듈(110)이 수신한 상기 원격파일 정보 및 상기 매핑모듈(120)이 설정한 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성할 수 있다. 한편, 상기 파일시스템모듈(130) 은 생성한 파일시스템 정보를 상기 이동식 저장장치(100)의 내부에 저장하여 다른 모듈 및 상기 호스트 컴퓨터(200)가 이를 이용할 수 있도록 할 수 있다.
상기 파일시스템모듈(130)에 의해 생성되는 상기 파일 시스템 정보는 원격파일에 대한 정보 및 상기 원격파일과의 대응관계가 설정되어 있는 가상단위공간에 대한 정보를 포함할 수 있다. 원격파일 및 대응관계가 도 3a 및 도 3b의 예시와 같은 경우, 상기 파일시스템모듈(130)은 도 3c에 도시된 바와 같은 파일시스템 정보를 생성할 수 있다. 예를 들어, 상기 파일시스템모듈(130)이 생성하는 정보는 NSS1/movie/A.avi을 읽기 위해서는 클러스터 2, 3, 4, 5, 6, 7에 저장된 단위 데이터를 읽으면 된다는 정보를 포함할 수 있다. 다만, 상기 파일시스템모듈(130)이 도 3c와 동일한 형태로 파일 시스템 정보를 생성하는 것은 아니며, 상기 파일시스템모듈(130)은 호스트 컴퓨터(200)가 도 3c에 도시된 바와 같은 정보를 도출해낼 수 있는 형태로 파일 시스템 정보를 생성할 수 있다.
한편, 상기 파일시스템모듈(130)은 상기 파일 시스템 정보를 상기 호스트 컴퓨터(200)에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성할 수 있다. 예를 들어, 호스트 파일 시스템이 FAT16인 경우, 상기 파일시스템모듈(130)은 상기 가상저장공간에 대한 파일 시스템 정보로서, 각각의 원격파일에 대한 정보 및 상기 원격파일과 대응관계가 설정되어 있는 가상단위공간에 대한 정보를 포함하는 파일 할당 테이블(File Allocation Table)을 생성할 수 있다.
이와 같이, 상기 파일시스템모듈(130)은 파일 시스템 정보를 상기 호스트 컴퓨터(200)에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성하므로 상기 호스트 컴퓨터(200)는 로컬 저장장치(예를 들면 하드 디스크 드라이브) 또는 통상적인 USB 이동식 저장장치에 접근하는 방식과 동일한 방식으로 원격 파일에 액세스할 수 있다. 예를 들어, 상기 호스트 컴퓨터(200)는 NSS1/music/C.mp3 파일을 읽기 위해, 파일 시스템 정보로부터 상기 C.mp3 파일의 데이터가 클러스터 9, 10, 15에 저장되어 있다고 판단할 수 있으며, 클러스터 9, 10, 15에 저장되어 있는 데이터를 읽고자 할 수 있다. 하지만, 상기 이동식 저장장치(100) 내부에는 C.mp3 파일이 저장되어 있지 않으며, C.mp3 파일은 네트워크 스토리지 서버 1(NSS1)에 저장되어 있으므로 상기 이동식 저장장치(100)는 네트워크 스토리지 서버 1(NSS1)로부터 C.mp3 파일을 수신하여 상기 호스트 컴퓨터(200)에 제공해 주어야 한다.
이를 위해, 상기 판단모듈(140)은 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단할 수 있으며, 상기 데이터입출력모듈(150)은 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공할 수 있다.
예를 들어, 상기 호스트 컴퓨터(200)가 NSS1/music/C.mp3 파일을 읽기 위해, C.mp3을 구성하는 첫 번째 단위 데이터가 클러스터 9에 위치하고 있다는 것을 판단하고, 상기 이동식 저장장치(100)로 독출대상 가상단위공간(즉, 클러스터 9)에 위치한 데이터의 독출을 요청하는 경우, 상기 판단모듈(140)은 도 3(b)에 도시된 바와 같은 대응관계에 기초하여, 클러스터 9에 대응되는 데이터가 NSS1/movie/C.mp3의 첫번째 단위 데이터(c1)임을 판단할 수 있다. 따라서, 상기 판단모듈(140)은 수신대상 네트워크 스토리지 서버를 네트워크 스토리지 서버 1(NSS1)로 판단할 수 있다.
그러면, 상기 데이터입출력모듈(150)은 수신대상 네트워크 스토리지 서버인 네트워크 스토리지 서버 1(NSS1)로부터 movie/C.mp3를 수신하고, 이 중 첫번째 단위 데이터(c1)을 상기 호스트 컴퓨터(200)로 제공할 수 있다.
이후, 상기 호스트 컴퓨터(200)가 C.mp3을 구성하는 두 번째 단위 데이터가 클러스터 10에 위치하고 있다는 것을 판단하고, 상기 이동식 저장장치(100)로 독출대상 가상단위공간(즉, 클러스터 10)에 위치한 데이터의 독출을 요청하는 경우, 상기 데이터입출력모듈(150)은 이미 수신한 C.mp3 중 두 번째 단위 데이터(c2)를 상기 호스트 컴퓨터(200)로 제공할 수 있다.
한편, 상기 이동식 저장장치(100)는 호스트 컴퓨터(200)의 로컬 저장공간(예를 들면, 하드 디스크 드라이브)에 저장되어 있는 데이터를 네트워크 스토리지 서버에 저장하기 위한 방법을 제공할 수 있으며, 이 경우에도 상기 호스트 컴퓨터(200)의 사용자는 마치 USB 메모리 장치에 데이터를 저장하는 것과 같은 사용자 경험을 받을 수 있다.
이를 위해, 상기 매핑모듈(120)은 호스트 컴퓨터(200)로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 네트워크 스토리지 서버(400-1 내지 400-N)와의 대응 관계를 설정할 수 있다.
예를 들어, 도 3a 내지 도 3c와 같은 상태에서, 호스트 컴퓨터가 121KB 크기의 L.avi를 저장하고자 하는 경우, 상기 호스트 컴퓨터(200)는 비어 있는 4 개의 클러스터인 클러스터 36 내지 클러스터 39에 L.avi를 구성하는 각각의 단위 데이터를 기록하라는 기록요청을 상기 이동식 저장장치(100)로 입력할 수 있다. 그러면, 상기 매핑모듈(120)은 이러한 기록요청에 응답하여, 먼저, 기록대상 파일이 저장될 기록대상 가상단위공간(즉, 클러스터 36 내지 클러스터 39) 각각과 상기 네트워크 스토리지 서버(NSS 1 내지 NSS 3)와의 대응관계를 설정할 수 있다.
상기 매핑모듈(120)이 기록요청에 대한 응답으로 대응관계를 설정하는 방법은 다양할 수 있다. 일 실시예에서, 상기 매핑모듈(120)은 가장 비어있는 공간이 큰 네트워크 스토리지 서버와 기록대상 가상단위공간(즉, 클러스터 36 내지 클러스터 39) 각각을 매핑할 수도 있고, 미리 정해진 순서 중 가장 우선 순위가 높으며 상기 기록대상 파일(즉, L1.avi)을 저장할만한 남은 저장공간을 가지고 있는 네트워크 스토리지 서버를 기록대상 가상단위공간(즉, 클러스터 36 내지 클러스터 39) 각각과 매핑할 수도 있다.
한편, 상기 매핑모듈(120)은 미리 설정된 정책에 의해 대응관계를 설정할 수도 있다. 예를 들어, 상기 매핑모듈(120)은 파일의 속성(예를 들면, 파일 타입 혹은 파일 크기)에 따라 대응관계를 결정할 수 있다. 예를 들면, 상기 매핑모듈(120)은 동영상 데이터 및 음악 데이터를 하나의 네트워크 스토리지 서버에 모으기 위하여, 기록 대상 파일이 동영상 혹은 음악인 경우 미리 지정된 네트워크 스토리지 서버와 상기 기록 대상 파일을 구성하는 각 단위 데이터간의 대응관계를 설정할 수 있다. 이와 같은 방식으로 L.avi가 저장된 예가 도 4a 내지 도 4c에 도시되어 있다.
상기 호스트 컴퓨터(200)가 기록대상 파일인 L.avi를 기록대상 단위저장공간(즉, 클러스터 36 내지 클러스터 39)에 기록하라는 기록요청을 하는 경우, 상기 매핑모듈(120)은 상기 기록대상 파일의 타입이 동영상인 것을 판단하고, 네트워크 스토리지 서버 1(NSS1)을 전송대상 네트워크 스토리지 서버로 판단할 수 있다. 이후, 상기 매핑모듈(120)은 기록대상 단위저장공간(즉, 클러스터 36 내지 클러스터 39)과 상기 전송대상 네트워크 스토리지 서버(NSS1)와 대응관계를 설정할 수 있다. 즉, 도 4a에 도시된 바와 같이, 상기 매핑모듈(120)은 클러스터 36 내지 클러스터 39와 매핑된 데이터가 네트워크 스토리지 서버 1(NSS1)에 저장된 L.avi의 각 단위 데이터임을 나타내는 정보를 생성할 수 있다.
그러면, 상기 데이터입출력모듈(150)은 기록대상 파일인 L.avi을 상기 전송대상 네트워크 스토리지 서버인 네트워크 스토리지 서버 1(NSS1)에 전송할 수 있으며, 상기 네트워크 스토리지 서버 1은 L.avi를 저장할 수 있으며, 저장된 결과가 도 4b에 도시되어 있다.
이후, 상기 호스트 컴퓨터(200)는 기록대상 파일인 L.avi이 기록대상 단위저장공간(즉, 클러스터 36 내지 클러스터 39)에 기록된 것으로 판단하고, 그 결과를 파일 시스템 정보에 반영하여 도 4c와 같이 상기 파일 시스템 정보를 변경할 수 있다.
상술한 바와 같이, 본 발명의 기술적 사상에 따른 이동식 저장장치(100)는 클라우드 서비스와 같은 네트워크 스토리지 서비스와 연동되어 사용자에게 대용량의 저장공간을 제공할 수 있다. 또한, 상기 이동식 저장장치(100)를 이용하는 사용자의 호스트 컴퓨터(200)는 자신에 설치된 운영체제에서 지원하는 통상적인 호스트 파일 시스템을 통해 파일을 액세스할 수 있으므로 사용자는 운영체제에서 제공하는 UI 혹은 커맨드(예를 들면, Windows 운영체제의 탐색기)를 이용하여 네트워크 스토리지 서버에 저장된 파일을 액세스할 수 있다. 따라서, 사용자가 별도의 전용 프로그램을 설치해야 하는 불편을 없앨 수 있으며, 통상적인 이동식 저장장치(예를 들면, USB 메모리)를 이용하는 것과 같은 사용자 경험을 제공할 수 있는 효과가 있다.
또한, 사용자가 실수로 로컬 PC에 데이터를 남길 여지를 사전에 방지할 수 있으므로 데이터 불법 유출을 막을 수 있는 효과가 있다.
한편, 상기 캐싱모듈(160)은 기록대상 파일을 상기 이동식 저장장치(100)가 구비하고 있는 내부 메모리 장치(170)에 캐싱함으로써 불필요한 통신을 줄이고, 네트워크가 연결되지 않은 상태에서도 상기 호스트 컴퓨터(200)가 상기 기록대상 파일에 액세스할 수 있도록 할 수 있다. 이를 위해, 상기 캐싱모듈(160)은 상기 기록대상 파일을 저장하라는 호스트 컴퓨터의 저장요청에 응답하여, 상기 기록대상 파일을 상기 이동식 저장장치(100)의 내부 메모리 장치(170)에 저장할 수 있으며, 상기 상기 기록대상 파일이 캐시파일로서 상기 내부 메모리 장치(170)에 캐싱되어 있음을 나타내는 정보를 저장할 수 있다.
상기 내부 메모리 장치(170)의 저장용량은 상대적으로 작을 수 있다. 따라서, 상기 캐싱모듈(160)은 모든 기록대상 파일을 상기 내부 메모리 장치에 캐싱하는 것이 아니라, 일정한 캐싱 정책에 따라 기록대상 파일을 캐싱할 수 있다. 예를 들어, 상기 캐싱모듈(160)은 일정한 크기 이하인 파일만을 캐싱할 수 있으며, 내부 메모리 장치에 빈 공간이 없을 경우, 가장 일찍 캐싱된 파일 혹은 가장 액세스 빈도수가 작은 파일을 삭제하여 빈 공간을 확보한 후 기록대상 파일을 캐싱할 수 있다.
이후, 상기 호스트 컴퓨터(200)로부터 독출대상 가상단위공간에 상응하는 데이터의 독출요청이 입력되는 경우, 상기 판단모듈(140)은 상기 독출대상 가상단위공간에 상응하는 캐시파일이 상기 내부 메모리 장치(170)에 저장되어 있는지 여부를 판단할 수 있으며, 그러한 경우 상기 데이터입출력모듈(150)은 네트워크 스토리지 서버로부터 독출대상 파일을 수신하는 대신, 상기 캐시파일에 포함된 데이터를 상기 호스트 컴퓨터(200)로 제공할 수 있다.
따라서, 본 발명의 일 실시예에 따르면, 사용자가 최근에 사용하거나, 즐겨 사용하는 데이터를 내부 메모리에 캐싱함으로써 사용자가 빠르게 해당 데이터에 액세스할 수 있도록 하는 효과가 있다.
상기 이동식 저장장치(100)는 모든 형태의 모바일 저장매체일 수 있다. 구현 예에 따라서는, 상기 이동식 저장장치(100)는 특정 호스트에 사용되도록 하기 위한 고유의 하드웨어 칩을 포함할 수도 있다. 상기 하드웨어 칩은 상기 이동식 저장장치(100)가 상기 특정 호스트에 사용될 수 있음을 인증하는 역할을 수행하는 칩일 수 있다. 물론, 구현 예에 따라서는 상기 하드웨어 칩을 포함하는 소정의 커넥터를 통해 상기 이동식 저장장치(100)가 소정의 호스트에 연결될 수도 있다.
한편, 구현 예에 따라서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치(100)는 프로세서 및 상기 프로세서에 의해 실행되는 프로그램을 저장하는 메모리를 포함할 수 있다. 상기 프로세서는 싱글 코어 CPU혹은 멀티 코어 CPU를 포함할 수 있다. 메모리는 고속 랜덤 액세스 메모리를 포함할 수 있고 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치, 또는 기타 비휘발성 고체상태 메모리 장치와 같은 비휘발성 메모리를 포함할 수도 있다. 프로세서 및 기타 구성 요소에 의한 메모리로의 액세스는 메모리 컨트롤러에 의해 제어될 수 있다. 여기서, 상기 프로그램은, 프로세서에 의해 실행되는 경우, 본 실시예에 따른 이동식 저장장치(100)로 하여금, 상술한 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법을 수행하도록 할 수 있다.
본 발명의 실시 예에 따른 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (18)

  1. 삭제
  2. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서,
    적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 네트워킹모듈;
    수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 매핑모듈;
    수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 파일시스템모듈-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨;
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 판단모듈; 및
    상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 데이터입출력모듈을 포함하며,
    상기 파일시스템모듈에 의해 생성되는 상기 파일 시스템 정보는,
    상기 원격파일에 대한 정보 및 상기 원격파일과의 대응관계가 설정되어 있는 가상단위공간에 대한 정보를 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  3. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서,
    적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 네트워킹모듈;
    수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 매핑모듈;
    수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 파일시스템모듈-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨;
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 판단모듈; 및
    상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 데이터입출력모듈을 포함하며,
    상기 매핑모듈은,
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하고,
    상기 데이터입출력모듈은,
    상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  4. 제3항에 있어서,
    상기 매핑모듈은,
    상기 기록대상 파일의 속성에 기초하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응관계를 설정하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  5. 제4항에 있어서,
    상기 기록대상 파일의 속성은 파일 타입을 포함하고,
    상기 매핑모듈은,
    상기 적어도 하나의 기록대상 가상단위공간이 상기 기록대상 파일의 타입에 상응하는 네트워크 스토리지 서버와 대응관계를 가지도록 설정하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  6. 제3항에 있어서,
    상기 대용량 가상저장공간을 제공하는 이동식 저장장치는,
    상기 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 기록대상 파일을 상기 이동식 저장장치의 내부 메모리 장치에 저장하는 캐싱모듈을 더 포함하되,
    상기 판단모듈은,
    상기 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 캐시파일이 상기 내부 메모리 장치에 저장되어 있는지 판단하고,
    상기 데이터입출력모듈은,
    상기 판단모듈의 판단결과, 저장되어 있는 경우, 상기 캐시파일에 포함된 데이터를 상기 호스트 컴퓨터로 제공하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  7. 제2항 또는 제3항에 있어서, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치는,
    USB(Universal Serial Bus) 인터페이스를 통해 상기 호스트 컴퓨터와 연결되는 것을 특징으로 하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  8. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서,
    적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 네트워킹모듈;
    수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 매핑모듈;
    수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 파일시스템모듈-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨;
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 판단모듈; 및
    상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 데이터입출력모듈을 포함하며,
    상기 네트워킹모듈은,
    무선 네트워크를 통해 상기 적어도 하나의 네트워크 스토리지 서버와의 연결 및 데이터 통신을 수행하는 것을 특징으로 하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  9. 삭제
  10. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치로서,
    네트워크 스토리지 서비스를 제공하는 적어도 하나의 네트워크 스토리지 서버와의 네트워크 연결 및 데이터 통신을 수행하는 네트워킹모듈;
    복수의 가상단위공간을 포함하는 가상저장공간에 대한 파일 시스템 정보를 상기 호스트 컴퓨터에 제공하는 파일시스템모듈-여기서, 상기 가상저장공간에 대한 파일시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 파일 시스템의 형식으로 구성됨;
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 매핑모듈;
    상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장하는 데이터입출력모듈; 및
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 수신대상 네트워크 스토리지 서버를 결정하는 판단모듈을 포함하고,
    상기 데이터입출력모듈은,
    상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
  11. 삭제
  12. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치제공방법으로서,
    (a) 이동식 저장장치가, 적어도 하나의 네트워크 스토리지 서버로부터, 상기 적어도 하나의 네트워크 스토리지 서버에 저장된 원격파일 정보를 수신하는 단계;
    (b) 상기 이동식 저장장치가, 수신한 상기 원격파일 정보에 기초하여, 상기 원격파일의 데이터와 가상저장공간에 포함된 복수의 가상단위공간 중 적어도 하나간의 대응관계를 설정하는 단계;
    (c) 상기 이동식 저장장치가, 수신한 상기 원격파일 정보 및 상기 대응관계에 기초하여, 상기 가상저장공간에 대한 파일 시스템 정보를 생성하는 단계-여기서, 상기 파일 시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 호스트 파일 시스템의 형식으로 구성됨;
    (d) 상기 이동식 저장장치가, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 대응관계에 의해 상기 독출대상 가상단위공간에 대응되는 수신대상 네트워크 스토리지 서버를 판단하는 단계;
    (e) 상기 이동식 저장장치가, 상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 원격파일 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 단계;
    (f) 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 단계; 및
    (g) 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 전송대상 네트워크 스토리지 서버에 전송하여, 상기 전송대상 네트워크 스토리지 서버에 저장하는 단계를 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법.
  13. 제12항에 있어서,
    상기 (f) 단계는,
    상기 기록대상 파일의 속성에 기초하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응관계를 설정하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법.
  14. 제12항에 있어서,
    상기 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법은,
    상기 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 기록대상 파일을 상기 이동식 저장장치의 내부 메모리 장치에 저장하는 단계;
    상기 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 상기 독출대상 가상단위공간에 상응하는 캐시파일이 상기 내부 메모리 장치에 저장되어 있는지 판단하는 단계; 및
    판단결과 저장되어 있는 경우, 상기 캐시파일에 포함된 데이터를 상기 호스트 컴퓨터로 제공하는 단계를 더 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법.
  15. 삭제
  16. 호스트 컴퓨터에 연결되어, 대용량 가상저장공간을 제공하는 이동식 저장장치제공방법으로서,
    이동식 저장장치가, 네트워크 스토리지 서비스를 제공하는 적어도 하나의 네트워크 스토리지 서버와의 네트워크 연결 및 데이터 통신을 수행하는 단계;
    상기 이동식 저장장치가, 복수의 가상단위공간을 포함하는 가상저장공간에 대한 파일 시스템 정보를 상기 호스트 컴퓨터에 제공하는 단계-여기서, 상기 가상저장공간에 대한 파일시스템 정보는, 상기 호스트 컴퓨터에 설치된 운영체제에서 지원하는 파일 시스템의 형식으로 구성됨;
    상기 이동식 저장장치가, 상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 적어도 하나의 기록대상 가상단위공간에 소정의 기록대상 파일을 저장하라는 저장요청에 응답하여, 상기 적어도 하나의 기록대상 가상단위공간 각각과 상기 적어도 하나의 네트워크 스토리지 서버와의 대응 관계를 설정하는 단계;
    상기 이동식 저장장치가, 상기 적어도 하나의 기록대상 가상단위공간 각각에 대하여, 상기 기록대상 파일에 포함된 데이터 중 상기 기록대상 가상단위공간에 상응하는 데이터를 상기 기록대상 가상단위공간에 대응되는 대상 네트워크 스토리지 서버에 전송하여, 상기 대상 네트워크 스토리지 서버에 저장하는 단계;
    상기 호스트 컴퓨터로부터 입력되는 상기 가상저장공간에 포함된 독출대상 가상단위공간에 상응하는 데이터의 독출요청에 응답하여, 저장된 상기 대응 관계에 기초하여 상기 독출대상 가상단위공간에 상응하는 수신대상 네트워크 스토리지 서버를 결정하는 단계; 및
    상기 수신대상 네트워크 스토리지 서버로부터 상기 독출대상 가상단위공간에 상응하는 데이터를 수신하여, 상기 호스트 컴퓨터로 제공하는 단계를 포함하는 대용량 가상저장공간을 제공하는 이동식 저장장치 제공방법.
  17. 제12항 내지 제14항 또는 제16항 중 어느 한 항에 기재된 방법을 수행하기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
  18. 대용량 가상저장공간을 제공하는 이동식 저장장치로서,
    프로세서; 및
    상기 프로세서에 의하여 실행되는 컴퓨터 프로그램을 저장하는 메모리를 포함하며,
    상기 컴퓨터 프로그램은, 상기 프로세서에 의해 실행되는 경우, 상기 대용량 가상저장공간을 제공하는 이동식 저장장치가 제12항 내지 제14항 또는 제16항 중 어느 한 항에 기재된 방법을 수행하도록 하는 대용량 가상저장공간을 제공하는 이동식 저장장치.
KR1020130159010A 2013-12-19 2013-12-19 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법 KR101533427B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130159010A KR101533427B1 (ko) 2013-12-19 2013-12-19 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130159010A KR101533427B1 (ko) 2013-12-19 2013-12-19 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020150034427A Division KR20150073136A (ko) 2015-03-12 2015-03-12 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법

Publications (2)

Publication Number Publication Date
KR20150071898A KR20150071898A (ko) 2015-06-29
KR101533427B1 true KR101533427B1 (ko) 2015-07-03

Family

ID=53518027

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130159010A KR101533427B1 (ko) 2013-12-19 2013-12-19 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법

Country Status (1)

Country Link
KR (1) KR101533427B1 (ko)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US11461258B2 (en) 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
KR20200052405A (ko) 2018-10-24 2020-05-15 김종호 Usb 형태의 클라우드 드라이브 및 이를 이용한 데이터 관리 시스템
WO2021215867A1 (ko) * 2020-04-23 2021-10-28 Kim Chong Ho Usb 기반의 클라우드 디스크 및 디스크 세그먼트 매니지먼트 시스템
KR20210053865A (ko) 2021-05-06 2021-05-12 김종호 Usb 형태의 클라우드 드라이브 및 이를 이용한 데이터 관리 시스템

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050009945A (ko) * 2004-06-08 2005-01-26 (주)킴스디지탈정보 이동식 저장장치를 이용한 가상 저장 공간의 관리 방법 및시스템
KR20050025886A (ko) * 2004-06-09 2005-03-14 센게이트 주식회사 네트워크 메모리 접속장치 및 네트워크 메모리 제공방법
JP2007280261A (ja) * 2006-04-11 2007-10-25 Silex Technology Inc ネットワーク上の機器を共有可能とする可搬型仮想記憶装置
KR20130132670A (ko) * 2012-05-10 2013-12-05 김범기 복합 usb 장치 및 이를 이용한 네트워크 서비스 접속 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050009945A (ko) * 2004-06-08 2005-01-26 (주)킴스디지탈정보 이동식 저장장치를 이용한 가상 저장 공간의 관리 방법 및시스템
KR20050025886A (ko) * 2004-06-09 2005-03-14 센게이트 주식회사 네트워크 메모리 접속장치 및 네트워크 메모리 제공방법
JP2007280261A (ja) * 2006-04-11 2007-10-25 Silex Technology Inc ネットワーク上の機器を共有可能とする可搬型仮想記憶装置
KR20130132670A (ko) * 2012-05-10 2013-12-05 김범기 복합 usb 장치 및 이를 이용한 네트워크 서비스 접속 방법

Also Published As

Publication number Publication date
KR20150071898A (ko) 2015-06-29

Similar Documents

Publication Publication Date Title
KR101533427B1 (ko) 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법
US8527719B2 (en) Concurrent access to a memory pool shared between a block access device and a graph access device
EP3555771B1 (en) Systems and methods for list retrieval in a storage device
EP2249254A2 (en) Storage device having direct user access
US20110314068A1 (en) Interface for extending functionality of memory cards
JP4241485B2 (ja) 情報処理装置および情報処理方法、並びにプログラムおよび記録媒体
CN109451079B (zh) 一种云u盘及其存储方法和存储系统
US9332059B2 (en) Method of file sharing
KR20150073136A (ko) 대용량 가상저장공간을 제공하는 이동식 저장장치 및 그 제공방법
TWI840288B (zh) 設備接入方法及其裝置、資料交換方法及其裝置、聯網設備、服務端及存儲介質
KR101899970B1 (ko) 모바일 클라우드 환경에 적용되는 모바일 단말과 클라우드 서버 및 이를 이용한 모바일 클라우드 컴퓨팅 방법
KR20150128714A (ko) 최적화된 파일 조작을 위한 파일 그룹화 기법
CN117112219A (zh) 主机内存数据访问的方法和装置
US9800658B2 (en) Servers and methods for controlling a server
CN101599063B (zh) 无线虚拟储存装置及取得远程文件的方法
CN108718329B (zh) 支持多种方式访问的云存储移动路由设备的方法及设备
KR100952599B1 (ko) 로컬디스크를 캐쉬로 이용하는 사용자 컴퓨터, 그를이용하는 방법 및 하이브리드 네트워크 스토리지 시스템
JP2009070359A (ja) ハードディスクレス型コンピュータの起動効率を向上可能な広域通信網起動システム
KR20060108420A (ko) 휴대폰용 원격 메모리 시스템
KR20130104110A (ko) 나스에서 데이터 공유 방법 및 데이터 공유가 가능한 nas
CN117370285A (zh) 一种文件处理方法及相关装置
KR20160061593A (ko) 모바일 디바이스 및 상기 단말기의 통신 시스템

Legal Events

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

Payment date: 20180416

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190410

Year of fee payment: 5