KR100326864B1 - 네트워크통신방법및네트워크시스템 - Google Patents

네트워크통신방법및네트워크시스템 Download PDF

Info

Publication number
KR100326864B1
KR100326864B1 KR1019940022418A KR19940022418A KR100326864B1 KR 100326864 B1 KR100326864 B1 KR 100326864B1 KR 1019940022418 A KR1019940022418 A KR 1019940022418A KR 19940022418 A KR19940022418 A KR 19940022418A KR 100326864 B1 KR100326864 B1 KR 100326864B1
Authority
KR
South Korea
Prior art keywords
data
information
network
packet
area
Prior art date
Application number
KR1019940022418A
Other languages
English (en)
Other versions
KR950009452A (ko
Inventor
무라야마히데끼
요시자와사또시
이노우찌히데노리
아이모또다께시
하야시다께히사
이와모또히로시
Original Assignee
가나이 쓰도무
가부시끼가이샤 히다치 세이사꾸쇼
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 가나이 쓰도무, 가부시끼가이샤 히다치 세이사꾸쇼 filed Critical 가나이 쓰도무
Publication of KR950009452A publication Critical patent/KR950009452A/ko
Application granted granted Critical
Publication of KR100326864B1 publication Critical patent/KR100326864B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9042Separate storage for different parts of the packet, e.g. header and payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/55Prevention, detection or correction of errors
    • H04L49/557Error correction, e.g. fault recovery or fault tolerance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/901Buffering arrangements using storage descriptor, e.g. read or write pointers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9047Buffering arrangements including multiple buffers, e.g. buffer pools
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)

Abstract

컴퓨터(계산기) 시스템 등의 정보처리 시스템을 접속해서 구성하는 네트워크에 있어서의 정보통신 성능의 향상을 위한 기술에 관한 것으로서, 수신 데이타를 직접 사용자 데이타영역으로 전송할 수 있는 네트워크 데이타 통신 시스템을 제공하여 데이타 복사동작의 실행을 불필요하게 하기 위해, 수신측과 송신측에서 사용되는 가상적인 회로 식별자(포트 ID)를 설정하고, 송신측에 있어서는 그 식별자를 설정해서 송신하고, 수신측에 있어서는 그 식별자에 대응해서 수신영역에 어드레스를 설정하고, 식벽자에 따라 하드웨어에 의해 수신영역 어드레스로 변환을 실행하고, 그 후 데이타의 전송을 실행한다.
이것에 의해, 여러개의 정보처리 시스템의 네트워크에 있어서의 패킷내의 데이타의 통신에 있어서 수신측 정보처리 시스템에 의해 데이타 복사, 페이지표 변경등 불필요한 처리를 수반하지 않는 저렴한 고속 정보 통신수단을 마련할 수가 있다.

Description

네트워크 통신방법 및 네트워크 시스템(NETWORK COMMUNICATION METHOD AND NETWORK SYSTEM)
본 발명은 컴퓨터(계산기) 시스템 등의 정보처리 시스템을 접속해서 구성하는 네트워크에 있어서의 정보통신 성능의 향상을 위한 기술에 관한 것이다.
특히, 본 발명은 가상 메모리를 갖는 컴퓨터 시스템 등의 정보처리 시스템을 접속한 네트워크에 있어서의 정보통신 처리의 고속화를 위한 기술에 관한 것이다.
최근에 널리 사용되는 구내정보(근거리 정보) 통신망에 있어서, 분포시스템은 신호 WS(워크 스테이션)에 의해 실행할 수 없는 처리를 여러개의 기계에 동시에 설정하는데 널리 사용되고 있다. 광섬유 능의 고속 네트워크 매체의 도래로 인해 네트워크 층에 있어서의 회전지연(latency) 및 스루풋(처리능률)이 현저하게 향상되었다. 그러므로, 이러한 시스템으로 지금까지 실행할 수 없었던 처리에 대해서도 분산처리를 적용할 수 있다.
멀티컴퓨터 시스템은 여러개의 네트워크 컴퓨터가 1개의 네트워크를 거쳐 연결되어 처리를 동시에 실행하는 것 중의 하나이다. 네트워크 컴퓨터는 네트워크를 거쳐 메시지를 전송하면서 병렬 처리를 실행한다. 멀티컴퓨터 시스템에 있어서는 자원의 집중으로 인해 발생하는 통로장애(bottlencks)의 발생을 방지하기 위해 자원을 분산시킨다.
멀티컴퓨터 시스템에서는 자원이 분산되므로 메시지 통신(송수신)이 종종 발생하고, 필요한 경우에 컴퓨터간의 자원을 교환할 수도 있다. 그러므로, 시스템의 스루풋을 향상시키기 위해서는 메시지 통신에 있어서의 소프트웨어 오버헤드를 저감시키는 것이 중요하다.
통신 소프트웨어 처리에 있어서의 오버헤드의 주요부는 데이타 복사처리이다. 데이타 복사처리가 필요한 이유는 송신측과 수신측에 따라 다르다. 송신측과 수신측에 따라 데이타 복사가 필요한 요인을 이하 기술한다.
송신측에 복사가 필요한 이유는 다음과 같다.
[1] 메인메모리가 항상 존재하는 영역에 송신할 데이타가 존재해야 한다.
[2] 처리가 차단되지 않고 실행되는 비동기 동작을 실행해야 한다.
항목[1]의 경우, 송신동작을 네트워크 어댑터에 의해 실행할 때 데이타가 메인메모리에 존재하지 않으면, DMA(Direct-Memory Access, 데이타의 입/출력(I/O) 처리를 위해 메모리에서 직접 액세스하는 절차) 처리에 의해 사용자 데이타를 전송할 수 없다. 전송할 데이타가 메인메모리에 항상 존재하도록 하기 위해서는 페이지아웃되는 사용자 데이타공간에서 메인메모리가 항상 존재하고 페이지아웃이 발생하지 않는 OS(운영 시스템) 공간 영역으로의 데이타 복사가 필요하게 된다.
상기 항목[2]에 따른 비동기 동작을 실행하기 위해서는 데이티-복사가 소거되지 않도록 사용자 데이터영역을 보호해야 한다
또한, 다음의 이유에 의해 수신측에 있어서 복사가 필요하다.
[1] 데이타 수신영역이 항상 메인메모리에 존재해야 한다.
[2] 수신어드레스가 수신 시스템콜에 의해 통지된다,
항목[1]의 경우, 송신동작이 네트워크 어댑터에 의해 실행될 때, 메인메모리가 항상 존재하는 OS공간 영역에 데이타영역이 존재하지 않으면 DMA처리에 의해 사용자 데이타를 전송할 수 없다. 항목[2]는 수신 시스템콜이 데이타 도착보다 빨리 발행된다는 보장이 없으므로, 전송(수신 어드레스)의 수신지가 수신 데이타의 도착시에 적합하지 않거나 그때를 결정하지 못한다는 사실 때문이다.
고속 통신기구에 관한 검토에 대해서는 1993년 5월에 개최된 병렬처리 심포지움 JSPP 93에 있어서의 "The Effect of Message Communication on Performance in a Distributed-Memory Parallel Computing System-Communication. Computing Overlap and Effectiveness of Direct Message Reception"에 제출된 논문에 있어서 직접 메시지 통신수단이 제안되어 있다. 이 논문에는 수신 어드레스를 메시지 헤더에 부가해 두는 것이 기재되어 있지만, 데이타 복사처리를 방지하거나 회피할 수 있는 방범에 대해서는 기재되어 있지 않다.
수신측의 어드레스를 직접 특정하기 위해서는 수신측의 어드레스를 송신측에서 미리 알고 있어야 하는 것이 필수이다. 이를 실천하기 위해서는 미리 별도의 소정의 통지를 실행할 필요가 있다. 종래의 방법을 사용해서 미리 통신을 실행하면, 통신처리 오버헤드를 삭감시키는 것이 불가능하다.
즉, 하드웨어에 의한 수신 데이타의 메인메모리로의 전송이 완료될 때까지는 수신 데이타가 양도(패스)될 사용자 데이타의 수신 어드레스를 특정할 수 없는 것이다.
데이타를 복사하거나 또는 처리하고 이 데이타를 수신지 어플리케이션으로 양도하기 전에, 다음의 수신데이타는 메인메모리가 항상 존재하는 OS공간영역으로 우선 이동되지 않으면 안된다.
이러한 데이타 복사에 수반되는 처리량은 데이타량에 비례해서 증가한다. 현재, 이러한 데이타 복사 동작은 데이타 전송동작에 있어서 차지하는 비율이 높기 때문에, 고속 데이타 통신을 실행하는데 있어서 큰 문제로 되고 있다.
본 발명의 목적은 수신 데이타를 직접 사용자 데이타영역으로 전송할 수 있는 네트워크 데이타 통신 시스템을 제공하여 데이타 복사동작의 실행을 불필요하게 하는 것이다.
본 발명의 다른 목적은 2이상으로 분할된 영역으로 수신패킷을 전송하는 것에 의해, 여러개의 수신 패킷상을 연장하는 1조의 데이타를 연속한 1개의 영역에 수신할 수 있는 경제적인 네크워트 데이타 통신 시스템을 제공하는 것이다.
도 1a는 다이나믹 링크 지정(DLA) 시스템의 블럭도,
도 1b는 데이타영역과 물리어드레스의 대응 블럭도,
도 2는 컴퓨터 네트워크의 시스템 블럭도,
도 3a는 종래기술의 데이타패킷의 도면,
도 3b는 본 발명에 의해 송신되는 데이타패킷의 도면,
도 4는 송신 소프트웨어 처리 동작의 흐름도,
도 5는 네트워크 어댑터의 송신동작의 흐름도,
도 6은 수신 소프트웨어 전처리의 흐름도,
도 7은 네트워크 어댑터의 수신동작의 흐름도,
도 8은 수신 소프트웨어 후처리의 흐름도,
도 9는 수신 어플리케이션 처리의 흐름도,
도 10은 최종 패킷 인터럽트의 블럭도.
본 발명에서는 현재의 통신 동작(TCP/IP 등의 주지의 통신 프로토콜)과 마찬가지로 수신측과 송신측에서 사용되는 가상적인 회로 식별자(포트 ID)를 설정(세트)한다. 송신측에 있어서는 그 식별자(포트 ID)를 설정해서 송신하고, 수신측에 있어서는 그 식별자에 대응해서 수신영역에 어드레스를 설정하고, 식별자에 따라 하드웨어에 의해 수신영역 어드레스로 변환을 실행하고, 그 후 데이타의 전송을 실행하는 것에 의해 불필요한 통신처리를 실행하지 않고 직접 데이타를 원하는 영역으로 송출할 수 있다.
본 발명에 있어서는 패킷을 분할하는 분할정보 및 패킷이 수신될 영역을 나타내는 수신영역 지정정보(포트 ID)가 각각 패킷에 마련되어 있다.
네트워크의 수신측을 구성하는 정보처리 시스템은 수신영역 지정정보(포트 ID)에 대응해서 메인메모리에 미리 수신영역을 특정하기 위해 수신측 시스템에 마련되어 있는 포트표 및 변환표를 참조한다. 정보처리 시스템은 필요한 경우 패킷의 분할정보에 따라 수신패킷을 분할한다.
패킷에 포함된 데이타를 수신할 영역은 포트표 및 변환표에 따라 결정하고, 이 결정된 영역으로 패킷데이타를 전송하는데 DMA가 사용된다.
이와 같이, 본 발명은 어플리케이션 프로세스 사이에서 데이타의 고속 네트워크 통신을 수신측의 프로세서가 데이타 복사 동작을 하지 않고 실현할 수 있는 저렴한 방식을 제공한다.
상세한 실시예의 설명에 앞서서 본 발명의 기본 개념에 대해 설명한다.
종래기술에서 데이타 복사동작을 필요로 하는 이유중 한가지는 처리가 송신측에서 차단되지 않고 실행되는 비동기 동작을 실행해야 한다는 것이다.
종래기술에서는 비동기 동작을 실행하기 위해서 데이타영역을 보호해야 하고, 데이타 복사를 소거할 수 없었다. 따라서, 데이타 복사없는 기술을 확보하기 위해서는 동기동작을 실행하지 않으면 안된다.
그러므로, 현행 API(Application Programming Interface)를 변경하기 않고 동기동작을 실현하기 위해서는 데이타 전송이 완료할 때까지 송출 시스템콜의 종료를 일시 정지하는 동기 블럭형 처리를 적용한다. 그러나, 동기 블럭형 처리에 의해 병렬동작을 희생시키지 않으면 안된다. 이 때문에, 처리를 차단하지 않고 동기 동작을 실행하는 동기 비블럭형의 새로운 API의 사용을 마련해야 한다. 이하, 동기 블럭형 처리 및 동기 비블럭형 처리의 특징을 표 1에 나타낸다.
[표 1]
동기 블럭형 API 및 동기 비블럭형 API의 특징
수신측에서 데이타 복사 동작이 요구되는 것을 해결하기 위해, 이하 설명하는 API를 또 변경해야 한다. 그 변화는 [1] 데이타 도착전에 소프트웨어에 의해 수신영역의 어드레스의 통신을 통지하도록 API(수신영역의 선지정)를 부가하는 것이고, [2] 수신영역의 선지정이 처리되는 동안에 메인메모리가 항상 존재하는 영역에 수신영역을 부가하는 것이다.
상술한 API의 부가에 의해, 수신처리의 기본 동작은 이하 기술하는 바와 같이 된다.
[1] 접속이 확보된다.
[2] 수신영역이 선지정된다.
[3] 수신 시스템콜이 발행된다.
[4] 다음의 수신에 대비하여 수신영역이 오픈된다.
[5] 이하 상기 [3] 및 [4]를 반복한다.
항목[2]는 데이타 도착전에 실행되어야 하고, 처리[1]에서 실행되는 것이 바람직하다. 상술한 API의 부가에 의해 데이타 복사없는 수신처리를 실현할 수 있다. API는 각종 방법에 의해 변경할 수 있다.
소프트웨어 동작이 상술한 API의 기본 전제조건을 만족시킬 때 데이타 복사없는 통신시스템을 실행하는 부가적인 하드웨어에 대한 전제조건을 이하 기술한다. 복사없는 통신을 실행하기 위해서, 패킷의 수신측에 데이타영역을 특정하는 데이타에 따라 데이타를 메인메모리로 DMA 전송하기 위한 하드웨어 디멀티플렉스 기능을 마련하는 것이 필수이다. 그러나, 실용상 멀티프로그래밍 환경을 갖는 가상적인 유지기구를 실현하기 위해 다음의 문제를 또 해결하지 않으면 안된다.
[1] 프로세스의 버그로 인해 다른 프로세스에 손상을 주지 말아야 한다(보호).
[2] 연속한 가상 어드레스의 영익으로 데이타를 전송해야 한다(물리어드레스의 연속성이 보장되지 않는다).
항목[1]에서 데이타 복사없는 기술에 의해 네트워크로부터의 데이타를 사용자의 수신영역으로 직접 전송한다. 그러나, 보호기능이 없으면 전송측의 잘못된(부정확한) 세팅에 의해 다른 사용자 영역 또는 시스템영역의 내용을 파괴시켜 버릴 수 있다. 그 때문에, 하드웨어 안전체크를 위한 기구를 마련할 필요가 있다.
항목[2]에서 가상적인 유지기구는 1단위로서의 페이지에 의해 메인메모리영역을 관리한다. 그러므로, 보장되는 것은 사용자에 의해 요청되는 수신영역이 가상적인 어드레스 공간에서의 연속한 영역으로 되는 것이다. 그 때문에, 메인메모리가항상 존재하는 물리어드레스 공간에 있어서 연속한 영역은 페이지로 분할된다. 물리적 비연속 영역으로 데이타를 전송하는 기능 및 보호기능을 갖는 복사없는 통신을 지원하는 시스템에 대해 이하 기술한다.
상술한 문제점을 해결하기 위해 부가하는 하드웨어로서 DLA(Dynamic Link Allosation) 시스템을 사용한다. 이 DLA 시스템에는 이하의 특징이 있다.
[1] 데이타 복사처리를 소거하기 위해서 수신프로세서의 영역으로 패킷을 직접 전송한다.
[2] 프로세스 사이의 보호를 실현하는 하드웨어를 사용하여 안전키를 체크한 다.
[3] 안전키 및 포트수의 한계를 해소하도록 메인메모리용으로 수신영역 지정 정보 선택 정보표(포트표) 및 수신영역 지정 정보표(어드레스 변환표)를 마련한다.
[4] 수신데이타용 버퍼메모리는 수신측에서 관리한다(독립성 유지를 위해).
DLA 시스템의 구성 및 그의 제어동작을 이하 설명한다. 도 1a애 DLA 시스템의 하드웨어 구성 및 그의 동작을 간단하게 도시한다.
[1] 수신버퍼를 선지정할 때, 수신영역 지정정보 선택 정의표(포트표)(167) 및 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)의 요소를 초기화하고, 메인메모리가 항상 존재하는 영역으로 되도록 대응하는 포트의 사용자 데이타영역을 부가한다.
[2] 송신측은 보호용 안전키 및 수신영역을 지정하는 정보(포트 ID)가 부가되는 패킷을 송신한다.
[3] 수신측의 네트워크 어댑터의 수신 DMA 제어정보 레지스터(111)은 포트 ID에 따라서 수신영역 지정정보 선택 정보표(포트표)(167)로부터 대응하는 엔트리를 취득한다.
[4] 패킷에 부가되는 안전키와 상기 [3]에서 취득한 내용의 안전키를 비교하여 보호를 체크한다.
[5] 보호 체크가 성공하면, 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)에 따라 수신측에서 물리어드레스를 결정하고, DMA 처리에 의해 수신측의 사용자 데이타영역으조 직접 데이타를 전송한다. 이하, 데이타를 가상어드레스로 전송하는 기구 및 보호기구를 상세하게 기술한다.
이하의 처리에 의해 보호를 달성할 수 있다.
[1] 데이타의 송신 및 수신에 있어서 통신영역의 우측에 액세스를 지정하는 키를 결정한다.
[2] 송신측에서 키를 부가하여 패킷을 전송한다.
[3] 수신측에서 도착하는 패킷의 키 및 통신영역의 키를 체크한다.
부가적인 하드웨어가 마련되어 있지 않은 경우 상술한 처리는 인터럽트 처리에 의해 실행되고, 이것은 소프트웨어 오버헤드를 감소시킨다는 목적에 부합되지 않는다. 그러므로, 적절한 하드웨어 기구를 부가해서 보호를 체크한다.
가상 메모리 관리를 갖는 시스템에서는 가상어드레스 공간내의 연속한 영역이 물리어드레스 공간의 연속한 영역으로 되는 것이 보장되지 않는다. 도 1b에 프로세서의 물리어드레스 공간 및 가상어드레스내의 연속한 영역 사이의 대응을 도시한다.
도 1b에 도시한 바와 같이 수신 버퍼영역(20)은 가상어드레스 공간의 연속한 영역이지만, 프로세서의 물리어드레스 공간(30)에서는 비연속 영역으로 된다. 물리어드레스 공간의 비연속 영역으로 데이타를 전송하기 위해서는 수신버퍼의 위치를 프로세서의 물리어드레스 공간으로 변환하는 어드레스 컨버터를 마련할 필요가 있다. 그러므로, 도착하는 페킷을 전송하기 위한 어드레스를 취득할 때, 가상어드레스를 물리어드레스로 변환하는 기구를 마련해야 한다.
따라서, 이하 기술하는 바와 같이 가상어드레스의 연속한 수신영역으로 데이타를 전송한다. 패킷을 메인메모리로 전송하기 전에 어드레스 변화표의 데이타에 따라 데이타를 수신할 물리어드레스를 결정한다. 그 후, 상기 결정된 데이타를 수신할 물리어드레스로 DMA 처리에 의해 네이타를 전송한다. 상술한 처리를 통해서 물리적으로 비연속적인 데이타 수신영역(가상어드레스의 연속한 영역)으로 데이타를 전송한다.
다음에, 본 발명의 실시예를 첨부 도면에 따라 상세하게 실명한다.
도 2에 된 발명에 따른 정보처리 시스템의 1예로서 네트워크를 구성하는데 사용되는 네트워크 컴퓨터의 구성을 도시한다. 네트워크(190)은 적어도 2대의 네트워크 컴퓨터(100)으로 구성되어 있다. 네트워크 컴퓨터(100)의 각각은 프로세서(130), 메인메모리(150) 및 네트워크 어댑터(110)으로 구성되고, 이들 구성요소의 각각은 시스템버스(180)에 접속되어 있다. 바람직하게는, 1개 이상의 I/O장치(140)을 네트워크 컴퓨터(100)의 시스템 구성에 마련한다.
네트워크 어댑터(110)에는 멀티큐 DMA 컨트롤러(120), 통신버퍼(송수신용 버퍼)(121), 네트워크 통신부(118), 수신 DMA 제어정보 레지스터(I/O 레지스터)(111), 송신 DMA 제어정보 레지스터(112), 인터럽트 제어정보 레지스터(113), 어댑터 제어정보 레지스터(114), 어댑터 컨트롤러(115), 수신 DMA 제어정보 셀렉터(116) 및 DMA 분할정보 레지스터(117)이 마련되어 있고, 이들은 내부버스(122)에 의해 모두 접속되어 있다.
멀티큐 DMA 컨트롤러(120)은 수신 DMA 제어정보 레지스터(I/O 레지스터)(111),어댑터 제어정보 레지스터(114) 및 수신 DMA 제어정보 셀렉터(116)에 유지된 정보, 네트워크에서 수신된 패킷에 포함되는 정보 및 메인메모리(150)의 수신영역 지정정보 선택 정보표(167)과 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)에 유지되어 있는 정보에 따라서 통신버퍼(121)에서 메인메모리(150)(수신동작시)으로의 데이타 전송을 제어한다. 또, 송신 DMA 제어정보 레지스터(112), 인터럽트 제어정보 레지스터(113) 및 어댑터 제어정보 레지스터(114)에 유지된 정보와 메인메모리(150)의 송신영역 지정 정보표(166)에 유지되어 있는 정보에 따라서 메인메모리(150)에서 통신버퍼(121)로의 데이타 전송(송신동작시)이 실행되고, 예를 들면 각종 TTL 및 CMOS 등의 전자 장치(디바이스)를 사용해서 실현할 수 있다.
수신 DMA 제어정보 레지스터(I/O 레지스터)(111)은 데이타를 통신버퍼(121)에서 메인메모리(150)으로 전송하는 제어에 관한 정보를 유지하기 위한 것이다. 송신 DMA 제어정보 레지스터(112)는 데이타를 메인메모리(150)에서 통신버퍼(121)로전송하는 제어에 관한 정보를 유지하기 위한 것이다. 인터럽트 제어정보 레지스터(113)은 통신버퍼(121)과 메인메모리(150) 사이에서 데이타 전송의 완료시 또는 다른 소정의 동작의 완료시에 인터럽트를 실행하기 위해 사용되는 정보를 유지하기 위한 것이다. 어댑터 제어정보 레지스터(114)는 네트워크 어댑터(110)이 동작을 실행할 때에 사용되는 각종 제어정보를 유지하기 위한 것이다. 어댑터 컨트롤러(제어수단)(115)늘 DMA에 의해 패킷 데이타 전송을 제어할 때 제어정보를 네트워크 어댑터(110)에 프로세서(130)에 의해서 마련하는 수단이다. 수신 DMA 제어정보 셀렉터(116)은 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)를 선택하기 위해서 수신영역 지정정보(포트 ID)(312-b)를 패킷에 일시적으로 유지하기 위한 것이다. DMA 분할정보 레지스터(117)은 송신영역 지정 정보표(166)에 저장된 영역 지정수 및 데이타 길이를 일시적으로 유지하기 위한 것이다. 셀프 어드레스 레지스터 (119)를 포함하는 네트워크 통신부(118)은 통신버퍼(121)의 내용을 네트워크(190)으로 송신하고 네트워크(190)상의 패킷을 감시하며, 셀프(그 자신의) 어드레스를 포함하는 패킷을 통신버퍼(121)로 페치(취입)한다. 이들 장치의 각각은 예를 들면 각종 TTL 및 CMOS 등의 전자 장치를 사용하는 것에 의해 형성할 수 있다.
통신버퍼(121)은 네트워크(190)을 거처서 송신하는 패킷 및 네트워크(190)을 거쳐서 수신된 패킷을 유지하기 위한 것으로서, 예를 들면 RAM 등의 전자 장치에 의해 형성할 수도 있다. 중앙처리장치(CPU)는 프로세서(130)로서 사용가능하고, 메인메모리(150)은 예를 들면 RAM으로 형성할 수 있다.
메인메모리(150)에 저장되는 데이타의 구조는 수신동작에 관련된 데이타의구조 및 송신동작에 관련된 데이타의 구조를 고려하고 있다. 수신동작에 관련된 구조로서는 수신영역 지정정보 선택 정보표(포트표)(167), 수신영역 지정 정보표(어드레스 변환표)(164), (165), 수신 프로토콜 정보표(161), (162) 및 사용자 데이타영역(171), (172)가 있다. 사용자 데이타영역(171) 및 (172)는 데이타 수신을 위한 수신측에 저장된다. 수신 프로토콜 정보표(161) 및 (162)는 통신시에 필요한 프로토콜 정보를 전송하기 위한 영역에 저장된다. 통신시에 필요한 프로토콜 정보라는 것은 예를 들면 수신할 프로세스 절차를 특정하기 위한 정보이다. 수신영역 지정정보표(어드레스 변환표)(164) 및 (165)의 정보는 (수신시에) 패킷을 전송하는데 사용되는 제어정보를 포함하는 것으로서, 예를 들면 사용자 데이타영역(171), (172) 및 수신 프로토콜 정보표(161), (]62) 등이 있다. 또한, 여러개의 사용자 데이타를 지시하는 정보는 수신영역 지정 정보표(어드레스 변환표)(164) 및 (165)에 의해 유지해도 좋다.
도 2에 있어서 메인메모리(150)의 수신영역 지정정보 선택 정보표(포트표)(167)은 후술하는 네트워크 패킷의 수신영역 지정정보(포트 ID)(312-b)의 지시에 따라서 선택대상으로 되는 수신영역 지정정보표(어드레스 변환표)(164)와 (165) 중의 어느 1개를 선택하기 위한 것이다. 이 데이타는 표 형식(테이블 형상)으로 되어 있다.
송신동작에 관련된 것으로는 송신영역 지정 정보표(166), 송신 프로토콜 정보표(163) 및 사용자 데이타영역(173)이 있다. 사용자 데이타영역(173)은 송신측이 송신하는 영역에 저장된다. 송신 프로토콜 정보표(163)은 통신시에 필요한 프로토콜 정보를 전송하기 위한 영역에 저장된다. 통신시에 필요한 프로토콜 정보의 예 로서는 수신지의 프로세스를 특정하기 위한 정보 등이 있다.
송신영역 지정 정보표(166)의 정보는 (송신시에) 패킷을 전송할 때에 필요한 제어정보로서, 예를 들면 사용자 데이타영역(173), 송신 프로토콜 정보표(163)의 어드레스 정보 및 사이즈 정보이다. 또한, 여러개의 사용자 데이타를 지시하는 정보는 송신영역 지정 정보표(166)에 의해 유지해도 좋다.
수신영역 지정 정보표(어드레스 변환표)(164)와 (165)는 수신 프로토콜 정보표(161)과 (162) 및 사용자 데이타영역(171)과 (172)의 전송지 영역을 규정하는 것으로서, 예를 들면 메인메모리(150)내에 있어서의 어드레스, 데이타 사이즈 등을 포함한다.
송신영역 지정 정보표(166)은 송신 프로토콜 정보표(163) 및 사용자 데이타영역(173)을 특정하는 것으로서, 예를 들면 메인메모리(150)내에 있어서의 어드레스, 데이타 사이즈 등을 포함한다. 송신 프로토콜 정보표(163) 및 사용자 데이타영역(173)은 수신동작의 경우와 마찬가지로 여러개 마련해도 좋다.
이 실시예에 있어서는 사용자 데이타영역(171), (172) 및 사용자 데이타영역(173)은 메인메모리(150)내의 사용자 공간영역(170)에 존재한다. 수신영역 지정정보 선택 정보표(포트표)(167), 수신 프로토콜 정보표(161), (162), 수신영역 지정 정보표(어드레스 변환표)(164), (165), 송신영역 지정 정보표(166) 및 송신 프로토콜 정보표(163)은 OS공간영역(160)내에 존재한다.
도 3a 및 도 3b에 네트워크 통신패킷의 구성을 도시한다. 도 3a는 종래의 네트워크 패킷을 도시한 것으로서, 예를 들면 데이타(310-a), 타입정보(320-a), 송신원 어드레스(321-3) 및 수신지 어드레스(322-a)로 구성된다. 데이타(310-a)는 OS 및 다른 소프트웨어에 의해 처리되는 정보이다. 타입(320-a)는 네트워크 어댑터(110)이 소정의 처리를 실행하는데 필요한 것으로서, 데이타 길이 등의 정보이다. 송신원 어드레스(321-a)는 재킷을 송출한 네트워크 컴퓨터의 식별자이다. 수신지 어드레스(322-a)는 수신할 네트워크 컴퓨터의 식별자이다.
도 3b에 도시한 바와 같이, 본 발명에 따른 네트워크 패킷은 데이타(310-b), 분할정보(311-b), 수신영역 지정정보(312-b), 타임정보(320-b), 송신원 어드레스(321-b) 및 수신지 어드레스(322-b)로 구성된다. 데이타(310-a), 타입(320-a), 송신원 어드레스(321-a) 및 수신지 어드레스(322-b)는 데이타(310-a), 타임정보(320-a), 송신원 어드레스(321-a) 및 수신지 어드레스(322-a)에 대응하고 있다.
수신측에 있어서 데이타(310-b)는 상기 수신영역 지정정보(312-b), 타임정보(320-b), 송신원 어드레스(321-b) 및 수신지 어드레스(322-b)가 없는 수신 프로토콜 정보표(161) 및 (162)에 대응하는 정보 및 사용자 데이타(171), (172)로 구성된다.
송신측에 있어서 데이타(310-b)는 수신영역 지정정보(312-b), 타입정보(320-b), 송신원 어드레스(321-b) 및 수신지 어드레스(322-b)가 없는 송신 프로토콜 정보표(163)에 대응하는 정보 및 사용자 데이타(173)으로 구성된다.
분할정보(311-b)는 패킷 분할수 및 분할부의 길이를 나타낸다. 이 분할정보는 3개 이상의 분할을 위한 정보를 포함하는 것으로 한다. 또, 패킷을 분할한 경우, 분할된 부분중 어느 부분이 수신 프로토콜 정보표(161), (162) 및 송신 프로토콜 정보표(163)에 대응하는 부분이며, 또 어느 부분이 사용자 데이타영역(171)∼(173)에 대응하는지를 나타내는 정보를 구비해도 좋다. 패킷을 3개 이상의 부분으로 분할하는 경우, 분할된 부분중 어느 부분이 사용자 데이타의 어느 부분에 대응하는지를 나타내는 정보를 구비해 두는 것도 바람직하다.
수신영역 지정정보(312-b)는 패킷에서 메인메모리(150)으로 전송되는 데이타의 수신지를 나타내는 수신영역 지정정보(포트 ID)를 선택하기 위한 것이다.
이하, 패킷 송신 및 수신 처리에 대해서 설명한다.
패킷 송신 처리는 사용자 데이타영역A(173)과 송신 프로토콜 정보표(163)을 사용하여 도 3b에 도시한 바와 같이 본 발명에 따른 네트워크 패킷을 작성하고, 패킷을 네트워크로 출력하는 것으로 이루어진다.
이하, 송신 소프트웨어 처리 및 네트워크 어댑터(110)의 동작에 대해서 설명한다.
우선, 패킷 송신처리시에 실행되는 소프트웨어에 따른 처리를 도 4를 참조하면서 설명한다. 사용자 데이타영역A(173)에는 송신대상으로 되는 사용자 데이타가 포함되어 있다. 스텝 410에 있어서 송신 프로토콜 정보(163)에 수신영역 지정정보(312-b), 타입정보(320-b), 송신원 어드레스(321-b) 및 수신지 어드레스(322-b)를 설정한다. 상술한 바와 같이, 수신영역 지정정보(312--b)는 수신측에서의 데이타 수신영역을 식별하기 위한 식별자(포트 ID)이다. 타입(320-b)는예를 들면 상위의 프로토콜의 타입을 나타내는 정보로 될 수 있다. 송신원 어드레스(321-b)는 자신의 컴퓨터 네트워크에 있어서의 식별자이고, 수신지 어드레스(322-b)는 수신측의 컴퓨터의 네트워크에 있어서의 식별자이다. 스텝 420에 있어서 송신영역 지정 정보표(166)에 사용자 데이타A(173) 및 송신 프로토콜 정보표(163)을 설정한다.
사용자 데이타영역(170)내에 있어서의 어드레스, 데이타 길이 등은 설정하는 정보의 1예이다. 송신영역 지정 정보표(166)에 설정하는 정보에는 데이타 길이 및 영역 지정수가 포함되어 있다. 데이타 길이 및 영역 지정수의 정보는 분할정보(311-b)로서 네트워크 패킷의 1구성요소이다.
스텝 430에 있어서 송신 DMA 제어정보 레지스터(112)에 송신영역 지정 정보표(166)의 정보를 설정한다. 송신 DMA 제어정보 레지스터(112)에 설정하는 정보에는 사용자 데이타영역(170)내에 있어서의 해당 영역의 어드레스가 포함되어 있다. 스텝 440에 있어서 동작의 기동 통지를 어댑터 컨트롤러(115)에 대해서 실행한다. 상기한 일련의 절차에 의해 송신처리가 완료된다.
이하, 송신시의 네트워크 어댑터(110)의 동작에 대해서 도 5를 참조하면서 설명한다. 어댑터 컨트롤러(115)에 대한 동작기동의 통지에 의해 어댑터 컨트롤러가 동작을 개시한 이후의 동작에 대해서 설명한다.
스텝 510에 있어서 멀티큐 DMA 컨트롤러(120)은 송신 DMA 제어정보 레지스터(112)에 저장되어 있는 정보에 따라 송신영역 지정 정보표(166)의 내용을 리드하고, 이 내용을 DMA 분할정보 레지스터(117)에 설정한다.
스텝 520에 있어서 멀티큐 DMA 컨트롤러(120)은 DMA 분할정보 레지스터(117)의 송신영역 지정 정보표(166)의 내용에 따라서 사용자 데이타영역A(173) 및 송신 프로토콜 정보표(163)으로부터의 정보를 통신버퍼(121)에 리드한다.
스텝 530에 있어서 멀티큐 DMA 컨트롤러(120)에 의해 데이타 길이 및 영역 지정수를 분할정보(311-b)로서의 사용을 위해 DMA 분할정보 레지스터(117)의 송신영역 지정 정보표(166)에서 리드한다.
스텝 540에 있어서 멀티큐 DMA 컨트롤러(120)은 사용자 데이타영역A(173) 및 송신 프로토콜 정보표(163)에 유지되어 있는 수신영역 지정정보(포트 ID)(312-b), 타입(320-11), 송신원 어드레스(321-b), 수신지 어드레스(322-b) 이외의 정보로 데이타(210-b)를 구성하고, 또 송신 프로토콜 정보표(163)에 유지되어 있는 수신영역 지정정보(포트 ID)(312-b), 타입(320-b), 송신원 어드레스(321-b), 수신지 어드레스(322-b)를 사용해서 본 발명에 따른 네트워크 패킷을 통신버퍼(121)내에 작성하고 저장한다. 마지막으로, 스텝 550에 있어서 완성된 네트워크 패킷을 내부버스(122)를 거쳐서 네트워크 통신부(118)에 의해 출력한다.
이하, 패킷 수신 절차를 설명한다. 하드웨어에 따른 처리를 사용해서 네트워크(190)에서 수신한 패킷의 데이타부를 사용자 공간내의 사용자 데이타 저장영역으로 직접 전송하는 것에 의해, 데이타의 복사 동작을 실행하지 않고 어플리케이션 프로그램에 데이타를 양도(패스)할 수 있다. 다음에, 수신 절차를 상세하게 설명한 다.
수신 절차에서는 크게 소프트웨어가 데이타의 도착에 앞서 실행하는 처리인소프트웨어 전처리, 데이타 도착시의 네트워크 어댑터(110)에 의한 처리 및 소프트웨어가 데이타 도착후에 실행하는 처리인 소프트웨어 후처리로 나뉜다.
우선, 도6에 따라 소프트웨어 전처리에 대해서 설명한다. 수신영역 지정정보 선택 정보표(포트표)(167) 및 수신영역 지정 정보표(어드레스 변환표)(164), (165)에 정보를 설정하고, 네트워크 어댑터(110)에 통지한다. 스텝 610에 있어서 데이타 수신 종료시에 프로세서(130)으로 송출하는 인터럽트에 관한 정보를 인터럽트 제어정보 레지스터(113)에 설정한다. 스텝 620에 있어서 수신영역 지정정보 선택 정보표(포트표)(167)내에 네트워크 재킷내의 수신영역 지정정보(포트 ID)(312-b)와 수신영역 지정정보표(164)∼(165) 사이의 대응을 설정한다.
수신영역 지정정보 선택 정보표(포트표)(167)은 수신영역 지정정보(포트 ID)(312-b)에 따라 수신영역 지정정보를 리드할 수 있는 데이타표의 형식으로 되어있다. 스텝 630에 있어서 사용자 데이타영역(171)∼(172) 및 수신 프로토콜 정보표(161)∼(162)글 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)에 설정한다. 이와 같이, 설정된 정보의 예로서는 사용자 데이타영역(171)∼(172)와 수신 프로토콜 정보표(161)∼(162)의 어프레스 및 데이타 사이즈 등이 있다. 마지막으로, 스텝 640에 있어서 수신영역 지정정보 선택 정보표(포트표)(167)을 수신 DMA 제어정보 레지스터(I/O 레지스터)(111)에 설정한다.
이하, 도 7에 도시한 바와 같이 네트워크 패킷 취득(inception)부터 데이타 수신까지의 네트워크 어댑터(110)의 동작에 대해서 설명한다. 스텝 710에 있어서 네트워크 어댑터(110)내의 네트워크 통신부(118)은 네트워크(190)을 감시하고 네트워크(190)상에 걸쳐 통신되는 네트워크 패킷을 페치한다. 다음에, 스텝 720에 있어서 네트워크 패킷의 수신지 어드레스(322-b)의 내용이 셀프 어드레스 레지스터(119)에 미리 설정되어 있는 내용과 동일한 경우에는 처리를 스텝 740으로 이동시키는 반면, 내용이 동일하지 않은 경우에는 처리를 스텝 730으로 분기한다. 스텝 730에서는 네트워크 패킷을 기각하고 처리를 종료한다. 스텝 740의 경우, 네트워크 패킷을 통신버퍼(121)로 이동시킨다. 스텝 750에 있어서 네트워크 패킷의 수신영역 지정정보(포트 ID)(312-b)의 내용을 멀티큐 DMA 컨트롤러(120)에 의해 수신 DMA 제어정보 셀렉터(선택수단)(116)에 설정한다. 스텝 760에 있어서 밀티큐 DMA 컨트롤러(120)은 수신 DMA 제어정보 레지스터(I/O 레지스터)(111)의 내용과 수신 DMA 제어정보 셀렉터(116)의 내용으로부터 여러 조의 수신영역 지정 정보표(어드레스 변환표)(164)와 (165) 중의 어느 1개를 선택한다.
즉, 이러한 처리는 수신영역 지정정보(포트 ID)(312-b)의 내용에 따라 수신영역 지정정보 선택 정보표(포트표)(167)를 참조하는 것에 의해서, 수신영역 지정 정보표(어프레스 변환표)(164)와 (165) 중의 어느 1개를 특정하는 것이다.
스텝 770에 있어서 멀티큐 DMA 컨트롤러(120)은 수신영역 지정 정보표(어드레스 변환표)(164)∼(165)중 선택된 1개에서 어드레스 정보를 취득한다. 스텝 780에 있어서 멀티큐 DMA 컨트롤러(120)은 통신버퍼(121)의 네트워크 패킷에서 분할정보(311-b)를 취득한다. 스텝 785에 있어서 멀티큐 DMA 컨트롤러(120)은 분할정보(311-b)에 따라 통신버퍼(121)의 네트워크 패킷의 데이타부를 분리한다.
즉, 분할정보에 포함되어 있는 분할수, 분할 길이의 정보와 패킷 데이타의분할된 부분중 어느 분할 부분이 수신 프로토콜 정보표(161)∼(162)에 상당하는 부분이고 어느 부분이 사용자 데이타영역(171)∼(172)에 상당하는 부분인지를 나타내는 정보에 따라서, 네트워크 패킷의 데이타(310-b)를 수신 프로토콜 정보와 사용자 데이타로 분할한다.
스텝 790에서는 스텝 770에서 특정된 수신영역 지정정보(예를 틀면, 메모리(150)내의 어드레스 값)에 따라서, 분할한 패킷부를 사용자 데이타 및 수신 프로토콜 정보로 분리하여 그들 각각의 전송지 영역으로 전송한다.
또한, 가상 메모리하에서 수행하는 프로그램(일반적인 어플리케이션 프로그램)에 의한 메모리 액세스는 수신영역 지정 정보표(어드레스 변환표)(164), (165)에 포함되어 있는 정보를 사용해서 가성메모리 어드레스를 물리어드레스 메모리 어드레스로 변환하는 것에 의해 달성된다. 특히, 수신영역 지정 정보표(어드레스 변환표)(164), (165)는 처리의 가상 페이지에 대응하는 물리페이지를 나타낸다.
"페이지"는 OS 메모리관리의 기본 유닛이다. 페이지 사이즈는 2의 거듭 제곱으로 표현되며, 현재의 대부분의 처리시스템은 2048, 4096 또는 8192(바이트 등)의 페이지를 사용한다. 물리 및 가상 어드레스는 페이지 오프세트값을 상기 페이지수에 부가하는 것에 의해 얻어지는 값이다. 동일한 페이지 오프세트값은 물리어드레스와 가상어드레스 양자에 사용된다. 물리어드레스를 설정할 때. 어드레스 변환표를 논리어드레스에 대응하는 물리어드레스를 취득하는데 사용할 수도 있다.
1예로서 어플리케이션 데이타영역이 논리페이지(가상 페이지)"M, M+"에 있고, 이러한 2개의 영역상을 연장하는 데이타가 수신되는 경우, 물리페이지 200과358은 페이지 사이즈에 의해 다중되고, 페이지 오프세트값이 그 결과에 부가되는 것에 의해서 단지 코맨드큐내의 연속한 2개의 코맨드의 데이타 포인터에 설정할 필요가 있는 물리어드레스를 취득할 수 있다. 이러한 동작에 의해, 수신된 데이타를 비연속 물리어드레스 영역에서 연속한 가상어드레스 영역으로 전송할 수 있다. 마지막으로, 스텝 795에 있어서 인터럽트 제어정보 레지스터(113)의 내용에 따라 인터럽트를 프로세서(130)으로 송출한다.
도 8에 도시한 바와 같이, 데이타 도착후에 실행하는 수신 소프트웨어 후처리에 대해서 설명한다. 수신 소프트웨어 후처리는 네트워크 패킷이 사용자 데이타와 수신 프로토콜 정보로 분할되어 전송된 후에 발행한 인터럽트에 의해 기동된다. 스텝 810에 있어서 인터럽트가 발행되면, 프로세서(130)은 수신 프로토콜 제어정보에 따라 데이타를 수신한 어플리케이션의 특정을 실행한다. 스텝 820에 있어서 수신한 어플리케이션이 데이타 수신요구의 발행후 대기상태로 되어 있던 경우에는 처리를 스텝 830으로 이동시키고, 그렇지 않은 경우에는 처리를 스텁 840으로 분기한다.
스텝 830에서는 데이타를 요구하여 차단되고 있던 어플리케이션을 기동한다. 스텝 840에서는 수신한 어플리케이션이 데이타 수신요구 발행후에 대기싱태에서 해제되어 있는 경우에는 수신요구가 발행되었을 때 즉시 데이타를 어플리케이션으로 양도할 수 있도록 하고 상태를 나타내도록, 플래그의 설정을 실행한다. 이러한 경우에는 수신한 어플리케이션이 수신요구를 발행할 때에 데이타를 어플리케이션으로 양도하는 절차를 실행한다.
상기 수신처리를 명확하게 하기 위해서, 이하 수신요구를 발행한 어플리케이션 프로그램에서 본 동작을 도 9를 참조하면서 설명한다. 스텝 910에 있어서 수신버퍼 공간의 할당(지정)을 실행한다. 이것은 도 6을 참조하여 설명한 처리의 기동을 실행하는 것이다. 스텝 920에 있어서 수신요구를 발행한다. 스텝 910의 수신버퍼 할당은 수신요구의 발행에 필요한 선행조건이지만, 수신버퍼 할당처리 직후에 수신요구를 발행하는 것은 필요조건이 아니다.
수신절차의 흐름을 단순하게 설명하기 위해 흐름도를 수신관련 처리에만 제한하여 도시하였지만, 스텝 910과 스텝 920 사이에 소정의 절차가 삽입되어도 좋다.
스텝 930에 따라서 데이타의 도착이 수신요구에 선행하면 스텝 960으로 처리를 분기하고, 그렇지 않은 경우에는 처리를 스텝 940으로 이동시킨다. 스텝 960에서는 도 8에서 설명한 바와 같이, 데이타 도칙을 나타내는 플래그가 설정되어 있으므로 데이타를 수취하는 것만으로 좋다.
스텝 950에서는 데이타가 아직 도착하지 않았으므로, 처리는 도 8에 있어서의 소정의 수신요구 처리의 기동까지 지속하는 대기상태로 들어간다. 도 8에서 기술한 방법은 대기상태로부터의 복귀를 위해 사용된다.
본 발명에 의하면, 여러개의 정보처리 시스템의 네트워크에 있어서의 패킷내의 데이타의 통신에 있어서 수신측 정보처리 시스템에 의해 데이타 복사, 페이지표 변경 등을 수반하지 않는 저렴한 고속 정보 통신수단을 마련할 수가 있다.
또한, 본 발명의 다른 실시예를 이하 설명한다.
실시예1에 있어서 하드웨어는 DLA 시스템에 의해 복사없는 통신을 실행하기 위해 부가된다(하드웨어 부가기구). 복사없는 통신은 복사처리를 불필요하게 한다. 다음에, 감소되어야 할 소프트웨어 프로세스는 스케줄링의 오버헤드이다. 스레드(thread) 등의 실시는 스케쥴링 처리를 감소시키는데 효과적이다. 또한, 부가적인 하드웨어 부가기구의 마련에 의해 인터럽트 수를 감소시키고, 스케쥴링 처리에서의 오버헤드를 저감할 수 있다. 이하, 하드웨어 부가기구에 대해서 설명한다.
수신측에 있어서 데이타가 수신 시스템콜보다 빨리 도착하면, 인터럽트를 발행할 필요가 없다. 인터럽트는 수신 시스템콜을 데이타 도착보다 빨리 발행하는 것에 의해 차단되는 처리를 기동시키기 위해 필요하다. 그러므로, 차단되는 처리가 없으면, 인터럽트의 발행은 불필요하다. 즉, 인터럽트의 발행은 차단 처리의 존재를 나타내는 상태를 유지하는 것에 의해 제어된다.
높은 스루풋을 얻기 위해 큰 패킷을 사용하여 통신을 실행하는 경우에는 다른 기구의 패킷을 상기 통신이 완료될 때까지 대기시키지 않으면 안된다. 패킷을 전송하는 최대시간이 연장되기 때문에 회전지연이 악화된다. 이러한 문제점을 해결하기 위해서, 하드웨어 부가기구는 최종 데이타영역이 도착하면 회전지연을 증가시키지 않고 인터럽트를 발행하는 사이즈의 패킷을 송신할 수 있다. 긴급 패킷을 송신하기 위해 요구되는 노드컴퓨터에 있어서, 회전지연은 배치(batch) 처리에 의해 최소화된다.
또, 데이타영역의 최종 패킷이 도착하면 인터럽트를 발행하는 기구로서 또차단된 프로세스가 존재하는 상태를 관리하는 하드웨어 부가기구로서 최종 패킷 인터럽트 기구를 마련할 수도 있다.
도 10에 최종 패킷 인터럽트 기구의 시스템의 개략을 도시한다. (100T)는 송신측의 네트워크 컴퓨터이고, (100R)은 수신측의 네트워크 컴퓨터이다. (110T) 및 (110R)은 네트워크 어댑터이다. (200T) 및 (200R)은 인터럽트 대기 프로세스 플래그를 각각 나타낸다. 1개의 패킷은 데이타(310c), 다른 헤더 데이타(320c) 및 최종 패킷 플래그(330c)를 포함한다.
이하, 최종 패킷 인터럽트 기구의 동작을 개략적으로 기술한다. 수신측의 네트워크 컴퓨터의 수신 시스템콜이 데이타의 도착보다 빠르지 않을 때에는 인터럽트의 발행이 불필요하다.
이하, 수신 시스템콜이 선행하고 처리가 차단되는 경우에 실행되는 동작에 대해서 설명한다.
[1] 수신 처리가 차단되면 네트워크 어댑터의 인터럽트 대기처리 플래그가 온된다.
[2] 송신측에 있어서 최종 패킷 플래그는 최종 패킷에서 온된다.
[3] 수신측에 있어서 인터럽트의 발행은 네트워크 어댑터의 인터럽트 대기 프로세스 플래그가 온되는 상태 및 최종 패킷 플래그가 온되는 상태의 AND 조건에 따라 제어된다.
상술한 동작에 의하면, 수신측에 있어서 여러개의 패킷으로 분할되는 대량의 데이타를 수신하면서 다른 노드로부터의 긴급 패킷의 도착을 인터럽트 빙식으로 수신할 수 있으므로, 낮은 회전지연을 희생시키지 않고 높은 스루풋의 통신을 실현할 수 있게 된다.
이상과 같이, 본 발명에 의하면 여러개의 정보처리 시스템의 네트워크에 있어서의 패킷내의 데이타의 통신에 있어서 수신측 정보처리 시스템에 의해 데이타 복사, 페이지표 변경 등을 수반하지 않는 저렴한 고속 정보 통신수단을 마련할 수가 있다.

Claims (16)

  1. 적어도 프로세서, 메인메모리 및 네트워크에 접속되어 있는 네트워크 어댑터를 각각 포함하는 네트워크 컴퓨터 간의 정보의 통신을 실행하기 위한 네트워크 통신방법으로서,
    송신 네트워크 컴퓨터로부터의 데이타패킷 도착전에 수신 네트워크 컴퓨터의 메인메모리에 수신영역을 선지정하고, 수신 네트워크 컴퓨터의 메인메모리 내의 포트표 및 어드레스 변환표를 초기화하는 스텝;
    수신 네트워크 컴퓨터에 수신영역을 지정하기 위한 포트ID가 부가되어 포함하는 패킷을 상기 송신 네트워크 컴퓨터에서 송신하는 스텝;
    상기 포트ID에 따른 정보를 상기 수신 네트워크 컴퓨터의 메인메모리내의 포트표에서 추출하는 스텝 및;
    상기 포트ID 표에서 추출된 정보에 따라서 상기 수신 네트워크 컴퓨터의 메인메모리내의 물리어프레스를 결정하고, 송신된 데이타패킷의 데이타를 상기 물리어드레스에 의해 식별되는 수신 네트워크 컴퓨터의 메인메모리로 직접 전송하는 스텝을 포함하는 네트워크 통신방법.
  2. 제1항에 있어서,
    송신된 데이타패킷에 안전키를 부가하는 스텝,
    상기 추출된 정보에 의해 안전키 정보를 결정하는 스텝 및;
    상기 송신된 패킷에 부가된 안전키와 상기 안전키 정보를 비교하는 스텝을 더 포함하는 네트워크 통신방법.
  3. 제1항에 있어서,
    데이타부가 적어도 2개의 부분으로 분할될 것인 경우, 송신된 데이타패킷의 분할부를 식별하기 위한 분할정보를 송신된 데이타패킷에 부가하는 스텝 및;
    상기 분할정보에 따라서 상기 수신 네트워크 컴퓨터의 메인메모리의 사용자 데이타영역으로 상기 데이타부의 분할부의 각각을 전송하는 스텝을 더 포함하는 네트워크 통신방법.
  4. 제1항에 있어서,
    물리어드레스를 결정하는 상기 스텝에 있어서는 연속한 가상어드레스 공간을 갖는 사용자 데이타영역을 비연속 물리어드레스를 갖는 사용자 데이타영역으로 변환하기 위해 어드레스 변환표를 사용하는 네트워크 통신방법.
  5. 제1항에 있어서,
    상기 수신 네트워크 컴퓨터는 최후에 송신된 데이타패킷이 사용자 데이타영역으로 송신되면 인터럽트를 발행하는 네트워크 통신방법.
  6. 적어도 프로세서부, 메인메모리 및 네트워크 어댑터를 각각 포함하는 적어도2개의 정보처리 시스템이 각 시스템의 네트워크 인터페이스를 거쳐 접속해서 구성되는 네트워크에 있어서 헤더부 및 데이타부를 각각 갖는 패킷을 이용하여 정보처리 시스템간의 정보의 통신을 실행하는 네트워크 통신방법으로서,
    상기 패킷의 헤더부의 특정 영역에 상기 데이타부를 상기 헤더부에서 분리하는 제1 분할정보 및 상기 데이타부가 2개 이상의 부분으로 분할될 것인 경우에 그 분할위치를 나타내는 제2 분할정보를 갖는 패킷을 송신 정보처리 시스템에서 송신하는 스텝과;
    상기 헤더부의 특정 영역내의 제1 분할정보에 따라서 수신된 패킷의 데이타부와 헤더부를 분리하고, 상기 헤더부의 특정 영역내의 제2 분할정보에 따라서 데이타부를 분할하며, 상기 데이타부의 분할부를 수신 정보처리 시스템의 메인메모리로 전송하는 스텝을 포함하는 네트워크 통신방법.
  7. 제6항에 있어서,
    상기 송신 정보처리 시스템은 송신되는 패킷 헤더부의 특정 영역에 수신 정보처리 시스템내에서의 데이타의 각 분할부의 전송지를 지시하는 정보를 더 포함하는 네트워크 통신방법.
  8. 제7항에 있어서,
    상기 전송지를 지시하는 정보와 이것에 대응하는 상기 수신 정보처리 시스템의 메모리영역을 지시하는 정의를 저장하고, 수신한 패킷의 헤더부에서 리드된 상기 전송지를 지시하는 정보에 따라 대응하는 메모리영역을 지시하는 정보를 참조해서 분할된 데이타부를 상기 메모리영역으로 각각 전송하는 네트워크 통신방법.
  9. 제3항에 있어서,
    상기 전송지를 지시하는 정보와 이것에 대응하는 상기 수신 정보처리 시스템의 메모리영역을 지시하는 정보는 데이타 전송표의 형식으로 저장되고,
    상기 전송지를 지시하는 정보는 상기 데이타 전송표의 참조위치를 나타내는 정보인 네트워크 통신방법.
  10. 적어도 프로세서, 메인메모리 및 네트워크 어댑터를 각각 포함하는 적어도 2개의 정보처리 시스템이 각 시스템의 네트워크 인터페이스를 거쳐 함께 접속해서 구성되고, 헤더부와 데이타부를 각각 갖는 패킷을 이용하여 정보처리 시스템간의 정보의 통신을 실행하는 네트워크 시스템으로서,
    상기 각 정보처리 시스템에는
    상기 데이타부를 상기 헤더부에서 분리하는 제1 분할정보 및 데이타부가 2 개 이상의 부분으로 분할될 것인 경우에 그 분할위치를 나타내는 제2 분할정보를 각 패킷의 헤더부의 측정 영역에 기술해서 패킷을 송신하는 송신 처리부 및
    패킷을 수신함과 동시에 상기 헤더부의 특정 영역내의 제1 분할정보에 따라서 각각 수신된 패킷의 헤더부와 데이타부를 분리하고, 상기 헤더부의 특정 영역의 제2 분할정보에 따라서 데이타부를 분할하며, 상기 데이타부의 분할부를 기억부로전송하는 수신 정보처리 시스템이 마련되고,
    적어도 상기 수신 정보처리 시스템에 있어서는 수신된 패킷에 포함되는 2개 이상의 데이타부를 상기 메인메모리의 그들 각각의 목적으로 하는 영역으로 직접 전송하는 네트워크 시스템.
  11. 적어도 프로세서, 메인메모리 및 네트워크에 접속된 네트워크 어뎁터를 포함하는 컴퓨터를 이용해서 상기 네트워크를 거쳐 데이타를 수신하는 데이타 수신방법으로서,
    상기 메인메모리에 수신영역을 지정하고, 상기 컴퓨터내의 포트표 및 어드레스 변환표를 초기화하는 스텝;
    상기 컴퓨터에 수신영역을 지정하기 위한 포트 ID가 부가되어 있는 패킷을 상기 네트워크를 거쳐 수신하는 스텝;
    상기 포트 ID에 따른 정보를 상기 포트표에서 추출하는 스텝;
    연속한 가상어드레스 공간을 갖는 사용자 데이타영역을 비연속 물리어드레스를 갖는 사용자 데이타영역으로 변환하는 것에 의해서 상기 포트ID 표에서 추출된 정보에 따라서 상기 메인메모리내의 물리어드레스를 결정하는 스텝 및;
    상기 수신한 패킷내의 데이타를 상기 물리어드레스에 의해 식별되는 상기 메인메모리내의 영역으로 전송하는 스텝을 구비하는 데이타 수신방법.
  12. 제11항에 있어서,
    상기 어드레스 변환표는 메인메모리에 저장되어 있는 데이타 수신방법.
  13. 네트워크에 접속되는 정보처리장치에 있어서,
    네트워크와의 데이타의 송수신을 실행하는 네트워크 접속부;
    각종 연산처리를 실행하는 연산처리부 및;
    상기 연산처리부가 처리하는 데이타와 상기 네트워크 접속부가 수신한 패킷내의 데이타의 저장지를 지정하는 정보와 상기 저장지의 어드레스를 대응시키는 제 1 정보를 저장하는 주기억부를 갖고,
    상기 네트워크 접속부가 수신한 패킷으로부터 이 패킷내의 데이타의 저장지에 관한 제2 정보를 취득하고,
    상기 취득한 제2 정보와 상기 제1 정보에 따라 상기 패킷내의 데이타의 저장지의 물리어드레스를 결정하고,
    상기 결정한 물리어드레스에 상기 페킷내의 데이타를 저장하는 정보처리장치.
  14. 제13항에 있어서,
    상기 제1 정보는 상기 저장지의 가상어드레스인 정보처리장치.
  15. 네트워크에 접속되는 정보처리장치에 있어서,
    각종 정보를 저장하는 메인메모리;
    상기 메인메모리에 저장된 정보를 처리하는 프로세서 및;
    데이타와 이 데이타가 저장될 상기 메인메모리의 소정의 영역을 지정하는 포트 ID를 포함하는 패킷을 수신하는 네트워크 어댑터를 갖고,
    상기 포트 ID를 사용해서 상기 메인메모리의 소정 영역의 가상어드레스를 물리어드레스로 변환하고,
    상기 네트워크 어댑터는 상기 변환한 물리어드레스가 나타내는 메인메모리의 영역으로 상기 데이타를 전송하는 정보처리장치.
  16. 제15항에 있어서,
    또 상기 메인메모리에 상기 포트 ID와 상기 메인메모리의 소정 영역을 대응시키는 어드레스 변환표를 갖고,
    상기 어드레스 변환표를 사용해서 가상어드레스를 물리어드레스로 변환하는 정보처리장치.
KR1019940022418A 1993-09-08 1994-09-07 네트워크통신방법및네트워크시스템 KR100326864B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP22355093A JP3473975B2 (ja) 1993-09-08 1993-09-08 ネットワークシステムおよびネットワークにおける通信方法
JP93-223550 1993-09-08

Publications (2)

Publication Number Publication Date
KR950009452A KR950009452A (ko) 1995-04-24
KR100326864B1 true KR100326864B1 (ko) 2002-06-22

Family

ID=16799920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019940022418A KR100326864B1 (ko) 1993-09-08 1994-09-07 네트워크통신방법및네트워크시스템

Country Status (5)

Country Link
US (1) US5617424A (ko)
EP (2) EP1289221A3 (ko)
JP (1) JP3473975B2 (ko)
KR (1) KR100326864B1 (ko)
DE (1) DE69433293T2 (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835492A (en) * 1993-09-08 1998-11-10 Hitachi, Ltd. Network for mutually connecting computers and communicating method using such network
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US5884040A (en) * 1995-01-11 1999-03-16 Sony Corporation Per-packet jamming in a multi-port bridge for a local area network
US5940597A (en) * 1995-01-11 1999-08-17 Sony Corporation Method and apparatus for periodically updating entries in a content addressable memory
US5764895A (en) * 1995-01-11 1998-06-09 Sony Corporation Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US5857075A (en) * 1995-01-11 1999-01-05 Sony Corporation Method and integrated circuit for high-bandwidth network server interfacing to a local area network
US6470391B2 (en) 1995-09-08 2002-10-22 Hitachi, Ltd. Method for transmitting data via a network in a form of divided sub-packets
JP4160642B2 (ja) * 1995-09-08 2008-10-01 株式会社日立製作所 ネットワークデータ転送方法
KR100258221B1 (ko) 1997-07-25 2000-06-01 윤종용 통신시스템의 패킷 트래픽 채널의 초기화 방법
US6510145B1 (en) 1997-07-25 2003-01-21 Samsung Electronics, Co., Ltd. Method and apparatus for providing packet data service in a communication system
US6157951A (en) * 1997-09-17 2000-12-05 Sony Corporation Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US6442168B1 (en) 1997-09-17 2002-08-27 Sony Corporation High speed bus structure in a multi-port bridge for a local area network
US6744728B1 (en) 1997-09-17 2004-06-01 Sony Corporation & Sony Electronics, Inc. Data pipeline timing optimization technique in a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
KR100286334B1 (ko) * 1998-03-10 2001-04-16 김영환 디엠에이씨를이용한유에스비인터페이스장치및방법
JP3250532B2 (ja) * 1998-11-24 2002-01-28 日本電気株式会社 データ送受信システム、データ受信装置、及びデータ受信方法
AU1843300A (en) 1998-12-11 2000-06-26 Microsoft Corporation Accelerating a distributed component architecture over a network using a modified rpc communication
US7031904B1 (en) * 1999-01-26 2006-04-18 Adaptec, Inc. Methods for implementing an ethernet storage protocol in computer networks
KR100618739B1 (ko) * 1999-10-11 2006-08-31 엘지엔시스(주) 다수의 큐를 이용한 대외계업무 수행방법
US6990528B1 (en) * 2000-10-19 2006-01-24 International Business Machines Corporation System area network of end-to-end context via reliable datagram domains
US7636772B1 (en) 2000-10-19 2009-12-22 International Business Machines Corporation Method and apparatus for dynamic retention of system area network management information in non-volatile store
US6941350B1 (en) 2000-10-19 2005-09-06 International Business Machines Corporation Method and apparatus for reliably choosing a master network manager during initialization of a network computing system
US7099955B1 (en) 2000-10-19 2006-08-29 International Business Machines Corporation End node partitioning using LMC for a system area network
US6981025B1 (en) 2000-10-19 2005-12-27 International Business Machines Corporation Method and apparatus for ensuring scalable mastership during initialization of a system area network
US7113995B1 (en) 2000-10-19 2006-09-26 International Business Machines Corporation Method and apparatus for reporting unauthorized attempts to access nodes in a network computing system
US20020073257A1 (en) * 2000-12-07 2002-06-13 Ibm Corporation Transferring foreign protocols across a system area network
KR20030000378A (ko) * 2001-06-23 2003-01-06 정우협 마우스에 의한 컴퓨터 볼륨(음량)조절에 대한 방법
US20030220987A1 (en) * 2002-05-21 2003-11-27 Aviation Communication & Surveillance Systems, Llc System and method with environment memory for input/output configuration
DE10248672B4 (de) * 2002-10-18 2016-02-11 Robert Bosch Gmbh Verfahren zur Übertragung von Daten auf einem Bus
KR100442372B1 (ko) * 2002-10-28 2004-07-30 엘지전자 주식회사 데이터 전송 장치 및 방법
US20050135612A1 (en) * 2003-12-19 2005-06-23 Evans Alan F. Secure digital communication
US7783769B2 (en) 2004-03-31 2010-08-24 Intel Corporation Accelerated TCP (Transport Control Protocol) stack processing
JP4568021B2 (ja) * 2004-04-05 2010-10-27 株式会社日立製作所 コマンド多重数監視制御方式を運用するコンピュータシステム
US7634584B2 (en) * 2005-04-27 2009-12-15 Solarflare Communications, Inc. Packet validation in virtual network interface architecture
JP5120765B2 (ja) * 2006-12-26 2013-01-16 日本電気株式会社 並列計算機システム
WO2012131806A1 (en) * 2011-03-28 2012-10-04 Nec Corporation Retransmission control system and retransmission control method
CN110943941B (zh) * 2019-12-06 2022-03-11 北京天融信网络安全技术有限公司 一种报文接收方法、网卡及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984003192A1 (en) * 1983-02-07 1984-08-16 American Telephone & Telegraph Data network interface
WO1993009627A1 (en) * 1991-11-08 1993-05-13 Ernest Stewart Lee Cryptographic apparatus and method for a data communication network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4654654A (en) * 1983-02-07 1987-03-31 At&T Bell Laboratories Data network acknowledgement arrangement
US5365519A (en) * 1991-03-05 1994-11-15 Hitachi, Ltd. ATM switch1ng system connectable to I/O links having different transmission rates
JPH0329048A (ja) * 1989-06-27 1991-02-07 Fujitsu Ltd データ転送方式
JPH0418652A (ja) * 1990-05-11 1992-01-22 Seiko Epson Corp データ通信システム
US5210749A (en) * 1990-05-29 1993-05-11 Advanced Micro Devices, Inc. Configuration of srams as logical fifos for transmit and receive of packet data
US5379295A (en) * 1990-07-31 1995-01-03 Nec Corporation Cross-connect system for asynchronous transfer mode
US5371868A (en) * 1990-08-20 1994-12-06 Digital Equipment Corporation Method and apparatus for deriving addresses from stored address information for use in identifying devices during communication
US5164938A (en) * 1991-03-28 1992-11-17 Sprint International Communications Corp. Bandwidth seizing in integrated services networks
US5321695A (en) * 1991-05-01 1994-06-14 Hewlett-Packard Company Port arrival identification for computer network packets
US5398245A (en) * 1991-10-04 1995-03-14 Bay Networks, Inc. Packet processing method and apparatus
FI88841C (fi) * 1991-10-30 1993-07-12 Nokia Telecommunications Oy Foerfarande foer att behandla dataoeverfoeringsramar av vaexlande laengd med en kanalstyrenhet och foer att placera desamma till ett cykliskt buffertminne
US5347514A (en) * 1993-03-26 1994-09-13 International Business Machines Corporation Processor-based smart packet memory interface

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1984003192A1 (en) * 1983-02-07 1984-08-16 American Telephone & Telegraph Data network interface
WO1993009627A1 (en) * 1991-11-08 1993-05-13 Ernest Stewart Lee Cryptographic apparatus and method for a data communication network

Also Published As

Publication number Publication date
EP1289221A2 (en) 2003-03-05
EP0642246B1 (en) 2003-11-05
US5617424A (en) 1997-04-01
DE69433293T2 (de) 2004-09-09
EP0642246A2 (en) 1995-03-08
JPH0778112A (ja) 1995-03-20
EP0642246A3 (en) 1995-12-13
JP3473975B2 (ja) 2003-12-08
EP1289221A3 (en) 2005-07-13
DE69433293D1 (de) 2003-12-11
KR950009452A (ko) 1995-04-24

Similar Documents

Publication Publication Date Title
KR100326864B1 (ko) 네트워크통신방법및네트워크시스템
EP1896965B1 (en) Dma descriptor queue read and cache write pointer arrangement
JP3553634B2 (ja) 相互接続インターフェース
EP1358562B1 (en) Method and apparatus for controlling flow of data between data processing systems via a memory
US7231638B2 (en) Memory sharing in a distributed data processing system using modified address space to create extended address space for copying data
US5826041A (en) Method and system for buffering network packets that are transferred between a V86 mode network driver and a protected mode computer program
US5768618A (en) Method for performing sequence of actions in device connected to computer in response to specified values being written into snooped sub portions of address space
US7409468B2 (en) Controlling flow of data between data processing systems via a memory
US20130318333A1 (en) Operating processors over a network
US20040024915A1 (en) Communication controller and communication control method
US20040054822A1 (en) Transferring interrupts from a peripheral device to a host computer system
US20050169309A1 (en) System and method for vertical perimeter protection
US5533203A (en) Start of packet receive interrupt for ethernet controller
JP2004094931A (ja) ネットワークシステムおよびネットワークにおける通信方法
JP3623727B2 (ja) 通信方法
JPH10105487A (ja) 計算機ネットワーク通信方法およびネットワーク計算機システム
KR19980086588A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
JPH05268291A (ja) デ−タバッファ管理システム
KR19980086586A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
KR19980086589A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
JPH07248997A (ja) バス制御方式
KR19980086587A (ko) Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴
CA2237742A1 (en) A system resource reduction tool utilizing tcp/ip socket applications

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

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee