IP Library Granted Patent US 6,971,108
Granted Patent B1
US 6,971,108 · App. 09/671,981 · Granted Nov 29, 2005

Computer software framework and method for managing communication flow between a user interface and a computer application

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 6,971,108
App. No.
09/671,981
Granted
Nov 29, 2005
Kind
B1
Abstract

The present invention discloses a computer software framework and method for managing communication flow between a user interface and a computer application performing a task comprising a plurality of steps. The sequence of the steps is controlled by the application, and a user operating the user interface controls the progression through the steps. Each step is mapped to an output file containing information to be sent to the user interface in support of the step. Each task is mapped to an output generator that generates an output sent via an output medium to the user interface based upon the content of the output file. A task object is instantiated, which models the task. The task object receives a progressional input from the user interface and receives a step sequence input from the application. The task object compares the progressional input to the step sequence input to identify a subsequent step, identifies the output file mapped to the subsequent step, and calls the output generator mapped to the task to generate an output to the user interface based upon the content of the output file mapped to the subsequent step.

Claims (30)

1. A method for managing communication flow between a user interface and a computer application performing a task comprising a plurality of steps, the sequence of the steps controlled by the application and the progression through the steps controlled by a user operating the user interface, comprising:

(a) mapping each step to an output file containing information to be sent to the user interface in support of the step;

(b) mapping each task to an output generator that generates an output sent via an output medium to the user interface based upon the content of the output file; and

(c) instantiating a task object modeling the task, the task object receiving a progressional input from the user interface and receiving a step sequence input from the application, the task object further performing the steps of:

(i) comparing the progressional input to the step sequence input to identify a subsequent step,

(ii) identifying the output file mapped to the subsequent step, and

(iii) calling the output generator mapped to the task to generate an output to the user interface based upon the content of the output file mapped to the subsequent step, wherein the method is implemented in middleware and encapsulates the communication flow between the user interface and the computer application separate and apart from the task comprising a plurality of steps, thereby creating a set of uniform application programming interfaces such that presentation functions can be reused to link a variety of different applications, tasks, or both with a variety of different user interface.

2. The method of claim 1 wherein each step is mapped to an output file on a one to one basis.

3. The method of claim 2 wherein each task is mapped to an output generator on a one to one basis.

4. The method of claim 3 wherein the output generator is a Java servlet generating a hypertext markup language (HTML) output.

5. The method of claim 3 wherein the output generator is a Java applet generating a hypertext markup language (HTML) output.

6. The method of claim 4 wherein the HTML output is generated from static HTML files having dynamic content inserted therein by an HTML template.

7. The method of claim 4 wherein the output medium is hypertext transport protocol (HTTP).

8. The method of claim 3 wherein the output medium is an interactive voice response (IVR) protocol.

9. The method of claim 4 wherein each step is mapped to an output file using a screen map.

10. The method of claim 1 wherein the task object models the task through a subclass of step objects, each step object representing a step within the task and having a method to perform the step.

11. The method of claim 6 wherein the progressional input comprises an instruction to proceed to the next step, go back to the previous step, or cancel the step.

12. The method of claim 7 wherein the step sequence input from the application is received by implementing an abstract method that passes step sequence information from the application to the task object.

13. The method of claim 8 wherein step (c)(i) is performed by a utility object.

14. The method of claim 9 wherein the output generator that generates an output further comprises a method to generate an error message as an output to the user interface.

15. The method of claim 14 wherein the method to generate an error message further comprises extending an exception handling class.

16. The method of claim 1 wherein the sequence of the steps controlled by the application is obtained by the application from an external source.

17. The method of claim 16 wherein the external source is an initialization file.

18. The method of claim 16 wherein the external source is a database.

19. A framework for managing communication flow between a user interface and a computer application performing a task comprising a plurality of steps, the sequence of the steps controlled by the application and the progression through the steps controlled by a user operating the user interface, comprising:

(a) an initialization file mapping each step to an output file containing information to be sent to the user interface in support of the step and mapping each task to an output generator that generates an output sent via an output medium to the user interface based upon the content of the output file; and

(b) a task object modeling the task, the task object receiving a progressional input from the user interface and receiving a step sequence input from the application, the task object further comprising methods to perform the steps of:

(i) comparing the progressional input to the step sequence input to identify a subsequent step,

(ii) identifying the output file mapped to the subsequent step, and

(iii) calling the output generator mapped to the task to generate an output to the user interface based upon the content of the output file mapped to the subsequent step, wherein the framework is implemented in middleware and encapsulates the communication flow between the user interface and the computer application separate and apart from the task comprising a plurality of steps, thereby creating a set of uniform application programming interfaces such that presentation functions can be reused to link a variety of different applications, tasks, or both with a variety of different user interfaces.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Aug 23, 2022
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: IBSV LLC; LAYER3 TV, LLC; PUSHSPRING, LLC; T-MOBILE CENTRAL LLC; T-MOBILE USA, INC.; ASSURANCE WIRELESS USA, L.P.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; SPRINTCOM LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM LLC
Reel/Frame 062595/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2021
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: T-MOBILE INNOVATIONS LLC
Reel/Frame 055604/0001 →
TERMINATION AND RELEASE OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Apr 2, 2020
From: DEUTSCHE BANK TRUST COMPANY AMERICAS
To: SPRINT COMMUNICATIONS COMPANY L.P.
Reel/Frame 052969/0475 →
SECURITY AGREEMENT Recorded Apr 2, 2020
From: T-MOBILE USA, INC.; ISBV LLC; T-MOBILE CENTRAL LLC; LAYER3 TV, INC.; PUSHSPRING, INC.; BOOST WORLDWIDE, LLC; CLEARWIRE COMMUNICATIONS LLC; CLEARWIRE IP HOLDINGS LLC; CLEARWIRE LEGACY LLC; SPRINT COMMUNICATIONS COMPANY L.P.; SPRINT INTERNATIONAL INCORPORATED; SPRINT SPECTRUM L.P.; ASSURANCE WIRELESS USA, L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 053182/0001 →
GRANT OF FIRST PRIORITY AND JUNIOR PRIORITY SECURITY INTEREST IN PATENT RIGHTS Recorded Mar 6, 2017
From: SPRINT COMMUNICATIONS COMPANY L.P.
To: DEUTSCHE BANK TRUST COMPANY AMERICAS
Reel/Frame 041895/0210 →