KR19980086684A - Systems, methods, and apparatus for interactive internet access to host computer application programs - Google Patents

Systems, methods, and apparatus for interactive internet access to host computer application programs Download PDF

Info

Publication number
KR19980086684A
KR19980086684A KR1019980015494A KR19980015494A KR19980086684A KR 19980086684 A KR19980086684 A KR 19980086684A KR 1019980015494 A KR1019980015494 A KR 1019980015494A KR 19980015494 A KR19980015494 A KR 19980015494A KR 19980086684 A KR19980086684 A KR 19980086684A
Authority
KR
South Korea
Prior art keywords
server
host
application
client
processor
Prior art date
Application number
KR1019980015494A
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 포맨 제프리 엘
Publication of KR19980086684A publication Critical patent/KR19980086684A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Library & Information Science (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

인터넷 기능을 통해서 대화식으로 실행되고 이용할 수 있게 만들어진 호스트 기반 데이터 프로세싱 애플리케이션(host based data processing application)을 변형하였다. 개선된 서버는, 클라이언트와 호스트 애플리케이션에게 투명한 방식으로, 원격 클라이언트와 원격 호스트 애플리케이션 프로그램간에 요구 및 데이터를 교환 및 전송을 용이하게 하는 대화식 통신 관리 능력을 제공한다. 서버는 호스트-기반 애플리케이션 프로그램 응답의 클라이언트 워크스테이션 요구자에게 고유한 식별 토큰을 할당하는 것을 가능하게 하는 컴퓨터 실행가능 프로그램 단계를 갖추고 있다. 토큰은 서버와 호스트 애플리케이션에 의해 사용되어 통신중인 엔터티들간에 데이터와 요구를 적절히 촉진하고 통과시키기 위해 클라이언트를 식별하는데 사용된다. 또한, 클라이언트 또는 워크스테이션 브라우저 또는 운용 시스템은, 실제 위치가 요구중인 클라이언트에게 알려지지 않을 수 있는 원격 위치된 애플리케이션 프로그램과의 대화를 개시하고 유지하기 위해 서버로 액세스를 용이하게 하고 요구들을 송신하는, 컴퓨터 실행가능 프로그램 단계들을 포함한다.A variant of the host based data processing application, which is made interactively run and available through the Internet functionality. The improved server provides interactive communication management capabilities that facilitate the exchange and transfer of requests and data between remote clients and remote host application programs in a manner that is transparent to client and host applications. The server has a computer executable program step that enables assigning a unique identification token to the client workstation requester of the host-based application program response. Tokens are used by servers and host applications to identify clients to properly facilitate and pass data and requests between communicating entities. In addition, the client or workstation browser or operating system facilitates access and sends requests to the server to initiate and maintain a conversation with a remotely located application program whose actual location may not be known to the requesting client. Executable program steps.

Description

호스트 컴퓨터 애플리케이션 프로그램에 대한 대화형 인터넷 액세스를 위한 시스템, 방법, 장치Systems, methods, and apparatus for interactive internet access to host computer application programs

발명의 분야Field of invention

본 발명은 일반적으로 컴퓨터 시스템에 관한 것으로, 특히 워크스테이션에서 원격 컴퓨터 사용자가 대화식으로 인터넷을 통하여 호스트 컴퓨터 기반 데이터 프로세싱 애플리케이션을 액세스할 수 있도록, 인터넷 또는 컴퓨터 네트워크에 부착된 호스트 컴퓨터 시스템에서 애플리케이션 프로그램을 대화식으로 실행하는 시스템, 장치, 방법에 관한 것이다.FIELD OF THE INVENTION The present invention generally relates to computer systems, and more particularly to application programs in host computer systems attached to the Internet or computer networks, such that remote computer users at workstations can interactively access host computer-based data processing applications over the Internet. A system, apparatus, and method for running interactively.

발명의 배경-종래 기술Background of the Invention-Conventional Technology

최근, 인터넷에서 폭발적인 성장이 이루어지고 있으며, 특히 인터넷을 액세스하고 사용하기 위해 제공되는 주요한 기능 중의 하나인, 월드 와이드 웹(WWW)의 성장이 이를 나타내고 있다. WWW는 서로 다른 서버 상에서 네트워크를 통하여 분산된, 많은 정보의 파일 또는 페이지를 포함한다. 각 페이지 또는 파일은 유니버설 자원 로케이터(URL)에 의해 식별된다. URL은 특정 페이지 또는 파일이 탑재되어 있는 서버 기계의 식별 및 위치와, 서버 기계 상에 탑재되어 있는 특정 파일 또는 페이지를 나타낸다. 많은 페이지 또는 URL은 단일 서버 상에 존재할 수 있다.Recently, there has been an explosive growth on the Internet, especially the growth of the World Wide Web (WWW), one of the major functions provided for accessing and using the Internet. WWW includes a large number of files or pages distributed over a network on different servers. Each page or file is identified by a universal resource locator (URL). The URL indicates the identification and location of the server machine on which the particular page or file is mounted, and the specific file or page mounted on the server machine. Many pages or URLs can exist on a single server.

월드 와이드 웹을 사용하기 위하여, 클라이언트 또는 사용자는 종종 웹 브라우저라 불리는 실행가능한 서치 엔진을 포함하는 하나의 소프트웨어를 실행한다. IBM 사의 WebExplorer 또는 Netscape Communication 사의 Navigator(상표명임)와 같은 웹 브라우저는 대부분의 개인용 컴퓨터 또는 워크스테이션 운용 시스템에서 사용할 수 있는 브라우저 프로그램이다. 사용자는 액세스될 특정 URL을 특정하고 선택하기 위하여 그의 워크스테이션 상에서 실행되는 그의 브라우저 프로그램과 대화(interact)한다. 그리하여 이로 인해 특정 URL 또는 페이지를 위치결정하기 위하여 브라우저 프로그램이 인터넷 시스템으로 요구를 송신한다. 이 요구는 URL에 의해 식별된 특정 서버로 전달된다.To use the World Wide Web, a client or user runs a piece of software that includes an executable search engine, often called a web browser. Web browsers, such as IBM's WebExplorer or Netscape Communication's Navigator (trade name), are browser programs that can be used on most personal computer or workstation operating systems. The user interacts with his browser program running on his workstation to specify and select a particular URL to be accessed. Thus, the browser program sends a request to the Internet system to locate a particular URL or page. This request is forwarded to the specific server identified by the URL.

일반적으로, 서버는 요구된 페이지를 검색(retrieve)하여 요구중인 클라이언트 또는 사용자에게 그 페이지에 대한 데이터를 다시 전송함으로써 그러한 요구의 수령에 응답할 것이다. 이 상황에서, 사용자의 워크스테이션은 서버와 클라이언트의 관계로 대화한다. 양자간의 데이터와 제어 정보의 흐름은 하이퍼텍스트 전송 프로토콜(HTTP: Hypertext Transport Protocol)에 따라 전달된다. 검색된 정보의 데이터 또는 페이지는 사용자의 워크스테이션 디스플레이 스크린 상에 표시된다. 클라이언트 워크스테이션에서의 동작은 또한 서버로 하여금 서버에 있는 애플리케이션을 개시하도록 할 수 있다(예를 들어, 애플리케이션의 실행을 호출한다). 일 예로 특정 토픽에 관한 월드 와이드 웹을 서치하기 위하여 서치 프로그램을 호출할 수 있을 것이다.In general, the server will respond to receipt of such a request by retrieving the requested page and sending the data for that page back to the requesting client or user. In this situation, the user's workstation communicates in a server-client relationship. The flow of data and control information between them is carried in accordance with the Hypertext Transport Protocol (HTTP). The data or page of retrieved information is displayed on the user's workstation display screen. Operation at the client workstation can also cause the server to launch an application on the server (eg, invoke execution of the application). For example, a search program may be called to search the world wide web for a particular topic.

가장 일반적으로, 정보 또는 데이터의 WWW 페이지는 하이퍼텍스트 마크업 언어(HTML)로서 알려진 언어에 따라 포맷된다. 전형적인 HTML 페이지는 폰트 크기, 폰트 스타일, 페이지 레이아웃 포맷팅, 하이라이팅(highlighting) 등과 같은 그 밖의 디스플레이 제어를 제어하는데 사용되고, 태그로 언급되는, 내장 포맷팅 명령어(embedded formatting command)와 함께 텍스트를 포함한다. 클라이언트 스테이션의 웹 브라우저는 HTML 특정 포맷에 따라 그 안에 포함된 텍스트를 디스플레이하기 위하여 HTML 스크립트를 분석할 것이다. 또한, 데이터의 HTML 부호화 페이지는, 예를 들어 다른 서버를 식별하는 다른 URL에 대한 레퍼런스와, 적지만, 명명하기 위해, 예를 들어, 이미지, 비디오 세그먼트 또는 오디오 파일과 같은 하나의 멀티-미디어 데이터를 위한 페이지를 포함한다. 웹 브라우저는 사용자에 의해 내장된 레퍼런스가 선택되거나 또는 활성화될 때 데이터를 검색하고 디스플레이 또는 실연함으로써 그러한 내장된 레퍼런스에 응답한다. 한편, 그러한 멀티-미디어 데이터는 어떤 주변 HTML 텍스트없이 자신의 WWW 페이지를 형성할 수 있고 그 자체 내에 멀티-미디어 디스플레이로서 검색될 수 있다.Most commonly, WWW pages of information or data are formatted according to a language known as Hypertext Markup Language (HTML). A typical HTML page is used to control other display controls such as font size, font style, page layout formatting, highlighting, and the like, and includes text along with embedded formatting commands, referred to as tags. The web station of the client station will parse the HTML script to display the text contained therein according to the HTML specific format. In addition, the HTML encoded page of data may contain, for example, a reference to another URL identifying another server and, for the sake of naming, one multi-media data such as, for example, an image, video segment or audio file. Contains pages for. The web browser responds to such embedded references by retrieving and displaying or demonstrating data when the embedded reference is selected or activated by the user. On the other hand, such multi-media data can form its own WWW page without any surrounding HTML text and can be retrieved as a multi-media display in itself.

대부분의 WWW 페이지는 또한 다른 페이지에 대한 하나 이상의 레퍼런스를 포함하고 이들은 원래 페이지와 동일한 서버 상에 있을 필요가 없다. 그러한 레퍼런스는 (일반적으로 마우스 제어 버튼을 클릭하거나 또는 더블 클릭함으로써) 사용자가 스크린 상에 특정 위치를 선택하고 어떤 선택 지시를 함으로써 상기에 언급한 바와 같이 일반적으로 활성화 될 수 있다. 이들 레퍼런스 또는 위치는 하이퍼링크(hyperlink)로 알려져 있고 일반적으로 특정방식으로 브라우저에 의해 플래그된다(즉, 브라우저는, 예를 들어, 하이퍼링크와 연관된 텍스트를 다른 색 또는 휘도로 강조할 수 있다). 사용자가 하이퍼링크를 선택할 때, 레퍼런스 페이지가 검색되어 데이터의 현재 디스플레이된 페이지를 대체하는데 사용된다.Most WWW pages also contain one or more references to other pages and they do not have to be on the same server as the original page. Such a reference can generally be activated as mentioned above by the user selecting a particular position on the screen (usually by clicking or double-clicking a mouse control button or by making a certain selection instruction). These references or locations are known as hyperlinks and are generally flagged by the browser in a particular way (ie, the browser may, for example, highlight text associated with the hyperlink in a different color or brightness). When the user selects a hyperlink, a reference page is retrieved and used to replace the currently displayed page of data.

많은 양의 정보가 토픽 상에 공표되어 있지만, HTML 언어와 월드 와이드 웹에 관한 구체적인 정보는 1994년, 12월, Doctor's Dobs Journal의 18∼26쪽에 게재된 Douglas McArthur에 의한 World Wide Web at HTML이라 명명된 논문과, 1995년, 뉴욕, John Wiley에 의해 공표된, lan Graham에 의한 The HTML Source Book에서 기재되어 있다.Although a great deal of information is published on the topic, specific information about the HTML language and the World Wide Web is named World Wide Web at HTML by Douglas McArthur, pages 18-26 of the Doctor's Dobs Journal, December 1994, December. And the HTML Source Book by lan Graham, published in 1995 by John Wiley, New York.

이제까지 설명한 바와 같이 또한 현재 구현되고 있는 바와 같이 대체로 말해서, 월드 와이드 웹은, 서버로부터 클라이언트 워크스테이션으로 다운 로드된 페이지는 본질적으로 수동적이고 클라이언트 기계에서 실행되는 코드를 일반적으로 포함하지 않는다는 단점이 있다. 이 의미는, 서버가 클라이언트 스테이션 상으로 클라이언트와 서버간의 대화에 연관된 어떤 프로세싱을 정상적으로 오프로드할 수 없다는 것이다. 그리하여, 만일 클라이언트가 예를 들어 사용자 전화 번호를 갖는 형태(form)를 완성하면, (전화 번호에서 디지트의 수와 같은) 어떤 형식적인 체크가, 서버에서 실행되고 있는 데이터 프로세싱 애플리케이션에서 수행되어야만 한다. 이는 결과적으로, 첫째, 서버에 과도한 프로세싱 부담을 가져오고, 둘째, 정정될 필요가 있는 데이터 엔트리에 어떤 실수가 있으면 서버와 클라이언트간에 시간 소모적인 추가 통신을 하게 한다. 더욱이, 클라이언트의 실행을 위한 코드를 서버가 다운로드할 수 없기 때문에 월드 와이드 웹의 기능을 이용하기 위해 생성될 수 있는 애플리케이션의 형태가 제한된다. 다행히, 이 문제는 어떤 잠정적인 해결책을 가진다.Broadly speaking, as described so far and currently being implemented, the World Wide Web has the disadvantage that pages downloaded from a server to a client workstation are inherently passive and typically do not contain code that runs on the client machine. This means that the server cannot normally offload any processing associated with the conversation between the client and the server on the client station. Thus, if the client completes a form with, for example, a user's telephone number, some formal check (such as the number of digits in the telephone number) must be performed in the data processing application running on the server. This results in, firstly, an excessive processing burden on the server, and secondly, time-consuming additional communication between the server and the client if there is any mistake in the data entry that needs to be corrected. Moreover, since the server cannot download code for execution of the client, the type of application that can be created to take advantage of the features of the World Wide Web is limited. Fortunately, this problem has some potential solution.

특히 Sun Microsystems 사의 자바(상표명임) 프로그래밍 언어와 기술에 기초를 둔 최근 발전은 상기한 어려움을 극복하기 위해 이루어져 왔다. 이 기술은 첫째로 C와 C++와 내용 면에서 유사한, 새로운 언어를 포함하고, 둘째로 이 언어로 작성된 프로그램을 실행하는 가상 기계를 포함한다. 자바 프로그램 언어로 작성된 프로그램은 바이트코드 형태로 컴파일되고, 그 후 자바 가상 기계 자체 상에서 실행시에 번역(interpret)될 수 있다. 자바 가상 기계는 바이트코드를, 기본 물리적 컴퓨터 프로세서(underlying physical computer processor)(즉, 주어진 자바 프로그램이 실행되는 프로세서)에 의해 실행하기 위한 명령어로 변환한다.In particular, recent advances based on Sun Microsystems' Java ™ programming language and technology have been made to overcome these difficulties. This technique first includes a new language, similar in content to C and C ++, and secondly, a virtual machine that runs programs written in that language. Programs written in the Java programming language can be compiled in bytecode form and then interpreted at runtime on the Java virtual machine itself. The Java virtual machine translates bytecode into instructions for execution by an underlying physical computer processor (ie, the processor on which a given Java program is executed).

자바 언어를 사용하여 작성된 프로그램은 클라이언트에 있는 자바 가상 기계 상에서 실행하기 위해 바이트코드의 형태로 WWW를 통해서 다운로드될 수 있다. 그러한 프로그램은 애플렛(applet)으로 알려져 오고 있다. 월드 와이드 웹을 통해 애플렛을 다운로드하기 위한 자바 기술의 사용은 2가지의 장점을 갖는다. 먼저, 애플렛은, 운용 시스템 자체에 또는 클라이언트 스테이션에 위치한 웹 브라우저의 실행가능한 코드에 전형적으로 합체되는 자바 가상 기계에 의해 번역될 것이므로, 실행될 플랫폼(platform)과 독립적일 수 있다. 각 클라이언트 기계는 정상적으로, 하나의 방식 또는 이 목적을 위한 다른 방식으로 존재하는 자바 가상 기계의 복사본(copy)을 가질 것이다. 그 결과, 각 운용 시스템과 기계 요건에 따라 클라이언트로 다운로드하기 위한 서로 다른 버전의 코드를 서버가 가질 필요가 없다. 그러므로, 단일 버전의 관련 코드(relevant code)만이 작성되고 유지될 필요가 있다. 이는 소프트웨어 개발자에게 있어서 애플리케이션의 개발 및 그의 유지관리를 훨씬 간단하게 한다. 둘째, 애플리케이션이 물리적 기계 상에서가 아니라 가상 기계 상에서 실행되기 때문에, 물리적 시스템의 보안이 크게 개선된다. 예를 들어, 네트워크를 통해서 코드를 다운로드할 때, 어떤 악의적인 사람이 해로운 코드를 우연히 포함시키거나, 그렇지 않으면 클라이언트 워크스테이션에 있는 사용자의 데이터 또는 프로그램을 손상시킬 위험이 항상 있다. 가상 기계는 애플렛의 동작을 모니터할 수 있다. 만일 해로운 코드 또는 활동이 가상 기계에서 검출되면, 물리적 기계 상에서 그들의 실제 실행이 용이하게 정지될 수 있다.Programs written using the Java language can be downloaded via the WWW in bytecode for execution on a Java virtual machine on the client. Such programs have been known as applets. The use of Java technology to download applets over the World Wide Web has two advantages. First, an applet may be independent of the platform to be executed because it will be translated by the Java virtual machine, which is typically incorporated into the operating system itself or executable code of a web browser located at a client station. Each client machine will normally have a copy of the Java virtual machine present in one way or another for this purpose. As a result, the server does not need to have different versions of the code for download to the client depending on each operating system and machine requirement. Therefore, only a single version of the relevant code needs to be written and maintained. This simplifies the development and maintenance of applications for software developers. Second, because the application runs on the virtual machine rather than on the physical machine, the security of the physical system is greatly improved. For example, when downloading code over a network, there is always a risk that a malicious person may accidentally include harmful code or otherwise corrupt the user's data or programs on a client workstation. The virtual machine can monitor the behavior of the applet. If harmful code or activity is detected in the virtual machine, their actual execution on the physical machine can be easily stopped.

예를 들어, 미국 특허 제5,437,632호에 의해 나타낸 바와 같이, 가상 기계의 실행을 위한 바이트코드 형태로 서버에서 클라이언트로 소프트웨어를 다운로드하는 개념은, 일찍이 자바 기술 자체와 독립적으로 알려져 있음에 주목하여야 한다.It should be noted, for example, that the concept of downloading software from a server to a client in the form of bytecode for execution of a virtual machine, as shown by US Pat. No. 5,437,632, is known earlier than the Java technology itself.

자바 애플렛의 실행을 호출하기 위하여, HTML 텍스트의 웹 페이지는, 애플렛을 포함하는 URL을 식별하는, HTML 태그 언어 표준에 태그 applet을 포함할 것이다. 사용자 워크스테이션에서의 브라우저는 지정된 URL로부터 애플렛을 검색 및 실행함으로써 이 태그에 응답할 것이다. 또한, HTML 포맷에서 한 쌍의 상응하는 applet와 /applet 내에 포함되는 param 태그로 규정될 수 있으며, 이는 실행 또는 수행시에 애플렛으로 전달되는 변수(parameter)를 특정하는데 사용될 수 있다. 애플렛과 패럼 태그(param tag)는 형식적으로 HTML 표준 내에 합체되지 않으나, 결코 많은 웹 브라우저에 의해 덜 인식되고 덜 사용되는 것은 아님에 주목하여야 한다. 자바 기술과 애플렛 자신에 관한 추가 정보는, 예를 들어, 1996년 미국, 인디애나주 인디아나폴리스시, Sams.Net Publishing에 의해 공표된 Laura Lemay와 Charles Perkins에 의한 Teach Yourself Java in Twenty One Days에서 찾을 수 있다.To invoke the execution of a Java applet, the web page of HTML text will include the tag applet in the HTML tag language standard, which identifies the URL containing the applet. The browser at the user's workstation will respond to this tag by retrieving and running the applet from the specified URL. It can also be defined in the HTML format as a param tag contained within a pair of corresponding applets and / applets, which can be used to specify parameters that are passed to the applet at runtime or execution. Note that applets and param tags are not formally incorporated into the HTML standard, but are never less recognized and used less by many web browsers. Additional information about Java technology and the applet itself can be found, for example, in Teach Yourself Java in Twenty One Days by Laura Lemay and Charles Perkins, published by Sams.Net Publishing, Indianapolis, Indiana, USA, 1996. have.

그러나, 클라이언트의 워크스테이션에서 실행하기 위해 애플렛을 다운로드하는 프로세스가 난점이 없는 것이 아니다. 이러한 접근 방식의 난점 중의 하나는 애플렛 태그 내에 포함될 수 있는 정보의 양을 제한하는 것이다. 이는 사용자가 HTML 페이지 내에 참조된 특정 애플렛을 다운로드하는지의 여부를 결정하여야 한다는 문제를 일으킬 수 있다. 예를 들어, 특히 크고 네트워크를 거쳐서 전송하기에는 느린 애플렛을 다운로드하기를 사용자가 원하지 않거나, 또는 클라이언트의 워크스테이션에 설치되어있는 것보다 더 최근 버전의 자바 가상 기계를 애플리케이션이 요구하는지에 대해 상관하지 않을 수 있다. 애플렛에 부수되는 두 번째 단점은, 많은 사용자의 네트워크에서 일반화되어 있고, 라우터와 다른 통신 스위칭 및 메시지 핸들링 기능을 통해서 직접 연결된 워크스테이션에 의해 지금까지 일반적으로 액세스되고 있는 호스트-기반 애플리케이션에는, 정상적으로 그들이 포함되지 않는다는 것이다.However, the process of downloading an applet to run on the client's workstation is not without difficulty. One of the difficulties of this approach is to limit the amount of information that can be included in applet tags. This can cause a problem that requires the user to decide whether to download a particular applet referenced in an HTML page. For example, you may not want to download an applet that is particularly large and slow to send over the network, or you do not care whether your application requires a more recent version of the Java virtual machine than is installed on the client's workstation. Can be. A second disadvantage associated with applets is that host-based applications, which are common in many users' networks and are now commonly accessed by workstations directly connected through routers and other communication switching and message handling functions, normally It is not included.

메인프레임 컴퓨터 상에서의 실행을 위한 사용자 워크스테이션으로부터 호스트 기반 애플리케이션 프로그램으로의 네트워크 액세스는, 이 기술분야의 숙련자에게는 오랫동안 친숙해있는 프로세스이나, 지금까지 인터넷과 월드 와이드 웹을 통해서 이용되지는 않았다. 이에 대한 이유는 여러 가지가 있다. 우선, 퍼블릭에 대한 일반적인 액세스는 원하는 자원의 URL을 단순히 특정함으로써 월드 와이드 웹을 통해 이용할 수 있다. 호스트-기반 컴퓨터 애플리케이션은, 그러나, 일반적으로 라이센스드-온리(licensed-only) 프로그램이고 일반적으로 퍼블릭이 아니라 권한있는 사용자만이 이용할 수 있다. 사용자 워크스테이션과 호스트 컴퓨터간의 조심스럽게 제어되는 통신 네트워크의 상황 내에서, 허가 액세스 프로그램, 시간 기반 임대 또는 리스 요금 프로그램, 안전 및 비권한 사용 검출 프로그램이 일반적으로 사용되고 있으나, 이들은 모두에게 허여된 일반적인 퍼블릭 액세스에는 부적합하며, 인터넷 도메인에서 우위를 차지하도록 계획되어 있다. 둘째, 원격지에서 사용자에 의한 호스트-기반 컴퓨터 애플리케이션 프로그램과의 인터페이스는 일반적으로 논리적이고 물리적인 연결 링크의 설립을 필요로 하며, 세션의 개념 즉 호스트 기반 컴퓨터 프로그램이 사용자와의 통신 동안 남아있도록 세션 링크가 유지되어야만 하는 기간에 또는 그 반대의 경우에 사용자와 애플리케이션 프로그램간의 교환의 히스토리를 도입한다. 인터넷 도메인은 고정적이고 연속적인 연결을 정상적으로 제공하지는 않으나, 일단 요구가 있고, 요구가 의도된 응답자에 의해 수신될 때까지 통신이 일어나지 않는, 요구와 응답 포맷 상에서 더 운용될 수 있다.Network access from host workstations to host-based application programs for execution on mainframe computers is a process that has long been familiar to those skilled in the art but has not been available over the Internet and the World Wide Web. There are many reasons for this. First, general access to the public is available through the World Wide Web by simply specifying the URL of the desired resource. Host-based computer applications, however, are generally licensed-only programs and are generally only available to authorized users, not public. Within the context of a carefully controlled communication network between a user workstation and a host computer, authorized access programs, time-based lease or lease charge programs, and safe and non-privileged usage detection programs are commonly used, but they are all common publicly granted. Inadequate for access, it is planned to take the lead in the Internet domain. Second, the interface with a host-based computer application program by a user at a remote location generally requires the establishment of a logical and physical connection link, the concept of session, i. Introduces a history of exchanges between the user and the application program in the period in which it must be maintained or vice versa. The Internet domain does not normally provide a fixed, continuous connection, but may be further operated on the request and response format, once the request is made and no communication takes place until the request is received by the intended responder.

요구와 응답의 비동기 특성과 고유 연결 경로의 부족(주어진 위치로 및 그로부터의 경로는 인터넷에서 2개의 엔터티에 통신에서 통신으로 광범위하게 변할 수 있다)은 클라이언트 워크스테이션에서의 원격 사용자와 호스트-기반 애플리케이션간의 대화를 이력적이고(historically) 정확하게 기록하기 위해 세션을 유지하는 문제를 더욱 악화시킨다. 실제로, 실제 사용자의 아이덴터티(identity)가 호스트-기반 애플리케이션에서 전체적으로 알려져 있지 않을 수 있다. 예를 들어, 브라우저 또는 서버가 호스트-기반 애플리케이션에 대한 브라우저의 애플리케이션 요구를 나타내면, 연속적인 대화가 아니라, 단지 요구 또는 문의에 이어서 응답 또는 다운로드가 있을 뿐이다. 논리적 또는 아마도 물리적 연결의 연속성이 없으며 연결 링크는 어떤 또 다른 응답과 요구 시나리오를 위해 재생성되어야만 할 것이다. 그러한 대화 모드, 특히 애플리케이션 프로그램의 복수의 잠재적 클라이언트 또는 사용자와의 대화 모드는, 대화형 요구 응답 시나리오가 실행되도록 유지되고 또한 이력적 활동을 모니터하기 위하여 전체 호스트 프로그램과 데이터를 다운로드하는 용량 또는 능력(또는 실제로 그렇게 하기 위한 허가)을 클라이언트가 일반적으로 갖지 않으므로, 또한 호스트가 요구중인 클라이언트의 아이덴터티를 통상 알지 못하므로, 호스트 위치 또는 워크스테이션의 어느 한쪽에 고유성(uniqueness)과 이력적 세션 기록을 유지해야 하는 극히 복잡한 문제를 나타낸다.The asynchronous nature of requests and responses and the lack of unique connection paths (paths to and from a given location can vary widely from communication to communication to two entities on the Internet) can be attributed to remote user and host-based applications on client workstations. It further exacerbates the problem of maintaining a session to record historian conversations historically and accurately. Indeed, the identity of the actual user may not be entirely known in the host-based application. For example, if a browser or server indicates the browser's application needs for host-based applications, there is only a request or inquiry followed by a response or download, not a continuous conversation. There is no continuity of logical or perhaps physical connections and the link will have to be recreated for some other response and request scenario. Such a conversation mode, in particular a conversation mode with a plurality of potential clients or users of an application program, may be used to maintain the execution of an interactive request response scenario and also to download the entire host program and data in order to monitor historical activity. Or, in fact, the client does not normally have permission to do so, and because the host usually does not know the identity of the client it is requesting, it must maintain uniqueness and historical session records at either the host location or the workstation. This represents an extremely complex problem.

끝으로, 비권한적 액세스를 차단하기 위하여 또는 사용자를 원하지 않는 액세스가능성으로부터 보호하기 위하여, 많은 사용자와 시스템은 사용자와 인터넷간에, 또는 사용자와 애플리케이션 프로그램간에 통신 대화의 완전 양방향(full bi-directional) 초기 설정을 방지하는 호스트 컴퓨터와 같은 자원과 인터넷간에 파이어월(fire walls)이라 불리는 것을 설치한다. 실제 물리적 위치와 사용자 및/또는 애플리케이션 프로그램의 아이덴터티는 그러한 교환의 각 종단에 있는 당사자(parties)에게 알려져 있지 않을 수 있으므로, 직접적으로 또 다른 것으로 메시지를 어드레싱하는 것은 불가능하다.Finally, in order to block non-privileged access or to protect a user from unwanted accessibility, many users and systems have full bi-directional communication communications between users and the Internet, or between users and application programs. Install what is called a fire wall between the Internet and resources such as host computers that prevent initial configuration. Since the actual physical location and identity of the user and / or application program may not be known to the parties at each end of such exchange, it is impossible to address the message directly with another.

클라이언트가 서버로부터 애플리케이션 프로그램을 다운로드하기를 원하지 않으나 호스트-기반 자원 상에서 대화식으로 그들에게 액세스하기를 원할 수 있다는 가능성을 고려할 때, 이들 문제가 심각해진다. 또한, 그러한 호스트 컴퓨터들은, 일반적으로 중앙 데이터 베이스(Central Data Bases), 고속(High Speed), 이미지 집중 편집(Image Intensive Editing), 3차원 그래픽 등과 같은 다른 멀티-미디어 프로세싱 함수와 같은 극히 큰 애플리케이션 프로그램의 실행을 요구하는 프로세싱 로드 능력과 매우 큰 용량 데이터 프로세싱을 제공한다. 또한, 그러한 호스트 기반 애플리케이션은 물리적으로 너무 커서 다운로드가 불가능하거나 또는 허가 사용 제한(license use restriction)으로 인하여 다운로드가 불가능할 수 있다. 지속적인 사용으로 다양한 호스트 기반 사업과 데이터 프로세싱 애플리케이션의 유산들이 존재하며, 물리적 안전과 호스트 기반 프로그램에 정상적으로 적용할 수 있는 액세스와 라이센스 제한을 손상시키지 않으면서 인터넷과 월드 와이드 웹 기능을 사용하여 원격 사용자를 위해 그들을 대화형 액세스 및 실행을 용이하게 함이 가장 바람직할 것이다.These problems are aggravated given the possibility that clients do not want to download application programs from the server but may want to access them interactively on host-based resources. In addition, such host computers are typically extremely large application programs, such as other multi-media processing functions such as Central Data Bases, High Speed, Image Intensive Editing, 3-D graphics, and the like. It provides processing load capability and very large capacity data processing that requires the execution of. In addition, such host-based applications may be physically too large to be downloadable or not downloadable due to license use restrictions. Continuous use has a legacy of a variety of host-based businesses and data processing applications, and uses the Internet and the World Wide Web to connect remote users without compromising physical safety and the access and license restrictions normally applicable to host-based programs. It would be most desirable to facilitate them for interactive access and execution.

상기 잘 알려진 종래 기술에서의 어려움을 감안하여, 본 발명의 목적은 원격 워크스테이션에서의 사용자와 애플리케이션 프로그램을 실행하는 중앙 또는 호스트 컴퓨터 사이에서 대화식 사용을 가능케하는 개선된 방법, 시스템, 장치를 제공하는 것이다.In view of the above known difficulties in the prior art, an object of the present invention is to provide an improved method, system, apparatus for enabling interactive use between a user at a remote workstation and a central or host computer running an application program. will be.

본 발명의 다른 목적은, 파이어월 통신 장벽의 보안 등을 유지하는 방식으로 호스트 기반 애플리케이션 프로그램과 원격 클라이언트 사이에 대화식 프로세싱 정보의 교환을 관리하는 개선된 서버를 제공하는 것이다.Another object of the present invention is to provide an improved server that manages the exchange of interactive processing information between a host-based application program and a remote client in a manner that maintains the security of a firewall communication barrier and the like.

본 발명의 또 다른 목적은, 월드 와이드 웹과 인터넷 환경에서 서버와 통신 및 대화하는 기능을 갖춘 개선된 호스트 애플리케이션을 제공하는 것이다.It is yet another object of the present invention to provide an improved host application with the ability to communicate and communicate with servers in the world wide web and internet environment.

본 발명의 또 다른 목적은 인터넷 서버의 기능을 통하여 원격 호스트 컴퓨터 기반 애플리케이션과 대화식으로 통신하는 개선된 클라이언트 컴퓨터 시스템을 제공하는 것이다.It is yet another object of the present invention to provide an improved client computer system that interactively communicates with a remote host computer-based application through the functionality of an Internet server.

도 1은 원격 호스트-기반 컴퓨터 애플리케이션 프로그램(remote, host-based computer application program)을 액세스하고, 이용하고, 이와 대화하려는 사용자의 요구를 제시하기 위해 서버로의 연결을 용이하게 하기 위한 애플렛 또는 클라이언트 실행가능 프로세스의 프로세스 플로우를 개략적으로 나타낸 도면.1 illustrates an applet or client implementation to facilitate a connection to a server to present a user's request to access, use, and interact with a remote host-based computer application program (remote). Diagrammatic representation of the process flow of a viable process.

도 2는 호스트 기반 컴퓨터 애플리케이션으로의 액세스를 위해 인터넷을 통해서 수신된 클라이언트 또는 사용자 컴퓨터로부터의 요구를 관리하기 위한 인터넷 서버 컴퓨터에서 실행되는 단계들의 프로세스 플로우를 개략적으로 나타낸 도면.FIG. 2 is a schematic diagram illustrating a process flow of steps executed on an Internet server computer for managing a request from a client or user computer received over the Internet for access to a host based computer application.

도 3은 인터넷을 통해서 클라이언트 요구를 수신하고 어떤 다른 원격 위치에서 인터넷을 통하여 호스트 기반 컴퓨터 애플리케이션의 호출을 개시 및 관리하기 위해 인터넷 서버 프로세서에서 실행가능한 프로세스 플로우 단계를 개략적으로 나타낸 도면.FIG. 3 schematically illustrates process flow steps executable in an Internet server processor for receiving client requests over the Internet and initiating and managing invocations of host-based computer applications over the Internet at some other remote location.

도 4는 인터넷을 통해서 원격 호스트-기반 애플리케이션 프로그램으로의 그리고 클라이언트로부터의 통신의 플로우를 관리하기 위한 인터넷 서버의 프로세서에서 실행가능한 프로세스 단계들을 개략적으로 나타낸 도면.4 schematically illustrates process steps executable in a processor of an Internet server for managing the flow of communication from and to a remote host-based application program over the Internet.

도 5는 인터넷을 통해서 원격 호스트 기반 애플리케이션과의 대화를 관리하기 위한 인터넷 서버 프로세서에서 실행가능한 프로세스 단계를 개략적으로 나타낸 도면.5 schematically illustrates process steps executable in an internet server processor for managing a conversation with a remote host-based application over the Internet.

도 6a 및 도 6b는 인터넷 기능을 통해서 요구중인 클라이언트를 위해 정해진 원격 호스트 기반 애플리케이션 프로그램으로부터의 통신을 관리하기 위해 인터넷 서버 프로세서에서 실행가능한 프로세스 단계를 개략적으로 나타낸 도면.6A and 6B schematically illustrate process steps executable in an Internet server processor to manage communication from a remote host-based application program for a requesting client through the Internet function.

도 7은 호스트 프로세서에서 처리되는 애플리케이션 프로그램과 인터넷 서버간의 통신을 관리하기 위해 호스트 프로세서에서 실행가능한 프로세스 단계 및 플로우를 개략적으로 나타낸 도면.7 schematically illustrates process steps and flows executable in a host processor for managing communication between an application program and an Internet server processed in the host processor.

도 8은 컴퓨터 실행가능 프로세스 단계로 구현되는, 본 발명이 실시될 수 있는 대표적인 워크스테이션 또는 개인용 컴퓨터 하드웨어 환경을 개략적으로 나타낸 도면.8 is a schematic representation of an exemplary workstation or personal computer hardware environment in which the present invention may be practiced, implemented in computer executable process steps.

도 9는 본 발명의 바람직한 실시예에서 인터넷 또는 월드 와이드 웹 기능이 존재할 수 있고 사용자에게 응답하는 데이터 프로세싱 네트워크를 개략적으로 나타낸 도면.9 is a schematic representation of a data processing network in which there may be internet or world wide web functionality in a preferred embodiment of the present invention and responsive to a user;

상기 목적과, 특별히 열거되지는 않은 여전히 다른 목적들은, 클라이언트와 호스트 애플리케이션에게 투명한 방식으로 원격 클라이언트와 원격 호스트 애플리케이션 프로그램간에 요구 및 데이터의 교환 및 전송을 용이하게 하는 대화식 통신 관리 능력을 갖는 개선된 서버를 제공함과 함께, 인터넷의 기능을 통해서 대화식으로 실행되고 이용되게 호스트 기반 데이터 프로세싱 애플리케이션을 변형한, 본 발명에 의해 달성된다. 서버는 호스트-기반 애플리케이션 프로그램 응답의 클라이언트 워크스테이션 요구자에게 고유한 식별 토큰을 할당할 수 있는 컴퓨터 실행가능 프로그램 단계를 구비한다. 토큰은 통신중인 엔터티들간에 데이터 및 요구의 적절한 이용 및 통과를 위해서 클라이언트를 식별하기 위해 서버와 호스트 애플리케이션에 의해 사용된다. 또한, 클라이언트 또는 워크스테이션 브라우저 또는 운용 시스템이 실제 위치가 요구중인 클라이언트에게 알려져 있지 않을 수도 있는 원격 위치된 애플리케이션 프로그램과의 대화를 개시하고 유지하기 위하여 서버로 요구를 송신하고 액세스를 용이하게 하는 컴퓨터 실행가능 프로그램 단계가 제공된다.The above and still other purposes not specifically listed are improved servers with interactive communication management capabilities that facilitate the exchange and transfer of requests and data between remote clients and remote host application programs in a manner transparent to the client and host applications. Along with providing a modification of the host-based data processing application to be executed and used interactively through the functionality of the Internet is achieved by the present invention. The server has a computer executable program step that can assign a unique identification token to the client workstation requester of the host-based application program response. The token is used by the server and the host application to identify the client for proper use and passing of data and requests between entities in communication. In addition, the computer execution of the client or workstation browser or operating system to send requests to the server and facilitate access to initiate and maintain conversations with remotely located application programs that may not be known to the client whose actual location is required. Possible program steps are provided.

바람직한 실시예에서, 클라이언트 워크스테이션에서의 브라우저 또는 운용 시스템이 서버로 요구를 제시하도록 하기 위하여, 클라이언트 워크스테이션에 애플렛이 제공될 수 있다. 또한, 서버 자체에, 클라이언트 사용자로부터의 요구에 응답하고, 특정 클라이언트 사용자와의 통신 세션을 식별하기 위해 고유 토큰을 할당하기 위한 컴퓨터 실행가능 프로그램 단계와, 원격 호스트 기반 애플리케이션에 대한 요구를 개시하고 애플리케이션을 호출하는 요구와 함께 토큰을 제시하는 컴퓨터 실행가능 프로그램 단계와, 애플리케이션으로부터 응답을 수신하는 컴퓨터 실행가능 프로그램 단계와, 예를 들어 식별된 클라이언트 또는 사용자에게 메모리에 대한 공유 포인터를 사용하여, 이들을 제공하는 개선된 컴퓨터 실행가능 프로그램 단계가 제공된다. 그리하여 서버는 (1) 서버 통신 프로세스로 클라이언트를 서비스하는 프로그램 단계, (2) 호스트 애플리케이션을 위해 지정된 클라이언트로부터의 통신을 서비스하는 프로그램 단계, (3) 호스트 애플리케이션과 서버간의 통신을 취급하는 단계, (4) 클라이언트로 정해진 호스트 상의 애플리케이션으로부터의 통신을 취급하는 단계로 이루어진 실행가능한 프로그램 세트가 제공된다.In a preferred embodiment, an applet may be provided to the client workstation to cause the browser or operating system at the client workstation to present the request to the server. In addition, the server itself initiates a request for a remote host-based application and initiates a computer executable program step for responding to a request from a client user and assigning a unique token to identify a communication session with a particular client user. Providing the token with a request to call the computer executable program step, receiving the response from the application, and providing them using, for example, a shared pointer to memory to the identified client or user. An improved computer executable program step is provided. Thus, the server may include (1) a program step serving a client in a server communication process, (2) a program step serving a communication from a client designated for a host application, (3) handling communication between a host application and a server, ( 4) A set of executable programs is provided that consists of handling communications from an application on a host designated as a client.

처음에 도 8 및 도 9를 참조하여 간단히 설명할 물리적 환경의 상황 내에서 바람직한 실시예들의 구현 및 유용성을 살펴보며, 도 1 내지 도 7에 바람직한 실시예를 나타내는 도면들을 참조하여 본 발명을 나타내고 설명하기로 한다.The implementation and usefulness of the preferred embodiments within the context of the physical environment, which will first be described briefly with reference to FIGS. 8 and 9, illustrate the invention with reference to the drawings showing the preferred embodiments in FIGS. 1 to 7. Let's do it.

도 8을 참조하면, 본 발명이 실시될 수 있는 대표적인 워크스테이션 또는 개인용 컴퓨터 하드웨어 환경이 개략적으로 도시되어 있다. 도 8에 나타낸 바와 같이, 그러한 환경은, 인터넷, LAN, 또는 다른 확장된 환경으로 액세스하기 위해 통신 어댑터 또는 모뎀을 포함하는 관련 주변 기기와 메모리를 포함하는, 예를 들어 개인용 컴퓨터, 워크스테이션, 네트워크 컴퓨터와 같은 대표적인 단일 사용자 워크스테이션(10)을 포함한다. 네트워크 컴퓨터 또는 워크스테이션(10)은 일반적으로, 마이크로프로세서(12)와 메모리 및 워크스테이션 시스템의 다른 콤포넌트 사이의 통신을 잘 알려진 기술에 따라 연결하고 가능하게 하기 위해 채택된, 마이크로프로세서(12)와 버스(14)를 포함한다. 워크스테이션, 네트워크 컴퓨터 또는 개인용 컴퓨터(10)는 일반적으로 버스(14)에 의해, 마이크로프로세서(12)를 하나 이상의 다양한 인터페이스 기기에 연결하기 위한 사용자 인터페이스 어댑터(16)를 포함한다. 그러한 기기들은 잘 알려져 있으며 키보드(18), 마우스 또는 다른 선택 커서 기기(20) 및/또는 터치 감지식 스크린, 디지타이즈드 엔트리 패드, 프로세서의 메모리에 적절한 음성 인식 프로그램 코드를 갖춘 음성 인식 장치 등을 포함하는 그 밖의 종류의 다른 인터페이스 기기(22)를 포함한다. 버스(14)는 또한 LCD 스크린 또는 CRT 모니터 등과 같은 디스플레이 기기(24)를 디스플레이 어댑터(26)를 통하여 마이크로프로세서(12)에 연결한다. 또한, 버스 어댑터(14)는 하드 드라이브, 테이프, 디스크, CD 롬 등을 포함할 수 있는 영구 기억 장치(30)와 메모리(28)에 마이크로프로세서를 연결한다. 워크스테이션(10)은 통신 네트워크에 통신 어댑터 또는 모뎀(32)을 통하여 통신하고, 그곳에서부터 다른 컴퓨터, 또는 시간에 걸쳐서 독립적으로 변하는 가변 상호연결 링크를 갖는 분산 통신 네트워크 설비를 통해서 논리적으로 또는 스위치된 연결과 직접 케이블에 의해 물리적으로 액세스될 수 있는 컴퓨터들의 네트워크로 통신한다. 그러한 환경은 다수의 컴퓨터, 워크스테이션, 서버가 상호 통신할 수 있는 인터넷과 월드 와이드 웹에서 일반적이다. 워크스테이션(10)은 근거리 통신망(LAN) 또는 광역 네트워크(WAN)에서 그러한 다른 컴퓨터들과 연관될 수 있거나, 또는 워크스테이션(10)이, 네트워크에서 또 다른 컴퓨터와 통신을 가능하게 하는 많은 인터넷과 WWW 구성에 존재하는 전형적인 클라이언트 서버 배열에서의 클라이언트일 수 있다. 마찬가지로, 이미 언급한 바와 같이, 워크스테이션(10)은 네트워크 컴퓨터일 수 있고 대부분의 정상적인 컴퓨터 워크스테이션과 개인용 컴퓨터에서 일반적으로 발견되는 완전 운용 시스템 또는 영구 저장 장치 또는 그 자신의 하드 드라이브를 필요로 하지 않을 수 있다.Referring to FIG. 8, there is schematically illustrated a representative workstation or personal computer hardware environment in which the present invention may be practiced. As shown in FIG. 8, such an environment may include, for example, a personal computer, workstation, network, including associated peripherals and memory, including a communication adapter or modem for access to the Internet, LAN, or other extended environment. A representative single user workstation 10 such as a computer is included. Network computer or workstation 10 is generally associated with microprocessor 12, which is adapted to connect and enable communication between microprocessor 12 and memory and other components of a workstation system in accordance with well known techniques. And a bus 14. Workstation, network computer or personal computer 10 generally includes a user interface adapter 16 for connecting microprocessor 12 to one or more various interface devices, by bus 14. Such devices are well known and include a keyboard 18, a mouse or other selected cursor device 20 and / or a touch-sensitive screen, a digitized entry pad, a speech recognition device having a speech recognition program code appropriate for the memory of the processor, and the like. And other types of interface devices 22 to include. The bus 14 also connects a display device 24, such as an LCD screen or CRT monitor, to the microprocessor 12 via the display adapter 26. In addition, bus adapter 14 couples the microprocessor to memory 28 and permanent storage device 30, which may include a hard drive, tape, disk, CD ROM, and the like. The workstation 10 communicates via a communication adapter or modem 32 to a communication network and is logically or switched through another computer or distributed communication network facility having a variable interconnect link that varies independently over time. It communicates with a network of computers that can be physically accessed by connection and direct cable. Such environments are common on the Internet and the World Wide Web, where multiple computers, workstations, and servers can communicate with each other. The workstation 10 may be associated with such other computers in a local area network (LAN) or wide area network (WAN), or the workstation 10 may be connected to many other computers in the network to enable communication with other computers. It may be a client in a typical client server arrangement present in a WWW configuration. Likewise, as already mentioned, workstation 10 may be a network computer and does not require a full operating system or permanent storage device or its own hard drive, commonly found in most normal computer workstations and personal computers. You may not.

도 9를 참조하면, 인터넷 네트워크 등의 일부를 나타낼 수 있는 전형적인 데이터 프로세싱 네트워크의 개략적인 구성이 네트워크(40)로서 도시되어 있다. 데이터 프로세싱 네트워크(40)는 LAN(42, 44)을 포함하여 비동기식으로 다른 것과 통신할 수 있는 복수의 개별 네트워크를 포함할 수 있고, 각각이 복수의 개별 워크스테이션(10)을 포함한다. 한편, 이 기술분야의 숙련자에 의해서 알 수 있는 바와 같이, 호스트 프로세서 상주 애플리케이션 프로그램을 가질 수 있는 호스트 프로세서에 결합된 다수의 지능적 워크스테이션, 개인용 컴퓨터 또는 네트워크 컴퓨터를 포함할 수 있다. 컴퓨터(46)와 같은 복수의 메인 프레임 컴퓨터는, 도 9에 나타낸 바와 같이 물리적 또는 논리적(즉 인터넷 또는 월드 와이드 웹) 통신 링크(48)에 의해서 LAN에 연결될 수 있다.With reference to FIG. 9, a schematic configuration of a typical data processing network that may represent a portion of an internet network or the like is shown as network 40. Data processing network 40 may include a plurality of individual networks that may asynchronously communicate with others, including LANs 42 and 44, each comprising a plurality of individual workstations 10. On the other hand, as will be appreciated by those skilled in the art, it may include a number of intelligent workstations, personal computers, or network computers coupled to a host processor that may have a host processor resident application program. A plurality of mainframe computers, such as computer 46, may be connected to the LAN by physical or logical (ie, Internet or World Wide Web) communication links 48 as shown in FIG. 9.

메인프레임 컴퓨터(46)는, 이 기술분야에 잘 알려져 있는 임의의 다양한 구성으로 구현될 수 있으며, 많은 수의 호스트 상주 애플리케이션 프로그램을 포함할 수 있다. 메인프레임 컴퓨터는 또한, LAN으로부터 액세스할 수 있는 데이터 베이스로서 또는 LAN을 위한 원격 중앙 저장 장치로서 제공될 수 있는 저장 기기(50)에 결합될 수 있으며, 그리고 인터넷 또는 WWW 환경에서 다른 로컬 또는 원격 영역 네트워크와 워크스테이션에 최종적으로 액세스하기 위해 게이트웨이 서버로의 통신 링크(56)와 제어기(54)와 같은 서브시스템 제어를 통해서 물리적 또는 논리적 인터넷 또는 월드 와이드 웹 통신 링크(52)에 LAN 자신이 결합될 수 있다. 게이트웨이 서버(58)는 바람직하게는 개별 컴퓨터 또는 지능적 워크스테이션이고, 도 9에서의 LAN(42)을 LAN(44)에 링크하는데 이바지한다.Mainframe computer 46 may be implemented in any of a variety of configurations well known in the art, and may include a large number of host resident application programs. The mainframe computer can also be coupled to a storage device 50 that can be provided as a database accessible from a LAN or as a remote central storage device for a LAN, and other local or remote areas in the Internet or WWW environment. The LAN itself may be coupled to the physical or logical Internet or world wide web communication link 52 through subsystem control such as controller 54 and communication link 56 to the gateway server for final access to the network and workstation. Can be. Gateway server 58 is preferably an individual computer or intelligent workstation, which serves to link LAN 42 in FIG. 9 to LAN 44.

이 기술분야의 숙련자는 메인프레임 컴퓨터(46)가 LAN(44)으로부터 지리적으로 많이 떨어져서 위치하고 그에 따라 LAN(42)으로부터 실질적으로 떨어져서 위치할 수 있음을 쉽게 알 수 있을 것이다. 예를 들어 데이터 채집 엔진(data mining engine)과 같은 중앙 데이터 베이스와 애플리케이션 프로그램을 포함하는 메인프레임 컴퓨터(46)가 예를 들어 뉴욕에 위치하는 반면에, LAN(44)는 텍사스에 위치할 수 있고, LAN(42)는 남부 캐롤라이나에 위치할 수 있다. 이들 설비는 모두 채용될 수 있는 임의의 특정 물리적 통신 링크 기술로부터 독립적이도록 논리적 어드레싱을 사용하는 상호연결 가능하거나 또는 물리적인 네트워크일 수 있다. 즉 이들 요소들은 많은 컴퓨터, 서버, 워크스테이션 모두가, 액세스 제공자에 의해 운용되는 모뎀과 액세스제어 컴퓨터를 사용하여 전화 액세스 링크에 의해 일반적으로, 서로에게 자유롭게 액세스할 수 있는, 오늘날 제기된 인터넷 또는 월드 와이드 웹과 동일한 방식으로 사용될 수 있다.Those skilled in the art will readily appreciate that the mainframe computer 46 may be located geographically much away from the LAN 44 and thus located substantially away from the LAN 42. LAN 44 may be located in Texas, while mainframe computer 46, including for example a central database such as a data mining engine and an application program, is located in New York, for example. LAN 42 may be located in Southern Carolina. Both of these facilities can be interconnectable or physical networks using logical addressing to be independent of any particular physical communication link technology that may be employed. That is, these elements are the Internet or world posed today that many computers, servers, and workstations are all freely accessible to each other, usually by telephone access links, using modems and access control computers operated by access providers. It can be used in the same way as the wide web.

본 발명은 일반적으로 그러한 네트워크에서 서버로서 동작하는 프로세서 상에서 실행가능한 소프트웨어 프로그래밍 코드로서 구체화된다. 컴퓨터 실행가능 코드는 워크스테이션(10)의 영구 저장 장치(30)와 같은 어떤 형태의 영구 저장 장치 내에 저장될 수 있다. 클라이언트/서버 환경에서는, 그러나, 소프트웨어 프로그램 코드는 일반적으로, 도 9에서 컴퓨터(46)가 서버로서 동작할 때 이와 연관된 저장 장치(50)와 같은, 서버 컴퓨터와 연관된 저장 장치에 저장될 것이다. 본 발명이 구체화되는 실행가능 프로그램 단계의 프로그래밍 소프트웨어 또는 프로그래밍 코드는 그 자체가, 플로피 디스켓, 카세트 테이프, 하드 드라이브, CD 롬, 프로그램가능 ROM 등과 같은 데이터 프로세싱 시스템에서 사용하기 위해 알려진 임의의 다양한 미디어로 구현될 수 있다. 코드는 사실상, 임의의 다양한 형태의 통신 네트워크를 통해서 하나의 컴퓨터 시스템의 저장 장치 또는 메모리로부터, 그러한 시스템의 사용자에 의한 다운로딩 및 사용을 위해 다른 컴퓨터 시스템으로, 사용자에 대한 그러한 미디어 상에 분산되거나 사용자들에게 분산된다. 물리적 미디어 상에서 기계 실행가능한 형태로 소프트웨어 프로그램 코드를 채용하고 또 네트워크에 의해 로컬하게 코드의 분산하거나 구체화하는 기술 및 방법은 모두 잘 알려져 있으며, 여기서는 더 이상 논의하지 않기로 한다.The present invention is generally embodied as software programming code executable on a processor operating as a server in such a network. The computer executable code may be stored in some form of permanent storage, such as permanent storage 30 of workstation 10. In a client / server environment, however, the software program code will generally be stored in a storage device associated with the server computer, such as storage device 50 associated therewith when the computer 46 operates as a server in FIG. 9. The programming software or programming code of the executable program stage in which the present invention is embodied may be itself any arbitrary media known for use in data processing systems such as floppy diskettes, cassette tapes, hard drives, CD ROMs, programmable ROMs, and the like. Can be implemented. Code may, in fact, be distributed on such media to a user from storage or memory of one computer system via any of various forms of communication networks, to other computer systems for downloading and use by users of such systems, or Distributed to users. Techniques and methods for employing software program code in machine executable form on physical media and for distributing or embodying the code locally by a network are all well known and will not be discussed further herein.

본 발명을 위한 전형적인 상황으로서, 일반적으로 도 9에 나타낸 바와 같이 호스트 애플리케이션 컴퓨터 시스템으로서 동작하는 컴퓨터(46)와 같은 최종 호스트 컴퓨터로, 전화망, 게이트웨이 서버와 통신 링크, 제어기와 LAN을 포함할 수 있는 통신 설비들을 통해서 도 9에서의 서버(46)와 같은 네트워크 서버로 액세스하는 클라이언트의 워크스테이션에서 실행하는 웹 브라우저를 포함하는 인터넷의 설비를 사용함으로써, 도 8 및 도 9에 나타낸 바와 같이, 워크스테이션(10)에서의 개별적인 사용자가 현존하고, 호스트-기반, 데이터 프로세싱 애플리케이션과 대화하기를 원할 수 있다. 도 9에 나타낸 바와 같은 게이트웨이 서버(58)는, 워크스테이션(10)과 근거리 통신망(42)에서의 사용자가, 근거리 통신망(42)의 외부로부터 비권한 사용자에 의해 액세스되는 그들의 데이터 또는 파일 또는 프로그램을 가지는 것을 방지하는, 파이어월 보호 프로그램 또는 루틴을 구현할 수 있다. 마찬가지로, 호스트 컴퓨터(46)는, 도 9에서의 저장 장치(50)로 나타낸 바와 같은 LAN 또는 서버를 위한 원격 중앙 저장 장치로의 비권한 액세스를 막기 위하여 또는 비권한 사용자에 의한 액세스로부터 그의 데이터, 파일 및 애플리케이션을 보호하기 위하여 파이어월 보호를 구현할 수 있다.As a typical situation for the present invention, a final host computer, such as computer 46, generally operating as a host application computer system as shown in FIG. 9, which may include a telephone network, a gateway server and communication link, a controller and a LAN. By using a facility of the Internet that includes a web browser running on a client's workstation that accesses a network server such as server 46 in FIG. 9 through communication facilities, as shown in FIGS. An individual user at 10 may wish to communicate with an existing, host-based, data processing application. Gateway server 58, as shown in FIG. 9, includes data or files or programs whose users at workstation 10 and local area network 42 are accessed by non-privileged users from outside of local area network 42. FIG. You can implement a firewall protection program or routine that prevents you from having it. Similarly, host computer 46 may be configured to prevent unauthorized access to a remote central storage device for a LAN or server as represented by storage device 50 in FIG. 9 or from access by an unauthorized user, Firewall protection can be implemented to protect files and applications.

본 발명의 배경에서 이미 밝혀진 여러 가지 이유로 인하여, 물리적 시스템은 도 9에 나타낸 바와 같을 수 있으나, 현존하는 파이어월 보호를 통과하여 인터넷 설비를 통해 워크스테이션(10)으로부터 호스트 컴퓨터에서 실행되는 호스트 애플리케이션으로의 액세스의 실제 편이성은, 대화식 모드에서는 이제까지는 불가능하였다. 이 대화식 모드에서, (호스트 시스템(46)상에서 현존하는 애플리케이션에 액세스할 수 있는 권한을 가질 수도 없고 심지어 그 위치도 알 수 없었던) 워크스테이션에서의 사용자는, 그럼에도 불구하고, 호스트 컴퓨터(46)상에 탑재되어 있는 애플리케이션 프로그램과 대화식 데이터 프로세싱 업무를 수행하기 위하여 본 발명의 바람직한 실시예에 따라 게이트웨이 서버(58)와 같은 서버에 의해 서비스된다.For various reasons already found in the context of the present invention, the physical system may be as shown in FIG. 9, but passes through existing firewall protection to the host application running on the host computer from the workstation 10 via an Internet facility. The actual ease of access of has never been possible in interactive mode. In this interactive mode, a user at a workstation (who could not have permission to access an existing application on the host system 46 and even did not know its location) would nevertheless be on the host computer 46. It is serviced by a server, such as gateway server 58, in accordance with a preferred embodiment of the present invention to perform interactive data processing tasks with the application program mounted thereon.

이전의 워크스테이션(10)은 인터넷 환경에서와 마찬가지로 웹 서버를 MVS 호스트 컴퓨터가 또한 실행하지 않으면, MVS 또는 다른 컴퓨터 시스템에서 실행되는 호스트 애플리케이션과 대화식 세션을 설립하기 위하여 그들의 브라우저를 사용할 수 없었다. 종래 기술에서의 MVS 시스템은, 단지 애플리케이션 프로그램과 MVS 시스템이 동일한 컴퓨터에서 실행되면, 원격 사용자와 주어진 애플리케이션 프로그램간의 통신과 프로세싱 세션의 설립이 가능하도록 하였다. 그러한 배열은 물론, 많은 수의 네트워크 서버를, 필수적으로는 거기에 탑재되어 있는 호스트 애플리케이션을 위한 각 호스트 컴퓨터 기능마다 하나씩을 제공하기 위한 비용이 요구되므로, 분산 인터넷 WWW 액세싱 환경의 요구에 거의 순응할 수 없다. 또한, 비록 그러한 환경이 제공되더라도, 다양한 잠재적 사용자가 그들에 워크스테이션으로부터 브라우저를 사용하여 인터넷을 통해 비권한 사용 및 액세스하는 것으로부터 거기에 탑재되어 있는 애플리케이션 프로그램을 보호하기 위하여 모든 호스트 기능마다 복잡한 액세스 인가 기능(authorization facilities)이 요구된다. 그러한 사용자가 가져야 할 전부는, 전형적인 인터넷 환경에서 주어진 URL에 대한 요구를 서버가 인식하면 네트워크 서버로서 동일한 컴퓨터에서 또한 실행되는 호스트 컴퓨터 상의 애플리케이션을 임의의 브라우저가 액세스할 수 있도록 하기 위하여 원하는 애플리케이션의 URL일 것이다. 서버는 전형적으로, 실제적인 사용자의 아이덴터티 또는 그들의 애플리케이션 프로그램의 액세스 및 사용을 위한 인가의 실제적 레벨이 아니라, 네트워크에서의 요구자의 물리적 위치만을 안다.Previous workstations 10 could not use their browsers to establish interactive sessions with host applications running on MVS or other computer systems, unless the MVS host computer was also running a web server as in the Internet environment. The MVS system in the prior art has enabled communication and the establishment of a processing session between a remote user and a given application program only if the application program and the MVS system are run on the same computer. Such an arrangement, as well as the cost of providing a large number of network servers, essentially one for each host computer function for the host application on which it is built, is nearly compliant with the needs of a distributed Internet WWW accessing environment. Can not. In addition, even if such an environment is provided, complex access for every host function to protect the application programs that are embedded there from various potential users using them from a workstation to access and access the Internet over the Internet. Authorization facilities are required. All that a user should have is the URL of the desired application so that any browser can access an application on the host computer that also runs on the same computer as a network server if the server recognizes the request for a given URL in a typical Internet environment. would. The server typically only knows the physical location of the requestor in the network, not the actual user's identity or the actual level of authorization for access and use of their application program.

진정으로 유용하도록 하기 위해, 본 발명은 대화식 사용이 요구되는 애플리케이션 프로그램을 위해 요구된 URL에 액세스하는 장소에 대한 지식을 갖는 서버에, 임의의 브라우저 또는 인터넷을 통한 임의의 경로로부터 액세스를 용이하게 하기를 원하는 것이다. 이는 원하는 프로그램이 실행되는 컴퓨터의 위치가, 파이어월 뒤의 애플리케이션 프로그램을 액세스하기 위한 적절한 액세스 파라미터들이 네트워크 서버에 안전한 형태로 제공되고 개별적 네트워크 워크스테이션 사용자와 그들의 브라우저로부터 보호될 수 있는 인터넷 파이어월 뒤에 있도록 할 수 있다. 예를 들어, (예를 들어, 이용할 수 있는 원하는 호스트 기반 애플리케이션을 갖는 설비를 위해 네트워크를 탐색하는 것으로부터) 원하는 URL의 지식을 갖는 주어진 네트워크 사용자는, 워크스테이션 브라우저로부터 식별된 URL을 사용하여 요구를 제시한다. 네트워크 서버는 URL 요구를 수신하고, 그것으로부터 원하는 애플리케이션 프로그램의 아이덴터티를 식별하여, 호스트 기반 애플리케이션의 호출이 시작되기 전에 문의중인 워크스테이션에서 사용자로부터 제안된 적절한 인가와 같은 추가 파라미터의 요구를 호출할 수 있다. 한편, 네트워크 서버 프로세서는, URL에 대한 요구를 수신하자마자, 애플리케이션 프로그램의 요구된 URL에 대한 액세스가 허여되기 전에, 사용자에게 인가 코드(authorization code), 요금 코드 등을 제공할 것을 촉구하는 브라우저에서의 실행을 요구하는 애플렛을 대신 전달한다.In order to be truly useful, the present invention is intended to facilitate access from any path through any browser or the Internet to a server having knowledge of where to access the required URL for an application program requiring interactive use. Will want. This means that the location of the computer on which the desired program runs is located behind the Internet firewall, where the appropriate access parameters for accessing the application program behind the firewall are provided in a secure form to the network server and protected from individual network workstation users and their browsers. You can do that. For example, a given network user with knowledge of the desired URL (eg, from browsing the network for a facility with the desired host-based application available) may use the URL identified from the workstation browser to request it. To present. The network server can receive the URL request, identify the identity of the desired application program from it, and invoke the request for additional parameters, such as the appropriate authorization suggested by the user at the workstation in question before the invocation of the host-based application begins. have. On the other hand, the network server processor, upon receiving a request for the URL, before the user is granted access to the requested URL of the application program, in the browser prompting the user to provide an authorization code, a charge code, or the like. Pass an applet that requires execution.

전형적인 예는, 도 9에 도시된 바와 같은 주어진 워크스테이션에서의 사용자가, 복잡한 스크린 패널 프리젠테이션과 도 9에서의 컴퓨터(46)와 같은 메인프레임 컴퓨터 또는 호스트 상에서의 MVS 운용 시스템에서 일반적으로 실행되는 에디터인 IBM 사에 의해 제공되는 Interactive System Productivity Facility(ISPF)와 같은 전형적인 호스트 기반 애플리케이션 프로그램과 대화하기를 원할 수 있는 인터넷 환경의 상황에서 일 것이다. 도 9에서의 게이트웨이 서버(58)는 본 발명에서의 네트워크 서버로서 운용되고 프로그램된다고 가정될 것이다. 그러면, 워크스테이션(10), 네트워크 서버(58), 호스트 컴퓨터(46)에서 그의 애플리케이션 프로그램들과 함께 구현되는 다양한 기능적 프로세스들은, 본 발명의 바람직한 실시예에서 나타내는 바와 같이 충분히 상세하게 설명하기로 한다.A typical example is that a user at a given workstation as shown in FIG. 9 is typically run in a complex screen panel presentation and MVS operating system on a mainframe computer or host, such as computer 46 in FIG. 9. You might be in an Internet environment where you may want to talk to a typical host-based application program, such as the Interactive System Productivity Facility (ISPF) provided by the editor IBM. It will be assumed that gateway server 58 in FIG. 9 is operated and programmed as a network server in the present invention. The various functional processes implemented in conjunction with the application programs thereof at the workstation 10, the network server 58, and the host computer 46 will then be described in sufficient detail as indicated in the preferred embodiments of the present invention. .

본 발명의 전체적인 동작은, 인터넷 환경 내에서, 사용자에게 알려질 필요가 없는 위치, 어떤 곳에서 실행되는 주어진 애플리케이션으로의 액세스를 위해 알려진 URL을 나타내도록 사용자의 워크스테이션(10)의 프로세스(12)에서 실행되는 브라우저를 사용하여 네트워크 서버(58)로 주어진 워크스테이션(10)에서의 사용자를 연결하는 것이다. 이에 응답하여, 본 발명에 따라 그의 실행가능한 프로세스를 실행하는 서버(58)는, URL의 수신에 응답하여 사용자에게 인가 파라미터에 대한 인가 보증 요구(authorization security request) 또는 애플렛을 전달하거나, 또는, 요구된 서비스를 갖는 클라이언트(10)로 특정하고, 고유한 아이덴터티 토큰을 발생 및 할당할 수 있다. 다른 예로서, 애플렛은 검사 및 사용을 위한 파라미터로서 네트워크 서버(58)로 필요한 인가 또는 요금 코드를 공급할 것을 사용자에게 촉구할 수 있다. 이런 형상의 대화가 완료될 때, 서버(58)는 애플리케이션을 호출하자마자 개시 파라미터의 하나로서 할당된 사용자의 토큰을 원하는 애플리케이션에게 전달함으로써, 서버에게 알려진 위치에서 호스트의 MVS 시스템 상에서 요구되는(즉 아마도 워크스테이션(10)에서의 사용자로부터 보호되는) 애플리케이션을 시작할 것이다. 이에 응답하여, 원하는 애플리케이션이 시작되어, 서버(58)에 의해 수신되었던 그의 토큰에 의해 알려진 클라이언트와 논리적으로 연결되기를 요구하는 서버(58)로 다시 연결될 것이다. 그러면, 서버(58)의 메모리는, 주어진 클라이언트로부터의 요구와 애플리케이션으로부터의 인입 데이터(incoming data)를 매치하는 방법으로서 공유 논리적 통신 포트 번호를 사용하는 클라이언트와, MVS 또는 다른 호스트 운용 환경을 실행하는 애플리케이션간에 데이터를 전달하는데 또는 그 반대에 사용될 것이다.The overall operation of the present invention is in the process 12 of the user's workstation 10 to indicate, within the Internet environment, a location that does not need to be known to the user, a known URL for access to a given application running somewhere. It is to connect a user at a given workstation 10 to a network server 58 using a browser running. In response, the server 58 executing its executable process in accordance with the present invention, in response to receiving the URL, sends an authorization security request or applet for the authorization parameter to the user, or It is possible to generate and assign a unique identity token to the client 10 with the specified service. As another example, the applet may prompt the user to supply the necessary authorization or fee codes to the network server 58 as parameters for inspection and use. When this type of conversation is complete, the server 58 passes the token of the user assigned as one of the launch parameters to the desired application as soon as it is invoked, thereby requiring (i.e. presumably being required on the host's MVS system at a location known to the server). Will launch an application (protected from user at workstation 10). In response, the desired application will be launched and reconnected to server 58 which requires a logical connection with the client known by its token that was received by server 58. The memory of server 58 then executes an MVS or other host operating environment with a client using a shared logical communication port number as a way to match incoming data from an application with a request from a given client. It will be used to pass data between applications or vice versa.

바람직한 실시예의 상황에서, 애플렛은 클라이언트의 워크스테이션(10)의 브라우저에서 운용되고, 애플렛이 항상 존재하는지 또는 워크스테이션에서의 사용자로부터 서버(58)로의 요구에 응답하여 전달되는지에 무관하다고, 가정한다. 일단 애플렛이 호출되면, 클라이언트 워크스테이션에서 실행되는 바와 같은 초기 프로세스를 도 1에 나타낸다.In the context of the preferred embodiment, assume that the applet runs in the browser of the client's workstation 10 and is independent of whether the applet is always present or delivered in response to a request from the user at the workstation to the server 58. . Once the applet is invoked, the initial process as executed on the client workstation is shown in FIG.

도 1에서, 클라이언트 애플렛은 블록(101)에서의 실행을 시작하고, 블록(102)에서 도 8에 나타낸 바와 같은 워크스테이션(10)의 프로세서(12)에서 실행되는 웹 브라우저로부터 필요한 파라미터를 구한다. 파라미터는, 사용자의 아이덴터티, 적절한 인가 코드 또는 요금 코드, 또는 도 9의 서버(58)로 유효한 요구를 송신하는데 필요한 다른 파라미터를 포함할 수 있다. 일반적으로, 애플렛과 그의 파라미터를 포함하는 HTML 데이터는 서버로부터 브라우저로 전달될 것이다. 블록(103)에서 클라이언트 애플렛은, 네트워크 서버로부터 수신되는 애플렛으로부터 브라우저로 구한 원하는 애플리케이션을 위한 파라미터에 의해 자동 연결이 인가되는지, 또는 애플리케이션이 인터넷에서의 비제한적 사용을 위한 것이므로 자동 연결이 일반적으로 허여되는지를 결정한다. 박스(103)에서 자동 연결 문의가 예이면, 클라이언트 애플렛은 박스(104)에 나타낸 바와 같이 서버로 연결 요구를 송신한다. 그러나, 자동 연결 파라미터가 박스(103)에서 테스트된 바와 같이 나타나지 않으면, 박스(106)에서 추가 프롬프트가 발생되고 사용자로부터의 입력을 요구할 것이다. 예를 들어, 인가 코드, 요금 코드 등은 박스(106)에서 요구되고, 그 후 박스(105)에서 네트워크 서버로의 연결 요구로서 박스(104)에서의 프로세스 단계에 의해 전송될 수 있다. 원하는 통신 인가 토큰 또는 기대되는 정보에 대한 파라미터를 위한 추가 프롬프트를 포함하는, 네트워크 서버로부터의 응답을 블록(107)에 나타낸 바와 같이 기다린다. 박스(109)는, 연결이 서버에서 받아들여졌는지와 그 답이 아니오인지를 알기 위하여 박스(107)에서 수신된 응답을 검사하고, 사용자는 박스(112)에서 에러를 통지받고, 블록(110)에서 사용자에게 재연결 시도가 요구되는지를 묻고, 만일 그렇다면, 블록(112)에서 사용자는 재연결 테스트 블록(113)으로 입력을 제공한다. 재연결이 요구되는지에 대한 답이 아니오이면, 애플리케이션은 블록(114)에서 종료하나, 답이 아니오이면, 연결 요구를 발생하기 위하여 임의의 추가 정보가 사용자로부터 얻어지고 블록(106) 내지 블록(104)을 통하여 다시 전달된다.In FIG. 1, the client applet starts execution at block 101 and obtains the necessary parameters from a web browser running at processor 12 of workstation 10 as shown in FIG. 8 at block 102. The parameters may include the user's identity, an appropriate authorization code or fee code, or other parameters needed to send a valid request to the server 58 of FIG. 9. In general, HTML data including applets and their parameters will be passed from the server to the browser. In block 103 the client applet is generally allowed for automatic connection by parameters for the desired application obtained from the applet received from the network server by the browser, or because the application is for non-limiting use on the Internet. Decide if you can. If the automatic connection query in box 103 is YES, then the client applet sends a connection request to the server as shown in box 104. However, if the automatic connection parameter does not appear as tested in box 103, an additional prompt will be generated at box 106 and will require input from the user. For example, an authorization code, fee code, and the like may be required at box 106 and then transmitted by a process step at box 104 as a connection request from box 105 to a network server. Wait for a response from the network server as shown in block 107, including additional prompts for the desired communication authorization token or parameters for the expected information. Box 109 examines the response received at box 107 to see if the connection was accepted at the server and if the answer is no, and the user is notified of an error at box 112 and block 110. Asks the user if a reconnection attempt is required, and if so, at block 112 the user provides input to reconnection test block 113. If the answer to whether reconnection is required is no, the application exits at block 114, if no, then any additional information is obtained from the user to generate a connection request and block 106 to block 104. Is delivered again.

그러나, 만일 연결이 블록(107)에서 수신되고 블록(109)에서 테스트된 바와 같이 응답에 의해 받아들여지면, 애플리케이션 데이터는 블록(108)에서 네트워크 서버로부터 수신되고 그 데이터의 프로세싱은 루틴의 종료 또는 사용자에 의해 동작이 정지될 때까지 블록(108)에 나타낸 바와 같이 이루어지며, 그 포인트에서 사용자는 블록(110)에 나타낸 바와 같이 재연결이 요구되는지를 결정할 것이 다시 촉구되며, 블록(112)에서의 사용자는 입력을 갖고 나타낸 바와 같이 블록(113)으로 응답할 수 있다.However, if the connection is received at block 107 and accepted by a response as tested at block 109, the application data is received from the network server at block 108 and processing of that data is terminated at the end of the routine or As shown in block 108 until the operation is stopped by the user, at which point the user is prompted again to determine if reconnection is required as shown in block 110, and at block 112 The user at may respond with block 113 as indicated with the input.

이전의 모든 기능은 바람직하게는, 사용자가 있는 클라이언트 워크스테이션(10)에 제공되고 뿐만 아니라 요구되면 도 9에 나타낸 바와 같이 네트워크 서버(58)에 의해 수행될 수 있는 기계 실행가능 프로그램 프로세스 단계에서 실행된다. 정상적으로, 인터넷 클라이언트 워크스테이션(10)에서의 전형적인 브라우저 프로그램과 함께 사용하기 위해, 워크스테이션과 서버간에 불필요하고 시간 소모적인 통신 트래픽을 방지하기 위하여 워크스테이션에서의 실행을 위해 도 1에 나타낸 바와 같이 이들 기능을 제공하는 것이 보다 효과적일 것이다.All previous functions are preferably executed in a machine executable program process step that is provided to the client workstation 10 with the user as well as can be performed by the network server 58 as shown in FIG. 9 if required. do. Normally, for use with a typical browser program at the Internet client workstation 10, these are shown in FIG. 1 for execution at the workstation to prevent unnecessary and time consuming communication traffic between the workstation and the server. Providing a function would be more effective.

도 2를 참조하면, 기계 실행가능 프로그램 단계를 실행함으로써 그의 프로세서 내에서 네트워크 서버(58)에서 실행되는 동작의 일반적이고 개략적인 플로우가 도시되어 있다. 서버는 블록(115)에서 시작되고, 블록(116)에 나타낸 바와 같이 서버에 동작을 셋업하기 위해 환경설정 데이터(configuration data)를 제공하기 위해 저장 장치(storage)(117)에서의 환경설정 파일(configuration file)로부터 환경설정 데이터를 읽는다. 블록(118)에서, 클라이언트 스레드(thread) 또는 프로세스는, 파일(117)로부터 환경설정 데이터에 따라 다양한 이용가능한 호스트 애플리케이션 프로그램 등에 연결하기 위해 인입 클라이언트(incoming client)로부터의 교구를 관리하기 위해 서버에서 시작된다. 블록(119)에서, 서버는, 서버와 요구된 호스트 애플리케이션간의 통신을 관리하기 위해 도 3에 매우 상세히 나타낸 바와 같이, 도 5에 매우 상세히 도시된 애플리케이션 프로세싱 스레드 또는 프로세스를 시작한다. 블록(120)에서 네트워크 서버는, 시스템 상태를 표시하고, 블록(121)에 나타낸 바와 같이 장래에 어떤 포인트에서 정지될 때까지 요구 또는 사용자 대화를 처리할 준비가 되어 있다.Referring to FIG. 2, a general and schematic flow of operations executed in network server 58 in its processor by executing machine executable program steps is shown. The server begins at block 115 and includes a configuration file in storage 117 to provide configuration data for setting up operations to the server as shown in block 116. Read configuration data from configuration file. In block 118, the client thread or process is at the server to manage the teachings from the incoming client to connect to various available host application programs or the like according to the configuration data from the file 117. Begins. In block 119, the server starts an application processing thread or process, shown in greater detail in FIG. 5, as shown in greater detail in FIG. 3 to manage communication between the server and the required host application. In block 120, the network server displays the system state and is ready to process the request or user conversation until it is stopped at some point in the future, as shown in block 121.

도 2에 나타낸 바와 같이 네트워크 서버 프로세스의 메인 스레드는 다음 특정 기능을 수행한다. 먼저 그의 환경설정 파일(117)로부터 일반적인 서버 정보를 구한다. 환경설정 파일은, 애플리케이션 요구를 수신하기 위한 애플리케이션 포트; 클라이언트를 기다리는 임의의 애플리케이션을 위한 애플리케이션 호출 최대 대기 타임아웃 파라미터; 한번에 클라이언트를 기다릴 수 있는 어느 특정 애플리케이션 이름을 위한 기정수(default number)의 애플리케이션을 위한 애플리케이션 최대 대기 시간 기정수(application maximum waiting time default number)와, 애플리케이션의 호출에 요구되는 애플리케이션 특정 정보의 위치인 애플리케이션 파일; 네트워크 서버를 동작시키는 시스템 특정 정보의 위치인 시스템 파일과, 애플리케이션으로의 연결을 기다리는 클라이언트를 위한 최대 타임아웃을 위한 워크스테이션 최대 타임아웃 파라미터뿐만 아니라 클라이언트 요구를 위한 워크스테이션 포트의 식별을 포함한다. 그것은 또한 서버가 액세스를 지원하는 각 애플리케이션을 위한 특정 정보를 얻을 수 있다. 애플리케이션 특정 애플리케이션 정보는, 임의의 애플리케이션 디폴트, (시작될 필요가 있다면) 애플리케이션을 실행하기 위한 시스템 디폴트, 임의의 한 시간에 클라이언트 입력을 기다릴 수 있는 주어진 이름을 갖고 애플리케이션에 대한 연결의 최대 대기 수를 포함한다. 메인 스레드는 또한, 만일 시스템 이름이 서로 다르다면 요구되고 있는 시스템을 위한 시스템 어드레스를 포함하는 각 시스템을 위한 시스템 특정 정보를 얻을 수 있다.As shown in Figure 2, the main thread of the network server process performs the following specific functions. First, general server information is obtained from its configuration file 117. The configuration file includes an application port for receiving an application request; Application call maximum wait timeout parameter for any application waiting for a client; The application maximum waiting time default number for an application of a default number for a particular application name that can wait for a client at one time, and an application file that is the location of application-specific information required for the application invocation. ; It includes the system file, which is the location of system specific information that runs the network server, and the workstation maximum timeout parameter for the maximum timeout for clients waiting for a connection to the application, as well as the identification of the workstation port for client requests. It can also get specific information for each application that the server supports access to. Application-specific application information includes any application default, the system default to run the application (if it needs to be started), and the maximum number of waits for a connection to the application with a given name that can wait for client input at any one time. do. The main thread can also obtain system specific information for each system, including the system address for the system being requested if the system names are different.

도 3에서, 클라이언트 워크스테이션으로부터의 인입 요구를 설정하고 관리하기 위해 네트워크 서버 프로세서가 실행하는 동작 또는 서브프로세스가 도시되어 있다. 클라이언트 스레드 또는 동작 프로세스는 블록(123)에서 클라이언트 연결 요구를 기다리기를 호출함으로써 블록(122)에서 시작한다. 연결 요구가 클라이언트 애플렛으로부터 수신될 때, 그것은 요구되고 있는 애플리케이션에 관한 정보를 추출하기 위해 블록(124)에서 검사되고, 블록(125)에서 애플리케이션 대기 연결 테이블(application awaiting connection table)(126)의 내용을 검사함으로써 현재 요구된 애플리케이션이 연결되어 있는지를 결정하는 테스트가 이루어진다. 애플리케이션이 현재 연결되어 있다는 대답이면, 도 4에 나타낸 바와 같이 클라이언트 통신 스레드는 블록(127)에서 개시되고 서버에서의 클라이언트 스레드는 추가 클라이언트 연결 요구를 기다리기 위해 블록(123)으로 리턴한다. 애플리케이션이 블록(126)에서 애플리케이션 대기 연결 테이블의 내용으로부터 블록(125)에서 결정된 바와 같이 현재 이용할 수 없으면, 애플리케이션은 블록(126)에 나타낸 바와 같이 개시되거나 또는 그렇지 않게 된다. 사용자에 의해 시작하는 것이 요구되지 않았던 바와 같이 이 시간에 애플리케이션이 시작되지 않으면, 블록(126)은 블록(127)에서 클라이언트 통신 스레드의 시작을 지시하고 블록(123)에서 추가 클라이언트 통신을 기다린다. 요구된 애플리케이션이 블록(126)에서 결정된 바와 같이 시작되는 것이 요구되었으면, 요구된 메인프레임 또는 호스트 애플리케이션을 위한 작업 제어 언어가 서버에서의 작업 제어 언어 파일(128)로부터 얻어지고 사용자 식별, 토큰, 메인프레임 애플리케이션으로부터의 응답들이 주어져야 하는 서버 포트 번호로 개별화(customize)되고, 작업 제어 언어 로드가 블록(130)에서 호스트 상에 탑재되어 있는 작업 실행 시스템에 제출되고 거기서 블록(131)에 나타낸 바와 같이 요구된 애플리케이션의 프로세싱을 호스트가 시작한다.In FIG. 3, the operations or subprocesses that the network server processor executes to establish and manage incoming requests from client workstations are shown. The client thread or operational process begins at block 122 by invoking wait for a client connection request at block 123. When a connection request is received from a client applet, it is checked at block 124 to extract information about the application being requested, and at block 125 the contents of the application awaiting connection table 126. A test is made to determine if the currently requested application is connected by checking. If the answer is that the application is currently connected, then the client communication thread starts at block 127 and the client thread at the server returns to block 123 to wait for further client connection requests, as shown in FIG. If the application is not currently available as determined at block 125 from the contents of the application wait connection table at block 126, then the application is started or not as shown at block 126. If the application is not started at this time as it was not required to be started by the user, block 126 indicates the start of a client communication thread at block 127 and waits for further client communication at block 123. If the requested application was required to be started as determined in block 126, a job control language for the requested mainframe or host application is obtained from the job control language file 128 on the server and the user identification, token, main Responses from the frame application are customized to the server port number to be given, and the job control language load is submitted to the job execution system mounted on the host at block 130 and requested there as shown in block 131. The host starts processing the loaded application.

도 3에 나타낸 바와 같은 서버 클라이언트 스레드는, 클라이언트가 클라이언트 포트에 연결하기를 기다리고, (시퀀셜 번호 할당하기, 클라이언트의 애플리케이션 요구 등에서 CRC 나머지 발생하기 등과 같은 임의의 중재 방식으로 발생될 수 있는) 고유 연결 토큰을 클라이언트에게 할당하는 기능을 제공한다. 그것은 또한, 원하는 애플리케이션의 이름, 애플리케이션이 시작하기를 기다리는 최대 시간, 애플리케이션이 이미 연결되어 있지 않으면 서버에 의해 시작되어야 함을 나타내는 플래그, 시작될 애플리케이션이 있는 장소인 시스템의 어드레스와, 사용자 ID와 패스워드가 필요하다면 이들을 포함하는 임의의 애플리케이션-요구 정보 같은 선택적인 정보(optional information)를 포함하는 클라이언트로부터 연결 정보를 얻는다. 그것은 또한, 애플리케이션이 이용불가능하고, 애플리케이션의 시작이 요구되고 있음을 플래그가 나타내는지를 결정하고, 애플리케이션을 시작하기 위해 특정 시스템으로 요구를 전송할 것이다.The server client thread as shown in Figure 3 waits for the client to connect to the client port, and a unique connection (which can be generated in any arbitration manner, such as assigning sequential numbers, generating CRC remainders in the client's application request, etc.). Provides the ability to assign tokens to clients. It also contains the name of the desired application, the maximum time to wait for the application to start, a flag indicating that the application should be started if it is not already connected, the address of the system where the application is to be started, the user ID and password, If necessary, connection information is obtained from a client that includes optional information such as any application-request information including them. It will also determine if the flag indicates that the application is unavailable and the application is being started, and will send a request to the particular system to start the application.

도 4에서, 클라이언트 워크스테이션과의 통신을 관리하기 위한 네트워크 서버에서의 서브프로세스가 개략적으로 도시되어 있다. 클라이언트 통신 프로세스 스레드는 블록(132)에서 시작되고, 애플리케이션 대기 연결 테이블(126)의 내용을 검사함으로써 요구되고 있는 애플리케이션을 현재 이용할 수 있는지에 관해서 박스(133)에서 결정한다. 애플리케이션을 현재 이용할 수 없다면, 타임아웃이 종료했는지에 대한 검사가 블록(124)에서 이루어지고, 만일 이용할 수 없다면, 대기의 시간 증가가 블록(135)에서 설정되고, 거기서 이용가능성에 대한 검사를 위한 타임아웃이 종료하거나 이용가능하게 될 때까지 프로세스가 블록(133)으로 돌아가 루프를 만들며, 그래서 블록(134)의 출력은 박스(138)에 나타낸 바와 같이 애플리케이션이 이용불가능함을 클라이언트에게 통지하고, 블록(140)에서 클라이언트 애플렛에게 통지됨과 함께 블록(139)에서 연결 끊기 및 이 스레드의 이 동작의 종료가 수행된다. 이러한 서브프로세스는 각각의 별개의 액티브 클라이언트를 위한 서버에서 반복된다.In FIG. 4, a subprocess in a network server for managing communication with a client workstation is schematically illustrated. The client communication process thread starts at block 132 and determines in box 133 as to whether the application being requested is currently available by examining the contents of the application wait connection table 126. If the application is not currently available, a check is made at block 124 to see if the timeout has ended, and if not available, an increase in wait time is set at block 135, where there is a check for availability. The process loops back to block 133 until the timeout ends or becomes available, so the output of block 134 notifies the client that the application is unavailable as shown in box 138, The client applet is notified at block 140 and the disconnection at block 139 and termination of this operation of this thread is performed. This subprocess is repeated at the server for each separate active client.

그러나, 애플리케이션이 블록(133)에서 결정된 바와 같이 이용가능하면, 블록(144)에서 애플리케이션 통신 스레드로 그리고 블록(140)에서 클라이언트 애플렛으로 연결 통지를 전달함으로써 블록(136)에 나타낸 바와 같이 서버에 설립된 연결이 클라이언트와 애플리케이션에 통지되고, 그래서 서버는 블록(141)에 나타낸 바와 같이 연결끊기가 요구되는지를 결정하기 위하여 수신된 그대로 클라이언트로부터 데이터 읽기를 시작한다. 대답이 아니오이면, 클라이언트로부터 수신된 데이터는, 블록(137)으로 리턴함으로써 도시된 바와 같이 지속적인 루핑 프로세스로 호스트 컴퓨터에서 애플리케이션을 위한 블록(146)으로의 데이터로서 블록(145)에서 애플리케이션으로 송신된다. 클라이언트 애플렛에 의해 최종적으로 연결끊기가 요구되고 블록(141)에서 연결끊기가 검출될 때, 블록(142)에 나타낸 바와 같이 애플리케이션이 여전히 연결되어 있는지에 관한 테스트가 이루어지고, 만일 대답이 예이면, 도 6에 나타낸 바와 같이 서버에서 실행되는 애플리케이션 통신 스레드로의 통지가 블록(143, 144)에 나타낸 바와 같이 발생되고, 클라이언트와의 통신을 위한 동작의 스레드는 블록(139)에서 종료한다. 테스트가 이루어질 때 블록(142)에서 애플리케이션이 아직 연결되어 있지 않은 경우가 발생하면, 스레드는 단순히 블록(139)에서 종료하고 애플리케이션은 통지될 필요가 없다.However, if the application is available as determined at block 133, it is established on the server as indicated at block 136 by forwarding the connection notification to the application communication thread at block 144 and to the client applet at block 140. The established connection is notified to the client and the application, so the server starts reading data from the client as it is received to determine if a disconnection is required, as shown in block 141. If the answer is no, the data received from the client is sent to the application at block 145 as data from the host computer to block 146 for the application in a continuous looping process as shown by returning to block 137. . When a disconnection is finally requested by the client applet and a disconnection is detected at block 141, a test is made as to block 142 to see if the application is still connected, and if the answer is yes, As shown in FIG. 6, a notification to the application communication thread running on the server is generated as shown in blocks 143 and 144, and the thread of operation for communication with the client ends at block 139. If a test occurs at block 142 where the application is not yet connected, the thread simply terminates at block 139 and the application need not be notified.

도 5를 참조하면, 애플리케이션과의 통신을 관리하기 위해 서버에서의 동작의 서브프로세스 또는 스레드가 도시되어 있다. 서버의 애플리케이션 스레드는 블록(147)에서 시작되고, 블록(148)에서 애플리케이션과 호스트 시스템으로부터의 연결을 기다린다. 애플리케이션 블록(149)으로부터 들어오는 연결 요구가 검출되고, 블록(150)에서 애플리케이션으로부터의 연결 요구에서의 정보가 추출되어 블록(126)에서 애플리케이션 테이블을 갱신한다. 요구가 블록(151)으로 전달되어 이 애플리케이션을 위한 환경설정 데이터에 따라 허여되는 연결의 최대 수가 도달되었는지를 결정하고, 만일 대답이 예이면, 애플리케이션은 블록(153)에 나타낸 바와 같이 연결을 끊기 위하여 통지되어야만 하나, 만일 대답이 아니오이면, 파일(126)에서 애플리케이션 대기 연결 테이블에 애플리케이션을 부가하고, 애플리케이션 통신 스레드(도 6)가 블록(152)의 동작에 의해 나타낸 바와 같이 시작된다. 이런 식으로, 서비스를 위해 추가 연결을 위한 기능을 그들이 여전히 갖고 있는 한 이미 시작된 이용가능한 애플리케이션은 애플리케이션 대기 연결 테이블에 부가되며, 클라이언트 통신 관리 스레드와 클라이언트의 통신 스레드 또는 서브프로세스에 대한 서버를 위한 도 3 및 도 4에 나타낸 바와 같이 이 정보가 사용된다.Referring to FIG. 5, a subprocess or thread of operation at a server is shown to manage communication with an application. The application thread of the server begins at block 147 and waits for a connection from the application and host system at block 148. An incoming connection request from application block 149 is detected, and information in the connection request from the application is extracted at block 150 to update the application table at block 126. The request is passed to block 151 to determine if the maximum number of connections allowed in accordance with the configuration data for this application has been reached, and if the answer is yes, then the application may terminate the connection as indicated in block 153. It should be noticed, but if the answer is no, add the application to the application wait connection table in file 126, and the application communication thread (FIG. 6) is started as indicated by the operation of block 152. In this way, available applications that have already been started are added to the application standby connection table, as long as they still have the functionality for additional connections for the service, and the server for the client communication management thread and the server for the client's communication thread or subprocess. This information is used as shown in 3 and 4.

도 6을 참조하면, 애플리케이션으로부터 서버를 통해 클라이언트로의 통신을 위한 통신 서브프로세스 또는 스레드가 도시되어 있다. 이 프로세스는 또한 서버에서 실행되고 통신 스레드가 시작되는 블록(154)에서 시작한다. 블록(155)에서 서버는, 박스(136)로부터 수신된 통지로부터 클라이언트가 연결되어 있는지를 결정하고, 만일 대답이 예이면, 연결을 애플리케이션에게 통지하고 애플리케이션 연결 대기 테이블로부터 식별된 애플리케이션을 위한 하나의 위치 홀더를 제거하여, 그에 따라 하나씩 그 애플리케이션에 이용가능한 연결의 수를 감소시킨다. 블록(158)에서 애플리케이션으로 블록(156)으로부터 제공되는 통지에 나타낸 바와 같이 토큰을 전달함으로써 클라이언트의 연결이 애플리케이션에게 통지된다. 이에 이어서 애플리케이션에 의해 연결끊기가 지시되었는지를 결정하기 위하여 블록(159)에서 검사되는 블록(157)에서 애플리케이션으로부터 들어오는 임의의 데이터를 읽는다. 연결끊기가 애플리케이션에 의해 지시된 적이 없으면, 수신된 임의의 데이터는 연속적인 방식으로 블록(165)으로 전달되는 데이터와 같이 블록(164)에서 클라이언트에게 송신된다. 블록(159)에서 호스트에서 애플리케이션으로부터의 연결끊기 명령이 최종적으로 검출될 때, 블록(160)에서 클라이언트가 여전히 연결되어 있는지에 관한 결정이 이루어진다. 만일 대답이 예이면, 블록(161)에서 호스트 애플리케이션으로부터 연결끊기가 블록(163)에 나타낸 바와 같이 도 4의 클라이언트 통신 스레드로 통지되고, 통신 스레드의 실행이 블록(162)에서 종료된다. 블록(160)에서 테스트가 수행될 때 클라이언트가 여전히 연결되어 있지 않으면, 스레드는 단순히 종료하고 클라이언트에게는 어떠한 통지도 불필요하다.Referring to FIG. 6, there is shown a communication subprocess or thread for communication from an application to a client through a server. This process also begins at block 154 where it runs on the server and the communication thread begins. In block 155 the server determines from the notification received from the box 136 whether the client is connected, and if the answer is yes, notifies the application of the connection and one for the application identified from the application connection waiting table. By removing the position holder, one by one reduces the number of connections available for that application. The client's connection is notified to the application by passing the token as indicated in the notification provided from block 156 to the application at block 158. This is followed by reading any data coming from the application at block 157, which is checked at block 159 to determine if the connection is indicated by the application. If the disconnect has never been instructed by the application, any data received is sent to the client at block 164 as the data is passed to block 165 in a continuous manner. When a disconnect command from the application at the host is finally detected at block 159, a determination is made at block 160 as to whether the client is still connected. If the answer is yes, disconnection from the host application at block 161 is notified to the client communication thread of FIG. 4 as shown in block 163, and execution of the communication thread ends at block 162. If the client is still not connected when the test is performed at block 160, the thread simply terminates and no notification is needed to the client.

블록(155)으로 돌아가서, 만일 클라이언트가 연결되어 있음이 검출되지 않으면, 타임아웃 종료가 도달되거나 또는 클라이언트 연결 통지가 수신될 때까지, 블록(166)에서 클라이언트 연결 통지를 기다리는 시간 증가가 실행된다. 만일 블록(167)에 나타낸 바와 같이 타임아웃 종료가 성취되면, 호스트에서의 애플리케이션은 연결끊기가 통지되고, 이 연결은 취해지거나 사용되지 않으므로 테이블(126)에서 애플리케이션 대기 연결의 테이블로부터 위치 홀더가 제거되어야 한다.Returning to block 155, if it is not detected that the client is connected, an increase in time waiting for the client connection notification is executed in block 166 until the timeout end is reached or a client connection notification is received. If the timeout termination is achieved, as indicated by block 167, the application on the host is notified of the disconnection, and the location holder is removed from the table of application standby connections in table 126 because this connection is not taken or used. Should be.

도 7을 참조하면, 호스트 애플리케이션 자체에서 서브프로세서로서 실행되는 동작이 도시되어 있다. 만일 블록(169)에 나타낸 바와 같이 애플리케이션이 시작되면, 블록(170)에 나타낸 바와 같이 서버로부터 파라미터와 토큰을 시작하고 얻기 위하여, 도 3의 블록(129)에서 실행된 JCL로 변형을 통해서 애플리케이션이 지시를 받는다. 만일 토큰과 파라미터가 애플리케이션의 요구에 맞으면, 서버로부터 수신된 토큰과 함께 서버(172)로 전달하는 요구와 함께 블록(171)에 나타낸 바와 같이 서버로 연결 요구를 송신하고, 블록(173)에서 응답을 기다린다. 연결이 블록(174)의 테스트에 나타낸 바와 같이 서버에서 받아들여졌으면, 블록(176)에서의 테스트에 의해 나타낸 바와 같이 클라이언트로부터의 요구가 더 이상 검출되지 않을 때까지 블록(175)에 나타낸 바와 같이 애플리케이션은 데이터를 프로세싱하기 시작하고, 그 후에 최종 클린업(cleanup) 즉 파라미터와 최종 데이터 환경설정의 저장 장치가 블록(177)에서 실행되고 애플리케이션은 블록(178)에서 이 업무의 프로세싱을 종료한다.Referring to FIG. 7, an operation executed as a subprocessor in the host application itself is shown. If the application is started as shown in block 169, the application may be transformed into a JCL executed in block 129 of FIG. 3 to start and obtain parameters and tokens from the server as shown in block 170. Receive instructions. If the token and the parameters meet the application's request, send a connection request to the server as shown in block 171 with a request to pass to the server 172 with the token received from the server, and respond in block 173. Wait. If the connection was accepted at the server as shown in the test at block 174, then as shown at block 175 until no more requests from the client are detected as indicated by the test at block 176. The application begins to process data, after which a final cleanup, i.e. storage of parameters and final data preferences, is executed at block 177 and the application terminates processing of this task at block 178.

본 발명은 상기 실시예에 한정되지 않으며, 많은 변형이 본 발명의 사상 내에서 당 분야에서 통상의 지식을 가진 자에 의하여 가능함은 물론이다.The present invention is not limited to the above embodiments, and many variations are possible by those skilled in the art within the spirit of the present invention.

기재되어 있는 것은 클라이언트 워크스테이션에 설립된 서브프로세스, 네트워크 서버에 설치된 다양한 프로세스 스레드와 서브프로세스, 호스트 컴퓨터에 설치되거나 또는 호스트 시스템 내에 상주하고 그 안으로 호출될 수 있는 모든 애플리케이션으로 인가되는 서브프로세스 또는 스레드의 호출을 필요로 함이 관찰된다. 이 기술분야의 숙련자는, 호스트에서 그리고 클라이언트에서의 이들 서브프로세서들이, 각각, 서버에서 동등하게 잘 실행될 수 있으나, 클라이언트와 서버 그리고 호스트와 서버간에 추가적인 통신 플로우를 발생한다. 그리하여, 바람직한 실시예는, 인터넷을 통하여 준비된 정보를 전후로 전달하는데 불필요한 플로우와 지연을 감소시키기 위하여 설명한 바와 같이 이들 프로세싱 업무를 분산한다. 그것은 또한, 식별된 애플리케이션으로의 액세스를 위해 적절한 인가 파라미터 또는 데이터가 서버에서 요구되므로, 클라이언트와 애플리케이션의 어느 한쪽 또는 양쪽에 설치될 수 있는 파이어월을 통해서 호스트 상에서 클라이언트 및/또는 애플리케이션의 적절한 고립이 도시된 바와 같이 본 발명의 실시예에서 쉽게 이루어질 수 있으며, 물리적 위치는 단지 서버에게만 알려질 뿐이고 물리적 위치를 나타내지 않는 토큰에 의해서만 알려진 클라이언트와 주어진 포트에서 서버와 통신하기 위해 애플리케이션이 단지 알려지므로, 토큰의 사용에 의해 애플리케이션으로부터 클라이언트의 위치를 위한 아이덴터티가 보호됨을 또한 주목하여야 한다.Listed are subprocesses established on client workstations, various process threads and subprocesses installed on network servers, subprocesses or threads authorized to any application installed on or hosted on a host computer or that can be called into. It is observed that it requires a call of. Those skilled in the art, although these subprocessors at the host and at the client, can each run equally well at the server, they create additional communication flows between the client and server and between the host and server. Thus, the preferred embodiment distributes these processing tasks as described to reduce unnecessary flows and delays in conveying the prepared information back and forth over the Internet. It also requires proper authorization of the client and / or application on the host via a firewall that can be installed on either or both of the client and the application, as appropriate authorization parameters or data are required at the server for access to the identified application. As can be seen in the embodiments of the present invention, the physical location is known only to the server and the application is only known to communicate with the server on a given port with the client known only by the token that does not represent the physical location. It should also be noted that the identity for the client's location from the application is protected by use.

그러므로, 본 발명과 그의 바람직한 실시예에 관련하여 기재한 사항이, 우리가 처음이라고 믿는 바와 같이, 호스트 컴퓨터 시스템에 상주하는 주어진 애플리케이션 프로그램의 식별된 URL 위치에 대한 액세스를 취급하기 위하여 필수 서브프로세스를 갖춘 적절한 서버가 위치되는 것만이 임의의 인터넷 워크스테이션 또는 사용자로부터의 액세스를 용이하게 하기 위한 진실로 보편적으로 적용가능한 방법 및 시스템을 달성하는, 인터넷 베이스와 월드 와이드 웹 대화식 호스트 기반 애플리케이션 통신 및 액세스 방법의 기술분야에서의 진실로 유리한 개량을 나타냄을, 이 기술분야에서의 숙련자가 알 수 있을 것이다.Therefore, the matters described in connection with the present invention and its preferred embodiments, as we believe for the first time, provide a necessary subprocess to handle access to the identified URL location of a given application program residing on the host computer system. Of the Internet-based and world wide web interactive host-based application communication and access methods, where only the appropriate server equipped is achieved a truly universally applicable method and system for facilitating access from any Internet workstation or user. It will be appreciated by those skilled in the art that this represents a truly beneficial improvement in the art.

그런 이유로, 특허에 의해 보호되기를 희망하는 것을, 제한이 아니라 단지 예로서 다음에 이어지는 특허청구범위에 나타낸다.For that reason, what is desired to be protected by a patent is shown by the claims that follow, by way of example only, and not by way of limitation.

Claims (38)

인터넷 통신 설비를 갖춘 서버를 통해서 클라이언트 프로세서를 갖춘 원격 브라우저로부터 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는, 다음과 같은 인터넷 서버 프로세서에서 수행되는 컴퓨터 실행가능 프로그램 단계들을 포함하는 방법에 있어서, 호스트 애플리케이션으로의 액세스를 위한 클라이언트 워크스테이션 요구를 수신하는 단계와, 상기 호스트 애플리케이션이 사용가능한지를 결정하는 단계와, 상기 서버가 상기 클라이언트 워크스테이션으로부터 클라이언트 데이터를 수신하고 이를 상기 호스트 애플리케이션으로 제공하고 상기 호스트 애플리케이션으로부터 애플리케이션 데이터를 수신하고 이를 상기 클라이언트 워크스테이션으로 제공하는 클라이언트-호스트 통신 프로세스를 개시하는 단계를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.A method comprising: computer executable program steps performed on an Internet server processor that invokes a host computer system resident application program from a remote browser with a client processor through a server with an Internet communication facility, the method comprising: Receiving a client workstation request for access, determining if the host application is available, the server receives client data from the client workstation and provides it to the host application and an application from the host application Initiating a client-host communication process that receives data and provides it to the client workstation; How to call a computer system resident application program. 제 1 항에 있어서, 상기 결정하는 단계가 상기 호스트 애플리케이션이 현재 이용불가능함을 나타낼 때, 상기 애플리케이션이 상기 호스트 컴퓨터에서 시작되어야만 하는지를 결정하고 상기 애플리케이션이 시작되어야 하면, 상기 서버에서 클라이언트의 식별자 및 서버 포트 번호로 상기 애플리케이션을 위한 애플리케이션 호출 파일을 커스토마이즈(customize)하는, 상기 서버 프로세서에서 수행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.The server of claim 1, wherein when the determining indicates that the host application is currently unavailable, the server determines if the application should be started on the host computer and if the application should be started, the server's identifier and server at the server. And executing at the server processor to customize an application call file for the application by a port number. 제 2 항에 있어서, 상기 호스트 프로세서 애플리케이션의 상기 애플리케이션 실행 제어 언어 파일을 액세스하고 상기 서버 프로세서에서 호출을 위해 상기 파일을 변형하는, 상기 서버 프로세서에서 수행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.3. The host computer system resident application program of claim 2, further comprising the step performed at the server processor to access the application execution control language file of the host processor application and modify the file for invocation at the server processor. How to call it. 제 1 항에 있어서, 상기 개시하는 단계는 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간에 상기 서버에 논리적 연결이 생성됨을 상기 호스트 애플리케이션과 상기 클라이언트에게 통지하는 단계를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.2. The method of claim 1, wherein the initiating comprises informing the host application and the client that a logical connection is made to the server between the host processor application and the client. . 제 2 항에 있어서, 상기 개시하는 단계는 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간에 상기 서버에 논리적 연결이 생성됨을 상기 호스트 애플리케이션과 상기 클라이언트에게 통지하는 단계를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.3. The method of claim 2, wherein the initiating comprises informing the host application and the client that a logical connection is made to the server between the host processor application and the client. . 제 3 항에 있어서, 상기 개시하는 단계는 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간에 상기 서버에 논리적 연결이 생성됨을 상기 호스트 애플리케이션과 상기 클라이언트에게 통지하는 단계를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.4. The method of claim 3, wherein the initiating comprises informing the host application and the client that a logical connection is made to the server between the host processor application and the client. . 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 통지하는 단계는 상기 서버 프로세서에 의해 제공되는 고유한 토큰을 통해서 상기 호스트에 대한 상기 클라이언트를 식별하는 단계를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.7. A host computer system resident application program according to any preceding claim, wherein said notifying comprises identifying the client to the host through a unique token provided by the server processor. How to call it. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 클라이언트로부터의 상기 데이터에서 연결끊기 명령을 검출하고 상기 호스트 애플리케이션으로 통지하고 상기 클라이언트와 상기 호스트 애플리케이션간에 통신을 종료하는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.7. The host of any preceding claim, further comprising detecting a disconnect command in the data from the client and notifying the host application and terminating communication between the client and the host application. How to call a computer system resident application program. 제 7 항에 있어서, 상기 클라이언트로부터의 상기 데이터에서 연결끊기 명령을 검출하고 상기 호스트 애플리케이션에게 통지하고 상기 클라이언트와 상기 호스트 애플리케이션간의 통신을 종료하는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.8. The method of claim 7, further comprising detecting a disconnect command in the data from the client and notifying the host application and terminating communication between the client and the host application. Way. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 호스트 애플리케이션에 대한 상기 클라이언트는, 양자가 상기 서버 프로세서에서 실행되는 클라이언트 투 서버 통신 서브프로세스와 애플리케이션 투 서버 통신 서브프로세스를 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.7. The host computer system of any preceding claim, wherein the client for the host application comprises a client to server communication subprocess and an application to server communication subprocess, both of which run on the server processor. How to call a resident application program. 제 1 항 내지 제 6 항 중 어느 한 항에 있어서, 상기 서버로부터 호출 파라미터와 네트워크 식별을 얻고, 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하는 상기 호스트 애플리케이션 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.7. The method of any one of claims 1 to 6, further comprising the step of executing at said host application processor to obtain a call parameter and a network identification from said server and send a connection request to said server using said token as an identifier. A method of invoking a host computer system resident application program comprising a. 제 7 항에 있어서, 상기 서버로부터 호출 파라미터와 네트워크 식별을 얻고, 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하는 상기 호스트 애플리케이션 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.8. The host computer system resident application program of claim 7, further comprising the step of executing in said host application processor to obtain a call parameter and a network identification from said server and to send a connection request to said server using said token as an identifier. How to call it. 제 8 항에 있어서, 상기 서버로부터 호출 파라미터와 네트워크 식별을 얻고, 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하는 상기 호스트 애플리케이션 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.9. The host computer system resident application program of claim 8, further comprising the step of executing in said host application processor to obtain a call parameter and a network identification from said server and send a connection request to said server using said token as an identifier. How to call it. 제 9 항에 있어서, 상기 서버로부터 호출 파라미터와 네트워크 식별을 얻고, 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하는 상기 호스트 애플리케이션 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.10. The host computer system resident application program of claim 9, further comprising the step of executing in said host application processor to obtain a call parameter and a network identification from said server and to send a connection request to said server using said token as an identifier. How to call it. 제 10 항에 있어서, 상기 서버로부터 호출 파라미터와 네트워크 식별을 얻고, 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하는 상기 호스트 애플리케이션 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.12. The host computer system resident application program of claim 10, further comprising the step of executing in said host application processor to obtain a call parameter and a network identification from said server and send a connection request to said server using said token as an identifier. How to call it. 제 1 항 내지 제 6 항과 제 10 항 내지 제 15 항 중 어느 한 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 클라이언트 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.16. The method according to any one of claims 1 to 6 and 10 to 15, wherein the desired host application parameters are obtained from the web browser of the client together with some information requested from the user and a connection request is made to the server. Transmitting a host computer system resident application program further comprising executing at a client processor. 제 7 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 클라이언트 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.8. The host computer system of claim 7, further comprising executing at a client processor, obtaining desired host application parameters from the web browser of the client with any information requested by the user and sending a connection request to the server. How to call a resident application program. 제 8 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 클라이언트 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.9. The host computer system of claim 8, further comprising executing at a client processor, obtaining desired host application parameters from the web browser of the client with any information requested by the user and sending a connection request to the server. How to call a resident application program. 제 9 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 클라이언트 프로세서에서 실행되는 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 방법.10. The host computer system of claim 9, further comprising executing at a client processor, obtaining desired host application parameters from the web browser of the client with any information requested by the user and sending a connection request to the server. How to call a resident application program. 인터넷 통신 설비를 갖춘 서버를 통하여 클라이언트 프로세서를 갖춘 원격 브라우저로부터 호스트 컴퓨터 상주 애플리케이션 프로그램을 호출하는 장치에 있어서, 호스트 애플리케이션을 액세스하기 위한 클라이언트 워크스테이션 요구를 수신하는 단계와,An apparatus for invoking a host computer resident application program from a remote browser with a client processor via a server with an internet communication facility, the apparatus comprising: receiving a client workstation request to access the host application; 상기 호스트 애플리케이션이 사용가능한지를 결정하는 단계와, 상기 서버가 상기 클라이언트 워크스테이션으로부터 클라이언트 데이터를 수신하고 이를 상기 호스트 애플리케이션으로 제공하고 상기 호스트 애플리케이션으로부터 애플리케이션 데이터를 수신하여 이를 상기 클라이언트 워크스테이션으로 제공하는 클라이언트 투 호스트 통신 프로세스를 개시하는 단계를 포함하고, 상기 단계들이 매체 상에 기록되어 있고 인터넷 서버 프로세서에서 실행가능한 기계-판독가능 프로그램 단계인 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.Determining whether the host application is available, and wherein the server receives client data from the client workstation and provides it to the host application and receives application data from the host application and provides it to the client workstation Initiating a two-host communication process, wherein said steps are machine-readable program steps recorded on a medium and executable in an internet server processor. 제 20 항에 있어서, 상기 결정하는 단계가 상기 호스트 애플리케이션이 현재 이용불가능함을 나타낼 때, 상기 애플리케이션이 상기 호스트 컴퓨터에서 시작되어야 하는지를 결정하고, 상기 애플리케이션이 시작되어야 한다면, 상기 서버에서 클라이언트의 식별자와 서버 포트 번호를 가지고 상기 애플리케이션에 대한 애플리케이션 호출 파일을 커스토마이즈(customize)하는, 상기 서버 프로세서에서 실행가능한 기계-판독가능 프로그램 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.21. The method of claim 20, wherein when the determining indicates that the host application is currently unavailable, determine whether the application should be started on the host computer, and if the application should be started, the server's identifier and And a machine-readable program step executable on the server processor for customizing an application call file for the application with a server port number. 제 21 항에 있어서, 상기 호스트 프로세서 애플리케이션의 상기 애플리케이션 실행 제어 언어 파일을 액세스하고 상기 서버 프로세서에 의해 호출을 위해 상기 파일을 변형하는, 상기 서버 프로세서에서 실행가능한 기계-판독가능 프로그램 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.22. The method of claim 21, further comprising a machine-readable program step executable on the server processor to access the application execution control language file of the host processor application and modify the file for invocation by the server processor. A device that invokes a host computer system resident application program. 제 20 항에 있어서, 상기 기계-판독가능한 개시하는 단계는, 상기 서버에서 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간의 논리적 연결이 생성되었음을 상기 호스트 애플리케이션과 상기 클라이언트로 통지하는, 실행가능한 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.21. The host of claim 20, wherein initiating the machine-readable further comprises executable steps, in the server, notifying the host application and the client that a logical connection between the host processor application and the client has been created. A device that calls a computer system resident application program. 제 21 항에 있어서, 상기 기계-판독가능한 개시하는 단계는, 상기 서버에서 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간의 논리적 연결이 생성되었음을 상기 호스트 애플리케이션과 상기 클라이언트로 통지하는, 실행가능한 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.22. The host of claim 21, wherein initiating the machine-readable further comprises executable steps of informing the host application and the client that a logical connection between the host processor application and the client has been created at the server. A device that calls a computer system resident application program. 제 22 항에 있어서, 상기 기계-판독가능한 개시하는 단계는, 상기 서버에서 상기 호스트 프로세서 애플리케이션과 상기 클라이언트간의 논리적 연결이 생성되었음을 상기 호스트 애플리케이션과 상기 클라이언트로 통지하는, 실행가능한 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.23. The host of claim 22, wherein initiating the machine-readable further comprises executable steps at the server, notifying the host application and the client that a logical connection between the host processor application and the client has been created. A device that calls a computer system resident application program. 제 20 항 내지 제 25 항 중 어느 한 항에 있어서, 상기 실행가능한 통지하는 단계는 상기 서버 프로세서에 의해 제공되는 고유한 토큰을 통하여 상기 호스트로 상기 클라이언트를 식별하는 실행가능한 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.26. The host computer of any one of claims 20 to 25, wherein the executable notifying further comprises executable steps of identifying the client to the host through a unique token provided by the server processor. A device that calls a system-resident application program. 제 20 항 내지 제 25 항 중 어느 한 항에 있어서, 상기 클라이언트로부터의 상기 데이터에서 연결끊기 명령을 검출하고 상기 호스트 애플리케이션으로 통지하고 상기 클라이언트와 상기 호스트 애플리케이션간의 통신을 종료하는, 기계-판독가능 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.26. The machine-readable step of any of claims 20-25, wherein a disconnect command is detected in the data from the client and notifies the host application and terminates communication between the client and the host application. Apparatus for calling the host computer system resident application program further comprising. 제 26 항에 있어서, 상기 클라이언트로부터의 상기 데이터에서 연결끊기 명령을 검출하고 상기 호스트 애플리케이션으로 통지하고 상기 클라이언트와 상기 호스트 애플리케이션간의 통신을 종료하는, 기계-판독가능 단계를 더 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.27. The host computer system resident of claim 26, further comprising a machine-readable step of detecting a disconnect command in the data from the client and notifying the host application and terminating communication between the client and the host application. Device that calls the application program. 제 20 항 내지 제 25 항 중 어느 한 항에 있어서, 양자가 상기 서버 프로세서에서 실행되는 클라이언트 투 서버 통신 서브프로세스와 애플리케이션 투 서버 통신 서브프로세스를 위한 컴퓨터-실행가능 단계를 포함하는 상기 클라이언트 투 서버 통신을 지원하는, 기계-판독가능한 단계를 상기 매체가 포함하는 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.26. The client to server communication of any of claims 20 to 25, wherein the client to server communication comprises computer-executable steps for both a client-to-server communication subprocess and an application-to-server communication subprocess executed in the server processor. And invoking a host computer system resident application program comprising a machine-readable step for supporting a computer. 제 20 항 내지 제 25 항 중 어느 한 항에 있어서, 상기 서버로부터 네트워크 식별과 호출 파라미터를 얻고 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하기 위해 상기 호스트 애플리케이션 프로세서에서 실행될, 컴퓨터-실행가능 단계를 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.26. The computer-implemented execution of any one of claims 20 to 25, wherein the computer-execution is to be executed in the host application processor to obtain a network identification and calling parameter from the server and to send a connection request to the server using the token as an identifier. And the medium further comprises a possible step. 제 26 항에 있어서, 상기 서버로부터 네트워크 식별과 호출 파라미터를 얻고 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하기 위해 상기 호스트 애플리케이션 프로세서에서 실행될, 컴퓨터-실행가능 단계를 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.27. The medium of claim 26, wherein the medium further comprises computer-executable steps to be executed in the host application processor to obtain a network identification and calling parameter from the server and to use the token as an identifier to send a connection request to the server. And calling the host computer system resident application program. 제 27 항에 있어서, 상기 서버로부터 네트워크 식별과 호출 파라미터를 얻고 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하기 위해 상기 호스트 애플리케이션 프로세서에서 실행될, 컴퓨터-실행가능 단계를 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.28. The medium of claim 27, wherein the medium further comprises computer-executable steps to be executed in the host application processor to obtain a network identification and calling parameter from the server and use the token as an identifier to send a connection request to the server. And calling the host computer system resident application program. 제 28 항에 있어서, 상기 서버로부터 네트워크 식별과 호출 파라미터를 얻고 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하기 위해 상기 호스트 애플리케이션 프로세서에서 실행될, 컴퓨터-실행가능 단계를 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.29. The medium of claim 28, wherein the medium further comprises computer-executable steps to be executed in the host application processor to obtain a network identification and calling parameter from the server and use the token as an identifier to send a connection request to the server. And calling the host computer system resident application program. 제 29 항에 있어서, 상기 서버로부터 네트워크 식별과 호출 파라미터를 얻고 식별자로서 상기 토큰을 사용하여 상기 서버로 연결 요구를 송신하기 위해 상기 호스트 애플리케이션 프로세서에서 실행될, 컴퓨터-실행가능 단계를 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.30. The medium of claim 29, wherein the medium further comprises computer-executable steps to be executed in the host application processor to obtain a network identification and calling parameter from the server and to use the token as an identifier to send a connection request to the server. And calling the host computer system resident application program. 제 20 항 내지 제 25 항 중 어느 한 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 상기 클라이언트 프로세서에서 실행하기 위한 기계-판독가능 단계를, 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.26. The method of any of claims 20-25, wherein the client processor obtains a desired host application parameter from the web browser of the client with some information requested from the user and sends a connection request to the server. And a machine-readable step for executing said host computer system resident application program. 제 26 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 상기 클라이언트 프로세서에서 실행하기 위한 기계-판독가능 단계를, 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.27. The machine-readable step of claim 26, comprising obtaining desired host application parameters from the web browser of the client with any information requested from the user and sending a connection request to the server. And the medium further comprises calling a host computer system resident application program. 제 27 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 상기 클라이언트 프로세서에서 실행하기 위한 기계-판독가능 단계를, 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.28. The machine-readable step of claim 27, further comprising obtaining desired host application parameters from the web browser of the client with any information requested from the user and sending a connection request to the server. And the medium further comprises calling a host computer system resident application program. 제 28 항에 있어서, 상기 사용자로부터 요구된 어떤 정보와 함께 상기 클라이언트의 상기 웹 브라우저로부터 원하는 호스트 애플리케이션 파라미터를 얻고 상기 서버로 연결 요구를 송신하는, 상기 클라이언트 프로세서에서 실행하기 위한 기계-판독가능 단계를, 상기 매체가 더 포함하는, 호스트 컴퓨터 시스템 상주 애플리케이션 프로그램을 호출하는 장치.29. The machine-readable step of claim 28, further comprising obtaining desired host application parameters from the web browser of the client with any information requested from the user and sending a connection request to the server. And the medium further comprises calling a host computer system resident application program.
KR1019980015494A 1997-05-14 1998-04-30 Systems, methods, and apparatus for interactive internet access to host computer application programs KR19980086684A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85633097A 1997-05-14 1997-05-14
US8/856,330 1997-05-14

Publications (1)

Publication Number Publication Date
KR19980086684A true KR19980086684A (en) 1998-12-05

Family

ID=25323352

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980015494A KR19980086684A (en) 1997-05-14 1998-04-30 Systems, methods, and apparatus for interactive internet access to host computer application programs

Country Status (2)

Country Link
JP (1) JPH10334046A (en)
KR (1) KR19980086684A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001222439A (en) * 2000-02-09 2001-08-17 Nec Corp Method and system for processing information system task on trunk task system

Also Published As

Publication number Publication date
JPH10334046A (en) 1998-12-18

Similar Documents

Publication Publication Date Title
KR100264535B1 (en) Computer apparatus and method for communicating between software applications and computers on the world-wide web
JP3966487B2 (en) Object redirection management method and method for enabling applet communication
EP0981885B1 (en) Apparatus and method for identifying clients accessing network sites
US6247044B1 (en) Apparatus and method for processing servlets
EP0956687B1 (en) Web request broker controlling multiple processes
US6438600B1 (en) Securely sharing log-in credentials among trusted browser-based applications
US6839733B1 (en) Network system extensible by users
KR100294969B1 (en) Computer devices and methods that provide a common user interface for software applications accessed through the World Wide Web.
US6338138B1 (en) Network-based authentication of computer user
US6405367B1 (en) Apparatus and method for increasing the performance of Java programs running on a server
US6915486B2 (en) Customizing a graphical user interface of a host application
EP0878759A1 (en) Remote controlling method and apparatus
GB2366418A (en) Browser collaboration system
US6038596A (en) Method and system in a network for decreasing performance degradation triggered by multiple user redundant input events
AU743497B2 (en) Internet transaction processing interface
KR20020012273A (en) Information processing method, collaboration server, collaboration system, and storage medium for storing an information processing program
EP0989501A2 (en) Method and apparatus for collaboration support
US5828887A (en) Network based program loader system and method of operation
WO2006010536A1 (en) Method of communicating between web applications and local client application while maintaining remote user session
US6327662B1 (en) Security through the use of tokens and automatically downloaded applets
US20030055874A1 (en) System for automatically recognizing devices connected in a distributed processing environment
KR19980086684A (en) Systems, methods, and apparatus for interactive internet access to host computer application programs
US6594689B1 (en) Multi-platform helper utilities
US20030037183A1 (en) System for standardized mainframe connection and method for connecting with a mainframe

Legal Events

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