KR20100011881A - 데이터 패킷을 위한 데이터 필터링 방법 및 시스템 - Google Patents

데이터 패킷을 위한 데이터 필터링 방법 및 시스템 Download PDF

Info

Publication number
KR20100011881A
KR20100011881A KR1020090020359A KR20090020359A KR20100011881A KR 20100011881 A KR20100011881 A KR 20100011881A KR 1020090020359 A KR1020090020359 A KR 1020090020359A KR 20090020359 A KR20090020359 A KR 20090020359A KR 20100011881 A KR20100011881 A KR 20100011881A
Authority
KR
South Korea
Prior art keywords
mask
bits
filter
value
filters
Prior art date
Application number
KR1020090020359A
Other languages
English (en)
Inventor
시앙펭 리
빅터 리앙
페이 지에
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20100011881A publication Critical patent/KR20100011881A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/10Adaptations for transmission by electrical cable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2801Broadband local area networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/418External card to be used in combination with the client device, e.g. for conditional access
    • H04N21/4181External card to be used in combination with the client device, e.g. for conditional access for conditional access
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4627Rights management associated to the content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6118Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6168Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving cable transmission, e.g. using a cable modem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/12Systems in which the television signal is transmitted via one channel or a plurality of parallel channels, the bandwidth of each channel being less than the bandwidth of the television signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

데이터 패킷 필터링 방법 및 시스템이 제공된다. 일 실시예는 각각의 필터가 비트 마스크 및 대응되는 비트 값을 갖는, 필터들의 집합을 이용하여 데이터 패킷을 필터링하는 단계; 상기 필터들을 비트 마스크 값 차이에 기초하여 서로 다른 그룹들로 분류함으로써 대응되는 비트 값들을 갖는 비트들로 구성된 신규 마스크를 생성하는 단계; 인입 패킷에 대한 필터 분류를 선택하기 위해 상기 신규 마스크를 상기 인입 패킷에 적용하는 단계; 및 상기 선택된 분류에 대한 상기 필터들의 그룹을 상기 인입 패킷에 적용하여 상기 인입 패킷을 필터링하는 단계를 포함한다.

Description

데이터 패킷을 위한 데이터 필터링 방법 및 시스템{Method and system for data filtering for data packets}
본 발명은 패킷 필터링에 관한 것으로, 상세하게는 케이블 업계에서의 제한 접근(Conditional Access) 메시지들을 위한 데이터 필터링에 관한 것이다.
데이터 필더링은 오픈케이블(OpenCable) 셋톱박스(set-top-box: STB)와 같은 케이블 서비스 제공자 업계의 응용들에서 데이터그램 스트림에 대해 수행된다. 오픈케이블은 케이블랩(CableLab)이 주도하여 관리하며, 케이블 업계가 대화형(interactive) 서비스들을 전개하도록 돕기 위한 목적을 갖는다. 그러한 응용들에서, 케이블 헤드엔드(Cable Headend)는 DOCSIS 셋톱 게이트웨이(DOCSIS Set-top Gateway: DSG) 터널 내에서 계속적으로 많은 양의 네트워크 트래픽을 셋톱 터미널에게 전송한다. 즉, 케이블 헤드엔드는 셋톱 터미널로 향하는 아웃오브밴드 메시지들을 운반하고, 케이블 헤드엔드의 DSG가 생성한 브로드캐스트 IP 데이터그램을 전송한다.
따라서, 제한 접근 소프트웨어는 제한 접근 클라이언트가 명세한 데이터 패턴을 갖는 자격 관리(Entitlement) 데이터 패킷을 필터링하고, 그 데이터 패킷을 클라이언트에게 포워드하는 것이 요구된다. 그러나, 종래 제한 접근 소프트웨어는 인입 패킷의 데이터 포맷이나, 인입 패킷 내의 마스크/값 패턴의 포맷을 이해할 수 없다. 따라서, 종래 제한 접근 소프트웨어는 인입 패킷을 구별하지 못하고, 비효율적으로 처리한다. DSG 터널로부터의 인입 데이터 패킷을 효과적이고 효율적으로 조사하고 대응되는 패킷을 탐색하는, 제한 접근 소프트웨어에 대한 필요성이 제기되어 왔다.
본 발명은 데이터 패킷을 필터링하는 방법 및 시스템을 제공한다.
본 발명의 일 실시예에 따르면 각각의 필터가 비트 마스크 및 대응되는 비트 값을 갖는, 필터들의 집합을 이용하여 데이터 패킷을 필터링하는 단계; 상기 필터들을 비트 마스크 값 차이에 기초하여 서로 다른 그룹들로 분류함으로써 대응되는 비트 값들을 갖는 비트들로 구성된 신규 마스크를 생성하는 단계; 인입 패킷에 대한 필터 분류를 선택하기 위해 상기 신규 마스크를 상기 인입 패킷에 적용하는 단계; 및 상기 선택된 분류에 대한 상기 필터들의 그룹을 상기 인입 패킷에 적용하여 상기 인입 패킷을 필터링하는 단계를 포함한다.
또한, 본 발명의 일 실시예에 따르면 상기 필터들을 비트 마스크 값 차이에 기초하여 서로 다른 그룹들로 분류하는 단계는 각각의 필터 쌍에 대해 다른 값을 갖는 오버랩하는 마스크 비트들을 검출하는 단계를 더 포함한다. 상기 신규 마스크를 생성하는 단계는 상기 검출된 다른 값을 갖는 오버랩하는 마스크 비트들에 기초하여, 모든 필터 쌍 간의 차이를 값으로 나타내는 신규 마스크를 생성하는 단계를 더 포함한다. 상기 신규 마스크를 상기 인입 패킷에 적용하는 단계는 마스크 값을 생성하기 위해 상기 신규 마스크를 상기 인입 패킷에 적용하고 상기 마스크 값에 기초하여 상기 필터들의 그룹 중 하나를 선택하는 단계를 더 포함한다. 상기 인입 패킷을 필터링하는 단계는 상기 인입 패킷에 상기 선택된 필터들의 그룹을 적용하는 단계를 더 포함한다.
이하, 발명의 상세한 설명, 첨부된 청구항 및 도면을 참조하여 본 발명의 특 징 및 이점을 기술한다.
본 발명은 DSG 터널로부터의 데이터 패킷을 필터링하고 대응하는 패킷을 검색하는 방법 및 시스템을 제공한다. 본 발명의 일실시예는 DOCSIS 셋톱 게이트웨이(DOCSIS Set-top Gateway: DSG) 터널로부터의 데이터 패킷 내의 제한 접근 자격 관리(Conditional Access Entitlement) 메시지에 대한 데이터 필터링을 포함한다. 복수 개의 필터들은 런 타임 시 데이터 필터링에 적용되는 필터 수를 줄이기 위해 서로 다른 그룹들로 분류된다. 구체적으로, 필터 구성이 분석되고, 대응되는 비트 값들을 갖는 비트들로 구성된, 단일 신규 마스크를 생성하기 위해 필터들이 서로 다른 그룹들로 분류된다. 런 타임 시, 단일 신규 마스크를 이용하는 필터링 프로세스는 각각의 인입 데이터 패킷에 적용되고, 패킷이 속하는 필터 분류를 나타낸다. 이후, 해당 분류의 필터들만이 인입 패킷에 적용된다. DSG 터널 상의 케이블 헤드엔드(Headend)로부터 패킷을 수신하는 셋톱박스를 위한 응용 예에서, 네트워크 트래픽 유형과 필터 파라미터들에 기초하여, 각각의 인입 패킷에 적용되는 실제 필터들의 수는 감소될 수 있으므로, 셋톱박스 시스템 자원을 절약하고, 패킷 프로세싱 시간을 촉진할 수 있다.
도 1은 본 발명의 일 실시예를 구현한 시스템(10)의 기능 블록도를 도시한다. 시스템(10)은 임베디드 셋톱박스를 갖는 TV(11), 선택적인 독립형 셋톱박스(12) 및 디코더 모듈(14)과 같은 전자 장치를 포함한다. 디코더 모듈(14)은 디코더 모듈(14)에 음성/영상 프로그래밍을 제공하는 통신 링크(15)를 통해 케이블 서 비스 제공자(13) (예. 케이블 헤드엔드)에게 연결될 수 있다. 디코더 모듈은 링크(15) 상에 구현된 DSG 터널을 통해 제공자(13)로부터 수신된 패킷들의 데이터 필터링을 수행한다.
디코더 모듈(14)은 TV(11)에 출력하기 위해 케이블 서비스 제공자(13)로부터 인코드된 프로그래밍을 디코드한다. 디코더 모듈(14)은 OCAP(OpenCable Applicaton Platform) 장치일 수 있다. OCAP은 디지털 TV 및 디지털 케이블 셋톱을 위해 케이블랩(CableLabs)이 규격화한 미들웨어이다. 디코더 모듈은 헤드엔드(13)와의 CableCARD 협상을 더 구현할 수 있다.
패킷의 특정 필드들을 항상 필터링 하는 대신, 임의의 필터 패턴이 사용될 수 있다. 신규 마스크가 생성되어, 마스크 비트들과 값들이 필터들을 효율적으로 서로 다른 그룹으로 분리한다. 신규 마스크 비트들은 고정된 마스크 비트 패턴들을 요구하지 않으면서 필터들을 구별할 수 있다. 패킷 프로세싱(데이터 필터링) 속도를 최적화하기 위해 특정 필터 구성(예. 필터들의 집합)을 위한 신규 마스크 비트들과 값이 결정된다. 신규 마스크를 각각의 인입 패킷에 적용함으로써, 패킷에 적합한 필터들의 그룹이 선택되고, 다른 필터들은 패킷에 적용되지 않으므로, 패킷의 처리 속도를 촉진한다.
오픈케이블 셋톱박스를 위한 제한 접근 소프트웨어를 포함하는 본 발명의 일 실시예에서는, 많은 양의 프로세싱 타임과 자원을 요구하는 주요 패킷 필드들에 대해 자격 관리 메시지 데이터 필터링이 수행된다. 본 발명은 필터링 속도와 전체적인 성능을 향상시키기 위해 오픈케이블 셋톱 박스에 직접 적용될 수 있다. 인입 패 킷 포맷을 아는 것은 요구되지 않는다. 본 발명의 일실시예에 따른 데이터 필터링은 필터 마스크 비트들이 임의적이고, 서로 부분적으로만 오버랩할 때, 종래 순차적인 필터링 프로세스를 이용하지 않고 적용될 수 있다. 종래 순차적인 필터링 프로세스에서는, 본 발명의 일 실시예에 따른 선택적인 필터링을 적용하지 않고, 순차적으로 각각의 필터들의 집합으로 패킷을 필터링한다. 인입 패킷들이 균일하게 서로 다른 필터들을 적중할 때(예. 인입 패킷 대부분은 적중하지 않음), 본 발명의 일 실시예는 인입 패킷에 적용되는 필터들의 수를 매우 효율적으로 감소시킨다. 인입 패킷이 필터들 중 하나의 필터링 기준을 만족하는 것을 적중한다고 한다. 그 결과, 패킷은 클라이언트에게 포워드될 것이다.
각각의 필터로부터 서로 다른 값들을 갖는 오버랩 마스크 비트들이 결정된다. 각각의 필터는 비트들 집합을 갖는 마스크를 포함하고, 일 예로, 자격 관리 메시지들(패킷들)을 필터링하기 위한 마스크 비트들의 대부분은 각각의 메시지의 첫 32 비트들 내에 있다.
도 2A의 프로세스(20)를 참조하면, 블록 21의 필터 선택 단계에서, 필터 쌍간의 오버랩하는 마스크 비트들의 위치를 결정하기 위해, 각각의 필터 쌍에 대해 각각의 마스크 비트들이 비교된다. 이후, 블록 22에서, 검출된 오버랩 마스크 비트들에 대해, 오버랩 비트들의 값들이 비교된다. 다음으로, 블록 23에서 서로 다른 값을 갖는 오버랩 비트들이 검출된다. 따라서, 임의의 2개의 필터들에 대해, 특정 비트 위치에서, 두 필터 모두 마스크 비트가 1이고 그 비트 값들이 서로 다른 경우가 식별된다. 블록 24에서 모든 쌍의 필터들을 검사한 후, 서로 다른 값을 갖는 검 출된 오버랩 비트들에 기초하여 신규 마스크(결과 마스크)가 생성된다. 생성된 신규 마스크는 각각의 필터를 생성된 신규 마스크에 대한 모든 가능한 값들과 연관시킨다.
도 2B의 프로세스(30)을 참조하면, 블록 31의 필터링 단계(예. 제공자(13)로부터 인입 패킷을 처리할 때)에서, 마스크 값을 획득하기 위해 신규 마스크가 각각의 인입 패킷에 적용된다. 블록 32에서, 마스크 값에 기초하여, 필터들의 집합 중 대응되는 필터들이 선택된다. 블록 33에서, 필터된 패킷 데이터를 획득하기 위해 원 필터 우선순위에 기초하여, 선택된 필터들이 하나씩 그 패킷에 적용된다. 블록 34에서, 추가 처리를 위해 필터된 패킷 데이터가 제공된다.
도 3은 도 2A 내지 도 2B와 관련하여 기술된 프로세스들을 구현하는 디코더(14) 내의 모듈들의 기능 블록도를 도시한다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 디코더(14)는 필터들의 집합(40)을 포함한다(예. 필터 1, ... , 필터 n). 도 2A의 블록 21 내지 23을 구현하는 오버랩 비트 검출기(41)는 서로 다른 값을 갖는 오버랩하는 비트들을 결정한다. 마스크 생성기(42)는 상기 오버랩 비트들로부터 신규 마스크를 생성하기 위해 블록 24를 구현한다. 패킷 필터링 단계동안, 마스크 응용 기능(43)은 마스크 값을 획득하기 위해 인입 패킷(44)에 신규 마스크를 적용함으로써 도 2B의 블록 31을 구현한다. 필터 선택 기능(45)은 마스크 값에 기초하여 필터들의 집합(40) 중 하나를 선택한다. 필터 응용 기능(46)은 필터된 패킷 정보를 생성하기 위해 우선 순위에 기초하여, 패킷에 선택된 필터들을 적용함으로써 블록 32를 구현한다.
또 다른 예에서, 도 2A의 프로세스 20은 디코더(14)와 별개로 구현될 수 있는데, 기능 41 및 42는 디코더(14)와 별개로 구현될 수 있다. 따라서, 인입 패킷들을 필터링 하기 위해 신규 마스크가 모듈 43, 45 및 46에 제공될 수 있다.
도 4A 내지 4D는 본 발명의 일 실시예에 따른 수치로 표시된 예를 도시한다. 구체적으로, 도 4A는 세 개의 필터들의 집합을 도시한다(예. 필터 1, 필터 2 및 필터 3). 각각의 필터는 8개의 마스크 비트들과 마스크 비트들에 대해 대응하는 값들을 포함한다. 각각의 필터의 설정된 마스크 비트들(예. "1")은 액티브 마스크 비트들로서 고려되고, 또 다른 필터의 액티브 마스크 비트들과 비교된다. 도면에서, 비트들은 왼쪽에서 오른쪽으로 0부터 7까지 번호 매겨진다. 도 4B는 필터 쌍인 필터 1 & 2, 필터 2 & 3 및 필터 1 & 3에 대해, 서로 다른 값들을 갖는, 오버랩하는 마스크 비트들을 비교하고 검출(위치를 나타내는 것)하는 과정을 도시한다. 예를 들면, 필터 1 & 2를 비교하는 경우, 두 필터들의 액티브 마스크 비트 4는 서로 다른 값을 갖는다. 필터 2 & 3을 비교하는 경우, 두 필터들의 액티브 마스크 비트 3은 서로 다른 값을 갖는다. 필터 1 & 2를 비교하는 경우, 두 필터들의 액티브 마스크 비트 6은 서로 다른 값을 갖는다. 도 4C에서 도시된 바와 같이, 서로 다른 값을 갖는 오버랩하는 마스크 비트들은 신규 마스크를 생성하는 데에 이용된다. 즉, 신규 마스크는 모든 필터들에 대해 각각의 필터 쌍의 값 간의 차이를 나타낸다. 신규 마스크에서 "1"로 설정된 비트들의 개수는 필터 쌍 개수와 동일하다. 도 4D에서 도시된 바와 같이, 인입 패킷에 필터 그룹을 선택하고 적용하기 위해 신규 마스크가 이용된다. 구체적으로, 결과 마스크(예. 도 4C의 마스크 01011000)는 모든 인입 패킷들 에 적용된다. 이후, 그 결과 값에 따라, 필터 1, 2 또는 3이 적용된다.
인입 패킷에 결과 마스크를 적용하는 과정은 인입 패킷의 첫 8 비트들(예. 데이터)을 선택하고, 마스크와 AND 논리 연산("Value = Data AND Mask")을 수행하는 과정을 포함한다. 값에 따라, 도 4C 정보는 인입 패킷에 필터 1, 2 또는 3을 적용하는데 이용된다. 그 정보가 특정 필터를 적중하는 경우, 인입 패킷은 클라이언트로 포워드된다.
이하, 예시 수행 시간에 대한 효율성 분석이 제공된다. 분석은 상기 세 필터들에 기초한다. 각각의 필터는 2개의 산술 연산을 택하는데(2 OPS), 하나는 신규 마스크를 적용하기 위한 것이고, 다른 하나는 값을 비교하기 위한 것이다(예. Value = Data AND Mask). 상기 값을 비교하는 과정은 상기 값과 동일한 도 4C의 대응 값을 찾기 위한 과정이다. 인입 패킷의 10%는 세 개의 필터들을 균일하게(각각 3.33%) 적중하고, 인입 패킷의 90%는 세 개의 필터 모두를 만족하지 못하고 폐기된다. 신규 마스크를 적용한 후, 값(예. Value = Data AND Mask)은 모든 필터 그룹들에 균일하게 분배된다.
본 발명을 적용하지 않는 경우, 100 인입 패킷 당 연산에 있어서, 패킷의 10%는 3 개의 필터들을 균일하게 적중하고, 패킷의 90%는 3개의 필터들을 통과하고 폐기된다. 연산의 수는 (10/3) * (2+4+6) + 90 * 6 = 40 + 540 = 580 연산이다.
본 발명의 일 실시예에 따른 100 인입 패킷 당 연산에 있어서, 신규 마스크가 모든 패킷들에 적용된다. 이후, 도 4C의 8 개의 값 중 6 개에 대해, 하나의 선택된 필터가 적용되는데, 연산의 수는 100 * 2 + 100 * (6/8) * 2 = 200 + 150 = 350 연산이다. 너무 많은 필터들이 (예에서 3개 필터들) 하나의 특정 값과 연관되는 경우(예. 01001000), 도 4C와 유사한 또 다른 값 테이블을 생성하기 위해 동일한 프로세스가 다음 32 비트들에 적용된다.
본 발명의 일 실시예에 따르면, 필터 연산의 수가 39.66% 감소된다 ((580-350) / 580 = 39.66%).
특정 값에 연관된 필터들의 수가 임계치를 넘는 경우, 동일한 프로세스가 다음 32 비트들에 적용될 수 있고, 필터들은 서브그룹으로 분할될 수 있다.
당업자에게 알려진 바와 같이, 본 발명의 일 실시예에 따른 상기 기술된 예시 구조는 프로세서에 의해 수행되는 프로그램 명령, 소프트웨어 모듈, 마이크로 코드, 컴퓨터로 판독가능한 매체 상의 컴퓨터 프로그램 제품, 논리 회로, ASIC (Application Specific Integrated Circuit), 펌웨어 등과 같은 다양한 방식으로 구현될 수 있다. 본 발명의 일 실시예는 전부 하드웨어 형태로 구현되거나, 전부 소프트웨어 형태로 구현되거나, 하드웨어 및 소프트웨어 구성요소 모두를 포함하는 형태로 구현될 수 있다. 본 발명은 특정 버전과 관련하여 기술되었지만 다른 버전도 가능하다. 따라서 첨부된 청구항들의 사상 및 범위는 여기 포함된 상기 선호되는 버전들의 명세로 제한되지 않아야 한다.
도 1은 본 발명의 일 실시예에 따른, 데이터 필터링의 일 실시예를 구현한 시스템을 도시한다.
도 2A는 본 발명의 일 실시예에 따른, 필터 쌍들로부터 서로 다른 값을 갖는, 오버랩하는 마스크 비트들에 기초하여 신규 마스크를 생성하는 프로세스를 도시한다.
도 2B는 도 2A의 프로세스로부터의 신규 마스크에 기초하여 인입 데이터 패킷을 필터링하는 프로세스를 도시한다.
도 3은 도 2A 내지 도 2B의 프로세스들을 구현하는 디코더 모듈의 기능 블록도를 도시한다.
도 4A 내지 도 4D는 본 발명의 일 실시예에 따른, 신규 마스크를 생성하고, 인입 데이터 패킷에 신규 마스크를 적용하는 수치로 표시된 예를 도시한다.

Claims (16)

  1. 각각의 필터가 비트 마스크 및 대응되는 비트 값을 갖는, 필터들의 집합을 이용하여 데이터 패킷을 필터링하는 방법에 있어서,
    상기 필터들을 비트 마스크 값 차이에 기초하여 서로 다른 그룹들로 분류하고, 대응되는 비트 값들을 갖는 비트들로 구성된 신규 마스크를 생성하는 단계;
    인입 패킷에 대한 필터 분류를 선택하기 위해 상기 신규 마스크를 상기 인입 패킷에 적용하는 단계; 및
    상기 선택된 분류에 대한 상기 필터들의 그룹을 상기 인입 패킷에 적용하여 상기 인입 패킷을 필터링하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  2. 제 1항에 있어서,
    상기 필터들을 비트 마스크 값 차이에 기초하여 서로 다른 그룹들로 분류하는 단계는 각각의 필터 쌍에 대해 다른 값을 갖는 오버랩하는 마스크 비트들을 검출하는 단계를 더 포함하고;
    상기 신규 마스크를 생성하는 단계는 상기 검출된 다른 값을 갖는 오버랩하는 마스크 비트들에 기초하여, 모든 필터 쌍 간의 차이를 값으로 나타내는 신규 마스크를 생성하는 단계를 더 포함하고;
    상기 신규 마스크를 상기 인입 패킷에 적용하는 단계는 마스크 값을 생성하 기 위해 상기 신규 마스크를 상기 인입 패킷에 적용하고 상기 마스크 값에 기초하여 상기 필터들의 그룹 중 하나를 선택하는 단계를 포함하고;
    상기 인입 패킷을 필터링하는 단계는 상기 인입 패킷에 상기 선택된 필터들의 그룹을 적용하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  3. 제 2항에 있어서,
    DOCSIS 셋톱 게이트웨이(DOCSIS Set-top Gateway: DSG) 터널 상의 케이블 헤드엔드(Headend)로부터 상기 인입 패킷을 수신하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  4. 제 3항에 있어서,
    상기 패킷은 오픈케이블(OpenCable) 셋톱박스(set-top-box: STB)의 제한 접근 소프트웨어(Conditional Access Software)를 위한 자격 관리(Entitlement) 메시지를 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  5. 제 2항에 있어서,
    상기 다른 값을 갖는 오버랩하는 마스크 비트들을 검출하는 단계는 각각의 필터 쌍에 대해, 상기 필터 쌍 간에 오버랩하는 마스크 비트들을 결정하기 위해 상기 각각의 마스크 비트들을 비교하고, 다른 값을 갖는 오버랩하는 마스크 비트들을 결정하기 위해 상기 오버랩하는 비트들의 값을 비교하는 단계를 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  6. 제 5항에 있어서,
    상기 신규 마스크를 생성하는 단계는 모든 쌍의 필터들에 대해 다른 값을 갖는 오버랩하는 비트들을 검출한 후 신규 마스크를 생성하는 단계를 더 포함하는 것을 특징으로 하는 데이터 패킷 필터링 방법.
  7. 각각의 필터가 비트 마스크 및 대응되는 비트 값을 갖는, 필터들의 집합을 이용하여 데이터 패킷을 필터링하는 장치에 있어서,
    각각의 필터 쌍에 대해 다른 값을 갖는 오버랩하는 마스크 비트들을 검출하도록 구성된 오버랩 비트 검출기;
    상기 검출된 다른 값을 갖는 오버랩하는 마스크 비트들에 기초하여, 모든 필터 쌍 간의 차이를 값으로 나타내는 신규 마스크를 생성하도록 구성된 마스크 생성기;
    마스크 값을 생성하기 위해 상기 신규 마스크를 인입 패킷에 적용하고 상기 마스크 값에 기초하여 상기 필터들의 그룹 중 하나를 선택함으로써, 상기 신규 마스크를 상기 인입 패킷에 적용하도록 구성된 필터 선택기;
    상기 인입 패킷에 상기 선택된 필터들의 그룹을 적용함으로써, 상기 인입 패킷을 필터링하도록 구성된 필터링 모듈을 포함하는 것을 특징으로 하는 데이터 패 킷 필터링 장치.
  8. 제 7항에 있어서,
    상기 인입 패킷은 DOCSIS 셋톱 게이트웨이(DOCSIS Set-top Gateway: DSG) 터널 상의 케이블 헤드엔드(Headend)로부터 수신되는 것을 특징으로 하는 데이터 패킷 필터링 장치.
  9. 제 8항에 있어서,
    상기 패킷은 오픈케이블(OpenCable) 셋톱박스(set-top-box: STB)의 제한 접근 소프트웨어(Conditional Access Software)를 위한 자격 관리(Entitlement) 메시지를 포함하는 것을 특징으로 하는 데이터 패킷 필터링 장치.
  10. 제 7항에 있어서,
    상기 오버랩 비트 검출기는 각각의 필터 쌍에 대해, 상기 필터 쌍 간에 오버랩하는 마스크 비트들을 결정하기 위해 상기 각각의 마스크 비트들을 비교하고, 다른 값을 갖는 오버랩하는 비트들을 결정하기 위해 상기 오버랩하는 비트들의 값을 비교함으로써, 다른 값을 갖는 상기 오버랩하는 마스크 비트들을 검출하도록 구성되는 것을 특징으로 하는 데이터 패킷 필터링 장치.
  11. 제 10항에 있어서,
    상기 마스크 생성기는 상기 오버랩 비트 검출기가 모든 쌍의 필터들에 대해 다른 값을 갖는 오버랩하는 비트들을 검출한 후 신규 마스크를 생성하도록 더 구성되고, 상기 신규 마스크는 각각의 필터를 상기 신규 마스크에 대해 가능한 모든 값과 연관시키는 것을 특징으로 하는 데이터 패킷 필터링 장치.
  12. 데이터 패킷을 제공하는 헤드엔드(Headend) 케이블 서비스 제공자; 및
    통신 링크를 통해 상기 헤드엔드 케이블 서비스 제공자로부터 상기 데이터 패킷을 수신하도록 구성된 디코더 모듈을 포함하고;
    상기 디코더 모듈은
    각각의 필터가 비트 마스크 및 대응되는 비트 값을 갖는 필터들의 집합;
    각각의 필터 쌍에 대해 다른 값을 갖는 오버랩하는 마스크 비트들을 검출하도록 구성된 오버랩 비트 검출기;
    상기 검출된 다른 값을 갖는 오버랩하는 마스크 비트들에 기초하여, 모든 필터 쌍 간의 차이를 값으로 나타내는 신규 마스크를 생성하도록 구성된 마스크 생성기;
    마스크 값을 생성하기 위해 상기 신규 마스크를 인입 패킷에 적용하는 단계 및 상기 마스크 값에 기초하여 상기 필터들의 그룹 중 하나를 선택하는 단계를 포함하는, 상기 신규 마스크를 상기 인입 패킷에 적용하도록 구성된 필터 선택기; 및
    상기 인입 패킷에 상기 선택된 필터들의 그룹을 적용하는 단계를 포함하는, 상기 인입 패킷을 필터링하도록 구성된 필터링 모듈을 포함하는 것을 특징으로 하 는 케이블 통신 시스템.
  13. 제 12항에 있어서,
    상기 인입 패킷은 DOCSIS 셋톱 게이트웨이(DOCSIS Set-top Gateway: DSG) 터널 상의 케이블 헤드엔드(Headend)로부터 수신되는 것을 특징으로 하는 케이블 통신 시스템.
  14. 제 13항에 있어서,
    상기 패킷은 오픈케이블(OpenCable) 셋톱박스(set-top-box: STB)의 제한 접근 소프트웨어(Conditional Access Software)를 위한 자격 관리(Entitlement) 메시지를 포함하는 것을 특징으로 하는 케이블 통신 시스템.
  15. 제 12항에 있어서,
    상기 오버랩 비트 검출기는 각각의 필터 쌍에 대해, 상기 필터 쌍 간에 오버랩하는 마스크 비트들을 결정하기 위해 상기 각각의 마스크 비트들을 비교하고, 다른 값을 갖는 오버랩하는 비트들을 결정하기 위해 상기 오버랩하는 비트들의 값을 비교함으로써, 다른 값을 갖는 상기 오버랩하는 마스크 비트들을 검출하도록 구성되는 것을 특징으로 하는 케이블 통신 시스템.
  16. 제 15항에 있어서,
    상기 마스크 생성기는 상기 오버랩 비트 검출기가 모든 쌍의 필터들에 대해 다른 값을 갖는 오버랩하는 비트들을 검출한 후 신규 마스크를 생성하도록 더 구성되고, 상기 신규 마스크는 각각의 필터를 상기 신규 마스크에 대해 가능한 모든 값과 연관시키는 것을 특징으로 하는 케이블 통신 시스템.
KR1020090020359A 2008-07-25 2009-03-10 데이터 패킷을 위한 데이터 필터링 방법 및 시스템 KR20100011881A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/180,451 2008-07-25
US12/180,451 US7808990B2 (en) 2008-07-25 2008-07-25 Method and system for data filtering for data packets

Publications (1)

Publication Number Publication Date
KR20100011881A true KR20100011881A (ko) 2010-02-03

Family

ID=41568607

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090020359A KR20100011881A (ko) 2008-07-25 2009-03-10 데이터 패킷을 위한 데이터 필터링 방법 및 시스템

Country Status (2)

Country Link
US (1) US7808990B2 (ko)
KR (1) KR20100011881A (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8089966B2 (en) * 2009-04-22 2012-01-03 Samsung Electronics Co., Ltd. System and method for filtering a data packet using a combined filter
US8064457B2 (en) * 2009-04-22 2011-11-22 Samsung Electronics Co., Ltd. System and method for filtering a data packet using a common filter
US8325726B2 (en) * 2010-02-09 2012-12-04 Juniper Networks, Inc. Data structure-less distributed fabric multicast

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103045B2 (en) * 2002-03-05 2006-09-05 Hewlett-Packard Development Company, L.P. System and method for forwarding packets
US7684400B2 (en) * 2002-08-08 2010-03-23 Intel Corporation Logarithmic time range-based multifield-correlation packet classification
US7535899B2 (en) * 2003-12-18 2009-05-19 Intel Corporation Packet classification
US20080232359A1 (en) * 2007-03-23 2008-09-25 Taeho Kim Fast packet filtering algorithm
US20090204677A1 (en) * 2008-02-11 2009-08-13 Avaya Technology Llc Context based filter method and apparatus

Also Published As

Publication number Publication date
US7808990B2 (en) 2010-10-05
US20100020799A1 (en) 2010-01-28

Similar Documents

Publication Publication Date Title
CN108965040B (zh) 一种视联网的业务监控方法和装置
CN109729390B (zh) 一种iptv节目监测方法、装置及系统
CN108989078B (zh) 一种视联网中节点设备故障检测方法和装置
CN108965226B (zh) 一种基于视联网的数据获取方法及装置
CN1662896B (zh) 用于过滤数据的方法和装置
CN109218093B (zh) 一种获取告警的方法和系统
CN108881895B (zh) 一种基于视联网的故障排查方法及设备
CN110392044B (zh) 一种基于视联网的信息传输方法及装置
KR20100011881A (ko) 데이터 패킷을 위한 데이터 필터링 방법 및 시스템
CN110061979B (zh) 一种业务对象的检测方法和装置
CN107483341A (zh) 一种跨防火墙报文快速转发方法及装置
CN108632171B (zh) 一种基于视联网的数据处理方法和装置
KR20120082415A (ko) 데이터 네트워크상의 여러 흐름을 포함하는 통신 세션의 감독
KR102068557B1 (ko) Atsc 3.0 기반의 방송 시스템에서의 서비스 검증 장치 및 방법
CN109768964B (zh) 音视频显示方法和装置
CN114598825B (zh) 视音频信号调度方法、装置、计算机设备及可读存储介质
CN103179457A (zh) 一种机顶盒业务交互过程中的故障确定方法和设备
US9491494B2 (en) Distribution and use of video statistics for cloud-based video encoding
CN108574655B (zh) 一种会议监播方法和装置
CN110830762A (zh) 一种音视频数据的处理方法和系统
CN110730086B (zh) 一种日志信息的输出方法和装置
CN110139060B (zh) 一种视频会议的方法和装置
CN111083422B (zh) 视联网调度会议异常分析方法、装置、设备、系统及介质
US7278009B2 (en) Tiered sequential processing media data through multiple processor chains with longest path tier assignment of processors
CN112995766B (zh) 用于标识iptv多路视频流的方法和装置

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