IP Library Granted Patent US 7,835,361
Granted Patent B1
US 7,835,361 · App. 11/112,252 · Granted Nov 16, 2010

Method and apparatus for identifying data patterns in a file

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,835,361
App. No.
11/112,252
Granted
Nov 16, 2010
Kind
B1
Abstract

A method and apparatus for identifying data patterns of a file are described herein. In one embodiment, an exemplary process includes, but is not limited to, receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream, and performing a data pattern analysis on the received data packet to determine whether the received data packet contains a predetermined data pattern, without waiting for a remainder of the data stream to arrive. Other methods and apparatuses are also described.

Claims (121)

1. A method, comprising:

a network access device receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream;

if the received data packet is out of order, the network access device temporarily buffering the received data packet to wait for one or more other packets that are in order; and

a data analysis module performing a data pattern analysis on a payload of the received data packet and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied.

2. The method of claim 1 , further comprising:

the network access device forwarding the received data packet to the protected host if the payload of the received data packet does not contain the element of the predetermined data pattern over the LAN; and

the network access device preventing the received data packet and the remainder of the data stream from reaching the protected host if the payload of the received data packet contains the element of the predetermined data pattern.

3. The method of claim 2 , further comprising the network access device notifying the protected host over the LAN that the prevented received data packet and the remainder of the data stream have been blocked, if the payload of the received data packet contains the element of the predetermined data pattern.

4. The method of claim 3 , wherein in response to the notification, the protected host discards packets that have been received previously.

5. The method of claim 1 , wherein the predetermined data pattern has been found if a final of the sequence of states is reached.

6. The method of claim 1 , wherein performing a data pattern analysis comprises:

the data analysis module determining whether a next element of the payload of the data packet matches a next element of the predetermined data pattern; and

the data analysis module transitioning from a current state to a next state corresponding to the next element of the predetermined data pattern, if the next element of the payload of the data packet matches the next element of the predetermined data pattern.

7. The method of claim 6 , further comprising:

the data analysis module determining whether a next element of the payload of the data packet matches a previous element of the predetermined data pattern; and

the data analysis module transitioning from current state to a previous state corresponding to the previous element of the predetermined data pattern, if the next element of the payload of the data packet matches the previous element of the predetermined data pattern.

8. The method of claim 7 , further comprising the data analysis module transitioning from the current state to an initial state located at a head of the sequence of states if the next element of the payload of the data packet does not match the next and the previous elements of the predetermined data pattern.

9. The method of claim 8 , further comprising the data analysis module indicating that the predetermined data pattern has been found in the data packet if the current state is a final state of the sequence of states defined in the data structure.

10. The method of claim 9 , further comprising:

the network access device preventing the data packet and the remainder of the data stream from reaching the protected host; and

the network access device sending a message to the protected host over the LAN to notify the protected host that at least a portion of the data stream has been blocked.

11. The method of claim 1 , further comprising:

the network access device determining an encoding method of the data packet if the data packet is encoded; and

the network access device decoding the data packet using a decoding method associated with the determined encoding method to generate a decoded data packet, wherein the data pattern analysis is performed based on the decoded data packet.

12. The method of claim 1 , further comprising:

the network access device determining a compression method of the data packet if the data packet is compressed; and

the network access device decompressing the data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks, wherein the data pattern analysis is performed based on the one or more decompressed data blocks.

13. A non-transitory computer-readable storage medium having executable code to cause a machine to perform a method of a network access device, the method comprising: receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream;

temporarily buffering the received data packet to wait for one or more other packets that are in order, if the received data packet is out of order; and

performing a data pattern analysis on a payload of the received data packet and the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied.

14. The computer-readable storage medium of claim 13 , wherein the predetermined data pattern has been found if a final of the sequence of states is reached.

15. The computer-readable storage medium of claim 13 ,

wherein performing a data pattern analysis comprises:

determining whether a next element of the payload of the data packet matches a next element of the predetermined data pattern; and

transitioning from a current state to a next state corresponding to the next element of the predetermined data pattern, if the next element of the payload of the data packet matches the next element of the predetermined data pattern.

16. The computer-readable storage medium of claim 15 , wherein the method further comprises:

determining whether a next element of the payload of the data packet matches a previous element of the predetermined data pattern; and

transitioning from current state to a previous state corresponding to the previous element of the predetermined data pattern, if the next element of the payload of the data packet matches the previous element of the predetermined data pattern.

17. The computer-readable storage medium of claim 16 , wherein the method further comprises transitioning from the current state to an initial state located at a head of the sequence of states if the next element of the payload of the data packet does not match the next and the previous elements of the predetermined data pattern.

18. The computer-readable storage medium of claim 17 , wherein the method further comprises indicating that the predetermined data pattern has been found in the data packet if the current state is a final state of the sequence of states defined in the data structure.

19. The computer-readable storage medium of claim 18 , wherein the method further comprises:

preventing the data packet and the remainder of the data stream from reaching the protected host; and

the network access device sending a message to the protected host over the LAN to notify the protected host that at least a portion of the data stream has been blocked.

20. The computer-readable storage medium of claim 13 , wherein the method further comprises:

determining an encoding method of the data packet if the data packet is encoded; and

decoding the data packet using a decoding method associated with the determined encoding method to generate a decoded data packet, wherein the data pattern analysis is performed based on the decoded data packet.

21. The computer-readable storage medium of claim 13 , wherein the method further comprises:

determining a compression method of the data packet if the data packet is compressed; and

decompressing the data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks, wherein the data pattern analysis is performed based on the one or more decompressed data blocks.

22. A network access device, comprising:

an interface to receive a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream and, if the received data packet is out of order, to temporarily buffer the received data packet to wait for one or more other packets that are in order; and

a data analysis module coupled to the interface to perform a data pattern analysis on a payload of the received data packet and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied.

23. A method performed by a network access device, comprising:

the network access device receiving a data packet of a data stream containing a file segment of a file originated from an external host over an external network and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream;

if the received data packet is out of order, the network access device temporarily buffering the received data packet to wait for one or more other packets that are in order;

in response to the data packet without waiting for a remainder of the data stream to arrive, the network access device determining an encoding method of the data packet and decoding the data packet to recover a decoded data packet using a decoding method associated with the determined encoding method, if the data packet is encoded;

the network access device determining a compression method of the data packet and decompressing the data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks, if the data packet is compressed;

a data analysis module performing a data pattern analysis on one or more payloads of the one or more decompressed data blocks and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether any of the one or more payloads of the one or more decompressed data blocks contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied;

the network access device preventing the data packet from reaching the protected host if the any of the one or more decompressed data blocks contains the element of the predetermined data pattern; and

the network access device forwarding the data packet to the protected host if none of the one or more decompressed data blocks contains the element of the predetermined data pattern.

24. A method in a network access device, comprising:

the network access device receiving a data packet of a data stream containing a file segment of a file originated from a protected host of a local area network (LAN) destined to a recipient external to the LAN, the file being transmitted via multiple file segments contained in multiple data packets of the data stream;

if the received data packet is out of order, the network access device temporarily buffering the received data packet to wait for one or more other packets that are in order; and

a data analysis module performing a data pattern analysis on a payload of the received data packet and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether a portion of the file received so far contains an element of a predetermined data pattern, without reassembling the multiple data packets, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied.

25. The method of claim 24 , further comprising:

the network access device allowing the received data packet to pass if the portion of the file received so far does not contain the element of the predetermined data pattern; and

the network access device blocking the received data packet and the remainder of the data stream if the portion of the file received so far contains the element of the predetermined data pattern.

26. The method of claim 25 , further comprising the network access device notifying a system administrator that the received data packet and the remainder of the data stream have been blocked, if the portion of the file received so far contains the element of the predetermined data pattern.

27. The method of claim 24 , further comprising:

the network access device determining an encoding method of the data packet if the data packet is encoded; and

the network access device decoding the data packet using a decoding method associated with the determined encoding method to generate a decoded data packet, wherein the data pattern analysis is performed based on the decoded data packet.

28. The method of claim 24 , further comprising:

the network access device determining a compression method of the data packet if the data packet is compressed; and

the network access device decompressing the data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks, wherein the data pattern analysis is performed based on the one or more decompressed data blocks.

29. A non-transitory computer-readable storage medium having executable code to cause a machine to perform a method of a network access device, the method comprising:

receiving a data packet of a data stream containing a file segment of a file originated from a protected host of a local area network (LAN) destined to a recipient external to the LAN, the file being transmitted via multiple file segments contained in multiple data packets of the data stream,

if the received data packet is out of order, temporarily buffering the received data packet to wait for one or more other packets that are in order; and

performing a data pattern analysis on a payload of the received data packet and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether a portion of the file received so far contains an element of a predetermined data pattern, without reassembling the multiple data packets, wherein the predetermined data pattern includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied.

30. The computer-readable storage medium of claim 29 , further comprising:

allowing the received data packet to pass if the portion of the file received so far does not contain the element of the predetermined data pattern over the LAN; and

blocking the received data packet and the remainder of the data stream if the portion of the file received so far contains the element of the predetermined data pattern.

31. The computer-readable storage medium of claim 30 , further comprising notifying a system administrator that the received data packet and the remainder of the data stream have been blocked, if the portion of the file received so far contains the element of the predetermined data pattern.

32. The computer-readable storage medium of claim 29 , further comprising:

determining an encoding method of the data packet if the data packet is encoded; and

decoding the data packet using a decoding method associated with the determined encoding method to generate a decoded data packet, wherein the data pattern analysis is performed based on the decoded data packet.

33. The computer-readable storage medium of claim 29 , further comprising:

determining a compression method of the data packet if the data packet is compressed; and

decompressing the data packet using a decompression method associated with the determined compression method to generate one or more decompressed data blocks, wherein the data pattern analysis is performed based on the one or more decompressed data blocks.

34. A method, comprising:

a network access device receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream;

a data analysis module performing a data pattern analysis on a payload of the received data packet to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied and the predetermined data pattern has been found if a final of the sequence of states is reached;

the data analysis module determining whether a next element of the payload of the data packet matches a next element of the predetermined data pattern;

the data analysis module transitioning from a current state to a next state corresponding to the next element of the predetermined data pattern, if the next element of the payload of the data packet matches the next element of the predetermined data pattern;

the data analysis module determining whether a next element of the payload of the data packet matches a previous element of the predetermined data pattern;

the data analysis module transitioning from current state to a previous state corresponding to the previous element of the predetermined data pattern, if the next element of the payload of the data packet matches the previous element of the predetermined data pattern; and

the data analysis module transitioning from the current state to an initial state located at a head of the sequence of states if the next element of the payload of the data packet does not match the next and the previous elements of the predetermined data pattern.

35. The method of claim 34 , further comprising the data analysis module indicating that the predetermined data pattern has been found in the data packet if the current state is a final state of the sequence of states defined in the data structure.

36. The method of claim 34 , further comprising:

the network access device preventing the data packet and the remainder of the data stream from reaching the protected host; and

the network access device sending a message to the protected host over the LAN to notify the protected host that at least a portion of the data stream has been blocked.

37. A non-transitory computer-readable storage medium having executable code to cause a machine to perform a method of a network access device, the method comprising:

receiving a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream; and

performing a data pattern analysis on a payload of the received data packet to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied and the predetermined data pattern has been found if a final of the sequence of states is reached;

determining whether a next element of the payload of the data packet matches a next element of the predetermined data pattern;

transitioning from a current state to a next state corresponding to the next element of the predetermined data pattern, if the next element of the payload of the

data packet matches the next element of the predetermined data pattern; determining whether a next element of the payload of the data packet matches a previous element of the predetermined data pattern;

transitioning from current state to a previous state corresponding to the previous element of the predetermined data pattern, if the next element of the payload of the data packet matches the previous element of the predetermined data pattern; and

transitioning from the current state to an initial state located at a head of the sequence of states if the next element of the payload of the data packet does not match the next and the previous elements of the predetermined data pattern.

38. The computer-readable storage medium of claim 37 , wherein the method further comprises indicating that the predetermined data pattern has been found in the data packet if the current state is a final state of the sequence of states defined in the data structure.

39. The computer-readable storage medium of claim 37 , wherein the method further comprises:

preventing the data packet and the remainder of the data stream from reaching the protected host; and

the network access device sending a message to the protected host over the LAN to notify the protected host that at least a portion of the data stream has been blocked.

40. A network access device, comprising:

an interface to receive a data packet of a data stream containing a file segment of a file originated from an external host and destined to a protected host of a local area network (LAN), the file being transmitted via multiple file segments contained in multiple data packets of the data stream; and

a data analysis module coupled to the interface to

perform a data pattern analysis on a payload of the received data packet and payloads of the one or more other in-order packets as a whole when the one or more other in-order packets arrive to determine whether the payload of the received data packet contains an element of a predetermined data pattern, without waiting for a remainder of the data stream to arrive, wherein the predetermined data pattern is a content data pattern and includes a plurality of elements and the predetermined data pattern is defined via a data structure having a sequence of states, wherein each of the states indicates that one of the plurality of elements of the predetermined data pattern corresponding to the respective state has been satisfied and the predetermined data pattern has been found if a final of the sequence of states is reached,

determine whether a next element of the payload of the data packet matches a next element of the predetermined data pattern,

transition from a current state to a next state corresponding to the next element of the predetermined data pattern, if the next element of the payload of the data packet matches the next element of the predetermined data pattern,

determine whether a next element of the payload of the data packet matches a previous element of the predetermined data pattern,

transition from current state to a previous state corresponding to the previous element of the predetermined data pattern, if the next element of the payload of the data packet matches the previous element of the predetermined data pattern, and

transition from the current state to an initial state located at a head of the sequence of states if the next element of the payload of the data packet does not match the next and the previous elements of the predetermined data pattern.

Assignments (26)
FIRST LIEN IP SUPPLEMENT Recorded Jun 30, 2025
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 071777/0641 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS RECORDED AT RF 046321/0393 Recorded Jun 16, 2025
From: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
To: SONICWALL US HOLDINGS INC.
Reel/Frame 071625/0887 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0414 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: SONICWALL US HOLDINGS INC.
To: UBS AG, STAMFORD BRANCH, AS COLLATERAL AGENT
Reel/Frame 046321/0393 →
CHANGE OF NAME Recorded May 25, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046246/0059 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CHANGE OF NAME Recorded May 16, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046169/0718 →
CHANGE OF NAME Recorded May 15, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046163/0137 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE NATURE OF CONVEYANCE PREVIOUSLY RECORDED AT REEL: 041073 FRAME: 0001. ASSIGNOR(S) HEREBY CONFIRMS THE INTELLECTUAL PROPERTY ASSIGNMENT.. Recorded Apr 5, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS INC.
Reel/Frame 042168/0114 →
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 23, 2017
From: QUEST SOFTWARE INC.
To: SONICWALL US HOLDINGS, INC.
Reel/Frame 041073/0001 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
MERGER Recorded Dec 16, 2015
From: SONICWALL L.L.C.
To: DELL SOFTWARE INC.
Reel/Frame 037304/0928 →
CONVERSION AND NAME CHANGE Recorded Dec 16, 2015
From: SONICWALL, INC.
To: SONICWALL L.L.C.
Reel/Frame 037311/0456 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024823/0280 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0126 →
RELEASE OF SECURITY INTEREST IN PATENTS RECORDED ON REEL/FRAME 024776/0337 Recorded May 8, 2012
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; SONICWALL, INC.
Reel/Frame 028177/0115 →
SECURITY AGREEMENT Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024776/0337 →
PATENT SECURITY AGREEMENT (SECOND LIEN) Recorded Aug 3, 2010
From: AVENTAIL LLC; SONICWALL, INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 024823/0280 →
MERGER Recorded Jul 28, 2010
From: SONICWALL, INC.
To: PSM MERGER SUB (DELAWARE), INC.
Reel/Frame 024755/0083 →
CHANGE OF NAME Recorded Jul 28, 2010
From: PSM MERGER SUB (DELAWARE), INC.
To: SONICWALL, INC.
Reel/Frame 024755/0091 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2005
From: DUBROVSKY, ALEKSANDER; GMUENDER, JOHN EVERETT; YANOVSKY, BORIS; YANOVSKY, ROMAN; ZHU, SHUNHUI
To: SONICWALL, INC.
Reel/Frame 016503/0027 →