US 11,968,178 B2
Reduction and acceleration of a deterministic finite automaton
Subramani Ganesh, Sunnyvale, CA (US); Sidong Li, Saratoga, CA (US); and Lei Chang, Saratoga, CA (US)
Assigned to Palo Alto Networks, Inc., Santa Clara, CA (US)
Filed by Palo Alto Networks, Inc., Santa Clara, CA (US)
Filed on May 10, 2022, as Appl. No. 17/741,158.
Application 17/741,158 is a continuation of application No. 16/916,632, filed on Jun. 30, 2020, granted, now 11,362,998.
Application 16/916,632 is a continuation of application No. 16/127,086, filed on Sep. 10, 2018, granted, now 10,742,609, issued on Aug. 11, 2020.
Application 16/127,086 is a continuation of application No. 15/141,729, filed on Apr. 28, 2016, granted, now 10,110,563, issued on Oct. 23, 2018.
Prior Publication US 2022/0272072 A1, Aug. 25, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. H04L 9/40 (2022.01); G06F 16/22 (2019.01); G06F 16/903 (2019.01)
CPC H04L 63/0263 (2013.01) [G06F 16/2237 (2019.01); G06F 16/2282 (2019.01); G06F 16/90344 (2019.01); H04L 63/06 (2013.01); H04L 63/20 (2013.01)] 8 Claims
OG exemplary drawing
 
1. A system, comprising:
a processor configured to:
receive an input value;
receive an update that includes updated versions of a bitmap table, a default state table, and a rule table from a cloud security service, wherein the updated versions of the bitmap table, the default state table, and the rule table are stored;
determine a next state based on a lookup key by performing a lookup in the updated bitmap table using the lookup key to determine whether to obtain the next state from the updated default state table or the updated rule table, wherein the lookup key comprises a current state and the input value, and wherein the determining of the next state comprises to:
determine whether the updated bitmap table returns a default state or a valid state using the lookup key, the default state corresponding to a most commonly occurring next-state pointer, the default state being different from the valid state; and
in response to a determination that the updated bitmap table returns the default state, determine that the next state is to be obtained from the updated default state table; and
determine the next state based on the lookup key, comprising to:
in response to a determination that the next state is to be obtained from the updated default state table, obtain the next state from the updated default state table based on the lookup key; and
a memory coupled to the processor and configured to provide the processor with instructions.