KR100555392B1 - 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법 - Google Patents

클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법 Download PDF

Info

Publication number
KR100555392B1
KR100555392B1 KR1020030062218A KR20030062218A KR100555392B1 KR 100555392 B1 KR100555392 B1 KR 100555392B1 KR 1020030062218 A KR1020030062218 A KR 1020030062218A KR 20030062218 A KR20030062218 A KR 20030062218A KR 100555392 B1 KR100555392 B1 KR 100555392B1
Authority
KR
South Korea
Prior art keywords
terminal
client
server
window
application
Prior art date
Application number
KR1020030062218A
Other languages
English (en)
Other versions
KR20050025205A (ko
Inventor
이충환
Original Assignee
주식회사 유비컴네트웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 유비컴네트웍스 filed Critical 주식회사 유비컴네트웍스
Priority to KR1020030062218A priority Critical patent/KR100555392B1/ko
Publication of KR20050025205A publication Critical patent/KR20050025205A/ko
Application granted granted Critical
Publication of KR100555392B1 publication Critical patent/KR100555392B1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0483Interaction with page-structured environments, e.g. book metaphor
    • 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/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 네트워크에 연결된 다수의 터미널 클라이언트와 터미널 서버간의 이벤트 환경을 제어하기 위한 시스템에 관한 것이다.
본 발명 서버-클라이언트간 응용프로그램 실행의 터미널 제어 시스템은 터미널 세션을 생성시키는 터미널 클라이언트(320)와, 터미널 클라이언트(320)를 구동시켜 서버시스템(200) 연결 정보를 수신받아 터미널 서버와의 연결을 설정하고 클라이언트 요청의 의한 다수의 응용프로그램 표시창(310) 생성과 터미널서버 관리자(210)로부터 수신된 표시창(310)의 위치나 크기 및 윈도우의 생성, 이동, 최대화, 최소화등의 감지된 이벤트 변경 정보가 적용되며 응용프로그램의 변경 내용을 터미널 클라이언트(320)에 복사하여 응용프로그램 표시창(310)을 통해 출력되도록 하는 터미널 매니저(330)로 이루어진 클라이언트 시스템(300); 상기 클라이언트 시스템(300)을 통해 출력되는 서버시스템(200)의 윈도우 이벤트 정보 및 변경사항을 클라이언트 시스템(300)의 윈도우 관리자에게 전달하고 실행된 응용프로그램의 생성, 제거, 크기 변경, 위치등의 윈도우 이벤트를 감시하는 터미널서버 관리자(210)와, 응용프로그램을 통해 전송되는 클라이언트의 발생 이벤트를 처리 및 제어하고 터미널 세션을 관리하는 윈도우 서버(220)로 이루어진 서버시스템(200); 이 포함되어 구성됨에 기술적 특징이 있다.
본 발명 서버-클라이언트간 응용프로그램 실행의 터미널 제어 시스템 및 그 방법은 서버-클라이언트 네트워크를 통해 터미널 클라이언트상에서 실행되는 서버 의 응용프로그램이 각 클라이언트의 로컬 컴퓨팅 환경의 실행 동작과 동일하게 작동되도록 함과 아울러 하나의 터미널 세션을 이용하여 동시에 여러개의 응용프로그램을 응용프로그램의 창 단위로 실행시킬 수 있도록 함으로써 서버의 부하를 효율적으로 감소시킬 수 있는 이점이 있다.
인터넷/인트라넷, 서버시스템, 터미널서버 관리자, 윈도우 서버, 클라이언트 시스템, 응용프로그램 표시창, 터미널 클라이언트, 터미널 매니저

Description

클라이언트/서버간 응용프로그램 실행의 터미널 제어 시스템 및 그 방법{System and method for terminal control of application execution between client and server}
도1은 종래 터미널 서비스를 통한 클라이언트 단말기의 응용프로그램 출력 화
면이 도시된 평면도
도2은 본 발명에 따른 간략한 시스템 배치도.
도3는 본 발명에 따른 터미널 제어 시스템의 구성도.
도4은 본 발명에 따른 응용프로그램 실행의 터미널 제어 방법이 도시된 순서
도.
도5는 본 발명에 따른 터미널 제어 방법의 이벤트 처리 과정이 도시된 순서
도.
도6은 본 발명에 따른 터미널 제어 시스템에 의한 로컬 컴퓨터의 바탕화면이
도시된 평면도.
((도면의 주요부분에 대한 부호의 설명))
100. 인터넷/인트라넷 200. 서버시스템
210. 터미널서버 관리자 220. 윈도우 서버
300. 클라이언트 시스템 310. 응용프로그램 표시창
320. 터미널 클라이언트 330. 터미널 매니저
본 발명은 네트워크에 연결된 다수의 터미널 클라이언트와 터미널 서버간의 이벤트 환경을 제어하기 위한 시스템에 관한 것으로서, 보다 자세하게는 서버에서 실행된 응용 프로그램의 정보가 네트워크를 통해 클라이언트측으로 전송될 때 응용 프로그램별 이벤트 정보, 즉 윈도우의 생성, 삭제, 이동, 최대화, 최소화등의 윈도우 상태 변경 정보가 수신되어 클라이언트의 화면에 출력되는 다수의 응용프로그램 창이 터미널 서비스 단위로 구성되도록 한 구조로써, 서버-클라이언트 네트워크상에서 실행되는 응용프로그램이 로컬 컴퓨팅 환경하에서 동작과 동일하도록 하고, 하나의 터미널 세션을 이용하여 동시에 여러개의 응용 프로그램을 응용프로그램의 창 단위로 실행시킬 수 있도록 함으로써 서버의 부하를 감소시킬 수 있도록 한 서버-클라이언트간 응용프로그램 실행의 터미널 제어 시스템 및 그 방법에 관한 것이다.
일반적으로, 클라이언트/서버는 두 개의 컴퓨터 프로그램 사이에 이루어지는 역할 관계는 나타내는 것으로 클라이언트는 다른 프로그램에게 서비스를 요청하는 프로그램이며, 서버는 그 요청에 대해 응답을 해주는 프로그램이다.
클라이언트/서버 개념은 단일 컴퓨터 내에서도 적용될 수 있지만 주로 네트워크 환경하에서 더 큰 의미를 가지며 네트워크상에서 클라이언트/서버 모델은 여러 다른 지역에 걸쳐 분산되어 있는 프로그램들을 연결시켜주는 편리한 수단을 제공하고 있다.
이와 같은 클라이언트/서버는 다수의 클라이언트와 호스트 서버에 구비된 다수의 터미널을 통해서 접속되며 메인프레임이나 고유의 접속 인터페이스를 가지고 있는 컴퓨터와 상호 작용하는데 사용될 수 있도록 한다.
상기 터미널은 클라이언트/서버 모델 컴퓨팅의 대표적인 형태로 터미널 클라이언트는 사용자의 입력 정보를 서버에 전송하고 서버의 변경 사항을 출력하는 역할을 하며 사용자의 실제 모든 작업은 서버에서 실행된다.
1990년대 이후 GUI(Graphical User Interface) 환경이 일반화되면서 GUI를 기반으로 한 터미널 서비스의 요구사항들이 나타나기 시작했으며 현재에는 기존의 텍스트를 기반으로 한 터미널 서비스가 진보된 GUI 환경의 터미널 서비스가 마이크로소프트(Microsoft, MS)에서 제공되는 윈도우 플랫폼상에 탑재되어 있다.
상기 마이크로소프트의 윈도우 플랫폼에 탑재된 종래의 터미널 서비스는 기본적으로 바탕화면 단위의 터미널 서비스가 제공되며, 사용자가 클라이언트 터미널을 통해 터미널 서버에 접속하기 위해서는 윈도우 플랫폼에 탑재된 터미널 서비스 의 클라이언트 프로그램을 클라이언트 단말기상에서 실행시켜 서버의 정보를 설정하고 서버에 접속하게 되면, 클라이언트 단말기상에 서버의 전체 화면이 디스플레이됨과 아울러 클라이언트의 서버 프로그램 실행에 의해서 터미널 클라이언트 프로그램 창 내부에 선택된 해당 응용 프로그램이 출력된다.
이러한 환경에서 사용자에게 응용프로그램 창 단위의 터미널 서비스를 제공하기 위해 여러개의 터미널 클라이언트 프로그램을 동시에 실행시켜 각각의 터미널 세션마다 하나씩의 응용 프로그램이 실행되도록 하는 방법이 주로 사용되는 데, 이는 여러개의 응용프로그램을 동시에 실행하기 위하여 각각의 응용프로그램에 하나씩의 터미널 세션을 생성하여야 하므로 서버와 클라이언트측에 부하를 증가시키는 문제점이 있었다.
또한, 응용프로그램당 여러 윈도우 창이 생성될 때 발생되는 문제점을 피하기 위해 크기가 변경되지 않는 최대화 상태로만 실행되는 단점이 있다.
도1은 종래 터미널 서비스를 통한 클라이언트 단말기의 응용프로그램 출력 화면이 도시된 평면도로서, 도시된 바와같이 인트라넷을 포함하는 네트워크에 의해 상호 접속된 클라이언트/서버 시스템에 있어서 상기 클라이언트 단말기의 바탕화면(10)상에 서버의 바탕화면(30)이 디스플레이되는 터미널 접속 프로그램(20)이 실행되고 상기 터미널 접속 프로그램(20) 내측에서 서버의 응용프로그램(40)이 개별적으로 실행되는 구조이다.
상기 클라이언트 단말기에 출력되는 바탕화면(10)에 표시되는 서버의 바탕화면(30)의 크기는 클라이언트 바탕화면(10)상에서 사용자 임의대로 조절 가능하긴 하나, 상기 서버 바탕화면(30) 내에 출력되는 서버의 응용프로그램(40)은 터미널 서비스 접속 프로그램(20)의 크기에 따라 그 내측에서만 창 크기의 변경과 이동등이 가능하고 도1에서와 같이 최외측으로 이동시켰을 때 응용프로그램(40)의 일부분이 보이지 않게 됨으로써 응용프로그램을 통한 작업 공간이 협소해지는 문제점이 지적되고 있다.
또한, 종래 응용프로그램 단위의 터미널 서비스에서는 터미널 서비스 접속 프로그램(20)의 바탕화면(30)상에 디스플레이된 서버의 응용프로그램(40)은 사용자에 의해서 선택 실행된 상태에서 창의 크기 변경이나 이동 및 최대화, 최소화를 위한 작업이 불가능하거나 클라이언트의 로컬 컴퓨팅 환경에서 응용프로그램의 실행 작업과 다르게 동작하는 문제점이 있으며, 서버의 바탕화면(30)상에 표시될 수 있는 응용프로그램(40)의 한계에 의해서 응용프로그램당 여러개의 터미널 접속을 생성시킴에 의해서 서버의 리소스가 과다하게 사용되는 단점이 있다.
따라서, 본 발명은 종래 터미널 제어 시스템에서 제기되고 있는 상기 제반 단점과 문제점을 해결하기 위하여 창안된 것으로서, 호스트 서버에 인트라넷을 포함하는 네트워크에 의해서 연결되어 클라이언트 바탕화면상에 실행된 서버의 응용프로그램의 정보가 네트워크를 통해 클라이언트측으로 전송될 때 응용프로그램별 이벤트 정보, 즉 윈도우의 생성, 삭제, 이동, 최대화, 최소화등의 윈도우 상태 변경 정보와 서버의 아이콘과 커서 및 캡션 정보가 클라이언트 터미널에서도 로컬 컴 퓨팅 환경과 동일하게 표시되도록 터미널 매니저를 통해 그 이벤트 정보가 수신되어 클라이언트의 화면에 출력되는 다수의 응용프로그램 창이 하나의 터미널 단위에서 디스플레이되도록 한 구조로써, 서버-클라이언트 네트워크를 통해 터미널 클라이언트상에서 실행되는 서버의 응용프로그램이 각 클라이언트의 로컬 컴퓨팅 환경의 실행 동작과 동일하게 작동되도록 함과 아울러 하나의 터미널 세션을 이용하여 동시에 여러개의 응용프로그램을 응용프로그램의 창 단위로 실행시킬 수 있도록 함으로 서버의 부하를 효율적으로 감소시킬 수 있도록 한 서버-클라이언트간 응용프로그램 실행의 터미널 제어 시스템이 제공됨에 발명의 목적이 있다.
본 발명의 상기 목적은, 인트라넷을 포함하는 네트워크상에서 통신 채널을 통해 상호 접속되고 클라이언트의 단말기에서 출력되는 응용프로그램의 윈도우 변경 상태를 감지하고 이벤트 발생 및 윈도우의 변경 상태를 클라이언트의 윈도우 관리자에게 전달하는 터미널 서버 관리자와 응용프로그램을 통해 전송되는 클라이언트의 발생 이벤트를 처리 및 제어하고 터미널 세션을 관리하는 윈도우 서버로 이루어진 서버시스템; 터미널 세션을 생성시키고 서버 로그인 정보를 수신받는 터미널 클라이언트와, 수신받은 로그인 정보에 의한 터미널 연결을 설정하고 터미널 접속프로그램을 실행시켜 상기 터미널 서버 관리자로부터 전송된 윈도우의 생성, 이동, 최대화, 최소화등의 이벤트를 적용하는 터미널 매니저와, 터미널 매니저에 수신된 이벤트 변경 정보와 터미널 클라이언트의 맵핑 정보에 의한 화면 갱신 내용을 터미 널 클라이언트에 출력되도록 하는 다수의 응용프로그램 표시창이 포함된 클라이언트 시스템;
으로 이루어진 클라이언트/서버간 터미널 제어 시스템이 제공됨에 의해서 달성된다.
상기 서버시스템과 클라이언트 시스템은 TCP/IP 또는 마이크로소프트(MS)의 터미널 서비스에서 제공되는 부가적인 통신 기능은 버츄얼 채널(Virtual channel)을 통해서 서버와 클라이언트간의 이벤트 및 데이터 전송을 위한 통신 채널에 의해서 접속이 이루어지게 된다.
상기 서버시스템의 터미널 서버 관리자는 통신 채널에 의해서 접속된 클라이언트 시스템의 터미널 클라이언트에 의해 생성되는 터미널 세션을 통해 사용자 로그인시 윈도우에서 지정된 시작 프로그램으로 자동 실행되고 터미널 세션내에서 발생되는 응용프로그램의 이벤트를 감지하기 위한 윈도우의 이벤트 훅이 설정된다.
이때, 상기 터미널 서버 관리자는 클라이언트 시스템의 터미널 클라이언트의 응용프로그램 실행 요청에 의해서 서버시스템의 해당 응용프로그램을 실행시키고 또한, 윈도우 생성과 감지된 이벤트 변경 정보를 전송하여 터미널 클라이언트를 통해 실행되는 해당 응용프로그램의 표시창 화면의 갱신이 이루어지도록 구성된다.
본 발명 클라이언트/서버간 응용프로그램 실행의 터미널 제어 시스템 및 그 방법의 상기 목적에 대한 기술적 구성을 비롯한 작용효과에 관한 사항은 본 발명의 바람직한 실시예를 도시하고 있는 도면을 참조한 아래의 상세한 설명에 의해서 명확하게 이해될 것이다.
먼저, 도2은 본 발명에 따른 간략한 시스템 배치도이고, 도3는 본 발명에 따른 터미널 제어 시스템의 구성도이다.
도시된 바와같이, 본 발명 클라이언트/서버간 응용프로그램 실행의 터미널 제어 시스템은 인트라넷을 포함하는 네트워크상에서 통신 채널을 통해 상호 접속된 서버시스템과 클라이언트 시스템에 있어서, 터미널 세션을 생성시키는 터미널 클라이언트(320)와, 터미널 클라이언트(320)를 구동시켜 서버시스템(200) 접속 정보를 수신받아 터미널 서버와의 연결을 설정하고 클라이언트 요청의 의한 다수의 응용프로그램 표시창(310) 생성과 터미널서버 관리자(210)로부터 수신된 표시창(310)의 위치나 크기 및 윈도우의 생성, 이동, 최대화, 최소화등의 감지된 이벤트 변경 정보가 적용되며 응용프로그램의 변경 내용을 터미널 클라이언트(320)에서 복사하여 응용프로그램 표시창(310)을 통해 출력되도록 하는 터미널 매니저(330)로 이루어진 클라이언트 시스템(300);
상기 클라이언트 시스템(300)을 통해 출력되는 서버시스템(200)의 윈도우 이벤트 정보 및 변경사항을 클라이언트 시스템(300)의 윈도우 관리자에게 전달하고 실행된 응용프로그램의 생성, 제거, 크기 변경, 위치등의 윈도우 이벤트를 감시하는 터미널서버 관리자(210)와, 응용프로그램을 통해 전송되는 클라이언트의 발생 이벤트를 처리 및 제어하고 터미널 세션을 관리하는 윈도우 서버(320)로 이루어진 서버시스템(200); 이 포함된 구조이다.
상기 클라이언트 시스템(300)의 응용프로그램 표시창(310)은 통신 채널에 의해서 연결된 터미널 클라이언트(320)를 통한 클라이언트의 응용프로그램 실행 요청 으로 클라이언트의 단말기 바탕화면상에 실행되면서 윈도우가 생성되고 상기 응용프로그램에 의한 윈도우 생성 이벤트가 터미널서버 관리자(210)에 의해서 감지되어 생성될 윈도우의 크기와 위치 정보가 터미널 매니저(330)에 전송됨에 의해서 생성된다.
이때, 상기 응용프로그램 표시창(310)에 표시될 내용은 서버에서 실행되고 있는 터미널서버 관리자(210)에 의해 전송된 정보를 바탕으로 윈도우 생성 및 이동 삭제를 위한 관리 테이블을 생성하며 터미널 클라이언트(320)가 이 테이블 내용을 바탕으로 순차적으로 출력함으로써 갱신된다.
상기 서버시스템(200)에 접속된 클라이언트 시스템(300)을 통한 사용자 로그인시 그 접속 인증과 동시에 서버시스템(200)의 시작 프로그램상에서 터미널서버 관리자(210)가 자동 실행되고 상기 터미널서버 관리자(210)는 터미널 클라이언트(320)의 터미널 접속에 의해 생성된 터미널 세션 내에서 발생되는 서버시스템(200)과 응용프로그램의 이벤트를 감시하기 위한 설정 작업을 수행하게 된다.
상기 터미널서버 관리자(210)의 이벤트 훅 설정에 의해서 응용프로그램이 터미널 매니저(330)를 통해 클라이언트 시스템(300)에 출력시키는 윈도우의 생성 이벤트를 감지하고 감지된 윈도우의 생성 이벤트 및 변동 정보는 클라이언트 시스템(300)의 윈도우 관리자에게 실시간 전송된다.
이와 같은 구성의 본 발명 클라이언트/서버간 터미널 제어 시스템의 로컬 컴퓨터 바탕화면상에 디스플레이되는 단일 응용프로그램 표시를 위한 터미널 제어 방 법을 아래 도시된 순서도에 의거하여 설명하면 다음과 같다.
도4은 본 발명에 따른 응용프로그램 실행의 터미널 제어 방법이 도시된 순서도로서, 도시된 바와같이 본 발명에 따른 응용프로그램 실행의 터미널 제어 방법은 먼저, 클라이언트가 인트라넷을 포함하는 네트워크를 통해 서버시스템에 연결된 로컬 컴퓨터 상에서 접속서버 IP와 실행 프로그램명의 접속정보와 사용자 ID 및 사용자암호가 포함된 사용자 식별정보의 입력서식이 디스플레이되는 터미널 매니저(330)를 실행(S100 단계)시키면 클라이언트의 서버시스템(200) 로그인과 동시에 터미널 세션이 생성되는 클라이언트 시스템(300)의 터미널 클라이언트(320)가 실행(S101 단계)되며, 서버시스템(200)의 클라이언트 로그인시 시작 프로그램 설정에 의해서 자동 실행되는 터미널서버 관리자(210)가 실행(S102 단계)된다.
상기 터미널서버 관리자(210)는 터미널 클라이언트(320)를 통해 생성되는 터미널 세션내에서 발생된 서버시스템(200) 응용프로그램의 이벤트를 검출해내기 위한 윈도우 이벤트 훅을 설정(S103 단계)하고 TCP/IP 또는 버츄얼 채널을 통해 서버시스템(200)과 클라이언트 시스템(300)간의 이벤트 및 데이터 전송을 위한 통신 채널 연결(S104 단계)에 의한 상호 접속이 이루어지게 된다.
상기 터미널 클라이언트(320)는 클라이언트의 로컬 컴퓨터 작동에 의해서 상호 접속을 이루는 통신 채널을 통하여 터미널서버 관리자(210)에게 실행프로그램 명과 프로그램 실행 옵션이 포함된 응용프로그램의 실행을 요청(S105 단계)하면, 상기 서버시스템(200)은 해당 응용프로그램의 원격 실행과 동시에 클라이언트 시스템(300)이 구비된 로컬 컴퓨터의 단말기상에 응용프로그램이 디스플레이되는 윈도 우를 생성과 동시에 상기 윈도우의 생성 이벤트를 감지(S106 단계)가 이루어지도록 한다.
이때, 상기 터미널서버 관리자(210)의 이벤트 훅 설정에 의해 감지된 윈도우의 생성과 위치 및 크기등의 생성 이벤트를 포함한 윈도우 변경 정보는 터미널 매니저(330)로 전송(S107 단계)되고 상기 106단계의 응용프로그램 생성 단계에서 터미널 클라이언트(320)에 의해 실행된 응용프로그램의 표시 화면은 상기 윈도우 변경 정보에 의해서 터미널 클라이언트(320)상의 실시간 갱신(S108 단계)이 이루어진다.
상기 터미널 매니저(330)는 수신된 윈도우의 생성 이벤트 및 윈도우의 변경 정보에 의해서 클라이언트의 로컬 컴퓨터에 디스플레이된 바탕화면상에 생성 이벤트에 의해서 명령되는 다수의 응용프로그램 표시창(310)을 생성(S109 단계)시키게 된다.
또한, 상기 클라이언트 시스템(300)의 터미널 매니저(330)에 의해 생성된 응용프로그램 표시창(310)과 상기 표시창(310)에 디스플레이 가능하고 서버시스템(200)에서 실행되고 있는 응용프로그램과의 실행 이벤트 조합을 위한 창 맵핑 정보의 테이블이 생성(S110 단계)되며, 생성된 각 맵핑 정보는 다시 터미널 매너저(330)에 저장된다.
마지막으로, 상기 응용프로그램의 표시 화면 갱신 단계(S108)를 통해 갱신된 터미널 클라이언트(320)의 갱신 화면 영역에서 클라이언트의 입력 또는 시스템 자체적으로 발생되는 이벤트에 의한 응용프로그램의 표시 영역이 복사(S111 단계)되 어 그 복사 내용이 응용프로그램의 표시창(310)에 출력(S112 단계)됨에 의해서 클라이언트의 로컬 컴퓨터상에서 실행되는 서버시스템(200)의 응용프로그램의 실시간 구동이 이루어지게 된다.
다음, 도5는 본 발명에 따른 터미널 제어 방법의 이벤트 처리 과정이 도시된 순서도로서, 도시된 바와같이 본 발명에 따른 터미널 서비스의 이벤트 처리과정은 먼저, 터미널 클라이언트(320)를 통해 갱신되어 클라이언트의 로컬 컴퓨팅 바탕화면상에 출력된 응용프로그램 표시창(310)중의 어느 하나에 클라이언트의 포커스가 위치하여 마우스나 키보드등의 입력수단을 통해 이벤트가 발생(S200 단계)되면 터미널 매니저(330)는 응용프로그램 표시창(310)에서 발생된 변경 이벤트를 전송받아 터미널 클라이언트(320)로 전송(S201 단계)하게 된다.
상기 클라이언트 터미널(320)로 전달된 이벤트는 클라이언트 컴퍼넌트에 의한 정보 처리에 의해서 터미널 세션을 통해 터미널 서버로 전송(S202 단계)되고 각 응용프로그램은 상기 터미널 클라이언트 전송 단계와 터미널 서버 전송 단계에서 발생한 이벤트를 반영 처리(S203 단계)하게 되며, 터미널서버 관리자(210)의 훅 설정을 통한 각 응용프로그램별 윈도우의 이벤트 감지에 의해서 변경된 이벤트 정보가 클라이언트 시스템(300)의 터미널 매니저(330)에게 전송(S204 단계)된다.
상기 터미널 매니저(330)에 전송된 이벤트 처리 정보에 의해서 서버시스템(200)에서 구동되는 각 응용프로그램은 표시창의 생성과 제거 및 이동, 최대화, 최소화, 표시 내용 변경등의 다양한 작업이 수행되고 상기 이벤트 변경 정보는 터미널 세션을 통해 실시간적인 터미널 클라이언트의 화면 갱신(S205 단계)이 이루어지게 된다.
이때, 상기 터미널 매니저(330)는 다시 터미널서버 관리자(210)로부터 터미널 클아이언트의 화면 갱신 이벤트 변경 정보를 수신(S206 단계)받아 클라이언트 시스템(300)의 요청에 의해 서버시스템(200)에서 발생되는 윈도우의 생성과 삭제 및 창의 활성화와 이동등의 윈도 캡션 정보와 마우스 커서 미 아이콘 변화등에 의한 이벤트 정보를 클라이언트의 로컬 컴퓨터 바탕화면을 통해 표시되도록 하고 이는 서버의 구동 응용프로그램과 동일하게 재현(S207 단계)이 이루어지도록 함에 기술적 특징이 있다.
마지막으로, 도6은 본 발명에 따른 터미널 제어 시스템에 의한 로컬 컴퓨터의 바탕화면이 도시된 평면도로서, 도시된 바와같이 본 실시예의 로컬 컴퓨팅 바탕화면은 클라이언트 시스템이 구비된 로컬 컴퓨터의 바탕화면(500)상에 네트워크를 통해 연결되어 클라이언트측의 요청에 의해서 구동되는 서버의 응용프로그램이 출력된 서버 응용프로그램 표시창(510)이 독립적으로 실행되고 클라이언트 시스템의 독자적인 구동에 의해서 별도의 클라이언트 응용프로그램이 디스플레이되는 클라이언트의 응용프로그램 표시창(520)이 실행된 구조이다.
도6에서와 같이, 본 발명에 따른 서버/클라이언트간 터미널 제어 시스템은 로컬 컴퓨팅의 바탕화면상에 서버 구동 응용프로그램이나 로컬 컴퓨팅 환경하에서 구동되는 응용프로그램이 별도의 터미널 접속 프로그램 구동 없이도 로컬 컴퓨팅 환경하에서 동작하는 것과 같이 표시되도록 함과 아울러 접속된 터미널 서비스의 수에 상관없이 다수의 서버 응용프로그램을 실행시킬 수 있도록 함에 기술적 특징 이 있다.
이상에서 설명한 바와같이, 본 발명 클라이언트/서버간 응용프로그램 실행의 터미널 제어 시스템 및 방법은 클라이언트 바탕화면상에 실행된 서버의 응용프로그램의 정보가 네트워크를 통해 클라이언트측으로 전송될 때 응용프로그램별 이벤트 정보와 윈도우 상태 변경 정보 및 서버의 아이콘과 커서 및 캡션 정보가 클라이언트 터미널에서도 로컬 컴퓨팅 환경과 동일하게 표시되도록 터미널 매니저를 통해 그 이벤트 정보가 수신되어 클라이언트의 화면에 출력되는 다수의 응용프로그램 창이 하나의 터미널 서비스 단위에서 디스플레이되도록 한 구조로써, 서버-클라이언트 네트워크를 통해 터미널 클라이언트상에서 실행되는 서버의 응용프로그램이 각 클라이언트의 로컬 컴퓨팅 환경의 실행 동작과 동일하게 작동되도록 함과 아울러 하나의 터미널 세션을 이용하여 동시에 여러개의 응용 프로그램을 응용프로그램의 창 단위로 실행시킬 수 있도록 함으로써 서버의 부하를 효율적으로 감소시킬 수 있는 장점이 있다.

Claims (3)

  1. 인트라넷을 포함하는 네트워크상에서 통신 채널을 통해 상호 접속된 서버시스템과 클라이언트 시스템에 있어서, 터미널 세션을 생성시키는 터미널 클라이언트(320)와, 터미널 클라이언트(320)를 구동시켜 서버시스템(200) 연결 정보를 수신받아 터미널 서버와의 연결을 설정하고 클라이언트 요청의 의한 다수의 응용프로그램 표시창(310) 생성과 터미널서버 관리자(210)로부터 수신된 표시창(310)의 위치나 크기 및 윈도우의 생성, 이동, 최대화, 최소화등의 감지된 이벤트 변경 정보가 적용되며 응용프로그램의 변경 내용을 터미널 클라이언트(320)에서 복사하여 응용프로그램 표시창(310)을 통해 출력되도록 하는 터미널 매니저(330)로 이루어진 클라이언트 시스템(300);
    상기 클라이언트 시스템(300)을 통해 출력되는 서버시스템(200)의 윈도우 이벤트 정보 및 변경사항을 클라이언트 시스템(300)의 윈도우 관리자에게 전달하고 실행된 응용프로그램의 생성, 제거, 크기 변경, 위치등의 윈도우 이벤트를 감시하는 터미널서버 관리자(210)와, 응용프로그램을 통해 전송되는 클라이언트의 발생 이벤트를 처리 및 제어하고 터미널 세션을 관리하는 윈도우 서버(220)로 이루어진 서버시스템(200); 이 포함되어 구성됨을 특징으로 하는 클라이언트/서버간 응용프로그램 실행의 터미널 제어 시스템.
  2. 클라이언트가 인트라넷을 포함하는 네트워크를 통해 서버시스템에 연결된 로컬 컴퓨터 상에서 접속서버 IP와 실행 프로그램명등의 접속정보와 사용자 ID 및 사용자암호가 포함된 사용자 식별정보의 입력서식이 디스플레이되는 터미널 매니저(330)를 실행(S10)시키면 클라이언트의 서버시스템 로그인과 동시에 터미널 세션이 생성되는 클라이언트 시스템의 터미널 클라이언트가 실행(S101)되며, 서버시스템의 클라이언트 로그인시 시작 프로그램 설정에 의해서 자동 실행되는 터미널서버 관리자가 실행되는 단계(S102)와,
    상기 터미널서버 관리자가 터미널 클라이언트를 통해 생성되는 터미널 세션내에서 발생된 서버시스템 응용프로그램의 이벤트를 추출해내기 위한 윈도우 이벤트 훅을 설정(S103)하고 TCP/IP 또는 버츄얼 채널을 통해 서버시스템과 클라이언트 시스템간의 이벤트 및 데이터 전송을 위한 통신 채널 연결에 의한 상호 접속이 이루어지는 단계(S104)와,
    상기 터미널 클라이언트가 클라이언트의 로컬 컴퓨터 작동에 의해서 상호 접속을 이루는 통신 채널을 통하여 터미널서버 관리자에게 실행프로그램 명과 프로그램 실행 옵션이 포함된 응용프로그램의 실행을 요청(S105)하고, 상기 서버시스템은 해당 응용프로그램의 원격 실행과 동시에 클라이언트 시스템이 구비된 로컬 컴퓨터의 단말기상에 응용프로그램이 디스플레이되는 윈도우를 생성과 동시에 상기 윈도우의 생성 이벤트를 감지하는 단계(S106)와,
    이때, 상기 터미널서버 관리자에 의해 감지된 윈도우의 생성과 위치 및 크기등의 생성 이벤트를 포함한 윈도우 변경 정보는 터미널 매니저로 전송(S107)되고 상기 106단계의 응용프로그램 생성 단계에서 터미널 클라이언트에 의해 실행된 응용프로그램의 표시 화면은 상기 윈도우 변경 정보에 의해서 터미널 클라이언트상의 실시간 갱신이 이루어지는 단계(S108)와,
    상기 터미널 매니저(330)에 수신된 윈도우의 생성 이벤트 및 윈도우의 변경 정보에 의해서 클라이언트의 로컬 컴퓨터에 디스플레이된 바탕화면상에 생성 이벤트에 의해서 명령되는 다수의 응용프로그램 표시창이 생성되는 단계(S109) 및,
    상기 클라이언트 시스템의 터미널 매니저에 의해 생성된 응용프로그램 표시창과 상기 표시창에 디스플레이 가능하고 서버시스템에서 실행되고 있는 응용프로그램과의 실행 이벤트 조합을 위한 창 맵핑 정보의 테이블이 생성(S110)되며, 생성된 각 맵핑 정보는 다시 터미널 매너저에 저장되는 단계(330)와,
    마지막으로, 상기 응용프로그램의 표시 화면 갱신 단계(S108)를 통해 갱신된 터미널 클라이언트의 갱신 화면 영역에서 클라이언트의 입력 또는 시스템 자체적으로 발생되는 이벤트에 의한 응용프로그램의 표시 영역이 복사(S111)되어 그 복사 내용이 응용프로그램의 표시창에 출력되는 단계(S112)를 포함하여 구성됨을 특징으로 하는 클라이언트/서버간 응용프로그램 실행의 터미널 제어 방법.
  3. 제2항에 있어서, 클라이언트/서버간 터미널 서비스의 이벤트 처리과정은 터미널 클라이언트를 통해 갱신되어 클라이언트의 로컬 컴퓨팅 바탕화면상에 출력된 응용프로그램 표시창중의 어느 하나에 클라이언트의 포커스가 위치하여 마우스나 키보드등의 입력수단을 통해 이벤트가 발생(S200)되면 터미널 매니저는 응용프로그램 표시창에서 발생된 변경 이벤트를 전송받아 터미널 클라이언트로 전송하는 단계(S201)와,
    상기 클라이언트 터미널로 전달된 이벤트는 클라이언트 컴퍼넌트에 의한 정보 처리에 의해서 터미널 세션을 통해 터미널 서버로 전송(S202)되고 각 응용프로그램은 상기 터미널 클라이언트 전송 단계와 터미널 서버 전송 단계에서 발생한 이벤트를 반영 처리(S203)하게 되며, 터미널서버 관리자의 훅 설정을 통한 각 응용프로그램별 윈도우의 이벤트 감지에 의해서 변경된 이벤트 정보가 클라이언트 시스템의 터미널 매니저에게 전송되는 단계(S204)와,
    상기 터미널 매니저에 전송된 이벤트 처리 정보에 의해서 서버시스템에서 구동되는 각 응용프로그램은 표시창의 생성과 제거 및 이동, 최대화, 최소화, 표시 내용 변경등의 다양한 작업이 수행되고 상기 이벤트 변경 정보는 터미널 세션을 통해 실시간적인 터미널 클라이언트의 화면 갱신되는 단계(S205)와,
    이때, 상기 터미널 매니저가 다시 터미널서버 관리자로부터 터미널 클아이언트의 화면 갱신 이벤트 변경 정보를 수신(S206)받아 클라이언트 시스템의 요청에 의해 서버시스템에서 발생되는 윈도우의 생성과 삭제 및 창의 활성화와 이동등의 윈도 캡션 정보와 마우스 커서 미 아이콘 변화등에 의한 이벤트 정보를 클라이언트의 로컬 컴퓨터 바탕화면을 통해 표시되도록 하고 이는 서버의 구동 응용프로그램과 동일하게 재현되도록 하는 단계(S207)가 포함되어 구성됨을 특징으로 하는 클라이언트/서버간 응용프로그램 실행의 터미널 제어 방법
KR1020030062218A 2003-09-05 2003-09-05 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법 KR100555392B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020030062218A KR100555392B1 (ko) 2003-09-05 2003-09-05 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020030062218A KR100555392B1 (ko) 2003-09-05 2003-09-05 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법

Publications (2)

Publication Number Publication Date
KR20050025205A KR20050025205A (ko) 2005-03-14
KR100555392B1 true KR100555392B1 (ko) 2006-03-07

Family

ID=37383643

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030062218A KR100555392B1 (ko) 2003-09-05 2003-09-05 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR100555392B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101522404B1 (ko) * 2012-11-02 2015-05-22 주식회사 케이티 화면 출력 제어 방법 및 장치

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100818604B1 (ko) * 2006-03-20 2008-04-02 오봉선 윈도우용 실행 프로그램의 콤포넌트화 방법 및 이를 이용한스크린 장치
JP5067409B2 (ja) 2009-09-28 2012-11-07 カシオ計算機株式会社 シンクライアントシステム及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101522404B1 (ko) * 2012-11-02 2015-05-22 주식회사 케이티 화면 출력 제어 방법 및 장치

Also Published As

Publication number Publication date
KR20050025205A (ko) 2005-03-14

Similar Documents

Publication Publication Date Title
CA2380768C (en) A system and method for providing immediate visual response to user input at a client system
US9032325B2 (en) Management of local applications in local and remote desktops in a server-based computing environment
US6463459B1 (en) System and method for executing commands associated with specific virtual desktop
US20090077174A1 (en) Server-based computing environment
US20050210123A1 (en) System and method for graphically managing network devices
CN110035088A (zh) 基于rpa远程控制操作系统自动登录的方法及设备
US20110271226A1 (en) Integrated Icon View in a Server-Based Computing Environment
US20140032699A1 (en) Remote user interface in a terminal server environment
JP2001014250A (ja) 情報処理方法、コラボレーション・サーバ、コラボレーション・システム、情報処理プログラムを格納する記憶媒体
US7376898B1 (en) Methods and apparatus for managing resources
KR100555392B1 (ko) 클라이언트/서버간 응용프로그램 실행의 터미널 제어시스템 및 그 방법
EP0924624A1 (en) Virtual space information processor
US20050198203A1 (en) Method and system for controlling remote computers
US11003463B2 (en) Virtual desktop
Richardson Teleporting—mobile X sessions
US7606717B2 (en) Isolating user interface design from business object design using Java interface concepts
KR100422679B1 (ko) 혼합 컨텐츠 서버-클라이언트 시스템
KR101624700B1 (ko) 가상 운영체제 환경에서 다중화면 제어가 가능한 가상화 클라이언트
JP5861708B2 (ja) 方法、システム及びプログラム
CN102387118B (zh) 一种数据输出方法及装置
JPH07319792A (ja) ゲートウェイシステム
JPH0462090B2 (ko)
JPH1039921A (ja) 監視制御システム
KR100513159B1 (ko) 인터넷을 통해 asp를 사용하는 경우 단일 모드의터미널 통신 채널에 의한 프로그램의 다중 실행 방법과 그화면 크기의 자유로운 변경 방법
WO2003019442A2 (en) A system and method for administrating a plurality of computers

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
N231 Notification of change of applicant
LAPS Lapse due to unpaid annual fee