[go: up one dir, main page]

KR20050088101A - 프로토콜 번역 방법, 제품 및 시스템 - Google Patents

프로토콜 번역 방법, 제품 및 시스템 Download PDF

Info

Publication number
KR20050088101A
KR20050088101A KR1020057010143A KR20057010143A KR20050088101A KR 20050088101 A KR20050088101 A KR 20050088101A KR 1020057010143 A KR1020057010143 A KR 1020057010143A KR 20057010143 A KR20057010143 A KR 20057010143A KR 20050088101 A KR20050088101 A KR 20050088101A
Authority
KR
South Korea
Prior art keywords
protocol
packet
information
csix
spi
Prior art date
Application number
KR1020057010143A
Other languages
English (en)
Other versions
KR100740405B1 (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 KR20050088101A publication Critical patent/KR20050088101A/ko
Application granted granted Critical
Publication of KR100740405B1 publication Critical patent/KR100740405B1/ko

Links

Classifications

    • 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/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • 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 Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 모듈 시스템을 위해 프로토콜 번역을 수행하기 위한 방법 및 장치에 관한 것이다. 본 방법은 제 1 프로토콜에 따라 생성되는 적어도 하나의 제 1 패킷을 수신하는 단계와, 상기 제 1 패킷에 대한 패킷 유형을 결정하는 단계와, 상기 패킷 유형을 기초로 하여 제 2 프로토콜을 선택하는 단계와, 상기 제 2 프로토콜에 따라 상기 적어도 하나의 제 1 패킷을 적어도 하나의 제 2 패킷으로 번역하는 단계를 포함한다.

Description

프로토콜 번역 방법, 제품 및 시스템{METHOD AND APPARATUS TO PERFORM TRANSLATION IN A MODULAR SYSTEM COMPRISING NETWORK NODES AND A SWITCHING FABRIC}
모듈 시스템은 스위칭 패브릭(switching fabric)에 의해 연결되는 다수의 네트워크 노드를 포함할 수 있다. 네트워크 노드는 스위칭 패브릭을 통해 하나 이상의 통신 프로토콜을 사용하여 서로 정보를 통신할 수 있다. 그러나, 스위칭 패브릭 및 네트워크 노드는 동일한 통신 프로토콜을 사용하도록 구성될 수 없다. 결과적으로, 어떤 노드는 어떤 스위칭 패브릭과만 동작할 수 있다. 이에 따라, 이질적인 환경에서 정보 통신 방법이 향상될 필요가 있다.
도 1은 본 발명의 일 실시예를 실시하기에 적합한 모듈 시스템을 도시하는 도면,
도 2는 본 발명의 일 실시예에 따라 프로세싱 시스템의 블록도를 도시하는 도면,
도 3은 본 발명의 일 실시예에 따라 PTM(Protocol Translation Module)에 의해 수행되는 프로그래밍 로직의 블록 순서도를 도시하는 도면.
본 발명의 실시예로서 주시되는 대상은 본 명세서의 끝부분에서 특정적으로 지적되고 명확히 청구된다. 그러나, 본 발명의 목적, 특징 및 유리한 점과 함께 조직 및 동작 방법 둘 다에 대해 본 발명의 실시예는 다음 상세한 설명을 참조하여 첨부 도면과 함께 판독될 때 가장 잘 이해할 수 있을 것이다.
본 발명의 실시예는 프로토콜 번역을 실행하기 위한 방법 및 장치를 포함할 수 있다. 예를 들어, 본 발명의 일 실시예에서, 제 1 프로토콜에 따라 생성된 적어도 하나의 제 1 패킷이 수신된다. 제 1 패킷의 패킷 유형이 결정될 수 있다. 제 2 프로토콜은 그 패킷 유형을 기초로 하여 선택될 수 있다. 제 1 패킷은 제 2 프로토콜에 따라 적어도 하나의 제 2 패킷으로 번역될 수 있다.
보다 구체적으로, 본 발명의 일 실시예는 모듈 시스템 내의 각종 요소들간에 통신되는 패킷을 번역할 수 있다. 예를 들어, 네트워크 노드는 그 부분에 네트워크 프로세서 및 패브릭 인터페이스 칩(fabirc interface chip, FIC)을 포함할 수 있다. FIC는 스위칭 패브릭과 네트워크 프로세서들간에 변하는 프로토콜의 패킷을 번역하도록 구성될 수 있다. 그 결과, 변하는 네트워크 프로세서는 변하는 스위칭 패브릭과 통신할 수 있고, 이로써, 보다 강건하고 융통성 있는 모듈 시스템 설계가 가능하게 된다.
또 다른 예에서, FIC는 또한 네트워크 프로세서와, 인접 또는 진입 포트(ingress port)와 같은 네트워크 노드의 다른 포트들간에 통신되는 패킷에 대해 프로토콜 번역을 실행할 수 있다. 인접 포트는, 패킷이 인접 프로세서로 전달되는 포트를 참조할 수 있다. 진입(이에 대해 진출(egress)) 포트는 패킷이 시스템으로 들어오는(이에 대해 빠져 나가는) 포트일 수 있다.
본 발명의 일 실시예는 또한 각종 요소들간의 통신을 최적화하도록 프로토콜 번역을 실행할 수 있다. 예를 들어, 각 패킷은 본 명세서에서 패킷 유형이라고 하는 특정 유형일 수 있다. 패킷 유형은 할당될 수 있고, 또는 이와 다르게, 패킷 포맷, 포트 할당, 사전결정된 플래그, 프로토콜 필드 등과 같은 제약의 집합으로부터 결정될 수 있다. 각 패킷 유형은, 스위칭 패브릭 또는 네트워크 프로세서와 통신하기에 특히 적합한 연관된 프로토콜을 가질 수 있다. FIC가 패킷을 수신할 때마다, 패킷 유형을 결정하고 프로토콜 번역을 위해 사용할 적절한 프로토콜을 선택할 수 있다. 그 후, FIC는 패킷을 선택된 프로토콜로 번역할 수 있다. 이러한 선택적인 매핑 절차에 의해 보다 효율적인 패킷 처리 및 통신이 가능하게 될 수 있고, 나아가, FIC가 임의 개수의 시스템 요소를 위해 번역 서비스를 행할 수 있게 할 수 있다.
본 명세서에서 "일 실시예"란, 실시예와 관련하여 설명되는 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되어 있다는 것을 의미한다. 본 명세서에서 여러 군데에 나타나는 구 "일 실시예에서"가 반드시 동일한 실시예를 참조할 필요는 없다.
본 발명의 실시예의 완전한 이해를 돕기 위해 다수의 특정한 세부사항들이 본 명세서에서 설정될 수 있다. 그러나, 당업자라면, 본 발명의 실시예가 이러한 특정 세부사항들 없이 실시될 수 있다는 것을 이해할 수 있을 것이다. 다른 예에서, 잘 알져져 있는 방법, 절차, 구성요소 및 회로를 본 발명의 실시예를 모호하게 하지 않도록 상세히 설명하였다. 본 명세서에서 개시한 특정한 구조적 및 기능적 세부사항들은 대표적일 수 있지만, 본 발명의 범위가 반드시 이에 국한된다는 것이 아님을 이해할 수 있을 것이다.
이제, 도면 전체에 걸쳐서 동일한 부분이 동일한 참조 번호에 의해 표시되는 도면을 상세히 참조하면, 도 1에는 본 발명의 일 실시예를 실시하기에 적합한 시스템이 도시되어 있다. 도 1은 본 발명의 일 실시예에 따른 모듈 시스템을 도시한다. 도 1은 스위칭 패브릭(104)을 통해 접속되어 있는 하나 이상의 네트워크 노드 또는 "블레이드(blades)"(102)를 포함하는 모듈 시스템(100)을 도시할 수 있다. 본 명세서에서 사용되는 용어 "블레이드"는 프로세서 또는 제어기, 라우터, 스위치, 저장 시스템, 네트워크 장치, PBX(private branch exchange), 애플리케이션 서버, CT(computer/telephony) 장치 등을 갖춘 SBC(single board computer)와 같은 단일의 보드로서 구현되는 장치를 가리킬 수 있다. 각각의 블레이드는 스위칭 패브릭과 접속하기 위한 인터페이스를 포함할 수 있고, 스위칭 패브릭(104)을 통해서 다른 블레이드와 통신할 수 있다.
스위칭 패브릭(104)은 예를 들어, 복수의 블레이드 인터페이스를 가지고 있는 통신 회로 보드를 포함하는 계층 2 스위칭 패브릭일 수 있다. 각각의 블레이드 인터페이스는 블레이드 인터페이스에 접속되는 모듈에 공통의 상호 접속부를 제공할 수 있다. 본 발명의 일 실시예에서, 블레이드 인터페이스는 서로 그리고 예를 들어, 스위칭 패브릭(104)의 시스템 관리 버스와 전기적으로 통신한다. 예를 들어, 스위칭 패브릭(104)은 블레이드 인터페이스가 CompactPCI 슬롯 또는 커넥터, 또는 2002년 11월 11일자 ATCA(AdvancedTCA) PICMG 3.0 드레프트 사양 버전 9.0인 CompactPCI 사양 버전 2.6("CompactPCI 사양")과 같은 PIC(Peripheral Component Interconnect) 산업 컴퓨터 제조자 그룹(PICMG)이 설정한 디자인(form factor)을 기초로 할 수 있지만, 실시예는 이러한 문맥에 국한되지 않는다.
스위칭 패브릭(104)에 접속되는 각각의 블레이드는 스위칭 패브릭(104)을 통해 다른 블레이드 및 시스템 자원과 통신할 수 있다. 각각의 블레이드는 하나 이상의 계층 2 네트워크 어드레스를 가질 수 있으므로, 각각의 블레이드는 시스템 내의 어떤 다른 블레이드에게로 정보를 전달할 수 있다. 스위칭 패브릭(104) 및 블레이드(102)는 각각 임의 개수의 통신 프로토콜, 예컨대 계층 2 통신 프로토콜에 따라 정보를 통신할 수 있다. 예를 들어, 모듈 시스템(100)은 2002년 5월 8일자 "CSIX-L1:공통 스위치 인터페이스 사양-L1(Common Switch Interface Specification-L1)," 버전 1.0("CSIX 사양")이란 제목의 CSIX(Common Switch Interface Specification) 포럼, 1999년 12월자 "Infiniband Architecture Specification Volume 1", 릴리스 0.8("인피니밴드 사양")이란 제목의 Infiniband Trade Association 문서, 2000년 1월자 "System Packet Interface Level 3(SPI-3): OC-48 System Interface for Physical and Link Layer Devices"("SPI-3 사양")란 제목의 OIF(Optical Internetworking Forum) 문서, 2001년 1월자 "System Packet Interface 4(SPI-4) Phase 2: OC-192 System Interface for Physical and Link Layer Devices"("SPI-4 사양")란 제목의 OIF 문서와, Review Draft Revision 0.5의 PCI ExB/AS(Express Base and Advanced Switching) Specification("ExB/AS 사양") 및 2001년 12월자 "RapidIP Interconnect Specification Part VI:Physical Layer 1x/4x LP-Serial Specification", 개정판 1.1("S-RIO 사양")의 제목의 Rapid Input/Output Trade Assoication 문서에 의해 정의되는 프로토콜을 사용하여 정보를 전달할 수 있지만, 실시예는 이러한 문맥에 국한되지 않는다.
도 2는 본 발명의 일 실시예에 따라 프로세싱 시스템의 블록도를 도시한다. 도 2는 프로세서, 하드웨어 회로, 또는 프로세서와 하드웨어 회로의 조합에 의해 실행되는 소프트웨어로서 구현될 수 있는 기능을 합체하는 프로세싱 시스템(200)을 도시한다. 프로세서는 Intel Corporation, Motorola Incorporated, Sun Microsystems Incorporated 등에서 제조한 프로세서 계열의 프로세서와 같은 범용 또는 전용 프로세서일 수 있다. 소프트웨어는 본 발명의 일 실시예의 어떤 기능을 구현하기 위한 프로그래밍 로직, 인스트럭션 또는 데이터를 포함할 수 있다. 소프트웨어는 머신 또는 컴퓨터 판독 가능 매체에 의해 액세스 가능한 매체, 예컨대, ROM(read-only memory), RAM(random-access memory), 마그네틱 디스크(예를 들어, 플로피 디스크 및 하드 드라이브) 내에 저장될 수 있다. 본 발명의 일 실시예에서, 매체는, 프로세서에 의해 실행되기 전에 컴파일되거나 설치자에 의해 설치되어야 할 수 있는 인스트럭션 뿐만 아니라, 압축 및/또는 암호화된 포맷의 프로그래밍 인스트럭션을 저장할 수 있다. 이와 다르게, 본 발명의 일 실시예는 언급한 기능을 수행하기 위한 하드 배선 로직을 포함하는 특정한 하드웨어 구성요소로서, 또는 프로그래밍된 범용 컴퓨터 구성요소와 주문형 하드웨어 구성요소의 임의의 조합에 의해 구현될 수 있다.
본 발명의 일 실시예에서, 프로세싱 시스템(200)은 모듈 시스템(100)의 모듈 구성요소로서 작용하도록 설계되는 블레이드를 포함할 수 있다. 블레이드(200)는 예를 들어, 어떤 블레이드(102)를 나타낼 수 있다. 본 발명의 일 실시예에서, 블레이드(200)는 ATCA 사양 또는 CompactPCI 사양에 따라 설계되는 상호접속부를 포함할 수 있다. 그러나, 임의의 적절한 인터페이스 표준이 사용될 수 있으며, 이러한 인터페이스 표준이 본 발명의 범주 내임을 이해할 수 있을 것이다.
본 발명의 일 실시예에서, 블레이드(200)는 FIC(202), 네트워크 프로세서(204) 및 입출력(I/O) 물리적 인터페이스(206)를 포함할 수 있다. FIC(202)는 예를 들어, PTM(Protocol Translation Module)(208)을 더 포함할 수 있다. 네트워크 프로세서(204)의 예는 IntelTMCorporation에서 제조한 네트워크 프로세서, 예컨대, IXP 2800TM을 포함할 수 있다. I/O 물리적 인터페이스(206)는 정보를 전달하기 위한 어떤 물리적 인터페이스, 예컨대, Ethernet Express Pro 100 compatible, Intel Corporation에서 제조한 Intel 82559 Fast Ethernet Multifunction PCI Controller("82559 제어기")일 수 있다. 82559 제어기는 단일의 구성요소 솔루션 내로 결합되는 MAC(Media Access Controller) 및 PHY(Physical layer) 인터페이스 둘 다를 포함할 수 있다. I/O 물리적 인터페이스(206)는 또한 물리적 커넥터, 예컨대 블레이드(200)의 면판(faceplate) 상의 RJ-45 커넥터를 포함할 수 있다. 면판은 또한 각 채널의 상태를 나타내기 위한 LED(light emitting diodes)를 포함할 수 있다. 블레이드(200)는 또한 특정한 구현을 위해 바람직한 각종 다른 요소들, 예를 들어, 프로세서의 고유한 전압 요구사항을 위한 전원, 온도 감지기, 시스템 메모리(예를 들어, L2 캐시), 프로세서를 표준 시스템 버스에 연결하기 위해 필요한 코어 로직, 시스템 제어기 등을 포함할 수 있다.
본 발명의 일 실시예에서, FIC(202)는 프로토콜을 스위칭 패브릭(104)으로부터 네트워크 프로세서(204)로 번역할 수 있다. 예를 들어, 스위칭 패브릭(104)은 인피니밴드 사양에 따라서 패킷을 전달할 수 있지만, 네트워크 프로세서(204)는 CSIX 사양 또는 SPI-4 사양에 따라 전달되는 패킷에 입각하여 동작하는 것을 보다 선호할 수 있다. 이러한 경우에, 네트워크 프로세서(204) 대신에 FIC(202)가 인피니밴드(IBA) 패킷을 CSIX 패킷 또는 SPI-4 패킷으로 번역할 수 있다. 거꾸로, 스위칭 패브릭(104) 대신에 FIC(202)가 CSIX 패킷 또는 SPI-4 패킷을 IBA 패킷으로 번역할 수 있다. 본 명세서에서 사용되는 용어 "번역" 또는 "매핑"은 패킷 또는 일련의 패킷에 의해 운반되는 정보를 얻고, 이 정보를 또 다른 패킷이나 일련의 패킷으로 바꾸는 것을 일컫을 수 있다. 이러한 프로토콜은 예로서만 제공됨을 이해할 수 있을 것이다. 본 발명의 일 실시예는 이러한 문맥에 국한되지 않으며, 아래에서 보다 상세히 설명된다.
시스템(100, 200)의 동작은 도 3 및 첨부 예를 참조하여 더 설명될 수 있다. 본 명세서에서 제시되는 도 3은 특정한 프로그래밍 로직을 포함할 수 있지만, 프로그래밍 로직은 단지 본 명세서에서 개시되는 일반적인 기능이 구현될 수 있는 방법을 제공한다는 것을 이해할 수 있을 것이다. 또한, 제공된 프로그래밍 로직 내의 각 동작은 다르게 표시되지 않은 한, 제시된 순서대로 반드시 실행될 필요는 없다.
도 3은 본 발명의 일 실시예에 따라 PTM(Protocol Translation Module)을 위한 프로그래밍 로직의 블록 순서도를 도시한다. 본 발명의 일 실시예에서, 이러한 모듈 및 기타 모듈들은 본 명세서에서 개시하는 하나 이상의 실시예에서의 기능을 구현하기 위해 사용되는 소프트웨어 및/또는 하드웨어를 지칭할 수 있다. 본 발명의 일 실시예에서, PTM은 프로세싱 시스템의 부분, 예를 들어, 프로세싱 시스템(200)의 FIC(202)로서 구현될 수 있다. 그러나, 이러한 기능은 통신 경로에서의 임의의 위치에 위치하는 임의의 장치 또는 장치의 조합으로 구현될 수 있으며, 이러한 임의의 장치 또는 장치의 조합은 본 발명의 범주 내이다.
도 3은 본 발명의 일 실시예에 따라 PTM을 위한 프로그래밍 로직(300)을 도시한다. 보다 구체적으로, 프로그래밍 로직(300)은 프로토콜 또는 프로토콜의 집합을 번역하는 동작을 나타낸다. 예를 들어, 제 1 프로토콜에 따라 생성되는 적어도 하나의 제 1 패킷은 블록(302)에서 수신될 수 있다. 제 1 패킷에 대한 패킷 유형은 블록(304)에서 결정될 수 있다. 제 2 프로토콜은 블록(306)에서의 패킷 유형을 기초로 하여 선택될 수 있다. 적어도 하나의 제 1 패킷은 제 2 프로토콜에 따라 적어도 하나의 제 2 패킷으로 번역될 수 있다.
본 발명의 일 실시예에서, 각 패킷은 연관된 패킷 유형을 가질 수 있다. 패킷 유형은 특정 패킷의 유형 또는 클래스를 나타낼 수 있다. 예를 들어, 인피니밴드 사양은 BECN(Backward Event Congestion Notification) 패킷을 참조하는 패킷 유형을 정의한다. 어떤 구현에서, PTM(208)이 특정한 패킷 유형을 특정한 프로토콜로 번역하는 것이 바람직할 수 있다. 결과적으로, 각 패킷 유형은 그 패킷 유형과 연관되어 있는 프로토콜을 가질 수 있으며, 연관된 프로토콜은, 수신된 패킷이 변환되어야 하는 프로토콜을 나타낸다. 예를 들어, 제 1 프로토콜은 IBA 프로토콜일 수 있고, 패킷 유형은 BECN 패킷일 수 있다. BECN 패킷 유형은 BECN 패킷 유형과 연관되어 있는 프로토콜, 예컨대 CSIX 프로토콜을 가질 수 있다. CSIX 프로토콜은 예를 들어 제 2 프로토콜일 수 있다. 이에 따라, PTM(208)이 BECN 패킷을 수신할 때마다, BECN 패킷을 CSIX 패킷으로 번역한다는 것을 알 수 있을 것이다.
일단 패킷 유형이 알려지면, PTM(208)은 제 1 패킷을 BECN 패킷으로부터 CSIX 패킷으로 번역할 수 있다. 이는 예컨대 제 1 패킷의 BECN 메세지 필드로부터 LRH(Local Rout Header)를 검색함으로써 수행될 수 있다. 네트워크 어드레스 및 정체 제어 정보(congestion control information)는 BECN 정보로부터 검색될 수 있으며, 정체 제어 정보는 제 1 부분 및 제 2 부분을 가지고 있다. 본 명세서에서 사용되는 용어 "네트워크 어드레스"는 임의의 계층 2 어드레스 정보, 예를 들어, 목적지 어드레스, 소스 어드레스, 포트 식별자, MAC 어드레스 등을 지칭할 수 있다. 네트워크 어드레스는 제 2 패킷의 CSIX 목적지 어드레스 필드에 매핑될 수 있다. 제 1 부분은 제 2 패킷의 CSIX 속도 필드에 매핑될 수 있다. 제 2 부분은 제 2 패킷의 CSIX 클래스 필드에 매핑될 수 있다.
패킷의 일 실시예에서, 패킷 유형은 IBA 데이터 패킷을 포함할 수 있다. IBA 데이터 패킷과 연관되어 있는 제 2 프로토콜은 SPI-4 사양에 따른 프로토콜을 포함할 수 있다. 제 1 패킷은 헤더 정보 및 페이로드 정보를 포함할 수 있다. 이러한 경우에, PTM(208)은 IBA 데이터 패킷을 하나 이상의 SPI-4 패킷으로 번역할 수 있다. 이는 예컨대, 헤더 정보 및 페이로드 정보의 일부를 적어도 하나의 SPI-4 패킷으로 매핑함으로써 이루어질 수 있다. 어떤 나머지 페이로드 정보는, 페이로드 정보가 완전히 매핑 완료될 때까지 다른 SPI-4 패킷으로 매핑될 수 있다. 각 SPI-4 패킷은 SPI-4 사양에 따르는 SPI-4 헤더를 포함할 수 있다.
본 발명의 일 실시예에서, 패킷 유형은 MPLF(Multi-Protocol Label Format) 패킷을 포함할 수 있다. MPLF 패킷은 예를 들어, 러 IBA 데이터 패킷(raw IBA data packet)으로 밀봉되는 MPLF 정보일 수 있다. MPLF 패킷과 연관되어 있는 제 2 프로토콜은 CSIX 사양에서 기술되는 프로토콜을 포함할 수 있다. 제 1 패킷은 LRH 정보, MPLF 헤더 정보 및 페이로드 정보를 포함할 수 있다. 이러한 경우에, PTM(208)은 MPLF 패킷을 하나 이상의 CSIX 패킷으로 번역할 수 있다. 이는 예컨대, MPLF 헤더 정보 및 페이로드 정보의 일부를 CSIX 패킷으로 매핑함으로써 수행될 수 있다. 임의의 나머지 페이로드 정보는, 그 페이로드 정보가 완전히 매핑 완료될 때까지 추가 CSIX 패킷으로 매핑될 수 있다. CSIX 헤더는 CSIX 사양에 따른 각 CSIX 패킷에 추가될 수 있다. 적어도 일부의 LRH 정보는 각 CSIX 헤더에 매핑될 수 있다.
본 발명의 일 실시예에서, LRH 정보는, 서비스 레벨 정보, 길이 정보 및 네트워크 어드레스를 LRH 정보로부터 검색함으로써 각 CSIX 헤더에 매핑될 수 있다. 서비스 레벨 정보는 CSIX 클래스 필드에 매핑될 수 있다. 길이 정보는 CSIX 길이 필드에 매핑될 수 있다. 네트워크 어드레스의 제 1 부분은 CSIX 목적지 어드레스 필드에 매핑될 수 있다. 네트워크 어드레스의 제 2 부분은 CSIX 예약된 필드에 매핑될 수 있다.
본 발명의 일 실시예에서, 제 1 프로토콜은 SPI-4 사양에 의해 정의되는 프로토콜일 수 있다. 패킷 유형은 BECN 패킷, 인피니밴드 데이터 패킷 또는 MPLF(Multi-Protocol Label Format) 패킷 중 하나일 수 있다. 제 2 프로토콜은 인피니밴드 사양에 따른 프로토콜을 포함할 수 있다. 이러한 경우에, PTM(208)은 하나 이상의 SPI-4 패킷을 적절한 패킷 유형으로 번역할 수 있다. 예를 들어, 패킷 유형이 BECN 패킷이었으면, SPI-4 패킷은 하나 이상의 BECN 패킷으로 번역될 수 있다. 이는 예컨대, 헤더 정보 및 페이로드 정보의 일부를 제 1 패킷으로부터 검색함으로써 실행될 수 있다. 또한, 시퀀스 내에서 추가 SPI-4 패킷으로부터 임의의 나머지 페이로드 정보가 검색될 수 있다. 적어도 하나의 제 2 패킷은 검색되는 헤더 정보 및 페이로드 정보를 이용하여 생성될 수 있다.
본 발명의 실시예는 임의 개수의 프로토콜 및 패킷 유형에 적용될 수 있으며, 이는 본 발명의 범주 내란 것을 이해할 수 있을 것이다. 예를 들어, 제 1 프로토콜은 ExB/AS 사양에 의해 정의되는 프로토콜을 포함할 수 있다. 이러한 경우에, 제 2 프로토콜은 CSIX 프로토콜 및/또는 SPI-4 프로토콜일 수 있다.
시스템(100, 200) 및 도 3에 도시한 프로그래밍 로직의 동작은 예로서 보다 잘 이해될 수 있다. 네트워크 프로세서(204)가 CSIX 패킷을 처리하도록 최적화된 네트워크 프로세서를 포함한다고 가정하자. 이는, CSIX 사양이 다수의 액세스 및 진입 인터페이스에 의해 지원되는 패브릭 중간 표준(fabric-neutral standard)이다. 스위칭 패브릭(104)이 예를 들어, 인터 노드 흐름 제어 및 인트라 노드 혼합 제어 방법을 합체하는 IBA 스위칭 패브릭이라고 더 가정하자. 이 지점에서의 시스템 트래픽은 "정규" IBA 데이터 패킷과, IBA 정체 제어 패킷(예를 들어, BECN 패킷)과, 러 IBA 데이터 패킷 내로 밀봉되는 MPLF 패킷을 포함할 수 있다. "정규" IBA 데이터 패킷은 로컬 또는 글로벌 IBA 데이터 패킷을 지칭할 수 있다. 또한, 블레이드(200)가 인접 포트 상에서 전달되는 SPI-3 패킷과, 진입 포트 상에서 전달되는 S-RIO 및 ExB/AS 패킷을 프로세싱한다고 가정하자. 이러한 시스템 구성이 주어지면, 블레이드(200)의 FIC(202)는 블레이드(200)에 접속되는 각종 소자들간에 변하는 프로토콜의 패킷을 번역할 필요가 있을 수 있다.
위에서 설명한 바와 같이, 네트워크 프로세서(204)와 스위칭 패브릭(104)은 변하는 프로토콜을 이용하여 서로 통신할 수 있다. 그러므로, 각각의 시스템 소자에 대한 다수의 서로 다른 설계 제약 하에서 시스템 성능을 최적화하는 프로토콜 번역 알고리즘을 선택하는 것이 바람직할 수 있다. 예를 들어, 네트워크 프로세서(204)는 다음 프로세싱 요구사항을 가진다:
·특수용 하드웨어를 사용하기 위해서, 네트워크 프로세서(204)는 64 바이트, 128 바이트 또는 256 바이트로부터 선택되는 특정 데이터 단위 크기로 작동하도록 구성되어야 한다. 네트워크 프로세서(204)에 도착하는 전체의 미니 패킷은, 미니 패킷이 패킷의 마지막 세그먼트를 나타낼 때까지 이러한 다수의 바이트를 포함해야 한다.
·하드웨어는 CSIX 패킷의 자동 프로세싱을 지원한다. 그러므로, 입력되는 데이터는 어떤 다른 오버라이드 요구사항이 대립되지 않는한 CSIX 사양에 따라 포맷되어야 한다.
·네트워크 프로세서(204)에 의해 수신되는 구별되는 패킷 유형의 개수는 환경 하에서 가능한한 소수여야 한다.
또한, 모듈 시스템(100)에 대한 어떤 설계 제약은 다수의 서로 다른 기준에 따라 동작하는 것일 수 있다. 예를 들어, 모듈 시스템(100)이 다음 요구사항에 부합하기를 원한다고 가정하자.
·스위치 패브릭(104) 상에서 패킷을 전송하기 위해 특수한 프로세싱 및 소유권 구성요소가 필요해서는 안된다. 결과적으로, 스위치 패브릭(104)은 통상적인 IBA 패킷을 운반해야 한다. IBA 예약된 필드는 가능한한 오버로드되어서는 안된다.
·인접 노드에 의해 전달되는 데이터는 SPI-3 패킷으로 포맷되어야 한다.
·진입 노드에 의해 전달되는 데이터는 S-RIO 또는 ExB/AS 패킷으로 포맷되어야 하며, 마지막 선택은 구성 파라미터이다.
·포맷과 무관하게, 패킷은 정보 손실을 최소로 하여 소스 네트워크 프로세서로부터 목적지 네트워크 프로세서로 전송되어야 한다. 결과적으로, 어떤 밀봉 또는 매핑에 의해 손실되는 데이터 유형 또는 서로 다른 정보 콘텐츠를 가지로 있는 데이터 유형이 처리되어야 한다.
·흐름 제어 패킷은 정보 손실을 최소로 하여 그리고 HOL(head-of-line)이 데이터 패킷으로부터 최소로 차단되게 하여 소스로부터 목적지로 전송되어야 한다.
·CSIX 예약된 필드는 가능한한 오버로드되어서는 안된다.
요구사항을 기초로 하는 어떤 기준에 더하여, 모듈 시스템(100)은 프로토콜 흐름 요구사항을 가질 수 있다. 이러한 예를 위하여, 모듈 시스템(100)은 모듈 시스템의 어떤 실질적인 레인으로의 모든 흐름이 계속될 것이라는 설계 제약을 가진다. 이는 예컨대, 전송 계층보다 상위의 프로토콜 계층에서 형성되는 패킷이 시스템 내로 형성되는 최소 패킷 길이보다 길어도, 그 패킷은 모듈 시스템(100)을 통해서 연속적인 미니 패킷 세그먼트로 분할 및 전송되어야 한다. 또한, 미니 패킷은 전송된 순서와 동일한 순서로 수신되어야 하며, 외래의 미니 패킷은 미니 패킷 스트림 내로 통합되지 않는다.
또한, 모듈 시스템(100)은 MPLF 관련된 요구사항을 가질 수 있다. MPLF는 변하는 스위치 패브릭에 일관된 액세스를 지원하도록 설계되는 패킷 포맷이다. MPLF는 IBA의 상부의 "심(shim)" 계층 및 각종 다른 스위치 패브릭 패킷 포맷으로서 간주될 수 있다. 결과적으로, MPLF 헤더를 번역하는 것이 네트워크 프로세서(204)이기 때문에 MPLF 헤더는 스위치 패브릭(104) 및 FIC(202)에 의해 페이로드로서 다루어질 수 있다.
여러가지 설계 제약이 식별되었으면, 어떤 매핑 이슈를 식별하고 해결하기 위해 패킷 포맷이 비교될 수 있다. 예를 들어, IBA 사양, CSIX 사양 및 SPI-4 사양에 의해 기술되는 패킷 포맷의 비교는 아래의 표 1에 요약될 수 있다. 이러한 예에서, IBA 헤더는 LRH를 참조할 수 있는데, 이 LRH는 8 바이트 필드일 수 있으며, 그 콘텐츠가 표의 열 1에 나타나 있다. CSIX 헤더는 CSIX 기초 헤더와, CSIX 기초 확장 헤더 또는 CSIX 흐름 제어 헤더의 연결일 수 있으며, 이들은 각각 열 2, 2a 및 2b에 도시되어 있다. "패킷 제어 워드"라고도 불리는 SPI-4 헤더는 다음 페이로드의 의미를 나타내고 페이로드의 끝에 나타나는 패딩 바이트 개수를 나타내는 16 비트 요소일 수 있다.
표 1은 데이터 요소의 배열의 차이와, 또한, 데이터 요소의 콘텐츠의 차이의 설명을 도울 수 있다. 콘텐츠 차에 관해서, 표 1은 다음 차이를 강조한다:
·IBA는 IBA-SL(Service Level)과 실제 레인(IBA-VL) 필드를 포함한다. IBA-SL은 종점 대 종점 서비스 레벨 목적지로서 다루어지고, 네트워크를 통해서 IBA 패킷의 각 호프에서 IBA-VL을 구동하기 위해 사용된다. CSIX는 그 목적이 IBA-SL과 유사한 CSIX 클래스 필드를 포함한다. 그러나, CSIX-클래스는 8 비트 길이이고, IBA-SL은 4 비트 길이일 뿐이다.
·IBA는 IBA 소스 로컬 식별자(IBA-SLID) 필드와 IBA 목적지 로컬 식별자(IBA-DLID) 필드를 인코딩하며, 이들 둘 다 서브넷 내에서 종점 포트 어드레스로서 다루어진다. CSIX는 목적지 트래픽 관리자(예컨대 네트워크 프로세서(204))를 나타내는 CSIX-목적지 필드만 인코딩한다. IBA-DLID와 CSIX-목적지는 서로 의미론적으로 대응하지만, IBA-DLID는 16 비트 길이이고, CSIX 목적지는 12 비트 길이이다. CSIX는 소스 어드레스를 인코딩하기 위한 기준 방법이 없다.
·IBA는 CRC 필드를 제외하고 헤더와 페이로드에서 32 비트 워드의 개수를 나타내는 IBA-패킷 길이 필드를 인코딩한다. CSIX는 페이로드에서 헤더를 포함하지 않는 바이트의 개수를 나타내는 CSIX-페이로드 길이 필드를 인코딩한다. IBA 패킷 길이 필드는 11 비트이고, CSIX 페이로드 길이 필드는 8 비트이고, 이는 상당한 차이를 나타낸다.
·IBA 표준 및 CSIX 표준과는 반대로, SPI-4는 그 패킷 제어 워드 내의 패킷 길이를 인코딩하지 않는다. 제어 워드는 인터페이스 상에서 RCTL 신호의 주장에 의해 표시되고, 모든 다른 데이터는 페이로드로 간주된다. 큰 페이로드는 16의 배수인 버스트로 전송되어야 하고, 후속하는 패킷 제어 워드의 시작간의 시간 간격은 적어도 8 워드 싸이클만큼 떨어져야 한다 등 페이로드에 관한 제약이 있다.
·CSIX는 2개의 CSIX-준비 비트를 포함하며, 하나의 비트는 데이터 메세지를 위한 것이고, 하나의 비트는 제어 메세지를 위한 것이고, 이 2개의 CSIX-준비 비트는 전송 개체도 메세지를 수신할 준비가 되어 있다는 것을 시그널링하기 위한 것이다. 이들 비트는 CSIX 링크 레벨 흐름 제어 메카니즘의 일부이고, IBA 크레딧 메카니즘과 가장 유사하다. 그러나, CSIX는 소스 포트 어드레스를 인코딩하지 않기 때문에, 이들 비트는, CSIX 포트가 접속되는 스위치 패브릭 포트에서만 의미가 있다는 것을 유념하라. 이러한 이유는 그 포트가 문맥에 의해 고유하게 식별되는 전송 포트이기 때문이다.
·CSIX는 CSIX 패킷의 유형을 나타내는 CSIX-유형 필드와, 결과로서 기초 헤더 뒤를 잇는 확장 헤더도 포함한다. 여기에서, CSIX와 IBA간의 비교는 유사한 필드가 존재하는지 여부가 아니고, CSIX형으로 표시되는 패킷 유형의 전체가 IBA 내에도 존재하는지 여부이다.
·IBA는 "확장 헤더"가 LRH 뒤를 잇는 것을 나타내는 IBA-LNH(IBA Link Next Header)를 포함한다. IBA 전송 헤더와 GRH/IPv6 헤더 또는 이들 둘다가 존재할 수 있다. 이들 "확장 헤더" 내의 정보 중 어느 것도 CSIX가 필요로 하지 않지만, 그 정보와 IBA-LNH 비트는 IBA 패킷이 서브넷에 들어가면 정확해야 한다.
패킷 포맷 내에서 쉽게 나타나지 않는 기록의 다른 차이는 CSIX가 어렵지 않게 "심(shims)"을 수용할 수 있다는 것이다. 이는 본래 CSIX가 트래픽 관리자와 스위치 패브릭간의 인터페이스이기 때문일 수 있다. IBA는 IBA가 스위치와 종점에 의해 사용되는 프로토콜이기 때문에 그 기능을 가질 수 없다. 그러므로, 대응하는 IBA 필드가 정보 콘텐츠의 보다 많은 비트를 가지는 경우에 CSIX는 확장될 수 있다. CSIX가 보다 많은 정보 콘텐츠를 가지는 대응 필드에서, 추가 정보는 패킷 페이로드 내에서 인코딩될 수 있다. 그러나, 이는 CSIX와 IBA 패킷 포맷간의 변환시에 CRC(Cyclic Redundancy Check)를 필요로 할 수 있다.
표 1은 또한 어떤 CSIX 필드가 대응하는 등가 IBA 필드를 가지지 않는다는 것을 나타낸다. 예를 들어, IBA 내에서 IBA-SL 필드에 대응하는 CSIX-클래스 필드는 보다 많은 비트를 가진다. CSIX-클래스 필드가 IBA-SL 필드에 매핑될 수 없고, IBA-SL 필드가 CSIX-클래스 필드에 매핑될 수 없으면, 그 목적지에 도착시에 정확한 서비스/클래스 레벨을 패킷에 할당하는 것은, 네트워크 내의 모든 지점에서 서비스 레벨 매핑을 제공하는 것을 필요로 할 수 있다. 이는 특히 복잡한 방법일 수 있다. 한가지 대안은 모듈 시스템(100) 내에서 지원되는 서로 다른 CSIX-클래스 레벨의 개수를 제한하기 위한 것일 수 있다. 이는, CSIX 클래스가 합체하는 스위치 패브릭 내에서 이용 가능한 것보다 많은 CSIX-클래스 비트가 운반될 필요가 없기 때문에 CSIX 표준에 의해 가능하게 된다.
위의 비교를 기초로 하여, 어떤 프로토콜은 다른 프로토콜로 더 잘 번역된다는 것을 이해할 수 있을 것이다. 예를 들어, CSIX 및 IBA 필드의 비교를 기초로 하면, CSIX 패킷 포맷이 IBA 데이터 패킷에 적합하지 않다는 결과가 나올 수 있다. 표 1은 대응하는 등가 CSIX 필드를 가지지 않는 어떤 IBA 필드가 있다는 것을 나타낸다. 예를 들어, IBA는 소스 포트와 목적지 포트 둘 다를 인코딩하고 16 비트의 해상도를 사용할 수 있지만, CSIX는 목적지 포트만 인코딩하고, 12 비트의 해상도만 사용할 수 있다. 정보 손실을 감소시키고, 표준 일치를 보장하기 위해서, CSIX 확장 헤더의 CSIX 예약된 필드는 CSIX-목적지 어드레스 필드를 확장하기 위해 사용될 수 있다. 또한, CSIX-목적지 어드레스 필드는 목적지에서 수신되면 표준에 의해 정의되지 않으므로 FIC(202)에 의해 소스 어드레스를 위해 사용될 수 있다. 그러나, (예컨대 데이터 패킷을 이용하여) 소스 어드레스와 목적지 어드레스 둘 다를 원하는 경우에, CSIX 패킷 포맷은 적합하지 않을 수 있다. CSIX 패킷 포맷의 또 다른 제한은, 페이로드 크기가 64 바이트로 제한된다는 것이다. 이는 IBA보다 제한적이어서, 잠재적으로 성능이 감소되게 한다. 또한, 패킷 길이 제한도 네트워크 프로세서(204)보다 더 제한적일 수 있다.
위의 설계 제한이 제공되면, 모듈 시스템(100)의 성능은 서로 적합한 프로토콜을 식별함으로써 향상될 수 있다. 모듈 네트워크(100)에서, 스위치 패브릭(104)으로부터 네트워크 프로세서(204)로의 패킷은 IBA 패킷의 형태일 수 있다. BECN 패킷 또는 MPLF 패킷의 패킷 유형을 가지고 있는 이들 IBA 패킷은 CSIX 패킷 포맷으로 변환될 수 있다. 패킷 유형이 IBA 데이터 패킷인 이들 IBA 패킷은 SPI-4 패킷으로 변환될 수 있다. 또한, 네트워크 프로세서(204)는 블레이드(200)의 인접 포트로부터 SPI-3 패킷의 형태의 패킷을 수신할 수 있고, 블레이드(200)의 진입 포트는 S-RIO 패킷 및 ExB/AS 패킷의 형태의 패킷을 수신할 수 있다. 이러한 패킷 유형은 SPI-4 패킷으로 변환되고, 네트워크 프로세서(204)로 전달될 수 있다. 이와 반대로, 네트워크 프로세서(204)로부터 나오는 이들 패킷은 SPI-4 패킷으로서 생성될 수 있고, FIC(202)에 의해 적절한 패킷 유형, 예컨대 BECN 패킷, MPLF 패킷 또는 IBA 데이터 패킷으로 변환될 수 있다. 그러면, 변환된 패킷은 스위칭 패브릭(204)을 통해서 적절한 목적지로 전송될 수 있다.
이 예를 계속 참조하면, FIC(202)는 BECN 패킷을 수신하는 경우를 가정한다. BECN 패킷은 BECN 메세지 정보를 포함하는 LHR을 가지고 있는 표준 IBA 패킷을 포함할 수 있다. 통상적으로, BECN 패킷은 모듈 시스템(100) 내에서 높은 우선순위 실제 레인에서 운반된다. FIC(202)의 PTM(208)은, 수신된 패킷 유형이 BECN 패킷이고, 수신된 패킷이 CSIX 흐름 제어 메세지로 번역되어야 한다는 것을 결정할 수 있다. 이러한 매핑에서, IBA 헤더의 BECN 메세지부에 포함되는 소스 어드레스는 CSIX-목적지 어드레스 및 CSIX-예약된 필드를 오버로드한다. 특정 정체 제어 정보를 제공하는 BECN 메세지의 나머지는 나중에 네트워크 프로세서(204)에 의해 번역되도록 CSIX-클래스 필드 및 CSXI-속도 필드로 투명하게 매핑될 수 있다. BECN 메세지의 크기가 상대적으로 작기 때문에, BECN 메세지의 매핑은 단일 CSIX 흐름 제어 메세지를 이용하여 수행될 수 있다.
또한, 이 예로, FIC(202)는 IBA 데이터 패킷을 수신한다고 가정하자. 이전에 설명한 바와 같이, IBA 데이터 패킷은 CSIX 패킷에 잘 매핑되지 않는다. 또한, 이는 S-RIO 패킷, ExB/AS 패킷 및 SPI-3 패킷에도 적용된다. PTM(208)은, 수신된 패킷 유형이 IBA 데이터 패킷이라고 결정할 수 있고, SPI-4 패킷의 시퀀스로 번역되어야 하며, 개개의 SPI-4 패킷은 네트워크 프로세서(204) 내로 형성되는 패킷 크기 제한을 만족하도록 구성된다. 이전에 언급한 바와 같이, 모듈 시스템(100)은 상위 프로토콜 계층에서 형성되는 패킷이 시스템 전체에 걸쳐서 연속 세그먼트로 전송된다고 가정하자. 그러므로, FIC(202)에서, 네트워크 프로세서(204) 내에서 구성되는 패킷 길이보다 긴 길이로 데이터 패킷이 도착하면, FIC(202)는 도착하는 패킷을 SPI-4 패킷으로서 인코딩되는 미니 패킷의 연속 시퀀스로 분할할 수 있다. 내부 패킷의 IBA/S-RIO/ExB/AS 헤더는 시퀀스의 제 1 SPI-4 패킷의 페이로드의 일부로서 손상되지 않게 보존된다. 나머지 제 1 SPI-4 패킷은 들어오는 데이터 패킷으로부터 연속적인 데이터가 부가될 수 있다. 입력되는 나머지 데이터 페이로드는 SPI-4 페이로드로 분할되어서, 결과로 생기는 각 SPI-4 패킷은 가능하게는 마지막 비트를 제외하고 네트워크 프로세서(204)의 형성된 길이가 된다.
이 예에 추가하여, FIC(202)가 MPLF 패킷을 수신한다고 가정하자. IBA는 IBA 러 모드 패킷 포맷을 이용하여 MPLF 메세지를 밀봉한다. 일반적으로, MPLF 메세지는 스위치 패브릭(104)에 의해 지원되는 어떤 길이일 수 있으므로, 네트워크 프로세스(204)로 구성되는 패킷 길이보다 길 수 있다. 그러므로, MPLF 메세지는 IBA 데이터 패킷과 유사한 미니 패킷으로 분할될 수 있다. MPLF가 스위치 패브릭(104) 위의 심 계층으로서 존재하기 때문에, 라우팅 필드는 IBA에 대해서 고려되는 페이로드 정보이고, 네트워크 프로세서(204)에 의해 번역되지만 FIC(202)에 의해 번역되지 않는다. 라우팅 필드의 예는 소스 어드레스 및 목적지 어드레스를 포함할 수 있다. 그러므로, IBA 데이터 패킷의 경우와는 반대로, MPLF 패킷은 CSIX 패킷으로 분할될 수 있다. IBA LRH는 IBA BECN 메세지의 경우에 CSIX 헤더로 매핑된다. MPLF 헤더는 시퀀스의 제 1 CSIX 패킷으로 매핑된다. MPLF 헤더는 시퀀스의 제 1 CSIX 패킷으로 로딩될 수 있고, 나머지 페이로드는 시퀀스 내의 마지막 페이로드만 제외하고 균일한 크기의 CSIX 패킷으로 분할된다.
이 예를 계속 참조하여, FIC(202)가 인접 노드로부터 SPI-3 패킷을 수신하거나 진입 노드로부터 S-RIO 또는 ExB/AS 패킷을 수신한다고 가정하자. 이들 패킷은 네트워크 프로세서(204) 내에서 형성되는 패킷 크기보다 가능하게는 큰 페이로드 크기와, 헤더를 가진다는 것을 추론할 수 있기 때문에, IBA 데이터 패킷과 동일한 방식으로, 즉, SPI-4 패킷의 시퀀스로 분할될 수 있다.
이 예에 추가하여, FIC(202)가 스위칭 패브릭(104)에 의해 전송되는 네트워크 프로세서(204)로부터의 패킷을 수신한다. 네트워크 프로세서(204)가 미니 패킷을 생성하고, 이 미니 패킷을 어떤 가능한 목적지로 전송하면, 미니 패킷은 FIC(202)에 의해 목적지까지 전달될 수 있다. 네트워크 프로세서(204)는 목적지가 인접 포트인지, 진입 포트인지, 또는 스위치 패브릭 포트인지, 그리고 이에 따라 목적지를 위해 생성하는 것이 적합한 패킷의 유형을 추측하여 알 수 있다. 다른 한편, 네트워크 프로세서(204)는 고정된 패킷 크기로 다루기 위해 그 패킷 처리 하드웨어에 의해 제한될 수 있다. 그러므로, 네트워크 프로세서(204)로부터 진출하는 패킷의 매핑은 2개의 동작으로 이루어질 수 있다.
네트워크 프로세서(204)는, 시퀀스가 바깥쪽으로의 메세지를 밀봉하는 SPI-4 미니 패킷 시퀀스를 생성함으로써 제 1 동작을 수행할 수 있다. 메세지 내에서 제 1 미니 패킷은 SPI-4 헤더 바로 다음의 헤더를 포함할 수 있고, 시퀀스 내의 나머지 미니 패킷은 페이로드의 연속 길이를 포함할 수 있다.
FIC(202)는 시퀀스의 제 1 미니 패킷에 제공되는 패킷 헤더를 식별하고, 적절한 패킷 헤더, 예를 들어, SPI-3, S-RIO/ExB/AS에 매핑함으로써 제 2 동작을 수행할 수 있다. FIC(202)는, 위에서 설명한 적절한 매핑 절차를 역으로 함으로써 이 번역을 수행할 수 있다. 그 후, FIC(202)는 최소 패킷 시퀀스의 나머지 미니 패킷으로부터 연속하는 패킷으로 그 조각을 재조립하고, 그 후, 그것을 적절한 목적지 포트로 라우팅함으로써 페이로드를 구성할 수 있다.
본 명세서에서 본 발명의 실시예의 어떤 특징들이 도시되었으나, 이제 당업자에게는 다수의 수정예, 대체예, 변형예 및 등가물이 명백할 것이다. 그러므로, 청구의 범위는 본 발명의 실시예의 진정한 사상 내의 모든 이러한 수정예 및 변형예를 포함하는 것으로 의도된다.

Claims (50)

  1. 제 1 프로토콜에 따라 생성되는 적어도 하나의 제 1 패킷을 수신하는 단계와,
    상기 제 1 패킷에 대한 패킷 유형을 결정하는 단계와,
    상기 패킷 유형을 기초로 하여 제 2 프로토콜을 선택하는 단계와,
    상기 적어도 하나의 제 1 패킷을 상기 제 2 프로토콜에 따라 적어도 하나의 제 2 패킷으로 번역하는 단계를 포함하는
    프로토콜 번역 방법.
  2. 제 1 항에 있어서,
    상기 제 1 프로토콜은 인피니밴드 사양(Infiniband Specification)에 의해 정의되는 프로토콜을 포함하는
    프로토콜 번역 방법.
  3. 제 2 항에 있어서,
    상기 패킷 유형은 BECN(Backward Event Congestion Notification) 패킷을 포함하는
    프로토콜 번역 방법.
  4. 제 3 항에 있어서,
    상기 제 2 프로토콜은 CSIX 사양에 따른 프로토콜을 포함하는
    프로토콜 번역 방법.
  5. 제 4 항에 있어서,
    상기 번역 단계는,
    BECN 메세지 필드 내에 BECN 정보를 가지고 있는 LRH(Local Route Header)를 상기 제 1 패킷으로부터 검색하는 단계와,
    제 1 부분 및 제 2 부분을 가지고 있는 정체 제어 정보(congestion control inforamtion)와 네트워크 어드레스를 상기 BECN 정보로부터 검색하는 단계와,
    상기 네트워크 어드레스를 상기 제 2 패킷의 CSIX 목적지 어드레스 필드에 매핑하는 단계와,
    상기 제 1 부분을 상기 제 2 패킷의 CSIX 속도 필드에 매핑하는 단계와,
    상기 제 2 부분을 상기 제 2 패킷의 CSIX 클래스 필드에 매핑하는 단계를 포함하는
    프로토콜 번역 방법.
  6. 제 2 항에 있어서,
    상기 패킷 유형은 인피니밴드 데이터 패킷을 포함하는
    프로토콜 번역 방법.
  7. 제 6 항에 있어서,
    상기 제 2 프로토콜은 SPI-4 사양에 따른 프로토콜을 포함하는
    프로토콜 번역 방법.
  8. 제 7 항에 있어서,
    상기 제 1 패킷은 헤더 정보와, 페이로드 정보를 포함하되,
    상기 번역 단계는,
    상기 헤더 정보 및 상기 페이로드 정보의 일부를 상기 적어도 하나의 제 2 패킷에 매핑하는 단계와,
    상기 페이로드 정보가 매핑 완료될 때까지 모든 나머지 페이로드 정보를 추가 패킷에 매핑하는 단계와,
    각각의 상기 제 2 패킷 및 상기 추가 패킷에 SPI-4 헤더를 추가하는 단계를 포함하는
    프로토콜 번역 방법.
  9. 제 2 항에 있어서,
    상기 패킷 유형은 MPLF(Multi-Protocol Label Format) 패킷을 포함하는
    프로토콜 번역 방법.
  10. 제 9 항에 있어서,
    상기 제 2 프로토콜은 CSIX 사양에 따르는 프로토콜을 포함하는
    프로토콜 번역 방법.
  11. 제 10 항에 있어서,
    상기 제 1 패킷은 LRH(Local Route Header) 정보와, MPLF 헤더 정보와, 페이로드 정보를 포함하며,
    상기 번역 단계는,
    상기 MPLF 헤더 정보 및 상기 페이로드 정보의 일부를 상기 제 2 패킷으로 매핑하는 단계와,
    상기 페이로드 정보가 매핑 완료될 때까지 모든 나머지 페이로드 정보를 추가 패킷에 매핑하는 단계와,
    CSIX 헤더 필드를 각각의 상기 제 2 패킷 및 추가 패킷에 추가하는 단계와,
    상기 LRH 정보의 적어도 일부를 각각의 CSIX 헤더 필드에 매핑하는 단계를 포함하는
    프로토콜 번역 방법.
  12. 제 11 항에 있어서,
    상기 LRH 정보의 적어도 상기 일부를 매핑하는 상기 단계는,
    서비스 레벨 정보와, 길이 정보와, 네트워크 어드레스를 상기 LRH 정보로부터 검색하는 단계와,
    상기 서비스 레벨 정보를 CSIX 클래스 필드에 매핑하고, 상기 길이 정보를 CSIX 길이 필드에 매핑하고, 상기 네트워크 어드레스의 제 1 부분을 CSIX 목적지 어드레스 필드에 매핑하고, 상기 네트워크 어드레스의 제 2 부분을 CSIX 예약된 필드에 매핑하는 단계를 포함하는
    프로토콜 번역 방법.
  13. 제 1 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 사양에 의해 정의되는 프로토콜인
    프로토콜 번역 방법.
  14. 제 13 항에 있어서,
    상기 패킷 유형은 BECN(Backward Event Congestion Notificaiton) 패킷과, 인피니밴드 데이터 패킷과, MPLF(Multi-Protocol Label Format) 패킷 중 하나를 포함하는
    프로토콜 번역 방법.
  15. 제 14 항에 있어서,
    상기 제 2 프로토콜은 인피니밴드 사양에 따른 프로토콜을 포함하는
    프로토콜 번역 방법.
  16. 제 15 항에 있어서,
    상기 제 1 패킷은 SPI-4 패킷들의 시퀀스에서의 SPI-4 패킷이고,
    상기 번역 단계는,
    헤더 정보 및 페이로드 정보의 일부를 상기 제 1 패킷으로부터 검색하는 단계와,
    상기 시퀀스 내의 추가 SPI-4 패킷으로부터 모든 나머지 페이로드 정보를 검색하는 단계와,
    상기 헤더 정보 및 페이로드 정보를 이용하여 상기 적어도 하나의 제 2 패킷을 생성하는 단계를 포함하는
    프로토콜 번역 방법.
  17. 제 1 항에 있어서,
    상기 제 1 프로토콜은 ExB/AS 사양에 의해 정의되는 프로토콜인
    프로토콜 번역 방법.
  18. 제 17 항에 있어서,
    상기 제 2 프로토콜은 CSIX 사양 및 SPI-4 사양 중 하나의 사양에 따르는 프로토콜인
    프로토콜 번역 방법.
  19. 저장 매체를 포함하는 제품으로서,
    상기 저장 매체는 프로세서에 의해 실행되면, 제 1 프로토콜을 따라 생성되는 적어도 하나의 제 1 패킷을 수신하고, 상기 제 1 패킷에 대한 패킷 유형을 결정하고, 상기 패킷 유형을 기초로 하여 제 2 프로토콜을 선택하고, 상기 제 2 프로토콜에 따라 상기 적어도 하나의 제 1 패킷을 적어도 하나의 제 2 패킷으로 번역함으로써 프로토콜 번역을 하는 저장 인스트럭션(stored instructions)을 포함하는
    제품.
  20. 제 19 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 프로토콜이 인피니밴드 사양에 의해 정의되는 프로토콜을 포함하게 하는
    제품.
  21. 제 20 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 패킷 유형이 BECN(Backward Event Congestion Notification) 패킷을 포함하게 하는
    제품.
  22. 제 21 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 2 프로토콜이 CSIX 사양에 따르는 프로토콜을 포함하게 하는
    제품.
  23. 제 22 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, BECN 메세지 필드 내에 BECN 정보를 가지고 있는 LRH(Local Route Header)를 상기 제 1 패킷으로부터 검색하고, 네트워크 어드레스, 및 제 1 부분 및 제 2 부분을 가지고 있는 정체 제어 정보를 상기 BECN 정보로부터 검색하고, 상기 네트워크 어드레스를 상기 제 2 패킷의 CSIX 목적지 어드레스 필드에 매핑하고, 상기 제 1 부분을 상기 제 2 패킷의 CSIX 속도 필드에 매핑하고, 상기 제 2 부분을 상기 제 2 패킷의 CSIX 클래스 필드에 매핑함으로써 상기 번역을 실행하게 하는
    제품.
  24. 제 19 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 패킷 유형이 인피니밴드 데이터 패킷을 포함하게 하는
    제품.
  25. 제 24 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 2 프로토콜이 SPI-4 사양에 따른 프로토콜을 포함하게 하는
    제품.
  26. 제 25 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 프로토콜이 헤더 정보 및 페이로드 정보를 포함하게 하고,
    상기 번역은,
    상기 헤더 정보 및 상기 페이로드 정보의 일부를 상기 적어도 하나의 제 2 패킷에 매핑하고, 상기 페이로드 정보가 매핑 완료될 때까지 모든 나머지 페이로드 정보를 추가 패킷에 매핑하고, 각각의 상기 제 2 패킷 및 상기 추가 패킷에 SPI-4 헤더를 추가함으로써 수행되는
    제품.
  27. 제 19 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 패킷 유형이 MPLF(Multi-Protocol Label Format) 패킷을 포함하게 하는
    제품.
  28. 제 27 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 2 프로토콜이 CSIX 사양에 따른 프로토콜을 포함하게 하는
    제품.
  29. 제 28 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 패킷이 LRH(Local Route Header) 정보와, MPLF 헤더 정보와, 페이로드 정보를 포함하게 하고,
    상기 번역은,
    상기 MPLF 헤더 정보 및 상기 페이로드 정보의 일부를 상기 제 2 패킷에 매핑하고, 상기 페이로드 정보가 매핑 완료될 때까지 모든 나머지 페이로드 정보를 추가 패킷에 매핑하고, 각각의 상기 제 2 패킷 및 추가 패킷에 CSIX 헤더 필드를 추가하고, 상기 LRH 정보의 적어도 일부를 각각의 CSIX 헤더 필드에 매핑함으로써 수행되는
    제품.
  30. 제 29 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 서비스 레벨 정보와, 길이 정보와, 네트워크 어드레스를 상기 LRH 정보로부터 검색하고, 상기 서비스 레벨 정보를 CSIX 클래스 필드에 매핑하고, 상기 길이 정보를 CSIX 길이 필드에 매핑하고, 상기 네트워크 어드레스의 제 1 부분을 CSIX 목적지 어드레스 필드에 매핑하고, 상기 네트워크 어드레스의 제 2 부분을 CSIX 예약된 필드에 매핑하는 것에 의해 상기 LRH 정보의 적어도 상기 일부가 매핑되게 하는
    제품.
  31. 제 19 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 프로토콜이 SPI-4 사양에 의해 정의되는 프로토콜이 되게 하는
    제품.
  32. 제 31 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 패킷 유형이 BECN(Backward Event Congestion Notification) 패킷과, 인피니밴드 데이터 패킷과, MPLF(Multi-Protocol Label Format) 패킷 중 하나를 포함하게 하는
    제품.
  33. 제 32 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 2 프로토콜이 인피니밴드 사양에 따른 프로토콜을 포함하게 하는
    제품.
  34. 제 33 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 패킷이 SPI-4 패킷들의 시퀀스에서의 SPI-4 패킷이 되게 하며,
    상기 번역은,
    헤더 정보 및 페이로드 정보의 일부를 상기 제 1 패킷으로부터 검색하고, 모든 나머지 페이로드 정보를 상기 시퀀스 내의 추가 SPI-4 패킷으로부터 검색하고, 상기 헤더 정보 및 페이로드 정보를 이용하여 상기 적어도 하나의 제 2 패킷을 생성함으로써 수행되는
    제품.
  35. 제 34 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 1 프로토콜이 ExB/AS 사양에 의해 정의되는 프로토콜이 되게 하는
    제품.
  36. 제 35 항에 있어서,
    상기 저장 인스트럭션은 또한, 프로세서에 의해 실행되면, 상기 제 2 프로토콜이 CSIX 사양 및 SPI-4 사양 중 하나의 사양에 따르는 프로토콜이 되게 하는
    제품.
  37. 스위칭 패브릭(switching fabric)과,
    상기 스위칭 패브릭에 접속되어 있는 적어도 하나의 네트워크 노드를 포함하되,
    상기 네트워크 노드는 네트워크 프로세서와, FIC(Fabric Interface Chip)를 포함하며,
    상기 FIC는 상기 스위칭 패브릭과 상기 네트워크 프로세서간에 통신되는 하나 이상의 패킷을 각 패킷과 연관되어 있는 패킷 유형을 기초로 하여 제 1 프로토콜로부터 제 2 프로토콜로 번역하는
    시스템.
  38. 제 37 항에 있어서,
    상기 네트워크 노드는 진입 포트(ingress port) 및 인접 포트(adjunct port)를 더 포함하며, 상기 FIC는 상기 네트워크 프로세서와 상기 포트간에 통신되는 하나 이상의 패킷을 상기 패킷 유형을 기초로 하여 제 1 프로토콜로부터 제 2 프로토콜로 번역하는
    시스템.
  39. 제 38 항에 있어서,
    상기 제 1 프로토콜은 인피니밴드 프로토콜이고, 상기 패킷 유형은 BECN(Backward Event Congestion Notification) 패킷이고, 상기 제 2 프로토콜은 CSIX 프로토콜인
    시스템.
  40. 제 38 항에 있어서,
    상기 제 1 프로토콜은 인피니밴드 프로토콜이고, 상기 패킷 유형은 MPLF(Multi-Protocol Label Format) 패킷이고, 상기 제 2 프로토콜은 CSIX 프로토콜인
    시스템.
  41. 제 38 항에 있어서,
    상기 제 1 프로토콜은 인피니밴드 프로토콜이고, 상기 패킷 유형은 IBA 데이터 패킷이고, 상기 제 2 프로토콜은 SPI-4 프로토콜인
    시스템.
  42. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-3 프로토콜이고, 상기 패킷 유형은 SPI-3 패킷이고, 상기 제 2 프로토콜은 SPI-4 프로토콜인
    시스템.
  43. 제 38 항에 있어서,
    상기 제 1 프로토콜은 S-RIO 프로토콜이고, 상기 패킷 유형은 S-RIO 패킷이고, 상기 제 2 프로토콜은 SPI-4 프로토콜인
    시스템.
  44. 제 38 항에 있어서,
    상기 제 1 프로토콜은 ExB/AS 프로토콜이고, 상기 패킷 유형은 ExB/AS 패킷이고, 상기 제 2 프로토콜은 SPI-4 프로토콜인
    시스템.
  45. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 BECN 패킷이고, 상기 제 2 프로토콜은 인피니밴드 프로토콜인
    시스템.
  46. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 MPLF 패킷이고, 상기 제 2 프로토콜은 인피니밴드 프로토콜인
    시스템.
  47. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 IBA 데이터 패킷이고, 상기 제 2 프로토콜은 인피니밴드 프로토콜인
    시스템.
  48. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 SPI-3 패킷이고, 상기 제 2 프로토콜은 SPI-3 프로토콜인
    시스템.
  49. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 S-RIO 패킷이고, 상기 제 2 프로토콜은 S-RIO 프로토콜인
    시스템.
  50. 제 38 항에 있어서,
    상기 제 1 프로토콜은 SPI-4 프로토콜이고, 상기 프로토콜 유형은 ExB/AS 패킷이고, 상기 제 2 프로토콜은 ExB/AS 프로토콜인
    시스템.
KR1020057010143A 2002-12-05 2003-11-12 프로토콜 변환 방법, 제품 및 시스템 KR100740405B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/313,783 2002-12-05
US10/313,783 US7573876B2 (en) 2002-12-05 2002-12-05 Interconnecting network processors with heterogeneous fabrics

Publications (2)

Publication Number Publication Date
KR20050088101A true KR20050088101A (ko) 2005-09-01
KR100740405B1 KR100740405B1 (ko) 2007-07-16

Family

ID=32468344

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020057010143A KR100740405B1 (ko) 2002-12-05 2003-11-12 프로토콜 변환 방법, 제품 및 시스템

Country Status (8)

Country Link
US (3) US7573876B2 (ko)
EP (1) EP1568188B1 (ko)
KR (1) KR100740405B1 (ko)
CN (2) CN103188262B (ko)
AT (1) ATE478508T1 (ko)
AU (1) AU2003287649A1 (ko)
DE (1) DE60333862D1 (ko)
WO (1) WO2004054203A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655599B1 (ko) * 2005-11-04 2006-12-08 한국전자통신연구원 노드별 20Gbps 패킷 스위칭 대역폭을 지원하는ATCA 플랫폼 장치
KR100745674B1 (ko) * 2005-12-06 2007-08-02 한국전자통신연구원 다중 스위칭 포트 지원 구조의 패킷 처리장치, 방법 및 그장치를 적용한 패킷 처리시스템
KR100745675B1 (ko) * 2005-12-07 2007-08-02 한국전자통신연구원 Atca 플랫폼을 위한 고성능 패킷 스위칭 장치 및 방법
KR101301784B1 (ko) * 2006-09-28 2013-08-29 에이저 시스템즈 엘엘시 데이터 세그먼트를 프로세스하는 방법 및 장치

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7573876B2 (en) * 2002-12-05 2009-08-11 Intel Corporation Interconnecting network processors with heterogeneous fabrics
US7953074B2 (en) * 2003-01-21 2011-05-31 Emulex Design And Manufacturing Corporation Apparatus and method for port polarity initialization in a shared I/O device
US7617333B2 (en) * 2003-01-21 2009-11-10 Nextio Inc. Fibre channel controller shareable by a plurality of operating system domains within a load-store architecture
US8032659B2 (en) * 2003-01-21 2011-10-04 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7664909B2 (en) 2003-04-18 2010-02-16 Nextio, Inc. Method and apparatus for a shared I/O serial ATA controller
US7103064B2 (en) * 2003-01-21 2006-09-05 Nextio Inc. Method and apparatus for shared I/O in a load/store fabric
US7917658B2 (en) * 2003-01-21 2011-03-29 Emulex Design And Manufacturing Corporation Switching apparatus and method for link initialization in a shared I/O environment
US8346884B2 (en) * 2003-01-21 2013-01-01 Nextio Inc. Method and apparatus for a shared I/O network interface controller
US7046668B2 (en) 2003-01-21 2006-05-16 Pettey Christopher J Method and apparatus for shared I/O in a load/store fabric
US7836211B2 (en) * 2003-01-21 2010-11-16 Emulex Design And Manufacturing Corporation Shared input/output load-store architecture
US8102843B2 (en) * 2003-01-21 2012-01-24 Emulex Design And Manufacturing Corporation Switching apparatus and method for providing shared I/O within a load-store fabric
US7698483B2 (en) * 2003-01-21 2010-04-13 Nextio, Inc. Switching apparatus and method for link initialization in a shared I/O environment
US7512695B2 (en) * 2003-05-07 2009-03-31 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system to control the communication of data between a plurality of interconnect devices
FR2857539B1 (fr) * 2003-07-11 2005-09-30 Cit Alcatel Description de contenu de paquets dans un reseau de communication par paquets
US7111102B2 (en) * 2003-10-06 2006-09-19 Cisco Technology, Inc. Port adapter for high-bandwidth bus
US20050262269A1 (en) * 2004-05-20 2005-11-24 Pike Jimmy D System and method for information handling system PCI express advanced switching
US8249106B2 (en) * 2004-08-23 2012-08-21 Alcatel Lucent Extended cellular telephony protocol
US7573879B2 (en) 2004-09-03 2009-08-11 Intel Corporation Method and apparatus for generating a header in a communication network
KR100687749B1 (ko) 2004-09-06 2007-02-27 한국전자통신연구원 범용 패킷 처리 장치
US7573896B2 (en) * 2004-10-15 2009-08-11 Integrated Device Technology, Inc. Method and apparatus for generic interface, packet cut-through, overbooking, queue concatenation, and logical identification priority for a system packet interface device
US20060092928A1 (en) * 2004-10-15 2006-05-04 Dell Products L.P. System and method for providing a shareable input/output device in a PCI express environment
US20060123401A1 (en) * 2004-12-02 2006-06-08 International Business Machines Corporation Method and system for exploiting parallelism on a heterogeneous multiprocessor computer system
KR100612250B1 (ko) * 2004-12-23 2006-08-14 삼성전자주식회사 Gmii와 spi-3 인터페이스 변환 시스템 및 그 방법
US7464174B1 (en) 2005-03-07 2008-12-09 Pericom Semiconductor Corp. Shared network-interface controller (NIC) using advanced switching (AS) turn-pool routing field to select from among multiple contexts for multiple processors
KR101106751B1 (ko) 2005-03-18 2012-01-18 삼성전자주식회사 Spi4.2와 공통 스위치 인터페이스 정합 장치 및 방법
US7580386B2 (en) * 2005-04-19 2009-08-25 Intel Corporation Cooperative scheduling of master and slave base station transmissions to provide coexistence between networks
US20060245358A1 (en) * 2005-04-29 2006-11-02 Beverly Harlan T Acceleration of data packet transmission
US7805560B2 (en) * 2005-08-31 2010-09-28 Ati Technologies Inc. Methods and apparatus for translating messages in a computing system
US7698493B2 (en) * 2005-08-31 2010-04-13 Ati Technologies, Inc. Methods and apparatus for translating write request messages in a computing system
KR100678962B1 (ko) * 2006-01-10 2007-02-06 삼성전자주식회사 Xht 프로토콜 분석 장치 및 방법
US20080123677A1 (en) * 2006-08-31 2008-05-29 Honeywell International Inc. System management bus port switch
US20080084886A1 (en) * 2006-10-09 2008-04-10 Honeywell International Inc. System management bus port router
US7987229B1 (en) * 2007-06-28 2011-07-26 Emc Corporation Data storage system having plural data pipes
KR100929234B1 (ko) 2007-12-11 2009-12-01 한국전자통신연구원 에스피아이브리지와, 패킷처리장치 및 그 방법
CN101635932B (zh) * 2008-07-21 2012-08-29 华为技术有限公司 信道检测和上报方法及系统、终端、管理中心
KR20130133084A (ko) * 2010-04-30 2013-12-05 인터디지탈 패튼 홀딩스, 인크 네트워크 통신에서의 경량 프로토콜 및 에이전트
CN101854402B (zh) * 2010-05-31 2015-05-20 中兴通讯股份有限公司 接口转换装置及流控实现方法
US8687649B2 (en) 2011-03-08 2014-04-01 International Business Machines Corporation Message forwarding toward a source end node in a converged network environment
US9397960B2 (en) * 2011-11-08 2016-07-19 Mellanox Technologies Ltd. Packet steering
US8856420B2 (en) * 2011-12-27 2014-10-07 Intel Corporation Multi-protocol I/O interconnect flow control
KR101953122B1 (ko) * 2012-01-06 2019-02-28 삼성전자주식회사 프로토콜 변환 장치 및 방법
US9042304B2 (en) * 2012-06-05 2015-05-26 Vmware, Inc. Controlling a paravirtualized wireless interface from a guest virtual machine
US10454991B2 (en) 2014-03-24 2019-10-22 Mellanox Technologies, Ltd. NIC with switching functionality between network ports
US9503552B2 (en) * 2014-05-09 2016-11-22 Google Inc. System and method for adapting to network protocol updates
EP3026569A1 (en) * 2014-11-28 2016-06-01 Gemalto Sa A communication system with a frame based communication interface
EP3026570A1 (en) * 2014-11-28 2016-06-01 Gemalto Sa A communication system comprising a full-duplex interface with a mechanism to initiate a data exchange
DE102015016616A1 (de) * 2015-12-22 2017-06-22 Giesecke & Devrient Gmbh Vorrichtung und Verfahren zur Verbindung einer Produktionsvorrichtung mit einem Netzwerk
US10257152B2 (en) * 2017-03-10 2019-04-09 Nicira, Inc. Suppressing ARP broadcasting in a hypervisor
US10530902B2 (en) * 2017-11-30 2020-01-07 Gregory Bullock Method of operating a protocol translator
US11764948B1 (en) * 2018-04-30 2023-09-19 Amazon Technologies, Inc. Cryptographic service interface
US11711451B2 (en) * 2018-12-10 2023-07-25 Intwine Connect, Llc Connected gateway
KR20220124717A (ko) * 2019-12-13 2022-09-14 아이에이치아이 테라선 솔루션즈 인크. 하이브리드 에너지 관리에서의 자율적 모니터링 및 복구를 위한 시스템 및 방법들
US11398979B2 (en) 2020-10-28 2022-07-26 Mellanox Technologies, Ltd. Dynamic processing trees
WO2022147792A1 (zh) * 2021-01-08 2022-07-14 华为技术有限公司 一种交换系统、交换网络和交换节点
US12045178B2 (en) * 2022-02-10 2024-07-23 Mellanox Technologies, Ltd. Devices, methods, and systems for disaggregated memory resources in a computing environment
CN115001627B (zh) * 2022-05-30 2023-06-09 山东省计算中心(国家超级计算济南中心) 一种InfiniBand网络子网管理报文处理方法及系统
US20250097148A1 (en) * 2023-09-19 2025-03-20 Cisco Technology, Inc. Service routing using ip encapsulation

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2802088B2 (ja) * 1989-02-06 1998-09-21 株式会社日立製作所 プロトコル選択切替方法
US5943422A (en) * 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5751731A (en) * 1995-10-18 1998-05-12 Telefonaktiebolaget Lm Ericsson Simplifying decoding of codewords in a wireless communication system
US5832236A (en) * 1996-05-20 1998-11-03 Compaq Computer Corporation High speed frame translation for computer networks
US5894478A (en) * 1996-07-24 1999-04-13 Lucent Technologies Inc. Protocol converter and router for multi-mode wireless data communications
US6321270B1 (en) * 1996-09-27 2001-11-20 Nortel Networks Limited Method and apparatus for multicast routing in a network
US6101545A (en) * 1996-10-21 2000-08-08 Hughes Electronics Corporation Message handling system for different message delivery types
US6278697B1 (en) 1997-07-29 2001-08-21 Nortel Networks Limited Method and apparatus for processing multi-protocol communications
US6108350A (en) * 1998-03-09 2000-08-22 3Com Corporation Method and apparatus for detecting the protocol used by an end station and negotiating a protocol used by the endpoint
US6298446B1 (en) * 1998-06-14 2001-10-02 Alchemedia Ltd. Method and system for copyright protection of digital images transmitted over networks
US6707792B1 (en) * 1998-06-30 2004-03-16 Cisco Technology, Inc. Overload reduction in a communication system
US6233389B1 (en) * 1998-07-30 2001-05-15 Tivo, Inc. Multimedia time warping system
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6502135B1 (en) * 1998-10-30 2002-12-31 Science Applications International Corporation Agile network protocol for secure communications with assured system availability
EP1225729A3 (en) * 1999-02-23 2002-08-28 Alcatel Internetworking, Inc. Multi-service network switch with quality of access
US6463056B1 (en) * 1999-03-18 2002-10-08 Excel Switching Corp. Arrangement for providing network protocol data independence in an expandable telecommunications system
US6353173B1 (en) * 1999-06-17 2002-03-05 Roxio, Inc. Compressed audio data format and file system structures
US6446073B1 (en) * 1999-06-17 2002-09-03 Roxio, Inc. Methods for writing and reading compressed audio data
WO2001061963A1 (en) 2000-02-17 2001-08-23 Mitsubishi Denki Kabushiki Kaisha Method and apparatus for protocol conversion
US20030099254A1 (en) * 2000-03-03 2003-05-29 Richter Roger K. Systems and methods for interfacing asynchronous and non-asynchronous data media
JP4347497B2 (ja) * 2000-04-03 2009-10-21 株式会社日立製作所 通信制御装置及びパケット変換方法
US7167923B2 (en) * 2000-08-24 2007-01-23 2Wire, Inc. System and method for selectively bridging and routing data packets between multiple networks
WO2002028123A2 (en) 2000-09-29 2002-04-04 Lifelink, Inc. Wireless gateway capable of communicating according to a plurality of protocols
US6407680B1 (en) * 2000-12-22 2002-06-18 Generic Media, Inc. Distributed on-demand media transcoding system and method
US6372974B1 (en) * 2001-01-16 2002-04-16 Intel Corporation Method and apparatus for sharing music content between devices
CA2369824A1 (en) * 2001-01-30 2002-07-30 At&T Corp. Network service for adaptive mobile applications
US7149206B2 (en) * 2001-02-08 2006-12-12 Electronic Data Systems Corporation System and method for managing wireless vehicular communications
US7145914B2 (en) * 2001-12-31 2006-12-05 Maxxan Systems, Incorporated System and method for controlling data paths of a network processor subsystem
US7944920B2 (en) * 2002-06-11 2011-05-17 Pandya Ashish A Data processing system using internet protocols and RDMA
US7752334B2 (en) * 2002-10-15 2010-07-06 Nomadix, Inc. Intelligent network address translator and methods for network address translation
US7573876B2 (en) * 2002-12-05 2009-08-11 Intel Corporation Interconnecting network processors with heterogeneous fabrics

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655599B1 (ko) * 2005-11-04 2006-12-08 한국전자통신연구원 노드별 20Gbps 패킷 스위칭 대역폭을 지원하는ATCA 플랫폼 장치
KR100745674B1 (ko) * 2005-12-06 2007-08-02 한국전자통신연구원 다중 스위칭 포트 지원 구조의 패킷 처리장치, 방법 및 그장치를 적용한 패킷 처리시스템
KR100745675B1 (ko) * 2005-12-07 2007-08-02 한국전자통신연구원 Atca 플랫폼을 위한 고성능 패킷 스위칭 장치 및 방법
KR101301784B1 (ko) * 2006-09-28 2013-08-29 에이저 시스템즈 엘엘시 데이터 세그먼트를 프로세스하는 방법 및 장치

Also Published As

Publication number Publication date
DE60333862D1 (de) 2010-09-30
US8705547B2 (en) 2014-04-22
US20100118875A1 (en) 2010-05-13
CN103188262A (zh) 2013-07-03
US20130177028A1 (en) 2013-07-11
CN1514622B (zh) 2013-04-24
US8254397B2 (en) 2012-08-28
EP1568188A1 (en) 2005-08-31
ATE478508T1 (de) 2010-09-15
AU2003287649A1 (en) 2004-06-30
KR100740405B1 (ko) 2007-07-16
CN1514622A (zh) 2004-07-21
US7573876B2 (en) 2009-08-11
US20040109473A1 (en) 2004-06-10
CN103188262B (zh) 2016-08-17
WO2004054203A1 (en) 2004-06-24
EP1568188B1 (en) 2010-08-18

Similar Documents

Publication Publication Date Title
KR100740405B1 (ko) 프로토콜 변환 방법, 제품 및 시스템
US6892245B1 (en) Management information base for a multi-domain network address translator
US8018936B2 (en) Inter-fabric routing
US6643287B1 (en) Apparatus and method for forwarding encapsulated data packets on a network having multiple links between nodes
US5856974A (en) Internetwork address mapping gateway
KR100624681B1 (ko) 분산 구조 라우터의 포워딩 테이블 조합 장치 및 방법
EP1128609B1 (en) Packet classification engine
JP7208008B2 (ja) ネットワークデバイスで使用するためのプログラマブルパケット分類フレームワークを提供するためのシステムおよび方法
US20050018673A1 (en) Method and system for using extended fabric features with fibre channel switch elements
US9118586B2 (en) Multi-speed cut through operation in fibre channel switches
WO2006127908A2 (en) Methods, systems, and computer program products for transporting atm cells in a device having an ethernet switching fabric
JP2006295938A (ja) ネットワーク型ルーティング機構
US6556584B1 (en) System and method of communicating non-standardized addresses over a standardized carrier network
US20060114915A1 (en) VLAN translation in a network device
CN1611040A (zh) 基于lan的单元间通信
US7787461B2 (en) System and a method for processing field frames for multiprotocol use in a communications network
US20090296715A1 (en) Method and system for programmable data dependant network routing
US20060114892A1 (en) Method and apparatus to transmit state information through a communication link
US10819631B2 (en) Network device supporting trill protocol and communication method thereof
US8228906B1 (en) Method and system for virtual lane assignment
CN115695087A (zh) 跨域局域网的建立方法、装置、设备及存储介质

Legal Events

Date Code Title Description
A201 Request for examination
PA0105 International application

Patent event date: 20050603

Patent event code: PA01051R01D

Comment text: International Patent Application

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20061002

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20070605

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20070710

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20070710

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
G170 Re-publication after modification of scope of protection [patent]
PG1701 Publication of correction
PR1001 Payment of annual fee

Payment date: 20100713

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20110707

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20121102

Start annual number: 6

End annual number: 6

FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 7

PR1001 Payment of annual fee

Payment date: 20130701

Start annual number: 7

End annual number: 7

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 8

PR1001 Payment of annual fee

Payment date: 20140701

Start annual number: 8

End annual number: 8

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 9

PR1001 Payment of annual fee

Payment date: 20150630

Start annual number: 9

End annual number: 9

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 10

PR1001 Payment of annual fee

Payment date: 20160630

Start annual number: 10

End annual number: 10

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

Termination category: Default of registration fee

Termination date: 20180421