KR20220164458A

Method and apparatus for flexible and efficient analytics in a network switch

Abstract

Embodiments of the present invention relate to a centralized network analysis device, which efficiently uses on-chip memory to flexibly perform counting, traffic rate monitoring, and flow sampling. The device includes a pool of memory shared by all cores and the packet processing stages of each core. Counting, monitoring and sampling are all defined through software allowing greater flexibility and efficient analysis within the device. In some embodiments, the device is a network switch.

KR20220164458A, drawing sheet 1
Sheet 1 of 7

Term

16.2 yearsto projected expiry

Projected expiry 24 November 2042, counted from filing; an application has no term until it is granted.

  1. Priority
  2. Filed
  3. Published
  4. Today
  5. Projected expiry

28 claims: 3 independent, 25 dependent

  1. 1
    분석 뱅크(analytics bank)로서, 상기 분석 뱅크는, 카운터 프로세싱 유닛(counter processing unit), 폴리싱 프로세싱 유닛(policing processing unit), 및 샘플링 프로세싱 유닛(sampling processing unit)을 포함하는 적어도 세 개의 프로세싱 유닛들과;그리고 메모리 바이패스 모듈(memory bypass module)을 포함하고, 상기 폴리싱 프로세싱 유닛은, 제 1 컬러, 제 2 컬러, 및 제 3 컬러로부터 선택된 컬러로서 요청의 하나 이상의 데이터 패킷(data packet)들을 표시(label)할 수 있고, 그리고 상기 제 1 컬러, 상기 제 2 컬러, 및 상기 제 3 컬러 각각에 대한 상기 패킷들의 바이트 카운트(byte count)들을 계산하기 위해 상기 요청을 인접하는 분석 뱅크로 푸시(push)할 수 있으며, 상기 메모리 바이패스 모듈은 메모리 판독 레이턴시(memory read latency)를 감추기 위한 것이고, 상기 메모리 바이패스 모듈의 출력 데이터는 상기 카운터 프로세싱 유닛, 상기 폴리싱 프로세싱 유닛, 또는 상기 샘플링 프로세싱 유닛으로 지향되는 것을 특징으로 하는 분석 뱅크.
  2. 2
    제1항에 있어서, 상기 분석 뱅크가 카운터 모드(counter mode)에 있을 때, 상기 카운터 프로세싱 유닛은 네트워크 액티비티 통계 분석(network activity statistical analysis)을 위해 제곱의 합, 합산 및 이벤트 카운트를 계산하도록 구성되는 것을 특징으로 하는 분석 뱅크.
  3. 3
    제2항에 있어서, 상기 카운터 프로세싱 유닛은 네트워크 액티비티들의 표준 편차를 계산하도록 구성되는 것을 특징으로 하는 분석 뱅크.
  4. 4
    제2항에 있어서, 상기 제곱의 합을 계산하는 것은, 각각의 인입 요청 각각에 대해 1만큼 events 필드의 값을 증가시키는 것을 포함하고, 상기 합산을 계산하는 것은, 상기 인입 요청의 상기 값만큼 sum 필드의 값을 증가시키는 것을 포함하고, 그리고 상기 이벤트 카운트를 계산하는 것은, 상기 인입 요청의 상기 값의 제곱만큼 sumOfSquare 필드의 값을 증가시키는 것을 포함하는 것을 특징으로 하는 분석 뱅크.
  5. 5
    제3항에 있어서, 상기 카운터 프로세싱 유닛은, sumOfSquare 의 평균으로부터 sum 의 평균의 제곱을 감산함으로써 네트워크 액티비티들의 상기 표준 편차를 계산하는 것을 특징으로 하는 분석 뱅크.
  6. 6
    제1항에 있어서, 상기 분석 뱅크 및 상기 인접하는 분석 뱅크는 상기 상호접속부를 통해 상호접속되는 것을 특징으로 하는 분석 뱅크.
  7. 7
    제1항에 있어서, 상기 분석 뱅크 및 상기 인접하는 분석 뱅크는 동질(homogenous)인 것을 특징으로 하는 분석 뱅크.
  8. 8
    제1항에 있어서, 상기 분석 뱅크는 또한, 뱅크 메모리를 포함하고, 결과 응답이 상기 분석 뱅크를 나오지 않고, 카운터 값들은 상기 뱅크 메모리 내에 저장되는 것을 특징으로 하는 분석 뱅크.
  9. 9
    제1항에 있어서, 상기 분석 뱅크가 폴리싱 모드(policing mode)에 있을 때, 상기 폴리싱 프로세싱 유닛은 2-레이트 3-컬러 레이트 모니터링 기능(two-rate three color rate monitoring function)을 수행하는 것을 특징으로 하는 분석 뱅크.
  10. 10
    제1항에 있어서, 상기 분석 뱅크의 모든 열(row)은 상기 폴리싱 프로세싱 유닛의 하나의 폴리서(policer)를 갖고, 상기 폴리서는 구성 및 내부 상태를 갖는 것을 특징으로 하는 분석 뱅크.
  11. 11
    제1항에 있어서, 상기 폴리싱 프로세싱 유닛은 패킷을 발신(originate)한 복수의 클라이언트 인터페이스들 중 하나로 상기 패킷의 컬러를 리턴(return)하는 것을 특징으로 하는 분석 뱅크.
  12. 12
    제1항에 있어서, 상기 분석 뱅크가 폴리싱 모드에서 구성되고, 상기 인접하는 분석 뱅크가 카운팅 모드(counting mode)에서 구성될 때, 상기 폴리싱 프로세싱 유닛은, 컬러 각각의 패킷에 대한 바이트 카운트를 계산하기 위해 상기 인접하는 분석 뱅크로 카운터 요청(counter request)을 전송하는 것을 특징으로 하는 분석 뱅크.
  13. 13
    제1항에 있어서, 상기 분석 뱅크가 샘플링 모드(sampling mode)에 있을 때, 상기 샘플링 프로세싱 유닛은 N/M 랜덤 샘플링을 지원하고, N번의 연속하는 이벤트들은 매 M번의 이벤트 인터벌(interval)로 샘플링되는 것을 특징으로 하는 분석 뱅크.
  14. 14
    제1항에 있어서, 상기 적어도 세 개의 프로세싱 유닛들은, 요청 각각에 대해 발신 클라이언트 인터페이스로 응답을 리턴하는 것을 특징으로 하는 분석 뱅크.
  15. 15
    분석 뱅크 쌍(analytics bank pair)으로서, 상기 분석 뱅크 쌍은, 제 1 분석 뱅크와;그리고 공통 메모리 풀(common memory pool) 내에서 상기 제 1 분석 뱅크에 바로 인접하여 있는 제 2 분석 뱅크를 포함하고, 상기 제 1 분석 뱅크 및 상기 제 2 분석 뱅크 각각은, 카운터 프로세싱 유닛, 폴리싱 프로세싱 유닛, 및 샘플링 프로세싱 유닛을 포함하고, 상기 제 1 분석 뱅크가 폴리싱 모드에서 구성되고 상기 제 2 분석 뱅크가 카운팅 모드에서 구성될 때, 상기 제 1 분석 뱅크의 상기 폴리싱 프로세싱 유닛은, 제 1 컬러, 제 2 컬러, 및 제 3 컬러로부터 선택된 컬러로서 요청의 하나 이상의 데이터 패킷들을 표시하고, 그리고 상기 제 1 컬러, 상기 제 2 컬러, 및 상기 제 3 컬러 각각에 대한 상기 패킷들의 바이트 카운트들을 계산하기 위해 상기 데이터 패킷들을 포함하는 적어도 하나의 카운터 요청을 상기 제 2 분석 뱅크의 상기 카운터 프로세싱 유닛으로 전송하는 것을 특징으로 하는 분석 뱅크 쌍.
  16. 16
    제15항에 있어서, 상기 제 2 분석 뱅크가 카운터 모드에 있을 때, 상기 카운터 프로세싱 유닛은 네트워크 액티비티 통계 분석을 위해 제곱의 합, 합산 및 이벤트 카운트를 계산하도록 구성되는 것을 특징으로 하는 분석 뱅크 쌍.
  17. 17
    제16항에 있어서, 상기 제 2 분석 뱅크의 상기 카운터 프로세싱 유닛은 네트워크 액티비티들의 표준 편차를 계산하도록 구성되는 것을 특징으로 하는 분석 뱅크 쌍.
  18. 18
    제16항에 있어서, 상기 제곱의 합을 계산하는 것은, 각각의 인입 요청 각각에 대해 1만큼 events 필드의 값을 증가시키는 것을 포함하고, 상기 합산을 계산하는 것은, 상기 인입 요청의 상기 값만큼 sum 필드의 값을 증가시키는 것을 포함하고, 그리고 상기 이벤트 카운트를 계산하는 것은, 상기 인입 요청의 상기 값의 제곱만큼 sumOfSquare 필드의 값을 증가시키는 것을 포함하는 것을 특징으로 하는 분석 뱅크 쌍.
  19. 19
    제17항에 있어서, 상기 제 2 분석 뱅크의 상기 카운터 프로세싱 유닛은, sumOfSquare 의 평균으로부터 sum 의 평균의 제곱을 감산함으로써 네트워크 액티비티들의 상기 표준 편차를 계산하는 것을 특징으로 하는 분석 뱅크 쌍.
  20. 20
    제15항에 있어서, 상기 제 1 분석 뱅크 및 상기 제 2 분석 뱅크는 상기 상호접속부를 통해 상호접속되는 것을 특징으로 하는 분석 뱅크 쌍.
  21. 21
    제15항에 있어서, 상기 제 1 분석 뱅크 및 상기 제 2 분석 뱅크는 동질인 것을 특징으로 하는 분석 뱅크 쌍.
  22. 22
    제15항에 있어서, 상기 제 1 분석 뱅크 및 상기 제 2 분석 뱅크 각각은 또한, 뱅크 메모리를 포함하고, 결과 응답이 상기 제 1 분석 뱅크를 나오지 않고, 카운터 값들은 상기 제 1 분석 뱅크의 상기 뱅크 메모리 내에 저장되는 것을 특징으로 하는 분석 뱅크 쌍.
  23. 23
    제15항에 있어서, 상기 제 1 분석 뱅크가 폴리싱 모드에 있을 때, 상기 제 1 분석 뱅크의 상기 폴리싱 프로세싱 유닛은 2-레이트 3-컬러 레이트 모니터링 기능을 수행하는 것을 특징으로 하는 분석 뱅크 쌍.
  24. 24
    제15항에 있어서, 상기 제 1 분석 뱅크의 모든 열은 상기 제 1 분석 뱅크의 상기 폴리싱 프로세싱 유닛의 하나의 폴리서를 갖고, 상기 폴리서는 구성 및 내부 상태를 갖는 것을 특징으로 하는 분석 뱅크 쌍.
  25. 25
    제15항에 있어서, 상기 제 1 분석 뱅크의 상기 폴리싱 프로세싱 유닛은 패킷을 발신한 복수의 클라이언트 인터페이스들 중 하나로 상기 패킷의 컬러를 리턴하는 것을 특징으로 하는 분석 뱅크 쌍.
  26. 26
    제15항에 있어서, 상기 제 1 분석 뱅크가 샘플링 모드에 있을 때, 상기 제 1 분석 뱅크의 상기 샘플링 프로세싱 유닛은 N/M 랜덤 샘플링을 지원하고, N번의 연속하는 이벤트들은 매 M번의 이벤트 인터벌로 샘플링되는 것을 특징으로 하는 분석 뱅크 쌍.
  27. 27
    제15항에 있어서, 상기 적어도 세 개의 프로세싱 유닛들은, 요청 각각에 대해 발신 클라이언트 인터페이스로 응답을 리턴하는 것을 특징으로 하는 분석 뱅크 쌍.
  28. 28
    분석 뱅크로서, 상기 분석 뱅크는, 카운터 프로세싱 유닛, 폴리싱 프로세싱 유닛, 및 샘플링 프로세싱 유닛으로 구성되는 그룹으로부터 선택된 적어도 두 개의 프로세싱 유닛들과;그리고 메모리 판독 레이턴시를 감추기 위한 메모리 바이패스 모듈을 포함하고, 상기 메모리 바이패스 모듈의 출력 데이터는 상기 카운터 프로세싱 유닛, 상기 폴리싱 프로세싱 유닛, 또는 상기 샘플링 프로세싱 유닛으로 지향되고, 상기 분석 뱅크는, 상기 메모리 바이패스 모듈의 상기 출력 데이터가 지향된 곳으로의 스위칭에 의해, 상기 카운터 프로세싱 유닛과의 카운팅, 상기 폴리싱 프로세싱 유닛과의 폴리싱, 및 상기 샘플링 프로세싱 유닛과의 샘플링 중 하나로부터 상기 카운터 프로세싱 유닛과의 상기 카운팅, 상기 폴리싱 프로세싱 유닛과의 상기 폴리싱, 및 상기 샘플링 프로세싱 유닛과의 상기 샘플링 중 다른 하나로 스위칭될 수 있는 것을 특징으로 하는 분석 뱅크.
Independent claims28