IP Library Granted Patent US 9,372,886
Granted Patent B2
US 9,372,886 · App. 13/869,236 · Granted Jun 21, 2016

Data filtering in the internet of things

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 9,372,886
App. No.
13/869,236
Granted
Jun 21, 2016
Kind
B2
Abstract

This invention relates to the Internet of Things (IOT), and discloses a method and apparatus of data filtering in the IOT, where the IOT includes a plurality of sensor devices. The method includes: inputting an application deployed rule; converting the rule into at least one sub-predicate expression having static predicates and dynamic predicates; inputting data collected by the sensor devices; matching the collected data with the static predicates and the dynamic predicates of the sub-predicate expression in sequence; and distributing matched data to the application. In this invention, a rule is divided into static and dynamic predicates, and a match is performed on static predicates before dynamic predicates, so that the speed of predicate match can be improved and fast and efficient data filtering in the IOT can be achieved.

Claims (51)

1. A method of data filtering in Internet of Things (IOT), wherein the IOT comprises a plurality of sensor devices, the method comprising:

inputting an application deployed rule;

converting the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates, wherein converting the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates further comprises:

establishing a dynamic predicate match table of the sub-predicate expression, wherein the dynamic predicate match table records dynamic predicates contained in the at least one sub-predicate expression and addresses of the dynamic predicates in the dynamic predicate match table; and

establishing a static distribution table of the sub-predicate expression, wherein the static distribution table records sensor identifiers (IDs) of the sensor devices and addresses in the dynamic predicate match table of the dynamic predicates contained in the at least one sub-predicate expression;

inputting data collected by the sensor devices;

matching the data collected with the static predicates and the dynamic predicates of the at least one sub-predicate expression in sequence; and

distributing matched data to an application.

2. The method according to claim 1 , wherein converting the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates comprises:

decomposing predicates of the application deployed rule into static predicates and dynamic predicates according to sensor device information, wherein the sensor device information includes data records of static properties of the sensor devices; and

converting the application deployed rule into a disjunctive normal form (DNF) formula, wherein the DNF formula includes the at least one sub-predicate expression having static predicates and dynamic predicates.

3. The method according to claim 1 , wherein establishing the static distribution table of the sub-predicate expression comprises:

matching data records of static properties of the sensor devices with the static predicates contained in the at least one sub-predicate expression; and

recording, in the static distribution table, the sensor IDs of the sensor devices and addresses in the dynamic predicate match table of the dynamic predicates contained in the at least one sub-predicate expression, in response to a TRUE match result.

4. The method according to claim 1 , wherein matching the data collected with the static predicates and the dynamic predicates of the at least one sub-predicate expression in sequence comprises:

searching the static distribution table for the sensor IDs of the sensor devices contained in the data collected;

discarding the data collected, in response to a FALSE search result; and

retrieving corresponding dynamic predicates from the dynamic predicate match table according to the addresses in the dynamic predicate match table of dynamic predicates corresponding to the sensor IDs of the sensor devices recorded in the static distribution table, in response to a TRUE search result.

5. The method according to claim 4 , wherein retrieving corresponding dynamic predicates from the dynamic predicate match table according to the addresses in the dynamic predicate match table of dynamic predicates corresponding to the sensor IDs of the sensor devices recorded in the static distribution table further comprises:

matching data having dynamic properties in the data collected with the retrieved corresponding dynamic predicates in sequence; and

discarding the data collected, in response to a FALSE match result.

6. The method according to claim 1 , wherein the static predicates are defined as predicates related to static properties of the sensor devices, and the dynamic predicates are defined as predicates related to dynamic properties of data collected by the sensor devices.

7. An apparatus of data filtering in Internet of Things (IOT), wherein the IOT comprises a plurality of sensor devices, the apparatus comprising:

a rule input module configured to input an application deployed rule;

a rule conversion module configured to convert the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates, wherein the rule conversion module further comprises:

a dynamic predicate match table establishing module configured to establish a dynamic predicate match table of the sub-predicate expression, wherein the dynamic predicate match table records the dynamic predicates contained in the at least one sub-predicate expression and addresses of the dynamic predicates in the dynamic predicate match table; and

a static distribution table establishing module configured to establish a static distribution table of the sub-predicate expression, wherein the static distribution table records sensor identifiers (IDs) of the sensor devices and addresses in the dynamic predicate match table of dynamic predicates contained in the at least one sub-predicate expression;

a data input module configured to input data collected by the sensor devices;

a data match module configured to match the data collected with the static predicates and dynamic predicates of the at least one sub-predicate expression in sequence; and

a data distributing module configured to distribute matched data to an application.

8. The apparatus according to claim 7 , wherein the rule conversion module further comprises:

a predicate decomposing module configured to decompose predicates of the application deployed rule into static predicates and dynamic predicates according to sensor device information, wherein the sensor device information includes data records of static properties of the sensor devices; and

a DNF conversion module configured to convert the application deployed rule into a DNF formula, wherein the DNF formula includes the at least one sub-predicate expression having static predicates and dynamic predicates.

9. The apparatus according to claim 7 , wherein the static distribution table establishing module is further configured to:

match data records of static properties of the sensor devices with static predicates contained in the at least one sub-predicate expression; and

record, in the static distribution table, the sensor IDs of the sensor devices and addresses in the dynamic predicate match table of the dynamic predicates contained in the at least one sub-predicate expression, in response to a TRUE match result.

10. The apparatus according to claim 7 , wherein the data match module is further configured to:

search the static distribution table for the sensor IDs of the sensor devices contained in the data collected;

discard the data collected, in response to a FALSE search result; and

retrieve corresponding dynamic predicates from the dynamic predicate match table according to the addresses in the dynamic predicate match table of dynamic predicates corresponding to the sensor IDs of the sensor devices recorded in the static distribution table, in response to a TRUE search result.

11. The apparatus according to claim 10 , wherein the data match module is further configured to:

match data having dynamic properties in the data collected with the corresponding dynamic predicates that have been retrieved in sequence; and discard the data collected, in response to a FALSE match result.

12. The apparatus according to claim 7 , wherein the static predicates are defined as predicates related to static properties of the sensor devices, and the dynamic predicates are defined as predicates related to dynamic properties of data collected by the sensor devices.

13. A non-transitory article of manufacture tangibly embodying computer readable instructions, which when implemented, cause a computer to perform a method for filtering data in Internet of Things (IOT), wherein the IOT comprises a plurality of sensor devices, the method comprising:

inputting an application deployed rule;

converting the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates, wherein converting the application deployed rule by decomposing predicates of the application deployed rule into at least one sub-predicate expression having static predicates and dynamic predicates further comprises:

establishing a dynamic predicate match table of the sub-predicate expression, wherein the dynamic predicate match table records dynamic predicates contained in the at least one sub-predicate expression and addresses of the dynamic predicates in the dynamic predicate match table; and

establishing a static distribution table of the sub-predicate expression, wherein the static distribution table records sensor identifiers (IDs) of the sensor devices and addresses in the dynamic predicate match table of the dynamic predicates contained in the at least one sub-predicate expression;

inputting data collected by the sensor devices;

matching the data collected with the static predicates and the dynamic predicates of the at least one sub-predicate expression in sequence; and

distributing matched data to an application.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 13, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: HCL TECHNOLOGIES LIMITED
Reel/Frame 050374/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2013
From: FENG, ZHEN TAN; GE, YI; LIU, CHI; LU, WEI; YANG, BO; YU, QI
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030276/0562 →