KR102204047B1 - 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 - Google Patents
모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 Download PDFInfo
- Publication number
- KR102204047B1 KR102204047B1 KR1020130102735A KR20130102735A KR102204047B1 KR 102204047 B1 KR102204047 B1 KR 102204047B1 KR 1020130102735 A KR1020130102735 A KR 1020130102735A KR 20130102735 A KR20130102735 A KR 20130102735A KR 102204047 B1 KR102204047 B1 KR 102204047B1
- Authority
- KR
- South Korea
- Prior art keywords
- application program
- mobile terminal
- resource
- unsupported
- resources
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0626—Reducing size or complexity of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Stored Programmes (AREA)
- Telephone Function (AREA)
Abstract
본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치는 수신된 응용프로그램을 설치하는 저장부, 기 저장된 단말 정보에 기초하여 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류하는 리소스 분석부 및 설치된 응용프로그램으로부터 분류된 미지원 리소스를 삭제하는 리소스 제어부를 포함한다. 기 저장된 단말 정보는 모바일 단말의 하드웨어 정보 및 소프트웨어 정보를 포함할 수 있으며, 사용자 또는 제조사에 의해 모바일 단말에 불필요하다고 설정된 응용프로그램 리소스에 대한 정보를 포함하거나, 둘 이상의 응용프로그램 리소스 중에서 상기 설치된 응용프로그램이 사용한 상기 응용프로그램 리소스에 대한 사용 이력에 대한 정보를 포함할 수 있다.
Description
본 발명은 모바일 단말기의 저장공간 관리에 관한 기술로서, 보다 상세하게는 모바일 단말 내부의 저장공간 사용량을 줄이는 기술에 관한 것이다.
과거의 모바일 단말은 다른 사람과의 통화 서비스 및 문자메시지 서비스와 같은 전화기의 기능에 초점이 맞추어져 사용되어 왔다. 모바일 단말 기술이 발전하면서, MP3 플레이어이나 동영상 플레이어와 같은 기능들이 추가되면서 점차, 그 기능이 복잡해지고 있다. 특히, 최근에는 모바일 단말이 스마트폰이나 태블릿 PC의 형태를 나타내면서, 다양한 종류의 응용프로그램(Application)을 설치하여, 사용자가 필요로 하는 다양한 기능을 구현하게 되었다.
이처럼 다양한 기능을 구비한 모바일 단말은 여러 응용프로그램의 데이터를 저장하기 위한 저장공간을 필요로 한다. 이와 같이 모바일 단말이 스마트 기기화 됨에 따라서 소용량의 저장공간을 필요로 하던 과거와 달리 점차 더 많은 용량을 필요로 하게 되었다. 모바일 단말의 성능 향상에 따라 응용프로그램은 보다 나은 그래픽과 기능을 구현하면서 응용프로그램의 크기가 비약적으로 증가하는 반면에, 모바일 단말은 한정된 저장공간을 가진다. 이에 따라, 모바일 단말의 운용에 어려움을 겪고 한계를 볼 수 있다.
모바일 단말의 저장공간 부족을 해결하기 위한 방법으로 불필요한 응용프로그램을 직접적으로 삭제하거나 소정의 설정에 따라 삭제시키는 방법을 사용한다. 대한민국 공개특허 제10-2006-0016578호는 이동통신 단말기의 메모리 관리 방법에 관한 기술을 기재하고 있다. 대한민국 공개특허 제10-2006-0016578호에서는 동일한 타입을 갖는 콘텐츠별로 그룹화하여 메모리에 저장하고, 특정 콘텐츠 저장을 위한 메모리 공간이 부족할 경우에 실제 저장 비율이 기 설정된 권장 저장 비율을 초과하는 콘텐츠 그룹에 속한 콘텐츠가 선택적으로 삭제된다. 이처럼, 모바일 단말의 저장공간을 확보하기 위해서는 특정 응용프로그램이나 특정 콘텐츠를 직접 삭제하는 방법이 사용되고 있다. 하지만, 이와 같은 방법은 해당 응용프로그램이 필요할 때, 새롭게 설치를 해야하는 번거로움이 존재한다.
본 발명이 해결하고자 하는 과제는 저장공간이 한정된 모바일 단말에 다수의 응용프로그램 설치에 따른 모바일 단말의 저장공간을 확보하면서, 저장공간 확보 시, 응용프로그램을 삭제하는 것이 아니라 불필요한 데이터만을 삭제하는 장치 및 방법을 제공하는 것이다.
본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치는 수신된 응용프로그램을 설치하는 저장부, 기 저장된 단말 정보에 기초하여 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류하는 리소스 분석부 및 설치된 응용프로그램으로부터 분류된 미지원 리소스를 삭제하는 리소스 제어부를 포함한다. 기 저장된 단말 정보는 모바일 단말의 하드웨어 정보 및 소프트웨어 정보를 포함할 수 있으며, 사용자 또는 제조사에 의해 모바일 단말에 불필요하다고 설정된 응용프로그램 리소스에 대한 정보를 포함하거나, 둘 이상의 응용프로그램 리소스 중에서 상기 설치된 응용프로그램이 사용한 상기 응용프로그램 리소스에 대한 사용 이력에 대한 정보를 포함할 수 있다.
미지원 리소스는 모바일 단말이 지원하지 않는 해상도의 이미지 파일 또는 동영상 파일이거나, 모바일 단말이 지원하지 않는 언어 파일 또는 모바일 단말의 플랫폼에 대응하지 않는 데이터 파일일 수 있다. 그리고 리소스 제어부는 설치된 응용프로그램 패키지를 분해하고, 미지원 리소스를 삭제한 후, 분해된 응용프로그램 패키지를 병합한다. 리소스 분석부는 설치된 응용프로그램에 포함된 응용프로그램 리소스를 검색하고, 기 저장된 단말 정보를 분석하여, 분석된 단말 정보에 기초하여 검색된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류한다.
그리고, 리소스 분석부는 저장부의 가용공간이 기 설정된 소정의 용량 이하로 줄어들면, 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류한다. 또한, 리소스 분석부는 사용자의 요청에 기초하여 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류한다.
본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법은 먼저, 기 저장된 단말 정보에 기초하여 모바일 단말에 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분석한다. 그리고 분석 결과에 따라, 설치된 응용프로그램에서 분석된 미지원 리소스를 삭제한다. 미지원 리소스를 분석하는 과정은 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스를 검색하고, 모바일 단말에 기 저장된 단말 정보를 분석한 후, 분석된 단말 정보에 기초하여 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류한다. 설치된 응용프로그램에서 상기 분석된 미지원 리소스를 삭제하는 과정은 응용프로그램의 패키지를 분해하고, 분해된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 검색하여 검색된 미지원 리소스를 삭제한 후, 분해된 응용프로그램 패키지를 다시 병합한다.
본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법은 모바일 단말에 설치된 응용프로그램에서 불필요한 데이터를 삭제할 수 있어, 모바일 단말 내부의 가용 메모리(저장공간)를 더 확보할 수 있으며, 설치된 응용프로그램 내의 불필요한 데이터만을 삭제하기 때문에 문제없이 응용프로그램을 실행할 수 있다. 이를 통해 동일 저장고 간에 모다 많은 응용프로그램을 설치하여 이용할 수 있으며, 내부 저장공간의 효율적 사용을 통한 가상메모리 영역의 확대로 시스템 성능을 향상시킬 수 있다.
도 1은 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 일 실시예를 나타내는 구성도이다.
도 2는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 응용프로그램 구조를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법을 나타내는 흐름도이다.
도 5a는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 응용프로그램 분석 과정을 나타내는 흐름도이다.
도 5b는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 미지원 리소스 삭제 과정을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름의 다른 실시예를 나타낸다.
도 2는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 응용프로그램 구조를 나타내는 구성도이다.
도 3은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름을 나타내는 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법을 나타내는 흐름도이다.
도 5a는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 응용프로그램 분석 과정을 나타내는 흐름도이다.
도 5b는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 미지원 리소스 삭제 과정을 나타내는 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름의 다른 실시예를 나타낸다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세하게 설명한다. 본 명세서에서 사용되는 용어는 실시예에서의 기능 및 효과를 고려하여 선택된 용어들로서, 그 용어의 의미는 사용자 또는 운용자의 의도 또는 업계의 관례 등에 따라 달라질 수 있다. 따라서 후술하는 실시예들에서 사용된 용어의 의미는, 본 명세서에 구체적으로 명시된 경우에는 명시된 정의에 따르며, 구체적으로 명시하지 않는 경우, 당업자들이 일반적으로 인식하는 의미로 해석되어야 할 것이다.
도 1은 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 일 실시예를 나타내는 구성도이다.
도 1을 참조하면, 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치(100)는 리소스 분석부(110), 리소스 제어부(120) 및 저장부(130)를 포함한다.
저장부(130)는 모바일 단말 내부에 구비된 메모리 또는 저장공간을 의미한다. 모바일 단말은 구비된 내부 메모리에 모바일 단말을 구동하기 위한 여러 데이터 및 운영체제(OS)를 저장하고 있다. 그리고 저장부(130)는 제조사 또는 사용자에 의해 외부로부터 수신된 다양한 종류의 응용프로그램이 설치된다. 일반적으로 모바일 단말의 내부 메모리는 이동성 및 휴대성을 강조하는 모바일 단말의 특징에 의해 용량이 한정되며, 확장에 제한이 있다. 저장부(130)는 이러한 모바일 단말의 특징 때문에, 용량이 한정되며, 확장에 제한이 있기 때문에 가용한 저장공간 확보는 저장부(130)를 관리하는데 매우 중요한 요소이다.
리소스 분석부(110)는 저장부(130)에 설치된 응용프로그램의 리소스를 검색한다. 본 발명에서는 응용프로그램의 구조를 크게 응용프로그램 실행 데이터 및 응용프로그램 리소스로 구분하여 정의한다. 응용프로그램 실행 데이터는 해당 응용프로그램을 실행하고 기능을 구현하기 위한 필수적인 데이터로서, 일반적으로 컴파일된 응용프로그램의 소스코드가 응용프로그램 실행 데이터이다. 즉, 응용프로그램 실행 데이터는 해당 응용프로그램을 실행시키는 가장 기본적인 구성요소이며, 응용프로그램의 기능(연산)을 구현하는 부분이다.
응용프로그램 리소스는 각각의 모바일 단말을 고려하여 응용프로그램 실행 데이터가 선택적으로 사용하는 데이터로서, 응용프로그램에 포함된 동영상, 이미지, 언어 및 폰트(Font) 등을 포함할 수 있다. 예를 들어, 안드로이드 운영체제는 개방형 운영체제이기 때문에, 안드로이드 운영체제를 탑재한 스마트폰은 다양한 제조사에서 다양한 형태와 화면 크기/비율을 가지고 출시되고 있다. 따라서, 안드로이드 운영체제를 탑재한 스마트폰을 위해 만들어진 응용프로그램은 다양한 제조사에서 다양한 형태로 출시된 스마트폰 각각에 대응할 수 있어야 한다. 각각의 스마트폰이 해상도가 서로 다르거나, 가로/세로 비율이 서로 다른 경우, 응용프로그램은 각각의 해상도에 대응하는 동영상이나 이미지 그리고 사용자 인터페이스를 모바일 단말의 화면에 표현할 수 있어야 한다.
따라서, 하나의 응용프로그램은 다수의 스마트폰에 대응하기 위해 서로 다른 해상도를 가지는 둘 이상의 동영상, 이미지 및 사용자 인터페이스를 포함해야 한다. 또한, 하나의 응용프로그램은 다양한 언어를 사용하는 사용자의 편의를 충족시키기 위해 한글, 영어 및 일본어와 같이 다양한 국가의 언어를 포함할 수 있다. 응용프로그램의 글자 모양을 나타내는 폰트 또한 사용자의 취향 등에 맞추어 둘 이상의 폰트를 포함할 수 있다.
또한, 하나의 응용프로그램은 하나의 플랫폼 또는 하나의 운영체제에서만 실행되는 것이 아니라, 두 개 이상의 플랫폼 또는 운영체제에서 실행될 수 있다. 예를 들어, HTML5(Hyper Text Markup Language 5) 기반의 응용프로그램은 모바일 단말의 플랫폼이나 운영체제에 종속되지 않고, 복수의 플랫폼에서 실행될 수 있다. 하지만, 플랫폼에 종속되지 않더라도, 응용프로그램의 종류 또는 플랫폼의 종류에 따라 별도의 데이터 파일을 필요로 할 수 있다. 예를 들어, 안드로이드 운영체제에서만 필요로 하는 데이터 파일과 iOS 운영체제에서만 필요로 하는 데이터 파일을 모두 포함할 수 있다. 이러한 경우, 모바일 단말은 플랫폼 또는 운용체제에 대응하는 데이터 파일을 사용하게 되고, 해당 모바일 단말과 관계없는 플랫폼 또는 운영체제에 대응하는 파일은 불필요한 파일로 구분될 수 있다. 이처럼, 선택적으로 사용되는 데이터를 응용프로그램 리소스로 정의한다.
이와 같이 하나의 응용프로그램은 응용프로그램 구동을 위해 필수적인 실행 데이터와 실행 데이터에 의해 선택적으로 사용되는 리소스로 구분할 수 있다. 응용프로그램을 제작사는 최대한 많은 수의 모바일 단말에 응용프로그램을 적용하기 위해 다양한 모바일 단말 각각에 대응하기 위한 응용프로그램 리소스를 응용프로그램에 포함시키게 된다. 하지만, 특정 모바일 단말에 일단 응용프로그램이 설치되고나면, 다수의 응용프로그램 리소스 중에서 해당 모바일 단말에 대응하는 응용프로그램 리소스 만을 사용한다. 예를 들어, 해당 모바일 단말이 1280*720(HD) 해상도를 가진다면, 응용프로그램 리소스에 포함된 동영상, 이미지 또는 사용자 인터페이스는 1280*720 해상도에 대응하는 동영상, 이미지 또는 사용자 인터페이스만을 사용할 뿐, 다른 해상도를 가지는 동영상, 이미지 또는 사용자 인터페이스는 사용하지 않는다.
그리고, 응용프로그램 리소스 중에서 해당 모바일 단말이 보유한 코덱으로 디코딩이 불가능한 동영상이 포함되는 경우, 이러한 동영상 또한 불필요한 파일이 될 수 있다. 또한, 특정 언어나 폰트 또한 사용 국가나 설정 등에 따라 특정 언어나 폰트만 사용될 수 있다. 따라서, 설치된 응용프로그램에 포함된 다수의 응용프로그램 리소스 중에서 해당 모바일 단말에서 사용되지 않는 응용프로그램 리소스는 저장부(110)의 저장공간을 낭비시킨다. 응용프로그램의 구조는 후술하는 도 2에서 상세히 설명하도록 한다.
리소스 분석부(120)는 저장부(110)에 설치된 응용프로그램 리소스를 검색하고, 해당 모바일 단말의 단말 정보를 분석한다. 단말 정보는 해당 모바일 단말의 해상도, 화면비율 또는 언어에 대한 정보를 포함하며, 사용자 또는 제조사에 의해 설정된 필수 응용프로그램 리소스에 대한 정보를 포함할 수 있다. 필수 응용프로그램 리소스는 해당 모바일 단말에서 필요로 하는 응용프로그램 리소스의 목록 또는 설정을 포함하는 관련 정보로서, 사용자 또는 제조사에 의해 설정될 수 있다. 예를 들어, 리소스 분석부(120)는 단말 정보를 통해 해당 모바일 단말이 지원하지 않는 해상도 및 언어를 확인할 수 있으며, 사용자가 한글 및 영어를 제외한 언어 사용을 제한한다면 한글 및 영어는 필수 응용프로그램 리소스가 될 수 있다. 반면에, 사용자가 선택한 한글 및 영어 이외의 언어 데이터를 불필요한 데이터로 확인할 수 있다.
또한, 단말 정보는 모바일 단말을 소유한 사용자의 사용 이력에 대한 정보를 포함할 수 있다. 사용자가 해당 응용프로그램을 사용하는 과정에서 사용한 리소스와 사용하지 않은 리소스를 구분한 사용자의 사용 이력을 통해 리소스 분석부(120)는 해당 리소스에 대해 미지원 리소스라고 판단할 수 있다.
그리고 리소스 분석부(120)는 검색된 응용프로그램 리소스와 분석된 단말 정보를 고려하여, 설치된 응용프로그램이 포함하는 하나 이상의 응용프로그램 리소스 중에서 해당 모바일 단말이 필요로 하지 않는 미지원 리소스를 검색한다. 리소스 분석부(120)는 상술한 단말 정보에 기초하여 설치된 응용프로그램 리소스 중에서 해당 모바일 단말에서 불필요한 미지원 리소스를 검색한다. 단말 정보는 각각의 모바일 단말의 하드웨어 및 소프트웨어 정보이거나, 제조사에 의해 설정된 미지원 리소스에 대한 정보 그리고 사용자에 의해 불필요하다고 설정되거나 사용자 이력으로부터 불필요하다고 판단된 리소스에 대한 정보를 포함한다.
미지원 리소스는 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 불필요한 응용프로그램 리소스를 나타낸다. 모바일 단말의 응용프로그램은 서로 다른 하드웨어 및 소프트웨어를 가지는 다수의 모바일 단말에 모두 설치되어 실행될 수 있도록 다수의 모바일 단말에 대응하는 리소스 파일을 구비한다. 하지만, 응용프로그램이 설치된 모바일 단말에 대응하지 않는 리소스 파일은 저장부(130)에서 불필요한 공간을 차지하기 때문에 미지원 리소스로 분류한다. 예를 들어, 해당 모바일 단말의 해상도에 대응하지 않는 이미지 또는 동영상을 미지원 리소스로 분류할 수 있으며, 해당 모바일 단말에 대응하지 않는 폰트나 언어도 미지원 리소스로 분류할 수 있다. 그리고, 만약 응용프로그램이 하나의 플랫폼이 아닌 둘 이상의 플랫폼에서 실행될 수 있는 HTML5 기반의 응용프로그램이라면, 응용프로그램은 둘 이상의 플랫폼 각각에 대응하기 위한 각각의 데이터 파일을 포함할 수 있다. 이러한 경우, 응용프로그램이 모바일 단말에 설치되면, 해당 모바일 단말의 플랫폼과 관련없는 다른 플랫폼을 위한 데이터 파일은 불필요한 파일이기 때문에, 미지원 리소스로 분류될 수 있다.
리소스 분석부(110)는 응용프로그램이 설치된 직후, 저장부(130)에 설치된 응용프로그램의 리소스를 분석하여 미지원 리소스를 분류할 수 있다. 그리고, 리소스 분석부(110)는 사용자의 요청이 있을 때, 설치된 응용프로그램의 리소스를 분석하여 미지원 리소스를 분류할 수 있다. 또한, 리소스 분석부(110)는 저장부(130)의 가용공간이 기 설정된 용량 이하로 줄어들 경우, 자동으로 설치된 응용프로그램의 리소스를 분석하여 미지원 리소스를 분류할 수 있다. 리소스 분석부(110)가 응용프로그램의 리소스를 분석하는 시점은 특정 시점에 한정되는 것은 아니며, 설정에 따라 달라질 수 있다.
이와 같이 단말 정보에 기초하여 다수의 응용프로그램 리소스 중에서 미지원 리소스를 분류하여 분석하고, 분석한 결과를 리소스 제어부(130)로 전달한다.
리소스 제어부(130)는 리소스 분석부로부터 수신된 미지원 리소스 분석 결과에 기초하여 저장부(110)에 설치된 응용프로그램의 응용프로그램 리소스 중에서 불필요한 미지원 리소스를 삭제한다. 리소스 분석부(110)으로부터 수신된 미지원 리소스 분석 결과는 저장부(130)에 설치된 응용프로그램의 응용프로그램 리소스를 분석하여, 응용프로그램 리소스 중에서 해당 단말이 필요로 하지 않는 미지원 리소스에 대한 정보를 포함하고 있다. 리소스 제어부(130)는 미지원 리소스 분석 결과에 기초하여 불필요한 미지원 리소스를 설치된 응용프로그램에서 삭제한다.
예를 들어, 해당 모바일 단말이 지원하지 않는 해상도의 동영상 또는 이미지를 삭제하거나, 미지원 언어 데이터를 삭제할 수 있다. 리소스 제어부(130)는 모바일 단말을 구동하는 운영체제 또는 설치된 응용프로그램의 종류에 따라 미지원 리소스를 삭제하기 위해 해당 응용프로그램 패키지를 분해하고, 병합하는 과정을 추가적으로 수행할 수 있다. 예를 들어, 안드로이드 운영체제에서 응용프로그램은 안드로이드 패키지(Android Package, APK) 형태로 모바일 단말에 설치된다. 따라서 리소스 제어부(130)는 미지원 리소스를 삭제하기 전에, 응용프로그램 패키지를 분해하고, 미지원 리소스를 삭제하고, 응용프로그램 패키지를 다시 병합한다.
리소스 제어부(120)는 리소스 분석부(110)로부터 미지원 리소스 분석 결과가 수신되면, 바로 저장부(130)에 설치된 응용프로그램에서 미지원 리소스를 제거할 수 있다. 그리고, 리소스 제어부(120)는 리소스 분석부(110)로부터 미지원 리소스 분석 결과를 수신하고, 저장부(130)의 가용공간이 기 설정된 소정의 용량 이하로 줄어들 경우, 저장부(130)에 설치된 응용프로그램에서 미지원 리소스를 제거할 수 있다. 또한, 리소스 제어부(120)는 사용자의 요청에 의해 저장부(130)에 설치된 응용프로그램에서 미지원 리소스를 제거할 수 있다. 이와 같이, 리소스 제어부(120)가 수신된 미지원 리소스 분석 결과에 기초하여 저장부(130)에 설치된 응용프로그램에서 미지원 리소스를 제거하는 시점은 특정 시점으로 한정되는 것은 아니며, 설정에 따라 달라질 수 있다.
도 2는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 응용프로그램 구조를 나타내는 구성도이다.
도 2를 참조하면, 응용프로그램 구조(200)는 응용프로그램 실행 데이터(210) 및 응용프로그램 리소스(230)를 포함한다.
응용프로그램 실행 데이터(210)는 해당 응용프로그램을 실행하고 기능을 구현하기 위한 필수적인 데이터로서, 대표적으로 실행에 필요한 소스코드 및 컴파일 된 결과물을 포함한다. Classes.dex 파일(211)은 대표적인 안드로이드 운영체제의 컴파일된 응용프로그램의 소스코드이다.
응용프로그램 리소스(230)는 응용프로그램 실행 데이터(210)가 응용프로그램을 실행하는 과정에서 선택적으로 사용하는 데이터로서, 응용프로그램을 실행하는 과정에서 필요로 하는 이미지, 동영상, 텍스트 또는 폰트 등을 포함한다. Asset 폴더(231)는 안드로이드 운영체제에서 외부에 파일을 저장할 때 사용하는 리소스이다. 그리고, Res 폴더(232)는 안드로이드 운영체제에서 일반적인 리소스이고, Resource.arsc 파일(233)은 안드로이드 운영체제에서 컴파일 가능한 응용프로그램의 리소스 데이터이다.
응용프로그램 리소스(230)에 포함된 각각의 데이터는 동일한 내용의 데이터를 모든 모바일 단말에 공통적으로 적용될 수 있으나, 응용프로그램 리소스(230)에 따라 동일한 내용의 데이터가 둘 이상의 모바일 단말 각각에 대응하는 형태로 구현되어 포함될 수 있다. 예를 들어, 서로 다른 해상도를 가지는 모바일 단말에 응용프로그램이 설치되어 실행되기 위해서는 서로 다른 해상도를 가지는 모바일 단말 각각의 해상도에 대응하는 서로 다른 해상도를 가지는 동일 이미지 또는 동영상을 포함할 수 있다. 즉, 동일한 이미지를 서로 다른 해상도를 가지는 다수의 이미지로 응용프로그램 리소스(230)에 포함시킴으로써, 해상도가 서로 다른 둘 이상의 모바일 단말에 대응하는 이미지를 화면에 표시할 수 있다.
하나의 응용프로그램을 다수의 모바일 단말에 설치하기 위해서는 다수의 모바일 단말에 대응할 수 있는 서로 다른 해상도를 가지는 둘 이상의 동영상, 이미지 및 사용자 인터페이스를 포함해야 한다. 또한, 하나의 응용프로그램은 다양한 언어를 사용하는 사용자의 편의를 충족시키기 위해 한글, 영어 및 일본어와 같이 다양한 국가의 언어를 포함할 수 있다. 응용프로그램의 글자 모양을 나타내는 폰트 또한 사용자의 취향 등에 맞추어 둘 이상의 폰트를 포함할 수 있다.
표 1은 안드로이드 운영체제를 탑재한 모바일 단말의 실제 응용프로그램의 리소스 구조의 일례이다.
Directory | Resource Type |
animator/ | Animation 동작 |
anim/ | Animation 동작 |
color/ | Color 값들에 대한 저장 |
drawable/ | Bitmap 이미지(.png, .9.png, .jpg, .gif) 그려지는 리소스타입의 XML 파일 - bitmap 파일을 포함 - Nine-patch 파일을 포함 - 상태 list - 도형 - 기타 |
layer/ | UI 인터페이스 레이아웃 정의 파일 |
menu/ | 메뉴를 그려낼 레이아웃 |
raw/ | RAW 상태의 리소스 데이터(이미지 외의 리소스 데이터) |
values/ | XML 파일의 간단한 값들(숫자, 텍스트, 컬러값…) |
xml/ | 실행 시점에 호출될 리소스 |
안드로이드 운영체제에서는 표 1에 분류된 디렉토리와 같이 다수의 응용프로그램 리소스(230)를 목적 및 종류에 따라 분류하여 저장한다. 표 1에 따른 안드로이드 운영체제에서의 응용프로그램 리소스(230)는 응용프로그램의 애니메이션을 동작시키기 위한 데이터, 응용프로그램 내에 표현된 다양한 색(color), 화면에 표시될 이미지, 사용자 인터페이스의 레이아웃/정의 데이터 파일, XML 파일의 값 또는 실행 시점에 호출될 리소스 등 다양한 종류의 데이터를 포함할 수 있다. 또한, 응용프로그램 리소스(230)는 각 국가별로 대응하는 둘 이상의 이동 국가 코드(Mobile Country Code)를 포함하거나, 각 통신사별로 대응하는 둘 이상의 이동망 코드(Mobile Network Code)를 포함할 수 있다. 그리고, 응용프로그램 리소스(230)는 각 언어별로 대응하는 둘 이상의 언어 데이터를 포함하거나, 지역/국가/취향에 따라 서로 다른 둘 이상의 사용자 인터페이스 레이아웃을 포함할 수 있다. 이와 같은 구조를 통해 응용프로그램 리소스(230)는 동일한 내용의 데이터를 여러 기준으로 분류하여 저장함으로써, 다양한 종류의 모바일 단말에 대응할 수 있다.
이와 같은 다수의 응용프로그램 리소스(230)는 응용프로그램이 설치된 각각의 모바일 단말에서 선택적으로 사용되는 데이터 파일로서, 설치되는 모바일 단말의 종류에 따라 또는 설치되는 모바일 단말의 사용자/제조사의 설정에 따라 각각의 모바일 단말에서 선택적으로 사용되는 데이터가 존재하며, 불필요한 데이터가 존재한다.
응용프로그램이 모바일 단말에 설치되면, 둘 이상의 응용프로그램 리소스(230) 중에서 해당 모바일 단말에서 필요로 하는 리소스 및 해당 모바일 단말에서 필요로 하지않는 리소스로 구분될 수 있다. 둘 이상의 응용프로그램 리소스(230)의 필요 유무를 구분하는 방법은 도 1의 단말 정보에 포함된 모바일 단말의 하드웨어/소프트웨어 정보, 사용자 설정 및 응용프로그램 리소스(230) 사용이력 등을 기초로하여 구분할 수 있다. 해당 모바일 단말이 필요로 하지 않는 리소스를 미지원 리소스로 구분하여, 설치된 응용프로그램에서 불필요한 미지원 리소스를 삭제함으로써, 저장공간을 효율적으로 이용할 수 있다. 예를 들어, 특정 모바일 단말이 한글로 설정되어 있으며, 800*600의 해상도를 가진다면, 응용프로그램 리소스(230)에 포함된 이미지 또는 동영상 중에서 800*600 해상도에 대응하지 않는 데이터를 삭제한다. 그리고, 응용프로그램 리소스(230)에 포함된 언어 데이터 중에서 설정된 한글과 일반적으로 이용하는 영어를 제외한 모든 언어 데이터를 삭제할 수 있다.
또한, 특정 모바일 단말이 MPEG3 코덱만 재생할 수 잇으며, 1024*768을 해상도를 가질 경우, 설치된 응용프로그램에 포함된 동영상 중에서 MPEG3 코덱 이외의 코덱을 이용한 동영상 데이터를 삭제하고, 동일한 동영상이 여러 해상도 별로 존재 시 1024*768 해상도 이외의 다른 동영상을 삭제할 수 있다.
도 2에서는 안드로이드 운영체제의 응용프로그램 구조를 예를 들어 설명하였으나, 이는 설명의 편의를 위해 하나의 실시예로서 기재된 것 일뿐, 안드로이드 운영체제의 응용프로그램으로 한정되는 것은 아니며, 모바일 단말에 탑재되는 운영체제의 종류에 관계없이, 정의된 응용프로그램 리소스(230)가 포함된 응용프로그램 모두에 적용할 수 있다
도 3은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름을 나타내는 흐름도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름은 먼저, 저장부(110)에 사용자가 설치하려는 응용프로그램이 수신된다(301). 저장부(110)에 설치하려는 응용프로그램은 모바일 단말에 구비된 무선 통신망 또는 이동 통신망을 통해 다운로드 되거나, PC 등과 유선으로 연결하여 수신받을 수 있다. 응용프로그램을 수신한 저장부(110)는 수신된 응용프로그램을 설치한다(302). 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치는 응용프로그램을 설치한 후, 설치된 응용프로그램에서 미지원 리소스를 제거한다. 이처럼 응용프로그램 설치 전에 미지원 리소스를 삭제하는 것이 아니라, 설치 후에 설치된 응용프로그램에서 미지원 리소스를 삭제한다. 모바일 단말의 운영체제는 단말의 보안을 위하여 일반적으로 설치되는 응용프로그램을 제한한다. 즉, 인증된 응용프로그램만이 제한 없이 모바일 단말에 설치될 수 있다. 사전에 인증된 응용프로그램이 아니거나 응용프로그램의 데이터가 변조되었다면, 모바일 단말에 설치가 제한되거나, 모바일 단말의 보안을 일부 해제해야만 설치가 가능하다.
만약 응용프로그램 설치 과정에서 미지원 리소스를 삭제한다면, 미지원 리소스가 삭제된 응용프로그램은 사전에 인증된 응용프로그램과 데이터에 다소의 차이가 있기 때문에, 이를 설치하기 위해서는 모바일 단말에 데이터가 변조된 응용프로그램의 설치를 가능하게 해야한다. 하지만, 변조된 응용프로그램의 설치를 가능하게 한다면, 모바일 단말의 보안을 크게 위협할 수 있다. 따라서, 응용프로그램의 미지원 리소스는 응용프로그램이 설치된 이후에 수행하는 것이 바람직하다.
응용프로그램이 설치되면, 리소스 분석부(120)는 설치된 응용프로그램을 분석하여 응용프로그램 리소스를 검색한다(303). 본 발명에서는 응용프로그램의 구조를 크게 응용프로그램 실행 데이터 및 응용프로그램 리소스로 구분하여 정의한다. 응용프로그램 실행 데이터는 해당 응용프로그램을 실행하고 기능을 구현하기 위한 필수적인 데이터이고, 응용프로그램 리소스는 각각의 모바일 단말을 고려하여 응용프로그램 실행 데이터가 선택적으로 사용하는 데이터이다.
리소스 분석부(120)는 저장부(110)에 설치된 응용프로그램 리소스를 검색한 후, 해당 모바일 단말의 단말 정보를 분석한다(304). 단말 정보는 해당 모바일 단말의 해상도, 화면비율 또는 언어에 대한 정보를 포함하며, 사용자 또는 제조사에 의해 설정된 필수 응용프로그램 리소스에 대한 정보를 포함할 수 있다. 또한, 단말 정보는 각각의 응용프로그램이 이전에 사용했던 리소스에 대한 사용이력에 대한 정보를 포함할 수 있다. 그리고 리소스 분석부(120)는 설치된 응용프로그램으로부터 검색된 응용프로그램 리소스와 분석된 단말 정보를 고려하여, 설치된 응용프로그램이 포함하는 하나 이상의 응용프로그램 리소스 중에서 해당 모바일 단말이 필요로 하지 않는 미지원 리소스를 분류한다(305). 단말 정보는 모바일 단말의 해상도, 화면비율 또는 사용 언어와 같은 단말의 정보를 포함하고 있기 때문에, 단말 정보에 기초하여 하나 이상의 응용프로그램 리소스 중에서 해당 모바일 단말에 적용되지 않는 불필요한 리소스를 미지원 리소스로 선별할 수 있다. 또한, 단말 정보는 각각의 응용프로그램이 이전에 사용했던 리소스에 대한 사용이력을 포함하고 있기 때문에, 해당 모바일 단말을 소유한 사용자가 사용하지 않는 리소스를 불필요한 리소스로 판단하여 미지원 리소스로 판별할 수 있다. 단말 정보에 기초하여 미지원 리소스를 선별하는 기준은 설정에 따라 달라질 수 있다.
그리고 검색된 미지원 리소스에 대한 정보를 포함하는 미지원 리소스 분류 결과를 리소스 제어부(130)로 전달한다(306). 리소스 분석부(120)에서 단말 정보에 기초하여 응용프로그램 리소스를 분석하여 미지원 리소스를 분류한 결과는 리소스 제어부(130)로 전달되어, 리소스 제어부(130)에서 불필요한 리소스를 삭제하는데 이용된다.
리소스 분석부(120)로부터 미지원 리소스 분석 결과를 수신한 리소스 제어부(130)는 저장부(110)에 저장된 응용프로그램 패키지를 분해한다(307). 모바일 단말이 사용하는 운영체제에 따라서 응용프로그램이 다수의 개별 데이터 파일로 설치되거나 하나의 패키지 파일로 설치될 수 있다. 예를 들어, 안드로이드 운영체제에서 응용프로그램은 안드로이드 패키지(APK) 형태로 모바일 단말에 설치된다. 따라서 리소스 제어부(130)는 미지원 리소스를 삭제하기 위해 먼저, 응용프로그램 패키지를 개별 파일로 분해한다.
다음으로 리소스 제어부(130)는 저장부(110)에 설치된 응용프로그램에 포함된 응용프로그램 리소스 중에서 미지원 리소스를 삭제한다(308). 리소스 분석부(110)으로부터 수신된 미지원 리소스 분석 결과는 저장부(130)에 설치된 응용프로그램의 응용프로그램 리소스를 분석하여, 응용프로그램 리소스 중에서 해당 단말이 필요로 하지 않는 미지원 리소스에 대한 정보를 포함하고 있다. 리소스 제어부(130)는 미지원 리소스 분석 결과에 기초하여 불필요한 미지원 리소스를 설치된 응용프로그램에서 삭제한다. 설치된 응용프로그램에서 불필요한 미지원 리소스가 삭제되면, 리소스 제어부(130)는 미지원 리소스가 제거를 위해 분해된 응용프로그램을 다시 실행가능한 패키지 형태로 병합한다(309). 응용프로그램 패키지를 분해(307)하고, 다시 응용프로그램 패키지를 병합(308)하는 단계는 모바일 단말의 운영체제에 따라 불필요한 경우 생략할 수 있다
도 3에서는 응용프로그램을 설치하는 302 단계 이후, 미지원 리소스를 제거하는 과정(303 단계 내지 309 단계)을 수행한다. 미지원 리소스를 제거하는 303 단계 내지 309 단계는 모바일 단말의 설정에 따라 수행하는 시점이 달라질 수 있다. 예를 들어, 응용프로그램을 설치한 직후, 303 단계 내지 309 단계를 자동으로 수행하여 미지원 리소스를 삭제하도록 설정할 수 있다. 또는, 사용자가 원하는 시점(예를 들어, 저장부(110)의 가용 저장공간가 부족하거나, 가용 메모리가 소정의 기준 이하로 남을 때)에 303 단계 내지 309 단계를 수행하여 미지원 리소스를 삭제하여, 저장부(110)의 가용 메모리를 확보할 수 있다. 또한, 미지원 리소스를 제거하는 303 단계 내지 309 단계는 사용자 문의 없이 응용프로그램 설치 또는 변경시마다 자동으로 적용될 수 있으며, 매 시점마다 사용자에게 리소스 삭제 여부를 확인할 수 있다.
도 4는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법을 나타내는 흐름도이다.
도 4를 참조하면, 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법은 먼저, 응용프로그램을 설치한다(401). 모바일 단말은 무선 통신 또는 이동 통신을 통해 응용프로그램을 다운로드 받거나, PC와 같은 다른 단말 장치와 유선으로 연결하여 응용프로그램을 전달받는다. 그리고 모바일 단말은 수신된 응용프로그램을 내부에 구비된 저장공간에 설치한다. 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법에서는 응용프로그램을 설치하기 전 또는 설치하는 과정에서 불필요한 미지원 리소스를 삭제하는 것이 아니라, 응용프로그램을 설치한 후, 설치된 응용프로그램에서 미지원 리소스를 제거한다. 이는 모바일 단말의 보안을 위한 것으로, 대부분의 모바일 단말 운영체제에서는 모바일 단말의 보안을 위해 인증된 순정 상태의 응용프로그램이 아닌 변조된 응용프로그램의 설치를 제한하고 있다. 변조된 응용프로그램의 설치를 무제한으로 허용한다면, 불법적인 목적을 가지고 해킹 또는 변조된 응용프로그램이 설치되어 모바일 단말의 보안을 크게 저해할 수 있다. 따라서, 본 발명에서는 응용프로그램 설치 후에 미지원 리소스를 삭제함으로써, 변조된 응용프로그램의 설치를 제한하는 보안 상태에서 미지원 리소스 삭제 과정을 수행할 수 있다.
응용프로그램이 설치되면, 설치된 응용프로그램에 포함된 응용프로그램 리소스 중에서 미지원 리소스를 분석한다(402). 미지원 리소스를 분석하기 위해 먼저 설치된 응용프로그램을 분석하여 설치된 응용프로그램에 포함된 응용프로그램 리소스를 검색한다. 그리고 모바일 단말에 기 저장된 단말 정보를 분석한다. 단말 정보는 해당 모바일 단말의 해상도, 화면비율 또는 언어에 대한 정보를 포함하며, 사용자 또는 제조사에 의해 설정된 필수 응용프로그램 리소스에 대한 정보를 포함할 수 있다. 그리고 검색된 응용프로그램 리소스와 분석된 단말 정보를 고려하여, 설치된 응용프로그램이 포함하는 하나 이상의 응용프로그램 리소스 중에서 해당 모바일 단말이 필요로 하지 않는 미지원 리소스를 검색한다. 미지원 리소스를 분석하는 402 단계를 후술하는 도 5a에서 구체적으로 설명하도록 한다.
미지원 리소스 분석 결과, 미지원 리소스가 존재하는지 여부를 판단한다(403). 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스를 단말 정보와 비교하여, 둘 이상의 응용프로그램 리소스 중에서 해당 모바일 단말에서 필요로 하지 않는 미지원 리소스가 존재하는지를 확인한다. 미지원 리소스 분석 결과, 미지원 리소스가 존재하지 않으면, 모바일 단말의 응용프로그램 저장공간 관리를 종료한다.
만약, 미지원 리소스 분석 결과, 미지원 리소스가 존재하면, 미지원 리소스를 삭제한다(404). 미지원 리소스를 분석한 결과에 따라, 둘 이상의 응용프로그램 리소스 중에서 모바일 단말이 필요로 하지 않는 미지원 리소스가 존재한다면, 해당 미지원 리소스를 내부 저장장소에서 삭제한다. 미지원 리소스를 내부 저장장소에서 삭제함으로써, 내부 저장장소의 가용 메모리를 확보할 수 있다.
미지원 리소스가 삭제되면, 더 삭제할 미지원 리소스가 존재하는지 여부를 판단한다(405). 미지원 리소스 분석결과에 기초하여 미지원 리소스를 삭제한 후, 추가적으로 더 삭제할 미지원 리소스가 존재하는지 여부를 확인한다. 만약 더 삭제할 미지원 리소스가 존재한다고 판단되면, 402 단계의 미지원 리소스 분석 단계부터 다시 수행한다. 반면에, 더 삭제할 미지원 리소스가 존재하지 않는다고 판단되면, 모바일 단말의 응용프로그램 저장공간 관리를 종료한다.
본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법에서는 응용프로그램을 설치(401)한 후, 402 단계 내지 405 단계를 수행한다. 402 단계 내지 405 단계는 응용프로그램을 설치한 401 단계 직후, 자동으로 수행될 수 있으며, 모바일 단말에 설치된 응용프로그램에 대해 사용자의 요청에 의해 수행되거나, 모바일 단말에 구비된 내부 저장공간의 가용 메모리가 기 설정된 용량 이하로 떨어지는 경우 수행되도록 설정할 수 있다.
도 5a는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 응용프로그램 분석 과정을 나타내는 흐름도이다.
도 5a를 참조하면, 본 발명에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법에서, 응용프로그램 분석 과정은 먼저, 설치된 응용프로그램에 포함된 응용프로그램 리소스를 검색한다(501). 모바일 단말의 내부 저장공간에 설치된 응용프로그램은 응용프로그램 실행을 위해 필수적인 실행 데이터 및 선택적으로 사용되는 응용프로그램 리소스를 포함한다. 응용프로그램 분석 과정에서는 설치된 응용프로그램에서 둘 이상의 응용프로그램 리소스를 검색한다.
그리고, 모바일 단말에 저장된 단말 정보를 분석한다(502). 모바일 단말에 저장된 단말 정보는 모바일 단말의 하드웨어 정보 및 소프트웨어 정보를 포함하며, 사용자 또는 제조사에 의해 설정된 필수 응용프로그램 리소스에 대한 정보를 포함한다. 필수 응용프로그램 리소스는 해당 모바일 단말에서 사용할 수 있는 응용프로그램 리소스의 종류에 대한 정보를 포함할 수 있으며, 불필요한 응용프로그램 리소스에 대한 정보를 포함할 수 있다. 또한, 단말 정보는 해당 응용프로그램의 사용 이력을 통해 사용하는 응용프로그램 리소스와 사용하지 않는 응용프로그램 리소스를 구분하기 위한 정보를 포함할 수 있다.
단말 정보를 분석한 후, 설치된 응용프로그램으로부터 검색된 응용프로그램 리소스 및 분석된 단말 정보에 기초하여 미지원 리소스를 검색한다(503). 단말 정보를 분석한 결과, 해당 모바일 단말에서 필요로 하는 응용프로그램 리소스 및 필요로 하지 않는 응용프로그램 리소스를 확인할 수 있다. 따라서, 분석된 단말 정보를 토대로 검색된 응용프로그램 리소스 중에서 해당 모바일 단말이 필요로 하지 않는 미지원 리소스를 검색할 수 있다. 예를 들어, 응용프로그램 리소스 중에서 모바일 단말이 지원하는 해상도에 대응하지 않는 이미지를 미지원 리소스로 검색하거나, 모바일 단말이 지원하지 않는 코덱을 필요로 하는 동영상 파일을 미지원 리소스로 검색할 수 있다. 또한, 응용프로그램 리소스 중에서 사용자가 사용하지 않는 응용프로그램 리소스를 미지원 리소스로 검색할 수 있다.
미지원 리소스 검색 결과에 기초하여, 미지원 리소스가 존재하는지 여부를 판단한다(504). 단말 정보에 기초하여 검색된 응용프로그램 리소스 중에서 불필요한 미지원 리소스를 검색하고, 검색 결과에 기초하여 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스가 존재하는지 여부를 판단한다. 만약 미지원 리소스가 존재하지 않는다면, 미지원 리소스를 삭제하는 과정이 불필요하다고 판단하고 응용프로그램 분석 과정을 종료한다. 판단 결과, 미지원 리소스가 존재한다면, 미지원 리소스 분석 결과를 리소스 제어부로 전달한다(505). 리소스 제어부는 수신된 미지원 리소스 분석 결과에 기초하여 설치된 응용프로그램의 응용프로그램 리소스 중에서 미지원 리소스를 삭제하여 저장공간을 확보한다.
도 5b는 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 방법의 미지원 리소스 삭제 과정을 나타내는 흐름도이다.
도 5b를 참조하면, 도 5a의 응용프로그램 분석 과정(501 단계 내지 505 단계)을 통해 생성된 미지원 리소스 분석 결과를 수신한다(506). 리소스 분석부로부터 수신된 미지원 리소스 분석 결과는 설치된 응용프로그램에 포함된 응용프로그램 리소스 중에서 모바일 단말이 필요로 하지 않는 미지원 리소스에 대한 정보를 포함한다.
미지원 리소스를 삭제하기 전, 먼저 설치된 응용프로그램이 패키지 상태인지 여부를 판단한다(507). 모바일 단말의 운영체제에 따라서, 응용프로그램이 개별 데이터 파일로 분해되어 설치되거나, 하나의 패키지 파일 상태로 설치될 수 있다. 예를 들어, 안드로이드 운영체제에서는 응용프로그램은 하나의 안드로이드 패키지(APK) 형태로 설치된다. 따라서, 설치된 응용프로그램의 응용프로그램 리소스 중에서 미지원 리소스를 삭제하기 위해서는 설치된 응용프로그램을 개별 데이터 파일로 분해하는 과정이 선행되어야 한다.
만약 507 단계에서 판단결과, 설치된 응용프로그램이 패키지 상태라면, 먼저 설치된 응용프로그램 패키지를 분해한다(508). 설치된 응용프로그램에서 미지원 리소스를 삭제하기 위해 먼저 패키지 상태의 응용프로그램을 개별 데이터 파일 상태로 분해한다. 그리고 설치된 응용프로그램 패키지가 분해되면, 분해된 응용프로그램의 응용프로그램 리소스 중에서 미지원 리소스를 삭제한다(509). 미지원 리소스 분석 결과에 기초하여 둘 이상의 응용프로그램 리소스 중에서 모바일 단말이 필요로 하지 않는 미지원 리소스를 삭제한다. 이를 통해, 모바일 단말은 내부 저장공간의 가용 메모리를 확보할 수 있다. 미지원 리소스가 삭제되면, 분해된 응용프로그램을 다시 병합한다(510). 분해된 응용프로그램을 다시 패키지 상태로 병합하여, 해당 응용프로그램을 실행 가능한 상태로 만든다.
만약 507 단계에서 판단결과, 설치된 응용프로그램이 패키지 상태가 아니라면, 수신된 미지원 리소스 분석 결과에 기초하여 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 삭제한다(511).
도 6은 본 발명의 일 실시예에 따른 모바일 단말의 응용프로그램 저장공간 관리 장치의 데이터 흐름의 다른 실시예를 나타낸다.
도 3에 기재된 모바일 단말의 응용프로그램 저장공간 관리 장치는 모바일 단말의 보안 절차 때문에, 응용프로그램을 설치한 후, 미지원 리소스를 삭제한다. 하지만, 모바일 단말의 플랫폼에 따라 데이터를 변조한 응용프로그램을 설치할 수 있다. 예를 들어, 안드로이드 운영체제에서는 인증된 경로를 통해 다운로드 된 인증된 응용프로그램만 설치하도록 설정할 수 있으며, 사용자의 편의나 목적에 따라 미인증된 응용프로그램을 설치하도록 설정할 수 있다. 따라서, 응용프로그램을 설치하기 이전에 미지원 리소스 분석을 통해 미지원 리소스를 삭제하고 미지원 리소스를 삭제한 응용프로그램을 설치할 수 있다.
도 6을 참조하면, 먼저 응용프로그램을 외부로부터 수신한다(601). 그리고 수신된 응용프로그램에 포함된 응용프로그램 리소스를 검색한다(602). 수신된 응용프로그램에 포함된 응용프로그램 리소스를 검색한 후, 모바일 단말에 저장된 단말 정보를 분석한다(603). 단말 정보는 해당 모바일 단말의 하드웨어 및 소프트웨어에 대한 정보를 포함하며, 사용자 또는 제조사에 의해 설정된 필수 응용프로그램 리소스에 대한 정보를 포함할 수 있다. 단말 정보는 둘 이상의 응용프로그램 리소스 중에서 모바일 단말이 필요로 하지 않는 미지원 리소스를 검색하기 위한 설정 또는 기준에 대한 정보이다.
저장된 단말 정보를 분석한 후, 분석된 단말 정보를 통해 검색된 응용프로그램 리소스 중에서 미지원 리소스를 검색한다(604). 단말 정보 분석을 통해 둘 이상의 응용프로그램 리소스 중에서 필요로 하지 않는 미지원 리소스를 검색한다. 그리고 검색된 미지원 리소스에 대한 정보를 포함하는 미지원 리소스 분석 결과를 리소스 제어부(130)로 전달한다(605).
리소스 분석부(120)로부터 미지원 리소스 분석 결과를 수신한 리소스 제어부(130)는 수신된 응용프로그램 패키지를 분해한다(606). 모바일 단말의 운영체제에 따라 설치를 위해 수신된 응용프로그램이 개별 데이터 파일 상태이거나, 하나의 패키지 파일 상태일 수 있다. 수신된 응용프로그램이 하나의 패키지 상태인 경우, 미지원 리소스를 삭제하기 전에 먼저 수신된 응용프로그램 패키지를 분해한다. 일반적으로 응용프로그램은 둘 이상의 데이터 파일을 포함하는 패키지 형태로 구성될 수 있다. 그리고, 둘 이상의 데이터 파일을 패키지 형태로 구성하는 과정에서 용량을 줄이기 위하여 데이터를 압축하게 된다. 예를 들어, 안드로이드 플랫폼에서는 ZIP 압축방식으로 데이터를 압축하여 패키지 형태로 구성하며, 윈도우 플랫폼에서는 cab 확장자를 가진 압축 파일을 이용하여 패키지 사이즈를 줄이고 있다. 따라서, 패키지를 분해하는 과정은 압축되어진 패키지 파일을 압축 해제하여 패키징 이전의 원본 파일을 추출하는 것이다.
수신된 응용프로그램 패키지가 분해되면, 응용프로그램에 포함된 응용프로그램 리소스 중에서 미지원 리소스를 삭제(607)하고, 분해된 응용프로그램 패키지를 다시 병합한다(608). 추출된 데이터 파일 중에서 미지원 리소스에 해당하는 파일을 삭제한 후, 각 플랫폼에 대응하는 압축방식을 이용하여 원래 패키지된 하나의 파일로 압축하여 병합하나. 안드로이드 플랫폼에서는 zip 압축 방식을 사용할 수 있다. 그리고 미지원 리소스가 삭제된 응용프로그램을 모바일 단말의 저장공간에 설치한다(609). 도 3에 기재된 내용과 달리 도 6에서는 미지원 리소스를 삭제한 후, 미지원 리소스가 삭제된 응용프로그램을 설치한다. 이를 통해 모바일 단말은 미지원 리소스가 삭제되기 이전의 응용프로그램에 비해 설치 용량이 작은 미지원 리소스가 삭제된 응용프로그램을 설치함으로써, 내부 저장공간의 가용 메모리를 더 확보할 수 있다.
상술한 내용을 포함하는 본 발명은 컴퓨터 프로그램으로 작성이 가능하며, 상기 프로그램을 구성하는 코드 및 코드 세그먼트는 당해 분야의 컴퓨터 프로그래머에 의하여 용이하게 추론될 수 있다. 또한, 상기 작성된 프로그램은 컴퓨터가 읽을 수 있는 기록매체 또는 정보저장매체에 저장되고, 컴퓨터에 의하여 판독되고 실행함으로써 본 발명의 방법을 구현할 수 있다.. 그리고 상기 기록매체는 컴퓨터가 판독할 수 있는 모든 형태의 기록매체를 포함한다.
이상 바람직한 실시예를 들어 본 발명을 상세하게 설명하였으나, 본 발명은 전술한 실시예에 한정되지 않고, 본 발명의 기술적 사상의 범위 내에서 당분야에서 통상의 지식을 가진자에 의하여 여러 가지 변형이 가능하다.
100: 모바일 단말의 응용프로그램 저장공간 관리 장치
110: 리소스 분석부
120: 리소스 제어부
130: 저장부
200: 응용프로그램 구조
210: 응용프로그램 실행 데이터
230: 응용프로그램 리소스
110: 리소스 분석부
120: 리소스 제어부
130: 저장부
200: 응용프로그램 구조
210: 응용프로그램 실행 데이터
230: 응용프로그램 리소스
Claims (23)
- 기 저장된 단말 정보에 기초하여 설치된 응용프로그램에 포함된 응용프로그램 리소스 중에서 미지원 리소스를 분류하는 리소스 분석부; 및
상기 설치된 응용프로그램으로부터 상기 분류된 미지원 리소스를 삭제하는 리소스 제어부;
를 포함하되, 상기 미지원 리소스는 모바일 단말이 지원하지 않는 언어 파일인 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 장치. - 제 1항에 있어서,
상기 기 저장된 단말 정보는 모바일 단말의 하드웨어 정보 및 소프트웨어 정보를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 장치. - 제 1항에 있어서,
상기 기 저장된 단말 정보는 사용자 또는 제조사에 의해 모바일 단말에 불필요하다고 설정된 응용프로그램 리소스에 대한 정보를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 장치. - 제 1항에 있어서,
상기 기 저장된 단말 정보는 둘 이상의 상기 응용프로그램 리소스 중에서 상기 설치된 응용프로그램이 사용한 상기 응용프로그램 리소스에 대한 사용 이력에 대한 정보를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 장치. - 제 1항에 있어서,
상기 미지원 리소스는 모바일 단말이 지원하지 않는 해상도의 이미지 파일 또는 동영상 파일인 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 장치. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 모바일 단말에 설치된 응용프로그램의 저장용량을 줄이기 위한 응용프로그램 저장공간 관리 방법에 있어서,
기 저장된 단말 정보에 기초하여 상기 모바일 단말에 설치된 응용프로그램에 포함된 응용프로그램 리소스 중에서 미지원 리소스를 분석하는 단계; 및
상기 설치된 응용프로그램에서 상기 분석된 미지원 리소스를 삭제하는 단계;
를 포함하되, 상기 미지원 리소스는 상기 모바일 단말이 지원하지 않는 언어 파일인 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 방법. - 제 13항에 있어서,
상기 미지원 리소스를 분석하는 단계는,
상기 설치된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스를 검색하는 단계;
상기 모바일 단말에 기 저장된 단말 정보를 분석하는 단계; 및
상기 분석된 단말 정보에 기초하여 상기 둘 이상의 응용프로그램 리소스 중에서 미지원 리소스를 분류하는 단계;
를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 방법. - 제 13항에 있어서,
상기 설치된 응용프로그램에서 상기 분석된 미지원 리소스를 삭제하는 단계는,
상기 응용프로그램의 패키지를 분해하는 단계;
상기 분해된 응용프로그램에 포함된 둘 이상의 응용프로그램 리소스 중에서 상기 미지원 리소스를 검색하는 단계;
상기 검색된 미지원 리소스를 삭제하는 단계; 및
상기 응용프로그램의 패키지를 병합하는 단계;
를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 방법. - 제 13항에 있어서,
상기 기 저장된 단말 정보는 모바일 단말의 하드웨어 정보 및 소프트웨어 정보를 포함하는 것을 특징으로 하는 모바일 단말의 응용프로그램 저장공간 관리 방법. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130102735A KR102204047B1 (ko) | 2013-08-28 | 2013-08-28 | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130102735A KR102204047B1 (ko) | 2013-08-28 | 2013-08-28 | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150025287A KR20150025287A (ko) | 2015-03-10 |
KR102204047B1 true KR102204047B1 (ko) | 2021-01-20 |
Family
ID=53021549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130102735A KR102204047B1 (ko) | 2013-08-28 | 2013-08-28 | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102204047B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170010574A (ko) | 2015-07-20 | 2017-02-01 | 삼성전자주식회사 | 정보처리장치, 영상처리장치 및 그들의 제어방법 |
CN106980661B (zh) * | 2017-03-20 | 2020-10-09 | 北京金山安全软件有限公司 | 一种移动终端中数据文件的清理方法、装置及电子设备 |
KR20210073280A (ko) | 2019-12-10 | 2021-06-18 | 삼성전자주식회사 | 전자장치 및 그 제어방법 |
KR20220101967A (ko) * | 2021-01-12 | 2022-07-19 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 메모리 관리 방법 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123619A (ja) * | 2010-12-08 | 2012-06-28 | Nec System Technologies Ltd | アプリケーション管理装置、サーバ装置、アプリケーション管理システム、アプリケーション管理方法、および、コンピュータ・プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100583544B1 (ko) * | 2003-11-19 | 2006-05-26 | 에스케이 텔레콤주식회사 | 모바일 디바이스의 메모리 확장을 위한 자원관리시스템 |
KR100703555B1 (ko) | 2004-08-18 | 2007-04-03 | 에스케이 텔레콤주식회사 | 이동통신 단말기에서 콘텐츠 그룹 저장 비율 관리 방법 |
KR101760835B1 (ko) * | 2011-06-22 | 2017-07-24 | 에스케이텔레콤 주식회사 | 모바일 커뮤니티 서비스를 제공하기 위한 어플리케이션 구축 시스템 및 방법 |
-
2013
- 2013-08-28 KR KR1020130102735A patent/KR102204047B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012123619A (ja) * | 2010-12-08 | 2012-06-28 | Nec System Technologies Ltd | アプリケーション管理装置、サーバ装置、アプリケーション管理システム、アプリケーション管理方法、および、コンピュータ・プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20150025287A (ko) | 2015-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021218327A1 (zh) | 一种页面处理方法和相关装置 | |
US20190220332A1 (en) | Application processing method and apparatus | |
JP5658283B2 (ja) | アプリケーションの稼働方法、装置及びシステム | |
US10970020B2 (en) | Non-transitory computer-readable recording medium storing computer-readable instructions for causing information processing device to execute image process, and information processing device | |
US10671357B2 (en) | Preview changes to mobile applications at different display resolutions | |
US20140324873A1 (en) | Method, device and recording medium for managing application icon | |
US10871973B2 (en) | Application activation method and apparatus | |
WO2014139300A1 (en) | Method and device for loading a plug-in | |
KR102204047B1 (ko) | 모바일 단말의 응용프로그램 저장공간 관리 장치 및 관리 방법 | |
CN110704184B (zh) | 一种应用内存优化方法、装置和移动终端 | |
US20090303519A1 (en) | Printing controller, gui display method, printer driver, and recording medium | |
US8254895B2 (en) | Methods and apparatus for generating mobile internet pages for viewing by mobile communication devices | |
US8576233B2 (en) | Program generation device, program generation method, and computer-readable storage medium | |
US20110231424A1 (en) | Method and system for automated file aggregation on a storage device | |
US10356359B2 (en) | Information processing apparatus, method for controlling the information processing apparatus, and recording medium | |
US9361710B2 (en) | Defining a midlet region space | |
CN102929552A (zh) | 终端和信息搜索方法 | |
CN110321134A (zh) | 一种生成应用安装包的方法、存储介质以应用服务器 | |
CN109558187B (zh) | 一种用户界面渲染方法及装置 | |
CN102289475A (zh) | 终端和文件保存方法 | |
JP2008129678A (ja) | ファイル圧縮自動判定方式および方法、並びに、プログラム | |
US8615744B2 (en) | Methods and system for managing assets in programming code translation | |
CN100435096C (zh) | 基于c语言微型操作***的图形处理方法 | |
CN109032728B (zh) | Ui界面显示方法、智能终端及计算机可读存储介质 | |
CN105183491A (zh) | 跨平台的桌面gis***及其启动方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |