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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements 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
도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
ASP(100)는 애플리케이션 제공 서버(105)라고 하는 서버 시스템으로 구성되며, 애플리케이션 제공 서버(105)는 기본적으로 클라이언트(125)에게 전송되는 애플리케이션을 저장하고 있는 D/B(110)와 애플리케이션 전송하는 송신부(115), 그리고 애플리케이션 과금부(120)로 이루어져 있다.The ASP 100 is configured as a server system called an
애플리케이션 D/B(110)는 클라이언트(125)로 전송될 애플리케이션 데이터를 저장하고 있으며, 애플리케이션 데이터는 송신부(115)를 통해 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍 된다. 이 때, 애플리케이션 제공 서버(105)의 송신부(115)에서 클라이언트(125)의 애플리케이션 컨테이너(130)로 스트리밍되는 스트림 데이터를 애플리케이션 데이터 블록이라고 한다. The application D /
애플리케이션 데이터 블록은 클라이언트(125)의 주기억장치(145), 즉 메모리로 즉시 적재가 가능한 프로세스의 형태를 취하고 있으며, 클라이언트(125) 하드디스크에 저장되어 있는 파일이 메모리에 적재되는 것과 동일한 구조를 가지고 있다. The application data block takes the form of a
일반적으로 운영체제에 의해 파일이 메모리에 적재되는 과정은 다음과 같다.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
애플리케이션 과금부(120)는 ASP(100)의 애플리케이션 서비스에 대한 사용료를 계산하고, 요금을 부과하는 역할을 수행하며, 과금 방법은 서비스되는 애플리케이션의 종류와 ASP(100) 과금 기준에 의존적이다.The
클라이언트(125)는 애플리케이션 컨테이너(130)라고 하는 프로그램이 탑재되어 있으며, 애플리케이션 컨테이너(130)는 기본적으로 애플리케이션 제공 서버(105)에서 스트리밍 되는 애플리케이션 데이터 블록을 버퍼링 하는 버퍼(135)와 버퍼링된 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 적재부(140)로 구성되어 있다.The
버퍼(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
적재부(140)는 버퍼(135)에 버퍼링되어 있는 애플리케이션 제공 서버(105)에 가상 메모리 주소를 할당한 후, 전술한 내용과 같이 하드디스크 상의 파일이 운영체제를 통해 메모리에 적재되는 것처럼, 스트리밍된 애플리케이션 데이터 블록을 운영체제를 참조하여 메모리에 적재한다. 따라서, 애플리케이션 컨테이너(130)의 적재부(140)를 통해 메모리에 적재된 애플리케이션 데이터 블록은, 클라이언트(125) 하드디스크 상의 파일이 메모리 상에 적재된 것과 동일한 역할을 수행하며, 이것을 통해 애플리케이션 컨테이너(130)는 인터넷 상의 애플리케이션 제공 서버(105)에 있는 애플리케이션을, 클라이언트(125)에서 직접 실행한 것과 같은 결과 를 생성한다.The
애플리케이션 컨테이너(130)는 클라이언트(125)의 레지스트리(150)를 참조하며, 레지스트리(150)에는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 클라이언트(125) 메모리로 적재하는 필요한 모든 정보가 저장되어 있다. 그러나, 본 발명에서 다루고 있는 클라이언트 레지스트리(150)가 마이크로소프트 윈도우 시스템의 레지스트리만을 가리키는 것은 아니다. 클라이언트 레지스트리(150)는 애플리케이션 컨테이너(130)가 애플리케이션 제공 서버(105)로부터 애플리케이션 데이터 블록을 스트리밍하여 메모리에 적재하기 위한 정보를 저장하고 있는 D/B이며, 그 구조는 윈도우 시스템의 레지스트리를 포함하여, INI파일은 물론, 모든 종류의 D/B를 포함한다.The
애플리케이션 컨테이너(130)는 ASP(100)에 의해 제작되어 배포되는 프로그램, 인터넷 익스플로러나 넷스케이프를 포함하는 웹 브라우저, 그리고 운영체제에 기본적으로 포함되어 있는 시스템 유틸리티를 모두 포함하며, 그 구조와 목적에 따라 다양한 종류의 애플리케이션을 클라이언트(125)에서 구동시키는 역할을 수행한다. 따라서, 각각의 애플리케이션 컨테이너(130)는 그 구조와 목적에 따라 약간씩 다른 작업을 수행할 수 있다.The
이하 간단한 흐름도를 통해 애플리케이션 컨테이너(130)가 애플리케이션 제 공 서버(105)에 있는 애플리케이션 데이터를 클라이언트(125) 메모리로 적재하는 과정에서 기본적으로 거쳐야만 하는 과정에 대하여 설명한다. 단, 다음의 흐름도는 각각의 단계에서 기본적으로 수행해야만 하는 내용에 대한 것이며, 본 발명의 작업 흐름이 다음의 흐름도만으로 한정되는 것은 아니다.Hereinafter, a process in which the
도면2는 클라이언트(125)에 탑재되어 있는 애플리케이션 컨테이너(130)를 실행하는 단계에서 거쳐야만 하는 기본적인 과정에 대한 간단한 흐름도이다.2 is a simple flowchart of the basic process that must be performed in the step of executing the
클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(200), 애플리케이션 컨테이너(130)는 애플리케이션 구동에 필요한 DLL(Dynamic Linking Library) 파일과 라이브러리 정보 등으로 참조하여, 애플리케이션 서비스를 위한 준비를 종료 한 후, 애플리케이션 제공 서버(105)가 제공하는 애플리케이션이 운영체제에 선택적인 경우에, 최적의 애플리케이션 서비스를 위해 클라이언트(125)의 운영체제 종류와 버전을 확인한다(205).When the
클라이언트(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
애플리케이션 컨테이너(130)가 사용할 버퍼(135)가 할당되면, 애플리케이션 컨테이너(130)는 클라이언트(125) 네트워크가 정상적으로 작동하고 있는지 확인한다(235). 본 발명은, 애플리케이션 서비스를 위해 애플리케이션 데이터 블록을 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 하는 단계에서, 네트워크 자원을 한번 이상 사용하기 때문에, 클라이언트(125) 네트워크가 정상적으로 작동하고 있지 않다면(240), 사용자 메시지를 출력한 후(220), 애플리케이션 컨테이너(130)를 자동 종료한다(225).When the buffer 135 to be used by the
만약, 클라이언트(125) 네트워크가 정상 작동하고 있다면, 애플리케이션 컨테이너(130)는 구동하고자 하는 애플리케이션을 선택한다(245). 이것은, 하나의 애플리케이션 컨테이너(130)로 복수의 애플리케이션을 구동하는 경우 사용되며, 단일 애플리케이션만을 구동할 수 있는 애플리케이션 컨테이너(130)라면, 구동하고자 하는 애플리케이션을 자동 설정한다.If the
도면3은 애플리케이션 컨테이너(130)가 인터넷 상의 애플리케이션 제공 서버(105)를 찾는 과정에 대한 간단한 흐름도이다.3 is a simple flowchart of the process by which the
일반적으로 대용량 멀티미디어 컨텐츠의 실시간 재생을 목적으로 하는 스트리밍 서비스는 속도 향상을 위해 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
도면2와 같이 클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행되면(300), 애플리케이션 컨테이너(130)는 레지스트리(150)를 참조하여 인터넷 상에서 애플리케이션 제공 서버(105)의 주소를 확인한 후(305), 해당 서버(105)에 접속하여 로그인한다(310). 애플리케이션 제공 서버(105)에 로그인하는 이유는 애플리케이션 서비스에 대한 사용료를 부과하기 위한 것으로서, 요금 부과 방식은 ASP(100)의 과금 기준에 의존한다.As shown in FIG. 2, when the
애플리케이션 컨테이너(130)가 상기와 같이 애플리케이션 제공 서버(105)에 성공적으로 접속하면, 애플리케이션 컨테이너(130)는 클라이언트(125) 운영체제의 종류와 버전에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)의 애플리케이션 D/B(110)안에 존재하는지 확인한다(315). When the
만약, 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 애플리케이션 제공 서버(105)에 존재하지 않는다면(320), 애플리케이션 컨테이너(130)는 로그아웃 한 후(325), 자동 종료된다(330). 그러나, 애플리케이션 제공 서버(105)에 클라이언트(125) 운영체제에 적합한 애플리케이션 데이터가 존재한다면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터에 대한 정보를 레지스트리(150)에서 추출한다(335).If application data suitable for the
클라이언트 레지스트리(150)에서 추출되는 애플리케이션 데이터에 대한 정보는 해당 애플리케이션 데이터의 위치 정보는 물론, 애플리케이션 데이터의 스트리밍 서비스에 필요한 모든 정보를 포함한다.The information about the application data extracted from the
상기와 같이 클라이언트 레지스트리(150)에서 애플리케이션 데이터에 대한 정보가 추출되면, 애플리케이션 컨테이너(130)는 애플리케이션 제공 서버(105)로부터 클라이언트(125)로 스트리밍 되는 애플리케이션 데이터 블록이 사용할 스트리밍 프로토콜을 결정한다(340).When the information about the application data is extracted from the
*현재, 일반적으로 사용되는 스트리밍 프로토콜에는 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
그러나, 항상 애플리케이션 컨테이너(130)의 종류 따라 스트리밍 프로토콜이 결정되는 것은 아니며, 클라이언트(125)에 스트리밍 되는 애플리케이션 데이터가 어떤 것이며, 어떤 구조를 가지고 있고, 클라이언트(125)에서 수행하는 작업이 무엇인가에 따라 결정되기도 한다. However, the streaming protocol is not always determined according to the type of the
또한, 파일로 저장되지 않는 푸시 기술 등을 응용하여 스트리밍 할 수도 있으며, 이 경우 전송되는 애플리케이션 데이터의 구조, 기능, 그리고 목적에 따라 포인트캐스트 방식의 푸시 기술이나 캐스터넷 방식의 푸시 기술이 응용될 수 있다.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
클라이언트(125)에서 애플리케이션 컨테이너(130)가 실행된 후, 애플리케이션 제공 서버(105)로부터 스트리밍 되는 애플리케이션 데이터 블록의 스트리밍 프로토콜이 결정되면(400), 애플리케이션 컨테이너(130)의 적재부(140)는 클라이언트(125) 운영체제를 참조하여 애플리케이션 데이터에 대한 가상 주소를 할당한다(405). 이 과정은 클라이언트(125) 하드디스크에 저장되어 있는 파일을 메모리로 적재하기 위해 운영체제의 연결편집기(Link Editor)와 적재기(Loader)가 해당 파일에 대한 가상 주소를 할당하는 과정과 동일하다.After the
애플리케이션 컨테이너(130)의 적재부(140)를 통해 스트리밍 되는 애플리케이션 데이터의 가상 주소 할당이 완료되면, 애플리케이션 제공 서버(105)의 송신부(115)는 클라이언트(125)로 애플리케이션 데이터 블록을 스트리밍하기 시작한다(410). 물론, 애플리케이션 제공 서버(105)에서 클라이언트(125)로 스트리밍 되기 시작하는 애플리케이션 데이터 블록은 스트리밍 할 모든 애플리케이션 데이터 블록이 클라이언트(125)의 애플리케이션 컨테이너(130)에 버퍼링 될 때까지 지속적으로 스트리밍된다.When the virtual address allocation of the application data streamed through the
애플리케이션 제공 서버(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
애플리케이션 제공 서버(105)로부터 클라이언트(125) 애플리케이션 컨테이너(130)로 버퍼링 된 애플리케이션 데이터가 클라이언트(125) 메모리로 적재되면(435), 애플리케이션 컨테이너(130)는 해당 데이터를 버퍼(135)에서 삭제함으로서(440), 애플리케이션 제공 서버(105)에서 스트리밍 되는 다음 애플리케이션 데이터가 사용하도록 한다.When application data buffered from the
상기와 같이, 애플리케이션 컨테이너(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
이하 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다. 단, 다음의 실시예는 본 발명을 가장 적절하게 설명하기 위한 여러 가지 방법 중 대표적인 경우에 대한 것이며, 본 발명이 다음의 실시예로 한정되지는 않는다. 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
도면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
백신 제공자(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 /
백신 D/B(510)에는 클라이언트(125)에게 서비스할 백신이 저장되어 있으며, 백신 D/B(510)는 항상 최근 출현한 바이러스를 치료할 수 있는 백신 데이터로 자동 업데이트된다. 따라서, 클라이언트(125)는 백신 제공 서버(505)로부터 새로운 백신 데이터를 스트리밍 하는 것만으로, 모든 바이러스를 검색하고 치료할 수 있는 방법을 제공받는다.The vaccine D /
백신 송신부(515)는 백신 D/B(510)의 백신 데이터를 클라이언트(125)의 백신 컨테이너(540)로 스트리밍 하는 역할을 수행하며, 백신 서비스 과금부(520)는 클라이언트(125)에게 제공된 백신 서비스에 대한 사용료를 계산한다. 일반적으로, 바이러스 검색은 무료로 수행하며, 치료 건당 사용료를 받는 방법을 사용하며, 요금 부 과에 필요한 모든 정보는 클라이언트(125)에 설치되어 있는 백신 컨테이너(540)로부터 백신 제공 서버(505)의 백신 서비스 과금부(520)로 전송된다. The
클라이언트(125)는 백신 컨테이너(540)가 탑재되어 있으며, 백신 컨테이너(540)는 버퍼(135), 백신 적재부(545), 그리고 백신 엔진(550) 등으로 구성되어 있다. The
백신 컨테이너(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
백신 적재부(545)는 운영체제를 참조하여 버퍼(135)에 버퍼링 되어있는 백신을 클라이언트 메모리(145)에 적재하는 역할을 담당하며, 메모리(145)에 적재된 백신은 소프트웨어의 형태로 배포되던 기존 백신 프로그램에서 사용하는 백신과 동일한 역할을 수행한다.The vaccine loader 545 serves to load the vaccine buffered in the buffer 135 in the
백신 컨테이너(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
상기와 같이 백신 컨테이너(540)에 탑재되어 있는 백신 엔진(550)은, 백신 제공 서버(505)로부터 스트리밍 되는 백신을 이용하여 클라이언트(125)에 감염되어 있는 바이러스를 검색하고 치료하는 역할을 수행한다. 즉, 백신 엔진(550)은 바이러스 검색과 치료를 위한 백신 구동부이며, 백신 엔진이 바이러스를 검색하고, 치료하는데 필요한 최신 백신을 백신 제공 서버(505)로부터 실시간 스트리밍 하여 사용하게 되는 것이다.The
따라서, 백신 제공자(500)로부터 클라이언트(125)로 스트리밍 되는 백신은, 클라이언트(125)에서 백신 컨테이너(540)가 실행되어 백신 제공 서버(505)에 접속할 때마다 클라이언트(125)로 스트리밍 되며, 스트리밍 되는 백신은 항상 최신 버전만을 제공하게 된다.Therefore, the vaccine streamed from the vaccine provider 500 to the
즉, 상기와 같이 클라이언트(125) 바이러스를 검색하고 치료하는 과정에서, 백신 제공자(500)로부터 최신 백신을 스트리밍 하기 시작하여, 스트리밍이 완료되기 전부터 즉각적으로 바이러스를 검색하고 치료할 수 있다는 것은 본 발명의 가장 큰 특징이다. That is, in the process of searching for and treating the virus of the
또한, 본 실시예에서는 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
따라서, 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
즉, 백신 제공자(500)는 각 클라이언트(125)의 백신 컨테이너(540)가 백신을 요청하기 전에 CDN 상의 캐시 서버(535)에 최신 백신을 미리 전달하여 놓거나, 백신 컨테이너(540)가 백신을 요청하는 즉시 캐시 서버(535)로 최신 백신을 전달하여 놓음으로서, 백신 컨테이너(540)는 클라이언트(125)에서 실행과 동시에 최신 백신을 전달받을 수 있게 된다.That is, the vaccine provider 500 previously delivers the latest vaccine to the
도면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
클라이언트(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
상기와 같이 백신 컨테이너(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
따라서, 백신 컨테이너(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
캐시 서버(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
백신 컨테이너(540)의 백신 엔진(550)이 클라이언트(125)에 감염된 바이러스 를 검색하는 과정, 또는 검색이 완료된 후에 해당 클라이언트(125)에 바이러스가 감염되어 있음이 확인되면(645), 백신 엔진(550)은 클라이언트(125)에 감염되어 있는 바이러스를 치료하고(650), 그 결과를 백신 제공자(500)에 전달하여 백신 서비스에 대한 사용료를 부과한 후(655), 클라이언트(125)에 바이러스 검색 및 치료 결과를 출력한다(660). 그러나, 클라이언트(125)에 대한 상기 바이러스 검색 과정에서 알려진 바이러스 감염이 확인되지 않는다면, 백신 컨테이너(540)는 그 결과를 클라이언트(125)에 출력 한 후, 바이러스 검색 및 치료 과정을 종료한다.When the
본 발명에 따르면, 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)
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)
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 |
-
2006
- 2006-10-05 KR KR1020060097716A patent/KR20060108605A/en not_active Ceased
Cited By (4)
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 |