KR101259874B1 - 개인화된 어플리케이션 제공 시스템 및 방법 - Google Patents

개인화된 어플리케이션 제공 시스템 및 방법 Download PDF

Info

Publication number
KR101259874B1
KR101259874B1 KR1020110111777A KR20110111777A KR101259874B1 KR 101259874 B1 KR101259874 B1 KR 101259874B1 KR 1020110111777 A KR1020110111777 A KR 1020110111777A KR 20110111777 A KR20110111777 A KR 20110111777A KR 101259874 B1 KR101259874 B1 KR 101259874B1
Authority
KR
South Korea
Prior art keywords
application
api
binary data
data
electronic card
Prior art date
Application number
KR1020110111777A
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 KR1020110111777A priority Critical patent/KR101259874B1/ko
Priority to PCT/KR2012/008820 priority patent/WO2013065998A1/ko
Application granted granted Critical
Publication of KR101259874B1 publication Critical patent/KR101259874B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • 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
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0701Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising an arrangement for power management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

개인화된 어플리케이션 제공 시스템 및 방법이 개시된다. 본 발명은, 소프트웨어 바이너리 데이터에 포함되어 있는 API(application programming interface)의 물리적 진입 주소(entry point)를 포함하는 어플리케이션의 바이너리 데이터를 저장하고, 데이터 타입을 어플리케이션 타입으로 하여 어플리케이션 바이너리 데이터가 저장된 주소 정보를 데이터 할당 테이블에 추가한다. 본 발명에 따르면, 전자식 카드가 발급된 이후에도 새로운 어플리케이션을 전자식 카드에 설치할 수 있고, 전자식 카드에 설치된 새로운 어플리케이션이 바로 구동될 수 있다.

Description

개인화된 어플리케이션 제공 시스템 및 방법{System and method for providing personalized applications}
본 발명은 개인화된 어플리케이션 제공 시스템 및 방법에 관한 것으로, 더욱 상세하게는 전자식 카드에서 실행 가능한 어플리케이션을 후발급(post issuance)하는 시스템 및 방법에 관한 것이다.
전자식 카드는 IC 칩(integrated circuit chip)을 장착하여 각종 디지털 정보를 저장 및 처리할 수 있는 장치이다. 이러한 전자식 카드는 교통 카드, 신용 카드, 직불 카드 등과 같이 다양한 분야에서 이용되고 있다. 이와 같이 다양한 분야에서 이용됨에 따라 새로운 기능을 수행하는 어플리케이션에 대한 요구도 증가하고 있다. 그러나 종래의 전자식 카드는 발급이 되면 그 이후에는 새로운 어플리케이션을 설치하지 못하는 문제가 있다.
이와 같은 문제를 해결하기 위해 개방형 플랫폼(open platform)이 탑재된 전자식 카드가 제조되어 판매되고 있다. 이와 같은 개방형 플랫폼은 전자식 카드에 탑재된 운영체제 위에 가상 머신(virtual machine)을 탑재하여 전자식 카드의 발급 이후에도 어플리케이션의 설치가 가능하다. 그러나 개방형 플랫폼이 탑재된 전자식 카드에 새로운 어플리케이션이 설치되는 경우, 새로운 어플리케이션은 전자식 카드에 탑재된 가상 머신 상에서 구동되므로 실행 속도가 느린 문제가 있다.
KR 10-2004-0067514 (주식회사 비즈모델라인) 2004. 7. 30. 특허문헌 1은 스마트 카드용 어플리케이션 제공 가능성 판단 방법 및 시스템으로서, 특허문헌 1에는 스마트카드 저장용량과 어플리케이션의 용량을 비교하는 내용이 개시되어 있다. KR 10-2005-0074857 (주식회사 비즈모델라인) 2005. 7. 19. 특허문헌 2는 스마트 카드용 어플리케이션 탑재 방법 및 시스템으로서, 특허문헌 2에는 스마트 카드용 어플리케이션을 추출/생성하여 스마트 카드에 탑재하는 내용이 개시되어 있다.
본 발명이 이루고자 하는 기술적 과제는, 전자식 카드에서 실행 가능한 어플리케이션을 후발급하는 시스템 및 방법을 제공하는 데 있다.
본 발명이 이루고자 하는 기술적 과제는, 전자식 카드에서 실행 가능한 어플리케이션을 후발급하는 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는 데 있다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 전자식 카드는, 소프트웨어 바이너리 데이터(software binary data)를 저장하는 제1저장부; 데이터가 저장된 물리적 주소 정보와 상기 데이터의 타입(type) 정보로 구성된 엔트리(entry) 항목으로 이루어진 데이터 할당 테이블(data allocation table)을 저장하는 제2저장부; 및 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API(application programming interface)의 물리적 진입 주소(entry point)를 포함하는 어플리케이션의 바이너리 데이터를 상기 제2저장부에 저장하고, 상기 어플리케이션 바이너리 데이터가 저장된 물리적 주소 정보와 어플리케이션 타입으로 설정된 상기 어플리케이션 바이너리 데이터의 타입 정보를 상기 데이터 할당 테이블에 추가하는 제어부;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 어플리케이션 제공 장치는, 전자식 카드의 식별 정보와 각각의 전자식 카드에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 각각의 전자식 카드에 해당하는 어플리케이션 바이너리 데이터를 생성하는 어플리케이션 생성부; 및 상기 어플리케이션 바이너리 데이터를 상기 전자식 카드에 제공하는 어플리케이션 제공부;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 어플리케이션 제공 방법은, 제1저장 수단에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소를 포함하는 어플리케이션의 바이너리 데이터를 제2저장 수단에 저장하는 단계; 및 상기 제2저장 수단에 저장된 데이터가 저장된 물리적 주소 정보와 상기 데이터의 타입 정보로 구성된 엔트리 항목으로 이루어진 데이터 할당 테이블에 상기 어플리케이션 바이너리 데이터가 저장된 물리적 주소 정보와 어플리케이션 타입으로 설정된 상기 어플리케이션 바이너리 데이터의 타입 정보를 추가하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 어플리케이션 제공 방법은, 전자식 카드의 식별 정보와 각각의 전자식 카드에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 각각의 전자식 카드에 해당하는 어플리케이션 바이너리 데이터를 생성하는 단계; 및 상기 어플리케이션 바이너리 데이터를 상기 전자식 카드에 제공하는 단계;를 포함한다.
상기의 기술적 과제를 달성하기 위한 본 발명에 따른 컴퓨터로 읽을 수 있는 매체는 상기한 방법 중 어느 하나를 컴퓨터에 실행시키기 위한 프로그램을 기록한다.
본 발명에 따른 개인화된 어플리케이션 제공 시스템 및 방법에 의하면, 전자식 카드에 대응되는 API 맵 테이블을 이용하여 획득된 개인화된 어플리케이션은 제공함으로써, 전자식 카드가 발급된 이후에도 새로운 어플리케이션을 전자식 카드에 설치할 수 있다. 또한, 전자식 카드에 설치된 새로운 어플리케이션이 바로 구동될 수 있다. 이에 따라, 전자식 카드의 재사용성을 향상시킬 수 있다.
도 1은 본 발명의 바람직한 실시예에 따른 개인화된 어플리케이션 제공 시스템을 설명하기 위한 도면,
도 2는 본 발명의 일 실시예에 따른 전자식 카드의 구성을 보다 자세히 나타낸 도면,
도 3은 본 발명의 일 실시예에 따른 전자식 카드의 저장부의 구조를 설명하기 위한 도면,
도 4는 본 발명의 일 실시예에 따른 어플리케이션의 저장 과정을 설명하기 위한 도면,
도 5는 본 발명의 일 실시예에 따른 어플리케이션 제공 장치의 구성을 보다 자세히 나타낸 도면,
도 6은 본 발명의 일 실시예에 따른 어플리케이션 제공 과정을 설명하기 위한 흐름도,
도 7은 본 발명의 다른 실시예에 따른 전자식 카드의 구성을 보다 자세히 나타낸 도면,
도 8은 본 발명의 다른 실시예에 따른 어플리케이션 제공 장치의 구성을 보다 자세히 나타낸 도면, 그리고,
도 9는 본 발명의 다른 실시예에 따른 어플리케이션 제공 과정을 설명하기 위한 흐름도이다.
이하에서 첨부한 도면을 참조하여 본 발명에 따른 개인화된 어플리케이션 제공 시스템 및 방법의 바람직한 실시예에 대해 상세하게 설명한다.
도 1은 본 발명의 바람직한 실시예에 따른 개인화된 어플리케이션 제공 시스템을 설명하기 위한 도면이다.
도 1을 참조하면, 본 발명의 실시예에 따른 전자식 카드(100)는 어플리케이션 제공 장치(200)에 접촉식 또는 비접촉식으로 연결된다. 전자식 카드(100)는 어플리케이션 제공 장치(200)로부터 개인화된 어플리케이션을 제공받아 저장한다. 여기서, 개인화된 어플리케이션이란 전자식 카드(100)가 발급된 이후에 전자식 카드(100)에 설치되어 바로 실행 가능한 어플리케이션을 말한다. 즉, 개인화된 어플리케이션은 전자식 카드(100)가 발급된 이후에 전자식 카드(100)에 설치되지만, 전자식 카드(100)의 발급 시에 탑재된 어플리케이션처럼 실행될 수 있다.
어플리케이션 제공 장치(200)는 전자식 카드(100)의 발급 이후에 전자식 카드(100)에서 실행 가능한 개인화된 어플리케이션을 전자식 카드(100)에 제공한다. 어플리케이션 제공 장치(200)는 어플리케이션의 후발급(post issuance)을 위해 전자식 카드(100)의 제조 회사, 발급 회사 등에서 운영하는 장치이다.
한편, 전자식 카드(100)가 어플리케이션 제공 장치(200)에 직접 연결된 것으로 도 1에 도시하였으나, 이에 한정되지 않고 실시예에 따라 전자식 카드(100)는 어플리케이션 제공 장치(200)에 연결된 카드 리더기(도시하지 않음)에 삽입되어 어플리케이션을 제공받을 수 있다. 또한, 전자식 카드(100)는 통신망(도시하지 않음)을 통해 어플리케이션 제공 장치(200)에 연결된 사용자 단말기(도시하지 않음)로부터 어플리케이션을 제공받을 수도 있다. 이때, 전자식 카드(100)는 사용자 단말기에 직접 연결되거나 사용자 단말기에 연결된 카드 리더기를 통해 사용자 단말기에 연결될 수 있다.
사용자 단말기는 데스크톱 컴퓨터뿐만 아니라 노트북 컴퓨터, 워크스테이션, 팜톱(palmtop) 컴퓨터, UMPC(ultra mobile personal computer), 태블릿 PC, 개인 휴대 정보 단말기(personal digital assistant, PDA), 웹 패드, 휴대전화 등과 같이 메모리 수단을 구비하고 마이크로 프로세서를 탑재하여 연산 능력을 갖춘 단말기로 이루어질 수 있다.
통신망은 구내 정보 통신망(local area network : LAN), 도시권 통신망(metropolitan area network : MAN), 광역 통신망(wide area network : WAN), 인터넷 등을 포함하는 데이터 통신망뿐만 아니라 전화망 등을 포함할 수 있고, 유선과 무선을 가리지 않으며, 어떠한 통신 방식을 사용하더라도 무방하다.
도 2는 본 발명의 일 실시예에 따른 전자식 카드의 구성을 보다 자세히 나타낸 도면이고, 도 3은 본 발명의 일 실시예에 따른 전자식 카드의 저장부의 구조를 설명하기 위한 도면이며, 도 4는 본 발명의 일 실시예에 따른 어플리케이션의 저장 과정을 설명하기 위한 도면이다.
전자식 카드(100)는 저장부(210) 및 제어부(230)를 구비한다.
저장부(210)는 전자식 카드(100)의 동작에 필요한 프로그램이나 데이터 등을 저장한다. 도 3을 참조하면, 저장부(210)는 제1저장부(311), 제2저장부(313) 및 제3저장부(315)를 구비한다.
제1저장부(311)는 전자식 카드(100)에 탑재되는 운영체제(OS_DATA), 전자식 카드(100)의 제조/발급 시에 탑재되는 어플리케이션(IAPP_DATA) 등과 같은 소프트웨어(software)의 바이너리 데이터(binary data)를 저장한다.
제1저장부(311)는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 불가능한 저장 매체이다. 제1저장부(311)로 채택될 수 있는 저장 수단으로는 롬(read only memory : ROM) 등을 들 수 있다.
제2저장부(313)는 데이터 할당 테이블(DAT), 전자식 카드(100)의 발급 이후에 저장되는 각종 데이터(DATA1)를 저장한다. 여기서, 데이터 할당 테이블은 데이터가 저장된 물리적 주소를 제공하는 테이블로서, 복수의 엔트리(entry) 항목으로 이루어진다. 각 엔트리 항목은 데이터가 저장된 주소 정보와 해당 데이터의 데이터 타입(type)으로 이루어진다. 데이터 타입은 데이터의 유형을 나타내는 정보로서, 파일 타입, 디렉토리 타입, 어플리케이션 타입 등이 있다. 데이터 할당 테이블에는 FAT(file allocation table) 등이 있다.
제2저장부(313)는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 저장 매체이다. 제2저장부(313)로 채택될 수 있는 저장 수단으로는 EEPROM(electrically erasable programmable ROM), 플래시 메모리(flash memory) 등을 들 수 있다.
제3저장부(315)는 전자식 카드(100)의 동작 중에 임시로 생성되는 데이터를 저장한다. 제3저장부(315)는 전원이 인가되는 경우에만 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 저장 매체이다. 제3저장부(315)로 채택될 수 있는 저장 수단으로는 램(random access memory : RAM) 등을 들 수 있다.
제어부(230)는 자신의 카드 식별 정보를 어플리케이션 제공 장치(200)에 제공한다. 여기서, 카드 식별 정보는 전자식 카드를 식별할 수 있는 고유한 정보로서, 전자식 카드의 일련 번호 등을 말한다. 또한, 제어부(230)는 어플리케이션 제공 장치(200)로부터 수신한 어플리케이션 바이너리 데이터를 제2저장부(313)에 저장하고, 어플리케이션 바이너리 데이터가 저장된 주소 정보와 어플리케이션 타입(type)으로 설정된 어플리케이션 바이너리 데이터의 타입 정보를 제2저장부(313)에 저장된 데이터 할당 테이블에 추가한다.
여기서, 어플리케이션 바이너리 데이터는 전자식 카드(100)에 탑재되는 운영체제나 전자식 카드(100)의 제조/발급 시에 탑재되는 어플리케이션에서 제공하는 API(application programming interface)의 물리적 진입 주소(entry point)를 포함한다. 예컨대, 전자식 카드(100)에 후발급되는 어플리케이션이 전자식 카드(100)에 탑재된 운영체제에서 제공하는 API 중 'AAA'를 이용하는 경우, 어플리케이션 바이너리 데이터 중 API 'AAA'를 호출하는 부분은 전자식 카드(100)에 저장된 운영체제 바이너리 데이터 중 API 'AAA'에 해당하는 물리적 진입 주소로 이루어져 있다. 이에 따라, 전자식 카드(100)에 후발급되는 어플리케이션은 전자식 카드(100)의 발급 시에 탑재된 어플리케이션처럼 직접 실행될 수 있다.
도 4를 참조하면, 어플리케이션 제공 장치(200)로부터 어플리케이션 바이너리 데이터(DATA2)를 수신한 경우, 제어부(230)는 어플리케이션 바이너리 데이터(DATA2)를 제2저장부(313)에 저장하고, 어플리케이션 바이너리 데이터(DATA2)가 저장된 주소 정보('BBBB')와 어플리케이션 타입으로 설정된 어플리케이션 바이너리 데이터(DATA2)의 타입 정보('A')를 제2저장부(313)에 저장된 데이터 할당 테이블(DAT)에 추가한다. 여기서, 타입 'F'는 파일 타입을 나타낸다.
도 5는 본 발명의 일 실시예에 따른 어플리케이션 제공 장치의 구성을 보다 자세히 나타낸 도면이다.
어플리케이션 제공 장치(200)는 맵 테이블 저장부(510), 정보 수신부(530), 어플리케이션 생성부(550) 및 어플리케이션 제공부(570)를 구비한다.
맵 테이블 저장부(510)는 각각의 전자식 카드(100)에 대응되는 API 맵 테이블을 저장한다. 여기서, API 맵 테이블은 전자식 카드(100)에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진다. 즉, API 맵 테이블은 전자식 카드(100)에 탑재된 운영체제나 전자식 카드(100)의 제조/발급 시에 탑재된 어플리케이션 등과 같은 소프트웨어에서 제공하는 API의 물리적 진입 주소로 이루어진다. 예컨대, 전자식 카드(100)에 탑재된 운영체제에서 API 'AAA', API 'BBB' 및 API 'CCC'를 제공하고, API 'AAA'의 진입 주소는 '111111'이고 API 'BBB'의 진입 주소는 '222222'이며 API 'CCC'의 진입 주소는 '333333'인 경우, 전자식 카드(100)에 대응되는 API 맵 테이블은 아래의 [표 1]과 같이 구성된다.

API

진입 주소

AAA

111111

BBB

222222

CCC

333333
맵 테이블 저장부(510)는 전자식 카드(100)별로 구분되게 API 맵 테이블을 저장한다. 물론, 동일 제품군에 포함된 전자식 카드(100)가 서로 동일한 API 맵 테이블을 가지는 경우, 맵 테이블 저장부(510)는 전자식 카드(100)의 제품 유형별로 구분되게 API 맵 테이블을 저장할 수 있다.
정보 수신부(530)는 전자식 카드(100)로부터 카드 식별 정보를 수신한다. 어플리케이션 생성부(550)는 정보 수신부(530)를 통해 수신한 카드 식별 정보에 대응되는 API 맵 테이블을 맵 테이블 저장부(510)에서 획득한다. 어플리케이션 생성부(550)는 획득한 API 맵 테이블을 이용하여 어플리케이션 소스 코드(source code)에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 어플리케이션 바이너리 데이터를 생성한다. 예컨대, 어플리케이션이 전자식 카드(100)에 탑재된 운영체제에서 제공하는 API 중 'AAA'를 이용하는 경우, 위의 [표 1]과 같은 API 맵 테이블을 이용하여 API 'AAA'를 호출하는 부분이 '111111'으로 된 어플리케이션 바이너리 데이터를 획득할 수 있다.
어플리케이션 제공부(570)는 어플리케이션 바이너리 데이터를 전자식 카드(100)에 제공한다.
도 6은 본 발명의 일 실시예에 따른 어플리케이션 제공 과정을 설명하기 위한 흐름도이다.
전자식 카드(100)는 자신의 카드 식별 정보를 어플리케이션 제공 장치(200)에 제공한다(S610). 그러면, 어플리케이션 제공 장치(200)는 수신한 카드 식별 정보에 대응되는 API 맵 테이블을 기 저장된 API 맵 테이블에서 획득하고(S620), 획득한 API 맵 테이블을 이용하여 어플리케이션 소스 코드로부터 어플리케이션 바이너리 코드를 생성한다(S630). 즉, 어플리케이션 제공 장치(200)는 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 어플리케이션 바이너리 데이터를 생성한다. 어플리케이션 제공 장치(200)는 어플리케이션 바이너리 데이터를 전자식 카드(100)에 제공한다(S640).
이후, 전자식 카드(100)는 어플리케이션 제공 장치(200)로부터 수신한 어플리케이션 바이너리 데이터를 저장하고(S650), 데이터 타입을 어플리케이션 타입으로 하여 어플리케이션 바이너리 데이터가 저장된 주소 정보를 데이터 할당 테이블에 추가한다(S660).
한편, 전자식 카드(100)는 자신의 API 맵 테이블을 저장하고, 어플리케이션 제공 장치(200)로부터 제공받거나 기 저장된 어플리케이션 소스 코드로부터 어플리케이션 바이너리 데이터를 생성할 수도 있다. 이 경우, 전자식 카드(100)에는 어플리케이션 바이너리 데이터의 생성 시 필요한 컴파일 어플리케이션, 링크 어플리케이션 등이 탑재되어 있다.
도 7은 본 발명의 다른 실시예에 따른 전자식 카드의 구성을 보다 자세히 나타낸 도면이다.
전자식 카드(700)는 저장부(710) 및 제어부(730)를 구비한다.
본 실시예에 따른 전자식 카드(700)의 저장부(710) 및 제어부(730)는 각각 앞선 실시예에 따른 전자식 카드(100)의 저장부(210) 및 제어부(230)와 실질적으로 동일하므로 다른 부분에 대해서만 이하 설명한다.
저장부(710)는 전자식 카드(700)에 대응되는 API 맵 테이블을 저장한다. 제어부(730)는 저장부(710)에 저장된 API 맵 테이블을 어플리케이션 제공 장치(200)에 제공한다.
도 8은 본 발명의 다른 실시예에 따른 어플리케이션 제공 장치의 구성을 보다 자세히 나타낸 도면이다.
어플리케이션 제공 장치(800)는 정보 수신부(810), 어플리케이션 생성부(830) 및 어플리케이션 제공부(850)를 구비한다.
본 실시예에 따른 어플리케이션 제공 장치(800)의 정보 수신부(810), 어플리케이션 생성부(830) 및 어플리케이션 제공부(850)는 각각 앞선 실시예에 따른 어플리케이션 제공 장치(200)의 정보 수신부(530), 어플리케이션 생성부(550) 및 어플리케이션 제공부(570)와 실질적으로 동일하므로 다른 부분에 대해서만 이하 설명한다.
정보 수신부(810)는 전자식 카드(700)로부터 API 맵 테이블을 수신한다.
어플리케이션 생성부(830)는 정보 수신부(810)를 통해 수신한 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 어플리케이션 바이너리 데이터를 생성한다.
도 9는 본 발명의 다른 실시예에 따른 어플리케이션 제공 과정을 설명하기 위한 흐름도이다.
전자식 카드(700)는 자신의 API 맵 테이블을 어플리케이션 제공 장치(800)에 제공한다(S910). 그러면, 어플리케이션 제공 장치(800)는 수신한 API 맵 테이블을 이용하여 어플리케이션 소스 코드로부터 어플리케이션 바이너리 코드를 생성하고(S920), 어플리케이션 바이너리 데이터를 전자식 카드(700)에 제공한다(S930).
이후, 전자식 카드(700)는 어플리케이션 제공 장치(800)로부터 수신한 어플리케이션 바이너리 데이터를 저장하고(S940), 데이터 타입을 어플리케이션 타입으로 하여 어플리케이션 바이너리 데이터가 저장된 주소 정보를 데이터 할당 테이블에 추가한다(S950).
한편, 본 발명의 실시예에 따른 어플리케이션 제공 과정은 전자식 카드(100, 700)와 어플리케이션 제공 장치(200, 800)사이에 정상적으로 인증이 이루어진 경우에 수행될 수 있다. 즉, 전자식 카드(100, 700)가 어플리케이션이 설치 가능한 제품인지와 어플리케이션 제공 장치(200, 800)가 어플리케이션의 제공이 가능한 장치인지를 상호 인증하고, 인증이 성공적으로 이루어진 경우에 어플리케이션 제공 과정이 수행될 수 있다.
또한, 본 발명의 실시예에 따른 전자식 카드(100, 700)가 사용자 단말기를 통해 어플리케이션 제공 장치(200, 800)에 연결된 경우에는 사용자 단말기의 인증이 추가적으로 수행될 수 있다. 즉, 전자식 카드(100, 700)와 연결된 사용자 단말기가 전자식 카드(100, 700)의 소유자의 조작에 의해 동작되는지를 인증할 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록 매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 장치에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다. 컴퓨터가 읽을 수 있는 기록 매체의 예로는 롬(ROM), 램(RAM), CD-ROM, 자기 테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한, 컴퓨터가 읽을 수 있는 기록 매체는 유무선 통신망으로 연결된 컴퓨터 장치에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 다음의 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자라면 누구든지 다양한 변형 실시가 가능한 것은 물론이고, 그와 같은 변경은 청구범위 기재의 범위 내에 있게 된다.
100, 700: 전자식 카드, 200, 800: 어플리케이션 제공 장치

Claims (15)

  1. 소프트웨어 바이너리 데이터(software binary data)가 저장되는 제1저장부;
    데이터가 저장된 물리적 주소 정보와 상기 데이터의 타입(type) 정보로 구성된 엔트리(entry) 항목으로 이루어진 데이터 할당 테이블(data allocation table)이 저장되는 제2저장부; 및
    상기 제2저장부에 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API(application programming interface)의 물리적 진입 주소(entry point)를 포함하는 어플리케이션의 바이너리 데이터를 저장하고, 상기 데이터 할당 테이블에 상기 어플리케이션 바이너리 데이터가 저장된 물리적 주소 정보와 어플리케이션 타입으로 설정된 상기 어플리케이션 바이너리 데이터의 타입 정보를 추가하는 제어부;를 포함하는 전자식 카드.
  2. 제 1항에 있어서,
    상기 제1저장부는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 불가능하며,
    상기 제2저장부는 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 것을 특징으로 하는 전자식 카드.
  3. 제 1항에 있어서,
    상기 어플리케이션 바이너리 데이터는 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블(map table)을 이용하여 상기 어플리케이션 바이너리 데이터에 대응되는 소스 코드(source code)에서 호출하는 API를 대응하는 상기 API의 물리적 진입 주소로 변환하여 생성되는 것을 특징으로 하는 전자식 카드.
  4. 제 1항에 있어서,
    상기 제2저장부에는 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블이 저장되고,
    상기 제어부는 상기 제2저장부에 저장된 상기 API 맵 테이블을 이용하여 상기 어플리케이션 바이너리 데이터에 대응되는 소스 코드에서 호출하는 API를 대응하는 상기 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 전자식 카드.
  5. 전자식 카드의 식별 정보와 각각의 전자식 카드에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 상기 어플리케이션 소스 코드에서 호출하는 API에 대응하는 API의 물리적 진입 주소로 변환하여 각각의 전자식 카드에 해당하는 어플리케이션 바이너리 데이터를 생성하는 어플리케이션 생성부; 및
    상기 어플리케이션 바이너리 데이터를 상기 전자식 카드에 제공하는 어플리케이션 제공부;를 포함하는 것을 특징으로 하는 어플리케이션 제공 장치.
  6. 제 5항에 있어서,
    상기 API 맵 테이블이 저장되는 맵 테이블 저장부; 및
    상기 전자식 카드로부터 카드 식별 정보를 수신하는 정보 수신부;를 더 포함하며,
    상기 어플리케이션 생성부는 상기 맵 테이블 저장부로부터 상기 정보 수신부를 통해 수신한 상기 카드 식별 정보에 대응되는 API 맵 테이블을 획득하고, 상기 API 맵 테이블을 이용하여 상기 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 어플리케이션 제공 장치.
  7. 제 5항에 있어서,
    상기 전자식 카드로부터 상기 API 맵 테이블을 수신하는 정보 수신부를 더 포함하며,
    상기 어플리케이션 생성부는 상기 정보 수신부를 통해 수신한 상기 API 맵 테이블을 이용하여 상기 어플리케이션 소스 코드에서 호출하는 API를 대응하는 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 어플리케이션 제공 장치.
  8. 제1저장 수단에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소를 포함하는 어플리케이션의 바이너리 데이터를 제2저장 수단에 저장하는 단계; 및
    상기 제2저장 수단에 저장된 데이터가 저장된 물리적 주소 정보와 상기 데이터의 타입 정보로 구성된 엔트리 항목으로 이루어진 데이터 할당 테이블에 상기 어플리케이션 바이너리 데이터가 저장된 물리적 주소 정보와 어플리케이션 타입으로 설정된 상기 어플리케이션 바이너리 데이터의 타입 정보를 추가하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  9. 제 8항에 있어서,
    상기 제1저장 수단은 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 불가능하며,
    상기 제2저장 수단은 전원의 인가 여부에 상관없이 저장된 데이터를 유지하고 새로운 데이터의 저장이나 저장된 데이터의 삭제가 가능한 것을 특징으로 하는 어플리케이션 제공 방법.
  10. 제 8항에 있어서,
    상기 어플리케이션 바이너리 데이터는 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블(map table)을 이용하여 상기 어플리케이션 바이너리 데이터에 대응되는 소스 코드에서 호출하는 API를 상기 어플리케이션 바이너리 데이터에 대응되는 소스 코드에서 호출하는 API에 대응하는 상기 API의 물리적 진입 주소로 변환하여 생성되는 것을 특징으로 하는 어플리케이션 제공 방법.
  11. 제 8항에 있어서,
    상기 제2저장 수단은 상기 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블을 저장하고,
    상기 추가 단계에서 상기 제2저장 수단에에 저장된 상기 API 맵 테이블을 이용하여 상기 어플리케이션 바이너리 데이터에 대응되는 소스 코드에서 호출하는 API를 대응하는 상기 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 어플리케이션 제공 방법.
  12. 전자식 카드의 식별 정보와 각각의 전자식 카드에 저장된 소프트웨어 바이너리 데이터에 포함되어 있는 API의 물리적 진입 주소로 이루어진 API 맵 테이블을 이용하여 어플리케이션 소스 코드에서 호출하는 API를 상기 어플리케이션 소스 코드에서 호출하는 API를에 대응하는 API의 물리적 진입 주소로 변환하여 각각의 전자식 카드에 해당하는 어플리케이션 바이너리 데이터를 생성하는 단계; 및
    상기 어플리케이션 바이너리 데이터를 상기 전자식 카드에 제공하는 단계;를 포함하는 것을 특징으로 하는 어플리케이션 제공 방법.
  13. 제 12항에 있어서,
    상기 전자식 카드로부터 카드 식별 정보를 수신하는 단계; 및
    상기 수신한 카드 식별 정보에 대응되는 API 맵 테이블을 획득하는 단계;를 더 포함하며,
    상기 생성 단계에서 상기 API 맵 테이블을 이용하여 상기 어플리케이션 소스 코드에서 호출하는 API를 상기 어플리케이션 소스 코드에서 호출하는 API에 대응하는 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 어플리케이션 제공 방법.
  14. 제 12항에 있어서,
    상기 전자식 카드로부터 상기 API 맵 테이블을 수신하는 단계를 더 포함하며,
    상기 생성 단계에서 상기 API 맵 테이블을 이용하여 상기 어플리케이션 소스 코드에서 호출하는 API를 사기 어플리케이션 소스 코드에서 호출하는 API에 대응하는 API의 물리적 진입 주소로 변환하여 상기 어플리케이션 바이너리 데이터를 생성하는 것을 특징으로 하는 어플리케이션 제공 방법.
  15. 제 12항 내지 제 14항 중 어느 한 항에 기재된 어플리케이션 제공 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020110111777A 2011-10-31 2011-10-31 개인화된 어플리케이션 제공 시스템 및 방법 KR101259874B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110111777A KR101259874B1 (ko) 2011-10-31 2011-10-31 개인화된 어플리케이션 제공 시스템 및 방법
PCT/KR2012/008820 WO2013065998A1 (ko) 2011-10-31 2012-10-25 개인화된 어플리케이션 제공 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110111777A KR101259874B1 (ko) 2011-10-31 2011-10-31 개인화된 어플리케이션 제공 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101259874B1 true KR101259874B1 (ko) 2013-05-02

Family

ID=48192301

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110111777A KR101259874B1 (ko) 2011-10-31 2011-10-31 개인화된 어플리케이션 제공 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101259874B1 (ko)
WO (1) WO2013065998A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100706699B1 (ko) 2004-12-27 2007-04-11 주식회사 유비닉스 복수 은행 금융서비스가 탑재되는 개방형 ic 카드 애플릿 운용기법
KR100750435B1 (ko) * 2005-09-05 2007-08-21 신한카드 주식회사 아이씨 카드 관리방법 및 시스템과 이를 위한 기록매체와정보 저장매체
JP2010027001A (ja) * 2008-07-24 2010-02-04 Dainippon Printing Co Ltd Icカードとそのプログラム、及び、icカードの発行方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080016707A (ko) * 2008-01-15 2008-02-21 주식회사 비즈모델라인 스마트카드(또는 아이씨카드 또는 아이씨칩)용애플리케이션 후발급 처리 시스템

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100706699B1 (ko) 2004-12-27 2007-04-11 주식회사 유비닉스 복수 은행 금융서비스가 탑재되는 개방형 ic 카드 애플릿 운용기법
KR100750435B1 (ko) * 2005-09-05 2007-08-21 신한카드 주식회사 아이씨 카드 관리방법 및 시스템과 이를 위한 기록매체와정보 저장매체
JP2010027001A (ja) * 2008-07-24 2010-02-04 Dainippon Printing Co Ltd Icカードとそのプログラム、及び、icカードの発行方法

Also Published As

Publication number Publication date
WO2013065998A1 (ko) 2013-05-10

Similar Documents

Publication Publication Date Title
CA2814007C (en) Secure application directory
CN100507933C (zh) 密码管理设备以及密码管理方法
CN109587252A (zh) 运营商参数的加载方法、装置、电子设备及存储介质
JP2011118837A (ja) 情報処理装置、情報処理方法およびプログラム
CN101620758B (zh) 一种支持Web服务的智能卡
CN106033551A (zh) 数据解析方法、装置及系统
CN104484211A (zh) 共享镜像文件的方法及装置
CN105279466A (zh) 图形码识别方法及装置、图形码生成方法及装置
KR101259874B1 (ko) 개인화된 어플리케이션 제공 시스템 및 방법
US20110041064A1 (en) Information processing apparatus, program, and information processing system
CN103533134B (zh) 联系人信息显示方法及装置
KR101057671B1 (ko) 스마트카드를 이용한 카드 단말기의 업데이트 시스템 및 방법
JP5202634B2 (ja) Mifareメモリをデフラギングするモバイル通信装置及び方法
CN101621494A (zh) 一种支持Web服务的终端处理系统及实现方法
US20100162107A1 (en) Terminal equipment and application list display method
CN110008682B (zh) 一种基于pki更新不同类型存储介质中的数据的方法
KR100965147B1 (ko) 이동통신 단말기용 유심의 엘레멘트 파일들을 효율적으로 확장시키는 방법 및 이를 위한 저장장치
JP2018132818A (ja) 電子情報記憶媒体、icカード及びアプリケーション選択方法
JP5998767B2 (ja) Icカードシステムおよびicカード
JP6515850B2 (ja) 情報処理装置、icチップ、情報処理方法、プログラム、及び情報処理システム
JP6915338B2 (ja) Icカード
JP2006195878A (ja) カード型記憶媒体のデータをキャッシュするコンピュータシステムおよびキャッシュ方法
KR101357518B1 (ko) Transient 메모리에 파일 데이터가 저장되는 파일을 운용하는 스마트카드 및 그의 파일 관리 방법
CN105808294A (zh) 一种数据处理方法及电子设备
CN116382720A (zh) 插件处理方法、装置、计算机设备及存储介质

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170309

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180403

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190401

Year of fee payment: 7