KR100801217B1 - VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK - Google Patents

VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK Download PDF

Info

Publication number
KR100801217B1
KR100801217B1 KR1020060066971A KR20060066971A KR100801217B1 KR 100801217 B1 KR100801217 B1 KR 100801217B1 KR 1020060066971 A KR1020060066971 A KR 1020060066971A KR 20060066971 A KR20060066971 A KR 20060066971A KR 100801217 B1 KR100801217 B1 KR 100801217B1
Authority
KR
South Korea
Prior art keywords
virtual storage
file
storage
management server
strip unit
Prior art date
Application number
KR1020060066971A
Other languages
Korean (ko)
Other versions
KR20070012210A (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 PCT/KR2006/002837 priority Critical patent/WO2007011164A1/en
Publication of KR20070012210A publication Critical patent/KR20070012210A/en
Application granted granted Critical
Publication of KR100801217B1 publication Critical patent/KR100801217B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]

Abstract

본 발명은 이동 애드혹 네트워크를 기반으로 한 가상 스토리지 시스템 및 그 방법에 관한 것이다. 상기 가상 스토리지 시스템은, 네트워크 상에 존재하는 다수 개의 휴대용 멀티미디어 플레이어(PMP)내의 저장 장치들로 구성되는 하나의 가상 스토리지로 구축 및 관리하는 가상 스토리지 관리 서버와, 상기 가상 스토리지 관리 서버에 의해 구축된 가상 스토리지를 구성하는 각 휴대용 멀티미디어 플레이어의 내부 저장 장치에 저장 및 관리되는 파일에 대한 정보를 저장 및 관리하는 데이터베이스 서버, 및 상기 가상 스토리지 관리 서버로부터 전송되는 데이터들을 자신의 내부 저장 장치에 저장 및 관리하는 저장 노드 프로그램과 상기 가상 스토리지 관리 서버의 가상 스토리지를 이용할 수 있도록 하는 사용자 프로그램이 실행되는 휴대용 멀티미디어 플레이어를 구비한다. 상기 가상 스토리지 시스템은 네트워크에 존재하는 휴대용 멀티미디어 플레이어내에 장착되어 있는 저장 장치들을 하나의 가상 스토리지로 관리 및 사용할 수 있도록 한다.The present invention relates to a virtual storage system and method thereof based on a mobile ad hoc network. The virtual storage system includes a virtual storage management server configured and managed by one virtual storage including storage devices in a plurality of portable multimedia players (PMPs) existing on a network and the virtual storage management server. A database server that stores and manages information about files stored and managed in the internal storage of each portable multimedia player constituting the virtual storage, and stores and manages data transmitted from the virtual storage management server in its internal storage. And a portable multimedia player that executes a storage node program and a user program for using the virtual storage of the virtual storage management server. The virtual storage system manages and uses storage devices mounted in a portable multimedia player existing in a network as one virtual storage.

애드혹 네트워크, UPnP, 가상 스토리지, PMP Ad hoc network, UPnP, virtual storage, PMP

Description

애드혹 네트워크를 기반으로 한 가상 스토리지 시스템 및 가상 스토리지 관리 방법{VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK}VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK}

도 1은 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템을 전체적으로 도시한 블록도이다.1 is a block diagram of an entire virtual storage system according to a preferred embodiment of the present invention.

도 2는 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 가상 스토리지 관리 서버가 저장 노드 테이블을 작성하는 과정을 순차적으로 도시한 흐름도이다. 2 is a flowchart sequentially illustrating a process of creating a storage node table by a virtual storage management server of a virtual storage system according to an exemplary embodiment of the present invention.

도 3은 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 가상 스토리지에 특정 파일을 저장하는 과정을 순차적으로 도시한 흐름도이다. 3 is a flowchart sequentially illustrating a process of storing a specific file in virtual storage of a virtual storage system according to an exemplary embodiment of the present invention.

도 4는 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 가상 스토리지에 저장된 특정 파일을 갱신하는 과정을 순차적으로 도시한 흐름도이다. 4 is a flowchart sequentially illustrating a process of updating a specific file stored in the virtual storage of the virtual storage system according to an exemplary embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 가상 스토리지에 저장된 특정 파일을 삭제하는 과정을 순차적으로 도시한 흐름도이다. 5 is a flowchart sequentially illustrating a process of deleting a specific file stored in the virtual storage of the virtual storage system according to an embodiment of the present invention.

도 6은 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 가상 스토리지에 저장된 특정 파일을 판독하는 과정을 순차적으로 도시한 흐름도이다. 6 is a flowchart sequentially illustrating a process of reading a specific file stored in the virtual storage of the virtual storage system according to an exemplary embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

10 : 가상 스토리지 시스템10: virtual storage system

100 : 가상 스토리지 관리 서버100: virtual storage management server

110 : 데이터베이스 서버110: database server

120 : 이동형 기기120: mobile device

122 : 저장 노드 프로그램122: storage node program

124 : 사용자 프로그램124: user program

본 발명은 가상 스토리지 시스템 및 가상 스토리지 관리 방법에 관한 것으로서, 더욱 구체적으로는 이동 애드혹 네트워크를 기반으로 한 범용 플러그 앤 플레이(UPnP) 기술을 이용한 가상 스토리지 시스템, 상기 가상 스토리지를 이용한 파일 입출력 방법에 관한 것이다.The present invention relates to a virtual storage system and a virtual storage management method, and more particularly, to a virtual storage system using a universal plug and play (UPnP) technology based on a mobile ad hoc network, and a file input / output method using the virtual storage. will be.

휴대용 멀티미디어 플레이어(Portable Multimedia Player; 이하 'PMP'라고 한다)는 휴대용 멀티미디어 재생기, 차세대 휴대용 컨버전스 기기라고도 불리우는 것으로서, 기본적인 구조는 종래의 MP3 플레이어와 같으나, 음악 재생 기능만 있는 MP3 플레이어와는 달리 동영상도 재생할 수 있고, 디지털 카메라의 기능도 갖추고 있다. 그외에도 PMP는 MP3파일을 저장 및 재생시키거나, 이미지를 저장시키거나, 디지털 카메라로 촬영한 사진을 담은 전자 앨범으로도 사용될 수 있으며, TV 녹화, 스케쥴 관리, 인터넷 접속 등도 가능하다. 이와 같이 다양한 기능을 갖는 PMP는 내 부에 일정 용량의 메모리 즉, 저장장치도 구비하고 있다. Portable Multimedia Player (hereinafter referred to as 'PMP') is also called a portable multimedia player, a next generation portable convergence device, and its basic structure is the same as a conventional MP3 player, but unlike an MP3 player having only a music playback function, It can play and has the functions of a digital camera. In addition, PMP can be used as an electronic album for storing and playing back MP3 files, storing images, or taking pictures taken with a digital camera. It can also record TV, schedule, and access the Internet. As described above, a PMP having various functions also includes a memory having a predetermined capacity, that is, a storage device.

한편, 인텔사에서 개발된 범용 플러그 앤 플레이(Universal Plug and Play;이하, 'UPnP'라고 한다) 기술은 홈 네트워킹을 간편화시키는 기술로서, 개인용 컴퓨터, 주변 장치, 지능형 가전 제품, 무선 장비 등과 같은 장치들을 네트워크에 접속시켰을 때, 인터넷과 웹(WEB) 프로토콜을 사용하여 다른 장비들을 자동으로 인식할 수 있도록 해주는 표준 기술이다. Meanwhile, Intel's Universal Plug and Play (hereinafter referred to as "UPnP") technology simplifies home networking. Its devices include personal computers, peripherals, intelligent appliances, and wireless devices. When connected to a network, it is a standard technology that allows other devices to be automatically recognized using the Internet and Web (WEB) protocols.

특히, UPnP AV 시스템은 UPnP 기술을 기반으로 한 것으로서, 컨트롤 포인트(Control point), 미디어 서버(Media Server), 미디어 렌더러(Media Renderer)로 구성된다. UPnP AV 시스템에 있어서, 사용자가 컨트롤 포인트의 사용자 인터페이스부(User Interface)를 이용하여 미디어 서버의 임의의 컨텐츠(Contents) 및 미디어 렌더러를 선택하면, 미디어 서버의 선택된 컨텐츠가 해당 미디어 렌더러로 직접 전달되어, 미디어 렌더러에서 상기 컨텐츠가 재생된다. In particular, the UPnP AV system is based on UPnP technology and is composed of a control point, a media server, and a media renderer. In a UPnP AV system, when a user selects arbitrary contents and a media renderer of a media server using a control interface's user interface, the selected contents of the media server are delivered directly to the media renderer. The content is played in a media renderer.

하지만, UPnP 기능을 탑재한 기기들이라 할지라도, 미디어 서버의 역할을 하는 기기로부터 미디어 렌더러의 역할을 하는 기기로 콘텐츠를 전송함에 있어서, 미디어 서버의 메모리의 용량은 제한되어 있으므로 미디어 서버에 저장될 콘텐츠의 용량도 한계가 있다. 또한, 전체 네트워크에 연결된 기기들에 장착된 메모리들을 통합하여 관리할 수 없기 때문에, 대용량의 콘텐츠를 저장할 수 없을 뿐만 아니라 전체 메모리에 대한 효율적인 관리도 어렵다. However, even in the case of devices equipped with UPnP function, the content of the media server memory is limited in transferring the content from the device serving as the media server to the device serving as the media renderer. The capacity of is also limited. In addition, since the memory mounted on devices connected to the entire network cannot be integrated and managed, not only a large amount of content can be stored but also an efficient management of the entire memory is difficult.

따라서, 본 발명의 목적은 이동 애드혹 네트워크를 기반으로 한 UPnP 기술을 탑재한 기기에 장착된 저장 장치들을 하나의 가상 스토리지로 이용하는 가상 스토리지 시스템을 제공하는 것이다. Accordingly, an object of the present invention is to provide a virtual storage system that uses storage devices mounted on a device equipped with UPnP technology based on a mobile ad hoc network as one virtual storage.

본 발명의 다른 목적은 상기 가상 스토리지 시스템에 의해 구축된 가상 스토리지에 특정 파일을 저장, 갱신, 삭제, 판독할 수 있는 가상 스토리지 관리 방법을 제공하는 것이다.  Another object of the present invention is to provide a virtual storage management method capable of storing, updating, deleting, and reading a specific file in a virtual storage constructed by the virtual storage system.

전술한 기술적 과제를 달성하기 위한 본 발명의 특징은 가상 스토리지 시스템에 관한 것으로서 상기 가상 스토리지 시스템은, Features of the present invention for achieving the above technical problem relates to a virtual storage system, the virtual storage system,

이동 애드혹 네트워크를 기반으로 한 UPnP 기능을 탑재한 적어도 하나 이상의 이동형 기기들;At least one mobile device having a UPnP function based on a mobile ad hoc network;

상기 이동형 기기들에 장착된 저장 장치들로 구성되는 하나의 가상 스토리지를 구축 및 관리하는 가상 스토리지 관리 서버, 및A virtual storage management server configured to build and manage one virtual storage including storage devices mounted on the mobile devices, and

상기 가상 스토리지 관리 서버에 의해 구축된 가상 스토리지를 구성하는 각 이동형 기기의 저장 장치들에 저장된 파일들에 대한 정보를 저장 및 관리하는 데이터베이스 서버를 구비하고, A database server storing and managing information on files stored in storage devices of each mobile device constituting the virtual storage constructed by the virtual storage management server;

상기 이동형 기기들은 상기 가상 스토리지 관리 서버로부터 전송되는 데이터들을 자신의 저장 장치에 저장 및 관리하는 저장 노드 프로그램, 및 상기 가상 스토리지 관리 서버의 가상 스토리지를 이용할 수 있도록 하는 사용자 프로그램을 구비하여, 네트워크상에 존재하는 이동형 기기들에 장착되어 있는 저장 장치들을 하나의 가상 스토리지로 사용할 수 있도록 한다.The mobile devices include a storage node program that stores and manages data transmitted from the virtual storage management server on its own storage device, and a user program that enables the virtual storage of the virtual storage management server to be used on a network. The storage devices installed in existing mobile devices can be used as one virtual storage.

전술한 가상 스토리지 시스템의 상기 가상 스토리지 관리 서버는 특정 파일을 가상 스토리지를 구성하는 다수개의 이동형 기기들의 저장장치로 분산 저장시키는 것이 바람직하다.The virtual storage management server of the above-described virtual storage system is preferably distributed and stored in a storage device of a plurality of mobile devices constituting the virtual storage.

또한, 전술한 가상 스토리지 시스템의 상기 가상 스토리지 관리 서버는 저장 노드 테이블을 작성 및 관리하며, 상기 저장 노드 테이블은 저장 노드로 등록된 이동형 기기들에 대한 정보를 기록하며, 상기 데이터베이스 서버는 각 파일에 대한 오브젝트 ID 목록을 구비하고, 상기 오브젝트 ID 목록은 각 파일을 구성하는 스트립 유닛 ID 및 각 스트립 유닛 ID가 저장된 저장 노드 정보를 포함하는 것이 바람직하다.In addition, the virtual storage management server of the aforementioned virtual storage system creates and manages a storage node table, the storage node table records information on mobile devices registered as storage nodes, and the database server stores each file. The object ID list preferably includes a strip unit ID constituting each file and storage node information in which each strip unit ID is stored.

전술한 특징에 따른 가상 스토리지 시스템의 이동형 기기들은 휴대용 멀티미디어 플레이이어(PMP) 인 것이 바람직하다. Preferably, the mobile devices of the virtual storage system according to the above features are portable multimedia players (PMPs).

본 발명의 다른 특징에 따른 가상 스토리지 관리 방법은, 가상 스토리지 관리 서버가 외부의 데이터베이스 서버 및 이동형 기기들과 연동하여 가상 스토리지를 구축하고 관리하는 방법에 관한 것으로서, According to another aspect of the present invention, a virtual storage management method relates to a method for a virtual storage management server to build and manage a virtual storage in association with an external database server and mobile devices.

(a) 상기 가상 스토리지 관리 서버가 네트워크상에 존재하는 이동형 기기들을 검색하는 단계와,(a) the virtual storage management server searching for mobile devices present on a network;

(b) 검색된 이동형 기기에 대한 정보를 상기 가상 스토리지 관리 서버내의 저장 노드 테이블에 등록하는 단계와,(b) registering information about the retrieved mobile device in a storage node table in the virtual storage management server;

(c) 네트워크 상의 이동형 기기로부터 파일 저장 요청 메시지 및 저장할 파일을 수신하는 단계와,(c) receiving a file storage request message and a file to be stored from the mobile device on the network;

(d) 수신된 파일에 대하여 파일 ID를 할당하고, 상기 데이터베이스 서버로 상기 파일 ID를 전송하여 등록시키는 단계와,(d) assigning a file ID to the received file, transmitting the file ID to the database server, and registering the file ID;

(e) 상기 파일을 스트립 유닛(strip unit)들로 분할하고, 분할된 스트립 유닛들에 대하여 식별 정보인 스트립 유닛 ID들을 할당하는 단계와, (e) dividing the file into strip units and allocating strip unit IDs which are identification information for the divided strip units;

(f) 분할된 각 스트립 유닛을 저장할 저장 노드를 상기 저장 노드 테이블로부터 선택하는 단계와,(f) selecting from the storage node table a storage node to store each divided strip unit;

(g) 선택된 저장 노드들로 각 스트립 유닛을 전송하는 단계와,(g) sending each strip unit to selected storage nodes;

(h) 상기 저장 노드들로부터 해당 스트립 유닛이 정상적으로 저장된 후 생성하는 오브젝트 ID들을 전송받는 단계와,(h) receiving object IDs generated after the strip unit is normally stored from the storage nodes;

(i) 상기 저장 노드들로부터 전송받은 오브젝트 ID들을 수집하여 오브젝트 ID 목록을 생성하는 단계와,(i) generating an object ID list by collecting object IDs received from the storage nodes;

(j) 생성된 오브젝트 ID 목록을 상기 데이터베이스 서버에 저장하는 단계를 구비하여, 가상 스토리지상에 파일을 저장한다.(j) storing the generated object ID list in the database server to store the file on the virtual storage.

전술한 특징을 갖는 상기 가상 스토리지 관리 방법은,The virtual storage management method having the above-mentioned characteristics,

(k) 네트워크 상의 이동형 기기로부터 파일 갱신 요청 메시지, 갱신할 파일 ID 및 갱신할 파일을 수신하는 단계와,(k) receiving a file update request message, a file ID to update, and a file to update from the mobile device on the network;

(l) 상기 데이터베이스 서버로부터 상기 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계와,(l) receiving an object ID list of the file ID from the database server;

(m) 상기 파일을 스트립 유닛으로 분할하는 단계와, (m) dividing the file into strip units,

(n) 분할된 각 스트립 유닛을 저장할 저장 노드를 상기 저장 노드 테이블로부터 선택하는 단계와,(n) selecting from the storage node table a storage node for storing each divided strip unit;

(o) 선택된 저장 노드들로 각 스트립 유닛을 전송하는 단계와,(o) sending each strip unit to selected storage nodes,

(p) 상기 저장 노드들로부터 해당 스트립 유닛이 정상적으로 저장된 후 생성하는 오브젝트 ID들을 전송받는 단계와,(p) receiving object IDs generated after the strip unit is normally stored from the storage nodes;

(q) 상기 저장 노드들로부터 전송받은 오브젝트 ID들을 수집하여 오브젝트 ID 목록을 갱신하는 단계와,(q) updating the object ID list by collecting object IDs received from the storage nodes;

(r) 갱신된 오브젝트 ID 목록을 상기 데이터베이스 서버에 저장하는 단계를 구비하여, 가상 스토리지상에 파일을 갱신하는 것이 바람직하다. (r) storing the updated object ID list in the database server, and updating the file on the virtual storage.

또한, 전술한 특징을 갖는 상기 가상 스토리지 관리 방법은,In addition, the virtual storage management method having the above characteristics,

(k) 네트워크 상의 이동형 기기로부터 파일 삭제 요청 메시지 및 삭제하고자 하는 파일 ID를 수신하는 단계와,(k) receiving a file deletion request message and a file ID to be deleted from the mobile device on the network;

(l) 상기 데이터베이스 서버로부터 상기 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계와,(l) receiving an object ID list of the file ID from the database server;

(m) 상기 오브젝트 ID 목록으로부터 각 스트립 유닛에 대한 저장 노드 ID 정보를 추출하는 단계와,(m) extracting storage node ID information for each strip unit from the object ID list;

(n) 추출된 저장 노드 ID에 해당하는 저장 노드들로 해당 오브젝트의 삭제 요청 메시지를 전송하는 단계와,(n) transmitting a delete request message of the object to storage nodes corresponding to the extracted storage node ID;

(o) 저장 노드들로부터 오브젝트 삭제 확인 메시지를 수신하는 단계, 및(o) receiving an object deletion confirmation message from storage nodes, and

(p) 상기 데이터베이스 서버로 해당 파일 ID에 대한 오브젝트 ID 목록의 삭제 요청 메시지를 전송하는 단계를 구비하여, 가상 스토리지상에 저장된 특정 파일을 삭제하는 것이 바람직하다.(p) transmitting a delete request message of the object ID list for the corresponding file ID to the database server, and deleting the specific file stored on the virtual storage.

또한, 전술한 특징을 갖는 상기 가상 스토리지 관리 방법은,In addition, the virtual storage management method having the above characteristics,

(k) 네트워크 상의 이동형 기기로부터 파일 판독 요청 메시지 및 파일 ID를 수신하는 단계와,(k) receiving a file read request message and a file ID from the mobile device on the network;

(l) 상기 데이터베이스 서버로부터 상기 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계와,(l) receiving an object ID list of the file ID from the database server;

(m) 상기 오브젝트 ID 목록으로부터 각 스트립 유닛이 저장된 저장 노드 ID 정보를 추출하는 단계와,(m) extracting storage node ID information in which each strip unit is stored from the object ID list;

(n) 상기 추출된 저장 노드 ID에 대한 저장 노드들로 오브젝트 판독 요청 메시지를 전송하는 단계와,(n) transmitting an object read request message to storage nodes for the extracted storage node ID;

(o) 상기 저장 노드들로부터 수신된 메시지로부터 스트립 유닛을 검출하고, 검출된 스트립 유닛들을 수집하여 스트립 유닛 ID에 따라 재배치시켜 하나의 파일을 완성하는 단계, 및(o) detecting a strip unit from the messages received from the storage nodes, collecting the detected strip units and rearranging them according to the strip unit ID to complete one file, and

(p) 완성된 파일은 상기 이동형 기기로 전송하는 단계를 구비하여, 가상 스토리지상에서 특정 파일을 읽어오는 것이 바람직하다.(p) Comprising the step of transmitting the completed file to the mobile device, it is preferable to read a specific file on the virtual storage.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템의 구성 및 동작을 구체적으로 설명한다. Hereinafter, with reference to the accompanying drawings will be described in detail the configuration and operation of the virtual storage system according to an embodiment of the present invention.

도 1은 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템(10)을 전체적으로 도시한 구성도이다. 도 1을 참조하면, 가상 스토리지 시스템(10)은 가상 스토리지 관리 서버(100), 데이터베이스 서버(110), 저장 노드 프로그램(122)과 사용자 프로그램(124)를 포함하는 적어도 하나 이상의 이동형 기기(120)들로 이루어진다. 이하, 전술한 구성 요소들의 동작에 대하여 구체적으로 설명한다. FIG. 1 is a block diagram illustrating an entire virtual storage system 10 according to an exemplary embodiment of the present invention. Referring to FIG. 1, the virtual storage system 10 includes at least one mobile device 120 including a virtual storage management server 100, a database server 110, a storage node program 122, and a user program 124. It consists of Hereinafter, the operation of the above-described components will be described in detail.

상기 가상 스토리지 관리 서버(100)는 네트워크 상에 존재하는 다수 개의 이동형 기기내의 저장 장치들을 하나의 가상 스토리지로 구축하여 관리하며, 상기 가상 스토리지를 구성하는 이동형 기기들에 대한 정보인 저장 노드 테이블(102)을 작성하여 관리한다. 여기서, 상기 저장 노드 테이블(102)은 각 저장노드에 대한 식별 정보인 저장 노드 ID들, 각 저장 노드로 사용되는 이동형 기기들에 대한 주소 정보 및 해당 저장 노드의 저장 장치의 가용 여부에 대한 정보를 포함한다.The virtual storage management server 100 constructs and manages storage devices in a plurality of mobile devices existing in a network as one virtual storage, and stores the storage node table 102 which is information about mobile devices constituting the virtual storage. ) To create and manage. Here, the storage node table 102 stores storage node IDs which are identification information of each storage node, address information of mobile devices used as each storage node, and information on whether storage devices of the storage node are available. Include.

상기 가상 스토리지 관리 서버(100)는 하나의 특정 파일을 하나의 가상 스토리지를 구성하는 다수 개의 이동형 기기의 저장 장치들로 분산 저장시키며, 분산 저장된 특정 파일의 갱신, 삭제 및 판독이 가능하다. 상기 가상 스토리지 관리 서버의 파일 저장, 갱신, 삭제, 판독 동작에 대한 구체적인 설명은 후술한다. The virtual storage management server 100 distributes and stores one specific file as a storage device of a plurality of mobile devices constituting one virtual storage, and updates, deletes, and reads the specific stored file. A detailed description of the file storing, updating, deleting, and reading operations of the virtual storage management server will be described later.

상기 데이터베이스 서버(110)는 상기 가상 스토리지에 저장된 파일들에 대한 파일 정보 관리 테이블을 저장 및 관리한다. The database server 110 stores and manages a file information management table for files stored in the virtual storage.

상기 파일 정보 관리 테이블은 파일 식별 정보인 파일 ID 및 각 파일에 대한 오브젝트(Object) ID 목록을 포함하며, 상기 오브젝트 ID 목록은 해당 파일을 구성하는 스트립 유닛 ID들과 상기 스트립 유닛들이 각각 저장된 저장노드 ID들에 대한 정보를 포함한다. The file information management table includes a file ID which is file identification information and an object ID list for each file. The object ID list includes strip unit IDs constituting the file and a storage node in which the strip units are stored. Contains information about IDs.

상기 이동형 기기(120)는 상기 가상 스토리지 관리 서버로부터 전송되는 데이터들을 자신의 내부 저장 장치에 저장 및 관리하는 저장 노드 프로그램(122)과 상기 가상 스토리지 관리 서버의 가상 스토리지를 이용할 수 있도록 하는 사용자 프로그램(124)을 포함한다. The mobile device 120 includes a storage node program 122 for storing and managing data transmitted from the virtual storage management server in its internal storage device and a user program for using the virtual storage of the virtual storage management server. 124).

상기 이동형 기기의 저장 노드 프로그램(122)은 상기 가상 스토리지 관리 서버(100)로부터 전송되는 요청 메시지를 분석하고, 상기 요청 메시지에 따라 저장 노드 등록, 오브젝트 생성, 오브젝트 삭제, 오브젝트 갱신, 오브젝트 판독 기능을 각각 수행하게 된다. The storage node program 122 of the mobile device analyzes a request message transmitted from the virtual storage management server 100 and registers a storage node, creates an object, deletes an object, updates an object, and reads an object according to the request message. Each will be performed.

먼저, 상기 가상 스토리지 관리 서버로부터 전송된 요청 메시지가 "저장 노드 등록"인 경우, 자신의 식별 정보, 경로 정보, 및 저장 장치의 여유 공간에 대한 정보를 포함하는 등록 응답 메시지를 가상 스토리지 관리 서버로 전송함으로써, 가상 스토리지 관리 서버의 저장 노드 테이블에 등록시킨다. First, when the request message sent from the virtual storage management server is "storage node registration", a registration response message including its identification information, path information, and information on free space of the storage device is sent to the virtual storage management server. By transmitting, it registers in the storage node table of a virtual storage management server.

만약 상기 가상 스토리지 관리 서버로부터 전송된 요청 메시지가 "오브젝트 생성 요청" 메시지인 경우, 상기 요청 메시지로부터 스트립 유닛 데이터를 추출하고, 추출된 스트립 유닛 데이터에 대한 스트립 유닛 ID를 할당하고 메모리에 저장시킨 후, 스트립 유닛 ID와 저장 노드 ID를 포함하는 오브젝트 ID를 생성하고, 상기 오브젝트 ID 및 저장 장치의 여유 공간에 대한 정보를 포함하는 오브젝트 생성 응답 메시지를 상기 가상 스토리지 관리 서버(100)로 전송한다. If the request message sent from the virtual storage management server is an "object creation request" message, the strip unit data is extracted from the request message, the strip unit ID for the extracted strip unit data is allocated and stored in the memory. An object ID including a strip unit ID and a storage node ID is generated, and an object creation response message including information about the object ID and the free space of the storage device is transmitted to the virtual storage management server 100.

만약, 상기 가상 스토리지 관리 서버로부터 전송된 요청 메시지가 "오브젝트 삭제 요청" 메시지인 경우, 상기 메시지로부터 스트립 유닛 ID를 추출하고, 상기 추출된 스트립 유닛 ID에 해당되는 스트립 유닛을 삭제한 후, 삭제된 오브젝트 ID 및 저장 장치의 여유 공간에 대한 정보를 포함하는 오브젝트 삭제 응답 메시지를 상기 가상 스토리지 관리 서버로 전송한다. If the request message sent from the virtual storage management server is an “object deletion request” message, the strip unit ID is extracted from the message, the strip unit corresponding to the extracted strip unit ID is deleted, and then the deleted message is deleted. The object deletion response message including information on the object ID and the free space of the storage device is transmitted to the virtual storage management server.

만약 상기 가상 스토리지 관리 서버로부터 전송된 요청 메시지가 "오브젝트 갱신 요청" 메시지인 경우, 상기 요청 메시지로부터 갱신할 스트립 유닛 ID 및 스트립 유닛 데이터를 추출하고, 해당 스트립 유닛 ID에 해당되는 기저장된 스트립 유닛 데이터를 삭제하고 상기 추출된 스트립 유닛 데이터로 갱신한다. 갱신된 오브젝트 ID 및 저장 장치의 여유 공간에 대한 정보를 포함하는 오브젝트 갱신 응답 메시지를 작성하여 상기 가상 스토리지 관리 서버로 전송한다. If the request message sent from the virtual storage management server is an "object update request" message, the strip unit ID and strip unit data to be updated are extracted from the request message, and the prestored strip unit data corresponding to the strip unit ID is extracted. Is deleted and updated with the extracted strip unit data. An object update response message including an updated object ID and information on free space of the storage device is created and transmitted to the virtual storage management server.

만약 상기 가상 스토리지 관리 서버로부터 전송된 요청 메시지가 "오브젝트 판독 요청"메시지인 경우, 상기 요청 메시지로부터 스트립 유닛 ID를 추출하고, 상기 스트립 유닛 ID에 해당하는 스트립 유닛 데이터를 메모리로부터 판독하고, 판독된 스트립 유닛 데이터 및 오브젝트 ID를 포함하는 오브젝트 판독 응답 메시지를 상기 가상 스토리지 관리 서버로 전송한다. If the request message sent from the virtual storage management server is an "object read request" message, the strip unit ID is extracted from the request message, the strip unit data corresponding to the strip unit ID is read from the memory, and the read message is read. The object read response message including the strip unit data and the object ID is transmitted to the virtual storage management server.

상기 이동형 기기의 사용자 프로그램(124)은 상기 가상 스토리지 관리 서버(100)에 접속하여 특정 파일을 가상 스토리지에 저장시키거나, 상기 가상 스토리지에 저장된 특정 파일을 검색하거나 판독, 삭제, 갱신시킬 수 있도록 하는 사용자 인터페이스(User Interface)를 제공한다. The user program 124 of the mobile device accesses the virtual storage management server 100 to store a specific file in a virtual storage, or to search, read, delete, or update a specific file stored in the virtual storage. Provide a user interface.

이하, 도 2를 참조하여, 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템(10)의 가상 스토리지 관리 서버(100)가 저장 노드 테이블(102)을 작성하는 과정을 순차적으로 설명한다. Hereinafter, a process of creating the storage node table 102 by the virtual storage management server 100 of the virtual storage system 10 according to an exemplary embodiment of the present invention will be described sequentially.

먼저, 가상 스토리지 관리 서버(100)는 네트워크 상에서 데이터베이스 서버(100)를 검색한다(단계 200). 이에 따라, 데이터베이스 서버는 가상 스토리지 관리 서버로 등록 요청 메시지를 전송하며(단계 210), 상기 가상 스토리지 관리 서버 는 상기 데이터베이스 서버에 대한 인증 절차를 수행한다(단계 220). 이때, 상기 데이터베이스 서버에 대한 인증 절차가 성공되면 인증 확인 메시지를 상기 데이터베이스 서버로 전송하며(단계 230), 이에 응답하여 상기 데이터베이스 서버는 확인 메시지를 전송한다(단계 240). First, the virtual storage management server 100 searches for the database server 100 on the network (step 200). Accordingly, the database server transmits a registration request message to the virtual storage management server (step 210), and the virtual storage management server performs an authentication procedure for the database server (step 220). At this time, if the authentication procedure for the database server is successful, an authentication confirmation message is transmitted to the database server (step 230), and in response, the database server transmits a confirmation message (step 240).

다음, 상기 가상 스토리지 관리 서버(100)는 저장 노드의 기능을 수행하는 네트워크상의 이동형 기기들에 대한 정보가 저장된 저장 노드 테이블을 로딩한다(단계 250). 여기서 상기 저장 노드 테이블은 저장 노드 식별 정보(ID), 각 저장 노드로 사용되는 이동형 기기들에 대한 주소 정보 및 해당 저장 노드의 저장 장치의 여유 공간에 대한 정보를 포함한다.Next, the virtual storage management server 100 loads a storage node table in which information about mobile devices on a network performing a storage node function is stored (step 250). Here, the storage node table includes storage node identification information (ID), address information on mobile devices used as each storage node, and information on free space of a storage device of the storage node.

다음, 상기 가상 스토리지 관리 서버(100)는 네트워크상의 저장 노드를 검색하며(단계 260), 검색된 저장 노드는 가상 스토리지로 등록될 것을 요청한다(단계 270). 이에 따라, 상기 저장 노드에 대한 인증 절차를 수행하고, 인증 성공되면 저장 노드 식별 정보를 할당한 후 상기 저장 노드 테이블에 등록한다(단계 280). 상기 가상 스토리지 관리 서버는 상기 저장 노드로 가상 스토리지에 등록되었음을 알리는 확인 메시지를 전송하며(단계 290), 상기 저장 노드는 상기 가상 스토리지 관리 서버로 확인 메시지를 전송한다(단계 292).Next, the virtual storage management server 100 searches for a storage node on the network (step 260), and requests the retrieved storage node to be registered as virtual storage (step 270). Accordingly, an authentication procedure for the storage node is performed. If authentication is successful, the storage node identification information is allocated and registered in the storage node table (step 280). The virtual storage management server transmits a confirmation message indicating that the storage node is registered in the virtual storage (step 290), and the storage node transmits a confirmation message to the virtual storage management server (step 292).

전술한 과정을 통해, 네트워크 상의 이동형 기기들의 저장 장치를 하나의 가상 스토리지로서 사용할 수 있게 된다. Through the above-described process, the storage device of the mobile devices on the network can be used as one virtual storage.

이하, 도 3을 참조하여, 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템에서 가상 스토리지에 특정 파일을 저장하는 과정을 순차적으로 설명한다. Hereinafter, a process of storing a specific file in the virtual storage in the virtual storage system according to an exemplary embodiment of the present invention will be described sequentially.

먼저, 사용자 프로그램이 실행되는 이동형 기기는 가상 스토리지 관리 서버로 파일 저장 요청 메시지 및 저장할 파일을 전송한다(단계 300). 파일 저장 요청 메시지를 수신한 가상 스토리지 관리 서버는 해당 파일에 대해 파일 식별 정보를 할당한 후(단계 305), 데이터베이스 서버로 상기 파일 식별 정보를 전송한다(단계 310). 상기 데이터베이스 서버는 전송받은 정보를 데이터베이스에 추가 등록한다(단계 315). First, the mobile device in which the user program is executed transmits a file storage request message and a file to be stored to the virtual storage management server (step 300). After receiving the file storage request message, the virtual storage management server allocates file identification information for the corresponding file (step 305), and transmits the file identification information to the database server (step 310). The database server further registers the received information in the database (step 315).

다음, 상기 가상 스토리지 관리 서버는 상기 파일을 256KB 사이즈의 스트립 유닛(strip unit)으로 분할시키고, 분할된 각 스트립 유닛에 대하여 식별 정보인 스트립 유닛 ID를 할당한 후, 상기 저장 노드 테이블에 등록된 저장 노드 중 쓰기 가능한 저장 노드들을 선택한다(단계 320). 이때 쓰기 가능한 저장 노드들을 선택하는 방법의 일 실시 형태는 라운드 로빈(Round-Robin) 방식이다. 다음, 선택된 저장 노드들로 분할된 스트립 유닛의 데이터 정보와 함께 오브젝트 생성 요청 메시지를 전송한다(단계 330). 상기 스트립 유닛의 데이터 정보는 스트립 유닛 ID 및 스트립 유닛 데이터를 포함한다. Next, the virtual storage management server divides the file into strip units having a size of 256 KB, allocates strip unit ID which is identification information to each divided strip unit, and then stores the registered data in the storage node table. Select the writable storage nodes among the nodes (step 320). At this time, one embodiment of a method for selecting writable storage nodes is a round-robin method. Next, an object creation request message is transmitted with the data information of the strip unit divided into the selected storage nodes (step 330). The data information of the strip unit includes strip unit ID and strip unit data.

상기 가상 스토리지 관리 서버로부터 오브젝트 생성 요청 메시지를 수신한 저장 노드는 상기 오브젝트 생성 요청 메시지로부터 스트립 유닛 데이터를 추출하고(단계 340), 스트립 유닛 ID를 추출한다(단계 342). 다음, 상기 스트립 유닛을 저장할 공간을 결정한 후 상기 스트립 유닛을 저장한다(단계 344). 다음, 상기 스트립 유닛 ID와 상기 저장 노드 ID를 포함하는 오브젝트 ID를 생성하고(단계 346), 생성된 오브젝트 ID 및 저장 공간의 여유 공간 에 대한 정보를 포함하는 오브젝트 생성 응답 메시지를 작성하여 상기 가상 스토리지 관리 서버로 전송한다(단계 348).The storage node receiving the object creation request message from the virtual storage management server extracts strip unit data from the object creation request message (step 340), and extracts a strip unit ID (step 342). Next, determine a space to store the strip unit and then store the strip unit (step 344). Next, an object ID including the strip unit ID and the storage node ID is generated (step 346), and an object creation response message including information about the generated object ID and the free space of the storage space is created to generate the virtual storage. Send to the management server (step 348).

상기 가상 스토리지 관리 서버는 상기 오브젝트 생성 응답 메시지를 수신하고, 수신된 메시지에 따라 저장 노드 테이블의 쓰기 가능 필드를 갱신시킨 후, 오브젝트 ID 목록을 생성한다(단계 350). 이때, 오브젝트 ID 목록은 상기 가상 스토리지 관리 서버가 다수 개의 저장 노드들로부터 수신된 오브젝트 생성 응답 메시지들로부터 추출된 오브젝트 ID들로 구성된다. The virtual storage management server receives the object creation response message, updates the writable field of the storage node table according to the received message, and generates an object ID list (step 350). In this case, the object ID list is composed of object IDs extracted by the virtual storage management server from object generation response messages received from a plurality of storage nodes.

생성된 오브젝트 ID 목록을 상기 데이터베이스 서버로 전송하고(단계 360), 상기 데이터베이스 서버는 전송받은 오브젝트 ID 목록을 추가 등록시키고(단계 365), 확인 메시지를 가상 스토리지 관리 서버로 전송한다(단계 370).The generated object ID list is transmitted to the database server (step 360), the database server further registers the received object ID list (step 365), and transmits a confirmation message to the virtual storage management server (step 370).

다음, 상기 가상 스토리지 관리 서버는 파일 저장을 요청한 해당 이동형 기기로 파일 쓰기가 완료되었음을 알리는 메시지를 전송한다(단계 380). Next, the virtual storage management server transmits a message indicating that file writing is completed to the corresponding mobile device requesting file storage (step 380).

이하, 도 4를 참조하여, 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템에서 가상 스토리지에 저장된 특정 파일을 갱신시키는 과정을 순차적으로 설명한다. Hereinafter, a process of updating a specific file stored in the virtual storage in the virtual storage system according to an exemplary embodiment of the present invention will be described sequentially.

먼저, 사용자 프로그램이 실행되는 이동형 기기는 가상 스토리지 관리 서버로 파일 갱신 요청 메시지 및 갱신할 파일을 전송한다(단계 400). 파일 갱신 요청 메시지를 수신한 가상 스토리지 관리 서버는 파일 ID 및 오브젝트 ID 목록을 데이터베이스 서버로 요청하여(단계 410) 전송받는다(단계 415). First, the mobile device on which the user program is executed transmits a file update request message and a file to be updated to the virtual storage management server (step 400). Upon receiving the file update request message, the virtual storage management server requests a list of file IDs and object IDs from the database server (step 410) and is transmitted (step 415).

다음, 상기 가상 스토리지 관리 서버는 상기 파일을 256KB 사이즈의 스트립 유닛(strip unit)으로 분할시키고, 분할된 각 스트립 유닛들에 대하여 식별 정보인 스트립 유닛 ID들을 할당하고, 상기 저장 노드 테이블에 등록된 저장 노드 중 쓰기 가능한 저장 노드들을 선택한다(단계 420). 이때 쓰기 가능한 저장 노드들을 선택하는 방법의 일 실시 형태는 라운드 로빈(Round-Robin) 방식이다. 다음, 선택된 저장 노드로 분할된 스트립 유닛의 데이터 정보와 함께 오브젝트 갱신 요청 메시지를 전송한다(단계 430). 상기 스트립 유닛의 데이터 정보는 해당 스트립 유닛에 대한 스트립 유닛 ID 및 스트립 유닛 데이터를 포함한다. Next, the virtual storage management server divides the file into strip units having a size of 256 KB, allocates strip unit IDs that are identification information for each of the divided strip units, and stores the registered data in the storage node table. Among the nodes, writeable storage nodes are selected (step 420). At this time, one embodiment of a method for selecting writable storage nodes is a round-robin method. Next, the object update request message is transmitted with the data information of the strip unit divided into the selected storage node (step 430). The data information of the strip unit includes strip unit ID and strip unit data for the strip unit.

상기 가상 스토리지 관리 서버로부터 오브젝트 갱신 요청 메시지를 수신한 저장 노드는 상기 오브젝트 갱신 요청 메시지로부터 스트립 유닛 데이터를 추출하고(단계 440), 오브젝트 ID로부터 스트립 유닛 ID를 추출한다(단계 442). 상기 스트립 유닛을 저장할 공간을 결정한 후 상기 스트립 유닛 데이터를 저장한다(단계 444). The storage node receiving the object update request message from the virtual storage management server extracts strip unit data from the object update request message (step 440), and extracts the strip unit ID from the object ID (step 442). After determining a space to store the strip unit, the strip unit data is stored (step 444).

다음, 상기 오브젝트 ID 및 저장 장치의 여유 공간에 대한 정보를 포함하는 오브젝트 갱신 응답 메시지를 작성하여 상기 가상 스토리지 관리 서버로 전송한다(단계 446).Next, an object update response message including information on the object ID and the free space of the storage device is created and transmitted to the virtual storage management server (step 446).

상기 가상 스토리지 관리 서버는 상기 오브젝트 갱신 응답 메시지를 수신하고, 수신된 메시지에 따라 저장 노드 테이블의 쓰기 가능 필드를 갱신시킨다(단계 450). 다음, 갱신된 오브젝트 ID 목록을 상기 데이터베이스 서버로 전송하고(단계 460), 상기 데이터베이스 서버는 전송받은 오브젝트 ID 목록을 갱신시키고(단계 465), 갱신 확인 메시지를 가상 스토리지 관리 서버로 전송한다(단계 470).The virtual storage management server receives the object update response message and updates the writable field of the storage node table according to the received message (step 450). Next, the updated object ID list is transmitted to the database server (step 460), and the database server updates the received object ID list (step 465), and transmits an update confirmation message to the virtual storage management server (step 470). ).

다음, 상기 가상 스토리지 관리 서버는 파일 갱신을 요청한 해당 이동형 기기로 파일 갱신이 완료되었음을 알리는 메시지를 전송한다(단계 480). Next, the virtual storage management server transmits a message indicating that the file update is completed to the corresponding mobile device requesting the file update (step 480).

이하, 도 5를 참조하여, 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템에서 가상 스토리지에 저장된 특정 파일을 삭제시키는 과정을 순차적으로 설 명한다. Hereinafter, a process of deleting a specific file stored in the virtual storage in the virtual storage system according to an exemplary embodiment of the present invention will be described sequentially.

사용자 프로그램이 실행되는 이동형 기기는 가상 스토리지 관리 서버로 파일 삭제 요청 메시지 및 삭제하고자 하는 파일 정보를 전송한다(단계 500). 파일 삭제 요청 메시지를 수신한 가상 스토리지 관리 서버는 상기 데이터베이스 서버로 해당 파일에 대한 오브젝트 ID 목록을 요청하여(단계 510), 전송받는다(단계 515). The mobile device on which the user program is executed transmits a file deletion request message and file information to be deleted to the virtual storage management server (step 500). Upon receiving the file deletion request message, the virtual storage management server requests the object ID list for the file from the database server (step 510) and receives the received file (step 515).

상기 가상 스토리지 관리 서버는 전송받은 오브젝트 ID 목록으로부터 저장 노드 ID를 추출하고, 저장 노드 테이블을 참조하여 해당 저장 노드를 선택한 후(단계 520), 상기 선택된 저장 노드로 오브젝트 삭제 요청 메시지를 전송한다(단계 530).The virtual storage management server extracts the storage node ID from the received object ID list, selects the storage node with reference to the storage node table (step 520), and transmits an object deletion request message to the selected storage node (step 520). 530).

상기 가상 스토리지 관리 서버로부터 오브젝트 삭제 요청 메시지를 수신한 저장 노드는 상기 오브젝트 삭제 요청 메시지로부터 스트립 유닛 ID를 추출하고(단계 540), 추출된 스트립 ID를 저장 공간으로부터 검색하여 삭제한다(단계 542). 다음, 오브젝트 ID 및 저장 장치의 여유 공간에 대한 정보를 포함하는 오브젝트 삭제 응답 메시지를 작성하여 상기 가상 스토리지 관리 서버로 전송한다(단계 548).The storage node receiving the object deletion request message from the virtual storage management server extracts a strip unit ID from the object deletion request message (step 540), and retrieves and extracts the extracted strip ID from the storage space (step 542). Next, an object deletion response message including an object ID and information on the free space of the storage device is created and transmitted to the virtual storage management server (step 548).

상기 가상 스토리지 관리 서버는 상기 오브젝트 삭제 응답 메시지를 수신하고, 수신된 메시지에 따라 저장 노드 테이블의 쓰기 가능 필드를 갱신시킨 후(단계 550), 데이터베이스 서버로 해당 파일 ID에 대한 정보의 삭제를 요청한다(단계 560).The virtual storage management server receives the object delete response message, updates the writable field of the storage node table according to the received message (step 550), and requests the database server to delete information on the corresponding file ID. (Step 560).

상기 데이터베이스 서버는 파일 삭제 요청에 따라 상기 파일 ID에 해당하는 정보를 모두 삭제시킨 후(단계 565), 삭제 확인 메시지를 가상 스토리지 관리 서버 로 전송한다(단계 570).The database server deletes all information corresponding to the file ID according to the file deletion request (step 565), and then transmits a deletion confirmation message to the virtual storage management server (step 570).

다음, 상기 가상 스토리지 관리 서버는 파일 삭제를 요청한 해당 이동형 기기로 파일 삭제가 완료되었음을 알리는 메시지를 전송한다(단계 580). Next, the virtual storage management server transmits a message indicating that file deletion is completed to the corresponding mobile device requesting file deletion (step 580).

이하, 도 6을 참조하여, 본 발명의 바람직한 실시예에 따른 가상 스토리지 시스템에서 가상 스토리지에 저장된 특정 파일을 판독하는 과정을 순차적으로 설명한다. Hereinafter, a process of reading a specific file stored in the virtual storage in the virtual storage system according to an exemplary embodiment of the present invention will be described in sequence.

사용자 프로그램이 실행되는 이동형 기기는 가상 스토리지 관리 서버로 특정 파일에 대한 판독 요청 메시지를 전송한다(단계 600). 파일 판독 요청 메시지를 수신한 가상 스토리지 관리 서버는 상기 데이터베이스 서버로 해당 파일 ID에 대한 오브젝트 ID 목록을 요청하여(단계 610), 오브젝트 ID 목록을 전송받는다(단계 615).  The mobile device on which the user program is executed sends a read request message for a specific file to the virtual storage management server (step 600). Upon receiving the file read request message, the virtual storage management server requests the object ID list for the file ID from the database server (step 610), and receives the object ID list (step 615).

다음, 상기 가상 스토리지 관리 서버는 오브젝트 ID로부터 저장 노드 ID를 추출하고, 저장 노드 테이블을 이용하여 상기 저장 노드 ID에 대한 주소를 검색하고(단계 620), 해당 저장 노드로 오브젝트 판독 요청 메시지를 전송한다(단계 630). Next, the virtual storage management server extracts the storage node ID from the object ID, retrieves the address for the storage node ID using the storage node table (step 620), and transmits an object read request message to the storage node. (Step 630).

상기 가장 스토리지 관리 서버로부터 오브젝트 판독 요청 메시지를 전송받은 저장 노드는 오브젝트 ID로부터 스크립 유닛 ID를 추출하고, 추출된 스크립 유닛 ID에 할당된 저장 공간으로부터 스크립 유닛을 판독하고(단계 642), 판독된 스크립 유닛과 오브젝트 ID를 포함한 오브젝트 판독 응답 메시지를 상기 가상 스토리지 관리 서버로 전송한다(단계 644).The storage node that has received the object read request message from the storage management server extracts the script unit ID from the object ID, reads the script unit from the storage space allocated to the extracted script unit ID (step 642), and reads the read script. An object read response message including a unit and an object ID is sent to the virtual storage management server (step 644).

다음, 가상 스토리지 관리 서버는 저장 노드로부터 전송된 오브젝트 판독 응답 메시지로부터 스크립 유닛을 추출한다(단계 646). The virtual storage management server then extracts the script unit from the object read response message sent from the storage node (step 646).

전술한 과정을 반복적으로 수행하여, 상기 가상 스토리지 관리 서버는 스크립 유닛들을 수집하고, 수집된 스크립 유닛들을 순서대로 배열시켜 파일을 완성시킨 후(단계 648), 파일 내용과 함께 파일 판독 응답 메시지를 상기 이동형 기기로 전송한다(단계 650). By repeatedly performing the above process, the virtual storage management server collects script units, arranges the collected script units in order to complete a file (step 648), and then reads a file read response message together with the file contents. Transmit to mobile device (step 650).

이상에서 본 발명에 대하여 그 바람직한 실시예를 중심으로 설명하였으나, 이는 단지 예시일 뿐 본 발명을 한정하는 것이 아니며, 본 발명이 속하는 분야의 통상의 지식을 가진 자라면 본 발명의 본질적인 특성을 벗어나지 않는 범위에서 이상에 예시되지 않은 여러 가지의 변형과 응용이 가능함을 알 수 있을 것이다. 그리고, 이러한 변형과 응용에 관계된 차이점들은 첨부된 청구 범위에서 규정하는 본 발명의 범위에 포함되는 것으로 해석되어야 할 것이다. Although the present invention has been described above with reference to preferred embodiments thereof, this is merely an example and is not intended to limit the present invention, and those skilled in the art do not depart from the essential characteristics of the present invention. It will be appreciated that various modifications and applications which are not illustrated above in the scope are possible. And differences relating to such modifications and applications should be construed as being included in the scope of the invention defined in the appended claims.

본 발명에 의하여, 네트워크상에 산재되어 있는 이동형 기기들에 내장된 저장 장치들을 하나의 가상 스토리지로 사용할 수 있게 된다. 따라서, 사용자는 대용량의 가상 스토리지를 자신의 저장 장치인 것처럼 자유롭게 사용할 수 있게 된다. 또한, 이동형 기기 사용자들은 타인의 이동형 기기에 저장된 멀티미디어 콘텐츠도 마음대로 사용할 수 있게 된다. According to the present invention, storage devices embedded in mobile devices scattered over a network can be used as one virtual storage. Thus, the user can freely use the large-capacity virtual storage as if it is his storage device. In addition, mobile device users can freely use multimedia contents stored in others' mobile devices.

특히, 개인 사용자뿐만 아니라, 기업이나 연구소 또는 특정 그룹내에서 가상 스토리지를 형성함으로써, 서로의 정보 공유가 쉽고 빠르게 이루어질 수 있게 되 며, 그 결과 스토리지 공간도 절약할 수 있게 된다. In particular, by forming virtual storage not only for individual users, but also within an enterprise, a research institute or a specific group, sharing information with each other can be done easily and quickly, thereby saving storage space.

또한, 본 발명에 따른 가상 스토리지 관리 시스템은 애드 혹 네트워크를 기반으로 함으로써, 가상 스토리지 관리 서버가 네트워크상에 존재하는 이동형 기기들을 검색하기 이전에, 네트워크 상에 존재하는 이동형 기기, 가상 스토리지 관리 서버, 데이터베이스 서버들이 애드혹 네트워크를 기반으로 고정된 망의 도움없이 자율적이면서 즉흥적으로 네트워크를 형성할 수 있게 된다. In addition, the virtual storage management system according to the present invention is based on an ad hoc network, before the virtual storage management server searches for mobile devices existing on the network, the mobile devices existing on the network, the virtual storage management server, Database servers can be autonomous and spontaneous on an ad hoc network without the help of a fixed network.

Claims (15)

삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 가상 스토리지 관리 서버가 외부의 데이터베이스 서버 및 네트워크상의 다수 개의 기기들과 연동하여 하나의 가상 스토리지를 구축하고 관리하는 가상 스토리지 관리 방법은, A virtual storage management method in which a virtual storage management server interworks with an external database server and a plurality of devices on a network to build and manage a single virtual storage, (a) 상기 가상 스토리지 관리 서버가 네트워크상에 존재하는 기기들을 검색하는 단계;(a) the virtual storage management server searching for devices present on a network; (b) 검색된 기기들에 대한 정보를 상기 가상 스토리지 관리 서버내의 저장 노드 테이블에 등록하는 단계;(b) registering information about discovered devices in a storage node table in the virtual storage management server; (c) 네트워크 상의 임의의 기기로부터 파일 저장 요청 메시지 및 저장할 파일을 수신하는 단계;(c) receiving a file storage request message and a file to be stored from any device on the network; (d) 수신된 파일에 대하여 파일 ID를 할당하고, 상기 데이터베이스 서버로 상기 파일 ID를 전송하여 등록시키는 단계;(d) assigning a file ID to the received file, and transmitting and registering the file ID to the database server; (e) 상기 파일을 다수 개의 스트립 유닛으로 분할하고, 분할된 각 스트립 유닛에 대해 스트립 유닛 ID를 할당하는 단계; (e) dividing the file into a plurality of strip units and assigning a strip unit ID to each of the divided strip units; (f) 분할된 각 스트립 유닛들을 저장할 저장 노드들을 상기 저장 노드 테이블로부터 선택하는 단계;(f) selecting storage nodes from the storage node table to store respective divided strip units; (g) 선택된 저장 노드들로 각 스트립 유닛들을 전송하는 단계;(g) sending each strip unit to selected storage nodes; (h) 상기 저장 노드들로부터 해당 스트립 유닛이 정상적으로 저장된 후 생성하는 오브젝트 ID들을 전송받는 단계;(h) receiving object IDs generated after the corresponding strip unit is normally stored from the storage nodes; (i) 상기 저장 노드들로부터 전송받은 오브젝트 ID들을 수집하여 오브젝트 ID 목록을 생성하는 단계;(i) generating an object ID list by collecting object IDs received from the storage nodes; (j) 생성된 오브젝트 ID 목록을 상기 데이터베이스 서버에 저장하는 단계(j) storing the generated object ID list in the database server 를 구비하여, 가상 스토리지에 파일을 저장하는 것을 특징으로 하는 가상 스토리지 관리 방법. And providing a file in the virtual storage. 제7항에 있어서, 상기 가상 스토리지 관리 방법은,The method of claim 7, wherein the virtual storage management method, (k) 네트워크 상의 임의의 기기로부터 파일 갱신 요청 메시지, 갱신할 파일 ID, 및 갱신할 파일을 수신하는 단계;(k) receiving a file update request message, a file ID to update, and a file to update from any device on the network; (l) 상기 데이터베이스 서버로부터 갱신 요청된 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계;(l) receiving an object ID list of the file ID requested to be updated from the database server; (m) 상기 수신된 파일을 스트립 유닛 단위로 분할하는 단계; (m) dividing the received file into strip unit units; (n) 분할된 각 스트립 유닛들을 저장할 저장 노드들을 상기 저장 노드 테이블로부터 선택하는 단계;(n) selecting storage nodes from the storage node table to store respective stripped strip units; (o) 선택된 저장 노드들로 각 스트립 유닛들을 전송하는 단계;(o) sending each strip unit to selected storage nodes; (p) 상기 저장 노드들로부터 해당 스트립 유닛이 정상적으로 저장된 후 생성하는 오브젝트 ID들을 전송받는 단계;(p) receiving object IDs generated after the strip unit is normally stored from the storage nodes; (q) 상기 저장 노드들로부터 전송받은 오브젝트 ID들을 수집하여 오브젝트 ID 목록을 갱신하는 단계;(q) updating an object ID list by collecting object IDs received from the storage nodes; (r) 갱신된 오브젝트 ID 목록을 상기 데이터베이스 서버에 저장하는 단계(r) storing the updated object ID list in the database server 를 구비하여, 가상 스토리지상에 파일을 갱신하는 것을 특징으로 하는 가상 스토리지 관리 방법. And updating the file on the virtual storage. 제7항에 있어서, 상기 가상 스토리지 관리 방법은,The method of claim 7, wherein the virtual storage management method, (k) 네트워크 상의 임의의 기기로부터 파일 삭제 요청 메시지 및 삭제하고자 하는 파일 ID를 수신하는 단계;(k) receiving a file deletion request message and a file ID to be deleted from any device on the network; (l) 상기 데이터베이스 서버로부터 상기 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계;(l) receiving an object ID list for the file ID from the database server; (m) 상기 오브젝트 ID 목록으로부터 각 스트립 유닛에 대한 저장 노드 ID 정 보를 추출하는 단계;(m) extracting storage node ID information for each strip unit from the object ID list; (n) 추출된 저장 노드 ID에 해당하는 저장 노드들로 해당 오브젝트의 삭제 요청 메시지를 전송하는 단계;(n) transmitting a delete request message of the object to storage nodes corresponding to the extracted storage node ID; (o) 저장 노드들로부터 오브젝트 삭제 확인 메시지를 수신하는 단계; 및(o) receiving an object deletion confirmation message from storage nodes; And (p) 상기 데이터베이스 서버로 해당 파일 ID에 대한 오브젝트 ID 목록의 삭제 요청 메시지를 전송하는 단계(p) transmitting a delete request message of the object ID list for the file ID to the database server; 를 구비하여, 가상 스토리지상에 저장된 특정 파일을 삭제하는 것을 특징으로 하는 가상 스토리지 관리 방법. And a specific file stored on the virtual storage. 제7항에 있어서, 상기 가상 스토리지 관리 방법은, The method of claim 7, wherein the virtual storage management method, (k) 네트워크 상의 임의의 기기로부터 파일 판독 요청 메시지 및 파일 ID를 수신하는 단계;(k) receiving a file read request message and a file ID from any device on the network; (l) 상기 데이터베이스 서버로부터 상기 파일 ID에 대한 오브젝트 ID 목록을 전송받는 단계;(l) receiving an object ID list for the file ID from the database server; (m) 상기 오브젝트 ID 목록으로부터 각 스트립 유닛이 저장된 저장 노드 ID 정보를 추출하는 단계;(m) extracting storage node ID information storing each strip unit from the object ID list; (n) 상기 추출된 저장 노드 ID에 대한 저장 노드들로 오브젝트 판독 요청 메시지를 전송하는 단계;(n) sending an object read request message to the storage nodes for the extracted storage node ID; (o) 상기 저장 노드들로부터 수신된 메시지로부터 스트립 유닛을 검출하고, 검출된 스트립 유닛들을 수집하여 재배치시켜 하나의 파일을 완성하는 단계; 및(o) detecting a strip unit from the messages received from the storage nodes, collecting and relocating the detected strip units to complete a file; And (p) 완성된 파일은 상기 요청한 기기로 전송하는 단계(p) transmitting the completed file to the requested device 를 구비하여, 가상 스토리지상에서 특정 파일을 읽어오는 것을 특징으로 하는 가상 스토리지 관리 방법. And a specific file read from the virtual storage. 제7항 내지 제10항 중 어느 한 항에 있어서, 상기 기기들은 이동 애드혹 네트워크를 기반으로 한 범용 플러그 앤 플래이(UPnP) 기능을 탑재한 기기들인 것을 특징으로 하는 가상 스토리지 관리 방법. 11. The virtual storage management method according to any one of claims 7 to 10, wherein the devices are devices equipped with a universal plug and play (UPnP) function based on a mobile ad hoc network. 이동 애드혹 네트워크를 기반으로 한 범용 플러그 앤 플래이(UPnP) 기능을 탑재한 이동형 기기에서 실행되는 프로그램으로서, A program that runs on mobile devices with Universal Plug and Play (UPnP) functionality based on mobile ad hoc networks. (a) 외부의 가상 스토리지 관리 서버로부터 저장 노드로의 등록 요청에 따라 자신의 식별 정보 및 경로 정보를 상기 가상 스토리지 관리 서버로 전송하여, 가상 스토리지 관리 서버의 저장 노드 테이블에 등록시키는 단계;(a) transmitting its identification information and path information to the virtual storage management server according to a registration request from an external virtual storage management server to the storage node, and registering the identification information and path information in the storage node table of the virtual storage management server; (b) 상기 가상 스토리지 관리 서버로부터 저장 요청 메시지, 스트립 유닛 ID 및 스트립 유닛 데이터를 전송받는 단계;(b) receiving a storage request message, a strip unit ID and strip unit data from the virtual storage management server; (c) 상기 스트립 유닛 데이터를 저장한 후, 상기 스트립 유닛 ID 및 자신의 식별 정보인 저장 노드 ID로 구성되는 오브젝트 ID를 생성하는 단계;(c) after storing the strip unit data, generating an object ID consisting of the strip unit ID and a storage node ID which is its identification information; (d) 상기 생성된 오브젝트 ID를 상기 가상 스토리지 관리 서버로 전송하는 단계(d) transmitting the generated object ID to the virtual storage management server 를 순차적으로 실행하여, 외부의 가상 스토리지 관리 서버로부터 요청된 파일을 저장하여, 상기 이동형 기기를 가상 스토리지 시스템의 저장 노드로서 동작할 수 있도록 하는 저장 노드 프로그램을 기록한 기록 매체.Storing the requested file from an external virtual storage management server so that the mobile device can operate as a storage node of the virtual storage system. 제12항에 있어서, 상기 저장 노드 프로그램은13. The method of claim 12, wherein the storage node program is (e) 상기 가상 스토리지 관리 서버로부터 삭제 요청 메시지를 전송받는 단계;(e) receiving a delete request message from the virtual storage management server; (f) 상기 삭제 요청 메시지로부터 삭제할 스트립 유닛 ID 를 추출하는 단계; 및(f) extracting a strip unit ID to be deleted from the deletion request message; And (g) 상기 스트립 유닛 ID에 해당하는 스트립 유닛을 메모리로부터 삭제시키는 단계를 더 구비하여, 외부의 가상 스토리지 관리 서버로부터 요청된 파일을 삭제하는 것을 특징으로 하는 저장 노드 프로그램을 기록한 기록 매체.and (g) deleting the strip unit corresponding to the strip unit ID from the memory to delete the requested file from an external virtual storage management server. 제12항에 있어서, 상기 저장 노드 프로그램은13. The method of claim 12, wherein the storage node program is (e) 상기 가상 스토리지 관리 서버로부터 판독 요청 메시지를 전송받는 단계;(e) receiving a read request message from the virtual storage management server; (f) 상기 판독 요청 메시지로부터 스트립 유닛 ID를 추출하는 단계;(f) extracting a strip unit ID from the read request message; (g) 상기 스트립 유닛 ID에 해당되는 스트립 유닛을 메모리로부터 판독하는 단계; 및(g) reading a strip unit corresponding to the strip unit ID from a memory; And (h) 상기 판독된 스트립 유닛을 상기 가상 스토리지 관리 서버로 전송하는 단계를 더 구비하여, 외부의 가상 스토리지 관리 서버로부터 요청된 파일을 판독하는 것을 특징으로 하는 저장 노드 프로그램을 기록한 기록 매체. and (h) transmitting the read strip unit to the virtual storage management server to read the requested file from an external virtual storage management server. 제12항 내지 제14항 중 어느 한 항에 있어서, 상기 가상 스토리지 관리 서버로 상기 저장 노드의 저장 장치의 여유 공간에 대한 정보를 전송하는 단계를 더 구비하는 것을 특징으로 하는 저장 노드 프로그램을 기록한 기록 매체. 15. The recording according to any one of claims 12 to 14, further comprising the step of transmitting information on the free space of the storage device of the storage node to the virtual storage management server. media.
KR1020060066971A 2005-07-21 2006-07-18 VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK KR100801217B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/KR2006/002837 WO2007011164A1 (en) 2005-07-21 2006-07-19 Virtual storage system and method for managementing virtual storage based on ad-hoc network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050066173 2005-07-21
KR20050066173 2005-07-21

Publications (2)

Publication Number Publication Date
KR20070012210A KR20070012210A (en) 2007-01-25
KR100801217B1 true KR100801217B1 (en) 2008-02-11

Family

ID=38012689

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060066971A KR100801217B1 (en) 2005-07-21 2006-07-18 VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK

Country Status (1)

Country Link
KR (1) KR100801217B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof
KR101371324B1 (en) * 2012-06-18 2014-03-10 주식회사 코맥스 hybrid type disk volume expansion method

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101253560B1 (en) 2009-11-05 2013-04-11 한국전자통신연구원 System for managing a virtualization solution and Apparatus and Method for managing the same
KR101337078B1 (en) * 2011-12-14 2013-12-06 충북대학교 산학협력단 A context cognition data centric storage scheme in wireless sensor networks

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030043837A (en) * 2003-04-24 2003-06-02 이건용 P2P-based virtual network storage method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030043837A (en) * 2003-04-24 2003-06-02 이건용 P2P-based virtual network storage method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101371324B1 (en) * 2012-06-18 2014-03-10 주식회사 코맥스 hybrid type disk volume expansion method
KR101242458B1 (en) * 2012-09-13 2013-03-12 효성아이티엑스(주) Intelligent virtual storage service system and method thereof

Also Published As

Publication number Publication date
KR20070012210A (en) 2007-01-25

Similar Documents

Publication Publication Date Title
JP5145719B2 (en) Metadata collection system, content management server, metadata collection apparatus, metadata collection method and program
CN101692236B (en) Managing media files from multiple sources
CN101692238B (en) Auto-selection of media files
CN101692237B (en) Managing media files using metadata injection
US8909668B2 (en) Method of distributing contents and system
KR100813982B1 (en) Cotents sharing method between mobile terminal and local server
JP2008511881A (en) Communication system and method for implementing online file storage based on instant messaging platform
US20060112143A1 (en) Method and system to facilitate publishing and distribution of digital media
US7831644B2 (en) Electronic apparatus and content data providing method
US20080189294A1 (en) Method and apparatus for sharing content
JP2008108096A (en) Content-sharing system, content management server, client device, content management method, and content acquisition method
KR20050104358A (en) Information processing device, content management method, content information management method, and computer program
CN109542861B (en) File management method, device and system
US20100023984A1 (en) Identifying Events in Addressable Video Stream for Generation of Summary Video Stream
JP2014529814A (en) Data maintenance methods
JP2013542681A (en) Content sharing method and apparatus using group change information in content-centric network environment
US20050050026A1 (en) Service retrieval apparatus and service retrieval method
CN108347459A (en) A kind of high in the clouds data quick storage method and device
WO2007011164A1 (en) Virtual storage system and method for managementing virtual storage based on ad-hoc network
KR100801217B1 (en) VIRTUAL STORAGE SYSTEM AND METHOD FOR MANAGEMENTING VIRTUAL STORAGE BASED ON Ad-HOC NETWORK
JP2006319728A (en) Data recording device, data recording method, and data management system
JP2006238226A (en) Home network system
WO2006106606A1 (en) Medium management device and medium management method
KR100801988B1 (en) Virtual storage system and method for searching file based on ad-hoc network
TWI385966B (en) Multimedia system and media central controller and method for managing media file thereof

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130116

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131205

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141211

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee