Boolean protocol filtering
AssigneeNokia Corporation
InventorsTomi Hakkarainen, Pasi Kärkäs, Harri Pekonen
Life of this patent
Estimating the term…
Abstract
The present invention provides methods and apparatus for filtering a broadcast data stream that can support data flow, e.g. IPv6 packets. The present invention utilizes common filtering for packet segments that are common among IPv6 packets. Segments that are not common are separately filtered. A set of rules is applied to the filtered segments in order to determine whether corresponding packets should be subsequently processed. The present invention is applicable to numerous application including MPEG multicast services.
Claims8
A method comprising:
- receiving a data stream comprising a first service and a second service, the first service comprising a first packet, the first packet comprising a first address segment, the first address segment corresponding to a terminating portion of a service address field, the terminating portion being a proper subset of the service address field, the second service comprising a second address segment, the second address segment corresponding to the terminating portion of the service address field;
- determining a predetermined terminating value;
- comparing the predetermined terminating value stored in a register to the first address segment to determine a first Boolean value;
- in response to said determining that the first Boolean value equals ‘True’, processing the first packet to support the first service;
- configuring a filter arrangement to process the first address segment by:
- (i) receiving an identification of at least two clusters comprising the first address segment of the first packet;
- and
- (ii) selecting at least two of a plurality of fixed length filters to filter the at least two clusters;
- comparing the predetermined terminating value stored in the register to the second address segment to determine a second Boolean value;
- and
- in response to said determining that the second Boolean value equals ‘True’, processing the second packet to support the second service.
An apparatus comprising:
- a filter arrangement configured to compare a predetermined segment value with a first segment of a first packet, the first packet contained in a first service, wherein the filter arrangement comprises:
- a mapping module configured to obtain an identification of at least two clusters and configured to select at least two of a plurality of fixed length filters to filter the at least two clusters, wherein the at least two clusters comprise a first address segment of the first packet;
- a filter module comprising the plurality of fixed length filters that filters the at least two clusters;
- and
- a processor that configures the filter arrangement, wherein the processor is configured to:
- receive a data stream comprising the first service and a second service, the first address segment corresponding to a terminating portion of a service address field, the terminating portion being a proper subset of the service address field, the second service comprising a second address segment, the second address segment corresponding to the terminating portion of the service address field;
- determine a predetermined terminating value;
- compare the predetermined terminating value stored in a register to the first address segment to determine a first Boolean value;
- responsive to said determining that the first Boolean value equals ‘True’, process the first packet to support the first service;
- compare the predetermined terminating value stored in the register to the second address segment to determine a second Boolean value;
- and
- responsive to said determining that the second Boolean value equals ‘True’, process the second packet to support the second service.
A non-transitory computer-readable medium storing computer-executable instructions that, when executed by an apparatus, cause the apparatus to:
- receive a data stream comprising a first service and a second service, the first service comprising a first packet, the first packet comprising a first address segment, the first address segment corresponding to a terminating portion of a service address field, the terminating portion being a proper subset of the service address field, the second service comprising a second address segment, the second address segment corresponding to the terminating portion of the service address field;
- determine a predetermined terminating value;
- compare the predetermined terminating value stored in a register to the first address segment to determine a first Boolean value;
- responsive to said determining that the first Boolean value equals ‘True’, process the first packet to support the first service;
- configuring configure a filter arrangement to process the first address segment by:
- receiving an identification of at least two clusters comprising the first address segment of the first packet;
- and
- selecting at least two of a plurality of fixed length filters to filter the at least two clusters;
- compare the predetermined terminating value stored in the register to the second address segment to determine a second Boolean value;
- and
- responsive to said determining that the second Boolean value equals ‘True’, process the second packet to support the second service.
Dependencies are inferred from the claim text.