KR20050012220A - 2단계 해시 매칭 프로세스를 사용하는 패킷 분류기를 위한방법 및 장치 - Google Patents
2단계 해시 매칭 프로세스를 사용하는 패킷 분류기를 위한방법 및 장치 Download PDFInfo
- Publication number
- KR20050012220A KR20050012220A KR10-2004-7005905A KR20047005905A KR20050012220A KR 20050012220 A KR20050012220 A KR 20050012220A KR 20047005905 A KR20047005905 A KR 20047005905A KR 20050012220 A KR20050012220 A KR 20050012220A
- Authority
- KR
- South Korea
- Prior art keywords
- packet
- hash value
- field
- interest
- processor
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004891 communication Methods 0.000 claims abstract description 11
- 239000004065 semiconductor Substances 0.000 claims description 7
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 239000000284 extract Substances 0.000 claims description 3
- 230000015654 memory Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011112 process operation Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
- G06F9/30043—LOAD or STORE instructions; Clear instruction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/108—Parity data distribution in semiconductor storages, e.g. in SSD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0811—Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0813—Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/084—Multiuser, multiprocessor or multiprocessing cache systems with a shared cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
- G06F15/17375—One dimensional, e.g. linear array, ring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
- G06F15/7842—Architectures of general purpose stored program computers comprising a single central processing unit with memory on one IC chip (single chip microcontrollers)
- G06F15/7846—On-chip cache and off-chip main memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3877—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor
- G06F9/3879—Concurrent instruction execution, e.g. pipeline, look ahead using a slave processor, e.g. coprocessor for non-native instruction execution, e.g. executing a command; for Java instruction set
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units
- G06F9/3889—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute
- G06F9/3891—Concurrent instruction execution, e.g. pipeline, look ahead using a plurality of independent parallel functional units controlled by multiple instructions, e.g. MIMD, decoupled access or execute organised in groups of units sharing resources, e.g. clusters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4074—Power supply or voltage generation circuits, e.g. bias voltage generators, substrate voltage generators, back-up power, power control circuits
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9057—Arrangements for supporting packet reassembly or resequencing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9084—Reactions to storage capacity overflow
- H04L49/9089—Reactions to storage capacity overflow replacing packets in a storage arrangement, e.g. pushout
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2352/00—Parallel handling of streams of display data
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2360/00—Aspects of the architecture of display systems
- G09G2360/12—Frame memory handling
- G09G2360/121—Frame memory handling using a cache memory
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/02—Networking aspects
- G09G2370/022—Centralised management of display operation, e.g. in a server instead of locally
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2370/00—Aspects of data communication
- G09G2370/20—Details of the management of multiple sources of image data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
본 발명의 1실시예에 있어서, 다중 프로세서/다중 스레드 환경을 위한 패킷을 효과적으로 분류하기 위한 방법이 제공된다. 이 방법은 패킷을 수신하면서 시작된다. 그 다음, 헤더 정보가 수신된 패킷으로부터 추출된다. 다음에, 제1해시 값이 계산된다. 그 다음, 룩업테이블 내의 관심의 필드가 제1해시 값으로부터 결정된다. 다음에, 제2해시 값이 계산된다. 그 다음, 제2해시 값과 제2해시 값과 룩업테이블의 관심의 필드 내의 값 중 하나 사이의 매치를 결정하기 위해서, 제2해시 값이 록업테이블의 관심의 필드 내의 저장된 해시 값과 비교된다. 매치가 있으면, 수신된 패킷은 룩업테이블의 열 위치 내의 값 중 하나에 대응하는 프로세서로 전송된다. 다중 코어/다중 스레드 환경에서 패킷을 효과적으로 분류하기 위한 네트워크 카드 및 시스템이 제공된다.
Description
칩 상의 분할된 네트워크 인터페이스 상의 다중 코어를 갖는 서버는, 어떤 다중 코어가 특정 패킷을 조작하기 위해서 할당되는 지를 결정하기 위해서 인입 패킷이 분류되는 것을 요구한다. 패킷 분류기 없이, 단일 플로우로부터의 인입 패킷은 코어 사이의 처리의 직렬화로 귀결되는 다른 코어로 할당될 수 있다. 동일 흐름의 패킷은 동일 프로세서 코어에 더 할당될 수 있는데, 이 처리는 더 오버헤드를 갖는다. 예컨대, 패킷이 잘못된 코어로 포워드되면, 그 코어는 정확한 코어로 포워드할 필요가 있다.
전형적으로, 패킷 분류 시스템은 패킷 헤더의 L2-L4 섹션 상의 매치가 특정 흐름을 식별하도록 된다. 하나의 패킷 식별 알고리즘은 단일 해싱(hashing)을 패킷 분류 프로세스 내로 통합한다. 여기서, 패킷의 관심의, 예컨대 소스, 목적지, 포트 넘버 등의 조합된 필드에 대응하는 단일 해시 값이 계산된다. 그 다음, 계산된 해시 값은, 매칭 동작에서의 사용을 위한 정확한 L2-L4 흐름 정보, 예컨대 키(key)를 함유하는 룩업테이블 내의 인덱스로 사용된다. 그런데, 룩업테이블의 사이즈는, 특히 서버 적용에 대한 다중 코어/다중 스레드 칩에서 동일 시간에 활성화될 수 있는 수백만의 플로우를 처리할 때, 과도하게 된다. 더욱이, 룩업테이블과의 통신 링크는, 특히 다중 1GB 환경 또는 10GB 환경과 같은 고대역폭 환경에서 패킷 분류 시스템을 지원하기 위해 고대역폭을 가질 필요가 있다. 그러므로, 패킷 분류를 위해 사용된 해싱 알고리즘은 이러한 시스템을 지원하기 위해 요구된 룩업테이블의 초과 사이즈에 기인해서 다중-코어/다중-스레드 칩을 갖는 서버에 대해 최적화되지 않는다.
도 1은 패킷 분류를 위해 사용된 해시 룩업테이블의 그래픽 표현이다. 해시 룩업테이블(100)은 다수의 열 및 행으로 이루어진다. 키(102)가 인입 패킷 헤더로부터 추출된다. 그 다음, 행 수(104)를 제공하기 위해 해시가 계산된다. 그 다음, 키(102)가 저장된 열 내로 인덱스하기 위해서 계산된 해시가 사용된다. 전체 키가 해시 테이블(100)의 인덱스된 위치 내에 저장된다. 그 다음, 하드웨어가 키를 추출하고, 정확한 매치를 발견하기 위해서 각각의 키를 인입 키와 비교한다. 인터넷에 걸쳐서 데이터를 전송하기 위해 사용된 인터넷 프로토클(IP)에 의존해서, 각각의 키는 대략 100 및 대략 300비트 사이이다. 따라서, 다수의 키를 저장하는 테이블은 과도하게 크게 된다. 더욱이, 다중 칩/다중 코어 처리 환경을 지원하기 위해 요구된 대역폭도 과도하게 된다.
상기된 바와 같이, 분류 시스템을 지원하는데 요구되는 대역폭을 감소하고룩업테이블을 위한 저장 요구조건을 감소하는 방법으로 다중 칩/다중 코어 처리 환경을 효과적으로 지원하도록 구성된 패킷 분류 시스템을 정의할 필요가 있게 된다.
본 발명은 프로세서 아키텍처에 관한 것으로, 특히 네트워크 인터페이스를 위한 패킷 분류에 관한 것이다.
본 발명은 참조부호로 구성요소를 가리키는 수반되는 도면과 결합된 수반되는 상세한 설명에 의해 이해될 수 있다.
도 1은 패킷 분류를 위해 사용된 해시 룩업테이블의 그래픽 표현을 나타낸 도면,
도 2는 본 발명의 1실시예에 따른 최적의 해싱 프로세스를 실행하도록 구성된 패킷 분류기를 갖는 다중 코어/다중 스레드 칩의 단순화된 개략 도면,
도 3은 본 발명의 1실시예에 따른 인입 패킷에 할당된 프로세서를 결정하기 위한 최적의 2단계 해싱의 개략적인 도면,
도 4는 본 발명의 1실시예에 따른 해싱 동작을 위해 사용된 키를 정의하는 패킷 헤더의 L2-L4세그먼트의 상급의 개략도,
도 5는 본 발명의 1실시예에 따라서 인입 패킷이 보내는 다중 프로세서 칩 중 어떤 프로세서를 결정하기 위해서 2단계 해시 매칭 프로세스를 수행하기 위한 방법 동작의 플로우차트이다.
넓게 말하면, 본 발명은 다중 코어/다중 스레드 환경 내에서 효과적으로 동작하도록 구성된 패킷 분류기를 제공함으로써 이들 요구를 충족한다. 본 발명은 장치와 시스템, 디바이스 또는 방법을 포함하는 다수의 다양한 방법으로 수행될 수 있음은 물론이다. 다수의 본 발명의 실시예가 이하 기재된다.
1실시예에 있어서는, 다중 프로세서/다중 스레드 환경을 위해 패킷을 효과적으로 분류하기 위한 방법이 제공된다. 이 방법은 패킷을 수신하면서 시작된다. 그 다음, 헤더 정보가 수신된 패킷으로부터 추출된다. 다음에, 제1해시 값이 계산된다. 그 다음, 룩업테이블 내의 관심 필드가 제1해시 값으로부터 결정된다. 다음에, 제2해시 값이 계산된다. 그 다음, 제2해시 값과 룩업테이블의 관심의 필드 내의 값 중 하나 사이의 매치를 결정하기 위해서, 제2해시 값이 관심의 룩업테이블의 관심의 필드 내의 저장된 해시 값과 비교된다. 매치가 있으면, 수신된 패킷은 룩업테이블의 열 위치 내의 값 중 하나에 대응하는 프로세서로 전송된다.
다른 실시예에 있어서, 최적의 해시 매칭을 수행하기 위한 방법이 제공된다. 이 방법은 그것 내에 저장된 복수의 값을 갖는 룩업테이블을 정의하면서 시작된다. 각각의 복수의 룩업테이블 값은 적어도 하나의 프로세서와 연관된다. 그 다음, 패킷이 수신된다. 그 다음, 패킷으로부터 키가 추출된다. 그 다음, 제1해시 값과 제2해시 값이 키로부터 계산된다. 다음에, 제1해시 값에 대응하는 룩업테이블 내의 관심의 필드가 위치된다. 그 다음, 제2해시 값과 관심의 필드 내의 값 중 하나 사이의 매치를 식별하기 위해서, 제2해시 값이 관심의 필드 내의 값과 비교된다. 다음에, 수신된 패킷은 관심의 필드 내의 값 중 하나에 대응하는 프로세서로 보내진다.
또 다른 실시예에 있어서는, 네트워크 인터페이스 카드가 제공된다. 네트워크 인터페이스 카드는 패킷을 수신하기 위한 회로를 포함한다. 패킷 분류기 회로가 포함된다. 수신된 패킷의 패킷 헤더의 필드로부터 제1해시 값과 제2해시 값을 계산하기 위해서, 패킷 분류기 회로가 구성된다. 제1해시 값은 네트워크 인터페이스 카드와의 통신에 있어서 룩업테이블과 연관된 관심의 필드를 가리킨다. 패킷에 할당된 프로세서를 식별하기 위해서, 제2해시 값은 관심의 필드 내의 값을 매치시킨다. 패킷에 할당된 프로세서와 연관된 큐(queue)로 패킷을 전송하기 위한 회로가 포함된다.
또 다른 실시예에 있어서, 다중 코어/다중 스레드 환경에 있어서의 패킷을 효과적으로 분류하기 위한 시스템이 제공된다. 시스템은 데이터를 저장할 수 있는 반도체 칩과 통신하는 다중-프로세서 칩을 포함한다. 다중-프로세서 칩은 복수의 프로세서 코어와 네트워크로부터 패킷을 수신하기 위한 네트워크 인터페이스 카드(NIC)를 포함한다. NIC는, 패킷의 패킷 헤더로부터의 제1해시 값 및 제2해시 값을 계산하도록 구성된 패킷 분류기 회로를 포함한다. 제1해시 값은 테이블 내의 관심의 필드를 가리킨다. 제2해시 값은 관심의 필드 내의 위치에서 데이터를 식별한다. 데이터는 보내지는 패킷을 위한 복수의 프로세서 코어 중 하나를 가리킨다.시스템은 테이블과 연관해서 데이터를 저장하도록 구성된 반도체 칩을 포함한다. 반도체 칩은 다중 프로세서 칩과 통신한다.
본 발명의 다른 측면 및 단점은, 본 발명의 실시예의 원리를 나타내는 수반되는 도면과 연관된 이하의 상세한 설명으로부터 명백해진다.
본 발명은 최적의 해싱 프로세스를 통한 다중 스레드/다중 코어 환경을 위한패킷을 분류하기 위한 장치 및 방법을 묘사한다. 그런데, 당업자에 있어서는 본 발명이 몇몇 또는 모든 특정 사항 없이 실시될 수 있는 것은 명백하다. 다른 예에 있어서는, 잘 공지된 프로세스 동작이 본 발명을 불필요하게 불명료하게 하지 않게 하기 위해서 기재된다. 본 명세서에 사용된 조건은 다른 대응하는 값의 +/-10%의 범위로 언급된다.
본 명세서에 기재된 실시예는 패킷 분류기를 위한 최적의 해싱 프로세스를 제공한다. 1실시예에 있어서는, 관심의 필드의 제1해시 값이 초기에 계산된다. 그 다음, 제2해시 값이 패킷 헤더의 L2-L4정보로부터 계산된다. 그 다음, 제2해시 값이 룩업테이블 내에 저장된다. 제1 및 제2해시 값을 계산하기 위해서, 다른 알고리즘이 사용되는 것은 명백하다. 제2해시 값은 비트 사이즈의 조건으로, 키를 위해 추출된 정확한 L2-L4패킷 헤더 정보 보다 상당히 작으므로, 룩업테이블을 위해 요구된 사이즈를 감소시킨다. 1실시예에 있어서, 제1 및 제2해시 값의 사이즈는 비교할 수 있다. 더욱이, 룩업테이블을 갖는 칩과 다중 코어/다중 스레드 칩 사이에서 요구된 대역폭은 마찬가지로 감소된다. 제2해싱의 결과로서 충돌이 있을 수 있으므로, 소프트웨어는 패킷 헤더를 조사함으로써 정확한 매치가 발생하는 지를 결정할 수 있다.
도 2는 본 발명의 1실시예에 따른 최적의 해싱 프로세스를 실행하기 위해 구성된 패킷 분류기를 갖는 다중 코어/다중 스레드 칩의 단순화된 개략도이다. 다중프로세서 칩(110)은 다중 프로세싱 코어(112-1 내지 112-8)와 캐시 메모리(114)를 포함한다. 네트워크 인터페이스 카드(NIC:116)가 칩(110) 상에 포함된다. 패킷분류기(120)는 이하 기재된 해싱 프로세스를 수행함으로써 인입 패킷 헤더를 조사하도록 구성된 회로를 포함한다. 어떤 프로세서 코어가 인입 패킷에 할당되는 지를 결정하기 위해서 해시 값이 룩업테이블(122) 내에 저장된 값과 비교된다. 할당된 프로세싱 코어(112-1 내지 112-8)가 결정될 때, 패킷은 할당된 프로세서에 대응하는 큐(118-1 내지 118-n)로 전송된다. 1실시예에 있어서, 큐(118-1 내지 118-n)의 수는 칩(110) 상의 프로세싱 코어(112-1 내지 112-8)의 수와 등가이다. 따라서, 칩(110)이 8 프로세싱 코어(112-1 내지 112-8)를 갖는 곳에서, 큐(118-1 내지 118-n)의 수는 8과 등가이다. 칩이 소정의 적합한 수의 프로세싱 코어를 가질 수 있음에 따라서, 실시예를 제한하는 것이 아닌 도시의 목적으로 칩(110)이 8 프로세싱 코어(112-1 내지 112-8)를 갖는 것이 보여진다. 종래 기술에 있어서는, 룩업테이블(122)이 다중프로세서 칩(110)과 통신하는 반도체 칩 상에 위치될 수 있다. 다른 실시예에 있어서는, 룩업테이블(122)은 패스트 사이클 다이나믹 랜덤 액세스 메모리(FCDRAM:fast cycle dynamic random access memory)와 같은 메모리 내에 저장된다. 웹서버와 같은 서버 적용을 실행하도록 구성된 서버 컴퓨터 내에 칩(110)과 룩업테이블(122)이 통합될 수 있다. 실시예의 서버 적용은 전자 상거래 적용, 데이터베이스 적용 등을 포함한다.
도 3은 본 발명의 1실시예에 따른 인입 패킷에 할당된 프로세서를 결정하기 위한 최적의 2단계 해싱의 개략적인 도면이다. 인입 패킷 A(132)를 위한 L2-L4 헤더 정보는 NIC에 의해 추출된다. 예컨대, 도 2의 NIC는 인입 패킷으로부터 L2-L4헤더 정보를 파싱(parsing) 및 추출하기 위한 회로를 갖는 적합한 NIC이다. 파싱및 추출로부터 인입 패킷과 연관된 KeyA(134)가 1실시예 내에 제공된다. 해시 룩업테이블(130)의 관심의 필드를 가리키는 제1해시 값(136) 내로 귀결되는 KeyA(134) 상에서 제1해시 동작이 수행된다. 예컨대, 제1해시 값(136)은 본 발명의 제1실시예의 열 수를 가리킨다. 제2해시 동작이 값 H2(KA) 138 내에 귀결되는 KeyA(134) 상에서 수행된다. 제2해시 동작을 수행하는 알고리즘은 제1해시 동작을 수행하는 알고리즘과 다르다. 1실시예에 있어서, 제2해시 동작의 결과적인 값은 키의 비트 사이즈 보다 매우 작다. 예컨대, 제2해시 동작의 결과적인 값은, 적어도 본 발명의 1실시예의 키의 비트 사이즈 미만의 크기 정도인 16비트 미만일 수 있다. 제2해시 값은 제1해시 값 보다 작을 수 있다. 그 다음, 제2해시 값은 해시테이블(130)의 관심 필드 내의 저장된 해시 값 각각과 비교된다. 여기서, 매치는 제2해시 동작 H2(KA) 138의 결과적인 값과 해시테이블(130)의 관심의 필드의 행 1 내의 저장된 값 사이에서 발생한다. 해시 룩업테이블(130) 내의 엔트리 각각과 소프트웨어 정보(140)가 연관된다. 따라서, 매치가 결정될 때, 인입 패킷을 해시 룩업테이블(130)의 매치된 저장된 값과 연관된 프로세싱 코어로 안내하기 위해서 소프트웨어 정보(140)가 추출될 수 있다. 예컨대, 소프트웨어 정보(140)는 해시 룩업테이블(130) 내로 프로그램된 코드 형태일 수 있다. 1실시예에 있어서, 코드는 패킷을 해시 룩업테이블의 매치된 위치에 할당된 프로세서와 연관된 큐로 안내하는 조작을 갖는다. 해시 룩업테이블(130)은 m열과 n행으로 구성되는데, 여기서 m과 n은 소정의 적합한 정수이다.
물론, 도 4의 해시 룩업테이블(130)이 제2해시 값을 매치할 수 있는 능력을 갖기 전에 구성된다. 1실시예에 있어서, 패킷이 처리됨에 따라 해시 룩업테이블이 구성될 수 있다. 예컨대, 매치가 발견되지 않는 곳에서 패킷은 순환 순서 방식 프로세스를 통해 프로세서 코어에 할당된다. 그 다음, 매치되지 않은 해시 값은 해시 룩업테이블(130) 내에 저장되므로, 몇몇 해시 값을 갖는 또 다른 패킷이 매치될 수 있고, 이어서 순환 순서 방식 프로세스를 통해 진행하지 않고, 특정 프로세서 코어에 할당될 수 있다.
도 4는 본 발명의 1실시예에 따른 해싱 동작을 위해 사용된 키를 정의하는 패킷 헤더의 L2-L4세그먼트의 상급의 개략적인 도면이다. 데이터 패킷의 인입 헤더는 그밖의 층 중에서 층2(L2:150)와, 층3(L3:152), 층4(L4:154) 및, 사이클 리던던시 체크(CRC) 층(156)을 포함한다. L2(150)는, 당업자에 의해 일반적으로 공지된 그밖의 정보 중 목적지 어드레스(150a)와 소스 어드레스(150b)를 포함한다. L3(152)는 프로토클 세그먼트(152a), 예컨대 전송 제어 프로토클(TCP), 사용자 데이터그램 프로토클(UDP) 등을 포함한다. 소스 어드레스 세그먼트(152b)와 목적지 어드레스 세그먼트(152c)가 해싱 알고리즘에 의해 고려될 수도 있다. L4(154)는 소스 포트(154a)와 목적지 포트(154b)를 포함한다. 당업자에 있어서, 층의 모든 필드가 도시의 제한에 기인해서 도 4에 나타내지 않는 것은 명백하다. 그런데, 본 발명의 1실시예에 있어서는, 도 3을 참조로 기재된 바와 같이 키를 정의하기 위해서 인입 헤더로부터 도시된 필드가 파싱 및 추출된다. 더욱이, 본 발명은 소정의 적합한 필드가 해싱 알고리즘에 의해 고려될 수 있음에 따라, 상기된 필드에 제한되지 않는다.
보다 큰 비트 사이즈 키 보다 해시 값의 저장에 기인해서 충돌이 일어날 수 있다. 즉, 2 인입 패킷이 다른 키를 가질 수 있음에도 불구하고, 계산된 해시 값이 2 패킷에 대해 동일할 수 있는 작은 기회가 있게 된다. 하드웨어가 2개의 패킷을 동일 프로세서 또는 동일 데이터 플로우에 할당할 수 있다. 1실시예에 있어서, 실제 헤더 정보 상의 소프트웨어 체크는 충돌을 해결할 수 있다.
도 5는 어떤 다중 프로세서 칩의 프로세서가 인입 패킷을 본 발명의 1실시예에 따라 보내는지를 결정하기 위해서 2단계 해시 매칭 프로세서를 수행하기 위한 방법 동작의 플로우차트이다. 본 발명은 복수의 값을 갖는 룩업테이블이 정의된 동작(160)으로 시작된다. 1실시예에 있어서, 적합한 룩업테이블은 도 3을 참조하는 테이블이고, 복수의 해시 값은 행 및 열에 의해 정의된 셀 내에 저장된다. 룩업테이블은 다중 프로세서 칩과 통신하는 칩 상에 위치될 수 있다. 1실시예에 있어서, 룩업테이블은 메모리 칩, 예컨대 패스트 사이클 다이나믹 랜덤 액세스 메모리(FCDRAM) 내에 저장된다. 그 다음, 방법은 패킷이 수신되는 동작(162)으로 진행한다. 예컨대, 네트워크 인터페이스 카드(NIC)는 인터넷과 같은 분산된 네트워크로부터 패킷을 수신할 수 있다. 그 다음, 방법이 패킷으로부터의 키가 추출되는 동작(164)으로 진행한다. 1실시예에 있어서, 패킷 헤더의 L2-L4층 내의 필드가 키를 위한 정보를 추출하기 위해서 파싱된다. 그 다음, 방법은 제1 및 제2해시 값이 키로부터 계산되는 동작(166)으로 움직인다. 1실시예에 있어서, 다른 해싱 알고리즘이 대응하는 값을 계산하기 위해서 사용됨에 따라, 제2해시 값은 추출된 키 및제1해시 값 보다 작게 된다. 동작(160)의 룩업테이블 내에서 정의된 복수의 해시 값이 제2해시 알고리즘을 통해서 계산된다.
그 다음, 도 5의 방법은 룩업테이블 내의 관삼의 필드가 제1해시 값을 통해 식별되는 동작(168)으로 진행한다. 도 3을 참조로 상기된 바와 같이, 관심의 필드는, 본 발명의 1실시예의 제1해시 동작으로부터의 값에 의해 가리켜지는 바와 같이 열의 해시 테이블이다. 당업자에 있어서, 관심의 필드가 행일 수도 있다. 그 다음, 방법은, 제2해시 값과 해시 룩업테이블 내의 관심의 필드 내에 저장된 해시 값 사이의 매치가 있는 지를 결정하는 결정 동작(170)으로 진행한다. 여기서, 비교 기능을 수행하도록 구성된 하드웨어가 이 동작, 예컨대 관심 있는 필드의 읽기 및 관심의 필드 내의 엔트리와 제2해시 값의 비교를 실행시킬 수 있다. 키의 제2해시로부터의 해시 값과 관심의 필드 내에 저장된 해시 값 중 하나 사이의 매치가 있으면, 수신된 패킷은 동작(172)의 관심의 필드 내에 저장된 매치된 해시 값에 대응하는 프로세서로 보내진다. 1실시예에 있어서, 패킷은 프로세서, 예컨대 프로세싱 코어와 연관된 큐로 보내진다. 도 3을 참조로 논의된 바와 같이, 해시테이블 내로 프로그램된 코드가 적합한 큐로 패킷을 안내하는데 사용될 수 있다. 매치가 발견되지 않으면, 어떤 다중 코어 칩이나 큐의 프로세서 코어가 패킷을 전송하는 지를 결정하기 위해서, 순환 순서 방식 프로세스가 동작(174)에서 실행된다.
요약하면, 상기된 실시예는 패킷 분류를 위한 최적의 하싱 프로세스를 제공한다. 제1해시 값이, 해시 룩업테이블의 관심의 필드를 식별하기 위해서, 패킷 헤더 정보로부터 계산된다. 셀, 예컨대 관심의 필드 내의 위치가 제2해시 값을 매칭하는 값을 포함하는 지를 결정하기 위해서, 제2해시 값이 동일 패킷 헤더 정보로부터 계산된다. 상기된 바와 같이, 제2해시 알고리즘으로부터 유도된 값은 해시 룩업테이블 내에 저장된다. 제2해시 값은 키, 예컨대 비트 사이즈의 조건으로 패킷 헤더 정보 보다 상당히 작으므로, 해시 룩업테이블의 사이즈가 상당히 감소된다. 예컨대, 인터넷 프로토클 버전 4(IPv4) 패킷을 위한 전형적인 키 사이즈는 대략 100비트 이상인 반면, 인터넷 프로토클 버전 6(Ipv6) 패킷을 위한 전형적인 키 사이즈는 대략 300비트이다. 상기된 바와 같이, 제2해시 값을 위한 비트 사이즈는 16비트 미만이다. 다른 실시예에 있어서, 제2해시 값을 위한 비트 사이즈는 10비트 미만이다. 물론, 결과적인 비트 사이즈는 제2해시 값을 계산하기 위해서 사용된 하싱 알고리즘에 의존한다. 따라서, 제2해시 값의 사용에도 불구하고, 해시 룩업테이블 내에 저장된 값의 비트 사이즈는 차수의 크기 이상으로 감소된다. 결과적으로, 해시 룩업테이블의 사이즈는 중대하게 감소된다. 차례로, 해시 룩업테이블을 포함하는 칩과 프로세서 칩 사이의 통신 링크를 위해 요구된 대역폭도 마찬가지로 감소된다. 본 명세서에 기재된 실시예가 적합한 패킷 기초의 프로토클과 함께 사용될 수 있다.
더욱이, 본 발명은 핸드 유지 장치와, 마이크로프로세서 시스템 및, 마이크로프로세서 기초 또는 프로그램 가능 소비 전자장치, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 그 밖의 컴퓨터 시스템 구성과 함께 실시될 수 있다. 본 발명은 네트워크를 통해 링크된 원격 처리 프로세싱 장치에 의해 태스크가 수행된 분배 계산 환경 내에서 실시될 수도 있다.
상기 실시예를 고려해서, 본 발명은 컴퓨터 시스템 내에 저장된 데이터를 포함하는 다양한 컴퓨터 실행 동작을 채용할 수 있는 것으로 이해될 수 있다. 이들 동작은 물리적인 양의 물리적인 조작을 요구한다. 통상, 필요하지 않음에도 불구하고, 이들 양은 저장되고, 전달되며, 결합되고, 비교되며, 조작될 수 있는 전기적 또는 자기적 신호의 형태를 취한다. 더욱이, 수행된 조작은 생산, 식별, 결정 또는 비교와 같은 조건으로 언급된다.
본 발명의 부분을 형성하는 본 명세서에 기재된 소정의 동작은, 유용한 기계 동작이다. 또한, 본 발명은 이들 동작을 수행하기 위한 디바이스 또는 장치와 연관된다. 장치는 요구된 목적을 위해 특별하게 구성될 수 있거나, 컴퓨터 내에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 구성된 일반 목적 컴퓨터일 수 있다. 특히, 다양한 일반 목적 기계가 본 명세서의 기술에 따라 쓰여진 컴퓨터 프로그램과 함께 사용될 수 있고, 또한 요구된 동작을 수행하기 위해서 보다 특별화된 장치를 구성하는 것이 보다 통상적일 수 있다.
명확한 이해의 목적을 위해서 몇몇 상세한 사항이 기재되었음에도 불구하고, 소정의 변화 및 변경이 첨부된 청구항의 범위 내에서 실행될 수 있다. 따라서, 본 발명의 실시예는 제한의 목적이 아닌 도시의 목적으로 고려되고, 본 발명은 본 명세서에 기재된 상세한 사항에 제한되지 않고, 첨부된 청구항의 범위 및 등가물 내에서 변경될 수 있다.
Claims (20)
- 패킷을 수신하고,수신된 패킷으로부터 헤더 정보를 추출하며,제1해시 값을 계산하고,제1해시 값으로부터 룩업테이블 내의 관심의 필드를 결정하며,제2해시 값을 계산하고,제2해시 값과 룩업테이블의 관심의 필드 내의 값 중 하나 사이의 매치를 결절정하기 위해서, 제2해시 값을 룩업테이블의 관심의 필드 내의 저장된 해시 값과 비교하며,매치가 있으면 수신된 패킷을 룩업테이블의 열 위치에서의 값 중 하나에 대응하는 프로세서로 전송하는 것을 특징으로 하는 다중-프로세서/다중 스레드 환경을 위한 패킷을 효과적으로 분류하는 방법.
- 제1항에 있어서, 제2해시 값이 추출된 헤더 정보 보다 작은 비트 사이즈를 갖는 것을 특징으로 하는 방법.
- 제1항에 있어서, 관심의 필드가 룩업테이블의 열인 것을 특징으로 하는 방법.
- 제1항에 있어서, 수신된 패킷을 룩업테이블의 관심의 필드 내의 값 중 하나에 대응하는 프로세서로 전송하는 방법 동작이, 프로세서와 연관된 큐로 수신된 패킷을 전송하는 것을 포함하는 것을 특징으로 하는 방법.
- 제1항에 있어서, 수신된 패킷으로부터 헤더 정보를 추출하는 방법 동작이, 수신된 패킷의 헤더의 필드로부터 키를 정의하는 것을 포함하는 것을 특징으로 하는 방법.
- 제5항에 있어서, 필드가 패킷 헤더의 층(2 내지 4) 내에 위치된 것을 특징으로 하는 방법.
- 제1항에 있어서, 매치가 없으면, 어떤 프로세서가 수신된 패킷을 전송하는 지를 결정하기 위해서, 순환 순서 방식 동작을 수행하는 것을 특징으로 하는 방법.
- 각각이 적어도 하나의 프로세서와 연관되고, 그것 내에 저장되는 복수의 값을 갖는 룩업테이블을 정의하고,패킷을 수신하며,패킷으로부터 키를 추출하고,키로부터 제1해시 값 및 제2해시 값을 계산하며,제1해시 값에 대응하는 룩업테이블 내에서 관심의 필드를 식별하고,제2해시 값과 관심의 필드 내의 값 중 하나 사이의 매치를 식별하기 위해서, 제2해시 값과 관심의 필드 내의 값을 비교하며,수신된 패킷을 관심의 필드 내의 값 중 하나에 대응하는 프로세서로 보내는 것을 특징으로 하는 최적의 해시 매칭을 수행하기 위한 방법.
- 제8항에 있어서, 제1 및 제2해시 값이 다른 해시 알고리즘을 통해 계산되는 것을 특징으로 하는 방법.
- 제9항에 있어서, 룩업테이블 내의 복수의 값이 공동 해시 알고리즘을 통해 유도되는 제2해시 값인 것을 특징으로 하는 방법.
- 제8항에 있어서, 수신된 패킷에 할당된 프로세서의 어드레스를 결정하기 위해서 관심의 필드 내의 값 중 하나와 연관된 코드를 액세스하는 것을 더 포함하는 것을 특징으로 하는 방법.
- 제8항에 있어서, 패킷을 관심의 필드 내의 값 중 하나에 대응하는 프로세서로 보내는 방법 동작이, 프로세서와 연관된 큐 내에 패킷을 유지하는 것을 포함하는 것을 특징으로 하는 방법.
- 제8항에 있어서, 제2해시 값과 관심의 필드 내의 값 중 하나 사이의 매치가없으면, 패킷을 보내기 위해 복수의 프로세서 중 하나를 식별하기 위한 순환 순서 방식 동작을 실행하는 것을 특징으로 하는 방법.
- 패킷을 수신하기 위한 회로와,수신된 패킷의 패킷 헤더의 필드로부터 제1해시 값과 제2해시 값을 계산하기 위해 구성되고, 제1해시 값이 네트워크 인터페이스 카드와 통신하는 룩업테이블과 연관된 관심의 필드를 가리키며, 제2해시 값이 패킷에 할당된 프로세서를 식별하기 위해서 관심의 필드 내의 값을 매칭하는 패킷 분류기 회로 및,패킷에 할당된 프로세서와 연관된 큐로 패킷을 전송하기 위한 회로를 구비하여 구성되는 것을 특징으로 하는 네트워크 인터페이스 카드.
- 제14항에 있어서, 네트워크 인터페이스 카드가 다중 프로세서 칩 상에 있는 것을 특징으로 하는 네트워크 인터페이스 카드.
- 제15항에 있어서, 다중 프로세서 칩이 서버 컴퓨터 내에 포함되는 것을 특징으로 하는 네트워크 인터페이스 카드.
- 데이터를 저장할 수 있는 반도체 칩과 통신하는 다중 프로세서 칩을 구비하여 구성되고,다중 프로세서 칩이,복수의 프로세서 코어와,네트워크로부터 패킷을 수신하고, 패킷 분류기 회로를 갖추며, 패킷 분류기 회로가 패킷의 패킷 헤더로부터의 제1해시 값과 제2해시 값을 계산되도록 구성되고, 제1해시 값이 테이블 내의 관심의 필드를 가리키며, 제2해시 값이 관심의 필드 내의 위치에서 데이터를 식별하고, 데이터가 보내지는 패킷을 위한 복수의 프로세서 코어 중 하나를 가리키는 네트워크 인터페이스 카드(NIC) 및,테이블과 연관된 데이터를 저장하도록 구성되고, 다중 프로세서 칩과 통신하는 반도체 칩을 구비하여 구성되는 것을 특징으로 하는 다중 코어/다중 스레드 환경 내에서 효과적으로 패킷을 식별하기 위한 시스템.
- 제17항에 있어서, 테이블이 패스트 사이클 다이나믹 랜덤 액세스 메모리(FCDRAM) 내에 저장되는 것을 특징으로 하는 시스템.
- 제17항에 있어서, 시스템이 서버 컴퓨터인 것을 특징으로 하는 시스템.
- 제17항에 있어서, 하나의 큐가 하나의 프로세서 코어에 대응하도록 프로세서 코어에 대응하는 큐 세트를 더 포함하는 것을 특징으로 하는 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US34531501P | 2001-10-22 | 2001-10-22 | |
US60/345,315 | 2001-10-22 | ||
PCT/US2002/033766 WO2003036902A2 (en) | 2001-10-22 | 2002-10-21 | Method and apparatus for a packet classifier using a two-step hash matching process |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050012220A true KR20050012220A (ko) | 2005-01-31 |
Family
ID=23354532
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7005998A KR20040083464A (ko) | 2001-10-22 | 2002-10-18 | 디램 전력 관리 방법 및 시스템 |
KR10-2004-7005999A KR20050013191A (ko) | 2001-10-22 | 2002-10-18 | 암호화 보조프로세서를 갖는 스트림 프로세서 |
KR10-2004-7005902A KR20040091608A (ko) | 2001-10-22 | 2002-10-18 | 배출버퍼를 이용하여 디램에 캐싱하기 위한 시스템 및방법 |
KR10-2004-7005904A KR20040080431A (ko) | 2001-10-22 | 2002-10-21 | 원격 직접 메모리 액세스 프로토콜을 갖는 통신링크의통합을 위한 방법 및 장치 |
KR10-2004-7005903A KR20040084893A (ko) | 2001-10-22 | 2002-10-21 | 다중-코어 다중-스레드 프로세서 |
KR10-2004-7005905A KR20050012220A (ko) | 2001-10-22 | 2002-10-21 | 2단계 해시 매칭 프로세스를 사용하는 패킷 분류기를 위한방법 및 장치 |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-7005998A KR20040083464A (ko) | 2001-10-22 | 2002-10-18 | 디램 전력 관리 방법 및 시스템 |
KR10-2004-7005999A KR20050013191A (ko) | 2001-10-22 | 2002-10-18 | 암호화 보조프로세서를 갖는 스트림 프로세서 |
KR10-2004-7005902A KR20040091608A (ko) | 2001-10-22 | 2002-10-18 | 배출버퍼를 이용하여 디램에 캐싱하기 위한 시스템 및방법 |
KR10-2004-7005904A KR20040080431A (ko) | 2001-10-22 | 2002-10-21 | 원격 직접 메모리 액세스 프로토콜을 갖는 통신링크의통합을 위한 방법 및 장치 |
KR10-2004-7005903A KR20040084893A (ko) | 2001-10-22 | 2002-10-21 | 다중-코어 다중-스레드 프로세서 |
Country Status (10)
Country | Link |
---|---|
US (7) | US7248585B2 (ko) |
EP (6) | EP1438667B1 (ko) |
JP (6) | JP3768993B2 (ko) |
KR (6) | KR20040083464A (ko) |
CN (1) | CN1286019C (ko) |
AT (1) | ATE518192T1 (ko) |
AU (2) | AU2002337940A1 (ko) |
DE (4) | DE60236309D1 (ko) |
TW (1) | TWI240163B (ko) |
WO (6) | WO2003036450A2 (ko) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100899526B1 (ko) * | 2007-09-07 | 2009-05-27 | 삼성네트웍스 주식회사 | 다중 프로세서 기반의 패킷 처리 장치 및 방법 |
KR101448951B1 (ko) * | 2013-02-27 | 2014-10-13 | 주식회사 시큐아이 | 패킷 처리 장치 및 방법 |
Families Citing this family (361)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2728559B1 (fr) * | 1994-12-23 | 1997-01-31 | Saint Gobain Vitrage | Substrats en verre revetus d'un empilement de couches minces a proprietes de reflexion dans l'infrarouge et/ou dans le domaine du rayonnement solaire |
US7600131B1 (en) | 1999-07-08 | 2009-10-06 | Broadcom Corporation | Distributed processing in a cryptography acceleration chip |
JP2004500415A (ja) * | 2000-03-30 | 2004-01-08 | ザ ペン ステート リサーチ ファウンデイション | 化学療法を増進するための新規な化合物 |
US7013302B2 (en) * | 2000-12-22 | 2006-03-14 | Nortel Networks Limited | Bit field manipulation |
US7529242B1 (en) * | 2002-02-15 | 2009-05-05 | Symantec Corporation | Routing network packets for multi-processor network flow analysis |
US7400722B2 (en) * | 2002-03-28 | 2008-07-15 | Broadcom Corporation | Methods and apparatus for performing hash operations in a cryptography accelerator |
US7944920B2 (en) * | 2002-06-11 | 2011-05-17 | Pandya Ashish A | Data processing system using internet protocols and RDMA |
US7415723B2 (en) * | 2002-06-11 | 2008-08-19 | Pandya Ashish A | Distributed network security system and a hardware processor therefor |
US7631107B2 (en) * | 2002-06-11 | 2009-12-08 | Pandya Ashish A | Runtime adaptable protocol processor |
US20040010781A1 (en) * | 2002-07-12 | 2004-01-15 | Maly John Warren | Parameter parsing system |
US7461215B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor with implementation of memory ordering on a ring based data movement network |
US8015567B2 (en) | 2002-10-08 | 2011-09-06 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for packet distribution at high line rate |
US20050033831A1 (en) * | 2002-10-08 | 2005-02-10 | Abbas Rashid | Advanced processor with a thread aware return address stack optimally used across active threads |
US7461213B2 (en) * | 2002-10-08 | 2008-12-02 | Rmi Corporation | Advanced processor system using request, data, snoop, and response rings |
US8037224B2 (en) | 2002-10-08 | 2011-10-11 | Netlogic Microsystems, Inc. | Delegating network processor operations to star topology serial bus interfaces |
US7346757B2 (en) | 2002-10-08 | 2008-03-18 | Rmi Corporation | Advanced processor translation lookaside buffer management in a multithreaded system |
US7961723B2 (en) * | 2002-10-08 | 2011-06-14 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for enforcing ordering between information sent on two independent networks |
US8176298B2 (en) * | 2002-10-08 | 2012-05-08 | Netlogic Microsystems, Inc. | Multi-core multi-threaded processing systems with instruction reordering in an in-order pipeline |
US7627721B2 (en) * | 2002-10-08 | 2009-12-01 | Rmi Corporation | Advanced processor with cache coherency |
US9088474B2 (en) * | 2002-10-08 | 2015-07-21 | Broadcom Corporation | Advanced processor with interfacing messaging network to a CPU |
US7984268B2 (en) * | 2002-10-08 | 2011-07-19 | Netlogic Microsystems, Inc. | Advanced processor scheduling in a multithreaded system |
US7924828B2 (en) * | 2002-10-08 | 2011-04-12 | Netlogic Microsystems, Inc. | Advanced processor with mechanism for fast packet queuing operations |
US7334086B2 (en) * | 2002-10-08 | 2008-02-19 | Rmi Corporation | Advanced processor with system on a chip interconnect technology |
US7467243B2 (en) * | 2002-10-08 | 2008-12-16 | Rmi Corporation | Advanced processor with scheme for optimal packet flow in a multi-processor system on a chip |
US20050044324A1 (en) * | 2002-10-08 | 2005-02-24 | Abbas Rashid | Advanced processor with mechanism for maximizing resource usage in an in-order pipeline with multiple threads |
US8478811B2 (en) * | 2002-10-08 | 2013-07-02 | Netlogic Microsystems, Inc. | Advanced processor with credit based scheme for optimal packet flow in a multi-processor system on a chip |
US20040103248A1 (en) * | 2002-10-08 | 2004-05-27 | Hass David T. | Advanced telecommunications processor |
US20050033889A1 (en) * | 2002-10-08 | 2005-02-10 | Hass David T. | Advanced processor with interrupt delivery mechanism for multi-threaded multi-CPU system on a chip |
US20040123120A1 (en) * | 2002-12-18 | 2004-06-24 | Broadcom Corporation | Cryptography accelerator input interface data handling |
US20040123123A1 (en) * | 2002-12-18 | 2004-06-24 | Buer Mark L. | Methods and apparatus for accessing security association information in a cryptography accelerator |
US7568110B2 (en) * | 2002-12-18 | 2009-07-28 | Broadcom Corporation | Cryptography accelerator interface decoupling from cryptography processing cores |
US7434043B2 (en) | 2002-12-18 | 2008-10-07 | Broadcom Corporation | Cryptography accelerator data routing unit |
US7673118B2 (en) * | 2003-02-12 | 2010-03-02 | Swarztrauber Paul N | System and method for vector-parallel multiprocessor communication |
US7536560B2 (en) | 2003-04-18 | 2009-05-19 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic key size |
US7502943B2 (en) | 2003-04-18 | 2009-03-10 | Via Technologies, Inc. | Microprocessor apparatus and method for providing configurable cryptographic block cipher round results |
US7392400B2 (en) | 2003-04-18 | 2008-06-24 | Via Technologies, Inc. | Microprocessor apparatus and method for optimizing block cipher cryptographic functions |
US7844053B2 (en) | 2003-04-18 | 2010-11-30 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7529368B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent output feedback mode cryptographic functions |
US7529367B2 (en) | 2003-04-18 | 2009-05-05 | Via Technologies, Inc. | Apparatus and method for performing transparent cipher feedback mode cryptographic functions |
US7321910B2 (en) | 2003-04-18 | 2008-01-22 | Ip-First, Llc | Microprocessor apparatus and method for performing block cipher cryptographic functions |
US7539876B2 (en) | 2003-04-18 | 2009-05-26 | Via Technologies, Inc. | Apparatus and method for generating a cryptographic key schedule in a microprocessor |
US7900055B2 (en) | 2003-04-18 | 2011-03-01 | Via Technologies, Inc. | Microprocessor apparatus and method for employing configurable block cipher cryptographic algorithms |
US7925891B2 (en) | 2003-04-18 | 2011-04-12 | Via Technologies, Inc. | Apparatus and method for employing cryptographic functions to generate a message digest |
US8060755B2 (en) | 2003-04-18 | 2011-11-15 | Via Technologies, Inc | Apparatus and method for providing user-generated key schedule in a microprocessor cryptographic engine |
US7532722B2 (en) | 2003-04-18 | 2009-05-12 | Ip-First, Llc | Apparatus and method for performing transparent block cipher cryptographic functions |
US7542566B2 (en) | 2003-04-18 | 2009-06-02 | Ip-First, Llc | Apparatus and method for performing transparent cipher block chaining mode cryptographic functions |
US7519833B2 (en) | 2003-04-18 | 2009-04-14 | Via Technologies, Inc. | Microprocessor apparatus and method for enabling configurable data block size in a cryptographic engine |
US7392399B2 (en) * | 2003-05-05 | 2008-06-24 | Sun Microsystems, Inc. | Methods and systems for efficiently integrating a cryptographic co-processor |
US20040230813A1 (en) * | 2003-05-12 | 2004-11-18 | International Business Machines Corporation | Cryptographic coprocessor on a general purpose microprocessor |
CA2467140A1 (en) * | 2003-05-12 | 2004-11-12 | Auckland Uniservices Limited | An integrity mechanism for file transfer in communications networks |
US8266379B2 (en) * | 2003-06-02 | 2012-09-11 | Infineon Technologies Ag | Multithreaded processor with multiple caches |
US20050108518A1 (en) * | 2003-06-10 | 2005-05-19 | Pandya Ashish A. | Runtime adaptable security processor |
US7685254B2 (en) * | 2003-06-10 | 2010-03-23 | Pandya Ashish A | Runtime adaptable search processor |
US8730923B2 (en) * | 2003-06-11 | 2014-05-20 | Alcatel Lucent | Method for controlling resource allocation in a wireless communication system |
JP3761544B2 (ja) | 2003-06-25 | 2006-03-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 設定装置、情報処理装置、設定方法、プログラム、及び記録媒体 |
US7996839B2 (en) * | 2003-07-16 | 2011-08-09 | Hewlett-Packard Development Company, L.P. | Heterogeneous processor core systems for improved throughput |
US20050044320A1 (en) * | 2003-08-19 | 2005-02-24 | Sun Microsystems, Inc. | Cache bank interface unit |
US7133950B2 (en) | 2003-08-19 | 2006-11-07 | Sun Microsystems, Inc. | Request arbitration in multi-core processor |
US7873785B2 (en) * | 2003-08-19 | 2011-01-18 | Oracle America, Inc. | Multi-core multi-thread processor |
US8463996B2 (en) * | 2003-08-19 | 2013-06-11 | Oracle America, Inc. | Multi-core multi-thread processor crossbar architecture |
EP1522923A3 (fr) * | 2003-10-08 | 2011-06-22 | STMicroelectronics SA | Architecture de processeur à plusieurs contextes d'exécution simultanés |
US7536692B2 (en) * | 2003-11-06 | 2009-05-19 | Intel Corporation | Thread-based engine cache partitioning |
US7617241B2 (en) * | 2003-11-07 | 2009-11-10 | Rmi Corporation | Method and apparatus for enhanced hashing |
US8516179B2 (en) * | 2003-12-03 | 2013-08-20 | Digital Rna, Llc | Integrated circuit with coupled processing cores |
US7222299B1 (en) * | 2003-12-19 | 2007-05-22 | Google, Inc. | Detecting quoted text |
US7007128B2 (en) * | 2004-01-07 | 2006-02-28 | International Business Machines Corporation | Multiprocessor data processing system having a data routing mechanism regulated through control communication |
US7308558B2 (en) * | 2004-01-07 | 2007-12-11 | International Business Machines Corporation | Multiprocessor data processing system having scalable data interconnect and data routing mechanism |
US7634655B2 (en) * | 2004-02-13 | 2009-12-15 | Microsoft Corporation | Efficient hash table protection for data transport protocols |
US7564381B1 (en) * | 2004-02-16 | 2009-07-21 | Cisco Technology, Inc. | System and method for code-based compression in a communications environment |
US8028164B2 (en) * | 2004-03-19 | 2011-09-27 | Nokia Corporation | Practical and secure storage encryption |
US7936687B1 (en) * | 2004-03-30 | 2011-05-03 | Extreme Networks, Inc. | Systems for statistics gathering and sampling in a packet processing system |
US7649879B2 (en) * | 2004-03-30 | 2010-01-19 | Extreme Networks, Inc. | Pipelined packet processor |
US7292591B2 (en) | 2004-03-30 | 2007-11-06 | Extreme Networks, Inc. | Packet processing system architecture and method |
US7889750B1 (en) | 2004-04-28 | 2011-02-15 | Extreme Networks, Inc. | Method of extending default fixed number of processing cycles in pipelined packet processor architecture |
US7480302B2 (en) * | 2004-05-11 | 2009-01-20 | Samsung Electronics Co., Ltd. | Packet classification method through hierarchical rulebase partitioning |
KR100594755B1 (ko) * | 2004-05-11 | 2006-06-30 | 삼성전자주식회사 | 계층적 룰베이스 분할을 통한 패킷 분류 방법 |
US7418582B1 (en) | 2004-05-13 | 2008-08-26 | Sun Microsystems, Inc. | Versatile register file design for a multi-threaded processor utilizing different modes and register windows |
US7664810B2 (en) * | 2004-05-14 | 2010-02-16 | Via Technologies, Inc. | Microprocessor apparatus and method for modular exponentiation |
US20060041715A1 (en) * | 2004-05-28 | 2006-02-23 | Chrysos George Z | Multiprocessor chip having bidirectional ring interconnect |
US7369557B1 (en) * | 2004-06-03 | 2008-05-06 | Cisco Technology, Inc. | Distribution of flows in a flow-based multi-processor system |
US7543132B1 (en) | 2004-06-30 | 2009-06-02 | Sun Microsystems, Inc. | Optimizing hardware TLB reload performance in a highly-threaded processor with multiple page sizes |
US7760719B2 (en) | 2004-06-30 | 2010-07-20 | Conexant Systems, Inc. | Combined pipelined classification and address search method and apparatus for switching environments |
US7571284B1 (en) | 2004-06-30 | 2009-08-04 | Sun Microsystems, Inc. | Out-of-order memory transactions in a fine-grain multithreaded/multi-core processor |
US7509484B1 (en) | 2004-06-30 | 2009-03-24 | Sun Microsystems, Inc. | Handling cache misses by selectively flushing the pipeline |
US7519796B1 (en) | 2004-06-30 | 2009-04-14 | Sun Microsystems, Inc. | Efficient utilization of a store buffer using counters |
US20060009265A1 (en) * | 2004-06-30 | 2006-01-12 | Clapper Edward O | Communication blackout feature |
US7366829B1 (en) | 2004-06-30 | 2008-04-29 | Sun Microsystems, Inc. | TLB tag parity checking without CAM read |
US7290116B1 (en) | 2004-06-30 | 2007-10-30 | Sun Microsystems, Inc. | Level 2 cache index hashing to avoid hot spots |
US7492763B1 (en) * | 2004-07-16 | 2009-02-17 | Applied Micro Circuits Corporation | User-specified key creation from attributes independent of encapsulation type |
US7296129B2 (en) * | 2004-07-30 | 2007-11-13 | International Business Machines Corporation | System, method and storage medium for providing a serialized memory interface with a bus repeater |
US20060036826A1 (en) * | 2004-07-30 | 2006-02-16 | International Business Machines Corporation | System, method and storage medium for providing a bus speed multiplier |
US7389375B2 (en) * | 2004-07-30 | 2008-06-17 | International Business Machines Corporation | System, method and storage medium for a multi-mode memory buffer device |
US7681105B1 (en) * | 2004-08-09 | 2010-03-16 | Bakbone Software, Inc. | Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network |
US7594081B2 (en) * | 2004-09-10 | 2009-09-22 | Cavium Networks, Inc. | Direct access to low-latency memory |
US7941585B2 (en) | 2004-09-10 | 2011-05-10 | Cavium Networks, Inc. | Local scratchpad and data caching system |
WO2006031551A2 (en) * | 2004-09-10 | 2006-03-23 | Cavium Networks | Selective replication of data structure |
US7748001B2 (en) * | 2004-09-23 | 2010-06-29 | Intel Corporation | Multi-thread processing system for detecting and handling live-lock conditions by arbitrating livelock priority of logical processors based on a predertermined amount of time |
US9626194B2 (en) | 2004-09-23 | 2017-04-18 | Intel Corporation | Thread livelock unit |
US7788670B2 (en) * | 2004-10-26 | 2010-08-31 | Intel Corporation | Performance-based workload scheduling in multi-core architectures |
US7356737B2 (en) * | 2004-10-29 | 2008-04-08 | International Business Machines Corporation | System, method and storage medium for testing a memory module |
US20060095620A1 (en) * | 2004-10-29 | 2006-05-04 | International Business Machines Corporation | System, method and storage medium for merging bus data in a memory subsystem |
US7331010B2 (en) * | 2004-10-29 | 2008-02-12 | International Business Machines Corporation | System, method and storage medium for providing fault detection and correction in a memory subsystem |
US7395476B2 (en) * | 2004-10-29 | 2008-07-01 | International Business Machines Corporation | System, method and storage medium for providing a high speed test interface to a memory subsystem |
US7299313B2 (en) | 2004-10-29 | 2007-11-20 | International Business Machines Corporation | System, method and storage medium for a memory subsystem command interface |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
US7305574B2 (en) * | 2004-10-29 | 2007-12-04 | International Business Machines Corporation | System, method and storage medium for bus calibration in a memory subsystem |
US7512762B2 (en) | 2004-10-29 | 2009-03-31 | International Business Machines Corporation | System, method and storage medium for a memory subsystem with positional read data latency |
US7441060B2 (en) * | 2004-10-29 | 2008-10-21 | International Business Machines Corporation | System, method and storage medium for providing a service interface to a memory system |
US7564847B2 (en) * | 2004-12-13 | 2009-07-21 | Intel Corporation | Flow assignment |
US8473750B2 (en) * | 2004-12-15 | 2013-06-25 | Nvidia Corporation | Chipset security offload engine |
US7920701B1 (en) | 2004-12-15 | 2011-04-05 | Nvidia Corporation | System and method for digital content protection |
US8756605B2 (en) * | 2004-12-17 | 2014-06-17 | Oracle America, Inc. | Method and apparatus for scheduling multiple threads for execution in a shared microprocessor pipeline |
US20060136717A1 (en) | 2004-12-20 | 2006-06-22 | Mark Buer | System and method for authentication via a proximate device |
US8295484B2 (en) * | 2004-12-21 | 2012-10-23 | Broadcom Corporation | System and method for securing data from a remote input device |
US7937709B2 (en) | 2004-12-29 | 2011-05-03 | Intel Corporation | Synchronizing multiple threads efficiently |
US7430643B2 (en) * | 2004-12-30 | 2008-09-30 | Sun Microsystems, Inc. | Multiple contexts for efficient use of translation lookaside buffer |
US8719819B2 (en) * | 2005-06-30 | 2014-05-06 | Intel Corporation | Mechanism for instruction set based thread execution on a plurality of instruction sequencers |
US7428619B2 (en) * | 2005-01-18 | 2008-09-23 | Sony Computer Entertainment Inc. | Methods and apparatus for providing synchronization of shared data |
US7426649B2 (en) * | 2005-02-09 | 2008-09-16 | International Business Machines Corporation | Power management via DIMM read operation limiter |
US7421598B2 (en) * | 2005-02-09 | 2008-09-02 | International Business Machines Corporation | Dynamic power management via DIMM read operation limiter |
US7769858B2 (en) * | 2005-02-23 | 2010-08-03 | International Business Machines Corporation | Method for efficiently hashing packet keys into a firewall connection table |
US7443878B2 (en) | 2005-04-04 | 2008-10-28 | Sun Microsystems, Inc. | System for scaling by parallelizing network workload |
WO2006128062A2 (en) * | 2005-05-25 | 2006-11-30 | Terracotta, Inc. | Database caching of queries and stored procedures using database provided facilities for dependency analysis and detected database updates for invalidation |
US8060774B2 (en) | 2005-06-24 | 2011-11-15 | Google Inc. | Memory systems and memory modules |
US8111566B1 (en) | 2007-11-16 | 2012-02-07 | Google, Inc. | Optimal channel design for memory devices for providing a high-speed memory interface |
US8335894B1 (en) | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US8359187B2 (en) | 2005-06-24 | 2013-01-22 | Google Inc. | Simulating a different number of memory circuit devices |
US20080028136A1 (en) | 2006-07-31 | 2008-01-31 | Schakel Keith R | Method and apparatus for refresh management of memory modules |
US8089795B2 (en) | 2006-02-09 | 2012-01-03 | Google Inc. | Memory module with memory stack and interface with enhanced capabilities |
US20080082763A1 (en) | 2006-10-02 | 2008-04-03 | Metaram, Inc. | Apparatus and method for power management of memory circuits by a system or component thereof |
US7472220B2 (en) * | 2006-07-31 | 2008-12-30 | Metaram, Inc. | Interface circuit system and method for performing power management operations utilizing power management signals |
US8130560B1 (en) | 2006-11-13 | 2012-03-06 | Google Inc. | Multi-rank partial width memory modules |
US9171585B2 (en) | 2005-06-24 | 2015-10-27 | Google Inc. | Configurable memory circuit system and method |
US7639613B1 (en) * | 2005-06-24 | 2009-12-29 | Packeteer, Inc. | Adaptive, flow-based network traffic measurement and monitoring system |
US8438328B2 (en) | 2008-02-21 | 2013-05-07 | Google Inc. | Emulation of abstracted DIMMs using abstracted DRAMs |
US9507739B2 (en) | 2005-06-24 | 2016-11-29 | Google Inc. | Configurable memory circuit system and method |
US7386656B2 (en) | 2006-07-31 | 2008-06-10 | Metaram, Inc. | Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit |
US8055833B2 (en) | 2006-10-05 | 2011-11-08 | Google Inc. | System and method for increasing capacity, performance, and flexibility of flash storage |
US10013371B2 (en) | 2005-06-24 | 2018-07-03 | Google Llc | Configurable memory circuit system and method |
US8397013B1 (en) | 2006-10-05 | 2013-03-12 | Google Inc. | Hybrid memory module |
US8041881B2 (en) | 2006-07-31 | 2011-10-18 | Google Inc. | Memory device with emulated characteristics |
US8090897B2 (en) | 2006-07-31 | 2012-01-03 | Google Inc. | System and method for simulating an aspect of a memory circuit |
US8796830B1 (en) | 2006-09-01 | 2014-08-05 | Google Inc. | Stackable low-profile lead frame package |
US7392338B2 (en) | 2006-07-31 | 2008-06-24 | Metaram, Inc. | Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits |
US8327104B2 (en) | 2006-07-31 | 2012-12-04 | Google Inc. | Adjusting the timing of signals associated with a memory system |
US8081474B1 (en) | 2007-12-18 | 2011-12-20 | Google Inc. | Embossed heat spreader |
US8077535B2 (en) | 2006-07-31 | 2011-12-13 | Google Inc. | Memory refresh apparatus and method |
US8386722B1 (en) | 2008-06-23 | 2013-02-26 | Google Inc. | Stacked DIMM memory interface |
US9542352B2 (en) | 2006-02-09 | 2017-01-10 | Google Inc. | System and method for reducing command scheduling constraints of memory circuits |
US8244971B2 (en) | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US8407432B2 (en) * | 2005-06-30 | 2013-03-26 | Intel Corporation | Cache coherency sequencing implementation and adaptive LLC access priority control for CMP |
US20070005899A1 (en) * | 2005-06-30 | 2007-01-04 | Sistla Krishnakanth V | Processing multicore evictions in a CMP multiprocessor |
CN100458757C (zh) * | 2005-07-28 | 2009-02-04 | 大唐移动通信设备有限公司 | 嵌入式实时操作系统中多核处理器的核间通信方法及装置 |
US20070086456A1 (en) * | 2005-08-12 | 2007-04-19 | Electronics And Telecommunications Research Institute | Integrated layer frame processing device including variable protocol header |
WO2007028109A2 (en) * | 2005-09-02 | 2007-03-08 | Metaram, Inc. | Methods and apparatus of stacking drams |
GB0519981D0 (en) | 2005-09-30 | 2005-11-09 | Ignios Ltd | Scheduling in a multicore architecture |
US7159082B1 (en) * | 2005-10-03 | 2007-01-02 | Hewlett-Packard Development Company, L.P. | System and method for throttling memory accesses |
US7984180B2 (en) * | 2005-10-20 | 2011-07-19 | Solarflare Communications, Inc. | Hashing algorithm for network receive filtering |
US7478259B2 (en) | 2005-10-31 | 2009-01-13 | International Business Machines Corporation | System, method and storage medium for deriving clocks in a memory system |
US7685392B2 (en) * | 2005-11-28 | 2010-03-23 | International Business Machines Corporation | Providing indeterminate read data latency in a memory system |
US20070124728A1 (en) * | 2005-11-28 | 2007-05-31 | Mark Rosenbluth | Passing work between threads |
EP1963963A2 (en) * | 2005-12-06 | 2008-09-03 | Boston Circuits, Inc. | Methods and apparatus for multi-core processing with dedicated thread management |
EP1801725B1 (en) * | 2005-12-14 | 2009-09-23 | Nvidia Corporation | Chipset security offload engine |
US7750915B1 (en) * | 2005-12-19 | 2010-07-06 | Nvidia Corporation | Concurrent access of data elements stored across multiple banks in a shared memory resource |
US20070168377A1 (en) * | 2005-12-29 | 2007-07-19 | Arabella Software Ltd. | Method and apparatus for classifying Internet Protocol data packets |
US7894451B2 (en) * | 2005-12-30 | 2011-02-22 | Extreme Networks, Inc. | Method of providing virtual router functionality |
US7817633B1 (en) | 2005-12-30 | 2010-10-19 | Extreme Networks, Inc. | Method of providing virtual router functionality through abstracted virtual identifiers |
US7822033B1 (en) | 2005-12-30 | 2010-10-26 | Extreme Networks, Inc. | MAC address detection device for virtual routers |
US7725624B2 (en) * | 2005-12-30 | 2010-05-25 | Intel Corporation | System and method for cryptography processing units and multiplier |
US7900022B2 (en) * | 2005-12-30 | 2011-03-01 | Intel Corporation | Programmable processing unit with an input buffer and output buffer configured to exclusively exchange data with either a shared memory logic or a multiplier based upon a mode instruction |
US20070157030A1 (en) * | 2005-12-30 | 2007-07-05 | Feghali Wajdi K | Cryptographic system component |
US9632929B2 (en) | 2006-02-09 | 2017-04-25 | Google Inc. | Translating an address associated with a command communicated between a system and memory circuits |
US7774590B2 (en) * | 2006-03-23 | 2010-08-10 | Intel Corporation | Resiliently retaining state information of a many-core processor |
US7610330B1 (en) * | 2006-03-30 | 2009-10-27 | Packeteer, Inc. | Multi-dimensional computation distribution in a packet processing device having multiple processing architecture |
CN100407705C (zh) * | 2006-04-12 | 2008-07-30 | 华为技术有限公司 | 一种路由器控制方法和系统 |
WO2007123520A1 (en) | 2006-04-21 | 2007-11-01 | Sun Microsystems, Inc. | Method and system for scaling by parallelizing network workload |
US7852850B2 (en) * | 2006-04-26 | 2010-12-14 | Marvell Israel (M.I.S.L.) Ltd. | Double-hash lookup mechanism for searching addresses in a network device |
US7865694B2 (en) * | 2006-05-12 | 2011-01-04 | International Business Machines Corporation | Three-dimensional networking structure |
EP1858228A1 (en) * | 2006-05-16 | 2007-11-21 | THOMSON Licensing | Network data storage system with distributed file management |
US7636813B2 (en) * | 2006-05-22 | 2009-12-22 | International Business Machines Corporation | Systems and methods for providing remote pre-fetch buffers |
US7594055B2 (en) * | 2006-05-24 | 2009-09-22 | International Business Machines Corporation | Systems and methods for providing distributed technology independent memory controllers |
US7640386B2 (en) * | 2006-05-24 | 2009-12-29 | International Business Machines Corporation | Systems and methods for providing memory modules with multiple hub devices |
DE102006025133A1 (de) * | 2006-05-30 | 2007-12-06 | Infineon Technologies Ag | Speicher- und Speicherkommunikationssystem |
US7584336B2 (en) * | 2006-06-08 | 2009-09-01 | International Business Machines Corporation | Systems and methods for providing data modification operations in memory subsystems |
US7584286B2 (en) | 2006-06-28 | 2009-09-01 | Intel Corporation | Flexible and extensible receive side scaling |
EP2035928A2 (en) * | 2006-06-30 | 2009-03-18 | Symbol Technologies, Inc. | Systems and methods for processing data packets using a multi-core abstraction layer (mcal) |
US20080002681A1 (en) * | 2006-06-30 | 2008-01-03 | Symbol Technologies, Inc. | Network wireless/RFID switch architecture for multi-core hardware platforms using a multi-core abstraction layer (MCAL) |
US20080002702A1 (en) * | 2006-06-30 | 2008-01-03 | Symbol Technologies, Inc. | Systems and methods for processing data packets using a multi-core abstraction layer (MCAL) |
KR100724527B1 (ko) * | 2006-07-11 | 2007-06-04 | 이평범 | 농산물의 잔류 농약을 제거한 파우더의 제조 방법 및 그제조 시스템 |
US7724589B2 (en) | 2006-07-31 | 2010-05-25 | Google Inc. | System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits |
US7493439B2 (en) * | 2006-08-01 | 2009-02-17 | International Business Machines Corporation | Systems and methods for providing performance monitoring in a memory system |
US7669086B2 (en) | 2006-08-02 | 2010-02-23 | International Business Machines Corporation | Systems and methods for providing collision detection in a memory system |
US7581073B2 (en) * | 2006-08-09 | 2009-08-25 | International Business Machines Corporation | Systems and methods for providing distributed autonomous power management in a memory system |
US20080263324A1 (en) * | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US7587559B2 (en) * | 2006-08-10 | 2009-09-08 | International Business Machines Corporation | Systems and methods for memory module power management |
US8006069B2 (en) * | 2006-10-05 | 2011-08-23 | Synopsys, Inc. | Inter-processor communication method |
CN100452757C (zh) * | 2006-10-12 | 2009-01-14 | 杭州华三通信技术有限公司 | 报文转发方法和装置 |
US7477522B2 (en) * | 2006-10-23 | 2009-01-13 | International Business Machines Corporation | High density high reliability memory module with a fault tolerant address and command bus |
US7870459B2 (en) | 2006-10-23 | 2011-01-11 | International Business Machines Corporation | High density high reliability memory module with power gating and a fault tolerant address and command bus |
WO2008050248A2 (en) * | 2006-10-27 | 2008-05-02 | Nokia Corporation | System and method for improved broadband wireless gateway reliability |
US8356361B2 (en) * | 2006-11-07 | 2013-01-15 | Spansion Llc | Secure co-processing memory controller integrated into an embedded memory subsystem |
US7996348B2 (en) | 2006-12-08 | 2011-08-09 | Pandya Ashish A | 100GBPS security and search architecture using programmable intelligent search memory (PRISM) that comprises one or more bit interval counters |
US9141557B2 (en) | 2006-12-08 | 2015-09-22 | Ashish A. Pandya | Dynamic random access memory (DRAM) that comprises a programmable intelligent search memory (PRISM) and a cryptography processing engine |
US7721140B2 (en) | 2007-01-02 | 2010-05-18 | International Business Machines Corporation | Systems and methods for improving serviceability of a memory system |
US7603526B2 (en) * | 2007-01-29 | 2009-10-13 | International Business Machines Corporation | Systems and methods for providing dynamic memory pre-fetch |
CN101043446A (zh) * | 2007-03-08 | 2007-09-26 | 华为技术有限公司 | 数据转发处理的方法和装置 |
US8095782B1 (en) | 2007-04-05 | 2012-01-10 | Nvidia Corporation | Multiple simultaneous context architecture for rebalancing contexts on multithreaded processing cores upon a context change |
US7979683B1 (en) * | 2007-04-05 | 2011-07-12 | Nvidia Corporation | Multiple simultaneous context architecture |
DE602007007450D1 (de) * | 2007-05-11 | 2010-08-12 | Sca Hygiene Prod Ab | Verpackungs- und Versorgungsvorrichtung zum Gruppieren von Produktobjekten |
US7840821B2 (en) * | 2007-05-18 | 2010-11-23 | Globalfoundries Inc. | Method and apparatus for monitoring energy consumption of an electronic device |
US7552241B2 (en) * | 2007-05-18 | 2009-06-23 | Tilera Corporation | Method and system for managing a plurality of I/O interfaces with an array of multicore processor resources in a semiconductor chip |
US8209479B2 (en) | 2007-07-18 | 2012-06-26 | Google Inc. | Memory circuit system and method |
CN101350010B (zh) * | 2007-07-20 | 2011-08-17 | 迈普通信技术股份有限公司 | 一种哈希表的操作方法 |
WO2009018483A1 (en) * | 2007-07-31 | 2009-02-05 | Viasat, Inc. | Input output access controller |
US8295306B2 (en) * | 2007-08-28 | 2012-10-23 | Cisco Technologies, Inc. | Layer-4 transparent secure transport protocol for end-to-end application protection |
US7584308B2 (en) * | 2007-08-31 | 2009-09-01 | International Business Machines Corporation | System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US7865674B2 (en) * | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US8082482B2 (en) | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US8086936B2 (en) | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US7818497B2 (en) * | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US7840748B2 (en) * | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US7899983B2 (en) * | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US8019919B2 (en) | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US7558887B2 (en) * | 2007-09-05 | 2009-07-07 | International Business Machines Corporation | Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel |
US8080874B1 (en) | 2007-09-14 | 2011-12-20 | Google Inc. | Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween |
US7890472B2 (en) | 2007-09-18 | 2011-02-15 | Microsoft Corporation | Parallel nested transactions in transactional memory |
US8539098B2 (en) | 2007-10-17 | 2013-09-17 | Dispersive Networks, Inc. | Multiplexed client server (MCS) communications and systems |
US8560634B2 (en) | 2007-10-17 | 2013-10-15 | Dispersive Networks, Inc. | Apparatus, systems and methods utilizing dispersive networking |
IL187038A0 (en) * | 2007-10-30 | 2008-02-09 | Sandisk Il Ltd | Secure data processing for unaligned data |
US20090119114A1 (en) * | 2007-11-02 | 2009-05-07 | David Alaniz | Systems and Methods for Enabling Customer Service |
US8838817B1 (en) | 2007-11-07 | 2014-09-16 | Netapp, Inc. | Application-controlled network packet classification |
US8019970B2 (en) * | 2007-11-28 | 2011-09-13 | International Business Machines Corporation | Three-dimensional networking design structure |
US20090172370A1 (en) * | 2007-12-31 | 2009-07-02 | Advanced Micro Devices, Inc. | Eager execution in a processing pipeline having multiple integer execution units |
US7793080B2 (en) * | 2007-12-31 | 2010-09-07 | Globalfoundries Inc. | Processing pipeline having parallel dispatch and method thereof |
US8086825B2 (en) * | 2007-12-31 | 2011-12-27 | Advanced Micro Devices, Inc. | Processing pipeline having stage-specific thread selection and method thereof |
US8375395B2 (en) * | 2008-01-03 | 2013-02-12 | L3 Communications Integrated Systems, L.P. | Switch-based parallel distributed cache architecture for memory access on reconfigurable computing platforms |
US7925825B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US7930470B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US8140936B2 (en) | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US7925826B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US7925824B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US7770077B2 (en) * | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US7930469B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US9596324B2 (en) * | 2008-02-08 | 2017-03-14 | Broadcom Corporation | System and method for parsing and allocating a plurality of packets to processor core threads |
JP4621747B2 (ja) * | 2008-02-15 | 2011-01-26 | 株式会社東芝 | 通信制御装置および情報処理装置 |
US8510370B2 (en) * | 2008-02-26 | 2013-08-13 | Avid Technology, Inc. | Array-based distributed storage system with parity |
US8566833B1 (en) | 2008-03-11 | 2013-10-22 | Netapp, Inc. | Combined network and application processing in a multiprocessing environment |
US8209493B2 (en) * | 2008-03-26 | 2012-06-26 | Intel Corporation | Systems and methods for scheduling memory requests during memory throttling |
KR100976628B1 (ko) * | 2008-05-09 | 2010-08-18 | 한국전자통신연구원 | 다중 프로세서 시스템 및 그 시스템에서의 다중 프로세싱방법 |
US20090288104A1 (en) * | 2008-05-19 | 2009-11-19 | Rohati Systems, Inc. | Extensibility framework of a network element |
US8667556B2 (en) * | 2008-05-19 | 2014-03-04 | Cisco Technology, Inc. | Method and apparatus for building and managing policies |
US8094560B2 (en) * | 2008-05-19 | 2012-01-10 | Cisco Technology, Inc. | Multi-stage multi-core processing of network packets |
US8677453B2 (en) * | 2008-05-19 | 2014-03-18 | Cisco Technology, Inc. | Highly parallel evaluation of XACML policies |
JP5583893B2 (ja) * | 2008-05-28 | 2014-09-03 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
JP5832284B2 (ja) * | 2008-05-30 | 2015-12-16 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドAdvanced Micro Devices Incorporated | 分散型レベル1キャッシュシステム及び集中型レベル2キャッシュを有するシェーダ複合体 |
US8194582B2 (en) * | 2008-06-30 | 2012-06-05 | The Boeing Company | Method and apparatus for hosting commercially-derived packet routers on satellite payloads |
US8031627B2 (en) | 2008-07-10 | 2011-10-04 | At&T Intellectual Property I, L.P. | Methods and apparatus to deploy and monitor network layer functionalities |
TWI362596B (en) * | 2008-07-23 | 2012-04-21 | Inst Information Industry | Intermediary apparatus, intermediary method, computer program product for storing a data in a storage apparatus, and data storage system comprising the same |
US7979671B2 (en) * | 2008-07-28 | 2011-07-12 | CacheIQ, Inc. | Dual hash indexing system and methodology |
JP5395383B2 (ja) * | 2008-08-21 | 2014-01-22 | 株式会社東芝 | パイプライン演算プロセッサを備える制御システム |
US20100070471A1 (en) * | 2008-09-17 | 2010-03-18 | Rohati Systems, Inc. | Transactional application events |
US8688911B1 (en) | 2008-11-25 | 2014-04-01 | Marvell Israel (M.I.S.L) Ltd. | Transparent processing core and L2 cache connection |
US8484421B1 (en) | 2008-11-25 | 2013-07-09 | Marvell Israel (M.I.S.L) Ltd. | Cache pre-fetch architecture and method |
CN101799750B (zh) * | 2009-02-11 | 2015-05-06 | 上海芯豪微电子有限公司 | 一种数据处理的方法与装置 |
US8549260B2 (en) * | 2009-01-29 | 2013-10-01 | Infineon Technologies Ag | Apparatus for processing data and method for generating manipulated and re-manipulated configuration data for processor |
JP5081847B2 (ja) * | 2009-02-20 | 2012-11-28 | 株式会社日立製作所 | マルチプロセッサによるパケット処理装置およびパケット処理方法 |
US9444757B2 (en) | 2009-04-27 | 2016-09-13 | Intel Corporation | Dynamic configuration of processing modules in a network communications processor architecture |
US8514874B2 (en) * | 2010-03-12 | 2013-08-20 | Lsi Corporation | Thread synchronization in a multi-thread network communications processor architecture |
US9461930B2 (en) | 2009-04-27 | 2016-10-04 | Intel Corporation | Modifying data streams without reordering in a multi-thread, multi-flow network processor |
DE202010017690U1 (de) | 2009-06-09 | 2012-05-29 | Google, Inc. | Programmierung von Dimm-Abschlusswiderstandswerten |
JP2010288233A (ja) * | 2009-06-15 | 2010-12-24 | Toshiba Corp | 暗号処理装置 |
US8503456B2 (en) * | 2009-07-14 | 2013-08-06 | Broadcom Corporation | Flow based path selection randomization |
US8565239B2 (en) * | 2009-07-14 | 2013-10-22 | Broadcom Corporation | Node based path selection randomization |
US8949695B2 (en) * | 2009-08-27 | 2015-02-03 | Cleversafe, Inc. | Method and apparatus for nested dispersed storage |
US8473818B2 (en) * | 2009-10-12 | 2013-06-25 | Empire Technology Development Llc | Reliable communications in on-chip networks |
US8484439B1 (en) | 2009-10-27 | 2013-07-09 | Juniper Networks, Inc. | Scalable hash tables |
US8446824B2 (en) * | 2009-12-17 | 2013-05-21 | Intel Corporation | NUMA-aware scaling for network devices |
US8452835B2 (en) * | 2009-12-23 | 2013-05-28 | Citrix Systems, Inc. | Systems and methods for object rate limiting in multi-core system |
US9367462B2 (en) | 2009-12-29 | 2016-06-14 | Empire Technology Development Llc | Shared memories for energy efficient multi-core processors |
US8295305B2 (en) * | 2009-12-30 | 2012-10-23 | International Business Machines Corporation | Dual scheduling of work from multiple sources to multiple sinks using source and sink attributes to achieve fairness and processing efficiency |
US8391305B2 (en) * | 2009-12-30 | 2013-03-05 | International Business Machines Corporation | Assignment constraint matrix for assigning work from multiple sources to multiple sinks |
US8532129B2 (en) * | 2009-12-30 | 2013-09-10 | International Business Machines Corporation | Assigning work from multiple sources to multiple sinks given assignment constraints |
JP5477112B2 (ja) * | 2010-03-31 | 2014-04-23 | 富士通株式会社 | ネットワークシステムの試験方法 |
US9015441B2 (en) | 2010-04-30 | 2015-04-21 | Microsoft Technology Licensing, Llc | Memory usage scanning |
US8699484B2 (en) | 2010-05-24 | 2014-04-15 | At&T Intellectual Property I, L.P. | Methods and apparatus to route packets in a network |
US9491085B2 (en) * | 2010-05-24 | 2016-11-08 | At&T Intellectual Property I, L.P. | Methods and apparatus to route control packets based on address partitioning |
US8559332B2 (en) * | 2010-05-25 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method for enhancing table lookups with exact and wildcards matching for parallel environments |
US8381004B2 (en) * | 2010-05-26 | 2013-02-19 | International Business Machines Corporation | Optimizing energy consumption and application performance in a multi-core multi-threaded processor system |
JP5382220B2 (ja) * | 2010-06-30 | 2014-01-08 | 富士通株式会社 | データ復元プログラム、データ復元装置およびデータ復元方法 |
US8681973B2 (en) * | 2010-09-15 | 2014-03-25 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for performing homomorphic encryption and decryption on individual operations |
CN102446087B (zh) * | 2010-10-12 | 2014-02-26 | 无锡江南计算技术研究所 | 指令预取方法与预取装置 |
GB2485142A (en) | 2010-10-27 | 2012-05-09 | Nds Ltd | Secure broadcast/multicast of media content |
US8751720B2 (en) | 2010-11-08 | 2014-06-10 | Moon J. Kim | Computationally-networked unified data bus |
KR101153940B1 (ko) * | 2010-11-09 | 2012-06-08 | 아주대학교산학협력단 | 패킷 분류 장치 및 그 방법 |
US8955110B1 (en) | 2011-01-14 | 2015-02-10 | Robert W. Twitchell, Jr. | IP jamming systems utilizing virtual dispersive networking |
US8941659B1 (en) | 2011-01-28 | 2015-01-27 | Rescon Ltd | Medical symptoms tracking apparatus, methods and systems |
US8605732B2 (en) | 2011-02-15 | 2013-12-10 | Extreme Networks, Inc. | Method of providing virtual router functionality |
FR2971872B1 (fr) * | 2011-02-18 | 2014-06-20 | Bull Sas | Circuit integre programmable de cryptographie |
US9158592B2 (en) | 2011-05-02 | 2015-10-13 | Green Hills Software, Inc. | System and method for time variant scheduling of affinity groups comprising processor core and address spaces on a synchronized multicore processor |
CN102779110B (zh) * | 2011-05-11 | 2014-08-06 | 扬智科技股份有限公司 | 基于远端代码调用和数据访问的多核心系统及其控制方法 |
JP2012243105A (ja) * | 2011-05-19 | 2012-12-10 | Buffalo Inc | ファイル管理装置及びその制御プログラム |
US9996403B2 (en) | 2011-09-30 | 2018-06-12 | Oracle International Corporation | System and method for providing message queues for multinode applications in a middleware machine environment |
US9612934B2 (en) * | 2011-10-28 | 2017-04-04 | Cavium, Inc. | Network processor with distributed trace buffers |
US9330002B2 (en) * | 2011-10-31 | 2016-05-03 | Cavium, Inc. | Multi-core interconnect in a network processor |
US8850557B2 (en) | 2012-02-29 | 2014-09-30 | International Business Machines Corporation | Processor and data processing method with non-hierarchical computer security enhancements for context states |
WO2013072773A2 (en) * | 2011-11-18 | 2013-05-23 | Marvell World Trade Ltd. | Data path acceleration using hw virtualization |
WO2013081744A1 (en) * | 2011-11-30 | 2013-06-06 | Axis Semiconductor, Inc. | Herarchical multi-core processor and method of programming for efficient data processing |
US10102124B2 (en) * | 2011-12-28 | 2018-10-16 | Intel Corporation | High bandwidth full-block write commands |
US9069912B2 (en) * | 2012-03-31 | 2015-06-30 | Qualcomm Technologies, Inc. | System and method of distributed initiator-local reorder buffers |
US9311228B2 (en) | 2012-04-04 | 2016-04-12 | International Business Machines Corporation | Power reduction in server memory system |
US9237128B2 (en) * | 2013-03-15 | 2016-01-12 | International Business Machines Corporation | Firewall packet filtering |
US9420008B1 (en) * | 2012-05-10 | 2016-08-16 | Bae Systems Information And Electronic Systems Integration Inc. | Method for repurposing of communications cryptographic capabilities |
US8910179B2 (en) * | 2012-05-15 | 2014-12-09 | Freescale Semiconductor, Inc. | Systems and methods for providing semaphore-based protection of system resources |
US9514069B1 (en) | 2012-05-24 | 2016-12-06 | Schwegman, Lundberg & Woessner, P.A. | Enhanced computer processor and memory management architecture |
WO2014038582A1 (ja) * | 2012-09-04 | 2014-03-13 | 日本電気株式会社 | パケット振分装置、パケット振分方法、およびパケット振分プログラム |
US9164570B2 (en) * | 2012-12-13 | 2015-10-20 | Advanced Micro Devices, Inc. | Dynamic re-configuration for low power in a data processor |
US9361116B2 (en) | 2012-12-28 | 2016-06-07 | Intel Corporation | Apparatus and method for low-latency invocation of accelerators |
US9417873B2 (en) | 2012-12-28 | 2016-08-16 | Intel Corporation | Apparatus and method for a hybrid latency-throughput processor |
US10140129B2 (en) | 2012-12-28 | 2018-11-27 | Intel Corporation | Processing core having shared front end unit |
US10346195B2 (en) | 2012-12-29 | 2019-07-09 | Intel Corporation | Apparatus and method for invocation of a multi threaded accelerator |
US8954992B2 (en) * | 2013-03-15 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Distributed and scaled-out network switch and packet processing |
US9967187B2 (en) | 2013-04-11 | 2018-05-08 | Marvell Israel (M.I.S.L) Ltd. | Exact match lookup with variable key sizes |
JP5803972B2 (ja) | 2013-04-18 | 2015-11-04 | 株式会社デンソー | マルチコアプロセッサ |
KR101499890B1 (ko) * | 2013-05-15 | 2015-03-06 | 주식회사 코스콤 | Low Latency 프레임워크 시스템 |
US9454196B2 (en) | 2013-06-27 | 2016-09-27 | Apple Inc. | Active peak power management of a high performance embedded microprocessor cluster |
CN104302100A (zh) * | 2013-07-18 | 2015-01-21 | 群联电子股份有限公司 | 焊垫结构及应用其的印刷电路板与存储器存储装置 |
JP5742908B2 (ja) * | 2013-10-03 | 2015-07-01 | 富士通株式会社 | マルチコアプロセッサシステム、制御方法および制御プログラム |
CN104572275B (zh) * | 2013-10-23 | 2017-12-29 | 华为技术有限公司 | 一种进程加载方法、装置及系统 |
US9825857B2 (en) * | 2013-11-05 | 2017-11-21 | Cisco Technology, Inc. | Method for increasing Layer-3 longest prefix match scale |
US10515231B2 (en) * | 2013-11-08 | 2019-12-24 | Symcor Inc. | Method of obfuscating relationships between data in database tables |
US10122609B2 (en) | 2013-12-23 | 2018-11-06 | Bae Systems Plc | Data capture |
GB201322883D0 (en) * | 2013-12-23 | 2014-02-12 | Bae Systems Plc | Data capture |
KR20150086718A (ko) * | 2014-01-20 | 2015-07-29 | 삼성전자주식회사 | 메모리를 이용하여 파이프라인이 데이터를 처리하는 방법 및 장치 |
US10078613B1 (en) * | 2014-03-05 | 2018-09-18 | Mellanox Technologies, Ltd. | Computing in parallel processing environments |
US9547331B2 (en) | 2014-04-03 | 2017-01-17 | Qualcomm Incorporated | Apparatus and method to set the speed of a clock |
US10721160B2 (en) | 2014-05-15 | 2020-07-21 | Samsung Electronics Co., Ltd. | Method of distributing data and device supporting the same |
US9413783B1 (en) * | 2014-06-02 | 2016-08-09 | Amazon Technologies, Inc. | Network interface with on-board packet processing |
CN105591914B (zh) * | 2014-10-21 | 2020-07-03 | 中兴通讯股份有限公司 | 一种openflow流表的查表方法和装置 |
US10230824B2 (en) * | 2014-11-17 | 2019-03-12 | Keysight Technologies Singapore (Holdings) Pte. Lte. | Packet classification using memory pointer information |
CN104391821A (zh) * | 2014-11-20 | 2015-03-04 | 天津大学 | 一种多核共享simd协处理器的系统级模型构建方法 |
DE102015200301A1 (de) | 2015-01-13 | 2016-07-14 | Robert Bosch Gmbh | Verfahren zum Klassifizieren eines Datensegments bezüglich dessen Weiterverarbeitung |
US9830187B1 (en) | 2015-06-05 | 2017-11-28 | Apple Inc. | Scheduler and CPU performance controller cooperation |
US10552619B2 (en) * | 2015-07-20 | 2020-02-04 | Intel Corporation | Technologies for secure trusted I/O access control |
CN105468705A (zh) * | 2015-11-18 | 2016-04-06 | 广东南方通信建设有限公司 | 一种移动通信后台数据文件导入方法 |
CN106059792B (zh) * | 2016-05-13 | 2019-03-29 | 北京英诺威尔科技股份有限公司 | 一种低延迟的流量解析处理方法 |
CN113504984A (zh) * | 2016-07-29 | 2021-10-15 | 华为技术有限公司 | 一种任务处理方法以及网络设备 |
US10348506B2 (en) | 2016-09-30 | 2019-07-09 | International Business Machines Corporation | Determination of state of padding operation |
US20180122038A1 (en) * | 2016-10-28 | 2018-05-03 | Qualcomm Incorporated | Multi-layer fetch during composition |
US11392488B2 (en) | 2017-04-07 | 2022-07-19 | Keysight Technologies Singapore (Sales) Pte. Ltd. | Optimizing storage of application data in memory |
JP6390748B1 (ja) * | 2017-04-19 | 2018-09-19 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
US10884811B2 (en) | 2017-06-04 | 2021-01-05 | Apple Inc. | Scheduler for AMP architecture with closed loop performance controller using static and dynamic thread grouping |
US10681607B2 (en) * | 2018-06-22 | 2020-06-09 | Intel Corporation | Receive-side scaling for wireless communication devices |
CN109729021A (zh) * | 2018-12-27 | 2019-05-07 | 北京天融信网络安全技术有限公司 | 一种报文处理方法及电子设备 |
US11488650B2 (en) * | 2020-04-06 | 2022-11-01 | Memryx Incorporated | Memory processing unit architecture |
CN111225021B (zh) * | 2019-11-13 | 2020-11-27 | 北京连山时代科技有限公司 | 一种基于文件破碎与重组的多链路并发传输方法和系统 |
US11210248B2 (en) | 2019-12-20 | 2021-12-28 | Advanced Micro Devices, Inc. | System direct memory access engine offload |
JP7359299B2 (ja) | 2020-05-18 | 2023-10-11 | 日本電信電話株式会社 | パケット識別装置、パケット識別方法およびパケット識別プログラム |
US11303609B2 (en) | 2020-07-02 | 2022-04-12 | Vmware, Inc. | Pre-allocating port groups for a very large scale NAT engine |
US11316824B1 (en) | 2020-11-30 | 2022-04-26 | Vmware, Inc. | Hybrid and efficient method to sync NAT sessions |
EP4095704B1 (en) * | 2021-05-26 | 2023-08-23 | STMicroelectronics Application GmbH | Processing system, related integrated circuit, device and method |
Family Cites Families (68)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3736569A (en) | 1971-10-13 | 1973-05-29 | Ibm | System for controlling power consumption in a computer |
US4096571A (en) * | 1976-09-08 | 1978-06-20 | Codex Corporation | System for resolving memory access conflicts among processors and minimizing processor waiting times for access to memory by comparing waiting times and breaking ties by an arbitrary priority ranking |
US4777595A (en) * | 1982-05-07 | 1988-10-11 | Digital Equipment Corporation | Apparatus for transferring blocks of information from one node to a second node in a computer network |
US4754394A (en) * | 1984-10-24 | 1988-06-28 | International Business Machines Corporation | Multiprocessing system having dynamically allocated local/global storage and including interleaving transformation circuit for transforming real addresses to corresponding absolute address of the storage |
US5226171A (en) * | 1984-12-03 | 1993-07-06 | Cray Research, Inc. | Parallel vector processing system for individual and broadcast distribution of operands and control information |
US4744078A (en) * | 1985-05-13 | 1988-05-10 | Gould Inc. | Multiple path multiplexed host to network data communication system |
JPS63163912A (ja) * | 1986-12-26 | 1988-07-07 | Toshiba Corp | マイクロコンピユ−タシステム |
WO1992010032A1 (en) * | 1990-11-26 | 1992-06-11 | Adaptive Solutions, Inc. | Temperature-sensing control system and method for integrated circuits |
US5422654A (en) * | 1991-10-17 | 1995-06-06 | Chips And Technologies, Inc. | Data stream converter with increased grey levels |
US5583561A (en) * | 1994-06-07 | 1996-12-10 | Unisys Corporation | Multi-cast digital video data server using synchronization groups |
DE4421640C1 (de) * | 1994-06-21 | 1995-08-03 | Siemens Ag | Hash-Adressierungs- und Speicherverfahren zum Ablegen und Wiedergewinnen von Daten in einem adressierbaren Speicher |
US5671377A (en) * | 1994-07-19 | 1997-09-23 | David Sarnoff Research Center, Inc. | System for supplying streams of data to multiple users by distributing a data stream to multiple processors and enabling each user to manipulate supplied data stream |
US5838603A (en) * | 1994-10-11 | 1998-11-17 | Matsushita Electric Industrial Co., Ltd. | Semiconductor device and method for fabricating the same, memory core chip and memory peripheral circuit chip |
US5878217A (en) * | 1994-11-21 | 1999-03-02 | Cirrus Logic, Inc. | Network controller for switching into DMA mode based on anticipated memory overflow and out of DMA mode when the host processor is available |
JP3132749B2 (ja) | 1994-12-05 | 2001-02-05 | インターナショナル・ビジネス・マシーンズ・コーポレ−ション | マルチプロセッサ・データ処理システム |
JPH096633A (ja) | 1995-06-07 | 1997-01-10 | Internatl Business Mach Corp <Ibm> | データ処理システムに於ける高性能多重論理経路の動作用の方法とシステム |
EP0777182B1 (en) | 1995-11-28 | 2001-07-04 | Bull S.A. | A memory access limiter for random access dynamic memories |
US5923654A (en) * | 1996-04-25 | 1999-07-13 | Compaq Computer Corp. | Network switch that includes a plurality of shared packet buffers |
US5764896A (en) * | 1996-06-28 | 1998-06-09 | Compaq Computer Corporation | Method and system for reducing transfer latency when transferring data from a network to a computer system |
US5802576A (en) * | 1996-07-01 | 1998-09-01 | Sun Microsystems, Inc. | Speculative cache snoop during DMA line update |
US5778243A (en) * | 1996-07-03 | 1998-07-07 | International Business Machines Corporation | Multi-threaded cell for a memory |
DE19630861A1 (de) * | 1996-07-31 | 1998-02-05 | Philips Patentverwaltung | Datenverarbeitungseinrichtung mit einem Mikroprozessor und einer zusätzlichen Recheneinheit |
US5828753A (en) * | 1996-10-25 | 1998-10-27 | Intel Corporation | Circuit and method for ensuring interconnect security within a multi-chip integrated circuit package |
US5895487A (en) | 1996-11-13 | 1999-04-20 | International Business Machines Corporation | Integrated processing and L2 DRAM cache |
US6088788A (en) | 1996-12-27 | 2000-07-11 | International Business Machines Corporation | Background completion of instruction and associated fetch request in a multithread processor |
US6098110A (en) * | 1996-12-30 | 2000-08-01 | Compaq Computer Corporation | Network switch with a multiple bus structure and a bridge interface for transferring network data between different buses |
US5974496A (en) * | 1997-01-02 | 1999-10-26 | Ncr Corporation | System for transferring diverse data objects between a mass storage device and a network via an internal bus on a network card |
US6052751A (en) * | 1997-02-14 | 2000-04-18 | Advanced Micro Devices, I Nc. | Method and apparatus for changing the number of access slots into a memory |
US6151681A (en) * | 1997-06-25 | 2000-11-21 | Texas Instruments Incorporated | Dynamic device power management |
US5892966A (en) * | 1997-06-27 | 1999-04-06 | Sun Microsystems, Inc. | Processor complex for executing multimedia functions |
US6094435A (en) * | 1997-06-30 | 2000-07-25 | Sun Microsystems, Inc. | System and method for a quality of service in a multi-layer network element |
US6567839B1 (en) * | 1997-10-23 | 2003-05-20 | International Business Machines Corporation | Thread switch control in a multithreaded processor system |
US6272520B1 (en) | 1997-12-31 | 2001-08-07 | Intel Corporation | Method for detecting thread switch events |
FR2775369B1 (fr) * | 1998-02-26 | 2001-08-03 | Sgs Thomson Microelectronics | Procede de mise en oeuvre d'une multiplication modulaire specifique relative a la methode de montgomery |
US6151685A (en) * | 1998-05-15 | 2000-11-21 | International Business Machines Corporation | System and method for recovering a segment directory for a log structured array |
US6216205B1 (en) * | 1998-05-21 | 2001-04-10 | Integrated Device Technology, Inc. | Methods of controlling memory buffers having tri-port cache arrays therein |
US6021076A (en) * | 1998-07-16 | 2000-02-01 | Rambus Inc | Apparatus and method for thermal regulation in memory subsystems |
US6320964B1 (en) * | 1998-08-26 | 2001-11-20 | Intel Corporation | Cryptographic accelerator |
JP3374820B2 (ja) * | 1999-01-08 | 2003-02-10 | セイコーエプソン株式会社 | 出力バッファ回路 |
US6453360B1 (en) * | 1999-03-01 | 2002-09-17 | Sun Microsystems, Inc. | High performance network interface |
US7243133B2 (en) * | 1999-03-30 | 2007-07-10 | Sedna Patent Services, Llc | Method and apparatus for reducing latency in an interactive information distribution system |
US6341347B1 (en) * | 1999-05-11 | 2002-01-22 | Sun Microsystems, Inc. | Thread switch logic in a multiple-thread processor |
US6938147B1 (en) * | 1999-05-11 | 2005-08-30 | Sun Microsystems, Inc. | Processor with multiple-thread, vertically-threaded pipeline |
JP2001043084A (ja) * | 1999-05-24 | 2001-02-16 | Toshiba Microelectronics Corp | プロセッサ装置 |
US6334180B1 (en) * | 1999-06-27 | 2001-12-25 | Sun Microsystems, Inc. | Processor coupled by visible register set to modular coprocessor including integrated multimedia unit |
US6751698B1 (en) * | 1999-09-29 | 2004-06-15 | Silicon Graphics, Inc. | Multiprocessor node controller circuit and method |
US6434662B1 (en) * | 1999-11-02 | 2002-08-13 | Juniper Networks, Inc. | System and method for searching an associative memory utilizing first and second hash functions |
US6950434B1 (en) * | 1999-12-07 | 2005-09-27 | Advanced Micro Devices, Inc. | Arrangement for searching packet policies using multi-key hash searches in a network switch |
TW536672B (en) * | 2000-01-12 | 2003-06-11 | Hitachi Ltd | IC card and microcomputer |
PL354956A1 (en) * | 2000-03-31 | 2004-03-22 | General Dynamics Decision Systems, Inc. | Scalable cryptographic engine |
AU4870801A (en) | 2000-04-11 | 2001-10-23 | P-Cube Ltd. | A method and apparatus for wire-speed application layer classification of data packets |
JP2001339383A (ja) * | 2000-05-29 | 2001-12-07 | Hitachi Ltd | 認証通信用半導体装置 |
US6845099B2 (en) * | 2000-06-14 | 2005-01-18 | Mindspeed Technologies, Inc. | Communication packet processor with a look-up engine and content-addressable memory for modifying selectors to retrieve context information for a core processor |
US6754662B1 (en) * | 2000-08-01 | 2004-06-22 | Nortel Networks Limited | Method and apparatus for fast and consistent packet classification via efficient hash-caching |
US6567900B1 (en) * | 2000-08-31 | 2003-05-20 | Hewlett-Packard Development Company, L.P. | Efficient address interleaving with simultaneous multiple locality options |
US6785783B2 (en) * | 2000-11-30 | 2004-08-31 | International Business Machines Corporation | NUMA system with redundant main memory architecture |
US6963977B2 (en) * | 2000-12-19 | 2005-11-08 | International Business Machines Corporation | Circuits and methods for modular exponentiation |
US20020083344A1 (en) * | 2000-12-21 | 2002-06-27 | Vairavan Kannan P. | Integrated intelligent inter/intra networking device |
US6463510B1 (en) * | 2000-12-29 | 2002-10-08 | Compaq Information Technologies Group, L.P. | Apparatus for identifying memory requests originating on remote I/O devices as noncacheable |
US6980550B1 (en) * | 2001-01-16 | 2005-12-27 | Extreme Networks, Inc | Method and apparatus for server load balancing |
US6968453B2 (en) * | 2001-01-17 | 2005-11-22 | International Business Machines Corporation | Secure integrated device with secure, dynamically-selectable capabilities |
US20020184487A1 (en) * | 2001-03-23 | 2002-12-05 | Badamo Michael J. | System and method for distributing security processing functions for network applications |
US6874014B2 (en) * | 2001-05-29 | 2005-03-29 | Hewlett-Packard Development Company, L.P. | Chip multiprocessor with multiple operating systems |
US7114011B2 (en) * | 2001-08-30 | 2006-09-26 | Intel Corporation | Multiprocessor-scalable streaming data server arrangement |
US6904040B2 (en) * | 2001-10-05 | 2005-06-07 | International Business Machines Corporaiton | Packet preprocessing interface for multiprocessor network handler |
US7283538B2 (en) * | 2001-10-12 | 2007-10-16 | Vormetric, Inc. | Load balanced scalable network gateway processor architecture |
US7145914B2 (en) * | 2001-12-31 | 2006-12-05 | Maxxan Systems, Incorporated | System and method for controlling data paths of a network processor subsystem |
US7036040B2 (en) * | 2002-11-26 | 2006-04-25 | Microsoft Corporation | Reliability of diskless network-bootable computers using non-volatile memory cache |
-
2002
- 2002-10-16 US US10/272,783 patent/US7248585B2/en active Active
- 2002-10-16 US US10/272,786 patent/US7209996B2/en active Active
- 2002-10-16 US US10/272,784 patent/US6901491B2/en not_active Expired - Lifetime
- 2002-10-17 US US10/273,829 patent/US20030105907A1/en not_active Abandoned
- 2002-10-18 DE DE60236309T patent/DE60236309D1/de not_active Expired - Lifetime
- 2002-10-18 JP JP2003538872A patent/JP3768993B2/ja not_active Expired - Lifetime
- 2002-10-18 WO PCT/US2002/033323 patent/WO2003036450A2/en active Application Filing
- 2002-10-18 KR KR10-2004-7005998A patent/KR20040083464A/ko not_active Application Discontinuation
- 2002-10-18 US US10/273,806 patent/US6938119B2/en not_active Expired - Lifetime
- 2002-10-18 EP EP02789223A patent/EP1438667B1/en not_active Expired - Lifetime
- 2002-10-18 KR KR10-2004-7005999A patent/KR20050013191A/ko not_active Application Discontinuation
- 2002-10-18 EP EP02780481A patent/EP1442355B1/en not_active Expired - Lifetime
- 2002-10-18 US US10/273,718 patent/US20030084309A1/en not_active Abandoned
- 2002-10-18 KR KR10-2004-7005902A patent/KR20040091608A/ko not_active Application Discontinuation
- 2002-10-18 JP JP2003538907A patent/JP3926795B2/ja not_active Expired - Lifetime
- 2002-10-18 JP JP2003538929A patent/JP3789454B2/ja not_active Expired - Lifetime
- 2002-10-18 EP EP02795530A patent/EP1442365A2/en not_active Ceased
- 2002-10-18 WO PCT/US2002/033441 patent/WO2003036485A2/en active IP Right Grant
- 2002-10-18 WO PCT/US2002/033321 patent/WO2003036508A2/en not_active Application Discontinuation
- 2002-10-18 DE DE60211730T patent/DE60211730T2/de not_active Expired - Fee Related
- 2002-10-21 KR KR10-2004-7005904A patent/KR20040080431A/ko not_active Application Discontinuation
- 2002-10-21 DE DE60239227T patent/DE60239227D1/de not_active Expired - Lifetime
- 2002-10-21 AU AU2002337940A patent/AU2002337940A1/en not_active Abandoned
- 2002-10-21 EP EP02770647A patent/EP1466448B1/en not_active Expired - Lifetime
- 2002-10-21 CN CNB028259432A patent/CN1286019C/zh not_active Expired - Fee Related
- 2002-10-21 KR KR10-2004-7005903A patent/KR20040084893A/ko not_active Application Discontinuation
- 2002-10-21 WO PCT/US2002/033762 patent/WO2003036482A2/en active Application Filing
- 2002-10-21 EP EP02773845A patent/EP1438818B1/en not_active Expired - Lifetime
- 2002-10-21 DE DE60237222T patent/DE60237222D1/de not_active Expired - Lifetime
- 2002-10-21 WO PCT/US2002/033766 patent/WO2003036902A2/en active Application Filing
- 2002-10-21 JP JP2003539266A patent/JP2005507212A/ja active Pending
- 2002-10-21 KR KR10-2004-7005905A patent/KR20050012220A/ko not_active Application Discontinuation
- 2002-10-21 EP EP02770646A patent/EP1442374B1/en not_active Expired - Lifetime
- 2002-10-21 JP JP2003539249A patent/JP2005508032A/ja active Pending
- 2002-10-21 AT AT02770646T patent/ATE518192T1/de not_active IP Right Cessation
- 2002-10-21 AU AU2002335878A patent/AU2002335878A1/en not_active Abandoned
- 2002-10-21 JP JP2003538904A patent/JP4472339B2/ja not_active Expired - Lifetime
- 2002-10-21 WO PCT/US2002/033763 patent/WO2003036884A2/en active Search and Examination
- 2002-10-22 TW TW091124449A patent/TWI240163B/zh not_active IP Right Cessation
-
2007
- 2007-03-14 US US11/686,317 patent/US7865667B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100899526B1 (ko) * | 2007-09-07 | 2009-05-27 | 삼성네트웍스 주식회사 | 다중 프로세서 기반의 패킷 처리 장치 및 방법 |
KR101448951B1 (ko) * | 2013-02-27 | 2014-10-13 | 주식회사 시큐아이 | 패킷 처리 장치 및 방법 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1438818B1 (en) | Method and apparatus for a data packet classifier using a two-step hash matching process | |
US7558925B2 (en) | Selective replication of data structures | |
US9154442B2 (en) | Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors | |
US6771646B1 (en) | Associative cache structure for lookups and updates of flow records in a network monitor | |
US8867395B2 (en) | Accelerating data packet parsing | |
US8908693B2 (en) | Flow key lookup involving multiple simultaneous cam operations to identify hash values in a hash bucket | |
US8301788B2 (en) | Deterministic finite automata (DFA) instruction | |
US8345685B2 (en) | Method and device for processing data packets | |
US9112752B2 (en) | Network interface and protocol | |
US8392590B2 (en) | Deterministic finite automata (DFA) processing | |
US6804240B1 (en) | Fast and adaptive packet processing device and method using digest information of input packet | |
US7096277B2 (en) | Distributed lookup based on packet contents | |
US9996498B2 (en) | Network memory | |
US8599859B2 (en) | Iterative parsing and classification | |
CN112558948A (zh) | 一种海量流量下报文识别的方法和装置 | |
US7653070B2 (en) | Method and system for supporting efficient and cache-friendly TCP session lookup operations based on canonicalization tags | |
US11720492B1 (en) | Algorithmic TCAM with compressed key encoding | |
US20050169169A1 (en) | Determination of an endpoint association from a transport address | |
US20090285207A1 (en) | System and method for routing packets using tags | |
Zhang et al. | Loom: Switch-based cloud load balancer with compressed states | |
US7340570B2 (en) | Engine for comparing a key with rules having high and low values defining a range | |
CN1965542A (zh) | 处理分组标头 | |
US7219211B1 (en) | Precompute logic for software packet processing | |
US20230060132A1 (en) | Coordinating data packet processing between kernel space and user space | |
Chang et al. | Packet processing with blocking for bursty traffic on multi-thread network processor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid |