KR102250378B1 - Method and system for downloading the resource in a mobile environment - Google Patents

Method and system for downloading the resource in a mobile environment Download PDF

Info

Publication number
KR102250378B1
KR102250378B1 KR1020170026150A KR20170026150A KR102250378B1 KR 102250378 B1 KR102250378 B1 KR 102250378B1 KR 1020170026150 A KR1020170026150 A KR 1020170026150A KR 20170026150 A KR20170026150 A KR 20170026150A KR 102250378 B1 KR102250378 B1 KR 102250378B1
Authority
KR
South Korea
Prior art keywords
server
thread
resource
download
downloading
Prior art date
Application number
KR1020170026150A
Other languages
Korean (ko)
Other versions
KR20170027331A (en
Inventor
장경열
이기흔
이동수
김태경
조우진
Original Assignee
엔에이치엔 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔에이치엔 주식회사 filed Critical 엔에이치엔 주식회사
Priority to KR1020170026150A priority Critical patent/KR102250378B1/en
Publication of KR20170027331A publication Critical patent/KR20170027331A/en
Application granted granted Critical
Publication of KR102250378B1 publication Critical patent/KR102250378B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/468Specific access rights for resources, e.g. using capability register
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • G06F15/17318Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3851Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming

Abstract

일 실시예에 따른 모바일 환경에서의 리소스를 다운로드(Download)하는 방법은, 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계를 포함할 수 있다. In a method of downloading resources in a mobile environment according to an embodiment, in response to an attempt to access at least one server, each thread is parallelized based on a multi-thread. Executing; And downloading a resource corresponding to the server based on each of the threads.

Figure R1020170026150
Figure R1020170026150

Description

모바일 환경에서의 리소스 다운로드 방법 및 시스템{METHOD AND SYSTEM FOR DOWNLOADING THE RESOURCE IN A MOBILE ENVIRONMENT}Resource download method and system in mobile environment {METHOD AND SYSTEM FOR DOWNLOADING THE RESOURCE IN A MOBILE ENVIRONMENT}

아래의 설명은 모바일 환경에서 다운로드의 속도를 향상시키기 위한 기술에 관한 것이다.
The following description relates to a technology for improving the speed of download in a mobile environment.

도 1은 리소스 다운로드 시스템의 동작을 설명하기 위한 도면이다. 1 is a diagram for explaining the operation of a resource download system.

리소스 다운로드 시스템은 빠른 구현을 위하여 일반적으로 싱글 스레드(Single-Thread)(100)를 통하여 리소스의 다운로드를 수행할 수 있다. 예를 들면, 리소스 다운로드 시스템은 싱글 스레드를 기반으로 서버에 접속하여 리소스를 다운로드할 수 있다. 리소스 다운로드 시스템은 리소스의 다운로드를 완료함에 따라 스토리지에 기록할 수 있다. The resource download system may generally perform resource download through a single-thread 100 for fast implementation. For example, the resource download system can download resources by connecting to the server on a single thread basis. As the resource download system completes the download of the resource, it may be recorded in the storage.

하지만 종래의 리소스 다운로드 시스템은 싱글 스레드를 기반으로 복수의 리소스의 다운로드를 수행하는데 있어서, 하나의 리소스에 대하여 다운로드를 완료한 이후에, 다른 리소스의 다운로드를 수행해야 한다는 불편함이 있다. 또한, 종래의 리소스 다운로드 시스템은 싱글 스레드를 기반으로 리소스의 다운로드를 수행할 경우, 서버에 접속하기 위한 대기 시간, 접속 후 요청 응답 시간, 파일 기록 시간 등으로 인하여 네트워크 자원이 비효율적으로 사용하게 된다는 문제점이 존재한다. However, in the conventional resource download system, in downloading a plurality of resources based on a single thread, there is an inconvenience in that after downloading of one resource is completed, another resource must be downloaded. In addition, in the case of downloading resources based on a single thread, the conventional resource download system uses network resources inefficiently due to waiting time for access to the server, response time for requests after connection, and file recording time. Exists.

한국공개특허 제10-2013-0116166호는 멀티-코어 프로세서용 멀티스레드 애플리케이션-인지 메모리 스케줄링 기법에 관하여 개시하고 있다.
Korean Patent Publication No. 10-2013-0116166 discloses a multithreaded application-aware memory scheduling technique for a multi-core processor.

일 실시예에 따른 리소스 다운로드 시스템은 멀티 스레드를 기반으로 모바일 환경에서 최적화된 다운로드 방식을 제공한다.The resource download system according to an embodiment provides an optimized download method in a mobile environment based on multi-threads.

일 실시예에 따른 리소스 다운로드 시스템은 모바일 단말에서 리소스의 다운로드 속도를 향상시킴으로써 유저의 이탈을 최소화하기 위한 방안을 제공한다.
The resource download system according to an embodiment provides a method for minimizing user churn by improving a download speed of a resource in a mobile terminal.

컴퓨터 시스템이 모바일 환경에서의 리소스를 다운로드(Download)하는 방법은, 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계를 포함할 수 있다. The method of downloading resources in a mobile environment by a computer system is to execute each thread in parallel based on a multi-thread in response to an attempt to connect to at least one server. step; And downloading a resource corresponding to the server based on each of the threads.

상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는, 상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하여 상기 파일 단위로 압축된 리소스에 대한 다운로드를 수행하는 단계를 포함할 수 있다. The downloading of a resource corresponding to the server based on each thread may include the compressed file unit according to a request for a resource corresponding to the server in the order of the server attempting the connection based on the respective thread. It may include receiving a resource and downloading the compressed resource in a file unit.

상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는, 상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(Unpacking)하여 스토리지에 기록하는 단계를 포함할 수 있다. The downloading of a resource corresponding to the server based on each thread may include unpacking the compressed resource in a file unit and recording it in storage as the download of the resource corresponding to the server is completed. It may include the step of.

상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는, 상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행하는 단계를 포함할 수 있다. The downloading of resources corresponding to the server based on each thread may include performing downloading of each resource without waiting time by distributing network resources based on the multi-thread. .

상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는, 상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입하는 단계를 포함할 수 있다. In the step of downloading a resource corresponding to the server based on each thread, the download speed of the resource performed in each thread is different, and the downloaded thread is preferentially placed in a dormant state. It may include the step of entering.

상기 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계는, 상기 멀티 스레드를 기반으로 상기 서버에 대응하는 리소스의 다운로드를 수행 중에 또 다른 서버의 접속을 감지하는 단계를 포함할 수 있다. In response to attempting to connect to the at least one server, executing each thread in parallel based on a multi-thread may include a resource corresponding to the server based on the multi-thread. It may include the step of detecting the connection of another server while performing the download.

상기 모바일 환경에서의 리소스 다운로드 방법은, 상기 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드하는 단계를 더 포함할 수 있다. The method of downloading a resource in the mobile environment may further include compressing the resource in a file unit and uploading it to a corresponding server.

컴퓨터 시스템이 모바일 환경에서 리소스를 다운로드하도록 제어하는 명령(instruction)을 포함하는 컴퓨터 판독가능 매체로서, 상기 명령은, 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계를 포함하는 방법에 의하여 상기 컴퓨터 시스템을 제어할 수 있다. A computer-readable medium including instructions for controlling a computer system to download resources in a mobile environment, the instructions being multi-threaded in response to attempting to connect to at least one server. Executing each thread in parallel; And downloading a resource corresponding to the server based on each of the threads.

컴퓨터 시스템이 모바일 환경에서의 리소스를 다운로드(Download)하는 방법을 실행시키기 위해 저장매체에 저장된 컴퓨터 프로그램은, 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계를 포함할 수 있다. In order to execute a method for the computer system to download resources in a mobile environment, a computer program stored in a storage medium is configured on a multi-thread basis in response to an attempt to access at least one server. Executing threads in parallel; And downloading a resource corresponding to the server based on each of the threads.

모바일 환경에서의 리소스 다운로드(Download) 시스템은, 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 실행부; 및 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 다운로드부를 포함할 수 있다. The resource download system in a mobile environment includes: an execution unit that executes each thread in parallel based on a multi-thread in response to an attempt to access at least one server; And a download unit that downloads a resource corresponding to the server based on each of the threads.

상기 다운로드부는, 상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하여 상기 파일 단위로 압축된 리소스에 대한 다운로드를 수행할 수 있다. The download unit receives a resource compressed in a file unit according to a request for a resource corresponding to the server in the order of the server attempting the connection based on each thread, and downloads the compressed resource in the file unit. I can.

상기 다운로드부는, 상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(Unpacking)하여 스토리지에 기록할 수 있다. As the download of the resource corresponding to the server is completed, the download unit may unpack the compressed resource in a file unit and record it in the storage.

상기 다운로드부는, 상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행할 수 있다. The download unit may perform download of each resource without waiting time by distributing network resources based on the multi-thread.

상기 다운로드부는, 상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. The download unit may have different download speeds for resources performed in each of the threads, and a thread that has completed downloading may preferentially enter a dormant state.

상기 실행부는, 상기 멀티 스레드를 기반으로 상기 서버에 대응하는 리소스의 다운로드를 수행 중에 또 다른 서버의 접속을 감지할 수 있다. The execution unit may detect a connection of another server while downloading a resource corresponding to the server based on the multi-thread.

상기 모바일 환경에서의 리소스 다운로드 시스템은, 상기 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드부를 더 포함할 수 있다.
The resource download system in the mobile environment may further include an upload unit to a corresponding server by compressing the resource in a file unit.

일 실시예에 따른 리소스 다운로드 시스템은 모바일 환경에서 멀티 스레드를 기반으로 리소스의 다운로드를 수행함으로써 다운로드의 소요 시간 및 유저의 이탈을 최소화시킬 수 있다. The resource download system according to an embodiment may minimize a download time and a user's departure by performing resource download based on a multi-thread in a mobile environment.

일 실시예에 따른 리소스 다운로드 시스템은 멀티 스레드 방식을 이용함으로써 모바일 단말의 하드웨어를 효율적으로 이용할 수 있다. 리소스 다운로드 시스템은 최신의 모바일 환경에서 더욱 최적화된 형태의 다운로드 방식이기 때문에 효과가 배가될 수 있다. The resource download system according to an embodiment can efficiently use hardware of a mobile terminal by using a multi-threaded method. Since the resource download system is a more optimized download method in the latest mobile environment, the effect can be doubled.

일 실시예에 따른 리소스 다운로드 시스템은 파일 단위로 압축된 리소스를 다운로드하는 자동 패키징 방법을 수행함으로써 다운로드의 속도를 향상시킬 수 있다.
The resource download system according to an embodiment may improve a download speed by performing an automatic packaging method of downloading a resource compressed in a file unit.

도 1은 리소스 다운로드 시스템의 동작을 설명하기 위한 도면이다.
도 2는 일 실시예에 따른 리소스 다운로드 시스템의 개괄적인 동작을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 리소스 다운로드 시스템의 구성을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 리소스 다운로드 시스템의 내부 구성을 설명하기 위한 블록도이다.
도 5는 일 실시예에 따른 리소스 다운로드 시스템의 구체적인 동작을 설명하기 위한 도면이다.
도 6은 일 실시예에 따른 리소스 다운로드 시스템의 리소스 다운로드 방법을 설명하기 위한 흐름도이다.
1 is a diagram for explaining the operation of a resource download system.
2 is a diagram for explaining the general operation of the resource download system according to an embodiment.
3 is a diagram illustrating a configuration of a resource download system according to an embodiment.
4 is a block diagram illustrating an internal configuration of a resource download system according to an embodiment.
5 is a diagram for describing a specific operation of a resource download system according to an embodiment.
6 is a flowchart illustrating a resource download method of a resource download system according to an embodiment.

이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
Hereinafter, embodiments will be described in detail with reference to the accompanying drawings.

실시예들에 따르면, 리소스 다운로드 시스템은 모바일 단말에서 리소스의 다운로드 속도를 향상시킴으로써 유저의 이탈을 최소화시키기 위한 방안을 제안하고자 한다. 리소스 다운로드 시스템은 멀티 스레드를 기반으로 리소스의 다운로드를 수행할 수 있다. '스레드'(Thread)란 컴퓨터 프로그램(또는 어플리케이션)을 수행 시 프로세스 내부에 존재하는 수행 경로로서, 한번에 복수 개의 액션 또는 순차적 액션들을 실행할 수 있도록 할 수 있다. 리소스 다운로드 시스템은 멀티 스레드를 기반으로 복수의 스레드를 실행할 수 있다. According to embodiments, a resource download system is intended to propose a method for minimizing user churn by improving a download speed of a resource in a mobile terminal. The resource download system may download resources based on multiple threads. A'thread' is an execution path that exists inside a process when a computer program (or application) is executed, and can execute a plurality of actions or sequential actions at once. The resource download system can execute a plurality of threads on a multi-thread basis.

도 2는 일 실시예에 따른 리소스 다운로드 시스템의 개괄적인 동작을 설명하기 위한 도면이다. 2 is a diagram for explaining the general operation of the resource download system according to an embodiment.

리소스 다운로드 시스템(200)과 모바일 단말(210)은 네트워크(220)를 통하여 데이터를 송수신할 수 있으며, 네트워크의 구성은 도 2에 도시된 것보다 더 많거나 또는 더 적은 컴포넌트들, 커넥션들 및 상호 작용들을 포함할 수 있다. The resource download system 200 and the mobile terminal 210 can transmit and receive data through the network 220, and the configuration of the network is more or less than those shown in FIG. May include actions.

네트워크(220)는 데이터 프로세싱 시스템들, 컴퓨터들, 서버들, 각종 장치들 간의 통신 링크들을 제공하는데 사용되는 매체일 수 있다. 네트워크(220)는 리소스 다운로드 시스템(200)과 모바일 단말(210)이 서로 통신하기 위하여 TCP/IP(Transmission Control Protocol Internet Protocol) 프로토콜 스위트(suite of protocols)를 사용하는 네트워크들 및 게이트웨이들의 월드와이드 컬렉션을 나타낼 수 있다. 일부 예들에서, 네트워크(220)는 인트라넷, LAN(local area network) 또는 WAN(wide area network)을 포함하거나 또는 그 일부일 수 있다. 일부 예들에서, 네트워크(220)는 인터넷의 일부일 수 있다.Network 220 may be a medium used to provide communication links between data processing systems, computers, servers, and various devices. The network 220 is a worldwide collection of networks and gateways that use a Transmission Control Protocol Internet Protocol (TCP/IP) suite of protocols to communicate with each other between the resource download system 200 and the mobile terminal 210. Can represent. In some examples, network 220 may include or be part of an intranet, a local area network (LAN), or a wide area network (WAN). In some examples, network 220 may be part of the Internet.

모바일 단말(210)은 스마트폰(smart phone), 태블릿(tablet), 웨어러블 컴퓨터(wearable computer) 등과 같이 휴대성이 있는 기기로서, 리소스 다운로드 시스템(200)과 관련된 모바일 사이트의 접속 또는 서비스 전용 어플리케이션의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이때, 모바일 단말(210)은 모바일 사이트 또는 전용 어플리케이션의 제어 하에 서비스 화면 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등 서비스 전반의 동작을 수행할 수 있다.The mobile terminal 210 is a portable device such as a smart phone, a tablet, a wearable computer, etc., and access to a mobile site related to the resource download system 200 or a service-only application. It can mean all terminal devices that can be installed and executed. In this case, the mobile terminal 210 may perform overall service operations such as configuring a service screen, inputting data, transmitting and receiving data, and storing data under the control of a mobile site or a dedicated application.

리소스 다운로드 시스템(200)은 다운로드 서비스를 제공하는 다운로드 플랫폼 상에 구현될 수 있으며, 다운로드 서비스를 이용하는 클라이언트(client)인 모바일 단말(210)을 대상으로 리소스의 다운로드를 수행하는 환경을 제공할 수 있다. The resource download system 200 may be implemented on a download platform that provides a download service, and may provide an environment for downloading resources for the mobile terminal 210, which is a client using the download service. .

리소스 다운로드 시스템(200)은 다운로드 서비스를 제공하는 다운로드 서버(미도시)의 플랫폼에 포함되는 형태로 구현될 수 있고, 이에 한정되는 것은 아니며 다운로드 서버와 별개의 시스템으로 구축되어 다운로드 서버와의 연동을 통해 리소스를 다운로드하는 형태로 구현되는 것 또한 가능하다. The resource download system 200 may be implemented in a form included in a platform of a download server (not shown) that provides a download service, and is not limited thereto, and is built as a separate system from the download server to allow interworking with the download server. It is also possible to be implemented in the form of downloading resources through.

리소스 다운로드 시스템(200)은 적어도 일부의 구성 요소가 모바일 단말(210) 상에 설치되는 어플리케이션 형태로 구현되거나, 혹은 클라이언트-서버 환경에서 서비스를 제공하는 플랫폼에 포함되는 형태로 구현되는 것 또한 가능하다.The resource download system 200 may be implemented in the form of an application in which at least some components are installed on the mobile terminal 210 or included in a platform providing services in a client-server environment. .

도 3은 일 실시예에 따른 리소스 다운로드 시스템의 구성을 설명하기 위한 도면이다.3 is a diagram illustrating a configuration of a resource download system according to an embodiment.

리소스 다운로드 시스템(300)은 Unity Plugin(310), Platform Bridge(320), Core Library(330) 모듈로 구성될 수 있다. The resource download system 300 may be composed of a Unity Plugin 310, a Platform Bridge 320, and a Core Library 330 module.

Unity Plugin(310)은 유니티 개발을 위한 플러그인으로서, 브릿지 모듈을 통해 연결될 수 있다. The Unity Plugin 310 is a plugin for Unity development and may be connected through a bridge module.

Platform Bridge(320)는 각각의 플랫폼으로 연결을 위한 브릿지 모듈로서, 각각의 플랫폼에 맞는 언어로 작성될 수 있다. Platform Bridge(320)는 Win32 Bridge, MacOs Bridge, iOS Bridge, Android Bridge를 포함할 수 있다. Platform Bridge(320)은 Win32를 C++, Mac과 iOS를 Objective C, Android를 Java 또는 Jni로 작성될 수 있다.The Platform Bridge 320 is a bridge module for connecting to each platform, and may be written in a language suitable for each platform. Platform Bridge 320 may include Win32 Bridge, MacOs Bridge, iOS Bridge, and Android Bridge. The Platform Bridge 320 may be written in C++ for Win32, Objective C for Mac and iOS, and Java or Jni for Android.

Core Library(330)는 C++로 작성된 라이브러리로서, http Connection을 관리할 수 있다. Core Library(330)는 File Pack과 Unpack을 수행할 수 있다. The Core Library 330 is a library written in C++ and can manage http Connection. The Core Library 330 may perform File Pack and Unpack.

일 실시예에 따른 리소스 다운로드 시스템은 플랫폼에 제한없이 모바일 단말에서 사용할 수 있다. The resource download system according to an embodiment can be used in a mobile terminal without any platform limitation.

도 4는 일 실시예에 따른 리소스 다운로드 시스템의 내부 구성을 설명하기 위한 블록도이다.4 is a block diagram illustrating an internal configuration of a resource download system according to an embodiment.

리소스 다운로드 시스템(400)은 모바일 환경에서 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 리소스를 다운로드하기 위한 것으로, 감지부(410), 실행부(420) 및 다운로드부(430)를 포함할 수 있다. The resource download system 400 is for downloading resources based on each thread by operating each thread in parallel in the order of the server attempting to connect in a mobile environment, and the detection unit 410, the execution unit 420, and It may include a download unit 430.

감지부(410)는 모바일 단말로부터 적어도 하나의 서버에 접속을 시도함을 감지할 수 있다. 감지부(410)는 스레드를 기반으로 서버에 대응하는 리소스의 다운로드를 수행하는 중에 또 다른 서버의 접속을 감지할 수 있다.The detection unit 410 may detect that the mobile terminal attempts to access at least one server. The detection unit 410 may detect a connection of another server while downloading a resource corresponding to the server based on a thread.

실행부(420)는 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드를 실행시킬 수 있다. The execution unit 420 may execute each thread based on a multi-thread in response to an attempt to access the server.

다운로드부(430)는 각각의 스레드에 기초하여 서버에 대응하는 리소스의 다운로드를 수행함에 따라 파일 단위로 압축된 리소스를 언패킹할 수 있다. 다운로드부(430)는 각각의 스레드를 기반으로 서버로 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하여 파일 단위로 압축된 리소스에 대하여 다운로드를 수행할 수 있다. As the download unit 430 downloads a resource corresponding to the server based on each thread, the download unit 430 may unpack the compressed resource in a file unit. As the download unit 430 requests a resource from a server based on each thread, the download unit may receive a resource compressed in a file unit and download a resource compressed in a file unit.

다운로드부(430)는 파일 단위로 압축된 리소스에 대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다. 다운로드부(430)는 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. The download unit 430 may unpack the resource and record it in the storage as the download is completed for the resource compressed in a file unit. The download unit 430 may have different download speeds for resources performed in each thread, and a thread that has been downloaded may preferentially enter the dormant state.

도 5는 일 실시예에 따른 리소스 다운로드 시스템의 구체적인 동작을 설명하기 위한 도면이다.5 is a diagram for describing a specific operation of a resource download system according to an embodiment.

리소스 다운로드 시스템은 모바일 환경에서 멀티 스레드(500)를 기반으로 접속을 시도한 서버 순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드할 수 있다. 리소스 다운로드 시스템은 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행할 수 있다.The resource download system may download a server-related resource based on each thread by operating each thread in parallel in the order of a server attempting connection based on the multi-thread 500 in a mobile environment. The resource download system can perform download of each resource without waiting time by distributing network resources on a multi-thread basis.

리소스 다운로드 시스템은 모바일 단말로부터 적어도 하나의 서버에 접속을 시도함을 감지할 수 있다. 예를 들면, 사용자는 모바일 단말을 통하여 제1 어플리케이션의 다운로드를 시도할 수 있다. 이때, 리소스 다운로드 시스템은 모바일 단말로부터 제1 서버에 접속을 시도함을 감지할 수 있다. 리소스 다운로드 시스템은 제1 서버에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 제1 스레드를 실행시킬 수 있다. The resource download system may detect that the mobile terminal attempts to access at least one server. For example, the user may attempt to download the first application through the mobile terminal. In this case, the resource download system may detect that the mobile terminal attempts to access the first server. The resource download system may execute the first thread on a multi-thread basis in response to an attempt to access the first server.

리소스 다운로드 시스템은 제1 스레드에 기초하여 제1 서버에 대응하는 리소스의 다운로드를 시작할 수 있다. 리소스 다운로드 시스템은 제1 스레드를 기반으로 제1 서버로 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신함으로써 다운로드를 수행할 수 있다. 리소스 다운로드 시스템은 제1 서버에 대응하는 파일 단위로 압축된 리소스를 수신함으로써 파일 단위로 압축된 리소스를 언패킹할 수 있다. 리소스 다운로드 시스템은 파일 단위로 압축된 리소스에대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다. The resource download system may start downloading a resource corresponding to the first server based on the first thread. The resource download system may perform download by receiving a compressed resource in a file unit according to a request for a resource to the first server based on the first thread. The resource download system may unpack the compressed resource in the file unit by receiving the resource compressed in the file unit corresponding to the first server. The resource download system may unpack the resource for the compressed resource in a file unit and record it in the storage as the download is completed.

리소스 다운로드 시스템은 제1 서버에 대응하는 리소스를 다운로드하는 동시에 또 다른 서버에 접속을 시도함을 감지할 수 있다. 예를 들면, 사용자는 모바일 단말을 통하여 제1 어플리케이션의 다운로드가 수행되는 중에, 제2 어플리케이션의 다운로드를 시도할 수 있다. 이때, 리소스 다운로드 시스템은 제2 서버에 접속을 시도함을 감지할 수 있다. The resource download system may detect that an attempt to access another server is attempted while downloading a resource corresponding to the first server. For example, the user may attempt to download the second application while the first application is being downloaded through the mobile terminal. In this case, the resource download system may detect that an attempt is made to access the second server.

리소스 다운로드 시스템은 제2 서버에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 제2 스레드를 실행시킬 수 있다. 이때, 리소스 다운로드 시스템은 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드할 수 있다. The resource download system may execute the second thread on a multi-thread basis in response to an attempt to access the second server. In this case, the resource download system may download a server-related resource based on each thread by operating each thread in parallel in the order of the server attempting to connect.

리소스 다운로드 시스템은 제2 스레드에 기초하여 제2 서버에 대응하는 리소스의 다운로드를 시작할 수 있다. 리소스 다운로드 시스템은 제2 스레드를 기반으로 제2 서버로 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신함으로써 다운로드를 수행할 수 있다. 리소스 다운로드 시스템은 제2 서버에 대응하는 파일 단위로 압축된 리소스를 수신함으로써 파일 단위로 압축된 리소스를 언패킹할 수 있다. 리소스 다운로드 시스템은 파일 단위로 압축된 리소스에 대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다. The resource download system may start downloading a resource corresponding to the second server based on the second thread. The resource download system may perform download by receiving a compressed resource in a file unit according to a request for a resource to the second server based on the second thread. The resource download system may unpack the compressed resource in the file unit by receiving the resource compressed in the file unit corresponding to the second server. The resource download system may unpack the resource and record it in the storage as the download is completed for the resource compressed in a file unit.

일 실시예에 따른 리소스 다운로드 시스템은 파일 단위로 압축된 리소스에 대하여 다운로드를 수행함으로써 다운로드에 소요되는 시간을 최소화시킬 수 있다. The resource download system according to an embodiment may minimize a download time by performing a download on a resource compressed in a file unit.

리소스 다운로드 시스템은 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하기 때문에 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. In the resource download system, the download speed of the resource performed by each thread is different, so that the downloaded thread may preferentially enter the dormant state.

마찬가지로, 리소스 다운로드 시스템은 제2 서버에 대응하는 리소스를 다운로드하는 동시에 또 다른 서버에 접속을 시도함을 감지할 수 있다. 이때, 리소스 다운로드 시스템은 스레드의 개수에 상관없이 멀티 스레드를 기반으로 복수의 스레드가 실행되어 동작될 수 있다. 또한, 리소스 다운로드 시스템은 모바일 단말의 운영체제(OS)에서 자동으로 스케줄링할 수 있다. Similarly, the resource download system may detect that an attempt to access another server is attempted while downloading a resource corresponding to the second server. In this case, the resource download system may be operated by executing a plurality of threads based on multi-threads regardless of the number of threads. In addition, the resource download system can be automatically scheduled in the operating system (OS) of the mobile terminal.

도 6은 일 실시예에 따른 리소스 다운로드 시스템의 리소스를 다운로드하는 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a method of downloading a resource of a resource download system according to an exemplary embodiment.

리소스를 다운로드하는 방법은 리소스 다운로드 시스템에 의하여 수행될 수 있으며, 리소스 다운로드 시스템은 모바일 환경에서 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행할 수 있다. A method of downloading resources may be performed by a resource download system, and the resource download system may perform download of each resource without waiting time by distributing network resources based on multi-threads in a mobile environment.

사용자가 모바일 단말(610)을 통하여 어플리케이션의 다운로드를 수행한다고 가정하자. 리소스 다운로드 시스템은 모바일 단말(610)로부터 적어도 하나의 서버(620)에 접속을 시도함을 감지할 수 있다. 예를 들면, 리소스 다운로드 시스템은 IDC(Internet Data Center)를 통하여 어플리케이션을 다운로드할 수 있다. Assume that the user downloads an application through the mobile terminal 610. The resource download system may detect that the mobile terminal 610 attempts to access at least one server 620. For example, the resource download system may download an application through an IDC (Internet Data Center).

모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버에 접속 및 패치 정보를 요청할 수 있고(631), 서버(620)로부터 패치 파일 정보를 수신할 수 있다(632). 이때, 모바일 단말(610)은 수신된 패치 파일 정보를 분석할 수 있다(633). The mobile terminal 610 may request connection and patch information to the server in order to download the application (631), and may receive patch file information from the server 620 (632). In this case, the mobile terminal 610 may analyze the received patch file information (633).

모바일 단말(610)은 서버(620)에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 각각의 스레드를 실행시킬 수 있다. 예를 들면, 모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버(620)에 접속할 수 있고, 모바일 단말(610)은 제1 스레드(630)를 실행시킬 수 있다. 이때, 모바일 단말은 운영체제에서 스레드를 제어하기 때문에 스레드가 자동으로 스케줄링될 수 있다. The mobile terminal 610 may execute each thread on a multi-thread basis in response to an attempt to access the server 620. For example, the mobile terminal 610 may access the server 620 to download an application, and the mobile terminal 610 may execute the first thread 630. At this time, since the mobile terminal controls the thread in the operating system, the thread can be automatically scheduled.

모바일 단말(610)은 제1 스레드(630)를 기반으로 서버(620)로 리소스를 요청할 수 있고(634), 서버(620)로부터 파일 단위로 압축된 리소스를 수신할 수 있다(635). 모바일 단말(610)은 파일 단위로 압축된 리소스를 다운로드를 수행할 수 있다(636). 이때, 모바일 단말(610)은 파일 단위로 압축된 리소스에 대하여 다운로드를 수행함으로써 다운로드에 소요되는 시간을 최소화시킬 수 있다. 모바일 단말(610)은 파일 단위로 압축된 리소스에 대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다.The mobile terminal 610 may request a resource from the server 620 based on the first thread 630 (634), and may receive a resource compressed in a file unit from the server 620 (635). The mobile terminal 610 may download the compressed resource in file units (636). In this case, the mobile terminal 610 can minimize the time required for downloading by performing a download on the resource compressed in a file unit. The mobile terminal 610 may unpack the resource and record it in the storage as the download is completed for the resource compressed in a file unit.

또한, 모바일 단말(610)은 어플리케이션의 다운로드를 수행하는 중에, 또 다른 어플리케이션의 다운로드를 수행하기 위하여 또 다른 서버에 접속을 시도할 수 있다. 모바일 단말(610)은 서버(620)에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 각각의 스레드를 실행시킬 수 있다. 예를 들면, 모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버(620)에 접속할 수 있고, 모바일 단말(610)은 제2 스레드를 실행시킬 수 있다. 리소스 다운로드 시스템은 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 멀티 스레드를 기반으로 서버와 관련된 리소스를 다운로드할 수 있다. In addition, while downloading an application, the mobile terminal 610 may try to access another server in order to download another application. The mobile terminal 610 may execute each thread on a multi-thread basis in response to an attempt to access the server 620. For example, the mobile terminal 610 may access the server 620 to download an application, and the mobile terminal 610 may execute a second thread. The resource download system can download a server-related resource on a multi-thread basis by operating each thread in parallel in the order of the server attempting to connect.

리소스 다운로드 시스템은 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하기 때문에 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. In the resource download system, the download speed of the resource performed by each thread is different, so that the downloaded thread may preferentially enter the dormant state.

일 실시예에 따른 리소스 다운로드 시스템은 멀티 스레드를 이용함에 있어서, 최신의 모바일 단말에 더욱 최적화된 다운로드 방식을 제공할 수 있다. 다시 말해서, 리소스 다운로드 시스템은 모바일 단말의 하드웨어가 발전할수록 효과가 더 크다. The resource download system according to an embodiment may provide a download method that is more optimized for the latest mobile terminals in using multi-threads. In other words, the resource download system is more effective as the hardware of the mobile terminal develops.

일 실시예에 따른 리소스 다운로드 시스템은 모바일 환경에서 멀티 스레드를 기반으로 리소스를 파일 단위로 자동으로 압축하여 업로드함으로써 다운로드하는 리소스의 사이즈를 줄이고, 파일 단위로 압축된 리소스를 다운로드한 후 언패킹함으로써 보다 빠르게 다운로드를 수행할 수 있다. 이를 위해, 리소스 다운로드 시스템은 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드하는 업로드부(미도시)를 더 포함할 수 있다. 예를 들어 어플리케이션 형태의 리소스 다운로드 시스템이 설치된 모바일 단말에서 서버로 업로드하고자 하는 리소스를 파일 단위로 압축하고, 파일 단위로 압축된 리소스를 서버로 업로드할 수 있다. 이때, 해당 모바일 단말 또는 리소스를 제공받고자 하는 다른 모바일 단말들은 파일 단위로 압축된 리소스를 수신한 이후에 모바일 단말에서 언패킹을 수행하여 원래의 리소스를 얻음으로써 다운로드할 데이터의 양을 줄일 수 있고, 데이터의 양이 감소됨에 따라 다운로드 속도를 향상시킬 수 있다.The resource download system according to an embodiment reduces the size of a downloaded resource by automatically compressing and uploading a resource in a file unit based on a multi-thread in a mobile environment, and by downloading and unpacking the compressed resource in a file unit. Download can be done quickly. To this end, the resource download system may further include an upload unit (not shown) for compressing resources in file units and uploading them to a corresponding server. For example, a resource to be uploaded to a server from a mobile terminal in which an application-type resource download system is installed may be compressed in a file unit, and the compressed resource in a file unit may be uploaded to the server. At this time, the mobile terminal or other mobile terminals that wish to receive the resource can reduce the amount of data to be downloaded by obtaining the original resource by performing unpacking in the mobile terminal after receiving the compressed resource in file units, As the amount of data decreases, the download speed can be improved.

일 실시예에 따른 리소스 다운로드 시스템은 모바일 환경에서 멀티 스레드를 기반으로 리소스의 다운로드를 수행함으로써 다운로드의 소요 시간 및 유저의 이탈을 최소화시킬 수 있다. The resource download system according to an embodiment may minimize a download time and a user's departure by performing resource download based on a multi-thread in a mobile environment.

일 실시예에 따른 리소스 다운로드 시스템은 멀티 스레드 방식을 기반으로 모바일 단말의 하드웨어를 효율적으로 이용할 수 있다. 리소스 다운로드 시스템은 최신의 모바일 환경에서 더욱 최적화된 형태의 다운로드 방식으로 효과가 배가될 수 있다. The resource download system according to an embodiment may efficiently use hardware of a mobile terminal based on a multi-threaded method. The resource download system can be multiplied by a more optimized download method in the latest mobile environment.

이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.The apparatus described above may be implemented as a hardware component, a software component, and/or a combination of a hardware component and a software component. For example, the devices and components described in the embodiments are, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA). , A programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions, such as one or more general purpose computers or special purpose computers. The processing device may execute an operating system (OS) and one or more software applications executed on the operating system. Further, the processing device may access, store, manipulate, process, and generate data in response to the execution of software. For the convenience of understanding, although it is sometimes described that one processing device is used, one of ordinary skill in the art, the processing device is a plurality of processing elements and/or a plurality of types of processing elements. It can be seen that it may include. For example, the processing device may include a plurality of processors or one processor and one controller. In addition, other processing configurations are possible, such as a parallel processor.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of these, configuring the processing unit to operate as desired or processed independently or collectively. You can command the device. Software and/or data may be interpreted by a processing device or, to provide instructions or data to a processing device, of any type of machine, component, physical device, virtual equipment, computer storage medium or device. , Or may be permanently or temporarily embodyed in a transmitted signal wave. The software may be distributed over networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to the embodiment may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the embodiment, or may be known and usable to those skilled in computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floptical disks. -A hardware device specially configured to store and execute program instructions such as magneto-optical media, and ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those produced by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.

이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.As described above, although the embodiments have been described by the limited embodiments and drawings, various modifications and variations are possible from the above description to those of ordinary skill in the art. For example, the described techniques are performed in a different order from the described method, and/or components such as systems, structures, devices, circuits, etc. described are combined or combined in a form different from the described method, or other components Alternatively, even if substituted or substituted by an equivalent, an appropriate result can be achieved.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and those equivalent to the claims also fall within the scope of the claims to be described later.

Claims (16)

컴퓨터 시스템이 모바일 환경에서의 리소스를 다운로드(Download)하는 방법에 있어서,
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 접속을 시도한 서버순으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계
를 포함하고,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행하고, 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 파일 단위로 압축된 리소스를 언패킹하고, 상기 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드하는 단계
를 포함하고,
상기 모바일 단말에서, 제1 서버에 접속이 시도됨에 따라 제1 서버에 대한 제1 스레드가 실행되고, 상기 제1 스레드를 통해 제1 서버의 리소스가 다운로드되는 동안 제2 서버의 접속이 시도됨에 따라 제2 서버에 대한 제2 스레드가 실행되고, 상기 제2 스레드를 통해 제2 서비스가 다운로드되도록 각각의 스레드가 스케줄링되는 것
을 포함하는 모바일 환경에서의 리소스 다운로드 방법.
In a method for a computer system to download resources in a mobile environment,
In response to an attempt to connect to at least one server at a different time by each user of the mobile terminal, each thread is executed in parallel in the order of the server attempting to connect based on a multi-thread. Letting go; And
Downloading a resource corresponding to the server based on each of the threads
Including,
The step of downloading a resource corresponding to the server based on each of the threads,
By distributing network resources based on the multi-thread, each resource is downloaded without waiting time, the compressed resource is unpacked in a file unit corresponding to the server based on the respective thread, and the connection is established. The step of downloading server-related resources based on each thread by running each thread in parallel in the order of attempted server
Including,
In the mobile terminal, as a connection to the first server is attempted, a first thread for the first server is executed, and a second server connection is attempted while the resources of the first server are downloaded through the first thread. A second thread for the second server is executed, and each thread is scheduled so that a second service is downloaded through the second thread.
Resource download method in a mobile environment comprising a.
제1항에 있어서,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법.
The method of claim 1,
The step of downloading a resource corresponding to the server based on each of the threads,
Receiving a resource compressed in a file unit as requesting a resource corresponding to the server in the order of the server attempting the connection based on the respective threads
Resource download method in a mobile environment comprising a.
제2항에 있어서,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(Unpacking)하여 스토리지에 기록하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법.
The method of claim 2,
The step of downloading a resource corresponding to the server based on each of the threads,
Unpacking and recording the compressed resource in the file unit as the download of the resource corresponding to the server is completed.
Resource download method in a mobile environment comprising a.
삭제delete 제1항에 있어서,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법.
The method of claim 1,
The step of downloading a resource corresponding to the server based on each of the threads,
Steps in which a download speed for a resource performed in each of the threads is different, and the downloaded thread is preferentially entered into a dormant state.
Resource download method in a mobile environment comprising a.
삭제delete 제1항에 있어서,
상기 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계는,
상기 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법.
The method of claim 1,
The step of executing each of the threads in parallel,
Compressing the resource in units of files and uploading them to a corresponding server
Resource download method in a mobile environment comprising a.
컴퓨터 시스템이 모바일 환경에서 리소스를 다운로드하도록 제어하는 명령(instruction)을 포함하는 컴퓨터 판독가능 저장 매체로서,
상기 명령은,
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 접속을 시도한 서버순으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계
를 포함하고,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행하고, 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 파일 단위로 압축된 리소스를 언패킹하고, 상기 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드하는 단계
를 포함하고,
상기 모바일 단말에서, 제1 서버에 접속이 시도됨에 따라 제1 서버에 대한 제1 스레드가 실행되고, 상기 제1 스레드를 통해 제1 서버의 리소스가 다운로드되는 동안 제2 서버의 접속이 시도됨에 따라 제2 서버에 대한 제2 스레드가 실행되고, 상기 제2 스레드를 통해 제2 서비스가 다운로드되도록 각각의 스레드가 스케줄링되는 것
을 포함하는 방법에 의하여 상기 컴퓨터 시스템을 제어하는, 컴퓨터 판독가능 저장 매체.
A computer-readable storage medium containing instructions for controlling a computer system to download a resource in a mobile environment, comprising:
The above command is:
In response to an attempt to connect to at least one server at a different time by each user of the mobile terminal, each thread is executed in parallel in the order of the server attempting to connect based on a multi-thread. Letting go; And
Downloading a resource corresponding to the server based on each of the threads
Including,
The step of downloading a resource corresponding to the server based on each of the threads,
By distributing network resources based on the multi-thread, each resource is downloaded without waiting time, the compressed resource is unpacked in a file unit corresponding to the server based on each thread, and the connection is established. Downloading server-related resources based on each thread by running each thread in parallel in the order of the server attempt
Including,
In the mobile terminal, as a connection to the first server is attempted, a first thread for the first server is executed, and a second server connection is attempted while the resources of the first server are downloaded through the first thread. A second thread for the second server is executed, and each thread is scheduled so that a second service is downloaded through the second thread.
Controlling the computer system by a method comprising a.
컴퓨터 시스템이 모바일 환경에서의 리소스를 다운로드(Download)하는 방법을 실행시키기 위해 저장매체에 저장된 컴퓨터 프로그램에 있어서,
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 접속을 시도한 서버순으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 단계; 및
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계
를 포함하고,
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행하고, 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 파일 단위로 압축된 리소스를 언패킹하고, 상기 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드하는 단계
를 포함하고,
상기 모바일 단말에서, 제1 서버에 접속이 시도됨에 따라 제1 서버에 대한 제1 스레드가 실행되고, 상기 제1 스레드를 통해 제1 서버의 리소스가 다운로드되는 동안 제2 서버의 접속이 시도됨에 따라 제2 서버에 대한 제2 스레드가 실행되고, 상기 제2 스레드를 통해 제2 서비스가 다운로드되도록 각각의 스레드가 스케줄링되는 것
을 포함하는 것을 특징으로 하는 저장매체에 저장된 컴퓨터 프로그램.
In a computer program stored in a storage medium to execute a method for a computer system to download resources in a mobile environment,
In response to an attempt to connect to at least one server at a different time by each user of the mobile terminal, each thread is executed in parallel in the order of the server attempting to connect based on a multi-thread. Letting go; And
Downloading a resource corresponding to the server based on each of the threads
Including,
The step of downloading a resource corresponding to the server based on each of the threads,
By distributing network resources based on the multi-thread, each resource is downloaded without waiting time, the compressed resource is unpacked in a file unit corresponding to the server based on the respective thread, and the connection is established. The step of downloading server-related resources based on each thread by running each thread in parallel in the order of attempted server
Including,
In the mobile terminal, as a connection to the first server is attempted, a first thread for the first server is executed, and a second server connection is attempted while the resources of the first server are downloaded through the first thread. A second thread for the second server is executed, and each thread is scheduled so that a second service is downloaded through the second thread.
A computer program stored in a storage medium comprising a.
모바일 환경에서의 리소스 다운로드(Download) 시스템에 있어서,
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 접속을 시도한 서버순으로 각각의 스레드(Thread)를 병렬적으로 실행시키는 실행부; 및
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 다운로드부
를 포함하고,
상기 다운로드부는,
상기 멀티 스레드를 기반으로 네트워크의 자원을 분산시킴으로써 대기 시간없이 각각의 리소스의 다운로드를 수행하고, 상기 각각의 스레드에 기초하여 상기 서버에 대응하는 파일 단위로 압축된 리소스를 언패킹하고, 상기 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 각각의 스레드를 기반으로 서버와 관련된 리소스를 다운로드하는 것을 포함하고,
상기 모바일 단말에서, 제1 서버에 접속이 시도됨에 따라 제1 서버에 대한 제1 스레드가 실행되고, 상기 제1 스레드를 통해 제1 서버의 리소스가 다운로드되는 동안 제2 서버의 접속이 시도됨에 따라 제2 서버에 대한 제2 스레드가 실행되고, 상기 제2 스레드를 통해 제2 서비스가 다운로드되도록 각각의 스레드가 스케줄링되는 것
을 포함하는 모바일 환경에서의 리소스 다운로드 시스템.
In the resource download system in a mobile environment,
In response to an attempt to connect to at least one server at a different time by each user of the mobile terminal, each thread is executed in parallel in the order of the server attempting to connect based on a multi-thread. Letting the execution unit; And
A download unit that downloads a resource corresponding to the server based on each of the threads
Including,
The download unit,
By distributing network resources based on the multi-thread, each resource is downloaded without waiting time, the compressed resource is unpacked in a file unit corresponding to the server based on the respective thread, and the connection is established. It includes downloading resources related to the server based on each thread by operating each thread in parallel in the order of the attempted server,
In the mobile terminal, as a connection to the first server is attempted, a first thread for the first server is executed, and a second server connection is attempted while the resources of the first server are downloaded through the first thread. A second thread for the second server is executed, and each thread is scheduled so that a second service is downloaded through the second thread.
Resource download system in a mobile environment comprising a.
제10항에 있어서,
상기 다운로드부는,
상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하는
것을 특징으로 하는 모바일 환경에서의 리소스 다운로드 시스템.
The method of claim 10,
The download unit,
Receiving a resource compressed in a file unit according to a request for a resource corresponding to the server in the order of the server attempting the connection based on each thread
Resource download system in a mobile environment, characterized in that.
제11항에 있어서,
상기 다운로드부는,
상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(Unpacking)하여 스토리지에 기록하는
것을 특징으로 하는 모바일 환경에서의 리소스 다운로드 시스템.
The method of claim 11,
The download unit,
As the download of the resource corresponding to the server is completed, the compressed resource is unpacked for each file and recorded in the storage.
Resource download system in a mobile environment, characterized in that.
삭제delete 제10항에 있어서,
상기 다운로드부는,
상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입하는
것을 특징으로 하는 모바일 환경에서의 리소스 다운로드 시스템.
The method of claim 10,
The download unit,
The download speed for the resource performed by each thread is different, and the thread that has completed the download preferentially enters the dormant state.
Resource download system in a mobile environment, characterized in that.
삭제delete 제10항에 있어서,
상기 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드하는 업로드부
를 더 포함하는 모바일 환경에서의 리소스 다운로드 시스템.
The method of claim 10,
An upload unit that compresses the resource in units of files and uploads them to a corresponding server
Resource download system in a mobile environment further comprising a.
KR1020170026150A 2017-02-28 2017-02-28 Method and system for downloading the resource in a mobile environment KR102250378B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170026150A KR102250378B1 (en) 2017-02-28 2017-02-28 Method and system for downloading the resource in a mobile environment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170026150A KR102250378B1 (en) 2017-02-28 2017-02-28 Method and system for downloading the resource in a mobile environment

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150113695A Division KR101713114B1 (en) 2015-08-12 2015-08-12 Method and system for downloading the resource in a mobile environment

Publications (2)

Publication Number Publication Date
KR20170027331A KR20170027331A (en) 2017-03-09
KR102250378B1 true KR102250378B1 (en) 2021-05-12

Family

ID=58402839

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170026150A KR102250378B1 (en) 2017-02-28 2017-02-28 Method and system for downloading the resource in a mobile environment

Country Status (1)

Country Link
KR (1) KR102250378B1 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050072554A (en) * 2004-01-07 2005-07-12 주식회사 엑스씨이 Web-based system and method for automatically forming mobile contents program from contents resources
KR101070967B1 (en) * 2005-01-13 2011-10-06 에스케이 텔레콤주식회사 Wipi contents download system and method thereof
KR20070000867A (en) * 2005-06-28 2007-01-03 케이티하이텔 주식회사 Apparatus and method for providing update file, and apparatus and method for downloading update file using the same
US7814234B2 (en) * 2006-10-30 2010-10-12 Microsoft Corporation Offline execution of web based applications
US8386621B2 (en) * 2010-03-12 2013-02-26 Netflix, Inc. Parallel streaming

Also Published As

Publication number Publication date
KR20170027331A (en) 2017-03-09

Similar Documents

Publication Publication Date Title
US11438253B2 (en) Method and system for implementing high availability (HA) web application firewall (WAF) functionality
CN109525624B (en) Container login method and device and storage medium
US9602599B2 (en) Coordinating application migration processes
EP3454213B1 (en) Function library build architecture for serverless execution frameworks
EP3276488B1 (en) Deployment system for multi-node applications
WO2013158783A1 (en) Methods and apparatuses for remote application provisioning automation over virtualized it infrastructure
US11700262B2 (en) System and method to securely execute datacenter management operations remotely
KR102056960B1 (en) Updating software components through online stores
US11232405B2 (en) Computer readable storage media for dynamic service deployment and methods and systems for utilizing same
CN103595770B (en) Method and device for achieving file downloading through SDK
CN112035228A (en) Resource scheduling method and device
CN108733496A (en) Event-handling method and device
CN103595769B (en) Method and device for achieving file uploading through SDK
US20200167215A1 (en) Method and System for Implementing an Application Programming Interface Automation Platform
KR102250378B1 (en) Method and system for downloading the resource in a mobile environment
KR101713114B1 (en) Method and system for downloading the resource in a mobile environment
CN111352810A (en) Performance monitoring method and device based on multiple processes and computing equipment
CN113721930A (en) Method, apparatus, device, medium and program product for deploying application program
KR102443301B1 (en) Adaptive data processing system for processing various data and method thereof
US20160308991A1 (en) Analytics system architecture
CN113760305A (en) Continuous integration method and device
CN113722084A (en) Data processing method and device, electronic equipment and computer storage medium
CN111427621A (en) Network monitoring method and device based on plug-in, computing equipment and storage medium
US20140189076A1 (en) Configuration of computer systems via simple object access protocol connections
KR20160127407A (en) Method for operating different version of web applications, server and system

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant