[go: up one dir, main page]

KR20060108605A - Application service methods and systems that are remotely loaded over a network - Google Patents

Application service methods and systems that are remotely loaded over a network Download PDF

Info

Publication number
KR20060108605A
KR20060108605A KR1020060097716A KR20060097716A KR20060108605A KR 20060108605 A KR20060108605 A KR 20060108605A KR 1020060097716 A KR1020060097716 A KR 1020060097716A KR 20060097716 A KR20060097716 A KR 20060097716A KR 20060108605 A KR20060108605 A KR 20060108605A
Authority
KR
South Korea
Prior art keywords
application
client
vaccine
providing server
container
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
KR1020060097716A
Other languages
Korean (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 KR1020060097716A priority Critical patent/KR20060108605A/en
Publication of KR20060108605A publication Critical patent/KR20060108605A/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다. The present invention relates to a method and a system for remotely loading an application provided by an ASP into a memory of a client through an application service server mounted in an application service provider (ASP). Determining a system operating system, free memory, and network operation from the server; accessing the application providing server by referring to the client registry; and determining a streaming protocol between the application providing server and the client. Relying on the client to request the required application transmission from the client to the application providing server; streaming an application from the application providing server to the client according to the application request. Providing and loading the application into the client memory.

또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.The present invention also relates to a method and system for remotely loading the latest vaccine into the virtual memory of a client through a vaccine providing server (Application Service Server) mounted on the vaccine provider by applying the application streaming.

네트워크, ASP(Application Service Provider), 애플리케이션  Network, application service provider (ASP), application

Description

네트워크를 통해 원격 적재되는 애플리케이션 서비스 방법 및 시스템{System and method for doing the remote-load with the application service via networks}System and method for doing the remote-load with the application service via networks}

도1은 ASP의 애플리케이션 제공 서버와 클라이언트의 애플리케이션 컨테이너에 대한 간단한 블록도이다.1 is a simple block diagram of an application serving server and an application container of an ASP.

도2는 클라이언트에 탑재되어 있는 애플리케이션 컨테이너를 실행하는 단계에서 거쳐야만 하는 기본적인 과정에 대한 간단한 흐름도이다.2 is a simple flow diagram of the basic process that must go through the execution of the application container mounted on the client.

도3은 애플리케이션 컨테이너가 인터넷 상의 애플리케이션 제공 서버를 찾는 과정에 대한 간단한 흐름도이다.3 is a simple flow diagram of a process by which an application container finds an application providing server on the Internet.

도4는 애플리케이션 제공 서버로부터 클라이언트의 애플리케이션 컨테이너로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 클라이언트 메모리로 적재하는 과정에 대한 간단한 흐름도이다.4 is a simple flowchart of a process of streaming and buffering an application data block from an application providing server to an application container of a client and then loading the buffer into an application memory.

도5는 백신 제공자의 백신 제공 서버와 클라이언트의 백신 컨테이너를 CDN을 통해 연결하고 있는 간단한 블록도이다.5 is a simple block diagram connecting a vaccine provider's vaccine providing server and a client's vaccine container via a CDN.

도6은 백신 컨테이너가 백신 제공 서버로부터 스트리밍 되는 백신을 버퍼링하여 클라이언트에 감염되어 있는 바이러스를 검색하고 치료하는 과정에 대한 간단 한 흐름도이다.FIG. 6 is a simple flowchart of a process in which a vaccine container searches for and treats a virus infected by a client by buffering a vaccine streamed from a vaccine providing server.

<도면의 주요부분에 대한 설명><Description of main parts of drawing>

100 : 애플리케이션 서비스 제공자 105 : 애플리케이션 제공 서버100: application service provider 105: application providing server

110 : 애플리케이션 데이터 베이스 115 : 송신부110: application database 115: transmitter

120 : 애플리케이션 과금부 125 : 클라이언트120: application billing 125: client

130 : 애플리케이션 컨테이너 135 : 버퍼130: application container 135: buffer

140 : 적재부 145 : 주기억장치140: loading unit 145: main memory device

150 : 레지스트리150: registry

본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다. The present invention relates to a method and a system for remotely loading an application provided by an ASP into a memory of a client through an application service server mounted in an application service provider (ASP). Determining a system operating system, free memory, and network operation from the server; accessing the application providing server by referring to the client registry; and determining a streaming protocol between the application providing server and the client. Relying on the client to request the required application transmission from the client to the application providing server, and streaming the application from the application providing server to the client according to the application request. To provide and is characterized in that comprises the step of loading the application on the client memory.

또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.The present invention also relates to a method and system for remotely loading the latest vaccine into the virtual memory of a client through a vaccine providing server (Application Service Server) mounted on the vaccine provider by applying the application streaming.

정보 통신 인프라와 데스크탑 컴퓨터 기술이 발전함에 따라, 개인 및 기업이 사용하는 소프트웨어는 패키지화되고 대용량화되었으며, 해당 소프트웨어를 사용하는데 필요한 소유 총비용(Total Cost of Ownership) 역시 급격히 증가하고 있다. As information and communications infrastructure and desktop computer technology evolve, the software used by individuals and businesses has been packaged and bulked, and the total cost of ownership required to use the software is increasing rapidly.

특히, 기업의 경우 모든 업무가 정보 통신 기술을 바탕으로 전산화되면서, 기업의 업무를 지원하는데 필요한 응용 소프트웨어의 TCO는 중소 규모의 기업이 감당하기에 벅찰 정도로 증가하였다. 따라서, 별도의 소프트웨어 구매 없이 네트워크를 통해 애플리케이션 서비스를 이용할 수 있는 ASP는, 고가의 소프트웨어에 대한 TCO에 부담을 느끼는 중소 규모의 기업이나 개인에게 비용 부담 없이 해당 애플리케이션을 사용할 수 있는 유일한 대안으로 제시되고 있다.In particular, as all businesses are computerized based on information and communication technology, the TCO of application software necessary to support a company's work has increased to the extent that small and medium-sized enterprises can afford it. As a result, ASP, which provides access to application services over the network without purchasing additional software, is the only alternative that can be used at no cost to small and medium-sized businesses or individuals who are burdened by TCO for expensive software. have.

ASP는 기업 업무를 지원하는 기업용 ASP와 데스크탑 컴퓨터에 설치되는 애플 리케이션들을 제공하는 PC용 ASP 등이 있으며, 각각에 대하여 설명하면 다음과 같다.ASPs include enterprise ASPs that support corporate business and ASPs for PCs that provide applications installed on desktop computers.

기업용 ASP는 ERP(Enterprise Resource Planning), G/W(Groupware), KMS(Knowledge Management System), CRM(Customer Relationship Management), 그리고 SCM(Supply Chain Management) 등과 같이 기업 활동에 필요한 기업 업무 지원 응용 소프트웨어를 제공하는 서비스로서, 다양한 정보가 축적된 D/W(Data Warehouse)를 통해 고객의 구매 동향, 신제품에 대한 반응도, 제품별 수익률 등과 같은 다양한 종류의 정보를 저렴한 비용으로 축적하고, 응용할 수 있는 방법을 제공한다.Enterprise ASP provides enterprise business application software for enterprise activities such as enterprise resource planning (ERP), groupware (G / W), knowledge management system (KMS), customer relationship management (CRM), and supply chain management (SCM). It is a service that provides various ways of accumulating and applying various kinds of information such as customer's purchasing trend, responsiveness to new products, profit rate of each product, etc. at low cost through D / W (Data Warehouse) with various information accumulated. to provide.

상기와 같은 기업용 ASP는 중소 규모의 기업에 대하여, 해당 기업의 인력과 비용 절감시키고, 고가의 고품질 서비스를 저렴한 비용으로 이용할 수 있으며, 애플리케이션 이용을 위한 장소의 제약을 해결하고, 기업 업무의 전산화를 통해 빠른 비즈니스 전개를 할 수 있도록 하는 장점이 있다.The above-mentioned ASP for enterprise can reduce the manpower and cost of the enterprise for small and medium sized enterprises, can use expensive high quality service at low cost, solve the limitation of the place for application use, and computerize the enterprise business. This has the advantage of enabling fast business deployment.

반면, 기업의 다양한 정보가 해당 기업의 외부에 저장되기 때문에 발생하는 보안상의 문제와, 각각의 ASP가 서로 호환되지 않기 때문에 발생하는 정보 응용력의 한계는 기업용 ASP의 가장 큰 단점이다.On the other hand, the security problem caused by various information stored in the outside of the enterprise and the limitation of the information application power generated because each ASP is incompatible with each other is the biggest disadvantage of the enterprise ASP.

한편, PC용 ASP는 클라이언트 서버 시스템에서 TCO 삭감을 목표로 하는 클라이언트 하드웨어 구상인 씬 클라이언트(Thin Client)에 대하여, 서버 측에 과금 시스템(Billing System)이 탑재된 형태의 애플리케이션 서비스 방법이다.On the other hand, ASP for PC is an application service method in which a billing system is mounted on a server side for a thin client, which is a client hardware initiative aiming to reduce TCO in a client server system.

씬 클라이언트는 모든 애플리케이션이 사용자의 컴퓨터에 탑재하는 형태의 기존 팻 클라이언트(Fat Client)와 달리, 클라이언트에 필요한 거의 모든 기능을 서버 측에 일괄 탑재한 후, 클라이언트의 기능을 MMI(Man-Machine Interface)로 한정함으로서, TCO를 대폭 삭감하는 형태의 하드웨어 구상이다. 씬 클라이언트의 대표적인 방법에는 오라클사와 선 마이크로시스템즈사 등이 개발한 네트워크 컴퓨터(NC), 인텔사와 마이크로소프트사 등이 개발한 넷 PC(Net PC), 그리고 마이크로소프트사가 개발한 윈도 단말(Window terminal) 등이 있다.Unlike conventional Fat Clients, in which all applications are loaded on the user's computer, the thin client has almost all the functions necessary for the client on the server side, and the client's functions are managed by the MMI (Man-Machine Interface). It is a hardware concept of the form which considerably reduces TCO by limiting to. Typical methods of thin clients include network computers (NC) developed by Oracle and Sun Microsystems, Net PCs developed by Intel and Microsoft, and Windows terminals developed by Microsoft. Etc.

PC용 ASP는 상기 서술한 씬 클라이언트를 광역 네트워크인 인터넷으로 확장하고, 서버 측에 애플리케이션 서비스에 대한 과금 시스템을 탑재한 것으로서, 클라이언트가 ASP에 설치되어 있는 애플리케이션을 자신의 컴퓨터에 탑재되어 있는 것처럼 사용하도록 하는 것이다.The ASP for PC extends the above-mentioned thin client to the Internet, which is a wide area network, and has a billing system for application services on the server side. The client uses an application installed in the ASP as if it is mounted on its own computer. To do that.

상기와 같은 PC용 ASP는 기업용 ASP와 마찬가지로 클라이언트 입장에서 애플리케이션에 대한 TCO를 대폭 삭감할 수 있다는 장점이 있다. 그러나, 클라이언트가 생성한 데이터가 외부에 저장된다는 점과, 클라이언트를 MMI로 한정하는 과정에서 클라이언트와 서버 사이의 잦은 데이터 통신 때문에, 클라이언트 서버 시스템 사이의 네트워크 자원을 낭비한다는 것은 PC용 ASP의 가장 큰 단점이다.The ASP for PC as described above has the advantage of greatly reducing the TCO for the application from the client's point of view. However, the waste of network resources between client server systems due to the fact that the data generated by the client is stored externally and the frequent data communication between the client and the server in the process of limiting the client to MMI is the biggest problem of ASP for PC. It is a disadvantage.

결국, 현재까지 상용화된 모든 형태의 ASP는 클라이언트 입장에서 TCO를 대폭 삭감시킨다는 장점과 함께, 보안상의 문제점과 네트워크 자원을 낭비시킨다는 단점을 가지고 있다. As a result, all forms of ASP commercially available up to now have the advantage of greatly reducing TCO from the client's point of view, as well as disadvantages of security problems and network resources.

물론, 보안상의 문제점은 ASP에 저장되는 클라이언트의 데이터를 백업하고, 파이어월 등을 설치함으로서 어느 정도 해결할 수 있다. 그러나, 클라이언트와 ASP 사이의 잦은 데이터 통신 과정에서 발생하는 트래픽에 의한 네트워크 자원의 낭비, 그리고 낭비된 네트워크 자원 때문에 발생하는 불편함은, ASP 사용자에게 ASP 서비스 자체를 꺼리는 이유 중의 하나로 인식되고 있다. 특히, 클라이언트를 MMI로 한정하는 PC용 ASP의 경우에는 이와 같은 네트워크 자원의 낭비가 더욱더 심각하다.Of course, security problems can be solved to some extent by backing up client data stored in the ASP and installing a firewall or the like. However, the inconvenience of network resources caused by traffic generated during the frequent data communication process between the client and the ASP, and the inconvenience caused by the wasted network resources, is recognized as one of the reasons why ASP users are reluctant to use ASP services themselves. In particular, in the case of an ASP for a PC that restricts a client to MMI, such a waste of network resources is more serious.

최근 들어 네트워크의 발전과 더불어 바이러스의 존재 또한 급속도로 성장일로를 걷고 있으며, 이로 인한 피해가 속출하고 있는 실정이다.Recently, with the development of the network, the presence of viruses is also rapidly growing, and the damage caused by this is one after another.

일반적으로 바이러스가 목표로 하는 파일은 모든 윈도즈 계열 운영 체제에서 사용되는 윈속(wsock32.dll)과 같은 시스템 파일을 비롯하여 기존 클라이언트내 설치된 프로그램 파일을 감염시켜 작동에 오류를 발생시키기도 한다. 즉, 한달 전에 배포된 백신으로는 일주일 전에 출현한 바이러스를 치료할 수 없다. 이에 따라 신종 바이러스에 감염되면 기존 하드디스크에 설치된 백신 프로그램에 오류를 일으키기 쉽다.Generally, files targeted by viruses can infect system files, such as wsock32.dll, used in all Windows-based operating systems, as well as program files installed in existing clients, causing errors in operation. That is, a vaccine released a month ago cannot cure a virus that appeared a week ago. As a result, infection with new viruses is likely to cause errors in antivirus programs installed on existing hard disks.

상기와 같이 백신 업그레이드 주기가 수시간에서 수주일 정도로 빈번하고, 백신의 즉각적인 업그레이드 없이는 사용 자체가 무의미한 백신에 대하여, 사용자는 새로운 백신을 다운받아 설치해야 하는 불편함이 있으며, 주기적으로 업데이트된 백신파일을 다운받아 재 설치해야만 한다.As mentioned above, the vaccine upgrade cycle is frequent from several hours to several weeks, and the vaccine is inconvenient to use without the immediate upgrade of the vaccine, and the user has to download and install a new vaccine. You must download and reinstall.

상기와 같은 문제점들을 보완하기 위한 본 발명의 목적은 클라이언트에서 애플리케이션 컨테이너를 실행하는 단계, 애플리케이션 컨테이너가 애플리케이션 제공 서버를 찾는 단계, 애플리케이션 제공 서버로부터 클라이언트의 애플리케이션 컨테이너로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 메모리로 적재하는 단계 등을 통해, 클라이언트에 설치되어 있는 프로그램을 직접 실행한 것과 같이, 인터넷 상의 ASP로부터 클라이언트의 메모리로 애플리케이션을 원격 적재하는 방법을 제공함에 있으며, 이를 응용하여 일반 하드디스크에 저장되어 있는 백신(신종 바이러스 침투에 의해 프로그램이 손상될 수 있음)보다 효과적으로 바이러스를 퇴치하는 동시에 백신을 하드디스크에 파일로 저장하거나 최신 백신을 재차 다운로드 하는 불편함을 줄이는 스트리밍을 이용한 백신제공 방법 및 시스템을 제 공하는데 있다.An object of the present invention to solve the above problems is to execute the application container in the client, the application container to find the application providing server, after streaming and buffering the application data block from the application providing server to the application container of the client It provides a method to remotely load an application from the ASP on the Internet to the client's memory, such as directly executing a program installed on the client, through the step of loading it into memory. It is more effective in combating viruses more effectively than existing vaccines (which can damage programs due to new virus infiltration), and at the same time, saving the vaccine to a hard disk or downloading the latest vaccine again. The present invention provides a method and system for providing a vaccine using streaming.

본 발명은 ASP(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것으로, 상기 클라이언트로부터 시스템 운영체제, 여유 메모리, 그리고 네트워크 작동 여부를 확인하는 단계, 상기 클라이언트 레지스트리를 참조하여 상기 애플리케이션 제공 서버에 접속 후, 상기 애플리케이션 제공 서버와 상기 클라이언트 사이의 스트리밍 프로토콜을 결정하는 단계, 상기 스트리밍 프로토콜에 의존하여 상기 클라이언트로부터 상기 애플리케이션 제공 서버로 필요한 애플리케이션 전송을 요청하는 단계, 상기 애플리케이션 요청에 따라 상기 애플리케이션 제공 서버로부터 상기 클라이언트에 애플리케이션을 스트리밍하여 제공 및 상기 클라이언트 메모리에 상기 애플리케이션을 적재시키는 단계를 포함하여 이루어지는 것을 특징으로 한다. The present invention relates to a method and a system for remotely loading an application provided by an ASP into a memory of a client through an application service server mounted in an application service provider (ASP). Determining a system operating system, free memory, and network operation from the server; accessing the application providing server by referring to the client registry; and determining a streaming protocol between the application providing server and the client. Relying on the client to request the required application transmission from the client to the application providing server; streaming an application from the application providing server to the client according to the application request. Providing and loading the application into the client memory.

또한, 본 발명은 상기 애플리케이션 스트리밍을 응용하여 백신 제공자에 탑재되어 있는 백신 제공 서버(Application Service Server)를 통해 최신 백신을 클라이언트의 가상 메모리에 원격 적재(Remote Load) 하는 방법 및 시스템에 관한 것이다.The present invention also relates to a method and system for remotely loading the latest vaccine into the virtual memory of a client through a vaccine providing server (Application Service Server) mounted on the vaccine provider by applying the application streaming.

본 발명에 따르면, ASP의 애플리케이션 제공 서버로부터 스트리밍되어 클라 이언트의 애플리케이션 컨테이너로 버퍼링되는 애플리케이션 데이터 블록은 파일로 저장되지 않는다. 그러나, 본 발명에서 사용하는 데이터 전송 기법이 인터넷 상의 멀티미디어 실시간 재생을 위한 고전적 의미의 스트리밍 기술을 응용하는 것만으로 한정되는 것은 아니며, 인터넷을 통한 모든 종류의 실시간 전송 기술이 본 발명의 데이터 전송 기법에 포함된다.According to the present invention, application data blocks that are streamed from the ASP's application provisioning server and buffered into the client's application container are not stored as files. However, the data transmission technique used in the present invention is not limited to the application of the classical streaming technology for multimedia real-time playback on the Internet, and all kinds of real-time transmission techniques over the Internet are applied to the data transmission technique of the present invention. Included.

도면1은 ASP(100)의 애플리케이션 제공 서버(105)와 클라이언트(125)의 애플리케이션 컨테이너(130)에 대한 간단한 블록도이다.1 is a simple block diagram of an application providing server 105 of an ASP 100 and an application container 130 of a client 125.

ASP(100)는 애플리케이션 제공 서버(105)라고 하는 서버 시스템으로 구성되며, 애플리케이션 제공 서버(105)는 기본적으로 클라이언트(125)에게 전송되는 애플리케이션을 저장하고 있는 D/B(110)와 애플리케이션 전송하는 송신부(115), 그리고 애플리케이션 과금부(120)로 이루어져 있다.The ASP 100 is configured as a server system called an application providing server 105, and the application providing server 105 basically transmits an application to the D / B 110 storing an application transmitted to the client 125. And a transmitter 115 and an application billing unit 120.

애플리케이션 D/B(110)는 클라이언트(125)로 전송될 애플리케이션 데이터를 저장하고 있으며, 애플리케이션 데이터는 송신부(115)를 통해 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍 된다. 이 때, 애플리케이션 제공 서버(105)의 송신부(115)에서 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍되는 스트림 데이터를 애플리케이션 데이터 블록이라고 한다. The application D / B 110 stores application data to be transmitted to the client 125, and the application data is streamed to the application container 130 of the client 125 through the transmitter 115. At this time, the stream data streamed from the transmitting unit 115 of the application providing server 105 to the application container 130 of the client 125 is called an application data block.

애플리케이션 데이터 블록은 클라이언트(125)의 주기억장치(145), 즉 메모리로 즉시 적재가 가능한 프로세스의 형태를 취하고 있으며, 클라이언트(125) 하드디스크에 저장되어 있는 파일이 메모리에 적재되는 것과 동일한 구조를 가지고 있다. The application data block takes the form of a main memory 145 of the client 125, i.e., a process that can be immediately loaded into memory, and has the same structure as a file stored in the client 125 hard disk is loaded into the memory. have.

일반적으로 운영체제에 의해 파일이 메모리에 적재되는 과정은 다음과 같다.In general, the process of loading a file into memory by the operating system is as follows.

메모리에 적재될 하드디스크 상의 파일은 운영체제의 연결편집기(Link Editor)와 적재기(Loader)를 통해 가상 메모리 주소를 할당받은 후, 세그먼트 사상표와 결합하여 메모리에 적재된다. 이 때, 메모리에 적재되는 파일은 한꺼번에 적재되는 것이 아니라, 당장 실행해야 할 부분부터 순차적으로 적재되기 때문에, 물리적인 메모리보다 큰 용량의 파일도 실행이 가능한 것이다.The file on the hard disk to be loaded into the memory is allocated to the virtual memory address through the link editor and the loader of the operating system, and then loaded into the memory in combination with the segment mapping table. At this time, the files loaded into the memory are not loaded at once, but are loaded sequentially from the portion to be executed immediately, so that a file having a larger capacity than the physical memory can be executed.

애플리케이션 데이터 블록은 상기와 같이 하드디스크 상의 파일이 메모리로 적재되는 프로세스와 같은 구조로서, 애플리케이션 제공 서버(105)의 송신부(115)에서 순차적으로 스트리밍 되어 클라이언트(125)의 애플리케이션 컨테이너(130)에 버퍼링된다.The application data block is a structure in which a file on the hard disk is loaded into the memory as described above, and is sequentially streamed from the transmitting unit 115 of the application providing server 105 and buffered in the application container 130 of the client 125. do.

애플리케이션 과금부(120)는 ASP(100)의 애플리케이션 서비스에 대한 사용료를 계산하고, 요금을 부과하는 역할을 수행하며, 과금 방법은 서비스되는 애플리케이션의 종류와 ASP(100) 과금 기준에 의존적이다.The application billing unit 120 calculates a fee for the application service of the ASP 100 and charges a fee. The charging method is dependent on the type of the serviced application and the ASP 100 charging criteria.

클라이언트(125)는 애플리케이션 컨테이너(130)라고 하는 프로그램이 탑재되어 있으며, 애플리케이션 컨테이너(130)는 기본적으로 애플리케이션 제공 서버(105)에서 스트리밍 되는 애플리케이션 데이터 블록을 버퍼링 하는 버퍼(135)와 버퍼링된 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 적재부(140)로 구성되어 있다.The client 125 is loaded with a program called the application container 130, the application container 130 is basically a buffer 135 and the buffered application data buffering the application data block streamed from the application providing server 105 It is composed of a stacking unit 140 for loading the block into the client 125 memory.

버퍼(135)는 FIFO(First In First Out) 구조의 메모리 블록으로서, 애플리케이션 제공 서버(105)의 송신부(115)에서 스트리밍된 애플리케이션 데이터 블록을 순차적으로 버퍼링한다. 이렇게 버퍼링된 애플리케이션 데이터 블록은 적재부(140)에 의해 클라이언트(125) 메모리로 적재된다.The buffer 135 is a memory block having a first in first out (FIFO) structure, and sequentially buffers an application data block streamed from the transmitter 115 of the application providing server 105. The buffered application data block is loaded into the memory of the client 125 by the loading unit 140.

적재부(140)는 버퍼(135)에 버퍼링되어 있는 애플리케이션 제공 서버(105)에 가상 메모리 주소를 할당한 후, 전술한 내용과 같이 하드디스크 상의 파일이 운영체제를 통해 메모리에 적재되는 것처럼, 스트리밍된 애플리케이션 데이터 블록을 운영체제를 참조하여 메모리에 적재한다. 따라서, 애플리케이션 컨테이너(130)의 적재부(140)를 통해 메모리에 적재된 애플리케이션 데이터 블록은, 클라이언트(125) 하드디스크 상의 파일이 메모리 상에 적재된 것과 동일한 역할을 수행하며, 이것을 통해 애플리케이션 컨테이너(130)는 인터넷 상의 애플리케이션 제공 서버(105)에 있는 애플리케이션을, 클라이언트(125)에서 직접 실행한 것과 같은 결과 를 생성한다.The loading unit 140 allocates a virtual memory address to the application providing server 105 buffered in the buffer 135 and then streams the file on the hard disk as if the file on the hard disk is loaded into the memory through the operating system as described above. Load application data blocks into memory with reference to the operating system. Accordingly, the application data block loaded in the memory through the loading unit 140 of the application container 130 plays the same role as the file on the client 125 hard disk loaded on the memory. 130 generates the same result as executing the application in the application providing server 105 on the Internet directly on the client 125.

애플리케이션 컨테이너(130)는 클라이언트(125)의 레지스트리(150)를 참조하며, 레지스트리(150)에는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 필요한 모든 정보가 저장되어 있다. 그러나, 본 발명에서 다루고 있는 클라이언트 레지스트리(150)가 마이크로소프트 윈도우 시스템의 레지스트리만을 가리키는 것은 아니다. 클라이언트 레지스트리(150)는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 스트리밍하여 메모리에 적재하기 위한 정보를 저장하고 있는 D/B이며, 그 구조는 윈도우 시스템의 레지스트리를 포함하여, INI파일은 물론, 모든 종류의 D/B를 포함한다.The application container 130 refers to the registry 150 of the client 125, which contains the necessary application for the application container 130 to load blocks of application data from the application providing server 105 into the client 125 memory. All information is stored. However, the client registry 150 addressed in the present invention does not refer only to the registry of the Microsoft Windows system. The client registry 150 is a D / B in which the application container 130 stores information for streaming an application data block from the application providing server 105 and loading it into a memory. The structure includes a registry of a window system. , INI files, as well as all kinds of D / B.

애플리케이션 컨테이너(130)는 ASP(100)에 의해 제작되어 배포되는 프로그램, 인터넷 익스플로러나 넷스케이프를 포함하는 웹 브라우저, 그리고 운영체제에 기본적으로 포함되어 있는 시스템 유틸리티를 모두 포함하며, 그 구조와 목적에 따라 다양한 종류의 애플리케이션을 클라이언트(125)에서 구동시키는 역할을 수행한다. 따라서, 각각의 애플리케이션 컨테이너(130)는 그 구조와 목적에 따라 약간씩 다른 작업을 수행할 수 있다.The application container 130 includes all programs created and distributed by the ASP 100, a web browser including Internet Explorer or Netscape, and system utilities included in the operating system. It serves to run a kind of application on the client (125). Accordingly, each application container 130 may perform slightly different tasks according to its structure and purpose.

이하 간단한 흐름도를 통해 애플리케이션 컨테이너(130)가 애플리케이션 제 공 서버(105)에 있는 애플리케이션 데이터를 클라이언트(125) 메모리로 적재하는 과정에서 기본적으로 거쳐야만 하는 과정에 대하여 설명한다. 단, 다음의 흐름도는 각각의 단계에서 기본적으로 수행해야만 하는 내용에 대한 것이며, 본 발명의 작업 흐름이 다음의 흐름도만으로 한정되는 것은 아니다.Hereinafter, a process in which the application container 130 should basically go through the process of loading the application data in the application providing server 105 to the client 125 memory through a simple flow chart. However, the following flowchart is for the content that should be basically performed in each step, and the workflow of the present invention is not limited to the following flowchart only.

도면2는 클라이언트(125)에 탑재되어 있는 애플리케이션 컨테이너(130)를 실행하는 단계에서 거쳐야만 하는 기본적인 과정에 대한 간단한 흐름도이다.2 is a simple flowchart of the basic process that must be performed in the step of executing the application container 130 mounted on the client 125.

클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(200), 애플리케이션 컨테이너(130)는 애플리케이션 구동에 필요한 DLL(Dynamic Linking Library) 파일과 라이브러리 정보 등으로 참조하여, 애플리케이션 서비스를 위한 준비를 종료 한 후, 애플리케이션 제공 서버(105)가 제공하는 애플리케이션이 운영체제에 선택적인 경우에, 최적의 애플리케이션 서비스를 위해 클라이언트(125)의 운영체제 종류와 버전을 확인한다(205).When the application container 130 is executed in the client 125 (200), the application container 130 refers to a dynamic linking library (DLL) file and library information necessary for driving the application, and has finished preparation for application service. If the application provided by the application providing server 105 is optional for the operating system, the operating system type and version of the client 125 are checked for optimal application service (205).

클라이언트(125)의 운영 체제 종류와 버전 확인이 끝나면, 애플리케이션 컨테이너(130)는 클라이언트(125)에 애플리케이션 서비스를 위한 충분한 물리적 메모리 공간이 존재하는 지 확인한다(210). 단, 이 과정에서 클라이언트(125) 하드디스크 여유 공간을 확인할 필요는 없다. 본 발명에 의해, 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터 블록은 하드디 스크에 저장되지 않는다. 만약, 클라이언트(125)에 물리적 메모리에 충분한 여유 공간이 존재하지 않는다면(215), 애플리케이션 컨테이너(130)는 메모리 공간을 확보할 것을 메시지로 출력한 후(220), 자동 종료한다(225). 그러나, 클라이언트(125)에 애플리케이션 서비스를 위한 충분한 메모리가 존재한다면, 애플리케이션 컨테이너(130)는 자신이 사용할 버퍼(135)를 할당한다(230).After checking the operating system type and version of the client 125, the application container 130 checks whether there is sufficient physical memory space for the application service in the client 125 (210). However, it is not necessary to check the free space of the client 125 hard disk in this process. According to the present invention, the application data block streamed from the application providing server 105 to the client 125 is not stored in the hard disk. If there is not enough free space in the physical memory in the client 125 (215), the application container 130 outputs a message to secure the memory space (220), and automatically terminates (225). However, if there is sufficient memory for the application service on the client 125, the application container 130 allocates 230 a buffer 135 for its use.

애플리케이션 컨테이너(130)가 사용할 버퍼(135)가 할당되면, 애플리케이션 컨테이너(130)는 클라이언트(125) 네트워크가 정상적으로 작동하고 있는지 확인한다(235). 본 발명은, 애플리케이션 서비스를 위해 애플리케이션 데이터 블록을 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 하는 단계에서, 네트워크 자원을 한번 이상 사용하기 때문에, 클라이언트(125) 네트워크가 정상적으로 작동하고 있지 않다면(240), 사용자 메시지를 출력한 후(220), 애플리케이션 컨테이너(130)를 자동 종료한다(225).When the buffer 135 to be used by the application container 130 is allocated, the application container 130 checks whether the client 125 network is operating normally (235). The present invention uses the network resources more than once in the step of streaming the application data block from the application providing server 105 to the client 125 for the application service, so that if the client 125 network is not operating normally ( 240, after outputting a user message (220), the application container 130 is automatically terminated (225).

만약, 클라이언트(125) 네트워크가 정상 작동하고 있다면, 애플리케이션 컨테이너(130)는 구동하고자 하는 애플리케이션을 선택한다(245). 이것은, 하나의 애플리케이션 컨테이너(130)로 복수의 애플리케이션을 구동하는 경우 사용되며, 단일 애플리케이션만을 구동할 수 있는 애플리케이션 컨테이너(130)라면, 구동하고자 하는 애플리케이션을 자동 설정한다.If the client 125 network is operating normally, the application container 130 selects an application to be run (245). This is used when driving a plurality of applications with one application container 130. If the application container 130 can drive only a single application, the application to be driven is automatically set.

도면3은 애플리케이션 컨테이너(130)가 인터넷 상의 애플리케이션 제공 서버(105)를 찾는 과정에 대한 간단한 흐름도이다.3 is a simple flowchart of the process by which the application container 130 finds the application providing server 105 on the Internet.

일반적으로 대용량 멀티미디어 컨텐츠의 실시간 재생을 목적으로 하는 스트리밍 서비스는 속도 향상을 위해 CDN(Content Delivery Network)을 사용한다. 물론, 본 발명 역시 애플리케이션 데이터 블록의 스트리밍 속도 향상을 위해 CDN을 사용할 수 있다. 그러나, CDN을 통해 스트리밍 서비스를 제공하는 경우, 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)를 찾는 과정이 CDN의 구조에 의존적이기 때문에, 본 흐름도에서는 CDN을 사용하지 않고 애플리케이션 제공 서버(105)를 찾는 과정에 대하여 다룬다.In general, a streaming service for real-time playback of a large amount of multimedia content uses a CDN (Content Delivery Network) for speed improvement. Of course, the present invention can also use the CDN to improve the streaming speed of the application data block. However, in the case of providing a streaming service through the CDN, since the process of finding the application providing server 105 by the application container 130 depends on the structure of the CDN, in this flowchart, the application providing server 105 does not use the CDN. This section covers the process of finding.

도면2와 같이 클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(300), 애플리케이션 컨테이너(130)는 레지스트리(150)를 참조하여 인터넷 상에서 애플리케이션 제공 서버(105)의 주소를 확인한 후(305), 해당 서버(105)에 접속하여 로그인한다(310). 애플리케이션 제공 서버(105)에 로그인하는 이유는 애플리케이션 서비스에 대한 사용료를 부과하기 위한 것으로서, 요금 부과 방식은 ASP(100)의 과금 기준에 의존한다.As shown in FIG. 2, when the application container 130 is executed in the client 125 (300), the application container 130 checks the address of the application providing server 105 on the Internet with reference to the registry 150 (305). In step 310, the server 105 accesses and logs in. The reason for logging in to the application providing server 105 is to charge a usage fee for an application service, and the charging method depends on the charging criteria of the ASP 100.

애플리케이션 컨테이너(130)가 상기와 같이 애플리케이션 제공 서버(105)에 성공적으로 접속하면, 애플리케이션 컨테이너(130)는 클라이언트(125) 운영체제의 종류와 버전에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)의 애플리케이션 D/B(110)안에 존재하는지 확인한다(315). When the application container 130 is successfully connected to the application providing server 105 as described above, the application container 130 is provided with the application data of the application providing server 105 of the application data suitable for the type and version of the client 125 operating system. Check if it exists in / B (110) (315).

만약, 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)에 존재하지 않는다면(320), 애플리케이션 컨테이너(130)는 로그아웃 한 후(325), 자동 종료된다(330). 그러나, 애플리케이션 제공 서버(105)에 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 존재한다면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터에 대한 정보를 레지스트리(150)에서 추출한다(335).If application data suitable for the client 125 operating system does not exist in the application providing server 105 (320), the application container 130 is automatically terminated (325) after logging out (325). However, if application data suitable for the client 125 operating system exists in the application providing server 105, the application container 130 may store information about the application data streamed from the application providing server 105 to the client 125. 150) (335).

클라이언트 레지스트리(150)에서 추출되는 애플리케이션 데이터에 대한 정보는 해당 애플리케이션 데이터의 위치 정보는 물론, 애플리케이션 데이터의 스트리밍 서비스에 필요한 모든 정보를 포함한다.The information about the application data extracted from the client registry 150 includes not only location information of the corresponding application data but also all information necessary for the streaming service of the application data.

상기와 같이 클라이언트 레지스트리(150)에서 애플리케이션 데이터에 대한 정보가 추출되면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)로부터 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터 블록이 사용할 스트리밍 프로토콜을 결정한다(340).When the information about the application data is extracted from the client registry 150 as described above, the application container 130 determines a streaming protocol to be used by the application data block streamed from the application providing server 105 to the client 125 (340). ).

*현재, 일반적으로 사용되는 스트리밍 프로토콜에는 HTTP(HyperText Transfer Protocol), UDP(User Datagram Protocol), 그리고 TCP(Transmission Control Protocol) 등이 있으며, 최근 마이크로소프트에서 제작한 MMS(Microsoft Media Server) 프로토콜은 사용자의 전송 요구가 발생할 경우, HTTP, UDP, TCP 3가지의 프로토콜 중에서 가장 적합한 프로토콜을 선택해 최적의 스트리밍을 구현하는 방식이다. Currently, commonly used streaming protocols include HyperText Transfer Protocol (HTTP), User Datagram Protocol (UDP), and Transmission Control Protocol (TCP), and the recent Microsoft-produced Microsoft Media Server (MMS) protocol When there is a demand for transmission, the most suitable protocol is selected from among three protocols such as HTTP, UDP, and TCP to implement optimal streaming.

특히, 상기 프로토콜 중에서 UDP와 TCP는 인터넷 기본 프로토콜인 TCP/IP 프로토콜에서, 전송 계층인 OSI의 제4계층에서 선택되는 프로토콜로서, UDP와 TCP 중에서 어떤 프로토콜이 선택되느냐에 따라 스트리밍 서비스의 신뢰성에 약간의 차이가 있다. In particular, UDP and TCP are protocols selected from the fourth layer of OSI, which is a transport layer, in the TCP / IP protocol, which is the Internet basic protocol, and the reliability of the streaming service is slightly different depending on which protocol is selected from UDP and TCP. There is a difference.

즉, TCP는 세션을 설정한 후 통신을 개시하는 프로토콜로서, 데이터 통신에서 질서 있고 정확하게 데이터를 전송하기 위해 필요한 전송 제어의 규칙과 절차를 정의하고 있는 반면, UDP는 데이터 통신의 신뢰성보다는 고속 통신을 위한 프로토콜이다. 따라서, 스트리밍 도중에 미디어의 프레임 일부가 유실되어도 크게 문제되지 않는, 멀티미디어 스트리밍에서는 TCP보다 UDP가 주로 이용된다. In other words, TCP is a protocol for initiating communication after establishing a session. While TCP defines rules and procedures of transmission control for orderly and accurate data transmission in data communication, UDP provides high-speed communication rather than reliability of data communication. Protocol. Therefore, UDP is mainly used in TCP for multimedia streaming, which is not a problem even if a part of a frame of media is lost during streaming.

그러나, 스트리밍 서비스의 속도보다는 통신의 신뢰성 확보가 강조되는 본 발명에서는, 데이터 통신의 신뢰성을 보장하지 않는 UDP보다는 스트리밍 서비스에 서는 오류 수정이나 재전송 요청 등과 같이 스트리밍 신뢰성 확보에 대한 개념이 철저한 TCP를 사용한다. However, in the present invention where the reliability of communication is emphasized rather than the speed of the streaming service, in the streaming service rather than UDP which does not guarantee the reliability of data communication, the concept of securing the reliability of streaming such as error correction or retransmission request is used in the streaming service. do.

본 발명에서 스트리밍 프로토콜은 제공되는 애플리케이션의 구조, 기능, 그리고 목적과 애플리케이션 컨테이너(130)의 종류에 따라 결정된다. 예를 들어, 애플리케이션 컨테이너(130)가 웹 브라우저라면, HTTP가 스트리밍 프로토콜로 선택되는 것이 적합하며, ASP(100)에 의해 배포되는 프로그램, 또는 운영체제에 의해 제공되는 시스템 유틸리티 형태라면, TCP가 스트리밍 프로토콜로 선택되는 것이 적합하다. In the present invention, the streaming protocol is determined according to the structure, function, and purpose of the provided application, and the type of the application container 130. For example, if the application container 130 is a web browser, it is appropriate that HTTP is selected as the streaming protocol, and if TCP is in the form of a program distributed by the ASP 100 or a system utility provided by the operating system, then TCP is the streaming protocol. It is suitable to be selected as.

그러나, 항상 애플리케이션 컨테이너(130)의 종류 따라 스트리밍 프로토콜이 결정되는 것은 아니며, 클라이언트(125)에 스트리밍 되는 애플리케이션 데이터가 어떤 것이며, 어떤 구조를 가지고 있고, 클라이언트(125)에서 수행하는 작업이 무엇인가에 따라 결정되기도 한다. However, the streaming protocol is not always determined according to the type of the application container 130, what application data is streamed to the client 125, what structure, and what tasks are performed by the client 125? It may be decided accordingly.

또한, 파일로 저장되지 않는 푸시 기술 등을 응용하여 스트리밍 할 수도 있으며, 이 경우 전송되는 애플리케이션 데이터의 구조, 기능, 그리고 목적에 따라 포인트캐스트 방식의 푸시 기술이나 캐스터넷 방식의 푸시 기술이 응용될 수 있다.In addition, a push technology that is not stored as a file may be applied and streamed, and in this case, a pointcast push technology or a castnet push technology may be applied according to the structure, function, and purpose of the transmitted application data. have.

도면4는 애플리케이션 제공 서버(105)로부터 클라이언트(125)의 애플리케이 션 컨테이너(130)로 애플리케이션 데이터 블록을 스트리밍하여 버퍼링한 후, 클라이언트(125) 메모리로 적재하는 과정에 대한 간단한 흐름도이다.4 is a simple flowchart of a process of streaming and buffering an application data block from an application providing server 105 to an application container 130 of a client 125 and then loading it into memory of the client 125.

클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행된 후, 애플리케이션 제공 서버(105)로부터 스트리밍 되는 애플리케이션 데이터 블록의 스트리밍 프로토콜이 결정되면(400), 애플리케이션 컨테이너(130)의 적재부(140)는 클라이언트(125) 운영체제를 참조하여 애플리케이션 데이터에 대한 가상 주소를 할당한다(405). 이 과정은 클라이언트(125) 하드디스크에 저장되어 있는 파일을 메모리로 적재하기 위해 운영체제의 연결편집기(Link Editor)와 적재기(Loader)가 해당 파일에 대한 가상 주소를 할당하는 과정과 동일하다.After the application container 130 is executed in the client 125, if the streaming protocol of the application data block streamed from the application providing server 105 is determined (400), the loading unit 140 of the application container 130 may be configured as a client. The virtual address for the application data is allocated with reference to the operating system (405). This process is the same as the process of assigning a virtual address for the file by the Link Editor and the Loader of the operating system in order to load the file stored in the client 125 hard disk into the memory.

애플리케이션 컨테이너(130)의 적재부(140)를 통해 스트리밍 되는 애플리케이션 데이터의 가상 주소 할당이 완료되면, 애플리케이션 제공 서버(105)의 송신부(115)는 클라이언트(125)로 애플리케이션 데이터 블록을 스트리밍하기 시작한다(410). 물론, 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되기 시작하는 애플리케이션 데이터 블록은 스트리밍 할 모든 애플리케이션 데이터 블록이 클라이언트(125)의 애플리케이션 컨테이너(130)에 버퍼링 될 때까지 지속적으로 스트리밍된다.When the virtual address allocation of the application data streamed through the loading unit 140 of the application container 130 is completed, the transmitting unit 115 of the application providing server 105 starts streaming the application data block to the client 125. 410. Of course, the application data block that begins to stream from the application providing server 105 to the client 125 is continuously streamed until all application data blocks to be streamed are buffered in the application container 130 of the client 125.

애플리케이션 제공 서버(105)의 송신부(115)로부터 애플리케이션 데이터 블 록이 스트리밍 되기 시작하면, 클라이언트(125)의 애플리케이션 컨테이너(130)는 애플리케이션 데이터 블록을 버퍼링한 후(415), 클라이언트(125) 메모리로 적재 가능한 만큼의 애플리케이션 데이터 블록이 버퍼링 되었는지 확인한다(420). 만약 버퍼(135)에 버퍼링되어 있는 데이터가 메모리에 적재 가능한 만큼 버퍼링 되어있지 않다면(425), 애플리케이션 컨테이너(130)는 애플리케이션 데이터 블록이 충분히 스트리밍 될 때까지 지속적으로 버퍼링한다. 그러나, 버퍼에 쌓인 애플리케이션 데이터 블록 메모리에 적재 가능한 만큼 충분히 버퍼링 되어 있다면, 애플리케이션 컨테이너(130)의 적재부(140)는 운영체제를 참조하여 버퍼링 되어 있는 애플리케이션 데이터를 순차적으로 세그먼트 사상표와 결합하여(430) 클라이언트(125)의 물리적 메모리에 적재한다.When the application data block starts to be streamed from the transmitter 115 of the application providing server 105, the application container 130 of the client 125 buffers the application data block (415), and then into the client 125 memory. In operation 420, it is checked whether as many loadable application data blocks are buffered as possible. If the data buffered in the buffer 135 is not buffered as much as possible in the memory (425), the application container 130 continues to buffer until the application data block is sufficiently streamed. However, if enough buffering is possible in the application data block memory stacked in the buffer, the loading unit 140 of the application container 130 sequentially combines the buffered application data with the segment mapping table in reference to the operating system (430). ) Into the physical memory of the client 125.

애플리케이션 제공 서버(105)로부터 클라이언트(125) 애플리케이션 컨테이너(130)로 버퍼링 된 애플리케이션 데이터가 클라이언트(125) 메모리로 적재되면(435), 애플리케이션 컨테이너(130)는 해당 데이터를 버퍼(135)에서 삭제함으로서(440), 애플리케이션 제공 서버(105)에서 스트리밍 되는 다음 애플리케이션 데이터가 사용하도록 한다.When application data buffered from the application providing server 105 to the client 125 application container 130 is loaded into the client 125 memory (435), the application container 130 deletes the data from the buffer 135 by 440, the next application data streamed from the application providing server 105 to be used.

상기와 같이, 애플리케이션 컨테이너(130)가 버퍼(135)에 임시 저장되어 있는 애플리케이션 데이터를 삭제하면, 적재부(140)는 애플리케이션 데이터가 클라이언트(125) 메모리에 적재에 모두 적재되었는지 확인한다(445). 만약 애플리케이션 제공 서버(105)로부터 스트리밍 되는 애플리케이션 데이터가 모두 클라이언트(125) 메모리에 적재되지 못했다면(450), 애플리케이션 컨테이너(130)는 모든 애플리케이션 데이터가 클라이언트(125) 메모리에 적재될 때까지 상기 과정을 반복한다. 그러나, 만약 애플리케이션 제공 서버(105)로부터 클라이언트(125) 애플리케이션 컨테이너(130)로 스트리밍된 모든 애플리케이션 데이터가 클라이언트(125) 메모리로 적재되었다면, 애플리케이션 컨테이너(130)는 클라이언트(125) 운영체제를 통해 메모리에 적재된 애플리케이션 데이터를 CPU를 통해 연산하도록 요청함으로서(455), 인터넷 상의 애플리케이션 제공 서버(105)에 있는 애플리케이션을 클라이언트(125)에서 실행한다.As described above, when the application container 130 deletes the application data temporarily stored in the buffer 135, the loading unit 140 checks whether the application data is loaded in the client 125 memory for loading (445). . If all of the application data streamed from the application providing server 105 has not been loaded into the client 125 memory (450), the application container 130 may proceed until the application container 130 loads all the application data into the client 125 memory. Repeat. However, if all application data streamed from the application providing server 105 to the client 125 application container 130 has been loaded into the client 125 memory, the application container 130 is stored in the memory via the client 125 operating system. By requesting the loaded application data to be computed via the CPU (455), the application in the application providing server 105 on the Internet is executed on the client 125.

이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 대표적인 경우에 대한 것이며, 본 발명이 다음의 실시예로 한정되지는 않는다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the following examples are representative of the various methods for explaining the present invention most appropriately, and the present invention is not limited to the following examples.

본 실시예는 바이러스 백신에 대한 것이며, 실시예의 특성상 상기 서술한 용어에 대하여, ASP(100)를 백신 제공자(500), 애플리케이션 제공 서버(105)를 백신 제공 서버(505), 애플리케이션 데이터를 백신 프로그램 또는 백신 패턴, 그리고 애플리케이션 컨테이너(130)를 백신 컨테이너(540) 등으로 재명명하여 사용한다. 특히, 본 실시예에서는 CDN을 사용하여 스트리밍 속도를 향상시키는 방법에 대하여도 서술하며, 백신 컨테이너(540)에는 바이러스 검색과 치료를 담당하는 바이러스 치료부가 탑재되어 있다. 따라서, 백신 제공 서버(505)가 클라이언트(125)의 백신 컨 테이너(540)로 바이러스 치료에 사용되는 백신을 제공하는 것으로서, 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료할 수 있다.The present embodiment relates to an antivirus, and in view of the above-described terms, the ASP 100 includes the vaccine provider 500, the application providing server 105, the vaccine providing server 505, and the application data. Alternatively, the vaccine pattern and the application container 130 may be renamed and used as the vaccine container 540. In particular, the present embodiment also describes a method for improving the streaming speed using the CDN, and the vaccine container 540 is equipped with a virus treatment unit for virus detection and treatment. Therefore, as the vaccine providing server 505 provides the vaccine used for virus treatment to the vaccine container 540 of the client 125, the virus infected with the client 125 may be searched for and treated.

도면5는 백신 제공자(500)의 백신 제공 서버(505)와 클라이언트(125)의 백신 컨테이너(540)를 CDN(525)을 통해 연결하고 있는 간단한 블록도이다.5 is a simple block diagram connecting the vaccine delivery server 505 of the vaccine provider 500 and the vaccine container 540 of the client 125 via the CDN 525.

백신 제공자(500)는 백신 제공 서버(505)를 탑재하고 있으며, 백신 제공 서버(505)는 백신 D/B(510), 백신 송신부(515), 그리고 백신 서비스 과금부(520)로 구성되어 있다.The vaccine provider 500 includes a vaccine providing server 505, and the vaccine providing server 505 includes a vaccine D / B 510, a vaccine transmitting unit 515, and a vaccine service charging unit 520. .

백신 D/B(510)에는 클라이언트(125)에게 서비스할 백신이 저장되어 있으며, 백신 D/B(510)는 항상 최근 출현한 바이러스를 치료할 수 있는 백신 데이터로 자동 업데이트된다. 따라서, 클라이언트(125)는 백신 제공 서버(505)로부터 새로운 백신 데이터를 스트리밍 하는 것만으로, 모든 바이러스를 검색하고 치료할 수 있는 방법을 제공받는다.The vaccine D / B 510 stores a vaccine for servicing the client 125, and the vaccine D / B 510 is always automatically updated with vaccine data capable of treating a recently appeared virus. Accordingly, the client 125 is provided with a method of searching for and treating all viruses by simply streaming new vaccine data from the vaccine providing server 505.

백신 송신부(515)는 백신 D/B(510)의 백신 데이터를 클라이언트(125)의 백신 컨테이너(540)로 스트리밍 하는 역할을 수행하며, 백신 서비스 과금부(520)는 클라이언트(125)에게 제공된 백신 서비스에 대한 사용료를 계산한다. 일반적으로, 바이러스 검색은 무료로 수행하며, 치료 건당 사용료를 받는 방법을 사용하며, 요금 부 과에 필요한 모든 정보는 클라이언트(125)에 설치되어 있는 백신 컨테이너(540)로부터 백신 제공 서버(505)의 백신 서비스 과금부(520)로 전송된다. The vaccine transmitter 515 serves to stream vaccine data of the vaccine D / B 510 to the vaccine container 540 of the client 125, and the vaccine service charging unit 520 provides a vaccine provided to the client 125. Calculate the royalties for the service. In general, virus scanning is performed free of charge, using a method of receiving a fee per treatment, and all the information necessary for charging is provided by the vaccine providing server 505 from the vaccine container 540 installed on the client 125. The vaccine service billing unit 520 is transmitted.

클라이언트(125)는 백신 컨테이너(540)가 탑재되어 있으며, 백신 컨테이너(540)는 버퍼(135), 백신 적재부(545), 그리고 백신 엔진(550) 등으로 구성되어 있다. The client 125 is equipped with a vaccine container 540, the vaccine container 540 is composed of a buffer 135, vaccine loading unit 545, vaccine engine 550 and the like.

백신 컨테이너(540)의 버퍼(135)는 백신 제공 서버(505)로부터 스트리밍 되는 백신을 버퍼링하는 역할을 수행하며, 버퍼링된 백신은 클라이언트(125) 하드디스크에 파일로 저장되지 않고, 백신 적재부(545)에 의해 즉시 클라이언트 메모리(145)에 적재된다.The buffer 135 of the vaccine container 540 serves to buffer the vaccine streamed from the vaccine providing server 505, and the buffered vaccine is not stored as a file in the client 125 hard disk, 545 is immediately loaded into the client memory 145.

백신 적재부(545)는 운영체제를 참조하여 버퍼(135)에 버퍼링 되어있는 백신을 클라이언트 메모리(145)에 적재하는 역할을 담당하며, 메모리(145)에 적재된 백신은 소프트웨어의 형태로 배포되던 기존 백신 프로그램에서 사용하는 백신과 동일한 역할을 수행한다.The vaccine loader 545 serves to load the vaccine buffered in the buffer 135 in the client memory 145 with reference to the operating system, and the vaccine loaded in the memory 145 is distributed in the form of software. It plays the same role as the vaccine used in the vaccine program.

백신 컨테이너(540)는 백신 제공자(500)가 배포하는 바이러스 검색 프로그램, 또는 웹 브라우저 등을 포함한다. 만약 백신 컨테이너(540)가 백신 제공자(500)가 배포하는 바이러스 검색 프로그램이라면, 백신 컨테이너(540) 내부에는 바이러스 검색과 치료를 할 수 있는 백신 엔진(550)이 탑재되어 있으며, 백신 컨테 이너(540)가 웹 브라우저라면, 해당 웹 브라우저에는 백신 엔진(550)이 플러그인 되어 있다.The vaccine container 540 includes a virus scanning program or a web browser distributed by the vaccine provider 500. If the vaccine container 540 is a virus scanning program distributed by the vaccine provider 500, the vaccine container 540 is equipped with a vaccine engine 550 for virus detection and treatment, and the vaccine container 540. ) Is a web browser, the antivirus engine 550 is plugged into the web browser.

상기와 같이 백신 컨테이너(540)에 탑재되어 있는 백신 엔진(550)은, 백신 제공 서버(505)로부터 스트리밍 되는 백신을 이용하여 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하는 역할을 수행한다. 즉, 백신 엔진(550)은 바이러스 검색과 치료를 위한 백신 구동부이며, 백신 엔진이 바이러스를 검색하고, 치료하는데 필요한 최신 백신을 백신 제공 서버(505)로부터 실시간 스트리밍 하여 사용하게 되는 것이다.The vaccine engine 550 mounted in the vaccine container 540 as described above performs a role of searching for and treating a virus infected by the client 125 by using a vaccine streamed from the vaccine providing server 505. . That is, the vaccine engine 550 is a vaccine driving unit for virus detection and treatment, and the vaccine engine uses the latest vaccine necessary for detecting and treating viruses in real time by streaming from the vaccine providing server 505.

따라서, 백신 제공자(500)로부터 클라이언트(125)로 스트리밍 되는 백신은, 클라이언트(125)에서 백신 컨테이너(540)가 실행되어 백신 제공 서버(505)에 접속할 때마다 클라이언트(125)로 스트리밍 되며, 스트리밍 되는 백신은 항상 최신 버전만을 제공하게 된다.Therefore, the vaccine streamed from the vaccine provider 500 to the client 125 is streamed to the client 125 whenever the vaccine container 540 runs on the client 125 and connects to the vaccine providing server 505. The vaccine will always provide the latest version.

즉, 상기와 같이 클라이언트(125) 바이러스를 검색하고 치료하는 과정에서, 백신 제공자(500)로부터 최신 백신을 스트리밍 하기 시작하여, 스트리밍이 완료되기 전부터 즉각적으로 바이러스를 검색하고 치료할 수 있다는 것은 본 발명의 가장 큰 특징이다. That is, in the process of searching for and treating the virus of the client 125 as described above, it is possible to start streaming the latest vaccine from the vaccine provider 500, so that the virus can be searched and cured immediately before the streaming is completed. It is the biggest feature.

또한, 본 실시예에서는 CDN(525)을 사용하여 백신 스트리밍 서비스의 효과를 극대화한다. In addition, in the present embodiment, the CDN 525 is used to maximize the effect of the vaccine streaming service.

CDN(525)은 기간망(Backbone Network)에 분산 배치된 캐시 서버(535)를 통해, 컨텐츠 제공자와 인터넷 서비스 제공자(ISP)(530) 사이의 미들마일(Middle Mile)을 최소화함으로서, 중단 없는 전달(Non-Stop Delivery)을 위한 부하 분배(Load Balancing), 빠른 웹 응답(Speedy Web Response)을 위한 캐싱(Caching), 인터넷 혼잡(Congestion)을 최소화하기 위한 분산(Distribute)과 복재 (Replicate)하는 컨텐츠 전달 방법이다. The CDN 525 minimizes the middle mile between the content provider and the Internet service provider (ISP) 530 through a cache server 535 distributed in a backbone network, thereby providing uninterrupted delivery ( Load Balancing for Non-Stop Delivery, Caching for Speedy Web Response, Distributed and Replicated Content Delivery to Minimize Internet Congestion It is a way.

따라서, CDN(525)을 통해 백신 제공 서버(505)의 백신을 클라이언트(125)의 백신 컨테이너(540)로 고속 전달하기 위해서는 백신 제공자(500)가 CDN 서비스 제공자(525)와 전략적 제휴를 통해, CDN의 캐시 서버(535)를 통해 백신을 스트리밍하면 된다.Accordingly, in order to rapidly deliver the vaccine of the vaccine providing server 505 to the vaccine container 540 of the client 125 through the CDN 525, the vaccine provider 500 may establish a strategic partnership with the CDN service provider 525. The vaccine may be streamed through the cache server 535 of the CDN.

즉, 백신 제공자(500)는 각 클라이언트(125)의 백신 컨테이너(540)가 백신을 요청하기 전에 CDN 상의 캐시 서버(535)에 최신 백신을 미리 전달하여 놓거나, 백신 컨테이너(540)가 백신을 요청하는 즉시 캐시 서버(535)로 최신 백신을 전달하여 놓음으로서, 백신 컨테이너(540)는 클라이언트(125)에서 실행과 동시에 최신 백신을 전달받을 수 있게 된다.That is, the vaccine provider 500 previously delivers the latest vaccine to the cache server 535 on the CDN before the vaccine container 540 of each client 125 requests the vaccine, or the vaccine container 540 requests the vaccine. By immediately delivering the latest vaccine to the cache server 535, the vaccine container 540 is able to receive the latest vaccine at the same time running on the client 125.

도면6은 백신 컨테이너(540)가 백신 제공 서버(505)로부터 스트리밍 되는 백신을 버퍼링하여 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하는 과정에 대한 간단한 흐름도이며, 백신 전달 성능 향상을 위해 CDN을 사용한다.6 is a simple flowchart of a process in which the vaccine container 540 detects and treats a virus that is infected with the client 125 by buffering a vaccine streamed from the vaccine providing server 505, and CDN for improving vaccine delivery performance. Use

클라이언트(125)에서 백신 컨테이너(540)가 실행되면(600), 백신 컨테이너(540)는 도면2와 같은 과정을 통해 백신 제공자(500)로부터 스트리밍 되는 백신을 이용하여 클라이언트(125)에 감염되어 있는 바이러스 검색과 치료 서비스를 받을 수 있는지 운영체제, 여유 메모리, 그리고 네트워크 작동 여부 등을 확인한다. 그리고, 도면3과 같이 레지스트리를 참조하여 백신 제공 서버(505)에 접속 한 후(605), 백신 제공 서버(505)와 클라이언트(125) 사이의 스트리밍 프로토콜을 결정한다. 이 때, 클라이언트(125) 백신 컨테이너(540)가 실제로 백신을 스트리밍 받는 것은 백신 제공 서버(505)가 아니라, CDN 상의 캐시 서버(535)이므로, 상기 과정에서 결정되는 스트리밍 프로토콜은 본 실시예에서 사용하는 CDN 및 캐시 서버(535) 등과 호환되어야 한다.When the vaccine container 540 is executed in the client 125 (600), the vaccine container 540 is infected with the client 125 using the vaccine streamed from the vaccine provider 500 through the process as shown in FIG. Check your operating system, free memory, and network activity to see if you can get virus detection and repair services. After accessing the vaccine providing server 505 with reference to the registry as shown in FIG. 3 (605), the streaming protocol between the vaccine providing server 505 and the client 125 is determined. At this time, since the client 125 vaccine container 540 actually streams the vaccine, not the vaccine providing server 505, but the cache server 535 on the CDN, the streaming protocol determined in the above process is used in this embodiment. It should be compatible with the CDN and cache server 535 and the like.

상기와 같이 백신 컨테이너(540)가 백신 제공 서버(505)에 접속하고, 스트리밍 프로토콜이 결정되면, 백신 컨테이너(540)는 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하기 위해 시스템을 초기화 한 후, 백신 엔진(550)을 구동한다(610). 단, 이 때 백신 엔진(550)에는 클라이언트(125) 바이러스 검색과 치 료에 사용될 백신이 아직 존재하지 않는다.As described above, when the vaccine container 540 accesses the vaccine providing server 505 and the streaming protocol is determined, the vaccine container 540 initializes the system to search for and treat the virus infected by the client 125. Thereafter, the vaccine engine 550 is driven (610). At this time, the vaccine engine 550 does not yet have a vaccine to be used for client 125 virus search and treatment.

따라서, 백신 컨테이너(540)는 백신 제공 서버(505)에 클라이언트(125) 바이러스 검색과 치료를 위해 필요한 최신 백신을 즉시 전달해 줄 것을 요청한다(615). 그러면, 백신 제공 서버(505)는 클라이언트(125)의 백신 전달 요청을 해당 클라이언트(125)와 라스트마일(Last Mile)이 최소인 CDN 상의 캐시 서버(535)로 리다이렉트(Redirect)한 후, 해당 캐시 서버(535)로 백신을 전달하고(620), 클라이언트(125) 백신 컨테이너(540)는 해당 캐시 서버(535)로부터 백신을 고속 스트리밍 받는다(625).Accordingly, the vaccine container 540 requests the vaccine providing server 505 to immediately deliver the latest vaccine necessary for the client 125 virus search and treatment (615). Then, the vaccine providing server 505 redirects the vaccine delivery request of the client 125 to the cache server 535 on the CDN having a minimum mile with the client 125, and then the cache. The vaccine is forwarded to the server 535 (620), and the client 125 vaccine container 540 receives the high speed streaming of the vaccine from the cache server 535 (625).

캐시 서버(535)에서 클라이언트(125) 백신 컨테이너(540)로 백신이 전달되면, 백신 컨테이너(540)는 버퍼(135)에 버퍼링 되어 있는 백신이 사용 가능한 지 확인한다. 만약, 버퍼(135)에 버퍼링 되어 있는 백신이 사용 가능하다면(630), 백신 컨테이너(540)는 백신 적재부(545)를 통해 해당 백신을 클라이언트(125) 메모리에 적재한 후(635), 백신 엔진(550)을 통해 바이러스를 검색하기 시작한다(640). 단, 이 때 중요한 점은 백신 제공 서버(505), 또는 CDN 상의 캐시 서버(535)로부터 모든 백신 데이터가 완료되기 전에, 최소한의 백신만을 가지고도 백신 엔진(550)을 통해 클라이언트(125) 바이러스 검색을 시작할 수 있다는 것이다.When the vaccine is delivered from the cache server 535 to the client 125 vaccine container 540, the vaccine container 540 checks whether the vaccine buffered in the buffer 135 is available. If a vaccine buffered in the buffer 135 is available (630), the vaccine container 540 loads the vaccine into the client 125 memory through the vaccine loading unit 545 (635). The engine 550 begins to scan for viruses (640). However, it is important to note that before all vaccine data is completed from the vaccine providing server 505 or the cache server 535 on the CDN, the client 125 virus is scanned through the vaccine engine 550 with a minimum amount of vaccine. Is to start.

백신 컨테이너(540)의 백신 엔진(550)이 클라이언트(125)에 감염된 바이러스 를 검색하는 과정, 또는 검색이 완료된 후에 해당 클라이언트(125)에 바이러스가 감염되어 있음이 확인되면(645), 백신 엔진(550)은 클라이언트(125)에 감염되어 있는 바이러스를 치료하고(650), 그 결과를 백신 제공자(500)에 전달하여 백신 서비스에 대한 사용료를 부과한 후(655), 클라이언트(125)에 바이러스 검색 및 치료 결과를 출력한다(660). 그러나, 클라이언트(125)에 대한 상기 바이러스 검색 과정에서 알려진 바이러스 감염이 확인되지 않는다면, 백신 컨테이너(540)는 그 결과를 클라이언트(125)에 출력 한 후, 바이러스 검색 및 치료 과정을 종료한다.When the vaccine engine 550 of the vaccine container 540 detects a virus infected with the client 125 or after the scan is completed (645), the virus is infected with the client 125 (645). 550 treats the virus infected with the client 125 (650), passes the result to the vaccine provider 500 to charge a fee for the vaccine service (655), and then scans the virus for the client 125 And output the treatment result (660). However, if a known virus infection is not detected in the virus detection process for the client 125, the vaccine container 540 outputs the result to the client 125 and then terminates the virus detection and treatment process.

본 발명에 따르면, ASP(100)(Application Service Provider)에 탑재되어 있는 애플리케이션 제공 서버(Application Service Server)를 통해, ASP가 제공하는 애플리케이션을 클라이언트의 메모리에 원격 적재(Remote Load)함으로써, 클라이언트로 하여금 애플리케이션 이용에 따른 불편함을 해소시키며, 다양한 애플리케이션 제공자들에게 서비스 확대에 따른 경제적 이익을 가져다주는 효과가 있다. According to the present invention, through the application service server (Application Service Server) mounted on the ASP (100) (Application Service Server), by remote loading the application provided by the ASP to the client's memory (Remote Service), It solves the inconvenience of using the application and brings the economic benefits of the service expansion to various application providers.

또한, 백신 제공자가 스트리밍하는 백신 데이터를 실시간으로 버퍼링하여 바이러스를 검색하고 치료함으로써, 일반 하드디스크에 저장되어 있는 백신(신종 바이러스 침투에 의해 프로그램이 손상될 수 있음)보다 효과적으로 바이러스를 퇴치할 수 있는 효과가 있으며, 백신을 하드디스크에 파일로 저장하거나 최신 백신을 재차 다운로드 하는 불편함을 줄일 수 있는 장점이 있다. In addition, by scanning vaccines in real time by buffering vaccine data streamed by vaccine providers, viruses can be detected and treated more effectively than vaccines stored on regular hard disks (programs can be damaged by new virus infiltration). It is effective, and it can reduce the inconvenience of saving the vaccine as a file on the hard disk or downloading the latest vaccine again.

Claims (1)

클라이언트에게 스트리밍할 애플리케이션을 저장하는 애플리케이션D/B(Data Base); 및 An application D / B (Data Base) for storing an application to be streamed to the client; And 상기 애플리케이션 D/B에 저장된 애플리케이션을 애플리케이션 요청 클라이언트 단말로 스트리밍하는 애플리케이션 스트리밍 수단;을 구비하는 애플리케이션 제공 서버.And application streaming means for streaming the application stored in the application D / B to an application request client terminal.
KR1020060097716A 2006-10-05 2006-10-05 Application service methods and systems that are remotely loaded over a network Ceased KR20060108605A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060097716A KR20060108605A (en) 2006-10-05 2006-10-05 Application service methods and systems that are remotely loaded over a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060097716A KR20060108605A (en) 2006-10-05 2006-10-05 Application service methods and systems that are remotely loaded over a network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020010061583A Division KR100812211B1 (en) 2001-10-06 2001-10-06 Application providing system and method using streaming

Publications (1)

Publication Number Publication Date
KR20060108605A true KR20060108605A (en) 2006-10-18

Family

ID=37628328

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060097716A Ceased KR20060108605A (en) 2006-10-05 2006-10-05 Application service methods and systems that are remotely loaded over a network

Country Status (1)

Country Link
KR (1) KR20060108605A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848284B1 (en) * 2006-12-13 2008-07-25 (주)네오위즈게임즈 Loaders and methods to provide software streaming
WO2008124515A3 (en) * 2007-04-04 2008-12-04 Microsoft Corp A system and method for binding a subscription-based computing system to an internet service provider

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100848284B1 (en) * 2006-12-13 2008-07-25 (주)네오위즈게임즈 Loaders and methods to provide software streaming
WO2008124515A3 (en) * 2007-04-04 2008-12-04 Microsoft Corp A system and method for binding a subscription-based computing system to an internet service provider
US7984497B2 (en) 2007-04-04 2011-07-19 Microsoft Corporation System and method for binding a subscription-based computing system to an internet service provider
US8533801B2 (en) 2007-04-04 2013-09-10 Microsoft Corporation System and method for binding a subscription-based computing system to an internet service

Similar Documents

Publication Publication Date Title
US10320891B2 (en) Node selection for message redistribution in an integrated application-aware load balancer incorporated within a distributed-service-application-controlled distributed computer system
US7536458B2 (en) Distribution of binary executables and content from peer locations/machines
US7437428B1 (en) System and method for transferring data over a network
US7793308B2 (en) Setting operation based resource utilization thresholds for resource use by a process
US6772217B1 (en) Internet backbone bandwidth enhancement by initiating an additional data stream when individual bandwidth are approximately equal to the backbone limit
US8310943B2 (en) Method and system for transmission-based billing applications
US6308216B1 (en) Service request routing using quality-of-service data and network resource information
US20130232249A1 (en) Forward request queuing in a distributed edge processing environment
US8683065B2 (en) Multicast content provider
US20020128984A1 (en) Method and system for transmission-based billing of applications
US20120089700A1 (en) Proxy server configured for hierarchical caching and dynamic site acceleration and custom object and associated method
US20100306339A1 (en) P2p content caching system and method
CN1620653A (en) Dynamic arrangement of service in computing network
US20070136434A1 (en) Information processing system, server apparatus, information processing apparatus, and control method thereof
KR100812211B1 (en) Application providing system and method using streaming
US8661138B2 (en) Group based allocation of network bandwidth
US7401155B2 (en) Method and system for downloading network data at a controlled data transfer rate
US20090282414A1 (en) Prioritized Resource Access Management
CN103765858A (en) A method and server for monitoring users during their browsing within a communications network
US7584261B1 (en) Distribution of binary executables and content from peer locations/machines
US8156223B2 (en) Distribution of binary executables and content from peer locations/machines
KR20060108605A (en) Application service methods and systems that are remotely loaded over a network
Mendonça et al. Client-side selection of replicated web services: An empirical assessment
CN104601707A (en) Network disk data processing method and device
Tusch Towards an adaptive distributed multimedia streaming server architecture based on service-oriented components

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
PA0107 Divisional application

Comment text: Divisional Application of Patent

Patent event date: 20061005

Patent event code: PA01071R01D

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20071210

Patent event code: PE09021S01D

E601 Decision to refuse application
PE0601 Decision on rejection of patent

Patent event date: 20080530

Comment text: Decision to Refuse Application

Patent event code: PE06012S01D

Patent event date: 20071210

Comment text: Notification of reason for refusal

Patent event code: PE06011S01I

J201 Request for trial against refusal decision
PJ0201 Trial against decision of rejection

Patent event date: 20080630

Comment text: Request for Trial against Decision on Refusal

Patent event code: PJ02012R01D

Patent event date: 20080530

Comment text: Decision to Refuse Application

Patent event code: PJ02011S01I

Appeal kind category: Appeal against decision to decline refusal

Decision date: 20090522

Appeal identifier: 2008101006427

Request date: 20080630

J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20080630

Effective date: 20090522

PJ1301 Trial decision

Patent event code: PJ13011S01D

Patent event date: 20090522

Comment text: Trial Decision on Objection to Decision on Refusal

Appeal kind category: Appeal against decision to decline refusal

Request date: 20080630

Decision date: 20090522

Appeal identifier: 2008101006427