KR20120069400A - Application backup method in mobile platform - Google Patents
Application backup method in mobile platform Download PDFInfo
- Publication number
- KR20120069400A KR20120069400A KR1020100130937A KR20100130937A KR20120069400A KR 20120069400 A KR20120069400 A KR 20120069400A KR 1020100130937 A KR1020100130937 A KR 1020100130937A KR 20100130937 A KR20100130937 A KR 20100130937A KR 20120069400 A KR20120069400 A KR 20120069400A
- Authority
- KR
- South Korea
- Prior art keywords
- application
- data
- binary
- metadata
- mobile platform
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
- G06F16/125—File system administration, e.g. details of archiving or snapshots using management policies characterised by the use of retention policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- 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/54—Interprogram communication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은, 모바일 플랫폼에서의 어플리케이션 보관 방법에 관한 것으로서, 보다 상세하게는, 어플리케이션들 상호 간의 데이터 접근 권한이 제한되는 모바일 플랫폼에서 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스를 통해 어플리케이션의 바이너리 및 데이터를 클라우드 서버의 가상화된 스토리지에 저장하는 어플리케이션 보관 방법에 관한 것이다.The present invention relates to a method for storing an application in a mobile platform, and more particularly, to binary and data of an application through an application interface mounted in a library form in an application in a mobile platform in which data access rights between applications are restricted. The present invention relates to a method for storing an application stored in virtualized storage of a cloud server.
이동통신 단말기에 멀티미디어 기능이 추가되면서, 고기능 대용량의 메모리가 사용되기 시작하였고, 이와 맞물려 늘어나는 사용자의 다양한 요구를 수용하기 위해서 기존과 다른 모바일 플랫폼이 요구되었다. 이를 위해 퀄컴의 REX와 같은 모바일 OS가 등장했지만, 시스템 운용에 필요한 최소한의 기능만으로 구성된 탓에 멀티태스킹이나 메모리 보호를 지원하지 못하는 한계를 갖게 되었다. As multimedia functions have been added to mobile terminals, high-capacity and large-capacity memories have begun to be used, and different mobile platforms have been required to accommodate the diverse needs of users. A mobile OS such as Qualcomm's REX has emerged for this purpose, but due to its minimal features necessary for system operation, it has a limitation in that it cannot support multitasking or memory protection.
이에 따라 좀더 확장된 기능을 지원하는 모바일 플랫폼이 요구되었으며, 이에 따라 등장한 것이 MS사의 윈도우 모바일, 애플사의 iOS(아이폰) 그리고 리눅스 기반의 안드로이드 등이 대표적이다. As a result, a mobile platform supporting more extended functions was required, and Microsoft's Windows Mobile, Apple's iOS (iPhone), and Linux-based Android were introduced.
이들 중 윈도우 모바일의 경우에는 어플리케이션들 상호 간의 데이터를 읽고 쓰는 것이 원칙적으로 허용되나, iOS나 안드로이드에서는 어플리케이션들 간 접근 권한이 제한된다.Among them, in case of Windows Mobile, reading and writing data between applications is allowed in principle, but access rights between applications are limited in iOS and Android.
특히, 최근 안드로이드는 잦은 버전업으로 인해, 펌웨어 업그레이드시, 사용자가 이전에 설치한 어플리케이션과 그 데이터가 초기화하는 문제가 빈번하게 발생한다. In particular, due to the frequent upgrades of Android recently, when the firmware is upgraded, a problem frequently arises in which the user's previously installed application and its data are initialized.
안드로이드 단말에서는 어플리케이션들 상호 간의 접근 권한이 제한되므로, 단말이 초기화 될 경우 어플리케이션과 그 데이터를 보관하기 어렵다. 따라서 현재는 어플리케이션 스토어 등을 통해 다시 다운받아 설치하여야 하고 데이터는 다시 생성하여야만 하는 불편이 있다.In the Android terminal, access rights between applications are restricted, so when the terminal is initialized, it is difficult to store the application and its data. Therefore, at present, it is inconvenient to download and install again through an application store or the like and to regenerate data.
따라서, 안드로이드와 같이 어플리케이션들 상호 간의 접근 권한이 제한되는 모바일 플랫폼에서는 사용자가 설치한 어플리케이션과 그 데이터를 보관하고 복구할 수 있는 기술이 필요한 상태이다.Therefore, a mobile platform in which access rights between applications are restricted, such as Android, requires a technology for storing and restoring applications and data installed by a user.
이러한 어플리케이션과 그 데이터를 보관하고 복구하기 위해 클라우드 컴퓨팅 환경의 가상화된 자원을 이용하는 경우에는 어플리케이션과 그 데이터의 보관 및 관리가 자동으로 이루어지도록 구현할 수 있고, 다른 보관매체에 비하여 가격 경쟁력을 확보할 수 있을 것이다.Using virtualized resources in cloud computing environments to store and recover these applications and their data can be implemented to automatically store and manage the applications and their data, and to provide a competitive price over other storage media. There will be.
이처럼 클라우드 컴퓨팅은 스마트폰 등 이동통신 단말의 사용자에게 편리한 데이터 보관 및 복구 기능을 제공할 수 있지만, 상기에서 살펴본 바와 같이 안드로이드와 같은 모바일 플랫폼의 특성상 사용자가 설치한 어플리케이션의 보관 및 복구를 하기 위해서는 특별한 인터페이스가 필요하다.As described above, cloud computing can provide a convenient data storage and recovery function to users of mobile communication terminals such as smartphones.However, as described above, in order to store and recover applications installed by users due to the characteristics of mobile platforms such as Android, I need an interface.
현재 안드로이드 등의 모바일 플랫폼에서는 어플리케이션 바이너리와 데이터를 보관 및 복구하는 기능을 제공 하지 못하고 있다. 예컨대, 안드로이드 OS 2.2 이상에서는 부족한 사용자 영역을 확장하기 위해 어플리케이션을 sdcard에 보관할 수 있는 인터페이스를 제공하고 있지만, sdcard의 교체시에 사용이 불가능한 단점이 있고, 펌웨어 업그레이드 등으로 인해 단말이 초기화된 경우에 기존에 설치했던 어플리케이션을 다시 설치하고 데이터를 다시 설정하여야 하는 문제점은 해결되지 못하고 있다.Currently, mobile platforms such as Android do not provide functions to store and recover application binaries and data. For example, Android OS 2.2 or later provides an interface for storing an application in the sdcard to expand the insufficient user area, but there is a disadvantage that can not be used when replacing the sdcard, when the terminal is initialized due to a firmware upgrade, etc. The problem of re-installing the previously installed application and resetting the data has not been solved.
본 발명이 이루고자 하는 기술적 과제는, 어플리케이션들 상호 간의 데이터 접근 권한이 제한되는 모바일 플랫폼에서 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스를 통해 어플리케이션의 바이너리 및 데이터를 클라우드 서버의 가상화된 스토리지에 저장하는 어플리케이션 보관 방법을 제공하는 데에 있다.The technical problem to be achieved by the present invention is to store an application storing the binary and data of the application in the virtualized storage of the cloud server through the application interface mounted in the form of a library in the application on a mobile platform in which data access rights between applications are limited To provide a way.
상기의 기술적 과제를 이루기 위한, 본 발명에 의한, 어플리케이션들 상호 간의 데이터 접근 권한이 제한되는 모바일 플랫폼에서의 어플리케이션 보관 방법은 모바일 플랫폼 상에서 구동중인 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 어플리케이션의 백업을 요청하는 백업요청단계; 어플리케이션 인터페이스로부터 어플리케이션의 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 수신하는 수신단계; 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 클라우드 서버에서 가상 스토리지를 할당받는 스토리지할당단계; 및 수신된 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 할당받은 가상 스토리지에 저장하는 저장단계를 포함한다.In order to achieve the above technical problem, according to the present invention, a method for storing an application in a mobile platform in which data access rights between applications are limited is to backup the application to an application interface mounted in a library form on an application running on the mobile platform. Requesting a backup request step; A receiving step of receiving a binary of the application, data, metadata of the binary and metadata of the data from the application interface; A storage allocation step of allocating virtual storage at the cloud server based on the received binary metadata and the metadata of the data; And a storing step of storing the received binary, data, metadata of the binary and metadata of the data in the allocated virtual storage.
보다 바람직하게는, 바이너리의 메타데이터 및 데이터의 메타데이터는 데이터베이스 형태일 수 있다.More preferably, the metadata of the binary and the metadata of the data may be in the form of a database.
보다 바람직하게는, 외부로부터 어플리케이션에 대한 복구 요청을 수신하는 단계; 복구 요청에 따라 가상 스토리지로부터 저장된 바이너리의 메타데이터 및 데이터의 메타데이터를 수신하는 단계; 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 복구 요청된 어플리케이션의 복구 여부를 결정하는 복구여부 결정단계; 및 결정된 복구 여부에 따라 가상 스토리지로부터 바이너리 및 데이터를 수신하여 바이너리 및 데이터를 복구하는 복구단계를 더 포함할 수 있다.More preferably, receiving a recovery request for the application from the outside; Receiving metadata of the stored binary and metadata of the data from the virtual storage according to the recovery request; A recovery step determining step of determining whether to recover the requested application on the basis of the metadata of the received binary and the metadata of the data; And recovering the binary and the data by receiving the binary and the data from the virtual storage according to the determined recovery.
보다 바람직하게는, 복구여부 결정단계는 복구 요청된 어플리케이션과 동일한 어플리케이션이 모바일 플랫폼 상에서 현재 구동 중인지를 확인하는 단계; 현재 구동 중으로 확인되면, 현재 구동 중인 어플리케이션의 버전 정보와 수신된 바이너리의 버전 정보를 확인하여 현재 구동 중인 어플리케이션이 최신이 아닌지를 판단하는 단계; 및 현재 구동 중인 어플리케이션이 최신이 아닌 경우에는 복구 요청된 어플리케이션을 복구하도록 결정하는 단계를 포함할 수 있다.More preferably, the step of determining whether to recover comprises the steps of checking whether the same application as the requested application is currently running on the mobile platform; Determining whether the currently running application is not current by checking the version information of the currently running application and the received version information of the binary; And if the currently running application is not up to date, determining to recover the requested application.
보다 바람직하게는, 복구 단계는 모바일 플랫폼에 내장된 패키지 설치 모듈을 이용하여 바이너리를 기초로 어플리케이션을 재설치하는 단계; 및 재설치된 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 데이터를 전달하여 데이터를 복구시키는 단계를 포함할 수 있다.More preferably, the recovering step may include reinstalling an application based on the binary using a package installation module embedded in the mobile platform; And recovering data by transferring data to an application interface mounted in a library form in the reinstalled application.
상기의 기술적 과제를 이루기 위한, 본 발명에 의한, 어플리케이션들 상호 간의 데이터 접근 권한이 제한되는 모바일 플랫폼에서 어플리케이션을 보관하는 기능을 포함하는 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체는 모바일 플랫폼 상에서 구동중인 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 어플리케이션의 백업을 요청하는 기능; 어플리케이션 인터페이스로부터 어플리케이션의 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 수신하는 기능; 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 클라우드 서버에서 가상 스토리지를 할당받는 기능; 및 수신된 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 할당받은 가상 스토리지에 저장하는 기능을 포함하는 프로그램을 수록한다.In order to achieve the above technical problem, a computer-readable recording medium containing a program including a function of storing an application in a mobile platform in which data access rights between applications are restricted according to the present invention is driven on a mobile platform. Requesting a backup of the application to an application interface mounted in the form of a library to the application being executed; Receiving binary, data, metadata of the binary and metadata of the data from the application interface; Receiving virtual storage at the cloud server based on the metadata of the received binary and the metadata of the data; And a program including a function of storing the received binary, data, metadata of the binary, and metadata of the data in the allocated virtual storage.
본 발명에 의하면, 사용자에게 저비용으로 가상화된 컴퓨팅 자원을 제공하는 클라우드 컴퓨팅 환경에 사용자가 설치한 어플리케이션과 그 데이터를 보관할 수 있고, 이로부터 어플리케이션과 그 데이터를 복구할 수 있다.According to the present invention, an application installed by a user and its data can be stored in a cloud computing environment providing a user with a virtualized computing resource at low cost, and the application and the data can be recovered from the application.
또한, 모바일 플랫폼의 어플리케이션 및 그 데이터의 보관 및 복구를 자동화 및 단순화하여, 이를 위한 사용자의 시간과 노력을 줄일 수 있다.In addition, the storage and recovery of applications and their data on the mobile platform can be automated and simplified, thereby reducing user time and effort.
아울러, 사용자가 사용하는 단말이 변경되더라도 변경된 단말의 모바일 플랫폼이 이전의 단말의 모바일 플랫폼과 호환가능한 경우에는 어플리케이션을 변경된 단말로 용이하게 옮길 수 있게 한다.In addition, even if the terminal used by the user is changed, if the mobile platform of the changed terminal is compatible with the mobile platform of the previous terminal, the application can be easily moved to the changed terminal.
도 1은 본 발명에 따른 모바일 플랫폼의 일 실시예인 안드로이드 OS의 데이터 영역의 구조를 예시한 블럭도이다.
도 2는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 보관 기능을 수행하는 어플리케이션인 클라우드 클라이언트에서 어플리케이션을 보관하는 방법의 흐름을 도시한 도면이다.
도 3는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 복구 기능을 수행하는 어플리케이션인 클라우드 클라이언트에서 어플리케이션을 복구하는 방법의 흐름을 도시한 도면이다.
도 4는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 보관 및 복구 기능을 수행하는 어플리케이션인 클라우드 클라이언트 및 어플리케이션에서 사용자가 설치한 어플리케이션을 보관하고 복구하는 프로세스들이 일련의 구체적인 과정을 도시한 도면이다.1 is a block diagram illustrating a structure of a data area of an Android OS, which is an embodiment of a mobile platform according to the present invention.
2 is a flowchart illustrating a method of storing an application in a cloud client, which is an application that performs an application archiving function in a mobile platform according to an exemplary embodiment of the present invention.
3 is a flowchart illustrating a method of recovering an application in a cloud client, which is an application that performs an application recovery function in a mobile platform according to an embodiment of the present invention.
FIG. 4 is a diagram illustrating a series of detailed processes of storing and restoring an application installed by a user in a cloud client and an application that is an application performing an application storing and restoring function in a mobile platform according to an exemplary embodiment of the present invention. to be.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다. 또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한, 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다. The following merely illustrates the principles of the invention. Thus, those skilled in the art will be able to devise various apparatuses which, although not explicitly described or shown herein, embody the principles of the invention and are included in the concept and scope of the invention. Furthermore, all of the conditional terms and embodiments listed herein are, in principle, intended only for the purpose of enabling understanding of the concepts of the present invention, and are not intended to be limiting in any way to the specifically listed embodiments and conditions . It is also to be understood that the detailed description, as well as the principles, aspects and embodiments of the invention, as well as specific embodiments thereof, are intended to cover structural and functional equivalents thereof. In addition, these equivalents should be understood to include not only equivalents now known, but also equivalents to be developed in the future, that is, all devices invented to perform the same function regardless of structure.
따라서, 프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다. 또한, 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니 되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지 관용의 다른 하드웨어도 포함될 수 있다. Thus, the functionality of the various elements shown in the figures, including functional blocks represented by a processor or similar concept, can be provided by the use of dedicated hardware as well as hardware capable of executing software in conjunction with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, a single shared processor, or a plurality of individual processors, some of which may be shared. Also, the use of terms such as processor, control, or similar concepts should not be construed as exclusive reference to hardware capable of executing software, but may include, without limitation, digital signal processor (DSP) hardware, (ROM), random access memory (RAM), and non-volatile memory. Other hardware may also be included.
상술한 목적, 특징 및 장점들은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 더욱 분명해 질 것이다. 본 발명을 설명함에 있어서, 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략하거나 간략하게 설명하는 것으로 한다. The above objects, features and advantages will become more apparent from the following detailed description in conjunction with the accompanying drawings. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
한편 어떤 부분이 어떤 구성요소를 '포함'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다.On the other hand, when a part is said to "include" a certain component, this means that it may further include other components, without excluding other components unless otherwise stated.
이하, 첨부된 도면을 참조하여 바람직한 실시예에 따른 본 발명을 상세히 설명하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.
본 발명이 적용되는 모바일 플랫폼은 어플리케이션들 간 접근권한이 제한되는 특징을 갖는데, 안드로이드가 대표적이다. 따라서, 이하에서는 안드로이드를 예로 들어 설명하나, 본 발명이 이에 국한되지는 않는다.The mobile platform to which the present invention is applied has a feature that access rights between applications are limited, and Android is representative. Therefore, hereinafter, Android is described as an example, but the present invention is not limited thereto.
안드로이드 OS는 시스템 영역과 데이터 영역으로 나눌 수 있는데, 이중 시스템 영역은 롬이미지 업데이트로만 수정가능한 영역으로 시스템 프로그램이 설치가 되는 영역을 의미하고, 데이터 영역은 사용자가 설치한 어플리케이션이 설치되는 영역을 의미한다. 안드로이드 OS 에서는 어플리케이션 간 접근 권한이 제한되고 따라서, 어플리케이션 간의 데이터 교환은 intent 연동 등을 이용하여 개별적으로 정의하여 사용하여야 한다. 단, root 권한을 가지는 시스템 어플리케이션은 모든 파일에 대한 읽고/쓰기 권한을 가지므로 접근권한에 대한 제한이 없다.Android OS can be divided into system area and data area, of which the system area is the area that can be modified only by ROM image update. It means the area where system programs are installed, and the data area means the area where user-installed applications are installed. do. In the Android OS, access rights between applications are limited. Therefore, data exchange between applications should be defined and used separately through intent linkage. However, system application with root authority has read / write authority to all files, so there is no restriction on access authority.
도 1은 본 발명에 따른 모바일 플랫폼의 일 실시예인 안드로이드 OS의 데이터 영역(100)의 구조를 예시한 블럭도이다.1 is a block diagram illustrating a structure of a
도 1을 참조하면, 안드로이드 OS의 데이터 영역(100)에서 어플리케이션(120)의 바이너리(123)와 데이터(124)를 클라우드 서버(150)에 보관하는 기능을 지원하기 위한 구성요소로서 클라우드 클라이언트(110) 및 어플리케이션 인터페이스(121)를 포함한다.Referring to FIG. 1, the
클라우드 클라이언트(110)는 본 실시예에 따라 클라우드 서버(150)에의 보관 및 복구를 수행하는 구성요소로서, 안드로이드 OS의 데이터 영역(100)에 어플리케이션 형태로 설치될 수 있다.The
안드로이드 OS는 데이터 영역에서 어플리케이션의 접근권한을 제한하고 있으므로, 본 실시예에 따른 클라우드 클라이언트(110)에서 사용자가 설치한 어플리케이션의 보관 및 복구 기능을 위해서는 특별한 인터페이스가 필요하다. 이러한 인터페이스는 어플리케이션 개발자가 적용하기 위해 매우 간단한 형태의 API로 구성되어서, 손쉽게 개발이 가능하여야 한다. Since the Android OS restricts the access right of the application in the data area, a special interface is required for the storage and recovery function of the application installed by the user in the
본 실시예에서는 이를 위한 인터페이스 구성요소로 어플리케이션 인터페이스(121)를 구비한다.In the present embodiment, the
본 실시예에 따른 어플리케이션 인터페이스(121)는 어플리케이션 바이너리에 추가되어야 하기 때문에 단순한 구조의 API로 구성되어 라이브러리의 형태로 어플리케이션(120)에 탑재될 수 있다.Since the
이를 통해 어플리케이션 개발시 본 실시예에 따른 어플리케이션 인터페이스(121)의 탑재에 필요한 작업을 최소화하여 개발자의 편의성을 높였으며, 기존 어플리케이션에 본 실시예에 따른 어플리케이션 인터페이스를 탑재하는 경우에 재컴파일이 필요하지만, 간단하고 편리하게 적용할 수 있다.This minimizes the work required to mount the
본 실시예에 따른 어플리케이션 인터페이스(121)는 클라우드 클라이언트(110)에 연동하여, 각각의 어플리케이션 내부에서 어플리케이션의 바이너리(123)와 데이터(124)를 클라우드 클라이언트(150)로 전달하는 기능을 수행한다.The
본 실시예에 따른 클라우드 클라이언트(110)는 안드로이드 OS의 데이터 영역에 설치된 하나의 어플리케이션으로서, 다른 어플리케이션들(120)과 intent 연동된다. 클라우드 클라이언트(110)에서 intent 연동을 통해 어플리케이션 백업 요청을 전달하면, 이러한 어플리케이션 보관 요청이 어플리케이션(120)에 탑재된 어플리케이션 인터페이스(121)에 전달되어, 어플리케이션 인터페이스(121)가 클라우드 클라이언트(110)에 어플리케이션 바이너리(123)와 데이터(124)를 전달하도록 한다.The
또한 본 실시예에서, 바이너리는 모바일 플랫폼의 소정의 데이터 영역의 저장공간(예컨대, 안드로이드 OS의 /data/app)에 보관되는 어플리케이션의 자체의 바이너리를 의미하고, 데이터는 모바일 플랫폼의 소정의 데이터 영역의 저장 공간(예컨대, 안드로이드 OS의 /data/data)에 보관되는 어플리케이션 각각이 생성한 데이터를 의미하며, 모바일 플랫폼이 탑재된 단말의 외장 메모리카드(예컨대, sdcard)에 보관되는 데이터베이스나 어플리케이션 설정 등의 파일들을 포함할 수도 있다.In addition, in the present embodiment, the binary refers to the binary of the application itself stored in the storage space (eg, / data / app of the Android OS) of the predetermined data area of the mobile platform, the data is a predetermined data area of the mobile platform This refers to data generated by each application stored in the storage space (e.g., / data / data of the Android OS), and database or application settings stored in an external memory card (e.g., sdcard) of a terminal equipped with a mobile platform. It can also contain files.
도 2는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 보관 기능을 수행하는 어플리케이션인 클라우드 클라이언트에서 어플리케이션을 보관하는 방법의 흐름을 도시한 도면이다.2 is a flowchart illustrating a method of storing an application in a cloud client, which is an application that performs an application archiving function in a mobile platform according to an exemplary embodiment of the present invention.
도 2를 참조하면, 먼저, 클라우드 클라이언트는 어플리케이션 인터페이스에 어플리케이션의 백업을 요청한다(S201).Referring to FIG. 2, first, the cloud client requests a backup of an application from an application interface (S201).
그리고, 어플리케이션 인터페이스로부터 어플리케이션의 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 수신한다(S202)Then, the binary of the application, data, metadata of the binary and metadata of the data are received from the application interface (S202).
본 실시예에서, 바이너리의 메타데이터 및 데이터의 메타데이터는 어플리케이션 인터페이스에 의해 데이터베이스 형태로 생성되어 클라우드 클라이언트에 전달되도록 구성될 수 있다.In this embodiment, the metadata of the binary and the metadata of the data may be configured to be generated in the form of a database by an application interface and delivered to the cloud client.
일반적으로 메타데이터는 데이터에 관한 구조화된 데이터 즉, 다른 데이터를 정의하고 설명해 주는 데이터로, 본 발명에서는 클라우드 서버에서 백업할 바이너리 및 데이터를 저장하기 위한 가상 스토리지를 프로비저닝할 수 있도록 제공되거나 어플리케이션의 복구 과정에서 복구 요청된 어플리케이션의 복구 여부를 결정하는 등에 이용될 수 있다.In general, metadata is structured data about data, that is, data that defines and describes other data. In the present invention, a cloud server provides provision for provisioning virtual storage for storing binaries and data to be backed up or recovery of an application. It may be used to determine whether to recover the application requested to be restored in the process.
이를 위해, 바이너리의 메타데이터로 바이너리의 크기, 저장위치, 어플리케이션 버전 등이 포함될 수 있고, 데이터의 메타데이터로 데이터의 크기, 저장위치, 수정일자 등이 포함될 수 있으나, 본 발명은 이에 한정되지 않는다.To this end, the binary metadata may include the size, storage location, application version, etc. of the binary, and the data metadata may include the size, storage location, modification date, etc. of the data, but the present invention is not limited thereto. .
클라우드 클라이언트는 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 클라우드 서버에서 가상 스토리지를 할당받는다(S203).The cloud client is allocated a virtual storage from the cloud server based on the received binary metadata and the metadata of the data (S203).
본 실시예에서는 S302 단계 중 바이너리 및 데이터를 수신하는 과정 이후에 S203 단계가 수행되는 것으로 도시되어 있으나, S203 단계가 수행된 이후에 S202 단계 중 바이너리 및 데이터를 수신하는 과정이 수행되거나 양자가 동시에 수행될수도 있으며, 본 발명은 양자간의 선후관계를 한정하지 않는다.In the present embodiment, the step S203 is shown after the process of receiving the binary and data in step S302, but the process of receiving the binary and data in step S202 is performed after the step S203 is performed or both are performed simultaneously. The present invention does not limit the propriety relationship between the two.
이후에, 클라우드 클라이언트는 S202단계에서 수신된 바이너리, 데이터, 바이너리의 메타데이터 및 데이터의 메타데이터를 S203단계에서 할당받은 가상 스토리지에 저장한다(S204).Thereafter, the cloud client stores the binary, data, metadata of the binary and metadata of the data received in step S202 in the virtual storage allocated in step S203 (S204).
도 3는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 복구 기능을 수행하는 어플리케이션인 클라우드 클라이언트에서 어플리케이션을 복구하는 방법의 흐름을 도시한 도면이다.3 is a flowchart illustrating a method of recovering an application in a cloud client, which is an application that performs an application recovery function in a mobile platform according to an embodiment of the present invention.
도 3를 참조하면, 외부로부터 클라우드 클라이언트는 어플리케이션의 복구 요청을 수신한다(S301).Referring to FIG. 3, the cloud client receives an application recovery request from outside (S301).
그리고, S301 단계에서 수신한 복구 요청에 따라 가상 스토리지로부터 저장된 바이너리의 메타데이터 및 데이터의 메타데이터를 다운로드한다(S302).In response to the recovery request received in step S301, metadata of the binary and data metadata stored in the virtual storage are downloaded (S302).
복구 요청된 어플리케이션과 동일한 어플리케이션이 모바일 플랫폼 상에서 현재 구동 중인지를 확인한다(S303).It is checked whether the same application as the requested application is currently running on the mobile platform (S303).
현재 구동 중으로 확인되면, 현재 구동 중인 어플리케이션의 버전 정보와 수신된 바이너리의 메타데이터 중 버전 정보를 비교하여(S304) 현재 구동 중인 어플리케이션이 최신이 아닌지를 판단한다(S305).When it is confirmed that the device is currently running, the version information of the currently running application and the version information of the received binary metadata are compared (S304) to determine whether the currently running application is up-to-date (S305).
현재 구동 중인 어플리케이션이 최신이 아닌 경우에는 복구 요청된 어플리케이션을 복구하도록 결정한다(S306).If the currently running application is not up-to-date, it is determined to recover the requested application (S306).
결정된 복구 여부에 따라 가상 스토리지로부터 바이너리 및 데이터를 다운로드한다(S307).The binary and data are downloaded from the virtual storage according to the determined recovery (S307).
모바일 플랫폼에 내장된 패키지 설치 모듈을 이용하여 S307단계에서 다운로드한 바이너리를 기초로 어플리케이션을 재설치한다(S308).The application is reinstalled based on the binary downloaded in step S307 using the package installation module built in the mobile platform (S308).
재설치된 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 S307단계에서 다운로드한 데이터를 전달하여 재설치된 어플리케이션의 데이터를 복구시킨다(S309).The data downloaded in step S307 is transferred to the application interface mounted in the library form in the reinstalled application to recover the data of the reinstalled application (S309).
도 4는 본 발명의 바람직한 일 실시예에 따른 모바일 플랫폼에서 어플리케이션 보관 및 복구 기능을 수행하는 어플리케이션인 클라우드 클라이언트 및 어플리케이션에서 사용자가 설치한 어플리케이션을 보관하고 복구하는 프로세스들이 일련의 구체적인 과정을 도시한 도면이다.FIG. 4 is a diagram illustrating a series of detailed processes of storing and restoring an application installed by a user in a cloud client and an application that is an application performing an application storing and restoring function in a mobile platform according to an exemplary embodiment of the present invention. to be.
도 4를 참조하면, 본 실시예에 따른 모바일 플랫폼(400)에는 클라우드 서버(450)로의 어플리케이션 보관 및 복구 기능을 수행하는 클라우드 클라이언트(410), 모바일 플랫폼에 내장된 패키지 설치 모듈인 패키지 인스톨러(420) 및 사용자 설치 어플리케이션(430)이 구동되고 있으며, 여기에서 사용자 설치 어플리케이션(430)은 바이너리(432) 및 데이터(433)뿐만 아니라, 어플리케이션 인터페이스 기능을 수행하는 ugent 모듈(431)을 포함하여 구성된다.Referring to FIG. 4, the
본 실시예에서, 어플리케이션 인터페이스의 기능을 수행하는 ugent(431)의 API는 이하의 세가지의 함수들로 구성된다.In this embodiment, the API of the
첫번째로, UC_get_backup_info()는 어플리케이션의 바이너리(431)와 데이터(432)의 크기와 저장 위치 등의 메타데이터를 수집하거나 자동 스캔하여 이들을 포함하는 데이터베이스(434)를 생성하여 클라우드 클라이언트(410)에 전달하는 기능을 수행한다.First, UC_get_backup_info () collects or automatically scans metadata such as the size and storage location of binary 431 and
두번째로, UC_backup()는 어플리케이션의 바이너리(431)와 데이터(432)를 보관하는 기능을 수행한다.Secondly, UC_backup () stores a binary 431 and
세번째로, UC_update()는 어플리케이션의 데이터(433)를 복구하는 기능을 수행한다.Third, UC_update () restores the
사용자의 편의를 위해, 사용자는 어플리케이션의 보관 및 복구 옵션으로 수동 혹은 자동으로 보관 및 복구을 수행할지 여부를 선택할 수 있도록 클라우드 클라이언트(410)를 구현할 수 있다.For the convenience of the user, the user may implement the
본 실시예는 사용자가 어플리케이션(430)을 자동으로 보관하도록 설정한 경우를 가정한다.In this embodiment, it is assumed that the user sets the
클라우드 클라이언트(410)는 정해진 스케줄에 의해 사용자가 설치한 어플리케이션(430)에 백업 요청을 보낸다(S511). The
백업 요청을 받은 어플리케이션의 ugent(433)가 활성화되어 백그라운드(background) 프로세스로 동작하면서, 바이너리의 메타데이터와 데이터의 메타데이터를 포함하는 데이터베이스를 생성한다(S512).The
클라우드 클라이언트는 S512단계에서 생성된 데이터베이스를 받아(S513) 이를 기초로 클라우드 서버에게 가상화된 스토리지 자원을 프로비저닝시키는 백업 준비 요청을 보낸다(S514).The cloud client receives the database generated in step S512 (S513) and sends a backup preparation request for provisioning a virtualized storage resource to the cloud server based on this (S514).
클라우드 서버로부터 S514 단계의 백업준비요청에 대한 응답으로 백업 시작 요청(S515)를 수신하면, 클라우드 클라이언트는 어플리케이션(430)에 백업 시작 요청을 보낸다(S516).When receiving the backup start request (S515) in response to the backup preparation request in step S514 from the cloud server, the cloud client sends a backup start request to the application 430 (S516).
S516 단계의 백업 시작 요청을 받은 어플리케이션의 ugent가 어플리케이션의 바이너리 및 데이터를 가져와(S517), 클라우드 클라이언트에 전달한다(S518).The ugent of the application receiving the backup start request in step S516 obtains the binary and data of the application (S517), and delivers it to the cloud client (S518).
클라우드 클라이언트는 S516단계에서 전달받은 어플리케이션의 바이너리 및 데이터를 클라우드 서버에 업로드(S519)하여 클라우드 서버 상에서 준비된 가상화된 스토리지에 백업한다. The cloud client uploads the binary and data of the application received in step S516 to the cloud server (S519) and backs up the virtualized storage prepared on the cloud server.
사용자가 어플리케이션의 복구를 요청하여 해당 어플리케이션을 복구하기로결정되면, 클라우드 클라이언트는 클라우드 서버로부터 어플리케이션의 바이너리를 다운로드하고(S521), 다운로드된 어플리케이션의 바이너리는 패키지 인스톨러를 통해 설치된다(S522). 패키지 인스톨러와 같은 패키지 설치 프로그램을 이용하여 설치됨으로써, 어플리케이션 바이너리가 정상적으로 설치될 수 있으며, 적절한 폴더를 생성하여 복구될 수 있다.If the user decides to recover the application by requesting the recovery of the application, the cloud client downloads the application binary from the cloud server (S521), and the downloaded application binary is installed through the package installer (S522). By installing using a package installation program such as a package installer, the application binaries can be normally installed and can be recovered by creating an appropriate folder.
그리고, 패키지 설치 프로그램을 이용하여 어플리케이션 바이너리가 설치된 이후에, 클라우드 클라이언트는 클라우드 서버로부터 어플리케이션의 데이터를 다운로드하고(S523), 어플리케이션의 ugent를 이용하여(S524), 사용자가 이전에 작성한 데이터를 복구한다(S525).After the application binary is installed using the package installation program, the cloud client downloads the data of the application from the cloud server (S523) and uses the ugent of the application (S524) to recover data previously written by the user. (S525).
본 실시예와 같은 클라우드 서버을 이용한 보관 및 복구는 어플리케이션뿐만 아니라 데이터도 보관하므로, 보안성의 확보가 중요하다.Archiving and restoring using a cloud server as in the present embodiment stores data as well as applications, so securing security is important.
따라서, 본 실시예와 같이 라이브러리 형태로 어플리케이션 자체에 탑재된 어플리케이션 인터페이스를 이용함으로써, 외부로부터의 해킹과 같은 보안 상의 위험으로부터 벗어날 수 있고, 사용자가 앱스토어 등으로부터 구매한 어플리케이션 및 이러한 어플리케이션을 통해 생성/작성한 데이터를 안전하게 보관하고 복구할 수 있게 된다.Therefore, by using the application interface mounted in the application itself in the form of a library as in the present embodiment, it is possible to escape from security risks such as hacking from the outside, and the application that the user purchases from the app store or the like and is generated through such an application. You will be able to safely archive and recover your data.
이를 위해서 어플리케이션 개발자는 어플리케이션 인터페이스의 바이너리를 어플리케이션 개발 당시부터 포함시키고, 관련 연동 코드도 프로그램 코드에 함께 넣음으로써, 라이브러리 형태로 어플리케이션 인터페이스를 어플리케이션에 탑재시켜 구현할 수 있다. 이로 인한 다소간의 개발 상의 어려움은 포팅하기 용이한 API를 제공하고, 발자용 SDK와 예제를 함께 제공함으로써 극복할 수 있다.To this end, the application developer includes the binary of the application interface from the time of application development, and puts the relevant interlocking code together in the program code, so that the application interface can be mounted in the application in the form of a library. This can be overcome by providing a porting API and providing a sample SDK and examples.
안드로이드 OS를 기준으로, 개발자가 어플리케이션 인터페이스를 클라우드 클라이언트와 연동할 수 있도록 구현하기 위해서는 라이브러리 형태로 제공되는 어플리케이션 인터페이스의 바이너리로 resource에 포함하고, intent연동과 관련된 미리 정의된 코드를 프로그램 코드에 포함하여 컴파일하여 구현할 수 있다.Based on the Android OS, in order to implement an application interface with a cloud client, a developer may include a binary of an application interface provided as a library in a resource and include predefined code related to intent interworking in a program code. Can be compiled and implemented.
클라우드 클라이언트는 앱스토어 등을 통해 다운로드할 수 있는 하나의 어플리케이션의 형태로 구현될 수 있으며, 클라우드 서버의 자원을 이용해야 하므로, 사용자는 클라우드 클라이언트를 이용하여 어플리케이션을 보관 및 복구할 수 있기 위해서는, 클라우드 서버로부터 자원을 할당받을 수 있는 계정이 별도로 있어야 할 것이다.The cloud client may be implemented in the form of a single application that can be downloaded through an app store, and the like, since the user must use the resources of the cloud server, the user can store and recover the application using the cloud client. You will need to have a separate account to allocate resources from the server.
본 발명에 따르면, 모바일 플랫폼의 어플리케이션 및 그 데이터의 보관 및 복구를 자동화 및 단순화하여, 이를 위한 사용자의 시간과 노력을 줄일 수 있다.According to the present invention, it is possible to automate and simplify the storage and recovery of applications and data of the mobile platform, thereby reducing the user's time and effort.
또한 사용자가 사용하는 단말이 변경되더라도 변경된 단말의 모바일 플랫폼이 이전의 단말의 모바일 플랫폼과 호환가능한 경우에는 어플리케이션을 용이하게 변경된 단말로 옮길 수 있게 된다. In addition, even if the terminal used by the user is changed, if the mobile platform of the changed terminal is compatible with the mobile platform of the previous terminal, the application can be easily moved to the changed terminal.
또한, 클라우드 서버에 어플리케이션의 바이너리 및 데이터를 모두 백업함으로써, 어플리케이션을 스토어에서 다운로드하여 설치한 경우를 가정할 때, 어플리케이션을 복구할 때, 어플리케이션 바이너리를 다시 스토어로부터 다운로드할 필요가 없어지므로, 다운로드한 스토어의 정보 혹은 사용자의 어플리케이션 구매 정보를 별도로 저장할 필요도 없어지며, 스토어에서 다운로드 횟수를 제한할 경우 다시 다운로드가 되지 않을 위험도 방지할 수 있다.In addition, by backing up all the binaries and data of the application to the cloud server, assuming that the application is downloaded and installed from the store, when the application is restored, there is no need to download the application binary from the store again. There is no need to store the information of the store or the application purchase information of the user separately, and if you limit the number of downloads in the store can also prevent the risk of not being downloaded again.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 케리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.The present invention can also be embodied as computer-readable codes on a computer-readable recording medium. Computer-readable recording media include all kinds of recording devices that store data that can be read by a computer system. Examples of the computer-readable recording medium include a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like, and may be implemented in the form of a carrier wave (for example, transmission over the Internet) . In addition, the computer-readable recording medium may be distributed over network-connected computer systems so that computer readable codes can be stored and executed in a distributed manner. In addition, functional programs, codes, and code segments for implementing the present invention can be easily inferred by programmers in the art to which the present invention belongs.
본 발명은 첨부된 도면에 도시된 일 실시예를 참고로 설명되었으나, 이는 예시적인 것에 불과하며, 당해 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 수 있을 것이다. 따라서, 본 발명의 진정한 보호 범위는 첨부된 청구 범위에 의해서만 정해져야 할 것이다.Although the present invention has been described with reference to one embodiment shown in the accompanying drawings, it is merely an example, and those skilled in the art may realize various modifications and equivalent other embodiments therefrom. I can understand. Accordingly, the true scope of protection of the present invention should be determined only by the appended claims.
Claims (6)
상기 모바일 플랫폼 상에서 구동중인 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 상기 어플리케이션의 백업을 요청하는 백업요청단계;
상기 어플리케이션 인터페이스로부터 상기 어플리케이션의 바이너리, 데이터, 상기 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 수신하는 수신단계;
상기 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 클라우드 서버에서 가상 스토리지를 할당받는 스토리지할당단계; 및
상기 수신된 바이너리, 데이터, 상기 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 상기 할당받은 가상 스토리지에 저장하는 저장단계를 포함하는 것을 특징으로 하는 모바일 플랫폼에서의 어플리케이션 보관 방법.In the application storage method in the mobile platform that the data access rights between applications are limited,
A backup request step of requesting a backup of the application to an application interface mounted in a library form to an application running on the mobile platform;
A receiving step of receiving binary, data, metadata of the binary and metadata of the data from the application interface;
A storage allocation step of allocating virtual storage at a cloud server based on the received metadata of the binary and metadata of the data; And
And storing the received binary, data, metadata of the binary and metadata of the data in the allocated virtual storage.
상기 바이너리의 메타데이터 및 데이터의 메타데이터는 데이터베이스 형태인 것을 특징으로 하는 모바일 플랫폼에서의 어플리케이션 보관 방법.The method of claim 1,
Meta data of the binary and metadata of the data is an application storage method in a mobile platform, characterized in that the database.
외부로부터 상기 어플리케이션에 대한 복구 요청을 수신하는 단계;
상기 복구 요청에 따라 상기 가상 스토리지로부터 상기 저장된 상기 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 다운로드하는 단계;
상기 수신된 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 기초로 상기 복구 요청된 어플리케이션의 복구 여부를 결정하는 복구여부 결정단계; 및
상기 결정된 복구 여부에 따라 상기 가상 스토리지로부터 상기 바이너리 및 상기 데이터를 다운로드하여 상기 바이너리 및 상기 데이터를 복구하는 복구단계를 더 포함하는 것을 특징으로 하는 특징으로 하는 모바일 플랫폼에서의 어플리케이션 보관 방법.The method of claim 1,
Receiving a recovery request for the application from the outside;
Downloading metadata of the stored binary and metadata of the data from the virtual storage according to the recovery request;
A recovery step determining whether to recover the requested application for recovery based on the received metadata of the binary and the metadata of the data; And
And restoring the binary and the data by downloading the binary and the data from the virtual storage according to the determined recovery.
상기 복구여부 결정단계는
상기 복구 요청된 어플리케이션과 동일한 어플리케이션이 상기 모바일 플랫폼 상에서 현재 구동 중인지를 확인하는 단계;
상기 현재 구동 중으로 확인되면, 상기 현재 구동 중인 어플리케이션의 버전 정보와 상기 수신된 바이너리의 메타데이터 중 버전 정보를 확인하여 상기 현재 구동 중인 어플리케이션이 최신이 아닌지를 판단하는 단계; 및
상기 현재 구동 중인 어플리케이션이 최신이 아닌 경우에는 상기 복구 요청된 어플리케이션을 복구하도록 결정하는 단계를 포함하는 것을 특징으로 하는 모바일 플랫폼에서의 어플리케이션 보관 방법.The method of claim 3,
The recovery decision step
Confirming whether the same application as the requested application is currently running on the mobile platform;
Determining whether the currently running application is up-to-date by checking version information of the currently running application and version information of metadata of the received binary when the current driving is performed; And
And determining to recover the requested application when the current running application is not up-to-date.
상기 복구 단계는
상기 결정된 복구 여부에 따라 상기 가상 스토리지로부터 상기 바이너리 및 상기 데이터를 다운로드하는 단계;
상기 모바일 플랫폼에 내장된 패키지 설치 모듈을 이용하여 상기 수신된 바이너리를 기초로 어플리케이션을 재설치하는 단계; 및
상기 재설치된 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 상기 수신된 데이터를 전달하여 상기 재설치된 어플리케이션의 데이터를 복구시키는 단계를 포함하는 것을 특징으로 하는 모바일 플랫폼에서의 어플리케이션 보관 방법.The method of claim 3,
The recovery step
Downloading the binary and the data from the virtual storage according to the determined recovery;
Reinstalling an application based on the received binaries using a package installation module embedded in the mobile platform; And
Recovering the data of the reinstalled application by transferring the received data to the application interface mounted in the form of a library to the reinstalled application.
상기 모바일 플랫폼 상에서 구동중인 어플리케이션에 라이브러리 형태로 탑재된 어플리케이션 인터페이스에 상기 어플리케이션의 백업을 요청하는 기능;
상기 어플리케이션 인터페이스로부터 상기 어플리케이션의 바이너리, 데이터, 상기 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 수신하는 기능;
상기 수신된 바이너리의 메타데이터 및 데이터의 메타데이터를 기초로 클라우드 서버에서 가상 스토리지를 할당받는 기능; 및
상기 수신된 바이너리, 데이터, 상기 바이너리의 메타데이터 및 상기 데이터의 메타데이터를 상기 할당받은 가상 스토리지에 저장하는 기능을 포함하는 프로그램을 수록한 컴퓨터로 읽을 수 있는 기록매체.In a computer-readable recording medium containing a program containing a function for storing the application on a mobile platform where the data access rights between applications are limited,
Requesting a backup of the application to an application interface mounted in a library form to an application running on the mobile platform;
Receiving binary, data, metadata of the binary and metadata of the data from the application interface;
A function of receiving virtual storage at a cloud server based on metadata of the received binary and metadata of the data; And
And a program including a function of storing the received binary, data, metadata of the binary, and metadata of the data in the allocated virtual storage.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100130937A KR20120069400A (en) | 2010-12-20 | 2010-12-20 | Application backup method in mobile platform |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020100130937A KR20120069400A (en) | 2010-12-20 | 2010-12-20 | Application backup method in mobile platform |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120069400A true KR20120069400A (en) | 2012-06-28 |
Family
ID=46687649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100130937A KR20120069400A (en) | 2010-12-20 | 2010-12-20 | Application backup method in mobile platform |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120069400A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014092292A1 (en) * | 2012-12-12 | 2014-06-19 | 에스케이플래닛 주식회사 | Method and system for cloud- and streaming-based data transfer, client terminal and service apparatus |
KR101508273B1 (en) * | 2013-03-27 | 2015-04-07 | 주식회사 케이티 | Method for assigning resource using cloud application programming interface key and apparatus therefor |
KR20150117310A (en) * | 2014-04-09 | 2015-10-20 | 주식회사 엘지유플러스 | Firmware Update System, Application Server, Communicational Terminal, Firmware and Data Control Method, and Resource Assignment Method for Data Upload and Firmware Update |
WO2016047814A1 (en) * | 2014-09-22 | 2016-03-31 | 주식회사 케이티 | Resource allocation method using cloud api key, and apparatus therefor |
WO2016191152A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | System and method for automatic cloud-based full-data backup and restore on mobile devices |
-
2010
- 2010-12-20 KR KR1020100130937A patent/KR20120069400A/en not_active Application Discontinuation
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014092292A1 (en) * | 2012-12-12 | 2014-06-19 | 에스케이플래닛 주식회사 | Method and system for cloud- and streaming-based data transfer, client terminal and service apparatus |
KR101430928B1 (en) * | 2012-12-12 | 2014-08-18 | 에스케이플래닛 주식회사 | Method for moving data based on cloud steaming, system, client terminal and service apparatus |
KR101508273B1 (en) * | 2013-03-27 | 2015-04-07 | 주식회사 케이티 | Method for assigning resource using cloud application programming interface key and apparatus therefor |
KR20150117310A (en) * | 2014-04-09 | 2015-10-20 | 주식회사 엘지유플러스 | Firmware Update System, Application Server, Communicational Terminal, Firmware and Data Control Method, and Resource Assignment Method for Data Upload and Firmware Update |
WO2016047814A1 (en) * | 2014-09-22 | 2016-03-31 | 주식회사 케이티 | Resource allocation method using cloud api key, and apparatus therefor |
US10164902B2 (en) | 2014-09-22 | 2018-12-25 | Kt Corporation | Resource allocation method using cloud API key and apparatus therefor |
CN107667351A (en) * | 2015-05-27 | 2018-02-06 | 谷歌公司 | The system and method for the full data backup and resume for being automatically based upon cloud on mobile device |
GB2554555A (en) * | 2015-05-27 | 2018-04-04 | Google Llc | System and method for automatic cloud-based full-data backup and restore on mobile devices |
WO2016191152A1 (en) * | 2015-05-27 | 2016-12-01 | Google Inc. | System and method for automatic cloud-based full-data backup and restore on mobile devices |
US10455015B2 (en) | 2015-05-27 | 2019-10-22 | Google Llc | System and method for automatic cloud-based full-data backup and restore on mobile devices |
US11178224B2 (en) | 2015-05-27 | 2021-11-16 | Google Llc | System and method for automatic cloud-based full-data backup on mobile devices |
CN107667351B (en) * | 2015-05-27 | 2021-12-21 | 谷歌有限责任公司 | System and method for automatic cloud-based full data backup and restore on mobile devices |
US11245758B2 (en) | 2015-05-27 | 2022-02-08 | Google Llc | System and method for automatic cloud-based full-data restore to mobile devices |
EP4040297A1 (en) * | 2015-05-27 | 2022-08-10 | Google LLC | System and method for automatic cloud-based full-data backup and restore on mobile devices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9032387B1 (en) | Software distribution framework | |
EP2652599B1 (en) | System reset | |
US10810017B2 (en) | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file | |
CN103617380A (en) | Application program authority dynamic control method and system | |
CN103488471A (en) | Updating hardware libraries for use by applications on a computer system with an fpga coprocessor | |
US10505795B2 (en) | Method for providing a trial environment to enable user to try out application in cloud environment and server using the same | |
CN107220074B (en) | Method and device for accessing and upgrading supporting layer software function | |
JP5951145B2 (en) | Operating system recovery method, apparatus, and terminal device | |
CN102591675A (en) | Method and system for management of multiple software images with shared memory blocks | |
KR20120069400A (en) | Application backup method in mobile platform | |
EP2805233B1 (en) | Installation engine and package format for parallelizable, reliable installations | |
US9208320B2 (en) | Software distribution system and software distribution method | |
CN110597568B (en) | Plug-in deployment method, system and terminal | |
EP2953023B1 (en) | Information processing apparatus, application management method, and program | |
CN111433747B (en) | Virtual memory for loading operating systems | |
CN113867768A (en) | Operating system processing method and device, electronic equipment and storage medium | |
JP2015197916A (en) | Method for operating two or more operating system and electronic equipment | |
US8364598B2 (en) | Use of software update policies | |
CN107667343B (en) | System and method for loading on-demand resources | |
KR102353475B1 (en) | Application Providing System using Cloud Virtual File, Cloud Server and Application Providing Method, Service Server and Service Method, Mobile and Application Practicing Method | |
US20120005677A1 (en) | Computing Machine and Method for Controlling Computing Machine | |
US9448782B1 (en) | Reducing a size of an application package | |
CA2878759A1 (en) | Methods and systems for providing software applications | |
US20220342995A1 (en) | Secure boot runtime universal filesystem | |
CN114969720A (en) | Installation method and device of android application, storage medium and computer equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |