Source: http://www.google.com/patents/US20010037229?dq=5,884,272
Timestamp: 2017-09-24 00:05:40
Document Index: 87989955

Matched Legal Cases: ['Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60', 'Application No. 60']

Patent US20010037229 - Enterprise scheduling system for scheduling mobile service representatives - Google Patents
Systems and methods for providing an enhanced scheduling process are discussed. One aspect of the present invention includes a method for scheduling mobile service representatives. The method includes negotiating an appointment window for booking a reservation, assigning the reservation to a shift of...http://www.google.com/patents/US20010037229?utm_source=gb-gplus-sharePatent US20010037229 - Enterprise scheduling system for scheduling mobile service representatives
Publication number US20010037229 A1
Application number US 09/824,852
Also published as US7155519, US7346531, US7487105, US7587327, US7603285, US8768738, US20010047287, US20010047288, US20020010610, US20020010615, US20020016645, US20020023157, US20080288539, WO2001075637A2, WO2001075637A8, WO2001075663A2, WO2001075663A3, WO2001075691A2, WO2001075691A8, WO2001075692A2, WO2001075692A8, WO2001075693A2, WO2001075693A8, WO2001075694A2, WO2001075694A8, WO2001077912A2
Publication number 09824852, 824852, US 2001/0037229 A1, US 2001/037229 A1, US 20010037229 A1, US 20010037229A1, US 2001037229 A1, US 2001037229A1, US-A1-20010037229, US-A1-2001037229, US2001/0037229A1, US2001/037229A1, US20010037229 A1, US20010037229A1, US2001037229 A1, US2001037229A1
Inventors Simon Jacobs, Derek Krezeski, Guy Druce
Original Assignee Simon Jacobs, Derek Krezeski, Guy Druce
Patent Citations (68), Referenced by (102), Classifications (47), Legal Events (10)
US 20010037229 A1
This application incorporates by reference and claims the benefit of U.S. Provisional Application No. 60/193,834, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,917, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,832, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,705, filed Mar. 31, 2000; and U.S. Provisional Application No. 60/193,833, filed Mar. 31, 2000.
The technical field relates generally to scheduling. More particularly, it pertains to scheduling a mobile service representative for performance of a service while periodically optimizing the schedule so as to satisfy constraints and to meet business objectives.
[0011]FIG. 1 is a block diagram of a system showing the relationship between a service organization, a scheduling system, mobile service representatives, and customers according to one aspect of the present invention.
[0012]FIG. 2 is a structure diagram of three data structures showing the programmatic representation of a reservation, a mobile service representative, and a shift according to one aspect of the present invention.
FIGS. 3A-3C illustrate an exemplary assignment of a reservation to a shift according to one aspect of the present invention. FIG. 3A shows three exemplary instantiations of the three data structures discussed in FIG. 2 according to one aspect of the present invention. FIGS. 3B is a graphical diagram of a graph showing a shift according to one aspect of the present invention. FIG. 3C is a graphical diagram of a graph showing a shift with a reservation fitted into the shift according to one aspect of the present invention.
FIGS. 3D-3E build on the illustration of FIGS. 3A-3C and illustrate another exemplary assignment of another reservation to a shift according to one aspect of the present invention. FIG. 3D is an exemplary instantiation of the reservation data structure as discussed in FIG. 2. FIG. 3E is a graphical diagram of a graph showing a shift with two reservations being fitted into the shift according to one aspect of the present invention.
FIGS. 3F-3H build on the illustration of FIGS. 3D-3E and illustrate another exemplary assignment of yet another reservation to a shift according to one aspect of the present invention. FIG. 3F is an exemplary instantiation of the reservation data structure as discussed in FIG. 2. FIG. 3G is a tabular diagram of a table showing a list of appointment windows that are offered to a customer. FIG. 3H is a graphical diagram of a graph showing a shift with three reservations being fitted into the shift according to one aspect of the present invention.
[0016]FIG. 4 is a process diagram of a method for scheduling according to one aspect of the present invention.
[0017]FIGS. 5A is a structure diagram of a data structure showing the programmatic representation of an appointment window according to one aspect of the present invention. FIG. 5B shows multiple instantiations of the appointment window data structure.
[0018]FIG. 6A is a tabular diagram showing a priority matrix according to one aspect of the present invention. FIG. 6B is a graphical diagram showing that higher priority reservations may bump lower priority reservations in a shift.
[0019]FIG. 7 is a tabular diagram showing a set of reservations to illustrate the concept of aggregation according to one aspect of the present invention.
[0020]FIG. 8 is a block diagram showing a scheduling system according to one aspect of the present invention.
[0021]FIG. 9 is a state diagram showing the transitions of a state of a reservation in a scheduling process according to one aspect of the present invention.
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings, which form a part hereof, and in which are shown, by way of illustration, specific exemplary embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. The present application incorporates by reference the following references: U.S. Provisional Application No. 60/______, filed ______; and Simon Jacobs, Enterprise Scheduling System (ESS) Function Specification, Rev. 4.1 (Jun. 30, 2000).
[0023]FIG. 1 is a block diagram of a system 100 according to one aspect of the present invention. The system 100 includes a service organization 102. The service organization 102 performs services for a roster of customers. When a customer 108 is interested in having a service performed by the service organization 102, the customer 108 calls the service organization 102 to make a reservation for a service to be performed.
[0027]FIG. 4 is a process diagram of a method 400 for scheduling according to one aspect of the present invention. The complete processing to offer appointment windows that corresponds to optimal assignment requires a considerable amount of computing time. Most customers are unwilling to wait until processing is complete so that a service organization can begin offering appointment window selections to fit a reservation. For this reason, the embodiments of the present invention separate the act of offering, which comprises the acts of negotiating and assigning, from the act of optimizing. The embodiments of the present invention provide a different suite of techniques for each act.
The method 400 also includes an act 406 for optimizing. The act 406 changes the way reservations are assigned by the act 404 to meet certain optimization objectives defined by the service organization. The act 406 may move reservations within a shift of a mobile service representative. It may swap reservations between two shifts of two mobile service representatives. The act 406 runs periodically. It is designed to be independent from the act 404 while new reservations are being assigned.
[0031]FIGS. 2, 3, and 5-7 discuss a number of data structures that are used by the scheduling method 400, such as reservations, mobile service representatives, shifts, appointment windows, and aggregation parameter sets. The concepts of priority and aggregation will also be introduced in connection to these data structures.
[0032]FIG. 2 is a structure diagram of a data structure 200 showing the programmatic representations of a reservation 202, a mobile service representative 204, and a shift 206 according to one aspect of the present invention. A reservation is an order for service that needs to be performed by a mobile service representative. The mobile service representative is a worker who performs the service specified by the reservation. A shift is a time period during which the mobile service representative is available for work. These representations are used by a scheduling system to provide scheduling information to a service organization.
The data structure 200 includes a representation of a shift as a shift 206. There are several data members associated with the shift 206: an identifier 206A, which uniquely identifies each shift 206; a mobile service representative identifier 206B, which associates the shift 206 to a unique mobile service representative 206B; a shift time frame 206C, which specifies a time period during which the mobile service representative 206B is available for work; a set of breaks, for which each break specifies a time period in which the mobile service representative 206B interrupts his work for a respite; location information 206E, which specifies the starting and ending location; and configurable fields 206F, which allow the service organization to specify additional constraints, such as the geographic areas within which the mobile service representative 206B is allowed to work.
FIGS. 3A-3C illustrate an exemplary assignment of reservations to a shift according to one aspect of the present invention. FIG. 3A shows three exemplary instantiations of the three data structures as shown in FIG. 2 according to one aspect of the present invention. The structure 300 includes instantiations 302, 304, and 306. The instantiation 302 is created to represent a specific reservation that has been placed by a customer, such as Reservationl. The instantiation 304 is created to represent a specific mobile service representative, such as MU1. The instantiation 306 is created to represent a specific shift of the mobile service representative MU1, such as Shift1.
[0039]FIG. 3B is a graphical diagram of a graph 308 showing the shift 306 discussed in FIG. 3A. The graph 308 includes an appointment window 310 of the reservation 302. In accordance with reservation 302, the appointment window 310 is between 9:00 to 11:00. The graph 308 includes several blocks of free time 311. These blocks of free time are times that a mobile service representative has available to work on a reservation. The graph 308 also includes break times, such as break times 312. These break times are specified in the shift 306.
[0041]FIG. 3C is a graphical diagram of a graph 308 showing the shift 306 discussed in FIG. 3A. The graph 308 shows that the reservation 302 has been booked into the shift 306. This booking is represented by the travel time 314 and the work time 316.
FIGS. 3D-3E build on the illustration of FIGS. 3A-3C and illustrate another exemplary assignment of another reservation to a shift according to one aspect of the present invention. FIG. 3D is an exemplary instantiation of the reservation data structure as discussed in FIG. 2. The instantiation of the reservation data structure produces reservation 318, which is uniquely identified as Reservation2.
[0045]FIG. 3E is a graphical diagram of a graph 308 showing a shift with two reservations being fitted into the shift according to one aspect of the present invention. The graph 308 shows an appointment window 320 associated with the reservation 318. The reservation 318 has been booked into the shift 306. This booking is represented by the work time 324 and the travel time 322.
FIGS. 3F-3H build on the illustrations of FIGS. 3D-3E and illustrate another exemplary assignment of yet another reservation to a shift according to one aspect of the present invention. FIG. 3F shows another exemplary instantiation of a reservation data structure as discussed in FIG. 2 according to one aspect of the present invention. The instantiation of the reservation data structure produces reservation 326, which is uniquely identified as Reservation3.
[0049]FIG. 3G shows a table 328 illustrating a number of appointment windows available to a service organization to negotiate with a customer to book reservation 326 to the shift 306 of the mobile service representative 304. During the negotiation, a customer requests several appointment windows for a reservation and the scheduling system examines the possible ways that the reservation can fit into a mobile service representative's shifts. As discussed above, the shift 306 already contains reservation 302 and reservation 318. There are three places that reservation 326 can be fitted into the shift 306: before reservation 302, between reservation 302 and 318, and after reservation 326.
[0052]FIG. 3H is a graphical diagram of a graph showing a shift with three reservations being fitted into the shift according to one aspect of the present invention. The reservation 326 is represented in the graphs of FIG. 3H as travel time 330 and work time 332. The graph 308A illustrates the fitting of the reservation 326 into an earliest start of the shift 304. The graph 308B illustrates the fitting of the reservation 326 into the latest start of the shift 304.
In the example, the flexibility in the appointment windows of the reservation 302 and the reservation 318 allows most of the appointment windows to be offered to the customer for reservation 326. In reality, there are likely to be several shifts into which reservation 326 fits, and which, in conjunction with the corresponding mobile service representatives, satisfy the operational constraints. The service organization is free to move the reservation 326 using the scheduling process to other shifts or to adjust the time at which the reservation 326 is scheduled to start in the shift 304 as long as the selected appointment window is honored. For example, if the customer selects the 09:00 to 10:00 window, the scheduling process is not allowed to schedule the start of work before 09:00, even though the start time range for the shift from which that window derives begins at 08:20.
[0056]FIGS. 5A is a structure diagram of a data structure showing the programmatic representation of an appointment window according to one aspect of the present invention. The appointment window data structure 500 includes a data member identifier 502, a data member start time 504, and a data member end time 506. The data member identifier 502 uniquely identifies an appointment window. The data member start time 504 is the start time of the appointment window. The data member end time 506 is the end time of the appointment window.
[0058]FIG. 5B shows multiple instantiations of the appointment window data structure. The appointment window set 508 shows various window options, such as a one-hour windows, two-hour windows, and morning, evening, and night window.
[0059]FIG. 6A is a tabular diagram showing a priority matrix 600 according to one aspect of the present invention. The embodiments of the present invention use priority to rank the importance of certain reservations. In one embodiment, a low priority number reflects a high priority. For example, a reservation for an emergency condition might have a priority of 1 or 2, while a reservation for preventative maintenance or inspection work might have a priority of 9 or 10.
One implementation of the bumping concept is the use of a bumping matrix. The service organization uses the bumping matrix to determine when lower priority reservations can be bumped. The priority matrix 600 in FIG. 6A defines an exemplary bumping matrix for a service organization using six priorities. The set of cells that contain “NO” or “−” indicate that a reservation of priority i cannot bump a reservation of priority j. The set of cells that contain “AU” indicate that a reservation i can automatically bump a reservation of priority j. The set of cells that contain “AP” indicate that a reservation of priority i can bump a reservation of priority when the service organization explicitly requests such a bump.
[0063]FIG. 6B is a graphical diagram showing that higher priority reservations may bump lower priority reservations in a shift. The graph 602 shows a shift with seven assigned reservations. The priority of each reservation is shown on the reservation.
Suppose that the service organization would like to fit a reservation of priority 2 into the shift as shown in the graph 602. If the service organization does not request bumping, the scheduling system will automatically bump certain reservations using the bumping matrix 600. Thus, reservations of priority 4 and 6 will be removed from the shift as needed so as to accommodate the reservation of priority 2. The graph 604 illustrates this automatic bumping of reservations.
Suppose now that the service organization would like to request bumping for the reservation with priority 2. Thus, reservations of priorities 4, 5, and 6 may be removed as needed to accommodate the reservation with priority 2. The graph 606 illustrates this combination of automatic bumping and requested bumping.
[0067]FIG. 7 is a tabular diagram showing a set of reservations to illustrate the implementation of aggregation according to one aspect of the present invention. The embodiments of the present invention allow reservations that are similar in some way to be aggregated or grouped together so that they are assigned one after the other to the shift of a mobile service representative. For example, reservations that are for the same apartment building or in close proximity might be aggregated.
[0072]FIG. 8 is a block diagram showing a scheduling system 800 according to one aspect of the present invention. The scheduling system 800 is similar to the scheduling system 104 as discussed in FIG. 1, but is discussed here in greater detail. The scheduling system 800 includes a negotiator 802, an assigner 804, and an optimizer 806. The negotiator 802, the assigner 804, and the optimizer 806 may use a suite of components 810 to carry out their task. This suite of components 810 is configurable allowing a service organization to implements its business objectives through a set of rules and constants.
When a customer calls to place a reservation for a service to be performed, the service organization uses the negotiator 802 to obtain a set of appointment windows. Then, the service organization offers this set of appointment windows to the customer. The customer selects a appointment window to fit his reservation. The negotiator 802 records the selected appointment window for the reservation.
After calling the assignment filter 812, the assigner 804 attempts to fit the reservation into each of the shifts that are returned, starting with the most desirable shift and working down to less desirable shifts. The assigner 804 assigns the reservation to the most desirable shift into which it fits. The assigner 804 may use the assignment error component 814 to find out the reasons why a reservation cannot be assigned to a mobile service representative.
The optimization filter 818 also sorts the shifts it returns to the optimizer 806: more desirable shifts are sorted ahead of less desirable shifts. After calling the optimization filter 818, the optimizer 806 attempts to fit the reservation into each of the shifts that are returned, starting with the most desirable shift and working down to less desirable shifts. The optimizer 806 attempts to inter-shift or intra-shift badly assigned reservation into a more desirable shift that allows the optimization objectives as defined the optimizing objective component 820 to be better satisfied.
[0080]FIG. 9 is a state diagram 900 showing the transitions of a reservation according to one aspect of the present invention. The state diagram 900 tracks the states of a reservation. In this way, the state diagram 900 offers a view into the inner workings of the scheduling process according to the embodiments of the present invention. When the scheduling process acts upon the reservation by executing various pieces of software, the reservation may transition to another state as shown in the state diagram 900. For example, a starting state 901 denotes the yet-to-be reservation. When the scheduling process creates the reservation (shown in the state diagram 900 as an arc with the word “create”), the reservation transitions from the starting state 901 to a pending state 902.
While the reservation is in the pending state 902, it may transition to an ending state 999 if the reservation were to be canceled, timed out, or completed. When a reservation is canceled, it is immediately purged from the scheduling process. The reservation ceases to exist. A reservation times out when a predetermined period of time has elapsed and either no activity has transpired with respect to the reservation or the corresponding order has not created for the reservation. When a reservation times out, it is canceled. When the scheduling process forces the reservation to be completed while in the pending state 902, the reservation is purged from the scheduling process.
The reservation may transition from the pending state 902 to the booked state 904 if the act of assigning is executed. The scheduling process attempts to assign the reservation to a shift that is considered suitable for the reservation. If the reservation has a mobile service representative, the shift is associated with that mobile service representative. The reservation fits into the shift if its start of work date and time fall within the appointment window and if its start of travel date and time are later than the current date and time (that is, the time at which the request is made) by at least the value of a predetermined minimum time to start travel. For example, if the current time is 10:07 and the parameter is set to 5 minutes, the start of travel cannot be scheduled earlier than 10:12.
The completed state 906 denotes that the reservation has been successfully fitted into a shift of a mobile service representative. The reservation in the completed state 906 will transition to the ending state 999 if one of the following acts were to be executed: purging, modifying a shift, force-modifying a shift, deleting a shift, and force-deleting a shift. If the reservation transitions to the ending state 999, it ceases to exist as an entity useful to the scheduling process.
If the act of assigning a bumped order refuses to assign the reservation but the reservation has specified a desired mobile service representative, the scheduling process will forcibly assign the reservation. The reservation transitions from the bumped state 908 to the linked state 912 or the orphaned state 916 if the scheduling has to forcibly assign the reservation. Recall that a transition to the linked state 912 means that the desired mobile service representative has at least one shift that overlaps with the appointment window of the reservation. Otherwise, the reservation transitions to the orphaned state 916.
While a reservation is at the bumped state 908, the properties of the reservation may be changed. If one of the reservation's properties is changed, the scheduling process finds appointment windows and attempts to reassign the reservation. If it is successfully reassigned, the reservation transitions to the booked state 904 from the bumped state 908. To clarify a point hereinabove and hereinbelow, when the discussion describes that the scheduling process takes a certain actions, it is meant that there is an external actor, such as a service organization, that acts upon the scheduling process so as to allow the scheduling process to take a desire action.
If the act of assigning refuses to assign the reservation but the reservation has specified a desired mobile service representative, the scheduling process will forcibly assign the reservation. The reservation transitions from the yanked state 908 to the linked state 912 or the orphaned state 916 if the scheduling has to forcibly assign the reservation.
The act of reassigning may be refused because there may not be a suitable shift for reassignment. In that case, the service organization may force the scheduling process to forcibly reassign the reservation. The reservation would transition to either the linked state 914 or the orphaned state 916 from the yanked state 910 depending on whether there is at least one shift that overlaps with the appointment window of the reservation as discussed hereinbefore.
There is other administrative software provided by the scheduling process that is not shown in the state diagram 900. One piece of software adds a mobile service representative. This creates a representation of the mobile service representative so as to be used in the scheduling process. The representation includes an identifier and zero or more configurable fields. These fields include business units; default working area; skills; equipment types; customer in an emergency situation; and customer out of coverage. Two other pieces of software modify a mobile service representative and delete a mobile service representative. The piece of software for modifying a mobile service representative can modify any property associated with the mobile service representative. Current assignments of reservations to the mobile service representative are not affected. The mobile service representative can be deleted as long as there are no shifts associated with the mobile service representative. Also, the mobile service representative cannot be a desired mobile service representative of any reservation.
US5922656 * Mar 23, 1998 Jul 13, 1999 Tonen Corporation Lubricant compositions for automatic transmissions
US5972854 * Jun 6, 1997 Oct 26, 1999 Idemitsu Kosan Co., Ltd. Lubricating oil composition for automatic transmission
US6010988 * Sep 14, 1998 Jan 4, 2000 Mitsubishi Oil Co., Ltd. Lubricating oil composition
US20010029499 * Dec 28, 2000 Oct 11, 2001 Tuatini Jeffrey Taihana Rules processing system
US8041586 * Sep 18, 2008 Oct 18, 2011 International Business Machines Corporation Shared space availability by dynamically responding to user utilization behavior of shared space
US20100070314 * Sep 18, 2008 Mar 18, 2010 International Business Machines Corporation Shared space availability by dynamically responding to user utilization behavior of shared space
US20120284075 * Jul 17, 2012 Nov 8, 2012 Derek Blagg System and Method For the Automated Dispatch of Fueling Operations
US20120316907 * Jun 7, 2011 Dec 13, 2012 Avaya, Inc. System and method for managing agent contact assignments near end of agent work shift
US20130346130 * Dec 5, 2012 Dec 26, 2013 Moose Loop Holdings, LLC Geographical clustering of service providers
WO2008042712A1 * Sep 27, 2007 Apr 10, 2008 Verint Systems Inc. Systems and methods of partial shift swapping
U.S. Classification 705/7.14, 705/7.16, 705/7.21, 705/7.26, 705/7.19, 705/7.24, 705/7.25
Cooperative Classification H04L67/32, H04L69/329, G06Q10/10, G06Q10/06316, G06Q10/06315, G06Q10/063116, G06Q10/02, G06Q10/08, G06Q10/063112, G06Q10/06314, H04L29/06, G06Q10/06, G06Q10/1095, G06Q10/04, G06Q10/047, G06Q10/0631, G06Q10/1097, G06Q10/063114, G06Q10/109
European Classification G06Q10/02, G06Q10/04, G06Q10/109, G06Q10/047, G06Q10/0631, G06Q10/06311F, G06Q10/06316, G06Q10/10, G06Q10/06, G06Q10/06311B, G06Q10/06311D, G06Q10/06314, G06Q10/1097, G06Q10/1095, G06Q10/06315, G06Q10/08, H04L29/08N31, H04L29/06