US20010047287A1 - Finding technique for a scheduling system - Google Patents

Finding technique for a scheduling system Download PDF

Info

Publication number
US20010047287A1
US20010047287A1 US09/824,850 US82485001A US2001047287A1 US 20010047287 A1 US20010047287 A1 US 20010047287A1 US 82485001 A US82485001 A US 82485001A US 2001047287 A1 US2001047287 A1 US 2001047287A1
Authority
US
United States
Prior art keywords
time
shift
block
order
act
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US09/824,850
Inventor
Simon Jacobs
Guy Druce
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ventyx Software SRL
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to US09/824,850 priority Critical patent/US20010047287A1/en
Assigned to MDSI MOBILE DATA SOLUTINS INC. reassignment MDSI MOBILE DATA SOLUTINS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JACOBS, SIMON, DRUCE, GUY
Publication of US20010047287A1 publication Critical patent/US20010047287A1/en
Assigned to MDSI SOFTWARE SRL reassignment MDSI SOFTWARE SRL ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MDSI MOBILE DATA SOLUTIONS INC.
Assigned to VENTYX SOFTWARE SRL reassignment VENTYX SOFTWARE SRL CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: MDSI SOFTWARE SRL
Assigned to WELLS FARGO FOOTHILL, INC., A CALIFORNIA CORPORATION, AS AGENT reassignment WELLS FARGO FOOTHILL, INC., A CALIFORNIA CORPORATION, AS AGENT PATENT SECURITY AGREEMENT Assignors: GLOBAL ENERGY DECISIONS, INC., A CALIFORNIA CORPORATION, VENTYX SOFTWARE INC., A BRITISH COLUMBIA CORPORATION, VENTYX SOFTWARE SRL, A BARBADOS SOCIETY WITH RESTRICTED LIABILITY
Assigned to GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS AGENT reassignment GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS AGENT SECURITY AGREEMENT Assignors: GLOBAL ENERGY DECISIONS, INC., VENTYX SOFTWARE INC., VENTYX SOFTWARE SRL
Assigned to VENTYX SOFTWARE SRL, VENTYX ASIA INC., VENTYX INC., VENTYX ENERGY SOFTWARE, INC. (F/K/A GLOBAL ENERGY DECISIONS, INC.), VENTYX SOFTWARE INC. reassignment VENTYX SOFTWARE SRL RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),
Assigned to VENTYX SOFTWARE SRL, VENTYX ASIA INC., VENTYX ENERGY, LLC, VENTYX INC., VENTYX ENERGY SOFTWARE, INC. (F/K/A GLOBAL ENERGY DECISIONS, INC.), VENTYX SOFTWARE INC. reassignment VENTYX SOFTWARE SRL RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.
Abandoned legal-status Critical Current

Links

Images

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.
  • FIG. 1 is a block diagram of a system showing the relationship between a service organization, a scheduling system, mobile service representatives, and customers according to one aspect of the present invention.
  • FIG. 2 is a block diagram of a scheduling system according to one aspect of the present invention.
  • FIG. 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.
  • FIG. 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.
  • FIG. 5 is a process diagram of a method for computing an amount of free time required to accommodate an order in a shift.
  • FIGS. 6 A- 6 B are a process diagram of a method for examining a primary block according to one aspect of the present invention.
  • FIG. 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.
  • FIGS. 8 A-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. 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 objectives.
  • 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 FIG. 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 accommodate additional orders. In one embodiment, the optimizer 208 defragments the available spaces in a shift to fit additional orders in the shift.
  • FIG. 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.
  • 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.
  • FIG. 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 FIG. 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 FIG. 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).
  • 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 FIGS. 6 A- 6 B.
  • FIGS. 6 A- 6 B 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 613 B 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 FIG. 4. In order to focus in greater detail on how the extra time in the shift is found, the discussion further proceeds to FIG. 7.
  • FIG. 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 ⁇ t. EOT is the amount of free time required in a shift to fit the order, which is calculated by act 404 of FIG. 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 min .
  • 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.
  • FIGS. 8 A-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.
  • FIG. 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 each of the 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.
  • FIG. 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 1 .
  • the shift 802 1 is similar to the shift 802 discussed in FIG. 8A but is different in that the shift 802 1 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 min .
  • the virtual free time block 804 has been enlarged by t min , and correspondingly, the virtual free time block 824 has been compressed by t min .
  • FIG. 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 FIG. 8C is similar to the graph 800 of FIG. 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 min .
  • the virtual free time block 804 has been enlarged by t min
  • the virtual free time block 824 has been compressed by t min .
  • 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 min 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 FIG. 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 FIG. 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 613 B 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 FIG. 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 613 B and to an act 616 of FIG. 6B. Otherwise, the method 600 progresses to a node 613 A 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 FIG. 4. The next virtual free time block is then considered as discussed in act 308 of FIG. 3.
  • 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.
  • 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 FIG. 4. The method 600 then terminates and returns to the end of the act 406 of FIG. 4.
  • 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 FIG. 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 FIGS. 6 A- 6 B, 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

    CROSS-REFERENCE TO RELATED APPLICATION
  • This application incorporates by reference and claims the benefit of U.S. Provisional Application No. 60/193,834, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,917, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,832, filed Mar. 31, 2000; U.S. Provisional Application No. 60/193,705, filed Mar. 31, 2000; and U.S. Provisional Application No. 60/193,833, filed Mar. 31, 2000.[0001]
  • 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. [0002]
  • 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. [0003]
  • 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. [0004]
  • 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. [0005]
  • 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. [0006]
  • 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. [0007]
  • 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.[0008]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of a system showing the relationship between a service organization, a scheduling system, mobile service representatives, and customers according to one aspect of the present invention. [0009]
  • FIG. 2 is a block diagram of a scheduling system according to one aspect of the present invention. [0010]
  • FIG. 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. [0011]
  • FIG. 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. [0012]
  • FIG. 5 is a process diagram of a method for computing an amount of free time required to accommodate an order in a shift. [0013]
  • FIGS. [0014] 6A-6B are a process diagram of a method for examining a primary block according to one aspect of the present invention.
  • FIG. 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. [0015]
  • FIGS. [0016] 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 a part hereof, and in which are shown, by way of illustration, specific exemplary embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical, electrical, and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims. The present application incorporates by reference the following reference: Guy Druce, [0017] Level-1 Algorithm, v. 1.6 (Dec. 4, 2000).
  • FIG. 1 is a block diagram of a [0018] 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 [0019] 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 [0020] 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 [0021] 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 objectives. 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.
  • FIG. 2 is a block diagram of a [0022] scheduling system 200 according to one aspect of the present invention. The scheduling system 200 is similar to the scheduling system 104 of FIG. 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 [0023] 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 [0024] 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 accommodate additional orders. In one embodiment, the optimizer 208 defragments the available spaces in a shift to fit additional orders in the shift.
  • FIG. 3 is a process diagram of a [0025] 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 [0026] 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 [0027] 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 [0028] 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 [0029] 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 [0030] 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 [0031] 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.
  • FIG. 4 is a process diagram of a [0032] 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 FIG. 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 FIG. 5.
  • FIG. 5 is a process diagram of a [0033] 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 [0034] 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 [0035] act 504.
  • The [0036] 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 FIG. 4, act [0037] 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 [0038] 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 FIGS. 6A-6B.
  • FIGS. [0039] 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 [0040] 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 FIG. 4. In order to focus in greater detail on how the extra time in the shift is found, the discussion further proceeds to FIG. 7.
  • FIG. 7 is a process diagram of a [0041] 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 [0042] 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 −t. EOT is the amount of free time required in a shift to fit the order, which is calculated by act 404 of FIG. 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 [0043] 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 [0044] act 708 computes an amount of time in which the portion of the shift can be relocated. This amount is represented as tmin. 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 FIGS. [0045] 8A-C.
  • FIGS. [0046] 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. FIG. 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 [0047] 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 [0048] graph 800 also illustrates a maximum relocation for each of the 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 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 [0049] 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 may be relocated is given by tmin. tmin is given by the maximum relocation figure 822 as shown in the graph 800.
  • FIG. 8B is a graphical diagram illustrating a technique for relocating a portion of the shift to a later point in time. The [0050] graph 800 includes a shift 802 1. The shift 802 1 is similar to the shift 802 discussed in FIG. 8A but is different in that the shift 802 1 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 tmin. Thus, in the shift 802 2, the virtual free time block 804 has been enlarged by tmin, and correspondingly, the virtual free time block 824 has been compressed by tmin.
  • FIG. 8C is a graphical diagram illustrating a technique for relocating a portion of the shift to an earlier point in time. The [0051] graph 800 of FIG. 8C is similar to the graph 800 of FIG. 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 tmin. Thus, in the shift 802 2, 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 [0052] 708 of FIG. 7, tmin 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 tmin to Dt.
  • If t[0053] 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 FIG. 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.
  • Returning to the [0054] act 606 of FIG. 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 FIG. 4.
  • An [0055] 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 [0056] 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 FIG. 4.
  • An [0057] 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 FIG. 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 FIG. 4. The next virtual free time block is then considered as discussed in act 308 of FIG. 3.
  • If the [0058] 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 [0059] 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 FIG. 4. The method 600 then terminates and returns to the end of the act 406 of FIG. 4.
  • If the [0060] 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 FIG. 3.
  • Returning to the end of the [0061] act 406 of FIG. 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 FIGS. 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 [0062] 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. [0063]
  • 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. [0064]

Claims (39)

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 job 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 travel 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 a job 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 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.
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 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.
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. The method of
claim 33
, 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.
US09/824,850 2000-03-31 2001-04-02 Finding technique for a scheduling system Abandoned US20010047287A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/824,850 US20010047287A1 (en) 2000-03-31 2001-04-02 Finding technique for a scheduling system

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US19383400P 2000-03-31 2000-03-31
US19391700P 2000-03-31 2000-03-31
US19370500P 2000-03-31 2000-03-31
US19383300P 2000-03-31 2000-03-31
US19383200P 2000-03-31 2000-03-31
US09/824,850 US20010047287A1 (en) 2000-03-31 2001-04-02 Finding technique for a scheduling system

Publications (1)

Publication Number Publication Date
US20010047287A1 true US20010047287A1 (en) 2001-11-29

Family

ID=27539308

Family Applications (8)

Application Number Title Priority Date Filing Date
US09/824,849 Active 2024-12-31 US7346531B2 (en) 2000-03-31 2001-04-02 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
US09/824,853 Expired - Lifetime US7487105B2 (en) 2000-03-31 2001-04-02 Assigning customer orders to schedule openings utilizing overlapping time windows
US09/825,184 Expired - Lifetime US7155519B2 (en) 2000-03-31 2001-04-02 Systems and methods for enhancing connectivity between a mobile workforce and a remote scheduling application
US09/824,850 Abandoned US20010047287A1 (en) 2000-03-31 2001-04-02 Finding technique for a scheduling system
US09/825,296 Expired - Lifetime US7587327B2 (en) 2000-03-31 2001-04-02 Order scheduling system and method for scheduling appointments over multiple days
US09/824,852 Expired - Lifetime US7603285B2 (en) 2000-03-31 2001-04-02 Enterprise scheduling system for scheduling mobile service representatives
US09/825,153 Abandoned US20020016645A1 (en) 2000-03-31 2001-04-02 Configurable scheduling system
US12/050,869 Active 2024-06-19 US8768738B2 (en) 2000-03-31 2008-03-18 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians

Family Applications Before (3)

Application Number Title Priority Date Filing Date
US09/824,849 Active 2024-12-31 US7346531B2 (en) 2000-03-31 2001-04-02 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
US09/824,853 Expired - Lifetime US7487105B2 (en) 2000-03-31 2001-04-02 Assigning customer orders to schedule openings utilizing overlapping time windows
US09/825,184 Expired - Lifetime US7155519B2 (en) 2000-03-31 2001-04-02 Systems and methods for enhancing connectivity between a mobile workforce and a remote scheduling application

Family Applications After (4)

Application Number Title Priority Date Filing Date
US09/825,296 Expired - Lifetime US7587327B2 (en) 2000-03-31 2001-04-02 Order scheduling system and method for scheduling appointments over multiple days
US09/824,852 Expired - Lifetime US7603285B2 (en) 2000-03-31 2001-04-02 Enterprise scheduling system for scheduling mobile service representatives
US09/825,153 Abandoned US20020016645A1 (en) 2000-03-31 2001-04-02 Configurable scheduling system
US12/050,869 Active 2024-06-19 US8768738B2 (en) 2000-03-31 2008-03-18 Methods and systems for scheduling complex work orders for a workforce of mobile service technicians

Country Status (3)

Country Link
US (8) US7346531B2 (en)
AU (7) AU2001246270A1 (en)
WO (7) WO2001075693A2 (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010047288A1 (en) * 2000-03-31 2001-11-29 Simon Jacobs Assigning technique for a scheduling system
US20020077876A1 (en) * 2000-12-18 2002-06-20 O'meara Cian E. Allocation of location-based orders to mobile agents
US20040205394A1 (en) * 2003-03-17 2004-10-14 Plutowski Mark Earl Method and apparatus to implement an errands engine
US20040215699A1 (en) * 2003-02-26 2004-10-28 Khemdut Purang Method and apparatus for an itinerary planner
US7283971B1 (en) * 2000-09-06 2007-10-16 Masterlink Corporation System and method for managing mobile workers
US20090150209A1 (en) * 2000-09-06 2009-06-11 Masterlink Corporation System and method for managing mobile workers
US20120003619A1 (en) * 2010-06-23 2012-01-05 Canadian National Railway Company Method and system for assigning jobs to prevent employee qualifications from lapsing
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
US20140108078A1 (en) * 2011-12-12 2014-04-17 Moose Loop Holdings, LLC Task scheduling and rescheduling
US8788375B2 (en) 2010-06-23 2014-07-22 Canadian National Railway Company Method and system for pre-populating job assignment submissions
US9841990B2 (en) 2015-08-28 2017-12-12 Servicepower, Inc. Encoding of a schedule into a binary structure

Families Citing this family (320)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4839300A (en) 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
US7139637B1 (en) 1999-05-11 2006-11-21 William Henry Waddington Order allocation to minimize container stops in a distribution center
US6975937B1 (en) 1999-05-11 2005-12-13 Christopher Kantarjiev Technique for processing customer service transactions at customer site using mobile computing device
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
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
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
US7461008B2 (en) * 2001-09-04 2008-12-02 Accenture Global Services Gmbh Planning and scheduling modification of a configuration
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
US7457763B1 (en) 2001-09-04 2008-11-25 Accenture Global Services Gmbh Predictive maintenance system
US6980959B1 (en) * 2000-10-17 2005-12-27 Accenture Llp Configuring mechanical equipment
US8655698B2 (en) * 2000-10-17 2014-02-18 Accenture Global Services Limited Performance-based logistics for aerospace and defense programs
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
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
CN100579320C (en) * 2002-02-08 2010-01-06 皇家飞利浦电子股份有限公司 Radio communication system
GB0202991D0 (en) * 2002-02-08 2002-03-27 Koninkl Philips Electronics Nv 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
US7221937B2 (en) * 2002-05-06 2007-05-22 Research In Motion Limited Event reminder method
EP1603301B1 (en) * 2002-05-06 2007-03-07 Research in Motion 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
US8688462B2 (en) * 2003-01-31 2014-04-01 Media Queue, Llc Media auto exchange system and method
US8712867B2 (en) 2003-01-31 2014-04-29 Media Queue, Llc System for providing access to playable media
US8700538B2 (en) 2003-01-31 2014-04-15 Media Queue, Llc Media exchange system and method
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
US7856406B2 (en) 2003-04-28 2010-12-21 Onforce, Inc. System and method for managing accounts payable and accounts receivable
US20040220848A1 (en) * 2003-04-28 2004-11-04 Leventhal Jeffrey P. System and method for managing requests for services
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
WO2005022353A2 (en) * 2003-08-29 2005-03-10 Siemens Medical Solutions Health Services Corporation A 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
US20050119930A1 (en) * 2003-10-21 2005-06-02 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
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
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
US20070203723A1 (en) * 2006-02-28 2007-08-30 Segura Michael J Methods for designing, pricing, and scheduling well services 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
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
WO2006046415A1 (en) * 2004-10-27 2006-05-04 Re-Products Co., Ltd. Cleaning work estimating system, cleaning work estimating method, and cleaning work estimating 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
CN101128784A (en) * 2005-02-25 2008-02-20 国际商业机器公司 Work management system, work management system building assisting 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
US20070198330A1 (en) * 2006-02-22 2007-08-23 Shmuel Korenblit Integrated contact center systems for facilitating contact center coaching
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
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
US7610151B2 (en) 2006-06-27 2009-10-27 Microsoft Corporation Collaborative route planning for generating personalized and context-sensitive routing recommendations
US8793066B2 (en) 2006-06-27 2014-07-29 Microsoft Corporation Route monetization
US7706964B2 (en) * 2006-06-30 2010-04-27 Microsoft Corporation Inferring road speeds for context-sensitive routing
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
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
US7739040B2 (en) 2006-06-30 2010-06-15 Microsoft Corporation Computation of travel routes, durations, and plans over multiple contexts
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
ATE539540T1 (en) * 2006-10-19 2012-01-15 Motorola Mobility Inc METHOD AND APPARATUS FOR RECOVERY FROM NETWORK INTERRUPTIONS IN A PEER-TO-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
WO2008095072A2 (en) * 2007-01-31 2008-08-07 Quintiles Transnational Corp. Methods and systems for site startup
US8634814B2 (en) * 2007-02-23 2014-01-21 Locator IP, L.P. Interactive advisory system for prioritizing content
JP5440780B2 (en) * 2007-02-26 2014-03-12 日本電気株式会社 Message notification method, business management apparatus, and computer program
US20080275754A1 (en) * 2007-04-03 2008-11-06 Zurisoft, Llc System for automated management of a 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
US8522258B1 (en) 2007-06-15 2013-08-27 At&T Mobility Ii Llc Event handling system
US20080313037A1 (en) * 2007-06-15 2008-12-18 Root Steven A Interactive advisory system
US20090024435A1 (en) * 2007-07-17 2009-01-22 Robert Ingman Methods, Systems, and Computer-Readable Media for Providing Notification of a Last Job Dispatch
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
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
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
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
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
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
US20090024437A1 (en) * 2007-07-17 2009-01-22 Robert Ingman Methods, Systems, and Computer-Readable Media for Providing A Ratio of Tasks Per Technician
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
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
US20090210302A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Route reward augmentation
US20090210242A1 (en) * 2008-02-19 2009-08-20 Microsoft Corporation Load balance payment
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
US8205060B2 (en) 2008-12-16 2012-06-19 Sandisk Il Ltd. Discardable files
US9020993B2 (en) 2008-12-16 2015-04-28 Sandisk Il Ltd. Download management of discardable files
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
US9104686B2 (en) 2008-12-16 2015-08-11 Sandisk Technologies Inc. System and method for host management of discardable objects
CA2897462A1 (en) 2009-02-11 2010-05-04 Certusview Technologies, Llc Management system, and associated methods and apparatus, for providing automatic assessment of a locate operation
US8612276B1 (en) 2009-02-11 2013-12-17 Certusview Technologies, Llc Methods, apparatus, and systems for dispatching service technicians
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
US8321253B2 (en) * 2009-06-09 2012-11-27 Accenture Global Services Limited Technician control system
US8364513B2 (en) * 2009-06-09 2013-01-29 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
WO2011150351A2 (en) * 2010-05-28 2011-12-01 Gvm, Inc. System and method for collecting and processing agricultural field data
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
US8463802B2 (en) 2010-08-19 2013-06-11 Sandisk Il Ltd. Card-based management of discardable files
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
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
US10481945B2 (en) 2011-04-01 2019-11-19 Facebook, Inc. System and method for communication management of a multi-tasking mobile device
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
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
US9021095B2 (en) 2011-05-27 2015-04-28 Oracle International Corporation Method and system for implementing an on-demand scheduler in a mobile device
US8700656B2 (en) 2011-05-27 2014-04-15 Oracle International Corporation Method and system for implementing an on-demand scheduler
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
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
US9740999B2 (en) 2011-10-11 2017-08-22 Mobiwork, Llc Real time customer access to location, arrival and on-site time data
US9123005B2 (en) 2011-10-11 2015-09-01 Mobiwork, Llc Method and system to define implement and enforce workflow of a mobile workforce
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
US20130090968A1 (en) * 2011-10-11 2013-04-11 Stephen Borza Methods of employee scheduling and management
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
US8510144B1 (en) * 2011-10-21 2013-08-13 Verint Americas Inc. Method and apparatus for cell-based workforce scheduling
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
JP6099277B2 (en) * 2012-02-27 2017-03-22 国立大学法人名古屋大学 Anti-tumor aqueous solution, anti-cancer agent and method for producing them
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
US11113642B2 (en) * 2012-09-27 2021-09-07 Commscope Connectivity Uk Limited 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
US9727832B2 (en) 2013-03-15 2017-08-08 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
CA2911977A1 (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
EP3032475A4 (en) * 2013-08-09 2016-12-21 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
EP3087792A4 (en) * 2013-12-25 2017-08-30 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
CA2960047A1 (en) * 2014-10-08 2016-04-14 Tsx Inc. Selective delayed and undelayed database updating
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
WO2016191311A1 (en) * 2015-05-22 2016-12-01 Percolata Corporation Method for determining staffing needs based in part on sensor inputs
CA2964890C (en) 2015-06-19 2023-09-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
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
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
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
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
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
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
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
US10362139B2 (en) 2016-10-06 2019-07-23 Mitsubishi Electric Research Laboratories, Inc. Systems and methods for resource allocation for management systems
US20180150924A1 (en) * 2016-11-30 2018-05-31 Corelogic Solutions, Llc Computer-based photo re-use across property reports
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
US10885490B2 (en) 2017-08-31 2021-01-05 Cross Road Centers, Llc Providing truck drivers directions to a loading dock or an off-site location based on dock availability
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
EP3759663A4 (en) 2018-03-01 2022-05-04 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
US11593728B2 (en) 2018-12-27 2023-02-28 Clicksoftware, Inc. Systems and methods for scheduling tasks
WO2021033307A1 (en) * 2019-08-22 2021-02-25 株式会社大正スカイビル 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
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

Citations (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10610A (en) * 1854-03-07 Method of operating hydraulic bams
US10615A (en) * 1854-03-07 Improvement in sewing-machines
US16645A (en) * 1857-02-17 Method of generating air-blasts
US23157A (en) * 1859-03-08 Improvement in sewing-machines
US37229A (en) * 1862-12-23 Improvement in adjustable links
US47288A (en) * 1865-04-18 Improvement in hoop-locks for cotton
US65700A (en) * 1867-06-11 William sloan
US4937743A (en) * 1987-09-10 1990-06-26 Intellimed Corporation Method and system for scheduling, monitoring and dynamically managing resources
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
US5168451A (en) * 1987-10-21 1992-12-01 Bolger John G User responsive transit system
US5289368A (en) * 1990-10-12 1994-02-22 Iex Corporation Force management system user interface
US5325292A (en) * 1990-10-12 1994-06-28 Crockett Gary B Tour/schedule generation for a force management system
US5355511A (en) * 1990-08-08 1994-10-11 Aisin Seiki Kabushiki Kaisha Position monitoring for communicable and uncommunicable mobile stations
US5428546A (en) * 1992-10-16 1995-06-27 Mobile Information Systems Method and apparatus for tracking vehicle location
US5467268A (en) * 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US5524077A (en) * 1987-07-24 1996-06-04 Faaland; Bruce H. Scheduling method and system
US5532702A (en) * 1992-12-04 1996-07-02 Mintz; Yosef Method and system for obtaining information from a plurality of remote stations
US5590269A (en) * 1994-04-22 1996-12-31 Minnesota Mining & Manufacturing Company Resource assignment system providing mixed-initiative user interface updates
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
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
US5636122A (en) * 1992-10-16 1997-06-03 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location and computer aided dispatch
US5655118A (en) * 1994-03-21 1997-08-05 Bell Communications Research, Inc. Methods and apparatus for managing information on activities of an enterprise
US5758313A (en) * 1992-10-16 1998-05-26 Mobile Information Systems, Inc. Method and apparatus for tracking vehicle location
US5764953A (en) * 1994-03-31 1998-06-09 Minnesota Mining And Manufacturing Company Computer implemented system for integrating active and simulated decisionmaking processes
US5774867A (en) * 1993-03-25 1998-06-30 International Business Machines Corporation Meeting conflict resolution for electronic calendars
US5774661A (en) * 1995-04-18 1998-06-30 Network Imaging Corporation Rule engine interface for a visual workflow builder
US5826239A (en) * 1996-12-17 1998-10-20 Hewlett-Packard Company Distributed workflow resource management system and method
US5848395A (en) * 1996-03-23 1998-12-08 Edgar; James William Hardie Appointment booking and scheduling system
US5860067A (en) * 1993-06-01 1999-01-12 Mitsubishi Denki Kabushiki Kaisha User interface scheduling system with time segment creation and selection
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
US5893906A (en) * 1996-08-13 1999-04-13 Electronic Data Systems Corporation Managing work in a computing application
US5904727A (en) * 1995-05-17 1999-05-18 Mobile Information Systems, Inc. Graphical fleet management methods
US5913201A (en) * 1991-04-30 1999-06-15 Gte Laboratories Incoporated Method and apparatus for assigning a plurality of work projects
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
US5922040A (en) * 1995-05-17 1999-07-13 Mobile Information System, Inc. Method and apparatus for fleet management
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
US5970466A (en) * 1997-10-06 1999-10-19 Impromed, Inc. Graphical computer system and method for appointment scheduling
US6016477A (en) * 1997-12-18 2000-01-18 International Business Machines Corporation Method and apparatus for identifying applicable business rules
US6047260A (en) * 1997-06-05 2000-04-04 Attention Control Systems, Inc. Intelligent planning and calendaring system with cueing feature and floating tasks
US6070144A (en) * 1996-01-09 2000-05-30 The State Of Oregon System and process for job scheduling using limited discrepancy search
US6088626A (en) * 1994-05-27 2000-07-11 Lilly Software Associates, Inc. Method and apparatus for scheduling work orders in a manufacturing process
US6092048A (en) * 1996-11-08 2000-07-18 Hitachi, Ltd. Task execution support system
US6115640A (en) * 1997-01-17 2000-09-05 Nec Corporation Workflow system for rearrangement of a workflow according to the progress of a work and its workflow management method
US6144971A (en) * 1992-08-11 2000-11-07 Rockwell International Corp. System for comparing an agent activity with a work schedule
US6219412B1 (en) * 1999-05-05 2001-04-17 Spiderphone.Com, Inc. Choice of guaranteed vs. bumpable conference call reservations
US6278978B1 (en) * 1998-04-07 2001-08-21 Blue Pumpkin Software, Inc. Agent scheduling system and method having improved post-processing step
US20010029499A1 (en) * 1999-12-30 2001-10-11 Tuatini Jeffrey Taihana Rules processing system
US20010049619A1 (en) * 1999-06-07 2001-12-06 G. Edward Powell Method and system for allocating specific appointment time windows in a service industry
US20020007299A1 (en) * 2000-07-14 2002-01-17 Florence William T. Method and system of delivering items using overlapping delivery windows
US20020035493A1 (en) * 2000-01-04 2002-03-21 Bahram Mozayeny Method and system for coordinating appointments
US20020046073A1 (en) * 1998-05-29 2002-04-18 Runar Indseth Configurable weighting of representational controls to obtain an optimal routing solution
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
US6430562B1 (en) * 1999-03-01 2002-08-06 Electronic Data Systems Corporation Integrated resource management system and method
US6473748B1 (en) * 1998-08-31 2002-10-29 Worldcom, Inc. System for implementing rules
US6484036B1 (en) * 1999-11-19 2002-11-19 International Business Machines Corporation Method and apparatus for scheduling mobile agents utilizing rapid two-way communication
US20020199182A1 (en) * 2001-02-15 2002-12-26 Susan Whitehead Method and apparatus providing convergent solution to end-to end, adaptive business application management
US6532465B2 (en) * 1998-03-12 2003-03-11 Bruce Hartley Operational system for operating on client defined rules
US6535883B1 (en) * 1999-08-04 2003-03-18 Mdsi Software Srl System and method for creating validation rules used to confirm input data
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
US6546364B1 (en) * 1998-12-18 2003-04-08 Impresse Corporation Method and apparatus for creating adaptive workflows
US6578005B1 (en) * 1996-11-22 2003-06-10 British Telecommunications Public Limited Company Method and apparatus for resource allocation when schedule changes are incorporated in real time
US6633900B1 (en) * 1999-01-08 2003-10-14 Abb Inc. Mobile crew management system for distributing work order assignments to mobile field crew units
US6697784B2 (en) * 1998-04-30 2004-02-24 Enterworks Workflow management system, method, and medium with personal subflows
US6701299B2 (en) * 2001-03-16 2004-03-02 United Parcel Service Of America, Inc. Real-time delivery feasibility analysis systems and methods
US6721288B1 (en) * 1998-09-16 2004-04-13 Openwave Systems Inc. Wireless mobile devices having improved operation during network unavailability
US6745381B1 (en) * 1997-12-12 2004-06-01 International Business Machines Coroporation Method and apparatus for annotating static object models with business rules
US6754321B1 (en) * 2000-02-22 2004-06-22 International Business Machines Corporation Naming convention for different types of device, and apparatus and methods using the naming convention
US6823315B1 (en) * 1999-11-03 2004-11-23 Kronos Technology Systems Limited Partnership Dynamic workforce scheduler
US6850895B2 (en) * 1998-11-30 2005-02-01 Siebel Systems, Inc. Assignment manager
US20050027580A1 (en) * 1999-12-01 2005-02-03 Richard Crici Internet-based appointment scheduling system

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7299A (en) * 1850-04-23 Dentist s chair
US46073A (en) * 1865-01-31 Improvement in pumps
US47287A (en) * 1865-04-18 Improvement in skates
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
US5303145A (en) * 1990-12-26 1994-04-12 International Business Machines Corporation Method and apparatus for meeting confirmation in a data processing system
WO1993012488A1 (en) * 1991-12-13 1993-06-24 White Leonard R Measurement analysis software system and method
EP0555596B1 (en) * 1992-01-31 1997-04-09 Alcatel Cit Method for determining the propagation time between a remote terminal station and a central terminal station, in a bidirectional point-to-multipoint transmission system
US5767848A (en) * 1994-12-13 1998-06-16 Hitachi, Ltd. Development support system
DE19539662C2 (en) 1995-09-27 1997-10-02 Stefan J Halblaender Method for situation-dependent disposition over or activation of resources
JP4334623B2 (en) * 1996-06-12 2009-09-30 出光興産株式会社 Lubricating oil composition for automatic transmission
JP3184113B2 (en) * 1997-03-24 2001-07-09 東燃ゼネラル石油株式会社 Lubricating oil composition for automatic transmission
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
US6115690A (en) * 1997-12-22 2000-09-05 Wong; Charles Integrated business-to-business Web commerce and business automation system
US7505827B1 (en) 1998-11-06 2009-03-17 Honeywell International Inc. Automated finite capacity scheduler
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
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
AU4839300A (en) 1999-05-11 2000-11-21 Webvan Group, Inc. Electronic commerce enabled delivery system and method
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
JP2001282974A (en) * 2000-03-29 2001-10-12 Ricoh Co Ltd System and device for managing work and recording medium
AU2001246270A1 (en) * 2000-03-31 2001-10-15 Mdsi Mobile Data Solutions, Inc. Finding technique for a scheduling system
US6721779B1 (en) * 2000-07-07 2004-04-13 Softwired Ag Messaging proxy system
US6757530B2 (en) * 2000-12-29 2004-06-29 International Business Machines Corporation System and method for providing wireless device access to scheduling applications

Patent Citations (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US65700A (en) * 1867-06-11 William sloan
US16645A (en) * 1857-02-17 Method of generating air-blasts
US23157A (en) * 1859-03-08 Improvement in sewing-machines
US37229A (en) * 1862-12-23 Improvement in adjustable links
US47288A (en) * 1865-04-18 Improvement in hoop-locks for cotton
US10615A (en) * 1854-03-07 Improvement in sewing-machines
US10610A (en) * 1854-03-07 Method of operating hydraulic bams
US5524077A (en) * 1987-07-24 1996-06-04 Faaland; Bruce H. 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
US5289531A (en) * 1989-08-24 1994-02-22 Levine Alfred B Remote scheduling of appointments with interactivety using a caller's unit
US5113380A (en) * 1989-08-24 1992-05-12 Levine Alfred B Multiple option electronic scheduler and rescheduler
US5355511A (en) * 1990-08-08 1994-10-11 Aisin Seiki Kabushiki Kaisha Position monitoring for communicable and uncommunicable mobile stations
US5289368A (en) * 1990-10-12 1994-02-22 Iex Corporation Force management system user interface
US5325292A (en) * 1990-10-12 1994-06-28 Crockett Gary B Tour/schedule generation for a force management system
US5913201A (en) * 1991-04-30 1999-06-15 Gte Laboratories Incoporated Method and apparatus for assigning a plurality of work projects
US6144971A (en) * 1992-08-11 2000-11-07 Rockwell International Corp. System for comparing an agent activity with a work schedule
US5428546A (en) * 1992-10-16 1995-06-27 Mobile Information Systems Method and apparatus for tracking vehicle location
US5758313A (en) * 1992-10-16 1998-05-26 Mobile Information Systems, Inc. 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
US5532702A (en) * 1992-12-04 1996-07-02 Mintz; Yosef Method and system for obtaining information from a plurality of remote stations
US5774867A (en) * 1993-03-25 1998-06-30 International Business Machines Corporation Meeting conflict resolution for electronic calendars
US5860067A (en) * 1993-06-01 1999-01-12 Mitsubishi Denki Kabushiki Kaisha User interface scheduling system with time segment creation and selection
US5467268A (en) * 1994-02-25 1995-11-14 Minnesota Mining And Manufacturing Company Method for resource assignment and scheduling
US5737728A (en) * 1994-02-25 1998-04-07 Minnesota Mining And Manufacturing Company System 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
US5764953A (en) * 1994-03-31 1998-06-09 Minnesota Mining And Manufacturing Company Computer implemented system for integrating active and simulated decisionmaking processes
US5590269A (en) * 1994-04-22 1996-12-31 Minnesota Mining & Manufacturing Company Resource assignment system providing mixed-initiative user interface updates
US6088626A (en) * 1994-05-27 2000-07-11 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
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
US5848395A (en) * 1996-03-23 1998-12-08 Edgar; James William Hardie Appointment booking and scheduling system
US5893906A (en) * 1996-08-13 1999-04-13 Electronic Data Systems Corporation Managing work in a computing application
US6092048A (en) * 1996-11-08 2000-07-18 Hitachi, Ltd. Task execution support system
US6578005B1 (en) * 1996-11-22 2003-06-10 British Telecommunications Public Limited Company Method and apparatus for resource allocation when schedule changes are incorporated in real time
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
US6115640A (en) * 1997-01-17 2000-09-05 Nec Corporation Workflow system for rearrangement of a workflow according to the progress of a work and its workflow management method
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
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
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
US6532465B2 (en) * 1998-03-12 2003-03-11 Bruce Hartley 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
US6697784B2 (en) * 1998-04-30 2004-02-24 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
US6850895B2 (en) * 1998-11-30 2005-02-01 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
US6219412B1 (en) * 1999-05-05 2001-04-17 Spiderphone.Com, Inc. Choice of guaranteed vs. bumpable conference call reservations
US7127412B2 (en) * 1999-06-07 2006-10-24 Pointserve, Inc. Method and system for allocating specific appointment time windows in a service industry
US20010049619A1 (en) * 1999-06-07 2001-12-06 G. Edward Powell 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
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
US6754321B1 (en) * 2000-02-22 2004-06-22 International Business Machines Corporation Naming convention for different types of device, and apparatus and methods using the naming convention
US20020007299A1 (en) * 2000-07-14 2002-01-17 Florence William T. Method and system of delivering items using overlapping delivery windows
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

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7587327B2 (en) 2000-03-31 2009-09-08 Ventyx Software Srl. Order scheduling system and method for scheduling appointments over multiple days
US7346531B2 (en) 2000-03-31 2008-03-18 Mdsi Software Srl Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
US20010047288A1 (en) * 2000-03-31 2001-11-29 Simon Jacobs Assigning technique for a scheduling system
US20020023157A1 (en) * 2000-03-31 2002-02-21 Edward Lo Systems and methods for enhancing connectivity
US7603285B2 (en) 2000-03-31 2009-10-13 Ventyx Software Srl Enterprise scheduling system for scheduling mobile service representatives
US20020010610A1 (en) * 2000-03-31 2002-01-24 Simon Jacobs Order scheduling system and method for scheduling appointments over multiple days
US7487105B2 (en) 2000-03-31 2009-02-03 Mdsi Software Srl Assigning customer orders to schedule openings utilizing overlapping time windows
US7155519B2 (en) 2000-03-31 2006-12-26 Mdsi Software Srl Systems and methods for enhancing connectivity between a mobile workforce and a remote scheduling application
US20020010615A1 (en) * 2000-03-31 2002-01-24 Simon Jacobs Methods and systems for scheduling complex work orders for a workforce of mobile service technicians
US8190463B2 (en) 2000-09-06 2012-05-29 Masterlink Corporation System and method for managing mobile workers
US20070299714A1 (en) * 2000-09-06 2007-12-27 Masterlink Corporation System and method for managing mobile workers
US7487106B2 (en) 2000-09-06 2009-02-03 Masterlink Corporation System and method for managing mobile workers
US20090150209A1 (en) * 2000-09-06 2009-06-11 Masterlink Corporation System and method for managing mobile workers
US7283971B1 (en) * 2000-09-06 2007-10-16 Masterlink Corporation System and method for managing mobile workers
US8706542B2 (en) * 2000-12-18 2014-04-22 Apple Inc. Allocation of location-based orders to mobile agents
US20020077876A1 (en) * 2000-12-18 2002-06-20 O'meara Cian E. Allocation of location-based orders to mobile agents
US20110167028A1 (en) * 2003-02-26 2011-07-07 Khemdut Purang Method and apparatus for an itinerary planner
US20110161271A1 (en) * 2003-02-26 2011-06-30 Khemdut Purang Method and apparatus for an itinerary planner
US20040215699A1 (en) * 2003-02-26 2004-10-28 Khemdut Purang Method and apparatus for an itinerary planner
US8050949B2 (en) 2003-02-26 2011-11-01 Sony Corporation Method and apparatus for an itinerary planner
US8050948B2 (en) 2003-02-26 2011-11-01 Sony Corporation Method and apparatus for an itinerary planner
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
US20120003619A1 (en) * 2010-06-23 2012-01-05 Canadian National Railway Company Method and system for assigning jobs to prevent employee qualifications from lapsing
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
US20140122142A1 (en) * 2010-06-23 2014-05-01 Canadian National Railway Company Method and system for communicating job assignment information to a user
US8788375B2 (en) 2010-06-23 2014-07-22 Canadian National Railway Company Method and system for pre-populating job assignment submissions
US20140108078A1 (en) * 2011-12-12 2014-04-17 Moose Loop Holdings, LLC Task scheduling and rescheduling
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
US20020010615A1 (en) 2002-01-24
US7603285B2 (en) 2009-10-13
US20020016645A1 (en) 2002-02-07
US7487105B2 (en) 2009-02-03
AU2001246270A1 (en) 2001-10-15
AU2001248163A1 (en) 2001-10-23
WO2001075663A2 (en) 2001-10-11
WO2001075637A8 (en) 2002-01-10
WO2001075692A2 (en) 2001-10-11
AU2001246273A1 (en) 2001-10-15
AU2001246271A1 (en) 2001-10-15
WO2001075694A2 (en) 2001-10-11
WO2001075691A8 (en) 2002-01-31
US20010037229A1 (en) 2001-11-01
WO2001075693A8 (en) 2002-01-10
AU2001246272A1 (en) 2001-10-15
WO2001075691A2 (en) 2001-10-11
US7346531B2 (en) 2008-03-18
US7587327B2 (en) 2009-09-08
US20010047288A1 (en) 2001-11-29
WO2001077912A2 (en) 2001-10-18
US20020010610A1 (en) 2002-01-24
WO2001075637A2 (en) 2001-10-11
WO2001075694A8 (en) 2002-01-10
WO2001075663A3 (en) 2002-10-03
US8768738B2 (en) 2014-07-01
AU2001246269A1 (en) 2001-10-23
AU2001248164A1 (en) 2001-10-15
US7155519B2 (en) 2006-12-26
US20020023157A1 (en) 2002-02-21
US20080288539A1 (en) 2008-11-20
WO2001075692A8 (en) 2002-01-10
WO2001075693A2 (en) 2001-10-11

Similar Documents

Publication Publication Date Title
US20010047287A1 (en) Finding technique for a scheduling system
Psaraftis Dynamic vehicle routing problems
US8121885B2 (en) Plan solver
US5848395A (en) Appointment booking and scheduling system
Kress et al. A worker constrained flexible job shop scheduling problem with sequence-dependent setup times
EP1913451B1 (en) Server-side project manager
Sen et al. The role of commitment in cooperative negotiation
US20090150209A1 (en) System and method for managing mobile workers
US20080243579A1 (en) Methods and Apparatus for Coordinating and Selecting Protocols for Resources Acquisition from Multiple Resource Managers
EP1508110A2 (en) System and method for determining a promise date for a demand in a business environment
AU682585B2 (en) Resource allocation
JP5871456B2 (en) Method for supply chain management
US20050144234A1 (en) Decentralized processing system, job decentralized processing method, and program
Henderson et al. Rostering by iterating integer programming and simulation
Xu et al. Resource allocation vs. business process improvement: How they impact on each other
Collins et al. Automated assignment and scheduling of service personnel
US7472373B2 (en) Method and system to gauge and control project churn
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
US20030018683A1 (en) Method, system and program for deleting work flow item
Hernandez et al. Reliable DAG scheduling on grids with rewinding and migration
Pichler et al. Towards look-ahead strategies for work item selection
JP3276834B2 (en) Schedule management method
Tzafestas et al. A new adaptively weighted combinatorial dispatching rule for complex scheduling problems

Legal Events

Date Code Title Description
AS Assignment

Owner name: MDSI MOBILE DATA SOLUTINS INC., CANADA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:JACOBS, SIMON;DRUCE, GUY;REEL/FRAME:011669/0461;SIGNING DATES FROM 20010330 TO 20010402

AS Assignment

Owner name: MDSI SOFTWARE SRL, BARBADOS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MDSI MOBILE DATA SOLUTIONS INC.;REEL/FRAME:012690/0598

Effective date: 20020218

AS Assignment

Owner name: VENTYX SOFTWARE SRL, BARBADOS

Free format text: CHANGE OF NAME;ASSIGNOR:MDSI SOFTWARE SRL;REEL/FRAME:019390/0782

Effective date: 20070402

AS Assignment

Owner name: WELLS FARGO FOOTHILL, INC., A CALIFORNIA CORPORATI

Free format text: PATENT SECURITY AGREEMENT;ASSIGNORS:GLOBAL ENERGY DECISIONS, INC., A CALIFORNIA CORPORATION;VENTYX SOFTWARE INC., A BRITISH COLUMBIA CORPORATION;VENTYX SOFTWARE SRL, A BARBADOS SOCIETY WITH RESTRICTED LIABILITY;REEL/FRAME:019407/0337

Effective date: 20070608

AS Assignment

Owner name: GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P., AS AG

Free format text: SECURITY AGREEMENT;ASSIGNORS:GLOBAL ENERGY DECISIONS, INC.;VENTYX SOFTWARE SRL;VENTYX SOFTWARE INC.;REEL/FRAME:019407/0646

Effective date: 20070608

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: VENTYX SOFTWARE SRL,BARBADOS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),;REEL/FRAME:024468/0617

Effective date: 20100601

Owner name: VENTYX SOFTWARE INC.,CANADA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),;REEL/FRAME:024468/0617

Effective date: 20100601

Owner name: VENTYX INC.,GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),;REEL/FRAME:024468/0617

Effective date: 20100601

Owner name: VENTYX ASIA INC.,GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),;REEL/FRAME:024468/0617

Effective date: 20100601

Owner name: VENTYX ENERGY SOFTWARE, INC. (F/K/A GLOBAL ENERGY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, INC. (FORMERLY KNOWN AS WELLS FARGO FOOTHILL, INC.),;REEL/FRAME:024468/0617

Effective date: 20100601

Owner name: VENTYX SOFTWARE SRL,BARBADOS

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601

Owner name: VENTYX SOFTWARE INC.,CANADA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601

Owner name: VENTYX INC.,GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601

Owner name: VENTYX ASIA INC.,GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601

Owner name: VENTYX ENERGY SOFTWARE, INC. (F/K/A GLOBAL ENERGY

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601

Owner name: VENTYX ENERGY, LLC,GEORGIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:GOLDMAN SACHS SPECIALTY LENDING GROUP, L.P.;REEL/FRAME:024468/0720

Effective date: 20100601