IP Library Patent Application 12266362
Patent Application
App. No. 12/266,362

ENGINE FOR RULE BASED CONTENT FILTERING

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 None
App. No.
12/266,362
Abstract

An engine for editing contents of data containers has a set of processors which hosts a set of controllers, each controller coupled to a respective set of transcoders. A memory device stores an array of Boolean variables characterizing the contents of a container, and an array of encoded rules for determining needed content editing, if any. The Boolean variables are determined according to content descriptors and respective criteria. A graphical user interface enables a user to provide the descriptors, the criteria, and the encoded rules. Each transcoder applies the encoded rules to specific containers. A transcoder also performs container adaptation functions which may modify contents of a container to be compatible with a respective receiver. The engine receives containers from clients through a network and directs each container to a respective controller.

Claims (68)

1 . An engine for editing content of containers, the engine comprising:

a network interface for receiving said containers from clients and directing each container to a respective controller from among a plurality of controllers for identifying and parsing said containers;

a memory device for storing:

an array of Boolean variables, each said Boolean variable determined according to a respective operator applicable to a first operand characterizing said content and a second operand specifying a target value of said first operand; and

an array of encoded rules, each rule specifying a respective content-editing action activated by a value of a respective Boolean expression of a respective subset of said Boolean variables;

and

a plurality of processors hosting transcoders, each transcoder for applying at least one of said encoded rules to a subset of said containers.

2 . The engine of claim 1 , further comprising:

an operation manager comprising computer readable instructions stored in a computer readable storage medium for performing operation, administration, and maintenance functions;

a graphical user interface, comprising computer readable instructions stored in a computer readable storage medium, coupled to said operation manager for entering said array of encoded rules and for assigning to each controller a respective subset of said transcoders; and

a configuration memory device for storing identifiers of transcoders assigned to each controller.

3 . The engine of claim 1 , further comprising a sorting module, comprising computer readable instructions stored in a computer readable storage medium, coupled to said network interface, for sorting containers into container types, each container type corresponding to a protocol according to which a container is formulated, and directing containers of a specific type to a specific controller from among said plurality of containers.

4 . The engine of claim 2 , further comprising a controller-load-balancing module, comprising computer readable instructions stored in a computer readable storage medium, coupled to said operation manager, said controller-load-balancing module comprising means for dynamic assignment of transcoders to controllers according to a time-varying flow rate of said containers.

5 . The engine of claim 2 , further comprising a transcoder-load-balancing module coupled to said each controller for equitably assigning container editing requests among transcoders assigned to said each controller.

6 . The engine of claim 1 , further comprising a blade server hosting said each controller and said respective subset of said transcoders, said blade server comprising:

a processor having multiple cores, each core exclusively assigned to a transcoder of said subset of transcoders;

a plurality of memory devices;

an input interface; and

an output interface.

7 . The engine of claim 6 , further comprising:

a transcoder-service module coupled to each transcoder of said plurality of transcoders for receiving new programs from external sources;

a program storage medium for storing a plurality of programs accessible to said each transcoder; and

a program registry, comprising computer readable instructions stored in a computer readable storage medium, for identifying a function of each new program and organizing programs according to respective functions.

8 . The engine of claim 7 , wherein said transcoder-service module further comprises computer readable instructions stored in a computer readable storage medium, which, when executed, cause a core of said processor to:

receive a specific container and an editing request from a specific controller from said plurality of controllers;

select and execute programs relevant to said editing request; and

return a result to said specific controller.

9 . The engine of claim 7 , wherein said program registry comprises computer readable instructions which, when executed, causes a core of said processor to:

organize programs according to respective functions; and

replace existing programs with respective new programs.

10 . The engine of claim 7 , wherein said program storage medium comprises:

resident programs stored in the computer readable storage medium; and

dynamically loaded external programs stored in the computer readable storage medium.

11 . A method of filtering a data container having multiple components, comprising:

selecting a component;

determining a plurality of binary conditions characterizing content of said component;

formulating a set of Boolean expressions, each comprising a Boolean operator and at least two operands selected from said set of binary conditions;

executing each Boolean expression of said set of Boolean expressions to determine a set of content indicators, said indicators having a one-to-one correspondence to said Boolean expressions; and

performing an editorial function relevant to said content corresponding to each of said indicators.

12 . The method of claim 11 , further comprising performing a further editorial function based on a single binary condition.

13 . The method of claim 12 , further comprising arranging said Boolean expressions in an order according to which an indicator resulting from executing a Boolean expression conditionally precludes execution of at least one subsequent Boolean expression.

14 . The method of claim 13 , further comprising determining said Boolean expressions according to:

specified descriptors of said content; and

preset criteria corresponding to said descriptors.

15 . The method of claim 12 , wherein the step of performing the editorial function comprises one of:

scanning said content to detect malicious insertions and removal of detected malicious insertions; and

scanning said content to detect malicious insertions and deletion of said content upon detecting malicious insertions.

16 . A method of editing content of a data container using a computing device, comprising:

formulating a set of descriptors of said content;

specifying a set of criteria corresponding to said descriptors;

specifying a set of operators;

defining a set of Boolean variables, each Boolean variable being an outcome of applying an operator from among said set of operators to a first operand and a second operand, where said first operand is a descriptor selected from among said set of descriptors, and said second operand is a criterion selected from among said set of criteria; and

defining a set of rules, each rule executing a Boolean expression, selected from among a set of Boolean expressions, of a subset of said Boolean variables and performing an action, selected from among a set of actions relevant to said content, according to an outcome of said executing.

17 . The method of claim 16 , wherein said set of descriptors comprises at least one of the following:

a size of said content;

a content family from among a set of predefined content families;

an encoding method; and

a priority designation.

18 . The method of claim 16 , wherein said set of operators comprises one or more of the following:

unary operators;

binary operators;

arithmetic operators;

comparison operators;

logical operators;

set operators; and

user-defined operators.

19 . The method of claim 16 , further comprising entering said set of descriptors, said set of criteria, said set of operators, and said set of Boolean expressions through a graphical user interface comprising computer readable instructions stored in a memory of said computing device.

20 . The method of claim 16 , further comprising selecting said content to include a portion of said data container.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Mar 21, 2017
From: NXT CAPITAL LLC
To: VANTRIX CORPORATION
Reel/Frame 042050/0722 →
CHANGE OF ADDRESS Recorded Mar 1, 2017
From: VANTRIX CORPORATION
To: VANTRIX CORPORATION
Reel/Frame 041845/0022 →
RELEASE OF SECURITY INTEREST Recorded Jun 14, 2013
From: WF FUND III LIMITED PARTNERSHIP, C.O.B. WELLINGTON FINANCIAL FUND III AND WELLINGTON FINANCIAL LP
To: VANTRIX CORPORATION
Reel/Frame 030615/0063 →
SECURITY AGREEMENT Recorded Mar 20, 2013
From: VANTRIX CORPORATION
To: NXT CAPITAL, LLC, ITS SUCCESSORS AND ASSIGNS
Reel/Frame 030053/0824 →
SECURITY AGREEMENT Recorded Mar 7, 2011
From: VANTRIX CORPORATION
To: WF FUND III LIMITED PARTNERSHIP, C.O.B. WELLINGTON FINANCIAL FUND III AND WELLINGTON FINANCIAL LP
Reel/Frame 025907/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2008
From: NORTON, RICHARD ELLIOTT; POIRIER-BEAUCHEMIN, LOUIS-RENE; HEROUX, ROBERT; LAVALLIERE, JOSEPH CLAUDE MARIO
To: VANTRIX CORPORATION
Reel/Frame 021809/0154 →