KR20070059940A - 애플릿 로드 방법 및 그 장치 - Google Patents

애플릿 로드 방법 및 그 장치 Download PDF

Info

Publication number
KR20070059940A
KR20070059940A KR1020060103690A KR20060103690A KR20070059940A KR 20070059940 A KR20070059940 A KR 20070059940A KR 1020060103690 A KR1020060103690 A KR 1020060103690A KR 20060103690 A KR20060103690 A KR 20060103690A KR 20070059940 A KR20070059940 A KR 20070059940A
Authority
KR
South Korea
Prior art keywords
size
buffer
load data
load
data
Prior art date
Application number
KR1020060103690A
Other languages
English (en)
Other versions
KR100842257B1 (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 한국전자통신연구원
Publication of KR20070059940A publication Critical patent/KR20070059940A/ko
Application granted granted Critical
Publication of KR100842257B1 publication Critical patent/KR100842257B1/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/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/22Microcontrol or microprogram arrangements
    • G06F9/24Loading of the microprogram

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

애플릿 로드 방법 및 장치가 개시된다. 본 발명은 애플릿을 구성하는 복수의 컴포넌트들이 각각 더 작은 조각으로 분할되고, 분할된 조각들을 묶어서 로드 데이터로 수신하여 상기 애플릿을 로드하는 방법에 있어서, 로드 데이터를 제1버퍼에 저장하는 단계; 로드 데이터가 현재 로드중인 컴포넌트에 속하는지의 여부 및 상기 제1버퍼의 크기를 고려하여 로드 데이터를 제2버퍼에 복사하는 단계; 제2버퍼에 저장된 데이터에 대해 로드 과정을 수행하는 단계; 및 로드 과정이 완료되면, 컴포넌트들 모두에 대해 제1버퍼에 저장하는 단계 내지 로드 과정을 수행하는 단계를 포함함을 특징으로 한다.

Description

애플릿 로드 방법 및 그 장치{Method and apparatus for loading applet}
도 1은 본 발명이 적용되는 통신 장치의 구성도를 도시한 것이다.
도 2는 도 1의 스마트 카드에 대한 상세 블록도를 도시한 것이다.
도 3은 본 발명에 따른 애플릿 로드 방법에 대한 흐름도를 도시한 것이다.
도 4a 및 도 4b는 하나의 컴포넌트에 대한 로드 과정을 흐름도로 도시한 것이다.
본 발명은 애플릿 로드(applet load) 방법 및 그 장치에 관한 것으로, 특히 자바(Java) 카드 OS(Operating System)를 사용하여 글로벌 플랫폼(Global Platform, GP) 표준에 따라 애플릿을 로드하는 방법 및 그 장치에 관한 것이다.
GP 표준 카드에 있어서 애플릿의 로드는 자바 카드에서의 애플릿 로드와는 달리 일련번호와 함께 애플릿의 변환 파일, 즉, CAP(Converted Applet) 파일에 대한 이진수 데이터들이 순서대로 전송되어 이루어진다. 여기서, 애플릿은 웹상에서 자바와 같은 객체지향 프로그래밍 언어를 이용하여 웹 페이지와 함께 사용자측으로 보내질 수 있도록 작게 만든 프로그램을 말한다.
자바 카드에서 사용하는 로드 명령의 경우, 로드 명령의 시작, 중간, 끝부분에 특정한 명령어를 사용하여 해당 컴포넌트(component)를 구별한다. 그러나 GP 로드 명령의 경우 이런 구분없이 애플릿을 카드에 로드하는 CAP 파일의 이진수 데이터를 클라이언트가 정한 크기로 보내주게 된다. 따라서 이런 GP 로드 명령의 데이터가 클라이언트 프로그램에서 해당 컴포넌트별로 전송되지 않으면, 카드에서는 해당 컴포넌트별로 분리하여 자바 카드의 로드 모듈에 전해주어야 하는 문제가 있다. 따라서 이러한 로드 명령에 대응하여 데이터를 처리할 필요가 있다.
본 발명이 이루고자 하는 기술적 과제는 자바 API(Application Programming Interface)에서 제공하는 로드 모듈을 이용하여 GP 로드 데이터를 처리하는 애플릿 로드 방법 및 장치를 제공하는 데 있다.
상기 기술적 과제를 이루기 위한, 본 발명은 애플릿을 구성하는 복수의 컴포넌트들이 각각 더 작은 조각으로 분할되고, 분할된 조각들을 묶어서 로드 데이터로 수신하여 상기 애플릿을 로드하는 방법에 있어서, 상기 로드 데이터를 상기 제1버퍼에 저장하는 단계; 상기 로드 데이터가 현재 로드중인 컴포넌트에 속하는지의 여부 및 상기 제1버퍼의 크기를 고려하여 상기 로드 데이터를 제2버퍼에 복사하는 단계; 상기 제2버퍼에 저장된 데이터에 대해 로드 과정을 수행하는 단계; 및 상기 로드 과정이 완료되면, 상기 컴포넌트들 모두에 대해 상기 제1버퍼에 저장하는 단계 내지 상기 로드 과정을 수행하는 단계를 포함함을 특징으로 한다.
상기 기술적 과제를 이루기 위한, 본 발명은 애플릿을 구성하는 복수의 컴포넌트들이 각각 더 작은 조각으로 분할되고, 분할된 조각들을 묶어서 로드 데이터로 수신하여 상기 애플릿을 로드하는 장치에 있어서, 상기 로드 데이터를 수신하여 저장하는 제1버퍼; 상기 제1버퍼에 저장된 데이터를 전송받아 저장하는 제2버퍼; 상기 제2버퍼에 저장된 데이터에 대한 로드 과정을 수행하는 로드부; 및 상기 로드 데이터에 상기 로드부에 의해 현재 로드 과정이 수행되는 컴포넌트가 포함되었는지의 여부, 상기 제1버퍼 및 상기 제2버퍼의 크기를 고려하여 상기 로드 데이터를 상기 제2버퍼에 복사하는 로드 데이터 분석부를 포함함을 특징으로 한다.
이하에서 첨부된 도면을 참조하여 본 발명을 상세하게 설명하기로 한다.
도 1은 본 발명이 적용되는 통신 장치의 구성도를 도시한 것이다.
도시된 통신 장치는 클라이언트(1)와 스마트 카드(2)를 포함한다. 여기서 스마트 카드(2)는 GP 표준을 따른다. 클라이언트(1)는 애플릿을 스마트 카드(2)에 전송하기 위해 GP 로드 명령을 생성한다. 또한 로드 명령을 이용하여 로드할 애플릿을 변환한 다음, 만들어진 CAP 파일의 컴포넌트(component)들을 순서에 맞게 전송한다. 전송 순서는 GP 표준으로 명시되어 있다. 보통 클라이언트(1)는 컴포넌트별로 끊어서 로드 데이터를 전송하지만, 이는 표준으로 정해진 것은 아니다. 따라서 클라이언트(1)에서 채용하는 프로그램에 따라 각 컴포넌트를 일정한 크기로 분할하고, 분할된 컴포넌트 조각들을 일정한 크기의 로드 데이터로 묶어서 전송할 수 있고, 그 크기 또한 프로그램에 따라 달라질 수 있다. 따라서 하나의 로드 데이터에는 서로 다른 컴포넌트 조각들이 포함될 수 있다.
다음 표는 GP 표준에 따라 스마트 카드(2)로 전송되는 컴포넌트들을 전송순으로 나타낸 것이다.
컴포넌트 타입
COMPONENT_Header
COMPONENT_Directory
COMPONENT_Import
COMPONENT_Applet
COMPONENT_Class
COMPONENT_Method
COMPONENT_StaticField
COMPONENT_Export
COMPONENT_ConstantPool
COMPONENT_ReferneceLocation
COMPONENT_Descriptor(선택적)
스마트 카드(2)는 수신한 컴포넌트들을 각 컴포넌트별로 분류 및 재구성한 다음 로드과정을 수행한다.
도 2는 도 1의 스마트 카드(2)에 대한 상세 블록도를 도시한 것이다. 도시된 스마트 카드(2)는 APDU(Application Protocol Data Unit) 버퍼(21), 로드 데이터 분석부(22), 데이터 버퍼(23) 및 로드부(24)를 포함한다.
APDU 버퍼(21)는 클라이언트(1)로부터 현재 수신한 로드 데이터를 일시 저장한다. 로드 데이터 분석부(22)는 APDU 버퍼(21)에 저장된 데이터의 크기와 그 데이터가 현재 처리중인 컴포넌트에 해당하는지의 여부에 따라, APDU 버퍼(21)에 저장된 데이터중 적절한 데이터를 데이터 버퍼(23)에 저장한다. 데이터 버퍼(23)는 컴포넌트의 크기에 따라 현재 처리중인 컴포넌트의 데이터를 차곡차곡 쌓아두는 역할을 한다. 로드 데이터 분석부(22)는 데이터 버퍼(23)에 해당 컴포넌트 데이터가 모두 저장되거나, 데이터 버퍼(23)가 모두 찼을 경우 로드부(24)에 로드 과정을 수행하도록 한다.
즉, APDU 버퍼(21)에 저장된 데이터는 한꺼번에 데이터 버퍼(23)로 전달되어 저장되는 것이 아니고, 현재 컴포넌트의 남은 크기에 따라 그 일부분이 데이터 버퍼(23)에 복사된다. 따라서 APDU 버퍼(21)는 표시자를 더 포함할 수 있고, 로드 데이터 분석부(22)는 이 표시자로부터 APDU 버퍼(21)에서 데이터 버퍼(23)로 어느 정도까지 복사되었는지를 알 수 있다. 표시자는 데이터 버퍼(23)에도 구비되어 데이터 버퍼(23)에 채움 정도를 표시할 수 있다.
로드부(24)는 초기화(init()), 프로세스(process()) 그리고 포스트 프로세스(post_process())의 세 과정을 수행하여, 해당 컴포넌트 로드를 시작, 전송 및 완료한다. 모든 로드 데이터가 상술한 세 과정을 통해 처리되고 마지막 컴포넌트에 대한 로드 과정이 완료되면 해당 애플릿이 로드되었음을 레지스트리(미도시)에 저장하여 기록한다.
도 3은 본 발명에 따른 애플릿 로드 방법에 대한 흐름도를 도시한 것이다.
클라이언트(1)는 현재 전송된 컴포넌트에 대한 로드 데이터를 APDU 버퍼(21)에 저장한다(31단계). 로드 데이터 분석부(22)는 APDU 버퍼(21)에 저장된 APDU 데이터를 데이터 버퍼(23)에 복사한다(32단계). 그 복사 과정에 대한 상세한 설명은 후술하기로 한다. 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 로드 과정을 실행한다(33단계). 로드 과정에서 포스트 프로세스가 실행되었다면(34단계), 현재 컴포넌트에 대한 로드 과정을 완료하고 이로써 모든 컴포넌트에 대한 로드가 완료되었다면(35단계) 애플릿의 로드 과정을 완료한다. 34단계에서 포스트 프로세스가 실행되지 않았다면, 다시 32단계 내지 34단계를 반복 수행한다. 모든 컴포넌트에 대한 로드가 이루진 것이 아니라면, 다음 컴포넌트에 대해 31단계 내지 34단계를 수행한다.
도 4a 및 도 4b는 하나의 컴포넌트에 대한 로드 과정을 흐름도로 도시한 것이다.
먼저, 로드 데이터 분석부(22)는 APDU 버퍼(21)에 저장된 데이터, 즉 APDU 데이터의 크기와 데이터 버퍼(23)에서 저장되지 않고 남은 부분의 크기를 비교한다(41단계). APDU 데이터가 데이터 버퍼(230)의 남은 크기보다 크다면, 로드 데이터 분석부(22)는 현재 처리중인 컴포넌트의 남은 크기와 데이터 버퍼(23)의 남은 크기를 비교한다(42-1단계). 각 컴포넌트의 식별은 표 1의 COMPONENT_Header로부터 알 수 있고, 각 컴포넌트의 크기는 표 1의 COMPONENT_Directory로부터 알 수 있다.
처리해야할 남은 컴포넌트의 크기가 데이터 버퍼(23)의 남은 크기보다 크다면, 로드 데이터 분석부(22)는 데이터 버퍼의 끝까지 APDU 데이터를 복사한다(43-1단계). 복사가 완료되면, 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스를 실행한다(44-1단계). 42-1단계에서, 처리해야할 남은 컴포넌트의 크기가 데이터 버퍼(23)의 남은 크기와 같거나 데이터 버퍼(23)의 남은 크기보다 작다면, 로드 데이터 분석부(22)는 컴포넌트의 크기까지 APDU 데이터를 데이터 버퍼(23)에 복사한다(43-2단계). 복사가 완료되면, 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스를 실행하고, 현재 컴포넌트에 대한 로드를 완료하기 위해 포스트 프로세스를 실행한다(44-2단계).
41단계의 비교결과, APDU 데이터 크기가 데이터 버퍼(23)의 남은 크기가 동일하다면, 로드 데이터 분석부(22)는 처리해야할 남은 컴포넌트의 크기와 처리해야할 APDU 데이터의 크기를 비교한다(42-2단계). 비교결과, 처리해야할 남은 컴포넌트의 크기가 처리할 APDU 데이터의 크기보다 크다면, 로드 데이터 분석부(22)는 APDU 데이터를 데이터 버퍼(23)에 복사한다(45-1단계). 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스를 실행한다(46-1단계). 42-2단계에서 처리해야할 남은 컴포넌트의 크기가 APDU 데이터의 크기와 같다면, 로드 데이터 분석부(22)는 APDU 데이터를 데이터 버퍼(23)에 복사한다(45-2단계). 로드부(4-2)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스 및 포스트 프로세스를 실행한다(46-2단계). 42-2단계에서 처리해야할 남은 컴포넌트의 크기가 처리할 APDU 데이터의 크기보다 작다면, 로드 데이터 분석부(22)는 남은 컴포넌트의 크기만큼 APDU 데이터를 데이터 버퍼(23)에 복사한다(45-3단계). 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스 및 포스트 프로세스를 실행한다(46-3단계).
41단계의 비교결과, APDU 데이터 크기가 데이터 버퍼(23)의 남은 크기보다 작다면, 로드 데이터 분석부(22)는 처리해야할 남은 컴포넌트 크기와 처리할 APDU 데이터의 크기를 비교한다(42-3단계). 비교결과, 처리해야할 컴포넌트 크기가 처리할 APDU 데이터의 크기보다 크다면, 로드 데이터 분석부(22)는 남은 APDU 데이터를 데이터 버퍼(23)에 복사한다(47-1단계). 42-3단계에서, 처리해야할 남은 컴포넌트의 크기와 처리할 APDU 데이터의 크기가 동일하다면, 남은 APDU 데이터를 데이터 버퍼(23)에 복사한다(47-2단계). 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스 및 포스트 프로세스를 실행한다(48-2단계). 42-3단계에서 처리해야할 남은 컴포넌트의 크기가 처리할 APDU 데이터의 크기보다 작다면, 로드 데이터 분석부(22)는 남은 컴포넌트 크기만큼 APDU 데이터를 데이터 버퍼(23)에 복사한다(47-3단계). 로드부(24)는 데이터 버퍼(23)에 저장된 데이터에 대해 프로세스 및 포스트 프로세스를 실행한다(48-3단계).
본 발명은 또한 컴퓨터로 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기 테이프, 플로피 디스크 및 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브, 예를 들어 인터넷을 통한 전송의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
GP 표준을 따르는 카드에서 애플릿을 로드하고자 하는 경우 컴포넌트들이 그 순서대로 한꺼번에 전송될 수 있다. 이러한 경우 자바 카드 기반의 환경에서는 곧바로 사용될 수 없으므로, 해당 컴포넌트별로 재구성하여 해당 애플릿을 로드하게 된다. 따라서 본 발명에 따르면, 어떤 형태의 로드 데이터가 로드 명령을 통해 전달되더라도 애플릿을 정상적으로 로드할 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서, 특 정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.

Claims (18)

  1. 애플릿을 구성하는 복수의 컴포넌트들이 각각 더 작은 조각으로 분할되고, 분할된 조각들을 묶어서 로드 데이터로 수신하여 상기 애플릿을 로드하는 방법에 있어서,
    상기 로드 데이터를 상기 제1버퍼에 저장하는 단계;
    상기 로드 데이터가 현재 로드중인 컴포넌트에 속하는지의 여부 및 상기 제1버퍼의 크기를 고려하여 상기 로드 데이터를 제2버퍼에 복사하는 단계;
    상기 제2버퍼에 저장된 데이터에 대해 로드 과정을 수행하는 단계; 및
    상기 로드 과정이 완료되면, 상기 컴포넌트들 모두에 대해 상기 제1버퍼에 저장하는 단계 내지 상기 로드 과정을 수행하는 단계를 포함함을 특징으로 하는 애플릿 로드 방법.
  2. 제1항에 있어서, 상기 로드 데이터를 제2버퍼에 복사하는 단계는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기를 비교하는 단계;
    상기 현재 컴포넌트의 크기를 상기 제2버퍼의 남은 크기와 비교하는 단계; 및
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 크고, 상기 현재 컴포넌트 크기가 상기 제2버퍼의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼의 끝까지 복사하는 단계를 포함함을 특징으로 하는 애플릿 로드 방법.
  3. 제2항에 있어서,
    상기 로드 데이터 크기가 상기 제2버퍼의 크기보다 크고, 상기 현재 컴포넌트 크기가 상기 제2버퍼의 남은 크기보다 작거나 같으면, 상기 컴포넌트의 크기까지 상기 제1버퍼에 저장된 데이터를 상기 제2버퍼에 복사하는 단계를 더 포함하고,
    상기 로드 과정을 수행하는 단계는 상기 로드 과정을 완료하는 단계를 더 포함함을 특징으로 하는 애플릿 로드 방법.
  4. 제1항에 있어서, 상기 로드 데이터를 제2버퍼에 복사하는 단계는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기를 비교하는 단계;
    상기 현재 컴포넌트의 크기를 상기 로드 데이터의 남은 크기와 비교하는 단계; 및
    상기 로드 데이터의 크기가 상기 제2버퍼의 남은 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼에 복사하는 단계를 포함함을 특징으로 하는 애플릿 로드 방법.
  5. 제4항에 있어서,
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 APDU 데이터의 남은 크기와 동일하면, 상기 로드 데이터를 상기 제2버퍼에 복사하는 단계를 포함하고,
    상기 로드 과정을 수행하는 단계는 상기 로드 과정을 완료하는 단계를 더 포함함을 특징으로 하는 애플릿 로드 방법.
  6. 제4항에 있어서,
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 작다면, 상기 로드 데이터중에서 상기 현재 컴포넌트의 남은 크기만큼을 상기 제2버퍼에 복사하는 단계를 포함하고,
    상기 로드 과정을 수행하는 단계는 상기 로드 과정을 완료하는 단계를 더 포함함을 특징으로 하는 애플릿 로드 방법.
  7. 제1항에 있어서, 상기 로드 데이터를 제2버퍼에 복사하는 단계는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기를 비교하는 단계;
    상기 현재 컴포넌트의 크기를 상기 로드 데이터의 남은 크기와 비교하는 단계; 및
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼에 복사하는 단계를 포함함을 특징으로 하는 애플릿 로드 방법.
  8. 제7항에 있어서,
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포 넌트 크기가 상기 로드 데이터의 남은 크기와 동일하면, 상기 로드 데이터를 상기 제2버퍼에 복사하는 단계를 포함하고,
    상기 로드 과정을 수행하는 단계는 상기 로드 과정을 완료하는 단계를 더 포함함을 특징으로 하는 애플릿 로드 방법.
  9. 제7항에 있어서,
    상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 작다면, 상기 로드 데이터중에서 상기 현재 컴포넌트의 남은 크기만큼을 상기 제2버퍼에 복사하는 단계를 포함하고,
    상기 로드 과정을 수행하는 단계는 상기 로드 과정을 완료하는 단계를 더 포함함을 특징으로 하는 애플릿 로드 방법.
  10. 애플릿을 구성하는 복수의 컴포넌트들이 각각 더 작은 조각으로 분할되고, 분할된 조각들을 묶어서 로드 데이터로 수신하여 상기 애플릿을 로드하는 장치에 있어서,
    상기 로드 데이터를 수신하여 저장하는 제1버퍼;
    상기 제1버퍼에 저장된 데이터를 전송받아 저장하는 제2버퍼;
    상기 제2버퍼에 저장된 데이터에 대한 로드 과정을 수행하는 로드부; 및
    상기 로드 데이터에 상기 로드부에 의해 현재 로드 과정이 수행되는 컴포넌트가 포함되었는지의 여부, 상기 제1버퍼 및 상기 제2버퍼의 크기를 고려하여 상기 로드 데이터를 상기 제2버퍼에 복사하는 로드 데이터 분석부를 포함함을 특징으로 하는 애플릿 로드 장치.
  11. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 제2버퍼의 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 크고, 상기 현재 컴포넌트 크기가 상기 제2버퍼의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼의 끝까지 복사함을 특징으로 하는 애플릿 로드 장치.
  12. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 제2버퍼의 남은 크기를 각각 비교하여, 상기 로드 데이터 크기가 상기 제2버퍼의 크기보다 크고, 상기 현재 컴포넌트 크기가 상기 제2버퍼의 남은 크기보다 작거나 같으면, 상기 컴포넌트의 크기까지 상기 제1버퍼에 저장된 데이터를 상기 제2버퍼에 복사하고,
    상기 로드부는 상기 로드 과정을 수행한 후 상기 로드 과정을 완료함을 특징으로 하는 애플릿 로드 장치.
  13. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼에 복사함을 특징으로 하는 애플릿 로드 방법.
  14. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기와 동일하면, 상기 로드 데이터를 상기 제2버퍼에 복사하고,
    상기 로드부는 상기 로드 과정을 수행한 후 상기 로드 과정을 완료함을 특징으로 하는 애플릿 로드 장치.
  15. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기와 동일하고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 작다면, 상기 로드 데이터중에서 상기 현재 컴포넌트의 남은 크기만큼을 상기 제2버퍼에 복사하고,
    상기 로드부는 상기 로드 과정을 수행한 후 상기 로드 과정을 완료함을 특징으로 하는 애플릿 로드 장치.
  16. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 크면, 상기 로드 데이터를 상기 제2버퍼에 복사함을 특징으로 하는 애플릿 로드 장치.
  17. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기와 동일하면, 상기 로드 데이터를 상기 제2버퍼에 복사하고,
    상기 로드부는 상기 로드 과정을 수행한 후 상기 로드 과정을 완료함을 특징으로 하는 애플릿 로드 장치.
  18. 제10항에 있어서, 상기 로드 데이터 분석부는
    상기 로드 데이터 크기와 상기 제2버퍼의 남은 크기 및 상기 현재 컴포넌트 의 크기와 상기 로드 데이터의 남은 크기를 각각 비교하여, 상기 로드 데이터의 크기가 상기 제2버퍼의 크기보다 작고, 상기 현재 컴포넌트 크기가 상기 로드 데이터의 남은 크기보다 작다면, 상기 로드 데이터중에서 상기 현재 컴포넌트의 남은 크기만큼을 상기 제2버퍼에 복사하고,
    상기 로드부는 상기 로드 과정을 수행한 후 상기 로드 과정을 완료함을 특징으로 하는 애플릿 로드 장치.
KR1020060103690A 2005-12-07 2006-10-24 애플릿 로드 방법 및 그 장치 KR100842257B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20050118784 2005-12-07
KR1020050118784 2005-12-07

Publications (2)

Publication Number Publication Date
KR20070059940A true KR20070059940A (ko) 2007-06-12
KR100842257B1 KR100842257B1 (ko) 2008-06-30

Family

ID=38356181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060103690A KR100842257B1 (ko) 2005-12-07 2006-10-24 애플릿 로드 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR100842257B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712356A (zh) * 2020-12-30 2021-04-27 深圳杰睿联科技有限公司 一种配置Java Card参数的方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2906958B2 (ja) * 1993-12-17 1999-06-21 日本電気株式会社 ユーザプログラムロード方式
US5805829A (en) 1996-10-01 1998-09-08 International Business Machines Corp Process for running applets over non-IP networks
KR100479336B1 (ko) * 2002-12-13 2005-03-31 한국전자통신연구원 자바 카드 응용 시스템과 그 애플릿 로딩 방법
KR100548328B1 (ko) * 2003-02-19 2006-02-02 엘지전자 주식회사 보상 서비스 제공 시스템 및 이동 통신 단말기의 보상 차원 애플릿 다운로드 서비스 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112712356A (zh) * 2020-12-30 2021-04-27 深圳杰睿联科技有限公司 一种配置Java Card参数的方法和系统
CN112712356B (zh) * 2020-12-30 2022-04-15 深圳杰睿联科技有限公司 一种配置Java Card参数的方法和系统

Also Published As

Publication number Publication date
KR100842257B1 (ko) 2008-06-30

Similar Documents

Publication Publication Date Title
US8332845B2 (en) Compile timing based on execution frequency of a procedure
US4885770A (en) Boot system for distributed digital data processing system
US6314567B1 (en) Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
US5931935A (en) File system primitive allowing reprocessing of I/O requests by multiple drivers in a layered driver I/O system
US6269442B1 (en) Apparatus and method for on-line replacement of a running program code and data using checkpoints
EP0803811A2 (en) System and method for stub retrieval and loading
US7069373B2 (en) USB endpoint controller flexible memory management
US20120239634A1 (en) Method and apparatus for accessing database and database application system
CN110489382A (zh) 一种云手机游戏进度数据的处理方法、系统和存储介质
US6609152B1 (en) System for avoiding the assignment of duplicate MAC addresses to network interface devices
EP0902364A1 (en) Method for loading a program
US6151709A (en) Processes and apparatuses for uploading instructions to a computer
US5603014A (en) Protected mode simulation of a real mode interupt based programming interface in a computer system
EP0837391B1 (en) Multiprocessor system
CN116661910B (zh) 一种应用调用的方法及装置
CN111651169A (zh) 基于web容器的区块链智能合约运行方法及系统
US6711625B1 (en) Kernel file I/O management system and method
US7228532B1 (en) Method and apparatus to facilitate code verification and garbage collection in a platform-independent virtual machine
KR100842257B1 (ko) 애플릿 로드 방법 및 그 장치
US20110321043A1 (en) System, Method and Program Product for Native Interface Optimization of Read-Only Arrays
CN111858020A (zh) 用户资源限制方法、装置及计算机存储介质
US9626371B2 (en) Attribute selectable file operation
CN114201701A (zh) 运行环境的识别方法及装置、存储介质、服务端、客户端
CN112698912A (zh) 一种Java Card虚拟机运行环境及内存管理方法
CN116560801B (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: 20110609

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee