U.S. patent application number 09/783215 was filed with the patent office on 2002-01-03 for airline flight departure and arrival prediction based upon historical and real-time data.
Invention is credited to Roundtree, Brian.
Application Number | 20020002548 09/783215 |
Document ID | / |
Family ID | 22667981 |
Filed Date | 2002-01-03 |
United States Patent
Application |
20020002548 |
Kind Code |
A1 |
Roundtree, Brian |
January 3, 2002 |
Airline flight departure and arrival prediction based upon
historical and real-time data
Abstract
Use of neural network technology to predict the actual arrival
and departure times of scheduled airline flights based upon
historical and real-time data. Based upon a scheduled airline
flight, the system retrieves historical data related to the flight
such as information concerning previous delays involving the same
flight or delaying involving the departure and arrival airports.
The system also retrieves real-time data that may affect the
scheduled flight such as weather information or current news
involving flight delays. The historical and real-time data is
formatted into structured sets and optionally weighted. A neural
network processes the structured historical and real-time data
based upon the received flight information and provides predicted
actual departure and arrival times along with corresponding
confidence levels.
Inventors: |
Roundtree, Brian; (Kirkland,
WA) |
Correspondence
Address: |
Lance Vietzke
Suite 300 South
1001 Pennsylvania Avenue, N.W.
Washington
DC
20004
US
|
Family ID: |
22667981 |
Appl. No.: |
09/783215 |
Filed: |
February 15, 2001 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
60182330 |
Feb 14, 2000 |
|
|
|
Current U.S.
Class: |
1/1 ; 705/1.1;
707/999.001 |
Current CPC
Class: |
G06F 16/748 20190101;
G06Q 10/109 20130101; G06F 16/94 20190101; G06F 16/9558 20190101;
G06Q 30/0203 20130101; H04W 4/12 20130101; H04L 67/51 20220501;
H04W 8/005 20130101; G06Q 30/06 20130101; G06Q 10/04 20130101; G06F
16/9577 20190101; G06F 16/957 20190101; G10L 15/26 20130101; G06F
16/9537 20190101; G06Q 30/0201 20130101 |
Class at
Publication: |
707/1 ;
705/1 |
International
Class: |
G06F 007/00; G06F
017/30 |
Claims
What is claimed is:
1. A method for predicting arrival and departure times of scheduled
airline flights, comprising: receiving from a requestor a query
relating to a particular scheduled airline flight; accessing
historical data related to the flight; accessing real-time data
related to the flight; using the historical data and the real-time
data to predict actual departure and arrival times related to the
flight; and providing an indication of the predicted actual
departure and arrival times.
2. The method of claim 1 wherein the receiving step includes
receiving the following information for the flight: an airline
company, an aircraft type, an airport of departure, an airport of
arrival, and a current time.
3. The method of claim 1 wherein the accessing the historical data
step includes retrieving data from at least one of the following: a
flow control database, a computerized reservation system, a global
distribution system, a statistical database relating to airport
performance, or a statistical database relating to airline
performance.
4. The method of claim 1 wherein the accessing the real-time data
step includes retrieving data from at least one of the following: a
news-related database, a weather database, a date database, an
airport delays database, or an airline dispatcher database.
5. The method of claim 1, further including updating the historical
data.
6. The method of claim 5, further including maintaining the
historical data based upon a time parameter.
7. The method of claim 1, further including updating the real-time
data.
8. The method of claim 1 wherein: the using step includes
generating a confidence level for the predicted departure and
arrival times; and the providing step includes providing an
indication of the confidence level.
9. The method of claim 1 wherein the accessing the real-time data
step includes: constructing search parameters based upon the query;
executing the search parameters within one or more information
sources; and receiving results of the search parameters.
10. The method of claim 1, further including: receiving raw
historical data; and converting the raw historical data into a
structured set of data, according to particular criteria, in order
to provide the accessed historical data.
11. The method of claim 1, further including: receiving raw
real-time data; and converting the raw real-time data into a
structured set of data, according to particular criteria, in order
to provide the accessed real-time data.
12. The method of claim 1, further including storing the predicated
departure and arrival times as part of the historical data.
13. An apparatus for predicting arrival and departure times of
scheduled airline flights, comprising: a receive module for
receiving from a requestor a query relating to a particular
scheduled airline flight; an historical module for accessing
historical data related to the flight; a real-time module for
accessing real-time data related to the flight; a use module for
using the historical data and the real-time data to predict actual
departure and arrival times related to the flight; and a provide
module for providing an indication of the predicted actual
departure and arrival times.
14. The apparatus of claim 13 wherein the receive module includes a
module for receiving the following information for the flight: an
airline company, an aircraft type, an airport of departure, an
airport of arrival, and a current time.
15. The apparatus of claim 13 wherein the historical module
includes a module for retrieving data from at least one of the
following: a flow control database, a computerized reservation
system, a global distribution system, a statistical database
relating to airport performance, or a statistical database relating
to airline performance.
16. The apparatus of claim 13 wherein the real-time module includes
a module for retrieving data from at least one of the following: a
news-related database, a weather database, a date database, an
airport delays database, or an airline dispatcher database.
17. The apparatus of claim 13, further including a module for
updating the historical data.
18. The apparatus of claim 17, further including a module for
maintaining the historical data based upon a time parameter.
19. The apparatus of claim 13, further including a module for
updating the real-time data.
20. The apparatus of claim 13 wherein: the use module includes a
module for generating a confidence level for the predicted
departure and arrival times; and the providing step includes
providing an indication of the confidence level.
21. The apparatus of claim 13 wherein the real-time module
includes: a module for constructing search parameters based upon
the query; a module for executing the search parameters within one
or more information sources; and a module for receiving results of
the search parameters.
22. The apparatus of claim 13, further including: a module for
receiving raw historical data; and a module for converting the raw
historical data into a structured set of data, according to
particular criteria, in order to provide the accessed historical
data.
23. The apparatus of claim 13, further including: a module for
receiving raw real-time data; and a module for converting the raw
real-time data into a structured set of data, according to
particular criteria, in order to provide the accessed real-time
data.
24. The apparatus of claim 13, further including a module for
storing the predicated departure and arrival times as part of the
historical data.
Description
REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to the following
applications, all of which are incorporated herein by reference as
if fully set forth: United States provisional patent application of
Brian C. Roundtree, Ser. No. 60/182,330, entitled "Web-Based
Personal Assistance Communication Method," and filed Feb. 14, 2000;
United States patent application of Brian C. Roundtree, entitled
"Web-Based Personal Assistance Communication System," and filed
Jul. 17, 2000; United States patent application of Brian C.
Roundtree, entitled "Web-Based Personal Assistance Communication
Method," and filed Jul. 17, 2000; United States patent application
of Brian C. Roundtree, entitled "Web-Based Personal Assistance User
Interface System," and filed Jul. 17, 2000; United States patent
application of Brian C. Roundtree, entitled "Voice-to-Concept
Conversion System," and filed on Sep. 8, 2000; United States patent
application of Craig G. Eisler and Brian C. Roundtree, entitled
"On-Line Service Provider Sign-Up System," and filed on Sep. 8,
2000; United States patent application of Keldon V. Rush and Brian
C. Roundtree, entitled "System for Converting Textual Concepts to
Interactive Audio and Audio/Visual Presentations," and filed on
Sep. 8, 2000; United States patent application of Brian C.
Roundtree, entitled "System for Obtaining Service-Related
Information for Local Interactive Wireless Devices," and filed on
September 8, 2000; United States patent application of Cristiano L
S Pierry and Brian C. Roundtree, entitled "System for Secure
Electronic Transactions Using Unique Identifiers for Order-Related
Information," and filed on Sep. 8, 2000; United States patent
application of Craig G. Eisler and Brian C. Roundtree, entitled
"Hypertext Concept Notation for Dynamically Constructing a Sentence
to Respond to a User Request," and filed on same date herewith;
United States patent application of Craig G. Eisler and Brian C.
Roundtree, entitled "Assembling Personal Information of a Target
Person Based Upon Third-Party Information and a Request Purpose,"
and filed on same date herewith; United States patent application
of Brian C. Roundtree, entitled "Automated Reservation and
Appointment System Using Interactive Voice Recognition," and filed
on same date herewith; United States patent application of Craig G.
Eisler and Brian C. Roundtree, entitled "Rendering Data Using
Rendering Instructions Based Upon Concept Identifiers for the
Data," and filed on same date herewith; and United States patent
application of Cristiano L S Pierry and Brian C. Roundtree,
entitled "Automated Alert State Change of User Devices for
Time-Based and Location-Based Events," and filed on same date
herewith.
FIELD OF THE INVENTION
[0002] The present invention relates to an apparatus and method for
predicting airline flight departure and arrival times based upon
historical and real-time data.
BACKGROUND OF THE INVENTION
[0003] Wireless devices, such as cell phones and personal digital
assistants (PDAs), are becoming more commonly used and have the
potential for communication over the Internet in addition to
traditional telephone networks. The Internet communication with
these devices permits users to obtain services and other related
information using wireless communication with the devices. For
example, a user can download content from the world wide web on the
Internet using a cell phone and have the information displayed on
the display panel of the cell phone. Therefore, in addition to
using the cell phone for voice communication, the user can obtain
content over the Internet concerning, for example, services
available from service providers. The user can also execute
transactions over the Internet using the cell phone or other
wireless device. For example, the user can make electronic
purchases for good or services, analogous to how users can make
transactions over the Internet using a personal computer having a
connection to the Internet.
[0004] Many wireless devices, however, provide for limited ways to
enter information for communications over the Internet. Cell
phones, for example, typically have only a key pad in addition to a
microphone, making entry of textual information slow and
inconvenient. Other devices, such as PDAs, may have even more
limited ways to enter textual information. Therefore, these devices
do not typically provide the same ease of interacting over the
Internet as provided by a personal computer having a keyboard and
cursor-control device for easy and convenient "point and click"
selection of content displayed in web pages. These devices may also
be limited in how information can be displayed. Wireline devices,
such as conventional phones, provide for even more limited
interaction over the Internet.
[0005] Also, when using these user devices to execute the
transactions, the information available through the transactions is
often limited. A user request for content often results in generic
content potentially applicable to many situations other than the
particular situation of the user. For example, a user may want
information about purchasing gifts for others or information about
services available such as travel-related information. In response
to a request for such information, the user may be provided with
information about gifts for generic categories and other
information for general travel-related services. Without targeting
the information to the user's situation, the information may not
have much value to the user.
[0006] Accordingly, a need exists for increased options and
versatility for user's having wireless devices or wireline devices
to interact and make transactions over the Internet, for increased
versatility to request service or make transactions with service
providers, and for obtaining more information targeted to a user's
particular situation or request.
SUMMARY OF THE INVENTION
[0007] A method and apparatus consistent with the present invention
predict arrival and departure times of scheduled airline flights. A
requestor submits a query relating to a particular scheduled
airline flight, and historical and real-time data related to the
flight are retrieved. Based upon the historical and real-time data,
the actual departure and arrival times related to the flight are
predicted, and an indication of the predicted times is provided to
the requester.
BRIEF DESCRIPTION OF THE DRAWINGS
[0008] The accompanying drawings are incorporated in and constitute
a part of this specification and, together with the description,
explain the advantages and principles of the invention. In the
drawings,
[0009] FIG. 1 is a diagram of a system for processing requests for
service;
[0010] FIG. 2 is a diagram of a network for communicating with
wireless and wireline devices and service providers to process
requests for service;
[0011] FIG. 3 is a diagram of exemplary components of a server for
processing requests for service;
[0012] FIG. 4 is a diagram of exemplary components of a wireless
device;
[0013] FIG. 5 is a block diagram of a system for using a neural
network to predict actual departure and arrival times of airline
flights based upon historical and real-time data;
[0014] FIG. 6 is a flow chart of a method to gather and maintain
historical and real-time data for the prediction; and
[0015] FIGS. 7 and 8 are a flow chart of a method for predicting
actual departure and arrival times for airline flights.
DETAILED DESCRIPTION
Introduction
[0016] Embodiments consistent with the present invention provide
various features for a web-based electronic personal assistant, as
described in the web-based personal assistance applications
identified above. The electronic personal assistant is implemented
with a system server that the receives requests from users through
wireless or wireline devices and processes the requests in order to
provide the user with requested service or information. These
features permit the user to interact with the system server in a
variety of ways such as through a display on the device, a keyboard
or keypad, or through voice interaction. The system server can
present information to the user in a variety of ways as well, such
as through audio communication or through information presented on
a display with, for example, textual information, screens, or web
pages presented with HyperText Markup Language (HTML).
[0017] The requests, as explained in the web-based personal
assistance applications identified above, can include any request
for service or information. For example, a user may request a
meeting, and in response the system server queries the user to
obtain information required to arrange the meeting and then
automatically makes the arrangements. As another example, a user
may request information concerning services in a particular
geographic location or based upon other parameters, and the system
server can query the user to determine the type of information
requested, such as particular types of retail establishments, and
provide the information to the user. As another example, a user may
request to purchase goods or services, or make reservations for
services, and in response the system server queries the user to
determine the type of goods or services desired as well as other
information such as a desired price. Based upon that information,
the system server automatically makes the purchase for the user.
For the reservations example, the system server can query the user
to determine information required to make the reservations for the
user. For any request, the system server can access user
preferences to obtain information required or useful to process the
request, such as the user's credit card information and shipping
address.
[0018] In addition, the system server can automatically notify the
user of particular information. The system server typically
maintains a database of preferences for the users in order to help
process the requests. It also maintains a concept database and uses
the concepts in order to retrieve and construct queries, such as
text fragments, for the user. The use of only text fragments, for
example, saves transmission time in comparison to transmission of
graphical information over a network; alternatively, graphics can
be used in addition to the text fragments.
[0019] Based upon the type of request, and potentially user
preferences, the system server selects the appropriate queries from
the concept database to obtain information to process the request.
Upon completion of the processing, the system server can present to
the user a sentence constructed from the related concepts in order
to confirm the request. It can also use the sentence to document
the request, retrieve the appropriate resources for it, and
otherwise fulfill the request. This process, and the use of these
concepts and the structure for a concept database, are further
described in the web-based personal assistance applications
identified above.
[0020] The system server can also cross-reference the concept
database with a service provider database. In order to fulfill
requests, the system server can access a database identifying
available service providers for the request. At the end of each
string of concepts in the concept database, that database can
specify a link or pointer to the relevant service providers in the
service provider database. For example, if the request is for a
meeting, once the system server has all the relevant information as
constructed from the concepts, the concept for the location of the
meeting can include a pointer or link to the establishments
proximate the location and available to provide food for the
meeting. Therefore, information for relevant service providers can
be associated with the appropriate concepts in the concept
database.
Request Processing
[0021] FIG. 1 is a diagram of a system for fulfilling a request for
service. The system includes a system server 10 for processing a
request transmitted from a requestor 12 through a network 14 such
as the Internet or other wireline or wireless network. System
server 10 includes several software modules for processing the
request from requestor 12. A communicator module 16 manages an
interface for the communications with requester 12 over network 14.
Communicator module 16 receives the request and provides necessary
formatting and other processing for transmitting it to a planner
module 22.
[0022] Planner module 22 interacts with a service provider module
24 in order to obtain the resources for fulfilling the request. In
particular, service provider module 24 interacts over a network 30,
such as the Internet or a phone network, with one or more service
providers 32 in order to obtain services to fulfill the request.
Service provider module 24 provides for communication and data
conversion for the interaction, while planner module 22 manages
processing of the request and interacts with various databases for
processing the request. A private credit card service module 28 can
provide for secure order processing of the request to help
safeguard users' personal information such as credit card
numbers.
[0023] Once the planner module 22 has obtained the resources for
the request, it communicates information to fulfill the request to
an executor module 18. Executor module 18 includes a pending plan
database 20 for storing and managing resources and other
information to fulfill the request. Executor module 18 thus
communicates back over network 14 with requestor 12 to provide
confirmation of the request and also to execute the request.
[0024] A learning module 26 can provide for fine-tuning plan data
within a database 34 in order to more efficiently process requests,
particularly from the same requester. Other databases include a
database 36 storing financial data accessed by executor module 18,
and a database 38 storing personal data accessed by executor module
18 and planner module 22. The personal data can include an account
for each user having a profile and preferences for the users, and
the information can be indexed by a particular user identifier such
as a phone number or code.
[0025] Table 1 illustrates a user account. As shown, the user
accounts can include users' preferences for a wide variety of
information such as for travel, dining, and other types of service
providers. The user preferences can be continually updated and
refined over time as the system server gathers more information
concerning the user, and the system server can optionally use
learning models for the refinements and use the preferences to make
"smart choices" in processing users' requests. The information can
be stored in a variety of ways such as in a relational database or
with name-value pairs in Extensible Markup Language (XML).
1 TABLE 1 user 1 identifier data contact name, address profile user
1 characteristics hotel information user 1 hotel preferences
airline information user 1 airline preferences rental car
information user 1 rental car preferences restaurant information
user 1 restaurant preferences service provider preferences user 1
service provider preferences other category user 1 preferences for
the category
[0026] Processing to fulfill the request is further explained in
the web-based personal assistance applications identified
above.
Network
[0027] FIG. 2 is a diagram of an exemplary network 50 illustrating
interaction for receiving and processing requests from users such
as requester 12. It illustrates how the system can receive requests
through wireless and wireline transmission over conventional phone
and cellular networks as well as the Internet or other computer
networks. A requestor typically makes a request from a wireless or
wireline device. The wireless devices include any device capable of
wireless electronic communication and examples include the
following: cellular phones; PDAs with wireless network access;
wireless Internet appliances; personal computers (including
desktop, laptop, notebook, and others) with wireless network
access; and personal computers with microphones, speakers, and
circuitry for permitting wireless phone calls. The wireline devices
include any device capable of electronic wireline communication and
examples include the following: conventional phones; PDAs with
wireline network access; Internet appliances; personal computers
(including desktop, laptop, notebook, and others) with wireline
network access; and personal computers with microphones, speakers,
and circuitry for permitting wireline phone calls.
[0028] A wireless device 52, for example, can interact through
wireless transmission with a base station 56 for communication over
a personal communication system (PCS) 58. A request may also be
made from a wireline device 54 communicating over a public switched
telephone network (PSN) 60. Systems for wireless and wireline
communication, includes a PCS and PSN, are known in the art.
[0029] Communications through networks 58 and 60 are transmitted
through a gateway 62 and potentially a buffer 64 to a speech
processor 66 for performing processing of audio or particular types
of communications, such as for voice-to-text conversion. Also, the
communication may occur directly from gateway 62 to an interface
server 68. Interface server 68 controls gateway 62, and it provides
an interface between a system server 76 and gateway 62, speech
processor 66, and the world wide web 70.
[0030] System server 76 corresponds with system server 10 in FIG. 1
to process user requests. Interface server 68 provides the data
conversion and processing for transferring data to and from system
server 76. As shown by the dashed line, speech processor 66 and
interface server 68 can be implemented with the same physical
machine or with different machines. Also, system server 76 can be
implemented with one or more physical machines and can also be
programmed to implement the functions of speech processor 66 and
interface server 68.
[0031] In addition to receiving requests over networks 58 and 60,
interface server 68 can receive a request over the world wide web
70. In particular, a wireless device 74 can interact through
wireless communication with a PCS 72, which communicates over the
world wide web 70 through a communication protocol such as, for
example, the wireless application protocol (WAP). The WAP for
communications over the Internet is known in the art.
[0032] System server 76 can communicate over the world wide web 78
with various service provides to fulfill requests. In addition,
system server 76 can communicate with credit card processing or
other financial networks 86 in order to provide financial
processing for fulfilling requests. Networks 86 can include known
networks, including banking networks, for processing credit card
transactions. As shown, service providers 80 and financial networks
86 can also send and receive communications through a PCS 82 and
PSN 84.
[0033] System server 76 can communicate directly over the world
wide web 78 to a gateway 88 and base station 90 in order to provide
communication directly with a wireless device 92. Also as shown,
communications can occur from system server 76 back through
interface server 68 and speech processor 66 to the end user
wireless devices 52 and 74 and wireline device 54; system server 76
can also communicate directly with gateway 62, as shown. Those
communications can provide, for example, confirmation of a request
or information responsive to a request.
[0034] Network 50 illustrates fundamental hardware components for
communications over the various types of networks shown. As known
in the art, network 50 can include additional components and can
also include components for providing services known in the art
with respect to phone calls. For example, it can include a caller
ID service to provide system server 76 with the phone number of the
user's wireless or wireline device originating a communication.
Also, network 50 can include other means for communication of data
such as through satellite transmission. For transmission over the
Internet, network 50 can use Transmission Control Protocol/Internet
Protocol (TCP/IP) or other protocols.
Server Components
[0035] FIG. 3 depicts a server 100 illustrating exemplary hardware
components of system server 10 and other machines used by the
system, such as speech processor 66 and interface server 68. Server
100 includes a connection with a network 116 such as the Internet
or other type of computer or phone networks, which may correspond
with the networks shown in FIGS. 1 and 2. Server 100 typically
includes a memory 102, a secondary storage device 110, a processor
112, an input device 114, a display device 108, and an output
device 106.
[0036] Memory 102 may include random access memory (RAM) or similar
types of memory, and it may store one or more applications 104 for
execution by processor 112. Applications 104 may correspond with
software modules to perform processing for the functions described
below.
[0037] Secondary storage device 110 may include a hard disk drive,
floppy disk drive, CD-ROM drive, or other types of non-volatile
data storage, and it may correspond with the various databases
shown in FIG. 1. Processor 112 may execute applications or programs
stored in memory 102 or secondary storage 110, or received from the
Internet or other network 116. Input device 114 may include any
device for entering information into server 100, such as a
keyboard, key pad, cursor-control device, touch-screen (possibly
with a stylus), or microphone. Display device 108 may include any
type of device for presenting visual information such as, for
example, a computer monitor, flat-screen display, or display panel.
Output device 106 may include any type of device for presenting a
hard copy of information, such as a printer, and other types of
output devices include speakers or any device for providing
information in audio form. Server 100 can possibly include multiple
input devices, output devices, and display devices.
[0038] Although server 100 is depicted with various components, one
skilled in the art will appreciate that this server can contain
additional or different components. In addition, although aspects
of an implementation consistent with the present invention are
described as being stored in memory, one skilled in the art will
appreciate that these aspects can also be stored on or read from
other types of computer program products or computer-readable
media, such as secondary storage devices, including hard disks,
floppy disks, or CD-ROM; a carrier wave from the Internet or other
network; or other forms of RAM or ROM. The computer-readable media
may include instructions for controlling server 100 to perform a
particular method.
Wireless Device Components
[0039] FIG. 4 illustrates exemplary hardware components of a
wireless device 120, which may correspond with the exemplary
wireless devices identified above. Wireless device 120 typically
includes a memory 122, a secondary storage device 130, a processor
132, an input device 134, a display device 128, an output device
126, a transmitter/receiver 136, and a short range
transmitter/receiver 138.
[0040] Memory 122 may include RAM or similar types of memory, and
it may store one or more applications 124 for execution by
processor 132. Applications 124 may correspond with software
modules to perform processing for the functions described below,
and they may also include web browser programs for retrieving and
displaying content from the Internet. Secondary storage device 130
may include a hard disk drive, floppy disk drive, CD-ROM drive, or
other types of non-volatile data storage such as a ROM. Processor
132 may execute applications or programs stored in memory 122 or
secondary storage 130. Input device 134 may include any device for
entering information into wireless device 120, such as a keyboard,
key pad, cursor-control device, touch-screen (possibly with a
stylus), or microphone. Wireless device 120 can include multiple
input devices; for example, it can include both a microphone and
key pad for a cell phone. Display device 128 may include any type
of device for presenting visual information such as, for example, a
computer monitor, flat-screen display, or display panel. Output
device 126 typically includes a speaker for providing information
in audio form. It can also include a device for providing a hard
copy of information such as a printer, or provide a port for a
connection to a printer. Wireless device 120 can possibly include
multiple input devices, output devices, and display devices.
[0041] Transmitter/receiver 136 provides for wireless communication
with phone networks or computer networks such as is shown in FIGS.
1 and 2. Transmitter/receiver 136 can be implemented with known RF
transmitters and receivers for providing cellular transmission
between wireless device 120 and base stations such as base stations
56 and 90, or it can be implemented with a wireless
transmitter/receiver for other types of communication such as a
satellite transmission.
[0042] Short range transmitter/receiver 138 provides for wireless
short range communication with other wireless devices, and it can
be implemented with transmitters and receivers that operate
according to the IEEE standard 802.11 for local wireless networks
or according to the standard referred to as the Bluetooth.TM.
technology for direct wireless communication between local
interactive wireless devices; that technology is explained in, for
example, the Specification of the Bluetooth System, Core, v1.0 B,
Dec. 1, 1999 and the Specification of the Bluetooth System,
Profiles, v1.0 B, Dec. 1, 1999, both of which are incorporated
herein by reference.
[0043] In addition, even if a wireless device does not contain
short range transmitter/receiver 138, technology exists to obtain
an approximate geographic location of certain wireless devices. In
particular, using multiple base stations the signal from a cellular
phone, for example, can be triangulated in order to obtain an
approximate geographic location of the cellular phone, including an
indication of its vertical (altitude) location.
[0044] Although wireless device 120 is depicted with various
components, one skilled in the art will appreciate that this
wireless device can contain additional or different components. In
addition, although aspects of an implementation consistent with the
present invention are described as being stored in memory, one
skilled in the art will appreciate that these aspects can also be
stored on or read from other types of computer program products or
computer-readable media, such as secondary storage devices,
including hard disks, floppy disks, or CD-ROM; a carrier wave from
the Internet or other network; or other forms of RAM or ROM. The
computer-readable media may include instructions for controlling
wireless device 120 to perform a particular method.
[0045] Exemplary hardware components for wireline devices, such as
the examples provided above, can include the same components as
wireless device 120 except without the transmitter/receiver 136 and
the short range transmitter/receiver 138.
Airline Flight Departure and Arrival Prediction
[0046] Embodiments consistent with the present invention predict
the actual arrival and departure times of scheduled airline flights
based upon historical and real-time data. In one embodiment, a
neural network is used to receive historical and real-time data
relating to a particular flight, along information for the flight,
and make the prediction. Scheduled flights have a scheduled
departure and arrival time.
[0047] However, the actual departure and arrival times often vary
from the scheduled times due a wide array of factors such as, for
example, flight delays, weather delays, aircraft mechanical
problems, and information related to airport and airline
operations. By analyzing such historical and real-time data using
neural network technology, a traveler can be provided with a
prediction of an actual departure and arrival time for a particular
flight. Use of predicted actual departure and arrival times
permits, for example, a traveler to make more reliable travel plans
than if those plans were based solely upon the scheduled times. Use
of predicted times can have many other uses and advantages as
well.
[0048] FIG. 5 is a block diagram of a system 150 for using a neural
network to predict actual departure and arrival times of airline
flights based upon historical and real-time data. A system server
158, which may be implemented with system server 10 described
above, controls the gathering of the historical and real-time data,
and transmission of the appropriate data to a neural network 168
for predicting airline flight departure and arrival times. System
server 158 can communicate over a network 152, such as the Internet
or networks described above, with historical data sources 156 in
order to obtain historical data and with a real-time data sources
154 in order to obtain real-time data.
[0049] System server 158 retrievers raw historical and real-time
data from historical data sources 156 and real-time data sources
154 and converts the raw data into structured data sets for use by
neural network 168. After the conversion, system server 158 stores
the historical data in structured historical data sets 160 and
stores the real-time data in structured real-time data sets 162.
These data sets may be stored in a database such as secondary
storage 110 described above. Fuzzy pre-processors 164 and 166
receive structured data sets from historical and real-time data
sets 160 and 162, and they perform weighting of the data. The
weighted data sets are then transmitted to neural network 168 for
processing.
[0050] Upon receiving a request for flight departure and arrival
times prediction, system server 158 causes transmission of the
appropriate data sets from historical and real-time structured sets
160 and 162 to fuzzy pre-processors 164 and 166. Fuzzy
pre-processors 164 and 166 perform weighting of the selected data
sets and transmit the weighted data sets to neural network 168.
System server 158 also transmits to neural network 168 the flight
information for a particular scheduled airline flight. Using the
weighted data sets and flight information, neural network 168
predicts the actual departure and arrival times, and transmits the
predicted times back to system server 158. Neural network 168 can
also generate a confidence level for each of the predicted times,
indicating a statistical degree of reliability of the predicted
times, and transmit the confidence levels to system server 158 as
well.
[0051] As an example, consider the following. A user enters into a
user device the following scheduled flight information: United
Airlines flight 100, departing the Seattle/Tacoma (Seatac) Airport
(SEA) on date X at 8:40 am and arriving at the San Francisco
Airport (SFO) at 10:50 am. The system server can access a CRS and
determine that the flight is scheduled to use a Boeing 737-300
aircraft. The system then accesses historical and real-time data
for this flight information. For example, it retrieves statistical
information for delays at the Seatac and San Francisco airports,
forecast weather in Seattle and San Francisco for date X, a
calendar to determine if date X is a weekend or holiday, any
relevant news involving United Airlines, an airline dispatcher
database for the Seatac airport, historical maintenance data and
problems for the Boeing 737-300 aircraft, and other such
information. Based upon all those inputs, the system through the
neural network predicts that this flight will actually depart the
Seatac Airport at 8:55 am and arrive in San Francisco at 11:08 am
on date X.
[0052] FIG. 6 is a flow chart of a method 170 to gather and
maintain historical and real-time data for the prediction using
system 150. Method 170 can be implemented in software modules
within a server such as system server 158. In method 170, system
server 158 accesses historical data sources 156 (step 172) and
retrieves historical data from them (step 176). The historical data
is formatted into structured sets with optional weighting, which
can be accomplished using conventional neural network techniques
(step 176). The structured data sets are stored in a database
containing structured historical data sets 160 along with an
associated date and time (step 178).
[0053] System server 158 also updates the stored historical data
based upon a particular time parameter (step 180). In particular,
system server 158 determines which data sets satisfy the time
parameter (step 182). In one particular embodiment, for example,
the system server maintains historical data for two years;
therefore, it checks for any historical data sets having a date
more than two years prior to the current date. Other time
parameters may be used for either longer or shorter time durations
to maintain the data. In addition, through empirical evidence the
system can determine whether longer or shorter periods of
historical data increases or decreases the degree of reliability of
the predicted times, and it can modify the time parameter based
upon that empirical evidence. For any data sets satisfying the time
parameter, system server 158 deletes the data sets from the
database (step 184).
[0054] System server 158 also gathers real-time data. It accesses
real-time data sources 154 (step 186) and retrieves real-time data
from them (step 188). The real-time data is formatted into
structured sets with optional weighting, which can be accomplished
using conventional neural network techniques (step 192). The
structured data sets are stored in a database containing structured
real-time data sets 162 (step 192). The structured real-time data
sets do not necessarily require an associated data and time, as any
new retrieved real-time data replaces corresponding stored data so
that the database only contains current real-time data. In some
situations, outdated real-time data can be converted into
historical data for the structured historical data sets 160. The
structuring of the historical and real-time raw data in the data
sets can occur through programming techniques involving
conventional neural network technology; it can also use manual
entry of information to create or structure the raw data into
sets.
[0055] The data can be continuously updated based, for example,
upon a particular time parameter. System server 158 determines
whether it is time to retrieve new data (step 194). If so, it
returns to step 172 to repeat method 170.
[0056] FIGS. 7 and 8 are a flow chart of a method 200 for
predicting actual departure and arrival times for airline flights.
Method 200 can be implemented in software modules within a server
such as system server 158. In method 200, system server 158
receives a query identifying a scheduled airline flight (step 202).
The query may be submitted, for example, from one of the user
devices described above over a wireline or wireless network. The
query can be entered using a key board or keypad of the device to
enter the information. It can also be entered through
voice-to-concept conversion based upon prompts by the system server
using concept-to-audio conversion. For example, the system server
can include a protocol for constructing a sentence having the
concepts necessary to obtain the flight information and use the
concept techniques described in the related applications identified
above.
[0057] It can query the user to enter a departure city, arrival
city, time, and airline company. The system server can assemble
option lists for each of those concepts for selection by the user.
Voice-to-concept and concept-to-audio conversion techniques are
described in the related applications identified above.
[0058] System server 158 receives or obtains parameters for the
flight for use in making the departure and arrival times
prediction. The flight information constitutes one of more of these
parameters identifying or related to the scheduled airline flight.
In this example, system server 158 obtains the following flight
information for the flight identified by the query: an indication
of an airline company; an aircraft type; an airport of departure;
an airport of arrival; and a current time (step 204). This
information can be obtained by querying the user through the user
device or from other sources such as a computer reservation system
(CRS) that stores such information associated with flight
codes.
[0059] System server 158 then accesses the historical database to
retrieve historical structured data sets 160 related to the flight
(step 206), and accesses the real-time database to retrieve
real-time structured data sets 162 related to the flight (step
208). Historical data includes any type of information concerning
past events related to the flight information, and real-time data
includes any information concerning current events related to or
possibly affecting the flight information. Current events can
include events occurring at the time of the query or request, at
the times for the scheduled flight, or at a time sufficient in time
proximity to the scheduled flight times in order to potentially
affect the actual departure and arrival times.
[0060] Examples of historical data sources include the following:
the Federal Aviation Administration (FAA) flow control database
identifying the location of all airplanes in U.S. airspace; a CRS
or global distribution system (GDS), both of which provide updates
on times for airline flights; and a statistical database providing
performance statistics by airport and airline as maintained by the
U.S. Department of Transportation.
[0061] Examples of real-time data sources include the following: a
news-related database such as use of an Internet search engine or a
dedicated news database such as the Nexis database; a weather
database providing weather information for airports and cities; a
date database providing current dates and identifying holidays and
days of the week for the current date; the FAA airport delays
database that tracks delays for airports resulting from, for
example, weather, air traffic, and airport shut-downs; and an
airline dispatcher database providing through a CRS or other
network a dispatcher's opinion concerning airline and airport
delays.
[0062] All of these exemplary historical and real-time data sources
or databases are accessible via known communications networks. For
each of the historical and real-time data sources, the system
server can contact those sources over a network such as the
networks described above and download the data using conventional
Internet protocol or other communication protocols such as those
identified above. Other types of data sources or databases, private
or public, may also be used to obtain historical data related to
flights.
[0063] The structured historical and real-time data can be indexed
by a variety of parameters such as flight routes, airlines,
aircraft types, and airports. Those parameters can be matched with
information in the query or flight information through the indexing
to retrieve the appropriate data sets. Structuring of raw data into
data sets for processing by the neural network 168 can occur using
conventional neural network technology and techniques as described,
for example, in the following text, incorporated herein by
reference: Timothy Masters, "Practical Neural Network Recipes in
C++," pp. 253-341 (Morgan Kaufmann 1993).
[0064] System server 158 can also determine whether to obtain
additional information for the prediction based upon particular
criteria (step 212). If additional information is desired, system
server 158 constructs search parameters based upon the query (step
214) and executes the search within news or information sources
(step 216). This search can include, for example, a key word search
using information related to the scheduled airline flight. For
example, the key words can include an identification of the airline
company, the departure airport, and the arrival airport in order to
retrieve any current news that could provide an indication of
delays for the flight. A key word search on the airline company,
for example, may reveal that the company is currently experiencing
work slow downs due to union negotiations, which may affect
departure times. A key word search on the departure and arrival
airports may reveal, for example, that the airports have
experienced delays to due adverse weather in other cities that has
slowed down air traffic.
[0065] The news searches can be conducted in any type of news or
information database such as, for example, an Internet or World
Wide Web search using a conventional search engine, or a search
within a dedicated news databases such as the Nexis database. The
system can query the user to perform a search using user-entered
parameters, or it can perform system-generated searches. For
example, the system can be programmed to always perform a current
news search for selected airports that have historically
experienced significant delays. The system receives results of the
searching (step 218) and formats the results into a structured
real-time data set using conventional neural network technology
(step 220).
[0066] System server 158 sends the retrieved structured data sets
through fuzzy pre-processors 164 and 166 for additional or optional
weighting to be applied to the data (step 221). The use of
pre-processors to perform weighting of structured data is known in
the art with respect to neural networks, and the weighting can be
based upon conventional neural network techniques such as those
described in the text identified above, or based at least in part
upon empirical evidence.
[0067] Neural network 168 receives the retrieved pre-processed
historical and real-time data sets from pre-processors 164 and 166,
and it receives the flight information from system server 158.
Based upon those inputs, neural network 168 predicts the actual
departure and arrival times for the flight identified in the flight
information along with an optional confidence level (step 222).
Neural network 168 can be implemented with a conventional neural
network for processing data; neural networks and technology are
known in the art and described in the text identified above.
Examples of neural network products include the following: the
BrainMaker Neural Network Software Product by California Scientific
Software, Nevada City, Calif.; and the NeuroSolutions product and
related products by NeuroDimension, Inc., Gainesville, Fla.
[0068] Neural networks process individual data elements according
to known techniques and can be tailored and adapted to different
situations depending upon the type of input data and weighting
used. Embodiments consistent with the present invention provide a
new use for neural networks to process the input data described
above and provide predicted actual airline departure and arrival
times. As an alternative to neural networks, the embodiments can
use any technology that processes structured input data to generate
probabilistic determinations based upon the data. The processing
can occur, for example, using formulas to process the data
according to statistical information.
[0069] System server 158 receives the predicted times and
corresponding confidence levels from neural network 168 and
provides the information back to the requester at, for example, the
user device (step 224). The use of a confidence level is known in
the art with respect to neural network technology and provides a
probability associated with the processed output data. Use of a
neural network to generate multiple outputs with varying confidence
levels based on input data is known in the art with respect to
conventional neural network technology such as is described in the
text identified above.
[0070] The system server can thus provide multiple predicted
departure and arrival times with varying confidence levels.
[0071] The information can be displayed in text, for example, on
the display for the user device as illustrated in Tables 2 and 3.
Table 2 illustrates display of data for single predicted departure
and arrival times, and Table 3 illustrates display of multiple
predicted departure and arrival times with corresponding confidence
levels. The actual percentages and flight information are provided
for illustrative purposes only; different information and types of
formatting can be used to display the data.
[0072] The information could in addition or alternatively be
provided in audio form at the user device using text-to-audio
techniques by selecting prerecorded or computer-generated audio
information corresponding with the confidence levels and times. The
confidence levels, and individual hours and minutes of the times,
can be represented by concepts and converted to audio form through
concept-to-audio techniques described in the related application
identified above. This conversion may be particularly useful for
devices, such as certain desktop phones, that have voice capability
but no display panel for presenting a text message.
2TABLE 2 United Airlines flight 100, departing SEA, arriving SFO,
on date X scheduled times: depart 8:40 am arrive 10:50 am predicted
times: depart 8:55 am arrive 11:08 am
[0073]
3TABLE 3 United Airlines flight 100, departing SEA, arriving SFO,
on date X scheduled times: depart 8:40 am arrive 10:50 am predicted
times: confidence level departure time arrival time 20% depart 8:40
am arrive 10:50 am 40% depart 8:45 am arrive 10:55 am 60% depart
8:48 am arrive 11:58 am 80% depart 8:55 am arrive 11:08 am
[0074] System server 158 can also store the predicted departure and
arrival times for the flight, along with the confidence level, in
the historical database (step 226). The data can be structured and
optionally weighted, and associated with a date and time, before
storing it. The structuring and weighting can occur using
conventional neural network technology such as that described in
the text identified above. By storing the predicted times, system
server 158 can track its accuracy in predicting times and further
refine the system to enhance the prediction. This refinement can
occur, for example, by altering weighting of the data or by
changing the amount of historical data retained.
[0075] The predicted departure and arrival times can be used for
any purpose in addition to informational purposes for the
requestor. For example, based upon personal preferences of the
requestor as maintained in personal data 38, the system server can
recommend alternative flights if the predicted departure and
arrival times differ from the scheduled times by an amount as
determined by the personal preferences. The predicted times can
also be used, for example, by airline companies to further refine
scheduling of their airline flights. They can be used by travel
agencies or other travel-related service providers to update
travelers on flight times; for example, they can automatically
update travelers concerning particular predicted changes in times
for return flights. The predicted times can also be used to
maintain a database concerning airport and airline performance in
addition to those databases identified above, or for any other data
mining purpose.
[0076] While the present invention has been described in connection
with an exemplary embodiment, it will be understood that many
modifications will be readily apparent to those skilled in the art,
and this application is intended to cover any adaptations or
variations thereof. For example, various types of user devices,
hardware components for the devices and servers, and types of
network transmissions may be used without departing from the scope
of the invention. This invention should be limited only by the
claims and equivalents thereof.
* * * * *