← Back to Patent Explorer
US6340977B1 Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for dynamic assistance in software applications using behavior and host application models

Assignee: NEW YORK STATE URBAN DEVELOPMENT Corp D/B/A EMPIRE STATE DEVELOPMENT-SMALL BUSINESS TECHNOLOGY INVESTMENT BOARD
•
Filing: 1999-05-07
•
Granted: 2002-01-22
•
Expires: 2019-05-07
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A Cooperative Help Assistance (CHA) system and method provide real-time user assistance for one or more windows-based Graphic User Interface (GUI) applications or a single application's different subsections such as web pages, running concurrently in any operating system. The CHA System enables the development of an informative assistance object independently from the original source code or development environment of the target Host Application. The assistance object can be selected by any number of user interfaces from sophisticated inference driven interactive interface search tools or categorized lists. By intercepting and monitoring user actions on a Host Application, the CHA system performs intelligent assistance in the context of the target host application program. Utilizing a Host Application Model, the CHA System and method dynamically assemble many elements in real-time or just-in-time to produce assistance sequences or elements very efficiently without having to code every interface path permutation. Paths can be dynamically generated from the Host Application Model, which enables a real-time module to offer intelligent, contextual assistance as well as real-time construction of automated, accelerated CHA Sequences or Procedures that require little or no user interaction. All assistance and information are processed and expressed by an extensive multitasking, multimedia subsystem for two dimensional (2D) and real-time three-dimensional (3D) application interfaces, which greatly enhances and extends the effectiveness of any explanation or material expression. The production of Assistant Sequences is facilitated by the Host Application Model and 2D and 3D GUI "drag and drop" interface tools.

Inventors

  • 👤 Philip Lui
  • 👤 Zbigniew Kopytnik

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-30 03:06
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/44; G06F9/451; G06F9/453

Claims Analysis

Total Claims: 52
Claim 1
Independent Claim 146 words
A method for providing dynamic operational guidance of commands to use a computer program, the method comprising the steps of: iteratively searching a Host Application Model to locate a target graphic user interface object (GuiObj) corresponding to a command to execute, and to locate a current location of a user in the Host Application Model; determining a path through the Host Application Model between the target GuiObj and the current location of the user; generating a dynamic guide sequence record from the path for executing the command; receiving user inputs corresponding to a selection of the target GuiObj associated with the command; generating a GuiObj identifier (ID) corresponding to the selected target GuiObj; and mapping the GuiObj ID to a GuiObj key, wherein the step of iteratively searching a Host Application Model includes the step of searching the Host Application Model using the Gui Obj key.
Claim 2
Independent Claim 146 words
A method for providing dynamic operational guidance of commands to use a computer program, the method comprising the steps of: iteratively searching a Host Application Model to locate a target graphic user interface object (GuiObj) corresponding to a command to execute, and to locate a current location of a user in the Host Application Model; determining a path through the Host Application Model between the target GuiObj and the current location of the user; generating a dynamic guide sequence record from the path for executing the command; receiving user inputs corresponding to a selection of the target GuiObj associated with the command; generating a GuiObj identifier (ID) corresponding to the selected target GuiObj; and mapping the GuiObj ID to a GuiObj key, wherein the step of iteratively searching a Host Application Model includes the step of searching the Host Application Model using the Gui Obj key.
Claim 3
Dependent Claim 36 words
The method of claim 1 , wherein the step of determining a path includes the step of: applying path finding techniques to the Host Application Model to find a best path through the Host Application Model.
Claim 4
Dependent Claim 31 words
The method of claim 2 , wherein the step of applying path finding techniques is performed in real-time to dynamically determine the best path and to execute the command in real-time.
Claim 5
Dependent Claim 29 words
The method of claim 1 , further comprising the steps of: retrieving information objects (InfoObjs) based on a portion of the path; and outputting the InfoObjs to the user.
Claim 6
Dependent Claim 29 words
The method of claim 4 , wherein the step of retrieving InfoObjs includes the step of: retrieving a predetermined detail level of the InfoObjs for output to the user.
Claim 7
Dependent Claim 31 words
The method of claim 4 , wherein the step of outputting the InfoObjs includes the step of: generating visual messages from the InfoObjs for output to the user through a display.
Claim 8
Dependent Claim 24 words
The method of claim 6 , wherein the step of generating the visual messages includes the step of: generating animation as the visual messages.
Claim 9
Dependent Claim 31 words
The method of claim 4 , wherein the step of outputting the InfoObjs includes the step of: generating audio messages as the InfoObjs for output to the user through a speaker.
Claim 10
Dependent Claim 96 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 11
Dependent Claim 96 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 12
Dependent Claim 25 words
The method of claim 9 , wherein generating the dynamic guide sequence comprises utilizing the host application model containing data related to the host application.
Claim 13
Dependent Claim 53 words
The method of claim 10 , wherein generating the dynamic guide sequence comprises choosing the host application model from a plurality of host application models, each host application model of the plurality of host application models containing data related to a different application of a plurality of applications contained within the computer system.
Claim 14
Dependent Claim 79 words
The method of claim 9 , wherein generating the dynamic guide sequence comprises: searching the host application model to locate a target graphical user interface object corresponding to a task to be performed, and to determine a current location of the user within the host application model; determining a path through the host application model between the target graphical user interface object and the current location of the user; and generating a dynamic guide sequence record from the path.
Claim 15
Dependent Claim 48 words
The method of claim 9 , wherein generating the dynamic guide sequence comprises performing a search of the host application model to determine a path in the host application model representing a sequence of steps that the user may take to perform the task within the host application.
Claim 16
Dependent Claim 25 words
The method of claim 9 , wherein intercepting the one or more operating system messages comprises utilizing a hooking tool injected into the host application.
Claim 17
Dependent Claim 26 words
The method of claim 14 , wherein utilizing the hooking tool comprises injecting the hooking tool into the host application after creation of the host application.
Claim 18
Dependent Claim 31 words
The method of claim 15 , wherein intercepting the one or more operating system messages is performed without accessing internal code of the host application except through public operating system interfaces.
Claim 19
Dependent Claim 30 words
The method of claim 9 , wherein updating the dynamic guide sequence comprises utilizing one or more heuristic algorithms for assembling at least a portion of the dynamic guide sequence.
Claim 20
Dependent Claim 25 words
The method of claim 9 , wherein updating the dynamic guide sequence is performed between user inputs of the plurality of temporally spaced user inputs.
Claim 21
Dependent Claim 29 words
The method of claim 9 , comprising storing user input sequence information in a database and utilizing the user input sequence information in constructing one or more guide sequences.
Claim 22
Dependent Claim 20 words
The method of claim 19 , comprising utilizing the user input sequence information in constructing one or more instructional presentations.
Claim 23
Dependent Claim 34 words
The method of claim 9 , wherein generating the dynamic guide sequence comprises transferring information from the host application to the host application model and from the host application model to the host application.
Claim 24
Dependent Claim 20 words
The method of claim 9 , comprising displaying one or more visual presentations, as part of the dynamic guide sequence.
Claim 25
Dependent Claim 33 words
The method of claim 22 , wherein displaying the one or more animated visual presentations comprises displaying an animated screen position indicator for guiding the user in performing steps to accomplish the task.
Claim 26
Dependent Claim 26 words
The method of claim 22 , wherein displaying the one or more animated visual presentations comprises displaying an animated indicator for indicating one or more GuiObjs.
Claim 27
Dependent Claim 37 words
The method of claim 22 , wherein displaying the one or more animated visual presentations comprises displaying an animated information assistance object for providing a user focus during the display of the one or more animated presentations.
Claim 28
Dependent Claim 29 words
The method of claim 9 , comprising overlaying visual displays on at least a portion of a display of the host application, as part of the dynamic guide sequence.
Claim 29
Dependent Claim 28 words
The method of claim 9 , comprising visually highlighting at least a portion of a display of the host application, as a part of the dynamic guide sequence.
Claim 30
Dependent Claim 13 words
The method of claim 9 , comprising controlling operation of the host application.
Claim 31
Dependent Claim 64 words
The method of claim 9 , comprising displaying a visual representation of a plurality of host application tasks and allowing the user to select a host application task from the plurality of host application tasks, as part of the dynamic guide sequence, and wherein the dynamic guide sequence demonstrates a series of user steps within the host application to accomplish the host application task.
Claim 32
Dependent Claim 14 words
The method of claim 9 , wherein the host application comprises a Web page.
Claim 33
Dependent Claim 245 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises: searching the host application model to locate a target graphical user interface object corresponding to a task to be performed, and to determine a current location of the user within the host application model; determining a path through the host application model between the target graphical user interface object and the current location of the user; and generating a dynamic guide sequence record from the path; and wherein the generating the user-interactive dynamic guide sequence further comprises: obtaining user input identifying a selected target graphical user interface object associated with the task; generating a graphical user interface object identifier corresponding, to the selected target graphical user interface object; and mapping the graphical user interface object to a graphical user interface object key, wherein searching the host application model comprises searching the host application model using the graphical interface object key; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 34
Dependent Claim 245 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises: searching the host application model to locate a target graphical user interface object corresponding to a task to be performed, and to determine a current location of the user within the host application model; determining a path through the host application model between the target graphical user interface object and the current location of the user; and generating a dynamic guide sequence record from the path; and wherein the generating the user-interactive dynamic guide sequence further comprises: obtaining user input identifying a selected target graphical user interface object associated with the task; generating a graphical user interface object identifier corresponding, to the selected target graphical user interface object; and mapping the graphical user interface object to a graphical user interface object key, wherein searching the host application model comprises searching the host application model using the graphical interface object key; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 35
Dependent Claim 193 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises performing a search of the host application model to determine a path in the host application model representing a sequence of steps that the user may take to perform the task within the host application, wherein the performing the search comprises: utilizing user input information to determine a location within the host application model corresponding to a present state of the host application; and determining a location within the host application model corresponding to a state of the host application that would exist upon completion of the task; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 36
Dependent Claim 193 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises performing a search of the host application model to determine a path in the host application model representing a sequence of steps that the user may take to perform the task within the host application, wherein the performing the search comprises: utilizing user input information to determine a location within the host application model corresponding to a present state of the host application; and determining a location within the host application model corresponding to a state of the host application that would exist upon completion of the task; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 37
Dependent Claim 136 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises storing user input sequence information in a database and utilizing the user input sequence information in constructing the user-interactive guide sequence and in constructing one or more Interactive Custom Accelerated Procedures; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 38
Dependent Claim 136 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating the user-interactive dynamic guide sequence comprises storing user input sequence information in a database and utilizing the user input sequence information in constructing the user-interactive guide sequence and in constructing one or more Interactive Custom Accelerated Procedures; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 39
Dependent Claim 133 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating comprises: controlling operation of the host application; and utilizing one or more interactive custom accelerated procedures for providing an accelerated mode of operation of the host application, as part of the dynamic guide sequence; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 40
Dependent Claim 133 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information, wherein the generating comprises: controlling operation of the host application; and utilizing one or more interactive custom accelerated procedures for providing an accelerated mode of operation of the host application, as part of the dynamic guide sequence; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 41
Dependent Claim 96 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating environment messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 42
Dependent Claim 96 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: intercepting, during execution of the host application, one or more operating environment messages to obtain user input information relating to a plurality of temporally spaced user inputs; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 43
Dependent Claim 103 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs by utilizing a hooking tool contained within the host application; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 44
Dependent Claim 103 words
A computerized method for assisting a user of a host application being executed within a computer system, the method comprising: monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs by utilizing a hooking tool contained within the host application; generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing a host application model and the user input information; and updating the user-interactive dynamic guide sequence based upon user input information obtained during the execution of the dynamic guide sequence.
Claim 45
Dependent Claim 111 words
A computerized system for assisting a user of a host application being executed within a computer system, the system comprising: a hooking tool contained within the host application for monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; and a host application model; and a program for generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing the user input information and the host application model, wherein the dynamic guide sequence is updated based on user input information obtained during the execution of the dynamic guide sequence.
Claim 46
Dependent Claim 111 words
A computerized system for assisting a user of a host application being executed within a computer system, the system comprising: a hooking tool contained within the host application for monitoring the host application for, and intercepting, operating system messages to obtain user input information relating to a plurality of temporally spaced user inputs; and a host application model; and a program for generating a user-interactive dynamic guide sequence for assisting the user in performing a task within the host application, utilizing the user input information and the host application model, wherein the dynamic guide sequence is updated based on user input information obtained during the execution of the dynamic guide sequence.
Claim 47
Dependent Claim 18 words
The system of claim 37 , wherein the host application model stores data related to the host application.
Claim 48
Dependent Claim 48 words
The system of claim 38 , wherein the host application model is chosen from a plurality of host application models, each host application model of the plurality of host application models storing data related to a different application of a plurality of applications contained within the computer system.
Claim 49
Dependent Claim 29 words
The system of claim 38 , wherein the dynamic guide sequence comprises a multi-media presentation, and wherein the program comprises an interactive virtual machine for providing the multi-media presentation.
Claim 50
Dependent Claim 34 words
The system of claim 40 , wherein the interactive virtual machine provides one or more audio presentations comprising commentary related to the dynamic guide sequence and to one or more of the user inputs.
Claim 51
Dependent Claim 21 words
The system of claim 38 , wherein the program and the host application model are stored separately from the host application.
Claim 52
Dependent Claim 26 words
The system of claim 38 , wherein the computerized system does not alter execution of the host application except during presentation of the dynamic guide sequence.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2005-01-21 2005-07-23 2006-01-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2009-01-21 2009-07-23 2010-01-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2013-01-21 2013-07-23 2014-01-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag