KR20040058263A - 스케일러블 브라우저 - Google Patents

스케일러블 브라우저 Download PDF

Info

Publication number
KR20040058263A
KR20040058263A KR10-2004-7006629A KR20047006629A KR20040058263A KR 20040058263 A KR20040058263 A KR 20040058263A KR 20047006629 A KR20047006629 A KR 20047006629A KR 20040058263 A KR20040058263 A KR 20040058263A
Authority
KR
South Korea
Prior art keywords
program
browser
module
input
components
Prior art date
Application number
KR10-2004-7006629A
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 코닌클리케 필립스 일렉트로닉스 엔.브이.
Publication of KR20040058263A publication Critical patent/KR20040058263A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨터 프로그램은 컴퓨터(101)상에서 실행될 때 브라우저 프로그램(200)을 형성하고, 여기서 상기 프로그램은 프로그램 컴포넌트들(301,...,306)로 구성된 브라우저 구조(300)에 배열되고, 상기 브라우저 프로그램은 데이터 구조에 배열된 처리 컨텐트들에 배열된다. 확장 가능한 마크업 언어(XML)는 XML 태그에 의해 밀봉된 모듈들로 구성된다. 브라우저 구조의 각 프로그램 컴포넌트는 데이터 구조의 각 모듈과 매칭한다. XML 도큐먼트 레벨에서 임의의 기능의 통합 또는 제거는 아키텍쳐에서 소프트웨어 일부의 부가 또는 제거에 대응한다. 결과적으로, 리소스 제한 장치들은 공동 이용 가능하고 호환 가능한 방식으로 인터넷으로부터 정보를 액세스할 수 있다. 리소스는 관련 저장 능력 및 처리 전력을 제한하지만, 크기 등을 디스플레이한다.

Description

스케일러블 브라우저{Scalable browser}
브라우저 프로그램들은 널리 알려졌고 로컬 디스크, 로컬 네트워크, 인터넷 등과 같은 매체 상에 분포된 정보를 시청 및 상호작용하기 위한 사용자 인터페이스를 제공하는 애플리케이션 프로그램으로서 사용된다. 정보 및 브라우저들은 사용자들이 하나의 애플리케이션(즉, 브라우저)에 의해 다양한 타입의 정보와 상호 작용하도록 하기 위하여 점차 서로 밀접하게 인터페이스하도록 배열된다.
특히, 인터넷에서 사용하기 위하여, 정보는 프리젠테이션 언어에 따라 배열된다. 상기 프리젠테이션 언어는 예를 들어 하이퍼 텍스트 마크업 언어(HTML), 동적 HTML(DHTML), 확장 가능 마크업 언어(XML)이다. XML 프리젠테이션 언어들은 하나의 스키마(schema), 예를 들어 도큐먼트 타입 정의(DTD) 또는 XML 스키마와 일치하는 미리 결정된 XML 엘리먼트들(또는 태그들)로 구성된다.
변조는 하나의 언어로부터의 하나의 엘리먼트들, 또는 모듈들로 분할되는 작용이다. XHTML 및 SMIL은 상기 변조가 정의되었던 예이다. 자신의 안전한 언어 없이 다른 엘리먼트들과 결합되는(또는 내장된) 프리젠테이션 시맨틱(semantic)들 및 엘리먼트들을 가진 엘리먼트 세트를 정의하는 것은 가능하다. MathML, Ruby 및XForms는 이런 카테고리의 예이다.
일단 모듈들이 이용되면, 상기 모듈들은 프로파일들로 결합될 수 있다. 하나의 프로파일은 사용자에 의해 필요한 논리적이고 완전한 세트의 시맨틱들을 제공하는 엘리먼트들의 세트를 제공하는 하나의 언어이다. 이해하기 쉬운 프로파일들은 XHTML 및 SMIL 언어들 같은 모듈이 유도된 언어들이다. 하나의 프로파일은 하나의 애플리케이션에 의해 실행될 수 있다.
변조 및 프로파일의 메커니즘들은 XML의 확장 특성을 바탕으로 한다. XML은 도큐먼트에 엘리먼트들이 결합되는 방법을 나타낸다.
프로파일링은 본래 도메인들의 언어들이다. 실시예들은 SVG를 애니메이팅(animating)하기 위한 XHTML + SMIL 프로파일 및 SMIL 애니메이션이다.
따라서, 브라우저에 프리젠테이션 정보를 제공하기 위한 기회가 있다. 데이터 통신 측면에서 프리젠테이션을 나타내는 정보 및 제공될 정보는 폭넓게 사용되는 TCP/IP 프로토콜을 통하여 통신된다.
상기에 따른 정보를 제공하기 위하여, 브라우저 프로그램은 프리젠테이션 언어를 지원하여야 한다. 이것은 정보를 분석하고, 언어의 제공된 룰들에 따른 정보의 컨텐트들을 제공하는 것을 포함한다. 언어들은 더욱 더 발전되고 브라우저에서 제공된 룰들의 복잡한 실행을 포함한다. 이것은 값비싼 작업 메모리, 저장 능력, 및 처리 전력의 사용을 요구한다. 특히, 많은 프리젠테이션 언어들이 브라우저에 의해 지원될 때 값비싼 시스템 리소스들은 필요하다. 오늘날 보다 명확하게 이들 장치들에 제공된 정보의 증가 로드를 나타내기 위하여, 이동 전화, 개인 휴대 정보단말기(PDA) 등 같은 작은 크기/휴대용 장치들을 위한 브라우저들이 요구되었다. 상기 장치들은 비교적 작은 시스템 리소스들 문제를 가지기 때문에, 시스템 리소스 요구들을 낮추는 것이 필요하다.
EP-A2-1003101은 사용자 인터페이스 컴포넌트들 및 데이터 컴포넌트들과 결합하여 사용되는 애플리케이션 커넬(kernel)을 개시한다. 상기 커넬은 클라이언트측에 자리하고 서버로부터 필요한 만큼 컴포넌트를 다운로드할 수 있다. 이것은 커넬에 의해 제어되고 서버와 통신하여 실행되는 동적 처리이다.
그러나, 상기 종래 기술 방법은 데이터를 처리하기 위하여 필요한 컴포넌트들을 다운로드하고, 그렇지 않으면(다운로드전에는) 처리될 수 없는 문제점을 포함한다. 이런 종래 기술은 본 발명에 대해 완전히 상보적인 것으로서 고려될 수 있다.
상기 및 다른 문제점들은 컴퓨터가 실행될 때 브라우저 프로그램을 형성하는 컴퓨터 프로그램에 의해 해결되고, 여기서 상기 프로그램은 프로그램 컴포넌트들로 구성된 브라우저 구조로 배열되고, 상기 브라우저 프로그램은 모듈들로 구성된 데이터 구조에 배열된 컨텐트들을 처리하도록 배열되고, 브라우저 구조에서 각 프로그램 컴포넌트는 데이터 구조의 각 모듈과 매칭한다.
그것에 의해, 컴퓨터 프로그램 및 기능은 현재 데이터로 스케일링될 수 있다. 다른 장점은 여러 소스들로부터의 유사한 타입의 모듈들(예를 들어, XML 구성에 의해 형성됨)이 여러 프로파일들 또는 애플리케이션들에서 재사용될 수 있다는 것이다.
결과적으로, 리소스 제한 장치들은 정보 처리 상호 운용 및 호환 가능 방식으로 인터넷으로부터 정보에 액세스할 수 있게 된다. 리소스는 관련된 저장 능력 및 처리 전력을 제한하지만, 크기 등을 디스플레이한다. 이동 전화 같은 핸드헬드 장치들은 이 영역에서 주된 클래스를 형성한다.
따라서 리소스 제한 장치들 상에서 운행될 브라우저 프로그램은 주문화된 프리젠테이션 언어의 프로파일을 적응시키도록 배열될 수 있다.
본 발명은 스케일러블 브라우저 프로그램에 관한 것이다.
도 1은 시스템에서 브라우저를 도시한 도면.
도 2는 브라우저의 제 1 구조를 도시한 도면.
도 3은 브라우저의 제 2 구조를 도시한 도면.
본 발명의 목적은 XML 모듈들에 의해 표현된 기능들이 소프트웨어 구조에서 모듈화 방식으로 나타나도록 XML 도큐먼트를 수행하기 위한 소프트웨어 구조를 설계하는 것이다. XML 도큐먼트 레벨에서 어떤 기능들의 통합 또는 제거는 아키텍쳐에서 일부의 소프트웨어 부가 또는 제거에 해당된다. 이것은 컴포넌트 기술에 의해 실현된다.
컴포넌트 기술에서 사람은 잘 정의된 상호의존성을 가진 소프트웨어 부분을 설계한다. 컴포넌트 기술들의 예는 COM, Darwin 및 Koala이다. 컴포넌트들(프로그램 컴포넌트들)은 인터페이스를 통한 환경과 통신할 수 있는 소프트웨어 부분을 캡슐화하는 것을 특징으로 한다. 인터페이스들은 입력이나 출력을 위하여 방법들을 실행한다. 입력은 올바르게 기능을 수행하기 위한 컴포넌트에 의한 원인에 대응하고, 출력은 상기 기능의 결과에 대응한다.
컴포넌트들은 출력 및 입력 인터페이스들을 접속함으로써 구조에서 결합될 수 있다. 접속은 컴파일 시간 또는 운행 시간에서 실현될 수 있다. 컴포넌트들의배열은 컴포넌트 그 자체로서 식별될 수 있거나, 그 반대로 컴포넌트는 서브 컴포넌트들로 분할될 수 있다.
바람직하게, 각 프로그램 컴포넌트들은 각 모듈로부터 컨텐트를 수신하도록 배열되고 각 모듈로부터 컨텐트를 동작하도록 배열된 기능들을 공급받는다.
편리한 실시예에서 컴퓨터 프로그램은 각 모듈들로부터 컨텐트를 추출하고 각 모듈에 매칭하는 프로그램 컴포넌트에 각 모듈의 컨텐트를 제공하는 파서(parser)를 가진다.
프로그램 컴포넌트의 크기 및 기능이 컴퓨터 프로그램을 실행하기 위하여 시스템의 활용 가능한 리소스들의 크기로 스케일링될 때, 스케일러빌러티는 각각의 컴포넌트들을 포함한다. 이것은 브라우저 프로그램이 단지 매우 한정된 리소스들을 가진 장치들에 적용할 수 있게 한다.
데이터 구조가 XML 엘리먼트들에 의해 한정된 모듈들을 가진 XML 데이터 구조일 때, 매칭은 매우 작게 이루어질 수 있다.
컴퓨터 프로그램은 프로그램 컴포넌트들을 다운로드하고 그것들을 브라우저의 일부로서 통합하도록 배열될 수 있다. 그것에 의해, 프로그램은 예를 들어 변형되고 및/또는 부가적인 프로그램 컴포넌트들을 얻기 위하여 전체 시간에 걸쳐 적응되거나 가변하도록 적응될 수 있다.
데이터 구조가 모듈에 의해 분할되고 다중 장치들 상에 분포된 브라우저들에 보내질 때, 브라우저들은 특정 장치들로 재단될 수 있다. 이것은 특히 장치들이 상호 통신할 수 있을 때 특히 편리하다.
프로그램은 선택된 프로파일에 대응하는 컴포넌트들의 세트를 구조에 로드함으로써 프로파일들의 형태로 여러 능력을 배치하도록 배열될 수 있다. 그것에 의해, 브라우저는 선택된 프로파일의 요구에 따라 스케일링한다. 프로그램의 구조적 아키텍쳐는 선택된 프로파일에 대한 적응성 정도를 허용한다. 이것은 차례로 매우 효율적인 메모리 사용을 허용한다.
본 발명은 도면을 참조하고 바람직한 실시예들과 관련하여 하기에서 보다 상세히 설명될 것이다.
도 1은 시스템의 브라우저를 도시한다. 시스템(101)은 이동 전화, 개인 휴대 정보 단말기(PDA), 범용 컴퓨터 등일 수 있다. 일반적으로, 여기에 사용된 용어 컴퓨터는 TV 세트들, 라디오들, 셋톱 박스들 같은 소비자 전자제품의 모든 타입을 포함한다.
시스템은 오퍼레이팅 시스템 프로그램(OS)(105), 애플리케이션 프로그램(Apps)(104) 및 브라우저 프로그램(BrwsrPrg)(103)을 운행할 수 있는 컴퓨터 유니트(102)를 포함한다. 용어 애플리케이션 프로그램(Apps)은 다른 목적을 위하여 컴퓨터 시스템(102)에 의해 운행되는 프로그램들을 커버한다. 상기 애플리케이션 프로그램은 E-메일 애플리케이션, 컬렌더 애플리케이션들일 수 있다.
시스템은 마이크로폰(109), 확성기(108), 디스플레이(107) 및 키보드(106) 같은 인터페이스 수단을 포함한다. 더욱이, 인터페이스 수단은 컴퓨터 마우스(도시되지 않음)를 포함할 수 있다.
도 2는 브라우저 프로그램의 구조를 도시한다. 브라우저 프로그램(200)은 입력 파일의 분리된 컨텐트 부분들 또는 데이터 스트림을 동작시키기 위한 프로그램 컴포넌트들로 구성된다. 브라우저 프로그램(200)은 모듈들로 구성된 데이터 구조에 배열된 컨텐트들을 처리하도록 배열된다. 바람직하게, 데이터 구조는 확장 가능 마크업 언어(XML)에 따르고, 여기에서 모듈은 만약 있다면 XML 구조의 트리 표현법에서 노드 및 서브 노드들로서 정의된다. 노드 또는 서브 노드는 하나 이상의 컨텐트를 포함하는 엘리먼트들을 포함하고 시작 태그들 및 종료 태그들에 의해 밀봉된다. 도면에서 입력 파일(212)(XML)은 브라우저 프로그램(200)의 파서 컴포넌트(Prs)(201)에 의해 수신된다. 파서 컴포넌트(201)는 각 모듈들로부터 컨텐트들을 추출하고 각 모듈과 매칭하는 프로그램 컴포넌트에 각 모듈의 컨텐트(즉, 컨텐트 부분)를 제공하도록 배열된다.
스트리밍 텍스트(stmTxt)로 표현된 제 1 컴포넌트(202)는 로더(Ldr)로 표현된 서브컴포넌트(203) 및 '텍스트 렌디션 및 레이아웃'(txtR/L)으로 표현된 서브컴포넌트(204)를 포함한다. 제 1 컴포넌트에 대한 입력은 파서(201) 및 동기화(Sync)라 표현된 제 2 컴포넌트(205)로부터 공급된다. 컴포넌트로부터의 출력은 구동기(도시되지 않음)를 통하여 디스플레이 수단(213)에 공급된다.
제 2 컴포넌트(205)는 필터(flt)라 표현된 서브컴포넌트(206), 클럭(Clk)으로 표현된 서브컴포넌트(207) 및 비교기(Comp)로 표현된 서브컴포넌트(208)를 포함한다. 이 컴포넌트에 대한 입력은 파서(201)에 의해 제공된다.
플레이 오디오(plAud)로 표현된 제 3 컴포넌트(209)는 DRM으로 표현된 서브컴포넌트(210) 및 '렌더 및 디코드'(R/D)로 표현된 서브컴포넌트(211)를 포함한다. 제 3 컴포넌트로부터의 출력은 구동기(도시되지 않음)를 통하여 확성기 수단들(214)에 공급된다.
다음 예에서 도시될 바와 같이, 브라우저 구조에서 이들 프로그램 컴포넌트들은 데이터 구조의 각 모듈과 매칭한다.
실시예 Ⅰ은 프로파일들의 측면에서 설명된다. 프로파일이 시스템 용량을 제한하는 동안 사용자 요구와 부합하기 위한 논리적이고 완전한 기능 세트들을 제공하는 구성된 서비스이라는 것이 참조된다. 일반적으로, 하기 용어들은 당업자에 의해 잘 공지된 것으로 인식되는 것이 언급된다. 그러나, 실시예들에서 사용된 시맨틱 및 엘리먼트들에 관한 보다 많은 정보는www.w3.org/AudioVidio에서 발견될 수 있고, 여기서 SMIL(동기화된 다중매체 통합 언어)이 설명된다.
실시예 Ⅰ:동기화
이 실시예에서 4개의 프로파일들이 실증된다:
프로파일 1A-스트림 텍스트의 프리젠테이션.
프로파일 1B-오디오의 프리젠테이션.
프로파일 1C-양쪽 모두의 프리젠테이션.
프로파일 1D-동기화된 프리젠테이션.
프로파일 1A-스트림 텍스트의 프리젠테이션: '스트리밍 텍스트'(대문자 S)라 불리는 하나의 XML 모듈이 있다 :
모듈: 스트리밍 텍스트
'스트리밍 텍스트' 모듈은 두개의 엘리먼트들, <textstream> 및 <page>로 구성된다. 엘리먼트 <textstream>은 모듈 '스트리밍 텍스트'를 감싸고, 엘리먼트 <page>는 차례로 표현된 텍스트의 각각의 문자열 범위를 결정한다. 엘리먼트 <text>는 '시간'으로 표현되고 새로운 <page>가 이전 페이지를 대체할 때를 가리키는 속성이다. 다른 엘리먼트들 및 속성들이 디스플레이 위치, 디스플레이 기간 등을 결정하기 위하여 고려될 수 있다는 주의되어야 한다.
도 1을 참조하여, 프로그램 컴포넌트들은 차례로 컴포넌트들의 인터페이스를 구성하는 입력 및 출력의 측면에서 설명된다:
이름 로더
입력 모든 <page> 엘리먼트들의 컨텐트
입력 트리거(클럭으로부터 수신됨)
출력 단일 텍스트 문자열, 즉 하나의 <page>의 컨텐트
이름 텍스트 렌디션 및 레이아웃
입력 텍스트 문자열(로더로부터 수신됨)
출력 포맷된 텍스트의 스크린 이미지
이름 클럭
입력 <page>의 모든 시간 값들(파서로부터 수신됨)
출력 트리거(시간 값이 통과될 때-컴포넌트가 클럭 순간 자체를 생성한다)
테이블 1: 스트리밍 텍스트 컴포넌트
로더 및 텍스트 렌디션 및 레이아웃 컴포넌트들은 단일 컴포넌트, 스트리밍 텍스트(하기 경우 s)에서 결합될 수 있다.
프로파일 1B-오디오의 프리젠테이션: 플레이 오디오(대문자 P)라 불리는 하나의 XML 모듈이 있다:
모듈: 플레이 오디오
플레이 오디오 모듈은 하나의 엘리먼트, <audio>로 구성된다. 그것은 속성 "src"에 의해 지시된 인터넷 상 오디오 파일을 참조한다. 파일은 "mp3" 타입이고, 속성 "drm"에 따른 재생을 위해 자유롭다.
프로그램 컴포넌트들은 테이블 2 아래에 표현된다.
이름 DRM
입력 디지털 오른쪽 값(파서로부터 수신됨)
출력 인에이블
이름 렌더 및 디코드
입력 오디오 파일 어드레스(파서로부터 수신됨)
입력 코팅 타입(파서로부터 수신됨)
입력 인에이블(DRM으로부터 수신됨)
출력 (패치 및 디코딩된) 오디오 신호
테이블 2: 플레이 오디오 컴포넌트
DRM 및 '렌더 및 디코드' 컴포넌트들은 단일 컴포넌트, 플레이 오디오(하기 경우 p)에서 결합될 수 있다.
프로파일1C - 양쪽 모두의 프리젠테이션: 프로파일은 이전 두개의 XML 모듈들, 스트리밍 텍스트 및 플레이 오디오 모두를 얻는다:
모듈: 합병된 모듈.
실제로 프로파일은 두개의 자식들(children)인 <textstream> 및 <audio>가 동시에 제공되는 것을 가리키기 위하여 엘리먼트 <par>을 포함하는 바와바와 같은의 모듈들로 구성된다. 엘리먼트는 분석되지만, 이 프로파일에서 추가로 처리되지않는다. 오디오는 노래 라인들이 스크린 상에 디스플레이되는 것과 동시에 재생된다. 두개는 비동기 처리된다.
프로그램 컴포넌트들은 하기 테이블 3에서 설명된다.
이름 로더
입력 모든<page> 엘리먼트들의 컨텐트
입력 트리거(클럭으로부터 수신됨)
출력 하나의 텍스트 문자열, 즉 하나의 <page>의 컨텐트
이름 텍스트 렌디션 및 레이아웃
입력 텍스트 문자열(로더로부터 수신됨)
출력 포맷된 텍스트의 스크린 이미지
이름 클럭
입력 <page>s의 모든 시간 값들(파서로부터 수신됨)
출력 트리거(시간 값이 통과될 때; 컴포넌트는 클럭 시간 그 자체를 생성한다
이름 DRM
입력 디지털 오른쪽 값(파서로부터 수신됨)
출력 인에이블
이름 렌더 및 디코드
입력 오디오 파일 어드레스(파서로부터 수신됨)
입력 코딩 타입(파서로부터 수신됨)
입력 인에이블(DRM으로부터 수신됨)
출력 (패치 및 디코딩된) 오디오 신호
테이블3: 컴포넌트.
프로파일 1D - 양쪽 모두의 동기화된 프리젠테이션: 프로파일은 동기화 기능과 함께 이전 프로파일을 확장시키거나, 그 반대로 이전의 프로파일들이 이것으로부터의 서브세트이다.
모듈: 완전한 모듈.
이 프로파일은 예시적인 1C에서 처럼 동일한 모듈로 구성되지만, 매체 마커 및 동기화 기능을 포함하는 제 4 모듈, 소위 미디어 마커 타이밍(SMIL20 사양에서 동일 이름을 가진 모듈과 마찬가지)로 확장된다. 오디오는 스크린 상에 노래 라인이 디스플레이되는 것과 동시에 재생된다. 지금, 두개의 동기화 처리가 있다.
프로그램 컴포넌트들은 하기 테이블 4에 표현된다:
이름 로더
입력 파서로부터 수신된 모든<page>의 컨텐트
입력 트리거(동기화로부터 수신됨)
출력 단일 텍스트 문자열, 즉 하나의 <page>의 컨텐트
이름 텍스트 렌디션 및 레이아웃
입력 텍스트 문자열(로더로부터 수신됨)
출력 포맷된 텍스트의 스크린 이미지
이름 클럭
입력 클럭 값들(필터로부터 수신됨)인 모든 시간 값들
출력 트리거(시간 값이 통과될 때-컴포넌트는 클럭 순간 그 자체를 생성한다)
이름 DRM
입력 디지털 오른쪽 값(파서로부터 수신됨)
출력 인에이블
이름 렌더 및 디코드
입력 오디오 파일 어드레스(파서로부터 수신됨)
입력 코딩 타입(파서로부터 수신됨)
입력 인에이블(DRM으로부터 수신됨)
출력 (패치 및 디코딩된) 오디오 신호
출력 마커들
코멘트 이 출력은 미디어 마커 타이밍의 부가에 의해 부가된다. 사람은 이 렌더기의 서브컴포넌트에 의해 생성된 것과 같은 출력을 생각할 수 있다. (서브컴포넌트는 도면에 도시되지 않는다). 상기 전망시, 이 서브컴포넌트는 "비어있는" 이전 실시예들 중 하나이다(그리고 이 렌더기 및 디코더 컴포넌트의 마커들의 출력은 댕글링(dangling) 이다)
이름 동기화
입력 <page>의 모든 시간 값(파서로부터 수신됨)
입력 마커들(렌더 및 디코더로부터 수신됨)
출력 트리거(클럭 또는 비교기가 파이어될 때)
코멘트 동기화 컴포넌트는 클럭 컴포넌트를 감싼다. 클럭의 입력은 적당한 시간 값들을 통하여 필터링되는 필터 서브컴포넌트를 통하여 동기화 입력에 접속된다. 클럭의 출력은 동기화 출력에 접속된다. 이런 동기화 컴포넌트는 또한 제 3 서브컴포넌트(클럭 및 필터 다음)를 포함한다. 마커들과 시간값 사이의 비교를 수행하는 비교기는 마커들을 위하여 필터링된다. 이런 제 3 컴포넌트의 출력은 동기화 출력에 접속된다. 비트를 필터링하는 것을 더 설명하기 위하여, 이 실시예 ID의 XML 도큐먼트가 <페이지 시간="yday.marker(.)"> 선언을 포함하지만, 포함된 <페이지 시간="."> 선언을 가질 수 있다. 필터 서브컴포넌트는 이들 두개를 두개의 다른 서브컴포넌트, 클럭 및 비교기로 분할한다.
이름 필터
입력 <페이지 s>의 모든 시간 값들(파서로부터 수신됨)
출력 클럭 값들인 모든 시간 값들
출력 마커 값들인 모든 시간 값들
이름 비교기
입력 마커 값들인 모든 시간 값들(필터로부터 수신됨)
입력 마커들(렌더 및 디코더로부터 수신됨)
출력 트리거(마커 값이 시간 값과 매칭할 때)
테이블4: 컴포넌트.
이 실시예 Ⅰ에서 XML 모듈들 및 프로그램 컴포넌트 사이의 관계는 다음과 같다.
XML 모듈 SW 컴포넌트
스트리밍 텍스트 스트리밍 텍스트 및 클럭
플레이 오디오 플레이 오디오
미디어 마커 타이밍 렌더기 및 디코더의 비교기 및 서브컴포넌트
스트리밍 텍스트+미디어 마커 타이밍 필터
테이블5.
필터 컴포넌트는 두개의 시간 타입들에 의해 제공된다: 스트리밍 텍스트 및 미디어 마커 타이밍.
모듈들을 가진 컴포넌트의 관계는 프로파일들의 계층에 따른다는 것이 주의된다. 클럭은 스트리밍 텍스트와 연관된다: 필터 및 랩퍼 동기화는 양쪽 시간 형태가 프로파일에 진입할 때 도입된다. 이들 시간 모듈들의 관계는 시간 계층에 관한 것이다. 예를 들어, 프로파일은 클럭 시간 값들을 지원하지 않는 것을 고려한다. 비어있는 컴포넌트(및 필터가 비어있을 수 있다)에 의한 클럭 컴포넌트의 대체를 포함할 수 있다. 클럭 컴포넌트는 스트리밍 텍스트 모듈을 가진 하드웨어에 연관되지 않는다.
도 3은 브라우저의 제 2 구조를 도시한다. 도면에서 입력 파일(307)(XML)은 브라우저 프로그램(300)의 파서 컴포넌트(301)(Prs)에 의해 수신된다. 파서 컴포넌트(301)는 각 모듈들로부터 컨텐트들을 추출하고 각 모듈과 매칭하는 프로그램 컴포넌트에 각 모듈(즉, 컨텐트 부분)의 컨텐트를 제공하도록 배열된다.
'이미지 렌더'(imgR)로 표현된 컴포넌트(302)는 파서(301)로부터 입력을 수신하고 구동기(도시되지 않음)를 통하여 디스플레이(308)에 출력을 차례로 제공하는 '레이아웃 관리기'(303)(LoMan)로 표현된 컴포넌트에 출력을 제공한다. '레이아웃 관리기'(303)는 파서(301)로부터의 부가적인 입력 및 '리스트 관리기'(ListMan)로 표현된 컴포넌트(304)를 수신한다.
'리스트 관리기' 컴포넌트는 사용자 인터페이스를 동작시키는 사용자에 의해 형성된 이벤트들을 수신한다. 이벤트들은 '온 클릭' 이벤트, 온 '마우스 이동' 이벤트들, '더블 클릭' 이벤트들 등일 수 있다. '레이아웃 관리기'에 출력을 인가하는 것 외에, 출력은 '이벤트 리스너' 컴포넌트(305)(EvList)에 공급된다.
컴포넌트 '액슬 관리기(Exel Manager)'(306)(액슬맨)은 파서로부터 입력 및 '이벤트 리스너'를 수신하고 '이벤트 리스너'에게 출력을 공급한다.
다음 실시예 Ⅱ에 도시된 바와 같이 브라우저 구조에서 이들 프로그램 컴포넌트들은 데이터 구조의 각 모듈과 매칭한다.
실시예 Ⅱ: 레이아웃
이 실시예에서 3개의 프로파일들이 예시된다:
- 프로파일 2A-레이아웃을 가지지 않는 이미지 갤러리의 프리젠테이션.
- 프로파일 2B-레이아웃을 가진 UI 리스트의 부가.
- 프로파일 2C-작은 스크린(레이아웃 없음)을 위한 UI 리스트의 부가.
프로파일 2A-레이아웃 없는 이미지 갤러리의 프리젠테이션: XML 모듈들의 결합이 있다; 엑슬 시간 컨테이너들들, SMIL(20)과 같은 이벤트 타이밍 및 다중아크시간, XHTML중 하나와 같은 이미지:
모듈
엑슬 시간 컨테이너들 모듈로부터의 <excl> 엘리먼트는 이미지 모듈로부터의 <img>를 포함한다. <excl> 엘리먼트는 그 자식들 중 하나만이 한번에 제공되는 시맨틱들을 가진다. 만약 엘리먼트가 활성화되면 전류는 활성화된다. 이벤트 타이밍 모듈로부터의 시작 속성들은 대응 <img> 엘리먼트가 도시될 때를 나타낸다.
제 1 <img>의 시작 속성들은 두개의 값들을 가지며, 다중아크시간 모듈에 의해 허용된다. <excl>의 시작은 실현된다.
새로운 <img>는 이전 <img>로부터 '클릭' 이벤트를 수신한후 도시된다. '클릭' 이벤트는 사용자 액션에 의해 시작되고 플랫폼 의존 방식으로 시스템에 제공된다.
이미지들 결과들의 순환 프리젠테이션
프로그램 컴포넌트들:
이름 이미지렌더
입력 모든 <img>ids(파서로부터 수신됨)
입력 디스플레이될 <img>의 엘리먼트 id(엘리먼트 이벤트 리스너로부터 수신됨)
코멘트 컴포넌트는 파일 어드레스가 엘리먼트 id를 제공한 것을 제공하는 다른 컴포넌트로부터의 화상 파일 어드레스를 수신하여야 하고, 변환 테이블은 파서로부터 로드된다. 간략화를 위하여 이것은 제거된다.
출력 렌더된 화상의 스크린 이미지
이름 이벤트 리스너
입력 등록 리스트(파서로부터 수신됨)
입력 사용자 '클럭 이벤트(플랫폼으로부터 수신됨)
입력 등록자 활성화(이벤트 리스너로부터 수신됨)
입력 엘리먼트 id가 라벨된 트리거 라벨
이름 액슬관리기
입력 모든 <img> 엘리먼트 id(파서로부터 수신됨)
입력 엘리먼트 id가 라벨된 트리거 활성화(이벤트 리스너로부터 수신됨)
출력 엘리먼트 id가 라벨된 트리거 비활성화
테이블6: 레이아웃 없는 이미지 갤러리의 프리젠테이션을 위한 컴포넌트들
레이아웃을 가진 UI 리스트의 부가: 프로파일은 리스트 모듈 및 레이아웃을 가진 이전 프로파일을 확장하고, 그중 문자는 SMIL '기본 레이아웃' 모듈과 비교 가능하다.
모듈
레이아웃 모듈은 상부, 좌측 폭 및 높이 속성들(속성을 부가하는 방식으로 SMIL20) 기본 레이아웃 모듈과 다름); 리스트 모듈은 UI 리스트 부품 및 필드를 선언하는 <list> 및 <item>을 가한다. 리스트는 좌측 1/2에 디스플레이되고 스크린의 우측 1/2에 화상이 디스플레이된다. <list>의 UI 렌디션은 하나 또는 다른 방식으로 스크롤(scroll)할 수 있다. <item> 엘리먼트는 리스트의 필드들에 디스플레이될 텍스트 문자열을 포함한다. 필드 검사 후, 이벤트는 대응 <item> 엘리먼트와 연관된다. (<gallery> 엘리먼트는 XML 잘 공지될 목적으로 필요하지만, 이런 논의를 위하여 관련되지 않는다)
프로그램 컴포넌트들
이름 리스트관리기
입력 모든 <item> 엘리먼트 id(파서로부터 수신됨)
입력 스크린 크기(파서로부터 수신됨)
입력 사용자 '클릭' 이벤트가 필드 id로 라벨되고, 좌표화된다(플랫폼으로부터 수신됨)
출력 렌더 리스트의 스크린 이미지
출력 이벤트 id로 라벨된 이벤트 표시
이름 이미지 렌더기
입력 모든 <이미지>ids(파서로부터 수신됨)
입력 디스플레이될 <img>의 엘리먼트 id(이벤트 리스너로부터 수신됨)
입력 모든 이미지 크기들(파서로부터 수신됨)
출력 렌더 화상의 스크린 이미지
이름 레이아웃관리기
입력 스크린 이미지들(양쪽 렌더기들로부터 수신됨)
입력 렌더기 id로 스크린 이미지가 라벨됨
입력 스크린 이미지의 위치, 크기 및 z 순서(파서로부터 수신됨)
출력 전체 스크린의 스크린 이미지
이름 이벤트 리스너
입력 등록 리스트(파서로부터 수신됨)
입력 이벤트 소스 id(리스트 관리기로부터 수신됨)로 라벨된 이벤트 표시
입력 등록자 활성화(이벤트 리스너로부터 수신됨)
입력 등록자 비활성화(엑슬관리기로부터 수신됨)
출력 엘리먼트 id로 라벨된 트리거 활성화
이름 엑슬관리기
입력 모든 <img> 엘리먼트 id(파서로부터 수신됨)
입력 엘리먼트 id로 라벨된 트리거 활성화(이벤트 리스너로부터 수신됨)
출력 엘리먼트 id로 라벨된 트리거 비활성화
테이블 7: 레이아웃을 가진 UI 리스트에 대한 컴포넌트들
프로파일 2C-작은 스크린(레이아웃 없음)에 대한 UI 리스트의 부가: 프로파일은 이전 프로파일과 동일하지만, 레이아웃 모듈은 지원되지 않고; 레이아웃 통사는 파서되고 유효화되지만, 선언된 행동은 수행도지 않는다.
모듈
리스트 또는 선택된 화상은 도시된다. 화상은 리스트 상에서 클릭함으로써 선택된다. 화상은 리스트를 도시하는 것으로 항상 유도할 것이다(보다 정밀한 방법들은 항상 리스트가 더블 클릭 및 우측 클릭을 사용하거나, 실시예 3B에 도시된 바와 같이 화상들 사이에 도시되지 않도록 고려하는 것이다. 이것은 논의를 위하여 관련되지 않는다).
프로그램 컴포넌트:
이름 리스트관리기
입력 모든<item> 엘리먼트 id(파서로부터 수신됨)
입력 스크린 크기(파서로부터 수신됨)
입력 필드 id로 라벨된 사용자 '클릭' 이벤트, 예를 들어 좌표화(플랫폼으로부터 수신됨)
출력 렌더기 리스트의 스크린 이미지
출력 엘리먼트 id로 라벨된 이벤트 통지
이름 이미지 렌더기
입력 모든 <img> id(파서로부터 수신됨)
입력 엘리먼트 id(이벤트 리스너로부터 수신됨)
입력 모든 이미지 크기들(파서로부터 수신됨)
출력 렌더된 화상의 스크린 이미지
이름 레이아웃관리기
입력 스크린 이미지들(양쪽 렌더기로부터 수신됨; 스크린 이미지들은 렌더 id로 라벨됨)
입력 스크린 이미지들의 위치, 크기 및 z 순서(파서로부터 수신됨)
출력 완전한 스크린의 스크린 이미지
이름 이벤트 리스너
입력 등록 리스트(파서로부터 수신됨)
입력 이벤트 소스 id(리스트관리기로부터 수신됨)로 라벨된 이벤트 통지
입력 등록자 활성화(이벤트 리스너로부터 수신됨)
입력 등록자(엑슬관리기로부터 수신됨)의 비활성화
출력 엘리먼트 id로 라벨된 트리거 활성화
이름 엑슬관리기
입력 모든 <img> 엘리먼트 id(파서로부터 수신됨)
입력 엘리먼트 id로 라벨된 트리거 활성화(이벤트 리스너로부터 수신됨)
출력 엘리먼트 id로 라벨된 트리거 비활성화
테이블 8: 작은 스크린(레이아웃 없음)에 대한 UI를 위한 컴포넌트
'레이아웃 관리기'는 크게 감소된다. 최종 수신된 입력으로 스크린 이미지들을 대체하는 임무를 수행한다. 하나의 렌디션, 즉 한번에 가시화할 수 있는 하나의 엘리먼트가 있을 것이다.
다시 한번, 예는 간단한 방식들로 본 발명을 보여주도록 의도됨을 상기한다. 보다 많은 정교한 도메인 분석은 컴포넌트들을 설계하는 여러 방식을 유도할 것이다. 예를 들어, 도시된 바와 같은 컴포넌트들은 서브컴포넌트들로 분할되고, 그것은 프로파일에 따라 여러 파일들로 그룹을 형성한다. 그러나, XML 모듈은 이들 서브컴포넌트들과 연관되게 남는다. 보다 정밀하게, 이런 예시적인 2C에서, 사용자 클릭의 분리는 리스트관리기에 의해 수행되지 않고, 오히려 이벤트를 관리하고 디스패칭하는 부가적인 컴포넌트에 관한 것이다. 상기에 따라, 이것은 예에서 상세히 설명하지 않는다. 유사한 리마크는 <img>가 비활성화될 때 레이아웃 공간의 제거에 관한 것이다.
XML 모듈들 및 SW 컴포넌트들 사이의 관계는 테이블 9와 같다:
XML 모듈 SW 컴포넌트
이미지 '이미지 렌더기'
이벤트타이밍+멀티아크타이밍 '이벤트 리스너'
엑슬타임컨테이너들 '엑슬 관리기'
리스트 '리스트 관리기'
레이아웃 '레이아웃 관리기'
테이블 9
실시예 Ⅲ: 다중 장치들
이 실시예에서 두개의 프로파일들은 예시된다:
프로파일 3A-텍스트용 장치 및 오디오용 장치.
프로파일 3B-이미지 프리젠테이션을 위한 장치 및 리스트를 관리하기 위한 장치.
이 실시예는 스케일러빌러티 특성의 애플리케이션 다른 형태를 논의한다. 제 1 두개의 실시예들에서 스케일러빌러티는 클라이언트 장치의 능력을 확장하는 것에 관한 것이다. 이 예에서, 우리는 이전의 두 시나리오들을 취하지만, 보완적인 성능의 두 장치들을 조합한다. 두개의 장치들은 동일한 XML 도큐먼트로 로드된다. 가능하게 이것들이 상호 접속되면, 그것들은 동작을 동기화한다. 제 1 장치는 도큐먼트의 일부를 나타낼 수 있고, 제 2 장치는 다른 부분을 나타낸다.
장치들이 동일한 XML 도큐먼트로 로드되기 때문에, 도큐먼트는 클라이언트가 할 수 있는 경우 일부 프리젠테이션을 허용한다는 것이 가정된다. 그렇지 않으면, 사전 처리기(프록시, 가능하게 장치들 중 하나에서 호스트됨)는 도큐먼트를 두개로 나누는 것을 요구한다.
도큐먼트를 두개의 장치들로 패치 및 로드하는 것은 그들 사이의 몇몇 통신 형태를 요구한다. 도큐먼트의 프리젠테이션 동안 두개의 장치들 사이에 동기화의 경우, 기능을 호스팅하기 위한 필요성이 있다.
SMIL(20) 기본 사양은 여러 능력의 클라언트들에 동일한 도큐먼트가 어떻게 로드될 수 있는가의 예이다. 즉, 임의의 모듈의 지원을 위한 필요성을 선언하기 위하여 요구된 소위 속성 시스템을 사용한다. 상기 속성은 모듈 소위 기본컴포넌트제어의 일부이다. 만약 능력이 지원되면 수행될 수 있는 엘리먼트에서 서브 트리 루틴의 렌디션을 가진 시맨틱을 구비한다. 그렇지 않으면, 서브 트리는 스킵되고, 클라언트는 도큐먼트의 나머지를 렌더링하는 것을 처리할 수 있다. 실시예들에서 우리는 이 모듈로부터 카피한다. 능력 검사를 수행하기 위하여 대응 프로그램 컴포넌트를 함유하는 것은 주의된다.
실시예 3A-텍스트용 장치 및 오디오용 장치: 두개의 장치들이 있고, 하나는 프로파일 1A에 따른 스트림 텍스트를 나타내기 위하여 사용하고, 다른 하나는 프로파일 1B에 따른 오디오를 나타내기 위하여 사용한다. 두개의 장치들은 프로파일 1C로부터의 XML 도큐먼트로 로드되지만, 시스템요구 속성으로 변형된다.
모듈
제 1 장치는 스트림 텍스트를 제공하고 제 2 장치는 오디오를 재생한다. 만약 양쪽 장치들이 동기화되면, 도 2에 도시되고 프로파일 1D에 기술된 동기화 모듈은 두개의 장치들 사이에서 동기화를 제어하기 위하여 호스트 되어야 한다. 이것은 프록시, 또는 두개의 장치들 중 하나에 있다. 만약 XML 도큐먼트의 인증자가 동기화를 요구하면, 미디어 마커 타이밍을 위한 시스템요구 호출은 <par> 엘리먼트에서 필요하다.
실시예 3B-이미지 프리젠테이션용 장치 및 리스트 관리용 장치: 두개의 장치들이 있고, 하나는 프로파일 2A에 따른 화상을 디스플레이하고, 다른 하나는 사용자가 화상을 통하여 네비게이팅하도록 하는 화상의 리스트를 제공한다. 리스트는프로파일들(2B 및 2C)에 따른다. 두개의 장치들은 서로 접속되어, '리스트' 장치는 '화상' 디스플레이에 신호 선택할 수 있다. 두개의 장치들은 프로파일 2C로부터 XML 도큐먼트로 로드되지만, 프로파일 2A에 따른 <img>상 부가적인 이벤트 선언 및 시스템요구 속성으로 변형된다:
모듈
제 1 장치는 화상을 제공하고; 사용자는 화상을 '클릭'함으로써 스크롤할 수 있다(디스플레이 장치 상 놉 버턴을 누르는 형태로 클릭이 이루어질 수 있다). 프로파일 2A에 기술된 바와 같이 컴포넌트들을 지원한다. 제 2 장치는 화상의 리스트를 제공할 것이다. 프로파일 2C는 프로파일 2A에 리스트관리기를 부가하는 컴포넌트들을 지원한다. 제 2 장치는 이벤트들을 알리기 위하여 제 1 장치와 통신한다.
또한 리스트관리기를 포함하는 프로파일 2C와 같이 제 1 장치가 수행되는 것이 고려된다. 제 2 장치는 제 1 장치의 원격 제어를 위하여 제공한다. 이미지들의 네비게이팅 대신, 사람은 리스트가 EPG(전자 프로그램 가이드)를 나타내는 네비게이팅 TV 프로그램을 생각할 수 있다. TV 스크린은 TV 프로그램을 나타내고, 원격 제어 상에서 프로그램 가이드는 검사된다. 다른 시나리오는 TV 프로그램이 다중(카메라) 뷰들로 구성되는 경우이다. 동일한 스크린 상에 선택된 뷰와 함께 네비게이션 필드들을 제공하는 대신, 주변 장치는 프리젠테이션의 일부를 맡는다. 프로그램 메이커는 뷰들을 통하여 네비게이션을 포함하는 완전한 프로그램을 기술하는 XML 도큐먼트를 설계한다. TV는 UI 컴포넌트들에 대한 전용 리모트로 TV를 확장하고 프로그램 메이커로부터 동일한 XML 도큐먼트와 함께 UI 및 프로그램 디스플레이(리모트 사용의 원조를 제외하고)를 인에이블하는 동안 프로파일 2C와 같은 것을 제공할 수 있다. 이것은 XML 도큐먼트가 시스템요구 속성과 같은 정보를 포함하는 것을 가정한다. 프로그램은 시나리오 2A와 함께 네비게이션을 전혀 지원하지 않는 TV 세트들에서 사용될 수 있다.
"컴포넌트들" 및 "구조"들이 소프트웨어 설계 단계에서 사용되는 개념이 있다는 것이 스트레스에 유용할 수 있다. 그것들은 기능을 명령하는 실제 프로그램 코드 상 추상 레벨을 제공한다. 컴파일러는 코드 크기 같은 성능 기준을 최적화하고 실제 코드를 생성하도록 가정된다.
컴포넌트들은 그것들이 동일한 입력/출력 관계들을 충족하는 한 다른 컴포넌트들에 의해 대체될 수 있다. 예를 들어, 임의의 기능은 입력/출력 관계들을 만족시키는 비어있는 컴포넌트를 통하여 대응 컴포넌트를 대체함으로써 구조들로부터 제거된다. 입력이 접속되고 버려지며 출력 자신의 출력으로 통과되는 다른 컴포넌트들로부터의 출력을 취한다. 출력에서 이용할 수 있는 정보는 컴포넌트에 의해 생성된다. 예를 들어 고정된 상수이다. 또한 수신된 입력은 출력에 공급되기 전에 약간 변형되는 것이 가능하다. 이것은 총 구조에서 임무 및 컴포넌트의 정밀한 기능에 따른다. "비어있는" 컴포넌트를 대체하는 생각은 나머지 기능을 수행하는 컴포넌트들 사이의 글루 층(단일 컴포넌트 형태)이다.
언어 레벨에서 기능을 제공하는 XML 모듈들(또는 XML 모듈들의 세트)은 기능을 수행하는 프로그램 또는 소프트웨어 레벨에서 컴포넌트들(또는 컴포넌트의 세트)와 연관된다. 언어 레벨에서 프로파일링은 구조에서 컴포넌트의 구성/설정에 대응한다. 요구된 기능 프로파일과 스케일링하기 위하여 장치 상 구현이 그 일부만을 실행하는 단일 구조가 있다. 실행되는 부분은 XML 프리젠테이션 언어 레벨에서 프로파일을 형성하는 XML 모듈들과 대응하는 컴포넌트의 서브세트를 포함한다.
XML 기능 모듈의 실시예들은:
- 동기화 타이밍
- 상호작용 및 다른 이벤트들 위한 타이밍
- 애니메이션을 위한 타이밍
- UI; 부품들(버튼들, 슬라이더들)
- UI; 사용자 입력(XForms)
- UI; 스피치(입력 및/또는 출력)
- 텍스트의 레이아웃(HTML)
- 텍스트 스타일링 레이아웃(CSS)
- 매체 레이아웃(오디오/비디오 렌디션)
- 그래픽 레이아웃
- 스트리밍 텍스트 레이아웃(자막)
- 스트림 텍스트 레이아웃(암호화)
수학적 방정식 레이아웃(MathML)을 포함한다.
사용된 XML 마크업 같은 이 도큐먼트의 모든 설계는 예시적이다. 동일한 통사 및 문법을 가진 종래 xml을 가진 일대일(시맨틱) 맵이 필수적이지 않다. 마크업의 우수한 설계를 제공하기 위한 제안이 있다. 이와 같이, 프로그램 컴포넌트들은 예로서 제공되지만, 메모리 소비 또는 기능 동작 같은 성능 매트릭스 측면에서 최적 설계를 의미하지 않는다.
컴포넌트들의 수를 낮추기 위하여, 컴포넌트들은 예에 영향을 주지 않는 보다 큰 컴포넌트들로 그룹화된다. 실시예들과 관련되지 않은 사소한 컴포넌트들은 남겨진다.

Claims (12)

  1. 컴퓨터(101)에서 실행될 때 브라우저 프로그램(103; 200; 300)을 형성하는 컴퓨터 프로그램 제품으로서,
    상기 프로그램은 프로그램 컴포넌트들(201,...,211; 301,...,306)로 구성된 브라우저 구조(200;300)로 배열되고;
    상기 브라우저 프로그램은 모듈들로 구성된 데이터 구조로 배열된 컨텐트들을 처리하도록 배열되고;
    상기 브라우저 구조의 각 프로그램 컴포넌트는 상기 데이터 구조에서의 각 모듈과 매칭하는 컴퓨터 프로그램 제품.
  2. 제 1 항에 있어서,
    상기 각 프로그램 컴포넌트들은 각 모듈로부터 컨텐트를 수신하도록 배열되고, 각 모듈로부터의 컨텐트에 대해 동작하도록 배열된 기능들이 제공되는, 컴퓨터 프로그램 제품.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 컴퓨터 프로그램은 각 모듈들로부터 컨텐트를 추출하고 각 모듈과 매칭하는 프로그램 컴포넌트(202,...,211; 302,...,306)에 각 모듈의 컨텐트를 제공하기 위한 파서(parser; 201;301)를 구비하는, 컴퓨터 프로그램 제품.
  4. 제 1 항 내지 제 3 항 중 어느 한 항에 있어서,
    상기 프로그램 컴포넌트의 크기 및 기능은 컴퓨터 프로그램을 실행하기 위하여 시스템의 이용 가능한 리소스들의 크기로 스케일링되는, 컴퓨터 프로그램 제품.
  5. 제 1 항 내지 제 4 항 중 어느 한 항에 있어서,
    상기 데이터 구조는 XML 엘리먼트들에 의해 규정된 모듈들을 가진 XML 데이터 구조인, 컴퓨터 프로그램 제품.
  6. 제 1 항 내지 제 5 항 중 어느 한 항에 있어서,
    상기 컴퓨터 프로그램은 프로그램 컴포넌트들을 다운로드하고 브라우저의 일부로서 통합하도록 배열되는, 컴퓨터 프로그램 제품.
  7. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서,
    상기 데이터 구조는 모듈들에 의해 분할되고 다중 장치들(101) 상에 분배된 브라우저들에 전송되는, 컴퓨터 프로그램 제품.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    선택된 프로파일에 대응하는 컴포넌트들의 세트들을 상기 구조에 로드함으로써 프로파일들의 형태로 상이한 성능들을 배치하도록 배열되는, 컴퓨터 프로그램제품.
  9. 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 컴퓨터 프로그램을 가진 셋톱 박스.
  10. 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 컴퓨터 프로그램을 가진 이동 전화.
  11. 제 1 항 내지 제 7 항 중 어느 한 항에 기재된 컴퓨터 프로그램을 가진 범용 컴퓨터.
  12. 브라우저 프로그램(103;200;300)을 형성하는 방법에 있어서,
    상기 프로그램이 프로그램 컴포넌트들로 구성된 브라우저 구조(200;300)로 배열되는 단계;
    모듈들로 구성된 데이터 구조에 배열된 컨텐트들을 처리하는 단계; 및
    데이터 구조에서 각 모듈과 브라우저 구조의 각 프로그램 컴포넌트를 매칭하는 단계를 포함하는 방법.
KR10-2004-7006629A 2001-11-01 2002-10-25 스케일러블 브라우저 KR20040058263A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP01204197 2001-11-01
EP01204197.6 2001-11-01
PCT/IB2002/004511 WO2003038605A2 (en) 2001-11-01 2002-10-25 Scalable browser

Publications (1)

Publication Number Publication Date
KR20040058263A true KR20040058263A (ko) 2004-07-03

Family

ID=8181178

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7006629A KR20040058263A (ko) 2001-11-01 2002-10-25 스케일러블 브라우저

Country Status (7)

Country Link
US (1) US20050028142A1 (ko)
EP (1) EP1440386A2 (ko)
JP (1) JP2005507521A (ko)
KR (1) KR20040058263A (ko)
CN (1) CN100336058C (ko)
AU (1) AU2002339641A1 (ko)
WO (1) WO2003038605A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040012627A1 (en) * 2002-07-17 2004-01-22 Sany Zakharia Configurable browser for adapting content to diverse display types
US7526771B2 (en) * 2003-11-12 2009-04-28 Ntt Docomo, Inc. Method and apparatus for configuring an application while the application is running
US20050188384A1 (en) * 2004-02-24 2005-08-25 Kumanan Yogaratnam Electronic content processing systems and methods
US7278133B2 (en) * 2004-07-23 2007-10-02 Ntt Docomo, Inc. Index-based parameter access and software for using the same
KR100765783B1 (ko) * 2006-04-13 2007-10-12 삼성전자주식회사 디바이스를 이용한 달력 출력방법 및 시스템과 이를 위한 디바이스
CN101101547B (zh) * 2006-07-04 2012-07-18 霍尼韦尔(北京)技术研发实验有限公司 动态计算机体系结构
US8201143B2 (en) * 2006-09-29 2012-06-12 Microsoft Corporation Dynamic mating of a modified user interface with pre-modified user interface code library

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5995756A (en) * 1997-02-14 1999-11-30 Inprise Corporation System for internet-based delivery of computer applications
US6393605B1 (en) * 1998-11-18 2002-05-21 Siebel Systems, Inc. Apparatus and system for efficient delivery and deployment of an application
EP1238334A1 (en) * 1999-12-15 2002-09-11 Sun Microsystems, Inc. Preparation of a software configuration using an xml type programming language
US20040205525A1 (en) * 2001-04-30 2004-10-14 Murren Brian T. Automatic identification of form contents

Also Published As

Publication number Publication date
WO2003038605A2 (en) 2003-05-08
WO2003038605A3 (en) 2004-03-18
EP1440386A2 (en) 2004-07-28
AU2002339641A1 (en) 2003-05-12
CN1578957A (zh) 2005-02-09
JP2005507521A (ja) 2005-03-17
US20050028142A1 (en) 2005-02-03
CN100336058C (zh) 2007-09-05

Similar Documents

Publication Publication Date Title
US7966408B2 (en) Adaptive multimedia integration language (AMIL) for adaptive multimedia applications and presentations
US7376932B2 (en) XML-based textual specification for rich-media content creation—methods
US20080010664A1 (en) Method and System for Providing Interactive Services in Digital Television
US7394473B2 (en) Browser and program containing multi-medium content
US20080320443A1 (en) Wiki application development tool that uses specialized blogs to publish wiki development content in an organized/searchable fashion
CN102752664B (zh) 一种网页中文本字幕信息的显示方法和装置
JP2004533736A (ja) 双方向テレビジョンでの表示のためにコンテンツを再フォーマットする方法及び装置
CN111953709B (zh) 多媒体内容传输方法、多媒体内容展示方法、装置和电子设备
WO2003067428A2 (en) Document transformation
US7735002B2 (en) User interface in a mobile station
CN101799766A (zh) Widget引擎中使用第三方引擎解析脚本文件的方法和装置
KR20040058263A (ko) 스케일러블 브라우저
CN104735549A (zh) 一种网页中文本字幕信息的显示方法和装置
US20040139483A1 (en) System and method for authorizing data broadcasting contents
CN110399040B (zh) 多模态交互方法、用户端设备、服务器及系统
CN114489607A (zh) 跨栈应用处理与页面渲染方法、装置、设备及存储介质
Black et al. A compendium of robust data structures
Van Assche et al. Multi-channel publishing of interactive multimedia presentations
Honkala Web user interaction: a declarative approach based on XForms
US20060242578A1 (en) Method for managing content
TWI465952B (zh) 智慧型手機應用巨集指令執行平台
Lyu et al. A wireless handheld multi-modal digital video library client system
KR20030040929A (ko) 이동통신단말기의 멀티미디어 재생방법
Zucker et al. Open standard and open sourced SMIL for interactivity
Zdun Xml-based dynamic content generation and conversion for the multimedia home platform

Legal Events

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