IP Library › Granted Patent US 9,753,743
Granted Patent B2
US 9,753,743 · App. 14/098,188 · Granted Sep 5, 2017

Identifying a common action flow

Inventors: Igor Nor (Haifa, IL); Eyal Kenigsberg (Yehud, IL); Ola Galkin (Yehud, IL)
Assignee: ENTIT SOFTWARE LLC
G06F9/4443G06F11/30G06F11/3003G06F11/3438G06F11/3452G06F2201/81G06F2201/865G06F2201/88
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,753,743
App. No.
14/098,188
Filed
Dec 5, 2013
Granted
Sep 5, 2017
Kind
B2
Art Unit
2142
USPC
715/748
Abstract

A common action flow for an application is identified by processing session data maintained for a plurality of users to identify a plurality of action flows. Each action flow represents a series of actions taken by one of the users navigating the application's user interface during a session. A data structure is generated from the plurality of action flows. That data structure is indicative of a plurality of candidate sub-flows. The data structure is analyzed to identify a selected one of the candidate sub-flows repeated in multiple ones of the plurality of action flows. That identified sub-flow is the common action flow. Data representative of the identified common action flow can then be communicated.

Claims (51)

1. A memory resource storing instructions that when executed cause a processing resource to implement a system for detecting a common action flow, the instructions comprising:

a session module executable to:

process session data to identify, for an application, a plurality of action flows, each action flow representing a series of actions taken by a user navigating the application's user interface; and

filter the plurality of actions flows to include actions in a set of statistically related actions;

a flow module executable to identify a sub-flow of actions repeated in the plurality of action flows, the identified sub-flow representing a common action flow, the flow module executable to identify the sub-flow of actions by:

identifying a set of candidate sub-flows of non-consecutive actions from the filtered plurality of actions flows; and

filtering the set of candidate sub-flows according to a rule such that the sub-flow of actions representing the common action flow remains; and

a reporting module executable to communicate data representative of the common action flow.

2. The memory resource of claim 1 , wherein the sub-flow of actions is a sub-flow of consecutive actions and the flow module is executable to identify the sub-flow of consecutive actions by:

identifying a set of candidate consecutive sub-flows from the plurality of action flows; and

filtering the set of candidate consecutive sub-flows according to a rule such that the sub-flow of actions representing the common action flow remains wherein the rule specifies at least one of a flow length such that candidate consecutive sub-flows shorter than the specified length are removed from consideration and a repetition count such that candidate consecutive sub-flows repeated fewer than the repetition count are removed from consideration.

3. The memory resource of claim 1 , wherein the flow module is executable to identify the sub-flow of actions by:

discovering a plurality of suffix sub-flows for each of the plurality of action flows;

identifying one of the plurality of suffix sub-flows that satisfies a rule, the identified suffix sub-flow being the sub-flow of actions representing the common action flow.

4. The memory resource of claim 3 , wherein the flow module is executable to identify one of the plurality of suffix sub-flows that satisfies a rule by:

filtering the discovered suffix sub-flows according at least one of a repetition count and a flow length to reveal a given suffix sub-flow; and

identifying, from the plurality of discovered suffix sub-flows, an extension of the given suffix sub-flow; and

identifying at least one of the given suffix sub-flow and the extension as the sub-flow of actions representing the common action flow.

5. The memory resource of claim 1 , wherein the sub-flow of actions is a sub-flow of the non-consecutive actions interrupted by other actions.

6. A system for identifying a common action flow for an application, the system comprising:

a session engine to identify a plurality of action flows each representing a series of actions taken by a user navigating the application's user interface, wherein the session ermine is to filter the plurality of action flows to include actions in a set of statistically related actions;

a flow engine to identify a sub-flow of actions repeated in the plurality of action flows, the identified sub-flow representing a common action flow, the flow engine to identify the sub-flow actions by:

identifying a set of candidate consecutive sub-flows from the filtered plurality of action flows; and

filter the set of candidate consecutive sub-flows according to a rule such that the sub-flow of actions representing the common action flow remains; and

a reporting engine to communicate data representative of the common action flow.

7. The system of claim 6 , wherein the flow engine is configured to identify the sub-flow of actions by:

identifying a set of candidate sub-flows from the plurality of action flows; and

filtering the set of candidate sub-flows according to a rule such that the sub-flow of actions representing the common action flow remains wherein the rule specifies at least one of a flow length such that candidate sub-flows shorter than the specified length are removed from consideration and a repetition count such that candidate sub-flows repeated fewer than the repetition count are removed from consideration.

8. The system of claim 6 , wherein the flow engine is executable to identify the sub-flow of actions by:

generating, from the plurality of action flows, a generalized suffix tree defining a plurality suffix sub-flows;

identifying one of the plurality of suffix sub-flows that satisfies a rule, the identified suffix sub-flow being the sub-flow of actions representing the common action flow.

9. The system of claim 8 , wherein the flow engine is executable to identify one of the plurality of suffix sub-flows that satisfies a rule by:

filtering the discovered suffix sub-flows according at least one of a repetition count and a flow length to reveal a given suffix sub-flow; and

identifying, from the plurality of discovered suffix sub-flows, an extension of the given suffix sub-flow; and

identifying at least one of the given suffix sub-flow and the extension as the sub-flow of actions representing the common action flow.

10. A method for identifying a common action flow for an application, comprising:

processing session data maintained for a plurality of users to identify a plurality of action flows, each action flow representing a series of actions taken by one of the users navigating the application's user interface during a session;

filtering the plurality of action flows to include actions included in a set of statistically related actions;

generating a data structure from the plurality of action flows, the data structure indicative of a plurality of candidate sub-flows, wherein the generating comprises generating the data structures from the filtered plurality of actions flows, the data structure indicative of a plurality of candidate sub-flows of non-consecutive actions;

analyzing the data structure to identify a selected one of the candidate sub-flows repeated in multiple ones of the plurality of action flows, the identified sub-flow being a common action flow; and

communicating data representative of the identified common action flow.

11. The method of claim 10 , wherein:

each of the plurality of candidate sub-flows is a sub-flow of consecutive actions appearing in the session data; and

the analyzing comprises filtering the plurality of candidate sub-flows according to a rule such that the sub-flow of actions representing the common action flow remains wherein the rule specifies at least one of a flow length and a repetition count.

12. The method of claim 10 , wherein:

the data structure represents a generalized suffix tree defining the plurality of candidate sub-flows; and

the analyzing comprises analyzing the data structure to identify one of the plurality of candidate sub-flows that satisfies a rule, the identified candidate sub-flow representing the common action flow.

13. The method of claim 12 , wherein the analyzing comprises:

filtering the candidate sub-flows defined by the generalized suffix tree according at least one of a repetition count and a flow length to reveal a given sub-flow; and

identifying, from the plurality of candidate sub-flows, an extension of the given sub-flow; and

identifying at least one of the given sub-flow and the extension as the sub-flow of actions representing the common action flow.

Assignments (8)
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: 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2014
From: NOR, IGOR; KENIGSBERG, EYAL; GALKIN, OLA
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 032117/0432 →
Continuity (1)
Related Publication 20150160831A1 · Jun 11, 2015