KR100501724B1 - 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 - Google Patents
윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 Download PDFInfo
- Publication number
- KR100501724B1 KR100501724B1 KR10-2003-0059965A KR20030059965A KR100501724B1 KR 100501724 B1 KR100501724 B1 KR 100501724B1 KR 20030059965 A KR20030059965 A KR 20030059965A KR 100501724 B1 KR100501724 B1 KR 100501724B1
- Authority
- KR
- South Korea
- Prior art keywords
- terminal
- server
- session
- operating system
- blocking
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
- G06F9/452—Remote windowing, e.g. X-Window System, desktop virtualisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
본 발명의 프로그램은, 기록매체 형태로 제공되는데, 윈도우 2000 이상 버전의 NT를 운영체제로 동작하는 서버 컴퓨터를 포함해 이루어진 클라이언트-서버 구조의 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서, 상기 클라이언트의 마우스와 키보드 동작을 서버 편에서 제어하여 사용자 화면 잠금 및 작업 중지와 화면 풀기 및 작업 개시 기능을 구현 하도록 동작하기 위해, 단말기로부터 전송된 터미널 연결 정보에 의해 상기 단말기와 터미널 세션(session)을 열어 상기 단말기와 터미널 통신을 연결하며, 그 사실을 로그온 스크립트 모듈에 알리는 통신 수단; 상기 세션 연결 시 각 세션별로 차단 모듈을 구동시키는 로그온 스크립트 수단; 상기 단말기에서 발생한 윈도우 메시지(message)가 서버에 탑재된 운영체제에 입력되기 전에 이를 차단하는 차단 수단; 및, 상기 차단 모듈의 동작을 제어해서 선택적으로 상기 단말기의 마우스와 키보드의 조작을 차단하는 동작 제어 수단;을 포함해서 이루어지고, HDD, 플로피디스크, 광디스크와 같은 기록매체에 담겨 제공된다.
Description
본 발명은 서버에 탑재되어 동작하는 프로그램과 관련된 발명에 관한 것으로, 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서 클라이언트의 마우스와 키보드 동작을 서버 편에서 제어하여 사용자 화면을 잠가 작업을 중지시키고, 선택적으로 이를 해제시키도록 동작시키는 방법을 수록한 기록 매체와, 이로써 동작하는 서버에 관한 것이다.
ASP(Application Service Provider)는 컴퓨터가 발달하면서 새롭게 등장한 서비스 사업의 하나이다. 이 ASP 서비스는 클라이언트-서버 구조로 구성된 컴퓨터 시스템에서 상기 서버에 응용 프로그램들과 사용자가 사용할 수 있는 저장 공간을 마련해, 단말기에 별도의 프로그램들을 설치하지 않고도, 마치 상기 단말기에 설치된 프로그램처럼 상기 서버의 프로그램들을 사용할 수 있도록 한 서버 베이스의 컴퓨터 시스템(Server-Based Computing System)으로 이루어진다.
한편, 컴퓨터는 그 자체로 동작하지 못하며, 각 하드웨어적 구성에 대한 작동 방법을 정의한 바이오스(BIOS: Basic Input/Output System)를 필요로 한다. 또한, 상기 컴퓨터에서 응용 프로그램(예, 한글 프로그램, 웹브라우저, 메신저 프로그램등)을 정상적으로 동작시키기 위해서는 운영체제(OS: Operating System)를 필요로 한다. 이 운영체제는 상기 바이오스처럼 모든 응용 프로그램들이 지켜야 하는 규칙들을 만들어 소프트웨어의 작동방법을 정의해 준다. 또한, 운영체제는 디스크 파일들의 읽고 쓰기 등과 같이 응용 프로그램들이 사용할 수 있는 작업의 세트(일반적으로, API 함수라 함)들을 수록하고 있다. 때문에, 응용 프로그램들은 화일이 디스크 상의 트랙과 섹터들에 어떻게 위치되는가에 대하여 알 필요는 없으며, 단순히 상기 API 함수들을 호출하여 사용함으로써 필요한 명령을 수행할 수가 있다.
이러한 컴퓨터의 클라이언트 측 운영체제(일반적으로, Windows95, 98, me, Windows XP 등)와 서버측 운영체제(NOS: Network Operating System, 예 Lanmanager, Windows NT 3.1, NT 4.0 Windows2000, Windows2003, Blocom 등) 매년 3년마다 업그레이드되는 경향을 보이고 있으며, CPU의 경우 2년의 업그레이드 주기가 1년 혹은 6개월 단위로 그 주기가 단축되어가고 있다.
이에 과다한 시스템 구축과 업그레이드를 통한 교체 비용 부담으로 인해서 등장하게 되는 개념이 SBC(Server Based Computing)이며, 인터넷 회선의 고속 성장과 맞물려 빠른 속도로 이와 관련된 산업이 발전하고 있는 실정이다.
SBC체제에서는 중앙집중식 프로그램 분배 방식의 양상을 자연스럽게 띄게 되므로 ASP(Application Service Provider)서비스와 밀접하게 인식되어지고 있다.
위에서 간략히 설명한 것처럼, ASP는 최소한의 사양을 갖춘 클라이언트 단말기와 다수의 응용 프로그램을 수록한 서버로 이루어진 클라이언트-서버 구조의 컴퓨터 시스템에서 이루어지는데, 응용 프로그램이나 데이터를 원격지의 서버로부터 제공받아는 임대 형태로 운용하는 이른바 신(thin) 클라이언트 컴퓨터로 대부분의 업무를 서버에서 처리하기 때문에 HDD, CD롬, FDD가 탑재돼 있지 않고 소용량 램과 저속 CPU 및 롬만으로 구성되어 있다.
때문에, 사용자가 사용하는 단말기의 가격을 대폭 낮출 수가 있으며, 프로그램 역시 단말기마다 설치할 필요 없이 서버에 수록하고, 필요에 따라 단말기에서 실행시켜 사용함으로써 전반적 네트웍 시스템 구축비용과 프로그램의 구매 비용을 낮출 수가 있으며, 중앙집중식 관리와 서버측의 업그레이드만을 필요로 하므로 TCO(Total Cost Ownership)절감 등의 이유로 대단위의 생산라인 및 일반 사무용으로 그 사용처가 확대되고 있는 실정이다.
한편, 상술한 바와 같이, 클라이언트 단말기는 최소한의 기록 공간만을 가지고 있다. 따라서, 상기 단말기에는 대용량 프로그램 및 일반 데스탑용 응용프로그램을 설치할 수 없으며, 프로그램 역시 서버를 베이스로 해서 동작되도록 작성되어야 한다. 그런데, 본 발명처럼 단말기의 조작 장치, 즉 마우스와 키보드의 동작을 서버 편에서 제어하도록 동작하는 프로그램은 개발된 적이 없으며, 현재 시장에서 선보이고 있는 제품들은 모두 클라이언트에 프로그램을 설치하도록 되어 있다.
때문에, 일반 데스크탑 PC경우는 클라이언트에 에이전트 형식의 프로그램을 인스톨하여 서버와 통신하여 화면 잠금 및 풀기 기능을 제공하고 있으나, 이 방식은 네트웍 대역폭의 과도한 소비로 인해서 현실성이 없으며, 하드디스크가 없는 신(thin) 클라이언트 컴퓨터와 같은 단말기를 사용하는 ASP의 환경에서는 바람직하지 못하다.
이에, 본 발명은 상기와 같은 문제점을 해결하기 위해 창안된 것으로서, ASP 서비스를 제공하는 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서 상기 클라이언트 단말기의 마우스와 키보드 조작을 서버 편에서 제어할 수 있도록 하여 화면 잠금 및 풀기 기능을 구현하는 본 발명을 제공하고자 한다.
상기와 같은 목적을 달성하기 위하여 본 발명의 프로그램은, 기록매체 형태로 제공되는데, 윈도우 2000 이상 버전의 NT를 운영체제로 동작하는 서버 컴퓨터를 포함해 이루어진 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서, 상기 클라이언트의 마우스와 키보드 동작을 서버 편에서 차단하도록 동작하기 위해, 단말기로부터 전송된 터미널 연결 세션 정보에 의해 상기 단말기와 터미널 세션(session)을 열어 상기 단말기와 터미널 통신을 연결하며, 그 사실을 로그온 스크립트 모듈에 알리는 통신 수단; 상기 세션 연결 시 각 세션별로 차단 모듈을 구동시키는 로그온 스크립트 수단; 상기 단말기에서 발생한 윈도우 메시지(Windows message)가 서버에 탑재된 운영체제에 입력되기 전에 이를 차단하는 차단 수단; 및, 상기 차단 모듈의 동작을 제어해서 선택적으로 상기 단말기의 마우스와 키보드의 조작을 차단하여 서버측에서만 제어하는 동작 제어 수단;을 포함해서 이루어지고, HDD, 플로피디스크, 광디스크와 같은 기록매체에 담겨 제공된다.
바람직하게, 본 발명의 차단 수단은, 상기 단말기와 연결된 세션별로 구동해서 상기 단말기로부터 마우스와 키보드의 조작에 따른 윈도우 메시지(Windows message)가 입력되는가를 검사하는 감시 수단; 및, 윈도우 메시지의 입력이 발생하면, 상기 서버에 탑재된 운영체제가 참조하는 API 함수를 호출해서 입력된 윈도우 메시지를 차단하도록 동작하는 차단 수단;를 포함해서 이루어진다.
더욱 바람직하게, 상기 동작 제어 수단은 상기운영체제가 참조하는 레지스트리(registry)의 HKEY_LOCAL_MACHINE 항목에 새로운 키(key)를 생성하고, 이 키에 서버에 연결된 세션을 감시하도록 상기 감시 수단의 동작을 제어하는 명령을 수록하고, 상기 감시 수단은 상기 레지스트리의 키를 주기적으로 검사해서, 이 키에 수록된 상기 명령에 따라 동작하도록 본 발명의 프로그램이 작성된다.
더욱 바람직하게, 상기 동작 제어 수단은 상기 운영체제가 참조하는 레지스트리(registry)의 HKEY_USERS 항목에, 각 사용자 아이디(ID)로 생성된 키 별로, 이 사용자의 세션을 감시하도록 상기 감시 수단의 동작을 제어하는 명령을 수록하고, 상기 감시 수단은 상기 각 사용자 아이디로 생성된 키를 주기적으로 검사해서, 이 키에 수록된 명령에 따라 동작하도록 본 발명의 프로그램이 작성된다.
더욱 바람직하게, 상기 동작 제어 수단은 상기 운영체제에서 제공하는 소켓 통신으로 상기 감시부의 동작을 제어하는 명령을 전달하도록 본 발명의 프로그램이 작성된다.
이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.
본 발명은 ASP 서비스를 제공하는 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서 상기 서버에 설치되어 동작하는 제어 프로그램에 관한 것이다. 특히, 상기 클라이언트 단말기의 마우스와 키보드 조작을 서버 편에서 제어하여 화면 잠금(Lock) 및 풀기(Unlock) 기능을 구현할 수 있도록 하는데 그 특징이 있는 프로그램과 관련된 발명이다.
그리고, 기본적으로 본 발명이 적용될 수 있는 서버는 마이크로소프트사가 제작한 윈도우 2000 이상 버전의 NT 계열의 기본 운영체제로 동작한다. 이 계열의 운영체제는 터미널 모듈을 사용해 ASP 서비스를 위한 서버의 세팅을 가능하도록 한다. 또한, 기능적 구성인 다양한 모듈(module)들이 상기 운영체제에 포함되어 제공된다. 또한, 이 운영체제를 베이스로 프로그램들이 동작할 수 있도록 다양한 함수들이 제공되며, 이로 인해 프로그램 개발자는 이 함수들을 사용해 상기 운영체제에서 동작하는 다양한 종류의 프로그램을 개발할 수가 있다.
본 발명 역시, 이러한 함수들을 사용하고 있으며, 부분적으로는 상기 운영체제에서 제공하는 모듈들을 사용한다. 예를 들어, 하기에서 설명되는 로그온 스크립트 모듈이나, 터미널 모듈과, 동작 제어 모듈의 일부는 운영체제가 제공하는 모습 그대로 사용한다. 그리고, 일부는 본 발명에 의한 프로그램과 호환될 수 있도록 일부를 상술한 함수들로 수정하여 사용한다.
먼저, 도 1은 본 발명이 탑재된 서버의 기능적 구성을 도시한 것이다. 여기에 도시한 구성은 상기 서버(100)에 운영체제로 탑재된 프로그램의 기능적 구성 단위의 일부를 포함한다.
본 발명의 프로그램은 그 목적을 달성하기 위해, 동작 제어 모듈(110), 로그온 스크립트 모듈(120), 터미널 모듈(130), 차단 모듈(140) 및 레지스트리(150)를 포함해서 구성된다. 또한, 본 발명이 적용되는 서버는 마이크로소프트사에서 배포하는 윈도우 2000 이상 NT버전의 프로그램을 운영체제로 동작한다.
프로그램을 서버에 운영체제로 설치하는 과정에서, 상기 운영 프로그램의 일부로, 상기 로그온 스크립트 모듈(120), 터미널 모듈(130)과 상기 운영 프로그램이 동작 시에 참조하는 레지스트리(registry)(150)가 같이 설치된다.
상기 레지스트리(150)는 서버가 부팅(booting) 시에 필요한 정보, 즉 어떤 하드웨어가 장착되어 있는지, 시스템사양이나 선택사항은 무엇인지, 메모리는 어떻게 설정되어 있는지 등의 정보를 한 곳에 저장하기 위한 장소인 한편, 상기 서버에 설치된 프로그램들이 동작 시에 상기 서버에 설치된 다른 요소들을 참조하는데 필요한 정보들을 수록하기 위해서 사용된다. 또한, ASP와 같은 네트웍 환경에서는 레지스트리 정보를 서버에 저장함으로써 개인이나 작업그룹 들의 시스템 정책을 중앙 통제식으로 관리할 수 있게 한다. 이러한 레지스트리는 여러 항목에 대해서 키(key)들을 가지고 있고, 그 키 아래에 필요한 데이터를 값으로 저장하고 있다. 본 발명의 일 실시예에서는 HKEY_LOCAL_MACHINE 항목의 키와, HKEY_USERS 항목의 키를 이용하여, 본 발명에 따른 프로그램과 운영체제의 모듈이 상호 통신할 수 있도록 설계된다.
상기 HKEY_LOCAL_MACHINE 항목은 서버가 부팅(booting) 시에 필요한 정보, 즉 어떤 하드웨어가 장착되어 있는지, 시스템사양이나 선택사항은 무엇인지, 메모리는 어떻게 설정되어 있는지 등의 정보를 한 곳에 저장하기 위한 장소인 한편, 상기 서버에 설치된 프로그램들이 동작 시에 상기 서버에 설치된 다른 요소들을 참조하는데 필요한 정보들을 수록하기 위해서 사용된다.
상기 HKEY_USERS 항목은 서버를 공유해서 사용하는 사용자 각각의 윈도우 환경에 관한 여러 가지 정보를 저장하는데, 터미널 환경에 접속하여 사용하는 모든 클라이언트의 정보(터미널 세션 정보)들이 저장되므로 클라이언트가 터미널 서버에 접속할 때마다 각각의 아이디에 해당하는 키가 생성되어 그 아래에 각종 윈도우 정보들이 기록된다.
상기 터미널 모듈(130)은 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서 서버에 터미널 통신을 가능하도록 하는 구성인데, ASP 서비스에서 클라이언트와 서버의 통신은 이 터미널 모듈(130)로 이루어진다. 클라이언트 단말기로부터 전송된 터미널 연결 정보(예, 접속할 서버 호스트 이름 또는 IP, 사용자 아이디, 패스워드)에 따라 상기 클라이언트 단말기와 서버의 사이에 터미널 세션(session)이 연결되고, 이에 따라 사용자는 클라이언트 단말기를 사용해 서버에 설치된 응용 프로그램들을 마치 로컬에 설치된 것과 동일하게 사용을 할 수가 있다.
상기 로그온 스크립트 모듈(120)은 네트웍 환경에서 서버에 연결된 세션별로 특정 프로그램을 실행시킬 수 있도록 하는 구성인데, 이 모듈은 윈도우 2000 이상 버전의 운영 프로그램에서 제공하는 모듈이며, 서버 세팅과정에서 세션 별로 실행시키고자 하는 프로그램을 등록하면, 이에 따라 그 세션이 서버에 연결되는 순간 운영 체제가 자동으로 등록된 프로그램을 구동시키도록 동작한다. 본 발명에서, 상기 로그온 스크립트 모듈(120)은 하기에서 설명하는 차단 모듈(140)을 구동시킨다. 바람직하게는, 하기의 감시부(141)를 상기 로그온 스크립트 모듈(120)에 등록하여, 서버에 연결된 세션별로 단말기에서 마우스나 키보드가 조작되는가를 감시하도록 한다.
상기 동작 제어 모듈(110)은 하기의 차단 모듈(140)의 동작을 제어하는 구성으로, 서버 관리자가 단말기의 마우스나 키보드를 잠그도록(lock) 명령한 경우에, 이 동작 제어 모듈(110)은 하기의 차단 모듈(140)에 그 명령을 전달하는데 상술한 레지스트리(160) 또는 윈도우 운영 체제에서 제공하는 소켓(socket) 통신을 사용하여 차단 모듈(140)과 통신해서 상기 명령을 차단모듈(140)에 전달한다.
상기 레지스트리의 예에서, 상기 차단 모듈(140)은 주기적으로 레지스트리(150)의 HKEY_LOCAL_MACHINE 항목의 새로운 키를 주기적으로 검사한다. 상기 새로운 키는 차단 모듈(140)이 동작 시에 참조할 수 있도록 설정된 레지스트리의 키이다. 그리고, 이 키에 동작에 관한 데이터(예, on/off)가 수록되면, 이에 따라서, 상기 차단 모듈은 동작을 수행하거나 정지하도록 동작한다. 한편, 소켓 통신의 경우, 설정된 소켓을 사용하여 동작 제어 모듈(110)과 차단 모듈(140)은 직접 통신을 할 수가 있다. 따라서, 상기 동작 제어 모듈(110)은 입력된 명령을 그대로 차단 모듈(140)로 인가하고, 이 명령에 따라 상기 차단모듈은 동작을 시작한다.
한편, 상기 차단 모듈(140)은 세션이 연결되면, 상기 동작 제어 모듈(110)의 제어 신호에 따라 각 세션 별로 동작을 시작해, 클라이언트 단말기로부터 수신되는 키보드와 마우스의 윈도우 조작 명령, 즉 WH_MOUSE, WH_KEYBOARD가 운영 체제로 전달되기 전에 캡쳐하여, 명령의 수행을 차단하도록 동작한다. 보다 구체적으로, 윈도우 운영 체제의 명령은 메시지(MESSAGE)로 이루어진다. 또한, 운영체제는 이러한 윈도우 메시지(이하, '메시지')의 처리를 상술한 API 함수를 호출하여 처리하도록 동작한다. 따라서, 상기 차단 모듈(140)은 세션으로 서버에 연결된 단말기의 조작에 의해 발생한 메시지가, 운영 체제에 전달되어 처리되기 전에, 상기 메시지를 중간에서 캡쳐하여 다른 명령을 수행할 수 있도록 하는 SetWindowsHookEx 명령을 실행시켜, WH_MOUSE, WH_KEYBOARD의 메시지를 중간에 캡쳐하여 이 메시지가 운영체제로 전달되는 것을 막도록 함으로써 단말기의 키보드와 마우스가 동작하지 않도록 동작한다. 때문에, 본 발명의 차단 모듈(140)은 도시된 바와 같이 감시부(141), 차단부(142)로 구성될 수 있다.
상기 감시부(141)는 서버에 연결된 세션 별로 동작해, 이 세션의 일 단에 연결된 클라이언트 단말기의 조작으로 발생하는 메시지의 발생 유무를 감시하며, 메시지가 발생한 경우에, 상기 차단부(142)는 운영체제의 함수들을 호출해 상기 메시지가 운영체제로 전달되기 전에 차단하여 메시지가 처리되지 못하게 함으로써 단말기의 마우스와 키보드 조작을 제어하여 화면 잠금 및 풀기 기능을 구현하여 사용자의 작업을 중단, 또는 시작할 수 있도록 한다.
한편, 상술한 구성을 갖는 본 발명의 프로그램은 운영체제와 아래에서 설명하는 두 가지 방법으로 통신할 수 있도록 설계된다. 이로부터 본 발명은 동작 시점과 정지 시점을 운영 체제로부터 전달받는다. 즉, 관리자는 서버의 운영체제에 제어 명령을 가함으로써 본 발명을 구동시키거나 정지시킬 수 있다.
처음의 대안은 운영체제의 레지스트리를 사용하는 것이다. 레지스트리(160)의 특정 항목에 새로운 키를 설정하고, 차단 모듈(140)이 주기적으로 이 키를 검사해서 동작하도록 설계될 수 있다. 상기 새로운 키는 HKEY_LOCAL_MACHINE 항목이나 HKEY_USERS 항목 아래에 만들어지는데 다음과 같은 장단점이 있다. 상기 HKEY_LOCAL_MACHINE 항목을 사용하면, 사용자를 일일이 지정할 필요 없이 도메인 내의 연결된 모든 사용자에 대해서 마우스와 키보드를 잠글 수 있다. 그러나, 사용자에 대한 선택적 제한은 할 수 없는 단점이 있다. 반면에, 상기 HKEY_USERS 항목을 사용하면, 선택적으로 마우스와 키보드를 잠글 수 있다. 그런데, 사용자를 일일이 확인해야 하는 번거로움과 프로그램의 프로세스를 추가해야 하는 단점이 있다.
상술한 레지스트리 항목에 새로운 키를 생성하고, 생성된 키를 상기 차단 모듈은 주기적으로 검사한다. 그래서, 상기 새로운 키에 동작을 나타내는 데이터가 쓰여지면 이에 따라 동작하도록 구성된다.
한편, 다른 대안으로는 윈도우 2000 계열의 제품군에서 제공하는 소켓 통신을 이용하는 것이다. 상기 소켓 통신은 프로그램 간 데이터 전송을 가능하도록 하는 구성이다. 따라서, 본 발명의 프로그램은 상기 소켓 통신 방식으로 필요한 명령을 직접 운영 체제로부터 전달받을 수 있다.
한편, 도 2는 ASP 서비스를 제공하는 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서 본 발명이 적용된 실시예를 설명하는 흐름도이다. 이 실시예의 서버는 윈도우 2000 NT 운영체제로 동작하며, 여기에 본 발명의 프로그램이 설치된다. 그리고, 서버 세팅을 통해서, 감시부(141)가 세션 별로 동작할 수 있도록 설정된다.
이후, 클라이언트 단말기에서 터미널 연결 정보를 전송해 터미널 통신 연결을 요청하고, 이에 따라, 상기 터미널 모듈(130)은 상기 터미널 연결 정보로 인증 과정을 처리해서 상기 단말기와 터미널 세션을 연결한다(S100).
또한, 상기 터미널 모듈(130)은 인증 처리 외에 세션 정보를 로그온 스크립트 모듈(120)에 전달해, 상기에서 연결된 세션에 감시부(141)가 동작하도록 한다(S200).
한편, 상기 차단 모듈(140)은 상기 로그온 스크립트 모듈에 의해 실행된 후, 레지스트리(또는, 소켓)의 검사를 주기적으로 반복한다(S300). 그래서, 상기 레지스트리에 감시부(141)의 동작을 알리는 명령이 입력되면, 이에 따라 해당하는 세션을 감시하도록 감시부(141)가 동작을 실행해, 단말기의 마우스와 키보드 조작에 따른 메시지의 입력이 발생하는가를 검사한다(S400).
그 결과, 상기 감시부(141)는 메시지의 입력 즉, 단말기로부터 입력되는 WH_MOUSE, WH_KEYBOARD의 메시지가 운영 체제에 전달되기 전에 중간에 캡쳐한다. 그리고, 차단부(142)는 API 함수를 호출하여 상기 메시지를 차단한다(S500). 때문에, 단말기의 마우스나 키보드의 조작이 서버로 전송되는 것이 차단되어 사용자의 화면을 제어하게 된다.
다시 말해서, 메시지를 차단한다는 것은 SetWindowsHookEx를 실행하여 원하는 윈도우 메시지가 발생할 경우에 이 메지시가 운영체제에 전달되기 전에 지정한 다른 함수를 거쳐서 윈도우로 전달되게 하는 것인데 이때 지정한 함수내에서 메시지가 운영체제로 전달되게하는 명령 즉 윈도우 API 인 CallNextHookEx를 실행하지 않고 그냥 return 시켜 버림으로써 메지시가 운영체제에 전달되지 않게 함으로써 차단되는 기능을 구현하게 된다.
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.
본 발명에 따르면, ASP 서비스를 제공하는 서버 베이스 컴퓨팅 시스템에서, 클라이언트의 단말기에 어떠한 프로그램이나 모듈을 설치하지 않고도 서버 측에서 마우스와 키보드의 동작을 제어함으로써 단말기에 프로그램을 설치해야만 했던 종래 기술의 문제점을 해결하는 효과가 있다. 이로 인하여 어떠한 단말기에서도 마우스와 키보드의 조작을 서버 측에서 제어가 가능하게 되며, 실질적으로 학교의 실습실 등에서는 학생들의 마우스와 키보드의 불필요한 조작을 막아 주의를 집중시킬 수 있으며, 산업체의 경우 인증된 사용자만이 작업을 진행시킬 수 있거나, 특정 작업 일정에 의거하여 작업 중지 및 개시를 제어하는 효과가 있다.
본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 후술하는 발명의 상세한 설명과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명에 따른 서버 컴퓨터의 기능적 구성을 도시한 블록도이다.
도 2는 본 발명에 따른 프로그램을 탑재한 서버 컴퓨터의 동작 순서를 설명하는 흐름도이다.
*도면의 주요부호에 대한 간단한 설명*
100: 서버 컴퓨터 110: 동작 제어 모듈 120: 로그온 스크립트 모듈
130: 터미널 모듈 140: 차단 모듈 150: 레지스트리
Claims (10)
- 단말기로부터 전송된 터미널 연결 정보에 의해 상기 단말기와 터미널 세션(session)을 열어 상기 단말기와 터미널 통신을 연결하며, 그 사실을 로그온 스크립트 모듈에 알리는 통신 모듈;상기 세션 연결 시 각 세션별로 차단 모듈을 구동시키는 로그온 스크립트 모듈;상기 단말기에서 발생한 윈도우 메시지(message)가 서버에 탑재된 운영체제에 입력되기 전에 이를 차단하는 차단 모듈; 및,상기 차단 모듈의 동작을 제어해서 선택적으로 상기 단말기의 마우스와 키보드의 조작을 차단하는 동작 제어 모듈;을 포함해서 구성되어,ASP 서비스를 제공하는 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서, 단말기의 마우스와 키보드 동작을 서버 편에서 제어하며, 상기 서버는 윈도우 2000 이상 버전의 NT 운영체제로 동작되는 것을 특징으로 하는 서버.
- 제1항에 있어서,상기 차단 모듈은, 상기 단말기와 연결된 세션별로 구동해서 상기 단말기로부터 마우스와 키보드의 조작에 따른 윈도우 메시지(message)가 입력되는가를 검사하는 감시부; 및,윈도우 메시지의 입력이 발생하면, 상기 서버에 탑재된 운영체제가 참조하는 API 함수를 호출해서 입력된 윈도우 메시지를 차단하도록 동작하는 차단부;를 포함해서 구성되는 것을 특징으로 하는 서버.
- 제2항에 있어서,상기 동작 제어 모듈은 상기운영체제가 참조하는 레지스트리(registry)의 HKEY_LOCAL_MACHINE 항목에 새로운 키(key)를 생성하고, 이 키에 서버에 연결된 세션을 감시하도록 상기 감시부의 동작을 제어하는 명령을 수록하고,상기 감시부는 상기 레지스트리의 키를 주기적으로 검사해서, 이 키에 수록된 상기 명령에 따라 동작하는 것을 특징으로 하는 서버.
- 제2항에 있어서,상기 동작 제어 모듈은 상기 운영체제가 참조하는 레지스트리(registry)의 HKEY_USERS 항목에, 각 사용자 아이디(ID)로 생성된 키 별로, 이 사용자의 세션을 감시하도록 상기 감시부의 동작을 제어하는 명령을 수록하고,상기 감시부는 상기 각 사용자 아이디로 생성된 키를 주기적으로 검사해서, 이 키에 수록된 명령에 따라 동작하는 것을 특징으로 하는 서버.
- 제2항에 있어서,상기 동작 제어 모듈은, 상기 운영체제에서 제공하는 소켓 통신으로 상기 감시부의 동작을 제어하는 명령을 전달하는 것을 특징으로 하는 서버.
- ASP 서비스를 제공하는 클라이언트-서버 구조의 서버 베이스 컴퓨팅 시스템에서, 상기 서버는 윈도우 2000 이상 버전의 NT를 운영체제로 동작해서, 상기 클라이언트의 마우스와 키보드 동작을 서버 편에서 차단하도록 동작하는 프로그램을 수록한 기록 매체에 관한 것으로,단말기로부터 전송된 터미널 연결 정보에 의해 상기 단말기와 터미널 세션(session)을 열어 상기 단말기와 터미널 통신을 연결하며, 그 사실을 로그온 스크립트 모듈에 알리는 통신 수단;상기 세션 연결 시 각 세션별로 차단 모듈을 구동시키는 로그온 스크립트 수단;상기 단말기에서 발생한 윈도우 메시지(message)가 서버에 탑재된 운영체제에 입력되기 전에 이를 차단하는 차단 수단; 및,상기 차단 모듈의 동작을 제어해서 선택적으로 상기 단말기의 마우스와 키보드의 조작을 제어하는 동작 제어 수단;을 포함해서 이루어진 프로그램을 수록한 기록매체.
- 제6항에 있어서,상기 차단 수단은, 상기 단말기와 연결된 세션별로 구동해서 상기 단말기로부터 마우스와 키보드의 조작에 따른 윈도우 메시지(message)가 입력되는가를 검사하는 감시 수단; 및,윈도우 메시지의 입력이 발생하면, 상기 서버에 탑재된 운영체제가 참조하는 API 함수를 호출해서 입력된 윈도우 메시지를 차단하도록 동작하는 차단 수단;을 포함해서 이루어진 프로그램을 수록한 기록 매체.
- 제7항에 있어서,상기 동작 제어 수단은 상기운영체제가 참조하는 레지스트리(registry)의 HKEY_LOCAL_MACHINE 항목에 새로운 키(key)를 생성하고, 이 키에 서버에 연결된 세션을 감시하도록 상기 감시 수단의 동작을 제어하는 명령을 수록하고,상기 감시 수단은 상기 레지스트리의 키를 주기적으로 검사해서, 이 키에 수록된 상기 명령에 따라 동작하도록 이루어진 프로그램을 수록한 기록 매체.
- 제7항에 있어서,상기 동작 제어 수단은 상기 운영체제가 참조하는 레지스트리(registry)의 HKEY_USERS 항목에, 각 사용자 아이디(ID)로 생성된 키 별로, 이 사용자의 세션을 감시하도록 상기 감시 수단의 동작을 제어하는 명령을 수록하고,상기 감시 수단은 상기 각 사용자 아이디로 생성된 키를 주기적으로 검사해서, 이 키에 수록된 명령에 따라 동작하도록 이루어진 프로그램을 수록한 기록 매체.
- 제7항에 있어서,상기 동작 제어 수단은, 상기 운영체제에서 제공하는 소켓 통신으로 상기 감시부의 동작을 제어하는 명령을 전달하도록 이루어진 프로그램을 수록한 기록 매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0059965A KR100501724B1 (ko) | 2003-08-28 | 2003-08-28 | 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2003-0059965A KR100501724B1 (ko) | 2003-08-28 | 2003-08-28 | 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050022972A KR20050022972A (ko) | 2005-03-09 |
KR100501724B1 true KR100501724B1 (ko) | 2005-07-18 |
Family
ID=37230734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2003-0059965A KR100501724B1 (ko) | 2003-08-28 | 2003-08-28 | 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100501724B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101515493B1 (ko) | 2013-09-10 | 2015-05-11 | 경북대학교 산학협력단 | 프로세스 모니터링과 키보드 잠금을 이용한 프로세스 관리 방법 및 프로세스 관리 장치 |
-
2003
- 2003-08-28 KR KR10-2003-0059965A patent/KR100501724B1/ko active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101515493B1 (ko) | 2013-09-10 | 2015-05-11 | 경북대학교 산학협력단 | 프로세스 모니터링과 키보드 잠금을 이용한 프로세스 관리 방법 및 프로세스 관리 장치 |
Also Published As
Publication number | Publication date |
---|---|
KR20050022972A (ko) | 2005-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6681392B1 (en) | Method and apparatus for remote peripheral software installation | |
US7162628B2 (en) | Method, system, apparatus and program product for temporary personalization of a computer terminal | |
US7992143B2 (en) | Systems and methods of creating and accessing software simulated computers | |
US7191438B2 (en) | Computer functional architecture and a locked down environment in a client-server architecture | |
US7950007B2 (en) | Method and apparatus for policy-based change management in a service delivery environment | |
US7120684B2 (en) | Method and system for central management of a computer network | |
US7334119B2 (en) | Method, system, apparatus, and program product for temporary personalization of a computer terminal | |
EP1789887A2 (en) | Locally operated desktop environment for a remote computing system | |
US20050071442A1 (en) | Method and apparatus for automatically conducting hardware inventories of computers in a network | |
US20090064131A1 (en) | Post-install configuration for applications | |
JP5090809B2 (ja) | 管理サーバおよび管理方法およびプログラムおよび記録媒体 | |
US7165251B2 (en) | In-context launch management method, system therefor, and computer-readable storage medium | |
US20070261045A1 (en) | Method and system of configuring a directory service for installing software applications | |
KR100501724B1 (ko) | 윈도우즈 터미널 기반의 서버 베이스 컴퓨팅 시스템에서클라이언트의 마우스와 키보드 동작을 서버 편에서제어하여 사용자 화면 잠금 및 작업 중지와 화면풀기 및작업 개시 기능을 구현하는 방법과 이를 수록한 기록 매체 | |
US7644141B2 (en) | High-availability identification and application installation | |
US7350214B2 (en) | Printer driver initialization | |
EP1645969B1 (en) | Remote configuration management for data processing units | |
US9448858B2 (en) | Environment manager | |
Cruz et al. | Enabling preos desktop management | |
US6965927B1 (en) | Hardware setup method | |
KR200288638Y1 (ko) | 통합된 웹메일 서버 시스템 | |
Dillman | NetWare 3. x | |
Chen | New Development of Storage Architectures and Network Managed PCs | |
Schauland et al. | Windows Update | |
Allen et al. | Network Printing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130514 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20140627 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20160630 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20180105 Year of fee payment: 13 |
|
FPAY | Annual fee payment |
Payment date: 20190703 Year of fee payment: 15 |