KR20040063951A - 클러스터 필터링 - Google Patents

클러스터 필터링 Download PDF

Info

Publication number
KR20040063951A
KR20040063951A KR10-2004-7009276A KR20047009276A KR20040063951A KR 20040063951 A KR20040063951 A KR 20040063951A KR 20047009276 A KR20047009276 A KR 20047009276A KR 20040063951 A KR20040063951 A KR 20040063951A
Authority
KR
South Korea
Prior art keywords
filter
data
clusters
fixed length
filters
Prior art date
Application number
KR10-2004-7009276A
Other languages
English (en)
Other versions
KR100942448B1 (ko
Inventor
왈쉬로드
학카라이넨토미
루오마주하-펙카
Original Assignee
노키아 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 코포레이션 filed Critical 노키아 코포레이션
Publication of KR20040063951A publication Critical patent/KR20040063951A/ko
Application granted granted Critical
Publication of KR100942448B1 publication Critical patent/KR100942448B1/ko

Links

Classifications

    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6433Digital Storage Media - Command and Control Protocol [DSM-CC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2389Multiplex stream processing, e.g. multiplex stream encrypting
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6371Control signals issued by the client directed to the server or network components directed to network
    • 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/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

패킷들에서 포맷된 디지털 데이터를 필터링하기 위한 방법들 및 시스템들이 제공된다. 필터 모듈은 복수의 필터들을 포함하며, 필터 맵핑 모듈로 연결된다. 필터 맵핑 모듈은 패킷의 이산 세그먼트들의 클러스터들(clusters)의 ID를 수신하고, 클러스터들을 필터링하기 위해 한 그룹의 고정 길이 필터들을 선택한다.

Description

클러스터 필터링{Cluster filtering}
전형적으로 디지털 데이터는 잘 정의된 세그먼트들을 가지는 패킷들에서 한 위치에서 다른 위치로 전송된다. 예를 들면, 도 1은 오디오, 비디오 또는 다른 데이터를 전송하는데 사용될 수 있는 DVB DSM-CC 전용 데이터 섹션(Private Data Section) MPE(Multiprotocol Encapsulation) 패킷(100)을 기술한다. 패킷(100)은 프로토콜에 의해 정의된 다수의 별개의 세그먼트들을 포함한다. 예를 들면, MAC 주소는 패킷(100)의 다른 세그먼트들로부터 형성된다.
패킷들을 필터링하도록 구성된 요소들(components)은 패킷내의 다른 세그먼트들에서 발견된다. 예를 들면, 디지털 비디오 방송(DVB: Digital Video Broadcasting) 수신기는 테이블 ID 섹션, MAC 주소 1 세그먼트(104), MAC 주소 2 세그먼트(106), 및 MAC 주소 5 세그먼트(108)에서 발견된다. 종래의 하드웨어 기반의 필터들은 데이터의 인접하는 세그먼트들(contiguous segments)을 독출하도록 구성된다. 클러스터들(clusters)에서 원하는 데이터가 발견되었지만 인접하지 않을 때, 데이터 클러스터들(clusters of data)을 필터링하기 위해 과도하게 큰 필터들이 사용될 때에 자원들이 낭비된다. 클러스터(cluster)은 일반적 용어이며, 인접하는 세그먼트를 포함하거나 또는 패킷 또는 패킷의 세그먼트내에서 한 세트의 인접하는 데이터를 포함할 수 있다. 패킷(100)에 관하여, 테이블 ID(102) 및 MAC 주소 세그먼트 5(108)는 인접하지 않는(non-contiguous) 세그먼트들 또는 클러스터들에서 발견된다. 하나의 필터가 0 - 40 비트들을 필터링하기 위해 사용될 때, 원하는 클러스터들은 다수의 불필요한 데이터(unneeded data)의 비트들과 함께 필터링된다. 그 결과로, 필터의 크기는 불필요하게 크다.
소정의 프로토콜들에서 전송된 소정의 패킷들의 세그먼트들에서 데이터를 필터링하기 위해 설계된 고정 필터들(fixed filters)을 통합한 장치들은 제한된 유연성(flexibility)을 제공한다. 처음에는, 필터들은 주어진 어플리케이션들에 대해 최적의 방식으로 크기가 결정되고 구성될 수 있다. 그러나, 상기 장치가 미소하게 다른 프로토콜로 전송된 데이터를 필터링하려고 할 때, 필터들의 크기 및 구성은 최적화될 수 없을 것이다.
몇몇 종래의 장치들은 연속적인 단계들에서 작은 고정 길이 필터들(fixed length filters) 및 패킷들의 필터 세그먼트들을 사용한다. 연속적인 필터 단계들의 수가 증가함에 따라, 상기 데이터를 처리하는데 요구되는 시간 또한 증가한다.
따라서, 설계자들에게 유연성을 제공하고, 필터 구성요소들의 사용을 최적화하고, 데이터를 필터링하는데 요구되는 연속적인 필터링 단계들의 수를 최소화하는 패킷 필터링 시스템들 및 방법들에 대한 당해 분야에서의 요구가 있다.
본 발명은 데이터 필터링에 관한 것이다. 더욱 상세하게는, 본 발명은 데이터 패킷들을 필터링하기 위한 시스템들 및 방법들에 관한 것이다.
도 1은 종래의 DVB DSM-CC 전용 데이터 섹션 MPE 패킷을 도시한다.
도 2는 본 발명의 바람직한 실시예들에 따라, 패킷들에서 발견되는 데이터 클러스터들을 필터링하기 위한 시스템을 기술한다.
도 2a는 본 발명의 바람직한 실시예들에 따라, 네트워크 계층들 및 소프트웨어 모듈들간의 관계를 기술한다.
도 3은 본 발명의 바람직한 실시예들에 따라, 클러스터 필터 모듈의 작동을 기술한다.
도 4는 본 발명의 바람직한 실시예들에 따라, 이산 패킷 세그먼트들의 배열을 기술한다.
도 5는 본 발명의 바람직한 실시예들에 따른 다단계 클러스터 필터들을 기술한다.
도 6은 본 발명의 바람직한 실시예들에 따라, 클러스터 맵핑 모듈에 의해 수행될 수 있는 단계들을 포함하는 흐름도를 도시한다.
위에서 언급된 당해 분야의 하나 이상의 요구들은 패킷화된 디지털 데이터를 처리하기 위한 개시된 시스템들 및 방법들에 의해 만족된다. 하드웨어 및 소프트웨어 모듈들은 필터 구성요소들을 필터링될 데이터로 일치시키기 위해 사용될 수 있다.
본 발명의 제1 실시예에서, 데이터를 필터링하기 위한 장치가 제공된다. 상기 데이터는 이산 세그먼트들을 가지는 패킷에서 포맷된다. 상기 장치는 복수의 고정 길이 필터들을 포함하는 필터 모듈을 포함한다. 맵핑 모듈은 데이터의 이산 세그먼트들의 적어도 2개의 클러스터들의 ID를 수신하는 단계; 및 상기 적어도 2개의 클러스터들을 필터링하기 위한 복수의 고정 길이 필터들중 적어도 2개를 선택하는 단계;를 포함하는 단계들을 수행하기 위한 제어 로직을 포함한다.
본 발명의 다른 실시예에서, 데이터 패킷에서 발견된 데이터의 클러스터들을 필터링하기 위해 제1 모듈에 의해 사용되기 위한 맵을 생성하는 방법이 제공된다. 상기 방법은 데이터의 이산 세그먼트들의 적어도 2개의 클러스터들의 ID를 수신하는 단계; 및 상기 적어도 2개의 클러스터들을 필터링하기 위한 복수의 고정 길이 필터들중 적어도 2개를 선택하는 단계;를 포함한다.
본 발명의 다른 실시예들에서는, 개시된 방법들을 구현하기 위한 컴퓨터로 실행 가능한 명령어들 및 제어 로직이 컴퓨터로 독출 가능한 매체상에 저장되거나 또는 하드웨어 모듈로 구현된다.
본 발명의 다른 특징들 및 장점들은 다음의 상세한 설명 및 도면들을 참조하여 명백하게 될 것이다.
본 발명은 예시의 방법으로 기술되며, 첨부된 도면들에서 제한되지 않으며, 상기 도면들에서 유사한 참조번호들은 유사한 요소들을 나타낸다.
도 2는 본 발명의 바람직한 실시예들에 따라, 패킷들에서 발견되는 데이터 의 클러스터들(clusters of data)을 필터링하기 위한 시스템을 기술한다. 여기서 사용된 바와 같이, 용어 "패킷"은 이산 세그먼트들을 가지는 프로토콜에서 포맷된어떠한 디지털 데이터를 포함한다. 또한, 패킷은 하나 이상의 추가적 프로토콜들, 예를 들면 DVB 네트워크를 통한 전송을 위해 캡슐화된 인터넷 프로토콜(IP: Internet Protocol) 패킷들에 따라 캡슐화되거나 프레이밍된(frame) 제1 프로토콜에서 포맷된 데이터를 포함할 수 있다. 클라이언트 시스템(202)은 필터 파라미터들을 클러스터 맵핑 모듈(204)로 전송한다. 클라이언트 시스템(202)은 DVB 수신기, 사용자 인터페이스, 이동 단말기, 또는 디지털 패킷들에서 발견되는 데이터 클러스터들을 처리하는 어떠한 다른 하드웨어 또는 소프트웨어 요소들을 포함하는 소프트웨어 및/또는 하드웨어 구성요소들을 가지고 구현될 수 있다. 필터 파라미터들은 알려진 프로토콜을 가지는 패킷들의 세그먼트들에 위치한 데이터의 클러스터들의 ID(Identification)를 포함할 수 있다. 예를 들면, 클라이언트 시스템(202)은 (도 1에서 도시된) 테이블 ID(102) 및 MAC 주소 섹션들 1-6을 처리하고자 한다는 것을 나타낼 수 있다. 다른 예시에서, 클라이언트 시스템(202)은 IPv6 주소를 위한 DVB-T 인터페이스를 필터링하고자 한다는 것을 나타낼 수 있다. 그러면, 클러스터 맵핑 모듈(204)은 클라이언트 시스템(202)으로부터 수신한 필터 파라미터들을 가지고 클러스터 맵을 생성한다. 다음에, 상기 클러스터 맵은 클러스터 필터 모듈(208)로 전송될 수 있다.
클러스터 맵(cluster map)은 사용될 다수의 필터들, 각 필터들의 오프셋 값들, 각 필터의 필터 마스크 및 결합자 논리 함수들(combinatory logic functions)과 같은 정보를 포함할 수 있다. 오프셋 값은 패킷의 처음으로부터 한 지점을 식별하는데, 상기 지점에서 주어진 필터는 필터링 동작을 시작할 것이다. 필터링 및 프로토콜 정보를 저장하기 위해 필터링 서비스들 및 프로토콜 데이터베이스(206)가 포함될 수 있다. 어떠한 수의 프로토콜들의 형식들 및 상기 프로토콜들내의 데이터의 섹션들의 위치들이 데이터베이스(206)에 저장될 수 있다. 또한, 한 세트의 필터 파라미터들을 위해 필터 맵이 이미 생성되었을때 수행되는 처리 단계들을 감소시키기 위해, 클러스터 맵들이 데이터베이스(206)에 저장될 수 있다. 새로운 클러스터 맵을 생성하는 대신에, 이전에 생성된 클러스터 맵이 데이터베이스(206)로부터 검색될 수 있다.
클러스터 필터 모듈(208)은 6개의 2바이트 필터들(208a-208f)을 포함할 수 있다. 본 발명의 몇몇 실시예들에서, 다수의 동일한 필터들이 하드웨어에서 구현될 수 있는 상대적 용이함 때문에, 다수의 동일한 필터들이 사용된다. 대안적 실시예들에서, 클러스터 필터 모듈은 다양한 다른 크기들 및 오프셋 값들을 가지는 필터들을 포함할 수 있다. 상기 크기들 및 값들은 클러스터 맵핑 모듈(204)에 의한 소정의 어플리케이션들 및/또는 소정의 프로토콜들에 대응하도록 선택될 수 있다. 도 2는 필터(208a)가 0 바이트의 오프셋 값을, 필터(208b)는 x 바이트의 오프셋 값을, 그리고 필터(208c)는 y 바이트의 오프셋 값을 가짐을 도시하고 있다. 오프셋 값들은 패킷의 처음부터 측정된다. 도 2는 필터들(208a-208f)이 중복되는 실시예들을 도시한다. 다른 실시예들에서, 필터들(208a-208f)은 자원들을 보존하기 위해 필터들(208a-208f)중 일부만 중복되도록 또는 아무것도 중복되지 않도록 형성될 수 있다.
도 2a는 도 2에서 도시된 구성요소들 및 사용자 장치(210) 및 운영 시스템네트워크 계층들(212)의 IP 스택간의 관계를 도시한다. 클라이언트 시스템(202)은 필터 파라미터들을 자신의 환경에 고유할 수 있는 클러스터 맵핑 모듈(204)로 통과시킨다. 예를 들면, 필터 파라미터들은 IGMP 조인 메시지(join message)와 같은 전형적인 필터 요청으로부터 올 수 있으며, 이것은 IP 목적지 주소의 상세들(details) 및 포트만을 전달할 수 있다. 또한, 클러스터 맵핑 모듈(204)은 특정 네트워크 인터페이스의 상세한 필터 파라미터들에 대한 요청을 해석할 수 있다. 예를 들면, 만약 인터페이스가 DVB라면, 클러스터 맵핑 모듈(204)은 IP 주소 및 포트를 PID, 테이블 ID, 섹션 MAC 주소 세그먼트들 및 IP 주소중 하나 이상으로 맵핑할 수 있다.
다음 설명인 구성(formation) 및 클러스터 맵의 사용은 도 3에서 도시된 클러스터 필터 모듈(304)을 참조하여 만들어진다. 패킷 스트림(302)은 패킷들(302a-302h)을 포함한다. 필터 클러스터 모듈(304)은 필터 요소들(304a-304l)의 풀(pool)을 포함한다. 필터들(304a-304d)은 1바이트 필터들이며, 필터들(304e-304h)은 2바이트 필터들이고, 필터들(304i 및 304j)은 3바이트 필터들이고, 필터들(304k 및 304l)은 4바이트 필터들이다. 물론 어떠한 수의 필터들 및 필터 크기들의 어떠한 조합도 클러스터 필터 모듈(304)에 포함될 수 있다. 작동시에, 하나 이상의 필터들(304a-304l)이 필터링 작동을 위해 선택된다. 클러스터 맵핑 모듈(204)에 의해 생성된 클러스터 맵은 사용된 필터들의 수, 개개의 오프셋 값, 원하는 필터값들을 가진 필터 마스크들, 각 필터 요소에 대한 적용 가능한 결합자 논리(combinatory logic), 및 (필터들에 의해 맵핑된) 특정 필터 요청의 모든 필터요소들에 대한 적용 가능한 결합자 논리를 포함할 수 있다.
결합자 논리는 어떤 어플리케이션 경우들에 대해 최적으로 사용될 수 있다. 이것의 첫번째 경우는 2 또는 그 이상의 필터 파라미터들 (또는 그 일부들)이 사용될 더 적은 필터들을 허가하는 경우로, 즉 필터 자원 최적화이다. 예를 들면, 만약 클라이언트 시스템(202)으로부터 클러스터 맵핑 모듈(204)로의 2개의 필터 요청들로부터의 2 세트들의 필터 파라미터들간의 차이가 IP 주소의 최종 비트에 있다면(예를 들면, 최종 바이트들이 10000011 및 10000010이다), 적어도 2개의 최적화들이 가능하다. 제1 최적화에서, (이러한 하나의 주소 세그먼트에 대한 것을 제외하고) 모든 다른 필터들이 공유될 수 있다(예를 들면, 2가지 경우들 모두에서 필터들이 동일할 때, 단지 하나의 필터만이 최상위 주소 비트들에서 작동하고 있다). 제2 최적화에서는, 마스크를 최적화함으로써(예를 들면, 하나의 1000001x 비트 마스크) 단지 하나의 필터만이 세그먼트들 모두를 위해 요구된다. 두번째 경우의 결합자 로직은 클러스터 필터 모듈(204)중 복수의 물리적 필터들이 복수의 필터 요청들에서 사용되는 경우이다.
또한, 결합자 로직은 완전 필터 요청(complete filter request)에 대한 결과를 계산하기 위해 이러한 물리적 필터들의 결과를 조합하는데 사용될 수 있다. 예를 들면, 만약 필터 요청 A가 물리적 필터 X의 결과가 참(true)이고, 물리적 필터 Y의 결과가 참(true)일 것을 요구한다면, 필터 요청 A의 결과를 계산하기 위해 몇 가지 결합자 논리가 사용될 수 있다. 다른 예시에서, 필터 요청 B는 물리적 필터 X가 참(true)이고, 물리적 필터 Z가 거짓(false)일 것을 요구할 수 있다. 당해 분야의 숙련자라면 본 발명의 실시예에서 OR, XOR, AND, NOR, 또는 다른 함수들 및 이러한 것들의 어떠한 조합이 사용될 수 있다는 것을 인식할 것이다. 또한, 당해 분야의 숙련자라면, 결합자 로직은 다수의 결합자 단계들로부터 필터 결과를 생성하는 계층적 구조들을 포함하는 다단계(multi-stage)일 수 있다는 것을 인식할 것이다.
본 발명의 다른 태양들은 다단계 필터링 장치들에 적용될 수 있다. 도 5는 다단계 필터 실시예를 기술한다. 6개의 데이터 섹션들을 가진 패킷(502)이 클러스터 필터 모듈(504)에 도착한다. 클러스터 필터 모듈(504)은 3개의 2바이트 필터들(504a-504c)을 포함한다. 당해 분야의 숙련자라면, 어떠한 수의 필터 요소들도 클러스터 필터 모듈(504)에 포함될 수 있으며, 필터 요소들은 다양한 다른 크기들 및 오프셋 값들을 가질 수 있다는 것을 인식할 것이다. 도시된 실시예에서, 패킷(502)의 처음 3개 섹션들은 위에서 기술된 방식으로 필터들(504a-504c)에 의해 필터링된다. 패킷(502)의 4번째부터 6번째 섹션들은 버퍼(504d)에서 수신된다. 필터들(504a-504c)은 제1 단계에서 데이터중 처음의 3개 섹션들을 필터링한다. 제2 단계에서, 필터들(504a-504c)은 데이터의 4번째부터 6번째 섹션들을 수신하고, 필터링한다. 데이터의 4번째부터 6번째 섹션들은 버퍼(504d)로부터 수신된다. 다단계 필터링은 클러스터 필터 모듈내의 필터 요소들의 수를 최소화하는 것이 이상적인 어플리케이션들에서 사용될 수 있으며, 데이터를 필터링하기 위해 특정 어플리케이션이 상대적으로 더 긴 시간 주기를 고려할 때에 사용될 수 있다.
도 6은 본 발명의 실시예에 따라, 클러스터 맵(cluster map)을 생성하기 위해 클러스터 맵핑 모듈(204)에 의해 구현될 수 있는 방법을 기술한다. 필터 모듈은 데이터 의 패킷에서 발견될 수 있는 데이터의 클러스터들을 필터링한다. 우선, 단계 602에서, 데이터의 이산 섹션들(discrete sections)중 적어도 2개 클러스터들의 ID가 수신된다. 클라이언트 시스템(202)은 상기 클러스터들의 ID를 클러스터 맵핑 모듈(204)로 전송할 수 있다. 다음, 단계 604에서, 개개의 고정 길이 필터들(individual fixed length filters)이 선택된다. 상기 선택은 클러스터들의 크기들 및 위치들과 같은 인자들에 기초할 수 있다. 단계 606에서, 오프셋 값들이 선택된다. 오프셋 값들은 위에서 기술되었으며, 필터 자원들이 최적화되도록 선택될 수 있다. 오프셋 값들은 데이터의 의 이산 섹션들의 클러스터들의 처음에 대응하도록 선택될 수 있다. 예를 들면, 만약 데이터의 클러스터가 도 1에서 (도시된) 패킷(100)의 섹션들(108 및 110)로 이루어진다면, 불필요한 비트들을 필터링하는 것을 막기 위해 24비트의 오프셋 값이 선택될 수 있다.
단계 608에서는, 선택된 파일들의 세그먼트들을 식별하는 필터 마스크가 생성된다. 예를 들면, 클러스터 필터 모듈은 2개의 2 바이트 필터들을 포함한다면, 상기 마스크는 11111111 00000000 11110000 11111111 (이진수)일 수 있다. 상기 마스크는 맨 처음의 고정된 2바이트 필터에서, 단지 높은 바이트만이 필터링에서 사용된다는 것을 나타낸다. 두번째 2 바이트 필터에서는, 4개의 고차 비트들 및 하위 바이트가 필터링에 사용된다.
다음, 단계 610에서, 필터값들이 제공된다. 일 실시예에서, 필터값들은 클라이언트 시스템(202)으로부터 수신된다. 예시로서, 위의 필터 마스크에 대응하는 필터값은 10111001 xxxxxxxx 1010xxxx 11001010 (이진수)일 수 있다. 필터값은 필터링된 데이터의 값이 제1 고정 필터에서 상위 바이트에 대해 10111001이어야 한다는 것을 의미한다. 하위 바이트의 값은 0011xxxx 10100000일 수 있다. 상기 값 x는 "돈 케어(don't care)" 값에 대응하고, 마스크 값에 의해 설정된다. 마지막으로, 단계 612에서, 상기 필터링된 값을 조합하기 위해 결합자 규칙들(combinatory rules)이 생성될 수 있다.
또한, 당해 분야의 숙련자는 상기 필터링이 어떤 평가기준에 일치시키기 위해 데이터를 분석하는 단계, 및 다음 단계로 데이터를 전달하거나 또는 상기 데이터를 폐기하는 단계중 어느 하나의 과정을 포함할 수 있다는 것을 인식할 것이다. 몇몇 실시예들에서, 분석된 데이터 및 전달된 데이터는 몇 가지 공통성(commonality)을 공유한다. 예를 들면, 계층 2 헤더 및 계층 3 패킷은 계층 2 헤더 및 계층 3 패킷을 분석하고, 계층 3 패킷만을 통과시킴으로써, 필터링될 수 있다. 대안적 실시예들에서, 상기 분석된 데이터 및 처리된 데이터는 아무런 공통성이 없을 수 있다. 예를 들면, 계층 2 헤더가 분석될 수 있고, 계층 3 패킷은 통과될 수 있다.
본 발명은 특정 예시들에 관해 기술되었지만, 당해 분야의 숙련자들은 첨부된 청구항들에서 설명된 바와 같이 본 발명의 정신 및 범위내에 해당하는 위에서 기술된 시스템들 및 기술들의 다양한 변형들 및 변경들이 존재한다는 것을 인식할 것이다. 예를 들면, 개시된 방법들은 플로피 디스크 또는 CD-ROM과 같은 컴퓨터로 독출 가능한 매체 또는 ASIC 또는 FPGA와 같은 특정 하드웨어상에 기록된 컴퓨터로실행 가능한 명령어들로서 구현될 수 있다. 본 발명은 DVB, 예를 들면 이더넷 프레임들에서의 IP 패킷들보다 다른 네트워크 인터페이스들에 대해 사용될 수 있다.

Claims (22)

  1. 데이터를 필터링하기 위한 장치로서, 상기 데이터는 이산 세그먼트들(discrete segments)을 가지는 패킷에서 포맷된 필터링 장치에 있어서, 상기 장치는 맵핑 모듈을 포함하며, 상기 맵핑 모듈은
    (a) 데이터의 상기 이산 세그먼트들의 적어도 2개의 클러스터들의 ID(Identification)를 수신하는 단계; 및
    (b) 상기 적어도 2개의 클러스터들을 필터링하기 위해 복수의 고정 길이 필터들중 적어도 2개를 선택하는 단계;를 수행하기 위한 제어 로직을 포함하는 것을 특징으로 하는 필터링 장치.
  2. 제1항에 있어서, 상기 복수의 고정 길이 필터들은
    공통 길이(common length)를 가지는 것을 특징으로 하는 필터링 장치.
  3. 제2항에 있어서, 상기 복수의 고정 길이 필터들 각각은
    2 바이트인 것을 특징으로 하는 필터링 장치.
  4. 제1항에 있어서, 상기 복수의 고정 길이 필터들은
    상기 복수의 고정 길이 필터들 각각이 상기 패킷의 상기 이산 세그먼트들의 하나에 대응하는 오프셋 값을 가지도록 구성되는 것을 특징으로 하는 필터링 장치.
  5. 제4항에 있어서, 상기 복수의 고정 길이 필터들중 적어도 하나는
    오프셋 값 0을 가지는 것을 특징으로 하는 필터링 장치.
  6. 제1항에 있어서, 데이터의 상기 적어도 2개의 클러스터들중 제1 클러스터은
    제1 프로토콜에 따라 포맷되고, 데이터의 상기 적어도 2개의 클러스터들중 제2 클러스터은 상기 제1 프로토콜과는 다른 제2 프로토콜에 따라 포맷되는 것을 특징으로 하는 필터링 장치.
  7. 제1항에 있어서, 상기 필터링 장치는
    상기 복수의 고정 길이 필터들을 포함하는 필터 모듈을 더 포함하는 것을 특징으로 하는 필터링 장치.
  8. 제7항에 있어서, 상기 필터 모듈은
    (a) 데이터의 상기 이산 세그먼트들의 상기 적어도 2개의 클러스터들을 수신하는 단계; 및
    (b) 상기 복수의 고정 길이 필터들중 적어도 2개를 가지고 데이터의 상기 이산 세그먼트들의 적어도 2개의 클러스터들을 필터링하는 단계를 수행하기 위한 제어 로직을 포함하는 것을 특징으로 하는 필터링 장치.
  9. 제1항에 있어서, 상기 (a) 단계는
    상기 데이터의 프로토콜의 ID 및 값을 수신하는 단계를 포함하는 것을 특징으로 하는 필터링 장치.
  10. 제1항에 있어서, 프로토콜은
    DVB-T를 포함하고, 상기 값은 IP 주소를 포함하는 것을 특징으로 하는 필터링 장치.
  11. 제9항에 있어서, 상기 맵핑 모듈은
    상기 데이터의 상기 프로토콜의 상기 ID 및 상기 값을 데이터의 상기 이산 세그먼트들의 상기 적어도 2개의 클러스터들로 맵핑하는 단계를 수행하기 위한 제어 로직을 더 포함하는 것을 특징으로 하는 필터링 장치.
  12. 데이터의 패킷에서 발견되는 데이터의 클러스터들을 필터링하기 위해 필터 모듈에 의해 사용되기 위한 맵을 생성하는 방법에 있어서,
    (a) 데이터의 이산 세그먼트들의 적어도 2개의 클러스터들의 ID(Identification)를 수신하는 단계; 및
    (b) 상기 적어도 2개의 클러스터들을 필터링하기 위해 복수의 고정 길이 필터들중 적어도 2개를 선택하는 단계;를 포함하는 것을 특징으로 하는 방법.
  13. 제12항에 있어서, 상기 방법은
    (c) 상기 복수의 고정 길이 필터들중 적어도 2개의 세그먼트들을 식별하는 필터 마스크를 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서, 상기 방법은
    (d) 필터값을 제공하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 제13항에 있어서, 상기 방법은
    (d) 상기 복수의 고정 길이 필터들중 적어도 2개에 의해 필터링된 데이터를 조합하기 위한 적어도 하나의 규칙들을 생성하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  16. 제12항에 있어서, 상기 방법은
    (c) 상기 복수의 고정 길이 필터들중 적어도 2개에 대해 오프셋 값들을 선택하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  17. 제12항에 있어서, 데이터의 상기 적어도 2개의 클러스터들중 제1 클러스터은
    제1 프로토콜에 따라 포맷되고, 데이터의 상기 적어도 2개의 클러스터들중 제2 클러스터은 상기 제1 프로토콜과는 다른 제2 프로토콜에 따라 포맷되는 것을 특징으로 하는 방법.
  18. 데이터의 패킷에서 발견되는 데이터의 클러스터들을 필터링하기 위해, 맵핑 모듈(mapping module)이 필터 모듈에 의해 사용되기 위한 맵을 생성하도록 하는 컴퓨터로 실행 가능한 명령어들을 포함하는 컴퓨터로 독출 가능한 매체에 있어서,
    상기 컴퓨터로 실행 가능한 명령어들은 상기 맵핑 모듈이
    (a) 데이터의 이산 세그먼트들의 적어도 2 클러스터들의 ID(Identification)를 수신하는 단계; 및
    (b) 상기 적어도 2개의 클러스터들을 필터링하기 위해 복수의 고정 길이 필터들중 적어도 2개를 선택하는 단계;를 수행하도록 하는 것을 특징으로 하는 컴퓨터로 독출 가능한 매체.
  19. 제18항에 있어서, 상기 컴퓨터로 독출 가능한 매체는
    상기 맵핑 모듈이
    (c) 상기 복수의 고정 길이 필터들중 적어도 2개의 세그먼트들을 식별하는 필터 마스크를 생성하는 단계를 수행하도록 하는 컴퓨터로 실행 가능한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 매체.
  20. 제19항에 있어서, 상기 컴퓨터로 독출 가능한 매체는
    상기 맵핑 모듈이
    (c) 필터값을 제공하는 단계를 수행하도록 하는 컴퓨터로 실행 가능한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 매체.
  21. 제19항에 있어서, 상기 컴퓨터로 독출 가능한 매체는
    상기 맵핑 모듈이
    (d) 상기 복수의 고정 길이 필터들중 적어도 2개에 의해 필터링된 데이터를 조합하기 위한 적어도 하나의 규칙들을 생성하는 단계를 수행하도록 하는 컴퓨터로 실행 가능한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 매체.
  22. 제18항에 있어서, 상기 컴퓨터로 독출 가능한 매체는
    상기 맵핑 모듈이
    (c) 상기 복수의 고정 길이 필터들중 적어도 2개에 대해 오프셋 값들을 선택하는 단계를 수행하도록 하는 컴퓨터로 실행 가능한 명령어들을 더 포함하는 것을 특징으로 하는 컴퓨터로 독출 가능한 매체.
KR1020047009276A 2001-12-20 2002-12-13 클러스터 필터링 KR100942448B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/027,048 2001-12-20
US10/027,048 US7487254B2 (en) 2001-12-20 2001-12-20 Fixed length filtering to filter clusters of discrete segments of data
PCT/IB2002/005382 WO2003054715A1 (en) 2001-12-20 2002-12-13 Cluster filtering

Publications (2)

Publication Number Publication Date
KR20040063951A true KR20040063951A (ko) 2004-07-14
KR100942448B1 KR100942448B1 (ko) 2010-02-17

Family

ID=21835379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020047009276A KR100942448B1 (ko) 2001-12-20 2002-12-13 클러스터 필터링

Country Status (6)

Country Link
US (1) US7487254B2 (ko)
EP (1) EP1472612A4 (ko)
KR (1) KR100942448B1 (ko)
CN (1) CN1662896B (ko)
AU (1) AU2002348806A1 (ko)
WO (1) WO2003054715A1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6728241B2 (en) * 2002-02-27 2004-04-27 Nokia Corporation Boolean protocol filtering
US20030167321A1 (en) * 2002-03-01 2003-09-04 Schneider Automation Inc. System and method for optimal setting of message acceptance filters
US8296452B2 (en) * 2003-03-06 2012-10-23 Cisco Technology, Inc. Apparatus and method for detecting tiny fragment attacks
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006107531A2 (en) 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9225663B2 (en) 2005-03-16 2015-12-29 Adaptive Computing Enterprises, Inc. System and method providing a virtual private cluster
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US20070116051A1 (en) * 2005-11-23 2007-05-24 Chen An M Method and apparatus for transporting IP datagrams over FLO network
US20080263191A1 (en) * 2007-04-19 2008-10-23 Hemal Shah Method and system for handling packet filtering information
TWI347784B (en) * 2007-08-07 2011-08-21 Himax Tech Ltd Flexible length decoder
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9230005B2 (en) * 2012-12-30 2016-01-05 International Business Machines Corporation Spatiotemporal encounters detection in historical movement datasets
CN105488020B (zh) * 2015-12-01 2018-09-04 交控科技股份有限公司 一种数据处理方法及系统

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473607A (en) * 1993-08-09 1995-12-05 Grand Junction Networks, Inc. Packet filtering for data networks
US6047333A (en) * 1994-05-04 2000-04-04 National Semiconductor Corporation Node adapter including hardware arrangement for filtering broadcast data on network
US5544161A (en) 1995-03-28 1996-08-06 Bell Atlantic Network Services, Inc. ATM packet demultiplexer for use in full service network having distributed architecture
US5548340A (en) 1995-05-31 1996-08-20 International Business Machines Corporation Intelligent television receivers combinations including video displays, and methods for diversion of television viewers by visual image modification
US5790554A (en) * 1995-10-04 1998-08-04 Bay Networks, Inc. Method and apparatus for processing data packets in a network
US5903816A (en) 1996-07-01 1999-05-11 Thomson Consumer Electronics, Inc. Interactive television system and method for displaying web-like stills with hyperlinks
CA2253703C (en) 1997-02-28 2006-04-11 Koninklijke Philips Electronics N.V. Transmission system for transmitting a flexible multiplex signal
US5951651A (en) * 1997-07-23 1999-09-14 Lucent Technologies Inc. Packet filter system using BITMAP vector of filter rules for routing packet through network
US6085328A (en) * 1998-01-20 2000-07-04 Compaq Computer Corporation Wake up of a sleeping computer using I/O snooping and imperfect packet filtering
US6341130B1 (en) 1998-02-09 2002-01-22 Lucent Technologies, Inc. Packet classification method and apparatus employing two fields
US6289013B1 (en) * 1998-02-09 2001-09-11 Lucent Technologies, Inc. Packet filter method and apparatus employing reduced memory
EP0964572A1 (en) 1998-06-08 1999-12-15 CANAL+ Société Anonyme Decoder and security module for a digital transmission system
US6370583B1 (en) * 1998-08-17 2002-04-09 Compaq Information Technologies Group, L.P. Method and apparatus for portraying a cluster of computer systems as having a single internet protocol image
US6347087B1 (en) * 1998-10-05 2002-02-12 Packet Engines Incorporated Content-based forwarding/filtering in a network switching device
SE514282C2 (sv) 1999-04-22 2001-02-05 Nokia Multimedia Terminals Oy Förfarande och anordning för rullbar krysspunktnavigering i ett användargränssnitt
GB2349554B (en) * 1999-04-29 2004-01-14 Ibm A method for encoding data
JP2001103393A (ja) 1999-09-28 2001-04-13 Sony Corp 受信装置および方法、並びに記録媒体
JP3441422B2 (ja) * 2000-05-31 2003-09-02 株式会社東芝 無線機制御端末装置および無線システム
EP1267579A3 (en) 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
US6728241B2 (en) * 2002-02-27 2004-04-27 Nokia Corporation Boolean protocol filtering

Also Published As

Publication number Publication date
US7487254B2 (en) 2009-02-03
AU2002348806A1 (en) 2003-07-09
EP1472612A4 (en) 2008-04-16
WO2003054715A1 (en) 2003-07-03
CN1662896B (zh) 2010-05-26
CN1662896A (zh) 2005-08-31
KR100942448B1 (ko) 2010-02-17
EP1472612A1 (en) 2004-11-03
US20030135636A1 (en) 2003-07-17

Similar Documents

Publication Publication Date Title
KR100942448B1 (ko) 클러스터 필터링
US10805371B2 (en) Transmitting and receiving media packet streams
JP6606240B2 (ja) 放送システムにおけるマルチメディアデータの転送装置及び方法
CN109150823B (zh) 使用可缩放帧速率进行的原始视频传输和接收
US8848709B2 (en) Source rooted multicast (SRM)
US20050021590A1 (en) Resolving a distributed topology to stream data
US20100284417A1 (en) Data stream router
KR20040055825A (ko) 상이한 우선순위 레벨들로 다수의 데이터 타입의 데이터스트림들을 전달하는 시스템 및 방법
JP2003510964A (ja) パケット通信での性能を改善するためのヘッダフィールドの操作
US7882257B2 (en) Stream processing node
JP5535498B2 (ja) 送信装置及び伝送方法
US20020141336A1 (en) Controlling packet flow through a stack using service records
US7161940B2 (en) Broadcasting communications system
CN1697445A (zh) 一种实现虚拟私有网络中数据传输的方法
US20220417335A1 (en) Method for configuring a communication network for the cyclical transmission of messages
CN105207801A (zh) 一种基于IPv6流标签的业务类表示方法
TWI449391B (zh) 識別碼的產生與辨識方法與通訊系統
US20040205000A1 (en) Method and system to provide physical port security in a digital communication system
US11968119B1 (en) Service Function Chaining using uSID in SRv6
US20020085574A1 (en) Stream switch fabric
JP2007251442A (ja) マルチキャスト配信装置およびマルチキャスト配信方法
JP2000228685A (ja) インターフェース装置及び受信装置
EP2045969A1 (en) Data stream router

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130117

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee