WO2021054612A1 - 전자 장치 및 이의 제어 방법 - Google Patents
전자 장치 및 이의 제어 방법 Download PDFInfo
- Publication number
- WO2021054612A1 WO2021054612A1 PCT/KR2020/010655 KR2020010655W WO2021054612A1 WO 2021054612 A1 WO2021054612 A1 WO 2021054612A1 KR 2020010655 W KR2020010655 W KR 2020010655W WO 2021054612 A1 WO2021054612 A1 WO 2021054612A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- server
- data set
- file
- size
- files
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/561—Adding application-functional data or data for application control, e.g. adding metadata
Definitions
- the present disclosure relates to an electronic device and a control method thereof, and more particularly, an electronic device that transmits a data set to a server based on a communication state with a server and the size of a file included in a data set, and control thereof It's about the method.
- the present disclosure was devised to solve the above-described problem, and the object of the present disclosure is to convert some of the plurality of files and transmit them to the server based on the size of the plurality of files included in the data set and the communication state with the server. It is to provide an electronic device and a control method thereof.
- the electronic device includes a memory for storing a first data set including a plurality of files, a communication unit including a circuit, and a size of the plurality of files being a first threshold.
- the number of files less than the value is identified, the size of the unit file to be transmitted to the server is determined based on the number of the identified files and the communication status with the server, and a file having a size less than the first threshold is determined.
- Converts in units of size generates meta data for the first data set while converting the file, and transmits the first data set including the converted file and meta data of the converted file to the server It may include a processor that controls the communication unit so as to.
- a method for controlling an electronic device including a memory for storing a first data set including a plurality of files the number of files having a size of less than a first threshold value among the plurality of files Identifying, determining a size of a unit file to be transmitted to the server based on the number of identified files and a communication state with the server, converting a file having a size less than the first threshold into the determined size unit And generating meta data for the first data set while converting the file, and transmitting meta data of the first data set including the converted file and the converted file to the server.
- the electronic device uploads data to the server or downloads data from the server in various ways according to the communication state with the server and the size of a file included in the data set. Data can be uploaded and downloaded efficiently.
- FIG. 1 is a diagram for explaining an operation between a plurality of electronic devices and a server according to an embodiment of the present disclosure
- FIG. 2 is a block diagram showing in detail the configuration of an electronic device according to an embodiment of the present disclosure
- FIG. 3 is a flowchart illustrating a process of transmitting a data set to a server by an electronic device according to an embodiment of the present disclosure
- FIG. 4 is a sequence diagram illustrating a process in which an electronic device receives a data set from a server according to an embodiment of the present disclosure
- FIG. 5 is a flowchart illustrating a method of controlling an electronic device according to an embodiment of the present disclosure.
- the present disclosure relates to an electronic device that determines the size of a unit file to be transmitted to a server based on a communication state with a server and a size of a file included in a data set in order to efficiently transmit various files to a server.
- the electronic device can efficiently upload data on the server by converting the file in units of the determined size and transmitting the data set including the converted file to the server.
- the electronic device may generate metadata for the data set while converting a file included in the data set, and transmit the data set including the converted file and metadata to the server. Accordingly, various electronic devices accessing the server may identify whether or not a converted file exists in the data set by using metadata.
- FIG. 1 is a diagram for describing an operation between an electronic device 100 and a server 200 according to an embodiment of the present disclosure.
- the electronic device 100 may identify the number of files whose size is less than the first threshold value among a plurality of files included in the first data set. When the size of the plurality of files included in the data set is too small, the electronic device 100 may not sufficiently utilize the bandwidth of the communication method connected to the server when transmitting the small file to the server.
- the electronic device 100 may convert (or compress) files whose size is smaller than the first threshold value into one file in order to sufficiently utilize the bandwidth of the communication method connected to the server. Accordingly, the electronic device 100 may identify the number of files less than the first threshold value among a plurality of files to determine whether to convert files less than the first threshold value.
- the first threshold value may be a value preset by the user or a measurement value obtained through an experiment, and may be modified by the user.
- the server 200 may be implemented as a cloud server, an application server, a web server, a computing server, a proxy server, a mail server, a database server, etc. managed by the manufacturer of the electronic device 100, but is not limited thereto. It can be implemented with various servers capable of storing various data.
- the data set may mean a set of various types of data.
- the data set may mean a set of related data collected or stored to be used by various devices such as the electronic device 100 or the server 200.
- the data set may include various types of training data (eg, image data, voice data, text data, etc.) necessary to train an artificial intelligence model included in various devices.
- the file may mean a data set collected by one purpose or rule. Accordingly, in the data set, various data may be included (or stored) in the form of a file that is collected or combined according to a certain purpose or rule.
- the electronic device 100 may determine the size of a unit file to be transmitted to the server 200 based on the number of files below the identified first threshold and a communication state with the server 200. Specifically, the electronic device 100 may identify whether the number of files having a size less than the first threshold value among the plurality of identified files is greater than or equal to the second threshold value.
- the second threshold value may be a value preset by the user, similar to the first threshold value, but this is only an example, and may be a measurement value obtained through an experiment, and may be modified by the user.
- the electronic device 100 may transmit the first data set to the server 200 without converting files having a size less than the first threshold.
- the time for the electronic device 100 to convert (or compress) a file having a size less than the first threshold value into a single file is the first data set. It may take longer than the time to transmit to the server 200. Accordingly, when the number of identified files is less than or equal to the second threshold, the electronic device 100 may directly transmit the first data set to the server 200 without converting files having a size less than the first threshold.
- the electronic device 100 may transmit the first data set and the meta data for the first data set to the server 200 at the same time or within a threshold error range.
- the metadata for the first data set may include information indicating that a file included in the first data set has not been converted.
- the electronic device 100 may determine the size of a unit file to be transmitted to the server 200 based on a communication state with the server 200. Specifically, the electronic device 100 may determine the size of a unit file to be transmitted to the server based on at least one of a bandwidth and a packet loss rate of a communication method connected to the server among the communication states with the server. .
- the electronic device 100 may determine a size of a unit file to be transmitted to the server 200 as a larger value as the bandwidth of the communication method connected to the server increases.
- the bandwidth of the communication method connected to the server 200 is large, the size of a file that can be sent by the electronic device 100 during a unit time may increase.
- the electronic device 100 may identify a bandwidth of a communication method connected to the server, and determine the size of the unit file to be transmitted to the server 200 as a larger value as the size of the identified bandwidth increases.
- the electronic device 100 may determine a size of a unit file to be transmitted to the server 200 as a larger value as the packet loss rate of the communication method connected to the server 200 is smaller.
- the packet loss rate may mean a ratio of packets that are not transmitted to the server 200 when at least one data packet is transmitted to the server 200 by a communication method connected to the server 200. That is, a high packet loss rate may mean that an error occurs while transmitting a file included in the first data set to the server 200, and thus a probability of retransmitting a file is high.
- the electronic device 100 may identify a packet loss rate of a communication method connected to the server 200, and determine a size of a unit file to be transmitted to the server 200 as a larger value as the identified packet loss rate decreases.
- the electronic device 100 may transmit the first data set without converting a file having a size less than the first threshold value.
- the electronic device 100 may transmit the first data set and the metadata for the first data set to the server 200 at the same time or within a threshold error range.
- the metadata for the first data set may include information indicating that a file included in the first data set has not been converted.
- the third threshold may be a preset value, but it is only an example and may be a value measured by experiment or the like.
- the electronic device 100 may determine the size of a unit file to be transmitted to the server 200 by using pre-stored bandwidth classification data and packet loss rate classification data. For example, when the bandwidth of the communication method connected to the server 200 is greater than a and less than or equal to b, the electronic device 100 may identify that the current bandwidth is a value belonging to the first group through the bandwidth classification data. have. In addition, the electronic device 100 may determine a first size value corresponding to the first group as the size of a unit file to be transmitted to the server 200.
- the electronic device 100 may identify that the current bandwidth is a value belonging to the second group through the bandwidth classification data. have. Further, the electronic device 100 may determine a second size value corresponding to the second group as the size of a unit file to be transmitted to the server 200. In this case, the second size value may be larger than the first size value. Accordingly, the electronic device 100 may determine the size of the unit file as the size of the unit file as well as determine the size of the unit file as the bandwidth value increases. In addition, the electronic device 100 may determine a value corresponding to a range to which the packet loss rate of a communication method connected to the server 200 belongs, as the size of the unit file, using the packet loss rate classification data.
- the electronic device 100 may convert (eg, compress) a file having a size less than the first threshold value into a determined size unit.
- the electronic device 100 may determine a file format to be converted according to the determined size of the unit file.
- the electronic device 100 may convert a file having a size less than the first threshold value into a format such as tar or zip according to the determined unit file size.
- the electronic device 100 may determine that the size value of the unit file to be transmitted to the server 200 does not exceed the fourth threshold. Later, when the electronic device 100 or another device downloads the first data set stored in the server 200, if the size of the unit file is too large, the download speed may increase excessively or the packet loss rate may increase. Accordingly, the electronic device 100 may determine the size of the unit file within a value that does not exceed the fourth threshold even though the bandwidth of the communication method connected to the server 200 is large and the packet loss rate is small. It goes without saying that the fourth threshold may be a preset value, but may be changed by a user.
- the electronic device 100 may generate metadata for the first data set while converting a file included in the first data set. Specifically, while converting a file included in the first data set, the electronic device 100 includes information on the format of the converted file, information on a list of converted files included in the unit file to be transmitted to the server 200, etc. Can be obtained. In addition, the electronic device 100 may generate metadata for the first data set including the obtained information. Accordingly, the metadata for the first data set may include at least one of a list of converted files among the first data set and a file format of the converted file. Also, the metadata for the first data set may include information related to the first data set, such as information on a data type of the first data set and a dimension of a data space.
- the electronic device 100 may transmit a first data set including a converted file and meta data for the first data set to the server 200. That is, the server 200 may store the first data set uploaded from the electronic device 100 and meta data for the first data set. Meanwhile, the server 200 may include information on a list of files included in the first data set. Since a file having a size less than the first threshold value among the plurality of files included in the first data set has been converted into one file, the number of files included in the first data set may be reduced. That is, the server 200 may store information on a list of files included in the small sized first data set. Accordingly, since the load for managing files included in the first data set is reduced, the server 200 can save resources and improve performance in performing other operations.
- the server 200 may store not only the first data set, but also a plurality of data sets received from other devices and metadata for each of the plurality of data sets. Accordingly, the electronic device 100 and various devices may download and utilize various data sets stored in the server 200 and metadata for the data sets.
- the first device 10-1 and the second device 10-2 may be the same device as the electronic device 100, but are not limited thereto and may be implemented as separate devices from the electronic device 100. Of course you can.
- the first device 10-1 may transmit a signal requesting a first data set including a plurality of files to the server 200.
- the first device 10-1 may receive a user command from a user to transmit a signal for requesting a first data set to the server 200.
- the first device 10-1 may transmit a signal requesting the first data set to the server 200.
- the first device 10-1 may transmit a signal requesting the first data set to the server 200.
- the server 200 may transmit the first data set and metadata for the first data set to the first device 10-1.
- the first device 10-1 may identify whether or not the converted file is included in the first data set based on the metadata for the first data set. As described above, since the meta data for the first data set may include a list of converted files among the first data set, the first device 10-1 uses the meta data for the first data set. It can be identified whether or not the converted file is included in the first data set.
- the first device 10-1 may convert the converted file into an original file by using metadata for the first data set. Specifically, the first device 10-1 may convert the converted file into an original file by using the list of converted files included in the meta data and the format of the converted file. In addition, the first device 10-1 may utilize the first data set converted into an original file in various ways. For example, when the first data set contains training data for training an artificial intelligence model, the first device 10-1 uses the first data set converted to an original file to be a pre-stored artificial intelligence model. Can be learned. As another example, when data for reproducing various contents is stored in the first data set, the first device 10-1 may play the contents by using the first data set converted into an original file.
- the second device 10-2 may transmit a signal requesting a second data set stored in the server 200 to the server 200.
- the second device 10-2 may receive the second data set and metadata for the second data set received from the server 200.
- the operation of the second device 10-2 to identify whether the converted file is included in the second data set by using the meta data for the second data set is the operation of the first device 10-1. Since it is the same as, duplicate descriptions will be omitted.
- the electronic device 100 may include a memory 110, a processor 120, a communication unit 130, a display 140, an input unit 150, and a sensor 160.
- the configuration illustrated in FIG. 2 is an exemplary diagram for implementing embodiments of the present disclosure, and appropriate hardware and software configurations, which are obvious to a person skilled in the art, may be additionally included in the electronic device 100.
- the memory 110 may store commands or data related to at least one other component of the electronic device 100. Further, the memory 110 is accessed by the processor 120, and data read/write/edit/delete/update by the processor 120 may be performed. In addition, the memory 110 may be implemented as a nonvolatile memory, a volatile memory, a flash memory, a hard disk drive (HDD), a solid state drive (SSD), or the like. The memory 110 is accessed by the processor 120, and data read/write/edit/delete/update by the processor 120 may be performed.
- the term memory refers to a memory 110, a ROM (not shown) in the processor 120, a RAM (not shown), or a memory card (not shown) mounted in the electronic device 100 (eg, micro SD Card, memory stick).
- the memory 120 may store programs and data for configuring various screens to be displayed in the display area of the display.
- the memory 110 may store an instruction set corresponding to at least one program that the processor 120 can execute.
- An instruction means one action statement that the processor 120 can directly execute in a programming writing language, and is a minimum unit for execution or operation of a program.
- the memory 110 may store a first data set including a plurality of files. Also, the memory 110 may store metadata for the first data set generated while the processor 120 converts a file having a size less than a first threshold among the first data sets.
- the memory 110 may store bandwidth classification data obtained by classifying a bandwidth of a communication method connected to the server 200 into a plurality of ranges according to a size. For example, if the size of the current bandwidth is greater than a and less than or equal to b in the bandwidth classification data, the current bandwidth is said to belong to the first group, and if the size of the current bandwidth is greater than or less than c, the current bandwidth May include information that it belongs to the second group.
- the memory 110 may store packet loss rate classification data obtained by classifying a packet loss rate of a communication method connected to the server 200 into a plurality of ranges according to a size.
- the current packet loss rate belongs to the third group, and if the size of the current bandwidth is greater than e and less than or equal to f.
- the current bandwidth may include information that it belongs to the fourth group.
- information on a range of each data classification data and packet loss rate classification data, and information on a group corresponding to each range may be variously determined by a user command.
- the processor 120 is electrically connected to the memory 110 to control overall operations and functions of the electronic device 100.
- the processor 120 may identify the number of files whose size is less than the first threshold among the plurality of files. Further, the processor 120 may determine the size of the unit file to be transmitted to the server 200 based on the number of files whose identified size is less than the first threshold and the communication state with the server 200.
- the processor 120 may identify whether the number of files having a size less than the first threshold value among the plurality of files is greater than or equal to the second threshold value. When the number of files is less than or equal to the second threshold, the processor 120 may control the communication unit 130 to transmit the first data set to the server 200 without converting a file having a size less than the first threshold. have. At this time, the processor 120 transmits the metadata for the first data set and the first data set including information that the files included in the first data set are not converted to the server 200 together. Can be controlled.
- the processor 120 may determine the size of a unit file to be transmitted to the server 200 based on a communication state with the server 200. Specifically, the processor 120 may determine the size of a unit file to be transmitted to the server 200 based on at least one of a bandwidth and a packet loss rate of a communication method connected to the server 200 in a communication state with the server 200. For example, the processor 120 determines the size of the unit file as a larger value as the bandwidth of the communication method connected to the server 200 is larger, and the size of the unit file decreases as the packet loss rate of the communication method connected to the server 200 is small. Can be determined as a large value. And, when the packet loss rate exceeds the third threshold, the processor 120 controls the communication unit 130 to transmit the first data set to the server 200 without converting a file having a size less than the first threshold. can do.
- the processor 120 may determine the size of a unit file to be transmitted to the server 200 in consideration of both a bandwidth and a packet loss rate of a communication method connected to the server 200. That is, the processor 120 may determine a size value of the unit file to be transmitted to the server 200 as a larger value as the bandwidth of the current communication method is larger and the packet loss rate is smaller.
- the processor 120 may determine the size of a unit file to be transmitted to the server 200 by using the bandwidth classification data and the packet loss rate classification data stored in the memory 110. For example, the processor 120 may identify that the current bandwidth belongs to the first group through the bandwidth classification data because the bandwidth of the communication method currently connected to the server 200 is greater than a and less than or equal to b. Further, the processor 120 may determine a first size value corresponding to the first group as the size of a unit file to be transmitted to the server 200. As another example, when the bandwidth of the communication method connected to the current server 200 is greater than b and less than or equal to c, the processor 120 may identify that the current bandwidth belongs to the second group through the bandwidth classification data. In addition, the processor 120 may determine a second size value corresponding to the second group as the size of a unit file to be transmitted to the server 200. In this case, the second size value may be larger than the first size value.
- the processor 120 identifies that the current packet loss rate belongs to the third group through the packet loss rate classification data because the packet loss rate of the communication method connected to the server 200 is greater than d and less than e. can do.
- the processor 120 may determine a third size value corresponding to the third group as the size of a unit file to be transmitted to the server 200.
- the processor 120 may identify that the current bandwidth belongs to the fourth group through the packet loss rate classification data. have.
- the processor 120 may determine a fourth size value corresponding to the fourth group as the size of a unit file to be transmitted to the server 200. In this case, the fourth size value may be larger than the third size value.
- the processor 120 may determine an average value of the size of the unit file determined by using each of the packet loss rate classification data and the bandwidth classification data as the size of the unit file to be transmitted to the server 200.
- the processor 120 may determine that the size value of the unit file to be transmitted to the server 200 does not exceed the fourth threshold. That is, even if the bandwidth of the communication method connected to the server 200 is large and the packet loss rate is small, the processor 120 may determine the size of the unit file within a value that does not exceed the fourth threshold. It goes without saying that the fourth threshold may be a preset value, but may be changed by a user.
- the processor 120 may convert (or compress) a file having a size less than the first threshold value into a determined size unit.
- the processor 120 may convert a file having a size less than the first threshold value into various file formats. For example, the processor 120 may determine a file format for converting a file according to the determined size unit. Specifically, the processor 120 may convert a file having a size less than the first threshold value into a format such as tar or zip according to the determined size unit.
- the processor 120 may generate metadata for the first data set while converting the file. Specifically, while converting a file having a size less than the first threshold value into a determined size unit, the processor 120 may generate metadata including a list of converted files and information on the format of the converted file. have.
- the metadata for the first data set may further include information related to the first data set, such as information on a data type of the first data set and a dimension of a data space.
- the processor 120 may control the communication unit 130 to transmit the first data set including the converted file and the meta data for the first data set to the server 200.
- the processor 120 may control the communication unit 130 to transmit a signal requesting a second data set including a plurality of files to the server 200.
- the processor 120 may control the communication unit 130 to transmit a signal requesting the second data set to the server 200.
- the processor 120 may control the communication unit 130 to transmit a signal for requesting the second data set to the server 200 according to a user command.
- the processor 120 may receive the second data set and the meta data for the second data set from the server 200 through the communication unit 130.
- the second data set may be the same as the first data set, but this is only an embodiment and may be a separate data set.
- the processor 120 may identify whether the converted file is included in the second data set based on the meta data for the second data set received from the server 200. When it is identified that the converted file is included in the second data set, the processor 120 may convert the converted file into an original file by using meta data for the second data set. Specifically, the processor 120 may convert the converted file into the original file by using the converted file included in the second data set and the format format of the converted file in the meta data.
- the processor 120 is a central processing unit (CPU) that processes digital signals, a micro controller unit (MCU), a micro processing unit (MPU), a controller, and an application processor (AP). , Or one or more of a communication processor (CP) and an ARM processor, or may be defined with a corresponding term.
- the processor 120 may be implemented as a system on chip (SoC) or large scale integration (LSI) with a built-in processing algorithm, or may be implemented in the form of a field programmable gate array (FPGA).
- SoC system on chip
- LSI large scale integration
- FPGA field programmable gate array
- the processor 120 may perform various functions by executing computer executable instructions stored in the memory 110.
- the processor 120 may include at least one of a graphics-processing unit (GPU), a neural processing unit (NPU), and a visual processing unit (VPU), which are separate AI-only processors in order to perform an artificial intelligence function. have.
- the communication unit 130 may communicate with the server 200 and various devices.
- the communication connection between the communication unit 140 and the server 200 and various devices may include communicating through a third device (eg, a repeater, a hub, an access point, a server, or a gateway).
- a third device eg, a repeater, a hub, an access point, a server, or a gateway.
- the communication unit 130 may include various communication modules to perform communication with the server 200 and various devices.
- the communication unit 130 may include a wireless communication module, for example, LTE, LTE-A (LTE Advance), CDMA (code division multiple access), WCDMA (wideband CDMA), UMTS (universal mobile telecommunications). system), WiBro (Wireless Broadband), or GSM (Global System for Mobile Communications).
- the wireless communication module includes, for example, WiFi (wireless fidelity), Bluetooth, Bluetooth low power (BLE), Zigbee, near field communication (NFC), magnetic secure transmission, and radio frequency. It may include at least one of (RF) or a body area network (BAN).
- the communication unit 130 may obtain information on a communication state with the server by controlling the processor 120. Specifically, the communication unit 130 may obtain information on a bandwidth and a packet loss rate of a communication method connected to the server under the control of the processor 120. For example, when performing a communication connection with the server 200 using a Wi-Fi module, the communication unit 130 acquires information on the bandwidth and packet loss rate of the Wi-Fi method currently connected to the server 200 can do.
- the communication unit 130 may transmit the first data set and meta data for the first data set to the server 200, and may transmit a signal requesting the second data set to the server 200. In addition, the communication unit 130 may receive the second data set and the meta data for the second data set from the server 200.
- the display 140 may display various types of information according to the control of the processor 120.
- the display 140 may display a message indicating that a file having a size less than the first threshold value among the files for the first data set has been converted.
- the display 140 may display metadata for the generated first data set.
- the display 140 may be implemented as a touch screen together with a touch panel, as well as a flexible display.
- the input unit 150 may receive a user input for controlling the electronic device 100.
- the input unit 150 may include a touch panel for receiving a user touch using a user's hand or a stylus pen, and a button for receiving a user manipulation.
- the input unit 150 may be implemented as another input device (eg, a keyboard, a mouse, a motion input unit, etc.).
- a user command to request a data set from the server 200 may be input through the input unit 150.
- a user command for modifying or adding bandwidth classification data and packet loss rate classification data stored in the memory 110 may be input through the input unit 150.
- the sensor 160 may detect various state information of the electronic device 100.
- the sensor 160 may include a motion sensor (eg, a gyro sensor, an acceleration sensor, etc.) capable of detecting motion information of the electronic device 100, and a sensor capable of detecting location information (eg, GPS (Global Positioning System) sensor) and an image sensor for photographing the outside of the electronic device 100.
- a motion sensor eg, a gyro sensor, an acceleration sensor, etc.
- a sensor capable of detecting location information
- GPS Global Positioning System
- the senor 160 may include a network quality sensor capable of detecting a communication state with the server 200.
- the network quality sensor may detect a bandwidth and a packet loss rate of a communication method connected to the server 200.
- the processor 120 may identify the current communication state using at least one of the communication unit 130 and the network quality sensor.
- FIG 3 is a flowchart illustrating a process in which the electronic device 100 transmits a data set to a server according to an embodiment of the present disclosure.
- the electronic device 100 may identify whether the number of files whose size is less than the first threshold value among a plurality of files included in the first data set exceeds the second threshold value (S310).
- the first threshold value and the second threshold value may each be a preset value, but this is only an example and may be a numerical value measured by experiment or the like, and may be modified by a user.
- the electronic device 100 may determine the size of the unit file to be transmitted to the server 200 based on the communication state with the server 200 ( S320). Specifically, the electronic device 100 may determine the size of a unit file to be transmitted to the server based on at least one of a bandwidth and a packet loss rate of a communication method connected to the server. In an embodiment, the electronic device 100 determines the size of the unit file as a larger value as the bandwidth of the communication method connected to the server is larger, and the size of the unit file is set to a larger value as the packet loss rate of the communication method connected to the server is small. You can decide.
- the electronic device 100 may determine the size of a unit file using pre-stored packet loss rate classification data and bandwidth classification data. For example, when the bandwidth of the current communication method belongs to the first group, the electronic device 100 may determine a numerical value corresponding to the first group as the size of the unit file. As another example, when the packet loss rate of the current communication method belongs to the third group, the electronic device 100 may determine a numerical value corresponding to the third group as the size of the unit file.
- the electronic device 100 may determine the size of the unit file within a value that does not exceed the fourth threshold value. In addition, when it is identified that the packet loss rate exceeds the third threshold value, the electronic device 100 may transmit the first data set to the server 200 without converting a file included in the first data set. In addition, when transmitting the first data set to the server 200, the electronic device 100 may transmit metadata indicating that the file has not been converted to the server 200 together.
- the electronic device 100 may convert a file having a size less than the first threshold value into a size of the determined unit file (S330). Specifically, the electronic device 100 may convert (or compress) various file formats such as tar or zip to a file having a size less than the first threshold. In this case, the electronic device 100 may determine the file format according to the determined size of the unit file.
- the electronic device 100 may generate metadata for the first data set while converting the file (S330). Specifically, while converting a file, the electronic device 100 may generate metadata for the first data set including at least one of a list of converted files and a format of the converted file. In this case, the metadata for the first data set generated by the electronic device 100 may further include information related to the first data set, such as information on the data type of the first data set and the dimension of the data space. In addition, the electronic device 100 may transmit the first data set including the converted file and the meta data for the first data set to the server (S340).
- the electronic device 100 may transmit the first data set to the server (S350).
- the electronic device 100 may transmit metadata for the first data set at the same time as the first data set or within a threshold time.
- the metadata may include information indicating that the converted file is not included in the first data set and information related to the first data set.
- FIG. 4 is a sequence diagram illustrating a process in which the electronic device 100 receives a data set from the server 200 according to an embodiment of the present disclosure.
- the electronic device 100 may receive a command for requesting a second data set (S410). Specifically, the electronic device 100 may receive a command for requesting a second data set from a user through an input unit (eg, a keyboard, a button, a mouse, a microphone, etc.). In addition, the electronic device 100 may transmit a signal for requesting the second data set to the server 200 (S420).
- an input unit eg, a keyboard, a button, a mouse, a microphone, etc.
- the electronic device 100 may transmit a signal for requesting the second data set to the server 200 (S420).
- the electronic device 100 may determine (or identify) that a second data set is required to perform a specific operation. For example, while the electronic device 100 performs an operation of learning a dialog system, it may be determined that a second data set including additional learning data is required to learn the dialog system. In this case, the electronic device 100 may transmit a signal requesting the second data set to the server 200.
- the server 200 may transmit the second data set and meta data for the second data set to the electronic device 100 in response to the received signal (S430).
- the server 200 may store a plurality of data sets and metadata corresponding to the plurality of data sets. Accordingly, when receiving a signal for requesting the second data set from the electronic device 100, the server 200 loads the second data set and metadata of the second data set stored in the memory of the server 200 to the electronic device. Can be sent to (100).
- the electronic device 100 may identify whether the converted file is included in the second data set based on the meta data for the second data set (S440). Specifically, the electronic device 100 includes the converted file in the second data set based on whether the list of converted files and information on the format of the converted file are included in the meta data for the second data set. It can be identified whether or not.
- the electronic device 100 may convert the converted file into an original file by using metadata (S450). That is, the electronic device 100 may restore only the files listed in the converted file list to the original files. Meanwhile, if it is identified that the converted file is not included in the second data set, the electronic device 100 may use the file included in the second data set as it is.
- FIG. 5 is a flowchart illustrating a method of controlling the electronic device 100 according to an embodiment of the present disclosure.
- the electronic device 100 may identify the number of files whose size is less than the first threshold value among a plurality of files included in the first data set (S510).
- the first threshold value may be a preset value, but it may be a value measured by an experiment, and of course, it may be changed by a user.
- the electronic device 100 may determine the size of a unit file to be transmitted to the server based on the number of identified files and a communication state with the server (S520). Specifically, the electronic device 100 may identify whether the number of files having a size less than the first threshold value among the plurality of files is greater than or equal to the second threshold value. When the number of files exceeds the second threshold, the electronic device 100 may determine the size of a unit file to be transmitted to the server based on a communication state with the server. For example, the electronic device 100 may determine the size of a unit file to be transmitted to the server based on at least one of a bandwidth and a packet loss rate of a communication method connected to the server.
- the size of the unit file may be determined as a larger value, and as the packet loss rate of the communication method connected to the server decreases, the size of the unit file may be determined as a larger value.
- the electronic device 100 may convert a file having a size less than the first threshold value into a determined size unit, and generate metadata for the first data set while converting the file (S530). Specifically, while converting a file included in the first data set, the electronic device 100 may obtain information on the format of the converted file, a list of converted files included in the unit file to be transmitted to the server, and the like. I can. In addition, the electronic device 100 may generate metadata for the first data set including the obtained information. In addition, the metadata for the first data set may further include information related to the first data set, such as information on a data type of the first data set and a dimension of a data space. Further, the electronic device 100 may transmit the first data set including the converted file and the meta data for the first data set to the server (S540).
- expressions such as “A or B,” “at least one of A or/and B,” or “one or more of A or/and B” may include all possible combinations of items listed together.
- “A or B,” “at least one of A and B,” or “at least one of A or B” includes (1) at least one A, (2) at least one B, Or (3) it may refer to all cases including both at least one A and at least one B.
- Some component eg, the first component
- another component eg, the second component
- the certain component may be directly connected to the other component or may be connected through another component (eg, a third component).
- a component eg, a first component
- the component and the It may be understood that no other component (eg, a third component) exists between the different components.
- the expression “configured to (configured to)” used in the present disclosure is, for example, “suitable for,” “having the capacity to” depending on the situation. ,” “designed to,” “adapted to,” “made to,” or “capable of.”
- the term “configured to (or set)” may not necessarily mean only “specifically designed to” in hardware. Instead, in some situations, the expression “a device configured to” may mean that the device “can” along with other devices or parts.
- the phrase “a subprocessor configured (or configured) to perform A, B, and C” means a dedicated processor (eg, an embedded processor) for performing the operation, or executing one or more software programs stored in a memory device. By doing so, it may mean a generic-purpose processor (eg, a CPU or an application processor) capable of performing corresponding operations.
- the electronic device 100 may include, for example, at least one of a smart phone, a tablet PC, a desktop PC, a laptop PC, a netbook computer, a server, a PDA, a medical device, or a wearable device. have.
- the electronic device may include at least one of, for example, a television, a refrigerator, an air conditioner, an air purifier, a set-top box, and a media box (eg, Samsung HomeSyncTM, Apple TVTM, or Google TVTM).
- Various embodiments of the present disclosure may be implemented as software including instructions stored in a machine-readable storage medium (eg, a computer).
- the device receives instructions stored from the storage medium.
- a device capable of calling and operating according to the called command may include an electronic device (eg, the electronic device 100) according to the disclosed embodiments.
- the command is executed by a processor, the processor directly, or A function corresponding to the instruction may be performed using other components under the control of the processor, and the instruction may include a code generated or executed by a compiler or an interpreter.
- It can be provided in the form of a non-transitory storage medium, where the term'non-transitory storage medium' means that it does not contain a signal and is tangible, but the data is semi-permanent in the storage medium. Or, it does not distinguish that the data is temporarily stored, for example, the'non-transitory storage medium' may include a buffer in which data is temporarily stored.
- a method according to various embodiments disclosed in the present disclosure may be provided by being included in a computer program product.
- Computer program products can be traded between sellers and buyers as commodities.
- the computer program product may be distributed online in the form of a device-readable storage medium (eg, compact disc read only memory (CD-ROM)) or through an application store (eg, Play StoreTM).
- a portion of the computer program product e.g., downloadable app
- a storage medium such as a server of a manufacturer, a server of an application store, or a memory of a relay server, or temporarily Can be created with
- Each of the constituent elements may be composed of singular or plural entities, and some sub-elements of the aforementioned sub-elements are omitted, or other sub-elements are various. It may be further included in the embodiment.
- some constituent elements eg, a module or a program
- functions performed by each corresponding constituent element prior to the consolidation may be performed identically or similarly.
- Operations performed by modules, programs, or other components according to various embodiments may be sequentially, parallel, repetitively or heuristically executed, or at least some operations may be executed in a different order, omitted, or other operations may be added. I can.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Library & Information Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Mathematical Physics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
전자 장치 및 이의 제어 방법이 개시된다. 본 개시의 전자 장치는 복수의 파일을 포함하는 제1 데이터 셋을 저장하는 메모리, 회로를 포함하는 통신부 및 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별하고, 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정하고, 제1 임계값 미만의 사이즈를 가지는 파일을 상기 결정된 사이즈 단위로 변환하고, 파일을 변환하는 동안 제1 데이터 셋에 대한 메타 데이터를 생성하고, 변환된 파일을 포함하는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 서버에 전송하도록 통신부를 제어하는 프로세서를 포함할 수 있다.
Description
본 개시는 전자 장치 및 이의 제어 방법에 관한 것으로서, 더욱 상세하게는 서버와의 통신 상태 및 데이터 셋(data set)에 포함된 파일의 크기를 바탕으로 데이터 셋을 서버에 전송하는 전자 장치 및 이의 제어 방법에 관한 것이다.
통신 기술이 발전함에 따라, 사용자는 다양한 장치(PC(Personal Computer) 또는, 모바일 장치 등)를 이용하여 각종 데이터를 서버(또는, 클라우드) 상에 업로드하거나 서버로부터 다운로드할 수 있게 되었다.
다만, 서버 상에 각종 데이터를 업로드 하는 동작 또는 서버로부터 각종 데이터를 다운로드 하는 동작을 수행하는 동안 통신 네트워크 상에 오류가 발생하면, 데이터의 업로드 또는 다운로드 동작을 처음부터 진행해야 하는 경우가 대부분이다. 네트워크 오류에 따라 데이터를 다시 업로드 또는 다운로드해야 할 경우, 데이터의 사이즈가 크다면, 업로드 또는 다운로드 동작을 수행할 때 발생하는 오버헤드가 이에 비례하여 커질 수 있다는 문제점이 발생하였다.
이를 대비하여 기존에는, 각종 데이터를 작은 사이즈로 쪼개어 서버 상에 업로드하거나 서버로부터 다운로드하는 동작을 수행하는 기술이 활용되었다. 다만, 기존 기술은 서버에 데이터를 업로드할 때 다소 불안정하고 느린 인터넷을 이용하는 것이라고 가정하기 때문에 큰 데이터를 작은 크기로 나누어 전송한다.
다만, 최근에는 서버에 데이터를 전송할 때, 인터넷뿐만 아니라 네트워크 상태가 안정적인 사내 네트워크 등을 이용하는 경우도 빈번하며, 많은 기계 학습 데이터 자료는 다수개의 작은 파일로 이루어져있으므로, 기존 기술을 통해서는 효율적으로 서버상에 데이터를 업로드하거나 서버로부터 데이터를 다운로드할 수 없다는 한계가 존재하였다.
본 개시는 상술한 문제점을 해결하기 위해 안출된 것으로서, 본 개시의 목적은 데이터 셋에 포함된 복수의 파일의 크기 및 서버와의 통신 상태를 바탕으로 복수의 파일 중 일부를 변환하여 서버에 전송하는 전자 장치 및 이의 제어 방법을 제공함에 있다.
본 개시의 일 실시예에 따른, 전자 장치는 복수의 파일(file)을 포함하는 제1 데이터 셋(data set)을 저장하는 메모리, 회로를 포함하는 통신부 및 상기 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별하고, 상기 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하고, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 상기 결정된 사이즈 단위로 변환하고, 상기 파일을 변환하는 동안 상기 제1 데이터 셋에 대한 메타 데이터를 생성하고, 상기 변환된 파일을 포함하는 상기 제1 데이터 셋 및 상기 변환된 파일의 메타 데이터를 상기 서버에 전송하도록 상기 통신부를 제어하는 프로세서를 포함할 수 있다.
본 개시의 일 실시예에 따른, 복수의 파일을 포함하는 제1 데이터 셋을 저장하는 메모리를 포함하는 전자 장치의 제어 방법에 있어서, 상기 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별하는 단계, 상기 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 단계, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 상기 결정된 사이즈 단위로 변환하고, 상기 파일을 변환하는 동안 상기 제1 데이터 셋에 대한 메타 데이터를 생성하는 단계 및 상기 변환된 파일을 포함하는 상기 제1 데이터 셋 및 상기 변환된 파일의 메타 데이터를 상기 서버에 전송하는 단계를 포함할 수 있다.
상술된 본 개시의 다양한 실시예를 통해, 전자 장치는 서버와의 통신 상태 및 데이터 셋에 포함된 파일의 크기에 따라 다양한 방식으로 데이터를 서버에 업로드하거나 서버로부터 데이터를 다운로드 함으로써, 전자 장치는 빠르고 효율적으로 데이터에 대한 업로드 및 다운로드 동작을 수행할 수 있다.
도 1은 본 개시의 일 실시예에 따른, 복수의 전자 장치 및 서버간의 동작을 설명하기 위한 도면,
도 2는 본 개시의 일 실시예에 따른, 전자 장치의 구성을 상세히 도시한 블록도,
도 3은 본 개시의 일 실시예에 따른, 전자 장치가 데이터 셋을 서버에 전송하는 과정을 설명하기 위한 순서도,
도 4는 본 개시의 일 실시예에 따른, 전자 장치가 서버로부터 데이터 셋을 수신하는 과정을 설명하기 위한 시퀀스도,
도 5는 본 개시의 일 실시예에 따른, 전자 장치의 제어 방법을 설명하기 위한 순서도이다.
본 개시는 서버에 각종 파일을 효율적으로 전송하기 위하여 서버와의 통신 상태 및 데이터 셋에 포함된 파일의 사이즈를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정하는 전자 장치에 관한 것이다. 전자 장치는 결정된 사이즈 단위로 파일을 변환하고, 변환된 파일을 포함하는 데이터 셋을 서버에 전송함으로써 서버 상에 데이터를 효율적으로 업로드할 수 있다. 한편, 전자 장치는 데이터 셋에 포함된 파일을 변환하는 동안 데이터 셋에 대한 메타 데이터를 생성하고, 서버에 변환된 파일을 포함하는 데이터 셋 및 메타 데이터를 전송할 수 있다. 따라서, 서버에 접근하는 각종 전자 장치는 메타 데이터를 이용하여 데이터 셋에 변환된 파일이 존재하는지 여부 등을 식별할 수 있다.
이하에서는 도면을 참조하여 본 개시에 대해 구체적으로 설명하도록 한다.
도 1은 본 개시의 일 실시예에 따른, 전자 장치(100) 및 서버(200) 간의 동작을 설명하기 위한 도면이다.
전자 장치(100)는 제1 데이터 셋(data set)에 포함된 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별할 수 있다. 데이터 셋에 포함된 복수의 파일의 사이즈가 너무 작을 경우, 전자 장치(100)는 사이즈가 작은 파일을 서버에 전송할 경우, 서버와 연결된 통신 방식의 대역폭을 충분히 활용하지 못할 수 있다. 전자 장치(100)는 서버와 연결된 통신 방식의 대역폭을 충분히 활용하기 위하여 사이즈가 제1 임계값보다 작은 파일들을 하나의 파일로 변환(또는, 압축)할 수 있다. 따라서, 전자 장치(100)는 제1 임계값 미만의 파일들을 변환할지 여부를 판단하기 위해 복수의 파일 중 제1 임계값 미만의 파일의 개수를 식별할 수 있다. 한편, 제1 임계값은 사용자에 의해 기설정된 값이거나 실험을 통해 획득된 측정치일 수 있으며, 사용자에 의해 수정될 수 있다.
그리고, 서버(200)는 전자 장치(100)의 제조사가 관리하는 클라우드 서버, 애플리케이션 서버, 웹 서버, 컴퓨팅 서버, 프록시 서버, 메일 서버, 데이터 베이스 서버 등으로 구현될 수 있으나, 이에 한정되는 것은 아니고 각종 데이터를 저장할 수 있는 다양한 서버로 구현될 수 있다.
그리고, 데이터 셋은 각종 데이터의 집합을 의미할 수 있다. 구체적으로, 데이터 셋은 전자 장치(100) 또는 서버(200) 등 각종 장치가 사용할 수 있도록 수집 또는 저장된 서로 관련된 데이터들의 집합을 의미할 수 있다. 예를 들어, 데이터 셋은 각종 장치에 포함된 인공 지능 모델(Artificial Intelligence Model)을 학습시키기 위해 필요한 다양한 종류의 학습 데이터(예로, 이미지 데이터, 음성 데이터, 텍스트 데이터 등)가 포함되어 있을 수 있다. 그리고, 파일은 하나의 목적 또는 규칙에 의해 수집된 데이터 집합을 의미할 수 있다. 따라서, 데이터 셋에는 다양한 데이터들이 일정한 목적 또는 규칙에 따라 수집 또는 결합된 파일의 형태로 포함(또는, 저장)되어 있을 수 있다.
전자 장치(100)는 식별된 제1 임계값 미만의 파일의 개수 및 서버(200)와의 통신 상태를 바탕으로 서버(200)에 전송할 단위(unit) 파일의 사이즈를 결정할 수 있다. 구체적으로, 전자 장치(100)는 식별된 복수의 파일 중 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별할 수 있다. 이 때, 제2 임계값은 제1 임계값과 마찬가지로 사용자에 의해 기설정된 값일 수 있으나 이는 일 실시예에 불과하며 실험을 통해 획득된 측정치일 수 있으며 사용자에 의해 수정될 수 있음은 물론이다.
식별된 파일의 개수가 제2 임계값 이하인 경우, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일들을 변환하지 않고, 제1 데이터 셋을 서버(200)에 전송할 수 있다. 식별된 파일의 개수가 일정 개수를 초과하지 않는 경우, 전자 장치(100)가 제1 임계값 미만의 사이즈를 가지는 파일을 하나의 파일로 변환(또는, 압축)하는 시간이 제1 데이터 셋을 바로 서버(200)에 전송하는 시간보다 오래 소요될 수 있다. 따라서, 식별된 파일의 개수가 제2 임계값 이하인 경우, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일들을 변환하지 않고 제1 데이터 셋을 바로 서버(200)에 전송할 수 있다. 그리고, 도 1에 도시된 바와 같이, 전자 장치(100)는 서버(200)에 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 동시에 또는 임계 오차 범위 내에 전송할 수 있다. 이 때, 제1 데이터 셋에 대한 메타 데이터에는 제1 데이터 셋에 포함된 파일은 변환되지 않았다는 정보가 포함되어 있을 수 있다.
한편, 식별된 파일의 개수가 제2 임계값을 초과하면, 전자 장치(100)는 서버(200)와의 통신 상태를 바탕으로 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 구체적으로, 전자 장치(100)는 서버와의 통신 상태 중 서버와 연결된 통신 방식의 대역폭(bandwidth) 및 패킷 손실률(packet loss rate) 중 적어도 하나를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정할 수 있다.
일 실시예로, 전자 장치(100)는 서버와의 연결된 통신 방식의 대역폭이 클수록 서버(200)에 전송할 단위 파일의 사이즈를 큰 값으로 결정할 수 있다. 서버(200)와 연결된 통신 방식의 대역폭이 클 경우, 전자 장치(100)가 단위 시간 동안 보낼 수 있는 파일의 사이즈가 커질 수 있다. 따라서, 전자 장치(100)는 서버와 연결된 통신 방식의 대역폭을 식별하고, 식별된 대역폭의 크기가 클수록 서버(200)에 전송할 단위 파일의 사이즈를 큰 값으로 결정할 수 있다.
또 다른 실시예로, 전자 장치(100)는 서버(200)와 연결된 통신 방식의 패킷 손실률이 작을수록 서버(200)에 전송할 단위 파일의 사이즈를 큰 값으로 결정할 수 있다. 패킷 손실률은 적어도 하나 이상의 데이터 패킷이 서버(200)와 연결된 통신 방식에 의해 서버(200)로 전송될 때, 서버(200)에 전송되지 못한 패킷의 비율을 의미할 수 있다. 즉, 패킷 손실률이 크다는 것은 서버(200)에 제1 데이터 셋에 포함된 파일을 전송하는 동안 오류가 발생할 확률이 크므로, 파일을 재전송할 확률이 높다는 것을 의미할 수 있다. 패킷 손실률이 클 때, 서버(200)에 전송할 단위 파일의 사이즈가 큰 경우, 전자 장치(100)는 잦게 발생할 수 있는 오류에 의해 파일을 서버(200)에 재전송할 확률이 높아지며, 그에 따른 오버헤드가 추가적으로 발생할 수 있다. 따라서, 전자 장치(100)는 서버(200)와 연결된 통신 방식의 패킷 손실률을 식별하고, 식별된 패킷 손실률이 작을수록 서버(200)에 전송할 단위 파일의 사이즈를 큰 값으로 결정할 수 있다.
그리고, 식별된 패킷 손실률이 제3 임계값을 초과하면, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고, 제1 데이터 셋을 전송할 수 있다. 전자 장치(100)는 서버(200)에 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 동시에 또는 임계 오차 범위 내에 전송할 수 있다. 이 때, 제1 데이터 셋에 대한 메타 데이터에는 제1 데이터 셋에 포함된 파일은 변환되지 않았다는 정보가 포함되어 있을 수 있다. 제3 임계값은 기설정된 값일 수 있으나, 일 실시예에 불과하며 실험 등에 의해 측정된 값일 수 있다.
한편, 본 개시의 다른 실시예로, 전자 장치(100)는 기저장된 대역폭 분류 데이터 및 패킷 손실률 분류 데이터를 이용하여 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 예를 들면, 서버(200)와 연결된 통신 방식의 대역폭이 a 초과 및 b 이하의 값 일 때, 전자 장치(100)는 대역폭 분류 데이터를 통해 현재 대역폭이 제1 그룹에 속하는 수치라는 것을 식별할 수 있다. 그리고, 전자 장치(100)는 제1 그룹에 대응되는 제1 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다.
또 다른 예로, 서버(200)와 연결된 통신 방식의 대역폭이 b 초과 및 c 이하의 값 일 때, 전자 장치(100)는 대역폭 분류 데이터를 통해 현재 대역폭이 제2 그룹에 속하는 수치라는 것을 식별할 수 있다. 그리고, 전자 장치(100)는 제2 그룹에 대응되는 제2 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다. 이 때, 제2 사이즈 값은 제1 사이즈 값보다 클 수 있다. 따라서, 전자 장치(100)는 대역폭 값이 커질수록 단위 파일의 사이즈를 크게 결정할 수 있을 뿐만 아니라, 현재 대역폭이 속하는 범위에 대응되는 수치를 단위 파일의 사이즈로 결정할 수 있다. 뿐만 아니라, 전자 장치(100)는 패킷 손실률 분류 데이터를 이용하여 서버(200)와 연결된 통신 방식의 패킷 손실률이 속하는 범위에 대응되는 수치를 단위 파일의 사이즈로 결정할 수 있다.
한편, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일을 결정된 사이즈 단위로 변환(예를 들어, 압축 등)할 수 있다. 구체적으로, 전자 장치(100)는 결정된 단위 파일의 사이즈에 따라 변환할 파일 포맷(format)을 결정할 수 있다. 예를 들어, 전자 장치(100)는 결정된 단위 파일의 사이즈에 따라 제1 임계값 미만의 사이즈를 가지는 파일을 tar, zip 등과 같은 포맷으로 파일을 변환할 수 있다.
그리고, 전자 장치(100)는 서버(200)에 전송할 단위 파일의 사이즈 값은 제4 임계값을 초과하지 않도록 결정할 수 있다. 추후, 전자 장치(100) 또는 다른 장치가 서버(200)에 저장된 제1 데이터 셋을 다운로드할 때 단위 파일의 크기가 너무 크면, 다운로드 속도가 지나치게 늘어나거나 패킷 손실률이 증가될 수 있다. 따라서, 전자 장치(100)는 서버(200)와 연결된 통신 방식의 대역폭이 크고 패킷 손실률이 작더라도 단위 파일의 크기를 제4 임계값을 초과하지 않는 수치 내에서 결정할 수 있다. 제4 임계값은 기설정된 값일 수 있으나, 사용자에 의해 변경될 수 있음은 물론이다.
그리고, 전자 장치(100)는 제1 데이터 셋에 포함된 파일을 변환하는 동안 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다. 구체적으로, 전자 장치(100)는 제1 데이터 셋에 포함된 파일을 변환하는 동안, 변환된 파일의 포맷에 대한 정보, 서버(200)에 전송할 단위 파일에 포함된 변환된 파일의 목록 등에 대한 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 정보를 포함하는 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다. 따라서, 제1 데이터 셋에 대한 메타 데이터는 제1 데이터 셋 중 변환된 파일의 목록 및 변환된 파일의 파일 포맷(format) 중 적어도 하나를 포함할 수 있다. 또한, 제1 데이터 셋에 대한 메타 데이터는 제1 데이터 셋의 데이터 타입(type), 데이터 스페이스(space)의 차원(dimension)에 대한 정보 등 제1 데이터 셋과 관련된 정보를 포함할 수 있다.
그리고, 도 1에도 도시된 바와 같이, 전자 장치(100)는 변환된 파일을 포함하는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 서버(200)에 전송할 수 있다. 즉, 서버(200)에는 전자 장치(100)로부터 업로드된 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 저장할 수 있다. 한편, 서버(200)는 제1 데이터 셋에 포함된 파일의 목록에 대한 정보를 포함할 수 있다. 제1 데이터 셋에 포함된 복수의 파일 중 제1 임계값 미만의 사이즈를 가지는 파일은 하나의 파일로 변환되었으므로, 제1 데이터 셋에 포함된 파일의 개수는 작아질 수 있다. 즉, 서버(200)는 작은 사이즈의 제1 데이터 셋에 포함된 파일의 목록에 대한 정보를 저장할 수 있다. 따라서, 제1 데이터 셋에 포함된 파일을 관리하기 위한 부하가 작아지므로, 서버(200)는 리소스를 절약할 수 있으며 다른 동작을 수행함에 있어 성능이 향샹될 수 있다.
그리고, 서버(200)에는 제1 데이터 셋뿐만 아니라 다른 장치로부터 수신한 복수의 데이터 셋 및 복수의 데이터 셋 각각에 대한 메타 데이터를 저장할 수 있다. 따라서, 전자 장치(100) 및 각종 장치들은 서버(200)에 저장된 다양한 데이터 셋 및 데이터 셋에 대한 메타 데이터를 다운로드하여 활용할 수 있다.
도 1을 참조하여, 제1 장치(10-1) 및 제2 장치(10-2)가 서버(200)에 저장된 데이터 셋을 다운로드 하는 과정을 설명하도록 한다. 이 때, 제1 장치(10-1) 및 제2 장치(10-2)는 전자 장치(100)와 동일한 장치일 수 있으나, 이에 국한되는 것은 아니며 전자 장치(100)와는 별개의 장치로 구현될 수 있음은 물론이다.
제1 장치(10-1)는 서버(200)에 복수의 파일을 포함하는 제1 데이터 셋을 요청하는 신호를 전송할 수 있다. 제1 장치(10-1)는 제1 데이터 셋을 요청하는 신호를 서버(200)에 전송하라는 사용자 명령을 사용자로부터 입력받을 수 있다. 이 때, 제1 장치(10-1)는 제1 데이터 셋을 요청하는 신호를 서버(200)에 전송할 수 있다. 또 다른 예로, 특정 동작을 수행하기 위하여 제1 데이터 셋이 필요하다고 식별되면, 제1 장치(10-1)는 제1 데이터 셋을 요청하는 신호를 서버(200)에 전송할 수 있다.
제1 데이터 셋을 요청하는 신호를 수신하면, 서버(200)는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 제1 장치(10-1)에 전송할 수 있다. 그리고, 제1 장치(10-1)는 제1 데이터 셋에 대한 메타 데이터를 바탕으로 제1 데이터 셋에 변환된 파일이 포함되었는지 여부를 식별할 수 있다. 상술한 바와 같이, 제1 데이터 셋에 대한 메타 데이터에는 제1 데이터 셋 중 변환된 파일의 목록이 포함되어 있을 수 있으므로, 제1 장치(10-1)는 제1 데이터 셋에 대한 메타 데이터를 통해 제1 데이터 셋에 변환된 파일이 포함되어 있는지 여부를 식별할 수 있다.
제1 데이터 셋에 변환된 파일이 포함되었다고 식별되면, 제1 장치(10-1)는 제1 데이터 셋에 대한 메타 데이터를 이용하여 변환된 파일을 원본 파일로 변환할 수 있다. 구체적으로, 제1 장치(10-1)는 메타 데이터에 포함된 변환된 파일의 목록 및 변환된 파일의 포맷을 이용하여 변환된 파일을 원본 파일로 변환할 수 있다. 그리고, 제1 장치(10-1)는 원본 파일로 변환된 제1 데이터 셋을 다양한 방식으로 활용할 수 있다. 예를 들어, 제1 데이터 셋이 인공 지능 모델을 학습시키기 위한 학습 데이터가 저장되어 있던 경우, 제1 장치(10-1)는 원본 파일로 변환된 제1 데이터 셋을 이용하여 기저장된 인공 지능 모델을 학습시킬 수 있다. 또 다른 예로, 제1 데이터 셋에 각종 컨텐츠를 재생하기 위한 데이터가 저장되어 있던 경우, 제1 장치(10-1)는 원본 파일로 변환된 제1 데이터 셋을 이용하여 컨텐츠를 재생할 수 있다.
그리고, 도 1에 도시된 바와 같이, 제2 장치(10-2)는 서버(200)에 저장되어 있던 제2 데이터 셋을 요청하는 신호를 서버(200)에 전송할 수 있다. 그리고, 제2 장치(10-2)가 서버(200)로부터 수신된 제2 데이터 셋 및 제2 데이터 셋에 대한 메타 데이터를 수신할 수 있다. 한편, 제2 장치(10-2)가 제2 데이터 셋에 대한 메타 데이터를 이용하여 제2 데이터 셋에 변환된 파일이 포함되었는지 여부를 식별하는 동작 등은 제1 장치(10-1)의 동작과 동일하므로 중복되는 설명은 생략하도록 한다.
도 2는 본 개시의 일 실시예에 따른, 전자 장치(100)의 구성 및 동작을 구체적으로 설명하기 위한 블록도이다. 도 2에 도시된 바와 같이, 전자 장치(100)는 메모리(110), 프로세서(120), 통신부(130), 디스플레이(140), 입력부(150) 및 센서(160)를 포함할 수 있다. 다만, 도 2에 도시된 구성은 본 개시의 실시 예들을 구현하기 위한 예시도이며, 통상의 기술자에게 자명한 수준의 적절한 하드웨어 및 소프트웨어 구성들이 전자 장치(100)에 추가로 포함될 수 있다.
메모리(110)는 전자 장치(100)의 적어도 하나의 다른 구성요소에 관계된 명령 또는 데이터를 저장할 수 있다. 그리고, 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 그리고, 메모리(110)는 비휘발성 메모리, 휘발성 메모리, 플래시메모리(flash-memory), 하드디스크 드라이브(HDD) 또는 솔리드 스테이트 드라이브(SSD) 등으로 구현될 수 있다. 메모리(110)는 프로세서(120)에 의해 액세스되며, 프로세서(120)에 의한 데이터의 독취/기록/수정/삭제/갱신 등이 수행될 수 있다. 본 개시에서 메모리라는 용어는 메모리(110), 프로세서(120) 내 롬(미도시), 램(미도시) 또는 전자 장치(100)에 장착되는 메모리 카드(미도시)(예를 들어, micro SD 카드, 메모리 스틱)를 포함할 수 있다. 또한, 메모리(120)에는 디스플레이의 디스플레이 영역에 표시될 각종 화면을 구성하기 위한 프로그램 및 데이터 등이 저장될 수 있다.
특히, 메모리(110)는 프로세서(120)가 실행할 수 있는 적어도 하나의 프로그램에 대응되는 인스트럭션 집합(instruction set)을 저장할 수 있다. 인스트럭션은 프로그래밍 작성 언어에서 프로세서(120)가 직접 실행할 수 있는 하나의 동작 문장(action statement)를 의미하며, 프로그램의 실행 또는 동작에 대한 최소 단위이다.
그리고, 메모리(110)는 복수의 파일을 포함하는 제1 데이터 셋을 저장할 수 있다. 또한, 메모리(110)는 프로세서(120)가 제1 데이터 셋 중 제1 임계값 미만의 사이즈를 가지는 파일을 변환하는 동안 생성한 제1 데이터 셋에 대한 메타 데이터를 저장할 수 있다.
또한, 메모리(110)는 서버(200)와 연결된 통신 방식의 대역폭을 크기에 따라 복수의 범위로 분류한 대역폭 분류 데이터를 저장할 수 있다. 예를 들어, 대역폭 분류 데이터에 현재 대역폭의 크기가 a 초과 b 이하에 속하는 수치인 경우, 현재 대역폭은 제1 그룹에 속한다고, 현재 대역폭의 크기가 b 초과 c 이하에 속하는 수치인 경우, 현재 대역폭은 제2 그룹에 속한다는 정보를 포함할 수 있다. 그리고, 메모리(110)는 서버(200)와 연결된 통신 방식의 패킷 손실률을 크기에 따라 복수의 범위로 분류한 패킷 손실률 분류 데이터를 저장할 수 있다. 예를 들어, 패킷 손실률 분류 데이터에 현재 패킷 손실률의 크기가 d 초과 e 이하의 수치에 속하는 경우, 현재 패킷 손실률은 제3 그룹에 속한다고, 현재 대역폭의 크기가 e 초과 f 이하의 수치에 속하는 경우, 현재 대역폭은 제4 그룹에 속한다는 정보를 포함할 수 있다. 그리고, 각 데이터 분류 데이터 및 패킷 손실률 분류 데이터의 범위에 대한 정보 및 각 범위에 대응되는 그룹의 정보는 사용자 명령에 의해 다양하게 결정될 수 있다.
프로세서(120)는 메모리(110)와 전기적으로 연결되어 전자 장치(100)의 전반적인 동작 및 기능을 제어할 수 있다. 특히, 프로세서(120)는 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별할 수 있다. 그리고, 프로세서(120)는 식별된 사이즈가 제1 임계값 미만인 파일의 개수 및 서버(200)와의 통신 상태를 바탕으로 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다.
구체적으로, 프로세서(120)는 복수의 파일 중 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별할 수 있다. 파일의 개수가 제2 임계값 이하인 경우, 프로세서(120)는 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 제1 데이터 셋을 서버(200)에 전송하도록 통신부(130)를 제어할 수 있다. 이 때, 프로세서(120)는 제1 데이터 셋과 제1 데이터 셋에 포함된 파일은 변환되지 않았다는 정보를 포함하는 제1 데이터 셋에 대한 메타 데이터를 함께 서버(200)에 전송하도록 통신부(130)를 제어할 수 있다.
파일의 개수가 제2 임계값을 초과하면, 프로세서(120)는 서버(200)와의 통신 상태를 바탕으로 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 구체적으로, 프로세서(120)는 서버(200)와의 통신 상태 중 서버(200)와 연결된 통신 방식의 대역폭 및 패킷 손실률 중 적어도 하나를 바탕으로 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 예를 들어, 프로세서(120)는 서버(200)와 연결된 통신 방식의 대역폭이 클수록 단위 파일의 사이즈를 큰 값으로 결정하고, 서버(200)와 연결된 통신 방식의 패킷 손실률이 작을수록 단위 파일의 사이즈를 큰 값으로 결정할 수 있다. 그리고, 패킷 손실률이 제3 임계값을 초과하면, 프로세서(120)는 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 제1 데이터 셋을 서버(200)에 전송하도록 통신부(130)를 제어할 수 있다.
한편, 프로세서(120)는 서버(200)와 연결된 통신 방식의 대역폭 및 패킷 손실률을 모두 고려하여 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 즉, 프로세서(120)는 현재 통신 방식의 대역폭이 크고, 패킷 손실률이 작을수록 서버(200)에 전송할 단위 파일의 사이즈 값을 큰 값으로 결정할 수 있다.
또 다른 예로, 프로세서(120)는 메모리(110)에 저장된 대역폭 분류 데이터 및 패킷 손실률 분류 데이터를 이용하여 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다. 예를 들면, 프로세서(120)는 현재 서버(200)와 연결된 통신 방식의 대역폭이 a 초과 및 b 이하의 값이므로, 대역폭 분류 데이터를 통해 현재 대역폭은 제1 그룹에 속한다는 것을 식별할 수 있다. 그리고, 프로세서(120)는 제1 그룹에 대응되는 제1 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다. 또 다른 예로, 현재 서버(200)와 연결된 통신 방식의 대역폭이 b 초과 및 c 이하의 값인 경우, 프로세서(120)는 대역폭 분류 데이터를 통해 현재 대역폭은 제2 그룹에 속한다는 것을 식별할 수 있다. 그리고, 프로세서(120)는 제2 그룹에 대응되는 제2 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다. 이 때, 제2 사이즈 값은 제1 사이즈 값보다 클 수 있다.
또 다른 실시예로, 프로세서(120)는 서버(200)와 연결된 통신 방식의 패킷 손실률이 d 초과 및 e 이하의 값이므로, 패킷 손실률 분류 데이터를 통해 현재 패킷 손실률은 제3 그룹에 속한다는 것을 식별할 수 있다. 그리고, 프로세서(120)는 제3 그룹에 대응되는 제3 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다. 또 다른 예로, 현재 서버(200)와 연결된 통신 방식의 패킷 손실률이 e 초과 및 f 이하의 값인 경우, 프로세서(120)는 패킷 손실률 분류 데이터를 통해 현재 대역폭은 제4 그룹에 속한다는 것을 식별할 수 있다. 그리고, 프로세서(120)는 제4 그룹에 대응되는 제4 사이즈 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다. 이 때, 제4 사이즈 값은 제3 사이즈 값보다 클 수 있다.
또 다른 예로, 프로세서(120)는 패킷 손실률 분류 데이터 및 대역폭 분류 데이터 각각을 이용하여 결정한 단위 파일의 사이즈의 평균 값을 서버(200)에 전송할 단위 파일의 사이즈로 결정할 수 있다.
그리고, 프로세서(120)는 서버(200)에 전송할 단위 파일의 사이즈 값은 제4 임계값을 초과하지 않도록 결정할 수 있다. 즉, 프로세서(120)는 서버(200)와 연결된 통신 방식의 대역폭이 크고 패킷 손실률이 작더라도 단위 파일의 크기를 제4 임계값을 초과하지 않는 수치 내에서 결정할 수 있다. 제4 임계값은 기설정된 값일 수 있으나, 사용자에 의해 변경될 수 있음은 물론이다.
한편, 프로세서(120)는 제1 임계값 미만의 사이즈를 가지는 파일을 결정된 사이즈 단위로 변환(또는, 압축)할 수 있다. 프로세서(120)는 다양한 파일 포맷으로 제1 임계값 미만의 사이즈를 가지는 파일을 변환할 수 있다. 예를 들어, 프로세서(120)는 결정된 사이즈 단위에 따라 파일을 변환할 파일 포맷을 결정할 수 있다. 구체적으로, 프로세서(120)는 결정된 사이즈 단위에 따라 제1 임계값 미만의 사이즈를 가지는 파일을 tar, zip 등과 같은 포맷으로 파일을 변환할 수 있다.
그리고, 프로세서(120)는 파일을 변환하는 동안 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다. 구체적으로, 프로세서(120)는 제1 임계값 미만의 사이즈를 가지는 파일을 결정된 사이즈 단위로 변환하는 동안, 변환된 파일의 목록 및 변환된 파일의 포맷에 대한 정보를 포함하는 메타 데이터를 생성할 수 있다. 그리고, 제1 데이터 셋에 대한 메타 데이터에는 제1 데이터 셋의 데이터 타입(type), 데이터 스페이스(space)의 차원(dimension)에 대한 정보 등 제1 데이터 셋과 관련된 정보를 더 포함할 수 있다. 그리고, 프로세서(120)는 변환된 파일을 포함하는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 서버(200)에 전송하도록 통신부(130)을 제어할 수 있다.
한편, 프로세서(120)는 서버(200)에 복수의 파일을 포함하는 제2 데이터 셋을 요청하는 신호를 전송하도록 통신부(130)를 제어할 수 있다. 일 실시예로, 특정 작업을 수행하는 동안 제2 데이터 셋이 필요할 경우, 프로세서(120)는 서버(200)에 제2 데이터 셋을 요청하는 신호를 전송하도록 통신부(130)를 제어할 수 있다. 또 다른 실시예로, 프로세서(120)는 사용자 명령에 의해 서버(200)에 제2 데이터 셋을 요청하는 신호를 전송하도록 통신부(130)를 제어할 수 있다. 그리고, 프로세서(120)는 서버(200)로부터 제2 데이터 셋 및 제2 데이터 셋에 대한 메타 데이터를 통신부(130)를 통해 수신할 수 있다. 이 때, 제2 데이터 셋은 제1 데이터 셋과 동일할 수 있으나, 이는 일 실시예에 불과할 뿐, 별개의 데이터 셋일 수 있다.
그리고, 프로세서(120)는 서버(200)로부터 수신된 제2 데이터 셋에 대한 메타 데이터를 바탕으로 제2 데이터 셋에 변환된 파일이 포함되었는지 여부를 식별할 수 있다. 제2 데이터 셋에 변환된 파일이 포함되었다고 식별되면, 프로세서(120)는 제2 데이터 셋에 대한 메타 데이터를 이용하여 변환된 파일을 원본 파일로 변환할 수 있다. 구체적으로, 프로세서(120)는 메타 데이터에는 제2 데이터 셋에 포함된 변환된 파일 및 변환된 파일의 포맷 형식을 이용하여 변환된 파일을 원본 파일로 변환할 수 있다.
프로세서(120)는 디지털 신호를 처리하는 중앙처리장치(central processing unit(CPU)), MCU(Micro Controller Unit), MPU(micro processing unit), 컨트롤러(controller), 어플리케이션 프로세서(application processor(AP)), 또는 커뮤니케이션 프로세서(communication processor(CP)), ARM 프로세서 중 하나 또는 그 이상을 포함하거나, 해당 용어로 정의될 수 있다. 또한, 프로세서(120)는 프로세싱 알고리즘이 내장된 SoC(System on Chip), LSI(large scale integration)로 구현될 수도 있고, FPGA(Field Programmable gate array) 형태로 구현될 수도 있다. 프로세서(120)는 메모리(110)에 저장된 컴퓨터 실행가능 명령어(computer executable instructions)를 실행함으로써 다양한 기능을 수행할 수 있다. 뿐만 아니라, 프로세서(120)는 인공지능 기능을 수행하기 위하여, 별도의 AI 전용 프로세서인 GPU(graphics-processing unit), NPU(Neural Processing Unit), VPU(Visual Processing UniT) 중 적어도 하나를 포함할 수 있다.
통신부(130)는 서버(200) 및 각종 장치와 통신을 수행할 수 있다. 이때, 통신부(140)가 서버(200) 및 각종 장치와 통신 연결되는 것은 제3 기기(예로, 중계기, 허브, 엑세스 포인트, 서버 또는 게이트웨이 등)를 거쳐서 통신하는 것을 포함할 수 있다.
한편, 통신부(130)는 서버(200) 및 각종 장치와 통신을 수행하기 위해 다양한 통신 모듈을 포함할 수 있다. 일 예로, 통신부(130)는 무선 통신 모듈을 포함할 수 있으며, 예를 들면, LTE, LTE-A(LTE Advance), CDMA(code division multiple access), WCDMA(wideband CDMA), UMTS(universal mobile telecommunications system), WiBro(Wireless Broadband), 또는 GSM(Global System for Mobile Communications) 등 중 적어도 하나를 사용하는 셀룰러 통신 모듈을 포함할 수 있다. 또 다른 예로, 무선 통신 모듈은, 예를 들면, WiFi(wireless fidelity), 블루투스, 블루투스 저전력(BLE), 지그비(Zigbee), NFC(near field communication), 자력 시큐어 트랜스미션(Magnetic Secure Transmission), 라디오 프리퀀시(RF), 또는 보디 에어리어 네트워크(BAN) 중 적어도 하나를 포함할 수 있다.
그리고, 통신부(130)는 서버와의 통신 상태에 대한 정보를 프로세서(120) 제어에 의해 획득할 수 있다. 구체적으로, 통신부(130)는, 프로세서(120) 제어에 의해, 서버와 연결된 통신 방식의 대역폭 및 패킷 손실률에 대한 정보를 획득할 수 있다. 예를 들어, Wi-Fi 모듈을 이용하여 서버(200)와 통신 연결을 수행하고 있는 경우, 통신부(130)는 현재 서버(200)와 연결된 Wi-Fi 방식의 대역폭 및 패킷 손실률에 대한 정보를 획득할 수 있다.
또한, 통신부(130)는 서버(200)에 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 전송할 수 있으며, 제2 데이터 셋을 요청하는 신호를 서버(200)에 전송할 수 있다. 그리고, 통신부(130)는 서버(200)로부터 제2 데이터 셋 및 제2 데이터 셋에 대한 메타 데이터를 수신할 수 있다.
디스플레이(140)는 프로세서(120)의 제어에 따라 다양한 정보를 표시할 수 있다. 특히, 디스플레이(140)는 제1 데이터 셋에 대한 파일 중 제1 임계값 미만의 사이즈를 가지는 파일이 변환되었다는 메시지를 표시할 수 있다. 또한, 디스플레이(140)는 생성된 제1 데이터 셋에 대한 메타 데이터를 표시할 수 있다. 한편, 디스플레이(140)는 터치 패널과 함께 터치 스크린으로 구현될 수 있을 뿐만 아니라 플렉서블 디스플레이 등으로 구현될 수 있다.
입력부(150)는 전자 장치(100)를 제어하기 위한 사용자 입력을 수신할 수 있다. 특히, 입력부(150)는 사용자 손 또는 스타일러스 펜 등을 이용한 사용자 터치를 입력받기 위한 터치 패널, 사용자 조작을 입력받기 위한 버튼 등이 포함될 수 있다. 그 밖에, 입력부(150)는 다른 입력 장치(예로, 키보드, 마우스, 모션 입력부 등)로 구현될 수 있다.
특히, 입력부(150)를 통해 데이터 셋을 서버(200)에 요청하라는 사용자 명령을 입력받을 수 있다. 또한, 입력부(150)를 통해 메모리(110)에 저장되어 있는 대역폭 분류 데이터 및 패킷 손실률 분류 데이터를 수정 또는 추가하는 사용자 명령을 입력받을 수 있다.
센서(160)는 전자 장치(100)의 다양한 상태 정보를 감지할 수 있다. 예로, 센서(160)는 전자 장치(100)의 움직임 정보를 감지할 수 있는 움직임 센서(예로, 자이로 센서, 가속도 센서 등)를 포함할 수 있으며, 위치 정보를 감지할 수 있는 센서(예로, GPS(Global Positioning System) 센서), 전자 장치(100)의 외부를 촬영하기 위한 이미지 센서 등을 포함할 수 있다.
특히, 센서(160)는 서버(200)와의 통신 상태를 감지할 수 있는 네트워크 품질 센서(network quality sensor)를 포함할 수 있다. 네트워크 품질 센서는 서버(200)와 연결된 통신 방식의 대역폭 및 패킷 손실률을 감지할 수 있다. 따라서, 프로세서(120)는 통신부(130) 및 네트워크 품질 센서 중 적어도 하나를 이용하여 현재 통신 상태를 식별할 수 있다.
도 3은 본 개시의 일 실시예에 따른, 전자 장치(100)가 데이터 셋을 서버에 전송하는 과정을 설명하기 위한 순서도이다.
우선, 전자 장치(100)는 제1 데이터 셋에 포함된 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수가 제2 임계값을 초과하는지 여부를 식별할 수 있다(S310). 제1 임계값 및 제2 임계값은 각각 기설정된 값일 수 있으나, 이는 일 실시예에 불과하며 실험 등에 의해 측정된 수치일 수 있으며, 사용자에 의해 수정될 수 있다.
사이즈가 제1 임계값 미만인 파일의 개수가 제2 임계값을 초과하면, 전자 장치(100)는 서버(200)와의 통신 상태를 바탕으로 서버(200)에 전송할 단위 파일의 사이즈를 결정할 수 있다(S320). 구체적으로, 전자 장치(100)는 서버와 연결된 통신 방식의 대역폭 및 패킷 손실률(packet loss rate) 중 적어도 하나를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정할 수 있다. 일 실시예로, 전자 장치(100)는 서버와 연결된 통신 방식의 대역폭이 클수록 단위 파일의 사이즈를 큰 값으로 결정하고, 서버와 연결된 통신 방식의 패킷 손실률이 작을수록 단위 파일의 사이즈를 큰 값으로 결정할 수 있다.
또 다른 실시예로, 전자 장치(100)는 기저장된 패킷 손실률 분류 데이터 및 대역폭 분류 데이터를 이용하여 단위 파일의 사이즈를 결정할 수 있다. 예를 들면, 전자 장치(100)는 현재 통신 방식의 대역폭이 제1 그룹에 속할 경우, 제1 그룹에 대응되는 수치 값을 단위 파일의 사이즈로 결정할 수 있다. 또 다른 예로, 현재 통신 방식의 패킷 손실률이 제3 그룹에 속할 경우, 전자 장치(100)는 제3 그룹에 대응되는 수치 값을 단위 파일의 사이즈로 결정할 수 있다.
한편, 전자 장치(100)는 단위 파일의 사이즈를 제4 임계값을 초과하지 않는 수치 내에서 결정할 수 있다. 그리고, 패킷 손실률이 제3 임계값을 초과한다고 식별할 경우, 전자 장치(100)는 제1 데이터 셋에 포함된 파일을 변환하지 않고, 제1 데이터 셋을 서버(200)에 전송할 수 있다. 그리고, 전자 장치(100)는 제1 데이터 셋을 서버(200)에 전송할 때, 파일을 변환하지 않았다는 메타 데이터를 서버(200)에 함께 전송할 수 있다.
그리고, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일을 결정된 단위 파일의 사이즈로 변환할 수 있다(S330). 구체적으로, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일을 tar나 zip 등 다양한 파일 포맷을 변환(또는, 압축)할 수 있다. 이 때, 전자 장치(100)는 결정된 단위 파일의 사이즈에 따라 파일 포맷을 결정할 수 있다.
그리고, 전자 장치(100)는 파일을 변환하는 동안 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다(S330). 구체적으로, 전자 장치(100)는 파일을 변환하는 동안, 변환된 파일의 목록 및 변환된 파일의 포맷 중 적어도 하나를 포함하는 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다. 이 때, 전자 장치(100)가 생성하는 제1 데이터 셋에 대한 메타 데이터에는 제1 데이터 셋의 데이터 타입, 데이터 스페이스의 차원에 대한 정보 등 제1 데이터 셋과 관련된 정보를 더 포함할 수 있다. 그리고, 전자 장치(100)는 변환된 파일을 포함하는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 서버에 전송할 수 있다(S340).
한편, 사이즈가 제1 임계값 미만인 파일의 개수가 제1 임계값 이하인 경우, 전자 장치(100)는 제1 데이터 셋을 서버에 전송할 수 있다(S350). 이 때, 전자 장치(100)는 제1 데이터 셋과 동시에 또는 임계 시간 내에 제1 데이터 셋에 대한 메타 데이터를 전송할 수 있다. 메타 데이터에는 제1 데이터 셋에 변환된 파일이 포함되어 있지 않다는 정보 및 제1 데이터 셋과 관련된 정보가 포함되어 있을 수 있다.
도 4는 본 개시의 일 실시예에 따른, 전자 장치(100)가 서버(200)로부터 데이터 셋을 수신하는 과정을 설명하기 위한 시퀀스도이다.
우선, 전자 장치(100)는 제2 데이터 셋을 요청하는 명령을 입력받을 수 있다(S410). 구체적으로, 전자 장치(100)는 사용자로부터 입력부(예를 들어, 키보드, 버튼, 마우스, 마이크 등)를 통해 제2 데이터 셋을 요청하는 명령을 입력받을 수 있다. 그리고, 전자 장치(100)는 제2 데이터 셋을 요청하는 신호를 서버(200)에 전송할 수 있다(S420).
한편, 본 개시의 또 다른 실시예로, 전자 장치(100)는 특정 동작을 수행하는 동안, 특정 동작을 수행하기 위해 제2 데이터 셋이 필요하다고 판단(또는, 식별)할 수 있다. 예를 들어, 전자 장치(100)가 대화 시스템(Dialogue system)을 학습시키는 동작을 수행하는 동안, 대화 시스템을 학습시키기 위해 추가 학습 데이터가 포함된 제2 데이터 셋이 필요하다고 판단할 수 있다. 이 경우, 전자 장치(100)는 서버(200)에게 제2 데이터 셋을 요청하는 신호를 전송할 수 있다.
서버(200)는 수신한 신호에 대응하여 전자 장치(100)에게 제2 데이터 셋 및 제2 데이터 셋에 대한 메타 데이터를 전송할 수 있다(S430). 서버(200)는 복수의 데이터 셋 및 복수의 데이터 셋에 대응되는 메타 데이터를 저장하고 있을 수 있다. 따라서, 전자 장치(100)로부터 제2 데이터 셋을 요청하는 신호를 수신하면, 서버(200)는 서버(200)의 메모리에 저장된 제2 데이터 셋 및 제2 데이터 셋의 메타 데이터를 로딩하여 전자 장치(100)에 전송할 수 있다.
그리고, 전자 장치(100)는 제2 데이터 셋에 대한 메타 데이터를 바탕으로 제2 데이터 셋에 변환된 파일이 포함되어 있는지 여부를 식별할 수 있다(S440). 구체적으로, 전자 장치(100)는 제2 데이터 셋에 대한 메타 데이터에 변환된 파일의 목록 및 변환된 파일의 포맷에 대한 정보가 포함되어 있는지 여부를 바탕으로 제2 데이터 셋에 변환된 파일이 포함되어 있는지 여부를 식별할 수 있다. 제2 데이터 셋에 변환된 파일이 포함되어있다고 식별되면, 전자 장치(100)는 메타 데이터를 이용하여 변환된 파일을 원본 파일로 변환할 수 있다(S450). 즉, 전자 장치(100)는 변환된 파일의 목록에 기재된 파일에 대해서만 원본 파일로 복원할 수 있다. 한편, 제2 데이터 셋에 변환된 파일이 포함되어 있지 않다고 식별되면, 전자 장치(100)는 제2 데이터 셋에 포함된 파일을 그대로 활용할 수 있다.
도 5는 본 개시의 일 실시예에 따른, 전자 장치(100)의 제어 방법을 설명하기 위한 순서도이다.
전자 장치(100)는 제1 데이터 셋에 포함된 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별할 수 있다(S510). 이 때, 제1 임계값은 기설정된 값일 수 있으나 실험에 의해 측정된 값일 수 있으며 사용자에 의해 변경될 수 있음은 물론이다.
그리고, 전자 장치(100)는 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정할 수 있다(S520). 구체적으로, 전자 장치(100)는 복수의 파일 중 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별할 수 있다. 파일의 개수가 제2 임계값을 초과하면, 전자 장치(100)는 서버와의 통신 상태를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정할 수 있다. 예를 들면, 전자 장치(100)는 서버와 연결된 통신 방식의 대역폭 및 패킷 손실률 중 적어도 하나를 바탕으로 서버에 전송할 단위 파일의 사이즈를 결정할 수 있다. 구체적으로, 전자 장치(100) 서버와 연결된 통신 방식의 대역폭이 클수록 단위 파일의 사이즈를 큰 값으로 결정하고, 서버와 연결된 통신 방식의 패킷 손실률이 작을수록 단위 파일의 사이즈를 큰 값으로 결정할 수 있다.
그리고, 전자 장치(100)는 제1 임계값 미만의 사이즈를 가지는 파일을 결정된 사이즈 단위로 변환하고, 파일을 변환하는 동안 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다(S530). 구체적으로, 전자 장치(100)는 제1 데이터 셋에 포함된 파일을 변환하는 동안, 변환된 파일의 포맷에 대한 정보, 서버에 전송할 단위 파일에 포함된 변환된 파일의 목록 등에 대한 정보를 획득할 수 있다. 그리고, 전자 장치(100)는 획득된 정보를 포함하는 제1 데이터 셋에 대한 메타 데이터를 생성할 수 있다. 또한, 제1 데이터 셋에 대한 메타 데이터는 제1 데이터 셋의 데이터 타입(type), 데이터 스페이스(space)의 차원(dimension)에 대한 정보 등 제1 데이터 셋과 관련된 정보를 더 포함할 수 있다. 그리고, 전자 장치(100)는 변환된 파일을 포함하는 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 서버에 전송할 수 있다(S540).
한편, 본 개시에 첨부된 도면은 본 개시에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 실시예의 다양한 변경(modifications), 균등물(equivalents), 및/또는 대체물(alternatives)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
본 개시에서, "가진다," "가질 수 있다," "포함한다," 또는 "포함할 수 있다" 등의 표현은 해당 특징(예: 수치, 기능, 동작, 또는 부품 등의 구성요소)의 존재를 가리키며, 추가적인 특징의 존재를 배제하지 않는다.
본 개시에서, "A 또는 B," "A 또는/및 B 중 적어도 하나," 또는 "A 또는/및 B 중 하나 또는 그 이상"등의 표현은 함께 나열된 항목들의 모든 가능한 조합을 포함할 수 있다. 예를 들면, "A 또는 B," "A 및 B 중 적어도 하나," 또는 "A 또는 B 중 적어도 하나"는, (1) 적어도 하나의 A를 포함, (2) 적어도 하나의 B를 포함, 또는 (3) 적어도 하나의 A 및 적어도 하나의 B 모두를 포함하는 경우를 모두 지칭할 수 있다.
본 개시에서 사용된 "제1," "제2," "첫째," 또는 "둘째,"등의 표현들은 다양한 구성요소들을, 순서 및/또는 중요도에 상관없이 수식할 수 있고, 한 구성요소를 다른 구성요소와 구분하기 위해 사용될 뿐 해당 구성요소들을 한정하지 않는다.
어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "(기능적으로 또는 통신적으로) 연결되어((operatively or communicatively) coupled with/to)" 있다거나 "접속되어(connected to)" 있다고 언급된 때에는, 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로 연결되거나, 다른 구성요소(예: 제3 구성요소)를 통하여 연결될 수 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소(예: 제1 구성요소)가 다른 구성요소(예: 제2 구성요소)에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 상기 어떤 구성요소와 상기 다른 구성요소 사이에 다른 구성요소(예: 제 3 구성요소)가 존재하지 않는 것으로 이해될 수 있다.
본 개시에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)," "~하는 능력을 가지는(having the capacity to)," "~하도록 설계된(designed to)," "~하도록 변경된(adapted to)," "~하도록 만들어진(made to)," 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 장치"라는 표현은, 그 장치가 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 부프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리 장치에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시의 다양한 실시 예들에 따른 전자 장치(100)는 예를 들면, 스마트폰, 태블릿 PC, 데스크탑 PC, 랩탑 PC, 넷북 컴퓨터, 서버, PDA, 의료기기, 또는 웨어러블 장치 중 적어도 하나를 포함할 수 있다. 어떤 실시 예들에서, 전자 장치는, 예를 들면, 텔레비전, 냉장고, 에어컨, 공기 청정기, 셋톱 박스, 미디어 박스(예: 삼성 HomeSyncTM, 애플TVTM, 또는 구글 TVTM) 중 적어도 하나를 포함할 수 있다.
본 개시의 다양한 실시 예들은 기기(machine)(예: 컴퓨터)로 읽을 수 있는 저장 매체(machine-readable storage media에 저장된 명령어를 포함하는 소프트웨어로 구현될 수 있다. 기기는, 저장 매체로부터 저장된 명령어를 호출하고, 호출된 명령어에 따라 동작이 가능한 장치로서, 개시된 실시 예들에 따른 전자 장치(예: 전자 장치(100))를 포함할 수 있다. 상기 명령이 프로세서에 의해 실행될 경우, 프로세서가 직접, 또는 상기 프로세서의 제어하에 다른 구성요소들을 이용하여 상기 명령에 해당하는 기능을 수행할 수 있다. 명령은 컴파일러 또는 인터프리터에 의해 생성 또는 실행되는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, '비일시적은 저장매체'는 신호(signal)를 포함하지 않으며 실재(tangible)한다는 것을 의미할 뿐 데이터가 저장매체에 반영구적 또는 임시적으로 저장됨을 구분하지 않는다. 예로, '비일시적 저장매체'는 데이터가 임시적으로 저장되는 버퍼를 포함할 수 있다.
일 실시 예에 따르면, 본 개시에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 온라인으로 배포될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품(예로, 다운로더블 앱(downloadable app))의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따른 구성 요소(예: 모듈 또는 프로그램) 각각은 단수 또는 복수의 개체로 구성될 수 있으며, 전술한 해당 서브 구성 요소들 중 일부 서브 구성 요소가 생략되거나, 또는 다른 서브 구성 요소가 다양한 실시 예에 더 포함될 수 있다. 대체적으로 또는 추가적으로, 일부 구성 요소들(예: 모듈 또는 프로그램)은 하나의 개체로 통합되어, 통합되기 이전의 각각의 해당 구성 요소에 의해 수행되는 기능을 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따른, 모듈, 프로그램 또는 다른 구성 요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱하게 실행되거나, 적어도 일부 동작이 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
Claims (15)
- 전자 장치에 있어서,복수의 파일(file)을 포함하는 제1 데이터 셋(data set)을 저장하는 메모리;회로를 포함하는 통신부; 및상기 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별하고,상기 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하고,상기 제1 임계값 미만의 사이즈를 가지는 파일을 상기 결정된 사이즈 단위로 변환하고, 상기 파일을 변환하는 동안 상기 제1 데이터 셋에 대한 메타 데이터를 생성하고,상기 변환된 파일을 포함하는 상기 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 상기 서버에 전송하도록 상기 통신부를 제어하는 프로세서;를 포함하는 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 복수의 파일 중 상기 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별하고,상기 파일의 개수가 상기 제2 임계값을 초과하면, 상기 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 전자 장치.
- 제2항에 있어서,상기 프로세서는,상기 서버와의 통신 상태 중 상기 서버와 연결된 통신 방식의 대역폭 및 패킷 손실률(packet loss rate) 중 적어도 하나를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 전자 장치.
- 제3항에 있어서,상기 프로세서는,상기 서버와 연결된 통신 방식의 대역폭이 클수록 상기 단위 파일의 사이즈를 큰 값으로 결정하고,상기 서버와 연결된 통신 방식의 패킷 손실률이 작을수록 상기 단위 파일의 사이즈를 큰 값으로 결정하는 전자 장치.
- 제4항에 있어서,상기 프로세서는,상기 패킷 손실률이 제3 임계값을 초과하면, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 상기 제1 데이터 셋을 상기 서버에 전송하도록 상기 통신부를 제어하는 전자 장치.
- 제2항에 있어서,상기 프로세서는,상기 파일의 개수가 상기 제2 임계값 이하인 경우, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 상기 제1 데이터 셋을 상기 서버에 전송하도록 상기 통신부를 제어하는 전자 장치.
- 제1항에 있어서,상기 제1 데이터 셋에 대한 메타 데이터는,상기 제1 데이터 셋 중 상기 변환된 파일의 목록 및 상기 변환된 파일의 파일 포맷(format) 중 적어도 하나를 포함하는 것을 특징으로 하는 전자 장치.
- 제1항에 있어서,상기 프로세서는,상기 서버에 복수의 파일을 포함하는 제2 데이터 셋을 요청하는 신호를 전송하도록 상기 통신부를 제어하고,상기 서버로부터 제2 데이터 셋 및 상기 제2 데이터 셋에 대한 메타 데이터를 상기 통신부를 통해 수신하고,상기 제2 데이터 셋에 대한 메타 데이터를 바탕으로 상기 제2 데이터 셋에 변환된 파일이 포함되었는지 여부를 식별하는 전자 장치.
- 제8항에 있어서,상기 프로세서는,상기 제2 데이터 셋에 상기 변환된 파일이 포함되었다고 식별되면, 상기 제2 데이터 셋에 대한 메타 데이터를 이용하여 상기 변환된 파일을 원본 파일로 변환하는 전자 장치.
- 복수의 파일을 포함하는 제1 데이터 셋을 저장하는 메모리를 포함하는 전자 장치의 제어 방법에 있어서,상기 복수의 파일 중 사이즈가 제1 임계값 미만인 파일의 개수를 식별하는 단계;상기 식별된 파일의 개수 및 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 단계;상기 제1 임계값 미만의 사이즈를 가지는 파일을 상기 결정된 사이즈 단위로 변환하고, 상기 파일을 변환하는 동안 상기 제1 데이터 셋에 대한 메타 데이터를 생성하는 단계; 및상기 변환된 파일을 포함하는 상기 제1 데이터 셋 및 제1 데이터 셋에 대한 메타 데이터를 상기 서버에 전송하는 단계;를 포함하는 제어 방법.
- 제10항에 있어서,상기 결정하는 단계는,상기 복수의 파일 중 상기 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별하는 단계; 및상기 파일의 개수가 상기 제2 임계값을 초과하면, 상기 서버와의 통신 상태를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 단계;를 포함하는 제어 방법.
- 제11항에 있어서,상기 결정하는 단계는,상기 서버와의 통신 상태 중 상기 서버와 연결된 통신 방식의 대역폭 및 패킷 손실률(packet loss rate) 중 적어도 하나를 바탕으로 상기 서버에 전송할 단위 파일의 사이즈를 결정하는 단계;를 포함하는 제어 방법.
- 제12항에 있어서,상기 결정하는 단계는,상기 서버와 연결된 통신 방식의 대역폭이 클수록 상기 단위 파일의 사이즈를 큰 값으로 결정하고,상기 서버와 연결된 통신 방식의 패킷 손실률이 작을수록 상기 단위 파일의 사이즈를 큰 값으로 결정하는 단계;를 포함하는 제어 방법.
- 제13항에 있어서,상기 결정하는 단계는,상기 패킷 손실률이 제3 임계값을 초과하면, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 상기 제1 데이터 셋을 상기 서버에 전송하는 단계;를 포함하는 제어 방법.
- 제11항에 있어서,상기 복수의 파일 중 상기 제1 임계값 미만의 사이즈를 가지는 파일의 개수가 제2 임계값 이상인지 여부를 식별하는 단계는,상기 파일의 개수가 상기 제2 임계값 이하인 경우, 상기 제1 임계값 미만의 사이즈를 가지는 파일을 변환하지 않고 상기 제1 데이터 셋을 상기 서버에 전송하도록 단계;를 포함하는 제어 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/521,594 US11563798B2 (en) | 2019-09-19 | 2021-11-08 | Electronic device for transmitting data set to server and control method therefor |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20190115640 | 2019-09-19 | ||
KR10-2019-0115640 | 2019-09-19 | ||
KR1020200090550A KR20210033881A (ko) | 2019-09-19 | 2020-07-21 | 전자 장치 및 이의 제어 방법 |
KR10-2020-0090550 | 2020-07-21 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US17/521,594 Continuation US11563798B2 (en) | 2019-09-19 | 2021-11-08 | Electronic device for transmitting data set to server and control method therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021054612A1 true WO2021054612A1 (ko) | 2021-03-25 |
Family
ID=74883840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/KR2020/010655 WO2021054612A1 (ko) | 2019-09-19 | 2020-08-12 | 전자 장치 및 이의 제어 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11563798B2 (ko) |
WO (1) | WO2021054612A1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110271012A1 (en) * | 2004-03-17 | 2011-11-03 | Raytheon Bbn Technologies Corp. | Packet header compression for lossy channels |
KR101428034B1 (ko) * | 2006-09-05 | 2014-09-26 | 경희대학교 산학협력단 | 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법 |
KR20150045346A (ko) * | 2013-10-18 | 2015-04-28 | 삼성전자주식회사 | 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치 |
US20190149874A1 (en) * | 2016-09-14 | 2019-05-16 | Dts, Inc. | Multimode synchronous rendering of audio and video |
KR102006873B1 (ko) * | 2011-07-01 | 2019-08-02 | 삼성전자주식회사 | 무선 통신 네트워크에서 데이터 패킷 사이즈의 상한에 대한 동적 변경방법 및 시스템 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20020017406A (ko) | 2000-08-30 | 2002-03-07 | 서평원 | 클라이언트 서버 시스템에서 송수신 데이터의 압축 및복원방법 |
KR20040051031A (ko) | 2002-12-11 | 2004-06-18 | 엘지전자 주식회사 | 데이터 송수신 시스템 |
JP4337375B2 (ja) | 2003-03-14 | 2009-09-30 | 株式会社デンソー | 情報配信サーバ、受信端末、情報配信システム、予約端末、および予約サーバ |
CN102685159B (zh) | 2011-03-10 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 文件传输方法及装置 |
JP2014029585A (ja) | 2012-07-31 | 2014-02-13 | Ntt Docomo Inc | 通信装置、ファイル送受信システム及びファイル受信方法 |
CN103986696B (zh) * | 2014-04-24 | 2017-04-26 | 华为技术有限公司 | 多媒体文件传输装置及方法 |
US9681332B2 (en) * | 2014-06-26 | 2017-06-13 | Intel Corporation | Compression configuration identification |
CN104133882B (zh) * | 2014-07-28 | 2017-06-23 | 四川大学 | 一种基于hdfs的小文件处理方法 |
US9804830B2 (en) * | 2014-12-19 | 2017-10-31 | Signalfx, Inc. | Anomaly detection using a data stream processing language for analyzing instrumented software |
US9715502B1 (en) | 2015-03-25 | 2017-07-25 | Amazon Technologies, Inc. | Distributed data migration using chunking |
US9503847B2 (en) * | 2015-04-23 | 2016-11-22 | Htc Corporation | Electronic apparatus, uploading method and non-transitory computer readable storage medium thereof |
KR102238111B1 (ko) * | 2015-12-08 | 2021-04-09 | 삼성전자주식회사 | 디바이스의 업로드 크기를 제어하는 방법 및 장치 |
CN105975493A (zh) * | 2016-04-26 | 2016-09-28 | 北京神州绿盟信息安全科技股份有限公司 | 一种文件合并方法及装置 |
US11165849B2 (en) * | 2018-07-31 | 2021-11-02 | Pixspan, Inc. | Accelerated cloud data transfers using optimized file handling and a choice of speeds across heterogeneous network paths |
-
2020
- 2020-08-12 WO PCT/KR2020/010655 patent/WO2021054612A1/ko active Application Filing
-
2021
- 2021-11-08 US US17/521,594 patent/US11563798B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110271012A1 (en) * | 2004-03-17 | 2011-11-03 | Raytheon Bbn Technologies Corp. | Packet header compression for lossy channels |
KR101428034B1 (ko) * | 2006-09-05 | 2014-09-26 | 경희대학교 산학협력단 | 패킷 손실에 대한 강인성을 향상시킬 수 있는 데이터 전송시스템 및 방법 |
KR102006873B1 (ko) * | 2011-07-01 | 2019-08-02 | 삼성전자주식회사 | 무선 통신 네트워크에서 데이터 패킷 사이즈의 상한에 대한 동적 변경방법 및 시스템 |
KR20150045346A (ko) * | 2013-10-18 | 2015-04-28 | 삼성전자주식회사 | 이동 통신 시스템에서 멀티미디어 데이터 송수신 방법 및 장치 |
US20190149874A1 (en) * | 2016-09-14 | 2019-05-16 | Dts, Inc. | Multimode synchronous rendering of audio and video |
Also Published As
Publication number | Publication date |
---|---|
US20220070248A1 (en) | 2022-03-03 |
US11563798B2 (en) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190163364A1 (en) | System and method for tcp offload for nvme over tcp-ip | |
KR102245247B1 (ko) | 트리거된 동작을 이용하는 gpu 원격 통신 | |
US10754869B2 (en) | Managing data format of data received from devices in an internet of things network | |
CN108595203B (zh) | 应用功能执行方法、移动终端和计算机可读存储介质 | |
WO2022088082A1 (zh) | 基于缺陷检测的任务处理方法、装置及设备及存储介质 | |
CN109829287A (zh) | Api接口权限访问方法、设备、存储介质及装置 | |
CN106970816B (zh) | 一种软件升级处理方法、装置及音频播放设备 | |
CN108337127B (zh) | 应用性能监控方法、***、终端及计算机可读存储介质 | |
CN110809048B (zh) | 一种数据中转方法、装置和计算机可读存储介质 | |
CN105262601A (zh) | 群成员信息的处理方法和*** | |
US9723480B2 (en) | Information processing device, server device, data communication system, data communication method, and computer-readable storage medium storing data communication program | |
CN111193633A (zh) | 异常网络连接的检测方法及装置 | |
CN109697034B (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN115469937A (zh) | 插件运行方法、装置、电子设备及存储介质 | |
WO2016066081A1 (zh) | 写入数据的方法和装置技术领域 | |
WO2021054612A1 (ko) | 전자 장치 및 이의 제어 방법 | |
US20200333145A1 (en) | Server device, onboard apparatus, and data communication method | |
WO2023273576A1 (zh) | 异常请求处理方法、装置、电子设备和存储介质 | |
JP2021502789A5 (ko) | ||
CN114676371A (zh) | 页面的元素信息替换方法、装置、计算机设备及存储介质 | |
WO2021045434A1 (ko) | 전자 장치 및 이의 제어 방법 | |
KR20210033881A (ko) | 전자 장치 및 이의 제어 방법 | |
CN113315841A (zh) | 文件上传方法、装置、介质及电子设备 | |
WO2016159484A1 (ko) | 모바일 단말의 사용자 정보를 이용한 맞춤형 콘텐츠 공유 방법 및 장치 | |
CN112311842A (zh) | 用于信息交互的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20866480 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20866480 Country of ref document: EP Kind code of ref document: A1 |