KR0146657B1 - Control method of server process for client/server computing - Google Patents
Control method of server process for client/server computingInfo
- Publication number
- KR0146657B1 KR0146657B1 KR1019940033091A KR19940033091A KR0146657B1 KR 0146657 B1 KR0146657 B1 KR 0146657B1 KR 1019940033091 A KR1019940033091 A KR 1019940033091A KR 19940033091 A KR19940033091 A KR 19940033091A KR 0146657 B1 KR0146657 B1 KR 0146657B1
- Authority
- KR
- South Korea
- Prior art keywords
- client
- server
- function
- database
- query
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 사용자 각자가 보유하고 있는 시스템을 클라이언트급과 서버급으로 분류하고 각각의 시스템을 연결하는 클라이언트/서버 기술에서의 시스템 운영방법에 관한 것으로, 데이터 베이스 접속기능과, 질의 처리기능과, 보고서 처리기능과, 편집기능과, 클라이언트/서버기능과, 객체관리기능을 포함하여 이루어진 클라이언트/서버 응용 프로세서 생성 CASE도구를 구비하고, 상기 CASE도구를 가진 서버는, 여러명의 사용자가 데이터베이스를 접근하고자 할 때 서버가 이를 지원 제어할 수 있도록 계속 동작하고 있다가 임의의 클라이언트에서 연결을 시도해오면 해당 클라이언트와 연결하여 클라이언트에서 요구하는 명령어들을 데이터 패킷으로 받아 해독하여 명령어에 적절한 처리를 하여 그 결과를 패킷화하여 상기 클라이언트에게 보내주는 서비스를 연결된 해당 클라이언트에서 연결을 끊을 때까지 유지시켜주는 제2과정을 포함하는 것을 특징으로 한다.The present invention relates to a method of operating a system in a client / server technology that classifies a system owned by a user into a client class and a server class, and connects each system, and includes a database access function, a query processing function, and a report processing function. A client / server application processor generation CASE tool comprising a function, an editing function, a client / server function, and an object management function. The server having the CASE tool has a number of users who want to access a database. When the server keeps operating to control this support, if any client attempts to connect, it connects with the client, receives the commands required by the client as a data packet, decrypts them, processes them appropriately, and packetizes the result. Service to send to the above client To be the first; and a second process that maintains until it disconnects from the client is connected.
Description
제1도는 클라이언트/서버 시스템의 일반적인 구성방법을 나타낸 도면.1 is a diagram illustrating a general configuration method of a client / server system.
제2도는 본 발명에 의한 클라이언트/서버 도구의 구성방법을 나타낸 도면.2 is a diagram illustrating a method of configuring a client / server tool according to the present invention.
제3 도는 본 발명에 의한 서버 프로세서의 전체 흐름을 나타낸 도면.3 is a diagram showing the overall flow of the server processor according to the present invention.
본 발명은 클라이언트/서버(Client/Server) 방식의 시스템 운영방법에 관한 것으로, 특히 사용자의 편의성을 강조할 수 있도록 하기 위한 클라이언트/서버 시스템에서의 서버 프로세서 제어방법에 관한 것이다.The present invention relates to a method for operating a client / server system, and more particularly to a method for controlling a server processor in a client / server system for emphasizing user convenience.
일반적으로, 현재 정보통신분야에서 핵심적인 역할을 하는 컴퓨터 시스템 구조가 독자적인 개방 시스템으로 바뀌고 하드웨어 가격은 떨어지면서 성능과 통신 네트워크 기술은 고도화되고 있으며, 응용 범위도 전산처리기법의 향상과 컴퓨터 기능들이 다운 사우징(downsizing) 추세에 따라, 종래의 온라인 트랜잭션 처리 분야는 물론이고 클라이언트/서버 모델을 바탕으로 한 다양한 응용분야에 확산되고 있는 추세이다.In general, the computer system structure, which plays a key role in the information and telecommunications field, is now being transformed into its own open system, the hardware price is falling, the performance and communication network technology are being advanced, and the application range is also improved. With the trend of downsizing, it is spreading to various applications based on the client / server model as well as the conventional online transaction processing field.
상기 클라이언트/서버 기술은 통신 네트워크 기술의 발달과 개인용 컴퓨터나 워크스테이션 같은 클라이언트급 컴퓨터의 등장에 따라 출현할 시스템 구성 측면의 새로운 기술로서 선진외국에서는 1980년대 말에 정보처리공학 분야에서 발표되어 이미 정보통신관련 분야에 이 개념을 적용시켜 활용하고 있고, 국내에서도 몇 년 전부터 주목을 받고 있다.The client / server technology is a new technology in terms of system configuration that will emerge with the development of communication network technology and the appearance of client-class computers such as personal computers and workstations. The concept has been applied to telecommunication-related fields and has been attracting attention in Korea for several years.
또한 클라이언트/서버 모델에 바창을 둔 트랜잭션 처리 및 관리 기능, 이 기종 데이터베이스에 접근 기능 등을 포함할 뿐만 아니라, 사용의 용이함이 강조된 그래픽 사용자 인터페이스 기능도 포함하는 분산 시스템 소프트웨어의 중요한 기술 중의 하나이다.It is also one of the key technologies in distributed system software that includes transaction processing and management features based on the client / server model, access to heterogeneous databases, and a graphical user interface that emphasizes ease of use.
상기와 같은 클라이언트/서버 기술을 적용한 시스템의 구성은 첨부된 제1도에 도시되어 있는 바와 같이, 사용자 각자가 보유하고 있는 시스템을 클라이언트급과 서버급으로 분류하여 이들을 연결하는 기술이 결합되어야 효율적인 컴퓨터 시스템을 구성할 수 있도록 되어 있다.As shown in the attached FIG. 1, the configuration of the system to which the client / server technology is applied must be combined with the technology of classifying the system owned by the user into the client class and the server class and connecting them. It is designed to be configured.
상기와 같이 구성되어 있는 클라이언트/서버 기술은 표준을 지키는 개방된 소프트웨어 구조로서, 통신망을 통해 서로 다른 자원(컴퓨터 소프트웨어)에 연결된 사용자들에게 투명한 방법으로 원격 서비스를 제공한다.The client / server technology configured as described above is an open software structure that complies with the standard, and provides a remote service in a transparent manner to users connected to different resources (computer software) through a communication network.
상기 기술의 대표적인 예는, 응용 프로그램이나 사용자 인터페이스가 다운사이징되어 클라이언트급의 컴퓨터에 올려보내는 시스템 구성기술을 들 수 있다.A representative example of the above technique is a system configuration technique in which an application program or a user interface is downsized and uploaded to a client-class computer.
이러한 모델을 따르는 예로는 데이터 베이스 서버, 통신 서버, 프린트 서버, 파일 서버, 보안 서버, 인증 서버와 같이 응용 범위와 목적에 따라 다양하며, 이들 중에서 분산처리와 밀접한 관계를 지닌 대표적인 서버가 데이터 베이스 서버이다.Examples of following this model vary depending on the scope and purpose of the application, such as database servers, communication servers, print servers, file servers, security servers, and authentication servers. Among them, representative servers that are closely related to distributed processing are database servers. to be.
그러나, 종래의 시분할 모델에 비해 클라이언트/서버 모델을 구축하기 위해서는 응용 개발자는 별도의 개발자 부담이 증가하게 된다.However, in order to build a client / server model as compared to the conventional time-sharing model, an additional developer burden increases.
즉, 개발자는 기존의 프로그램에 비해 훨씬 복잡한 통신 네트워크 프로그래밍 기술과 그래픽 사용자 인터페이스 기술들을 추가적으로 습득하여야 하고, 이들이 다양한 규격을 지닌 시스템에서 별도의 작업없이 동작하려면 상호 호환성 문제등이 항상 추가적으로 요구된다. 따라서 클라이언트/서버 시스템 구축에 중요한 이슈로 대두되는 문제점이 발생된다.In other words, the developer has to acquire communication network programming technology and graphic user interface technologies that are much more complicated than the existing programs, and interoperability problems are always required to operate without any additional work in systems having various specifications. Therefore, a problem that emerges as an important issue in client / server system construction occurs.
상기와 같은 문제점을 해소하기 위한 본 발명의 목적은 종래 클라이언트/서버 모델을 구축하기 위해서 필수 불가결하게 증가되었던 개발자의 기술 습득없이 다양한 규격을 지닌 시스템간의 상호 호환이 이루어질 수 있도록 하기 위한 클라이언트/서버 시스템에서 서버 프로세서 제어방법을 제공하는데 있다.An object of the present invention for solving the above problems is a client / server system for enabling mutual compatibility between systems having a variety of specifications without the skill acquisition of developers, which is inevitably increased in order to build a conventional client / server model Provides a server processor control method.
상기 목적을 달성하기 위한 본 발명에 의한 클라이언트/서버 응용 프로세서 생성 CASE 도구는 첫 번째, 서버에 있는 호스트 컴퓨터 시스템의 이름을 지정하거나 변경하고, 서버내에 있는 데이터 베이스의 이름을 열람하고 지정, 변경 및 취소, 그리고 데이터 베이스를 사용하는데 필요한 로긴을 처리하는 데이터 베이스 접속기능과, 두 번째, 지정된 데이터 베이스의 스키마정보를 제공하고, 메뉴나 윈도우를 이용한 질의문 처리와, 질의문 편집 창문을 통해 질의문 편집을 하고, 질의문에 관한 일관성(Consistency) 검사를 할 수 있는 질의 처리 기능과, 세 번째, 질의 처리기능으로 추출된 데이터를 시스템이 제공하는 기본 보고서나 사용자가 원하는 형태로 편집한 사용자 정의 보고서를 작성할 수 있는 보고서 처리기능과, 네 번째는, 양식 편집 기능으로서 양식은 본 발명의 CASE도구로 작성한 하나 혹은 여러개의 화면이고, 하나의 양식에는 여러개의 단위객체 기능과 양식 내의 객체들에 대한 편집 기능을 지니고 있도록 하는 편집기능과, 다섯째, 입/출력(Export/Import)기능으로서 개인용 컴퓨터나 워크스테이션에서 제공되는 소프레드쉬트, 그래픽 도구들과 데이터를 주고받는 기능으로 OLE(Object Linking Embedding)와 DDE(Dynamic Data Exchange)의 클라이언트 기능과 서버기능과, 여섯 번째, 본 발명의 CASE도구에서 사용하는 개별 객체와 기타 필요한 정보들을 유지하고 관리할 수 있도록 하여 객체들의 입출력인 저장과 추출에 관련된 기능들을 용이하고 신속하게 사용할 수 있게 하는 객체 관리 기능을 수행하도록 이루어짐에 특징이 있다.Client / server application processor generation CASE tool according to the present invention for achieving the above object, first, to name or change the name of the host computer system on the server, to view, name, change and A database connection function that cancels and handles the login required to use the database. Second, provides schema information of the specified database, processes the query using menus or windows, and executes the query through the edit query window. Query processing function to edit, check consistency of query statement, and third, system-provided basic report or user-defined report that user extracts data extracted by query processing function. Report processing function to be able to make, and the fourth is both form editing function The expression is one or several screens created by the CASE tool of the present invention, and one form has an editing function for having multiple unit object functions and editing functions for objects in the form, and fifth, input / output (Export / Import). It is a function to send and receive data to and from spreadsheets and graphic tools provided in personal computers or workstations. The client and server functions of OLE (Object Linking Embedding) and DDE (Dynamic Data Exchange), In order to maintain and manage individual objects and other necessary information used in the CASE tool of the present invention, the object management function is to perform the object management function that enables the user to easily and quickly use the functions related to storing and extracting the input and output of objects. have.
이러한 특징을 가진 본 발명의 클라이언트/서버 응용 프로세서 생성 CASE 도구를 사용한 운용방법은, 사용자가 보유하고 있는 시스템을 클라이언트급과 서버급으로 분류하고 각각의 시스템을 연결하는 클라이언트/서버 기술에서의 시스템 운영방법에 있어서, 분산처리 환경하에서 멀티미디어를 이용한 클라이언트/서버 형태의 응용프로그램을 생성하는 제4세대 언어 형태의 컴퓨터 도움 소프트웨어로서 클라이언트급과 서버급에 해당하는 각각의 시스템에서 안내 창구의 역할을 수행하는 '한마당'을 구비시키는 제1과정과, 상기 '한마당 서버'가 여러개의 클라이언트를 사용하는 여러명의 사용자가 '한마당'을 통해 데이터베이스를 접근하고자 할 때 서버가 이를 지원 제어할 수 있도록 '한마당 서버'는 계속 동작하고 있다가 임의의 클라이언트에서 연결을 시도해오면 해당 클라이언트와 연결하여 클라이언트에서 요구하는 명령어들을 데이터 패킷으로 받아 해독하여 명령어에 적절한 처리를 하여 그 결과를 패킷화하여 상기 클라이언트에게 보내주는 서비스를 연결된 해당 클라이언트에서 연결을 끊을 때까지 유지시켜주는 제2과정을 포함한다.The operation method using the client / server application processor generation CASE tool of the present invention having such characteristics is a system operation method in client / server technology that classifies a system owned by a user into a client class and a server class and connects each system. Is a 4th generation computer aided software that creates client / server application programs using multimedia in a distributed processing environment, and acts as an information window in each of client and server systems. 'Hanmad Server' continues to allow the server to support and control the first process of providing the 'Hanmad Server' when multiple users using multiple clients attempt to access the database through 'Hanmad'. Open and open from any client After attempting to connect with the client, it receives and decodes the commands requested by the client as a data packet, processes the commands appropriately, and packetizes the result and sends the result to the client until the connected client disconnects. The note includes a second process.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 설명한다.Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings.
제2도는 클라이언트/서버 도구인 한마당의 구성방법을 나타낸 것이고, 도시되어 있는 구성중 '한마당'이란 것을 간략히 설명하면 분산처리 환경하에서 멀티미디어를 이용한 클라이언트/서버 형태의 응용 프로그램을 생성하는 4GL(4th Generation Language) 형태의 CASE(Computer Aided Software Engineering) 도구로서, 클라이언트 부분의 '한마당'은 통신 네트워크를 통해 서버 부분의 '한마당 서버'를 통해 데이터 베이스에 접근할 수 있다. 이하의 설명에서 '한마당'은 본 발명에 의한 클라이언트/서버 응용 프로그램 생성 CASE도구를 의미한다.FIG. 2 shows how to configure Hanmadang, a client / server tool. Briefly explaining 'Hanmadang' in the illustrated configuration, 4GL (4th Generation) for generating a client / server type application program using multimedia in a distributed processing environment. As a CASE (Computer Aided Software Engineering) tool in the form of a language, the 'Hardyard' in the client part can access the database through the 'Hardyard Server' in the server part through the communication network. In the following description, 'hanmadang' means a client / server application program generated CASE tool according to the present invention.
본 발명에 의한 클라이언트/서버 응용프로그램 생성 CASE도구 즉, '한마당'은, 다음과 같은 특징을 가진다.Client / server application program generation CASE tool according to the present invention, that is, 'Hanmadang', has the following features.
본 발명의 중요한 특징은 서버에 있는 데이터 베이스 시스템에 접근할 수 있는 데이터 베이스 전방처리기 기능에 다매체와 하이퍼텍스트 처리 기능이 추가된 것이다. 이러한 '한마당'은 SQL을 이용하여 서버내의 다양한 양식의 작성기능, 멀티미디어 지원기능, 하이퍼 텍스트를 이용한 다양한 양식의 작성기능, 멀티미디어 지원기능, 스크립트 기능, 순차적 표현기능등을 필수적인 주요기능으로 지니고 있고, 이러한 기능 외에 분산처리 기본 환경인 OSF/DCE(Open Software Foundation/Distributed Computing Environment)와의 접속 기능과 분산 데이터 베이스 관리 시스템의 사용기능등 선택적인 기능을 지니고 있다.An important feature of the present invention is the addition of multi-media and hypertext processing to the database forward processor function that can access the database system on the server. This 'Hanmadang' has essential functions such as the creation of various forms in the server, multimedia support function, multimedia form function, multimedia support function, script function, sequential expression function, etc. In addition to these features, it has optional features such as access to the OSF / DCE (Open Software Foundation / Distributed Computing Environment), which is a basic distributed processing environment, and the use of a distributed database management system.
본 발명에 의한 CASE도구인 '한마당'의 기능별 필수 구성은 크게 6가지가 있다. 첫 번째는, 서버에 있는 호스트 컴퓨터 시스템의 이름을 지정하거나 변경하고, 서버내에 있는 데이터 베이스의 이름을 열람하고 지정, 변경 및 취소, 그리고 데이터 베이스를 사용하는데 필요한 로긴을 처리하는 데이터 베이스 접속기능이다. 두 번째는 지정된 데이터 베이스의 스키마 정보를 제공하고, 메뉴나 윈도우를 이용한 질의문 처리와, 질의문 편집 창문을 통해 질의문 편집을 하고, 질의문에 관한 일관성(Consistency) 검사를 할 수 있는 질의 처리 기능이다. 세 번째는 질의 처리기능으로 추출된 데이터를 시스템이 제공하는 기본 보고서나 사용자가 원하는 형태로 편집한 사용자 정의 보고서를 작성할 수 있는 보고서 처리기능이다. 네 번째는, 양식 편집 기능인데 양식은 쉽게 설명해서 한마당으로 작성한 하나 혹은 여러개의 화면이다. 하나의 양식에는 여러개의 단위객체 기능과 양식 내의 객체들에 대한 편집 기능을 지니고 있어야 한다. 다섯째는 Export/Import 기능이다. 그것은 개인용 컴퓨터나 워크스테이션에서 제공되는 소프레드쉬트, 그래픽 도구들과 데이터를 주고받는 기능으로 OLE(Object Linking Embedding)와 DDE(Dynamic Data Exchange)의 클라이언트 기능과 서버기능이다. 마지막 여섯 번째는 '한마당'에서 사용하는 개별 객체와 기타 필요한 정보들을 유지하고 관리할 수 있도록 함으로써, 객체들의 입출력인 저장과 추출에 관련된 기능들을 용이하고 신속하게 사용할 수 있게 하는 객체 관리 기능이다.There are six essential components for each function of the CASE tool 'Hanmadang' according to the present invention. The first is a database access function that names or changes the host computer system on the server, retrieves the name of the database on the server, assigns, changes and cancels the logins, and handles the logins required to use the database. . The second is to provide the schema information of the designated database, to process the query using menu or window, to edit the query through the query edit window, and to check the consistency of the query. Function. The third is a report processing function that allows you to create a basic report provided by the system for the data extracted by the query processing function or a user-defined report edited in a desired format. Fourth, the form editing function is a form that is easily described so that one or more screens are created in one yard. A form must have multiple unit object functions and editing capabilities for the objects in the form. Fifth is the Export / Import function. It is the client and server functions of OLE (Object Linking Embedding) and DDE (Dynamic Data Exchange). The sixth is the object management function that enables to easily and quickly use the functions related to storing and extracting the input and output of objects by maintaining and managing individual objects and other necessary information used in 'Hanyard'.
앞에서 설명한 6가지의 특징을 충족하도록 설계된 본 발명의 CASE도구인 '한마당'의 환경은 제2도에서 보듯이, 크게 클라이언트 부분과 서버 부분으로 나뉘어지는데, 운영체제가 유닉스이고, 중형 컴퓨터인 서버 부분의 주요 기능은 표준 SQL을 지원하는 관계형 데이터 베이스 관리 시스템이 제공하고, TCP-IP 통신 방식으로 클라이언트와 통신한다. 이는 향후 DCD-RPC(Distributed Computing Environment-Romote Procedure Call) 통신 방식으로 확장할 예정이다. 클라이언트 부분에서는 MS-DOS를 운영체제로 하는 i386이상의 호환 시스템에서 사용자 인터페이스는 윈도우를 사용하며 서버급의 TICOM과는 PC-TCP 통신 방식을 사용한다.The environment of 'Hanmadang', the CASE tool of the present invention designed to satisfy the six characteristics described above, is divided into a client part and a server part, as shown in FIG. 2. The operating system is UNIX and a medium computer server part. Its main function is provided by a relational database management system that supports standard SQL, and communicates with clients through TCP-IP communication. This will be extended to DCD-RPC (Distributed Computing Environment-Romote Procedure Call) communication method. On the client side, the user interface uses Windows and the PC-TCP communication method with server-level TICOM on i386 or higher compatible systems using MS-DOS.
제2도에서 보듯이 클라이언트 부분의 '한마당'은 통신 네트워크를 통해 서버 부분의 '한마당 서버'를 통해 데이터 베이스에 접근할 수 있다. 본 발명은 '한마당 서버'가 여러개의 클라이언트를 사용하는 여러명의 사용자가 '한마당'을 통해 데이터 베이스를 접근하고자 할 때 서버가 이를 지원, 제어할 수 있도록 '한마당 서버'는 계속 동작하고 있다가 임의의 클라이언트에서 요구하는 명령어들을 데이터 패킷으로 받아 해독하여 명령어에 적절한 처리를 하여 그 결과를 패킷화하여 상기 클라이언트에게 보내주는 서비스를 연결된 해당 클라이언트에서 연결을 끊을 때까지 계속한다.As shown in Fig. 2, 'Hanmadang' of the client part can access the database through 'Hanmad Server' of the server part via the communication network. According to the present invention, 'Hanmad Server' continues to operate so that the server can support and control the database when multiple users using multiple clients attempt to access the database through Hanmadang. Receives the commands required by the client as a data packet, decodes them, processes them appropriately, and packetizes the result, and sends the service to the client until the connected client disconnects.
상기와 같은 동작을 수행하기 위한 '한마당 서버' 프로세서의 전체적인 흐름을 첨부한 제3도를 참조하여 상세히 설명한다.The overall flow of the 'one yard server' processor for performing the above operation will be described in detail with reference to FIG. 3.
스텝 S1에서는 프로세서를 수행시킨 사람이 시스템 로그 아웃 해도 프로세스가 동작되도록 하기 위한 데몬화 작업이 수행되는데, '한마당 서버' 프로세서에서 수행되며 한마당에서 서버로 사용한 중형 시스템이 V계열의 운영체제임에도 불구하고 상기 중형시스템의 네트워크 라이브러리는 BSD소켓에 기준한다.In step S1, a daemonization operation is performed so that the process can be operated even if the person who executes the processor logs out of the system. Even though the medium system used as a server in the one-yard server is a V-type operating system, Medium library network libraries are based on BSD sockets.
그리고 상기 중형시스템에도 이네티드(Inetd)가 없으므로 프로세서안에서 데몬화하는 작업을 해야한다. 즉, setpgrp()라는 시스템 라이브러리를 이용하여야 한다.In addition, since the medium system does not have Inetd, it is necessary to perform daemonization in the processor. In other words, you must use a system library called setpgrp ().
이후, 스텝 S2에서는 시스템 라이브러리 시그날(SIGCLD, SIGIGN)을 이용하여 좀비 프로세서를 제거한다. 즉, 하나의 프로세서를 종료할 때, 동작하고 있는 종(從) 프로세서가 있나 체크하여 만약, 종 프로세서가 존재하는 경우는 해당 종 프로세서의 동작이 끝날때까지 기다렸다가 해당 프로세서를 종료시킨다.Thereafter, in step S2, the zombie processor is removed using the system library signals SIGCLD and SIGIGN. That is, when one processor is terminated, it is checked whether there is a slave processor that is operating. If there is a slave processor, the processor waits until the slave processor ends and terminates the processor.
상기와 같은 동작이 수행되는 이유를 간략히 설명하면, 좀비 프로세서는 시스템의 동작이 잘못되거나 사용자가 오류를 범했을 때 종 프로세서가 끝나기 전에 주(主) 프로세서가 종료되어 좀비 프로세서가 발생하게 되는데 이 문제를 해결하지 않으면 일정 한도를 넘어 사용자에게 서비스를 하지 못하게 되는 일이 발생한다.Briefly explaining why the above operation is performed, the zombie processor causes the zombie processor to be shut down before the slave processor terminates when the system operation is wrong or the user makes an error. If you don't solve it, you can't service the user beyond the limit.
상기 스텝 S1과 스텝 S2의 준비 작업이 끝나면, 스텝 S3에서 클라이언트와의 연결을 위해 소켓을 연다. 이때 사용할 소켓의 형태가 결정된다.When the preparation work of step S1 and step S2 is finished, the socket is opened for connection with the client in step S3. The type of socket to be used is determined.
이후, 스텝 S4에서는 바인드(Bind) 작업을 수행하여 상기 스텝 S3에서 결정된 소켓에 주소를 매핑시켜주고, 스텝 S5에서는 리슨(listen) 작업을 수행하여 해당 소켓을 사용할 연결자들의 큐 한도를 체크한다.Thereafter, in step S4, a bind operation is performed to map an address to the socket determined in step S3, and in step S5, a listen operation is performed to check queue limits of connectors that will use the socket.
상기와 같은 작업을 수행하게 되면, 임의의 어떤 클라이언트와도 연결할 준비가 끝나기 때문에 스텝 S6에서는 '한마당 서버' 프로세서 자신이 사용하게 되는 메모리등의 환경을 초기화 즉, 한마당 데몬 초기화 작업이 수행된다.When the above operation is performed, the client is ready to connect with any client, so in step S6, an environment such as a memory used by the 'one mad server' processor itself is initialized, that is, one daemon is initialized.
상기 스텝 S6에서 한마당 데몬 초기화 작업이 종료 되어진 후 다수개의 클라이언트가 동시에 연결을 시도해 오는 경우 그 중에 하나를 선택하기 위한 선택 작업이 스텝 S7에서 수행되고, 상기 스텝 S7까지의 작업이 성공되면 스텝 S8로 진행한다.If a plurality of clients attempt to connect at the same time after the daemon initialization work is finished in step S6, a selection operation for selecting one of them is performed in step S7, and if the operation up to step S7 succeeds, step S8 Proceed.
상기 스텝 S8에서는 상기 스텝 S7에서 선택되어진 해당 클라이언트에 작업의 시도를 허가한다. 이때, 만약 스텝 S8까지의 과정까지 진행되는 동안 오류가 발생하면 연결을 재 시도해야 한다.In step S8, the attempt of a job is permitted to the client selected in step S7. At this time, if an error occurs during the process up to step S8, the connection must be retried.
이때, 클라이언트/서버 시스템에서는 클라이언트의 수가 많기 때문에 임의의 클라이언트가 연결되었다 하여도 '한마당 서버' 프로세서를 독점할 수가 없다. 그래서 스텝 S9에서는 분기(fork) 과정을 통하여 '한마당 서버' 프로세서를 복사하여 서비스를 받도록 한다.At this time, since the number of clients is large in the client / server system, even if an arbitrary client is connected, the 'one yard server' processor cannot be monopolized. Therefore, in step S9, the 'one yard server' processor is copied and received through a fork process.
그러므로 하나의 클라이언트가 연결된 때마다 '한마당 서버' 프로세서를 데몬이라 명명한 것이다. 상기 스텝 S9에세 분기 과정이 성공하면, 주 프로세서와 종 프로세서가 생성된다.Therefore, each time a client connects, the 'one yard server' processor is called a daemon. If the branching process succeeds in step S9, a main processor and a slave processor are generated.
주 프로세서는 소켓을 종 프로세서에게 양보하고 소켓을 닫고(S16), 다른 클라이언트의 연결을 기다린다(S17).The main processor yields the socket to the slave processor, closes the socket (S16), and waits for another client to connect (S17).
기다리다 연결 요청이 오면 상기 스텝 S9로 진행하여 분기 과정을 수햄함으로서 '한마당 서버' 프로세서를 하나 복제하여 클라이언트의 요구에 응한다.If the connection request waits, the process proceeds to step S9, where the branching process is performed, thereby replicating one 'one yard server' processor to meet the client's request.
이는 클라이언트의 연결 요청이 있을 때마다 반복된다.This is repeated each time the client requests a connection.
또한, 상술한 스텝 S1-S9의 모든 단계를 성공한 종 프로세서는 소켓을 통해 클라이언트에게 보낸 데이터 패킷을 받아(S10) 로긴, 디비 스키마정보, 질의 처리 등의 명령을 수행한다.In addition, the slave processor, which has completed all the above steps S1-S9, receives a data packet sent to the client through the socket (S10) and executes commands such as login, db schema information, and query processing.
이 타이머는 시스템 오류 혹은 과부하로 시스템 속도 저하가 저하될 경우에 대비하여 일정 시간 간격으로 시간을 체크하여 그 시간 동안 클라이언트의 요구를 처리하지 않았으면, 클라이언트에게 기다리라는 메시지 혹은 서버 시스템의 이상을 알리기 위함이다.This timer checks the time at regular intervals in case the system slows down due to a system error or overload, and notifies the client to wait for the server system if it has not handled the client's request during that time. For sake.
특히, 질의 처리를 하는데는 시간이 많이 걸리는 경우도 있으므로 아주 유용하다 하겠다. 타이머를 작동시키고 나서 명령어를 해독(S12)하여 명령어에 적합한 처리(S13)를 행한다.In particular, query processing can take a long time, so it is very useful. After the timer is activated, the instruction is decoded (S12) to perform a process (S13) suitable for the instruction.
'한마당 서버' 프로세서는 명령어 별로 거의 독립적인 서브 프로세서를 구성하였다.'Hanmadang server' processor is composed of almost independent sub-processor per instruction.
이 명령어를 수행하는 동안 타이머는 계속 시간을 체크하여 제한 시간을 넘겼을 경우(S14)에는 클라이언트에게 상황을 알리는 작업을 수행한다. 이때 수행되고 있는 명령어는 정지되었다가, 이 타이머 관련 처리를 끝내면 정지된 시점부터 계속하여 처리한다.While executing this command, the timer checks the duration and if the time limit is exceeded (S14), the timer notifies the client of the situation. In this case, the instruction being executed is stopped, and when the timer related processing is finished, the instruction is continued from the stopped point.
상술한 스텝 S10-S14에서 클라이언트에서 요구한 명령에 대한 처리가 끝나면, 그 결과를 클라이언트에게 알려 주어야 한다. '한마당 서버' 프로세서와 클라이언트의 '한마당'이 정한 형식으로 패킷을 만들어서 보낸다(S15).After the processing of the instruction requested by the client in the above-described steps S10-S14, the result should be informed to the client. The packet is created and sent in a format defined by the 'one yard server' processor and the 'one yard' of the client (S15).
이때 송신해야 할 패킷의 길이가 너무 길면 일정 단위(현재의 4096byte)로 나누어 송신하고, 한번의 송신을 할 때마다 클라이언트의 응답이 있은 후에 나머지 데이터 패킷들을 송신하기 시작한다. 이 메카니즘은 클라이언트에서 서버로 데이터 패킷을 송신할 경우도 마찬가지이다.At this time, if the length of the packet to be transmitted is too long, it is divided into a certain unit (current 4096 bytes), and after each transmission, the remaining data packets are started after the client response. This mechanism is the same for sending data packets from client to server.
결과 데이터 송신까지 끝나면, '한마당 서버' 프로세서는 현재 연결된 클라이언트의 또 다른 명령을 기다리고 있다가, 명령어가 도착하면 상술한 스텝 S10-S15의 동작을 반복한다.After the transmission of the result data, the 'one yard server' processor waits for another command of the currently connected client, and when the command arrives, the above-described operations of steps S10 to S15 are repeated.
그 클라이언트에서 연결을 끊을 때까지 명령어 대기, 명령어 처리를 반복한다. 클라이언트에서 연결을 끊으면, '한마당 서버' 종 프로세서 하나가 종료된다.Wait for command and repeat command processing until the client disconnects. When the client disconnects, one of the 'one yard server' slave processors is shut down.
상기와 같이 동작하는 본 발명에 따른 클라이언트/서버 시스템에서 서버 프로세서 제어방법을 제공하여 종래 클라이언트/서버 모델을 구축하기 위해 필수 불가결하게 증가되었던 개발자의 기술 습득없이 다양한 규격을 지닌 시스템간의 상호 호환이 이루어질 수 있는 효과가 있다.By providing a server processor control method in a client / server system according to the present invention operating as described above, mutual compatibility between systems having various specifications can be achieved without a developer's skill acquisition which is inevitably increased to build a conventional client / server model. It can be effective.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940033091A KR0146657B1 (en) | 1994-12-07 | 1994-12-07 | Control method of server process for client/server computing |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940033091A KR0146657B1 (en) | 1994-12-07 | 1994-12-07 | Control method of server process for client/server computing |
Publications (2)
Publication Number | Publication Date |
---|---|
KR960025113A KR960025113A (en) | 1996-07-20 |
KR0146657B1 true KR0146657B1 (en) | 1998-09-15 |
Family
ID=19400559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940033091A KR0146657B1 (en) | 1994-12-07 | 1994-12-07 | Control method of server process for client/server computing |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0146657B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100327112B1 (en) * | 1999-12-24 | 2002-03-06 | 오길록 | Method for maintenancing consistency of corba object in distributed object system |
KR20160055293A (en) | 2014-11-07 | 2016-05-18 | 안장근 | How to use the speed control of grass cutter engine |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CZ20013828A3 (en) * | 1999-04-26 | 2003-12-17 | International Business Machines Corporation | Remote control of a device |
KR100759089B1 (en) * | 2005-09-26 | 2007-09-19 | (주)나즌커뮤니케이션 | method for controlling over-load of linux server |
-
1994
- 1994-12-07 KR KR1019940033091A patent/KR0146657B1/en not_active IP Right Cessation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100327112B1 (en) * | 1999-12-24 | 2002-03-06 | 오길록 | Method for maintenancing consistency of corba object in distributed object system |
KR20160055293A (en) | 2014-11-07 | 2016-05-18 | 안장근 | How to use the speed control of grass cutter engine |
Also Published As
Publication number | Publication date |
---|---|
KR960025113A (en) | 1996-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11539781B2 (en) | Editing an unhosted third party application | |
Pike et al. | Plan 9 from bell labs | |
JP3652376B2 (en) | Methodology for creating object structures for accessing traditional non-object oriented business applications | |
US7945652B2 (en) | Display multi-layers list item in web-browser with supporting of concurrent multi-users | |
US6907395B1 (en) | System and method for designing a logical model of a distributed computer system and deploying physical resources according to the logical model | |
JP3605416B2 (en) | Bridge for client-server environment | |
US6757868B1 (en) | Programmatic switching of arbitrary HTML forms | |
KR100998515B1 (en) | Methods for distributed program execution with file-type association in a client-server network | |
US20060048153A1 (en) | Locally operated desktop environment for a remote computing system | |
US6826700B1 (en) | Method and apparatus for a web application server to automatically solicit a new password when an existing password has expired | |
US20030110315A1 (en) | System and method for providing a java interface to an application view component | |
EP0483037A2 (en) | Remote and batch processing in an object oriented programming system | |
US20050021696A1 (en) | System and method providing automatic policy enforcement in a multi-computer service application | |
JPH11224196A (en) | Remote object access | |
JPH11232239A (en) | Network management frame work | |
JP3630457B2 (en) | Software tool execution automation and control method in computer system | |
AU8654098A (en) | Internet transaction processing interface | |
JP4233635B2 (en) | Apparatus and method for providing persistence to an application interface | |
US8973017B2 (en) | Productivity application management | |
KR0146657B1 (en) | Control method of server process for client/server computing | |
US8676842B2 (en) | Creating multiple Mbeans from a factory Mbean | |
US6594689B1 (en) | Multi-platform helper utilities | |
US6704779B1 (en) | Method and apparatus for a web application server to provide an administration system using a dual set of tiered groups of objects | |
JPH08272744A (en) | Information processing method and information processor | |
Spinellis | Outwit:{UNIX}{Tool-Based} Programming Meets the Windows World |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20080428 Year of fee payment: 11 |
|
LAPS | Lapse due to unpaid annual fee |