KR101181879B1 - Method and system for providing web service by using middleware plug-in - Google Patents

Method and system for providing web service by using middleware plug-in Download PDF

Info

Publication number
KR101181879B1
KR101181879B1 KR1020080131438A KR20080131438A KR101181879B1 KR 101181879 B1 KR101181879 B1 KR 101181879B1 KR 1020080131438 A KR1020080131438 A KR 1020080131438A KR 20080131438 A KR20080131438 A KR 20080131438A KR 101181879 B1 KR101181879 B1 KR 101181879B1
Authority
KR
South Korea
Prior art keywords
application
web browser
application program
web
window area
Prior art date
Application number
KR1020080131438A
Other languages
Korean (ko)
Other versions
KR20100072895A (en
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 KR1020080131438A priority Critical patent/KR101181879B1/en
Publication of KR20100072895A publication Critical patent/KR20100072895A/en
Application granted granted Critical
Publication of KR101181879B1 publication Critical patent/KR101181879B1/en

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/83Querying
    • 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/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

인터넷 상으로 수신되는 웹 페이지를 사용자에게 제공하는 웹 브라우저에 플러그인되어 상기 웹 페이지와 연관된 응용프로그램을 제어하는 시스템 및 방법이 제공된다. 본 발명의 웹 서비스 제공 시스템 또는 방법은 웹 브라우저에 플러그인 되어 웹 브라우저와 연동하여 동작하는 응용프로그램을 웹 브라우저와 별도의 프로세스에서 구동시키고, 웹 브라우저 및 상기 응용프로그램이 서로 데이터를 주고 받을 수 있도록 한다. 본 발명의 웹 서비스 제공 시스템 및 방법은 응용프로그램의 상태를 점검하여 오동작하거나 비정상종료되는 경우 상기 응용프로그램을 다시 구동시킬 수 있다. 따라서, 본 발명에 따르면 웹 브라우저와 연동하여 동작하는 응용프로그램이 오동작하거나 비정상종료되는 경우에도 웹 브라우저를 정상적으로 사용할 수 있는 효과가 있다.

Figure R1020080131438

웹 브라우저, 플러그인, 미들웨어, 웹 서비스, PLUG-IN, MIDDLEWARE

A system and method are provided that plug into a web browser that provides a web page received over the Internet to a user to control an application associated with the web page. The web service providing system or method of the present invention plugs into a web browser and runs an application program that operates in conjunction with the web browser in a separate process from the web browser, so that the web browser and the application program can exchange data with each other. . The web service providing system and method of the present invention may check the state of an application and re-run the application if it malfunctions or is abnormally terminated. Therefore, according to the present invention, even when an application program operating in conjunction with a web browser malfunctions or abnormally terminates, the web browser can be normally used.

Figure R1020080131438

Web Browsers, Plug-ins, Middleware, Web Services, PLUG-IN, MIDDLEWARE

Description

미들웨어 플러그인을 이용한 웹 서비스 제공 방법 및 시스템. {METHOD AND SYSTEM FOR PROVIDING WEB SERVICE BY USING MIDDLEWARE PLUG-IN}Method and system for providing web service using middleware plug-in. {METHOD AND SYSTEM FOR PROVIDING WEB SERVICE BY USING MIDDLEWARE PLUG-IN}

본 발명은 미들웨어 플러그인을 이용하여 웹 서비스를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for providing a web service using a middleware plug-in.

최근 인터넷이 널리 사용되면서 다양한 분야에서 인터넷을 사용한 서비스를 제공하고 있다. 특히, 이미지 및 텍스트를 기반으로 하는 HTML언어를 이용하였기 때문에, 주로 2차원 이미지 및 텍스트 서비스가 제공되던 이전의 인터넷 웹 서비스와는 달리, 최근에는 웹 브라우저에 플러그인 되는 Active-X 등의 기술을 이용함으로써, 사용자에게 3차원 영상을 제공하거나, 인터넷 뱅킹 등과 같이 보안이 강화된 서비스를 제공하는 등 보다 다양한 서비스가 인터넷을 통하여 사용자에게 제공되게 되었다.Recently, as the Internet is widely used, various fields provide services using the Internet. In particular, because the HTML language based on images and text is used, unlike the previous Internet web services, which mainly provided two-dimensional image and text services, recently, technology such as Active-X that is plugged into a web browser is used. As a result, more various services are provided to the user through the Internet, such as providing a 3D image to the user or providing a security-enhanced service such as Internet banking.

이와 같이 웹 브라우저에 플러그인 되는 모듈을 이용하게 되면, 서버 측에서 처리된 화면을 단말장치가 웹 브라우저를 통하여 단순히 사용자에게 보여주기만 하던 것을 벗어나서, 단말장치가 서버 측과 통신하며 보다 큰 데이터 또는 실시간 데이터를 수신하고, 필요한 연산을 직접 수행하여 보다 광범위한 정보를 사용자에게 제공할 수 있다.When the module plugged into the web browser is used, the terminal device communicates with the server side without the terminal device simply showing the user to the user through the web browser. Can receive and perform the necessary operations directly to provide a wider range of information to the user.

특히, 3차원 그래픽 영상을 사용자에게 제공하고자 하는 경우, 많은 사용자가 서버에 접속하는 경우 3차원 그래픽의 처리를 서버 측에서 모두 수행하게 된다면 그 연산이 서버 측에는 커다란 부담이 될 수 있으므로, 각 사용자의 단말장치에서 서버측으로부터 정보를 수신하여 이를 기초로 3차원 그래픽 처리를 위한 연산을 수행하는 것이 효율적이다.In particular, when a user wants to provide a 3D graphic image to a user, when a large number of users access the server, if the processing of the 3D graphic is performed on the server side, the operation may be a huge burden on the server side. It is efficient to receive information from the server side in the terminal device and perform an operation for 3D graphics processing based on the information.

또한, HTTP 프로토콜은 서버 및 단말장치가 연결을 유지하며 실시간으로 데이터를 주고 받는 것이 아니라, 단말장치의 요청(Request)에 대한 서버 측의 응답(Response)을 통하여 데이터를 주고 받는 방식이므로, 단순히 서버에서 전달하는 화면을 단말장치에서 사용자에게 보여주는 방식으로는 실시간 서비스를 제공하는 데에 한계가 있다. 따라서, 실시간 서비스 제공을 위해서는 단말장치의 특정 프로그램이 서버와 연결을 설정하여 서버에서 제공하는 정보를 수신하고 이를 처리하여 사용자에게 서비스를 제공할 필요가 있다.In addition, the HTTP protocol is a method in which a server and a terminal device maintain a connection and transmit and receive data in real time, and transmit and receive data through a server side response to a request of the terminal device. There is a limit to providing a real-time service in the manner of showing the screen delivered to the user in the terminal device. Therefore, in order to provide a real-time service, a specific program of a terminal device needs to establish a connection with a server to receive information provided from the server and process the same to provide a service to a user.

도 1은 상술한 플러그인 모듈을 이용하여 3차원 그래픽 서비스를 제공하는 화면을 도시하는 도면이다.1 is a diagram illustrating a screen for providing a 3D graphic service using the plug-in module described above.

도 1에 도시한 바와 같이, 웹 브라우저에서 웹 페이지의 일부에 3차원 그래픽 화면을 제공해야 하는 경우, 웹 페이지의 일부 공간에 플러그인 모듈에서 제공하는 화면(110)이 제공되게 된다. 이와 같이 플러그인 모듈을 이용하면 상술한 바와 같이 단말장치에서 그래픽 연산을 처리하거나 서버와 통신을 통하여 실시간 데이터를 제공하도록 할 수 있으면서, 웹 브라우저에서 제공되는 웹 페이지 화면의 일부에 포함되어 화면을 제공할 수 있으므로, 사용자가 익숙한 웹 브라우저를 통하여 다양한 서비스를 제공받을 수 있게 한다.As shown in FIG. 1, when a web browser needs to provide a 3D graphic screen to a part of a web page, the screen 110 provided by the plug-in module is provided in a part of the web page. As described above, when the plug-in module is used, the terminal device can process graphic operations or provide real-time data through communication with a server, and can be included in a part of a web page screen provided by a web browser to provide a screen. Therefore, the user can be provided with various services through a familiar web browser.

이와 같이 웹 브라우저에 특정 기능을 수행하는 모듈을 플러그인 시켜 서비스를 제공하는 경우, 단말장치에서 웹 브라우저를 실행하는 프로세스가 부가된 플러그인의 동작을 모두 제어하며, 따라서, 웹 브라우저와 플러그인은 프로세스 내에 많은 자원을 공유하여 사용하게 된다. 만일 하나의 웹 브라우저에서 둘 이상의 플러그인이 사용된다면, 둘 이상의 플러그인 모두 웹 브라우저를 실행하는 프로세스의 제어를 받게 되며, 프로세스의 자원들을 웹 브라우저와 공유한다.When providing a service by plugging a module that performs a specific function in a web browser as described above, the process of executing a web browser on a terminal device controls all operations of a plug-in added thereto. Resources will be shared. If more than one plug-in is used in a web browser, both plug-ins are under the control of the process running the web browser and share the process's resources with the web browser.

도 2는 이와 같은 종래 기술에 따라 플러그인 모듈을 이용하여 웹 서비스를 제공하는 경우의 구성도를 도시한 도면이다.2 is a diagram illustrating a configuration of providing a web service using a plug-in module according to the related art.

도시된 바와 같이, 플러그인 모듈(230)이 웹 브라우저(210)와 동일한 프로세스(250)에 의해서 처리되기 때문에, 플러그인 모듈(230) 자체 동작에서 문제가 발생하거나, 플러그인 모듈(230)과 웹 브라우저(210) 사이 또는 둘 이상의 플러그인 모듈 사이에서 공유되는 자원의 충돌 등으로 인하여 문제가 발생하는 경우, 문제가 있는 부분뿐만 아니라, 웹 브라우저(210) 및 연동된 플러그인 모듈(230) 모두가 제대로 동작할 수 없게 된다.As shown, since the plug-in module 230 is processed by the same process 250 as the web browser 210, a problem occurs in the operation of the plug-in module 230 itself, or the plug-in module 230 and the web browser ( If a problem occurs due to a conflict between resources shared between 210 or between two or more plug-in modules, both the web browser 210 and the linked plug-in module 230 as well as the problematic part may operate properly. There will be no.

즉, 웹 브라우저(210)에 플러그인 된 플러그인 모듈(230)에서 오류가 발생한 경우, 해당 플러그인 모듈(230)뿐만 아니라, 웹 브라우저(210) 전체에 문제가 발생하게 되어, 사용자가 웹 브라우저(210)를 강제 종료시키고, 다시 새로운 웹 브라우저를 구동시키고 해당 웹 페이지에 다시 접속해야 하는 불편함이 있다.That is, when an error occurs in the plug-in module 230 plugged into the web browser 210, a problem occurs not only in the plug-in module 230 but also in the web browser 210 as a whole. There is an inconvenience of forcibly shutting down the system, restarting a new web browser, and accessing the web page again.

본 발명은 웹 브라우저에 연동되어 서비스를 제공하는 응용프로그램에 문제가 발생하더라도, 웹 브라우저를 정상적으로 사용할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.The present invention can provide a system and method for allowing a web browser to be used normally even when a problem occurs in an application program providing a service in connection with the web browser.

본 발명에 따르면, 웹 브라우저에 연동되어 서비스를 제공하는 응용프로그램이 오작동하거나 비정상종료 되면 다시 응용프로그램이 구동되어 서비스를 제공할 수 있도록 하는 시스템 및 방법을 제공할 수 있다.According to the present invention, a system and method for interworking with a web browser to provide a service when an application program providing a service malfunctions or terminates abnormally can be provided.

본 발명의 일실시예에 따른 웹 서비스 제공 시스템은 CPU 및 메모리를 구비한 인터넷 단말장치에 적용될 수 있다. 상기 웹 서비스 제공 시스템은 인터넷을 통하여 수신 되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저, 상기 웹 브라우저의 요청에 따라 동작하는 응용프로그램을 저장하는 기록장치 및 상기 웹 브라우저에 플러그인 되고 상기 응용프로그램을 제어하는 플러그인 모듈을 포함할 수 있다.Web service providing system according to an embodiment of the present invention can be applied to an Internet terminal device having a CPU and a memory. The web service providing system includes a web browser that provides a web page received through the Internet to a user through a display screen, a recording device that stores an application program operated at the request of the web browser, and is plugged into the web browser. It can include plug-in modules that control the program.

이 때, 상기 플러그인 모듈은 상기 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키고, 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송 할 수 있다.At this time, the plug-in module accesses the recording device and drives the application program to operate in a separate process from the web browser at the request of the web browser, and drives the control message received from the web browser. An application program may be transmitted, and data received from the driven application program may be transmitted to the web browser.

본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템은 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저에 플러그인 되어 소정의 기록장치에 저장된 응용프로그램을 제어할 수 있다. 상기 웹 서비스 제공 시스템은 상기 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 구동부, 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 인터페이스부 및 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 인터페이스부를 통하여 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 중계부를 포함할 수 있다.The web service providing system according to another embodiment of the present invention may control an application program stored in a predetermined recording apparatus by being plugged into a web browser that provides a user with a web page received through the Internet through a display screen. The web service providing system is a driving unit for accessing the recording device at the request of the web browser to drive the application program to operate in a separate process from the web browser, and to exchange data with the driven application program. An interface unit for establishing a connection, and a relay unit for transmitting a control message received from the web browser to the driven application program through the interface unit, and transmitting data received from the driven application program to the web browser. have.

이 때, 상기 웹 서비스 제공 시스템은 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 저장하는 응용프로그램 주소 관리부를 더 포함하고, 상기 구동부는 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 구동시킬 수 있다.In this case, the web service providing system further includes an application address management unit for storing address information indicating a location where the application program is stored in the recording device, and the driving unit accesses the recording device based on the address information. To drive the application program.

이 때, 상기 웹 서비스 제공 시스템은 상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어하는 위치 제어부를 더 포함할 수 있다.At this time, the web service providing system receives information on the window area that the application program should be shown on the display screen from the web browser, and the application program is displayed on the display screen based on the received information. The apparatus may further include a position controller for controlling to be displayed in the area.

이 때, 상기 웹 서비스 제공 시스템은 상기 응용프로그램의 상태를 점검하 여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하는 상태 점검부를 더 포함하고, 상기 응용프로그램이 오동작하거나 비정상종료된 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다.At this time, the web service providing system further comprises a status check unit for checking whether the application is malfunctioning or abnormal termination by checking the state of the application, if the application is malfunctioning or abnormal termination, You can run the application again to run in a separate process.

본 발명의 일실시예에 따른 웹 서비스 제공 방법은 CPU 및 메모리를 구비한 인터넷 단말장치에서 소정의 기록장치에 저장된 응용프로그램을 제어하여 디스플레이 화면을 통해 사용자에게 웹 서비스를 제공할 수 있다. 상기 웹 서비스 제공 방법은 웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 단계, 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 단계, 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하는 단계 및 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 단계를 포함할 수 있다.The web service providing method according to an embodiment of the present invention may provide a web service to a user through a display screen by controlling an application program stored in a predetermined recording device in an internet terminal having a CPU and a memory. The web service providing method may include, in response to a request of a web browser, driving the application program to operate in a separate process from the web browser by accessing the recording device, and connecting data to and from the driven application program. And setting a control unit, transmitting a control message received from the web browser to the driven application program, and transmitting data received from the driven application program to the web browser.

이 때, 상기 웹 서비스 제공 방법은 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 유지하는 단계를 더 포함하고, 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 구동시킬 수 있다.The web service providing method may further include maintaining address information indicating a location where the application program is stored in the recording apparatus, and accessing the recording apparatus based on the address information to drive the application program. You can.

본 발명에 따르면 웹 브라우저에 별도의 프로세스에서 동작하는 응용프로그램을 연동시켜 다양한 웹 서비스를 제공할 수 있는 효과가 있다.According to the present invention, it is possible to provide various web services by interworking an application program operating in a separate process to a web browser.

본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법을 이용하면, 응용프로그램에 오류가 발생되는 경우에도 웹 브라우저를 정상적으로 이용하는 것이 가능하다.Using the web service providing system and method according to an embodiment of the present invention, it is possible to use a web browser normally even when an error occurs in an application program.

또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저에 플러그인 되는 모듈이 웹 브라우저와 공유하는 리소스를 최소화 함으로써, 웹 브라우저와 플러그인 모듈 또는 하나의 웹 브라우저에 플러그인 된 복수의 플러그인 모듈 사이의 충돌로 인한 문제 발생의 가능성을 최소화할 수 있는 효과가 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, by minimizing resources shared by the web browser module to be plugged into the web browser, a plurality of web browser and plug-in modules or plugged into one web browser There is an effect that can minimize the possibility of problems caused by conflicts between plug-in modules of.

또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저와 연동하여 동작하는 응용프로그램이 오작동하거나 비정상종료하는 경우 이를 확인하여 응용프로그램을 다시 구동시킴으로써, 사용자가 별도의 동작을 취하지 않고도 문제를 해결할 수 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, if the application operating in conjunction with the web browser malfunctions or abnormal termination of the application by re-running the application, a separate operation by the user Problems can be solved without taking

또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 웹 브라우저와 연동하여 동작하는 응용프로그램이 제공하는 화면을 웹 브라우저가 지정하는 윈도우 영역 내에서 제공하도록 함으로써, 사용자가 웹 브라우저 및 응용프로그램이 각각 별도로 동작중이라는 사실을 인식하지 못하고 자연스럽게 웹 서비스를 이용할 수 있도록 하는 효과가 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, by providing a screen provided by the web browser to the screen provided by the application program operating in conjunction with the web browser, the user by the web browser And it does not recognize the fact that each application is running separately, there is an effect that allows you to use the web services naturally.

또한, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템 및 방법에 따르면, 플러그인 모듈이 복수의 응용프로그램을 제어함으로써, 웹 브라우저에 하나의 플러그인 모듈을 플러그인하는 것만으로, 복수의 응용프로그램이 플러그인 된 것과 같은 효과를 얻을 수 있어, 복수의 플러그인 모듈 사이의 충돌을 방지할 수 있다.In addition, according to the web service providing system and method according to an embodiment of the present invention, the plug-in module controls a plurality of applications, by simply plugging in one plug-in module to the web browser, a plurality of applications are plugged in The same effect can be obtained, and collision between a plurality of plug-in modules can be prevented.

이하에서, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. However, the present invention is not limited to or limited by the embodiments. Like reference symbols in the drawings denote like elements.

본 발명에 따른 웹 서비스 제공 시스템은 중앙처리장치(CPU) 및 메모리(Memory, 기억장치)를 구비하는 인터넷 단말장치에 적용될 수 있다. 그러나, 중앙처리장치 및 메모리 등의 구성에 따라 본 발명이 한정되지는 아니한다. 상기 인터넷 단말장치는 일반적으로 사용되는 개인용 컴퓨터(PC) 외에도 인터넷 연결이 가능한 PDA, 휴대전화 등의 장치를 포함할 수 있다.The web service providing system according to the present invention can be applied to an Internet terminal having a central processing unit (CPU) and a memory (Memory). However, the present invention is not limited to the configuration of the central processing unit and the memory. The Internet terminal device may include a device such as a PDA, a mobile phone, etc., which can be connected to the Internet, in addition to a personal computer (PC) that is generally used.

도 3은 본 발명의 일실시예에 따른 웹 서비스 제공 시스템을 개략적으로 도시하는 도면이다.3 is a diagram schematically illustrating a web service providing system according to an embodiment of the present invention.

웹 브라우저(210)는 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공한다. 웹 페이지의 수신은 HTTP 프로토콜을 이용할 수 있으며, 웹 페이지의 내용은 HTML등의 언어를 이용하여 구성될 수 있다.The web browser 210 provides a web page received through the Internet to a user through a display screen. The reception of the web page may use the HTTP protocol, and the content of the web page may be configured using a language such as HTML.

웹 브라우저(210)는 플러그인 모듈(310)을 플러그인 할 수 있어야 한다. 웹 브라우저(210)에 플러그인 모듈(310)이 플러그인 되면, 하나의 프로세스(250)가 웹 브라우저(210) 및 플러그인 모듈(310)을 모두 제어하게 된다. 따라서, 웹 브라우저(210) 및 플러그인 모듈(310)은 프로세스(250)상에 공유되는 정보들을 함께 이용하게 되는데, 이 과정에서 충돌이 발생하여 오류가 발생되는 경우가 있다. 이에 따라, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템에서는 플러그인 모 듈(310)이 이용하는 프로세스(250)상의 공유 정보를 최소화함으로써, 웹 브라우저(210) 및 플러그인 모듈(310)사이의 충돌을 방지할 수 있다.The web browser 210 should be able to plug in the plug-in module 310. When the plug-in module 310 is plugged into the web browser 210, one process 250 controls both the web browser 210 and the plug-in module 310. Accordingly, the web browser 210 and the plug-in module 310 use information shared on the process 250 together. In this process, a collision may occur and an error may occur. Accordingly, in the web service providing system according to an embodiment of the present invention, the collision between the web browser 210 and the plug-in module 310 is minimized by minimizing sharing information on the process 250 used by the plug-in module 310. It can prevent.

플러그인 모듈(310)은 웹 브라우저(210)에 플러그인 되어, 응용프로그램(320)을 제어한다. 상술한 바와 같이 플러그인 모듈(310)은 웹 브라우저(210)과의 충돌을 최소화할 수 있도록, 응용프로그램(320)을 제어하고, 웹 브라우저(210) 및 응용프로그램(320) 사이의 데이터 및 메시지를 중계하는 역할을 수행하도록 하고, 실제 사용자에게 웹 서비스를 제공하기 위하여 수행하는 동작들은 모두 응용프로그램(320)에서 수행하도록 할 수 있다.The plug-in module 310 is plugged into the web browser 210 to control the application 320. As described above, the plug-in module 310 controls the application 320 to minimize the collision with the web browser 210 and transmits data and messages between the web browser 210 and the application 320. The relaying function may be performed and all operations performed to provide a web service to an actual user may be performed by the application program 320.

플러그인 모듈(310)은 웹 브라우저(210)의 요청에 따라, 응용프로그램(320)을 웹 브라우저(210)과 별도의 프로세스(330)에서 동작하도록 구동시킬 수 있다. 상술한 바와 같이 실제 사용자에게 웹 서비스를 제공하기 위하여 수행하는 동작들은 모두 응용프로그램(320)에서 동작하는데, 응용프로그램(320)은 웹 브라우저(210)의 프로세스(250)과 별도의 프로세스(330)에서 동작하므로, 만일 웹 서비스를 제공하기 위하여 수행하는 동작 중에서 오류가 발생되더라도, 웹 브라우저(210)의 동작에는 영향을 주지 않게 된다. 따라서, 응용프로그램(320)에서 문제가 발생하더라도 사용자는 웹 브라우저(210)를 정상적으로 이용할 수 있는 효과가 있다.The plug-in module 310 may drive the application 320 to operate in a process 330 separate from the web browser 210 according to a request of the web browser 210. As described above, all operations performed to provide a web service to an actual user operate in the application 320, which is a process 330 separate from the process 250 of the web browser 210. In this case, if an error occurs in an operation performed to provide a web service, the operation of the web browser 210 is not affected. Therefore, even if a problem occurs in the application 320, the user can use the web browser 210 normally.

응용프로그램(320)은 웹 브라우저(210)에서 사용자에게 웹 서비스를 제공하기 위하여 단말장치에서 처리해야 하는 동작을 수행할 수 있다. 도 3에서와 같이 웹 브라우저(210)의 특정 영역(220)에 표시될 3차원 그래픽 화면을 처리하는 동작을 수행할 수도 있고, 인터넷 뱅킹 등에서 보안을 유지하기 위한 기능을 수행할 수 도 있다. 이 밖에도 웹 서비스를 제공하는데 있어서 필요한 동작 중 단말장치에서 수행될 수 있는 것이라면 어떤 것도 응용프로그램(320)이 수행할 수 있다.The application program 320 may perform an operation that the terminal device needs to process in order to provide a web service to a user in the web browser 210. As shown in FIG. 3, an operation of processing a 3D graphic screen to be displayed on a specific area 220 of the web browser 210 may be performed, or a function for maintaining security in Internet banking may be performed. In addition, any application that may be performed in the terminal device among the operations required to provide a web service may be performed by the application program 320.

응용프로그램(320)은 단말장치에서 구동될 수 있는 형태라면 어떤 형태로도 가능하다. 상기 단말장치에서 동작 가능한 컴파일된 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 실행될 수 있는 고급 언어를 이용한 프로그램도 사용될 수 있다.The application 320 may be in any form as long as it can be driven in the terminal device. In addition to the compiled machine code operable in the terminal device, a program using a high-level language that can be executed using an interpreter or the like may be used.

응용프로그램(320)은 웹 브라우저(210)의 요청에 의해 구동되고, 웹 브라우저(210)의 요청에 따른 동작을 수행해야 하므로, 웹 브라우저(210)의 제어 명령 및 데이터를 수신하여 전달해 줄 플러그인 모듈(310)과의 연결을 설정할 수 있어야 한다. 상기 설정된 연결을 통하여 응용프로그램(320)은 웹 브라우저(210)의 제어 명령을 수신하고 필요한 데이터를 웹 브라우저(210)에 전달할 수 있다.Since the application 320 is driven by the request of the web browser 210 and must perform an operation according to the request of the web browser 210, the plug-in module that receives and transmits the control command and data of the web browser 210. It should be possible to establish a connection with 310. Through the set connection, the application program 320 may receive a control command of the web browser 210 and transmit necessary data to the web browser 210.

응용프로그램(320)이 3차원 그래픽 화면 제공 등과 같이 디스플레이 화면에 보여지는 영상을 제공하기 위한 동작을 수행하는 경우에, 웹 브라우저(210)가 지정하는 윈도우 영역(220) 내에 상기 영상을 제공할 수 있다. 응용프로그램(320)이 웹 브라우저(210)와 별도의 프로세스에서 동작하지만, 디스플레이 화면에도 웹 브라우저(210)과 별도의 프로그램으로 보여지게 된다면, 사용자에게 자연스러운 웹 서비스를 제공하기 곤란하다.When the application 320 performs an operation for providing an image shown on the display screen, such as providing a 3D graphic screen, the image may be provided in the window area 220 designated by the web browser 210. have. Although the application 320 operates in a separate process from the web browser 210, if the display screen is shown as a separate program from the web browser 210, it is difficult to provide a natural web service to the user.

따라서, 웹 브라우저(210)가 응용프로그램(320)에서 제공하는 영상을 보여주는 윈도우 영역(220)을 지정하면, 플러그인 모듈(310)이 응용프로그램(320)을 제어하여 상기 윈도우 영역(220) 내에 상기 영상을 제공하도록 할 수 있다.Therefore, when the web browser 210 designates the window area 220 showing the image provided by the application 320, the plug-in module 310 controls the application 320 to display the image in the window area 220. To provide video.

이 때, 윈도우 영역(220)은 도면에서와 같이 웹 브라우저(210)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다.In this case, the window area 220 may be a specific area within the web page shown in the web browser 210 as shown in the figure, or may be an area fixed to a specific position on the display screen in the form of a widget or the like.

만일 웹 브라우저(210)의 내부에 윈도우 영역(220)이 존재하는 경우, 상기 윈도우 영역(220)은 웹 브라우저(210)의 내부에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(210)의 위치가 변경되는 경우 이에 따라 윈도우 영역(220)도 변경되어 응용프로그램(320)에서 제공되는 영상이 표시되는 위치가 자연스럽게 변경될 수 있도록 할 수 있다.If the window area 220 exists inside the web browser 210, the window area 220 may be represented as a relative position inside the web browser 210, and the position of the web browser 210 may be represented. In this case, the window area 220 may be changed accordingly, such that the position at which the image provided from the application program 320 is displayed may be naturally changed.

도 4는 본 발명의 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.4 is a diagram showing the internal configuration of a web service providing system according to an embodiment of the present invention.

도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(401)은 웹 브라우저(410), 플러그인 모듈(420) 및 기록장치(430)을 포함한다. 상기한 구성요소들은 소프트웨어, 하드웨어 또는 소프트웨어 및 하드웨어가 결합된 형태로 구현될 수 있으며, 서로 연결될 수 있다. 이하 구성요소 별로 구체적으로 기술하도록 한다.As shown in the figure, the web service providing system 401 according to an embodiment of the present invention includes a web browser 410, a plug-in module 420, and a recording device 430. The above components may be implemented in software, hardware, or a combination of software and hardware, and may be connected to each other. Hereinafter, the components will be described in detail.

웹 브라우저(410)는 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공한다. 웹 서비스 제공 시스템(401)은 CPU 및 메모리를 구비한 인터넷 단말장치에 적용될 수 있는데, 웹 브라우저(410)은 이러한 단말장치에서 인터넷을 통한 서비스를 사용자에게 제공한다.The web browser 410 provides a web page received through the Internet to a user through a display screen. The web service providing system 401 may be applied to an Internet terminal having a CPU and a memory, and the web browser 410 provides a service through the Internet to the user.

일반적으로 웹 브라우저(210)는 사용자로부터 인터넷 주소를 입력 받고, 상 기 인터넷 주소를 도메인 네임 서버(DNS)에 전송하여 상기 인터넷 주소에 대응하는 IP 주소를 수신하고, 상기 IP 주소를 이용하여 상기 IP 주소에 대응하는 웹 서버에 접속하여 HTTP 프로토콜을 이용하여 웹 페이지를 요청하고, 그 요청에 응답하여 수신되는 웹 페이지에 포함된 HTML언어를 파싱(Parsing)하여 이를 기초로 디스플레이 화면에 웹 페이지를 표시하도록 할 수 있다.In general, the web browser 210 receives an Internet address from a user, transmits the Internet address to a domain name server (DNS), receives an IP address corresponding to the Internet address, and uses the IP address. Access the web server corresponding to the address to request a web page using the HTTP protocol, parse the HTML language included in the received web page in response to the request, and display the web page on the display screen based on this. You can do that.

웹 브라우저(210)의 예로는 인터넷 익스플로러 (Internet Explorer), 파이어 폭스 (Fire Fox), 넷스케이프 (Netscape), 크롬 (Chrome) 등이 있으며, 본 발명에서 웹 브라우저(210)는 이 중 어느 것에도 한정되지 아니한다.Examples of the web browser 210 include Internet Explorer, Firefox, Netscape, Chrome, and the like. In the present invention, the web browser 210 is limited to any of them. Not.

플러그인 모듈(420)은 상기 웹 브라우저(410)에 플러그인 되어 응용프로그램(402)을 제어한다. 플러그인 모듈(310)의 일례로 액티브엑스(Active-X) 모듈이 있으나, 본 발명은 이와 같은 플러그인 모듈(310)의 구성에 사용되는 기술에 의하여 제한되지 아니하며, 웹 브라우저에 플러그인 되고, 단말장치 내에서 응용프로그램을 웹 브라우저와 별도의 프로세스에서 구동시키고 제어할 수 있다면 어떤 형태로도 가능하다.The plug-in module 420 is plugged into the web browser 410 to control the application 402. An example of the plug-in module 310 is an Active-X module, but the present invention is not limited by the technology used for the configuration of the plug-in module 310, and is plugged into a web browser, and the terminal device may be used. If the application can be run and controlled in a separate process from the web browser, then it can be in any form.

플러그인 모듈(420)은 웹 브라우저(410)의 요청에 따라, 응용프로그램(402)을 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 구동시킬 수 있다. 응용프로그램(402)는 종래 기술에서 플러그인 모듈이 처리하던 연산을 처리하며, 본 발명의 플러그인 모듈(420)의 제어를 받는다. 이와 같이 응용프로그램(402)이 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 함으로써, 응용프로그램(402)과 웹 브라우저(410)의 충돌을 방지하고, 응용프로그램(402)의 오류 발생시에도 웹 브라 우저(410)의 기능을 정상적으로 이용할 수 있다.The plug-in module 420 may drive the application 402 to operate in a separate process from the web browser 410 according to a request of the web browser 410. The application 402 processes operations that the plug-in module has processed in the prior art and is controlled by the plug-in module 420 of the present invention. As such, the application 402 operates in a separate process from the web browser 410, thereby preventing a collision between the application 402 and the web browser 410, and even when an error occurs in the application 402. The function of the Woozer 410 can be used normally.

응용프로그램(402)은 소정의 기록장치(430)에 저장되어 있다가, 상기 플러그인 모듈(420)에 의하여 구동된다. 기록장치(430)는 하드디스크, 플로피디스크 등의 자기디스크, CD, DVD, Blu-ray Disc 등의 광학 디스크 및 플래시메모리, D-RAM 등과 같은 메모리장치를 포함할 수 있다. 이 밖에도 데이터를 기록할 수 있는 장치라면 어떤 형태라도 적용 가능하다.The application 402 is stored in a predetermined recording device 430 and is driven by the plug-in module 420. The recording device 430 may include a magnetic disk such as a hard disk, a floppy disk, an optical disk such as a CD, a DVD, a Blu-ray Disc, and a memory device such as a flash memory or a D-RAM. In addition, any type of device capable of recording data is applicable.

일반적으로 프로그램은 기록장치의 일부에 저장되어 있다가, 사용자 또는 다른 프로그램의 구동으로 단말장치의 메모리(주기억장치)에 로딩되어 동작하게 된다. 본 발명에서도, 응용프로그램(402)은 기록장치(430)에 저장되어 있다가, 플러그인 모듈(420)이 상기 기록장치에 접근하여 구동시키게 되면 상기 단말장치의 메모리상에서 동작하게 된다.In general, a program is stored in a part of a recording apparatus, and is loaded and operated in a memory (main memory) of the terminal apparatus by driving a user or another program. In the present invention, the application program 402 is stored in the recording device 430, and when the plug-in module 420 approaches and drives the recording device, the application program 402 operates in the memory of the terminal device.

이 때, 플러그인 모듈(420)은 기록장치(430) 내에서 응용프로그램(402)이 저장되어 있는 위치를 나타내는 주소 정보를 포함할 수 있으며, 상기 주소 정보를 기초로 기록장치(430)에 접근하여 응용프로그램(402)을 구동시킬 수 있다. 상기 주소 정보는 기록장치(430)의 특성에 따라 물리적인 주소(Physical Address) 정보일 수도 있고, 논리적인 주소(Logical Address) 정보일 수도 있다. 상기 주소 정보는 응용프로그램(402)이 단말장치에 저장 및 설치된 위치를 나타낼 수 있는데, 복수의 응용프로그램(402)을 관리하면서, 플러그인 모듈(420)이 복수의 주소 정보를 관리할 수도 있고, 고정된 주소 정보를 가지고 언제나 상기 고정된 주소에 위치하는 응용프로그램(402)만을 구동시키도록 할 수도 있다.In this case, the plug-in module 420 may include address information indicating a location where the application program 402 is stored in the recording device 430. The plug-in module 420 may access the recording device 430 based on the address information. The application 402 can be driven. The address information may be physical address information or logical address information according to the characteristics of the recording device 430. The address information may indicate a location where the application 402 is stored and installed in the terminal device. While managing the plurality of applications 402, the plug-in module 420 may manage the plurality of address information and may be fixed. It is also possible to run only the application 402 located at the fixed address at any time with the fixed address information.

또한, 응용프로그램(402)이 플러그인 모듈(420)의 구동 전에 별도의 로더(loader)를 통하여 이미 상기 단말장치의 메모리에 로딩되어 있다가, 플러그인 모듈(420)의 구동요청에 따라 활성화(Activate)되는 것도 가능하다.In addition, the application 402 is already loaded in the memory of the terminal device through a separate loader before the plug-in module 420 is driven, and is activated according to the driving request of the plug-in module 420. It is also possible.

플러그인 모듈(420)은 웹 브라우저로(410)부터 수신되는 제어 메시지를 상기 구동된 응용프로그램(402)으로 전송하고, 구동된 응용프로그램(402)으로부터 수신되는 데이터를 웹 브라우저(410)로 전송할 수 있다. 본 발명에서 응용프로그램(402)은 독립적으로 별도의 동작을 수행하기 위한 것이 아니라, 웹 브라우저(410)의 제어를 받아 웹 브라우저(410)가 요청하는 동작을 수행함으로써, 웹 브라우저(410)가 웹 서비스를 제공하는 것을 돕는 프로그램이다.The plug-in module 420 may transmit a control message received from the web browser 410 to the driven application 402 and transmit data received from the driven application 402 to the web browser 410. have. In the present invention, the application program 402 is not intended to independently perform a separate operation, but under the control of the web browser 410 to perform the operation requested by the web browser 410, the web browser 410 web It is a program that helps provide services.

따라서, 플러그인 모듈(420)은 응용프로그램(402)과 연결을 설정하고, 웹 브라우저(410)의 제어 메시지를 응용프로그램(402)에 전달하고, 응용프로그램(402)으로부터 전달되는 데이터를 웹 브라우저(410)로 전달할 수 있다.Accordingly, the plug-in module 420 establishes a connection with the application 402, transmits a control message of the web browser 410 to the application 402, and transmits data transmitted from the application 402 to the web browser ( 410).

이를 위해서는 먼저 플러그인 모듈(420)이 웹 브라우저(410)와 데이터를 주고 받을 수 있어야 하는데, 이는 웹 브라우저(410)의 종류 및 상기 단말장치의 종류 또는 운영체제에 따라서 달라질 수 있다. 본 발명은 이와 같은 데이터 전달방법에 의하여 한정되지는 아니한다.To this end, the plug-in module 420 must first exchange data with the web browser 410, which may vary depending on the type of the web browser 410, the type of the terminal device, or the operating system. The present invention is not limited by this data transfer method.

일례로, 단말장치의 운영체제가 윈도우(windows)인 경우, 웹 브라우저(410)에서 윈도우 메시지(window message)가 발생하면 메시지 핸들러 (MessageHandler)라는 핸들러(handler)가 호출되어 플러그인 모듈(420)의 입력 처리 기능을 수행하도록 할 수 있다. 또한, 웹 브라우저(410)가 인터넷 익스플로러(Internet Explore)인 경우, Active-X 기술을 이용하여, 웹 브라우저(410)에 로딩된 웹 페이지가 스크립트(script)에서 특정 함수(function)를 호출하게 되면, 플러그인 모듈(420)의 같은 이름의 함수가 호출되어 필요한 동작을 수행하도록 할 수 있다.For example, when the operating system of the terminal device is a window, when a window message occurs in the web browser 410, a handler called a message handler is called to input the plug-in module 420. Can perform processing functions. In addition, when the web browser 410 is an Internet Explorer, when a web page loaded in the web browser 410 calls a specific function in a script using Active-X technology, The function of the same name of the plug-in module 420 may be called to perform a necessary operation.

이와 같이 웹 브라우저(410)에 플러그인 된 플러그인 모듈(420)은 웹 브라우저(410)으로부터 메시지 또는 데이터를 수신하는 것이 가능하다.As such, the plug-in module 420 plugged into the web browser 410 may receive a message or data from the web browser 410.

유사하게, 인터넷 익스플로러의 경우, 플러그인 모듈(420)에서 이벤트 함수(Event Function)를 호출하면, Active-X기술을 이용하여, 자동으로 웹 브라우저(410)에 로딩된 웹 페이지의 같은 이름의 script 함수가 호출된다. 웹 브라우저(410)가 인터넷 익스플로러가 아닌 경우에도 각각의 규약에 따라 유사한 형태로 플러그인 모듈(420)과의 메시지 또는 데이터의 전달이 가능하다.Similarly, in the case of Internet Explorer, when the event function is called in the plug-in module 420, using the Active-X technology, a script function of the same name of the web page automatically loaded in the web browser 410 Is called. Even if the web browser 410 is not an Internet Explorer, a message or data can be delivered to the plug-in module 420 in a similar form according to each protocol.

또한 플러그인 모듈(420)은 응용프로그램(402)과 데이터를 주고 받기 위하여, 연결을 설정할 수 있는데, 소켓(Socket)등의 방법을 통하여 패킷을 직접 주고 받을 수도 있고, 공유메모리(Shared Memory) 등을 이용하여 간접적으로 데이터를 전달할 수도 있다. 이와 같은 통신방법 또한 본 발명을 제한하지 아니한다.In addition, the plug-in module 420 may establish a connection in order to exchange data with the application program 402. Alternatively, the plug-in module 420 may exchange packets directly through a socket or the like, or may share a shared memory. You can also pass data indirectly. Such a communication method also does not limit the present invention.

플러그인 모듈(420)은 웹 브라우저(410)로부터 응용프로그램(402)이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 응용프로그램(402)이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어할 수 있다.The plug-in module 420 receives information on the window area from the web browser 410 that the application 402 should be shown on the display screen, and based on the received information, the application 402 receives the display screen. It can be controlled to be displayed in the window area on the screen.

종래에는 플러그인 모듈에서 3차원 그래픽 처리 등과 같은 작업을 직접 수행하고, 웹 브라우저(410)의 특정 영역내에서 처리한 결과를 화면으로 제공하였다. 따라서, 웹 브라우저(410)에서 보여지는 웹 페이지의 다른 부분과 유기적으로 연결되는 서비스를 제공할 수 있다. 그런데, 본 발명에 따르면, 웹 브라우저(410)와 별도의 프로세스에서 동작하는 응용프로그램(402)에서 작업을 처리하도록 하고 있으므로, 웹 브라우저(410)와 응용프로그램(402)이 별도의 프로그램으로 따로따로 존재하는 것처럼 느껴질 가능성이 높다.Conventionally, the plug-in module directly performs operations such as 3D graphics processing, and provides a result of processing in a specific area of the web browser 410 as a screen. Therefore, it is possible to provide a service that is organically connected to other parts of the web page shown in the web browser 410. However, according to the present invention, since the web browser 410 and the application 402 operating in a separate process to process the work, the web browser 410 and the application 402 is a separate program separately. It is likely to feel as if it exists.

따라서, 플러그인 모듈(420)이 웹 브라우저(410)가 지정하는 윈도우 영역 내에 응용프로그램(402)이 보여지도록 응용프로그램(402)을 제어함으로써, 웹 브라우저(410)가 제공하는 웹 페이지와 일관성 있는 화면을 제공하도록 할 수 있다.Accordingly, the plug-in module 420 controls the application 402 so that the application 402 is displayed in the window area designated by the web browser 410 so that the screen is consistent with the web page provided by the web browser 410. Can be provided.

이 때, 상기 윈도우 영역은 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저(410) 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(410)의 화면 스크롤(Scroll)이나, 웹 브라우저(410)의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page shown in the web browser 410, or may be an area fixed to a specific location on the display screen in the form of a widget or the like. When the window area is a specific area within a web page viewed by the web browser 410, the window area may be represented as a relative position within the screen of the web browser 410, and scrolls the screen of the web browser 410. However, the absolute position of the window area on the display screen may change when a change such as a change in the position of the web browser 410 occurs.

특히, 웹 브라우저(410)의 스크롤 등으로, 웹 페이지 내의 윈도우 영역의 일부가 보이지 않는 영역으로 이동되는 경우, 응용프로그램(402)의 화면 중 보여져야 할 일부 영역만 보여지도록 플러그인 모듈(420)이 응용프로그램(402)을 제어할 수 있다.In particular, when a part of the window area in the web page is moved to an invisible area due to scrolling of the web browser 410, the plug-in module 420 is configured to show only a part of the screen of the application 402 to be shown. Application 402 can be controlled.

또한, 플러그인 모듈(420)은 응용프로그램(402)의 상태를 점검하여 응용프 로그램(402)이 오동작하거나 비정상종료되는지 여부를 확인하고 응용프로그램(402)이 오동작하거나 비정상종료된 경우, 응용프로그램(402)을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다. 따라서, 응용프로그램(402)에서 문제가 발생하는 경우, 사용자가 응용프로그램(402)을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 플러그인 모듈(420)이 자동으로 응용프로그램(402)을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받을 수 있다.In addition, the plug-in module 420 checks the state of the application 402 to determine whether the application 402 malfunctions or abnormally terminates, and when the application 402 malfunctions or abnormally terminates, 402 may be driven again to operate in a separate process. Thus, when a problem occurs in the application 402, the plug-in module 420 automatically restarts the application 402 without the user forcing the application 402 to shut down and restart a new operation. In this way, the user can be provided with the web service more conveniently.

본 발명은 플러그인 모듈(420)이 응용프로그램(402)의 상태를 점검하는 방법에 따라 제한되지는 아니하며, 도 7에서 상태를 점검하는 방법 중 하나의 실시예를 상술하도록 한다.The present invention is not limited to the way the plug-in module 420 checks the state of the application program 402, and details one embodiment of the method of checking the state in FIG.

그리고, 플러그인 모듈(420)은 웹 브라우저(410)가 종료되는 경우 이를 인지하여 응용프로그램(402)을 종료시키도록 할 수 있다. 웹 브라우저(410)가 정상종료 되는 경우 또는 비정상적으로 종료되는 경우에도 플러그인 모듈(420)이 인지할 수 있다면, 응용프로그램(402)을 종료시키도록 함으로써, 웹 브라우저(410) 및 응용프로그램(402)이 하나의 일관된 서비스를 제공할 수 있도록 제어 할 수 있다.In addition, the plug-in module 420 may recognize when the web browser 410 is terminated and terminate the application program 402. If the plug-in module 420 can recognize even when the web browser 410 is normally terminated or abnormally terminated, the web browser 410 and the application 402 may be terminated by terminating the application 402. This can be controlled to provide a single consistent service.

도 5는 본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.5 is a diagram illustrating an internal configuration of a web service providing system according to another exemplary embodiment of the present invention.

도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 구동부(510), 인터페이스부(520), 중계부(530), 위치 제어부(540) 및 상태 점검부(550)을 포함한다. 상기한 구성요소들은 소프트웨어, 하드웨어 또는 소프트웨어 및 하드웨어가 결합된 형태로 구현될 수 있으며, 서로 연결될 수 있다. 이하 구성요소 별로 구체적으로 기술하도록 한다.As shown in the figure, the web service providing system 501 according to an embodiment of the present invention is the driving unit 510, the interface unit 520, the relay unit 530, the position control unit 540 and the state check unit ( 550). The above components may be implemented in software, hardware, or a combination of software and hardware, and may be connected to each other. Hereinafter, the components will be described in detail.

본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저(410)에 플러그인 되어 소정의 기록장치(430)에 저장된 응용프로그램(402)을 제어한다.Web service providing system 501 according to an embodiment of the present invention is plugged into a web browser 410 that provides a user with a web page received through the Internet through a display screen stored in a predetermined recording device 430 Program 402 is controlled.

구동부(510)는 웹 브라우저(410)의 요청에 따라, 기록장치(430)에 접근하여 응용프로그램(402)을 웹 브라우저(410)와 별도의 프로세스에서 동작하도록 구동시킬 수 있다. 구동부(510)는 별도로 저장된 응용프로그램(402)의 주소 정보를 기초로 기록장치(430)에 접근하여 응용프로그램(402)을 구동시킬 수 있는데, 상기 주소 정보는 물리적 또는 논리적 주소 정보일 수 있으며, 복수의 응용프로그램(402)을 제어하도록 구성하는 경우에는 복수의 응용프로그램(402) 각각에 대응되는 주소 정보를 복수로 보관할 수 있다.The driver 510 may access the recording device 430 to drive the application program 402 in a separate process from the web browser 410 according to a request of the web browser 410. The driving unit 510 may drive the application program 402 by accessing the recording device 430 based on the address information of the application program 402 stored separately. The address information may be physical or logical address information. When configuring the plurality of applications 402 to be controlled, a plurality of address information corresponding to each of the plurality of applications 402 may be stored.

이와 같이 웹 브라우저(410) 및 응용프로그램(402)이 별도의 프로세스에서 동작하므로, 웹 브라우저(410) 및 응용프로그램(402) 사이의 충돌을 방지하고, 응용프로그램(402)의 동작상 문제가 발생하는 경우에도 웹 브라우저(410)를 정상적으로 이용할 수 있는 효과가 있다.As such, since the web browser 410 and the application 402 operate in separate processes, a collision between the web browser 410 and the application 402 is prevented and an operation problem of the application 402 occurs. In this case, the web browser 410 can be used normally.

인터페이스부(520)는 구동된 응용프로그램(402)과 데이터를 주고 받을 수 있도록 연결을 설정한다. 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)이 응용프로그램(402)을 제어하기 위해서는, 응용프로그램(402)과 데이터를 주고 받을 수 있어야 한다. 따라서, 인터페이스부(520)는 데이터를 주고 받을 수 있도 록, 응용프로그램(402)과 연결을 설정한다.The interface unit 520 establishes a connection to exchange data with the driven application program 402. In order for the web service providing system 501 according to an embodiment of the present invention to control the application program 402, it must be able to exchange data with the application program 402. Accordingly, the interface unit 520 establishes a connection with the application program 402 to exchange data.

이 때, 상기 연결은 물리적인 연결을 의미할 수도 있지만, 데이터를 주고 받을 수 있도록 논리적으로 연결되는 것을 의미할 수도 있다. 연결 방법으로는 소켓(Socket) 통신이나 공유 메모리(Shared Memory)등이 사용될 수 있는데, 데이터를 주고 받을 수 있다면 어떤 방법을 이용하여 연결되더라도 무방하다.In this case, the connection may mean a physical connection, but may also mean a logical connection to send and receive data. The connection method may be a socket communication or a shared memory. If data can be transmitted and received, it may be connected using any method.

중계부(530)는 웹 브라우저(410)로부터 수신되는 제어 메시지를 인터페이스부(520)를 통하여 구동된 응용프로그램(402)으로 전송하고, 구동된 응용프로그램(402)으로부터 수신되는 데이터를 웹 브라우저(410)로 전송한다. 응용프로그램(402)이 웹 브라우저(410)와 연동하여 동작하기 위해서는 웹 브라우저(410)와 데이터를 주고 받을 수 있어야 한다. 그런데 응용프로그램(402)은 웹 브라우저(410)와 별도의 프로세스에서 동작하므로, 둘 사이의 데이터 송수신을 제어해 주는 것이 필요하다.The relay unit 530 transmits a control message received from the web browser 410 to the driven application 402 through the interface unit 520, and transmits data received from the driven application 402 to the web browser ( 410). In order for the application 402 to operate in conjunction with the web browser 410, it must be able to exchange data with the web browser 410. However, since the application 402 operates in a separate process from the web browser 410, it is necessary to control data transmission and reception between the two.

본 발명의 일실시예에 따른 웹 서비스 제공 시스템(501)은 응용프로그램(402)을 구동시키고 응용프로그램(402)과의 연결을 설정하였으며, 웹 브라우저(410)에 플러그인 되어 웹 브라우저(410)과 데이터를 주고 받을 수 있으므로, 응용프로그램(402) 및 웹 브라우저(410) 사이의 데이터 송수신을 중계할 수 있다.The web service providing system 501 according to an embodiment of the present invention runs the application program 402 and establishes a connection with the application program 402, and is plugged into the web browser 410 and the web browser 410. Since data may be exchanged, data transmission and reception between the application 402 and the web browser 410 may be relayed.

따라서, 중계부(530)는 응용프로그램(402)과 연결을 설정한 인터페이스부(520)를 통하여 응용프로그램(402)과 데이터를 주고받으며, 웹 브라우저(410)와는 웹 브라우저(410) 또는 단말장치의 운영체제에서 제공하는 연결방법에 따라 데이터를 주고받아 각각에게 전달하는 역할을 수행할 수 있다.Accordingly, the relay unit 530 exchanges data with the application program 402 through the interface unit 520 that establishes a connection with the application program 402, and the web browser 410 or the terminal device with the web browser 410. You can send and receive data according to the connection method provided by the OS.

중계부(530)에서 데이터를 가공 없이 단순히 전달만 할 수도 있지만, 필요에 따라서는 전달하기에 용이한 형태 등으로 변환한 후에 전달할 수도 있다.Although the relay unit 530 may simply transmit the data without processing, it may be transferred after converting the data into a form that is easy to transfer if necessary.

위치 제어부(540)는 웹 브라우저로(410)부터 응용프로그램(402)이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 응용프로그램(402)이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어한다.The position controller 540 receives information on the window area from which the application program 402 is to be viewed on the display screen from the web browser 410, and the application program 402 displays the display based on the received information. Control to be displayed in the window area on the screen.

이 때, 상기 윈도우 영역은 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저(410)에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저(410) 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저(410)의 화면 스크롤(Scroll)이나, 웹 브라우저(410)의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page shown in the web browser 410, or may be an area fixed to a specific location on the display screen in the form of a widget or the like. When the window area is a specific area within a web page viewed by the web browser 410, the window area may be represented as a relative position within the screen of the web browser 410, and scrolls the screen of the web browser 410. However, the absolute position of the window area on the display screen may change when a change such as a change in the position of the web browser 410 occurs.

상태 점검부(550)는 응용프로그램(402)의 상태를 점검하여 응용프로그램(402)이 오동작하거나 비정상종료되는지 여부를 확인한다. 만일 점검 결과 응용프로그램(402)이 오동작하거나 비정상종료된 것이 확인되면, 구동부(510)에서 응용프로그램(402)을 별도의 프로세스에서 동작하도록 다시 구동시킬 수 있다. 따라서, 응용프로그램(402)에서 문제가 발생하는 경우, 사용자가 응용프로그램(402)을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 자동으로 응용프로그램(402)을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받도록 할 수 있다.The state checker 550 checks the state of the application 402 to determine whether the application 402 is malfunctioning or abnormally terminated. If it is confirmed that the application 402 malfunctions or is abnormally terminated, the driver 510 may drive the application 402 again to operate in a separate process. Therefore, when a problem occurs in the application program 402, the user automatically restarts the application program 402 without forcing the user to terminate the application program 402 and restarting the application program. Can be provided with a Web service.

상태 점검부(550)가 응용프로그램(402)의 상태를 점검하기 위하여 인터페이스부(520)를 통하여 응용프로그램(402)과 통신할 수도 있다. 상태 점검부(550)에서 응용프로그램(402)의 상태를 점검하는 방법은 다양한 방법이 존재할 수 있으며, 본 발명은 이에 의해 제한되지 아니한다. 도 7에서는 응용프로그램(402)의 상태를 점검하는 방법의 일례를 도시한다.The status checker 550 may communicate with the application 402 through the interface 520 to check the status of the application 402. The method of checking the state of the application program 402 in the state check unit 550 may exist in various ways, and the present invention is not limited thereto. 7 shows an example of a method of checking the state of the application 402.

도 6은 본 발명에 따라 응용프로그램이 소정의 윈도우 영역 내에서 보여지도록 제어하는 실시예를 도시하는 도면이다.6 is a diagram illustrating an embodiment of controlling an application to be viewed within a predetermined window area according to the present invention.

도면에 도시한 바와 같이, 웹 브라우저는 로딩된 웹 페이지의 설정에 따라 웹 페이지의 화면 중 특정 영역(610)을 윈도우 영역으로 설정할 수 있다. 웹 페이지 내에 포함되는 이미지, 텍스트 등의 데이터나, 웹 브라우저에 플러그인 된 플러그인 모듈로부터 제공되는 영상 등은 웹 페이지의 일부 영역에 배치되도록 하는 것이 용이하다. 하지만, 웹 브라우저와 별도의 프로세스에서 동작하는 응용프로그램이 제공하는 화면(620)을 웹 페이지의 특정 부분에 보여지게 하기 위해서는 별도로 응용프로그램을 제어하는 것이 요구된다.As shown in the figure, the web browser may set the specific area 610 of the screen of the web page as the window area according to the setting of the loaded web page. Data such as images and texts included in a web page or an image provided from a plug-in module plugged into a web browser can be easily disposed in a portion of the web page. However, in order to display the screen 620 provided by an application operating in a separate process from the web browser on a specific part of the web page, it is required to control the application separately.

따라서, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템은 웹 브라우저로부터 상기 윈도우 영역(610)에 대한 정보를 수신하고 이를 기초로 응용프로그램의 화면을 제어할 수 있다. Accordingly, the web service providing system according to an embodiment of the present invention may receive information about the window area 610 from a web browser and control the screen of the application program based on the information.

일례로, 윈도우 영역(610)에 대한 정보는 웹 브라우저에서 웹 페이지를 표시하는 화면 내에서의 위치를 픽셀 값을 이용하여 나타내는 정보일 수 있다. 예를 들어, 웹 페이지 내의 (0,0) - (200, 200)의 영역에 윈도우 영역(610)이 위치함을 나타내는 정보가 될 수 있으며, 이런 경우에는 웹 페이지의 좌 상단에 200 * 200 픽셀의 크기로 응용프로그램이 제공하는 화면이 보여지게 된다. 특히 이런 경우에는 웹 브라우저가 디스플레이 화면 내에서 이동되거나, 스크롤(Scroll)되는 경우, 웹 브라우저에 로딩된 웹 페이지 내에서의 상대적인 위치를 나타낸 것이므로, 웹 브라우저의 이동에 따라 윈도우 영역(610)의 절대적인 위치도 이동하게 된다.For example, the information about the window area 610 may be information indicating a position in a screen displaying a web page in a web browser using a pixel value. For example, it may be information indicating that the window area 610 is located in an area of (0,0)-(200, 200) within a web page, in which case 200 * 200 pixels in the upper left of the web page. The screen provided by the application is shown in the size of. In particular, in this case, when the web browser is moved or scrolled on the display screen, it indicates a relative position in the web page loaded in the web browser. Therefore, the absolute position of the window area 610 is changed according to the movement of the web browser. The location will also move.

또 다른 예로, 윈도우 영역(610)에 대한 정보는 윈도우 영역이 디스플레이 화면에서 절대적으로 차지하는 위치를 픽셀 값을 이용하여 나타내는 정보일 수 있다. 예를 들어, 1280 * 1024의 해상도를 가지는 디스플레이 화면의 경우, (1000, 900)부터 (1280 - 1024)까지를 윈도우 영역으로 지정하는 것과 같이, 고정된 영역에 응용프로그램이 표시될 수 있도록 제어할 수 있다. 이 경우, 디스플레이 화면의 우 하단에 응용프로그램에서 제공되는 화면이 보여지게 되며, 웹 브라우저가 이동되거나 스크롤되는 경우에도 고정된 위치를 확보하며 화면을 제공할 수 있다. 이상의 실시예들은 본 발명을 한정하지 않으며, 다른 방법을 이용하여서도 윈도우 영역을 지정할 수 있다.As another example, the information about the window area 610 may be information indicating a position that the window area absolutely occupies on the display screen using a pixel value. For example, a display screen with a resolution of 1280 * 1024 can be controlled to display an application program in a fixed area, such as specifying (1000, 900) to (1280-1024) as the window area. Can be. In this case, a screen provided by an application program is displayed at the bottom right of the display screen, and the screen may be provided while securing a fixed position even when the web browser is moved or scrolled. The above embodiments do not limit the present invention, and the window area may be designated using other methods.

도 7은 본 발명에 따른 웹 서비스 제공 시스템이 응용프로그램의 상태를 점검하는 실시예를 도시하는 도면이다.7 is a diagram illustrating an embodiment in which the web service providing system according to the present invention checks the state of an application program.

도면에 도시한 바와 같이, 본 발명의 일실시예에 따른 웹 서비스 제공 시스템(401)은 응용프로그램(402)과 데이터를 주고 받을 수 있도록 연결이 설정되어 있을 수 있다.As shown in the figure, the web service providing system 401 according to an embodiment of the present invention may have a connection established to exchange data with the application program 402.

상기 연결을 통하여, 웹 서비스 제공 시스템(401)이 점검 메시지를 응용프로그램(402)에 전달하면(701), 응용프로그램(402)은 상기 점검 메시지에 응답하여, 스스로 정상적으로 동작하고 있는지 상태를 확인할 수 있다(702). 상기 상태 확인 결과, 응용프로그램(402)의 상태가 확인되면, 응용프로그램(402)은 확인된 상태 메시지를 웹 서비스 제공 시스템(401)으로 전달할 수 있다(703). 웹 서비스 제공 시스템(401)은 상기 상태 메시지를 수신하고 이를 기초로 응용 프로그램의 상태를 점검하며(704), 일정 주기가 지나면 다시 점검 메시지를 전송할 수 있다(705).Through the connection, when the web service providing system 401 transmits a check message to the application 402 (701), in response to the check message, the application 402 can check the state whether it is operating normally. 702. As a result of the status check, if the status of the application 402 is confirmed, the application 402 may transmit the confirmed status message to the web service providing system 401 (703). The web service providing system 401 receives the status message and checks the status of the application based on the status message (704), and transmits the check message again after a predetermined period (705).

이 때, 만일 웹 서비스 제공 시스템(401)에서 점검 메시지를 전송한 후에, 소정의 시간이 지나도록 응용프로그램(402)으로부터 상태 메시지가 수신되지 않는다면, 응용프로그램(402)이 오작동하거나 비정상종료 된 것으로 간주하여 처리할 수 있다.At this time, if the status message is not received from the application 402 after a predetermined time elapses after the web service providing system 401 transmits the check message, the application 402 is malfunctioning or abnormally terminated. It can be considered and processed.

이와 같은 방법을 이용하면 이미 설정된 연결을 통하여 응용프로그램(402)의 상태를 간단하게 점검할 수 있으나, 이와 같은 구체적인 방법에 의해서 본 발명이 한정되지는 아니하며, 이 밖에 다양한 방법을 통하여 응용프로그램(402)의 상태를 점검할 수 있다.Using this method, it is possible to simply check the state of the application program 402 through a connection already established, but the present invention is not limited to this specific method, and the application program 402 through various methods. You can check the status of).

도 8은 본 발명의 일실시예에 따른 웹 서비스 제공 방법의 흐름을 도시한 흐름도이다.8 is a flowchart illustrating a flow of a web service providing method according to an embodiment of the present invention.

도 8는 웹 서비스 제공 방법의 설명 상의 편의를 위하여 일부 필요한 기능을 예시하는 도면이므로, 이에 의하여 본 발명의 사상이 제한되지 아니한다.8 is a diagram illustrating some necessary functions for the convenience of description of the method of providing a web service, and thus the spirit of the present invention is not limited thereto.

본 발명의 일실시예에 따른 웹 서비스 제공 방법은 CPU 및 메모리를 구비한 인터넷 단말장치에서 소정의 기록장치에 저장된 응용프로그램을 제어하여 디스플레이 화면을 통해 사용자에게 웹 서비스를 제공한다.The web service providing method according to an embodiment of the present invention provides a web service to a user through a display screen by controlling an application program stored in a predetermined recording device in an internet terminal having a CPU and a memory.

웹 브라우저의 요청에 따라, 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시킨다(S801). 별도로 저장된 응용프로그램의 주소 정보를 기초로 기록장치에 접근하여 응용프로그램을 구동시킬 수 있는데, 상기 주소 정보는 물리적 또는 논리적 주소 정보일 수 있으며, 복수의 응용프로그램을 제어하도록 구성하는 경우에는 복수의 응용프로그램 각각에 대응되는 주소 정보를 복수로 보관할 수 있다.In response to a request of a web browser, the recording apparatus is accessed to drive the application program to operate in a separate process from the web browser (S801). The application may be driven by accessing the recording apparatus based on the address information of the separately stored application program. The address information may be physical or logical address information, and when configured to control the plurality of applications, the plurality of applications may be used. A plurality of address information corresponding to each program can be stored.

이와 같이 웹 브라우저 및 응용프로그램이 별도의 프로세스에서 동작하므로, 웹 브라우저 및 응용프로그램 사이의 충돌을 방지하고, 응용프로그램의 동작상 문제가 발생하는 경우에도 웹 브라우저를 정상적으로 이용할 수 있는 효과가 있다.As such, since the web browser and the application program operate in a separate process, a collision between the web browser and the application program can be prevented and the web browser can be normally used even when a problem occurs in the operation of the application program.

상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정한다(S802). 응용프로그램을 제어하기 위해서는, 응용프로그램과 데이터를 주고 받을 수 있어야 한다. 따라서, 데이터를 주고 받을 수 있도록, 응용프로그램과 연결을 설정한다.A connection is established to exchange data with the driven application program (S802). To control an application, you need to be able to send and receive data with the application. Therefore, establish a connection with the application program to send and receive data.

이 때, 상기 연결은 물리적인 연결을 의미할 수도 있지만, 데이터를 주고 받을 수 있도록 논리적으로 연결되는 것을 의미할 수도 있다. 연결 방법으로는 소켓(Socket) 통신이나 공유 메모리(Shared Memory)등이 사용될 수 있는데, 데이터를 주고 받을 수 있다면 어떤 방법을 이용하여 연결되더라도 무방하다.In this case, the connection may mean a physical connection, but may also mean a logical connection to send and receive data. The connection method may be a socket communication or a shared memory. If data can be transmitted and received, it may be connected using any method.

상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램 으로 전송한다(S803). 또한, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송한다(S804). 응용프로그램이 웹 브라우저와 연동하여 동작하기 위해서는 웹 브라우저와 데이터를 주고 받을 수 있어야 한다. 그런데 응용프로그램은 웹 브라우저와 별도의 프로세스에서 동작하므로, 둘 사이의 데이터 송수신을 제어해 주는 것이 필요하다.The control message received from the web browser is transmitted to the driven application program (S803). In addition, data received from the driven application is transmitted to the web browser (S804). In order for an application to work with a web browser, it must be able to exchange data with the web browser. However, since the application runs in a separate process from the web browser, it is necessary to control the data transmission and reception between the two.

이 때, 데이터를 가공 없이 단순히 전달만 할 수도 있지만, 필요에 따라서는 전달하기에 용이한 형태 등으로 변환한 후에 전달할 수도 있다.In this case, the data may be simply transmitted without processing, but may be transferred after converting the data into a form that is easy to deliver if necessary.

상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어한다(S805).The application program receives information about the window area to be viewed on the display screen from the web browser, and controls the application program to be displayed in the window area on the display screen based on the received information (S805). .

이 때, 상기 윈도우 영역은 웹 브라우저에서 보여지는 웹 페이지 내의 특정 영역일 수도 있고, 위젯 등과 같은 형태로 디스플레이 화면의 특정 위치에 고정된 형태의 영역일 수도 있다. 윈도우 영역이 웹 브라우저에서 보여지는 웹 페이지 내의 특정 영역인 경우, 상기 윈도우 영역은 웹 브라우저 화면 내에서 상대적인 위치로 표현될 수 있으며, 웹 브라우저의 화면 스크롤(scroll)이나, 웹 브라우저의 위치 변경 등과 같은 변동 시에 디스플레이 화면상에서의 절대적인 윈도우 영역의 위치는 변동될 수 있다.In this case, the window area may be a specific area within a web page viewed in a web browser, or may be an area fixed to a specific location on the display screen in a form of a widget or the like. When the window area is a specific area within a web page viewed in a web browser, the window area may be represented as a relative position in the web browser screen, such as scrolling the screen of the web browser or changing the position of the web browser. At the time of change, the position of the absolute window area on the display screen may change.

상기 응용프로그램의 상태를 점검하여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인한다(S806). 만일 상기 응용프로그램이 오동작하거 나 비정상종료된 것으로 확인되는 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 단계 S801을 다시 수행하도록 한다(S807). 따라서, 응용프로그램에서 문제가 발생하는 경우, 사용자가 응용프로그램을 강제종료 시키고 새로 구동시키는 등의 동작을 하지 않고도, 자동으로 응용프로그램을 재가동시켜서, 사용자가 보다 편리하게 웹 서비스를 제공받도록 할 수 있다.The state of the application is checked to determine whether the application is malfunctioning or abnormally terminated (S806). If it is determined that the application program is malfunctioning or abnormally terminated, step S801 is performed again to operate the application program in a separate process (S807). Therefore, when a problem occurs in an application program, the user can automatically restart the application program without forcing the user to terminate the application program and restarting the application program, so that the user can be provided with a web service more conveniently. .

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

이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.

그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the equivalents of the claims, as well as the claims.

도 1은 종래 기술에 따라 플러그인 모듈을 이용하여 웹 서비스를 제공하는 화면을 도시하는 도면이다.1 is a diagram illustrating a screen for providing a web service using a plug-in module according to the related art.

도 2는 종래 기술에 따른 플러그인 모듈을 이용한 웹서비스 제공 시스템을 도시하는 도면이다.2 is a diagram illustrating a web service providing system using a plug-in module according to the related art.

도 3은 본 발명의 일실시예에 따른 웹 서비스 제공 시스템을 도시하는 도면이다.3 is a diagram illustrating a web service providing system according to an exemplary embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.4 is a diagram showing the internal configuration of a web service providing system according to an embodiment of the present invention.

도 5는 본 발명의 다른 일실시예에 따른 웹 서비스 제공 시스템의 내부 구성을 도시하는 도면이다.5 is a diagram illustrating an internal configuration of a web service providing system according to another exemplary embodiment of the present invention.

도 6은 본 발명에 따라 응용프로그램이 소정의 윈도우영역 내에서 보여지도록 제어하는 실시예를 도시하는 도면이다.FIG. 6 is a diagram illustrating an embodiment of controlling an application program to be viewed within a predetermined window area according to the present invention.

도 7은 본 발명에 따른 웹 서비스 제공 시스템이 응용프로그램의 상태를 점검하는 실시예를 도시하는 도면이다.7 is a diagram illustrating an embodiment in which the web service providing system according to the present invention checks the state of an application program.

도 8은 본 발명의 일실시예에 따른 웹 서비스 제공 방법의 흐름을 도시한 흐름도이다.8 is a flowchart illustrating a flow of a web service providing method according to an embodiment of the present invention.

<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>

401: 웹 서비스 제공 시스템401: web service providing system

402: 응용프로그램402: application

410: 웹 브라우저410: web browser

420: 플러그인 모듈420: plug-in module

430: 기록장치430: recording device

Claims (18)

CPU 및 메모리를 구비한 인터넷 단말장치에 적용되는 웹 서비스 제공 시스템에 있어서,In the web service providing system applied to the Internet terminal device having a CPU and a memory, 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저;A web browser for providing a web page received through the Internet to a user through a display screen; 상기 웹 브라우저의 요청에 따라 동작하는 응용프로그램을 저장하는 기록장치; 및A recording device for storing an application program operated at the request of the web browser; And 상기 웹 브라우저에 플러그인 되고 상기 응용프로그램을 제어하는 플러그인 모듈Plug-in module that plugs into the web browser and controls the application 을 포함하고,/ RTI &gt; 상기 플러그인 모듈은The plug-in module 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 포함하고,Including address information indicating a location in which the application program is stored in the recording device; 상기 웹 브라우저의 요청에 따라, 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키고,At the request of the web browser, accessing the recording device based on the address information to drive the application program to operate in a separate process from the web browser, 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하며,Transmitting a control message received from the web browser to the driven application, transmitting data received from the driven application to the web browser, 상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어하며,Receiving information on the window area to be viewed on the display screen, the application program from the web browser, and controls the application program to be displayed in the window area on the display screen based on the received information, 상기 응용프로그램의 상태를 점검하여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하고 상기 응용프로그램이 오동작하거나 비정상종료된 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 다시 구동시키는 것을 특징으로 하는 웹 서비스 제공 시스템.Checking the status of the application to determine whether the application malfunctions or abnormally terminates, and if the application malfunctions or abnormally terminates, the web may be driven again to operate in a separate process. Service delivery system. 삭제delete 삭제delete 제1항에 있어서,The method of claim 1, 상기 플러그인 모듈은The plug-in module 상기 윈도우영역에 변동이 있을 경우, 상기 응용프로그램이 변동된 윈도우 영역 내에서 사용자에게 보여지도록 제어하는 것을 특징으로 하는 웹 서비스 제공 시스템.And the application program is controlled to be displayed to the user in the changed window area when the window area is changed. 삭제delete 인터넷을 통하여 수신되는 웹 페이지를 디스플레이 화면을 통하여 사용자에게 제공하는 웹 브라우저에 플러그인 되어 소정의 기록장치에 저장된 응용프로그램을 제어하는 웹 서비스 제공 시스템에 있어서,In the web service providing system that plugs into a web browser that provides a web page received through the Internet to a user through a display screen to control an application stored in a predetermined recording device, 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 저장하는 응용프로그램 주소 관리부;An application program address manager which stores address information indicating a location where the application program is stored in the recording device; 상기 웹 브라우저의 요청에 따라, 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 구동부;A driving unit for driving the application program to operate in a process separate from the web browser by accessing the recording device based on the address information at the request of the web browser; 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 인터페이스부;An interface unit for establishing a connection to exchange data with the driven application program; 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 인터페이스부를 통하여 상기 구동된 응용프로그램으로 전송하고, 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 중계부;A relay unit transmitting a control message received from the web browser to the driven application program through the interface unit, and transmitting data received from the driven application program to the web browser; 상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어하는 위치 제어부; 및A position control unit for receiving, from the web browser, information about a window area to be viewed on the display screen, and controlling the application program to be displayed in the window area on the display screen based on the received information; And 상기 응용프로그램의 상태를 점검하여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하는 상태 점검부A state check unit that checks the state of the application to determine whether the application is malfunctioning or abnormally terminated 를 포함하고,Including, 상기 구동부는The driving unit 상기 응용프로그램이 오동작하거나 비정상종료된 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 다시 구동시키는 것을 특징으로 하는 웹 서비스 제공 시스템.If the application is malfunctioning or abnormally terminated, the web service providing system, characterized in that for driving the application to run again in a separate process. 삭제delete 삭제delete 제6항에 있어서,The method of claim 6, 상기 위치 제어부는The position control unit 상기 윈도우영역에 변동이 있을 경우, 상기 응용프로그램이 변동된 윈도우 영역 내에 보여지도록 제어하는 것을 특징으로 하는 웹 서비스 제공 시스템.And if there is a change in the window area, the application program is controlled to be displayed in the changed window area. 삭제delete 제6항에 있어서,The method of claim 6, 상기 상태 점검부는The state check unit 주기적으로 상기 인터페이스부를 통하여, 상기 응용프로그램에 점검 메시지를 전송하고, 상기 점검 메시지에 응답하여 상기 응용프로그램으로부터 수신되는 상태 메시지를 검사하여 상기 응용프로그램의 상태를 점검하는 것을 특징으로 하는 웹 서비스 제공 시스템.Periodically transmitting a check message to the application through the interface unit, and checking a status message received from the application in response to the check message to check the state of the application. . CPU 및 메모리를 구비한 인터넷 단말장치에서 소정의 기록장치에 저장된 응용프로그램을 제어하여 디스플레이 화면을 통해 사용자에게 웹 서비스를 제공하는 웹 서비스 제공 방법에 있어서,A web service providing method of providing a web service to a user through a display screen by controlling an application stored in a predetermined recording device in an internet terminal device having a CPU and a memory. 상기 기록장치 내에서 상기 응용프로그램이 저장된 위치를 나타내는 주소 정보를 유지하는 단계;Maintaining address information indicating a location in which the application program is stored in the recording device; 웹 브라우저의 요청에 따라, 상기 주소 정보를 기초로 상기 기록장치에 접근하여 상기 응용프로그램을 상기 웹 브라우저와 별도의 프로세스에서 동작하도록 구동시키는 단계;At the request of a web browser, accessing the recording device based on the address information and driving the application program to operate in a process separate from the web browser; 상기 구동된 응용프로그램과 데이터를 주고 받을 수 있도록 연결을 설정하는 단계;Establishing a connection to exchange data with the driven application program; 상기 웹 브라우저로부터 수신되는 제어 메시지를 상기 구동된 응용프로그램으로 전송하는 단계;Transmitting a control message received from the web browser to the driven application program; 상기 구동된 응용프로그램으로부터 수신되는 데이터를 상기 웹 브라우저로 전송하는 단계;Transmitting data received from the driven application to the web browser; 상기 웹 브라우저로부터 상기 응용프로그램이 상기 디스플레이 화면상에서 보여져야 할 윈도우영역에 대한 정보를 수신하고, 상기 수신한 정보를 기초로 상기 응용프로그램이 상기 디스플레이 화면상에서 상기 윈도우영역 내에 보여지도록 제어하는 단계;Receiving information about the window area to be viewed on the display screen by the application program from the web browser, and controlling the application program to be displayed in the window area on the display screen based on the received information; 상기 응용프로그램의 상태를 점검하여 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하는 단계; 및Checking the state of the application to determine whether the application is malfunctioning or abnormally terminated; And 상기 응용프로그램이 오동작하거나 비정상종료된 경우, 상기 응용프로그램을 별도의 프로세스에서 동작하도록 다시 구동시키는 단계를 포함하는 것을 특징으로 하는 웹 서비스 제공 방법.If the application is malfunctioning or abnormally terminated, the web service providing method comprising the step of driving the application again to run in a separate process. 삭제delete 삭제delete 제12항에 있어서,The method of claim 12, 상기 윈도우영역에 변동이 있는 경우, 상기 응용프로그램이 변동된 윈도우 영역 내에 보여지도록 제어하는 단계If there is a change in the window area, controlling the application program to be displayed in the changed window area. 를 더 포함하는 것을 특징으로 하는 웹 서비스 제공 방법.Web service providing method comprising a further. 삭제delete 제12항에 있어서,The method of claim 12, 상기 응용프로그램이 오동작하거나 비정상종료되는지 여부를 확인하는 단계는Checking whether the application malfunctions or abnormally terminates 주기적으로 상기 설정된 연결을 통하여, 상기 응용프로그램에 점검 메시지를 전송하고, 상기 점검 메시지에 응답하여 상기 응용프로그램으로부터 수신되는 상태 메시지를 검사하여 상기 응용프로그램의 상태를 점검하는 것을 특징으로 하는 웹 서비스 제공 방법.Periodically providing a check message to the application through the established connection, and checking the status of the application by checking a status message received from the application in response to the check message. Way. 제12항, 제15항, 제17항 중 어느 한 항의 방법을 실행하기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록 매체.A computer-readable recording medium in which a program for executing the method of any one of claims 12, 15 and 17 is recorded.
KR1020080131438A 2008-12-22 2008-12-22 Method and system for providing web service by using middleware plug-in KR101181879B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080131438A KR101181879B1 (en) 2008-12-22 2008-12-22 Method and system for providing web service by using middleware plug-in

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080131438A KR101181879B1 (en) 2008-12-22 2008-12-22 Method and system for providing web service by using middleware plug-in

Publications (2)

Publication Number Publication Date
KR20100072895A KR20100072895A (en) 2010-07-01
KR101181879B1 true KR101181879B1 (en) 2012-09-11

Family

ID=42635977

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080131438A KR101181879B1 (en) 2008-12-22 2008-12-22 Method and system for providing web service by using middleware plug-in

Country Status (1)

Country Link
KR (1) KR101181879B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717520B1 (en) 2005-12-06 2007-05-11 주식회사 인프라웨어 Mobile terminal providing mobile internet services and user interface method therefor

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100717520B1 (en) 2005-12-06 2007-05-11 주식회사 인프라웨어 Mobile terminal providing mobile internet services and user interface method therefor

Also Published As

Publication number Publication date
KR20100072895A (en) 2010-07-01

Similar Documents

Publication Publication Date Title
US8359384B2 (en) Method, system, and apparatus for communicating with a computer management device
US20140333509A1 (en) System and method for communicating and interacting with a display screen using a remote device
KR101166797B1 (en) System and method for browsing based on smart card, and smart card applied to the same
KR101512118B1 (en) Exposing resource capabilities to web applications
KR101251250B1 (en) System for performing remote control using remote device driver and method for performing the same
US8762544B2 (en) Selectively communicating data of a peripheral device to plural sending computers
CN103197842A (en) Method and device for controlling application program windows
US10223062B1 (en) Method and apparatus of capturing a screen image of a remotely managed machine
CN102770870A (en) Specialized network fileserver
JP2007328419A (en) Control program and communication system
US10178170B2 (en) Browser-based virtual media administration
US8589954B2 (en) Method and program for selective suspension of USB network device
KR20120113642A (en) Apparatus and method for exchange data between automotive head unit and mobile device
US20090113017A1 (en) Arrangements for A 3270 compatible terminal with browser capability
KR101181879B1 (en) Method and system for providing web service by using middleware plug-in
US8984540B2 (en) Multi-user computer system
WO2023179395A1 (en) Data transmission system and method, service system, device, and storage medium
KR20100073245A (en) Method and system for providing 3d contents through internet
US9087031B2 (en) Method and program for selective suspension of USB device
CN111600883A (en) Vehicle diagnosis method and system, electronic equipment and storage medium
KR20160000912A (en) Method for providing of cloud streamming service, apparatus and system for the same, and computer readable storage medium storing script code for the same
WO2009108346A2 (en) System and method for using virtual ip addresses in a multi-user server system
CN115934378A (en) Service data processing method and device, electronic equipment and storage medium
CN102685216A (en) Attribute display method and attribute display system of universal serial bus (USB) equipment, USB equipment and server
CN115174562A (en) Remote assistance communication method and system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160826

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180829

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190827

Year of fee payment: 8