KR100843581B1 - 플러그인 프레임워크를 사용하는 브라우저의 마크업 확장 - Google Patents

플러그인 프레임워크를 사용하는 브라우저의 마크업 확장 Download PDF

Info

Publication number
KR100843581B1
KR100843581B1 KR1020060106124A KR20060106124A KR100843581B1 KR 100843581 B1 KR100843581 B1 KR 100843581B1 KR 1020060106124 A KR1020060106124 A KR 1020060106124A KR 20060106124 A KR20060106124 A KR 20060106124A KR 100843581 B1 KR100843581 B1 KR 100843581B1
Authority
KR
South Korea
Prior art keywords
browser
plug
extension
markup
markup language
Prior art date
Application number
KR1020060106124A
Other languages
English (en)
Other versions
KR20070047701A (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 KR20070047701A publication Critical patent/KR20070047701A/ko
Application granted granted Critical
Publication of KR100843581B1 publication Critical patent/KR100843581B1/ko

Links

Images

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
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

브라우저가 지원하는 마크업 확장 방법은 마크업 언어로 기록된 정보를 제공하는 브라우저를 식별하는 단계를 포함할 수 있다. 브라우저가 통상 지원하지 않는 마크업 언어에 대한 적어도 하나의 익스텐션을 포함하는 익스텐더가 식별될 수 있다. 익스텐더가 로드되어, 브라우저가 지원하는 마크업 언어가 익스텐션을 포함하도록 확장될 수 있다.
브라우저, 플러그인 패키지, 익스텐더, 네트워크, 프리젠테이션 장치

Description

플러그인 프레임워크를 사용하는 브라우저의 마크업 확장{EXTENDING MARKUP OF A BROWSER USING A PLUG-IN FRAMEWORK}
도 1은 본 명세서에 기술된 본 발명의 일 실시예에 따라 지원된 마크업 언어를 확장하는 기능을 갖도록 구성된 브라우저를 포함하는 시스템의 개략도.
도 2는 본 명세서에 기술된 본 발명의 일 실시예에 따라 브라우저의 마크업 언어를 확장하는 방법의 흐름도.
<도면의 주요 부분에 대한 부호의 설명>
114 : 네트워크 120 : 브라우저
122 : 익스텐더 로더 124 : 마크업 렌더링 프로세서
126 : 구문 프로세서 128 : DOM 프로세서
130 : 플러그인 패키지 132 : 익스텐더
134 : 익스텐션 모듈 140 : 프리젠테이션 장치
본 발명은 브라우저 디자인 분야에 관한 것으로, 특히, 지원 마크업 언어(supported markup language)를 확장하기 위해 플러그인 프레임워크(plug-in framework)를 사용하는 브라우저에 관한 것이다.
브라우저는 마크업 언어를 기반으로 청각적으로 또는 시각적으로 문서들을 나타내는 프로그램이다. 통상적인 유형의 브라우저는 HTML(hypertext-markup language) 기반 문서를 나타내는 웹 브라우저이다. HTML 문서는 종종 웹 서버에 의해 패킷 기반 프로토콜을 이용하여 네트워크를 통해 클라이언트들에게 제공된다. 본 명세서에서 사용되는 용어 HTML 기반 문서는 일반적으로 XML(Extensible Markup Language) 문서, VoiceXML(Voice eXtensible Markup Language) 문서, WML 문서 등과 같은 HTML로부터 유래된 마크업 언어들을 기반으로 하는 임의의 문서를 말한다.
종래의 웹 브라우저들은 웹 브라우저를 확장하는 작은 코드 조각들인 웹 플러그인들을 사용할 수 있다. 종래의 플러그인은 웹 브라우저 사용자가 HTML 및 이미지들이 아닌 미디어 타입들을 볼 수 있게 해준다. 오디오 및 비디오를 포함해서 웹 사용자가 대량의 멀티미디어 포맷들을 사용할 수 있게 해주는 수백의 플러그인들이 존재한다. 웹 플러그인의 통상적인 예에는 브라우저 사용자가 브라우저 내의 PDF 기반 문서들을 보고 조작할 수 있도록 하기 위한 PDF(portable document format) 플러그인, JAVA 플러그인 및 MACROMEDIA FLASH 객체를 인에이블하기 위한 플래시 플러그인이 포함된다.
종래의 브라우저 및 브라우저 플러그인은 마크업 브라우저가 지원하는 마크업 언어를 확장하는데 실패했다. 대신, 종래의 마크업 플러그인은 표준 HTML 문서 및 표준 마크업 언어 제약 사항들에 기반한다. 따라서, 플러그인 디자이너들은 종종 복합 스크립트, JAVA 애플릿을 구성하거나, 원하는 마크업 언어 익스텐 션(markup language extension)의 부족을 보상하려는 시도에서 <object> 마크업 태그를 사용한다. 모든 메인스트림 브라우저가 브라우저 특정 표현법(idiosyncrasy)을 갖기 때문에, 디자이너들은 상이한 브라우저들에 대한 철저한 스크립트 테스팅을 실행해야 한다. 전형적으로 플러그인은 먼저 플러그인이 실행중인 브라우저를 식별하고, 이후 사용중인 브라우저에 따라 상이한 코드를 실행한다.
마크업 언어를 확장하기 위해 개발자들이 사용하는 다른 대안은 마크업 익스텐션을 포함하도록 특별히 디자인된 독점 브라우저를 사용자들이 사용할 것을 요구하는 것이다. 독점 브라우저를 구성하는 것은, 특히 원하는 특징 또는 언어 익스텐션이 비교적 소수이지만 중요한 특징을 위한 것일 때, 복잡하고 값비싼 작업이 된다. 또한, 독점 브라우저에 대한 의존성은 제품의 시장성을 크게 제한한다. 소비자들은, 특히 브라우저가 단일 콘텐츠 소스로부터의 정보를 액세스하는 데에만 사용되는 경우, 자신의 선호도에 따라 개인화되고 친숙한 웹 브라우저를 사용하기를 원하며, 독점 브라우저를 사용하는 것을 싫어한다.
브라우저 소스 코드가 변경될 필요 없이 새로운 태그, 언어 특징 등이 특정되고 사용되도록 마크업 언어를 확장하는 메커니즘이 필요하다. 이러한 메커니즘은 개발자들이 보다 쉽게 마크업 애플리케이션들을 구성할 수 있게 한다. 예를 들어, 디자이너들은 언어 제약 스크립트에 기반한 "예비 수단(work arounds)"에 의존하는 대신, 제안된 메커니즘을 사용하여 마크업 언어를 확장할 수 있다.
제안된 메커니즘은 사용자의 브라우징 경험을 개선하는데 사용될 수 있다. 예를 들어, 브라우저 지원 마크업 언어를 확장하기 위한 메커니즘을 사용함으로써, 사용자 인식 "표준들"에 보다 가깝게 부합하는 통합 익스텐션을 얻을 수 있다.
예를 들면, 브라우저 내의 PDF 문서들을 볼 때 "PDF" 플러그인에 특정된 버튼 및 기능이 표준 브라우저 버튼 및 기능 대신 사용되어야 하기 때문에, 사용자들은 흔히 혼란을 느낀다. 예를 들어, 표준 PDF 플러그인을 사용하는 브라우저 내에 포함된 PDF 문서에 대해서는 브라우저의 찾기, 복사, 오려두기, 붙이기 기능들이 가능하지 않다. 대신, 찾기, 복사, 오려두기, 붙이기와 같은 기능을 실행하기 원하는 사용자에 의해 플러그인 특정 버튼 및 기능이 사용/선택되어야 한다. 사용자가 브라우저 버튼/기능을 사용하지 못하게 하는 방식으로 플러그인을 구현하면, 사용자는 혼란스럽고 좌절감을 느끼게 된다. 공지된 솔루션들은 개발자가 브라우저 지원 마크업 언어를 실행 시간(runtime)에 확장할 수 있게 해주지 못한다.
본 발명의 일 실시예에 따라 플러그인 프레임워크를 통해 브라우저의 마크업을 확장하는 시스템 및 방법이 본 명세서에 기술된다. 특히, 정의된 마크업 언어를 지원하는 브라우저가 언어 익스텐션들을 포함하는 하나 이상의 패키지들을 로드할 수 있다. 익스텐션은 현존 브라우저 기능 또는 새로운 브라우저 기능의 변경을 나타낼 수 있다. 로드된 언어 익스텐션들은 브라우저에 링크될 수 있어, 브라우저가 언어 익스텐션을 이용하는 마크업을 해석할 수 있다. 언어 익스텐션의 링크는 다수의 방식으로 이루어질 수 있다. 예를 들어, 언어 익스텐션은 브라우저가 나타내는 마크업과 관련된 문서 객체 모델(DOM), DTD(document type definition), 및/또는 스키마를 변경할 수 있다. 링크 구현 방법과 무관하게, 브라우저 언어 익스 텐션은 제3자 벤더(third party vendor)가 마크업 언어 익스텐션을 포함하는 패키지들을 구성할 수 있게 해주는 표준화된 브라우저 독립 방식으로 구현될 수 있다. 사용자는 자신이 선택한 브라우저 내의 익스텐션 패키지들을 이용할 수 있다.
본 발명은 본 명세서에 제시된 자료와 일관된 다수의 특징들에 따라 구현될 수 있다. 예를 들어, 본 발명의 한 특징은 브라우저에 의해 지원되는 마크업 확장 방법을 포함할 수 있다. 상기 방법은 마크업 언어로 기록된 정보를 제공하는 브라우저를 식별하는 단계를 포함할 수 있다. 브라우저가 통상적으로 지원하지 않는 마크업 언어에 대한 적어도 하나의 익스텐션을 포함하는 익스텐더가 식별될 수 있다. 익스텐더가 로드되어, 브라우저에 의해 지원되는 마크업 언어가 익스텐션을 포함하도록 확장될 수 있다.
본 발명의 다른 특징은 브라우저를 포함할 수 있다. 브라우저는 마크업 언어로 기록된 정보를 제공하는 수단을 포함할 수 있다. 브라우저는 웹 브라우저, 음성 브라우저 및/또는 멀티모드 브라우저일 수 있다. 플러그인 프레임워크의 구현은 브라우저에 포함될 수 있다. 플러그인 프레임워크에 따라 플러그인 패키지를 이용하는 수단도 브라우저에 포함될 수 있다. 플러그인 패키지 각각은 브라우저의 소스 코드를 변경하지 않고 브라우저에 의해 지원되는 마크업 언어를 확장할 수 있다.
본 발명의 다양한 특징들이 본 명세서에 기술된 기능을 구현하도록 컴퓨팅 장치를 제어하기 위한 프로그램, 또는 본 명세서에 기술된 단계들에 대응하는 프로세스들을 컴퓨팅 장치가 실행할 수 있게 하기 위한 프로그램으로서 구현될 수 있음 을 유의하여야 한다. 이러한 프로그램은 자기 디스크, 광 디스크, 반도체 메모리, 임의의 기타 기록 매체에 프로그램을 저장함으로써 제공될 수 있으며, 또한, 반송파를 통해 전달된 디지털 인코딩된 신호로서 제공될 수도 있다. 기술된 프로그램은 단일 프로그램이거나, 단일 컴퓨팅 장치 내에서 각각 상호 작용하거나 네트워크 공간을 통해 분산 방식으로 상호 작용하는 다수의 서브프로그램들로서 구현될 수 있다.
본 명세서에 기술된 방법은 서비스 요청에 응답해서 서비스 에이전트에 의해 조작된 기계 및/또는 서비스 에이전트에 의해 적어도 부분적으로 실행되는 방법일 수 있다.
바람직한 실시예들이 도면에 도시되고 있으나, 본 발명은 도시된 수단 및 배열에 한정되지 않음을 알 것이다.
도 1은 본 명세서에 기술된 본 발명의 일 실시예에 따라 지원되는 마크업 언어를 확장하는 기능을 갖도록 구성된 브라우저를 포함하는 시스템(100)의 개략도이다. 시스템(100)은 네트워크 장치(110), 프리젠테이션 장치(140) 및 브라우저(120)를 포함할 수 있다.
네트워크 장치(110)는 마크업 문서(112) 또는 플러그인 패키지(130)를 네트워크(114)를 통해 브라우저(120)에 전달하는 임의의 장치일 수 있다. 네트워크 장치(110)는 물리적 네트워크 장치, 분산되어 있지만 기능적으로 관련된 장치들의 집합, 가상 컴퓨팅 장치 등일 수 있다. 일 실시예에 따르면, 네트워크 장치(110)는 HTTP(Hyper Text Transfer Protocol) 기반 요청들에 응답하여 마크업 문서들(112)을 제공하는 웹 서버를 나타낼 수 있다. 또한, 네트워크 장치(110)는 하나 이상의 플러그인 패키지들(130)을 브라우저(120)에 전달하는 FTP(File Transfer Protocol) 서버를 포함할 수 있다. 본 발명은 임의의 특정 데이터 전달 프로토콜 및 TCP/IP(Transmission Control Protocol/Internet Protocol) 기반 프로토콜 사용으로 한정되는 것으로 해석되지 않으며, 다른 전송 프로토콜이 본 명세서에서 예상된다.
마크업 문서(112) 및 플러그인 패키지(130)는 동일한 네트워크 장치(110)로부터 전달되거나, 상이한 네트워크 장치(110)에 의해 전달될 수 있다. 일 실시예에 따르면, 마크업 문서(112)는 관련 플러그인 패키지(130)와 거의 동시에 전달될 수 있다. 다른 실시예에 따르면, 마크업 문서(112)는 관련 플러그인 패키지(130)가 전달되기 전이나 후에 전달될 수 있다.
예를 들어, 마크업 문서(112)와 관련되고 브라우저(120)가 마크업 문서(112)를 나타내기 위해 필요로 하는 플러그인 패키지(130)는 브라우저(120)가 로드되거나 실증될 때 브라우저(120)에 전달되어 로드될 수 있다. 다른 일례에 따르면, 마크업 문서(112)는 브라우저(120)에 전달될 수 있고, 브라우저(120)는 마크업 문서(112)를 나타내기 전에 관련 플러그인 패키지(130)의 필요성을 결정할 수 있으며, 플러그인 패키지(130)는 결정된 필요성에 따라 자동적으로 또는 상호적으로 획득될 수 있다.
마크업 문서(112)는 문서의 구조 및 외관을 기술하는 마크업 언어에 따라 기 록된 전자 문서를 의미한다. 마크업 문서(112)는 마크업 문서(112)의 콘텐츠가 나타내어지는 방법을 특정하는 플랫폼 독립 스타일들을 기술하는 마크업 태그들을 포함하는 문서일 수 있다. 마크업 문서(112)는 SGML(Standard Generalized Mark-Up Language)의 파생물, 부분집합 및 수퍼세트(superset)를 기반으로 한 문서들을 포함하는 임의의 SGML 기반 문서를 포함할 수 있다. 예를 들어, 마크업 문서(112)는 HTML 마크업 문서, XML 문서, WML(Wireless Markup Language) 문서, VoiceXML 문서 등을 포함할 수 있으나, 이들로만 한정되지는 않는다.
플러그인 패키지(130)는 마크업 언어 익스텐션을 정의하는 전자 메시지를 의미한다. 플러그인 패키지(130)는 통상 브라우저(120)에 의해 지원되지 않는 마크업 언어 익스텐션을 정의할 수 있다. 브라우저(120)는 플러그인 패키지(130)를 로드할 수 있고, 특정 익스텐션에 대한 필요 정보를 추출할 수 있으며, 이후 패키지(130) 명세(specification)에 따라 마크업 문서(112)를 처리할 수 있다. 패키지(130)는 실행 시간에 동적으로 로드될 수 있다. 패키지(130)는 브라우저 확장을 위해 정의된 표준화된 프레임워크에 부합할 수 있다. 따라서, 이용될 브라우저가 표준화된 프레임워크에 대해 특정된 표준에 따른다는 가정 하에, 패키지(130)는 브라우저 독립 방식으로 구현될 수 있다.
플러그인 패키지(130)는 하나 이상의 익스텐더(extender; 132)를 포함할 수 있다. 익스텐더(132)는 마크업 언어와 관련된 기계 판독 가능 명령어들의 집합이다. 익스텐더(132)는 이전에 브라우저에 의해 지원되는 마크업 언어의 부분이 아니었던 새로운 언어 태그, 속성, 특성 또는 객체를 정의할 수 있다. 또한, 익스텐 더(132)는 브라우저(120)의 현존 기능에 대한 대체 기능 또는 기능 구현을 정의할 수 있다.
익스텐더(132)는 익스텐션 모듈(134), 링크 명령어(136)의 집합 및/또는 속성들(138)을 포함할 수 있다. 익스텐션 모듈(134)은 정의된 마크업 기능을 처리하는데 사용되는 코드를 포함할 수 있다. 링크 명령어(136)는 브라우저(120)가 익스텐션 모듈(134)에 링크하는 방식을 특정할 수 있다. 링크 명령어(136)는 익스텐션 모듈(134)이 브라우저(120)에 링크되는 하나 이상의 방식을 특정할 수 있다. 예를 들어, 연결(linkage)은 DTD(document type definition) 연결, 스키마(schema) 연결, DOM(Document Object Model) 연결 및/또는 기타 연결들을 포함할 수 있다.
브라우저(120)는 마크업 문서(112)를 기반으로 출력(142)을 생성할 수 있는 컴퓨팅 장치 상에 제공되는 소프트웨어 애플리케이션을 포함할 수 있다. 출력(142)은 프리젠테이션 장치(142) 상에 제공될 수 있다. 브라우저(120)는 마크업 언어로 기록된 정보를 제공하는 수단을 포함할 수 있는데, 이 제공 수단은 시각 및/또는 음성 정보를 포함할 수 있다.
예를 들어, 브라우저(120)는 프리젠테이션 장치(140) 상에 마크업 문서(112)를 시각적으로 제공하는 웹 브라우저일 수 있다. 또한, 브라우저(120)는 프리젠테이션 장치(140) 상에 제공되는 오디오 출력(142)을 생성하는 음성 브라우저일 수 있다.
마크업 문서(112)를 기반으로 정보를 시각적 및/또는 청각적으로 제공하기 위해 브라우저(120)를 사용하는 기술들이 본 기술 분야에 공지되어 있음을 알 것이 다. 브라우저(120)에 의해 사용되는 프리젠테이션 수단은 임의의 및 모든 공지된프리젠테이션 기술들을 포함한다.
브라우저(120)는 익스텐션 로더(extension loader; 122), 마크업 렌더링 프로세서(markup rendering processor; 124), 구문 프로세서(syntax processor; 126) 및 DOM 프로세서(128)를 포함할 수 있다. 익스텐션 로더(122)는 플러그인 패키지(130)를 로드할 수 있다. 익스텐션 로더(122)는 링크 명령어들(136) 및 속성들(138)에 따라 브라우저(120)에 익스텐션 모듈(134)을 링크하거나 부착할 수 있다.
일 실시예에 따르면, 익스텐션 로더(122)는 익스텐션 모듈(134)을 데이터 저장소(data store; 129) 내에 배치할 수 있다. 데이터 저장소(129)는 브라우저(120)에 국부적인 저장 공간에 위치하거나, 브라우저(120)로부터 원격으로 위치한 저장 공간에 위치할 수 있다. 원격으로 위치할 때, 데이터 저장소(129)는 네트워크(116)를 통해 액세스될 수 있다.
익스텐션 로더(122)는 실행 시간에 익스텐더(132)를 로드할 수 있다. 속성들(138)은 익스텐션 로더(122)가 익스텐더(132)를 로드하는 다양한 시간들을 특정할 수 있다. 예를 들어, 브라우저(120)가 로드할 때, 마크업 문서(112)가 파싱될(parsed) 때, 마크업 문서(112)가 표시될(rendered) 때, DOM 이벤트가 발생할 때 등에 익스텐더(132)가 로드될 수 있다.
마크업 렌더링 프로세서(124)는 마크업 문서(112)를 렌더링하거나 해석하는 런타임 프로세서일 수 있다. 마크업 렌더링 프로세서(124)는 구문 프로세서(126) 및/또는 DOM 프로세서(128)를 사용할 수 있다. 익스텐션 모듈(134)에 대한 소프트웨어 훅(hook)이 마크업 렌더링 프로세서(124)의 적합한 위치 내에 포함될 수 있다.
구문 프로세서(126)는 마크업 문서(112)에 포함된 요소, 속성, 코멘트, 노트(note) 및 엔티티(entity)의 리스트 및 이들 상호간의 관계를 포함할 수 있다. 일 실시예에 따르면, 구문 프로세서(126)는 마크업 문서(112)의 구조 및 규칙이 DTD에 의해 정의되는 DTD 프로세서일 수 있다. 또한, 구문 프로세서(126)는 마크업 문서(112)에 포함된 XML 코드를 사용하여 구조 및 규칙들을 정의하는 XML 스키마 프로세서일 수 있다.
구문 프로세서(126)는 DTD 또는 스키마를 동적으로 생성하는 기능을 가질 수 있다. 예를 들어, 링크 명령어들(136)은 익스텐더(132)에 기능적으로 격리된 DTD 단편들(snippets)을 포함할 수 있다. 단편들은 실행 시간에 자동 및 동적으로 기존의 정적 DTD 명령어들에 추가될 수 있다. 즉, 구문 프로세서(126)는 링크 명령어들(136)을 기반으로 마크업 문서(112)를 파싱하는데 사용될 운용 DTD(operational DTD)를 생성할 수 있다.
DOM 프로세서(128)는 구조화된 문서들을 플랫폼 및 언어 중립 방식으로 표현하기 위한 공식적 W3C(World Wide Web Consortium) 표준에 따라 구조화된 문서들을 처리할 수 있다. 일 실시예에 따르면, 익스텐더(132)는 마크업 문서(112)의 DOM API에 훅 된다(hooked). DOM 프로세서(128)는 DOM 내에서 트리거되는 DOM 이벤트 핸들러들을 생성할 수 있다. 일 실시예에 따르면, 이는 DOM 노드 메쏘드(DOM node method) "addEventHandler"를 통해 달성될 수 있다. 예를 들어, 익스텐더(132)에 의해 정의된 새로운 태그의 프로세싱을 처리하기 위해, 상기 태그에 대한 DOM 이벤트가 생성될 수 있으며, 이후 DOM 이벤트 핸들러가 DOM 노드에 추가될 수 있다.
프리젠테이션 장치(140)는 출력(142)을 제공할 수 있는 임의의 장치일 수 있다. 일 실시예에 따르면, 프리젠테이션 장치(142)는 브라우저(120)가 실행되는 클라이언트 장치일 수 있다. 예를 들어, 프리젠테이션 장치(142)는 컴퓨터, PDA(personal data assistant), 태플릿 컴퓨터 및 스마트 폰을 포함할 수 있다. 또한, 프리젠테이션 장치(120)는 음성 브라우저에 의해 생성되는 가청 출력을 나타내는 전화 장치일 수 있다.
네트워크(116) 및 네트워크(140)는 반송파로 인코딩된 데이터의 전달을 허용하도록 구성될 수 있다. 네트워크(116) 및 네트워크(140)는 하나 이상의 근거리 통신망, 광역 통신망, 대도시 통신망 등을 포함할 수 있다. 또한, 네트워크(116) 및 네트워크(140)는 패킷 기반 컴포넌트 및 회로 기반 컴포넌트를 포함할 수 있다. 네트워크(116) 및 네트워크(140)는 무선 및 유선 기반 통신 경로들을 포함할 수 있다.
또한, 네트워크(116) 및 네트워크(140)는 단일 기계를 포함하는 장치들을 서로 통신적으로 링크하는 컴퓨팅 컴포넌트들을 포함할 수 있다. 또한, 네트워크(116) 및 네트워크(140)는 가상 기계 또는 분산된 컴퓨팅 장치로서 기능하는 장치들을 서로 통신적으로 링크하는 컴포넌트들을 포함할 수 있다. 네트워크(116) 및 네트워크(140)는 TCP/IP 네트워크 프로토콜과 같은 네트워크 기반 통신 프로토 콜을 통해 둘 이상의 원격으로 위치된 컴퓨팅 장치들을 서로 링크하는 컴퓨팅 장치들 및 컴포넌트들 을 더 포함할 수 있다.
시스템(100)의 컴포넌트들 사이의 상호 작용은 다음과 같은 예를 통해 명백해질 수 있다. 이하의 예는 단지 예시의 목적이며 본 발명이 사용된 특정 배치로 한정되는 것으로 해석되지 않음을 알 것이다. 본 예에서, 웹 브라우저(120)는 마크업 문서(112)를 검색하기 위해 웹 서버(네트워크 장치(110))에 액세스할 수 있다. 마크업 문서(112)는 새로운 마크업 언어 태그 <data>를 포함할 수 있으며, 이는 다음과 같다.
Figure 112006079535009-pat00001
코드 1 : 데이터 태그를 갖는 샘플 HTML 문서
데이터 태그는, ("submit" 태그가 사용될 때 발생하는) HTML 페이지의 재-로드를 야기하지 않으면서 원격 서버에 메시지를 전송하는 기능을 제공할 수 있다. <data> 태그는 "uri" 및 "namelist" 속성들을 포함할 수 있는데, "uri"는 데이터 푸시 위치를 특정하고 "namelist"는 요청시 전송될 변수의 리스트를 제공한다.
플러그인 패키지(130)는 <data> 태그를 구현하기 위한 익스텐더(132)를 포함할 수 있다. 플러그인 패키지는 다음과 같은 기술자(descriptor)를 포함할 수 있 다. 본 기술자는 DTD 기술(DTD description), 익스텐션 포인트(extension point), 파스 모듈(parse module) 및 프로세스 모듈을 패키지하기 위해 JAVA 아카이브(JAR)를 이용한다.
Figure 112006079535009-pat00002
코드 예 2 : 플러그인 패키지용 샘플 기술자
플러그인 패키지(130) 및 마크업 문서(112)는 네트워크(114)를 통해 브라우저(120)에 전달될 수 있다. 익스텐더 로더(122)는 브라우저(120)에서 플러그인 패키지(130)를 로드할 수 있다. 플러그인 패키지 로드는 익스텐션 모듈(134)을 트리거하기 위한 링크 설정을 포함할 수 있다. 익스텐션 모듈(134)은 데이터 저장소(129)에서 로드될 수 있다. 익스텐션 모듈(134)을 참조하는 포인터가 마크업 렌더링 프로세서(124)에 의해 트리거될 때 익스텐션 모듈(134)은 실행될 수 있다.
일 실시예에 따르면, 브라우저(120)의 플러그인 프레임워크는 새로운 마크업을 나타내는 DTD가 정의되도록 요구할 수 있다. <data> 특징을 위한 DTD 단편은 다음과 같다.
Figure 112006079535009-pat00003
코드 예 3 : 데이터 익스텐션을 위한 DTD 단편
<data> 익스텐션을 위한 DTD 단편은 실행 시간에 정적 순응 마크업 DTD에 자동적으로 추가될 수 있다. 구문 프로세서(126)는 실행 시간에 마크업 DTD에 <data> 익스텐션을 추가할 수 있다. 즉, 구문 프로세서(126)는 플러그인 패키지(130)를 취할 수 있으며 마크업 문서(112)를 파싱할 때 사용되는 운용 DTD를 동적으로 생성할 수 있다.
일 실시예에 따르면, 브라우저(120)용 플러그인 프레임워크는 데이터 익스텐션이 마크업 문서(112)의 DOM API에 훅 하도록 요구할 수 있다. DOM 프로세서(128)는 "addEventHandler"와 같은 DOM 노드 메쏘드를 사용하여 DOM 내에서 트리거되는 DOM 이벤트 핸들러들을 생성할 수 있다. <data> 익스텐션을 위한 DOM 이벤트 핸들러의 일례는 다음과 같다.
Figure 112006079535009-pat00004
코드 예 4 : 데이터 익스텐션을 위한 DOM 이벤트 핸들러
DOM 이벤트 핸들링은 DOM 명세에 따른 모든 브라우저 구현의 일부임을 알 것 이다. 따라서, DOM 이벤트로서 익스텐션 포인트를 추가함으로써, 임의의 DOM 순응 브라우저에서 데이터 익스텐션의 통합(seamless integration)이 가능하다.
도 2는 본 명세서에 기술된 본 발명의 일 실시예에 따라 브라우저의 마크업 언어를 확장하는 방법(200)의 흐름도이다. 일 실시예에 따르면, 방법(200)은 시스템(100)의 환경에서 실행될 수 있다. 그러나, 방법(200)은 여기에 한정되지 않으며, 실행 시간에 지원된 마크업 언어를 확장하기 위한 확장 가능 프레임워크를 갖는 임의의 브라우저의 환경에서 실행될 수 있다.
방법(200)은 브라우저가 익스텐더를 포함하는 패키지를 수신할 수 있는 단계(205)에서 시작될 수 있다. 익스텐더는 브라우저를 위한 마크업 언어 익스텐션을 특정할 수 있다. 단계(210)에서, 익스텐더는 브라우저에 로드될 수 있다. 단계(215)에서, 브라우저에 의해 지원되는 마크업이 익스텐더 내에 특정된 마크업 언어 익스텐션을 포함하도록 갱신될 수 있다. 단계(220)에서, 추가적인 익스텐션 패키지들이 존재하는지에 대한 결정이 이루어질 수 있다. 각각의 익스텐션 패키지는 하나 이상의 익스텐더를 포함할 수 있다. 익스텐션 패키지들이 존재하면, 방법은 단계(220)에서 단계(210)으로 돌아갈 수 있으며, 각각의 패키지 및 포함된 익스텐더는 차례로 로드될 수 있다. 익스텐션 패키지가 존재하지 않는 경우, 방법은 단계(220)에서 단계(225)로 진행할 수 있다.
단계(225)에서, 마크업 언어 익스텐션을 포함하는 마크업 문서는 브라우저에 의해 처리될 수 있다. 단계(230)에서, 언어 익스텐션을 처리하기 위해 익스텐더에 의해 제공된 코드가 트리거될 수 있다. 단계(235)에서, 트리거된 코드가 실행될 수 있다. 익스텐더 제공 코드(extender provided code)가 실행된 후에, 마크업 문서는 통상적인 방식으로 계속해서 처리될 수 있다. 익스텐더 제공 코드가 브라우저 외부 위치에서 실행되면, 단계(230)에서 제어가 외부 코드 세그먼트로 넘겨질 수 있고, 익스텐더 제공 코드가 단계(235)에서 실행될 수 있으며, 이후 제어는 다시 브라우저로 넘겨질 수 있다.
단계(240)에서, 마크업 문서가 일단 처리되었으면, 결과 출력이 프리젠테이션 장치에 제공될 수 있다. 예를 들어, 브라우저가 웹 브라우저이고 프리젠테이션 장치가 컴퓨터일 때, 마크업 문서는 컴퓨터의 디스플레이 내에서 시각적으로 표시될 수 있다. 다른 일례에 따르면, 브라우저는 음성 브라우저일 수 있으며 프리젠테이션 장치는 오디오 장치일 수 있다. 마크업의 오디오 표현은 오디오 장치의 오디오 송수신기(transceiver)를 통해 재생될 수 있다.
본 발명은 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어의 조합으로 구현될 수 있다. 본 발명은 하나의 컴퓨터 시스템으로 집중된 방식으로 구현되거나, 상이한 소자들이 수개의 상호 연결 컴퓨터 시스템들을 통해 확산된 분산 방식으로 구현될 수도 있다. 본 명세서에 기술된 방법들을 실행하도록 적응된 임의의 종류의 컴퓨터 시스템들 또는 다른 장치들이 적합하다. 하드웨어 및 소프트웨어의 전형적인 조합은 로드 및 실행될 때 본 명세서에 기술된 방법들을 실행하도록 컴퓨터 시스템을 제어하는 컴퓨터 프로그램을 갖는 범용 컴퓨터 시스템일 수 있다.
또한, 본 발명은 본 명세서에 기술된 방법들의 구현들을 가능케 하는 모든 특징들을 포함하고, 컴퓨터 시스템에서 로드될 때 이러한 방법들을 실행할 수 있는 컴퓨터 프로그램 제품으로 구현될 수 있다. 본 문맥에서의 컴퓨터 프로그램은 정보 프로세싱 기능을 갖는 시스템이 직접 또는 a) 다른 언어, 코드 또는 표기로의 변환 후에, 또는 b) 상이한 자료 형태로의 재생 후에 특정 기능을 실행하게 하도록 의도된 명령어 집합의 임의의 언어, 코드 또는 표기 내의 임의의 표현을 의미한다.
본 발명에 따라, 브라우저 소스 코드가 변경될 필요 없이 새로운 태그, 언어 특징 등이 특정되고 사용되도록 마크업 언어를 확장하는 메커니즘이 제공된다. 이러한 메커니즘은 개발자들이 보다 쉽게 마크업 애플리케이션들을 구성할 수 있게 한다.
또한, 상기 메커니즘은 사용자의 브라우징 경험을 개선하는데 사용될 수 있으며, 개발자가 브라우저 지원 마크업 언어를 실행 시간에 확장할 수 있게 한다.

Claims (20)

  1. 브라우저에 의해 지원되는 마크업을 확장하는 방법으로서,
    플러그인 패키지가 마크업 언어로 기록된 정보를 제공하는 브라우저를 식별하는 단계;
    상기 플러그인 패키지가 상기 마크업 언어에 대한 적어도 하나의 익스텐션을 포함하는 익스텐더를 식별하는 단계 - 상기 브라우저는 통상적으로 상기 익스텐션을 지원하지 않음 -;
    상기 브라우저가 상기 익스텐더를 로드하는 단계; 및
    상기 브라우저가 상기 익스텐션을 포함하도록 상기 브라우저에 의해 지원되는 상기 마크업 언어를 확장하는 단계
    를 포함하는 방법.
  2. 청구항 2은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 익스텐더 식별 단계, 상기 로드 단계 및 상기 확장 단계는 상기 브라우저가 로드될 때 자동적으로 발생하는 방법.
  3. 청구항 3은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 익스텐더 식별 단계, 상기 로드 단계 및 상기 확장 단계는 실행 시간에 자동적이고 동적으로 발생하는 방법.
  4. 청구항 4은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
  5. 제1항에 있어서,
    상기 확장 단계는 상기 브라우저의 소스 코드를 변경하지 않고 발생하는 방법.
  6. 제1항에 있어서,
    상기 익스텐션은 상기 마크업 언어의 이전 부분이 아닌 새로운 마크업에 대한 정의, 플랫폼 객체의 정의 및 플랫폼 속성의 정의 중 적어도 하나를 포함하는 방법.
  7. 청구항 7은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 익스텐션은 상기 브라우저의 현존 기능을 상기 현존 기능과 동일한 기능의 상이한 구현으로 대체하는, 방법.
  8. 제1항에 있어서,
    상기 브라우저를 위한 플러그인 프레임워크를 정의하는 단계를 더 포함하고,
    상기 익스텐더는 상기 플러그인 프레임워크에 부합하는 플러그인 패키지의 부분이고, 상기 플러그인 패키지는 적어도 하나의 익스텐션을 위한 기계 판독 가능 코드의 코드 모듈을 포함하고, 상기 플러그인 패키지는 상기 코드 모듈을 상기 브라우저에 링크하는 프로그램 명령어들을 포함하는 방법.
  9. 청구항 9은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 플러그인 패키지가 상기 마크업 언어에 대한 적어도 하나의 상이한 익스텐션을 포함하는 상이한 익스텐더를 식별하는 단계;
    상기 브라우저가 상기 상이한 익스텐더를 로드하는 단계; 및
    상기 브라우저가 상기 상이한 익스텐션을 포함하도록 상기 브라우저에 의해 지원되는 상기 마크업 언어를 확장하는 단계
    를 더 포함하는 방법.
  10. 청구항 10은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    상기 브라우저는 다수의 익스텐션들을 로드하고, 이후 상기 다수의 익스텐션들을 포함하도록 상기 브라우저에 의해 지원되는 상기 마크업 언어를 확장하며, 상기 다수의 익스텐션의 로드 단계는 동시에 발생하고, 상기 다수의 익스텐션들은 상기 적어도 하나의 익스텐션을 포함하는 방법.
  11. 제1항에 있어서,
    상기 익스텐더 로드에 응답하여 상기 마크업 브라우저로 적어도 하나의 익스텐션 포인트를 훅(hooking)하는 단계; 및
    상기 익스텐션을 구현하기 위한 코드를 포함하는 익스텐션 모듈을 로드하는 단계를 더 포함하고,
    상기 익스텐션 포인트는 상기 익스텐션 모듈의 코드를 지시하는 방법.
  12. 청구항 12은(는) 설정등록료 납부시 포기되었습니다.
    제11항에 있어서,
    상기 훅 단계는 문서 객체 모델(DOM) 응용 프로그램 인터페이스(API)로 상기 익스텐션 포인트를 훅하는 단계를 더 포함하는 방법.
  13. 청구항 13은(는) 설정등록료 납부시 포기되었습니다.
    제1항에 있어서,
    DOM 이벤트로서 상기 익스텐더에 의해 정의된 익스텐션 포인트를 추가하는 단계 - 상기 익스텐션 포인트는 상기 익스텐션을 위한 코드를 실행하는데 사용됨 -;
    상기 브라우저가 상기 DOM 이벤트를 트리거하는 단계
    를 더 포함하는 방법.
  14. 다수의 코드 섹션들을 갖는 컴퓨터 프로그램이 저장되어 있는 컴퓨터로 읽을 수 있는 기록 매체로서, 상기 컴퓨터에 의해 실행 가능한 상기 코드 섹션들은 상기 컴퓨터가
    마크업 언어로 기록된 정보를 제공하는 브라우저를 식별하는 단계;
    상기 마크업 언어에 대한 적어도 하나의 익스텐션을 포함하는 익스텐더를 식별하는 단계 - 상기 브라우저는 통상적으로 상기 익스텐션을 지원하지 않음 -;
    상기 익스텐더를 로드하는 단계; 및
    상기 익스텐션을 포함하도록 상기 브라우저에 의해 지원되는 상기 마크업 언어를 확장하는 단계
    를 실행하게 하는 컴퓨터로 읽을 수 있는 기록 매체.
  15. 브라우저로서,
    마크업 언어로 기록된 정보를 제공하는 수단;
    플러그인 프레임워크의 구현기; 및
    상기 플러그인 프레임워크에 따라 플러그인 패키지들을 이용하는 수단
    을 포함하고,
    상기 플러그인 패키지들 각각은 상기 브라우저의 소스 코드를 변경하지 않고 상기 브라우저에 의해 지원되는 상기 마크업 언어를 확장하는 브라우저.
  16. 제15항에 있어서,
    상기 플러그인 프레임워크는 새로운 마크업의 정의와 상기 새로운 마크업에 대한 속성들의 정의 및 구현을 허용하는 브라우저.
  17. 제16항에 있어서,
    상기 플러그인 프레임워크는 제16항의 상기 정의를 허용하기 위해 DTD(Document Type Definition) 언어 및 XML 스키마 중 적어도 하나를 사용하는 브 라우저.
  18. 청구항 18은(는) 설정등록료 납부시 포기되었습니다.
    제15항에 있어서,
    상기 플러그인 패키지들을 이용하는 수단은 동시에 다수의 상이한 플러그인 패키지들을 로드하도록 구성되고, 상기 상이한 플러그인 패키지들 각각은 상기 플러그인 패키지에 특정한 상기 브라우저에 의해 지원되는 상기 마크업 언어에 대한 적어도 하나의 익스텐션을 포함하는 브라우저.
  19. 제15항에 있어서,
    상기 플러그인 프레임워크는 상기 마크업 언어를 확장하는 코드를 첨부 및 실행하도록 결정자(definer) 기능을 제공하고, 상기 코드의 첨부는 마크업이 파싱되는 시간, 마크업이 렌더링되는 시간 및 DOM 이벤트가 발생하는 시간으로 구성된 그룹 중에서 선택된 적어도 하나의 시간에 발생하는 브라우저.
  20. 청구항 20은(는) 설정등록료 납부시 포기되었습니다.
    제16항에 있어서,
    상기 브라우저는 DOM 이벤트 핸들링을 구현하고, 상기 플러그인 패키지들을 이용하는 수단은 상기 플러그인 패키지들 각각에 의해 정의된 익스텐션 포인트를 DOM 이벤트로서 추가하는 수단을 포함하는 브라우저.
KR1020060106124A 2005-11-02 2006-10-31 플러그인 프레임워크를 사용하는 브라우저의 마크업 확장 KR100843581B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/266,621 2005-11-02
US11/266,621 US7739589B2 (en) 2005-11-02 2005-11-02 Extending markup of a browser using a plug-in framework

Publications (2)

Publication Number Publication Date
KR20070047701A KR20070047701A (ko) 2007-05-07
KR100843581B1 true KR100843581B1 (ko) 2008-07-04

Family

ID=37998117

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060106124A KR100843581B1 (ko) 2005-11-02 2006-10-31 플러그인 프레임워크를 사용하는 브라우저의 마크업 확장

Country Status (3)

Country Link
US (1) US7739589B2 (ko)
KR (1) KR100843581B1 (ko)
CN (1) CN1959675A (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7231606B2 (en) 2000-10-31 2007-06-12 Software Research, Inc. Method and system for testing websites
JPWO2005098659A1 (ja) * 2004-04-08 2008-02-28 株式会社ジャストシステム 文書処理装置及び文書処理方法
US7945853B2 (en) * 2005-09-12 2011-05-17 Microsoft Corporation Script markup
US20080072069A1 (en) * 2006-09-15 2008-03-20 Emc Corporation Protecting client-side code
US7881932B2 (en) * 2006-10-02 2011-02-01 Nuance Communications, Inc. VoiceXML language extension for natively supporting voice enrolled grammars
US20080134012A1 (en) * 2006-11-30 2008-06-05 Sony Ericsson Mobile Communications Ab Bundling of multimedia content and decoding means
US20080244293A1 (en) * 2007-03-29 2008-10-02 Morris Robert P Methods, Systems, And Computer Program Products For Providing For Automatically Closing Application Widgets Based On Markup Language Elements
US8392890B2 (en) * 2007-10-15 2013-03-05 Software Research, Inc. Method and system for testing websites
US10216854B2 (en) * 2007-07-26 2019-02-26 International Business Machines Corporation Optimized page script downloads in a component based architecture
US8786628B2 (en) * 2007-09-14 2014-07-22 Microsoft Corporation Rendering electronic chart objects
US9317258B2 (en) * 2007-12-10 2016-04-19 International Business Machines Corporation Dynamic validation of models using constraint targets
US8375379B2 (en) * 2008-01-31 2013-02-12 SAP France S.A. Importing language extension resources to support application execution
US8638343B2 (en) * 2009-04-30 2014-01-28 Microsoft Corporation Data visualization platform performance optimization
US9250926B2 (en) * 2009-04-30 2016-02-02 Microsoft Technology Licensing, Llc Platform extensibility framework
US20120166941A1 (en) * 2010-12-24 2012-06-28 Microsoft Corporation Content processing with extensibility
CN102110168B (zh) * 2011-03-16 2013-09-25 深圳市五巨科技有限公司 一种移动终端浏览器功能扩展方法及装置
CN103246660A (zh) * 2012-02-07 2013-08-14 腾讯科技(深圳)有限公司 一种实现浏览器的扩展功能方法及装置
US9250983B2 (en) 2012-06-01 2016-02-02 Blackberry Limited System and method for sharing items between electronic devices
EP2669795A1 (en) * 2012-06-01 2013-12-04 BlackBerry Limited System and method for sharing items between electronic devices
GB2507749A (en) * 2012-11-07 2014-05-14 Ibm Ensuring completeness of a displayed web page
WO2014075509A1 (zh) * 2012-11-13 2014-05-22 北京奇虎科技有限公司 浏览器进行页面元素处理的方法及装置
CN103049320B (zh) * 2012-12-17 2016-05-04 广州市动景计算机科技有限公司 在浏览器中启动外部应用程序的方法和装置
CN104102660B (zh) * 2013-04-09 2019-05-03 腾讯科技(深圳)有限公司 基于用户设备浏览器进行pdf阅读的方法和装置
CN105988846B (zh) * 2015-03-03 2019-11-05 腾讯科技(深圳)有限公司 页面加载方法及页面加载装置
CN107368487B (zh) * 2016-05-12 2020-09-29 阿里巴巴集团控股有限公司 一种页面组件动态布局方法、装置及客户端
CN106980550A (zh) * 2017-03-23 2017-07-25 青岛海信电器股份有限公司 扩展接口调用方法及装置
CN107102877A (zh) * 2017-04-26 2017-08-29 国网辽宁省电力有限公司信息通信分公司 一种跨浏览器插件的自适应方法
EP3486772A1 (en) * 2017-11-16 2019-05-22 Siemens Aktiengesellschaft Method for reciprocally integrating applications in an industrial program-control system
US11100075B2 (en) * 2019-03-19 2021-08-24 Servicenow, Inc. Graphical user interfaces for incorporating complex data objects into a workflow
US11226807B1 (en) 2020-07-31 2022-01-18 Rapid7, Inc. Self-dependent upgrade of Java runtime environments

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266937B1 (ko) * 1997-03-14 2000-10-02 포만 제프리 엘 브라우저확장방법및시스템
KR20010079555A (ko) * 1998-07-24 2001-08-22 비센트 비.인그라시아, 알크 엠 아헨 대화식 서비스 및 그 방법을 위한 마크업 언어

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6857124B1 (en) * 1999-01-11 2005-02-15 Eolas Technologies, Inc. Method and system for hypermedia browser API simulation to enable use of browser plug-ins and applets as embedded widgets in script-language-based interactive programs
US6477550B1 (en) * 1999-03-16 2002-11-05 Mcafee.Com Corporation Method and system for processing events related to a first type of browser from a second type of browser
IL130972A0 (en) * 1999-07-15 2001-01-28 Hotbar Com Israel Ltd Method for the dynamic improvement of internet browser appearance and connectivity
US6792575B1 (en) * 1999-10-21 2004-09-14 Equilibrium Technologies Automated processing and delivery of media to web servers
AU2001231259A1 (en) * 2000-02-04 2001-08-14 America Online Incorporated System and process for delivering and rendering scalable web pages
US6766356B1 (en) * 2000-09-14 2004-07-20 Genesys Conferencing, Ltd. Method and system for remotely modifying presentations in a multimedia conference
US7610547B2 (en) * 2001-05-04 2009-10-27 Microsoft Corporation Markup language extensions for web enabled recognition
US7069562B2 (en) * 2001-12-12 2006-06-27 Sun Microsystems, Inc. Application programming interface for connecting a platform independent plug-in to a web browser
AUPS138502A0 (en) * 2002-03-27 2002-05-09 Aceinc Pty Limited Browsing tools and methods
US7424717B2 (en) * 2002-05-01 2008-09-09 Bea Systems, Inc. Systems and methods for business process plug-in development
US8086559B2 (en) * 2002-09-24 2011-12-27 Google, Inc. Serving content-relevant advertisements with client-side device support
US8108488B2 (en) * 2002-11-18 2012-01-31 Jackbe Corporation System and method for reducing bandwidth requirements for remote applications by utilizing client processing power
US20040254832A1 (en) * 2003-06-12 2004-12-16 Michael Harkin Integrated browser plug-in and user defined database

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100266937B1 (ko) * 1997-03-14 2000-10-02 포만 제프리 엘 브라우저확장방법및시스템
KR20010079555A (ko) * 1998-07-24 2001-08-22 비센트 비.인그라시아, 알크 엠 아헨 대화식 서비스 및 그 방법을 위한 마크업 언어

Also Published As

Publication number Publication date
CN1959675A (zh) 2007-05-09
US7739589B2 (en) 2010-06-15
KR20070047701A (ko) 2007-05-07
US20070101322A1 (en) 2007-05-03

Similar Documents

Publication Publication Date Title
KR100843581B1 (ko) 플러그인 프레임워크를 사용하는 브라우저의 마크업 확장
US7194683B2 (en) Representing and managing dynamic data content for web documents
KR101367928B1 (ko) 컨테이너 문서로의 원격 모듈 편입
US7814410B2 (en) Initial server-side content rendering for client-script web pages
US9805009B2 (en) Method and device for cascading style sheet (CSS) selector matching
US8185819B2 (en) Module specification for a module to be incorporated into a container document
US20050038796A1 (en) Application data binding
US7788341B1 (en) Displaying results of server-side form validations without page refresh
US7194473B1 (en) Application platform development environment
US20030050931A1 (en) System, method and computer program product for page rendering utilizing transcoding
US20040268249A1 (en) Document transformation
US20130007586A1 (en) Method and system for creating and using web feed display templates
US20100229081A1 (en) Method for Providing a Navigation Element in an Application
US20100083097A1 (en) System And Method For Determining The Data Model Used To Create A Web Page
US6829758B1 (en) Interface markup language and method for making application code
US20070234200A1 (en) Model view controller modeling language
US20090164920A1 (en) System, method and apparatus for inserting a virtual tool bar into a markup language document
US10095801B2 (en) Providing interaction between a first content set and a second content set in a computer system
JP2006318138A (ja) Webシステム、Webシステム用サーバコンピュータおよびコンピュータプログラム
Jacobs Introduction to Server-Side XML
Stormer Adapting Web Sites for Mobile Devices-A Comparison of Different Approaches
Moroney Beginning Web Development, Silverlight, and ASP. NET AJAX: From Novice to Professional
Palviainen et al. Browsing and development platform of mobile applications
KR20080052785A (ko) 사용자 생성 서비스 제공 시스템 및 그 방법과 이를포함하는 정보통신 시스템

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
LAPS Lapse due to unpaid annual fee