KR100357663B1 - 이동단말기에서의 프로그램 다운로드 및 실행방법 - Google Patents

이동단말기에서의 프로그램 다운로드 및 실행방법 Download PDF

Info

Publication number
KR100357663B1
KR100357663B1 KR1020000018866A KR20000018866A KR100357663B1 KR 100357663 B1 KR100357663 B1 KR 100357663B1 KR 1020000018866 A KR1020000018866 A KR 1020000018866A KR 20000018866 A KR20000018866 A KR 20000018866A KR 100357663 B1 KR100357663 B1 KR 100357663B1
Authority
KR
South Korea
Prior art keywords
program
script
downloading
code
data
Prior art date
Application number
KR1020000018866A
Other languages
English (en)
Other versions
KR20010095607A (ko
Inventor
고석훈
Original Assignee
주식회사 신지소프트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 신지소프트 filed Critical 주식회사 신지소프트
Priority to KR1020000018866A priority Critical patent/KR100357663B1/ko
Publication of KR20010095607A publication Critical patent/KR20010095607A/ko
Application granted granted Critical
Publication of KR100357663B1 publication Critical patent/KR100357663B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72406User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by software upgrading or downloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Stored Programmes (AREA)

Abstract

새로운 기능이 추가된 프로그램이나 게임 등의 프로그램을 이동단말기에서 다운로드받아서 실행시키는 방법이 제공된다. 본 발명에서는 일정한 형식의 프로그램 스크립트 언어를 마련하고, 프로그램 스크립트를 해석하는 프로그램을 단말기의 MMI 모듈에 구현한다. 온라인 또는 오프라인으로 다운로드된 프로그램 스크립트는 메모리에 저장되며, 저장된 프로그램 스크립트는 프로그램 해석기에 의해 해석되어 다양한 기능을 구현하게 된다. 프로그램 스크립트는 헤더 섹션과 데이터 섹션과 코드 섹션을 구비한다. 헤더 섹션은 멀티미디어 데이터의 형식과 위치를 정의하는 데이터 테이블과, 각종 이벤트의 핸들러의 시작위치를 정하는 이벤트 엔트리 테이블을 포함한다. 코드섹션은 여러개의 코드 블록으로 구성된다. 코드 블록은 헤더 섹션의 엔트리 테이블에 의해 이벤트가 발생할 때마다 호출되거나, 서브루틴 호출에 의해 호출된다. 코드섹션에는 명령어 코드와 이에 수반되는 파라미터가 저장된다. 또한, 프로그램 스크립트를 실행하기 위해서는 작업영역이 램(RAM)에서 운용된다.

Description

이동단말기에서의 프로그램 다운로드 및 실행방법 {Method for downloading and executing programs in mobile terminal}
본 발명은 이동단말기에서의 프로그램 다운로드 및 실행방법에 관한 것으로서, 특히 새로운 기능이 추가된 프로그램이나 게임 등의 프로그램을 이동단말기에서 다운로드받아서 실행시키는 방법에 관한 것이다.
각종 전자부품의 기능향상에 따라, 종래에는 통화를 위한 기능만을 가지고 있던 휴대폰에 게임, 일정관리 등과 같은 다양한 기능을 추가하는 것이 보편화되고 있다. 그런데, 일반적인 휴대폰, PCS 등의 이동단말기들은 PC에서와 같이 새로운 프로그램을 다운로드하여 실행하는 기능을 제공하지 않으므로 제품출하시에 탑재되었던 소프트웨어의 기능 확장 및 변경이 용이하게 이루어지지 않았다.
종래의 이동단말기에 새로운 기능을 추가하는 방법으로서는 도 1에서와 같이 별도의 장치를 단말기에 연결하여 새로운 프로그램을 단말기에 다운로드하는 방법(오프라인 다운로드)과 도 3에서와 같이 WAP(Wireless Application Protocol) 등의 무선 데이터 전송방식을 이용하여 다운로드하는 방법(온라인 다운로드)이 있다.
먼저, 오프라인 다운로드 방법에 대해서 도 1과 도 2를 참조하여 설명한다.
오프라인 다운로드 방법은 각 휴대폰(100)에 맞게 설계된 별도의 다운로드 장치(12)를 휴대폰(100)에 연결하여, 컴퓨터(10)로부터 새로운 프로그램을 휴대폰(100)에 다운로드하는 것이다. 물론, 휴대폰에 적외선 통신(IrDA) 또는 블루투쓰(Blue Tooth)와 같은 무선 인터페이스 장치가 마련되어 있고, 컴퓨터에도 적외선 통신 또는 블루투쓰 인터페이스 장치가 마련되어 있는 경우에는 별도의 다운로드 장치(12)를 사용하지 않아도 된다.
이때, 다운로드 되는 프로그램(21)은 해당 휴대폰(100)의 CPU에서 바로 동작할 수 있도록 된 머신 코드(machine 코드)이어야 한다. 즉, 다운로드 되는 프로그램(21)은 휴대폰(100)의 오프라인 다운로드 인터페이스(22)에 의해 휴대폰(100)의 프로그램 저장영역(23)에 오버라이트(overwrite)되고, 휴대폰(100)의 CPU에 의해 바로 동작이 되게 된다.
이 방법은 별도의 장치를 사용하여 프로그램을 다운로드받아야 하므로 소비자가 사용하기가 불편하며, 또한 동일한 부가기능에 대해서도 단말기 종류별로 각각 프로그램을 수정하여 해당 단말기에 다운로드하여야 하므로 제조업체는 단말기 종류별로 프로그램을 수정하고 배포해야 한다는 단점이 있다.
다음으로, 온라인 다운로드 방식에 대해서 도 3 및 도 4를 참조하여 설명한다.
온라인 다운로드 방식은 별도의 다운로드 장치를 사용하지 않고 무선으로 바로 서비스업체로부터 프로그램을 다운로드받는 방식이다.
온라인 다운로드 방식에서도 오프라인 방식에서와 마찬가지로 머신 코드(machine 코드)를 다운로드받아서 휴대폰의 프로그램 영역에 오버라이트하도록 하는 것이 가능하다. 이 방식은 위에서 설명한 것처럼 단말기 종류별로 각각 프로그램을 수정하여 해당 단말기에 다운로드하여야 하므로 제조업체나 소비자 모두에게 불편하다.
이와는 다른 방식으로서 WAP(Wireless Application Protocol) 등의 무선 인터넷을 이용하는 방식이 있다.
WAP 기능이 탑재된 단말기(100)는 기지국(30)을 통해 휴대전화망(31)을 거쳐서 WAP 서버(32)에 접속할 수 있다.
WAP 서버(32)는 WML(Wireless Markup Language) 스크립트 형태의 프로그램을 단말기(100)에 전송할 수 있다. 단말기(100)는 다운로드받은 WML 스크립트를 해석하여 WAP 문서 형식의 카드 데이터(43)로 만들어서 MMI(Man-Machine Interface) 모듈(44)에 전달한다.
여기에서 카드 데이터(43)란 WAP을 통해 데이터를 전송하기 위한 프레임으로서, 하나 이상의 사용자와의 상호작용을 표시할 수 있는 단위이다. 카드(43)를 구성하는 것은 WML에서 정의되어 있는 텍스트, 그림, 링크, 입력 텍스트가 될 수 있으며, 이러한 카드가 모여서 HTML 페이지와 유사한 하나의 WML 페이지가 되는 것이다. 이를 기존의 HTML 웹문서와 비교하여 보면, 기존의 웹문서는 프레임 단위의 문서가 모여서 하나의 HTML 웹페이지를 형성하는 것이고, WAP에서는 카드가 모여서 하나의 WML 페이지를 형성하는 것이다..
따라서, 사용자와의 인터페이스는 기존의 웹문서와 마찬가지로 카드(43)에 의해 이루어진다. 즉, 웹문서의 내용에 따라 웹 내용이 사용자의 컴퓨터에 디스플레이되거나 사용자의 입력이 서버로 전달되는 것처럼, 카드의 내용에 따라 MMI 모듈(44)에서 입출력 장치(48)와 입출력 기능을 수행한다. 즉, 카드 내용이 표시부(45)에 표시되거나 음향부(46)를 통해 출력되거나 입력부(47)로부터의 입력이 서버(32)에 전달된다.
따라서, 사용자의 입력이 있거나 출력할 내용이 달라지는 경우에는 WAP 해석기(42)에서 새로운 카드 데이터를 만들어서 MMI 모듈(44)로 전달하는 작업을 반복하게 된다.
이 방법은 WML 스크립트를 사용하기 위해서는 항상 WAP 서버와 연결하여 다운로드 받아야 하므로, 사용자가 부가기능을 사용할 때마다 통화료를 지불하여야 한다는 단점이 있다.
또한, 단말기의 입출력 디바이스를 사용하기 위해 WAP 해석기에서 카드 데이터를 만들고 MMI 모듈에서 다시 카드 데이터를 해석해야 하며, 하나의 카드 데이터를 전달하기 위해서는 여러번의 메시지 교환이 필요하므로 실행속도가 매우 늦다는 단점이 있다.
본 발명은 이러한 점을 감안하여 이루어진 것으로서, 단말기의 종류에 관계없이 동일한 프로그램을 다운로드 받아서 실행할 수 있는 이동단말기에서의 프로그램 다운로드 및 실행방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 프로그램을 오프라인 또는 온라인으로 다운로드 받아서 메모리에 저장해두고, 다운로드 받은 프로그램을 반복적으로 이용할 수 있는 이동단말기에서의 프로그램 다운로드 및 실행방법을 제공하는 것을 목적으로 한다.
또한, 본 발명은 단말기의 종류에 관계없이 동일한 프로그램을 다운로드 받아서 실행하되, 빠른 속도로 실행될 수 있는 이동단말기에서의 프로그램 다운로드 및 실행방법을 제공하는 것을 목적으로 한다.
도 1은 종래의 오프라인 방식의 프로그램 다운로드 방법을 설명하기 위한 모식도이다.
도 2는 종래의 오프라인 방식의 프로그램 다운로드 방법에서 프로그램의 저장을 설명하기 위한 모식도이다.
도 3은 종래의 WAP을 이용한 프로그램 다운로드 방법을 설명하기 위한 모식도이다.
도 4는 종래의 WAP을 이용한 프로그램 다운로드 및 실행 방법에서 다운로드된 WML 스크립트가 카드 데이터로 변환되어 MMI 모듈에서 실행되는 모습을 설명하기 위한 모식도이다.
도 5는 본 발명의 프로그램 다운로드 및 실행방법에서 다운로드된 프로그램 스크립트가 해석되어 실행되는 모습을 설명하기 위한 모식도이다.
도 6은 본 발명의 프로그램 다운로드 및 실행방법에서 프로그램 스크립트의 일실시예의 구조를 보여주는 도면이다.
도 7은 본 발명의 방법을 사용하여 오프라인으로 프로그램 스크립트를 다운로드할 때 휴대폰의 표시부에 디스플레이되는 화면예를 보여주는 도면이다.
도 8은 본 발명의 방법을 사용하여 온라인으로 프로그램 스크립트를 다운로드할 때 휴대폰의 표시부에 디스플레이되는 화면예를 보여주는 도면이다.
도 9는 다운로드받은 프로그램 스크립트를 실행시킬 때의 화면예를 보여주는 도면이다.
도 10은 다운로드받은 프로그램 스크립트를 휴대폰의 메모리에 저장하는 두가지 방식을 설명하기 위한 도면이다.
이러한 목적을 달성하기 위한 본 발명은 일정한 형식의 프로그램 스크립트 언어를 마련하고, 프로그램 스크립트를 해석하는 프로그램을 단말기의 MMI(Man-Machine Interface) 모듈에 구현한다. 온라인 또는 오프라인으로 다운로드된 프로그램 스크립트는 메모리에 저장되며, 저장된 프로그램 스크립트는 프로그램 해석기에 의해 해석되어 다양한 기능을 구현하게 된다. 프로그램 스크립트는 헤더 섹션과 데이터 섹션과 코드 섹션을 구비한다. 헤더 섹션은 멀티미디어 데이터의 형식과 위치를 정의하는 데이터 테이블과, 각종 이벤트의 핸들러(처리루틴)의 시작위치를 정하는 이벤트 엔트리 테이블을 포함한다. 코드섹션은 여러개의 코드 블록으로 구성된다. 코드 블록은 헤더 섹션의 엔트리 테이블에 의해 이벤트가 발생할 때마다 호출되거나, 서브루틴 호출에 의해 호출된다. 코드섹션에는 명령어 코드와 이에 수반되는 파라미터가 저장된다. 또한, 프로그램 스크립트를 실행하기 위해서는 작업영역이 램(RAM)에서 운용된다.
이하, 본 발명의 바람직한 실시예를 도면을 참조하여 상세히 설명한다.
도 5는 본 발명의 프로그램 다운로드 및 실행방법에서 다운로드된 프로그램 스크립트가 해석되어 실행되는 모습을 설명하기 위한 모식도이다.
새로운 기능을 넣은 프로그램을 이동통신 단말기에 배포하고자 하는 자는 먼저 일정한 형식의 프로그램 스크립트(51)를 작성한다. 프로그램 스크립트의 구조에 대해서는 후술한다.
이동통신 단말기 사용자는 위에서 설명한 온라인 또는 오프라인 방식으로 프로그램 스크립트(51)를 다운로드 받는다. WAP 등의 무선 인터넷 접속방식을 이용하여 다운로드된 프로그램 스크립트(51)는 WAP 해석기(52)에 의해 소정의 메모리 공간(54)에 저장된다. 이때 WAP 해석기(52)는 단지 다운로드의 역할만 수행한다. 오프라인 방식으로 다운로드 된 프로그램 스크립트(51)는 오프라인 다운로드 인터페이스(53)에 의해 마찬가지로 소정의 메모리 공간(54)에 저장된다.
메모리(54)로는 플래시 메모리와 같은 비휘발성 메모리를 사용하여 필요한 경우에 다시 프로그램을 다운로드 받을 필요없이 바로 프로그램을 구동할 수 있도록 하는 것이 바람직하다.
도 5에 도시된 방법 이외에도 단문메시지 서비스(SMS)를 이용하여 프로그램스크립트를 다운로드 하는 것도 가능하며, 본 발명은 특정 다운로드 방법에 한정되는 것은 아니다.
이렇게 메모리(54)에 저장된 프로그램 스크립트(51)는 MMI 모듈(56)에 내장되어 있는 프로그램 해석기(56)에 의해 해석되어 실행된다. 프로그램 해석기(56)는 BASIC 해석기(BASIC interpreter)와 같은 일반적인 프로그램 해석기와 유사한 구성을 가지며, 프로그램 스크립트 언어를 해석하여 그에 따른 동작을 수행하게 된다.
프로그램 해석기는 이동단말기의 입출력 디바이스의 특성(LCD의 해상도, 그레이 스케일, 컬러수, 버튼수, 버튼 종류, 제어방법 등)에 따라 단말기마다 다르게 구현된다. 따라서, 각 단말기별로 각각 프로그램을 작성할 필요없이 하나의 프로그램 스크립트만으로 서로 상이한 입출력 디바이스를 갖는 단말기에서 원하는 목적의 기능을 수행하도록 할 수 있게 된다.
다음으로, 프로그램 스크립트 언어의 구성을 예를 들어 설명한다.
본 예의 프로그램 스크립트 언어는 이동 단말기에서 효과적인 해석과 실행을 위해 다음과 같은 제약 조건을 갖는다.
1. 이미지, 오디오, 문자열 데이터는 상수(constant)로만 사용된다.
2. 변수로 사용되는 데이터의 형은 2바이트 정수(integer)로 제한된다.
3. 함수는 모두 정수 복귀값(integer return value)을 갖는다.
4. 함수의 재귀 호출(recursive call)은 금지된다.
< 프로그램 스크립트의 구조 >
프로그램 스크립트의 구조는 도 6에 도시된 것과 같다.
프로그램 스크립트는 헤더 섹션(헤더 섹션), 데이터 섹션(data 섹션), 코드 섹션(코드 섹션)을 구비한다. 헤더 섹션은 멀티미디어 데이터의 형식과 위치를 정의하는 데이터 테이블과, 각종 이벤트(키입력, 타임아웃 등)에 따른 핸들러(처리루틴)의 시작위치를 정의하는 이벤트 엔트리 테이블을 포함한다. 데이터 테이블에는 이미지, 오디오, 정수 변수, 문자열(string) 등의 멀티미디어 데이터가 저장되며, 코드섹션에는 프로그램의 코드가 저장된다.
또한, 프로그램 스크립트를 실행하기 위해서는 작업영역(스크립트의 운용에 필요한 상태값, 변수값 등을 저장하는 공간)이 램(RAM)에서 운용된다.램에는 프로그램 스크립트의 운용을 위해서 필요한 영역이 확보된다.
< 헤더섹션 >
헤더섹션은 데이터 테이블과 이벤트 엔트리 테이블로 구성된다.
데이터 테이블에는 이미지나 오디오의 파일 형식을 나타내는 부분, 이미지, 오디오, 정수, 문자열의 테이블 위치 및 데이터풀(data pool) 위치를 나타내는 부분이 포함된다.
또한, 다운로드받은 프로그램 스크립트의 명칭을 나타내는 부분도 포함시키는 것이 가능하다. 하나의 휴대폰에서 여러개의 프로그램 스크립트를 다운로드 받아서 수행시킬 수 있도록 하는 경우에는, 사용자가 프로그램 스크립트를 수행시키고자 할 때 이 명칭으로 각 프로그램을 구분할 수 있으므로 편리하다.
이벤트 엔트리 테이블에는 시작 이벤트의 엔트리, 종료 이벤트의 엔트리, 시간종료 엔트리, 각각의 버튼을 눌렀을 때의 엔트리, TCP/IP 접속확인에 따른 엔트리, TCP/IP 데이터 수신에 따른 엔트리가 저장되어, 각 이벤트에 따라서 어느 부분의 코드를 실행할 것인지가 결정된다.
< 데이터 섹션 >
데이터 섹션에는 멀티미디어 데이터가 다음과 같은 형식으로 저장된다.
1. 이미지 데이터
이미지 데이터는 예를 들면 1개의 128xNNN 크기의 이미지 데이터 풀에서 특정 블럭의 위치와 크기를 테이블을 통해 정의한다. 이미지 데이터 풀의 크기는 임의로 조정이 가능하다. 이미지 테이블에는 이미지의 가로위치, 세로위치, 가로크기, 세로크기 및 이미지의 기준점 가로좌표와 기준점 세로좌표를 나타내는 데이터가 저장되고, 이미지 풀에는 이미지 데이터가 저장된다.
2. 오디오 데이터
오디오 데이터도 오디오 데이터 풀에 위치한 데이터를 테이블을 통해서 정의하며, 오디오 데이터의 시작 위치와 오디오 데이터의 크기가 오디오 테이블에 저장된다.
3. 정수 데이터
정수 데이터 역시 2바이트 정수(integer) 단위의 정수 풀을 두고, 정수 테이블로 정의한다. 정수 심볼은 상수와 변수로 구분된다. 변수의 처리를 위해 스크립트가 실행되기 전에 정수 풀 중에 변수부분과 정수 테이블이 램(RAM)에 복사된다
데이터 섹션의 정수 테이블에는 정수의 종류(상수, 변수)와 정수 데이터 배열의 길이가 저장되며, 램의 정수 테이블에는 변수 데이터의 시작주소와 변수데이터의 배열길이가 저장된다.
4. 문자열 데이터
문자열 데이터 역시 문자열 풀에 위치한 문자열 데이터를 문자열 테이블을 통해 정의한다. 문자열 테이블에는 문자열 데이터의 시작 위치와 문자열 데이터의 길이가 저장된다.
< 작업영역 >
프로그램 스크립트를 실행하기 위해서는 다음과 같은 작업영역이 램(RAM)에서 운용된다.
1. 공통 변수(Global variables)
스크립트의 운용을 위해 다음과 같은 공통 변수가 있다. 공통 변수는 RAM의 정수 테이블(Integer table)에 유지된다.
변수이름 크기 내용
SpState 2 스크립트의 상태
SpTime 2 타임아웃 값
SpData 2 이벤트 엔트리의 데이터(키값, 결과값 등)
SpRcvBuf 2*64 TCP/IP 수신 버퍼 (읽기 전용)
SpWidth 2 LCD 가로 크기 (읽기 전용)
SpHeight 2 LCD 세로 크리 (읽기 전용)
SpDate 2*7 현재 연,월,일,시,분,초,요일 (읽기 전용)
2. 내부 변수
스크립트에서 직접 액세스가 되지 않는 버퍼는 스크립트의 상태를 나타내는 변수, 타임아웃값, 문자열 버퍼 등과 같은 것이 있을 수 있다.
< 코드 섹션 >
코드 섹션은 여러개의 코드 블록으로 구성된다. 코드 블록은 헤더 섹션의 엔트리 테이블에 의해 이벤트가 발생할 때마다 호출되거나, 서브루틴 호출에 의해 호출된다.
코드섹션에는 명령어 코드(OP code)와 이에 수반되는 파라미터(parameter)가 저장된다. 명령어 코드로는 일반적인 프로그램 언어와 마찬가지로 스택(stack)을 제어하기 위한 스택 코드(예: PUSH, POP), 변수에 값을 넣어주기 위한 할당코드(예: SET, INC), 프로그램 흐름을 제어하기 위한 제어코드(예: CALL, JUMP, RET)를 마련할 수 있다.
특히, 프로그램 해석기(55)에는 이동통신 단말기에 적합한 여러가지 기능을수행하는 라이브러리 함수를 포함하는 것이 프로그램의 빠른 동작을 위해 바람직하다. 이러한 코드의 예로서는 다음과 같은 것을 들 수 있다. 여기에서 각 OP 코드의 파라메터는 미리 스택에 저장되어 있다고 가정 한다. 즉 PutPixel의 파라메터 X, Y, C는 Stack[top - 2], Stack[top - 1], Stack[top]을 의미한다. 또한 복귀값(return value) 역시 스택을 통해 전달 된다.
명령어 의미
ClearWhite() LCD 버퍼를 흰색으로 채우기
ClearBlack() LCD 버퍼를 검은색으로 채우기
PutPixel(X,Y,C) 컬러 C로 (X,Y)에 점찍기
GetPixel(X,Y) 좌표 (X,Y)의 색 읽기
DrawLine(X1,Y1,X2,Y2) (X1,Y1)에서 (X2,Y2)로 직선 그리기
...
PlaySound(P) P번째 음악 연주
StopSound() 음악연주 중지
...
다음으로, 사용자가 프로그램을 다운로드 받아서 실행시키는 절차에 대해서 도 7 내지 도 9를 참조하여 상세히 설명한다.
도 7은 본 발명의 방법을 사용하여 오프라인으로 프로그램 스크립트를 다운로드할 때 휴대폰의 표시부에 디스플레이되는 화면예를 보여주는 도면이고, 도 8은본 발명의 방법을 사용하여 온라인으로 프로그램 스크립트를 다운로드할 때 휴대폰의 표시부에 디스플레이되는 화면예를 보여주는 도면이며, 도 9는 다운로드받은 프로그램 스크립트를 실행시킬 때의 화면예를 보여주는 도면이다.
먼저, 오프라인으로 프로그램 스크립트를 다운로드 받기 위해서는 사용자는 도 7의 (a)에 도시된 예처럼 휴대폰의 기능중에서 "프로그램 다운로드"라는 기능을 선택한다. 그러면, 도 7의 (b)와 같이 다운로드할 위치를 선택하라고 하는 메시지가 나온다. 이때 프로그램 스크립트를 하나만 다운로드 받을 수 있는 휴대폰의 경우에는 도 7의 (b)가 생략될 수 있다.
사용자가 원하는 위치를 선택하면 프로그램은 해당 위치에 다운로드된다. 2 이상의 프로그램 스크립트를 다운로드 받아서 수행할 수 있는 휴대폰에서의 프로그램 스크립트 저장 방법에 대해서는 후술한다.
WAP 등을 이용하여 온라인으로 프로그램을 다운로드 받는 경우의 예가 도 8에 도시되어 있다.
사용자는 도 8의 (a)에 도시된 것처럼 WAP 서버(32)에서 제공하는 있는 프로그램 스크립트들 중에서 원하는 프로그램을 선택한다. 그러면, 휴대폰은 도 8의 (b)의 예에서와 같이 어느 위치에 해당 프로그램 스크립트를 다운로드할 것인지를 묻는 메시지를 내보내고, 사용자가 원하는 위치를 선택하면 프로그램 스크립트가 해당 위치에 다운로드 된다. 이때 프로그램 스크립트를 하나만 다운로드 받을 수 있는 휴대폰의 경우에는 도 8의 (b)가 생략될 수 있다.
이와 같이 다운로드 받은 프로그램 스크립트를 실행시키는 방법의 예가 도 9에 도시되어 있다.
도 9의 (a)에 도시된 것처럼, 휴대폰의 MMI(Man-Machine Interface) 모듈에는 다운로드 받은 프로그램 스크립트를 실행시킬 수 있는 기능이 포함되어 있다. 사용자가 이 기능을 선택하면, 다운로드 받은 여러 프로그램 스크립트 중에서 어느 프로그램을 수행할 것인지를 선택할 수 있는 화면이 도 9의 (b)와 같이 나타나게 된다. 그러면, 사용자는 이중에서 원하는 프로그램을 선택하여 수행하면 프로그램 해석기(55)는 해당 프로그램 해석하여 실행시키게 된다. 이때 프로그램 스크립트를 하나만 다운로드 받을 수 있는 휴대폰의 경우에는 도 9의 (b)가 생략될 수 있다.
도 9의 (b)에 나타나는 프로그램의 명칭은 도 6을 참조하여 설명하였던 것처럼 프로그램 스크립트의 헤더섹션의 데이터 테이블에 프로그램명을 포함시키고, MMI 모듈(56)에서 이를 인식하여 화면에 보여주는 방식을 사용할 수도 있고, 도 8의 (a)에 도시된 것처럼 프로그램 다운로드할 때 리스트되어 있는 프로그램명을 MMI 모듈(56)에서 자동으로 인식하여 저장하도록 하는 방식을 사용할 수도 있다.
다음으로 도 10을 참조하여 다수의 프로그램 스크립트를 저장할 수 있는 휴대폰에서 각 프로그램 스크립트를 저장하는 방식에 대해서 설명한다.
우선, 다수의 프로그램 스크립트를 저장하기 위해서는 다운로드 받은 프로그램 스크립트의 코드가 릴로케이터블 코드(relocatable code)일 필요가 있다. 즉, 프로그램 스크립트에 저장되어 있는 어드레스는 절대 어드레스가 아니라 상대 어드레스일 필요가 있다. 그래야만, 다운로드 받은 프로그램 스크립트를 휴대폰 메모리내의 임의의 장소에 저장할 수 있게 된다. 물론, 하나의 프로그램만을 저장하여 실행할 수 있는 휴대폰의 경우에도 릴로케이터블 코드를 사용하는 것이 바람직하다.
예를 들면, 특정 프로그램 스크립트에서 A라는 이벤트가 발생하였을 때의 엔트리 포인트가 201H라고 하고, 이 프로그램 스크립트가 1000H부터 저장되었다고 하자. 그러면, 실제로 이 휴대폰에서는 A라는 이벤트가 발생하면 프로그램 해석기(55)가 1201H에 있는 코드를 읽어와서 수행하여야 한다. 즉, 프로그램 해석기(55)는 프로그램 스크립트에 있는 어드레스를 실제로 이 프로그램 스크립트가 저장되어 있는 메모리 어드레스로 변환시키는 작업을 하여야 하는 것이다.
이때, 프로그램을 저장하는 방식으로는 도 10의 (a)에서와 같이 프로그램들을 연속적으로 저장하는 방법과, 도 (b)에서와 같이 각 프로그램에 대해서 항상 일정한 공간을 할당해두고 저장하는 방법이 있다.
즉, 도 10의 (a)에서는 프로그램 스크립트를 다운로드 받아서 저장할 때마다 별도의 메모리 인덱스 영역(110)에 각 프로그램의 스타트 어드레스가 어딘지를 저장해둔다. 그리고, 사용자가 해당 프로그램을 선택하면, 메모리 인덱스 영역(110)으로부터 해당 프로그램의 시작 번지를 알아내어 해당 프로그램을 수행하는 것이다.
이 방법은 메모리를 효율적으로 이용할 수 있으나, 프로그램을 다운로드 받아서 저장하고 삭제할 때 시간이 많이 걸릴 수 있다는 단점이 있다. 즉, 도 10의 (a)에서 프로그램 1을 삭제하고 다른 프로그램을 다운로드 받아서 저장한다고 할 때, 새로운 프로그램의 크기가 프로그램 1의 크기보다 크다면, 현재 프로그램 1이차지하고 있는 공간에는 새로운 프로그램이 들어갈 수 없다.
따라서, 이때에는 프로그램 영역(120)에 저장되어 있는 프로그램을 임시로 다른 위치에 저장해 둔 다음, 프로그램 영역(120)을 모두 지우고, 다시 새로운 프로그램을 저장하고, 그 다음에 프로그램 2를 저장하고 하는 식으로 새로 저장하여야 한다.
도 10의 (b)는 이와 같은 문제점을 해결하기 위하여 모든 프로그램에 대해서 동일한 크기의 메모리 공간을 할당하는 방법이다. 즉, 도 10의 (b)의 예에서는 모든 프로그램에 대해서 100H의 공간이 할당되어 있다. 따라서, 모든 프로그램은 할당된 공간보다는 그 크기가 작아야 한다. 따라서, 필연적으로 프로그램(121)과 프로그램(123) 사이에는 빈 공간(122)이 남게 된다.
이와 같은 방법을 사용하면, 프로그램 인덱스를 사용할 필요가 없고, 프로그램을 갱신할 때 시간이 적게 걸린다고 하는 장점이 있으나, 메모리에 빈 공간이 많이 생긴다는 단점이 있다. 또한, 모든 프로그램이 일정한 크기 이하여야 하므로, 프로그램의 작성시에 제한이 따른다는 단점이 있다.
이상, 본 발명을 몇가지 실시예를 사용하여 설명하였지만, 본 발명은 이에 한정되는 것은 아니다. 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상에서 벗어나지 않으면서 많은 수정과 변경을 가할 수 있음을 이해할 것이다.
이상 설명한 것처럼, 본 발명에 따르면 단말기의 종류에 관계없이 하나의 프로그램 스크립트만을 작성하여 동일한 기능을 여러 종류의 단말기에서 구현시킬 수 있으므로 프로그램 개발자의 입장에서 프로그램 개발에 따른 인력, 비용, 시간의 소모를 줄일 수 있다고 하는 효과가 있다.
또한, 본 발명은 프로그램을 오프라인 또는 온라인으로 다운로드 받아서 메모리에 저장해두고, 다운로드 받은 프로그램을 반복적으로 이용할 수 있으므로 사용이 편리하다고 하는 효과가 있다.
또한, 본 발명은 단말기마다 자신의 입출력 디바이스의 특성에 맞는 프로그램 해석기가 마련되어 있고, 프로그램 해석기는 단말기 동작에 필요한 라이브러리 함수를 가지고 있으므로, 프로그램 수행이 빠른 속도로 이루어질 수 있다고 하는 효과가 있다.

Claims (7)

  1. 삭제
  2. 맨머신 인터페이스 모듈 내에 프로그램 해석기가 마련되어 있는 이동단말기에서의 프로그램 다운로드 및 실행방법에 있어서,
    이동단말기가 무선 인터넷을 이용하여, 프로그램의 명칭을 포함하는 프로그램을 제공하는 서버에 접속하는 단계와,
    사용자가 서버에 저장되어 있는 프로그램 중에서 상기 프로그램의 명칭을 사용하여 원하는 프로그램을 선택함에 따라, 선택된 프로그램을 서버에서 이동단말기로 다운로드하는 단계와,
    사용자가 상기 이동통신단말기의 상기 맨머신 인터페이스 모듈을 사용하여 상기 프로그램 해석기를 구동시키는 단계와,
    사용자가 다운로드 받은 프로그램 중에서 하나를 선택함에 따라 상기 프로그램 해석기가 선택된 프로그램을 읽어와서 해석하여 실행하는 단계
    를 구비하는 것을 특징으로 하는 이동단말기에서의 프로그램 다운로드 및 실행방법.
  3. 삭제
  4. 제2항에 있어서, 상기 다운로드 단계는 사용자가 프로그램을 저장할 위치를 선택하는 단계를 더 포함하는 것을 특징으로 하는 이동단말기에서의 프로그램 다운로드 및 실행방법.
  5. 삭제
  6. 제4항에 있어서,
    상기 프로그램에는 프로그램의 어드레스가 릴로케이터블 어드레스로 저장되어 있으며, 상기 프로그램 해석기는 상기 프로그램이 저장되어 있는 실제 어드레스에 맞게 상기 릴로케이터블 어드레스를 변환하는 것을 특징으로 하는 이동단말기에서의 프로그램 다운로드 및 실행방법.
  7. 제4항에 있어서,
    상기 프로그램에는 각 이벤트에 따른 처리루틴의 시작위치를 지정해 둔 이벤트 엔트리 테이블이 포함되어 있는 것을 특징으로 하는 이동 단말기에서의 프로그램 다운로드 및 실행방법.
KR1020000018866A 2000-04-11 2000-04-11 이동단말기에서의 프로그램 다운로드 및 실행방법 KR100357663B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000018866A KR100357663B1 (ko) 2000-04-11 2000-04-11 이동단말기에서의 프로그램 다운로드 및 실행방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000018866A KR100357663B1 (ko) 2000-04-11 2000-04-11 이동단말기에서의 프로그램 다운로드 및 실행방법

Publications (2)

Publication Number Publication Date
KR20010095607A KR20010095607A (ko) 2001-11-07
KR100357663B1 true KR100357663B1 (ko) 2002-10-25

Family

ID=19663360

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000018866A KR100357663B1 (ko) 2000-04-11 2000-04-11 이동단말기에서의 프로그램 다운로드 및 실행방법

Country Status (1)

Country Link
KR (1) KR100357663B1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100427189B1 (ko) * 2000-10-27 2004-04-17 (주) 엘지텔레콤 휴대단말기를 이용한 무선인터넷 게임 방법
KR100539778B1 (ko) 2002-12-31 2006-01-11 엘지전자 주식회사 이동통신 단말기의 기능제어 파라메터 변경방법
US7593720B2 (en) 2003-04-10 2009-09-22 Sk Telecom Co., Ltd. Method and an apparatus for providing multimedia services in mobile terminal
KR100827172B1 (ko) * 2004-05-06 2008-05-02 삼성전자주식회사 휴대단말기 펌웨어를 업그레이드하기 위한 장치와 방법
KR100597668B1 (ko) * 2004-11-22 2006-07-07 주식회사 네오엠텔 멀티미디어 콘텐츠의 갱신 및 재생이 가능한이동통신단말기 및 그 재생방법
KR100794130B1 (ko) * 2005-02-25 2008-01-10 주식회사 비엔에스웍스 이동통신단말기의 응용 프로그램 및 부가 서비스 자동기능시험장치
KR101119320B1 (ko) * 2005-04-29 2012-03-15 엘지전자 주식회사 이동저장 장치의 펌웨어 업데이트 장치 및 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990057991A (ko) * 1997-12-30 1999-07-15 윤종용 무선통신단말기의 프로그램 무선 업그레이드 시스템 및 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990057991A (ko) * 1997-12-30 1999-07-15 윤종용 무선통신단말기의 프로그램 무선 업그레이드 시스템 및 방법

Also Published As

Publication number Publication date
KR20010095607A (ko) 2001-11-07

Similar Documents

Publication Publication Date Title
US7030890B1 (en) Displaying graphical objects
US5557723A (en) Method and system for customizing forms in an electronic mail system
US8443291B2 (en) Apparatus and method for creating widget in portable terminal
US7051273B1 (en) Customizing forms in an electronic mail system utilizing custom field behaviors and user defined operations
US6317781B1 (en) Wireless communication device with markup language based man-machine interface
US7146615B1 (en) System for fast development of interactive applications
US7251774B2 (en) System for describing markup language for mobile use, and information processing apparatus and program for generating display content
US20150205620A1 (en) Configuring user interfaces in electronic devices
GB2424546A (en) Scheduling transfer of data content to a mobile telephone
WO1998038573A1 (en) Asynchronous-event opening component of a network component system
KR100357663B1 (ko) 이동단말기에서의 프로그램 다운로드 및 실행방법
CN1894945B (zh) 一种通信终端的通信方法
US9223894B2 (en) Method for producing at least a portion of a data visualization layout on a display of a device provided with at least a smart card, method for codifying a plurality of HTML instructions and corresponding system
KR20030030774A (ko) 휴대용 단말기의 배경화면 표시 방법
CN100435096C (zh) 基于c语言微型操作系统的图形处理方法
KR100859595B1 (ko) 모바일 매쉬-업 서비스 제공 시스템 및 방법
JP3619175B2 (ja) ファクシミリ装置及びその制御方法並びに制御プログラム
JP4138591B2 (ja) 端末装置
US20070168952A1 (en) Methods for producing, transferring, and renewing virtual machine applications using flash, and system thereof
JPH10240337A (ja) 遠隔mmiシステム
Hamer J2ME games with MIDP 2
KR20060034824A (ko) 스크립트가 포함된 이미지 파일을 이용한 이동 단말기의매크로 서비스 제공 시스템 및 방법
JP2000330678A (ja) ブラウザ装置およびブラウザ装置の表示制御方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
KR20030006600A (ko) 프로그램 라이브러리 시스템
JP2003084976A (ja) 通信装置、その制御方法及び制御プログラム

Legal Events

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

Payment date: 20081007

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee