KR20020032195A - method of installing/upgrading and executing application programs on internet - Google Patents

method of installing/upgrading and executing application programs on internet Download PDF

Info

Publication number
KR20020032195A
KR20020032195A KR1020000063217A KR20000063217A KR20020032195A KR 20020032195 A KR20020032195 A KR 20020032195A KR 1020000063217 A KR1020000063217 A KR 1020000063217A KR 20000063217 A KR20000063217 A KR 20000063217A KR 20020032195 A KR20020032195 A KR 20020032195A
Authority
KR
South Korea
Prior art keywords
program
server
file
distributed
patch
Prior art date
Application number
KR1020000063217A
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 KR1020000063217A priority Critical patent/KR20020032195A/en
Publication of KR20020032195A publication Critical patent/KR20020032195A/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A method for installing, updating and executing a program on the Internet is provided to install, update and execute a server program on a client system on a web by packaging the server program without an install function. CONSTITUTION: The method comprises steps of a server(120) generating a distribution file by compressing and packing a program to distribute with the registry information and generating an installation file to install the distribution file, installing the installing program to a user system(102) by downloading the installation file from the server, judging that the distribution file exists in the user system by executing the installation program, and downloading a batch file from the server and installing the batch file if the distribution file does not exist in the user system.

Description

인터넷에서 프로그램을 설치/갱신 및 실행하는 방법{ method of installing/upgrading and executing application programs on internet }How to install / update and run applications on the internet {method of installing / upgrading and executing application programs on internet}

본 발명은 웹상에서 프로그램을 간편하게 설치하고 서버와 데이터를 공유할 수 있는 프로그램 설치/갱신 및 실행(installing/upgrading and executing) 방법에 관한 것으로, 더욱 상세하게는 인스톨(install) 기능이 없는 서버의 프로그램들을 패키지화하여 클라이언트 시스템에 설치/갱신 및 실행하는 방법에 관한 것이다.The present invention relates to a method of installing / upgrading and executing a program that can easily install a program on a web and share data with a server, and more particularly, a program of a server without an installation function. To install, update, and run them on a client system.

일반적으로, 인터넷은 통신링크를 통해 연결되는 다수의 컴퓨터와 컴퓨터망으로 이루어진다. 상호 연결된 컴퓨터는 전자메일이나 고퍼(Gopher), FTP, 및 월드 와이드 웹(WWW)과 같은 다양한 서비스들을 이용하여 정보를 교환할 수 있는데, WWW 서비스는 서버 컴퓨터시스템(즉, 웹 서버)이 HTML로 작성된 웹 페이지 정보를 멀리 떨어진 클라이언트시스템으로 전송하는 것이다. 웹상의 각 자원들(즉, 컴퓨터나 웹페이지)은 각각 고유한 유니폼 리소스 로케이터(URL)가 부여되고, 특정한 웹 페이지를 보기 위해서 클라이언트 시스템이 해당 웹 페이지의 URL을 지정하여 HTTP 프로토콜에 따라 전송을 요구하면, 서버 시스템은 이에 대응하여 해당 웹 페이지 정보를 송신한다. 그리고 클라이언트 시스템은 웹 페이지를 수신하면 통상 브라우져를 통해 모니터상에 디스플레이한다.In general, the Internet consists of a number of computers and computer networks connected through communication links. Interconnected computers can exchange information using a variety of services such as e-mail, gopher, FTP, and the World Wide Web, where the server computer system (ie, web server) The web page information is sent to a remote client system. Each resource on the web (that is, a computer or web page) is given a unique uniform resource locator (URL), and in order to view a particular web page, the client system designates the URL of that web page and transmits it according to the HTTP protocol. If so, the server system sends corresponding web page information correspondingly. When the client system receives the web page, the client system typically displays it on the monitor through a browser.

한편, 이와 같은 인터넷이 널리 보급됨에 따라 사이버 유통 서비스(전자 상거래, 경매), 사이버 금융 서비스(증권, 뱅킹), 사이버 교육 서비스 등 다양한 서비스들이 시간과 공간을 초월하여 제공되고 있다.Meanwhile, as the Internet is widely used, various services such as cyber distribution services (e-commerce, auction), cyber financial services (securities and banking), and cyber education services are provided beyond time and space.

그런데 인터넷을 통해 서비스를 제공하는 사이트에서는 서비스를 위한 응용 프로그램을 개발하여 온라인으로 배포할 필요가 있는데, 이와 같이 온라인으로 응용 프로그램을 배포하기 위해서는 응용 프로그램에 설치 및 갱신을 위한 부분이 요구되므로 프로그램(솔루션) 개발에 시간이 오래 걸리고, 비용도 많이 드는 문제점이 있다.However, sites that provide services through the Internet need to develop applications for services and distribute them online.However, in order to distribute applications online, applications need to be installed and updated in applications. Solution) Development takes a long time and is expensive.

본 발명은 상기와 같은 문제점을 해결하기 위하여 웹상에서 인스톨 기능이 없는 서버의 프로그램들을 패키지화하여 클라이언트 시스템에 설치/갱신 및 실행하는 인터넷에서 프로그램을 설치/갱신 및 실행하는 방법을 제공하는 데 그 목적이 있다.The present invention is to provide a method for installing / updating and running the program in the Internet to install / update and run the program on the client system by packaging programs of the server without the installation function on the web to solve the above problems have.

도 1은 본 발명이 적용되기에 적합한 클라이언트-서버 구조의 망을 도시한 도면,1 is a diagram illustrating a network of a client-server structure suitable for applying the present invention;

도 2는 본 발명에 따라 서버 시스템에서 배포를 위해 파일을 생성하는 개념도,2 is a conceptual diagram of generating a file for distribution in a server system according to the present invention;

도 3은 본 발명에 따라 프로그램을 인스톨하는 개념을 도시한 개념도,3 is a conceptual diagram illustrating a concept of installing a program according to the present invention;

도 4는 본 발명에 따라 프로그램을 인스톨하는 절차를 도시한 순서도,4 is a flowchart illustrating a procedure for installing a program according to the present invention;

도 5는 본 발명에 따라 프로그램을 업그레이드하는 개념을 도시한 개념도,5 is a conceptual diagram illustrating a concept of upgrading a program according to the present invention;

도 6은 본 발명에 따라 프로그램을 업그레이드하는 절차를 도시한 순서도,6 is a flowchart illustrating a procedure for upgrading a program according to the present invention;

도 7은 본 발명에 따라 프로그램을 실행하는 절차를 도시한 순서도이다.7 is a flowchart illustrating a procedure for executing a program according to the present invention.

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

102: 사용자시 스템110: 네트워크102: user system 110: network

120: 서버 시스템121: 라우터120: server system 121: router

122: 웹서버123,124: 서버122: web server

상기와 같은 목적을 달성하기 위하여 본 발명의 설치 방법은, 서버의 프로그램을 웹을 통해 사용자 시스템에 배포하는 방법에 있어서, 상기 서버가 배포할 프로그램을 레지스트리 정보와 함께 압축 패키지화하여 배포파일을 생성함과 아울러 이 배포파일을 설치하기 위한 설치 파일을 생성하는 단계; 상기 서버에 접속하여 상기 설치 파일을 다운로드받아 사용자 시스템에 설치하는 단계; 상기 설치파일을 실행하여 상기 배포할 프로그램이 사용자 시스템에 존재하는지를 판단하는 단계; 및 상기 배포할 프로그램이 사용자 시스템에 없으면, 서버로부터 상기 배치파일을다운받아 설치하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, in the installation method of the present invention, in a method of distributing a program of a server to a user system through a web, the server distributes a program to be distributed along with registry information to generate a distribution file. And generating an installation file for installing the distribution file; Accessing the server, downloading the installation file and installing the installation file in a user system; Determining whether a program to be distributed exists in a user system by executing the installation file; And if the program to be distributed does not exist in the user system, downloading and installing the batch file from the server.

상기와 같은 목적을 달성하기 위하여 본 발명의 갱신 방법은, 서버에 접속하여 사용자 시스템에 기 설치된 프로그램을 갱신하는 방법에 있어서, 상기 서버에서 갱신을 위한 업그레이드 정보파일과 업그레이드 파일을 생성하는 단계; 상기 서버에 접속하여 액티브 액스 정보를 수신한 후 패치 프로그램을 실행하는 단계; 상기 업그레이드 정보파일을 다운로드받아 업그레이드가 필요한지 판별하는 단계; 및 업그레이드가 필요하면, 상기 서버로부터 상기 업그레이드 파일을 다운로드받아 사용자 시스템에 설치된 프로그램을 갱신하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the update method of the present invention includes a method of updating a program installed in a user system by accessing a server, the method comprising: generating an upgrade information file and an upgrade file for updating in the server; Accessing the server to receive active access information and executing a patch program; Determining whether an upgrade is required by downloading the upgrade information file; And if an upgrade is required, downloading the upgrade file from the server and updating a program installed in a user system.

상기와 같은 목적을 달성하기 위하여 본 발명의 실행 방법은, 서버로부터 배포된 프로그램을 실행하는 방법에 있어서, 상기 서버에 접속하면 패치 프로그램이 동작하여 상기 배포된 프로그램이 실행중인지를 판단하는 단계; 상기 배포된 프로그램이 이미 실행중이면, 상기 서버로부터 인수를 전달받아 사용자 시스템의 메모리에 저장한 후 시그널을 발생하여 상기 실행중인 프로그램이 상기 메모리에 저장된 인수를 읽어와 IPC 방식으로 웹과 프로그램이 정보를 전달하는 단계; 및 상기 배포된 프로그램이 실행중이 아니면, 상기 서버로부터 인수를 전달받아 상기 배포된 프로그램에 전달한 후 상기 배포된 프로그램을 실행하는 단계를 포함하는 것을 특징으로 한다.In order to achieve the above object, the execution method of the present invention includes a method for executing a program distributed from a server, the method comprising: determining whether a distributed program is running when a patch program is executed when the server is connected; If the distributed program is already running, the server receives the arguments from the server, stores them in the memory of the user system, generates a signal, and the running program reads the arguments stored in the memory, thereby providing information on the web and the program in an IPC manner. Delivering; And if the distributed program is not running, receiving an argument from the server, transferring the argument to the distributed program, and then executing the distributed program.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명이 적용되기에 적합한 전형적인 클라이언트-서버 시스템의 구성을 도시한 도면이다.1 is a diagram illustrating a configuration of a typical client-server system suitable for applying the present invention.

도 1을 참조하면, 사용자 시스템(102)는 네트워크(110)를 통해 서버 시스템(120)에 연결되는 클라이언트이다. 사용자 시스템(102)은 통상의 개인용 컴퓨터와 응용 프로그램들로 구현되며, 운영체제(O/S)상에 웹 페이지를 보기 위한 웹브라우져(인터넷 익스플로워:IE 4.0 이상)가 탑재되어 있고, 각종 통신 프로토콜(TCP/IP, PPP 등)에 따라 네트워크(110)에 접속되어 웹이나 전자메일 서비스 등을 수행할 수 있다. 그리고 통상의 모뎀이나 ADSL모뎀, 네트웍 카드 등과 같은 망접속장치와, 스캐너, 웹 카메라, 프린터 등과 같은 주변장치를 포함하고 있다.Referring to FIG. 1, the user system 102 is a client connected to the server system 120 via the network 110. The user system 102 is implemented with ordinary personal computers and applications, and is equipped with a web browser (Internet Explorer: IE 4.0 or higher) for viewing web pages on an operating system (O / S), and various communication protocols ( TCP / IP, PPP, etc.) may be connected to the network 110 to perform a web or e-mail service. In addition, a network connection device such as a modem, an ADSL modem, a network card, and the like, and peripheral devices such as a scanner, a web camera, a printer, and the like are included.

네트워크(110)는 TCP/IP 프로토콜에 따른 컴퓨터 통신망인 인터넷이고, 서버시스템(120)은 유닉스나 리눅스 기반의 아파치 서버 혹은 ASP를 지원하는 IIS 서버 등과 같은 웹 서버(122)와, 다른 서버들(123,124), 네트워크(121)에 접속하기 위한 라우터(121), 허브 등을 포함하고 있다. 특히, 서버 시스템(120)은 사용자들에게 배포하기 위한 프로그램과 본 발명에 따라 프로그램의 설치/갱신 및 실행을 전담하여 처리하기 위한 패키져(packager) 프로그램을 구비하고 있다.The network 110 is the Internet, which is a computer communication network according to the TCP / IP protocol, and the server system 120 is a web server 122 such as an Apache server based on Unix or Linux or an IIS server supporting ASP, and other servers ( 123, 124, a router 121 for connecting to the network 121, a hub, and the like. In particular, the server system 120 includes a program for distribution to users and a packager program for exclusively handling the installation / update and execution of the program according to the present invention.

본 발명에 따른 패키져(packager) 프로그램은 도 2에 도시된 바와 같이 배포(설치)할 프로그램 파일(A.exe:201)과 그 프로그램의 레지스트리 파일(202)을 하나의 파일로 압축하여 배포 파일(A.cab:212)을 만들고, 이 배포파일(212)을 설치하기 위한 설치 파일(Webexe.cab:214), 및 인스톨 정보 파일(A.wii:216)을 생성한다. 이 때, 배포 프로그램의 아이디로 사용될 CLSID를 하나 생성하고, 이 CLSID는 텍스트 파일로 저장되어 배포된 후 사용자의 컴퓨터의 특정 레지스트리에 기록된다. 설치 파일(Webexe.cab)에는 액티브 액스 콤포넌트(Webexe.dll)와 패치 프로그램(patch.exe)이 포함되어 있다.The packager program according to the present invention compresses the program file (A.exe: 201) to be distributed (installed) and the registry file 202 of the program into one file as shown in FIG. (A.cab: 212) is created, and an installation file (Webexe.cab: 214) for installing this distribution file 212, and an installation information file (A.wii: 216) are generated. At this time, it creates one CLSID to be used as the ID of the distribution program. The CLSID is stored in a text file and distributed and recorded in a specific registry of the user's computer. The installation file (Webexe.cab) contains the active essence component (Webexe.dll) and the patch program (patch.exe).

이와 같이 패키져 프로그램(203)에 의해 처리된 결과물은 사용자가 지정하는 서버의 일정 경로(예컨대, http://www.A.com/WebInstall)에 복사된다. 그리고 프로그램 배포와 관련된 웹 페이지(예컨대, http://www.A.com/deafault.html)에 액티브 액스(Active X) 정보(도 3의 302 참조)를 삽입한다.The result processed by the packager program 203 is copied to a predetermined path (for example, http://www.A.com/WebInstall) of a server designated by the user. Then, Active X information (see 302 of FIG. 3) is inserted into a web page (eg, http://www.A.com/deafault.html) related to program distribution.

이와 같이 서버가 배포할 파일을 준비한 상태에서 사용자(클라이언트)가 서버에 접속할 경우에 사용자의 상태에 따라 프로그램을 설치/갱신 및 실행하는 절차는 다음과 같다.As described above, when a user (client) accesses the server while the server prepares files for distribution, the procedure for installing / updating and executing the program according to the user's status is as follows.

도 3은 본 발명에 따라 프로그램을 인스톨(install)하는 개념을 도시한 개념도이고, 도 4는 본 발명에 따라 프로그램을 인스톨하는 절차를 도시한 순서도이다.3 is a conceptual diagram illustrating a concept of installing a program according to the present invention, and FIG. 4 is a flowchart illustrating a procedure of installing a program according to the present invention.

도 3 및 도 4를 참조하면, 사용자가 HTTP를 이용하여 웹 사이트(301)에 접속하게 되면 통상 홈페이지(index.html)에 접속하게 된다(401). 사용자가 프로그램 배포와 관련된 웹페이지(예컨대, http://www.A.com/deafault.html, 홈페이지(index.html)일 수도 있다)에 접속하게 되면, 앞서 저장된 액티브 액스(DLL) 정보(302)를 사용자 시스템(310)에 주고, 액티브 X 컴포넌트(311)를 다운받을 것인지를 물어본다(402,403).3 and 4, when the user accesses the web site 301 using HTTP, the user typically accesses the home page index.html (401). When a user accesses a web page related to program distribution (for example, http://www.A.com/deafault.html, which may also be a homepage (index.html)), previously stored active access (DLL) information 302 ) To the user system 310 and asks whether to download the ActiveX component 311 (402 and 403).

다운로드를 선택하면, 웹 사이트(301)의 서버로부터 사용자 시스템(310)으로 설치 파일(Webexe.cab)을 다운로드하고, 압축을 풀어 사용자 시스템(310)에 설치한다(404). 이어 서버가 배포한 응용 프로그램을 설치할 것인지를 물어보고, 사용자가 설치하고자 하면 액티브 액스 콤포넌트(Webexe.dll:311)가 패치 프로그램(Patch.exe)을 실행시킨다(405,406). 패치 프로그램(Patch.exe)은 사용자 시스템의 레지스트리를 검사하여 프로그램이 설치되어 있는지(CLSID가 존재하는지)를 체크한 후 프로그램이 없으면(CLSID가 존재하지 않으면) 인스톨 정보(A.wii:216)를 다운받은 후 서버에 있는 배포 파일(A.cab:212) 다운을 받아서 프로그램을 설치한다(408~411). 설치가 완료되면 응용 프로그램(A.exe: 314)을 실행하고(412), CLSID가 존재하면 후술하는 업그레이드 절차를 수행한다.If the download is selected, the installation file (Webexe.cab) is downloaded from the server of the web site 301 to the user system 310, decompressed and installed in the user system 310 (404). Next, the server asks whether to install the distributed application, and if the user wants to install it, the active ax component (Webexe.dll: 311) executes the patch program (Patch.exe) (405 and 406). The patch program (Patch.exe) checks the registry of the user's system to check if the program is installed (CLSID exists), and if there is no program (if the CLSID does not exist), the installation information (A.wii: 216) After downloading, download the distribution file (A.cab:212) on the server and install the program (408 ~ 411). When the installation is completed, the application program (A.exe: 314) is executed (412). If the CLSID exists, the upgrade procedure described below is performed.

도 5는 본 발명에 따라 프로그램을 업그레이드하는 개념을 도시한 개념도이고, 도 6은 본 발명에 따라 프로그램을 업그레이드하는 절차를 도시한 순서도이다.5 is a conceptual diagram illustrating a concept of upgrading a program according to the present invention, and FIG. 6 is a flowchart illustrating a procedure of upgrading a program according to the present invention.

본 발명에 따른 업그레이드는 크게 패치 프로그램의 갱신과 배포된 응용 프로그램의 갱신으로 구분할 수 있다.The upgrade according to the present invention can be largely divided into an update of a patch program and an update of a distributed application program.

도 5 및 도 6을 참조하면, 사용자가 서버 시스템(501,503)에 접속하면, 앞서 설명한 바와 같이 서버로부터 액티브액스 정보가 제공되어 액티브 액스 컴포넌트(511)가 실행된다(601,602). 웹으로부터 전달된 액티브 액스 정보(302)에는 콘트롤 파일 버젼(CFVersion)이 있는데, 이 버젼을 확인하여 패치 프로그램(patch.exe)의 갱신여부를 결정한다(603,604). 사용자 시스템에 설치된 패치 프로그램(patch.exe)의 버전이 웹으로부터 전달된 정보(302)의 CF버젼보다 낮으면, 새로운 패치 프로그램을 다운받아 갱신한다(605).5 and 6, when the user connects to the server systems 501 and 503, the active access information is provided from the server as described above to execute the active access component 511 (601 and 602). The active access information 302 transmitted from the web includes a control file version (CFVersion). The version is checked to determine whether the patch program (patch.exe) is updated (603, 604). If the version of the patch program (patch.exe) installed in the user system is lower than the CF version of the information 302 transmitted from the web, a new patch program is downloaded and updated (605).

이어 패치 프로그램(patch.exe:512)을 실행하고, 레지스트리의 CLSID를 검사하여 프로그램이 이미 존재하면 서버로부터 패치정보 파일(patch.inf:502)을 다운로드한다(606,607). 이어 패치 프로그램(patch.exe:512)은 패치정보 파일(patch.inf: 502)을 분석하여 업그레이드 여부를 결정하고, 업그레이드가 필요하면 서버로부터 업그레이드 파일(Upgrade.cab: 504)을 다운로드받아 압축을 풀고 기설치된 응용 프로그램(A.exe)을 업그레이드한다(608~611). 이 때 사용자의 환경에 적절한 방식으로 응용 프로그램을 업그레이드하기 위해서 사용자의 OS를 자동으로 체크한다.Next, the patch program (patch.exe: 512) is executed, and if the program already exists, the patch information file (patch.inf: 502) is downloaded from the server (606, 607). The patch program (patch.exe: 512) then analyzes the patch information file (patch.inf: 502) to determine whether to upgrade, and downloads the upgrade file (Upgrade.cab: 504) from the server and decompresses it if necessary. Unpack and upgrade the preinstalled application (A.exe) (608 ~ 611). At this time, the user's OS is automatically checked to upgrade the application in a manner appropriate to the user's environment.

이어 업그레이드된 응용 프로그램(A.exe)을 실행한다(612).Then, the upgraded application (A.exe) is executed (612).

도 7은 본 발명에 따라 배포된 프로그램을 실행하는 절차를 도시한 순서도이다.7 is a flowchart illustrating a procedure for executing a program distributed according to the present invention.

일단, 액티브 액스 콤포넌트와 패치 프로그램이 사용자 시스템에 설치되면 웹 브라우져가 기동되어 웹에 접속될 때마다 액티브 액스 콤포넌트와 패치 프로그램이 액티브되어 응용 프로그램의 실행에 관여한다. 즉, 통상의 인스톨 프로그램이 설치함으로써 그 기능이 완료됨에 반해 본 발명에 따른 설치관련 프로그램(patch.exe, Webexe.dll)들은 웹 브라우져가 구동될 때마다 액티브되어 응용 프로그램과 웹 서버 사이의 데이터 교환을 중재한다.Once the active access component and the patch program are installed in the user system, whenever the web browser is started and connected to the web, the active access component and the patch program are activated to participate in the execution of the application program. That is, the installation program related to the present invention (patch.exe, Webexe.dll) according to the present invention is activated every time the web browser is running, the data exchanged between the application and the web server, while the normal installation program is installed To mediate.

도 7을 참조하면, 사용자가 웹 브라우져를 기동하여 서버 시스템에 접속하면, 앞서 설명한 버전정보 등을 검사한 후 응용 프로그램이 실행중인지를 판단한다(701,702). 응용 프로그램이 실행중이면, IPC 형태로 실행중인 응용 프로그램에 인수를 전달하기 위하여 액티브 액스 콤포넌트(혹은 패치 프로그램)가 사용자 시스템의 메모리에 웹으로부터 수신한 인수를 저장한다(703). 이어 시그널을 발생하고, 응용 프로그램은 시그널이 수신되면 시스템 메모리에 저장된 인수를 읽어와 실행한다(704,705). 이와 같이 응용(application) 프로그램이 실행중인 상태에서 웹(web)에 접속하게 되면 IPC(Inter-Process Communication) 형태로 웹과 응용 프로그램간에 데이터나 명령을 전달한다.Referring to FIG. 7, when a user starts a web browser and accesses a server system, it is determined whether the application program is running after checking the version information described above (701 and 702). If the application program is running, the active ax component (or patch program) stores the arguments received from the web in the memory of the user system to pass the arguments to the application program running in the IPC form (703). Subsequently, a signal is generated and an application program reads and executes an argument stored in system memory when the signal is received (704, 705). As such, when an application program is running and accesses to the web, data or commands are transmitted between the web and the application program in the form of IPC (Inter-Process Communication).

만일, 응용 프로그램이 실행중이 아닐 경우에는 액티브 액스 콤포넌트나 패치 프로그램이 서버로부터 인수를 전달받아 응용 프로그램에 전달한 후 응용 프로그램을 실행시킨다(706).If the application program is not running, the active ax component or patch program receives an argument from the server, passes the argument to the application program, and executes the application program (706).

따라서 본 발명에 따르면 웹상에서의 정보가 사용자의 응용 프로그램(application)으로 전달되므로 사용자의 응용 프로그램은 특별히 COM(Component Object Model)을 이용하지 않더라도 배포관련 프로그램(Webexe.dll, Patch.exe)을 통해 기본적으로 웹과 데이터를 공유하게 된다. 그러므로 사용자는 여러가지 응용이 가능하게 된다. 예를 들면, 강아지를 기르는 게임 프로그램을 본 발명에 따라 배포했다고 가정하면, 사용자가 그 회사의 웹에 접속할 때마다 회원의 접속 횟수나 여러가지 상황을 토대로 게임 프로그램에 정보를 주어 게임에 필요한 여러가지 아이템을 줄 수 있다. 또한, 인스톨에 필요한 설정이나 정보들을 서버로부터 동적으로 받아오기 때문에 인스톨 내용의 변화가 사용자들에게 실시간으로 적용된다. 그리고 본 발명에 따르면 여러가지 파일들을 여러 서버로 분산시켜 둘 수 있으므로 서버의 집중으로 생기는 문제를 피할 수 있다.Therefore, according to the present invention, since information on the web is transmitted to a user's application, the user's application can be distributed through a distribution related program (Webexe.dll, Patch.exe) even without using a COM (Component Object Model). Basically, you share data with the web. Therefore, the user can use various applications. For example, suppose that a game program for raising a dog is distributed according to the present invention, each time a user connects to the web of the company, the game program is informed based on the number of times the member accesses or various situations, and various items required for the game can be provided. Can give In addition, since the settings and information required for the installation are dynamically received from the server, changes in the installation contents are applied to users in real time. In addition, according to the present invention, since various files can be distributed to multiple servers, problems caused by server concentration can be avoided.

이상에서 설명한 바와 같이, 본 발명에 따르면 서버상에서 응용 프로그램을 개발할 경우에 응용 프로그램을 배포하기 위한 기능을 각 응용 프로그램과 독립적으로 구현할 수 있으므로 새로운 서비스를 위하여 응용 프로그램을 개발할 경우에 개발기간을 단축하고, 비용을 절감할 수 있는 잇점이 있다. 특히, 본 발명에 따라 구현된 웹 인스톨러 프로그램은 응용 프로그램의 설치 뿐 아니라 사용자가 웹에 접속할 때마다 자동으로 버전을 체크하여 응용 프로그램을 갱신시켜 주고, 패치 프로그램 자체도 쉽게 갱신할 수 있다.As described above, according to the present invention, when developing an application program on a server, a function for distributing the application program can be implemented independently of each application program, thereby shortening the development period when developing the application program for a new service. This has the advantage of reducing costs. In particular, the web installer program implemented according to the present invention not only installs the application but also automatically checks the version every time the user accesses the web to update the application, and the patch program itself can be easily updated.

또한, 액티브 액스 콤포넌트가 아닌 별도의 패치 프로그램을 이용하므로 설치 및 갱신 중에 웹 브라우져가 오프되더라도 설치 및 갱신을 계속할 수 있고, Web과 응용 프로그램간의 데이터 공유가 이루어져 웹에서 응용 프로그램으로 정보를 전달할 수 있다.In addition, since a separate patch program is used instead of an active-ax component, installation and update can be continued even when the web browser is turned off during installation and update, and data can be shared between the web and the application to transfer information from the web to the application. .

Claims (5)

서버의 프로그램을 웹을 통해 사용자 시스템에 배포하는 방법에 있어서,In a method for distributing a program of a server to a user system through the web, 상기 서버가 배포할 프로그램을 레지스트리 정보와 함께 압축 패키지화하여 배포파일을 생성함과 아울러 이 배포파일을 설치하기 위한 설치 파일을 생성하는 단계;Generating a distribution file by compressing a program to be distributed by the server with registry information and generating an installation file for installing the distribution file; 상기 서버에 접속하여 상기 설치 파일을 다운로드받아 사용자 시스템에 설치하는 단계;Accessing the server, downloading the installation file and installing the installation file in a user system; 상기 설치파일을 실행하여 상기 배포할 프로그램이 사용자 시스템에 존재하는지를 판단하는 단계; 및Determining whether a program to be distributed exists in a user system by executing the installation file; And 상기 배포할 프로그램이 사용자 시스템에 없으면, 서버로부터 상기 배치파일을 다운받아 설치하는 단계를 포함하는 것을 특징으로 하는 인터넷에서 프로그램을 설치하는 방법.If the program to be distributed does not exist in the user system, downloading and installing the batch file from a server. 제1항에 있어서, 상기 설치파일은 액티브액스 콤포넌트와 패치 프로그램을 포함하는 것을 특징으로 하는 인터넷에서 프로그램을 설치하는 방법.2. The method of claim 1, wherein the installation file includes an ActiveAx component and a patch program. 서버에 접속하여 사용자 시스템에 기 설치된 프로그램을 갱신하는 방법에 있어서,In the method of connecting to the server and updating a program already installed in the user system, 상기 서버에서 갱신을 위한 업그레이드 정보파일과 업그레이드 파일을 생성하는 단계;Generating an upgrade information file and an upgrade file for updating in the server; 상기 서버에 접속하여 액티브 액스 정보를 수신한 후 패치 프로그램을 실행하는 단계;Accessing the server to receive active access information and executing a patch program; 상기 업그레이드 정보파일을 다운로드받아 업그레이드가 필요한지 판별하는 단계; 및Determining whether an upgrade is required by downloading the upgrade information file; And 업그레이드가 필요하면, 상기 서버로부터 상기 업그레이드 파일을 다운로드받아 사용자 시스템에 설치된 프로그램을 갱신하는 단계를 포함하는 것을 특징으로 하는 인터넷에서 프로그램을 갱신하는 방법.If an upgrade is needed, downloading the upgrade file from the server and updating a program installed in a user system. 제3항에 있어서, 상기 인터넷에서 프로그램을 갱신하는 방법은,The method of claim 3, wherein the updating of the program on the Internet comprises: 상기 액티브 액스 정보에는 패치 프로그램의 버전정보가 포함되고, 기 설치된 패치파일의 버전과 비교하여 상기 패치 프로그램을 갱신하는 단계를 더 포함하는 것을 특징으로 하는 인터넷에서 프로그램을 갱신하는 방법.The active access information includes version information of a patch program, and updating the program on the Internet, characterized in that further comprising the step of updating the patch program compared to the version of the patch file is already installed. 서버로부터 배포된 프로그램을 실행하는 방법에 있어서,In a method for running a program distributed from a server, 상기 서버에 접속하면 패치 프로그램이 동작하여 상기 배포된 프로그램이 실행중인지를 판단하는 단계;Determining whether the distributed program is running by operating a patch program when accessing the server; 상기 배포된 프로그램이 이미 실행중이면, 상기 서버로부터 인수를 전달받아 사용자 시스템의 메모리에 저장한 후 시그널을 발생하여 상기 실행중인 프로그램이 상기 메모리에 저장된 인수를 읽어와 IPC 방식으로 웹과 프로그램이 정보를 전달하는 단계; 및If the distributed program is already running, the server receives the arguments from the server, stores them in the memory of the user system, generates a signal, and the running program reads the arguments stored in the memory, thereby providing information on the web and the program in an IPC manner. Delivering; And 상기 배포된 프로그램이 실행중이 아니면, 상기 서버로부터 인수를 전달받아 상기 배포된 프로그램에 전달한 후 상기 배포된 프로그램을 실행하는 단계를 포함하는 것을 특징으로 하는 인터넷에서 프로그램을 실행하는 방법.If the distributed program is not running, receiving the arguments from the server and passing the arguments to the distributed program, and then executing the distributed program.
KR1020000063217A 2000-10-26 2000-10-26 method of installing/upgrading and executing application programs on internet KR20020032195A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000063217A KR20020032195A (en) 2000-10-26 2000-10-26 method of installing/upgrading and executing application programs on internet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000063217A KR20020032195A (en) 2000-10-26 2000-10-26 method of installing/upgrading and executing application programs on internet

Publications (1)

Publication Number Publication Date
KR20020032195A true KR20020032195A (en) 2002-05-03

Family

ID=19695590

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000063217A KR20020032195A (en) 2000-10-26 2000-10-26 method of installing/upgrading and executing application programs on internet

Country Status (1)

Country Link
KR (1) KR20020032195A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100734303B1 (en) * 2006-01-14 2007-07-02 삼성전자주식회사 Method for down-loading a system program
WO2012165892A2 (en) * 2011-06-02 2012-12-06 주식회사 비씨클라우드 Dynamic web routing method

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100242973B1 (en) * 1997-08-16 2000-02-01 윤종용 Program version-up system by remote networking
US6026366A (en) * 1993-09-22 2000-02-15 Motorola, Inc. Method for providing software to a remote computer
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
KR20000031067A (en) * 1998-11-03 2000-06-05 이계철 Method for automatically installing programs in dispersion system of large capacity
KR20000030530A (en) * 2000-03-06 2000-06-05 신명섭 Method for providing the most recent software on internet and computer-readable medium recording the method
US6075943A (en) * 1997-08-13 2000-06-13 International Business Machines Corporation System and method for client server software installation
KR20000037571A (en) * 1998-12-01 2000-07-05 김영돈 Upgrade method for software
KR20000070089A (en) * 1997-11-12 2000-11-25 요트.게.아. 롤페즈 Software update manager
KR20000076612A (en) * 1999-02-09 2000-12-26 포만 제프리 엘 System and method for installing personal computer software
KR20010092199A (en) * 2000-03-21 2001-10-24 이기원 System for upgrading software over network and method therefor
KR20020014213A (en) * 2000-08-17 2002-02-25 (주)에이프로넷 Method of install program through internet
KR20020031201A (en) * 2000-10-19 2002-05-01 지성재 Software one click upgrade method using internet

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6026366A (en) * 1993-09-22 2000-02-15 Motorola, Inc. Method for providing software to a remote computer
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6075943A (en) * 1997-08-13 2000-06-13 International Business Machines Corporation System and method for client server software installation
KR100242973B1 (en) * 1997-08-16 2000-02-01 윤종용 Program version-up system by remote networking
KR20000070089A (en) * 1997-11-12 2000-11-25 요트.게.아. 롤페즈 Software update manager
KR20000031067A (en) * 1998-11-03 2000-06-05 이계철 Method for automatically installing programs in dispersion system of large capacity
KR20000037571A (en) * 1998-12-01 2000-07-05 김영돈 Upgrade method for software
KR20000076612A (en) * 1999-02-09 2000-12-26 포만 제프리 엘 System and method for installing personal computer software
KR20000030530A (en) * 2000-03-06 2000-06-05 신명섭 Method for providing the most recent software on internet and computer-readable medium recording the method
KR20010092199A (en) * 2000-03-21 2001-10-24 이기원 System for upgrading software over network and method therefor
KR20020014213A (en) * 2000-08-17 2002-02-25 (주)에이프로넷 Method of install program through internet
KR20020031201A (en) * 2000-10-19 2002-05-01 지성재 Software one click upgrade method using internet

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100734303B1 (en) * 2006-01-14 2007-07-02 삼성전자주식회사 Method for down-loading a system program
WO2012165892A2 (en) * 2011-06-02 2012-12-06 주식회사 비씨클라우드 Dynamic web routing method
WO2012165892A3 (en) * 2011-06-02 2013-03-28 주식회사 비씨클라우드 Dynamic web routing method

Similar Documents

Publication Publication Date Title
US6968539B1 (en) Methods and apparatus for a web application processing system
US6986133B2 (en) System and method for securely upgrading networked devices
US6546554B1 (en) Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
CA2471855C (en) Java application framework for use in a content delivery network (cdn)
US8893249B2 (en) Intelligent network streaming and execution system for conventionally coded applications
US6918113B2 (en) Client installation and execution system for streamed applications
US6959320B2 (en) Client-side performance optimization system for streamed applications
US6073163A (en) Method and apparatus for enabling web-based execution of an application
US7043524B2 (en) Network caching system for streamed applications
US7844963B2 (en) System and method for updating information via a network
US8831995B2 (en) Optimized server for streamed applications
JP3966487B2 (en) Object redirection management method and method for enabling applet communication
US20020083183A1 (en) Conventionally coded application conversion system for streamed delivery and execution
US20020087883A1 (en) Anti-piracy system for remotely served computer applications
Hillenbrand et al. A software deployment service for autonomous computing environments
KR20020032195A (en) method of installing/upgrading and executing application programs on internet
KR100924076B1 (en) Internet application embodiment method independent of web browser and operating system
JP2002189600A (en) Method for executing application from web browser
JPH1165828A (en) Program updating system and recording medium recording program for updating program
KR100663406B1 (en) A method for managing a branch processor system remotely
Vukotic et al. Integrating Apache Web Server
Seacord et al. Browsers for distributed systems: Universal paradigm or siren's song?
Zambon et al. Web Server Using Mongoose
Pal A flexible, applet-like software distribution mechanism for Java applications
KR20000054517A (en) Internet Portal Site Sitter

Legal Events

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