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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 230000004044 response Effects 0.000 claims abstract description 17
- 238000004590 computer program Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction 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.
Description
아래의 설명은 모바일 환경에서 다운로드의 속도를 향상시키기 위한 기술에 관한 것이다.
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-
하지만 종래의 리소스 다운로드 시스템은 싱글 스레드를 기반으로 복수의 리소스의 다운로드를 수행하는데 있어서, 하나의 리소스에 대하여 다운로드를 완료한 이후에, 다른 리소스의 다운로드를 수행해야 한다는 불편함이 있다. 또한, 종래의 리소스 다운로드 시스템은 싱글 스레드를 기반으로 리소스의 다운로드를 수행할 경우, 서버에 접속하기 위한 대기 시간, 접속 후 요청 응답 시간, 파일 기록 시간 등으로 인하여 네트워크 자원이 비효율적으로 사용하게 된다는 문제점이 존재한다. 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
네트워크(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
모바일 단말(210)은 스마트폰(smart phone), 태블릿(tablet), 웨어러블 컴퓨터(wearable computer) 등과 같이 휴대성이 있는 기기로서, 리소스 다운로드 시스템(200)과 관련된 모바일 사이트의 접속 또는 서비스 전용 어플리케이션의 설치 및 실행이 가능한 모든 단말 장치를 의미할 수 있다. 이때, 모바일 단말(210)은 모바일 사이트 또는 전용 어플리케이션의 제어 하에 서비스 화면 구성, 데이터 입력, 데이터 송수신, 데이터 저장 등 서비스 전반의 동작을 수행할 수 있다.The
리소스 다운로드 시스템(200)은 다운로드 서비스를 제공하는 다운로드 플랫폼 상에 구현될 수 있으며, 다운로드 서비스를 이용하는 클라이언트(client)인 모바일 단말(210)을 대상으로 리소스의 다운로드를 수행하는 환경을 제공할 수 있다. The
리소스 다운로드 시스템(200)은 다운로드 서비스를 제공하는 다운로드 서버(미도시)의 플랫폼에 포함되는 형태로 구현될 수 있고, 이에 한정되는 것은 아니며 다운로드 서버와 별개의 시스템으로 구축되어 다운로드 서버와의 연동을 통해 리소스를 다운로드하는 형태로 구현되는 것 또한 가능하다. The
리소스 다운로드 시스템(200)은 적어도 일부의 구성 요소가 모바일 단말(210) 상에 설치되는 어플리케이션 형태로 구현되거나, 혹은 클라이언트-서버 환경에서 서비스를 제공하는 플랫폼에 포함되는 형태로 구현되는 것 또한 가능하다.The
도 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
Unity Plugin(310)은 유니티 개발을 위한 플러그인으로서, 브릿지 모듈을 통해 연결될 수 있다. The
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
Core Library(330)는 C++로 작성된 라이브러리로서, http Connection을 관리할 수 있다. Core Library(330)는 File Pack과 Unpack을 수행할 수 있다. The
일 실시예에 따른 리소스 다운로드 시스템은 플랫폼에 제한없이 모바일 단말에서 사용할 수 있다. 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
감지부(410)는 모바일 단말로부터 적어도 하나의 서버에 접속을 시도함을 감지할 수 있다. 감지부(410)는 스레드를 기반으로 서버에 대응하는 리소스의 다운로드를 수행하는 중에 또 다른 서버의 접속을 감지할 수 있다.The
실행부(420)는 서버에 접속을 시도함에 응답하여 멀티 스레드(Multi-Thread)를 기반으로 각각의 스레드를 실행시킬 수 있다. The
다운로드부(430)는 각각의 스레드에 기초하여 서버에 대응하는 리소스의 다운로드를 수행함에 따라 파일 단위로 압축된 리소스를 언패킹할 수 있다. 다운로드부(430)는 각각의 스레드를 기반으로 서버로 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하여 파일 단위로 압축된 리소스에 대하여 다운로드를 수행할 수 있다. As the
다운로드부(430)는 파일 단위로 압축된 리소스에 대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다. 다운로드부(430)는 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. The
도 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
모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버에 접속 및 패치 정보를 요청할 수 있고(631), 서버(620)로부터 패치 파일 정보를 수신할 수 있다(632). 이때, 모바일 단말(610)은 수신된 패치 파일 정보를 분석할 수 있다(633). The
모바일 단말(610)은 서버(620)에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 각각의 스레드를 실행시킬 수 있다. 예를 들면, 모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버(620)에 접속할 수 있고, 모바일 단말(610)은 제1 스레드(630)를 실행시킬 수 있다. 이때, 모바일 단말은 운영체제에서 스레드를 제어하기 때문에 스레드가 자동으로 스케줄링될 수 있다. The
모바일 단말(610)은 제1 스레드(630)를 기반으로 서버(620)로 리소스를 요청할 수 있고(634), 서버(620)로부터 파일 단위로 압축된 리소스를 수신할 수 있다(635). 모바일 단말(610)은 파일 단위로 압축된 리소스를 다운로드를 수행할 수 있다(636). 이때, 모바일 단말(610)은 파일 단위로 압축된 리소스에 대하여 다운로드를 수행함으로써 다운로드에 소요되는 시간을 최소화시킬 수 있다. 모바일 단말(610)은 파일 단위로 압축된 리소스에 대하여 다운로드가 완료됨에 따라 리소스를 언패킹하여 스토리지에 기록할 수 있다.The
또한, 모바일 단말(610)은 어플리케이션의 다운로드를 수행하는 중에, 또 다른 어플리케이션의 다운로드를 수행하기 위하여 또 다른 서버에 접속을 시도할 수 있다. 모바일 단말(610)은 서버(620)에 접속을 시도함에 응답하여 멀티 스레드를 기반으로 각각의 스레드를 실행시킬 수 있다. 예를 들면, 모바일 단말(610)은 어플리케이션을 다운로드하기 위하여 서버(620)에 접속할 수 있고, 모바일 단말(610)은 제2 스레드를 실행시킬 수 있다. 리소스 다운로드 시스템은 접속을 시도한 서버순으로 각각의 스레드를 병렬적으로 동작시킴으로써 멀티 스레드를 기반으로 서버와 관련된 리소스를 다운로드할 수 있다. In addition, while downloading an application, the
리소스 다운로드 시스템은 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하기 때문에 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입할 수 있다. 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)
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(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.
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법. 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.
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(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.
상기 각각의 스레드에 기초하여 상기 서버에 대응하는 리소스의 다운로드를 수행하는 단계는,
상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입하는 단계
를 포함하는 모바일 환경에서의 리소스 다운로드 방법.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.
상기 각각의 스레드(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.
상기 명령은,
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(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.
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(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.
모바일 단말의 각각의 사용자에 의해 서로 상이한 시간에 적어도 하나의 서버에 접속을 시도함에 응답하여 멀티 스레드(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.
상기 다운로드부는,
상기 각각의 스레드를 기반으로 상기 접속을 시도한 서버순으로 상기 서버에 대응하는 리소스를 요청함에 따라 파일 단위로 압축된 리소스를 수신하는
것을 특징으로 하는 모바일 환경에서의 리소스 다운로드 시스템.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.
상기 다운로드부는,
상기 서버에 대응하는 리소스의 다운로드가 완료됨에 따라 상기 파일 단위로 압축된 리소스를 언패킹(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.
상기 다운로드부는,
상기 각각의 스레드에서 수행되는 리소스에 대한 다운로드의 속도가 각각 상이하고, 상기 다운로드가 완료된 스레드가 우선적으로 휴면 상태로 진입하는
것을 특징으로 하는 모바일 환경에서의 리소스 다운로드 시스템.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.
상기 리소스를 파일 단위로 압축하여 대응하는 서버로 업로드하는 업로드부
를 더 포함하는 모바일 환경에서의 리소스 다운로드 시스템.
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.
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)
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 |
-
2017
- 2017-02-28 KR KR1020170026150A patent/KR102250378B1/en active IP Right Grant
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 |