WO2001075691A2 - Finding technique for a scheduling system - Google Patents

Finding technique for a scheduling system Download PDF

Info

Publication number
WO2001075691A2
WO2001075691A2 PCT/CA2001/000420 CA0100420W WO0175691A2 WO 2001075691 A2 WO2001075691 A2 WO 2001075691A2 CA 0100420 W CA0100420 W CA 0100420W WO 0175691 A2 WO0175691 A2 WO 0175691A2
Authority
WO
WIPO (PCT)
Prior art keywords
time
shift
block
order
act
Prior art date
Application number
PCT/CA2001/000420
Other languages
French (fr)
Other versions
WO2001075691A8 (en
Inventor
Simon Jacobs
Guy Druce
Original Assignee
Mdsi Mobile Data Solutions Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mdsi Mobile Data Solutions Inc. filed Critical Mdsi Mobile Data Solutions Inc.
Priority to AU2001246270A priority Critical patent/AU2001246270A1/en
Publication of WO2001075691A2 publication Critical patent/WO2001075691A2/en
Publication of WO2001075691A8 publication Critical patent/WO2001075691A8/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063112Skill-based matching of a person or a group to a task
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063116Schedule adjustment for a person or group
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06314Calendaring for a resource
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1095Meeting or appointment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • G06Q10/1093Calendar-based scheduling for persons or groups
    • G06Q10/1097Task assignment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/80Management or planning

Definitions

  • the technical field relates generally to scheduling. More particularly, it pertains to finding an opening in a schedule within a predetermined period of time.
  • a customer calls a service organization to place an order for the desired service.
  • the customer may be kept on the phone for an undesirably long period of time while the service organization searches the schedule in an attempt to fit the order into the schedule.
  • some service organizations do not search the schedule while the customer is on the phone, but simply accept the order and dump it into a time bucket without scheduling the order to a particular shift of a worker.
  • the service organization executes a batch process that assigns orders to various workers.
  • One problem with this approach is that the service organization lacks the ability to accurately assess the capacity of the workforce to do work.
  • An illustrative aspect of the invention includes a method for scheduling.
  • the method includes forming a list of shifts in a schedule and determining a shift in which an order can be scheduled.
  • the method also includes assigning the order to the shift that is determined by the act of determining.
  • the acts of forming, determining, and assigning are contemporaneously executed while a customer is on a phone attempting to schedule the order.
  • Another illustrative aspect of the invention includes a method for finding an opening to fit an order in a schedule.
  • the method includes computing an amount of free time required in a shift to fit the order and creating a schedulable time block from a virtual free time block.
  • the schedulable time block includes a primary block, at least one expansion block, and at least one load block.
  • the method also includes examining the primary block. Under the act of examining, the primary block is a candidate to fit the order if the duration of the primary block, excluding at least one break, is greater than or equal to the amount of free time required in the shift to fit the order.
  • the method further includes creating at least one opening in the shift from the schedulable time block so as to present a customer with at least one option of fitting the order in the schedule to perform a desired service.
  • Another illustrative aspect includes a method for assigning an order to an opening in a schedule after a customer has selected an appointment window in the schedule.
  • the opening and the appointment window are specified.
  • the method includes generating a list of schedulable time blocks for a shift identified in the opening and then intersecting the opening and the appointment window to obtain a time range.
  • the method also includes choosing the opening to assign the order if a schedulable time block from the list of schedulable time blocks includes the opening.
  • the opening is within the time range obtained by the act of intersecting.
  • Another illustrative aspect includes a method for assigning an order to a schedule after a customer has specified an appointment window in the schedule.
  • the method includes checking a list of openings for overlap with the appointment window and generating a list of schedulable time blocks in a shift if there is no overlap.
  • the method includes assigning the order to the schedule if there is an opening in the list of openings that overlaps with the appointment window or an opening in the list of schedulable time blocks that overlaps with the appointment window.
  • Figure 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.
  • Figure 2 is ablock diagram of a scheduling system according to one aspect of the present invention.
  • Figure 3 is a process diagram of a method for finding an opening in a schedule to fit an order to a shift of a worker and assigning the order to the opening according to one aspect of the present invention.
  • Figure 4 is a process diagram of a method for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention.
  • Figure 5 is a process diagram of a method for computing an amount of free time required to accommodate an order in a shift.
  • Figures 6A-6B are aprocess diagram of amethod for examining aprimary block according to one aspect of the present invention.
  • Figure 7 is a process diagram of a method for computing extra time that can be obtained by relocating assigned orders earlier in the shift or later in the shift according to one aspect of the present invention.
  • Figures 8A-C are graphical diagrams showing graphs to illustrate techniques for relocating a portion of a shift to earlier in time or later in time to find extra time to fit an order.
  • 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 108.
  • the customer 108 calls the service organization 102 to make a reservation for the service performed.
  • the service organization 102 negotiates with the customer 108 to place a reservation in a schedule.
  • the scheduling system 104 provides to the service organization 102 several appointment windows from which the customer 108 may choose.
  • the customer 108 selects an appointment window in which the service requested will be performed.
  • the scheduling system 104 determines which mobile service representatives 106 can do the work.
  • the customer 108 picks an appointment window and the scheduling system 104 assigns to the order to a mobile service representative.
  • a mobile service representative 106 is one who is capable of performing the service requested by the customer 108.
  • the scheduling system 104 accounts for many factors in assigning the reservation to a mobile service representative 106, such as time availability, skill sets, geographic area, duration of each job, travel times between jobs, and equipment requirements.
  • the scheduling system 104 periodically optimizes the schedule by relocating reservations assigned to a single mobile service representative or swapping reservations between different mobile service representatives.
  • the scheduling system 104 can be implemented over one machine or several machines with different processors.
  • the scheduling system 104 allows the scheduling system 104 to be scalable depending on the needs of the service organization 102.
  • the scheduling system 104 is also configurable. This allows the scheduling system 104 to meet different constraints and obj ectives.
  • the scheduling system 104 is implemented over Common Object Request Broker Architecture (CORBA).
  • the scheduling system 104 is implemented using a database, such as an Oracle database.
  • FIG. 2 is a block diagram of a scheduling system 200 according to one aspect of the present invention.
  • the scheduling system 200 is similar to the scheduling system 104 of Figure 1.
  • the scheduling system 200 includes a finder 202.
  • the finder 202 finds one or more openings in the schedule in which the order may fit. Recall that prior systems may take a prohibitively long period of time to find openings in the schedule.
  • the embodiments of the present invention through the implementation of the finder 202 return one or more openings within an amount of time so that the customer need not wait on the phone for an undesirably long period of time.
  • the negotiator 204 may present these openings as appointment windows to the service organization.
  • the service organization can discuss these appointment windows with the customer and negotiate with the customer to select an appointment window to perform the service in accordance with the' order.
  • the customer may make specific demands, such as a request for a particular worker to perform the service or a request for a particular set of skills in the performance of the service.
  • the finder 202 can find openings in the schedule associated with a particular worker.
  • the assigner 206 proceeds to assign the order to the opening associated with the appointment window.
  • the optimizer 208 optimizes the schedule so as to accommo- date additional orders. In one embodiment, the optimizer 208 defragments the available spaces in a shift to fit additional orders in the shift.
  • Figure 3 is a process diagram of a method 300 for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention.
  • the method 300 begins with an act 302 for generating a list of shifts.
  • the act 302 generates the list of shifts using a window over the schedule. The window helps to control the amount of information to find each shift in the list of shifts. Each shift in the list of shifts may contain enough time to accommodate the order.
  • the act 302 also includes a set of candidacy rules that allow the act to be more selective about each shift in the list of shifts.
  • the method 300 includes an act 304 for generating a list of virtual free time blocks. The list of virtual free time blocks is generated for a shift of a worker.
  • a virtual free time block is an amount of time that could be used to fit an order by either bumping one or more contiguous orders within a shift or by a free time block.
  • the term "free time block” means a block of free time between the end of the work on one order and the start of travel to another order. Thus, by bumping one or more contiguous orders within a shift, a virtual free time block may accumulate enough free time to fit an order into the shift.
  • contiguous means next to or near in time or sequence.
  • the method 300 includes an act 306 for iterating through each shift in the list of shifts generated in the act 302.
  • the act 306 allows a set of acts to execute for each shift in the list of shifts. This set of acts help to find one or more openings in the list of shifts so as to fit an order into the schedule for a customer. Recall that the list of shifts is generated from a window over the schedule to control the amount of information that must be processed to find one or more openings. This set of acts is described in greater detail hereinbelow.
  • the method 300 includes an act 308 for iterating through each virtual free time block from a list of virtual free time blocks.
  • the list of virtual free time blocks is generated from the act 304 for each shift in the list of shifts generated in the act 302.
  • each virtual free time block is a free time block.
  • Another abstraction of the free time block called a schedulable time block keeps track of the virtual free time blocks that can be gathered to fit an order into a shift.
  • the schedulable time block is discussed in greater detail hereinbelow.
  • the act 308 allows a set of acts to execute for each virtual free time block in the list of virtual free time blocks. This set of acts help to identify whether the virtual free time block is a candidate to become an opening in the shift so as to fit an order.
  • the combination of act 306 and act 308 searches through the list of shifts and the virtual free time blocks in the list of shifts for one or more openings to fit an order.
  • the method 300 includes an act 310 for finding an opening.
  • the act 310 comprises other acts that are executed to find one or more openings to fit an order.
  • the act 310 is iterated by the act 308 for each virtual free time block in the list of virtual free time blocks and by the act 306 for each shift in the list of shifts.
  • the method 300 also includes an act 312 for assigning an order. When one or more openings are found, these openings are presented to a customer. The customer selects a desired opening. The act 312 attempts to assign the order to the opening. If the order is successfully assigned to the opening, the order is assigned to a shift of a worker. On the appointed date and time, the worker proceeds to perform the service as specified in the order.
  • Figure 4 is a process diagram of a method 400 for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention. The method 400 discusses the act 310 of Figure 3 in greater detail.
  • the method 400 includes an act 402 for computing an amount of free time required to accommodate the order. The amount of free time required to accommodate the order is a sum of three terms. One of the three terms is a travel time, another is a job time, and the third term is a difference travel time. These terms are explained by proceeding to Figure 5.
  • FIG. 5 is a process diagram of a method 500 for computing an amount of free time required to accommodate an order in a shift.
  • the method 500 includes an act 502 for calculating a travel time T between a first activity and a second activity.
  • the travel time T is defined as the time to travel from a location a to another location b.
  • the term "t" is a function that returns a time period for traveling between the location a and the location b.
  • the method 500 also includes an act 504 for calculating a difference travel time.
  • the difference travel time can be explained by an example.
  • the shift comprises sabFcd.
  • the term “s” signifies the start of the shift.
  • the terms "a,” “b,” “c,” and “d” are work activities that are to be performed by a worker.
  • the term “F” signifies a virtual free time block.
  • the time travel to a equals t(s,a).
  • the time travel to b equals t(a,b).
  • the time travel to F equals 0.
  • the time travel to c equals t(b,c).
  • the time travel to d equals (c,d).
  • a new order n is to be inserted into the virtual free time block
  • the time travel to n equals t(b,n).
  • the difference travel time is a result of the travel time from the new order to the activity c subtracting the travel time from the activity b to the activity c.
  • This difference travel time is the time calculated by the act 504.
  • the method 500 includes an act 506 for calculating a job time.
  • the job time is the amount of time required to perform a service as specified by an order.
  • the method 500 sums the travel time T between a first activity and a second activity, the difference travel time, and the job time to form a summation. This summation is the amount of free time required in a shift to fit the order.
  • act 402 produces the amount of free time required in a shift from a sum of the travel time T between a first activity and a second activity, the difference travel time, and the job time.
  • the method 400 also includes an act 404 for creating a schedulable time block from a virtual free time block.
  • the schedulable time block includes a primary block.
  • the schedulable time block may include at least one expansion block, at least one load block, or both.
  • the primary block is a block of time into which the order may be inserted.
  • the primary block may not have adequate time to fit an order however.
  • the expansion block and the load block help to provide some extra time that may increase the time of the primary block to fit the order.
  • the expansion block finds extra time in the shift by relocating other assigned orders in the shift.
  • the load block finds extra time in the shift by removing assigned orders in the shift so that the total load of the shift is kept below a worker's load limit.
  • the method 400 includes an act 406 for examining the primary block to see if the order can be fitted into the primary block.
  • the act 406 comprises a set of acts that determine whether primary block is a candidate to fit the order. This set of acts may try to find extra time in the shift by shuffling assigned orders earlier or later in time in the shift or by removing assigned orders. To focus on this set of acts in greater detail, the discussion proceeds to Figures 6A-6B.
  • Figures 6A-6B are a process diagram of a method 600 for examining a primary block according to one aspect of the present invention.
  • the method 600 includes an act 602 for examining the primary block.
  • the act 602 deems that the primary block is a candidate to fit the order if the duration of the primary block, excluding any breaks, is greater than or equal to the amount of free time required in the shift to fit the order.
  • An act 604 follows the act 602 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to node 613B to other acts.
  • the method 600 progresses to an act 606 for finding the extra time by relocating a portion of the shift that is filled with assigned orders to the right of the primary block.
  • the relocation of the portion of the shift is a shuffle of assigned orders to later in the time of the shift so as to create extra time that can be added to the primary block to fit an unassigned order.
  • the extra time is added as an expansion block to the schedulable time block created in the act 404 of Figure 4. In order to focus in greater detail on how the extra time in the shift is found, the discussion further proceeds to Figure 7.
  • Figure 7 is a process diagram of a method 700 for computing extra time that can be obtained by relocating assigned orders earlier in the shift or later in the shift according to one aspect of the present invention.
  • the method 700 begins at the act 702 for calculating an amount of time available in a virtual free time block for fitting an order. This amount of time is represented as t.
  • the method 700 includes an act 704 for computing an amount of time in which a portion of the shift must be relocated. This amount of time is represented as Dt. Dt equals EOT - 1. EOT is the amount of free time required in a shift to fit the order, which is calculated by act 404 of Figure 4. t is the amount of time available in the virtual free time block for fitting an order as discussed above.
  • the method 700 progresses to an act 706 for comparing Dt to zero. If Dt is a negative quantity, this indicates that there is enough time in the virtual free time block to fit the order, and the method 700 ends its execution. If Dt is a positive quantity, this indicates that a portion of the shift must be relocated, and the method 700 progresses to the act 708.
  • the act 708 computes an amount of time in which the portion of the shift can be relocated. This amount is represented as t-. in .
  • the portion of the shift can be relocated earlier in time or later in time relative to the virtual free time block in which an order is inserted. By relocating the portion of the shift, more free time may become available to add to the virtual free time block to accommodate the order.
  • relocating the portion of the shift to the left means relocating the portion of the shift to an earlier point in time.
  • relocating the portion of the shift to the right means relocating to a later point in time.
  • Figures 8A-C are graphical diagrams showing graphs to illustrate techniques for relocating a portion of the shift to earlier in time or later in time to find extra time to fit an order.
  • Figure 8A is a graphical diagram showing a graph 800 to illustrate a technique for relocating a portion of the shift.
  • the graph 800 includes a shift 802 that defines the work period of a worker.
  • the shift 802 includes a virtual free time block 804.
  • the virtual free time block 804 is the time block into which an order is to be fitted.
  • the shift 802 includes other assigned orders, such as order 806, order 808, and order 810.
  • Order 806 is designated as Order 1.
  • Order 808 is designated as Order 2.
  • order 810 is designated as Order 3.
  • the shift 802 includes travel time to get from one assigned order to the next.
  • the shift 802 includes appointment windows 812, 814, and 816.
  • the appointment window 812 defines a time period during the shift 802 in which a worker could start to work on Order 1.
  • the appointment window 814 similarly defines a time period in which the worker could start to work on Order 2.
  • the appointment window 816 defines a time period for a worker to start to work on Order 3.
  • the graph 800 also illustrates a maximum relocation for eachofthe Orders 1, 2, and 3.
  • the maximum relocation figure denotes the maximum relocation that can be done for a particular assigned order. To relocate to a point later in time, the maximum relocation is formed from taking the absolute value of the subtraction of the starting time of an assigned order from the end of the appointment window for the assigned order. To relocate to a point earlier in time, the maximum relocation is formed from taking the absolute value of the subtraction of the starting time of an assigned order from the start of the appointment window for the assigned order. To calculate t min , which is the amount of time the portion of the shift can be relocated, the minimum of the three maximum relocation figures 818, 820, and 822 is taken. Thus, in the graph 800, it can be seen that the maximum relocation figure 822 is the minimum.
  • Figure 8B is a graphical diagram illustrating a technique for relocating a portion of the shift to a later point in time.
  • the graph 800 includes a shift 802 t .
  • the shift 802 is similar to the shift 802 discussed in Figure 8 Abut is different in that the shift 802 ! includes another virtual free time block 824 in addition to the virtual free time block 802.
  • the virtual free time block 804 is the block in which the order is to be inserted.
  • Orders 1, 2, and 3 and the travel time associated with these orders can be relocated to the right. The maximum amount of relocation is given by t mln .
  • Figure 8C is a graphical diagram illustrating a technique for relocating a portion of the shift to an earlier point in time.
  • the graph 800 of Figure 8C is similar to the graph 800 of Figure 8B except for the location of the virtual free time blocks 804 and 824.
  • the virtual free time block 804 is the block in which the order is to be inserted.
  • Orders 1 , 2, and 3 and the travel time associated with these orders can be relocated to the left. The maximum amount of relocation is given by t-.,;-.
  • the virtual free time block 804 has been enlarged by t min
  • the virtual free time block 824 has been compressed by t min .
  • ⁇ - is now computed.
  • two quantities are known: the amount of time by which the portion of the shift must be relocated Dt and the amount of time by which the portion of the shift can be relocated t min .
  • the method 700 progresses to an act 712 for comparing t-.;- to Dt.
  • t min is less than Dt, this means that no extra time can be found in the shift even with the relocation of the portion of the shift, and the method 700 progresses to an act 710.
  • the act 710 loops to the next virtual free time block in the list of virtual free time blocks as discussed in the act 308 of Figure 3. Otherwise, if t min is greater than Dt, this means that there is extra time to fit the order, and the method 700 completes its execution.
  • the act 606 finds the extra time by relocating the portion of the shift to the right of the primary block. If the relocation succeeds in finding enough time so that the extra time added to the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, then the primary block can be used to fit the order. In this case, the extra time is added as expansion block to the schedulable time block created in the act 404 of Figure 4.
  • An act 608 follows the act 606 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to the node 613B and to other acts. Otherwise, the method 600 progresses to an act 610.
  • the act 610 finds the extra time by relocating the portion of the shift to the left of the primary block.
  • the method 600 attempts to relocate the portion of the shift to an earlier point in time so as to find extra time in which to fit the order. If the relocation succeeds in finding enough time so that the extra time added to the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, then the primary block can be used to fit the order.
  • the extra time is added as expansion block to the schedulable time block created in the act 404 of Figure 4.
  • An act 612 follows the act 610 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to the node 613B and to an act 616 of Figure 6B. Otherwise, the method 600 progresses to a node 613A and to an act 614.
  • the act 614 eliminates the virtual free time block from further consideration.
  • the virtual free time block is derived from the schedulable free time block that was created in the act 404 of Figure 4. The next virtual free time block is then considered as discussed in act 308 of Figure 3.
  • the virtual free time block from which the schedulable time block is derived can be expanded to suit the order. However, because each shift has a load limit, the addition of the amount of free time required to fit the order to the shift may exceed this load limit. If the load limit is not exceeded, the method 600 completes its execution.
  • the method 600 progresses to an act 618 to reduce the load of the shift so as to fit the order.
  • the act 618 finds at least one virtual free time block in the shift whose orders can be removed to reduce the load. If the act 618 finds an order in a virtual free time block to be removed, that virtual free time block will be added to the load block, which was created in the act 404 of Figure 4. The method 600 then terminates and returns to the end of the act 406 of Figure 4.
  • the method 600 progresses to an act 620.
  • the act 620 eliminates the virtual free time block, from which the schedulable time block was derived, from further consideration, and the method 600 terminates its execution.
  • the next virtual free time block is then considered as discussed in the act 308 of Figure 3.
  • the act 406 examines the primary block to see whether the order can be fit into the primary block.
  • the act 406 comprises a set of acts that determine whether the primary block is a candidate to fit the order. This set of acts, which are discussed in greater detail in Figures 6A-6B, may try to find extra time in the shift by relocating assigned orders earlier or later in time in the shift or by removing assigned orders.
  • the method 400 progresses to an act 408.
  • the act 408 creates one or more openings from the schedulable time block created in the act 404. These openings are added to a list of openings that are returned to the service organization. The service organization may use these openings to define a range of times in which work on the order may start. This can be used to negotiate with a customer to set a time for an appointment to perform the order.
  • a technique has been discussed for finding one or more openings in a schedule so as to allow a service organization to address the preferences of customers while allowing the service organization to satisfy constraints placed on the scheduling system and to meet business objectives.
  • a scheduling system comprises three main components.
  • the negotiator interacts with customers to negotiate an appointment window in which the service is performed as specified in the reservation.
  • the assigner assigns the reservation to a shift of a desired mobile service representative.
  • the optimizer continuously optimizes the schedule in the background.
  • the embodiments of the present invention focus on providing one or more openings within a predetermined period of time for the negotiator to interact with customer in a timely manner. Because customers dislike waiting on the phone for an extended period of time, the embodiments of the present invention enable the negotiator to work fast enough to obtain an agreeable time window and worker to perform the service requested.

Abstract

An aspect of the present invention includes a method for finding an opening in which to fit an order in a schedule. The method includes computing an amount of time required in a shift to fit the order, and creating a schedulable time block from a virtual free time block. The schedulable time block includes a primary block. The method further includes examining the primary block. The primary block is a candidate for fitting the order if the duration of the primary block, excluding at least one break, is greater than or equal to the amount of free time required in the shift to fit the order. The method further includes creating at least one opening in the shift from the schedulable time block so as to present to a customer at least one option of fitting the order in the schedule to perform a desired service.

Description

FINDING TECHNIQUE FOR A SCHEDULING SYSTEM
CROSS-REFERENCE TO RELATED APPLICATION
This application incorporates by reference and claims the benefit of U.S. Provisional Application No. 60/193,834, filed March 31, 2000; U.S. Provisional
Application No. 60/193,917, filed March 31, 2000; U.S. Provisional Application No.
60/193,832, filed March 31, 2000; U.S. Provisional Application No. 60/193,705, filed
March31, 2000; andU.S. Provisional ApplicationNo.60/193,833, filedMarch31, 2000.
TECHNICAL FIELD
The technical field relates generally to scheduling. More particularly, it pertains to finding an opening in a schedule within a predetermined period of time.
COPYRIGHT NOTICE - PERMISSION A portion of the disclosure of this patent document contains materials which are subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings attached hereto : Copyright © 2001 , MDSI Mobile Data Solutions Inc., All Rights Reserved.
BACKGROUND OF THE INVENTION To schedule a desired service to be performed, a customer calls a service organization to place an order for the desired service. The customer may be kept on the phone for an undesirably long period of time while the service organization searches the schedule in an attempt to fit the order into the schedule. To avoid annoying the customer, some service organizations do not search the schedule while the customer is on the phone, but simply accept the order and dump it into a time bucket without scheduling the order to a particular shift of a worker. The night before the order is to be performed, the service organization executes a batch process that assigns orders to various workers. One problem with this approach is that the service organization lacks the ability to accurately assess the capacity of the workforce to do work.
The approach as described above limits the ability of a customer to specify his preferences in regard to when and how the order is to be performed. The customer is unable to select a desired appointment window or a desired worker with a set of desired skills. As the expectations of customers have increased over time, scheduling systems that fail to meet increased customer expectations may result in customer dissatisfaction and lead to the eventual lack of acceptance in the marketplace. Thus, what is needed are systems and methods for enhancing the scheduling process that allow customers' increased expectations to be met.
SUMMARY OF THE INVENTION An illustrative aspect of the invention includes a method for scheduling. The method includes forming a list of shifts in a schedule and determining a shift in which an order can be scheduled. The method also includes assigning the order to the shift that is determined by the act of determining. The acts of forming, determining, and assigning are contemporaneously executed while a customer is on a phone attempting to schedule the order.
Another illustrative aspect of the invention includes a method for finding an opening to fit an order in a schedule. The method includes computing an amount of free time required in a shift to fit the order and creating a schedulable time block from a virtual free time block. The schedulable time block includes a primary block, at least one expansion block, and at least one load block. The method also includes examining the primary block. Under the act of examining, the primary block is a candidate to fit the order if the duration of the primary block, excluding at least one break, is greater than or equal to the amount of free time required in the shift to fit the order. The method further includes creating at least one opening in the shift from the schedulable time block so as to present a customer with at least one option of fitting the order in the schedule to perform a desired service.
Another illustrative aspect includes a method for assigning an order to an opening in a schedule after a customer has selected an appointment window in the schedule. The opening and the appointment window are specified. The method includes generating a list of schedulable time blocks for a shift identified in the opening and then intersecting the opening and the appointment window to obtain a time range. The method also includes choosing the opening to assign the order if a schedulable time block from the list of schedulable time blocks includes the opening. The opening is within the time range obtained by the act of intersecting.
Another illustrative aspect includes a method for assigning an order to a schedule after a customer has specified an appointment window in the schedule. The method includes checking a list of openings for overlap with the appointment window and generating a list of schedulable time blocks in a shift if there is no overlap. The method includes assigning the order to the schedule if there is an opening in the list of openings that overlaps with the appointment window or an opening in the list of schedulable time blocks that overlaps with the appointment window.
BRIEF DESCRIPTION OF THE DRAWINGS Figure 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.
Figure 2 is ablock diagram of a scheduling system according to one aspect of the present invention. Figure 3 is a process diagram of a method for finding an opening in a schedule to fit an order to a shift of a worker and assigning the order to the opening according to one aspect of the present invention.
Figure 4 is a process diagram of a method for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention.
Figure 5 is a process diagram of a method for computing an amount of free time required to accommodate an order in a shift.
Figures 6A-6B are aprocess diagram of amethod for examining aprimary block according to one aspect of the present invention. Figure 7 is a process diagram of a method for computing extra time that can be obtained by relocating assigned orders earlier in the shift or later in the shift according to one aspect of the present invention.
Figures 8A-C are graphical diagrams showing graphs to illustrate techniques for relocating a portion of a shift to earlier in time or later in time to find extra time to fit an order.
DETAILED DESCRIPTION OF THE INVENTION In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings, which form apart hereof, and in which are shown, by way of illustration, specific exemplary embodiments in which the invention maybe 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 reference: GuyDruce, Level- 1 Algorithm, v. 1.6 (December 4, 2000).
Figure 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 108. 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 the service performed. Using the scheduling system 104, the service organization 102 negotiates with the customer 108 to place a reservation in a schedule. The scheduling system 104 provides to the service organization 102 several appointment windows from which the customer 108 may choose. The customer 108 selects an appointment window in which the service requested will be performed.
During the negotiation, the scheduling system 104 determines which mobile service representatives 106 can do the work. The customer 108 picks an appointment window and the scheduling system 104 assigns to the order to a mobile service representative. A mobile service representative 106 is one who is capable of performing the service requested by the customer 108. Each time a reservation is placed, the scheduling system 104 accounts for many factors in assigning the reservation to a mobile service representative 106, such as time availability, skill sets, geographic area, duration of each job, travel times between jobs, and equipment requirements. As customers 108 place more reservations for services, the scheduling system 104 periodically optimizes the schedule by relocating reservations assigned to a single mobile service representative or swapping reservations between different mobile service representatives. The scheduling system 104 can be implemented over one machine or several machines with different processors. This allows the scheduling system 104 to be scalable depending on the needs of the service organization 102. The scheduling system 104 is also configurable. This allows the scheduling system 104 to meet different constraints and obj ectives. In one embodiment, the scheduling system 104 is implemented over Common Object Request Broker Architecture (CORBA). In another embodiment, the scheduling system 104 is implemented using a database, such as an Oracle database.
Figure 2 is a block diagram of a scheduling system 200 according to one aspect of the present invention. The scheduling system 200 is similar to the scheduling system 104 of Figure 1. The scheduling system 200 includes a finder 202. When a customer calls the service organization to place an order for service, the finder 202 finds one or more openings in the schedule in which the order may fit. Recall that prior systems may take a prohibitively long period of time to find openings in the schedule. In contrast, the embodiments of the present invention through the implementation of the finder 202 return one or more openings within an amount of time so that the customer need not wait on the phone for an undesirably long period of time.
After the finder 202 finds one or more openings, the negotiator 204 may present these openings as appointment windows to the service organization. The service organization can discuss these appointment windows with the customer and negotiate with the customer to select an appointment window to perform the service in accordance with the' order. The customer may make specific demands, such as a request for a particular worker to perform the service or a request for a particular set of skills in the performance of the service. The finder 202 can find openings in the schedule associated with a particular worker.
When the customer has selected an appointment window, the assigner 206 proceeds to assign the order to the opening associated with the appointment window. When the order is assigned, the optimizer 208 optimizes the schedule so as to accommo- date additional orders. In one embodiment, the optimizer 208 defragments the available spaces in a shift to fit additional orders in the shift.
Figure 3 is a process diagram of a method 300 for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention. The method 300 begins with an act 302 for generating a list of shifts. The act 302 generates the list of shifts using a window over the schedule. The window helps to control the amount of information to find each shift in the list of shifts. Each shift in the list of shifts may contain enough time to accommodate the order. The act 302 also includes a set of candidacy rules that allow the act to be more selective about each shift in the list of shifts. The method 300 includes an act 304 for generating a list of virtual free time blocks. The list of virtual free time blocks is generated for a shift of a worker. A virtual free time block is an amount of time that could be used to fit an order by either bumping one or more contiguous orders within a shift or by a free time block. The term "free time block" means a block of free time between the end of the work on one order and the start of travel to another order. Thus, by bumping one or more contiguous orders within a shift, a virtual free time block may accumulate enough free time to fit an order into the shift. The term "contiguous" means next to or near in time or sequence.
The method 300 includes an act 306 for iterating through each shift in the list of shifts generated in the act 302. The act 306 allows a set of acts to execute for each shift in the list of shifts. This set of acts help to find one or more openings in the list of shifts so as to fit an order into the schedule for a customer. Recall that the list of shifts is generated from a window over the schedule to control the amount of information that must be processed to find one or more openings. This set of acts is described in greater detail hereinbelow.
The method 300 includes an act 308 for iterating through each virtual free time block from a list of virtual free time blocks. The list of virtual free time blocks is generated from the act 304 for each shift in the list of shifts generated in the act 302. In one embodiment, each virtual free time block is a free time block. Another abstraction of the free time block called a schedulable time block keeps track of the virtual free time blocks that can be gathered to fit an order into a shift. The schedulable time block is discussed in greater detail hereinbelow. The act 308 allows a set of acts to execute for each virtual free time block in the list of virtual free time blocks. This set of acts help to identify whether the virtual free time block is a candidate to become an opening in the shift so as to fit an order. The combination of act 306 and act 308 searches through the list of shifts and the virtual free time blocks in the list of shifts for one or more openings to fit an order. The method 300 includes an act 310 for finding an opening. The act 310 comprises other acts that are executed to find one or more openings to fit an order. The act 310 is iterated by the act 308 for each virtual free time block in the list of virtual free time blocks and by the act 306 for each shift in the list of shifts.
The method 300 also includes an act 312 for assigning an order. When one or more openings are found, these openings are presented to a customer. The customer selects a desired opening. The act 312 attempts to assign the order to the opening. If the order is successfully assigned to the opening, the order is assigned to a shift of a worker. On the appointed date and time, the worker proceeds to perform the service as specified in the order. Figure 4 is a process diagram of a method 400 for finding an opening in a schedule to fit an order to a shift of a worker according to one aspect of the present invention. The method 400 discusses the act 310 of Figure 3 in greater detail. The method 400 includes an act 402 for computing an amount of free time required to accommodate the order. The amount of free time required to accommodate the order is a sum of three terms. One of the three terms is a travel time, another is a job time, and the third term is a difference travel time. These terms are explained by proceeding to Figure 5.
Figure 5 is a process diagram of a method 500 for computing an amount of free time required to accommodate an order in a shift. The method 500 includes an act 502 for calculating a travel time T between a first activity and a second activity. The travel time T is defined as the time to travel from a location a to another location b. The travel time T can be mathematically described as T = t(a,b). The term "t" is a function that returns a time period for traveling between the location a and the location b.
The method 500 also includes an act 504 for calculating a difference travel time. The difference travel time can be explained by an example. Suppose the shift comprises sabFcd. The term "s" signifies the start of the shift. The terms "a," "b," "c," and "d" are work activities that are to be performed by a worker. The term "F" signifies a virtual free time block. Thus, the time travel to a equals t(s,a). The time travel to b equals t(a,b). The time travel to F equals 0. The time travel to c equals t(b,c). The time travel to d equals (c,d). Suppose that a new order n is to be inserted into the virtual free time block
F. The time travel to n equals t(b,n). And the difference travel time is mathematically defined as: δ = t(n,c) - t(b,c). Thus, the difference travel time is a result of the travel time from the new order to the activity c subtracting the travel time from the activity b to the activity c. This difference travel time is the time calculated by the act 504. The method 500 includes an act 506 for calculating a job time. The job time is the amount of time required to perform a service as specified by an order. The method 500 sums the travel time T between a first activity and a second activity, the difference travel time, and the job time to form a summation. This summation is the amount of free time required in a shift to fit the order. Returning to Figure 4, act 402 produces the amount of free time required in a shift from a sum of the travel time T between a first activity and a second activity, the difference travel time, and the job time. The method 400 also includes an act 404 for creating a schedulable time block from a virtual free time block. The schedulable time block includes a primary block. The schedulable time block may include at least one expansion block, at least one load block, or both. The primary block is a block of time into which the order may be inserted. The primary block may not have adequate time to fit an order however. The expansion block and the load block help to provide some extra time that may increase the time of the primary block to fit the order. The expansion block finds extra time in the shift by relocating other assigned orders in the shift. The load block finds extra time in the shift by removing assigned orders in the shift so that the total load of the shift is kept below a worker's load limit.
The method 400 includes an act 406 for examining the primary block to see if the order can be fitted into the primary block. The act 406 comprises a set of acts that determine whether primary block is a candidate to fit the order. This set of acts may try to find extra time in the shift by shuffling assigned orders earlier or later in time in the shift or by removing assigned orders. To focus on this set of acts in greater detail, the discussion proceeds to Figures 6A-6B. Figures 6A-6B are a process diagram of a method 600 for examining a primary block according to one aspect of the present invention. The method 600 includes an act 602 for examining the primary block. The act 602 deems that the primary block is a candidate to fit the order if the duration of the primary block, excluding any breaks, is greater than or equal to the amount of free time required in the shift to fit the order. An act 604 follows the act 602 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to node 613B to other acts.
If the primary block is not a candidate, this indicates that the primary block has insufficient time to fit the order. To find extra time, the method 600 progresses to an act 606 for finding the extra time by relocating a portion of the shift that is filled with assigned orders to the right of the primary block. In other words, the relocation of the portion of the shift is a shuffle of assigned orders to later in the time of the shift so as to create extra time that can be added to the primary block to fit an unassigned order. If extra time is found, the extra time is added as an expansion block to the schedulable time block created in the act 404 of Figure 4. In order to focus in greater detail on how the extra time in the shift is found, the discussion further proceeds to Figure 7.
Figure 7 is a process diagram of a method 700 for computing extra time that can be obtained by relocating assigned orders earlier in the shift or later in the shift according to one aspect of the present invention. The method 700 begins at the act 702 for calculating an amount of time available in a virtual free time block for fitting an order. This amount of time is represented as t.
The method 700 includes an act 704 for computing an amount of time in which a portion of the shift must be relocated. This amount of time is represented as Dt. Dt equals EOT - 1. EOT is the amount of free time required in a shift to fit the order, which is calculated by act 404 of Figure 4. t is the amount of time available in the virtual free time block for fitting an order as discussed above.
When Dt is computed, the method 700 progresses to an act 706 for comparing Dt to zero. If Dt is a negative quantity, this indicates that there is enough time in the virtual free time block to fit the order, and the method 700 ends its execution. If Dt is a positive quantity, this indicates that a portion of the shift must be relocated, and the method 700 progresses to the act 708.
The act 708 computes an amount of time in which the portion of the shift can be relocated. This amount is represented as t-.in. The portion of the shift can be relocated earlier in time or later in time relative to the virtual free time block in which an order is inserted. By relocating the portion of the shift, more free time may become available to add to the virtual free time block to accommodate the order. Visually, relocating the portion of the shift to the left means relocating the portion of the shift to an earlier point in time. Correspondingly, relocating the portion of the shift to the right means relocating to a later point in time. To illustrate in greater detail the computation of the amount of time in which the portion of the shift can be relocated, the discussion proceeds to Figures 8A-C.
Figures 8A-C are graphical diagrams showing graphs to illustrate techniques for relocating a portion of the shift to earlier in time or later in time to find extra time to fit an order. Figure 8A is a graphical diagram showing a graph 800 to illustrate a technique for relocating a portion of the shift. The graph 800 includes a shift 802 that defines the work period of a worker.
The shift 802 includes a virtual free time block 804. For the purpose of this illustration, the virtual free time block 804 is the time block into which an order is to be fitted. The shift 802 includes other assigned orders, such as order 806, order 808, and order 810. Order 806 is designated as Order 1. Order 808 is designated as Order 2. And order 810 is designated as Order 3. The shift 802 includes travel time to get from one assigned order to the next. The shift 802 includes appointment windows 812, 814, and 816. The appointment window 812 defines a time period during the shift 802 in which a worker could start to work on Order 1. The appointment window 814 similarly defines a time period in which the worker could start to work on Order 2. And the appointment window 816 defines a time period for a worker to start to work on Order 3.
The graph 800 also illustrates a maximum relocation for eachofthe Orders 1, 2, and 3. There are three maximum relocation figures, 818, 820, and 822. The maximum relocation figure denotes the maximum relocation that can be done for a particular assigned order. To relocate to a point later in time, the maximum relocation is formed from taking the absolute value of the subtraction of the starting time of an assigned order from the end of the appointment window for the assigned order. To relocate to a point earlier in time, the maximum relocation is formed from taking the absolute value of the subtraction of the starting time of an assigned order from the start of the appointment window for the assigned order. To calculate tmin, which is the amount of time the portion of the shift can be relocated, the minimum of the three maximum relocation figures 818, 820, and 822 is taken. Thus, in the graph 800, it can be seen that the maximum relocation figure 822 is the minimum.
To summarize what has been discussed hereinbefore, suppose a new order is to be inserted in place of the virtual free time block 804. Because the virtual free time block 804 is insufficient to accommodate the new order, an extra amount of time is required. This amount of time is Dt. The extra amount of time can be obtained by relocating Orders 1, 2, and 3. For example, Orders 1, 2, and 3 can be relocated to the right of the virtual free time block 804. Order 2 has the least amount of time available between the end of its appointment window and the start time of the Order 2. Hence, the maximum amount of time in which the Orders 1,2, and 3 maybe relocated is given by tmin. tmin is given by the maximum relocation figure 822 as shown in the graph 800. Figure 8B is a graphical diagram illustrating a technique for relocating a portion of the shift to a later point in time. The graph 800 includes a shift 802t. The shift 802, is similar to the shift 802 discussed in Figure 8 Abut is different in that the shift 802! includes another virtual free time block 824 in addition to the virtual free time block 802. Recall that the virtual free time block 804 is the block in which the order is to be inserted. Given the presence of the virtual free time block 824, Orders 1, 2, and 3 and the travel time associated with these orders can be relocated to the right. The maximum amount of relocation is given by tmln. Thus, in the shift 8022, the virtual free time block 804 has been enlarged by t,-;-, and correspondingly, the virtual free time block 824 has been compressed by Figure 8C is a graphical diagram illustrating a technique for relocating a portion of the shift to an earlier point in time. The graph 800 of Figure 8C is similar to the graph 800 of Figure 8B except for the location of the virtual free time blocks 804 and 824. Recall that the virtual free time block 804 is the block in which the order is to be inserted. Given the presence of the virtual free time block 824, Orders 1 , 2, and 3 and the travel time associated with these orders can be relocated to the left. The maximum amount of relocation is given by t-.,;-. Thus, in the shift 8022, the virtual free time block 804 has been enlarged by tmin, and correspondingly, the virtual free time block 824 has been compressed by tmin.
Returning to act 708 of Figure 7, ^- is now computed. Thus, at this point in the method 700, two quantities are known: the amount of time by which the portion of the shift must be relocated Dt and the amount of time by which the portion of the shift can be relocated tmin. The method 700 progresses to an act 712 for comparing t-.;- to Dt.
If tmin is less than Dt, this means that no extra time can be found in the shift even with the relocation of the portion of the shift, and the method 700 progresses to an act 710. The act 710 loops to the next virtual free time block in the list of virtual free time blocks as discussed in the act 308 of Figure 3. Otherwise, if tmin is greater than Dt, this means that there is extra time to fit the order, and the method 700 completes its execution.
Reh rning to the act 606 of Figure 6A, recall that the act 606 finds the extra time by relocating the portion of the shift to the right of the primary block. If the relocation succeeds in finding enough time so that the extra time added to the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, then the primary block can be used to fit the order. In this case, the extra time is added as expansion block to the schedulable time block created in the act 404 of Figure 4.
An act 608 follows the act 606 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to the node 613B and to other acts. Otherwise, the method 600 progresses to an act 610.
The act 610 finds the extra time by relocating the portion of the shift to the left of the primary block. In other words, the method 600 attempts to relocate the portion of the shift to an earlier point in time so as to find extra time in which to fit the order. If the relocation succeeds in finding enough time so that the extra time added to the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, then the primary block can be used to fit the order. The extra time is added as expansion block to the schedulable time block created in the act 404 of Figure 4.
An act 612 follows the act 610 to check whether the primary block is a candidate. If the primary block is a candidate, the method 600 progresses to the node 613B and to an act 616 of Figure 6B. Otherwise, the method 600 progresses to a node 613A and to an act 614. The act 614 eliminates the virtual free time block from further consideration. The virtual free time block is derived from the schedulable free time block that was created in the act 404 of Figure 4. The next virtual free time block is then considered as discussed in act 308 of Figure 3.
If the method 600 progresses to the act 616, the virtual free time block from which the schedulable time block is derived can be expanded to suit the order. However, because each shift has a load limit, the addition of the amount of free time required to fit the order to the shift may exceed this load limit. If the load limit is not exceeded, the method 600 completes its execution.
Otherwise, the method 600 progresses to an act 618 to reduce the load of the shift so as to fit the order. In order to reduce the load of the shift, the act 618 finds at least one virtual free time block in the shift whose orders can be removed to reduce the load. If the act 618 finds an order in a virtual free time block to be removed, that virtual free time block will be added to the load block, which was created in the act 404 of Figure 4. The method 600 then terminates and returns to the end of the act 406 of Figure 4.
If the act 618 cannot find any virtual free time block in the shift that can be removed, the method 600 progresses to an act 620. The act 620 eliminates the virtual free time block, from which the schedulable time block was derived, from further consideration, and the method 600 terminates its execution. The next virtual free time block is then considered as discussed in the act 308 of Figure 3. Returning to the end of the act 406 of Figure 4, recall that the act 406 examines the primary block to see whether the order can be fit into the primary block. The act 406 comprises a set of acts that determine whether the primary block is a candidate to fit the order. This set of acts, which are discussed in greater detail in Figures 6A-6B, may try to find extra time in the shift by relocating assigned orders earlier or later in time in the shift or by removing assigned orders. The method 400 progresses to an act 408.
The act 408 creates one or more openings from the schedulable time block created in the act 404. These openings are added to a list of openings that are returned to the service organization. The service organization may use these openings to define a range of times in which work on the order may start. This can be used to negotiate with a customer to set a time for an appointment to perform the order.
CONCLUSION A technique has been discussed for finding one or more openings in a schedule so as to allow a service organization to address the preferences of customers while allowing the service organization to satisfy constraints placed on the scheduling system and to meet business objectives. A scheduling system comprises three main components. The negotiator interacts with customers to negotiate an appointment window in which the service is performed as specified in the reservation. The assigner assigns the reservation to a shift of a desired mobile service representative. And the optimizer continuously optimizes the schedule in the background. The embodiments of the present invention focus on providing one or more openings within a predetermined period of time for the negotiator to interact with customer in a timely manner. Because customers dislike waiting on the phone for an extended period of time, the embodiments of the present invention enable the negotiator to work fast enough to obtain an agreeable time window and worker to perform the service requested.
Although the specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement, which is calculated to achieve the same purpose, may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. It is to be understood that the above description is intended to be illustrative, and not restrictive. Combinations of the above embodiments and other embodiments will be apparent to those of skill in the art upon reviewing the above description. The scope of the invention includes any other applications in which the above structures and fabrication methods are used. Accordingly, the scope of the invention should only be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

Claims

I claim:
1. A method for scheduling, comprising: forming a list of shifts in a schedule; determining a shift in which an order can be scheduled; and assigning the order to the shift determined by the act of determining, wherein the acts of forming, determining, and assigning are contemporaneously executed while a customer is on a phone attempting to schedule the order.
2. The method of claim 1, wherein forming includes forming a window over a schedule of a worker, wherein the schedule of the worker includes a number of shifts, wherein the window encompasses a portion of the number of shifts in the schedule of the worker, and wherein forming a list of shifts includes selecting at least one shift from the portion of the number of lists encompassed by the window.
3. The method of claim 1 , wherein assigning includes assigning to an earlier time period of the shift before assigning to a later time period of the shift.
4. A method for finding an opening in which to fit an order in a schedule, comprising: computing an amount of free time required in a shift to fit the order; creating a schedulable time block from a virtual free time block, wherein the schedulable time free block includes a primary block, zero or more expansion blocks, and zero or more load blocks; examining the primary block, wherein the primary block is a candidate to fit the order if a duration of the primary block, excluding at least one break is greater than or equal to the amount of free time required in the shift to fit the order; and creating at least one opening in the shift from the schedulable time block so as to present to a customer at least one option of fitting the order in the schedule to perform a desired service.
5. The method of claim 4, further comprising generating a list of shifts from a window defined over a set of shifts of a worker.
6. The method of claim 5, further comprising generating a list of virtual free time blocks from a shift of a worker.
7. The method of claim 6, further comprising calculating a travel time between a first activity and a second activity.
8. The method of claim 7, wherein calculating a travel time includes calculating a difference travel time when the order is inserted into a virtual free time block of the shift of the worker, wherein the different travel time is defined as a result of a subtraction of the travel time between the first activity and the second activity and the travel time of the order and the second activity, and wherein the virtual free time block that the order is inserted into is between the first activity and the second activity.
9. The method of claim 8, further comprising calculating a job time, wherein the j ob time is defined as the time that the order will take to be performed in the shift.
10. The method of claim 9, wherein computing an amount of free time required in the shift to fit the order includes summing the fravel time, the difference travel time, and the job time.
11. The method of claim 10, further comprising computing an extra time by relocating a portion of the shift to fit the order.
12. The method of claim 11, wherein computing an extra time by relocating a portion of the shift includes computing an amount of time that the portion of the shift must be shifted to fit the order, wherein the amount of time that the portion of the shift must be shifted is defined as a result of a subtraction of the amount of free time required in the shift to accommodate the order and a time available in the virtual free time block,
13. The method of claim 11, wherein computing an extra time by relocating a portion of the shift includes computing an amount of time that the portion of the shift can be shifted, wherein computing an amount of time that the portion of the shift can be relocated includes aggregating a number of virtual free time blocks in the portion of the shift.
14. The method of claim 11, further comprising executing the act of computing the extra time by relocating a portion of the shift to later in time in the shift if the act of examining the primary block determines that the primary block is not a candidate, wherein the primary block is a candidate to fit the order if the extra time plus the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, and updating the at least one expansion block if the primary block is a candidate.
15. The method of claim 14, further comprising executing the act of computing the extra time by relocating a portion of the shift to earlier in time in the shift if the act of executing the act of computing the extra time by relocating a portion of the shift to later in time and the act of examining the primary block determine that the primary block is not a candidate, executing the act of examining the primary block, wherein the primary block is a candidate to fit the order if the extra time plus the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, and updating the at least one expansion block if the primary block is a candidate.
16. The method of claim 15 , further comprising eliminating the virtual free time block from further consideration if the act of executing the act of computing the extra time by relocating a portion of the shift to earlier in time in the shift and the act of examining the primary block determine that the primary block is not a candidate.
17. The method of claim 16, further comprising checking a load limit of the shift if the primary block is being expanded by the extra time to fit the order, wherein checking includes adding the amount of free time required in the shift to fit the order to a current load of the shift to define a new load, and wherein checking includes comparing the new load against the load limit.
18. The method of claim 17, further comprising reducing a total load of the shift by finding at least one virtual free time blocks to be removed, wherein if the act of finding finds at least one virtual free time block to be removed, the act of reducing executes an act of adding the at least one virtual free time block to be removed, and updating the at least one load block if the act of finding finds at least one virtual free time block to be removed.
19. The method of claim 18, further comprising eliminating the virtual free time block if the act of reducing fails to reduce the total load of the shift to fit the order.
20. The method of claim 19, further comprising iterating a set of the above acts for each virtual free time block in the list of virtual free time blocks, wherein the set excludes some of the above acts.
21. The method of claim 20, further comprising iterating the act of claim 20 for each shift in the list of shifts.
22. A computer-readable medium having instructions stored thereon for causing a computer to perform a method for finding an opening to fit an order in a schedule, the method comprising: computing an amount of free time required in a shift to fit the order; creating a schedulable time block from a virtual free time block, wherein the schedulable time block includes a primary block, at least one expansion block, and at least one load block; examining the primary block, wherein the primary block is a candidate to fit the order if a duration of the primary block, excluding at least one break is greater than or equal to the amount of free time required in the shift to fit the order; and creating at least one opening in the shift from the schedulable time block so as to present a customer with at least one option of fitting the order in the schedule to perform a desired service.
23. The method of claim 22, further comprising generating a list of shifts from a window defined over a set of shifts of a worker.
24. The method of claim 23, further comprising generating a list of virtual free time blocks from a shift of a worker.
25. The method of claim 24, further comprising calculating a travel time between a first activity and a second activity.
26. The method of claim 25, wherein calculating a travel time includes calculating a difference travel time when the order is inserted into a virtual free time block of the shift of the worker, wherein the different travel time is defined as a result of a subtraction of the travel time between the first activity and the second activity and the travel time of the order and the second activity, and wherein the virtual free time block that the order is inserted into is between the first activity and the second activity.
27. The method of claim 26, further comprising calculating ajob time, wherein the job time is defined as the time that the order will take to be performed in the shift.
28. The method of claim 27, wherein computing an amount of free time required in the shift to fit the order includes summing the travel time, the difference travel time, and the job time.
29. The method of claim 28, further comprising computing an extra time by relocating a portion of the shift to fit the order.
30. The method of claim 29, wherein computing an extra time by relocating a portion of the shift includes computing an amount of time that the portion of the shift must be shifted to fit the order, wherein the amount of time that the portion of the shift must be relocated is defined as aresult of a subtraction of the amount of free time required in the shift to accommodate the order and a time available in the virtual free time block.
31. The method of claim 29, wherein computing an extra time by relocating a portion of the shift includes computing an amount of time that the portion of the shift can be shifted, wherein computing an amount of time that the portion of the shift can be shifted includes aggregating a number of virtual free time blocks in the portion of the shift.
32. The method of claim 29, further comprising executing the act of computing the exfra time by relocating a portion of the shift to later in time in the shift if the act of examining the primary block determines that the primary block is not a candidate, wherein the primary block is a candidate to fit the order if the extra time plus the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, and updating the at least one expansion block if the primary block is a candidate.
33. The method of claim 32, further comprising executing the act of computing the extra time by relocating a portion of the shift to earlier in time in the shift if the act of executing the act of computing the extra time by relocating a portion of the shift to later in time and the act of examining the primary block determine that the primary block is not a candidate, executing the act of examining the primary block, wherein the primary block is a candidate to fit the order if the extra time plus the duration of the primary block is greater than or equal to the amount of free time required in the shift to fit the order, and updating the at least one expansion block if the primary block is a candidate.
34. Themethodofclaim33, further comprising eliminating the virtual free time block from further consideration if the act of executing the act of computing the extra time by relocating a portion of the shift to earlier in time in the shift and the act of examining the primary block determine that the primary block is not a candidate.
35. The method of claim 34, further comprising checking a load limit of the shift if the primary block is being expanded by the extra time to fit the order, wherein checking includes adding the amount of free time required in the shift to fit the order to a current load of the shift to define a new load, and wherein checking includes comparing the new load against the load limit.
36. The method of claim 35, further comprising reducing a total load of the shift by finding at least one virtual free time blocks to be removed, wherein if the act of finding finds at least one virtual free time block to be removed, the act of reducing executes an act of adding the at least one virtual free time block to be removed, and updating the at least one load block if the act of finding finds at least one virtual free time block to be removed.
37. The method of claim 36, further comprising eliminating the virtual free time block if the act of reducing fails to reduce the total load of the shift to fit the order.
38. The method of claim 37, further comprising iterating a set of the above acts for each virtual free time block in the list of virtual free time blocks, wherein the set excludes some of the above acts.
39. The method of claim 38, further comprising iterating the act of claim 17 for each shift in the list of shifts.
PCT/CA2001/000420 2000-03-31 2001-04-02 Finding technique for a scheduling system WO2001075691A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001246270A AU2001246270A1 (en) 2000-03-31 2001-04-02 Finding technique for a scheduling system

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US19383200P 2000-03-31 2000-03-31
US19383300P 2000-03-31 2000-03-31
US19391700P 2000-03-31 2000-03-31
US19370500P 2000-03-31 2000-03-31
US19383400P 2000-03-31 2000-03-31
US60/193,705 2000-03-31
US60/193,833 2000-03-31
US60/193,832 2000-03-31
US60/193,834 2000-03-31
US60/193,917 2000-03-31

Publications (2)

Publication Number Publication Date
WO2001075691A2 true WO2001075691A2 (en) 2001-10-11
WO2001075691A8 WO2001075691A8 (en) 2002-01-31

Family

ID=27539308

Family Applications (7)

Application Number Title Priority Date Filing Date
PCT/CA2001/000445 WO2001075663A2 (en) 2000-03-31 2001-04-02 Systems and methods for enhancing connectivity
PCT/CA2001/000423 WO2001075694A2 (en) 2000-03-31 2001-04-02 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
PCT/CA2001/000421 WO2001075692A2 (en) 2000-03-31 2001-04-02 Assigning technique for a scheduling system
PCT/CA2001/000419 WO2001077912A2 (en) 2000-03-31 2001-04-02 Configurable scheduling system
PCT/CA2001/000446 WO2001075637A2 (en) 2000-03-31 2001-04-02 Enterprise scheduling system for scheduling mobile service representatives
PCT/CA2001/000422 WO2001075693A2 (en) 2000-03-31 2001-04-02 Order scheduling system and method for scheduling appointments over multiple days
PCT/CA2001/000420 WO2001075691A2 (en) 2000-03-31 2001-04-02 Finding technique for a scheduling system

Family Applications Before (6)

Application Number Title Priority Date Filing Date
PCT/CA2001/000445 WO2001075663A2 (en) 2000-03-31 2001-04-02 Systems and methods for enhancing connectivity
PCT/CA2001/000423 WO2001075694A2 (en) 2000-03-31 2001-04-02 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
PCT/CA2001/000421 WO2001075692A2 (en) 2000-03-31 2001-04-02 Assigning technique for a scheduling system
PCT/CA2001/000419 WO2001077912A2 (en) 2000-03-31 2001-04-02 Configurable scheduling system
PCT/CA2001/000446 WO2001075637A2 (en) 2000-03-31 2001-04-02 Enterprise scheduling system for scheduling mobile service representatives
PCT/CA2001/000422 WO2001075693A2 (en) 2000-03-31 2001-04-02 Order scheduling system and method for scheduling appointments over multiple days

Country Status (3)

Country Link
US (8) US20020016645A1 (en)
AU (7) AU2001246271A1 (en)
WO (7) WO2001075663A2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054721A1 (en) * 2014-10-08 2016-04-14 Tsx Inc. Selective delayed and undelayed database updating
US9841990B2 (en) 2015-08-28 2017-12-12 Servicepower, Inc. Encoding of a schedule into a binary structure

Families Citing this family (330)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7177825B1 (en) 1999-05-11 2007-02-13 Borders Louis H Integrated system for ordering, fulfillment, and delivery of consumer products using a data network
WO2000068856A2 (en) 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US6975937B1 (en) 1999-05-11 2005-12-13 Christopher Kantarjiev Technique for processing customer service transactions at customer site using mobile computing device
US7139637B1 (en) 1999-05-11 2006-11-21 William Henry Waddington Order allocation to minimize container stops in a distribution center
US7127412B2 (en) * 1999-06-07 2006-10-24 Pointserve, Inc. Method and system for allocating specific appointment time windows in a service industry
US7251612B1 (en) 2000-01-10 2007-07-31 Parker John E Method and system for scheduling distribution routes and timeslots
JP2001282974A (en) * 2000-03-29 2001-10-12 Ricoh Co Ltd System and device for managing work and recording medium
AU2001246271A1 (en) * 2000-03-31 2001-10-15 Mdsi Mobile Data Solutions, Inc. Assigning technique for a scheduling system
US6577726B1 (en) * 2000-03-31 2003-06-10 Siebel Systems, Inc. Computer telephony integration hotelling method and system
US7139721B2 (en) * 2000-05-10 2006-11-21 Borders Louis H Scheduling delivery of products via the internet
US7240283B1 (en) 2000-11-10 2007-07-03 Narasimha Rao Paila Data transmission and rendering techniques implemented over a client-server system
JP2001350881A (en) * 2000-06-06 2001-12-21 Nec Corp System and method for controlling talented person dispatch information, dispatching terminal, job offering terminal and dispatch information server and recording medium
US7925524B2 (en) * 2000-07-14 2011-04-12 United Parcel Service Of America, Inc. Method and system of delivering items using overlapping delivery windows
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US7283971B1 (en) * 2000-09-06 2007-10-16 Masterlink Corporation System and method for managing mobile workers
US8190463B2 (en) * 2000-09-06 2012-05-29 Masterlink Corporation System and method for managing mobile workers
US6980959B1 (en) * 2000-10-17 2005-12-27 Accenture Llp Configuring mechanical equipment
US7440906B1 (en) 2001-09-04 2008-10-21 Accenture Global Services Gmbh Identification, categorization, and integration of unplanned maintenance, repair and overhaul work on mechanical equipment
US7457763B1 (en) 2001-09-04 2008-11-25 Accenture Global Services Gmbh Predictive maintenance system
US7461008B2 (en) * 2001-09-04 2008-12-02 Accenture Global Services Gmbh Planning and scheduling modification of a configuration
US8655698B2 (en) * 2000-10-17 2014-02-18 Accenture Global Services Limited Performance-based logistics for aerospace and defense programs
US7457762B2 (en) * 2001-09-04 2008-11-25 Accenture Global Services Gmbh Optimization of management of maintenance, repair and overhaul of equipment in a specified time window
US7124059B2 (en) * 2000-10-17 2006-10-17 Accenture Global Services Gmbh Managing maintenance for an item of equipment
US8706542B2 (en) * 2000-12-18 2014-04-22 Apple Inc. Allocation of location-based orders to mobile agents
US7233914B1 (en) 2000-12-27 2007-06-19 Joyo Wijaya Technique for implementing item substitution for unavailable items relating to a customer order
US20020143600A1 (en) * 2001-03-08 2002-10-03 Dugan Valerie G. Internet-based appointment scheduling
US20020161618A1 (en) * 2001-03-13 2002-10-31 Mitchell Weiss Integrated scheduler and material control system
US7308423B1 (en) 2001-03-19 2007-12-11 Franklin Goodhue Woodward Technique for handling sales of regulated items implemented over a data network
US7313530B2 (en) * 2001-04-10 2007-12-25 General Electric Company Methods and systems for generating and displaying the capacity of a delivery management system
US20020156670A1 (en) * 2001-04-23 2002-10-24 Newman Frederic M. Method of managing workers at a well site
US20020153134A1 (en) * 2001-04-23 2002-10-24 Newman Frederic M. Method of managing work orders at a well site
US6941514B2 (en) * 2001-04-30 2005-09-06 Bellsouth Intellectual Property Corporation System and method for priority-based work order scheduling
EP1260914A1 (en) * 2001-05-23 2002-11-27 Mediabricks Ab A method for optimizing utilization of client capacity
US7305491B2 (en) * 2001-07-02 2007-12-04 Intellisync Corporation Techniques for handling time zone changes in personal information management software
US8266066B1 (en) 2001-09-04 2012-09-11 Accenture Global Services Limited Maintenance, repair and overhaul management
US20030069899A1 (en) * 2001-10-04 2003-04-10 International Business Machines Corporation Method, system, and program for providing personal preference information when scheduling events
JP2003122867A (en) * 2001-10-10 2003-04-25 Toshiba Tec Corp Repair support system, repair support method and computer-readable recording medium
US7212984B2 (en) * 2001-10-29 2007-05-01 Qualcomm Incorporated Method and apparatus for providing virtual capacity to a provider of services
US7502747B1 (en) * 2001-11-29 2009-03-10 Microsoft Corporation Automated job scheduling based on resource availability
US7110745B1 (en) * 2001-12-28 2006-09-19 Bellsouth Intellectual Property Corporation Mobile gateway interface
DE10204691C1 (en) * 2002-02-06 2003-04-24 Philips Corp Intellectual Pty Mercury-free, high-intensity, high pressure gas discharge lamp for vehicle headlights, has infra-red reflecting coating on lower wall to promote vaporization
GB0202991D0 (en) * 2002-02-08 2002-03-27 Koninkl Philips Electronics Nv Radio communication system
US7554943B2 (en) * 2002-02-08 2009-06-30 Koninklijke Philips Electronics N.V. Radio communication system
US7555440B2 (en) * 2002-04-29 2009-06-30 At&T Intellectual Property I, L.P. Immediate next task dispatch system and method
EP1603301B1 (en) * 2002-05-06 2007-03-07 Research in Motion Event reminder method
US7221937B2 (en) 2002-05-06 2007-05-22 Research In Motion Limited Event reminder method
US20030220827A1 (en) * 2002-05-21 2003-11-27 Neil Murphy System and Method for Scheduling Service Technicians
US7865387B2 (en) * 2002-05-23 2011-01-04 Aol Inc. Method and system for scheduling a meeting for a set of attendees via a special attendee
US7451098B2 (en) * 2002-05-31 2008-11-11 At&T Intellectual Property I, L.P. Method, system, and computer program product for assigning multiple telecommunications technicians at one time to at least one skill and a turf
US7433830B2 (en) * 2002-06-19 2008-10-07 At&T Intellectual Property I, L.P. Method and system for assigning and dispatching a telecommunications systems work order based on global positioning information
US7523046B2 (en) * 2002-07-26 2009-04-21 Cartmanager, Llc Communication system for managing hotel operations
US7941514B2 (en) * 2002-07-31 2011-05-10 Level 3 Communications, Llc Order entry system for telecommunications network service
JP4373060B2 (en) * 2002-08-14 2009-11-25 株式会社エヌ・ティ・ティ・ドコモ Distributed processing system and proxy node, user side node and method in distributed processing system
US20040044554A1 (en) * 2002-08-27 2004-03-04 Christopher Bull Methods and systems for managing field personnel and projects through a wireless network
US20050033603A1 (en) * 2002-08-29 2005-02-10 Olympus Optical Co., Ltd. Hospital information system
US20040158762A1 (en) * 2002-09-23 2004-08-12 Abraham Richard J. Processes for determining nondiscriminatory access to a telecommunication network
US7840434B2 (en) * 2002-10-29 2010-11-23 At&T Intellectual Property I, L. P. Methods and systems for assigning multiple tasks
US20040133635A1 (en) * 2002-11-26 2004-07-08 Axel Spriestersbach Transformation of web description documents
US20040111336A1 (en) * 2002-12-10 2004-06-10 International Business Machines Corporation Method, system, and storage medium for optimizing procurement and fulfillment processes over a computer network
US20040122951A1 (en) * 2002-12-18 2004-06-24 Andre Beck Method and apparatus for providing Web users with a click-to-contact service
US8712867B2 (en) 2003-01-31 2014-04-29 Media Queue, Llc System for providing access to playable media
US8688462B2 (en) * 2003-01-31 2014-04-01 Media Queue, Llc Media auto exchange system and method
US8700538B2 (en) 2003-01-31 2014-04-15 Media Queue, Llc Media exchange system and method
US7895065B2 (en) * 2003-02-26 2011-02-22 Sony Corporation Method and apparatus for an itinerary planner
US20040205394A1 (en) * 2003-03-17 2004-10-14 Plutowski Mark Earl Method and apparatus to implement an errands engine
US7840435B2 (en) * 2003-03-28 2010-11-23 Accenture Global Services Gmbh Effective security scheduler
US7827204B2 (en) * 2003-03-31 2010-11-02 Sap Ag Order document data management
US20040220848A1 (en) * 2003-04-28 2004-11-04 Leventhal Jeffrey P. System and method for managing requests for services
US7856406B2 (en) 2003-04-28 2010-12-21 Onforce, Inc. System and method for managing accounts payable and accounts receivable
US7590695B2 (en) 2003-05-09 2009-09-15 Aol Llc Managing electronic messages
US8209205B1 (en) 2003-05-22 2012-06-26 John W. McElroy Planning and scheduling tool assistant assuring high utilization of resources
US20040236704A1 (en) * 2003-05-22 2004-11-25 Gotfried Bradley L. Method and system for providing a compensation opportunity to a task candidate
US20040249691A1 (en) * 2003-06-05 2004-12-09 Schell H. Mike Method, system and computer product for strategic priority order tracking
US7739602B2 (en) 2003-06-24 2010-06-15 Aol Inc. System and method for community centric resource sharing based on a publishing subscription model
US20050060217A1 (en) * 2003-08-29 2005-03-17 James Douglas Customer service support system
US7149736B2 (en) * 2003-09-26 2006-12-12 Microsoft Corporation Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions
CA2485595A1 (en) * 2003-10-21 2005-04-21 Itron, Inc. Combined scheduling and management of work orders, such as for utility meter reading and utility servicing events
US20050119927A1 (en) * 2003-12-02 2005-06-02 International Business Machines Corporation Accounting for traveling time within scheduling software
US20050165631A1 (en) * 2004-01-28 2005-07-28 Microsoft Corporation Time management representations and automation for allocating time to projects and meetings within an online calendaring system
US20050177407A1 (en) * 2004-02-09 2005-08-11 Barni Meghan M. Method and computer system for schedule trading
US7747464B2 (en) 2004-02-18 2010-06-29 Jansen Michael E Motion picture theater and associated promotion
US7810099B2 (en) * 2004-06-17 2010-10-05 International Business Machines Corporation Optimizing workflow execution against a heterogeneous grid computing topology
US20070203723A1 (en) * 2006-02-28 2007-08-30 Segura Michael J Methods for designing, pricing, and scheduling well services and data processing systems therefor
US7636671B2 (en) * 2004-08-30 2009-12-22 Halliburton Energy Services, Inc. Determining, pricing, and/or providing well servicing treatments and data processing systems therefor
US7548877B2 (en) * 2004-08-30 2009-06-16 Quixtar, Inc. System and method for processing orders for multiple multilevel marketing business models
US20100088196A1 (en) * 2004-08-30 2010-04-08 Segura Michael J R Methods for Designing, Pricing, and Scheduling Well Services and Data Processing Systems Therefor
US9552599B1 (en) 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
US7143222B2 (en) 2004-09-21 2006-11-28 International Business Machines Corporation Adaptive message delivery system
US9100776B2 (en) * 2004-10-06 2015-08-04 Intelligent Mechatronic Systems Inc. Location based event reminder for mobile device
US20060101467A1 (en) * 2004-10-18 2006-05-11 International Business Machines Corporation Process execution management based on resource requirements and business impacts
JP4081778B2 (en) * 2004-10-27 2008-04-30 リ・プロダクツ株式会社 Cleaning work estimation system, cleaning work estimation method, and cleaning work estimation program
US7693735B2 (en) * 2004-11-23 2010-04-06 Etadirect Holdings, Inc. Dynamic schedule mediation
US20060235856A1 (en) * 2004-12-16 2006-10-19 Halcrow Michael A Route generation for task completion by a location-aware device
US20060161469A1 (en) 2005-01-14 2006-07-20 Weatherbank, Inc. Interactive advisory system
US8832121B2 (en) * 2005-02-02 2014-09-09 Accuweather, Inc. Location-based data communications system and method
US7889857B2 (en) * 2005-02-15 2011-02-15 Siemens Aktiengesellschaft Method and system for providing a service
US7793294B2 (en) * 2005-02-22 2010-09-07 Northrop Grumman Corporation System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US7828202B2 (en) * 2005-02-24 2010-11-09 E-Courier (Belize), Inc. System and method for controlling the transport of articles
JP4701237B2 (en) * 2005-02-25 2011-06-15 インターナショナル・ビジネス・マシーンズ・コーポレーション Business management system, business management system construction support service, control method, and program
US20060218027A1 (en) * 2005-03-22 2006-09-28 Carrion Veronica L System and method for single user interface window event scheduling
US7894938B1 (en) * 2005-03-31 2011-02-22 Cantaloupe Systems, Inc. Vending machine service scheduling
US20060241996A1 (en) * 2005-04-20 2006-10-26 International Business Machines Corporation Method, system and program product for monitoring work items
US8090707B1 (en) 2005-07-07 2012-01-03 Rearden Commerce Inc. Chance meeting addition to trip planner or meeting planner
US8626548B2 (en) * 2005-09-19 2014-01-07 Oracle International Corporation Access point triangulation for task assignment of warehouse employees
US20070078863A1 (en) * 2005-10-03 2007-04-05 Peter Thompson Application support and maintenance system, software, database and related methods
US10248914B2 (en) * 2005-11-29 2019-04-02 The Boeing Company Sustaining a fleet of configuration-controlled assets
FI20051291L (en) * 2005-12-16 2007-06-17 Kone Corp Maintenance program optimization method
US8229467B2 (en) 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US7499869B2 (en) * 2006-02-02 2009-03-03 Matthew Iknoian System and method for scheduling employee shifts
US8112298B2 (en) * 2006-02-22 2012-02-07 Verint Americas, Inc. Systems and methods for workforce optimization
US8078486B1 (en) * 2006-02-22 2011-12-13 Verint Americas Inc. Systems and methods for providing workforce optimization to branch and back offices
US8112306B2 (en) * 2006-02-22 2012-02-07 Verint Americas, Inc. System and method for facilitating triggers and workflows in workforce optimization
US20070198330A1 (en) * 2006-02-22 2007-08-23 Shmuel Korenblit Integrated contact center systems for facilitating contact center coaching
US8825736B2 (en) * 2006-03-14 2014-09-02 Lifeworx, Inc. System and method for service provider search
CN101046859A (en) * 2006-03-29 2007-10-03 鸿富锦精密工业(深圳)有限公司 Job cards made system and method
US20070233292A1 (en) * 2006-03-30 2007-10-04 Mandt Marc E Sr Team Binding Process For Game Scheduling Software
US7672746B1 (en) * 2006-03-31 2010-03-02 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8706799B2 (en) * 2006-05-29 2014-04-22 Sandisk Il Ltd. Method and apparatus to exchange information with a local storage device
US20070282656A1 (en) * 2006-06-06 2007-12-06 Jeffery Battcher Dynamic appointment tracking
US8793066B2 (en) 2006-06-27 2014-07-29 Microsoft Corporation Route monetization
US7610151B2 (en) 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US7739040B2 (en) 2006-06-30 2010-06-15 Microsoft Corporation Computation of travel routes, durations, and plans over multiple contexts
US7706964B2 (en) * 2006-06-30 2010-04-27 Microsoft Corporation Inferring road speeds for context-sensitive routing
US7953621B2 (en) * 2006-06-30 2011-05-31 Verint Americas Inc. Systems and methods for displaying agent activity exceptions
US7617042B2 (en) 2006-06-30 2009-11-10 Microsoft Corporation Computing and harnessing inferences about the timing, duration, and nature of motion and cessation of motion with applications to mobile computing and communications
US8126641B2 (en) * 2006-06-30 2012-02-28 Microsoft Corporation Route planning with contingencies
US8131578B2 (en) 2006-06-30 2012-03-06 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US8055526B2 (en) * 2006-09-08 2011-11-08 Varec, Inc. Method for the automated dispatch of fueling operations
WO2008035989A2 (en) * 2006-09-18 2008-03-27 Arc Innovations Limited Utility meter installation system and method
US8645179B2 (en) 2006-09-29 2014-02-04 Verint Americas Inc. Systems and methods of partial shift swapping
CA2567368A1 (en) * 2006-09-29 2007-02-06 Witness Systems, Inc. Systems and methods of partial shift swapping
US7747458B2 (en) * 2006-10-11 2010-06-29 International Business Machines Corporation Electronic calendar auto event resolution system and method
EP1914959B1 (en) * 2006-10-19 2011-12-28 Motorola Mobility, Inc. Method and apparatus for recovery from network disconnections in a peer-peer network
US20080103843A1 (en) * 2006-10-27 2008-05-01 Sap Ag-Germany Integrating information for maintenance
US20080114638A1 (en) * 2006-11-10 2008-05-15 Inspection Management Systems, Inc. Parameter-based appointment scheduling system and method
KR101384902B1 (en) * 2006-12-15 2014-04-15 삼성전자주식회사 Method and apparatus for preventing omission of schedule and overlapping execution due to change in time
US8799046B2 (en) * 2006-12-27 2014-08-05 Verizon Patent And Licensing Inc. Dispatching prioritized jobs at multiple locations to workers
US8141089B2 (en) * 2007-01-11 2012-03-20 International Business Machines Corporation Method and apparatus for reducing contention for computer system resources using soft locks
US7987471B2 (en) * 2007-01-26 2011-07-26 Microsoft Corporation Mobile device management proxy system
US8620712B1 (en) * 2007-01-26 2013-12-31 Intuit Inc. Method and system of intelligent matching for meetings
JP2010518489A (en) * 2007-01-31 2010-05-27 クインタイルズ トランスナショナル コーポレイション Methods and systems for site startup
US8634814B2 (en) * 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
WO2008105525A1 (en) * 2007-02-26 2008-09-04 Nec Corporation Message report method, job management device, and computer program
WO2008124512A1 (en) * 2007-04-03 2008-10-16 Zurisoft, Llc Mixed workforce using priority queuing of automated bid dispatch and compliance monitoring
US8533847B2 (en) 2007-05-24 2013-09-10 Sandisk Il Ltd. Apparatus and method for screening new data without impacting download speed
US20080313037A1 (en) * 2007-06-15 2008-12-18 Root Steven A Interactive advisory system
US8522258B1 (en) 2007-06-15 2013-08-27 At&T Mobility Ii Llc Event handling system
US8060401B2 (en) 2007-07-17 2011-11-15 At&T Intellectual Property I, Lp Methods, systems, and computer-readable media for providing an indication of a schedule conflict
US8352302B2 (en) 2007-07-17 2013-01-08 At&T Intellectual Property I, L.P. Methods, systems, and computer-readable media for determining a plurality of turfs from where to reallocate a workforce to a given turf
US8249905B2 (en) 2007-07-17 2012-08-21 At&T Intellectual Property I, Lp Methods, systems, and computer-readable media for providing future job information
US8380744B2 (en) 2007-07-17 2013-02-19 At&T Intellectual Property I, L.P. Methods, systems, and computer-readable media for generating a report indicating job availability
US20090024437A1 (en) * 2007-07-17 2009-01-22 Robert Ingman Methods, Systems, and Computer-Readable Media for Providing A Ratio of Tasks Per Technician
US8069072B2 (en) 2007-07-17 2011-11-29 At&T Intellectual Property I, Lp Methods, systems, and computer-readable media for providing an indication of hightime
US8239232B2 (en) 2007-07-17 2012-08-07 At&T Intellectual Property I, L.P. Methods, systems, and computer-readable media for providing commitments information relative to a turf
US8341547B2 (en) 2007-07-17 2012-12-25 At&T Intellectual Property I, L.P. Methods, systems, and computer-readable media for providing contact information at turf level
US20090024435A1 (en) * 2007-07-17 2009-01-22 Robert Ingman Methods, Systems, and Computer-Readable Media for Providing Notification of a Last Job Dispatch
US20090023431A1 (en) * 2007-07-19 2009-01-22 Hewlett-Packard Development Company, L.P. Systems and Methods for Communicating with a Network Switch
US20090063239A1 (en) * 2007-08-30 2009-03-05 Ibm Corporation Method and Apparatus for Providing an Electronic Calendar with an Indication of Timeslot Availability Dependent on the Importance of a Requester
US20090063241A1 (en) * 2007-08-31 2009-03-05 Accenture Global Services Gmbh Demand Driven Scheduling
US20090094089A1 (en) * 2007-10-05 2009-04-09 Michael Anthony Iacovone Custom dispatch software
CN101141449A (en) * 2007-10-22 2008-03-12 珠海金山软件股份有限公司 Apparatus and method for implementing Web client terminal software self-adaptive running
US20090138311A1 (en) * 2007-11-28 2009-05-28 Michael Anthony Iacovone System and method for computer aided work order scheduling
CA2706074A1 (en) * 2007-11-29 2009-06-04 Horst Lohstoeter Planning and controlling of objects transportation
US9104988B2 (en) * 2007-12-04 2015-08-11 Verizon Patent And Licensing Inc. System and method for providing facilities management based on weather vulnerability
US20090150206A1 (en) * 2007-12-07 2009-06-11 Mci Communications Services Notification system and method
US20090157498A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Generational intelligent navigation synchronization or update
US20090157540A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Destination auctioned through business of interest
US20090171743A1 (en) * 2008-01-02 2009-07-02 Dana Spiegel Service request system with natural service provider profiling and methods thereof
US20090171718A1 (en) * 2008-01-02 2009-07-02 Verizon Services Corp. System and method for providing workforce and workload modeling
US20090199192A1 (en) * 2008-02-05 2009-08-06 Robert Laithwaite Resource scheduling apparatus and method
US20090210142A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Safe route configuration
US20090210242A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Load balance payment
US20090210302A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Route reward augmentation
US8538788B1 (en) 2008-04-02 2013-09-17 Onforce, Inc. System for work order refinement prior to acceptance and methods thereof
US8200751B2 (en) * 2008-05-20 2012-06-12 Raytheon Company System and method for maintaining stateful information
EP2148216B1 (en) * 2008-07-14 2013-01-09 Ecole Polytechnique Fédérale de Lausanne (EPFL) Time of flight estimation method using beamforming for acoustic tomography
US8041586B2 (en) * 2008-09-18 2011-10-18 International Business Machines Corporation Shared space availability by dynamically responding to user utilization behavior of shared space
US20100088143A1 (en) * 2008-10-07 2010-04-08 Microsoft Corporation Calendar event scheduling
US8730056B2 (en) 2008-11-11 2014-05-20 Itron, Inc. System and method of high volume import, validation and estimation of meter data
US8219467B2 (en) 2008-12-11 2012-07-10 At&T Intellectual Property I, Lp System and method for dispatching field technicians based on locations of virtual warehouses
US8375192B2 (en) 2008-12-16 2013-02-12 Sandisk Il Ltd. Discardable files
US8849856B2 (en) 2008-12-16 2014-09-30 Sandisk Il Ltd. Discardable files
US9015209B2 (en) 2008-12-16 2015-04-21 Sandisk Il Ltd. Download management of discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
US8205060B2 (en) 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US8612276B1 (en) 2009-02-11 2013-12-17 Certusview Technologies, Llc Methods, apparatus, and systems for dispatching service technicians
CA2691780C (en) 2009-02-11 2015-09-22 Certusview Technologies, Llc Management system, and associated methods and apparatus, for providing automatic assesment of a locate operation
US20100235210A1 (en) * 2009-03-11 2010-09-16 United Parcel Service Of America, Inc. Scheduled delivery service systems, apparatuses, methods, and computer programs embodied on computer-readable media
US8713146B2 (en) * 2009-03-27 2014-04-29 Ebay Inc. Change management automation tool
US20100287025A1 (en) * 2009-05-06 2010-11-11 Brian Fletcher Mobile resource task scheduling
IL199115A (en) 2009-06-03 2013-06-27 Verint Systems Ltd Systems and methods for efficient keyword spotting in communication traffic
US8364513B2 (en) * 2009-06-09 2013-01-29 Accenture Global Services Limited Technician control system
US8321253B2 (en) 2009-06-09 2012-11-27 Accenture Global Services Limited Technician control system
US8849690B1 (en) * 2009-06-24 2014-09-30 American Airlines, Inc. Optimized bill of work for aircraft maintenance based on task prioritization and time slot proximity analysis
US8886760B2 (en) * 2009-06-30 2014-11-11 Sandisk Technologies Inc. System and method of predictive data acquisition
US9378511B2 (en) * 2009-07-15 2016-06-28 International Business Machines Corporation Real-time appointment of enterprise mobile agents in response to customer requests
US20140195287A1 (en) * 2009-08-21 2014-07-10 Christopher Ian Fraser Gesture based electronic signature
US10115065B1 (en) 2009-10-30 2018-10-30 Verint Americas Inc. Systems and methods for automatic scheduling of a workforce
US20110112943A1 (en) * 2009-11-09 2011-05-12 Dietz Jay B Location-based mobile workforce management system
US20110145037A1 (en) * 2009-12-16 2011-06-16 Vertafore, Inc. Document management method and apparatus to process a workflow task by parallel or serially processing subtasks thereof
US9063932B2 (en) 2009-12-18 2015-06-23 Vertafore, Inc. Apparatus, method and article to manage electronic or digital documents in a networked environment
US8700682B2 (en) 2009-12-24 2014-04-15 Vertafore, Inc. Systems, methods and articles for template based generation of markup documents to access back office systems
US20110213634A1 (en) * 2010-03-01 2011-09-01 Business Equipment Information Services, Inc. System and method for effective workload distribution for service technicians
US8924152B2 (en) * 2010-05-28 2014-12-30 Agjunction Llc Remote management system for equipment
US8788375B2 (en) 2010-06-23 2014-07-22 Canadian National Railway Company Method and system for pre-populating job assignment submissions
US8583462B2 (en) 2010-06-23 2013-11-12 Canadian National Railway Company Method and system for assessing penalties associated with an employee without a job assignment
US20120003619A1 (en) * 2010-06-23 2012-01-05 Canadian National Railway Company Method and system for assigning jobs to prevent employee qualifications from lapsing
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
US8549229B2 (en) 2010-08-19 2013-10-01 Sandisk Il Ltd. Systems and methods for managing an upload of files in a shared cache storage system
US8689759B2 (en) * 2010-10-01 2014-04-08 GM Global Technology Operations LLC Dual drive pump system using an engine starter motor
US20120303404A1 (en) * 2011-03-14 2012-11-29 ClearCare, Inc. System and apparatus for generating work schedules
US20120101867A1 (en) * 2010-10-25 2012-04-26 Zgardovski Stanislav V System for Automatic Assignment of Agents in Inbound and Outbound Campaigns
US9384198B2 (en) 2010-12-10 2016-07-05 Vertafore, Inc. Agency management system and content management system integration
US8527575B2 (en) * 2010-12-17 2013-09-03 Verizon Patent And Licensing Inc. Queue processing system
US20120166243A1 (en) * 2010-12-27 2012-06-28 Belmont Brian V Field service management systems and methods
US9619786B2 (en) * 2011-01-28 2017-04-11 International Business Machines Corporation Shape driven scheduling of multiple events for a task in a calendaring and scheduling system
US8788849B2 (en) 2011-02-28 2014-07-22 Sandisk Technologies Inc. Method and apparatus for protecting cached streams
US9659260B2 (en) 2011-03-15 2017-05-23 Dan Caligor Calendar based task and time management systems and methods
US9348790B2 (en) 2011-04-01 2016-05-24 Facebook, Inc. Method for efficient use of content stored in a cache memory of a mobile device
US10481945B2 (en) 2011-04-01 2019-11-19 Facebook, Inc. System and method for communication management of a multi-tasking mobile device
US9559868B2 (en) 2011-04-01 2017-01-31 Onavo Mobile Ltd. Apparatus and methods for bandwidth saving and on-demand data delivery for a mobile device
US20120259540A1 (en) * 2011-04-07 2012-10-11 Infosys Technologies Limited Methods and systems for workforce management
US8731973B2 (en) 2011-04-19 2014-05-20 Vertafore, Inc. Overlaying images in automated insurance policy form generation
US8700656B2 (en) 2011-05-27 2014-04-15 Oracle International Corporation Method and system for implementing an on-demand scheduler
US9021095B2 (en) 2011-05-27 2015-04-28 Oracle International Corporation Method and system for implementing an on-demand scheduler in a mobile device
US20120316907A1 (en) * 2011-06-07 2012-12-13 Avaya, Inc. System and method for managing agent contact assignments near end of agent work shift
US20120317172A1 (en) * 2011-06-13 2012-12-13 International Business Machines Corporation Mobile web app infrastructure
US8791816B2 (en) * 2011-06-27 2014-07-29 The Boeing Company Situational awareness for an electrical distribution system
US9165011B2 (en) 2011-09-30 2015-10-20 Oracle International Corporation Concurrent calculation of resource qualification and availability using text search
US8977236B2 (en) 2011-10-11 2015-03-10 Mobiwork, Llc Method and system to record and visualize type, path and location of moving and idle segments
US9123005B2 (en) 2011-10-11 2015-09-01 Mobiwork, Llc Method and system to define implement and enforce workflow of a mobile workforce
US20130090968A1 (en) * 2011-10-11 2013-04-11 Stephen Borza Methods of employee scheduling and management
US9818074B2 (en) 2011-10-11 2017-11-14 Mobiwork, Llc Method and system to analyze time stamp location data to produce movement and idle segments
US9740999B2 (en) 2011-10-11 2017-08-22 Mobiwork, Llc Real time customer access to location, arrival and on-site time data
US8971853B2 (en) 2011-10-11 2015-03-03 Mobiwork, Llc Method and system to record and visualize type, time and duration of moving and idle segments
US8510144B1 (en) * 2011-10-21 2013-08-13 Verint Americas Inc. Method and apparatus for cell-based workforce scheduling
US20140108078A1 (en) * 2011-12-12 2014-04-17 Moose Loop Holdings, LLC Task scheduling and rescheduling
US20130151298A1 (en) * 2011-12-12 2013-06-13 Moose Loop Holdings, LLC Acquiring and distributing tasks
US9330380B2 (en) * 2011-12-29 2016-05-03 Unisys Corporation Method and system for managing one or more recurrencies including exclusionary schedule
CN103186829A (en) * 2011-12-30 2013-07-03 北大方正集团有限公司 Dispatching system and method
FR2986645B1 (en) * 2012-02-02 2014-10-17 Somfy Sas METHOD AND COMMUNICATION DEVICE FOR REMOTELY CONTROLLING AN ACTUATOR FOR A BUILDING MOBILE EQUIPMENT
WO2013128905A1 (en) * 2012-02-27 2013-09-06 国立大学法人名古屋大学 Anti-tumor aqueous solution, anti-cancer agent, and methods for producing said aqueous solution and said anti-cancer agent
US20150178687A1 (en) * 2012-04-26 2015-06-25 Google Inc. System and method for improving resource utilization
US9842317B2 (en) 2012-05-28 2017-12-12 Brandon Jordan Methods, systems, and apparatus for scheduling appointments
JP5457503B2 (en) * 2012-06-05 2014-04-02 日本瓦斯株式会社 Delivery number rank setting system
US9436921B2 (en) * 2012-06-21 2016-09-06 International Business Machines Corporation Intelligent service management and process control using policy-based automation and predefined task templates
US10346784B1 (en) 2012-07-27 2019-07-09 Google Llc Near-term delivery system performance simulation
US8583467B1 (en) 2012-08-23 2013-11-12 Fmr Llc Method and system for optimized scheduling of workflows
WO2014049361A1 (en) * 2012-09-27 2014-04-03 Tyco Electronics Uk Ltd. Mobile application for assisting a technician in carrying out an electronic work order
US9450839B2 (en) * 2012-11-09 2016-09-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Efficient network bandwidth utilization in a distributed processing system
JP5961848B2 (en) * 2012-11-27 2016-08-02 株式会社日立製作所 Plan management system and plan management method
EP2747000B1 (en) * 2012-12-20 2017-11-22 ABB Schweiz AG System and method for automatic allocation of mobile resources to tasks
US9741021B2 (en) * 2013-01-18 2017-08-22 Robert Yu Optimized online marketing and scheduling systems and methods that are based on driving demand for services
US10115078B2 (en) 2013-03-11 2018-10-30 Sony Corporation Service scheduling system
US9734194B1 (en) * 2013-03-14 2017-08-15 Google Inc. Encoding time interval information
US20140278660A1 (en) 2013-03-15 2014-09-18 Profit Strategies, Inc. Methods for generating a work-order in real time and devices thereof
US20140277622A1 (en) * 2013-03-15 2014-09-18 First Principles, Inc. System and method for bio-signal control of an electronic device
WO2014179861A1 (en) * 2013-05-09 2014-11-13 Benoit Brunel System and method for managing scheduled and unscheduled resources, and appointments for establishments.
US20140350995A1 (en) * 2013-05-24 2014-11-27 International Business Machines Corporation Characterizing Statistical Time-Bounded Incident Management Systems
US9477523B1 (en) * 2013-06-25 2016-10-25 Amazon Technologies, Inc. Scheduling data access jobs based on job priority and predicted execution time using historical execution data
US9547836B2 (en) * 2013-06-28 2017-01-17 Verizon Patent And Licensing Inc. Method and apparatus for scheduling media processing jobs on multiple processors to maximize processor utilization
US20150026077A1 (en) * 2013-07-18 2015-01-22 Netapp, Inc. Centralized Method for Customer Assistance and System Verification
US9992138B1 (en) * 2013-07-26 2018-06-05 Ca, Inc. Method and apparatus for processing scheduling requests in a shared calendar system
US20160196524A1 (en) * 2013-08-09 2016-07-07 Zest Inc. Task Allocation Device and Task Allocation Program
US9967349B2 (en) * 2013-09-25 2018-05-08 Open Text Sa Ulc Integrated social media server and architecture
US9436696B2 (en) 2013-10-02 2016-09-06 International Business Machines Corporation Data fragmentation tuning and candidacy persistence
US11775892B2 (en) 2013-10-03 2023-10-03 Crc R&D, Llc Apparatus and method for freight delivery and pick-up
US9274687B1 (en) 2013-10-11 2016-03-01 Google Inc. Managing schedule changes for correlated calendar events
US20150106144A1 (en) * 2013-10-13 2015-04-16 Wavsys Llc Field crew management system and method
US9507814B2 (en) 2013-12-10 2016-11-29 Vertafore, Inc. Bit level comparator systems and methods
US9367435B2 (en) 2013-12-12 2016-06-14 Vertafore, Inc. Integration testing method and system for web services
US10241654B2 (en) * 2013-12-20 2019-03-26 Dassault Systemes Americas Corp. Computer method and apparatus for automated scheduling
US10015812B2 (en) * 2013-12-25 2018-07-03 Intel IP Corporation Apparatus, system and method of setting transmit slots in a wireless communication network
US20150206092A1 (en) * 2014-01-21 2015-07-23 Avaya, Inc. Identification of multi-channel connections to predict estimated wait time
US9531651B1 (en) 2014-02-13 2016-12-27 Google Inc. Methods for displaying notifications
US20150262113A1 (en) * 2014-03-11 2015-09-17 Bank Of America Corporation Work status monitoring and reporting
US9413707B2 (en) 2014-04-11 2016-08-09 ACR Development, Inc. Automated user task management
US8942727B1 (en) 2014-04-11 2015-01-27 ACR Development, Inc. User Location Tracking
US9665432B2 (en) 2014-08-07 2017-05-30 Microsoft Technology Licensing, Llc Safe data access following storage failure
US9847918B2 (en) * 2014-08-12 2017-12-19 Microsoft Technology Licensing, Llc Distributed workload reassignment following communication failure
US9747556B2 (en) 2014-08-20 2017-08-29 Vertafore, Inc. Automated customized web portal template generation systems and methods
US11328262B2 (en) * 2014-09-11 2022-05-10 Dean DiCarlo System and method of collaborative electronic product showing scheduler and sale closing platform
US9911087B1 (en) 2014-09-18 2018-03-06 Servicenow, Inc. System and method for efficient travel time and route computation
TWI571809B (en) * 2014-11-14 2017-02-21 財團法人資訊工業策進會 Working item audit system and method thereof
US20160140507A1 (en) * 2014-11-18 2016-05-19 Intrenational Business Machines Corporation Optimizing service provider schedule and route
EP3054404A1 (en) * 2015-02-04 2016-08-10 Hexagon Technology Center GmbH Work information modelling
US10726366B2 (en) * 2015-04-14 2020-07-28 International Business Machines Corporation Scheduling and simulation system
US11748834B1 (en) * 2015-04-27 2023-09-05 Priority 5 Holdings, Inc. Systems and methods for planning and optimizing the mitigation of potential impacts to critical infrastructure or key resources
US10684890B2 (en) * 2015-05-08 2020-06-16 Accenture Global Services Limited Network deployment for cellular, backhaul, fiber optic and other network infrastructure
US20160342929A1 (en) * 2015-05-22 2016-11-24 Percolata Corporation Method for determining staffing needs based in part on sensor inputs
US11379893B2 (en) 2015-06-19 2022-07-05 United Rentals, Inc. Equipment staging application and platform
US11093878B2 (en) * 2015-07-01 2021-08-17 Oracle International Corporation System and method for providing temporal dependencies between tasks
US20170011312A1 (en) * 2015-07-07 2017-01-12 Tyco Fire & Security Gmbh Predicting Work Orders For Scheduling Service Tasks On Intrusion And Fire Monitoring
WO2017048516A1 (en) * 2015-09-17 2017-03-23 Super Home Inc. Home maintenance and repair information technology methods and systems
US11188878B2 (en) * 2015-09-22 2021-11-30 International Business Machines Corporation Meeting room reservation system
US9600400B1 (en) 2015-10-29 2017-03-21 Vertafore, Inc. Performance testing of web application components using image differentiation
US10339536B2 (en) 2015-11-17 2019-07-02 Schneider Enterprise Resources, LLC Geolocation compliance for a mobile workforce
US20190043018A1 (en) * 2016-02-04 2019-02-07 Ent. Services Development Corporation Lp Schedule creation
WO2018018127A1 (en) * 2016-07-26 2018-02-01 Fio Corporation A dynamic quality control workforce management system, device, method, and computer-readable medium
US10817814B2 (en) 2016-08-26 2020-10-27 Conduent Business Services, Llc System and method for coordinating parking enforcement officer patrol in real time with the aid of a digital computer
US11151494B2 (en) 2016-08-26 2021-10-19 Palo Alto Research Center Incorporated System and method for visualizing parking enforcement officer movement in real time with the aid of a digital computer
US11120375B2 (en) 2016-08-26 2021-09-14 Conduent Business Services, Llc System and method for monitoring parking enforcement officer performance in real time with the aid of a digital computer
US11068813B2 (en) 2016-08-26 2021-07-20 Palo Alto Research Center Incorporated System and method for providing conditional autonomous messaging to parking enforcement officers with the aid of a digital computer
US11126942B2 (en) 2016-08-26 2021-09-21 Conduent Business Services, Llc System and method for facilitating parking enforcement officer performance in real time with the aid of a digital computer
US11144855B2 (en) 2016-08-26 2021-10-12 Conduent Business Services, Llc System and method for managing coverage of parking enforcement for a neighborhood with the aid of a digital computer
US11157860B2 (en) 2016-08-26 2021-10-26 Conduent Business Services, Llc System and method for motivating parking enforcement officer performance with the aid of a digital computer
US11062241B2 (en) * 2016-08-26 2021-07-13 Conduent Business Services, Llc System and method for facilitating parking enforcement officer dispatching in real time with the aid of a digital computer
US10362139B2 (en) 2016-10-06 2019-07-23 Mitsubishi Electric Research Laboratories, Inc. Systems and methods for resource allocation for management systems
US20180150925A1 (en) * 2016-11-30 2018-05-31 Corelogic Solutions, Llc Computer-based control of timing with which property review orders are processed
US20180150923A1 (en) * 2016-11-30 2018-05-31 Corelogic Solutions, Llc Property study workflow system
US20180150924A1 (en) * 2016-11-30 2018-05-31 Corelogic Solutions, Llc Computer-based photo re-use across property reports
MX2020002269A (en) 2017-08-31 2021-01-29 Crc R&D Llc Management of vehicular traffic at a facility having allocable space resources.
US10650337B2 (en) * 2018-01-29 2020-05-12 Salesforce.Com, Inc. Technical field service inventory management
US10832209B2 (en) * 2018-02-26 2020-11-10 Walmart Apollo, Llc Systems and methods for rush order fulfilment optimization
WO2019177790A2 (en) 2018-03-01 2019-09-19 Bringg Delivery Technologies Ltd. Automated dispatch optimization
US11055647B2 (en) * 2018-03-22 2021-07-06 Microsoft Technology Licensing, Llc Resource conflict detection and communication
US20190318322A1 (en) * 2018-04-12 2019-10-17 Rithm Al, Inc. System and method for determining an order of future events
US11210752B2 (en) * 2018-06-28 2021-12-28 International Business Machines Corporation Real time travel contingency service
US20190050817A1 (en) * 2018-08-02 2019-02-14 Jeffrey P. DeRouen Method and system for managing employee shift and transportation
US11126939B2 (en) * 2018-12-06 2021-09-21 At&T Intellectual Property I, L.P. Telecommunication network customer premises service dispatch optimization
US11551167B2 (en) 2018-12-27 2023-01-10 Clicksoftware, Inc. Systems and methods for fixing schedule using a remote optimization engine
CN114270393A (en) * 2019-08-22 2022-04-01 大正天空大厦有限公司 Rental space
US11755970B2 (en) * 2020-04-30 2023-09-12 Bfs Operations Llc Systems and methods for generating construction assignment schedules having multi-task construction projects
US11941560B2 (en) 2020-09-02 2024-03-26 Bfs Operations Llc Systems and methods for generating construction models for construction projects
US11080636B1 (en) * 2020-11-18 2021-08-03 Coupang Corp. Systems and method for workflow editing
US20220245551A1 (en) * 2021-02-03 2022-08-04 ServiceTitan, Inc. Adjustable work-flow capacity planning
US20230027594A1 (en) * 2021-07-23 2023-01-26 Fiix Inc. Machine learning powered anomaly detection for maintenance work orders
US20230205590A1 (en) * 2021-12-27 2023-06-29 Rakuten Mobile, Inc. Method, apparatus, and computer readable medium
US11777815B1 (en) * 2022-03-02 2023-10-03 Servicenow, Inc. Techniques for dynamically configuring service availability

Family Cites Families (95)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US46073A (en) * 1865-01-31 Improvement in pumps
US47287A (en) * 1865-04-18 Improvement in skates
US23157A (en) * 1859-03-08 Improvement in sewing-machines
US10615A (en) * 1854-03-07 Improvement in sewing-machines
US47288A (en) * 1865-04-18 Improvement in hoop-locks for cotton
US7299A (en) * 1850-04-23 Dentist s chair
US10610A (en) * 1854-03-07 Method of operating hydraulic bams
US65700A (en) * 1867-06-11 William sloan
US16645A (en) * 1857-02-17 Method of generating air-blasts
US37229A (en) * 1862-12-23 Improvement in adjustable links
US4831552A (en) * 1987-01-29 1989-05-16 International Business Machines Corporation Method for concurrently displaying entries from a plurality of different electronic calendars based on interactively entered non-temporal criteria
US5064546A (en) * 1987-04-11 1991-11-12 Idemitsu Kosan Co., Ltd. Lubricating oil composition
EP0300456A3 (en) * 1987-07-24 1990-08-08 Bruce H. Faaland Improved scheduling method and system
US4937743A (en) * 1987-09-10 1990-06-26 Intellimed Corporation Method and system for scheduling, monitoring and dynamically managing resources
US5168451A (en) 1987-10-21 1992-12-01 Bolger John G User responsive transit system
US5093794A (en) * 1989-08-22 1992-03-03 United Technologies Corporation Job scheduling system
US5113380A (en) * 1989-08-24 1992-05-12 Levine Alfred B Multiple option electronic scheduler and rescheduler
JP2887815B2 (en) 1990-08-08 1999-05-10 アイシン精機株式会社 Mobile station position monitoring system
US5325292A (en) * 1990-10-12 1994-06-28 Crockett Gary B Tour/schedule generation for a force management system
US5289368A (en) 1990-10-12 1994-02-22 Iex Corporation Force management system user interface
US5303145A (en) * 1990-12-26 1994-04-12 International Business Machines Corporation Method and apparatus for meeting confirmation in a data processing system
US5913201A (en) * 1991-04-30 1999-06-15 Gte Laboratories Incoporated Method and apparatus for assigning a plurality of work projects
WO1993012488A1 (en) * 1991-12-13 1993-06-24 White Leonard R Measurement analysis software system and method
DE69218913T2 (en) * 1992-01-31 1997-07-17 Cit Alcatel Method for determining the transit time between a remote end station and a central end station, in a bidirectional point-to-multipoint transmission system
GB2270184B (en) 1992-08-11 1996-05-01 Rockwell International Corp Schedule adherence system
US5428546A (en) 1992-10-16 1995-06-27 Mobile Information Systems Method and apparatus for tracking vehicle location
US5636122A (en) * 1992-10-16 1997-06-03 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location and computer aided dispatch
US5758313A (en) * 1992-10-16 1998-05-26 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location
IL103976A0 (en) * 1992-12-04 1994-05-30 Mintz Yossi Method and system for iteratively targeting participants according to their priorities
US5774867A (en) 1993-03-25 1998-06-30 International Business Machines Corporation Meeting conflict resolution for electronic calendars
JPH06342357A (en) * 1993-06-01 1994-12-13 Mitsubishi Electric Corp User interface system
US5767848A (en) * 1994-12-13 1998-06-16 Hitachi, Ltd. Development support system
US5467268A (en) 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US5623404A (en) * 1994-03-18 1997-04-22 Minnesota Mining And Manufacturing Company System and method for producing schedules of resource requests having uncertain durations
US5655118A (en) * 1994-03-21 1997-08-05 Bell Communications Research, Inc. Methods and apparatus for managing information on activities of an enterprise
IL112660A (en) * 1994-03-31 1998-01-04 Minnesota Mining & Mfg System integrating active and simulated decision- making processes
US5590269A (en) 1994-04-22 1996-12-31 Minnesota Mining & Manufacturing Company Resource assignment system providing mixed-initiative user interface updates
US5787000A (en) * 1994-05-27 1998-07-28 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US5615121A (en) 1995-01-31 1997-03-25 U S West Technologies, Inc. System and method for scheduling service providers to perform customer service requests
US5774661A (en) 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
US5922040A (en) 1995-05-17 1999-07-13 Mobile Information System, Inc. Method and apparatus for fleet management
US5904727A (en) * 1995-05-17 1999-05-18 Mobile Information Systems, Inc. Graphical fleet management methods
DE19539662C2 (en) 1995-09-27 1997-10-02 Stefan J Halblaender Method for situation-dependent disposition over or activation of resources
US6070144A (en) 1996-01-09 2000-05-30 The State Of Oregon System and process for job scheduling using limited discrepancy search
US5920846A (en) 1996-02-27 1999-07-06 Southwestern Bell Telephone Co. Method and system for processing a service request relating to installation, maintenance or repair of telecommunications services provided to a customer premises
GB9606194D0 (en) 1996-03-23 1996-05-29 Int Computers Ltd Appointment booking and scheduling system
JP4334623B2 (en) * 1996-06-12 2009-09-30 出光興産株式会社 Lubricating oil composition for automatic transmission
US5893906A (en) * 1996-08-13 1999-04-13 Electronic Data Systems Corporation Managing work in a computing application
JPH10143574A (en) 1996-11-08 1998-05-29 Hitachi Ltd Job execution supporting system
AU722806B2 (en) * 1996-11-22 2000-08-10 Trimble Navigation Limited Resource allocation
US5870545A (en) * 1996-12-05 1999-02-09 Hewlett-Packard Company System and method for performing flexible workflow process compensation in a distributed workflow management system
US5826239A (en) 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
JPH10207939A (en) * 1997-01-17 1998-08-07 Nec Corp Work flow system
US5963913A (en) 1997-02-28 1999-10-05 Silicon Graphics, Inc. System and method for scheduling an event subject to the availability of requested participants
JP3184113B2 (en) * 1997-03-24 2001-07-09 東燃ゼネラル石油株式会社 Lubricating oil composition for automatic transmission
US6047260A (en) * 1997-06-05 2000-04-04 Attention Control Systems, Inc. Intelligent planning and calendaring system with cueing feature and floating tasks
US5970466A (en) 1997-10-06 1999-10-19 Impromed, Inc. Graphical computer system and method for appointment scheduling
JPH11116982A (en) * 1997-10-09 1999-04-27 Mitsubishi Oil Co Ltd Lubricating oil composition
US6370566B2 (en) * 1998-04-10 2002-04-09 Microsoft Corporation Generating meeting requests and group scheduling from a mobile device
US6745381B1 (en) * 1997-12-12 2004-06-01 International Business Machines Coroporation Method and apparatus for annotating static object models with business rules
US6016477A (en) * 1997-12-18 2000-01-18 International Business Machines Corporation Method and apparatus for identifying applicable business rules
US6115690A (en) * 1997-12-22 2000-09-05 Wong; Charles Integrated business-to-business Web commerce and business automation system
AU3085799A (en) * 1998-03-12 1999-09-27 Dmw Worldwide, Inc. Operational system for operating on client defined rules
US6278978B1 (en) * 1998-04-07 2001-08-21 Blue Pumpkin Software, Inc. Agent scheduling system and method having improved post-processing step
US6430538B1 (en) 1998-04-30 2002-08-06 Enterworks Workflow management system, method and medium with personal subflows
US20020046073A1 (en) 1998-05-29 2002-04-18 Runar Indseth Configurable weighting of representational controls to obtain an optimal routing solution
US6473748B1 (en) * 1998-08-31 2002-10-29 Worldcom, Inc. System for implementing rules
US6721288B1 (en) * 1998-09-16 2004-04-13 Openwave Systems Inc. Wireless mobile devices having improved operation during network unavailability
US6546425B1 (en) * 1998-10-09 2003-04-08 Netmotion Wireless, Inc. Method and apparatus for providing mobile and other intermittent connectivity in a computing environment
US7505827B1 (en) 1998-11-06 2009-03-17 Honeywell International Inc. Automated finite capacity scheduler
EP1163604A4 (en) * 1998-11-30 2002-01-09 Siebel Systems Inc Assignment manager
US6546364B1 (en) 1998-12-18 2003-04-08 Impresse Corporation Method and apparatus for creating adaptive workflows
US6633900B1 (en) 1999-01-08 2003-10-14 Abb Inc. Mobile crew management system for distributing work order assignments to mobile field crew units
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US20020065700A1 (en) * 1999-04-19 2002-05-30 G. Edward Powell Method and system for allocating personnel and resources to efficiently complete diverse work assignments
US6219412B1 (en) 1999-05-05 2001-04-17 Spiderphone.Com, Inc. Choice of guaranteed vs. bumpable conference call reservations
WO2000068856A2 (en) 1999-05-11 2000-11-16 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7177825B1 (en) 1999-05-11 2007-02-13 Borders Louis H Integrated system for ordering, fulfillment, and delivery of consumer products using a data network
US7127412B2 (en) 1999-06-07 2006-10-24 Pointserve, Inc. Method and system for allocating specific appointment time windows in a service industry
US6415259B1 (en) * 1999-07-15 2002-07-02 American Management Systems, Inc. Automatic work progress tracking and optimizing engine for a telecommunications customer care and billing system
US6535883B1 (en) * 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
US6823315B1 (en) * 1999-11-03 2004-11-23 Kronos Technology Systems Limited Partnership Dynamic workforce scheduler
US6745321B1 (en) * 1999-11-08 2004-06-01 International Business Machines Corporation Method and apparatus for harvesting problematic code sections aggravating hardware design flaws in a microprocessor
US6484036B1 (en) 1999-11-19 2002-11-19 International Business Machines Corporation Method and apparatus for scheduling mobile agents utilizing rapid two-way communication
US20050027580A1 (en) * 1999-12-01 2005-02-03 Richard Crici Internet-based appointment scheduling system
US20010029499A1 (en) * 1999-12-30 2001-10-11 Tuatini Jeffrey Taihana Rules processing system
US20020035493A1 (en) * 2000-01-04 2002-03-21 Bahram Mozayeny Method and system for coordinating appointments
GB0004010D0 (en) * 2000-02-22 2000-04-12 Ibm Naming convention fjor different types of device and apparatus and methods using the naming convention
JP2001282974A (en) * 2000-03-29 2001-10-12 Ricoh Co Ltd System and device for managing work and recording medium
AU2001246271A1 (en) * 2000-03-31 2001-10-15 Mdsi Mobile Data Solutions, Inc. Assigning technique for a scheduling system
US6721779B1 (en) * 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
US7925524B2 (en) 2000-07-14 2011-04-12 United Parcel Service Of America, Inc. Method and system of delivering items using overlapping delivery windows
US6757530B2 (en) * 2000-12-29 2004-06-29 International Business Machines Corporation System and method for providing wireless device access to scheduling applications
US20020199182A1 (en) * 2001-02-15 2002-12-26 Susan Whitehead Method and apparatus providing convergent solution to end-to end, adaptive business application management
US6701299B2 (en) * 2001-03-16 2004-03-02 United Parcel Service Of America, Inc. Real-time delivery feasibility analysis systems and methods

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016054721A1 (en) * 2014-10-08 2016-04-14 Tsx Inc. Selective delayed and undelayed database updating
US9996879B2 (en) 2014-10-08 2018-06-12 Tsx Inc. Selective delayed and undelayed database updating
US9841990B2 (en) 2015-08-28 2017-12-12 Servicepower, Inc. Encoding of a schedule into a binary structure

Also Published As

Publication number Publication date
US20010037229A1 (en) 2001-11-01
WO2001075693A2 (en) 2001-10-11
WO2001075637A2 (en) 2001-10-11
WO2001075693A8 (en) 2002-01-10
US20020010610A1 (en) 2002-01-24
US20020023157A1 (en) 2002-02-21
AU2001246272A1 (en) 2001-10-15
WO2001075663A3 (en) 2002-10-03
US20080288539A1 (en) 2008-11-20
AU2001246273A1 (en) 2001-10-15
WO2001075637A8 (en) 2002-01-10
WO2001075691A8 (en) 2002-01-31
US7346531B2 (en) 2008-03-18
AU2001248164A1 (en) 2001-10-15
AU2001248163A1 (en) 2001-10-23
WO2001077912A2 (en) 2001-10-18
US7155519B2 (en) 2006-12-26
WO2001075694A8 (en) 2002-01-10
US7603285B2 (en) 2009-10-13
US20010047287A1 (en) 2001-11-29
WO2001075692A2 (en) 2001-10-11
US7487105B2 (en) 2009-02-03
US7587327B2 (en) 2009-09-08
AU2001246270A1 (en) 2001-10-15
US8768738B2 (en) 2014-07-01
WO2001075692A8 (en) 2002-01-10
US20020010615A1 (en) 2002-01-24
AU2001246269A1 (en) 2001-10-23
US20020016645A1 (en) 2002-02-07
US20010047288A1 (en) 2001-11-29
AU2001246271A1 (en) 2001-10-15
WO2001075663A2 (en) 2001-10-11
WO2001075694A2 (en) 2001-10-11

Similar Documents

Publication Publication Date Title
WO2001075691A2 (en) Finding technique for a scheduling system
EP1913451B1 (en) Server-side project manager
JP2870117B2 (en) Optimal plan creation method
US6445968B1 (en) Task manager
US7552067B2 (en) System and method supply chain demand satisfaction
US20090150209A1 (en) System and method for managing mobile workers
Sen et al. The role of commitment in cooperative negotiation
JP5871456B2 (en) Method for supply chain management
JPH103492A (en) Promise reservation and scheduling device
CN104040486A (en) Decoupling PAAS resources, jobs, and scheduling
WO2003098497A2 (en) System and method for determining a promise date for a demand in a business environment
Bestavros et al. Timeliness via speculation for real-time databases
Panagos et al. Reducing escalation-related costs in WFMSs
EP1489506A1 (en) Decentralized processing system, job decentralized processing method, and program
Franco-Duran et al. Review of resource-constrained scheduling algorithms
Schaller et al. Efficient heuristics for minimizing weighted sum of squared tardiness on identical parallel machines
Collins et al. Automated assignment and scheduling of service personnel
Shieh et al. On-line vehicle routing with time windows: optimization-based heuristics approach for freight demands requested in real-time
Lee Adaptive resource scheduling for workflows considering competence and preference
Sridharan et al. Dynamic non-preemptive single machine scheduling
Son et al. Deadline allocation in a time-constrained workflow
Hernandez et al. Reliable DAG scheduling on grids with rewinding and migration
JP3276834B2 (en) Schedule management method
JPH1049504A (en) Load distribution batch system
Pichler et al. Towards look-ahead strategies for work item selection

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

D17 Declaration under article 17(2)a
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP