KR20040049488A - 애플릿 실행 장치 및 방법 - Google Patents

애플릿 실행 장치 및 방법 Download PDF

Info

Publication number
KR20040049488A
KR20040049488A KR1020020077280A KR20020077280A KR20040049488A KR 20040049488 A KR20040049488 A KR 20040049488A KR 1020020077280 A KR1020020077280 A KR 1020020077280A KR 20020077280 A KR20020077280 A KR 20020077280A KR 20040049488 A KR20040049488 A KR 20040049488A
Authority
KR
South Korea
Prior art keywords
applet
virtual machine
application manager
markup document
state
Prior art date
Application number
KR1020020077280A
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 KR1020020077280A priority Critical patent/KR20040049488A/ko
Priority to PCT/KR2003/002632 priority patent/WO2004053719A1/en
Priority to TW092133989A priority patent/TWI234093B/zh
Priority to CNB2003801047344A priority patent/CN100437552C/zh
Priority to JP2004558516A priority patent/JP2006509300A/ja
Priority to MYPI20034616A priority patent/MY136893A/en
Priority to AU2003283852A priority patent/AU2003283852A1/en
Priority to US10/728,097 priority patent/US20040158830A1/en
Publication of KR20040049488A publication Critical patent/KR20040049488A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 인터렉티브 콘텐츠를 재생하는 재생장치에 있어서 마크업 문서에 연결된 애플릿을 실행시키는 장치 및 방법에 관한 것이다. 그 애플릿 실행 방법은 (a)애플리케이션 매니저가 애플릿 실행을 요청받는 단계; (b)상기 애플리케이션 매니저가 상기 애플릿이 바운드 애플릿인지 언바운드 애플릿인지 애플릿 종류를 판별하는 단계; (c)상기 애플리케이션 매니저가 메모리에 저장된 상기 애플릿을 버추얼 머쉰에 로딩하는 단계; 및 (d) 상기 (b)단계에서의 판별 결과, 상기 애플릿이 언바운드 애플릿이면, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하는 단계; (e)상기 애플릿이 초기(Init) 상태가 된 직후, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 단계를 포함한다.
본 발명에 따른 애플릿 실행 장치 및 방법은, 애플릿의 종류를 나누고 각각의 라이프 사이클을 달리 정의하여 애플릿의 기능을 확장시키고, 특히 마크업 문서의 전환 여부와 무관하게 계속적으로 동작하는 애플릿을 제공한다.

Description

애플릿 실행 장치 및 방법{Apparatus and method for executing an applet}
본 발명은 애플릿 실행 장치 및 방법에 관한 것으로서, 특히 인터렉티브 콘텐츠를 재생하는 재생장치에 있어서 인터렉티브 기능을 지원하기 위한 마크업 문서에 연결된 애플릿을 실행시키는 장치 및 방법에 관한 것이다.
인터렉티브 콘텐츠란 정보기록매체 예컨대, 인터렉티브 DVD에 Audio/Video 데이터(이하, AV 데이터라 함) 및 인터렉티브 기능을 지원하기 위한 마크업 문서가 함께 저장된 데이터를 말한다. 마크업 문서는 HTML(Hyper Text Markup Language)이나 XML(eXtended Markup Language) 등의 마크업 언어로 작성된 문서를 말한다.
인터랙티브-DVD에 기록된 AV 데이터는 일반 DVD-Video와 동일한 방식으로 재생될 수도 있으며, 브라우저(browser)를 통해 AV 데이터가 재생되어 표시되는 AV 화면이 마크업 문서에 정의된 표시창에 매립되어 마크업 문서와 함께 디스플레이될 수도 있다. 후자가 인터렉티브 기능이 지원되는 경우이다. 인터렉티브 기능은 예를 들면, AV 데이터가 영화 타이틀일 경우 표시창의 한편에서는 영화가 상영되고 다른 한편에는 영화의 자막이 디스플레이되고 또 다른 한편에는 예고편을 광고하는정지영상 등 다양한 인터렉티브 컨텐츠가 표시되는 등이 있다.
한편, 마크업 문서에는 애플릿(applet)이 연결되어 있으며, 애플릿에 의해 다양한 인터렉티브 기능이 구현된다.
애플릿이란 작은 응용프로그램을 의미한다. 월드와이드웹(World Wide Web) 상에서는 자바(Java)와 같은 객체지향 프로그래밍 언어를 써서 웹 페이지 즉, 마크업 문서와 함께 사용자측으로 보내질 수 있도록 작게 만든 프로그램을 애플릿이라고 부른다. 자바 애플릿은 애니메이션이나, 간단한 계산 그리고 사용자가 서버에 별도의 요청을 하지 않고서도 수행할 수 있는 간단한 작업들을 수행할 수 있다.
종래에는 모든 애플릿들이 연결된 마크업 문서에 종속적이어서 마크업 문서가 언로드(unload)되고 다른 문서로 전환되면, 마크업 문서에 연결된 애플릿들도 동작을 중단해야 했으며, 사용자에 의해 마크업 문서가 다시 호출되어 화면으로 출력되면 연결된 애플릿들도 다시 동작을 하였다.
따라서 본 발명이 이루고자 하는 기술적 과제는, 마크업 문서에 종속적인 애플릿과 함께 마크업 문서에 종속적이지 아니한 애플릿을 실행하는 장치 및 방법을 제공하는데 있다.
도 1은 인터렉티브 콘텐츠를 재생하기 위한 시스템을 설명하기 위한 블록도,
도 2는 브라우저를 통해 AV 화면과 마크업 문서 화면이 함께 디스플레이되는 것을 나타내는 도면,
도 3은 콘텐츠 저장매체에 저장된 데이터의 디렉토리 구조를 보여주기 위한 도면,
도 4는 브라우저를 통해 화면에 출력되는 마크업 문서의 구성요소들을 나타내는 도면,
도 5는 도 1에 도시된 인터렉티브 콘텐츠 재생장치의 상세 구성을 설명하기 위한 블록도,
도 6은 도 5에 도시된 프리젠테이션 엔진의 상세 구성을 설명하기 위한 블록도,
도 7은 도 6에 도시된 JVM의 상세 구성을 설명하기 위한 블록도,
도 8은 도 6에 도시된 브라우져의 상세 구성을 설명하기 위한 블록도,
도 9는 JVM, 브라우져 및 애플리케이션 메니저간의 상호 동작을 나타내는 도면,
도 10은 바운드 애플릿의 라이프 사이클을 나타내는 도면,
도 11은 언바운드 애플릿의 라이프 사이클을 나타내는 도면,
도 12는 본 발명에 따른 애플릿 실행 방법을 설명하기 위한 흐름도,
도 13a 내지 도 13e는 본 발명에 따른 바운드 애플릿과 언바운드 애플릿의 예를 나타내는 도면이다.
상기 과제를 이루기 위해, 본 발명에 의한 애플릿 실행 장치는,
외부로부터 입력된 마크업 문서를 저장하는 메모리; 애프릿을 실행하는 버추얼 머쉰; 상기 메모리로부터 상기 마크업 문서를 입력받아, 상기 마크업 문서에 포함된 상기 마크업 문서와 연관된 애플릿에 관한 정보를 출력하는 브라우져; 및
상기 브라우져로부터 상기 애플릿에 관한 정보를 입력받아 상기 애플릿을 외부로부터 가져와 상기 메모리에 저장하도록 제어하고, 상기 브라우져로부터 상기 메모리에 저장된 상기 애플릿의 실행을 요청받아, 상기 메모리에 저장된 상기 애플릿을 상기 버추얼 머쉰에 로딩하고, 상기 애플릿이 바운드 애플릿인지 언바운드 애플릿인지 상기 애플릿의 종류를 판별하여, 상기 애플릿이 언바운드 애플릿이면, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하고, 상기 애플릿이 초기(Init) 상태가 된 직후, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 애플리케이션 매니저를 포함한다.
상기 과제를 이루기 위해, 본 발명에 의한 애플릿 실행 방법은,
(a) 애플리케이션 매니저가 애플릿 실행을 요청받는 단계; (b) 상기 애플리케이션 매니저가 상기 애플릿이 바운드 애플릿인지 언바운드 애플릿인지 애플릿 종류를 판별하는 단계; (c) 상기 애플리케이션 매니저가 메모리에 저장된 상기 애플릿을 버추얼 머쉰에 로딩하는 단계; 및 (d) 상기 (b)단계에서의 판별 결과, 상기 애플릿이 언바운드 애플릿이면, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하는 단계; (e) 상기 애플릿이 초기(Init) 상태가 된 직후, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 단계를 포함한다.
이하, 첨부된 도면들을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다.
도 1은 인터렉티브 콘텐츠를 재생하기 위한 시스템을 설명하기 위한 블록도이다. 도 1을 참조하면 인터렉티브 콘텐츠를 재생하기 위한 시스템은 콘텐츠 저장매체(100), 인터렉티브 콘텐츠 재생장치(200), 디스플레이부(300), 리모콘(400) 및 인터넷(500)을 포함한다.
콘텐츠 저장매체(100)는 인터렉티브 콘텐츠를 저장하는 매체로서 예컨대 인터렉티브 DVD가 있다. 인터렉티브 DVD는 AV 데이터, 마크업 문서 데이터 및 기타 데이터를 저장한다.
도 3은 콘텐츠 저장매체(100)에 저장된 데이터의 디렉토리 구조를 보여주기 위한 도면으로서, AV 데이터를 저장하는 VIDEO_TS 디렉토리, 마크업 문서 데이터 등의 인터렉티브 기능을 지원하는 데이터가 저장된 DVD_ENAV 디렉토리 및 기타 파일의 구조를 가지고 있다.
인터렉티브 콘텐츠 재생장치(200)는 콘텐츠 저장매체(100)에 기록된 AV 데이터를 일반적인 방식으로 재생할 수도 있으며, 도 2에 도시된 바와 같이 브라우저를 통해 AV 데이터가 재생되어 표시되는 AV 화면이 마크업 문서에 정의된 마크업 문서 화면에 매립되어 마크업 문서와 함께 디스플레이할 수도 있다.
또한 인터렉티브 콘텐츠 재생장치(200)는 인터넷(500)과 같은 네트워크를 통해 인터렉티브 콘텐츠를 제공받아 재생할 수도 있다. 예를 들면, 인터렉티브 콘텐츠 재생장치(200)를 이용하여 인터넷(500)을 통해 온라인 게임을 즐기는 경우이다.
도 4는 브라우저를 통해 화면에 출력되는 마크업 문서의 구성요소들을 나타내는 도면이다. 마크업 문서를 구성하는 요소로는 마크업 문서와 연결된 다수의 애프릿들, GIF, JPEG과 같은 정지영상 및 프레임이 있다.
도 5는 도 1에 도시된 인터렉티브 콘텐츠 재생장치(200)의 상세 구성을 설명하기 위한 블록도이다.
도 5를 참조하면 인터렉티브 콘텐츠 재생장치(200)는 리더(reader)(210), 버퍼 메모리(220), 캐쉬 메모리(230), 디코더(240), 프리젠테이션 엔진(250), 네트워크 데이터 트랜시버(260) 및 블렌더(270)를 포함한다.
리더(210)는 픽업부(도시되지 않음)를 구비하여 콘텐츠 저장매체(100)로부터 데이터를 독출하여 버퍼 메모리(220)로 AV데이터를 출력하고, 캐쉬메모리(230)로는 인터렉티브 기능에 관련된 마크업 문서 데이터 및 연관된 애플릿 등의 데이터를 출력한다.
디코더(240)는 AV데이터를 입력받아 복호화한다. 예컨대, MPEG방식으로 부호화된 비디오 데이터를 복호화하거나 MPEG, AC3 등의 방식으로 부호화된 오디오 데이터를 복호화한다.
프리젠테이션 엔진(250)은 마크업 문서 등의 데이터를 입력받아 마크업 문서를 해석하여 블렌더(270)로 출력한다. 또한 리모콘(400)을 통해 사용자로부터 입력 UOP(User OPeration)을 받아 인터렉티브한 기능을 수행한다. UOP는 예컨대 사용자가 리모콘을 통해 재생, 재생 정지, 재생 일시 정지 등의 재생에 관한 명령과 그 외 인터렉티브 콘텐츠의 재생중에 필요한 네비게이션 키 입력 등에 관한 명령을 포함한다.
네트워크 데이터 트랜시버(260)는 인터넷(500)을 통해 원격지 서버(도시되지 않음)와의 통신을 수행한다.
도 6은 도 5에 도시된 프리젠테이션 엔진(250)의 상세 구성을 설명하기 위한 블록도이다. 도 6을 참조하면, 프리젠테이션 엔진(250)은 JVM(251), 부라우져(253) 및 애플리케이션 메니저(255)를 포함한다.
JVM(251)은 자바 버추얼 머쉰(Java Virtual Machine)을 말한다. JVM(251)은 마크업 문서에 연결된 자바 애플릿을 실행한다. 물론, 다른 프로그램 방식에 의한 애플릿을 실행하는 버추얼 머쉰도 가능하다. 본 실시예에서는 자바 애플릿과 자바 버추얼 머쉰을 예로 하여 설명한다.
부라우져(253)는 마크업 문서를 디스플레이 장치(300)를 통해 디스플레이한다.
애플리케이션 메니저(255)는 JVM(251) 및 부라우져(253)와 같은 애플리케이션의 동작을 관리한다. 애플리케이션 메니저(255)는 독립적인 메니징 프로그램일 수도 있으며 오퍼레이팅 시스템(Operating System:OS)의 일부로 구현될 수도 있다.
도 7은 도 6에 도시된 JVM(251)의 상세 구성을 설명하기 위한 블록도이다. 도 7을 참조하면, JVM(251)은 컴파일러(251a), 인터프리터(251b) 및 런타임 시스템(251c)을 포함한다.
자바 프로그래밍 언어로 작성된 프로그램 즉, 자바 애플릿은 바이트 코드(byte code) 형태로 컴파일러(251a) 또는 인터프리터(251b)에 입력되고 컴파일러(251a) 또는 인터프리터(251b)에서 바이트 코드가 컴파일링 또는 인터프리팅되어 기계어 명령들이 런타임 시스템(251c)으로 출력되어, 런타임 시스템(251c)은 자바 애플릿을 실행시킨다.
버추얼 머쉬, 특히 자바 버추얼 머쉰(JVM)(251)에 대한 상세한 설명은 "The Java Virtual Machine Specification"(Time Lindholm and Frank Yellin, ISBN 0-201-63452-X)에 기술되어 있다.
도 8은 도 6에 도시된 브라우져(253)의 상세 구성을 설명하기 위한 블록도이다. 도 8을 참조하면, 브라우져(253)는 HTML 파서(253a), CSS 파서(253b), DOM트리 형성부(253c), 프리젠테이션방식 결정부(253d), 스크립트 인터프리터(253e), UI 제어부(253f) 및 레이아웃 포맷터(253g)로 구성된다.
HTML 파서(253a)는 HTML형식의 마크업 문서 데이터를 입력받은 경우에 문서가 HTML 문법에 부합하는지 여부를 검증하는 기능을 수행한다.
CSS 파서(253b)는 마크업 문서 데이터가 색상, 폰트 등에 관한 디스플레이 규칙에 부합하는지 여부를 검증하는 기능을 수행한다.
DOM(Document Object Model) 트리(Tree) 형성부(253c)는 마크업 문서 데이터를 구조화하는 기능을 수행한다. 즉, 마크업 문서의 헤드부분과 보디부분으로 구분하고, 헤드부분은 다시 타이틀과 스크립트 태그부분으로 구분 등을 하여 마크업 문서 데이터를 트리 형식으로 분류하여 데이터를 구조화한다. 돔 트리 형성부(253c)에서의 구조화 과정에 의해 마크업 문서에 연결된 애플릿이 무엇인지 어디에 저장되었는지 등에 관한 정보가 추출된다.
프리젠테이션방식 결정부(253d)는 색상, 폰트 등의 디스플레이 방식을 결정하는 기능을 수행한다.
스크립트 인터프리터(253e)는 돔 트리 형성부(253c)로부터 추출된 스크립터(scriptor)를 입력받아 스크립터를 해석하여 소정 명령을 수행한다. 스크립터는 스크립트 언어로 작성된 일종의 명령 프로그램이다.
UI 제어부(253f)는 사용자와의 인터페이싱을 제어한다.
레이아웃 포맷터(253g)는 마크업 문서의 각 태그에 표시된 레이아웃정보에 따라 화면에서의 레이아웃포맷을 결정하여 블렌더(270)로 출력한다.
본 발명에서는 종래의 애플릿의 기능을 확장하여 새로운 애플릿을 제안한다. 애플릿을 바운드 애플릿(bound applet)과 언바운드 애플릿(unbound applet)으로 종류를 나눈다.
바운드 애플릿(bound applet)은 종래와 동일한 애플릿이다. 즉, 마크업 문서의 소정 태그에 정의되어 있으며 마크업 문서에 종속적이다.
언바운드 애플릿(unbound applet)은 최초 실행시에는 소정의 마크업 문서에 정의된 바에 따라 실행되지만 실행된 후에는 그 마크업 문서와는 독립적으로 동작한다. 따라서 언바운드 애플릿의 실행이 정의된 마크업 문서가 언로드(unload)되더라도 이와 무관하게 계속 JVM(251)에서 실행된다. 언바운드 애플릿의 라이프 사이클은 애플리케이션 메니저(255)에 의해 제어된다.
도 9는 JVM(251), 브라우져(253) 및 애플리케이션 메니저(255)간의 상호 동작을 나타내는 도면이다.
XHTML 애플릿은 일종의 언바운드 애플릿이다. 그러나 XHTML 애플릿은 다른 언바운드 애플릿과는 다른 특성을 가진다. 즉, 다른 언바운드 애플릿은 콘텐츠 저장매체(100)나 원격지의 콘텐츠 저장매체(도시되지 않음)로부터 콘텐츠 재생장치(200)로 가져오는데 비해 XHTML 애플릿은 콘텐츠 재생장치(200)내의 메모리로부터 가져온다. 즉 XHTML 애플릿은 콘텐츠 재생장치(200)내의 메모리에 미리 저장되어 있던 애플릿이다.
XHTML 애플릿은 JVM(251) 초기화 단계에서 실행된다. XHTML 애플릿은 다른 바운드 애플릿 또는 언바운드 애플릿이 마크업 문서의 돔 트리 구조에 억세스하기 위한 인터페이스 기능을 수행한다.
브라우져(253)는 바운드 애플릿들의 이벤트를 애플리케이션 메니저(255)로 통지하고, JVM(251)은 언바운드 애플릿들의 이벤트를 애플리케이션 메니저(255)로 통지한다. JVM(251)으로부터 언바운드 애플릿들의 이벤트를 통지받은 애플리케이션 메니저(255)는 해당 언바운드 애플릿의 라이프 사이클을 제어한다.
따라서 언바운드 애플릿은 마크업 문서와 무관하게 JVM(251)에서 실행되고 언바운드 애플릿 자체에 정의된 명령에 따라 실행을 중단하는 경우에는 이를 JVM(251)이 애플리케이션 메니저(255)로 통지하고, 애플리케이션 메니저(255)는언바운드 애플릿의 실행을 중지하거나 메모리에서 삭제할 것을 JVM(251)으로 통지한다.
도 10은 바운드 애플릿의 라이프 사이클을 나타내는 도면이다.
자바 애플릿의 상태는 보통 4, 5개 상태로 정의된다. 본 실시예에서는Init, Start, Stop, Destroy의 4가지 상태에 대해 설명한다.
먼저, 콘텐츠 저장매체(100) 또는 인터넷(500)을 통해 입력된 마크업문서는 캐시메모리(230)에 저장된다. 캐시메모리(230)에 저장된 마크업 문서가 프리젠테이션 엔진(250)으로 입력되어 파싱된 후, 브라우저(253)에 의해 돔 트리 구조가 형성된다. 브라우저(253)는 마크업 문서 내의 소정 태그 내에 기재된 애플릿에 관한 정보를 애플리케이션 메니저(255)로 전송하여 애플릿 실행을 요청한다. 애플리케이션 메니저(255)는 브라우져(253)로부터 수신한 애플릿에 관한 정보에 따라 마크업 문서와 연결된 애플릿을 콘텐츠 저장매체(100) 또는 인터넷(500)으로부터 가져와 캐시메모리(230)에 저장한다.
바운드 애플릿을 실행(launching)하는 방법은 다수가 있을 수 있으나 본 실시예에서는 두 가지를 설명한다.
첫째, 마크업 문서 내의 오브젝트(object) 태그에 의해 실행하는 방법이다. 다음은 바운드 애플릿을 정의한 오브젝트(object) 태그의 예이다.
<object code="my_applet.class" codebase="dvd://intdisc/"archive="my_applet.jar" codetype="application/java"><param name="first_parm" value="one"/><param name="second_parm" value="two"/></object>
"my_applet.jar"라는 archive내의 "my_applet.class"라는 바운드 애플릿을 정의하고 있다.
둘째, ADF(Applet Description File) 파일에 의한 방법이다. 이 방법은 바운드 애플릿이 여러 개의 마크업 문서에 종속적인 경우에 사용한다. ADF 파일에 의해 실행되는 바운드 애플릿을 플러그 인(Plug-in) 애플릿이라고 한다.
다음은 플러그 인 애플릿을 정의한 ADF 파일의 예이다.
<adf code="flash4.class" codebase="dvd://intdisc/"archive="flash4dec.jar" codetype="application/java"plugin="yes"mimetype="application/x-shockwave-flash" version="4.0"><param name="first_parm" value="one"/><param name="second_parm" value="two"/></adf>
후술하겠지만 언바운드 애플릿도 ADF 파일에 의해 정의되어 실행된다. 언바운드 애플릿에 관한 ADF 파일인가 바운드 애플릿에 관한 ADF 파일인가는 "plugin="yes""라는 정보에 의해 구별된다. "plugin="yes""이면 바운드 애플릿임을 나타낸다.
애플리케이션 메니저(255)는 브라우져(253)로부터 전술한 바와 같은 오브젝트 태그나 ADF 파일을 받아 애플릿이 바운드 애플릿인지 언바운드 애플릿인지를 판단한 후, 애플릿을 실행시킨다.
전술한 바와 같이 애플리케이션 메니저(255)는 마크업 문서내의 오브젝트 태그 또는 ADF 파일을 해석하여 마크업 문서에 연결된 바운드 애플릿을 콘텐츠 저장매체(100) 또는 인터넷(500)으로부터 가져와 캐시메모리(230)에 로딩한다.
그 후, 브라우저(253)는 마크업 문서의 돔 트리 구조 형성이 종료되었음을 애플리케이션 메니저(255)로 통지한다. 애플리케이션 메니저(255)는 JVM(251)으로 init()함수를 호출할 것을 통지한다. JVM(251)이 바운드 애플릿 프로그램 내의 init()함수를 호출하면 바운드 애플릿은 Init 상태가 된다.
Init 상태가 된 후, 애플리케이션 매니저(255)는 마크업 문서가 브라우져(253)에 의해 렌더링 중에 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의 start()함수를 호출하면 바운드 애플릿은 스타트(Start) 상태가 된다.
그 후 마크업 문서의 언로드 이벤트가 발생하여 브라우져(253)에서 마크업 문서가 언로드되면 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의 stop()함수를 호출하면 바운드 애플릿은 스탑(Stop) 상태가 된다.
만약 마크업 문서가 다시 사용자에 의해 재방문되어 화면에 디스플레이되면 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의 start()함수를 호출하여 바운드 애플릿은 다시 스타트(Start) 상태로 되고 언로드 이벤트 발생하면 다시 스탑(Stop) 상태가 된다.
바운드 애플릿이 메모리 관리 정책에 따라 런타임 시스템(251c)에서 삭제되려면, JVM(251)은 삭제시키기 전에 바운드 애플릿 프로그램 내의 destroy()함수를 호출하여 바운드 애플릿이 디스트로이(Destroy) 상태가 되게 한 후, 런타임 시스템에서 삭제한다.
도 11은 언바운드 애플릿의 라이프 사이클을 나타내는 도면이다.
언바운드 애플릿의 상태도 바운드 애프릿과 같이 Init, Start, Stop, Destroy의 4가지 상태를 가진다.
언바운드 애플릿을 실행(launching)하는 방법은 다수가 있을 수 있으나 본 실시예에서는 그 중 ADF(Applet Description File) 파일에 의한 방법을 설명한다.
마크업 문서 내의 오브젝트(object) 태그에 언바운드 애플릿을 정의한 ADF파일이 정의되어 있다. 다음은 ADF 파일이 정의된 오브젝트 태그의 예이다.
<object data="dvd://intdisc/my_applet.apm"type="application/apm" style="display:none;"></object>
상기 오브젝트 태그를 보면 "my_applet.apm"이 언바운드 애플릿이 정의된 ADF 파일을 나타낸다.
다음은 언바운드 애플릿을 정의한 ADF 파일의 예이다.
<adf code="my_applet.class" codebase="dvd://intdisc/"archive="my_applet.jar" codetype="application/java"><param name="first_parm" value="one"/><param name="second_parm" value="two"/></adf>
"plugin="yes""라는 정보가 없으므로 애플리케이션 메니저(255)는 상기 ADF 파일이 "my_applet.class"라는 이름의 언바운드 애플릿을 정의하는 것임을 알 수 있다. ADF 파일에 정의된 바에 따라 애플리케이션 메니저(255)는 "my_applet.class"라는 언바운드 애플릿을 콘텐츠 저장매체(100) 또는 인터넷(500)으로부터 가져와 캐시메모리(230)에 로딩한다.
캐시메모리(230)에 로딩된 후, 바운드 애플릿과는 달리 돔 트리 구조의 형성이 종료할 때까지 대기하는 등의 어떠한 동기화 등을 필요로 하지 않고 언바운드 애플릿이 캐시메모리(230)에 로딩되면 곧 애플리케이션 메니저(255)는 JVM(251)으로 init()함수를 호출할 것을 통지한다. JVM(251)이 언바운드 애플릿 프로그램 내의 init()함수를 호출하면 언바운드 애플릿은 Init 상태가 된다.
Init 상태가 된 즉시, 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 언바운드 애플릿 프로그램 내의 start()함수를 호출하면 언바운드 애플릿은 스타트(Start) 상태가 된다.
언바운드 애플릿은 바운드 애플릿과는 달리 연결된 마크업 문서의 언로딩 여부에 관계없이 계속 JVM(251)에서 실행된다. 언바운드 애플릿은 자체에 프로그램된 바에 따라 프로그램 실행 중단을 명령하는 이벤트가 발생하면 자체적으로 실행을 중단한다.
프로그램 실행 중단을 명령하는 이벤트가 발생하면 JVM(251)이 애플리케이션 매니저(255)로 통지하고, 애플리케이션 매니저(255)는 JVM(251)으로 stop()함수를 호출하도록 다시 통지하면, JVM(251)이 언바운드 애플릿 프로그램 내의 stop()함수를 호출하여 언바운드 애플릿은 스탑(Stop) 상태가 된다.
언바운드 애플릿이 메모리 관리 정책에 따라 런타임 시스템(251c)에서 삭제되려면, JVM(251)은 삭제시키기 전에 언바운드 애플릿 프로그램 내의 destroy()함수를 호출하여 언바운드 애플릿을 디스트로이(Destroy) 상태로 만든 후, 언바운드 애플릿을 런타임 시스템(251c)에서 삭제한다.
이하에서는 도면을 참조하여 본 발명에 따른 애플릿 실행 방법을 설명한다.
도 12는 본 발명에 따른 애플릿 실행 방법을 설명하기 위한 흐름도이다.
애플리케이션 메니저(255)는 브라우저(253)로부터 마크업 문서 내의 소정 태그 내에 기재된 애플릿에 관한 정보 및/또는 ADF 파일을 수신하여 애플릿 실행 요청을 접수한다(제710 단계).
애플리케이션 메니저(255)는 브라우져(253)로부터 전술한 바와 같은 오브젝트 태그나 ADF 파일을 받아 애플릿이 바운드 애플릿인지 언바운드 애플릿인지를 판단한다(제720 단계).
제720 단계에서의 판단결과, 애플릿이 바운드 애플릿이면 애플리케이션 메니저(255)는 마크업 문서내의 오브젝트 태그 또는 ADF 파일에 정의된 바운드 애플릿을 콘텐츠 저장매체(100) 또는 인터넷(500)으로부터 가져와 캐시메모리(230)에 로딩한다(제731 단계).
브라우저(253)는 마크업 문서의 돔 트리 구조 형성이 종료되었음을 애플리케이션 메니저(255)로 통지하고, 애플리케이션 메니저(255)는 JVM(251)으로 init()함수를 호출할 것을 통지한다. JVM(251)이 바운드 애플릿 프로그램 내의 init()함수를 호출하면 바운드 애플릿은 Init 상태가 된다(제732 단계).
Init 상태가 된 후, 애플리케이션 매니저(255)는 마크업 문서가 브라우져(253)에 의해 렌더링 중에 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의 start()함수를 호출하면 바운드 애플릿은 스타트(Start) 상태가 된다(제733 단계).
그 후 마크업 문서의 언로드 이벤트가 발생하여 브라우져(253)에서 마크업 문서가 언로드되면 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의 stop()함수를 호출하면 바운드 애플릿은 스탑(Stop) 상태가 된다(제734 단계).
스탑(Stop) 상태중에 애플리케이션 매니저(255)는 마크업 문서가 다시 사용자에 의해 재방문되어 다시 화면에 디스플레이되면(제735 단계) 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 바운드 애플릿 프로그램 내의start()함수를 호출하여 바운드 애플릿은 다시 스타트(Start) 상태로 된다.
그러나 스탑(Stop) 상태중에 바운드 애플릿이 메모리 관리 정책에 따라 런타임 시스템(251c)에서 삭제되려면, JVM(251)은 삭제시키기 전에 바운드 애플릿 프로그램 내의 destroy()함수를 호출하여 바운드 애플릿을 디스트로이(Destroy) 상태로 만든다(제736 단계). 바운드 애플릿을 디스트로이(Destroy) 상태로 만든 후, 바운드 애플릿을 런타임 시스템(251c)에서 삭제한다.
한편, 제720 단계에서의 판단결과, 애플릿이 언바운드 애플릿이면 애플리케이션 메니저(255)는 ADF 파일에 정의된 언바운드 애플릿을 콘텐츠 저장매체(100) 또는 인터넷(500)으로부터 가져와 캐시메모리(230)에 로딩한다(제741 단계).
캐시메모리(230)에 해당 언바운드 애플릿이 로딩되면 애플리케이션 메니저(255)는 JVM(251)으로 init()함수를 호출할 것을 통지한다. JVM(251)이 언바운드 애플릿 프로그램 내의 init()함수를 호출하면 언바운드 애플릿은 Init 상태가 된다(제742 단계).
Init 상태가 된 후, 즉시 애플리케이션 매니저(255)는 JVM(251)으로 통지하여 JVM(251)이 언바운드 애플릿 프로그램 내의 start()함수를 호출하면 언바운드 애플릿은 스타트(Start) 상태가 된다(제743 단계).
언바운드 애플릿의 실행 중단을 명령하는 이벤트가 발생하면 JVM(251)이 애플리케이션 매니저(255)로 통지하고, 애플리케이션 매니저(255)는 JVM(251)으로 stop()함수를 호출하도록 다시 통지하면, JVM(251)이 언바운드 애플릿 프로그램 내의 stop()함수를 호출하여 언바운드 애플릿은 스탑(Stop) 상태가 된다(제744단계).
언바운드 애플릿이 메모리 관리 정책에 따라 런타임 시스템(251c)에서 삭제되려면, JVM(251)은 삭제시키기 전에 언바운드 애플릿 프로그램 내의 destroy()함수를 호출하여 언바운드 애플릿을 디스트로이(Destroy) 상태로 만든다(제746 단계). 언바운드 애플릿을 디스트로이(Destroy) 상태로 만든 후, 언바운드 애플릿을 런타임 시스템(251c)에서 삭제한다.
도 13a 내지 도 13e는 본 발명에 따른 바운드 애플릿과 언바운드 애플릿의 예를 나타내는 도면이다.
도 13a는 마크업 문서를 나타낸다. 마크업 문서에는 "Movie", "Commentary" 및 "Feature"의 세 버튼(button)이 있다. 사용자가 아이콘을 "Movie" 버튼에 위치시키면 마크업 문서의 하단에 바운드 애플릿의 형태로 구현된 "Play "Return of Mozart""라는 메시지가 뜬다.
도 13b는 사용자가 "Movie" 버튼을 클릭한 경우에 언바운드 애플릿으로 구현된 화면이 디스플레이된 것을 나타내는 도면이다.
도 13c는 사용자가 다시 도 13a에 도시된 마크업 문서로 되돌아와 "Commentary" 버튼을 클릭한 경우에 언바운드 애플릿으로 구현된 화면이 디스플레이된 것을 나타내는 도면이다.
도 13d는 사용자가 다시 도 13a에 도시된 마크업 문서로 되돌아와 "Feature" 버튼을 클릭한 경우에 언바운드 애플릿으로 구현된 화면이 디스플레이된 것을 나타내는 도면이다.
도 13b 내지 도 13d에 도시된 언바운드 애플릿들은 마크업 문서와 독립적으로 JVM(251)에서 실행된다. 도 13a에 도시된 마크업 문서는 브라우저(253)에 의해 실행된다.
도 13e는 도 13a의 마크업 문서 및 도 13b 내지 도 13d의 언바운드 애플릿들이 동시에 실행되고 있음을 나타내는 도면이다. 즉, 도 13b 내지 도 13d에 도시된 바와 같은 화면을 언바운드 애플릿으로 구현함으로써 이들 다수의 언바운드 애플릿들을 마크업 문서와 무관하게 JVM(251)에서 계속적으로 실행시킬 수 있게되고 따라서 사용자가 원하는 경우에는 즉시 화면으로 출력할 수 있게 된다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광데이터 저장 장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.
이상에서 설명한 바와 같이, 본 발명에 따른 애플릿 실행 장치 및 방법은, 애플릿을 마크업 문서에 종속적인 바운드 애플릿과 마크업 문서에 종속적이지 않은 언바운드 애플릿으로 종류를 나누고 각각의 라이프 사이클을 달리 정의하여 애플릿의 기능을 확장시키고, 특히 언바운드 애플릿을 새로이 정의함으로써 마크업 문서의 전환 여부와 무관하게 계속 동작하는 애플릿을 제공하는 효과를 가진다.

Claims (9)

  1. (a) 애플리케이션 매니저가 애플릿 실행을 요청받는 단계;
    (b) 상기 애플리케이션 매니저가 상기 애플릿이 바운드 애플릿인지 언바운드 애플릿인지 애플릿 종류를 판별하는 단계;
    (c) 상기 애플리케이션 매니저가 메모리에 저장된 상기 애플릿을 버추얼 머쉰에 로딩하는 단계; 및
    (d) 상기 (b)단계에서의 판별 결과, 상기 애플릿이 언바운드 애플릿이면, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하는 단계;
    (e) 상기 애플릿이 초기(Init) 상태가 된 직후, 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 단계;를 포함하는 것을 특징으로 하는 애플릿 실행 방법.
  2. 제1 항에 있어서,
    (f) 상기 애플릿이 종료하면 상기 버추얼 머쉰이 상기 애플리케이션 매니저에게 종료를 통지하고, 상기 애플리케이션 매니저는 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스탑(Stop) 상태가 되도록 제어하는 단계; 및
    (g) 상기 애플리케이션 매니저는 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 디스트로이(Destroy) 상태가 되도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 애플릿 실행 방법.
  3. 제1 항에 있어서,
    (h) 상기 (b)단계에서 애플릿 종류를 판별한 결과, 상기 애플릿이 바운드 애플릿이면, 상기 애플릿과 연결된 마크업 문서가 문법에 맞는 형태 구조임이 확인되면 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 애플릿 실행 방법
  4. 제3 항에 있어서,
    (i) 상기 마크업 문서가 브라우져에 의해 렌더링 중에 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 단계;
    (j) 상기 마크업 문서가 상기 브라우져에 의해 언로드되면 상기 애플리케이션 매니저가 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스탑(Stop) 상태가 되도록 제어하는 단계;
    (k) 상기 마크업 문서가 다시 디스플레이되면 상기 (i)단계 및 상기 (j)단계를 반복하는 단계; 및
    (l) 상기 애플리케이션 매니저는 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 디스트로이(Destroy) 상태가 되도록 제어하는 단계를 더 포함하는 것을 특징으로 하는 애플릿 실행 방법.
  5. 외부로부터 입력된 마크업 문서를 저장하는 메모리;
    애프릿을 실행하는 버추얼 머쉰;
    상기 메모리로부터 상기 마크업 문서를 입력받아, 상기 마크업 문서에 포함된 상기 마크업 문서와 연관된 애플릿에 관한 정보를 출력하는 브라우져; 및
    상기 브라우져로부터 상기 애플릿에 관한 정보를 입력받아 상기 애플릿을 외부로부터 가져와 상기 메모리에 저장하도록 제어하고, 상기 브라우져로부터 상기 메모리에 저장된 상기 애플릿의 실행을 요청받아, 상기 메모리에 저장된 상기 애플릿을 상기 버추얼 머쉰에 로딩하고, 상기 애플릿이 바운드 애플릿인지 언바운드 애플릿인지 상기 애플릿의 종류를 판별하여, 상기 애플릿이 언바운드 애플릿이면, 상기 자바 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하고, 상기 애플릿이 초기(Init) 상태가 된 직후, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하는 애플리케이션 매니저를 포함하는 것을 특징으로 하는 애플릿 실행 장치.
  6. 제5 항에 있어서,
    상기 애플리케이션 매니저는 상기 버추얼 머쉰으로부터 상기 애플릿이 종료되었음을 통지받은 경우에, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스탑(Stop) 상태가 되도록 제어하고, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 디스트로이(Destroy) 상태가 되도록 제어하는 것을 특징으로 하는 애플릿 실행 장치.
  7. 제5 항에 있어서,
    상기 애플리케이션 매니저는 상기 애플릿의 종류를 판별한 결과, 상기 애플릿이 바운드 애플릿이면, 상기 브라우저로부터 상기 애플릿과 연관된 상기 마크업 문서가 문법에 맞는 형태 구조임을 통지받으면, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 초기(Init) 상태가 되도록 제어하는 것을 특징으로 하는 애플릿 실행 장치.
  8. 제7 항에 있어서,
    상기 애플리케이션 매니저는 상기 마크업 문서가 상기 브라우져에 의해 렌더링 중에 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스타트(Start) 상태가 되도록 제어하고, 상기 마크업 문서가 상기 브라우져에 의해 언로드되면 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 스탑(Stop) 상태가 되도록 제어하고, 상기 마크업 문서가 다시 디스플레이되면 상기 애플릿이 상기 스타트(Start) 상태 및 상기 스탑(Stop) 상태가 되도록 제어하는 동작을 반복하고, 상기 버추얼 머쉰에게 통지하여 상기 애플릿이 디스트로이(Destroy) 상태가 되도록 제어하는 것을 특징으로하는 애플릿 실행 장치.
  9. 제1 항 내지 제4 항중 어느 한 항에 기재된 방법을 실현하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
KR1020020077280A 2002-12-06 2002-12-06 애플릿 실행 장치 및 방법 KR20040049488A (ko)

Priority Applications (8)

Application Number Priority Date Filing Date Title
KR1020020077280A KR20040049488A (ko) 2002-12-06 2002-12-06 애플릿 실행 장치 및 방법
PCT/KR2003/002632 WO2004053719A1 (en) 2002-12-06 2003-12-03 Managing metadata and system thereof
TW092133989A TWI234093B (en) 2002-12-06 2003-12-03 Apparatus and method for executing applet
CNB2003801047344A CN100437552C (zh) 2002-12-06 2003-12-03 执行标记文档applet的设备和方法
JP2004558516A JP2006509300A (ja) 2002-12-06 2003-12-03 アプレット実行装置及び方法
MYPI20034616A MY136893A (en) 2002-12-06 2003-12-03 Apparatus and method for executing applet
AU2003283852A AU2003283852A1 (en) 2002-12-06 2003-12-03 Managing metadata and system thereof
US10/728,097 US20040158830A1 (en) 2002-12-06 2003-12-05 Apparatus and method for executing applet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020077280A KR20040049488A (ko) 2002-12-06 2002-12-06 애플릿 실행 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20040049488A true KR20040049488A (ko) 2004-06-12

Family

ID=36165406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020077280A KR20040049488A (ko) 2002-12-06 2002-12-06 애플릿 실행 장치 및 방법

Country Status (8)

Country Link
US (1) US20040158830A1 (ko)
JP (1) JP2006509300A (ko)
KR (1) KR20040049488A (ko)
CN (1) CN100437552C (ko)
AU (1) AU2003283852A1 (ko)
MY (1) MY136893A (ko)
TW (1) TWI234093B (ko)
WO (1) WO2004053719A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040051285A (ko) * 2002-12-12 2004-06-18 삼성전자주식회사 애플릿이 링크된 마크업 문서의 디스플레이 방법 및 그시스템

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4506303B2 (ja) * 2003-08-29 2010-07-21 株式会社デンソー 電子制御装置
EP2178089B1 (en) * 2004-07-22 2018-09-05 Panasonic Intellectual Property Management Co., Ltd. Playback apparatus for performing application-synchronized playback
US7454434B1 (en) * 2004-10-04 2008-11-18 American Express Travel Related Services Company, Inc. System and method for stepped loading of web page content
CA2587997A1 (en) * 2004-12-02 2006-06-08 Shell Canada Limited Drilling fluid additive and method
EP1696321A1 (en) 2005-02-23 2006-08-30 Deutsche Thomson-Brandt Gmbh Method and apparatus for executing software applications
US7739696B2 (en) 2005-09-08 2010-06-15 Honeywell International Inc. Message translation systems and methods
WO2007049201A1 (en) * 2005-10-26 2007-05-03 Koninklijke Philips Electronics N.V. Method and apparatus for playing overlay graphics and text data
US8104034B2 (en) * 2005-11-30 2012-01-24 Red Hat, Inc. Purpose domain for in-kernel virtual machine for low overhead startup and low resource usage
US8612970B2 (en) * 2005-11-30 2013-12-17 Red Hat, Inc. Purpose domain for low overhead virtual machines
US8429629B2 (en) * 2005-11-30 2013-04-23 Red Hat, Inc. In-kernel virtual machine for low overhead startup and low resource usage
US7552439B2 (en) * 2006-03-28 2009-06-23 Honeywell International Inc. System and method to allow non-deterministic execution in a process control system
US8024790B2 (en) * 2007-04-11 2011-09-20 Trend Micro Incorporated Portable secured computing environment for performing online confidential transactions in untrusted computers
EP1988451A1 (en) 2007-05-04 2008-11-05 Deutsche Thomson OHG Method for generating a set of machine-interpretable instructions for presenting media content to a user
US8201246B1 (en) 2008-02-25 2012-06-12 Trend Micro Incorporated Preventing malicious codes from performing malicious actions in a computer system
US8307300B1 (en) 2008-05-13 2012-11-06 Google Inc. Content resizing and caching in multi-process browser architecture
WO2010106745A1 (ja) * 2009-03-16 2010-09-23 パナソニック株式会社 アプリケーション実行装置
US8479294B1 (en) 2011-02-15 2013-07-02 Trend Micro Incorporated Anti-malware scan management in high-availability virtualization environments
US8484732B1 (en) 2012-02-01 2013-07-09 Trend Micro Incorporated Protecting computers against virtual machine exploits
US8966632B1 (en) 2012-02-17 2015-02-24 Trend Micro Incorporated In-the-cloud sandbox for inspecting mobile applications for malicious content
US9300720B1 (en) 2013-05-21 2016-03-29 Trend Micro Incorporated Systems and methods for providing user inputs to remote mobile operating systems
US9225799B1 (en) 2013-05-21 2015-12-29 Trend Micro Incorporated Client-side rendering for virtual mobile infrastructure
US9444912B1 (en) 2013-05-21 2016-09-13 Trend Micro Incorporated Virtual mobile infrastructure for mobile devices
US9049169B1 (en) 2013-05-30 2015-06-02 Trend Micro Incorporated Mobile email protection for private computer networks
US9507617B1 (en) 2013-12-02 2016-11-29 Trend Micro Incorporated Inter-virtual machine communication using pseudo devices
US20180205994A1 (en) 2017-01-17 2018-07-19 Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd Collection and processing method for information as to viewing of videos by user and device and server using the same

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5802530A (en) * 1996-07-01 1998-09-01 Sun Microsystems, Inc. Web document based graphical user interface
GB2315140A (en) * 1996-07-11 1998-01-21 Ibm Multi-layered HTML documents
US5940834A (en) * 1997-03-13 1999-08-17 Mitel Corporation Automatic web page generator
US6526371B1 (en) * 1999-10-27 2003-02-25 Candle Distributed Solutions, Inc. Round trip response time measurement for computer programs
US6401134B1 (en) * 1997-07-25 2002-06-04 Sun Microsystems, Inc. Detachable java applets
US5964836A (en) * 1997-09-11 1999-10-12 International Business Machines Corporation Apparatus, methods and computer program products for managing web-page-embedded sessions with a host-based application
US6412021B1 (en) * 1998-02-26 2002-06-25 Sun Microsystems, Inc. Method and apparatus for performing user notification
WO1999060504A1 (en) * 1998-05-15 1999-11-25 Unicast Communications Corporation A technique for implementing browser-initiated network-distributed advertising and for interstitially displaying an advertisement
US6504554B1 (en) * 1998-09-01 2003-01-07 Microsoft Corporation Dynamic conversion of object-oriented programs to tag-based procedural code
EP1011042B1 (en) * 1998-11-30 2006-10-25 Sun Microsystems, Inc. Applet and application display in embedded systems using bufferless child graphics contexts
US6305012B1 (en) * 1998-12-03 2001-10-16 International Business Machines Corporation Method and apparatus for dynamic selection of instructions for compiling using tags
US6055942A (en) * 1998-12-11 2000-05-02 Romanak; Joseph Illuminated animal collar
US7216300B2 (en) * 1998-12-30 2007-05-08 Ncr Corp. Method and apparatus for an applet to display multiple windows
FR2793573B1 (fr) * 1999-05-11 2004-08-27 Julien Clausse Methode et systeme de creation de documents electroniques auto-publiants et adaptatifs
US6721713B1 (en) * 1999-05-27 2004-04-13 Andersen Consulting Llp Business alliance identification in a web architecture framework
US6874145B1 (en) * 1999-07-13 2005-03-29 Sun Microsystems, Inc. Methods and apparatus for implementing an application lifecycle design for applications
US6636863B1 (en) * 1999-09-13 2003-10-21 E. Lane Friesen System and method for generating persistence on the web
EP1113361A1 (en) * 2000-01-03 2001-07-04 Wimba.Com S.A. Process of communication between an applet and a local agent using a socket communication channel
US6704798B1 (en) * 2000-02-08 2004-03-09 Hewlett-Packard Development Company, L.P. Explicit server control of transcoding representation conversion at a proxy or client location
JP3490369B2 (ja) * 2000-02-15 2004-01-26 インターナショナル・ビジネス・マシーンズ・コーポレーション コンテンツ情報の取得方法、コラボレーション・システム及びコラボレーション・サーバー
US6874142B1 (en) * 2000-02-29 2005-03-29 Fujitsu Limited System and method for automatically setting applet latest version
US6910066B1 (en) * 2001-03-05 2005-06-21 Principal Financial Services, Inc. System, method, and apparatus for applet caching
US8166139B2 (en) * 2001-05-11 2012-04-24 Varia Holdings Llc Method and system for generating and sending a hot link associated with a user interface to a device
US7319863B2 (en) * 2001-05-11 2008-01-15 Wildseed, Ltd. Method and system for providing an opinion and aggregating opinions with mobile telecommunication device
AU2002335726A1 (en) * 2001-09-11 2003-03-24 Fx Alliance, Llc Method and apparatus for conducting financial transactions
US7246324B2 (en) * 2002-05-23 2007-07-17 Jpmorgan Chase Bank Method and system for data capture with hidden applets
US7209960B2 (en) * 2002-09-20 2007-04-24 Sun Microsystems, Inc. Loading and saving data from security sensitive applets to a local file system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040051285A (ko) * 2002-12-12 2004-06-18 삼성전자주식회사 애플릿이 링크된 마크업 문서의 디스플레이 방법 및 그시스템

Also Published As

Publication number Publication date
MY136893A (en) 2008-11-28
CN100437552C (zh) 2008-11-26
JP2006509300A (ja) 2006-03-16
WO2004053719A1 (en) 2004-06-24
TWI234093B (en) 2005-06-11
AU2003283852A1 (en) 2004-06-30
TW200411445A (en) 2004-07-01
US20040158830A1 (en) 2004-08-12
CN1720519A (zh) 2006-01-11

Similar Documents

Publication Publication Date Title
KR20040049488A (ko) 애플릿 실행 장치 및 방법
JP5074188B2 (ja) 動画再生及びプログラミング機能のためのマルチメディアデータを記録した記録媒体、その再生装置及び再生方法
US20030182627A1 (en) Reproducing method and apparatus for interactive mode using markup documents
US9002182B2 (en) Storage medium storing program management information, and reproducing method and apparatus
JP5254304B2 (ja) プログラム管理情報が記録された記録媒体、それを再生するための方法及びその装置
JP4194625B2 (ja) 動画で再生される複数個のタイトルが記録された情報記録媒体、その再生装置及び再生方法
US20040247294A1 (en) Information storage medium storing moving picture data and additional data, reproducing apparatus and method therefor
RU2316830C2 (ru) Способ и устройство для воспроизведения аудиовизуальных данных в интерактивном режиме и носитель информации для него
US20050120148A1 (en) Storage medium storing preloading data, and apparatus and method for reproducing information from storage medium
KR100636141B1 (ko) 프로그래밍 기능을 가진 어플리케이션을 기록한 저장매체, 재생 장치 및 그 재생 방법
KR101014665B1 (ko) 프리로드 정보가 기록된 정보저장매체, 그 재생장치 및재생방법
KR20060031750A (ko) 동영상 재생 및 프로그래밍 기능을 위한 멀티미디어데이터를 기록한 저장매체, 그 재생장치 및 재생방법
KR100544180B1 (ko) 마크업 문서를 사용하여 av 데이터를 인터랙티브 모드로 재생하는 장치
KR100561433B1 (ko) 프로그램 관리 정보가 기록된 저장 매체, 이를 재생하기위한 방법 및 그 장치
JP2006164509A (ja) 動画で再生される複数個のタイトルが記録された情報記録媒体、その再生装置及び再生方法
KR20050052928A (ko) 동영상 데이터 및 인터랙티브 컨텐츠를 재생하는 재생장치 및 그 재생 방법
KR100677115B1 (ko) 네트워크를 통해 다운로드된 데이터를 재생하는 재생장치, 재생 방법, 및 그 저장 매체
KR20050040968A (ko) 인터렉티브 정보저장매체의 재생을 위한 버퍼 메모리 관리장치, 관리 방법 및 그 정보저장매체
KR20060069733A (ko) 메모리 관리 테이블을 포함한 av 데이터 재생장치 및방법, 이에 사용되는 메모리 관리방법

Legal Events

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