KR102092948B1 - Server for managing resource of application and user device - Google Patents

Server for managing resource of application and user device Download PDF

Info

Publication number
KR102092948B1
KR102092948B1 KR1020170117770A KR20170117770A KR102092948B1 KR 102092948 B1 KR102092948 B1 KR 102092948B1 KR 1020170117770 A KR1020170117770 A KR 1020170117770A KR 20170117770 A KR20170117770 A KR 20170117770A KR 102092948 B1 KR102092948 B1 KR 102092948B1
Authority
KR
South Korea
Prior art keywords
resource
user terminal
app
status information
management server
Prior art date
Application number
KR1020170117770A
Other languages
Korean (ko)
Other versions
KR20190030385A (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 KR1020170117770A priority Critical patent/KR102092948B1/en
Publication of KR20190030385A publication Critical patent/KR20190030385A/en
Application granted granted Critical
Publication of KR102092948B1 publication Critical patent/KR102092948B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • H04L67/16
    • H04L67/2823
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Abstract

앱의 리소스를 관리하는 서버는 사용자 단말에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신하는 리소스 사용 현황 정보 수신부, 상기 사용자 단말이 비정상 종료된 경우, 상기 사용자 단말로부터 상기 사용자 단말의 상태 정보를 수신하는 상태 정보 수신부, 상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 상기 비정상 종료의 원인을 판단하는 판단부, 상기 판단된 원인에 기초하여 상기 복수의 앱 중 적어도 하나의 앱을 도출하고, 상기 도출된 앱에 대해 오류를 수정하는 오류 수정부 및 상기 오류가 수정된 앱의 리소스 패키지를 상기 사용자 단말로 배포하는 배포부를 포함한다. The server for managing the resource of the app is a resource usage information receiving unit for receiving resource usage status information for a plurality of apps driven by the user terminal, and when the user terminal is abnormally terminated, status information of the user terminal from the user terminal A status information receiving unit for receiving, a determination unit for determining the cause of the abnormal termination based on the resource usage status information and the status information, deriving at least one app from the plurality of apps based on the determined cause, And an error correction unit for correcting an error for the derived app and a distribution unit for distributing the resource package of the error corrected app to the user terminal.

Description

앱의 리소스를 관리하는 서버 및 사용자 단말{SERVER FOR MANAGING RESOURCE OF APPLICATION AND USER DEVICE}Server and user terminal that manages the resource of the app {SERVER FOR MANAGING RESOURCE OF APPLICATION AND USER DEVICE}

본 발명은 앱의 리소스를 관리하는 서버 및 사용자 단말에 관한 것이다. The present invention relates to a server and a user terminal that manages resources of an app.

지능형 개인 비서는 사용자가 요구하는 작업을 처리하고, 사용자에게 특화된 서비스를 제공하는 소프트웨어 에이전트이다. 지능형 개인 비서는 인공 지능(AI) 엔진과 음성 인식을 기반으로 사용자에게 맞춤 정보를 수집하여 제공하고, 사용자의 음성 명령에 따라 일정 관리, 이메일 전송, 식당 예약 등 여러 기능을 수행하는 점에서 사용자의 편의성을 향상시키는 장점을 갖는다. The intelligent personal assistant is a software agent that handles the tasks required by the user and provides specialized services to the user. The intelligent personal assistant collects and provides personalized information to the user based on the artificial intelligence (AI) engine and speech recognition, and performs various functions such as scheduling, emailing, and restaurant reservation according to the user's voice commands. It has the advantage of improving convenience.

이러한 지능형 개인 비서는 주로 스마트폰에서 맞춤형 개인 서비스로 제공되고 있으며, 대표적으로 애플의 시리(siri), 구글의 나우(now), 삼성의 S 보이스 등이 이에 포함된다. 이와 관련하여, 선행기술인 한국공개특허 제 2016-0071111호는 전자 장치에서의 개인 비서 서비스 제공 방법을 개시하고 있다. These intelligent personal assistants are mainly provided as personalized personal services on smartphones, and typically include Siri from Apple, Now from Google, and S Voice from Samsung. In this regard, Korean Patent Publication No. 2016-0071111, which is a prior art, discloses a method for providing a personal assistant service in an electronic device.

최근에는 캐릭터가 적용된 지능형 개인 비서가 제공되고 있다. 그러나 캐릭터가 적용된 지능형 개인 비서는 앱의 빌드(Build) 시, 캐릭터와 관련된 리소스 패키지를 모두 포함시킨 후, 빌드하여 배포되는 방식으로 제공되고 있다. 이로 인해, 리소스의 교체가 필요하는 경우, 실시간 대응이 불가능하고, 새로운 캐릭터를 이용한 서비스를 제공하고자 하는 경우, 앱을 재배포 해야하기 때문에 다양한 서비스를 제공하기가 어렵다. Recently, an intelligent personal assistant to which a character is applied has been provided. However, the intelligent personal assistant to which the character is applied is provided in a way that the app builds and distributes after including all resource packages related to the character when building the app. For this reason, when resource replacement is required, real-time response is impossible, and in order to provide a service using a new character, it is difficult to provide various services because the app must be redistributed.

사용자 단말의 한정된 메모리 상에서 제공중인 캐릭터 리소스 패키지를 원격으로 실시간 제어할 수 있는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공하고자 한다. 앱에서 오류가 발생된 경우, 새로운 앱을 재배포하지 않고, 원격으로 새로운 리소스 패키지를 단말에 적용시킬 수 있도록 하는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공하고자 한다. 사용자의 기호에 따라 여러 가지 기능의 앱 또는 서비스가 동시에 이용됨에 따라, 실제 사용할 수 있는 메모리 이상을 사용하여 발생되는 문제를 즉각적으로 대응할 수 있는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공하고자 한다. 다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다. It is intended to provide a server and a user terminal that manage resources of an app that can remotely control a character resource package being provided on a limited memory of a user terminal in real time. If an error occurs in the app, it is intended to provide a server and a user terminal that manages the resource of the app so that the new resource package can be applied to the terminal remotely without redeploying the new app. It is intended to provide a server and a user terminal that manages the resources of an app that can immediately respond to problems caused by using more than the available memory, as apps or services of various functions are used simultaneously according to the user's preference. . However, the technical problems to be achieved by the present embodiment are not limited to the technical problems as described above, and other technical problems may exist.

상술한 기술적 과제를 달성하기 위한 수단으로서, 본 발명의 일 실시예는, 사용자 단말에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신하는 리소스 사용 현황 정보 수신부, 상기 사용자 단말로부터 상기 사용자 단말의 상태 정보를 수신하는 상태 정보 수신부, 상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 상기 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행하는 최적화 수행부 및 상기 최적화 작업이 수행된 리소스 패키지를 상기 사용자 단말로 배포하는 배포부를 포함하는 리소스 관리 서버를 제공할 수 있다. As a means for achieving the above technical problem, an embodiment of the present invention, a resource usage status information receiving unit for receiving resource usage status information for a plurality of apps running on the user terminal, the user terminal from the user terminal The user receives the status information receiving unit receiving the status information, an optimization performing unit performing an optimization operation on the resource package of the plurality of apps based on the resource usage status information and the status information, and the resource package on which the optimization operation has been performed. It is possible to provide a resource management server including a distribution unit distributed to a terminal.

본 발명의 다른 실시예는, 리소스 관리 서버로 사용자 단말에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 전송하는 리소스 사용 현황 정보 전송부, 상기 리소스 관리 서버로 상기 사용자 단말의 상태 정보를 전송하는 상태 정보 전송부, 상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 최적화 작업이 수행된 상기 복수의 앱의 리소스 패키지를 상기 리소스 관리 서버로부터 배포받는 것인 사용자 단말을 제공할 수 있다. According to another embodiment of the present invention, a resource usage status information transmitting unit for transmitting resource usage status information for a plurality of apps running in a user terminal to a resource management server, and transmitting status information of the user terminal to the resource management server It is possible to provide a user terminal that receives a resource package of the plurality of apps on which optimization is performed based on the status information transmission unit, the resource usage status information, and the status information, from the resource management server.

상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.The above-described problem solving means are merely exemplary and should not be construed as limiting the present invention. In addition to the exemplary embodiments described above, there may be additional embodiments described in the drawings and detailed description of the invention.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 사용자 단말의 한정된 메모리 상에서 제공중인 캐릭터 리소스 패키지를 원격으로 실시간 제어할 수 있는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공할 수 있다. 앱에서 오류가 발생된 경우, 새로운 앱을 재배포 하지 않고, 원격으로 새로운 리소스 패키지를 단말에 적용시킬 수 있도록 하는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공할 수 있다. 사용자의 기호에 따라 여러 가지 기능의 앱 또는 서비스가 동시에 이용됨에 따라, 실제 사용할 수 있는 메모리 이상을 사용하여 발생되는 문제를 즉각적으로 대응할 수 있는 앱의 리소스를 관리하는 서버 및 사용자 단말을 제공할 수 있다. According to any one of the above-described problem solving means of the present invention, it is possible to provide a server and a user terminal that manage resources of an app that can remotely and real-time control a character resource package being provided on a limited memory of the user terminal. When an error occurs in the app, it is possible to provide a server and a user terminal that manages the resource of the app to remotely apply the new resource package to the terminal without redistributing the new app. As apps or services of various functions are used at the same time according to the user's preference, it is possible to provide a server and a user terminal that manage resources of the app that can immediately respond to problems caused by using more than the available memory. have.

도 1은 본 발명의 일 실시예에 따른 리소스 관리 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다.
도 3은 본 발명의 일 실시예에 따른 사용자 단말에서 리소스 사용 현황 정보를 전송하는 방법의 순서도이다.
도 4는 본 발명의 일 실시예에 따른 사용자 단말에서 상태 정보를 전송하는 방법의 순서도이다.
도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 리소스 관리 서버에 의해 앱의 리소스를 관리받는 방법의 순서도이다.
도 6은 본 발명의 일 실시예에 따른 리소스 관리 서버의 구성도이다.
도 7은 본 발명의 일 실시예에 따른 리소스 관리 서버에서 앱의 리소스를 관리하는 방법의 순서도이다.
도 8은 본 발명의 일 실시예에 따른 리소스 관리 시스템에서 사용자 단말의 리소스 사용 현황 정보 및 상태 정보에 기초하여 오류가 수정된 앱의 리소스 패키지를 배포하는 과정을 도시한 동작 흐름도이다.
1 is a configuration diagram of a resource management system according to an embodiment of the present invention.
2 is a configuration diagram of a user terminal according to an embodiment of the present invention.
3 is a flowchart of a method of transmitting resource usage status information in a user terminal according to an embodiment of the present invention.
4 is a flowchart of a method for transmitting status information in a user terminal according to an embodiment of the present invention.
5 is a flowchart of a method of managing an app resource by a resource management server in a user terminal according to an embodiment of the present invention.
6 is a configuration diagram of a resource management server according to an embodiment of the present invention.
7 is a flowchart of a method for managing a resource of an app in a resource management server according to an embodiment of the present invention.
8 is an operation flowchart illustrating a process of distributing a resource package of an error-corrected app based on resource usage status information and status information of a user terminal in a resource management system according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art to which the present invention pertains can easily practice. However, the present invention can be implemented in many different forms and is not limited to the embodiments described herein. In addition, in order to clearly describe the present invention in the drawings, parts irrelevant to the description are omitted, and like reference numerals are assigned to similar parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . Also, when a part is said to “include” a certain component, it means that the component may further include other components, not to exclude other components, unless otherwise stated. However, it should be understood that the existence or addition possibilities of numbers, steps, actions, components, parts or combinations thereof are not excluded in advance.

본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.In the present specification, the term “unit” includes a unit realized by hardware, a unit realized by software, and a unit realized by using both. Further, one unit may be realized by using two or more hardware, and two or more units may be realized by one hardware.

본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.Some of the operations or functions described in this specification as being performed by a terminal or device may be performed instead on a server connected to the corresponding terminal or device. Similarly, some of the operations or functions described as being performed by the server may be performed in a terminal or device connected to the corresponding server.

이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 리소스 관리 시스템의 구성도이다. 도 1을 참조하면, 리소스 관리 시스템(1)은 사용자 단말(110) 및 리소스 관리 서버(120)를 포함할 수 있다. 사용자 단말(110) 및 리소스 관리 서버(120)는 리소스 관리 시스템(1)에 의하여 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다. 1 is a configuration diagram of a resource management system according to an embodiment of the present invention. Referring to FIG. 1, the resource management system 1 may include a user terminal 110 and a resource management server 120. The user terminal 110 and the resource management server 120 exemplarily show components that can be controlled by the resource management system 1.

도 1의 리소스 관리 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 사용자 단말(110)은 리소스 관리 서버(120)와 동시에 또는 시간 간격을 두고 연결될 수 있다. Each component of the resource management system 1 in FIG. 1 is generally connected through a network. For example, as illustrated in FIG. 1, the user terminal 110 may be connected to the resource management server 120 simultaneously or at a time interval.

네트워크는 단말들 및 서버들과 같은 각각의 노드 상호간에 정보교환이 가능한 연결구조를 의미하는 것으로, 이러한 네트워크의 일예는, 3G, 4G, 5G, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network) 등이 포함되나 이에 한정되지는 않는다.The network means a connection structure capable of exchanging information between each node such as terminals and servers, and an example of such a network is 3G, 4G, 5G, Wi-Fi, Bluetooth, and the Internet. , Local Area Network (LAN), Wireless Local Area Network (LAN), Wide Area Network (WAN), Personal Area Network (PAN), and the like.

사용자 단말(110)은 리소스 관리 서버(120)로 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 전송할 수 있다. 또한, 사용자 단말(110)은 리소스 관리 서버(120)로 사용자 단말(110)의 상태 정보를 전송할 수 있다. The user terminal 110 may transmit resource usage status information for a plurality of apps driven by the user terminal 110 to the resource management server 120. Also, the user terminal 110 may transmit status information of the user terminal 110 to the resource management server 120.

리소스 사용 현황 정보는 사용자 단말(110)에서 실행 중인 복수의 앱이 어떻게 사용되고 있는지에 대한 정보를 포함할 수 있다. 예를 들어, 리소스 사용 현황 정보는 어떠한 앱이 실행되었는지, 해당 앱이 어떤 요청을 받았는지, 해당 앱이 어떤 응답으로 처리하였는지 등과 같이 사용자 단말(110)에서 실행 중인 각 앱과 관련하여 기록되는 로그 정보를 포함할 수 있다.Resource usage status information may include information on how a plurality of apps running on the user terminal 110 are being used. For example, resource usage information is a log recorded in relation to each app running on the user terminal 110, such as which app was executed, what request the app received, and what response the app processed. Information may be included.

리소스 패키지는 각 앱을 실행하는데 필요한 데이터를 포함할 수 있다. 예를 들어, 리소스 패지키는 앱을 실행에 필요한 웹 코드, 이미지, 음성 파일, 애니매이션을 위한 동영상 파일 등을 포함할 수 있다. 또한, 리소스 패키지는 오류가 수정된 앱과 관련하여 업데이트된 데이터를 더 포함할 수 있다. The resource package may contain data necessary to run each app. For example, the resource package may include web code, images, voice files, video files for animation, etc. required to run the app. In addition, the resource package may further include updated data related to an error-corrected app.

사용자 단말(110)은 리소스 사용 현황 정보 및 상태 정보에 기초하여 최적화 작업이 수행된 복수의 앱의 리소스 패키지를 리소스 관리 서버(120)로부터 배포받을 수 있다. The user terminal 110 may receive resource packages of a plurality of apps on which optimization is performed based on resource usage status information and status information from the resource management server 120.

사용자 단말(110)은 사용자 단말(110)이 비정상 종료된 경우, 리소스 관리 서버(120)로 리소스 사용 현황 정보를 전송할 수 있다. When the user terminal 110 is abnormally terminated, the user terminal 110 may transmit resource usage status information to the resource management server 120.

예를 들어, 사용자 단말(110)이 비정상 종료된 경우, 리소스 관리 서버(120)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 비정상 종료의 원인을 판단하고, 판단된 원인에 기초하여 복수의 앱 중 적어도 하나의 앱을 도출하고, 도출된 앱에 대해 오류를 수정하면, 사용자 단말(110)은 오류가 수정된 앱의 리소스 패키지를 리소스 관리 서버(120)로부터 배포받을 수 있다. For example, when the user terminal 110 is abnormally terminated, the resource management server 120 determines the cause of the abnormal termination based on resource usage status information and status information, and among the plurality of apps based on the determined cause When deriving at least one app and correcting an error with respect to the derived app, the user terminal 110 may receive a resource package of the error-corrected app from the resource management server 120.

다른 예를 들어, 리소스 관리 서버(120)에 의해 판단된 비정상 종료의 원인이 복수의 앱 중 어느 하나의 앱에 대한 프로그래밍 오류이고, 해당 앱에 대한 프로그래밍 오류가 수정되면, 사용자 단말(110)은 오류가 수정된 앱을 리소스 관리 서버(120)로부터 재배포받을 수 있다. For another example, if the cause of abnormal termination determined by the resource management server 120 is a programming error for one of a plurality of apps, and the programming error for the app is corrected, the user terminal 110 The error-corrected app may be redistributed from the resource management server 120.

또 다른 예를 들어, 리소스 관리 서버(120)에 의해 판단된 비정상 종료의 원인이 복수의 앱 중 어느 하나의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 구동된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 리소스 관리 서버(120)에 의해 리소스 패키지를 수정하기 위한 명령어가 생성되면, 사용자 단말(110)은 리소스 패키지를 수정하기 위해 생성된 명령어를 리소스 관리 서버(120)로부터 수신할 수 있다.For another example, when the cause of abnormal termination determined by the resource management server 120 is an error generated by exceeding a predetermined memory usage of the user terminal 110 by driving any one of a plurality of apps, When a command for modifying a resource package is generated by the resource management server 120 according to whether the resource package of the driven app has been updated, the user terminal 110 uses the command generated to modify the resource package. It can be received from (120).

리소스 관리 서버(120)는 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신할 수 있다. 예를 들어, 리소스 관리 서버(120)는 사용자 단말(110)에 앱이 최초로 설치되어 부팅되는 경우 또는 사용자 단말에서 앱이 구동되는 경우 리소스 사용 현황 정보를 수신할 수 있다. 이러한 리소스 사용 현황 정보는 예를 들어, 사용자 단말(110)의 메모리에 상주하고 있는 앱에 대한 리소스 사용 현황 정보 및 사용자로부터 실행을 요청받은 시에 로딩되는 앱에 대한 리소스 사용 현황 정보를 포함할 수 있다. The resource management server 120 may receive resource usage status information for a plurality of apps driven by the user terminal 110. For example, the resource management server 120 may receive resource usage status information when an app is first installed and booted on the user terminal 110 or when an app is driven on the user terminal. Such resource usage information may include, for example, resource usage information for an app residing in the memory of the user terminal 110 and resource usage information for an app loaded when an execution request is received from a user. have.

리소스 관리 서버(120)는 사용자 단말(110)로부터 사용자 단말(110)의 상태 정보를 수신할 수 있다. 또한, 리소스 관리 서버(120)는 사용자 단말(110)이 비정상 종료된 경우, 사용자 단말(110)로부터 사용자 단말(110)의 상태 정보를 더 수신할 수 있다. 상태 정보는 예를 들어, 도출된 앱에 대한 호출 기록 정보, 사용자 단말(110)의 메모리 사용량, CPU 사용량 등을 포함할 수 있다. The resource management server 120 may receive status information of the user terminal 110 from the user terminal 110. In addition, when the user terminal 110 is abnormally terminated, the resource management server 120 may further receive status information of the user terminal 110 from the user terminal 110. The status information may include, for example, call history information for the derived app, memory usage of the user terminal 110, CPU usage, and the like.

리소스 관리 서버(120)는 사용자 단말(110)이 비정상 종료된 경우, 리소스 사용 현황 정보 및 상태 정보에 기초하여 비정상 종료의 원인을 판단할 수 있다. When the user terminal 110 is abnormally terminated, the resource management server 120 may determine the cause of the abnormal termination based on resource usage status information and status information.

리소스 관리 서버(120)는 판단된 원인에 기초하여 복수의 앱 중 적어도 하나의 앱을 도출하고, 도출된 앱에 대해 오류를 수정할 수 있다. 예를 들어, 리소스 관리 서버(120)는 판단된 원인이 도출된 앱에 대한 프로그래밍 오류인 경우, 도출된 앱에 대한 프로그래밍 오류를 수정할 수 있다. 다른 예를 들어, 리소스 관리 서버(120)는 판단된 원인이 도출된 앱의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 리소스 패키지를 수정하기 위한 명령어를 생성할 수 있다. 또 다른 예를 들어, 리소스 관리 서버(120)는 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되어 있는 경우, 갱신된 리소스 패키지를 삭제 및 이전 버전으로 복원하도록 하는 명령어를 생성할 수 있다. 또는, 리소스 관리 서버(120)는 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되어 있지 않은 경우, 도출된 앱의 리소스 패키지를 최적화 작업이 수행된 리소스 패키지로 교체하도록 하는 명령어를 생성할 수 있다. The resource management server 120 may derive at least one app among a plurality of apps based on the determined cause, and correct an error for the derived app. For example, if the determined cause is a programming error for the derived app, the resource management server 120 may correct the programming error for the derived app. For another example, the resource management server 120 is derived from the user terminal 110 when the determined cause is an error caused by exceeding a preset memory usage of the user terminal 110 by driving the derived app. Depending on whether the app's resource package has been updated, a command for modifying the resource package can be generated. For another example, the resource management server 120 may generate a command to delete and restore the updated resource package to the previous version when the resource package of the app derived on the user terminal 110 is updated. . Alternatively, the resource management server 120 may generate a command to replace the resource package of the derived app with the resource package on which the optimization operation has been performed, when the resource package of the derived app is not updated in the user terminal 110. You can.

리소스 관리 서버(120)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 구체적으로, 리소스 관리 서버(120)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 도출된 앱의 리소스 패키지에 대한 최적화 작업을 더 수행할 수 있다. 예를 들어, 리소스 관리 서버(120)는 명령어에 의해 사용자 단말(110)에서 도출된 앱에 의해 제공되는 서비스가 정상화되는 경우, 도출된 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 다른 예를 들어, 리소스 관리 서버(120)는 복수의 앱의 버전 갱신에 따라 각각 증가하는 사용자 단말(110)의 메모리 사용량에 기초하여 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 또 다른 예를 들어, 리소스 관리 서버(120)는 도출된 앱의 구동 중에 수행되는 불필요하게 반복되는 절차 및 불필요하게 추가되는 절차에 대해 최적화 작업을 수행할 수 있다. 또 다른 예를 들어, 리소스 관리 서버(120)는 도출된 앱의 구동 중에 출력될 적어도 하나의 객체를 각 객체의 이벤트 성향에 따라 그룹화하여 렌더링에 대한 최적화 작업을 수행할 수 있다. 또 다른 예를 들어, 리소스 관리 서버(120)는 도출된 앱의 구동 중에 출력될 음원이 압축되어 배포되었는지 여부에 기초하여 음원의 사이즈를 재조절하도록 하는 최적화 작업을 수행할 수 있다. The resource management server 120 may perform optimization for resource packages of a plurality of apps based on resource usage information and status information. Specifically, the resource management server 120 may further perform an optimization operation on the resource package of the app derived based on resource usage status information and status information. For example, when the service provided by the app derived from the user terminal 110 is normalized by the command, the resource management server 120 may perform optimization for the derived app's resource package. For another example, the resource management server 120 may perform an optimization operation for a resource package of a plurality of apps based on the memory usage of the user terminal 110, which increases with each version update of the plurality of apps. For another example, the resource management server 120 may perform optimization operations on unnecessary and repeated procedures and unnecessary additional procedures performed while driving the derived app. For another example, the resource management server 120 may perform rendering optimization by grouping at least one object to be output during driving of the derived app according to the event propensity of each object. For another example, the resource management server 120 may perform an optimization operation to resize the sound source based on whether the sound source to be output during compression of the derived app is compressed and distributed.

리소스 관리 서버(120)는 최적화 작업이 수행된 리소스 패키지를 사용자 단말(110)로 배포할 수 있다. 또한, 리소스 관리 서버(120)는 오류가 수정된 앱의 리소스 패키지를 사용자 단말(110)로 배포할 수 있다. 예를 들어, 판단된 원인이 도출된 앱에 대한 프로그래밍 오류인 경우, 리소스 관리 서버(120)는 도출된 앱에 대한 프로그래밍 오류를 수정하고, 수정된 앱을 사용자 단말(110)로 재배포할 수 있다. 다른 예를 들어, 판단된 원인이 도출된 앱의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 리소스 관리 서버(120)는 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 리소스 패키지를 수정하기 위한 명령어가 생성하여, 생성된 명령어를 사용자 단말(110)로 전송할 수 있다. The resource management server 120 may distribute the resource package on which the optimization operation has been performed to the user terminal 110. In addition, the resource management server 120 may distribute the resource package of the error-corrected app to the user terminal 110. For example, if the determined cause is a programming error for the derived app, the resource management server 120 may correct the programming error for the derived app and redistribute the modified app to the user terminal 110. . For another example, when the determined cause is an error generated by exceeding a preset memory usage of the user terminal 110 by driving the derived app, the resource management server 120 is derived from the user terminal 110 A command for modifying the resource package is generated according to whether the app's resource package has been updated, and the generated command may be transmitted to the user terminal 110.

리소스 관리 서버(120)는 사용자 단말(110)로부터 사용자 단말(110)의 고유 식별자를 수신하고, 고유 식별자에 기초하여 도출된 지역 코드를 기반으로 오류가 수정된 앱의 리소스 패키지를 배포할 수 있다. The resource management server 120 may receive a unique identifier of the user terminal 110 from the user terminal 110 and distribute a resource package of an error-corrected app based on a region code derived based on the unique identifier. .

도 2는 본 발명의 일 실시예에 따른 사용자 단말의 구성도이다. 도 2를 참조하면, 사용자 단말(110)은 리소스 사용 현황 정보 전송부(210), 상태 정보 전송부(220) 및 배포부(230)를 포함할 수 있다. 2 is a configuration diagram of a user terminal according to an embodiment of the present invention. Referring to FIG. 2, the user terminal 110 may include a resource usage status information transmission unit 210, a status information transmission unit 220, and a distribution unit 230.

리소스 사용 현황 정보 전송부(210)는 리소스 관리 서버(120)로 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 전송할 수 있다. 또한, 리소스 사용 현황 정보 전송부(210)는 사용자 단말(110)이 비정상 종료된 경우, 리소스 관리 서버(120)로 리소스 사용 현황 정보를 전송할 수 있다. 예를 들어, 리소스 사용 현황 정보 전송부(210)는 새로운 리소스 패키지가 사용자 단말(110)에 적용되거나, 또는 새로운 리소스 패키지의 적용으로 인해 기존의 리소스 패키지가 삭제된 경우, 리소스 관리 서버(120)에 저장된 리소스 사용 현황 정보와 싱크(sync)를 맞추도록 하기 위해 해당 앱에 대한 리소스 사용 현황 정보를 전송할 수 있다. The resource usage status information transmitting unit 210 may transmit resource usage status information for a plurality of apps driven by the user terminal 110 to the resource management server 120. In addition, when the user terminal 110 is abnormally terminated, the resource usage status information transmitting unit 210 may transmit resource usage status information to the resource management server 120. For example, the resource usage information transmission unit 210, when a new resource package is applied to the user terminal 110, or the existing resource package is deleted due to the application of the new resource package, the resource management server 120 In order to synchronize the resource usage information stored in the sync with the resource usage information for the corresponding app may be transmitted.

상태 정보 전송부(220)는 리소스 관리 서버(120)로 사용자 단말(110)의 상태 정보를 전송할 수 있다. 또한, 상태 정보 전송부(220)는 반복 타이머에 의해 주기적으로 상태 정보를 전송할 수 있으며, 사용자 단말(110)에서 메모리의 사용량이 임계값 이상 이용되는 경우, 상태 정보를 전송할 수도 있다. The status information transmitting unit 220 may transmit status information of the user terminal 110 to the resource management server 120. In addition, the status information transmitting unit 220 may periodically transmit status information by a repetitive timer, and when the usage amount of the memory is used above a threshold value in the user terminal 110, it may also transmit status information.

배포부(230)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 최적화 작업이 수행된 복수의 앱의 리소스 패키지를 리소스 관리 서버(120)로부터 배포받을 수 있다. The distribution unit 230 may receive resource packages of a plurality of apps on which optimization is performed based on resource usage information and status information from the resource management server 120.

예를 들어, 리소스 관리 서버(120)에 의해 비정상 종료의 원인이 리소스 사용 현황 정보 및 상태 정보에 기초하여 판단되고, 도출된 앱에 대한 오류가 수정되면, 배포부(230)는 오류가 수정된 앱의 리소스 패키지를 리소스 관리 서버(120)로부터 배포받을 수 있다. For example, when the cause of abnormal termination is determined based on resource usage information and status information by the resource management server 120, and an error of the derived app is corrected, the distribution unit 230 corrects the error The resource package of the app may be distributed from the resource management server 120.

다른 예를 들어, 리소스 관리 서버(120)에 의해 판단된 원인이 복수의 앱 중어느 하나의 앱에 대한 프로그래밍 오류이고, 해당 앱에 대한 프로그래밍 오류가 수정되면, 배포부(230)는 프로그래밍 오류가 수정된 앱을 리소스 관리 서버(120)로부터 재배포받을 수 있다. For another example, if the cause determined by the resource management server 120 is a programming error for any one of a plurality of apps, and the programming error for the app is corrected, the distribution unit 230 has a programming error. The modified app may be redistributed from the resource management server 120.

또 다른 예를 들어, 리소스 관리 서버(120)에 의해 판단된 비정상 종료의 원인이 복수의 앱 중 어느 하나의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류이고, 구동된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 리소스 패키지를 수정하기 위한 명령어가 생성되면, 배포부(230)는 생성된 명령어를 리소스 관리 서버(120)로부터 수신할 수 있다. For another example, the cause of abnormal termination determined by the resource management server 120 is an error generated by exceeding a predetermined memory usage of the user terminal 110 by driving any one of a plurality of apps, and driving When a command for modifying the resource package is generated according to whether the resource package of the updated app has been updated, the distribution unit 230 may receive the generated command from the resource management server 120.

도 3은 본 발명의 일 실시예에 따른 사용자 단말에서 리소스 사용 현황 정보를 서버로 전송하는 방법의 순서도이다. 도 3을 참조하면, 사용자 단말(110)은 사용자 단말(110)에서 사용 중인 리소스 사용 현황 정보를 리소스 관리 서버(120)로 전송할 수 있다. 3 is a flowchart of a method for transmitting resource usage status information to a server in a user terminal according to an embodiment of the present invention. Referring to FIG. 3, the user terminal 110 may transmit resource usage status information being used by the user terminal 110 to the resource management server 120.

사용자 단말(110)은 초기 앱 설치 후 부팅 시, 또는, 앱 시작 시, 단말에서 사용 중인 리소스 사용 현황 정보를 준비하고(S310), 준비된 리소스 사용 현황 정보 및 단말의 ID를 리소스 관리 서버(120)로 전달할 수 있다(S320). 이 때, 사용자 단말(110)은 리소스 사용 현황 정보를 런타임에 항상 로딩되는 리스트와 필요시에만 로딩되는 리스트를 구분하여 전달할 수 있다. 리소스 관리 서버(120)는 사용자 단말(110)의 고유번호에 기초하여 사용자 단말(110)로부터 수신한 리소스 사용 현황 정보를 관리할 수 있다(S330). The user terminal 110 prepares resource usage information being used in the terminal at boot time after the initial app installation, or when the app starts (S310), and provides the prepared resource usage information and the ID of the terminal to the resource management server 120 It can be delivered to (S320). At this time, the user terminal 110 may transmit the resource usage status information to the list that is always loaded at runtime and the list that is loaded only when necessary. The resource management server 120 may manage resource usage status information received from the user terminal 110 based on the unique number of the user terminal 110 (S330).

이 때, 사용자 단말(110)과 리소스 관리 서버(120) 간의 네트워크 오류로 인해 리소스 사용 현황 정보의 전달이 실패된 경우(S340), 사용자 단말(110)은 예를 들어, 리소스 사용 현황 정보의 전달이 성공했는지 또는 실패했는지 여부와 같은 정보 전달 결과값을 데이터베이스를 통해 관리할 수 있다(S350). 네트워크 오류는 예를 들어, 사용자 단말(110)과 리소스 관리 서버(120) 간의 연결이 되지 않은 경우, 서버의 미응답 등을 포함할 수 있다. At this time, when the transmission of resource usage information is failed due to a network error between the user terminal 110 and the resource management server 120 (S340), the user terminal 110, for example, transmits resource usage information The result of information transmission, such as whether or not this was successful or unsuccessful, may be managed through a database (S350). The network error may include, for example, when the connection between the user terminal 110 and the resource management server 120 is not established, the server does not respond.

일 실시예에 따르면, 네트워크 오류가 사용자 단말(110)과 리소스 관리 서버(120) 간의 연결이 되지 않아 발생된 경우, 사용자 단말(110)은 리소스 관리 서버(120)로부터 네트워크 연결 이벤트를 수신한 후, 리소스 관리 서버(120)로 재전송할 수 있다(S360). According to an embodiment, when a network error occurs due to a failure in the connection between the user terminal 110 and the resource management server 120, the user terminal 110 receives a network connection event from the resource management server 120 , It can be retransmitted to the resource management server 120 (S360).

다른 실시예에 따르면, 네트워크 오류가 리소스 관리 서버(120)의 미응답인 경우, 사용자 단말(110)은 리소스 사용 현황 정보의 전달을 소정의 횟수(예를 들어, 3번)만큼 재시도한 후 실패 시, 특정 시간 이후에 재전송을 시도하거나, 새로운 리소스 처리 요청(예를 들어, 삭제 요청 또는 삭제 및 재시도 요청)이 리소스 관리 서버(120)로부터 수신하면(S370), 해당 리소스 처리 전 리소스 관리 서버(120)와 리소스 사용 현황 정보의 체크를 시도할 수 있다(S380). According to another embodiment, when the network error is a non-response of the resource management server 120, the user terminal 110 fails after retrying the transmission of resource usage status information a predetermined number of times (for example, 3 times) At the time, when a retransmission is attempted after a certain time, or a new resource processing request (for example, a deletion request or a deletion and retry request) is received from the resource management server 120 (S370), the resource management server before processing the resource At 120, resource usage status information may be checked (S380).

그 외의 경우, 사용자 단말(110)은 새로운 리소스 사용 현황 정보가 업데이트 될 때마다 리소스 사용 현황 정보를 리소스 관리 서버(120)로 전송할 수 있다. In other cases, the user terminal 110 may transmit resource usage information to the resource management server 120 whenever new resource usage information is updated.

상술한 설명에서, 단계 S310 내지 S380은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S310 to S380 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 4는 본 발명의 일 실시예에 따른 사용자 단말에서 상태 정보를 전송하는 방법의 순서도이다. 도 4를 참조하면, 사용자 단말(110)은 앱을 실행시킨 후, 반복 타이머를 설정하고(S410), 사용자 단말(110)의 메모리 임계값 체크를 위한 알림을 설정할 수 있다. 4 is a flowchart of a method for transmitting status information in a user terminal according to an embodiment of the present invention. Referring to FIG. 4, after the user terminal 110 executes the app, a repeat timer is set (S410), and a notification for checking the memory threshold value of the user terminal 110 can be set.

반복 타이머가 설정되면(S410), 사용자 단말(110)은 반복 타이머가 만료되었는지 여부를 확인할 수 있다(S420). 예를 들어, 반복 타이머가 만료되지 않으면(S421), 사용자 단말(110)은 반복 타이머를 설정하는 단계로 되돌아가고, 반복 타이머가 만료되면(S422), 반복 타이머의 만료 시점에서 사용자 단말(110)이 실행 중인 앱의 리소스 사용 현황 정보, 각 앱의 메모리 사용량 및 CPU 사용량 등을 리소스 관리 서버(120)로 전송할 수 있다. 여기서, 실행 중인 앱의 리스트, 각 앱의 메모리 사용량 및 CPU 사용량은 사용자 단말(110)과 유사한 단말의 상태에 대한 통계 및 향후 문제 발생 가능성에 대한 사전 예측 및 대응을 위한 정보로 이용될 수 있다. When the repetition timer is set (S410), the user terminal 110 may check whether the repetition timer has expired (S420). For example, if the repetition timer does not expire (S421), the user terminal 110 returns to the step of setting the repetition timer, and when the repetition timer expires (S422), the user terminal 110 at the time of expiration of the repetition timer Resource usage information of the running app, memory usage of each app, and CPU usage may be transmitted to the resource management server 120. Here, the list of running apps, the memory usage and the CPU usage of each app may be used as statistics for the state of the terminal similar to the user terminal 110 and information for proactive prediction and response to the possibility of problems in the future.

사용자 단말(110)은 반복 타이머가 만료되면(S422), 메모리 임계치 초과 여부를 판단할 수 있다(S430). 예를 들어, 메모리 임계치가 초과되지 않으면(S431), 사용자 단말(110)은 반복 타이머를 설정하는 단계로 되돌아가고, 메모리 임계치가 초과되면(S432), 사용자 단말(110)은 메모리 임계치가 도달되었다는 알림을 수신하게 되며, 사용자 단말(110)의 상태 정보를 리소스 관리 서버(120)로 전송할 수 있다. 사용자 단말(110)은 리소스 관리 서버(120)에서 메모리에 최적화된 리소스 패키지 준비, 특정 문제와 관련된 리소스 패키지 삭제에 대한 의사 결정 등과 같은 대응 방안을 사전에 준비할 수 있도록 상태 정보를 제공할 수 있다. When the repetition timer expires (S422), the user terminal 110 may determine whether the memory threshold is exceeded (S430). For example, if the memory threshold is not exceeded (S431), the user terminal 110 returns to the step of setting a repetition timer, and when the memory threshold is exceeded (S432), the user terminal 110 indicates that the memory threshold has been reached. The notification is received, and the status information of the user terminal 110 may be transmitted to the resource management server 120. The user terminal 110 may provide status information so that the resource management server 120 can prepare a countermeasure, such as preparing a memory-optimized resource package and determining a resource package deletion related to a specific problem in advance. .

사용자 단말(110)은 메모리 임계치가 초과되면(S432), 단말 이상 현상의 발생 여부를 판단할 수 있다(S440). 예를 들어, 단말 이상 현상이 발생되지 않으면(S441), 사용자 단말(110)은 반복 타이머를 설정하는 단계로 되돌아가고, 단말 이상 현상이 발생되면(S442), 사용자 단말(110)의 상태 정보를 리소스 관리 서버(120)로 전송할 수 있다(S450). 사용자 단말(110)은 메모리의 임계치 초과 사용 또는 사용자 단말(110)의 단말 상태 이상에 의해 앱이 비정상 종료된 경우, 사용자 단말(110)의 상태 정보를 리소스 관리 서버(120)로 전송함으로써, 리소스 관리 서버(120)에서 기존의 리소스 패키지의 즉시 삭제 또는 최적화될 리소스 패키지를 결정하여 기존의 리소스 패키지를 일괄 삭제할 수 있도록 하는 정보를 제공하고, 사용자 단말(110)에서 앱이 비정상 종료된 원인을 정확히 파악할 수 있도록 하는 정보를 제공할 수 있다. When the memory threshold is exceeded (S432), the user terminal 110 may determine whether a terminal abnormality occurs (S440). For example, if the terminal abnormality does not occur (S441), the user terminal 110 returns to the step of setting the repeat timer, and when the terminal abnormality occurs (S442), the status information of the user terminal 110 It can be transmitted to the resource management server 120 (S450). When the app is abnormally terminated due to the use of a threshold exceeded in memory or the terminal status of the user terminal 110, the user terminal 110 transmits the status information of the user terminal 110 to the resource management server 120, thereby making the resource The management server 120 provides information to immediately delete the existing resource package or to determine the resource package to be optimized to delete the existing resource package in bulk, and accurately identifies the cause of the abnormal termination of the app in the user terminal 110. You can provide information to help you understand.

상술한 설명에서, 단계 S410 내지 S450은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S410 to S450 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 5는 본 발명의 일 실시예에 따른 사용자 단말에서 리소스 관리 서버에 의해 앱의 리소스를 관리받는 방법의 순서도이다. 도 5에 도시된 사용자 단말(110)에 의해 수행되는 리소스 관리 서버(120)에 의해 앱의 리소스를 관리받는 방법은 도 1 내지 도 4에 도시된 실시예에 따른 리소스 관리 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 4에 도시된 실시예에 따른 사용자 단말(110)에 의해 수행되는 리소스 관리 서버(120)에 의해 앱의 리소스를 관리받는 방법에도 적용된다. 5 is a flowchart of a method of managing an app resource by a resource management server in a user terminal according to an embodiment of the present invention. The method of receiving the resource of the app by the resource management server 120 performed by the user terminal 110 shown in FIG. 5 is a clock in the resource management system 1 according to the embodiment shown in FIGS. 1 to 4 And thermally treated steps. Therefore, even if it is omitted below, it is also applied to a method of managing resources of an app by the resource management server 120 performed by the user terminal 110 according to the embodiment illustrated in FIGS. 1 to 4.

단계 S510에서 사용자 단말(110)은 리소스 관리 서버(120)로 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 전송할 수 있다. In step S510, the user terminal 110 may transmit resource usage status information for a plurality of apps driven by the user terminal 110 to the resource management server 120.

단계 S520에서 사용자 단말(110)은 리소스 관리 서버(120)로 사용자 단말(110)의 상태 정보를 전송할 수 있다. In step S520, the user terminal 110 may transmit the status information of the user terminal 110 to the resource management server 120.

단계 S530에서 사용자 단말(110)은 리소스 사용 현황 정보 및 상태 정보에 기초하여 최적화 작업이 수행된 복수의 앱의 리소스 패키지를 리소스 관리 서버(120)로부터 배포받을 수 있다. In step S530, the user terminal 110 may receive resource packages of a plurality of apps on which optimization is performed based on resource usage status information and status information from the resource management server 120.

상술한 설명에서, 단계 S510 내지 S530은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S510 to S530 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 6은 본 발명의 일 실시예에 따른 리소스 관리 서버의 구성도이다. 도 6을 참조하면, 리소스 관리 서버(120)는 리소스 사용 현황 정보 수신부(610), 상태 정보 수신부(620), 판단부(630), 오류 수정부(640), 최적화 수행부(650) 및 배포부(660)를 포함할 수 있다. 6 is a configuration diagram of a resource management server according to an embodiment of the present invention. Referring to FIG. 6, the resource management server 120 includes a resource usage information receiving unit 610, a status information receiving unit 620, a determination unit 630, an error correction unit 640, an optimization performing unit 650, and distribution. It may include a portion 660.

리소스 사용 현황 정보 수신부(610)는 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신할 수 있다. 예를 들어, 리소스 사용 현황 정보 수신부(610)는 사용자 단말(110)에 앱이 최초로 설치되어 부팅되는 경우 또는 사용자 단말에서 앱이 구동되는 경우 리소스 사용 현황 정보를 수신할 수 있다. 리소스 사용 현황 정보는 사용자 단말(110)의 메모리에 상주하고 있는 앱에 대한 리소스 사용 현황 정보 및 사용자로부터 실행을 요청받은 시에 로딩되는 리소스 사용 현황 정보를 포함할 수 있다. The resource usage status information receiving unit 610 may receive resource usage status information for a plurality of apps driven by the user terminal 110. For example, the resource usage information receiving unit 610 may receive resource usage status information when an app is first installed and booted on the user terminal 110 or when an app is driven on the user terminal. The resource usage information may include resource usage information for an app residing in the memory of the user terminal 110 and resource usage information loaded when an execution request is received from the user.

리소스 사용 현황 정보 수신부(610)는 사용자 단말(110)의 고유 식별자를 수신할 수 있다. 사용자 단말(110)의 고유 식별자는 예를 들어, 사용자 단말(110)에게 부여된 ID일 수 있다. The resource usage status information receiving unit 610 may receive a unique identifier of the user terminal 110. The unique identifier of the user terminal 110 may be, for example, an ID assigned to the user terminal 110.

상태 정보 수신부(620)는 사용자 단말(110)로부터 사용자 단말(110)의 상태 정보를 수신할 수 있다. 상태 정보는 예를 들어, 도출된 앱에 대한 호출 기록 정보, 사용자 단말(110)의 메모리 사용량, CPU 사용량 등을 포함할 수 있다.The status information receiving unit 620 may receive status information of the user terminal 110 from the user terminal 110. The status information may include, for example, call history information for the derived app, memory usage of the user terminal 110, CPU usage, and the like.

판단부(630)는 사용자 단말(110)이 비정상 종료된 경우, 리소스 사용 현황 정보 및 상태 정보에 기초하여 비정상 종료의 원인을 판단할 수 있다. 예를 들어, 판단부(630)는 리소스 사용 현황 정보 및 Callstack, 메모리, CPU 등의 상태 정보에 기초하여 사용자 단말(110)이 어떠한 기능을 수행 중에 비정상 종료된 것이며, 해당 비정상 종료의 원인이 프로그래밍 오류인지, 또는 메모리 사용량 초과에 의한 것인지를 판단할 수 있다. When the user terminal 110 is abnormally terminated, the determination unit 630 may determine the cause of the abnormal termination based on resource usage status information and status information. For example, the determination unit 630 is abnormally terminated while the user terminal 110 performs a certain function based on resource usage information and status information such as Callstack, memory, and CPU, and the cause of the abnormal termination is programming It can be determined whether it is an error or an excessive memory usage.

오류 수정부(640)는 판단된 원인에 기초하여 복수의 앱 중 적어도 하나의 앱을 도출하고, 도출된 앱에 대해 오류를 수정할 수 있다. The error correction unit 640 may derive at least one app among a plurality of apps based on the determined cause, and correct the error with respect to the derived app.

예를 들어, 오류 수정부(640)는 판단된 원인이 도출된 앱에 대한 프로그래밍 오류인 경우, 도출된 앱에 대한 프로그래밍 오류를 수정할 수 있다. For example, when the determined cause is a programming error for the derived app, the error correction unit 640 may correct the programming error for the derived app.

다른 예를 들어, 오류 수정부(640)는 판단된 원인이 도출된 앱의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 사용자 단말(110)이 어떤 리소스를 사용 중이었는지를 추측할 수 있으므로, 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 리소스 패키지를 수정하기 위한 명령어를 생성할 수 있다. 예를 들어, 오류 수정부(640)는 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되어 있는 경우, 갱신된 리소스 패키지를 삭제 및 이전 버전으로 복원하도록 하는 명령어를 생성할 수 있다. 다른 예를 들어, 오류 수정부(640)는 사용자 단말(110)에 도출된 앱의 리소스 패키지가 갱신되어 있지 않은 경우, 최근 메모리 임계값 정보에 기초하여 도출된 앱의 리소스 패키지를 최적화 작업이 수행된 리소스 패키지로 교체하도록 하는 명령어를 생성할 수 있다. For another example, the error corrector 640 is an error that occurs when the determined cause is exceeded a predetermined memory usage of the user terminal 110 by the driving of the app from which the determined cause, the user terminal 110 is a resource Since it is possible to guess whether or not in use, a command for modifying the resource package may be generated according to whether the resource package of the app derived to the user terminal 110 has been updated. For example, the error correction unit 640 may generate a command to delete and restore the updated resource package to the previous version when the resource package of the app derived on the user terminal 110 is updated. For another example, if the resource package of the app derived in the user terminal 110 is not updated, the error correction unit 640 optimizes the resource package of the app derived based on the recent memory threshold information. You can create a command to replace the resource package.

최적화 수행부(650)는 사용자 단말(110)의 메모리 사용량과 관련하여 사용자 단말(110)에서 구동되는 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 또한, 최적화 수행부(650)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 도출된 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 최적화 작업은 특정 앱이 사용자 단말(110)의 메모리 사용량 및 CPU 사용량에 관계하여 무리 없이 실행될 수 있도록 해당 앱의 리소스 패키지에 포함된 데이터 중 일부를 수정/삭제하는 작업을 의미할 수 있다. 또한, 최적화 작업은 프로그램 오류가 발생된 앱의 리소스 패키지에 대해 프로그램 오류가 수정되도록 하는 작업을 의미할 수 있다.The optimization performing unit 650 may perform optimization for resource packages of a plurality of apps driven by the user terminal 110 in relation to the memory usage of the user terminal 110. In addition, the optimization performing unit 650 may perform an optimization operation on a resource package of an app derived based on resource usage status information and status information. The optimization operation may mean an operation of modifying / deleting some of the data included in the resource package of the app so that a specific app can be executed without difficulty in relation to the memory usage and CPU usage of the user terminal 110. Also, the optimization operation may refer to an operation in which a program error is corrected for a resource package of an app in which a program error occurs.

최적화 수행부(650)는 오류 수정부(640)에서 생성된 명령어에 의해 사용자 단말(110)에서 도출된 앱에 의해 제공되는 서비스가 정상화 되는 경우, 도출된 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 예를 들어, 최적화 수행부(650)는 최적화가 필요한 부분을 찾은 뒤, 가장 최근에 반영된 리소스에 대해 우선적으로 최적화 작업을 수행할 수 있다. 여기서, 도출된 앱의 리소스 패키지는 도출된 앱과 관련하여 사용자 단말(110)의 메모리에 상주하고 있는 리소스에 대한 제 1 리소스 패키지 및 도출된 앱의 구동에 따라 필요 시에 로딩되는 제 2 리소스 패키지를 포함할 수 있다. 구체적으로, 최적화 수행부(650)는 제 1 리소스 패키지 및 제 2 리소스 패키지를 구분하여 최적화 작업을 수행할 수 있다.When the service provided by the app derived from the user terminal 110 is normalized by the command generated by the error correction unit 640, the optimization performing unit 650 performs an optimization operation on the derived resource package of the app. can do. For example, after the optimization performing unit 650 finds a portion that requires optimization, it may preferentially perform optimization on the most recently reflected resource. Here, the resource package of the derived app is a first resource package for a resource residing in the memory of the user terminal 110 in connection with the derived app, and a second resource package that is loaded when needed according to the driving of the derived app It may include. Specifically, the optimization performing unit 650 may perform optimization by classifying the first resource package and the second resource package.

최적화 수행부(650)는 복수의 앱의 버전 갱신에 따라 각각 증가하는 사용자 단말(110)의 메모리 사용량에 기초하여 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 예를 들어, 최적화 수행부(650)는 사용자 단말(110) 별로 앱별 메모리 사용 가이드(예를 들어, 최대 사용 권장치)를 사용하고 있는지를 확인하고, 이전 버전에 비해 사용되는 메모리의 증가폭이 큰 앱의 리소스 패키지부터 최적화 작업을 수행할 수 있다. 최적화 수행부(650)는 리소스 패키지별 메모리 최적화 작업을 수행하기 위해, 전체적인 메모리 프로파일링을 기능별로 수행하여 가장 많이 드로우 콜(Draw Call)이 발생되는 부분을 순서대로 나열할 수 있다. 드로우 콜은 CPU에서 그래픽 API 호출을 통해 GPU에 렌더링을 명령하는 것을 말한다. 최적화 수행부(650)는 드로우 콜이 가장 많이 발생되는 부분이 순서대로 나열되면, 순서별로 객체별 이미지 리소스를 체크할 수 있다. 예를 들어, 최적화 수행부(650)는 객체별 이미지 리소스의 체크를 위해, 이미지가 'Power of 2 사이즈'로 제작되었는지, 화면에 보이지 않는 부분까지 사용하는지, 어떤 텍스쳐가 메모리를 많이 사용하고 있는지를 체크할 수 있다. The optimization performing unit 650 may optimize the resource package of the plurality of apps based on the memory usage of the user terminal 110, which increases with each version update of the plurality of apps. For example, the optimization performing unit 650 checks whether a memory usage guide for each app is used for each user terminal 110 (for example, a maximum usage recommendation value), and the increase in memory used is larger than that of the previous version. Optimization can be performed from the app's resource package. The optimization performing unit 650 may perform overall memory profiling for each function in order to perform memory optimization for each resource package, and may sequentially list the parts in which draw calls occur most. The draw call refers to the CPU instructing the GPU to render through a graphics API call. The optimization performing unit 650 may check the image resource for each object in order if the parts in which the draw call occurs most are listed in order. For example, in order to check the image resource for each object, the optimization performer 650 checks whether the image is made of 'Power of 2 size', uses an invisible part of the screen, and which texture uses a lot of memory. You can check

최적화 수행부(650)는 도출된 앱의 구동 중에 수행되는 불필요하게 반복되는 절차 및 불필요하게 추가되는 절차에 대해 최적화 작업을 수행할 수 있다. The optimization performing unit 650 may perform an optimization operation on an unnecessarily repeated procedure and an unnecessarily added procedure performed while driving the derived app.

이를 위해, 최적화 수행부(650)는 도출된 앱의 구동 중에 출력될 적어도 하나의 객체를 각 객체의 이벤트 성향에 따라 그룹화하여 렌더링에 대한 최적화 작업을 수행할 수 있다. 예를 들어, 최적화 수행부(650)는 같은 위치에 리드로우(Redraw)하는 오브젝트들을 모아 레이어 별로 통합한 후, 드로우 콜(Draw Call)이 발생하는 오버드로우(overdraw)의 횟수를 최적화 시킨 후, 새롭게 추가된 오버레이(overlay) 방식을 확인하여 불필요한 오버레이를 제거할 수 있다. 이 때, 최적화 수행부(650)는 고해상도로 표시하지 않아도 되는 부분에 대해 저해상도로 변경할 수 있는 부분이 없는지를 확인한 후 해상도를 변경할 수 있다. 예를 들어, 최적화 수행부(650)는 애니메이션 파일의 경우, 애니메이션 파일이 필요 이상의 프레임을 사용하고 있는지를 확인하고, 파일의 사이즈가 큰 경우, 일부 프레임을 제거하여 파일의 사이즈를 최소화하는 최적화 작업을 수행할 수 있다. 다른 예를 들어, 최적화 수행부(650)는 도출된 앱의 구동 중에 출력될 음원이 압축되어 배포되었는지 여부에 기초하여 음원의 사이즈를 재조절하도록 하는 최적화 작업을 수행할 수 있다. To this end, the optimization performing unit 650 may perform rendering optimization by grouping at least one object to be output during driving of the derived app according to the event propensity of each object. For example, the optimization performing unit 650 collects objects that are redrawed at the same location and consolidates them for each layer, and then optimizes the number of overdraws in which draw calls occur. Unnecessary overlays can be removed by checking the newly added overlay method. At this time, the optimization performing unit 650 may change the resolution after confirming that there is no part that can be changed to a low resolution with respect to a portion that does not need to be displayed at a high resolution. For example, the optimization performing unit 650 checks whether the animation file is using more frames than necessary in the case of an animation file, and if the file size is large, optimizes to minimize the file size by removing some frames You can do For another example, the optimization performing unit 650 may perform an optimization operation to resize the sound source based on whether the sound source to be output during compression of the derived app is compressed and distributed.

배포부(660)는 최적화 작업이 수행된 리소스 패키지를 사용자 단말(110)로 배포할 수 있다. 구체적으로, 배포부(660)는 오류가 수정된 앱의 리소스 패키지를 사용자 단말(110)로 배포할 수 있다. The distribution unit 660 may distribute the resource package on which the optimization operation has been performed to the user terminal 110. Specifically, the distribution unit 660 may distribute the resource package of the error-corrected app to the user terminal 110.

예를 들어, 오류 수정부(640)에서 프로그래밍 오류가 발생된 앱을 도출하고 도출된 앱의 도출된 프로그래밍 오류를 수정하면, 배포부(660)는 프로그래밍 오류가 수정된 앱의 리소스 패키지를 사용자 단말(110)로 재배포할 수 있다. For example, if the error correcting unit 640 derives an app having a programming error and corrects the derived programming error of the derived app, the distribution unit 660 displays the resource package of the app in which the programming error has been corrected by the user terminal. (110) can be redistributed.

다른 예를 들어, 오류 수정부(640)에서 앱의 구동에 의해 사용자 단말(110)의 기설정된 메모리 사용량을 초과하여 발생된 오류에 대해 리소스 패키지의 수정을 위한 명령어를 생성하면, 배포부(660)는 생성된 명령어를 사용자 단말(110)로 전송할 수 있다.For another example, when the error correcting unit 640 generates a command for modifying a resource package for an error generated by exceeding a preset memory usage of the user terminal 110 by driving the app, the distribution unit 660 ) May transmit the generated command to the user terminal 110.

배포부(660)는 사용자 단말(110)의 고유 식별자에 기초하여 도출된 지역 코드를 기반으로 오류가 수정된 앱의 리소스 패키지를 배포할 수 있다. The distribution unit 660 may distribute the resource package of the error-corrected app based on the region code derived based on the unique identifier of the user terminal 110.

도 7은 본 발명의 일 실시예에 따른 리소스 관리 서버에서 앱의 리소스를 관리하는 방법의 순서도이다. 도 7에 도시된 리소스 관리 서버(120)에 의해 앱의 리소스를 관리하는 방법은 도 1 내지 도 6에 도시된 실시예에 따른 리소스 관리 시스템(1)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하 생략된 내용이라고 하더라도 도 1 내지 도 6에 도시된 실시예에 따른 리소스 관리 서버(120)에 의해 수행되는 앱의 리소스를 관리하는 방법에도 적용된다. 7 is a flowchart of a method for managing a resource of an app in a resource management server according to an embodiment of the present invention. The method of managing the resource of the app by the resource management server 120 shown in FIG. 7 includes steps performed in time series in the resource management system 1 according to the embodiment shown in FIGS. 1 to 6. Therefore, even if it is omitted below, it is also applied to a method of managing resources of an app performed by the resource management server 120 according to the embodiment illustrated in FIGS. 1 to 6.

단계 S710에서 리소스 관리 서버(120)는 사용자 단말(110)에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신할 수 있다. In step S710, the resource management server 120 may receive resource usage status information for a plurality of apps driven by the user terminal 110.

단계 S720에서 리소스 관리 서버(120)는 사용자 단말(110)로부터 사용자 단말(110)의 상태 정보를 수신할 수 있다. In step S720, the resource management server 120 may receive status information of the user terminal 110 from the user terminal 110.

단계 S730에서 리소스 관리 서버(120)는 리소스 사용 현황 정보 및 상태 정보에 기초하여 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행할 수 있다. 단계 S740에서 리소스 관리 서버(120)는 최적화 작업이 수행된 리소스 패키지를 사용자 단말(110)로 배포할 수 있다. In step S730, the resource management server 120 may perform optimization for resource packages of a plurality of apps based on resource usage status information and status information. In step S740, the resource management server 120 may distribute the resource package on which the optimization operation has been performed to the user terminal 110.

상술한 설명에서, 단계 S710 내지 S750은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S710 to S750 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. In addition, some steps may be omitted if necessary, and the order between the steps may be switched.

도 8은 본 발명의 일 실시예에 따른 리소스 관리 시스템에서 사용자 단말의 리소스 사용 현황 정보 및 상태 정보에 기초하여 오류가 수정된 앱의 리소스 패키지를 배포하는 과정을 도시한 동작 흐름도이다. 8 is an operation flowchart illustrating a process of distributing a resource package of an app in which an error is corrected based on resource usage status information and status information of a user terminal in a resource management system according to an embodiment of the present invention.

도 8을 참조하면, 리소스 관리 시스템(1)은 사용자 단말(110) 및 리소스 관리 서버(120)를 포함할 수 있다. Referring to FIG. 8, the resource management system 1 may include a user terminal 110 and a resource management server 120.

사용자 단말(110)은 리소스 사용 현황 정보 및 상태 정보를 리소스 관리 서버(120)로 전송할 수 있다(S810). The user terminal 110 may transmit resource usage status information and status information to the resource management server 120 (S810).

리소스 관리 서버(120)는 사용자 단말(110)로부터 수신한 리소스 사용 현황 정보 및 상태 정보에 기초하여 최적화 작업이 수행된 패키지로 교체하도록 하는 명령어를 생성할 수 있다(S820). 예를 들어, 리소스 관리 서버(120)는 사용자 단말(110)의 고유 식별자(ID)에 기초하여 사용자 단말(110)에서 사용 중인 앱의 버전을 판단하고, 판단된 앱 버전을 통해 배포시 사용되는 지역코드에 기초하여 해당 버전의 앱이 배포된 지역을 파악할 수 있으며, 도출된 앱에 대한 리소스를 수정해야 하는 지역의 리스트를 판단할 수 있다. 이 때, 사용자 단말(110)은 리소스에 대한 삭제 또는 삭제 후 새로운 리소스 패키지의 다운로드가 필요한 경우에 대비하여, 리소스와 관련된 작업의 수행 준비를 할 수 있다. The resource management server 120 may generate a command to replace the package with the optimization operation based on resource usage status information and status information received from the user terminal 110 (S820). For example, the resource management server 120 determines the version of the app being used in the user terminal 110 based on the unique identifier (ID) of the user terminal 110, and is used when distributing through the determined app version Based on the region code, the region in which the corresponding version of the app is distributed can be identified, and a list of regions in which resources for the derived app need to be modified can be determined. In this case, the user terminal 110 may prepare to perform a resource-related operation in preparation for a case in which a new resource package is downloaded after deletion or deletion of the resource.

리소스 관리 서버(120)는 리소스 사용 현황 정보에 기초하여 특정 리소스의 삭제 또는 삭제 후 재적용이 필요한 경우, 리소스의 삭제 및 재적용을 사용자 단말(110)로 요청할 수 있다(S830). 이 때, 리소스 관리 서버(120)는 삭제 후 재적용이 필요한 경우, 다운받을 리소스 패키지의 경로 및 앱 버전을 사용자 단말(110)로 함께 전송할 수 있다.The resource management server 120 may request the user terminal 110 to delete and reapply the resource, if it is necessary to delete or delete the specific resource based on the resource usage information (S830). In this case, the resource management server 120 may transmit the path and the app version of the resource package to be downloaded together to the user terminal 110 when re-application is required after deletion.

사용자 단말(110)은 리소스 관리 서버(120)의 명령에 따라 특정 리소스의 삭제 또는 삭제 후 재적용이 선택되면, 해당 리소스를 삭제할 수 있다(S840). 예를 들어, 사용자 단말(110)은 리소스 관리 서버(120)로부터 전달받은 명령에 기초하여 앱의 버전을 체크한 후, 리소스를 삭제만 할 것인지, 또는 삭제 후 새로운 리소스 패키지를 요청할 것인지를 판단할 수 있다.When the user terminal 110 deletes or deletes a specific resource according to the command of the resource management server 120 and reapply is selected, the user terminal 110 may delete the corresponding resource (S840). For example, the user terminal 110 checks the version of the app based on the command received from the resource management server 120, and then determines whether to delete the resource only or request a new resource package after deletion. You can.

리소스 관리 서버(120)는 오류가 수정된 리소스 패키지를 사용자 단말(110)로 배포할 수 있다(S850).The resource management server 120 may distribute the error corrected resource package to the user terminal 110 (S850).

사용자 단말(110)은 배포받은 리소스를 재적용 및 리로딩을 수행할 수 있다(S860). The user terminal 110 may reapply and reload the distributed resource (S860).

사용자 단말(110)은 리소스 사용 현황 정보를 업데이트하고, 업데이트된 리소스 사용 현황 정보를 리소스 관리 서버(120)로 전송할 수 있다(S870). The user terminal 110 may update the resource usage information and transmit the updated resource usage information to the resource management server 120 (S870).

리소스 관리 서버(120)는 사용자 단말(110)로부터 수신한 리소스 사용 현황 정보를 업데이트하여 사용자 단말(110)의 리소스 사용 현황 정보와 싱크(sync)를 맞출 수 있다(S880). The resource management server 120 may update the resource usage status information received from the user terminal 110 to synchronize with the resource usage status information of the user terminal 110 (S880).

상술한 설명에서, 단계 S810 내지 S880은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 전환될 수도 있다.In the above description, steps S810 to S880 may be further divided into additional steps or combined into fewer steps, according to an embodiment of the present invention. Also, some steps may be omitted if necessary, and the order between the steps may be switched.

도 1 내지 도 8을 통해 설명된 리소스 관리 서버에서 앱의 리소스를 관리하는 방법 및 사용자 단말에서 리소스 관리 서버에 의해 앱의 리소스를 관리받는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램 또는 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 또한, 도 1 내지 도 8을 통해 설명된 리소스 관리 서버에서 앱의 리소스를 관리하는 방법 및 사용자 단말에서 리소스 관리 서버에 의해 앱의 리소스를 관리받는 방법은 컴퓨터에 의해 실행되는 매체에 저장된 컴퓨터 프로그램의 형태로도 구현될 수 있다. The method of managing the resource of the app in the resource management server described with reference to FIGS. 1 to 8 and the method of receiving the resource of the app by the resource management server in the user terminal include a computer program or computer stored in a medium executed by the computer. It may also be embodied in the form of a recording medium that includes executable instructions. In addition, the method of managing the resource of the app in the resource management server described with reference to FIGS. 1 to 8 and the method of receiving the resource of the app by the resource management server in the user terminal of the computer program stored in the medium executed by the computer It can also be implemented in form.

컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, computer readable media may include computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다. The above description of the present invention is for illustration only, and those of ordinary skill in the art to which the present invention pertains can understand that it can be easily modified into other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are illustrative in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is indicated by the following claims rather than the above detailed description, and it should be interpreted that all changes or modified forms derived from the meaning and scope of the claims and equivalent concepts thereof are included in the scope of the present invention. do.

110: 사용자 단말
120: 리소스 관리 서버
210: 리소스 사용 현황 정보 전송부
220: 상태 정보 전송부
230: 배포부
610: 리소스 사용 현황 정보 수신부
620: 상태 정보 수신부
630: 판단부
640: 오류 수정부
650: 배포부
660: 최적화 수행부
110: user terminal
120: resource management server
210: resource usage information transmission unit
220: status information transmission unit
230: distribution
610: resource usage information receiving unit
620: status information receiving unit
630: judgment unit
640: Correction of errors
650: distribution
660: optimization performing unit

Claims (20)

앱의 리소스를 관리하는 서버에 있어서,
사용자 단말에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 수신하는 리소스 사용 현황 정보 수신부;
상기 사용자 단말로부터 상기 사용자 단말의 상태 정보를 수신하는 상태 정보 수신부;
상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 상기 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행하는 최적화 수행부; 및
상기 최적화 작업이 수행된 리소스 패키지를 상기 사용자 단말로 배포하는 배포부
를 포함하되,
상기 사용자 단말이 비정상 종료된 경우, 상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 상기 비정상 종료의 원인을 판단하는 판단부; 및
상기 판단된 원인에 기초하여 상기 복수의 앱 중 적어도 하나의 앱을 도출하고, 상기 도출된 앱에 대해 오류를 수정하는 오류 수정부
를 더 포함하는 것인, 리소스 관리 서버.
In the server that manages the resources of the app,
A resource usage status information receiving unit for receiving resource usage status information for a plurality of apps driven by a user terminal;
A status information receiving unit receiving status information of the user terminal from the user terminal;
An optimization performing unit performing an optimization operation on a resource package of the plurality of apps based on the resource usage status information and the status information; And
Distribution unit for distributing the resource package on which the optimization is performed to the user terminal
Including,
When the user terminal is abnormally terminated, a determination unit for determining the cause of the abnormal termination based on the resource usage status information and the status information; And
Error correction for deriving at least one of the plurality of apps based on the determined cause and correcting an error for the derived app
It further comprises, a resource management server.
제 1 항에 있어서,
상기 상태 정보 수신부는 상기 사용자 단말이 비정상 종료된 경우, 상기 사용자 단말로부터 상기 사용자 단말의 상태 정보를 더 수신하는 것인, 리소스 관리 서버.
According to claim 1,
When the user terminal is abnormally terminated, the status information receiving unit further receives status information of the user terminal from the user terminal, the resource management server.
제 1 항에 있어서,
상기 배포부는 상기 오류가 수정된 앱의 리소스 패키지를 상기 사용자 단말로 배포하는 것인, 리소스 관리 서버.
According to claim 1,
The distribution unit is to distribute the resource package of the error-corrected app to the user terminal, the resource management server.
제 1 항에 있어서,
상기 리소스 사용 현황 정보 수신부는 상기 사용자 단말에 앱이 최초로 설치되어 부팅되는 경우 또는 상기 사용자 단말에서 상기 앱이 구동되는 경우 상기 리소스 사용 현황 정보를 수신하는 것인, 리소스 관리 서버.
According to claim 1,
The resource usage information receiving unit receives the resource usage information when the app is first installed and booted on the user terminal or when the app is driven on the user terminal, the resource management server.
제 1 항에 있어서,
상기 리소스 사용 현황 정보는 상기 사용자 단말의 메모리에 상주하고 있는 앱에 대한 리소스 사용 현황 정보 및 사용자로부터 실행을 요청받은 시에 로딩되는 앱에 대한 리소스 사용 현황 정보를 포함하는 것인, 리소스 관리 서버.
According to claim 1,
The resource usage information includes resource usage information for an app residing in the memory of the user terminal and resource usage information for an app loaded when an execution request is requested from a user.
제 2 항에 있어서,
상기 상태 정보는 상기 도출된 앱에 대한 호출 기록 정보, 상기 사용자 단말의 메모리 사용량, CPU 사용량 중 적어도 하나를 포함하는 것인, 리소스 관리 서버.
According to claim 2,
The status information includes at least one of call history information for the derived app, memory usage of the user terminal, and CPU usage.
제 1 항에 있어서,
상기 오류 수정부는 상기 판단된 원인이 상기 도출된 앱에 대한 프로그래밍 오류인 경우, 상기 도출된 앱에 대한 상기 프로그래밍 오류를 수정하고,
상기 배포부는 상기 수정된 앱을 상기 사용자 단말로 재배포하는 것인, 리소스 관리 서버.
According to claim 1,
The error correcting unit corrects the programming error for the derived app when the determined cause is a programming error for the derived app,
The distribution unit is to redistribute the modified app to the user terminal, resource management server.
제 7 항에 있어서,
상기 오류 수정부는 상기 판단된 원인이 상기 도출된 앱의 구동에 의해 상기 사용자 단말의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 상기 사용자 단말에 상기 도출된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 상기 리소스 패키지를 수정하기 위한 명령어를 생성하고,
상기 배포부는 상기 생성된 명령어를 상기 사용자 단말로 전송하는 것인, 리소스 관리 서버.
The method of claim 7,
The error correcting unit determines whether the resource package of the derived app has been updated in the user terminal when the determined cause is an error generated by exceeding a preset memory usage of the user terminal by driving the derived app. Create a command to modify the resource package accordingly,
The distribution unit transmits the generated command to the user terminal, a resource management server.
제 8 항에 있어서,
상기 오류 수정부는 상기 사용자 단말에 상기 도출된 앱의 리소스 패키지가 갱신되어 있는 경우, 상기 갱신된 리소스 패키지를 삭제 및 이전 버전으로 복원하도록 하는 명령어를 생성하는 것인, 리소스 관리 서버.
The method of claim 8,
The error correction unit generates a command for deleting the updated resource package and restoring to the previous version when the resource package of the derived app is updated in the user terminal.
제 9 항에 있어서,
상기 오류 수정부는 상기 사용자 단말에 상기 도출된 앱의 리소스 패키지가 갱신되어 있지 않은 경우, 상기 도출된 앱의 리소스 패키지를 최적화 작업이 수행된 리소스 패키지로 교체하도록 하는 명령어를 생성하는 것인, 리소스 관리 서버.
The method of claim 9,
The error correcting unit generates a command to replace the resource package of the derived app with a resource package on which optimization is performed when the resource package of the derived app is not updated in the user terminal. server.
제 10 항에 있어서,
상기 최적화 수행부는 상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 상기 도출된 앱의 리소스 패키지에 대한 최적화 작업을 더 수행하는 것인, 리소스 관리 서버.
The method of claim 10,
The optimization performing unit further performs an optimization operation on the resource package of the derived app based on the resource usage status information and the status information, the resource management server.
제 11 항에 있어서,
상기 최적화 수행부는 상기 명령어에 의해 상기 사용자 단말에서 상기 도출된 앱에 의해 제공되는 서비스가 정상화되는 경우, 상기 도출된 앱의 리소스 패키지에 대한 최적화 작업을 수행하는 것인, 리소스 관리 서버.
The method of claim 11,
When the service provided by the derived app is normalized in the user terminal by the command, the optimization performing unit performs an optimization operation on a resource package of the derived app, the resource management server.
제 11 항에 있어서,
상기 최적화 수행부는 상기 복수의 앱의 버전 갱신에 따라 각각 증가하는 상기 사용자 단말의 메모리 사용량에 기초하여 상기 복수의 앱의 리소스 패키지에 대한 최적화 작업을 수행하는 것인, 리소스 관리 서버.
The method of claim 11,
The optimization performing unit performs an optimization operation on the resource package of the plurality of apps based on the memory usage of the user terminal, which increases with each version update of the plurality of apps.
제 13 항에 있어서,
상기 최적화 수행부는 상기 도출된 앱의 구동 중에 수행되는 불필요하게 반복되는 절차 및 불필요하게 추가되는 절차에 대해 최적화 작업을 수행하는 것인, 리소스 관리 서버.
The method of claim 13,
The optimization performing unit is to perform an optimization operation for an unnecessary repetitive procedure and an unnecessary addition procedure performed during the driving of the derived app, a resource management server.
제 14 항에 있어서,
상기 최적화 수행부는 상기 도출된 앱의 구동 중에 출력될 적어도 하나의 객체를 각 객체의 이벤트 성향에 따라 그룹화하여 렌더링에 대한 최적화 작업을 수행하는 것인, 리소스 관리 서버.
The method of claim 14,
The optimization performing unit is to perform optimization for rendering by grouping at least one object to be output during driving of the derived app according to an event propensity of each object.
제 15 항에 있어서,
상기 최적화 수행부는 상기 도출된 앱의 구동 중에 출력될 음원이 압축되어 배포되었는지 여부에 기초하여 상기 음원의 사이즈를 재조절하도록 하는 최적화 작업을 수행하는 것인, 리소스 관리 서버.
The method of claim 15,
The optimization performing unit performs an optimization operation to re-adjust the size of the sound source based on whether the sound source to be output during the driving of the derived app is compressed and distributed.
제 1 항에 있어서,
상기 리소스 사용 현황 정보 수신부는 상기 사용자 단말의 고유 식별자를 더 수신하고,
상기 배포부는 상기 고유 식별자에 기초하여 도출된 지역 코드를 기반으로 상기 오류가 수정된 앱의 리소스 패키지를 배포하는 것인, 리소스 관리 서버.
According to claim 1,
The resource usage information receiving unit further receives a unique identifier of the user terminal,
The distribution unit is to distribute the resource package of the error-corrected app based on the region code derived based on the unique identifier, the resource management server.
리소스 관리 서버에 의해 앱의 리소스를 관리받는 사용자 단말에 있어서,
상기 리소스 관리 서버로 상기 사용자 단말에서 구동되는 복수의 앱에 대한 리소스 사용 현황 정보를 전송하는 리소스 사용 현황 정보 전송부;
상기 리소스 관리 서버로 상기 사용자 단말의 상태 정보를 전송하는 상태 정보 전송부;
상기 리소스 사용 현황 정보 및 상기 상태 정보에 기초하여 최적화 작업이 수행된 상기 복수의 앱의 리소스 패키지를 상기 리소스 관리 서버로부터 배포받는 배포부
를 포함하되,
상기 리소스 사용 현황 정보 전송부는 상기 사용자 단말이 비정상 종료된 경우, 상기 리소스 관리 서버로 상기 리소스 사용 현황 정보를 더 전송하고,
상기 배포부는 상기 비정상 종료의 원인이 상기 복수의 앱 중 어느 하나의 앱에 대한 프로그래밍 오류인 경우, 상기 프로그래밍 오류가 수정된 앱을 상기 리소스 관리 서버로부터 재배포받는 것인, 사용자 단말.
In the user terminal to manage the resources of the app by the resource management server,
A resource usage status information transmitting unit transmitting resource usage status information for a plurality of apps driven by the user terminal to the resource management server;
A status information transmission unit transmitting status information of the user terminal to the resource management server;
A distribution unit that receives resource packages of the plurality of apps on which optimization is performed based on the resource usage status information and the status information from the resource management server
Including,
When the user terminal is abnormally terminated, the resource usage status information transmitting unit further transmits the resource usage status information to the resource management server,
When the cause of the abnormal termination is a programming error for one of the plurality of apps, the distribution unit redistributes an app in which the programming error is corrected from the resource management server.
삭제delete 제 18 항에 있어서,
상기 배포부는 상기 비정상 종료의 원인이 상기 복수의 앱 중 어느 하나의 구동에 의해 상기 사용자 단말의 기설정된 메모리 사용량을 초과하여 발생된 오류인 경우, 상기 구동된 앱의 리소스 패키지가 갱신되었는지 여부에 따라 상기 리소스 패키지를 수정하기 위한 명령어를 상기 리소스 관리 서버로부터 수신하는 것인, 사용자 단말.
The method of claim 18,
When the cause of the abnormal termination is an error generated by exceeding a preset memory usage of the user terminal by driving any one of the plurality of apps, depending on whether the resource package of the driven app has been updated. A user terminal that receives a command for modifying the resource package from the resource management server.
KR1020170117770A 2017-09-14 2017-09-14 Server for managing resource of application and user device KR102092948B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170117770A KR102092948B1 (en) 2017-09-14 2017-09-14 Server for managing resource of application and user device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170117770A KR102092948B1 (en) 2017-09-14 2017-09-14 Server for managing resource of application and user device

Publications (2)

Publication Number Publication Date
KR20190030385A KR20190030385A (en) 2019-03-22
KR102092948B1 true KR102092948B1 (en) 2020-03-24

Family

ID=65949255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170117770A KR102092948B1 (en) 2017-09-14 2017-09-14 Server for managing resource of application and user device

Country Status (1)

Country Link
KR (1) KR102092948B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541117A (en) 2010-10-26 2013-11-07 クゥアルコム・インコーポレイテッド Application-specific resource management
JP2013242931A (en) 2013-09-12 2013-12-05 Hitachi Ltd Computer system, management method for computer resource and program
US20170257267A1 (en) 2016-03-02 2017-09-07 Fujitsu Limited Resource management device, resource management system, and computer-readable recording medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101079461B1 (en) * 2008-09-04 2011-11-03 에스케이플래닛 주식회사 Resource installation and management system and resource installation and management method
US8595740B2 (en) * 2009-03-31 2013-11-26 Microsoft Corporation Priority-based management of system load level
KR102031897B1 (en) * 2013-04-05 2019-10-14 에스케이텔레콤 주식회사 Method for managing resource service based on context aware, apparatus and terminal thereof

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013541117A (en) 2010-10-26 2013-11-07 クゥアルコム・インコーポレイテッド Application-specific resource management
JP2013242931A (en) 2013-09-12 2013-12-05 Hitachi Ltd Computer system, management method for computer resource and program
US20170257267A1 (en) 2016-03-02 2017-09-07 Fujitsu Limited Resource management device, resource management system, and computer-readable recording medium

Also Published As

Publication number Publication date
KR20190030385A (en) 2019-03-22

Similar Documents

Publication Publication Date Title
EP2864873B1 (en) Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version
JP5093259B2 (en) Communication path strengthening method between BIOS and BMC, apparatus and program thereof
CN108196959B (en) Resource management method and device of ETL system
US11740886B2 (en) Algorithm update method and apparatus
US8719622B2 (en) Recording and preventing crash in an appliance
CN115658098A (en) Upgrading method and device for distributed business processing system
CN111464603A (en) Server capacity expansion method and system
KR102092948B1 (en) Server for managing resource of application and user device
CN113254217A (en) Service message processing method and device and electronic equipment
CN111698281B (en) Resource downloading method and device, electronic equipment and storage medium
CN107105037B (en) Distributed video CDN resource management system and method based on file verification
CN110750349B (en) Distributed task scheduling method and system
CN112653911A (en) Key updating method and device
CN111090818B (en) Resource management method, resource management system, server and computer storage medium
JP6824435B2 (en) Information distribution storage systems, methods and programs
CN112148803A (en) Method, device and equipment for calling tasks in block chain and readable storage medium
CN108021459B (en) Method and device for sending dotting logs across processes
CN107678840B (en) System, method and device for running tasks
JPWO2017094096A1 (en) Transaction processing system and transaction control method
CN114510282B (en) Method, device, equipment and storage medium for running automation application
CN110784518A (en) Static resource acquisition method and device
US10148585B2 (en) Communication control method, information processing apparatus, and storage medium
KR102039593B1 (en) Apparatus and method for managing service
KR101242415B1 (en) Web service based operation management method of IPTV service system
US20230305896A1 (en) Cloud service for orchestrating workflow of jobs

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant