IP Library Granted Patent US 9,824,107
Granted Patent B2
US 9,824,107 · App. 11/923,502 · Granted Nov 21, 2017

Tracking changing state data to assist in computer network security

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,824,107
App. No.
11/923,502
Granted
Nov 21, 2017
Kind
B2
Abstract

A session table includes one or more records, where each record represents a session. Session record information is stored in various fields, such as key fields, value fields, and timestamp fields. Session information is described as keys and values in order to support query/lookup operations. A session table is associated with a filter, which describes a set of keys that can be used for records in that table. A session table is populated using data contained in security information/events. Rules are created to identify events related to session information, extract the session information, and use the session information to modify a session table. A session table is partitioned so that the number of records in each session table partition is decreased. A session table is processed periodically so that active sessions are moved to the current partition.

Claims (51)

1. A method for recording information in a session table, the method comprising:

identifying, by a physical processor implementing machine readable instructions, an event, wherein the event comprises a timestamp and information about operation of a networked device;

partitioning, by the physical processor implementing the machine readable instructions, the session table into a plurality of partitions, wherein the plurality of partitions includes an active session partition;

moving, by the physical processor implementing the machine readable instructions, active sessions in the session table from at least one other partition to the active session partition;

determining, by the physical processor implementing the machine readable instructions, a query key based on information of the event, wherein the query key comprises a value of a field in a session in the session table;

generating, by the physical processor implementing the machine readable instructions, a hash code based on the query key;

querying, by the physical processor implementing the machine readable instructions, the session table in at least the active session partition using the hash code to determine whether an active session in the session table corresponds to the hash code; and

in response to a determination that an active session in the session table corresponds to the hash code, terminating, by the physical processor implementing the machine readable instructions, the active session and creating a new session in the session table in the active session partition to record the information of the event.

2. The method of claim 1 , wherein terminating the active session comprises inserting, by the physical processor implementing the machine readable instructions, a timestamp in an end-time field of the active session.

3. The method of claim 1 , wherein the query key comprises an Internet Protocol (IP) address.

4. The method of claim 1 , comprising:

creating, by the physical processor implementing the machine readable instructions, a new session in the session table for a new event associated with a device connected to a network, wherein the created session includes a hostname or a Media Access Control (MAC) address of the device.

5. The method of claim 4 , wherein creating the new session comprises:

determining, by the physical processor implementing the machine readable instructions, a start time of the session based on information associated with the new event; and

inserting, by the physical processor implementing the machine readable instructions, the start time in a first timestamp field for the new session.

6. The method of claim 5 , further comprising:

determining, by the physical processor implementing the machine readable instructions, an end time of the new session; and

inserting, by the physical processor implementing the machine readable instructions, the end time in a second timestamp field for the new session.

7. The method of claim 6 , wherein determining an end time of the new session comprises:

receiving, by the physical processor implementing the machine readable instructions, a session termination event; and

determining, by the physical processor implementing the machine readable instructions, the end time from the session termination event.

8. The method of claim 1 , wherein querying the session table comprises determining, by the physical processor implementing the machine readable instructions, a session in the session table having a start time earlier than the timestamp of the event and an end time later than the timestamp of the event.

9. The method of claim 1 , wherein querying the session table comprises, by the physical processor implementing the machine readable instructions, testing the hash code against a filter associated with the session table.

10. The method of claim 1 , wherein querying the session table in the active session partition comprises:

determining, by the physical processor implementing the machine readable instructions, whether the event is associated with a batch process;

in response to determining the event is associated with the batch process, querying, by the physical processor implementing the machine readable instructions, the session table in the active session partition after the batch process.

11. The method of claim 10 , wherein querying the session table comprises querying, by the physical processor implementing the machine readable instructions, the session table in the active session partition before and after the batch process.

12. The method of claim 1 , wherein querying the session table in the active session partition comprises:

determining, by the physical processor implementing the machine readable instructions, whether an active session in the session table exists in the session table based on the hash code and a timestamp field of each session in the session table that indicates whether the session is terminated.

13. The method of claim 1 , wherein partitioning the session table into a plurality of partitions includes partitioning the session table by session start time, and wherein querying the session table comprises:

determining, by the physical processor implementing the machine readable instructions, the active session partition of the session table based on the timestamp of the event; and

querying, by the physical processor implementing the machine readable instructions, the active session partition using the hash code.

14. A non-transitory computer readable storage device storing machine readable instructions which, when executed by a physical processor, cause the physical processor to:

record information in a session table, the session table comprising one or more sessions, each comprising one or more key fields and one or more timestamp fields and a value field;

partition the session table into a plurality of partitions, wherein the plurality of partitions includes an active session partition;

move active sessions in the session table from at least one other partition to the active session partition;

identify an event, wherein the event comprises a timestamp and information about operation of a networked device;

determine a query key based on information of the event, the query key comprising a value of the value field;

generate a hash code based on the query key;

query the session table in the active session partition using the hash code to determine whether an active session in the session table in the active session partition corresponds to the hash code; and

in response to a determination that an active session in the session table in the active session partition corresponds to the hash code, terminate the active session and create a new session in the session table in the active session partition to record the information of the event.

15. An apparatus for recording information in a session table, the apparatus comprising:

a physical processor; and

a non-transitory memory storing machine readable instructions that when executed by the physical processor cause the physical processor to:

identify an event, wherein the event comprises a timestamp and information about operation of a networked device;

partition the session table into a plurality of partitions, wherein the plurality of partitions includes an active session partition;

move active sessions in the session table from at least one other partition to the active session partition;

determine a query key based on information of the event, wherein the query key comprises a value of a field in a session in the session table in the active session partition;

generate a hash code based on the query key;

query the session table in the active session partition using the hash code to determine whether an active session in the session table in the active session partition corresponds to the hash code; and

in response to a determination that an active session in the session table in the active session partition corresponds to the hash code, terminate the active session and create a new session in the session table in the active session partition to record the information of the event.

Assignments (11)
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0718 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC); BORLAND SOFTWARE CORPORATION; MICRO FOCUS (US), INC.; SERENA SOFTWARE, INC; ATTACHMATE CORPORATION; MICRO FOCUS SOFTWARE INC. (F/K/A NOVELL, INC.); NETIQ CORPORATION
Reel/Frame 062746/0399 →
RELEASE OF SECURITY INTEREST REEL/FRAME 044183/0577 Recorded Feb 2, 2023
From: JPMORGAN CHASE BANK, N.A.
To: MICRO FOCUS LLC (F/K/A ENTIT SOFTWARE LLC)
Reel/Frame 063560/0001 →
CHANGE OF NAME Recorded Aug 8, 2019
From: ENTIT SOFTWARE LLC
To: MICRO FOCUS LLC
Reel/Frame 050004/0001 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ENTIT SOFTWARE LLC; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 9, 2017
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
To: ENTIT SOFTWARE LLC
Reel/Frame 042746/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →
CERTIFICATE OF CONVERSION Recorded Nov 16, 2012
From: ARCSIGHT, INC.
To: ARCSIGHT, LLC.
Reel/Frame 029308/0908 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2012
From: ARCSIGHT, LLC.
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 029308/0929 →
MERGER Recorded Dec 23, 2010
From: PRIAM ACQUISITION CORPORATION
To: ARCSIGHT, INC.
Reel/Frame 025525/0172 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2008
From: SINGLA, ANURAG; SAURABH, KUMAR; TIDWELL, KENNY C.
To: ARCSIGHT, INC.
Reel/Frame 020333/0073 →