KR100297632B1 - 에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치 - Google Patents

에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR100297632B1
KR100297632B1 KR1019990018247A KR19990018247A KR100297632B1 KR 100297632 B1 KR100297632 B1 KR 100297632B1 KR 1019990018247 A KR1019990018247 A KR 1019990018247A KR 19990018247 A KR19990018247 A KR 19990018247A KR 100297632 B1 KR100297632 B1 KR 100297632B1
Authority
KR
South Korea
Prior art keywords
html
data
browser
web
requested
Prior art date
Application number
KR1019990018247A
Other languages
English (en)
Other versions
KR20000005694A (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 KR20000005694A publication Critical patent/KR20000005694A/ko
Application granted granted Critical
Publication of KR100297632B1 publication Critical patent/KR100297632B1/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
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 HTML 브라우저(browser)로부터 복수의 로칼 및 원격 데이터 스트림(data stream) 형식을 투명하게(transparently) 접속(accessing)하기 위한 방법 및 장치를 제공한다. 어떤 HTML 브라우저로서 동일 플랫폼(platform) 상에서 그러나 분리된 프로세스 안에서 작동하는 마이크로 웹 브라우저(micro web browser)가 개시된다. 마이크로 웹 브라우저의 능력은 스트림이 브라우저에 도착하기 전에 데이터 스트림을 처리하고, 다른 프로토콜(protocol)을 HTTP로 그리고 다른 데이터 형식을 HTML로 해석(translation)하는 것을 포함하며, 해석은 도중에 또는 페이지가 디스크 상에 저장될 때 수행된다. 마이크로 웹 서버(micro web server)는 복합된 매체 검색을 더 허용할 수 있다(예를 들면, 먼저 유저 하드 드라이브, 다음에 유저 CD, 다음에 월드 와이드 웹을 검색함). 마이크로 웹 서버의 추가의 능력은 패스워드 보호, 자동화된 백그라운드 다운로드(background download), 링크의 인텔리전트 사전 인출(intelligent pre-fetch), 스마트 백그라운드 프린팅(smart background printing) 및 페이지 로크아웃(page lock-out)과 모니터링(monitoring)을 포함하는 보안 메카니즘(security mechanism), CD-Rom과 DVD를 포함하는 매체의 신장(decompression), 광고(advertisement)를 스트림으로 그리고 일치하는 버튼(button)을 모든 HTML 페이지로 부가함을 포함하는 데이터 스트림 변경을 포함한다.

Description

에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치{Method and apparatus for transparently accessing multiple data stream types from an HTML browser}
본 발명은 일반적으로 컴퓨터 네트워크(computer network)에 관한 것으로, 특히 클라이언트 브라우저(client browser)의 동작을 향상시키는 방법에 관한 것이다.
인터넷, 특히 월드 와이드 웹(World Wide Web)은 계속해서 엄청난 명성(publicity)을 얻고 있다. 그것은 전세계를 커버(cover)하는 상호 연결된 컴퓨터 네트워크의 집합이다. 이 현상을 집합적으로 포함하는 컴퓨터의 네트워크는 지난 6 년 동안 매 10 개월마다 크기 면에서 거의 두 배의 경이적인 비율로 성장해왔다. 활용 가능한 데이터는 인터넷 그 자신만큼이나 빠르게 성장해 왔고, 그리고 테라바이트(terabyte)의 크기로 평가된다.
월드 와이드 웹은, 사용자 접속을 하이퍼미디어-기반(hypermedia-based) 정보와 자료로 제공하는 모든 컴퓨터(서버)를 나타내는 인터넷의 부분이다. 하이퍼미디어는 인터넷을 항해하는 유저가 한 위치 또는 한 자료로부터 다른 곳으로 포인트-앤드-클릭(point-and-click)으로 쉽게 이동하는 것을 가능하게 한다. 브라우저(browsers)는 메뉴 옵션, 클릭 되는 아이콘과 이미지, 버튼 , 그래픽, 및 웹으로부터 정보의 파일을 접속하기 위해 사용되는 링크를 가지고서 웹에 대한 그래픽 인터페이스(graphical interface)를 제공한다. 이러한 파일들은 '자료'('document')로 알려져 있다. 웹 자료는 꼭 한 페이지일 수도 있고, 또는 몇 페이지일 수 있다. 자료가 꼭 한 페이지일지라도, 다른 자료로의 링크가 일반적으로 발견될 수 있고, 그리고 그들 자료로부터 다른 곳으로 링크가 존재한다. 일반적으로 접속되는 제 1 자료는 그것이 일반적으로 작성자의 이름, 그것이 비즈니스이면 회사 이름, 그리고 자료 내용으로의 포인터즈(pointers)를 가지기 때문에 그렇게 이름지워지는 엔트리 '포인트' 또는 홈페이지를 가진다.
월드 와이드 웹은 세계를 통해 컴퓨터(서버) 상에 상주하는 멀티미디어 자원을 전송하고 디스플레이하기 위한 몇 프로토콜(protocol)을 사용한다 그들 중의 하나는 HTTP(HyperText Transport Protocol)이다. HTTP는 인터넷에 클라이언트-서버 환경을 제공하기 위하여 웹 서버와 상호 동작한다. HTTP는 무한한 양의 상호 연결된(interlinked) 자원에의 접속을 제공하기 위하여 인터넷의 능력을 지원한다.
인터넷의 기본 모델은 스트레이트 포워드(straightforward)이고, 그것은 포괄적인 클라이언트/서버 애플리케이션으로 간주될 수 있다. 클라이언트 프로그램(웹 브라우저)은 유저가 원하는 자원(자료)의 어드레스를 알 필요가 있고, 서버와 통신하는 방법을 필요로 한다. 어드레스는 통합 자원 지정자(Uniform Resource Locator : URL)로 알려지고, 통신 수단은 HTTP와 같은 프로토콜을 경유한다. URL은 디스플레이되는 자료 안에 실제적으로 실재한다. 유저가 하이퍼텍스트 링크(hypertext link)를 클릭할 때, 브라우저(browser)는 자료로부터 URL을 얻는다. 프로토콜과 어드레스가 주어지면, 브라우저는 서버로의 연결을 개방하기 위하여 요청을 전송한다. 연결이 이루어지면, 브라우저는 자료를 위한 요청을 전송한다. 그것이 존재하면, 서버는 자료를 전송하고 그것의 연결 말단으로부터 연결을 끊는다. 전술된 바와 같이, 원격 웹 서버로부터 얻어지는 제 1 정보는 홈 페이지(home page)로 알려진다. 홈 페이지는 그 컴퓨터 상에 또는 범세계적인 다른 웹 서버 상에 상주하는 일련의 다른 자료, 파일, 그리고 자원으로의 초기화 인터페이스(initial interface)이다.
서버에 의해 리턴되는 자료는 HTML(Hypertext Markup Language) 코맨드(command)와 함께 포맷된다. HTML은 제목, 작은 표제, 굵은 선, 이탤릭체, 그리고 동일 컴퓨터(서버) 상에서 자료 내 공간 사이에서의, 또는 인터넷 상의 어딘가에 위치한 다른 원격 서버로 뛰어넘는 것을 가능하게 하는 하이퍼링크를 생성하고, 포맷하고, 그리고 확인하기 위해 사용되는 컴퓨터 프로그램 언어이다. HTML은 자료에 삽입되고 자료를 디스플레이하는 브라우저로 이 표시된 엘리먼트의해석(tramslation)을 맡기는 코드 또는 태그의 표준 셋트로 구성된다. 월드 와이드 웹 페이지는 HTML 페이지 기술 언어 안에서 기록되고 구성된다. 다른 브라우저가 HTML 언어의 다소 복잡한 버전을 이해한다는 사실에도 불구하고, 웹 브라우저를 위한 사실상의 표준은 웹 브라우저가 가장 적게 HTML 자료를 해석하는 것이다. 불행하게도, 모든 웹 브라우저가 동일한 방법으로 동작하지 않는다. 일부 브라우저는 그래픽을 지원하고, 다른 것은 그렇지 않다. 일부 브라우저는 광범위한 포맷팅 지원 특성을 가지고, 반면에 다른 것은 매우 적게 가진다. 일부는 더욱 향상된 특성을 지원하지 않는다.
HTML에 융통성 있는 웹 브라우저는 코맨드의 스트림을 분석하고 그리고 코맨드 스트림에서 제재(material)를 나타내는 디스플레이 이미지를 구성하기 위해 그들 고유의 오퍼레이팅 환경으로부터 툴(tool)을 사용한다. 더욱이, HTML의 융통성 있는 웹 브라우저는, HTML에서 포맷되고, 인터넷 네트워크 상의 많은 서버 중의 하나로부터 또는 파일로부터 오는 웹 페이지를 전형적으로 기다린다. 어느 경우에서든, HTML 스트림은 페이지가 어디에서 오는지를 정의하여야 한다. 웹 페이지가 여러 매체(CD-Rom, DVD)에서 온다면, 일반 브라우저 및 표준 HTML은 그것을 취급할 수 없다.
현재 브라우저 기술의 다른 결점은 유저가 링크를 시작하는 시간과 웹 페이지의 리턴 사이의 한정적인 시간 기간에 관한 것이다. 우리는 스피드(speed)와 편의(convenience)가 규범이 된 세계에 살고 있다. 범세계적으로 국가의 경제가 점차적으로 상호 의존적이 됨에 따라, 정보 전달의 스피드는 가치 있고 경쟁력 있는툴(tool)이 되어 간다. 인터넷이 대량의 정보를 신속하게 이동시키는 것에 관하여 견줄 데가 없지만, 인터넷의 많은 유저들은 여전히 네트워크를 통하여 자료를 전송하는데 요구되는 시간에서 고유의 지연 상에서 다양한 정도의 좌절감을 경험한다. 네트워크를 통하여 이미지를 전송하기 위해 소요되는 시간의 양은 다수의 요소에 의존하고, 그들 중에는 전송률(transfer rate), 데이터의 양, 네트워크 트래픽, 그리고 저장 디바이스의 처리 속도(throughput speed)가 있다. 네트워크가 일반적으로 많은 서브 네트워크로 구성되므로, 실제적인 데이터 전송률을 평가하는 것은 극히 어렵다. 네트워크의 백본(backbone)이 광섬유이지만, 그러나 백본으로부터 호스트 또는 클라이언트 컴퓨터로의 링크가 이더넷(ethernet) 또는 더욱 나쁘게 모뎀(modem)과 같이 보다 느린 것이라면, 전송률은 나빠질 것이다.
데이터 전송률에 영향을 미치는 제 2의 가장 유력한 요소는 전송되는 데이터의 양이다. 데이터가 많을수록, 네트워크를 통해 그것을 전송하는 데 더 긴 시간이 소요된다. 예를 들면, 디지털 이미지는 극히 집약적인 데이터이다. 일부 웹 자료는 많은 인라인(inline) 이미지 또는 매우 약간의 큰 이미지를 가지고 있어, 느린 연결(모뎀) 상에서 로드(load) 하는데 몇 분이 걸릴 수 있다. 데이터 정리 기술(data reduction technique)이 충격을 감소시키기 위해 채용될 수 있지만, 균형을 취함(tradeoff)이 이미지의 품질이 될 수 있다.
제 3 의 변수는, 그것에 대해 유저가 제어를 가지지 않는데, 네트워크 트래픽에 관련한다. 이상의 요소의 결합은, 월드 와이드 웹 상에서 클라이언트와 서버 사이에서의 정보의 교환을 저해하고 결과적으로 엔드 유저(end user)를 좌절 시키는 상황을 만든다.
존재하는 브라우저 기술과 연관된 다른 결점은, 멀티미디어 자원이 인터넷 상에서 전송되고 디스플레이되는, 계속 증가하는 프로토콜 리스트의 제한된 인식에 관련된다. 월드 와이드 웹은 기본적으로 다음의 세 가지 서비스, HTTP, 고퍼(Gopher), 그리고 FTP로 구성되는 것으로 일반적으로 간주된다. 넷스케이프 내비게이터(Netscape Navigator)와 같은 대중적인 브라우저는 웹 서버로부터 하이퍼텍스트 자료(hypertext document)를 접속하기 위해 HTTP 프로토콜을 활용한다. HTTP는, 웹 클라이언트가 비하이퍼텍스트 콘텐트(nonhypertext content) 뿐만 아니라 다른 하이퍼텍스트 콘텐트로 연결할 수 있는 하이퍼텍스트 콘텐트를 수신 가능하게 하는 서비스이다. 그 자신 안에서 그리고 그 자신 중에서, HTTP는 다른 많은 프로토콜과 같은 인터넷 프로토콜이다. 그것의 대중성은 그것의 초기 사용으로부터 주로 유래한다. 오늘날, 현세대의 브라우저에 의하여 현재 지원되지 않는 다수의 더욱 효율적인 프로토콜이 존재한다. 일반 브라우저가 HTTP외에 다른 새로운 또는 존재하는 프로토콜을 활용하는 자원을 접속할 수 있는 것이 바람직하다.
인터넷과 연관된 또 다른 단점은 보안성이다. 보안성과 그것의 많은 의미는 인터넷의 시초 이래로 실질 관심사가 되어왔고 지금도 그러하다. 부모들은, 그들의 아이들이 청소년을 위한 것으로 의도되지 않고 성인 지향의 계속 증가하는 양의 정보에 대해 쉽게 접속을 획득하거나 또는 부주의하게 노출되는 위험을 가진다는 것에 대해 관심을 가진다. 고용주는, 그들 고용주의 요구를 만족시키는 외의 다른 목적을 위해 인터넷을 활용하는 것으로부터 억제되어야 하는 그들의 피고용자에게 관심을 가진다. 인터넷의 광범위한 법인 허가가 주어지면, 법인 수준에서의 자원의 비생산적인 사용은 수 십억의 달러(dollar)를 낭비되는 자원으로 바뀔 수 있다.
복수 프로토콜, 보안성, 전송 속도, 그리고 비-HTML 데이터 스트림(datastream)에 덧붙여, 또 다른 관심은 파일 압축의 논점에 관한 것이다. 반면에, 압축(compression) 및 신장(decompression) 파일은 오늘날의 파일 크기와 전송률의 필연 결과이다. 유저가 오늘날 존재하는 다른 압축 포맷과 버전의 여러 형태에 관심을 가지지 않아도 되는 것이 바람직할 것이다.
따라서, 현재의 브라우저 기술과 연관된 여러 결점을 다루는 방법 및 장치를 위한 요구가 존재한다.
따라서, 본 발명의 목적은 하드 디스크 캐쉬(hard disk cache)를 포함하고, 네트워크로부터 CD-Rom 및 DVD를 포함하는 판독 전용 매체를 포함하는 다양한 매체 자원으로부터 URL 요청을 승인하기 위한 수단을 제공함으로써 웹 브라우저의 동작을 향상시키는 것이다.
본 발명의 다른 목적은 입력데이터 스트림을 변경하기 위한 수단을 제공함으로써 웹 브라우저의 동작을 향상시키는 것이다( 예를 들면, 광고를 스트림에 허용하는 것, 또는 일치된 버튼의 셋트를 모든 HTML 페이지에 부가하는 것, 또는 스마트 프린팅(smart printing), 사이트 뷰어(site viewer), 그리고 스마트 사이트 검색(smart site searching)을 포함하는 JAVA 애플리케이션을 부가하는 것).
본 발명의 또 다른 목적은 CD-Rom 및 DVD와 같은 압축된 미디어 콘텐트로의 접속을 허용하기 위하여 암호화된 포맷 안에서 다운로드된 정보를 해독하기 위한 능력을 제공함으로써 웹 브라우저의 동작을 향상시키는 것이다.
본 발명의 또 다른 목적은 유저 접속을 오직 특정 미디어 또는 미디어의 일부로 허용할 수 있는 보안 메카니즘을 제공함으로써 웹 브라우저의 동작을 향상시키는 것이다.
본 발명의 또 다른 목적은, 마이크로 웹 서버(micro web server)가 HTTP(Hypertext Transfer Protocol) 이외의 다른 프로토콜을 사용하여 정보에 접속할 수 있는 웹 브라우저의 동작을 향상시키는 것이다.
본 발명의 또 다른 목적은 유저 요청 HTML 페이지와 연관된 다운로드 속도의 유저 인지(perception)를 향상시키기 위한 수단을 제공함으로써 웹 브라우저 동작을 향상시키는 것이다.
도1은 HTML 융통성 있는 월드 와이드 웹(world wide web)을 지원하는 대표적인 클라이언트 컴퓨터(client computer)를 나타내는 도면.
도2a는 인터넷을 나타내는 통신 모델의 도식적인 종래 기술 다이아그램.
도2b는 본 발명의 장치(예를 들면, 마이크로 웹 서버)를 통합하는 인터넷을 나타내는 통신 모델의 도식적 다이아그램.
도3은 마이크로 웹 서버(micro web server)에 의하여 제공되는 기능적 향상 - 각 기능적 향상이 전용 커널(kernel)에 의하여 나타내어짐 - 을 설명하는 도면.
도4는 정보가 다양한 자원의 하나로부터 마이크로 웹 서버를 경유하여 유저로 입력되는 것에 대한 본 발명의 바람직한 방법의 플로우챠트.
도5a 내지 도 5c는 정보가 유저로부터 마이크로 웹 서버, MWS를 경유하여 다양한 자원의 하나로 출력하는 프로세싱에 대한 바람직한 실시예의 플로우챠트.
* 도면의 주요 부분에 대한 부호의 설명
4 오퍼레이팅 시스템(operating system)
5 웹 브라우저(web browser)
6 마이크로 웹 서버(micro web server : MWS)
16 HTTP 요청
54 제 1 커널(URL 룩업)
56 제 2 커널(데이타 스트림 변경)
58 제 3 커널 (사이트/페이지 백그라운드 인출)
60 제 4 커널(압축)
62 제 5 커널(보안성)
64 제 6 커널(해석)
따라서, 본 발명의 이들 및 다른 목적은, 브라우저로서 동일 기계 상에서 그러나 분리된 프로세스 안에서 작동하는 마이크로 웹 서버(이제부터 MWS로 함)에 의하여 달성된다. 이것은, HTML 데이터 스트림이 브라우저에 도착하기 전에 로칼 프로세싱이 발생되게 하고, 그럼으로써 그 스트링의 조종(manipulation)을 허용하며, 반면에 표준 규격의(off the self) 브라우저 기술을 여전히 사용한다. MWS는 브라우저와 그 브라우저가 요청하는 데이터 사이에 실제적으로 위치한다. 브라우저 시각에서 보면, 사실상 데이터가 다양한 소스의 셋트로부터 올 수 있을 때, 모든 데이터는 웹 서버로부터 온다. MWS는 브라우저와 데이터 스트림 사이에서 인텔리전트 브로우커링(intelligent brokering)을 허용한다.
MWS는 다른 프로토콜을 HTTP로 그리고 다른 데이터 형식을 HTML로의 변경을 허용하고, 이것은 표준 HTML 브라우저(예를 들면, IBM 3270 스크린 포맷 및 프로토콜)를 사용하여 정상적으로 디스플레이될 수 없는 자료의 접속 및 디스플레이를 허용할 수 있다.
이 메카니즘은 하이브리드 원격-로칼 미디어 파라다임(paradigm)을 허용할 수 있으며, 여기서 백엔드(back end)(예를 들어, DB2 데이터 베이스)가 완전히 로칼 미디어 상에 상주할 수 있고 또는 로칼 및 원격 미디어 사이에서 분리될 수 있다. 더욱이, URL들이 웹으로부터 인출(fetch)되기 전에, 이 메카니즘은 URL의 변경을 허용한다.
MWS 메카니즘은 인텔리전트하게(intelligently) 링크를 미리 인출함으로써 페이지 다운로드(page download) 시간의 인지를 더욱 향상시킬 수 있다. 즉, 페이지가 MWS에 의하여 인출될 때마다, URL로의 어떤 참조가 기록된다. 페이지가 디스플레이를 위하여 브라우저로 송신된 후에, MWS는 가능한 링크의 리스트를 조사하고(go through) 그들 링크의 사전-인출을 시작하고 그리고 그들 링크를 로칼 드라이브(local drive)에 캐쉬(cache)한다.
MWS는 또한 웹 자료의 프린팅(printing)을 향상시키기 위해 사용된다. 유저가 전체 자료가 프린트되기를 요청한다면, MWS는 백그라운드 안에서 전체 자료를 인출하고 그것을 프린트하기 위해 링크의 인텔리전트 사전-인출 안에서 유사한 분석을 사용할 수 있다.
전술한 것은 본 발명의 더 관련 있는 목적의 일부를 약술하였다. 이들 목적은 본 발명의 더욱 중요한 특성 및 애플리케이션의 일부를 단지 설명한 것으로 추론되어야 한다. 많은 다른 유익한 결과가 다른 방법으로 게시된 본 발명을 응용하고 또는 기술되는 바와 같이 본 발명을 변경함으로써 달성될 수 있다. 따라서, 본 발명의 다른 목적과 보다 충분한 이해는 다음과 같은 바람직한 실시예의 상세 설명을 참조함으로써 얻어질 수 있다.
본 발명은, 컴퓨터 판독 가능 포맷 상에서 저장된 컴퓨터 프로그램으로서 컴퓨터 안에서 바람직하게 실시된다. 여기에서, 컴퓨터 프로그램이 컴퓨터에 의해 실행 가능한 프로그램 서술(program statement)로 이루어진다. 컴퓨터는 프로세서, 오퍼레이팅 시스템, 복수의 로칼 저장 디바이스, 그래픽 유저 인터페이스, 인터넷으로의 원격 연결을 위한 수단, 그리고 HTTP에 융통성 있는(HTTP-compliant) 브라우저로 바람직하게 구성된다.
도1은 본 발명이 실시되는 대표적인 클라이언트 컴퓨터(1)를 나타내는 블록 다이아그램이다. 시스템 유니트(1)는, 여러 콤포넌트가 결합되는, 그리고 그것에 의하여 디바이스 사이에서 상호 통신이 발생하는 시스템 버스(2)를 포함한다. 램(RAM)(3)은 오퍼레이팅 시스템(4)과 브라우저(5) 및 마이크로 웹 서버(6)와 같은 애플리케이션 프로그램이 로드(load)되는 주 메모리(main memory)이다. RAM은유저에 의하여 요청되는 바와 같이 인터넷으로부터 다운로드된 정보를 캐쉬하는 부가의 기능을 또한 제공(serve)할 수 있다. 또한 도2에서 하드 디스크 드라이브(7), 플로피 디스크(8), CD-Rom(9), 그리고 DVD(10)가 전형적인 로칼 저장 매체의 대표적인 것으로 나타내어진다.
클라이언트 컴퓨터의 오퍼레이팅 시스템(4)은 어떤 알려진 또는 활용 가능한 오퍼레이팅 시스템일 수 있다. 바람직한 실시예에서 브라우저는 HTML과 HTTP에 융통성 있는 것으로 간주된다. 알려진 브라우저 소프트웨어는 현재 사용중인 일부 더욱 대중적인 브라우저를 명명하는 넷스케이프, 넷스케이프 내비게이터 2.0 및 3.0, 인터넷 익스플로러, 그리고 모자익을 포함한다. 본 발명은 이들 알려진 또는 개발중인 웹 브라우저의 어떤 것과 호환하여(in concert with) 동작할 수 있도록 설계된다.
본 발명에 따라서, 마이크로 웹 서버(6)는 브라우저(5)를 따르지만 분리된 프로세스로 클라이언트 컴퓨터(1) 상에서 작동한다. 이것은, HTML 데이터 스트림이 브라우저(5)에 도착하기 전에 발생할 입력 데이터 스트림의 로칼 프로세싱을 허용하고, 그럼으러써 그 스트링의 조종을 허용하고, 반면에 여전히 표준 규격 브라우저 기술을 사용한다.
본 발명의 바람직한 동작에서, 유저에게 본 발명의 특성이 표준 브라우저와 함께 활용될 것인지 아닌지, 본질적으로 본 발명이 연결되는(switch on)지를 선택하기 위한 선택권이 주어진다. 유저가 본 발명을 활용하는 것을 선택하는 상황에서, 어떤 선택권이 패스워드 보호 검사(password protection checking)에 관련하여제시된다. 페이지를 인출하려고 할 때 MWS가 수행하는 제 1 동작은 유저가 페이지를 접속하는 것이 허용되는지를 검사하는 것이다. 유저에게 보여지는 것이 허용되는 페이지의 패스워드 보호 리스트와 사이트 또는 보여지는 것이 허용되지 않는 페이지의 리스트와 사이트가 주어질 수 있다. 이것은 비용이 지불된 후에 유저에게 주어진 리스트를 또한 초래할(encompass) 수 있으며, 따라서 어떤 사이트는 그들과 연관된 조회 비용을 가진다. 페이지가 인출될 때, 그것은 리스트에 대해 검사된다. 페이지가 조회 가능하지 않다면, 문제를 설명하는 페이지는 브라우저로 송신된다. MWS는 나중의 재조회 및 모니터링(monitoring)을 위해 요청된 모든 페이지의 리스트를 또한 유지할 수 있다.
도2a는 인터넷을 가장 잘 설명하는 통신 모델, 즉 브라우저와 서버의 네트워크가 정보를 전송하고 수신하기 위한 목적을 위해 함께 작동하는 클라이언트/서버 구조의 통신 모델에 대한 종래 기술의 설명이다. 도2a는 클라이언트 컴퓨터(12) 상에서 클라이언트 프로그램으로 작동하는 브라우저(14)가 HTTP 프로토콜(16)을 경유하여 인터넷 상의 어느 곳의 다른 컴퓨터(22) 상에 작동하는 서버 프로그램(20)으로부터 정보를 요청하는 전형적인 클라이언트/서버 쌍을 나타낸다. 그 서버는 HTTP 프로토콜(18)을 활용하는 HTML 형식 자료를 경유하여 넷트(Net) 상에서 요청된 데이터를 웹 브라우저로 다시 송신하고, 웹 브라우저는 데이터를 해석하고 클라이언트 스크린 상에 디스플레이한다. 클라이언트 시각에서 볼 때, 웹을 브라우징(browsing)하는 것은 두 개의 기본적 하드웨어 요구를 수반하며, 그것은 인터넷으로의 연결을 가져야 하며 그리고 웹 브라우저 프로그램을 작동시킬 수 있어야 한다.
도2b는 본 발명의 장치를 결합한 인터넷 통신 모델의 설명이다. 도 2b에서 도시된 클라이언트/서버 구조는 도2a에서 설명된 그것과 유사하나, 도2b는 동일한 클라이언트 컴퓨터(12) 상이지만 분리된 프로세스 안에서 표준 브라우저(14)를 따라 클라이언트 프로그램으로 작동하는 마이크로 웹 서버(micro web server : MWS)의 포함을 설명한다. 브라우저 시작 요청(browser initiated request)(16)은 원격 컴퓨터(40) 상에서 작동하는 원격 웹 서버(38), 다른 매체(CD-Rom, DVD를 포함)(42), 요청을 시작하는 클라이언트 컴퓨터(24) 내부로의 파일 시스템(44), 또는 네트워크 안에서의 다른 서버를 포함하는 다양한 목적지로의 요청 발행에 앞서 어떤 요구되는 사전-프로세싱(pre-processing)을 위해 MWS(31)에 의하여 처음으로 가로채어진다(intercepted). 브라우저(26)로부터 발생하는 HTTP 요청에 대한 결과로서, MWS가 표준 브라우저(26)로의 HTML 동작(30)으로서 데이터 스트림을 통과시키기에 앞서 어떤 요구되는 사전-프로세싱을 위한 MWS(31)로의 소스에 의존하면서, 브라우저(26)에 의하여 수신되는 HTML 재동작은 HTML 또는 비-HTML 데이터 스트림으로서 도2b에서 설명되는 다양한 소스의 하나로부터 먼저 라우트(route)된다.
도3은 표준 브라우저(50)와 여러 외부 및 내부 매체(예를 들면, 도2에서 도시된 66, 68, 70, 그리고 72) 사이의 중재 프로세스(intermediate process)로서 MWS(52)의 결합에 의하여 제공되는 기능적 향상을 기술한다. 표준 브라우저가 새로운 페이지를 요청할 때마다, 하나 또는 그 이상의 기능이 요청을 용이하게 하기 위하여 MWS(52) 내에 포함된 여러 커널(kernel)에 의하여 수행될 수 있다.
그러한 기능(커널)은 다음을 포함한다.
1) 제 1 커널 - URL 룩업(lookup)(54) - MWS는 MWS로부터의 URL 요청을 받아들일 수 있고, 소스가 무슨 매체로부터 오는지를 차례차례 결정할 수 있다( 예를 들면, 하드 디스크 캐쉬 HD, CD-Rom 또는DVD와 같은 또는 네트워크로부터의 판독 전용 매체, 그럼으로써 혼합된 매체 검색(예를 들면, 제 1 HD, CD 또는 DVD, 웹)을 허용함). 소스가 결정되면, 적절한 페이지는 MWS를 경유하여 브라우저로 전송될 것이다. 이 기능성은 위성 또는 케이블을 포함하는 매체를 경유하여 웹 페이지 방송의 수신을 용이하게 한다.
2) 제 2 커널 - 데이터 스트림 변경(56) - 외부 소스로부터의 MWS에 의하여 수신되는 데이터 스트림에 대하여, 데이터 스트림을 표준 브라우저 상으로 통과시키기에 앞서 MWS는 다수의 방법으로 데이터 스트림을 변경할 수 있다. 이러한 변경은 배타적이 아니고, 광고를 스트림에 더하고, 일치된 버튼의 셋트를 모든 또는 사전-지정된(pre-specified) 수의 HTML 페이지에 더하고, 및/또는 JAVA 애플렛(예를 들면, 스마트 프린팅, 사이트 조회자, 스마트 사이트 검색)을 더하는 것을 포함할 수 있다.
3) 제 3 커널 - 사이트/페이지 백그라운드 인출(58) - 네트워크 속도의 유저 인지는, 유저가 백그라운드에서 그 페이지와 결합된 링크를 현재 접속하고 사전-인출하는 페이지를 분석함으로써 향상될 수 있다. 이 사전- 인출은 특정 페이지를 인출하기 위하여 어느 때든 유저 요청에 의하여 선취될(preempt) 수 있다.
4) 제 4 커널 - 압축(60) - 데이터 스트림이 웹 서버외의 다른 매체(예를 들면, 로칼 하드 드라이브, CD-Rom, DVD)로부터 수신될 때마다, 그 데이터 스트림은 압축될 수 있다. MWS는, 데이터 스트림이 수신될 때, 어떤 필요한 데이터 스트림의 신장을 수행할 수 있다.
5) 제 5 커널 - 보안성(62) - 여기서, 클라이언트에 의한 오직 특정 데이터 소스 또는 형식으로의 접속이 허용될 수 있다. 브라우저에 의하여 요청되는 페이지를 인출하려고 할 때 MWS에 의하여 수행되는 제 1 동작은 유저가 페이지를 접속하도록 허용되는가를 검사하는 것이다. 유저는 MWS 안에 조회되도록 허용되는 페이지 및 사이트의 패스워드 보호 리스트, 또는 선택적으로 조회되도록 허용되지 않는 페이지 및 사이트의 리스트를 사전-저장(pre-store)할 수 있다. 이것은 사이트와 관련된 조회(view) 비용을 가지는 그 사이트에 대한 사이트 비용을 지불한 이후에 유저에 접속 가능한 허용가능 사이트의 리스트일 수 있다. 페이지가 브라우저에 의하여 요청될 때, 그것은 먼저 리스트에 대하여 검사되어진다. 페이지가 조회 가능한 것으로 간주되지 않는다면, 그 상황을 설명하는 페이지가 브라우저로 송신된다. MWS는 이후의 재조회 및 모니터링을 위하여 요청되는 모든 페이지의 리스트를 부가적으로 유지할 수 있다.
6) 제 6 커널 - 해석(64) - 하나 또는 그 이상의 자동 해석기가, 웹 페이지가 웹으로부터 획득될 때 웹 페이지가 해석될 수 있도록, MWS로 통합될 수 있다. 해석 엔진(translation engine)의 스피드에 의존하여, 해석은 도중에, 또는 페이지가 로칼 디스크 상에 캐쉬될 때 실행될 수 있다.
MWS에 의하여 제공되는 전술된 각 향상은 여기서 기술된 설명 안에서 더욱상세하게 기술될 것이다.
도4에 따르면, 플로우챠트는 일부 외부 소스로부터 유저로 도착하는 데이터 스트림을 위해 수행되는 동작을 도시하는 MWS의 바람직한 동작을 기술한다. 스텝(73)에서, MWS는 입력 데이터 스트림을 수신한다. 스텝(74)에서, MWS는 데이터 스트림이 압축되었는지를 결정하기 위해 먼저 입력 데이터 스트림을 분석한다. 그렇다면, 동작은, 입력 데이터 스트림이 MWS 안에서 내부적으로 저장된 적절한 신장 알고리즘을 활용하여 신장되는 스텝(76)에서 계속된다. 설명적인 실시예에서, 복수의 신장 알고리즘은 MWS 안에서 사전-저장될 수 있다. 입력 데이터 스트림이 압축되지 않았으면, 입력 데이터 스트림이 HTML 포맷 안에 있는지에 대해 결정이 이루어지는 스텝(78)에서 동작이 계속된다. 그렇다면, 동작은 스텝(82)에서 계속되고, 그렇지 않다면, 해석이 스텝(80)에서 도시된 바와 같이 발생한다. MWS는 3270, 5250, 그리고 VT100을 포함하는 다수의 표준 스크린과 터미널 프로토콜을 위한 해석기를 전형적으로 통합할 수 있다.
입력 데이터 스트림이 이미 HTML 포맷 안에 있다면, 어떤 이차적인(secondary) HTML 소스 코드가 있는지에 대해 결정이 이루어지는 스텝(82)에서 동작이 계속된다. 일차적인(primary) 입력 데이터 스트림에 부가되는 부가의 코드는 부가의 HTML 코맨드, JAVA 소스 코드, 또는 JAVA 스크립트 소스 코드(JAVA Script source code)등을 포함할 수 있다. 병합되는 소스 코드의 이 이차적인 스트림은 서버 파일 시스템 안에, 또는 DVD 상에, 또는 서버로부터 인출된 부가의 페이지로서 저장될 수 있다. 이차적인 코드는 광고, 또는 갱신 페이지, 갱신 사이트, 및 페이지로의 연결과 같은 표준 버튼, 또는 사이트 맵(site map), 또는 스마트 프린트 버튼(smart print button)을 포함하는 다수의 방법으로 일차적인 데이터 스트림을 향상시킬 수 있다. MWS는 이차적인 코드 스트림을 언제 삽입할건가 또는 삽입하지 않을 것인가를 결정하기 위한 룰셋트(ruleset)를 포함할 수 있다. 설명적인 실시예에서, 룰셋트는 이차적인 스트림을 항상 더하는 것을 결정할 수 있거나, 또는 그렇지 않으면 어떤 URLs에 대한 이차적인 코드스트림을 오직 더하는 것만을 결정할 수 있다. 룰셋트는 이러한 선택안으로 제한되는 것이 아니고, 그것은 임의의 유저 특정 룰셋트(user specified ruleset)를 실행 가능하게 선택할 수 있다.
이차적인 소스 코드가 일차적인 데이터 스트림에 더하여질 필요가 있다면, 동작은 일차적인 데이터 스트림이 수정되는 스텝(84)에서 계속되고, 그렇지 않으면 동작은 계속적인 프로세싱을 위하여 데이터 스트림이 상주 브라우저(resident Browser) 상으로 통과되는 스텝(86)에서 계속된다. 요청된 데이터가 어떤 로칼 저장 매체 상에 상주하지 않는 것을 수립하였으므로, 웹 페이지는 원격 서버로부터 다운로드 되어야 한다. 이 프로세스에 부가하여, MWS는 백그라운드(투명한) 모드(81)에서 사전-인출 동작을 수행할 수 있다. 사전-인출 동작은, MWS가 URL이 명백한 유저 웹 사이트 요청의 URL과 조화를 이루는 각 하이퍼텍스트 링크와 연관된 데이터를 다운로드하는 것을 요청한다. 다운로드된 정보는 현재의 인터넷 세션 안에서 일부 미래의 포인트에서 잠재적인 클라이언트 요청을 예기하여 지역적으로 캐쉬될 수 있다. 사전-인출 알고리즘은 클라이언트에 의하여 요청되거나 요청될때 정보를 즉시 활용가능 하게 함으로써 클라이언트/서버 세션을 효과적으로 합리화할(streamline) 수 있다. 알고리즘은 인터넷을 통한 파일 전송과 연관된 장애 시간(downtime)을 제거한다.
사전-인출 프로세스는 어떤 명백한 유저 구동 요구에 독립적으로 프로세스가 발생한다는 의미에서 유저-투명한(user-transparent) 것으로 간주된다.
사전-인출 알고리즘은 현재 접속된 웹 사이트와 연관한 그들 링크를 포함하기 위하여 다운로드된 정보를 제한한다. 연관(associated)은, 홈 어드레스가 이중 전방향 슬래쉬(//)의 제 1 셋트와 다음 단일 전방향 슬래쉬(/) 사이의 URL 안에 위치한 동일 호스트 어드레스를 URL이 가짐으로써 정의된다. 홈 어드레스는 요청된 데이터가 상주하는 특정 호스트 컴퓨터를 언급한다. 어드레스의 잔류 부분은 컴퓨터 상에서 요구되는 특정 자원으로의 경로(디렉토리)를 상술한다. 비-연관된 하이퍼텍스트 링크는 사전-인출 알고리즘에 의해 무시될 것이다. 대부분의 컴퓨터의 메모리의 한계가 주어지므로 특정 웹 사이트와 연관된 전체 정보 콘텐트를 다운로드하는 것은 비실용적이라는 상황에서, 유저로 다운로드된 정보는 충분한 공간이 로칼 저장 매체 상에 활용가능한 정도로만 제한될 것이다. 일부 유저 정의된 상한(user defined upper bound)은 사전에 구성될 수 있다.
전술된 바와 같이, 전술된 MWS의 사전-인출 루틴은 그것의 링크 선택을 연관된 페이지를 포함하는 그러한 하이퍼텍스트 링크로만 제한한다. 그러나, 이 제한은 일부 사전-설립된 표준(예를 들면, 통계적인 테스트이고, 최근에 사용된 알고리즘) 상에 기반하여 비-연관 링크에 의하여 정의된 데이터를 다운로드하기 위하여변경될 수 있다. 예를 들면, 일 서술적인 실시예에서, 선택 알고리즘은 어느 하이퍼텍스트를 선택하거나 또는 거절할 것인가를 결정하기위하여 통계적 테스트를 채용할 수 있다. 이 통계적 테스트는 특정 링크의 접속의 기록적 빈도(historical frequency)를 결정하고 어떤 유저 정의 임계치(user defined threshold)를 초과하는 그러한 링크만을 선택하기 위하여 MWS로 만들어진 어떤 사전 정의된 용도 표(usuage table)에 접속할 것이다.
예를 들면, 다른 테스트가 최근에 매우 많이 접속된 그러한 링크에 전적으로 기반하여 하이퍼텍스트 링크를 선택할 수 있다. 여기서, 최근에 매우 많이라는 것은 유저 정의 가능할 것이다. 다른 테스트가 유저 선호(preference)에 또는 다른 유저 정의 표준에 기반하여 구성될 수 있다.
도5에 따르면, 플로우챠트는 출력 데이터에 대하여 MWS에 의하여 수행되는 동작 스텝을 기술한다. 도5의 플로우챠트는 본 발명의 방법에 따라서 유저 요청이 어떤 외부 서버로 라우트되는 프로세스를 나타낸다. 클라이언트 컴퓨터는 월드 와이드 웹 상에서 복수의 서버의 하나로부터 정보를 위한 요청을 전형적으로 시작한다.
요청은 스텝(88)에서 표준 브라우저를 경유하여 클라이언트에 의하여 발행된다. 스텝(90)에서, 요청은 먼저 MWS로 라우트된다. 요청이 MWS에 의하여 수신되면, 프로세스는 스텝(92)으로 계속되고, 여기서 URL 요청이 MWS 기능에 대한 요청을 포함하는지에 대해 결정이 이루어진다. 즉, MWS에 의하여 표준 웹 브라우저로 통합된 기능에 대하여, 이 스텝은 유저가 MWS 제공 기능을 발휘하는(exercise) 것을 시도하는지를 검사한다. 예를 들면, MWS는 프린트 버튼을 삽입하였고, MWS는, 클라이언트에 의하여 발행될 때 프린트 요청 상에서 작동할 수 있어야 한다. MWS는 리턴된 URL 어드레스의 부분으로서 삽입될(embed) 수 있고, 그리고 스텝(94)에서의 실행을 위하여 벗겨진다(strip off). 그렇지 않으면, 동작은 결정 스텝(96)에서 계속되고, 여기서 요청된 데이터의 로칼(캐쉬) 카피(copy)가 내부의 URL 룩업 표(lookup table)를 검색함으로써 로칼 저장 매체(하드-드라이브, CD-Rom, DVD)의 하나 상에 존재하는지에 대해 결정이 이루어진다. 로칼 카피가 존재한다면, MWS는 스텝(98)에서 내부 URL 룩업 표를 사용하여 먼저 로칼 카피 룩업을 행하여야 한다. 동작은 결정 스텝(100)에서 계속되고, 여기서 네트워크(다운로드된) 버전이 버전 날짜(version date)를 포함하는지에 대해 결정이 이루어진다. 그렇다면, 동작은 스텝(104)에서 계속되고, 여기서 MWS는 네트워크 버전 날짜가 이른지(earlier)를 결정하기 위해 로칼 카피의 버전 날짜를 네트워크 카피와 비교한다. 그렇다면, 동작은 스텝(108)에서 계속되고, 여기서 네트워크 버전(network version)이 저장 및 디스플레이 모두를 위해 선택된다. 그렇지 않으면, 스텝(106)에서 로칼 버전(local version)이 저장 및 디스플레이를 위해 선택된다. 로칼 룩업과 연관된 버전 날짜가 존재하지 않으면, 프로세스는 결정 스텝(102)에서 계속되고, 여기서 네트워크 페이지가 사전-인출되었는지에 대해 결정이 이루어진다. 그렇다면, 동작은 스텝(110)에서 계속되고, 여기서 사전-인출된 네트워크 페이지는 저장되고 디스플레이된다. 그렇지 않다면, 동작은 스텝(112)에서 계속되고, 여기서 MWS는 저장 및 디스플레이를 위해 네트워크 페이지를 선택할 것이다. 프로세스는 스텝(120)에서 종료한다. 로칼 카피를 디스플레이하는 것을 수반하는 유일한 상황은 유저가 네트워크에 현재 접속되지 않는 것이다.
로칼 카피가 존재하지 않는 상황에서, 동작은 결정 스텝(114)에서 계속되고, 여기서 MWS는 유저 승인 검사(user authorization check)를 수행할 것이다. 요청된 웹 페이지는 그 유저에 대해 제한된, 비-승인된 웹 페이지로 구성된 MWS 내부로의 표에 대해 검사되어질 것이다. 현재의 유저 요청이 이 리스트 상에서 포함되면, MWS는 스텝(115)에서 특별한 유저를 위한 조회에 대하여 웹 페이지가 승인되지 않는 것을 지시하는 메시지를 유저로 리턴할 것이다. 프로세스는 스텝(120)에서 종료한다. 그렇지 않으면, 요청된 웹 페이지는 승인된 것으로, 그리하여 유저에 의하여 조회 가능한 것으로 간주된다. 요청이 승인된 것으로 간주되는 경우에는, 동작은 결정 스텝(116)에서 계속되고, 여기서 요청된 페이지가 패스워드 보호되는 것인가에 대해 결정이 이루어진다. 그렇다면, 동작은 스텝(118)에서 계속되고, 여기서 유저 ID 및 패스워드는 클라이언트의 신원을 확인하기 위하여 내부의 표에 대하여 MWS에 의하여 검사된다. 스텝(124)에서, 유저 ID 및 패스워드의 유효성에 대해 결정이 이루어진다. 유저 제공 ID 및 패스워드가 유효하지 않은 것으로 입증되면, 동작은 스텝(115)에서 계속되고, 여기서 에러 메시지(error message)가 디스플레이된다. 프로세스는 스텝(120)에서 종료한다. 그렇지 않으면, 유저가 유효한 ID 및 패스워드를 제공하였다면, 동작은 스텝(126)에서 계속되고, 여기서 출력 데이터 스트림이 해석을 요구하는지에 대해 결정이 이루어진다. 해석은 입력 데이터 스트림의 프로토콜이 HTML 이외의 것일 경우에 요청된다. 해석이 요청되지 않으면, 동작은 스텝(130)에서 계속되고, 여기서 요청은 충족되기 위하여 서버로 진행된다. 그렇지 않으면, 적절한 해석이 스텝(128)에서 출력 데이터 스트림 상에서 수행될 것이다. 어떤 요구되는 해석이 수행된 후에, 동작은 스텝(130)에서 계속되고, 여기서 요청은 원격 서버로 진행된다. 프로세스는 스텝(120)에서 종료한다. 본 발명의 바람직한 실시예로 간주되는 것이 나타내어지고 기술되었는 바, 본 발명의 사상을 벗어나지 않고서 형태나 상세 기술면에서 여러 변경과 변화가 용이하게 이루어질 수 있다는 것이 이해될 것이다. 본 발명은 기술되고 설명된 그 형태로 제한되지 않고, 첨부된 특허 청구 범위에 속하는 모든 변경을 수용할 수 있도록 추론되는 것으로 의도된다.
본 발명에 따르면, HTML 브라우저(browser)로부터 복수의 로칼(local) 및 원격 데이터 스트림(remote data stream) 형식을 투명하게(transparently) 접속하기 위한 방법 및 장치를 얻을 수 있으며, 특히 다운로드(download)된 정보를 해독하기 위한 능력을 제공하고, 보안 메카니즘(security mechanism)을 제공하고, 다른 HTTP외의 다른 프로토콜(protocol)을 사용하여 정보에 접속 가능하고, 다운로드 속도의 유저 인지(user perception)를 높이는 수단을 제공함으로써, 향상된 웹 브라우저(web browser)의 동작을 얻을 수 있는 이점이 있다.

Claims (16)

  1. HTML 웹 브라우저(web browser)를 지원하고 유저(user)에 의하여 요청되는 바와 같이 여러 데이터 자원으로부터 웹 브라우저로 HTML 포맷(format)된 콘텐트(content)를 제공하기 위한 마이크로 웹 서버(micro web server)에서, 상기 마이크로 웹 서버는 퍼스날 컴퓨터(personal computer)를 위해 상기 브라우저(browser) 및 오퍼레이팅 시스템(operating system) 사이의 레이어(layer)에서 동작하고,
    (a) 다음 사항을 위한 검색 엔진
    ⅰ) 상기 HTML 웹 브라우저로부터 연관된 URL 어드레스(address)와 함께 웹 페이지(web page)를 포함하는 데이터(data) 요청을 수신함
    ⅱ) 상기 HTML 브라우저로부터 요청된 상기 다양한 데이터 자원으로부터 데이터를 지정함
    ⅲ) 상기 다양한 데이터 자원으로부터 상기 HTML 브라우저에 의하여 요청되는 데이터를 검색함
    ⅳ) 상기 다양한 데이터 자원으로부터 데이터 방송을 수신함
    (b) HTML 포맷팅이 찾아지지 않을 때, 상기 검색된 데이터를 HTML로 해석하기 위한 제 1 커널(kernel)
    (c) 상기 데이터가 압축되어 있을 때, 검색된 데이터 상에서 신장을 수행하기 위한 제 2 커널
    (d) 유저 정의 접속 표에 의하여 결정되는 바와 같은 특정 웹 페이지로 또는특정 웹 페이지의 부분으로 선택적인 접속을 제공하는 제 3 커널
    (e) HTTP 프로토콜이 찾아지지 않는다면, 복수의 인터넷 프로토콜의 하나를 HTTP 프로토콜(protocol)로 해석하기 위한 제 4 커널
    (f) 웹 페이지의 URL 어드레스가 HTML 웹 브라우저로부터의 상기 데이터 요청과 연관된 URL과 일치하는 그 웹 페이지를 투명하게 검색하기 위한 제 5 커널
    (g) 요청되어 상기 다양한 자원으로부터 제공된 상기 데이터를 수정하기 위한 제 6 커널
    을 포함하는
    마이크로 웹 서버.
  2. 제 1 항에 있어서,
    상기 데이터 자원이 적어도 하나의 로칼 데이터 저장 디바이스와 적어도 하나의 원격 서버를 포함하는
    마이크로 웹 서버.
  3. 제 2 항에 있어서,
    상기 로칼 데이터 저장 디바이스(local data storage device)가 하드 디스크(hard disk), DVD, 또는 CD-Rom 중의 하나를 포함하는
    마이크로 웹 서버.
  4. 제 2 항에 있어서,
    상기 로칼 저장 디바이스 상에 상기 요청된 데이터의 로칼 버전이 존재할 때, 그것을 활용하기 위한 수단
    을 더 포함하는
    마이크로 웹 서버.
  5. 제 4 항에 있어서,
    상기 로칼 저장 디바이스 상에 상기 요청된 데이터의 로칼 버전(local version)이 존재할 때, 그것을 활용하기 위한 수단은,
    (ⅰ) 로칼 버전이 존재하는지 결정하기 위하여 상기 마이크로 웹 서버 로칼 저장 디바이스 내부로의 룩업 표(look-up table)를 접속함;
    (ⅱ) 로칼 버전이 존재하면, 연관된 버전 날짜가 있는지를 결정함; 및
    (ⅲ)연관된 버전 날짜가 있다면, 상기 연관된 버전 날짜(version date)를 상기 원격 서버로부터 다운로드된 웹 페이지와 연관된 버전 날짜와 비교함
    을 포함하는
    마이크로 웹 서버.
  6. 제 4 항에 있어서,
    더욱 최신의 버전과 연관된 상기 웹 페이지가 저장되고 디스플레이되는
    마이크로 웹 서버.
  7. 제 1 항에 있어서,
    상기 제 3 커널 안에 포함된 상기 유저 정의 접속 표가 비승인된 URL 웹 페이지의 리스트를 포함하는
    마이크로 웹 서버.
  8. 제 1 항에 있어서,
    상기 요청이 상기 비승인 URL 웹 페이지의 하나에 대해 만들어질 때, 상기 제 3 커널이 상기 유저 요청을 거절하는
    마이크로 웹 서버.
  9. 제 1 항에 있어서,
    상기 제 3 커널 안에 포함된 상기 유저 정의 접속 표가 승인된 URL 웹 페이지의 리스트를 포함하는
    마이크로 웹 서버.
  10. 제 1 항에 있어서,
    상기 요청이 상기 승인된 URL 웹 페이지의 하나에 대해 만들어질 때, 상기 제 3 커널이 상기 유저 요청을 실행하는
    마이크로 웹 서버.
  11. 제 1 항에 있어서,
    상기 제 5 커널이 다운로드된 웹 페이지 상의 어느 URL 위치가 상기 검색 엔진에 의하여 검색될 것인가를 결정하기 위한 알고리즘(algorithm)을 더 포함하는
    마이크로 웹 서버.
  12. 제 1 항에 있어서,
    상기 제 2 커널이 원격 서버로부터 웹 페이지와 연관된 HTML을 신장하기 위한 하나 또는 그 이상의 알고리즘을 포함하는
    마이크로 웹 서버.
  13. 제 12 항에 있어서,
    상기 알고리즘이 통계적 테스트 또는 최근 접속된 테스트를 포함하는
    마이크로 웹 서버.
  14. 제 1 항에 있어서,
    상기 제 6 커널이 요청되어 HTML 코맨드, JAVA 소스코드를 포함하는 이차적인 HTML 소스코드를 가진 상기 다양한 자원으로부터 제공되는 상기 데이터를 수정하는
    마이크로 웹 서버.
  15. HTML 웹 브라우저를 지원하고 유저에 의하여 요청되는 바와 같이 다양한 데이터 자원으로부터 HTML 웹 브라우저로 HTML 포맷된 콘텐트를 제공하기 위한 방법에 있어서, 상기 방법은 퍼스날 컴퓨터를 위하여 상기 브라우저와 오퍼레이팅 시스템 사이의 레이어(layer) 안에서 작동하고,
    (a) 상기 HTML 웹 브라우저로부터 연관된 URL 어드레스와 함께 웹 페이지를 포함하는 데이터 요청을 수신하는 단계;
    (b) 상기 HTML 브라우저에 의하여 요청된 상기 다양한 데이터 자원으로부터 데이터를 지정하는 단계;
    (c) 상기 다양한 데이터 자원으로부터 상기 HTML 브라우저에 의하여 요청된 데이터를 검색하는 단계;
    (d) 상기 다양한 데이터 자원으로부터 제공되는 데이터를 수신하는 단계;
    (e) HTML 포맷팅이 발견되지 않을 때, 상기 검색된 데이터를 HTML 포맷으로 해석하는 단계;
    (f) 상기 데이터가 압축(compression)되어 있을 때, 검색된 데이터 상에서 신장(decompression)을 수행하는 단계;
    (g) 유저 정의 접속 표에 의하여 결정된 바와 같은 특정 웹 페이지 또는 특정 웹 페이지의 일부로 선택적 접속을 제공하는 단계;
    (h) HTTP 프로토콜이 발견되지 않는다면, 복수의 인터넷 프로토콜 중의 하나를 HTTP 프로토콜로 해석하는 단계;
    (i) 웹 페이지의 URL 어드레스가 상기 HTML 웹 브라우저로부터 요청된 상기 데이터와 연관된 URL과 일치하는 그 웹 페이지를 투명하게 수신하는 단계; 및
    (j) 요청되어 상기 다양한 자원으로부터 제공되는 상기 데이터를 수정하는 단계
    를 포함하는
    HTML 포맷된 콘텐트를 제공하기 위한 방법.
  16. HTML 웹 브라우저를 지원하고 유저에 의하여 요청되는 바와 같은 다양한 데이터 자원으로부터 HTML 웹 브라우저로 HTML 포맷된 콘텐트를 제공하기 위한 방법 스텝을 수행하기 위하여 머시인(machine)에 의하여 실행 가능한 명령의 프로그램을 명백하게 구현하는 머시인에 의하여 판독 가능한 컴퓨터 프로그램 디바이스에 있어서, 상기 명령의 프로그램은 퍼스날 컴퓨터를 위해 상기 브라우저와 오퍼레이팅 시스템 사이의 레이어 안에서 작동하고, 상기 방법은,
    (a) 상기 HTML 웹 브라우저로부터 연관된 URL 어드레스와 함께 웹 페이지를 포함하는 데이터 요청을 수신하는 단계;
    (b) 상기 HTML 브라우저에 의하여 요청된 상기 다양한 데이터 자원으로부터 데이터를 지정하는 단계;
    (c) 상기 다양한 데이터 자원으로부터 상기 HTML 브라우저에 의하여 요청된 데이터를 검색하는 단계;
    (d) 상기 다양한 데이터 자원으로부터 제공되는 데이터를 수신하는 단계;
    (e) HTML 포맷팅이 발견되지 않을 때, 상기 검색된 데이터를 HTML 포맷으로 해석하는 단계;
    (f) 상기 데이터가 압축되어 있을 때, 검색된 데이터 상에서 신장을 수행하는 단계;
    (g) 유저 정의 접속 표에 의하여 결정된 바와 같은 특정 웹 페이지 또는 특정 웹 페이지의 일부로 선택적 접속을 제공하는 단계;
    (h) HTTP 프로토콜이 발견되지 않는다면, 복수의 인터넷 프로토콜 중의 하나를 HTTP 프로토콜로 해석하는 단계;
    (i) 웹 페이지의 URL 어드레스가 상기 HTML 웹 브라우저로부터 요청된 상기 데이터와 연관된 URL과 일치하는 웹 페이지를 투명하게(transparently) 수신하는 단계; 및
    (j) 요청되어 상기 다양한 자원으로부터 제공되는 상기 데이터를 수정하는 단계
    컴퓨터 프로그램 디바이스.
KR1019990018247A 1998-06-10 1999-05-20 에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치 KR100297632B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/095,252 1998-06-10
US09/095,252 US6338096B1 (en) 1998-06-10 1998-06-10 System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources

Publications (2)

Publication Number Publication Date
KR20000005694A KR20000005694A (ko) 2000-01-25
KR100297632B1 true KR100297632B1 (ko) 2001-09-26

Family

ID=22250951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990018247A KR100297632B1 (ko) 1998-06-10 1999-05-20 에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치

Country Status (3)

Country Link
US (1) US6338096B1 (ko)
KR (1) KR100297632B1 (ko)
GB (1) GB2340001B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566391B1 (ko) * 2001-06-07 2006-03-31 최안나 웹사이트 인증 확인 시스템 및 방법

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060193278A1 (en) 1997-10-15 2006-08-31 Wolfgang Theimer Mobile telephone for Internet applications
US6370569B1 (en) * 1997-11-14 2002-04-09 National Instruments Corporation Data socket system and method for accessing data sources using URLs
US6564255B1 (en) * 1998-07-10 2003-05-13 Oak Technology, Inc. Method and apparatus for enabling internet access with DVD bitstream content
US8082322B1 (en) 1998-10-27 2011-12-20 Parametric Technology Corporation Federation of information from multiple data sources into a common, role-based distribution model
JP3767721B2 (ja) * 1998-11-27 2006-04-19 セイコーエプソン株式会社 プリンタおよびプリンタの制御方法並びにプリンタを制御するプログラムを記録した記録媒体
US6542882B1 (en) * 1999-04-22 2003-04-01 Gateway, Inc. System and method for providing a database of content having like associations
US6553393B1 (en) * 1999-04-26 2003-04-22 International Business Machines Coporation Method for prefetching external resources to embedded objects in a markup language data stream
US7120167B1 (en) * 1999-06-03 2006-10-10 Matsushita Electric Industrial Co., Ltd. Broadcasting system and its method
US7869462B2 (en) * 1999-06-03 2011-01-11 Panasonic Corporation Broadcast system and method therefor
US6615212B1 (en) * 1999-08-19 2003-09-02 International Business Machines Corporation Dynamically provided content processor for transcoded data types at intermediate stages of transcoding process
KR20010065763A (ko) * 1999-12-30 2001-07-11 구본광 인터넷상에서의 유동적 다중채널과 가변적 스트림을이용한 전송정보 압축 및 해제장치 및 그 방법
US8620286B2 (en) * 2004-02-27 2013-12-31 Synchronoss Technologies, Inc. Method and system for promoting and transferring licensed content and applications
US6671757B1 (en) * 2000-01-26 2003-12-30 Fusionone, Inc. Data transfer and synchronization system
US8156074B1 (en) * 2000-01-26 2012-04-10 Synchronoss Technologies, Inc. Data transfer and synchronization system
SG83191A1 (en) * 2000-02-21 2001-09-18 Cmc Magnetics Corp Method of processing a searching device for carriage information
US20010054087A1 (en) * 2000-04-26 2001-12-20 Michael Flom Portable internet services
US7120676B2 (en) * 2000-04-28 2006-10-10 Agilent Technologies, Inc. Transaction configuration system and method for transaction-based automated testing
KR100473670B1 (ko) * 2000-05-18 2005-03-08 인터내셔널 비지네스 머신즈 코포레이션 웹 페이지 렌더링 방법 및 이를 구현하는 클라이언트 컴퓨터
US8073954B1 (en) 2000-07-19 2011-12-06 Synchronoss Technologies, Inc. Method and apparatus for a secure remote access system
US7895334B1 (en) 2000-07-19 2011-02-22 Fusionone, Inc. Remote access communication architecture apparatus and method
US7069192B1 (en) * 2000-08-25 2006-06-27 Hewlett-Packard Company CAD system
GB2367725A (en) * 2000-10-04 2002-04-10 Cce Ltd Client/server authentication
US7818435B1 (en) * 2000-12-14 2010-10-19 Fusionone, Inc. Reverse proxy mechanism for retrieving electronic content associated with a local network
DE60143969D1 (de) 2000-12-22 2011-03-10 Research In Motion Ltd System und verfahren zum navigieren durch information mit einem drahtlosen kommunikationsgerät
US7213146B2 (en) * 2001-02-20 2007-05-01 Hewlett-Packard Development Company, L.P. System and method for establishing security profiles of computers
US8615566B1 (en) 2001-03-23 2013-12-24 Synchronoss Technologies, Inc. Apparatus and method for operational support of remote network systems
US7231460B2 (en) * 2001-06-04 2007-06-12 Gateway Inc. System and method for leveraging networked computers to view windows based files on Linux platforms
US7912971B1 (en) * 2002-02-27 2011-03-22 Microsoft Corporation System and method for user-centric authorization to access user-specific information
US7076558B1 (en) * 2002-02-27 2006-07-11 Microsoft Corporation User-centric consent management system and method
US7321887B2 (en) * 2002-09-30 2008-01-22 Sap Aktiengesellschaft Enriching information streams with contextual content
US7346668B2 (en) * 2002-05-17 2008-03-18 Sap Aktiengesellschaft Dynamic presentation of personalized content
US20040003097A1 (en) * 2002-05-17 2004-01-01 Brian Willis Content delivery system
US7370276B2 (en) 2002-05-17 2008-05-06 Sap Aktiengesellschaft Interface for collecting user preferences
US7644172B2 (en) * 2002-06-24 2010-01-05 Microsoft Corporation Communicating via a connection between a streaming server and a client without breaking the connection
EP1387300A3 (en) * 2002-07-31 2006-05-24 Hewlett-Packard Development Company, L.P. Establishment of network connections
GB0217795D0 (en) * 2002-07-31 2002-09-11 Hewlett Packard Co Establishment of network connections
US7113960B2 (en) 2002-08-22 2006-09-26 International Business Machines Corporation Search on and search for functions in applications with varying data types
AU2003223169A1 (en) * 2002-09-09 2004-03-29 Metav, Inc. System and method to transcode and playback digital versatile disc (dvd) content and other related applications
US7409454B2 (en) * 2003-06-02 2008-08-05 Microsoft Corporation Automatic detection of intermediate network device capabilities
WO2005010715A2 (en) 2003-07-21 2005-02-03 Fusionone, Inc. Device message management system
US20050080786A1 (en) * 2003-10-14 2005-04-14 Fish Edmund J. System and method for customizing search results based on searcher's actual geographic location
ES2585353T3 (es) * 2004-05-12 2016-10-05 Synchronoss Technologies, Inc. Sistema de identificación de contactos avanzado
US9542076B1 (en) 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US20080082421A1 (en) * 2004-05-12 2008-04-03 Richard Onyon Monetization of an advanced contact identification system
US20110035431A1 (en) * 2004-05-13 2011-02-10 Guttapercha Partners, Inc. Dissemination of Information In an Intermittent Network Connectivity
US20060149730A1 (en) * 2004-12-30 2006-07-06 Curtis James R Client authenticated web browser with access approval mechanism
JP2008546253A (ja) * 2005-05-19 2008-12-18 フュージョンワン インコーポレイテッド 機密保護方法及び情報サービス提供方法
US20070150478A1 (en) * 2005-12-23 2007-06-28 Microsoft Corporation Downloading data packages from information services based on attributes
US20070150595A1 (en) * 2005-12-23 2007-06-28 Microsoft Corporation Identifying information services and schedule times to implement load management
US7659905B2 (en) 2006-02-22 2010-02-09 Ebay Inc. Method and system to pre-fetch data in a network
US8150943B2 (en) * 2006-03-10 2012-04-03 Staples The Office Superstore, Llc Methods and apparatus for dynamically generating web pages
US7650431B2 (en) * 2006-08-28 2010-01-19 Microsoft Corporation Serving locally relevant advertisements
US8666821B2 (en) * 2006-08-28 2014-03-04 Microsoft Corporation Selecting advertisements based on serving area and map area
EP2115611A4 (en) * 2007-01-26 2010-02-03 Fusionone Inc SYSTEM AND METHOD FOR SAFETY STORING CONTENT ON A MOBILE DEVICE
US8156250B2 (en) * 2007-10-29 2012-04-10 James Tyler Parcher Arrangements for a 3270 compatible terminal with browser capability
US8181111B1 (en) 2007-12-31 2012-05-15 Synchronoss Technologies, Inc. System and method for providing social context to digital activity
US8200017B2 (en) * 2008-10-04 2012-06-12 Microsoft Corporation Face alignment via component-based discriminative search
US9213776B1 (en) 2009-07-17 2015-12-15 Open Invention Network, Llc Method and system for searching network resources to locate content
US20110029899A1 (en) 2009-08-03 2011-02-03 FasterWeb, Ltd. Systems and Methods for Acceleration and Optimization of Web Pages Access by Changing the Order of Resource Loading
US8346784B1 (en) 2012-05-29 2013-01-01 Limelight Networks, Inc. Java script reductor
US8495171B1 (en) 2012-05-29 2013-07-23 Limelight Networks, Inc. Indiscriminate virtual containers for prioritized content-object distribution
US9058402B2 (en) 2012-05-29 2015-06-16 Limelight Networks, Inc. Chronological-progression access prioritization
US8255006B1 (en) 2009-11-10 2012-08-28 Fusionone, Inc. Event dependent notification system and method
US9645996B1 (en) 2010-03-25 2017-05-09 Open Invention Network Llc Method and device for automatically generating a tag from a conversation in a social networking website
US9565298B1 (en) * 2010-03-25 2017-02-07 Open Invention Network Llc Method and device for appending information in a conversation in a voice based networking website
US8943428B2 (en) 2010-11-01 2015-01-27 Synchronoss Technologies, Inc. System for and method of field mapping
US9454607B1 (en) * 2010-12-10 2016-09-27 A9.Com, Inc. Image as database
US20120272339A1 (en) * 2011-04-25 2012-10-25 Ganesan Kumaravel Method and system for accessing password-protected data on a device
US9015348B2 (en) 2013-07-19 2015-04-21 Limelight Networks, Inc. Dynamically selecting between acceleration techniques based on content request attributes
KR20170012721A (ko) 2015-07-23 2017-02-03 (주)본엔지니어링 원료절감형 사출금형
US10747824B2 (en) * 2016-12-06 2020-08-18 International Business Machines Corporation Building a data query engine that leverages expert data preparation operations
JP7073070B2 (ja) * 2017-10-11 2022-05-23 キヤノン株式会社 クライアント装置、方法、その処理プログラムおよびプログラムを提供するサーバ
US11120107B2 (en) 2018-12-06 2021-09-14 International Business Machines Corporation Managing content delivery to client devices

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CZ148298A3 (cs) 1995-11-14 1999-08-11 International Business Machines Corporation Systém zpracovávající informace a umožňující generickému www prohlížeči přistupovat na servery s množstvím různých typů protokolů
US5895461A (en) * 1996-07-30 1999-04-20 Telaric, Inc. Method and system for automated data storage and retrieval with uniform addressing scheme
US6037934A (en) 1997-11-21 2000-03-14 International Business Machines Corporation Named bookmark sets

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100566391B1 (ko) * 2001-06-07 2006-03-31 최안나 웹사이트 인증 확인 시스템 및 방법

Also Published As

Publication number Publication date
KR20000005694A (ko) 2000-01-25
GB2340001A (en) 2000-02-09
US6338096B1 (en) 2002-01-08
GB9912801D0 (en) 1999-08-04
GB2340001B (en) 2003-07-16

Similar Documents

Publication Publication Date Title
KR100297632B1 (ko) 에이치티엠엘 브라우저로부터 복수의 데이터 스트림 형식을 투명하게 접속하기 위한 방법 및 장치
US7840894B2 (en) Web page thumbnails and user configured complementary information provided from a server
US6925595B1 (en) Method and system for content conversion of hypertext data using data mining
US6505242B2 (en) Accessing page bundles on a portable client having intermittent network connectivity
EP0811939B1 (en) Method and apparatus for providing proxying and transcoding of documents in a distributed metwork
US6647531B2 (en) Customization of network documents
KR100413309B1 (ko) 모국어 조회 서비스를 제공하기 위한 방법 및 시스템
US7747782B2 (en) System and method for providing and displaying information content
US5966705A (en) Tracking a user across both secure and non-secure areas on the Internet, wherein the users is initially tracked using a globally unique identifier
US7657595B2 (en) Method and system for generating auxiliary-server cache identifiers
US7200804B1 (en) Method and apparatus for providing automation to an internet navigation application
US7010581B2 (en) Method and system for providing browser functions on a web page for client-specific accessibility
US20030187956A1 (en) Method and apparatus for providing access control and content management services
US20020099829A1 (en) Filter proxy system and method
US20020103823A1 (en) Method and system for extending the performance of a web crawler
US20030005159A1 (en) Method and system for generating and serving multilingual web pages
KR20000006096A (ko) 표시제어정보생성방법및컴퓨터
WO2004040481A1 (en) A system and method for providing and displaying information content
Britton et al. Transcoding: Extending e-business to new environments
JP2004531797A (ja) ウェブ・ページの予測キャッシングおよび強調表示
WO2005062205A1 (en) Methods, applications and systems for deriving content from network resources
EP1041497B1 (en) Information fetching control scheme using data type dependent strategy for reducing user response time
US20020129051A1 (en) Previewing portions of the hypertext World Wide Web documents linked to hyperlinks in received World Wide Web documents
US20030106025A1 (en) Method and system for providing XML-based web pages for non-pc information terminals
JP2004510251A (ja) 電子ドキュメントの構成可能な変換方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20040309

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee