Disruption handling for scheduling system
Claim Score by NHIP
Abstract
A scheduling system reschedules based on the affect such rescheduling has on cascading costs. The costs for an airline set of schedules include factors such as the affect on passengers, the affect on profit and other factors. Cascading costs include the cost of further disruptions to schedules as a result of proposed solutions to a disruption. The further disruptions are referred to as cascading disruptions since they cascade from the original disruption or solutions to the disruption. Disruptions are entered into a computer program and ranked by a common denominator such as cost by simulating the effects of the disruptions on the actual servicing of the schedules. Disruptions are prioritized based on their impact on the system if left unattended. Each disruption is then considered individually based on their rank, with the cascaded cost of proposed solutions calculated.

Term
Term ended
Projected expiry passed 3 April 2022, 4.5 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
52 claims: 16 independent, 36 dependent
- 1A method of handling disruptions to a plurality of related schedules, the method comprising:prioritizing the disruptions in a list;for the highest priority disruption in the list: generating a set of possible solutions to the disruption;calculating a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 8Broadest claimClaim Score 86, broad(NHIP)A method of handling disruptions to a plurality of related schedules, the method comprising:generating a set of possible solutions to a selected disruption;calculating a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 15A method of handling disruptions to a plurality of related schedules used by any resource in a timed activity, the method comprising:receiving information describing disruptions;prioritizing the disruptions in a list by simulating the effects of the disruptions if left unattended;for the highest priority disruption in the list: generating a set of possible solutions to the disruption;calculating a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 20A method of creating options for handling disruptions to a plurality of related schedules, the method comprising:receiving resource disruption information;identifying compatible resources to the disrupted resource;determining availability on the compatible resources;performing checks on the compatible resources;and providing the list of compatible resources to a cost function for determining the cascaded cost of each compatible resource.
- 21A method of handling disruptions to a plurality of related schedules being serviced by aircraft of an airline, the method comprising:receiving information about a disruption to a schedule;determining a time window based on expected arrival time and ground time;identifying flights within the window;determining an array of compatible flights from the identified flights;determining the cascaded cost of the compatible flights;and combining the compatible flights and cascaded costs for use in deciding whether or not to use a compatible flight.
- 22A computer readable medium having instructions for causing a computer to perform a method of handling disruptions to a plurality of related schedules, the method comprising:prioritizing the disruptions in a list;for the highest priority disruption in the list: generate a set of possible solutions to the disruption;calculate a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 26A computer readable medium having instructions for causing a computer to perform a method of handling disruptions to a plurality of related schedules, the method comprising:generating a set of possible solutions to a selected disruption;calculating a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 28A computer readable medium having instructions for causing a computer to perform a method of handling disruptions to a plurality of related schedules used by an airline, the method comprising:receiving information describing disruptions;prioritizing the disruptions in a list by simulating the effects of the disruptions if left unattended;for the highest priority disruption in the list: generating a set of possible solutions to the disruption;calculating a cascaded cost for individual possible solutions;and selecting a solution to the disruption based on the cascaded cost.
- 29A computer readable medium having instructions for causing a computer to perform a method of creating options for handling disruptions to a plurality of related schedules, the method comprising:receiving resource disruption information;identifying compatible resources to the disrupted resource;determining availability of the compatible resources;performing checks on the compatible resources;and providing the list of compatible resources to a cost function for determining the cascaded cost of each compatible resource.
- 30A computer readable medium having instructions for causing a computer to perform a method of handling disruptions to a plurality of related schedules being serviced by aircraft of an airline, the method comprising:receiving information about a disruption to a schedule;determining a time window based on expected arrival time and ground time;identifying flights within the window;determining an array of compatible flights from the identified flights;determining the cascaded cost of the compatible flights;and combining the compatible flights and cascaded costs for use in deciding whether or not to use a compatible flight.
- 31A system for handling disruptions to a plurality of related schedules, the method comprising:means for prioritizing the disruptions in a list;for the highest priority disruption in the list: means for generating a set of possible solutions to the disruption;means for calculating a cascaded cost for individual possible solutions;and means for selecting a solution to the disruption based on the cascaded cost.
- 38A system for handling disruptions to a plurality of related schedules, the system comprising:means for generating a set of possible solutions to a selected disruption;means for calculating a cascaded cost for individual possible solutions;and means for selecting a solution to the disruption based on the cascaded cost.
- 40A system of handling disruptions to a plurality of related schedules used by an airline, the method comprising:a module that receives information describing disruptions;a module that prioritizes the disruptions in a list by simulating the effects of the disruptions if left unattended;for the highest priority disruption in the list: a module that generates a set of possible solutions to the disruption;a module that calculates a cascaded cost for individual possible solutions;and a module facilitating selection of a solution to the disruption based on the cascaded cost.
- 42A system for handling disruptions to a plurality of related schedules, the method comprising:a module that prioritizes the disruptions in a list;for the highest priority disruption in the list: a module that generates a set of possible solutions to the disruption;a module that calculates a cascaded cost for individual possible solutions;and a module that selects a solution to the disruption based on the cascaded cost.
- 49A system for handling disruptions to a plurality of related schedules, the system comprising:a module that generates a set of possible solutions to a selected disruption;a module that calculates a cascaded cost for individual possible solutions;and a module that selects a solution to the disruption based on the cascaded cost.
- 50A computer readable medium having a colored Petri Net for execution by a computer to perform a method of handling disruptions to a schedule, the Petri Net comprising:multiple tokens having multiple data items representing resources used to service the schedule;and multiple transitions for processing the data items to provide a solution to disruptions that is optimized based on cascading costs of the solution.
Independent claims16
152 paragraphs in 5 sections, as filed
FIELD OF THE INVENTION
[0001] The present invention relates to scheduling systems, and in particular to disruption handling for scheduling systems.
BACKGROUND OF THE INVENTION
[0002] Scheduling systems are used in many different situations. Manufacturing plants utilize scheduling systems to schedule manufacturing resources to make products. As an example in an airline system, airlines transport people and cargo to multiple destinations. A number of airports are typically involved and schedules are planned to represent the daily trips that need to be made between origins and destinations. Each schedule needs to be serviced by a certain type of aircraft. Some trips repeat every day, and others on selected days.
[0003] Airlines generally have a limited number of aircrat at its disposal. It is desirable to use the same aircraft for different schedules by rotating the aircraft among schedules. This is possible by determining patterns in the schedules that allow the use of the same aircraft for flights in different schedules. Once the pattern is known, specific aircraft are assigned to patterns. Assignment of the aircraft is known as tail assignment, similar to resource allocation in other shceduling systems.
[0004] After the tail assignment or resource allocation, the aircraft starts servicing schedules. Often the operations of airlines are subjected to disruptions, because of factors such as weather, airport restrictions, aircraft unavailability and a variety of other reasons. These disruptions can have a cascading effect, so that a disruption directly affecting one schedule results in another disruption affecting a different schedule. For examle, a flight delay may result in passengers missing connections; crews missing their next duties; non-availability of this aircraft for subsequent flights; and many other events affecting the ability to accomplish a flight at a desired time.
SUMMARY OF THE INVENTION
[0005] A scheduling system reschedules based on the affect such rescheduling has on cascading costs. Cascading costs include the cost of further disruptions to schedules as a result of proposed solutions to a disruption. The further disruptions are referred to as cascading disruptions since they cascade from the original disruption or solutions to the disruption.
[0006] In one embodiment, disruptions in an airline scheduling system are entered into a computer program and ranked by a common denominator such as cost by simulating the effects of the disruptions on the actual servicing of the schedules. Disruptions are prioritized based on their impact on the system if left unattended. Each disruption is then considered individually based on their rank, with the cascaded cost of proposed solutions calculated. The least cost solution is scheduled, and the next highest ranking cost disruption is then processed, until all schedule disruptions are resolved. The program is initialized periodically for entry of disruptions affecting that period, such as daily.
[0007] In a further embodiment, colored Petri Nets are used to analyze the solutions and cascading cost.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008]FIG. 1 is a block diagram of an airline scheduling system having a disruption handler.
[0009]FIG. 2 is a block diagram showing functional modules of a disruption handling system.
[0010]FIG. 3 is a flow chart showing disruption handling.
[0011]FIG. 4 is a block diagram of a cost function manager.
[0012]FIG. 5 is a block diagram of a rule based editor for specifying rules to determine cascading effects of disruptions.
[0013]FIG. 6 is a high level flow diagram showing a process of scheduling aircraft and handling disruptions.
[0014]FIG. 7 is a model of disruption handling for passenger emergencies and dynamic aircraft snags.
[0015]FIG. 8 is a model of disruption handling for dynamic airport constraints and weather disruptions.
[0016]FIG. 9 is a timing diagram illustrating a disruption and the cascading affect of potential solutions for the disruption.
[0017]FIG. 10 is a timing diagram showing flights being rescheduled in response to a disruption.
[0018]FIGS. 11A, 11B and <b>11</b>C are is a colored Petri Net diagram showing modeling of the solution method.
[0019]FIG. 12 is a data flow diagram showing rerouting to identify optional solutions in response to a disruption.
[0020]FIG. 13 is a workflow diagram showing pattern assignment for a set of schedules.
[0021]FIG. 14 is a workflow diagram showing assignment of tails to patterns generated in accordance with FIG. 6.
[0022]FIGS. 15A, 15B, <b>15</b>C and <b>15</b>D are a flow diagram of an airline management system incorporating scheduling and interruption handling.
DETAILED DESCRIPTION OF THE INVENTION
[0023] In the following description and the drawings illustrate specific embodiments of the invention sufficiently to enable those skilled in the art to practice it. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Examples merely typify possible variations. Individual components and functions are optional unless explicitly required, and the sequence of operations may vary. Portions and features of some embodiments may be included in or substituted for those of others. The scope of the invention encompasses the full ambit of the claims and all available equivalents. The following description is, therefore, not to be taken in a limited sense, and the scope of the present invention is defined by the appended claims.
[0024] The functions described herein are implemented in software in one embodiment, where the software comprises computer executable instructions stored on computer readable medium such as memory or other type of storage devices. The term “computer readable media” is also used to represent carrier waves on which the software is transmitted. Further, such functions correspond to modules, which are software, hardware, firmware of any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples.
[0025] The following sections describe disruption handling the context of an airline scheduling system, however the solution can be generalized for application in many different domains. Disruptions cause changes to schedules, and the changes have an accompanying cost. The current invention considers cascading costs of proposed solutions to reschedule service in a cost effective manner. Other domains include but are not limited to manufacturing, battlefield, and the transportation domain, or other domains where resources need to be scheduled and interruptions handled.
[0026] The purpose of an Airline is to transport people and cargo to where they wanted to go in a safe, convenient and cost effective manner. To satisfy this requirement, an airline typically services a set of airports. The marketing team of the airline does a market survey and determines a set of schedules originating and terminating at the above-mentioned airports. These schedules are published through predetermined time intervals (say, every six months). Typically, the schedules represent the daily trips that need to be made between an origin and destination. Each schedule needs to be serviced by a certain type of aircraft. For example, Table 1 represents some schedules of an airline, <tables id="TABLE-US-00001" num="1"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="287PT" align="center" /><thead><row><entry namest="1" nameend="1" align="center">TABLE 1</entry></row></thead><tbody valign="top"><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Some schedules of a commercial airliner.</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="28PT" align="center" /><colspec colname="2" colwidth="42PT" align="left" /><colspec colname="3" colwidth="42PT" align="left" /><colspec colname="4" colwidth="21PT" align="left" /><colspec colname="5" colwidth="42PT" align="left" /><colspec colname="6" colwidth="35PT" align="left" /><colspec colname="7" colwidth="35PT" align="left" /><colspec colname="8" colwidth="42PT" align="left" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Flight</entry><entry>Departure</entry><entry>Arrival</entry><entry>Days of</entry><entry>Type of</entry></row><row><entry>Number</entry><entry>Origin</entry><entry>Destination</entry><entry>No.</entry><entry>Time</entry><entry>Time</entry><entry>Operation</entry><entry>Aircraft</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="28PT" align="char" char="." /><colspec colname="2" colwidth="42PT" align="left" /><colspec colname="3" colwidth="42PT" align="left" /><colspec colname="4" colwidth="21PT" align="left" /><colspec colname="5" colwidth="42PT" align="left" /><colspec colname="6" colwidth="35PT" align="left" /><colspec colname="7" colwidth="35PT" align="left" /><colspec colname="8" colwidth="42PT" align="left" /><tbody valign="top"><row><entry>1</entry><entry>Bangalore</entry><entry>Cochin</entry><entry>9W</entry><entry>6:30:00</entry><entry>7:50:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3511</entry><entry>AM</entry><entry>AM</entry></row><row><entry>2</entry><entry>Bangalore</entry><entry>Mangalore</entry><entry>9W</entry><entry>10:20:00</entry><entry>11:25:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3513</entry><entry>AM</entry><entry>AM</entry></row><row><entry>3</entry><entry>Bangalore</entry><entry>Goa</entry><entry>9W</entry><entry>1:40:00 PM</entry><entry>3:10:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3515</entry><entry /><entry>PM</entry></row><row><entry>4</entry><entry>Bangalore</entry><entry>Coimbatore</entry><entry>9W</entry><entry>5:50:00 PM</entry><entry>6:45:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3517</entry><entry /><entry>PM</entry></row><row><entry>5</entry><entry>Bangalore</entry><entry>Chennai</entry><entry>9W</entry><entry>8:50:00 PM</entry><entry>9:50:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3508</entry><entry /><entry>PM</entry></row><row><entry>6</entry><entry>Bangalore</entry><entry>Mumbai</entry><entry>9W</entry><entry>10:30:00</entry><entry>12:45:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>2412</entry><entry>PM</entry><entry>AM</entry></row><row><entry>7</entry><entry>Bhavnagar</entry><entry>Mumbai</entry><entry>9W</entry><entry>8:50:00</entry><entry>10:05:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3412</entry><entry>AM</entry><entry>AM</entry></row><row><entry>8</entry><entry>Chandigarh</entry><entry>Delhi</entry><entry>9W</entry><entry>2:40:00 PM</entry><entry>3:40:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3304</entry><entry /><entry>PM</entry></row><row><entry>9</entry><entry>Chennai</entry><entry>Hyderabad</entry><entry>9W</entry><entry>6:30:00</entry><entry>8:05:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3501</entry><entry>AM</entry><entry>AM</entry></row><row><entry>10</entry><entry>Chennai</entry><entry>Bangalore</entry><entry>9W</entry><entry>7:15:00 PM</entry><entry>8:15:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3507</entry><entry /><entry>PM</entry></row><row><entry>11</entry><entry>Cochin</entry><entry>Bangalore</entry><entry>9W</entry><entry>8:20:00</entry><entry>9:40:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3512</entry><entry>AM</entry><entry>AM</entry></row><row><entry>12</entry><entry>Coimbatore</entry><entry>Bangalore</entry><entry>9W</entry><entry>7:15:00 PM</entry><entry>8:10:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3518</entry><entry /><entry>PM</entry></row><row><entry>13</entry><entry>Delhi</entry><entry>Jaipur</entry><entry>9W</entry><entry>5:55:00</entry><entry>6:55:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry></row><row><entry>14</entry><entry>Jaipur</entry><entry>Udaipur</entry><entry>9W</entry><entry>7:35:00</entry><entry>8:40:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry></row><row><entry>15</entry><entry>Delhi</entry><entry>Udaipur</entry><entry>9W</entry><entry>5:55:00</entry><entry>8:40:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry></row><row><entry>16</entry><entry>Delhi</entry><entry>Chandigarh</entry><entry>9W</entry><entry>12:10:00</entry><entry>1:10:00</entry><entry>Daily</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3303</entry><entry>PM</entry><entry>PM</entry></row><row><entry>17</entry><entry>Delhi</entry><entry>Indore</entry><entry>9W</entry><entry>4:50:00 PM</entry><entry>6:50:00</entry><entry>1 2 3 4 5 7</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3305</entry><entry /><entry>PM</entry></row><row><entry>18</entry><entry>Diu</entry><entry>Mumbai</entry><entry>9W</entry><entry>12:15:00</entry><entry>3:00:00</entry><entry>1 2 3 4 5 7</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3404</entry><entry>PM</entry><entry>PM</entry></row><row><entry>19</entry><entry>Diu</entry><entry>Porbandar</entry><entry>9W</entry><entry>12:15:00</entry><entry>1:00:00</entry><entry>1 2 3 4 5 7</entry><entry>ATR 72-500</entry></row><row><entry /><entry /><entry /><entry>3403</entry><entry>PM</entry><entry>PM</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0027] It can be observed from Table 1 that schedules having numbers 1 to 16 are repeated daily, whereas schedules 17 to 18 repeated on all days except Friday (assumed that the days of operation “1” corresponds to Sunday). Similarly, all the schedules require service by “ATR 72-500” type aircraft.
[0028] As an airline will have a limited number of aircraft (fleet) at its disposal, it will not be possible to allocate an aircraft specifically to cater for a schedule. Therefore, an airline would like to use the same aircraft for different schedules by rotating that aircraft among schedules. For example, an aircraft identified as A001 is assigned to service schedule flight number 9W3511. After finishing its journey by reaching Cochin at 7.50 a.m. it can be used for flight 9W3512 starting from Cochin at 8.20 a.m. reaching Bangalore at 9.40 a.m. Subsequently the same aircraft can be used to cater for flight 9W3513. Hence, aircraft A001 is rotated among flights 9W3511, 9W3512, and 9W3513. This rotation is referred to as a pattern for an aircraft. The patterns help optimize aircraft utilization.
[0029] Once a pattern is arrived, then a specific aircraft is assigned to that pattern. It is known as Tail Assignment (Resource Allocation). After the tail assignment, aircraft start servicing schedules. Often the operations of airline can be subjected to disruptions because of factors such as, weather, airport restrictions, aircraft unavailability and a variety of other reasons. These disruptions can have a cascading effect so that disruption at one location could result in another disruption at some other locations. For example an arrival flight delay could result in the passenger (on that flight) missing connections; crew missing their next duties; non-availability of this aircraft for subsequent flights. Various disruptions and the associated cascading effects are shown in Table 2 <tables id="TABLE-US-00002" num="2"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="center" /><thead><row><entry namest="1" nameend="1" align="center">TABLE 2</entry></row><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>List of Typical Disruptions</entry></row><row><entry>Primary Problem (on top of current Cascading Effect constraints)</entry></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row></thead><tbody valign="top"><row><entry /></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="2"><colspec colname="1" colwidth="112PT" align="left" /><colspec colname="2" colwidth="105PT" align="left" /><tbody valign="top"><row><entry>Airport restrictions</entry><entry /></row><row><entry>Equipment restriction at an Airport</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Runway problems in one ore more</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry>airports</entry><entry>Cancellation</entry></row><row><entry>Night Bans</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Accidents/Acts of God</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Political Disturbances</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Employee Strike</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Watch outs (?)</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Weather</entry></row><row><entry>Reduced Visibility</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Weather problem at one or more</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry>airports</entry><entry>Cancellation</entry></row><row><entry>Maintenance Restrictions</entry></row><row><entry>Maintenance Schedules</entry><entry>Possible Aircraft Snags, Aircraft</entry></row><row><entry /><entry>Availability</entry></row><row><entry>Aircraft Problems</entry></row><row><entry>Snag on Ground</entry><entry>Departing Flight Delay, Aircraft</entry></row><row><entry /><entry>Availability</entry></row><row><entry>Equipment problem in an aircraft</entry><entry>Departing Flight Delay, Aircraft</entry></row><row><entry>(MEL)</entry><entry>Availability</entry></row><row><entry>Snag during Flight</entry><entry>Arrival Flight Delay, Flight</entry></row><row><entry /><entry>Cancellation</entry></row><row><entry>Aircraft Availability</entry><entry>Flight Cancellation</entry></row><row><entry>Ground activity problem</entry></row><row><entry>Minimum Ground Time Violation</entry><entry>Departing Flight Delay</entry></row><row><entry>Gate unavailability</entry><entry>Arrival/Departure Flight Delay</entry></row><row><entry>Catering problem, Cleaning problem,</entry><entry>Departing Flight Delay</entry></row><row><entry>Other ground activities) - delay</entry></row><row><entry>Fuelling Delay</entry><entry>Departing Flight Delay</entry></row><row><entry>Baggage Loading</entry><entry>Departing Flight Delay</entry></row><row><entry>Airobridge unavailability</entry><entry>Arrival/Departing Flight Delay</entry></row><row><entry>Pax, Cargo related</entry></row><row><entry>Passenger delay</entry><entry>Passenger Delay</entry></row><row><entry>Baggage missing</entry><entry>Baggage Delay</entry></row><row><entry>Overload of passenger</entry><entry>Passenger Delay</entry></row><row><entry>Overload of Cargo</entry><entry>Baggage Delay</entry></row><row><entry>Passenger Emergencies</entry><entry>Arrival Flight Delay</entry></row><row><entry>Under load of Passenger</entry><entry>Passenger Delay</entry></row><row><entry>Crew Related</entry></row><row><entry>Crew Emergencies</entry><entry>Arrival/Departing Flight Delay,</entry></row><row><entry /><entry>Crew Availability</entry></row><row><entry>Incoming crew delay</entry><entry>Arrival/Departing Flight Delay</entry></row><row><entry>Crew delay at the terminal</entry><entry>Departing Flight Delay</entry></row><row><entry>Minimum Crew Connection Time</entry><entry>Departing Flight Delay</entry></row><row><entry>Crew unavailability</entry><entry>Departing Flight Delay</entry></row><row><entry>Reduced Crew</entry><entry>Departing Flight Delay</entry></row><row><entry>Flight Related</entry></row><row><entry>Flight Cancellation</entry><entry>Aircraft Availability</entry></row><row><entry>Arrival Flight Delay</entry><entry>Aircraft Availability, Passenger</entry></row><row><entry /><entry>Delay, Crew Availability</entry></row><row><entry>Departing Flight Delay</entry><entry>Arrival Flight Delay</entry></row><row><entry namest="1" nameend="2" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0030] These disruptions impact current schedules (operations), resulting in delays, and causing potentially huge financial and good will losses to airlines. The current invention provides a software framework to handle disruptions via pattern assignment, and recover operations.
[0031] The software framework consists of three parts, a data management system, an assignment system and a disruption handling system. The data management system manages data requirements for the solution. Using this system a user imports domain specific data and translate the same to application specific data. The data can also be preprocessed for use in the application. It also facilitates a user to dynamically change the data while solving for a solution.
[0032] The Assignment System arrives at the schedules based on the data provided from data management system and also the constraints. Resources are then allocated to the schedules. The primary modules of the assignment system are a pattern identifier that identifies optimum patterns from the given schedules. An assignment manager assigns the resources to patterns. The functions of the data management system and the assignment system are well known in the art.
[0033] The disruption handling system (DHS) aids a decision-maker (DM) in arriving at a decision for handling disruptions to the system. One of the critical aspects of disruption handling is to minimize the cascading effects of a solution. In the current approach, evaluation of a candidate solution is performed using simulation. For a disruption, all candidate solutions are evaluated in terms of a common denominator (cost). Colored Petri Nets are used in one embodiment to analyze the solution steps.
[0034] Another important aspect is to prioritize disruptions. Candidate solutions for multiple disruptions compete for a set of fixed resources. Adopting a solution for one low priority disruption may preempt the solution for a high priority disruption. Disruptions are prioritized based on their impact on the system, if left unattended.
[0035] In one embodiment shown in a high level block diagram in FIG. 1, a computer system <b>100</b> comprises a processor <b>110</b> and memory <b>120</b>. Computer programs execute on processor <b>110</b> and are stored on a coupled memory <b>120</b>, which also represents various levels of cache. Coupled to the processor and memory is a storage device <b>130</b>, I/O device or devices <b>135</b> and a display <b>140</b>. The storage device <b>130</b> contains many programs, modules and functions which are paged in and out of memory <b>120</b> for execution on processor <b>110</b>. Computer system <b>100</b> may also have network connections and other devices attached to it as desired, or operate as a server, interacting with distributed workstations at various airports or other locations. In one embodiment, the computer system is a personal computer system, but may be any form of system capable of performing the functions of the current invention.
[0036] Programs in storage <b>130</b> comprise a disruption handling system (DHS) that includes decision support system engine <b>145</b>, objective function specifier <b>150</b>, external interface <b>160</b>, scenario simulator <b>170</b>, rule based editor <b>180</b> and database <b>190</b>.
[0037] Rule based editor (RBE) <b>180</b> provides graphical user interface (GUI) based functions that facilitate the ability of users to specify the rules for handling disruptions. Decision support system engine (DSS) is a GUI based application that collects incident reports (disruptions) information and provides a set of solutions based on the reported incidents. The DHS comprises an algorithm for the decision-making. Objective function specifier <b>150</b> (OFS) is a GUI based application to create/edit the objective function that is used to evaluate the candidate solutions.
[0038] External interface <b>160</b> (EI) is an interface, that provides the real time data needed for decision making. It is used to publish the current solution for a specific incident. Scenario simulator <b>170</b> (SS) is an application that simulates the outcome of the chosen scenario and provides measures of performance of the system.
[0039] It can be observed from Table 1 that on each day 5 aircraft will leave (schedules 1 to 5) Bangalore and 3 aircraft will return (schedules 10 to 12) to Bangalore. So to cater for the schedules starting from Bangalore on the next day, another two aircraft are required. In this process, there is a need for an indefinite supply of aircraft at Bangalore. Similarly, it may be possible for accumulation of aircraft at other airports, as there may not be any further trips out of those airports for that day. In addition, each aircraft after completing its journey will be left idle for the rest of the day.
[0040] However, as an airline will have a limited number of aircraft (fleet) at its disposal, it is not possible to follow the above approach. Hypothetically, although it is assumed that such a fleet is available, it is not economical as the utilization of the aircraft will be very low. Therefore, an airline would like to use the same aircraft for different schedules by rotating the aircraft among schedules. For example, the aircraft A001 after finishing its journey by reaching Cochin at 7.50 a.m. can be used for flight 9W3512 starting from Cochin at 8.20 a.m. reaching Bangalore at 9.40 a.m. Subsequently the same aircraft can be used to cater for flight 9W3513. Hence, aircraft A001 is rotated among flights 9W3511, 9W3512, and 9W3513. This rotation is also known as a pattern for an aircraft.
[0041] As an example, assume that the following three patterns need to be serviced for a set of schedules on each day of the week.
[0042] Pattern 1: 1-4-5-7-8-12-16-18-19-24-1
[0043] Pattern 2: 2-3-8-12-2-1-14-15-20-21
[0044] Pattern 3: 21-9-7-6-5-4-2-1-6-2
[0045] Where, 1, 2 . . . ,21 are identifications of airports for each of the patterns.
[0046] Pattern-1 starts from airport 1 and terminates at airport 1 and let it be assumed that it is serviced by an aircraft A001. Therefore, aircraft A001 starts its life in a day with airport 1 and reaches airport 1 for the night halt. This halt is known as layover for the aircraft.
[0047] Similarly, pattern 2 starts from airport 2 and has a layover at airport 21 and pattern 3 starts from airport 21 and has a layover at airport 2. Let us assume A002 and A003 service pattern-2 and -3 respectively for the first day (time). Logically, it can be deduced that A002 after servicing pattern-2 can service pattern-3 for the next day and A003 after servicing pattern-3 can service pattern-2 for the next day.
[0048] In this approach, an airline requires only three aircraft to service the above three patterns. In both the above cases, the number of patterns starting from an airport is equal to the number of aircraft ending at that airport. This will ensure that no aircraft is left idle and does not require an indefinite supply of aircraft (as discussed in the limitations of the approach, where an aircraft is assigned for each schedule).
[0049] Therefore, the objective of an airline is to generate patterns that can accommodate schedules with minimum (or given) number of aircraft. The constraints for assignment of the patterns are as follows.
[0050] 1. Minimum “ground activity time” is required for an aircraft to service two consecutive trips (schedules). This “minimum ground activity” time is assumed dependent on the type of aircraft, airport and the time of the day. The rational behind this approach is to build some slack time in the patterns so that although a flight is delayed, it will not have the cascading effects down the line.
[0051] 2. The number of aircraft that can be “layover” at a specific airport is limited depending on the airport.
[0052] 3. It may be required that a pattern must always follow a hub and spoke pattern. A hub and spoke pattern is that a pattern which revolves around a central hub (airport) so that an aircraft can undertake trips between the hub and the other airports in its proximity. For example, the following pattern is a hub & spoke pattern where “A” is the hub.
[0053] A→B→C→A→D→A→E→G→A→B→F→A
[0054] An automatic solution for this problem generates patterns by taking the schedules and constraints as inputs. Sometimes, it is possible that the schedules provided by an airline contain redundancy. <tables id="TABLE-US-00003" num="3"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="259PT" align="center" /><thead><row><entry namest="1" nameend="1" align="center">TABLE 3</entry></row></thead><tbody valign="top"><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>A subset of schedules</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="8"><colspec colname="1" colwidth="28PT" align="center" /><colspec colname="2" colwidth="35PT" align="left" /><colspec colname="3" colwidth="42PT" align="left" /><colspec colname="4" colwidth="28PT" align="left" /><colspec colname="5" colwidth="35PT" align="left" /><colspec colname="6" colwidth="28PT" align="left" /><colspec colname="7" colwidth="35PT" align="left" /><colspec colname="8" colwidth="28PT" align="left" /><tbody valign="top"><row><entry /><entry /><entry /><entry>Flight</entry><entry>Departure</entry><entry>Arrival</entry><entry>Days of</entry><entry>Type of</entry></row><row><entry>Number</entry><entry>Origin</entry><entry>Destination</entry><entry>No.</entry><entry>Time</entry><entry>Time</entry><entry>Operation</entry><entry>Aircraft</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row><row><entry>13</entry><entry>Delhi</entry><entry>Jaipur</entry><entry>9W</entry><entry>5:55:00</entry><entry>6:55:00</entry><entry>Daily</entry><entry>ATR</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry><entry /><entry>72-500</entry></row><row><entry>14</entry><entry>Jaipur</entry><entry>Udaipur</entry><entry>9W</entry><entry>7:35:00</entry><entry>8:40:00</entry><entry>Daily</entry><entry>ATR</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry><entry /><entry>72-500</entry></row><row><entry>15</entry><entry>Delhi</entry><entry>Udaipur</entry><entry>9W</entry><entry>5:55:00</entry><entry>8:40:00</entry><entry>Daily</entry><entry>ATR</entry></row><row><entry /><entry /><entry /><entry>3401</entry><entry>AM</entry><entry>AM</entry><entry>72-500</entry></row><row><entry namest="1" nameend="8" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0055] For example, from table 3 it can be observed schedule 9W 3401 originates at Delhi at 5.55 a.m. and terminates at Udaipur at 8.40 a.m. Similarly another schedule 9W 3401 (bearing the same number) originates at Delhi at 5.55 a.m. and terminates at Jaipur at 6.55 a.m. In addition, another schedule originates at Jaipur at 7.35 a.m. and terminates at Udaipur at 8.40 a.m. It can be deduced that the schedule leaving Delhi and reaching Udaipur is a superset of the other two schedules. Since schedule number 15 can also be accomplished by the sum of schedules 13 and 15, schedule 15 is a pattern for the other two schedules. Such cases may need to be reported to the airline and removed from the list of schedules to arrive at the patterns.
[0056] The assignment of an aircraft to a pattern needs to consider the following aspects
[0057] 1. The availability of a specific aircraft type
[0058] 2. The maintenance schedule of the aircraft under consideration
[0059] 3. The flying range of the aircraft. For example, a specific aircraft type may not fly more than a specific number of hours.
[0060] 4. Airport restrictions for specific aircraft types
[0061] 5. The load balancing of the aircraft utilization
[0062] 6. That aircraft must pass through a specific airport
[0063] Load balancing of the aircraft utilization can be explained by considering the following schedules. For example, consider the following patterns in Table 4 <tables id="TABLE-US-00004" num="4"><table frame="none" colsep="0" rowsep="0"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="217PT" align="center" /><thead><row><entry namest="1" nameend="1" align="center">TABLE 4</entry></row></thead><tbody valign="top"><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>example patterns</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="5"><colspec colname="OFFSET" colwidth="14PT" align="left" /><colspec colname="1" colwidth="49PT" align="left" /><colspec colname="2" colwidth="56PT" align="left" /><colspec colname="3" colwidth="28PT" align="center" /><colspec colname="4" colwidth="70PT" align="center" /><tbody valign="top"><row><entry /><entry /><entry>Starting</entry><entry>Flying</entry><entry>Flying</entry></row><row><entry /><entry>Pattern</entry><entry>Airport</entry><entry>Cycles</entry><entry>Hours</entry></row><row><entry /><entry namest="OFFSET" nameend="4" align="center" rowsep="1" /></row><row><entry /><entry>One</entry><entry>Mumbai</entry><entry>10</entry><entry>8</entry></row><row><entry /><entry>Two</entry><entry>Mumbai</entry><entry> 9</entry><entry>6</entry></row><row><entry /><entry>Three</entry><entry>Bangalore</entry><entry>12</entry><entry>7</entry></row><row><entry /><entry namest="OFFSET" nameend="4" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0064] It can be observed that both the patterns One & Two start from Mumbai, daily. Assume two aircraft A &B are assigned to pattern-1 and pattern-2 respectively on a regular basis. Then over a period of time, aircraft A will be over utilized in comparison with aircraft B. This factor needs to be considered for tail assignment.
[0065] For the first version of the tool, it is assumed that the data required for pattern/tail assignment is available in the system. This is accomplished through ingesting the customer-supplied data in to the system's database <b>190</b>.
[0066] For pattern assignment, the solution consists of arriving at the patterns by heuristic approach. Initially, the user is displayed with the schedules of the Airline. The user selects the pattern assignment function, whereby a set of redundant schedules identified by the system is presented to the user. The user then selects the flights that he/she perceives to be included for pattern assignment. That will result in a set of flight schedules to be used for the pattern assignment. The user executes the pattern assignment function, which will result in the display of a GNATT chart with the pattern number associated with a set of flight schedules. When the user clicks on a particular schedule, the details of that schedule are displayed in the form of a window. The user can edit a flight schedule of a pattern so that the patterns can be customized. In this process, the user can come up with specific patterns of his/her choice. Verification of the patterns is carried out when a user builds the pattern. In other words, the compatibility among schedules of a user-built pattern is checked by the system to alleviate potential problems during disruption management.
[0067] Once the pattern assignment is over, the user selects the tail assignment function. If the patterns are not ready in the system, the system will advise the user that there are no available patterns. The tail assignment function displays a GNATT chart of the patterns and a set of available tail numbers. When the user requests the system to assign tail numbers, the pattern numbers in the GNATT chart are replaced by the tail numbers and the user is prompted to accept/reject the tail assignment. Alternately, the user can also assign a particular tail number with the pattern. The tail assignment will be one of the inputs to disruption management tool.
[0068]FIG. 2 is a block diagram showing functional modules of a disruption handing system generally at <b>210</b>. The modules are performed by processor <b>110</b> with human interaction as desired. A database <b>215</b> contains information about an airline, including airport restrictions, costs, crews, and assets. The data is obtained from database <b>215</b> by multiple modules corresponding to each type of data to feed to the other modules. In this embodiment, data retrieval modules comprise location management <b>220</b>, cost management <b>225</b>, crew/WFP management <b>230</b> and asset management <b>240</b>. Location management <b>225</b> retrieves data about airport locations, such as runway information and various restrictions regarding takeoffs and landings, types of aircraft permitted, etc. Cost management <b>225</b> retrieves all required cost information to compute the cost of servicing a route. Crew/WFP management module <b>230</b> extracts crew data or work force plant data to determine availability and qualifications of crews to service flights. Asset management module <b>240</b> contains aircraft data, such as the number of seats and maintenance schedules. Much more information may be obtained by these modules depending on the complexity of disruption handling cost and simulation desired.
[0069] An event management module <b>240</b> receives indications of events from human users or other system users. The event information is fed to a disruption handling module <b>245</b> which proposes multiple solutions. Passenger information, including reservations is provided by a customer management module <b>260</b>. Overall flight schedules and plan management is provided by a plan management module <b>265</b>, and patterns to service the flight schedules is provided by a pattern management module <b>270</b>.
[0070] An overall management module for servicing the patterns is indicated at <b>275</b>, and includes a resource management module <b>280</b> and task management module <b>285</b>. These overall management modules receive solutions to disruption from solution management module <b>250</b>, crew information from crew/WFP management module <b>230</b>, customer data from customer management module <b>260</b> and pattern information from pattern management module <b>270</b>. The task management module <b>285</b> assigns times and dates for patterns, effectively handling the plan that needs to be serviced. The resource management module <b>280</b> manages the resources required to service the plan.
[0071] Once the tail assignment is made, the aircraft is ready to service a flight. Often the operations of airline can be subjected to disruptions because of factors such as, weather, airport restrictions, aircraft unavailability and a variety of other reasons. These disruptions can have a cascading effect so that disruption at one location could result in some other locations. For example an arrival flight delay could result in the passenger (on that flight) missing connections; crew missing their next duties; non availability of this aircraft for subsequent flights etc.
[0072] The following Table 5 shows typical disruptions with proposed solutions and cascading effects associated with those proposed solutions. <tables id="TABLE-US-00005" num="5"><table frame="none" colsep="0" rowsep="0" pgwide="1"><tgroup align="left" colsep="0" rowsep="0" cols="1"><colspec colname="1" colwidth="259PT" align="center" /><thead><row><entry namest="1" nameend="1" align="center">TABLE 5</entry></row></thead><tbody valign="top"><row><entry /></row><row><entry namest="1" nameend="1" align="center" rowsep="1" /></row><row><entry>Typical Disruptions</entry></row></tbody></tgroup><tgroup align="left" colsep="0" rowsep="0" cols="3"><colspec colname="1" colwidth="84PT" align="left" /><colspec colname="2" colwidth="105PT" align="left" /><colspec colname="3" colwidth="70PT" align="left" /><tbody valign="top"><row><entry>Primary Problem</entry><entry /><entry /></row><row><entry>(on top of</entry></row><row><entry>current constraints)</entry><entry>Action</entry><entry>Cascading Effect</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row><row><entry>Airport restrictions</entry><entry /><entry /></row><row><entry>Equipment restriction at an</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry>Airport</entry><entry /><entry>Flight Cancellation</entry></row><row><entry>Runway problems in one</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry>ore more airports</entry><entry /><entry>Flight Cancellation</entry></row><row><entry>Night Bans</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Accidents/Acts of God</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Political Disturbances</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Employee Strike</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Watch outs (?)</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Weather</entry></row><row><entry>Reduced Visibility</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Weather problem at one or</entry><entry>Divert/Skip, Cancel, Hold (delay)</entry><entry>Arrival Flight Delay,</entry></row><row><entry>more airports</entry><entry /><entry>Flight Cancellation</entry></row><row><entry>Maintenance Restrictions</entry></row><row><entry>Maintenance Schedules</entry><entry>Postpone Maintenance Check</entry><entry>Possible Aircraft</entry></row><row><entry /><entry /><entry>Snags, Aircraft</entry></row><row><entry /><entry /><entry>Availability</entry></row><row><entry>Aircraft Problems</entry></row><row><entry>Snag on Ground</entry><entry>Swap with Spare, Swap with a</entry><entry>Departing Flight</entry></row><row><entry /><entry>different Flight, Hold</entry><entry>Delay, Aircraft</entry></row><row><entry /><entry /><entry>Availability</entry></row><row><entry>Equipment problem in an</entry><entry>Swap with Spare, Swap with a</entry><entry>Departing Flight</entry></row><row><entry>aircraft (MEL)</entry><entry>different Flight</entry><entry>Delay, Aircraft</entry></row><row><entry /><entry /><entry>Availability</entry></row><row><entry>Snag during Flight</entry><entry>Add enroute stop</entry><entry>Arrival Flight Delay,</entry></row><row><entry /><entry /><entry>Flight Cancellation</entry></row><row><entry>Aircraft Availability</entry><entry>Cancel</entry><entry>Flight Cancellation</entry></row><row><entry>Ground activity problem</entry></row><row><entry>Minimum Ground Time</entry><entry>Accept</entry><entry>Departing Flight</entry></row><row><entry>Violation</entry><entry /><entry>Delay</entry></row><row><entry>Gate unavailability</entry><entry>Delay, Use of tarmac space and</entry><entry>Arrival/Departure</entry></row><row><entry /><entry>buses</entry><entry>Flight Delay</entry></row><row><entry>Catering problem,</entry><entry>Delay, Reduce ground time,</entry><entry>Departing Flight</entry></row><row><entry>Cleaning problem, Other</entry><entry /><entry>Delay</entry></row><row><entry>ground activities) - delay</entry></row><row><entry>Fuelling Delay</entry><entry>Delay, Reduce the fuelling time</entry><entry>Departing Flight</entry></row><row><entry /><entry /><entry>Delay</entry></row><row><entry>Baggage Loading</entry><entry>Delay, Book Baggage on other</entry><entry>Departing Flight</entry></row><row><entry /><entry>Flight</entry><entry>Delay</entry></row><row><entry>Airobridge unavailability</entry><entry>Delay, Transfer pax with bus</entry><entry>Arrival/Departing</entry></row><row><entry /><entry /><entry>Flight Delay</entry></row><row><entry>Pax, Cargo related</entry></row><row><entry>Passenger delay</entry><entry>Delay the connection flight, Book</entry><entry>Passenger Delay</entry></row><row><entry /><entry>passenger on other flights</entry></row><row><entry /><entry>(recursive for next flights),</entry></row><row><entry /><entry>Arrange with a tie-up, Passenger</entry></row><row><entry /><entry>Refund, Add enroute stop on</entry></row><row><entry /><entry>another flight</entry></row><row><entry>Baggage missing</entry><entry>Book baggage on next flight</entry><entry>Baggage Delay</entry></row><row><entry>Overload of passenger</entry><entry>Book passenger on other flights</entry><entry>Passenger Delay</entry></row><row><entry /><entry>(recursive for next flights),</entry></row><row><entry /><entry>Arrange with a tie-up, Passenger</entry></row><row><entry /><entry>Refund, Add enroute stop on</entry></row><row><entry /><entry>another flight</entry></row><row><entry>Overload of Cargo</entry><entry>Book baggage on next subsequent</entry><entry>Baggage Delay</entry></row><row><entry /><entry>flights</entry></row><row><entry>Passenger Emergencies</entry><entry>Add enroute stop, Accept (Delay)</entry><entry>Arrival Flight Delay</entry></row><row><entry>Under load of Passenger</entry><entry>Book passenger on other flights</entry><entry>Passenger Delay</entry></row><row><entry /><entry>(recursive for next flights),</entry></row><row><entry /><entry>Arrange with a tie-up, Passenger</entry></row><row><entry /><entry>Refund</entry></row><row><entry>Crew Related</entry></row><row><entry>Crew Emergencies</entry><entry>Add enroute stop</entry><entry>Arrival/Departing</entry></row><row><entry /><entry /><entry>Flight Delay, Crew</entry></row><row><entry /><entry /><entry>Availability</entry></row><row><entry>Incoming crew delay</entry><entry>Hold (Delay), Swap with other</entry><entry>Arrival/Departing</entry></row><row><entry /><entry>crew</entry><entry>Flight Delay</entry></row><row><entry>Crew delay at the terminal</entry><entry>Hold (Delay), Swap with other</entry><entry>Departing Flight</entry></row><row><entry /><entry>crew</entry><entry>Delay</entry></row><row><entry>Minimum Crew</entry><entry>Accept (Delay)</entry><entry>Departing Flight</entry></row><row><entry>Connection Time</entry><entry /><entry>Delay</entry></row><row><entry>Crew unavailability</entry><entry>Re-crew, Accept reduced crew -</entry><entry>Departing Flight</entry></row><row><entry /><entry>plan onboard activities</entry><entry>Delay</entry></row><row><entry /><entry>accordingly, Delay</entry></row><row><entry>Reduced Crew</entry><entry>Re-crew, Accept - plan onboard</entry><entry>Departing Flight</entry></row><row><entry /><entry>activities accordingly, Delay</entry><entry>Delay</entry></row><row><entry>Flight Related</entry></row><row><entry>Flight Cancellation</entry><entry>Swap with Spare, Swap with a</entry><entry>Aircraft Availability</entry></row><row><entry /><entry>different Flight</entry></row><row><entry>Arrival Flight Delay</entry><entry>Swap with Spare, Swap with a</entry><entry>Aircraft Availability,</entry></row><row><entry /><entry>different Flight, Flight</entry><entry>Passenger Delay,</entry></row><row><entry /><entry>Cancellation, Accept</entry><entry>Crew Availability</entry></row><row><entry>Departing Flight Delay</entry><entry>Accept, Reduce the ground</entry><entry>Arrival Flight Delay</entry></row><row><entry /><entry>Activity</entry></row><row><entry namest="1" nameend="3" align="center" rowsep="1" /></row></tbody></tgroup></table></tables>
[0073] Disruption Handling
[0074] When disruptions occur, the user is prompted with a list of disruptions that the system is “aware” of and is requested to identify those disruptions that need to be resolved. Once a disruption is identified, the user is asked to enter the parameters of the identified disruption. For example, “arrival flight delay” is a disruption, whereas, the flight number and the amount of delay could be the parameters of this specific disruption.
[0075] In this manner, disruptions are entered on a continuous basis from different locations in the system. Alternately, the system itself can infer that a disruption has happened and could prompt the user to acknowledge the same. After the user acknowledgement, the disruption is considered for resolution.
[0076] Once the disruptions are identified, the following operations broadly describe the process involved in arriving at a resolution as shown in FIG. 3.
[0077] 1. Wait for the arrival of disruptions at <b>310</b>
[0078] 2. The disruptions are added to a “master-list” at <b>320</b> as they arrive.
[0079] 3. The disruption handling mechanism (DHM) monitors the master-list periodically (configurable time interval) and obtains a “list of recent disruptions” to be resolved.
[0080] 4. For each of the disruption in the list, its impact is evaluated (through simulation) when it is left unresolved. Then the disruptions are prioritized according to the impact at <b>330</b>.
[0081] 5. The priorities are presented to the user and the user is provided a choice to alter these priorities. The user can also choose to neglect resolving a disruption based on its impact. The DHM will remove this disruption from its list and rearranges the priorities based on the input.
[0082] 6. For each of the disruptions starting with the highest priority, the DHM performs a simulation of all possible resolutions at <b>340</b>. For example, if the arrival flight is delayed, the DHM simulates the effect of all the decisions that could be taken to resolve arrival flight delay. The cost of each of the decisions is also calculated at <b>350</b>.
[0083] The user is presented with all the decisions and their (economic) value against a disruption. The user can select a particular decision of his/her choice at <b>360</b>. In some embodiments, the selection is made by the DHM. Once a decision is selected, all other decisions that might use “the resources used in the selected decision” are made unavailable to the user.
[0084] For example, let flights FL123 and FL124 (which were assigned to aircraft AC1045 and AC1089) in FIG. 10 are reported as delayed. Let it be assumed that the DHM suggests swapping aircraft AC1111 to resolve both the disruptions. If the user or system chooses to swap AC1111 with AC1045 (because of its high impact as explained in 3 and its suitability), automatically the suggestion to swap, AC1111 with AC1089 will be made unavailable to the user.
[0085] Several conclusions flow from the swap. Aircraft AC1045 has to fly FL125 after FL123. Aircraft AC1089 has to fly FL126 after FL124. Both FL123 and FL124 are delayed and hence FL125 and FL126 will be delayed. Aircraft AC1111 is available at this airport whose next flight if FL678. FL678's scheduled departure lies beyond the expected delayed arrival times of FL123 and FL124. The choice is to swap AC1111 with AC1045 or AC1089.
[0086] 7. Once the user selects a decision, the impact of the decision is observed through simulation. The issue of the depth of the simulation is considered elsewhere. In addition, a user can simulate the effect of any random noise (as chosen by the user) on the decisions.
[0087] 8. Based on the above observation, a user can “lock” the decision.
[0088] 9. Once the decision is locked, accordingly the System State is updated at 370. For example, let us consider the example cited in step-6. If AC1111 is swapped with AC1089 (for FL123), then the tail assignment of AC1111 needs to be automatically changed/updated to reflect that of AC1045 for the rest of the period.
[0089] 10. The process is repeated for all the disruptions as indicated at <b>380</b>.
[0090]FIG. 4 is a block diagram of a cost function manager that determines the cascading costs of proposed solutions to interruptions based on time windows. Potential solutions to an interrupt are provided at an input block <b>410</b>. The type of solution, a time window for the solution and a code representing the solution is provided. Related activities to be performed within the time window are selected at <b>420</b>. Multiple activities may be required, and are predetermined for each solution. Resources required for each of the activities to be performed are identified at <b>430</b>.
[0091] At <b>440</b>, costs of the solutions are determined. Each resource has a fixed cost and a variable cost depending on the type of resource. The cost may change for different times. Gate availability cost may be different in a different time window. The costs for each of the activities are computed, and then summed over all the activities to be performed. The costs of cascading effects due to the solution are also added. The cost is provided to block <b>450</b>, which compares the costs of the solutions and selects an optimum solution based on the resources used and the time window chosen. An output <b>460</b> provides a solution and related cost, or alternatively a set of solutions and their costs.
[0092] The time window is defined with a lower limit, and an upper limit. The time window is a period of time in which the candidate solutions for the disruption have to be found. It defines when resources are required for the activities, and allows marshaling of the same. It also provides a reference for determining the costs associated with the resources. In one embodiment of the invention, different time windows are proposed for the solutions. An iteration through multiple time windows is used in one embodiment to determine potential solutions.
[0093] User Interfaces
[0094] The following list presents some user interfaces <b>160</b> and their function.
[0095] 1. Log-in—A UI for the user to log-in to the application. It validates the user credentials and warns/advises the user if the credentials are not correct. Allows the authorized users to access the applications. (not required for version—1)
[0096] 2. Pattern Assignment—This screen will let a user perform the pattern assignment. It will present the user with the current schedules and allows the user to modify the schedules. It can also present a list of redundant flights from the existing schedules as observed by the system. It will present the generated patterns in terms of GANTT chart and facilitate the user to come up with his/her own patterns by editing the same.
[0097] 3. Tail assignment—This screen will have the patterns and the available tails numbers (aircraft). It will allow a user to modify the aircraft characteristics. It will assign independent tail numbers to patterns and allows a user to assign a specific tail number to a pattern.
[0098] 4. Initial Problem Set (disruptions either presented to the user or user need to enter the disruptions)—This screen presents the user with a pre-configured list of events that would qualify as a disruption.
[0099] Arrival Flight Delay (FLXXXX “is” delayed at “location” by ZZ:zz:zz hrs).
[0100] Departure Flight Delay (FLXXXX “will be” delayed at “location” by ZZ:zz:zz hrs).
[0101] Passenger Delay (Passengers [list of passengers] to be on FLXXXX at “location” are delayed)
[0102] Aircraft unavailability (ACXXXX “will not be available”/ACXXXX “is not available” at “location”)
[0103] Crew unavailability (E/C XXXX “will not be available”/“is not available” at “location”)
[0104] Crew Delayed (E/C XXXX on FLXXXX is delayed/will be delayed at “location” by ZZ:zz:zz hrs)
[0105] Dynamic Airport Constraints (Airport APZZZZZ has “codeYY”)
[0106] Dynamic Aircraft Constraints (Aircraft ACXXXX at “location” has “codeZZ”)
[0107] Gate is not available (Gate GAXXX at airport AXXXX is not available/will not be available between ZZ:zz:zz hrs and ZZ:zz:zz hrs)
[0108] Baggage Delayed (Baggage of passenger “PZZZZ” is delayed at “location” by “ZZ:zz:zz” hrs
[0109] Passenger Emergencies (Passenger “PZZZZ” on FLXXX at “location” has “codeZZZ”)
[0110] Forbidden Resolutions—This screen will present the user with various possible measures for a disruption. A user can select a set of specific measures that should not be considered by the system in arriving at a solution. Not required for the first version of the tool.
[0111] 5. Impact of Initial Problems—This screen will present the impact of the problems if left unattended in terms of a list of cascading disruptions. Problem impact details—Each disruption in that list will have cost/penalty associated with the same. Problem Priority—This screen presents the user with the priorities of the disruptions as determined by the system. It will allow a user to modify the priorities of the disruptions.
[0112] 6. Problem Resolution—This screen presents the set of solutions for each of the disruptions. Resolution Details—This screen presents the details of each of the solution.
[0113] 7. Resolution Impact (Simulation—Results—Configurable Depth)—This screen presents the impact of a resolution when it is adopted. Not required for the first version
[0114] 8. Resolution Publishing/Acceptance—This screen facilitates a user to accept/reject the resolution. Once the resolution is accepted, the user will be prompted whether to publish the resolution or not.
[0115] 9. External Data (in real time)—This screen allows a user to send the data in real time.
[0116] 10. Simulation conditions (disturbances, what if scenarios)—This screen allows a user to specify any conditions that need to be considered while simulating a solution.
[0117] A rule based editor conceptual interface is shown in FIG. 5. An incident tree is provided on one side of the interface, identifying incidents <b>1</b>-<b>8</b>, and allowing a user to click on an incident to evoke a measure tree for that incident. A top node of the tree <b>520</b> represents the incident, when then branches out into n primary measures in a first level. The measures represent a first level for potential solutions to an incident, or disruption. Cascading effects for the first level, and for a number of further levels are illustrated, allowing the user to control the level of cascading, and to specify the rules. New incidents may also be created. The rules and tree are stored for use by an application database <b>530</b>.
[0118]FIG. 6 is a workflow diagram illustrating schedule planning to disruption handling for an airline. First, a schedule is normally developed in a planning process at <b>610</b>. The schedule is published between two months and two weeks prior to coming into effect. Patterns are assigned at <b>620</b> utilizing fictitious/logical aircraft. At <b>630</b>, tail assignments are made based on physical aircraft. The schedule is then handed over to operations control at <b>640</b>. Finally, schedule disruptions are managed at <b>650</b> by an operations controller.
[0119]FIG. 7 is a block diagram of a domain model representing disruptions corresponding to passenger emergencies <b>710</b> and dynamic aircraft snags <b>715</b>. This is one potential model, and other may easily be generated. This model shows triggers, incidents, issues and decisions. Passenger emergencies <b>710</b> and dynamic aircraft snags <b>715</b> are examples of external triggers. Internal triggers include crew availability <b>720</b>, passenger overbooking <b>725</b> and ground activities <b>730</b>. Incidents include crew delay <b>735</b>, arrival flight delay <b>740</b> and departing flight delay <b>745</b>. Issues that are not resolvable include landing and take-off restrictions <b>750</b>, gate availability <b>755</b>, further landing and take-off restrictions <b>760</b> resulting in departing flight delays, and airport congestion <b>765</b>. Resolvable issues include aircraft availability <b>770</b> and passenger schedules <b>775</b>. Several decisions are also represented including flight cancellation <b>780</b>, skipping intermediate stops <b>785</b>, rerouting flights <b>790</b> and parking the aircraft on the tarmac <b>795</b>. As is apparent from the above, these are only a few of the triggers, incidents, issues and decisions that may be modeled. They are also related specifically to air traffic. The model is easily modifiable to represent manufacturing, distribution and other activities subject to schedules and potential disruptions.
[0120] Many of the above triggers, incidents and decisions have a direct effect on cost, such as rerouting flights <b>790</b>, flight cancellation <b>780</b>, crew availability <b>720</b>, crew delay <b>735</b>, parking the aircraft on the tarmac <b>795</b> and ground activities. The cost is included in the model as a cost per hour, cost per flight, cost per passenger, or other costs that can be determined or estimated, either as a function, or predetermined number.
[0121]FIG. 8 is a block diagram of a domain model representing passenger connection resolution for restrictions. Dynamic landing and take-off restrictions <b>805</b> arise from dynamic airport constraints and weather. The restrictions result in arrival flight delay <b>810</b>, potentially causing passenger delay <b>815</b>, crew delay <b>820</b> and departing flight delay <b>825</b>. Passenger delay <b>815</b> affects passenger schedules <b>830</b>. Aircraft availability <b>835</b> can be used to resolve departing flight delay <b>825</b> at a cost associated with maintenance <b>840</b>, and other costs partially illustrated in FIG. 8.
[0122] Passenger connection resolution <b>850</b> has several resolutions available, and each resolution has an associated cost. These resolutions include passenger adjustment on a different flight for the same destination, which causes passenger delay <b>855</b>. Passenger adjustment on tie-up affects flight on time <b>860</b> and passenger satisfaction <b>870</b>, which are the system objectives. Passenger delay also affects passenger satisfaction, which is also assigned a cost. Further resolutions include holding the flight to accommodate passengers, which may involve departing flight delay <b>825</b>. Passenger adjustment on a different flight for a different destination may involve providing alternative transportation to the original destination. Flights may also be arranged using a spare aircraft, which depends on aircraft availability <b>835</b>. Passenger refunds due to flight cancellation, or rewards for agreeing to different flights directly affect cost, and passenger satisfaction <b>870</b>. Arranging the flight with a swap has potential cascading effects with associated costs.
[0123] The purpose of simulation is to provide the user with the information regarding the cascading effects of a particular resolution. Such cascading effects are presented quantitatively. The user or system makes the decision based on the “total” monetary value of all the cascading effects of that decision. FIG. 9 illustrates a disruption X with two potential solutions A and B. Solution A has no cascading effects, but has a cost of 7000 units. The units may represent money, or some relative measure of overall cost of a solution. Solution B has a cascading effect of X<sub>1</sub>, and has a cost of 2000 units. X<sub>1 </sub>has two possible solutions A<sub>1 </sub>and B<sub>1</sub>. A<sub>1 </sub>has no cascading effects, but has a cost of 4000 units. B<sub>1 </sub>has a cascading effect X<sub>2</sub>, and a cost of 2000 units. X<sub>2 </sub>has a solution of B<sub>2 </sub>which has a cost of 5000 units with no cascading effects.
[0124] The following deductions are apparent from FIG. 9:
[0125] X→A=7,000 units (no cascading effects)
[0126] X→B=2,000 units
[0127] X→B→X<sub>1</sub>→A<sub>1</sub>=6,000 units (no cascading effects)
[0128] X→B→X<sub>1</sub>→B<sub>1</sub>=4,000units
[0129] X→B→X<sub>1</sub>→B<sub>1</sub>→X<sub>2</sub>→B<sub>2</sub>=9,000units
[0130] Therefore, if only up to the first cascaded level is simulated, B seems to be a better resolution. However, when the simulation is extended to the second level, the resolution with A<sub>1 </sub>has a cost of 6000 units, whereas, B<sub>1 </sub>has total cost of 4000 units. If the simulation is extended to the third level, the resolution B<sub>1 </sub>has a total cost of 9000 units. Therefore, from this example, it can be inferred that the resolution X→B→X<sub>1</sub>→A<sub>1 </sub>is the optimal solution.
[0131] In general, the simulation is performed for each possible resolution against all the cascading effects recursively or at the end of that business day. However, it is assumed that the system behaves in a predictive manner. For example, when resolution B is adopted, it will cause a disruption X<sub>1 </sub>and solution or resolution of A<sub>1 </sub>is taken for that specific disruption.
[0132] In one embodiment, the cost is computed for each resolution, and if any of the resolutions does not have cascading effects and its “total” cost is less (in comparison with others), simulating stopped, and that resolution is preferred.
[0133] In one embodiment of the disruption handling system, data is uploaded every day, either automatically or manually from a data model containing the schedules and potential disruptions with solutions. The decision is to swap AC1111 with AC1045, in FIG. 10, with an assurance that AC1045 will be used for FL678. However, if FL 123 is further delayed, then AC1045 will not be available and FL678 will be delayed. Therefore, the accuracy of the data will have a bearing on the resolution and the subsequent cascading effects.
[0134]FIGS. 11A, 11B and <b>11</b>C provide a colored Petri Net data flow model for disruption handling. In this representation, circles represent places (that which hold the tokens). The tokens here hold multiple types of data hence the term “colored”. When a token is fully populated, it feeds into a rectangle, which represents transitions. Transitions correspond to functions to be executed on the data. Thus, in a colored Petri Net, function or transitions are driven by data.
[0135] Colored Petri Nets are an extension of the more generally known Petri Nets, to handle multiple data types. In a general Petri Net only one type of data is allowed, that is the token is of only one color. But in a colored Petri Net, the multiple data types are represented by different colors; thus giving the flexibility to handle diverse data types. Petri Nets are made up of places, arcs and transitions. The place is the one that holds tokens that are required to fire a transition (start an event). The arcs perform the binding of the data types; here binding refers to matching the data types with the actual values during runtime. In colored Petri Nets, wherein there are multiple data types the arcs have to bind the corresponding data types. The approach of modeling the solution procedure using colored Petri Nets helps represent the concepts of sequence of events (synchronization) and identify concurrency, conflicts in the flow. This is not captured by other data flow modeling techniques like flowcharts, data flow diagrams or ER diagrams.
[0136] In FIG. 11A, disruptions are handled and entered into the database at <b>1102</b>. Details of the flight are obtained, and expected arrival time and departure times are obtained at transition block <b>1104</b>. A time window, or time frame, is calculated at transition <b>1110</b> as t1 and t2. t1 is the original departure time minus ground time, and t2 is the expected arrival time plus the ground time required. Given the time frame, potential flights satisfying the time frame are identified at transition <b>1115</b>.
[0137] Once potential flights are identified, the feasibility of using the flights is determined at transition <b>1125</b>, from a flying hours and maintenance feasibility perspective. An array of compatible flights is produced at token <b>1127</b> and provided to transition <b>1130</b> for determining the availability of crew members at the time or swapping of aircraft using constraint checks, transitions or events.
[0138] An array of compatible flights after the checking at transition <b>1130</b> is provided to determine cascading costs at transition <b>1140</b> for each compatible flight. Transition <b>1130</b> also provides information at a crew swap transition <b>1145</b> for producing instructions to crews to be utilized in light of a decision regarding a solution. At transition <b>1150</b>, a user, or the system makes a decision, selecting one of the solutions, which may or may not involve swapping flights. The cost information is provided to the user to facilitate the decision. The decision is communicated to a transition <b>1155</b> that changes the arrival times of aircraft in accordance with the decision, and to a multi-swap transition <b>1160</b> that selectively increases the time window by adding a standard ground time of 30 minutes. If at <b>1155</b>, dt<at0+ground time, then (fn0,acode,ato−at) is passed on to update flight numbers and delay times for <b>1104</b>. The time window may also be increased in an iteration if no compatible flights are found. FIG. 12 is a data flow diagram illustrating the flow of data when the possibility of rerouting is encountered, and the generation of a list of options for rerouting of schedules. Disruption information <b>1205</b> and flight timings <b>1210</b> are provided as flight details <b>1215</b>. Timings of the flights <b>1220</b> are provided to <b>1225</b>, where other compatible flights are obtained. The flight numbers <b>1230</b> are fed to determine seat availability at <b>1235</b>, which also receives the disruption information <b>1205</b>. Flights having seat availability are provided <b>1240</b> to a route check <b>1245</b>, which also receives air traffic control checks <b>1246</b>, airport numbers <b>1247</b> and weather information <b>848</b>. The results of the route check are provided for rerouting and updating of schedules at <b>1250</b>. From <b>1250</b>, flight numbers and timings <b>1260</b> are provided to <b>1225</b> where other compatible flights are obtained, and flight numbers and seats are provided to seat availability <b>1235</b>.
[0139] Further detail regarding pattern assignment is shown in the workflow diagram of FIG. 13. A committed schedule <b>1305</b> is used as input to a schedule splitter at <b>1310</b>, which also includes put day offsets. The schedule is split day wise as shown at <b>1315</b> and stored in a database at <b>1320</b>. For every split schedule, suitable aircraft are located at <b>1325</b>, and assigned at <b>1330</b>. This assigned pattern is taken as a reference and used to update the split schedule database at <b>1340</b>. A fleet table <b>1345</b> is used to initialize locations from a base field at <b>1350</b>, and a next expected ready aircraft is initialized at <b>1355</b> and used to initialize the fleet table at <b>1360</b>. The fleet table is used at <b>1330</b> for assignment. As the split schedule is updated at <b>1340</b>, the information is used to update the fleet table <b>1360</b>.
[0140] Tail assignment detail is provided in the workflow diagram of FIG. 14. Tail assignment is initiated at <b>1410</b>, and a maintenance plan <b>1415</b> is provided for viewing or processing at <b>1420</b>. Trips for the week <b>1425</b> and pattern details <b>1430</b>, along with the maintenance plan <b>1420</b> are provided for a check for a pattern where the schedule reaches a point just prior to a maintenance time slot at <b>1440</b>. A check is then made to determine whether the last flight for a pattern ends at the maintenance airport at <b>1445</b>, or whether any trip in the pattern touches the maintenance airport at <b>1450</b>. The tail ID is then assigned to that pattern until the maintenance slot is reached at <b>1455</b>. Spare aircraft are assigned to the pattern until the night halt, or end of the pattern for the day at <b>1460</b>, or until return of the pattern to the maintenance airport. Finally, the rest of the pattern is assigned with the original tail ID.
[0141]FIGS. 15A, 15B, <b>15</b>C and <b>15</b>D represent an overall flow diagram of an airline management system that handles disruptions. The figures contain representations of human users, databases and functional modules executed on a computer. It should be noted that many of the functions may be performed by computer or human, and no restriction on the performer of a function is intended.
[0142]FIG. 15A shows information in a database, such as airport data <b>1510</b>, crew data <b>1520</b> and passenger data <b>1530</b>. The data is used to accomplish the functions of the airline management system as previously described. It is provided to multiple different functions of the system as illustrated.
[0143]FIG. 15B shows fleet management data <b>1540</b>, including aircraft model data in the fleet, maintenance data and a maintenance schedule. A event manager <b>1545</b> receives event information, such as crew delay, position delays, weather delays, PAX delay, ground delay and baggage delay to name a few. A disruption manager <b>1550</b> in FIG. 15D receives the event information from the event manager <b>1545</b> and also receives cost information from a cost function manager <b>1555</b>. Solutions to disruptions are provided to a tail assignment function <b>1560</b>, and ultimately to a trip master <b>1565</b> for servicing.
[0144] Trip master <b>1565</b> is initialized each day to a mast schedule. The master schedule is generated by a schedule filler <b>1570</b> that uses travel demand information to develop the mast schedule. Patterns are initially assigned at <b>1575</b>, trip patterns are generated at <b>1580</b> and trip data for the trip master is generated at <b>1585</b>. Multiple text reports and graphic displays are generated to provide information about the trip master information.
[0145] In FIGS. 15A, 15B, <b>15</b>C and <b>15</b>D, multiple links are shown between data and functions. Many of the functions require the same data, or at least data from the same database. The Colored Petri Net representation in FIGS. 11A, 11B, and <b>11</b>C represent some of these links in a different manner.
Conclusion
[0146] While the present invention is described in the context of an airline scheduling system, it is also applicable in several different environments.
[0147] In a manufacturing plant, a production plan (airline schedules/time table) is arrived to manufacture different products (passenger trips) based on historical data and market intelligence. This production may involve a number of steps (itinerary) to realize the product (trip) using different resources, such as machines (aircraft), plants (airports) and labor (crew). Since the same set of resources are used for producing different products, an optimum sequence or rotation (pattern) of resources needs to be arrived. A Production schedule is derived based on realizing the pattern. A production schedule can cater to many orders from many customers.
[0148] Once orders are received from the customers (passengers) and accepted, these orders are linked to a specific production schedule (daily trip). In other words, all related information would be then tied up to specific machinery (aircraft), specific crew etc. This may be referred as “late-binding” allowing the resources to be optimized at the Last/Exact moment.
[0149] During production, various disruptions such as machine failures, machine delays, material shortages, and loss of quality, wastage, transport delays (similar to disruptions occurring at an airport) can hamper the production. A Production Scheduler (Operations Controller) needs to resolve these disruptions with minimum or no loss to the enterprise.
[0150] In (a military domain) a battlefield, strategic plans (schedules/timetables) are arrived to attack the enemy based on military intelligence and other sources of information (customer info). This plan may involve a number of steps to realize the mission using different resources, such as equipment (aircraft), locations (airports) and soldiers (crew). Since the same set of resources is used for carrying out different operations, an optimum sequence or rotation (pattern) of resources needs to be arrived at. Once a decision has been made to attack the enemy positions (passenger data), the strategic plan is realized in the form of a mission (trip). In other words, resources (aircraft, crew) are allocated to missions.. During an operation/mission, various disruptions such as equipment failures, transport delays, casualties (similar to disruptions occurring at an airport) can hamper the mission. A mission/operations chief (Operations Controller) needs to resolve these disruptions with no casualties and minimum deviation from the strategic plan.
[0151] In a software company, a software development plan (airline schedules/time table) is arrived to develop different software products (passenger trips) based on historical data and market intelligence. The software development may involve a number of steps (itinerary) to realize the product (trip) using different resources, such as computers (aircraft), locations (airports) and Engineers (crew). Since the same set of resources is used for producing different products, an optimum sequence or rotation (pattern) of resources needs to be arrived. Once the orders from customers (passengers) are accepted, the plan is realized in the form of a production schedule (daily trip). In other words, resources (aircraft, crew) are allocated to orders. During production, various disruptions such as computer failures, development delays, machine shortages, and loss of quality, wastage, Engineers expertise, Experts health, other mishaps (similar to disruptions occurring at an airport) can hamper the production. A Project Manager (Operations Controller) needs to resolve these disruptions with minimum or no loss to the enterprise.
Contents5
21 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2005166080A1 | Cited by | United States of America | Pre-grant |
| US2022230108A1 | Cited by | United States of America | Search report |
| US2010140399A1 | Cited by | United States of America | Pre-grant |
| US7668744B2 | Cited by | United States of America | Applicant |
| US2007214033A1 | Cited by | United States of America | Pre-grant |
| US7747382B2 | Cited by | United States of America | Applicant |
| US2008010005A1 | Cited by | United States of America | Pre-grant |
| US8050936B1 | Cited by | United States of America | Search report |
| WO2007098161A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2008059273A1 | Cited by | United States of America | Pre-grant |
| US2014222490A1 | Cited by | United States of America | Pre-grant |
| US2007150430A1 | Cited by | United States of America | Pre-grant |
| WO2005071581A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8849745B2 | Cited by | United States of America | Applicant |
| WO2008105787A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7813871B2 | Cited by | United States of America | Applicant |
| US2013152040A1 | Cited by | United States of America | Pre-grant |
| US8768752B1 | Cited by | United States of America | Applicant |
| WO2005071581A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8745574B2 | Cited by | United States of America | Search report |
| US11893523B2 | Cited by | United States of America | Search report |
| US9489653B2 | Cited by | United States of America | Search report |
| US2009119669A1 | Cited by | United States of America | Pre-grant |
| US2005125263A1 | Cited by | United States of America | Pre-grant |
| US2014188542A1 | Cited by | United States of America | Pre-grant |
| US8798899B2 | Cited by | United States of America | Search report |
| US2005125264A1 | Cited by | United States of America | Pre-grant |
| US2009119618A1 | Cited by | United States of America | Pre-grant |
| US8874459B1 | Cited by | United States of America | Search report |
| US9922305B2 | Cited by | United States of America | Applicant |
| US2011054970A1 | Cited by | United States of America | Pre-grant |
| US2004243302A1 | Cited by | United States of America | Pre-grant |
| US7912742B2 | Cited by | United States of America | Search report |
| US2010268569A1 | Cited by | United States of America | Pre-grant |
| US2007203762A1 | Cited by | United States of America | Pre-grant |
| US2013138333A1 | Cited by | United States of America | Pre-grant |
| US8069069B2 | Cited by | United States of America | Search report |
| US2005027579A1 | Cited by | United States of America | Pre-grant |
| US2008010107A1 | Cited by | United States of America | Pre-grant |
| WO2008105787A3 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US8260650B2 | Cited by | United States of America | Search report |
| US7627459B2 | Cited by | United States of America | Applicant |
| US10089891B2 | Cited by | United States of America | Search report |
| WO2017151087A1 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US7983939B2 | Cited by | United States of America | Search report |
| US2015064656A1 | Cited by | United States of America | Pre-grant |
| US2015254679A1 | Cited by | United States of America | Pre-grant |
| US8260644B2 | Cited by | United States of America | Search report |
| US2008097660A1 | Cited by | United States of America | Pre-grant |
| US2008046167A1 | Cited by | United States of America | Pre-grant |
| WO2007098161A2 | Cited by | World Intellectual Property Organization (WIPO) | International search |
| US2005209896A1 | Cited by | United States of America | Pre-grant |
| US7565331B2 | Cited by | United States of America | Search report |
| CN106339787A | Cited by | China | Search report |
| US2007219833A1 | Cited by | United States of America | Pre-grant |
| US2005165628A1 | Cited by | United States of America | Pre-grant |
| US2008010004A1 | Cited by | United States of America | Pre-grant |
| US8452607B1 | Cited by | United States of America | Applicant |
| US10176453B2 | Cited by | United States of America | Applicant |
| US9153138B1 | Cited by | United States of America | Search report |
| US8010282B2 | Cited by | United States of America | Search report |
| US9218744B2 | Cited by | United States of America | Applicant |
| US6253147B1 | Cites | United States of America | Pre-grant |
| US6314361B1 | Cites | United States of America | Pre-grant |
| US7092894B1 | Cites | United States of America | Pre-grant |
| US7222083B2 | Cites | United States of America | Pre-grant |
2 priority claims, no other members on record
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 11547302 | United States of America | A | |
| US20020115473 | – | – | – |
54 transactions on the USPTO file
Abandoned after 2 non-final rejections, 1 final rejection and 2 appeals.
- Non-final rejections
- 2
- Final rejections
- 1
- RCEs
- 0
- Appeals
- 2
Over time
Point at a mark for the transactionTransactions
| Event | |
|---|---|
| Mail of Abandonment after Examiner's Answer or PTAB DecisionAbandoned | |
| Abandonment after Examiner's Answer or PTAB DecisionAbandoned | |
| Mail PTAB Decision on Appeal - Affirmed | |
| PTAB Decision - Examiner Affirmed | |
| Docketing Notice Mailed to Appellant | |
| Assignment of Appeal Number | |
| Appeal Awaiting PTAB Docketing | |
| Case Docketed to Examiner in GAU | |
| Mail Reply Brief Noted by Examiner | |
| Reply Brief Noted by Examiner | |
| Date Forwarded to Examiner | |
| Reply Brief Filed | |
| Exam. Ans. Review Complete | |
| Mail Examiner's Answer | |
| Examiner's Answer to Appeal Brief | |
| Appeal Brief Review Complete | |
| Date Forwarded to Examiner | |
| Appeal Brief Filed | |
| Notice of Appeal Filed | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Appeal Brief Review Complete | |
| Date Forwarded to Examiner | |
| Appeal Brief Filed | |
| Notice of Appeal Filed | |
| Request for Extension of Time - Granted | |
| Mail Advisory Action (PTOL - 303) | |
| Advisory Action (PTOL-303) | |
| Case Docketed to Examiner in GAU | |
| Date Forwarded to Examiner | |
| Response after Final Action | |
| Mail Final Rejection (PTOL - 326)Final rejection | |
| Final RejectionFinal rejection | |
| Case Docketed to Examiner in GAU | |
| Date Forwarded to Examiner | |
| Response after Non-Final Action | |
| Mail Non-Final RejectionNon-final rejection | |
| Non-Final RejectionNon-final rejection | |
| Date Forwarded to Examiner | |
| Response to Election / Restriction Filed | |
| Mail Restriction Requirement | |
| Restriction/Election Requirement | |
| IFW TSS Processing by Tech Center Complete | |
| Case Docketed to Examiner in GAU | |
| Application Dispatched from OIPE | |
| Application Is Now Complete | |
| Additional Application Filing Fees | |
| A statement by one or more inventors satisfying the requirement under 35 USC 115, Oath of the Applic | |
| Notice Mailed--Application Incomplete--Filing Date Assigned | |
| IFW Scan & PACR Auto Security Review | |
| Information Disclosure Statement considered | |
| Information Disclosure Statement (IDS) Filed | |
| Information Disclosure Statement (IDS) Filed | |
| Initial Exam Team nn |
3 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| Information on status: application discontinuationSTCB | STCB | |
| Information on status: application discontinuationSTCB | STCB | |
| AssignmentAS | AS |
Numbers
- Publication, DOCDB
- 2003191678
- Publication, EPODOC
- US2003191678
- Application
- 10115473
- Application, DOCDB
- 11547302
- Application, EPODOC
- US20020115473
Titles
- English
- Disruption handling for scheduling system
Classification
- CPC, 7
- G08G5/0043
- G06Q10/06375
- G06Q50/40
- G06Q10/0631
- G06Q10/06314
- G06Q10/06311
- G06Q10/06
- IPC, 2
- G06Q10 06
- G08G5 00
- USPC, 3
- 705007130
- 705007240
- 705007370