KR0119901B1 - Method for providing transport service in unix system - Google Patents
Method for providing transport service in unix systemInfo
- Publication number
- KR0119901B1 KR0119901B1 KR1019940007776A KR19940007776A KR0119901B1 KR 0119901 B1 KR0119901 B1 KR 0119901B1 KR 1019940007776 A KR1019940007776 A KR 1019940007776A KR 19940007776 A KR19940007776 A KR 19940007776A KR 0119901 B1 KR0119901 B1 KR 0119901B1
- Authority
- KR
- South Korea
- Prior art keywords
- transport
- module
- data
- connection
- network
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 14
- 230000005540 biological transmission Effects 0.000 claims abstract description 33
- 238000012545 processing Methods 0.000 claims description 8
- 230000000694 effects Effects 0.000 abstract description 2
- 238000011017 operating method Methods 0.000 abstract 1
- 230000032258 transport Effects 0.000 description 84
- 238000012790 confirmation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000003252 repetitive effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/1735—Network adapters, e.g. SCI, Myrinet
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 트랜스포트 처리기에 관한 것으로, OSI 트랜스포트 등급 0 프로토콜을 다중처리기 환경의 UNIX 시스템 커널에 탑재시켜 소정 시간에 최대 프로토콜 처리기 수만큼 트랜스포트 서비스를 동시에 제공하는 트랜스포트 프로토콜 처리기의 동작방법에 관한 것이다.The present invention relates to a transport processor, the OSI transport class 0 protocol is embedded in the UNIX system kernel of a multiprocessor environment to provide a transport service at the same time the maximum number of protocol handlers in the transport protocol processor operating method It is about.
본 발명은 다중처리 환경의 UNIX 커널내에 스트림 접속모듈(61), 트랜스포트 연결관리 블록(62), 데이타 송수신모듈(63), TPDU 생성모듈(64), TPDU 해석모듈(65), 네트워크 연결관리모듈(66)로 구성되며, UNIX 커널에서 트랜스포트 연결관리를 위해 유지되는 정보 각각에 잠금을 수행하지 않고 트랜스포트 연결 관리를 위해 필요한 모든 정보들을 포함하는 제어블록에 잠금을 수행하여 프로세서간에 관리정보의 일관성을 보다 효율적으로 유지한다.The present invention provides a stream connection module 61, a transport connection management block 62, a data transmission / reception module 63, a TPDU generation module 64, a TPDU analysis module 65, and a network connection management in a UNIX kernel of a multiprocessing environment. It consists of a module 66 and manages information between processors by locking a control block including all information necessary for transport connection management without locking each piece of information maintained for transport connection management in the UNIX kernel. To maintain consistency.
또한 본 발명은 트랜스포트 서비스를 다중처리 환경의 UNIX 커널에서 수행되므로 다수의 프로세서가 제공하는 병렬성을 최대로 이용하면서 동시에 여러 사용자에게 트랜스포트 서비스를 제공하는 효과가 있다.In addition, since the transport service is executed in a UNIX kernel of a multiprocessing environment, the present invention has an effect of providing a transport service to multiple users while maximizing the parallelism provided by a plurality of processors.
Description
제1도는 본 발명의 트랜스포트 프로토콜 처리기 구동에 관련된 하드웨어와의 관계를 나타낸 블럭도.1 is a block diagram showing a relationship with hardware related to driving a transport protocol processor of the present invention.
제2도는 본 발명의 트랜스포트 프로토콜 처리기를 구성하는 내부 모듈들간의 구성도.2 is a block diagram of internal modules constituting the transport protocol processor of the present invention.
제3도는 데이타 송신단계에서 트랜스포트 프로토콜 처리기의 동작을 설명한 흐름도.3 is a flowchart illustrating the operation of a transport protocol processor in a data transmission step.
제4도는 데이타 수신단계에서 트랜스포트 프로토콜 처리기의 동작을 설명한 흐름도.4 is a flowchart illustrating the operation of a transport protocol processor in a data receiving step.
제5도는 본 발명에 따른 트랜스포트 연결제어 블록과 네트워크 연결제어 블록을 통합한 후, 데이타 송신단계를 설명한 흐름도.5 is a flowchart illustrating a data transmission step after integrating a transport connection control block and a network connection control block according to the present invention.
제6도는 본 발명에 따른 트랜스포트 연결제어 블록과 네트워크 연결제어 블록을 통합한 후, 데이타 수신단계를 설명한 흐름도.6 is a flowchart illustrating a data receiving step after integrating a transport connection control block and a network connection control block according to the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings
10 : 프로세서 20 : 주기억장치10: processor 20: main memory
30 : 보조기억장치 40 : 망제어기30: auxiliary memory device 40: network controller
50 : UNIX 커널(kernel) 60 : 트랜스포트 처리기50: UNIX kernel 60: transport handler
본 발명은 트랜스포트 프로토콜 처리기에 관한 것으로, 구체적으로는 ISO 트랜스포트 등급 0 프로토콜을 다중처리기 환경을 갖는 UNIX 시스템 커널에 탑재시켜 소정 시간에 최대 프로토콜 처리기 수만큼 트랜스포트 서비스를 동시에 제공하는 트랜스포트 프로토콜 처리기의 동작방법에 관한 것이다.The present invention relates to a transport protocol processor. Specifically, an ISO transport class 0 protocol is mounted in a UNIX system kernel having a multiprocessor environment, thereby providing a transport service simultaneously with a maximum number of protocol processors at a given time. It relates to a method of operation of the processor.
종래의 트랜스포트 프로토콜 처리 수행은 트랜스포트 프로토콜 처리기가 한 순간에 하나만의 트랜스포트 서비스를 제공하고, 또한 트랜스포트 연결과 네트워크 연결을 각각 분리하여 관리하므로 다중 처리기들의 자원을 활용하기 위하여 기다리는 시간이 많이 걸리고, 불필요한 명령들을 반복수행하는 비효율성의 문제점이 있었다.In the conventional transport protocol processing, the transport protocol processor provides only one transport service at a time, and separates and manages the transport connection and the network connection, respectively, so that a lot of waiting time is required to utilize the resources of the multiprocessors. There was a problem of inefficiency in repetitive and redundant instructions.
따라서 본 발명은 상기한 문제점을 해결하기 위하여 한 순간에 다수의 트랜스포트 서비스를 동시에 제공하여 다중처리기가 제공하는 병렬성을 최대로 이용하는데 그 목적이 있다.Accordingly, an object of the present invention is to maximize the parallelism provided by a multiprocessor by providing a plurality of transport services at the same time to solve the above problems.
본 발명의 또 다른 목적은 트랜스포트 프로토콜 처리기안에서 트랜스포트 연결과 네트워크 연결을 통합하여 관리하는 방법을 채택하여 다중처리기들이 수행에 필요한 자원을 획득하기 위한 대기시간을 줄이고, 비효율성을 제거하는데 그 목적이 있다.Another object of the present invention is to reduce the latency and eliminate the inefficiency of multiprocessors to acquire the resources necessary for the implementation by adopting a method that integrates and manages transport connections and network connections in a transport protocol processor. There is this.
본 발명의 목적을 달성하기 위하여 첨부한 도면을 참조하여 본 발명의 구성 및 동작효과에 대해 상세히 설명한다.With reference to the accompanying drawings to achieve the object of the present invention will be described in detail the configuration and operation effects of the present invention.
제1도는 트랜스포트 프로토콜 처리기(60)가 시스템내에서 구동될 때 관련되는 하드웨어 자원과의 관계를 나타낸 블럭도이다.1 is a block diagram showing the relationship with the hardware resources involved when the transport protocol processor 60 is run in the system.
시스템은 다수의 프로세서(CPUs)(10)들과 주기억장치간에는 로컬 버스(Local Bus)를 통하여 통신을 하고, 상기 다수의 프로세서(CPUs)들과 망제어기 및 보조기억장치 사이에는 VME버스를 통하여 통신을 하며, 상기 처리기들간에 공유 메모리를 갖는 다중처리기 환경의 구조를 갖는다.The system communicates between a plurality of processors (CPUs) 10 and a main memory via a local bus, and a communication between the plurality of processors (CPUs) and a network controller and a secondary storage device through a VME bus. It has a structure of a multiprocessor environment having a shared memory between the processors.
트랜스포트 프로토콜 처리기(60)는 UNIX 커넬(50)에 포함되어 구동시점을 기준으로 보조기억장치(30)에서 주기억장치(20)로 로드되어 실행된다.The transport protocol processor 60 is included in the UNIX kernel 50 and loaded and executed from the auxiliary memory device 30 to the main memory device 20 based on the driving time.
그리고 상기 다수의 프로세서(10)는 각기 프로세서상태에 따라 로컬 버스를 통하여 주기억장치(20)에 접근하여 트랜스포트 프로토콜 처리기(60)를 실행한다.The plurality of processors 10 access the main memory 20 through the local bus according to the processor state, respectively, and execute the transport protocol processor 60.
이때, 다수의 프로세서중 어느 한 프로세서가 트랜스포트 프로토콜 서비스를 제공하기 위하여 트랜스포트 프로토콜 처리기(60)를 실행하고 있는 동안에 또 다른 프로세서의 트랜스포트 프로토콜 서비스의 요구가 있으면 그 프로세서에 의해서 동시에 서비스가 제공될 수 있다.At this time, if any one of the plurality of processors is running the transport protocol processor 60 to provide the transport protocol service, the service is simultaneously provided by the processor if there is a request of the transport protocol service of another processor Can be.
또한, 프로세서는 원격 시스템에 전송될 정보객체가 있으면 실행결과에 따라서 VME버스를 통하여 망제어기(40)에 전송을 요구한다.In addition, if there is an information object to be transmitted to the remote system, the processor requests transmission to the network controller 40 through the VME bus according to the execution result.
제2도는 본 발명에 따른 트랜스포트 프로토콜 처리기를 구성하는 각 모듈들간의 관계를 나타낸 것이다.2 shows a relationship between the modules constituting the transport protocol processor according to the present invention.
스트림 접속모듈(61)은 상위의 트랜스포트 사용자와 연결되어 사용자로부터의 정보객체를 트랜스포트 연결관리모듈(62)이나 데이타 송수신모듈(63)에 전달한다.The stream connection module 61 is connected to the upper transport user and transfers the information object from the user to the transport connection management module 62 or the data transmission / reception module 63.
또한 상기 스트림 접속모듈(61)은 트랜스포트 연결관리모듈(62) 또는 데이타 송수신모듈(63)로부터의 정보객체를 사용자에 전달하는 상위 인터페이스와 하위의 네트워크 처리기로부터의 정보객체를 네트워크 연결관리모듈(66)로 전달하거나 또는 네트워크 연결관리모듈(66)로부터의 정보객체를 하위 네트워크 처리기에서 전달하는 하위 인터페이스를 제공하는 모듈이다.In addition, the stream connection module 61 transmits the information object from the transport connection management module 62 or the data transmission / reception module 63 to the user and the information object from the lower network processor. 66) or a sub-interface that transfers the information object from the network connection management module 66 to the lower network processor.
상기 스트림 접속모듈(61)에서 취급하는 정보객체의 내용은 트랜스포트 프로토콜 처리기(60)에서 정의된 프리미티브와 요구되는 데이타로 구성되며 스트림 메시지 형태로 포장된다.The content of the information object handled by the stream connection module 61 is composed of primitives and required data defined in the transport protocol processor 60 and packed in the form of stream messages.
상기 트랜스포트 연결관리모듈(62)은 트랜스포트 프로토콜의 연결을 관리하는 모듈로 연결설정 단계와 연결해제 단계로 분리된다.The transport connection management module 62 is a module that manages the connection of the transport protocol and is divided into a connection establishment step and a disconnection step.
상기 연결설정 단계는 연결요구, 연결인지, 연결응답, 연결확인과정을 포함한다.The connection establishment step includes a connection request, connection recognition, a connection response, and a connection confirmation process.
상기 연결요구 과정은 상기 스트림 접속모듈(61)로부터 연결요구에 관한 프리미티브를 받으면 TPDU(Transport Protocol Data Unit : 종단 시스템간의 트랜스포트 동등 개체사이에 주고받는 데이타 단위) 생성모듈(64)을 통하여 정의된 연결요구(connect request) TPDU를 생성하여 네트워크 연결관리모듈(66)에 네트워크 연결을 요구한다.The connection request process is defined through the TPDU (Transport Protocol Data Unit) generation module 64 when receiving a primitive about a connection request from the stream access module 61. A connect request TPDU is generated to request a network connection to the network connection management module 66.
상기 연결인지 과정은 TPDU 분석결과가 연결요구 TPDU이면 시작된다.The connection acknowledgment process starts if the result of the TPDU analysis is a connection request TPDU.
그리고 상기 연결인지 과정에서는 연결을 관리하기 위해 필요한 자원을 할당하고 상위 상용자에게 연결인지 프리미티브를 포함하는 정보객체를 만들어 스트림 접속모듈(61)로 보낸다.In the connection recognition process, resources required for managing the connection are allocated, and an information object including a connection recognition primitive is sent to the upper commercial user and sent to the stream access module 61.
상기 연결응답 과정은 상기 스트림 접속모듈(61)로부터 연결응답 프리미티브를 받으면 TPDU 생성모듈(64)을 통하여 연결확인(connect confirm) TPDU를 만들어 네트워크 연결관리모듈(66)에 전송을 의뢰한다.In the connection response process, upon receiving a connection response primitive from the stream access module 61, a connection confirm TPDU is generated through the TPDU generation module 64 and requested to be transmitted to the network connection management module 66.
상기 연결 확인과정은 TPDU 분석결과 연결확인 TPDU이면 사용자에게 보낼 연결확인 프리미티브를 포함하는 정보객체를 만들어 스트림 접속모듈(61)에 전달을 요구한다.In the connection confirmation process, if the connection confirmation TPDU is a result of the TPDU analysis, an information object including a connection confirmation primitive to be sent to the user is created and requested to be delivered to the stream connection module 61.
상기 연결해제 단계는 상위 사용자로부터 연결해제 프리미티브를 받은 경우와 네트워크 연결관리모듈(66)이 네트워크 연결 해제되었음을 나타내는 프리미티브를 받은 경우가 있다.In the disconnection step, there is a case where a disconnection primitive is received from an upper user and a network primitive management module 66 receives a primitive indicating that the network is disconnected.
상기 연결해제 단계에서 상위 사용자로부터 연결해제 프리미티브를 받은 경우는 네트워크 연결관리모듈(66)에 네트워크 연결의 해제를 요구하는 메시지를 보내고 트랜스포트 연결을 관리하기 위해 필요한 자원을 시스템에 양도한 후에 트랜스포트 연결을 해제한다.When receiving the disconnection primitive from the upper user in the disconnection step, the network connection management module 66 sends a message requesting the release of the network connection and transfers the resources necessary for managing the transport connection to the system and then transports the transport. Disconnect.
그리고 나머지 한 경우에서는 사용자에게 네트워크 연결이 단절되었음을 알리고 트랜스포트 연결을 관리하기 위해 필요한 모든 자원을 시스템에 양도한 후에 트랜스포트 연결을 해제한다.In the other case, the user is notified that the network is disconnected, and all the resources necessary to manage the transport connection are transferred to the system before the transport connection is released.
TPDU 생성모듈(64)은 트랜스포트 처리기(60)에서 정의된 메시지 형태로 정보객체를 만드는 모듈이며 트랜스포트 연결관리모듈(62) 또는 데이타 송수신모듈(63)의 요구에 따라 실행된다.The TPDU generation module 64 is a module for creating an information object in the form of a message defined by the transport processor 60 and is executed at the request of the transport connection management module 62 or the data transmission / reception module 63.
TPDU 해석모듈(65)은 네트워크 연결관리모듈(66)의 요구에 따라 실행되어 받은 정보객체가 어떤 형태의 TPDU인지를 판별한다.The TPDU analysis module 65 determines what type of TPDU is the information object received and executed according to the request of the network connection management module 66.
네트워크 연결관리모듈(66)은 하위에 접속되는 연결 지향형 네트워크 처리기의 가상회로와 일대일 대응되는 네트워크 연결의 끝점을 관리하고 트랜스포트 연결관리모듈(62) 또는 데이타 송수신모듈(63)의 요구에 따라 해당 네트워크 연결에 정보객체를 전달하는 역할을 한다.The network connection management module 66 manages the endpoints of the network connection corresponding one-to-one with the virtual circuits of the connection-oriented network processor connected to the lower side and according to the request of the transport connection management module 62 or the data transmission / reception module 63. It is responsible for passing information objects to network connections.
또한 상기 네트워크 연결관리모듈(66)은 스트림 접속모듈(61)로부터 받은 네트워크 처리기의 정보객체가 네트워크 관리만을 위한 네트워크 프리미티브(네트워크 처리기와 트랜스포트 프로토콜 처리기 사이에 주고 받는 서비스 프리미티브)이면 자신이 응답하고, 트랜스포트 연결에 관한 데이타를 포함한 네트워크 프리미티브이면 TPDU 해석모듈(65)을 통하여 분석한 결과에 따라 트랜스포트 연결관리모듈(62) 또는 데이타 송수신모듈(63)에 데이타를 전달하는 기능이 있다.In addition, the network connection management module 66 responds if the information object of the network processor received from the stream access module 61 is a network primitive (service primitive exchanged between the network processor and the transport protocol processor) for network management only. If the network primitive includes data about transport connection, the data is transmitted to the transport connection management module 62 or the data transmission / reception module 63 according to the analysis result through the TPDU analysis module 65.
제3도 및 제4도는 데이타 송수신시 트랜스포트 연결제어 블록과 네트워크 연결제어 블록에 잠금을 수행함으로써 처리기간에 관리정보의 일관성을 유지하여 트랜스포트 프로토콜 처리기(60)가 다중처리기 환경에서 병렬처리가 가능하도록 구성한 흐름도이다.3 and 4 show locks on the transport connection control block and the network connection control block during data transmission and reception, thereby maintaining consistency of management information during processing, thereby allowing the transport protocol processor 60 to perform parallel processing in a multiprocessor environment. This is a flowchart configured to be possible.
제3도는 사용자로부터 트랜스포트 데이타 송신요청이 발생했을때 데이타 송수신모듈(63), TPDU 생성모듈(64)과 네트워크 연결관리모듈(66)의 수행과정을 나타낸 흐름도이다.3 is a flowchart illustrating a process of performing a data transmission / reception module 63, a TPDU generation module 64, and a network connection management module 66 when a transport data transmission request is generated from a user.
먼저 사용자로부터 트랜스포트 프로미티브를 포함한 정보객체가 전달되면 스트림 접속모듈(61)에서 전달받은 정보객체가 무슨 서비스를 요구하는지 분석한 후(S301), 트랜스포트 연결관리모듈(62) 또는 네트워크 연결관리모듈(66)에서 해당 기능을 수행한다.First, when an information object including a transport promtion is delivered from a user, the service analyzes what service the information object received from the stream access module 61 requests (S301), and then the transport connection management module 62 or the network connection. The management module 66 performs a corresponding function.
이때 T_DATA_REQ 프리미티브의 경우는 데이타 송수신모듈(63)에서 수행된다.In this case, the T_DATA_REQ primitive is performed by the data transmission / reception module 63.
이때 우선 전달받은 상기 프리미티브가 타당한가를 검사(S302)하여 타당하지 않으면(S303) 사용자에게 오류임을 알리고 수행을 끝낸다.In this case, first, the received primitive is checked for validity (S302), and if it is not valid (S303), the user is notified of an error and ends.
그리고 그 요구가 타당하면, 연계되어 있는 해당 트랜스포트 연결제어 블록(PCB)을 탐색한다.(S304)If the request is valid, the associated transport connection control block (PCB) is searched for (S304).
다음 탐색하여 찾은 PCB를 잠근 후(S305), 상기 PCB의 상태가 데이타 전송에 적합한지를 검사한다.Next, after locking the PCB found by searching (S305), it is checked whether the state of the PCB is suitable for data transmission.
이때 적합하지 않으면 사용자에게 오류임을 알리고 수행을 끝내고, 적합하면 PCB에서 관리하고 있는 정보들을 이용하여 TPDU 생성모듈(64)에 의해 트랜스포트 데이타를 포함한 데이타(data) TPDU를 생성한다.(S306)In this case, if not suitable, the user is notified of an error and the execution ends, and if appropriate, the data TPDU including transport data is generated by the TPDU generating module 64 using information managed by the PCB.
생성된 데이타 TPDU를 네트워크 프리미티브로 형성한뒤, 트랜스포트 연결과 연계되어 있는 네트워크 연결관리 제어블록(이하 NCPCB)을 탐색한다.(S307)After the generated data TPDU is formed as a network primitive, the network connection management control block (NCPCB) associated with the transport connection is searched (S307).
탐색하여 찾은 NCPCB를 잠근 후(S308), NCPCB의 상태가 타당한지를 검사한다.(S309)After locking the NCPCB found by searching (S308), it is checked whether the state of the NCPCB is valid (S309).
타당하지 않으면 사용자에게 네트워크 연결에 오류가 있음을 통보하고 네트워크 연결해제 요청(S310), 트랜스포트 연결제어 블록 잠금해제(S311), 네트워크 연결제어 블록 잠금해제(S312)를 하위 네트워크를 통해 원격지에 전달한다.If it is not valid, notify the user that there is an error in the network connection and forward the network disconnect request (S310), transport connection control block unlock (S311), and network connection control block unlock (S312) to the remote site through the subnetwork. do.
NCPCB의 상태가 타당할 경우, 네트워크 프리미티브를 형성하고(S313), 현재 데이타 전송이 가능한지를 위해 NCPCB내에 nc_block 필드를 검사한다.(S314)If the state of the NCPCB is valid, a network primitive is formed (S313), and the nc_block field is checked in the NCPCB to see if data transmission is possible (S314).
nc_block 필드가 set되어 있으면 NCPCB에 네트워크 데이타를 저장하고(S318), 잠금상태에 있는 PCB와 NCPCB의 잠금을 해제한 후(S319,S320) 수행을 끝낸다.If the nc_block field is set, the network data is stored in the NCPCB (S318), the unlocked PCB and the NCPCB are unlocked (S319, S320), and the execution ends.
상기 nc_block 필드가 set되지 않으면 NCPCB에서 이전에 미리 저장하고 있는 데이타가 있는지를 검사하여 데이타가 있으면 먼저 보내고 나서 현재의 데이타를 하위 네트워크 처리기에 전송하고 데이타가 없으면 현재의 데이타를 바로 하위 네트워크 처리기에 전송한다.(S315)If the nc_block field is not set, NCPCB checks whether there is previously stored data, and if there is data, sends it first, then transmits the current data to the lower network processor, and if there is no data, sends the current data directly to the lower network processor. (S315)
데이타 전송이 완료되면, 잠금상태에 있는 트랜스포트 PCB와 네트워크 연결관리 NCPCB의 잠금을 해제한 후(S316,S317) 수행을 종료한다.When data transmission is completed, the transport PCB in the locked state and the network connection management NCPCB are unlocked (S316, S317), and the execution ends.
제4도는 원격지로부터 하위 네트워크 처리기를 통해 트랜스포트 데이타와 네트워크 프리미티브를 포함한 정보객체를 수신하였을때 네트워크 연결관리모듈(66), TPDU 해석모듈(65)과 트랜스포트 데이타 송수신모듈(63)의 수행과정을 나타낸 흐름도이다.4 is a process of performing the network connection management module 66, the TPDU analysis module 65 and the transport data transmission / reception module 63 when receiving an information object including transport data and network primitives from a remote network through a lower network processor. It is a flow chart showing.
먼저 하위 네트워크 처리기로(S401)부터 정보객체를 전달받으면 스트림 접속모듈(61)에서 정보객체를 분석한 후, 네트워크 연결관리모듈(66)에서 해당 기능을 수행한다.First, when the information object is received from the lower network processor (S401), the stream connection module 61 analyzes the information object, and then the network connection management module 66 performs a corresponding function.
N_DATA_IND 프리미티브의 경우, 네트워크 연결관리모듈은 프리미티브내에 정보를 이용하여 해당되는 네트워크 연결제어 블록(NCPCB)를 탐색한다.(S402)In the case of the N_DATA_IND primitive, the network connection management module searches for a corresponding network connection control block (NCPCB) by using information in the primitive (S402).
탐색하여 찾은 NCPCB를 잠근 후(S403), NCPCB의 상태가 타당한지를 검사한다.(S404)After locking the NCPCB found by searching (S403), it is checked whether the state of the NCPCB is valid (S404).
타당하지 않으면 네트워크 연결해제 요청(S405), 트랜스포트 연결제어블록 잠금해제(S406), NCPCB의 잠금을 해제(S407)하여 수행을 종료한다.If not, the network connection release request (S405), the transport connection control block lock release (S406), NCPCB unlocking (S407) and the execution ends.
그리고 상기 NCPCB의 상태가 타당할 경우, N_DATA_IND 프리미티브로부터 TPDU를 추출하여 해석한 후(S408) 네트워크 연결과 연계되어 있는 PCB를 탐색한다.(S409)If the state of the NCPCB is valid, the TPDU is extracted and analyzed from the N_DATA_IND primitive (S408), and the PCB associated with the network connection is searched (S409).
탐색하여 찾은 PCB의 바로 잠금가능성 여부를 검사한 뒤(S410), 바로 잠금이 가능하지 않으면 이미 잠금 상태에 있던 NCPCB의 잠금도 해제한 후(S411), 제4도의 수행과정을 다시 처음부터 시작한다.After checking whether the PCB is found to be immediately locked (S410), if the lock is not possible, the NCPCB which is already locked is also unlocked (S411), and the process of FIG. 4 starts again from the beginning. .
만일 PCB가 바로 잠금이 가능하면 잠금을 수행하고, PCB의 상태가 타당한지를 검사한 후(S412), 타당하면 트랜스포트 데이타를 사용자에게 전달하고(S413) 수행을 종료한다.If the PCB can be locked immediately, the lock is performed, and the state of the PCB is checked (S412), and if appropriate, the transport data is transmitted to the user (S413).
만일 PCB상태가 타당하지 않으면 하위 네트워크 처리기에 네트워크 연결해제 요청을 하고(S405) 잠금상태에 있는 PCB와 NCPCB 각각의 잠금을 해제한 뒤(S406,S407), 수행을 종료한다.If the PCB status is not valid, a network disconnect request is made to the lower network processor (S405), and the lock of the PCB and the NCPCB in the locked state is released (S406 and S407), and the execution ends.
이상에서와 같이 설명된 데이타 송수신시 트랜스포트 프로토콜 처리기의 동작과정에서 다중처리기 환경에서 트랜스포트 프로토콜 처리기의 병렬처리가 가능하도록 구성된 제3도 및 제4도의 경우는 제어의 흐름이 서로 반대됨으로 해서 백 트랙킹(backtracking)으로 인한 코드의 반복수행이 빈번하게 발생한다.In the case of FIG. 3 and FIG. 4 configured to enable parallel processing of the transport protocol processor in a multiprocessor environment during the operation of the transport protocol processor when transmitting and receiving data described above, the flow of control is reversed. Code repetition frequently occurs due to backtracking.
따라서 본 발명에서는 제3도 및 제4도에서와 같은 반복수행의 비효율성을 제거하기 위해 트랜스포트 연결제어 블록(PCB)과 네트워크 연결제어 블록(NCPCB)을 통합하여 이를 트랜스포트 통합관리 블록이라 명명하고, 잠금수행시 해당 트랜스포트 통합관리 블록만 잠금으로써 수행단계를 보다 단순화시켰다.Therefore, in the present invention, in order to eliminate the inefficiency of the repetitive performance as shown in FIGS. 3 and 4, the transport connection control block (PCB) and the network connection control block (NCPCB) are integrated and named as a transport integrated management block. In addition, when locking, only the corresponding transport management block is locked to simplify the execution step.
또한 다중처리 환경에서 보다 효율적인 병렬처리가 가능하도록 제5도 및 제6도에 상기 트랜스포트 통합관리 블록을 형성한 후 데이타 송수신 단계에서 트랜스포트 프로토콜 처리기의 동작을 설명하는 흐름도를 나타내었다.Also, a flow chart illustrating the operation of the transport protocol processor in the data transmission / reception step after forming the transport integrated management block in FIGS. 5 and 6 to enable more efficient parallel processing in a multiprocessing environment is shown.
제5도는 트랜스포트 연결제어 블록과 네트워크 연결제어 블록을 통합한 후, 데이타 송신단계를 설명한 흐름도이다.5 is a flowchart illustrating a data transmission step after integrating a transport connection control block and a network connection control block.
먼저 사용자로부터 트랜스포트 프리미티브(사용자와 트랜스포트 프로토콜 처리기 사이에 주고받는 서비스 프리미티브)를 포함한 정보객체가 전달되면(S501) 스트림 접속모듈(61)에서 전달받은 정보객체가 무슨 서비스를 요구하는지 분석한 후, 트랜스포트 연결관리모듈(62) 또는 네트워크 연결관리모듈(66)에서 해당 기능을 수행한다.First, when an information object including a transport primitive (a service primitive exchanged between a user and a transport protocol processor) is transmitted from a user (S501), the service object analyzed by the information object received from the stream connection module 61 is analyzed. In the transport connection management module 62 or the network connection management module 66, the corresponding function is performed.
다음 T_DATA_REQ 프리미티브의 경우는 정보객체의 요구가 무엇인지를 분석하여 데이타 송수신모듈(63)에서 수행된다.In the case of the next T_DATA_REQ primitive, it is performed by the data transmission / reception module 63 by analyzing what the information object request is.
우선 전달받은 프리미티브가 타당한가를 검사하여(S502) 타당하지 않으면, 사용자에게 오류임을 알리고(S503) 수행을 끝낸다.First, it checks whether the received primitive is valid (S502), if not, informs the user that it is an error (S503) and ends execution.
그리고 그 요구가 타당하면, 해당 트랜스포트 통합관리 블록을 탐색한다.(S504)If the request is valid, the transport integrated management block is searched for (S504).
탐색하여 찾은 트랜스포트 통합관리 블록을 잠근후, 이 관리블록의 상태가 데이타전송에 적합한지를 검사한다.After locking the transport integrated management block found by searching, it is checked whether the status of this management block is suitable for data transmission.
적합하지 않으면 사용자에게 오류임을 알리고 수행을 끝낸다. 그리고 적합하면 상기 통합관리 블록의 정보들을 이용하여 트랜스포트 데이타를 포함한 데이타(data) TDPU를 생성한 후(S506) 네트워크 프리미티브의 형태로 포장한다.(S507)If it is not appropriate, the user is notified of the error and the operation ends. If appropriate, a data TDPU including transport data is generated using the information of the integrated management block (S506) and packaged in the form of a network primitive (S507).
다음의 현재 데이타전송이 가능한지를 파악하기 위해 트랜스포트 통합관리 블록내의 nc-block 필드를 검사한다.(S508)The nc-block field in the transport integrated management block is checked to see if the next current data transmission is possible (S508).
상기 S508 단계에서 검사한 결과 nc-block 필드가 set되어 있으면 통합관리 블록에 네트워크 데이타를 저장한 뒤(S511), 잠금상태에 있는 트랜스포트 통합관리 블록의 잠금을 해제한 후(S512) 수행을 종료한다.If the nc-block field is set as a result of the checking in step S508, after storing network data in the integrated management block (S511), the transport integrated management block in the locked state is released (S512) and the execution ends. do.
그리고 nc-block 필드가 set되어 있지 않으면, 통합관리 블록에서 이전에 미리 저장하고 있는 데이타가 있는지를 검사하여 데이타가 있으면 먼저 보내고 나서 현재의 데이타를 하위 네트워크 처리기에 전송하고, 데이타가 없으면 현재의 데이타를 바로 하위 네트워크 처리기에 전송한다.(S509)If the nc-block field is not set, the integrated management block checks whether there is previously stored data, and if there is data, sends it first, then sends the current data to the lower network processor. Is transmitted directly to the lower network processor (S509).
그리고 데이타 전송이 완료되면, 잠금상태에 있는 트랜스포트 통합관리 블록의 잠금을 해제한 후(S510) 수행을 종료한다.When the data transmission is completed, the lock is terminated after releasing the lock of the transport integrated management block in the locked state (S510).
제6도는 트랜스포트 연결제어 블록과 네트워크 연결제어 블록을 통합한 후, 데이타 수신단계를 설명한 흐름도이다.6 is a flowchart illustrating a data receiving step after integrating a transport connection control block and a network connection control block.
먼저 하위 네트워크 처리기로부터 정보객체를 전달받으면 스트림 접속모듈(61)에서 정보객체를 분석한 후(S601), 네트워크 연결모듈에서 해당 기능을 수행한다.First, when the information object is received from the lower network processor, the stream connection module 61 analyzes the information object (S601), and performs the corresponding function in the network connection module.
이때 N_DATA_IND 프리미티브의 경우, 네트워크 연결관리모듈(66)은 프리미티브내의 정보를 이용하여 해당되는 트랜스포트 통합관리 블록을 탐색한다.(S602)In this case, in the case of the N_DATA_IND primitive, the network connection management module 66 searches for a corresponding transport integrated management block using information in the primitive (S602).
탐색하여 찾은 상기 트랜스 통합관리 블록을 잠근후(S603), 그 상태가 타당한지를 검사한다.(s604)After the lock is found, the trans-integrated management block is found (S603), and it is checked whether the state is valid (s604).
상기 트랜스포트 통합관리 블록의 상태가 타당할 경우, N_DATA_IND 프리미티브로부터 TPDU를 추출하여 해석한 후(S608), 트랜스포트 데이타를 사용자에게 전달하고 수행을 종료한다.If the state of the transport integrated management block is valid, after extracting and analyzing the TPDU from the N_DATA_IND primitive (S608), the transport data is delivered to the user and the execution ends.
만일 트랜스포트 통합관리 블록의 상태가 타당하지 않으면 하위 네트워크 처리기에 네트워크 연결해제 요청을 하고(S605), 잠금상태에 있던 트랜스포트 통합관리 블록의 잠금을 해제한 뒤(S606), 수행을 종료한다.If the state of the transport integrated management block is not valid, a network disconnection request is made to the lower network processor (S605), the transport integrated management block is unlocked (S606), and execution ends.
이상에서 설명한 바와같이, 본 발명은 다중처리 환경을 갖는 UNIX 커널내 트랜스포트 프로토콜 처리기 안에서 트래스포트 연결제어 블록과 네트워크 연결제어 블록을 통합하여 관리하고, 여러 사용자에게 동시에 트랜스포트 프로토콜 서비스를 제공하므로 트랜스포트 프로토콜 사용자의 대기시간을 줄일 수 있으며, 다중처리 환경에서 트랜스포트 연결과 네트워크 연결을 관리할때 발생하는 비효율성의 문제를 개선하여 트랜스포트 프로토콜 처리기의 효율을 높일 수 있다.As described above, the present invention integrates and manages the transport connection control block and the network connection control block in a transport protocol processor in a UNIX kernel having a multiprocessing environment, and provides transport protocol services to multiple users simultaneously. It can reduce the latency of port protocol users and improve the efficiency of transport protocol processor by improving the inefficiency that occurs when managing transport and network connections in a multiprocessing environment.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940007776A KR0119901B1 (en) | 1994-04-13 | 1994-04-13 | Method for providing transport service in unix system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019940007776A KR0119901B1 (en) | 1994-04-13 | 1994-04-13 | Method for providing transport service in unix system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR950029943A KR950029943A (en) | 1995-11-24 |
KR0119901B1 true KR0119901B1 (en) | 1997-10-29 |
Family
ID=19381001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019940007776A KR0119901B1 (en) | 1994-04-13 | 1994-04-13 | Method for providing transport service in unix system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR0119901B1 (en) |
-
1994
- 1994-04-13 KR KR1019940007776A patent/KR0119901B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR950029943A (en) | 1995-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0447038B1 (en) | A system for establishing a communication path in a closely coupled computer system | |
US6393497B1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
US10200460B2 (en) | Server-processor hybrid system for processing data | |
JP2000020490A (en) | Computer having remote procedure call mechanism or object request broker mechanism, data transfer method, and transfer method storage medium | |
WO2018077284A1 (en) | Communication method and system, electronic device and computer cluster | |
JPH11312151A (en) | Fast distributed object request broker | |
Akkoyunlu et al. | Interprocess communication facilities for network operating systems | |
KR0119901B1 (en) | Method for providing transport service in unix system | |
RU2566953C2 (en) | Information delivery method and device | |
EP1058880A1 (en) | Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system | |
JPH02212955A (en) | Protocol machine | |
JPH08212180A (en) | Inter-process communication processor | |
JPS61255461A (en) | Multi cpu communicating device | |
JP3176199B2 (en) | Server client system | |
Herland et al. | A common messaging layer for MPI and PVM over SCI | |
KR100213770B1 (en) | How to connect branch processors and other machines | |
JP3910013B2 (en) | Communication method and method | |
EP0602916A2 (en) | Cross-bar interconnect apparatus | |
Small | Optimizing MPI point-to-point communication performance on RDMA-enabled SMP-CMP clusters | |
JP2812265B2 (en) | Network management method for information processing system | |
KR100442599B1 (en) | Message handling apparatus and method in exchange system using distributed objects of workstation | |
JP2000227860A (en) | Parallel access control method, parallel access controller and multi-thread process method | |
JPH03235158A (en) | Local execution system for program in remote computer system | |
Danelutto et al. | Fast “short” messages on a Linux cluster | |
KR920003283B1 (en) | Interrupt Methods in Multiprocessor Systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0109 | Patent application |
Patent event code: PA01091R01D Comment text: Patent Application Patent event date: 19940413 |
|
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 19940413 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 19970725 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 19970808 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 19970808 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
PR1001 | Payment of annual fee |
Payment date: 20000731 Start annual number: 4 End annual number: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20010724 Start annual number: 5 End annual number: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20020730 Start annual number: 6 End annual number: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20030728 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20040730 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20050801 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20060728 Start annual number: 10 End annual number: 10 |
|
FPAY | Annual fee payment |
Payment date: 20070730 Year of fee payment: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20070730 Start annual number: 11 End annual number: 11 |
|
LAPS | Lapse due to unpaid annual fee | ||
PC1903 | Unpaid annual fee |
Termination category: Default of registration fee Termination date: 20090710 |