KR20040041138A - Method for automatic mapping version and client module distribution according to distributed server - Google Patents

Method for automatic mapping version and client module distribution according to distributed server Download PDF

Info

Publication number
KR20040041138A
KR20040041138A KR1020040028730A KR20040028730A KR20040041138A KR 20040041138 A KR20040041138 A KR 20040041138A KR 1020040028730 A KR1020040028730 A KR 1020040028730A KR 20040028730 A KR20040028730 A KR 20040028730A KR 20040041138 A KR20040041138 A KR 20040041138A
Authority
KR
South Korea
Prior art keywords
server
client
version
module
distribution server
Prior art date
Application number
KR1020040028730A
Other languages
Korean (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 KR1020040028730A priority Critical patent/KR20040041138A/en
Publication of KR20040041138A publication Critical patent/KR20040041138A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services

Abstract

PURPOSE: A method for distributing a client module and automatically mapping a version by a distributed server is provided to minimize a system influence due to the technical advancement of the client module for the development and the expansion of a server system by basically removing dependency between the versions of the client module, and reducing a load for system maintenance. CONSTITUTION: A version verifier in the activated client obtains the information for a basic distribution server according to the contents of the HTML(Hyper Text Markup Language)(ST201). An environment configuration information file is received/analyzed by connecting to the basic distribution server(ST202). It is checked that the module of the corresponding version is present by confirming the modules installed to the client. In case that the module to be installed is present, a list of the distributed distribution servers is obtained(ST204). The distributed distribution server that the environment configuration information file is identical with the environment configuration information file of the basic distribution server is decided by connecting to the distributed distribution server in the order of the list(ST205).

Description

분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동 매핑방법{Method for automatic mapping version and client module distribution according to distributed server}Method for automatic mapping version and client module distribution according to distributed server}

본 발명은 X인터넷하에서의 클라이언트 모듈 배포 및 버전 자동 매핑방법에 관한 것으로서, 특히, 버전이 서로 다른 여러 개의 동일한 클라이언트 모듈에 대하여 서버시스템의 환경구성정보에 따라 자동으로 필요한 클라이언트 모듈의 버전을 찾아 실행 환경이 구축되도록 한 분산배포서버에 의한 클라이언트 모듈 배포 및 자동 버전 매핑방법에 관한 것이다.The present invention relates to a method for automatically distributing and automatically mapping versions of a client module under the X Internet. In particular, the present invention relates to a plurality of identical client modules having different versions and automatically finds and executes a version of a required client module according to the configuration information of a server system. The present invention relates to a method for distributing client modules and automatic version mapping by a distributed distribution server.

현재의 인터넷응용은 HTTP 프로토콜을 이용하여 월드와이드웹(WWW)에 기반한 HTML 문서 생성 수준의 응용프로그램들이 일반화되어 있다. 이는 정적인 문서의 표현으로 인해 클라이언트 단에서의 사용자와의 실시간 상호 작용이 거의 불가능하거나 일부 가능하다하여도 그 개발 및 조작이 힘들어 실질적으로 복잡한 기업 업무를 구현해야 하는 트랜잭션 처리용의 시스템 개발은 불가능한 측면이 있다. 이를 극복하고 풍부한 사용자 인터페이스(UI : User Interface)를 제공하기 위하여 X인터넷환경하에서는 액티브엑스(ActiveX)나 응용프로그램에 기반한 뷰어(Viewer) 또는 플레이어(Player)등 HTML의 디스플레이(Display) 수준을 벗어나 클라이언트에서 독자적으로 실행되면서 정보를 해석하고 스스로 판단 및 대응이 가능한 클라이언트용 모듈들이 등장하여 여러 업무용 시스템에서 다양한 모델들이 시험되고 있다.Current Internet applications are generalized to applications of the HTML document generation level based on the World Wide Web (WWW) using the HTTP protocol. It is difficult to develop and manipulate the real-time interaction with the user at the client end due to the presentation of the static document. However, it is difficult to develop a system for transaction processing that requires the implementation of a complex enterprise business. There is a side. In order to overcome this problem and provide a rich user interface (UI), under the X Internet environment, clients beyond the display level of HTML such as Viewer or Player based on ActiveX or application programs Is running independently, and client modules that can interpret information, make self-determination, and respond to each other have emerged, and various models have been tested in various business systems.

상기에서 X인터넷이란, 일단의 제어방법 및 단계들을 사용하여 서버에서 구현된 응용프로그램과 클라이언트에 설치된 클라이언트 모듈이 인터넷을 통하여 상호 작용함으로써, 기존의 순수 HTML과 웹브라우저만을 이용하여 개발되었던 인터넷 응용에서는 제공할 수 없었던 역동적인 사용자와의 상호작용을 가능케 하도록 지원하는 차세대 인터넷 응용 소프트웨어의 구조를 가리킨다.In the above, the X Internet is an Internet application that was developed using only pure HTML and a web browser by using a set of control methods and steps. It refers to the architecture of next-generation Internet application software that enables the interaction with dynamic users that could not be provided.

현재 대다수의 인터넷 응용 개발시 사용자와의 상호 작용을 위한 클라이언트측 인터페이스는 순수 HTML을 이용하여 표현 로직을 구현하고, 인터넷 익스플로러나 넷스케이프 등의 웹브라우저를 이용하여 표현을 처리하고 있는 실정이다. 순수 HTML은 문서 형태의 정적인 자료를 무작위의 대중에게 배포하기 위하여 고안된 문서 형식이다. 따라서 웹브라우저와 순수 HTML의 정적인 데이터 표현 한계의 특성상 HTML로 처리할 수 있는 기능들이 한정적이다 보니 기업의 업무 처리시에 요구되는 다양하고 복잡한 트랜잭션을 처리할 수 있는 사용자측의 표현 및 상호작용 기능이 미비하다. 이로 인해 인터넷응용을 개발하는 SI성 프로젝트나 패키지성 제품을 개발하는 업체들의 경우, 표현 계층에서의 제한된 기능으로 말미암아 원하는 기능을 구현하지 못하거나, 설령 구현한다해도 많은 시간과 비용을 투자해야 하고, 낮은 만족도로 인하여 어려움을 호소하고 있는 실정이다.Currently, the client-side interface for interacting with the user in the development of the majority of Internet applications implements the presentation logic using pure HTML and processes the presentation using a web browser such as Internet Explorer or Netscape. Pure HTML is a document format designed to distribute static material in document form to a random public. Therefore, due to the limitations of the static data representation of web browsers and pure HTML, the functions that can be processed in HTML are limited. Therefore, the user-side presentation and interaction functions that can handle various and complex transactions required for business processing Incomplete As a result, for SI projects or packaged products that develop Internet applications, limited functions in the presentation layer may not be able to implement desired functions, or even if they are implemented, a lot of time and money must be invested. Due to low satisfaction, the situation is appealing.

X인터넷은 위와 같은 순수 HTML과 웹브라우저의 특성에 의해 제한을 받을 수밖에 없는 인터넷 응용 개발시 표현계층의 제한된 기능을 극복하고, 기존의 클라이언트-서버시스템에서 파워 빌더나 델파이등과 같은 4세대 언어(4GL)들이 제공했던 것과 동일하거나 발전된 형태의 사용자 인터페이스를 제공하기 위한 목적으로 개발된 것이다. 특히, 경영정보시스템(MIS)이나 통계시스템등과 같이 일반 시스템통합 프로젝트(SI)성 개발이나, 일반 ERP/통계성 패키지 등에서 자주 사용되는 기능 및 표현 방법들을 업무에 종속되지 않고 공통적으로 사용할 수 있도록 Grid, Menu, Tree등의 다양한 종류의 일반화 된 컴포넌트들을 시스템 수준에서 제공함으로써, 인터넷 응용의 개발 생산성을 높여줌과 동시에 사용자와의 원활하고 풍부한 상호작용이 구현이 가능하도록 하고 있다.The X Internet overcomes the limited functions of the presentation layer in developing Internet applications, which are limited by the characteristics of pure HTML and web browsers, and the 4th generation languages such as Power Builder, Delphi, etc. It was developed to provide the same or advanced user interface as 4GL) provided. In particular, the functions and expression methods frequently used in general system integration project (SI) development or general ERP / statistics package, such as management information system (MIS) or statistical system, can be used without any task dependence. By providing various kinds of generalized components such as Grid, Menu, Tree at the system level, it improves the development productivity of Internet application and enables smooth and rich interaction with users.

도1은 일반적인 인터넷 환경에서 클라이언트 모듈을 배포하는 방법을 나타낸 흐름도이다. 여기서 ST는 STEP을 나타낸다.1 is a flowchart illustrating a method of distributing a client module in a general Internet environment. Where ST stands for STEP.

이에 도시된 바와 같이, 웹 페이지에 접속한 후 HTML 전문을 수신한 후 이를 해석하는 단계(ST101)와, HTML의 액티브-X 컨트롤의 버전정보를 획득하는 단계(ST102)와, 설치 액티브-X 컨트롤의 버전정보를 획득하는 단계(ST103)와, 변경된 액티브-X 컨트롤을 다운로드 받는 단계(ST104)와, 액티브-X 컨트롤을 시스템에 등록하는 단계(ST105)와, 액티브-X 컨트롤을 활성화하는 단계(ST106)와, 페이지를 표시하는 단계(ST107)로 이루어진다.As shown therein, after accessing a web page and receiving an HTML full text and interpreting it (ST101), acquiring version information of an ActiveX control of HTML (ST102), and installing active-X control Acquiring version information (ST103), downloading the changed ActiveX control (ST104), registering the active-X control to the system (ST105), and activating the active-X control ( ST106), and a step of displaying the page (ST107).

이와 같이 이루어지는 일반적인 인터넷 환경에서 클라이언트 모듈을 배포하는 방법을 좀 더 구체적으로 설명하면 다음과 같다.The method of distributing the client module in the general Internet environment made as described above will be described in more detail as follows.

먼저 단계 ST101에서는 사용자의 지시에 의하여 클라이언트에서 웹 브라우저가 시작되고, 특정 URL을 입력받으면 웹 브라우저는 웹서버에 해당 URL을 요청한 후 지정된 URL의 HTML 전문을 수신 받아 화면으로 디스플레이하기 전에 적절하게 보여지도록 형식화(Formatting)하는 과정을 수행하게 된다.First, in step ST101, a web browser is started on the client according to a user's instruction. When a specific URL is input, the web browser requests the URL from the web server and receives the HTML full text of the specified URL so that it is displayed properly before displaying it on the screen. Formatting is performed.

다음으로 단계 ST102에서는 상기 형식화하는 과정에서 HTML 소스안에 <Object> 태그가 있고, 그 안에 기술된 객체가 Active-X 컨트롤인 경우 웹 브라우저는 태그의 내용으로부터 사용하고자 하는 Active-X 컨트롤의 버전 정보를 추출하게 된다.Next, in step ST102, if there is an <Object> tag in the HTML source in the formatting process, and the object described therein is an Active-X control, the web browser displays the version information of the Active-X control to be used from the contents of the tag. Will be extracted.

이 후 단계 ST103에서 상기 Active-X 컨트롤이 시스템에 이미 설치되어 있는지의 여부와 정상적으로 동작하는지 여부 및 버전은 사용하고자 하는 것과 일치하는지 등을 확인하게 된다.Thereafter, in step ST103, it is checked whether the Active-X control is already installed in the system, whether it is operating normally, and whether the version matches that of the intended use.

상기 확인 결과 Active-X 컨트롤이 시스템에 설치된 적이 없거나 버전이 변경되었거나 비정상적으로 설치된 경우에는 단계 ST104에서 웹서버의 지정된 위치로부터 해당 Active-X 컨트롤을 다운로드 받아 해당 위치에 저장하게 된다.As a result of the check, if the Active-X control has never been installed in the system, or the version has been changed or is abnormally installed, the corresponding Active-X control is downloaded from the designated location of the web server in step ST104 and stored in the corresponding location.

그리고 단계 ST105에서 시스템 레지스트리에 등록하여 이후의 모든 웹브라우저에서 사용할 수 있도록 준비한다.In step ST105, the system registry is prepared to be used in all subsequent web browsers.

아울러 단계 ST106에서 해당 Active-X 컨트롤이 정상적으로 시스템에 등록되면, 웹 브라우저는 해당 HTML을 화면에 디스플레이 하기전에 해당 Active-X 컨트롤을 활성화하여 준비상태로 만들고, 단계 ST107에서 이를 화면의 적절한 영역에 배치하여 사용자들이 볼 수 있도록 페이지를 표시한 후, 다음 행동을 위하여 사용자의 명령을 대기하게 된다.In addition, if the corresponding Active-X control is normally registered in the system in step ST106, the web browser activates and prepares the active-X control in preparation for displaying the HTML on the screen, and in step ST107, places it in the appropriate area of the screen. After displaying the page for users to view, they wait for the user's command for the next action.

이러한 현재의 클라이언트 모듈 배포 방식은 단순하고, 간단하게 배포할 수 있다는 장점이 있는 반면에 사용자 입장에서는 내 컴퓨터가 어떤 모듈을 다운로드 받고 있는지, 정상적으로 실행되고 있는지 등등에 대해 어떠한 정보도 알 수 없다는 단점이 있다. 또한, 항상 최신의 버전만을 설치하므로 이전 버전으로 작업을 해야하는 경우 수동으로 시스템 레지스트리를 삭제해 주지 않는 한 아무런 대응을 할 수 없다는 단점이 있다. 그리고 컴퓨터 업무에 종사하는 전문개발자가 아닌 이상 일반 컴퓨터 사용자로써는 시스템 레지스트리로부터 등록된 정보를 안전하게 삭제하고 원하는 버전을 설치하도록 작업한다는 것이 쉬운 일이 아니며, 컴퓨터의 동작을 불가능하게 할 수 있는 매우 위험한 행동이기도 하다.The current method of distributing client modules has the advantage of simplicity and simplicity of deployment, while the user does not know any information about which modules are being downloaded, running normally, and so on. have. In addition, it always installs the latest version, so if you need to work with the previous version, there is a disadvantage that you can not respond unless you manually delete the system registry. And unless you are a professional developer working in computer business, it is not easy for ordinary computer users to work safely to delete the registered information from the system registry and install the desired version, and it is very dangerous behavior that can make the computer impossible to operate. It is also.

실시간 양방향 통신과 다양한 UI 제공을 목표로 해서 짧은 시간 동안에 급속하게 확산되고 있는 Active-X 컨트롤을 필두로 하는 클라이언트 모듈들은 보다 진보되고 다양한 기능을 요구하는 사용자들의 요청에 따라 그 수가 폭발적으로 증가하고, 기능이 급속하게 강화되며 지속적으로 개선되고 발전해 가는 추세에 있다.With the goal of providing real-time two-way communication and a variety of UIs, the client modules, which are rapidly spreading in a short period of time with Active-X control, have exploded in number as users request more advanced and diverse functions. Functions are rapidly strengthening and continuously improving and developing.

이러한 끓임 없는 기능의 개발과 개선으로 클라이언트 모듈은 그 완성도가 고도화되고 적용기술이 발전되며 수시로 버전이 올라가는 반면에 클라이언트 모듈을 사용하여 업무를 수행하는 서버시스템 서비스의 경우에는 업무시스템의 특성상 한번 개발이 완료되면, 상당한 기간동안 초기 개발 시점의 기술과 구조를 그대로 유지하면서, 유지보수 수준에서의 개선 및 변환만이 이루어지고 있는 실정이다. 그러다 보니 수개월 또는 수년전의 클라이언트 모듈의 기능에 맞추어 개발된 서버 시스템이 존재하는 상태에서 새롭게 추가되거나 이전과는 다르게 동작하는 새로운 버전의 클라이언트 모듈을 이용하여 동일한 사용자를 대상으로 하는 새로운 서버 시스템을 개발하고자 하는 경우에 클라이언트 모듈의 버전 일치 문제로 업체 관계자들은 항상 고민에 빠질 수 밖에 없다. 더 안정적이고 새로운 기능이 있음에도 불구하고 클라이언트 모듈의 호환성을 위하여 새롭게 개발되는 시스템에서도 이전 버전의 클라이언트 모듈의 한계성을 똑같이 안고 그대로 이용하여야 할 것인지 아니면 최신 기능의 클라이언트 모듈을 채택하고 신규 시스템을 개발함과 동시에 이전의 시스템을 최신 기능에 맞도록 전면적으로 개편하는 작업을 해야할 것인지 매번 고민을 해야 한다.Due to the development and improvement of this function, the client module has been upgraded in its completeness, the application technology has been developed, and the version is upgraded from time to time. Once complete, only improvements and maintenance at the maintenance level are being made while retaining the technology and structure of the initial development for a significant period of time. As a result, a new server system for the same user can be developed by using a new version of the client module that is newly added or operates differently than before, with the server system developed for the function of the client module months or years ago. If you want to do this, the company's officials are always in trouble because of version matching issues in the client module. In spite of the more stable and new functions, whether the newly developed system should be used with the same limitations of the previous version of the client module, or adopt the latest function client module and develop the new system. At the same time, you have to worry about whether to reorganize the old system to meet the latest features.

위의 과정을 거쳐 클라이언트 모듈의 적용 버전에 대한 방침이 결정되면, 서버의 서비스 개발자들은 최종으로 선택된 클라이언트 모듈 버전의 인터페이스에 맞추어 서비스를 재개발하고, 모든 개발이 완료된 후에는 일시에 클라이언트 모듈이 사용자들에게로 배포된다. 이때 클라이언트 모듈의 크기가 결코 작은 것이 아니므로 일시에 수많은 사용자들로부터 발생하는 네트웍 트래픽은 회사의 규모가 커질수록 그 부담이 결코 무시할 수 있는 것이 아니며, 배포에 따른 시스템의 안정성 확보에 많은 어려움을 겪고 있으면서도 마땅한 대안을 찾지 못하고 있는 실정이다.Once the policy for the applicable version of the client module is determined through the above process, the service developers of the server re-develop the service according to the interface of the finally selected client module version. Distributed to. At this time, since the size of the client module is never small, the network traffic generated from a large number of users at once is not negligible as the size of the company grows, and it is difficult to secure the stability of the system according to the deployment. While there is no right to find an alternative.

특히 클라이언트용 Active-X 컨트롤의 인터넷을 통한 배포는 거의 MS사의 인터넷 익스플로러를 통한 자동 다운로드 및 설치 방법이 표준적인 방식으로 인정되고 있어 이로 인해 배포방식의 변경에 대한 선택의 여지가 많지 않은 상황이다. 아울러 단일 배포서버에 의한 서버 자원 및 네트웍 트래픽의 집중과 단일 버전 관리에 의한 기술 발전 속도에 대한 대응의 어려움, 레지스트리 정보의 불안정성 및 불일치성에 따른 설치의 신뢰도 확보 등에서 많은 어려움이 발생하였다.In particular, the distribution of Active-X control for clients over the Internet is almost universally recognized as the standard way of downloading and installing Microsoft's Internet Explorer. Therefore, there is little choice for changing the distribution method. In addition, there are many difficulties in concentrating server resources and network traffic by a single distribution server, difficulty in coping with the speed of technology development by single version management, and securing installation reliability due to instability and inconsistency of registry information.

따라서 본 발명은 상기와 같은 종래 내 컴퓨터가 어떤 모듈을 다운로드 받고 있는지, 정상적으로 실행되고 있는지 등등에 대해 어떠한 정보도 알 수 없다는 단점을 해소하고, 항상 최신의 버전만을 설치하므로 이전 버전으로 작업을 해야하는 경우 수동으로 시스템 레지스트리를 삭제해 주지 않는 한 아무런 대응을 할 수 없다는 단점을 해소하기 위해서 제안된 것으로서,Therefore, the present invention solves the disadvantage of not knowing any information about which modules are being downloaded, running normally, etc. in the related art as described above, and always installs the latest version. It is suggested to solve the disadvantage that you can't do anything unless you delete the system registry manually.

본 발명의 목적은, 클라이언트 모듈의 기술발전 속도에 따라 개발시점이 서로 다른 서버시스템 서비스간의 클라이언트 호환성이 결여되는 상황으로부터 클라이언트 모듈의 버전간 종속성을 근본적으로 독립시키고, 서버의 유지보수 부담을 경감시키며, 클라이언트 모듈의 배포를 위한 서버의 리소스 및 네트웍 트래픽 분산을 통한 투자 자원의 효율적 운영 등을 제공함으로써, 서버시스템 개발 및 확장시 클라이언트 모듈의 기술발전에 따른 시스템적 영향을 최소화하고자 한 X인터넷 환경에서의 클라이언트 모듈을 배포하고 버전을 자동 매핑해주는 방법을 제공하는 데 있다.The object of the present invention is to fundamentally independence the dependency between versions of the client module, and to reduce the maintenance burden of the server from the situation of the lack of client compatibility between server system services with different development time in accordance with the technology development speed of the client module In the X Internet environment to minimize the system impact of client module technology development and expansion in server system development and expansion by providing efficient operation of investment resources through distribution of network resources and network traffic for client module distribution To provide a way to distribute and automatically map versions of client modules.

상기와 같은 목적을 달성하기 위한 본 발명은,The present invention for achieving the above object,

클라이언트에서는 최초로 웹(WWW)상에서 기본서버에 접속하여 버전검증기를 다운로드 받아 설치하거나 설치기를 통하여 버전검증기를 설치한 후 웹을 통해 기본서버에 연결하면 버전검증기는 기본배포서버로부터 환경구성정보를 받아 업무에서 필요로 하는 지정된 클라이언트 모듈 및 버전들이 클라이언트에 존재하는지 여부를 검증하고, 해당 버전의 모듈이 존재하지 않거나 비정상적인 경우 모듈저장기를 수행하여 해당 버전의 클라이언트 모듈들을 배포서버로부터 다운로드 받아 클라이언트의 지정된 영역에 저장한다. 이를 수행하기 위하여 모듈저장기는 서버분배기로부터 자신이 접속할 수 있도록 허가된 분산배포서버에 대한 목록을 부여받고, 서버분배기로부터 지정된 순서에 따라 순차적으로 분산배포서버에 접속하면서, 시스템에서 지정된 것중 변경되거나 존재하지 않는 모든 클라이언트 모듈에 대하여 차례로 다운로드 받아 클라이언트의 해당 위치에 저장한다. 모듈저장기가 모든 클라이언트 모듈을 성공적으로 클라이언트에 저장하면, 버전검증기는 모듈등록기를 실행하여 시스템에서 필요로 하는 각 모듈의 정확한 버전을 찾아 클라이언트에 등록하고 활성화시킴으로써, 해당 서버시스템의 서비스들이 클라이언트에서 정상적으로 동작될 수 있도록 운영 환경을 자동으로 구축한다. 클라이언트에 저장되거나 활성화되어 있는 클라이언트 모듈들은 모듈관리기에 의하여 확인할 수 있고, 등록, 삭제하며 특정 버전의 모듈이 활성/비활성화되도록 제어할 수 있다.When the client accesses the basic server on the web (WWW) for the first time and downloads and installs the version verifier, or installs the version verifier through the installer and connects to the basic server through the web, the version verifier receives the configuration information from the basic distribution server. Verifies whether the specified client modules and versions required by the client exist in the client, and if the module of the version does not exist or is abnormal, executes module saver and downloads the client modules of the version from the distribution server to the designated area of the client. Save it. To do this, the module store is given a list of distributed distribution servers that it is allowed to access from the server distributor, and accesses the distributed distribution servers sequentially in the order specified from the server distributor, changing or existing ones specified in the system. All client modules that do not have one are downloaded and stored in the client's location. When the module store successfully saves all client modules to the client, the version verifier runs the module register to find the correct version of each module needed by the system, registers it with the client, and activates it. Automatically build an operating environment to operate. Client modules stored or activated in the client can be checked by the module manager, registered and deleted, and controlled to activate / deactivate specific versions of the module.

도 1은 일반적인 인터넷 환경에서 클라이언트 모듈을 배포하는 방법을 보인 흐름도이고,1 is a flowchart illustrating a method of deploying a client module in a general Internet environment.

도 2는 본 발명이 적용되는 X인터넷 환경에서의 배포 시스템과 그 주변부의 구성을 보인 블록도이고,Figure 2 is a block diagram showing the configuration of the distribution system and its peripheral portion in the X Internet environment to which the present invention is applied,

도 3은 본 발명에 따른 클라이언트 배포 모듈의 자동 매핑을 위한 내부 구성도이고,3 is an internal configuration diagram for automatic mapping of the client distribution module according to the present invention,

도 4는 본 발명에 의한 X인터넷 환경에서의 클라이언트 모듈을 배포하고 버전을 자동 매핑해주는 방법을 보인 흐름도이다.4 is a flowchart illustrating a method of distributing a client module and automatically mapping versions in the X Internet environment according to the present invention.

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

100 ..... 웹 브라우저100 ..... Web Browser

200 ..... 클라이언트200 ..... Client

210 ..... 제어부210 ..... Controls

220 ..... 저장부220 ..... storage

230 ..... 등록부230 ..... Register

240 ..... 관리부240 ..... Management

300 ..... 서버300 ..... Server

310 ..... 기본배포서버310 ..... Default Deployment Server

320 ..... 분산배포서버320 ..... Distributed Deployment Server

이하 상기와 같은 기술적 사상에 따른 본 발명의 바람직한 실시예를 첨부한 도면에 의거 상세히 설명하면 다음과 같다.Hereinafter, described in detail with reference to the accompanying drawings, preferred embodiments of the present invention according to the technical spirit as described above.

도 2는 본 발명이 적용되는 X인터넷 환경에서의 배포 시스템과 그 주변부의구성을 보인 블록도이다.Figure 2 is a block diagram showing the configuration of the distribution system and its peripheral portion in the X Internet environment to which the present invention is applied.

본 발명을 위한 버전관리시스템은 크게 서버(300)와 클라이언트(200)로 구성된다.Version control system for the present invention is largely composed of the server 300 and the client (200).

서버(300)는, 클라이언트 모듈 배포에 대한 총괄 정보와 클라이언트 모듈의 슈퍼셋을 관리하고, 실제로 배포될 모듈들을 임시저장하고 배포하는 기본배포서버(310)가 있고, 기본배포서버(310)의 위임을 받아 중앙처리장치(CPU)와 네트웍의 부하를 분산하기 위하여 사용되는 복수개의 분산배포서버(320)들로 구성된다.The server 300 has a basic distribution server 310 that manages the overall information of the client module distribution and superset of the client module, and temporarily stores and distributes the modules to be actually distributed, and delegates the basic distribution server 310. It is composed of a plurality of distributed distribution server 320 used to distribute the central processing unit (CPU) and the load of the network.

클라이언트(200)는, 웹브라우저(100)에 의하여 사용되며, 기본배포서버(310)와 통신하며 모듈의 배포여부를 확인하기 위한 제어부(210)와, 분산배포서버(320)로부터 특정 클라이언트 모듈을 다운로드받아 하드디스크에 버전별로 영구히 저장하는 저장부(220), 저장된 클라이언트 모듈을 시스템이 사용 가능하도록 지능적으로 시스템에 등록하고 제거하는 등록부(230), 시스템에 등록 및 설치된 클라이언트 모듈들을 관리하고 제거하기 위한 관리부(240)로 구성된다.The client 200 is used by the web browser 100 to communicate with the basic distribution server 310 and to check whether the module is distributed or not, and the specific client module from the distributed distribution server 320. Storage unit 220 for downloading and permanently storing the version on the hard disk for each version, the registration unit 230 to intelligently register and remove the stored client module to the system for use, to manage and remove the client module registered and installed in the system It consists of a management unit 240 for.

도3은 본 발명에 따른 클라이언트 배포 모듈의 자동 매핑을 위한 내부 구성도이다.3 is an internal configuration diagram for automatic mapping of a client distribution module according to the present invention.

여기서 참조부호 311은 기본배포서버(310)에 구성되며 배포할 클라이언트 모듈에 대한 정보와 분산배포서버(320)의 구성에 대한 정보가 정의되어 있는 환경 구성정보 제공부를 나타내며, 321은 상기 분산배포서버(320)에 구성된 코어 모듈(321)을 나타내고, 참조부호 322는 상기 분산배포서버(320)에 구성된 클라이언트 모듈을 나타낸다.Here, reference numeral 311 denotes an environment configuration information providing unit configured in the basic distribution server 310 and defining information about the client module to be distributed and the configuration of the distributed distribution server 320, and 321 denotes the distributed distribution server. A core module 321 configured at 320 is indicated, and reference numeral 322 denotes a client module configured at the distributed distribution server 320.

또한, 제어부(210)는 버전 검증기(211)와 서버 분배기(212) 및 코어 설치기(213)로 구성되며, 저장부(220)는 모듈저장기(221)와 배포서버(320)로부터 다운로드된 클라이언트 모듈이 클라이언트 컴퓨터에 영구 저장된 클라이언트모듈 저장부(222)로 구성되며, 등록부(230)는 모듈등록기(231)와 최종적으로 시스템에 등록된 버전정보를 관리하기 위한 버전정보저장소(232)로 구성된다.In addition, the controller 210 includes a version verifier 211, a server distributor 212, and a core installer 213, and the storage unit 220 is a client downloaded from the module store 221 and the distribution server 320. The module is composed of a client module storage unit 222 permanently stored in the client computer, the register unit 230 is composed of a module register 231 and a version information store 232 for managing the version information finally registered in the system. .

이와 같이 구성된 본 발명이 적용되는 X인터넷 환경에서의 배포 시스템과 그 주변부의 동작을 첨부한 도면 도2 및 도3을 참조하여 상세히 설명하면 다음과 같다.Referring to Figures 2 and 3 attached to the distribution system and its peripheral portion in the X Internet environment to which the present invention configured as described above is applied as follows.

먼저 서버(300)는 클라이언트 모듈의 목록 및 배포에 대한 총괄 정보를 관리하는 기본배포서버(310)와, 네트웍 및 시스템 자원을 분산하여 클라이언트 모듈을 클라이언트로 배포하기 위한 분산배포서버(320)로 구성된다.First, the server 300 is composed of a basic distribution server 310 for managing the overall information on the list and distribution of the client module, and a distributed distribution server 320 for distributing network and system resources to distribute the client module to the client do.

기본배포서버(310)는 서버시스템의 서비스를 이용자들에게 제공하는 업무의 중심이 되는 서버를 의미한다. 이용자가 업무 처리를 목적으로 접근하는 서버로서, 클라이언트 모듈의 버전 세트를 인식하기 위한 기본 단위로 사용되고, 모든 분산배포서버(320)에 대한 대표서버로써의 기능을 수행한다. 네트웍의 부하를 분산시키기 위하여 클라이언트의 다운로드 요청을 분산배포서버(320)로 리다이렉트(redirect)시키기는 하지만 분산배포서버(320)에 문제가 발생시 최종적인 배포의 책임을 지기도 한다.Basic distribution server 310 refers to a server that is the center of the task of providing services of the server system to the users. As a server that a user accesses for business purposes, it is used as a basic unit for recognizing a version set of a client module and performs a function as a representative server for all distributed distribution servers 320. In order to distribute the load of the network, the download request of the client is redirected to the distributed distribution server 320, but it is also responsible for the final distribution when a problem occurs in the distributed distribution server 320.

기본배포서버(310)의 환경구성정보 제공부(311)에는 배포할 클라이언트 모듈에 대한 정보와 분산배포서버(320)의 구성에 대한 정보가 정의되어 있어야 한다.The environment configuration information providing unit 311 of the basic distribution server 310 should define information about the client module to be distributed and information about the configuration of the distributed distribution server 320.

기본적인 구성요소 및 구조는 다음과 같다.The basic components and structure are as follows.

[Installation Info][Installation Info]

Apply = 2003/06/02/15:30Apply = 2003/06/02/15: 30

TimeZone = 9TimeZone = 9

Installer = 1,0,0,1Installer = 1,0,0,1

Description = 테스트4팀Description = Test Team 4

Installation Info는 클라이언트 모듈(322)을 해당 로컬 컴퓨터에 설치 및 적용하기 위한 기준 시점 및 기본배포서버(310)에 대한 기본정보를 나타낸다.Installation Info represents a baseline and basic information on the basic deployment server 310 for installing and applying the client module 322 to the local computer.

Apply : 기본배포서버(310)의 시스템 시간을 기준으로 한 배포적용 일시를 지정한다. 이 시간 이전에 접속하는 경우에는 배포정보를 무시한다.Apply: Specify the date and time to apply the distribution based on the system time of the basic deployment server (310). If you connect before this time, the distribution information is ignored.

TimeZone : 기본배포서버(310)의 시스템 시간과 세계표준시와의 차이를 나타낸다. 즉 기본배포서버(310)가 위치해 있는 지역과 사용자들이 위치한 지역의 시차에 따른 적용상의 차이를 보정하기 위하여 표준시간을 기준으로 클라이언트 모듈(322)을 배포할 세계적으로 통일된 정확한 시점을 알려준다.TimeZone: Represents a difference between the system time of the basic distribution server 310 and the universal time. In other words, in order to correct the difference in application according to the time difference between the region where the basic distribution server 310 is located and the user's location, the globally unified accurate time point for distributing the client module 322 based on the standard time is provided.

Installer : 제어부(210)내 코어 설치기(213)의 버전에 대한 정보를 나타낸다. 버전이 업그레이드되거나 불일치하는 경우를 검증하여 다시 다운로드할 수 있도록 한다.Installer: Shows information about the version of the core installer 213 in the control unit 210. Verify that the version is upgraded or inconsistent so you can download it again.

Description : 기본배포서버(310)에 대한 이해, 인지 및 접근하기 쉬운 이름(별명)을 제공한다.Description: Provides a name (alias) that is easy to understand, recognize, and access to the basic deployment server 310.

[Recent Component Version][Recent Component Version]

Dataset=data.cab:data.dll1,0,7,2:{3267EA0D-B5D8-11D2-A4F9-00608CEBEE49}Dataset = data.cab: data.dll1,0,7,2: {3267EA0D-B5D8-11D2-A4F9-00608CEBEE49}

Report=rep.dll:1,0,7,2:{37D13B2F-E5EB-11D2-973D-00104B15E56F}Report = rep.dll: 1,0,7,2: {37D13B2F-E5EB-11D2-973D-00104B15E56F}

Tr=tr.cab:tr.dll:1,0,7,2:{0A2233AD-E771-11D2-973D-00104B15E56F}Tr = tr.cab: tr.dll: 1,0,7,2: {0A2233AD-E771-11D2-973D-00104B15E56F}

배포 대상이 되는 클라이언트 모듈(322)의 목록과 변경 상태 정보를 알려준다. 클라이언트 모듈(322)의 이름과 배포할 압축파일, 여러 개의 파일들 중에서 대표적으로 취급할 파일명과 버전 및 클래스ID등과 같은 클라이언트 모듈(322)의 글로벌 식별자에 대한 정보를 기술한다.It informs the list of client modules 322 to be distributed and the change status information. Information on the global identifier of the client module 322, such as the name of the client module 322, a compressed file to be distributed, and a file name, version, and class ID to be typically handled among a plurality of files, are described.

[Secondary Server List]Secondary Server List

1.http://gaxa.sift.co.kr/AU4/1.http: //gaxa.sift.co.kr/AU4/

2.http://210.124.184.33/AU4/2.http: //210.124.184.33/AU4/

3.http://127.0.0.1/AU4/3.http: //127.0.0.1/AU4/

4.http://localhost/AU4/4.http: // localhost / AU4 /

다음으로 분산배포서버(320)는, 분산배포서버(320)에 대한 별명(Alias)과 접근할 Home URL의 쌍으로 기술된다. 모든 분산배포서버(320)의 웹상의 디렉토리와 접근 경로가 같을 필요는 없으나, Home URL 이하의 디렉토리 구조는 동일해야 한다. 또한 분산배포서버(320)에 존재하는 환경구성정보 파일의 버전이나 정보는 기본배포서버(310)의 그것과 일치해야 하며, 불일치로 판정되는 경우에는 기본배포서버(310)와의 동기화가 이루어지지 않은 것으로 보아 배포를 금지하도록 한다.The distributed distribution server 320 is then described as a pair of aliases for the distributed distribution server 320 and a Home URL to access. It is not necessary for all the distributed distribution servers 320 to have the same access path as the directory on the web, but the directory structure below the home URL should be the same. In addition, the version or information of the environment configuration information file existing in the distributed distribution server 320 must match that of the basic distribution server 310, and if it is determined that the mismatch is not synchronized with the basic distribution server 310 It is supposed to ban distribution.

[Recommended Server #01][Recommended Server # 01]

Region = 210.124.184;210.124.192;110.132.179;Region = 210.124.184; 210.124.192; 110.132.179;

Server = 1Server = 1

[Recommended Server #02][Recommended Server # 02]

Region = 210.124.184.33Region = 210.124.184.33

Server = 1,2,3,4Server = 1,2,3,4

사용자의 접속에 따라 분산배포서버(320)를 자동으로 라우팅하기 위한 매핑테이블을 정의한다. 분산배포서버(320)의 Alias별로 적용될 클라이언트의 IP 기준 영역(Region)과 이 영역에 속하는 클라이언트들이 기본적으로 접속하도록 배정할 분산배포서버(320)의 목록 및 순서를 지정한다. 아울러 기본배포서버(310)의 CPU와 네트웍 부하를 분산시키기 위하여 클라이언트 모듈(322)의 분산배포 지원을 목적으로 보조로 운영되는 배포서버를 의미한다. 웹서버의 기능이 제공되어야 하며, 기본배포서버(310)에서 준비되어야 할 기본 구성이 그대로 구축되어 있어야 한다.A mapping table for automatically routing the distributed distribution server 320 according to a user's connection is defined. Specifies the IP reference region of the client to be applied for each alias of the distributed distribution server 320 and the list and order of the distributed distribution server 320 to which clients belonging to this region are basically connected. In addition, to distribute the CPU and network load of the basic distribution server 310 means a distribution server that is operated for the purpose of supporting the distributed distribution of the client module 322. The function of the web server should be provided, and the basic configuration to be prepared in the basic distribution server 310 should be built as it is.

다음으로 클라이언트(200)에 대해 상세히 설명하면 다음과 같다.Next, the client 200 will be described in detail.

먼저 제어부(210)내의 버전검증기(211)는 업무용 서버시스템에 접속하여 인증처리가 완료된 후 최초의 업무 페이지로 이동하기 전에 호출된다. 버전검증기(211)가 설치되지 않은 경우 웹브라우저(100)는 도1의 흐름도에 따라 자동으로 기본배포서버(310)로부터 다운로드받아 시스템 디렉토리에 설치하고, 버전정보저장소(232)에 해당 정보를 기록한다. 웹 페이지에서 기본배포서버(310)에 대한 정보(URL)와 실행 방식을 인자로 받아 실행되면, 버전검증기(211)는 기본배포서버(310)로부터 환경구성정보 제공부(311)에서 제공해주는 환경구성정보 파일을 다운로드받아 임시 디렉토리에 저장한다. 이때 기본배포서버(310)의 현재 시각도 함께 획득해 온다. 기본배포서버(310)로부터 받아온 환경구성정보 파일이 처음으로 받아온 것이거나 기존의 것과 변경된 내용이 있으면 기존에 설치된 것을 삭제하고 새로 받은 것으로 대체한다. 환경구성정보 파일로부터 내용을 확인하여 기본배포서버(310)로부터 받아온 시각과 비교하여 적용시점이 지난 후 첫 번째 접촉시도인 경우 버전검증기(211)는 환경구성정보 파일에 기술된 클라이언트 모듈(322)들의 목록을 확인하면서 해당 버전의 클라이언트 모듈(322)이 설치되었는지 여부를 비교하여 설치되지 않은 클라이언트 모듈(322)이 하나라도 존재하는지 여부를 검사한다.First, the version verifier 211 in the control unit 210 is called after accessing the work server system and before moving to the first work page after the authentication process is completed. If the version verifier 211 is not installed, the web browser 100 automatically downloads from the basic distribution server 310 and installs it in the system directory according to the flowchart of FIG. 1, and records the corresponding information in the version information repository 232. do. When the web page is executed by receiving the information (URL) and execution method of the basic distribution server 310 as a factor, the version verifier 211 provides an environment provided by the environmental configuration information providing unit 311 from the basic distribution server 310 Download the configuration file and save it in a temporary directory. At this time, the current time of the basic distribution server 310 is also acquired. If the configuration information file received from the basic distribution server 310 is received for the first time or if there is a change from the existing one, the existing installation is deleted and replaced with a new one. If the first contact attempt after the application time point is compared with the time received from the basic distribution server 310 by checking the contents from the environment configuration information file, the version verifier 211 is the client module 322 described in the environment configuration information file. While checking the list of these, it is compared whether or not the client module 322 of the corresponding version is installed to check whether there is any client module 322 not installed.

설치대상 클라이언트 모듈(322)이 하나라도 존재하는 것으로 판단되면 버전검증기(211)는 실행시 주어진 실행 모드에 따라 자동으로 다운로드 및 설치를 실행할 것인지, 아니면 사용자의 확인에 의하여 수동으로 실행할 것인지 여부를 결정하고, 필요한 경우 사용자의 실행 여부를 확인 받기 위한 창을 출력한다. 사용자가 다운로드를 취소하면 작업은 이 단계에서 종료된다.If it is determined that at least one installation target client module 322 exists, the version verifier 211 determines whether to execute the download and installation automatically according to a given execution mode or to execute it manually according to the user's confirmation. If necessary, a window is displayed to check whether the user is running. If the user cancels the download, the operation ends at this stage.

사용자가 설치하기를 원하는 경우 버전검증기(211)는 모듈저장기(221)를 실행하여 설치할 모든 클라이언트모듈(322)을 기본배포서버(310)로부터 다운로드 받기까지 대기한 후, 저장이 끝나면 모듈등록기(231)를 실행하여 환경구성정보 파일에 기술된 버전으로 클라이언트 시스템의 환경을 구성한다.If the user wants to install the version verifier 211 waits to download all the client modules 322 to be installed by the module storage 221 to download from the basic distribution server 310, after the end of the module register ( 231) to configure the environment of the client system with the version described in the configuration file.

한편 상기 제어부(210)내의 코어 설치기(213)는 상기 버전검증기(211)와 서버분배기(212), 모듈저장기(221), 모듈등록기(231) 및 모듈관리기(241)등 버전관리시스템의 핵심적인 기능을 수행하는 코어 모듈(321)을 클라이언트에 설치하는 모듈이다.On the other hand, the core installer 213 in the control unit 210 is the core of the version control system, such as the version verifier 211, the server distributor 212, the module storage unit 221, the module register 231 and the module manager 241. A module for installing a core module 321 performing a functional function on a client.

여기서 코어 모듈(321)은 아래와 같은 다양한 경로를 통하여 설치가 가능하다.Here, the core module 321 may be installed through various paths as follows.

설치방법1(인터넷을 이용한 온라인 자동 설치) : 가장 기본적이며 무작위의 대중을 대상으로 적용하기 위한 배포방법으로 웹브라우저(100)의 자동 다운로드 및 버전관리 기능을 이용하여 버전검증기(211)를 다운로드 받고, 버전검증기(211)를 실행시키면, 버전검증기(211)는 코어설치기(213)를 다운로드받아 설치한다. 이 과정은 사용자에게 투명하게 진행된다.Installation method 1 (online automatic installation using the Internet): The most basic and random distribution method to apply to the public to download the version verifier (211) using the automatic download and version control function of the web browser (100) When the version verifier 211 is executed, the version verifier 211 downloads and installs the core installer 213. This process is transparent to the user.

설치방법2(인터넷을 이용한 파일 다운로드 설치) : 사용자가 주체가 되어 설치하는 방법으로, 코어설치기(213)를 압축 또는 비압축된 상태로 서버(300)에 저장하면, 사용자들이 해당 파일을 클라이언트로 다운로드받아 코어설치기(213)를 실행하여 코어설치기(213)에서 지시하는 대로 진행하며 코어 모듈(321)을 설치한다.Installation method 2 (file download installation using the Internet): a method in which the user is installed as a subject, when the core installer 213 is stored in the server 300 in a compressed or uncompressed state, the users can download the file to the client Download and run the core installer 213 proceeds as directed by the core installer 213 and installs the core module 321.

설치방법3(이동식 저장장치를 이용한 설치) : CD나 하드디스크, 플로피디스크 등 이동식 저장장치에 설치기를 저장하여 해당 클라이언트 컴퓨터의 디스크 장치에서 코어설치기(213)를 실행하여 설치기에서 지시하는 대로 진행하여 코어 모듈(321)을 설치한다.Installation Method 3 (Installation Using Removable Storage Device): Save the installer to a portable storage device such as a CD, hard disk, floppy disk, etc., run the core installer 213 on the disk device of the client computer, and proceed as directed by the installer. The core module 321 is installed.

또한, 제어부(210)내의 서버분배기(212)는 클라이언트의 IP정보와 서버의 환경구성정보 파일에 정의된 매핑정보를 분석하여 해당 클라이언트가 기본배포서버(310)에서 다운로드 하기전에 우선적으로 연결하여 정보를 처리해야 할 분산배포서버(320)의 주소를 결정한다. 환경구성정보 파일의 내용중에서 분산배포서버(320)의 목록을 구성하고, 클라이언트IP주소와 분산배포서버(320)간의 매핑 테이블을 해석하여 해당 클라이언트가 접속할 수 있는 분산배포서버(320)의 목록 및 우선 순위를 결정하여 버전검증기(211)에게 알려준다.In addition, the server distributor 212 in the control unit 210 analyzes the mapping information defined in the client's IP information and the server's environment configuration information file and connects the client prior to downloading from the basic distribution server 310 for information. Determine the address of the distributed distribution server 320 to be processed. Configure a list of distributed distribution server 320 among the contents of the environment configuration information file, interpret the mapping table between the client IP address and the distributed distribution server 320, and list the distributed distribution server 320 that the client can access. The priority is determined and the version verifier 211 is informed.

다음으로 저장부(220)에 대해서 설명하면 다음과 같다.Next, the storage unit 220 will be described.

저장부(220)내의 모듈저장기(221)는 클라이언트의 IP주소 정보를 제공하고 서버분배기(212)를 실행하여 파일을 다운로드할 분산배포서버(320)를 지정 받는다. 지정된 분산배포서버(320)에 접속하여 환경구성정보 파일을 다운로드받아 기본배포서버(310)와 비교하여 분산배포서버(320)가 기본배포서버(310)와 동기화가 되어 있는지 확인한다. 동기화 검증이 성공하면 환경구성정보 파일에 지정된 각 클라이언트 모듈을 순차적으로 확인하면서 로컬에 설치 또는 저장된 클라이언트 모듈(322)과 버전을 확인하여 변경된 것이 있는 경우에는 지정된 분산배포서버(320)에 요청하여 클라이언트로 모듈(320)을 다운로드받아 클라이언트의 지정된 위치에 해당 파일을 저장한다.The module storage unit 221 in the storage unit 220 receives the IP address information of the client and executes the server distributor 212 to receive a distributed distribution server 320 to download a file. Access to the designated distributed distribution server 320 to download the configuration file and compare with the basic distribution server 310 to check whether the distributed distribution server 320 is synchronized with the basic distribution server 310. If the synchronization verification is successful, the client module 322 and the version installed or stored locally are checked while checking each client module specified in the configuration information file sequentially. The module 320 is downloaded and stored in the file at the designated location of the client.

다음으로 등록부(230)에 대해서 설명하면 다음과 같다.Next, the registration unit 230 will be described.

등록부(230)내의 모듈등록기(230)는 모듈저장기(221)를 통해 클라이언트에 보관된 클라이언트 모듈(322)들 중에서 연결하고자 하는 서버시스템에서 정의된 환경에 가장 적합한 클라이언트 모듈(322)의 버전을 찾아 로컬 컴퓨터에서 사용 가능한 상태로 버전정보저장소(232)에 등록하는 작업을 자동화함으로써 사용자가 해당 모듈을 서비스와 동시에 연동하여 사용할 수 있도록 구성해 준다. 로컬 컴퓨터에는 동일한 클라이언트 모듈(322)에 대해 서로 다른 여러 개의 버전이 동시에 저장되어존재할 수 있으며, 각 버전은 특정 시점에서는 오직 한 개의 버전만이 활성화되어 사용될 수 있다. 모듈등록기(231)는 이러한 제약 상황을 유기적으로 관리함으로써 사용자에게는 투명하게 서버시스템과의 버전매핑 작업을 수행한다. 버전검증기(211)에 의해 일련의 순서에 따라 설치된 클라이언트 모듈(322)의 저장 및 등록 상태를 통합적으로 관리하는 기능을 수행한다. 기본배포서버(310)의 목록을 관리하고 추가, 삭제 등의 작업을 수행한다. 현재 등록되어 활성화되어 있는 클라이언트 모듈(322)의 상태를 모니터링할 수 있고, 조정할 수 있으며, 필요 없는 모듈이나 특정 버전을 시스템에서 제거하는 등의 기능을 수행한다.The module register 230 in the register 230 selects a version of the client module 322 most suitable for the environment defined in the server system to be connected among the client modules 322 stored in the client through the module store 221. By automating the task of finding and registering in the version information store 232 in a state where it can be used on the local computer, the user can configure the module to be used simultaneously with the service. Several different versions of the same client module 322 can be stored and stored on the local computer at the same time, and only one version can be active and used at a given time. The module register 231 organically manages the constraints so that version mapping with the server system is transparent to the user. The version verifier 211 performs a function of collectively managing the storage and registration states of the client module 322 installed in a series of orders. It manages the list of the basic distribution server 310 and performs operations such as adding and deleting. The status of the currently registered and activated client module 322 can be monitored and adjusted, and functions such as removing unnecessary modules or specific versions from the system are performed.

도4는 본 발명에 의한 X인터넷 환경에서의 클라이언트 모듈을 배포하고 버전을 자동 매핑해주는 방법을 보인 흐름도이다.4 is a flowchart illustrating a method for distributing a client module and automatically mapping versions in the X Internet environment according to the present invention.

이에 도시된 바와 같이, 웹 브라우저가 시작되어 활성화된 버전검증기는 HTML의 주어진 내용에 따라 기본배포서버에 대한 정보를 획득하는 단계(ST201)와; 상기 획득한 정보로 해당 기본배포서버에 접속하여 환경구성정보 파일을 수신하여 해석하는 단계(ST202)와; 상기 단계(ST202)후 클라이언트에 설치된 모듈들을 확인하여 해당 버전의 모듈이 존재하는지 검사하고, 설치되지 않은 버전으로 판정된 모듈들의 목록을 작성하는 단계(ST203)와; 상기 비설치된 모듈이 존재하는 경우 접속해야 할 분산배포서버의 목록을 획득하는 단계(ST204)와; 상기 획득된 목록의 우선순위별로 분산배포서버에 접속을 시도하여 분산배포서버의 환경구성정보 파일이 기본배포서버의 환경구성정보 파일과 일치하는 분산배포서버를 결정하는 단계(ST205)와; 상기 결정한 분산배포서버로부터 설치기를 다운로드받아 클라이언트에 설치하는 단계(ST206)와; 상기 단계(ST204)에서 획득한 배포모듈의 목록에 따라 순차적으로 클라이언트 모듈을 다운로드하여 해당 위치에 저장하는 단계(ST207)와; 상기 클라이언트 모듈의 다운로드가 종료되면 상기 기본배포서버의 환경구성정보 파일의 내용에 따라 클라이언트 모듈을 찾아 시스템에 등록하는 단계(ST208)로 이루어진다.As shown here, the version verifier activated by starting the web browser acquires information on the basic distribution server according to the contents of the HTML (ST201); Accessing the basic distribution server with the obtained information to receive and interpret an environment configuration information file (ST202); Checking the modules installed in the client after the step ST202, checking whether a module of a corresponding version exists, and creating a list of modules determined as an uninstalled version (ST203); Obtaining a list of distributed distribution servers to be accessed when the non-installed module exists (ST204); Attempting to connect to the distributed distribution server according to the priority of the obtained list to determine the distributed distribution server whose environment configuration information file matches the environment configuration information file of the basic distribution server (ST205); Downloading the installer from the determined distributed distribution server and installing it on a client (ST206); Sequentially downloading the client modules according to the list of distribution modules obtained in the step ST204 and storing them in a corresponding location (ST207); When the download of the client module is completed, the step of finding and registering the client module in the system according to the contents of the configuration file of the basic distribution server (ST208).

이와 같이 이루어지는 본 발명에 의한 X인터넷 환경에서의 클라이언트 모듈을 배포하고 버전을 자동 매핑해주는 방법을 상세히 설명하면 다음과 같다.The method for distributing and automatically mapping versions of a client module in the X Internet environment according to the present invention as described above is as follows.

먼저 웹브라우저(100)가 시작되고 웹 페이지에 접속하여 코어설치기(213)의 설치방법(설치방법1)에 따라 설치되는 경우, 버전검증기(211)는 도1의 방법에 의하여 배포되고, 클라이언트에 설치되어 웹브라우저(100)에 의해 활성화된다.First, when the web browser 100 is started and installed according to the installation method (installation method 1) of the core installer 213 by accessing a web page, the version verifier 211 is distributed by the method of FIG. It is installed and activated by the web browser 100.

활성화된 버전검증기(211)는 단계 ST201에서 HTML의 주어진 내용에 따라 기본배포서버(310)에 대한 정보를 획득하고, 단계 ST202에서 해당 기본배포서버(310)에 접속하여 환경구성정보 파일을 수신하여 해석한다.The activated version verifier 211 obtains information on the basic distribution server 310 according to the contents of the HTML in step ST201, and accesses the corresponding basic distribution server 310 in step ST202 to receive the configuration file. Interpret

다음으로 단계 ST203에서는 상기 수집된 각각의 클라이언트 모듈들에 대하여 클라이언트에 설치된 모듈들을 확인하여 해당 버전의 모듈이 존재하는지 검사하고, 설치되지 않은 버전으로 판정된 모듈들이 존재하는 경우에는 해당 목록을 작성한다.Next, in step ST203, the modules installed in the client are checked for each of the collected client modules to check whether a module of a corresponding version exists, and if there are modules determined to be an uninstalled version, a corresponding list is created. .

다음으로 단계 ST204에서 배포대상이 존재하는 것으로 판단된 경우, 버전검증기(211)는 서버분배기(212)에 자신의 IP와 환경구성정보 파일을 알려주고, 접속해야 할 분산배포서버의 목록을 요청한다. 서버분배기(212)는 환경구성정보 파일의추천서버(Recommended Server)별로 영역(Region)을 확인하면서 제공받은 클라이언트IP와 일치하는 IP그룹이나 IP 목록이 있는지 조사하여 허용된 추천서버가 있으면 목록에 추가한다. 하나의 IP에 대하여 추천서버에 여러 개가 가능하며, 접속 우선순위는 환경구성정보 파일에 기술된 순서에 준한다. 모든 추천서버에 대하여 검토가 마무리되면 서버분배기(212)는 해당 추천서버의 목록을 버전검증기(211)에 알려주고 종료한다.Next, when it is determined in step ST204 that the distribution target exists, the version verifier 211 informs the server distributor 212 of its own IP and environment configuration information file, and requests a list of distributed distribution servers to be accessed. The server divider 212 checks the region of each of the recommended servers in the configuration file, checks whether there is an IP group or IP list that matches the provided client IP, and adds to the list if there is an allowed recommendation server. do. Multiple recommendation servers are possible for a single IP, and the access priority is in the order described in the configuration file. After reviewing all the recommended servers, the server distributor 212 notifies the version verifier 211 of the list of the recommended servers and ends.

다음으로 단계 ST205에서 버전검증기(211)가 획득된 추천서버의 목록을 모듈저장기(221)에 알려주면, 모듈저장기(221)는 목록의 우선순위별로 추천서버에 접속을 시도하면서 서버가 정상적으로 동작하고 있는지를 확인한다. 서버가 정상적으로 운영중인 경우 모듈저장기(221)는 추천서버에 환경구성정보 파일을 요청하여 해당 파일이 기본배포서버(310)의 것과 일치하는 경우 기본배포서버(310)와 동기화가 이루어져 있는 것으로 판단하고, 분산배포서버(320)로 결정한다.Next, in step ST205, if the version verifier 211 informs the module store 221 of the list of recommended servers obtained, the module store 221 attempts to access the recommendation server according to the priority of the list and the server normally. Check if it is working. When the server is operating normally, the module storage unit 221 requests the environment configuration information file from the recommendation server and determines that the synchronization is made with the basic distribution server 310 when the corresponding file matches that of the basic distribution server 310. Then, it is determined by the distributed distribution server 320.

단계 ST206에서 분산배포서버(예를 들어, 320)가 결정되면 모듈저장기(221)는 코어설치기(213)가 정상적으로 설치되어 있는지 여부를 확인하여 설치되지 않은 경우 분산배포서버(320)로부터 코어설치기(213)를 다운로드받아 클라이언트에 설치한다.When the distributed distribution server (eg, 320) is determined in step ST206, the module storage unit 221 checks whether the core installer 213 is normally installed, and if not, the core installer from the distributed distribution server 320. Download (213) and install it on the client.

다음으로 단계 ST207에서 상기 단계 ST203에서 획득한 배포모듈의 목록에 따라 순차적으로 클라이언트 모듈을 다운로드하여 해당 위치에 저장한다.Next, in step ST207, the client module is sequentially downloaded and stored in the corresponding location according to the list of distribution modules obtained in step ST203.

그리고 단계 ST208에서는 모든 클라이언트 모듈이 성공적으로 다운로드되면 버전검증기(211)는 모듈등록기(231)를 실행하여 기본배포서버(310)의 환경구성정보파일의 내용에 따라 클라이언트 모듈(322)을 찾아 시스템에 등록한다. 모든 정보가 정상적으로 구성되면 웹브라우저(100)는 해당 클라이언트 모듈을 활성화 한 후 웹 페이지에 표시한다.In step ST208, if all the client modules are successfully downloaded, the version verifier 211 executes the module register 231 to find the client module 322 according to the contents of the environment configuration information file of the basic deployment server 310 to the system. Register. If all the information is normally configured, the web browser 100 displays the web page after activating the client module.

이상에서 상술한 본 발명에 따르면, 새로운 기술의 등장이나 행동 양식의 변화에 대하여 기존 서버시스템 및 클라이언트 모듈은 개발 당시의 환경과 기능을 이용하여 그대로 동작하고, 새롭게 개발되는 서버시스템 및 클라이언트 모듈은 가장 최신의 기능 및 기술을 이용하여 개발하도록 함으로써, 클라이언트 모듈의 버전 변화에 따른 서버시스템의 버전일치를 위한 커스터마이징 작업을 근본적으로 제거하고, 사용자에게는 투명한 버전매핑 및 관리 기능을 수행함으로써, 버전이 서로 다른 동일 제품의 클라이언트 모듈을 이용하여 서로 다른 서버시스템을 개발하고 사용하는 업무의 수행이 가능토록 도모해주는 효과가 있다.According to the present invention described above, the existing server system and the client module operates as it is using the environment and functions at the time of development, and the newly developed server system and the client module By developing using the latest functions and technologies, the user can fundamentally eliminate customization tasks for server system version matching due to the change of client module version, and perform version mapping and management function that is transparent to users. Using client modules of the same product, it is effective to develop and use different server systems.

또한, 클라이언트 모듈의 변경에 따른 배포에 의한 서버의 CPU 및 네트웍 자원을 각 기업의 시스템 자원 상태에 따라 효율적으로 분산시킴으로써, 시스템의 자원 활용을 극대화해주는 효과도 있다.In addition, by efficiently distributing the CPU and network resources of the server by the distribution according to the change of the client module according to the system resource state of each company, it is also effective to maximize the resource utilization of the system.

Claims (3)

클라이언트 모듈 배포에 대한 총괄 정보와 클라이언트 모듈의 슈퍼셋을 관리하고, 실제로 배포될 모듈들을 임시저장하고 배포하는 기본배포서버 및 상기 기본배포서버의 위임을 받아 중앙처리장치(CPU)와 네트웍의 부하를 분산하기 위하여 사용되는 분산배포서버로 구성된 서버와, 상기 분산배포서버로부터 특정 클라이언트 모듈을 다운로드받아 시스템에 등록하며, 시스템에 등록 및 설치된 클라이언트 모듈들을 관리하고 제거하는 버전검증기와 서버분배기와 코어설치기와 모듈저장기와 모듈등록기와 모듈관리기를 구비한 클라이언트로 이루어진 X인터넷 시스템에서의 분산배포서버에 의한 클라이언트 모듈의 배포 및 버전 자동 매핑방법에 있어서,It manages supervision of client module distribution and superset of client module, and loads central processing unit (CPU) and network under the authority of basic distribution server and temporary distribution server that temporarily stores and distributes the modules to be actually distributed. A server composed of a distributed distribution server used for distribution, a version validator for downloading and registering a specific client module from the distributed distribution server, and managing and removing client modules registered and installed in the system, a server distributor, a core installer, In the distribution and version automatic mapping method of the client module by the distributed distribution server in the X Internet system consisting of a client having a module storage unit, a module register and a module manager, 웹브라우저가 시작되어 활성화된 상기 클라이언트내의 버전검증기에서 HTML의 주어진 내용에 따라 기본배포서버에 대한 정보를 획득하는 제1단계와;A first step of obtaining information on the basic distribution server according to a given content of HTML from a version verifier in the client activated and started by a web browser; 상기 획득한 정보로 해당 기본배포서버에 접속하여 환경구성정보 파일을 수신하고 이를 해석하는 제2단계와;A second step of connecting to the corresponding basic distribution server with the obtained information to receive an environment configuration information file and interpreting it; 상기 제2단계후 클라이언트에 설치된 모듈들을 확인하여 해당 버전의 모듈이 존재하는지 검사하고, 그 검사결과 비설치된 버전이 존재하는 경우 그 모듈들의 목록을 작성하는 제3단계와;A third step of checking the modules installed in the client after the second step to check whether a corresponding version of the module exists, and creating a list of the modules if an uninstalled version exists as a result of the inspection; 상기 비설치된 모듈이 존재하는 경우 접속해야 할 분산배포서버의 목록을 획득하는 제4단계와;A fourth step of obtaining a list of distributed distribution servers to be accessed when the uninstalled module exists; 상기 획득된 목록의 우선순위별로 분산배포서버에 접속을 시도하여 분산배포서버의 환경구성정보 파일이 기본배포서버의 환경구성정보 파일과 일치하는 분산배포서버를 결정하는 제5단계와;A fifth step of determining a distributed distribution server in which an environment configuration information file of a distributed distribution server matches an environment configuration information file of a basic distribution server by attempting to access a distributed distribution server for each priority of the obtained list; 상기 결정한 분산배포서버로부터 설치기를 다운로드받아 클라이언트에 설치하는 제6단계와;A sixth step of downloading an installer from the determined distributed distribution server and installing it on a client; 상기 제4단계에서 획득한 배포모듈의 목록에 따라 순차적으로 클라이언트 모듈을 다운로드하여 해당 위치에 저장하는 제7단계와;A seventh step of sequentially downloading the client modules according to the list of distribution modules obtained in the fourth step and storing them in a corresponding location; 상기 클라이언트 모듈의 다운로드가 종료되면 상기 기본배포서버의 환경구성정보 파일의 내용에 따라 클라이언트 모듈을 찾아 시스템에 등록하는 제8단계를 포함하여 이루어짐을 특징으로 하는 분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동 매핑방법.When the download of the client module is finished, the distribution and version of the client module by the distributed distribution server comprising the eighth step of finding and registering the client module in the system according to the contents of the configuration file configuration information of the basic distribution server Automatic mapping method. 제1항에 있어서, 상기 제4단계는,The method of claim 1, wherein the fourth step, 비설치된 클라이언트 모듈이 존재하는 경우, 상기 버전검증기에서 상기 서버분배기에 클라이언트 IP와 환경구성정보 파일을 전송하고, 접속해야 할 분산배포서버의 목록을 요청하는 단계와;If there is an uninstalled client module, transmitting a client IP and an environment configuration information file to the server distributor from the version verifier and requesting a list of distributed distribution servers to be connected to; 상기 서버분배기에서 환경구성정보 파일의 추천서버(Recommended Server)별로 영역(Region)을 확인하면서 제공받은 클라이언트IP와 일치하는 IP그룹이나 IP 목록이 있는지 조사하여 허용된 추천서버가 있으면 목록에 추가하는 단계와;In the server distributor, checking a region for each recommended server of the configuration information file, examining whether there is an IP group or a list of IPs that match the provided client IP, and adding to the list if there is an allowed recommendation server. Wow; 상기 서버분배기에서 모든 추천서버에 대하여 검토가 마무리되면 해당 추천서버의 목록을 분산배포서버 목록으로 상기 버전검증기에 전송해주는 단계를 포함하는 것을 특징으로 하는 분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동 매핑방법.Completing the distribution of the client module and the automatic version mapping by the distributed distribution server comprising the step of transmitting the list of the recommendation server to the version verifier as a distributed distribution server list when the review is completed for all the recommendation server in the server distributor Way. 제1항에 있어서, 상기 제5단계는,The method of claim 1, wherein the fifth step, 상기 버전검증기에서 상기 획득된 추천서버의 목록을 상기 모듈저장기에 전송해주는 단계와;Transmitting, by the version verifier, the list of the obtained recommendation servers to the module storage unit; 상기 모듈저장기에서 상기 목록의 우선순위별로 추천서버에 접속을 시도하면서 서버가 정상적으로 동작하고 있는지를 확인하는 단계와;Confirming whether the server is operating normally while attempting to access a recommendation server by the priority of the list in the module store; 상기 모듈저장기에서 상기 접속한 서버가 정상적으로 운영중인 경우 상기 추천서버에 환경구성정보 파일을 요청하는 단계와;Requesting, by the module store, an environment configuration information file from the recommendation server when the connected server is normally operated; 상기 요청후 수신한 환경구성정보 파일이 상기 기본배포서버의 것과 일치하는 경우 상기 추천서버를 분산배포서버로 결정하는 단계를 포함하여 이루어짐을 특징으로 하는 분산배포서버에 의한 클라이언트 모듈 배포 및 버전 자동 매핑방법.If the configuration information file received after the request is identical to that of the basic distribution server, the client module distribution and version automatic mapping by the distributed distribution server comprising the step of determining the recommendation server as a distributed distribution server Way.
KR1020040028730A 2004-04-26 2004-04-26 Method for automatic mapping version and client module distribution according to distributed server KR20040041138A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020040028730A KR20040041138A (en) 2004-04-26 2004-04-26 Method for automatic mapping version and client module distribution according to distributed server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020040028730A KR20040041138A (en) 2004-04-26 2004-04-26 Method for automatic mapping version and client module distribution according to distributed server

Publications (1)

Publication Number Publication Date
KR20040041138A true KR20040041138A (en) 2004-05-14

Family

ID=37338280

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040028730A KR20040041138A (en) 2004-04-26 2004-04-26 Method for automatic mapping version and client module distribution according to distributed server

Country Status (1)

Country Link
KR (1) KR20040041138A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705002B1 (en) * 2005-02-25 2007-04-10 엔에이치엔(주) Method for Installing Activex Control
KR100751159B1 (en) * 2005-03-14 2007-08-22 세이코 엡슨 가부시키가이샤 Software authentication system, software authentication method, and computer readable recording medium having software authentication program recorded therein
KR100958918B1 (en) * 2007-09-21 2010-05-19 주식회사 케이티 Subscriber database server system and method of providing backward compatibility
US8046757B2 (en) 2005-02-25 2011-10-25 Nhn Corporation Method for installing ActiveX control

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100705002B1 (en) * 2005-02-25 2007-04-10 엔에이치엔(주) Method for Installing Activex Control
US8046757B2 (en) 2005-02-25 2011-10-25 Nhn Corporation Method for installing ActiveX control
KR100751159B1 (en) * 2005-03-14 2007-08-22 세이코 엡슨 가부시키가이샤 Software authentication system, software authentication method, and computer readable recording medium having software authentication program recorded therein
KR100958918B1 (en) * 2007-09-21 2010-05-19 주식회사 케이티 Subscriber database server system and method of providing backward compatibility

Similar Documents

Publication Publication Date Title
US7149789B2 (en) Distributing software via distribution files
CN1153138C (en) System and method for improving management and usability of Java environment
US6584507B1 (en) Linking external applications to a network management system
EP2021937B1 (en) Techniques to perform gradual upgrades
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US7188163B2 (en) Dynamic reconfiguration of applications on a server
JP5364850B2 (en) Self-service configuration for data environments
US6751794B1 (en) Intelligent patch checker
EP1978672B1 (en) Method for implementing management software, hardware with pre-configured software and implementing method thereof
US20120233299A1 (en) Managing configurations of system management agents in a distributed environment
US20100070566A1 (en) System and Method for Deploying Customised Web Applications
US20020004824A1 (en) Method and apparatus for automatically deploying data and simultaneously Executing computer program scripts in a computer network
GB2492703A (en) Downloading software without downloading duplicate prerequisite software products
CN107395747B (en) High-expansion method based on STF platform
JP3563619B2 (en) Application function designating device and storage medium
US20020029244A1 (en) Client-server system, computer readable medium and computer-executable program product for updating software
KR20040041138A (en) Method for automatic mapping version and client module distribution according to distributed server
GB2348987A (en) Upgrading firmware from a web site using an applet
JP2001256053A (en) Software module transfer method, client computer and client server computer system
JPH10320184A (en) Software version management system
JP2002328865A (en) Contents providing device, contents providing method, program and contents check program
KR100597586B1 (en) Data Synchronization method using Session Management
Valentine Installing and Using the Apache Web Server
JP2004005270A (en) Eb environment construction server and eb program for eb software
JPH11134238A (en) Software update management system in software distributed development environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application