KR100812211B1 - 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법 - Google Patents

스트리밍을 이용한 애플리케이션 제공 시스템 및 방법 Download PDF

Info

Publication number
KR100812211B1
KR100812211B1 KR1020010061583A KR20010061583A KR100812211B1 KR 100812211 B1 KR100812211 B1 KR 100812211B1 KR 1020010061583 A KR1020010061583 A KR 1020010061583A KR 20010061583 A KR20010061583 A KR 20010061583A KR 100812211 B1 KR100812211 B1 KR 100812211B1
Authority
KR
South Korea
Prior art keywords
application
client
vaccine
providing server
container
Prior art date
Application number
KR1020010061583A
Other languages
English (en)
Other versions
KR20030030050A (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 KR1020010061583A priority Critical patent/KR100812211B1/ko
Publication of KR20030030050A publication Critical patent/KR20030030050A/ko
Application granted granted Critical
Publication of KR100812211B1 publication Critical patent/KR100812211B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.
네트워크, ASP(Application Service Provider), 애플리케이션

Description

스트리밍을 이용한 애플리케이션 제공 시스템 및 방법{System and Method for Providing Application by using Streaming}
도1은 ASP의 애플리케이션 제공 서버와 클라이언트의 애플리케이션 컨테이너에 대한 간단한 블록도이다.
도2는 클라이언트에 탑재되어 있는 애플리케이션 컨테이너를 실행하는 단계에서 거쳐야만 하는 기본적인 과정에 대한 간단한 흐름도이다.
도3은 애플리케이션 컨테이너가 인터넷 상의 애플리케이션 제공 서버를 찾는 과정에 대한 간단한 흐름도이다.
도4는 애플리케이션 제공 서버로부터 클라이언트의 애플리케이션 컨테이너로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 클라이언트 메모리로 적재하는 과정에 대한 간단한 흐름도이다.
도5는 백신 제공자의 백신 제공 서버와 클라이언트의 백신 컨테이너를 CDN을 통해 연결하고 있는 간단한 블록도이다.
도6은 백신 컨테이너가 백신 제공 서버로부터 스트리밍 되는 백신을 버퍼링 하여 클라이언트에 감염되어 있는 바이러스를 검색하고 치료하는 과정에 대한 간단한 흐름도이다.
<도면의 주요부분에 대한 설명>
100 : 애플리케이션 서비스 제공자 105 : 애플리케이션 제공 서버
110 : 애플리케이션 데이터 베이스 115 : 송신부
120 : 애플리케이션 과금부 125 : 클라이언트
130 : 애플리케이션 컨테이너 135 : 버퍼
140 : 적재부 145 : 주기억장치
150 : 레지스트리
본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.
정보 통신 인프라와 데스크탑 컴퓨터 기술이 발전함에 따라, 개인 및 기업이 사용하는 소프트웨어는 패키지화되고 대용량화되었으며, 해당 소프트웨어를 사용하는데 필요한 소유 총비용(Total Cost of Ownership) 역시 급격히 증가하고 있다.
특히, 기업의 경우 모든 업무가 정보 통신 기술을 바탕으로 전산화되면서, 기업의 업무를 지원하는데 필요한 응용 소프트웨어의 TCO는 중소 규모의 기업이 감당하기에 벅찰 정도로 증가하였다. 따라서, 별도의 소프트웨어 구매 없이 네트워크를 통해 애플리케이션 서비스를 이용할 수 있는 ASP는, 고가의 소프트웨어에 대한 TCO에 부담을 느끼는 중소 규모의 기업이나 개인에게 비용 부담 없이 해당 애플리 케이션을 사용할 수 있는 유일한 대안으로 제시되고 있다.
ASP는 기업 업무를 지원하는 기업용 ASP와 데스크탑 컴퓨터에 설치되는 애플리케이션들을 제공하는 PC용 ASP 등이 있으며, 각각에 대하여 설명하면 다음과 같다.
기업용 ASP는 ERP(Enterprise Resource Planning), G/W(Groupware), KMS(Knowledge Management System), CRM(Customer Relationship Management), 그리고 SCM(Supply Chain Management) 등과 같이 기업 활동에 필요한 기업 업무 지원 응용 소프트웨어를 제공하는 서비스로서, 다양한 정보가 축적된 D/W(Data Warehouse)를 통해 고객의 구매 동향, 신제품에 대한 반응도, 제품별 수익률 등과 같은 다양한 종류의 정보를 저렴한 비용으로 축적하고, 응용할 수 있는 방법을 제공한다.
상기와 같은 기업용 ASP는 중소 규모의 기업에 대하여, 해당 기업의 인력과 비용 절감시키고, 고가의 고품질 서비스를 저렴한 비용으로 이용할 수 있으며, 애플리케이션 이용을 위한 장소의 제약을 해결하고, 기업 업무의 전산화를 통해 빠른 비즈니스 전개를 할 수 있도록 하는 장점이 있다.
반면, 기업의 다양한 정보가 해당 기업의 외부에 저장되기 때문에 발생하는 보안상의 문제와, 각각의 ASP가 서로 호환되지 않기 때문에 발생하는 정보 응용력의 한계는 기업용 ASP의 가장 큰 단점이다.
한편, PC용 ASP는 클라이언트 서버 시스템에서 TCO 삭감을 목표로 하는 클라이언트 하드웨어 구상인 씬 클라이언트(Thin Client)에 대하여, 서버 측에 과금 시스템(Billing System)이 탑재된 형태의 애플리케이션 서비스 방법이다.
씬 클라이언트는 모든 애플리케이션이 사용자의 컴퓨터에 탑재하는 형태의 기존 팻 클라이언트(Fat Client)와 달리, 클라이언트에 필요한 거의 모든 기능을 서버 측에 일괄 탑재한 후, 클라이언트의 기능을 MMI(Man-Machine Interface)로 한정함으로서, TCO를 대폭 삭감하는 형태의 하드웨어 구상이다. 씬 클라이언트의 대표적인 방법에는 오라클사와 선 마이크로시스템즈사 등이 개발한 네트워크 컴퓨터(NC), 인텔사와 마이크로소프트사 등이 개발한 넷 PC(Net PC), 그리고 마이크로소프트사가 개발한 윈도 단말(Window terminal) 등이 있다.
PC용 ASP는 상기 서술한 씬 클라이언트를 광역 네트워크인 인터넷으로 확장하고, 서버 측에 애플리케이션 서비스에 대한 과금 시스템을 탑재한 것으로서, 클라이언트가 ASP에 설치되어 있는 애플리케이션을 자신의 컴퓨터에 탑재되어 있는 것처럼 사용하도록 하는 것이다.
상기와 같은 PC용 ASP는 기업용 ASP와 마찬가지로 클라이언트 입장에서 애플리케이션에 대한 TCO를 대폭 삭감할 수 있다는 장점이 있다. 그러나, 클라이언트가 생성한 데이터가 외부에 저장된다는 점과, 클라이언트를 MMI로 한정하는 과정에서 클라이언트와 서버 사이의 잦은 데이터 통신 때문에, 클라이언트 서버 시스템 사이의 네트워크 자원을 낭비한다는 것은 PC용 ASP의 가장 큰 단점이다.
결국, 현재까지 상용화된 모든 형태의 ASP는 클라이언트 입장에서 TCO를 대폭 삭감시킨다는 장점과 함께, 보안상의 문제점과 네트워크 자원을 낭비시킨다는 단점을 가지고 있다.
물론, 보안상의 문제점은 ASP에 저장되는 클라이언트의 데이터를 백업하고, 파이어월 등을 설치함으로서 어느 정도 해결할 수 있다. 그러나, 클라이언트와 ASP 사이의 잦은 데이터 통신 과정에서 발생하는 트래픽에 의한 네트워크 자원의 낭비, 그리고 낭비된 네트워크 자원 때문에 발생하는 불편함은, ASP 사용자에게 ASP 서비스 자체를 꺼리는 이유 중의 하나로 인식되고 있다. 특히, 클라이언트를 MMI로 한정하는 PC용 ASP의 경우에는 이와 같은 네트워크 자원의 낭비가 더욱더 심각하다.
최근 들어 네트워크의 발전과 더불어 바이러스의 존재 또한 급속도로 성장일로를 걷고 있으며, 이로 인한 피해가 속출하고 있는 실정이다.
일반적으로 바이러스가 목표로 하는 파일은 모든 윈도즈 계열 운영 체제에서 사용되는 윈속(wsock32.dll)과 같은 시스템 파일을 비롯하여 기존 클라이언트내 설치된 프로그램 파일을 감염시켜 작동에 오류를 발생시키기도 한다. 즉, 한달 전에 배포된 백신으로는 일주일 전에 출현한 바이러스를 치료할 수 없다. 이에 따라 신종 바이러스에 감염되면 기존 하드디스크에 설치된 백신 프로그램에 오류를 일으키기 쉽다.
상기와 같이 백신 업그레이드 주기가 수시간에서 수주일 정도로 빈번하고, 백신의 즉각적인 업그레이드 없이는 사용 자체가 무의미한 백신에 대하여, 사용자는 새로운 백신을 다운받아 설치해야 하는 불편함이 있으며, 주기적으로 업데이트된 백신파일을 다운받아 재 설치해야만 한다.
상기와 같은 문제점들을 보완하기 위한 본 발명의 목적은 클라이언트에서 애플리케이션 컨테이너를 실행하는 단계, 애플리케이션 컨테이너가 애플리케이션 제공 서버를 찾는 단계, 애플리케이션 제공 서버로부터 클라이언트의 애플리케이션 컨테이너로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 메모리로 적재하는 단계 등을 통해, 클라이언트에 설치되어 있는 프로그램을 직접 실행한 것과 같이, 인터넷 상의 ASP로부터 클라이언트의 메모리로 애플리케이션을 원격 적재하는 방법을 제공함에 있으며, 이를 응용하여 일반 하드디스크에 저장되어 있는 백신(신종 바이러스 침투에 의해 프로그램이 손상될 수 있음)보다 효과적으로 바이러스를 퇴치하는 동시에 백신을 하드디스크에 파일로 저장하거나 최신 백신을 재차 다운로드 하는 불편함을 줄이는 스트리밍을 이용한 백신제공 방법 및 시스템을 제공하는데 있다.
본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다.
또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑 재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.
본 발명에 따르면, ASP의 애플리케이션 제공 서버로부터 스트리밍되어 클라이언트의 애플리케이션 컨테이너로 버퍼링되는 애플리케이션 데이터 블록은 파일로 저장되지 않는다. 그러나, 본 발명에서 사용하는 데이터 전송 기법이 인터넷 상의 멀티미디어 실시간 재생을 위한 고전적 의미의 스트리밍 기술을 응용하는 것만으로 한정되는 것은 아니며, 인터넷을 통한 모든 종류의 실시간 전송 기술이 본 발명의 데이터 전송 기법에 포함된다.
도면1은 ASP(100)의 애플리케이션 제공 서버(105)와 클라이언트(125)의 애플리케이션 컨테이너(130)에 대한 간단한 블록도이다.
ASP(100)는 애플리케이션 제공 서버(105)라고 하는 서버 시스템으로 구성되며, 애플리케이션 제공 서버(105)는 기본적으로 클라이언트(125)에게 전송되는 애플리케이션을 저장하고 있는 D/B(110)와 애플리케이션 전송하는 송신부(115), 그리고 애플리케이션 과금부(120)로 이루어져 있다.
애플리케이션 D/B(110)는 클라이언트(125)로 전송될 애플리케이션 데이터를 저장하고 있으며, 애플리케이션 데이터는 송신부(115)를 통해 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍 된다. 이 때, 애플리케이션 제공 서버(105)의 송신부(115)에서 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍되는 스트림 데이터를 애플리케이션 데이터 블록이라고 한다.
애플리케이션 데이터 블록은 클라이언트(125)의 주기억장치(145), 즉 메모리로 즉시 적재가 가능한 프로세스의 형태를 취하고 있으며, 클라이언트(125) 하드디스크에 저장되어 있는 파일이 메모리에 적재되는 것과 동일한 구조를 가지고 있다.
일반적으로 운영체제에 의해 파일이 메모리에 적재되는 과정은 다음과 같다.
메모리에 적재될 하드디스크 상의 파일은 운영체제의 연결편집기(Link Editor)와 적재기(Loader)를 통해 가상 메모리 주소를 할당받은 후, 세그먼트 사상표와 결합하여 메모리에 적재된다. 이 때, 메모리에 적재되는 파일은 한꺼번에 적재되는 것이 아니라, 당장 실행해야 할 부분부터 순차적으로 적재되기 때문에, 물리적인 메모리보다 큰 용량의 파일도 실행이 가능한 것이다.
애플리케이션 데이터 블록은 상기와 같이 하드디스크 상의 파일이 메모리로 적재되는 프로세스와 같은 구조로서, 애플리케이션 제공 서버(105)의 송신부(115)에서 순차적으로 스트리밍 되어 클라이언트(125)의 애플리케이션 컨테이너(130)에 버퍼링된다.
애플리케이션 과금부(120)는 ASP(100)의 애플리케이션 서비스에 대한 사용료를 계산하고, 요금을 부과하는 역할을 수행하며, 과금 방법은 서비스되는 애플리케이션의 종류와 ASP(100) 과금 기준에 의존적이다.
클라이언트(125)는 애플리케이션 컨테이너(130)라고 하는 프로그램이 탑재되어 있으며, 애플리케이션 컨테이너(130)는 기본적으로 애플리케이션 제공 서버(105)에서 스트리밍 되는 애플리케이션 데이터 블록을 버퍼링 하는 버퍼(135)와 버퍼링된 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 적재부(140)로 구성되어 있다.
버퍼(135)는 FIFO(First In First Out) 구조의 메모리 블록으로서, 애플리케이션 제공 서버(105)의 송신부(115)에서 스트리밍된 애플리케이션 데이터 블록을 순차적으로 버퍼링한다. 이렇게 버퍼링된 애플리케이션 데이터 블록은 적재부(140)에 의해 클라이언트(125) 메모리로 적재된다.
적재부(140)는 버퍼(135)에 버퍼링되어 있는 애플리케이션 제공 서버(105)에 가상 메모리 주소를 할당한 후, 전술한 내용과 같이 하드디스크 상의 파일이 운영체제를 통해 메모리에 적재되는 것처럼, 스트리밍된 애플리케이션 데이터 블록을 운영체제를 참조하여 메모리에 적재한다. 따라서, 애플리케이션 컨테이너(130)의 적재부(140)를 통해 메모리에 적재된 애플리케이션 데이터 블록은, 클라이언트(125) 하드디스크 상의 파일이 메모리 상에 적재된 것과 동일한 역할을 수행하며, 이것을 통해 애플리케이션 컨테이너(130)는 인터넷 상의 애플리케이션 제공 서버(105)에 있는 애플리케이션을, 클라이언트(125)에서 직접 실행한 것과 같은 결과를 생성한다.
애플리케이션 컨테이너(130)는 클라이언트(125)의 레지스트리(150)를 참조하며, 레지스트리(150)에는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 필요한 모든 정보가 저장되어 있다. 그러나, 본 발명에서 다루고 있는 클라이언트 레지스트리(150)가 마이크로소프트 윈도우 시스템의 레지스트리만을 가리키는 것은 아니다. 클라이언트 레지스트리(150)는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 스트리밍하여 메모리에 적재하기 위한 정보를 저장하고 있는 D/B이며, 그 구조는 윈도우 시스템의 레지스트리를 포함하여, INI파일은 물론, 모든 종류의 D/B를 포함한다.
애플리케이션 컨테이너(130)는 ASP(100)에 의해 제작되어 배포되는 프로그램, 인터넷 익스플로러나 넷스케이프를 포함하는 웹 브라우저, 그리고 운영체제에 기본적으로 포함되어 있는 시스템 유틸리티를 모두 포함하며, 그 구조와 목적에 따 라 다양한 종류의 애플리케이션을 클라이언트(125)에서 구동시키는 역할을 수행한다. 따라서, 각각의 애플리케이션 컨테이너(130)는 그 구조와 목적에 따라 약간씩 다른 작업을 수행할 수 있다.
이하 간단한 흐름도를 통해 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)에 있는 애플리케이션 데이터를 클라이언트(125) 메모리로 적재하는 과정에서 기본적으로 거쳐야만 하는 과정에 대하여 설명한다. 단, 다음의 흐름도는 각각의 단계에서 기본적으로 수행해야만 하는 내용에 대한 것이며, 본 발명의 작업 흐름이 다음의 흐름도만으로 한정되는 것은 아니다.
도면2는 클라이언트(125)에 탑재되어 있는 애플리케이션 컨테이너(130)를 실행하는 단계에서 거쳐야만 하는 기본적인 과정에 대한 간단한 흐름도이다.
클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(200), 애플리케이션 컨테이너(130)는 애플리케이션 구동에 필요한 DLL(Dynamic Linking Library) 파일과 라이브러리 정보 등으로 참조하여, 애플리케이션 서비스를 위한 준비를 종료 한 후, 애플리케이션 제공 서버(105)가 제공하는 애플리케이션이 운영체제에 선택적인 경우에, 최적의 애플리케이션 서비스를 위해 클라이언트(125)의 운영체제 종류와 버전을 확인한다(205).
클라이언트(125)의 운영 체제 종류와 버전 확인이 끝나면, 애플리케이션 컨테이너(130)는 클라이언트(125)에 애플리케이션 서비스를 위한 충분한 물리적 메모리 공간이 존재하는 지 확인한다(210). 단, 이 과정에서 클라이언트(125) 하드디스크 여유 공간을 확인할 필요는 없다. 본 발명에 의해, 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터 블록은 하드디스크에 저장되지 않는다. 만약, 클라이언트(125)에 물리적 메모리에 충분한 여유 공간이 존재하지 않는다면(215), 애플리케이션 컨테이너(130)는 메모리 공간을 확보할 것을 메시지로 출력한 후(220), 자동 종료한다(225). 그러나, 클라이언트(125)에 애플리케이션 서비스를 위한 충분한 메모리가 존재한다면, 애플리케이션 컨테이너(130)는 자신이 사용할 버퍼(135)를 할당한다(230).
애플리케이션 컨테이너(130)가 사용할 버퍼(135)가 할당되면, 애플리케이션 컨테이너(130)는 클라이언트(125) 네트워크가 정상적으로 작동하고 있는지 확인한다(235). 본 발명은, 애플리케이션 서비스를 위해 애플리케이션 데이터 블록을 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 하는 단계에서, 네트워크 자원을 한번 이상 사용하기 때문에, 클라이언트(125) 네트워크가 정상적으로 작동하고 있지 않다면(240), 사용자 메시지를 출력한 후(220), 애플리케이션 컨테이너(130)를 자동 종료한다(225).
만약, 클라이언트(125) 네트워크가 정상 작동하고 있다면, 애플리케이션 컨 테이너(130)는 구동하고자 하는 애플리케이션을 선택한다(245). 이것은, 하나의 애플리케이션 컨테이너(130)로 복수의 애플리케이션을 구동하는 경우 사용되며, 단일 애플리케이션만을 구동할 수 있는 애플리케이션 컨테이너(130)라면, 구동하고자 하는 애플리케이션을 자동 설정한다.
도면3은 애플리케이션 컨테이너(130)가 인터넷 상의 애플리케이션 제공 서버(105)를 찾는 과정에 대한 간단한 흐름도이다.
일반적으로 대용량 멀티미디어 컨텐츠의 실시간 재생을 목적으로 하는 스트리밍 서비스는 속도 향상을 위해 CDN(Content Delivery Network)을 사용한다. 물론, 본 발명 역시 애플리케이션 데이터 블록의 스트리밍 속도 향상을 위해 CDN을 사용할 수 있다. 그러나, CDN을 통해 스트리밍 서비스를 제공하는 경우, 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)를 찾는 과정이 CDN의 구조에 의존적이기 때문에, 본 흐름도에서는 CDN을 사용하지 않고 애플리케이션 제공 서버(105)를 찾는 과정에 대하여 다룬다.
도면2와 같이 클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(300), 애플리케이션 컨테이너(130)는 레지스트리(150)를 참조하여 인터넷 상에서 애플리케이션 제공 서버(105)의 주소를 확인한 후(305), 해당 서버(105)에 접속하여 로그인한다(310). 애플리케이션 제공 서버(105)에 로그인하는 이유는 애 플리케이션 서비스에 대한 사용료를 부과하기 위한 것으로서, 요금 부과 방식은 ASP(100)의 과금 기준에 의존한다.
애플리케이션 컨테이너(130)가 상기와 같이 애플리케이션 제공 서버(105)에 성공적으로 접속하면, 애플리케이션 컨테이너(130)는 클라이언트(125) 운영체제의 종류와 버전에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)의 애플리케이션 D/B(110)안에 존재하는지 확인한다(315).
만약, 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)에 존재하지 않는다면(320), 애플리케이션 컨테이너(130)는 로그아웃 한 후(325), 자동 종료된다(330). 그러나, 애플리케이션 제공 서버(105)에 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 존재한다면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터에 대한 정보를 레지스트리(150)에서 추출한다(335).
클라이언트 레지스트리(150)에서 추출되는 애플리케이션 데이터에 대한 정보는 해당 애플리케이션 데이터의 위치 정보는 물론, 애플리케이션 데이터의 스트리밍 서비스에 필요한 모든 정보를 포함한다.
상기와 같이 클라이언트 레지스트리(150)에서 애플리케이션 데이터에 대한 정보가 추출되면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)로부터 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터 블록이 사용할 스트리밍 프로토콜을 결정한다(340).
현재, 일반적으로 사용되는 스트리밍 프로토콜에는 HTTP(HyperText Transfer Protocol), UDP(User Datagram Protocol), 그리고 TCP(Transmission Control Protocol) 등이 있으며, 최근 마이크로소프트에서 제작한 MMS(Microsoft Media Server) 프로토콜은 사용자의 전송 요구가 발생할 경우, HTTP, UDP, TCP 3가지의 프로토콜 중에서 가장 적합한 프로토콜을 선택해 최적의 스트리밍을 구현하는 방식이다.
특히, 상기 프로토콜 중에서 UDP와 TCP는 인터넷 기본 프로토콜인 TCP/IP 프로토콜에서, 전송 계층인 OSI의 제4계층에서 선택되는 프로토콜로서, UDP와 TCP 중에서 어떤 프로토콜이 선택되느냐에 따라 스트리밍 서비스의 신뢰성에 약간의 차이가 있다.
즉, TCP는 세션을 설정한 후 통신을 개시하는 프로토콜로서, 데이터 통신에서 질서 있고 정확하게 데이터를 전송하기 위해 필요한 전송 제어의 규칙과 절차를 정의하고 있는 반면, UDP는 데이터 통신의 신뢰성보다는 고속 통신을 위한 프로토콜이다. 따라서, 스트리밍 도중에 미디어의 프레임 일부가 유실되어도 크게 문제되 지 않는, 멀티미디어 스트리밍에서는 TCP보다 UDP가 주로 이용된다.
그러나, 스트리밍 서비스의 속도보다는 통신의 신뢰성 확보가 강조되는 본 발명에서는, 데이터 통신의 신뢰성을 보장하지 않는 UDP보다는 스트리밍 서비스에서는 오류 수정이나 재전송 요청 등과 같이 스트리밍 신뢰성 확보에 대한 개념이 철저한 TCP를 사용한다.
본 발명에서 스트리밍 프로토콜은 제공되는 애플리케이션의 구조, 기능, 그리고 목적과 애플리케이션 컨테이너(130)의 종류에 따라 결정된다. 예를 들어, 애플리케이션 컨테이너(130)가 웹 브라우저라면, HTTP가 스트리밍 프로토콜로 선택되는 것이 적합하며, ASP(100)에 의해 배포되는 프로그램, 또는 운영체제에 의해 제공되는 시스템 유틸리티 형태라면, TCP가 스트리밍 프로토콜로 선택되는 것이 적합하다.
그러나, 항상 애플리케이션 컨테이너(130)의 종류 따라 스트리밍 프로토콜이 결정되는 것은 아니며, 클라이언트(125)에 스트리밍 되는 애플리케이션 데이터가 어떤 것이며, 어떤 구조를 가지고 있고, 클라이언트(125)에서 수행하는 작업이 무엇인가에 따라 결정되기도 한다.
또한, 파일로 저장되지 않는 푸시 기술 등을 응용하여 스트리밍 할 수도 있 으며, 이 경우 전송되는 애플리케이션 데이터의 구조, 기능, 그리고 목적에 따라 포인트캐스트 방식의 푸시 기술이나 캐스터넷 방식의 푸시 기술이 응용될 수 있다.
도면4는 애플리케이션 제공 서버(105)로부터 클라이언트(125)의 애플리케이션 컨테이너(130)로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 클라이언트(125) 메모리로 적재하는 과정에 대한 간단한 흐름도이다.
클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행된 후, 애플리케이션 제공 서버(105)로부터 스트리밍 되는 애플리케이션 데이터 블록의 스트리밍 프로토콜이 결정되면(400), 애플리케이션 컨테이너(130)의 적재부(140)는 클라이언트(125) 운영체제를 참조하여 애플리케이션 데이터에 대한 가상 주소를 할당한다(405). 이 과정은 클라이언트(125) 하드디스크에 저장되어 있는 파일을 메모리로 적재하기 위해 운영체제의 연결편집기(Link Editor)와 적재기(Loader)가 해당 파일에 대한 가상 주소를 할당하는 과정과 동일하다.
애플리케이션 컨테이너(130)의 적재부(140)를 통해 스트리밍 되는 애플리케이션 데이터의 가상 주소 할당이 완료되면, 애플리케이션 제공 서버(105)의 송신부(115)는 클라이언트(125)로 애플리케이션 데이터 블록을 스트리밍하기 시작한다(410). 물론, 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되기 시작하는 애플리케이션 데이터 블록은 스트리밍 할 모든 애플리케이션 데이터 블록이 클라이언트(125)의 애플리케이션 컨테이너(130)에 버퍼링 될 때까지 지속적으로 스트리밍된다.
애플리케이션 제공 서버(105)의 송신부(115)로부터 애플리케이션 데이터 블록이 스트리밍 되기 시작하면, 클라이언트(125)의 애플리케이션 컨테이너(130)는 애플리케이션 데이터 블록을 버퍼링한 후(415), 클라이언트(125) 메모리로 적재 가능한 만큼의 애플리케이션 데이터 블록이 버퍼링 되었는지 확인한다(420). 만약 버퍼(135)에 버퍼링되어 있는 데이터가 메모리에 적재 가능한 만큼 버퍼링 되어있지 않다면(425), 애플리케이션 컨테이너(130)는 애플리케이션 데이터 블록이 충분히 스트리밍 될 때까지 지속적으로 버퍼링한다. 그러나, 버퍼에 쌓인 애플리케이션 데이터 블록 메모리에 적재 가능한 만큼 충분히 버퍼링 되어 있다면, 애플리케이션 컨테이너(130)의 적재부(140)는 운영체제를 참조하여 버퍼링 되어 있는 애플리케이션 데이터를 순차적으로 세그먼트 사상표와 결합하여(430) 클라이언트(125)의 물리적 메모리에 적재한다.
애플리케이션 제공 서버(105)로부터 클라이언트(125) 애플리케이션 컨테이너(130)로 버퍼링 된 애플리케이션 데이터가 클라이언트(125) 메모리로 적재되면(435), 애플리케이션 컨테이너(130)는 해당 데이터를 버퍼(135)에서 삭제함으로서(440), 애플리케이션 제공 서버(105)에서 스트리밍 되는 다음 애플리케이션 데이터가 사용하도록 한다.
상기와 같이, 애플리케이션 컨테이너(130)가 버퍼(135)에 임시 저장되어 있는 애플리케이션 데이터를 삭제하면, 적재부(140)는 애플리케이션 데이터가 클라이언트(125) 메모리에 적재에 모두 적재되었는지 확인한다(445). 만약 애플리케이션 제공 서버(105)로부터 스트리밍 되는 애플리케이션 데이터가 모두 클라이언트(125) 메모리에 적재되지 못했다면(450), 애플리케이션 컨테이너(130)는 모든 애플리케이션 데이터가 클라이언트(125) 메모리에 적재될 때까지 상기 과정을 반복한다. 그러나, 만약 애플리케이션 제공 서버(105)로부터 클라이언트(125) 애플리케이션 컨테이너(130)로 스트리밍된 모든 애플리케이션 데이터가 클라이언트(125) 메모리로 적재되었다면, 애플리케이션 컨테이너(130)는 클라이언트(125) 운영체제를 통해 메모리에 적재된 애플리케이션 데이터를 CPU를 통해 연산하도록 요청함으로서(455), 인터넷 상의 애플리케이션 제공 서버(105)에 있는 애플리케이션을 클라이언트(125)에서 실행한다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 대표적인 경우에 대한 것이며, 본 발명이 다음의 실시예로 한정되지는 않는다.
본 실시예는 바이러스 백신에 대한 것이며, 실시예의 특성상 상기 서술한 용어에 대하여, ASP(100)를 백신 제공자(500), 애플리케이션 제공 서버(105)를 백신 제공 서버(505), 애플리케이션 데이터를 백신 프로그램 또는 백신 패턴, 그리고 애 플리케이션 컨테이너(130)를 백신 컨테이너(540) 등으로 재명명하여 사용한다. 특히, 본 실시예에서는 CDN을 사용하여 스트리밍 속도를 향상시키는 방법에 대하여도 서술하며, 백신 컨테이너(540)에는 바이러스 검색과 치료를 담당하는 바이러스 치료부가 탑재되어 있다. 따라서, 백신 제공 서버(505)가 클라이언트(125)의 백신 컨테이너(540)로 바이러스 치료에 사용되는 백신을 제공하는 것으로서, 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료할 수 있다.
도면5는 백신 제공자(500)의 백신 제공 서버(505)와 클라이언트(125)의 백신 컨테이너(540)를 CDN(525)을 통해 연결하고 있는 간단한 블록도이다.
백신 제공자(500)는 백신 제공 서버(505)를 탑재하고 있으며, 백신 제공 서버(505)는 백신 D/B(510), 백신 송신부(515), 그리고 백신 서비스 과금부(520)로 구성되어 있다.
백신 D/B(510)에는 클라이언트(125)에게 서비스할 백신이 저장되어 있으며, 백신 D/B(510)는 항상 최근 출현한 바이러스를 치료할 수 있는 백신 데이터로 자동 업데이트된다. 따라서, 클라이언트(125)는 백신 제공 서버(505)로부터 새로운 백신 데이터를 스트리밍 하는 것만으로, 모든 바이러스를 검색하고 치료할 수 있는 방법을 제공받는다.
백신 송신부(515)는 백신 D/B(510)의 백신 데이터를 클라이언트(125)의 백신 컨테이너(540)로 스트리밍 하는 역할을 수행하며, 백신 서비스 과금부(520)는 클라이언트(125)에게 제공된 백신 서비스에 대한 사용료를 계산한다. 일반적으로, 바이러스 검색은 무료로 수행하며, 치료 건당 사용료를 받는 방법을 사용하며, 요금 부과에 필요한 모든 정보는 클라이언트(125)에 설치되어 있는 백신 컨테이너(540)로부터 백신 제공 서버(505)의 백신 서비스 과금부(520)로 전송된다.
클라이언트(125)는 백신 컨테이너(540)가 탑재되어 있으며, 백신 컨테이너(540)는 버퍼(135), 백신 적재부(545), 그리고 백신 엔진(550) 등으로 구성되어 있다.
백신 컨테이너(540)의 버퍼(135)는 백신 제공 서버(505)로부터 스트리밍 되는 백신을 버퍼링하는 역할을 수행하며, 버퍼링된 백신은 클라이언트(125) 하드디스크에 파일로 저장되지 않고, 백신 적재부(545)에 의해 즉시 클라이언트 메모리(145)에 적재된다.
백신 적재부(545)는 운영체제를 참조하여 버퍼(135)에 버퍼링 되어있는 백신을 클라이언트 메모리(145)에 적재하는 역할을 담당하며, 메모리(145)에 적재된 백신은 소프트웨어의 형태로 배포되던 기존 백신 프로그램에서 사용하는 백신과 동일한 역할을 수행한다.
백신 컨테이너(540)는 백신 제공자(500)가 배포하는 바이러스 검색 프로그램, 또는 웹 브라우저 등을 포함한다. 만약 백신 컨테이너(540)가 백신 제공자(500)가 배포하는 바이러스 검색 프로그램이라면, 백신 컨테이너(540) 내부에는 바이러스 검색과 치료를 할 수 있는 백신 엔진(550)이 탑재되어 있으며, 백신 컨테이너(540)가 웹 브라우저라면, 해당 웹 브라우저에는 백신 엔진(550)이 플러그인 되어 있다.
상기와 같이 백신 컨테이너(540)에 탑재되어 있는 백신 엔진(550)은, 백신 제공 서버(505)로부터 스트리밍 되는 백신을 이용하여 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하는 역할을 수행한다. 즉, 백신 엔진(550)은 바이러스 검색과 치료를 위한 백신 구동부이며, 백신 엔진이 바이러스를 검색하고, 치료하는데 필요한 최신 백신을 백신 제공 서버(505)로부터 실시간 스트리밍 하여 사용하게 되는 것이다.
따라서, 백신 제공자(500)로부터 클라이언트(125)로 스트리밍 되는 백신은, 클라이언트(125)에서 백신 컨테이너(540)가 실행되어 백신 제공 서버(505)에 접속할 때마다 클라이언트(125)로 스트리밍 되며, 스트리밍 되는 백신은 항상 최신 버전만을 제공하게 된다.
즉, 상기와 같이 클라이언트(125) 바이러스를 검색하고 치료하는 과정에서, 백신 제공자(500)로부터 최신 백신을 스트리밍 하기 시작하여, 스트리밍이 완료되기 전부터 즉각적으로 바이러스를 검색하고 치료할 수 있다는 것은 본 발명의 가장 큰 특징이다.
또한, 본 실시예에서는 CDN(525)을 사용하여 백신 스트리밍 서비스의 효과를 극대화한다.
CDN(525)은 기간망(Backbone Network)에 분산 배치된 캐시 서버(535)를 통해, 컨텐츠 제공자와 인터넷 서비스 제공자(ISP)(530) 사이의 미들마일(Middle Mile)을 최소화함으로서, 중단 없는 전달(Non-Stop Delivery)을 위한 부하 분배(Load Balancing), 빠른 웹 응답(Speedy Web Response)을 위한 캐싱(Caching), 인터넷 혼잡(Congestion)을 최소화하기 위한 분산(Distribute)과 복재 (Replicate)하는 컨텐츠 전달 방법이다.
따라서, CDN(525)을 통해 백신 제공 서버(505)의 백신을 클라이언트(125)의 백신 컨테이너(540)로 고속 전달하기 위해서는 백신 제공자(500)가 CDN 서비스 제공자(525)와 전략적 제휴를 통해, CDN의 캐시 서버(535)를 통해 백신을 스트리밍하면 된다.
즉, 백신 제공자(500)는 각 클라이언트(125)의 백신 컨테이너(540)가 백신을 요청하기 전에 CDN 상의 캐시 서버(535)에 최신 백신을 미리 전달하여 놓거나, 백신 컨테이너(540)가 백신을 요청하는 즉시 캐시 서버(535)로 최신 백신을 전달하여 놓음으로서, 백신 컨테이너(540)는 클라이언트(125)에서 실행과 동시에 최신 백신을 전달받을 수 있게 된다.
도면6은 백신 컨테이너(540)가 백신 제공 서버(505)로부터 스트리밍 되는 백신을 버퍼링하여 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하는 과정에 대한 간단한 흐름도이며, 백신 전달 성능 향상을 위해 CDN을 사용한다.
클라이언트(125)에서 백신 컨테이너(540)가 실행되면(600), 백신 컨테이너(540)는 도면2와 같은 과정을 통해 백신 제공자(500)로부터 스트리밍 되는 백신을 이용하여 클라이언트(125)에 감염되어 있는 바이러스 검색과 치료 서비스를 받을 수 있는지 운영체제, 여유 메모리, 그리고 네트워크 작동 여부 등을 확인한다. 그리고, 도면3과 같이 레지스트리를 참조하여 백신 제공 서버(505)에 접속 한 후(605), 백신 제공 서버(505)와 클라이언트(125) 사이의 스트리밍 프로토콜을 결정한다. 이 때, 클라이언트(125) 백신 컨테이너(540)가 실제로 백신을 스트리밍 받는 것은 백신 제공 서버(505)가 아니라, CDN 상의 캐시 서버(535)이므로, 상기 과정에서 결정되는 스트리밍 프로토콜은 본 실시예에서 사용하는 CDN 및 캐시 서버(535) 등과 호환되어야 한다.
상기와 같이 백신 컨테이너(540)가 백신 제공 서버(505)에 접속하고, 스트리밍 프로토콜이 결정되면, 백신 컨테이너(540)는 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하기 위해 시스템을 초기화 한 후, 백신 엔진(550)을 구동한다(610). 단, 이 때 백신 엔진(550)에는 클라이언트(125) 바이러스 검색과 치료에 사용될 백신이 아직 존재하지 않는다.
따라서, 백신 컨테이너(540)는 백신 제공 서버(505)에 클라이언트(125) 바이러스 검색과 치료를 위해 필요한 최신 백신을 즉시 전달해 줄 것을 요청한다(615). 그러면, 백신 제공 서버(505)는 클라이언트(125)의 백신 전달 요청을 해당 클라이언트(125)와 라스트마일(Last Mile)이 최소인 CDN 상의 캐시 서버(535)로 리다이렉트(Redirect)한 후, 해당 캐시 서버(535)로 백신을 전달하고(620), 클라이언트(125) 백신 컨테이너(540)는 해당 캐시 서버(535)로부터 백신을 고속 스트리밍 받는다(625).
캐시 서버(535)에서 클라이언트(125) 백신 컨테이너(540)로 백신이 전달되면, 백신 컨테이너(540)는 버퍼(135)에 버퍼링 되어 있는 백신이 사용 가능한 지 확인한다. 만약, 버퍼(135)에 버퍼링 되어 있는 백신이 사용 가능하다면(630), 백신 컨테이너(540)는 백신 적재부(545)를 통해 해당 백신을 클라이언트(125) 메모리에 적재한 후(635), 백신 엔진(550)을 통해 바이러스를 검색하기 시작한다(640). 단, 이 때 중요한 점은 백신 제공 서버(505), 또는 CDN 상의 캐시 서버(535)로부터 모든 백신 데이터가 완료되기 전에, 최소한의 백신만을 가지고도 백신 엔진(550)을 통해 클라이언트(125) 바이러스 검색을 시작할 수 있다는 것이다.
백신 컨테이너(540)의 백신 엔진(550)이 클라이언트(125)에 감염된 바이러스를 검색하는 과정, 또는 검색이 완료된 후에 해당 클라이언트(125)에 바이러스가 감염되어 있음이 확인되면(645), 백신 엔진(550)은 클라이언트(125)에 감염되어 있는 바이러스를 치료하고(650), 그 결과를 백신 제공자(500)에 전달하여 백신 서비스에 대한 사용료를 부과한 후(655), 클라이언트(125)에 바이러스 검색 및 치료 결과를 출력한다(660). 그러나, 클라이언트(125)에 대한 상기 바이러스 검색 과정에서 알려진 바이러스 감염이 확인되지 않는다면, 백신 컨테이너(540)는 그 결과를 클라이언트(125)에 출력 한 후, 바이러스 검색 및 치료 과정을 종료한다.
본 발명에 따르면, ASP(100)(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load)함으로써, 클라이언트로 하여금 애플리케이션 이용에 따른 불편함을 해소시키며, 다양한 애플리케이션 제공자들에게 서비스 확대에 따른 경제적 이익을 가져다주는 효과가 있다.
또한, 백신 제공자가 스트리밍하는 백신 데이터를 실시간으로 버퍼링하여 바 이러스를 검색하고 치료함으로써, 일반 하드디스크에 저장되어 있는 백신(신종 바이러스 침투에 의해 프로그램이 손상될 수 있음)보다 효과적으로 바이러스를 퇴치할 수 있는 효과가 있으며, 백신을 하드디스크에 파일로 저장하거나 최신 백신을 재차 다운로드 하는 불편함을 줄일 수 있는 장점이 있다.

Claims (16)

  1. 클라이언트 단말장치의 주기억장치로 즉시 적재가 가능한 프로세스의 형태를 취하는 애플리케이션 데이터 블록을 저장하는 애플리케이션 D/B(Data Base); 및
    상기 애플리케이션 D/B의 애플리케이션 데이터 블록을 하기 클라이언트 애플리케이션 컨테이너로 스트리밍 하는 역할을 수행하는 송신부;를 구비하는 애플리케이션 제공 서버와,
    상기 애플리케이션 제공 서버로부터 스트리밍 되는 애플리케이션을 버퍼링하는 역할을 수행하는 버퍼;
    상기 클라이언트 단말장치의 운영체제를 참조하여 상기 버퍼에 버퍼링 되어있는 애플리케이션을 상기 클라이언트 단말장치 내 메모리에 적재하는 애플리케이션 적재부;를 구비하는 애플리케이션 컨테이너를 포함하여 이루어지는 것을 특징으로 하는 스트리밍을 이용한 애플리케이션 제공 시스템.
  2. 삭제
  3. 삭제
  4. 클라이언트 단말장치의 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계;
    상기 클라이언트 단말장치의 레지스트리를 참조하여 상기 클라이언트 단말장치로 애플리케이션을 제공하는 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 단말장치 사이의 스트리밍 프로토콜을 결정하는 단계;
    상기 스트리밍 프로토콜에 의존하여 상기 클라이언트 단말장치로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계;
    상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트 단말장치에 애플리케이션을 스트리밍하여 제공하고, 상기 클라이언트 단말장치 내 메모리에 상기 애플리케이션을 적재시키는 단계;를 포함하여 이루어지는 것을 특징으로 하는 스트리밍을 이용한 애플리케이션 제공 방법.
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
KR1020010061583A 2001-10-06 2001-10-06 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법 KR100812211B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020010061583A KR100812211B1 (ko) 2001-10-06 2001-10-06 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020010061583A KR100812211B1 (ko) 2001-10-06 2001-10-06 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020060097716A Division KR20060108605A (ko) 2006-10-05 2006-10-05 네트워크를 통해 원격 적재되는 애플리케이션 서비스 방법및 시스템

Publications (2)

Publication Number Publication Date
KR20030030050A KR20030030050A (ko) 2003-04-18
KR100812211B1 true KR100812211B1 (ko) 2008-03-13

Family

ID=29563478

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020010061583A KR100812211B1 (ko) 2001-10-06 2001-10-06 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR100812211B1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1805655A1 (en) * 2004-10-22 2007-07-11 LG Electronics Inc. Method and system for determining server having controlling function
KR100656787B1 (ko) 2004-12-13 2006-12-12 한국전자통신연구원 선인출 방식을 이용한 임대 소프트웨어 제공 서버 장치 및 그 방법
US7636769B2 (en) * 2006-04-14 2009-12-22 Microsoft Corporation Managing network response buffering behavior
KR100848284B1 (ko) * 2006-12-13 2008-07-25 (주)네오위즈게임즈 소프트웨어 스트리밍을 제공하는 적재기 및 방법
KR101507919B1 (ko) * 2011-07-01 2015-04-07 한국전자통신연구원 가상 데스크탑 서비스를 위한 방법 및 장치
US9979751B2 (en) * 2013-09-20 2018-05-22 Open Text Sa Ulc Application gateway architecture with multi-level security policy and rule promulgations
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000049471A (ko) * 2000-03-27 2000-08-05 이활건 인터넷상에서 실시간 이용이 가능한 업무용 프로그램서어비스 방법
KR20000058835A (ko) * 2000-06-30 2000-10-05 김영귀 인터넷 소프트웨어 중계 시스템
KR20010035171A (ko) * 2001-01-10 2001-05-07 정창욱 네트워크를 통한 어플리케이션 서비스 및 원격지 저장서비스 통합 관리 시스템 및 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000049471A (ko) * 2000-03-27 2000-08-05 이활건 인터넷상에서 실시간 이용이 가능한 업무용 프로그램서어비스 방법
KR20000058835A (ko) * 2000-06-30 2000-10-05 김영귀 인터넷 소프트웨어 중계 시스템
KR20010035171A (ko) * 2001-01-10 2001-05-07 정창욱 네트워크를 통한 어플리케이션 서비스 및 원격지 저장서비스 통합 관리 시스템 및 방법

Also Published As

Publication number Publication date
KR20030030050A (ko) 2003-04-18

Similar Documents

Publication Publication Date Title
US10270817B2 (en) Forward request queuing in a distributed edge processing environment
US7536458B2 (en) Distribution of binary executables and content from peer locations/machines
US6772217B1 (en) Internet backbone bandwidth enhancement by initiating an additional data stream when individual bandwidth are approximately equal to the backbone limit
US7437428B1 (en) System and method for transferring data over a network
US7584241B2 (en) System and method for communications management and data exchange
US6308216B1 (en) Service request routing using quality-of-service data and network resource information
US6343085B1 (en) Adaptive bandwidth throttling for individual virtual services supported on a network server
US8577994B2 (en) Management of bandwidth allocation in a network server
CN1096646C (zh) 时间相干超高缓存系统
US20050149529A1 (en) Efficient handling of download requests
US20120166650A1 (en) Method of load balancing edge-enabled applications in a content delivery network (CDN)
US20030046335A1 (en) Efficiently serving large objects in a distributed computing network
US20050198296A1 (en) Distribution of binary executables and content from peer locations/machines
US8661138B2 (en) Group based allocation of network bandwidth
KR100812211B1 (ko) 스트리밍을 이용한 애플리케이션 제공 시스템 및 방법
US7584261B1 (en) Distribution of binary executables and content from peer locations/machines
CN1845103A (zh) 文件传输方法和系统
CN111931157A (zh) 单点登录系统的接入方法、装置、存储介质和计算机设备
US7730169B1 (en) Business method and system for serving third party software applications
KR20060108605A (ko) 네트워크를 통해 원격 적재되는 애플리케이션 서비스 방법및 시스템
CN104601707A (zh) 网盘数据处理方法及装置
Hild et al. Mobilizing applications
KR20070116760A (ko) 원격 스트리밍을 이용한 백신제공 방법
KR20070116761A (ko) 원격 스트리밍을 이용한 백신제공을 위한 단말장치
KR100649717B1 (ko) 소프트웨어 스트리밍 서비스 성능 개선을 위한 통계적페이지 프리패칭 시스템 및 그 방법

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120306

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130305

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee