KR20010090636A - Real time network communication method and system - Google Patents

Real time network communication method and system Download PDF

Info

Publication number
KR20010090636A
KR20010090636A KR1020000018557A KR20000018557A KR20010090636A KR 20010090636 A KR20010090636 A KR 20010090636A KR 1020000018557 A KR1020000018557 A KR 1020000018557A KR 20000018557 A KR20000018557 A KR 20000018557A KR 20010090636 A KR20010090636 A KR 20010090636A
Authority
KR
South Korea
Prior art keywords
area
memory
data
network communication
reflective
Prior art date
Application number
KR1020000018557A
Other languages
Korean (ko)
Other versions
KR100361076B1 (en
Inventor
신현섭
Original Assignee
김형순
주식회사 로커스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 김형순, 주식회사 로커스 filed Critical 김형순
Priority to KR1020000018557A priority Critical patent/KR100361076B1/en
Publication of KR20010090636A publication Critical patent/KR20010090636A/en
Application granted granted Critical
Publication of KR100361076B1 publication Critical patent/KR100361076B1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D53/00Separation of gases or vapours; Recovering vapours of volatile solvents from gases; Chemical or biological purification of waste gases, e.g. engine exhaust gases, smoke, fumes, flue gases, aerosols
    • B01D53/34Chemical or biological purification of waste gases
    • B01D53/74General processes for purification of waste gases; Apparatus or devices specially adapted therefor
    • B01D53/86Catalytic processes
    • B01D53/88Handling or mounting catalysts
    • B01D53/885Devices in general for catalytic purification of waste gases
    • AHUMAN NECESSITIES
    • A61MEDICAL OR VETERINARY SCIENCE; HYGIENE
    • A61LMETHODS OR APPARATUS FOR STERILISING MATERIALS OR OBJECTS IN GENERAL; DISINFECTION, STERILISATION OR DEODORISATION OF AIR; CHEMICAL ASPECTS OF BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES; MATERIALS FOR BANDAGES, DRESSINGS, ABSORBENT PADS OR SURGICAL ARTICLES
    • A61L9/00Disinfection, sterilisation or deodorisation of air
    • A61L9/16Disinfection, sterilisation or deodorisation of air using physical phenomena
    • A61L9/18Radiation
    • A61L9/20Ultraviolet radiation
    • A61L9/205Ultraviolet radiation using a photocatalyst or photosensitiser
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2255/00Catalysts
    • B01D2255/20Metals or compounds thereof
    • B01D2255/207Transition metals
    • B01D2255/20707Titanium
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2255/00Catalysts
    • B01D2255/80Type of catalytic reaction
    • B01D2255/802Photocatalytic
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01DSEPARATION
    • B01D2259/00Type of treatment
    • B01D2259/80Employing electric, magnetic, electromagnetic or wave energy, or particle radiation
    • B01D2259/804UV light
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J21/00Catalysts comprising the elements, oxides, or hydroxides of magnesium, boron, aluminium, carbon, silicon, titanium, zirconium, or hafnium
    • B01J21/06Silicon, titanium, zirconium or hafnium; Oxides or hydroxides thereof
    • B01J21/063Titanium; Oxides or hydroxides thereof
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01JCHEMICAL OR PHYSICAL PROCESSES, e.g. CATALYSIS OR COLLOID CHEMISTRY; THEIR RELEVANT APPARATUS
    • B01J35/00Catalysts, in general, characterised by their form or physical properties
    • B01J35/30Catalysts, in general, characterised by their form or physical properties characterised by their physical properties
    • B01J35/39Photocatalytic properties

Landscapes

  • Chemical & Material Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Engineering & Computer Science (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Environmental & Geological Engineering (AREA)
  • Veterinary Medicine (AREA)
  • General Health & Medical Sciences (AREA)
  • Public Health (AREA)
  • Animal Behavior & Ethology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Epidemiology (AREA)
  • Biomedical Technology (AREA)
  • Analytical Chemistry (AREA)
  • General Chemical & Material Sciences (AREA)
  • Oil, Petroleum & Natural Gas (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PURPOSE: A real-time network communication method and apparatus is provided to maintain a uniform transmission speed irrespective of a network traffic load. CONSTITUTION: A microprocessor(110) generates a process necessary for a network communication. A main memory(120) stores or reads data generated by the process. A hard disk(130) stores or reads data transmitted or transmitting through the network communication. An RFM(Reflective Memory)(140) has a data transmitting and receiving port for storing or reading the data in hardware. A data transmitting and receiving unit(300) is connected to the data transmitting and receiving port of the RFM(140) for uniformly synchronizing contents stored in the RFM(140).

Description

실시간 네트워크 통신 방법 및 시스템{REAL TIME NETWORK COMMUNICATION METHOD AND SYSTEM}REAL TIME NETWORK COMMUNICATION METHOD AND SYSTEM

본 발명은 네트워크 통신 방법 및 시스템에 관한 것으로, 특히, 네트워크에 연결된 호스트들이 실시간으로 동일한 데이터를 공유하여 호스트를 액세스할 수 있는 통신 방법 및 네트워크 시스템을 제공한다.The present invention relates to a network communication method and system, and more particularly, to a communication method and a network system in which hosts connected to a network share the same data in real time to access a host.

최근 들어 네트워크 기술이 발전함에 따라서, 화상 회의, 원격 학습, 네트워크 게임 등, 실시간으로 사용자들이 네트워크에 연결되어 상호 간에 음성 및 화상 데이터를 전송하고 공유하는 멀티미디어 네트워킹 (multimedia networking) 기술이 소개되어 점차 확산되어 가고 있다.In recent years, as network technology has evolved, multimedia networking technology has been introduced, which allows users to connect to a network in real time, such as video conferencing, distance learning, and network games, to transmit and share voice and video data with each other. Is going.

그런데, 멀티미디어 네트워킹 응용분야는 화상 및 음성, 정보 처리에서 발생하는 방대한 데이터를 고속으로 전송할 것을 요구하고 있으며, 과중한 네트워크 트래픽에도 불구하고 요구 수준 이상의 일정 전송 속도를 요구하고 있다. 또한, 네트워크에 연결되어 있는 다수의 호스트들이 동시에 실시간으로 데이터를 신속히 공유하는 것이 요구되고 있다.However, multimedia networking applications are demanding high-speed transmission of a large amount of data generated from video, audio, and information processing, and require a certain transmission speed higher than a required level despite heavy network traffic. In addition, multiple hosts connected to the network are required to quickly share data in real time at the same time.

현재 이용되고 있는 근거리 네트워크(local area network; LAN) 방식은 이더넷(ethernet), 토큰링(token ring), FDDI(fiber distributed data interface) 등의 초기 네트워킹 방식과, 90년대 중반부터 초기 네트워킹 방식을 응용 발전시킨 고속이더넷(fast Ethernet), 기가 비트 이더넷(gigabit ethernet)등이 사용되고 있다.Currently used local area network (LAN) method is applied to the initial networking method such as Ethernet, token ring, FDDI (fiber distributed data interface), and early networking method from the mid 90s Advanced Fast Ethernet and Gigabit Ethernet are being used.

IEEE 802.3x 표준을 구현하는 이더넷 네트워크는 버스(bus) 타입의 네트워크를 사용하며, 데이터 전송을 위해 CSMA/CD(carrier sense multiple access with collision detection) 방식을 사용한다.The Ethernet network implementing the IEEE 802.3x standard uses a bus type network and uses carrier sense multiple access with collision detection (CSMA / CD) for data transmission.

종래 기술에 따른 CSMA/CD 방식은 데이터를 전송하고자 하는 호스트가 데이터를 전송하기 위하여 다른 호스트가 데이터를 보내고 있는지 여부를 캐리어 패킷(carrier packet)을 발생시켜 확인하고, 데이터의 충돌이나, 다른 캐리어 패킷이 발견되면 정해진 시간 동안 전송을 중단하고, 정해진 시간 후에 다시 캐리어를 감지하여 전송을 재시도하는 방식이다.The CSMA / CD scheme according to the prior art generates a carrier packet to check whether a host to which data is to be transmitted is sending another data to transmit data, and a collision of data or another carrier packet is generated. If this is found, the transmission is stopped for a predetermined time, and after a predetermined time, the carrier is detected again to retry the transmission.

종래 기술에 따른 CSMA/CD 방식은 부하가 적은 경우, 또는 네트워크에 연결된 호스트의 수가 적은 경우에는 비교적 양호한 성능을 발휘하지만, 네트워크 부하가 일정 수준 이상으로 증가되면 급격히 그 성능이 떨어지는 단점이 있다.The CSMA / CD system according to the related art exhibits relatively good performance when the load is light or when the number of hosts connected to the network is low. However, when the network load is increased to a certain level or more, the CSMA / CD method has a shortcoming.

한편, 종래 기술에 따른 IEEE 802.5 표준 토큰링은 링(Ring) 타입의 네트워크로 구성되며, 데이터 전송 방식은 링을 따라 순환하는 프리 토큰(free token)에 호스트간에 전송할 데이터를 실어 비지 토큰(busy token)으로 변환하여 전송한다. 이어서, 전술한 비지 토큰이 목적 호스트에 도착하면 목적 호스트에 데이터를 복사하고, 다시 프리 토큰으로 변환하여 링 위를 순환하는 방식을 채용하고 있다.Meanwhile, the IEEE 802.5 standard token ring according to the prior art is composed of a ring-type network, and the data transmission method is a busy token by loading data to be transmitted between hosts in a free token circulating along the ring. ) And send it. Subsequently, when the above-mentioned busy token arrives at the destination host, a method of copying data to the destination host, converting it back into a free token, and circulating the ring is adopted.

따라서, 종래 기술에 따른 IEEE 802.5 표준 토큰링 방식은 부하 증가에 따른 네트워크 전송 속도의 영향을 완화시킬 수 있는 장점이 있다. 그러나, 종래 기술에 따른 토큰링 방식은 적은 부하에서도 전송 속도에 기본적 제한이 상존하는 단점이 있다.Therefore, the IEEE 802.5 standard token ring scheme according to the related art has an advantage of mitigating the effect of network transmission speed due to an increase in load. However, the token ring method according to the related art has a disadvantage in that a basic limit exists in transmission speed even under a small load.

전술한 종래 기술의 문제점을 보완하기 위해 기존의 이더넷 방식을 응용발전 시킨 고속 이더넷 및 기가 비트 이더넷 네트워크 방식이 소개되고 있으나, 근본적으로 이더넷 방식을 이용하기 때문에 이더넷이 갖는 네트워크 트래픽(network traffic) 폭주에 따른 전송 속도 저하의 문제를 해결하지는 못하고 있다.In order to supplement the above-mentioned problems of the prior art, high-speed Ethernet and Gigabit Ethernet network methods are introduced. It does not solve the problem of lowering the transmission rate.

이와 같은 종래 기술이 지니는 네트워크 트래픽 문제를 해결하기 위하여, 대한민국 특허 제10-1999-044866호에서는 데이터 통신 네트워크에서 폭주 제어를 제공하기 위한 방법 및 시스템에 대한 기술을 개시하고 있다. 그러나, 대한민국 특허 제10-1999-044866호에 개시된 기술은 이더넷에서 임의의 시간에 충돌에 의하여 전송을 중단한 호스트의 개수를 최소화하는 방법을 채용하고 있으므로, 여전히 네트워크 충돌에 의한 네트워크 지연 문제는 해결되지 못한 단점이 있다.In order to solve the network traffic problem of the prior art, Korean Patent No. 10-1999-044866 discloses a method and system for providing congestion control in a data communication network. However, the technique disclosed in Korean Patent No. 10-1999-044866 adopts a method of minimizing the number of hosts that stop transmission due to a collision at any time in Ethernet, and thus still solves the network delay problem caused by network collision. There is a drawback to this.

따라서, 종래 기술이 겪고 있는 트래픽 증가에 따른 네트워크 데이터 전송 속도의 저하 문제를 해결하고, 트래픽에 무관한 일정 전송 속도를 유지할 수 있는 새로운 네트워크 통신 방법 및 시스템의 출현이 요구되고 있다.Therefore, there is a need for the emergence of a new network communication method and system capable of solving the problem of lowering the network data transmission rate due to the increase in traffic experienced by the prior art and maintaining a constant transmission rate irrelevant to the traffic.

따라서, 본 발명의 제1 목적은 네트워크 통신에 있어서 네트워크 트래픽 부하에 관계없이 일정 전송 속도를 유지할 수 있는 네트워크 통신 방법 및 시스템을 제공하는데 있다.Accordingly, it is a first object of the present invention to provide a network communication method and system capable of maintaining a constant transmission rate regardless of network traffic load.

본 발명의 제2 목적은 상기 제1 목적에 부가하여, 멀티미디어 네트워킹에 있어서 신속하고 일정한 전송 속도를 갖는 네트워크 통신 방법 및 시스템을 제공하는데 있다.A second object of the present invention is to provide a network communication method and system having a fast and constant transmission speed in multimedia networking in addition to the first object.

본 발명의 제3 목적은 상기 제1 목적에 부가하여, 네트워크에 접속되어 있는 다수의 호스트에 거의 실시간으로 데이터를 공유할 수 있는 네트워크 통신 방법 및 시스템을 제공하는데 있다.It is a third object of the present invention to provide a network communication method and system capable of sharing data in real time to a plurality of hosts connected to a network in addition to the first object.

도1은 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터의 구성도.1 is a block diagram of a host computer constituting a network communication system according to the present invention.

도2a는 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터가 구비하고 있는 리플렉티브 메모리의 메모리 영역을 나타내는 도면.Fig. 2A is a diagram showing a memory area of the reflective memory included in the host computer constituting the network communication system according to the present invention.

도2b는 본 발명에 따른 리플렉티브 메모리의 메모리 영역을 할당하는 일 실시예를 나타낸 도면.Figure 2B illustrates one embodiment of allocating a memory region of a reflective memory in accordance with the present invention.

도3a는 본 발명의 제1 실시예에 따른 네트워크 통신 시스템의 시스템 구성도.3A is a system configuration diagram of a network communication system according to a first embodiment of the present invention.

도3b는 본 발명의 제1 실시예에 따른 네트워크 통신을 위한 초기 동작을 나타낸 도면.Fig. 3B is a diagram showing an initial operation for network communication according to the first embodiment of the present invention.

도3c는 본 발명에 따른 리플렉티브 메모리 라이브러리 내의 리플렉티브 메모리 장치를 초기화하는 함수의 작업 흐름을 나타낸 흐름도.Figure 3C is a flow diagram illustrating the workflow of a function to initialize a reflective memory device in a reflective memory library in accordance with the present invention.

도3d는 본 발명에 따른 리플렉티브 메모리 라이브러리를 이용하여 리플렉티브 메모리에 로컬 데이터 영역을 할당하는 흐름을 나타낸 흐름도.FIG. 3D is a flow diagram illustrating a flow of allocating a local data area to a reflective memory using a reflective memory library in accordance with the present invention. FIG.

도3e는 본 발명에 따른 리플렉티브 메모리 라이브러리를 이용하여 리플렉티브 메모리에 할당된 로컬 데이터 영역에 데이터를 저장 또는 독출하는 작업 흐름을 나타낸 흐름도.3E is a flow diagram illustrating a workflow for storing or reading data in a local data area allocated to the reflective memory using the reflective memory library in accordance with the present invention.

도3f는 본 발명의 제1 실시예에 따른 네트워크 통신 방법을 나타낸 흐름도.Fig. 3F is a flowchart showing a network communication method according to the first embodiment of the present invention.

도4a는 본 발명의 제2 실시예에 따른 네트워크 통신 시스템의 시스템 구성도.4A is a system configuration diagram of a network communication system according to a second embodiment of the present invention.

도4b는 본 발명의 제2 실시예에 따른 네트워크 통신 시스템에서 사용될 수 있는 리플렉티브 메모리의 메모리 영역 할당의 양호한 실시 방법을 나타낸 도면.Figure 4B illustrates a preferred implementation method of memory area allocation of a reflective memory that can be used in a network communication system according to a second embodiment of the present invention.

도4c는 본 발명의 제2 실시예에 따른 네트워크 통신 시스템에서 사용될 수 있는 리플렉티브 메모리의 메모리 영역 할당의 또 다른 실시 방법을 나타낸 도면.Fig. 4C illustrates another embodiment of the memory area allocation of the reflective memory that can be used in the network communication system according to the second embodiment of the present invention.

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

100, 200 : 네트워크 통신 시스템을 구성하는 호스트 컴퓨터100, 200: host computer configuring a network communication system

110, 210 : 마이크로 프로세서110, 210: Microprocessor

120, 220 : 메인 메모리120, 220: main memory

130, 230 : 로컬 기억 수단(하드디스크)130, 230: Local storage means (hard disk)

140, 240 : 리플렉티브 메모리(reflective memory; RFM)140 and 240: reflective memory (RFM)

300 : 리플렉티브 메모리 데이터 송수신 수단(광 케이블)300: reflective memory data transmission and reception means (optical cable)

400 : 리플렉티브 메모리의 메모리 영역400: memory area of reflective memory

410 : 리플렉티브 메모리 장치 드라이버 사용 영역410: Reflective memory device driver usage area

420 : 베이스 레지스터(base register) 영역420: base register area

430 : 메타 데이터베이스(meta database) 영역430 meta database area

440 : 사용자 데이터 영역440: user data area

480 : 리플렉티브 메모리의 메모리 주소480: memory address of reflective memory

상기 목적을 달성하기 위하여, 본 발명은 복수 개의 호스트(host) 컴퓨터로 구성된 네트워크 통신 시스템에 있어서, 상기 복수 개의 호스트 컴퓨터는 네트워크 통신 (network communication)을 위해 필요한 프로세스(process)를 생성하는 마이크로프로세서(microprocessor), 프로세스가 생성하는 데이터를 저장 또는 독출할 수 있는 메인 메모리(main memory), 네트워크 통신을 통해 전송 받은 데이터 또는 전송해야 할 데이터를 저장 또는 독출할 수 있는 로컬 기억 수단(local memory unit), 데이터 송수신 포트(port)를 구비하고, 하드웨어적으로 데이터를 저장 또는 독출하는 기능을 구비한 리플렉티브 메모리(reflective memory; RFM), 상기 복수 개의 호스트 각각에 구비된 리플렉티브 메모리(RFM)의 데이터 송수신 포트에 연결되어 복수 리플렉티브 메모리에 저장된 내용을 실시간으로 동일하게 동기화시키는 리플렉티브 메모리 데이터 전송 수단을 포함한 네트워크 통신 시스템을 제공한다.In order to achieve the above object, the present invention is a network communication system consisting of a plurality of host (computer), the plurality of host computer is a microprocessor for creating a process (process) necessary for network communication (network communication) ( a microprocessor, main memory capable of storing or reading data generated by a process, local memory unit capable of storing or reading data received or transmitted through network communication, A reflective memory (RFM) having a data transmission / reception port and having a function of storing or reading data in hardware, and a reflective memory (RFM) provided in each of the plurality of hosts. Connected to the data transmission / reception port of the system to store the contents of multiple reflective memories in real time. Provide a network communication system, including the reflective memory means for transmitting data to be synchronized.

본 발명의 또 다른 목적을 달성하기 위하여, 복수 개의 호스트로 구성된 네트워크 통신 시스템에서 네트워크 통신을 하기 위한 방법에 있어서, 상기 복수 개의 호스트에 서버 프로세스(server process) 또는 클라이언트 프로세스 (client process)를 생성하는 단계, 상기 복수 개의 호스트에 장착된 리플렉티브 메모리의메모리 영역에 리플렉티브 메모리(reflective memory) 라이브러리(library)를 이용하여 로컬 데이터 영역(local data region)을 할당하는 단계, 상기 클라이언트 프로세스는 할당된 로컬 데이터 영역에 메시지를 리플렉티브 메모리 라이브러리를 이용하여 기입하는 단계, 상기 서버 프로세스는 할당된 로컬 데이터 영역에서 상기 클라이언트 프로세스의 메시지를 리플렉티브 메모리 라이브러리를 이용하여 독출하고 응답 메시지를 리플렉티브 메모리 라이브러리를 이용하여 기입하는 단계, 상기 클라이언트 프로세스는 할당된 로컬 데이터 영역에서 상기 서버 프로세스의 응답 메시지를 리플렉티브 메모리 라이브러리를 이용하여 독출하는 단계를 포함하는 네트워크 통신 방법을 제공한다.In order to achieve another object of the present invention, a method for network communication in a network communication system composed of a plurality of hosts, the method comprising: creating a server process (client process) or a client process (client process) on the plurality of hosts Allocating a local data region to a memory region of a reflective memory mounted in the plurality of hosts by using a reflective memory library, wherein the client process allocates a local data region. Writing a message to a local data area using a reflective memory library, wherein the server process reads a message of the client process using a reflective memory library from an allocated local data area and reflects a response message. Memory live The step of writing by using the Li, the client process provides the communication network comprises a reading out step by using a reflective memory library, the response message of the server process in the local data area allocated.

이하, 첨부 도면 도1 내지 도4를 참조하여 본 발명에 따른 실시간 네트워크 통신 방법 및 시스템의 양호한 실시예를 상세히 설명한다.Hereinafter, preferred embodiments of a real-time network communication method and system according to the present invention will be described in detail with reference to the accompanying drawings.

도1은 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터의 구성도이다. 도1을 참조하면, 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터(100)는 네트워크 통신을 위해 필요한 프로세스를 생성하는 마이크로 프로세서(110)와 프로세스가 생성하는 데이터를 저장할 수 있는 메인 메모리(120), 네트워크 통신을 통해 전송 받은 데이터 또는 전송해야 할 데이터를 저장하고 있는 로컬 기억 수단으로서 하드디스크(130)를 구비하고 있다.1 is a block diagram of a host computer constituting a network communication system according to the present invention. Referring to FIG. 1, the host computer 100 constituting the network communication system according to the present invention includes a microprocessor 110 for generating a process required for network communication and a main memory 120 for storing data generated by the process. ), A hard disk 130 is provided as a local storage means for storing the data received through network communication or the data to be transmitted.

또한, 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터(100)는 마이크로 프로세서(110), 메인 메모리(120), 하드디스크(130) 이외에 리플렉티브 메모리(reflective memory; RFM; 140)를 구비하는 것을 특징으로 한다.In addition, the host computer 100 constituting the network communication system according to the present invention includes a reflective memory (RFM) 140 in addition to the microprocessor 110, the main memory 120, and the hard disk 130. Characterized in that.

본 발명의 바람직한 실시예로 사용되는 RFM(140)은 호스트 컴퓨터(100)의 PCI 슬롯에 장착되어 사용될 수 있으며, 데이터를 송수신할 수 있는 송수신 포트를 구비하여 데이터 송수신 수단(300)과 연결될 수 있다. 또한, 송수신 포트에 연결된 데이터 송수신 수단(300)을 이용하여, 하드웨어적으로 RFM(140)에 연결된 다른 RFM과 동일한 메모리 구조를 가질 수 있다.The RFM 140 used as a preferred embodiment of the present invention may be mounted and used in a PCI slot of the host computer 100, and may be connected to the data transmission / reception means 300 having a transmission / reception port for transmitting and receiving data. . In addition, the data transmission / reception unit 300 connected to the transmission / reception port may have the same memory structure as other RFMs connected to the RFM 140 in hardware.

도2a는 본 발명에 따른 네트워크 통신 시스템을 구성하는 호스트 컴퓨터에 장착된 RFM의 메모리 영역을 나타낸 도면이다. 도2a를 참조하면, RFM(140)의 메모리 영역(400)과 메모리 주소(480)가 도시되어 있다.2A is a diagram showing a memory area of an RFM mounted in a host computer constituting a network communication system according to the present invention. Referring to FIG. 2A, a memory area 400 and a memory address 480 of the RFM 140 are shown.

RFM(140)의 메모리 영역(400)은 RFM 장치 드라이버 사용 영역(410), 베이스 레지스터(base register) 영역(420), 메타 데이터베이스(metadatabase) 영역(430), 사용자 데이터 영역(440)으로 구성될 수 있다.The memory area 400 of the RFM 140 may include an RFM device driver use area 410, a base register area 420, a metadatabase area 430, and a user data area 440. Can be.

본 발명의 바람직한 실시예로서, RFM 장치 드라이버 사용 영역(410)은 RFM(140)의 메모리 영역(400) 0x0000번지부터 0x0040번지까지의 64 바이트(byte) 영역이 될 수 있으며, RFM 장치 드라이버가 RFM(140)의 구동을 위해 사용하는 데이터를 저장할 수 있다.In a preferred embodiment of the present invention, the RFM device driver usage area 410 may be a 64 byte area from 0x0000 to 0x0040 of the memory area 400 of the RFM 140, and the RFM device driver may be an RFM. Data used for driving the 140 may be stored.

본 발명에 따른 RFM(140)의 베이스 레지스터 영역(420)은 RFM 장치 드라이버 영역(410) 이후 0x0044 번지까지의 영역으로, RFM(140)의 메모리 영역 중 사용자가 사용 가능한 영역의 시작 주소를 저장할 수 있다.The base register area 420 of the RFM 140 according to the present invention is an area from the RFM device driver area 410 to the address 0x0044, and may store a start address of a user available area of the memory area of the RFM 140. have.

또한, 메타데이터베이스 영역(430)은 베이스 레지스터 영역(420) 이후 0x04B4 바이트만큼의 크기를 점유하는 영역으로, 사용자 데이터 영역(440) 내에 저장될 데이터에 할당되는 로컬 데이터 영역의 정보를 저장할 수 있다. 본 발명의 바람직한 실시예로서, 로컬 데이터 영역 정보는 해당 데이터를 RFM(140)에 저장하기 위하여 할당되는 로컬 데이터 영역의 시작 주소(reflective memory address identifier; RfmID)와 할당된 로컬 데이터 영역의 사이즈(reflective memory size; RfmSize), 해당 데이터를 구분할 수 있도록 해주는 구분자(reflective memory key; RfmKey) 등을 포함 할 수 있다.In addition, the metadata area 430 is an area occupying a size of 0x04B4 bytes after the base register area 420 and may store information of a local data area allocated to data to be stored in the user data area 440. In a preferred embodiment of the present invention, the local data area information includes a reflective memory address identifier (RfmID) of the local data area allocated for storing the corresponding data in the RFM 140 and the size of the allocated local data area. memory size; RfmSize), and a delimiter to distinguish the data.

본 발명에 따른 RfmKey의 바람직한 실시예로서, 마이크로 프로세서(110)에서 생성된 프로세스가 데이터를 RFM(140)저장할 경우에 결정할 수 있으며, '0'부터 RFM(140)의 메모리 영역(400)에 할당할 수 있는 로컬 데이터 영역의 최대 개수를 나타내는 정수 사이에서 결정될 수 있다.As a preferred embodiment of the RfmKey according to the present invention, a process generated in the microprocessor 110 may determine when the data is stored in the RFM 140, and is allocated from '0' to the memory area 400 of the RFM 140. Can be determined between integers representing the maximum number of local data areas that can be.

도2b는 본 발명에 따른 RFM의 메모리 영역을 할당하는 일 실시예를 나타낸 도면이다. 도2b를 참조하면, 사용자 데이터 영역(440) 중 0x04f8 번지부터 0x09AC번지는 이미 데이터 저장을 위한 할당된 로컬 데이터 영역(441)이며, 0x09AD 번지 이후는 미할당 영역(442)이다. 따라서, 베이스 레지스터 영역(420)에는 RFM(140) 메모리 영역(400) 중 사용 가능한 메모리 영역의 시작 주소(425)인 0x09AD 값이 저장되어 있다.2B illustrates an embodiment of allocating a memory area of an RFM according to the present invention. Referring to FIG. 2B, addresses 0x04f8 to 0x09AC in the user data area 440 are already allocated local data areas 441 for data storage, and after address 0x09AD, they are unallocated areas 442. Accordingly, the base register region 420 stores a value of 0x09AD, which is a start address 425 of an available memory region of the RFM 140 memory region 400.

또한, 메타 데이터베이스 영역(430)에는 데이터를 위해 이미 할당된 로컬 데이터 영역(441)의 로컬 데이터 영역 정보(450)인 RfmKey(451), RfmID(452), RfmSize(453)가 저장되어 있다. 즉, RfmID(452)값으로는 데이터 저장을 위해 할당된 로컬 데이터 영역(441)의 시작 주소인 0x04F8 값이 저장되어 있으며, 또한RfmSize(452)값으로는 로컬 데이터 영역(441)의 크기인 0x04B4 값이 저장되어 있다.In addition, the meta database area 430 stores RfmKey 451, RfmID 452, and RfmSize 453, which are local data area information 450 of the local data area 441, which is already allocated for data. That is, the RfmID 452 value stores 0x04F8, which is the start address of the local data area 441 allocated for data storage, and the RfmSize 452 value, 0x04B4, which is the size of the local data area 441. The value is stored.

따라서, 마이크로 프로세서(110)가 생성한 프로세스에 의해 정해진 RfmKey(451) 값만 알면, RfmKey(451) 값을 가지고 메타데이터베이스 영역(430)을 검색하여 해당 RfmID(452)와 RfmSize(453)를 얻어 RFM(140)의 로컬 데이터 영역(441)에 데이터를 저장 또는 독출할 수 있다.Accordingly, if only the RfmKey 451 value determined by the process generated by the microprocessor 110 is known, the metadata area 430 is searched with the RfmKey 451 value to obtain the corresponding RfmID 452 and RfmSize 453 to obtain the RFM. Data may be stored or read in the local data area 441 of 140.

도3a는 본 발명의 제1 실시예에 따른 네트워크 통신 시스템의 시스템 구성도이다. 도3a를 참조하면, 본 발명의 제1 실시예에 따른 네트워크 통신 시스템을 구성하는 제1 호스트(100)와 제2 호스트(200)는 각각 PCI 슬롯에 RFM(140,240)을 장착하고 있으며, RFM(140, 240)의 송수신 포트에 데이터 송수신 수단(300)을 연결하므로 서로 접속하고 있다.3A is a system configuration diagram of a network communication system according to a first embodiment of the present invention. Referring to FIG. 3A, the first host 100 and the second host 200 constituting the network communication system according to the first embodiment of the present invention are equipped with RFMs 140 and 240 in PCI slots, respectively. Since the data transmission and reception means 300 are connected to the transmission and reception ports of the 140 and 240, the connection is performed.

본 발명의 바람직한 실시예로서, 데이터 송수신 수단(300)은 광 케이블(300)이 사용될 수 있으며, 사용된 광 케이블(300)은 나노초(nano-second) 이하의 빠른 전송 속도로 데이터를 전송할 수 있다. 따라서, 제1 호스트(100)에 장착된 RFM(140)에 기입되는 데이터는 기입됨과 동시에 자동으로 광 케이블(300)을 통하여 제2 호스트(200)에 장착된 RFM(240)에 전송되어 기입되므로, 거의 실시간(real time)으로 RFM(140,240)의 데이터가 동기화(synchronize)될 수 있다.As a preferred embodiment of the present invention, the data transmission and reception means 300 may be an optical cable 300, the optical cable 300 used can transmit data at a high transmission rate of less than nanoseconds (nano-second) . Therefore, data written to the RFM 140 mounted on the first host 100 is written and automatically transmitted to the RFM 240 mounted on the second host 200 through the optical cable 300. The data of the RFMs 140 and 240 can be synchronized in near real time.

도3b는 본 발명의 제1 실시예에 따른 네트워크 통신을 위한 초기 동작을 나타낸 도면이다. 도3b를 참조하면, 제1 호스트(100)와 제2 호스트(200)가 도시되어 있으며, 각 호스트(100, 200)에 장착된 RFM(140, 240)은 광 케이블(300)을 통해 접속되어 있다. 본 발명에 따른 바람직한 실시예로서, 제1 호스트(100)는 서버가 될 수 있으며, 제2 호스트(200)는 클라이언트가 될 수 있다.3B is a diagram showing an initial operation for network communication according to the first embodiment of the present invention. Referring to FIG. 3B, a first host 100 and a second host 200 are illustrated, and RFMs 140 and 240 mounted on each host 100 and 200 are connected through an optical cable 300. have. In a preferred embodiment according to the present invention, the first host 100 may be a server and the second host 200 may be a client.

본 발명에 따른 바람직한 실시예를 따르면, 각 호스트(100, 200)의 마이크로 프로세서(110, 210)는 각각 서버 프로세스(115)와 클라이언트 프로세스(215)를 생성하고, RFM 라이브러리를 이용하여 RFM(140, 240)에 RfmKey 값을 가지고, RFM(140, 240)의 메모리 영역(400) 해당 RfmKey에 대한 로컬 데이터 영역을 할당한다.According to a preferred embodiment of the present invention, the microprocessors 110 and 210 of each host 100 and 200 generate a server process 115 and a client process 215, respectively, and use an RFM library using the RFM library. , 240 has an RfmKey value, and the memory area 400 of the RFMs 140 and 240 allocates a local data area for the corresponding RfmKey.

본 발명에 따른 바람직한 실시예로서, RFM 라이브러리는 RFM(140, 240) 장치를 오픈하는(RfmOpen) 함수, RFM(140, 240) 장치를 클로즈하는(RfmClose) 함수, RFM(140, 240) 장치를 초기화하는(RfmInit) 함수, 프로세스가 설정한 RfmKey 값을 가지고 RFM(140, 240)의 메모리 영역의 RfmID 값을 얻어내는(RfmGet) 함수, RfmID 값을 가지고 RfmID 값을 시작 주소로 하는 RFM(140, 240)의 메모리 영역을 가리키는 메인 메모리(120) 상의 포인터를 얻어내는(RfmAttach) 함수, 특정 RfmKey 값의 세마퍼(semaphore) 잠금 상태를 설정하는(RfmSemLock) 함수, 특정 RfmKey 값의 세마퍼 잠금 상태를 해제하는(RfmSemUnlock) 함수, RFM(140, 240)에 저장된 데이터의 내용을 강제적으로 동기화시키는(RfmSync) 함수를 포함할 수 있다.In a preferred embodiment of the present invention, the RFM library includes a function of opening the RFM 140, 240 device (RfmOpen), a function of closing the RFM 140, 240 device (RfmClose), an RFM 140, 240 device. Function to initialize (RfmInit), get RfmID value of memory area of RFM (140, 240) with RfmKey value set by process (RfmGet), RFM (140, with RfmID value as starting address) A function that obtains a pointer on main memory 120 pointing to a memory area of 240 (RfmAttach), sets a semaphore lock state for a specific RfmKey value, and sets the semaphore lock state for a specific RfmKey value. The RfmSemUnlock function may include a function of forcibly synchronizing the contents of data stored in the RFMs 140 and 240 (RfmSync).

본 발명의 양호한 실시예로서, RfmSync 함수는 서버(100)에 장착된 RFM(140)의 메모리 영역(400)에 저장된 데이터를 다시 한번 RFM(140)에 기입하므로, 각각의 RFM(140, 240)의 메모리 영역(400)에 저장된 데이터를 강제적으로 동기화 시킬 수 있다.In a preferred embodiment of the present invention, the RfmSync function writes data stored in the memory area 400 of the RFM 140 mounted on the server 100 to the RFM 140 once again, so that the respective RFMs 140, 240 The data stored in the memory area 400 may be forcibly synchronized.

본 발명의 양호한 실시예로서, RfmSemLock 함수와 RfmSemUnlock 함수는 세마퍼의 상태를 변화시키는 함수로, 각 호스트(100, 200)의 마이크로프로세서(110, 210)가 동시에 RFM(140,240)의 동일한 메모리 영역을 액세스하는 것을 방지하고, 데이터를 저장 또는 독출할 경우 이벤트 신호를 발생시키기 위하여 사용될 수 있다.In a preferred embodiment of the present invention, the RfmSemLock function and the RfmSemUnlock function are functions for changing the state of the semaphore, so that the microprocessors 110 and 210 of each host 100 and 200 simultaneously share the same memory area of the RFM 140 and 240. It can be used to prevent access and to generate event signals when storing or reading data.

즉, 제1 호스트(100)에서 RFM(140, 240)에 데이터를 저장 또는 독출하기 전에 RfmSemLock 함수를 실행하여 해당 데이터의 RfmKey에 대한 세마퍼(semaphore)를 잠금 상태로 설정한 후 데이터를 저장 또는 독출하여, 제2 호스트(200)가 해당 RfmKey 값을 가지고 RFM(140, 240)의 동일한 메모리 영역에 액세스하는 것을 방지하여 데이터의 오류가 발생하지 않도록 한다.That is, before the first host 100 stores or reads data in the RFMs 140 and 240, the RfmSemLock function is executed to set a semaphore for the RfmKey of the corresponding data and then store the data. The second host 200 is prevented from accessing the same memory area of the RFMs 140 and 240 with the corresponding RfmKey value so that no data error occurs.

또한, 제1 호스트(100)가 데이터의 저장 또는 독출이 끝나면 RfmSemUnlock 함수를 실행하여 세마퍼(semaphore) 잠금 상태를 해제하며, 제2 호스트(200)가 RFM(140, 240)의 해당 영역을 액세스할 수 있게 한다. 또한, 제2 호스트(200)는 특정 RfmKey에 대한 세마퍼(semaphore)의 잠금 상태가 변화하는 것을 감지하여, 제1 호스트가 RFM(140, 240)을 액세스 한 것을 인식할 수 있다.In addition, when the first host 100 finishes storing or reading data, the RfmSemUnlock function is executed to release the semaphore lock state, and the second host 200 accesses a corresponding area of the RFMs 140 and 240. Make it possible. In addition, the second host 200 may detect that the lock state of the semaphore for the specific RfmKey changes, and recognize that the first host has accessed the RFMs 140 and 240.

도3c는 본 발명에 따른 RFM 라이브러리 내의 RFM 장치를 초기화는 함수의 작업 흐름을 나타낸 흐름도이다. 도3c를 참조하면, RFM(140, 240) 장치를 초기화하는 RfmInit 함수는 RFM(140, 240)의 메모리 영역(400)을 각 호스트(100, 200)의 메인 메모리(120, 220)의 메모리 영역에 매핑시키고(단계 S501), RFM(140, 240)에 베이스 레지스터 영역(420)을 할당한다(단계 S502).3C is a flow diagram illustrating the workflow of a function of initializing an RFM device in an RFM library in accordance with the present invention. Referring to FIG. 3C, the RfmInit function for initializing the RFM 140, 240 device may include a memory area 400 of the RFM 140, 240 and a memory area of the main memory 120, 220 of each host 100, 200. (Step S501), the base register area 420 is allocated to the RFMs 140 and 240 (step S502).

이어서, RFM(140, 240)메모리 영역에 대한 세마퍼를 생성하고, 초기 값을 설정한다(단계 S503). 세마퍼의 생성 및 초기값 설정이 끝나면 이어서, 메타 데이터베이스 영역(430)을 할당하고(단계 S504), 메타 데이터베이스 영역(430)이후 사용자가 사용 가능한 사용자 데이터 영역(440)의 시작 주소를 베이스 레지스터(420) 값으로 업데이트한다(단계 S505).Subsequently, a semaphore is generated for the RFM 140, 240 memory area, and an initial value is set (step S503). After the generation of the semaphore and the initial value setting are completed, the meta database area 430 is allocated (step S504), and the start address of the user data area 440 available to the user after the meta database area 430 is assigned to the base register ( 420) update to a value (step S505).

도3d는 본 발명에 따른 RfmKey 값과 RFM 라이브러리를 이용하여 RFM에 로컬 데이터 영역을 할당하는 흐름을 나타낸 흐름도이다. 도3d를 참조하면 각 호스트(100, 200)의 서버 프로세스(115) 및 클라이언트 프로세스(215)는 RfmOpen 함수를 실행하여 RFM(140, 240)장치를 오픈한다(단계 S601).3d is a flowchart illustrating a flow of allocating a local data area to an RFM using an RfmKey value and an RFM library according to the present invention. Referring to FIG. 3D, the server process 115 and the client process 215 of each host 100, 200 execute the RfmOpen function to open the RFM 140, 240 device (step S601).

또한, RfmInit 함수를 실행하여, 베이스 레지스터(420), 메타 데이터베이스 영역(430)을 할당한다(단계 S602). 이어서, 서버 프로세스(115) 또는 클라이언트 프로세스(215)는 RfmKey 값을 결정하고, 베이스 레지스터(420)로부터 사용자 데이터 영역(440) 중 사용 가능한 영역의 시작 주소를 RFM 라이브러리를 이용하여 독출하고, RfmSize 값만큼 사용자 데이터 영역(440) 상에 RfmKey 값에 대한 로컬 데이터 영역을 확보한다(단계 S603).Further, the RfmInit function is executed to allocate the base register 420 and the meta database area 430 (step S602). The server process 115 or client process 215 then determines the RfmKey value, reads from the base register 420 the start address of the available area of the user data area 440 using the RFM library, and reads the RfmSize value. As much as the local data area for the RfmKey value is reserved on the user data area 440 (step S603).

이어서, 베이스 레지스터로(420)부터 독출된 사용 가능한 영역의 시작 주소를 RfmID로 하여, RfmKey, RfmID, RfmSize 등의 로컬 데이터 영역 정보를 메타 데이터베이스 영역(430)에 RFM 라이브러리를 이용하여 저장한다(단계 S604).Subsequently, local data area information such as RfmKey, RfmID, and RfmSize is stored in the meta database area 430 using the RFM library, with the start address of the usable area read out from the base register 420 as RfmID (step Sfm). S604).

도3e는 본 발명에 따른 RFM 라이브러리를 이용한 데이터 저장 또는 독출 방법을 나타낸 흐름도이다. 도3e를 참조하면, RfmKey 값을 가지고 RfmGet 함수를 실행하여 RfmID를 독출하고(단계 S701), 독출된 RfmID를 가지고, RfmAttach함수를 실행하여 RfmID를 시작 주소로 하는 영역을 가리키는 메인 메모리 상의 포인터를 얻어낸다(단계 S702).3E is a flowchart illustrating a data storage or reading method using an RFM library according to the present invention. Referring to FIG. 3E, the RfmGet function is executed to read the RfmID by using the RfmKey value (step S701), and the RfmID is executed to execute the RfmAttach function to obtain a pointer in the main memory indicating the region having the RfmID as the starting address. (Step S702).

이어서, RfmKey 값에 대한 세마퍼를 RfmSemLock 함수를 실행하여 세마퍼 잠금 상태를 설정하고(단계 S703), RfmAttach 함수로 얻은 포인터가 가리키는 영역에 데이터를 저장 또는 독출하고(단계 S704), 다시 RfmKey 값을 가지고 RfmSemUnlock 함수를 실행하여 해당 세마퍼 잠금 상태를 해제한다(단계 S705).Subsequently, the semaphore for the RfmKey value is executed by executing the RfmSemLock function to set the semaphore lock state (step S703), and the data is stored or read in the area pointed to by the pointer obtained by the RfmAttach function (step S704), and the RfmKey value is again obtained. The RfmSemUnlock function is executed to release the semaphore lock state (step S705).

본 발명에 따르면, RFM 라이브러리에 포함되어 있는 RfmGet 함수와 RfmAttach 함수를 사용하여, 각 호스트(100, 200)의 마이크로 프로세서(110, 210)는 마치 메인 메모리에 데이터를 저장 또는 독출하는 것과 같이 RFM의 메모리 영역에 데이터를 저장 또는 독출할 수 있다.According to the present invention, by using the RfmGet function and the RfmAttach function included in the RFM library, the microprocessors 110 and 210 of each host 100 and 200 store the RFM as if the data is stored or read in main memory. Data can be stored or read in the memory area of the memory.

본 발명의 바람직한 실시예로서, 특정한 데이터 값을 저장 또는 독출하기 위해 선정된 RfmKey 값을 사용할 수 있다. 즉, 베이스 레지스터 영역(420)에 데이터를 저장 또는 독출하기 위한 RfmKey 값은 '0'을 사용할 수 있으며, 또한, 메타 데이터베이스 영역(430)에 데이터를 저장 및 독출하기 위한 RfmKey 값은 '1'을 사용할 수 있다.As a preferred embodiment of the present invention, a predetermined RfmKey value may be used for storing or reading specific data values. That is, the RfmKey value for storing or reading data in the base register area 420 may use '0', and the RfmKey value for storing and reading data in the meta database area 430 may read '1'. Can be used.

도3f는 본 발명의 제1 실시예에 따른 네트워크 통신 방법을 나타낸 흐름도이다. 도3f를 참조하면, 서버 프로세스(115) 및 클라이언트 프로세스(215)가 RFM(140, 240)을 오픈하고, 초기화하면(단계 S801), 서버 프로세스(115)는 RfmKey값을 결정하고, 데이터 저장 영역을 할당하여, 메타 데이터베이스 영역(430)에 데이터 영역 정보를 저장한다(단계 S802).3F is a flowchart showing a network communication method according to the first embodiment of the present invention. Referring to FIG. 3F, when the server process 115 and the client process 215 open and initialize the RFMs 140 and 240 (step S801), the server process 115 determines the RfmKey value and the data storage area. To store the data area information in the meta database area 430 (step S802).

이어서, 클라이언트 프로세스(215)는 서버 프로세스(115)로부터 RfmKey 값을 통지 받고, 통지 받은 RfmKey 값을 가지고 메타 데이터베이스 영역(430)을 검색하여 RfmID를 얻는다. 또한, 얻은 RfmID를 가지고, 할당된 데이터 영역을 가리키는 메인 메모리(120, 220) 상의 포인터를 얻는다(단계 S803). RfmID로 얻은 포인터를 이용하여 RFM(140, 240) 영역에 데이터 요청 메시지를 기입한다(단계 S804).Subsequently, the client process 215 is notified of the RfmKey value from the server process 115, searches the meta database area 430 with the notified RfmKey value, and obtains an RfmID. Further, with the obtained RfmID, a pointer on main memory 120, 220 indicating the allocated data area is obtained (step S803). The data request message is written to the RFMs 140 and 240 using the pointer obtained as the RfmID (step S804).

서버 프로세스(115)는 데이터 요청 메시지 기입에 따른 세마퍼 잠금 상태의 변화를 인식하여, 클라이언트 프로세스(215)의 데이터 요청 메시지를 RFM(140)으로 부터 독출하고(단계 S805), 데이터 요청 메시지에 상응하는 데이터를 제1 호스트(100)의 하드디스크(130)로부터 독출하여 제1 호스트(100)의 RFM(140)에 기입한다(단계 S806).The server process 115 recognizes the change in the semaphore lock state according to the writing of the data request message, reads the data request message of the client process 215 from the RFM 140 (step S805), and corresponds to the data request message. The data to be read is read from the hard disk 130 of the first host 100 and written to the RFM 140 of the first host 100 (step S806).

또한, 클라이언트 프로세스(215)는 서버 프로세스(115)가 제1 호스트(100)의 하드디스크(130)로부터 데이터를 독출하여 제1 호스트(100)의 RFM(140)에 기입하므로 발생하는 세마퍼 잠금 상태의 변화를 인식하여, 실시간으로 업데이트된 제2 호스트(200)의 RFM(240)으로부터 요청한 데이터를 독출하여 하드디스크(230)로 저장한다.In addition, the client process 215 is a semaphore lock that occurs because the server process 115 reads data from the hard disk 130 of the first host 100 and writes the data to the RFM 140 of the first host 100. Recognizing a change in state, the requested data is read from the RFM 240 of the second host 200 updated in real time and stored in the hard disk 230.

한편, 클라이언트 프로세스(215)가 서버 프로세스(115)로부터 RfmKey 값을 통지 받는 단계는 서버 프로세스(115)가 선정된 RfmKey 값을 이용하여 클라이언트 프로세스(215)에 부여할 RfmKey 값을 RFM(140, 240)에 저장하고, 클라이언트 프로세스(215)는 상기 선정된 RfmKey 값을 가지고 RfmGet 함수와 RfmAttach 함수를 실행하여 제2 호스트(200)의 클라이언트 프로세스(215)에 할당된 RfmKey 값을 독출하는 단계로 할 수 있다.Meanwhile, in the step in which the client process 215 is notified of the RfmKey value from the server process 115, the RFM 140, 240 may assign the RfmKey value to the client process 215 using the selected RfmKey value. ), And the client process 215 executes the RfmGet function and the RfmAttach function with the selected RfmKey value to read the RfmKey value assigned to the client process 215 of the second host 200. Can be.

또한, 제1 호스트(100)의 하드디스크(130)로부터 데이터를 독출하여 RFM (140, 240)에 기입하는 단계(단계 S806)는 제1 호스트(100)가 제2 호스트(200)의 요청 메시지에 대한 답신 메시지를 RFM(140)에 기입하는 것으로 대신할 수 있다. 제2 호스트(200)가 RFM(240)에 기입된 데이터를 독출하여 하드디스크(230)에 저장하는 것(단계 S807)은 제2 호스트(200)가 제1 호스트(100)의 답신 메시지를 RFM(140, 240)으로부터 독출하는 것으로 대신할 수 있다.In addition, the step of reading data from the hard disk 130 of the first host 100 and writing the data to the RFMs 140 and 240 (step S806) is performed by the first host 100 requesting a message from the second host 200. This can be done by writing a reply message to RFM 140. When the second host 200 reads the data written in the RFM 240 and stores the data in the hard disk 230 (step S807), the second host 200 transmits the reply message of the first host 100 to the RFM. It can be substituted by reading from 140 and 240.

또한, 본 발명의 바람직한 실시예로서, 제1 호스트(100)의 하드디스크(130)로부터 데이터를 독출하여 RFM(140)에 기입하는 단계(단계 S806)와 제2 호스트(200)의 RFM(240)으로부터 데이터를 독출하여 하드디스크(230)로 저장하는 단계(단계 S807)는 데이터의 크기에 따라 한번 또는 그 이상 반복될 수 있다.In addition, as a preferred embodiment of the present invention, the step of reading data from the hard disk 130 of the first host 100 to write to the RFM 140 (step S806) and the RFM 240 of the second host 200 In step S807, the data is read out and stored in the hard disk 230 (step S807), and may be repeated once or more depending on the size of the data.

본 발명은 실시간으로 업데이트되는 RFM(140, 240)을 통하여 회선에 의한 지연 없이 곧바로 원거리 호스트에 있는 데이터를 빠른 시간 내에 자신이 장착하고 있는 RFM으로부터 독출할 수 있다. 또한, 본 발명에 따른 RFM 라이브러리를 사용하면 사용자는 메인 메모리 상에 데이터 저장 또는 독출하는 것과 같은 효과를 얻을 수 있다.According to the present invention, the RFMs 140 and 240 that are updated in real time can immediately read data in the remote host from the RFM that they are equipped with in a short time without delay by the circuit. In addition, by using the RFM library according to the present invention, the user can obtain an effect such as storing or reading data on the main memory.

도4a는 본 발명에 따른 제2 실시예에 따른 네트워크 통신 시스템의 구성도이다. 도4a를 참조하면, 제1 호스트(100)와 링 타입으로 광 케이블(300)에 연결되어 있는 각 호스트(200)가 도시되어 있다. 본 발명의 바람직한 실시예로서, 제1 호스트(100)는 서버(100)일 수 있으며, 각 호스트(200)는 클라이언트 호스트(200)가 될 수 있다.4A is a block diagram of a network communication system according to a second embodiment of the present invention. Referring to FIG. 4A, each host 200 connected to the optical cable 300 in a ring type with the first host 100 is illustrated. In a preferred embodiment of the present invention, the first host 100 may be a server 100, and each host 200 may be a client host 200.

본 발명에 따른 서버(100) 및 클라이언트 호스트(200)는 RFM 라이브러리를 이용하여 RFM(140, 240)을 오픈하고 초기화한다. 또한, 클라이언트 호스트(200)는 서버(100)에서 부여하는 RfmKey 값을 이용하여 네트워크 통신을 위한 RFM(140, 240)의 메모리 영역(400)을 할당받는다. 즉, RFM(140, 240)의 메모리 영역(400)에 로컬 데이터 영역 할당받아 각 호스트(100, 200)는 메시지 또는 데이터를 주고받을 수 있다.The server 100 and the client host 200 according to the present invention open and initialize the RFMs 140 and 240 using the RFM library. In addition, the client host 200 is allocated a memory area 400 of the RFMs 140 and 240 for network communication using the RfmKey value assigned by the server 100. That is, each host 100 or 200 may receive a local data area in the memory area 400 of the RFMs 140 and 240 so as to exchange a message or data.

본 발명의 제2 실시예는 실시간으로 업데이트되는 RFM(140, 240)을 통하여 각 클라이언트 호스트(200)는 빠른 시간 내에 서버(100)로부터 데이터를 얻을 수 있도록 항상 일정한 네트워크 전송 속도를 보장할 수 있다.According to the second embodiment of the present invention, each client host 200 may guarantee a constant network transmission speed so that each client host 200 may obtain data from the server 100 in a short time through the RFMs 140 and 240 updated in real time. .

도4b는 본 발명의 제2 실시예에 따른 네트워크 통신 시스템에 적용될 수 있는 RFM 메모리 영역 할당 방법의 일 실시예를 나타낸 도면이다. 도4b를 참조하면, RFM(140, 240)의 메모리 영역(400)과 메모리 주소(480)가 도시되어 있다. RFM(140, 240)의 메모리 영역(400)은 RFM 장치 드라이버 사용 영역(410), 베이스 레지스터 영역(420), 메타 데이터 베이스 영역(430), 사용자 데이터 영역(440) 등으로 구분될 수 있다.4B is a diagram illustrating an RFM memory area allocation method that can be applied to a network communication system according to a second embodiment of the present invention. Referring to FIG. 4B, the memory area 400 and the memory address 480 of the RFMs 140 and 240 are shown. The memory area 400 of the RFMs 140 and 240 may be divided into an RFM device driver use area 410, a base register area 420, a meta database area 430, a user data area 440, and the like.

본 발명에 따라 서버(100)에 접속한 다수의 클라이언트 호스트(200)는 서버(100)로부터 서로 다른 RfmKey 값(901, 902, 903)을 부여받아 서로 다른 로컬 데이터 영역(911, 912, 913)을 할당받을 수 있다. 따라서, 각 클라이언트호스트(200)는 서로 독립적으로 서버(100)와 네트워크 통신을 수행할 수 있다.According to the present invention, a plurality of client hosts 200 accessing the server 100 receive different RfmKey values 901, 902, and 903 from the server 100, and thus, different local data areas 911, 912, and 913. Can be assigned. Accordingly, each client host 200 may perform network communication with the server 100 independently of each other.

도4c는 본 발명의 제2 실시예에 따른 네트워크 통신 시스템에서 사용될 수 있는 RFM 메모리 영역 할당 방법의 또 다른 실시예를 나타낸 도면이다. 도4c를 참조하면, RFM(140, 240)의 메모리 영역(400)과 메모리 주소(480)가 도시되어 있다. RFM(140, 240)의 메모리 영역(400)은 RFM 장치 드라이버 사용 영역(410), 베이스 레지스터 영역(420), 메타 데이터 베이스 영역(430), 사용자 데이터 영역(440) 등으로 구분될 수 있다.4C is a diagram illustrating another embodiment of an RFM memory area allocation method that may be used in a network communication system according to a second embodiment of the present invention. Referring to FIG. 4C, the memory area 400 and the memory address 480 of the RFMs 140 and 240 are shown. The memory area 400 of the RFMs 140 and 240 may be divided into an RFM device driver use area 410, a base register area 420, a meta database area 430, a user data area 440, and the like.

본 발명의 바람직한 실시예로서, 서버(100)에 접속한 다수의 클라이언트 호스트(200)는 서버(100)로부터 동일한 RfmKey(904) 값을 부여받아 동일한 로컬 데이터 영역(914)을 할당받을 수 있다. 따라서, 각 클라이언트 호스트(200)는 각 호스트(200)에 장착된 RFM(140, 240)의 메모리 영역(400) 중 동일한 로컬 데이터 영역(914)을 참조하여 서로 데이터를 동시에 공유할 수 있다. 즉, 서버(100)에 의하여 로컬 데이터 영역(914)의 데이터가 변경되는 경우, 모든 클라이언트 호스트(200)는 동일한 데이터를 자신이 장착하고 있는 RFM(200)에서 곧바로 참조하게 된다.As a preferred embodiment of the present invention, a plurality of client hosts 200 accessing the server 100 may be assigned the same RfmKey 904 value from the server 100 and may be assigned the same local data area 914. Accordingly, each client host 200 may simultaneously share data with each other by referring to the same local data area 914 among the memory areas 400 of the RFMs 140 and 240 mounted in each host 200. That is, when the data of the local data area 914 is changed by the server 100, all the client hosts 200 directly refer to the same data in the RFM 200 to which they are mounted.

전술한 내용은 후술할 발명의 특허 청구 범위를 보다 잘 이해할 수 있도록 본 발명의 특징과 기술적 장점을 다소 폭넓게 개설하였다. 본 발명의 특허 청구 범위를 구성하는 부가적인 특징과 장점들이 이하에서 상술될 것이다. 개시된 본 발명의 개념과 특정 실시예는 본 발명과 유사 목적을 수행하기 위한 다른 구조의 설계나 수정의 기본으로서 즉시 사용될 수 있음이 당해 기술 분야의 숙련된 사람들에 의해 인식되어야 한다.The foregoing has outlined rather broadly the features and technical advantages of the present invention to better understand the claims of the invention which will be described later. Additional features and advantages that make up the claims of the present invention will be described below. It should be appreciated by those skilled in the art that the conception and specific embodiments of the invention disclosed may be readily used as a basis for designing or modifying other structures for carrying out similar purposes to the invention.

또한, 본 발명에서 개시된 발명 개념과 실시예가 본 발명의 동일 목적을 수행하기 위하여 다른 구조로 수정하거나 설계하기 위한 기초로서 당해 기술 분야의 숙련된 사람들에 의해 사용되어질 수 있을 것이다. 또한, 당해 기술 분야의 숙련된 사람에 의한 그와 같은 수정 또는 변경된 등가 구조는 특허 청구 범위에서 기술한 발명의 사상이나 범위를 벗어나지 않는 한도 내에서 다양한 변화, 치환 및 변경이 가능하다.In addition, the inventive concepts and embodiments disclosed herein may be used by those skilled in the art as a basis for modifying or designing other structures for carrying out the same purposes of the present invention. In addition, such modifications or altered equivalent structures by those skilled in the art may be variously changed, substituted, and changed without departing from the spirit or scope of the invention described in the claims.

이상과 같이, 본 발명은 네트워크 통신 시스템을 구성하고 있는 복수 개의 호스트 컴퓨터가 실시간으로 업데이트되는 리플렉티브 메모리를 구비하고, 리플렉티브 메모리 상에 호스트 컴퓨터 사이에 참조할 수 있는 고유한 메모리 영역을 할당하고, 할당된 메모리 영역에 메시지 또는 데이터를 기입함으로써, 기존 네트워크 방식의 회선 지연에 의한 전송 지연 없이 빠른 시간 안에 메시지 또는 데이터를 주고받을 수 있으며, 네트워크 트래픽에 관계없이 데이터 및 메시지를 주고받는데 항상 일정한 속도를 유지할 수 있다.As described above, the present invention provides a unique memory area having a reflective memory in which a plurality of host computers constituting a network communication system are updated in real time, and which can be referred to between host computers on the reflective memory. By allocating and writing a message or data in the allocated memory area, it is possible to send and receive a message or data in a short time without transmission delay caused by a conventional network delay, and to send and receive data and messages regardless of network traffic. Can maintain a constant speed.

또한, 메시지 또는 데이터를 주고받는데 있어서, RFM 라이브러리를 사용함으로써, 각 호스트들은 마치 자신의 메인 메모리에 데이터를 기입하고, 독출하는 것과 같은 효과를 얻을 수 있다.In addition, by using the RFM library to send and receive messages or data, each host can achieve the same effect as writing and reading data into its main memory.

Claims (20)

네트워크를 통해 서로 접속된 복수 개의 호스트로 구성된 네트워크 통신 시스템에 있어서, 상기 호스트는In the network communication system consisting of a plurality of hosts connected to each other via a network, the host is 상기 네트워크 통신을 위해 필요한 프로세스를 생성하는 마이크로프로세서;A microprocessor for generating a process necessary for said network communication; 상기 프로세스가 생성하는 데이터를 저장 또는 독출할 수 있는 메인 메모리;A main memory capable of storing or reading data generated by the process; 상기 네트워크 통신을 통해 전송 받은 데이터 또는 전송해야 할 데이터를 저장 또는 독출할 수 있는 로컬 기억 수단;Local storage means for storing or reading the data received or the data to be transmitted through the network communication; 데이터 송수신 포트를 구비하고, 하드웨어적으로 데이터를 저장 또는 독출하는 기능을 구비한 리플렉티브 메모리; 및A reflective memory having a data transmission / reception port and having a function of storing or reading data in hardware; And 상기 호스트에 구비된 상기 리플렉티브 메모리의 데이터 송수신 포트에 연결되어 상기 복수개의 리플렉티브 메모리에 저장된 내용을 실시간으로 동일하게 동기화시키는 리플렉티브 메모리 데이터 전송 수단Reflective memory data transmission means connected to a data transmission / reception port of the reflective memory provided in the host to synchronize the contents stored in the plurality of reflective memories in real time. 을 포함한 네트워크 통신 시스템.Network communication system, including. 제1항에 있어서, 상기 리플렉티브 메모리는 상기 호스트의 피씨아이(PCI)슬롯에 장착되는 것을 특징으로 하는 네트워크 통신 시스템.The network communication system of claim 1, wherein the reflective memory is mounted in a PCI slot of the host. 제1항에 있어서, 상기 리플렉티브 메모리의 송수신 포트에 연결되는 상기 리플렉티브 메모리 데이터 전송 수단은 광 케이블을 포함하는 네트워크 통신 시스템.The network communication system according to claim 1, wherein said reflective memory data transmission means connected to a transmission / reception port of said reflective memory comprises an optical cable. 제1항에 있어서, 상기 리플렉티브 메모리는The method of claim 1, wherein the reflective memory 리플렉티브 메모리 장치 드라이버가 상기 리플렉티브 메모리를 동작시키기 위해 생성한 데이터를 저장하는 영역;An area for storing data generated by a reflective memory device driver to operate the reflective memory; 상기 리플렉티브 메모리의 메모리 영역 중 사용자가 사용 가능한 영역의 시작 메모리 주소를 저장하는 영역;An area storing a start memory address of an area available to a user among the memory areas of the reflective memory; 상기 네트워크 통신을 위한 데이터를 저장하는 영역; 및An area for storing data for the network communication; And 상기 네트워크 통신을 위한 데이터가 저장되는 영역의 로컬 데이터 영역 정보를 저장하는 영역An area for storing local data area information of an area where data for the network communication is stored 으로 메모리 영역을 포함하는 것을 특징으로 하는 네트워크 통신 시스템.And a memory area. 제4항에 있어서, 상기 네트워크 통신을 위한 데이터가 저장되는 영역의 로컬 데이터 영역 정보는The method of claim 4, wherein the local data area information of the area where the data for network communication is stored 상기 네트워크 통신을 위한 데이터가 저장되는 영역의 로컬 데이터 영역의 시작 메모리 주소;A starting memory address of a local data area of an area in which data for the network communication is stored; 상기 네트워크 통신을 위한 데이터가 저장되는 영역의 로컬 데이터 영역의 메모리 사이즈; 및A memory size of a local data area of an area in which data for the network communication is stored; And 상기 네트워크 통신을 위한 데이터를 구분할 수 있는 구분자Separator to distinguish data for network communication 를 포함하는 네트워크 통신 시스템.Network communication system comprising a. 제4항에 있어서, 상기 리플렉티브 메모리의 메모리 영역은 상기 네트워크 통신을 위한 데이터를 구분할 수 있는 상기 구분자를 유추할 수 있는 데이터를 저장하는 영역을 더 포함하는 네트워크 통신 시스템.The network communication system of claim 4, wherein the memory area of the reflective memory further includes an area for storing data capable of inferring the delimiter capable of distinguishing data for the network communication. 복수 개의 호스트로 구성된 네트워크 통신 시스템에서 네트워크 통신을 하는 방법에 있어서,In the network communication system composed of a plurality of hosts, 상기 호스트에 서버 프로세스 또는 클라이언트 프로세스를 생성하는 단계;Creating a server process or client process on the host; 상기 호스트에 장착된 리플렉티브 메모리의 메모리 영역에 리플렉티브 메모리 라이브러리를 이용하여 로컬 데이터 영역을 할당하는 단계;Allocating a local data area to a memory area of the reflective memory mounted in the host by using a reflective memory library; 상기 클라이언트 프로세스는 상기 할당된 로컬 데이터 영역에 메시지를 리플렉티브 메모리 라이브러리를 이용하여 기입하는 단계;The client process writing a message to the allocated local data area using a reflective memory library; 상기 서버 프로세스는 상기 할당된 로컬 데이터 영역에서 상기 클라이언트 프로세스의 메시지를 리플렉티브 메모리 라이브러리를 이용하여 독출하고, 응답 메시지를 리플렉티브 메모리 라이브러리를 이용하여 기입하는 단계; 및The server process reads a message of the client process from the allocated local data area using a reflective memory library and writes a response message using the reflective memory library; And 상기 클라이언트 프로세스는 상기 할당된 로컬 데이터 영역에서 상기 서버 프로세스의 응답 메시지를 리플렉티브 메모리 라이브러리를 이용하여 독출하는 단계The client process reading a response message of the server process from the allocated local data area using a reflective memory library 를 포함하는 네트워크 통신 방법.Network communication method comprising a. 제7항에 있어서, 상기 호스트에 장착된 리플렉티브 메모리의 메모리 영역에로컬 데이터 영역을 할당하고 상기 할당된 로컬 데이터 영역에 데이터를 독출 또는 저장하기 위해 이용되는 상기 리플렉티브 메모리 라이브러리는The reflective memory library of claim 7, wherein the reflective memory library is used to allocate a local data area to a memory area of the reflective memory mounted to the host and to read or store data in the allocated local data area. 상기 리플렉티브 메모리 장치를 오픈하는 함수;A function of opening the reflective memory device; 상기 리플렉티브 메모리 장치를 클로즈하는 함수;A function of closing the reflective memory device; 상기 리플렉티브 메모리의 메모리 영역을 초기화하는 함수;A function of initializing a memory area of the reflective memory; 상기 네트워크 통신을 위한 데이터를 구분할 수 있는 구분자를 가지고, 상기 할당된 로컬 데이터 영역의 시작 주소를 독출해 내는 함수;A function for reading out a start address of the allocated local data area, having a delimiter for distinguishing data for the network communication; 상기 독출된 로컬 데이터 영역의 시작 주소를 가지고, 상기 독출된 로컬 데이터 영역을 가리키는 메인 메모리 상의 포인터를 얻어내는 함수;A function for obtaining a pointer on a main memory having a starting address of the read local data area and pointing to the read local data area; 상기 구분자의 세마퍼 잠금 상태를 설정하는 함수;Setting a semaphore locked state of the delimiter; 상기 구분자의 세마퍼 잠금 상태를 해제하는 함수; 및A function for releasing the semaphore lock state of the delimiter; And 상기 복수 개의 호스트에 장착된 리플렉티브 메모리에 저장된 데이터의 내용을 강제적으로 동기화시키는 함수Forcibly synchronizing contents of data stored in the reflective memory mounted in the plurality of hosts; 중 어느 하나 또는 이들의 조합을 포함하는 네트워크 통신 방법.A network communication method comprising any one or a combination thereof. 제8항에 있어서, 상기 리플렉티브 메모리의 메모리 영역을 초기화하는 함수는The method of claim 8, wherein the function of initializing a memory area of the reflective memory comprises: 상기 복수 개의 호스트 각각에 장착된 상기 리플렉티브 메모리의 메모리 영역을 메인 메모리에 매핑하는 단계;Mapping a memory area of the reflective memory mounted on each of the plurality of hosts to a main memory; 상기 리플렉티브 메모리의 메모리 영역 중 사용자가 사용 가능한 영역의 시작 메모리 주소를 저장하는 영역을 할당하는 단계;Allocating an area for storing a start memory address of an area available to a user among the memory areas of the reflective memory; 상기 리플렉티브 메모리의 메모리 영역에 대한 세마퍼(semaphore)를 생성하고 초기값을 설정하는 단계;Creating a semaphore for a memory area of the reflective memory and setting an initial value; 상기 네트워크 통신을 위한 데이터가 저장되는 영역의 로컬 데이터 영역 정보를 저장하는 영역을 할당하는 단계; 및Allocating an area for storing local data area information of an area in which data for the network communication is stored; And 상기 네트워크 통신을 위한 데이터를 저장하는 영역의 시작 메모리 주소를 사용자가 사용 가능한 영역의 시작 메모리 주소를 저장하는 영역에 저장하는 단계Storing a start memory address of an area storing data for the network communication in an area storing a start memory address of an area available to a user; 를 포함하는 네트워크 통신 방법.Network communication method comprising a. 제8항에 있어서, 상기 복수 개의 호스트에 장착된 리플렉티브 메모리에 저장된 데이터의 내용을 강제적으로 동기화시키는 함수는 상기 복수 개의 호스트 중 어느 하나의 리플렉티브 메모리에 저장된 내용을 재기입하여 상기 복수개의 호스트에 장착된 리플렉티브 메모리에 저장된 내용을 동기화시키는 것을 특징으로 하는 네트워크 통신 방법.The method of claim 8, wherein the function of forcibly synchronizing contents of data stored in the reflective memory mounted in the plurality of hosts rewrites the contents stored in the reflective memory of any one of the plurality of hosts. A method for synchronizing contents stored in a reflective memory mounted on two hosts. 제7항에 있어서, 상기 복수 개의 호스트에 장착된 리플렉티브 메모리의 메모리 영역에 리플렉티브 메모리 라이브러리를 이용하여 로컬 데이터 영역을 할당하는 단계는The method of claim 7, wherein the allocating a local data area using a reflective memory library to a memory area of the reflective memory mounted in the plurality of hosts comprises: 상기 복수 개의 호스트에 장착된 리플렉티브 메모리의 메모리 영역을 초기화하는 단계;Initializing a memory area of a reflective memory mounted in the plurality of hosts; 상기 서버 프로세스가 상기 네트워크 통신을 위해 상기 서버 프로세스 및 클라이언트 프로세스가 생성하는 데이터를 구분할 수 있는 구분자를 생성하는 단계;Generating, by the server process, a separator capable of distinguishing data generated by the server process and a client process for the network communication; 상기 서버 프로세스가 상기 구분자를 상기 클라이언트 프로세스에 부여하는 단계; 및The server process assigning the delimiter to the client process; And 상기 서버 프로세스 및 클라이언트 프로세스는 상기 구분자를 이용하여 상기 네트워크 통신을 위해 상기 서버 프로세스 및 클라이언트 프로세스가 생성하는 데이터를 저장할 수 있는 로컬 데이터 영역을 상기 리플렉티브 메모리의 메모리 영역에 할당하고, 로컬 데이터 영역 정보를 상기 리플렉티브 메모리의 메모리 영역에 저장하는 단계The server process and the client process allocate a local data area to the memory area of the reflective memory to store data generated by the server process and the client process for the network communication by using the delimiter. Storing information in a memory area of the reflective memory 를 포함하는 네트워크 통신 방법.Network communication method comprising a. 제11항에 있어서, 상기 복수 개의 호스트에 장착된 리플렉티브 메모리의 메모리 영역을 초기화하는 단계는 상기 리플렉티브 메모리 라이브러리에 포함된 상기 초기화 함수를 이용하는 것을 특징으로 하는 네트워크 통신 방법.The network communication method of claim 11, wherein the initializing a memory area of the reflective memory mounted in the plurality of hosts uses the initialization function included in the reflective memory library. 제11항에 있어서, 상기 서버 프로세스가 상기 네트워크 통신을 위해 상기 서버 프로세스 및 클라이언트 프로세스가 생성하는 데이터를 구분할 수 있는 구분자를 생성하는 단계는 선정된 구분자를 이용하는 것을 포함하는 네트워크 통신 방법.12. The method of claim 11, wherein the step of generating, by the server process, a delimiter capable of distinguishing data generated by the server process and the client process for the network communication comprises using a selected delimiter. 제11항에 있어서, 상기 서버 프로세스가 상기 네트워크 통신을 위해 상기 서버 프로세스 및 클라이언트 프로세스가 생성하는 데이터를 구분할 수 있는 구분자를 생성하는 단계는 상기 리플렉티브 메모리의 메모리 영역에 할당할 수 있는 상기 로컬 데이터 영역의 최대 개수를 나타내는 정수와 '0' 사이의 정수로 결정하는 것을 포함하는 네트워크 통신 방법.12. The method of claim 11, wherein the step of generating, by the server process to distinguish data generated by the server process and the client process for the network communication, the delimiter may be allocated to the memory area of the reflective memory. Determining an integer representing the maximum number of data areas and an integer between '0'. 제11항에 있어서, 상기 서버 프로세스가 상기 구분자를 클라이언트 프로세스에 부여하는 단계는 상기 클라이언트 프로세스가 구동되고 있는 각각의 호스트마다 다른 구분자를 부여하는 것을 포함하는 네트워크 통신 방법.12. The method of claim 11 wherein the step of assigning the identifier to the client process by the server process includes assigning a different identifier to each host on which the client process is running. 제11항에 있어서, 상기 서버 프로세스가 상기 구분자를 클라이언트 프로세스에 부여하는 단계는 상기 클라이언트 프로세스가 구동되고 있는 모든 호스트에 동일한 구분자를 부여하는 것을 포함하는 네트워크 통신 방법.12. The method of claim 11 wherein the step of assigning the separator to a client process by the server process includes assigning the same separator to all hosts on which the client process is running. 제11항에 있어서, 상기 서버 프로세스가 상기 구분자를 클라이언트 프로세스에 부여하는 단계는 상기 리플렉티브 메모리의 메모리 영역에 상기 구분자를 기입하는 것을 포함하는 네트워크 통신 방법.12. The method of claim 11, wherein the step of assigning the separator to a client process by the server process comprises writing the separator to a memory area of the reflective memory. 제7항에 있어서, 상기 리플렉티브 메모리의 메모리 영역에 데이터 또는 메시지를 리플렉티브 메모리 라이브러리를 이용하여 기입 또는 저장하는 단계는8. The method of claim 7, wherein writing or storing data or a message in a memory area of the reflective memory by using a reflective memory library 상기 기입 또는 저장하려는 데이터에 대한 구분자를 가지고, 상기 할당된 로컬 데이터 영역의 시작 주소를 독출해 내는 함수를 실행하여 상기 할당된 로컬 데이터 영역의 시작 주소를 독출해 내는 단계;Reading a start address of the allocated local data area by executing a function of reading a start address of the allocated local data area with a delimiter for the data to be written or stored; 상기 독출된 로컬 데이터 영역의 시작 주소를 가지고, 상기 독출된 로컬 데이터 영역을 가리키는 상기 메인 메모리 상의 포인터를 얻어내는 함수를 실행하여 상기 독출된 로컬 데이터 영역을 가리키는 상기 메인 메모리 상의 포인터를 얻어내는 단계;Obtaining a pointer on the main memory pointing to the read local data area by executing a function having a start address of the read local data area and obtaining a pointer on the main memory pointing to the read local data area; 상기 기입 또는 저장하려는 데이터에 대한 구분자에 대한 세마퍼 잠금 상태를 설정하는 함수를 실행하여 상기 세마퍼 잠금 상태를 설정하는 단계;Setting the semaphore lock state by executing a function of setting a semaphore lock state for the delimiter for the data to be written or stored; 상기 독출된 로컬 데이터 영역의 시작 주소를 가지고 얻은 메인 메모리 상의 포인터를 가지고, 상기 로컬 데이터 영역에 메시지 또는 데이터를 기입 또는 저장하는 단계; 및Writing or storing a message or data in the local data area with a pointer on main memory obtained with a start address of the read local data area; And 상기 기입 또는 저장하려는 데이터에 대한 구분자에 대한 세마퍼 잠금 상태를 해제하는 함수를 실행하여 상기 세마퍼 잠금 상태를 해제하는 단계Releasing the semaphore lock state by executing a function to release a semaphore lock state for the delimiter for the data to be written or stored 를 포함하는 네트워크 통신 방법.Network communication method comprising a. 제7항에 있어서, 상기 리플렉티브 메모리의 메모리 영역에 데이터 또는 메시지를 리플렉티브 메모리 라이브러리를 이용하여 독출하는 단계는The method of claim 7, wherein the reading of the data or the message to the memory area of the reflective memory using the reflective memory library is performed. 상기 기입 또는 저장하려는 데이터에 대한 구분자를 가지고, 상기 할당된 로컬 데이터 영역의 시작 주소를 독출해 내는 함수를 실행하여 상기 할당된 로컬 데이터 영역의 시작 주소를 독출해 내는 단계;Reading a start address of the allocated local data area by executing a function of reading a start address of the allocated local data area with a delimiter for the data to be written or stored; 상기 독출된 로컬 데이터 영역의 시작 주소를 가지고, 상기 독출된 로컬 데이터 영역을 가리키는 상기 메인 메모리 상의 포인터를 얻어내는 함수를 실행하여 상기 독출된 로컬 데이터 영역을 가리키는 상기 메인 메모리 상의 포인터를 얻어내는 단계;Obtaining a pointer on the main memory pointing to the read local data area by executing a function having a start address of the read local data area and obtaining a pointer on the main memory pointing to the read local data area; 상기 기입 또는 저장하려는 데이터에 대한 구분자에 대한 세마퍼 잠금 상태를 설정하는 함수를 실행하여 상기 세마퍼 잠금 상태를 설정하는 단계;Setting the semaphore lock state by executing a function of setting a semaphore lock state for the delimiter for the data to be written or stored; 상기 독출된 로컬 데이터 영역의 시작 주소를 가지고 얻은 메인 메모리 상의 포인터를 가지고, 상기 로컬 데이터 영역에 메시지 또는 데이터를 독출하는 단계; 및Reading a message or data into the local data area with a pointer on main memory obtained with a start address of the read local data area; And 상기 기입 또는 저장하려는 데이터에 대한 구분자에 대한 세마퍼 잠금 상태를 해제하는 함수를 실행하여 상기 세마퍼 잠금 상태를 해제하는 단계Releasing the semaphore lock state by executing a function to release a semaphore lock state for the delimiter for the data to be written or stored 를 포함하는 네트워크 통신 방법.Network communication method comprising a. 제7항에 있어서, 상기 서버 프로세스 또는 클라이언트 프로세스가 상기 할당된 로컬 데이터 영역에서 메시지 또는 데이터를 저장, 기입, 독출하는 단계는 상기 구분자에 대한 세마퍼의 상태 변화를 인식하는 것을 더 포함하는 네트워크 통신 방법.8. The network of claim 7, wherein the step of storing, writing, or reading a message or data in the allocated local data area by the server process or client process further comprises recognizing a state change of the semaphore for the delimiter. Communication method.
KR1020000018557A 2000-04-10 2000-04-10 Method of mimory sharing and duplicate server system thereof KR100361076B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020000018557A KR100361076B1 (en) 2000-04-10 2000-04-10 Method of mimory sharing and duplicate server system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020000018557A KR100361076B1 (en) 2000-04-10 2000-04-10 Method of mimory sharing and duplicate server system thereof

Publications (2)

Publication Number Publication Date
KR20010090636A true KR20010090636A (en) 2001-10-19
KR100361076B1 KR100361076B1 (en) 2002-11-18

Family

ID=19662959

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020000018557A KR100361076B1 (en) 2000-04-10 2000-04-10 Method of mimory sharing and duplicate server system thereof

Country Status (1)

Country Link
KR (1) KR100361076B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180068004A (en) * 2016-12-13 2018-06-21 중원대학교 산학협력단 A storage device having internal and external interfaces for data sharing between computers and a computer system using the same
CN111880433A (en) * 2020-07-02 2020-11-03 上海机电工程研究所 System and method for automatically realizing remote heterogeneous semi-physical simulation test task

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180068004A (en) * 2016-12-13 2018-06-21 중원대학교 산학협력단 A storage device having internal and external interfaces for data sharing between computers and a computer system using the same
CN111880433A (en) * 2020-07-02 2020-11-03 上海机电工程研究所 System and method for automatically realizing remote heterogeneous semi-physical simulation test task

Also Published As

Publication number Publication date
KR100361076B1 (en) 2002-11-18

Similar Documents

Publication Publication Date Title
US11500689B2 (en) Communication method and apparatus
US10705974B2 (en) Data processing method and NVME storage device
US5884313A (en) System and method for efficient remote disk I/O
KR101670342B1 (en) Data processing system and data processing method
US9672143B2 (en) Remote memory ring buffers in a cluster of data processing nodes
KR100995466B1 (en) Methods and apparatus for implementing virtualization of storage within a storage area network
KR100290942B1 (en) An apparatus and method for transmitting and receiving data into and out of a universal serial bus device
US7308523B1 (en) Flow-splitting and buffering PCI express switch to reduce head-of-line blocking
US5961606A (en) System and method for remote buffer allocation in exported memory segments and message passing between network nodes
US7206867B2 (en) Method and apparatus for robust addressing on a dynamically configurable bus
EP3470971B1 (en) Method, apparatus, and system for accessing memory device
JP6757808B2 (en) Systems and methods for managing and supporting Virtual Host Bus Adapters (vHBAs) on Infiniband (IB), and systems and methods for supporting efficient use of buffers using a single external memory interface.
CN112783667B (en) Memory sharing system and method based on virtual environment
JP2002149592A (en) Pci bridge on network
CN105681222A (en) Method and apparatus for data receiving and caching, and communication system
US20040064461A1 (en) Method and arrangement for dynamic detection of SCSI devices on linux host
CN116955219B (en) Data mirroring method, device, host and storage medium
KR20010090636A (en) Real time network communication method and system
US5983279A (en) Buffer management mechanism for distributed multimedia applications
US20220269411A1 (en) Systems and methods for scalable shared memory among networked devices comprising ip addressable memory blocks
CN116627587A (en) Method for dynamically expanding memory of virtual machine
JP2000253024A (en) Communication system and communication device
CN116932451A (en) Data processing method, host and related equipment
US10126948B1 (en) Interconnection of peripheral devices on different electronic devices
KR20200143922A (en) Memory card and method for processing data using the card

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: 20111031

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee