IP Library Granted Patent US 7,924,827
Granted Patent B2
US 7,924,827 · App. 10/818,542 · Granted Apr 12, 2011

Boolean protocol filtering

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,924,827
App. No.
10/818,542
Granted
Apr 12, 2011
Kind
B2
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.

Claims (39)

1. 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.

2. The method of claim 1 , further comprising:

generating a filter mask that identifies segments of the at least two of a plurality of fixed length filters.

3. The method of claim 2 , further comprising: providing filter values.

4. The method of claim 3 , further comprising:

receiving a selection of the first service; and

determining the filter values corresponding to the first service.

5. The method of claim 1 , wherein an address format of the service address field is selected from the group consisting from an IP version 4 address and an IP version 6 address.

6. 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.

7. The apparatus of claim 6 , wherein the filter arrangement comprises integrated circuits.

8. 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.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Jun 3, 2021
From: TERRIER SSC, LLC
To: WSOU INVESTMENTS, LLC
Reel/Frame 056526/0093 →
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
RELEASE OF SECURITY INTEREST Recorded May 21, 2019
From: OCO OPPORTUNITIES MASTER FUND, L.P. (F/K/A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP
To: WSOU INVESTMENTS, LLC
Reel/Frame 049246/0405 →
SECURITY INTEREST Recorded May 20, 2019
From: WSOU INVESTMENTS, LLC
To: BP FUNDING TRUST, SERIES SPL-VI
Reel/Frame 049235/0068 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: NOKIA TECHNOLOGIES OY
To: WSOU INVESTMENTS, LLC
Reel/Frame 043953/0822 →
SECURITY INTEREST Recorded Sep 21, 2017
From: WSOU INVESTMENTS, LLC
To: OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP
Reel/Frame 043966/0574 →