KR100651730B1 - 호환 usim 카드 및 호환 usim 카드의 api 제공 방법 - Google Patents

호환 usim 카드 및 호환 usim 카드의 api 제공 방법 Download PDF

Info

Publication number
KR100651730B1
KR100651730B1 KR1020040095534A KR20040095534A KR100651730B1 KR 100651730 B1 KR100651730 B1 KR 100651730B1 KR 1020040095534 A KR1020040095534 A KR 1020040095534A KR 20040095534 A KR20040095534 A KR 20040095534A KR 100651730 B1 KR100651730 B1 KR 100651730B1
Authority
KR
South Korea
Prior art keywords
application program
program interface
applet
generation
api
Prior art date
Application number
KR1020040095534A
Other languages
English (en)
Other versions
KR20060056198A (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 KR1020040095534A priority Critical patent/KR100651730B1/ko
Publication of KR20060056198A publication Critical patent/KR20060056198A/ko
Application granted granted Critical
Publication of KR100651730B1 publication Critical patent/KR100651730B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M7/00Arrangements for interconnection between switching centres
    • H04M7/0012Details of application programming interfaces [API] for telephone networks; Arrangements which combine a telephonic communication equipment and a computer, i.e. computer telephony integration [CPI] arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/31Programming languages or programming paradigms
    • G06F8/315Object-oriented languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2215/00Metering arrangements; Time controlling arrangements; Time indicating arrangements
    • H04M2215/72Account specifications
    • H04M2215/7204Account location
    • H04M2215/7209Card based, e.g. smart card, SIM card or USIM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04TINDEXING SCHEME RELATING TO STANDARDS FOR ELECTRIC COMMUNICATION TECHNIQUE
    • H04T2001/00Standards for wireless communication networks
    • H04T2001/113SIM, USIM

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 호환 USIM 플랫폼 구현 방법 및 장치에 관한 것으로, (a) 제 1 응용 프로그램 인터페이스와 제 2 응용 프로그램 인터페이스를 사용하게 해주는 객체를 제 1 응용 프로그램 인터페이스 형태로 생성하는 단계; (b) 애플릿에서 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체에 대하여 사용을 요청하는지 판단하는 단계; (c) 상기 (b)단계에서 사용을 요청하는 경우에 상기 애플릿이 제 1 애플릿인지 제 2 애플릿인지 여부를 판단하는 단계; 및 (d) 상기 (c)단계에서 상기 애플릿이 제 1 애플릿인 경우에는 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 1 응용 프로그램 인터페이스를 제공해 주고, 상기 애플릿이 제 2 애플릿인 경우에는 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 제 2 응용 프로그램 인터페이스 형태로 형변환하여 생성된 제 2 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 2 응용 프로그램 인터페이스를 제공해 주는 단계;로 구성된다. 따라서, 자바 프로그래밍 언어의 상속과 구현 등의 공통 소스 코드를 재활용함으로써 적은 메모리 사용량으로 2G/3G 호환 USIM 플랫폼을 제공할 수 있다.

Description

호환 USIM 카드 및 호환 USIM 카드의 API 제공 방법{Combination USIM card and Method of API service thereof}
도 1은 본 발명의 일실시예인 2G/3G 호환 USIM 플랫폼의 구조를 나타낸 도면이다.
도 2는 도 1에서 2G API와 3G API의 구조를 나타낸 도면이다.
도 3은 도 1에서 2G API와 3G API를 사용해서 2G 애플릿 또는 3G 애플릿을 구동시키는 방법에 대한 흐름도이다.
본 발명은 호환 USIM 플랫폼 구현 방법 및 장치에 관한 것으로, 더욱 상세하게는 2G 스마트 카드나 3G 스마트 카드와 비교하여 비슷한 용량의 메모리 공간을 사용하는 2G/3G을 호환할 수 있는 USIM 플랫폼을 구현하는 방법 및 장치에 관한 것이다.
2G는 2세대 통신(2nd generation technology)의 약어로 GSM standard에 기반하고 있는 모바일 통신 구성 요소의 특성을 나타낸다. 마찬가지로 3G는 3세대 통신(3rd generation technology)의 약어로 3GPP technical specification에 기반하고 있는 모바일 통신 구성 요소의 특성을 나타낸다.
2G 애플릿을 위한 2G API(Application Program Interface)는 3GPP TS 43.019(Subscriber Identity Module Application Programming Interface for Java Card)에 명시되어 있으며, 3G 애플릿을 위한 3G API(Application Program Interface)는 ETSI TS 102.241(UICC Application Programming Interface for Java Card)에 명시되어 있다. 이하에서는 2G API를 제공하는 것을 2G 스마트 카드라 하고, 3G API를 제공하는 것을 3G 스마트 카드라고 한다.
USIM(Universal Subscriber Identity Module)은 제 3세대 이동 통신인 UMTS(Universal Mobile Telecommunications System)에서 사용되는 스마트 카드이다. USIM 플랫폼에서는 보통 3G 애플릿이 구동된다. 그러므로 이미 만들어져서 사용되고 있는 2G 애플릿을 USIM 플랫폼에서 구동을 시키기 위해서 2G/3G 호환 USIM 플랫폼이 구현될 필요가 있다.
2G API와 3G API는 서로 호환이 되지 않으므로 2G 애플릿을 3G 스마트 카드에서 또는 3G 애플릿을 2G 스마트 카드에서 동작시키는 것은 불가능하다. 따라서 2G 애플릿과 3G 애플릿을 모두 동작시킬 수 있는 2G/3G 호환 USIM 플랫폼은 2G API와 3G API를 모두 가지고 있어야 한다.
종래의 2G/3G 호환 USIM 플랫폼은 2G API와 3G API를 하나의 스마트 카드에서 모두 제공하기 위해서 각각의 API(Application Program Interface)를 따로 구현하였다.
그러나, 스마트 카드는 그 특성상 메모리 자원이 기타 다른 컴퓨터 시스템에 비해서 매우 제한적이다. 그러므로 2G/3G 호환 USIM 플랫폼을 제작하기 위해서 2G API와 3G API를 각각 구현하는 것은 2G API만을 제공하는 2G 스마트 카드나 3G API만을 제공하는 3G 스마트 카드에 비해서 메모리 사용에 있어서 부담을 초래하게 된다는 문제점이 있다.
본 발병은 상기에서 기술한 문제점을 해결하고자 하는 것으로, 자바(Java) 프로그래밍 언어의 상속(inheritance)과 구현(implement)과 같은 공통 소스 코드(Source code) 재활용 방법을 사용하여 적은 메모리 사용량으로 2G/3G 호환 USIM 플랫폼을 제공하는 것이다.
본 발명에 의한 호환 USIM 플랫폼 구현 방법은, (a) 제 1 응용 프로그램 인터페이스와 제 2 응용 프로그램 인터페이스를 사용하게 해주는 객체를 제 1 응용 프로그램 인터페이스 형태로 생성하는 단계; (b) 애플릿에서 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체에 대하여 사용을 요청하는지 판단하는 단계; (c) 상기 (b)단계에서 사용을 요청하는 경우에 상기 애플릿이 제 1 애플릿인지 제 2 애플릿인지 여부를 판단하는 단계; 및 (d) 상기 (c)단계에서 상기 애플릿이 제 1 애플릿인 경우에는 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 1 응용 프로그램 인터페이스를 제공해 주고, 상기 애플릿이 제 2 애플릿인 경우에는 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 제 2 응용 프로그램 인터페이스 형태로 형변환하여 생성된 제 2 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 2 응용 프로그램 인터페이스를 제공해 주는 단계;를 포함하는 것을 특징으로 가진다.
한편, 상기 USIM 플랫폼 구현 방법에서, 상기 제 1 응용 프로그램 인터페이스가 2세대 응용 프로그램 인터페이스인 경우에, 상기 제 2 응용 프로그램 인터페이스는 3세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 2세대 애플릿이며, 상기 제 2 애플릿은 3세대 애플릿인 것을 특징으로 가진다.
또한, 상기 USIM 플랫폼 구현 방법에서, 상기 제 1 응용 프로그램 인터페이스가 3세대 응용 프로그램 인터페이스인 경우에, 상기 제 2 응용 프로그램 인터페이스는 2세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 3세대 애플릿이며, 상기 제 2 애플릿은 2세대 애플릿인 것을 특징으로 가진다.
본 발명에 의한 호환 USIM 플랫폼 구현 장치는, 응용 프로그램과 스마트 카드의 호환성을 유지해주는 응용 프로그램 인터페이스 장치에 있어서, 상기 응용 프로그램과 2세대 스마트 카드 사이의 호환성을 유지해주는 제 1 응용 프로그램 인터페이스부; 상기 응용 프로그램과 3세대 스마트 카드 사이의 호환성을 유지해주는 제 2 응용 프로그램 인터페이스부; 및 상기 제 1 응용 프로그램 인터페이스부와 상기 제 2 응용 프로그램 인터페이스부에 공통되는 공통 소스 코드를 별도로 저장하고 있는 공통 소스 코드부;를 포함하는 것을 특징으로 가진다.
한편, 상기 USIM 플랫폼 구현 장치에서, 상기 제 1 응용 프로그램 인터페이스가 2세대 응용 프로그램 인터페이스인 경우에, 상기 제 2 응용 프로그램 인터페이스는 3세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 2세대 애플릿이 며, 상기 제 2 애플릿은 3세대 애플릿이고, 상기 제 1 스마트 카드는 2세대 스마트 카드이며 상기 제 2 스마트 카드는 3세대 스마트 카드인 것을 특징으로 가진다.
또한, 상기 USIM 플랫폼 구현 장치에서, 상기 제 1 응용 프로그램 인터페이스가 3세대 응용 프로그램 인터페이스인 경우에, 상기 제 2 응용 프로그램 인터페이스는 2세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 3세대 애플릿이며, 상기 제 2 애플릿은 2세대 애플릿이고, 상기 제 1 스마트 카드는 3세대 스마트 카드이며 상기 제 2 스마트 카드는 2세대 스마트 카드인 것을 특징으로 가진다.
이하, 본 발명의 바람직한 실시 예는 첨부된 도면을 참조하여 상세히 설명한다.
도 1은 본 발명의 일실시예인 2G/3G 호환 USIM 플랫폼의 구조를 나타낸 도면이다.
도 1을 참조하면, USIM 카드(Universal Subscriber Indentify Module card)는 물리 계층(100), 동작 시스템 계층(110), 가상 머신 계층(120), API 계층(응용 프로그램 인터페이스 계층)(130) 및 응용 계층(140)으로 구성된다.
물리 계층(HardWare 계층)(100)은 중앙처리부, 메모리부 및 동작장치부로 구성이 된다. 동작장치부로는 하드웨어 기반의 데이터 전송장치, 타이머(timer), 난수 발생기(Random Number Generator), 자바 가속기, 암호 알고리즘을 위한 보조처리장치(co-processor) 등으로 구성이 된다. 물리 계층(100)은 일반적으로 컴퓨터의 물리적 장치에 해당된다.
카드 동작 시스템 계층(COS: Card Operating System)(110)은 USIM 카드의 운 영체제로서 물리 계층(100)과 응용 계층(140) 사이에서 인터페이스를 제공한다. 카드 동작 시스템 계층(110)은 주로 USIM 카드와의 입출력을 처리하고, USIM 카드로 입력되는 명령어들을 처리하며, 파일(file)을 관리하고, 응용 프로그램을 관리하고 실행하는 역할을 수행한다.
종래의 스마트 카드의 응용 프로그램의 경우 하드웨어(HardWare)에 대한 의존도가 커서 스마트 카드 제조사가 달라지면 응용 프로그램도 그에 맞게끔 다시 작성을 해야 한다는 어려움이 있었다. 이러한 어려움을 해결하기 위하여 가상 머신 계층(Virtual Machine 계층)(120)을 추가하였다. 가상 머신 계층(120)을 통하여 공통 소스 코드의 응용 프로그램으로 서로 다른 USIM 카드에서 동작을 수행할 수 있게 된다.
API 계층(API 계층: Application Program Interface 계층)(130)은 2G API(2세대 응용 프로그램 인터페이스)(132), 3G API(3세대 응용 프로그램 인퍼페이스)(134) 및 공통 소스 코드부(136)로 구성되어 있다.
여기에서, 2G API(132), 3G API(134)는 표준 규격에 명시된 바를 따르면 2G API(132)와 3G API(134)의 내부는 기능과 모양이 같은 부분들이 많게 된다. 공통 소스 코드부(136)는 2G API(132)와 3G API(134)에서의 공통 소스 코드를 저장하는 부분으로 전체적으로 보면 공통 소스 코드부(136)가 차지하는 만큼의 메모리 사용량을 줄일 수 있게 된다. 즉, 공통 소스 코드부(136)의 크기가 전체 2G API(132)와 3G API(134) 중에서 차지하는 비율이 크기 때문에 본 발명에서 사용한 API 계층(130)에서 차지하는 메모리 사용량은, 2G 스마트 카드(2세대 스마트 카드)와 3G 스 마트 카드(3세대 스마트 카드)에서 2G API와 3G API가 각각 차지하는 메모리 사용량에 비해서 크게 늘어나지 않는다. 본 발명에서는 자바 프로그래밍 언어의 기능인 상속(inheritance)이나 구현(implement)을 이용하여 중복되는 공통 소스 부분을 공통 소스 코드부(136)를 통하여 최대한으로 줄이는 방법을 사용하고 있다.
API 계층(130)은 2G(2세대)나 3G(3세대) 또는 그 밖의 다른 표준을 따르는 애플리케이션을 제공할 때 애플리케이션들이 표준을 따르는 스마트 카드와 호환성을 유지하기 위해서 필요하게 된다. 예를 들면, 3G API(134)를 이용하여 만들어진 애플리케이션은 3G API(134)를 제공하는 스마트 카드에서 올바르게 동작을 하게 된다.
응용 계층(Application 계층)(140)은 사용자에게 서비스를 제공하는 여러 애플리케이션들이 위치하는 계층이다. 애플리케이션은 사용자에게 서비스를 제공하는 역할을 하며, 사용자의 요구에 맞는 다양한 애플리케이션이 스마트 카드에 탑재되어서 동작을 하게 된다.
도 1은 본 발명을 명확히 하고자 일반적으로 사용되는 스마트 카드의 구조를 설명한 것으로써, 사용 목적이나 또는 특정한 의도에 의하여 스마트 카드의 구조는 도 1과 다른 형태로 나타내어질 수도 있다. 따라서 스마트 카드의 구조는 도 1로 국한되어서 한정되지 않는다.
도 2는 도 1에서 2G API와 3G API의 구조를 나타낸 도면이다.
도 2를 참조하면, 스마트 카드는 보안을 위해서 애플릿(applet)이 API 계층(130)에 직접 접근을 할 수 없고, API 계층(130)를 사용하게 해주는 객체를 생성하 고 그 객체를 애플릿에서 사용함으로써 API 계층(130)를 이용하게 된다. 2G API(132)는 2G API형 객체들을 만들어서 2G 애플릿(2세대 애플릿)에 제공함으로써 서비스를 제공하고, 마찬가지로 3G API(134)는 3G API형 객체들을 만들어서 3G 애플릿(3세대 애플릿)에 제공함으로써 서비스를 제공한다.
2G API(132)는 SIM.TOOLKIT 팩키지(package)를 통해서 구현이 되고, 3G API(134)는 UICC.TOOLKIT 팩키지(package)를 통해서 구현이 된다. 여기에서, 팩키지(package)는 클래스(class)들의 집합을 뜻한다.
2G API(132)는 4 개의 Handler 객체(200)와 1 개의 ToolkitRegistry 객체(230) 및 1 개의 Exception 객체(260)를 통해서 API를 제공한다.
2G API(132)는 상기에서 본 바와 같이 SIM.TOOLKIT 팩키지(package)를 통해서 구현이 되는데, SIM.TOOLKIT 팩키지에는 ProactiveHandler(212), ProactiveResponseHandler(217), EnvelopeHandler(222), EnvelopeResponseHandler(227)로 구성되는 4 개의 Handler 객체(200), ToolkitRegistry(242)로 구성되는 1 개의 ToolkitRegistry 객체(230), ToolkitException(272)로 구성되는 1 개의 Exception 객체(260)로 구성되는 자바 클래스(java class)들이 속해 있다.
또한, 3G API(134)는 4 개의 Handler 객체(200)와 1 개의 ToolkitRegistry 객체(230) 및 1 개의 Exception 객체(260)를 통해서 API를 제공한다.
3G API(134)는 상기에서 본 바와 같이 UICC.TOOLKIT 팩키지(package)를 통해서 구현이 되는데, UICC.TOOLKIT 팩키지에는 ProactiveHandler(210), ProactiveResponseHandler(215), EnvelopeHandler(220), EnvelopeResponseHandler(225)로 구성되는 4 개의 Handler 객체(200), ToolkitRegistry(240)로 구성되는 1 개의 ToolkitRegistry 객체(230), ToolkitException(270)로 구성되는 1 개의 Exception 객체(260)로 구성되는 자바 클래스(java class)들이 속해 있다.
또한, UICC.TOOLKIT 팩키지는 도 2에서 미도시되어 있는 ProactiveHandlerSystem, ProactiveResponseHandlerSystem, EnvelopeHandlerSystem, EnvelopeResponseHandlerSystem, ToolkitRegistrySystem 등의 인터페이스(interface)들이 속해 있다. 스마트 카드에서는 보안을 위해서 API 계층(130)에 정해진 함수(function)들을 직접 사용하는 방법이 아니고, API 계층(130)를 사용하게 해주는 객체를 생성하고 그 객체를 애플릿에서 사용함으로써 API 계층(130)을 이용하게 된다. EnvelopeHandler 객체, EnvelopeResponseHandler 객체, ProactiveHandler 객체, ProactiveResponseHandler 객체, ToolkitRegistry 객체를 얻기 위해서 사용하는 클래스가 각각 EnvelopeHandlerSystem, EnvelopeResponseHandlerSystem, ProactiveHandlerSystem, ProactiveResponseHandlerSystem, ToolkitRegistrySystem 이다.
상기에서 살펴본 각각의 클래스들에 대한 설명은 다음과 같다.
Proactive command는 스마트 카드로부터 외부로 나가는 데이터의 한 종류이다. 예를 들어, 스마트 카드가 휴대폰에게 비프(beep) 소리를 내도록 하는 명령을 하는 것을 들 수 있다. Proactive command를 처리하기 위해서 ProactiveHandler(210)(212)를 사용하고, proactive command 수행 결과를 처리하기 위해서 ProactiveResponseHandler(215)(217)를 사용한다.
Envelope command는 외부로부터 스마트 카드로 들어오는 데이터의 한 종류이다. 예를 들어, 스마트 카드가 장착되어 있는 휴대 전화기로부터 스마트 카드에 저장되어 있는 애플릿 중 하나를 선택해서 실행시키라는 명령을 들 수 있다. Envelope command를 처리하기 위해서 EnvelopeHandler(220)(222)를 사용하고 Envelope command 수행 결과를 처리하기 위해서 EnvelopeResponseHandler(225)(227)를 사용하게 된다.
애플릿(applet)이 스마트 카드 안으로 다운로드 되어 사용되기 위해서는 카드 동작 시스템 계층(Card Operating System)(110)에 등록이 되어야 하는데, 이와 같은 일을 수행하는 클래스가 ToolkitRegistry(240)(242)이다.
애플릿 내에서 예외(Exception)를 발생시키거나 또는 예외를 처리하기 위해서 사용되는 클래스가 ToolkitException(270)(272)이다.
2G API(132)의 ProactiveHandler(212) 클래스에서 3G API(134)의 ProactiveHandler(210) 클래스의 인터페이스(interface)를 구현한다. 그러므로 3G API(134)의 ProactiveHandler(210) 클래스를 구현할 경우에 2G API(132)의 ProactiveHandler(212) 클래스의 공통 소스 코드를 공유하게 된다.
2G API(132)의 ProactiveResponseHandler(217) 클래스에서 3G API(134)의 ProactiveResponseHandler(215) 클래스의 인터페이스(interface)를 구현한다. 그러므로 3G API(134)의 ProactiveResponseHandler(215) 클래스를 구현할 경우에 2G API(132)의 ProactiveResponseHandler(217) 클래스의 공통 소스 코드를 공유하게 된다.
2G API(132)의 EnvelopeHandler(222) 클래스에서 3G API(134)의 EnvelopeHandler(220) 클래스의 인터페이스(interface)를 구현한다. 그러므로 3G API(134)의 EnvelopeHandler(220) 클래스를 구현할 경우에 2G API(132)의 EnvelopeHandler(222) 클래스의 공통 소스 코드를 공유하게 된다.
2G API(132)의 EnvelopeResponseHandler(227) 클래스에서 3G API(134)의 EnvelopeResponseHandler(225) 클래스의 인터페이스(interface)를 구현한다. 그러므로 3G API(134)의 EnvelopeResponseHandler(225) 클래스를 구현할 경우에 2G API(132)의 EnvelopeResponseHandler(227) 클래스의 공통 소스 코드를 공유하게 된다.
2G API(132)의 ToolkitRegistry(242) 클래스에서 3G API(134)의 ToolkitRegistry(240) 클래스의 인터페이스(interface)를 구현한다. 그러므로 3G API(134)의 ToolkitRegistry(240) 클래스를 구현할 경우에 2G API(132)의 ToolkitRegistry(242) 클래스의 공통 소스 코드를 공유하게 된다.
2G API(132)의 Exception(272) 클래스에서 3G API(134)의 Exception(270) 클래스를 상속한다. 그러므로 3G API(134)의 Exception(270) 클래스를 구현할 경우에 2G API(132)의 Exception(272) 클래스의 공통 소스 코드를 공유하게 된다.
도 3은 도 1에서 2G API와 3G API를 사용해서 2G 애플릿 또는 3G 애플릿을 구동시키는 방법에 대한 흐름도이다.
도 3을 참조하면, 먼저, 스마트 카드 초기화 과정이 수행이 될 때 2G API(132)와 3G API(134) 서비스를 제공할 객체들이 2G API형으로 생성된다(S300).
다음으로, 애플릿에서 상기 단계S300에서 생성된 2G API형 객체 사용을 요청하는지 여부를 판단한다(S310).
여기에서, API형 객체 사용 요청의 여부는 API를 사용하려는 애플릿에 의해서 판단된다.
단계S310에서의 판단결과, 2G API형 객체 사용을 요청하지 않은 경우에는 단계S310으로 복귀한다. 한편, 단계S310에서의 판단결과, 2G API형 객체 사용을 요청한 경우에는 단계S320으로 진행한다.
단계S320에서는, 단계S310에서 API를 사용하려고 하는 애플릿이 2G 애플릿인지 3G 애플릿인지 여부를 판단한다(S320).
여기에서, 애플릿이 2G 애플릿인지 3G 애플릿인지 여부는 API를 사용하려는 애플릿에 의해서 판단된다.
단계S320에서의 판단결과, 2G 애플릿인 경우에는 단계S330으로 진행하여 2G API형에서 3G API형으로 형변환(type casting) 없이 단계S300에서 생성된 2G API형 객체를 사용한다. 한편, 단계S320에서의 판단결과, 3G 애플릿인 경우에는 단계S340으로 진행하여 2G API형에서 3G API형으로 형변환을 한다. 각각의 객체는 2G API(132)의 인터페이스이거나 또는 상속을 받은 클래스이기 때문에 형변환은 아무런 오류가 없이 이루어진다. 이와 같이 2G API형에서 3G API형으로 형변환을 하는 이유는 스마트 카드가 제공하는 API는 2G API형이기 때문이다. 이후 각각의 객체는 3G 애플릿에서 3G API를 제공을 하게 된다.
본 발명의 일실시예인 도 3에서는 2G API형 객체를 생성하고 애플릿이 3G인 경우에 형변환을 하였으나, 반대로 3G API형 객체를 생성하고 애플릿이 2G인 경우에 형변환하도록 할 수도 있다.
이상과 같이 본 발명에 의한 제한된 메모리 장치상에 2G/3G 호환 USIM 플랫폼 구현 방법에서는 도면에 의한 단일한 예를 들었으나, 상기 네 개의 핸들러(Handler)나 상기 툴킷레지스터리(ToolkitRegistry), 그리고 상기 툴킷예외처리부분(ToolkitException)에 국한되지 않고, 추후 2G나 또는 3G의 표준 규격이 변해서 추가되는 클래스나 인터페이스간에 상속이나 구현이 추가될 수 있고, 또는 표준 규격이 변해서 제거되는 클래스나 인터페이스로 인한 구조 변경을 포함할 수 있다.
또한, 본 발명에서는 2세대와 3세대를 예로 들어 설명하였으나, 본 발명의 다른 실시예에서는 이에 국한되지 않고 다른 곳에도 적용될 수 있다. 그럼으로, 특허청구범위의 독립항에서는 2세대와 3세대로 국한되어 기술하지 않는다. 구체적으로 예를 들어, 2세대 응용 프로그램 인터페이스를 제 1 응용 프로그램 인터페이스로 표시하고, 3세대 응용 프로그램 인터페이스를 제 2 응용 프로그램 인터페이스로 표시한 경우에, 2세대 애플릿은 제 1 애플릿으로 3세대 애플릿은 제 2 애플릿으로 나타내고, 2세대 스마트 카드는 제 1 스마트 카드로 3세대 스마트 카드는 제 2 스마트 카드로 나타낼 수 있다. 또한, 2세대 응용 프로그램 인터페이스를 제 2 응용 프로그램 인터페이스로 표시하고, 3세대 응용 프로그램 인터페이스를 제 1 응용 프로그램 인터페이스로 표시한 경우에, 2세대 애플릿은 제 2 애플릿으로 3세대 애플 릿은 제 1 애플릿으로 나타내고, 2세대 스마트 카드는 제 2 스마트 카드로 3세대 스마트 카드는 제 1 스마트 카드로 나타낼 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
본 발명에 의한 호환 USIM 플랫폼 구현 방법 및 장치는, 메모리 자원이 제한적인 스마트 카드에서 2G API와 3G API를 구현하는데 공통적으로 들어가는 공통 소 스 코드를 재활용함으로써 2G/3G를 호환하도록 할 수 있는 USIM 플랫폼을 제공할 수 있다. 그럼으로써, 보다 적은 메모리 공간을 사용하면서도 메모리 사용의 효율성을 극대화 할 수 있다.

Claims (12)

  1. 제 1 응용 프로그램 인터페이스(API)와 제 2 응용 프로그램 인터페이스를 함께 제공하는 호환 USIM(Universal Subscriber Identity Module) 카드의 API 제공 방법에 있어서,
    (a) 상기 USIM 카드 내의 응용 프로그램 인터페이스들을 사용하게 해주는 객체를 제 1 응용 프로그램 인터페이스의 형태로 생성하는 단계;
    (b) 애플릿이 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체에 대하여 사용을 요청하는지 판단하는 단계;
    (c) 상기 (b)단계에서 사용을 요청하는 경우에 상기 애플릿이 제 1 애플릿인지 제 2 애플릿인지 여부를 판단하는 단계; 및
    (d) 상기 (c)단계에서 상기 애플릿이 제 1 애플릿인 경우에는 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 1 응용 프로그램 인터페이스를 제공해 주고, 상기 애플릿이 제 2 애플릿인 경우에는 상기 제 1 응용 프로그램 인터페이스와 상기 제 2 응용 프로그램 인터페이스 사이의 공통 소스 코드를 활용한 형변환을 이용하여 상기 (a)단계에서 생성된 제 1 응용 프로그램 인터페이스 형태 객체를 제 2 응용 프로그램 인터페이스 형태로 변환한 후, 상기 형변환된 제 2 응용 프로그램 인터페이스 형태 객체를 사용하여 상기 제 2 응용 프로그램 인터페이스를 제공해 주는 단계;를 포함하는 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  2. 제 1 항에 있어서,
    상기 형변환은 상기 제 1 응용 프로그램 인터페이스와 상기 제 2 응용 프로그램 인터페이스 사이에서 자바 프로그래밍 언어의 상속(inheritance)이나 구현(implementation)에 해당하는 공통 소스 코드 재활용 방법을 이용하여 이루어지는 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  3. 제 1 항에 있어서,
    상기 형변환은 상기 제 1 응용 프로그램 인터페이스에 속한 핸들러와 상기 제 2 응용 프로그램 인터페이스에 속한 핸들러 간에 자바 프로그래밍 언어의 상속(inheritance)이나 구현(implementation)에 해당하는 공통 소스 코드 재활용 방법을 이용하여 이루어지는 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  4. 제 1 항에 있어서,
    상기 형변환은 상기 제 1 응용 프로그램 인터페이스에 속한 툴킷 레지스터와
    상기 제 2 응용 프로그램 인터페이스에 속한 툴킷 레지스터 간에 자바 프로그래밍 언어의 상속(inheritance)이나 구현(implementation)에 해당하는 공통 소스 코드 재활용 방법을 이용하여 이루어지는 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  5. 제 1 항에 있어서,
    상기 형변환은 제 1 응용 프로그램 인터페이스에 속한 툴킷 예외 처리 부분과 상기 제 2 응용 프로그램 인터페이스에 속한 툴킷 예외 처리 부분 간에 자바 프로그래밍 언어의 상속(inheritance)이나 구현(implementation)에 해당하는 공통 소스 코드 재활용 방법을 이용하여 이루어지는 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 응용 프로그램 인터페이스가 2세대 응용 프로그램 인터페이스인 경우에,
    상기 제 2 응용 프로그램 인터페이스는 3세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 2세대 애플릿이며, 상기 제 2 애플릿은 3세대 애플릿인 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  7. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 제 1 응용 프로그램 인터페이스가 3세대 응용 프로그램 인터페이스인 경우에,
    상기 제 2 응용 프로그램 인터페이스는 2세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 3세대 애플릿이며, 상기 제 2 애플릿은 2세대 애플릿인 것을 특징으로 하는 호환 USIM 카드의 API 제공 방법.
  8. 제 1 응용 프로그램 인터페이스(API)와 제 2 응용 프로그램 인터페이스를 함께 제공하는 호환 USIM(Universal Subscriber Identity Module) 카드에 있어서,
    상기 제 1 응용 프로그램 인터페이스를 사용하여 만들어진 응용 프로그램과 상기 USIM 카드 사이의 호환성을 유지해주는 제 1 응용 프로그램 인터페이스부;
    상기 제 2 응용 프로그램 인터페이스를 사용하여 만들어진 응용 프로그램과 상기 USIM 카드 사이의 호환성을 유지해주는 제 2 응용 프로그램 인터페이스부; 및
    상기 제 1 응용 프로그램 인터페이스부와 상기 제 2 응용 프로그램 인터페이스부에 공통되는 공통 소스 코드를 별도로 저장하고, 상기 공통 소스 코드를 이용하여 상기 제 1 응용 프로그램 인터페이스를 사용하게 해주는 제 1 응용 프로그램 인터페이스 형태 객체와 상기 제 2 응용 프로그램 인터페이스를 사용하게 해주는 제 2 응용 프로그램 인터페이스 형태 객체를 서로 형변환하는 공통 소스 코드부;를 포함하는 것을 특징으로 하는 호환 USIM 카드.
  9. 제 8 항에 있어서,
    상기 제 1 응용 프로그램 인터페이스부는 상기 제 1 응용 프로그램 인터페이스 형태 객체를 생성하고,
    상기 제 1 응용 프로그램 인터페이스를 요청하는 애플릿이 제 1 애플릿인 경우 상기 제 1 응용 프로그램 인터페이스 형태 객체를 이용하고, 상기 애플릿이 제 2 애플릿인 경우 상기 제 1 응용 프로그램 인터페이스 형태 객체를 상기 제 2 응용 프로그램 인터페이스 형태 객체로 형변환하여 상기 제 2 응용 프로그램 인터페이스를 제공하는 것을 특징으로 하는 호환 USIM 카드.
  10. 제 8 항에 있어서,
    상기 제 2 응용 프로그램 인터페이스부는 상기 제 2 응용 프로그램 인터페이스 형태 객체를 생성하고,
    상기 제 2 응용 프로그램 인터페이스를 요청하는 애플릿이 제 2 애플릿인 경우 상기 제 2 응용 프로그램 인터페이스 형태 객체를 이용하고, 상기 애플릿이 제 1 애플릿인 경우 상기 제 2 응용 프로그램 인터페이스 형태 객체를 상기 제 1 응용 프로그램 인터페이스 형태 객체로 형변환하여 상기 제 1 응용 프로그램 인터페이스를 제공하는 것을 특징으로 하는 호환 USIM 카드.
  11. 제 9 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 제 1 응용 프로그램 인터페이스가 2세대 응용 프로그램 인터페이스인 경우에,
    상기 제 2 응용 프로그램 인터페이스는 3세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 2세대 애플릿이며, 상기 제 2 애플릿은 3세대 애플릿인 것을 특징으로 하는 호환 USIM 카드.
  12. 제 9 항 내지 제 10항 중 어느 한 항에 있어서,
    상기 제 1 응용 프로그램 인터페이스가 3세대 응용 프로그램 인터페이스인 경우에,
    상기 제 2 응용 프로그램 인터페이스는 2세대 응용 프로그램 인터페이스이고, 상기 제 1 애플릿은 3세대 애플릿이며, 상기 제 2 애플릿은 2세대 애플릿인 것을 특징으로 하는 호환 USIM 카드.
KR1020040095534A 2004-11-20 2004-11-20 호환 usim 카드 및 호환 usim 카드의 api 제공 방법 KR100651730B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040095534A KR100651730B1 (ko) 2004-11-20 2004-11-20 호환 usim 카드 및 호환 usim 카드의 api 제공 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040095534A KR100651730B1 (ko) 2004-11-20 2004-11-20 호환 usim 카드 및 호환 usim 카드의 api 제공 방법

Publications (2)

Publication Number Publication Date
KR20060056198A KR20060056198A (ko) 2006-05-24
KR100651730B1 true KR100651730B1 (ko) 2006-12-01

Family

ID=37152093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040095534A KR100651730B1 (ko) 2004-11-20 2004-11-20 호환 usim 카드 및 호환 usim 카드의 api 제공 방법

Country Status (1)

Country Link
KR (1) KR100651730B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100821167B1 (ko) * 2006-07-28 2008-04-11 주식회사 케이티프리텔 어플리케이션 인터페이스 공유를 통한 서비스 정보 제공방법 및 장치

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3093761A1 (en) * 2015-05-13 2016-11-16 Gemalto Sa Integrated circuit card adapted to transfer first data from a first application for use by a second application

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196463A (ja) 1997-12-26 1999-07-21 Denso Corp 無線通信装置
KR20030000650A (ko) * 2001-06-26 2003-01-06 인벤텍 어플라이언스 코포레이션 이동전화기의 내장 다중 에스아이엠 카드간 스위칭 방법및 장치
US20030154375A1 (en) * 2002-02-08 2003-08-14 Weimin Yang Universal crypto-adaptor system for supporting multiple APIs and multiple smart cards
US6775725B1 (en) 1999-06-03 2004-08-10 Gemplus Preparation and execution of a program in an additional chip card of a terminal
KR20040079166A (ko) * 2003-03-06 2004-09-14 송대석 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11196463A (ja) 1997-12-26 1999-07-21 Denso Corp 無線通信装置
US6775725B1 (en) 1999-06-03 2004-08-10 Gemplus Preparation and execution of a program in an additional chip card of a terminal
KR20030000650A (ko) * 2001-06-26 2003-01-06 인벤텍 어플라이언스 코포레이션 이동전화기의 내장 다중 에스아이엠 카드간 스위칭 방법및 장치
US20030154375A1 (en) * 2002-02-08 2003-08-14 Weimin Yang Universal crypto-adaptor system for supporting multiple APIs and multiple smart cards
KR20040079166A (ko) * 2003-03-06 2004-09-14 송대석 선택적 애플릿 관리가 가능한 스마트카드 및 그 운용방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
1020040095534 - 660574

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100821167B1 (ko) * 2006-07-28 2008-04-11 주식회사 케이티프리텔 어플리케이션 인터페이스 공유를 통한 서비스 정보 제공방법 및 장치

Also Published As

Publication number Publication date
KR20060056198A (ko) 2006-05-24

Similar Documents

Publication Publication Date Title
RU2725690C1 (ru) Способ и устройство обработки услуг
CN110046023B (zh) 一种基于区块链智能合约的数据处理方法及系统
US8726247B2 (en) Computer program product containing instructions for providing a processor the capability of executing an application derived from a compiled form
US6807561B2 (en) Generic communication filters for distributed applications
CN109933404B (zh) 一种基于区块链智能合约的编解码方法及系统
CN108255545B (zh) 组件间的功能调用方法、装置及组件化架构系统
WO2020119393A1 (zh) 一种基于区块链智能合约的转账方法及系统
WO2020119380A1 (zh) 一种基于区块链智能合约的签名验证方法及系统
US7730492B1 (en) Method and system for running multiple virtual machines in a single process
CN109614147B (zh) 一种phy寄存器读写方法和装置
US7610488B2 (en) Data processing device and method and program of same
WO2020119387A1 (zh) 一种基于区块链智能合约的交易哈希获取方法及系统
US8943486B2 (en) Multiple instruction execution mode resource-constrained device
CN110046991B (zh) 一种基于区块链智能合约的数据处理方法及系统
JP4378459B2 (ja) 特にスマートカードにおけるダウンロードしたアプリケーションの機密保護化
CN105005497A (zh) 一种Java卡虚拟机中本地函数的调用方法及装置
CN110888674B (zh) 在Python虚拟机中执行安全计算的方法及装置
US8844827B2 (en) Chip card, and method for the software-based modification of a chip card
KR100651730B1 (ko) 호환 usim 카드 및 호환 usim 카드의 api 제공 방법
WO2007000660A1 (en) Imparting digital uniqueness to the types of a programming language using a unique digital sequence
CN111045746B (zh) 代码扩展方法和框架
KR101155631B1 (ko) 모바일 신뢰모듈 기능을 제공하는 방법 및 그 장치
CN116342283A (zh) 可信智能合约实现方法、装置、设备及可读存储介质
CN113326034A (zh) 策略实现的调用方法及装置、电子设备、存储介质
CN101419549B (zh) 基于.Net卡查找类和函数的方法和装置

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: 20101101

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee