WO2018217992A1 - Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling - Google Patents

Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling Download PDF

Info

Publication number
WO2018217992A1
WO2018217992A1 PCT/US2018/034338 US2018034338W WO2018217992A1 WO 2018217992 A1 WO2018217992 A1 WO 2018217992A1 US 2018034338 W US2018034338 W US 2018034338W WO 2018217992 A1 WO2018217992 A1 WO 2018217992A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
resource
candidate
schedule
time
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.)
Ceased
Application number
PCT/US2018/034338
Other languages
English (en)
French (fr)
Inventor
Charles P. VAN'T WESTEINDE
Svetlana Mizina
Marina ZOUBTCHENKO
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.)
Oracle International Corp
Original Assignee
Oracle International Corp
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 Oracle International Corp filed Critical Oracle International Corp
Priority to JP2019565280A priority Critical patent/JP7319196B2/ja
Priority to CN201880034634.5A priority patent/CN110663051B/zh
Publication of WO2018217992A1 publication Critical patent/WO2018217992A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/063118Staff planning in a project environment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/0633Workflow analysis

Definitions

  • Computing devices are used to implement various services and products.
  • a computing device may provide a scheduling service, such as scheduling of tasks to be performed using vehicles.
  • Scheduled tasks may be stored within databases or other storage structures of a distributed network environment (e.g., a cloud service), or within databases or other storage structures of a local computer.
  • a user may interact with the computing device to perform operations upon the scheduled tasks. For example, the computing device may be used to add new tasks, to remove existing tasks, or to modify existing tasks.
  • Various tasks managed by the scheduling service may be scheduled to be performed using various vehicles, such that some tasks may be scheduled to be performed using a first vehicle, and other tasks may be scheduled to be performed using a second vehicle. There may be a dependency between a first task scheduled to be performed using the first vehicle and a second task scheduled to be performed using the second vehicle, which may complicate attempts to modify an existing schedule.
  • a computing system comprises: a processor connected to memory; and a scheduling module stored on a non- transitory computer readable medium and configured with instructions that when executed by the processor cause the processor to: in response to receiving a request to modify a scheduling data structure that includes a plurality of tasks, determine that the request is directed towards scheduling a first task to be performed using a first resource from a plurality of resources; and/or access the scheduling data structure from a database via a network communication, wherein the scheduling data structure includes data records for: (i) a first set of tasks, upon which the first resource depends, to be performed using one or more other resources, and (ii) a second set of tasks, upon which other resources depend, to be performed using the first resource; and/or analyze the data records to determine dependencies between the first set of tasks to be performed using the one or more other resources and the second set of tasks to be performed using the first resource; and/or calculate a candidate time for performing the first task using the first resource based upon the dependencies;
  • the instructions when executed by the processor cause the processor to iteratively: calculate a second candidate time for performing a second task using a second resource, from the plurality of resources, based upon one or more dependencies; and/or generate a second candidate schedule for the plurality of resources, including the second resource, using the second candidate time for the second task for the second resource; and/or evaluate the second candidate schedule to calculate a second candidate schedule performance score; and/or in response to determining that the second candidate schedule performance score is not greater than a second existing schedule performance score of a second existing schedule, calculate a third candidate time for performing the second task using the second resource, from the plurality of resources, based upon the one or more dependencies; and/or in response to determining that the second candidate schedule performance score is greater than the second existing schedule performance score of the second existing schedule, modify and regenerate the scheduling data structure, based upon the second candidate schedule, to assign the second task to be performed using the second resource at the second candidate time.
  • the instructions to evaluate the candidate schedule to calculate the candidate schedule performance score further include instructions that when executed by the processor cause the processor to: analyze the candidate schedule to determine a number of conflicts in dependencies between the first set of tasks and the second set of tasks in the candidate schedule; and generate the candidate schedule performance score based upon the number of conflicts in dependencies.
  • the conflicts in dependencies comprise at least one of: (i) a conflict corresponding to a second task to be performed using the first resource having a time before a third task to be performed using a second resource, wherein the dependencies comprise a dependency of the second task to be performed using the first resource on the third task to be performed using the second resource; or (ii) a conflict corresponding to a fourth task to be performed using the second resource having a time before a fifth task to be performed using the first resource, wherein the dependencies comprise a dependency of the fourth task to be performed using the second resource on the fifth task to be performed using the first resource.
  • the dependencies used to calculate the candidate time for performing the first task using the first resource comprise at least one of: (i) a dependency of the first task to be performed using the first resource on a second task to be performed using a second resource; or (ii) a dependency of a third task to be performed using the second resource on the first task to be performed using the first resource; and/or the instructions to calculate the candidate time for performing the first task using the first resource based upon the dependencies further include instructions that when executed by the processor cause the processor to at least one of: calculate the candidate time to be after a time of the second task based upon the dependency of the first task to be performed using the first resource on the second task to be performed using the second resource; or calculate the candidate time to be before a time of the third task based upon the dependency of the third task to be performed using the second resource on the first task to be performed using the first resource.
  • the dependencies used to calculate the candidate time for performing the first task using the first resource comprise at least one of: (i) a dependency of a second task for the first resource on a third task for a second resource; or (ii) a dependency of a fourth task for the second resource on a fifth task for the first resource; and/or wherein the instructions when executed by the processor cause the processor to at least one of: calculate a second candidate time for the second task for the first resource to be after a time of the third task based upon the dependency of the second task for the first resource on the third task for the second resource; or calculate a third candidate time for the fifth task for the first resource to be before a time of the fourth task based upon the dependency of the fourth task for the second resource on the fifth task for the first resource; and/or wherein the instructions to generate the candidate schedule for the plurality of resources further include instructions that when executed by the processor cause the processor to at least one of: use the second candidate time for the second task for the
  • the first resource is a first vehicle
  • the first set of tasks are to be performed using one or more other vehicles
  • the second set of tasks are to be performed by the first vehicle
  • the instructions to determine that the candidate schedule performance score is greater than the existing schedule performance score of the existing schedule further include instructions that when executed by the processor cause the processor to: determine that the candidate schedule resolves a conflict in the existing schedule caused by a dependency between the first vehicle and at least one of the one or more other vehicles.
  • a computer-implemented method performed by a computing device comprising a processor comprising one or more combinations of functions: receiving, by at least the processor, a request to modify a scheduling data structure that includes a plurality of tasks; and/or accessing, by at least the processor, the scheduling data structure from a database via a network communication, wherein the scheduling data structure includes data records for: (i) a first set of tasks, upon which a first resource depends, to be performed using one or more other resources, and/or (ii) a second set of tasks, upon which other resources depend, to be performed using the first resource; and/or analyzing, by at least the processor, the data records to determine dependencies between the first set of tasks to be performed using the one or more other resources and the second set of tasks to be performed using the first resource; and/or calculating, by at least the processor, a candidate time for performing a first task using the first resource based upon the dependencies; and/or generating, by at least the processor, a candidate time for performing a first task using the
  • the method may include any combination of functions as described as part of the computing system.
  • a non-transitory computer readable medium comprises stored instructions (e.g., as one or more programs or algorithms) that when executed by a processor of a computing device, perform any combination of functions of the disclosed method.
  • FIG. 1 illustrates an embodiment of a system associated with assigning a task to be performed using a resource at a candidate time.
  • FIG. 2 illustrates an embodiment of a method associated with assigning the task to be performed using the resource at the candidate time.
  • FIG. 3 illustrates an embodiment of the scheduling data structure.
  • FIG. 4 illustrates an embodiment of an entity computer and a graphical user interface.
  • FIG. 5 illustrates an embodiment of a schedule implementer with scheduling instructions.
  • FIG. 6 illustrates an embodiment of the schedule implementer with a monitor interface.
  • FIG. 7 illustrates an embodiment of a non-transitory computer-readable medium.
  • FIG. 8 illustrates an embodiment of a computing system configured with the example systems and/or methods disclosed.
  • an electronic schedule is a data structure configured with a number of time slots.
  • the electronic schedule may include different tasks that are scheduled to be performed at different times in different time slots.
  • one or more tasks may have a dependency relationship with another task. For example, a first delivery by a first vehicle may be dependent upon another delivery by a second vehicle. Thus, the first delivery may need to be performed after performance/completion of the other delivery by the second vehicle.
  • the user may provide input about the new task, such as a resource to be used to perform the new task, a dependency relationship between the new task and another task, and a deadline by which the new task needs to be completed.
  • the system tries to identify a time (time slot in the electronic schedule) to which a task is not assigned to the resource, and presents the time for the new task on a display screen.
  • time slot in the electronic schedule to which a task is not assigned to the resource
  • the new task depends upon another (e.g., existing) task and needs to be performed within a (required) threshold period of time (e.g., within 3 hours of completion of the other task), there may be no time vacant (no free time slots) within the threshold period of time of the other task.
  • a threshold period of time e.g., within 3 hours of completion of the other task
  • the present scheduling system is configured to generate schedules for tasks to address this issue.
  • the system 100 includes a controller 105, which may be configured to execute on a computer.
  • the controller 105 may be initiated based upon a task request 1 10 being received from an entity computer 1 15, such as a computer of a vehicle-based delivery service that is requesting a task to be scheduled to be performed using a resource.
  • the task may be an appointment to deliver a first package to a loading bay, and pick up a second package from the loading bay.
  • the controller 105 may receive the task request 1 10 over a network connection.
  • a scheduling data retriever 120 is configured to analyze the task request 1 10 and identify data within that identifies the task and associated parameters.
  • the controller 105 utilizes the scheduling data retriever 120 to generate criteria 125 for existing task records to be considered for the task request 1 10.
  • the criteria 125 may specify other tasks that depend upon the task, such as a second appointment to pick up the first package from the loading bay, and other tasks that the task depends upon, such as a third appointment to deliver the second package to the loading bay.
  • the criteria 125 may further specify information about the resource(s) to be used to perform the task, such as a first vehicle that is to deliver the first package and pick up the second package, and the loading bay.
  • the criteria 125 may specify a time frame within which the task needs to be scheduled.
  • the time frame may be determined based upon the task request 1 10, and may specify a starting point in time on or after which the task may be scheduled and an ending point in time on or prior to which the task may be scheduled.
  • the time frame may specify the ending point in time on or prior to which the task may be scheduled without specifying the starting point in time.
  • the criteria 125 may specify "within 3 days" as the time frame, in accordance with a need of a client of the vehicle-based delivery service to have the first package delivered (to a first recipient) and the second package delivered (to a second recipient) within 3 days.
  • the criteria 125 may further specify a threshold priority (level).
  • the criteria 125 may further specify a medium priority as the threshold priority.
  • the task may have a medium priority, and the vehicle-based delivery service may not want to modify tasks with similar or higher priority when scheduling the task, and may instead only want to consider modifying tasks with a lower priority.
  • a value of the client to the vehicle-based delivery service may be a medium value, and the vehicle-based delivery service may not want to modify tasks associated with customers that are of similar or higher value to the vehicle-based delivery service, and may instead only want to consider modifying tasks associated with customers that are of lower value to the vehicle- based delivery service.
  • the priority of the (new) task may be indicative of a level of (e.g., processor, memory, etc.) resources that are to be allocated to scheduling the task. For example, the higher the priority of the task, the greater the number of time slots and tasks of a scheduling data structure 130 that are to be considered when scheduling the task, and thus the more (e.g., processor, memory, etc.) resources are allocated to identify times (time slots in the scheduling data structure 130) and tasks when scheduling the task.
  • a level of resources e.g., processor, memory, etc.
  • a task that is to be performed using two resources is represented in the scheduling data structure 130 as two tasks.
  • a task that is to be performed using a vehicle and a loading bay is represented as a vehicle task and a loading bay task.
  • a task that is to be performed using two resources is represented in the scheduling data structure 130 as a single task.
  • the criteria 125 is used to analyze the scheduling data structure 130 in order to identify task records 135 for a plurality of resources (vehicles, loading bays, etc.).
  • the task records 135 may include the records for a first set of tasks in the scheduling data structure 130 that the resource (and/or the task) depends upon, and that are to be performed using other resources (different than the resource performing the task).
  • the third appointment for a second vehicle to deliver the second package to the loading bay may be identified in the scheduling data structure 130 for inclusion in the task records 135, as performance of the task by the first vehicle (in particular, picking up the second package from the loading bay) depends upon the second vehicle delivering the second package to the loading bay prior to arrival of the first vehicle at the loading bay.
  • the task records 135 may also include the records for a second set of tasks in the scheduling data structure 130 that other resources depend upon, and that are to be performed using the resource (that is to perform the task).
  • the second appointment for a third vehicle to pick up the first package from the loading bay may be identified in the scheduling data structure 130 for inclusion in the task records 135, as picking up the first package by the third vehicle depends upon performance of the task by the first vehicle (in particular, delivering the first package to the loading bay) prior to arrival of the third vehicle at the loading bay.
  • the controller 105 utilizes the scheduling data analyzer 140 to analyze the task records 135 for the determination of dependencies between the first set of tasks and the second set of tasks.
  • the task records 135 may each be considered to identify time(s) that the task can be performed. For example, the third appointment for the second vehicle to deliver the second package to the loading bay may be determined to be scheduled for 2 pm on May 3, while the second appointment for the third vehicle to pick up the first package from the loading bay may be determined to be scheduled for 5 pm on May 3.
  • 4 pm on May 3 may be calculated as being a candidate time for performing the task using the resource (the first vehicle).
  • the candidate time is calculated based upon a determination that the task will be performed within a first threshold period of time (3 hours) of performance of tasks that the task depends upon and/or within a second threshold period of time (2 hours) of performance of tasks that depend upon the task.
  • the controller 105 utilizes the scheduling data analyzer 140 to generate a candidate schedule for the plurality of resources identified in the task records 135.
  • the candidate schedule includes the candidate time for the task to be performed using the resource.
  • the candidate schedule may also include updated times for some tasks (deliveries, pick ups, etc.) to be performed using some resources and existing times for other tasks (deliveries, pick ups, etc.) to be performed using other resources.
  • the candidate schedule includes calculated timings associated with tasks given certain assignments of the tasks and/or a sequence of the tasks.
  • the controller 105 utilizes the scheduling data analyzer 140 to evaluate the candidate schedule to calculate a candidate schedule performance score.
  • the candidate schedule performance score may be based upon a number of conflicts between tasks, a number of delays, and/or a number of repeat trips caused due to dependencies between tasks and/or resources predicted to result from implementation of the candidate schedule.
  • the candidate schedule performance score may be based upon temporal flexibility (room for error) available between dependent tasks in the candidate schedule (e.g., 2 hours of temporal flexibility between the delivery of the second package to the loading bay by the second vehicle at 2pm and the task at 4 pm).
  • the controller 105 utilizes the scheduling data analyzer 140 to compare the candidate schedule performance score to an existing schedule performance score of an existing schedule (for the plurality of resources).
  • the existing schedule may have already been implemented across the plurality of resources when the task request 1 10 is received by the controller 105.
  • the scheduling data structure 130 is modified and regenerated, based upon the candidate schedule, to assign the task to be performed using the resource (the first vehicle) at the candidate time (4 pm on May 3).
  • the scheduling data structure 130 is only modified and regenerated based upon the candidate schedule if the candidate schedule performance score is greater than the existing schedule performance score by a threshold margin.
  • a proposed start time and a proposed completion time of each task of a plurality of a tasks is (repeatedly) recalculated based upon a completion time of a (previously calculated) predecessor task.
  • the recalculation may be performed using an algorithm, which as part of (one or more iterations of) the calculation of the candidate time, the generation of a candidate schedule and/or the comparison of the candidate schedule performance score to the existing schedule performance score, cycles through one or more (e.g., all) tasks to recalculate a proposed completion time of each task based upon predecessor tasks.
  • the algorithm continues cycling through the tasks until the times of the one or more tasks are no longer changed.
  • the controller 105 generates schedule instructions 145, including a portion of the regenerated scheduling data structure 130 corresponding to the candidate schedule, to provide to, and thus control, the schedule implementer 150.
  • the schedule instructions 145 may thus provide for the schedule implementer 150 to instruct the first vehicle to deliver the first package to the loading bay, and pick up the second package from the loading bay at 4 pm on May 3 (the candidate time), instruct the second vehicle to deliver the second package to the loading bay at 2 pm on May 3, and instruct the third vehicle to pick up the first package from the loading bay at 5 pm on May 3.
  • tasks with higher priorities may be associated with a greater probability of not being movable to an alternative time slot than tasks with lower priorities. That is, in an example, even though it may be likely that a task with a priority higher than the threshold priority is movable to an alternative time slot, it is more likely that another task with a priority lower than the threshold priority is movable to an alternative time slot. Thus, it is more efficient to consider the other task first. Using this heuristic approach, an appropriate time slot may be identified using less processing power, less memory usage, less database accessing, etc.
  • the system 100 is a computing/data processing system including an application or collection of distributed applications for enterprise organizations.
  • the applications and system 100 may be configured to operate with or be implemented as a cloud-based networking system, a software as a service (SaaS) architecture, or other type of networked computing solution.
  • the system 100 is a centralized server-side application that provides at least the functions disclosed herein and that is accessed by many users via computing devices/terminals communicating with the system 100 (functioning as the server) over a computer network.
  • FIG. 2 illustrates one embodiment of a computer-implemented method 200 associated with assigning a first task to be performed using a first resource at a candidate time.
  • method 200 is performed by the controller 105 utilizing various computing resources of the computer 805 (shown in Fig. 8), such as the processor 810 for executing instructions, memory 815 and/or disks 830 for storing data structures within which control instructions are generated, and/or network hardware for transmitting data structures to remote computers over networks.
  • the method 200 may be triggered based upon various triggers, such as receipt of the task request 1 10 from the entity computer 1 15, etc.
  • the task request 1 10 is received, and in response to receipt of the task request 1 10, a determination is made that the task request 1 10 is directed towards scheduling a task (digging a hole) to be performed using a resource (a first crew).
  • the task request 1 10 is received by a server (hosting the controller 105), from the entity computer 1 15.
  • Fig. 4 illustrates one embodiment of a graphical user interface 405 on the entity computer 1 15 that may be used to generate the task request 1 10.
  • the graphical user interface 405 is controlled to display a first graphical object 410, a second graphical object 415, a third graphical object 420, a fourth graphical object 425 and a fifth graphical object 430.
  • the first graphical object 410 is configured to receive user input that selects general information, such as a location, of the first task.
  • the second graphical object 415 is configured to receive user input that selects dependency information of the first task, such as an indication of the first task being dependent upon another task.
  • the third graphical object 420 is configured to receive user input that selects resource information about the first resource (the first crew) that is to perform the first task (digging the hole).
  • the fourth graphical object 425 is configured to receive user input that selects a time frame (1 month, 1 season, 1 year, etc.) within which the first task is to be performed.
  • the scheduling data structure 130 is accessed from a database via a network communication.
  • One embodiment of the scheduling data structure 130 is illustrated in Fig. 3 and includes indications of a plurality of tasks 305 and a plurality of resources 310, assigned time slots 315, tasks depended upon 320 and dependent tasks 325 associated with one or more of the plurality of tasks 305.
  • Task records 135 in the scheduling data structure 130 that correspond to the criteria 125 may be accessed (downloaded), while other task records that do not correspond to the criteria 125 may not be accessed.
  • the task records 135 that are accessed include a first set of tasks, upon which the first resource (the first crew) depends, to be performed using one or more other resources (other crews).
  • Fig. 3 indicates that the first task (digging the hole) is to be performed using the first resource (the first crew), and that the first task depends upon a second task (marking a location for the hole to be dug) that is to be performed using a second resource (a second crew). Accordingly, the second task is among the first set of tasks of the task records 135 that are accessed.
  • the task records 135 that are accessed also include a second set of tasks, upon which other resources depend, to be performed using the first resource. For example, Fig.
  • the third task is among the second set of tasks of the task records 135 that are accessed.
  • the task records 135 are analyzed to determine dependencies between the first set of tasks to be performed using the one or more other resources and the second set of tasks to be performed using the first resource. For example, the dependencies between the first task (digging the hole), the second task (marking the location for the hole to be dug), the third task (laying wire into the hole), and other associated tasks, such as the dependence of the second task on performance of a fourth task (delivering of equipment to be used in the marking to the location) to be performed by a fourth resource (a fourth crew), may be determined.
  • a candidate time for performing the first task using the first resource is calculated based upon the dependencies. For example, a candidate time of 4 pm on November 1 , 2016 is determined for the first task (digging the hole) based upon the times and dependencies of the second task (marking the location for the hole to be dug), the third task (laying wire into the hole), and the fourth task (delivering of equipment to be used in the marking to the location).
  • the candidate time for performing the first task using the first resource may be determined to be a time after one or more tasks that the first task depends upon are to be performed, and a time before one or more tasks that depend upon the first task are to be performed.
  • the candidate time is calculated based upon a determination that the first task will be performed within a first threshold period of time of performance of tasks that the first task depends upon and/or within a second threshold period of time of performance of tasks that depend upon the first task.
  • a candidate schedule for the plurality of resources, including the first resource is generated using the candidate time for the first task for the first resource.
  • the candidate schedule may assign the candidate time of 4 pm on November 1 , 2016 to the first task (digging the hole), may maintain the existing times for the second task, the third task, and the fourth task, and may assign updated times to one or more other tasks scheduled to be performed by the plurality of resources.
  • the candidate schedule is evaluated to calculate a candidate schedule performance score. In some examples, the candidate schedule performance score is based upon a number of conflicts identified (or estimated) in dependencies between the first set of tasks and the second set of tasks in the candidate schedule.
  • a conflict is determined for a fifth task that is to be performed using the first resource if the fifth task has a time before a sixth task to be performed using a sixth resource, wherein the dependencies comprise a dependency of the fifth task on the sixth task.
  • a conflict is determined for a seventh task to be performed using the sixth resource if the seventh task has a time before an eighth task to be performed using the first resource, wherein the dependencies comprise a dependency of the seventh task on the eighth task.
  • the fifth graphical object 430 is configured to display information about the candidate schedule generated based upon the user input received via graphical objects 410, 415, 420 and/or 425.
  • the fifth graphical object 430 includes a sixth graphical object 435 configured to display information about the candidate schedule, a seventh graphical object 440 configured to display the candidate schedule performance score calculated for the candidate schedule, and an eighth graphical object 445 configured to display a comparison of the candidate schedule performance score calculated for the candidate schedule with an existing schedule performance score calculated for an existing schedule.
  • the scheduling data structure 130 is modified and regenerated, based upon the candidate schedule, to assign the first task to be performed using the first resource at the candidate time. For example, the performance of the first task using the first resource is assigned to a candidate time slot, of the candidate time, in the scheduling data structure 130. The assignment of the first task to the candidate time slot in the scheduling data structure 130 causes the first task to be performed by the first resource at the candidate time.
  • the scheduling data structure 130 (or the portion of the scheduling data structure 130 that is modified) is included in the schedule instructions 145, which are provided to the schedule implementer 150.
  • one or more of the acts of Fig. 2 are iteratively repeated for various resources or tasks to test modifications to the schedule, incorporate the modifications that are determined to improve the schedule (by reducing conflict), and discard the modifications that are determined to not improve the schedule.
  • a second candidate time for performing the second task using the second resource (different than an existing second time for the second task) is calculated based upon one or more dependencies identified between the tasks to be performed using the plurality of resources.
  • the second candidate time for performing the second task using the second resource may be determined to be a time after one or more tasks that the second task depends upon are to be performed, and a time before one or more tasks that depend upon the second task are to be performed.
  • a second candidate schedule for the plurality of resources, including the second resource is generated using the second candidate time for the second task for the second resource.
  • the second candidate schedule may maintain the candidate time for the first task and the existing times for the third task and the fourth task, and may assign updated times to one or more other tasks scheduled to be performed by the plurality of resources.
  • the second candidate schedule is evaluated to calculate a second candidate schedule performance score.
  • the second candidate schedule performance score is based upon a number of conflicts identified (or estimated) in dependencies between the tasks to be performed using the plurality of resources in the second candidate schedule.
  • a third candidate time for performing the second task using the second resource is calculated based upon the one or more dependencies. For example, the second candidate time and the second candidate schedule are determined to not improve the schedule, and are thus discarded, and the third candidate time is calculated for performing the second task using the second resource.
  • the scheduling data structure is modified and regenerated, based upon the second candidate schedule, to assign the second task to be performed using the second resource at the second candidate time. For example, the second candidate time and the second candidate schedule are determined to improve the schedule, and are thus implemented. For example, the performance of the second task using the second resource is assigned to a second candidate time slot, of the second candidate time, in the scheduling data structure 130.
  • the schedule implementer 150 uses the scheduling data structure 130 to cause the first task to be performed by the first resource at the candidate time, and cause one or more other tasks to be scheduled for performance at other times.
  • the schedule implementer 150 may provide physical/print instructions to an operator of the resources that are to be used to perform the tasks, while in other examples, the schedule implementer 150 may provide digital instructions to one or more machines configured to control the resources, such as computers of the crews or their vehicles, in accordance with the schedule instructions 145.
  • the schedule instructions 145 include a first instruction 510 to assign the first task to be performed using the first resource at the candidate time, a second instruction 515 to unassign the second task to be performed using the second resource from a second time, and a third instruction 520 to assign the second task to be performed using the second resource at a second candidate time (calculated for the second task based upon the dependencies).
  • the schedule implementer 150 monitors the status of one or more resources, and the implementation of the candidate schedule, as illustrated in Fig. 6.
  • the schedule implementer 150 includes a monitor interface 605, which displays a first indicator 610 displaying a status of the first task to be performed using the first resource, and a second indicator 615 displaying a status of the second task to be performed using the second resource.
  • the first indicator 610 may indicate that the first resource (the first crew) has incorporated the first task into its schedule at the candidate time in accordance with the schedule instructions 145
  • the second indicator may indicate that the second resource (the second crew) has not yet incorporated the second task into its schedule at the second candidate time, and is thus not in accordance with the schedule instructions 145.
  • the monitor interface 605 is generated based upon user feedback indicative of impressions of users associated with the resources, while in other examples, the monitor interface 605 is generated based upon automatic analysis of the respective schedules of the resources.
  • an algorithm used to perform at least some of the techniques disclosed herein collects one or more resources involved in a schedule, clears an event table corresponding to the schedule, processes the one or more resources collected in a first loop, calculates times for first tasks assigned to a first resource of the one or more resources, adds information about the first tasks to the event table, calculates times for second tasks assigned to a second resource of the one or more resources while taking into account the first tasks added to the event table if the second resource depends upon at least one of the first tasks, adds information about the second tasks to the event table.
  • the algorithm iteratively repeats (e.g., hundreds of times per second) this process to gradually generate a schedule with correct (non-conflicting) dependencies and tasks.
  • the event table may be a hash table containing estimated times for one or more tasks, and events needed to satisfy dependencies between a plurality of tasks.
  • Fig. 7 is an illustration of a scenario 700 involving an example non- transitory computer-readable medium 705.
  • one or more of the components described herein are configured as program modules, such as the controller 105, stored in the non-transitory computer-readable medium 705.
  • the program modules are configured with stored instructions, such as processor- executable instructions 710, that when executed by at least a processor, such as processor 715, cause the computing device to perform the corresponding function(s) as described herein.
  • functionality of the controller 105, stored in the non-transitory computer-readable medium 705 may be executed by the processor 715 as the processor-executable instructions 710 to perform an embodiment 740 of the method 200 of Fig. 2.
  • the non-transitory machine readable medium 705 includes the processor-executable instructions 710 that when executed by a processor 715 cause performance of at least some of the provisions herein.
  • the non-transitory machine readable medium 705 includes a memory semiconductor (e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies), a platter of a hard disk drive, a flash memory device, or a magnetic or optical disc (such as a compact disk (CD), a digital versatile disk (DVD), or floppy disk).
  • a memory semiconductor e.g., a semiconductor utilizing static random access memory (SRAM), dynamic random access memory (DRAM), and/or synchronous dynamic random access memory (SDRAM) technologies
  • SSDRAM synchronous dynamic random access memory
  • CD compact disk
  • DVD digital versatile disk
  • floppy disk floppy disk
  • the example non-transitory machine readable medium 705 stores computer-readable data 720 that, when subjected to reading 725 by a reader 730 of a device 735 (e.g., a read head of a hard disk drive, or a read operation invoked on a solid-state storage device), express the processor- executable instructions 710.
  • the processor-executable instructions 710 when executed cause performance of operations, such as at least some of the example method 200 of Fig. 2, for example.
  • the processor-executable instructions 710 are configured to cause implementation of a system, such as at least some of the example system 100 of Fig. 1 , for example.
  • FIG. 8 illustrates a scenario 800 of an example computing device that is configured and/or programmed with one or more of the example systems and methods described herein, and/or equivalents.
  • the example computing device may be a computer 805 that includes a processor 810, a memory 815, and input/output ports 820 operably connected by a bus 825.
  • the computer 805 may include logic of the controller 105 configured to facilitate the system 100 and/or the method 200 shown in Figs. 1 and 2.
  • the logic of the controller 105 may be implemented in hardware, a non-transitory computer-readable medium 705 with stored instructions, firmware, and/or combinations thereof. While the logic of the controller 105 is illustrated as a hardware component attached to the bus 825, it is to be appreciated that in other embodiments, the logic of the controller 105 could be implemented in the processor 810, stored in memory 815, or stored in disk 830.
  • logic of the controller 105 or the computer 805 is a means (e.g., structure: hardware, non-transitory computer-readable medium, firmware) for performing the actions described.
  • the computing device may be a server operating in a cloud computing system, a server configured in a Software as a Service (SaaS) architecture, a smart phone, laptop, tablet computing device, and so on.
  • SaaS Software as a Service
  • the means may be implemented, for example, as an application specific integrated circuit (ASIC) programmed to implement rule based source sequencing for allocation.
  • ASIC application specific integrated circuit
  • the means may also be implemented as stored computer executable instructions that are presented to computer 805 as data 845 that are temporarily stored in memory 815 and then executed by processor 810.
  • the logic of the controller 105 may also provide means (e.g., hardware, non-transitory computer-readable medium 705 that stores executable instructions, firmware) for performing rule based source sequencing for allocation.
  • means e.g., hardware, non-transitory computer-readable medium 705 that stores executable instructions, firmware
  • the processor 810 may be a variety of various processors including dual microprocessor and other multi-processor architectures.
  • the memory 815 may include volatile memory and/or non-volatile memory.
  • Non-volatile memory may include, for example, read-only memory (ROM), programmable read-only memory (PROM), and so on.
  • Volatile memory may include, for example, random access memory (RAM), static random-access memory (SRAM), dynamic random access memory (DRAM), and so on.
  • the disks 830 may be operably connected to the computer 805 via, for example, an input/output (I/O) interface (e.g., card, device) 835 and an input/output port 820.
  • the disks 830 may be, for example, a magnetic disk drive, a solid state disk drive, a floppy disk drive, a tape drive, a Zip drive, a flash memory card, a memory stick, and so on.
  • the disks 830 may be a CD-ROM drive, a CD-R drive, a CD-RW drive, a DVD ROM, and so on.
  • the memory 815 can store a process 840 and/or a data 845, for example.
  • the disk 830 and/or the memory 815 can store an operating system that controls and allocates resources of the computer 805.
  • the computer 805 may interact with input/output (I/O) devices via the I/O interfaces 835 and the input/output ports 820.
  • I/O devices may be, for example, a keyboard, a microphone, a pointing and selection device, cameras, video cards, displays, the disks 830, the network devices 850, and so on.
  • the input/output ports 820 may include, for example, serial ports, parallel ports, and USB ports.
  • I/O controllers 855 may connect the I/O interfaces 835 to the bus 825.
  • the computer 805 can operate in a network environment and thus may be connected to the network devices 850 via the I/O interfaces 835, and/or the I/O ports 820. Through the network devices 850, the computer 805 may interact with a network. Through the network, the computer 805 may be logically connected to remote computers. Networks with which the computer 805 may interact include, but are not limited to, a local area network (LAN), a new area network (WAN), and other networks. [0076] In another embodiment, the described methods and/or their equivalents may be implemented with computer executable instructions.
  • a non-transitory computer readable/storage medium is configured with stored computer executable instructions of an algorithm/executable application that when executed by a machine(s) cause the machine(s) (and/or associated components) to perform the method.
  • Example machines include but are not limited to a processor, a computer, a server operating in a cloud computing system, a server configured in a Software as a Service (SaaS) architecture, a smart phone, and so on).
  • SaaS Software as a Service
  • a computing device is implemented with one or more executable algorithms that are configured to perform any of the disclosed methods.
  • the disclosed methods or their equivalents are performed by either: computer hardware configured to perform the method; or computer instructions embodied in a module stored in a non-transitory computer- readable medium where the instructions are configured as an executable algorithm configured to perform the method when executed by at least a processor of a computing device.
  • a "data structure”, as used herein, is an organization of data in a computing system that is stored in a memory, a storage device, or other computerized system.
  • a data structure may be any one of, for example, a data field, a data file, a data array, a data record, a database, a data table, a graph, a tree, a linked list, and so on.
  • a data structure may be formed from and contain many other data structures (e.g., a database includes many data records). Other examples of data structures are possible as well, in accordance with other embodiments.
  • Computer-readable medium or “computer storage medium”, as used herein, refers to a non-transitory medium that stores instructions and/or data configured to perform one or more of the disclosed functions when executed. Data may function as instructions in some embodiments.
  • a computer-readable medium may take forms, including, but not limited to, non-volatile media, and volatile media. Non-volatile media may include, for example, optical disks, magnetic disks, and so on. Volatile media may include, for example, semiconductor memories, dynamic memory, and so on.
  • a computer-readable medium may include, but are not limited to, a floppy disk, a flexible disk, a hard disk, a magnetic tape, other magnetic medium, an application specific integrated circuit (ASIC), a programmable logic device, a compact disk (CD), other optical medium, a random access memory (RAM), a read only memory (ROM), a memory chip or card, a memory stick, solid state storage device (SSD), flash drive, and other media from which a computer, a processor or other electronic device can function with.
  • ASIC application specific integrated circuit
  • CD compact disk
  • RAM random access memory
  • ROM read only memory
  • memory chip or card a memory chip or card
  • SSD solid state storage device
  • flash drive and other media from which a computer, a processor or other electronic device can function with.
  • Each type of media if selected for implementation in one embodiment, may include stored instructions of an algorithm configured to perform one or more of the disclosed and/or claimed functions.
  • Logic represents a component that is implemented with computer or electrical hardware, a non-transitory medium with stored instructions of an executable application or program module, and/or combinations of these to perform any of the functions or actions as disclosed herein, and/or to cause a function or action from another logic, method, and/or system to be performed as disclosed herein.
  • Equivalent logic may include firmware, a microprocessor programmed with an algorithm, a discrete logic (e.g., ASIC), at least one circuit, an analog circuit, a digital circuit, a programmed logic device, a memory device containing instructions of an algorithm, and so on, any of which may be configured to perform one or more of the disclosed functions.
  • logic may include one or more gates, combinations of gates, or other circuit components configured to perform one or more of the disclosed functions. Where multiple logics are described, it may be possible to incorporate the multiple logics into one logic. Similarly, where a single logic is described, it may be possible to distribute that single logic between multiple logics. In one embodiment, one or more of these logics are corresponding structure associated with performing the disclosed and/or claimed functions. Choice of which type of logic to implement may be based on desired system conditions or specifications. For example, if greater speed is a consideration, then hardware would be selected to implement functions. If a lower cost is a consideration, then stored instructions/executable application would be selected to implement the functions.
  • An "operable connection”, or a connection by which entities are “operably connected”, is one in which signals, physical communications, and/or logical communications may be sent and/or received.
  • An operable connection may include a physical interface, an electrical interface, and/or a data interface.
  • An operable connection may include differing combinations of interfaces and/or connections sufficient to allow operable control.
  • two entities can be operably connected to communicate signals to each other directly or through one or more intermediate entities (e.g., processor, operating system, logic, non- transitory computer-readable medium).
  • Logical and/or physical communication channels can be used to create an operable connection.

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Operations Research (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
PCT/US2018/034338 2017-05-26 2018-05-24 Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling Ceased WO2018217992A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019565280A JP7319196B2 (ja) 2017-05-26 2018-05-24 車両スケジューリングのために車両相互依存性を解決するためのコンピュータ化されたシステムおよび方法
CN201880034634.5A CN110663051B (zh) 2017-05-26 2018-05-24 解决车辆调度中的跨车辆依赖性的计算机化系统和方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/606,084 US11132631B2 (en) 2017-05-26 2017-05-26 Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling
US15/606,084 2017-05-26

Publications (1)

Publication Number Publication Date
WO2018217992A1 true WO2018217992A1 (en) 2018-11-29

Family

ID=62705681

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2018/034338 Ceased WO2018217992A1 (en) 2017-05-26 2018-05-24 Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling

Country Status (4)

Country Link
US (1) US11132631B2 (https=)
JP (1) JP7319196B2 (https=)
CN (1) CN110663051B (https=)
WO (1) WO2018217992A1 (https=)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12163795B2 (en) 2021-07-07 2024-12-10 Oracle International Corporation Vehicle routing with dynamic selection of turns across opposing traffic

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
LU101480B1 (en) * 2019-11-18 2021-05-18 Luxembourg Inst Science & Tech List Data preprocessing for a supervised machine learning process
CN111340413A (zh) * 2020-02-10 2020-06-26 拉扎斯网络科技(上海)有限公司 配送任务的分配方法、装置、服务器和存储介质
US20230342687A1 (en) * 2022-04-20 2023-10-26 Verizon Patent And Licensing Inc. Systems and methods for utilizing vehicle data to identify events associated with scheduled jobs
US20250355449A1 (en) * 2024-05-16 2025-11-20 Wing Aviation Llc Efficient allocation of resources in a fleet management system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161964A1 (en) * 2009-12-31 2011-06-30 Bmc Software, Inc. Utility-Optimized Scheduling of Time-Sensitive Tasks in a Resource-Constrained Environment
US8543438B1 (en) * 2012-02-03 2013-09-24 Joel E. Fleiss Labor resource utilization method and apparatus
US20160026935A1 (en) * 2014-07-24 2016-01-28 International Business Machines Corporation Multiple individual travel scheduling
US20160307145A1 (en) * 2015-04-14 2016-10-20 International Business Machines Corporation Scheduling and simulation system

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3501385B2 (ja) * 1995-04-13 2004-03-02 株式会社日立製作所 ジョブ実行順序決定方法
US7660904B2 (en) * 2004-05-11 2010-02-09 Microsoft Corporation Providing keys to share data within an instant messaging session
US8140592B2 (en) * 2004-08-19 2012-03-20 The United States Postal Service Delivery operations information system with route adjustment feature and methods of use
GB0513045D0 (en) * 2005-06-27 2005-08-03 Vidus Ltd Resource scheduling method and system
US9710508B2 (en) * 2006-03-09 2017-07-18 Quickbase, Inc. Method and system for managing data in a workflow process
US20080215409A1 (en) * 2007-01-03 2008-09-04 Victorware, Llc Iterative resource scheduling
US20080215406A1 (en) * 2007-03-01 2008-09-04 Julian Pachon Scheduling Resources for Airline Flights
US20090025004A1 (en) * 2007-07-16 2009-01-22 Microsoft Corporation Scheduling by Growing and Shrinking Resource Allocation
JP5382844B2 (ja) * 2008-02-21 2014-01-08 株式会社日立ソリューションズ 輸送スケジュール作成システム
EP2297637A1 (en) * 2008-07-02 2011-03-23 Nxp B.V. A multiprocessor circuit using run-time task scheduling
US8881158B2 (en) * 2008-11-14 2014-11-04 Nec Corporation Schedule decision device, parallel execution device, schedule decision method, and program
US9811090B2 (en) * 2011-07-07 2017-11-07 Murata Machinery, Ltd. Guided vehicle system and guided vehicle travel schedule generation method
US8751497B2 (en) * 2011-10-07 2014-06-10 Clear Channel Management Services, Inc. Multi-shot scheduling system
US9268604B1 (en) * 2012-12-11 2016-02-23 The Boeing Company Automated allocation of vehicle systems for different specified vehicle testing tasks
CN104346220B (zh) * 2013-07-31 2017-11-03 中国科学院计算技术研究所 一种任务调度方法与系统
US10241654B2 (en) * 2013-12-20 2019-03-26 Dassault Systemes Americas Corp. Computer method and apparatus for automated scheduling
US9933177B2 (en) * 2014-11-04 2018-04-03 Google Llc Enhanced automated environmental control system scheduling using a preference function
US9697045B2 (en) * 2015-03-24 2017-07-04 International Business Machines Corporation Selecting resource allocation policies and resolving resource conflicts
US10977092B2 (en) * 2015-10-16 2021-04-13 Qualcomm Incorporated Method for efficient task scheduling in the presence of conflicts
US10796285B2 (en) * 2016-04-14 2020-10-06 Microsoft Technology Licensing, Llc Rescheduling events to defragment a calendar data structure
CN106503836B (zh) * 2016-10-09 2020-06-16 电子科技大学 一种多目标优化的纯电动汽车物流配送优化调度方法
GB201621627D0 (en) * 2016-12-19 2017-02-01 Palantir Technologies Inc Task allocation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110161964A1 (en) * 2009-12-31 2011-06-30 Bmc Software, Inc. Utility-Optimized Scheduling of Time-Sensitive Tasks in a Resource-Constrained Environment
US8543438B1 (en) * 2012-02-03 2013-09-24 Joel E. Fleiss Labor resource utilization method and apparatus
US20160026935A1 (en) * 2014-07-24 2016-01-28 International Business Machines Corporation Multiple individual travel scheduling
US20160307145A1 (en) * 2015-04-14 2016-10-20 International Business Machines Corporation Scheduling and simulation system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12163795B2 (en) 2021-07-07 2024-12-10 Oracle International Corporation Vehicle routing with dynamic selection of turns across opposing traffic

Also Published As

Publication number Publication date
CN110663051A (zh) 2020-01-07
JP7319196B2 (ja) 2023-08-01
CN110663051B (zh) 2023-11-24
JP2020522063A (ja) 2020-07-27
US20180341893A1 (en) 2018-11-29
US11132631B2 (en) 2021-09-28

Similar Documents

Publication Publication Date Title
JP6447120B2 (ja) ジョブスケジューリング方法、データアナライザ、データ解析装置、コンピュータシステム及びコンピュータ可読媒体
US11132631B2 (en) Computerized system and method for resolving cross-vehicle dependencies for vehicle scheduling
CN111352736B (zh) 大数据资源的调度方法、装置、服务器及存储介质
US10802880B2 (en) System and method for distributed resource requirement and allocation
US11010195B2 (en) K-tier architecture scheduling
US11966775B2 (en) Cloud native adaptive job scheduler framework for dynamic workloads
US9389916B1 (en) Job scheduling management
US20140019987A1 (en) Scheduling map and reduce tasks for jobs execution according to performance goals
US10264059B2 (en) Determining server level availability and resource allocations based on workload level availability requirements
US9423957B2 (en) Adaptive system provisioning
CN113227978B (zh) 计算机处理管线中的自动异常检测
CN112346952A (zh) 用于测试用例的回归测试的方法、设备和电子设备
US10031781B2 (en) Estimating job start times on workload management systems
US10613896B2 (en) Prioritizing I/O operations
US20170315842A1 (en) Resource consuming tasks scheduler
US7127446B1 (en) File system based task queue management
US11740789B2 (en) Automated storage capacity provisioning using machine learning techniques
CN115695437A (zh) 资源调度方法、装电子设备及计算机存储介质
JP6753521B2 (ja) 計算資源管理装置、計算資源管理方法、及びプログラム
US10304018B2 (en) Method and system for controlling a display screen with graphical objects for scheduling
US20190129599A1 (en) Method and system for controlling a display screen based upon a prediction of compliance of a service request with a service level agreement (sla)
US9734461B2 (en) Resource usage calculation for process simulation
WO2016186631A1 (en) Price, completion time, and resource allocation determination for cloud services
US12405820B2 (en) Central randomized scheduler for hypothesis-based workloads
US20240046215A1 (en) Apparatus and method for distributed dataflow execution in a distributed environment

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18733403

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019565280

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18733403

Country of ref document: EP

Kind code of ref document: A1