KR100422679B1 - 혼합 컨텐츠 서버-클라이언트 시스템 - Google Patents

혼합 컨텐츠 서버-클라이언트 시스템 Download PDF

Info

Publication number
KR100422679B1
KR100422679B1 KR10-2000-0077632A KR20000077632A KR100422679B1 KR 100422679 B1 KR100422679 B1 KR 100422679B1 KR 20000077632 A KR20000077632 A KR 20000077632A KR 100422679 B1 KR100422679 B1 KR 100422679B1
Authority
KR
South Korea
Prior art keywords
client
server
server means
application
content
Prior art date
Application number
KR10-2000-0077632A
Other languages
English (en)
Other versions
KR20020048229A (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 주식회사 파인디지털
Priority to KR10-2000-0077632A priority Critical patent/KR100422679B1/ko
Publication of KR20020048229A publication Critical patent/KR20020048229A/ko
Application granted granted Critical
Publication of KR100422679B1 publication Critical patent/KR100422679B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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]

Landscapes

  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 씬 클라이언트와 이 씬 클라이언트에 응용 프로그램 및 컨텐츠를 동시에 제공하는 혼성 콘텐츠 서버에 관한 것이다. 다수의 클라이언트가 접속할 수 있는 서버 장치는, 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 제1 서버수단과, 컨텐츠를 제공하기 위한 제2 서버수단을 포함하고, 상기 GUI 응용 프로그램은 브라우저를 포함하고, 상기 제2 서버수단의 컨텐츠는 상기 브라우저를 통하여 클라이언트측에 제공된다.

Description

혼합 컨텐츠 서버-클라이언트 시스템 {MIXED CONTENTS SERVER-CLIENT SYSTEM}
본발명은 서버-클라이언트(server-client) 시스템에 관한 것으로서, 보다 상세하게는, 씬 클라이언트와 이 씬 클라이언트에 응용 프로그램 및 컨텐츠를 동시에 제공하는 혼성 콘텐츠 서버에 관한 것이다.
인터넷을 기반으로 하는 서비스가 확대되면서 다양한 방식의 서비스를 가능하게 하는 기술이 필요하게 되었다. 도 1은 종래의 웹 기반 서비스를 제공하기 위한 서버(50)-클라이언트(10) 시스템을 도시하기 블록도이다. 기존의 웹 서버(50)는 정적인 컨텐츠[정적 HTML(HyperText Markup Language) 파일, 54]나 동적으로 생성되는 콘텐츠[CGI(common Gateway Interface), 서브렛(servlet) (56, 58)등에 의해 동적으로 생성되는 HTML]를 제공하기에 적합한 구조로 만들어졌다. 도 1의 시스템에서 서버(50)가 제공하는 정적 혹은 동적 HTML 컨텐츠를 클라이언트의 브라우저(12)가 해석하여 화면에 표시하고 사용자의 입력을 다시 서버에 전송함으로서 서비스가 이루어진다.
하지만 도 1에서와 같이 브라우저를 이용한 사용자 인터페이스는 일반적인GUI(Graphic User Interface)에 비해 동작 방식에 있어 많은 제약이 있기 때문에 예를 들어 다양한 게임이나 채팅 등의 응용프로그램에 적용하기가 어렵다. 또한, 적용 가능한 경우라도 웹서버와의 데이터 교환이 필요한 경우 항상 페이지 전체가 새로 그려져야 하므로 화면의 일부만 변경되어도 되는 경우 매우 비효율적이다. 따라서 이러한 응용프로그램을 위해서는 애플릿(applet)이나 ActiveX의 형태로 만들어진 프로그램을 서버측(50)에서 가지고 있다가 클라이언트(10)에 다운로드하여 클라이언트에서 수행하도록 하는 것이 일반적이다. 이러한 프로그램은 서버와의 데이터 교환을 위해 서버의 데이터베이스(60) 등과 별도로 연결된다(도 2의 13 및 60의 연결 참조). 도 2는 전술한 바와 같이 종래의 서버-클라이언트 환경에서 웹서버부(52)로부터 다운로드 받은 자바 애플릿(13)을 사용하여 서버측의 데이터베이스(60)와 연결된 상태를 도시하고 있다.
도 2에 도시된 형태의 시스템은 다음과 같은 여러가지 단점을 가진다.
첫째, 클라이언트(10)에서 응용 프로그램을 수행하기 위하여 자바 애플릿 혹은 ActiveX 및 필요한 라이브러리등이 서버(50)로부터 다운로드되어야 하므로 사용자의 대기시간이 길다.
둘째, 클라이언트의 환경 [OS의 버전, 자바가상머신(JVM : Java Virtual Machine)의 버전, 브라우저] 등에 따라 호환성이 떨어지며 응용 프로그램의 실행이 불가할 수도 있다.
셋째, 데이터베이스(60)를 액세스하는 경로가 웹 서버(52)를 경유하는 경우와 애플릿 등(13)이 직접 접속하는 경우의 두가지가 있어 관리하거나 응용 프로그램을 작성하기가 어렵다.
넷째, ActiveX의 경우 여러가지 보안상의 문제가 있고 자바 애플릿의 경우에도 웹서버와 다른 서버에 데이터베이스가 위치한 경우에는 별도로 인증받지 않으면 사용할 수 없다.
또한, 별도의 독립 응용프로그램이나 자바 애플릿을 사용하는 경우, 웹 서버와의 연동, HTML을 기반으로 하는 다른 컨텐츠와의 연계가 잘 이루어지지 못한다는 문제점이 있었다.
따라서, 본 발명은 하나의 서버에서 정적인 컨텐츠, 동적인 컨텐츠 및 GUI 응용프로그램까지 모두 클라이언트에 제공할 수 있는 혼합 콘텐츠 서버 및 이에 대응하는 클라이언트 시스템을 제공하기 위한 것이다.
본 발명의 다른 목적은 여러 모드로 이루어진 서비스들간에 하이퍼 링크를 지원하는 서버 및 클라이언트 시스템과, 이를 위한 데이타 전달 방법을 제공하는 것이다.
본 발명의 다른 목적은 동일서버 또는 다른 서버의 동적/정적 컨텐츠 및 GUI 응용프로그램간에 하이퍼링크를 지원하는 방법을 제공하는 것이다.
본 발명은 다른 목적은 상기 서버 및 클라이언트 시스템에서 클라이언트 단말기를 단순한 입출력만을 처리하도록 단순화하기 위한 것이다.
도 1은 웹서버를 포함하는 종래의 서버 및 브라우저를 포함하는 종래의 클라이언트 장치의 일례를 도시한 도면.
도 2는 웹서버를 포함하는 종래의 서버 및 브라우저를 포함하는 종래의 클라이언트 장치에서 자바 애플릿이 사용되는 경우를 도시한 도면.
도 3은 본 발명에 따른 혼성 콘텐츠 서버 및 클라이언트 장치가 사용되는 환경을 도시한 도면.
도 4는 본 발명에 따른 혼성 콘텐츠 서버의 일실시예의 블럭도.
도 5는 본 발명에 따른 클라이언트 장치의 일실시예의 내부 블록도.
도 6은 본 발명에 따른 혼성 콘텐츠 서버에 포함된 응용 프로그램 지원 서버(TAP 서버)의 일실시예의 프로그램 구조도.
도 7는 본 발명에 따른 혼성 콘텐츠 서버에서 그래픽 데이터가 생성되고 전송되는 과정의 일실시예를 도시한 도면.
<도면의 주요 부분에 대한 부호의 설명>
10, 20, 30 : 클라이언트
50 : 서버
110, 120, 130 : 혼성 콘텐츠 클라이언트
150 : 혼성 콘텐츠 서버
160 : 응용프로그램 지원 서버부
170 : 웹/서브렛 서버부
본 발명의 일면에 따르면, 다수의 클라이언트가 접속할 수 있는 서버 장치에있어서, 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 제1 서버수단과,
컨텐츠를 제공하기 위한 제2 서버수단
을 포함하는 서버 장치가 제공된다.
상기 GUI 응용 프로그램은 브라우저를 포함하고, 상기 제2 서버수단의 컨텐츠는 상기 브라우저를 통하여 클라이언트측에 제공된다.
본 발명의 다른 일면에 따르면, 브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 제1 서버수단과, 컨텐츠를 제공하기 위한 제2 서버수단을 포함하는 하나 이상의 서버와 하나 이상의 클라이언트와 네트워크를 통해 연결되어 있을 때, 상기 서버 중 하나의 서버의 컨텐츠를 상기 클라이언트 중 하나의 클라이언트에 제공하기 위한 방법에 있어서,
제1서버에서 클라이언트로부터 제2서버의 컨텐츠 제공 요청을 수신하는 단계와,
상기 요청에 응답하여 상기 제1서버의 제1서버수단에 포함되어 있는 브라우저가 상기 요청된 제2서버의 컨텐츠를 제2서버의 제2서버수단으로부터 읽고 해석하는 단계와,
상기 제1서버의 상기 제1서버수단이, 상기 컨텐츠를 해석하여 형성한 브라우저 화면의 영상정보를 상기 클라이언트에 전송하는 단계를 포함하는 컨텐츠 제공 방법이 제공된다.
본 발명의 또다른 일면에 따르면, 브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 하나 이상의 제1 서버수단과, 컨텐츠를 제공하기 위한 하나 이상의 제2 서버수단과, 하나 이상의 클라이언트가 네트워크를 통해 연결되어 있을 때, 상기 제1서버수단을 운영하는 방법에 있어서,
클라이언트로부터 제1서버 접속요청 - 상기 제1서버 접속 요청은 응용프로그램에 대한 요청을 포함함 - 을 수신하는 단계와,
상기 요청에 응답하여 상기 제1서버수단에 포함되어 있는 상기 응용프로그램을 실행하는 단계와,
상기 제1서버수단이, 상기 응용프로그램을 실행하여 형성한 영상정보를 상기 클라이언트에 전송하는 단계를 포함하는 운영 방법이 제공된다.
이하에서는 도면을 첨부 참조하여 본발명의 일실시예를 상세히 설명하기로 한다.
도 3은 본 발명에 따른 혼성 콘텐츠 서버 및 클라이언트 장치가 사용되는 환경을 도시한 도면이다. 도 3에 도시된 바와 같이, 본 발명에 따른 클라이언트(110, 120, 130)와 혼성 콘텐츠 서버(150)는 네트워크를 통해 연결되어 있다. 클라이언트(110, 120, 130)는 사용자의 입력을 받아 서버(150)에 전달하고 서버의 출력을 화면이나 소리로 사용자에게 전달하는 장치로서 기존의 PC(110)에서 동작하는 소프트웨어, 웹 브라우저에서 동작하는 애플릿, PDA(120)용 소프트웨어, 휴대폰(130) 등에 내장된 소프트웨어 혹은 전용 단말 장치등의 형태를 가질 수 있다. 서버(150)는 하드웨어적인 측면에서는 일반적인 서버용 컴퓨터로 구성될 수 있고 후술하는 바와 같이, 응용프로그램 지원서버부(160)와 웹/서브렛 서버부(170)를 포함한다. 클라이언트와 서버는 TCP/IP등 1:1 통신이 가능한 임의의 네트워크(140)에 의해 연결된다.
도 4는 본 발명에 따른 혼성 컨텐츠 서버(150)의 일실시예를 도시한 블록도이다. 본 발명에 따른 혼성 컨텐츠 서버(150)는 여러 사용자의 GUI 응용 프로그램을 동시에 동작시키고 그 화면을 클라이언트(110)에 전송할 수 있는 기능을 가지고 있는 응용 프로그램 지원서버부(160)와 종래의 웹서버부(도 1 내지 2의 참조번호 52)에 대응하는 기능을 수행하는 웹/서브렛 서버부(170)를 포함한다. 이하에서 응용 프로그램(또는 tapplet)이라 함은 예를 들어 PC 나 워크스테이션에서 동작하는 종래의 일반적인 응용프로그램이 아니라, 본 발명의 혼성 콘텐츠 서버(150)에서 동작하는 고유의 응용 소프트웨어를 칭하는 것으로서, 서브렛이나 CGI와는 달리 자체의 사용자 인터페이스(화면출력)을 갖는 GUI 응용 프로그램을 칭한다. 본 발명의 서버-클라이언트 시스템에서 프로그램은 모두 서버측에서 실행되며 클라이언트(110)는 서버로부터 전송받은 화면을 표시하고 사용자 입력을 서버에 전송하는 기능만을 수행한다. 지원서버부(160) 및 클라이언트(110)에 대하여는 도 5 내지 도 7을 참조하여 후술하기로 한다.
도 4에서 지원서버부(160)에 포함되어 있는 응용프로그램 1 및 응용 프로그램 2는 전술한 바와 같이 본 발명의 혼성 콘텐츠 서버(150)에서 동작하는 GUI 응용프로그램(tapplet)이다. 브라우저(440a)는 이와 같은 본 발명에 따른 응용 프로그램(tapplet)의 일종으로서 HTML 혹은 WAP(wireless application protocol) 브라우저를 포함한다.
도 4에 점선으로 도시된 경로(1)은 클라이언트(110)가 서버에 응용 프로그램 1(440a)을 수행할 것을 요청하고, 그 결과 화면을 받아와서 디스플레이하는 동작을 표현한 것이다. 도 4에 점선으로 도시된 경로(2)는 클라이언트가 요구하는 주소가 서버(150)에 존재하는 HTML 파일(176)을 지정하는 경우로서 자동적으로 브라우저(440a)가 실행되면서 그 주소의 HTML 파일을 읽고 해석한 후 결과로 생성된 화면을 클라이언트(110)에 전송한다. 경로(3)은 경로 (2)와 유사하지만 정적인 HTML 파일을 지정하는 것이 아니라 웹/서브렛 서버부(170)에 포함되어 있는 서브렛(servlet, 172)을 지정하여 그 결과로 생성된 HTML 콘텐츠가 브라우저(440a)로 전달되고 브라우저(440a)에서 이를 해석하여 생성된 화면이 클라이언트(110)로 전달되는 경우를 도시한다. 응용 프로그램 지원 서버부(160)는 자바로 구현될 수 있으며 웹/서브렛 서버부(170)에서 서브렛(172, 174)은 CGI 등으로 대치될 수 있다. 웹/서브렛 서버부(170)가 자바로 구현되었을 경우 효율등의 이유로 응용 프로그램 지원 서버부(160)와 같은 JVM(자바 가상 머신, 도 6의 410) 내에서 실행되도록 구성할 수도 있으나 이에 한정되는 것은 아니다.
도 3 및 도 4에는 서버(150)를 하나만 도시하였으나, 이와 같은 서버(150)가 네트워크상에 다수개 존재하여, 본 발명의 서버 클라이언트 환경 내에서 클라이언트는 웹(WWW)에서 사용되는 하이퍼링크와 유사한 방식으로 네트워크상에 연결되어 있는 다수의 혼성 콘텐츠 서버를 자유롭게 액세스하면서 서핑하는 것이 가능하다.이는 종래에 웹브라우저를 통하여 인터넷상에 연결되어 있는 다수의 웹서버에 자유롭게 액세스하는 것과 유사하다.
도 5는 본 발명에 따른 클라이언트 장치의 일 실시예의 구성을 도시한 도면이다. 도 5 내지 도 7을 참조하여 기재된 본 발명에 따른 씬 클라이언트 및 응용 프로그램 지원서버부(160)에 대한 설명은 동일한 발명자에 의해 고안된 2000년 11월 1일자 출원 제2000-64551호의 도 2, 도 4 및 도 5를 참조한 씬 클라이언트 및 서버에 관한 설명과 유사하다. 출원 제2000-64551호에 기재된 서버 프로그램의 구조는 본 발명에 따른 응용 프로그램 지원 서버부(160)의 구성의 바람직한 일실시예이지만, 본 발명의 지원 서버부(160)가 이에 한정되는 것은 아니다.
도 5에서 스크린(210)은 일반적인 비트맵(bitmap) 디스플레이 장치이다. 키보드(240)는 일반적인 PC의 키보드일 수도 있고 PDA(personal digital assistance)에서 사용되는 펜에 의한 문자 입력 장치이거나 혹은 휴대전화에서처럼 제한된 수의 키로 이루어져 있을 수도 있다. 포인팅 장치(250)는 마우스, 펜 등의 위치를 입력할 수 있는 장치이다. 키보드(240)와 포인팅 장치(250)에 의해 사용자 입력이 감지되면 이는 클라이언트의 송수신부(260)를 거쳐 네트워크상에서 서버측으로 전송된다. 영상 복원부(220)는 서버측에서 전송되는 압축된 영상을 화면에 표시하기 위한 장치 혹은 소프트웨어로서 화면의 깜박거림을 줄이거나 압축 효율을 향상시키기 위하여 오프스크린 버퍼(230)를 사용할 수 있다. 특정한 종류의 그래픽 연산은 이미지가 아닌 연산 코드(operation code)의 형태로 서버측으로부터 전달되어 스크린(210)이나 오프스크린 버퍼(230)에 이 연산의 결과가 적용될 수 있다.
송수신부(260)는 키보드(240) 또는 포인팅 장치(250)로부터의 사용자 입력을 서버측으로 전송하고, 서버측으로부터 화면 정보를 수신하기 위한 것으로, 유무선 모뎀 등을 포함할 수 있다.
도 6는 서버 컴퓨터상에서 동작하는 응용프로그램 지원 서버부(160)의 구성의 일실시예를 나타낸다. 본 발명의 바람직한 실시예에서, 응용프로그램 지원서버부(160)는 하나의 JVM(410)에 의해 동작하지만, 이에 한정되는 것은 아니다. 새로운 클라이언트가 접속을 하면 지원 서버부에 사용자 세션이 새로 생성된다. 하나의 사용자 세션 내에서 복수개의 사용자 응용 프로그램(440a, 440b 또는 440c, 440d)이 구동될 수 있다. 응용 프로그램은 전술한 바와 같이, 본 발명의 서버-클라이언트 환경에서 사용되는 GUI 응용 프로그램(tapplet)이며 본 발명에 따른 브라우저(440a)를 포함한다. 클라이언트측(110)의 화면을 갱신하기 위하여, 지원 서버부(160)에서는 이 응용 프로그램의 화면 출력을 가로채어서, 그래픽 연산 코드 혹은 결과 영상의 압축된 데이타를 클라이언트(110)에 전송한다. 클라이언트(110)로부터 전달되는 사용자 입력은 마치 사용자가 서버 컴퓨터(150)의 콘솔에서 직접 키보드와 마우스등을 사용하여 입력한 것처럼 시스템의 이벤트 큐(event queue)를 거쳐 사용자 응용 프로그램(440)에 전달된다.
사용자 세션의 현상태(state)는 클라이언트와 서버간의 연결이 종료될 때 서버측의 DB나 파일 시스템(도시되지 않음) 등에 저장되었다가 나중에 해당 서버와 연결이 재개되었을 때 새로 만들어진 사용자 세션에 로드될 수 있다. 이와 같이 함으로써, 클라이언트측에서는 마음대로 기기를 켜고 꺼도 항상 마지막 작업하던상태에서 작업을 개시할 수 있다. 또한, 클라이언트가 하나이상의 서버를 반복적으로 액세스하는 경우에도, 소정 서버로 돌아가면 이전의 작업상태로 즉시 돌아갈 수 있다.
이하에서는 도 6에 도시된 응용 프로그램 지원 서버부(160)에 대해 보다 상세히 설명하기로 한다.
본 발명에 따른 지원 서버부(160)의 바람직한 일실시예에서는 서로 다른 클라이언트가 사용하는 응용프로그램(tapplet)간의 영향을 최소화하기 위하여 이벤트 처리를 위한 쓰레드(thread)와 이벤트 큐는 각 사용자 세션마다 별도로 할당된다. 이는 종래 기술에서 이벤트 쓰레드와 큐가 일반적으로는 JVM 당 하나만 있는 것과 상이하다.
세션 관리부(420a)는 새로운 클라이언트가 접속하면 새로운 세션을 생성하고, 만일 클라이언트로부터의 통신이 어느정도 시간 이상 없으면, 클라이언트와의 접속이 중단된 것으로 판단하여, 해당 세션을 삭제한다.
응용프로그램 관리부(420b)는 본발명의 클라이언트-서버 시스템에서 실행되는 응용 프로그램(tapplet)들의 리스트를 포함한다. 본 발명의 일실시예에서는 사용자에 따라 서로 다른 응용프로그램에 접근이 가능하도록 할 수 있다. 예를 들어 사용자를 유료 사용자와 무료 사용자로 나누어 유료 사용자만이 다양한 종류의 응용프로그램을 사용할 수 있고, 무료 사용자는 시험용의 몇가지 응용프로그램만 사용할 수 있도록 하는 것이 가능하다.
영상압축 라이브러리(420c)는 후술하는 바와 같이, 클라이언트측에 디스플레이될 영상 데이터를 압축하는데 사용되는 소프트웨어 구성요소들을 포함한다.
AWT 경량 컴포넌트 라이브러리(420d)는 버튼, 텍스트 필드, 스크롤 바 등의 경량 컴포넌트들의 세트로서 자바의 표준 라이브러리에 있는 것이 아닌 본발명의 환경에 맞도록 구현된 것이다.
클라이언트가 도 6에 도시된 세션 관리부(420a)에 접속하면 새로운 세션이 생성된다. 각 세션별로 ZAppletContext 객체(460)가 하나씩 생성된다. 각 ZAppletContext는 이벤트 큐, 클라이언트로부터의 입력을 처리하기 위한 쓰레드(thread), GUI 이벤트를 처리하는 쓰레드(thread), 클라이언트 스크린 버퍼 및 오프스크린 버퍼 등을 포함한다. 이하에서는 그 각각에 대해 상세히 살펴보겠다.
이벤트 큐 : 일반적인 자바 응용프로그램은 JVM 전체에 하나의 이벤트 큐를 가지지만 본 발명의 서버에서는 각 사용자의 프로그램들이 독립적으로 동작할 수 있도록 각 세션별로 이벤트 큐를 가진다.
클라이언트로부터의 입력을 처리하는 쓰레드(thread) : 클라이언트의 키보드 및 포인팅 디바이스로부터의 이벤트 입력을 받아 이벤트 큐에 넣는 역할을 한다.
GUI 이벤트를 처리하는 쓰레드(thread) : 이벤트 큐(event queue)에 새로운 이벤트가 들어오면 응용 프로그램에 의해 미리 등록된 작업을 수행한다.
클라이언트 스크린 버퍼(Client screen buffer, 550) : 클라이언트의 마지막 화면 내용을 가지는 버퍼. 새로이 디스플레이될 화면을 압축하여 전송할 때 이전 화면과 차분을 계산하기 위해 사용된다.
오프스크린 버퍼(540) : 응용 프로그램 화면의 복사본을 갖는다. 일반적으로는 오프스크린 버퍼는 화면의 깜박임을 방지하기 위한 이중 버퍼링을 위해 사용되지만 본 발명의 서버에서는 영상 데이타를 직접 액세스하기 위해 사용된다.
클라이언트가 서버에 접속할 때 클라이언트는 클라이언트 디바이스의 화면 크기에 관한 정보를 서버 측으로 보내고, 클라이언트 스크린 버퍼(550)와 오프스크린 버퍼(540)의 크기는 이 정보에 의해 클라이언트 디바이스의 화면 크기와 같도록 정해진다. 마찬가지로, 클라이언트 스크린 버퍼와 오프스크린 버퍼의 깊이(depth, 화소당 비트)도 클라이언트 디바이스의 스크린 깊이(screen depth)와 동일하도록 정해진다.
도 6에 도시된 바와 같이, 응용 프로그램은 자바애플릿의 형태를 취하지만 일반적인 애플릿이 상속하는 애플릿 클래스 대신 본 발명에서 정의된 지애플릿(ZApplet, 450) 클래스를 상속한다. 지애플릿은 애플릿의 getGraphics() 함수를 오버라이드(override)하여 응용 프로그램의 모든 그래픽 연산이 지그래픽스(ZGraphics) 객체(도 7의 520)를 통해 이루어지도록 하는 것이다. 클라이언트로부터 입력에 의해 실행되는 각 응용 프로그램은 지애플릿 클래스에서 상속(inherit)된 새로운 클래스로서 구현된다.
도 7은 본 발명의 바람직한 실시예에서 응용 프로그램의 동작에 따른 화면 정보의 갱신 및 전송 과정을 도시한 도면이다. 먼저, 응용 프로그램에서 소정의 동작의 결과 화면이 갱신되어야 하는 경우, 지그래픽스(ZGraphics) 객체(520)를 통해 그래픽 연산을 행한다(1). 다음단계에서는 그래픽 연산결과가 서버의 실제 윈도우(physical window, 530)에 그려지고(2) 또한, 오프스크린 버퍼(540)에 그려진다(3).
본 발명의 일실시예에 따르면, 화면의 갱신을 위해 클라이언트(110)로 전달될 데이터의 양을 최소화하기 위하여 다음에 설명하는 것과 같이, 연산 코드와 차분 영상 데이터를 동시에 전송하는 방법을 사용한다. 즉, 그래픽 연산 중 파라미터의 양은 적지만 화면의 변화는 많은 연산, 예를 들어 화면의 스크롤 중 비트맵의 블록카피와 같은 연산은 클라이언트 스크린 버퍼(550)에 적용되고(4) 동시에 클라이언트에, 연산 코드의 형태로 전달된다. 이때 연산 코드는 매우 적은 양의 데이타로 표현될 수 있음은 주지의 사실이다.
응용 프로그램의 화면 갱신 과정이 완료되면 이때까지의 오프스크린 버퍼와 클라이언트 스크린 버퍼의 차분을 구한다(5). 이 차분을 압축하여, 상기 연산 코드와 함께 클라이언트(110)에 전송한다(6). 차분은 영상압축부(560)에서 다양한 공지의 영상 압축 방식 또는 부호화 방식을 사용하여 압축된다.
또는 본 발명의 다른 실시예에서는 차분이 아닌 원영상을 클라이언트측으로 전송하거나, 차분 또는 원영상을 선택적으로 압축하여 클라이언트에 전송할 수도 있다. 이때, 차분과 원영상중 어느쪽을 보낼지의 기준은 두가지를 모두 압축해 보고, 효율이 좋은 쪽을 보내도록 할 수 있다. 응용 프로그램에서 이를 판단하여 세션객체(ZAppletContext)에 알려주도록 하는 것도 가능하다.
클라이언트(110)로의 전송이 완료되면, 오프스크린 버퍼의 내용을 클라이언트 스크린 버퍼로 복사하여(7), 클라이언트 스크린 버퍼의 내용을 최근의 데이터로갱신한다.
실제 윈도우(Physical window, 530)는 모니터링 등에 이용되지만 클라이언트의 동작에 반드시 필요하지는 않다. 따라서 생략될 수 있고 동시 접속 가능한 클라이언트의 수가 실제 윈도우의 크기에 의해 제약을 받지 않는다.
다시 도 5로 돌아가서, 클라이언트 측에서 화면이 갱신되는 과정은 다음과 같다. 클라이언트는 연산 코드와 압축된 차분영상 정보를 송수신부를 통해 서버로부터 수신한다. 클라이언트 측의 영상 복원부(220)에서는 압축된 영상 정보를 복원한다. 또한, 클라이언트측의 비디오 메모리(도시되지 않음)에 저장되어 있는 이전 영상 정보에 연산 코드에 해당하는 그래픽 연산을 수행한다. 그후, 복원한 차분 영상을 그래픽 연산이 수행된 후의 영상 정보에 가산하여 디스플레이한다. 혹은 깜박임을 방지하기 위해 위의 과정을 별도의 오프스크린 버퍼(도 5, 230)에 적용한 후 한꺼번에 비디오 메모리에 복사할 수도 있다.
도 7로 돌아가서, 본 발명에 따른 응용 프로그램 지원 서버부(160)의 일실시예에서는 ZGraphics 객체(520)를 통해 모든 그래픽 연산이 이루어지므로 ZGraphics 객체(520)는 화면의 변화된 영역의 경계를 알 수 있다. 이 정보를 이용하여 차분을 구하고 클라이언트에 전송하는 화면의 영역을 제한할 수 있다.
또, 일반적인 GUI프로그램을 작성하는 방법에 있어서 화면의 변화가 없는 부분까지도 매번 새로 그리도록 하는 경우가 흔하다. 이 경우의 불필요한 재전송을 방지하기 위하여 실제 윈도우(530)와 오프스크린 버퍼(540)의 내용을 비교하여 변화된 영역만을 구하도록 할 수 있다.
GUI 컴포넌트 (버튼, 텍스트 필드 등의 경량 컴포넌트)은 자바의 표준 라이브러리에 있는 것이 아닌 본발명의 환경에 맞도록 구현된 것을 사용한다. 이 컴포넌트들은 클라이언트 장치의 화면 해상도나 깊이(depth)에 따라 적절한 형태로 디스플레이될 수 있다. 예를 들어 흑백 화면의 경우 버튼의 테두리를 간단한 선으로 나타내지만 해상도도 높고 색도 지원되는 클라이언트의 경우 입체감을 표시하는 등으로 다르게 디스플레이될 수 있다. 이러한 디스플레이의 적응은 본 발명의 서버의 실제 스크린과는 관계없이 각 세션별로 클라이언트 장치의 스크린에 따라 이루어진다.
본 명세서에서는 하나의 클라이언트당 하나의 세션이 생성되는 것으로 설명하였으나, 하나의 세션에 둘 이상의 클라이언트가 접속되도록 하는 것도 가능하다. 이 경우 둘 이상의 클라이언트가 원격 공유 작업을 할 수도 있다.
이하에서는 다시 도 4로 돌아가, 도면에 도시된 서버-클라이언트 시스템에서 브라우징 동작의 일례를 동작의 시간적 흐름에 따라 설명하기로 한다.
1. 클라이언트(110)에서 사용자가 서버 주소를 지정한다. 예를 들면 "foo.com" 을 지정한다.
2. 클라이언트(110)가 foo.com 서버의 지정된 포트에 접속하고 "/" 을 요구한다.
3. 응용프로그램 지원서버부(160)에서는 "/" 디렉토리의 디폴트(default) 콘텐트로 지정되어 있는 "index.html"을 찾고 확장자가 "html"이므로 브라우저(440a)를 실행시키면서 "/index.html"을 인자(argument)로 지정한다.
4. 브라우저(440a)는 "/index.html"을 읽고 해석한 후 완성된 화면을 클라이언트(110)에 전송한다. 이 화면은 예를 들어 foo.com 서버에서 제공하는 여러 콘텐츠 및 응용프로그램에 대한 아이콘의 리스트를 가지고 있다.
5. 예를 들어 사용자가 클라이언트 화면(도시되지 않음)에서 "메일"을 나타내는 아이콘을 클릭하고 이 때의 클릭된 아이콘의 좌표가 지원 서버부(160)에 전달된다. 서버에서는 다시 브라우저(440a)로 마우스 이벤트를 전달한다.
6. 브라우저(440a)가 현재 표시하고있는 "/index.html" 파일의 마우스 이벤트에 해당하는 좌표는 예를 들어 <a href="tapplet:/foo.com/app/mail"> <image src="images/mail.gif"> </a> 와 같이 "foo.com" 서버의 "/app/mail"로 연결이 되어 있다. 브라우저에서는 자신이 포함되어 있는 세션 객체(ZAppletContext, 460a)의 goto() 함수를 "/app/mail" 인자와 함께 호출한다. goto() 함수는 인자로 주어진 응용프로그램 또는 HTML 컨텐츠 등으로 이동하기 위한 함수로서, 이하에서 설명하는 바와 같이 경우에 따라(이동의 출발지 및 목적지에 따라) 다른 동작을 수행한다.
7. 세션 객체에서는 현재 수행중인 브라우저를 정지시키고 "/app/mail"로 지정된 응용 프로그램을 실행한다. 결과로 바뀐 화면이 클라이언트(110)에 전달된다.
8. 사용자가 메일 응용프로그램을 사용하다가 클라이언트의 "back" 기능을 실행한다.
9. "back" 명령이 서버(150)에 전달되고 세션 객체가 받아서 메일 응용프로그램을 정지시키고 이전에 실행하던 브라우저를 다시 실행시킨다.
10. 이번에는 예를 들어 사용자가 브라우저에서 "뉴스" 아이콘을 선택한다. 이 아이콘은 "index.html" 파일에서 <a href="/servlet/news.class"> <image src="images/news.gif"> </a> 와 같이 /servlet/news.class 서브렛(servlet)으로 연결되어 있다.
11. 브라우저가 HTTP 프로토콜에 의해 "/servlet/news.class"를 웹/서브렛 서버부(170)에 요구하면 웹/서브렛 서버부(170)는 /servlet/news.class 서브렛(172)을 실행하여 결과로 만들어진 HTML 코드를 브라우저(440a)에 전달한다.
다음은 응용 프로그램(440a, 440b)과 웹/서브렛 서버부의 HTML/서브렛 간의 하이퍼링크에 대해 설명하기로 한다. 특히 응용프로그램과 HTML/서브렛 간의 하이퍼링크를 지원하는 플랫포옴을 제공하는 것은 본 발명의 혼성 컨텐츠 서버의 주요특징 중 하나이다.
첫째, 응용프로그램(440b)으로부터 HTML(176)로의 하이퍼링크에 대해 설명하기로 한다. 응용 프로그램(440b)에서 예를 들어 어떤 버튼이 눌렸을 때 특정 HTML 파일(176)이나 서브렛(172)이 화면에 보이도록 하기 위해서는 응용 프로그램(440b)이 속해있는 세션(430a)의 세션객체(460a)의 goto()함수에 해당 URL(상기 HTML 또는 서브렛을 가리키는 URL)을 인자로 주고 호출한다. 이때 goto() 함수는 현재 수행중인 응용 프로그램(440b)를 잠시 정지시키고 브라우저(440a)를 실행한 후 해당 URL 페이지를 여는 기능을 수행한다.
둘째, 응용프로그램간의 링크에 대하여 설명하기로 한다.
응용 프로그램(440b)에서 예를 들어 어떤 버튼이 눌렸을 때 다른 응용 프로그램이 수행되도록 할 때의 동작은 두 개의 응용 프로그램이 같은 서버내에 위치한 경우와, 서로 다른 서버내에 위치한 경우 그 동작이 상이하다.
1. 링크된 응용 프로그램(440c)이 동일 서버 내에 위치한 경우
단계 1. 원 응용 프로그램(440b)이 속해있는 세션의 세션객체의 goto()함수를 링크된 해당 응용 프로그램(440c)의 이름을 주고 호출한다.
단계 2. 세션 객체는 현재 실행중인 응용 프로그램(440b)를 정지시키고 주어진 응용 프로그램(440c)를 실행한다.
2. 링크된 응용 프로그램이 다른 서버에 위치한 경우
단계 1. 응용 프로그램이 속해있는 세션의 세션객체의 goto()함수를 링크된 응용프로그램의 이름을 주고 호출한다. 단 이 이름에는 새로 이동할 서버의 이름도 포함되어 있다. 예를 들면 "tapplet://foo.com/app/mail" 등과 같이 표현할 수 있다.
단계 2. 세션 객체에서는 클라이언트에 "goto foo.com:/app/mail" 명령을 전송한 후 클라이언트와의 접속을 종료한다.
단계 3. 클라이언트는 foo.com 서버에 접속하고 /app/mail의 실행을 요구한다.
이때 전술한 바와 같이 각 서버에서 클라이언트의 작성 상태를 저장하면, 메일 실행 중 예를 들어 "back" 버튼을 누름으로써, 원래의 서버에서 사용하던 응용프로그램으로 돌아가도록 할 수 있다.
셋째, HTML 화일에서 다른 HTML 화일로의 연결은 일반적인 웹에서의 하이퍼링크 방식에 의한다. 이때, 현재 접속중인 응용 프로그램 지원 서버부 및 실행중인 브라우저는 계속 접속 및 실행 상태를 유지한다. 즉, 하나의 서버(제1서버)의 HTML 파일에서 다른 서버(제2서버)의 HTML화일로 링크를 이용하여 이동하는 경우에도 제1서버의 응용 프로그램 지원부 및 실행중인 브라우저는 계속 클라이언트와의 접속 및 실행 상태를 유지한다. 다만, 제1서버의 응용 프로그램 지원부가 브라우저를 통해 제2서버에 접속하여 제2서버의 웹서버부의 HTML 화일을 읽고 해석한 후, 결과 화면을 클라이언트측에 전송한다.
넷째, HTML로부터 응용 프로그램으로의 연결에 대해 설명하기로 한다.
응용 프로그램은 <a href="tapplet://...." > 태그(tag)에 의해 지정한다. "tapplet://" 방식은 "http://"에 해당하는 하나의 프로토콜을 제안하는 것이나, "http://"와는 달리 아직 표준화되지 않은 것이다. "tapplet://"는 본 발명에 따른 서버-클라이언트 시스템에서 인식되는 것으로서 서버부 내에서 동작하는 브라우저는 이를 인식하여 태그내에서 지정된 응용 프로그램(tapplet)의 이름을 추출한다. 이어서, 전술한, 응용프로그램(tapplet)에서 다른 응용프로그램(tapplet)으로의 링크와 같은 방식에 의해 해당 응용 프로그램(tapplet)이 구동된다.
다음은 URL에 의한 파라미터의 전달에 대해 설명하기로 한다.
공지된 바와 같이, 서브렛이나 CGI의 URL 뒤에 파라미터를 함께 나타낼 수 있는 것처럼 본 발명에 따른 응용 프로그램(tapplet)을 호출할 때에도 파라미터를 함께 표기할 수 있다. 예를 들어 종래에 특정 사용자의 메일을 표시해주는 웹 메일의 URL을
<a href="http://mail.foo.com/mail?userid=aaaa"> 메일 </a>
과 같이 나타낼 수 있는 것처럼 본 발명에 따른 응용프로그램(tapplet) 중 메일을 보기 위한 응용 프로그램을 호출하는 URL에 다음과 같이 사용자 아이디를 파라미터로 줄 수 있다.
<a href="tapplet://mail.foo.com/mail?userid=aaaa"> 메일 </a>
이와 같이, 본 발명에 따르면, 대부분의 연산이 서버측에서 일어나는 서버-씬 클라이언트 시스템을 구현할 수 있다. 동시에, 매우 단순한 하드웨어로 된 클라이언트를 이용하여 사용자가 응용프로그램 및 컨텐츠를 자유롭게 종래의 웹브라우징과 유사한 방식으로 사용하고 볼 수 있다.
본 발명은 휴대용 장치에서 다양한 응용 프로그램 수행과 콘텐츠 뷰를 수행할 수 있는 것을 목적으로 개발된 씬 클라이언트-혼성 콘텐츠 서버 기술이다. 본 발명의 혼성 컨텐츠 서버는 예를 들어 자바 응용 프로그램의 형태로서 JVM을 탑재한 임의의 서버 컴퓨터에서 실행될 수 있다. 본 발명의 클라이언트는 그래픽 화면 출력과 키보드 (또는 기타의 입력 장치) 및 포인팅 장치를 가진 여러 휴대용 장치에 포팅될 수 있다.
본 명세서는 특정 실시예에 대하여 기술되었지만 다른 변형 및 변환이 가능하다는 것이 본 기술 분야의 당업자에게 자명하다.
예를 들어, 본 발명의 혼성컨텐츠 서버 또는 클라이언트가 본 명세서에 예시된 것 이외의 다른 구성을 갖도록 하는 것이 가능하다. 또한, 각 응용프로그램지원서버 또한 다양한 다른 방식, 다른 툴을 사용하여 구현할 수 있다. 따라서, 이와 같이 본 발명의 사상에 포함되는 모든 변형 및 변환이 첨부한 청구범위에 속하는 것으로 이해되어야 한다.
본 발명의 서버는 동시에 응용 프로그램과 컨텐츠를 제공하며 종래의 웹서버와 마찬가지로 하이퍼링크 방식으로 접근이 가능하다. 한편, 모든 연산이 서버측에서 이루어지고 클라이언트측으로는 화면정보만이 전송된다. 따라서, 사용자 입장에서는 매우 단순한 단말장치만으로 다양한 응용프로그램과 컨텐츠를 사용할 수 있고, 하이퍼링크 방식을 사용하므로 이용도 매우 간편하다. 사용자는 프로그램의 설치, 유지 등의 비용이 필요없이 적은 비용으로 다양한 프로그램 및 컨텐츠를 사용할 수 있고, 사용시마다 복잡한 프로그램을 클라이언트측으로 다운로드할 필요 없이 화면정보나 사용자 입력만이 전송되므로 대기시간도 종래의 ASP(application service provider)를 사용하는 경우 등에 비해 줄어들 수 있다.

Claims (13)

  1. 네트워크를 통해 접속되는 다수의 클라이언트에 대해 컨텐츠 정보를 제공하는 웹/서브렛 서버부를 갖춘 서버 장치에 있어서,
    브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하여, 브라우저를 통하여 상기 웹/서브렛 서버부로부터의 컨텐츠를 해석하여 생성한 영상정보를 클라이언트측에 전송하기 위한 응용프로그램 지원서버 수단으로 구성되고,
    상기 응용프로그램 지원서버 수단은 하나의 자바 가상 머신과, 상기 자바 가상 머신에 의해 동작하는 다수의 클라이언트 세션을 포함하고,
    각 세션은 각 클라이언트에 디스플레이되는 영상정보를 제공하기 위해 적어도 하나 이상의 응용 프로그램을 수행하도록 이루어진 것을 특징으로 하는 서버 장치.
  2. 삭제
  3. 삭제
  4. 제1항에 있어서, 상기 응용프로그램 지원서버 수단에서 각 클라이언트에 디스플레이되도록 제공하는 영상 정보는 그래픽 파라미터의 양이 적지만 화면변화가 많은 정보를 연산한 연산 코드(operation code)와, 응용 프로그램의 화면 갱신 완료에 따라 오프스크린 버퍼와 클라이언트 스크린 버퍼의 차분을 구하여 압축시킨 차분영상정보를 각각 포함하는 것을 특징으로 하는 서버 장치.
  5. 제1항에 있어서, 상기 컨텐츠는 HTML 파일형태의 정적 컨텐츠과, CGI 또는 서브렛 형태의 동적 컨텐츠 중 하나 이상을 포함하는 것을 특징으로 하는 서버 장치.
  6. 삭제
  7. 브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 응용프로그램 지원서버 수단과, 컨텐츠를 제공하기 위한 웹/서브렛 서버수단을 포함하는 하나 이상의 서버가 하나 이상의 클라이언트와 네트워크를 통해 연결되어 있을 때, 웹/서브렛 서버수단으로부터의 컨텐츠를 하나의 클라이언트에 제공하기 위한 방법에 있어서,
    상기 응용프로그램 지원서버 수단에서 클라이언트로부터 웹/서브렛 서버수단의 컨텐츠에 대한 제공 요청을 수신하는 단계와,
    상기 요청에 응답하여 상기 응용프로그램 지원서버 수단에 포함되어 있는 브라우저가 상기 요청된 웹/서브렛 서버수단의 컨텐츠를 읽고 해석하는 단계와,
    상기 응용프로그램 지원서버 수단에서 상기 컨텐츠를 해석하여 형성한 브라우저 화면의 영상정보를 상기 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 컨텐츠 제공 방법.
  8. 제7항에 있어서, 상기 응용프로그램 지원서버 수단과 상기 웹/서브렛 서버수단은 하나의 혼성 컨텐츠 서버에 결합되어 있는 것을 특징으로 하는 컨텐츠 제공 방법.
  9. 제7항에 있어서, 상기 응용프로그램 지원서버 수단과 상기 웹/서브렛 서버수단은 상호 독립적인 서버수단으로서 배치되도록 이루어진 것을 특징으로 하는 컨텐츠 제공 방법
  10. 브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 하나 이상의 응용프로그램 지원서버 수단과, 컨텐츠를 제공하기 위한 하나 이상의 웹/서브렛 서버수단이 하나 이상의 클라이언트와 네트워크를 통해 연결되어 있을 때, 상기 응용프로그램 지원서버 수단을 운영하는 방법에 있어서,
    클라이언트로부터 응용프로그램 지원서버 수단으로의 접속요청을 수신하는 단계와,
    상기 요청에 응답하여 상기 응용프로그램 지원서버 수단에 포함되어 있는 브라우저가, 기설정된 컨텐츠를 웹/서브렛 서버수단으로부터 읽고 해석하는 단계와,
    상기 응용프로그램 지원서버 수단에서 상기 기설정된 컨텐츠를 해석하여 형성한 브라우저 화면의 영상정보를 상기 클라이언트에 전송하는 단계를 포함하것을 특징으로 하는 운영 방법.
  11. 제10항에 있어서, 상기 기설정된 콘텐츠는 다수의 하이퍼링크를 포함하고, 상기 다수의 하이퍼링크는 상기 하나 이상의 응용프로그램 지원서버 수단에 대한 하나 이상의 응용 프로그램으로의 하이퍼링크를 포함하는 것을 특징으로 하는 운영 방법.
  12. 제10항에 있어서, 상기 기설정된 콘텐츠는 다수의 하이퍼링크를 포함하고, 상기 다수의 하이퍼링크는 상기 하나 이상의 웹/서브렛 서버수단에 대한 하나 이상의 컨텐츠로의 하이퍼링크를 포함하는 것을 특징으로 하는 운영 방법.
  13. 브라우저를 포함하는 하나 이상의 GUI 응용 프로그램을 실행하고, 각 프로그램의 영상정보를 클라이언트측에 전송하기 위한 하나 이상의 응용프로그램 지원서버 수단과, 컨텐츠를 제공하기 위한 하나 이상의 웹/서브렛 서버수단이 하나 이상의 클라이언트와 네트워크를 통해 연결되어 있을 때, 상기 응용프로그램 지원서버 수단을 운영하는 방법에 있어서,
    클라이언트로부터 응용프로그램 지원서버 수단에 응용프로그램에 대한 요청을 포함하는 접속요청을 수신하는 단계와,
    상기 요청에 응답하여 상기 응용프로그램 지원서버 수단에 포함되어 있는 상기 응용프로그램을 실행하는 단계와,
    상기 응용프로그램 지원서버 수단에서 상기 응용프로그램을 실행하여 형성한 영상정보를 상기 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 운영 방법.
KR10-2000-0077632A 2000-12-18 2000-12-18 혼합 컨텐츠 서버-클라이언트 시스템 KR100422679B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2000-0077632A KR100422679B1 (ko) 2000-12-18 2000-12-18 혼합 컨텐츠 서버-클라이언트 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2000-0077632A KR100422679B1 (ko) 2000-12-18 2000-12-18 혼합 컨텐츠 서버-클라이언트 시스템

Publications (2)

Publication Number Publication Date
KR20020048229A KR20020048229A (ko) 2002-06-22
KR100422679B1 true KR100422679B1 (ko) 2004-03-12

Family

ID=27682674

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2000-0077632A KR100422679B1 (ko) 2000-12-18 2000-12-18 혼합 컨텐츠 서버-클라이언트 시스템

Country Status (1)

Country Link
KR (1) KR100422679B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404819B2 (en) 2015-05-29 2019-09-03 Coreline Soft Co., Ltd. Local server system and method of relaying data in the same for switching between thin client environment and thick client environment

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020069058A (ko) * 2001-02-23 2002-08-29 (주)싸이버뱅크 전송량 감축을 통한 무선 기반 씬 클라이언트 전자우편서비스 시스템 및 그 방법
JP3857641B2 (ja) * 2002-12-17 2006-12-13 株式会社東芝 コンテンツ配信方法及びコンテンツ配信システム
US7840960B2 (en) 2002-12-17 2010-11-23 Kabushiki Kaisha Toshiba Content distribution method and content distribution package
US9787754B2 (en) 2015-03-25 2017-10-10 Obigo Inc. Method for providing service to client using browser of virtual server and virtual server and computer-readable recording medium using the same
KR102165428B1 (ko) * 2020-06-18 2020-10-14 주식회사 두두아이티 가상머신을 이용하여 콘텐츠를 제공하는 방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000011850A1 (en) * 1998-08-20 2000-03-02 Geoworks Corporation Optimizing server delivery of content by selective inclusion of optional data based on optimization criteria
JP2000099463A (ja) * 1998-04-30 2000-04-07 Fon Dot Com Japan Kk デ―タネットワ―クの二方向対話通信装置用の中心化されたサ―ビス管理システム
KR20000028589A (ko) * 1998-10-12 2000-05-25 윤종용 웹서버에의한html문서의제공방법
KR20000039328A (ko) * 1998-12-12 2000-07-05 구자홍 웹 브라우저의 에치티엠엘 처리방법
JP2000339170A (ja) * 1999-05-31 2000-12-08 Yokohama Rubber Co Ltd:The シン・クライアント導入システム
KR20020034347A (ko) * 2000-11-01 2002-05-09 강태구 서버-씬 클라이언트 시스템

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000099463A (ja) * 1998-04-30 2000-04-07 Fon Dot Com Japan Kk デ―タネットワ―クの二方向対話通信装置用の中心化されたサ―ビス管理システム
WO2000011850A1 (en) * 1998-08-20 2000-03-02 Geoworks Corporation Optimizing server delivery of content by selective inclusion of optional data based on optimization criteria
KR20000028589A (ko) * 1998-10-12 2000-05-25 윤종용 웹서버에의한html문서의제공방법
KR20000039328A (ko) * 1998-12-12 2000-07-05 구자홍 웹 브라우저의 에치티엠엘 처리방법
JP2000339170A (ja) * 1999-05-31 2000-12-08 Yokohama Rubber Co Ltd:The シン・クライアント導入システム
KR20020034347A (ko) * 2000-11-01 2002-05-09 강태구 서버-씬 클라이언트 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10404819B2 (en) 2015-05-29 2019-09-03 Coreline Soft Co., Ltd. Local server system and method of relaying data in the same for switching between thin client environment and thick client environment

Also Published As

Publication number Publication date
KR20020048229A (ko) 2002-06-22

Similar Documents

Publication Publication Date Title
US6446096B1 (en) Method and system for providing device-specific key control using role-based HTML element tags
US7286145B2 (en) System for describing markup language for mobile use, and information processing apparatus and program for generating display content
US7023572B2 (en) Portable high speed internet access device
US6819343B1 (en) Dynamic controls for use in computing applications
US6112228A (en) Client inherited functionally derived from a proxy topology where each proxy is independently configured
CA2326875C (en) Apparatus and method for dynamically limiting information sent to a viewing device
US7305452B2 (en) Information delivery system, advertisement delivery system, information delivery program, server, information delivery server, advertisement information delivery method and saver page display method
JP3083806B2 (ja) 閲覧可能なオブジェクトの表示を選択的に不能にする方法およびシステム
US7464381B1 (en) Content update proxy method
US7167142B2 (en) Multi-user display system
US20060230059A1 (en) Method and apparatus to select and deliver portable portlets
US20110078593A1 (en) Web browser transmission server and method of controlling operation of same
US20090006977A1 (en) Method and System of Computer Remote Control that Optimized for Low Bandwidth Network and Low Level Personal Communication Terminal Device
KR19990013421A (ko) 관련 웹 페이지를 프린트하기 위한 장치 및 방법
KR20040089600A (ko) 웹페이지에 디스플레이된 소프트웨어 어플리케이션과의상호작용
US7251774B2 (en) System for describing markup language for mobile use, and information processing apparatus and program for generating display content
JP2000181835A (ja) 通信方法、クライアント端末、サーバ、通信システム、通信を制御するためのソフトウエア・プロダクトを格納した記録媒体
US20040049530A1 (en) Distributed computer system using a graphical user interface toolkit
US20040085366A1 (en) Method for maintaining state information in a browser session across multiple web sites
US6813768B1 (en) Method and system for automatic task focus swapping during browser wait time
KR100422679B1 (ko) 혼합 컨텐츠 서버-클라이언트 시스템
US20050198568A1 (en) Table display switching method, text data conversion program, and tag program
JP2002259193A (ja) 情報提供サーバ,サーバの情報提供方法,情報提供システム,及びコンピュータ読取可能な記録媒体
US6636235B1 (en) Lettering adjustments for display resolution
US20040194023A1 (en) User selective reload of images

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
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130114

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140121

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160108

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170109

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180123

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee