KR100609667B1 - Renewal system for Graphical User Interface - Google Patents

Renewal system for Graphical User Interface Download PDF

Info

Publication number
KR100609667B1
KR100609667B1 KR1020040011946A KR20040011946A KR100609667B1 KR 100609667 B1 KR100609667 B1 KR 100609667B1 KR 1020040011946 A KR1020040011946 A KR 1020040011946A KR 20040011946 A KR20040011946 A KR 20040011946A KR 100609667 B1 KR100609667 B1 KR 100609667B1
Authority
KR
South Korea
Prior art keywords
user interface
client
graphical user
gui
server
Prior art date
Application number
KR1020040011946A
Other languages
Korean (ko)
Other versions
KR20050083432A (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 KR1020040011946A priority Critical patent/KR100609667B1/en
Publication of KR20050083432A publication Critical patent/KR20050083432A/en
Application granted granted Critical
Publication of KR100609667B1 publication Critical patent/KR100609667B1/en

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명은 그래픽 사용자 인터페이스 갱신 시스템에 관한 것으로, 어플리케이션(Application) 변경시 이를 클라이언트(Client)로 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델을 따르되, 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 이 변경정보를 상기 클라이언트로 전송하여 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)가 갱신(Renewal)되도록 함으로써 처리 속도를 향상시킬 수 있도록 한 것이다.The present invention relates to a graphical user interface update system, which does not need to be downloaded to a client when an application is changed, so that the hardware (H / W) or operating system (O / S) platform of the client is provided. According to the Server Based model, which can execute the application regardless of the size of the component, the change information is displayed when the arrangement information and / or property information of the components constituting the graphical user interface (GUI) output from the client are changed. It is designed to improve the processing speed by updating the graphical user interface (GUI) output from the client.

그래픽 사용자 인터페이스(GUI), 컴포넌트(Component)Graphical User Interface (GUI), Component

Description

그래픽 사용자 인터페이스 갱신 시스템 {Renewal system for Graphical User Interface}Graphical User Interface Renewal System {Renewal system for Graphical User Interface}

도 1 은 종래의 그래픽 사용자 인터페이스 갱신 시스템의 개요도1 is a schematic diagram of a conventional graphical user interface update system;

도 2 는 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 개요도2 is a schematic diagram of a graphical user interface update system in accordance with the present invention;

도 3 은 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 일 실시예의 구성을 도시한 블럭도3 is a block diagram showing the configuration of an embodiment of a graphical user interface update system according to the present invention.

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

100 : 서버 처리모듈 110 : 세션관리부100: server processing module 110: session management unit

120 : 수신부 130 : API 처리부120: receiver 130: API processing unit

140 : 컴포넌트 변경정보 생성부 150 : 송신부140: component change information generation unit 150: transmitter

160 : 시뮬레이션부 200 : 클라이언트 처리모듈160: simulation unit 200: client processing module

210 : 접속관리부 220 : 통신부210: connection management unit 220: communication unit

230 : GUI 처리부230: GUI processing unit

본 발명은 그래픽 사용자 인터페이스 갱신 시스템에 관한 것으로, 특히 어플 리케이션(Application) 변경시 클라이언트(Client)로 이를 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델 소프트웨어의 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI : Graphical User Interface)의 갱신에 관련된 것이다.The present invention relates to a graphical user interface update system, and in particular, there is no need to download it to a client when changing an application, so the client's hardware (H / W) or operating system (O / S) platform. It is related to the update of the Graphical User Interface (GUI) output from the client of server based model software that can execute an application regardless of the platform.

서버-클라이언트 기반 기술은 서버(Server)에 설치되어 실행되는 서버 어플리케이션(Application)과, 클라이언트(Client)에 설치되어 실행되되 상기 서버 어플리케이션(Application)과 연동되는 클라이언트 프로그램(Program)을 포함하며, 서버측에서 모든 처리를 수행하느냐, 클라이언트측에서 처리를 분담하느냐에 따라 그 특성이 달라진다.The server-client-based technology includes a server application installed and executed on a server, a client program installed and executed on a client, and linked with the server application. The characteristics differ depending on whether all processing is performed on the side or the processing is shared on the client side.

예컨데, 3D 온라인 온라인 게임과 같은 경우에는 용량이 큰 이미지 데이타들을 서버에 접속한 수 많은 클라이언트로 일일이 전송한다면 전송시 많은 과부하 때문에 게임을 진행할 수 없을 것이다. 따라서, 이러한 분야에서는 이미지 데이타 등의 용량이 큰 데이타들을 포함하는 대부분의 데이타를 클라이언트에 저장하고 서버에서는 최소한의 처리만 수행하여야 한다.For example, in the case of a 3D online online game, if a large amount of image data is transferred to a large number of clients connected to the server one by one, the game may not be able to proceed due to a lot of overload. Therefore, in this field, most data including large data such as image data should be stored in the client and only minimal processing should be performed in the server.

이와는 달리, 온라인 증권 프로그램 등과 같은 경우 개인 정보의 누출 염려나, 지속적인 데이타베이스 관리 용이성 등에 의해 서버가 모든 처리를 담당하고, 클라이언트는 단지 데이타를 화면 출력하거나, 사용자로부터 데이타를 입력받는 등의 최소한의 처리만 수행한다.On the other hand, in the case of online securities programs, the server handles all the processing due to the fear of leakage of personal information or the ease of managing the database, and the client can simply display the data or receive data from the user. Only process is performed.

상기한 서버에 모든 업무가 집중된 경우에는 서버에 설치되어 실행되는 어플 리케이션(Application) 변경시 클라이언트로 이를 다운로드(Download)할 필요가 없으므로 유지보수가 편리하고, 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 장점을 가진다.When all the tasks are concentrated on the server, it is not necessary to download it to the client when changing the application installed and executed on the server, so the maintenance is convenient and the client's hardware (H / W) or operating system (O / S) It has the advantage that the application can be executed regardless of platform.

도 1 은 종래의 그래픽 사용자 인터페이스 갱신 시스템의 개요도이다.1 is a schematic diagram of a conventional graphical user interface update system.

사용자 입력 등의 이벤트 발생에 의해 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI : Graphical User Interface)가 갱신될 경우, 종래에는 서버가 변경된 화면 이미지를 클라이언트로 전송하는 스크린 덤프(Screen Dump)를 수행하여 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 갱신하였다.When a graphical user interface (GUI) output from a client is updated by an event such as a user input, the server performs a screen dump to transmit a changed screen image to the client. The graphical user interface (GUI) is updated.

그러나, 이러한 스크린 덤프(Screen Dump) 방식은 통신 오버헤드(Overhead)가 커져 서버에 설치된 어플리케이션 수행 속도가 느린 문제점이 있었고, 텍스트 스크롤이나 리스트 선택 등의 단순한 사용자 입력에 대해서도 스크린 덤프(Screen Dump)를 수행하는 단점이 있었다.However, this screen dump method has a problem in that an application installed in the server is slow to execute due to a large communication overhead, and a screen dump is also applied to simple user input such as text scrolling or list selection. There was a downside to doing it.

따라서, 본 발명자는 그래픽 사용자 인터페이스(GUI : Graphical User Interface)의 갱신을 클라이언트측에서 직접 처리하고, 서버는 단지 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보만을 전송하도록 하여 처리 속도를 향상시킬 수 있는 그래픽 사용자 인터페이스 갱신 시스템에 대한 연구를 하게 되었다.Therefore, the present inventors can directly update the Graphical User Interface (GUI) at the client side, and the server can only improve the processing speed by transmitting only the change information for the Graphical User Interface (GUI) update. A study on the graphical user interface update system was made.

본 발명은 상기한 취지하에 발명된 것으로, 그래픽 사용자 인터페이스(GUI)의 갱신을 클라이언트측에서 직접 처리하고, 서버는 단지 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보만을 전송함으로써 처리 속도를 향상시킬 수 있는 그 래픽 사용자 인터페이스 갱신 시스템을 제공함을 그 목적으로 한다.The present invention has been invented in view of the above, and the client can directly update the graphical user interface (GUI) at the client side, and the server can improve the processing speed by only transmitting the change information for the graphical user interface (GUI) update. Its purpose is to provide a graphical user interface update system.

상기한 목적을 달성하기 위한 본 발명의 일 양상에 따르면, 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템은 어플리케이션(Application) 변경시 클라이언트(Client)로 어플리케이션을 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델을 따르되, 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 이 변경정보를 상기 클라이언트로 전송함으로써 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)가 갱신(Renewal)되도록 하는 것을 특징으로 한다.According to an aspect of the present invention for achieving the above object, the graphical user interface update system according to the present invention does not need to download the application to the client (Client) when changing the application (Hardware) of the client ( Arrangement of components that make up the Graphical User Interface (GUI) outputted from the client according to the Server Based model that enables application execution regardless of H / W) or OS (O / S) platform. When the information or / and attribute information is changed, the change information is transmitted to the client so that the graphical user interface (GUI) output from the client is updated.

따라서, 그래픽 사용자 인터페이스(GUI)의 갱신을 클라이언트측에서 직접 처리하고, 서버는 단지 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보만을 전송함으로써 통신 오버헤드가 최소화되므로 처리 속도가 향상되게 된다.Therefore, the update of the graphical user interface (GUI) is processed directly on the client side, and the server only transmits the change information for the graphical user interface (GUI) update, thereby minimizing the communication overhead, thereby improving the processing speed.

이하 첨부된 도면을 참조하여 기술되는 바람직한 실시예를 통하여 본 발명을 당업자가 용이하게 이해하고 재현할 수 있도록 상세히 기술하기로 한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily understand and reproduce the present invention.

본 발명을 설명하기에 앞서, 본 발명의 명세서상에서 언급되는 클라이언트(Client)는 사용자 컴퓨터, 서버(Server)는 서버 컴퓨터를 의미한다는 것을 미리 밝혀둔다.Prior to describing the present invention, it is noted that a client referred to in the specification of the present invention refers to a user computer and a server refers to a server computer.

본 발명에 따른 그래픽 사용자 인터페이스(GUI : Graphical User Interface) 갱신 시스템은 어플리케이션(Application) 변경시 클라이언트(Client)로 어플리케이션을 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델을 따른다.Graphical user interface (GUI) update system according to the present invention does not need to download the application to the client (Client) when the application changes (H / W) or operating system (O) / S) It follows the Server Based model that can execute applications regardless of platform.

도 2 는 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 개요도이다.2 is a schematic diagram of a graphical user interface update system in accordance with the present invention.

도면에 도시한 바와같이, 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템은 클라이언트(Client)에서 출력되는 그래픽 사용자 인터페이스(GUI)를 통해 입력되는 사용자 입력 이벤트(Event)를 서버(Server)로 전송하는 클라이언트 처리모듈과, 클라이언트로부터 전송된 이벤트에 대응하는 업무를 수행하는 어플리케이션을 통해 수행하되, 상기 클라이언트(Client)에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 이 변경정보를 상기 클라이언트로 전송하는 서버처리모듈을 포함한다.As shown in the figure, the graphical user interface update system according to the present invention is a client process for transmitting a user input event (Event) input through a graphical user interface (GUI) output from the client (Client) to the server (Server). Modification of arrangement information and / or attribute information of components constituting a graphic user interface (GUI) outputted from the client, which is performed through a module and an application that performs a task corresponding to an event transmitted from a client. And a server processing module for transmitting the change information to the client.

따라서, 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 서버가 이 변경정보를 상기 클라이언트로 전송함으로써 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)가 갱신(Renewal)되도록 한다.Therefore, when the arrangement information and / or attribute information of the components constituting the graphical user interface (GUI) output from the client is changed, the graphical user interface (GUI) output from the client is transmitted by the server transmitting the change information to the client. Let it be renewed.

이렇게 함에 의해 그래픽 사용자 인터페이스(GUI)의 갱신을 클라이언트측에서 직접 처리하고, 서버는 단지 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보만을 전송함으로써 통신 오버헤드가 최소화되므로 처리 속도가 향상되게 된다.In this way, the update of the graphical user interface (GUI) is handled directly on the client side, and the server only transmits the change information for the graphical user interface (GUI) update, thereby minimizing the communication overhead, thereby improving the processing speed.

본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 구체적인 구성을 알아본다.A detailed configuration of a graphical user interface update system according to the present invention will be described.

도 3 은 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 일 실시예의 구성을 도시한 블럭도이다.Figure 3 is a block diagram showing the configuration of one embodiment of a graphical user interface update system according to the present invention.

도면에 도시한 바와같이, 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템은 서버 처리모듈(100)을 포함한다.As shown in the figure, the graphical user interface update system according to the present invention includes a server processing module 100.

이 서버 처리모듈(100)은 클라이언트로부터 전송된 이벤트에 대응하는 업무를 어플리케이션을 통해 수행하되, 상기 클라이언트(Client)에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 이 변경정보를 상기 클라이언트로 전송한다.The server processing module 100 performs a task corresponding to an event transmitted from a client through an application, and arrangement information and / or components of components constituting a graphical user interface (GUI) output from the client. When the attribute information is changed, this change information is transmitted to the client.

구체적으로, 이 서버 처리모듈(100)은 세션관리부(110)와, 수신부(120)와, API 처리부(130)와, 컴포넌트 변경정보 생성부(140)와, 송신부(150)를 포함한다.Specifically, the server processing module 100 includes a session managing unit 110, a receiving unit 120, an API processing unit 130, a component change information generating unit 140, and a transmitting unit 150.

상기 세션관리부(110)는 서버와 클라이언트간의 세션(Session)을 관리한다.The session manager 110 manages a session between the server and the client.

세션(Session)은 사용자가 클라이언트 단말기 앞에 앉아 서버에 로그인하여 사용을 시작한 다음 작업을 끝마칠 때까지의 동안을 가리키는 말로, 상기 서버 처리모듈(100)은 상기 세션관리부(110)를 통해 서버와 클라이언트간의 접속을 유지하여 연동되게 한다.A session refers to a time when a user sits in front of a client terminal, logs in to a server, starts using the service, and then finishes a task. The server processing module 100 uses the session manager 110 to manage a server and a client. It keeps the connection between them and makes it work together.

상기 세션관리부(110)를 통한 서버와 클라이언트간 접속을 위한 인증처리 및 접속점 구성 등의 구체적인 기술은 이 출원 이전에 이미 다양하게 공지되어 시행되는 통상의 기술이므로, 이에 대한 자세한 설명은 생략하기로 한다.Specific techniques such as authentication processing and connection point configuration for the connection between the server and the client through the session manager 110 are already known and implemented in various manners before this application, and thus detailed description thereof will be omitted. .

상기 수신부(120)는 클라이언트로부터 발생된 이벤트(Event) 신호를 수신한다.The receiver 120 receives an event signal generated from a client.

사용자는 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 통해 사용자 입력을 하게되며, 클라이언트는 사용자로부터의 입력에 의해 발생되는 사용자 입력 이벤트 신호를 서버로 전송한다. 그러면, 서버 처리모듈(100)은 상기 수신부(120)를 통해 클라이언트로부터 전송된 이벤트(Event) 신호를 수신한다.The user inputs a user through a graphical user interface (GUI) output from the client, and the client transmits a user input event signal generated by the input from the user to the server. Then, the server processing module 100 receives an event signal transmitted from the client through the receiver 120.

상기 API 처리부(130)는 상기 수신부(120)에 의해 수신된 이벤트 신호에 따라 상기 어플리케이션(Application)을 통해 해당 이벤트에 관련된 처리를 수행한다.The API processor 130 performs a process related to the corresponding event through the application according to the event signal received by the receiver 120.

API(Application Programming Interface)는 윈도우즈(Windows) 시리즈 등의 운영체제(O/S)가 응용프로그램(Application)을 위해 제공하는 함수(Function)의 집합을 말한다.API (Application Programming Interface) refers to a set of functions provided by an operating system (O / S) such as a Windows series for an application.

운영체제(O/S)는 하드웨어(H/D)와 응용프로그램(Application) 사이에 위치하여 응용프로그램을 대신하여 하드웨어를 관리하고 메모리(Memory)를 관리하는 시스템 소프트웨어(System software)이다. 특정 운영체제에서 실행되는 응용프로그램은 운영체제에 종속적일 수 밖에 없으며, 운영체제가 규정한 대로 하드웨어를 액세스(Access)해야 한다.The operating system (O / S) is a system software that is located between the hardware (H / D) and the application (Application) to manage the hardware and manage the memory on behalf of the application program (System software). Applications running on a particular operating system are dependent on the operating system and must access the hardware as specified by the operating system.

그러나, 현실적으로 응용프로그램 개발자들이 이러한 운영체제의 내부동작까지 자세하게 이해하고 있을 수 없다. 따라서, 운영체제는 가장 기본적인 동작을 할 수 있는 함수의 집합을 응용프로그램에 제공하게 되며, 응용프로그램 개발자들은 운영체제가 제공하는 함수들을 이용하여 응용프로그램을 개발하게 된다.In reality, however, application developers cannot fully understand the internal workings of these operating systems. Therefore, the operating system provides the application with a set of functions that can perform the most basic operations, and application developers develop applications using the functions provided by the operating system.

따라서, 상기 API 처리부(130)는 상기 수신부(120)에 의해 수신된 이벤트 신호에 따라 개발자 또는 운영체제에 규정된 함수를 이용해 해당 이벤트에 관련된 처리를 수행하게 되는데, 이 때 이러한 함수처리는 상기 어플리케이션(Application) 내부에서 이루어지게 된다.Accordingly, the API processing unit 130 performs processing related to the corresponding event by using a function defined in a developer or an operating system according to the event signal received by the receiving unit 120. At this time, the function processing is performed by the application ( Application).

상기 컴포넌트 변경정보 생성부(140)는 상기 API 처리부(130)에 의한 이벤트 처리 결과로부터 상기 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트들의 배치정보 또는/및 속성정보에 대한 변경 여부를 판단하여 변경된 경우 상기 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 생성한다.The component change information generation unit 140 determines whether to change the arrangement information and / or the attribute information of the components constituting the graphical user interface (GUI) from the event processing result by the API processing unit 130. Generate change information for updating a graphical user interface (GUI).

예컨데, 이 컴포넌트 변경정보 생성부(140)는 Java AWT(Abstract Window Toolkit)의 배치관리자를 이용해 컴포넌트(Component)의 크기와 위치정보를 동적으로 계산할 수 있다.For example, the component change information generation unit 140 may dynamically calculate size and location information of a component using a layout manager of Java Abstract Window Toolkit (AWT).

만일, 클라이언트에서 상기 Java AWT(Abstract Window Toolkit)의 배치관리자와 동일한 기능(컴포넌트의 크기와 위치정보를 동적으로 계산하는 등의 기능)을 새로이 구현한다면, 이는 많은 시간과 노력이 필요하며 클라이언트측에서 실행되는 클라이언트 처리모듈의 용량도 커지게 될 것이다.If the client newly implements the same function as the deployment manager of the Java Abstract Window Toolkit (AWT), such as dynamically calculating component size and location information, this requires a lot of time and effort. The capacity of the client processing module to be executed will also increase.

따라서, 본 발명에서는 컴포넌트들의 배치정보 또는/및 속성정보에 대한 변경시 서버 처리모듈에서 컴포넌트의 크기와 위치정보를 동적으로 계산하는 기능 등을 수행하고, 최종결과로부터 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 생성하여 이 변경정보만을 클라이언트로 전송함으로써 처리속도를 향상시키게 된다.Therefore, the present invention performs a function of dynamically calculating the size and position information of the component in the server processing module when the arrangement information and / or the attribute information of the components are changed, and updates the graphical user interface (GUI) from the final result. By generating change information for the client and transmitting only the change information to the client, the processing speed is improved.

상기 Java AWT 배치관리자는 컨테이너(Container) 컴포넌트에 등록되어서 컨테이너 즉, 그래픽 사용자 인터페이스(GUI)에 포함되는 컴포넌트(Component)들의 크기와 위치를 결정하는 역할을 하는 객체(Object)로, 컨테이너의 크기가 변경될 때마다 컴포넌트들의 크기와 위치를 새로 계산한다.The Java AWT deployment manager is an object that is registered in a container component and determines the size and position of components included in a container, that is, a graphical user interface (GUI). Each time it changes, it recalculates the size and position of the components.

한편, MFC나 WIN32의 경우에는 기본적으로 컨테이너의 크기가 변하더라도 이에 포함된 컴포넌트들의 크기와 위치는 변하지 않으므로, 컨테이너 즉, 그래픽 사용자 인터페이스(GUI)에 포함되는 컴포넌트(Component)들의 크기와 위치를 결정하는 기능을 추가로 구현해야 한다. 이러한 부분은 프로그램 개발에 관련된 부분이므로 이에 대한 구체적인 설명은 생략하기로 한다.Meanwhile, in the case of MFC or WIN32, even if the size of the container changes, the size and position of the components included therein do not change. Therefore, the size and position of the components included in the container, ie, the GUI, are determined. You need to implement additional functionality. Since this part is related to program development, a detailed description thereof will be omitted.

상기 송신부(150)는 상기 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 클라이언트로 전송한다.The transmitter 150 transmits the change information for updating the user interface (GUI) to the client.

상기 컴포넌트 변경정보 생성부(140)에 의해 생성된 변경정보 즉, 클라이언트가 그래픽 사용자 인터페이스 화면을 재구성하기 위한 정보는 상기 송신부(150)를 통해 클라이언트로 전송된다.The change information generated by the component change information generation unit 140, that is, information for the client to reconfigure the graphical user interface screen, is transmitted to the client through the transmission unit 150.

서버가 클라이언트로 컴포넌트 변경정보를 전달하는 방법은 두 가지 방법이 가능하다.There are two ways to send component change information to server by client.

하나는 배치관리자 정보와 컴포넌트들의 포함관계를 보내서 클라이언트로 하여금 배치관리자를 직접 구현하여 컴포넌트를 그래픽 사용자 인터페이스내에 배치되도록 하는 방법이며, 다른 하나는 서버에서 클라이언트 환경에 맞도록 시뮬레이 션(Simulation)하여 모든 배치를 마친 후 최종의 변경정보를 클라이언트로 전송함으로써 클라이언트는 컴포넌트 재구성을 위한 연산없이 서버가 보낸 변경정보에 따라 컴포넌트를 재구성하는 방법이다.One is to send the deployment manager information and the containment of components so that the client can implement the deployment manager directly so that the component can be deployed in the graphical user interface. The other is to simulate the client environment on the server. After all the arrangements are completed, the final change information is sent to the client so that the client reconfigures the component according to the change information sent by the server without an operation for component reconfiguration.

전자의 경우 클라이언트가 배치관리자를 직접 구현해야하고, 사용자 정의 배치관리자일 경우 문제가 생길 수 있으며, 서버에서 클라이언트로 전송되는 데이타 용량이 커질 가능성이 크므로 본 발명에서는 후자의 방법을 이용하는 것이 바람직하다.In the former case, the client needs to implement a batch manager directly, and if the user is a custom batch manager, problems may occur, and it is preferable to use the latter method in the present invention because the data capacity transmitted from the server to the client is large. .

위에서 언급한 시뮬레이션(Simulation)에 관련해서는 추후 자세히 설명하기로 한다.The above-mentioned simulation will be described in detail later.

따라서, 클라이언트에서 표시되는 그래픽 사용자 인터페이스의 컴포넌트들의 배치나 속성이 변경될 경우 서버로부터 이에 대한 변경정보만을 수신하여 이를 이용해 그래픽 사용자 인터페이스의 컴포넌트들의 배치나 속성을 변경함으로써 처리 속도를 향상시킬 수 있게 된다.Therefore, when the arrangement or property of the components of the graphical user interface displayed on the client is changed, only the change information is received from the server, and the processing speed may be improved by changing the arrangement or the properties of the components of the graphical user interface using the same. .

한편, 본 발명의 부가적인 양상에 따라, 상기 서버 처리모듈(100)이 시뮬레이션부(160)를 더 포함할 수 도 있다.On the other hand, according to an additional aspect of the present invention, the server processing module 100 may further include a simulation unit 160.

상기 시뮬레이션부(160)는 상기 컴포넌트 변경정보 생성부(140)에 의해 생성된 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 상기 송신부(150)를 통해 클라이언트로 전송하기 전에 해당 클라이언트의 플랫폼(Platform) 환경하에서 상기 변경정보에 따른 그래픽 사용자 인터페이스(GUI)의 컴포넌트 배치 또는 속성 변경을 시뮬레이션(Simulation) 한다.The simulation unit 160 changes the platform for updating the graphical user interface (GUI) generated by the component change information generation unit 140 to the client via the transmission unit 150 before transmitting the platform. Simulate component placement or property change of a graphical user interface (GUI) according to the change information in an environment.

즉, 이 경우는 서버가 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 클라이언트로 전송하기 전에 서버에서 클라이언트의 플랫폼(Platform) 환경하에 상기 변경정보에 따른 그래픽 사용자 인터페이스(GUI)의 컴포넌트 배치 또는 속성 변경을 시뮬레이션(Simulation)한 후 최종의 변경정보를 클라이언트로 전송함으로써 보다 안정적인 그래픽 사용자 인터페이스(GUI)의 컴포넌트 배치 또는 속성 변경이 가능하도록 한 것이다.That is, in this case, the component arrangement or attribute of the graphical user interface (GUI) according to the change information in the server's platform environment before the server transmits the change information for updating the graphical user interface (GUI) to the client. After simulating the change, the final change information is transmitted to the client to enable more stable arrangement or property change of the graphical user interface (GUI).

한편, 본 발명의 부가적인 양상에 따라, 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템이 클라이언트 처리모듈(200)을 더 포함하는 것이 바람직하다.On the other hand, according to an additional aspect of the present invention, it is preferable that the graphical user interface updating system according to the present invention further includes a client processing module 200.

상기 클라이언트 처리모듈(200)은 클라이언트(Client)에서 출력되는 그래픽 사용자 인터페이스(GUI)를 통해 입력되는 사용자 입력 이벤트(Event)를 서버(Server)로 전송하고, 상기 서버로부터 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 수신하여 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 갱신한다.The client processing module 200 transmits a user input event input through a graphical user interface (GUI) output from a client to a server, and updates the graphical user interface (GUI) from the server. Receive the change information for to update the graphical user interface (GUI) output from the client.

구체적으로, 이 클라이언트 처리모듈(200)은 접속관리부(210)와, 통신부(220)와, GUI 처리부(230)를 포함한다.Specifically, the client processing module 200 includes a connection management unit 210, a communication unit 220, and a GUI processing unit 230.

상기 접속관리부(210)는 상기 서버와의 접속을 관리한다.The connection manager 210 manages a connection with the server.

즉, 클라이언트 처리모듈(200)은 서버에서 실행되는 어플리케이션과 연동되므로, 사용자가 클라이언트에서 클라이언트 처리모듈(200)을 실행하면 상기 접속관리부(210)가 서버로 접속요청하고, 서버로부터의 응답에 따라 클라이언트와 서버간의 접속을 유지한다.That is, since the client processing module 200 is interlocked with the application running on the server, when the user executes the client processing module 200 in the client, the connection management unit 210 requests a connection to the server, according to the response from the server Maintain connection between client and server.

이 때, 클라이언트와 서버간의 접속처리, 접속을 위한 인증처리 등의 접속관리 기술은 이 출원 이전에 이미 다양하게 공지되어 시행되는 통상의 기술이므로, 이에 대한 자세한 설명은 생략하기로 한다.At this time, the connection management technology, such as connection processing between the client and the server, authentication processing for the connection is a common technique already known and implemented before this application, a detailed description thereof will be omitted.

상기 통신부(220)는 상기 서버로부터 전송된 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 수신하는 것을 포함하는 서버와 클라이언트간의 데이타 송수신을 처리한다.The communication unit 220 processes data transmission and reception between the server and the client, which includes receiving change information for updating a graphical user interface (GUI) transmitted from the server.

즉, 클라이언트 처리모듈(200)은 이 통신부(220)를 통해 서버와 데이타를 송수신하며, 이러한 송수신 동작의 일환으로 상기 서버로부터 전송된 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 수신한다.That is, the client processing module 200 transmits and receives data to and from the server through the communication unit 220, and receives change information for updating a graphic user interface (GUI) transmitted from the server as part of the transmission and reception operation.

상기 GUI 처리부(230)는 상기 서버로부터 수신된 변경정보에 따라 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트들의 배치 또는/및 속성을 변경하여 그래픽 사용자 인터페이스(GUI)를 갱신한다.The GUI processor 230 updates the graphical user interface (GUI) by changing arrangements and / or properties of components constituting the graphical user interface (GUI) output from the client according to the change information received from the server.

즉, 상기 통신부(200)를 통해 서버로부터 변경정보가 수신되면, 상기 GUI 처리부(230)는 변경정보에 따라 그래픽 사용자 인터페이스(GUI : Graphical User Interface)에 포함되는 컴포넌트(Compnent) 객체(Object)들의 구성인자(Element)들의 설정값을 변경함에 의해 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트들의 배치 또는/및 속성을 변경한다.That is, when the change information is received from the server through the communication unit 200, the GUI processor 230 of the component objects included in the graphical user interface (GUI) according to the change information. By changing the settings of the elements, the layout and / or properties of the components that make up the graphical user interface (GUI) are changed.

따라서, 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)가 갱신되게 된다.Therefore, the graphical user interface (GUI) output from the client is updated.

한편, 그래픽 사용자 인터페이스(GUI : Graphical User Interface)에 포함되 는 컴포넌트(Compnent) 객체(Object)는 클라이언트의 운영체제에 종속적인 클래스 라이브러리(Class Library)에 선언 및 정의되어 있으므로, 이에 대한 자세한 설명은 생략하기로 한다.Meanwhile, the component object included in the graphical user interface (GUI) is declared and defined in a class library dependent on the client's operating system, and thus a detailed description thereof is omitted. Let's do it.

따라서, 위와같이함에 의해 상기에서 제시한 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템의 목적을 달성할 수 있게 된다.Thus, by doing so, it is possible to achieve the object of the graphical user interface update system according to the present invention presented above.

이상에서 설명한 바와같은 본 발명에 따른 그래픽 사용자 인터페이스 갱신 시스템은 그래픽 사용자 인터페이스(GUI)의 갱신을 클라이언트측에서 직접 처리하고, 서버는 단지 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보만을 전송함으로써 처리 속도를 향상시킬 수 있는 유용한 효과를 가진다.The graphical user interface update system according to the present invention as described above processes the update of the graphical user interface (GUI) directly on the client side, and the server only transmits the change information for the graphical user interface (GUI) update to speed up the processing. Has a useful effect to improve.

더 나아가, 어플리케이션(Application) 변경시 클라이언트(Client)로 어플리케이션을 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델을 따르도록 하여 유지보수가 용이한 효과를 가진다.Furthermore, there is no need to download the application to the client when the application is changed so that the application can be executed regardless of the hardware (H / W) or the operating system (O / S) platform of the client. It is easy to maintain by following the Server Based model.

본 발명은 첨부된 도면을 참조하여 바람직한 실시예를 중심으로 기술되었지만 당업자라면 이러한 기재로부터 후술하는 특허청구범위에 의해 포괄되는 본 발명의 범주를 벗어남이 없이 다양한 변형이 가능하다는 것은 명백하다.Although the present invention has been described with reference to the accompanying drawings, it will be apparent to those skilled in the art that various modifications may be made therein without departing from the scope of the invention, which is covered by the following claims.

Claims (4)

삭제delete 삭제delete 어플리케이션(Application) 변경시 클라이언트(Client)로 어플리케이션을 다운로드(Download)할 필요가 없어 클라이언트의 하드웨어(H/W) 또는 운영체제(O/S) 플랫폼(Flatform)에 상관없이 어플리케이션 수행이 가능한 서버 기반(Server Based) 모델을 따르되, 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트(Component)들의 배치정보 또는/및 속성정보 변경시 이 변경정보를 상기 클라이언트로 전송함으로써 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)가 갱신(Renewal)되도록 하는 그래픽 사용자 인터페이스 갱신 시스템에 있어서,When changing the application, there is no need to download the application to the client, so it is possible to execute the application regardless of the hardware (H / W) or operating system (O / S) platform of the client. Server Based) model, the graphical user interface output from the client by transmitting this change information to the client when the arrangement information and / or attribute information of the components constituting the graphical user interface (GUI) output from the client is changed. In a graphical user interface update system that allows a GUI to be renewed, 상기 그래픽 사용자 인터페이스(GUI) 갱신 시스템이:The graphical user interface (GUI) update system includes: 서버와 클라이언트간의 세션(Session)을 관리하는 세션관리부와;A session manager for managing a session between the server and the client; 클라이언트로부터 발생된 이벤트(Event) 신호를 수신하는 수신부와;A receiver which receives an event signal generated from a client; 상기 수신부에 의해 수신된 이벤트 신호에 따라 상기 어플리케이션을 통해 해당 이벤트에 관련된 처리를 수행하는 API 처리부와;An API processor for performing a process related to the corresponding event through the application according to the event signal received by the receiver; 상기 API 처리부에 의한 이벤트 처리 결과로부터 상기 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트들의 배치정보 또는/및 속성정보에 대한 변경 여부를 판단하여 변경된 경우 상기 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 생성하는 컴포넌트 변경정보 생성부와;From the event processing result of the API processing unit, it is determined whether to change the configuration information and / or property information of the components constituting the graphical user interface (GUI), if the change is generated and generates the change information for updating the graphical user interface (GUI) A component change information generating unit; 상기 컴포넌트 변경정보 생성부에 의해 생성된 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 해당 클라이언트의 플랫폼 환경하에서 상기 변경정보에 따른 그래픽 사용자 인터페이스(GUI)의 컴포넌트 배치 또는 속성 변경을 시뮬레이션 하는 시뮬레이션부와;A simulation unit for simulating the component arrangement or property change of the graphical user interface (GUI) according to the change information in the platform environment of the client of the change information for updating the graphical user interface (GUI) generated by the component change information generation unit Wow; 상기 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 클라이언트로 전송하는 송신부를;A transmitter for transmitting change information for updating the user interface (GUI) to a client; 포함하는 서버 처리모듈을 포함하는 것을 특징으로 하는 그래픽 사용자 인터페이스 갱신 시스템.Graphical user interface update system comprising a server processing module comprising. 제 3 항에 있어서,The method of claim 3, wherein 상기 그래픽 사용자 인터페이스 갱신 시스템이:The graphical user interface update system is: 상기 서버와의 접속을 관리하는 접속관리부와;A connection manager for managing a connection with the server; 상기 서버로부터 전송된 그래픽 사용자 인터페이스(GUI) 갱신을 위한 변경정보를 수신하는 것을 포함하는 서버와 클라이언트간의 데이타 송수신을 처리하는 통신부와;A communication unit configured to process data transmission and reception between a server and a client, the method comprising receiving change information for updating a graphical user interface (GUI) transmitted from the server; 상기 서버로부터 수신된 변경정보에 따라 클라이언트에서 출력되는 그래픽 사용자 인터페이스(GUI)를 이루는 컴포넌트들의 배치 또는/및 속성을 변경하여 그래픽 사용자 인터페이스(GUI)를 갱신하는 GUI 처리부를;A GUI processor configured to update a graphical user interface (GUI) by changing arrangements and / or properties of components constituting the graphical user interface (GUI) output from a client according to the change information received from the server; 포함하는 클라이언트 처리모듈을 더 포함하는 것을 특징으로 하는 그래픽 사용자 인터페이스 갱신 시스템.And a client processing module comprising: a graphical user interface update system.
KR1020040011946A 2004-02-23 2004-02-23 Renewal system for Graphical User Interface KR100609667B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040011946A KR100609667B1 (en) 2004-02-23 2004-02-23 Renewal system for Graphical User Interface

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040011946A KR100609667B1 (en) 2004-02-23 2004-02-23 Renewal system for Graphical User Interface

Publications (2)

Publication Number Publication Date
KR20050083432A KR20050083432A (en) 2005-08-26
KR100609667B1 true KR100609667B1 (en) 2006-08-08

Family

ID=37269680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040011946A KR100609667B1 (en) 2004-02-23 2004-02-23 Renewal system for Graphical User Interface

Country Status (1)

Country Link
KR (1) KR100609667B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101316677B1 (en) * 2009-12-17 2013-10-10 한국전자통신연구원 Application service system based on user interface virtualization and method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100631755B1 (en) * 2005-01-25 2006-10-11 삼성전자주식회사 Apparatus and method for switching the look of a Java application in real time
KR101181607B1 (en) * 2006-09-11 2012-09-10 엘지전자 주식회사 Method for processing the display of application for data broadcasting service
CN101282525B (en) * 2007-04-06 2013-01-02 华为技术有限公司 Method, apparatus and system for altering appearance contents customized by perception terminal
US8127233B2 (en) * 2007-09-24 2012-02-28 Microsoft Corporation Remote user interface updates using difference and motion encoding
US8619877B2 (en) 2007-10-11 2013-12-31 Microsoft Corporation Optimized key frame caching for remote interface rendering
KR101539461B1 (en) 2008-07-16 2015-07-30 삼성전자주식회사 Apparatus and method for providing an user interface service in a multimedia system
KR101069401B1 (en) * 2008-09-29 2011-09-30 주식회사 케이티 System for managing convergence network and method for controlling the same
US10368080B2 (en) 2016-10-21 2019-07-30 Microsoft Technology Licensing, Llc Selective upsampling or refresh of chroma sample values

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101316677B1 (en) * 2009-12-17 2013-10-10 한국전자통신연구원 Application service system based on user interface virtualization and method thereof

Also Published As

Publication number Publication date
KR20050083432A (en) 2005-08-26

Similar Documents

Publication Publication Date Title
EP2875425B1 (en) Providing access to a remote application via a web client
US20140082511A1 (en) Method and system for emulating desktop software applications in a mobile communication network
US6003094A (en) Generic Java Gateway for connecting a client to a transaction processing system
US7266370B2 (en) System and method for developing and deploying device independent applications
CN106997298B (en) Application resource acquisition method and device
KR101198437B1 (en) Method, apparatus and computer program product for providing context triggered distribution of context models
CN101506789A (en) Techniques for providing accessibility options in remote terminal sessions
US9990214B2 (en) Dynamic agent delivery
CN110334297A (en) Loading method, terminal, server and the storage medium of terminal page
KR100609667B1 (en) Renewal system for Graphical User Interface
WO2013165760A1 (en) User interface web services
KR20170016362A (en) Converting presentation metadata to a browser-renderable format during compilation
CN112035282A (en) API management method, device, equipment and storage medium applied to cloud platform
US9971611B2 (en) Monitoring a mobile device application
KR20140027741A (en) Application service providing system and method, server apparatus and client apparatus for application service
CN110083466B (en) Data transmission method and device for small program
CN112948018B (en) Dynamic library loading method, device, equipment and medium for applet
US11675964B2 (en) Management of remote access user application layouts
CN113302585A (en) Accelerating applications and sub-packet installation
US10073689B2 (en) Managing application lifecycles within a federation of distributed software applications
WO2016183108A1 (en) Source code customization framework
US11003463B2 (en) Virtual desktop
US8219668B2 (en) Resource property aggregation in a multi-provider system
KR100675067B1 (en) Synchronization system for attributes of the GUI component
JPWO2013088534A1 (en) Server, method, and program for causing a computer to function as a server for accessing a mobile terminal from a client via a network

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20160729

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20200225

Year of fee payment: 15