KR20180099349A - User terminal, and cloud service system including the same - Google Patents

User terminal, and cloud service system including the same Download PDF

Info

Publication number
KR20180099349A
KR20180099349A KR1020170026687A KR20170026687A KR20180099349A KR 20180099349 A KR20180099349 A KR 20180099349A KR 1020170026687 A KR1020170026687 A KR 1020170026687A KR 20170026687 A KR20170026687 A KR 20170026687A KR 20180099349 A KR20180099349 A KR 20180099349A
Authority
KR
South Korea
Prior art keywords
file
capacity
stored
cloud
flash memory
Prior art date
Application number
KR1020170026687A
Other languages
Korean (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 KR1020170026687A priority Critical patent/KR20180099349A/en
Publication of KR20180099349A publication Critical patent/KR20180099349A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/1824Distributed file systems implemented using Network-attached Storage [NAS] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8549Creating video summaries, e.g. movie trailer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof

Abstract

A user terminal according to an embodiment of the present invention includes: a user application for generating a file processing request of a user; And a virtual cloud file system that provides a virtual cloud storage space in cooperation with a plurality of cloud servers and performs file processing on the virtual cloud storage space according to the file processing request.

Description

[0001] USER TERMINAL, AND CLOUD SERVICE SYSTEM CONTAINING THE SAME [Technical Field]

The present invention relates to a user terminal and a cloud service system including the same, and more particularly, to a user terminal providing a virtual file space to a user and a cloud service system including the user terminal.

Recently, the demand for cloud services is increasing. The cloud service is a service for providing users with a large capacity storage space provided in a cloud server connected through a network, and is a service for solving a complaint about a limit of a memory capacity or a cost increase physically installed in a specific device.

The client of the cloud service can store the file in the cloud server through at least one device, access the stored file, and perform processing such as modification and deletion. When a client uses these services, when a photograph is taken using a camera built in the client device, or when a document is created, the created file can be uploaded to the cloud server immediately online.

However, if the client device is offline, the newly created file can be uploaded to the cloud server immediately when switched to online status. In order to use the files stored in the server in the offline mode and to allow the user to access the files more quickly, it is generally stored using the storage space in the client device. However, since the storage space is limited, if the total size of the stored files exceeds the size of the allocated storage space, the already stored file must be deleted. Also, depending on the cloud service, the user may not be able to use the cloud service itself when the client device goes offline.

The present invention is intended to provide a user terminal and a cloud service system including the same, which enable a user to feel a virtual storage space as a real storage space.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, unless further departing from the spirit and scope of the invention as defined by the appended claims. It will be possible.

According to an aspect of the present invention, there is provided a user terminal comprising: a user application for generating a file processing request of a user; And a virtual cloud file system that provides a virtual cloud storage space in cooperation with a plurality of cloud servers and performs file processing on the virtual cloud storage space according to the file processing request.

According to an embodiment of the present invention, the virtual cloud file system determines whether a basic storage is allocated to a flash memory, allocates the basic storage in consideration of a remaining capacity of the flash memory when the basic storage is not allocated, And an internal storage management unit for generating a temporary file corresponding to the capacity of the basic storage and storing the generated temporary file in the basic storage.

According to an embodiment, the internal storage management unit deletes the temporary file when storing the file in the flash memory according to the file processing request, and stores the file in the basic storage of the address corresponding to the deleted temporary file.

According to an embodiment of the present invention, when the capacity of the basic storage is to be expanded, the internal storage management unit allocates a part of the non-storage area of the flash memory as a basic storage to store a temporary file, A deletion request to delete some files stored in the basic storage can be generated.

According to an embodiment of the present invention, the virtual cloud file system stores the file in the flash memory when the capacity of the file is less than the remaining capacity of the basic storage when storing the file in the flash memory, Storing the file in the extended basic storage by expanding the capacity of the basic storage when the capacity of the non-storage area of the flash memory exceeds a certain capacity, when the remaining capacity of the basic storage is exceeded, When the capacity of the area is equal to or less than a certain capacity, some files stored in the basic storage are deleted and the file can be stored in the secured basic storage.

According to an embodiment, the internal storage management unit may maximize the capacity of the basic storage when receiving a file write request when the mounting mode of the virtual cloud file system is semi-mounted.

According to the embodiment, when receiving the file write request when the mounting mode of the virtual cloud file system is mounted, the internal storage management unit maximizes the capacity of the basic storage, and when the uploading of the file is completed The capacity of the basic storage can be reduced.

According to an embodiment of the present invention, the virtual cloud file system determines whether the file is stored in the flash memory based on a flash memory field for the file upon receiving a file read request from the user application, If the file is stored in the flash memory, the file can be read from the flash memory and transferred to the user application.

According to an embodiment of the present invention, when the file is not stored in the flash memory, the virtual cloud file system checks whether the file is stored in a volatile memory based on a file table, The file can be read from the volatile memory and transferred to the user application.

According to the embodiment, when the file is not stored in the volatile memory, the virtual cloud file system can request a file transfer to the cloud server in which the file is stored if the network is connected.

According to an embodiment of the present invention, the virtual cloud file system determines whether or not the capacity of the file exceeds a critical capacity, and when the capacity of the file is less than the critical capacity, the file received from the cloud server is transferred to the volatile memory Can be stored.

According to an embodiment, the virtual cloud file system may determine whether the read request requests a thumbnail based on file offset information of the file when the capacity of the file exceeds the threshold capacity.

According to an embodiment, the virtual cloud file system stores metadata received from the cloud server in the volatile memory if the read request is to request the thumbnail, and wherein the read request requests the thumbnail The file received from the cloud server may be stored in the flash memory.

According to the embodiment, when the network status change event occurs in the standby state, the virtual cloud file system can start uploading the file stored in the flash memory when the network status is strong.

According to an embodiment, the virtual cloud file system may monitor the network speed with each of the plurality of cloud servers, and may determine a cloud server to which to upload a file based on the monitoring result.

According to an embodiment of the present invention, the virtual cloud file system may transmit a file stored in the flash memory and not uploaded to the cloud server, and may enter a standby state upon completion of transmission.

According to an embodiment, when the file is stored in the flash memory according to a write request in the standby state, the virtual cloud file system can search for a file stored in the flash memory and not uploaded.

According to an embodiment, the virtual cloud file system may be configured to transmit the last synchronization information to the plurality of cloud servers in order to maintain the latest version of the list stored in the list database, List can be received.

According to an embodiment, the virtual cloud file system stores a list of files stored in the virtual cloud storage space, and the list includes a serial number field, a name field, a time information field, a directory field, A capacity field, a status field, a flash memory field, and a server field.

A cloud service system according to an embodiment of the present invention includes: a user terminal; And a plurality of cloud servers for storing a list of files stored in the virtual cloud storage space and files stored in the virtual cloud storage space.

According to the user terminal and the cloud service system including the same according to an embodiment of the present invention configured as described above, a storage space existing in a plurality of cloud servers is used as a virtual cloud storage space installed in the user terminal, . That is, by using the virtual cloud file system, a large-capacity file system can be perceived as the same as that installed in the user terminal. Also, the virtual cloud storage space can be managed so that the user does not inconvenience the file processing of the virtual cloud storage space without any user's operation.

In addition, the storage space of the internal memory allocated for the virtual cloud storage space is dynamically managed according to the user pattern and the network status, thereby minimizing the possibility that the user's file processing request can not be processed.

In addition, even when the virtual cloud file system is installed but the network is not connected, the user can utilize the virtual cloud storage space as the mount state, thereby maximizing user convenience.

On the other hand, according to the characteristics of a plurality of user terminals using the virtual cloud storage space, the list of files stored in the virtual cloud storage space can be kept up-to-date through synchronization, thereby improving the user satisfaction with the virtual cloud storage space.

The effects obtained by the present invention are not limited to the above-mentioned effects, and other effects not mentioned can be clearly understood by those skilled in the art from the following description will be.

1 is a conceptual diagram illustrating a cloud service system according to an embodiment of the present invention.
FIG. 2 is a block diagram illustrating the user terminal shown in FIG. 1 in more detail.
3 is a flowchart illustrating a process of storing a file in a basic storage of a flash memory.
4 and 5 are simplified views of the flash memory when expanding or reducing the capacity of the basic storage.
6 is a flowchart for explaining the operation of the virtual cloud file system when a file is stored in the flash memory.
7 is a diagram for explaining the operation of the internal storage management unit in the semi-mount.
8 is a view for explaining the operation of the internal storage management unit in the mount.
9 is a flowchart for explaining an operation of a virtual cloud file system upon receipt of a read request of a file.
10 is a flowchart for explaining operations performed by the virtual cloud file system upon uploading of a file.
11 is a diagram for explaining a list generation and a list synchronization operation by the synchronization processing unit.
12 is a table showing an example of a list of files stored in a virtual cloud storage space.
13 and 14 are flowcharts for explaining the operation of the virtual cloud file system upon receiving a read request of a moving image file.

Hereinafter, at least one embodiment related to the present invention will be described in detail with reference to the drawings. The suffix "module" and " part "for the components used in the following description are given or mixed in consideration of ease of specification, and do not have their own meaning or role.

1 is a conceptual diagram illustrating a cloud service system according to an embodiment of the present invention. FIG. 2 is a block diagram illustrating the user terminal shown in FIG. 1 in more detail.

Referring to FIG. 1, the cloud service system 10 may include a user terminal 50 and first through n-th (n is an integer of 1 or more) cloud servers 90-1 through 90-n.

The cloud service system 10 provides a virtual storage space for the user of the user terminal 50 through interoperation between the user terminal 50 and the plurality of cloud servers 90-1 to 90-n, It is a system that can increase.

The user terminal 50 may be a mobile phone, a smart phone, a laptop computer, a digital broadcasting terminal, a personal digital assistant (PDA), a portable multimedia player (PMP), a navigation device, a slate PC, A tablet PC, an ultrabook, a wearable device (e.g., a smartwatch, a glass glass, a head mounted display (HMD)), Is not limited thereto.

The user terminal 50 accesses one virtual cloud storage space provided by the virtual cloud file system 100 and writes, reads, deletes, file operations such as move, rename, and copy can be performed.

1, a plurality of user terminals 50 may exist, and a plurality of user terminals may include one virtual cloud storage space provided by the cloud service system 10 Sharing, that is, each of a plurality of user terminals can independently access one virtual cloud storage space to perform file processing.

The user terminal 50 may include a user application 60, a volatile memory 70, a flash memory 80, and a virtual cloud file system 100.

The user application 60 may be a camera application, a document application, a messenger application, or the like, which is installed in the user terminal 50 and can process a user request. The user application 60 may request file processing to the virtual cloud file system 100 according to a user's request or setting. User application 60 may refer to an application or a plurality of applications.

The volatile memory 70 is a memory capable of holding data stored only when power is supplied, and can have a relatively small capacity and a relatively fast read / write speed. Volatile memory 70 may be a RAM (random access memory), a dynamic RAM (DRAM), a static random access memory (SRAM), or a tightly coupled memory (TCM) Do not.

The flash memory 80 is a memory capable of holding stored data even when power is not applied, and can have a relatively large read / write speed with a relatively large capacity. The flash memory 80 may be a flash memory based solid state drive or a solid state drive (SSD), an embedded SSD (eSSD), a universal flash storage (UFS), a multimedia card The flash memory 80 may be a hard disk drive (HDD), a phase change random access memory (RAM), a random access memory (MRAM), or the like. magnetoresistive RAM, STT-spin-transfer torque MRAM, FRAM (ferroelectric RAM), or RRAM (resistive RAM).

The virtual cloud file system 100 may provide the virtual cloud storage space for the user application 60 and may perform file processing for the virtual cloud storage space at the request of the user application 60. [ The virtual cloud file system 100 can provide a virtual file storage space in cooperation with the volatile memory 70, the flash memory 80, and the plurality of cloud servers 90-1 to 90-n.

That is, due to the operation of the virtual cloud file system 100, the user application 60 can receive the virtual cloud storage space and enjoy the same effect as if a large-capacity memory is mounted on the user terminal 50. [

The first through n-th cloud servers 90-1 through 90-n may perform actual file processing in cooperation with the virtual cloud file system 100 through a network.

2, the virtual cloud file system 100 includes a file system mount processing unit 105, a file operation processing unit 110, a list database 115, a flash memory management unit 120, a volatile memory management unit 125, And may include a processing unit 130, an internal storage management unit 135, a synchronization processing unit 140, a list view providing unit 145, a deletion processing unit 150, an upload / download processing unit 155, and a cloud service management unit 160 have.

Here, some of the configurations included in the virtual cloud file system 100 may be omitted as needed, or other configurations may be added. The virtual cloud file system 100 may be implemented in software, hardware, or a combination thereof.

The file system mounting processing unit 105 manages the mounting mode of the virtual cloud file system 100, and the mounting mode can be determined according to the user's control and network conditions.

Mounting modes can be divided into mount, semi-mount and un-mount.

First, the mount may mean that the user's authentication to the virtual cloud file system 100 is completed and the network is available. Semi-mount may mean that the user has been authenticated to the virtual cloud file system 100 and the network is unavailable. Also, the unmount may mean that the user's authentication to the virtual cloud file system 100 has not been completed. Here, the user authentication is performed by inputting an ID and a password through an input device (e.g., a touch screen) of the user terminal 50 and comparing the ID and the password with the user ID and password of the user subscribed to the cloud service Procedure.

For example, if the current mounting mode is unmounted and the user requests the use of the virtual cloud file system 100, the file system mounting processing unit 105 performs authentication of the user. If the user is authenticated, Can be mounted or semi-mounted depending on the network conditions. In addition, if the network is disabled while the current mounting mode is mounted, the file system mounting processing unit 105 can shift the mounting mode to the semi-mounted state. In addition, if the user requests the virtual cloud file system 100 not to be used while the current mounting mode is mount or semi-mount, the file system mounting processing unit 105 can change the mounting mode to unmount.

If the mounting mode is mount, all configurations of the virtual cloud file system 100 can be activated. If the mounting mode is semi-mounted, the synchronization processing unit 140, the upload / download processing unit 155, and the cloud service 902, which need interlocking with a plurality of the cloud servers 90-1 to 90-n in the configuration of the virtual cloud file system 100, The configuration excluding the management unit 160 can be activated. If the mounting mode is unmounted, all configurations of the virtual cloud file system 100 may be deactivated.

The file operation processing unit 110 may control the overall operation of the virtual cloud file system 100 and may receive a file processing request from the user application 60 and control each configuration to execute a file processing request.

The list database 115 may store a list of files stored in the virtual cloud storage space. Here, the virtual cloud storage space refers to the storage space viewed from the standpoint of the user application 60. Therefore, when at least a part of the file write request and the file are transferred to the virtual cloud file system 100, the catalog database should be regarded as being stored in the virtual cloud storage space. In the list database 115, a plurality of cloud servers 90-1 to 90- ), As well as a list of files being uploaded. The list of files may include the file's serial number (No), name (file), time information (time), status, and whether or not the flash memory is stored (Flash memory).

The list database 115 is updated by the list processing unit 130 and may provide a list of specific files according to the request of the list processing unit 130. [

The flash memory management unit 120 can directly access the flash memory 80 to write the file into the flash memory 80 or read the file from the flash memory 80. [ The flash memory management unit 120 can write or read data in units of files, but the scope of the present invention is not limited thereto. At this time, the flash memory management unit 120 can write the file to the basic storage allocated by the internal storage management unit 135. [

The volatile memory management unit 125 can directly access the volatile memory 70 to write the file into the volatile memory 70 or read the file from the volatile memory 70. [ The volatile memory management unit 125 manages a file table for each file, and the file table may include information in which a specific part of the file and an address of the volatile memory 70, which stores a part thereof, are mapped. For example, when the file is composed of 4 bytes, the file table contains information in which 2 bytes of the file and the address on the volatile memory 70 in which the 2 bytes are stored are mapped and information on the remaining 2 bytes and the remaining 2 bytes of the file on the volatile memory 70 Address mapped information may be included. Therefore, the volatile memory management unit 125 can write or read the file with reference to the file table for the read or read command for the file. At this time, the volatile memory management unit 125 can write the file in the area of the volatile memory 70 where the data is not stored.

The list processing unit 130 can manage (create, update, delete, etc.) a list of files stored in the virtual cloud storage space stored in the list database 115. [ The list processing unit 130 may update the list database 115 by receiving a list changed from the synchronization processing unit 140 after database synchronization. The list processing unit 130 requests the list database 115 to store the list of the files stored in the virtual cloud storage space or the files stored in the flash memory 80 at the request of the list view providing unit 145, As shown in Fig.

The internal storage management unit 135 monitors the total capacity of the flash memory 80, the capacity of the user storage area, the capacity of the basic storage, and the capacity of the non-storage area and controls the capacity of the non-storage area and / You can determine the capacity of the underlying storage, depending on whether you are. In addition, the internal storage management unit 135 can calculate the remaining capacity of the file stored in the basic storage. The internal storage management unit 135 may increase or decrease the capacity of the basic storage. However, if the file stored in the basic storage is to be deleted, the internal storage management unit 135 may transmit the deletion request to the deletion processing unit 150.

In case of deleting the file stored in the basic storage, if the file uploading is completed, when the capacity of the basic storage needs to be reduced, the storage failure of the flash memory 80 occurs while the capacity of the basic storage is maximized. There may be cases.

The synchronization processing unit 140 may maintain a list of files stored in the virtual cloud storage space stored in the list database 115 as a latest version.

The synchronization processing unit 140 may inquire the list processing unit 130 whether a list of files stored in the virtual cloud storage space stored in the list database 115 exists. If there is no list of the files stored in the virtual cloud storage space stored in the list database 115, the synchronization processing unit 140 causes the plurality of cloud servers 90-1 to 90-n to store the virtual cloud storage space And then provides the list to the list processing unit 130. The list processing unit 130 receives the list, At least one of the plurality of cloud servers 90-1 to 90-n may store a list of files stored in the latest virtual cloud storage space. For example, each of the plurality of cloud servers 90-1 to 90-n may store a list of files stored in the latest virtual cloud storage space, or a plurality of cloud servers 90-1 to 90- To 90-n may store a list of files stored in the latest virtual cloud storage space.

If there is a list of files stored in the virtual cloud storage space stored in the list database 115, the synchronization processing unit 140 stores the virtual cloud storage space in the plurality of cloud servers 90-1 to 90-n in the virtual cloud storage space You can request a list of the files that are being created. At this time, the synchronization processing unit 140 transmits the information about the time when the virtual cloud file system 100 last synchronized, and the plurality of cloud servers 90-1 to 90-n send the information to the virtual cloud file system 100 May be transmitted to the synchronization processing unit 140. The synchronization processing unit 140 may be configured to synchronize the synchronization information with the synchronization information. The synchronization processing unit 140 may receive the modified list and provide the modified list to the list processing unit 130. This synchronization process is essential because the virtual cloud storage space can access the terminals other than the user terminal 50 and change the list through the file processing request.

When the mounting mode is shifted from the semi-mount to the mount, the synchronization processing unit 140 stores the changed list in the list database 115 according to the specific file processing (deletion, rename, move, etc.) requested by the user during the semi- And can be transmitted to the plurality of cloud servers 90-1 to 90-n. If the mounting mode is the mount, the synchronization processing unit 140 receives the list changed from the list database 115 according to the specific file processing (delete, rename, move, etc.) requested by the user, To the cloud servers 90-1 to 90-n.

The operation of the synchronization processing unit 140 for keeping the list stored in the list database 115 at the latest version is performed when the mounting mode is transited to the mount or periodically (for example, every 12 hours) .

The list view providing unit 145 receives a list of files stored in the virtual cloud storage space or a list of files stored in the flash memory 80 from the list processing unit 130 at the request of the user, Can be displayed through the display of the user terminal 50. Particularly, when the mounting mode is semi-mounted, a list of any one of the files stored in the virtual cloud storage space or the files stored in the flash memory 80 is displayed according to the user's selection .

Upon receiving the deletion request of the internal storage management unit 135, the deletion processing unit 150 may delete the file stored in the flash memory 80 according to the deletion algorithm. At this time, the deletion algorithm may be LRU (Least Recently Used), but this is merely an example, and it may be an algorithm considering the number of times of reading, the date of creation, capacity of the file, and the like. The deletion processing unit 150 can report the deletion result to the list processing unit 130 and the list processing unit 130 can update the list database 115 according to the deletion result.

The upload / download processing unit 155 receives a part of a file or a file from the flash memory management unit 120 or the volatile memory management unit 125 and transmits it to the plurality of cloud servers 90-1 to 90-n (Download or read) to the flash memory management unit 120 or the volatile memory management unit 125 after receiving the file or a part of the file from the plurality of the cloud servers 90-1 to 90-n.

Upon downloading, the upload / download processing unit 155 can deliver the file or a part of the file to the flash memory management unit 120 or the volatile memory management unit 125 under the control of the file operation processing unit 110. [

In addition, the upload / download processing unit 155 may transmit a part of a file or a file to at least one of the plurality of cloud servers 90-1 to 90-n according to the control of the cloud service management unit 160 . Upon completion of the transmission, the upload / download processing unit 155 may report the processing result to the list processing unit 130 so that the list database 115 is updated.

The cloud service management unit 160 may monitor the network speed with each of the plurality of cloud servers 90-1 to 90-n, and may determine a cloud server to transmit a file or a part of the file based on the monitored result. In addition, the cloud service management unit 160 identifies the cloud server in which the requested file or a part of the file is stored through the list processing unit 130, determines a cloud server to request a file or a part of the file based on the identification result, You can send a file's read request to the cloud server.

3 is a flowchart illustrating a process of storing a file in a basic storage of a flash memory.

Referring to FIG. 3, when the virtual cloud file system 100 is first executed and the virtual cloud service is started (S30), the file operation processing unit 110 inquires the internal storage management unit 135 to determine whether a basic storage is allocated (S31).

If the basic storage is not allocated, the internal storage management unit 135 can check the remaining capacity in the flash memory 80, that is, the capacity excluding the user storage area where the file is already stored in the entire capacity of the flash memory 80 (S32).

If the remaining capacity is not less than a certain capacity (for example, 10% of the total capacity), the internal storage management unit 135 allocates the primary storage, generates a temporary file corresponding to the capacity corresponding to the primary storage, (S33). The default storage capacity can be set to default (for example, 512 MB or 10% of the total capacity). The temporary file may be a null value, but the scope of the present invention is not limited thereto.

Thereafter, when the flash memory management unit 120 stores a file in the flash memory 80 in response to an external file processing request in step S35, the flash memory management unit 120 deletes the already stored temporary file in step S35, The file can be stored in the basic storage of the address corresponding to the file (S37).

4 and 5 are simplified views of the flash memory when expanding or reducing the capacity of the basic storage.

Referring to FIGS. 4 and 5, the flash memory 400 may include a user storage area in which a file has already been stored by a user, a basic storage, and an unrecovered area in which no file is stored. In order to expand the capacity of the basic storage, the internal storage management unit 135 may allocate a part of the non-storage area as a basic storage and store the temporary file. At this time, the internal storage management unit 135 can allocate the basic storage within a range in which the un-storage area does not become a certain capacity (for example, 10% of the total capacity). This is because, when the un-storage area becomes less than a certain capacity, normal operation of another application having a higher priority than the virtual cloud service can be hindered.

In order to reduce the capacity of the basic storage, the internal storage management unit 135 may increase the capacity of the non-storage area by deleting some files stored in the basic storage by transmitting the deletion request to the deletion processing unit 150. [

6 is a flowchart for explaining the operation of the virtual cloud file system when a file is stored in the flash memory.

6, when a request to store a file in the flash memory 80 occurs (S60), the file operation processing unit 110 acquires necessary information from the internal storage management unit 135 and executes the algorithm shown in FIG. 6 can do.

The file operation processing unit 110 determines whether or not the capacity of the file to be stored in the flash memory 80 exceeds the remaining capacity of the basic storage (the capacity of the basic storage to which the file is stored and the remaining capacity, that is, the capacity in which the temporary file is stored) (I.e., whether the basic storage is insufficient) (S61).

If the capacity of the file to be stored in the flash memory 80 does not exceed the remaining capacity of the basic storage (that is, if there is a spare capacity of the basic storage), the file operation processing unit 110 determines that the flash memory management unit 120 It is possible to control the file to be stored in the basic storage (S63).

If the capacity of the file to be stored in the flash memory 80 exceeds the remaining capacity of the basic storage (that is, if the basic storage is insufficient), the file operation processing unit 110 reads the non- It is possible to determine whether the capacity is equal to or larger than a predetermined capacity (for example, 10%) (that is, whether there is room for further allocating the basic storage to the flash memory) (S62).

If the capacity of the non-storage area of the flash memory 80 is equal to or larger than a certain capacity, the file operation processor 110 may control the internal storage manager 135 to expand the basic storage capacity (S64). Thereafter, the file operation processing unit 110 can control the flash memory management unit 120 to store the file in the extended basic storage (S63).

If the capacity of the non-storage area of the flash memory 80 is equal to or less than a predetermined capacity, the file storage unit 110 can not expand the basic storage capacity, so that the file operation processing unit 110 determines that the file can not be stored in the flash memory 80 S65). At this time, the file operation processing unit 110 controls the internal storage management unit 135 to generate a deletion request, and the deletion processing unit 150 secures the capacity of the basic storage in response to the deletion request, The memory management unit 120 can control to store the file in the basic storage secured capacity (S63).

7 is a diagram for explaining the operation of the internal storage management unit in the semi-mount. 8 is a view for explaining the operation of the internal storage management unit in the mount.

7, when the file operation processing unit 110 receives a write request for a file in a state that the mounting mode is semi-mounted, the internal storage management unit 135 Can be controlled. At this time, the capacity of the basic storage expanded to the maximum can be set within a range in which the non-storage area does not become a certain capacity (for example, 10% of the total). This allows the flash memory to store as much as possible a file created by the user from the semi-mount, which can not be uploaded to the plurality of cloud servers 90-1 to 90-n through the network, until transition to the mount state, This is to prevent the files generated by the user from being lost. At the same time, the reason for restricting the capacity of the maximum extended basic storage to a range not exceeding a certain capacity (for example, 10% of the total) is that when the non-storage area falls below a certain capacity, This can hinder normal operation of other applications with higher priority than services.

Thereafter, when the mounting mode transitions to the mount, the file stored in the flash memory 80 can be reduced to the capacity of the original basic storage as uploaded to the cloud server.

8, when the file operation processing unit 110 receives the file write request, the internal storage management unit 135 updates the storage capacity of the flash memory 700 to the maximum, Can be controlled. At this time, the capacity of the basic storage expanded to the maximum can be set within a range in which the non-storage area does not become a certain capacity (for example, 10% of the total). This is because the speed at which a file requested to be written may flow into the file operation processing unit 110 may be faster than the speed at which a file is uploaded to a plurality of cloud servers 90-1 to 90-n through a network, To be stored in the flash memory as much as possible so that the file generated by the user is not lost. At the same time, the reason for restricting the capacity of the maximum extended basic storage to a range not exceeding a certain capacity (for example, 10% of the total) is that when the non-storage area falls below a certain capacity, This can hinder normal operation of other applications with higher priority than services.

Thereafter, when the uploading of the files to the plurality of cloud servers 90-1 to 90-n through the network is completed, the file operation processing unit 110 can control the internal storage management unit 135 to reduce the capacity of the basic storage have. Here, the capacity of the reduced basic storage may be a capacity determined by default, but the scope of the present invention is not limited thereto. The reason for shrinking the size of the basic storage is to secure an unrecorded area because it is not necessary to maintain the capacity of the expanded basic storage until the file is uploaded.

9 is a flowchart for explaining an operation of a virtual cloud file system upon receipt of a read request of a file.

Referring to FIG. 9, the file operation processing unit 110 may receive a read request of a file from the user application 60 (S900). In the read request of the file, file offset information (information on a requested capacity among the entire capacity of the file), which indicates whether a thumbnail is requested, in addition to information (e.g., file name, file size, May be included.

The file operation processing unit 110 may request the list processing unit 130 to inquire whether the read requested file is stored in the flash memory 80 in operation S902. When a file requested to be read is stored in the flash memory 80, it can be defined as a flash memory hit. The list processing unit 130 can check whether the file requested to be read is stored in the flash memory 80 by searching the list database 115 for the file requested to be read and checking based on the flash memory field of the searched file. The flash memory field includes information as to whether or not the file is stored in the flash memory 80.

If the flash memory hit succeeds (Yes in S902), since the file requested to be read is currently stored in the flash memory 80, the file operation processing unit 110 controls the flash memory management unit 120 to read the file May be read from the flash memory 80 and transferred to the user application 60 (S904).

If the flash memory hit fails (No in S902), the file operation processing unit 110 may request the volatile memory management unit 125 to inquire whether the read requested file is stored in the volatile memory 70 ( S906). When the read requested file is stored in the volatile memory 70, it can be defined as a volatile memory hit. The volatile memory management unit 125 can check whether the file requested to be read is stored in the volatile memory 70 based on a file table managed for each file.

If the volatile memory hit succeeds (Yes in S906), since the file requested to be read is currently stored in the volatile memory 70, the file operation processing unit 110 controls the volatile memory management unit 125 to read the file May be read from the volatile memory 70 and transferred to the user application 60 (S908).

If the volatile memory hit fails (No in S906), since the file requested to be read is not stored in the flash memory 80 and the volatile memory 70, the file operation processing unit 110 inquires the network status, It is possible to determine whether or not the connection is established (S910). Here, the network status can be obtained from an operating system (OS), but the scope of the present invention is not limited thereto.

If the network is not connected (No in S910), there is no way to read the file requested to be read. Therefore, the file operation processing unit 110 sends a response indicating that the read requested file can not be read to the user application (S912).

If the network is connected (Yes in S910), the file operation processing unit 110 notifies the cloud management server 160 of the cloud stored in the plurality of cloud servers 90-1 through 90- And may request file transfer to the server (S914).

Although it is shown in FIG. 9 that the step S906 is performed before the step S910, the step S910 may be performed before the step S906 according to the embodiment. However, the volatile memory 70 does not store the file in units of files, It is difficult to trust that the entire file is stored in the volatile memory 70 in the semi-mount.

The file operation processing unit 110 may determine whether the capacity of the file requested to be read exceeds the threshold capacity (A MB) (S916). The critical capacity A MB may be a value determined in consideration of the capacity of the volatile memory 70. If the capacity of the file requested to be read does not exceed the threshold capacity A MB, So that the stored file is stored. For example, the critical capacity A MB may be 20 MB, but the scope of the present invention is not limited thereto.

The volatile memory 70 has the advantages of faster access speed and longer life time than the flash memory 80. However, since the volatile memory 70 has a relatively small capacity due to the cost problem, the small capacity file is stored in the volatile memory 70).

If the capacity of the file requested to be read does not exceed the threshold capacity (A MB) (No in S916), the upload / download processor 155 receives the file from the cloud server that requested file transfer (S918) The volatile memory management unit 125 may store the file received from the upload / download processing unit 155 (S920). At this time, the volatile memory management unit 125 may store the volatile memory 70 in a predetermined block (for example, 1 MB or 3 MB) using the file table.

The file operation processing unit 110 may complete the response to the read request of the file by transmitting the read requested file stored in the volatile memory 70 to the user application 60 in operation S908.

If the capacity of the file requested to be read exceeds the threshold capacity (A MB) (Yes in S916), the file operation processing unit 110 can determine whether to receive the metadata first (S922). In the read request of the file, file offset information indicating whether a thumbnail is requested is included in addition to information capable of identifying the file. The file operation processing unit 110 checks whether a thumbnail is requested based on the file offset information, It is determined that the metadata should be received. When constructing a list page to be displayed to a user, a picture file, a moving picture file, a music file, and the like may not require the entire file but only summary information (thumbnail, file name, file size, creation date, etc.) of the corresponding file. That is, if the entire file is received from the cloud server and stored in the flash memory 80 or the volatile memory 70, unnecessary network traffic increases and memory resource occupation occurs even though a read request for the file occurs to display the list page In order to prevent this, step S922 is performed. The metadata includes summary information of the file including the thumbnail, and generally has a capacity of 3 MB or less.

If the meta data is to be received first (Yes in S922), the small capacity meta data is handled in the same manner as when the capacity of the file is equal to or smaller than the threshold capacity, and steps S918, S920 and S908 are sequentially performed, Can be completed. At this time, only the metadata among the files from the cloud server can be stored in the volatile memory 70. [

If the metadata is not to be received first (No in S922), the entire file exceeding the threshold capacity must be received.

The upload / download processing unit 155 receives the file from the cloud server requested to transmit the file (S924), and the flash memory management unit 120 can store the file received from the upload / download processing unit 155 (S926 ). In step S926, the operation algorithm of the virtual cloud file system 100 when the file is stored in the flash memory 80 shown in FIG. 6 is performed .

After the algorithm shown in FIG. 6 is performed, the file requested to be read is stored in the flash memory 80. At this time, the flash memory management unit 120 stores the file / DCIM, / Music, / Movie, etc.) in the flash memory 80.

The file operation processing unit 110 may complete the response to the read request of the file by transmitting the read requested file stored in the flash memory 80 to the user application 60 in operation S904.

9, the operation of the read request of the file is mainly described. However, in response to the write request of the file, the file requested to be written is stored in the flash memory 80 in principle. In accordance with the upload algorithm described in FIG. 10, And transmitted to the server side.

10 is a flowchart for explaining operations performed by the virtual cloud file system upon uploading of a file.

Referring to FIG. 10, the virtual cloud file system 100 corresponds to a current standby state, and the standby state may be a state in which an operation related to uploading of a file is not performed (S1000).

When the network state change event occurs (S1010), the file operation processing unit 110 can determine whether the virtual cloud file system 100 is in a state where the file can be uploaded to the external cloud server (S1020). The network state may include a strong electric field, a weak electric field, or a network disconnection, and a network state change event may occur when the network state changes from one of a strong electric field, a weak electric field, and a network incapability to another network state. The file operation processing unit 110 determines that the file can be uploaded externally only when the current network state is strong. If the current network state is weak electric field or network incapability, the file operation processing unit 110 can not upload the file to the outside It can be judged. The network status change event may be generated by the operating system or the network management application and transmitted to the file operation processing unit 110, but the scope of the present invention is not limited thereto.

If the current network state is the weak electric field or the network is disabled (No in S1020), the file operation processing unit 110 transmits an upload stop request requesting the cloud service management unit 160 to stop the operation related to the upload (S1030 , The virtual cloud file system 100 enters the standby state again (S1000).

If the current network status is strong (S1020: Yes), the file operation processing unit 110 transmits an upload start request requesting the cloud service management unit 160 to start the operation related to the upload (S1040) The control unit 160 can start the operation related to the upload (S1050).

The cloud service management unit 160 monitors the network speed with each of the plurality of cloud servers 90-1 to 90-n, and determines a cloud server to which the file to be uploaded is to be transmitted based on the monitored result (S1060). For example, a cloud server with the fastest network speed can be determined as a cloud server to transmit the file to be uploaded.

The file operation processing unit 110 may transmit the inquiry request to the list processing unit 130 as to whether there is a file that needs to be uploaded among the files stored in the flash memory 80 in operation S1070.

The list processing unit 130 can determine whether there is a file that needs to be uploaded among the files stored in the flash memory 80 based on the flash memory field and the status field of each file stored in the list database 115 (S1080). Here, the flash memory field includes information on whether the corresponding file is stored in the flash memory 80, and the status field includes information on whether or not the upload is completed.

If there is a file that is stored in the flash memory 80 and has not been uploaded (Yes in S1080), the list processing unit 130 delivers the list of these files to the file operation processing unit 110, 120, the upload / download processing unit 155, and the cloud service management unit 160, the file is transmitted to the cloud server (S1090). The uploading of such a file can be performed until all of the files in the list transferred to the file operation processing unit 110 are transmitted. When the transfer is completed, the virtual cloud file system 100 enters a standby state (S1095).

If there is no file that is stored in the flash memory 80 and not yet uploaded (No in S1080), the virtual cloud file system 100 enters a standby state (S1095).

If the file operation processing unit 110 stores a new file in the flash memory 80 in response to a new write request from the user application 60 in the standby state in step S1095, step S1070 may be performed again. This is to allow a new file to be uploaded immediately after the new file is stored in the flash memory 80 in the state where it is verified that uploading to the external cloud server is possible through steps S1000 to S1040.

If a network status change event occurs in the waiting state in step S1095 (S1010), step S1020 may be performed.

11 is a diagram for explaining a list generation and a list synchronization operation by the synchronization processing unit.

Referring to FIG. 11, the synchronization processing unit 140 may maintain a list of files stored in the virtual cloud storage space stored in the list database 115 through the operations shown in FIG. 11 as the latest version.

The synchronization processing unit 140 may check whether the list processing unit 130 has a list of files stored in the virtual cloud storage space stored in the list database 115 in operation S1100.

If there is no list of files stored in the virtual cloud storage space stored in the list database 115, the synchronization processing unit 140 stores the virtual cloud storage space in the plurality of cloud servers 90-1 to 90- And then provides the list to the list processing unit 130 (S1110). The list processing unit 130 may store the received list in the list database 115 to establish an initial database.

If there is a list of files stored in the virtual cloud storage space stored in the list database 115, the synchronization processing unit 140 stores the virtual cloud storage space in the plurality of cloud servers 90-1 to 90-n in the virtual cloud storage space (Step S1130).

In this case, the synchronization processing unit 140 transmits the last synchronization information, which is information on the time when the virtual cloud file system 100 last synchronized, together with the plurality of cloud servers 90-1 to 90-n, The changed list may be transmitted to the synchronization processing unit 140 based on the last synchronized time of the file system 100 (S1140).

The synchronization processing unit 140 may receive the changed list and provide the changed list to the list processing unit 130 and the list processing unit 130 may update the changed list to the list database 115 to process the synchronization of the list database 115 can do.

The operation of the synchronization processing unit 140 for keeping the list stored in the list database 115 at the latest version can be performed at the time of transition to the mount or periodically (for example, every 12 hours) (S1150).

12 is a table showing an example of a list of files stored in a virtual cloud storage space.

Referring to FIG. 12, the list database 115 may include a list of files stored in a virtual cloud storage space, a list may be sorted based on files, and a plurality of fields may be provided for one file .

FIG. 12 shows a list for providing information divided into eight fields for each file. However, this is only an example, and information divided into more fields or fewer fields can be provided.

The serial number (No) field of the file is a number for identifying the file, and a different serial number may be assigned to each file. The serial number (No) of the file can be sequentially increased in accordance with the order of generation, but the scope of the present invention is not limited thereto.

The file field of the file is a name for identifying the file, and may be set differently or the same for each file. The file name may be composed of a combination of a name determined by the user and an extension of the file.

The time information field of the file may include information about the time associated with the file, for example, the first creation time and the last modification time.

The directory field of the file means the name of the directory where the file is located among the directories created in the virtual cloud storage space.

The file size field indicates the total file capacity.

The status field of the file may include information about the state of the upload, that is, the upload is completed (WRITE_DONE), the upload is in progress (WRITE_ING), or the upload is not started (WRITE_NONE).

The flash memory field of the file is a field for whether or not the file is stored in the flash memory 80.

The server field of the file means the identification number of the cloud server to which the file is uploaded and may be set to 0 if the file is not uploaded.

According to the virtual cloud file system 100 according to an embodiment of the present invention, a storage space existing in a plurality of cloud servers can be used and managed as one virtual cloud storage space mounted in the user terminal. That is, by using the virtual cloud file system 100, a large capacity file system can be recognized as a user installed in the user terminal. Also, the virtual cloud storage space can be managed so that the user does not inconvenience the file processing of the virtual cloud storage space without any user's operation.

In addition, the storage space of the internal memory allocated for the virtual cloud storage space is dynamically managed according to the user pattern and the network status, thereby minimizing the possibility that the user's file processing request can not be processed.

In addition, even when the virtual cloud file system is installed but the network is not connected, the user can utilize the virtual cloud storage space as the mount state, thereby maximizing user convenience.

On the other hand, according to the characteristics of a plurality of user terminals using the virtual cloud storage space, the list of files stored in the virtual cloud storage space can be kept up-to-date through synchronization, thereby improving the user satisfaction with the virtual cloud storage space.

13 and 14 are flowcharts for explaining the operation of the virtual cloud file system upon receiving a read request of a moving image file.

Referring to FIG. 13, the file operation processing unit 110 may receive a read request of a moving image file from the user application 60. [ At this time, the read request of the moving picture file is basically processed according to the logic according to FIG. 9 as in the case of the read request of the other kinds of files. However, considering the characteristics of the moving picture file corresponding to the large capacity, .

Even if the video file is likely to be large (for example, over 1 Gbyte) and only displays thumbnails in the video file list, if the entire original video is frequently downloaded from the cloud server, it will cause excessive network data usage And may adversely affect the performance of the virtual cloud file system 100. [

In a typical case, a thumbnail may be extracted in the front part of the moving image file, that is, in the metadata, but depending on the moving image file, the corresponding thumbnail may be extracted from the highlight part of the moving image file. 13, a method for efficiently extracting thumbnails when a thumbnail of a moving image file is requested by the virtual cloud file system 100 will be described.

When the user application 60 requests a thumbnail of the moving picture file to the virtual cloud file system 100, the metadata of the moving picture file may be received according to the logic of FIG. 9 (S1300).

The file operation processing unit 110 can determine whether a thumbnail exists in the metadata stored in the volatile memory 70 (S1310).

If there is a thumbnail in the meta data (Yes in S1310), the file operation processing unit 110 extracts a thumbnail from the metadata stored in the volatile memory 70 in response to a read request of the user application 60, 60 (S1320).

If there is no thumbnail in the meta data (No in S1310), the file operation processing unit 110 reads the file requested to be read among the plurality of cloud servers 90-1 to 90-n through the cloud service management unit 160 A sample video may be requested to the stored cloud server (S1330).

The sample moving image may be a moving image having a size corresponding to a preset capacity of the front portion of the original moving image, and the preset capacity may be a size that does not exceed the threshold capacity (A MB). Accordingly, the sample moving image received from the cloud server according to the logic of FIG. 9 may be stored in the volatile memory 70 (S1340).

The file operation processing unit 110 can determine whether a thumbnail exists in the sample moving image stored in the volatile memory 70 (S1350).

If there is a thumbnail including the highlight portion of the moving image file in the sample video (Yes in S1350), the file operation processing unit 110 reads the sample video stored in the volatile memory 70 in response to the read request of the user application 60 And may transmit the thumbnail to the user application 60 (S1360).

If the thumbnail does not exist because the highlight portion of the moving image file is not included in the sample video (No in S1350), the file operation processing unit 110 transmits the thumbnail to the plurality of cloud servers 90-1 to 90 -n) to the cloud server in which the read requested file is stored (S1370).

At this time, the file operation processing unit 110 may sequentially request a file of a predetermined capacity (for example, 100 Mbytes) without requesting the whole of the original moving image. The original moving image received from the cloud server according to the logic of FIG. 9 may be stored in the flash memory 80 (S1380).

The file operation processing unit 110 may extract a thumbnail from the original moving image stored in the flash memory 80 and transmit the extracted thumbnail to the user application 60. [

Accordingly, when the virtual cloud file system 100 receives a request for a thumbnail of a moving image file, the thumbnail can be efficiently extracted while minimizing the amount of network data usage.

The operation of the virtual cloud file system 100 when the user application 60 requests the virtual cloud file system 100 to reproduce a moving image file will be described with reference to FIG.

When the file operation processing unit 110 receives a request to reproduce a moving image file (S1400), the file operation processing unit 110 may determine whether a sample moving image of the requested moving image file is stored in the volatile memory 70 (S1410). This may correspond to step S906 of the logic of FIG.

If the sample movie is stored in the volatile memory 70 (Yes in S1410), the file operation processing unit 110 stores the sample movie stored in the volatile memory 70 in response to the read request of the user application 60 To the user application 60 (S1420).

When the reading of the sample movie stored in the volatile memory 70 is completed, the file operation processing unit 110 reads the original movie corresponding to the next frame of the sample movie from the plurality of cloud servers 90-1 to 90-n (Step S1430).

Therefore, when the sample movie is already stored in the volatile memory 70 as in step S1340 of FIG. 13, the movie file can be read without requesting to the cloud server, and only the movie file after the sample movie is requested Thereby reducing network data usage and responding to the read request of the user application more quickly.

If the sample moving image is not stored in the volatile memory 70 (No in S1410), the file operation processing unit 110 causes the original moving image to be stored in the file 90 of the plurality of cloud servers 90-1 to 90- To the stored cloud server (S1440).

The method described above can be implemented as computer-readable code on a computer-readable recording medium. The computer-readable recording medium includes all kinds of recording media storing data that can be decoded by a computer system. For example, it may be a ROM (Read Only Memory), a RAM (Random Access Memory), a magnetic tape, a magnetic disk, a flash memory, an optical data storage device, or the like. In addition, the computer-readable recording medium may be distributed and executed in a computer system connected to a computer network, and may be stored and executed as a code readable in a distributed manner.

It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention as defined in the appended claims. It will be understood that various modifications and changes may be made.

Claims (22)

A user application for generating a file processing request of a user; And
A virtual cloud file system for providing a virtual cloud storage space in cooperation with a plurality of cloud servers and performing file processing on the virtual cloud storage space according to the file processing request.
The method according to claim 1,
The virtual cloud file system includes:
Make sure that flash memory is assigned basic storage,
If the basic storage is not allocated, allocates the basic storage in consideration of the remaining capacity of the flash memory, generates a temporary file corresponding to the capacity of the basic storage, and stores the temporary file in the basic storage User terminal.
3. The method of claim 2,
Wherein the internal storage management unit deletes the temporary file when storing the file in the flash memory according to the file processing request and stores the file in the basic storage of the address corresponding to the deleted temporary file.
3. The method of claim 2,
The internal storage management unit,
Storing a temporary file by allocating a part of an unrecorded area of the flash memory as a basic storage when the capacity of the basic storage is to be extended,
And generates a deletion request to delete some files stored in the basic storage when the capacity of the basic storage is to be reduced.
3. The method of claim 2,
The virtual cloud file system includes:
Storing the file in the flash memory when the capacity of the file is less than the remaining capacity of the basic storage when the file is to be stored in the flash memory,
Storing the file in the extended basic storage by expanding the capacity of the basic storage when the capacity of the file exceeds the remaining capacity of the basic storage,
Storing the file in the basic storage secured by deleting some files stored in the basic storage when the capacity of the non-storage area of the flash memory is less than a predetermined capacity.
3. The method of claim 2,
Wherein the internal storage management unit maximizes the capacity of the basic storage when receiving a file write request when the mounting mode of the virtual cloud file system is semi-mounted.
3. The method of claim 2,
Wherein the internal storage management unit maximizes the capacity of the basic storage when a file write request is received when the mounting mode of the virtual cloud file system is mounted and when the uploading of the file is completed, Of the user terminal.
The method according to claim 1,
The virtual cloud file system includes:
Determining whether the file is stored in the flash memory based on a flash memory field for the file upon receiving a read request of the file from the user application,
And when the file is stored in the flash memory, reads the file from the flash memory and transfers the read file to the user application.
9. The method of claim 8,
The virtual cloud file system includes:
If the file is not stored in the flash memory, whether the file is stored in a volatile memory is checked based on a file table,
And when the file is stored in the volatile memory, reads the file from the volatile memory and transfers it to the user application.
10. The method of claim 9,
The virtual cloud file system includes:
And if the file is not stored in the volatile memory, requests the file transfer to the cloud server in which the file is stored if the network is connected.
11. The method of claim 10,
The virtual cloud file system includes:
Judges whether or not the capacity of the file exceeds the critical capacity,
And stores the file received from the cloud server in the volatile memory if the capacity of the file is less than or equal to the critical capacity.
12. The method of claim 11,
The virtual cloud file system includes:
And determines whether the read request requests a thumbnail based on file offset information of the file if the capacity of the file exceeds the threshold capacity.
13. The method of claim 12,
The virtual cloud file system includes:
Storing the metadata received from the cloud server in the volatile memory if the read request is to request the thumbnail,
And stores the file received from the cloud server in the flash memory if the read request does not request the thumbnail.
The method according to claim 1,
The virtual cloud file system includes:
Wherein when the network status change event occurs in the standby state, the uploading of the file stored in the flash memory is started when the network status is strong.
15. The method of claim 14,
The virtual cloud file system includes:
Monitor the network speed with each of the plurality of cloud servers, and determine a cloud server to which to upload the files based on the monitored results.
16. The method of claim 15,
The virtual cloud file system includes:
Wherein the server transmits a file stored in the flash memory and not yet uploaded to the cloud server, and enters a standby state when the transmission is completed.
17. The method of claim 16,
The virtual cloud file system includes:
And if the file is stored in the flash memory according to the write request in the standby state, searches the file stored in the flash memory and not uploaded.
The method according to claim 1,
The virtual cloud file system includes:
Transmitting the last synchronization information to the plurality of the cloud servers when the update list is requested in order to maintain the latest version of the list stored in the list database,
A user terminal that receives a list that has changed since the time of the last synchronization.
The method according to claim 1,
The virtual cloud file system includes:
Storing a list of files stored in the virtual cloud storage space,
Wherein the list comprises at least one of a serial number field, a name field, a time information field, a directory field, a capacity field, a status field, a flash memory field, and a server field of each file.
The method according to claim 1,
The virtual cloud file system includes:
Wherein the thumbnail is included in the metadata received from the cloud server when receiving a read request for a thumbnail of the moving image file from the user application,
Determining whether the thumbnail is included in the sample video received from the cloud server when the metadata does not include the thumbnail,
And requests the original video from the cloud server if the thumbnail is not included in the sample video.
The method according to claim 1,
The virtual cloud file system includes:
When a read request for reproduction of a moving picture file is received from the user application, whether a sample moving picture received from the cloud server is stored in a volatile memory,
The method comprising the steps of: when the sample moving image is stored in the volatile memory, reading the sample moving image from the volatile memory and transferring the sampled moving image to the user application, and requesting the original moving image corresponding to the next frame of the sample moving image to the cloud server; Terminal.
11. The user terminal of claim 1; And
And a plurality of cloud servers for storing a list of files stored in the virtual cloud storage space and files stored in the virtual cloud storage space.
KR1020170026687A 2017-02-28 2017-02-28 User terminal, and cloud service system including the same KR20180099349A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170026687A KR20180099349A (en) 2017-02-28 2017-02-28 User terminal, and cloud service system including the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170026687A KR20180099349A (en) 2017-02-28 2017-02-28 User terminal, and cloud service system including the same

Publications (1)

Publication Number Publication Date
KR20180099349A true KR20180099349A (en) 2018-09-05

Family

ID=63594396

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170026687A KR20180099349A (en) 2017-02-28 2017-02-28 User terminal, and cloud service system including the same

Country Status (1)

Country Link
KR (1) KR20180099349A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104033A (en) * 2019-02-26 2020-09-03 주식회사퍼즐시스템즈 A structure that stores large amounts of data retrieved from a database as a binary file per column
KR20200104035A (en) * 2019-02-26 2020-09-03 주식회사퍼즐시스템즈 A system that displays large amounts of data on a chart without memory capacity limitation by using a binary file storage structure per column
KR20220060659A (en) * 2020-11-05 2022-05-12 주식회사 에벤에셀케이 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200104033A (en) * 2019-02-26 2020-09-03 주식회사퍼즐시스템즈 A structure that stores large amounts of data retrieved from a database as a binary file per column
KR20200104035A (en) * 2019-02-26 2020-09-03 주식회사퍼즐시스템즈 A system that displays large amounts of data on a chart without memory capacity limitation by using a binary file storage structure per column
KR20220060659A (en) * 2020-11-05 2022-05-12 주식회사 에벤에셀케이 Method, Device, and Computer-readable Medium for Processing Data through Linkage between Processes that Share Storage

Similar Documents

Publication Publication Date Title
JP6530805B2 (en) Cloud file system with server-side non-replication of user-unknown encrypted file
US8171251B2 (en) Data storage management method and device
US8140474B2 (en) Aggregation of file/directory structures
US11797477B2 (en) Defragmentation for objects within object store
US20220027313A1 (en) Snapshot storage and management within an object store
US11625306B2 (en) Data connector component for implementing data requests
US9189494B2 (en) Object file system
US20110295798A1 (en) Mobile mirror drive and remote access system
US11036394B2 (en) Data deduplication cache comprising solid state drive storage and the like
US11630807B2 (en) Garbage collection for objects within object store
US8627033B2 (en) Storage device migration and redirection
JP2009527824A (en) Mean data loss time improvement method for fixed content distributed data storage
CN105704218B (en) Data storage and management method in cloud computing platform
US11720525B2 (en) Flexible tiering of snapshots to archival storage in remote object stores
WO2020098654A1 (en) Data storage method and device based on cloud storage, and storage medium
CA2846693A1 (en) Method for data maintenance
WO2011154164A1 (en) Remote backup with local buffering
KR20180099349A (en) User terminal, and cloud service system including the same
EP2776952A2 (en) Logically and end-user-specific physically storing an electronic file
CN112866406B (en) Data storage method, system, device, equipment and storage medium
US20220138048A1 (en) Data connector component for implementing management requests
US20110238776A1 (en) Method and system for the virtualized storage of a digital data set
CN115878584A (en) Data access method, storage system and storage node
CN116820347A (en) Distributed object processing method and device
CN117707415A (en) Data storage method and device