KR20140014907A - 대상 프로그램 제어 시스템 및 그 방법 - Google Patents

대상 프로그램 제어 시스템 및 그 방법 Download PDF

Info

Publication number
KR20140014907A
KR20140014907A KR1020120082207A KR20120082207A KR20140014907A KR 20140014907 A KR20140014907 A KR 20140014907A KR 1020120082207 A KR1020120082207 A KR 1020120082207A KR 20120082207 A KR20120082207 A KR 20120082207A KR 20140014907 A KR20140014907 A KR 20140014907A
Authority
KR
South Korea
Prior art keywords
control
program
target program
web browser
target
Prior art date
Application number
KR1020120082207A
Other languages
English (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 KR1020120082207A priority Critical patent/KR20140014907A/ko
Publication of KR20140014907A publication Critical patent/KR20140014907A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

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

Abstract

특정 웹 브라우저에 한정된 기능에 종속되지 방식으로 사용자 단말에서 구동되는 대상 프로그램을 제어하는 시스템 및 그 방법이 개시된다. 본 발명의 일 측면에 따르면, 대상 프로그램 제어 시스템이 사용자 단말에서 구동되는 웹 브라우저로부터 소정의 서비스 제공 요청을 수신하는 단계 및 수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 제어 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 제어 프로그램을 호출하도록 제어하는 단계를 포함하되, 상기 웹 브라우저는 상기 호출 신호에 응답하여, 상기 제어 프로그램을 호출하며, 상기 제어 프로그램은 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 대상 프로그램 제어 방법이 제공된다.

Description

대상 프로그램 제어 시스템 및 그 방법{Target program control system and method thereof}
본 발명은 대상 프로그램 제어 시스템 및 그 방법에 관한 것이다. 보다 상세하게는 특정 웹 브라우저에 한정된 기능에 종속되지 방식으로 사용자 단말에서 구동되는 대상 프로그램을 제어하는 시스템 및 그 방법에 관한 것이다.
많은 운영체제들이 웹 브라우저를 기본적으로 내장하여 배포하는 등의 이유로 웹 브라우저에 의한 인터넷 접근이 간편해짐에 따라, 최근 대부분의 인터넷 서비스는 웹 기반으로 제공되고 있다. 한편, 인터넷의 급속한 발달과 함께 인터넷을 이용한 각종 서비스들이 등장하고 있다. 인터넷 서비스의 종류가 다양해짐에 따라 서비스를 제공하기 위한 기술 또한 복잡해지고 있다. 그러나, 웹 브라우저가 가지는 고유의 기능 또는 웹 표준 기술(예를 들면, html 표준 등)만으로는 복잡해진 서비스의 구현이 점점 어려워지고 있어, 종래에는 대부분 마이크로소프트사의 액티브 엑스(Active X)를 이용하여 이를 구현하고 있었다.
액티브 엑스는 웹 브라우저를 통해 인터넷을 거쳐 동작하는 배포용 어플리케이션을 만들 수 있도록 하는 기술로서, 마이크로소프트사에서 제공하는 인터넷 익스플로러 (Internet Explorer; 이하, 'IE'라고 함)의 플러그 인으로 동작하므로 IE에서만 한정적으로 작동한다. 따라서, 이러한 액티브 액스가 적용된 웹 서비스를 제공받기 위해서는 마이크로소프트사의 윈도우 운영체제 및 IE 환경이 반드시 요구된다.
그러나, 대부분의 컴퓨팅 환경이 윈도우 운영체제 및 IE 하에 있던 예전과는 달리, 컴퓨팅 환경이 윈도우 운영체제에서 애플사의 OSX나 iOS, 리눅스, 구글사의 안드로이드 운영체제 등으로 다변화하고 있으며, 하나의 운영체제 하에서 사용자들이 이용하는 웹 브라우저도 사파리, 오페라, 파이어폭스, 크롬 등으로 다양해지고 있는 현재의 추세 하에서는 종래의 액티브 액스 기술로는 이러한 다양한 환경에서 서비스를 제공받고자 하는 사용자의 요구를 충족시키지 못하는 문제점이 있었다.
한편, 웹 서비스 제공자들은 보안 등의 이유로 서비스를 제공하기 이전 단계에서, 백신 프로그램, 방화벽(firewall) 프로그램, 키로깅(키 입력 가로채기) 방지 프로그램 등이 사용자의 단말에서 구동되도록 하는 경우가 점차 늘어가고 있으며, 특히 인터넷 뱅킹 서비스의 경우에는 위 프로그램들을 사용자 단말에 필수적으로 제공하도록 강제되고 있는 실정이다. 이러한 보안 프로그램들 역시 액티브 액스로 개발되는 경우가 많고, 웹 서비스를 제공하는 사이트들은 각각 서로 다른 액티브 액스를 사용자 단말에 설치하고 있어, 사용자 단말의 기능이 저하되고 액티브 액스들 간의 충돌로 인한 오류가 빈번히 발생하고 있다. 또한, 사용자는 각종 웹 사이트에서 설치를 강제하는 액티브 액스를 무심코 자신의 단말에 설치하는 경향이 생겨 보안 프로그램을 가장한 악성코드가 쉽게 배포되는 문제점도 발생하고 있다.
따라서, IE 등 특정한 웹 브라우저에 종속적이지 않은 방식으로 사용자에게 각종 웹 서비스를 제공할 수 있도록 하며, 웹 서비스 제공자들이 사용자 단말에 별도의 액티브 액스를 설치하지 않고 사용자 단말에 이미 설치되어 있는 프로그램이나 사용자 단말에 설치되어 있는 운영체제에서 제공하는 기능(예를 들면, 방화벽 서비스와 같은 윈도우 운영체제의 로컬 시스템 서비스)을 이용하여 자신의 서비스를 제공할 수 있도록 하는 기술적 사상이 요구된다.
본 발명은 상기 종래 기술의 문제점을 해결하고자 안출된 발명으로써, 본 발명이 이루고자 하는 기술적인 과제는 사용자 단말에 미리 설치되어 있는 각종 프로그램이나 기능을 웹 서버 측에서 제어, 관리할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 사용자 단말에 미리 설치되어 있는 각종 프로그램이나 기능의 제어를 특정한 웹 브라우저에 종속적이지 않은 방식으로 수행할 수 있는 시스템 및 그 방법을 제공하는 것이다.
또한, 사용자 단말이 방화벽 내에 위치해 있는 경우라고 하더라도 웹 서비스에 필요한 제어 대상 프로그램에 접근할 수 있도록 하는 시스템 및 그 방법을 제공하는 것이다.
본 발명의 일 측면에 따르면, 대상 프로그램 제어 시스템이 사용자 단말에서 구동되는 웹 브라우저로부터 소정의 서비스 제공 요청을 수신하는 단계 및 수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 제어 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 제어 프로그램을 호출하도록 제어하는 단계를 포함하되, 상기 웹 브라우저는 상기 호출 신호에 응답하여, 상기 제어 프로그램을 호출하며, 상기 제어 프로그램은 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 대상 프로그램 제어 방법이 제공된다.
일 실시예에서, 상기 호출 신호는, 상기 웹 브라우저가 상기 제어 프로그램의 호출 시에 상기 제어 프로그램으로 전달하는 제어 정보를 포함하며, 상기 제어 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 대상 프로그램 제어 방법은, 상기 대상 프로그램 제어 시스템이 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로 제어 정보를 전송하는 단계를 더 포함하되, 상기 제어 프로그램은, 전송된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 상기 제어 프로그램은, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하며, 상기 대상 프로그램 제어 방법은, 상기 대상 프로그램 제어 시스템이 상기 서비스의 종료 이벤트를 감지하는 단계 및 상기 대상 프로그램 제어 시스템이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램이 상기 기존 설정으로 복원되도록, 상기 제어 프로그램을 제어하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 대상 프로그램 제어 시스템이 상기 서비스의 종료 이벤트를 감지하는 단계는, 상기 대상 프로그램 제어 시스템이 상기 웹 브라우저로부터 소정의 종료 신호를 수신하는 경우 또는 소정의 타임아웃 기간동안 상기 웹 브라우저 또는 상기 제어 프로그램으로부터 입력되는 신호가 없는 경우, 상기 대상 프로그램 제어 시스템이 상기 종료 이벤트가 발생하였다고 판단하는 단계를 포함할 수 있다.
일 실시예에서, 상기 대상 프로그램은, 상기 사용자 단말의 로컬 시스템 서비스이며, 상기 제어 프로그램은, 상기 대상 프로그램의 제어 커맨드 또는 상기 대상 프로그램에서 제공하는 API(Application Programming Interface)를 이용하여 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 상기 대상 프로그램은, 상기 사용자 단말의 운영체제에 내장된 방화벽 서비스일 수 있다.
일 실시예에서, 상기 대상 프로그램 제어 방법은, 상기 대상 프로그램 제어 시스템이 상기 호출 신호를 전송한 시점으로부터 소정의 타임아웃 기간 내에 상기 제어 프로그램으로부터 응답신호를 수신하지 않는 경우, 상기 사용자 단말에 상기 제어 프로그램이 설치되도록 상기 웹 브라우저를 제어하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 대상 프로그램 제어 시스템이 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로부터 상기 제어 프로그램의 버전 정보를 수신하는 단계, 상기 버전 정보와 상기 대상 프로그램 제어 시스템에 유지되는 현재 버전 정보를 비교하는 단계 및 비교 결과, 서로 상이한 경우, 상기 대상 프로그램 제어 시스템이 상기 제어 프로그램을 상기 현재 버전에 상응하도록 업데이트하는 단계를 더 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 대상 프로그램 제어 시스템이 사용자 단말에서 구동되는 웹 브라우저로부터 소정의 서비스 제공 요청을 수신하는 단계 및 수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 대상 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 대상 프로그램을 호출하도록 제어하는 단계를 포함하되, 상기 웹 브라우저는,
상기 호출 신호에 응답하여, 상기 대상 프로그램을 호출하며, 상기 호출 신호는, 상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며, 상기 대상 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 방법이 제공된다.
본 발명의 다른 일 측면에 따르면, 사용자 단말에서 구동되는 웹 브라우저가 소정의 서비스 제공 요청을 대상 프로그램 제어 시스템으로 전송하는 단계, 상기 웹 브라우저가 상기 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 소정의 제어 프로그램의 호출 신호를 수신하는 단계, 상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 제어 프로그램을 호출하는 단계 및 상기 제어 프로그램이 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 단계를 포함하는 대상 프로그램 제어 방법이 제공된다.
일 실시예에서, 상기 호출 신호는 상기 대상 프로그램을 제어하기 위한 제어 정보를 포함하며, 상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 제어 프로그램을 호출하는 단계는, 상기 웹 브라우저가 상기 제어 프로그램을 호출하고, 상기 제어 프로그램에 상기 제어 정보를 전달하는 단계를 포함하며, 상기 제어 프로그램이 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 단계는, 상기 제어 프로그램이 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 단계를 포함할 수 있다.
일 실시예에서, 대상 프로그램 제어 방법은, 상기 제어 프로그램이 상기 대상 프로그램 제어 시스템으로부터 제어 정보를 수신하는 단계 및 상기 제어 프로그램이 수신된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 단계를 더 포함할 수 있다.
일 실시예에서, 대상 프로그램 제어 방법은, 상기 제어 프로그램이, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하는 단계, 상기 제어 프로그램이 상기 서비스의 종료 이벤트를 감지하는 단계 및 상기 제어 프로그램이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램을 상기 기존 설정으로 복원하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 제어 프로그램이 상기 서비스의 종료 이벤트를 감지하는 단계는, 상기 웹 브라우저가 종료되거나 상기 제어 프로그램이 상기 대상 프로그램 제어 시스템으로부터 소정의 종료 신호를 수신하는 경우, 상기 종료 이벤트가 발생하였다고 판단하는 단계를 포함할 수 있다.
본 발명의 다른 일 측면에 따르면, 사용자 단말에서 구동되는 웹 브라우저가 소정의 서비스 제공 요청을 대상 프로그램 제어 시스템으로 전송하는 단계 및 상기 웹 브라우저가 상기 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 소정의 대상 프로그램의 호출 신호를 수신하는 단계 및 상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 대상 프로그램을 호출하는 단계를 포함하되, 상기 호출 신호는, 상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며, 상기 대상 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 방법이 제공된다.
본 발명의 다른 일 측면에 따르면, 상술한 대상 프로그램 제어 방법을 수행하기 위한 컴퓨터 프로그램이 수록된 컴퓨터 판독 가능한 기록매체가 제공된다.
본 발명의 다른 일 측면에 따르면, 사용자 단말에서 구동되는 웹 브라우저로부터 소정의 서비스 제공 요청을 수신하는 통신모듈 및 수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 제어 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 제어 프로그램을 호출하도록 제어하는 제어모듈을 포함하되, 상기 웹 브라우저는, 상기 호출 신호에 응답하여, 상기 제어 프로그램을 호출하며, 상기 제어 프로그램은, 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 대상 프로그램 제어 시스템이 제공된다.
일 실시예에서, 상기 호출 신호는, 상기 웹 브라우저가 상기 제어 프로그램의 호출 시에 상기 제어 프로그램으로 전달하는 제어 정보를 포함하며, 상기 제어 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 상기 제어모듈은, 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로 제어 정보를 전송하며, 상기 제어 프로그램은, 전송된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 상기 제어 프로그램은, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하며, 상기 대상 프로그램 제어 시스템은, 상기 서비스의 종료 이벤트를 감지하는 종료이벤트 감지모듈을 더 포함하되, 상기 제어모듈은, 상기 종료이벤트 감지모듈이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램이 상기 기존 설정으로 복원되도록, 상기 제어 프로그램을 제어할 수 있다.
일 실시예에서, 종료이벤트 감지모듈은, 상기 대상 프로그램 제어 시스템이 상기 웹 브라우저로부터 소정의 종료 신호를 수신하는 경우 또는 소정의 타임아웃 기간동안 상기 웹 브라우저 또는 상기 제어 프로그램으로부터 입력되는 신호가 없는 경우, 상기 대상 프로그램 제어 시스템이 상기 종료 이벤트가 발생하였다고 판단할 수 있다.
일 실시예에서, 상기 제어모듈은, 상기 호출 신호를 전송한 시점으로부터 소정의 타임아웃 기간 내에 상기 제어 프로그램으로부터 응답신호를 수신하지 않는 경우, 상기 사용자 단말에 상기 제어 프로그램이 설치되도록 상기 웹 브라우저를 제어할 수 있다.
일 실시예에서, 상기 통신모듈은, 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로부터 상기 제어 프로그램의 버전 정보를 수신하며, 상기 제어모듈은, 상기 버전 정보와 상기 대상 프로그램 제어 시스템에 유지되는 현재 버전 정보를 비교하고, 비교 결과 서로 상이한 경우, 상기 제어 프로그램을 상기 현재 버전에 상응하도록 업데이트할 수 있다.
본 발명의 다른 일 측면에 따르면, 사용자 단말에서 구동되는 웹 브라우저로부터 소정의 서비스 제공 요청을 수신하는 통신모듈 및 수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 대상 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 대상 프로그램을 호출하도록 제어하는 제어모듈을 포함하되, 상기 웹 브라우저는, 상기 호출 신호에 응답하여, 상기 대상 프로그램을 호출하며, 상기 호출 신호는, 상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며, 상기 대상 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 시스템이 제공된다.
본 발명의 다른 일 측면에 따르면, 웹 브라우저, 제어 프로그램 및 대상 프로그램을 포함하는 사용자 단말로서, 상기 웹 브라우저는, 소정의 서비스 제공 요청을 대상 프로그램 제어 시스템으로 전송하고, 상기 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 제어 프로그램의 호출 신호를 수신하는 경우 상기 제어 프로그램을 호출하며, 상기 제어 프로그램은, 상기 웹 브라우저에 의해 호출되는 경우 상기 대상 프로그램을 제어하는 사용자 단말이 제공된다.
일 실시예에서, 상기 호출 신호는 상기 대상 프로그램을 제어하기 위한 제어 정보를 포함하며, 상기 웹 브라우저는, 상기 제어 프로그램의 호출 시 상기 제어 프로그램에 상기 제어 정보를 전달하고, 상기 제어 프로그램은, 전달된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어할 수 있다.
일 실시예에서, 상기 제어 프로그램은, 상기 대상 프로그램 제어 시스템으로부터 제어 정보를 수신하고, 수신된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 사용자 단말.
일 실시예에서, 상기 제어 프로그램은, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하고, 상기 서비스의 종료 이벤트를 감지한 경우 상기 대상 프로그램을 상기 기존 설정으로 복원할 수 있다.
일 실시예에서, 상기 제어 프로그램은, 상기 웹 브라우저가 종료되거나 상기 대상 프로그램 제어 시스템으로부터 소정의 종료 신호를 수신하는 경우, 상기 종료 이벤트가 발생하였다고 판단할 수 있다.
본 발명의 다른 일 측면에 따르면, 웹 브라우저 및 대상 프로그램을 포함하는 사용자 단말로서, 상기 웹 브라우저는, 소정의 서비스 제공 요청을 대상 프로그램 제어 시스템으로 전송하고, 상기 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 대상 프로그램의 호출 신호를 수신하는 경우 상기 대상 프로그램을 호출하며, 상기 호출 신호는, 상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며, 상기 대상 프로그램은, 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 사용자 단말이 제공된다.
본 발명의 다른 일 측면에 따르면, 제어 프로그램을 수록한 컴퓨터 판독 가능한 기록매체로서, 상기 제어 프로그램은, 웹 브라우저에 의해 호출되는 경우 소정의 대상 프로그램을 제어하며, 상기 웹 브라우저는, 소정의 서비스 제공 요청을 대상 프로그램 제어 시스템으로 전송하고 상기 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 제어 프로그램의 호출 신호를 수신하는 경우 상기 제어 프로그램을 호출하는 컴퓨터 판독 가능한 기록 매체가 제공된다.
종래에는 웹 서비스의 제공 주체는 웹 서비스를 제공하기 전에, 사용자의 단말에 자신의 서비스를 위한 별도의 프로그램(특히 액티브 액스)을 설치하였다. 예를 들면, 인터넷 뱅킹 사이트의 경우, 사용자가 다수의 인터넷 뱅킹 사이트에 접속하는 경우 각각의 사이트마다 인증서 관련 프로그램, 키 가로채기 방지 프로그램, 방화벽 프로그램 등을 사용자 단말에 설치하였다. 하지만 본 발명의 기술적 사상에 따르면, 웹 서버 측은 자신의 웹 서비스를 제공하기 위해 사용자 단말에 미리 설치된 대상 프로그램을 제어할 뿐, 별도의 프로그램(예를 들면, 액티브 액스)를 사용자 단말에 설치하지 아니하므로 여러 개의 중복된 기능을 수행하는 프로그램이 설치되어 사용자 단말의 성능이 저하되는 것을 방지할 수 있다. 또한, 대상 프로그램이 로컬 시스템 서비스인 경우, 종래와 같이 다수의 프로그램이 설치되어 서로 충돌을 일으키거나 단말의 시스템을 망가뜨리는 부작용을 방지할 수 있는 효과가 있다.
또한, 본 발명의 기술적 사상에 따르면, 웹 서버 측은 사용자가 웹 서비스를 이용할 당시에만 사용자 단말에 설치된 대상 프로그램의 설정을 변경하고, 사용자가 서비스 이용을 끝내는 경우 원래의 설정대로 되돌릴 수 있다. 특히, 대상 프로그램이 방화벽 서비스인 경우 상술한 웹 서비스 이용하는 동안에만 방화벽 보안 설정을 적용하고, 서비스의 이용이 끝날 경우 원래의 방화벽 설정으로 되돌림으로써 사용자가 방화벽 설정으로 인해 불편함을 겪는 것을 방지할 수 있다.
한편, 웹 서비스를 제공하기 위해 웹 브라우저를 통해 소정의 프로그램을 호출하는 경우, 종래에는 특정 웹 브라우저(예컨대, IE)가 소정의 플러그인 코드(예컨대, 액티브 엑스 등)를 이용하여 해당 프로그램의 설치 유무 또는 버전 정보 등을 서비스 제공시스템으로 응답하였다. 따라서, 웹 브라우저를 통해 특정 프로그램 호출하는 경우에는, 이러한 기능을 하는 별도의 코드가 존재하여야 했거나 또는 상기 코드가 존재하지 않는 경우 또는 상기 코드가 설치되지 못하는 경우에는 적절한 서비스를 제공하지 못하였다. 하지만, 본 발명의 기술적 사상에 의하면, 호출되는 프로그램 자체가 대상 프로그램 제어 시스템으로 자신의 존재 유무 및/또는 버전 정보 등을 응답함으로써, 웹 브라우저에 종속적이지 않으면서도 원하는 프로그램을 상기 웹 브라우저를 통해 호출하여 웹 서비스를 제공할 수 있다.
한편, 상기 호출되는 프로그램이 전술한 바와 같이 서비스를 위한 응답을 상기 대상 프로그램 제어 시스템으로 전송함으로써, 웹 브라우저에 종속되지 않는 범용의 서비스 플랫폼을 제공하는 효과가 있지만, 상기 어플리케이션이 설치되지 않은 경우에는 아예 응답을 수행할 주체가 없으므로 서버에서 아무런 대응을 할 수 없는 문제점 즉, 서비스가 개시될 수 없는 문제점이 존재하였다. 하지만, 본 발명의 기술적 사상에 의하면, 이러한 문제점을 대상 프로그램 제어 시스템 측의 타임아웃 체크에 의해 해결함으로써 서비스 플랫폼의 범용성과 동시에 완결성을 제공할 수 있는 효과가 있다.
또한, 본 발명의 기술적 사상에 의하면, 특정한 웹 브라우저에 종속적이지 않은 방식으로 웹 서비스에 필요한 어플리케이션을 제어 및 관리할 수 있는 방안을 제공할 수 있다.
또한, 사용자 단말이 방화벽 내에 위치해 있어 웹 서비스에 필요한 어플리케이션과의 통신 경로가 차단된 경우라고 하더라도 상기 웹 서비스를 제공하는 시스템은 상기 로컬 어플리케이션에 접근할 수 있도록 하는 방안을 제공할 수 있다.
또한, 웹 서버 측은 특정한 웹 브라우저에 종속적이지 않은 방식으로 웹 서비스에 필요한 대상 프로그램을 제어할 수 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 개략적인 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다.
도 3은 본 발명의 다른 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다.
도 4는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 대상 프로그램 제어하고 복원 방법을 나타내는 도면이다.
도 5는 본 발명의 다른 일 실시예에 따른 대상 프로그램 제어 시스템이 대상 프로그램 제어하고 복원 방법을 나타내는 도면이다.
도 6은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 제어 프로그램을 업데이트하는 방법을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 사용자 단말에 제어 프로그램을 제공하는 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다.
본 발명은 다양한 변환을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에 있어서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터를 '전송'하는 경우에는 상기 구성요소는 상기 다른 구성요소로 직접 상기 데이터를 전송할 수도 있고, 적어도 하나의 또 다른 구성요소를 통하여 상기 데이터를 상기 다른 구성요소로 전송할 수도 있는 것을 의미한다. 반대로 어느 하나의 구성요소가 다른 구성요소로 데이터를 '직접 전송'하는 경우에는 상기 구성요소에서 다른 구성요소를 통하지 않고 상기 다른 구성요소로 상기 데이터가 전송되는 것을 의미한다.
이하, 첨부된 도면들을 참조하여 본 발명의 실시예들을 중심으로 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 1는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 개략적인 구성을 나타내는 도면이다.
먼저, 도 1을 참조하면, 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템(100)은 통신 모듈(110), 제어 모듈(120), 종료 이벤트 감지모듈(130), 및/또는 암호키 생성 모듈(140)을 포함할 수 있다.
상기 제어모듈(120)은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템(100)에 포함된 다른 구성들(예컨대, 통신 모듈(110) 및/또는 제어 모듈(120) 등)의 기능 및/또는 리소스를 제어할 수 있으며, 상기 통신 모듈(110)은 사용자 단말(200)로부터 소정의 정보를 송수신할 수 있다. 이를 위하여, 상기 통신 모듈(110)은 유/무선 네트워크 인터페이스 카드(Network Interface Card; NIC)를 포함할 수 있다. 상기 종료 이벤트 감지모듈(130), 상기 암호키 생성모듈(140) 및 제어모듈(120)의 구체적 기능에 대하여는 후술하기로 한다.
본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템(100)은 유/무선 네트워크를 통하여 소정의 웹 서버(300)와 연결될 수 있다. 또는 구현 예에 따라 상기 대상 프로그램 제어 시스템(100)은 상기 웹 서버(300)에 설치되어 구현될 수도 있다. 상기 웹 서버(300)는 사용자 단말(200)의 요청에 응답하여 제공하고자 하는 서비스에 따른 각종 정보 또는 컨텐츠를 웹 페이지에 포함하여 제공하는 시스템을 의미할 수 있다. 따라서, 사용자는 사용자 단말(200)에 설치된 웹 브라우저를 이용하여 상기 웹 서버(300)로부터 소정의 서비스를 제공받을 수 있다.
본 발명의 일 실시 예에 의하면, 대상 프로그램 제어 시스템(100)은 구성 요소의 전부 또는 일부가 상기 웹 서버(300)에 포함되어, 본 발명의 기술적 사상을 실현할 수 있다. 다른 실시 예에 의하면, 대상 프로그램 제어 시스템(100)은 상기 웹 서버(300)과는 별도로 구비되고, 상기 웹 서버(300)과의 통신을 통하여 유기적으로 결합되어 본 발명의 기술적 사상을 실현할 수도 있다.
한편, 상기 대상 프로그램 제어 시스템(100)은 상기 사용자 단말(200)에 기 설치된 제어 대상 프로그램을 제어하기 위한 소정의 제어 프로그램을 상기 사용자 단말(200)에 제공하거나 상기 제어 프로그램을 통하여 상기 대상 프로그램을 제어할 수 있다. 또한, 상기 웹 서버(300)가 제공하는 서비스를 이용하는 사용자 단말(200)과 소정의 정보를 송수신함으로써 본 발명에 따른 기술적 사상을 구현할 수 있다.
상기 대상 프로그램 제어 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 필요한 하드웨어 리소스(resource) 및/또는 소프트웨어를 구비할 수 있으며, 반드시 하나의 물리적인 구성요소를 의미하거나 하나의 장치를 의미하는 것은 아니다. 즉, 상기 대상 프로그램 제어 시스템(100)은 본 발명의 기술적 사상을 구현하기 위해 구비되는 하드웨어 및/또는 소프트웨어의 논리적인 결합을 의미할 수 있으며, 필요한 경우에는 서로 이격된 장치에 설치되어 각각의 기능을 수행함으로써 본 발명의 기술적 사상을 구현하기 위한 논리적인 구성들의 집합으로 구현될 수도 있다. 또한, 상기 대상 프로그램 제어 시스템(100)은 본 발명의 기술적 사상을 구현하기 위한 각각의 기능 또는 역할별로 별도로 구현되는 구성들의 집합을 의미할 수도 있다. 예컨대, 상기 통신 모듈(110), 제어 모듈(120), 종료 이벤트 감지모듈(130), 및/또는 암호키 생성 모듈(140)은 서로 다른 물리적 장치에 위치할 수도 있고, 동일한 물리적 장치에 위치할 수도 있다. 또한, 구현 예에 따라서는 상기 통신 모듈(110), 제어 모듈(120), 종료 이벤트 감지모듈(130), 및/또는 암호키 생성 모듈(140) 등 각각의 모듈 역시 서로 다른 물리적 장치에 위치하고, 서로 다른 물리적 장치에 위치한 구성들이 서로 유기적으로 결합되어 각각의 모듈들이 수행하는 기능을 실현할 수도 있다.
또한, 본 명세서에서 모듈이라 함은, 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적, 구조적 결합을 의미할 수 있다. 예컨대, 상기 모듈은 소정의 코드와 상기 소정의 코드가 수행되기 위한 하드웨어 리소스의 논리적인 단위를 의미할 수 있으며, 반드시 물리적으로 연결된 코드를 의미하거나, 한 종류의 하드웨어를 의미하는 것은 아님은 본 발명의 기술분야의 평균적 전문가에게는 용이하게 추론될 수 있다.
상기 사용자 단말(200)은 컴퓨터, 랩탑, 데스크탑, 타블렛 PC, PDA(Personal Digital Assistant)를 포함하는 컴퓨팅 장치일 수 있으며, 휴대 전화, 위성 전화, 무선 전화, SIP(Session Initiation Protocol), WLL(Wireless Local Loop) 스테이션, 스마트폰, 기타 무선 접속 기능을 갖는 핸드헬드 장치를 포함하는 무선 컴퓨팅 장치 또는 다른 무선 모뎀에 연결된 프로세싱 장치일 수도 있다.
상기 사용자 단말(200) 상에서는 웹 브라우저(210), 제어 프로그램(220) 및/또는 대상 프로그램(230)이 구동될 수 있다.
상기 제어 프로그램 (220)은 상기 대상 프로그램 제어 시스템(220)으로부터 전달된 제어 정보에 상응하도록 상기 대상 프로그램(230)을 제어할 수 있다. 또한, 상기 제어 프로그램(220)은 상기 웹 브라우저(210)에 의해 호출되기 이전에는 상기 사용자 단말(220)상에서 실행되지 않다가, 상기 웹 브라우저(210)의 호출에 의해 비로소 상기 사용자 단말(200)의 주 메모리에 로딩되어 실행될 수 있다.
일 실시예에서, 상기 제어 프로그램(220)은 상기 웹 브라우저(210)와는 별개로 사용자 단말(200)에 저장 또는 설치되는 응용프로그램일 수 있다. 다른 일 실시예에서 상기 제어 프로그램(220)은 상기 웹 브라우저(210)와는 별개로 사용자 단말(200)에 저장 또는 설치되며, 상기 웹 브라우저(210)에 의한 호출(call) 이외에는 상기 웹 브라우저(210)와 어떠한 인터렉션(interaction)도 하지 않는 응용프로그램일 수 있다.
한편, 일 실시예에서, 상기 대상 프로그램(230)은 상기 제어 프로그램(220) 및 상기 웹 브라우저(210)와는 별개로 사용자 단말(200)에 미리 저장 또는 설치되는 응용프로그램일 수 있다. 상기 대상 프로그램(220)은 상기 웹 서버(300) 및/또는 상기 대상 프로그램 제어 시스템(100)이 제공하는 소정의 서비스를 구현하기 위한 일련의 동작을 수행할 수 있고, 특히, 상기 웹 브라우저(210)에 의해서는 구현될 수 없는 기능을 수행할 수 있다. 예를 들어, 상기 웹 서버(300) 및/또는 상기 대상 프로그램 제어 시스템(100)이 인터넷 뱅킹 서비스를 제공하는 경우, 상기 어플리케이션은 보안을 위한 각종 기능(예를 들면, 공인인증서를 통한 사용자 보안 기능, 키보드 보안 기능, 암호화 기능, 방화벽 기능 등)을 수행할 수 있다.
일 실시예에서, 상기 대상 프로그램(230)은 사용자 단말의 로컬 시스템 서비스일 수 있다. 본 명세서에서, 로컬 시스템 서비스라 함은 운영 체제가 시동될 때 실행되며, 사용자에 의해 강제로 사용 중지가 되지 않는 한 운영체제가 실행되고 동안 백그라운드 모드에서 실행되는 프로그램일 수 있다. 따라서, 본 명세서에서, 로컬 시스템 서비스은 마이크로소프트사의 윈도우 운영체제의 윈도우 서비스(windows service) 혹은 유닉스나 리눅스 운영체제의 데몬(daemon) 등을 포함하는 넓은 의미로 사용될 수 있다. 예를 들어 로컬 시스템 서비스는 방화벽 서비스, 키로거 방지 서비스, 안티 바이러스(anti-virus) 서비스, telnet 서비스, ftp 서비스, 원격 접속 서비스 등일 수 있다.
한편, 일 실시예에서, 상기 대상 프로그램(230)은 사용자 단말(200)의 운영체제에 내장된 로컬 시스템 서비스일 수도 있다. 이 경우, 상기 대상 프로그램(230)은 상기 사용자 단말(200)의 운영체제에 포함되어 사용자에게 제공될 수 있으며 사용자 단말(230)에 상기 운영체제가 설치될 때 함께 설치될 수 있다. 하지만 이에 한정되는 것은 아니며, 다른 일 실시예에서, 상기 대상 프로그램(230)은 상기 대상 프로그램 제어 시스템(100), 상기 웹 서버(300) 또는 다른 웹 사이트로부터 제공되어 사용자 단말(200)에 미리 설치된 로컬 시스템 서비스일 수도 있다.
상기 대상 프로그램(230)은 운영체제가 시동될 때 실행되는 로컬 시스템 서비스일 수도 있지만, 상기 제어 프로그램(220)에 의해 실행되는 일반 응용프로그램일 수도 있다.
본 발명에서 웹 브라우저(210)는, 예를 들면 IE, 크롬, 사파리, 파이어폭스 등, 웹 서버와 쌍방으로 통신하여 URL(Uniform Resource Locator)에 의해 특정되는 HTML 문서나 파일 기타 인터넷 자원 등에 접근하고, 웹 서버에 의해 제공되는 웹 페이지를 해석하고 표현할 수 있는 응용 프로그램이라면 어떠한 것이라도 무방하다.
본 발명의 실시예에 따라, 도 1의 구성요소들 중 일부 구성요소는 반드시 본 발명의 구현에 필수적으로 필요한 구성요소에 해당하지 않을 수도 있으며, 또한 실시예에 따라 상기 대상 프로그램 제어 시스템(100) 및 사용자 단말(200)은 이보다 더 많은 구성요소를 포함할 수도 있음은 물론이다.
이하에서는 도 2 내지 도 8을 참조하여 본 발명의 다양한 실시예에 대해 설명한다.
도 2는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다.
도 2를 참조하면, 사용자가 사용자 단말(200)에 설치된 웹 브라우저(210)를 통해 상기 웹 서버(300)로 웹 서비스 제공 요청을 하는 경우(S21), 상기 통신모듈(110)은 상기 웹 서비스 제공 요청에 상응하는 요청 신호를 수신할 수 있다.
일 실시예에서, 상기 서비스 제공 요청은 해당 서비스를 제공하기 위한 웹 페이지(즉, 사용자가 해당 서비스를 제공 받기 위해 웹 브라우저에 입력하는 URL에 의해 특정되는 웹 페이지)로의 접속 요청일 수도 있고, 상기 웹 페이지를 통해 입력되는 로그인 요청일 수도 있다.
만약 도 2에 도시된 바와 같이, 상기 대상 프로그램 제어 시스템(100)이 상기 웹 서버(300)와 별도의 장치로 구현된 경우에는, 상기 요청 신호는 상기 웹 서버(300)에 의해 출력될 수 있다. 이 경우, 상기 웹 서버(300)가 상기 웹 브라우저(210)로부터 웹 서비스 제공 요청을 수신하면, 상기 웹 서버(300)는 소정의 요청 신호를 상기 대상 프로그램 제어 시스템(100)으로 전송할 수 있으며, 구현 예에 따라서는 상기 웹 서비스 제공 요청으로부터 파악할 수 있는 상기 웹 브라우저(210)에 관한 정보 및/또는 상기 웹 브라우저(210)가 설치된 사용자 단말(200)에 관한 정보가 상기 요청 신호에 포함될 수 있다. 한편, 도 2에 도시된 실시예와 달리, 상기 대상 프로그램 제어 시스템(300)이 상기 웹 서버(300)에 포함되는 형태로 구현되는 경우에는, 상기 요청 신호는 상기 웹 브라우저(210)에 의해 출력되는 웹 서비스 제공 요청 그 자체일 수도 있다.
상기 제어 모듈(120)은 상기 요청 신호(또는 상기 서비스 제공 요청)에 대한 응답으로 상기 사용자 단말(200)에서 실행될 제어 프로그램(220)의 호출신호를 상기 웹 브라우저(210)로 전송할 수 있다(S22). 상기 제어 모듈(120)은 상기 호출신호를 상기 웹 서버(300)를 통하여 상기 웹 브라우저(210)에 전달할 수도 있고, 상기 웹 브라우저(210)로 직접 전송할 수도 있다.
한편, 상기 호출신호는 상기 웹 브라우저(210)로부터의 서비스 요청에 대한 응답으로서 상기 웹 브라우저(210)로 하여금 상기 제어 프로그램(220)을 호출하도록 하는 소정의 신호일 수 있다. 한편, 상기 호출신호는 상기 웹 브라우저의 서비스 요청에 대한 응답으로서 제공되는 웹 페이지 내에 포함될 수 있다. 상기 호출신호는, 도 2에 도시된 바와 같이, 상기 제어 프로그램(220)으로 전달될 제어 정보 I 및/또는 상기 제어 프로그램(220)과 상기 대상 프로그램 제어 시스템(100)간의 암호화 채널 생성에 필요한 소정의 정보(예를 들어, 난수 R1)와 함께 상기 웹 브라우저(210)로 전송될 수 있다.
일 실시예에서, 상기 호출신호는 상기 웹 브라우저(210)가 상기 제어 프로그램(220)을 호출함으로써 상기 제어 프로그램(220)이 상기 사용자 단말(200) 상에서 실행되도록 제어하기 위한 제어 명령을 포함할 수 있다. 즉, 상기 웹 브라우저(210)가 상기 제어 명령이 포함된 호출 신호를 수신하면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출하여 실행되도록 할 수 있다.
특정 실시예에서, 상기 제어 명령은 W3C(World Wide Web Consortium)의 URL 프로토콜 핸들(Protocol Handle) 방법(http://dev.w3.org/html5/spec의 Custom scheme and content handlers항목 참조)에 따른 형식일 수 있다. 상기 제어명령에 응답하여 상기 제어 프로그램(220)이 실행되기 위해서는 예컨대, 상기 제어 프로그램(220)이 상기 사용자 단말(200)에 설치될 때, 상기 제어 프로그램(220)의 식별정보 및 이에 상응하는 프로토콜 식별정보가 상기 사용자 단말의 시스템 정보(예컨대, 윈도우 운영체제의 레지스트리) 또는 웹 브라우저의 설정 정보 등에 등록될 수 있다. 그러면, 이후에 상기 웹 브라우저가 상기 프로토콜 식별정보를 포함하는 제어명령이 수신된 경우, 등록된 정보를 참조하여 상기 프로토콜 식별정보에 상응하는 어플리케이션 식별정보를 이용하여 상기 제어 프로그램(220)을 호출할 수 있다. 예를 들어 상기 제어 명령은 "smartsign://parameter1 parameter2 …" 등의 형식일 수 있다. 그러면, 상기 "smartsign"이라는 프로토콜에 상응하며 미리 등록된 소정의 제어 프로그램(220)이 실행될 수 있다.
다른 특정 실시예에서, 상기 제어 명령은 HTML의 OBJECT 태그에 의해 표현될 수 있다. 예를 들면, 상기 제어 명령은 사용자 단말(200)에 저장 또는 설치된 제어 프로그램(220)의 경로를 파라미터로서 가지는 OBJECT 태그일 수 있다. 그러면 상기 웹 브라우저(210)는 서비스 요청에 따른 응답으로 제공 받은 웹 페이지 내에서 상기 OBJECT 태그를 발견하고 상기 경로에 저장 또는 설치된 제어 프로그램(220)을 호출할 수 있다. 다만 본 실시예는 예시적인 것일 뿐이며, 본 발명의 기술적 사상이 이에 한정되는 것은 아니다.
상기 웹 브라우저(210)가 어플리케이션 호출신호를 수신하면, 상술한 바와 같이, 상기 웹 브라우저(210)는 사용자 단말(200)에 저장 또는 설치되어 있는 제어 프로그램(220)이 실행되도록 상기 제어 프로그램(220)을 호출한다(S23). 이때, 상기 웹 브라우저(210)는 상기 실행 요청과 함께 전송 받은 제어 정보 I 및/또는 제1 난수 R1을 호출 파라미터로 하여 상기 제어 프로그램(220)으로 전달할 수 있다.
따라서, 본 발명의 기술적 사상에 따르면, 상기 사용자 단말(200)이 방화벽안에 있는 경우에도 상기 대상 프로그램 제어 시스템(100)은 제어 프로그램(220)으로 데이터를 전송할 수 있다. 즉, 상기 대상 프로그램 제어 시스템(100)이 상기 웹 브라우저(210) 이외의 다른 어플리케이션으로 데이터를 전송하지 못하는 방화벽 환경 하에 있는 경우에도 상기 대상 프로그램 제어 시스템(100)은 상기 제어 프로그램(220)으로 데이터를 전송하거나 상기 제어 프로그램(220)을 제어하는 방안을 확보할 수 있다.
상기 제어 프로그램(220)이 실행되면, 상기 제어 프로그램(220)은 전달받은 제어 정보 I에 상응하도록 상기 대상 프로그램(230)을 제어할 수 있다(S24).
상기 제어 정보 I에는 상기 대상 프로그램(230)을 실행/중지하라는 명령, 일시정지/재개하라는 명령, 상기 대상 프로그램(230)의 설정 정보를 변경하라는 명령, 데이터를 조회(query)하라는 명령 등을 포함할 수 있다.
상기 제어 정보 I에 포함될 수 있는 정보는 제어하고자 하는 대상 프로그램(230)의 종류에 따라 상이할 수 있다. 예를 들어, 상기 대상 프로그램(230)이 방화벽 서비스인 경우, 상기 제어 정보 I는 특정 사이트를 차단하거나, 특정 사이트만을 허용하거나, 특정 포트나 특정 프로토콜을 허용 또는 차단하라는 등의 명령을 포함할 수 있다. 예를 들면 상기 제어 정보 I는 『[Permit / Deny] [Protocol Type] [Source address] [Destination address] [Port number] 』와 같은 형식일 수 있고 Network ACL(Access Control List)의 형태일 수도 있지만 이에 한정되는 것은 아니다. 예를 들어, 상기 대상 프로그램 제어 시스템(100)이 자신과 상기 웹서버(300)를 제외한 다른 인터넷 사이트의 접속을 차단하고자 하는 경우, 상기 대상 프로그램 제어 시스템(100)은 상기 제어 정보 I를 『Deny All; Allow 대상 프로그램 제어 시스템(100)의 주소; Allow 웹 서버(300)의 주소』과 같이 구성하여 상기 제어 프로그램(220)으로 전달할 수 있다.
한편, 상기 제어 프로그램(220)은 전달받은 제어 정보 I에 포함된 제어 규칙대로 상기 대상 프로그램을 제어할 수 있다. 상기 제어 프로그램(220)이 상기 대상 프로그램(230)을 제어하는 방법은 다양할 수 있다. 예를 들면, 상기 대상 프로그램(230)이 윈도우 운영체제의 로컬 시스템 서비스인 경우, 상기 제어 프로그램(220)은 운영체제에서 제공하는 제어 커맨드를 이용하여 상기 대상 프로그램을 제어할 수도 있다. 예를 들어, 상기 대상 프로그램(230)이 방화벽 서비스인 경우, 상기 제어 프로그램(220)은 방화벽 서비스를 제어하기 위한 커맨드 라인 제어 프로그램(예를 들면, netsh 등)을 이용하여 방화벽 서비스를 제어할 수 있다.
구현 예에 따라서는, 상기 제어 프로그램(220)은 상기 대상 프로그램(230)이 제공하는 API(Application Programming Interface)를 이용하여 상기 대상 프로그램(230)을 제어할 수 있다. 즉, 상기 대상 프로그램(230)은 외부에서 자신을 제어할 수 있도록 소정의 인터페이스를 제공할 수 있으며, 상기 제어 프로그램(220)은 이를 이용하여 상기 대상 프로그램(230)을 제어할 수 있다.
한편, 상기 제어 프로그램(220)은 응답신호를 상기 대상 프로그램 제어 시스템(100)으로 전송할 수 있다(S25). 구현 예에 따라서는 상기 로컬 어플리케이션은 상기 응답신호와 함께 또는 개별적으로 상기 제어 프로그램(220)의 상태정보(S) 및/또는 상기 제어 프로그램(220)과 상기 대상 프로그램 제어 시스템(100)간의 암호화 채널 생성을 위한 제2난수 R2를 상기 대상 프로그램 제어 시스템(100)으로 더 전송할 수도 있다.
상기 상태 정보S는 상기 제어 프로그램(220)이 정상 수행되었는지 여부에 관한 정보 및/또는 상기 대상 프로그램 제어의 결과에 관한 정보일 수 있다. 즉, 상기 제어 프로그램(220)이 정상적으로 실행되었는지 실행 중 오류를 일으켰는지에 관한 정보를 포함할 수도 있고, 상기 대상 프로그램(230)이 리턴한 제어 명령의 실행 결과에 대한 정보를 포함할 수도 있다.
한편, 본 발명의 기술적 사상이 도면에 도시된 각 과정의 순서에 의해 한정되는 것은 아니다. 예를 들면, 도 2의 실시예에서, 상기 제어 프로그램(220)은 상기 대상 프로그램(230)을 제어한 후 상기 응답 신호를 상기 대상 프로그램 제어 시스템(100)으로 전송하지만, 구현 예에 따라서는 이와 달리, 상기 제어 프로그램(220)은 제2 난수 R2 및 자신의 실행 결과에 대한 상태 정보를 상기 대상 프로그램 제어 시스템(100)으로 전송한 후, 상기 대상 프로그램(230)을 제어하고, 제어 결과에 대한 응답 신호를 전송하는 방식으로 구현될 수도 있다.
한편, 일 실시예에서, 상기 대상 프로그램 제어 시스템(100)은 상기 제어 프로그램(220)과의 암호화 통신에 사용되는 암호키를 생성하기 위한 암호키 생성 모듈(140)을 더 포함할 수 있다. 본 실시예의 구현을 위하여, 상술한 바와 같이 상기 대상 프로그램 제어 시스템(100)은 호출신호에 제1 난수 R1를 포함하여 이를 상기 제어 프로그램(220)에 전달할 수 있고(도 2의 S22 단계 참조), 상기 제어 프로그램(220)은 상기 응답 신호에 제2 난수 R2를 더 포함하여 이를 상기 대상 프로그램 제어 시스템(100)에 전달할 수 있다(도2의 S25 단계 참조). 그러면, 상기 암호키 생성 모듈(140)은 상기 제1 난수 및 상기 제2 난수를 입력 값 중 일부로 하는 소정의 암호키 생성 함수를 이용하여 암호키를 생성할 수 있고, 이후 상기 제어 모듈(120)은 생성된 상기 암호키로 데이터를 암호화하여 상기 어플리케이션에 전달할 수 있다. 한편, 상기 제어 프로그램(220)도 상기 제1 난수 및 상기 제2 난수를 이용하여 암호키를 생성할 수 있으며 생성한 암호키로 상기 제어 모듈(120)에 의해 암호화된 데이터를 복호화할 수 있다.
특정 실시예에서, 상기 제1 난수는 상기 제어 프로그램(220)의 공개키로 암호화되어 상기 어플리케이션(2200에 전달될 수 있고, 상기 제2 난수는 상기 대상 프로그램 제어 시스템(100)의 공개키로 암호화되어 상기 대상 프로그램 제어 시스템(100)으로 전달될 수 있다. 한편, 상기 암호키 생성 함수는 SEED, ARIA, DES, 3DES, BLOWFISH, CAST-128나 AES 등으로 구현될 수 있으나 이에 한정되는 것은 아니다.
도 3은 본 발명의 다른 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다. 도 3을 설명함에 있어, 도 2와 동일하거나 유사한 부분은 상세한 설명을 생략한다.
도 3을 참조하면, 상기 웹 브라우저(210)가 상기 웹 서버(300)로 웹 서비스 제공 요청을 전송하면(S31), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 제어 프로그램(220)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S32). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S33).
도 2와는 달리, 도 3에서는 제어 프로그램 호출 신호에 제어 정보가 포함되어 있지 아니하며, 상기 웹 브라우저(210)에 의해 상기 제어 프로그램(220)이 호출된 후 제어 정보가 상기 제어 프로그램으로 직접 전송된다.
즉, S33단계 이후, 호출된 상기 제어 프로그램(220) 자신의 실행 상태(정상 실행인지, 실행 시 오류가 있었는지 여부 등)를 포함할 수 있는 제1 응답 신호를 상기 대상 프로그램 제어 시스템(100)으로 전송하면(S34), 상기 제어 모듈(120)은 그에 대한 응답으로 상기 대상 프로그램(230)을 제어하기 위한 제어 정보 I를 상기 제어 모듈(220)로 전송할 수 있고(S35), 상기 제어 프로그램(220)은 상기 제어 정보 I에 상응하도록 상기 대상 프로그램을 제어할 수 있다(S36). 이후, 상기 제어 프로그램(220)은 제어 결과를 포함하는 제2 응답 신호를 상기 대상 프로그램 제어 시스템(100)으로 전송할 수 있다.
본 발명의 기술적 사상에 따르면, 상술한 바에 의해, 웹 서버는 자신의 웹 서비스를 제공하기 위해 사용자 단말에 미리 설치된 대상 프로그램을 제어할 뿐, 별도의 프로그램(예를 들면, 액티브 액스)를 사용자 단말에 설치하지 아니하므로 여러 개의 중복된 기능을 수행하는 프로그램이 설치되어 사용자 단말의 성능이 저하되는 것을 방지할 수 있다. 또한, 대상 프로그램이 로컬 시스템 서비스인 경우, 종래와 같이 다수의 프로그램이 설치되어 서로 충돌을 일으키거나 단말의 시스템을 망가뜨리는 부작용을 방지할 수 있는 효과가 있다.
도 4는 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 대상 프로그램 제어하고 복원 방법을 나타내는 도면이다. 도 4를 설명함에 있어, 도 2와 동일하거나 유사한 부분은 상세한 설명을 생략한다.
도 4를 참조하면, 상기 웹 브라우저(210)가 상기 웹 서버(300)로 웹 서비스 제공 요청을 전송하면(S41), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 제어 프로그램(220)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S42). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S43).
그러면, 상기 제어 프로그램(220)은 상기 대상 프로그램(230)을 제어하기 전에, 상기 대상 프로그램(230)으로부터 현재의 설정 정보 C를 얻어와 저장할 수 있다(S44). 예를 들면, 상기 대상 프로그램(230)이 방화벽 서비스이며, 상기 방화벽 서비스는 모든 입출력 트래픽을 허용하는 상태라고 하면, 상기 제어 프로그램(230)은 상기 방화벽 서비스의 설정 정보 C를 얻어와 『Allow All』과 같은 형식으로 설정 정보C를 저장할 수 있다. 상기 제어 프로그램(220)은 상기 대상 프로그램(230)의 현재 설정 정보 C를 얻어오기 위해서 상술한 제어 커맨드 또는 상기 대상 프로그램(230)이 제공하는 API를 이용할 수 있다. 이후, 상기 제어 프로그램(220)은 제어 정보 I에 상응하도록 상기 대상 프로그램(230)을 제어할 수 있다.
사용자가 상기 웹 서버(300)가 제공하는 웹 서비스를 종료하는 경우, 상기 종료 이벤트 감지 모듈(130)은 이를 감지할 수 있다. 예를 들면 상기 종료 이벤트 감지 모듈(130)은 상기 웹 브라우저로부터 소정의 종료 신호(접속 종료 신호 또는 로그아웃 신호 등)를 수신하는 경우 또는 소정의 타임아웃 기간동안 상기 웹 브라우저 또는 상기 제어 프로그램으로부터 입력되는 신호가 없는 경우, 상기 종료 이벤트가 발생하였다고 판단할 수 있다.
그러면, 상기 제어모듈(120)은 상기 대상 프로그램(230)이 기존 설정으로 복원되도록, 상기 제어 프로그램(220)을 제어할 수 있다. 예를 들면 상기 제어모듈(120)은 상기 제어 프로그램(220)으로 복원 명령을 전송할 수 있다.
그러면, 상기 제어 프로그램(220)은 S44단계에서 저장한 기존 설정 정보 C를 이용하여, 상기 대상 프로그램을 복원할 수 있다(S48).
도 5는 본 발명의 다른 일 실시예에 따른 대상 프로그램 제어 시스템이 대상 프로그램 제어하고 복원 방법을 나타내는 도면이다. 도 4에 도시된 실시예와 달리 도 5에 도시된 실시예에서는, 웹 서비스의 종료를 상기 제어 프로그램(230)이 감지한다.
도 5를 참조하면, 상기 웹 브라우저(210)가 상기 웹 서버(300)로 웹 서비스 제공 요청을 전송하면(S51), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 제어 프로그램(220)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S52). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S53). 그러면, 상기 제어 프로그램(220)은 상기 대상 프로그램(230)을 제어하기 전에, 상기 대상 프로그램(230)으로부터 현재의 설정 정보 C를 얻어와 저장하고 상기 대상 프로그램을 제어 정보 I에 상응하도록 제어할 수 있다(S54, S55).
이후, 상기 제어 프로그램(220)은, 구현 예에 따라, 상기 웹 브라우저(210)가 종료되는 경우 또는 상기 대상 프로그램 제어 시스템으로부터 소정의 종료 신호를 수신하는 경우, 종료 이벤트가 발생하였다고 판단할 수 있다(S56). 전자의 경우, 예를 들어, 상기 제어 프로그램(220)은 상기 웹 브라우저(210)에 상응하는 프로세스를 감시할 수 있으며, 상기 웹 브라우저(210)에 상응하는 프로세스가 사라지는 경우 상기 웹 브라우저(210)가 종료되었다고 판단할 수 있다.
그러면, 상기 제어 프로그램(220)은 S44단계에서 저장한 기존 설정 정보 C를 이용하여, 상기 대상 프로그램을 복원할 수 있다(S57).
상술한 실시예에 따르면, 상술한 실시예를 채용한 웹 서버는 사용자가 웹 서비스를 이용할 당시에만 사용자 단말에 설치된 대상 프로그램의 설정을 변경하고, 사용자가 서비스 이용을 끝내는 경우 원래의 설정대로 되돌릴 수 있다. 특히, 대상 프로그램이 방화벽 서비스인 경우 상술한 웹 서비스 이용 시만 방화벽 보안 설정을 적용하고, 서비스의 이용이 끝날 경우 원래의 방화벽 설정으로 되돌림으로써 사용자가 방화벽 설정으로 인해 불편함을 겪는 것을 방지할 수 있다.
도 6은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 제어 프로그램을 업데이트하는 방법을 설명하기 위한 도면이다.
도 6을 참조하면, 상기 웹 브라우저(210)가 상기 웹 서버(300)로 서비스 제공 요청을 전송하면(S61), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 제어 프로그램(220)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S62). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S63).
이후, 상기 제어 프로그램(220)은 자신의 버전(로컬 버전 V1)을 포함하는 응답신호를 상기 대상 프로그램 제어 시스템(100)으로 전송하면(S64), 제어 모듈(120)은 상기 응답신호에 포함된 로컬 버전 정보 V1과 상기 대상 프로그램 제어 시스템(100)에서 유지하고 있는 상기 제어 프로그램의 현재 버전(예를 들면, 최신 버전) V2를 비교할 수 있다(S65). 이를 위해, 상기 대상 프로그램 제어 시스템 (100)은 자신이 유지하고 있는 현재 버전의 제어 프로그램의 버전 정보 V2를 미리 저장해 둘 수도 있다.
비교 결과, 로컬 버전 V1과 현재 버전 V2가 서로 상이한 경우, 상기 제어 모듈(120)은 상기 제어 프로그램(220)의 업데이트를 상기 사용자 단말(220)에 제공할 수 있다(S66). 일 실시예에서, 상기 어플리케이션의 업데이트를 위해 상기 제어 모듈(120)은 상기 사용자 단말(200)에서 수행 중인 상기 제어 프로그램(220)으로 업데이트 정보를 전송할 수 있다. 이 경우 상기 업데이트 정보는 상기 제어 프로그램(220)의 패치(patch) 데이터 혹은 패치 데이터를 다운로드 할 수 있는 URL일 수도 있다. 그러면, 상기 제어 프로그램(220)은 업데이트 정보에 따라 업데이트를 수행할 수 있다. 구현 예에 따라서는, 상기 제어 모듈(120)은 업데이트 정보 또는 상기 어플리케이션의 현재 버전 그 자체를 상기 웹 브라우저(210)로 제공할 수 있다. 이 경우 상기 제어 프로그램(220)의 업데이트 정보는 상기 제어 프로그램(220)의 현재 버전 또는 현재 버전으로의 패치를 다운로드 할 수 있는 다운로드 페이지 혹은 현재 버전이나 패치를 다운로드 할 수 있는 URL에 관한 정보일 수 있다.
또한 사용자는 상기 제어 프로그램(220)의 현재 버전을 사용자 단말(200)에 설치한 후, 웹 브라우저(210)로 다시 서비스 요청을 하여 웹 서비스를 제공받을 수 있다.
도 7은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템이 사용자 단말에 제어 프로그램을 제공하는 방법을 설명하기 위한 도면이다. 보다 상세하게는, 도 4는 사용자 단말(200)에 대상 프로그램(220)이 설치되어 있지 아니한 경우, 상기 사용자 단말(200)로 상기 대상 프로그램(220)을 제공하는 방법을 설명하기 위한 도면이다.
도 7을 참조하면, 상기 웹 브라우저(210)가 상기 웹 서버(300)로 서비스 제공 요청을 전송하면(S71), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 제어 프로그램(220)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S72). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S73).
상기 제어 모듈(120)이 어플리케이션 호출신호를 전송한 후, 상기 제어 모듈(120)은 상기 호출 신호를 전송한 시점으로부터 소정의 타임아웃 기간 내에 상기 제어 프로그램(220)으로부터 응답신호가 수신되지 여부를 판단할 수 있다(S74).
그런데, 사용자 단말(200)에 상기 제어 프로그램(220)이 설치되어 있지 않은 경우에는, 상기 웹 브라우저(210)가 상기 제어 프로그램(220)을 호출하더라도 상기 제어 프로그램(220)은 수행되지 않을 것이다(S73). 따라서, 도 7의 예에서는, 상기 통신 모듈(110)은 상기 제어 프로그램(220)으로부터 응답신호를 수신할 수 없을 것이고, 상기 제어 모듈(120)은 상기 소정의 타임 아웃 기간 이내에 상기 실행 요청이 전송되지 않은 것으로 판단할 것이다.
이 경우, 상기 제어 모듈(120) 상기 제어 프로그램(220)을 사용자 단말(200)에 설치하도록 상기 웹 브라우저(210)를 제어할 수 있다(S75). 여기서, 상기 제어 모듈(120)은 상기 제어 프로그램(220)를 다운로드 할 수 있는 다운로드 페이지를 상기 웹 브라우저(210)에 제공하거나, 상기 웹 브라우저(210)가 상기 제어 프로그램(220)을 직접 다운로드 할 수 있도록 하기 위하여 상기 제어 프로그램(220)의 URL 정보를 상기 웹 브라우저(210)에 제공할 수 있다. 상기 다운로드 페이지는 상기 제어 프로그램(220)의 다운로드 링크를 포함하여 사용자로 하여금 상기 제어 프로그램(220)의 설치를 유도하는 페이지를 의미할 수 있다.
본 발명의 기술적 사상에 의하면, 상술한 바에 의해, 특정한 웹 브라우저에 종속적이지 않은 방식으로 웹 서비스에 필요한 대상 프로그램을 제어하기 위한 제어 프로그램 또는 상기 제어 프로그램의 업데이트를 사용자 단말에 제공할 수 있다. 예를 들어, 액티브 엑스의 경우에는, 웹 브라우저(즉, IE)가 윈도우 운영체제의 레지스트리 등록된 액티브 엑스 응용프로그램의 정보를 확인하고, 낮은 버전이 설치되어 있는 경우에는 웹 브라우저가 직접 상기 엑티브 엑스 응용프로그램의 URL에 접근하여 다운로드 받는 방식임에 반해, 본 발명의 기술적 사상에 의하면, 특정 웹 브라우저에 국한된 기능과는 무관하게 웹 브라우저의 호출에 의해 실행된 제어 프로그램이 직접 자신의 로컬 버전 정보를 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템(100)으로 전송할 수 있다. 한편, 상기 대상 프로그램 제어 시스템(100)은 타임아웃 체크에 의해 상기 어플리케이션이 사용자 단말(200)에 설치 또는 저장되어 있는지 아닌지 여부를 판단하고 상기 제어 프로그램(220)을 제공할 지 여부를 결정할 수 있다. 따라서, 본 발명의 기술적 사상에 따르면 웹 브라우저의 종류와는 무관한 범용성을 확보할 수 있다.
한편, 사용자는 상기 제어 프로그램(220)이 사용자 단말(200)에 설치된 후, 웹 브라우저(210)로 다시 서비스 요청을 하여 웹 서비스를 제공받을 수 있다.
도 8은 본 발명의 일 실시예에 따른 대상 프로그램 제어 시스템의 대상 프로그램 제어 방법을 나타내는 도면이다.
도 8을 참조하면, 상기 웹 브라우저(210)가 상기 대상 프로그램 제어 시스템(100)으로 서비스 제공 요청을 전송하면(S81), 상기 대상 프로그램 제어 시스템(100)의 제어 모듈(120)은 그에 대한 응답으로 상기 대상 프로그램(230)의 호출 신호를 상기 웹 브라우저(210)로 전송할 수 있다(S82). 그러면, 상기 웹 브라우저(210)는 상기 제어 프로그램(220)을 호출할 수 있다(S83).
상기 대상 프로그램(230)의 호출 신호 및 그에 따른 웹 브라우저의 호출 동작은 도 2를 참조하여 설명한 상기 제어 프로그램(220)의 호출 신호 및 그에 따른 웹 브라우저의 호출 동작과 유사하다. 즉, 상기 호출 신호는 상기 웹 브라우저(210)가 상기 대상 프로그램(230)을 호출함으로써 상기 대상 프로그램(230)이 상기 사용자 단말(200) 상에서 실행되도록 제어하기 위한 제어 명령을 포함할 수 있으며, 상기 제어 명령은 W3C URL 프로토콜 핸들 방법에 따른 형식이거나 HTML의 OBJECT 태그에 의해 표현될 수 있다(S84).
한편, 상기 호출 신호는 상기 대상 프로그램(230)의 호출 시에 상기 웹 브라우저(210)가 상기 대상 프로그램(230)에 파라미터로서 전달할 제어 정보 I를 포함할 수 있다.
호출된 상기 대상 프로그램(230)은 상기 웹 브라우저(210)에 의해 호출 시에 전달받은 상기 제어 정보 I에 상응하는 제어 동작을 수행하고, 제어 동작의 수행 결과 및/또는 자신의 상태 정보를 포함하는 응답 신호를 상기 대상 프로그램 제어 시스템(100)으로 전송할 수 있다(S84).
따라서, 본 발명의 기술적 사상에 의하면, 상술한 바에 의해, 웹 서버는 특정한 웹 브라우저에 종속적이지 않은 방식으로 웹 서비스에 필요한 대상 프로그램을 제어할 수 있다.
한편, 본 발명의 실시예에 따른 서비스 제공 방법은 컴퓨터가 읽을 수 있는 프로그램 명령 형태로 구현되어 컴퓨터로 읽을 수 있는 기록 매체에 저장될 수 있으며, 본 발명의 실시예에 따른 제어 프로그램 및 대상 프로그램도 컴퓨터로 판독 가능한 기록 매체에 저장될 수 있다. 컴퓨터가 읽을 수 있는 기록 매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
기록 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 소프트웨어 분야 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터로 읽을 수 있는 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media) 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 또한 상술한 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 전자적으로 정보를 처리하는 장치, 예를 들어, 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다.
그러므로 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타나며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.

Claims (32)

  1. 대상 프로그램 제어 시스템이 사용자 단말에서 구동되는 웹 브라우저로부터 출력되는 웹 서비스 제공 요청에 상응하는 소정의 요청 신호를 수신하는 단계; 및
    수신된 상기 요청 신호에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 제어 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 제어 프로그램을 호출하도록 제어하는 단계를 포함하되,
    상기 웹 브라우저는,
    상기 호출 신호에 응답하여, 상기 제어 프로그램을 호출하며,
    상기 제어 프로그램은,
    상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 대상 프로그램 제어 방법.
  2. 제1항에 있어서,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 제어 프로그램의 호출 시에 상기 제어 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 제어 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 대상 프로그램 제어 방법.
  3. 제1항에 있어서,
    대상 프로그램 제어 방법은,
    상기 대상 프로그램 제어 시스템이 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로 제어 정보를 전송하는 단계를 더 포함하되,
    상기 제어 프로그램은,
    전송된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 대상 프로그램 제어 방법.
  4. 제1항에 있어서,
    상기 제어 프로그램은,
    상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하며,
    상기 대상 프로그램 제어 방법은,
    상기 대상 프로그램 제어 시스템이 상기 서비스의 종료 이벤트를 감지하는 단계; 및
    상기 대상 프로그램 제어 시스템이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램이 상기 기존 설정으로 복원되도록, 상기 제어 프로그램을 제어하는 단계를 더 포함하는 대상 프로그램 제어 방법.
  5. 제4항에 있어서,
    상기 대상 프로그램 제어 시스템이 상기 서비스의 종료 이벤트를 감지하는 단계는,
    상기 대상 프로그램 제어 시스템이 상기 웹 브라우저로부터 소정의 종료 신호를 수신하는 경우 또는 소정의 타임아웃 기간동안 상기 웹 브라우저 또는 상기 제어 프로그램으로부터 입력되는 신호가 없는 경우, 상기 대상 프로그램 제어 시스템이 상기 종료 이벤트가 발생하였다고 판단하는 단계를 포함하는 대상 프로그램 제어 방법.
  6. 제1항에 있어서,
    상기 대상 프로그램은,
    상기 사용자 단말의 로컬 시스템 서비스이며,
    상기 제어 프로그램은,
    상기 대상 프로그램의 제어 커맨드 또는 상기 대상 프로그램에서 제공하는 API(Application Programming Interface)를 이용하여 상기 대상 프로그램을 제어하는 대상 프로그램 제어 방법.
  7. 제6항에 있어서,
    상기 대상 프로그램은,
    상기 사용자 단말의 운영체제에 내장된 방화벽 서비스인 대상 프로그램 제어 방법.
  8. 제1항에 있어서,
    상기 대상 프로그램 제어 방법은,
    상기 대상 프로그램 제어 시스템이 상기 호출 신호를 전송한 시점으로부터 소정의 타임아웃 기간 내에 상기 제어 프로그램으로부터 응답신호를 수신하지 않는 경우, 상기 사용자 단말에 상기 제어 프로그램이 설치되도록 상기 웹 브라우저를 제어하는 단계를 더 포함하는 대상 프로그램 제어 방법.
  9. 제1항에 있어서,
    상기 대상 프로그램 제어 시스템이 상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로부터 상기 제어 프로그램의 버전 정보를 수신하는 단계;
    상기 버전 정보와 상기 대상 프로그램 제어 시스템에 유지되는 현재 버전 정보를 비교하는 단계; 및
    비교 결과, 서로 상이한 경우, 상기 대상 프로그램 제어 시스템이 상기 제어 프로그램을 상기 현재 버전에 상응하도록 업데이트하는 단계를 더 포함하는 대상 프로그램 제어 방법.
  10. 대상 프로그램 제어 시스템이 사용자 단말에서 구동되는 웹 브라우저로부터 출력되는 웹 서비스 제공 요청에 상응하는 소정의 요청 신호를 수신하는 단계; 및
    수신된 상기 서비스 제공 요청에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 대상 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 대상 프로그램을 호출하도록 제어하는 단계를 포함하되,
    상기 웹 브라우저는,
    상기 호출 신호에 응답하여, 상기 대상 프로그램을 호출하며,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 대상 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 방법.
  11. 사용자 단말에서 구동되는 웹 브라우저가 소정의 웹 서비스 제공 요청을 웹 서버로 전송하는 단계;
    상기 웹 브라우저가 상기 웹 서버와 연결되거나 상기 웹 서버에 포함된 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 소정의 제어 프로그램의 호출 신호를 수신하는 단계;
    상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 제어 프로그램을 호출하는 단계; 및
    상기 제어 프로그램이 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 단계를 포함하는 대상 프로그램 제어 방법.
  12. 제11항에 있어서,
    상기 호출 신호는 상기 대상 프로그램을 제어하기 위한 제어 정보를 포함하며,
    상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 제어 프로그램을 호출하는 단계는,
    상기 웹 브라우저가 상기 제어 프로그램을 호출하고, 상기 제어 프로그램에 상기 제어 정보를 전달하는 단계를 포함하며,
    상기 제어 프로그램이 상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 단계는,
    상기 제어 프로그램이 상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 단계를 포함하는 대상 프로그램 제어 방법.
  13. 제11항에 있어서,
    대상 프로그램 제어 방법은,
    상기 제어 프로그램이 상기 대상 프로그램 제어 시스템으로부터 제어 정보를 수신하는 단계; 및
    상기 제어 프로그램이 수신된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 단계를 더 포함하는 대상 프로그램 제어 방법.
  14. 제11항에 있어서,
    대상 프로그램 제어 방법은,
    상기 제어 프로그램이, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하는 단계;
    상기 제어 프로그램이 상기 서비스의 종료 이벤트를 감지하는 단계; 및
    상기 제어 프로그램이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램을 상기 기존 설정으로 복원하는 단계를 더 포함하는 대상 프로그램 제어 방법.
  15. 제14항에 있어서,
    상기 제어 프로그램이 상기 서비스의 종료 이벤트를 감지하는 단계는,
    상기 웹 브라우저가 종료되거나 상기 제어 프로그램이 상기 대상 프로그램 제어 시스템으로부터 소정의 종료 신호를 수신하는 경우, 상기 종료 이벤트가 발생하였다고 판단하는 단계를 포함하는 대상 프로그램 제어 방법.
  16. 사용자 단말에서 구동되는 웹 브라우저가 소정의 웹 서비스 제공 요청을 웹 서버로 전송하는 단계; 및
    상기 웹 브라우저가 상기 웹 서버에 포함되거나 상기 웹 서버와 연결된 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 소정의 대상 프로그램의 호출 신호를 수신하는 단계; 및
    상기 웹 브라우저가 상기 호출 신호에 응답하여 상기 대상 프로그램을 호출하는 단계를 포함하되,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 대상 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 방법.
  17. 제1항 내지 제16항 중 어느 한 항에 기재된 방법을 수행하기 위한 컴퓨터 프로그램이 수록된 컴퓨터 판독 가능한 기록매체.
  18. 사용자 단말에서 구동되는 웹 브라우저로부터 출력되는 웹 서비스 제공 요청에 상응하는 요청 신호를 수신하는 통신모듈; 및
    수신된 상기 요청 신호에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 제어 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 제어 프로그램을 호출하도록 제어하는 제어모듈을 포함하되,
    상기 웹 브라우저는,
    상기 호출 신호에 응답하여, 상기 제어 프로그램을 호출하며,
    상기 제어 프로그램은,
    상기 사용자 단말에서 구동되는 소정의 대상 프로그램을 제어하는 대상 프로그램 제어 시스템.
  19. 제18항에 있어서,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 제어 프로그램의 호출 시에 상기 제어 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 제어 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 대상 프로그램 제어 시스템.
  20. 제18항에 있어서,
    상기 제어모듈은,
    상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로 제어 정보를 전송하며,
    상기 제어 프로그램은,
    전송된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 대상 프로그램 제어 시스템.
  21. 제18항에 있어서,
    상기 제어 프로그램은,
    상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하며,
    상기 대상 프로그램 제어 시스템은,
    상기 서비스의 종료 이벤트를 감지하는 종료이벤트 감지모듈을 더 포함하되,
    상기 제어모듈은,
    상기 종료이벤트 감지모듈이 상기 종료 이벤트를 감지한 경우, 상기 대상 프로그램이 상기 기존 설정으로 복원되도록, 상기 제어 프로그램을 제어하는 대상 프로그램 제어 시스템.
  22. 제21항에 있어서,
    종료이벤트 감지모듈은,
    상기 대상 프로그램 제어 시스템이 상기 웹 브라우저로부터 소정의 종료 신호를 수신하는 경우 또는 소정의 타임아웃 기간동안 상기 웹 브라우저 또는 상기 제어 프로그램으로부터 입력되는 신호가 없는 경우, 상기 종료 이벤트가 발생하였다고 판단하는 대상 프로그램 제어 방법.
  23. 제18항에 있어서,
    상기 제어모듈은,
    상기 호출 신호를 전송한 시점으로부터 소정의 타임아웃 기간 내에 상기 제어 프로그램으로부터 응답신호를 수신하지 않는 경우, 상기 사용자 단말에 상기 제어 프로그램이 설치되도록 상기 웹 브라우저를 제어하는 대상 프로그램 제어 시스템.
  24. 제18항에 있어서,
    상기 통신모듈은,
    상기 웹 브라우저에 의해 호출된 상기 제어 프로그램으로부터 상기 제어 프로그램의 버전 정보를 수신하며,
    상기 제어모듈은,
    상기 버전 정보와 상기 대상 프로그램 제어 시스템에 유지되는 현재 버전 정보를 비교하고, 비교 결과 서로 상이한 경우, 상기 제어 프로그램을 상기 현재 버전에 상응하도록 업데이트하는 대상 프로그램 제어 시스템.
  25. 사용자 단말에서 구동되는 웹 브라우저로부터 출력되는 웹 서비스 제공 요청에 상응하는 요청 신호를 수신하는 통신모듈; 및
    수신된 상기 요청 신호에 응답하여, 상기 대상 프로그램 제어 시스템이 소정의 대상 프로그램의 호출 신호를 상기 웹 브라우저로 전송하여, 상기 웹 브라우저가 상기 대상 프로그램을 호출하도록 제어하는 제어모듈을 포함하되,
    상기 웹 브라우저는,
    상기 호출 신호에 응답하여, 상기 대상 프로그램을 호출하며,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 대상 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 대상 프로그램 제어 시스템.
  26. 웹 브라우저, 제어 프로그램 및 대상 프로그램을 포함하는 사용자 단말로서,
    상기 웹 브라우저는,
    소정의 웹 서비스 제공 요청을 웹 서버로 전송하고, 상기 웹 서버에 포함되거나 상기 웹 서버와 연결된 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 제어 프로그램의 호출 신호를 수신하는 경우 상기 제어 프로그램을 호출하며,
    상기 제어 프로그램은,
    상기 웹 브라우저에 의해 호출되는 경우 상기 대상 프로그램을 제어하는 사용자 단말.
  27. 제26항에 있어서,
    상기 호출 신호는 상기 대상 프로그램을 제어하기 위한 제어 정보를 포함하며,
    상기 웹 브라우저는,
    상기 제어 프로그램의 호출 시 상기 제어 프로그램에 상기 제어 정보를 전달하고,
    상기 제어 프로그램은,
    전달된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 사용자 단말.
  28. 제26항에 있어서,
    상기 제어 프로그램은,
    상기 대상 프로그램 제어 시스템으로부터 제어 정보를 수신하고, 수신된 상기 제어 정보에 상응하도록 상기 대상 프로그램을 제어하는 사용자 단말.
  29. 제26항에 있어서,
    상기 제어 프로그램은, 상기 대상 프로그램을 제어하기 전에, 상기 대상 프로그램의 기존 설정에 대한 정보를 저장하고, 상기 서비스의 종료 이벤트를 감지한 경우 상기 대상 프로그램을 상기 기존 설정으로 복원하는 사용자 단말.
  30. 제26항에 있어서,
    상기 제어 프로그램은,
    상기 웹 브라우저가 종료되거나 상기 대상 프로그램 제어 시스템으로부터 소정의 종료 신호를 수신하는 경우, 상기 종료 이벤트가 발생하였다고 판단하는 사용자 단말.
  31. 웹 브라우저 및 대상 프로그램을 포함하는 사용자 단말로서,
    상기 웹 브라우저는,
    소정의 웹 서비스 제공 요청을 웹 서버로 전송하고, 상기 웹 서버에 포함되거나 상기 웹 서버와 연결된 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 대상 프로그램의 호출 신호를 수신하는 경우 상기 대상 프로그램을 호출하며,
    상기 호출 신호는,
    상기 웹 브라우저가 상기 대상 프로그램의 호출 시에 상기 대상 프로그램으로 전달하는 제어 정보를 포함하며,
    상기 대상 프로그램은,
    상기 웹 브라우저에 의해 호출 시에 전달받은 상기 제어 정보에 상응하는 제어 동작을 수행하는 사용자 단말.
  32. 제어 프로그램을 수록한 컴퓨터 판독 가능한 기록매체로서,
    상기 제어 프로그램은,
    웹 브라우저에 의해 호출되는 경우 소정의 대상 프로그램을 제어하며,
    상기 웹 브라우저는,
    소정의 웹 서비스 제공 요청을 웹 서버로 전송하고 상기 웹 서버에 포함되거나 상기 웹 서버와 연결된 대상 프로그램 제어 시스템이 상기 서비스 제공 요청에 응답하여 전송하는 상기 제어 프로그램의 호출 신호를 수신하는 경우 상기 제어 프로그램을 호출하는 컴퓨터 판독 가능한 기록 매체.
KR1020120082207A 2012-07-27 2012-07-27 대상 프로그램 제어 시스템 및 그 방법 KR20140014907A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120082207A KR20140014907A (ko) 2012-07-27 2012-07-27 대상 프로그램 제어 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120082207A KR20140014907A (ko) 2012-07-27 2012-07-27 대상 프로그램 제어 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20140014907A true KR20140014907A (ko) 2014-02-06

Family

ID=50264715

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120082207A KR20140014907A (ko) 2012-07-27 2012-07-27 대상 프로그램 제어 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20140014907A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160042292A (ko) * 2014-10-08 2016-04-19 원투씨엠 주식회사 웹페이지를 이용한 서비스 제공 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160042292A (ko) * 2014-10-08 2016-04-19 원투씨엠 주식회사 웹페이지를 이용한 서비스 제공 방법

Similar Documents

Publication Publication Date Title
US9973489B2 (en) Providing virtualized private network tunnels
EP2907289B1 (en) Providing virtualized private network tunnels
US8914845B2 (en) Providing virtualized private network tunnels
CN107426174B (zh) 一种可信执行环境的访问控制方法
US20120216133A1 (en) Secure cloud computing system and method
EP3138257A1 (en) Enterprise system authentication and authorization via gateway
CN103944890A (zh) 基于客户端/服务器模式的虚拟交互系统及方法
KR101310631B1 (ko) 네트워크 접근 제어 시스템 및 방법
CA2523532A1 (en) Portable computing environment
JP2013065114A (ja) 情報処理システムの制御方法、中継装置の制御プログラム及びクライアント装置の制御プログラム
KR101418373B1 (ko) 클라우드 환경 기반 가상 휴대 단말 제공 장치
US11882159B2 (en) Executing code injected into an intercepted application response message to eliminate accumulation of stale computing sessions
CN112866287A (zh) 基于办公环境的跨网络访问方法、装置、系统及存储介质
CN113271289A (zh) 用于资源授权和访问的方法、系统和计算机存储介质
CN115333828A (zh) 基于UKEY硬件的web访问安全加密验证方法和设备
KR102118380B1 (ko) 사용자별 서버 작업 통제 기능을 탑재한 접근통제 시스템
KR20140014907A (ko) 대상 프로그램 제어 시스템 및 그 방법
KR20210065923A (ko) 로그인 세션 전달을 이용한 기기인증 방법
JP5602124B2 (ja) スマートフォンを利用したネットワークシステム
US10791120B2 (en) System and method for providing access to secured data via a push notification
KR102222006B1 (ko) 홈허브 단말의 암호 관리 방법, 그 방법을 수행하는 장치 및 컴퓨터 프로그램
CN117240487A (zh) 信息处理方法、装置、设备、存储介质及程序产品
KR101079187B1 (ko) 원격지원을 위한 다중 가상머신(vm) 접근 제어시스템
KR20140108187A (ko) 스마트폰 도용방지 서비스 방법 및 시스템
KR20130140930A (ko) 격리된 실행 환경 제공 시스템 및 그 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
WITB Written withdrawal of application