IP Library Granted Patent US 7,219,239
Granted Patent B1
US 7,219,239 · App. 10/308,585 · Granted May 15, 2007

Method for batching events for transmission by software agent

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,219,239
App. No.
10/308,585
Granted
May 15, 2007
Kind
B1
Abstract

In one embodiment, the present invention provides for receiving security events from a network device by a distributed software agent of a network security system, determining a priority of each received security event, and storing the security events in a plurality of prioritized event buffers based on the determined priorities for a period of time determined by a timer. Upon expiration of the timer, a batch of security events for transport to a security event manager of the network security system can be created by including security events in the batch in order of priority until the batch is full.

Claims (51)

1. A method, comprising:

receiving security events from a network device by a distributed software agent of a network security system;

determining a first priority of each received security event, the first priority relating to an importance of the event;

storing the security events in a plurality of prioritized event buffers based on the determined first priorities for a period of time determined by a timer; and

upon expiration of the timer:

determining a batching priority for ones of the stored security events in accordance with both their first priority and with how long they have been waiting to be sent, and

creating a batch of security events for transport to a security event manager of the network security system by including security events in the batch in order of the batching priority until the batch is full, where a batch of security events has at most a predetermined number of security events and the predetermined number can be more than the number of stored security events waiting to be sent.

2. The method of claim 1 , wherein the security events conform to a normalized security event schema.

3. The method of claim 2 , wherein the normalized security event schema includes a priority field, and determining the first priority of each received security event comprises scanning information contained in the priority field of each security event.

4. The method of claim 3 , wherein scanning for high priority security events is based on a normalized priority scale of the normalized security event schema, and the plurality of prioritized event buffers correspond to the priority scale.

5. The method of claim 4 , wherein the priority scale of the normalized security event schema includes a very-high priority, a high priority, a medium priority, a low priority, or an unknown priority, and the plurality of prioritized event buffers comprise five event buffers, each corresponding to one priority of the priority scale.

6. The method of claim 1 , wherein the security event manager resides on a machine linked by a communications medium to a machine on which the agent resides.

7. The method of claim 6 , further comprising sending the batched security events over the communications medium using a transport protocol request.

8. A distributed software agent, stored in a memory of a data processing system and executed by a processor of the data processing system, comprising:

a channel access component configured to receive security events from a network device monitored by the agent; and

an agent batch component comprising:

a priority scanner configured to determine a first priority of each received security event;

a plurality of prioritized event buffers for storing the security events;

a timer configured to store the received security events in the plurality of prioritized event buffers according to the first priority of each security event as determined by the priority scanner until the timer expires; and

means for creating a batch of security events for transport to a security event manager of a network security system by including security events in the batch in order of a batching priority, the batching priority of an event based on both the event's first priority and with how long the event has been waiting to be sent, until the batch is full, where a batch of security events has at most a predetermined number of security events and the predetermined number can be more than the number of stored security events waiting to be sent.

9. The agent of claim 8 , wherein the security events conform to a normalized security event schema used by the network security system.

10. The agent of claim 9 , wherein the normalized security event schema includes a priority field, and the priority scanner determines the first priority of each received security event by scanning information contained in the priority field of each security event.

11. The agent of claim 10 , wherein scanning for high priority security events is based on a normalized priority scale of the normalized security event schema, and the plurality of prioritized event buffers correspond to the priority scale.

12. The agent of claim 11 , wherein the priority scale of the normalized security event schema includes a very-high priority, a high priority, a medium priority, a low priority, or an unknown priority, and the plurality of prioritized event buffers comprise five event buffers, each corresponding to one priority of the priority scale.

13. A machine-readable medium containing data representing instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving security events from a network device by a distributed software agent of a network security system;

determining a priority of each received security event;

storing the security events in a plurality of prioritized event buffers based on the determined priorities for a period of time determined by a timer; and

upon expiration of the timer:

determining a batching priority for ones of the stored security events in accordance with both their first priority and with how long they have been waiting to be sent, and

creating a batch of security events for transport to a security event manager of the network security system by including security events in the batch in order of the batching priority until the batch is full, where a batch of security events has at most a predetermined number of security events and the predetermined number can be more than the number of stored security events waiting to be sent.

14. The machine-readable medium of claim 13 , wherein the security events conform to a normalized security event schema.

15. The machine-readable medium of claim 14 , wherein the normalized security event schema includes a priority field, and determining the first priority of each received security event comprises scanning information contained in the priority field of each security event.

16. The machine-readable medium of claim 15 , wherein scanning for high priority security events is based on a normalized priority scale of the normalized security event schema, and the plurality of prioritized event buffers correspond to the priority scale.

17. The machine-readable medium of claim 16 , wherein the priority scale of the normalized security event schema includes a very-high priority, a high priority, a medium priority, a low priority, or an unknown priority, and the plurality of prioritized event buffers comprise five event buffers, each corresponding to one priority of the priority scale.

18. The machine-readable medium of claim 14 , wherein the security event manager resides on a machine linked by a communications medium to a machine on which the agent resides.

19. The machine-readable medium of claim 18 , wherein the instructions further cause the processor to send the batched security events over the communications medium using a transport protocol request.

20. A method comprising:

receiving security events from a network device by a distributed software agent of a network security system;

storing, in one or more event buffers, a number of received security events having a first priority related to the event's importance; and

upon storing the number of security events in the one or more event buffers, batching the security events stored in the one or more event buffers, in accordance with a batching priority of the security events that is determined in accordance with both a first priority of the security events and with how long the security events have been waiting to be sent, for transport to a security event manager of the network security system, where a batch of security events has at most a predetermined number of security events and the predetermined number can be more than the number of stored security events waiting to be sent.

21. The method of claim 20 , further comprising sending the batched security events to the security event manager.

22. The method of claim 21 , wherein sending the batched security events comprises making a transfer protocol request.

23. The method of claim 21 , wherein sending the batched security events comprises sending an http request.

24. A machine-readable medium containing data representing instructions that, when executed by a processor, cause the processor to perform operations comprising:

receiving security events from a network device by a distributed software agent of a network security system;

storing, in one or more event buffers, a number of received security events; and

upon storing the number of security event in the one or more event buffers, batching the security events stored in the one or more event buffers, in accordance with a batching priority of the security events that is determined in accordance with both a first priority of the security events and with how long the security events have been waiting to be sent, for transport to a security event manager of the network security system, where a batch of security events has at most a predetermined number of security events and the predetermined number can be more than the number of stored security events waiting to be sent.

25. The machine-readable medium of claim 24 , further comprising sending the batched security events to the security event manager.

26. The machine-readable medium of claim 25 , wherein sending the batched security events comprises making a transfer protocol request.

27. The machine-readable medium of claim 25 , wherein sending the batched security events comprises sending an http request.

Assignments (10)
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 →
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 →
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: ENTIT SOFTWARE LLC; ARCSIGHT, LLC
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0577 →
SECURITY INTEREST Recorded Oct 11, 2017
From: ENTIT SOFTWARE LLC; ATTACHMATE CORPORATION; BORLAND SOFTWARE CORPORATION; NETIQ CORPORATION; MICRO FOCUS (US), INC.; MICRO FOCUS SOFTWARE, INC.; ARCSIGHT, LLC; SERENA SOFTWARE, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 044183/0718 →
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 →