KR20080051484A - 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법 - Google Patents

휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법 Download PDF

Info

Publication number
KR20080051484A
KR20080051484A KR1020060122694A KR20060122694A KR20080051484A KR 20080051484 A KR20080051484 A KR 20080051484A KR 1020060122694 A KR1020060122694 A KR 1020060122694A KR 20060122694 A KR20060122694 A KR 20060122694A KR 20080051484 A KR20080051484 A KR 20080051484A
Authority
KR
South Korea
Prior art keywords
memory
terminal
api
size information
program
Prior art date
Application number
KR1020060122694A
Other languages
English (en)
Inventor
김영현
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020060122694A priority Critical patent/KR20080051484A/ko
Priority to US11/951,744 priority patent/US8055874B2/en
Publication of KR20080051484A publication Critical patent/KR20080051484A/ko

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 휴대단말기 응용프로그램 인터페이스의 제공 시스템 및 방법에 관한 것이다. 본 발명에 따르면, 휴대단말기의 API(Application Program Interface)를 프로그램단말기에 제공하는 시스템은 상기 휴대단말기에서 할당되는 메모리의 크기정보에 따라 메모리를 구축하고 상기 메모리의 크기정보와 대응되는 크기의 API를 제공받는 프로그램단말기, 상기 프로그램단말기의 요청에 응답하여 메모리를 할당하고 상기 할당된 메모리의 크기정보와 대응되도록 상기 메모리에 상기 API를 복사한 후 상기 프로그램단말기로 전송하는 휴대단말기를 포함한다.
휴대단말기, API

Description

휴대단말기의 응용프로그램 인터페이스 제공 시스템 및 방법 {System for offering of Application Program Interface in Mobile Terminal and Method}
도 1은 본 발명의 실시예에 따른 휴대단말기의 API를 프로그램단말기로 제공하는 방법을 나타내는 수순도
도 2는 본 발명의 실시예에 따른 프로그램단말기에서 휴대단말기의 API를 제공받는 방법을 나타내는 순서도
도 3은 본 발명의 실시예에 따른 휴대단말기에서 프로그램단말기로 API를 제공하는 방법을 나타내는 순서도
본 발명은 휴대단말기의 API(Application Program Onterface) 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 동적 응용프로그램이 탑재된 프로그램단말기에 휴대단말기의 API를 제공하는 휴대단말기의 API 제공 시스템 및 방법에 관한 것이다.
최근 응용프로그램 개발자가 휴대단말기 메뉴 화면의 외관을 간단히 교체할 수 있는 사용자 인터페이스 커스터마이즈 개발자 킷 등의 기술개발로 인하여 BREW API(Binary Runtime Environment for Wireless Application Program Interface) 등을 이용한 응용프로그램 및 플랫폼이 증가되고 있는 추세이다.
휴대단말기에 기본적으로 제공되는 BREW API를 이용하는 경우에 상기 휴대단말기에 기제작된 사용자 인터페이스(User Interface, 이하, UI)와 상기 휴대단말기에 탑재되는 응용프로그램의 UI가 서로 상이한 형태를 나타나게 된다. 그럼으로써, 상기 휴대단말기의 UI와 상기 응용프로그램의 UI 사이에 시각적인 통일성이 감소하게 된다.
즉, 휴대단말기의 UI와 동일한 이미지 등을 임의의 응용프로그램에서 작성하여 휴대단말기에 적용할 경우, 이미 휴대단말기에는 상기 이미지를 보유하고 있는 모듈이 존재한다. 그러나, 응용프로그램에서도 상기 UI와 동일한 이미지 등을 갖는 모듈을 개발해야 한다. 예를 들면, 응용프로그램 개발자가 개발한 응용프로그램과 상기 휴대단말기의 시각적 통일성을 이루기 위해서는 상기 BREW API의 UI와 동일한 이미지를 상기 응용프로그램에서 작성하여, 상기 휴대단말기의 메모리에 업로드함으로써 사용되는 방식이 일반적이다.
그리하여, 휴대단말기에 탑재된 BREW API 모듈과 동일한 기능을 수행하는 모듈을 응용프로그램에서 사용해야 하는 경우, 휴대단말기 개발자들이 개발한 모듈과 동일한 모듈을 응용프로그램 개발자가 별도로 개발해야 하는 문제점이 발생한다. 이는 응용프로그램 개발자들이 별도의 시간을 투자하여 상기 휴대단말기의 개발자들이 개발한 상기 휴대단말기의 모듈과 동일한 기능의 모듈을 작성하는 것으로써, 상기 모듈 작성으로 인한 시간적인 낭비 및 메모리의 물리적인 낭비가 문제점으로 발생한다.
따라서, 본 발명은 전술한 문제점을 해결하기 위하여 안출된 것으로 본 발명의 목적은 휴대단말기에서 보유하고 있는 API 및 리소스를 공유하도록 동적 응용프로그램에 API를 제공하는 것이다.
본 발명의 다른 목적은 휴대단말기의 API를 동적 응용프로그램으로 제공하여 상기 휴대단말기와 동일한 모듈을 개발하는데 소비되는 시간을 최소화하는 것이다.
본 발명의 또 다른 목적은 휴대단말기의 API를 동적 응용프로그램으로 제공하여 상기 휴대단말기와 동일한 모듈을 개발하는데 발생되는 메모리의 물리적인 낭비를 최소화하는 것이다.
위 목적들을 달성하기 위하여, 본 발명에 따른 휴대단말기의 API(Application Program Interface)를 프로그램단말기에 제공하는 시스템은 상기 휴대단말기에서 할당되는 메모리의 크기정보에 따라 메모리를 구축하고 상기 메모리의 크기정보와 대응되는 크기의 API를 제공받는 프로그램단말기, 상기 프로그램단말기의 요청에 응답하여 메모리를 할당하고 상기 할당된 메모리의 크기정보와 대응되도록 상기 메모리에 상기 API를 복사한 후 상기 프로그램단말기로 전송하는 휴대단말기를 포함한다.
본 발명에 따른 휴대단말기의 API(Application Program Interface)를 프로그램단말기에 제공하는 방법은 상기 프로그램단말기와 휴대단말기가 연결되는 단계, 상기 휴대단말기가 상기 프로그램단말기의 요청에 응답하여 임의의 메모리를 할당 하고 상기 메모리의 크기정보를 상기 프로그램단말기에 전송하는 단계, 상기 프로그램단말기가 전송된 메모리의 크기정보와 대응되는 메모리를 구축하여 상기 구축된 메모리의 크기정보를 상기 휴대단말기에 전송하고 상기 휴대단말기의 API를 요청하는 단계, 상기 휴대단말기가 상기 요청된 API를 상기 전송된 메모리의 크기정보와 대응되도록 메모리에 복사하여 상기 프로그램단말기로 전송하는 단계를 포함한다.
본 발명에 따른 프로그램단말기에서 휴대단말기의 API를 제공받는 방법은 상기 휴대단말기와 연결되는 단계, 상기 휴대단말기의 API를 수신하기 위하여 필요한 메모리의 크기정보를 상기 휴대단말기에 요청하는 단계, 상기 휴대단말기로부터 상기 요청한 메모리의 크기정보 수신 시 상기 수신된 메모리의 크기정보와 대응되는 메모리를 구축하는 단계, 상기 구축된 메모리를 상기 휴대단말기에 전송하고 상기 휴대단말기의 API를 요청하여 상기 휴대단말기로부터 상기 API를 수신하는 단계를 포함한다.
본 발명에 따른 프로그램단말기에 휴대단말기의 API를 제공하는 방법은 상기 프로그램단말기와 연결되는 단계, 상기 프로그램단말기로부터 메모리의 할당 요청에 응답하여 상기 요청된 메모리의 크기정보와 대응되는 메모리를 할당하고 상기 할당된 메모리의 크기정보를 프로그램단말기로 전송하는 단계, 상기 프로그램단말기로부터 메모리의 크기정보와 API 요청을 수신하는 단계, 상기 수신된 메모리의 크기정보와 대응되도록 상기 API를 상기 메모리에 복사하여 상기 프로그램단말기로 전송하는 단계를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예를 상세히 설명한다.
이하, 본 발명의 실시예에서 설명되는 프로그램단말기는 동적 응용프로그램이 내장된 단말기를 의미하며, 동적 응용프로그램 제공 서버, PC 등이 될 수 있다.
또한, 본 발명의 실시예에서 설명되는 휴대단말기는 BREW API(Binary Runtime Environment for Wireless Application Program Interface)가 내장된 휴대단말기일 수 있다. 상기 휴대단말기는 휴대단말기의 제조업체에서 제조된 휴대단말기일 수 있다. 아울러, 본 발명의 실시예에서는 휴대단말기의 API를 프로그램단말기로 제공하는 것에 대하여 설명하였지만, 보안성이 유지되는 범위 내에서는 휴대단말기의 리소스(Resource)를 프로그램단말기로 제공하는 것도 가능하다.
이때, 상기 BREW API는 하기와 같은 헤더파일을 갖는 프로그램코드를 포함하고 있을 수 있다.
#define CFGI_PROVISION_FIRST
#define CFGI_PROVISION_LAST
#define CFGI_MAX
#define CFGI_FIRST_OEM
#define CFGI_SECOND_OEM
상기 #define CFGI_PROVISION_FIRST , #define CFGI_PROVISION_LAST 및 #define CFGI_MAX는 휴대단말기에 기본적으로 제공되고 있는 헤더파일이고, #define CFGI_FIRST_OEM 및 #define CFGI_SECOND_OEM은 휴대단말기 제조업체에서 제공하는 프로그램코드(예를 들어, 이미지에 대한 코드, 메모리할당에 대한 코드 등)에 대한 정보를 포함한 헤더파일을 의미할 수 있다. 아울러, 상기 휴대단말기 제조업체에서 제공하는 헤더파일이 의미하는 함수 및 상기 함수에 포함된 프로그램코드는 하기와 같을 수 있다. 하기의 프로그램코드에서는 상기 휴대단말기 제조업체에서 제공하는 헤더파일이 의미하는 함수 및 상기 함수에 해당하는 프로그램코드만을 설명한다.
{
case CFGI_FIRST_OEM:
if(nSize != sizeof(int))
return EBADPARM;
return GetAPIsize((int *)pBuff);
break;
case CFGI_SECOND_OEM:
if(nSize != sizeof(void))
return EBADPARM;
return GetAPI((void *)pBuff);
break;
}
이때, 상기 프로그램단말기에서 CFGI_FIRST_OEM을 호출하면 상기 휴대단말기의 CFGI_FIRST_OEM은 휴대단말기의 API 또는 리소스에 대한 메모리의 용량을 프로그램단말기로 전송할 수 있다. CFGI_SECOND_OEM는 프로그램단말기가 요청한 API 또 는 리소스를 프로그램단말기로 전송할 수 있다. 아울러, 상기 휴대단말기가 제공할 API를 구성하는 각각의 함수에 임의의 클래스 아이디(Class ID)로 접근할 수 있도록 휴대단말기 제조업체에서는 상기 휴대단말기의 프로그램코드 수정이 가능하다. 예를 들어, 기존의 API를 확장하거나, 신규 API를 등록할 수 있도록 프로그램코드를 수정하는 것이 가능하다.
도 1은 본 발명의 실시예에 따른 휴대단말기의 API를 프로그램단말기로 제공하는 방법을 나타내는 수순도이다.
도 1을 참조하면, S101단계에서 프로그램단말기(100)와 휴대단말기(200)가 연결되면(예컨대, 프로그램단말기(100)와 휴대단말기(200)는 USB 케이블 등으로 연결될 수 있다), S103단계에서 프로그램단말기(100)는 휴대단말기(200)의 API를 수신하기 위하여 필요한 메모리의 크기정보를 휴대단말기(200)에 요청한다. 이때, 프로그램단말기(100)는 휴대단말기(200)의 API를 수신할 때 필요한 메모리의 크기정보를 할당하기 위해 상기 API의 크기정보를 휴대단말기(200)로 요청하는 것을 의미한다. 휴대단말기(200)는 S105단계에서 상기 수신요청에 응답하여 API의 크기를 추출한 후, 상기 추출된 API의 크기정보를 프로그램단말기(100)로 전송한다.
S109단계에서 프로그램단말기(100)는 휴대단말기(200)의 유효한 메모리의 크기정보를 휴대단말기(200)로 요청한다. 이때, 상기 메모리의 크기정보는 한 번만 요청하여도 휴대단말기(200)의 API를 수신하는 것이 가능하다. 하지만, 본 발명의 실시예에서는 프로그램단말기(100)에서 임의의 이벤트가 작성된 API를 휴대단말기(200)로 전송할 때 휴대단말기(200)의 메모리 부족으로 발생할 수 있는 전송 에 러율을 최소화하기 위하여 API의 크기와 휴대단말기(200)의 유효 메모리의 크기정보를 이중으로 요청한다.
S111단계에서 휴대단말기(200)는 상기 유효 메모리의 크기정보 요청에 응답하여 휴대단말기(200)의 메모리에 유효한 메모리의 크기정보를 추출한 후, 상기 추출된 유효 메모리의 크기정보를 프로그램단말기(100)로 전송한다.
S115단계에서 프로그램단말기(100)는 S107단계에서 휴대단말기(200)로부터 전송된 API의 크기정보와 S113단계에서 수신된 휴대단말기(200)의 유효 메모리의 크기정보를 비교하여 S117단계에서 최소 메모리의 크기정보로 할당될 메모리의 주소를 휴대단말기(200)에 요청한다.
S119단계에서 휴대단말기(200)는 상기 전송된 메모리의 주소 요청에 응답하여 상기 최소 메모리의 크기정보에 해당하는 메모리를 할당한다. 이후, 휴대단말기(200)는 S121단계에서 상기 할당된 메모리의 시작주소와 종료주소를 프로그램단말기(100)로 전송하고, S123단계에서 프로그램단말기(100)는 상기 수신된 메모리의 시작주소와 종료주소로 메모리를 구축한다. 이때, 휴대단말기(200)는 최소 메모리의 크기정보보다 작게 메모리를 할당한다.
S125단계에서 프로그램단말기(100)는 상기 구축된 메모리의 크기정보를 휴대단말기(200)로 전송하고, 상기 API를 요청한다. 이때, 상기 요청 API는 휴대단말기(200)의 API를 구성하는 함수 중 프로그램단말기(100)에서 사용하고자 하는 함수일 수 있다. S127단계에서 휴대단말기(200)는 상기 요청에 응답하여 상기 수신된 메모리의 크기정보만큼 상기 API를 메모리에 복사한 후, S129단계에서 프로그램단 말기(100)에 전송한다.
또한, 휴대단말기(200)는 상기 메모리에 복사된 API를 S129단계에서 프로그램단말기(100)로 전송한 이후에, 상기 메모리에 복사된 API를 삭제함으로써, 메모리를 확보할 수 있다. 이때, 수신된 메모리의 크기정보가 상기 API의 크기보다 작을 경우, 휴대단말기(200)는 상기 수신된 메모리의 크기정보와 동일하거나 작도록 상기 API를 분리하여 복사할 수 있다.
이후, S131단계에서 프로그램단말기(100)는 상기 수신된 API에 임의의 이벤트를 작성하고, S133단계에서 상기 임의의 이벤트가 작성된 API를 휴대단말기(200)로 전송한다.
S135단계에서 휴대단말기(200)는 상기 전송된 API를 휴대단말기(200)에 적용한다. 상기 API에 작성되는 임의의 이벤트는 예를 들어, 게임 등의 응용프로그램일 수 있다.
또한, S129단계에서 휴대단말기(200)가 프로그램단말기(100)로 전송한 API의 함수들이 프로그램단말기(100)에 임의의 이벤트를 작성하여 S133단계에서 전송된 API를 구성하는 함수들과 동일하면, 휴대단말기(200)는 전송된 API를 구성하는 함수들을 S133단계에서 전송된 함수들로 전환하여 휴대단말기(200)에 적용할 수 있다.
도 2는 본 발명의 실시예에 따른 프로그램단말기에서 휴대단말기의 API를 제공받는 방법을 나타내는 순서도이다.
도 2를 참조하면, 프로그램단말기(100)와 휴대단말기(200)가 USB 케이블 등 으로 연결된 후에 S201단계에서 프로그램단말기(100)는 휴대단말기(200)의 API를 수신할 때 필요한 메모리의 크기정보를 할당하기 위해 수신할 API의 크기를 휴대단말기(200)로 요청한다. S203단계에서 프로그램단말기(100)는 휴대단말기(200)로부터 S201단계에서 요청한 API의 크기를 수신한다.
S205단계에서 프로그램단말기(100)는 휴대단말기(200)에 유효한 메모리의 크기정보를 수신하기 위한 유효 메모리의 크기정보를 휴대단말기(200)로 요청한다. S205단계에서 휴대단말기(200)로 유효 메모리의 크기정보를 요청한 프로그램단말기(100)는 S207단계에서 휴대단말기(200)의 메모리 중 사용이 가능한 유효 메모리의 크기정보를 수신한다.
S209단계에서 프로그램단말기(100)는 S203단계에서 수신된 필요 메모리의 크기정보와 S207단계에서 수신된 유효 메모리의 크기정보를 비교하여 S211단계 또는 S213단계로 진행한다.
S209단계의 비교결과 필요 메모리의 크기정보가 유효 메모리의 크기정보보다 크면, S211단계에서 프로그램단말기(100)는 최소 메모리의 크기정보인 유효 메모리의 크기정보로 임의의 메모리에 대한 주소를 휴대단말기(200)로 요청한다. 또한, S209단계의 비교결과, 필요 메모리의 크기정보보다 유효 메모리의 크기정보가 크면, S213단계에서 프로그램단말기(100)는 최소 메모리의 크기정보인 필요 메모리의 크기정보로 임의의 메모리에 대한 주소를 휴대단말기(200)로 요청한다.
이후, S215단계에서 프로그램단말기(100)는 S211단계 또는 S213단계에서 휴대단말기(200)로 요청한 최소 메모리의 크기정보에 대한 메모리의 주소를 휴대단말 기(200)로부터 수신하고, S217단계에서 프로그램단말기(100)는 상기 메모리에 대한 주소로 임의의 메모리를 구축한다. 이때, 상기 메모리에 대한 주소는 휴대단말기(200)에서 할당된 메모리의 시작주소와 종료주소일 수 있다.
S219단계에서 프로그램단말기(100)는 S217단계에서 구축된 임의의 메모리에 대한 메모리의 크기정보를 휴대단말기(200)로 전송하고, 휴대단말기(200)의 API를 요청한다. 이때, 프로그램단말기(100)는 휴대단말기(100)의 API에 포함된 여러 가지의 함수 및 리소스 중에서 사용하고자 하는 함수 및 리소스를 선택하여 요청할 수 있다. 보다 구체적으로, 프로그램단말기(100)는 상기 임의의 메모리의 주소와 메모리의 크기정보 및 요청 API를 임의의 파라메타로 구축하여 스트링 형태로 전송한다. 예를 들어, 상기 API의 요청 스트링 형태는 int OEM_OPEN_Extension(IShell* pIShell, AEECLSID cls, ...)의 형태가 될 수 있으며, 이때, 휴대단말기(200)의 API를 확장하는 경우에는 상기 AEECLSID cls 및 그 이후에 클래스 아이디(Class ID)에 대한 정보를 줄 수 있도록 임의의 정보들을 간단히 기술하여 전송한다.
S221단계에서 프로그램단말기(100)는 휴대단말기(200)로 요청한 API를 수신하여 S223단계에서 상기 API에 임의의 이벤트를 작성한다. 상기 임의의 이벤트는 예를 들어, 게임 등의 응용프로그램일 수 있다. 이후, S225단계에서 프로그램단말기(100)는 상기 임의의 이벤트가 작성된 API를 휴대단말기(200)로 전송한다.
도 3은 본 발명의 실시예에 따른 휴대단말기에서 상기 프로그램단말기로 API를 제공하는 방법을 나타내는 순서도이다.
도 3을 참조하면, 프로그램단말기(100)와 휴대단말기(200)가 USB 케이블 등 으로 연결된 후에 S301단계에서 휴대단말기(200)는 프로그램단말기(100)로부터 요청된 API의 크기를 추출하여, S303단계에서 상기 추출된 API의 크기를 프로그램단말기(100)로 전송한다. S305단계에서 휴대단말기(200)는 프로그램단말기(100)로부터 요청된 휴대단말기(200)의 유효한 메모리의 크기정보를 추출하여, S307단계에서 상기 추출된 유효 메모리의 크기정보를 프로그램단말기(100)로 전송한다.
S309단계에서 휴대단말기(200)는 프로그램단말기(100)로부터 최소 메모리의 크기정보에 대한 메모리 호출을 수신하고, S311단계에서 휴대단말기(200)는 상기 메모리를 할당한다. 이때, 휴대단말기(200)는 상기 수신된 최소 메모리의 크기정보보다 작게 메모리를 할당한다. S313단계에서 휴대단말기(200)는 상기 할당된 메모리의 주소를 프로그램단말기(100)로 전송한다. 이때, 상기 메모리의 주소는 메모리의 시작주소와 종료주소일 수 있다.
이후, S315단계에서 휴대단말기(200)는 프로그램단말기(100)로부터 프로그램단말기(100)에 구축된 메모리의 크기정보와 API에 대한 요청을 수신한다. 이후, S317단계에서 휴대단말기(200)는 S315단계에서 수신된 메모리의 크기정보에 대응하여 휴대단말기(200)의 메모리에 상기 API를 복사한다. S319단계에서 휴대단말기(200)는 상기 메모리에 복사된 API를 프로그램단말기(100)로 전송한 후, 상기 메모리에 복사된 API를 삭제함으로써, 휴대단말기(200)에 메모리를 확보할 수 있다. 보다 구체적으로, 상기 S315단계에서 휴대단말기(100)는 프로그램단말기(200)로부터 스트링 형태의 임의의 메모리 주소와 메모리 크기 및 요청 API를 수신한다. 예를 들어, 상기 API의 요청 스트링 형태는 int OEM_OPEN_Extension(IShell* pIShell, AEECLSID cls, ...)의 형태가 될 수 있으며, 휴대단말기(200)는 상기 AEECLSID cls 및 그 이후에 기술된 임의의 정보들에 응답하여 API의 임의의 정보들을 할당된 메모리에 복사하여 프로그램단말기(100)로 전송한다.
S321단계에서 휴대단말기(200)는 프로그램단말기(100)로부터 임의의 이벤트가 작성된 API를 수신하고, S323단계에서 상기 수신된 API를 적용한다. 상기 이벤트는 예를 들어, 프로그램단말기(100)에서 작성한 게임 등의 응용프로그램일 수 있으며, 휴대단말기(200)는 상기 API를 수신하여 작성된 게임 등의 응용프로그램을 적용할 수 있다. 이때, S319단계에서 휴대단말기(200)가 프로그램단말기(100)로 전송한 API의 함수들이 S321단계에서 전송된 API를 구성하는 함수들과 동일하면, 휴대단말기(200)의 API를 구성하는 함수들을 S321단계에서 전송된 함수들로 전환하여 휴대단말기(200)에 적용할 수 있다.
지금까지 본 발명에 대해서 상세히 설명하였으나, 그 과정에서 언급한 실시예는 예시적인 것일 뿐 한정적인 것이 아님을 분명히 하며, 본 발명은 이하의 특허청구범위에 의해 제공되는 본 발명의 기술적 사상이나 분야를 벗어나지 않는 범위내에서, 균등하게 대처될 수 있는 정도의 구성요소 변경은 본 발명의 범위에 속한다 할 것이다.
이상에서 설명한 바와 같이 본 발명은 휴대단말기에서 보유하고 있는 API 및 리소스를 동적 응용프로그램에 제공함으로써, 휴대단말기 개발자와 응용프로그램 개발자가 동일한 모듈을 개발하는데 소비하는 시간을 최소화할 수 있는 효과가 있 다.
또한, 본 발명은 휴대단말기에서 보유하고 있는 API 및 리소스를 동적 응용프로그램에서 공유하도록 API를 제공함으로써, 휴대단말기 개발자와 동적 응용프로그램 개발자가 동일한 모듈을 개발하여 생기는 메모리의 물리적인 낭비를 최소화할 수 있는 효과가 있다.
또한, 동적 응용프로그램에서 API의 크기와 휴대단말기의 유효 메모리의 크기정보를 이중으로 확인함으로써, 동적 응용프로그램에서 발생되는 메모리의 물리적인 낭비를 최소화할 수 있는 효과가 있다.

Claims (19)

  1. 휴대단말기의 API(Application Program Interface)를 프로그램단말기에 제공하는 시스템에 있어서,
    상기 휴대단말기에서 할당되는 메모리의 크기정보에 따라 메모리를 구축하고 상기 메모리의 크기정보와 대응되는 크기의 API를 제공받는 프로그램단말기;
    상기 프로그램단말기의 요청에 응답하여 메모리를 할당하고 상기 할당된 메모리의 크기정보와 대응되도록 상기 메모리에 상기 API를 복사한 후 상기 프로그램단말기로 전송하는 휴대단말기를 포함하는 것을 특징으로 하는 API 제공 시스템.
  2. 제1항에 있어서, 상기 프로그램단말기는
    상기 휴대단말기의 API를 수신하기 위하여 필요한 메모리의 크기정보와 상기 휴대단말기의 유효 메모리의 크기정보를 요청하는 것을 특징으로 하는 API 제공 시스템.
  3. 제2항에 있어서, 상기 필요한 메모리의 크기정보는
    상기 API를 수신할 때 필요한 메모리의 크기정보를 판단하기 위한 API에 대한 크기정보인 것을 특징으로 하는 API 제공 시스템.
  4. 제2항에 있어서, 상기 프로그램단말기는
    상기 요청한 각각의 메모리의 크기정보를 상기 휴대단말기로부터 전송받아 상기 각각의 메모리의 크기정보를 비교하여 최소 메모리의 크기정보로 메모리 할당을 요청하는 것을 특징으로 하는 API 제공 시스템.
  5. 제4항에 있어서, 상기 프로그램단말기는
    상기 휴대단말기에 요청한 메모리의 시작주소와 종료주소를 상기 휴대단말기로부터 전송받아 메모리를 구축하고 상기 메모리의 크기정보를 전송하며 상기 휴대단말기의 API를 요청하는 것을 특징으로 하는 API 제공 시스템.
  6. 제1항에 있어서, 상기 프로그램단말기는
    상기 제공된 API에 임의의 이벤트를 작성하여 상기 휴대단말기로 제공하는 것을 특징으로 하는 API 제공 시스템.
  7. 제1항에 있어서, 상기 휴대단말기는
    상기 프로그램단말기의 요청에 응답하여 API에 대한 메모리의 크기정보와 상기 휴대단말기 내의 유효 메모리의 크기정보를 추출하여 상기 프로그램단말기로 제공하는 것을 특징으로 하는 API 제공 시스템.
  8. 제1항에 있어서, 상기 휴대단말기는
    상기 할당된 메모리의 시작주소와 종료주소를 상기 프로그램단말기로 제공하 는 것을 특징으로 하는 API 제공 시스템.
  9. 제6항에 있어서, 상기 휴대단말기는
    상기 프로그램단말기로부터 제공된 임의의 이벤트가 작성된 API를 적용하는 것을 특징으로 하는 API 제공 시스템.
  10. 휴대단말기의 API(Application Program Interface)를 프로그램단말기에 제공하는 방법에 있어서,
    상기 프로그램단말기와 휴대단말기가 연결되는 단계;
    상기 휴대단말기가 상기 프로그램단말기의 요청에 응답하여 임의의 메모리를 할당하고 상기 메모리의 크기정보를 상기 프로그램단말기에 전송하는 단계;
    상기 프로그램단말기가 전송된 메모리의 크기정보와 대응되는 메모리를 구축하여 상기 구축된 메모리의 크기정보를 상기 휴대단말기에 전송하고 상기 휴대단말기의 API를 요청하는 단계;
    상기 휴대단말기가 상기 요청된 API를 상기 전송된 메모리의 크기정보와 대응되도록 메모리에 복사하여 상기 프로그램단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 API 제공 방법.
  11. 제10항에 있어서,
    상기 프로그램단말기가 전송된 API에 임의의 이벤트를 작성하는 단계;
    상기 작성된 임의의 이벤트가 포함된 API를 상기 휴대단말기에 전송하는 단계;
    상기 휴대단말기가 상기 이벤트가 포함된 API를 적용하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  12. 제10항에 있어서, 상기 메모리의 크기정보를 상기 프로그램단말기에 전송하는 단계는
    상기 프로그램단말기가 상기 휴대단말기의 API를 수신하기 위하여 필요한 메모리의 크기정보를 요청하는 단계;
    상기 휴대단말기가 상기 요청에 응답하여 메모리를 할당하고 상기 할당된 메모리의 시작주소와 종료주소를 상기 프로그램단말기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  13. 프로그램단말기에서 휴대단말기의 API를 제공받는 방법에 있어서,
    상기 휴대단말기와 연결되는 단계;
    상기 휴대단말기의 API를 수신하기 위하여 필요한 메모리의 크기정보를 상기 휴대단말기에 요청하는 단계;
    상기 휴대단말기로부터 상기 요청한 메모리의 크기정보 수신 시 상기 수신된 메모리의 크기정보와 대응되는 메모리를 구축하는 단계;
    상기 구축된 메모리에 대한 크기정보를 상기 휴대단말기에 전송하고 상기 휴 대단말기의 API를 요청하여 상기 휴대단말기로부터 상기 API를 수신하는 단계를 포함하는 것을 특징으로 하는 API 제공 방법.
  14. 제13항에 있어서,
    상기 수신된 API에 임의의 이벤트를 작성하여 상기 휴대단말기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  15. 제13항에 있어서, 상기 메모리의 크기정보를 상기 휴대단말기에 요청하는 단계는
    상기 휴대단말기의 API를 수신하기 위하여 필요한 메모리의 크기정보를 요청하는 단계;
    상기 휴대단말기로부터 상기 요청한 필요 메모리의 크기정보를 수신하는 단계;
    상기 휴대단말기의 유효한 메모리의 크기정보를 요청하는 단계;
    상기 휴대단말기로부터 상기 요청한 유효 메모리의 크기정보를 수신하는 단계;
    상기 수신된 필요 메모리의 크기정보와 유효 메모리의 크기정보를 비교하는 단계;
    상기 비교결과에 의거하여 최소 메모리의 크기정보에 해당하는 메모리의 주소를 요청하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  16. 제13항에 있어서, 상기 수신된 메모리의 크기정보와 대응되는 메모리를 구축하는 단계는
    상기 휴대단말기에서 할당된 메모리의 시작주소와 종료주소를 수신하는 단계;
    상기 수신된 시작주소와 종료주소로 메모리를 구축하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  17. 프로그램단말기에 휴대단말기의 API를 제공하는 방법에 있어서,
    상기 프로그램단말기와 연결되는 단계;
    상기 프로그램단말기로부터 메모리의 할당 요청에 응답하여 상기 요청된 메모리의 크기정보와 대응되는 메모리를 할당하고 상기 할당된 메모리의 크기정보를 프로그램단말기로 전송하는 단계;
    상기 프로그램단말기로부터 메모리의 크기정보와 API 요청을 수신하는 단계;
    상기 수신된 메모리의 크기정보와 대응되도록 상기 API를 상기 메모리에 복사하여 상기 프로그램단말기로 전송하는 단계를 포함하는 것을 특징으로 하는 API 제공 방법.
  18. 제17항에 있어서,
    상기 프로그램단말기로부터 임의의 이벤트가 작성된 API를 수신하는 단계;
    상기 수신된 API를 적용하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
  19. 제18항에 있어서, 상기 요청된 메모리의 크기정보와 대응되는 메모리를 할당하고 상기 프로그램단말기로 전송하는 단계는
    상기 프로그램단말기에서 요청된 API의 크기정보를 추출하여 상기 프로그램단말기로 전송하는 단계;
    상기 프로그램단말기에서 요청된 유효한 메모리의 크기정보를 추출하여 상기 프로그램단말기로 전송하는 단계;
    상기 프로그램단말기로부터 최소 메모리의 크기정보 요청을 수신하는 단계;
    상기 수신된 메모리의 크기정보 요청에 응답하여 메모리의 크기정보와 대응되는 메모리를 할당하고 상기 메모리의 시작주소와 종료주소를 상기 프로그램단말기로 전송하는 단계를 더 포함하는 것을 특징으로 하는 API 제공 방법.
KR1020060122694A 2006-12-06 2006-12-06 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법 KR20080051484A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060122694A KR20080051484A (ko) 2006-12-06 2006-12-06 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법
US11/951,744 US8055874B2 (en) 2006-12-06 2007-12-06 System and method for providing application program interface program for mobile terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060122694A KR20080051484A (ko) 2006-12-06 2006-12-06 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법

Publications (1)

Publication Number Publication Date
KR20080051484A true KR20080051484A (ko) 2008-06-11

Family

ID=39499700

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060122694A KR20080051484A (ko) 2006-12-06 2006-12-06 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법

Country Status (2)

Country Link
US (1) US8055874B2 (ko)
KR (1) KR20080051484A (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8838913B1 (en) * 2009-09-15 2014-09-16 Symantec Corporation System and method for locating a memory page in a guest virtual machine
US8621483B2 (en) * 2011-06-20 2013-12-31 Nokia Corporation Methods, apparatuses and computer program products for provisioning applications to in vehicle infotainment systems with secured access
US9936209B2 (en) * 2011-08-11 2018-04-03 The Quantum Group, Inc. System and method for slice processing computer-related tasks
US9384711B2 (en) 2012-02-15 2016-07-05 Microsoft Technology Licensing, Llc Speculative render ahead and caching in multiple passes
US9230517B2 (en) * 2012-05-31 2016-01-05 Microsoft Technology Licensing, Llc Virtual surface gutters
US9286122B2 (en) 2012-05-31 2016-03-15 Microsoft Technology Licensing, Llc Display techniques using virtual surface allocation
US9177533B2 (en) 2012-05-31 2015-11-03 Microsoft Technology Licensing, Llc Virtual surface compaction
US9235925B2 (en) 2012-05-31 2016-01-12 Microsoft Technology Licensing, Llc Virtual surface rendering
US9307007B2 (en) 2013-06-14 2016-04-05 Microsoft Technology Licensing, Llc Content pre-render and pre-fetch techniques
US9614724B2 (en) * 2014-04-21 2017-04-04 Microsoft Technology Licensing, Llc Session-based device configuration
US10037202B2 (en) 2014-06-03 2018-07-31 Microsoft Technology Licensing, Llc Techniques to isolating a portion of an online computing service
US9367490B2 (en) 2014-06-13 2016-06-14 Microsoft Technology Licensing, Llc Reversible connector for accessory devices
US9717006B2 (en) 2014-06-23 2017-07-25 Microsoft Technology Licensing, Llc Device quarantine in a wireless network
US10904163B2 (en) * 2018-03-28 2021-01-26 Lumentum Operations Llc Tunneling data to a data-path chip via a microcontroller unit (MCU)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7565506B2 (en) * 2005-09-08 2009-07-21 Qualcomm Incorporated Method and apparatus for delivering content based on receivers characteristics

Also Published As

Publication number Publication date
US8055874B2 (en) 2011-11-08
US20080140981A1 (en) 2008-06-12

Similar Documents

Publication Publication Date Title
KR20080051484A (ko) 휴대단말기의 응용프로그램 인터페이스 제공 시스템 및방법
US8375382B2 (en) Enabling parallel websphere runtime versions
US20040098724A1 (en) Associating a native resource with an application
US9614931B2 (en) Identifying a resource set require for a requested application and launching the resource set in a container for execution in a host operating system
EP2950206A1 (en) Extracting source code
US9392051B2 (en) Application distribution supplying a dedicated application to a terminal from an application deposited by the developer
KR102193404B1 (ko) 상호작용 개발 환경으로부터의 소프트웨어 아티팩트의 점진적 컴파일링 기법
US10963267B2 (en) Bootstrapping profile-guided compilation and verification
JP2011515763A (ja) 展開可能オブジェクト階層内におけるアプリケーション管理
CN103530156A (zh) 动态加载和调用程序的方法及装置
CN1815440A (zh) 用于数字设备菜单编辑器的方法和系统
JP2023547070A (ja) アプリケーションの実行を停止しない更新された共有ライブラリの再読み込み
CN106575241B (zh) 移动和远程运行时集成
CN116467015B (zh) 镜像生成方法、系统启动校验方法及相关设备
CA2878759C (en) Methods and systems for providing software applications
CN106775608B (zh) 独立系统进程的实现方法和装置
CN111638952A (zh) 一种内存转储方法、装置及电子设备
US9672020B2 (en) Selectively loading precompiled header(s) and/or portion(s) thereof
US10565355B2 (en) Techniques of managing licenses of virtual desktops
CN114995790A (zh) 一种组件开发方法、装置、计算机可读介质及电子设备
CN114880073A (zh) 一种对用户屏蔽Web框架的云应用引擎部署方法、装置、设备和存储介质
KR102381185B1 (ko) 쿠버네티스에서 저지연 서비스용 전담코어 설정 방법
CN111046430B (zh) 数据处理方法及装置、存储介质及电子设备
CN111506301B (zh) 绕过系统限制反射调用的方法及相关设备
CN116009992A (zh) 应用程序内的交互方法及相关装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application