KR100653280B1 - 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 - Google Patents
어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 Download PDFInfo
- Publication number
- KR100653280B1 KR100653280B1 KR1020040045513A KR20040045513A KR100653280B1 KR 100653280 B1 KR100653280 B1 KR 100653280B1 KR 1020040045513 A KR1020040045513 A KR 1020040045513A KR 20040045513 A KR20040045513 A KR 20040045513A KR 100653280 B1 KR100653280 B1 KR 100653280B1
- Authority
- KR
- South Korea
- Prior art keywords
- version
- update
- file
- application
- mobile phone
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
- H04W4/14—Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/22—Processing or transfer of terminal data, e.g. status or physical capabilities
- H04W8/24—Transfer of terminal data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
본 발명은, 휴대전화에 설치된 어플리케이션의 실행파일, 라이브러리 또는 리소스에 추가/변경이 생길 경우 서버와의 접속을 통해 자동으로 해당 파일을 업데이트할 수 있는 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법에 관한 것이다.
본 발명에 따른 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법은, 휴대전화에 설치된 어플리케이션의 업데이트된 파일만을 다운로드 및 설치하므로 다운로드할 파일의 용량을 현저하게 줄여 사용자의 비용 부담을 크게 절감시킬 뿐만 아니라 다운로드 및 업데이트 시간을 단축하여 효율을 향상시키고 네트워크의 부하를 줄일 수 있는 현저한 효과가 있다.
휴대전화; 모바일; 어플리케이션; 업데이트
Description
도 1 은 본 발명에 따른 휴대전화 어플리케이션 업데이트 시스템의 구성도.
도 2 는 본 발명에 따른 휴대전화의 플래시 메모리 구조를 나타낸 도.
도 3 은 본 발명에 따른 업데이트 모듈의 블록 구성도.
도 4 는 본 발명에 따른 파일정보 테이블의 예시도.
도 5 는 본 발명에 따른 휴대전화 어플리케이션의 업데이트 과정을 나타낸 흐름도.
도 6 은 본 발명에 따른 어플리케이션의 버전 정보의 포맷을 나타내는 도.
도 7 은 본 발명에 따른 모바일 서버의 버전 체크 과정을 나타낸 흐름도.
도 8 은 본 발명에 따른 휴대전화의 강제 업데이트 과정을 나타낸 흐름도.
도 9 는 본 발명에 따른 휴대전화의 선택 업데이트 과정을 나타낸 흐름도.
*** 도면의 주요 부분에 대한 부호 설명 ***
10 : 휴대전화 20 : 무선 네트워크
30 : 업데이트 시스템 32 : 모바일 서버
34 : 다운로드 서버 36 : 파일 데이터베이스
본 발명은 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법에 관한 것으로서, 구체적으로 휴대전화에 설치된 어플리케이션의 실행파일, 라이브러리 또는 리소스에 추가/변경이 생길 경우 서버와의 접속을 통해 자동으로 해당 파일을 업데이트할 수 있는 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법에 관한 것이다.
휴대전화 기술과 무선 인터넷 및 전송 기술의 발달에 힘입어, 이제 휴대전화는 출고 당시 탑재되어 있는 컨텐츠나 어플리케이션 뿐만 아니라 사용자가 필요로 하는 다양한 어플리케이션 등을 다운로드받아 설치 및 사용할 수 있게 되었다. 특히, 어플리케이션의 경우, 에러 수정, 새로운 기능 추가 및 기능 향상 등을 위하여 이미 다운로드받아서 사용하고 있는 어플리케이션을 업데이트해야 할 필요성이 있게 된다.
종래의 휴대전화용 어플리케이션의 경우 어플리케이션의 실행파일과 어플리케이션의 실행시 액세스 및 참조되는 라이브러리 및 리소스 파일이 하나의 파일로 통합되어 사용되었다. 따라서, 사용자는 해당 어플리케이션에 필요한 모든 파일이 통합된 하나의 파일을 다운로드 및 설치하여 사용하게 되고, 업데이트 시에도 새로운 업데이트 사항이 적용되어 어플리케이션의 모든 파일이 통합된 파일을 다운로드받아서 사용하여야 했다.
한편, 현재 휴대전화의 경우 컨텐츠와 어플리케이션 등의 파일 다운로드는 패킷(네트워크로 전송되는 데이터의 최소 단위) 단위로 요금이 부과되고 있다. 예를 들어, 국내의 경우 200k 정도의 파일을 다운받을 경우 대략 2,000원 내지 4,000원 가량의 패킷 요금이 부과되고 있다. 또한, 휴대전화의 성능 및 메모리 용량이 크게 향상되고 사용자의 다양한 요구를 충족시키기 위하여, 컨텐츠 또는 어플리케이션의 파일 크기가 점차 커지고 있는 추세이다. 따라서, 컨텐츠 및 어플리케이션의 사용을 위하여 사용자가 이동통신사에 지불하여야 하는 비용이 점차 증가하게 되고, 이는 휴대전화 컨텐츠 시장의 활성화를 저해하는 요인으로 작용하고 있다.
더욱이, 상기와 같이 휴대전화 어플리케이션을 업데이트해야 할 경우, 실제 업데이트되어야 할 부분의 용량은 매우 적음에도 불구하고 어플리케이션의 전체 통합 파일을 다운로드받아야 하므로, 다운로드할 파일의 용량이 커져 다운로드 및 업데이트 시간이 많이 걸릴 뿐만 아니라 불필요한 파일 용량의 다운로드 비용까지 사용자에게 부당하게 부과되는 문제점이 있었다.
예를 들어, 1 패킷이 1K, 그리고 1패킷당 요금이 10원이라고 가정할 때, 전체 파일의 크기가 200K인 어플리케이션에 대하여 실제 업데이트된 파일의 크기가 20K인 경우, 사용자가 실제로 부담하여야할 패킷 요금은 200원이 된다. 그러나, 어플리케이션이 하나의 통합 파일로 이루어짐으로 인해 새로 업데이트된 어플리케 이션 파일 전체를 다운로드하여야 하므로, 사용자가 부담하여야 할 패킷 요금은 2000원이 되게 된다. 따라서, 어플리케이션에 빈번한 업데이트가 발생할 경우 사용자의 경제적 부담이 크게 증가할 뿐만 아니라, 서비스의 질을 크게 떨어뜨릴 수 있는 문제점이 있었다.
본 발명은 상기와 같은 문제점을 해결하고자 제시된 것으로서, 본 발명의 목적은, 휴대전화에 다운로드 및 설치하여 사용하는 어플리케이션의 일부 파일에 대하여 업데이트 사항이 있을 경우, 상기 업데이트 사항을 체크하여 해당 파일만을 자동으로 업데이트함으로써, 다운로드하여야 할 데이터의 용량을 줄여 업데이트 시간과 사용자의 요금 부담을 현저하게 경감시킬 수 있는 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법을 제공하는 것이다.
본 발명의 상기 목적은, 어플리케이션이 설치되는 휴대전화 및 무선 네트워크를 통해 휴대전화와 통신 연결되어 휴대전화에 설치된 어플리케이션의 버전을 체크하여 업데이트 여부를 결정하고 업데이트 파일을 휴대전화로 전송하는 업데이트 시스템을 포함하는 휴대전화 어플리케이션 업데이트 시스템에서, 어플리케이션의 버전인 제 1 버전을 업데이트 시스템으로 전송하고 업데이트 파일을 수신하여 어플리케이션을 업데이트하는 어플리케이션의 업데이트 가능한 휴대전화로서, 실행파일, 실행파일의 실행시 참조되는 하나 이상의 라이브러리 파일 및 하나 이상의 리소스 파일이 각기 개별적인 파일로 이루어지고 제 1 버전이 부여되는 어플리케이션 및 어플리케이션을 업데이트하는 업데이트 모듈이 서로 다른 영역에 분리 저장되는 메모리를 포함하고, 업데이트 모듈이, 어플리케이션의 제 1 버전을 포함하는 버전 정보 및 휴대전화의 모델명을 업데이트 시스템으로 전송하고, 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일 중 변경된 파일인 업데이트 파일 및 파일의 변경으로 인하여 변경된 어플리케이션의 새로운 버전인 제 2 버전을 업데이트 시스템으로부터 수신하여, 업데이트 파일을 설치하고 제 1 버전을 제 2 버전으로 변경하고, 버전 정보가, 어플리케이션의 제 1 버전인 실제 버전 및 어플리케이션의 가상의 버전인 가상 버전을 포함하고, 실제 버전, 가상 버전 및 제 2 버전이, 사용자의 선택에 무관하게 어플리케이션의 업데이트가 수행되는 강제 업데이트를 위한 버전인 강제 버전 및 사용자의 선택에 따라 어플리케이션의 업데이트 여부가 결정되는 선택 업데이트를 위한 버전인 선택 버전을 포함하고, 버전 정보 중 실제 버전의 강제 버전이 강제 업데이트시 업데이트 시스템에 의해 제 2 버전의 강제 버전과 버전 체크되고, 버전 정보 중 가상 버전이 선택 업데이트시 업데이트 시스템에 의해 제 2 버전과 버전 체크되고 어플리케이션의 선택 업데이트 여부와 무관하게 제 2 버전으로 변경되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화에 의해 달성 가능하다.
바람직하게는, 메모리로, 읽기만이 가능한 RO 섹션, 읽기/쓰기가 가능하고 저장된 데이터가 초기화되지 않는 RW 섹션 및 읽기/쓰기가 가능하고 저장된 데이터가 '0'으로 초기화되는 ZI 섹션으로 이루어진 플래시 메모리를 사용하도록 한다. 이때, 실행파일의 초기화되는 변수가 ZI 섹션에 저장되고, 실행파일의 상수는 RO 섹션에 저장되도록 한다. 라이브러리 파일은 ZI 섹션에 저장되고, 실행파일의 실행시 라이브러리 파일이 RW 섹션으로 로드되도록 하며, 리소스 파일은 RO 섹션에 저장되고, 실행파일의 실행시 리소스 파일이 RW 섹션으로 로드되도록 한다. 또한, 업데이트 모듈은, 라이브러리 파일로 이루어지고, ZI 섹션에 저장되며 어플리케이션의 실행시 RW 섹션으로 로드되도록 한다. 업데이트 모듈은, 라이브러리 파일로 이루어지고, RO 섹션에 저장되며 어플리케이션의 실행시 RW 섹션으로 로드되도록 구성할 수도 있다. 더욱 바람직하게는, 업데이트 모듈이, 휴대전화의 모델명, 어플리케이션을 식별하는 어플리케이션명 및 버전 정보를 업데이트 시스템으로 전송하는 송신 서브모듈, 업데이트 파일, 업데이트 파일의 설치를 위한 업데이트 정보 및 제 2 버전을 업데이트 시스템으로부터 수신하는 수신 서브모듈, 수신된 업데이트 파일을 입력받아 비가역적인 암호코드를 생성하는 해시 함수, 업데이트 정보에 포함된 해시코드와 해시함수에 의해 생성된 암호코드를 비교하여 업데이트 파일의 무결성을 검사하는 파일검사 서브모듈 및 업데이트 파일의 식별코드를 이용하여 업데이트 파일이 저장될 메모리의 주소를 찾은 후 메모리 주소에 업데이트 파일을 업데이트하고, 실제 버전 및 가상 버전을 제 2 버전으로 변경하는 설치 서브모듈을 포함하고, 업데이트 정보가, 업데이트 파일의 식별코드를 포함하는 업데이터 및 업데이트 파일의 무결성을 검사하기 위한 해시코드를 포함하도록 한다. 또한, 어플리케이션으로는, 뱅킹 아이디가 기록된 스마트 칩과 연동하여 모바일 뱅킹 서비스를 제공하는 모바일 뱅킹 어플리케이션이 사용될 수 있다.
또한, 본 발명의 또 다른 목적은, 어플리케이션이 설치되는 휴대전화 및 무선 네트워크를 통해 휴대전화와 통신 연결되어 휴대전화에 설치된 어플리케이션의 버전을 체크하여 업데이트 여부를 결정하고 업데이트 파일을 휴대전화로 전송하는 업데이트 시스템을 포함하는 휴대전화 어플리케이션 업데이트 시스템에서, 실행파일, 하나 이상의 라이브러리 파일 및 하나 이상의 리소스 파일이 각기 개별적인 파일로 이루어져 휴대전화에 설치되는 어플리케이션에 대하여, 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일 중 변경된 파일인 업데이트 파일만을 휴대전화로 전송하여 어플리케이션을 업데이트하는 휴대전화 어플리케이션의 업데이트 방법으로서, 휴대전화에 설치된 어플리케이션의 버전으로, 사용자의 선택에 무관하게 어플리케이션의 업데이트가 수행되는 강제 업데이트를 위한 버전인 강제 버전 및 사용자의 선택에 따라 어플리케이션의 업데이트 여부가 결정되는 선택 업데이트를 위한 버전인 선택 버전을 포함하는 실제 버전 및 어플리케이션의 가상의 버전으로, 강제 버전 및 선택 버전을 포함하는 가상 버전을 포함하는 버전 정보와 휴대전화의 모델명을 휴대전화로부터 수신하는 제 1 단계, 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일의 최신 업데이트된 파일, 각 파일의 버전인 파일 버전, 어플리케이션의 최신 버전으로 강제 버전과 선택 버전을 포함하는 제 2 버전 및 어플리케이션이 적용되는 휴대전화의 모델명을 분류 저장하는 파일 데이터베이스로부터 수신된 휴대전화 모델명에 대한 어플리케이션의 제 2 버전을 추출하는 제 2 단계, 버전 정보 중 실제 버전과 제 2 버전의 크기를 비교하는 제 3 단계, 실제 버전이 제 2 버전보다 크거나 같은 경우, 어플리케이션의 업데이트를 종료하는 제 4 단계, 실제 버전이 제 2 버전보다 작은 경우, 실제 버전의 강제 버전과 제 2 버전의 강제 버전의 크기를 비교하는 제 5 단계, 실제 버전의 강제 버전이 제 2 버전의 강제 버전보다 작은 경우, 파일 데이터베이스로부터 파일 버전이 변경된 파일인 업데이트 파일을 추출하여, 강제 업데이트를 나타내는 메시지, 제 2 버전, 업데이트 파일의 설치를 위한 정보로, 업데이트 파일의 식별코드를 포함하는 업데이터 및 업데이트된 파일의 무결성을 검사하기 위한 해시코드를 포함하는 업데이트 정보 및 업데이트 파일을 휴대전화로 전송하는 제 6 단계, 실제 버전의 강제 버전이 제 2 버전의 강제 버전보다 크거나 같은 경우, 버전 정보 중 가상 버전과 제 2 버전의 크기를 비교하는 제 7 단계, 가상 버전이 제 2 버전보다 크거나 같은 경우, 업데이트를 종료하는 제 8 단계, 가상 버전이 제 2 버전보다 작은 경우, 선택 업데이트를 나타내는 메시지, 제 2 버전 및 사용자에게 업데이트 여부의 선택을 요청하는 메시지를 휴대전화로 전송하는 제 9 단계, 사용자로부터 업데이트의 수락이 선택되면, 파일 데이터베이스로부터 파일 버전이 변경된 파일인 업데이트 파일을 추출하여, 업데이트 정보 및 업데이트 파일을 휴대전화로 전송하는 제 10 단계 및 사용자로부터 업데이트의 거부가 선택되면, 업데이트를 종료하는 제 11 단계를 포함하고, 제 4 단계와 제 5 단계 내지 제 11 단계가 선택적으로 수행되고, 제 6 단계와 제 7 단계 내지 제 11 단계가 선택적으로 수행되고, 제 8 단계와 제 9 단계 내지 제 11 단계가 선택적으로 수행되고, 제 10 단계와 제 11 단계가 선택적으로 수행되는 것을 특징으로 하는 휴대전화 어플리케이션의 업데이트 방법에 의해 달성 가능하다.
삭제
이하에서는, 첨부한 도면을 참조하여 본 발명의 장점, 특징 및 바람직한 실시례에 대하여 상세히 설명하도록 한다.
도 1 은 본 발명에 따른 휴대전화 어플리케이션 업데이트 시스템의 구성도이다. 도 1 에 도시한 바와 같이, 본 발명에 따른 휴대전화 어플리케이션 업데이트 시스템의 구성은, 어플리케이션이 설치되는 휴대전화(10), 휴대전화와 업데이트 시스템(30) 간의 통신을 중계하는 무선 네트워크(20) 및 휴대전화에 설치된 어플리케이션의 버전 체크를 통해 업데이트 여부를 결정하고, 업데이트 파일을 휴대전화로 전송하여 상기 어플리케이션을 업데이트하는 업데이트 시스템(30)을 포함한다.
본 발명에 따른 휴대전화(10)는 하나 이상의 어플리케이션을 다운로드 및 설치하여 사용하는 기기로서, 무선 네트워크를 통한 통신이 가능한 단말기이다. 상기 어플리케이션은 휴대전화에 설치되어 일정한 기능을 수행하는 프로그램으로서, 예를 들어 모바일 뱅킹용 어플리케이션이 사용될 수 있다. 휴대전화는 어플리케이션의 저장 및 설치를 위하여 메모리를 포함한다. 한편, 휴대전화 이외에도 무선 통신을 이용하는 PDA 등의 단말기 또한 사용 가능함은 물론이다.
또한, 본 발명에 따른 휴대전화(10)는 설치된 각 어플리케이션의 업데이트를 수행하기 위하여 업데이트 모듈을 포함하도록 한다. 업데이트 모듈은 각 어플리케이션이 실행될 때 어플리케이션의 버전 정보를 업데이트 시스템(30)으로 전송하고, 업데이트 시스템으로부터 업데이트 파일을 수신하여 해당 어플리케이션에 설치하도록 한다. 버전 정보는 현재 휴대전화에 설치된 어플리케이션의 버전을 포함한다. 상기 업데이트 모듈은 휴대전화에 설치된 각각의 어플리케이션이 공유하여 사용할 수 있도록 라이브러리 파일로 구성하는 것이 바람직하다. 따라서, 각 어플리케이션은 실행과 함께 업데이트 모듈(라이브러리 파일)을 메모리로 로드하여 업데이트 과정을 진행하게 된다. 또한, 업데이트 모듈은 휴대전화의 제조시 탑재하는 것이 바람직하다. 업데이트 모듈의 동작 및 구성에 대하여는 도 3 을 참조하여 보다 상세히 설명하도록 한다.
한편, 업데이트 모듈을 라이브러리 파일이 아닌 별도의 실행파일로 구성할 수도 있음은 물론이다. 이 경우, 업데이트 모듈(실행파일)은 어플리케이션 등과의 데이터 송수신을 위해 별도의 라이브러리를 포함하게 된다. 이하에서는, 업데이트 모듈이 라이브러리 파일 형태로 구성되는 경우를 중심으로 설명하도록 한다.
본 발명에 따른 업데이트 시스템(30)은 휴대전화(10)에 설치된 어플리케이션의 업데이트를 처리하는 시스템으로서, 상기 어플리케이션을 제공한 업체의 시스템 또는 해당 휴대전화가 가입된 이동통신사의 시스템이 해당된다. 업데이트 시스템 (30)은 휴대전화(10)에 설치된 어플리케이션의 업데이트 여부를 판단하는 모바일 서버(32), 업데이트 파일을 휴대전화로 전송하는 다운로드 서버(34) 및 어플리케이션을 구성하는 각 파일을 저장하는 파일 데이터베이스(36)를 포함한다.
모바일 서버(32)는 휴대전화의 업데이트 모듈로부터 휴대전화에 설치된 어플리케이션의 버전 정보를 수신하고, 파일 데이터베이스(36)에 저장된 해당 어플리케이션의 버전과 비교하여 업데이트 여부를 판단한다.
다운로드 서버(34)는 상기 어플리케이션을 업데이트하여야 할 경우 필요한 업데이트 파일을 파일 데이터베이스(36)로부터 추출하여 휴대전화로 전송한다.
파일 데이터베이스(36)는 휴대전화에 설치된 각 어플리케이션을 구성하는 파일을 저장한다. 상기 파일은 어플리케이션의 실행파일, 라이브러리 파일 및 리소 스 파일로 구분되며, 각각에 대하여 세부적인 개별 파일로 분류 저장된다. 또한, 각각의 파일은 휴대전화의 모델별로 분류 및 저장된다. 이는 특정 휴대전화 모델에만 업데이트가 필요할 경우 업데이트가 필요하지 않은 모델에까지 업데이트를 수행하지 않도록 하기 위함이다.
또한, 파일 데이터베이스(36)는 각 어플리케이션을 구성하는 각각의 파일을 효율적으로 관리하고, 업데이트 여부를 판단하기 위하여 파일정보 테이블을 포함한다. 파일정보 테이블은 휴대전화의 모델명, 어플리케이션명, 각 어플리케이션의 버전, 각 어플리케이션을 구성하는 파일명 및 각 파일의 버전을 저장하는 필드를 포함한다. 이때, 어플리케이션명, 휴대전화 모델명 및 파일명은 식별코드와 같이 고유한 값을 갖도록 한다. 따라서, 특정 휴대전화 모델의 특정 어플리케이션에 대하여 버그 수정 또는 기능 개선 등을 위해 파일이 변경된 경우 해당 파일의 버전 정보가 변경되고, 해당 파일이 업데이트되어야 하는 휴대전화 모델의 어플리케이션의 버전 또한 변경된다. 또한, 특정 어플리케이션의 파일이 추가된 경우 파일명 필드에 추가된 파일의 식별코드를 기록하고, 해당 어플리케이션의 버전을 변경한다.
본 발명에 따른 휴대전화(10)는 내부의 메모리에 상기 어플리케이션을 설치 및 저장하여 사용하는데, 바람직하게는 플래시 메모리에 저장하도록 한다.
도 2 는 본 발명에 따른 휴대전화의 플래시 메모리 구조를 나타낸 도이다. 도 2 에 도시한 바와 같이, 본 발명에 따른 휴대전화의 플래시 메모리(12)는 RO 섹 션(Read-Only Section), RW 섹션(Read-Write uninitialised Section) 및 ZI 섹션(Read-Write Zero-Initialised Section)으로 이루어진다. 또한, 각 섹션은 해당 섹션의 시작 위치값을 나타내는 베이스(base)와 각 섹션의 사이즈를 나타내는 리미트(limit)를 갖는다.
어플리케이션을 다운로드함에 있어서 함수와 별도로 변수 영역을 ZI 섹션 및 RO 섹션의 두곳으로 분리하게 된다. 이 중 ZI 섹션에는 '0'으로 초기화되는 변수들이 저장되고, RO 섹션에는 수정할 수 없는 상수(예: char name[]="Samsung")가 저장된다. ZI 섹션의 값들은 일단 부팅되면 RW 섹션으로 로드되어 '0'으로 세팅되게 된다.
휴대전화(10)에 설치되는 어플리케이션이 실행파일 A, 라이브러리 파일 B, 라이브러리 파일 C, 리소스 파일 D 및 리소스 파일 E와 같은 파일 구성을 갖는다고 가정할 때, 상기한 바와 같이 실행파일 A의 초기화되는 변수들은 ZI 섹션에 저장되고 상수들은 RO 섹션에 저장된다. 그리고, 라이브러리 파일 B 및 C는 ZI 섹션에 저장되고, 리소스 파일 D 및 E는 RO 섹션에 저장된다. 또한, 업데이트 모듈은 ZI 섹션 또는 RO 섹션에 저장된다.
어플리케이션이 실행되면 실행파일 A가 실행하면서 필요한 메모리를 스택(stack) 또는 힙(heap)으로 잡고 RW 섹션으로 필요한 파일을 로드해오게 된다. 또한, 라이브러리 파일을 로드하게 되면 ZI 섹션에서 모두 RW 섹션으로 로드하여 메모리 포인터로 함수를 호출하게 된다. 그리고, 실행파일 A가 리소스 파일을 로드하는 경우, RO 섹션에서 RW 섹션으로 해당 리소스 파일이 로드되어 화면에 출력 되게 된다. 한편, 어플리케이션이 실행될 때 업데이트 과정을 진행하기 위하여 ZI 섹션의 업데이트 모듈(라이브러리 파일) 역시 RW 섹션으로 로드되어 사용된다.
도 3 은 본 발명에 따른 업데이트 모듈의 블록 구성도이다. 도 3 을 참조하여 본 발명에 따른 업데이트 모듈의 구성 및 동작에 대하여 설명하면 이하와 같다.
본 발명에 따른 업데이트 모듈(14)은, 모바일 서버(32)로 버전 정보를 전송하는 송신 서브모듈, 모바일 서버로부터 업데이트 정보 및 업데이트 파일을 수신하는 수신 서브모듈, 업데이트 파일의 무결성 검사를 위한 해시 함수, 업데이트 파일의 무결성을 검사하는 파일검사 서브모듈 및 업데이트 파일을 메모리에 업데이트하는 설치 서브모듈을 포함한다.
송신 서브모듈은 실행된 어플리케이션으로부터 어플리케이션명 및 어플리케이션의 버전을 추출한 후, 휴대전화(10)의 모델명, 어플리케이션명과 버전을 포함하는 버전 정보를 모바일 서버(32)로 전송한다.
상기 어플리케이션에 대하여 업데이트가 필요한 경우 모바일 서버로부터 업데이트 정보와 업데이트 파일이 전송되며 수신 서브모듈에 의해 수신된다. 상기 업데이트 정보에는 업데이트된 파일의 정보를 포함하는 업데이터와 업데이트된 파일의 무결성을 검사하기 위한 해시코드가 포함된다. 또한, 업데이터는 어플리케이션을 구성하는 파일(실행파일, 라이브러리 파일 및 리소스 파일) 중 업데이트된 파일인 업데이트 파일의 식별코드(파일명)을 포함하도록 한다.
해시 함수는 모바일 서버로부터 수신된 업데이트 파일의 무결성을 검사하기 위한 함수로서, 상기 업데이트 파일을 해시 함수에 입력하면 비가역적인 암호코드가 생성된다. 생성된 암호코드는 파일검사 서브모듈로 입력되어 업데이트 파일의 무결성을 검사하는데 사용된다. 즉, 파일검사 서브모듈은 업데이트 정보에 포함된 해시코드와 해시 함수에 의해 생성된 상기 암호코드를 비교함으로써 모바일 서버(32)로부터 수신된 업데이트 파일의 무결성을 검사하게 된다.
무결성 검사가 끝나면 상기 업데이트 파일을 설치, 즉 메모리에 업데이트함으로써 어플리케이션의 업데이트를 종료하게 된다. 설치 서브모듈은 상기 업데이터에 포함된 업데이트 파일의 식별코드(파일명)를 이용하여 상기 어플리케이션에서 해당 파일이 저장된 메모리의 주소값을 찾은 후 해당 메모리 주소에 상기 업데이트 파일을 업데이트하게 된다.
도 4 는 본 발명에 따른 파일정보 테이블의 예시도로서, 'MobileBank'란 어플리케이션에 대하여 도 4a 에서 도 4b 와 같이 일부 파일이 업데이트된 예를 도시한 것이다. 도 4a 및 도 4b 에 도시한 바와 같이, 'MobileBank'란 어플리케이션은 6개의 파일로 이루어져 있으며 모델명인 VK인 휴대전화와 SC-200인 휴대전화에 대하여 각기 파일을 분류하여 저장하게 된다. 'MobileBank'의 어플리케이션 버전은, 도 4a 에서 VK 및 SC-200 모두 '100001'로 동일한 값을 가지며, 각 구성 파일의 버전 또한 동일한 값을 갖는다.
이후에, VK 휴대전화의 특성으로 인해 IrFM 중에 메모리 값의 변조가 발생하여, 도 4b 와 같이, 'Mbank01.dlf' 파일의 버전이 11로, 그리고 'Mbank02.dlf'의 버전이 10으로 변경되어 'MobileBank'의 어플리케이션 버전이 100002로 변경된 경우, 동일한 어플리케이션에 대하여 VK 휴대전화와 SC-200 휴대전화의 어플리케이션 버전이 각기 상이하게 된다. 즉, VK 휴대전화의 사용자는 해당 어플리케이션을 업데이트하여야 하는 반면, SC-200 휴대전화의 사용자는 업데이트가 필요없게 된다.
따라서, SC-200 휴대전화의 사용자가 어플리케이션을 실행할 경우 모바일 서버(32)는 업데이트 모듈(14)로부터 어플리케이션의 버전 정보를 수신하고, 설치된 어플리케이션의 버전이 '100001'로 파일정보 테이블의 버전보다 작지 않으므로 업데이트없이 그대로 어플리케이션을 실행하게 된다. 반면, VK 휴대전화의 경우 어플리케이션을 실행하면 업데이트 모듈(14)에 의해 어플리케이션의 버전 정보가 전송되고, 설치된 어플리케이션의 버전이 '100001'로 파일정보 테이블의 어플리케이션 버전인 '100002'보다 작으므로 업데이트가 잔행되게 된다. 따라서, 다운로드 서버(34)는 'MobileBank' 어플리케이션의 구성 파일 중 버전이 업데이트된 'Mbank01.dlf' 및 'Mbank02.dlf' 파일을 추출하여 휴대전화(10)로 전송하고, 휴대전화는 전송된 파일을 수신 및 설치한 후에 어플리케이션을 실행하게 된다. 이때, 'Mbank01.dlf'과 'Mbank02.dlf' 파일을 하나로 묶어 전송하는 것이 바람직하다.
도 5 는 본 발명에 따른 휴대전화 어플리케이션의 업데이트 과정을 나타낸 흐름도로서, 휴대전화에 설치된 특정 어플리케이션의 실행시 업데이트가 진행되는 개괄적인 과정을 나타낸 도이다. 도 5 를 참조하여 본 발명에 따른 휴대전화 어플리케이션의 업데이트 과정을 나타내면 이하와 같다.
휴대전화(10)에 설치된 어플리케이션이 실행되고, 어플리케이션은 업데이트 모듈(14)을 호출한다(ST400, ST405). 라이브러리 파일로 플래시 메모리(12)의 ZI 섹션 또는 RO 섹션에 저장된 업데이트 모듈(14)은 어플리케이션의 호출에 따라 RW 섹션으로 로드되고, 업데이트 모듈 내의 업데이트 함수가 실행된다.
업데이트 모듈(14)의 송신 서브모듈은 휴대전화의 모델명 및 버전 정보를 모바일 서버(32)로 전송한다(ST410). 한편, 업데이트 시스템(30)이 단일의 어플리케이션을 제공하는 시스템이 아닌 다수의 어플리케이션을 제공하는 시스템인 경우, 업데이트 모듈(14)은 어플리케이션명을 함께 전송하도록 한다. 상기 버전 정보 등의 전송은 어플리케이션이 실행되면서 네트워크에 접속하여 모바일 서버(32)에 접속할 때, 즉 모바일 서버에 연결 요청을 할 때 이와 동시에 전송되도록 할 수 있다. 이를 통해 사용자에게 불필요한 비용 부담이 발생하는 것을 방지할 수 있다.
모바일 서버(32)는 수신된 버전 정보에 대하여 버전 체크를 수행하여 업데이트가 필요한지 여부를 판단한다(ST415, ST420). 즉, 파일 데이터베이스(36)의 파일정보 테이블로부터 수신된 모델명과 어플리케이션명과 동일한 필드값을 갖는 레코드를 추출하고, 파일정보 테이블에 저장된 해당 어플리케이션의 버전(서버 어플리케이션 버전)과 수신된 버전 정보를 비교한다. 비교 결과, 휴대전화로부터 수신된 버전 정보가 서버의 어플리케이션 버전보다 작을 경우에만 업데이트가 진행되 게 된다.
ST420에서 업데이트가 필요없을 경우, 즉 버전 정보가 서버의 어플리케이션 버전보다 크거나 같을 경우 모바일 서버(32)는 업데이트가 필요없다는 메시지를 휴대전화(10)로 전송하고, 업데이트 모듈은 이에 따라 실행이 종료되고 어플리케이션이 정상적으로 실행된다(ST440).
반면, ST420에서 업데이트가 필요한 경우, 즉 버전 정보가 서버의 어플리케이션 버전보다 작은 경우 업데이트된 파일이 있는 것이므로, 모바일 서버(32)는 업데이트 정보와 어플리케이션의 새로운 버전(서버의 어플리케이션 버전)을 휴대전화(10)로 전송하고 수신 서브모듈에 의해 수신된다. 상기한 바와 같이 상기 업데이트 정보는 업데이트 파일의 식별코드를 포함하는 업데이터와 업데이트 파일의 무결성을 검사하기 위한 해시코드를 포함한다. 또한, 모바일 서버(32)는 다운로드 서버(34)로 해당 어플리케이션의 구성 파일 중 업데이트된 파일을 전송할 것을 요청하게 된다.
다운로드 서버(34)는 상기 휴대전화의 모델명에 대한 상기 어플리케이션의 구성 파일 중 업데이트된 파일을 파일 데이터베이스(36)로부터 추출하고, 추출된 파일을 휴대전화로 전송한다(ST425).
상기한 바와 같이, 업데이트된 각 파일은 하나의 파일로 통합하여 전송하는 것이 바람직하다. 한편, 상기 업데이트 파일의 전송 중에 네트워크의 연결이 끊기는 등의 이유로 파일 전송이 중단된 경우, 이후에 어플리케이션의 재실행으로 인해 휴대전화(10)가 업데이트 시스템(30)에 재접속하게 되면 업데이트 파일의 이어 받기가 가능하도록 한다. 즉, 휴대전화에 업데이트 파일의 일부가 다운로드된 상태에서 파일 전송이 중단된 경우 다음 접속시 다운로드되지 않은 나머지 부분만을 다운로드받도록 구성한다. 이를 통해 다운로드 시간을 단축할 수 있을 뿐만 아니라, 전체 파일을 재다운로드할 경우 사용자에게 이중으로 비용이 부과되는 문제점을 해결할 수 있게 된다. 또한, 다운로드 받을 업데이트 파일을 복수의 파일로 분할하여 다중 다운로드할 수도 있다. 예를 들어, 100K의 업데이트 파일을 다운로드받을 때 4개의 파일(25K*4)로 분할하고 4개의 파일이 동시에 다운로드되도록 구성할 수 있다. 이를 위하여 플랫폼은 멀티 쓰레드를 지원하도록 한다. 따라서, 다운로드 시간을 현저하게 줄일 수 있게 된다.
휴대전화의 업데이트 모듈(14)은 업데이트 파일이 수신되면, 어플리케이션에 설치 요청을 하여 수신된 파일을 설치하도록 한다(ST430). 구체적으로, 업데이트 파일이 수신 서브모듈에 의해 수신되면 해시 함수를 통해 수신된 업데이트 파일에 대한 암호코드를 생성하고, 파일검사 서브모듈은 상기 업데이트 정보에 포함된 해시코드와 상기 암호코드를 비교하여 업데이트 파일의 무결성을 검사한다. 다음으로, 설치 서브모듈은 업데이터에 포함된 업데이트 파일의 식별코드를 이용해 해당 업데이트 파일이 저장된 메모리 주소를 찾은 후 해당 메모리 주소에 수신된 파일을 업데이트하게 된다. 업데이트 파일의 설치가 완료되면 설치 서브모듈은 수신된 새로운 버전(서버의 어플리케이션 버전)으로 해당 어플리케이션의 버전 정보를 변경한 후 어플리케이션을 실행시키게 된다(ST435, ST440).
한편, 어플리케이션이 업데이트 시스템(30) 상에서 업데이트되었을 때, 상기 업데이트가 해당 어플리케이션에 대하여 필수적인 경우와 선택적인 경우로 구분할 수 있다. 전자의 예로는 해당 어플리케이션의 심각한 에러 수정이나 보안상의 문제점 해결 등을 위한 업데이트인 경우를 들 수 있으며, 후자의 예로는 단순한 디스플레이 개선, 오타 수정 또는 부가적인 기능의 추가 등을 들 수 있다. 그러므로, 전자의 경우 상기 어플리케이션이 설치된 모든 휴대전화에 대하여 사용자의 의사에 관계없이 강제로 업데이트가 진행되어야 하며, 후자의 경우에는 사용자가 업데이트 여부를 선택할 수 있어야 한다. 특히, 후자의 경우 사용자가 업데이트를 거부하였을 때 다른 업데이트가 발생하기 이전에는 해당 어플리케이션을 재차 실행할 때 다시 업데이트에 대한 경고 메시지가 출력되지 않아야 한다. 이하에서는, 사용자의 의사에 무관하게 업데이트를 진행하는 전자의 업데이트를 '강제 업데이트'라 하고, 사용자의 선택에 의해 업데이트 여부를 결정하는 후자의 업데이트를 '선택 업데이트'라 한다.
도 6 은 본 발명에 따른 어플리케이션의 버전 정보의 포맷을 나타내는 도로서, 업데이트 모듈에 의해 모바일 서버(32)로 전송되는 어플리케이션의 버전 정보의 포맷의 예를 도시한 것이다. 도 6 에 도시한 바와 같이, 버전 정보는, 사용자가 선택 업데이트를 거부한 경우 모바일 서버(32)에 가상으로 상기 선택 업데이트를 수행한 것으로 나타내기 위하여, 실제 버전 필드 이외에 가상 버전 필드를 더 포함한다. 실제 버전 필드에는 어플리케이션의 실제 버전이 기록되며 가상 버전 필드에는 가상의 버전이 기록되게 된다. 또한, 가상 버전 필드와 실제 버전 필드 모두 강제 업데이트를 위한 버전인 강제 버전과 선택 업데이트를 위한 버전인 선택 버전이 기록되는 필드로 이루어진다.
모바일 서버(32)는 버전 정보를 수신하여 버전 체크를 수행함에 있어서, 선택 업데이트 여부 판단을 위하여 서버의 어플리케이션 버전과 상기 가상 버전 필드값을 비교하게 된다. 따라서, 가상 버전 필드는 선택 업데이트에 대하여 사용자가 거부하였을 경우 모바일 서버가 상기 업데이트를 수행한 것으로 판단하게 함으로써, 이후에 동일한 업데이트 사항에 대하여 재차 업데이트 과정이 진행되는 것을 방지하게 된다.
도 6 에서는 버전 정보가 10 자리, 즉 10 바이트로 이루어지고, 실제 버전과 가상 버전으로 각기 5 바이트가 할당되고, 강제 버전으로 2 바이트, 그리고 선택 버전으로 3 바이트가 할당된 예를 도시하였다. 그러나, 버전 정보의 각 필드 구성 및 각 필드의 자리수(바이트수) 할당은 변형이 가해질 수 있음은 물론이다.
도 7 은 본 발명에 따른 모바일 서버의 버전 체크 과정을 나타낸 흐름도로서, 도 5 의 ST415 단계를 구체적으로 도시한 것이다. 즉, 도 6 과 같은 버전 정보 포맷을 사용하여 강제 업데이트 또는 선택 업데이트 여부를 위한 버전 체크를 하는 과정을 나타낸 도이다. 도 7 을 참조하여 본 발명에 따른 모바일 서버(32)의 버전 체크 과정에 대하여 설명하면 이하와 같다.
어플리케이션 중 특정 휴대전화 모델에 대하여 업데이트가 발생한 경우, 상 기 어플리케이션을 구성하는 파일 중 업데이트된 파일은 파일 데이터베이스(32)에 저장된다. 또한, 파일정보 테이블에 업데이트된 파일의 정보가 갱신되는데, 구체적으로 휴대전화의 모델명 및 어플리케이션명을 키로 하여 레코드를 추출한 후, 상기 레코드에 대하여 어플리케이션의 버전과 구성 파일 중 업데이트된 파일의 버전을 변경하게 된다. 이때, 업데이트의 형태에 따라 어플리케이션의 버전을 구분하여 변경하도록 한다. 즉, 강제 업데이트와 선택 업데이트에 대하여 어플리케이션의 버전 중 각 버전을 나타내는 필드의 값을 변경하도록 한다. 예를 들어, 서버의 어플리케이션 버전이 '01000'(강제 버전 01, 선택 버전 000)인 경우, 강제 업데이트가 발생한 경우에는 상기 버전을 '02000'으로 변경하고, 선택 업데이트가 발생한 경우에는 '01001'로 변경하도록 한다.
모바일 서버(32)는 휴대전화(10)의 업데이트 모듈(14)로부터 전송된 휴대전화의 모델명, 어플리케이션명 및 버전 정보를 수신하고, 파일 데이터베이스(36)의 파일정보 테이블로부터 상기 모델명 및 어플리케이션명과 동일한 필드값을 갖는 레코드를 추출한다(ST600).
모바일 서버(32)는 수신한 버전 정보의 실제 버전 필드값과 상기 추출된 레코드의 어플리케이션 버전 필드값(서버의 어플리케이션 버전)을 비교한다(ST605). ST605에서 실제 버전 필드값이 서버의 어플리케이션 버전보다 크거나 같을 경우 업데이트가 필요없으므로, 휴대전화의 업데이트 모듈(14)이 종료되고 어플리케이션의 정상 실행된다(ST610). 예를 들어, 버전 정보가 '0100001000'(실제 버전과 가상 버전 모두 01000)이고 서버의 어플리케이션 버전 또한 '01000'인 경우 업데이트할 파일이 없으므로 업데이트 과정이 종료된다.
반면, 실제 버전 필드값이 서버의 어플리케이션 버전보다 작을 경우 강제 업데이트 또는 선택 업데이트 과정이 진행된다.
먼저, 서버의 어플리케이션 버전 중 강제 버전 필드값과 버전 정보의 실제 버전 중 강제 버전 필드값을 비교하여, 서버의 강제 버전 필드값이 버전 정보의 강제 버전 필드값보다 클 경우 강제 업데이트가 수행된다(ST615, ST620). 반면, 서버의 강제 버전 필드값이 버전 정보의 강제 버전 필드값보다 작거나 같을 경우 강제 업데이트할 파일이 없는 것이므로, 선택 업데이트를 체크하게 된다. 상기 예에서, 서버의 어플리케이션 버전이 '02000'(강제 버전 02, 선택 버전 000)인 경우, 버전 정보의 강제 버전 필드값보다 서버의 강제 버전 필드값이 더 크므로 강제 업데이트가 진행된다. 반면, 서버의 어플리케이션 버전이 '01000'이라면 서버와 버전 정보의 강제 버전 필드값이 동일하므로 강제 업데이트가 수행되지 않는다.
버전 정보의 가상 버전 필드값이 서버의 어플리케이션 버전보다 크거나 같을 경우, 선택 업데이트될 파일이 없거나 사용자가 이전의 선택 업데이트에 대하여 거부한 경우에 해당되므로 업데이트 과정을 종료하고 어플리케이션을 정상 실행하게 된다(ST625, ST610). 하지만, 가상 버전 필드값이 서버의 어플리케이션 버전보다 작을 경우 선택 업데이트될 파일이 있는 것이므로 모바일 서버(32)는 선택 업데이트를 수행하게 된다(ST630). 상기의 예에서, 서버의 어플리케이션 버전이 '01001'인 경우 버전 정보의 가상 버전이 '01000'이므로 서버의 어플리케이션 버전이 버전 정보의 가상 버전보다 더 크므로 선택 업데이트가 수행된다. 반면, 서버 의 어플리케이션 버전이 '01000'이라면 서버의 어플리케이션 버전과 버전 정보의 가상 버전이 동일하므로 선택 업데이트가 수행되지 않고 어플리케이션이 그대로 실행되게 된다.
한편, ST625에서 선택 버전 필드값만을 비교하지 않고 가상 버전 필드값 전체와 서버의 어플리케이션 버전 전체를 비교하는 것은, ST615에서 이미 강제 버전 필드에 대한 비교를 하였기 때문이다. 즉, 강제 업데이트의 경우 사용자의 선택 여부에 관계없이 업데이트를 진행하므로 가상 버전 필드와 실제 버전 필드의 강제 버전 필드값은 항상 동일하게 된다. 따라서, ST625에서는 가상 버전과 서버의 어플리케이션 버전의 크기 비교에 강제 버전 필드값은 영향을 주지 않고 오직 선택 버전 필드값에 의해 결정되기 때문에 전체를 비교하게 된다. 한편, ST625에서 가상 버전 필드의 선택 버전 필드값과 서버의 어플리케이션 버전 중 선택 버전 필드값을 직접 비교하도록 할 수도 있음은 물론이다.
도 8 은 본 발명에 따른 휴대전화의 강제 업데이트 과정을 나타낸 흐름도로서, 도 7 의 ST620 단계를 구체적으로 도시한 것이다. 도 8 을 참조하여 본 발명에 따른 휴대전화의 강제 업데이트 과정에 대하여 설명하면 이하와 같다.
도 7 의 ST615에서 서버의 어플리케이션 버전의 강제 버전이 버전 정보의 실제 버전 필드 중 강제 버전 필드값보다 크면, 강제 업데이트할 파일이 존재하는 것이므로 강제 업데이트 과정이 진행된다. 예를 들어, 휴대전화로부터 수신된 버전 정보가 '0100001000'이고, 서버의 어플리케이션 버전이 '02000'인 경우, 휴대전화 의 어플리케이션의 강제 버전은 01인 반면 서버의 어플리케이션의 강제 버전은 02이므로 강제 업데이트가 필요하다.
모바일 서버(32)는 사용자의 업데이트 선택 여부를 묻지 않고 강제 업데이트 메시지, 업데이트 정보 및 새로운 버전(서버의 어플리케이션 버전, 상기 예에서 02000)을 휴대전화로 전송하고, 다운로드 서버(34)에 업데이트 파일 전송을 요청하게 된다(ST700). 상기 강제 업데이트 메시지는 업데이트를 수행한다는 메시지와 함께 업데이트된 내용에 대한 정보를 포함하도록 한다.
업데이트 모듈(14)은 업데이트를 위해 해당 어플리케이션을 초기화하고, 다운로드 서버(34)는 파일 데이터베이스(36)에서 업데이트된 파일을 추출 및 통합하여 전송한다(ST705, ST710). 업데이트 모듈(14)은 수신된 업데이트 파일의 무결성을 검사한 후 해당 어플리케이션을 업데이트한다.
업데이트 모듈(14)은 ST700에서 수신된 새로운 버전(상기 예에서 02000)으로 버전 정보를 변경한 후 종료하며, 업데이트된 어플리케이션이 실행된다(ST715, ST720). 이때, 버전 정보는 실제 버전 필드와 가상 버전 필드 모두 변경하도록 하는데, 상기의 예에서 버전 정보는 '0200002000'로 변경된다.
도 9 는 본 발명에 따른 휴대전화의 선택 업데이트 과정을 나타낸 흐름도로서, 도 7 의 ST630 단계를 구체적으로 도시한 것이다. 도 9 를 참조하여 본 발명에 따른 휴대전화의 선택 업데이트 과정에 대하여 설명하면 이하와 같다.
도 7 의 ST625에서 버전 정보의 가상 버전 필드값이 서버의 어플리케이션 버 전보다 작을 경우, 선택 업데이트할 파일이 존재하는 것이므로 선택 업데이트 과정이 진행된다. 예를 들어, 휴대전화로부터 수신된 버전 정보가 '0100001000'이고, 서버의 어플리케이션 버전이 '01001'인 경우, 버전 정보의 가상 버전 필드값 '01000'이 서버의 어플리케이션 버전 '01001' 보다 작으므로 선택 업데이트가 진행된다.
모바일 서버(32)는 선택 업데이트 메시지와 함께 새로운 버전(서버의 어플리케이션 버전, 상기 예에서 01001)을 휴대전화(10)로 전송한다(ST800). 선택 업데이트 메시지는 사용자에게 업데이트의 선택여부를 묻는 메시지와 함께 업데이트된 내용에 대한 정보를 포함한다.
업데이트 모듈(14)은 수신된 선택 업데이트 메시지를 휴대전화의 화면을 통해 디스플레이하여 사용자가 업데이트 여부를 선택하도록 한다(ST805).
사용자가 선택 업데이트에 대하여 업데이트를 거부한 경우, 업데이트 모듈은 수신된 새로운 버전(상기 예에서 01001)을 버전 정보의 가상 버전 필드에 기록하여 버전 정보를 변경한다(ST810, ST815). 또한, 업데이트 모듈(14)은 업데이트 거부 메시지와 함께 변경된 버전 정보를 모바일 서버(32)로 전송하고, 업데이트 모듈을 종료한 후 어플리케이션을 정상 실행하게 된다(ST820, ST825).
상기 예의 경우, 버전 정보는 '0100001001'(실제 버전 01000, 가상 버전 01001)로 변경된다. 그러므로, 모바일 서버(32)가 가상 버전 필드값(01001)과 서버의 어플리케이션 버전(01001)을 비교하면, 양 버전이 서로 동일하므로 선택 업데이트가 필요없는 것을 판단하게 된다. 따라서, 향후 어플리케이션을 다시 실행할 경우에도 버전 정보로 '0100001001'이 전송되므로, 다른 업데이트가 발생하지 않는 한 모바일 서버(32)로부터 선택 업데이트 메시지가 재차 전송되지 않게 된다.
한편, ST820에서 업데이트 거부 메시지 및 변경된 버전 정보를 전송하지 않고 곧바로 업데이트 모듈을 종료하고 어플리케이션을 정상 실행하도록 구성할 수도 있다. 이 경우, 모바일 서버(32)는 업데이트 여부에 대한 응답이 수신되지 않으므로 일정 카운트 동안 대기상태를 유지한 후 업데이트 프로세스를 종료하게 된다. 또한, 이후의 어플리케이션의 실행으로 인해 버전 정보를 전송할 경우, 상기한 바와 같이 가상 버전 필드값으로 새로운 버전을 가지므로 선택 업데이트에 대하여 모바일 서버로부터 별도의 메시지가 전송되지 않게 된다.
한편, ST810에서 사용자가 선택 업데이트를 수락한 경우, 업데이트 모듈(14)은 모바일 서버(32)로 업데이트 수락 메시지를 전송하고, 모바일 서버로부터 업데이트 정보를 수신하고 다운로드 서버(34)로부터 업데이트 파일을 수신 및 설치하게 된다(ST830, ST835). 업데이트 모듈(14)은 버전 정보의 실제 버전 필드와 가상 버전 필드 모두에 ST800에서 수신된 새로운 버전(서버의 어플리케이션 버전)을 기록(0100101001)한 후 종료되고, 어플리케이션이 실행된다(ST840, ST825). 한편, 상기 ST840 단계는 선택적으로 수행이 가능함은 물론이다. 즉, 선택 업데이트 여부는 가상 버전 필드값에 의해 결정되므로 가상 버전 필드만을 새로운 버전으로 업데이트하도록 할 수도 있다.
한편, 사용자의 업데이트 수락 여부에 관계없이 가상 버전 필드에는 일단 ST800에서 수신된 버전을 기록하고, ST835에서 업데이트 파일과 함께 서버의 어플 리케이션 버전을 전송하도록 하여 업데이트 후에 실제 버전 필드만을 변경하도록 할 수도 있음은 물론이다.
응용례
상기에서는 어플리케이션의 업데이트를 중심으로 설명하였으나, 본 발명은 어플리케이션 이외에도 휴대전화에서 사용되는 다양한 컨텐츠의 업데이트에도 적용 가능하다. 이 경우, 어플리케이션과 같이 오류 수정 등으로 인한 업데이트 보다는 디스플레이 개선이나 스킨 또는 작동 모드 등의 추가 등을 위한 업데이트가 주로 수행될 것이다. 따라서, 컨텐츠의 경우 상기 강제 업데이트와 선택 업데이트 중 사용자가 선택적으로 업데이트할 수 있는 선택 업데이트가 적합하게 적용될 것이다.
또한, 본 발명은 모바일 뱅킹용 어플리케이션의 업데이트에도 적용될 수 있다. 모바일 뱅킹 어플리케이션은 휴대전화에 별도 장착되며 고객의 뱅킹 아이디가 기록되는 스마트 칩과 연동하여 모바일 뱅킹 서버에 접속하고, 휴대전화를 이용하여 은행 서비스를 이용할 수 있도록 하는 어플리케이션이다. 모바일 뱅킹 어플리케이션은 휴대전화의 메모리에 설치되어 사용되는데, 특히 휴대전화의 메모리로 플래시 메모리를 사용할 경우 모바일 뱅킹 어플리케이션을 구성하는 실행파일, 라이브러리 파일 및 리소스 파일은 상기한 바와 같이 개별적인 파일로 플래시 메모리 의 각 영역에 저장된다.
상기 모바일 뱅킹용 어플리케이션의 업데이트를 위하여는, 본 발명과 같이 업데이트 모듈에 의해 버전 정보를 전송하고 모바일 뱅킹 서버가 버전 체크를 통해 업데이트 필요 여부를 판단하여 업데이트가 진행되도록 하는 것이 바람직하다.
한편, 모바일 뱅킹 서비스를 제공함에 있어서 서비스의 변경이나 중요 정보 등의 전달을 위해 모바일 뱅킹 서버로부터 모바일 뱅킹용 휴대전화로 공지사항을 전송하도록 구성할 수 있다. 이 경우, 모바일 뱅킹 어플리케이션이 업데이트된 경우 모바일 뱅킹 어플리케이션의 업데이트된 버전 및 업데이트된 내용을 포함하는 업데이트 정보를 공지사항으로 모바일 뱅킹 휴대전화로 전송하고, 업데이트 모듈은 공지사항을 통해 모바일 뱅킹 어플리케이션의 업데이트 필요 여부를 판단하도록 구성할 수도 있다.
이상 설명한 바대로, 본 발명에 따른 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법은, 휴대전화에 설치된 어플리케이션의 업데이트된 파일만을 다운로드 및 설치하므로 다운로드할 파일의 용량을 현저하게 줄여 사용자의 비용 부담을 크게 절감시킬 뿐만 아니라 다운로드 및 업데이트 시간을 단축하여 효율을 향상시키고 네트워크의 부하를 줄일 수 있는 현저한 효과가 있다.
예를 들어, 휴대전화의 파일 다운로드시 1K를 1패킷으로 하고, 1 패킷당 10 원의 요금을 부가한다고, 전체 용량이 230K인 어플리케이션이 실행파일 A(130K), 라이브러리 파일 B(20K) 및 C(30K), 리소스 파일 D(10K), E(20K), F(20K)로 구성되었다고 가정한다.
이때, 어플리케이션 중 라이브러리 파일 C와 리소스 파일 D가 업데이트된 경우에, 종래의 방식에 따르면 사용자는 어플리케이션 전체, 즉 230K를 모두 다운로드받아야 한다. 따라서, 부당하게 많은 비용을 부담할 뿐만 아니라 상기 어플리케이션을 사용하는 모든 사용자가 230K를 다운로드받음으로 인해 네트워크에 부하가 발생하게 된다. 그러나, 본 발명과 같이 업데이트된 파일만을 다운로드받을 경우 라이브러리 파일 C와 리소스 파일 D의 통합 파일로 40K만을 다운로드받으면 된다. 따라서, 사용자의 비용부담이 현저하게 줄어들 뿐만 아니라 사용자들의 다운로드 용량이 줄어들게 되므로 네트워크의 부하가 크게 감소하게 된다.
또한, 본 발명은 업데이트의 유형에 따라 업데이트 플로우를 상이하게 함으로써 업데이트 과정을 보다 탄력적으로 운영할 수 있다. 즉, 어플리케이션의 구동에 필수적이지 않은 업데이트에 대하여는 사용자가 업데이트 여부를 선택할 수 있도록 함으로써, 사용자가 불필요한 업데이트로 인해 시간적 경제적 손실을 입는 것을 방지하여 서비스의 질을 개선할 수 있다. 또한, 어플리케이션에 필수적인 업데이트에 대하여는 사용자의 선택 여부에 관계없이 강제로 업데이트를 진행함으로써 어플리케이션의 안정적 동작을 담보할 수 있게 된다. 뿐만 아니라, 선택 업데이트에 대하여 사용자가 한번 업데이트를 거부한 후에는 업데이트를 묻는 메시지를 재차 전송하지 않으므로 사용자의 사용상 편의성을 크게 향상시킬 수 있게 된 다.
아울러, 본 발명은 여러 종류의 휴대전화 모델에 적용되는 어플리케이션에 대하여 특정 휴대전화 모델의 어플리케이션에만 업데이트가 발생한 경우(예를 들어 에러 수정), 상기 모델을 사용하는 휴대전화에 대하여만 업데이트를 진행함으로써 다른 모델을 사용하는 사용자가 불필요하게 어플리케이션의 업데이트를 받는 것을 방지할 수 있다.
또한, 본 발명은 업데이트 과정을 수행하는 업데이트 모듈을 라이브러리 파일로 구성하여 휴대전화에 설치된 각 어플리케이션이 공유하여 사용할 수 있도록 함으로써, 업데이트 작업의 효율을 향상시키고 휴대전화 메모리의 불필요한 낭비를 줄일 수 있다.
본 발명의 바람직한 실시례가 특정 용어들을 사용하여 기술되어 왔지만, 그러한 기술은 오로지 설명을 하기 위한 것이며, 다음의 청구범위의 기술적 사상 및 범위로부터 이탈되지 않고서 여러 가지 변경 및 변화가 가해질 수 있는 것으로 이해되어져야 한다.
Claims (15)
- 어플리케이션이 설치되는 휴대전화; 및 무선 네트워크를 통해 상기 휴대전화와 통신 연결되어 상기 휴대전화에 설치된 어플리케이션의 버전을 체크하여 업데이트 여부를 결정하고 업데이트 파일을 상기 휴대전화로 전송하는 업데이트 시스템을 포함하는 휴대전화 어플리케이션 업데이트 시스템에서, 상기 휴대전화에 설치된 어플리케이션의 버전인 제 1 버전을 상기 업데이트 시스템으로 전송하고 상기 업데이트 파일을 수신하여 상기 어플리케이션을 업데이트하는 어플리케이션의 업데이트 가능한 휴대전화로서,실행파일, 상기 실행파일의 실행시 참조되는 하나 이상의 라이브러리 파일 및 하나 이상의 리소스 파일이 각기 개별적인 파일로 이루어지고 상기 제 1 버전이 부여되는 상기 어플리케이션 및 상기 어플리케이션을 업데이트하는 업데이트 모듈이 서로 다른 영역에 분리 저장되는 메모리를 포함하고,상기 업데이트 모듈이, 상기 어플리케이션의 제 1 버전을 포함하는 버전 정보 및 상기 휴대전화의 모델명을 상기 업데이트 시스템으로 전송하고, 상기 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일 중 변경된 파일인 상기 업데이트 파일 및 상기 파일의 변경으로 인하여 변경된 상기 어플리케이션의 새로운 버전인 제 2 버전을 상기 업데이트 시스템으로부터 수신하여, 상기 업데이트 파일을 설치하고 상기 제 1 버전을 상기 제 2 버전으로 변경하고,상기 버전 정보가, 상기 어플리케이션의 상기 제 1 버전인 실제 버전 및 상기 어플리케이션의 가상의 버전인 가상 버전을 포함하고, 상기 실제 버전, 상기 가상 버전 및 상기 제 2 버전이, 사용자의 선택에 무관하게 상기 어플리케이션의 업데이트가 수행되는 강제 업데이트를 위한 버전인 강제 버전 및 상기 사용자의 선택에 따라 상기 어플리케이션의 업데이트 여부가 결정되는 선택 업데이트를 위한 버전인 선택 버전을 포함하고,상기 버전 정보 중 상기 실제 버전의 강제 버전이 상기 강제 업데이트시 상기 업데이트 시스템에 의해 상기 제 2 버전의 강제 버전과 버전 체크되고, 상기 버전 정보 중 상기 가상 버전이 상기 선택 업데이트시 상기 업데이트 시스템에 의해 상기 제 2 버전과 버전 체크되고 상기 어플리케이션의 선택 업데이트 여부와 무관하게 상기 제 2 버전으로 변경되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 1 항에 있어서,상기 메모리가,읽기만이 가능한 RO 섹션, 읽기/쓰기가 가능하고 저장된 데이터가 초기화되지 않는 RW 섹션 및 읽기/쓰기가 가능하고 저장된 데이터가 '0'으로 초기화되는 ZI 섹션으로 이루어진 플래시 메모리인 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 2 항에 있어서,상기 실행파일의 초기화되는 변수가 상기 ZI 섹션에 저장되고, 상기 실행파일의 상수가 상기 RO 섹션에 저장되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 2 항에 있어서,상기 라이브러리 파일이 상기 ZI 섹션에 저장되고, 상기 실행파일의 실행시 상기 라이브러리 파일이 상기 RW 섹션으로 로드되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 2 항에 있어서,상기 리소스 파일이 상기 RO 섹션에 저장되고, 상기 실행파일의 실행시 리소스 파일이 상기 RW 섹션으로 로드되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 2 항에 있어서,상기 업데이트 모듈이,상기 라이브러리 파일로 이루어지고, 상기 ZI 섹션에 저장되며 상기 어플리 케이션의 실행시 상기 RW 섹션으로 로드되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 2 항에 있어서,상기 업데이트 모듈이,상기 라이브러리 파일로 이루어지고, 상기 RO 섹션에 저장되며 상기 어플리케이션의 실행시 상기 RW 섹션으로 로드되는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 제 1 항에 있어서,상기 업데이트 모듈이,상기 휴대전화의 모델명, 상기 어플리케이션을 식별하는 어플리케이션명 및 상기 버전 정보를 상기 업데이트 시스템으로 전송하는 송신 서브모듈;상기 업데이트 파일, 상기 업데이트 파일의 설치를 위한 업데이트 정보 및 상기 제 2 버전을 상기 업데이트 시스템으로부터 수신하는 수신 서브모듈;상기 업데이트 정보가, 상기 업데이트 파일의 식별코드를 포함하는 업데이터 및 상기 업데이트 파일의 무결성을 검사하기 위한 해시코드를 포함하고,상기 수신된 업데이트 파일을 입력받아 비가역적인 암호코드를 생성하는 해시 함수;상기 업데이트 정보에 포함된 상기 해시코드와 상기 해시함수에 의해 생성된 암호코드를 비교하여 상기 업데이트 파일의 무결성을 검사하는 파일검사 서브모듈; 및상기 업데이트 파일의 식별코드를 이용하여 상기 업데이트 파일이 저장될 메모리의 주소를 찾은 후 상기 메모리 주소에 상기 업데이트 파일을 업데이트하고, 상기 실제 버전 및 상기 가상 버전을 상기 제 2 버전으로 변경하는 설치 서브모듈을 포함하는 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 삭제
- 제 1 항에 있어서,상기 어플리케이션이,뱅킹 아이디가 기록된 스마트 칩과 연동하여 모바일 뱅킹 서비스를 제공하는 모바일 뱅킹 어플리케이션인 것을 특징으로 하는 어플리케이션의 업데이트 가능한 휴대전화.
- 어플리케이션이 설치되는 휴대전화; 및 무선 네트워크를 통해 상기 휴대전화와 통신 연결되어 상기 휴대전화에 설치된 어플리케이션의 버전을 체크하여 업데이트 여부를 결정하고 업데이트 파일을 상기 휴대전화로 전송하는 업데이트 시스템을 포함하는 휴대전화 어플리케이션 업데이트 시스템에서, 실행파일, 하나 이상의 라이브러리 파일 및 하나 이상의 리소스 파일이 각기 개별적인 파일로 이루어져 상기 휴대전화에 설치되는 상기 어플리케이션에 대하여, 상기 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일 중 변경된 파일인 상기 업데이트 파일만을 상기 휴대전화로 전송하여 상기 어플리케이션을 업데이트하는 휴대전화 어플리케이션의 업데이트 방법으로서,상기 휴대전화에 설치된 상기 어플리케이션의 버전인 실제 버전 및 상기 어플리케이션의 가상의 버전인 가상 버전을 포함하는 버전 정보와 상기 휴대전화의 모델명을 상기 휴대전화로부터 수신하는 제 1 단계;상기 실제 버전 및 상기 가상 버전이, 사용자의 선택에 무관하게 상기 어플리케이션의 업데이트가 수행되는 강제 업데이트를 위한 버전인 강제 버전 및 상기 사용자의 선택에 따라 상기 어플리케이션의 업데이트 여부가 결정되는 선택 업데이트를 위한 버전인 선택 버전을 포함하고,상기 어플리케이션의 실행파일, 라이브러리 파일 및 리소스 파일의 최신 업데이트된 파일, 각 파일의 버전인 파일 버전, 상기 어플리케이션의 최신 버전인 제 2 버전 및 상기 어플리케이션이 적용되는 휴대전화의 모델명을 분류 저장하는 파일 데이터베이스로부터 상기 수신된 휴대전화 모델명에 대한 상기 어플리케이션의 제 2 버전을 추출하는 제 2 단계;상기 제 2 버전이 상기 강제 버전 및 상기 선택 버전을 포함하고,상기 버전 정보 중 상기 실제 버전과 상기 제 2 버전의 크기를 비교하는 제 3 단계;상기 실제 버전이 상기 제 2 버전보다 크거나 같은 경우, 상기 어플리케이션의 업데이트를 종료하는 제 4 단계;상기 실제 버전이 상기 제 2 버전보다 작은 경우, 상기 실제 버전의 강제 버전과 상기 제 2 버전의 강제 버전의 크기를 비교하는 제 5 단계;상기 실제 버전의 강제 버전이 상기 제 2 버전의 강제 버전보다 작은 경우, 상기 파일 데이터베이스로부터 상기 파일 버전이 변경된 파일인 상기 업데이트 파일을 추출하여, 상기 강제 업데이트를 나타내는 메시지, 상기 제 2 버전, 상기 업데이트 파일의 설치를 위한 업데이트 정보 및 상기 업데이트 파일을 상기 휴대전화로 전송하는 제 6 단계;상기 업데이트 정보가, 상기 업데이트 파일의 식별코드를 포함하는 업데이터 및 업데이트된 파일의 무결성을 검사하기 위한 해시코드를 포함하고,상기 실제 버전의 강제 버전이 상기 제 2 버전의 강제 버전보다 크거나 같은 경우, 상기 버전 정보 중 상기 가상 버전과 상기 제 2 버전의 크기를 비교하는 제 7 단계;상기 가상 버전이 상기 제 2 버전보다 크거나 같은 경우, 상기 업데이트를 종료하는 제 8 단계;상기 가상 버전이 상기 제 2 버전보다 작은 경우, 상기 선택 업데이트를 나타내는 메시지, 상기 제 2 버전 및 상기 사용자에게 업데이트 여부의 선택을 요청하는 메시지를 상기 휴대전화로 전송하는 제 9 단계;상기 사용자로부터 상기 업데이트의 수락이 선택되면, 상기 파일 데이터베이스로부터 상기 파일 버전이 변경된 파일인 상기 업데이트 파일을 추출하여, 상기 업데이트 정보 및 상기 업데이트 파일을 상기 휴대전화로 전송하는 제 10 단계; 및상기 사용자로부터 상기 업데이트의 거부가 선택되면, 상기 업데이트를 종료하는 제 11 단계를 포함하고,상기 제 4 단계와 상기 제 5 단계 내지 상기 제 11 단계가 선택적으로 수행되고, 상기 제 6 단계와 상기 제 7 단계 내지 상기 제 11 단계가 선택적으로 수행되고, 상기 제 8 단계와 상기 제 9 단계 내지 상기 제 11 단계가 선택적으로 수행되고, 상기 제 10 단계와 상기 제 11 단계가 선택적으로 수행되는 것을 특징으로 하는 휴대전화 어플리케이션의 업데이트 방법.
- 삭제
- 삭제
- 삭제
- 삭제
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040045513A KR100653280B1 (ko) | 2004-06-18 | 2004-06-18 | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040045513A KR100653280B1 (ko) | 2004-06-18 | 2004-06-18 | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050120235A KR20050120235A (ko) | 2005-12-22 |
KR100653280B1 true KR100653280B1 (ko) | 2006-12-04 |
Family
ID=37292793
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040045513A KR100653280B1 (ko) | 2004-06-18 | 2004-06-18 | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100653280B1 (ko) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013100326A1 (ko) * | 2011-12-26 | 2013-07-04 | 주식회사 안랩 | 어플리케이션 업데이트 장치 및 방법 |
KR101412029B1 (ko) * | 2012-11-12 | 2014-07-02 | 주식회사 안랩 | 어플리케이션 업데이트 장치 및 방법 |
WO2014160636A1 (en) * | 2013-03-26 | 2014-10-02 | Jvl Ventures Llc | Systems, methods, and computer program products for managing service installation |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101273914B1 (ko) * | 2006-10-31 | 2013-06-12 | 에스케이플래닛 주식회사 | 플랫폼 라이브러리 다이나믹 링킹기능이구비된 단말장비 및 그 제어방법 |
KR100799621B1 (ko) * | 2007-07-10 | 2008-01-30 | 패스웨이 주식회사 | 모바일 금융 서비스 시스템 및 방법 |
KR100828126B1 (ko) * | 2007-10-26 | 2008-06-10 | (주)지오스큐브 | 모바일 게임에서의 카드 업데이트 방법 및 시스템 |
KR20120100457A (ko) * | 2011-03-04 | 2012-09-12 | 애니포인트 미디어 그룹 | 서비스 컴포넌트를 이용한 애플리케이션 실행 방법 및 이를 실현시키기 위한 프로그램을 기록한 컴퓨터 판독가능 매체 |
KR102116514B1 (ko) * | 2013-10-15 | 2020-05-28 | 에스케이텔레콤 주식회사 | 응용프로그램 버전 관리 방법 및 장치 |
KR102148364B1 (ko) * | 2020-05-21 | 2020-08-26 | 에스케이텔레콤 주식회사 | 응용프로그램 버전 관리 방법 및 장치 |
CN117241259B (zh) * | 2023-11-15 | 2024-01-19 | 长沙时代跳动科技有限公司 | 基于移动互联网的app服务管理平台及其数据处理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092713A (ja) | 1999-09-21 | 2001-04-06 | Hitachi Kokusai Electric Inc | データ書き込み装置とその書き込み方法 |
KR20020006165A (ko) * | 2000-07-11 | 2002-01-19 | 송문섭 | 휴대폰의 프로그램 업그레이드 방법 |
KR20020009741A (ko) * | 2000-07-26 | 2002-02-02 | 황보영철 | 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법 |
KR20030041027A (ko) * | 2001-11-19 | 2003-05-23 | 에스케이텔레텍주식회사 | 이동통신 단말기용 컨텐츠 어플리케이션의 리소스 한정제공 방법 및 그를 이용한 이동통신 단말기 |
KR20040008007A (ko) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
-
2004
- 2004-06-18 KR KR1020040045513A patent/KR100653280B1/ko not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001092713A (ja) | 1999-09-21 | 2001-04-06 | Hitachi Kokusai Electric Inc | データ書き込み装置とその書き込み方法 |
KR20020006165A (ko) * | 2000-07-11 | 2002-01-19 | 송문섭 | 휴대폰의 프로그램 업그레이드 방법 |
KR20020009741A (ko) * | 2000-07-26 | 2002-02-02 | 황보영철 | 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법 |
KR20030041027A (ko) * | 2001-11-19 | 2003-05-23 | 에스케이텔레텍주식회사 | 이동통신 단말기용 컨텐츠 어플리케이션의 리소스 한정제공 방법 및 그를 이용한 이동통신 단말기 |
KR20040008007A (ko) * | 2002-07-15 | 2004-01-28 | 에임텍 주식회사 | 무선단말기 펌웨어 업그레이드 방법 |
Non-Patent Citations (1)
Title |
---|
1020020009741 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013100326A1 (ko) * | 2011-12-26 | 2013-07-04 | 주식회사 안랩 | 어플리케이션 업데이트 장치 및 방법 |
KR101412029B1 (ko) * | 2012-11-12 | 2014-07-02 | 주식회사 안랩 | 어플리케이션 업데이트 장치 및 방법 |
WO2014160636A1 (en) * | 2013-03-26 | 2014-10-02 | Jvl Ventures Llc | Systems, methods, and computer program products for managing service installation |
US9286049B2 (en) | 2013-03-26 | 2016-03-15 | Google Inc. | Systems, methods, and computer program products for managing service installation |
Also Published As
Publication number | Publication date |
---|---|
KR20050120235A (ko) | 2005-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7283811B2 (en) | System and method for aggregation of user applications for limited-resource devices | |
CN1902609B (zh) | 用于在一外围装置与一无线装置之间建立通信的系统及方法 | |
RU2333612C2 (ru) | Система и способ для обновления версий наборов данных, содержащихся в беспроводном устройстве | |
US7096311B2 (en) | Updating electronic files using byte-level file differencing and updating algorithms | |
US7779055B2 (en) | Device memory management during electronic file updating | |
US8578361B2 (en) | Updating an electronic device with update agent code | |
US7904528B2 (en) | Apparatus and associated method for downloading an application with a variable lifetime to a mobile terminal | |
US6684324B2 (en) | Method for installing two or more operating systems/user interfaces into an electronic device and an electronic device | |
US20030060188A1 (en) | System and method for charging for directed provisioning of user applications on limited-resource devices | |
US7266370B2 (en) | System and method for developing and deploying device independent applications | |
AU2003226998B2 (en) | System and method for managing resources of portable module resources | |
EP1775913A1 (en) | Method for controlling multimedia middleware apparatus using metadata | |
WO2004029815A1 (ja) | 通信システム、中継装置及び通信制御方法 | |
KR100653280B1 (ko) | 어플리케이션의 업데이트 가능한 휴대전화 및 업데이트 방법 | |
US8046757B2 (en) | Method for installing ActiveX control | |
CN1886976B (zh) | 用于使用动作列表及版本控制对一无线装置执行动作的方法及设备 | |
CN110851163A (zh) | 一种基于can通信的兼容多设备平台的软件更新方法 | |
CN106528199A (zh) | 一种汽车仪表盘系统的更新方法及终端 | |
CN114265606B (zh) | 固件升级方法、装置、设备及存储介质 | |
CN114090069A (zh) | 应用程序安装包文件处理方法及电子设备 | |
EP2053504A1 (en) | System and method for managing processing resources | |
CN101399784A (zh) | 通信系统、通信方法、通信控制程序和程序记录介质 | |
JP5216723B2 (ja) | 通信端末及びアプリケーション取得方法 | |
CN114629954A (zh) | 内容分发方法和系统 | |
CN117435229A (zh) | 一种文件的版本更新方法、系统、装置及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
N231 | Notification of change of applicant | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111129 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |