IP Library Granted Patent US 10,474,643
Granted Patent B2
US 10,474,643 · App. 15/145,311 · Granted Nov 12, 2019

Distributed file system and method of creating files effectively

Inventors: Myung Hoon Cha (Daejeon, KR); Young Kyun Kim (Daejeon, KR); Hong Yeon Kim (Daejeon, KR); Wan Choi (Daejeon, KR)
Assignee: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
G06F16/182G06F16/164
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,474,643
App. No.
15/145,311
Granted
Nov 12, 2019
Kind
B2
Abstract

A distributed file system includes metadata servers and data servers. The metadata server includes a selecting unit to select a data server from the data servers, a chunk allocation requesting unit to request that the selected data server perform chunk allocation, a chunk list managing unit to insert a list of chunks transmitted from the data server into a chunk list pool and determine an arrangement method of the chunk list pool, and a chunk fetching unit to fetch available chunk information from the chunk list pool. The data server includes a receiving unit to receive request for chunk allocation from the metadata server, a chunk allocating unit to allocate chunks in response to the request for chunk allocation and write a list of chunks based on information about the allocated chunk, and a transmitting unit to transmit the list of chunks to the metadata server.

Claims (40)

1. A metadata server comprising:

a chunk allocation determining unit configured to determine whether or not to request a data server to perform chunk allocation, to thereby secure available chunks in a chunk list pool in advance of a shortage of the available chunks in the chunk list pool;

a selecting unit configured to select a data server from one or more data servers;

a chunk allocation requesting unit configured to request the selected data server to perform chunk allocation;

a chunk list managing unit configured to insert a list of chunks transmitted from the data server into the chunk list pool and determine an arrangement order of the chunk list pool; and

a chunk fetching unit configured to fetch information on the available chunks from the chunk list pool,

wherein the chunk fetching unit is configured to fetch the available chunk information from the chunk list pool immediately upon a request of an external client for chunk information without requesting the data server to perform chunk allocation.

2. The metadata server of claim 1 , further comprising a chunk information transmitting unit configured to transmit the information on available chunks from the chunk list pool to an external client.

3. The metadata server of claim 1 , wherein the chunk list managing unit determines the arrangement order of the list of chunks in a random manner.

4. The metadata server of claim 1 , wherein the chunk list managing unit determine the arrangement order of the list of chunks by sources of the data servers.

5. The metadata server of claim 1 , wherein the chunk fetching unit fetches the available chunk information based on a physical distance between an external client and a location at which a chunk is actually stored.

6. The metadata server of claim 1 , wherein the chunk allocation determining unit is configured to periodically request chunk allocation such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value.

7. The metadata server of claim 1 , wherein the chunk allocation determining unit is configured to request that a data server perform chunk allocation in response to a command of a user such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value, and to maintain the number of chunks at a current state when the chunk list pool has chunks in a number of the reference value or more.

8. An execution method of a metadata server, the execution method comprising:

determining whether or not to request a data server to perform chunk allocation, to thereby secure available chunks in a chunk list pool in advance of a shortage of the available chunks in the chunk list pool;

selecting a data server from a plurality of data servers;

requesting the selected data server to allocate a plurality of chunks;

inserting, by the metadata server, a list of chunks transmitted from the data server into the chunk list pool and determining an arrangement order of the chunk list pool; and

fetching information on the available chunks from the chunk list pool,

wherein when the chunk list pool has available chunks in a number of a number needed for a file storage request or more, in the fetching of the available chunk information, the available chunk information is fetched from the chunk list pool immediately upon a request of an external client for chunk information without requesting a data server to allocate the plurality of chunks.

9. The execution method of claim 8 , further comprising:

receiving a request for chunk information from an external client; and

transmitting the available chunk information fetched from the chunk list pool to the external client.

10. The execution method of claim 8 , wherein in the determining of the arrangement order of the chunk list pool, the arrangement order of the chunk list pool is determined in a random manner.

11. The execution method of claim 8 , wherein in the determining of the arrangement order of the chunk list pool, the arrangement order of the chunk list pool is determined by sources of data servers.

12. The execution method of claim 8 , wherein in the fetching of the available chunk information, the chunk information is fetched based on a physical distance between an external client and a location at which a chunk is actually stored.

13. The execution method of claim 8 , wherein in the requesting of the allocation of the plurality of chunks, chunk allocation is periodically requested such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value.

14. The execution method of claim 8 , wherein in the requesting of the allocation of the plurality of chunks, chunk allocation is requested in response to a command of a user such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value, and the number of chunks at a current state is maintained when the chunk list pool has chunks in a number of the reference value or more.

15. An execution method of a distributed file system, the execution method comprising:

determining, by a metadata server, whether or not to request a data server to perform chunk allocation, to thereby secure available chunks in a chunk list pool in advance of a shortage of the available chunks in the chunk list pool;

selecting, by the metadata server, at least one data server from a plurality of data servers;

requesting, by the metadata server, that the selected data server allocate a plurality of chunks;

receiving, by the data server, the request for chunk allocation;

allocating, by the data server, at least one chunk in response to the request for chunk allocation, and writing a list of chunks based on information about the allocated chunk;

transmitting, by the data server, the list of chunks to the metadata server;

inserting, by the metadata server, the list of chunks transmitted from the data server into the chunk list pool and determining an arrangement order of the chunk list pool; and

fetching, by the metadata server, information on the available chunks from the chunk list pool,

wherein when the chunk list pool has available chunks in a number of a number needed for a file storage request or more, in the fetching of the available chunk information, the available chunk information is fetched from the chunk list pool immediately upon a request of an external client for chunk information without requesting a data server to allocate the plurality of chunks.

16. The execution method of claim 15 , wherein in the requesting of the allocation of the plurality of chunks, chunk allocation is periodically requested such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value.

17. The execution method of claim 15 , wherein in the requesting of the allocation of the plurality of chunks, chunk allocation is requested in response to a command of a user such that chunks in the chunk list pool are maintained at a number of a reference value or more when the chunk list pool has chunks in a number less than the reference value, and the number of chunks at a current state is maintained when the chunk list pool has chunks in a number of the reference value or more.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 3, 2016
From: CHA, MYUNG HOON; KIM, YOUNG KYUN; KIM, HONG YEON; CHOI, WAN
To: ELECTRONICS AND TELECOMMUNICATIONS RESEARCH INSTITUTE
Reel/Frame 038446/0647 →
Priority Claims (1)
KR 10-2016-0001055 · Jan 5, 2016 · national
Continuity (1)
Related Publication 20170193006A1 · Jul 6, 2017