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

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

Info

Publication number
KR100842257B1
KR100842257B1 KR1020060103690A KR20060103690A KR100842257B1 KR 100842257 B1 KR100842257 B1 KR 100842257B1 KR 1020060103690 A KR1020060103690 A KR 1020060103690A KR 20060103690 A KR20060103690 A KR 20060103690A KR 100842257 B1 KR100842257 B1 KR 100842257B1
Authority
KR
South Korea
Prior art keywords
size
buffer
load data
load
remaining
Prior art date
Application number
KR1020060103690A
Other languages
English (en)
Other versions
KR20070059940A (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 KR20070059940A (ko) 2007-06-12
KR100842257B1 true 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)

Families Citing this family (1)

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

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175661A (ja) * 1993-12-17 1995-07-14 Nec Corp ユーザプログラムロード方式
KR100260682B1 (ko) 1996-10-01 2000-07-01 포만 제프리 엘 애플릿실행방법및컴퓨터워크스테이션
KR20040051966A (ko) * 2002-12-13 2004-06-19 한국전자통신연구원 자바 카드 응용 시스템과 그 애플릿 로딩 및 통신 방법
KR20040074854A (ko) * 2003-02-19 2004-08-26 엘지전자 주식회사 이동 통신 단말기의 보상 차원 애플릿 다운로드 서비스 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07175661A (ja) * 1993-12-17 1995-07-14 Nec Corp ユーザプログラムロード方式
KR100260682B1 (ko) 1996-10-01 2000-07-01 포만 제프리 엘 애플릿실행방법및컴퓨터워크스테이션
KR20040051966A (ko) * 2002-12-13 2004-06-19 한국전자통신연구원 자바 카드 응용 시스템과 그 애플릿 로딩 및 통신 방법
KR20040074854A (ko) * 2003-02-19 2004-08-26 엘지전자 주식회사 이동 통신 단말기의 보상 차원 애플릿 다운로드 서비스 방법

Also Published As

Publication number Publication date
KR20070059940A (ko) 2007-06-12

Similar Documents

Publication Publication Date Title
US8332845B2 (en) Compile timing based on execution frequency of a procedure
US6314567B1 (en) Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
US4885770A (en) Boot system for distributed digital data processing system
US5862362A (en) Network failure simulator
US6269442B1 (en) Apparatus and method for on-line replacement of a running program code and data using checkpoints
US7069373B2 (en) USB endpoint controller flexible memory management
US20110283366A1 (en) Method and system for preventing browser-based abuse
JP2003507811A (ja) ダウンロードされたプログラム断片を管理するためのプロトコル、ダウンロードされたプログラム断片を検証および変換する方法、および対応するシステム
US8677508B2 (en) Confidential information leakage prevention system, confidential information leakage prevention method and confidential information leakage prevention program
US6609152B1 (en) System for avoiding the assignment of duplicate MAC addresses to network interface devices
EP0902364A1 (en) Method for loading a program
US20170139637A1 (en) A method of live migration
US5603014A (en) Protected mode simulation of a real mode interupt based programming interface in a computer system
EP0837391B1 (en) Multiprocessor system
CN116661910B (zh) 一种应用调用的方法及装置
CN112445490A (zh) 文件序列处理方法、装置、终端设备及存储介质
CN111651169A (zh) 基于web容器的区块链智能合约运行方法及系统
US6711625B1 (en) Kernel file I/O management system and method
KR100842257B1 (ko) 애플릿 로드 방법 및 그 장치
US7228532B1 (en) Method and apparatus to facilitate code verification and garbage collection in a platform-independent virtual machine
KR100374526B1 (ko) 스마트 카드 및 그를 이용한 컴퓨터 프로그램 동작 방법
CN111858020B (zh) 用户资源限制方法、装置及计算机存储介质
US20120173489A1 (en) Attribute selectable file operation
CN112738181A (zh) 集群外部ip接入的方法、装置及服务器
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