IP Library Granted Patent US 9,569,287
Granted Patent B1
US 9,569,287 · App. 13/804,476 · Granted Feb 14, 2017

System and method for interactive tutorials

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,569,287
App. No.
13/804,476
Granted
Feb 14, 2017
Kind
B1
Abstract

In one embodiment, a method includes initializing a software application operable to switch between a standard mode and a tutorial mode. The software application includes a standard function set, a tutorial function set, and a user interface operable to supply events. The method further includes, in the standard mode, routing the events to the standard function set. In addition, the method includes, in the tutorial mode, diverting the events to the tutorial function set.

Claims (63)

1. A method comprising:

on at least one information handling system, initializing a software application operable to switch between a standard mode and a tutorial mode;

wherein the software application comprises a standard function set, a tutorial function set, and a user interface operable to supply events;

in the standard mode, the at least one information handling system routing the events to the standard function set;

in the tutorial mode, the at least one information handling system diverting the events to the tutorial function set;

wherein the standard function set comprises standard application functionality;

wherein the tutorial function set comprises simulated application functionality;

wherein objects of the simulated application functionality extend from objects of the standard application functionality, wherein methods defined by the objects of the standard application functionality are overridden by methods defined by the objects of the simulated application functionality, wherein the overriding comprises storing new data in temporary memory thereby avoiding modification to data maintained by the standard application functionality; and

wherein the switch between operation of the at least one information handling system in the standard mode and operation of the at least one information handling system in the tutorial mode is performed by the software application upon detecting at least one mode-switch event and without manual interaction by a user.

2. The method of claim 1 , comprising operating the software application in the standard mode.

3. The method of claim 2 , comprising:

receiving a first mode-switch event;

saving an application context;

initializing the tutorial mode; and

operating the software application in the tutorial mode.

4. The method of claim 3 , comprising:

receiving a second mode-switch event;

acquiring the application context;

restoring the application context; and

operating the software application in the standard mode.

5. The method of claim 1 , wherein the software application is a native application executing on the at least one information handling system.

6. The method of claim 1 , the method comprising:

wherein the software application is a distributed application comprising a client-side segment and a server-side segment; and

wherein the at least one information handling system comprises a client information handling system and a backend information handling system, the client information handling system operable to execute the client-side segment and the backend information handling system operable to execute the server-side segment.

7. The method of claim 1 , wherein the standard function set further comprises a standard event handler.

8. The method of claim 7 , wherein the tutorial function set further comprises instructional functionality and a tutorial event handler.

9. The method of claim 1 , wherein the software application comprises an adapter operable to communicate between the user interface and each of the standard function set and the tutorial function set.

10. An information handling system comprising:

at least one processing unit, wherein the processing unit is operable to perform a method comprising:

initializing a software application operable to switch between a standard mode and a tutorial mode;

wherein the software application comprises a standard function set, a tutorial function set, and a user interface operable to supply events;

in the standard mode, routing the events to the standard function set; and

in the tutorial mode, diverting the events to the tutorial function set;

wherein the standard function set comprises standard application functionality;

wherein the tutorial function set comprises simulated application functionality;

wherein objects of the simulated application functionality extend from objects of the standard application functionality, wherein methods defined by the objects of the standard application functionality are overridden by methods defined by the objects of the simulated application functionality, wherein the overriding comprises storing new data in temporary memory thereby avoiding modification to data maintained by the standard application functionality; and

wherein the switch between operation of the at least one information handling system in the standard mode and operation of the at least one information handling system in the tutorial mode is performed by the software application upon detecting at least one mode-switch event and without manual interaction by a user.

11. The information handling system of claim 10 , the method comprising operating the software application in the standard mode.

12. The information handling system of claim 11 , the method comprising:

receiving a first mode-switch event;

saving an application context;

initializing the tutorial mode; and

operating the software application in the tutorial mode.

13. The information handling system of claim 12 , the method comprising:

receiving a second mode-switch event;

acquiring the application context;

restoring the application context; and

operating the software application in the standard mode.

14. The information handling system of claim 10 , wherein the software application is a native application executing on the information handling system.

15. The information handling system of claim 10 , wherein the software application is a distributed application comprising a client-side segment and a server-side segment.

16. The information handling system of claim 10 , comprising:

wherein the standard function set further comprises a standard event handler; and

wherein the tutorial function set further comprises instructional functionality and a tutorial event handler.

17. The information handling system of claim 10 , wherein the software application comprises an adapter operable to communicate between the user interface and each of the standard function set and the tutorial function set.

18. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

initializing a software application operable to switch between a standard mode and a tutorial mode;

wherein the software application comprises a standard function set, a tutorial function set, and a user interface operable to supply events;

in the standard mode, routing the events to a standard function set; and

in the tutorial mode, diverting the events to a tutorial function set;

wherein the standard function set comprises standard application functionality;

wherein the tutorial function set comprises simulated application functionality;

wherein objects of the simulated application functionality extend from objects of the standard application functionality, wherein methods defined by the objects of the standard application functionality are overridden by methods defined by the objects of the simulated application functionality, wherein the overriding comprises storing new data in temporary memory thereby avoiding modification to data maintained by the standard application functionality; and

wherein the switch between operation of the at least one information handling system in the standard mode and operation of the at least one information handling system in the tutorial mode is performed by the software application upon detecting at least one mode-switch event and without manual interaction by a user.

Assignments (27)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
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 Dec 6, 2017
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 044800/0848 →
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 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
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 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
CHANGE OF NAME Recorded Aug 19, 2013
From: QUEST SOFTWARE, INC.
To: DELL SOFTWARE INC.
Reel/Frame 031035/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2013
From: SEIGEL, JAKE
To: QUEST SOFTWARE, INC.
Reel/Frame 030085/0651 →