KR20180010606A - Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method - Google Patents

Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method Download PDF

Info

Publication number
KR20180010606A
KR20180010606A KR1020160092939A KR20160092939A KR20180010606A KR 20180010606 A KR20180010606 A KR 20180010606A KR 1020160092939 A KR1020160092939 A KR 1020160092939A KR 20160092939 A KR20160092939 A KR 20160092939A KR 20180010606 A KR20180010606 A KR 20180010606A
Authority
KR
South Korea
Prior art keywords
plug
web
user device
service
server
Prior art date
Application number
KR1020160092939A
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 KR1020160092939A priority Critical patent/KR20180010606A/en
Publication of KR20180010606A publication Critical patent/KR20180010606A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F17/30899

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

In the present invention, provided are an apparatus and a method for providing a web service without a plug-in installation, and a recording medium for recording the method thereof, which is a computer-readable recording medium for recording a program executing the method. The apparatus of the present invention comprises: a communication module for communications; a storage module for storing data; and a control module for pre-downloading a plug-in provided by a web server to install the plug-in in a virtual computer object, allocating a predetermined memory in the storage module by corresponding to a user device when an access of the user device exists, instantiating the virtual computer object to generate a virtual computer having the plug-in installed therein, generating a web page having the plug-in executed in the virtual computer when a request of the user device exists, and providing the user device with the generated web page through the communication module.

Description

플러그인 설치 없이 웹 서비스를 제공하기 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체{Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method}BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an apparatus for providing a web service without installing a plug-in, a method therefor, and a computer-readable recording medium on which the method is recorded.

본 발명은 웹 서비스 제공 기술에 관한 것으로, 보다 상세하게는, 특정 사이트에서 웹 서비스를 제공 받기 위해 필요한 플러그인을 사용자 장치, 즉, 웹브라우저에 설치하지 않고, 웹 서비스를 제공할 수 있는 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체에 관한 것이다. The present invention relates to a web service provision technology, and more particularly, to a web service provision technology, in which a plug-in required to receive a web service at a specific site is installed in a user device, And a computer-readable recording medium on which the method is recorded.

플러그인이란 웹브라우저가 웹 페이지에 포함된 특정 기능을 실행하는 것을 돕는 확장 프로그램이다. 현재 널리 사용되는 플러그인은 자바애플릿, 액티브X, NPAPI, 플래시, 실버라이트 등이 있다. 주로 인터넷 뱅킹, 키보드 보안, 동영상 스트리밍 등을 웹 상에서 구현하기 위해 사용된다. 웹브라우저의 성능을 보조하기 위해 개발사들은 웹브라우저의 성능을 확장하는 프로그램을 고안해냈다. 이것이 플러그인의 시초다. 썬 마이크로시스템즈사는 자사의 프로그래밍 언어 자바 기반의 플러그인 자바애플릿을 95년에 고안해내고, 이를 웹브라우저에 추가할 수 있도록 했다. 넷스케이프 그룹은 NPAPI(Netscape Plugin API)라는 독자적인 플러그인을 개발하고 넷스케이프 브라우저 2.0과 함께 배포하기 시작했다. MS 역시 96년말 액티브X를 개발하고 인터넷 익스플로러 3에 추가했다. 이후 인터넷 익스플로러는 액티브X 위주로, 크롬, 파이어폭스, 사파리, 오페라 등 다른 웹브라우저는 NPAPI 위주로 플러그인을 지원하기 시작했다. 자바애플릿, 액티브X, NPAPI 등은 웹브라우저의 부족한 성능 확장에 초점을 맞춘 반면, 플래시와 실버라이트는 이미지와 텍스트 위주의 웹 환경에 동영상이나 반응형 웹 등 보다 풍요로운 인터넷 환경(Rich Internet Application)을 더하기 위해 고안됐다. 때문에 많은 수의 인터넷 웹 게임이나 동영상 스트리밍 서비스가 플래시와 실버라이트를 활용해 제작됐다. 플래시의 경우 1996년 매크로미디어 플래시라는 형태로 세상에 등장했고, 이후 어도비가 매크로미디어를 인수한 후 2007년부터 어도비 플래시로 이름을 바꿔 개량해나갔다. 어도비가 동영상 스트리밍 시장을 장악하는 것을 지켜만 볼 수 없었던 MS는 2007년 실버라이트를 플래시의 대항마로 선보였다. A plug-in is an extension that helps a web browser to execute certain functions contained in a web page. Currently widely used plug-ins are Java applets, ActiveX, NPAPI, Flash, and Silverlight. It is mainly used to implement Internet banking, keyboard security, video streaming, etc. on the Web. To aid in the performance of Web browsers, developers have devised programs that extend the performance of Web browsers. This is the beginning of the plug-in. Sun Microsystems has designed a Java-based plug-in Java applet for its programming language in 1995, allowing it to be added to a web browser. The Netscape group developed a proprietary plugin called NPAPI (Netscape Plugin API) and started distributing it with the Netscape browser 2.0. Microsoft also developed ActiveX at the end of 1996 and added it to Internet Explorer 3. Since then, Internet Explorer has been mainly focused on ActiveX, and other web browsers such as Chrome, Firefox, Safari, and Opera have begun to support plug-ins based on NPAPI. While Java applets, ActiveX, and NPAPI focused on the scarce performance enhancements of web browsers, Flash and Silverlight enabled rich Internet applications such as video and responsive web in image and text oriented web environment. It was designed to add. Because of this, a large number of Internet Web games and video streaming services have been created using Flash and Silverlight. In the case of Flash, it appeared in the form of Macromedia Flash in 1996, and after Adobe acquired Macromedia in 2007, it changed its name to Adobe Flash. Microsoft, which had not watched Adobe take control of the video streaming market, launched Silverlight in 2007 as a contender for Flash.

하지만 플러그인은 치명적인 문제를 품고 있었다. 보안이 취약하다는 점이다. 일단 플러그인 자체가 보안이 좋은 편이 아니었고, 틈만 나면 취약점이 발견돼 개발사에서 패치를 제공해야 했다. 사용자를 '예스맨(Yes Man)'으로 만든다는 것도 문제다. 특정 서비스를 사용하려면 반드시 플러그인 설치에 동의해야 한다. 선택의 여지 같은 것은 없다. 사용자들은 서비스를 제공받기 위해 어쩔 수 없이 '네(Yes)'를 눌러야 했다. 여기에 각종 악성코드가 섞여 들어왔다. 심지어 일부 사용자는 동의하는 절차마저 귀찮게 느껴 보안수준을 최하등급으로 낮추기까지 했다. 도둑에게 문을 활짝 열어주는 꼴이다. 때문에 사용자의 PC는 악성코드의 천국이 되어갔다. 악성코드의 침투를 막기 위해 사용자가 웹브라우저의 보안 수준을 최고 등급으로 높이면 외부 프로그램인 플러그인 설치는 불가능해진다. 보안 프로그램을 설치하기 위해 웹브라우저의 보안 수준을 낮추는 촌극이 벌어졌다. But the plug-in had a fatal problem. It is vulnerable. Once the plug-in itself was not as secure as it was, the vulnerabilities were found and developers had to provide patches. It is also a problem to make a user "Yes Man". To use certain services, you must agree to install the plugin. There is no such thing as choice. Users had to press 'Yes' to get services. Various malicious codes came in here. Even some users have even bothered to agree on procedures to lower security levels to the lowest rating. It opens the door wide to the thief. So your PC has become a heaven of malware. To prevent the infiltration of malicious code, if the user raises the security level of the Web browser to the highest level, it is impossible to install the external program plug-in. To install the security program, there was a downside to lowering the security level of the Web browser.

한국공개특허 제2009-0007525호, 2009년 01월 19일 공개 (발명의 명칭: 중계 서버 방식 웹 브라우징 환경에서 단말기와 웹 서버간에 가상 보안 연결을 지원하는 시스템과 그 동작방법)Korean Patent Laid-Open No. 2009-0007525, published Jan. 19, 2009 (entitled "System for Supporting Virtual Security Connection between Terminal and Web Server in a Relay Server-based Web Browsing Environment and Operation Method Thereof"

본 발명의 목적은 웹 페이지에서 제공하는 서비스를 받기 위해 필요한 플러그인을 사용자가 사용하는 사용자 장치의 웹브라우저의 추가 기능으로 설치하지 않고, 사용자에게 웹 서비스를 제공할 수 있는 제공하기 위한 장치, 이를 위한 방법 및 이 방법이 기록된 컴퓨터 판독 가능한 기록매체를 제공함에 있다. It is an object of the present invention to provide an apparatus for providing a web service to a user without installing the plug-in necessary for receiving a service provided by the web page as an additional function of the web browser of the user apparatus used by the user, And a computer-readable recording medium on which the method is recorded.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 플러그인 설치 없이 웹 서비스를 제공하기 위한 장치는 통신을 위한 통신모듈과, 데이터 저장을 위한 저장모듈과, 웹 서버가 제공하는 플러그인을 미리 다운로드하여 가상의 컴퓨터 객체에 플러그인을 설치하고, 사용자 장치의 접속이 있으면 상기 사용자 장치에 대응하여 상기 저장모듈에 소정의 메모리를 할당하여 가상의 컴퓨터 객체를 인스탄스화하여 플러그인이 설치된 가상의 컴퓨터를 생성하고, 상기 사용자 장치의 요청이 있으면, 가상의 컴퓨터에서 플러그인이 실행되는 웹 페이지를 생성하고, 생성된 웹 페이지를 상기 통신모듈을 통해 상기 사용자 장치에 제공하는 제어모듈을 포함한다. According to an aspect of the present invention, there is provided an apparatus for providing a web service without installing a plug-in according to a preferred embodiment of the present invention includes a communication module for communication, a storage module for storing data, A plug-in is installed in a virtual computer object, and if there is a connection of a user apparatus, a predetermined memory is allocated to the storage module corresponding to the user apparatus, and a virtual computer object is instantiated, And a control module for generating a web page in which a plug-in is executed in a virtual computer when the user device requests the web page and providing the generated web page to the user device through the communication module.

상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 플러그인 설치 없이 웹 서비스를 제공하기 위한 방법은 웹 서버가 제공하는 플러그인을 미리 다운로드하여 가상의 컴퓨터 객체에 플러그인을 설치하는 단계와, 사용자 장치의 접속이 있으면 상기 사용자 장치에 대응하여 소정의 메모리를 할당하여 가상의 컴퓨터 객체를 인스탄스화하여 플러그인이 설치된 가상의 컴퓨터를 생성하는 단계와, 상기 사용자 장치의 요청이 있으면, 가상의 컴퓨터에서 플러그인이 실행되는 웹 페이지를 생성하고, 생성된 웹 페이지를 상기 통신모듈을 통해 상기 사용자 장치에 제공하는 단계를 포함한다. According to another aspect of the present invention, there is provided a method for providing a web service without installing a plug-in, the method comprising: pre-downloading a plug-in provided by a web server and installing a plug- A step of assigning a predetermined memory corresponding to the user apparatus to the user apparatus so as to instantiate a virtual computer object to create a virtual computer in which a plug-in is installed; Generating a web page on which the plug-in is executed, and providing the generated web page to the user device through the communication module.

본 발명의 다른 측면에 따르면 상술한 바와 같은 목적을 달성하기 위한 본 발명의 바람직한 실시예에 따른 웹 서비스를 제공하기 위한 방법을 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체를 제공한다. According to another aspect of the present invention, there is provided a computer-readable recording medium on which a program for executing a method for providing a web service according to a preferred embodiment of the present invention is recorded.

본 발명에 따르면, 플러그인을 사용자의 웹브라우저에 직접 설치하지 않기 때문에 플러그인 설치에 따른 보안 문제를 해결할 수 있다. 특히, 사용자가 새로운 웹페이지에 접속하거나, 새로운 패치가 있을 때마다 인스톨 혹은 업데이트해야하는 번거로움을 해소할 수 있다. According to the present invention, since the plug-in is not installed directly in the user's web browser, the security problem due to the plug-in installation can be solved. In particular, it is possible to solve the problem that a user accesses a new web page, or installs or updates a new patch every time there is a new patch.

도 1은 본 발명의 실시예에 따른 플러그인 설치 없이 웹 서비스를 제공하는 시스템의 구성을 설명하기 위한 도면이다.
도 2는 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다.
도 3은 본 발명의 실시예에 따른 서비스 서버의 구성을 설명하기 위한 블록도이다.
도 4는 본 발명의 실시예에 따른 웹 서버의 구성을 설명하기 위한 블록도이다.
도 5는 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 방법을 설명하기 위한 도면이다.
FIG. 1 is a diagram for explaining a configuration of a system for providing a web service without installing a plug-in according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a user apparatus according to an embodiment of the present invention.
3 is a block diagram illustrating a configuration of a service server according to an embodiment of the present invention.
4 is a block diagram illustrating a configuration of a web server according to an embodiment of the present invention.
5 is a flowchart illustrating a method for providing a web service according to an embodiment of the present invention.
6 is a diagram illustrating a method for providing a web service according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예들이 설명될 것이다. 이때, 첨부된 도면에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음을 유의해야 한다. 또한, 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 마찬가지의 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 또는 개략적으로 도시되었으며, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. Note that, in the drawings, the same components are denoted by the same reference symbols as possible. Further, the detailed description of known functions and configurations that may obscure the gist of the present invention will be omitted. For the same reason, some of the elements in the accompanying drawings are exaggerated, omitted, or schematically shown, and the size of each element does not entirely reflect the actual size.

특히, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념으로 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 실시예에 불과할 뿐, 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형 예들이 있을 수 있음을 이해하여야 한다. In particular, terms and words used in the present specification and claims should not be construed as limited to ordinary or dictionary meanings, and the inventor should understand the concept of the term The present invention should be construed as meaning and concept consistent with the technical idea of the present invention. Therefore, the embodiments described in the present specification and the configurations shown in the drawings are merely the most preferred embodiments of the present invention, and are not intended to represent all of the technical ideas of the present invention. Therefore, various equivalents It should be understood that water and variations may be present.

먼저, 본 발명의 실시예에 따른 플러그인 설치 없이 웹 서비스를 제공하기 위한 시스템에 대해서 설명하기로 한다. 도 1은 본 발명의 실시예에 따른 플러그인 설치 없이 웹 서비스를 제공하는 시스템의 구성을 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 시스템(이하, '웹 서비스 시스템'으로 칭함)은 사용자 장치(100), 서비스 서버(200) 및 웹 서버(300)를 포함한다. 이러한 사용자 장치(100), 서비스 서버(200) 및 웹 서버(300)는 상호간에 네트워크를 통해 연결되어 통신할 수 있다. First, a system for providing a web service without installing a plug-in according to an embodiment of the present invention will be described. FIG. 1 is a diagram for explaining a configuration of a system for providing a web service without installing a plug-in according to an embodiment of the present invention. Referring to FIG. 1, a system for providing a web service according to an embodiment of the present invention (hereinafter referred to as a 'web service system') includes a user device 100, a service server 200, and a web server 300 . The user apparatus 100, the service server 200, and the web server 300 can communicate with each other through a network.

웹 서버(300)는 인터넷 상에서 일반적인 웹 서비스를 제공하기 위한 웹 페이지를 운영하는 서버이다. 이러한 웹 서버(300)는 대표적으로, 은행 업무, 증권 업무, 인터넷 쇼핑, 포털 등의 서비스를 제공하기 위한 웹 페이지가 구축된 웹 서버를 예시할 수 있다. 특히, 본 발명의 실시예에 따른 웹 서버(300)는 웹 서비스를 제공하기 위하여 추가 기능이 요구되며, 추가 기능을 위한 플러그인을 제공한다. 예컨대, 추가 기능은 인터넷 뱅킹, 키보드 보안, 동영상 스트리밍 등을 예시할 수 있다. The web server 300 is a server that operates a web page for providing a general web service on the Internet. The web server 300 may represent a web server having a web page for providing services such as banking service, securities service, internet shopping, and portal. In particular, the web server 300 according to the exemplary embodiment of the present invention requires additional functions to provide a web service, and provides a plug-in for additional functions. For example, the additional functions may illustrate Internet banking, keyboard security, video streaming, and the like.

사용자 장치(100)는 네트워크 연결이 가능하며, 웹브라우저(Web Browser)를 설치, 실행하여 네트워크를 통해 웹 서버(300)에 접속할 수 있는 디바이스를 말한다. 이러한 사용자 장치(100)는 대표적으로, 퍼스널 컴퓨터(PC), 노트북 등을 예시할 수 있다. The user device 100 is a device capable of connecting to the network and installing and executing a web browser to access the web server 300 through a network. Such a user device 100 may represent, for example, a personal computer (PC), a notebook computer, and the like.

서비스 서버(200)는 네트워크 상의 일 엔티티로 구현되며, 애플리케이션 서버가 될 수 있다. 이러한 서비스 서버(200)는 서버급 컴퓨팅 연산 능력을 가지는 컴퓨팅 장치가 될 수 있다. 사용자가 사용자 장치(100)를 통해 웹 서버(300)에 접속하여 해당 웹 서버(300)가 제공하는 웹 서비스에 필요한 추가 기능을 실행하기 위해 사용자 장치(100)에서 실행되는 웹브라우저에 플러그인을 설치해야 한다. 하지만, 서비스 서버(200)는 사용자 장치(100)의 웹브라우저에 플러그인을 설치하지 않고, 웹 서버(300)가 웹 서비스를 제공할 수 있도록 한다. 이를 위하여, 서비스 서버(200)는 사용자 장치(100)와 웹 서버(300) 사이에서 웹 서버(300) 가 제공하는 웹 서비스를 전달하는 매개체 역할을 수행한다. 이때, 서비스 서버(200)는 사용자 장치(100) 대신 웹 서버(300)에 접속하여 플러그인을 미리 설치한다. 그리고 서비스 서버(200)는 사용자 장치(100)가 해당 웹 서버(300)의 웹 페이지를 요청할 때, 미리 설치된 플러그인을 실행시킨다. 이에 따라, 서비스 서버(200)는 플러그인 제공하는 확장 기능이 적용된 웹 페이지를 사용자 장치(100)로 제공한다. The service server 200 is implemented as an entity on the network and can be an application server. The service server 200 may be a computing device having server-class computing computing capability. A user connects to the web server 300 through the user device 100 and installs a plug-in to a web browser executed in the user device 100 in order to execute an additional function required for the web service provided by the web server 300 Should be. However, the service server 200 allows the web server 300 to provide a web service without installing a plug-in to the web browser of the user device 100. [ To this end, the service server 200 serves as a medium for delivering the web service provided by the web server 300 between the user device 100 and the web server 300. At this time, the service server 200 connects to the web server 300 instead of the user device 100 and installs the plug-in in advance. When the user device 100 requests the web page of the web server 300, the service server 200 executes the pre-installed plug-in. Accordingly, the service server 200 provides the user device 100 with a web page to which the extension function provided by the plug-in is applied.

다음으로, 전술한 사용자 장치(100), 서비스 서버(200) 및 웹 서버(300) 각각의 구성을 보다 상세히 설명하기로 한다. 먼저, 본 발명의 실시예에 따른 사용자 장치(100)에 대해서 설명하기로 한다. 도 2는 본 발명의 실시예에 따른 사용자 장치의 구성을 설명하기 위한 블록도이다. 도 2를 참조하면, 본 발명의 실시예에 따른 사용자 장치(100)는 통신부(110), 입력부(120), 표시부(130), 저장부(140) 및 제어부(150)를 포함한다. Next, the configurations of the user apparatus 100, the service server 200, and the web server 300 will be described in detail. First, a description will be given of a user apparatus 100 according to an embodiment of the present invention. 2 is a block diagram illustrating a configuration of a user apparatus according to an embodiment of the present invention. 2, a user apparatus 100 according to an embodiment of the present invention includes a communication unit 110, an input unit 120, a display unit 130, a storage unit 140, and a controller 150.

통신부(110)는 서비스 서버(200)와 통신을 위한 것이다. 이러한 통신부(110)는 네트워크 인터페이스가 될 수 있다. 통신부(110)는 유선 통신을 이용하는 경우, 모뎀, 인터페이스 카드, 유무선 랜카드, USB 포트, 시리얼 포트, 패러럴 포트, 데이터 버스 등으로 구성될 수 있다. 또한, 무선 통신을 이용하는 경우, 통신부(110)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신부(110)는 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함할 수 있다. 유선 및 무선 중 어느 하나의 방식을 통해, 통신부(110)는 제어부(150)로부터 메시지, 정보, 데이터 등을 수신하여 서비스 서버(200)로 전송할 수 있다. 또한, 통신부(110)는 서비스 서버(200)로부터 메시지, 정보, 데이터 등을 수신하여 제어부(150)로 전달할 수 있다. The communication unit 110 is for communication with the service server 200. The communication unit 110 may be a network interface. The communication unit 110 may be a modem, an interface card, a wired or wireless LAN card, a USB port, a serial port, a parallel port, a data bus, or the like when wired communication is used. In addition, when wireless communication is used, the communication unit 110 includes an RF (Radio Frequency) transmitter Tx for up-converting and amplifying the frequency of a transmitted signal, an RF receiver (for low noise amplification and down- Rx). The communication unit 110 may include a modem for modulating the transmitted signal and demodulating the received signal. The communication unit 110 may receive messages, information, data, and the like from the control unit 150 and transmit the messages, information, data, and the like to the service server 200 through any one of the wired and wireless methods. The communication unit 110 may receive messages, information, data, and the like from the service server 200 and may transmit the received messages, information, and data to the control unit 150.

입력부(120)는 사용자 장치(100)의 각 종 기능, 동작 등을 제어하기 위한 사용자의 키 조작을 입력받고 입력 신호를 생성하여 제어부(150)에 전달한다. 입력부(120)는 키보드, 마우스 등을 예시할 수 있다. 입력부(120)는 전원 on/off를 위한 전원 키, 문자 키, 숫자 키, 방향키 중 적어도 하나를 포함할 수 있다. 입력부(120)의 기능은 표시부(130)가 터치스크린으로 구현된 경우, 표시부(130)에서 이루어질 수 있으며, 표시부(130)만으로 모든 기능을 수행할 수 있는 경우, 입력부(120)는 생략될 수도 있다. The input unit 120 receives a user's key operation for controlling various functions, operations, and the like of the user device 100, generates an input signal, and transmits the generated input signal to the control unit 150. The input unit 120 may be a keyboard, a mouse, or the like. The input unit 120 may include at least one of a power key, a character key, a number key, and a direction key for power on / off. The function of the input unit 120 may be performed in the display unit 130 when the display unit 130 is implemented as a touch screen and may be omitted if the display unit 130 can perform all functions only have.

표시부(130)는 제어부(150)로부터 화면 표시를 위한 데이터를 수신하여 수신된 데이터를 화면으로 표시할 수 있다. 예컨대, 표시부(130)는 웹브라우저 혹은 애플리케이션 화면을 표시할 수 있다. 또한, 표시부(130)는 사용자 장치(100)의 메뉴, 데이터, 기능 설정 정보 및 기타 다양한 정보를 사용자에게 시각적으로 제공할 수 있다. 표시부(130)가 터치스크린으로 형성되는 경우, 입력부(120)의 기능의 일부 또는 전부를 대신 수행할 수 있다. 표시부(130)는 액정표시장치(LCD, Liquid Crystal Display), 유기 발광 다이오드(OLED, Organic Light Emitting Diodes), 능동형 유기 발광 다이오드(AMOLED, Active Matrix Organic Light Emitting Diodes) 등으로 형성될 수 있다. The display unit 130 may receive data for screen display from the control unit 150 and display the received data on a screen. For example, the display unit 130 may display a web browser or an application screen. In addition, the display unit 130 can visually provide menus, data, function setting information, and various other information of the user apparatus 100 to the user. When the display unit 130 is formed by a touch screen, some or all of the functions of the input unit 120 may be performed instead. The display unit 130 may include a liquid crystal display (LCD), an organic light emitting diode (OLED), and an active matrix organic light emitting diode (AMOLED).

저장부(140)는 사용자 장치(100)의 동작에 필요한 각 종 데이터, 애플리케이션, 사용자 장치(100)의 동작에 따라 발생된 각 종 데이터를 저장하는 역할을 수행한다. 이러한 저장부(140)는 스토리지, 메모리 등이 될 수 있다. 특히, 저장부(140)는 사용자 장치(100)의 부팅(booting) 및 운영(operation)을 위한 운영체제(OS, Operating System), 본 발명의 실시예에 따른 게임을 제공하기 위한 애플리케이션을 저장할 수 있다. 저장부(140)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage unit 140 stores various kinds of data required for the operation of the user apparatus 100, applications, and various kinds of data generated according to the operations of the user apparatus 100. The storage unit 140 may be a storage unit, a memory unit, or the like. In particular, the storage unit 140 may store an operating system (OS) for booting and operation of the user device 100, and an application for providing a game according to an embodiment of the present invention . Each kind of data stored in the storage unit 140 can be deleted, changed or added according to a user's operation.

제어부(150)는 사용자 장치(100)의 전반적인 동작 및 사용자 장치(100)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어부(150)는 중앙 처리 장치(Central Processing Unit : CPU), 애플리케이션 프로세서(Application Processor), GPU(Graphic Processing Unit) 등이 될 수 있다. 이러한 제어부(150)의 동작은 아래에서 보다 상세하게 설명될 것이다. The control unit 150 may control the overall operation of the user device 100 and the signal flow between the internal blocks of the user device 100 and may perform a data processing function of processing the data. The control unit 150 may be a central processing unit (CPU), an application processor, a GPU (Graphic Processing Unit), or the like. The operation of the controller 150 will be described in more detail below.

다음으로, 본 발명의 실시예에 따른 서비스 서버(200)의 구성에 대해서 설명하기로 한다. 도 3은 본 발명의 실시예에 따른 서비스 서버의 구성을 설명하기 위한 블록도이다. 도 3을 참조하면, 본 발명의 실시예에 따른 서비스 서버(200)는 통신모듈(210), 저장모듈(220) 및 제어모듈(230)을 포함한다. Next, the configuration of the service server 200 according to the embodiment of the present invention will be described. 3 is a block diagram illustrating a configuration of a service server according to an embodiment of the present invention. 3, the service server 200 according to an embodiment of the present invention includes a communication module 210, a storage module 220, and a control module 230.

통신모듈(210)은 웹 서버(300) 혹은 사용자 장치(100)와 통신을 위한 장치이다. 이러한 통신모듈(210)은 네트워크 인터페이스가 될 수 있다. 이러한 통신모듈(210)은 유선 통신을 이용하는 경우, 모뎀, 인터페이스 카드, 유무선 랜카드, USB 포트, 시리얼 포트, 패러럴 포트, 데이터 버스 등으로 구성될 수 있다. 또한, 무선 통신을 이용하는 경우, 통신모듈(210)은 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF(Radio Frequency) 송신기(Tx) 및 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기(Rx)를 포함할 수 있다. 그리고 통신모듈(210)은 송신되는 신호를 변조하고, 수신되는 신호를 복조하는 모뎀(Modem)을 포함할 수 있다. 유선 및 무선 중 어느 하나의 방식을 통해, 통신모듈(210)은 제어모듈(230)로부터 각종 메시지, 정보, 데이터 등을 수신하여, 사용자 장치(100)로 전송할 수 있다. 또한, 통신모듈(210)은 사용자 장치(100) 혹은 웹 서버(300)로부터 각종 메시지, 정보, 데이터 등을 수신하여, 제어모듈(230)에 전달할 수 있다. The communication module 210 is a device for communicating with the web server 300 or the user device 100. The communication module 210 may be a network interface. The communication module 210 may be a modem, an interface card, a wired or wireless LAN card, a USB port, a serial port, a parallel port, a data bus, or the like when wired communication is used. When using wireless communication, the communication module 210 includes an RF (Radio Frequency) transmitter (Tx) for up-converting and amplifying the frequency of a transmitted signal, an RF receiver (not shown) for low- (Rx). The communication module 210 may include a modem for modulating the transmitted signal and demodulating the received signal. The communication module 210 can receive various messages, information, data, and the like from the control module 230 and transmit the messages, information, data, and the like to the user device 100 through any one of wired and wireless communication. The communication module 210 may receive various messages, information, data, and the like from the user device 100 or the web server 300 and may transmit the messages, information, and data to the control module 230.

저장모듈(220)은 서비스 서버(200)의 동작에 필요한 각 종 데이터, 애플리케이션, 서비스 서버(200)의 동작에 따라 발생된 각 종 데이터를 저장하는 역할을 수행한다. 여기서, 애플리케이션은 웹 서버(300)에 접속하여 해당 웹 서버(300)가 제공하는 웹 페이지를 표시하는 웹브라우저 및 해당 웹 서버(300)에서 제공하는 플러그인을 포함한다. 또한, 저장모듈(220)은 서비스 서버(200)의 부팅(booting) 및 운영(operation)을 위한 운영체제(OS, Operating System)을 저장할 수 있다. 이러한 저장모듈(220)은 스토리지, 메모리 등이 될 수 있다. 저장모듈(220)에 저장되는 각 종 데이터는 사용자의 조작에 따라, 삭제, 변경, 추가될 수 있다. The storage module 220 stores each kind of data required for the operation of the service server 200, each application, and each kind of data generated according to the operation of the service server 200. The application includes a web browser that accesses the web server 300 and displays a web page provided by the web server 300, and a plug-in provided from the web server 300. The storage module 220 may store an operating system (OS) for booting and operation of the service server 200. Such a storage module 220 may be storage, memory, or the like. Each kind of data stored in the storage module 220 can be deleted, changed, or added according to a user's operation.

제어모듈(230)은 서비스 서버(200)의 전반적인 동작 및 서비스 서버(200)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어모듈(230)은 중앙 처리 장치(Central Processing Unit : CPU), 애플리케이션 프로세서(Application Processor), GPU(Graphic Processing Unit) 등이 될 수 있다. The control module 230 may control the overall operation of the service server 200 and the signal flow between the internal blocks of the service server 200 and may perform a data processing function for processing the data. The control module 230 may be a central processing unit (CPU), an application processor, a GPU (Graphic Processing Unit), or the like.

제어모듈(230)은 웹 서버(300)에 미리 접속하여 플러그인을 다운로드 받고, 다운로드 받은 플러그인을 웹브라우저에 추가 기능 혹은 부가 기능으로 설치한다. 이러한 제어모듈(230)의 동작은 아래에서 보다 상세하게 설명될 것이다. The control module 230 accesses the web server 300 in advance to download the plug-in, and installs the downloaded plug-in as an additional function or an additional function in the web browser. The operation of this control module 230 will be described in more detail below.

다음으로, 본 발명의 실시예에 따른 웹 서버(300)의 구성에 대해서 설명하기로 한다. 도 4는 본 발명의 실시예에 따른 웹 서버의 구성을 설명하기 위한 블록도이다. 도 4를 참조하면, 본 발명의 실시예에 따른 웹 서버(300)는 통신유닛(310), 저장유닛(320) 및 제어유닛(330)을 포함한다. Next, the configuration of the web server 300 according to the embodiment of the present invention will be described. 4 is a block diagram illustrating a configuration of a web server according to an embodiment of the present invention. 4, a web server 300 according to an embodiment of the present invention includes a communication unit 310, a storage unit 320, and a control unit 330. [

통신유닛(310)은 서비스 서버(200)와 통신을 위한 장치이다. 이러한 통신유닛(310)은 네트워크 인터페이스가 될 수 있다. 이러한 통신유닛(310)은 유선 통신을 이용하는 경우, 모뎀, 인터페이스 카드, 유무선 랜카드, USB 포트, 시리얼 포트, 패러럴 포트, 데이터 버스 등으로 구성될 수 있다. 통신유닛(310)은 제어유닛(330)로부터 각종 메시지, 정보, 데이터 등을 수신하여, 서비스 서버(200)로 전송할 수 있다. 또한, 통신유닛(310)은 서비스 서버(200)로부터 각종 메시지, 정보, 데이터 등을 수신하여, 제어유닛(330)에 전달할 수 있다. The communication unit 310 is a device for communication with the service server 200. Such communication unit 310 may be a network interface. The communication unit 310 may be a modem, an interface card, a wired or wireless LAN card, a USB port, a serial port, a parallel port, a data bus, or the like when wired communication is used. The communication unit 310 may receive various messages, information, data, and the like from the control unit 330 and may transmit the message, information, and data to the service server 200. In addition, the communication unit 310 may receive various messages, information, data, and the like from the service server 200, and may transmit the messages, information, and data to the control unit 330.

저장유닛(320)은 웹 서버(300)의 웹 서비스 제공을 위해 필요한 각 종 데이터, 애플리케이션, 웹 서버(300)의 동작에 따라 발생된 각 종 데이터를 저장하는 역할을 수행한다. 예컨대, 이러한 데이터는 웹 페이지와 웹 페이지에 표시되는 데이터, 테이블 값 등이 될 수 있다. 또한, 애플리케이션은 웹 서비스 제공을 위해 필요한 플러그인을 포함한다. 이러한 저장유닛(320)은 스토리지, 메모리 등이 될 수 있다. 또한, 저장유닛(320)은 웹 서버(300)의 부팅(booting) 및 운영(operation)을 위한 운영체제(OS, Operating System)를 저장할 수 있다. The storage unit 320 stores each kind of data required for providing the web service of the web server 300, each application, and each kind of data generated according to the operation of the web server 300. For example, such data may be data displayed on web pages and web pages, table values, and the like. In addition, the application includes a plug-in required for providing a web service. This storage unit 320 may be storage, memory, or the like. The storage unit 320 may store an operating system (OS) for booting and operation of the web server 300.

제어유닛(330)은 웹 서버(300)의 전반적인 동작 및 웹 서버(300)의 내부 블록들 간 신호 흐름을 제어하고, 데이터를 처리하는 데이터 처리 기능을 수행할 수 있다. 이러한 제어유닛(330)은 중앙 처리 장치(Central Processing Unit : CPU), 애플리케이션 프로세서(Application Processor), GPU(Graphic Processing Unit) 등이 될 수 있다. 이러한 제어유닛(330)의 동작은 아래에서 보다 상세하게 설명될 것이다. The control unit 330 can perform a data processing function of controlling the overall operation of the web server 300 and the signal flow between the internal blocks of the web server 300 and processing the data. The control unit 330 may be a central processing unit (CPU), an application processor, a GPU (Graphic Processing Unit), or the like. The operation of this control unit 330 will be described in more detail below.

다음으로, 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 방법에 대해서 설명하기로 한다. 도 5는 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 방법을 설명하기 위한 흐름도이다. 도 6은 본 발명의 실시예에 따른 웹 서비스를 제공하기 위한 방법을 설명하기 위한 도면이다. Next, a method for providing a web service according to an embodiment of the present invention will be described. 5 is a flowchart illustrating a method for providing a web service according to an embodiment of the present invention. 6 is a diagram illustrating a method for providing a web service according to an embodiment of the present invention.

도 6에서 복수의 사용자 장치(100) 및 복수의 웹 서버(300)가 도시되었다. 기본적으로, 어느 하나의 사용자 장치(100)가 어느 하나의 웹 서버(300)의 웹 서비스를 서비스 서버(200)를 통해 제공받는 프로세스에 대해서 설명할 것이지만, 복수의 사용자 장치(100)는 복수의 웹 서버(300)가 제공하는 웹 서비스를 서비스 서버(200)를 통해 제공 받을 수 있음을 이해할 수 있을 것이다. A plurality of user devices 100 and a plurality of web servers 300 are shown in Fig. Basically, a process in which a user apparatus 100 receives a web service of one of the web servers 300 through the service server 200 will be described. However, the plurality of user apparatuses 100 may include a plurality of It will be understood that the web service provided by the web server 300 may be provided through the service server 200. [

도시된 바와 같이, 서비스 서버(200)의 제어모듈(230)은 S110 단계에서 통신모듈(210)을 통해 웹 서버(300)에 접속하여, 웹 서버(300)로부터 플러그인 설치 파일을 수신할 수 있다. 그러면, 서비스 서버(200)의 제어모듈(230)은 S120 단계에서 가상의 컴퓨터 객체(이미지)를 구성하여 가상의 컴퓨터 객체에 플러그인을 설치한다. As shown in the figure, the control module 230 of the service server 200 can access the web server 300 through the communication module 210 in step S110 and receive the plug-in installation file from the web server 300 . Then, in step S120, the control module 230 of the service server 200 constructs a virtual computer object (image) and installs the plug-in on the virtual computer object.

사용자 장치(100)의 제어부(150)는 통신부(110)를 통해 서비스 서버(200)에 접속하여, 인증을 수행하여 사용 권한을 얻을 수 있다. 이러한 인증은 미리 등록된 아이디 및 패스워드를 통해 이루어질 수 있다. 사용자 장치(100)가 서비스 서버(200)에 의해 인증되면, S130 단계에서 사용자 장치(100)와 서비스 서버(200)는 상호간에 네트워크 연결을 수립한다. 이때, 기본적으로, 사용자 장치(100)와 서비스 서버(200)간에 송수신되는 데이터의 보안을 위해 터널링 기법에 의해 사용자 장치(100)와 서비스 서버(200)가 전송하는 데이터 패킷이 보호되도록 설정할 수 있다. The control unit 150 of the user device 100 may access the service server 200 through the communication unit 110 and perform authentication to obtain the usage right. Such authentication may be performed through a pre-registered ID and password. When the user device 100 is authenticated by the service server 200, the user device 100 and the service server 200 establish a network connection with each other in step S130. Basically, the data packets transmitted by the user apparatus 100 and the service server 200 may be protected by the tunneling technique in order to secure data transmitted between the user apparatus 100 and the service server 200 .

특히, 서비스 서버(200)의 제어모듈(230)은 하나의 사용자 장치(100)에 대응하여 저장모듈(220)에 메모리 공간을 할당하고, 할당된 메모리를 통해 가상의 컴퓨터 객체를 인스탄스화한다. 이 인스탄스는 웹 서버가 제공하는 플러그인이 설치된 가상 컴퓨터를 의미한다. 제어모듈(230)의 사용자 장치(100)와 상호작용하는 모든 동작은 이 인스탄스가 동작하는 것을 의미한다. 따라서 이 기술분야에서 통상의 지식을 가진자는 이하의 설명에서 사용자 장치(100)와 상호작용하는 모든 동작이 인스탄스의 기능에 의한 것임을 이해할 수 있을 것이다. 이에 따라, S140 단계 내지 S180 단계의 제어모듈(230)의 동작은 가상 컴퓨터(인스탄스)의 동작이 될 수 있다. 즉, 입력은 사용자 장치(100)에서 이루어지고, 입력에 따른 프로세스는 제어모듈(230)의 동작, 즉, 가상 컴퓨터(인스탄스)의 동작이 될 수 있다. 또한, 이러한 프로세스를 거쳐 생성되는 제어모듈(230)의 출력, 즉, 가상 컴퓨터(인스탄스)의 출력은 사용자 장치(100)에 제공될 것이다. In particular, the control module 230 of the service server 200 allocates a memory space to the storage module 220 corresponding to one user device 100, and instantiates a virtual computer object through the allocated memory . This instance refers to the virtual machine where the plug-in provided by the Web server is installed. Any operation that interacts with the user device 100 of the control module 230 means that this instance is operating. Those of ordinary skill in the art will therefore appreciate that in the following description, all operations that interact with the user device 100 are due to the functionality of the instance. Accordingly, the operation of the control module 230 in steps S140 to S180 may be the operation of the virtual machine (Instance). That is, the input is performed in the user device 100, and the process according to the input may be the operation of the control module 230, that is, the operation of the virtual computer (instantaneous). In addition, the output of the control module 230, that is, the output of the virtual machine (instantaneous), generated through this process will be provided to the user device 100.

제어모듈(230)은 사용자 수가 급격히 증가하거나 감소할 경우, 서비스 수요를 예측하여 작동시켜야 할 인스탄스 수를 자동으로 조절할 수 있다. 항상 인스탄스를 작동시켜서 대기하는 것이 아니기 때문에 인스탄스 작동에 따르는 비용을 절감할 수 있다. 사용자 수가 증가할 경우, 리소스(메모리)를 추가로 할당하여 서버를 추가로 작동시켜 인스탄스를 생성하는 방식이기 때문에 사용자 수가 급격히 증가하더라도 시스템 과부하에 따른 서비스 중단 또는 지연 등의 소비자 불편을 예방 할 수 있다. 특히, S130 단계에서 서비스 서버(200)의 제어모듈(230)은 사용자 장치(100)를 동일한 로컬 네트워크에 속하는 디바이스로 설정한다. 또한, 이러한 네트워크 설정 시, 서비스 서버(200)의 제어모듈(230)은 도 6에 보인 바와 같이, 사용자 장치(100)에 대해 '읽기(Read)' 할 수 있는 권한이 부여되지만, '쓰기(Write)'할 수 있는 권한은 부여되지 않는다. 이는 서비스 서버(200)가 웹 서버(300)에 대해 '읽기(Read)' 및 '쓰기(Write)'를 모두 할 수 있는 것과는 대조적이다. 이러한 설정에 따라, 서비스 서버(200)의 제어모듈(230)은 사용자 장치(100)의 하드웨어 드라이버에 접근할 수 있다. 구체적인 예를 들면, 서비스 서버(200)의 제어모듈(230)은 사용자 장치(100)의 USB 포트에 연결된 USB 방식으로 연결된 저장매체의 데이터, 사용자 장치(100)의 저장부(140)에 저장된 데이터를 검색할 수 있다. 이러한 데이터는 예컨대, 공인인증서가 될 수 있다. 이는 가상 컴퓨터(인스탄스)가 사용자 장치(100)의 USB 포트를 이용할 수 있도록 하는 것을 의미한다. 또한, 사용자 장치(100)와 직접 혹은 로컬 네트워크로 연결된 프린터로 데이터를 전달하여 사용자 장치(100)가 로컬 프린터의 경우에만 인쇄를 허용하는 공공기관의 웹 페이지의 내용을 인쇄하도록 할 수 있다. 이는 가상 컴퓨터(인스탄스)가 사용자 장치(100)와 직접 혹은 로컬 네트워크로 연결된 프린터를 이용할 수 있도록 하는 것을 의미한다. The control module 230 can automatically adjust the number of instances to be operated by predicting service demand when the number of users is rapidly increased or decreased. Because it is not always waiting for the instans to operate, you can save on the costs associated with instancing. If the number of users increases, the system allocates additional resources (memory) to operate the server to generate instance. Therefore, even if the number of users increases suddenly, it is possible to prevent consumer inconvenience such as service interruption or delay due to system overload have. In particular, in step S130, the control module 230 of the service server 200 sets the user device 100 as a device belonging to the same local network. 6, the control module 230 of the service server 200 is given a right to 'read' the user device 100, Write 'is not granted. This is in contrast to the case where the service server 200 can perform both 'Read' and 'Write' to the Web server 300. According to this setting, the control module 230 of the service server 200 can access the hardware driver of the user device 100. [ For example, the control module 230 of the service server 200 receives data of a USB-connected storage medium connected to the USB port of the user device 100, data stored in the storage unit 140 of the user device 100 Can be searched. Such data may be, for example, a public certificate. This means that the virtual computer (Instance) can use the USB port of the user device 100. In addition, the data may be transmitted to the user device 100 through a printer connected directly or through a local network, so that the user device 100 may print the contents of a web page of a public entity that permits printing only in the case of a local printer. This means that a virtual computer (Instance) can use a printer connected to the user apparatus 100 directly or via a local network.

네트워크 연결을 설정한 후, 사용자의 입력에 따라, 사용자 장치(100)의 제어부(150)는 S140 단계에서 웹 서비스를 요청한다. 그러면, 서비스 서버(200)의 제어모듈(230)은 S150 단계에서 사용자 장치(100)의 웹 서비스 요청을 웹 서버(300)로 전달한다. 이는 가상 컴퓨터가 사용자 장치(100)의 입력에 의해 웹 서버(300)에 웹 서비스를 요청하는 것을 의미한다. After establishing the network connection, the control unit 150 of the user device 100 requests the web service in step S140 according to the input of the user. Then, the control module 230 of the service server 200 delivers the web service request of the user device 100 to the web server 300 in step S150. This means that the virtual computer requests the Web server 300 for the Web service by the input of the user device 100. [

웹 서버(300)는 S160 단계에서 해당하는 웹 서비스를 제공하기 위해 필요한 데이터를 서비스 서버(200)로 전달한다. 웹 서비스를 제공하기 위해 필요한 데이터(이하, '웹 서비스 데이터'로 칭함)는 웹 페이지를 구성하기 위한 데이터, 웹 페이지의 추가 기능을 실행하기 위해 플러그인에서 실행되는 데이터를 포함한다. In step S160, the web server 300 transmits data necessary for providing the corresponding web service to the service server 200. [ Data required to provide a web service (hereinafter referred to as " web service data ") includes data for constituting a web page, data executed in the plug-in to execute additional functions of the web page.

웹 서비스 데이터를 수신한 서비스 서버(200)는 S160 단계에서 플러그인이 실행되는 웹 페이지를 생성한다. 즉, 가상 컴퓨터(인스탄스)는 플러그인이 실행되는 웹 페이지를 생성한다. 가상 컴퓨터(인스탄스)는 플러그인이 설치되어 있기 때문에 새로 플러그인을 설치하지 않고, 웹 페이지를 생성할 수 있다. The service server 200 receiving the web service data generates a web page in which the plug-in is executed in step S160. That is, the virtual machine (Instance) creates a web page on which the plug-in is executed. Because the virtual machine (Instance) has a plug-in installed, you can create a web page without installing a new plug-in.

그런 다음, 서비스 서버(200)의 제어모듈(230)은 S170 단계에서 통신모듈(210)을 통해 플러그인이 실행된 웹 페이지를 사용자 장치(100)에 제공한다. 이에 따라, 사용자 장치(100)의 제어부(150)는 서비스 서버(200)가 제공하는 플러그인이 실행되는 웹 페이지를 표시부(130)를 통해 표시할 수 있다. Then, the control module 230 of the service server 200 provides the web page on which the plug-in is executed through the communication module 210 to the user device 100 in step S170. Accordingly, the control unit 150 of the user device 100 can display the web page on which the plug-in provided by the service server 200 is executed through the display unit 130. [

그리고 제어부(150)는 S180 단계에서 서비스 서버(200)가 제공하는 플러그인이 실행되는 웹 페이지를 통해 서비스 서버(200)를 거쳐 웹 서버(300)의 웹 서비스를 제공받을 수 있다. In step S180, the control unit 150 may receive the web service of the web server 300 through the service server 200 through the web page on which the plug-in provided by the service server 200 is executed.

예를 들면, 웹 서버(300)가 은행에서 운영하는 인터넷 뱅킹을 위한 것이라고 가정한다. 인터넷 뱅킹을 시작하기 위해서는 우선 사용자 본인임을 인증하여야 한다. 이에 따라, 서비스 서버(200)의 제어모듈(230)은 인터넷 뱅킹에 로그인하기 위하여 공인인증서를 통해 인증을 수행하기 위한 인증용 플러그인을 실행한다. 서비스 서버(200)에서 실행된 인증용 플러그인은 서비스 서버(200)의 로컬 네트워크에 위치한 사용자 장치(100)의 저장부(140) 혹은 사용자 장치(100)와 연결된 저장매체의 공인인증서를 검색할 수 있다. 이에 따라, 사용자는 인증용 플러그인에 사용자 장치(100)의 입력부(120)를 통해 필요한 사항(예컨대, 패스워드 등)을 입력을 하면, 이러한 공인인증서, 필요한 사항 등은 서비스 서버(200)의 가상 컴퓨터(인스탄스)를 통해 웹 서버(300)로 전달된다. 그러면, 웹 서버(300)는 이러한 공인인증서 및 필요한 사항을 통해 사용자를 인증할 수 있다. 사용자가 인증되면, 서비스 서버(200)의 가상 컴퓨터(인스탄스)는 인터넷 뱅킹을 위해 계좌를 조회하거나, 계좌의 잔액을 이체하기 위한 가상통장 플러그인을 웹 페이지 상에서 실행할 수 있다. 가상통장 플러그인이 실행된 웹 페이지는 사용자 장치(100)로 전달되어 표시될 수 있다. 표시된 가상통장 플러그인을 보고, 사용자는 사용자 장치(100)의 입력부(120)를 통해 필요한 입력을 하면, 제어부(150)는 이러한 입력을 서비스 서버(200)로 전달하고, 서비스 서버(200)의 가상 컴퓨터(인스탄스)에서 실행되고 있는 플러그인은 이 입력을 웹 서버(300)로 전달한다. 그러면, 웹 서버(300)는 그 입력에 상응하는 데이터를 서비스 서버(200)에 전달하면, 서비스 서버(200)의 제어모듈(230), 즉, 서비스 서버(200)의 가상 컴퓨터(인스탄스)는 플러그인을 통해 해당 데이터를 실행시킨다. 이러한 방식으로 사용자는 계좌를 조회하거나, 계좌 이체 등의 인터넷 뱅킹을 할 수 있다. For example, it is assumed that the web server 300 is for banking operated by a bank. To start Internet banking, you must first authenticate yourself. Accordingly, the control module 230 of the service server 200 executes the plug-in for authentication for performing the authentication through the public certificate in order to log in to the Internet banking. The authentication plug-in executed in the service server 200 can search the storage unit 140 of the user device 100 located in the local network of the service server 200 or the authorized certificate of the storage medium connected to the user device 100 have. Accordingly, when the user inputs necessary information (for example, a password or the like) through the input unit 120 of the user device 100 to the authentication plug-in, the authorized certificate, necessary information, (Instance) to the Web server 300. Then, the web server 300 can authenticate the user through such an authorized certificate and necessary information. When the user is authenticated, the virtual computer (Instance) of the service server 200 can execute a virtual passbook plug-in on the web page to inquire an account for Internet banking or to transfer the balance of the account. The web page on which the virtual passbook plug-in is executed can be transferred to the user device 100 and displayed. When the user looks at the displayed virtual passbook plug-in and the user inputs necessary input through the input unit 120 of the user device 100, the control unit 150 transfers the input to the service server 200, The plug-in running on the computer (Instance) transfers this input to the Web server 300. When the web server 300 transmits data corresponding to the input to the service server 200, the control module 230 of the service server 200, that is, the virtual computer (instance) of the service server 200, Executes the corresponding data through the plug-in. In this way, the user can view the account, or perform Internet banking, such as transferring the account.

전술한 인터넷 뱅킹은 웹 서비스의 일례이며, 전술한 예외에도, 다양한 웹 서비스가 전술한 방식으로 제공될 수 있다. 즉, 실제로 서비스 서버(200)가 플러그인을 실행시키고, 사용자 장치(100)는 플러그인을 다운받거나, 실행시키지 않고, 단지 그 실행되는 화면을 표시할 뿐이며, 사용자 장치(100)는 웹 서비스를 제공받기 위해 필요한 입력값을 사용자로부터 입력 받아 서비스 서버(200)에 제공하면, 서비스 서버(200)는 그 입력값에 상응하는 데이터를 웹 서버(300)로부터 수신하고, 그 데이터를 플러그인에 입력하여 결과를 출력한다. The above-described Internet banking is an example of a web service, and various web services can be provided in the above-described manner, even in the above-mentioned exception. That is, in reality, the service server 200 executes the plug-in, and the user device 100 merely displays the screen to be executed without downloading or executing the plug-in, and the user device 100 receives the web service The service server 200 receives data corresponding to the input value from the web server 300, inputs the input data to the plug-in, and outputs the result Output.

한편, 전술한 바와 같이, 웹 서비스를 제공하는 중, S190 단계에서 사용자의 선택에 의한 입력(예컨대, 로그아웃)과 같은 정상적인 경우뿐만 아니라, 네트워크 연결 실패, 사용자 장치(100)로부터의 입력이 소정 시간 동안 없는 경우, 웹 서버(300)로부터 연결 시간이 초과된 경우 등의 비정상적인 경우에 웹 서비스가 종료될 수 있다. 웹 서비스가 종료되면, 서비스 서버(200)의 제어모듈(230)은 S200 단계에서 인스탄스 생성을 위한 위해 할당된 메모리의 할당을 해제한다. 이에 따라, 사용자 장치(100)에 대한 정보가 모두 소거된다. 이와 같이, 플러그인이 가상 컴퓨터(인스탄스)에서 실행되고, 사용자 장치(100)는 단순히 플러그인의 실행 화면을 표시하기 때문에 사용자 장치(100)에 악성 코드, 해킹 툴 등을 설치할 수 없다. 각 인스탄스는 기존에 설치된 프로그램 또는 플러그인만 사용이 가능하며, 추가적인 설치는 불가능하므로 악성코드나 해킹 툴 등에 대한 설치가 불가능하기 때문에 악성파일이나 해킹의 위협으로부터 안전하다. Meanwhile, as described above, during the provision of the web service, not only the normal case such as the input (e.g., logout) by the user's selection at step S190, but also the failure of the network connection, The web service may be terminated in an abnormal case such as a case where the connection time is exceeded from the web server 300 or the like. When the web service is terminated, the control module 230 of the service server 200 cancels the allocation of the allocated memory for the instance generation in step S200. Thus, all information on the user device 100 is erased. As described above, since the plug-in is executed in the virtual machine (Instance), and the user device 100 simply displays the execution screen of the plug-in, malicious code, a hacking tool, and the like can not be installed in the user device 100. Each Instance can only be installed using existing programs or plug-ins, and can not be installed any more, so it is not possible to install malicious code or hacking tools, so it is safe from malicious files or hacking threats.

한편, 앞서 설명된 본 발명의 실시예에 따른 방법은 다양한 컴퓨터수단을 통하여 판독 가능한 프로그램 형태로 구현되어 컴퓨터로 판독 가능한 기록매체에 기록될 수 있다. 여기서, 기록매체는 프로그램 명령, 데이터 파일, 데이터구조 등을 단독으로 또는 조합하여 포함할 수 있다. 기록매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 예컨대 기록매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광 기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함한다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 와이어뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 와이어를 포함할 수 있다. 이러한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다. Meanwhile, the method according to the embodiment of the present invention described above can be implemented in a form of a program readable by various computer means and recorded in a computer-readable recording medium. Here, the recording medium may include program commands, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on a recording medium may be those specially designed and constructed for the present invention or may be available to those skilled in the art of computer software. For example, the recording medium may be a magnetic medium such as a hard disk, a floppy disk and a magnetic tape, an optical medium such as a CD-ROM or a DVD, a magneto-optical medium such as a floppy disk magneto-optical media, and hardware devices that are specially configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions may include machine language wires such as those produced by a compiler, as well as high-level language wires that may be executed by a computer using an interpreter or the like. Such a hardware device may be configured to operate as one or more software modules to perform the operations of the present invention, and vice versa.

이상 본 발명을 몇 가지 바람직한 실시예를 사용하여 설명하였으나, 이들 실시예는 예시적인 것이며 한정적인 것이 아니다. 이와 같이, 본 발명이 속하는 기술분야에서 통상의 지식을 지닌 자라면 본 발명의 사상과 첨부된 특허청구범위에 제시된 권리범위에서 벗어나지 않으면서 균등론에 따라 다양한 변화와 수정을 가할 수 있음을 이해할 것이다. While the present invention has been described with reference to several preferred embodiments, these embodiments are illustrative and not restrictive. It will be understood by those skilled in the art that various changes and modifications may be made without departing from the spirit of the invention and the scope of the appended claims.

100: 사용자 장치 110: 통신부
120: 입력부 130: 표시부
140: 저장부 150: 제어부
200: 서비스 서버 210: 통신모듈
220: 저장모듈 230: 제어모듈
300: 웹 서버 310: 통신모듈
320: 저장모듈 330: 제어모듈
100: user equipment 110: communication unit
120: input unit 130: display unit
140: storage unit 150: control unit
200: service server 210: communication module
220: storage module 230: control module
300: Web server 310: Communication module
320: storage module 330: control module

Claims (3)

플러그인 설치 없이 웹 서비스를 제공하기 위한 장치에 있어서,
통신을 위한 통신모듈;
데이터 저장을 위한 저장모듈; 및
웹 서버가 제공하는 플러그인을 미리 다운로드하여 가상의 컴퓨터 객체에 플러그인을 설치하고, 사용자 장치의 접속이 있으면 상기 사용자 장치에 대응하여 상기 저장모듈에 소정의 메모리를 할당하여 가상의 컴퓨터 객체를 인스탄스화하여 플러그인이 설치된 가상의 컴퓨터를 생성하고, 상기 사용자 장치의 요청이 있으면, 가상의 컴퓨터에서 플러그인이 실행되는 웹 페이지를 생성하고, 생성된 웹 페이지를 상기 통신모듈을 통해 상기 사용자 장치에 제공하는 제어모듈;을 포함하는 것을 특징으로 하는 웹 서비스를 제공하기 위한 장치.
An apparatus for providing a web service without installing a plug-in,
A communication module for communication;
A storage module for storing data; And
A plug-in provided by a web server is downloaded in advance, a plug-in is installed in a virtual computer object, and if there is a connection of a user device, a predetermined memory is allocated to the storage module corresponding to the user device, To generate a web page in which a plug-in is executed in a virtual computer, and to provide the generated web page to the user device through the communication module when a request is made by the user device And a module for providing the web service.
플러그인 설치 없이 웹 서비스를 제공하기 위한 방법에 있어서,
웹 서버가 제공하는 플러그인을 미리 다운로드하여 가상의 컴퓨터 객체에 플러그인을 설치하는 단계;
사용자 장치의 접속이 있으면 상기 사용자 장치에 대응하여 소정의 메모리를 할당하여 가상의 컴퓨터 객체를 인스탄스화하여 플러그인이 설치된 가상의 컴퓨터를 생성하는 단계; 및
상기 사용자 장치의 요청이 있으면, 가상의 컴퓨터에서 플러그인이 실행되는 웹 페이지를 생성하고, 생성된 웹 페이지를 상기 통신모듈을 통해 상기 사용자 장치에 제공하는 단계;를 포함하는 것을 특징으로 하는 웹 서비스를 제공하기 위한 방법.
A method for providing a web service without installing a plug-in,
Downloading the plug-in provided by the web server in advance and installing the plug-in in the virtual computer object;
If a user apparatus is connected, allocating a predetermined memory corresponding to the user apparatus, instantiating a virtual computer object to create a virtual computer in which a plug-in is installed; And
Generating a web page in which a plug-in is executed in a virtual computer when a request is made from the user device, and providing the generated web page to the user device via the communication module; Methods for providing.
제2항에 따른 웹 서비스를 제공하기 위한 방법을 실행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium on which a program for executing a method for providing a web service according to claim 2 is recorded.
KR1020160092939A 2016-07-21 2016-07-21 Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method KR20180010606A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160092939A KR20180010606A (en) 2016-07-21 2016-07-21 Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160092939A KR20180010606A (en) 2016-07-21 2016-07-21 Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method

Publications (1)

Publication Number Publication Date
KR20180010606A true KR20180010606A (en) 2018-01-31

Family

ID=61083402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160092939A KR20180010606A (en) 2016-07-21 2016-07-21 Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method

Country Status (1)

Country Link
KR (1) KR20180010606A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413186A (en) * 2018-10-31 2019-03-01 Oppo广东移动通信有限公司 Application program update method, terminal, server and system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109413186A (en) * 2018-10-31 2019-03-01 Oppo广东移动通信有限公司 Application program update method, terminal, server and system

Similar Documents

Publication Publication Date Title
CN109155781B (en) Dynamic access to managed applications
US8639814B2 (en) Electronic apparatus, virtual machine providing apparatus, and method of using virtual machine service
US10055231B1 (en) Network-access partitioning using virtual machines
EP2462532B1 (en) Application authentication system and method
US11656882B2 (en) Instant virtual application launch
EP3370449B1 (en) Method and device for configuring security indication information
US20110145592A1 (en) Virtual Token for Transparently Self-Installing Security Environment
CN107430669B (en) Computing system and method
CN103944890A (en) Virtual interaction system and method based on client/server mode
CN102821085A (en) Third party authorization login method, open platform and system
GB2492448A (en) Hooking screen rendering instructions to secure virtual machine execution environment
KR101453742B1 (en) Security providing method and device for executing of mobile Web application
US20130104220A1 (en) System and method for implementing a secure USB application device
US11095459B2 (en) Automatic generation of app-specific client certification
JP2013065114A (en) Control method of information processing system, control program of relay device and control program of client device
KR101259824B1 (en) System of inputting password for mobile device using secure operating system and method thereof
WO2021126329A1 (en) Context-aware obfuscation and unobfuscation of sensitive content
US9251362B2 (en) Medium for storing control program, client apparatus, and control method for client apparatus
CN112966257B (en) Authorization method and device for application program
KR20180010606A (en) Apparatus for providing web service without installation of plug-in, method thereof and computer recordable medium storing the method
EP3085007B1 (en) Push-based trust model for public cloud applications
Catuogno et al. Smartk: Smart cards in operating systems at kernel level
Nazar et al. Rooting Android–Extending the ADB by an auto-connecting WiFi-accessible service
Kettula Security Comparison of Mobile OSes
KR101351243B1 (en) Method and system for application authentication

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application