WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Resource assignment system providing mixed-initiative user interface updates    
United States Patent5590269   
Link to this pagehttp://www.wikipatents.com/5590269.html
Inventor(s)Kruse; John M. (Minneapolis, MN); Collins; John E. (Hudson, WI); Sisley; Elizabeth M. (Woodbury, MN)
AbstractA resource assignment system provides mixed-initiative updates of a user interface display in response to asynchronous events independently triggering updates. The system features an update module capable of selecting one of a plurality of diverse update modes based on system user input and additional criteria relating to each update. The update modes enable the system user to develop an update behavior appropriate for her individual circumstances. Selection of an update behavior can prevent disruption of the system user's work, producing an appearance of interface stability without sacrificing near real-time response to asynchronous events.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History
Inventor     Kruse; John M. (Minneapolis, MN); Collins; John E. (Hudson, WI); Sisley; Elizabeth M. (Woodbury, MN)
Owner/Assignee     Minnesota Mining & Manufacturing Company (St. Paul, MN)
Patent assignment
All assignments
Publication Date     December 31, 1996
Application Number     08/231,031
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     April 22, 1994
US Classification     705/9 707/1 715/700
Int'l Classification     G06F 015/00 G06F 007/00
Examiner     Powell; Mark R.
Assistant Examiner     Katbab; A.
Attorney/Law Firm     Bates; Carolyn A. Shumaker; Steven J. ,
Address
Parent Case     CROSS-REFERENCE TO RELATED APPLICATIONS The present application is related to U.S. patent application Ser. No. 08/201,664, issued on U.S. Pat. No. 5,467,268, of Elizabeth M. Sisley and John E. Collins, filed Feb. 25, 1994, and entitled "SYSTEM AND METHOD FOR RESOURCE ASSIGNMENT AND SCHEDULING," now U.S. Pat. No. 5,467,268 U.S. patent application Ser. No. 08/210,678, of John E. Collins and Elizabeth M. Sisley, filed Mar. 18, 1994, and entitled "SYSTEM AND METHOD FOR SCHEDULING RESOURCE REQUESTS," and U.S. patent application Ser. No. 08/220,831, of John E. Collins and Elizabeth M. Sisley, filed Mar. 31, 1994, and entitled "SYSTEM INTEGRATING ACTIVE AND SIMULATED DECISIONMAKING PROCESSES." The content of each of the above-referenced copending United States patent applications is incorporated herein by reference.
Priority Data    
USPTO Field of Search     395/155 395/156 395/157 395/158 395/159 395/160 395/161 395/600 364/401 364/403 364/925 364/928
Patent Tags     resource assignment providing mixed-initiative user interface updates
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5467268
Sisley
705/9
Nov,1995

[0 after 0 votes]
5446838
Kimelman
715/764
Aug,1995

[0 after 0 votes]
5442735
Paradine
345/611
Aug,1995

[0 after 0 votes]
5420968
Johri
345/619
May,1995

[0 after 0 votes]
5325292
Crockett
705/9
Jun,1994

[0 after 0 votes]
5241465
Oba
705/8
Aug,1993

[0 after 0 votes]
5133075
Risch
707/201
Jul,1992

[0 after 0 votes]
5099431
Natarajan
700/105
Mar,1992

[0 after 0 votes]
4937743
Rassman
705/8
Jun,1990

[0 after 0 votes]
4443863
Busch
345/537
Apr,1984

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. A computer-implemented system for assigning a plurality of resource requests among a plurality of resource providers, said system comprising:

an assignment database for storing an assignment set, said assignment set defining assignment of one or more of said resource requests among said resource providers;

a user interface for displaying a representation of at least part of said assignment set, and for receiving input from a system user; and

an update module for receiving changes to said assignment set, and for updating said user interface to display a representation of each of said changes to said assignment set, said update module including means for selecting one of a plurality of update modes, said plurality of update modes including:

an assertive mode wherein said update module updates said user interface in response to receipt of each of said changes to said assignment set, and

an update-on-request mode wherein said update module updates said user interface in response to a combination of said receipt of each of said changes to said assignment set and an update request input received by said user interface from said system user.

2. The system of claim 1, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

3. The system of claim 1, wherein said plurality of update modes of said update module further includes an update-on-delay mode wherein said update module updates said user interface in response to a combination of said receipt of each of said changes and an elapse of a time delay from a time of said receipt of each of said changes, said update module including means for resetting said time delay in response to a reset request input received by said user interface from said system user.

4. The system of claim 3, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

5. The system of claim 1, wherein each of said changes to said assignment set defines an assignment of one of said resource requests to one of said resource providers, and said selecting means of said update module includes means for selecting one of said plurality of update modes based on one or more attributes associated with said one of said resource requests.

6. The system of claim 5, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

7. The system of claim 5, wherein said one or more attributes associated with said one of said resource requests include at least one of a type of resource associated with said one of said resource requests, a priority value associated with said one of said resource requests, and a location associated with said one of said resource requests.

8. The system of claim 7, wherein each of said resource requests is a field service call, each of said resource providers is a field service technician, and said one or more attributes associated with said one of said resource requests further includes a customer associated with said one of said resource requests.

9. The system of claim 1, wherein each of said changes to said assignment set defines an assignment of one of said resource requests to one of said resource providers, and said selecting means of said update module includes means for selecting one of said plurality of update modes based on one or more attributes associated with said one of said resource providers.

10. The system of claim 9, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

11. The system of claim 9, wherein said one or more attributes associated with said one of said resource providers include a territory associated with said one of said resource providers.

12. The system of claim 11, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

13. The system of claim 1, wherein said selecting means of said update module selects one of said update modes based on a selection input received by said user interface from said system user.

14. The system of claim 13, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

15. The system of claim 1, wherein said user interface includes means for displaying a first component including a representation of a first part of said assignment set, and means for displaying a second component including a representation of a second part of said assignment set, said selecting means of said update module including means for selecting one of said update modes for said first component of said user interface, and for selecting a different one of said update modes for said second component of said user interface.

16. The system of claim 15, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

17. The system of claim 1, wherein said user interface includes means for displaying a first component including a representation of a first part of said assignment set, and a buffer means for storing an undisplayed second component including a representation of a second part of said assignment set, said selecting means of said update module including means for selecting one of said update modes for said first component, and for selecting a different one of said update modes for said second component.

18. The system of claim 17, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

19. The system of claim 17, wherein said selecting means includes means for selecting said assertive mode for said second component.

20. The system of claim 19, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

21. The system of claim 1, wherein said selecting means includes means for selecting one of said update modes based on a number of said changes received by said update module.

22. The system of claim 21, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

23. The system of claim 21, wherein said selecting means includes means for selecting said assertive mode when said number of said changes received by said update module exceeds a threshold.

24. The system of claim 23, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

25. The system of claim 1, wherein said selecting means includes means for changing from a selected one of said update modes to another one of said update modes in response to an elapse of a time delay from a time of a previous input received by said user interface from said system user.

26. The system of claim 25, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

27. The system of claim 1, wherein said update module includes means for controlling said user interface, when said update-on-request mode is selected, to display a non-modal message notifying said system user of a pending update.

28. The system of claim 27, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

29. A computer-implemented system for assigning a plurality of resource requests among a plurality of resource providers, said system comprising:

an assignment database for storing an assignment set, said assignment set defining assignment of one or more of said resource requests among said resource providers;

a user interface for displaying a representation of at least part of said assignment set, and for receiving input from a system user; and

an update module for receiving changes to said assignment set, and for updating said user interface to display a representation of each of said changes to said assignment set, said update module including means for selecting one of a plurality of update modes, said plurality of update modes including:

an assertive mode wherein said update module updates said user interface in response to receipt of each of said changes to said assignment set, and

an update-on-delay mode wherein said update module updates said user interface in response to a combination of said receipt of each of said changes and an elapse of a time delay from a time of said receipt of each of said changes.

30. The system of claim 29, wherein each of said resource requests is a field service call and each of said resource providers is a field service technician.

31. A computer-implemented system for assigning a plurality of field service calls among a plurality of field service technicians, said system comprising:

an assignment database for storing an assignment set, said assignment set defining assignment of one or more of said field service calls among said field service technicians;

a user interface for displaying a representation of at least part of said assignment set, and for receiving input from a system user; and

an update module for receiving said changes to said assignment set, and for updating said user interface to display a representation of each of said changes to said assignment set, said update module including means for selecting one of a plurality of update modes, said plurality of update modes including:

an assertive mode wherein said update module updates said user interface in response to receipt of each of said changes to said assignment set,

an update-on-request mode wherein said update module updates said user interface in response to a combination of said receipt of each of said changes to said assignment set and an update request input received by said user interface from said system user, and

an update-on-delay mode wherein said update module updates said user interface in response to a combination of said receipt of each of said changes and an elapse of a time delay from a time of said receipt of each of said changes.
 Description Submit all comments and votes
 


CROSS-REFERENCE TO RELATED APPLICATIONS

The present application is related to U.S. patent application Ser. No. 08/201,664, issued on U.S. Pat. No. 5,467,268, of Elizabeth M. Sisley and John E. Collins, filed Feb. 25, 1994, and entitled "SYSTEM AND METHOD FOR RESOURCE ASSIGNMENT AND SCHEDULING," now U.S. Pat. No. 5,467,268 U.S. patent application Ser. No. 08/210,678, of John E. Collins and Elizabeth M. Sisley, filed Mar. 18, 1994, and entitled "SYSTEM AND METHOD FOR SCHEDULING RESOURCE REQUESTS," and U.S. patent application Ser. No. 08/220,831, of John E. Collins and Elizabeth M. Sisley, filed Mar. 31, 1994, and entitled "SYSTEM INTEGRATING ACTIVE AND SIMULATED DECISIONMAKING PROCESSES." The content of each of the above-referenced copending United States patent applications is incorporated herein by reference.

FIELD OF THE INVENTION

The present invention relates to techniques for managing a user interface, and, more particularly, to techniques for updating a user interface display in a mixed-initiative system.

DISCUSSION OF RELATED ART

A mixed-initiative system initiates action in response to independent input from one of a plurality of asynchronous input streams. An example of a mixed-initiative system is disclosed in copending U.S. patent application Ser. No. 08/201,664, now U.S. Pat. No. 5,467,268, directed to a software system that generates resource assignment and scheduling recommendations. One or more user interfaces and a database interface generate asynchronous events that independently trigger the generation of assignment and scheduling recommendations by the system. A system user may accept a recommendation from the system or enter an alternative assignment and scheduling decision via one of the user interfaces. Each user interface displays a graphical representation of various resource assignments to aid system users in making assignment and scheduling decisions. During the decisionmaking process, recommendations issued by the system and decisions made by system users undergo continuous change. Because obsolete data may adversely affect the decisions made by a system user, it is important to update the user interface display to keep the system user informed of the current situation.

The update of the user interface display is complicated, however, by the mixed-initiative behavior of the system. Specifically, events received from the database interface or other user interfaces may independently initiate assignment and scheduling recommendations that require updates of the user interface display used by a particular system user. A display update generated in response to such recommendations may overlap or conflict with work being conducted by the particular system user. Thus, the initiative of the assignment and scheduling system may conflict with the initiative of the system user, causing disruption of the system user's work. This potential conflict makes it difficult to update the user interface display in a coherent manner while maintaining near real-time response to the asynchronous events. As an illustration, the system may respond to an event received from the database interface by generating a recommendation that results in the reassignment of several resource requests visible on the system user's display. If the system user is in the process of examining potential assignments for one of the reassigned resource requests, an immediate display update may move the resource request to a different area of the display, or entirely off of the visible portion of the display. This type of disruption results in an appearance of instability that can be disconcerting to the system user. The instability significantly decreases the system user's perceptions of predictability and control over the user interface, causing user dissatisfaction.

SUMMARY OF THE INVENTION

In view of the interface instability problems existent in a mixed-initiative system, the present invention is directed to a resource assignment system for providing mixed-initiative user interface updates that is capable of producing an appearance of stability to the system user without sacrificing near real-time response to asynchronous events.

Additional features and advantages of the invention will be set forth in part in the description that follows, and in part will be apparent from the description, or may be learned by practice of the invention. The advantages of the invention will be realized and attained by the system particularly pointed out in the written description and claims hereof, as well as in the appended drawings.

To achieve the foregoing advantages, as broadly embodied and described herein, the present invention provides a computer-implemented system for assigning a plurality of resource requests among a plurality of resource providers, the system comprising an assignment database for storing an assignment set, the assignment set defining assignment of one or more of the resource requests among the resource providers, a user interface for displaying a representation of at least part of the assignment set, and for receiving input from a system user, and an update module for receiving changes to the assignment set, and for updating the user interface to display a representation of each of the changes to the assignment set, the update module including means for selecting one of a plurality of update modes, the plurality of update modes including an assertive mode wherein the update module updates the user interface in response to receipt of each of the changes to the assignment set, and an update-on-request mode wherein the update module updates the user interface in response to a combination of the receipt of each of the changes to the assignment set and an update request input received by the user interface from the system user.

In another aspect, the present invention provides a computer-implemented system for assigning a plurality of resource requests among a plurality of resource providers, the system comprising an assignment database for storing an assignment set, the assignment set defining assignment of one or more of the resource requests among the resource providers, a user interface for displaying a representation of at least part of the assignment set, and for receiving input from a system user, and an update module for receiving changes to the assignment set, and for updating the user interface to display a representation of each of the changes to the assignment set, the update module including means for selecting one of a plurality of update modes, the plurality of update modes including an assertive mode wherein the update module updates the user interface in response to receipt of each of the changes to the assignment set, and an update-on-delay mode wherein the update module updates the user interface in response to a combination of the receipt of each of the changes and an elapse of a time delay from a time of the receipt of each of the changes.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only, and not restrictive of the invention, as claimed.

The accompanying drawings are included to provide a further understanding of the invention and are incorporated in and constitute a part of this specification. The drawings illustrate exemplary embodiments of the invention and together with the description serve to explain the principles of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram illustrating a resource assignment system providing mixed-initiative updates of a user interface display, in accordance with the present invention;

FIG. 2 is an example of a user interface displaying a graphical representation of an assignment set, in accordance with the present invention;

FIG. 3 is an example of a user interface displaying a graphical representation of an assignment set in an assertive update mode, in accordance with the present invention;

FIG. 4 is a first example of a user interface displaying a graphical representation of an assignment set in an update-on-request mode, in accordance with the present invention;

FIG. 5 is a second example of a user interface displaying a graphical representation of an assignment set in the update-on-request mode, in accordance with the present invention;

FIG. 6 is a first example of a user interface displaying a graphical representation of an assignment set in an update-on-delay mode, in accordance with the present invention;

FIG. 7 is a second example of a user interface displaying a graphical representation of an assignment set in the update-on-delay mode, in accordance with the present invention;

FIG. 8 is a first example of a user interface displaying a graphical representation of an assignment set in the update-on-delay mode, and incorporating a message indicating that a change was initiated by another system user, in accordance with the present invention;

FIG. 9 is a second example of a user interface displaying a graphical representation of an assignment set in the update-on-delay mode, and incorporating a message indicating that a pending update was initiated by another system user, in accordance with the present invention; and

FIG. 10 is an example of a user interface displaying a graphical representation of an assignment set in the update-on-delay mode, and incorporating a message indicating that a pending update involves a high-priority resource request, in accordance with the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

Reference will now be made in detail to an exemplary embodiment of the invention. One skilled in the art, given the description herein, will recognize the utility of the system of the present invention in a variety of diverse resource environments in which assignment and scheduling problems exist. For example, it is conceivable that the system of the present invention may be adapted for assignment and scheduling problems existent in organizations engaged in diverse activities such as telecommunications, power generation, traffic management, medical resource management, transportation dispatching, emergency services dispatching, inventory management, and logistics. However, for ease of description, as well as for purposes of illustration, the present invention primarily will be described in the context of a field service environment.

FIG. 1 is a block diagram of an exemplary embodiment of a resource assignment system for providing mixed-initiative updates of a user interface display, in accordance with the present invention. The system 10 of FIG. 1 is a computer-implemented software system realized, for example, by a software process running on a standard Unix.TM. workstation. The software process of system 10 may be implemented with the Common Lisp Object System (CLOS). As illustrated in FIG. 1, system 10 comprises an assignment and scheduling (A/S) database 12, an assignment and scheduling (A/S) module 14, a service management system (SMS) database interface 16, at least one user interface 18, and an update module 20. The user interface 18 includes an input device 22 and a display device 24. Although SMS database interface 16 and user interface 18 are described herein as discrete components, they may be integrated to combine SMS functionality with the assignment and scheduling activity of system 10.

The A/S database 12 stores a set of resource requests, a set of resource providers, and an assignment set defining assignments of one or more of the resource requests among the resource providers. The assignment set includes a schedule set further defining schedules of the resource requests assigned to each resource provider. For a field service environment, the corresponding representational sets are a call set defined by a plurality of customer service calls requiring maintenance or repair services, a technician set defined by a plurality of field service technicians operating in the field service environment, an assignment set defining assignments of calls to technicians, and a schedule set defining schedules of the calls assigned to each technician. The system user in the field service context may be, for example, a field service call dispatcher. Although A/S database 12 is described herein as a discrete component, it may form part of an SMS database accessed by SMS database interface 16.

The A/S module 14 generates assignment and scheduling recommendations in response to events. The recommendations generated by A/S module 14 represent changes to the assignment set stored in A/S database 12. The events that initiate the assignment and scheduling activity of A/S module 14 represent changes to the set of resource requests stored in A/S database 12, changes to the set of resource providers also stored in A/S database 12, or requests for further evaluation of outstanding recommendations. In the field service context, for example, A/S module 14 responds to call-events representing changes to the call set, tech-events representing changes to the technician set, or reevaluation-events representing requests for further evaluation. A change to the call set may constitute the addition of a new call, the cancellation of a pending call, or a change in attributes associated with a particular call. A change to the technician set similarly may constitute a change in attributes associated with a particular technician.

In operation, A/S module 14 initiates a constrained search for potential assignment and scheduling solutions in response to a call-event, tech-event, or reevaluation-event, and returns the best solution found as a recommendation. The A/S module 14 activates two software process modules that cooperate to reach the assignment/scheduling recommendation. Specifically, A/S module 14 comprises an assigner module, responsible for assigning new and pending service calls among the technicians, and a scheduler module, invoked by the assigner module to generate a schedule of the calls assigned to each individual technician. Thus, each assignment in the assignment set involves both an association of a call with a technician, as determined by the assigner module, and a scheduling of the call at a particular time, as determined by the scheduler module. The A/S module 14 combines optimization, artificial intelligence, and constraint-processing techniques to arrive at near-optimal recommendations. The structure and operation of A/S module 14 are described in detail in the aforementioned copending U.S. patent application Ser. No. 08/201,664.

The assignment and scheduling activity of A/S module 14 is asynchronously initiated by either events received from SMS database interface 16 or events received from user interface 18. The SMS database interface 16 receives SMS event data from a service management system (SMS) database (not shown). The SMS event data is generated with an SMS software application designed to track service calls received from field service customers. Examples of commercially available SMS software systems are the S2000.TM. system manufactured by Service Systems International, and the OPEN UPTIME.TM. system manufactured by Metrix. When a customer requests repair services, a call taker working for the service organization uses the SMS software application to enter new calls and accompanying call attributes provided by the customer into the SMS database. The call taker deletes a call from the SMS database when the customer reports a cancellation, and alters the attributes of a call when notified by the customer. The SMS application may also add a call to the SMS database in response to call information received directly from a customer, or repair signals transmitted from a malfunctioning machine. Thus, the SMS event data captured by the SMS interface 16 constitute call-events representing incremental changes to the call set. If the SMS database and A/S database 12 are integrated, the SMS event data may also include tech-events representing changes to the technician set. The SMS interface 16 translates the SMS event data into call-events and tech-events, and passes the events to A/S module 14, as indicated by line 26, thereby initiating assignment and scheduling activity.

The user interface 18 receives field event data entered by a system user via input device 22. The input device 22 may comprise a conventional input device such as, for example, a mouse and a keyboard. The field event data received by user interface 18 includes both tech-events and call-events, representing changes to the technician and call sets, respectively, as well as reevaluation-events representing requests for further evaluation of an outstanding recommendation for a particular call or technician. The call-events and tech-events generally result from notification by technicians or other field personnel, and may include a change in call attributes or a change in technician attributes. In addition, the system user may override recommendations issued by A/S module 14 by entering changes to the assignment set via input device 22. The changes to the assignment set represent user-selected assignments of particular calls to particular technicians. Like the SMS interface 16, the user interface 18 translates the field event data into events, and passes the events to A/S module 14, as indicated by line 28, to initiate assignment and scheduling activity.

An input queue (not shown) associated with A/S module 14 may linearize the asynchronous events received from SMS interface 16 and user interface 18. The A/S module 14 searches for updated assignment and scheduling solutions in response to each event, and returns the best solution found as a recommendation. The A/S module 14 then updates the contents of A/S database 12, as indicated by line 30, to incorporate the resulting change to the assignment set and the changes to either the call set or technician set, as represented by the particular event. The A/S module 14 also passes the change to the assignment set to update module 20, as indicated by line 32. Although it is described herein as a discrete software process module communicating with A/S module 14, update module 20 conceivably can be implemented as an integral component of A/S module 14. The update module 20 notifies the system user of the change by updating user interface 18 to display a graphical representation of the change via display device 24, as indicated by line 34. The user interface 18 responds by modifying the graphical representation of the assignment set to include the change.

FIG. 2 is an example of a graphical representation of a portion of the assignment set, as displayed by user interface 18 via display device 24. The graphical representation displayed on display device 24 more specifically conveys a representation of the schedules for a subset of technicians selected by the system user. Thus, the display device 24 provides the system user with information concerning the assignment of particular calls to technicians, and the times at which the assigned calls are scheduled. The graphical representation displayed on display device 24 by user interface 18 may be implemented, for example, using X-Windows. The display device 24 may be realized by a common CRT or flat-panel display. In the example of FIG. 2, the graphical representation displayed on display device 24 includes an interactive scheduler window 40. The scheduler window 40 includes a technician field 42 containing a representation of the selected technicians under evaluation by the system user, a schedule field 44 containing a representation of the calls assigned to each of the technicians and the particular times for which the calls are scheduled, and a command bar 46 containing representations of standard window control commands. The technician field 42 displays a group of technicians A, B, C, D, and E operating in the field service environment. The schedule field 44 in FIG. 2 indicates that technician A has been assigned first, second, and third scheduled calls represented by call blocks 48, 50, and 52. The schedule field 44 also includes time blocks 54, 56, 58 representing travel times between successive calls.

The schedule field 44 represents the existing schedules of the technicians, according to recommendations generated by the A/S module 14, subject to approval or modification by the system user. If the system user rejects a recommendation issued by the A/S module 14, she can enter an alternative assignment, via input device 22, representing a change to the assignment set, The user interface 18 passes the change to A/S module 14 as an assignment-event, as indicated by line 28. As with other events, A/S module 14 updates A/S database 12 to include the change represented by the assignment-event, as indicated by line 30, and passes the change to update module 20, as indicated by line 32. The update module 20 responds to changes to the assignment set by updating user interface 18 to incorporate a graphical representation of the respective change. The A/S module 14 may generate recommendations that conflict with work currently being conducted by a particular system user, but which nevertheless require an update of user interface 18. This potential conflict illustrates the mixed-initiative behavior of system 10. If resource assignment system 10 accommodates multiple system users, asynchronous events may be received from several user interfaces, compounding the potential conflicts.

To alleviate instability problems in user interface 18, in accordance with the present invention, update module 20 selects one of a plurality of update modes for updating user interface 18. The particular update mode selected by update module 20 determines the protocol followed by the system user and A/S module 14 in directing changes to the graphical representation displayed by user interface 18. The various update modes of update module 20 range from very polite, involving intervention only at the user's request, to very assertive, involving immediate intervention. This range of choices enables the system user to select a system behavior that produces a degree of interface stability appropriate for the user's particular circumstances. The update module 20 thereby enhances the system user's productivity by increasing perceptions of predictability and control over user interface 18, but does not affect the ability of A/S module 14 to process events with near real-time response.

Examples of the various update modes of update module 20 include: (1) an assertive mode in which update module 20 updates user interface 18 immediate response to receipt of a change to the assignment set from A/S module 14, (2) an update-on-request mode in which update module 14 updates user interface 18 in response to the combination of receipt of a change to the assignment set from A/S module 14 and an update request input received by user interface 18 from the system user via input device 22, (3) an update-on-delay mode in which update module 20 updates user interface 18 in response to the combination of receipt of a change to the assignment set from A/S module 14 and the elapse of a time delay from the time the change is received, and (4) various hybrid modes combining aspects of the assertive mode, update-on-request-mode, and update-on-delay mode, as determined by the system user.

In the assertive mode, update module 20 immediately updates user interface 18 as a change to the assignment set is received from A/S module 14, without regard to whether the change conflicts with work being conducted by the system user. The immediate intervention of update module 20 in the assertive mode may cause occasional disruption of the system user's work due to the mixed-initiative behavior of system 10. However, other considerations may outweigh this drawback. In particular, the system user may find the assertive mode necessary for situations in which the cost of working with even slightly obsolete information is unacceptable. In this case, the assertive mode provides immediate updates of user interface 18 to ensure that the system user always views the most current information.

FIG. 3 is an example of a graphical representation displayed by user interface 18 via display device 24 when the assertive mode of update module 20 is selected. The graphical representation shown in FIG. 3 substantially corresponds to that shown in FIG. 2. With reference to both FIG. 2 and FIG. 3, however, it is assumed that update module 20 receives a change to the assignment set that involves the reassignment of a first call, represented by call block 60, from technician D to technician C, the reassignment of a second call, represented by call block 62, from technician C to technician D, and the assignment of a new call, represented by call block 64, to technician C. In response to the change, update module 20 updates user interface 18 without consulting the system user. As shown in FIG. 3, the update results in the movement of call blocks 60, 62 between the schedules for technicians C and D, and the addition of call block 64 to the schedule for technician C.

In the update-on-request mode, update module 20 does not update user interface 18 until the system user explicitly requests an update via input device 22. However, update module 20 may control user interface 18 to display a non-modal update message on display device 24 notifying the system user that an update is pending. The update message indicates that the information presently viewed by the system user has changed, but allows the system user to finish work in progress without disruption. The update message preferably provides a conspicuous, visible alert, and may be accompanied by an audible icon to enhance the awareness of the system user. The visible portion of the update message may take any of a variety of forms suitable for indicating a pending update. In addition, the visible portion of the update message may convey detailed information concerning the content of the pending update.

FIG. 4 is a first example of a graphical representation displayed by user interface 18 when the update-on-request mode of update module 20 is selected. The graphical representation shown in FIG. 4 substantially corresponds